:root{--bg:#fff;--bg-subtle:#f6f8fa;--surface:#fff;--surface-hover:#f6f8fa;--fg:#0f1419;--fg-muted:#5c6b7a;--fg-faint:#687684;--line:#e3e8ee;--line-strong:#cfd8e3;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#eff4ff;--accent-fg:#fff;--like:#e0245e;--like-soft:#fdeaf1;--save:#f59e0b;--save-soft:#fef4e2;--success:#12894a;--danger:#d21f3c;--danger-soft:#fdeced;--t-sm:.8125rem;--t-md:.9375rem;--t-lg:1.0625rem;--w-normal:400;--w-bold:600;--radius:14px;--radius-sm:10px;--radius-pill:999px;--shadow:0 1px 2px #0f14190d;--shadow-lg:0 8px 28px #0f14191f;--sidebar-w:248px;--content-w:600px;--aside-w:320px;--nav-h:58px}:root:not([data-theme=light]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1c2128;--bg-subtle:#22272e;--surface:#22272e;--surface-hover:#2d333b;--fg:#cdd9e5;--fg-muted:#9aa8b6;--fg-faint:#7c8b9a;--line:#373e47;--line-strong:#454f5b;--accent:#6cb6ff;--accent-hover:#8ccaff;--accent-soft:#253242;--accent-fg:#10161c;--like:#ef7fa8;--like-soft:#33222a;--save:#d9a441;--save-soft:#302819;--success:#6bbf6e;--danger:#e5837c;--danger-soft:#34211f;--shadow:0 1px 2px #00000047;--shadow-lg:0 8px 28px #0000005c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#1c2128;--bg-subtle:#22272e;--surface:#22272e;--surface-hover:#2d333b;--fg:#cdd9e5;--fg-muted:#9aa8b6;--fg-faint:#7c8b9a;--line:#373e47;--line-strong:#454f5b;--accent:#6cb6ff;--accent-hover:#8ccaff;--accent-soft:#253242;--accent-fg:#10161c;--like:#ef7fa8;--like-soft:#33222a;--save:#d9a441;--save-soft:#302819;--success:#6bbf6e;--danger:#e5837c;--danger-soft:#34211f;--shadow:0 1px 2px #00000047;--shadow-lg:0 8px 28px #0000005c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,system-ui,sans-serif;font-size:15px;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{max-width:100%;display:block}video,iframe,canvas,svg{max-width:100%}p,span,li,td,th,dd,dt,h1,h2,h3,h4{overflow-wrap:break-word}table{max-width:100%;display:block;overflow-x:auto}::selection{background:var(--accent);color:var(--accent-fg)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.app{grid-template-columns:var(--sidebar-w) minmax(0, var(--content-w)) var(--aside-w);align-items:start;gap:28px;max-width:1240px;margin:0 auto;padding:0 20px;display:grid}.sidebar{flex-direction:column;gap:4px;height:100vh;padding:18px 0 20px;display:flex;position:sticky;top:0}.logo{font-size:1.24rem;font-weight:var(--w-bold);letter-spacing:-.03em;align-items:center;gap:9px;padding:6px 12px 16px;display:flex}.logo-mark{background:linear-gradient(135deg, var(--accent), #7c3aed);color:#fff;width:32px;height:32px;font-size:var(--t-lg);font-weight:var(--w-bold);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.nav-item{border-radius:var(--radius-pill);color:var(--fg-muted);font-size:var(--t-lg);font-weight:var(--w-normal);align-items:center;gap:14px;padding:11px 13px;transition:background .13s,color .13s;display:flex;position:relative}.nav-item:hover{background:var(--surface-hover);color:var(--fg)}.nav-item.active{color:var(--fg);font-weight:var(--w-bold)}.nav-item.active svg{stroke-width:2.4px}.nav-badge{border-radius:var(--radius-pill);background:var(--like);color:#fff;min-width:17px;height:17px;font-size:var(--t-sm);font-weight:var(--w-bold);border:2px solid var(--bg);place-items:center;padding:0 5px;display:grid;position:absolute;top:6px;left:26px}.sidebar-cta{margin:14px 6px 0}.sidebar-user{border-radius:var(--radius-pill);align-items:center;gap:10px;min-width:0;margin-top:auto;padding:9px 10px;transition:background .13s;display:flex}.sidebar-user:hover{background:var(--surface-hover)}.sidebar-user .meta{flex:1;min-width:0}.sidebar-user .name{font-weight:var(--w-bold);font-size:var(--t-md);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-user .handle{color:var(--fg-faint);font-size:var(--t-sm)}.mobile-head{display:none}.main{border-left:1px solid var(--line);border-right:1px solid var(--line);min-width:0;min-height:100vh}.topbar{z-index:20;background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar-title{min-height:52px;font-size:var(--t-lg);font-weight:var(--w-bold);letter-spacing:-.01em;align-items:center;gap:10px;padding:0 16px;display:flex}.topbar-title>.btn:last-child,.topbar-title>a:last-child:not(:first-child){margin-left:auto}.tabs{display:flex}.tab{text-align:center;font-size:var(--t-md);font-weight:var(--w-bold);color:var(--fg-muted);flex:1;padding:13px 8px;transition:background .13s;position:relative}.tab:hover{background:var(--surface-hover)}.tab.active{color:var(--fg)}.tab.active:after{content:"";background:var(--accent);border-radius:3px 3px 0 0;width:54px;height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.aside{flex-direction:column;gap:16px;padding:16px 0;display:flex;position:sticky;top:16px}.panel{background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-head{font-size:var(--t-lg);font-weight:var(--w-bold);letter-spacing:-.01em;padding:13px 16px 9px}.panel-row{align-items:center;gap:11px;min-width:0;padding:10px 16px;transition:background .13s;display:flex}.panel-row:hover{background:var(--surface-hover)}.panel-row .grow{flex:1;min-width:0}.panel-row .t{font-weight:var(--w-bold);font-size:var(--t-md);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.panel-row .s{color:var(--fg-faint);font-size:var(--t-sm)}.panel-foot{color:var(--accent);font-size:var(--t-md);font-weight:var(--w-bold);padding:11px 16px}.panel-foot:hover{background:var(--surface-hover)}.post{border-bottom:1px solid var(--line);gap:12px;padding:16px;transition:background .12s;display:flex}.post:hover{background:var(--surface-hover)}.post-body{flex:1;min-width:0}.post-head{font-size:var(--t-md);flex-wrap:wrap;align-items:baseline;gap:6px;margin-bottom:3px;display:flex}.post-name{font-weight:var(--w-bold);letter-spacing:-.01em}.post-name:hover{text-decoration:underline}.post-handle,.post-time{color:var(--fg-faint);font-size:var(--t-sm)}.post-dot{color:var(--fg-faint)}.post-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--t-md);margin:2px 0 0}.course-chip{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--t-sm);font-weight:var(--w-bold);border:1px solid #0000;align-items:center;gap:6px;margin-top:9px;padding:4px 11px 4px 8px;transition:border-color .13s;display:inline-flex}.course-chip:hover{border-color:var(--accent)}.poll-chip{border-radius:var(--radius-pill);background:var(--bg-subtle);color:var(--fg-muted);font-size:var(--t-sm);font-weight:var(--w-bold);align-items:center;gap:5px;margin-top:9px;padding:4px 11px;display:inline-flex}.poll-block{flex-direction:column;gap:8px;margin-top:10px;display:flex}.poll-choice{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--fg);font-size:var(--t-md);text-align:left;cursor:pointer;align-items:center;gap:10px;padding:12px 14px;transition:border-color .12s,background .12s;display:flex;position:relative;overflow:hidden}.poll-choice-fill{background:var(--accent);opacity:.12;transition:width .2s;position:absolute;inset:0 auto 0 0}.poll-choice.sel .poll-choice-fill{opacity:.2}.poll-choice-mark{z-index:1;position:relative}.poll-choice-text{z-index:1;flex:1;position:relative}.poll-choice-pct{z-index:1;font-weight:var(--w-bold);position:relative}.poll-choice:hover:not(:disabled){border-color:var(--line-strong)}.poll-choice.sel{border-color:var(--accent);background:var(--accent-soft)}.poll-choice:disabled{cursor:default;opacity:.75}.poll-choice-mark{color:var(--accent);font-size:1.05rem;line-height:1}.poll-result{border-radius:var(--radius-sm);background:var(--bg-subtle);position:relative;overflow:hidden}.poll-result-fill{background:var(--accent);position:absolute;inset:0 auto 0 0}.poll-result-row{justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex;position:relative}.poll-result-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.poll-result-pct{font-weight:var(--w-bold)}.poll-vote-btn{border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-fg);font-weight:var(--w-bold);cursor:pointer;border:none;align-self:flex-start;padding:8px 18px}.poll-vote-btn:disabled{opacity:.5;cursor:default}.poll-change-btn{color:var(--accent);font-size:var(--t-sm);font-weight:var(--w-bold);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:4px 0}.poll-change-btn:disabled{opacity:.5;cursor:default}.poll-error{color:var(--danger);font-size:var(--t-sm);margin:0}.poll-foot{color:var(--fg-muted);font-size:var(--t-sm);align-items:center;gap:4px;display:flex}.poll-closed{color:var(--danger)}.poll-voters-btn{color:var(--accent);font-size:var(--t-sm);font-weight:var(--w-bold);cursor:pointer;background:0 0;border:none;margin-left:auto}.poll-voters-overlay{z-index:50;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.poll-voters-dialog{background:var(--surface);border-radius:var(--radius);width:min(420px,100%);max-height:70vh;padding:18px 20px;overflow-y:auto}.poll-voters-dialog header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.poll-voters-dialog header button{cursor:pointer;color:var(--fg-muted);background:0 0;border:none;font-size:1rem}.poll-voters-group{margin-bottom:14px}.poll-voters-head{border-radius:var(--radius-sm);background:var(--bg-subtle);justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;padding:6px 8px;display:flex}.poll-voters-head>strong{font-weight:var(--w-bold)}.poll-voters-count{color:var(--fg-muted);font-size:var(--t-sm)}.poll-voters-empty{color:var(--fg-faint);font-size:var(--t-sm);margin:4px 8px}.poll-voters-loading{color:var(--fg-muted)}.poll-voters-list{margin:0;padding:0;list-style:none}.poll-voter{align-items:center;gap:12px;padding:7px 8px;display:flex}.poll-voter-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:40px;height:40px}.poll-voter-initial{background:var(--accent-soft);color:var(--accent);font-weight:var(--w-bold);justify-content:center;align-items:center;display:flex}.poll-voter-meta{flex-direction:column;min-width:0;display:flex}.poll-voter-name{font-size:var(--t-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.poll-voter-handle{font-size:var(--t-sm);color:var(--fg-muted)}.poll-setting{cursor:pointer;align-items:flex-start;gap:10px;margin-top:12px;display:flex}.poll-setting input{margin-top:3px}.poll-setting span{flex-direction:column;display:flex}.poll-setting small{color:var(--fg-muted)}.note-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-subtle);margin-top:10px;transition:border-color .13s;display:flex;overflow:hidden}.note-card:hover{border-color:var(--line-strong)}.note-thumb{background:var(--bg-subtle);border-right:1px solid var(--line);flex-shrink:0;place-items:center;width:122px;min-height:152px;display:grid;position:relative;overflow:hidden}.note-thumb img{object-fit:cover;width:100%;height:100%}.note-thumb .pdf-icon{color:var(--fg-faint)}.note-pages{color:#fff;font-size:var(--t-sm);font-weight:var(--w-bold);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0e14d1;border-radius:6px;padding:2px 7px;position:absolute;bottom:7px;right:7px}.note-meta{flex:1;min-width:0;padding:13px 15px}.note-title{font-weight:var(--w-bold);font-size:var(--t-lg);letter-spacing:-.015em;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 4px;display:-webkit-box;overflow:hidden}.note-desc{color:var(--fg-muted);font-size:var(--t-sm);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.note-stats{color:var(--fg-faint);font-size:var(--t-sm);font-weight:var(--w-normal);gap:14px;margin-top:10px;display:flex}.media-grid{border-radius:var(--radius);border:1px solid var(--line);gap:3px;margin-top:11px;display:grid;overflow:hidden}.media-grid.n1{grid-template-columns:1fr}.media-grid.n2,.media-grid.n3,.media-grid.n4{grid-template-columns:1fr 1fr}.media-grid img{object-fit:cover;background:var(--bg-subtle);width:100%;height:100%;max-height:420px}.actions{flex-wrap:wrap;gap:22px;margin-top:12px;display:flex}.actions .action.save{margin-left:auto}.action{border-radius:var(--radius-pill);color:var(--fg-faint);font-size:var(--t-sm);font-weight:var(--w-normal);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin:-6px;padding:6px;transition:color .13s;display:inline-flex}.action .ring{border-radius:50%;place-items:center;width:32px;height:32px;margin:-6px;transition:background .13s;display:grid}.action:hover{color:var(--accent)}.action:hover .ring{background:var(--accent-soft)}.action.like:hover,.action.like.on{color:var(--like)}.action.like:hover .ring,.action.like.on .ring{background:var(--like-soft)}.action.save:hover,.action.save.on{color:var(--save)}.action.save:hover .ring,.action.save.on .ring{background:var(--save-soft)}.action.on svg{fill:currentColor}.action:disabled{opacity:.5;cursor:default}@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.32)}to{transform:scale(1)}}.action.pop svg{animation:.32s pop}.avatar{font-weight:var(--w-bold);color:#fff;background:linear-gradient(135deg, var(--accent), #7c3aed);-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar.s28{width:28px;height:28px;font-size:var(--t-sm)}.avatar.s38{width:38px;height:38px;font-size:var(--t-sm)}.avatar.s44{width:44px;height:44px;font-size:var(--t-md)}.avatar.s56{width:56px;height:56px;font-size:1.2rem}.avatar.s88{border:3px solid var(--bg);width:88px;height:88px;font-size:2rem}.btn{border-radius:var(--radius-pill);font-size:var(--t-md);font-weight:var(--w-bold);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:9px 18px;transition:background .13s,border-color .13s,opacity .13s;display:inline-flex}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-primary:hover{background:var(--accent-hover)}.btn-outline{border-color:var(--line-strong);color:var(--fg);background:0 0}.btn-outline:hover{background:var(--surface-hover)}.btn-ghost{color:var(--fg-muted);background:0 0}.btn-ghost:hover{background:var(--surface-hover);color:var(--fg)}.btn-text{color:var(--fg);background:0 0;border-color:#0000;padding:4px 6px}.btn-text:hover{background:var(--surface-hover)}.comment-video{border-radius:10px;max-width:320px;overflow:hidden}.btn-danger{border-color:var(--line-strong);color:var(--danger);background:0 0}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn-block{width:100%}.btn-lg{font-size:var(--t-lg);padding:12px 22px}.btn-sm{font-size:var(--t-sm);padding:6px 14px}.btn:disabled{opacity:.55;cursor:default}.field{margin-bottom:15px}.field label{font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--fg-muted);margin-bottom:6px;display:block}.input,.textarea,.select{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;font-size:var(--t-md);color:var(--fg);padding:11px 13px;transition:border-color .13s,box-shadow .13s}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.textarea{resize:vertical;min-height:96px;line-height:1.5}.select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--fg-faint) 50%), linear-gradient(135deg, var(--fg-faint) 50%, transparent 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:34px}.field-error{color:var(--danger);font-size:var(--t-sm);margin-top:5px}.field-hint{color:var(--fg-faint);font-size:var(--t-sm);margin-top:5px}.alert{border-radius:var(--radius-sm);font-size:var(--t-sm);border:1px solid #0000;margin-bottom:15px;padding:11px 14px}.alert-error{background:var(--danger-soft);color:var(--danger);border-color:currentColor}.alert-info{background:var(--accent-soft);color:var(--accent)}.auth{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-mobile-brand{display:none}.auth-brand{background:linear-gradient(150deg, var(--accent) 0%, #7c3aed 100%);color:#fff;flex-direction:column;justify-content:center;align-self:start;gap:26px;height:100vh;padding:52px 56px;display:flex;position:sticky;top:0}.auth-brand h1{letter-spacing:-.035em;max-width:16ch;margin:0;font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.14}.auth-brand p{font-size:var(--t-lg);opacity:.92;max-width:42ch;margin:0}.auth-points{flex-direction:column;gap:13px;margin-top:4px;display:flex}.auth-point{font-size:var(--t-md);opacity:.95;align-items:flex-start;gap:12px;display:flex}.auth-point b{font-weight:var(--w-bold);display:block}.auth-form{place-items:center;padding:40px 24px;display:grid}.auth-card{width:100%;max-width:384px}.auth-card h2{letter-spacing:-.03em;margin:0 0 6px;font-size:1.55rem}.auth-card .lead{color:var(--fg-muted);font-size:var(--t-md);margin:0 0 26px}.auth-alt{text-align:center;color:var(--fg-muted);font-size:var(--t-md);margin-top:20px}.auth-alt a{color:var(--accent);font-weight:var(--w-bold)}.profile-head{padding:18px 18px 0}.profile-top{align-items:center;gap:22px;margin-bottom:14px;display:flex}.profile-stats{text-align:center;font-size:var(--t-sm);flex:1;justify-content:space-around;gap:10px;display:flex}.profile-stats>*{flex-direction:column;gap:1px;display:flex}.profile-stats b{font-weight:var(--w-bold);font-size:var(--t-lg)}.profile-stats span{color:var(--fg-muted)}.profile-stats a:hover b{text-decoration:underline}.profile-name{font-size:var(--t-md);font-weight:var(--w-bold);letter-spacing:-.01em;margin:0}.profile-handle{color:var(--fg-faint);font-size:var(--t-sm)}.profile-bio{font-size:var(--t-md);white-space:pre-wrap;margin:6px 0 0}.academic-line{color:var(--fg-muted);font-size:var(--t-sm);margin-top:6px}.academic-line .sep{opacity:.5;margin:0 5px}.profile-actions{gap:8px;margin:14px 0 0;display:flex}.profile-actions>.btn,.profile-actions>form>.btn{flex:1;justify-content:center}.profile-actions>.profile-menu{flex:none}.course-hero{border-bottom:1px solid var(--line);padding:20px 18px}.course-hero h1{letter-spacing:-.03em;margin:0 0 4px;font-size:1.5rem}.course-hero .code{font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-pill);margin-bottom:9px;padding:2px 9px;display:inline-block}.course-hero .desc{color:var(--fg-muted);font-size:var(--t-md);margin:8px 0 0}.course-hero .row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.topic-list{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.topic{border-radius:var(--radius-pill);border:1px solid var(--line-strong);font-size:var(--t-sm);color:var(--fg-muted);padding:5px 12px;transition:border-color .13s,color .13s}.topic:hover{border-color:var(--accent);color:var(--accent)}.course-grid{flex-direction:column;display:flex}.course-card{border-bottom:1px solid var(--line);background:0 0;align-items:center;gap:12px;padding:11px 16px;transition:background .12s;display:flex}.course-card:hover{background:var(--surface-hover)}.course-card h3{-webkit-line-clamp:2;overflow-wrap:anywhere;font-size:var(--t-md);font-weight:var(--w-bold);letter-spacing:0;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.course-card .stats{color:var(--fg-faint);font-size:var(--t-sm);font-weight:var(--w-normal);gap:10px;display:flex}.course-card>a{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.notif{border-bottom:1px solid var(--line);gap:13px;padding:14px 18px;transition:background .12s;display:flex}.notif:hover{background:var(--surface-hover)}.notif.unread{background:var(--accent-soft)}.notif-icon{border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.notif-icon.like{background:var(--like-soft);color:var(--like)}.notif-icon.comment,.notif-icon.follow{background:var(--accent-soft);color:var(--accent)}.notif-icon.save{background:var(--save-soft);color:var(--save)}.notif-text{font-size:var(--t-md)}.notif-time{color:var(--fg-faint);font-size:var(--t-sm);margin-top:2px}.composer{border-bottom:1px solid var(--line);padding:16px 18px}.composer-row{gap:12px;display:flex}.composer-body{flex:1;min-width:0}.composer textarea{width:100%;color:var(--fg);font-size:var(--t-lg);resize:none;background:0 0;border:0;min-height:54px;padding:8px 0;line-height:1.5}.composer textarea:focus{outline:none}.composer textarea::placeholder{color:var(--fg-faint)}.composer-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding-top:11px;display:flex}.composer-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tool{width:34px;height:34px;color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;transition:background .13s;display:grid}.tool:hover{background:var(--accent-soft)}.type-switch{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.type-option{border-radius:var(--radius-pill);border:1px solid var(--line-strong);color:var(--fg-muted);font-size:var(--t-sm);font-weight:var(--w-bold);cursor:pointer;background:0 0;padding:7px 15px;transition:all .13s}.type-option.on{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.file-drop{border:2px dashed var(--line-strong);border-radius:var(--radius);text-align:center;cursor:pointer;color:var(--fg-muted);padding:26px 18px;transition:border-color .13s,background .13s}.file-drop:hover{border-color:var(--accent);background:var(--accent-soft)}.file-drop strong{color:var(--fg);font-size:var(--t-md);margin-bottom:3px;display:block}.file-drop small{font-size:var(--t-sm)}.file-chosen{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-subtle);align-items:center;gap:12px;padding:13px 15px;display:flex}.file-chosen .grow{flex:1;min-width:0}.file-chosen .fname{font-weight:var(--w-bold);font-size:var(--t-md);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.file-chosen .fsize{color:var(--fg-faint);font-size:var(--t-sm)}.progress{background:var(--line);border-radius:3px;height:5px;margin-top:8px;overflow:hidden}.progress span{background:var(--accent);height:100%;transition:width .25s;display:block}.empty{text-align:center;color:var(--fg-muted);padding:52px 26px}.empty-icon{background:var(--bg-subtle);width:54px;height:54px;color:var(--fg-faint);border-radius:50%;place-items:center;margin:0 auto 14px;display:grid}.empty strong{color:var(--fg);font-size:var(--t-lg);margin-bottom:5px;display:block}.empty p{max-width:34ch;font-size:var(--t-md);margin:0 auto}.empty .btn{margin-top:18px}.skeleton{background:linear-gradient(90deg, var(--bg-subtle) 25%, var(--surface-hover) 50%, var(--bg-subtle) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:17px;height:17px;animation:.68s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.load-more{text-align:center;padding:18px}.divider{background:var(--line);height:1px}.muted{color:var(--fg-muted)}.faint{color:var(--fg-faint)}.center{text-align:center}.tabbar{display:none}@media (max-width:1100px){.app{grid-template-columns:74px minmax(0,1fr);gap:16px;max-width:780px}.aside,.sidebar .label,.sidebar .logo span:not(.logo-mark),.sidebar-user .meta{display:none}.sidebar .logo{justify-content:center;padding:6px 0 16px}.nav-item{justify-content:center;padding:12px}.sidebar-cta .btn span{display:none}.sidebar-cta .btn{padding:12px}.sidebar-user{justify-content:center}}@media (max-width:700px){.app{grid-template-columns:minmax(0,1fr);padding:0}.sidebar{display:none}.main{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));border:0}.mobile-head{background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:60;justify-content:space-between;align-items:center;gap:12px;height:52px;padding:0 14px;display:flex;position:sticky;top:0}.mobile-head .logo{font-size:var(--t-lg);margin:0}.mobile-head-bell{color:var(--fg-muted);place-items:center;display:grid;position:relative}.mobile-head-bell .nav-badge{top:-3px;left:auto;right:-5px}.mobile-head~.app .topbar{top:52px}.tabbar{height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:50;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--fg-faint);flex:1;place-items:center;display:grid;position:relative}.tabbar a.active{color:var(--fg)}.tabbar a.compose{color:var(--accent-fg)}.tabbar a.compose .fab{background:var(--accent);border-radius:13px;place-items:center;width:40px;height:40px;display:grid}.tabbar .nav-badge{margin-left:3px;top:9px;left:50%}.auth{grid-template-rows:auto 1fr;grid-template-columns:1fr}.auth-brand{display:none}.auth-mobile-brand{font-size:var(--t-lg);justify-content:center;padding:24px 0 0;display:flex}.auth-form{padding-top:20px}.post{padding:14px 15px}.note-card{flex-direction:row}.note-thumb{width:96px;min-height:124px}.course-card{padding:11px 14px}.actions{gap:16px}}.conv-row{border-bottom:1px solid var(--line);color:inherit;align-items:center;gap:12px;padding:12px 18px;display:flex}.conv-row:hover{background:var(--surface-hover)}.conv-row.unread{background:var(--accent-soft)}.conv-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.conv-head{align-items:baseline;gap:8px;display:flex}.conv-name{font-weight:var(--w-bold);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.conv-time{color:var(--fg-faint);font-size:var(--t-sm);flex-shrink:0}.conv-preview{color:var(--fg-muted);font-size:var(--t-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conv-row.unread .conv-preview{color:var(--fg);font-weight:var(--w-normal)}.conv-badge{flex-shrink:0;position:static}.chat-scroll{flex-direction:column;gap:6px;height:calc(100dvh - 132px);padding:16px 18px;display:flex;overflow-y:auto}.chat-older{align-self:center;margin-bottom:8px}.chat-hint{color:var(--fg-faint);text-align:center;font-size:var(--t-md);margin:auto 0}.bubble-row{display:flex}.bubble-row.mine{justify-content:flex-end}.bubble{background:var(--surface);border:1px solid var(--line);border-radius:16px;max-width:min(78%,460px);padding:8px 12px 6px}.bubble-row.mine .bubble{background:var(--accent);color:var(--accent-fg);border-color:#0000}.bubble p{white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.45}.bubble time{font-size:var(--t-sm);opacity:.65;text-align:right;margin-top:3px;display:block}.bubble-media{border-radius:10px;max-width:100%;margin-bottom:5px;display:block}.chat-composer{border-top:1px solid var(--line);background:var(--bg);gap:8px;padding:12px 18px;display:flex}.chat-composer .input{flex:1}.chat-error{padding:0 18px 6px}@media (max-width:700px){.chat-scroll{height:calc(100dvh - 242px)}}.search-filters{flex-direction:column;gap:10px;display:flex}.search-input-wrap{position:relative}.search-input-wrap .input{border-radius:var(--radius-pill);width:100%;padding-left:40px;padding-right:72px}.search-input-wrap .search-submit{border-radius:var(--radius-pill);position:absolute;top:50%;right:5px;transform:translateY(-50%)}.search-input-wrap .input::-webkit-search-cancel-button{display:none}.search-input-icon{color:var(--fg-faint);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.search-filters .select{border-radius:var(--radius-pill)}.chip-row{scrollbar-width:none;gap:7px;padding-bottom:2px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip{border-radius:var(--radius-pill);background:var(--bg-subtle);color:var(--fg-muted);font-size:var(--t-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;flex:none;padding:6px 13px;font-family:inherit;transition:background .13s,color .13s,border-color .13s}.chip:hover{background:var(--line);color:var(--fg)}.chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:var(--w-bold)}.tabs{gap:4px;padding:0 12px;display:flex}.tabs-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;overflow-x:auto}.tabs-scroll::-webkit-scrollbar{display:none}.tabs-scroll .tab{white-space:nowrap;flex:none}.tab{color:var(--fg-muted);font-size:var(--t-md);font-weight:var(--w-normal);border-bottom:2px solid #0000;padding:10px 14px 11px;position:relative}.tab:hover{color:var(--fg)}.tab.active{color:var(--fg);font-weight:var(--w-bold);border-bottom-color:var(--accent)}.tab-count{border-radius:var(--radius-pill);background:var(--accent);min-width:18px;height:18px;color:var(--accent-fg);font-size:var(--t-sm);font-weight:var(--w-bold);place-items:center;margin-left:6px;padding:0 5px;display:inline-grid}.box-note{background:var(--bg-subtle);border-bottom:1px solid var(--line);color:var(--fg-muted);font-size:var(--t-sm);margin:0;padding:11px 18px;line-height:1.5}.box-note a{color:var(--accent);font-weight:var(--w-bold)}.request-bar{padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg-subtle)}.request-bar p{color:var(--fg-muted);font-size:var(--t-sm);margin:0 0 11px;line-height:1.5}.request-bar strong{color:var(--fg)}.request-actions{gap:8px;display:flex}.request-actions .btn{flex:1;justify-content:center}.recipient-row{border:0;border-bottom:1px solid var(--line);width:100%;font-family:inherit;font-size:inherit;text-align:left;cursor:pointer;color:inherit;background:0 0}.recipient-row:disabled{opacity:.55;cursor:default}.chat-title-btn{color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:0;padding:0;display:flex}.chat-title-btn small{color:var(--fg-muted);font-size:var(--t-sm);font-weight:var(--w-normal)}.chat-title-btn:hover span{text-decoration:underline}.conv-count{color:var(--fg-faint);font-weight:var(--w-normal);font-size:var(--t-sm)}.system-line{border-radius:var(--radius-pill);background:var(--bg-subtle);max-width:80%;color:var(--fg-faint);font-size:var(--t-sm);text-align:center;align-self:center;margin:4px 0;padding:4px 12px}.bubble-author{font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--accent);margin-bottom:2px;display:block}.group-panel{min-height:100%}.group-head{border-bottom:1px solid var(--line);padding:16px 18px}.group-head h2{font-size:var(--t-lg);margin:0 0 3px}.group-head p{color:var(--fg-muted);font-size:var(--t-sm);margin:0 0 10px}.tag-admin{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--t-sm);font-weight:var(--w-bold);margin-left:7px;padding:1px 7px}.recipient-row.selected{background:var(--accent-soft)}.pick{text-align:center;width:22px;color:var(--accent);font-weight:var(--w-bold)}.q-chip{border-radius:var(--radius-pill);background:var(--save-soft);color:var(--save);font-size:var(--t-sm);font-weight:var(--w-bold);margin-left:9px;padding:2px 10px}.q-chip.done{background:var(--accent-soft);color:var(--accent)}.post.accepted{background:var(--accent-soft);border-left:3px solid var(--accent)}.badge-row{flex-wrap:wrap;gap:6px;margin:10px 0 4px;display:flex}.badge-pill{border-radius:var(--radius-pill);border:1px solid var(--line-strong);font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--fg-muted);cursor:default;padding:3px 10px}.badge-pill.t-bronze{color:#b87333;border-color:#6b4a25}.badge-pill.t-silver{color:#9aa8b6;border-color:#4b5563}.badge-pill.t-gold{color:var(--save);border-color:#6b5620}.badge-pill.t-special{color:var(--accent);border-color:var(--accent)}.rank-row{align-items:center}.rank{text-align:center;width:30px;font-weight:var(--w-bold);color:var(--fg-faint);font-size:var(--t-md);flex-shrink:0}.rank.r1{color:var(--save)}.rank.r2{color:var(--fg-muted)}.rank.r3{color:#b87333}.score{font-weight:var(--w-bold);color:var(--accent);flex-shrink:0}.story-bar{border-bottom:1px solid var(--line);scrollbar-width:none;gap:14px;padding:14px 18px;display:flex;overflow-x:auto}.story-bar::-webkit-scrollbar{display:none}.story-cell{cursor:pointer;width:68px;color:inherit;font:inherit;background:0 0;border:0;flex-direction:column;flex:none;align-items:center;gap:5px;padding:0;display:flex}.story-ring{background:linear-gradient(135deg, var(--accent), var(--like));border-radius:50%;place-items:center;width:64px;height:64px;padding:3px;display:grid;position:relative}.story-ring.seen{background:var(--line-strong)}.story-ring.add{background:var(--line)}.story-ring .avatar{border:2px solid var(--bg)}.story-add{background:var(--accent);width:20px;height:20px;color:var(--accent-fg);border:2px solid var(--bg);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-1px;right:-1px}.story-name{font-size:var(--t-sm);color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;max-width:68px;overflow:hidden}.story-overlay{z-index:200;background:#000000eb;place-items:center;display:grid;position:fixed;inset:0}.story-stage{background:#000;border-radius:12px;flex-direction:column;width:min(430px,100vw);height:min(92vh,100dvh);display:flex;position:relative;overflow:hidden}.story-progress{gap:3px;padding:10px 10px 0;display:flex}.story-progress .bar{background:#ffffff4d;border-radius:2px;flex:1;height:2px}.story-progress .bar.done,.story-progress .bar.active{background:#fff}.story-head{color:#fff;align-items:center;gap:9px;padding:10px 12px;display:flex}.story-head .grow{flex-direction:column;flex:1;min-width:0;display:flex}.story-head b{font-size:var(--t-sm)}.story-head time{font-size:var(--t-sm);opacity:.7}.story-head .btn{color:#fff}.story-views{font-size:var(--t-sm);opacity:.8;margin-right:6px}.story-body{flex:1;place-items:center;min-height:0;padding:0 12px 16px;display:grid}.story-media{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%}.story-text{color:#fff;text-align:center;white-space:pre-wrap;padding:24px;font-size:1.35rem;line-height:1.5}.story-caption{color:#fff;font-size:var(--t-md);background:#0000008c;border-radius:10px;margin:0;padding:8px 12px;position:absolute;bottom:18px;left:16px;right:16px}.story-tap{cursor:pointer;background:0 0;border:0;width:35%;position:absolute;top:60px;bottom:0}.story-tap.left{left:0}.story-tap.right{right:0}.post-video{margin-top:10px}.notif-avatar{flex-shrink:0;position:relative}.notif-icon.mini{border:2px solid var(--bg);width:20px;height:20px;position:absolute;bottom:-4px;right:-4px}.notif-icon.mini svg{width:11px;height:11px}.scope-chips{border-bottom:1px solid var(--line);padding:10px 18px}.scope-chips .chip{text-decoration:none}.tag-link{color:var(--accent);font-weight:var(--w-bold)}.tag-link:hover{text-decoration:underline}.tag-title{color:var(--accent)}.tag-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.tag-pill{border-radius:var(--radius-pill);border:1px solid var(--line-strong);color:var(--fg-muted);font-size:var(--t-sm);font-weight:var(--w-normal);padding:2px 10px}.tag-pill:hover{background:var(--surface-hover);color:var(--accent);border-color:var(--accent)}.setting-row{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:12px;padding:10px 0;display:flex}.setting-row:last-of-type{border-bottom:none}.setting-row .grow{flex-direction:column;gap:2px;min-width:0;display:flex}.setting-row strong{font-weight:var(--w-bold);font-size:var(--t-md)}.setting-row small{color:var(--fg-faint);font-size:var(--t-sm);line-height:1.35}.setting-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.profile-menu,.profile-menu>.btn{position:relative}.hamburger{gap:4px;width:18px;display:grid}.hamburger span{background:currentColor;border-radius:2px;height:2px;display:block}.profile-menu-panel[hidden]{display:none}.profile-menu-panel{border:1px solid var(--line);background:var(--surface);z-index:70;border-radius:14px;flex-direction:column;min-width:216px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 14px 40px #0000002e}.profile-menu-panel a,.profile-menu-panel button{width:100%;color:var(--fg);font:inherit;font-size:var(--t-md);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.profile-menu-panel a:hover,.profile-menu-panel button:hover{background:var(--surface-hover)}.profile-menu-panel .danger{color:var(--danger)}@media (max-width:420px){.profile-menu-panel{min-width:190px}}.section{padding-top:4px}.section+.section{border-top:1px solid var(--line)}.section-title{font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:10px;margin:0;padding:14px 16px 8px;display:flex}.section-more{color:var(--accent);font-size:var(--t-sm);font-weight:var(--w-bold);text-transform:none;letter-spacing:0;margin-left:auto}.mode-banner{border-radius:var(--radius);background:var(--accent-soft);color:var(--fg);align-items:flex-start;gap:12px;margin:12px 16px;padding:12px 14px;display:flex}.mode-banner .grow{flex:1;min-width:0}.mode-banner strong{font-size:var(--t-md);font-weight:var(--w-bold);display:block}.mode-banner p{font-size:var(--t-sm);color:var(--fg-muted);margin:3px 0 0;line-height:1.45}.mode-banner a{color:var(--accent);font-weight:var(--w-bold)}.doc-chip{border-radius:var(--radius);background:var(--accent-soft);color:var(--fg);align-items:center;gap:10px;min-width:0;margin-top:10px;padding:12px 14px;display:flex}.doc-chip .grow{overflow-wrap:anywhere;flex:1;min-width:0}.doc-chip .doc-icon{flex-shrink:0;font-size:20px}.doc-chip .doc-open{color:var(--accent);font-weight:var(--w-bold);flex-shrink:0}.field-hint.destination{border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--fg-muted);margin:8px 0 14px;padding:8px 11px}.field-hint.destination strong{color:var(--fg);font-weight:var(--w-bold)}.group-actions{flex-wrap:wrap;align-items:center;gap:8px;padding:0 16px 12px;display:flex}.group-actions .btn{white-space:nowrap}.invite-box{border:1px solid var(--border);border-radius:12px;margin-bottom:14px;padding:12px}.member-row{align-items:center;gap:10px;padding:6px 0;display:flex}.member-row strong{overflow-wrap:break-word}.tag-filter{scrollbar-width:thin;flex-wrap:nowrap;padding:0 16px 10px;overflow-x:auto}.tag-filter .chip{white-space:nowrap}.chip-count{opacity:.65;font-variant-numeric:tabular-nums;margin-left:6px}.audience-chip{background:color-mix(in srgb, var(--primary) 10%, transparent);color:var(--primary);border-radius:999px;margin:6px 0 2px;padding:3px 10px;font-size:12px;display:inline-block}.legal{max-width:760px;margin:0 auto;padding:32px 20px 64px;line-height:1.7}.legal-head{border-bottom:1px solid var(--line);margin-bottom:28px;padding-bottom:20px}.legal-back{color:var(--primary);margin-bottom:14px;font-size:14px;text-decoration:none;display:inline-block}.legal h1{margin:0 0 8px;font-size:28px;line-height:1.25}.legal-date{color:var(--muted);margin:0;font-size:14px}.legal section{margin-bottom:26px}.legal h2{margin:0 0 10px;font-size:19px}.legal h3{margin:18px 0 6px;font-size:16px}.legal p,.legal li{overflow-wrap:break-word}.legal ul{margin:8px 0;padding-left:20px}.legal li{margin-bottom:6px}.legal-summary{border:1px solid var(--line);background:color-mix(in srgb, var(--primary) 5%, transparent);border-radius:12px;padding:16px 18px}.legal-summary h2{font-size:16px}.legal-note{border-left:3px solid var(--primary);background:color-mix(in srgb, var(--primary) 6%, transparent);padding:10px 12px;font-size:14px}.legal-table{border-collapse:collapse;width:100%;font-size:15px;display:block;overflow-x:auto}.legal-table th,.legal-table td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 10px}.legal-foot{border-top:1px solid var(--line);margin-top:34px;padding-top:18px;font-size:14px}.story-foot{z-index:3;background:linear-gradient(#0000,#000000bf);padding:10px 14px 14px;position:absolute;bottom:0;left:0;right:0}.story-foot.own{text-align:center;color:#ffffffbf;font-size:.85rem}.story-reactions{justify-content:space-around;margin-bottom:8px;display:flex}.story-emoji{cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:1.6rem;line-height:1;transition:transform .15s}.story-emoji:hover{transform:scale(1.2)}.story-emoji.picked{transform:scale(1.35)}.story-reply{gap:8px;display:flex}.story-reply input{color:#fff;background:#00000059;border:1px solid #fff6;border-radius:22px;flex:1;padding:9px 14px;font-size:.9rem}.story-reply input::placeholder{color:#ffffff8c}.story-reply input:focus{border-color:#fff;outline:none}.story-flying{z-index:4;pointer-events:none;font-size:2.6rem;animation:.9s ease-out forwards story-fly;position:absolute;bottom:120px;left:50%}@keyframes story-fly{0%{opacity:1;transform:translate(-50%)scale(1)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-70px)scale(1.6)}}.vanish-btn.on{color:#f59e0b}.vanish-bar{border-bottom:1px solid var(--line);color:var(--fg-muted);background:#f59e0b1f;align-items:center;gap:12px;padding:9px 16px;font-size:.82rem;display:flex}.vanish-bar span{flex:1}.chat-scroll.vanish{background:#10131a}.bubble-meta{cursor:help;justify-content:flex-end;align-items:center;gap:5px;display:flex}.tick{opacity:.6;letter-spacing:-1px;font-size:.72rem}.tick.read{color:#53bdeb;opacity:1}.like-preview{color:var(--fg);cursor:pointer;text-align:left;background:0 0;border:none;padding:6px 0 2px;font-size:.86rem;font-weight:500;display:block}.like-preview:hover{text-decoration:underline}.modal-backdrop{z-index:60;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--panel,#fff);border-radius:14px;flex-direction:column;width:min(420px,100%);max-height:70vh;display:flex;overflow:hidden;box-shadow:0 16px 48px #00000040}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.modal-body{padding:6px 0;overflow-y:auto}.liker-list{margin:0;padding:0;list-style:none}.liker-list li{align-items:center;gap:10px;padding:8px 16px;display:flex}.liker-list li:hover{background:var(--surface-hover,#00000008)}.liker-list a{color:inherit;flex:1;align-items:center;gap:10px;display:flex}.liker-id{flex-direction:column;line-height:1.25;display:flex}.liker-id small{color:var(--fg-muted);font-size:.8rem}.liker-tag{color:var(--accent);white-space:nowrap;font-size:.75rem}.action.count{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none;padding:0 4px}.action.count:hover{text-decoration:underline}.bubble-context{opacity:.72;margin-bottom:3px;font-size:.72rem;display:block}.chat-attach{min-width:40px;padding:6px 10px;font-size:1rem;line-height:1}.bubble-media-button{cursor:zoom-in;background:0 0;border:none;padding:0;display:block}.bubble-file{max-width:260px;color:inherit;align-items:center;gap:10px;padding:4px 0;text-decoration:none;display:flex}.bubble-file-icon{font-size:1.5rem;line-height:1}.bubble-file-text{flex-direction:column;min-width:0;display:flex}.bubble-file-text b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bubble-file-text small{opacity:.75;font-size:.74rem}.lightbox{z-index:100;cursor:zoom-out;background:#000000e6;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;max-width:100%;max-height:100%}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.catalog-select{align-items:center;gap:6px;display:flex}.catalog-value{text-align:left;cursor:pointer;flex:1}.catalog-empty{color:var(--fg-faint)}.catalog-panel{border:1px solid var(--line);background:var(--bg-raised,var(--bg));border-radius:10px;margin-top:6px;padding:8px;position:relative}.catalog-list{max-height:260px;margin:8px 0 0;padding:0;list-style:none;overflow-y:auto}.catalog-list li+li{border-top:1px solid var(--line)}.catalog-list button{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:none;align-items:baseline;gap:8px;padding:9px 6px;display:flex}.catalog-list button:hover{background:var(--bg-hover,#7f7f7f14)}.catalog-list small{color:var(--fg-faint);font-size:.74rem}.catalog-note{color:var(--fg-faint);padding:12px 6px;font-size:.86rem}.kind-toggle{gap:8px;display:flex}.filter-row{flex-wrap:wrap;gap:12px;display:flex}.filter-row>.field{flex:1;min-width:220px}.tag-input-row{align-items:center;gap:8px;display:flex}.tag-input-row .input{flex:1}.reels-scroller{scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;border-radius:var(--radius);background:#000;height:calc(100dvh - 54px);overflow-y:auto}.reel{scroll-snap-align:start;background:#000;justify-content:center;align-items:center;height:100%;display:flex;position:relative;overflow:hidden}.reel-video-wrap{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.reel-video-wrap video{object-fit:contain;background:#000;width:auto;max-width:100%;height:100%;max-height:100%}.reel-video-missing,.reel-empty{color:#fff;text-align:center;padding:40px 16px}.reel-empty{background:var(--surface);color:var(--fg);border-radius:var(--radius)}.reel-empty .faint{color:var(--fg-faint);margin-top:6px}.reel-mute{pointer-events:none;background:#00000073;border-radius:999px;padding:4px 8px;font-size:14px;position:absolute;top:12px;right:12px}.reel-rail{flex-direction:column;align-items:center;gap:18px;display:flex;position:absolute;bottom:90px;right:10px}.reel-action{cursor:pointer;color:#fff;text-shadow:0 1px 3px #0009;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;font-size:12px;font-weight:600;display:flex}.reel-action.on,.reel-action.on svg{color:var(--accent)}.reel-meta{color:#fff;text-shadow:0 1px 4px #000000b3;position:absolute;bottom:20px;left:14px;right:70px}.reel-author{color:#fff;align-items:center;gap:8px;font-weight:600;display:flex}.reel-caption{cursor:pointer;margin-top:8px;font-size:14px;line-height:1.4}.reel-caption-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.reel-caption.open .reel-caption-text{-webkit-line-clamp:unset;max-height:40vh;display:block;overflow-y:auto}.reel-caption-more{color:#ffffffbf;font:inherit;cursor:pointer;background:0 0;border:0;padding:2px 0 0;font-weight:600}.reel-caption a{color:#fff;text-decoration:underline}.post-place{color:var(--accent);margin:2px 0 4px;font-size:.85rem;font-weight:500}.post-place a{color:var(--accent);text-decoration:none}.post-place a:hover{text-decoration:underline}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.consent{font-size:var(--t-sm,.86rem);color:var(--fg-muted);cursor:pointer;align-items:flex-start;gap:10px;margin:4px 0 18px;line-height:1.45;display:flex}.consent input{width:17px;height:17px;accent-color:var(--accent);flex-shrink:0;margin-top:3px}.consent a{color:var(--accent);font-weight:600}.consent-box{border:1px solid var(--line);border-radius:12px;margin:4px 0 18px;overflow:hidden}.consent-box-head{font-weight:var(--w-bold);font-size:var(--t-md);background:var(--surface-hover);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.consent-count{font-size:var(--t-sm);color:var(--fg-muted);font-weight:500}.consent-count.ok{color:var(--success)}.consent-items{margin:0;padding:0;list-style:none}.consent-items li+li{border-top:1px solid var(--line)}.consent-item{cursor:pointer;text-align:left;width:100%;color:var(--fg);font:inherit;background:0 0;border:0;align-items:center;gap:12px;padding:12px 14px;display:flex}.consent-item:hover{background:var(--surface-hover)}.consent-check{border:2px solid var(--line-strong);color:#fff;border-radius:6px;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:14px;font-weight:700;display:grid}.consent-check.ok{background:var(--success);border-color:var(--success)}.consent-title{font-size:var(--t-md);flex-direction:column;flex:1;gap:2px;font-weight:600;display:flex}.consent-title small{font-weight:400;font-size:var(--t-sm);color:var(--fg-muted)}.consent-go{color:var(--fg-faint);font-size:20px}.modal.legal-reader{width:min(760px,100%);height:min(88vh,900px);max-height:none}.legal-reader-progress{background:var(--line);height:3px}.legal-reader-progress span{background:var(--accent);height:100%;transition:width .1s linear;display:block}.legal-reader-body{flex:1;min-height:0;position:relative}.legal-reader-body iframe{background:var(--bg);border:0;width:100%;height:100%;display:block}.legal-reader-loading{color:var(--fg-muted);justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.legal-reader-foot{border-top:1px solid var(--line);background:var(--surface);flex-direction:column;gap:8px;padding:12px 16px;display:flex}@media (max-width:700px){.modal-backdrop:has(.legal-reader){padding:0}.modal.legal-reader{border-radius:0;height:100dvh}}.birth-prompt{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);font-size:var(--t-md);border-radius:12px;margin:12px 16px 0;padding:12px 14px}.birth-prompt-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.parent-box{background:var(--save-soft);border:1px solid color-mix(in srgb, var(--save) 35%, transparent);font-size:var(--t-md);border-radius:10px;margin-top:10px;padding:12px 14px}.parent-box label{font-weight:600;font-size:var(--t-sm);margin-bottom:4px;display:block}.setting-status{font-size:var(--t-sm);white-space:nowrap;color:var(--fg-muted);margin-right:8px}.setting-status.saved{color:var(--success)}.bubble{position:relative}.bubble-menu-btn{cursor:pointer;color:inherit;opacity:0;background:0 0;border:0;padding:2px 4px;font-size:16px;line-height:1;position:absolute;top:2px;right:4px}.bubble:hover .bubble-menu-btn,.bubble-menu-btn:focus-visible{opacity:.7}@media (hover:none){.bubble-menu-btn{opacity:.5}}.bubble-menu{z-index:5;background:var(--surface);min-width:140px;color:var(--fg);border:1px solid var(--line);border-radius:10px;flex-direction:column;display:flex;position:absolute;top:22px;right:4px;overflow:hidden;box-shadow:0 8px 24px #00000026}.bubble-menu button{text-align:left;font:inherit;font-size:var(--t-md);color:inherit;cursor:pointer;background:0 0;border:0;padding:9px 12px}.bubble-menu button:hover{background:var(--surface-hover)}.bubble-deleted-text{opacity:.7;margin:0;font-style:italic}.bubble:not(.bubble-deleted){padding-right:24px}.mention-wrap{position:relative}.mention-list{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 10px 28px #00000024}.mention-list button{cursor:pointer;text-align:left;width:100%;color:var(--fg);font:inherit;background:0 0;border:0;align-items:center;gap:10px;padding:7px 12px;display:flex}.mention-list button.active,.mention-list button:hover{background:var(--surface-hover)}.mention-list img{object-fit:cover;border-radius:50%}.mention-initial{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.mention-names{flex-direction:column;line-height:1.2;display:flex}.mention-names small{color:var(--fg-muted)}.password-wrap{position:relative}.password-wrap .input{width:100%;padding-right:44px}.password-toggle{cursor:pointer;color:var(--fg-muted);background:0 0;border:0;border-radius:8px;place-items:center;padding:6px;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-toggle:hover{color:var(--fg);background:var(--surface-hover)}.landing-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:40px;padding:64px 0 56px;display:grid}.landing-hero-text h1{text-wrap:balance;letter-spacing:-.04em;margin:0 0 18px;font-size:clamp(2rem,4.6vw,3.1rem);line-height:1.08}.landing-hero-text p{color:var(--fg-muted);max-width:52ch;margin:0 0 30px;font-size:1.12rem}.landing-cta{flex-wrap:wrap;gap:10px;display:flex}.landing-visual{background:linear-gradient(150deg, var(--accent) 0%, #7c3aed 100%);border-radius:28px;flex-direction:column;justify-content:center;gap:16px;min-height:340px;padding:28px;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 60px -20px #2563eb73}.landing-visual:after{content:"";background:#ffffff1a;border-radius:50%;width:260px;height:260px;position:absolute;top:-80px;right:-80px}.lv-card{z-index:1;background:var(--surface);color:var(--fg);border-radius:16px;padding:14px 16px;position:relative;box-shadow:0 12px 30px #0000002e}.lv-card small{color:var(--fg-muted);font-size:var(--t-sm);margin-top:2px;display:block}.lv-note{align-items:center;gap:12px;margin-right:36px;display:flex}.lv-icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.lv-lines{flex-direction:column;min-width:0;display:flex}.lv-lines b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lv-question{margin-left:36px}.lv-badge{color:#b45309;background:#fef4e2;border-radius:999px;margin-bottom:6px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.lv-question b{display:block}.lv-solved{font-weight:600;color:var(--success)!important}.lv-tags{z-index:1;flex-wrap:wrap;gap:8px;display:flex;position:relative}.lv-tags span{color:#fff;font-size:var(--t-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff2e;border-radius:999px;padding:6px 12px;font-weight:600}.landing-features{padding-bottom:56px}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:16px;display:grid}.feature-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;flex-direction:column;gap:8px;padding:22px;transition:transform .15s,border-color .15s;display:flex}.feature-card:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));transform:translateY(-2px)}.feature-icon{background:var(--accent-soft);width:52px;height:52px;color:var(--accent);border-radius:14px;place-items:center;margin-bottom:4px;display:grid}.feature-card h3{font-size:1.05rem;font-weight:var(--w-bold);letter-spacing:-.01em;margin:0}.feature-card p{color:var(--fg-muted);margin:0;font-size:.93rem;line-height:1.5}@media (max-width:860px){.landing-hero{grid-template-columns:minmax(0,1fr);gap:28px;padding:36px 0}.lv-note{margin-right:0}.lv-question{margin-left:0}.landing-visual{min-height:0;padding:20px}}
