:root{--ink:#26334c;--muted:#8792a6;--line:#e9eaf2;--rose:#fa6d8c;--purple:#7465de;--bg:#f8f8fc;--shadow:0 16px 42px rgba(69,65,118,.045)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.3}h1{letter-spacing:-.035em}strong{font-weight:700}.muted{color:var(--muted)}.tiny{font-size:12px}.hidden{display:none!important}.card{background:#fff;border:1px solid #f0eef5;border-radius:20px;box-shadow:var(--shadow)}.btn{border:1px solid transparent;border-radius:11px;padding:10px 18px;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(110deg,#fa7992,#ed648d);color:white;font-weight:700;white-space:nowrap;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #f8799a44}.btn-outline{color:var(--purple);background:white;border-color:#e6e1fa}.btn-outline:hover{box-shadow:0 8px 20px #7465de18}.btn-small{padding:7px 13px;font-size:12px;border-radius:9px}.btn-full{width:100%}.btn-danger{background:#ec6570}.quiet{border:0;background:none;color:#9aa2b0;font-size:12px;padding:5px}.quiet:hover{color:#e75975}.eyebrow,.side-eyebrow{color:var(--purple);font-size:10px;font-weight:800;letter-spacing:.17em}.topbar{height:76px;background:#fff;border-bottom:1px solid #efedf4;position:sticky;top:0;z-index:10}.top-inner{max-width:1320px;margin:auto;height:100%;display:flex;align-items:center;padding:0 25px;gap:28px}.brand{display:flex;align-items:center;gap:11px;min-width:259px;font-size:22px;font-weight:850;letter-spacing:-.07em}.brand-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;color:white;background:linear-gradient(145deg,#fcad93,#f36d9b 68%,#a36dde);transform:rotate(-8deg);font-size:20px;box-shadow:0 7px 16px #ee8b9959}.brand small{display:block;font-size:9px;letter-spacing:.03em;color:#a0a5b6;font-weight:500}.top-nav{display:flex;gap:29px;align-items:center;margin-left:auto}.top-nav>a{height:76px;display:flex;align-items:center;gap:5px;color:#727d93;position:relative;font-weight:650}.top-nav>a.active,.top-nav>a:hover{color:var(--rose)}.top-nav>a.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--rose);border-radius:4px}.top-user{margin-left:auto;display:flex;align-items:center;gap:9px}.top-user>a:not(.btn){display:flex;gap:8px;align-items:center;font-weight:700}.avatar{display:inline-flex;flex-shrink:0;width:44px;height:44px;object-fit:cover;border-radius:50%;align-items:center;justify-content:center;background:linear-gradient(140deg,#ffc9af,#d4b6ff);color:#fff;font-size:20px;font-weight:700;box-shadow:0 3px 10px #735cd020}.avatar.small{width:30px;height:30px;font-size:13px}.avatar.large{width:72px;height:72px;font-size:29px}.avatar.xlarge{width:88px;height:88px;font-size:36px}.badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;color:#fff;background:#fa6e87;border-radius:50px;font-size:10px;font-style:normal}
.layout{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:232px minmax(0,660px) 260px;gap:28px;padding:37px 25px 90px}.left-col,.right-col{min-width:0}.side-card{padding:25px;text-align:center}.side-eyebrow{display:block;text-align:left;margin-bottom:20px}.my-card{display:flex;flex-direction:column;align-items:center;gap:3px}.my-card .avatar{margin-bottom:8px}.my-card strong{font-size:17px}.my-card small{color:#a0a7b5}.side-bio{font-size:12px;line-height:1.6;color:#9ba2b0;margin:16px 0 0}.side-card h3{text-align:left;font-size:18px}.side-card .muted{text-align:left;font-size:12px}.side-menu{padding:20px 0}.side-menu>a,.side-menu form button{display:flex;align-items:center;gap:13px;padding:13px 17px;margin:3px 0;color:#778096;border:0;width:100%;text-align:left;background:transparent;font-weight:650;border-radius:11px}.side-menu span{font-size:20px;width:21px;text-align:center;line-height:1}.side-menu>a.active,.side-menu>a:hover,.side-menu form button:hover{color:var(--purple);background:#eeebfc}.side-menu .badge{margin-left:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:10px 0 25px}.page-heading h1{font-size:31px;margin:6px 0}.page-heading p{font-size:13px;color:#97a0b1;margin:0}.heading-spark{color:#fc9b8a;font-size:23px}.main-col{min-width:0}.flash{padding:13px 17px;background:#eff9f1;border:1px solid #d7f0df;color:#2b7c4d;border-radius:12px;margin:0 0 15px}.flash.error{background:#fff0f1;border-color:#fad9dc;color:#bd465e}.compose{padding:20px 22px;margin-bottom:23px}.compose-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.compose-head strong,.compose-head small{display:block}.compose-head small{font-size:12px;color:#a6adba}.compose textarea{border:none;width:100%;resize:vertical;min-height:78px;outline:none;color:var(--ink);padding:8px 4px}.compose-bottom{border-top:1px solid var(--line);padding-top:14px;display:flex;align-items:center;gap:10px}.compose-bottom .btn{margin-left:auto}.upload-label{display:inline-flex;align-items:center;gap:5px;color:var(--purple);font-size:13px;font-weight:650;cursor:pointer}.upload-label input{position:absolute;width:1px;height:1px;opacity:0}.file-name{color:#a1a8b3;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:18px}.feed-tabs a{padding-bottom:13px;color:#8c95a6;font-weight:700}.feed-tabs a.current{border-bottom:3px solid var(--rose);color:var(--ink)}.post{padding:21px 22px 17px;margin-bottom:16px;scroll-margin-top:95px}.post-head{display:flex;align-items:start;justify-content:space-between}.userline{display:flex;align-items:center;gap:11px;min-width:0}.userline span:not(.avatar){min-width:0}.userline strong,.userline small{display:block}.userline small{color:#9ba3b1;font-size:11px}.post-body{font-size:14px;line-height:1.9;overflow-wrap:anywhere;margin:17px 0 14px}.post-image{width:100%;max-height:510px;object-fit:contain;border-radius:12px;background:#f5f5f9;margin:3px 0 14px}.post-actions{display:flex;align-items:center;gap:24px;padding-top:12px}.post-actions form{margin:0}.action{border:0;background:none;color:#98a1b0;font-size:13px;display:inline-flex;gap:7px;align-items:center;padding:0}.action:first-letter{font-size:19px}.action:hover,.action.liked{color:#f46d8d}.comments{margin-top:15px;padding-top:10px;border-top:1px solid var(--line)}.comment{display:flex;gap:9px;padding:7px 0;font-size:12px}.comment .muted{font-size:10px}.comment p{margin:3px 0;color:#606c81;overflow-wrap:anywhere}.comment-form,.report-form{display:flex;gap:9px;margin-top:15px}.comment-form input,.report-form input{min-width:0;flex:1;border:1px solid #edeaf3;border-radius:10px;padding:9px 12px;outline:none;background:#fbfafe}.comment-form input:focus,.report-form input:focus,.search input:focus{border-color:#c1b5ee}.load-more{display:block;text-align:center;background:#fff;border-radius:12px;padding:15px;color:var(--purple);font-weight:700}.backlink{display:inline-block;margin:0 0 16px;color:var(--purple)}.empty{text-align:center;padding:55px 20px;color:#8d95a5}.empty>span{font-size:42px;color:#f1a0a5}.empty h3{color:var(--ink);margin:5px 0}.empty p{margin:5px auto 18px}.kindness{position:relative;padding:24px;background:linear-gradient(145deg,#ffe2df,#f9dce9 60%,#e9ddf9);overflow:hidden;min-height:211px}.kindness>span{font-size:11px;color:#c76378;font-weight:800}.kindness h3{font-size:21px;line-height:1.55;position:relative;z-index:1;margin:23px 0}.kindness-decor{position:absolute;right:-10px;bottom:-67px;font-size:155px;color:#fff8;transform:rotate(-17deg)}.side-tip{padding:22px;margin-top:18px}.side-tip h3{font-size:15px;margin:0 0 15px}.side-tip p{color:#8a95aa;font-size:12px;margin-bottom:12px}.footer-note{text-align:center;font-size:10px;color:#aeb6c4;line-height:2;margin-top:24px}
.search{display:flex;gap:12px;padding:13px;margin-bottom:20px}.search input{min-width:0;flex:1;border:0;outline:none;padding:0 10px}.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.person{display:flex;flex-direction:column;align-items:center;padding:26px 15px;text-align:center;min-height:260px}.person-name{margin-top:10px;font-size:17px;font-weight:750}.person small{font-size:11px;color:#a4acb8}.person p{font-size:12px;color:#8590a3;margin:14px 0 5px;min-height:39px}.person .muted{font-size:11px}.person-actions{display:flex;gap:8px;margin-top:auto;padding-top:17px}.profile-hero{overflow:hidden}.profile-cover{height:135px;background:linear-gradient(110deg,#ffe8d8,#ffe1e9 50%,#e5ddfe);display:flex;align-items:center;justify-content:space-around;color:#fff9;font-size:85px}.profile-content{padding:0 25px 25px}.profile-content>.avatar{margin-top:-45px;position:relative;border:4px solid #fff}.profile-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;float:right;margin-top:15px}.profile-content h1{font-size:24px;margin:8px 0 2px}.profile-content small{color:#a3abba}.profile-content p{margin:15px 0;color:#6e788d}.stats{display:flex;gap:22px;border-top:1px solid var(--line);padding-top:16px;font-size:12px;color:#8b96a8}.stats strong{color:#35405a;font-size:15px}.section-title{font-size:17px;margin:25px 0 16px}
.chat-shell{display:grid;grid-template-columns:210px minmax(0,1fr);height:590px;overflow:hidden}.chat-list{border-right:1px solid var(--line);overflow-y:auto}.chat-list-title{padding:19px 13px 12px;font-size:13px;font-weight:750}.chat-list-title a{display:block;color:var(--purple);font-size:10px;font-weight:550;margin-top:4px}.chat-contact{display:flex;align-items:center;gap:9px;padding:11px 12px}.chat-contact:hover,.chat-contact.selected{background:#f7f3ff}.chat-contact span:not(.avatar){flex:1;min-width:0}.chat-contact strong,.chat-contact small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-contact strong{font-size:12px}.chat-contact small{font-size:10px;color:#a8afbc}.chat-contact .avatar{width:36px;height:36px;font-size:15px}.pad{padding:15px}.chat-room{min-width:0;display:flex;flex-direction:column}.chat-room-head{height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:0 17px}.chat-room-head a{margin-left:auto;font-size:11px;color:var(--purple)}.messages{overflow-y:auto;flex:1;padding:19px;display:flex;flex-direction:column;gap:12px}.message-hint{margin:0 auto;color:#a6aeba;font-size:11px}.message{max-width:84%;align-self:flex-start;background:#f3f2f8;border-radius:14px 14px 14px 3px;padding:9px 13px;overflow-wrap:anywhere}.message.mine{align-self:flex-end;background:#fce4eb;border-radius:14px 14px 3px 14px}.message p{margin:0;white-space:pre-wrap;font-size:13px}.message time{display:block;text-align:right;font-size:9px;color:#aab0be;margin-top:4px}.chat-compose{border-top:1px solid var(--line);padding:13px;display:flex;gap:9px;align-items:flex-end}.chat-compose textarea{border:1px solid var(--line);border-radius:10px;resize:none;flex:1;min-width:0;padding:10px;outline:none}.chat-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%;color:#9ea8b6}.chat-placeholder span{font-size:70px;color:#d1c4f6}.chat-placeholder h3{color:var(--ink);margin:5px}.chat-placeholder p{font-size:12px}.settings-card,.admin-card{padding:25px;margin-bottom:18px}.settings-card h2,.admin-card h2{font-size:18px;margin-bottom:20px}.form-stack{display:flex;flex-direction:column;gap:17px}.form-stack label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#555e70}.form-stack input,.form-stack textarea{border:1px solid #e8e7ef;border-radius:10px;outline:none;padding:11px 13px;background:#fff;color:var(--ink);resize:vertical}.form-stack input:focus,.form-stack textarea:focus{border-color:#ad9bea}.form-stack input:disabled{background:#f7f7fa;color:#9a9eac}.form-stack>.btn{align-self:flex-start}.settings-avatar{display:flex;align-items:center;gap:15px}.admin-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.admin-row:last-child{border:0}.admin-row p{margin:5px 0;overflow-wrap:anywhere}.admin-row form{display:flex;gap:5px;flex-shrink:0}
.auth-wrap{max-width:1120px;min-height:calc(100vh - 76px);margin:auto;display:grid;grid-template-columns:1fr 420px;gap:75px;align-items:center;padding:35px 30px 75px}.auth-intro{position:relative;min-height:520px;padding-top:50px}.pill{display:inline-block;background:#fff0f0;border-radius:50px;padding:8px 16px;color:#da6b85;font-size:12px;font-weight:700}.auth-intro h1{font-size:49px;line-height:1.27;margin:21px 0}.auth-intro h1 span{color:var(--rose)}.auth-intro>p{max-width:390px;color:#8790a4;line-height:1.9}.auth-art{position:relative;margin-top:38px;height:223px;border-radius:120px 130px 100px 130px;background:linear-gradient(130deg,#ffded7,#fbd8e8 55%,#dfd8fa);overflow:hidden}.art-sun{position:absolute;left:23%;top:12%;font-size:100px;color:#fff9}.art-bubble{position:absolute;background:white;border-radius:30px;padding:9px 16px;box-shadow:0 8px 22px #94628c22;color:#7d6aa2;font-weight:700}.art-bubble.a{right:12%;top:27%}.art-bubble.b{left:12%;bottom:19%}.art-heart{position:absolute;bottom:-38px;right:9%;font-size:165px;color:#f78ea47a;transform:rotate(-17deg)}.auth-card{padding:35px}.auth-card h2{font-size:26px;margin:8px 0}.auth-card>.muted{font-size:12px;margin-bottom:24px}.auth-card .form-stack>.btn{width:100%;padding:13px}.auth-switch{text-align:center;color:#9aa4b4;font-size:12px;margin:20px 0 0}.auth-switch a{color:var(--purple);font-weight:750}
@media(max-width:1100px){.layout{grid-template-columns:195px minmax(0,1fr);gap:20px}.right-col{display:none}.brand{min-width:195px}.auth-wrap{gap:35px}}@media(max-width:700px){.topbar{height:64px}.top-inner{padding:0 14px;gap:5px}.brand{min-width:auto;font-size:18px}.brand-icon{width:32px;height:32px;font-size:16px}.brand small{display:none}.top-nav{margin-left:auto;gap:14px}.top-nav>a{height:64px;font-size:12px}.top-user{margin-left:8px}.top-user>a:not(.btn) span:not(.avatar){display:none}.top-user .btn{font-size:11px;padding:7px 9px}.top-user .btn-outline{display:none}.layout{display:block;padding:18px 12px 80px}.left-col{display:none}.page-heading{margin:8px 2px 18px}.page-heading h1{font-size:25px}.page-heading p{font-size:11px}.post,.compose{padding:16px}.people-grid{gap:10px}.person{min-height:254px;padding:18px 8px}.person-actions{gap:5px}.person-actions .btn{padding:7px 9px}.chat-shell{grid-template-columns:115px minmax(0,1fr);height:calc(100dvh - 210px);min-height:410px}.chat-list-title{padding:10px;font-size:11px}.chat-contact{gap:4px;padding:8px 5px;flex-wrap:wrap}.chat-contact .avatar{width:29px;height:29px}.chat-contact small{display:none}.chat-room-head{padding:0 8px}.chat-room-head a{font-size:9px}.messages{padding:9px}.chat-compose{padding:8px}.chat-compose .btn{padding:9px}.auth-wrap{display:block;padding:27px 15px}.auth-intro{min-height:auto;padding:0 10px}.auth-intro h1{font-size:30px;margin:12px 0}.auth-intro>p{font-size:12px}.auth-art{display:none}.auth-card{padding:25px;margin-top:23px}.profile-actions{float:none;justify-content:flex-start;flex-wrap:wrap;margin-bottom:10px}.profile-content h1{margin-top:8px}.stats{gap:13px}.admin-row{align-items:flex-start;flex-direction:column}.top-user .avatar{width:27px;height:27px}}
