:root{--bg:#f7f8fa;--surface:#fff;--text:#20242a;--muted:#747b86;--line:#e8eaee;--blue:#5277ff;--soft:#eef2ff;--shadow:0 12px 35px rgba(31,38,52,.07);--panel-opacity:52%}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}@supports (overflow:clip){html{overflow-x:clip}}body{margin:0;font-family:Inter,"Noto Sans SC",sans-serif;background:var(--bg);color:var(--text);transition:.25s}body.dark{--bg:#131517;--surface:#1c1f22;--text:#e9ebed;--muted:#979da5;--line:#2c3035;--soft:#232b46;--shadow:0 12px 35px #0003}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}.topbar{height:68px;background:color-mix(in srgb,var(--surface) 88%,transparent);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.nav-wrap{height:100%;max-width:1120px;margin:auto;padding:0 24px;display:flex;align-items:center}.logo{display:flex;align-items:center;gap:10px;margin-right:55px}.logo-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:#fff;font-weight:800;background:linear-gradient(140deg,#7158ee,#4a89ff);box-shadow:0 6px 15px #5873ee55}.logo strong{font-size:16px}.topbar nav{display:flex;height:100%;gap:34px}.topbar nav a{height:100%;display:flex;align-items:center;font-size:14px;color:var(--muted);position:relative}.topbar nav a.active{color:var(--text);font-weight:600}.topbar nav a.active:after{content:"";position:absolute;bottom:0;left:20%;right:20%;height:2px;background:var(--blue);border-radius:2px}.actions{display:flex;gap:7px;margin-left:auto}.actions button{height:34px;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;padding:0 10px}.actions button:hover{background:var(--line);color:var(--text)}.actions em{font-style:normal;font-size:12px;margin-left:5px}#menuBtn{display:none}.page{display:none;max-width:1120px;margin:auto;padding:55px 24px 90px}.page.active{display:block;animation:appear .3s ease}@keyframes appear{from{opacity:0;transform:translateY(5px)}}.page-title{background:linear-gradient(125deg,#eef1ff,#f8f3ff 58%,#e8f7ff);border:1px solid #e8eafb;border-radius:18px;padding:35px 40px;margin-bottom:30px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative}.dark .page-title{background:linear-gradient(125deg,#22283d,#28243a 58%,#1e3037);border-color:#30364a}.page-title h1{font-size:30px;margin:5px 0 8px;letter-spacing:-.03em}.page-title p{margin:0;color:var(--muted);font-size:14px}.page-title .hello{color:var(--blue);font-size:12px;font-weight:600}.planet{font-size:110px;line-height:.5;color:#9bafff;transform:rotate(-25deg);opacity:.65}.layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px}.feed-head{display:flex;justify-content:space-between;align-items:center;margin:5px 0 12px}.feed-head>span{font-weight:600;font-size:14px}.feed-head button{border:0;background:transparent;color:var(--muted);font-size:12px;padding:7px 8px;cursor:pointer}.feed-head button.active{color:var(--blue)}.post-list{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.post-item{padding:27px 29px;border-bottom:1px solid var(--line);cursor:pointer;transition:.2s}.post-item:last-child{border-bottom:0}.post-item:hover{background:color-mix(in srgb,var(--soft) 40%,var(--surface));}.post-item h2{font-size:19px;line-height:1.55;margin:7px 0 9px;letter-spacing:-.02em}.post-item h2 a{background:linear-gradient(var(--blue),var(--blue)) left bottom/0 1px no-repeat;transition:.3s}.post-item:hover h2 a{background-size:100% 1px;color:var(--blue)}.post-item>p{font-size:13.5px;line-height:1.75;color:var(--muted);margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-top,.post-bottom{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px}.type{color:#7b62e8;background:#f0edff;padding:4px 7px;border-radius:5px}.dark .type{background:#302b48}.post-bottom .tags{display:flex;gap:6px}.post-bottom .tags span{background:var(--bg);padding:4px 7px;border-radius:5px}.post-bottom time{margin-left:auto}.side-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px}.author-card{text-align:center;padding-top:25px}.avatar,.big-avatar{margin:auto;width:65px;height:65px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;background:linear-gradient(135deg,#f5ad58,#e85e77 55%,#7366d9)}.author-card h3{margin:12px 0 6px;font-size:16px}.author-card p{color:var(--muted);font-size:12px;line-height:1.7}.stats{border-top:1px solid var(--line);margin-top:16px;padding-top:15px;display:flex;justify-content:space-around}.stats span{display:grid;font-size:10px;color:var(--muted);gap:3px}.stats b{font-size:15px;color:var(--text)}.side-card>h3{font-size:13px;margin:0 0 13px}.tag-cloud{display:flex;flex-wrap:wrap;gap:7px}.tag-cloud button{border:0;background:var(--bg);color:var(--muted);font-size:11px;padding:6px 8px;border-radius:6px;cursor:pointer}.status{display:flex;align-items:center;gap:11px}.status-dot{width:9px;height:9px;border-radius:50%;background:#2fcf75;box-shadow:0 0 0 5px #2fcf7520}.status div{display:grid;gap:4px}.status b{font-size:12px}.status small{font-size:10px;color:var(--muted)}.pagination{display:flex;justify-content:center;gap:7px;margin-top:22px}.pagination button{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:7px;width:34px;height:34px;cursor:pointer}.pagination button.active{background:var(--blue);border-color:var(--blue);color:#fff}.narrow{max-width:960px}.inner-title{text-align:center;padding:35px 0 45px}.inner-title small,.comment-heading small{color:var(--blue);font-size:10px;letter-spacing:.18em;font-weight:700}.inner-title h1{font-size:32px;margin:9px 0}.inner-title p{color:var(--muted);font-size:14px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-grid article{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:25px;position:relative}.project-grid article>span{position:absolute;right:20px;color:var(--line);font-weight:700}.project-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:22px}.project-icon.blue{background:#eaf0ff;color:#5277ff}.project-icon.orange{background:#fff0e6;color:#e88a42}.project-icon.green{background:#e7f8ef;color:#35a66b}.project-grid h2{font-size:17px;margin:18px 0 9px}.project-grid p{color:var(--muted);font-size:12px;line-height:1.7;min-height:62px}.project-grid i{font-style:normal;font-size:10px;background:var(--bg);color:var(--muted);padding:4px 7px;border-radius:5px;margin-right:5px}.project-grid a{display:block;color:var(--blue);font-size:12px;margin-top:20px}.about-box{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:42px;display:grid;grid-template-columns:120px 1fr;gap:40px}.big-avatar{width:100px;height:100px;font-size:22px}.about-box h2{margin-top:0}.about-box h3{font-size:15px;margin-top:28px}.about-box p,.about-box li{color:var(--muted);font-size:13px;line-height:1.9}.friend-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.friend-grid>a{background:var(--surface);border:1px solid var(--line);padding:18px;border-radius:13px;display:flex;gap:13px;align-items:center}.friend-grid>a:hover{border-color:#aab8f5}.friend-grid b{width:40px;height:40px;border-radius:10px;background:var(--soft);color:var(--blue);display:grid;place-items:center}.friend-grid span{display:grid;gap:4px}.friend-grid strong{font-size:13px}.friend-grid small{color:var(--muted)}.apply-card{margin-top:35px;text-align:center;border:1px dashed var(--line);border-radius:14px;padding:30px}.apply-card h2{font-size:18px}.apply-card p{font-size:12px;color:var(--muted);max-width:570px;margin:10px auto 20px;line-height:1.8}.apply-card a{font-size:12px;color:var(--blue)}footer{border-top:1px solid var(--line);max-width:1072px;margin:auto;padding:36px 0 45px;display:grid;grid-template-columns:1fr auto;gap:8px;color:var(--muted);font-size:11px}footer strong{color:var(--text);font-size:13px}footer p{margin:7px 0}.footer-links{display:flex;gap:20px}footer>small{grid-column:1/-1;margin-top:15px}#toTop{position:fixed;right:25px;bottom:25px;border:1px solid var(--line);background:var(--surface);color:var(--text);width:40px;height:40px;border-radius:10px;box-shadow:var(--shadow);cursor:pointer;opacity:0;transform:translateY(10px);transition:.2s}
dialog{border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);padding:0;box-shadow:var(--shadow)}dialog::backdrop{background:#10131a80;backdrop-filter:blur(4px)}#searchDialog{width:min(590px,92vw);padding:22px}.dialog-title{display:flex;justify-content:space-between}.dialog-title button,.article-close{border:0;background:transparent;color:var(--muted);font-size:23px;cursor:pointer}.search-box{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:0 13px;margin:18px 0 10px}.search-box input{border:0;background:transparent;color:var(--text);height:45px;width:100%;outline:0}.search-result{padding:13px 6px;border-bottom:1px solid var(--line);cursor:pointer}.search-result:hover{color:var(--blue)}.search-result small,.search-hint{color:var(--muted);font-size:10px}.search-hint{display:block;text-align:center;margin-top:14px}.article-dialog{width:min(820px,95vw);max-height:94vh}.article-close{position:sticky;float:right;top:16px;margin:16px;z-index:2;width:38px;height:38px;border-radius:10px;background:var(--surface);border:1px solid var(--line)}.article-body{padding:72px clamp(28px,9vw,78px)}.article-meta{color:var(--blue);font-size:11px}.article-body h1{font-size:clamp(27px,5vw,38px);line-height:1.45;margin:13px 0}.article-body .lead{font-size:16px;color:var(--muted);line-height:1.8}.article-text{font-size:14px;line-height:2;margin-top:38px}.article-text h2{font-size:21px;margin-top:38px}.code{background:#171a20;color:#c7d0dc;padding:18px;border-radius:10px;font:12px/1.8 monospace;overflow:auto}.comments{background:var(--bg);border-top:1px solid var(--line);padding:50px clamp(28px,9vw,78px)}.comment-heading{display:flex;justify-content:space-between;align-items:end}.comment-heading h2{margin:6px 0;font-size:23px}.comment-heading p{color:var(--muted);font-size:11px}#commentForm{margin:25px 0 35px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;color:var(--muted);font-size:11px;margin-bottom:12px}input,textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:8px;padding:11px;outline:0}textarea{height:105px;resize:vertical}.form-foot{display:flex;justify-content:space-between;align-items:center}.form-foot button{border:0;background:var(--blue);color:#fff;border-radius:7px;padding:10px 17px;cursor:pointer}.comment{display:grid;grid-template-columns:38px 1fr;gap:12px;border-top:1px solid var(--line);padding:19px 0}.comment .avatar{width:36px;height:36px;font-size:11px}.comment-head{display:flex;justify-content:space-between;font-size:12px}.comment-head time{color:var(--muted);font-size:9px}.comment p{font-size:12px;line-height:1.7}.like-btn{border:0;background:transparent;color:var(--muted);padding:0;cursor:pointer;font-size:11px}#toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,15px);background:#222;color:white;border-radius:8px;padding:10px 16px;font-size:11px;opacity:0;transition:.2s;z-index:99}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:800px){.topbar nav{display:none;position:absolute;top:68px;left:0;right:0;height:auto;background:var(--surface);border-bottom:1px solid var(--line);padding:10px 24px;flex-direction:column;gap:0}.topbar nav.open{display:flex}.topbar nav a{padding:13px 0}.topbar nav a.active:after{display:none}#menuBtn{display:block}.actions em{display:none}.page{padding:32px 16px 65px}.page-title{padding:27px 24px}.planet{font-size:70px}.layout{grid-template-columns:1fr}aside{display:grid;grid-template-columns:1fr 1fr;gap:12px}.side-card{margin:0}.author-card{grid-column:1/-1}.post-item{padding:22px 20px}.project-grid{grid-template-columns:1fr}.friend-grid{grid-template-columns:1fr}.about-box{grid-template-columns:1fr;padding:28px}.form-row{grid-template-columns:1fr}footer{margin:0 16px;padding:30px 0}.comment-heading>p{display:none}}@media(max-width:470px){aside{grid-template-columns:1fr}.page-title .planet{display:none}.feed-head{align-items:flex-start;gap:8px;flex-direction:column}.post-bottom{align-items:flex-end}.post-bottom .tags{flex-wrap:wrap}.topbar .logo{margin-right:0}}

/* Mobile experience */
html{-webkit-text-size-adjust:100%}[hidden]{display:none!important}body{overflow-wrap:anywhere}body.nav-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}#navBackdrop{display:none}#toTop{bottom:calc(25px + env(safe-area-inset-bottom))}#toast{bottom:calc(28px + env(safe-area-inset-bottom))}
@media(max-width:800px){
  .topbar{height:60px}.nav-wrap{padding:0 16px}.logo{margin-right:0}.logo-mark{width:30px;height:30px}
  .topbar nav{display:flex;position:fixed;z-index:32;top:0;right:0;bottom:0;left:auto;width:min(82vw,330px);height:100dvh;background:var(--surface);padding:82px 22px max(24px,env(safe-area-inset-bottom));flex-direction:column;gap:4px;border:0;box-shadow:-18px 0 45px #12172225;transform:translateX(105%);transition:transform .28s cubic-bezier(.22,.8,.25,1)}
  .topbar nav.open{display:flex;transform:translateX(0)}.topbar nav a{height:auto;min-height:50px;padding:0 15px;border-radius:10px;font-size:15px}.topbar nav a.active{background:var(--soft);color:var(--blue)}.topbar nav a.active:after{display:none}
  #navBackdrop{display:block;position:fixed;z-index:19;inset:0;background:#11172266;opacity:0;visibility:hidden;transition:.25s;backdrop-filter:blur(2px)}body.nav-open #navBackdrop{opacity:1;visibility:visible}
  #menuBtn{display:block;position:relative;z-index:34;min-width:38px}.actions em{display:none}.actions button{min-width:38px;height:38px;padding:0}
  .page{padding:26px 14px 60px}.page-title{padding:25px 22px;margin-bottom:18px;border-radius:14px}.page-title h1{font-size:25px}.planet{font-size:68px}.layout{grid-template-columns:1fr;gap:18px}
  aside{display:grid;grid-template-columns:1fr 1fr;gap:12px}.side-card{margin:0}.author-card{grid-column:1/-1}.post-item{padding:21px 18px}.post-item h2{font-size:17px}.post-item>p{-webkit-line-clamp:3;font-size:13px}.post-list{border-radius:12px}.post-bottom time{white-space:nowrap}.pagination button{width:40px;height:40px}
  .project-grid{grid-template-columns:1fr}.project-grid article{padding:22px}.friend-grid{grid-template-columns:1fr}.about-box{grid-template-columns:1fr;padding:26px}.big-avatar{margin-left:0}.form-row{grid-template-columns:1fr}.form-foot button{min-height:44px}
  footer{margin:0 16px;padding:30px 0 max(30px,env(safe-area-inset-bottom));grid-template-columns:1fr}.footer-links{grid-row:2;flex-wrap:wrap}footer>small{grid-row:3}
  dialog{margin:auto 0 0;width:100%!important;max-width:none!important;border-radius:18px 18px 0 0;border-bottom:0;max-height:92dvh}.article-dialog{height:94dvh;max-height:94dvh}.article-close{top:10px;margin:10px}.article-body{padding:58px 21px 42px}.article-body h1{font-size:27px}.article-body .lead{font-size:15px}.article-text{font-size:15px}.code{margin-inline:-5px;font-size:11px;-webkit-overflow-scrolling:touch}.comments{padding:38px 20px max(35px,env(safe-area-inset-bottom))}.comment{grid-template-columns:34px 1fr}.comment .avatar{width:32px;height:32px}
  #searchDialog{padding:20px 18px max(20px,env(safe-area-inset-bottom))}.search-box input,input,textarea{font-size:16px}input,textarea{min-height:44px}textarea{min-height:120px}#toTop{right:14px;width:42px;height:42px}
}
@media(max-width:470px){
  aside{grid-template-columns:1fr}.page-title .planet{display:none}.feed-head{align-items:flex-start;gap:8px;flex-direction:column;width:100%}#filters{display:flex;width:100%;overflow-x:auto;scrollbar-width:none}#filters::-webkit-scrollbar{display:none}#filters button{flex:0 0 auto;min-height:36px;padding:7px 11px}
  .post-bottom{align-items:flex-end}.post-bottom .tags{flex-wrap:wrap}.post-bottom .tags span:nth-child(n+3){display:none}.page-title{padding:23px 19px}.inner-title{padding:25px 8px 32px}.inner-title h1{font-size:27px}.apply-card{padding:25px 18px}
}
@media(max-width:350px){.logo strong{display:none}.post-bottom time{display:none}.actions{gap:2px}.page{padding-inline:10px}}
@media(hover:none){.post-item:hover{background:var(--surface)}.post-item:hover h2 a{background-size:0 1px;color:inherit}}

/* Authentication */
.auth-btn.logged-in{color:var(--blue);background:var(--soft)}.auth-dialog{width:min(430px,92vw);padding:26px}.auth-dialog .dialog-title{align-items:flex-start}.auth-dialog .dialog-title small{color:var(--blue);font-size:9px;letter-spacing:.16em}.auth-dialog .dialog-title h2{margin:5px 0 0;font-size:23px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--bg);border-radius:9px;padding:4px;margin:24px 0 20px}.auth-tabs button{border:0;background:transparent;color:var(--muted);height:36px;border-radius:7px;cursor:pointer}.auth-tabs button.active{background:var(--surface);color:var(--text);box-shadow:0 2px 8px #17203312}.auth-dialog label{margin-bottom:14px}.primary-btn,.danger-button{width:100%;height:43px;border:0;border-radius:8px;cursor:pointer}.primary-btn{background:var(--blue);color:#fff;margin-top:3px}.primary-btn:disabled{opacity:.55;cursor:wait}.text-button{border:0;background:transparent;color:var(--blue);font-size:11px;display:block;margin:15px auto;cursor:pointer}.auth-note{text-align:center;color:var(--muted);font-size:9px;line-height:1.7}.user-profile{display:flex;align-items:center;gap:13px;background:var(--bg);padding:17px;border-radius:11px;margin:25px 0}.user-profile .avatar{margin:0;width:43px;height:43px}.user-profile>div:last-child{display:grid;gap:4px}.user-profile small{color:var(--muted);font-size:10px}.danger-button{background:#fff0f0;color:#d64a4a}.dark .danger-button{background:#392526;color:#ff8a8a}.comment-login-tip{background:var(--surface);border:1px dashed var(--line);border-radius:9px;padding:16px;text-align:center;color:var(--muted);font-size:11px;margin:24px 0}.comment-login-tip button{border:0;background:transparent;color:var(--blue);cursor:pointer}.comments.login-required #commentForm{display:none}.comment-delete{border:0;background:transparent;color:#d56b6b;font-size:10px;cursor:pointer;margin-left:12px}
@media(max-width:800px){.auth-dialog{padding:23px 18px max(24px,env(safe-area-inset-bottom))}.auth-tabs button{min-height:40px}.auth-btn em{display:none}}
.password-input{position:relative;margin-top:7px}.password-input input{margin-top:0;padding-right:58px}.password-input button{position:absolute;right:5px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--blue);font-size:10px;padding:8px;cursor:pointer}.form-message{border-radius:7px;padding:10px 11px;margin:2px 0 12px;font-size:11px;line-height:1.6}.form-message.error{background:#fff0f0;color:#bd3f49}.form-message.success{background:#eaf8ef;color:#23834d}.dark .form-message.error{background:#392426;color:#ff999f}.dark .form-message.success{background:#1d3528;color:#79d59e}.recovery-intro{color:var(--muted);font-size:12px;line-height:1.7;margin:24px 0 18px}#authRecovery .primary-btn{margin-top:4px}.auth-dialog input:focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 13%,transparent)}

.empty-post{padding:52px 28px;text-align:center}.empty-post>span{display:block;color:var(--blue);font-size:25px}.empty-post h2{font-size:18px;margin:12px 0 8px}.empty-post p,.tag-empty{color:var(--muted);font-size:11px;line-height:1.8}.empty-post a,.about-contact a{color:var(--blue)}.tag-empty{padding:4px 0}

/* Writing dashboard */
.admin-page{max-width:1220px}.admin-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:25px}.admin-header small,.editor-top small{color:var(--blue);font-size:9px;letter-spacing:.18em;font-weight:700}.admin-header h1{font-size:30px;margin:8px 0}.admin-header p{color:var(--muted);font-size:13px;margin:0}.admin-header-actions{display:flex;gap:8px}.admin-header-actions .primary-btn{width:auto;padding:0 18px}.admin-gate{max-width:430px;margin:70px auto;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:42px}.admin-gate .project-icon{margin:auto}.admin-gate h2{font-size:18px}.admin-gate p{color:var(--muted);font-size:12px}.admin-gate .primary-btn{width:auto;padding:0 25px}.admin-layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:18px;align-items:start}.admin-posts,.post-editor{background:var(--surface);border:1px solid var(--line);border-radius:14px}.admin-posts{position:sticky;top:84px;max-height:calc(100vh - 105px);overflow:auto}.admin-list-head{position:sticky;top:0;background:var(--surface);display:flex;align-items:center;justify-content:space-between;padding:17px;border-bottom:1px solid var(--line);z-index:1}.admin-list-head strong{font-size:12px}.admin-list-head button{border:0;background:transparent;color:var(--muted);cursor:pointer}.admin-list-item{padding:14px 16px;border-bottom:1px solid var(--line);cursor:pointer}.admin-list-item:hover,.admin-list-item.active{background:var(--soft)}.admin-list-item strong{display:block;font-size:12px;line-height:1.5;margin-bottom:6px}.admin-list-item div{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.status-badge{padding:3px 6px;border-radius:4px;background:#f1f2f4}.status-badge.published{background:#e7f8ef;color:#25824e}.dark .status-badge{background:#292d31}.dark .status-badge.published{background:#20372b;color:#75d09a}.post-editor{padding:25px}.editor-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.editor-top h2{font-size:20px;margin:6px 0}.editor-top #saveState{font-size:10px;color:var(--muted)}.post-editor label>small{float:right}.post-editor textarea{line-height:1.7}.post-editor textarea[name=description],.post-editor textarea[name=lead]{height:85px;min-height:85px}.post-editor .body-editor{min-height:390px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;tab-size:2}.form-row.three{grid-template-columns:1fr 1.3fr .7fr}.editor-actions{display:flex;align-items:flex-end;justify-content:space-between;margin-top:15px}.editor-actions>div{display:flex;gap:8px}.editor-actions .primary-btn,.editor-actions .danger-button{width:auto;padding:0 18px}.secondary-btn{height:43px;padding:0 16px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:8px;cursor:pointer}.status-select{margin:0}.status-select select{display:block;margin-top:7px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:8px;padding:9px 30px 9px 10px}
.markdown-field{margin-bottom:12px}.markdown-field-head{display:flex;justify-content:space-between;align-items:center}.markdown-field-head label{margin:0}.markdown-field-head small{color:var(--muted);font-size:10px}.markdown-toolbar{display:flex;gap:5px;padding:7px;background:var(--bg);border:1px solid var(--line);border-bottom:0;border-radius:9px 9px 0 0;margin-top:7px}.markdown-toolbar button{min-width:31px;height:29px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.markdown-toolbar button:hover{background:var(--soft);color:var(--blue)}.markdown-workspace{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:0 0 9px 9px;overflow:hidden}.post-editor .markdown-workspace .body-editor{margin:0;border:0;border-radius:0;min-width:0;resize:vertical}.markdown-preview-wrap{border-left:1px solid var(--line);min-width:0;background:var(--bg);position:relative}.markdown-preview-wrap>span{display:block;padding:9px 14px;border-bottom:1px solid var(--line);font-size:9px;color:var(--muted);letter-spacing:.12em}.markdown-preview{padding:14px 18px;margin:0;min-height:351px;max-height:520px;overflow:auto;font-size:13px;line-height:1.8}.preview-empty{color:var(--muted)}.article-text img{display:block;max-width:100%;height:auto;margin:24px auto;border-radius:10px}.article-text pre{background:#171a20;color:#c7d0dc;padding:18px;border-radius:10px;overflow:auto;font:12px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace}.article-text code:not(pre code){background:var(--soft);color:var(--blue);padding:2px 5px;border-radius:4px;font:12px ui-monospace,SFMono-Regular,Consolas,monospace}.article-text blockquote{margin:22px 0;padding:4px 18px;border-left:3px solid var(--blue);color:var(--muted);background:var(--soft)}.article-text table{width:100%;border-collapse:collapse;margin:22px 0}.article-text th,.article-text td{border:1px solid var(--line);padding:8px 11px;text-align:left}.article-text a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.article-text li{margin:5px 0}
.auth-help{display:flex;justify-content:space-between;gap:12px}.password-strength{display:flex;align-items:center;gap:8px;margin-top:7px}.password-strength:before{content:"";height:4px;flex:1;border-radius:4px;background:linear-gradient(90deg,var(--strength-color) var(--strength),var(--line) var(--strength))}.password-strength em{font-style:normal;font-size:9px;color:var(--strength-color)}.user-role{display:inline-block;width:max-content;margin-top:5px;padding:3px 7px;border-radius:5px;background:var(--soft);color:var(--blue);font-size:9px}.account-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.account-actions button{width:100%}
@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.admin-posts{position:static;max-height:280px}.form-row.three{grid-template-columns:1fr 1fr}.form-row.three label:last-child{grid-column:1/-1}}
@media(max-width:600px){.admin-header{align-items:flex-start;gap:18px;flex-direction:column}.admin-header-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.admin-header-actions button{min-height:44px}.post-editor{padding:18px}.form-row.three{grid-template-columns:1fr}.form-row.three label:last-child{grid-column:auto}.editor-actions{align-items:stretch;flex-direction:column;gap:14px}.editor-actions>div{display:grid;grid-template-columns:1fr 1fr}.editor-actions .primary-btn{grid-column:1/-1}.post-editor label>small{float:none;display:block;margin-top:4px}.post-editor .body-editor{min-height:48vh}.markdown-field-head{align-items:flex-start;gap:5px;flex-direction:column}.markdown-toolbar{overflow-x:auto}.markdown-workspace{grid-template-columns:1fr}.markdown-preview-wrap{border-left:0;border-top:1px solid var(--line)}.markdown-preview{min-height:220px;max-height:none}.account-actions{grid-template-columns:1fr}}

/* Community forum and account center */
.forum-page{max-width:1120px}.forum-hero{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:34px 38px;margin-bottom:24px;border:1px solid #dedff8;border-radius:18px;background:linear-gradient(125deg,#f0f1ff,#fff5f7 58%,#ecf8ff)}.dark .forum-hero{background:linear-gradient(125deg,#24283d,#342733 58%,#203239);border-color:#37394e}.forum-hero small,.thread-editor-dialog .dialog-title small{color:var(--blue);font-size:9px;letter-spacing:.18em;font-weight:700}.forum-hero h1{margin:7px 0;font-size:29px}.forum-hero p{margin:0;color:var(--muted);font-size:13px}.forum-hero .primary-btn{width:auto;min-width:130px;padding-inline:18px}.forum-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px}.forum-toolbar{display:flex;justify-content:space-between;align-items:center;margin:4px 0 12px;font-size:13px}.forum-toolbar button{border:0;background:transparent;color:var(--blue);cursor:pointer}.thread-list{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}.thread-card{display:grid;grid-template-columns:43px minmax(0,1fr);gap:14px;padding:21px 23px;border-bottom:1px solid var(--line);cursor:pointer;transition:.18s}.thread-card:last-child{border-bottom:0}.thread-card:hover{background:color-mix(in srgb,var(--soft) 42%,var(--surface))}.forum-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#fff;font-size:12px;font-weight:700;background:linear-gradient(135deg,#6a8cff,#9865d7);background-size:cover;background-position:center}.forum-avatar.has-image,.user-profile .avatar.has-image{color:transparent;background-size:cover;background-position:center}.thread-author{display:flex;align-items:center;gap:8px}.thread-author strong{font-size:11px}.thread-author time{font-size:9px;color:var(--muted)}.thread-card h2{font-size:17px;line-height:1.5;margin:7px 0}.thread-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.thread-meta{display:flex;align-items:center;gap:10px;margin-top:12px;color:var(--muted);font-size:9px}.thread-owner{padding:3px 6px;border-radius:4px;background:var(--soft);color:var(--blue)}.forum-aside ol{margin:0;padding-left:19px;color:var(--muted);font-size:11px;line-height:2}.forum-notice{margin-bottom:12px;padding:14px;border:1px solid #edc378;border-radius:10px;background:#fff8e9;color:#8d641c;font-size:11px;line-height:1.7}.dark .forum-notice{background:#352e20;color:#edc378;border-color:#604d2d}.forum-empty{text-align:center;color:var(--muted);font-size:11px;line-height:1.8;padding:30px 18px;margin:0}.forum-empty span{display:block;font-size:25px}.forum-empty h2{color:var(--text);font-size:17px;margin:7px 0}.thread-editor-dialog{width:min(720px,94vw);padding:27px}.thread-editor-dialog .dialog-title{align-items:flex-start;margin-bottom:22px}.thread-editor-dialog .dialog-title h2{margin:5px 0 0}.thread-editor-dialog textarea{min-height:210px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.7}.thread-preview-box{margin:13px 0 16px;border:1px solid var(--line);border-radius:9px;background:var(--bg);overflow:hidden}.thread-preview-box>small{display:block;padding:8px 12px;border-bottom:1px solid var(--line);color:var(--muted);font-size:9px}.thread-preview-box .article-text{min-height:75px;max-height:190px;overflow:auto;margin:0;padding:12px 15px;font-size:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.dialog-actions button{width:auto;padding-inline:20px}.thread-detail-author{display:flex;align-items:center;gap:11px}.thread-detail-author>div{display:grid;gap:3px}.thread-detail-author strong{font-size:12px}.thread-detail-author time{color:var(--muted);font-size:9px}.forum-thread-body h1{margin-top:22px}.thread-actions{display:flex;gap:10px;padding-top:28px;margin-top:35px;border-top:1px solid var(--line)}.thread-actions button{border:0;background:var(--soft);color:var(--blue);border-radius:7px;padding:8px 13px;cursor:pointer}.thread-actions .danger-link{background:#fff0f0;color:#c94c55}.dark .thread-actions .danger-link{background:#392526;color:#ff8a8a}.forum-reply .forum-avatar{width:36px;height:36px}.reply-content .article-text,.reply-content{font-size:12px;line-height:1.75}.reply-content p{margin:8px 0}.account-panel{border:1px solid var(--line);border-radius:10px;margin:10px 0;background:var(--bg)}.account-panel summary{padding:13px 15px;cursor:pointer;font-size:11px;font-weight:600}.account-panel form{padding:2px 15px 15px}.account-panel .primary-btn{height:39px}.account-panel input{background:var(--surface)}

/* Forum titles and permanent floor numbers */
select{font:inherit}
.thread-author{flex-wrap:wrap}.user-title{display:inline-flex;align-items:center;height:19px;padding:0 7px;border-radius:10px;background:#eef1f5;color:#657080;font-size:8px;font-weight:600;white-space:nowrap}.dark .user-title{background:#2a2e34;color:#b4bac3}.user-title.admin{color:#a56612;background:#fff0c9}.dark .user-title.admin{color:#ffd082;background:#48381e}.user-title.owner{color:#6252d5;background:#efedff}.dark .user-title.owner{color:#b9afff;background:#312d50}.thread-floor-mark{float:right;color:var(--blue);font-size:12px;font-weight:700;padding:5px 10px;border-radius:7px;background:var(--soft)}.thread-detail-author>div{gap:4px}.thread-detail-author>div>span{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.reply-author,.reply-floor{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.reply-floor{margin-left:auto}.reply-floor b{color:var(--blue);font-size:10px}.account-panel input,.account-panel select{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:8px;padding:11px;background:var(--surface);color:var(--text);outline:0}

/* Optional site wallpaper; set BLOG_CONFIG.backgroundImageUrl in config.js */
body.has-wallpaper{background:transparent}body.has-wallpaper:before{content:"";position:fixed;z-index:-2;inset:0;background:var(--wallpaper) center/cover no-repeat}body.has-wallpaper:after{content:"";position:fixed;z-index:-1;inset:0;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(2px)}body.has-wallpaper .side-card,body.has-wallpaper .post-list,body.has-wallpaper .thread-list,body.has-wallpaper .post-editor,body.has-wallpaper .admin-posts{background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(12px)}

@media(max-width:800px){.forum-hero{padding:26px 22px;align-items:flex-start}.forum-hero h1{font-size:25px}.forum-layout{grid-template-columns:1fr}.forum-aside{display:grid}.thread-card{padding:19px 17px}.thread-editor-dialog{padding:22px 18px max(24px,env(safe-area-inset-bottom))}.thread-editor-dialog textarea{min-height:180px}}
@media(max-width:520px){.forum-hero{flex-direction:column}.forum-hero .primary-btn{width:100%}.thread-card{grid-template-columns:36px minmax(0,1fr);gap:11px}.forum-avatar{width:36px;height:36px}.thread-card h2{font-size:16px}.dialog-actions{display:grid;grid-template-columns:1fr 1fr}.dialog-actions button{width:100%}}

/* Wallpaper center and navigation-page details */
.typewriter-line{position:relative;min-height:20px;margin-top:13px!important;color:var(--blue)!important;font-size:11px!important}.typewriter-line:after{content:"";display:inline-block;width:1px;height:1em;margin-left:4px;background:currentColor;vertical-align:-2px;animation:typeCursor .8s steps(1) infinite}.personality-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin:13px 0}.personality-tags span{padding:4px 7px;border-radius:10px;background:var(--soft);color:var(--blue);font-size:8px}.wallpaper-dialog{width:min(780px,94vw);max-height:90vh;padding:27px}.wallpaper-dialog .dialog-title{align-items:flex-start}.wallpaper-dialog .dialog-title small{color:var(--blue);font-size:9px;letter-spacing:.18em;font-weight:700}.wallpaper-dialog .dialog-title h2{margin:5px 0 0}.wallpaper-intro{color:var(--muted);font-size:11px;line-height:1.7;margin:11px 0 19px}.wallpaper-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;max-height:360px;padding-right:4px;overflow:auto}.wallpaper-card{position:relative;min-width:0;aspect-ratio:16/10;padding:0;border:2px solid transparent;border-radius:10px;background:var(--bg);color:#fff;overflow:hidden;cursor:pointer}.wallpaper-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s}.wallpaper-card:hover img{transform:scale(1.05)}.wallpaper-card>span:not(.auto-icon){position:absolute;z-index:2;left:8px;right:8px;bottom:7px;text-align:left;font-size:9px;font-weight:600;text-shadow:0 1px 5px #000}.wallpaper-card>small{position:absolute;z-index:2;right:6px;top:6px;padding:3px 5px;border-radius:5px;background:#1119;color:#fff;font-size:7px}.wallpaper-card:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#111b)}.wallpaper-card.active{border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 22%,transparent)}.wallpaper-card.active:before{content:"✓";position:absolute;z-index:3;left:7px;top:6px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-size:10px}.auto-card{display:grid;place-items:center;background:linear-gradient(135deg,#677dff,#9b64d9)}.auto-card .auto-icon{font-size:30px}.auto-card.image-error:after{content:"图片暂不可用";display:grid;place-items:center;inset:0;background:var(--bg);color:var(--muted);font-size:9px}.custom-wallpaper{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end;margin-top:18px}.custom-wallpaper label{margin:0}.custom-wallpaper .secondary-btn{min-width:80px}.wallpaper-controls{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:17px 0 10px}.wallpaper-controls label{margin:0}.wallpaper-controls output{float:right;color:var(--blue)}.wallpaper-controls input{height:auto;min-height:0;padding:0;accent-color:var(--blue)}.wallpaper-controls .panel-opacity-control{grid-column:1/-1;padding-top:2px}.panel-opacity-control small{display:block;margin-top:6px;color:var(--muted);font-size:9px}.wallpaper-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}.wallpaper-footer small{color:var(--muted);font-size:9px}.wallpaper-footer .secondary-btn{height:38px}body.has-wallpaper:before{filter:brightness(var(--wallpaper-brightness,85%));transform:scale(1.02)}body.has-wallpaper:after{background:color-mix(in srgb,var(--bg) 58%,transparent);backdrop-filter:blur(var(--wallpaper-blur,5px))}body.has-wallpaper .topbar{background:color-mix(in srgb,var(--surface) 80%,transparent)}
@keyframes typeCursor{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.typewriter-line:after{animation:none}}
@media(max-width:800px){.wallpaper-dialog{padding:22px 17px max(22px,env(safe-area-inset-bottom))}.wallpaper-grid{grid-template-columns:repeat(3,1fr);max-height:45vh}.wallpaper-controls{grid-template-columns:1fr}.custom-wallpaper{grid-template-columns:1fr auto}}
@media(max-width:600px){#adminQuickBtn{display:none}}
@media(max-width:700px){.friendship-card{align-items:flex-start;flex-direction:column}.friendship-points{width:100%;grid-template-columns:repeat(3,1fr);gap:5px}.friendship-points span{font-size:9px}.user-search-item{align-items:flex-start;flex-direction:column}.user-search-item>div:last-child{width:100%}.user-search-item button{flex:1}.account-uid small{display:none}}
@media(max-width:480px){.wallpaper-grid{grid-template-columns:repeat(2,1fr)}.custom-wallpaper{grid-template-columns:1fr}.wallpaper-footer{align-items:flex-start;flex-direction:column}.wallpaper-footer .secondary-btn{width:100%}}

/* Moderation center */
.moderation-panel{margin-top:22px;padding:25px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.moderation-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.moderation-header small{color:var(--blue);font-size:9px;letter-spacing:.18em;font-weight:700}.moderation-header h2{margin:6px 0;font-size:21px}.moderation-header p{margin:0;color:var(--muted);font-size:11px}.moderation-tabs{display:flex;gap:6px;margin:23px 0 15px;border-bottom:1px solid var(--line)}.moderation-tabs button{border:0;background:transparent;color:var(--muted);padding:10px 13px;cursor:pointer;font-size:11px}.moderation-tabs button.active{color:var(--blue);border-bottom:2px solid var(--blue)}.moderation-item,.moderation-user,.moderation-action{border:1px solid var(--line);border-radius:10px;padding:15px;margin-bottom:10px;background:var(--bg)}.moderation-item-top{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.moderation-status{display:inline-block;padding:4px 7px;border-radius:5px;background:#fff2d7;color:#9c6d16;font-size:9px}.moderation-status.resolved{background:#e6f8ed;color:#25824e}.moderation-status.dismissed{background:var(--line);color:var(--muted)}.moderation-status.banned{background:#fff0f0;color:#c94c55}.moderation-status.normal{background:#e6f8ed;color:#25824e}.moderation-item h3{font-size:13px;margin:11px 0 7px}.moderation-excerpt{padding:10px;border-left:3px solid var(--blue);background:var(--surface);white-space:pre-wrap;color:var(--muted);font-size:11px;line-height:1.7}.moderation-reason{color:var(--muted);font-size:10px}.moderation-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.moderation-actions button{width:auto;height:36px;padding:0 12px}.moderation-user{display:flex;align-items:center;justify-content:space-between;gap:15px}.moderation-user>div:first-child{display:grid;gap:5px}.moderation-user strong{font-size:13px}.moderation-user small,.moderation-user span{color:var(--muted);font-size:9px}.moderation-user-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.moderation-user-actions button{width:auto;height:35px}.moderation-action{display:grid;grid-template-columns:1fr 1fr auto;gap:5px;align-items:center;font-size:10px}.moderation-action span{color:var(--blue)}.moderation-action time,.moderation-action small{color:var(--muted);font-size:9px}.moderation-action small{grid-column:1/-1;overflow-wrap:anywhere}.report-dialog{width:min(460px,93vw);padding:26px}.report-dialog .dialog-title{align-items:flex-start}.report-dialog .dialog-title small{color:var(--blue);font-size:9px;letter-spacing:.18em}.report-dialog .dialog-title h2{margin:5px 0 0}.report-dialog>p{color:var(--muted);font-size:11px;line-height:1.7;margin:20px 0}.report-dialog textarea{min-height:125px}.comment-report{border:0;background:transparent;color:var(--muted);font-size:10px;cursor:pointer;margin-left:10px}.reply-tools{margin-top:4px}.reply-tools button{margin-left:0}.thread-actions button[data-report-type]{color:#b46d2f;background:#fff6e7}.dark .thread-actions button[data-report-type]{color:#f0bd70;background:#3e3120}

@media(max-width:700px){.moderation-header{align-items:flex-start;flex-direction:column}.moderation-header .secondary-btn{width:100%}.moderation-user{align-items:flex-start;flex-direction:column}.moderation-user-actions{width:100%;justify-content:space-between}.moderation-user-actions button{flex:1}.moderation-action{grid-template-columns:1fr auto}.moderation-action small{grid-column:1/-1}}

/* Thread replies and likes */
.thread-engagement{margin-top:18px}.like-button{border:0;background:var(--soft);color:var(--muted);border-radius:7px;padding:7px 11px;font-size:11px;cursor:pointer}.like-button:hover,.like-button.liked{color:#e25572;background:#fff0f4}.dark .like-button:hover,.dark .like-button.liked{color:#ff91a7;background:#3c2730}.like-button.small{padding:4px 8px;font-size:10px}.reply-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px}.reply-tools .comment-delete,.reply-tools .comment-report{margin-left:0}.reply-to-button{border:0;background:transparent;color:var(--blue);font-size:10px;cursor:pointer;padding:0}.reply-toggle{border:0;background:transparent;color:var(--blue);font-size:10px;cursor:pointer;padding:7px 0}.nested-replies{margin:5px 0 0 14px;padding-left:13px;border-left:2px solid var(--line)}.nested-replies.collapsed{display:none}.reply-target{margin:8px 0;padding:8px 10px;border-radius:7px;background:var(--soft);color:var(--blue);font-size:10px}.form-foot>div{display:flex;align-items:center;gap:10px}.form-foot .text-button{margin:0;padding:0;font-size:10px}

/* Private messages */
.social-actions{display:inline-flex;align-items:center;gap:5px;margin-left:auto}.follow-button,.chat-button{border:1px solid var(--line);background:var(--surface);color:var(--blue);border-radius:6px;padding:4px 7px;font-size:9px;cursor:pointer}.follow-button.following{background:var(--soft)}.chat-button{color:#a35dce}.dm-dialog{width:min(480px,94vw);padding:25px}.dm-dialog .dialog-title{align-items:flex-start}.dm-dialog .dialog-title small{color:var(--blue);font-size:9px;letter-spacing:.18em}.dm-dialog .dialog-title h2{margin:5px 0 0}.dm-list{display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow:auto;padding:18px 4px}.dm-message{max-width:82%;padding:9px 12px;border-radius:11px;background:var(--bg);align-self:flex-start}.dm-message.own{align-self:flex-end;background:var(--soft)}.dm-message p{margin:0;font-size:12px;line-height:1.7;white-space:pre-wrap}.dm-message time{display:block;margin-top:4px;color:var(--muted);font-size:8px}.dm-dialog textarea{min-height:72px}.dm-dialog .form-foot{margin-top:8px}.dm-dialog .form-foot button{border:0;background:var(--blue);color:#fff;border-radius:7px;padding:9px 16px;cursor:pointer}

/* Community refresh and public member card */
.forum-page{position:relative}.forum-page:before{content:"";position:absolute;z-index:-1;inset:-45px -28px auto;height:360px;border-radius:40px;background:radial-gradient(circle at 12% 12%,#8298ff24,transparent 36%),radial-gradient(circle at 88% 20%,#f493c826,transparent 34%);pointer-events:none}.forum-hero{position:relative;overflow:hidden;min-height:150px;border-color:color-mix(in srgb,var(--blue) 24%,var(--line));box-shadow:0 18px 50px #536ee516}.forum-hero:after{content:"";position:absolute;right:-45px;top:-75px;width:210px;height:210px;border:42px solid #ffffff45;border-radius:50%;pointer-events:none}.forum-hero-copy{display:flex;align-items:center;gap:18px;position:relative;z-index:1}.forum-hero-icon{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:17px;background:#ffffffa8;color:#6c78e8;font-size:22px;box-shadow:0 10px 28px #536ee526;backdrop-filter:blur(10px)}.dark .forum-hero-icon{background:#ffffff12;color:#b7c1ff}.forum-layout>div{min-width:0}.forum-toolbar{padding:0 5px 8px}.thread-list{border-color:color-mix(in srgb,var(--blue) 12%,var(--line));box-shadow:0 18px 48px #27335a0a}.thread-card{position:relative;padding:23px 25px;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.thread-card:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:0 4px 4px 0;background:linear-gradient(#7488f2,#b26ee6);opacity:0;transform:scaleY(.5);transition:.2s}.thread-card:hover{z-index:1;transform:translateY(-1px);box-shadow:0 12px 30px #33457e12}.thread-card:hover:before{opacity:1;transform:scaleY(1)}.thread-card h2{letter-spacing:-.01em}.thread-meta span{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--bg) 80%,transparent)}.forum-aside{display:flex;flex-direction:column;gap:13px}.forum-aside .side-card{margin:0;border-color:color-mix(in srgb,var(--blue) 12%,var(--line));box-shadow:0 12px 35px #26376409}.forum-aside .side-card h3:before{content:"✦";margin-right:8px;color:var(--blue)}.forum-avatar{border:0;padding:0;line-height:1;font-family:inherit;box-shadow:0 0 0 3px var(--surface),0 5px 15px #5669ae25}.profile-avatar{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.profile-avatar:hover,.profile-avatar:focus-visible{transform:translateY(-2px) scale(1.04);box-shadow:0 0 0 3px var(--surface),0 0 0 5px #8b9df055,0 8px 20px #5669ae30;outline:0}.profile-avatar.has-image{font-size:0}

.public-profile-dialog{width:min(520px,94vw);overflow:hidden;border-radius:23px}.profile-dialog-close{position:absolute;z-index:3;right:15px;top:14px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffffff40;border-radius:50%;background:#18203b2e;color:#fff;font-size:20px;cursor:pointer;backdrop-filter:blur(8px)}.public-profile-content{min-height:340px}.profile-cover{position:relative;height:125px;overflow:hidden;background:linear-gradient(125deg,#637bee,#9b70e9 55%,#ef87b7)}.profile-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent,#ffffff25)}.profile-cover span{position:absolute;border:1px solid #ffffff45;border-radius:50%}.profile-cover span:nth-child(1){width:145px;height:145px;right:-24px;top:-66px}.profile-cover span:nth-child(2){width:88px;height:88px;right:86px;bottom:-55px}.profile-cover span:nth-child(3){width:40px;height:40px;left:34px;top:22px;background:#ffffff12}.profile-identity{display:flex;align-items:flex-end;gap:16px;padding:0 28px}.profile-avatar-large{position:relative;z-index:2;display:grid;place-items:center;flex:0 0 88px;width:88px;height:88px;margin-top:-42px;border:5px solid var(--surface);border-radius:27px;background:linear-gradient(135deg,#6a8cff,#9865d7);background-size:cover;background-position:center;color:#fff;font-size:25px;font-weight:700;box-shadow:0 13px 30px #2c376927}.profile-avatar-large.has-image{font-size:0}.profile-name-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;flex:1;padding:17px 0 4px}.profile-name-row>div{display:flex;align-items:center;gap:8px;min-width:0}.profile-name-row h2{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:21px}.profile-uid{flex:none;padding:6px 9px;border-radius:9px;background:var(--soft);color:var(--blue);font-size:10px;font-weight:700}.profile-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:24px 28px 0}.profile-facts>div{display:grid;gap:6px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.profile-facts small{color:var(--muted);font-size:9px}.profile-facts strong{font-size:11px;font-weight:600}.profile-privacy-note{margin:16px 28px;color:var(--muted);font-size:9px;line-height:1.6}.profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:2px 28px 27px}.profile-actions button{height:43px;border-radius:11px;font-size:12px;font-weight:600}.profile-follow{border:0;background:var(--blue);color:#fff}.profile-follow.following{border:1px solid var(--line);background:var(--soft);color:var(--blue)}.profile-chat{border:1px solid var(--line);background:var(--surface);color:#8d5ac5}.profile-chat.available{border-color:#b790dd;background:#f8f0ff}.dark .profile-chat.available{background:#342841}.profile-edit-button{grid-column:1/-1;border:0;background:var(--blue);color:#fff;cursor:pointer}.profile-loading{min-height:340px;display:grid;place-content:center;justify-items:center;color:var(--muted);font-size:11px}.profile-loading span{width:30px;height:30px;border:3px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:profile-spin .7s linear infinite}.profile-loading p{margin-top:14px}.profile-loading.profile-error b{color:var(--text);font-size:15px}.profile-loading.profile-error p{max-width:270px;text-align:center}.profile-loading.profile-error span{display:none}@keyframes profile-spin{to{transform:rotate(360deg)}}

@media(max-width:520px){.forum-hero-copy{align-items:flex-start}.forum-hero-icon{flex-basis:44px;width:44px;height:44px;border-radius:14px}.forum-hero:after{opacity:.55}.thread-meta{gap:5px;flex-wrap:wrap}.thread-meta span{padding:3px 6px}.public-profile-dialog{border-radius:22px 22px 0 0}.profile-cover{height:110px}.profile-identity{padding:0 20px;gap:11px}.profile-avatar-large{flex-basis:76px;width:76px;height:76px;border-radius:23px}.profile-name-row{align-items:flex-start;flex-direction:column;gap:6px}.profile-name-row>div{flex-wrap:wrap}.profile-name-row h2{font-size:18px}.profile-facts{grid-template-columns:1fr;margin:20px 20px 0}.profile-facts>div{grid-template-columns:90px 1fr;align-items:center}.profile-privacy-note{margin-inline:20px}.profile-actions{padding-inline:20px}.forum-reply .social-actions{width:100%;margin-left:0}}
.social-hero .primary-btn{display:inline-block;width:auto;padding:0 18px;margin-top:18px}.social-hero-actions{display:flex;gap:8px}.social-hero-actions .secondary-btn{height:43px;margin-top:18px}.friendship-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-9px 0 28px;padding:23px 27px;border:1px solid #dfe4ff;border-radius:14px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:var(--shadow)}.dark .friendship-card{border-color:#353b58}.friendship-card small{color:var(--blue);font-size:9px;letter-spacing:.18em;font-weight:700}.friendship-card h2{font-size:17px;margin:6px 0}.friendship-card p{max-width:570px;color:var(--muted);font-size:11px;line-height:1.7;margin:0}.friendship-points{display:grid;gap:8px;min-width:145px;color:var(--blue);font-size:10px}.account-uid{display:flex;align-items:center;gap:8px;margin:0 15px 13px;padding:10px 11px;border-radius:8px;background:var(--soft);color:var(--blue);font-size:11px}.account-uid strong{font-size:17px}.account-uid small{margin-left:auto;color:var(--muted);font-size:9px}.user-search-heading{padding:10px 6px 5px;color:var(--blue);font-size:10px;font-weight:700}.user-search-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 6px;border-bottom:1px solid var(--line)}.user-search-item>div:first-child{display:grid;gap:4px}.user-search-item strong{font-size:12px}.user-search-item span{color:var(--muted);font-size:9px}.user-search-item>div:last-child{display:flex;gap:5px;flex-shrink:0}

/* Motion system */
:root{--ease-out:cubic-bezier(.22,.75,.2,1);--ease-spring:cubic-bezier(.2,.9,.25,1.08)}
.page.active{animation:pageFallback .28s var(--ease-out) both;will-change:opacity,transform}
.theme-switching,.theme-switching .topbar,.theme-switching .page-title,.theme-switching .side-card,.theme-switching .post-list,.theme-switching .post-editor,.theme-switching .admin-posts{transition:background-color .2s ease,color .2s ease,border-color .2s ease}

@keyframes pageFallback{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes dialogIn{from{opacity:0;transform:translateY(14px) scale(.99)}to{opacity:1;transform:none}}
@keyframes dialogOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(8px) scale(.995)}}
@keyframes backdropIn{from{background:#10131a00}to{background:#10131a80}}
@keyframes backdropOut{to{background:#10131a00}}
@keyframes listItemIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes softPop{0%{transform:scale(.93);opacity:.4}100%{transform:scale(1);opacity:1}}

dialog::backdrop{backdrop-filter:none}
dialog[open]{animation:dialogIn .24s var(--ease-out) both;will-change:opacity,transform}
dialog[open]::backdrop{animation:backdropIn .16s ease both}
dialog[open].dialog-closing{animation:dialogOut .14s ease both}
dialog[open].dialog-closing::backdrop{animation:backdropOut .14s ease both}
.post-list.is-refreshing .post-item{animation:listItemIn .3s var(--ease-out) both}
.post-list.is-refreshing .post-item:nth-child(2){animation-delay:45ms}.post-list.is-refreshing .post-item:nth-child(3){animation-delay:90ms}.post-list.is-refreshing .post-item:nth-child(4){animation-delay:135ms}
.page.active .project-grid article,.page.active .friend-grid>a{animation:listItemIn .32s var(--ease-out) both}
.page.active .project-grid article:nth-child(2),.page.active .friend-grid>a:nth-child(2){animation-delay:60ms}.page.active .project-grid article:nth-child(3),.page.active .friend-grid>a:nth-child(3){animation-delay:120ms}.page.active .friend-grid>a:nth-child(4){animation-delay:180ms}
.admin-list-item{animation:listItemIn .3s var(--ease-out) both}.comment{animation:listItemIn .35s var(--ease-out) both}.comment:nth-child(2){animation-delay:45ms}.comment:nth-child(3){animation-delay:90ms}
.auth-tabs button,.filters button,.tag-cloud button,.pagination button,.actions button,.primary-btn,.secondary-btn,.danger-button,.like-btn,.friend-grid>a,.project-grid article{transition:transform .22s var(--ease-out),color .22s ease,background-color .22s ease,border-color .22s ease,box-shadow .22s ease}
.primary-btn:not(:disabled):hover,.secondary-btn:hover{transform:translateY(-2px);box-shadow:0 7px 18px #5277ff25}.primary-btn:not(:disabled):active,.secondary-btn:active{transform:translateY(0) scale(.98)}
.actions button:hover,.filters button:hover,.tag-cloud button:hover,.pagination button:hover{transform:translateY(-1px)}.like-btn:active{transform:scale(1.18)}
#adminQuickBtn{color:var(--blue);background:var(--soft)}#adminQuickBtn span{font-size:15px}#adminQuickBtn:hover{box-shadow:0 5px 14px #5277ff20}
.project-grid article:hover,.friend-grid>a:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.logo-mark{transition:transform .35s var(--ease-spring),box-shadow .3s ease}.logo:hover .logo-mark{transform:rotate(-7deg) scale(1.08);box-shadow:0 9px 20px #5873ee70}
.status-dot{animation:statusPulse 2.2s ease-in-out infinite}@keyframes statusPulse{50%{box-shadow:0 0 0 8px #2fcf7508;transform:scale(.92)}}
.motion-ready .page-title .planet{animation:softPop .7s var(--ease-spring) both}.article-dialog[open] .article-meta{animation:listItemIn .38s .08s var(--ease-out) both}.article-dialog[open] .article-body h1{animation:listItemIn .42s .13s var(--ease-out) both}.article-dialog[open] .lead{animation:listItemIn .42s .18s var(--ease-out) both}

@media(max-width:800px){
  @keyframes dialogIn{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}
  @keyframes dialogOut{to{opacity:0;transform:translateY(40%)}}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
/* Notifications and Xchat-style friends panel */
.social-dialog{width:min(500px,94vw);padding:25px}.social-dialog .dialog-title{align-items:flex-start}.social-dialog .dialog-title small{color:var(--blue);font-size:9px;letter-spacing:.18em}.social-dialog h2{margin:5px 0 0}.social-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;margin:22px 0 13px;border-radius:10px;background:var(--bg)}.social-tabs button{border:0;border-radius:8px;background:transparent;color:var(--muted);padding:9px;cursor:pointer}.social-tabs button.active{background:var(--surface);color:var(--blue);box-shadow:0 2px 10px #1b274012}.notification-list,.friend-list{display:grid;gap:4px;max-height:55vh;overflow:auto}.notification-item{display:flex;gap:11px;align-items:center;padding:12px 7px;border-bottom:1px solid var(--line);transition:.18s}.notification-item.unread{background:var(--soft);border-radius:10px}.notification-item p{margin:0;font-size:11px;line-height:1.6}.notification-item time{display:block;color:var(--muted);font-size:9px;margin-top:3px}.social-avatar{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:13px;color:#fff;background:linear-gradient(135deg,#6a8cff,#ad68d7);font-size:12px;font-weight:700;background-size:cover;background-position:center}.social-avatar.has-image{font-size:0}.social-empty{padding:35px 12px;text-align:center;color:var(--muted);font-size:11px;line-height:1.8}.friends-heading{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px;margin:7px 2px 9px}.friends-heading button{border:0;background:transparent;color:var(--blue);font-size:10px;cursor:pointer}.friend-item{display:flex;align-items:center;gap:11px;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:11px 7px;text-align:left;cursor:pointer}.friend-item:hover{background:var(--soft);border-radius:10px}.friend-copy{display:grid;gap:4px;min-width:0}.friend-copy strong{font-size:12px}.friend-copy small{color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.online-dot{width:8px;height:8px;margin-left:auto;border-radius:50%;background:#31c777;box-shadow:0 0 0 4px #31c7771c}
/* Xchat-style private conversation */
.dm-dialog:not([open]){display:none!important;visibility:hidden;pointer-events:none}
.dm-dialog{width:min(560px,94vw);height:min(720px,86vh);padding:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--blue) 18%,var(--line));border-radius:22px;background:var(--surface);display:flex;flex-direction:column}.dm-header{display:flex;align-items:center;gap:12px;padding:17px 20px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 88%,var(--soft));flex-shrink:0}.dm-peer-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#7285ff,#b56fdd);color:#fff;font-size:15px;font-weight:700;box-shadow:0 7px 18px #5e70d533}.dm-peer-info{display:grid;gap:5px;min-width:0}.dm-peer-info strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-peer-info span{color:var(--muted);font-size:9px}.dm-peer-info i{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#31c777;box-shadow:0 0 0 3px #31c7771c}.dm-close{margin-left:auto;width:32px;height:32px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:21px;cursor:pointer}.dm-close:hover{background:var(--line);color:var(--text)}.dm-chat-label{padding:15px 21px 4px;color:var(--blue);font-size:9px;font-weight:700;letter-spacing:.13em}.dm-chat-label span{float:right;color:var(--muted);font-weight:400;letter-spacing:0}.dm-list{display:flex;flex:1;flex-direction:column;gap:9px;max-height:none;overflow:auto;padding:13px 21px 20px;scrollbar-width:thin}.dm-message{position:relative;max-width:78%;padding:10px 13px;border:1px solid var(--line);border-radius:5px 15px 15px 15px;background:var(--bg);align-self:flex-start;box-shadow:0 5px 16px #28345a08}.dm-message.own{border-color:#8699ef55;border-radius:15px 5px 15px 15px;background:linear-gradient(135deg,var(--soft),color-mix(in srgb,var(--soft) 70%,var(--surface)));align-self:flex-end}.dm-message p{font-size:12px;line-height:1.7}.dm-message time{font-size:8px;color:var(--muted)}.dm-composer{margin:0 15px 15px;padding:9px 10px 8px;border:1px solid var(--line);border-radius:15px;background:var(--bg);flex-shrink:0}.dm-composer textarea{height:48px;min-height:48px;margin:0;padding:4px 3px;border:0;background:transparent;resize:none;line-height:1.6}.dm-composer textarea:focus{box-shadow:none}.dm-composer-foot{display:flex;align-items:center;justify-content:space-between}.dm-composer-foot small{color:var(--muted);font-size:9px}.dm-composer-foot button{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:10px;background:var(--blue);color:#fff;cursor:pointer;transition:.2s}.dm-composer-foot button:hover{transform:translateY(-2px);box-shadow:0 6px 14px #6176db55}@media(max-width:520px){.dm-dialog{height:94dvh;border-radius:22px 22px 0 0}.dm-header{padding:15px 17px}.dm-list{padding-inline:16px}.dm-composer{margin-inline:10px}}
/* Mobile-first layout refinement */
@media (max-width:700px){
  .topbar{height:60px}.nav-wrap{padding:0 12px}.logo{gap:7px}.logo strong{font-size:14px}.logo-mark{width:29px;height:29px;border-radius:9px}.actions{gap:2px}.actions button{width:34px;height:36px;padding:0;font-size:16px}.actions button span{font-size:16px}.actions em{display:none}.actions #wallpaperBtn,.actions #themeBtn{display:none}.page{padding:24px 13px 58px}.page-title{margin-bottom:19px;border-radius:16px;padding:23px 19px}.page-title h1{font-size:25px;line-height:1.35}.page-title p{font-size:12px;line-height:1.7}.social-hero-actions{flex-wrap:wrap}.social-hero-actions button{flex:1;min-width:130px}.layout,.forum-layout{display:block}.layout>main,.forum-layout>div{width:100%}.layout aside,.forum-aside{display:grid;grid-template-columns:1fr;gap:12px;margin-top:18px}.feed-head{padding-inline:3px}.post-list,.thread-list{border-radius:13px}.post-item{padding:20px 17px}.post-item h2{font-size:17px}.post-item>p{font-size:12px}.friendship-card{margin:-4px 0 20px;padding:18px;border-radius:13px}.friendship-points{grid-template-columns:repeat(3,1fr);min-width:0;width:100%;font-size:9px}.friendship-points span{padding:8px 5px;border-radius:8px;background:var(--bg);text-align:center}.forum-hero{display:block;min-height:0;padding:21px 18px;margin-bottom:17px;border-radius:15px}.forum-hero-copy{gap:11px}.forum-hero-icon{width:42px;height:42px;flex-basis:42px;border-radius:12px}.forum-hero h1{font-size:22px}.forum-hero p{font-size:11px;line-height:1.7}.forum-hero .primary-btn{width:100%;height:43px;margin-top:17px}.forum-toolbar{padding-inline:2px}.thread-card{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:17px 14px}.thread-card h2{font-size:15px;line-height:1.45}.thread-card p{font-size:11px}.thread-meta{gap:4px;margin-top:9px}.thread-meta span{font-size:8px;padding:3px 6px}.social-actions{width:100%;margin:8px 0 0;display:flex}.social-actions button{min-height:34px;flex:1}.thread-detail-author{align-items:flex-start;flex-wrap:wrap}.thread-detail-author .social-actions{margin-left:0}.reply-tools{display:flex;flex-wrap:wrap;gap:5px}.reply-tools button{min-height:32px}.form-row{display:block}.form-row label{margin-bottom:14px}input,textarea{font-size:16px}.dialog-actions{gap:8px}.dialog-actions button{min-height:43px}.public-profile-dialog,.social-dialog,.dm-dialog{width:100%!important;max-width:none!important;margin:auto 0 0;border-radius:21px 21px 0 0;border-bottom:0}.public-profile-dialog,.social-dialog{max-height:92dvh}.social-dialog{padding:20px 16px max(18px,env(safe-area-inset-bottom))}.notification-list,.friend-list{max-height:58dvh}.profile-actions{padding-bottom:max(20px,env(safe-area-inset-bottom))}.dm-dialog{height:94dvh}.dm-list{padding-bottom:12px}.dm-composer{margin-bottom:max(10px,env(safe-area-inset-bottom))}.search-box{margin-top:14px}.search-box input{font-size:16px}.user-search-item{padding:12px 4px}.user-search-item button{min-height:34px}.auth-dialog{padding:21px 18px max(22px,env(safe-area-inset-bottom))}.auth-dialog input{min-height:44px}.auth-dialog .primary-btn{height:46px}.wallpaper-grid{grid-template-columns:repeat(2,1fr)}footer{display:block;margin:0 13px;padding-bottom:32px}.footer-links{margin-top:18px;flex-wrap:wrap;gap:12px}
}
@media (max-width:390px){
  .actions button{width:30px}.logo strong{font-size:13px}.page{padding-inline:10px}.page-title h1{font-size:23px}.social-hero-actions{display:grid;grid-template-columns:1fr}.social-hero-actions button{width:100%}.friendship-points{font-size:8px}.thread-meta span:nth-child(n+4){display:none}.profile-facts>div{grid-template-columns:78px 1fr}.dm-chat-label{padding-inline:15px}.dm-chat-label span{display:none}
}
/* Desktop workspace layout */
@media (min-width:1000px){
  .topbar{height:74px}.nav-wrap{max-width:1240px;padding-inline:30px}.logo{margin-right:70px}.topbar nav{gap:38px}.actions{gap:8px}.actions button{padding-inline:12px}.page{max-width:1240px;padding:62px 30px 105px}.page-title{padding:42px 48px;margin-bottom:34px}.layout{grid-template-columns:minmax(0,1fr) 300px;gap:36px}.post-list{border-radius:18px}.post-item{padding:30px 34px}.post-item h2{font-size:20px}.forum-page{max-width:1240px}.forum-layout{grid-template-columns:minmax(0,1fr) 310px;gap:36px}.forum-hero{padding:38px 44px;border-radius:20px}.thread-list{border-radius:17px}.thread-card{grid-template-columns:48px minmax(0,1fr);gap:17px;padding:25px 29px}.thread-card h2{font-size:18px}.forum-aside .side-card{padding:23px}.dm-dialog{width:min(620px,72vw);height:min(760px,82vh)}.social-dialog{width:min(560px,72vw)}.public-profile-dialog{width:min(560px,72vw)}
}
body.has-wallpaper{position:relative;isolation:isolate;min-height:100vh}
.member-admin-dialog{width:min(460px,94vw);padding:26px}.member-admin-dialog .dialog-title{align-items:flex-start}.member-admin-dialog .dialog-title h2{margin:5px 0 0}.admin-panel-note{color:var(--muted);font-size:11px;line-height:1.7}.admin-check{display:flex;align-items:center;gap:8px;color:var(--text);font-size:11px}.admin-check input{width:auto;margin:0}.admin-header-actions{display:flex;flex-wrap:wrap;gap:8px}
.social-avatar{border:0;padding:0;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.social-avatar:hover,.social-avatar:focus-visible{transform:translateY(-2px);box-shadow:0 0 0 3px #8b9df055;outline:0}
/* X-inspired global UI reset */
:root{--bg:#fff;--surface:#fff;--text:#0f1419;--muted:#536471;--line:#eff3f4;--blue:#1d9bf0;--soft:#e8f5fd;--shadow:0 8px 24px #0f14190d}
body{font-family:Inter,"Noto Sans SC",Arial,sans-serif;background:var(--bg);color:var(--text)}
body.dark{--bg:#000;--surface:#000;--text:#e7e9ea;--muted:#71767b;--line:#2f3336;--soft:#16181c;--shadow:0 8px 24px #0008}
.topbar{height:100vh;width:250px;position:fixed;left:0;top:0;background:var(--surface);border-right:1px solid var(--line);z-index:40;backdrop-filter:none}.nav-wrap{height:100%;display:flex;align-items:stretch;flex-direction:column;padding:18px 20px}.logo{margin:0 0 24px;padding:8px 12px;gap:11px}.logo-mark{width:37px;height:37px;border-radius:50%;background:var(--text);box-shadow:none}.logo strong{font-size:18px}.topbar nav{height:auto;display:flex;flex-direction:column;gap:3px}.topbar nav a{height:48px;padding:0 14px;border-radius:999px;font-size:16px;font-weight:500}.topbar nav a:hover{background:var(--soft);color:var(--text)}.topbar nav a.active{font-weight:700;color:var(--text)}.topbar nav a.active:after{display:none}.actions{margin:20px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:4px}.actions button{height:42px;padding:0 10px;text-align:left;border-radius:999px;font-size:14px}.actions button span{font-size:17px}.actions button:hover{background:var(--soft)}.actions #authBtn{grid-column:1/-1;background:var(--text);color:var(--surface);text-align:center;font-weight:700}.page{max-width:920px;margin:0 0 0 250px;padding:32px 28px 100px;border-left:1px solid var(--line);border-right:1px solid var(--line);min-height:100vh}.page-title{background:var(--surface);border:0;border-bottom:1px solid var(--line);border-radius:0;padding:24px 4px;margin-bottom:20px}.page-title h1{font-size:27px}.page-title p{font-size:13px}.planet{font-size:70px}.layout{grid-template-columns:minmax(0,1fr) 270px;gap:26px}.post-list,.thread-list{border:0;border-radius:0;background:var(--surface)}.post-item,.thread-card{border-bottom:1px solid var(--line);padding:24px 12px}.post-item:hover,.thread-card:hover{background:var(--soft);transform:none;box-shadow:none}.side-card{border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:none}.forum-page{max-width:920px;margin-left:250px}.forum-hero{border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:none;padding:28px}.forum-hero:after,.forum-page:before{display:none}.forum-layout{grid-template-columns:minmax(0,1fr) 270px}.thread-list{border:1px solid var(--line);border-radius:16px;overflow:hidden}.thread-card:before{display:none}.thread-meta span{background:transparent;padding:0}.primary-btn,.form-foot button{background:var(--text);border-radius:999px;font-weight:700}.secondary-btn{border-radius:999px}.social-dialog,.dm-dialog,.public-profile-dialog,.wallpaper-dialog,.auth-dialog,.thread-editor-dialog{border-radius:18px;box-shadow:0 15px 50px #0f141933}.social-dialog{border:1px solid var(--line)}
@media(max-width:900px){
  .topbar{position:sticky;width:100%;height:60px;border-right:0;border-bottom:1px solid var(--line)}.nav-wrap{height:60px;display:flex;flex-direction:row;align-items:center;padding:0 14px}.logo{margin:0;padding:0}.logo strong{display:none}.logo-mark{width:32px;height:32px}.topbar nav{display:none}.actions{display:flex;margin:0 0 0 auto;gap:1px}.actions button{width:35px;height:35px;padding:0;text-align:center}.actions #authBtn{background:transparent;color:var(--muted);font-weight:400}.actions #authBtn span{font-size:17px}.actions em{display:none}.actions #wallpaperBtn,.actions #themeBtn{display:none}.page,.forum-page{margin:0;max-width:none;border:0;padding:24px 15px 88px;min-height:calc(100vh - 60px)}.layout,.forum-layout{display:block}.layout aside,.forum-aside{margin-top:18px}.page-title{padding:18px 0;margin-bottom:17px}.page-title h1{font-size:24px}.forum-hero{padding:20px 16px;border-radius:16px}.thread-list{border-radius:15px}.post-item,.thread-card{padding:19px 5px}.side-card{border-radius:14px}.social-dialog,.dm-dialog,.public-profile-dialog,.wallpaper-dialog,.auth-dialog,.thread-editor-dialog{border-radius:20px 20px 0 0}.topbar nav.open{display:flex;position:fixed;top:60px;left:0;right:0;bottom:0;width:100%;height:auto;background:var(--surface);padding:18px 15px;transform:none;border:0;box-shadow:none}.topbar nav.open a{height:50px}.actions #menuBtn{display:block}
}
/* Unified spacing, overlays and window placement */
dialog:not([open]){display:none!important}
button{touch-action:manipulation}.primary-btn,.secondary-btn,.danger-button,.follow-button,.chat-button{min-height:38px}.primary-btn,.secondary-btn,.danger-button{padding-inline:17px}.primary-btn{background:var(--text);color:var(--surface);border:0}.secondary-btn{border:1px solid var(--line);background:var(--surface);color:var(--text)}.danger-button{border:0}.primary-btn:hover,.secondary-btn:hover,.follow-button:hover,.chat-button:hover{transform:translateY(-1px)}
dialog{z-index:100;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);margin:auto;overflow:auto}dialog::backdrop{z-index:99;background:#0f141966;backdrop-filter:blur(5px)}.dialog-title{gap:18px}.dialog-title>div{min-width:0}.dialog-title h2{line-height:1.3}.form-message{margin:10px 0;font-size:11px;line-height:1.6}.form-message.error{color:#d64545}.social-dialog,.dm-dialog,.public-profile-dialog,.wallpaper-dialog,.auth-dialog,.thread-editor-dialog,.member-admin-dialog{box-shadow:0 20px 70px #0f141933}
.forum-aside,.layout aside{align-self:start;position:sticky;top:92px}.thread-card,.post-item{transition:background .18s ease}.thread-card:focus-within,.post-item:focus-within{background:var(--soft)}
@media(max-width:900px){dialog{max-width:100vw;max-height:94dvh;margin:auto 0 0}.forum-aside,.layout aside{position:static}.dialog-title{gap:10px}.primary-btn,.secondary-btn,.danger-button,.follow-button,.chat-button{min-height:42px}}
@media(max-width:900px){
  .topbar nav{display:flex;position:fixed;z-index:42;top:0;right:auto;bottom:0;left:0;width:min(84vw,330px);height:100dvh;padding:82px 22px max(24px,env(safe-area-inset-bottom));background:var(--surface);flex-direction:column;gap:4px;border:0;box-shadow:18px 0 45px #12172225;transform:translateX(-105%);transition:transform .28s cubic-bezier(.22,.8,.25,1)}
  .topbar nav.open{display:flex;transform:translateX(0)}
  .topbar nav a{height:50px;min-height:50px;padding:0 15px;border-radius:999px;font-size:15px}
  .actions #wallpaperBtn{display:block}
}
.social-hero{border:1px solid var(--line)!important;border-radius:22px!important;background:linear-gradient(135deg,#eef6ff,#fff 55%,#f7f2ff)!important;padding:34px 40px!important;margin-bottom:24px!important;box-shadow:0 10px 30px #0f14190b}.dark .social-hero{background:linear-gradient(135deg,#101820,#000 55%,#17121e)!important}.social-hero-actions{margin-top:3px}.social-hero .planet{opacity:.45}footer{max-width:calc(920px - 56px);margin-left:278px;margin-right:28px;margin-top:24px;padding:27px 28px 34px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 8px 24px #0f141908}footer strong{font-size:15px}footer .footer-links{align-items:center}footer a:hover{color:var(--blue)}
@media(max-width:900px){.social-hero{border-radius:18px!important;padding:23px 19px!important}.social-hero .planet{display:none}footer{max-width:none;margin:22px 13px 0;padding:23px 18px max(28px,env(safe-area-inset-bottom));border-radius:16px;display:block}.footer-links{margin-top:16px;gap:13px}}
.profile-sidebar-card{overflow:hidden;padding:0!important}.profile-sidebar-card .profile-cover{height:92px}.profile-sidebar-card .profile-identity{display:block;padding:0 18px}.profile-sidebar-card .profile-avatar-large{width:62px;height:62px;flex-basis:62px;margin-top:-31px;border-radius:19px;font-size:18px}.profile-sidebar-card .profile-name-row{display:block;padding:11px 0 0}.profile-sidebar-card .profile-name-row>div{display:flex;flex-wrap:wrap;gap:6px}.profile-sidebar-card .profile-name-row h2{max-width:170px;font-size:17px}.profile-sidebar-card .profile-uid{display:inline-block;margin-top:8px}.profile-sidebar-card .profile-facts{grid-template-columns:1fr;margin:15px 18px 0}.profile-sidebar-card .profile-facts>div{grid-template-columns:72px 1fr;align-items:center;padding:9px}.profile-sidebar-card .profile-facts strong{font-size:10px}.profile-sidebar-card .profile-privacy-note{margin:12px 18px;font-size:8px}.profile-sidebar-card .profile-actions{padding:0 18px 18px;gap:7px}.profile-sidebar-card .profile-actions button{height:36px;font-size:10px}.profile-sidebar-card .profile-loading{min-height:180px}.profile-sidebar-card .profile-cover span{display:none}@media(max-width:900px){.profile-sidebar-card{display:none!important}}
/* Full desktop workspace: use the available viewport instead of leaving a blank right side */
@media(min-width:1200px){
  .page,.forum-page{width:calc(100vw - 250px);max-width:1440px;margin-left:250px;margin-right:0;padding-left:clamp(28px,4vw,72px);padding-right:clamp(28px,4vw,72px)}
  .page-title{max-width:1180px;margin-inline:0}.layout{grid-template-columns:minmax(0,1fr) 360px;max-width:1180px;gap:38px}.forum-layout{grid-template-columns:minmax(0,1fr) 360px;max-width:1180px;gap:38px}.forum-hero{max-width:1180px}.thread-list{min-height:360px}.forum-aside{width:360px}.forum-aside .side-card{padding:24px}.profile-sidebar-card .profile-facts{grid-template-columns:1fr 1fr}.profile-sidebar-card .profile-facts>div{display:grid;grid-template-columns:1fr;gap:5px}.forum-aside:after{content:"COMMUNITY SPACE";display:block;padding:18px 4px;color:var(--muted);font-size:9px;letter-spacing:.18em;border-top:1px solid var(--line)}footer{max-width:1180px;margin-left:calc(250px + clamp(28px,4vw,72px));margin-right:clamp(28px,4vw,72px)}
}
@media(min-width:1600px){.page,.forum-page{max-width:none}.layout,.forum-layout,.page-title,.forum-hero{max-width:1320px}.layout,.forum-layout{grid-template-columns:minmax(0,1fr) 390px;gap:46px}.forum-aside{width:390px}}
.forum-space-card p{margin:0 0 17px;color:var(--muted);font-size:11px;line-height:1.75}.forum-space-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.forum-space-actions button{width:100%;font-size:10px}
@media(max-width:900px){.post-list,.thread-list{border:1px solid var(--line);border-radius:16px!important;overflow:hidden}.post-item:first-child,.thread-card:first-child{border-top-left-radius:15px;border-top-right-radius:15px}.post-item:last-child,.thread-card:last-child{border-bottom-left-radius:15px;border-bottom-right-radius:15px}.post-item{padding-inline:16px}}
/* Interaction-shell layout: one system for feed, community and panels */
:root{--rail:264px;--content:700px;--aside:340px;--radius:18px;--control:42px;--focus:0 0 0 3px color-mix(in srgb,var(--blue) 30%,transparent)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:0;box-shadow:var(--focus)}
.page.active{animation:none}.post-list,.thread-list,.side-card,.forum-hero,.friendship-card{border-color:var(--line)}
.post-item,.thread-card{cursor:pointer}.post-item:active,.thread-card:active{background:var(--soft)}
.post-item:focus-visible,.thread-card:focus-visible{outline:0;box-shadow:inset 3px 0 0 var(--blue)}
.side-card{border-radius:var(--radius)}.forum-hero,.friendship-card{border-radius:var(--radius)}
.actions button,.social-actions button{min-height:var(--control)}
@media(min-width:1024px){
  .topbar{width:var(--rail);height:100dvh;position:fixed;inset:0 auto 0 0}.nav-wrap{padding:20px 16px}.logo{margin:0 0 20px}.topbar nav a{height:48px;font-size:16px}.actions{margin-top:auto;padding-top:20px}.page,.forum-page{width:min(1280px,calc(100vw - var(--rail)));max-width:none;margin:0 0 0 var(--rail);padding:34px clamp(30px,4vw,64px) 88px}.page-title,.forum-hero{max-width:calc(var(--content) + var(--aside) + 38px)}.layout,.forum-layout{grid-template-columns:minmax(0,var(--content)) minmax(280px,var(--aside));gap:38px;align-items:start;max-width:calc(var(--content) + var(--aside) + 38px)}.layout aside,.forum-aside{position:sticky;top:28px;max-height:calc(100dvh - 56px);overflow:auto;padding-right:3px}.post-list,.thread-list{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.post-item,.thread-card{padding:22px 24px}.thread-card{grid-template-columns:46px minmax(0,1fr)}footer{width:min(1280px,calc(100vw - var(--rail)));max-width:none;margin:0 0 28px var(--rail);padding-inline:clamp(30px,4vw,64px)}
}
@media(max-width:1023px){
  :root{--control:44px}.topbar{height:60px}.page,.forum-page{padding:20px 14px 82px}.post-list,.thread-list{border-radius:var(--radius)}.post-item,.thread-card{padding:17px 15px}.friendship-card{padding:18px}.side-card{border-radius:16px}#toTop{right:16px;bottom:18px}.actions #menuBtn{display:grid;place-items:center}.topbar nav{padding-top:74px}.topbar nav a{font-size:16px}.dialog-actions button{min-height:44px}
}
/* Mobile interaction shell */
#mobileDock{display:none}
@media(max-width:1023px){
  body{padding-bottom:76px}.topbar{position:sticky;top:0;z-index:60}.topbar .actions #menuBtn{display:grid}.topbar nav{z-index:80;width:min(82vw,336px);padding:78px 18px max(26px,env(safe-area-inset-bottom));border-right:1px solid var(--line);box-shadow:16px 0 44px #0f141930}.topbar nav a{display:flex;align-items:center;min-height:50px;padding-inline:15px;border-radius:14px}.topbar nav a.active{background:var(--soft);color:var(--blue)}body.nav-open{overflow:hidden}#navBackdrop{position:fixed;z-index:70;inset:0;background:#0f14194d;opacity:0;pointer-events:none;transition:opacity .22s ease}#navBackdrop[data-visible]{opacity:1;pointer-events:auto}
  #mobileDock{position:fixed;z-index:65;right:10px;bottom:max(9px,env(safe-area-inset-bottom));left:10px;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;height:62px;padding:5px 4px;border:1px solid color-mix(in srgb,var(--line) 92%,transparent);border-radius:20px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 10px 35px #0f141920;backdrop-filter:blur(18px)}
  #mobileDock button{display:grid;place-items:center;gap:2px;height:50px;border:0;border-radius:15px;background:transparent;color:var(--muted);cursor:pointer}#mobileDock button span{font-size:19px;line-height:1}#mobileDock button small{font-size:9px}#mobileDock button.active{background:var(--soft);color:var(--blue);font-weight:700}#mobileDock button:active{transform:scale(.94)}
  .page,.forum-page{padding-bottom:96px}.dm-dialog{margin-bottom:0}.article-dialog,.thread-dialog{height:calc(100dvh - 14px);max-height:calc(100dvh - 14px)}.article-body{padding-bottom:38px}.comments{padding-bottom:max(42px,env(safe-area-inset-bottom))}
}
@media(max-width:380px){#mobileDock{right:7px;left:7px}#mobileDock button span{font-size:17px}#mobileDock button small{font-size:8px}}
.image-upload-label input[type="file"]{padding:8px;border-style:dashed;cursor:pointer}.image-upload-label small{display:block;margin-top:6px;color:var(--muted);font-size:9px}.thread-image-preview{position:relative;display:grid;grid-template-columns:74px 1fr auto;gap:11px;align-items:center;margin:10px 0;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.thread-image-preview img{width:74px;height:54px;object-fit:cover;border-radius:8px}.thread-image-preview span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px}.thread-image-preview button{width:28px;height:28px;border:0;border-radius:50%;background:var(--surface);color:var(--muted);cursor:pointer}
.actions #notificationBtn{position:relative}.notification-badge{position:absolute;top:3px;right:3px;min-width:16px;height:16px;padding:0 4px;border:2px solid var(--surface);border-radius:999px;background:#f4212e;color:#fff;font:700 8px/12px Inter,sans-serif;text-align:center;pointer-events:none}@media(max-width:1023px){.notification-badge{top:1px;right:0}}
@media(max-width:1023px){#mobileDock button{position:relative}#mobileDock button[data-unread]::after{content:attr(data-unread);position:absolute;top:4px;right:8px;min-width:15px;height:15px;padding:0 3px;border:2px solid var(--surface);border-radius:999px;background:#f4212e;color:#fff;font:700 8px/11px Inter,sans-serif;text-align:center}}
/* Desktop interaction and motion layer */
@media(min-width:1024px){
  .topbar nav a,.actions button,.post-item,.thread-card,.side-card,.forum-hero,.friendship-card{transition:transform .18s cubic-bezier(.2,.8,.2,1),background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
  .topbar nav a:hover{transform:translateX(3px)}.actions button:hover{transform:translateY(-1px)}
  .post-item:hover,.thread-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px #0f14190a}.side-card:hover{box-shadow:0 8px 24px #0f141909}
}
@media(prefers-reduced-motion:reduce){.topbar nav a,.actions button,.post-item,.thread-card,.side-card,.forum-hero,.friendship-card{transition:none!important;animation:none!important}}
/* Visual polish: layered surfaces, depth and motion */
:root{--glow-blue:#1d9bf026;--glow-violet:#9d6df01f;--ease-out:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.22,1.35,.36,1)}
body{background:radial-gradient(900px 560px at 78% -10%,var(--glow-blue),transparent 62%),radial-gradient(750px 480px at 8% 100%,var(--glow-violet),transparent 65%),var(--bg)}
body.dark{--glow-blue:#1d9bf018;--glow-violet:#8d5ce81a}
.page-title,.forum-hero,.friendship-card{isolation:isolate;overflow:hidden}.page-title:before,.forum-hero:before,.friendship-card:before{content:"";position:absolute;z-index:-1;inset:auto -10% -75% auto;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,#1d9bf026,transparent 67%);pointer-events:none}.page-title:after,.forum-hero:after{content:"";position:absolute;z-index:-1;left:7%;top:0;width:68px;height:2px;border-radius:99px;background:linear-gradient(90deg,transparent,var(--blue),transparent);opacity:.7}
.side-card{background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(10px);box-shadow:0 1px 0 #fff8 inset,0 12px 30px #0f141907}.dark .side-card{box-shadow:0 1px 0 #fff1 inset,0 12px 30px #0004}
.post-list,.thread-list{box-shadow:0 14px 38px #0f141908}.post-item,.thread-card{position:relative;overflow:hidden}.post-item:before,.thread-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(var(--blue),#a66cff);opacity:0;transform:scaleY(.45);transition:opacity .2s ease,transform .24s var(--ease-out)}.post-item:hover:before,.thread-card:hover:before{opacity:1;transform:scaleY(1)}
.primary-btn{position:relative;overflow:hidden;isolation:isolate}.primary-btn:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(110deg,#1d9bf0,#5865f2 55%,#9b6de5);transform:translateX(-102%);transition:transform .34s var(--ease-out)}.primary-btn:hover:before{transform:translateX(0)}.primary-btn:hover{box-shadow:0 9px 20px #1d9bf035}.secondary-btn{transition:background .2s ease,border-color .2s ease,transform .2s var(--ease-out),box-shadow .2s ease}.secondary-btn:hover{border-color:color-mix(in srgb,var(--blue) 45%,var(--line));box-shadow:0 6px 16px #1d9bf012}
.avatar,.forum-avatar,.social-avatar,.dm-peer-avatar,.profile-avatar-large{transition:transform .28s var(--ease-spring),box-shadow .28s ease}.avatar:hover,.forum-avatar:hover,.social-avatar:hover,.dm-peer-avatar:hover{transform:translateY(-2px) rotate(-3deg);box-shadow:0 10px 20px #1d9bf030}
dialog[open]{transform-origin:center;animation:dialogPolishIn .28s var(--ease-out) both}dialog[open]::backdrop{animation:backdropPolishIn .24s ease both}@keyframes dialogPolishIn{from{opacity:0;transform:translateY(14px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdropPolishIn{from{background:#0f141900}to{background:#0f141966}}
.notification-item,.friend-item,.dm-message{animation:itemReveal .28s var(--ease-out) both}.notification-item:nth-child(2),.friend-item:nth-child(2){animation-delay:35ms}.notification-item:nth-child(3),.friend-item:nth-child(3){animation-delay:70ms}.notification-item:nth-child(4),.friend-item:nth-child(4){animation-delay:105ms}@keyframes itemReveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.dm-message.own{animation-name:messageOwn}.dm-message.other{animation-name:messageOther}@keyframes messageOwn{from{opacity:0;transform:translateX(12px) scale(.97)}to{opacity:1;transform:none}}@keyframes messageOther{from{opacity:0;transform:translateX(-12px) scale(.97)}to{opacity:1;transform:none}}
.status-dot,.online-dot{animation:softPulse 2.5s ease-in-out infinite}@keyframes softPulse{50%{box-shadow:0 0 0 7px #31c77708;transform:scale(.9)}}
@media(max-width:1023px){body{background:radial-gradient(460px 300px at 100% -5%,var(--glow-blue),transparent 65%),var(--bg)}.page-title:before,.forum-hero:before{width:170px;height:170px}.post-item:before,.thread-card:before{display:none}.side-card{backdrop-filter:none}.primary-btn:before{display:none}dialog[open]{animation:mobilePolishIn .26s var(--ease-out) both}@keyframes mobilePolishIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.post-item:before,.thread-card:before{display:none}}
/* Private-message presence, unread badges and incoming-message bubble */
.actions #notificationBtn,.actions #friendsBtn{position:relative}.message-count-badge{background:linear-gradient(135deg,#8b5cf6,#c15ee5)!important}.notification-direct{width:100%;border:0;text-align:left;cursor:pointer}.notification-direct:hover{background:color-mix(in srgb,var(--soft) 72%,var(--surface));border-radius:12px}.notification-direct .notification-arrow{margin-left:auto;color:var(--blue);font-size:20px;font-weight:400}.dm-peer-info #dmStatus[data-state="fallback"] i{background:#e6a23c;box-shadow:0 0 0 3px #e6a23c22}.dm-peer-info #dmStatus[data-state="connecting"] i{background:var(--blue);box-shadow:0 0 0 3px #1d9bf022;animation:softPulse 1.3s ease-in-out infinite}
.incoming-message-bubble{position:fixed;z-index:130;right:24px;bottom:26px;display:grid;grid-template-columns:42px minmax(0,1fr) 16px;gap:10px;align-items:center;width:min(340px,calc(100vw - 32px));padding:11px 12px;border:1px solid color-mix(in srgb,var(--blue) 24%,var(--line));border-radius:17px;background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--text);box-shadow:0 16px 42px #0f141928;backdrop-filter:blur(18px);text-align:left;cursor:pointer;opacity:0;transform:translateY(18px) scale(.97);transition:opacity .24s var(--ease-out),transform .28s var(--ease-out)}.incoming-message-bubble.show{opacity:1;transform:translateY(0) scale(1)}.incoming-message-bubble:hover{border-color:color-mix(in srgb,var(--blue) 52%,var(--line));box-shadow:0 18px 46px #1d9bf028}.incoming-message-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#7285ff,#b56fdd);color:#fff;font-size:14px;font-weight:700;background-size:cover;background-position:center}.incoming-message-avatar.has-image{font-size:0}.incoming-message-bubble>span:nth-child(2){display:grid;min-width:0;gap:3px}.incoming-message-bubble strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.incoming-message-bubble small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.incoming-message-bubble>b{color:var(--blue);font-size:23px;font-weight:400}
@media(max-width:1023px){.incoming-message-bubble{right:12px;bottom:calc(78px + env(safe-area-inset-bottom));width:min(360px,calc(100vw - 24px));border-radius:16px}.message-count-badge{top:0!important;right:0!important}}

/* Desktop reset: a calmer X-style navigation rail, feed and contextual right column. */
@media (min-width:1024px) {
  :root {
    --x-rail:250px;
    --x-feed:620px;
    --x-right:350px;
    --x-main-left:max(calc(var(--x-rail) + 22px), calc(50vw - 510px));
    --blue:#1d9bf0;
    --soft:#eff3f4;
  }

  body { min-width:1024px; background:var(--surface); }
  body.dark { --soft:#202a30; }
  .topbar {
    position:fixed; inset:0 auto 0 0; z-index:60; width:var(--x-rail); height:100dvh;
    border:0; background:var(--surface); box-shadow:none;
  }
  .nav-wrap { display:flex; height:100%; padding:12px 12px 20px; flex-direction:column; align-items:stretch; }
  .logo { margin:0 0 12px; padding:8px 12px; gap:10px; }
  .logo-mark { width:38px; height:38px; border-radius:50%; background:var(--text); box-shadow:none; font-size:17px; }
  .logo strong { font-size:18px; letter-spacing:-.03em; }
  .topbar nav { display:flex; height:auto; flex-direction:column; gap:2px; }
  .topbar nav a {
    display:flex; align-items:center; gap:15px; height:51px; padding:0 13px; border-radius:999px;
    color:var(--text); font-size:18px; font-weight:500; transition:background .18s ease, transform .18s ease;
  }
  .topbar nav a::before { display:grid; width:25px; place-items:center; color:currentColor; font-size:21px; line-height:1; }
  .topbar nav a[data-page="home"]::before { content:"⌂"; }
  .topbar nav a[data-page="forum"]::before { content:"◌"; }
  .topbar nav a[data-page="projects"]::before { content:"▧"; }
  .topbar nav a[data-page="about"]::before { content:"◎"; }
  .topbar nav a[data-page="friends"]::before { content:"↗"; }
  .topbar nav a[data-open-wallpaper]::before { content:"◐"; }
  .topbar nav a:hover { background:var(--soft); color:var(--text); transform:none; }
  .topbar nav a.active { background:transparent; color:var(--text); font-weight:760; }
  .topbar nav a.active::after { display:none; }
  .actions { display:flex; margin-top:auto; padding-top:18px; flex-direction:column; gap:3px; }
  .actions button {
    display:flex; align-items:center; width:100%; height:43px; padding:0 14px; gap:12px; border-radius:999px;
    color:var(--text); font-size:14px; text-align:left;
  }
  .actions button span { display:grid; width:20px; place-items:center; font-size:18px; }
  .actions button em { display:inline; margin:0; font-size:14px; }
  .actions button:hover { background:var(--soft); color:var(--text); transform:none; }
  .actions #authBtn { margin-top:7px; justify-content:center; background:var(--text); color:var(--surface); font-weight:750; text-align:center; }
  .actions #authBtn:hover { background:color-mix(in srgb,var(--text) 88%,var(--blue)); color:var(--surface); }
  .actions #themeBtn::after { content:"外观"; font-size:14px; }
  .actions #menuBtn { display:none; }

  .page, .forum-page {
    width:min(var(--x-feed), calc(100vw - var(--x-main-left) - 24px)); max-width:none; min-height:100dvh;
    margin:0 0 0 var(--x-main-left); padding:0 0 76px; border-right:1px solid var(--line); border-left:1px solid var(--line);
    background:var(--surface);
  }
  .page.narrow { max-width:none; }
  .layout, .forum-layout { display:block; max-width:none; }
  .layout > aside, .forum-aside { display:none; }

  .page-title, .forum-hero, .inner-title {
    min-height:0; margin:0; padding:17px 18px; border:0; border-bottom:1px solid var(--line); border-radius:0;
    background:var(--surface)!important; box-shadow:none; text-align:left;
  }
  .page-title { display:block; }
  .page-title::before, .page-title::after, .forum-hero::before, .forum-hero::after { display:none; }
  .page-title .planet { display:none; }
  .page-title .hello, .forum-hero-copy small, .inner-title small { color:var(--muted); font-size:10px; letter-spacing:.08em; }
  .page-title h1, .forum-hero h1, .inner-title h1 { margin:4px 0 5px; color:var(--text); font-size:21px; line-height:1.25; letter-spacing:-.025em; }
  .page-title p, .forum-hero p, .inner-title p { max-width:510px; margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
  .social-hero-actions { margin-top:15px; }
  .forum-hero { display:flex; align-items:center; justify-content:space-between; gap:16px; }
  .forum-hero-copy { gap:11px; }
  .forum-hero-icon { width:42px; height:42px; border-radius:50%; background:var(--soft); color:var(--blue); }
  .forum-hero .primary-btn { flex:0 0 auto; }
  .inner-title { padding-block:20px 17px; }

  .friendship-card {
    display:block; margin:0; padding:18px; border:0; border-bottom:1px solid var(--line); border-radius:0;
    background:var(--surface); box-shadow:none;
  }
  .friendship-card h2 { margin:4px 0 6px; font-size:17px; letter-spacing:-.02em; }
  .friendship-card p { max-width:520px; margin:0; color:var(--muted); font-size:12px; line-height:1.65; }
  .friendship-points { display:flex; width:auto; margin-top:14px; gap:7px; }
  .friendship-points span { padding:7px 9px; border-radius:999px; background:var(--soft); color:var(--muted); font-size:10px; }

  .feed-head, .forum-toolbar {
    min-height:53px; margin:0; padding:0 18px; border-bottom:1px solid var(--line); background:var(--surface);
  }
  .feed-head > span, .forum-toolbar strong { font-size:16px; font-weight:760; }
  .feed-head button, .forum-toolbar button { color:var(--blue); font-size:12px; }
  .post-list, .thread-list { overflow:visible; border:0; border-radius:0; background:var(--surface); box-shadow:none; }
  .post-item, .thread-card {
    margin:0; padding:18px; border:0; border-bottom:1px solid var(--line); border-radius:0;
    background:var(--surface); box-shadow:none!important; transition:background .16s ease;
  }
  .post-item::before, .thread-card::before { display:none; }
  .post-item:hover, .thread-card:hover { background:color-mix(in srgb,var(--soft) 58%,var(--surface)); transform:none!important; }
  .post-item h2, .thread-card h2 { margin:6px 0 7px; font-size:17px; line-height:1.38; }
  .post-item h2 a { background:none; }
  .post-item:hover h2 a { color:var(--text); }
  .post-item > p, .thread-card p { margin-bottom:13px; color:var(--muted); font-size:13px; line-height:1.65; }
  .post-top, .post-bottom, .thread-meta { color:var(--muted); font-size:10px; }
  .post-bottom .tags span, .thread-meta span { padding:0; background:transparent; color:var(--muted); }
  .thread-card { grid-template-columns:44px minmax(0,1fr); gap:12px; }
  .forum-avatar { width:42px; height:42px; border-radius:50%; }
  .pagination { margin:0; padding:18px; border-bottom:1px solid var(--line); }
  .pagination button { border:1px solid var(--line); border-radius:50%; background:var(--surface); }
  .pagination button.active { background:var(--text); border-color:var(--text); }

  .primary-btn, .form-foot button { border-radius:999px; background:var(--blue); color:#fff; font-weight:750; }
  .primary-btn::before { display:none; }
  .primary-btn:hover { background:#167fc1; box-shadow:none; transform:none; }
  .secondary-btn { border-radius:999px; border-color:var(--line); background:var(--surface); color:var(--text); }
  .secondary-btn:hover { border-color:var(--line); background:var(--soft); box-shadow:none; transform:none; }

  .project-grid, .friend-grid { display:grid; grid-template-columns:1fr; gap:0; }
  .project-grid article, .friend-grid > a {
    min-height:0; padding:20px 18px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:var(--surface);
  }
  .project-grid article:hover, .friend-grid > a:hover { background:var(--soft); border-color:var(--line); }
  .project-grid h2 { margin:12px 0 6px; font-size:17px; }
  .project-grid p { min-height:0; margin:0 0 12px; }
  .project-grid a { margin-top:14px; }
  .about-box { display:grid; grid-template-columns:68px minmax(0,1fr); gap:18px; padding:22px 18px; border:0; border-radius:0; background:var(--surface); }
  .big-avatar { width:62px; height:62px; font-size:15px; }
  .about-box h2 { margin:0 0 8px; font-size:20px; }
  .about-box h3 { margin-top:22px; }
  .friend-grid > a { align-items:center; }
  .apply-card { margin:0; padding:24px 18px; border:0; border-bottom:1px solid var(--line); border-radius:0; text-align:left; }
  .apply-card p { margin:9px 0 15px; }

  .admin-page { width:min(940px, calc(100vw - var(--x-main-left) - 34px)); }
  body[data-desktop-page="admin"] .admin-page { margin-left:var(--x-main-left); }
  .admin-header, .moderation-header { border-bottom:1px solid var(--line); border-radius:0; background:var(--surface); box-shadow:none; }
  .admin-layout { border:0; border-radius:0; box-shadow:none; }

  footer {
    width:min(var(--x-feed), calc(100vw - var(--x-main-left) - 24px)); max-width:none; margin:0 0 28px var(--x-main-left);
    padding:22px 18px; border:1px solid var(--line); border-radius:0 0 18px 18px; background:var(--surface); box-shadow:none;
  }
  #toTop { right:28px; bottom:28px; border-radius:50%; }
  dialog { border-color:var(--line); border-radius:18px; box-shadow:0 18px 52px #0f141930; }
  dialog::backdrop { background:#0f14195e; }
}

@media (min-width:1280px) {
  .desktop-context {
    position:fixed; z-index:30; top:16px; left:calc(var(--x-main-left) + var(--x-feed) + 28px);
    width:min(var(--x-right), calc(100vw - var(--x-main-left) - var(--x-feed) - 52px)); max-height:calc(100dvh - 32px);
    overflow:auto; padding:0 2px 22px; scrollbar-width:none;
  }
  .desktop-context::-webkit-scrollbar { display:none; }
  .desktop-context-search {
    display:flex; align-items:center; width:100%; height:45px; gap:10px; padding:0 15px; border:0; border-radius:999px;
    background:var(--soft); color:var(--muted); font-size:14px; text-align:left; cursor:pointer;
  }
  .desktop-context-search:hover { background:color-mix(in srgb,var(--soft) 78%,var(--line)); }
  .desktop-context-search > span:first-child { color:var(--muted); font-size:18px; }
  .desktop-context-card { overflow:hidden; margin-top:16px; border:0; border-radius:16px; background:var(--soft); }
  .desktop-context-card h2 { margin:0; padding:13px 15px 9px; color:var(--text); font-size:18px; letter-spacing:-.02em; }
  .desktop-context-trends > button {
    display:grid; grid-template-columns:minmax(0,1fr) auto; width:100%; gap:2px; padding:12px 15px; border:0; border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);
    background:transparent; color:var(--text); text-align:left; cursor:pointer;
  }
  .desktop-context-trends > button:hover { background:color-mix(in srgb,var(--surface) 44%,transparent); }
  .desktop-context-trends small { color:var(--muted); font-size:11px; }
  .desktop-context-trends strong { grid-column:1; overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
  .desktop-context-trends span { grid-column:2; grid-row:1 / span 2; align-self:center; color:var(--muted); font-size:20px; }
  .desktop-context-tips { padding-bottom:10px; }
  .desktop-context-tips p { margin:0; padding:7px 15px; color:var(--muted); font-size:11px; line-height:1.6; }
  .desktop-context-tips kbd { padding:2px 5px; border:1px solid var(--line); border-radius:5px; background:var(--surface); color:var(--text); font:10px/1.2 Inter,sans-serif; }
  .desktop-context-profile { background:var(--surface); border:1px solid var(--line); }
  .desktop-context-card-head { display:flex; align-items:center; justify-content:space-between; padding:10px 13px; border-bottom:1px solid var(--line); color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.08em; }
  .desktop-context-card-head button { display:grid; width:26px; height:26px; place-items:center; border:0; border-radius:50%; background:transparent; color:var(--muted); font-size:18px; cursor:pointer; }
  .desktop-context-card-head button:hover { background:var(--soft); color:var(--text); }
  .desktop-context-profile .profile-cover { height:74px; }
  .desktop-context-profile .profile-cover span { display:none; }
  .desktop-context-profile .profile-identity { display:block; padding:0 14px; }
  .desktop-context-profile .profile-avatar-large { width:58px; height:58px; flex-basis:58px; margin-top:-29px; border-radius:50%; font-size:17px; }
  .desktop-context-profile .profile-name-row { display:block; padding:9px 0 0; }
  .desktop-context-profile .profile-name-row > div { display:flex; flex-wrap:wrap; gap:5px; }
  .desktop-context-profile .profile-name-row h2 { max-width:190px; margin:0; font-size:17px; }
  .desktop-context-profile .profile-uid { display:inline-block; margin-top:6px; }
  .desktop-context-profile .profile-facts { grid-template-columns:1fr; margin:13px 14px 0; }
  .desktop-context-profile .profile-facts > div { display:grid; grid-template-columns:74px 1fr; align-items:center; padding:8px; }
  .desktop-context-profile .profile-privacy-note { margin:10px 14px; font-size:8px; }
  .desktop-context-profile .profile-actions { padding:0 14px 15px; gap:7px; }
  .desktop-context-profile .profile-actions button { height:35px; font-size:10px; }
  body[data-desktop-page="admin"] .desktop-context { display:none; }
}

@media (min-width:1024px) and (max-width:1279px) {
  .desktop-context { display:none!important; }
}

/* Mobile reset: compact X-style header, edge-to-edge feed and tab bar. */
#mobileComposeFab { display:none; }
@media (max-width:1023px) {
  :root { --mobile-bar:58px; --mobile-dock:70px; --blue:#1d9bf0; --soft:#eff3f4; }
  body { min-width:0; padding-bottom:0; background:var(--surface); }
  body.dark { --soft:#202a30; }
  .topbar {
    position:sticky; top:0; z-index:60; width:100%; height:var(--mobile-bar); border:0; border-bottom:1px solid var(--line);
    background:color-mix(in srgb,var(--surface) 93%,transparent); backdrop-filter:blur(15px);
  }
  .nav-wrap { height:var(--mobile-bar); padding:0 10px; }
  .logo { margin:0; padding:0 5px; gap:0; }
  .logo strong { display:none; }
  .logo-mark { width:32px; height:32px; border-radius:50%; background:var(--text); box-shadow:none; font-size:14px; }
  .actions { display:flex; margin-left:auto; gap:1px; }
  .actions button { display:none; width:38px; height:42px; padding:0; border-radius:50%; color:var(--text); }
  .actions button span { font-size:18px; }
  .actions button em { display:none; }
  .actions #notificationBtn, .actions #authBtn, .actions #menuBtn { display:grid; place-items:center; }
  .actions #authBtn { background:transparent; color:var(--text); font-weight:400; }
  .actions #authBtn.logged-in { color:var(--blue); }
  .actions #menuBtn { font-size:19px; }
  .actions #notificationBtn:hover, .actions #authBtn:hover, .actions #menuBtn:hover { background:var(--soft); }

  .topbar nav {
    display:flex; position:fixed; z-index:80; top:0; bottom:0; left:0; width:min(82vw,326px); height:100dvh;
    padding:76px 15px max(24px,env(safe-area-inset-bottom)); gap:3px; border:0; border-right:1px solid var(--line);
    background:var(--surface); box-shadow:16px 0 38px #0f141928; transform:translateX(-105%);
    transition:transform .25s cubic-bezier(.2,.8,.2,1);
  }
  .topbar nav.open { display:flex; transform:translateX(0); }
  .topbar nav a { display:flex; align-items:center; gap:13px; height:49px; min-height:49px; padding:0 14px; border-radius:999px; color:var(--text); font-size:16px; }
  .topbar nav a::before { display:grid; width:22px; place-items:center; color:currentColor; font-size:19px; }
  .topbar nav a[data-page="home"]::before { content:"⌂"; }
  .topbar nav a[data-page="forum"]::before { content:"◌"; }
  .topbar nav a[data-page="projects"]::before { content:"▧"; }
  .topbar nav a[data-page="about"]::before { content:"◎"; }
  .topbar nav a[data-page="friends"]::before { content:"↗"; }
  .topbar nav a[data-open-wallpaper]::before { content:"◐"; }
  .topbar nav a.active { background:var(--soft); color:var(--blue); font-weight:750; }
  .topbar nav a.active::after { display:none; }
  #navBackdrop { z-index:70; background:#0f141950; }

  .page, .forum-page {
    width:100%; min-height:calc(100dvh - var(--mobile-bar)); margin:0; padding:0 0 calc(var(--mobile-dock) + 18px);
    border:0; background:var(--surface);
  }
  .layout, .forum-layout { display:block; }
  .page-title, .forum-hero, .inner-title {
    margin:0; padding:17px 16px; border:0; border-bottom:1px solid var(--line); border-radius:0;
    background:var(--surface)!important; box-shadow:none; text-align:left;
  }
  .page-title::before, .page-title::after, .forum-hero::before, .forum-hero::after { display:none; }
  .page-title .planet { display:none; }
  .page-title .hello, .forum-hero-copy small, .inner-title small { color:var(--muted); font-size:9px; letter-spacing:.09em; }
  .page-title h1, .forum-hero h1, .inner-title h1 { margin:4px 0 5px; font-size:21px; line-height:1.25; letter-spacing:-.025em; }
  .page-title p, .forum-hero p, .inner-title p { margin:0; font-size:12px; line-height:1.58; }
  .social-hero-actions { display:flex; margin-top:14px; gap:8px; }
  .social-hero-actions button { min-height:38px; padding-inline:14px; font-size:12px; }
  .forum-hero { display:block; padding-bottom:15px; }
  .forum-hero-copy { gap:10px; }
  .forum-hero-icon { width:39px; height:39px; border-radius:50%; background:var(--soft); color:var(--blue); }
  .forum-hero .primary-btn { width:100%; height:42px; margin-top:14px; }
  .inner-title { padding-block:20px 16px; }

  .friendship-card { margin:0; padding:17px 16px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:var(--surface); box-shadow:none; }
  .friendship-card h2 { margin:4px 0 6px; font-size:17px; line-height:1.35; }
  .friendship-card p { margin:0; font-size:12px; line-height:1.62; }
  .friendship-points { display:flex; width:auto; margin-top:13px; gap:6px; }
  .friendship-points span { flex:1; padding:7px 3px; border-radius:999px; background:var(--soft); font-size:9px; }

  .feed-head, .forum-toolbar { min-height:51px; margin:0; padding:0 16px; border-bottom:1px solid var(--line); background:var(--surface); }
  .feed-head > span, .forum-toolbar strong { font-size:15px; font-weight:760; }
  .feed-head button, .forum-toolbar button { color:var(--blue); font-size:11px; }
  .post-list, .thread-list { overflow:visible; border:0!important; border-radius:0!important; background:var(--surface); box-shadow:none; }
  .post-item, .thread-card { padding:16px; border:0; border-bottom:1px solid var(--line); border-radius:0!important; background:var(--surface); box-shadow:none!important; }
  .post-item::before, .thread-card::before { display:none; }
  .post-item:hover, .thread-card:hover, .post-item:active, .thread-card:active { background:color-mix(in srgb,var(--soft) 58%,var(--surface)); transform:none!important; }
  .post-item h2, .thread-card h2 { margin:6px 0 7px; font-size:16px; line-height:1.42; }
  .post-item > p, .thread-card p { margin-bottom:12px; font-size:12px; line-height:1.65; }
  .post-bottom .tags span, .thread-meta span { padding:0; background:transparent; }
  .thread-card { grid-template-columns:38px minmax(0,1fr); gap:10px; }
  .forum-avatar { width:37px; height:37px; border-radius:50%; }
  .pagination { margin:0; padding:17px; border-bottom:1px solid var(--line); }
  .pagination button { width:33px; height:33px; border-radius:50%; }
  .pagination button.active { background:var(--text); border-color:var(--text); }

  .layout aside, .forum-aside { display:block; margin:0; }
  .side-card { margin:0; padding:16px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:var(--surface); box-shadow:none; }
  .side-card.author-card { padding:20px 16px; text-align:left; }
  .author-card .avatar { margin:0; }
  .side-card:hover { box-shadow:none; }
  .status { border-radius:0; }

  .primary-btn, .form-foot button { border-radius:999px; background:var(--blue); font-weight:750; }
  .primary-btn::before { display:none; }
  .primary-btn:hover, .primary-btn:active { background:#167fc1; box-shadow:none; transform:none; }
  .secondary-btn { border-radius:999px; background:var(--surface); }
  .secondary-btn:hover, .secondary-btn:active { background:var(--soft); transform:none; }

  .project-grid, .friend-grid { display:grid; grid-template-columns:1fr; gap:0; }
  .project-grid article, .friend-grid > a { min-height:0; padding:18px 16px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:var(--surface); }
  .project-grid h2 { margin:11px 0 6px; font-size:16px; }
  .project-grid p { min-height:0; margin:0 0 11px; font-size:12px; }
  .project-grid a { margin-top:12px; }
  .about-box { display:grid; grid-template-columns:56px minmax(0,1fr); gap:15px; padding:19px 16px; border:0; border-radius:0; background:var(--surface); }
  .big-avatar { width:56px; height:56px; font-size:14px; }
  .about-box h2 { margin:0 0 7px; font-size:19px; }
  .about-box h3 { margin-top:20px; }
  .about-box p, .about-box li { font-size:12px; }
  .apply-card { margin:0; padding:22px 16px; border:0; border-bottom:1px solid var(--line); border-radius:0; text-align:left; }
  .apply-card p { margin:9px 0 14px; }

  .admin-page { padding-bottom:calc(var(--mobile-dock) + 18px); }
  .admin-header, .moderation-header { border:0; border-bottom:1px solid var(--line); border-radius:0; background:var(--surface); box-shadow:none; }
  .admin-layout { border:0; border-radius:0; box-shadow:none; }

  #mobileDock {
    position:fixed; z-index:65; right:0; bottom:0; left:0; display:grid; grid-template-columns:repeat(5,1fr);
    height:calc(var(--mobile-dock) + env(safe-area-inset-bottom)); padding:4px 3px env(safe-area-inset-bottom); border:0; border-top:1px solid var(--line);
    border-radius:0; background:color-mix(in srgb,var(--surface) 95%,transparent); box-shadow:0 -7px 20px #0f14190a; backdrop-filter:blur(16px);
  }
  #mobileDock button { height:calc(var(--mobile-dock) - 8px); border-radius:12px; color:var(--muted); }
  #mobileDock button span { font-size:20px; }
  #mobileDock button small { font-size:9px; }
  #mobileDock button.active { background:transparent; color:var(--text); }
  #mobileDock button.active span { font-weight:800; transform:translateY(-1px); }
  #mobileDock button:active { background:var(--soft); transform:none; }
  #mobileComposeFab {
    position:fixed; z-index:66; right:18px; bottom:calc(var(--mobile-dock) + 13px + env(safe-area-inset-bottom)); display:grid; width:49px; height:49px; place-items:center;
    border:0; border-radius:50%; background:var(--blue); color:#fff; box-shadow:0 7px 20px #1d9bf050; font-size:30px; font-weight:300; line-height:1; cursor:pointer;
  }
  #mobileComposeFab:active { transform:scale(.92); background:#167fc1; }
  #toTop { right:auto; bottom:calc(var(--mobile-dock) + 16px + env(safe-area-inset-bottom)); left:17px; border-radius:50%; }
  .incoming-message-bubble { bottom:calc(var(--mobile-dock) + 78px + env(safe-area-inset-bottom)); }

  dialog { max-width:100vw; max-height:94dvh; margin:auto 0 0; border-right:0; border-bottom:0; border-left:0; border-radius:20px 20px 0 0; }
  .article-dialog, .thread-dialog { height:calc(100dvh - 9px); max-height:calc(100dvh - 9px); }
  .social-dialog, .dm-dialog, .public-profile-dialog, .wallpaper-dialog, .auth-dialog, .thread-editor-dialog { border-radius:20px 20px 0 0; }
  footer { display:block; margin:0; padding:21px 16px calc(var(--mobile-dock) + 18px); border:0; border-top:1px solid var(--line); border-radius:0; background:var(--surface); box-shadow:none; }
}

/* Desktop full-width repair and wallpaper-aware translucent information stream. */
@media (min-width:1024px) {
  :root { --x-page-pad:clamp(22px,3vw,56px); --x-context-gap:34px; }
  .page, .forum-page {
    width:calc(100% - var(--x-rail)); max-width:none; margin-left:var(--x-rail); padding:0 var(--x-page-pad) 84px;
    border:0; background:transparent;
  }
  .layout, .forum-layout { width:100%; max-width:none; }
  .page-title, .forum-hero, .inner-title, .friendship-card, .feed-head, .forum-toolbar,
  .post-list, .thread-list, .project-grid, .friend-grid, .about-box, .apply-card { max-width:none; }
  .admin-page, body[data-desktop-page="admin"] .admin-page {
    width:calc(100% - var(--x-rail)); max-width:none; margin-left:var(--x-rail); padding-right:var(--x-page-pad);
  }
  footer {
    width:calc(100% - var(--x-rail)); max-width:none; margin:0 0 28px var(--x-rail); padding:22px var(--x-page-pad);
    border-right:0; border-left:0; border-radius:0; background:transparent;
  }
}

@media (min-width:1280px) {
  .page, .forum-page { padding-right:calc(var(--x-right) + var(--x-page-pad) + var(--x-context-gap)); }
  .admin-page, body[data-desktop-page="admin"] .admin-page { padding-right:var(--x-page-pad); }
  footer { padding-right:calc(var(--x-right) + var(--x-page-pad) + var(--x-context-gap)); }
  .desktop-context {
    left:auto; right:clamp(22px,2.5vw,48px); width:var(--x-right); max-width:calc(100vw - var(--x-rail) - 42px);
  }
}

@media (min-width:1024px) {
  body.has-wallpaper:after { background:color-mix(in srgb,var(--bg) 28%,transparent); }
  body.has-wallpaper .topbar { background:color-mix(in srgb,var(--surface) 72%,transparent); backdrop-filter:blur(18px); }
  body.has-wallpaper .page, body.has-wallpaper .forum-page { background:transparent; }
  body.has-wallpaper .page-title, body.has-wallpaper .forum-hero, body.has-wallpaper .inner-title,
  body.has-wallpaper .friendship-card, body.has-wallpaper .feed-head, body.has-wallpaper .forum-toolbar,
  body.has-wallpaper .post-item, body.has-wallpaper .thread-card, body.has-wallpaper .project-grid article,
  body.has-wallpaper .friend-grid > a, body.has-wallpaper .about-box, body.has-wallpaper .apply-card,
  body.has-wallpaper .side-card, body.has-wallpaper .admin-header, body.has-wallpaper .moderation-header,
  body.has-wallpaper .admin-layout, body.has-wallpaper footer {
    background:color-mix(in srgb,var(--surface) var(--panel-opacity),transparent)!important;
    backdrop-filter:blur(11px);
  }
  body.has-wallpaper .post-list, body.has-wallpaper .thread-list, body.has-wallpaper .project-grid,
  body.has-wallpaper .friend-grid { background:transparent!important; backdrop-filter:none; }
  body.has-wallpaper .post-item:hover, body.has-wallpaper .thread-card:hover,
  body.has-wallpaper .project-grid article:hover, body.has-wallpaper .friend-grid > a:hover {
    background:color-mix(in srgb,var(--surface) 68%,transparent)!important;
  }
  body.has-wallpaper .desktop-context-search, body.has-wallpaper .desktop-context-card {
    background:color-mix(in srgb,var(--surface) var(--panel-opacity),transparent); backdrop-filter:blur(14px);
  }
  body.has-wallpaper .desktop-context-profile { background:color-mix(in srgb,var(--surface) var(--panel-opacity),transparent); }
}

/* Dedicated activity and private-message pages. */
.standalone-page{isolation:isolate}.standalone-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0;padding:30px 0 22px;border-bottom:1px solid var(--line)}.standalone-page-header>div{min-width:0}.standalone-eyebrow{display:block;margin-bottom:5px;color:var(--blue);font-size:10px;font-weight:750;letter-spacing:.12em}.standalone-page-header h1{margin:0;font-size:30px;letter-spacing:-.035em}.standalone-page-header p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.standalone-page-header .secondary-btn{flex:none;min-height:38px}.standalone-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:0 2px}.standalone-section-head strong{font-size:14px}.standalone-section-head span{color:var(--muted);font-size:11px;text-align:right}.standalone-list{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 12px 32px #0f141908}.standalone-list .notification-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:78px;margin:0;padding:14px 17px;border:0;border-bottom:1px solid var(--line);background:transparent}.standalone-list .notification-item:last-child{border-bottom:0}.standalone-list .notification-item.unread{background:color-mix(in srgb,var(--blue) 5%,var(--surface))}.standalone-list .notification-item.unread:before{content:"";grid-column:1;grid-row:1;justify-self:start;width:5px;height:5px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px #1d9bf016}.standalone-list .social-avatar{position:relative;z-index:1;width:42px;height:42px;margin:0;border:0;border-radius:50%;background:linear-gradient(135deg,#7285ff,#b56fdd);background-size:cover;background-position:center;color:#fff;font-size:13px;font-weight:750;cursor:pointer}.notification-copy{min-width:0}.notification-copy p{margin:0;color:var(--text);font-size:13px;line-height:1.55}.notification-copy p strong{font-weight:750}.notification-copy time{display:block;margin-top:4px;color:var(--muted);font-size:10px}.notification-open{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:0 9px;border:0;border-radius:999px;background:var(--soft);color:var(--blue);font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer}.notification-open:hover{background:color-mix(in srgb,var(--blue) 14%,var(--soft))}.notification-open span{font-size:18px;line-height:1}.social-empty{margin:0;padding:38px 18px;color:var(--muted);font-size:12px;line-height:1.7;text-align:center}

.messages-shell{display:grid;grid-template-columns:minmax(250px,310px) minmax(0,1fr);min-height:min(690px,calc(100dvh - 210px));overflow:hidden;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--surface) 97%,transparent);box-shadow:0 14px 36px #0f14190a}.messages-inbox{min-width:0;border-right:1px solid var(--line);background:color-mix(in srgb,var(--surface) 88%,var(--soft))}.messages-inbox-head{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:14px 16px;border-bottom:1px solid var(--line)}.messages-inbox-head>div{display:grid;gap:3px}.messages-inbox-head strong{font-size:15px}.messages-inbox-head small{color:var(--muted);font-size:10px}.messages-inbox-head button{display:grid;place-items:center;width:31px;height:31px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:18px;cursor:pointer}.messages-inbox-head button:hover{background:var(--soft);color:var(--text)}.message-friend-list{display:grid;align-content:start}.message-friend-item{display:grid;grid-template-columns:42px minmax(0,1fr) 30px;gap:10px;align-items:center;min-height:67px;padding:11px 13px;border-bottom:1px solid var(--line);background:transparent}.message-friend-item:hover{background:color-mix(in srgb,var(--soft) 62%,var(--surface))}.message-friend-item .social-avatar{width:40px;height:40px;margin:0;border:0;border-radius:50%;background:linear-gradient(135deg,#7285ff,#b56fdd);background-size:cover;background-position:center;color:#fff;font-size:12px;font-weight:750;cursor:pointer}.message-friend-main{display:grid;min-width:0;gap:4px;padding:0;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.message-friend-main strong,.message-friend-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-friend-main strong{font-size:12px}.message-friend-main small{color:var(--muted);font-size:10px}.message-friend-profile{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:17px;cursor:pointer}.message-friend-profile:hover{background:var(--soft);color:var(--text)}.message-conversation{display:flex;min-width:0;min-height:0;background:color-mix(in srgb,var(--surface) 98%,transparent)}.message-empty{display:grid;place-content:center;justify-items:center;min-height:100%;width:100%;padding:34px;text-align:center}.message-empty>span{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,#e8f4ff,#f5edff);color:var(--blue);font-size:24px}.dark .message-empty>span{background:linear-gradient(135deg,#172c3e,#2a1b3a)}.message-empty h2{margin:18px 0 8px;font-size:17px}.message-empty p{max-width:290px;margin:0;color:var(--muted);font-size:12px;line-height:1.7}.message-thread{display:flex;flex:1;min-width:0;min-height:0;flex-direction:column}.message-thread-header{display:grid;grid-template-columns:34px 42px minmax(0,1fr);gap:10px;align-items:center;min-height:72px;padding:12px 16px;border-bottom:1px solid var(--line)}.message-back{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text);font-size:21px;cursor:pointer}.message-back:hover{background:var(--soft)}.message-thread-header .dm-peer-avatar{width:40px;height:40px;margin:0;border-radius:50%;background:linear-gradient(135deg,#7285ff,#b56fdd);color:#fff}.message-thread-header .dm-peer-info{min-width:0}.message-thread-header .dm-peer-info strong{display:block;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.message-thread-header .dm-peer-info span{display:flex;align-items:center;gap:5px;overflow:hidden;margin-top:3px;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.message-thread-header .dm-peer-info i{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:#31c777;box-shadow:0 0 0 3px #31c77718}.message-privacy-label{padding:10px 16px;border-bottom:1px solid var(--line);color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.message-privacy-label span{margin-left:7px;font-weight:400;letter-spacing:0;text-transform:none}.message-list{display:flex;flex:1;flex-direction:column;min-height:0;padding:18px;overflow:auto;background:linear-gradient(180deg,color-mix(in srgb,var(--soft) 30%,transparent),transparent 32%)}.message-list .forum-empty{margin:auto;text-align:center}.message-composer{flex:none;margin:0;padding:11px 14px 14px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 96%,transparent)}.message-composer textarea{min-height:48px;height:48px;max-height:120px;margin:0;padding:12px 14px;border-radius:16px;background:var(--bg);font-size:13px;line-height:1.45;resize:none}.message-composer:focus-within{box-shadow:0 -8px 22px #1d9bf00c}.message-composer .dm-composer-foot{margin-top:7px}.message-composer .dm-composer-foot button{width:34px;height:34px;border-radius:50%}.dm-peer-info #messageStatus[data-state="fallback"] i{background:#e6a23c;box-shadow:0 0 0 3px #e6a23c22}.dm-peer-info #messageStatus[data-state="connecting"] i{background:var(--blue);box-shadow:0 0 0 3px #1d9bf022;animation:softPulse 1.3s ease-in-out infinite}

@media(max-width:1023px){.standalone-page{padding:0 0 calc(var(--mobile-dock) + 18px);background:var(--surface)}.standalone-page-header{align-items:flex-start;margin:0;padding:18px 16px;border:0;border-bottom:1px solid var(--line)}.standalone-page-header h1{font-size:22px}.standalone-page-header p{margin-top:5px;font-size:11px}.standalone-page-header .secondary-btn{min-height:36px;padding:0 12px;font-size:11px}.standalone-section-head{min-height:50px;padding:0 16px;border-bottom:1px solid var(--line)}.standalone-section-head strong{font-size:13px}.standalone-section-head span{display:none}.standalone-list{border:0;border-radius:0;box-shadow:none}.standalone-list .notification-item{grid-template-columns:42px minmax(0,1fr);min-height:72px;padding:13px 16px}.standalone-list .notification-item.unread:before{left:10px;position:absolute}.standalone-list .notification-item{position:relative}.notification-open{grid-column:2;justify-self:start;min-height:28px;margin-top:-4px;padding:0 8px;font-size:10px}.messages-page-header{padding-bottom:17px}.messages-shell{display:block;min-height:0;border:0;border-radius:0;box-shadow:none}.messages-inbox{border:0;background:var(--surface)}.messages-inbox-head{min-height:57px;padding:10px 16px}.message-friend-item{min-height:68px;padding:12px 16px}.message-conversation{display:none}.messages-page.chat-open{padding:0;background:var(--surface)}.messages-page.chat-open .messages-page-header,.messages-page.chat-open .messages-inbox{display:none}.messages-page.chat-open .message-conversation{display:flex;height:calc(100dvh - var(--mobile-bar) - var(--mobile-dock) - env(safe-area-inset-bottom));min-height:0}.messages-page.chat-open .messages-shell{height:calc(100dvh - var(--mobile-bar) - var(--mobile-dock) - env(safe-area-inset-bottom))}.messages-page.chat-open .message-thread{height:100%;min-height:0}.message-thread-header{min-height:61px;padding:9px 13px;grid-template-columns:32px 38px minmax(0,1fr)}.message-thread-header .dm-peer-avatar{width:37px;height:37px}.message-privacy-label{padding:8px 13px}.message-list{padding:14px 12px}.message-composer{padding:9px 12px calc(10px + env(safe-area-inset-bottom))}.message-composer textarea{height:45px;min-height:45px;font-size:16px}.message-thread-header .dm-peer-info strong{font-size:13px}.message-thread-header .dm-peer-info span{font-size:9px}.message-thread-open #mobileComposeFab{display:none}.message-thread-open .incoming-message-bubble{bottom:calc(var(--mobile-dock) + 14px + env(safe-area-inset-bottom))}.message-empty{min-height:260px}.message-empty h2{font-size:16px}}
@media(max-width:380px){.standalone-page-header{padding-inline:13px}.standalone-list .notification-item{padding-inline:13px}.message-friend-item{padding-inline:13px}.message-thread-header{padding-inline:10px}.message-list{padding-inline:10px}}
@media(max-width:1023px){.actions #searchBtn,.actions #notificationBtn,.actions #authBtn,.actions #menuBtn{display:grid;place-items:center}}

/* Desktop workspace: activity, DMs and account settings use their own X-like streams. */
@media (min-width:1024px) {
  .topbar nav a[data-page="notifications"]::before { content:"♢"; }
  .topbar nav a[data-page="messages"]::before { content:"✉"; }
  .topbar nav a[data-page="profile"]::before { content:"◉"; }
  .nav-wrap { overflow-y:auto; scrollbar-width:none; }
  .nav-wrap::-webkit-scrollbar { display:none; }
  .topbar .actions #notificationBtn,
  .topbar .actions #friendsBtn,
  .topbar .actions #authBtn { display:none; }

  .standalone-page { padding-top:0; }
  .notifications-page .standalone-page-header,
  .notifications-page .standalone-section-head,
  .notifications-page .standalone-list,
  .messages-page .messages-page-header,
  .messages-page .messages-shell,
  .profile-page-guest,
  .profile-page-user { width:min(100%,720px); max-width:720px; border-right:1px solid var(--line); border-left:1px solid var(--line); }

  .notifications-page .standalone-page-header,
  .messages-page .messages-page-header {
    position:sticky; z-index:8; top:0; min-height:64px; padding:0 16px;
    border-top:0; background:color-mix(in srgb,var(--surface) 92%,transparent); backdrop-filter:blur(14px);
  }
  .notifications-page .standalone-page-header .standalone-eyebrow,
  .notifications-page .standalone-page-header p,
  .messages-page .messages-page-header .standalone-eyebrow,
  .messages-page .messages-page-header p { display:none; }
  .notifications-page .standalone-page-header h1,
  .messages-page .messages-page-header h1 { font-size:20px; letter-spacing:-.02em; }
  .notifications-page .standalone-page-header .secondary-btn { min-height:34px; padding-inline:12px; font-size:11px; }
  .notifications-page .standalone-section-head { min-height:48px; padding:0 16px; border-bottom:1px solid var(--line); }
  .notifications-page .standalone-section-head span { display:none; }
  .notifications-page .standalone-list { border-top:0; border-radius:0; box-shadow:none; }
  .notifications-page .standalone-list .notification-item { min-height:82px; padding:15px 16px; }
  .notifications-page .standalone-list .notification-item:hover { background:color-mix(in srgb,var(--soft) 72%,var(--surface)); }
  .notifications-page .notification-open { background:transparent; }

  .messages-page .messages-shell { min-height:calc(100dvh - 64px); border-top:0; border-radius:0; box-shadow:none; }
  .messages-page .messages-inbox { background:var(--surface); }
  .messages-page .messages-inbox-head { min-height:64px; padding-inline:16px; }
  .messages-page .message-friend-item { min-height:72px; padding-inline:15px; }
  .messages-page .message-friend-item:hover { background:color-mix(in srgb,var(--soft) 72%,var(--surface)); }
  .messages-page .message-conversation { background:var(--surface); }
  .messages-page .message-empty>span { border-radius:50%; background:var(--blue); color:#fff; }
  .messages-page .message-thread-header { min-height:64px; padding-inline:14px; background:color-mix(in srgb,var(--surface) 95%,transparent); }
  .messages-page .message-list { background:linear-gradient(180deg,color-mix(in srgb,var(--soft) 42%,transparent),transparent 26%); }
  .messages-page .message-composer { background:var(--surface); }
}

.profile-page-guest,
.profile-page-user { background:var(--surface); }
.profile-page-guest-head { padding:33px 26px 24px; border-bottom:1px solid var(--line); }
.profile-page-guest-head h1 { margin:0; font-size:30px; letter-spacing:-.04em; }
.profile-page-guest-head p { max-width:460px; margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.65; }
.profile-page-guest-card { display:grid; grid-template-columns:60px minmax(0,1fr); gap:17px; padding:27px 26px 31px; }
.profile-page-guest-avatar { display:grid; width:56px; height:56px; place-items:center; border-radius:50%; background:var(--text); color:var(--surface); font-size:21px; font-weight:800; }
.profile-page-guest-card h2 { margin:1px 0 6px; font-size:19px; letter-spacing:-.025em; }
.profile-page-guest-card p { max-width:430px; margin:0; color:var(--muted); font-size:12px; line-height:1.7; }
.profile-page-guest-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.profile-page-guest-actions button { min-height:36px; padding-inline:17px; font-size:12px; }

.profile-page-hero { overflow:hidden; border-bottom:1px solid var(--line); }
.profile-page-cover { height:172px; background:radial-gradient(circle at 17% 20%,#8bc9ff 0 3%,transparent 3.4%),radial-gradient(circle at 78% 22%,#b196ff 0 4%,transparent 4.4%),linear-gradient(120deg,#1d9bf0,#5567df 48%,#a06de2); }
.profile-page-identity { display:flex; align-items:flex-end; gap:14px; padding:0 25px; transform:translateY(-31px); margin-bottom:-21px; }
.profile-page-avatar { display:grid; flex:none; width:94px; height:94px; place-items:center; border:4px solid var(--surface); border-radius:50%; background:linear-gradient(135deg,#7285ff,#b56fdd); background-size:cover; background-position:center; color:#fff; font-size:30px; font-weight:800; }
.profile-page-avatar.has-image { color:transparent; }
.profile-page-identity-copy { min-width:0; padding-bottom:4px; }
.profile-page-name-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.profile-page-name-row h1 { overflow:hidden; margin:0; font-size:24px; letter-spacing:-.04em; text-overflow:ellipsis; white-space:nowrap; }
.profile-page-admin { padding:3px 7px; border-radius:999px; background:var(--blue); color:#fff; font-size:9px; font-weight:750; }
.profile-page-admin.is-owner{background:linear-gradient(135deg,#9a6500,#e6ad2d);box-shadow:0 5px 16px #bd861f33}
.profile-page-handle { margin:3px 0 0; color:var(--muted); font-size:12px; }
.profile-page-title { margin:8px 0 0; color:var(--text); font-size:12px; font-weight:650; }
.profile-page-meta { display:flex; flex-wrap:wrap; gap:10px 18px; padding:0 26px 20px; color:var(--muted); font-size:11px; }
.profile-page-meta strong { color:var(--text); font-weight:700; }
.profile-page-grid { display:grid; grid-template-columns:minmax(0,1fr) 205px; gap:0; border-bottom:1px solid var(--line); }
.profile-page-panel { padding:25px; }
.profile-page-grid > .profile-page-panel { border-right:1px solid var(--line); }
.profile-page-panel header small,
.profile-page-side-card small { display:block; color:var(--blue); font-size:9px; font-weight:800; letter-spacing:.13em; }
.profile-page-panel h2 { margin:6px 0 5px; font-size:18px; letter-spacing:-.025em; }
.profile-page-panel header p { margin:0 0 18px; color:var(--muted); font-size:11px; line-height:1.65; }
.profile-page-panel form { display:grid; gap:12px; }
.profile-page-panel label { display:grid; gap:6px; color:var(--text); font-size:11px; font-weight:650; }
.profile-page-panel input { min-height:39px; border-radius:9px; font-size:12px; }
.profile-page-panel .primary-btn { justify-self:start; min-height:38px; padding-inline:17px; font-size:12px; }
.profile-page-side { display:grid; align-content:start; }
.profile-page-side-card { padding:22px 18px; border-bottom:1px solid var(--line); }
.profile-page-side-card:last-child { border-bottom:0; }
.profile-page-side-card strong { display:block; margin-top:6px; font-size:13px; }
.profile-page-side-card p { margin:8px 0 12px; color:var(--muted); font-size:10px; line-height:1.65; }
.profile-page-side-card .text-button { padding:0; color:var(--blue); font-size:10px; font-weight:700; }
.profile-page-status { display:inline-flex; align-items:center; gap:5px; color:var(--muted); font-size:10px; }
.profile-page-status i { width:7px; height:7px; border-radius:50%; background:#31c777; box-shadow:0 0 0 3px #31c7771a; }
.profile-page-security { border-bottom:1px solid var(--line); }
.profile-page-security form { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:500px; }
.profile-page-security form .form-message,
.profile-page-security form .primary-btn { grid-column:1 / -1; }
.profile-page-security .password-input input { min-width:0; }
.profile-page-signout { display:flex; align-items:center; justify-content:space-between; gap:18px; max-width:620px; margin-top:27px; padding-top:21px; border-top:1px solid var(--line); }
.profile-page-signout strong { display:block; font-size:13px; }
.profile-page-signout p { margin:4px 0 0; color:var(--muted); font-size:10px; line-height:1.55; }
.profile-page-signout > div:last-child { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.profile-page-signout button { min-height:34px; padding-inline:10px; font-size:10px; }

@media (min-width:1024px) {
  body.has-wallpaper .profile-page-guest,
  body.has-wallpaper .profile-page-user,
  body.has-wallpaper .notifications-page .standalone-page-header,
  body.has-wallpaper .messages-page .messages-page-header,
  body.has-wallpaper .messages-page .messages-shell { background:color-mix(in srgb,var(--surface) var(--panel-opacity),transparent); backdrop-filter:blur(14px); }
}

@media (max-width:1023px) {
  .topbar nav a[data-page="notifications"]::before { content:"♢"; }
  .topbar nav a[data-page="messages"]::before { content:"✉"; }
  .topbar nav a[data-page="profile"]::before { content:"◉"; }
  .profile-page-guest-head { padding:21px 16px 17px; border-bottom:1px solid var(--line); }
  .profile-page-guest-head h1 { font-size:22px; }
  .profile-page-guest-head p { font-size:11px; }
  .profile-page-guest-card { grid-template-columns:48px minmax(0,1fr); gap:13px; padding:21px 16px 25px; }
  .profile-page-guest-avatar { width:46px; height:46px; font-size:17px; }
  .profile-page-guest-card h2 { font-size:16px; }
  .profile-page-guest-card p { font-size:11px; }
  .profile-page-hero { border-bottom:1px solid var(--line); }
  .profile-page-cover { height:116px; }
  .profile-page-identity { gap:11px; padding:0 16px; transform:translateY(-25px); margin-bottom:-16px; }
  .profile-page-avatar { width:74px; height:74px; border-width:3px; font-size:23px; }
  .profile-page-name-row h1 { font-size:20px; }
  .profile-page-meta { gap:8px 14px; padding:0 16px 16px; font-size:10px; }
  .profile-page-grid { display:block; }
  .profile-page-grid > .profile-page-panel { border-right:0; }
  .profile-page-panel { padding:20px 16px; border-bottom:1px solid var(--line); }
  .profile-page-side { grid-template-columns:1fr 1fr; border-bottom:1px solid var(--line); }
  .profile-page-side-card { padding:16px; border-bottom:0; }
  .profile-page-side-card + .profile-page-side-card { border-left:1px solid var(--line); }
  .profile-page-security { border-bottom:0; }
  .profile-page-security form { grid-template-columns:1fr; max-width:none; }
  .profile-page-signout { display:block; margin-top:22px; padding-top:18px; }
  .profile-page-signout > div:last-child { justify-content:flex-start; margin-top:12px; }
}

@media (max-width:430px) {
  .profile-page-side { grid-template-columns:1fr; }
  .profile-page-side-card + .profile-page-side-card { border-top:1px solid var(--line); border-left:0; }
}

/* Private-message image attachment and protected-media preview. */
.message-image-preview { display:grid; grid-template-columns:52px minmax(0,1fr) 28px; gap:9px; align-items:center; margin:0 0 9px; padding:7px; border:1px solid var(--line); border-radius:12px; background:color-mix(in srgb,var(--soft) 62%,var(--surface)); }
.message-image-preview[hidden] { display:none!important; }
.message-image-preview img { display:block; width:52px; height:42px; border-radius:8px; object-fit:cover; }
.message-image-preview span { overflow:hidden; color:var(--muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.message-image-preview button { display:grid; width:28px; height:28px; place-items:center; padding:0; border:0; border-radius:50%; background:transparent; color:var(--muted); font-size:18px; line-height:1; cursor:pointer; }
.message-image-preview button:hover { background:var(--surface); color:var(--text); }
.message-composer .dm-composer-foot { min-width:0; gap:8px; }
.message-composer .dm-composer-foot small { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.message-image-picker { position:relative; display:inline-flex; flex:none; align-items:center; gap:5px; min-height:32px; padding:0 9px; border-radius:999px; color:var(--blue); cursor:pointer; }
.message-image-picker:hover { background:var(--soft); }
.message-image-picker:focus-within { box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 28%,transparent); }
.message-image-picker input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.message-image-picker span { font-size:17px; line-height:1; }
.message-image-picker em { font-size:10px; font-style:normal; font-weight:700; }
.message-composer.is-uploading .message-image-picker { opacity:.48; pointer-events:none; }
.dm-message p { margin:0 0 5px; }
.dm-message time { display:block; }
.dm-message .dm-image-link { display:block; max-width:min(310px,100%); margin:-4px -5px 8px; overflow:hidden; border:1px solid color-mix(in srgb,var(--line) 82%,transparent); border-radius:11px; background:var(--soft); line-height:0; }
.dm-message .dm-image-link img { display:block; width:100%; max-height:360px; object-fit:contain; background:var(--soft); }
.dm-message .dm-image-unavailable { margin:0 0 5px; color:var(--muted); font-size:10px; }
@media (max-width:480px) {
  .message-image-picker { padding-inline:7px; }
  .message-image-picker em { display:none; }
  .message-composer .dm-composer-foot small { font-size:8px; }
  .dm-message .dm-image-link { max-width:min(250px,100%); }
}

/* Message-page state, keyboard focus and screen-reader refinements. */
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.message-friend-item { position:relative; transition:background-color .18s ease,box-shadow .18s ease; }
.message-friend-item.active { background:color-mix(in srgb,var(--blue) 9%,var(--surface)); box-shadow:inset 3px 0 0 var(--blue); }
.message-friend-item.active .message-friend-main strong { color:var(--blue); }
.message-friend-item:focus-within { z-index:1; box-shadow:inset 3px 0 0 color-mix(in srgb,var(--blue) 58%,transparent); }
.message-composer[aria-busy="true"] { cursor:progress; }
.message-composer[aria-busy="true"] textarea { cursor:wait; opacity:.68; }
.message-composer[aria-busy="true"] [data-send-message] { box-shadow:none; }
@media (max-width:1023px) {
  .message-friend-item.active { box-shadow:inset 3px 0 0 var(--blue); }
}

/* Keep mobile social screens focused on the current task instead of helper copy. */
@media (max-width:1023px) {
  #mobileComposeFab { display:none; }
  body[data-mobile-page="forum"] #mobileComposeFab { display:grid; }

  #home .social-hero { padding:16px; }
  #home .social-hero-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  #home .social-hero-actions button { width:100%; min-width:0; padding-inline:10px; }
  #home .friendship-card { display:none; }

  .notifications-page .standalone-page-header,
  .messages-page .messages-page-header { align-items:center; min-height:58px; padding:0 16px; }
  .notifications-page .standalone-page-header .standalone-eyebrow,
  .notifications-page .standalone-page-header p,
  .messages-page .messages-page-header .standalone-eyebrow,
  .messages-page .messages-page-header p,
  .messages-page .messages-inbox-head small,
  .message-empty p,
  .message-privacy-label span { display:none; }
  .messages-page .messages-inbox-head { min-height:52px; }
  .message-empty { min-height:220px; padding:26px 18px; }
  .message-empty h2 { margin-bottom:0; }
}

/* Spacious desktop layouts for notifications, DMs and account settings. */
@media (min-width:1024px) {
  body.desktop-utility-page { overflow-x:clip; }
  body.desktop-utility-page .desktop-context { display:none!important; }
  body.desktop-utility-page .standalone-page {
    --desktop-utility-max:1320px;
    --desktop-utility-surface:var(--surface);
    width:auto;
    max-width:none;
    margin-left:var(--x-rail);
    padding:24px clamp(22px,3vw,58px) 48px;
  }
  body.desktop-utility-page .notifications-page > .standalone-page-header,
  body.desktop-utility-page .notifications-page > .standalone-section-head,
  body.desktop-utility-page .notifications-page > .standalone-list,
  body.desktop-utility-page .messages-page > .messages-page-header,
  body.desktop-utility-page .messages-page > .messages-shell,
  body.desktop-utility-page .profile-page > .profile-page-guest,
  body.desktop-utility-page .profile-page > .profile-page-user {
    width:min(100%,var(--desktop-utility-max));
    max-width:var(--desktop-utility-max);
    margin-inline:auto;
    background:var(--desktop-utility-surface);
  }

  body.desktop-utility-page .notifications-page > .standalone-page-header,
  body.desktop-utility-page .messages-page > .messages-page-header {
    position:relative;
    top:auto;
    min-height:88px;
    padding:16px 26px;
    border:1px solid var(--line);
    border-bottom:0;
    border-radius:22px 22px 0 0;
    box-shadow:0 16px 42px #0f14190a;
  }
  body.desktop-utility-page .notifications-page .standalone-page-header .standalone-eyebrow,
  body.desktop-utility-page .notifications-page .standalone-page-header p,
  body.desktop-utility-page .messages-page .messages-page-header .standalone-eyebrow,
  body.desktop-utility-page .messages-page .messages-page-header p { display:block; }
  body.desktop-utility-page .notifications-page .standalone-page-header h1,
  body.desktop-utility-page .messages-page .messages-page-header h1 {
    font-size:24px;
    letter-spacing:-.035em;
  }
  body.desktop-utility-page .notifications-page .standalone-page-header p,
  body.desktop-utility-page .messages-page .messages-page-header p {
    margin-top:4px;
    font-size:11px;
  }

  body.desktop-utility-page .notifications-page > .standalone-section-head {
    min-height:54px;
    padding-inline:24px;
    border-right:1px solid var(--line);
    border-left:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  body.desktop-utility-page .notifications-page > .standalone-list {
    border:1px solid var(--line);
    border-top:0;
    border-radius:0 0 22px 22px;
    box-shadow:0 18px 44px #0f14190b;
  }
  body.desktop-utility-page .notifications-page .notification-item {
    grid-template-columns:48px minmax(0,1fr) auto;
    min-height:86px;
    padding:16px 22px;
  }

  body.desktop-utility-page .messages-page > .messages-shell {
    grid-template-columns:minmax(280px,340px) minmax(0,1fr);
    height:calc(100dvh - 180px);
    min-height:540px;
    overflow:hidden;
    border:1px solid var(--line);
    border-top:0;
    border-radius:0 0 22px 22px;
    box-shadow:0 18px 44px #0f14190b;
  }
  body.desktop-utility-page .messages-inbox {
    display:flex;
    min-height:0;
    flex-direction:column;
    background:color-mix(in srgb,var(--desktop-utility-surface) 90%,var(--soft));
  }
  body.desktop-utility-page .messages-inbox-head {
    min-height:68px;
    padding-inline:18px;
  }
  body.desktop-utility-page .message-friend-list {
    flex:1;
    min-height:0;
    overflow-y:auto;
    scrollbar-width:thin;
  }
  body.desktop-utility-page .message-friend-item {
    min-height:76px;
    padding-inline:17px;
  }
  body.desktop-utility-page .message-conversation,
  body.desktop-utility-page .message-composer,
  body.desktop-utility-page .message-thread-header { background:var(--desktop-utility-surface); }
  body.desktop-utility-page .message-thread-header { min-height:68px; padding-inline:18px; }
  body.desktop-utility-page .message-list { padding:22px; }
  body.desktop-utility-page .message-composer { padding:14px 18px 17px; }

  body.desktop-utility-page .profile-page > .profile-page-guest,
  body.desktop-utility-page .profile-page > .profile-page-user {
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:22px;
    box-shadow:0 18px 44px #0f14190b;
  }
  body.desktop-utility-page .profile-page-guest {
    display:grid;
    min-height:min(620px,calc(100dvh - 72px));
    grid-template-rows:auto 1fr;
  }
  body.desktop-utility-page .profile-page-guest-head { padding:38px 34px 28px; }
  body.desktop-utility-page .profile-page-guest-card {
    grid-template-columns:72px minmax(0,1fr);
    gap:22px;
    align-items:center;
    padding:34px;
  }
  body.desktop-utility-page .profile-page-guest-avatar { width:68px; height:68px; font-size:24px; }
  body.desktop-utility-page .profile-page-guest-actions button { width:auto; min-width:116px; }
  body.desktop-utility-page .profile-page-grid { grid-template-columns:minmax(0,1fr) minmax(240px,290px); }
  body.desktop-utility-page .profile-page-panel { padding:30px 34px; }
  body.desktop-utility-page .profile-page-side-card { padding:26px 24px; }
  body.desktop-utility-page .profile-page-security form { max-width:720px; }
  body.desktop-utility-page .profile-page-signout { max-width:820px; }

  body.has-wallpaper.desktop-utility-page .standalone-page {
    --desktop-utility-surface:color-mix(in srgb,var(--surface) var(--panel-opacity),transparent);
  }
  body.has-wallpaper.desktop-utility-page .notifications-page > .standalone-page-header,
  body.has-wallpaper.desktop-utility-page .notifications-page > .standalone-section-head,
  body.has-wallpaper.desktop-utility-page .notifications-page > .standalone-list,
  body.has-wallpaper.desktop-utility-page .messages-page > .messages-page-header,
  body.has-wallpaper.desktop-utility-page .messages-page > .messages-shell,
  body.has-wallpaper.desktop-utility-page .profile-page > .profile-page-guest,
  body.has-wallpaper.desktop-utility-page .profile-page > .profile-page-user,
  body.has-wallpaper.desktop-utility-page .messages-inbox,
  body.has-wallpaper.desktop-utility-page .message-conversation,
  body.has-wallpaper.desktop-utility-page .message-composer,
  body.has-wallpaper.desktop-utility-page .message-thread-header { backdrop-filter:blur(16px); }
}

@media (min-width:1480px) {
  body.desktop-utility-page .messages-page > .messages-shell { grid-template-columns:360px minmax(0,1fr); }
  body.desktop-utility-page .profile-page-grid { grid-template-columns:minmax(0,1fr) 310px; }
}

/* Community governance center V2 */
.governance-panel{margin-top:34px;padding:28px;border:1px solid color-mix(in srgb,var(--blue) 16%,var(--line));border-radius:22px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 20px 60px #19284b0b;overflow:hidden}.moderation-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.moderation-header small,.owner-maintenance>small{color:var(--blue);font-size:9px;font-weight:800;letter-spacing:.18em}.moderation-header h2{margin:6px 0 5px;font-size:23px}.moderation-header p{max-width:720px;margin:0;color:var(--muted);font-size:11px;line-height:1.7}.governance-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px}.governance-stats article{position:relative;display:grid;gap:4px;min-height:112px;padding:18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 94%,#7b8df0 6%),var(--surface));overflow:hidden}.governance-stats article:after{content:"";position:absolute;right:-26px;bottom:-38px;width:86px;height:86px;border:17px solid color-mix(in srgb,var(--blue) 10%,transparent);border-radius:50%}.governance-stats span{color:var(--muted);font-size:10px}.governance-stats strong{font-size:26px;line-height:1.25}.governance-stats small{color:var(--muted);font-size:9px}.moderation-workbench{border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow:hidden}.moderation-tabs{display:flex;gap:5px;padding:10px 12px;border-bottom:1px solid var(--line);overflow-x:auto}.moderation-tabs button{position:relative;flex:none;padding:10px 14px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:11px;font-weight:700;cursor:pointer}.moderation-tabs button.active{background:var(--soft);color:var(--blue)}.moderation-tabs button.active:after{content:"";position:absolute;left:14px;right:14px;bottom:-11px;height:2px;border-radius:2px;background:var(--blue)}.governance-filters{display:flex;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--soft) 36%,var(--surface))}.governance-search{display:flex;align-items:center;flex:1;min-width:180px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--muted)}.governance-search input{width:100%;height:100%;padding:0 8px;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:11px}.governance-status{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}.governance-status select{height:40px;padding:0 34px 0 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text);font:inherit;font-size:10px}.governance-list{min-height:260px}.governance-card{position:relative;padding:20px;border-bottom:1px solid var(--line);transition:background .18s ease}.governance-card:last-child{border-bottom:0}.governance-card:hover{background:color-mix(in srgb,var(--soft) 35%,var(--surface))}.governance-card.priority-high{box-shadow:inset 3px 0 #f59e0b}.governance-card.priority-urgent{box-shadow:inset 3px 0 #ef4444}.governance-card-head,.governance-card-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.governance-card-head>div,.governance-card-actions{display:flex;flex-wrap:wrap}.governance-card-head time,.governance-content>small{color:var(--muted);font-size:9px}.governance-badge{display:inline-flex;align-items:center;width:max-content;padding:5px 8px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:9px;font-weight:750}.governance-badge.pending,.governance-badge.restricted{background:#fff2d8;color:#9b6000}.governance-badge.resolved,.governance-badge.approved,.governance-badge.normal{background:#e8f8ef;color:#19764a}.governance-badge.dismissed,.governance-badge.rejected{background:#f1f2f5;color:#6c727d}.governance-badge.category{background:#edf1ff;color:#5368c9}.governance-badge.priority{background:#fff0e6;color:#bf551b}.governance-badge.admin{background:#eee9ff;color:#6747bc}.dark .governance-badge.pending,.dark .governance-badge.restricted{background:#4c3b22;color:#ffd78a}.dark .governance-badge.resolved,.dark .governance-badge.approved,.dark .governance-badge.normal{background:#203e31;color:#82dcae}.dark .governance-badge.category{background:#29314d;color:#aebcff}.dark .governance-badge.priority{background:#4a3028;color:#ffb38b}.governance-content{padding:14px 0}.governance-content h3{display:flex;align-items:center;gap:8px;margin:5px 0 9px;font-size:15px}.governance-content h3 em{padding:3px 7px;border-radius:7px;background:var(--soft);color:var(--muted);font-size:9px;font-style:normal;font-weight:500}.governance-content p{margin:0;color:var(--text);font-size:11px;line-height:1.75;white-space:pre-wrap;word-break:break-word}.governance-content blockquote{margin:12px 0 0;padding:9px 11px;border-left:3px solid color-mix(in srgb,var(--blue) 55%,var(--line));border-radius:0 8px 8px 0;background:var(--soft);color:var(--muted);font-size:10px;line-height:1.6}.governance-review{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin:1px 0 14px;padding:11px 12px;border:1px dashed var(--line);border-radius:10px}.governance-review b{font-size:10px}.governance-review span,.governance-review small{color:var(--muted);font-size:9px}.governance-card-actions{justify-content:flex-end}.governance-card-actions button{height:36px;padding:0 13px;border-radius:9px;font-size:10px}.governance-card-actions.vertical{align-self:center;flex-direction:column;align-items:stretch;min-width:116px}.governance-card-actions.vertical .governance-badge{align-self:flex-end}.danger-button.subtle{height:36px;padding:0 13px;border:1px solid #ef44443a;background:transparent;color:#d74747;border-radius:9px}.user-governance-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:start}.governance-avatar{display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;background:linear-gradient(135deg,#6684ef,#9d69d8);background-size:cover;background-position:center;color:#fff;font-weight:800;cursor:pointer}.governance-avatar.has-image{font-size:0}.governance-user-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.governance-user-title h3{margin:0;font-size:14px}.governance-user-title>span{color:var(--muted);font-size:9px}.governance-user-main>p{margin:5px 0 10px;color:var(--muted);font-size:10px}.governance-user-metrics{display:flex;gap:7px;flex-wrap:wrap}.governance-user-metrics span{padding:5px 8px;border-radius:8px;background:var(--soft);color:var(--muted);font-size:9px}.governance-user-metrics b{color:var(--text)}.restriction-copy{display:block;margin-top:10px;color:#b16420;font-size:9px}.governance-timeline{padding:8px 20px}.governance-action{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;padding:14px 0}.governance-action:not(:last-child):before{content:"";position:absolute;left:8px;top:30px;bottom:-10px;width:1px;background:var(--line)}.action-dot{position:relative;z-index:1;width:17px;height:17px;border:4px solid var(--surface);border-radius:50%;background:var(--blue);box-shadow:0 0 0 1px var(--line)}.governance-action>div>div{display:flex;justify-content:space-between;gap:10px}.governance-action strong{font-size:11px}.governance-action time,.governance-action p,.governance-action small{color:var(--muted);font-size:9px}.governance-action p{margin:4px 0}.governance-action small{display:block;line-height:1.6}.governance-empty,.governance-loading{display:grid;place-items:center;align-content:center;min-height:270px;padding:30px;text-align:center}.governance-empty>span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--soft);color:var(--blue);font-size:19px}.governance-empty h3{margin:13px 0 5px;font-size:14px}.governance-empty p,.governance-loading p{margin:0;color:var(--muted);font-size:10px}.governance-loading span{width:26px;height:26px;border:3px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:profile-spin .7s linear infinite}.governance-dialog{width:min(600px,94vw)}.moderation-guideline{padding:11px 13px;border-radius:10px;background:var(--soft);line-height:1.65}.case-review-summary{display:grid;gap:6px;margin:0 0 15px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.case-review-summary span,.case-review-summary small{color:var(--muted);font-size:9px}.case-review-summary strong{font-size:12px}.case-review-summary p{margin:2px 0;font-size:10px;line-height:1.65;white-space:pre-wrap}.profile-moderation-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.profile-moderation-card .governance-badge{flex:none}.profile-moderation-card #profileAppealBtn{margin-top:10px}

.owner-console-dialog{width:min(900px,95vw);max-height:min(780px,92vh);overflow:auto}.admin-panel-note{margin:0 24px 18px;padding:10px 13px;border-radius:10px;background:var(--soft);color:var(--muted);font-size:10px;line-height:1.6}.owner-console-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);gap:22px;padding:0 24px 24px}.owner-member-editor{min-width:0}.owner-lookup{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.owner-lookup .secondary-btn{margin-bottom:14px}.owner-member-preview{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.owner-preview-avatar{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#6684ef,#9d69d8);color:#fff;font-weight:800}.owner-member-preview>div:last-child{display:grid;gap:3px}.owner-member-preview strong{font-size:12px}.owner-member-preview span,.owner-member-preview small{color:var(--muted);font-size:9px}.owner-safety-note{margin:0 0 14px;padding:9px 11px;border-left:3px solid #e5a341;border-radius:0 8px 8px 0;background:#fff8e8;color:#815710;font-size:9px;line-height:1.6}.dark .owner-safety-note{background:#423724;color:#ffd28a}.owner-maintenance{align-self:start;padding:20px;border:1px solid var(--line);border-radius:15px;background:var(--soft)}.owner-maintenance h3{margin:6px 0 14px;font-size:15px}.owner-maintenance>button{width:100%;margin-top:8px}.owner-maintenance>p{margin:12px 0 0;color:var(--muted);font-size:9px;line-height:1.6}.owner-health-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px}.owner-health-summary>div{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.owner-health-summary strong{font-size:18px}.owner-health-summary span,.owner-health-summary p,.owner-health-summary small{color:var(--muted);font-size:9px}.owner-health-summary .owner-health-error{color:#d74747}
.title-locked[readonly]{cursor:not-allowed;background:color-mix(in srgb,var(--soft) 72%,var(--surface));color:var(--muted);background-image:linear-gradient(90deg,transparent 0,transparent calc(100% - 34px),color-mix(in srgb,var(--blue) 12%,transparent) calc(100% - 34px))}

/* Admin command center and permanent-owner security */
.admin-command-center{display:grid;grid-template-columns:minmax(300px,1.35fr) minmax(210px,.65fr) minmax(280px,1fr);gap:14px;margin:0 0 22px;padding:14px;border:1px solid color-mix(in srgb,var(--blue) 15%,var(--line));border-radius:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 96%,#6e7ff0 4%),color-mix(in srgb,var(--surface) 97%,#c184e4 3%));box-shadow:0 18px 55px #1b28550b;scroll-margin-top:24px}.admin-identity-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:13px;align-items:center;padding:17px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.admin-command-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,#6379ed,#8967d8);color:#fff;box-shadow:0 10px 24px #6574db30}.admin-command-icon .ui-icon{width:23px;height:23px}.admin-identity-card small,.owner-section-heading small,.owner-security-confirm>div small{color:var(--blue);font-size:8px;font-weight:800;letter-spacing:.16em}.admin-identity-card h2{margin:5px 0 3px;font-size:16px}.admin-identity-card p{margin:0;color:var(--muted);font-size:9px;line-height:1.55}.admin-role-chip{align-self:start;padding:5px 9px;border-radius:999px;background:var(--soft);color:var(--blue);font-size:9px;white-space:nowrap}.admin-role-chip.is-owner{background:#fff3cf;color:#936400}.dark .admin-role-chip.is-owner{background:#493d23;color:#f3cf75}.admin-command-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-command-metrics article{display:grid;align-content:center;gap:4px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.admin-command-metrics span,.admin-command-metrics small{color:var(--muted);font-size:8px}.admin-command-metrics strong{overflow:hidden;text-overflow:ellipsis;font-size:18px}.admin-command-metrics strong.is-owner{color:#a87308}.admin-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.admin-quick-actions button{display:grid;place-items:center;align-content:center;gap:7px;min-width:0;padding:10px 6px;border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--text);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.admin-quick-actions button:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--blue) 38%,var(--line));background:color-mix(in srgb,var(--soft) 55%,var(--surface))}.admin-quick-actions .ui-icon{width:19px;height:19px;color:var(--blue)}.admin-quick-actions span{display:grid;gap:2px;text-align:center}.admin-quick-actions strong{font-size:9px}.admin-quick-actions small{color:var(--muted);font-size:7px}.admin-layout,.governance-panel{scroll-margin-top:24px}

.owner-console-dialog{width:min(960px,95vw);padding:0 0 1px}.owner-console-dialog>.dialog-title{padding:24px 26px 17px;margin:0}.owner-protection-banner{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;margin:0 24px 18px;padding:13px 15px;border:1px solid #e8be653d;border-radius:14px;background:#fff8e8;color:#805910}.owner-protection-banner>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#f1c96533}.owner-protection-banner>div{display:grid;gap:3px}.owner-protection-banner strong{font-size:11px}.owner-protection-banner p{margin:0;font-size:9px;line-height:1.55}.owner-protection-banner>b{padding:5px 8px;border-radius:999px;background:#e9bd4a26;font-size:8px;white-space:nowrap}.owner-protection-banner[data-state="protected"]{border-color:#4bbf7f42;background:#eefaf3;color:#1d7548}.owner-protection-banner[data-state="protected"]>span,.owner-protection-banner[data-state="protected"]>b{background:#43b87920}.dark .owner-protection-banner{background:#443822;color:#f1cf83}.dark .owner-protection-banner[data-state="protected"]{background:#203d30;color:#87dcb0}.owner-console-grid{grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:18px}.owner-member-editor{padding:3px 1px}.owner-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px}.owner-section-heading h3{margin:5px 0 0;font-size:16px}.owner-section-heading>p{max-width:230px;margin:0;color:var(--muted);font-size:9px;line-height:1.6;text-align:right}.owner-role-fields{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(170px,.8fr);gap:10px}.owner-member-preview{position:relative;overflow:hidden}.owner-member-preview.is-owner{border-color:#d5a73566;background:linear-gradient(135deg,#fff9e9,var(--surface))}.dark .owner-member-preview.is-owner{background:linear-gradient(135deg,#403722,var(--surface))}.owner-member-preview.is-owner:after{content:"";position:absolute;right:-23px;bottom:-31px;width:78px;height:78px;border:14px solid #d3a12918;border-radius:50%}.owner-preview-name{display:flex;align-items:center;gap:7px}.owner-preview-name>b{padding:3px 6px;border-radius:999px;background:#fff0bd;color:#936400;font-size:7px}.owner-preview-name>b.admin{background:color-mix(in srgb,var(--blue) 10%,var(--surface));color:var(--blue)}.owner-role-fields select:disabled,.owner-role-fields input:disabled{cursor:not-allowed;opacity:.68}.owner-security-confirm{margin:15px 0 13px;padding:14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--soft) 48%,var(--surface))}.owner-security-confirm>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.owner-security-confirm>div strong{font-size:11px}.owner-security-confirm>label{margin-bottom:0}.owner-security-confirm .signup-captcha{margin:12px 0 0;background:var(--surface)}.owner-maintenance{padding:18px}.owner-maintenance-lead{margin:-8px 0 14px!important}.owner-maintenance>button{border-radius:11px}.owner-console-dialog .dialog-actions{justify-content:flex-end}.owner-console-dialog .dialog-actions button{width:auto;min-width:120px}.owner-console-dialog .dialog-actions .primary-btn:disabled{cursor:not-allowed;opacity:.45}

@media(max-width:1100px){.admin-command-center{grid-template-columns:1fr 1fr}.admin-quick-actions{grid-column:1/-1}.admin-quick-actions button{grid-template-columns:auto auto;display:grid;justify-content:center}.admin-quick-actions span{text-align:left}}
@media(max-width:800px){.admin-command-center{grid-template-columns:1fr;padding:10px;border-radius:18px}.admin-identity-card{grid-template-columns:44px minmax(0,1fr);padding:14px}.admin-command-icon{width:44px;height:44px}.admin-role-chip{grid-column:2}.admin-command-metrics{grid-template-columns:1fr 1fr}.admin-quick-actions{grid-column:auto;overflow-x:auto;grid-template-columns:repeat(3,minmax(126px,1fr));padding-bottom:2px}.admin-quick-actions button{min-height:72px}.owner-console-dialog{padding:0}.owner-console-dialog>.dialog-title{padding:21px 18px 14px}.owner-protection-banner{margin:0 18px 15px;grid-template-columns:32px minmax(0,1fr)}.owner-protection-banner>b{grid-column:2;width:max-content}.owner-section-heading{display:grid;gap:5px}.owner-section-heading>p{text-align:left;max-width:none}.owner-role-fields{grid-template-columns:1fr}.owner-security-confirm{padding:12px}.owner-console-dialog .dialog-actions{display:grid;grid-template-columns:1fr 1fr}.owner-console-dialog .dialog-actions button{width:100%;min-width:0}}

@media(min-width:900px){body[data-desktop-page="admin"] .admin-page{width:calc(100vw - var(--x-rail));max-width:none;padding-left:clamp(28px,3vw,52px);padding-right:clamp(28px,3vw,52px)}body.has-wallpaper .governance-panel{background:color-mix(in srgb,var(--surface) var(--panel-opacity),transparent);backdrop-filter:blur(18px)}}
@media(max-width:800px){.governance-panel{margin:22px -2px 0;padding:14px;border-radius:18px}.moderation-header{display:grid;gap:13px}.moderation-header .secondary-btn{width:100%}.governance-stats{grid-template-columns:1fr 1fr;gap:8px}.governance-stats article{min-height:94px;padding:14px}.governance-stats strong{font-size:22px}.moderation-tabs{padding-inline:8px}.moderation-tabs button{padding-inline:11px}.governance-filters{align-items:stretch;flex-direction:column}.governance-status{justify-content:space-between}.governance-status select{flex:1}.governance-card{padding:16px}.governance-card-head{align-items:flex-start}.governance-review{grid-template-columns:1fr}.user-governance-card{grid-template-columns:42px minmax(0,1fr)}.governance-avatar{width:42px;height:42px}.governance-card-actions.vertical{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:flex-end;min-width:0}.governance-card-actions.vertical .governance-badge{align-self:center;margin-right:auto}.owner-console-dialog{width:100vw;max-width:none;max-height:94dvh;border-radius:22px 22px 0 0}.owner-console-grid{grid-template-columns:1fr;padding:0 18px 22px}.admin-panel-note{margin-inline:18px}.owner-maintenance{order:-1}.owner-health-summary{grid-template-columns:repeat(4,1fr)}.owner-health-summary>div{padding:8px 4px;text-align:center}.owner-health-summary strong{font-size:15px}.owner-health-summary span{font-size:8px}.owner-lookup{grid-template-columns:1fr}.owner-lookup .secondary-btn{margin:-5px 0 14px}.governance-dialog{width:100vw;max-width:none;border-radius:22px 22px 0 0}}

/* Single-community forum upgrade */
.forum-toolbar>div{display:grid;gap:3px}.forum-toolbar>div>span{color:var(--muted);font-size:9px;font-weight:500}.forum-feed-controls{margin-bottom:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}.forum-sort-tabs{display:flex;gap:3px;padding:7px;border-bottom:1px solid var(--line);overflow-x:auto}.forum-sort-tabs button{position:relative;flex:none;padding:9px 12px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-size:10px;font-weight:700;cursor:pointer}.forum-sort-tabs button.active{background:var(--soft);color:var(--blue)}.forum-filter-row{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;gap:8px;align-items:center;padding:10px}.forum-type-filter,.forum-thread-search{display:flex;align-items:center;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--muted);font-size:9px}.forum-type-filter{gap:7px;padding-left:10px}.forum-type-filter select{height:100%;padding:0 30px 0 0;border:0;background:transparent;color:var(--text);font:inherit;font-size:10px;outline:0}.forum-thread-search{padding:0 10px}.forum-thread-search input{width:100%;height:100%;padding:0 7px;border:0;background:transparent;color:var(--text);font:inherit;font-size:10px;outline:0}.forum-filter-row>#forumBookmarksBtn{height:38px;padding-inline:13px;border-radius:10px;font-size:10px}.forum-filter-row>#forumBookmarksBtn.active{border-color:color-mix(in srgb,var(--blue) 45%,var(--line));background:color-mix(in srgb,var(--blue) 9%,var(--surface));color:var(--blue)}.thread-card-kicker{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}.thread-card-kicker>span,.thread-detail-flags{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.thread-card-kicker time{flex:none;color:var(--muted);font-size:8px}.thread-type,.thread-flag{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:8px;font-weight:750}.thread-type.type-question{background:#fff4df;color:#9b6200}.thread-type.type-share{background:#eaf8f1;color:#247551}.thread-type.type-guide{background:#edf1ff;color:#5269ca}.thread-flag.pinned{background:#ffebe9;color:#c33e35}.thread-flag.featured{background:#fff3cf;color:#976500}.dark .thread-type.type-question,.dark .thread-flag.featured{background:#493d25;color:#f4cd72}.dark .thread-type.type-share{background:#213d31;color:#82d7ad}.dark .thread-type.type-guide{background:#29314b;color:#afbdff}.dark .thread-flag.pinned{background:#482c2c;color:#ffaaa4}.thread-card.is-pinned{background:color-mix(in srgb,#fff4ec 28%,var(--surface))}.thread-card.is-featured .thread-main>h2{color:color-mix(in srgb,var(--text) 80%,#a97800)}.thread-author{margin-bottom:2px}.bookmarked-mark{display:inline-block;margin-left:7px;color:#e6a800;font-size:11px;vertical-align:2px}.forum-feed-loading{display:grid;place-items:center;align-content:center;min-height:270px;color:var(--muted);font-size:10px}.forum-feed-loading span{width:27px;height:27px;border:3px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:profile-spin .7s linear infinite}.forum-history-card{overflow:hidden}.forum-side-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.forum-side-heading h3{margin:0}.forum-side-heading button{border:0;background:transparent;color:var(--muted);font-size:9px;cursor:pointer}.forum-history-list{display:grid;margin:0 -8px -5px}.forum-history-list>button{display:grid;gap:3px;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.forum-history-list>button:hover{background:var(--soft)}.forum-history-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.forum-history-list small,.forum-history-list>p{margin:0;color:var(--muted);font-size:8px}.thread-editor-heading{display:grid;grid-template-columns:135px minmax(0,1fr);gap:10px}.thread-detail-flags{margin:0 0 13px}.thread-engagement{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.thread-bookmark-button,.thread-share-button{height:34px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font:inherit;font-size:9px;cursor:pointer}.thread-bookmark-button.active{border-color:#e3b534;background:#fff8de;color:#946c00}.dark .thread-bookmark-button.active{background:#493d23;color:#f3cf75}.thread-view-total{margin-left:auto;color:var(--muted);font-size:9px}.thread-view-total b{color:var(--text)}.thread-reader-tools{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin:-5px 0 14px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--soft)}.thread-reader-tools>button{height:34px;padding-inline:11px;border-radius:9px;font-size:9px}.thread-reader-tools>button.active{border-color:var(--blue);background:var(--surface);color:var(--blue)}.thread-reader-tools label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px}.thread-reader-tools input{width:72px;height:34px;padding:0 7px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:10px}.reply-context{display:block;margin:4px 0 8px;color:var(--blue);font-size:8px}.forum-reply.floor-highlight{animation:floorFlash 1.5s ease}@keyframes floorFlash{0%,45%{background:color-mix(in srgb,#ffd95c 28%,var(--surface));box-shadow:inset 3px 0 #e7ad18}100%{background:transparent;box-shadow:none}}.nested-replies.collapsed{display:none}.reply-toggle{margin-top:7px}.thread-actions button[data-thread-status]{color:#9a6b00}.thread-floor-mark{scroll-margin-top:20px}

body.has-wallpaper .forum-feed-controls,body.has-wallpaper .thread-reader-tools{background:color-mix(in srgb,var(--surface) var(--panel-opacity),transparent);backdrop-filter:blur(15px)}
@media(max-width:700px){.forum-feed-controls{margin:0 0 10px;border-radius:13px}.forum-sort-tabs{padding:6px}.forum-sort-tabs button{padding:9px 11px}.forum-filter-row{grid-template-columns:1fr auto;gap:7px;padding:8px}.forum-type-filter{grid-column:1}.forum-thread-search{grid-column:1/-1;grid-row:2}.forum-filter-row>#forumBookmarksBtn{grid-column:2;grid-row:1}.thread-card-kicker{align-items:flex-start;flex-direction:column;gap:4px}.thread-card-kicker time{order:2}.thread-editor-heading{grid-template-columns:1fr}.thread-reader-tools{justify-content:stretch;flex-wrap:wrap;margin-inline:-2px}.thread-reader-tools>#onlyOwnerRepliesBtn{margin-right:auto}.thread-reader-tools label{order:2;flex:1}.thread-reader-tools input{flex:1;min-width:68px}.thread-reader-tools>#jumpToFloorBtn{order:2}.thread-view-total{width:100%;margin-left:0}.forum-history-card{display:none}.thread-engagement{gap:6px}.thread-bookmark-button,.thread-share-button{height:36px}.forum-thread-body .thread-detail-flags{padding-right:35px}}

/* Registration security and interface refinement */
.auth-dialog{width:min(500px,calc(100vw - 28px));max-height:min(900px,94dvh);padding:0;overflow-x:hidden;overscroll-behavior:contain;border:1px solid color-mix(in srgb,var(--blue) 15%,var(--line));border-radius:22px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 30px 90px #11182733;backdrop-filter:blur(24px)}.auth-dialog>.dialog-title{position:relative;margin:0;padding:25px 28px 22px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 88% 0,color-mix(in srgb,var(--blue) 18%,transparent),transparent 42%),linear-gradient(145deg,color-mix(in srgb,var(--soft) 65%,var(--surface)),var(--surface))}.auth-dialog>.dialog-title:after{content:"";position:absolute;right:67px;top:18px;width:44px;height:44px;border:10px solid color-mix(in srgb,var(--blue) 9%,transparent);border-radius:50%;pointer-events:none}.auth-dialog>.dialog-title h2{font-size:25px;letter-spacing:-.025em}.auth-dialog>.dialog-title>button{position:relative;z-index:1;width:38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--surface) 82%,transparent)}#authGuest,#authRecovery,#authUser{padding:0 28px 28px}.auth-tabs{position:relative;margin:20px 0 16px;padding:4px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--bg) 78%,var(--surface))}.auth-tabs button{height:40px;border-radius:9px;font-size:12px;font-weight:700}.auth-tabs button.active{color:var(--text);box-shadow:0 4px 14px #17203312}.auth-mode-intro{display:flex;align-items:center;gap:12px;margin-bottom:19px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--blue) 14%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--blue) 5%,var(--surface))}.auth-mode-intro>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--blue) 13%,var(--surface));color:var(--blue);font-size:15px;font-weight:800}.auth-mode-intro>div{display:grid;gap:3px;min-width:0}.auth-mode-intro strong{font-size:12px}.auth-mode-intro p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.auth-dialog label{margin-bottom:15px;color:var(--text);font-size:11px;font-weight:650;letter-spacing:.01em}.auth-dialog input{height:46px;margin-top:7px;border-radius:11px;background:var(--bg);font-size:13px;font-weight:450}.auth-dialog input:focus{border-color:color-mix(in srgb,var(--blue) 65%,var(--line));background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 12%,transparent)}.auth-dialog .password-input{margin-top:7px}.auth-dialog .password-input input{margin-top:0;padding-right:62px}.auth-dialog .password-input button{right:7px;padding:6px 9px;border-radius:7px;background:var(--soft);font-size:10px}.password-strength{margin-top:8px}.signup-captcha{display:grid;gap:11px;margin:4px 0 15px;padding:14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--bg) 70%,var(--surface));transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.signup-captcha[hidden]{display:none}.captcha-heading{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px}.captcha-heading>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--soft);color:var(--blue);font-size:17px}.captcha-heading>div{display:grid;gap:2px}.captcha-heading strong{font-size:11px}.captcha-heading small{color:var(--muted);font-size:9px}.captcha-heading>b{padding:5px 8px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:8px;white-space:nowrap}.turnstile-widget{display:grid;place-items:center;width:100%;min-height:65px;overflow:hidden;border-radius:9px}.turnstile-widget>div,.turnstile-widget iframe{max-width:100%}.signup-captcha>p{margin:0;color:var(--muted);font-size:9px;line-height:1.55}.signup-captcha[data-state=loading] .captcha-heading>span{animation:captchaPulse 1.2s ease-in-out infinite}.signup-captcha[data-state=success]{border-color:color-mix(in srgb,#299b68 38%,var(--line));background:color-mix(in srgb,#299b68 6%,var(--surface));box-shadow:inset 3px 0 #299b68}.signup-captcha[data-state=success] .captcha-heading>b{background:#e4f7ed;color:#237a53}.signup-captcha[data-state=error],.signup-captcha[data-state=missing]{border-color:color-mix(in srgb,#d18a2d 42%,var(--line));background:color-mix(in srgb,#d18a2d 7%,var(--surface))}.signup-captcha[data-state=error] .captcha-heading>b,.signup-captcha[data-state=missing] .captcha-heading>b{background:#fff0d9;color:#996119}.signup-captcha[data-state=missing] .turnstile-widget{display:none}.dark .signup-captcha[data-state=success] .captcha-heading>b{background:#1e4634;color:#91dab6}.dark .signup-captcha[data-state=error] .captcha-heading>b,.dark .signup-captcha[data-state=missing] .captcha-heading>b{background:#493821;color:#e9bd7a}.captcha-retry{justify-self:start;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--blue);font:inherit;font-size:9px;font-weight:700;cursor:pointer}.auth-dialog #authSubmit{height:48px;margin-top:4px;border-radius:12px;font-size:12px;font-weight:750;box-shadow:0 8px 22px color-mix(in srgb,var(--blue) 24%,transparent);transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.auth-dialog #authSubmit:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 11px 28px color-mix(in srgb,var(--blue) 30%,transparent)}.auth-dialog #authSubmit:disabled{box-shadow:none}.auth-help{display:flex;align-items:center;justify-content:center;gap:18px;min-height:42px}.auth-help .text-button{margin:12px 0 4px}.auth-note{margin:10px 0 0;padding-top:12px;border-top:1px solid var(--line)}.auth-dialog button:focus-visible,.forum-feed-controls button:focus-visible,.forum-feed-controls input:focus-visible,.forum-feed-controls select:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 25%,transparent);outline-offset:2px}@keyframes captchaPulse{50%{transform:scale(.9);opacity:.55}}

/* Clearer community controls on desktop and mobile */
.forum-toolbar>div>span{font-size:10px}.forum-sort-tabs button{font-size:11px}.forum-type-filter,.forum-thread-search{font-size:10px}.forum-type-filter select,.forum-thread-search input,.forum-filter-row>#forumBookmarksBtn{font-size:11px}.thread-type,.thread-flag{font-size:9px}.forum-feed-controls button,.forum-feed-controls input,.forum-feed-controls select{transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}.forum-thread-search:focus-within,.forum-type-filter:focus-within{border-color:color-mix(in srgb,var(--blue) 48%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 9%,transparent)}

@media(max-width:600px){.auth-dialog{width:100vw;max-width:none;max-height:96dvh;margin:auto 0 0;border-width:1px 0 0;border-radius:24px 24px 0 0}.auth-dialog>.dialog-title{padding:20px 18px 18px}.auth-dialog>.dialog-title:after{right:56px;top:13px}.auth-dialog>.dialog-title h2{font-size:23px}#authGuest,#authRecovery,#authUser{padding:0 16px max(22px,env(safe-area-inset-bottom))}.auth-tabs{margin-top:16px}.auth-mode-intro{align-items:flex-start;padding:12px}.auth-mode-intro p{font-size:10px}.auth-dialog input{min-height:47px;font-size:16px}.signup-captcha{margin-inline:-1px;padding:12px}.captcha-heading{grid-template-columns:32px minmax(0,1fr)}.captcha-heading>span{width:32px;height:32px}.captcha-heading>b{grid-column:2;justify-self:start}.turnstile-widget{justify-items:stretch}.forum-sort-tabs{scroll-snap-type:x proximity}.forum-sort-tabs button{font-size:11px;scroll-snap-align:start}.forum-type-filter select,.forum-thread-search input,.forum-filter-row>#forumBookmarksBtn{font-size:12px}}
@media(prefers-reduced-motion:reduce){.signup-captcha[data-state=loading] .captcha-heading>span{animation:none}.auth-dialog #authSubmit{transition:none}}

/* Mobile drawer layering and wallpaper panel transparency. */
@media(max-width:1023px){
  .topbar{z-index:90}
  .topbar nav{z-index:2;pointer-events:none;background:var(--surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;touch-action:pan-y}
  .topbar nav.open{pointer-events:auto}
  #navBackdrop{z-index:70;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

  body.has-wallpaper{background:transparent}
  body.has-wallpaper:after{background:color-mix(in srgb,var(--bg) 22%,transparent)}
  body.has-wallpaper .page,
  body.has-wallpaper .forum-page,
  body.has-wallpaper .standalone-page{background:transparent!important}
  body.has-wallpaper .post-list,
  body.has-wallpaper .thread-list,
  body.has-wallpaper .project-grid,
  body.has-wallpaper .friend-grid{background:transparent!important;backdrop-filter:none}
  body.has-wallpaper .page-title,
  body.has-wallpaper .forum-hero,
  body.has-wallpaper .inner-title,
  body.has-wallpaper .friendship-card,
  body.has-wallpaper .feed-head,
  body.has-wallpaper .forum-toolbar,
  body.has-wallpaper .forum-feed-controls,
  body.has-wallpaper .post-item,
  body.has-wallpaper .thread-card,
  body.has-wallpaper .project-grid article,
  body.has-wallpaper .friend-grid>a,
  body.has-wallpaper .about-box,
  body.has-wallpaper .apply-card,
  body.has-wallpaper .side-card,
  body.has-wallpaper .standalone-page-header,
  body.has-wallpaper .standalone-section-head,
  body.has-wallpaper .standalone-list,
  body.has-wallpaper .messages-shell,
  body.has-wallpaper .profile-page-guest,
  body.has-wallpaper .profile-page-user,
  body.has-wallpaper footer{background:color-mix(in srgb,var(--surface) var(--panel-opacity),transparent)!important;backdrop-filter:blur(11px)}
  body.has-wallpaper .messages-inbox,
  body.has-wallpaper .message-conversation,
  body.has-wallpaper .message-composer,
  body.has-wallpaper .message-thread-header{background:transparent}
}

/* Telegram-inspired group chat. */
.message-inbox-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:7px 10px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 72%,transparent)}
.message-inbox-tabs button{position:relative;min-height:34px;padding:0 10px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:10px;font-weight:700;cursor:pointer}
.message-inbox-tabs button.active{background:var(--surface);color:var(--blue);box-shadow:0 3px 12px #0f14190a}
.message-inbox-tabs button span{display:inline-grid;min-width:17px;height:17px;margin-left:4px;place-items:center;padding:0 4px;border-radius:999px;background:#f4212e;color:#fff;font-size:8px}
.message-friend-list,.message-group-list{align-content:start;min-height:0;overflow-y:auto}
.message-group-list{display:grid}
.message-group-item{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:11px;align-items:center;width:100%;min-height:76px;padding:11px 13px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left;cursor:pointer;transition:background-color .18s ease,box-shadow .18s ease}
.message-group-item:hover,.message-group-item.active{background:color-mix(in srgb,var(--blue) 7%,var(--surface))}
.message-group-item.active{box-shadow:inset 3px 0 var(--blue)}
.message-group-avatar,.group-info-avatar,.group-picker-avatar,.group-member-avatar,.group-message-avatar{display:grid;place-items:center;flex:none;border:0;background:linear-gradient(145deg,#2aabee,#6f7bf7);background-size:cover;background-position:center;color:#fff;font-weight:800}
.message-group-avatar{width:46px;height:46px;border-radius:50%;font-size:14px}
.message-group-avatar.has-image,.group-info-avatar.has-image,.group-picker-avatar.has-image,.group-member-avatar.has-image,.group-message-avatar.has-image{font-size:0}
.message-group-copy{display:grid;min-width:0;gap:5px}
.message-group-copy>span{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.message-group-copy strong,.message-group-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.message-group-copy strong{font-size:12px}.message-group-copy small{color:var(--muted);font-size:9px}.message-group-copy time{flex:none;color:var(--muted);font-size:8px}
.message-group-unread{display:grid;min-width:20px;height:20px;place-items:center;padding:0 5px;border-radius:999px;background:var(--blue);color:#fff;font-size:8px}
.message-group-item>i{color:var(--muted);font-size:18px;font-style:normal}
.group-chat-empty,.group-chat-setup{display:grid;justify-items:center;gap:7px;padding:38px 18px;text-align:center}.group-chat-empty>span,.group-chat-setup>span{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:var(--soft);color:var(--blue);font-size:19px}.group-chat-empty strong,.group-chat-setup strong{font-size:12px}.group-chat-empty p,.group-chat-setup p{max-width:240px;margin:0;color:var(--muted);font-size:9px;line-height:1.7}.group-chat-empty button{margin-top:7px}
.message-thread-header{grid-template-columns:34px 42px minmax(0,1fr) 34px}
.message-info-button{display:grid;width:34px;height:34px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:21px;cursor:pointer}.message-info-button:hover{background:var(--soft);color:var(--text)}
.dm-peer-avatar.has-image{background-size:cover!important;background-position:center!important}.dm-peer-avatar.group-avatar{border-radius:50%;background:linear-gradient(145deg,#2aabee,#6f7bf7)}
.message-composer.group-mode .dm-composer-foot small{padding-left:4px}
.group-message-row{display:flex;align-items:flex-end;gap:8px;max-width:88%;align-self:flex-start}.group-message-avatar{width:32px;height:32px;border-radius:50%;font-size:10px;cursor:pointer}.dm-message.group-message{min-width:90px}.group-message-row .dm-message{max-width:100%;align-self:auto}.group-message-sender{display:block;max-width:100%;margin:0 0 4px;padding:0;border:0;background:transparent;color:var(--blue);font-size:9px;font-weight:750;text-align:left;cursor:pointer}.group-message-sender small{color:var(--muted);font-size:7px;font-weight:500}
.group-chat-dialog{width:min(610px,calc(100vw - 28px));max-height:min(860px,94dvh);padding:0;overflow:auto;border-radius:22px}.group-chat-dialog>.dialog-title{position:sticky;z-index:3;top:0;align-items:center;padding:20px 23px 17px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(18px)}.group-chat-dialog>.dialog-title small{color:var(--blue);font-size:8px;letter-spacing:.16em}.group-chat-dialog>.dialog-title h2{margin:4px 0 0;font-size:21px}.group-chat-dialog>.dialog-title>button{width:34px;height:34px;border-radius:50%;background:var(--soft)}
#createGroupChatForm{padding:21px 23px 24px}.group-chat-dialog label{font-weight:650}.group-chat-dialog input,.group-chat-dialog textarea{border-radius:11px}.group-chat-dialog textarea{height:76px;min-height:76px}
.group-friend-section,.group-member-section{margin-top:7px;padding:16px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--soft) 34%,var(--surface))}.group-friend-section>div:first-child{display:grid;gap:3px;margin-bottom:10px}.group-friend-section strong,.group-member-section strong{font-size:11px}.group-friend-section small,.group-member-section small{color:var(--muted);font-size:8px}
.group-friend-picker{display:grid;max-height:235px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.group-friend-option{display:grid;grid-template-columns:18px 38px minmax(0,1fr) 22px;gap:9px;align-items:center;min-height:58px;margin:0;padding:8px 10px;border-bottom:1px solid var(--line);cursor:pointer}.group-friend-option:last-child{border-bottom:0}.group-friend-option:hover{background:var(--soft)}.group-friend-option>input{width:16px;height:16px;margin:0;accent-color:var(--blue)}.group-picker-avatar{width:36px;height:36px;border-radius:50%;font-size:10px}.group-friend-option>span:nth-of-type(2){display:grid;min-width:0;gap:3px}.group-friend-option strong,.group-friend-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-friend-option i{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:var(--line);color:transparent;font-size:10px;font-style:normal}.group-friend-option:has(input:checked) i{background:var(--blue);color:#fff}.group-friend-option:has(input:checked){background:color-mix(in srgb,var(--blue) 6%,var(--surface))}
.group-info-hero{display:flex;align-items:center;gap:14px;padding:21px 23px;border-bottom:1px solid var(--line)}.group-info-avatar{width:62px;height:62px;border-radius:50%;font-size:19px}.group-info-hero>div{display:grid;min-width:0;gap:4px}.group-info-hero h3{margin:0;font-size:18px}.group-info-hero p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.group-info-hero small{color:var(--blue);font-size:8px}.group-info-form{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;padding:18px 23px;border-bottom:1px solid var(--line)}.group-info-form label:first-child,.group-info-form label:nth-child(2){grid-column:1/-1}.group-info-form button{align-self:end;margin-bottom:12px}.group-member-section{margin:18px 23px;background:transparent}.group-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.group-section-heading>div{display:grid;gap:3px}.group-add-members-panel{display:grid;gap:9px;margin-bottom:12px;padding:10px;border:1px dashed var(--line);border-radius:12px;background:var(--soft)}.group-add-members-panel .group-friend-picker{max-height:190px}.group-add-members-panel>.secondary-btn{justify-self:end}
.group-member-list{display:grid;border:1px solid var(--line);border-radius:12px;overflow:hidden}.group-member-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto 28px;gap:9px;align-items:center;min-height:58px;padding:8px 10px;border-bottom:1px solid var(--line)}.group-member-item:last-child{border-bottom:0}.group-member-avatar{width:36px;height:36px;border-radius:50%;font-size:10px;cursor:pointer}.group-member-profile{display:grid;min-width:0;gap:3px;padding:0;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.group-member-profile strong,.group-member-profile small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-member-profile strong{font-size:10px}.group-member-profile small{color:var(--muted);font-size:8px}.group-role{padding:4px 6px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:7px}.group-role.owner{background:#e8f4ff;color:#1877ad}.group-role.admin{background:#f1eaff;color:#744ac1}.group-member-remove{display:grid;width:27px;height:27px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:#d74848;font-size:17px;cursor:pointer}.group-member-remove:hover{background:#ffeded}
.group-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 23px 23px;padding:14px;border:1px solid #e9565630;border-radius:13px;background:#e9565608}.group-danger-zone p{max-width:350px;margin:0;color:var(--muted);font-size:8px;line-height:1.6}.group-danger-zone .danger-button{flex:none}
@media(min-width:1024px){body.desktop-utility-page .message-friend-list,body.desktop-utility-page .message-group-list{flex:1;min-height:0;overflow-y:auto}}
@media(max-width:1023px){.messages-page-header #createGroupChatBtn{min-width:auto;padding-inline:11px}.message-inbox-tabs{position:sticky;z-index:2;top:0}.message-group-item{min-height:72px;padding:11px 15px}.message-thread-header{grid-template-columns:32px 38px minmax(0,1fr) 32px}.group-message-row{max-width:92%}.group-chat-dialog{width:100vw;max-width:none;max-height:94dvh;margin:auto 0 0;border-radius:22px 22px 0 0}.group-chat-dialog>.dialog-title{padding:17px 18px 14px}#createGroupChatForm{padding:17px 16px max(22px,env(safe-area-inset-bottom))}.group-info-hero{padding:18px}.group-info-form{grid-template-columns:1fr;padding:16px 18px}.group-info-form label{grid-column:1!important}.group-member-section{margin:15px 16px}.group-danger-zone{align-items:stretch;flex-direction:column;margin:0 16px max(18px,env(safe-area-inset-bottom))}.group-danger-zone .danger-button{width:100%}.group-friend-picker{max-height:32dvh}}
@media(max-width:390px){.messages-page-header #createGroupChatBtn{font-size:0}.messages-page-header #createGroupChatBtn:after{content:"＋";font-size:18px}.message-group-avatar{width:42px;height:42px}.message-group-item{grid-template-columns:42px minmax(0,1fr) auto}.group-message-avatar{width:29px;height:29px}.group-message-row{gap:6px}.group-member-item{grid-template-columns:36px minmax(0,1fr) auto}.group-member-remove{grid-column:3}.group-role{display:none}}

/* 2026-08 visual audit: one calm card-and-glass system for every screen. */
:root{
  --ui-canvas:#f5f7f9;
  --ui-panel:var(--surface);
  --ui-panel-soft:color-mix(in srgb,var(--surface) 92%,#eef5fa);
  --ui-border:color-mix(in srgb,var(--line) 82%,#b8c5ce);
  --ui-radius:22px;
  --ui-shadow:0 16px 42px #19324a0b;
}
body.dark{
  --ui-canvas:#090b0d;
  --ui-panel:var(--surface);
  --ui-panel-soft:color-mix(in srgb,var(--surface) 90%,#24313a);
  --ui-border:color-mix(in srgb,var(--line) 88%,#50606a);
  --ui-shadow:0 18px 48px #0006;
}
body.has-wallpaper{
  --ui-canvas:transparent;
  --ui-panel:color-mix(in srgb,var(--surface) var(--panel-opacity),transparent);
  --ui-panel-soft:color-mix(in srgb,var(--surface) calc(var(--panel-opacity) - 6%),transparent);
  --ui-border:color-mix(in srgb,var(--line) 70%,#ffffff80);
}
.page:focus{outline:0}

@media(min-width:1024px){
  body:not(.has-wallpaper){background:var(--ui-canvas)}
  .topbar{
    border-right:1px solid var(--ui-border);
    background:color-mix(in srgb,var(--surface) 97%,var(--ui-canvas));
  }
  .topbar nav a.active{background:color-mix(in srgb,var(--blue) 9%,var(--surface));color:var(--text)}
  .topbar nav a.active::before{color:var(--blue)}
  .topbar nav a:focus-visible,.actions button:focus-visible{box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--blue) 24%,transparent)}

  body:not(.desktop-utility-page) .page,
  body:not(.desktop-utility-page) .forum-page{padding-top:16px}
  .page-title,.forum-hero,.inner-title{
    border:1px solid var(--ui-border);
    border-radius:var(--ui-radius);
    background:linear-gradient(145deg,var(--ui-panel),color-mix(in srgb,var(--ui-panel) 92%,#eaf5ff))!important;
    box-shadow:var(--ui-shadow);
  }
  .page-title,.forum-hero{padding:24px 26px}
  .inner-title{padding:28px 26px;text-align:left}

  #home .friendship-card{
    margin:14px 0;
    padding:20px 22px;
    border:1px solid var(--ui-border);
    border-radius:var(--ui-radius);
    background:var(--ui-panel);
    box-shadow:var(--ui-shadow);
  }
  #home .feed-head{
    min-height:56px;
    padding-inline:20px;
    border:1px solid var(--ui-border);
    border-radius:var(--ui-radius) var(--ui-radius) 0 0;
    background:var(--ui-panel);
  }
  #home .post-list{
    border:1px solid var(--ui-border);
    border-top:0;
    border-radius:0 0 var(--ui-radius) var(--ui-radius);
    background:var(--ui-panel);
    box-shadow:var(--ui-shadow);
  }
  #home .post-item:last-child{border-radius:0 0 calc(var(--ui-radius) - 1px) calc(var(--ui-radius) - 1px)}

  #forum .forum-toolbar{
    min-height:58px;
    margin-top:14px;
    padding-inline:20px;
    border:1px solid var(--ui-border);
    border-radius:var(--ui-radius) var(--ui-radius) 0 0;
    background:var(--ui-panel);
  }
  #forum .forum-feed-controls{
    margin:0 0 14px;
    border:1px solid var(--ui-border);
    border-top:0;
    border-radius:0 0 var(--ui-radius) var(--ui-radius);
    background:var(--ui-panel);
    box-shadow:var(--ui-shadow);
  }
  #forum .thread-list{
    border-color:var(--ui-border);
    border-radius:var(--ui-radius);
    background:var(--ui-panel);
    box-shadow:var(--ui-shadow);
  }
  .desktop-context-search,.desktop-context-card{
    border:1px solid var(--ui-border);
    background:var(--ui-panel);
    box-shadow:var(--ui-shadow);
  }
  .desktop-context{z-index:50;visibility:visible;opacity:1}
  .desktop-context-search:hover,.desktop-context-trends>button:hover{background:var(--ui-panel-soft)}

  body.desktop-utility-page .standalone-page{background:transparent}
  body.desktop-utility-page .notifications-page>.standalone-list{min-height:min(430px,calc(100dvh - 220px))}
  body.desktop-utility-page .notifications-page>.standalone-list>.social-empty{display:grid;min-height:inherit;place-items:center;align-content:center}
  body.desktop-utility-page .profile-page-guest{min-height:min(520px,calc(100dvh - 72px))}
  body.desktop-utility-page .profile-page-guest-card{align-content:center}
}

@media(max-width:1023px){
  :root{
    --mobile-top:calc(58px + env(safe-area-inset-top));
    --mobile-bar:var(--mobile-top);
    --mobile-edge:12px;
  }
  html{scroll-padding-top:var(--mobile-top)}
  body{min-width:0;background:var(--ui-canvas);overflow-x:clip}
  #app,.page,.forum-page{max-width:100%;overflow-x:clip}
  .page,.forum-page{scroll-margin-top:var(--mobile-top);background:transparent}
  .page.active{animation:auditedMobilePageIn .24s cubic-bezier(.2,.8,.2,1) both}
  @keyframes auditedMobilePageIn{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:none}}

  .topbar{
    height:var(--mobile-top);
    padding-top:env(safe-area-inset-top);
    border-bottom-color:var(--ui-border);
    background:color-mix(in srgb,var(--surface) 91%,transparent);
    box-shadow:0 5px 22px #19324a0a;
    backdrop-filter:blur(20px) saturate(1.15);
  }
  .nav-wrap{height:58px;padding:0 12px}
  .logo{flex:none}
  .logo-mark{width:34px;height:34px;box-shadow:0 7px 18px #0f14191f}
  .actions{min-width:0;gap:2px}
  .actions button{width:40px;height:40px}
  .topbar .actions #notificationBtn,
  .topbar .actions #authBtn{display:none}
  .topbar .actions #searchBtn,
  .topbar .actions #wallpaperBtn,
  .topbar .actions #menuBtn{display:grid;place-items:center}
  .topbar nav{padding-top:calc(76px + env(safe-area-inset-top));background:var(--ui-panel)!important}

  #home .social-hero,#forum .forum-hero,.inner-title{
    width:auto;
    margin:var(--mobile-edge) var(--mobile-edge) 0;
    padding:20px!important;
    border:1px solid var(--ui-border)!important;
    border-radius:var(--ui-radius)!important;
    background:linear-gradient(145deg,var(--ui-panel),color-mix(in srgb,var(--ui-panel) 90%,#e9f5ff))!important;
    box-shadow:var(--ui-shadow);
  }
  #home .social-hero h1,#forum .forum-hero h1,.inner-title h1{font-size:22px}
  #home .social-hero-actions{margin-top:17px}
  #home .social-hero-actions button{min-height:43px}

  #home .feed-head{
    min-height:54px;
    margin:var(--mobile-edge) var(--mobile-edge) 0;
    padding-inline:16px;
    border:1px solid var(--ui-border);
    border-radius:var(--ui-radius) var(--ui-radius) 0 0;
    background:var(--ui-panel);
  }
  #home .post-list{
    margin:0 var(--mobile-edge);
    border:1px solid var(--ui-border)!important;
    border-top:0!important;
    border-radius:0 0 var(--ui-radius) var(--ui-radius)!important;
    background:var(--ui-panel);
    box-shadow:var(--ui-shadow);
  }
  #home .post-item:last-child{border-radius:0 0 calc(var(--ui-radius) - 1px) calc(var(--ui-radius) - 1px)!important}
  #home .layout aside{
    display:grid;
    gap:10px;
    margin:var(--mobile-edge);
  }
  #home .layout aside .side-card{
    margin:0;
    border:1px solid var(--ui-border);
    border-radius:var(--ui-radius);
    background:var(--ui-panel);
    box-shadow:var(--ui-shadow);
  }
  #home .author-card{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:4px 13px;
    align-items:center;
    padding:18px!important;
    text-align:left;
  }
  #home .author-card .avatar{grid-row:1 / span 2;width:56px;height:56px;margin:0}
  #home .author-card h3{grid-column:2;margin:0;font-size:16px}
  #home .author-card>p{grid-column:2;margin:0;font-size:11px;line-height:1.65}
  #home .author-card .personality-tags,#home .author-card .stats{grid-column:1 / -1}
  #home .author-card .personality-tags{justify-content:flex-start;margin:14px 0 5px}
  #home .author-card .stats{margin-top:8px}

  #forum .forum-toolbar{
    min-height:57px;
    margin:var(--mobile-edge) var(--mobile-edge) 0;
    padding-inline:15px;
    border:1px solid var(--ui-border);
    border-radius:var(--ui-radius) var(--ui-radius) 0 0;
    background:var(--ui-panel);
  }
  #forum .forum-feed-controls{
    margin:0 var(--mobile-edge) var(--mobile-edge);
    border:1px solid var(--ui-border);
    border-top:0;
    border-radius:0 0 var(--ui-radius) var(--ui-radius);
    background:var(--ui-panel);
    box-shadow:var(--ui-shadow);
  }
  #forum .forum-filter-row{grid-template-columns:minmax(0,1fr) auto;min-width:0}
  #forum .forum-type-filter,#forum .forum-thread-search{min-width:0}
  #forum #forumBookmarksBtn{min-width:0;max-width:116px;padding-inline:11px;white-space:nowrap}
  #forum .thread-list{
    margin:0 var(--mobile-edge);
    border:1px solid var(--ui-border)!important;
    border-radius:var(--ui-radius)!important;
    background:var(--ui-panel);
    box-shadow:var(--ui-shadow);
  }
  #forum .thread-list>.forum-empty{min-height:150px}
  #forum .forum-aside{
    display:grid;
    gap:10px;
    margin:var(--mobile-edge);
  }
  #forum .forum-aside .side-card{
    margin:0;
    border:1px solid var(--ui-border);
    border-radius:var(--ui-radius);
    background:var(--ui-panel);
    box-shadow:var(--ui-shadow);
  }

  .project-grid,.friend-grid{margin:var(--mobile-edge);gap:10px}
  .project-grid article,.friend-grid>a,.about-box,.apply-card{
    border:1px solid var(--ui-border);
    border-radius:var(--ui-radius);
    background:var(--ui-panel);
    box-shadow:var(--ui-shadow);
  }
  .about-box{margin:var(--mobile-edge);padding:20px 17px}
  .apply-card{margin:var(--mobile-edge);padding:22px 18px}

  .standalone-page{padding-bottom:calc(var(--mobile-dock) + 18px);background:transparent}
  .standalone-page-header{
    width:auto;
    margin:var(--mobile-edge) var(--mobile-edge) 0;
    padding:14px 16px;
    border:1px solid var(--ui-border);
    border-radius:var(--ui-radius) var(--ui-radius) 0 0;
    background:var(--ui-panel);
    box-shadow:var(--ui-shadow);
  }
  .standalone-page-header h1{font-size:20px}
  .notifications-page .standalone-section-head{
    margin:0 var(--mobile-edge);
    padding-inline:16px;
    border-right:1px solid var(--ui-border);
    border-left:1px solid var(--ui-border);
    background:var(--ui-panel);
  }
  .notifications-page .standalone-list{
    min-height:260px;
    margin:0 var(--mobile-edge);
    border:1px solid var(--ui-border);
    border-top:0;
    border-radius:0 0 var(--ui-radius) var(--ui-radius);
    background:var(--ui-panel);
    box-shadow:var(--ui-shadow);
  }
  .notifications-page .standalone-list>.social-empty{display:grid;min-height:260px;place-items:center;align-content:center}

  .messages-page .messages-shell{
    min-height:calc(100dvh - var(--mobile-top) - var(--mobile-dock) - 106px);
    margin:0 var(--mobile-edge);
    overflow:hidden;
    border:1px solid var(--ui-border);
    border-top:0;
    border-radius:0 0 var(--ui-radius) var(--ui-radius);
    background:var(--ui-panel);
    box-shadow:var(--ui-shadow);
  }
  .messages-page .messages-inbox{
    display:flex;
    min-height:inherit;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    background:transparent;
  }
  .messages-page .messages-inbox-head,.messages-page .message-inbox-tabs{flex:none}
  .messages-page .message-friend-list,.messages-page .message-group-list{flex:0 1 auto}
  .messages-page .message-inbox-tabs{background:var(--ui-panel-soft)}
  .messages-page.chat-open .messages-shell{
    min-height:0;
    margin:0;
    border:0;
    border-radius:0;
    box-shadow:none;
  }

  .profile-page-guest,.profile-page-user{
    width:auto;
    min-height:calc(100dvh - var(--mobile-top) - var(--mobile-dock) - 24px);
    margin:var(--mobile-edge);
    overflow:hidden;
    border:1px solid var(--ui-border);
    border-radius:var(--ui-radius);
    background:var(--ui-panel);
    box-shadow:var(--ui-shadow);
  }
  .profile-page-guest-card{align-content:start;padding-top:24px}

  #mobileDock{
    border-top-color:var(--ui-border);
    background:color-mix(in srgb,var(--surface) 93%,transparent);
    box-shadow:0 -10px 28px #19324a12;
    backdrop-filter:blur(20px) saturate(1.15);
  }
  #mobileDock button.active{position:relative;color:var(--blue)}
  #mobileDock button.active::before{
    content:"";
    position:absolute;
    top:1px;
    width:22px;
    height:3px;
    border-radius:999px;
    background:var(--blue);
  }
  footer{
    margin:var(--mobile-edge);
    padding:21px 18px calc(var(--mobile-dock) + 18px);
    border:1px solid var(--ui-border);
    border-radius:var(--ui-radius);
    background:var(--ui-panel);
    box-shadow:var(--ui-shadow);
  }

  body.has-wallpaper .topbar,
  body.has-wallpaper #mobileDock,
  body.has-wallpaper #home .social-hero,
  body.has-wallpaper #forum .forum-hero,
  body.has-wallpaper .inner-title,
  body.has-wallpaper #home .feed-head,
  body.has-wallpaper #home .post-list,
  body.has-wallpaper #home .layout aside .side-card,
  body.has-wallpaper #forum .forum-toolbar,
  body.has-wallpaper #forum .forum-feed-controls,
  body.has-wallpaper #forum .thread-list,
  body.has-wallpaper #forum .forum-aside .side-card,
  body.has-wallpaper .standalone-page-header,
  body.has-wallpaper .standalone-section-head,
  body.has-wallpaper .standalone-list,
  body.has-wallpaper .messages-shell,
  body.has-wallpaper .profile-page-guest,
  body.has-wallpaper .profile-page-user,
  body.has-wallpaper footer{backdrop-filter:blur(15px) saturate(1.08)}
}

@media(max-width:420px){
  :root{--mobile-edge:10px}
  #home .social-hero,#forum .forum-hero,.inner-title{padding:18px!important}
  #home .author-card{grid-template-columns:52px minmax(0,1fr);padding:16px!important}
  #home .author-card .avatar{width:50px;height:50px}
  .standalone-page-header .secondary-btn{max-width:132px;padding-inline:10px}
}

@media(prefers-reduced-motion:reduce){
  .page.active{animation:none!important}
}

/* Precise publishing time and scalable blog pagination. */
.post-bottom{flex-wrap:wrap}
.post-bottom time,.article-meta time,.admin-list-item time{
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.blog-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:18px 0 0;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:18px;
  background:color-mix(in srgb,var(--surface) 94%,transparent);
  box-shadow:0 10px 28px #17283a0b;
}
.blog-pagination[hidden]{display:none!important}
.pagination-track,.pagination-pages{display:flex;align-items:center;justify-content:center}
.pagination-track{min-width:0;gap:8px}
.pagination-pages{gap:6px}
.blog-pagination button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  height:38px;
  min-width:38px;
  margin:0;
  padding:0 11px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
.blog-pagination .pagination-page{width:38px;padding:0;border-radius:50%;font-variant-numeric:tabular-nums}
.blog-pagination .pagination-nav{gap:6px;min-width:78px}
.blog-pagination button:hover:not(:disabled){border-color:color-mix(in srgb,var(--blue) 45%,var(--line));background:var(--soft);color:var(--blue);transform:translateY(-1px)}
.blog-pagination button:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 22%,transparent);outline-offset:2px}
.blog-pagination button.active{
  border-color:var(--blue);
  background:linear-gradient(135deg,#159cf4,#6f69f8);
  color:#fff;
  box-shadow:0 7px 18px color-mix(in srgb,var(--blue) 24%,transparent);
}
.blog-pagination button:disabled{opacity:.38;cursor:not-allowed}
.pagination-ellipsis{display:grid;width:20px;height:38px;place-items:center;color:var(--muted);font-size:14px;user-select:none}
.pagination-summary{margin-left:auto;color:var(--muted);font-size:10px;white-space:nowrap}
.pagination-summary b{color:var(--text);font-size:11px}
body.has-wallpaper .blog-pagination{background:color-mix(in srgb,var(--surface) var(--panel-opacity),transparent);backdrop-filter:blur(15px) saturate(1.08)}

@media(max-width:520px){
  .post-bottom time{width:100%;margin:5px 0 0}
  .blog-pagination{flex-direction:column;gap:8px;margin:12px var(--mobile-edge,12px) 0;padding:10px;border-radius:var(--ui-radius,18px)}
  .pagination-track{width:100%;justify-content:space-between;gap:5px}
  .pagination-pages{min-width:0;gap:4px}
  .blog-pagination button{height:44px;min-width:44px;padding:0 8px}
  .blog-pagination .pagination-page{width:44px}
  .blog-pagination .pagination-nav{min-width:44px;padding:0}
  .pagination-nav-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .pagination-ellipsis{width:14px}
  .pagination-summary{margin:0;text-align:center}
}

/* Unified image, GIF and video surfaces. */
.article-text img,.article-text video{display:block;max-width:100%;height:auto;margin:24px auto;border-radius:12px}
.article-text video{width:min(100%,760px);max-height:min(72vh,680px);background:#090b10}
.thread-image-preview img,.thread-image-preview video{width:74px;height:54px;object-fit:cover;border-radius:8px;background:#090b10}
.message-media-preview-visual{width:52px;height:42px;overflow:hidden;border-radius:8px;background:#090b10}
.message-media-preview-visual img,.message-media-preview-visual video{display:block;width:100%;height:100%;object-fit:cover}
.dm-message .dm-media-card{width:min(360px,100%);margin:-4px -5px 8px;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:12px;background:#080a0e}
.dm-message .dm-media-card video{display:block;width:100%;max-height:420px;object-fit:contain;background:#080a0e}
.dm-message .dm-media-card a{display:block;padding:7px 10px;color:#dbe7ff;background:rgba(12,17,27,.92);font-size:9px;line-height:1.35;text-decoration:none}
@media(max-width:480px){.dm-message .dm-media-card{max-width:min(270px,100%)}}
