:root{--bg:#e7ebec;--panel:#fffffff2;--panel-solid:#fff;--hover:#f0f3f4;--pressed:#e5eaeb;--border:#dce2e4;--border-strong:#c2cbce;--text:#182226;--text-2:#42515a;--muted:#697880;--accent:#0b7d83;--accent-hover:#096a6f;--accent-soft:#e0f1f1;--on-accent:#fff;--danger:#c9372c;--danger-soft:#fbe9e7;--warn:#8f5a00;--warn-soft:#fff3dc;--focus:#0b7d83;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #1018200f, 0 8px 24px #1018201a;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--dock-h:64px;--safe-b:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--bg:#15191d;--panel:#1c2227;--panel-solid:#1c2227;--hover:#252c32;--pressed:#2c343b;--border:#2d363d;--border-strong:#3d4851;--text:#e4eaec;--text-2:#b8c4c9;--muted:#8a989f;--accent:#3cc0c4;--accent-hover:#5fd0d3;--accent-soft:#173a3c;--on-accent:#062a2c;--danger:#ff7b70;--danger-soft:#3a1f1d;--warn:#f5c451;--warn-soft:#3a2f16;--focus:#5fd0d3;--shadow:0 1px 2px #0000004d, 0 10px 28px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{background:var(--bg);overscroll-behavior:none;height:100%;margin:0;overflow:hidden}canvas{touch-action:none}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}button{font:inherit;color:inherit}.app{height:100%;position:relative}.viewport{position:absolute;inset:0}.topbar{pointer-events:none;align-items:center;gap:12px;height:44px;display:flex;position:absolute;top:12px;left:12px;right:12px}.topbar>*{pointer-events:auto}.brand{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);height:44px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:10px;padding:0 14px;display:flex}.brand-mark{background:linear-gradient(135deg, #1d2430 0 50%, var(--accent) 50% 100%);border-radius:5px;width:18px;height:18px}.brand-name{font-weight:600}.brand-sub{color:var(--muted);font-size:12px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:280px;max-height:calc(100% - 120px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:absolute;top:68px;overflow:auto}.panel-left{left:12px}.panel-right{width:320px;padding:14px;right:12px}.section+.section{border-top:1px solid var(--border)}.section-head{cursor:pointer;text-transform:uppercase;letter-spacing:.04em;width:100%;color:var(--muted);background:0 0;border:0;align-items:center;gap:6px;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.section-head-row{align-items:center;padding-right:12px;display:flex}.section-head-row .section-head{flex:1}.chev{width:10px;transition:transform .15s;display:inline-block}.chev.open{transform:rotate(90deg)}.section-body{padding:0 8px 10px}.row{border-radius:6px;align-items:center;gap:8px;min-height:28px;padding:0 6px;display:flex}.row:hover{background:var(--hover)}.row-label{color:var(--muted);flex:1}.row-meta{white-space:nowrap;margin-left:auto;font-size:12px}.check{cursor:pointer;flex:1;align-items:center;gap:8px;display:flex}.check input{accent-color:var(--accent);margin:0}.muted{color:var(--muted)}.small{padding:4px 6px;font-size:12px}.error{color:var(--danger)}.progress{color:var(--accent);font-variant-numeric:tabular-nums}.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.link:hover{text-decoration:underline}.props-head{justify-content:space-between;align-items:center;display:flex}.props-class{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-size:11px;font-weight:600}.props-name{word-break:break-word;margin:4px 0 10px;font-size:15px;font-weight:600}.icon-btn{cursor:pointer;width:26px;height:26px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-size:18px;line-height:1}.icon-btn:hover{background:var(--hover);color:var(--text)}.kv{grid-template-columns:96px 1fr;gap:4px 10px;margin:0;display:grid}.kv dt{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kv dd{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.kv-row{display:contents}.mono{font-family:var(--mono);font-size:11.5px}.props-actions{gap:8px;margin:12px 0;display:flex}.btn{border:1px solid var(--border);background:var(--panel-solid);cursor:pointer;border-radius:7px;height:30px;padding:0 12px}.btn:hover{border-color:var(--border-strong)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.search{border:1px solid var(--border);width:100%;height:30px;font:inherit;border-radius:7px;outline:none;margin-bottom:8px;padding:0 10px}.search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.psets details{border-top:1px solid var(--border);padding:6px 0}.psets summary{cursor:pointer;padding:2px 0 4px;font-weight:600;list-style-position:inside}.psets .kv{padding:2px 0 4px 14px;font-size:12px}.sunbar{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:min(640px,100% - 24px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;gap:8px;padding:10px 14px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.sunbar-row{align-items:center;gap:10px;display:flex}.sunbar-title{white-space:nowrap;font-weight:600}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip{border:1px solid var(--border);background:var(--panel-solid);cursor:pointer;white-space:nowrap;border-radius:12px;height:24px;padding:0 9px;font-size:12px}.chip:hover{border-color:var(--border-strong)}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.date{border:1px solid var(--border);height:26px;font:inherit;border-radius:6px;margin-left:auto;padding:0 6px;font-size:12px}.check.compact{white-space:nowrap;flex:0}.slider-wrap{flex:1;align-items:center;display:flex;position:relative}.slider-wrap input[type=range]{width:100%;accent-color:var(--accent)}.tick{pointer-events:auto;background:#e0a030;border-radius:1px;width:2px;height:6px;position:absolute;top:-4px}.sun-time{font-variant-numeric:tabular-nums;width:44px}.sun-meta{text-align:right;white-space:nowrap;width:128px;font-size:12px}.play{font-size:12px}.measure-label{color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums;background:#ff3d7f;border-radius:12px;align-items:center;gap:6px;padding:3px 4px 3px 9px;font-size:12px;font-weight:600;display:flex;box-shadow:0 2px 6px #0003}.measure-label.draft{pointer-events:none;background:#ff3d7fd9;padding:3px 9px}.measure-sub{opacity:.85;font-weight:400}.measure-x{color:#fff;cursor:pointer;background:#ffffff40;border:0;border-radius:9px;width:18px;height:18px;padding:0;line-height:1}.snap{background:#ffffffb3;border:2px solid #ff3d7f;width:12px;height:12px}.snap-vertex{border-radius:2px}.snap-edge{transform:rotate(45deg)scale(.85)}.snap-surface{border-radius:50%;width:8px;height:8px}.seg{border:1px solid var(--border);text-transform:none;letter-spacing:0;border-radius:6px;margin-left:auto;display:inline-flex;overflow:hidden}.seg button{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:2px 7px;font-size:11px;font-weight:500}.seg button.on{background:var(--accent-soft);color:var(--accent)}.toolbar{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);height:44px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:2px;margin:0 auto;padding:4px;display:flex}.tool{cursor:pointer;width:34px;height:34px;color:var(--text-2);background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.tool:hover{background:var(--hover)}.tool.active{background:var(--accent);color:var(--on-accent)}.tool.text{width:auto;padding:0 10px;font-size:12px}.tool-sep{background:var(--border);width:1px;height:22px;margin:0 4px}.toolbar-wrap{flex-direction:column;align-items:center;margin:0 auto;display:flex;position:relative}.toolbar-wrap .toolbar{margin:0}.popover{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:340px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;gap:8px;padding:10px 12px;display:flex;position:absolute;top:52px}.pop-row{align-items:center;gap:10px;display:flex}.pop-row .seg{margin-left:0}.pop-row .icon-btn{margin-left:auto}.popover input[type=range]{accent-color:var(--accent)}.peer-tag{color:#fff;white-space:nowrap;border-radius:9px;padding:2px 7px;font-size:11px;font-weight:600;box-shadow:0 1px 4px #00000040}.peer-cursor{color:#fff;border-radius:10px 10px 10px 2px;place-items:center;width:20px;height:20px;font-size:10px;font-weight:700;display:grid;box-shadow:0 1px 4px #00000040}.pin-wrap{position:relative;transform:translate(-14px,-32px)}.pin{pointer-events:auto;background:var(--pin,var(--accent));color:#fff;cursor:pointer;border:2px solid #fff;border-radius:14px 14px 14px 3px;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;transition:transform .12s;display:grid;box-shadow:0 2px 8px #0000004d}.pin:hover,.pin.active{transform:scale(1.12)}.pin.resolved{opacity:.55;filter:grayscale(.6)}.pin.draft{background:var(--accent)}.thread-card{pointer-events:auto;background:var(--panel-solid);border:1px solid var(--border);border-radius:var(--radius);width:280px;box-shadow:var(--shadow);flex-direction:column;gap:8px;padding:10px 12px;font-size:13px;display:flex;position:absolute;top:0;left:36px}.thread-head{align-items:center;gap:8px;display:flex}.thread-target{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.pin-badge{color:#fff;border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700;display:grid}.msg-meta{color:var(--muted);font-size:11.5px}.msg-text{white-space:pre-wrap;word-break:break-word}.composer textarea{resize:none;border:1px solid var(--border);width:100%;font:inherit;border-radius:7px;outline:none;padding:6px 8px}.composer textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.composer-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:6px;display:flex}.btn.small{height:26px;padding:0 10px;font-size:12px}.btn:disabled{opacity:.5;cursor:default}.link.danger{color:var(--danger);align-self:flex-start}.presence{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);height:44px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:10px;padding:0 8px 0 12px;display:flex;position:relative}.status{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.status .dot{background:#aab;border-radius:4px;width:8px;height:8px}.status-online .dot{background:#30a46c;box-shadow:0 0 0 3px #30a46c33}.status-connecting .dot{background:#d6a10a}.avatars{align-items:center;display:flex}.avatar{color:#fff;cursor:pointer;border:2px solid #fff;border-radius:14px;place-items:center;width:28px;height:28px;margin-left:-6px;padding:0;font-size:11px;font-weight:700;display:grid}.avatar:first-child{margin-left:0}.avatar.me{outline:2px solid var(--border);margin-left:6px}.avatar.more{background:#8a93a0}.presence .popover.profile{width:240px;right:0}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch{cursor:pointer;width:20px;height:20px;box-shadow:0 0 0 1px var(--border);border:2px solid #fff;border-radius:10px}.swatch.on{box-shadow:0 0 0 2px var(--text)}.hud{color:#d5dbe3;border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#14181fdb;width:260px;padding:10px 12px;font-size:11.5px;line-height:1.6;position:absolute;bottom:14px;left:12px}.hud-row{justify-content:space-between;gap:8px;display:flex}.hud b{color:#fff;font-weight:600}.hud .ok{color:#4cc38a}.hud .warn{color:#f5c451}.hud .bad{color:#ff6b6b}.hud-sep{background:#ffffff1f;height:1px;margin:6px 0}.hud .btn{color:#fff;background:#ffffff14;border-color:#ffffff26;width:100%}.hud-bench{color:#9fd3ff;margin-top:6px}.dock-tabs{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);z-index:2;border-radius:9px;gap:2px;padding:3px;display:flex;position:absolute;top:68px;right:12px}.dock-tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;display:flex}.dock-tabs button.on{background:var(--accent-soft);color:var(--accent)}.count{background:var(--accent);color:#fff;border-radius:8px;padding:0 5px;font-size:10.5px;line-height:16px}.panel-right{max-height:calc(100% - 228px);top:108px}.empty{padding:8px 2px;font-size:12.5px}.comments-panel{flex-direction:column;gap:6px;display:flex}.comment-row{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:10px;width:100%;padding:8px;display:flex}.comment-row:hover{background:var(--hover)}.comment-row.active{border-color:var(--accent);background:var(--accent-soft)}.comment-row.resolved{opacity:.6}.comment-body{flex-direction:column;gap:2px;min-width:0;display:flex}.comment-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.comment-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}kbd{font-family:var(--mono);border:1px solid var(--border);background:var(--panel-solid);border-bottom-width:2px;border-radius:4px;padding:1px 5px;font-size:11px}.attribution{max-width:max(220px,50% - 340px);color:var(--text-2);text-align:right;text-shadow:0 0 3px var(--panel-solid);font-size:10.5px;position:absolute;bottom:4px;right:12px}.attribution a,.attribution .link{color:inherit;font-size:inherit;text-decoration:underline}.modal-backdrop{z-index:100;background:#10141c59;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel-solid);width:min(560px,100%);max-height:calc(100% - 32px);box-shadow:var(--shadow);border-radius:14px;padding:18px 20px;overflow:auto}.modal h2{margin:0;font-size:17px}.modal h3{margin:16px 0 6px;font-size:13px}.modal ul{margin:0;padding-left:18px}.modal li+li{margin-top:4px}.shortcuts{grid-template-columns:110px 1fr}.drop-hint{padding:6px 6px 0}.drop-overlay{z-index:50;border:2px dashed var(--accent);background:var(--accent-soft);color:var(--accent);pointer-events:none;border-radius:14px;place-items:center;font-weight:600;display:grid;position:absolute;inset:8px}.render-btn{align-items:center;gap:6px;font-weight:600;display:flex}.render-panel{width:380px}.field{flex-direction:column;gap:4px;display:flex}.field .search{margin:0}.search.area{resize:none;height:auto;padding:6px 10px}.render-error{background:var(--danger-soft);color:var(--danger);border-radius:7px;padding:8px 10px;font-size:12.5px}.render-error.balance{background:var(--warn-soft);color:var(--warn)}.render-viewer{background:var(--panel-solid);width:min(1200px,100%);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:10px;padding:12px;display:flex}.compare{-webkit-user-select:none;user-select:none;background:#111;border-radius:9px;position:relative;overflow:hidden}.compare img{object-fit:contain;width:100%;max-height:calc(100vh - 140px);display:block}.compare img.before{height:100%;clip-path:inset(0 calc(100% - var(--split)) 0 0);position:absolute;inset:0}.split-line{top:0;bottom:0;left:var(--split);pointer-events:none;background:#fff;width:2px;position:absolute;box-shadow:0 0 6px #00000080}.compare input[type=range]{opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0;position:absolute;inset:0}.compare .tag{color:#fff;pointer-events:none;background:#0000008c;border-radius:9px;padding:2px 8px;font-size:11.5px;position:absolute;top:10px}.tag-left{left:10px}.tag-right{right:10px}a.btn{color:inherit;align-items:center;text-decoration:none;display:inline-flex}.render-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.render-thumb{cursor:pointer;aspect-ratio:4/3;background:var(--hover);border:0;border-radius:8px;padding:0;position:relative;overflow:hidden}.render-thumb img{object-fit:cover;width:100%;height:100%;display:block}.render-thumb span{color:#fff;border-radius:8px;padding:1px 6px;font-size:10.5px;font-weight:600;position:absolute;bottom:6px;left:6px}.brand-group{align-items:center;gap:8px;display:flex}.brand{height:44px}.brand-mark{background:conic-gradient(from 210deg, var(--accent) 0 25%, var(--text) 0 50%, var(--accent) 0 75%, var(--text) 0);opacity:.9;border-radius:6px;width:22px;height:22px}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-name{letter-spacing:-.01em;font-size:14px;font-weight:650}.brand-sub{font-size:11.5px}.chip-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);height:44px;box-shadow:var(--shadow);cursor:pointer;color:var(--text-2);align-items:center;gap:7px;padding:0 14px;font-weight:550;display:inline-flex}.chip-btn:hover{color:var(--text);border-color:var(--border-strong)}.chip-btn.on{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.panel-left{top:66px}.panel-title{justify-content:space-between;align-items:center;padding:10px 10px 2px 14px;font-size:15px;font-weight:650;display:flex}@media (hover:hover){[data-tip]{position:relative}[data-tip]:hover:after,[data-tip]:focus-visible:after{content:attr(data-tip);background:var(--text);color:var(--bg);white-space:nowrap;pointer-events:none;z-index:60;border-radius:6px;padding:4px 8px;font-size:11.5px;font-weight:500;animation:.12s ease-out .35s both tip-in;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.sun-pill [data-tip]:hover:after,.hud [data-tip]:hover:after{top:auto;bottom:calc(100% + 8px)}}@keyframes tip-in{0%{opacity:0;transform:translate(-50%,-2px)}}.toolbar{gap:4px}.tool{border-radius:9px;width:36px;height:36px}.tool.render-btn{background:var(--accent);color:var(--on-accent);margin-left:4px;padding:0 14px 0 12px}.tool.render-btn:hover{background:var(--accent-hover)}.tool.render-btn.active{box-shadow:inset 0 0 0 2px var(--on-accent)}.tool-options{flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:52px;left:50%;transform:translate(-50%)}.tool-options .popover{position:static}.measure-options{width:320px}.sun-pill{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.sun-pill .play{border-radius:16px;width:32px;height:32px;font-size:11px}.sun-pill-main{cursor:pointer;height:32px;color:var(--text);white-space:nowrap;background:0 0;border:0;border-radius:16px;align-items:center;gap:7px;padding:0 12px 0 8px;display:flex}.sun-pill-main:hover{background:var(--hover)}.sun-pill-main svg:first-child{color:#d89a1c}.hint{background:var(--text);width:max-content;max-width:calc(100% - 32px);color:var(--bg);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:10px;padding:6px 6px 6px 14px;font-size:13px;animation:.35s ease-out both hint-in;display:flex;position:absolute;bottom:70px;left:50%;transform:translate(-50%)}.hint .icon-btn{color:inherit;opacity:.7}.hint .icon-btn:hover{opacity:1;color:inherit;background:0 0}.hint-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 0 var(--accent);border-radius:4px;flex:none;animation:1.6s ease-out infinite pulse}@keyframes hint-in{0%{opacity:0;transform:translate(-50%,8px)}}@keyframes pulse{70%{box-shadow:0 0 0 8px #0000}}@media (prefers-reduced-motion:reduce){.hint,.hint-dot,[data-tip]:after{animation:none!important}}.section-head{font-size:11.5px}.props-name{letter-spacing:-.01em;font-size:16px}.panel-right{width:340px}.mobile-dock,.mobile-above-dock{display:none}@media (width<=720px),(pointer:coarse) and (width<=960px){:root{font-size:14px}.topbar{top:calc(8px + env(safe-area-inset-top,0px));height:44px;left:8px;right:8px}.brand{padding:0 12px}.brand-sub{display:none}.brand-name{font-size:13.5px}.presence{margin-left:auto;padding:0 6px}.presence .status span:not(.dot),.presence .btn{display:none}.mobile-dock{left:8px;right:8px;bottom:calc(8px + var(--safe-b));height:var(--dock-h);background:var(--panel-solid);border:1px solid var(--border);box-shadow:var(--shadow);z-index:30;border-radius:18px;gap:4px;padding:6px;display:flex;position:absolute}.mobile-dock button{min-height:48px;color:var(--text-2);background:0 0;border:0;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:550;display:flex}.mobile-dock button.on{background:var(--accent-soft);color:var(--accent)}.mobile-dock button.accent{background:var(--accent);color:var(--on-accent)}.mobile-above-dock{left:8px;right:8px;bottom:calc(var(--dock-h) + 16px + var(--safe-b));z-index:29;pointer-events:none;flex-direction:column;align-items:stretch;gap:8px;display:flex;position:absolute}.mobile-above-dock>*{pointer-events:auto}.tool-options{align-items:stretch;position:static;transform:none}.tool-options .popover,.measure-options,.render-panel{width:auto}.mode-chip{background:var(--text);color:var(--bg);border-radius:999px;align-self:center;align-items:center;gap:10px;padding:6px 6px 6px 14px;font-size:13px;display:flex}.mode-chip button{background:var(--accent);color:var(--on-accent);border:0;border-radius:999px;min-height:32px;padding:6px 12px;font-weight:600}.sheet{max-height:48%;padding-bottom:calc(var(--dock-h) + 20px + var(--safe-b));background:var(--panel-solid);z-index:25;border-radius:18px 18px 0 0;flex-direction:column;animation:.22s ease-out both sheet-in;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #0000002e}.sheet.tall{max-height:78%}.sheet-handle{background:var(--border-strong);border-radius:2px;width:40px;height:4px;margin:8px auto 2px}.sheet-head{justify-content:space-between;align-items:center;padding:4px 12px 6px 18px;font-size:16px;display:flex}.sheet-body{-webkit-overflow-scrolling:touch;padding:0 14px 8px;overflow:auto}.sheet .icon-btn{width:40px;height:40px;font-size:22px}.sheet .row{min-height:44px}.sheet .props-head .icon-btn{display:none}.sheet .check input{width:18px;height:18px}.tool-grid{grid-template-columns:repeat(4,1fr);gap:8px;padding-bottom:6px;display:grid}.tool-tile{border:1px solid var(--border);background:var(--panel-solid);min-height:72px;color:var(--text);border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;font-size:12px;display:flex;position:relative}.tool-tile.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.tool-tile .count{position:absolute;top:6px;right:8px}.sun-sheet .sunbar-row{flex-wrap:wrap}.sun-sheet .slider-wrap{min-height:44px}.sun-sheet .sun-meta,.sun-sheet .chips{display:flex}.sun-sheet .date{margin-left:0}.sun-sheet .sunbar-title{display:none}.sun-sheet{flex-direction:column;gap:10px;display:flex}.hint{bottom:calc(var(--dock-h) + 24px + var(--safe-b));border-radius:16px;font-size:13px}.dock-tabs,.panel-right,.attribution,.hud{display:none}.thread-card{width:min(280px,100vw - 60px)}.render-viewer{border-radius:0;padding:8px}.render-viewer .pop-row{flex-wrap:wrap}.modal{padding:14px}}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}}.modal .notice{border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--text);padding:8px 10px;font-size:12.5px}.check.terms{align-items:flex-start}.check.terms input{margin-top:2px}.html-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}
