:root{--bg: #000;--ground: #0B0B10;--paper: #FAFAFA;--tx: rgba(255, 255, 255, .95);--tx-mid: rgba(255, 255, 255, .78);--tx-mut: rgba(255, 255, 255, .58);--tx-faint: rgba(255, 255, 255, .38);--line: rgba(255, 255, 255, .09);--line-2: rgba(255, 255, 255, .17);--fill: rgba(255, 255, 255, .06);--fill-2: rgba(255, 255, 255, .12);--red: #C8102E;--red-bright: #FF3B54;--acc-blue: #7EC4E3;--acc-green: #7EEA9B;--acc-amber: #F2B76C;--disp: "Space Grotesk", system-ui, sans-serif;--sans: "Geist", "Inter", system-ui, -apple-system, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, monospace;--ease: cubic-bezier(.33, 1, .68, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--tx-mid);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:#a082ff59;color:#fff}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea,select{font:inherit;color:inherit;background:none;border:0}button{cursor:pointer}input:focus,textarea:focus{outline:none}a:focus-visible,button:focus-visible{outline:2px solid var(--paper);outline-offset:3px;border-radius:4px}@keyframes rise-in{0%{opacity:0;filter:blur(8px);transform:translateY(10px)}to{opacity:1;filter:blur(0);transform:none}}@keyframes fade-in{0%{opacity:0;filter:blur(6px)}to{opacity:1;filter:blur(0)}}@keyframes pop-in{0%{transform:scale(0);opacity:0}60%{transform:scale(1.3);opacity:1}to{transform:scale(1);opacity:1}}.glow-field{position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:0;pointer-events:none;background:radial-gradient(38% 30% at 22% 24%,rgba(126,196,227,.08),transparent 70%),radial-gradient(34% 30% at 78% 70%,rgba(126,234,155,.05),transparent 70%),radial-gradient(30% 26% at 62% 18%,rgba(160,130,255,.07),transparent 70%);filter:blur(70px)}.shell{position:relative;z-index:1;display:grid;grid-template-columns:244px minmax(0,1fr);height:100%}.side{display:flex;flex-direction:column;gap:6px;padding:22px 16px 18px;border-right:1px solid var(--line);min-height:0}.side-logo{display:flex;align-items:center;gap:8px;padding:2px 10px 16px;font-family:var(--disp);font-weight:600;font-size:16px;color:var(--tx)}.side-logo svg{width:17px;height:17px;fill:var(--tx);flex:none}.side-badge{background:#fff;color:#000;font-size:9.5px;font-weight:600;letter-spacing:.08em;border-radius:5px;padding:2px 7px}.side-search{display:flex;align-items:center;gap:8px;margin:0 2px 12px;padding:9px 12px;border-radius:10px;background:var(--fill);border:1px solid var(--line);color:var(--tx-faint);font-size:12.5px;width:calc(100% - 4px);text-align:left;transition:background .3s var(--ease),color .3s var(--ease)}.side-search:hover{background:var(--fill-2);color:var(--tx-mut)}.side-search svg{width:12px;height:12px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;flex:none}.side-search kbd{margin-left:auto;font-family:var(--sans);font-size:10px;border:1px solid var(--line-2);border-radius:5px;padding:1px 5px}.side-nav{display:grid;gap:2px}.side-nav a,.side-nav button{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;color:var(--tx-faint);font-weight:500;font-size:13.5px;transition:background .3s var(--ease),color .3s var(--ease);text-align:left;width:100%}.side-nav a:hover,.side-nav button:hover{color:var(--tx-mut);background:var(--fill)}.side-nav a.act{background:#ffffff1a;color:var(--tx)}.side-nav svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}.side-count{margin-left:auto;font-size:10.5px;font-weight:600;color:var(--acc-amber);background:#f2b76c1f;border-radius:99px;padding:1px 7px;font-variant-numeric:tabular-nums}.side-count.pop{animation:pop-in .5s var(--ease) both}.side-sec{margin:14px 12px 6px;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-faint)}.side-projects{overflow-y:auto;min-height:0}.side-foot{margin-top:auto;display:flex;align-items:center;gap:9px;padding:14px 10px 2px;border-top:1px solid var(--line);color:var(--tx-mut);font-size:12.5px}.side-foot .dot{width:6px;height:6px;border-radius:50%;background:var(--acc-green);flex:none;margin-left:auto;animation:dot-breathe 3.2s ease-in-out infinite}@keyframes dot-breathe{0%,to{opacity:1}50%{opacity:.45}}.side-foot button{color:var(--tx-faint);font-size:11.5px;transition:color .25s var(--ease)}.side-foot button:hover{color:var(--tx)}.ava{width:26px;height:26px;border-radius:50%;flex:none;background:#ffffff24;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:var(--tx)}.ava.wedge{background:var(--paper);color:#000}.ava.wedge svg{width:12px;height:12px;fill:#000}.ava.sm{width:22px;height:22px;font-size:9px}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.topbar{display:flex;align-items:center;gap:12px;padding:15px clamp(20px,3vw,34px);border-bottom:1px solid var(--line);min-height:62px}.crumb{font-size:12.5px;color:var(--tx-faint);display:flex;align-items:baseline;gap:6px;min-width:0}.crumb b{color:var(--tx);font-weight:600;font-family:var(--disp);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phase-pill{font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--acc-blue);background:#7ec4e31f;border:1px solid rgba(126,196,227,.3);padding:3px 9px;border-radius:99px;flex:none}.top-right{margin-left:auto;display:flex;align-items:center;gap:13px}.page{flex:1;min-height:0;overflow-y:auto;padding:clamp(20px,3.2vh,30px) clamp(20px,3vw,34px) 40px;animation:fade-in .35s var(--ease) both}.page-tight{display:flex;flex-direction:column;min-height:0;overflow:hidden}.kpis{display:grid;grid-template-columns:1.3fr 1fr 1fr;border:1px solid var(--line);border-radius:14px;margin-bottom:16px}.kpi{padding:15px 17px;min-width:0}.kpi+.kpi{border-left:1px solid var(--line)}.kpi b{display:block;font-family:var(--disp);font-size:21px;font-weight:600;color:var(--tx);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.kpi span{display:block;margin-top:3px;font-size:11.5px;color:var(--tx-faint)}.kpi .bar{height:3px;border-radius:2px;background:var(--line-2);margin-top:10px;overflow:hidden}.kpi .bar i{display:block;height:100%;background:var(--paper);border-radius:2px;transition:width .8s var(--ease)}.kpi .amber{color:var(--acc-amber)}.card{border:1px solid var(--line);border-radius:14px;padding:15px 17px;background:#ffffff05}.card+.card{margin-top:10px}.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}.card-head b{font-size:13.5px;font-weight:600;color:var(--tx)}.card-head time,.card-head span.when{font-size:11px;color:var(--tx-faint);flex:none}.card p{font-size:13px;line-height:1.55;color:var(--tx-mut)}.section-label{font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-faint);margin:22px 0 10px}.section-label:first-child{margin-top:0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}@media(max-width:980px){.grid-2{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:99px;padding:8px 16px;font-size:12.5px;font-weight:600;border:1px solid transparent;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .15s var(--ease)}.btn:active{transform:scale(.96)}.btn.pri{background:var(--paper);color:#000}.btn.pri:hover{background:#fff}.btn.sec{background:var(--fill);color:var(--tx-mid);border-color:var(--line-2)}.btn.sec:hover{background:var(--fill-2);color:var(--tx)}.btn.danger{background:#ff3b541f;color:var(--red-bright);border-color:#ff3b544d}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.sm{padding:5.5px 12px;font-size:11.5px}.status-tag{flex:none;font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border-radius:99px;padding:2.5px 9px;color:var(--acc-blue);background:#7ec4e31a;border:1px solid rgba(126,196,227,.28)}.status-tag.green{color:var(--acc-green);background:#7eea9b1a;border-color:#7eea9b47}.status-tag.amber{color:var(--acc-amber);background:#f2b76c1a;border-color:#f2b76c47}.status-tag.red{color:var(--red-bright);background:#ff3b541a;border-color:#ff3b5447}.status-tag.mut{color:var(--tx-faint);background:var(--fill);border-color:var(--line-2)}.field{display:grid;gap:6px}.field+.field{margin-top:14px}.field label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-faint)}.field input,.field textarea,.field select{width:100%;padding:11px 14px;border-radius:12px;background:var(--fill);border:1px solid var(--line-2);color:var(--tx);font-size:14px;transition:border-color .25s var(--ease),background .25s var(--ease)}.field input:focus,.field textarea:focus{border-color:#fff6;background:var(--fill-2)}.field textarea{min-height:84px;resize:vertical}.field-err{font-size:12px;color:var(--acc-amber);min-height:16px}.field-err.show{animation:rise-in .4s var(--ease)}.auth-wrap{min-height:100%;display:grid;place-items:center;padding:24px;position:relative;z-index:1}.auth-card{width:min(400px,94vw);border:1px solid var(--line-2);border-radius:20px;background:#ffffff0a;-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);box-shadow:inset 0 1px #ffffff1f,0 50px 110px -46px #000000e6;padding:34px 30px 30px;animation:rise-in .6s var(--ease) both}.auth-logo{display:flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:600;font-size:17px;color:var(--tx);margin-bottom:6px}.auth-logo svg{width:18px;height:18px;fill:var(--tx)}.auth-sub{font-size:13.5px;color:var(--tx-mut);margin-bottom:24px}.auth-card .btn{width:100%;padding:12px;font-size:13.5px;margin-top:20px}.ai-home{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:clamp(24px,6vh,64px) 24px 32px}.ai-home.empty{justify-content:center}.ai-hello{text-align:center;margin-bottom:26px;animation:rise-in .55s var(--ease) both}.ai-hello>svg{width:40px;height:40px;fill:var(--tx);margin-inline:auto;margin-bottom:18px;display:block}.ai-hello h1{font-family:var(--disp);font-weight:500;font-size:clamp(24px,3.4vw,32px);letter-spacing:-.02em;color:var(--tx)}.ai-hello p{margin-top:8px;font-size:14px;color:var(--tx-mut)}.ai-thread{width:min(720px,100%);flex:1;display:flex;flex-direction:column;gap:14px}.ai-suggest{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px;animation:rise-in .55s var(--ease) both .1s}.ai-suggest button{border-radius:99px;padding:7px 14px;font-size:12.5px;background:var(--fill);border:1px solid var(--line-2);color:var(--tx-mut);transition:background .25s var(--ease),color .25s var(--ease)}.ai-suggest button:hover{background:var(--fill-2);color:var(--tx)}.ai-composer{width:min(720px,100%);position:sticky;bottom:0;margin-top:auto;padding-top:12px;background:linear-gradient(transparent,var(--bg) 30%)}.ai-box{display:flex;align-items:flex-end;gap:10px;padding:10px 10px 10px 18px;border-radius:22px;background:#ffffff0d;border:1px solid var(--line-2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:border-color .3s var(--ease)}.ai-box:focus-within{border-color:#ffffff61}.ai-box textarea{flex:1;resize:none;max-height:160px;font-size:14.5px;line-height:1.5;color:var(--tx);padding:6px 0}.ai-box textarea::placeholder{color:var(--tx-faint)}.ai-send{width:34px;height:34px;border-radius:50%;flex:none;background:var(--paper);color:#000;display:inline-flex;align-items:center;justify-content:center;transition:transform .15s var(--ease),opacity .2s var(--ease)}.ai-send:active{transform:scale(.94)}.ai-send:disabled{opacity:.35}.ai-send svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}.ai-msg{display:flex;gap:10px;max-width:88%;animation:rise-in .4s var(--ease) both}.ai-msg .ava{align-self:flex-start;margin-top:2px}.ai-msg .body{font-size:14px;line-height:1.6;color:var(--tx-mid);white-space:pre-wrap;word-break:break-word;min-width:0}.ai-msg.user{align-self:flex-end}.ai-msg.user .body{background:var(--paper);color:#000;border-radius:16px 16px 4px;padding:10px 15px;font-size:13.5px}.ai-tools{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}.ai-tool-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:var(--tx-mut);background:var(--fill);border:1px solid var(--line);border-radius:99px;padding:3.5px 11px;animation:fade-in .3s var(--ease) both}.ai-tool-chip svg{width:10px;height:10px;stroke:var(--acc-green);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}.ai-tool-chip.err svg{stroke:var(--acc-amber)}.ai-tool-chip.busy svg{stroke:var(--tx-faint);animation:spin 1s linear infinite}@keyframes spin{to{rotate:360deg}}.ai-cursor{display:inline-block;width:7px;height:14px;margin-left:2px;background:var(--tx-mut);vertical-align:text-bottom;animation:caret-blink 1s steps(2,start) infinite}@keyframes caret-blink{to{visibility:hidden}}.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.proj-card{border:1px solid var(--line);border-radius:16px;padding:17px 18px;background:#ffffff05;transition:background .3s var(--ease),border-color .3s var(--ease);display:block}.proj-card:hover{background:var(--fill);border-color:var(--line-2)}.proj-card .co{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-faint)}.proj-card b{display:block;font-family:var(--disp);font-weight:600;font-size:16px;color:var(--tx);margin:4px 0 12px}.proj-card .meta{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--tx-faint)}.proj-card .bar{height:3px;border-radius:2px;background:var(--line-2);margin-top:12px;overflow:hidden}.proj-card .bar i{display:block;height:100%;background:var(--paper)}.phase-row{display:grid;grid-template-columns:130px 1fr 52px;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.phase-row:last-child{border-bottom:0}.phase-row .nm{font-size:13px;font-weight:600;color:var(--tx);display:flex;align-items:center;gap:8px}.phase-row .nm svg{width:13px;height:13px;stroke:var(--acc-green);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}.phase-row.upcoming .nm{color:var(--tx-faint);font-weight:500}.phase-row .bar{height:4px;border-radius:2px;background:var(--line-2);overflow:hidden}.phase-row .bar i{display:block;height:100%;background:var(--paper);border-radius:2px;transition:width .6s var(--ease)}.phase-row .pct{font-size:12px;color:var(--tx-faint);text-align:right;font-variant-numeric:tabular-nums}.rail{position:relative;padding-left:20px}.rail:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:1px;background:var(--line-2)}.rail-item{position:relative;padding:10px 0 14px;animation:fade-in .35s var(--ease) both}.rail-item:before{content:"";position:absolute;left:-19px;top:16px;width:9px;height:9px;border-radius:50%;background:var(--bg);border:2px solid var(--tx-faint)}.rail-item.update:before{border-color:var(--acc-blue)}.rail-item.approval:before{border-color:var(--acc-green)}.rail-item.revision:before{border-color:var(--acc-amber)}.rail-item.invoice:before{border-color:var(--paper)}.rail-item .when{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--tx-faint)}.rail-item b{display:block;font-size:13.5px;font-weight:600;color:var(--tx);margin:3px 0 2px}.rail-item p{font-size:12.5px;color:var(--tx-mut)}.chat{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:20px clamp(20px,3vw,34px)}.chat-day{align-self:center;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-faint)}.msg{display:flex;gap:9px;max-width:74%;animation:rise-in .35s var(--ease) both}.msg .ava{align-self:flex-end}.msg p{padding:9px 14px;border-radius:15px 15px 15px 4px;background:#ffffff12;border:1px solid var(--line);font-size:13.5px;line-height:1.5;color:var(--tx-mid);white-space:pre-wrap;word-break:break-word}.msg time{display:block;margin-top:4px;font-size:10px;color:var(--tx-faint)}.msg.mine{align-self:flex-end;flex-direction:row-reverse}.msg.mine p{border-radius:15px 15px 4px;background:var(--paper);border-color:var(--paper);color:#000}.msg.mine time{text-align:right}.msg.pending p{opacity:.6;filter:blur(.4px)}.chat-input-wrap{padding:12px clamp(20px,3vw,34px) 18px;border-top:1px solid var(--line)}.chat-input{display:flex;align-items:center;gap:10px;padding:9px 9px 9px 16px;border-radius:99px;background:var(--fill);border:1px solid var(--line-2);transition:border-color .3s var(--ease)}.chat-input:focus-within{border-color:#ffffff59}.chat-input input{flex:1;font-size:13.5px;color:var(--tx)}.chat-input input::placeholder{color:var(--tx-faint)}.rev-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:12px 15px;margin-bottom:8px;background:#ffffff05;animation:fade-in .3s var(--ease) both}.rev-row .tx{min-width:0;flex:1}.rev-row b{display:block;font-size:13.5px;font-weight:600;color:var(--tx)}.rev-row p{font-size:12px;color:var(--tx-mut);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rev-row.done{opacity:.55}.rev-row.done b{text-decoration:line-through;text-decoration-color:var(--tx-faint)}.appr-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#ffffff05;margin-bottom:12px}.appr-card img{width:100%;max-height:320px;object-fit:cover;border-bottom:1px solid var(--line)}.appr-body{padding:15px 17px}.appr-actions{display:flex;gap:8px;margin-top:12px}.appr-log{display:flex;align-items:center;gap:7px;margin-top:12px;font-size:12px;color:var(--tx-mut)}.appr-log svg{width:13px;height:13px;stroke:var(--acc-green);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}.appr-log.amber svg{stroke:var(--acc-amber)}.quote-card{border:1px solid var(--line-2);border-radius:18px;background:#ffffff0a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 1px #ffffff1a;padding:22px 24px;margin-bottom:16px}.quote-card .lbl{font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-faint)}.quote-card b{display:block;font-family:var(--disp);font-weight:600;font-size:30px;letter-spacing:-.02em;color:var(--tx);margin:6px 0 4px;font-variant-numeric:tabular-nums}.quote-card p{font-size:12.5px;color:var(--tx-mut)}.inv-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:13px 16px;margin-bottom:8px;font-size:12.5px;color:var(--tx-mut)}.inv-row b{color:var(--tx);font-weight:600;font-size:13px}.inv-row .amt{margin-left:auto;font-family:var(--disp);color:var(--tx-mid);font-variant-numeric:tabular-nums}.pv-grid{flex:1;min-height:0;display:grid;grid-template-columns:240px minmax(0,1fr)}.pv-rail{border-right:1px solid var(--line);padding:18px 14px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.pv-rail .side-sec{margin:12px 8px 6px}.pv-rail .side-sec:first-child{margin-top:0}.pv-page-btn{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 11px;border-radius:9px;font-size:12.5px;color:var(--tx-mut);transition:background .25s var(--ease),color .25s var(--ease)}.pv-page-btn:hover{background:var(--fill)}.pv-page-btn.act{background:#ffffff1a;color:var(--tx)}.pv-pin-item{padding:8px 11px;border-radius:9px;font-size:12px;color:var(--tx-mut);display:flex;gap:8px;align-items:baseline;width:100%;text-align:left}.pv-pin-item:hover{background:var(--fill)}.pv-pin-item .n{flex:none;width:17px;height:17px;border-radius:50%;background:var(--red-bright);color:#fff;font-size:9.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;transform:translateY(2px)}.pv-pin-item.resolved{opacity:.5}.pv-stage{position:relative;overflow:auto;background:#050508}.pv-toolbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:10px 16px;background:#050508d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);font-size:12px;color:var(--tx-faint)}.pv-url{display:inline-flex;align-items:center;gap:7px;background:var(--fill);border:1px solid var(--line);border-radius:99px;padding:5px 13px;font-size:11.5px;color:var(--tx-mut)}.pv-surface{position:relative;margin:18px auto;width:min(1100px,calc(100% - 36px))}.pv-surface img{width:100%;border-radius:10px;border:1px solid var(--line-2)}.pv-surface iframe{width:100%;height:calc(100vh - 220px);border:1px solid var(--line-2);border-radius:10px;background:#fff}.pv-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.pv-overlay.arming{cursor:crosshair}.pv-pin{position:absolute;transform:translate(-50%,-100%);width:22px;height:22px;border-radius:50% 50% 50% 4px;background:var(--red-bright);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 18px -6px #ff3b54b3;transition:transform .2s var(--ease)}.pv-pin:hover{transform:translate(-50%,-100%) scale(1.15)}.pv-pin.resolved{background:#ffffff59;box-shadow:none}.pv-thread{position:absolute;z-index:6;width:280px;border:1px solid var(--line-2);border-radius:14px;background:#0e0e12f2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 24px 60px -24px #000000e6;padding:13px 14px;animation:rise-in .3s var(--ease) both}.pv-thread .who{font-size:11px;font-weight:600;color:var(--tx);margin-bottom:3px}.pv-thread .txt{font-size:12.5px;color:var(--tx-mid);line-height:1.5}.pv-thread .reply{font-size:12px;color:var(--tx-mut);margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.pv-thread .row{display:flex;gap:6px;margin-top:10px}.pv-thread input{flex:1;background:var(--fill);border:1px solid var(--line-2);border-radius:9px;padding:7px 10px;font-size:12px;color:var(--tx)}.pv-empty{display:grid;place-items:center;min-height:300px;text-align:center;color:var(--tx-mut);font-size:13.5px;padding:40px}.pal-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#00000080;display:grid;place-items:start center;padding-top:14vh;animation:fade-in .2s var(--ease) both}.pal{width:min(560px,92vw);border:1px solid var(--line-2);border-radius:16px;background:#0e0e12f5;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 40px 100px -30px #000000f2;overflow:hidden;animation:rise-in .25s var(--ease) both}.pal input{width:100%;padding:16px 18px;font-size:15px;color:var(--tx);border-bottom:1px solid var(--line)}.pal-list{max-height:320px;overflow-y:auto;padding:8px}.pal-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border-radius:10px;font-size:13.5px;color:var(--tx-mut)}.pal-item.sel,.pal-item:hover{background:var(--fill-2);color:var(--tx)}.pal-item .hint{margin-left:auto;font-size:11px;color:var(--tx-faint)}.wait-wrap{flex:1;display:grid;place-items:center;padding:24px}.wait-card{text-align:center;max-width:460px;animation:rise-in .6s var(--ease) both}.wait-card>svg{width:44px;height:44px;fill:var(--tx);margin-inline:auto;margin-bottom:22px;display:block}.wait-card h1{font-family:var(--disp);font-weight:500;font-size:26px;letter-spacing:-.02em;color:var(--tx)}.wait-card p{margin-top:12px;font-size:14px;color:var(--tx-mut);line-height:1.65}.wait-dot{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:12px;color:var(--tx-faint)}.wait-dot i{width:7px;height:7px;border-radius:50%;background:var(--acc-amber);animation:dot-breathe 2.4s ease-in-out infinite}.bell{position:relative;color:var(--tx-mut);display:inline-flex;background:none}.bell svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.bell i{position:absolute;top:-2px;right:-2px;width:6px;height:6px;border-radius:50%;background:var(--red-bright);animation:pop-in .4s var(--ease) both}.empty-note{padding:30px;text-align:center;color:var(--tx-faint);font-size:13px}.modal-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#0000008c;display:grid;place-items:center;padding:20px;animation:fade-in .25s var(--ease) both}.modal{width:min(440px,94vw);border:1px solid var(--line-2);border-radius:18px;background:#0e0e12f7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:24px;animation:rise-in .3s var(--ease) both}.modal h2{font-family:var(--disp);font-weight:600;font-size:18px;color:var(--tx);margin-bottom:16px}.modal .row{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}@media(max-width:900px){.shell{grid-template-columns:1fr}.side{display:none}}
