.header.header{background:var(--brand-bar);border-bottom:1px solid var(--brand-bar-border)}.header .brand{display:inline-flex;align-items:center;gap:10px;color:var(--brand-bar-text)}.header .nav-link{color:var(--brand-bar-text-muted)}.header .nav-link:hover{background:var(--brand-bar-hover);color:var(--brand-bar-text)}.header .nav-link.active{background:var(--brand-bar-active);color:var(--brand-bar-text)}.header .user-chip{color:var(--brand-bar-text-muted)}.header .btn-ghost{color:var(--brand-bar-text-muted);background:none}.header .btn-ghost:hover{color:var(--brand-bar-text);background:var(--brand-bar-hover)}.header .brand img{display:block;height:40px;width:40px;background:var(--brand-mark-backdrop, transparent);border-radius:var(--brand-mark-radius, 0)}.header .header-inner{padding-block:6px}.header .wordmark{font:800 21px/1 Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;letter-spacing:-.02em;color:var(--brand-bar-text)}.hero.hero{background:var(--brand-hero)}.hero .hero-title{color:#fff}.hero .hero-subtitle{font-size:1.5rem;line-height:1.4;color:#fff;max-width:30ch}.hero .btn-primary{background:#fff;color:var(--brand-primary);border-color:#fff;font-weight:700}.hero .btn-primary:hover{background:var(--brand-tile-bg);color:var(--brand-primary-hover)}:root{--brand-mark: #111827;--brand-primary: #111827;--brand-primary-hover: #1F2937;--brand-on-primary: #ffffff;--brand-bar: #111827;--brand-bar-text: #ffffff;--brand-bar-text-muted: #94A3B8;--brand-bar-hover: rgba(0, 0, 0, .16);--brand-bar-active: rgba(0, 0, 0, .24);--brand-bar-border: #1E293B;--brand-focus-ring: rgba(56, 189, 248, .3);--brand-auth-btn-bg: #ffffff;--brand-auth-btn-text: #111827;--brand-auth-btn-bg-hover: #E2E8F0;--brand-auth-secondary-border: #334155;--brand-hero: #111827;--brand-hero-from: #111827;--brand-hero-to: #0B1120;--brand-surface: #0B1120;--brand-surface-2: #111A2E;--brand-tile-bg: #111A2E;--brand-tile-border: #1E293B;--brand-tile-text: #E2E8F0}.auth-layout.auth-layout{max-width:400px;margin-inline:auto;margin-block:clamp(24px,9vh,96px)}.auth-layout.auth-layout .btn{background:var(--brand-auth-btn-bg, var(--brand-primary));color:var(--brand-auth-btn-text, var(--brand-on-primary));font-weight:700}.auth-layout.auth-layout .btn:hover:not(:disabled){background:var(--brand-auth-btn-bg-hover, var(--brand-primary-hover))}.auth-layout.auth-layout .btn-secondary{background:transparent;color:inherit;border:1px solid var(--brand-auth-secondary-border, currentColor);border-radius:999px;padding:7px 15px;font-weight:600;text-decoration:none}.auth-layout.auth-layout .btn-secondary:hover{background:var(--brand-auth-secondary-hover, rgba(127, 127, 127, .14))}.auth-layout.auth-layout .auth-switch,.auth-layout.auth-layout .switch{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--brand-auth-rule, rgba(127, 127, 127, .28));font-size:13px}.auth-layout.auth-layout .auth-switch button,.auth-layout.auth-layout .switch button{align-self:center;min-width:190px;text-align:center}.page-wide.page-wide{width:100%;max-width:min(2200px,100%);margin-inline:auto;padding-inline:clamp(16px,2vw,32px)}html{scrollbar-gutter:stable}.page-form.page-form{width:100%;max-width:480px;margin-inline:auto;margin-block:clamp(64px,8vh,96px);padding-inline:16px}.page-form.page-form>.panel,.page-form.page-form>form{max-width:none;width:100%}:root{--control-accent: var(--brand-primary, #4b5563);--control-h: 42px;--control-radius: 10px;--control-border: 1px solid var(--line, #d9d6e4);--control-bg: var(--bg, #fff);--control-ink: var(--ink, #1f2937);--control-placeholder: var(--ink-dim, #6b7280);--control-disabled-bg: var(--bg-2, #f4f4f6);--control-error: #b42318;--control-ok: #067647}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;min-width:0}.field>label,.field>span:first-child{font-size:13px;font-weight:600;color:var(--control-ink)}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0 14px}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,input.control,select.control,textarea.control{width:100%;box-sizing:border-box;min-height:var(--control-h);padding:0 12px;border:var(--control-border);border-radius:var(--control-radius);background:var(--control-bg);color:var(--control-ink);font:inherit;font-size:15px;transition:border-color var(--dur-fast, .12s) var(--ease, ease),box-shadow var(--dur-fast, .12s) var(--ease, ease),background-color var(--dur-fast, .12s) var(--ease, ease)}.field textarea,textarea.control{min-height:120px;padding:10px 12px;line-height:1.5;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:var(--control-placeholder)}.field select,select.control{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%236b7280' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center}.field input[type=number],input.control[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.field input[type=number]::-webkit-outer-spin-button,.field input[type=number]::-webkit-inner-spin-button,input.control[type=number]::-webkit-outer-spin-button,input.control[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field input:hover:not(:disabled),.field select:hover:not(:disabled),.field textarea:hover:not(:disabled){border-color:var(--control-accent)}:where(input,select,textarea,button,a,[tabindex]):focus-visible{outline:2px solid var(--control-accent);outline-offset:2px;border-radius:var(--control-radius)}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,input.control:focus-visible,select.control:focus-visible,textarea.control:focus-visible{outline:none;border-color:var(--control-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--control-accent) 20%,transparent)}:root{accent-color:var(--control-accent);caret-color:var(--control-accent)}::selection{background:color-mix(in srgb,var(--control-accent) 22%,transparent);color:var(--control-ink)}.field input:disabled,.field select:disabled,.field textarea:disabled{background:var(--control-disabled-bg);color:var(--control-placeholder);cursor:not-allowed}.field input[aria-invalid=true],.field.field-bad input,.field.field-bad textarea,.field.field-bad select{border-color:var(--control-error)}.field-error{margin:0;font-size:13px;color:var(--control-error)}.field-ok{margin:0;font-size:13px;color:var(--control-ok)}.field-hint{margin:6px 0 0;font-size:13px;color:var(--control-placeholder)}.counter{align-self:flex-end;margin-top:-2px;font-size:12px;color:var(--control-placeholder)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-h);padding:0 18px;border:var(--control-border);border-radius:var(--control-radius);background:var(--control-bg);color:var(--control-ink);font:inherit;font-size:15px;font-weight:600;cursor:pointer}.btn-primary,.btn-accent{background:var(--control-accent);border-color:var(--control-accent);color:#fff}.btn-quiet{background:transparent;border-color:transparent;color:var(--control-placeholder)}.btn-danger{background:var(--control-error);border-color:var(--control-error);color:#fff}.btn:disabled{opacity:.55;cursor:not-allowed}.linklike{border:0;background:none;padding:0;font:inherit;color:var(--control-accent);text-decoration:underline;cursor:pointer}.spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:control-spin .7s linear infinite}@keyframes control-spin{to{transform:rotate(360deg)}}.tabular{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:3s}}.follow-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-h);padding:0 16px;border:1px solid var(--control-accent);border-radius:999px;background:var(--control-accent);color:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background-color var(--dur-fast, .12s) var(--ease, ease),border-color var(--dur-fast, .12s) var(--ease, ease),color var(--dur-fast, .12s) var(--ease, ease)}.follow-btn[data-size=compact]{min-height:30px;padding:0 11px;font-size:13px}.follow-btn-on{background:transparent;color:var(--control-accent);border-color:var(--line, #d9d6e4)}.follow-btn-on:hover:not(:disabled),.follow-btn-on:focus-visible:not(:disabled){background:var(--control-error);border-color:var(--control-error);color:#fff}.follow-swap{display:grid;grid-template-areas:"label";place-items:center}.follow-now,.follow-next{grid-area:label;white-space:nowrap}.follow-next{visibility:hidden}.follow-btn-on:hover:not(:disabled) .follow-now,.follow-btn-on:focus-visible:not(:disabled) .follow-now{visibility:hidden}.follow-btn-on:hover:not(:disabled) .follow-next,.follow-btn-on:focus-visible:not(:disabled) .follow-next{visibility:visible}@media (prefers-reduced-motion: reduce){.follow-btn{transition:none}}:root{--dur-fast: .12s;--dur: .18s;--dur-slow: .28s;--ease: cubic-bezier(.2, .7, .3, 1)}.btn{transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 10px #00000021}.btn:active:not(:disabled){transform:translateY(0) scale(.99);box-shadow:none}.card{transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0000001f}.card .thumb,.card-media{overflow:hidden}.card .thumb img,.card-media img{transition:transform var(--dur-slow) var(--ease)}.card:hover .thumb img,.card:hover .card-media img{transform:scale(1.03)}.route-enter,main>*{animation:rise var(--dur) var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.dialog{animation:dialog-in var(--dur) var(--ease) both}@keyframes dialog-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}.dialog-scrim{animation:fade var(--dur-fast) var(--ease) both}@keyframes fade{0%{opacity:0}to{opacity:1}}.pulse-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;animation:pulse 1.8s var(--ease) infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}.line{animation:line-in var(--dur) var(--ease) both}@keyframes line-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tabular{transition:color var(--dur) var(--ease)}.heart-pop{animation:heart var(--dur-slow) var(--ease)}@keyframes heart{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}.skeleton{position:relative;overflow:hidden;background:var(--bg-2, #f1f0f5);border-radius:10px}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgb(255 255 255 / .55),transparent);animation:shimmer 1.3s infinite}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-card{height:210px}@media (prefers-reduced-motion: reduce){:root{--dur-fast: 1ms;--dur: 1ms;--dur-slow: 1ms}.btn:hover:not(:disabled),.btn:active:not(:disabled),.card:hover,.card:hover .thumb img,.card:hover .card-media img{transform:none}.route-enter,main>*,.dialog,.dialog-scrim,.line,.pulse-dot,.heart-pop,.skeleton:after{animation:none}.pulse-dot{opacity:1}}:root{--surface: var(--brand-surface);--surface-2: var(--brand-surface-2);--card: #f8fafc;--card-ink: #0f172a;--ink: #e2e8f0;--ink-dim: #94a3b8;--line: #1e293b;--link-ink: #0F172A;--link-ink-dim: #334155;--danger: #f87171;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--surface);color:var(--ink);font:15px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a,.linklike{color:inherit;font-weight:650;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}a:hover,.linklike:hover{text-decoration-thickness:2px}a:hover{text-decoration:underline}.header{position:sticky;top:0;z-index:10;background:var(--surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.header-inner{max-width:900px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:20px}.brand{background:none;border:0;cursor:pointer;padding:0;display:flex;align-items:center;color:var(--ink)}.nav{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}.nav-link{background:none;border:0;color:var(--ink-dim);cursor:pointer;padding:6px 10px;border-radius:999px;font-size:14px}.nav-link:hover{background:var(--surface-2);color:var(--ink)}.nav-link.active{color:var(--ink);background:var(--surface-2)}.container{max-width:900px;margin:0 auto;padding:20px 16px 64px}.layout{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.layout>*{min-width:0}.side{position:sticky;top:68px}@media (min-width: 820px){.layout{grid-template-columns:1fr 260px}}.card{background:var(--card);color:var(--card-ink);border-radius:14px;padding:14px 16px;margin-bottom:12px}.post-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.post-name{font-weight:650}.post-handle,.post-time{color:#64748b;font-size:13px}.post-body{margin:8px 0 10px;white-space:pre-wrap;overflow-wrap:anywhere}.post-meta{display:flex;gap:16px;color:#64748b;font-size:13px}.post-link{display:inline-block;margin-top:8px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:10px;font-size:13px}.panel{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.panel h3{margin:0 0 10px;font-size:14px;color:var(--ink-dim);font-weight:600}.compose textarea,.field input,.field textarea{width:100%;background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px;font:inherit;resize:vertical}.field{margin-bottom:12px}.field label{display:block;font-size:13px;color:var(--ink-dim);margin-bottom:4px}.btn{background:var(--brand-primary);color:var(--brand-on-primary);border:0;border-radius:999px;padding:8px 16px;font-weight:650;cursor:pointer}.btn:disabled{opacity:.5;cursor:default}.thread-row{width:100%;text-align:left;background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px;cursor:pointer}.msg{margin-bottom:10px}.msg .from{font-size:12px;color:var(--ink-dim)}.msg .bubble{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:8px 12px;display:inline-block;max-width:100%;overflow-wrap:anywhere}.notice{color:var(--ink-dim);padding:10px 0}.error{color:var(--danger)}.footer{border-top:1px solid var(--line);color:var(--ink-dim);font-size:13px;padding:18px 16px;text-align:center}.brand{gap:9px}.wordmark{font:800 19px/1 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica,Arial,sans-serif;letter-spacing:-.02em;color:var(--ink)}.post-head{align-items:center}.post-head svg{flex:0 0 auto;border-radius:50%}.linklike{background:none;border:0;padding:0;cursor:pointer;font:inherit}.post-image{display:block;width:100%;max-height:420px;object-fit:cover;border-radius:10px;margin-top:10px;background:var(--surface-2)}.post-meta{display:flex;gap:14px;align-items:center;margin-top:10px}.meta-action{background:none;border:0;padding:0;font:inherit;font-size:13px;color:var(--link-ink-dim);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.meta-action.is-static{text-decoration:none;cursor:default}.meta-action:disabled{cursor:default;text-decoration:none}.meta-action.on{font-weight:700;color:var(--link-ink)}.compose-row{display:flex;align-items:center;gap:10px;margin-top:8px}.compose-count{margin-left:auto;font-size:12px;color:var(--link-ink-dim)}.file-pick{font-size:13px;color:var(--link-ink-dim);cursor:pointer}.file-pick input{display:none}.file-pick span{text-decoration:underline;text-underline-offset:2px}.section-head{font-size:15px;margin:18px 0 10px;color:var(--ink-dim)}.profile-card{display:flex;align-items:center;gap:14px}.profile-who h2{margin:0;font-size:20px}.profile-actions{margin-left:auto;display:flex;gap:8px}.btn-quiet{background:var(--surface-2);color:var(--ink);border:1px solid var(--line)}.btn-bar{background:#fff;color:var(--brand-primary);font-weight:700}.btn-bar:hover{background:var(--brand-tile-bg);color:var(--brand-primary)}.pill{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:999px;background:#fff;color:var(--brand-primary);font-size:11px;font-weight:700}.thread-row{display:block;width:100%;text-align:left;background:var(--card);color:var(--card-ink);border:0;border-radius:12px;padding:10px 12px;margin-bottom:8px;cursor:pointer;font:inherit;position:relative}.thread-row.on{outline:2px solid var(--line)}.thread-row .pill{position:absolute;right:10px;top:12px;background:var(--brand-primary);color:#fff}.thread-last{font-size:13px;color:#475569;margin-top:2px}.msg-list{max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.msg .from{font-size:11px;color:var(--ink-dim)}.msg .bubble{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:8px 10px;font-size:14px}.msg.mine .bubble{background:#1e293b}.dock{position:fixed;right:16px;bottom:16px;z-index:20;width:min(340px,calc(100vw - 32px))}.dock-tab{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--brand-primary);color:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;font:inherit;font-weight:650;cursor:pointer}.dock-body{margin-top:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px;max-height:60vh;overflow-y:auto}.dock-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.dock-compose{display:flex;gap:8px;margin-top:8px}.dock-compose input{flex:1;min-width:0;background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit}.auth-panel{max-width:420px}.auth-switch{margin-top:12px;font-size:13px;color:var(--ink-dim)}.field-hint{font-size:12px;color:var(--ink-dim);margin:4px 0 0}.field-error{font-size:12px;color:var(--danger);margin:4px 0 0}
