:root{--font:"Pretendard Variable",Pretendard,"Inter",-apple-system,system-ui,sans-serif;--brand:#2fb56a;--brand-deep:#23995a;--brand-soft:#e9f8ef;--brand-ink:#1b7a46;--green:#2fb56a;--amber:#f0a53f;--amber-soft:#fff4e3;--red:#ef5350;--red-soft:#fdecec;--blue:#4f8cff;--bg-0:#f6f7f9;--bg-1:#fff;--bg-2:#fff;--bg-3:#f3f4f7;--bg-hover:#f3f5f8;--bg-active:#e9f8ef;--fg:#16181d;--fg-2:#5c6270;--fg-3:#9096a3;--line:#e9ebef;--line-2:#d9dce3;--fg-on-ink:#fff;--fg2-on-ink:#ffffffb3;--line-on-ink:#ffffff24;--canvas:#eef0f3;--glass:#ffffffe6;--shadow:0 10px 30px -12px #1018282e,0 1px 2px #1018280f;--shadow-sm:0 1px 2px #1018280f,0 0 0 1px var(--line);--r-field:8px;--r-inner:10px;--r-card:14px;--r-pill:999px;--sidebar-w:264px;--chat-w:350px;--rail-w:56px;--top-h:52px}[data-theme=dark] .stage{--brand-ink:#5ed48f;--bg-0:#111318;--bg-1:#181b21;--bg-2:#1f232b;--bg-3:#272c35;--bg-hover:#ffffff0d;--bg-active:#2fb56a29;--fg:#eef0f4;--fg-2:#eef0f4ad;--fg-3:#eef0f46b;--line:#ffffff14;--line-2:#ffffff24;--brand-soft:#2fb56a29;--amber-soft:#f0a53f24;--red-soft:#ef535024;--canvas:#23262c;--glass:#181b21e0;--shadow:0 12px 40px -12px #0009;--shadow-sm:0 0 0 1px var(--line)}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0}html{overscroll-behavior:none;-webkit-text-size-adjust:100%;touch-action:manipulation}.msgs,.sb-scroll,.stage-side .list,.modal,.modal .mb,.review .body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}body{font-family:var(--font);color:var(--fg);background:var(--bg-0);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1;overscroll-behavior:none;font-size:14px;line-height:1.45;overflow:hidden}#root{width:100%;height:100%;overflow:hidden}.app{width:100%;min-width:0}button,input,textarea,select{font:inherit;color:inherit}@media (pointer:coarse){input,textarea,select{font-size:16px}}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:var(--brand-ink);text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-2);background-clip:padding-box;border:3px solid #0000;border-radius:8px}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.btn{border-radius:var(--r-inner);background:var(--bg-1);height:36px;color:var(--fg);border:1px solid var(--line-2);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13.5px;font-weight:600;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;display:inline-flex}.btn:hover{background:var(--bg-hover);border-color:#c9cdd6}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--brand);color:#fff;border-color:#0000;box-shadow:0 6px 16px -8px #2fb56ab3}.btn.primary:hover{background:var(--brand-deep)}.btn.green{background:var(--green);color:#fff;border-color:#0000}.btn.amber{background:var(--amber);color:#1a1300;border-color:#0000}.btn.red{background:var(--red);color:#fff;border-color:#0000}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--bg-hover)}.btn.sm{border-radius:8px;height:30px;padding:0 10px;font-size:12.5px}.btn.icon{width:36px;padding:0}.btn.icon.sm{width:30px}.btn.tool{height:38px;color:var(--fg-2);background:0 0;border:0;border-radius:10px;padding:0 12px;font-size:13px;font-weight:600}.btn.tool:hover{background:var(--bg-hover);color:var(--fg)}.btn.tool.on{background:var(--brand-soft);color:var(--brand-ink)}.btn svg{flex:none;width:17px;height:17px}.field{border-radius:var(--r-field);border:1px solid var(--line-2);background:var(--bg-1);outline:0;width:100%;height:38px;padding:0 12px;transition:border-color .15s,box-shadow .15s}.field:focus{border-color:var(--brand);box-shadow:0 0 0 3px #2fb56a2e}textarea.field{resize:none;height:auto;padding:10px 12px;line-height:1.45}select.field{-webkit-appearance:auto;appearance:auto}.label{color:var(--fg-2);margin:0 0 6px;font-size:12px;font-weight:600}.chip{border-radius:var(--r-pill);background:var(--bg-3);height:22px;color:var(--fg-2);white-space:nowrap;align-items:center;gap:6px;padding:0 9px;font-size:11.5px;font-weight:700;display:inline-flex}.chip.green{background:var(--brand-soft);color:var(--brand-ink)}.chip.amber{background:var(--amber-soft);color:#9a5b00}.chip.red{background:var(--red-soft);color:#c62828}.chip.blue{color:#2b62d9;background:#eaf1ff}.dot{background:var(--line-2);border-radius:50%;flex:none;width:8px;height:8px}.dot.on{background:var(--green)}.dot.live{background:var(--red);animation:1.6s infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #ef535038}50%{box-shadow:0 0 0 7px #ef53500f}}.avatar{background:var(--brand);color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:12.5px;font-weight:700;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar.sm{width:24px;height:24px;font-size:10.5px}.avatar.lg{width:44px;height:44px;font-size:16px}.muted{color:var(--fg-2)}.tiny{color:var(--fg-3);font-size:12px}.row{align-items:center;gap:8px;display:flex}.grow{flex:1;min-width:0}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.empty{height:100%;color:var(--fg-3);text-align:center;place-items:center;padding:24px;display:grid}.empty b{color:var(--fg-2);margin-bottom:6px;font-size:15px;font-weight:600;display:block}.empty-icon{background:var(--brand-soft);width:72px;height:72px;color:var(--brand-ink);border-radius:20px;place-items:center;margin:0 auto 16px;display:grid}.empty-icon svg{width:36px;height:36px}.empty{padding-bottom:calc(var(--top-h) + 24px)}.app{grid-template-columns:var(--sidebar-w) minmax(0,1fr) var(--chat-w);height:100%;height:var(--vvfull,100svh);background:var(--bg-0);display:grid}.app.chat-collapsed{grid-template-columns:var(--sidebar-w) minmax(0,1fr) 0}.app.sb-collapsed{grid-template-columns:var(--rail-w) minmax(0,1fr) var(--chat-w)}.app.sb-collapsed.chat-collapsed{grid-template-columns:var(--rail-w) minmax(0,1fr) 0}.app.chat-collapsed .chat{visibility:hidden;border:0;overflow:hidden}.sidebar.rail{flex-direction:column;align-items:center;gap:8px;padding:8px 0;display:flex}.sidebar.rail .grow{flex:1}.sidebar.rail .avatar-btn{border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.sidebar.rail .avatar-btn:hover{background:var(--bg-hover)}.sidebar.rail .menu{z-index:20;width:250px;padding:6px;position:absolute;bottom:12px;left:62px}.sidebar{grid-column:1}.stage{grid-column:2}.chat{grid-column:3}@media (max-width:900px){.sidebar,.stage,.chat{grid-column:1}}.panel{flex-direction:column;min-width:0;min-height:0;display:flex}.stage{background:var(--canvas);position:relative}.stage canvas{overscroll-behavior:none;-webkit-user-select:none;user-select:none;touch-action:none!important}.chat{background:var(--bg-1);border-left:1px solid var(--line)}.top{height:var(--top-h);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;padding:0 14px;display:flex}.top h2{letter-spacing:-.01em;margin:0;font-size:14px;font-weight:700}.teamsel{text-align:left;border-radius:10px;align-items:center;gap:8px;width:100%;height:36px;padding:0 8px;display:flex}.teamsel:hover{background:var(--bg-hover)}.teamsel .name{font-size:14px;font-weight:700}.sb-scroll{flex:1;padding:6px 10px 10px;overflow:auto}.sb-sec{letter-spacing:.04em;text-transform:uppercase;color:var(--fg-3);justify-content:space-between;align-items:center;padding:14px 8px 4px;font-size:11px;font-weight:700;display:flex}.sb-sec button{color:var(--fg-3);border-radius:6px;place-items:center;width:22px;height:22px;display:grid}.sb-sec button:hover{background:var(--bg-hover);color:var(--fg)}.sb-sec button svg{width:14px;height:14px}.sb-item{width:100%;height:32px;color:var(--fg-2);text-align:left;border-radius:8px;align-items:center;gap:8px;padding:0 8px;font-size:13.5px;font-weight:500;display:flex}.sb-item:hover{background:var(--bg-hover);color:var(--fg)}.sb-item.active{background:var(--brand-soft);color:var(--brand-ink);font-weight:600}.sb-item .hash{color:var(--fg-3);text-align:center;width:14px;font-weight:700}.sb-item.active .hash{color:var(--brand-ink)}.sb-item svg{width:15px;height:15px;color:var(--fg-3);flex:none}.sb-item.active svg{color:var(--brand-ink)}.sb-item .badge{background:var(--red);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:10.5px;font-weight:700;display:grid}.sb-me{border-top:1px solid var(--line);align-items:center;gap:8px;padding:10px;display:flex}.stage-canvas{position:absolute;inset:0}.stage-canvas canvas{display:block;width:100%!important;height:100%!important}.stage .top{z-index:2;pointer-events:none;background:linear-gradient(#eef0f3f2,#eef0f300);border:0;position:absolute;top:0;left:0;right:0}.stage .top>*{pointer-events:auto}[data-theme=dark] .stage .top{background:linear-gradient(#23262cf2,#23262c00)}.stage-tools{z-index:3;background:var(--bg-1);box-shadow:var(--shadow),0 0 0 1px var(--line);border-radius:14px;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.stage-tools .sep{background:var(--line);width:1px;height:22px;margin:0 4px}.stage-tools.compact .btn.tool{padding:0 9px}.stage-tools.compact .btn.tool .lbl{display:none}.stage-tools .tool-dest,.stage-tools .tool-view{align-items:center;gap:2px;display:flex}.num,.stage-tools .cnt,.cnt-badge{font-variant-numeric:tabular-nums}.stage-tools .cnt{color:var(--fg-3);font-weight:700}.stage-tools .btn.tool.on .cnt{color:inherit;opacity:.8}.nowrap{white-space:nowrap}.rev-badge{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--fg-3);background:var(--bg-3);border-radius:999px;flex:none;padding:2px 7px;font-size:11px;font-weight:700}.cnt-badge{color:var(--fg-3);background:var(--bg-3);border-radius:999px;flex:none;padding:2px 8px;font-size:11px;font-weight:700}.side-search{border-bottom:1px solid var(--line);align-items:center;gap:4px;padding:8px 10px 6px;display:flex}.side-search .field{height:34px;font-size:13px}.stage-hud{z-index:2;flex-wrap:wrap;gap:6px;display:flex;position:absolute;bottom:16px;left:14px}.hud-card{background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--fg-2);box-shadow:var(--shadow-sm);border-radius:8px;padding:6px 9px;font-size:12px}.stage-side{right:14px;top:calc(var(--top-h) + 8px);z-index:3;background:var(--bg-1);border-radius:var(--r-card);width:280px;box-shadow:var(--shadow),0 0 0 1px var(--line);flex-direction:column;display:flex;position:absolute;bottom:72px;overflow:hidden}.stage-side h3{border-bottom:1px solid var(--line);align-items:center;gap:8px;margin:0;padding:8px 8px 8px 14px;font-size:13px;font-weight:700;display:flex}.stage-side h3 .grow{flex:1}.stage-side .list{padding:6px;overflow:auto}.pin-row{text-align:left;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.pin-row:hover{background:var(--bg-hover)}.pin-card{text-align:left;border:1px solid #0000;border-radius:12px;align-items:flex-start;gap:10px;width:100%;padding:10px;display:flex}.pin-card:hover{background:var(--bg-hover)}.pin-card.sel{background:var(--bg-active);border-color:var(--brand)}.pin-card .pin-ico{flex-direction:column;flex:none;align-items:center;gap:2px;width:34px;display:flex}.pin-card .pin-ico img{object-fit:contain;filter:drop-shadow(0 1px 1px #0000002e);width:22px;height:32px}.pin-card .pin-ico b{font-variant-numeric:tabular-nums;font-size:11px}.pin-card .row{align-items:center;gap:6px;min-width:0;display:flex}.pin-card .title{flex:1;font-size:13.5px;font-weight:600}.pin-card .desc{-webkit-line-clamp:2;color:var(--fg-2);-webkit-box-orient:vertical;margin-top:3px;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}.pin-card .meta{color:var(--fg-3);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 10px;margin-top:5px;font-size:11px;display:flex}.pin-card .meta span{align-items:center;gap:3px;display:inline-flex}.pin-card .meta .pri{font-weight:700}.pin-card .meta .pri.urgent{color:#f2565b}.pin-card .meta .pri.high{color:#f2884b}.pin-card .meta .pri.low{color:var(--fg-3)}.pin-card .meta .due{color:#f0a53f;font-weight:600}.pin-card .meta .apr{color:var(--brand-ink);font-weight:600}.pin-card .pin-thumb{object-fit:cover;border:1px solid var(--line);border-radius:8px;flex:none;width:44px;height:44px}.chip.st{--c:#8b909a;background:color-mix(in srgb,var(--c) 14%,transparent);color:var(--c);border-radius:999px;flex:none;padding:2px 8px;font-size:10.5px;font-weight:600}.log-filter{flex-wrap:wrap;gap:4px;padding:4px 4px 8px;display:flex}.log-filter .chip{cursor:pointer;background:var(--bg-3);color:var(--fg-2);border-radius:999px;padding:3px 9px;font-size:11px}.log-filter .chip.on{background:var(--brand-soft);color:var(--brand-ink);font-weight:700}.log-card{background:var(--bg-3);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;margin:0 0 6px;padding:9px 10px;font-size:12.5px;display:flex}.log-card:hover{background:var(--bg-hover)}.log-card .log-ico{background:var(--bg-1);width:26px;height:26px;box-shadow:0 0 0 1px var(--line);border-radius:8px;flex:none;place-items:center;display:grid}.log-card .row{align-items:center;gap:6px;min-width:0;display:flex}.log-card .row b{font-size:12.5px}.log-card .pinref{font-size:11px;font-weight:700}.log-card .diff{align-items:center;gap:5px;margin-top:3px;font-size:12px;display:inline-flex}.log-card .diff s{color:var(--fg-3)}.log-card .note{color:var(--fg);white-space:pre-wrap;margin-top:4px;display:block}.stage-side .tiny{color:var(--fg-3);font-size:11px}.pin-no{color:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:grid}.layer-row{align-items:center;gap:8px;padding:7px 8px;font-size:13px;display:flex}.layer-row .sw{border:1px solid var(--line-2);border-radius:3px;width:12px;height:12px}.layer-row input{accent-color:var(--brand)}.review-backdrop{z-index:6;-webkit-backdrop-filter:blur(3px);background:#12141852;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.review-backdrop .review{max-height:calc(100% - 16px);box-shadow:0 24px 64px #00000047,0 0 0 1px var(--line);position:relative;top:auto!important;left:auto!important;right:auto!important}.review{z-index:5;background:var(--bg-1);border-radius:var(--r-card);width:380px;max-width:calc(100% - 24px);max-height:calc(100dvh - 72px);box-shadow:var(--shadow),0 0 0 1px var(--line);flex-direction:column;display:flex;position:fixed;overflow:hidden}.review .head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 14px;display:flex}.review .photo{background:var(--bg-3);object-fit:cover;flex:none;width:100%;height:190px;display:block}.review .body{flex-direction:column;gap:8px;padding:12px 14px;display:flex;overflow:auto}.review .meta{grid-template-columns:auto 1fr;gap:4px 12px;font-size:12.5px;display:grid}.review .meta dt{color:var(--fg-3)}.review .meta dd{margin:0}.review .actions{grid-template-columns:1fr 1fr 1fr;gap:8px;padding:0 14px 14px;display:grid}.review .actions .btn{height:40px}.review .decided{align-items:center;gap:8px;padding:12px 14px;font-weight:600;display:flex}.review .arrow{background:var(--bg-1);border-left:1px solid var(--line);border-top:1px solid var(--line);width:12px;height:12px;position:absolute;top:24px;left:-7px;transform:rotate(45deg)}.chat-head{height:var(--top-h);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;padding:0 14px;display:flex}.chat-head svg{width:16px;height:16px;color:var(--fg-3)}.approval-bar{background:var(--amber-soft);border-bottom:1px solid #f4dfb8;flex:none;padding:10px 12px}.approval-bar .title{color:#9a5b00;align-items:center;gap:6px;margin-bottom:6px;font-size:12px;font-weight:700;display:flex}.approval-item{background:var(--bg-1);box-shadow:var(--shadow-sm);border-radius:10px;align-items:center;gap:8px;margin-top:6px;padding:8px 10px;display:flex}.approval-item .t{font-size:13px;font-weight:600}.approval-item .s{color:var(--fg-3);font-size:12px}.msgs{flex-direction:column-reverse;flex:1;padding:8px 0 12px;display:flex;overflow:auto}.day{color:var(--fg-3);align-items:center;gap:10px;margin:14px 16px 6px;font-size:11.5px;font-weight:600;display:flex}.day:before,.day:after{content:"";background:var(--line);flex:1;height:1px}.msg{border-radius:8px;grid-template-columns:36px 1fr;gap:10px;padding:2px 14px;display:grid;position:relative}.msg.first{margin-top:10px;padding-top:4px}.msg .hovertime{text-align:right;opacity:0;padding-top:3px;font-size:10.5px;display:block}.msg:hover .hovertime{opacity:1}.msg:hover{background:var(--bg-hover)}.msg .who{align-items:baseline;gap:8px;margin-bottom:3px;display:flex}.msg .who b{font-size:13.5px}.msg .who time{color:var(--fg-3);font-size:11px}.msg .txt{white-space:pre-wrap;word-break:break-word;background:var(--bg-3);border-radius:14px;max-width:100%;padding:7px 11px;font-size:14px;line-height:1.55;display:inline-block}.msg.mine{grid-template-columns:1fr}.msg.mine>div:first-child{display:none}.msg.mine .col{flex-direction:column;align-items:flex-end;display:flex}.msg.mine .who{flex-direction:row;align-items:center}.msg .txt{max-width:min(80%,480px)}.msg .report-card{max-width:min(92%,480px)}.msg.mine .txt{background:var(--brand-soft);color:var(--fg)}.msg.mine .att{align-items:flex-end}.msg.mine .tools{left:12px;right:auto}.msg .col{min-width:0}.msg.report .bubble{border:1px solid var(--line-2);background:var(--bg-3);border-radius:10px;padding:8px 10px;font-size:13px}.msg .txt .mention{color:var(--brand-ink);background:var(--brand-soft);border-radius:4px;padding:0 3px;font-weight:600}.msg.system .txt{color:var(--fg-2);font-size:13px}.msg.approval .bubble{background:var(--amber-soft);border:1px solid #f4dfb8;border-radius:10px;padding:8px 10px;font-size:13px}.msg .tools{background:var(--bg-1);box-shadow:var(--shadow-sm);border-radius:8px;gap:2px;padding:2px;display:none;position:absolute;top:-10px;right:12px}.msg:hover .tools{display:flex}.att{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.att img{cursor:zoom-in;background:var(--bg-3);object-fit:contain;border-radius:10px;width:auto;max-width:320px;height:auto;max-height:260px;display:block}.att .file{background:var(--bg-1);box-shadow:var(--shadow-sm);border-radius:10px;align-items:center;gap:8px;max-width:320px;padding:8px 10px;display:flex}.att .file .n{font-size:13px;font-weight:600}.att .file .s{color:var(--fg-3);font-size:11.5px}.composer{flex:none;padding:10px 12px 16px}.composer .box{background:var(--bg-1);border:1px solid var(--line-2);border-radius:12px;align-items:flex-end;gap:6px;min-height:44px;padding:4px 4px 4px 8px;transition:border-color .15s,box-shadow .15s;display:flex}.composer .box .btn{border-radius:9px;flex:none;width:34px;height:34px}.composer .box:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #2fb56a29}.composer textarea{background:0 0;border:0;outline:0;flex:1;min-height:34px;max-height:160px;padding:7px 0;font-size:15px;line-height:20px}@media (pointer:coarse){.composer textarea{padding:6px 0;font-size:16px;line-height:22px}}.composer .pending{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.composer .pending .p{background:var(--bg-3);width:64px;height:64px;box-shadow:var(--shadow-sm);border-radius:10px;position:relative;overflow:hidden}.composer .pending .p img{object-fit:cover;width:100%;height:100%}.composer .pending .p .x{color:#fff;background:#000000a6;border-radius:50%;width:18px;height:18px;font-size:11px;position:absolute;top:2px;right:2px}.composer .pending .p .bar{background:var(--brand);height:3px;position:absolute;bottom:0;left:0;right:0}.overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;background:#10182859;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--bg-1);width:min(560px,100%);max-height:90dvh;box-shadow:var(--shadow),0 0 0 1px var(--line);border-radius:16px;overflow:auto}.modal .mh{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:14px 16px;display:flex}.modal .mh h3{margin:0;font-size:15px}.modal .mb{flex-direction:column;gap:14px;padding:16px;display:flex}.modal .mf{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.lightbox{z-index:60;cursor:zoom-out;background:#000000e6;place-items:center;display:grid;position:fixed;inset:0}.lightbox img{max-width:96vw;max-height:94dvh}.member-row{border-bottom:1px solid var(--line);grid-template-columns:32px 1fr auto auto;align-items:center;gap:10px;padding:8px 0;display:grid}.toast{background:var(--fg);color:#fff;border-radius:var(--r-pill);box-shadow:var(--shadow);z-index:70;padding:9px 16px;font-size:13px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast.err{background:var(--red)}.auth{height:100%;height:var(--vvfull,100svh);background:radial-gradient(900px 480px at 50% -10%,#2fb56a24,transparent 60%),var(--bg-0);place-items:center;padding:24px;display:grid}.auth .card.center{text-align:center;align-items:center}.spinner{border:2.5px solid var(--line-2);border-top-color:var(--brand);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.seg{background:var(--bg-3);border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.seg button{height:34px;color:var(--fg-3);border-radius:9px;font-size:13.5px;font-weight:700;transition:background .15s,color .15s,box-shadow .15s}.seg button.on{background:var(--bg-1);color:var(--brand-ink);box-shadow:var(--shadow-sm)}.seg button:not(.on):hover{color:var(--fg)}.steps{flex-direction:column;gap:10px;margin:4px 0;display:flex}.step{align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;display:flex}.step .n{background:var(--brand-soft);width:22px;height:22px;color:var(--brand-ink);border-radius:50%;flex:none;place-items:center;margin-top:1px;font-size:12px;font-weight:700;display:grid}.modal.menu{box-shadow:var(--shadow),0 0 0 1px var(--line)}.auth .card{background:var(--bg-1);width:min(420px,100%);box-shadow:var(--shadow),0 0 0 1px var(--line);border-radius:20px;flex-direction:column;gap:14px;padding:28px;display:flex}.auth h1{letter-spacing:-.02em;margin:0;font-size:22px}.auth .logo{color:var(--brand-ink);align-items:center;gap:10px;font-size:17px;font-weight:800;display:flex}.mtabs{display:none}@media (max-width:900px){.app,.app.chat-collapsed,.app.sb-collapsed,.app.sb-collapsed.chat-collapsed{height:100%;height:var(--vvfull,100svh);grid-template-rows:1fr auto;grid-template-columns:1fr}.app.chat-collapsed .chat.mobile-on{visibility:visible;overflow:visible}.sidebar.rail.mobile-on{display:flex}.panel{grid-row:1;display:none}.panel.mobile-on{display:flex}.mtabs{border-top:1px solid var(--line);background:var(--bg-1);padding-bottom:env(safe-area-inset-bottom);grid-row:2;grid-template-columns:repeat(3,1fr);display:grid}.mtabs button{height:52px;color:var(--fg-3);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;display:flex}.mtabs button.on{color:var(--brand-ink)}.mtabs button svg{width:20px;height:20px}.stage .top{flex-wrap:wrap;align-items:center;gap:5px 6px;height:auto;padding:9px 12px 14px}.stage .top .grow{flex:0 0 100%;height:0;margin:0}.stage .top h2{flex:auto;min-width:0;font-size:14px}.stage .top .chip{flex:none;padding:2px 8px;font-size:11px}.stage .top .hud-card{padding:3px 8px;font-size:11px;line-height:1.5}.only-wide{display:none}.stage-tools{max-width:none;padding:4px 4px calc(4px + env(safe-area-inset-bottom));background:var(--bg-1);box-shadow:0 -1px 0 var(--line),0 -8px 24px -18px #00000080;border-radius:0;gap:0;bottom:0;left:0;right:0;transform:none}.stage-tools .sep{display:none}.stage-tools .tool-dest{flex:1;grid-template-columns:repeat(4,1fr);gap:2px;display:grid}.stage-tools .tool-dest .btn.tool{border-radius:var(--r-inner);flex-direction:column;gap:2px;height:auto;min-height:50px;padding:5px 2px;font-size:11px;font-weight:600;line-height:1.25}.stage-tools .tool-dest .btn.tool svg{width:19px;height:19px}.stage-tools .tool-dest .btn.tool .lbl{display:inline}.stage-tools .tool-dest .btn.tool .cnt{font-size:11px}.stage-tools .tool-view{z-index:4;flex-direction:column;gap:8px;position:absolute;bottom:calc(100% + 10px);right:10px}.stage-tools .tool-view .btn.tool{width:44px;height:44px;color:var(--fg-3);background:var(--glass);-webkit-backdrop-filter:blur(10px)saturate(1.3);backdrop-filter:blur(10px)saturate(1.3);box-shadow:var(--shadow-sm),0 0 0 1px var(--line);border-radius:999px;padding:0}.stage-tools .tool-view .btn.tool.on{color:var(--brand-ink);box-shadow:var(--shadow-sm),0 0 0 1.5px var(--brand)}.stage-tools .tool-view .btn.tool:active{transform:scale(.92)}.stage-tools .tool-view .btn.tool .lbl,.stage-tools .tool-view .btn.tool:last-child{display:none}.stage-side{width:auto;top:auto;left:0;right:0;bottom:calc(58px + env(safe-area-inset-bottom));border-radius:var(--r-card) var(--r-card) 0 0;max-height:64%;box-shadow:0 -10px 30px -12px #00000073,0 0 0 1px var(--line)}.stage-side h3{padding:12px 10px 10px 16px;font-size:14px}.stage-side .list{padding:4px 6px 10px}.layer-row{min-height:44px;padding:8px;font-size:13.5px}.layer-row input{width:20px;height:20px}.pin-card{padding:12px 10px}.log-card{padding:11px 10px}.log-filter{gap:5px;padding:6px 4px 8px}.log-filter .chip{padding:5px 11px;font-size:12px}.review{right:12px;bottom:calc(70px + env(safe-area-inset-bottom));width:auto;top:auto!important;left:12px!important}.review .arrow{display:none}.att img{max-width:100%}.stage .top h2{max-width:none}.chat-head .grow div:first-child{font-size:15px}}.diag{z-index:999;color:#fff;white-space:pre;pointer-events:none;background:#000000bf;border-radius:6px;padding:6px 8px;font:11px/1.4 monospace;position:fixed;top:8px;left:8px}.review .photos{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.review .photos img{object-fit:cover;border:1px solid var(--line);border-radius:8px;width:64px;height:64px}.review .voices{flex-direction:column;gap:6px;margin-top:10px;display:flex}.review .voice{flex-direction:column;gap:3px;display:flex}.review .voice audio{width:100%;height:32px}.review .comments{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin-top:8px;padding-top:8px;display:flex}.review .cmt{background:var(--bg-3);border-radius:8px;padding:6px 8px;font-size:12.5px}.review .cmt .row{justify-content:space-between;gap:8px;margin-bottom:2px;display:flex}.sb-item .del{opacity:0;margin-left:auto}.sb-item:hover .del{opacity:.8}.report-strip{background:var(--bg-3);border-bottom:1px solid var(--line);flex:none;padding:6px 12px}.report-strip .approval-item{color:inherit;text-decoration:none}.approval-fold{text-align:left;width:100%;color:var(--fg-2);align-items:center;gap:8px;padding:4px 2px;font-size:12px;font-weight:600;display:flex}.msg .report-card{background:var(--bg-1);box-shadow:0 0 0 1px var(--line);min-width:0;max-width:100%;color:inherit;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;display:flex}.msg .report-card .ic{flex:none;font-size:20px}.msg .report-card .n{font-size:13px;font-weight:600;display:block}.msg .report-card .s{color:var(--fg-3);font-size:11.5px;display:block}.msg.mine .report-card{background:var(--brand-soft);box-shadow:none}.att .file{min-width:0;max-width:100%}.att .file>span:last-child{min-width:0}.msg.mine .att{justify-content:flex-end}.msg.mine>div:first-child{min-width:0}.room-list{flex:1;padding:0 6px 10px;overflow:auto}.room-row{text-align:left;width:100%;color:var(--fg);border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.room-row:hover{background:var(--bg-hover)}.room-row.active{background:var(--bg-active)}.room-row .ic{background:var(--bg-3);width:32px;height:32px;color:var(--fg-2);border-radius:50%;flex:none;place-items:center;display:grid}.room-row .ic svg{width:16px;height:16px}.room-row .col{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.room-row .row{align-items:center;gap:6px;min-width:0;display:flex}.room-row b{font-size:13.5px;font-weight:600}.rank-board{grid-template-columns:minmax(0,1fr) 190px;align-items:start;gap:10px;display:grid}.rank-ranks{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid;position:relative}.rank-arrow{display:none}.rank-col{background:var(--bg-3);border:1.5px dashed #0000;border-radius:12px;min-height:160px;transition:border-color .12s,background .12s}.rank-col.over{border-color:var(--brand);background:var(--brand-soft)}.rank-col.locked{opacity:.75}.rank-col.side{background:var(--bg-0)}.rank-head{justify-content:space-between;align-items:center;padding:8px 10px 2px;font-size:12.5px;display:flex}.rank-cards{flex-direction:column;gap:6px;padding:0 6px 8px;display:flex}.rank-card{background:var(--bg-1);box-shadow:var(--shadow-sm);border-radius:10px;padding:8px;font-size:12.5px}.rank-card.draggable{cursor:grab}.rank-card.dragging{opacity:.45}.rank-card.pending{opacity:.85}.rank-empty{text-align:center;color:var(--fg-3);border:1px dashed var(--line-2);border-radius:8px;padding:14px 8px}@media (max-width:900px){.rank-board{grid-template-columns:1fr}.rank-ranks{grid-template-columns:repeat(2,minmax(0,1fr))}}.chat-head .btn.sm{flex:none}.modal.wide{width:min(980px,100%)}.rank-cards{flex-flow:wrap;gap:8px;padding:6px 8px 10px}.rank-ava{border-radius:50%;outline:none;flex:none;width:44px;height:44px;position:relative}.rank-ava .avatar{width:44px;height:44px;box-shadow:0 0 0 2px var(--bg-1);font-size:14px}.rank-ava.draggable{cursor:grab}.rank-ava.dragging{opacity:.4}.rank-ava.pending{opacity:.6}.rank-ava.self .avatar{box-shadow:0 0 0 2px var(--brand)}.rank-tip{z-index:30;background:var(--bg-1);min-width:200px;max-width:260px;box-shadow:var(--shadow),0 0 0 1px var(--line);text-align:left;border-radius:10px;margin-top:6px;padding:8px 10px;font-size:12.5px;display:none;position:absolute;top:100%;left:50%;transform:translate(-50%)}.rank-ava:hover .rank-tip,.rank-ava:focus-within .rank-tip,.rank-ava:focus .rank-tip{display:block}.rank-col{overflow:visible}[data-theme=dark] .stage{box-shadow:none;border-radius:0;margin:0}[data-theme=dark] .stage-tools,[data-theme=dark] .stage-side{corner-shape:squircle;border-radius:12px}[data-theme=dark] .stage-tools,[data-theme=dark] .stage-side,[data-theme=dark] .stage .top .chip{-webkit-backdrop-filter:saturate(160%)blur(18px);backdrop-filter:saturate(160%)blur(18px);background:#22252cb8;box-shadow:0 10px 30px -14px #0009,inset 0 0 0 1px #ffffff1a}.btn.refresh{position:relative}.btn.refresh .dot{background:var(--brand);width:7px;height:7px;box-shadow:0 0 0 2px var(--bg-1);border-radius:50%;position:absolute;top:4px;right:4px}.btn.refresh.ready{color:var(--brand-ink);animation:1.6s ease-in-out infinite fx-pulse}@keyframes fx-pulse{0%,to{background:0 0}50%{background:var(--brand-soft)}}.sb-box{corner-shape:squircle;-webkit-backdrop-filter:blur(22px)saturate(1.6);backdrop-filter:blur(22px)saturate(1.6);background:linear-gradient(#ffffffc7,#ffffff8c);border-radius:14px;margin:6px 6px 0;padding:0 2px 3px;position:relative;box-shadow:inset 0 1px #fffffff2,inset 0 0 0 1px #ffffff73,0 1px 1px #1018280a,0 10px 28px -20px #10182847}.sb-box:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff80 0%,#fff0 38%);position:absolute;inset:0}.sb-box .sb-item{margin:0 2px}.sb-scroll{padding:2px 0 10px}.room-list .sb-box{margin:6px 4px 0}.room-list .sb-box:first-child,.sb-scroll .sb-box:first-child{margin-top:6px}.ava-stack{flex:none;align-items:center;display:inline-flex}.ava-stack .ava-wrap{box-shadow:0 0 0 2px var(--bg-1);border-radius:50%;margin-left:-9px;display:inline-flex}.ava-stack .ava-wrap:first-child{margin-left:0}.ava-stack .avatar.count{background:var(--bg-hover);color:var(--fg-2);font-size:10px}.room-row .ic.stack{background:0 0;width:auto;min-width:32px;padding-left:2px}.rank-ranks{gap:18px}.rank-col{-webkit-backdrop-filter:blur(18px)saturate(1.5);backdrop-filter:blur(18px)saturate(1.5);corner-shape:squircle;background:linear-gradient(#ffffffbf,#ffffff80);border-radius:14px;min-height:420px;position:relative;overflow:visible;box-shadow:inset 0 1px #fffffff2,inset 0 0 0 1px #ffffff73,0 10px 28px -20px #10182847}.rank-col.over{box-shadow:inset 0 0 0 2px var(--brand),0 10px 28px -20px #10182847;background:var(--brand-soft)}.rank-head{justify-content:center;padding:10px 8px 4px;position:relative}.rank-head .node{background:var(--bg-1);box-shadow:0 0 0 1px var(--line-2);z-index:1;border-radius:999px;align-items:center;gap:8px;padding:5px 12px;font-size:12.5px;display:inline-flex;position:relative}.rank-ranks .rank-col:not(:first-child) .rank-head:before{content:"";background:var(--line-2);width:calc(50% + 18px);height:2px;position:absolute;top:50%;right:50%;transform:translateY(1px)}.rank-ranks .rank-col:not(:last-child) .rank-head:after{content:"";background:var(--line-2);width:50%;height:2px;position:absolute;top:50%;left:50%;transform:translateY(1px)}.rank-col .rank-cards{flex-direction:column;align-items:flex-start;gap:10px;min-height:120px;padding:8px 8px 14px 30px;position:relative}.rank-col .rank-cards:before{content:"";background:var(--line-2);width:2px;position:absolute;top:-6px;bottom:14px;left:19px}.rank-col .rank-ava:before{content:"";background:var(--line-2);width:11px;height:2px;position:absolute;top:50%;right:100%;transform:translateY(-1px)}.rank-col .rank-empty{text-align:left;border:0;margin-left:-14px;padding:8px 0}.rank-col.side .rank-cards{flex-flow:wrap;padding:6px 8px 10px}.rank-col.side .rank-cards:before,.rank-col.side .rank-ava:before,.rank-col.side .rank-head:before,.rank-col.side .rank-head:after{display:none}.rank-col.side .rank-head{justify-content:space-between}.rank-col.side .rank-head .node{box-shadow:none;background:0 0;padding:0}.sb-box,.rank-col{-webkit-backdrop-filter:blur(28px)saturate(1.9)brightness(1.04);backdrop-filter:blur(28px)saturate(1.9)brightness(1.04);background:linear-gradient(#ffffff6b,#ffffff38);box-shadow:inset 0 1.5px #fff,inset 0 0 0 1px #ffffffb3,inset 0 -1px #1018280f,0 1px 2px #1018280d,0 14px 34px -22px #10182859}.sb-box:after{background:linear-gradient(135deg,#ffffffbf 0%,#ffffff26 30%,#fff0 55%)}[data-theme=dark] .stage-tools,[data-theme=dark] .stage-side{-webkit-backdrop-filter:blur(26px)saturate(1.8);backdrop-filter:blur(26px)saturate(1.8);background:#282c348c;box-shadow:inset 0 1px #ffffff2e,inset 0 0 0 1px #ffffff1a,0 14px 34px -18px #000000a6}.sb-scroll,.room-list{scrollbar-width:thin;scrollbar-color:transparent transparent;scrollbar-gutter:stable}.sb-scroll:hover,.room-list:hover{scrollbar-color:#10182838 transparent}.sb-scroll::-webkit-scrollbar{background:0 0;width:6px}.room-list::-webkit-scrollbar{background:0 0;width:6px}.sb-scroll::-webkit-scrollbar-thumb{background:0 0;border-radius:6px}.room-list::-webkit-scrollbar-thumb{background:0 0;border-radius:6px}.sb-scroll:hover::-webkit-scrollbar-thumb{background:#10182838}.room-list:hover::-webkit-scrollbar-thumb{background:#10182838}.sidebar{background:linear-gradient(170deg,#f2f4f8 0%,#e9ecf2 55%,#f0f2f6 100%)}.room-list{background:linear-gradient(170deg,#f4f5f8 0%,#eceff4 100%)}.sb-scroll,.room-list{scrollbar-gutter:auto}.sb-box{margin:6px 6px 0}.sb-scroll .sb-box{margin-right:6px}.sb-item.pin .pin-ic{object-fit:contain;flex:none;width:18px;height:22px;margin:-2px 0}.sb-item.pin .chip.st{margin-left:4px}.sidebar{background:#ffffff2e;border-right:1px solid #1018280f}.sb-box{background:linear-gradient(#ffffff8c,#ffffff52)}@media (min-width:901px){.stage{grid-area:1/1/auto/-1}.sidebar{z-index:6;grid-area:1/1;position:relative}.chat{z-index:6;grid-area:1/3;position:relative}.sidebar,.sidebar.rail{-webkit-backdrop-filter:blur(30px)saturate(1.7);backdrop-filter:blur(30px)saturate(1.7);background:#ffffff9e;border-right:1px solid #ffffffb3;box-shadow:1px 0 #1018280f}.chat{-webkit-backdrop-filter:blur(30px)saturate(1.7);backdrop-filter:blur(30px)saturate(1.7);background:#ffffffb8;border-left:1px solid #ffffffb3;box-shadow:-1px 0 #1018280f}.room-list{background:0 0}.sb-box{background:linear-gradient(#ffffff9e,#ffffff61)}[data-theme=dark] .sidebar,[data-theme=dark] .sidebar.rail{background:#ffffffc7}[data-theme=dark] .chat{background:#ffffffd6}.stage-tools{left:calc(var(--stage-left,0px) + (100% - var(--stage-left,0px) - var(--stage-right,0px)) / 2)}.stage .top{left:var(--stage-left,0px);right:var(--stage-right,0px)}.stage-side{right:calc(var(--stage-right,0px) + 14px)}.app{--stage-left:var(--sidebar-w);--stage-right:var(--chat-w)}.app.sb-collapsed{--stage-left:var(--rail-w)}.app.chat-collapsed{--stage-right:0px}}.sidebar,.sidebar.rail,.chat,.room-list{background:var(--bg-1);-webkit-backdrop-filter:none;backdrop-filter:none}.sb-box,.sb-box:after{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:0 0}.sb-box{border-top:1px solid var(--line);border-radius:0;margin:0;padding:2px 4px 6px}.sb-box:after{display:none}.sb-scroll .sb-box:first-child,.room-list .sb-box:first-child{border-top:0;margin-top:0}.sb-box .sb-sec{padding:10px 8px 4px}.sb-box .sb-item:hover{background:var(--bg-hover)}.sb-box .sb-item.active{background:var(--bg-active);box-shadow:none}@media (min-width:901px){.sidebar,.sidebar.rail{background:var(--bg-1);border:0;border-radius:14px;align-self:stretch;height:auto;margin:8px 0 8px 8px;overflow:hidden;box-shadow:0 0 0 1px #10182814,0 8px 28px -14px #10182847}.chat{background:var(--bg-1);border:0;border-radius:14px;align-self:stretch;margin:8px 8px 8px 0;overflow:hidden;box-shadow:0 0 0 1px #10182814,0 8px 28px -14px #10182847}[data-theme=dark] .sidebar,[data-theme=dark] .sidebar.rail,[data-theme=dark] .chat{background:var(--bg-1)}.app.chat-collapsed .chat{margin:0}.app{--stage-left:calc(var(--sidebar-w) + 8px);--stage-right:calc(var(--chat-w) + 8px)}.app.sb-collapsed{--stage-left:calc(var(--rail-w) + 8px)}.app.chat-collapsed{--stage-right:0px}}[data-theme=light] .sidebar,[data-theme=light] .sidebar.rail,[data-theme=light] .chat{--brand-ink:#5ed48f;--bg-0:#111318;--bg-1:#16181d;--bg-2:#1f232b;--bg-3:#272c35;--bg-hover:#ffffff0f;--bg-active:#2fb56a2e;--fg:#eef0f4;--fg-2:#eef0f4b3;--fg-3:#eef0f473;--line:#ffffff17;--line-2:#ffffff29;--brand-soft:#2fb56a2e;--amber-soft:#f0a53f29;--red-soft:#ef535029;--glass:#181b21e0;--shadow:0 12px 40px -12px #0009;--shadow-sm:0 0 0 1px var(--line);color:var(--fg);background:#16181d}[data-theme=light] .sidebar .msg.mine .txt,[data-theme=light] .chat .msg.mine .txt{color:var(--fg);background:#2fb56a38}[data-theme=light] .chat .field,[data-theme=light] .sidebar .field,[data-theme=light] .chat textarea{color:var(--fg);border-color:var(--line-2);background:#1f232b}[data-theme=light] .chat .btn,[data-theme=light] .sidebar .btn{color:var(--fg-2)}[data-theme=light] .chat .btn.primary{color:#fff}[data-theme=light] .sidebar .sb-item,[data-theme=light] .chat .room-row{color:var(--fg)}@media (min-width:901px){[data-theme=light] .sidebar,[data-theme=light] .sidebar.rail,[data-theme=light] .chat{box-shadow:0 0 0 1px #ffffff14,0 8px 28px -14px #0000008c}.stage .top,[data-theme=dark] .stage .top{background:0 0}}[data-theme=light] .sidebar,[data-theme=light] .sidebar.rail,[data-theme=light] .chat{--bg-0:#1e2126;--bg-1:#262a31;--bg-2:#2d3239;--bg-3:#343a42;background:#262a31}[data-theme=light] .chat .composer,[data-theme=light] .chat .chat-head{background:#262a31}[data-theme=light] .chat .field,[data-theme=light] .sidebar .field,[data-theme=light] .chat textarea{background:#2d3239}[data-theme=light] .ava-stack .ava-wrap{box-shadow:0 0 0 2px #262a31}@media (max-width:900px){.mtabs{grid-template-columns:repeat(4,1fr)}.mtabs .btn.tool{height:52px;color:var(--fg-3);background:0 0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;font-size:11px;display:flex}.mtabs .btn.tool svg{width:20px;height:20px}.mtabs .btn.tool .lbl{display:inline}}.att img{max-width:min(78%,320px);max-height:240px;margin:0 2px}.msg .col .att{width:100%}@media (max-width:900px){.att img{max-width:82%}}.stage-loading{z-index:5;color:var(--fg-2);pointer-events:none;background:#ffffff8c;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:13px;font-weight:600;display:flex;position:absolute;inset:0}[data-theme=dark] .stage-loading{color:#eef0f4;background:#23262c99}.stage-loading .spin{border:3px solid #2fb56a40;border-top-color:var(--brand);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite fx-spin}@keyframes fx-spin{to{transform:rotate(360deg)}}.stage .top .rev-badge,.stage .top .chip,.stage .top .hud-card{box-sizing:border-box;align-items:center;height:24px;padding-top:0;padding-bottom:0;line-height:1;display:inline-flex}.stage .top{align-items:center}.top-fold,.tools-handle,.tools-fold{display:none}.view-list{flex-direction:column;gap:2px;padding:4px 6px;display:flex}.view-row{cursor:pointer;border-radius:12px;align-items:center;gap:10px;min-height:52px;padding:8px 10px;display:flex}.view-row:hover{background:var(--bg-hover)}.view-row b{font-size:14px;display:block}.view-row .tiny{margin-top:2px;display:block}.view-row input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.view-row .sw{background:var(--line-2);border-radius:999px;flex:none;width:44px;height:26px;transition:background .15s;position:relative}.view-row .sw:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.view-row input:checked+.sw{background:var(--brand)}.view-row input:checked+.sw:after{transform:translate(18px)}@media (max-width:900px){.top-fold{width:26px;height:26px;display:grid}.stage-tools .tool-view{display:none}.stage-tools{padding-top:14px;position:absolute}.stage-tools .tool-dest{grid-template-columns:repeat(5,1fr)}.stage-tools .tool-dest .btn.tool .cnt{font-size:10.5px}.tools-fold{width:44px;height:16px;color:var(--fg-3);background:0 0;place-items:center;display:grid;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.tools-fold svg{width:16px;height:16px}.stage-tools.folded{display:none}.tools-handle{left:50%;bottom:calc(6px + env(safe-area-inset-bottom));z-index:4;background:var(--bg-1);height:30px;color:var(--fg-2);box-shadow:var(--shadow),0 0 0 1px var(--line);border-radius:999px;align-items:center;gap:4px;padding:0 12px 0 8px;font-size:12px;font-weight:600;display:flex;position:absolute;transform:translate(-50%)}.tools-handle svg{width:14px;height:14px}.stage-side:before{content:"";background:var(--line-2);border-radius:2px;width:36px;height:4px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.stage-side h3{padding-top:16px}}.tools-fab,.top-mode{display:none}.mode-circle{background:var(--bg-1);width:34px;height:34px;box-shadow:0 0 0 1px var(--line-2),0 2px 8px -3px #1018284d;border-radius:50%;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.mode-circle .half{background:linear-gradient(90deg,#23262c 50%,#fff 50%);position:absolute;inset:0}.mode-circle .t{color:#fff;mix-blend-mode:difference;font-size:10px;font-weight:800;position:relative}@media (max-width:900px){.top-mode{order:2;margin-left:auto;display:inline-flex}.stage .top .grow{order:3}.tools-fab{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:5;background:var(--bg-1);width:48px;height:48px;color:var(--fg);box-shadow:var(--shadow),0 0 0 1px var(--line);border-radius:50%;place-items:center;display:grid;position:absolute}.tools-fab svg{width:20px;height:20px}.tools-fab.open{background:var(--fg);color:#fff}.stage-tools{left:12px;right:74px;bottom:calc(14px + env(safe-area-inset-bottom));background:var(--bg-1);box-shadow:var(--shadow),0 0 0 1px var(--line);border-radius:16px;padding:4px;transform:none}.stage-tools .tool-dest .btn.tool{justify-content:center;gap:3px;height:54px;min-height:54px;padding:6px 2px 4px}.stage-tools .tool-dest .btn.tool .ic{place-items:center;width:22px;height:22px;display:grid;position:relative}.stage-tools .tool-dest .btn.tool .ic svg{width:20px;height:20px}.stage-tools .tool-dest .btn.tool .bd{background:var(--brand);color:#fff;text-align:center;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:9.5px;font-weight:800;line-height:16px;position:absolute;top:-6px;right:-10px}.stage-tools .tool-dest .btn.tool .cnt{display:none}.stage-tools .tool-dest .btn.tool .lbl{font-size:10.5px}.tools-fold,.tools-handle{display:none}.stage-side{bottom:calc(84px + env(safe-area-inset-bottom))}.mtabs{padding:6px 8px calc(6px + env(safe-area-inset-bottom));grid-template-columns:repeat(3,1fr);gap:6px}.mtabs button{border-radius:12px;gap:3px;height:46px;font-size:11px;font-weight:600}.mtabs button svg{width:22px;height:22px}.mtabs button.on{background:var(--brand-soft);color:var(--brand-ink);font-weight:800}.stage-side h3{align-items:center;gap:8px;padding:18px 10px 10px 16px;line-height:1;display:flex}.stage-side h3>*{align-self:center}.stage-side h3 .btn.icon{width:32px;height:32px;margin:0}.stage-side h3 .cnt-badge{align-items:center;height:22px;display:inline-flex}}.stage-tools .tool-dest .btn.tool .bd{display:none}@media (max-width:900px){.stage-tools .tool-dest .btn.tool .bd{display:block}}@media (min-width:901px) and (max-width:1280px){.stage-tools{max-width:calc(100% - var(--stage-left,0px) - var(--stage-right,0px) - 24px);scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.stage-tools::-webkit-scrollbar{display:none}.stage-tools .tool-view .btn.tool .lbl{display:none}.stage-tools .tool-dest .btn.tool{padding:0 9px}.stage .top{flex-wrap:wrap;row-gap:6px;padding-right:12px}.stage .top .hud-card.num{order:5}.stage .top .only-wide{display:none}}@media (max-width:900px){.tools-fab{color:#16181d;background:#fff;width:56px;height:56px;box-shadow:0 0 0 1px #1018281f,0 8px 24px -12px #00000059}.tools-fab.open{color:#16181d;background:#fff}.tools-fab svg{stroke-width:2.4px;width:22px;height:22px}.stage-tools{bottom:calc(14px + env(safe-area-inset-bottom));padding:4px}.stage-tools .tool-dest .btn.tool{gap:2px;height:48px;min-height:48px;padding:5px 2px 3px}.stage-tools .tool-dest .btn.tool .ic{width:20px;height:20px}.stage-tools .tool-dest .btn.tool .ic svg{width:18px;height:18px}.stage-tools .tool-dest .btn.tool .lbl{font-size:10px}.stage-side{bottom:calc(78px + env(safe-area-inset-bottom))}}.view-anchor{display:inline-flex;position:relative}.view-pop{background:var(--bg-1);width:280px;box-shadow:var(--shadow),0 0 0 1px var(--line);z-index:6;border-radius:14px;padding:6px;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.view-pop .view-row{min-height:46px;padding:6px 10px}.view-pop:after{content:"";background:var(--bg-1);width:12px;height:12px;box-shadow:1px 1px 0 var(--line);position:absolute;top:100%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.stage-tools .tool-view .btn.tool.partial{color:var(--amber)}.review .photo{object-fit:contain;cursor:zoom-in;background:#111316;height:auto;max-height:min(46vh,420px)}.review .photo.empty{background:var(--bg-3);cursor:default;place-items:center;height:56px;display:grid}[data-theme=dark] .stage .review,[data-theme=dark] .review{--bg-0:#f6f7f9;--bg-1:#fff;--bg-2:#fff;--bg-3:#f3f4f7;--bg-hover:#f3f5f8;--bg-active:#e9f8ef;--fg:#16181d;--fg-2:#5c6270;--fg-3:#9096a3;--line:#e9ebef;--line-2:#d9dce3;--brand-ink:#1b7a46;--brand-soft:#e9f8ef;--amber-soft:#fff4e3;--red-soft:#fdecec;color:var(--fg);background:#fff}.review .gallery{background:#111316;flex:none;position:relative}.review .gallery .photo{object-fit:contain;cursor:zoom-in;width:100%;height:auto;max-height:min(42vh,380px);display:block}.review .gallery .nav{color:#16181d;background:#ffffffe0;border-radius:50%;place-items:center;width:34px;height:34px;font-size:22px;line-height:1;display:grid;position:absolute;top:calc(50% - 26px);box-shadow:0 2px 8px #00000059}.review .gallery .nav.prev{left:8px}.review .gallery .nav.next{right:8px}.review .gallery .count{color:#fff;background:#0000008c;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;position:absolute;top:8px;right:8px}.review .gallery .thumbs{background:#0b0c0e;gap:6px;padding:6px 8px;display:flex;overflow-x:auto}.review .gallery .thumbs img{object-fit:cover;opacity:.55;cursor:pointer;border:2px solid #0000;border-radius:6px;flex:none;width:52px;height:52px}.review .gallery .thumbs img.on{opacity:1;border-color:var(--brand)}.lightbox{z-index:2147483000}.lightbox .lb-nav{color:#fff;background:#ffffff24;border-radius:50%;place-items:center;width:48px;height:48px;font-size:30px;line-height:1;display:grid;position:fixed;top:50%;transform:translateY(-50%)}.lightbox .lb-nav.prev{left:16px}.lightbox .lb-nav.next{right:16px}.lightbox .lb-count{color:#fff;background:#00000080;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.lightbox .lb-close{color:#fff;background:#ffffff24;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:fixed;top:14px;right:14px}.lightbox .lb-close svg{width:18px;height:18px}[data-theme=dark] .stage,[data-theme=dark] .stage .view-pop,[data-theme=dark] .stage .stage-side,[data-theme=dark] .stage .stage-tools,[data-theme=dark] .stage .stage-loading,[data-theme=dark] .stage .view-row b,[data-theme=dark] .stage .stage-side h3,[data-theme=dark] .stage .layer-row,[data-theme=dark] .stage .pin-card,[data-theme=dark] .stage .log-card{color:var(--fg)}[data-theme=dark] .stage .view-pop{background:var(--bg-2);box-shadow:0 12px 40px -12px #0009,0 0 0 1px var(--line-2)}[data-theme=dark] .stage .view-pop:after{background:var(--bg-2);box-shadow:1px 1px 0 var(--line-2)}[data-theme=dark] .stage .view-row input:not(:checked)+.sw{background:#ffffff2e}[data-theme=dark] .stage .view-row input:checked+.sw{background:var(--brand)}[data-theme=dark] .stage .field{background:var(--bg-3);color:var(--fg);border-color:var(--line-2)}
