:root{--page: #eef3f2;--shell: #f8faf9;--panel: #ffffff;--glass: rgba(255, 255, 255, .91);--soft: #e7efef;--line: #dbe4e4;--ink: #26353e;--muted: #73828a;--blue: #55738a;--blue-strong: #365e72;--blue-on: #ffffff;--teal: #4d897c;--coral: #cf6e73;--gold: #d8ad67;--shadow: rgba(43, 67, 74, .12);color-scheme:light;font-family:PingFang SC,Microsoft YaHei UI,system-ui,sans-serif;color:var(--ink);background:var(--page);font-synthesis:none}:root[data-theme=dark]{--page: #171b22;--shell: #202630;--panel: #252c37;--glass: rgba(32, 38, 48, .92);--soft: #303a48;--line: #414c5b;--ink: #edf2f7;--muted: #aeb9c8;--blue: #89a4cb;--blue-strong: #9eb7da;--blue-on: #17202c;--teal: #75baad;--coral: #ef8b92;--shadow: rgba(0, 0, 0, .32);color-scheme:dark}*{box-sizing:border-box;letter-spacing:0}html,body,#app{margin:0;width:100%;min-width:320px;min-height:100%}body{min-height:100vh;min-height:100dvh;background:var(--page);overflow-x:hidden}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,p{overflow-wrap:anywhere}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--coral);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.58}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-only{display:none}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.button,.icon-button{border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--panel);display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:transform .1s ease,background-color .14s ease,border-color .14s ease,color .14s ease,opacity .14s ease}.button{min-height:40px;padding:8px 13px;font-weight:500}.icon-button{flex:0 0 auto;width:40px;height:40px;padding:0}.button.primary{color:var(--blue-on);border-color:var(--blue);background:var(--blue)}.button.danger{color:var(--coral);border-color:color-mix(in srgb,var(--coral) 55%,var(--line))}.button.danger-fill{color:#fff;border-color:var(--coral);background:var(--coral)}.danger-text{color:var(--coral)!important}.form-error{margin:8px 0;color:var(--coral);font-size:13px}.form-success{margin:8px 0;color:var(--teal);font-size:13px}.inline-state{margin:12px 0;padding:10px 12px;border-left:3px solid var(--blue);background:var(--soft)}.app-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:calc(56px + env(safe-area-inset-top)) minmax(0,1fr);background:var(--shell)}.app-header{height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left));display:flex;align-items:center;gap:9px;background:var(--panel);border-bottom:1px solid var(--line);z-index:20}.app-header>.icon-button{border:0;color:var(--blue-strong);background:transparent}.app-header>.icon-button:hover{background:var(--soft)}.brand{display:inline-flex;align-items:center;gap:9px;min-width:0}.brand-mark{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;color:var(--blue-on);background:var(--blue)}.brand-copy strong,.brand-copy small{display:block;white-space:nowrap}.brand-copy strong{font-size:15px;font-weight:600}.brand-copy small{margin-top:1px;color:var(--muted);font-size:11px}.header-title{font-size:15px;font-weight:600}.header-spacer{flex:1;order:1}.privacy-state{order:2}.app-header>button[aria-label=切换深浅色]{order:3}.header-account{order:4}.header-settings{order:5}.privacy-state{display:inline-flex;align-items:center;gap:5px;padding:7px 4px;border:0;color:var(--teal);font-size:12px}.app-content{min-height:0;overflow:auto;overscroll-behavior:contain}.primary-tabs{width:min(340px,100%);margin:0 auto 14px;padding:3px;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.primary-tabs a{min-height:40px;display:grid;place-items:center;border-radius:6px;color:var(--muted);font-size:13px;font-weight:500;transition:transform .1s ease,background-color .14s ease,color .14s ease}.primary-tabs a.router-link-exact-active{color:var(--blue-on);background:var(--blue)}.login-page{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(380px,.7fr);background:var(--shell)}.login-visual{min-height:100dvh;padding:32px clamp(30px,6vw,90px);display:flex;flex-direction:column;justify-content:space-between;color:#2f4563;background-image:linear-gradient(90deg,#f7f9fc8c,#f7f9fc1a),url(/assets/qingyu-lighthouse-background-v2-RrEyNZ1V.jpg);background-size:cover;background-position:68% center}.login-brand{display:flex;align-items:center;gap:10px;font-size:18px}.login-visual h1{max-width:560px;margin:0 0 12px;font-size:44px;line-height:1.2;font-weight:500}.login-visual p{margin:0 0 48px;font-size:16px}.login-panel{display:grid;place-items:center;padding:32px;background:var(--panel);border-left:1px solid var(--line)}.login-card{width:min(400px,100%)}.auth-switch{margin:16px 0 18px;padding:3px;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:8px;background:var(--shell)}.auth-switch button{min-height:40px;border:0;border-radius:6px;color:var(--muted);background:transparent}.auth-switch button[aria-selected=true]{color:var(--blue-on);background:var(--blue)}.login-card h2{margin:12px 0 8px;font-size:24px;font-weight:600}.login-card>p{margin:0 0 24px;color:var(--muted);font-size:13px;line-height:1.7}.login-card .mock-code{margin:8px 0;color:var(--ink)}.registration-gender{margin:0 0 14px;padding:0;border:0}.registration-gender legend{margin-bottom:7px;color:var(--muted);font-size:12px}.gender-select{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gender-select button{min-height:44px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--panel)}.gender-select button span{margin-right:6px;color:var(--blue-strong);font-family:Arial,sans-serif;font-size:19px;line-height:1}.gender-select button[aria-pressed=true]{color:var(--blue-strong);border-color:var(--blue);background:var(--soft);box-shadow:inset 0 0 0 1px var(--blue)}.eyebrow{display:inline-flex;align-items:center;gap:5px;color:var(--blue-strong);font-size:12px}.field{display:grid;gap:7px;margin:14px 0;color:var(--muted);font-size:13px}.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:11px 12px;color:var(--ink);background:var(--shell);resize:vertical;font-size:16px}.field input{height:44px}.code-input{display:grid;grid-template-columns:minmax(0,1fr) 106px}.code-input input{border-radius:8px 0 0 8px}.code-input button{border:1px solid var(--line);border-left:0;border-radius:0 8px 8px 0;color:var(--blue-strong);background:var(--panel)}.login-submit{width:100%;min-height:44px;margin-top:10px}.terms{display:block;margin-top:14px;color:var(--muted);font-size:11px;line-height:1.6;text-align:center}.terms a,.policy-consent a,.privacy-link{color:var(--blue-strong);text-decoration:underline;text-underline-offset:2px}.policy-consent{margin:14px 0 4px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;color:var(--muted);font-size:11px;line-height:1.7}.policy-consent input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--blue)}.home-content{padding:20px}.home-layout{width:min(1060px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);min-height:calc(100vh - 160px);border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel);box-shadow:0 14px 40px var(--shadow)}.hero-band{min-height:580px;padding:42px;display:flex;align-items:flex-end;color:#2f4563;background-image:linear-gradient(90deg,#f7f9fce0,#f7f9fc26),url(/assets/qingyu-lighthouse-background-v2-RrEyNZ1V.jpg);background-size:cover;background-position:66% center}.hero-band h1{width:min(520px,90%);margin:0 0 9px;font-size:36px;font-weight:500}.hero-band p{margin:0 0 24px;color:#60728b}.match-form{padding:32px 28px;overflow:auto}.match-form header h2{margin:8px 0 20px;font-size:21px;font-weight:600}.match-form fieldset,.report-reasons{min-width:0;margin:18px 0;padding:0;border:0}.match-form legend,.report-reasons legend{margin-bottom:8px;color:var(--muted);font-size:12px}.match-form legend span{margin-left:5px;color:var(--muted);font-size:10px}.choice-grid{display:grid;gap:8px}.choice-grid.two{grid-template-columns:1fr 1fr}.choice-grid button{position:relative;min-height:70px;padding:9px 5px;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;color:var(--ink);background:var(--panel)}.choice-grid button span{font-size:13px}.choice-grid button small{display:none;font-size:10px}.choice-grid button[aria-pressed=true]{color:var(--blue-strong);border-color:var(--blue);background:var(--soft);box-shadow:inset 0 0 0 1px var(--blue)}.choice-grid button[aria-pressed=true] small{display:block}.gender-symbol{height:22px;display:grid;place-items:center;color:var(--blue-strong);font-family:Arial,sans-serif;font-size:25px;line-height:1}.segmented{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid var(--line);border-radius:8px}.segmented button{min-width:0;min-height:40px;padding:5px 2px;border:0;border-right:1px solid var(--line);color:var(--muted);background:var(--panel);font-size:11px}.segmented button:last-child{border-right:0}.segmented button[aria-pressed=true]{color:var(--blue-on);background:var(--blue);font-weight:600}.tag-picker{display:flex;flex-wrap:wrap;gap:7px}.tag-picker button{min-width:58px;min-height:40px;padding:7px 10px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:var(--panel);font-size:12px}.tag-picker button[aria-pressed=true]{color:var(--blue-strong);border-color:var(--blue);background:var(--soft);box-shadow:inset 0 0 0 1px var(--blue)}.tag-picker button:disabled{opacity:.42}.tag-more{display:none}.minor-notice{margin:8px 0 0;color:var(--coral);font-size:11px;line-height:1.6}.start-dock{margin-top:18px}.start-button{width:100%;min-height:48px}.safety-copy{margin:10px 0 0;color:var(--muted);font-size:11px;text-align:center}.match-screen{position:relative;min-height:100vh;min-height:100dvh;background:var(--shell)}.match-back{position:absolute;top:calc(8px + env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));z-index:5;width:44px;height:44px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;color:var(--blue-strong);background:transparent}.match-back:hover{background:var(--soft)}.match-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:calc(62px + env(safe-area-inset-top)) 20px 30px}.match-waiting,.match-timeout{width:min(520px,100%);display:flex;flex-direction:column;align-items:center;text-align:center}.radar{position:relative;isolation:isolate;width:230px;height:230px;margin:10px 0 26px;display:grid;place-items:center;overflow:hidden;border-radius:50%}.radar-sweep{position:absolute;inset:5px;z-index:-2;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 72%,color-mix(in srgb,var(--teal) 28%,transparent) 88%,transparent 100%);animation:radar-spin 3.2s linear infinite}.ring{position:absolute;border:1px solid color-mix(in srgb,var(--blue) 48%,transparent);border-radius:50%;opacity:0;animation:radar-wave 2.7s ease-out infinite}.ring.r1{inset:0}.ring.r2{inset:34px;animation-delay:.7s}.ring.r3{inset:68px;animation-delay:1.4s}.radar-orbit{position:absolute;inset:13px;animation:radar-spin 4.8s linear infinite reverse}.radar-orbit i{position:absolute;top:50%;right:-4px;width:9px;height:9px;border:2px solid var(--panel);border-radius:50%;background:var(--blue-strong);box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 18%,transparent)}.radar-orbit i:last-child{top:13%;right:auto;left:12%;width:7px;height:7px;background:var(--teal)}@keyframes radar-wave{0%{opacity:0;transform:scale(.62)}18%{opacity:.9}to{opacity:0;transform:scale(1.04)}}@keyframes radar-spin{to{transform:rotate(360deg)}}.radar-core,.timeout-icon{width:66px;height:66px;display:grid;place-items:center;border-radius:50%;color:var(--blue-on);background:var(--blue)}.radar-core{box-shadow:0 0 0 8px color-mix(in srgb,var(--blue) 14%,transparent);animation:radar-core 1.8s ease-in-out infinite}@keyframes radar-core{50%{transform:scale(1.06);box-shadow:0 0 0 13px color-mix(in srgb,var(--blue) 8%,transparent)}}.match-waiting h1,.match-timeout h1{margin:0 0 8px;font-size:22px;font-weight:500}.match-waiting>p,.match-timeout>p{margin:0 0 25px;color:var(--muted);font-size:13px}.waiting-tags,.profile-tags,.partner-details{display:flex;align-items:center;gap:5px}.waiting-tags{min-height:26px;margin:-11px 0 14px;flex-wrap:wrap;justify-content:center}.profile-tag,.waiting-tags span{max-width:92px;padding:3px 6px;overflow:hidden;border-radius:5px;color:var(--blue-strong);background:var(--soft);font-size:10px;white-space:nowrap;text-overflow:ellipsis}.cancel-match{width:100%}.timeout-icon{margin-bottom:20px}.action-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.chat-page{width:100%;min-width:0;height:100vh;height:100dvh;display:grid;grid-template-rows:minmax(0,1fr);background:var(--page);overflow:hidden}.chat-layout{width:100%;min-width:0;min-height:0;display:block;overflow:hidden}.chat-settings{min-height:0;overflow-y:auto;padding:14px;background:var(--panel);border-right:1px solid var(--line)}.chat-settings>header{min-height:32px;display:flex;align-items:center;margin-bottom:8px}.profile-block{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--shell)}.profile-block strong,.profile-block small{display:block}.profile-block strong{font-size:14px}.profile-block small{margin-top:3px;color:var(--muted);font-size:11px}.avatar{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:var(--blue-strong);background:var(--soft)}.settings-group{padding-top:12px;margin-top:12px;border-top:1px solid var(--line)}.settings-group h2{margin:0 0 6px;color:var(--blue-strong);font-size:11px;font-weight:500}.setting-row{width:100%;min-height:40px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px;color:var(--ink);font-size:13px}.setting-row small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.setting-row input[type=checkbox]{appearance:none;width:34px;height:20px;margin:0;padding:3px;border:0;border-radius:12px;background:var(--line);transition:background .18s}.setting-row input[type=checkbox]:before{content:"";display:block;width:14px;height:14px;border-radius:50%;background:var(--panel);transition:transform .18s}.setting-row input[type=checkbox]:checked{background:var(--blue)}.setting-row input[type=checkbox]:checked:before{transform:translate(14px)}.setting-row input[type=checkbox]:disabled{cursor:not-allowed;opacity:1}.setting-label{display:flex;min-width:0;align-items:center;gap:7px}.vip-badge{display:inline-flex;min-height:18px;padding:1px 5px;align-items:center;border:1px solid color-mix(in srgb,var(--teal) 42%,transparent);border-radius:5px;color:var(--teal);font-size:9px;font-weight:700;line-height:1}.setting-row select{max-width:90px;padding:5px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--shell)}.setting-value{color:var(--muted);font-size:11px;font-weight:500}.row-button{padding:0;border:0;text-align:left;background:transparent}.chat-workspace{position:relative;width:100%;min-width:0;min-height:0;height:100vh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:var(--page)}.chat-top{position:relative;z-index:20;min-width:0;display:grid;grid-template-rows:auto 48px 64px;background:var(--panel)}.chat-top>.app-header{width:100%}.chat-top>.primary-tabs{width:100%;max-width:none;height:48px;margin:0;padding:0 max(14px,calc((100% - 420px)/2));gap:0;border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent);background:color-mix(in srgb,var(--panel) 96%,transparent)}.chat-top>.primary-tabs a{min-height:48px}.chat-header{display:flex;align-items:center;gap:7px;padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));border-bottom:1px solid var(--line);background:var(--panel);z-index:5}.chat-header .avatar{width:34px;height:34px}.partner{min-width:0;flex:1 1 0}.partner strong{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600}.partner-details{min-width:0;margin-top:3px;overflow:hidden;display:flex;align-items:center;gap:4px}.partner-details small{min-width:0;overflow:hidden;color:var(--muted);font-size:10px;white-space:nowrap;text-overflow:ellipsis}.chat-header .icon-button{border:0;color:var(--blue-strong);background:transparent}.chat-header .icon-button:hover{background:var(--soft)}.chat-exit-button{min-height:44px;flex:0 0 auto;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:0;color:var(--coral);background:transparent;font-size:12px;font-weight:600;white-space:nowrap}.chat-exit-button:hover{background:color-mix(in srgb,var(--coral) 8%,transparent)}.connection{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.connection i{width:7px;height:7px;border-radius:50%;background:var(--muted)}.connection.online i{background:var(--teal)}.connection.reconnecting i{background:#d19b53;animation:pulse 1s infinite}.more-wrap{position:relative;flex:0 0 auto}.more-menu{position:absolute;top:48px;right:0;z-index:30;width:156px;padding:5px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 10px 26px var(--shadow)}.more-menu button{width:100%;min-height:44px;padding:8px 10px;display:flex;align-items:center;gap:8px;border:0;color:var(--ink);background:transparent;text-align:left}.more-menu button:hover{background:var(--soft)}.message-list{min-height:0;padding:18px max(14px,calc((100% - 1000px)/2)) 24px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}.safety-note{align-self:center;display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:6px;color:var(--muted);background:var(--glass);font-size:11px}.greeting-chip{align-self:center;padding:7px 10px;border:1px dashed var(--blue);border-radius:16px;color:var(--blue-strong);background:var(--glass)}.message{max-width:min(72%,540px);align-self:flex-start}.message.self{align-self:flex-end}.message-body{min-width:0}.message p{width:fit-content;max-width:100%;margin:0;padding:9px 12px;border:1px solid var(--line);border-radius:6px 6px 6px 2px;color:var(--ink);background:var(--panel);font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.message.self p{margin-left:auto;color:var(--blue-on);border-color:var(--blue);border-radius:6px 6px 2px;background:var(--blue)}.message footer{min-height:18px;margin-top:2px;display:flex;align-items:center;gap:3px;color:var(--muted);font-size:10px}.message.self footer{justify-content:flex-end}.message footer button{min-height:28px;padding:2px 4px;border:0;color:var(--coral);background:transparent;font-size:10px}.system-message{align-self:center;max-width:80%;padding:5px 9px;border:1px solid var(--line);border-radius:14px;color:var(--muted);background:var(--panel);font-size:11px;text-align:center}.recalled-message{padding:5px 8px;color:var(--muted);font-size:11px;font-style:italic}.composer-area{border-top:1px solid var(--line);background:var(--panel)}.composer{position:relative;width:min(1000px,100%);min-width:0;margin:0 auto;padding:8px 10px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1fr) 44px 44px 44px;align-items:end;gap:5px}.composer.recording{grid-template-columns:44px minmax(0,1fr) 44px}.composer textarea{width:100%;min-width:0;min-height:44px;max-height:104px;padding:10px 12px;overflow-y:auto;border:0;outline:0;border-radius:6px;color:var(--ink);background:var(--soft);resize:none;font-size:16px;line-height:1.4;transition:box-shadow .15s}.composer textarea:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 18%,transparent)}.composer .icon-button,.composer .send-button{width:44px;min-width:44px;min-height:44px;padding:0;align-self:end}.composer .icon-button{border:0;color:var(--blue-strong);background:transparent}.composer .icon-button:hover,.composer .icon-button.active{background:var(--soft)}.composer .send-button{border-radius:6px}.voice-button.recording{color:#fff;border-color:var(--coral);background:var(--coral)}.cancel-recording{color:var(--coral)!important}.recording-state{height:44px;min-width:0;padding:0 12px;display:flex;align-items:center;gap:7px;border:1px solid color-mix(in srgb,var(--coral) 35%,var(--line));border-radius:6px;background:color-mix(in srgb,var(--coral) 7%,var(--shell))}.recording-state i{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--coral);animation:recordingPulse 1.1s ease-in-out infinite}.recording-state strong{font-size:12px;white-space:nowrap}.recording-state time{color:var(--coral);font-variant-numeric:tabular-nums;font-size:12px}.recording-state span{margin-left:auto;overflow:hidden;color:var(--muted);font-size:10px;white-space:nowrap}.composer-popover{position:absolute;right:10px;bottom:calc(60px + env(safe-area-inset-bottom));z-index:35;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--panel);box-shadow:0 14px 34px var(--shadow)}.composer-more-menu{width:190px;padding:5px}.composer-more-menu>button{width:100%;min-height:52px;padding:7px 9px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;border:0;border-radius:6px;color:var(--ink);background:transparent;text-align:left}.composer-more-menu>button:hover{background:var(--soft)}.composer-more-menu>button>svg{justify-self:center;color:var(--blue-strong)}.composer-more-menu span,.composer-more-menu small{display:block}.composer-more-menu span{font-size:13px}.composer-more-menu small{margin-top:2px;color:var(--muted);font-size:10px}.emoji-picker{right:59px;width:278px;padding:7px;display:grid;grid-template-columns:repeat(6,40px);gap:4px}.emoji-picker button{width:40px;height:40px;padding:0;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;font-size:21px}.emoji-picker button:hover{background:var(--soft)}.composer-notice{width:min(1000px,100%);min-height:30px;margin:0 auto;padding:7px 14px 0;display:flex;align-items:center;gap:6px;color:var(--coral);font-size:11px}.visually-hidden{position:fixed!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}.chat-media{max-width:300px}.message.self .chat-media{margin-left:auto}.chat-image-button{width:min(300px,62vw);height:auto;min-height:80px;max-height:360px;padding:0;overflow:hidden;display:block;border:1px solid var(--line);border-radius:6px;background:var(--panel)}.chat-image-button img{width:100%;max-height:360px;display:block;object-fit:contain}.voice-message{width:min(250px,62vw);min-height:48px;padding:8px 11px;display:grid;grid-template-columns:30px minmax(60px,1fr) 30px;align-items:center;gap:8px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--panel)}.message.self .voice-message{color:var(--blue-on);border-color:var(--blue);background:var(--blue)}.voice-play{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,currentColor 12%,transparent)}.voice-track{height:4px;overflow:hidden;border-radius:2px;background:color-mix(in srgb,currentColor 20%,transparent)}.voice-track i{height:100%;display:block;background:currentColor}.voice-message>span:last-child{font-size:11px;text-align:right}.chat-media audio{display:none}.media-placeholder{min-width:150px;min-height:48px;padding:8px 11px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:var(--panel);font-size:11px}.media-placeholder button{margin-left:auto;border:0;color:var(--blue-strong);background:transparent}.media-placeholder.failed{color:var(--coral)}.image-preview{position:fixed;inset:0;z-index:150;padding:max(52px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));display:grid;place-items:center;background:#0c1015e6}.image-preview>button{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:40px;height:40px;padding:0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff;background:#00000040}.image-preview img{max-width:100%;max-height:100%;object-fit:contain}@keyframes recordingPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.75)}}.mobile-connection-status{display:none}.new-message-indicator{position:absolute;left:50%;bottom:calc(76px + env(safe-area-inset-bottom));z-index:12;min-height:40px;padding:8px 12px;transform:translate(-50%);border-color:var(--blue);color:var(--blue-strong);box-shadow:0 8px 24px var(--shadow);white-space:nowrap}.session-ended{align-self:center;width:min(420px,100%);margin:auto 0;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--glass);text-align:center}.session-ended h2{margin:0 0 7px;font-size:18px}.session-ended p{margin:0 0 16px;color:var(--muted);font-size:13px}.dialog-backdrop{position:fixed;inset:0;z-index:100;padding:20px;display:grid;place-items:center;background:#131a237a}.dialog{width:min(440px,100%);max-height:min(680px,calc(100dvh - 40px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--panel);box-shadow:0 24px 70px #0000003d}.dialog>header{padding:16px 16px 10px;display:flex;align-items:flex-start;gap:12px}.dialog>header>div{flex:1}.dialog h2{margin:0;font-size:18px}.dialog header p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.dialog-body{padding:4px 16px 16px;overflow-y:auto;overscroll-behavior:contain}.dialog>footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);background:var(--panel)}.report-reasons{display:grid;gap:4px}.report-reasons label{min-height:44px;display:flex;align-items:center;gap:9px;font-size:14px}.report-reasons input{width:20px;height:20px;accent-color:var(--blue)}.privacy-dialog{margin:4px 0;color:var(--muted);line-height:1.8}.privacy-link{display:inline-block;margin-top:4px;font-size:12px}.legal-page{padding:22px}.legal-layout{width:min(1040px,100%);margin:0 auto;display:grid;grid-template-columns:210px minmax(0,1fr);gap:30px}.legal-nav{position:sticky;top:18px;align-self:start;display:grid;border-top:1px solid var(--line)}.legal-nav a{min-height:45px;padding:11px 8px;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}.legal-nav a.router-link-active{color:var(--blue-strong);font-weight:600;box-shadow:inset 3px 0 0 var(--blue)}.legal-document{min-width:0;padding-bottom:60px}.legal-document>header{padding-bottom:20px;border-bottom:1px solid var(--line)}.legal-document>header span{color:var(--muted);font-size:11px}.legal-document h1{margin:10px 0 8px;font-size:28px}.legal-document>header p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}.legal-document section{padding:19px 0 2px}.legal-document h2{margin:0 0 10px;font-size:17px}.legal-document section p,.legal-document li{color:var(--ink);font-size:13px;line-height:1.9}.legal-document section p{margin:8px 0}.legal-document ul{margin:0;padding-left:20px}.legal-document li{margin:7px 0;padding-left:3px}.legal-warning{margin:18px 0 0;padding:12px 14px;display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;border-left:3px solid var(--coral);background:var(--soft)}.legal-warning p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}.legal-sources{margin-top:28px;padding-top:18px;display:grid;gap:8px;border-top:1px solid var(--line)}.legal-sources h2{margin-bottom:3px}.legal-sources a{width:fit-content;display:inline-flex;align-items:center;gap:5px;color:var(--blue-strong);font-size:12px;text-decoration:underline;text-underline-offset:2px}.settings-view{padding:20px}.settings-view-inner,.account-column,.content-column,.editor-form{width:min(760px,100%);margin:0 auto}.nickname-editor{margin-bottom:12px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.nickname-editor header{margin-bottom:12px;display:flex;align-items:center;gap:10px}.nickname-editor header small,.nickname-editor header strong{display:block}.nickname-editor header small{margin-bottom:3px;color:var(--muted);font-size:10px}.nickname-editor header strong{font-size:15px;overflow-wrap:anywhere}.nickname-editor form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.nickname-editor input{width:100%;min-width:0;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--shell);outline:0}.nickname-editor input:focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 14%,transparent)}.nickname-editor input[aria-invalid=true]{border-color:var(--coral)}.nickname-editor .button{min-width:108px}.nickname-editor>p{margin-bottom:0}.settings-view-inner .settings-panel,.privacy-copy{padding:4px 16px 16px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.privacy-copy{margin-top:14px}.privacy-copy h2{margin:6px 0;font-size:16px}.privacy-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}.nickname-editor .nickname-compose{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.nickname-input-wrap{position:relative;min-width:0;border-bottom:1px solid color-mix(in srgb,var(--line) 76%,transparent)}.nickname-editor .nickname-input-wrap input{min-height:46px;padding:7px 42px 7px 2px;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:18px;font-weight:550}.nickname-editor .nickname-input-wrap input:focus{border:0;box-shadow:none}.nickname-editor .nickname-input-wrap:focus-within{border-bottom-color:var(--teal)}.nickname-editor .nickname-input-wrap:has(input[aria-invalid=true]){border-bottom-color:var(--coral)}.nickname-count{position:absolute;right:2px;bottom:9px;color:var(--muted);font-size:10px}.nickname-actions{display:flex;align-items:center;gap:4px}.nickname-actions button{min-height:44px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:8px;font-size:12px;cursor:pointer}.nickname-shuffle{color:var(--muted);background:transparent}.nickname-shuffle:hover{color:var(--ink);background:var(--soft)}.nickname-save{color:var(--teal);background:color-mix(in srgb,var(--teal) 12%,transparent);font-weight:650}.nickname-save:hover{background:color-mix(in srgb,var(--teal) 18%,transparent)}.nickname-actions button:disabled{opacity:.42;cursor:default}.me-page,.treehole-page,.treehole-detail,.editor-page{padding:20px}.account-profile{padding:18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);background:var(--panel)}.large-avatar{width:58px;height:58px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:var(--blue-strong);background:var(--soft)}.account-identity{min-width:0}.account-profile h1{margin:0;font-size:18px}.account-profile p{margin:5px 0 0;color:var(--muted);font-size:11px}.profile-tags{margin-top:7px;flex-wrap:wrap}.protected{margin-left:auto;display:inline-flex;align-items:center;gap:5px;color:var(--teal);font-size:11px}.account-actions,.blocks-section{margin-top:14px;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.account-actions h2,.blocks-section h2{margin:0 0 7px;display:flex;align-items:center;gap:7px;color:var(--blue-strong);font-size:13px}.account-actions>a,.account-actions>button{width:100%;min-height:54px;padding:8px 0;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;border:0;border-top:1px solid var(--line);color:var(--ink);background:transparent;text-align:left}.account-actions span strong,.account-actions span small{display:block}.account-actions span strong{font-size:13px}.account-actions span small{margin-top:3px;color:var(--muted);font-size:10px}.account-actions b{font-size:18px;font-weight:400}.blocks-section h2{font-size:14px}.empty-inline{color:var(--muted);font-size:12px}.blocked-user{min-height:54px;display:flex;align-items:center;gap:12px;border-top:1px solid var(--line)}.blocked-user>span{flex:1}.blocked-user strong,.blocked-user small{display:block}.blocked-user small{margin-top:3px;color:var(--muted);font-size:10px}.section-heading{margin-bottom:15px;display:flex;align-items:flex-end;gap:15px}.section-heading>div{flex:1}.section-heading h1{margin:5px 0 4px;font-size:25px}.section-heading p{margin:0;color:var(--muted);font-size:13px}.post-list{display:grid;gap:10px}.post-card{border:1px solid var(--line);border-radius:8px;background:var(--panel);overflow:hidden}.post-main{display:block;padding:15px 16px}.post-main header,.comments article header{display:flex;align-items:center;gap:10px}.post-main header strong,.comments article header strong{color:var(--blue-strong);font-size:12px}.post-main time,.comments time{margin-left:auto;color:var(--muted);font-size:10px}.post-main p{margin:10px 0 0;font-size:14px;line-height:1.75;white-space:pre-wrap}.post-card>footer{min-height:40px;padding:0 10px;display:flex;gap:4px;border-top:1px solid var(--line)}.post-card footer button,.post-card footer a{padding:7px;display:inline-flex;align-items:center;gap:5px;border:0;color:var(--muted);background:transparent;font-size:11px}.post-card footer button:last-child{margin-left:auto}.post-card footer .active{color:var(--coral)}.load-more{width:100%;margin-top:12px}.loading-state,.empty-state{padding:50px 20px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);text-align:center}.empty-state{display:block}.empty-state h2{margin:0 0 6px;color:var(--ink);font-size:17px}.empty-state p{margin:0;font-size:12px}.editor-form{padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.editor-form h1{margin:0 0 7px;font-size:22px}.editor-form>div>p{margin:0 0 18px;color:var(--muted);font-size:12px}.editor-form .field{position:relative}.editor-form textarea{min-height:260px;line-height:1.7}.character-count{position:absolute;right:9px;bottom:8px;color:var(--muted)}.editor-form>.button{width:100%}@media(min-width:960px){.app-content{min-height:calc(100dvh - 56px - env(safe-area-inset-top))}}@media(max-width:959px){.desktop-only{display:none!important}.mobile-only{display:inline}.button{min-height:44px}.icon-button{width:44px;height:44px}.primary-tabs a,.auth-switch button,.segmented button,.tag-picker button{min-height:44px}.app-header>.header-settings{order:0}.app-header>.header-back{order:1}.app-header>.brand,.app-header>.header-title{order:2}.app-header>.header-spacer{order:3}.app-header>button[aria-label=切换深浅色]{order:4}.app-header>.header-account{order:5}.login-page{display:block;background:var(--panel)}.login-visual{min-height:220px;padding:calc(18px + env(safe-area-inset-top)) 18px 20px;background-position:66% center}.login-visual h1{font-size:27px}.login-visual p{margin:0;font-size:13px}.login-panel{padding:22px 18px calc(24px + env(safe-area-inset-bottom));border:0}.login-card h2{font-size:21px}.home-content{padding:0}.home-content>.primary-tabs{width:calc(100% - 28px);margin:10px 14px}.home-layout{min-height:0;display:block;border:0;border-radius:0;box-shadow:none}.hero-band{min-height:156px;padding:18px 16px;background-position:66% center}.hero-band h1{font-size:24px}.hero-band p{font-size:13px}.match-form{padding:16px 14px calc(112px + env(safe-area-inset-bottom))}.match-form header h2{font-size:18px}.choice-grid button{min-height:68px}.choice-grid button small{font-size:9px}.tag-picker:not(.expanded) .personality-tag-choice:nth-child(n+7){display:none}.tag-more{display:inline-flex;color:var(--blue-strong)!important;border-style:dashed!important}.start-dock{position:fixed;left:0;right:0;bottom:0;z-index:24;margin:0;padding:10px max(14px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));border-top:1px solid var(--line);background:var(--glass);box-shadow:0 -10px 28px color-mix(in srgb,var(--shadow) 58%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.start-button{min-height:50px}.start-dock .safety-copy{margin-top:5px;font-size:12px}.match-page{min-height:100vh;min-height:100dvh;padding:calc(62px + env(safe-area-inset-top)) 20px calc(26px + env(safe-area-inset-bottom))}.radar{width:210px;height:210px}.ring.r2{inset:30px}.ring.r3{inset:60px}.chat-page{grid-template-rows:minmax(0,1fr)}.chat-layout{display:block;width:100%;min-width:0;min-height:0;overflow:hidden}.chat-workspace{width:100%;min-width:0;height:100vh;height:100dvh;grid-template-rows:calc(68px + env(safe-area-inset-top)) minmax(0,1fr) auto;background:var(--page)}.chat-header{min-width:0;gap:7px;padding:env(safe-area-inset-top) max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left))}.mobile-back{display:grid}.chat-header .avatar{width:34px;height:34px}.partner-details{flex-wrap:nowrap;gap:4px}.partner-details small{flex:0 1 auto;font-size:10px}.partner-details .profile-tag{flex:0 1 auto;max-width:66px;padding:2px 5px;font-size:9px}.end-button{width:44px;min-width:44px;min-height:44px;padding:0}.message-list{padding:16px 12px 20px;gap:10px}.message{max-width:86%}.composer{grid-template-columns:minmax(0,1fr) 44px 44px 44px;gap:6px;padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.composer.recording{grid-template-columns:44px minmax(0,1fr) 44px}.composer-popover{right:max(8px,env(safe-area-inset-right))}.emoji-picker{right:calc(max(8px,env(safe-area-inset-right)) + 49px)}.mobile-connection-status{min-height:36px;margin:0 10px 8px;padding:7px 10px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:6px;color:var(--muted);background:var(--glass);font-size:12px;box-shadow:0 4px 14px color-mix(in srgb,var(--shadow) 50%,transparent)}.mobile-connection-status.online{display:none}.mobile-connection-status.reconnecting,.mobile-connection-status.connecting{color:#9a641f}.new-message-indicator{min-height:44px;bottom:calc(80px + env(safe-area-inset-bottom))}.chat-workspace{grid-template-rows:auto minmax(0,1fr) auto}.chat-top{grid-template-rows:auto 48px 64px}.chat-top>.primary-tabs{padding-right:max(14px,env(safe-area-inset-right));padding-left:max(14px,env(safe-area-inset-left))}.chat-header{padding-top:0;padding-right:max(8px,env(safe-area-inset-right));padding-left:max(8px,env(safe-area-inset-left))}.dialog-backdrop{padding:max(12px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left));align-items:end}.dialog{width:100%;max-height:calc(88dvh - env(safe-area-inset-top));border-bottom:0;border-radius:8px 8px 0 0}.dialog>footer .button{flex:1;min-height:48px}.dialog>header .icon-button{width:44px;height:44px}.settings-view,.me-page,.treehole-page,.treehole-detail,.editor-page,.legal-page{padding:12px}.treehole-page .primary-tabs{width:100%}.nickname-editor{padding:12px}.nickname-editor input,.nickname-editor .button{min-height:44px}.settings-view-inner .settings-panel{padding:4px 12px 14px}.setting-row{min-height:48px}.setting-row input[type=checkbox]{width:40px;height:24px;padding:3px}.setting-row input[type=checkbox]:before{width:18px;height:18px}.setting-row input[type=checkbox]:checked:before{transform:translate(16px)}.section-heading{align-items:center}.section-heading h1{font-size:21px}.section-heading p{font-size:12px}.editor-form{padding:16px}.post-card>footer{min-height:44px}.post-card footer button,.post-card footer a{min-height:44px;font-size:12px}.legal-layout{display:block}.legal-nav{position:static;margin-bottom:20px;display:flex;overflow-x:auto;border:1px solid var(--line);border-radius:8px}.legal-nav a{min-width:max-content;min-height:40px;padding:10px 12px;border:0;border-right:1px solid var(--line)}.legal-nav a.router-link-active{box-shadow:inset 0 -3px 0 var(--blue)}.legal-document h1{font-size:23px}}@media(max-width:480px){.chat-workspace{grid-template-rows:auto minmax(0,1fr) auto}.chat-top{grid-template-rows:auto 48px 66px}.chat-header{position:relative;align-items:center;gap:5px;padding-top:0;padding-bottom:0}.chat-header .avatar{width:32px;height:32px;display:grid}.partner{align-self:auto;padding-top:0}.partner strong{font-size:14px}.partner-details{position:static;height:auto;gap:3px}.partner-details small{flex:0 1 auto}.partner-details .profile-tag:nth-of-type(n+2){display:none}.chat-exit-button{padding-right:3px;padding-left:3px;font-size:11px}}@media(max-width:390px){.app-header{padding-left:max(7px,env(safe-area-inset-left));padding-right:max(7px,env(safe-area-inset-right));gap:7px}.brand-copy small{display:none}.hero-band{min-height:148px}.match-form{padding-top:14px}.match-form fieldset{margin:14px 0}.choice-grid button{min-height:62px}.segmented button{font-size:11px}.tag-picker{gap:6px}.tag-picker button{min-width:54px;padding:7px 8px}.radar{width:190px;height:190px}.ring.r2{inset:28px}.ring.r3{inset:56px}.message-list{padding-left:9px;padding-right:9px}.composer{gap:5px}.composer .icon-button,.composer .send-button{width:44px;min-width:44px}.recording-state span{display:none}.post-main{padding:13px}.post-card>footer{padding:0 5px}}@media(max-width:360px){.emoji-picker{right:8px;width:278px}}@media(hover:none)and (pointer:coarse){button:not(:disabled):active,a.button:active,.icon-button:active,.primary-tabs a:active,.post-card footer a:active{transform:scale(.98);filter:brightness(.96)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.admin-root{--admin-bg: #f3f5f7;--admin-surface: #fff;--admin-line: #dce1e7;--admin-ink: #202832;--admin-muted: #687483;--admin-nav: #222a32;--admin-accent: #22796e;--admin-accent-soft: #e5f1ef;--admin-danger: #b74650;--admin-warn: #a3671c;min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:228px minmax(0,1fr);color:var(--admin-ink);background:var(--admin-bg)}.admin-sidebar{position:sticky;top:0;z-index:50;height:100vh;height:100dvh;display:grid;grid-template-rows:auto 1fr auto;color:#f2f5f6;background:var(--admin-nav)}.admin-brand{height:66px;padding:0 17px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #39424a}.admin-brand-mark{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:6px;color:#fff;background:var(--admin-accent)}.admin-brand>span:nth-child(2){min-width:0}.admin-brand strong,.admin-brand small{display:block}.admin-brand strong{font-size:15px}.admin-brand small{margin-top:2px;color:#9eabb5;font-size:10px}.admin-sidebar nav{padding:14px 10px;display:grid;align-content:start;gap:4px}.admin-sidebar nav a,.admin-logout{min-height:42px;padding:0 12px;border:0;border-radius:5px;display:flex;align-items:center;gap:10px;color:#bfc8cf;background:transparent;font-size:13px}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{color:#fff;background:#343e47}.admin-sidebar nav a.active{box-shadow:inset 3px 0 0 var(--admin-accent)}.admin-logout{margin:10px;width:calc(100% - 20px);border-top:1px solid #39424a;border-radius:0}.admin-logout:hover{color:#fff}.admin-main{min-width:0}.admin-topbar{min-height:66px;padding:10px clamp(16px,2.5vw,30px);display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--admin-line);background:var(--admin-surface)}.admin-topbar>div{min-width:0}.admin-topbar h1{margin:0;font-size:19px;font-weight:650}.admin-topbar p{margin:4px 0 0;color:var(--admin-muted);font-size:11px}.admin-environment{margin-left:auto;padding:5px 8px;border:1px solid #b9d4cf;border-radius:4px;color:var(--admin-accent);background:var(--admin-accent-soft);font-size:10px}.admin-content{width:min(1460px,100%);margin:0 auto;padding:22px clamp(16px,2.5vw,30px) 38px}.admin-icon-button{width:36px;height:36px;padding:0;flex:0 0 auto;border:1px solid var(--admin-line);border-radius:5px;display:inline-grid;place-items:center;color:var(--admin-ink);background:var(--admin-surface)}.admin-menu-button,.admin-close-nav{display:none}.admin-icon-button:disabled{opacity:.42}.admin-primary-button,.admin-secondary-button,.admin-danger-button{min-height:38px;padding:8px 13px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:600;font-size:12px}.admin-primary-button{border:1px solid var(--admin-accent);color:#fff;background:var(--admin-accent)}.admin-secondary-button{border:1px solid var(--admin-line);color:var(--admin-ink);background:var(--admin-surface)}.admin-danger-button{border:1px solid var(--admin-danger);color:#fff;background:var(--admin-danger)}.admin-primary-button.compact,.admin-danger-button.compact{min-height:36px}.admin-link-button{min-height:36px;padding:5px 8px;border:0;color:var(--admin-accent);background:transparent;font-size:12px}.admin-toolbar{min-height:42px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-segments{display:inline-flex;padding:2px;border:1px solid var(--admin-line);border-radius:6px;background:var(--admin-surface)}.admin-segments button{min-height:32px;padding:5px 11px;border:0;border-radius:4px;color:var(--admin-muted);background:transparent;font-size:11px}.admin-segments button[aria-pressed=true]{color:#fff;background:#35414b}.admin-segments.full{width:100%}.admin-segments.full button{flex:1}.admin-loading,.admin-empty,.admin-table-state{min-height:160px;padding:24px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--admin-muted);font-size:12px}.admin-empty{flex-direction:column;text-align:center}.admin-empty h2{margin:3px 0 0;color:var(--admin-ink);font-size:16px}.admin-empty p{margin:0 0 6px}.admin-empty.compact{min-height:130px}.admin-inline-warning{margin:0 0 12px;padding:10px 12px;border-left:3px solid var(--admin-warn);color:#704612;background:#fff5e6;font-size:12px}.admin-metric-grid{display:grid;grid-template-columns:repeat(6,minmax(145px,1fr));gap:10px}.admin-metric{min-height:124px;padding:15px;border:1px solid var(--admin-line);background:var(--admin-surface)}.admin-metric header{display:flex;justify-content:space-between;color:var(--admin-muted);font-size:11px}.admin-metric>strong{margin-top:17px;display:block;font-size:27px;font-weight:650}.admin-metric footer{margin-top:9px;color:var(--admin-muted);font-size:10px}.admin-metric footer i{width:6px;height:6px;margin-right:5px;display:inline-block;border-radius:50%;background:#2ba875;box-shadow:0 0 0 3px #dff2e9}.admin-metric.featured{border-top:3px solid var(--admin-accent)}.admin-metric.attention{border-top:3px solid var(--admin-danger)}.admin-metric.attention header{color:var(--admin-danger)}.admin-dashboard-grid{margin-top:12px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:12px}.admin-panel{margin-bottom:12px;padding:18px;border:1px solid var(--admin-line);background:var(--admin-surface)}.admin-panel-heading{margin-bottom:17px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-panel-heading h2{margin:0;font-size:14px}.admin-panel-heading p{margin:4px 0 0;color:var(--admin-muted);font-size:10px}.admin-panel-heading>span,.admin-panel-heading .admin-link-button{display:inline-flex;align-items:center;gap:5px;color:var(--admin-muted);font-size:10px}.admin-bar-chart{height:240px;padding-top:16px;display:flex;align-items:stretch;gap:clamp(6px,1.5vw,18px);border-bottom:1px solid var(--admin-line)}.admin-bar-column{min-width:20px;flex:1;display:grid;grid-template-rows:18px minmax(0,1fr) 28px;justify-items:center;color:var(--admin-muted);font-size:9px}.admin-bar-column strong{color:var(--admin-ink);font-size:10px}.admin-bar-column>div{width:min(32px,72%);display:flex;align-items:flex-end}.admin-bar-column i{width:100%;min-height:4px;display:block;background:var(--admin-accent)}.admin-bar-column span{padding-top:7px}.admin-chart-empty{min-height:160px;display:grid;place-items:center;color:var(--admin-muted);font-size:11px}.admin-zone-list{display:grid;gap:17px}.admin-zone-list header{margin-bottom:6px;display:flex;justify-content:space-between;font-size:11px}.admin-zone-list header small{color:var(--admin-muted);font-weight:400}.admin-zone-list>div>div{height:6px;overflow:hidden;background:#e8ecef}.admin-zone-list i{height:100%;display:block;background:var(--admin-accent)}.admin-filter-bar{margin-bottom:12px;display:flex;align-items:end;flex-wrap:wrap;gap:8px}.admin-filter-bar select,.admin-filter-bar>input,.admin-date-field input{height:36px;padding:0 9px;border:1px solid var(--admin-line);border-radius:5px;color:var(--admin-ink);background:var(--admin-surface);font-size:12px}.admin-search{width:min(300px,100%);height:36px;padding:0 10px;display:flex;align-items:center;gap:7px;border:1px solid var(--admin-line);border-radius:5px;background:var(--admin-surface)}.admin-search.narrow{width:170px}.admin-search input{width:100%;min-width:0;border:0;outline:0;color:var(--admin-ink);background:transparent;font-size:12px}.admin-date-field{display:grid;gap:3px;color:var(--admin-muted);font-size:9px}.admin-table-panel,.admin-report-list,.admin-message-panel{border:1px solid var(--admin-line);background:var(--admin-surface)}.admin-table-scroll{width:100%;overflow-x:auto}.admin-table{width:100%;min-width:880px;border-collapse:collapse;font-size:11px}.admin-table th{height:40px;padding:8px 11px;color:var(--admin-muted);background:#f7f8f9;text-align:left;font-weight:600;white-space:nowrap}.admin-table td{height:55px;padding:9px 11px;border-top:1px solid var(--admin-line);vertical-align:middle}.admin-table td strong,.admin-table td small{display:block}.admin-table td small{margin-top:3px;color:var(--admin-muted);font-size:9px}.admin-row-link{min-height:32px;display:inline-flex;align-items:center;color:var(--admin-accent);font-weight:600}.admin-status{width:fit-content;min-height:23px;padding:3px 7px;display:inline-flex;align-items:center;gap:5px;border-radius:4px;color:#485663;background:#e9edf0;font-size:9px;white-space:nowrap}.admin-status i{width:6px;height:6px;border-radius:50%;background:#269b6e}.admin-status.active,.admin-status.open,.admin-status.resolved{color:#216f64;background:#e1f1ee}.admin-status.muted,.admin-status.pending{color:#8a5718;background:#fff0d9}.admin-status.banned,.admin-status.rejected{color:#a33c46;background:#f8e3e5}.admin-status.large{min-height:29px;padding:5px 9px;font-size:10px}.admin-users-table{min-width:1020px}.admin-pagination{min-height:48px;padding:7px 11px;border-top:1px solid var(--admin-line);display:flex;align-items:center;justify-content:space-between;color:var(--admin-muted);font-size:10px}.admin-pagination>div{display:flex;align-items:center;gap:10px}.admin-pagination .admin-icon-button{width:32px;height:32px}.admin-pagination strong{min-width:54px;text-align:center;color:var(--admin-ink)}.admin-user-heading{min-height:92px;margin-bottom:12px;padding:16px 18px;display:flex;align-items:center;gap:13px;border:1px solid var(--admin-line);background:var(--admin-surface)}.admin-avatar{width:50px;height:50px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:var(--admin-accent);background:var(--admin-accent-soft)}.admin-user-heading>div{min-width:0;flex:1}.admin-user-heading h2{margin:0;font-size:17px}.admin-user-heading p{margin:4px 0;color:var(--admin-muted);font-size:10px}.admin-tag-row{display:flex;flex-wrap:wrap;gap:4px}.admin-tag-row span{padding:3px 6px;border:1px solid var(--admin-line);border-radius:4px;color:var(--admin-muted);font-size:9px}.admin-detail-columns{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:12px}.admin-definition-grid{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-definition-grid>div{min-height:55px;padding:10px 0;border-top:1px solid var(--admin-line)}.admin-definition-grid>div:nth-child(odd){padding-right:12px}.admin-definition-grid dt{color:var(--admin-muted);font-size:9px}.admin-definition-grid dd{margin:5px 0 0;font-size:11px;overflow-wrap:anywhere}.admin-subsection{margin-top:14px}.admin-subsection h3{font-size:11px}.admin-list-row{min-height:50px;padding:8px 0;border-top:1px solid var(--admin-line);display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-list-row strong,.admin-list-row small{display:block}.admin-list-row strong{font-size:11px}.admin-list-row small,.admin-list-row time{margin-top:3px;color:var(--admin-muted);font-size:9px}.admin-muted{color:var(--admin-muted);font-size:10px}.admin-summary-list{display:grid}.admin-summary-list>div,.admin-summary-list>a{min-height:42px;border-top:1px solid var(--admin-line);display:flex;align-items:center;gap:7px;font-size:10px}.admin-summary-list span{flex:1}.admin-summary-list strong{font-size:12px}.admin-actions-panel>button{width:100%;margin-top:7px}.admin-session-meta{margin-bottom:12px;padding:10px 15px;display:flex;flex-wrap:wrap;gap:12px 30px;border:1px solid var(--admin-line);background:var(--admin-surface)}.admin-session-meta div{display:grid;gap:4px}.admin-session-meta span{color:var(--admin-muted);font-size:9px}.admin-session-meta strong{font-size:10px}.admin-message-panel{padding:0 18px}.admin-message-timeline{margin:0;padding:10px 0;list-style:none}.admin-message-timeline li{position:relative;padding:9px 0 9px 23px}.admin-message-timeline li:before{content:"";position:absolute;top:0;bottom:0;left:5px;width:1px;background:var(--admin-line)}.admin-timeline-dot{position:absolute;top:21px;left:1px;width:9px;height:9px;border:2px solid var(--admin-surface);border-radius:50%;background:var(--admin-accent);box-shadow:0 0 0 1px var(--admin-accent)}.admin-message-timeline article{padding:11px 12px;border:1px solid var(--admin-line);background:#fafbfb}.admin-message-timeline article header{display:flex;justify-content:space-between;gap:10px}.admin-message-timeline article header strong{font-size:11px}.admin-message-timeline article header small,.admin-message-timeline time{color:var(--admin-muted);font-size:9px;font-weight:400}.admin-message-timeline article p{margin:9px 0;font-size:12px;line-height:1.65;white-space:pre-wrap}.admin-message-timeline article footer{display:flex;flex-wrap:wrap;gap:9px;color:var(--admin-muted);font-size:8px}.admin-message-timeline article footer .danger{color:var(--admin-danger)}.admin-message-timeline li.recalled .admin-timeline-dot{background:var(--admin-danger);box-shadow:0 0 0 1px var(--admin-danger)}.admin-message-timeline li.recalled article{border-left:3px solid var(--admin-danger)}.admin-media-evidence{margin:9px 0}.admin-media-evidence>span{min-height:42px;display:flex;align-items:center;gap:7px;color:var(--admin-muted);font-size:10px}.admin-media-evidence button{border:0;color:var(--admin-accent);background:transparent}.admin-media-evidence img{max-width:min(420px,100%);max-height:360px;display:block;border:1px solid var(--admin-line);object-fit:contain}.admin-media-evidence audio{width:min(420px,100%);min-height:40px}.admin-report-list{padding:0 18px}.admin-report-row{padding:17px 0;border-bottom:1px solid var(--admin-line)}.admin-report-row>header{display:flex;justify-content:space-between;gap:10px}.admin-report-row>header>div{display:flex;align-items:center;gap:8px}.admin-report-row header strong{font-size:12px}.admin-report-row time{color:var(--admin-muted);font-size:9px}.admin-report-row dl{margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px 25px}.admin-report-row dl div{display:flex;gap:6px;font-size:9px}.admin-report-row dt{color:var(--admin-muted)}.admin-report-row dd{margin:0}.admin-report-row>p{margin:12px 0;font-size:11px;line-height:1.65}.admin-report-row blockquote{margin:10px 0;padding:9px 11px;border-left:3px solid var(--admin-line);color:var(--admin-muted);background:#f7f8f9;font-size:10px}.admin-report-row>footer{display:flex;justify-content:flex-end}.admin-report-row .admin-resolution{justify-content:flex-start;align-items:center;gap:6px;color:var(--admin-accent);font-size:10px}.admin-resolution small{margin-left:auto;color:var(--admin-muted)}.admin-modal-backdrop{position:fixed;inset:0;z-index:100;padding:20px;display:grid;place-items:center;background:#13191e8c}.admin-modal{width:min(440px,100%);max-height:calc(100dvh - 40px);padding:20px;overflow:auto;border:1px solid var(--admin-line);border-radius:6px;background:var(--admin-surface);box-shadow:0 20px 55px #0003}.admin-modal.wide{width:min(620px,100%)}.admin-modal header h2{margin:0;font-size:16px}.admin-modal header p{margin:5px 0 16px;color:var(--admin-muted);font-size:10px;line-height:1.6}.admin-field{margin:12px 0;display:grid;gap:6px;color:var(--admin-muted);font-size:10px}.admin-field input,.admin-field textarea,.admin-field select{width:100%;min-height:38px;padding:9px 10px;border:1px solid var(--admin-line);border-radius:5px;color:var(--admin-ink);background:var(--admin-surface);resize:vertical}.admin-modal footer{margin-top:16px;display:flex;justify-content:flex-end;gap:8px}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.admin-login-page{--admin-accent: #22796e;min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);color:#202832;background:#f1f4f4}.admin-login-intro{padding:40px clamp(35px,7vw,100px);display:flex;flex-direction:column;justify-content:space-between;color:#f5f7f7;background:#222a32}.admin-login-brand{display:flex;align-items:center;gap:10px}.admin-login-brand span{width:38px;height:38px;display:grid;place-items:center;border-radius:6px;background:var(--admin-accent)}.admin-login-intro h1{max-width:590px;margin:0 0 12px;font-size:39px;font-weight:500;line-height:1.25}.admin-login-intro p{margin:0;color:#b8c3ca;font-size:14px}.admin-login-intro small{color:#8f9ca5;font-size:10px}.admin-login-panel{padding:30px;display:grid;place-items:center;background:#fff}.admin-login-form{width:min(390px,100%)}.admin-kicker{display:inline-flex;align-items:center;gap:5px;color:var(--admin-accent);font-size:10px}.admin-login-form h2{margin:10px 0 6px;font-size:23px}.admin-login-form>p{margin:0 0 20px;color:#687483;font-size:11px;line-height:1.7}.admin-input-with-icon{height:44px;padding:0 11px;display:flex;align-items:center;gap:7px;border:1px solid #dce1e7;border-radius:5px}.admin-input-with-icon input{min-width:0;height:42px;padding:0;border:0;outline:0}.admin-login-form .admin-primary-button{width:100%;min-height:44px;margin-top:8px}.admin-error{margin:8px 0!important;color:var(--admin-danger, #b74650)!important}.admin-nav-backdrop{display:none}@media(max-width:1180px){.admin-metric-grid{grid-template-columns:repeat(3,minmax(145px,1fr))}}@media(max-width:959px){.admin-table-panel{min-width:0;max-width:100%}.admin-users-table{min-width:0}.admin-users-table thead{display:none}.admin-users-table tbody{display:grid}.admin-users-table tr{position:relative;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;border-top:1px solid var(--admin-line)}.admin-users-table tr:first-child{border-top:0}.admin-users-table td{min-width:0;height:auto;padding:0;border:0}.admin-users-table td:first-child{grid-column:1}.admin-users-table td:nth-child(5){grid-column:2;grid-row:1;justify-self:end}.admin-users-table td:nth-child(2),.admin-users-table td:nth-child(3),.admin-users-table td:nth-child(4),.admin-users-table td:nth-child(6),.admin-users-table td:nth-child(7){grid-column:1 / -1;display:grid;grid-template-columns:68px minmax(0,1fr);gap:8px;line-height:1.5;overflow-wrap:anywhere}.admin-users-table td:nth-child(2):before,.admin-users-table td:nth-child(3):before,.admin-users-table td:nth-child(4):before,.admin-users-table td:nth-child(6):before,.admin-users-table td:nth-child(7):before{content:attr(data-label);color:var(--admin-muted)}.admin-users-table td:last-child{grid-column:1 / -1;margin-top:2px;border-top:1px solid var(--admin-line)}.admin-users-table .admin-row-link{min-height:42px;justify-content:flex-end;gap:3px}}@media(max-width:820px){.admin-root{grid-template-columns:1fr}.admin-sidebar{position:fixed;left:0;width:min(280px,84vw);transform:translate(-101%);transition:transform .18s ease}.admin-sidebar.open{transform:translate(0)}.admin-nav-backdrop{position:fixed;inset:0;z-index:40;display:block;border:0;background:#14191e6b}.admin-menu-button,.admin-close-nav{display:inline-grid}.admin-close-nav{margin-left:auto;color:#fff;border-color:#46515b;background:transparent}.admin-content{padding:14px 12px calc(24px + env(safe-area-inset-bottom))}.admin-topbar{min-height:calc(62px + env(safe-area-inset-top));padding-top:calc(8px + env(safe-area-inset-top));padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.admin-topbar p{display:none}.admin-dashboard-grid,.admin-detail-columns{grid-template-columns:1fr}.admin-login-page{display:block}.admin-login-intro{min-height:230px;padding:calc(25px + env(safe-area-inset-top)) 22px 24px}.admin-login-intro h1{font-size:27px}.admin-login-intro small{display:none}.admin-login-panel{padding:28px 20px calc(30px + env(safe-area-inset-bottom))}.admin-filter-bar{align-items:stretch}.admin-search{flex:1 1 240px}.admin-filter-bar select,.admin-date-field{flex:1 1 130px}.admin-filter-bar select,.admin-date-field input,.admin-filter-bar .admin-primary-button{min-height:44px}.admin-user-heading{align-items:flex-start;flex-wrap:wrap}.admin-user-heading .admin-status{margin-left:63px}.admin-form-grid{grid-template-columns:1fr}.admin-user-filters .admin-search{width:100%;height:44px;flex-basis:100%}.admin-user-filters .admin-icon-button{width:44px;height:44px}}@media(max-width:560px){.admin-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-metric{min-height:116px;padding:13px}.admin-metric>strong{font-size:24px}.admin-toolbar{align-items:stretch}.admin-toolbar .admin-segments{flex:1}.admin-toolbar .admin-segments button{flex:1;padding-left:6px;padding-right:6px}.admin-bar-chart{height:200px;gap:4px}.admin-bar-column>div{width:70%}.admin-panel{padding:14px}.admin-definition-grid{grid-template-columns:1fr}.admin-definition-grid>div:nth-child(odd){padding-right:0}.admin-session-meta{display:grid;grid-template-columns:1fr 1fr}.admin-message-panel,.admin-report-list{padding:0 10px}.admin-message-timeline article header{display:grid}.admin-report-row>header{display:grid}.admin-report-row>header>div{flex-wrap:wrap}.admin-report-row>header time{margin-left:auto}.admin-modal-backdrop{padding:max(10px,env(safe-area-inset-top)) 8px 0;align-items:end}.admin-modal{width:100%;max-height:calc(92dvh - env(safe-area-inset-top));border-radius:6px 6px 0 0;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.admin-modal footer>button{flex:1;min-height:44px}}.treehole-detail{padding:20px;background:var(--shell)}.treehole-detail-column{width:min(700px,100%);margin:0 auto}.treehole-detail-post{padding:24px 8px 28px;border-bottom:1px solid var(--line)}.treehole-detail-author{display:flex;align-items:center;gap:10px}.treehole-detail-avatar,.treehole-comment-avatar{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:var(--blue-strong);background:var(--soft);font-size:11px}.treehole-detail-author>div{min-width:0}.treehole-detail-author strong,.treehole-detail-author time{display:block}.treehole-detail-author strong{color:var(--blue-strong);font-size:12px;font-weight:600}.treehole-detail-author time{margin-top:3px;color:var(--muted);font-size:10px}.treehole-detail-copy{margin:24px 0 22px;color:var(--ink);font-size:16px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.treehole-detail-actions{min-height:46px;display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.treehole-detail-actions button{min-height:44px;padding:0;display:inline-flex;align-items:center;gap:5px;border:0;color:var(--muted);background:transparent;font-size:11px}.treehole-detail-actions button.active{color:var(--blue-strong)}.treehole-detail-actions .delete-action{margin-left:auto;color:var(--coral)}.treehole-comments{padding:30px 8px 0}.treehole-comments-heading{padding-bottom:9px;display:flex;align-items:baseline;gap:9px;border-bottom:1px solid var(--line)}.treehole-comments-heading h2{margin:0;color:var(--ink);font-size:14px;font-weight:650}.treehole-comments-heading>span{color:var(--muted);font-size:10px}.treehole-comment{padding:20px 0;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:11px}.treehole-comment+.treehole-comment{border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.treehole-comment.author{padding-left:10px;border-left:2px solid var(--blue)}.treehole-comment-body{min-width:0}.treehole-comment-body header{min-height:18px;display:flex;align-items:center;gap:7px}.treehole-comment-body strong{color:var(--blue-strong);font-size:11px;font-weight:600}.treehole-comment-body time{margin-left:auto;color:var(--muted);font-size:9px}.treehole-comment-body p{margin:7px 0 0 6px;color:var(--ink);font-size:13px;line-height:1.76;white-space:pre-wrap;overflow-wrap:anywhere}.treehole-author-mark{padding:2px 5px;border:1px solid color-mix(in srgb,var(--blue) 45%,var(--line));border-radius:4px;color:var(--blue-strong);font-size:9px}.treehole-empty-comments{padding:34px 12px 26px;color:var(--muted);font-size:12px;text-align:center}.treehole-reply-trigger{width:calc(100% - 16px);min-height:72px;margin:14px 8px 0;padding:0 2px;display:grid;grid-template-columns:25px minmax(0,1fr) 20px;align-items:center;gap:9px;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--blue-strong);background:transparent;text-align:left}.treehole-reply-trigger>span{min-width:0}.treehole-reply-trigger strong,.treehole-reply-trigger small{display:block}.treehole-reply-trigger strong{color:var(--ink);font-size:12px;font-weight:600}.treehole-reply-trigger small{margin-top:4px;color:var(--muted);font-size:10px}.treehole-boundary{margin:12px 8px 22px;display:flex;align-items:center;justify-content:center;gap:5px;color:var(--muted);font-size:10px;text-align:center}.treehole-detail-error{margin:12px 8px}.treehole-reply-form{display:grid;gap:7px}.treehole-reply-form label{color:var(--ink);font-size:12px;font-weight:600}.treehole-reply-form textarea{width:100%;min-height:138px;padding:12px;resize:vertical;border:1px solid var(--line);border-radius:7px;outline:0;color:var(--ink);background:var(--shell);font:inherit;font-size:14px;line-height:1.7}.treehole-reply-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 18%,transparent)}.treehole-reply-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px}.treehole-reply-meta span:first-child{min-width:0}.treehole-reply-meta span:last-child{flex:0 0 auto}@media(max-width:959px){.app-header.compact{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right));display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:0}.app-header.compact:after{content:"";grid-column:3}.app-header.compact>.header-back{grid-column:1;order:0}.app-header.compact>.header-title{grid-column:2;order:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.app-header.compact>.header-spacer,.app-header.compact>.privacy-state,.app-header.compact>button[aria-label=切换深浅色],.app-header.compact>.header-account{display:none!important}.treehole-detail{padding:0 20px calc(26px + env(safe-area-inset-bottom))}.treehole-detail-post{padding:25px 0 26px}.treehole-detail-copy{font-size:15px;line-height:1.9}.treehole-comments{padding-right:0;padding-left:0}.treehole-reply-trigger{width:100%;margin-right:0;margin-left:0}.treehole-boundary{margin-right:0;margin-left:0}.treehole-reply-form textarea{font-size:16px}}@media(max-width:360px){.treehole-detail{padding-right:16px;padding-left:16px}.treehole-detail-actions{gap:15px}.treehole-detail-actions .action-label{display:none}}.app-header{border-bottom-color:color-mix(in srgb,var(--line) 72%,transparent);background:color-mix(in srgb,var(--shell) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand-mark{background:var(--blue-strong);box-shadow:0 7px 18px color-mix(in srgb,var(--blue) 22%,transparent)}.primary-tabs{width:min(420px,100%);padding:0;gap:28px;border:0;border-radius:0;background:transparent}.primary-tabs a{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:0;background:transparent}.primary-tabs a:after{content:"";position:absolute;right:20%;bottom:0;left:20%;height:2px;border-radius:2px;background:transparent}.primary-tabs a.router-link-exact-active{color:var(--blue-strong);background:transparent}.primary-tabs a.router-link-exact-active:after{background:var(--blue-strong)}.active-chat-dot{width:6px;height:6px;margin-left:-3px;flex:0 0 auto;border-radius:50%;background:var(--teal);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 13%,transparent)}.hero-kicker,.login-kicker{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;color:#496879;font-size:12px;font-weight:600}.hero-band{position:relative;background-image:linear-gradient(90deg,#f8faf9f0,#f8faf9a8 52%,#f8faf914),url(/assets/qingyu-lighthouse-background-v2-RrEyNZ1V.jpg)}.hero-band h1{color:#294657;font-weight:550}.match-form>header p{margin:-12px 0 22px;color:var(--muted);font-size:12px;line-height:1.7}.choice-grid button,.tag-picker button{border-color:transparent;background:var(--shell);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 72%,transparent)}.choice-grid button[aria-pressed=true],.tag-picker button[aria-pressed=true]{border-color:transparent;background:color-mix(in srgb,var(--soft) 80%,var(--panel));box-shadow:inset 0 0 0 1.5px var(--blue)}.choice-grid button small{align-items:center;gap:3px}.choice-grid button[aria-pressed=true] small{display:inline-flex}.segmented{gap:7px;overflow:visible;border:0;border-radius:0}.segmented button,.segmented button:last-child{border:0;border-radius:8px;background:var(--shell);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 76%,transparent)}.segmented button[aria-pressed=true]{background:var(--blue-strong);box-shadow:none}.safety-copy{display:flex;align-items:center;justify-content:center;gap:5px}.settings-intro{padding:8px 4px 18px}.settings-intro span{color:var(--ink);font-size:20px;font-weight:650}.settings-intro p{margin:6px 0 0;color:var(--muted);font-size:12px}.chat-welcome{width:min(420px,100%);margin:auto;padding:28px 14px;text-align:center}.chat-welcome-mark{width:48px;height:48px;margin:0 auto 14px;display:grid;place-items:center;border-radius:50%;color:var(--blue-strong);background:color-mix(in srgb,var(--soft) 82%,var(--panel))}.chat-welcome h2{margin:0;font-size:18px;font-weight:600}.chat-welcome>p{margin:8px auto 20px;color:var(--muted);font-size:12px;line-height:1.7}.chat-welcome>div{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.greeting-chip{align-self:auto;min-height:40px;padding:8px 11px;border:0;border-radius:8px;color:var(--blue-strong);background:var(--panel);box-shadow:0 6px 18px color-mix(in srgb,var(--shadow) 60%,transparent);font-size:12px}.message p{border:0;border-radius:8px 8px 8px 3px;box-shadow:0 2px 9px color-mix(in srgb,var(--shadow) 52%,transparent)}.message.self p{border:0;border-radius:8px 8px 3px;background:var(--blue-strong)}.system-message{border:0;background:color-mix(in srgb,var(--panel) 75%,transparent)}.chat-header{border-bottom:0;box-shadow:0 1px color-mix(in srgb,var(--line) 65%,transparent)}.delivery-status{color:var(--muted);white-space:nowrap}.delivery-status.read{color:var(--teal)}.message-row{min-width:0;display:flex;align-items:center;gap:7px}.message.self .message-row{justify-content:flex-end}.message-read-receipt{flex:0 0 auto;color:var(--teal);font-size:10px;white-space:nowrap}.message-body.actionable{border-radius:8px;touch-action:pan-y;-webkit-touch-callout:none}.message-body.actionable:focus-visible{outline:2px solid color-mix(in srgb,var(--teal) 58%,transparent);outline-offset:3px}.message-action-backdrop{position:fixed;inset:0;z-index:140;padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));display:flex;align-items:flex-end;justify-content:center;background:#10181f47;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.message-action-sheet{width:min(420px,100%);padding:6px;display:grid;gap:3px;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:8px;background:var(--panel);box-shadow:0 18px 50px color-mix(in srgb,var(--shadow) 80%,transparent);outline:0}.message-action-sheet button{width:100%;min-height:48px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:6px;color:var(--muted);background:transparent;font-size:14px}.message-action-sheet .recall-action{color:var(--coral);background:color-mix(in srgb,var(--coral) 8%,transparent)}.image-preview{padding:0;display:grid;grid-template-rows:calc(64px + env(safe-area-inset-top)) minmax(0,1fr);place-items:stretch;color:#fff;background:#080c11f5;outline:0}.image-preview-toolbar{min-width:0;padding:env(safe-area-inset-top) max(10px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left));display:grid;grid-template-columns:44px 58px 44px 44px minmax(0,1fr) 44px;align-items:center;gap:4px;border-bottom:1px solid rgba(255,255,255,.12);background:#080c11d1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.image-preview-toolbar button{width:44px;height:44px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;color:#fff;background:transparent}.image-preview-toolbar button:hover{background:#ffffff1a}.image-preview-toolbar button:disabled{opacity:.32}.image-preview-toolbar output{min-width:58px;color:#ffffffd1;font-size:12px;font-variant-numeric:tabular-nums;text-align:center}.image-preview-viewport{min-width:0;min-height:0;overflow:hidden;display:grid;place-items:center;touch-action:none;cursor:grab}.image-preview-viewport:active{cursor:grabbing}.image-preview-viewport img{max-width:calc(100% - 24px);max-height:calc(100% - 24px);display:block;object-fit:contain;-webkit-user-select:none;user-select:none;will-change:transform;transition:transform .12s ease-out}.image-preview-viewport:active img{transition:none}.composer-area{border-top:0;box-shadow:0 -8px 28px color-mix(in srgb,var(--shadow) 44%,transparent)}.post-card{border:0;box-shadow:0 7px 24px color-mix(in srgb,var(--shadow) 58%,transparent)}.post-card>footer{border-top-color:color-mix(in srgb,var(--line) 62%,transparent)}@media(max-width:959px){.app-shell{grid-template-rows:calc(60px + env(safe-area-inset-top)) minmax(0,1fr)}.app-header{height:calc(60px + env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right));padding-left:max(12px,env(safe-area-inset-left))}.app-header.primary>.header-settings,.app-header.primary>button[aria-label=切换深浅色]{display:none}.app-header.primary>.header-account{margin-left:auto}.app-header.titled{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:0}.app-header.titled>.header-back,.app-header.titled>.header-settings{grid-column:1;grid-row:1}.app-header.titled>.header-title{grid-column:2;grid-row:1;text-align:center}.app-header.titled>.header-spacer{display:block;grid-column:3;grid-row:1}.app-header.titled>button[aria-label=切换深浅色],.app-header.titled>.header-account{display:none}.home-content>.primary-tabs{width:100%;min-height:54px;margin:0;padding:0 18px;gap:18px;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.home-layout{background:var(--shell)}.hero-band{min-height:210px;padding:28px 20px 24px;align-items:flex-end;background-position:71% center}.hero-band>div{width:min(82%,420px)}.hero-band h1{margin-bottom:8px;font-size:30px}.hero-band p{margin:0;font-size:13px;line-height:1.75}.match-form{padding:28px 18px calc(118px + env(safe-area-inset-bottom));background:var(--panel)}.match-form header h2{margin:7px 0 16px;font-size:21px}.match-form>header p{margin:-8px 0 24px}.match-form fieldset{margin:22px 0}.match-form legend{margin-bottom:10px;color:var(--ink);font-size:13px;font-weight:600}.match-form legend span{font-weight:400}.choice-grid button{min-height:54px;padding:9px 12px;flex-direction:row;justify-content:flex-start;gap:9px}.choice-grid button span{font-size:14px;font-weight:600}.choice-grid button small{margin-left:auto}.gender-symbol{width:26px;height:26px;font-size:22px}.segmented{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented button{min-height:46px;font-size:12px}.tag-picker{gap:8px}.tag-picker button{min-width:0;min-height:44px;padding:7px 13px;border-radius:8px}.tag-more{border:0!important;border-style:solid!important;box-shadow:none!important;background:transparent!important}.start-dock{padding:11px max(16px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border-top:0;background:color-mix(in srgb,var(--panel) 93%,transparent);box-shadow:0 -12px 34px color-mix(in srgb,var(--shadow) 55%,transparent)}.start-button{min-height:52px;border:0;border-radius:8px;background:var(--blue-strong);box-shadow:0 9px 22px color-mix(in srgb,var(--blue) 25%,transparent)}.start-dock .safety-copy{font-size:10px}.login-page{background:var(--shell)}.login-visual{min-height:252px;padding:calc(20px + env(safe-area-inset-top)) 20px 26px;background-image:linear-gradient(90deg,#f8faf9eb,#f8faf92e),url(/assets/qingyu-lighthouse-background-v2-RrEyNZ1V.jpg);background-position:72% center}.login-visual h1{margin-bottom:7px;color:#294657;font-size:31px;font-weight:550}.login-panel{padding:27px 20px calc(30px + env(safe-area-inset-bottom));background:var(--shell)}.login-card .eyebrow{color:var(--teal)}.auth-switch{border:0;background:var(--soft)}.auth-switch button[aria-selected=true]{color:var(--ink);background:var(--panel);box-shadow:0 3px 12px color-mix(in srgb,var(--shadow) 64%,transparent)}.field input,.field textarea{border-color:transparent;background:var(--panel);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 82%,transparent)}.login-submit{border:0;background:var(--blue-strong)}.settings-view,.me-page{padding:20px 18px calc(34px + env(safe-area-inset-bottom))}.nickname-editor{margin:0;padding:18px 4px 22px;border:0;border-radius:0;background:transparent}.nickname-editor header{margin-bottom:16px}.nickname-editor .avatar{width:50px;height:50px}.nickname-editor input{min-height:48px;border:0;background:transparent;box-shadow:none}.settings-view-inner .settings-panel{padding:0;border:0;border-radius:0;background:transparent}.settings-group{margin-top:0;padding:20px 4px 8px;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.settings-group h2{margin-bottom:8px;color:var(--teal);font-size:12px}.setting-row{min-height:58px}.setting-row+.setting-row{border-top:1px solid color-mix(in srgb,var(--line) 58%,transparent)}.account-profile{padding:18px 4px 24px;background:transparent}.account-actions,.blocks-section{margin-top:12px;padding:18px 4px 6px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}.treehole-page{padding:0 16px calc(32px + env(safe-area-inset-bottom))}.treehole-page .primary-tabs{min-height:54px;margin-bottom:22px}.section-heading{margin-bottom:20px;align-items:flex-end}.section-heading h1{margin-top:7px;font-size:24px}.section-heading .button{min-width:48px;min-height:44px;padding:8px 11px;border:0}.post-list{gap:14px}.post-main{padding:18px 16px}.post-main p{margin-top:13px;font-size:15px;line-height:1.85}.match-screen,.chat-workspace{background:var(--page)}.match-waiting h1{font-size:24px}.cancel-match{border-color:transparent;background:var(--panel);box-shadow:0 7px 24px color-mix(in srgb,var(--shadow) 55%,transparent)}.chat-header{background:color-mix(in srgb,var(--panel) 95%,transparent);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.partner strong{font-size:16px}.message-list{padding-top:22px;gap:12px}.composer-area{background:var(--panel)}.composer textarea{border-radius:8px;background:var(--soft)}.composer .send-button{border:0;border-radius:8px;background:var(--blue-strong)}.treehole-detail-post{border-bottom-color:color-mix(in srgb,var(--line) 62%,transparent)}.treehole-detail-actions{border-top-color:color-mix(in srgb,var(--line) 62%,transparent);border-bottom-color:color-mix(in srgb,var(--line) 62%,transparent)}.treehole-comment+.treehole-comment{border-top-color:color-mix(in srgb,var(--line) 48%,transparent)}}@media(max-width:390px){.hero-band{min-height:202px}.hero-band>div{width:86%}.hero-band h1{font-size:28px}.match-form{padding-right:16px;padding-left:16px}.choice-grid button{min-height:54px}.tag-picker button{min-width:0;padding-right:12px;padding-left:12px}.nickname-editor .nickname-compose{grid-template-columns:minmax(0,1fr);gap:8px}.nickname-actions{justify-content:flex-end}.nickname-editor .button{min-width:48px;padding:0;font-size:0}.nickname-editor .button svg{width:18px;height:18px}.section-heading .button{font-size:0}.section-heading .button svg{width:19px;height:19px}}
