:root{--surface:#16181c;--surface-raised:#1e2126;--surface-sunken:#0d0f11;--surface-hover:#282c33;--border:#32373f;--text:#eceef1;--text-muted:#9aa2ad;--accent:#2f6feb;--accent-soft:#21304d;--accent-text:#fff;--accent-ring:#2f6feba6;--danger:#f0796a;--comment:#40b880;--comment-soft:#19342a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:light){:root{--surface:#f5f6f8;--surface-raised:#fff;--surface-sunken:#dcdfe4;--surface-hover:#eceef1;--border:#d3d7de;--text:#14171a;--text-muted:#5c646f;--accent:#1f5fd0;--accent-soft:#dfe9fb;--accent-text:#fff;--accent-ring:#1f5fd080;--danger:#b4251a;--comment:#157f52;--comment-soft:#dbf1e5;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--surface);margin:0}.signin{background:var(--surface);min-height:100svh;color:var(--text);place-items:center;padding:24px;display:grid}.signin-card{border:1px solid var(--border);background:var(--surface-raised);border-radius:12px;width:100%;max-width:380px;padding:28px 26px 24px}.signin-title{letter-spacing:-.01em;margin:0 0 18px;font-size:19px;font-weight:600}.signin-form{flex-direction:column;gap:8px;display:flex}.signin-label{color:var(--text-muted);font-size:13px}.signin-input{border:1px solid var(--border);background:var(--surface);height:38px;color:var(--text);border-radius:8px;padding:0 11px;font-family:inherit;font-size:15px}.signin-input:focus{outline:2px solid var(--accent);outline-offset:-1px}.signin-primary{background:var(--accent);height:38px;color:var(--accent-text);cursor:pointer;border:none;border-radius:8px;margin-top:4px;font-family:inherit;font-size:14px;font-weight:600}.signin-primary:disabled{opacity:.45;cursor:default}.signin-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.signin-secondary{border:1px solid var(--border);background:var(--surface);height:34px;color:var(--text);cursor:pointer;border-radius:8px;padding:0 12px;font-family:inherit;font-size:13px}.signin-secondary:hover:not(:disabled){background:var(--surface-hover)}.signin-secondary:disabled{opacity:.45;cursor:default}.signin-sent{margin:0;font-size:15px;line-height:1.45}.signin-note{background:var(--accent-soft);border-radius:8px;margin:0 0 14px;padding:9px 11px;font-size:13px;line-height:1.45}.signin-hint{color:var(--text-muted);margin:10px 0 0;font-size:12.5px;line-height:1.45}.signin-problem{color:var(--danger);margin:2px 0 0;font-size:13px}.report-open{height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:0 10px;font-family:inherit;font-size:13px}.report-open:hover:not(:disabled){border-color:var(--border);color:var(--text)}.report-scrim{z-index:60;background:#00000073;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.report-panel{border:1px solid var(--border);background:var(--surface-raised);width:100%;max-width:420px;color:var(--text);border-radius:12px;padding:22px 22px 18px}.report-title{letter-spacing:-.01em;margin:0 0 4px;font-size:17px;font-weight:600}.report-hint,.report-attached{color:var(--text-muted);margin:0;font-size:13px}.report-hint{margin-bottom:12px}.report-attached{margin-top:10px;font-size:12px;line-height:1.45}.report-box{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);resize:vertical;border-radius:8px;padding:10px 11px;font-family:inherit;font-size:15px;line-height:1.45}.report-box:focus{outline:2px solid var(--accent);outline-offset:-1px}.report-problem{color:var(--danger,#e5484d);margin:8px 0 0;font-size:13px}.report-thanks{margin:0;font-size:15px}.report-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.report-primary{background:var(--accent);height:34px;color:var(--accent-text);cursor:pointer;border:none;border-radius:8px;padding:0 16px;font-family:inherit;font-size:14px}.report-primary:disabled{opacity:.5;cursor:default}.report-quiet{border:1px solid var(--border);height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:0 12px;font-family:inherit;font-size:14px}.jobs{background:var(--surface);min-height:100svh;color:var(--text);flex-direction:column;display:flex}.jobs-bar{padding:10px 14px;padding-top:max(10px, env(safe-area-inset-top));border-bottom:1px solid var(--border);background:var(--surface-raised);align-items:center;gap:10px;display:flex}.jobs-brand{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.jobs-bar-spacer{flex:1}.jobs-back{color:var(--text-muted);white-space:nowrap;font-size:13px;text-decoration:none}.jobs-back:hover{color:var(--text)}.jobs-who{text-overflow:ellipsis;white-space:nowrap;max-width:40vw;color:var(--text-muted);font-size:13px;overflow:hidden}.jobs-body{width:100%;max-width:720px;margin:0 auto;padding:22px 18px 40px}.jobs-head{align-items:center;gap:12px;margin:18px 0 10px;display:flex}.jobs-title{letter-spacing:-.01em;flex:1;margin:0;font-size:17px;font-weight:600}.jobs-sub{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.jobs-primary{background:var(--accent);height:32px;color:var(--accent-text);cursor:pointer;border:none;border-radius:8px;padding:0 13px;font-family:inherit;font-size:13px;font-weight:600}.jobs-primary:disabled{opacity:.45;cursor:default}.jobs-quiet{border:1px solid var(--border);background:var(--surface);height:32px;color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:8px;padding:0 11px;font-family:inherit;font-size:13px}.jobs-quiet:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.jobs-new{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.jobs-input{border:1px solid var(--border);background:var(--surface-raised);min-width:180px;height:32px;color:var(--text);border-radius:8px;flex:1;padding:0 10px;font-family:inherit;font-size:14px}.jobs-input:focus{outline:2px solid var(--accent);outline-offset:-1px}.jobs-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.jobs-row,.jobs-set-open{border:1px solid var(--border);background:var(--surface-raised);color:inherit;border-radius:10px;flex-direction:column;gap:3px;padding:11px 13px;text-decoration:none;display:flex}.jobs-row:hover,.jobs-set-open:not(.jobs-set-bare):hover{background:var(--surface-hover)}.jobs-row-name{font-size:14.5px;font-weight:600}.jobs-row-role{color:var(--text-muted);font-size:12.5px}.jobs-set{align-items:center;gap:8px;display:flex}.jobs-set .jobs-set-open{flex:1;min-width:0}.jobs-set-bare{cursor:default;opacity:.75}.jobs-upload{border:1px solid var(--border);background:var(--surface-sunken);border-radius:10px;margin:8px 0 4px;padding:11px 13px}.jobs-upload-note{color:var(--text-muted);margin:0 0 9px;font-size:12.5px;line-height:1.45}.jobs-empty{color:var(--text-muted);margin:4px 0 0;font-size:13.5px;line-height:1.55}.jobs-problem{color:var(--danger);margin:8px 0 0;font-size:13px}.jobs-local{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;margin-top:28px;padding-top:18px;display:flex}.jobs-local-note{color:var(--text-muted);font-size:12.5px}.jobs-invite{align-items:center}.jobs-input-short{flex:0 200px;min-width:140px}.jobs-roles{border:1px solid var(--border);background:var(--surface);border-radius:9px;gap:2px;padding:2px;display:flex}.jobs-role{height:26px;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:0 9px;font-family:inherit;font-size:12.5px}.jobs-role:hover:not(:disabled):not(.jobs-role-on){background:var(--surface-hover);color:var(--text)}.jobs-role-on{background:var(--accent-soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}.jobs-role:disabled{opacity:.35;cursor:default}.jobs-note{color:var(--text-muted);margin:8px 0 0;font-size:13px}.jobs-person{cursor:default}.jobs-person:hover{background:var(--surface-raised)}.upl{flex-direction:column;gap:10px;min-height:0;padding:10px;display:flex;overflow-y:auto}.upl-drop{text-align:center;border:1px dashed var(--border);background:var(--surface-sunken);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:20px 14px;transition:background .12s,border-color .12s;display:flex}.upl-drop:hover,.upl-drop:focus-visible{background:var(--surface-hover);border-color:var(--text-muted);outline:none}.upl-drop-over{background:var(--accent-soft);border-color:var(--accent)}.upl-drop-title{font-size:13px;font-weight:600}.upl-drop-hint{color:var(--text-muted);max-width:30ch;font-size:11.5px;line-height:1.4}.upl-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.upl-job{border:1px solid var(--border);background:var(--surface-raised);border-radius:9px;flex-direction:column;gap:6px;padding:8px 9px;display:flex}.upl-job-failed{border-color:var(--danger)}.upl-job-head{align-items:baseline;gap:8px;display:flex}.upl-job-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;font-weight:600;overflow:hidden}.upl-job-size{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:11px}.upl-bar{background:var(--surface-sunken);border-radius:3px;height:5px;overflow:hidden}.upl-bar-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .16s linear}.upl-job-foot{align-items:center;gap:8px;display:flex}.upl-job-status{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11.5px;overflow:hidden}.upl-job-done .upl-job-status{color:var(--accent)}.upl-job-failed .upl-job-status{color:var(--danger)}.upl-job-action{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:2px 7px;font-size:11.5px}.upl-job-action:hover{background:var(--surface-hover)}.upl-job-error{color:var(--danger);margin:0;font-size:11.5px;line-height:1.45}.upl-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:2px 0;font-size:11.5px;text-decoration:underline}.upl-clear:hover{color:var(--text)}.ui-grip{color:var(--text-muted);opacity:.55;cursor:grab;touch-action:none;flex:none;place-items:center;width:30px;height:16px;display:grid}.ui-grip-across{width:14px;height:26px;margin-right:2px}.ui-grip:hover{opacity:1}.ui-grip:active{cursor:grabbing}@media (width<=860px){.ui-grip{width:38px;height:20px}.ui-grip-across{width:20px;height:34px}}.pdf-viewer{background:var(--surface-sunken);touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;cursor:default;flex:1;min-height:0;position:relative;overflow:hidden}.pdf-viewer-draw,.pdf-viewer-draw:active{cursor:crosshair}.pdf-viewer-pan,.pdf-viewer-pan:active{cursor:grab}.pdf-viewer-pan:active,.pdf-viewer-panning,.pdf-viewer-panning:active{cursor:grabbing}.pdf-stage{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.pdf-sheet{background:#fff;position:absolute;inset:0;box-shadow:0 2px 20px #00000057}.pdf-canvas{display:block;position:absolute}.pdf-markup-layer{pointer-events:none;position:absolute;inset:0}.pdf-zoom-bar{border:1px solid var(--border);background:var(--surface-raised);border-radius:9px;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:2px;max-width:calc(100% - 28px);padding:4px;display:flex;position:absolute;bottom:14px;right:14px;box-shadow:0 2px 14px #00000052}.pdf-zoom-bar>*{white-space:nowrap;flex:none}.pdf-zoom-bar button{min-width:30px;height:28px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;padding:0 8px;font-size:13px;line-height:1;display:grid}.pdf-zoom-bar button:hover{background:var(--surface-hover)}.pdf-zoom-value{text-align:center;font-variant-numeric:tabular-nums;min-width:38px;color:var(--text-muted);font-size:11px}.pdf-sheet-no{align-items:center;gap:2px;display:inline-flex}.pdf-sheet-arrows{flex-direction:column;justify-content:center;gap:1px;display:flex}.pdf-zoom-bar .pdf-sheet-arrow{width:16px;min-width:16px;height:13px;color:var(--text-muted);border-radius:4px;padding:0;font-size:7px}.pdf-zoom-bar .pdf-sheet-arrow:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.pdf-zoom-bar .pdf-sheet-arrow:disabled{opacity:.35;cursor:default}.pdf-zoom-bar .pdf-sheet-value{white-space:nowrap;font-variant-numeric:tabular-nums;min-width:44px;height:28px;color:var(--text);border-radius:6px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;display:inline-flex}.pdf-sheet-editing{background:var(--surface-hover);box-shadow:inset 0 0 0 1px var(--accent-ring)}.pdf-sheet-of{color:var(--text-muted);white-space:nowrap}.pdf-sheet-field{width:2.4em;min-width:0;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:none;outline:none;padding:0}.pdf-zoom-sep{background:var(--border);width:1px;height:18px;margin:0 3px}@media (width<=860px){.pdf-zoom-bar button{min-width:40px;height:38px}}.pdf-snap{white-space:nowrap;color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.pdf-snap-on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.pdf-snap-on:hover{background:var(--accent)}.pdf-snap-dot{background:0 0;border-radius:50%;width:7px;height:7px;box-shadow:inset 0 0 0 1.5px}.pdf-snap-on .pdf-snap-dot{background:currentColor}.thumb-rail{overscroll-behavior:contain;flex-direction:column;flex:1;gap:8px;min-height:0;padding:10px;display:flex;overflow-y:auto}.thumb{color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:4px;display:flex}.thumb:hover{background:var(--surface)}.thumb-active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.thumb-frame{border:1px solid var(--border);background:#fff;border-radius:3px;flex:none;width:132px;display:block;overflow:hidden}.thumb-frame canvas{width:100%;display:block}.thumb-label{font-variant-numeric:tabular-nums;font-size:12px}.comments{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.comments-body{flex-direction:column;flex:1;min-height:0;display:flex}.comments-section{flex-direction:column;flex-shrink:1;flex-basis:0;min-height:0;display:flex}.comments-section-shut{flex:none}.comments-head{border-bottom:1px solid var(--border);background:var(--surface-sunken);flex:none;align-items:center;gap:6px;padding:6px 10px;display:flex}.comments-fold{color:var(--text);font:inherit;letter-spacing:.05em;text-transform:uppercase;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:5px;padding:0;font-size:11px;font-weight:600;display:flex}.comments-fold:hover{color:var(--accent)}.comments-chev{width:10px;color:var(--text-muted);font-size:12px;line-height:1;display:inline-block}.comments-only{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;padding:2px 7px;font-size:10px}.comments-only:hover{background:var(--surface-hover);color:var(--text)}.comments-only-on{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.comments-scroll{flex-direction:column;flex:1;gap:8px;min-height:0;padding:10px;display:flex;overflow-y:auto}.comments-divider{background:var(--border);cursor:row-resize;touch-action:none;flex:0 0 5px}.comments-divider:hover{background:var(--accent)}.comments-scope{gap:3px;display:flex}.comments-tab{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font:inherit;white-space:nowrap;cursor:pointer;border-radius:4px;flex:1;justify-content:center;align-items:center;gap:4px;padding:3px 5px;font-size:11px;display:flex}.comments-tab:hover{background:var(--surface-hover);color:var(--text)}.comments-tab-on{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.comments-count{font-variant-numeric:tabular-nums;opacity:.75;font-size:10px}.comments-empty-title{color:var(--text);margin:8px 0 6px;font-size:13px;font-weight:600}.comments-empty-hint{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.comments-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.comments-row{border:1px solid var(--border);background:var(--surface-raised);border-radius:5px;flex-direction:column;gap:5px;padding:6px 7px;display:flex}.comments-row-on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-ring)}.comments-row-head{align-items:center;gap:6px;display:flex}.comments-dot{border-radius:50%;flex:none;width:8px;height:8px}.comments-sheet{color:var(--text-muted);font-size:10px}.comments-goto{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font:inherit;cursor:pointer;border-radius:4px;padding:1px 6px;font-size:10px}.comments-goto:hover{background:var(--surface-hover);color:var(--text)}.comments-thread{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;margin:0;padding:0;display:flex}.comments-msg{flex-direction:column;gap:1px;display:flex}.comments-msg-head{color:var(--text-muted);font-size:10px}.comments-msg-body{color:var(--text);overflow-wrap:anywhere;font-size:12px;line-height:1.4}.comments-more{color:var(--accent);font-size:10px}.comments-row-actions{flex:none;gap:4px;margin-left:auto;display:flex}.comments-action{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font:inherit;cursor:pointer;border-radius:4px;padding:2px 7px;font-size:10px}.comments-action:hover{background:var(--surface-hover);color:var(--text)}.comments-msg-gone{color:var(--text-muted)}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.chat-scroll{flex:1;min-height:0;padding:10px;overflow-y:auto}.chat-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.chat-msg-head{align-items:baseline;gap:6px;margin-bottom:1px;display:flex}.chat-msg-who{color:var(--text);font-size:11px;font-weight:600}.chat-msg-when{color:var(--text-muted);font-size:10px}.chat-msg-body{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.45}.chat-msg-sending{opacity:.55}.chat-msg-failed .chat-msg-body{color:var(--text-muted)}.chat-msg-failed-note{color:var(--danger);margin-top:3px;font-size:11px}.chat-link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.chat-empty,.chat-problem{color:var(--text-muted);margin:0;padding:10px;font-size:12px;line-height:1.5}.chat-problem{color:var(--danger)}.chat-compose{border-top:1px solid var(--border);background:var(--surface-sunken);flex:none;align-items:flex-end;gap:6px;padding:8px 10px;display:flex}.chat-field{border:1px solid var(--border);background:var(--surface);min-width:0;max-height:120px;color:var(--text);font:inherit;resize:none;border-radius:7px;flex:1;padding:6px 8px;font-size:12px;line-height:1.4;overflow-y:auto}.chat-field:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring);outline:none}.chat-send{background:var(--accent);color:var(--accent-text);font:inherit;cursor:pointer;border:none;border-radius:7px;flex:none;padding:6px 11px;font-size:12px}.chat-send:disabled{opacity:.4;cursor:default}.chat-msg-editbtn{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 3px;font-size:10px;line-height:1}.chat-msg-editbtn:hover{color:var(--accent);text-decoration:underline}.chat-msg-edited{color:var(--text-muted);font-size:10px;font-style:italic}.chat-field-edit{width:100%;margin-top:2px}.chat-msg-editing{color:var(--text-muted);margin-top:3px;font-size:11px}.chat-msg-body-mine{cursor:text}.comments-waiting{border:1px solid var(--accent);background:var(--accent-soft);color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;padding:2px 7px;font-size:10px}.comments-waiting-on{background:var(--accent);color:var(--accent-text)}.comments-row-new{box-shadow:inset 2px 0 0 var(--accent)}.comments-new{background:var(--accent);color:var(--accent-text);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:0 5px;font-size:9px}.comment-box,.comment-tag{box-sizing:border-box;border:1.5px solid var(--border);background:var(--surface-raised);color:var(--text);cursor:move;font-family:system-ui,sans-serif;position:absolute}.comment-box{outline:none;flex-direction:column;gap:3px;padding:7px;display:flex;overflow:hidden;box-shadow:0 4px 14px #00000047}.comment-box:hover{box-shadow:0 4px 14px #00000047, 0 0 0 1px var(--accent)}.comment-tag{color:var(--text);cursor:move;background:#fff;outline:none;justify-content:center;align-items:center;gap:3px;padding:0 5px;line-height:1;display:flex;box-shadow:0 1px 3px #0000002e}.comment-tag:before{content:"";border-radius:999px;position:absolute;inset:-6px}.comment-tag-word{letter-spacing:.02em;color:currentColor;font-family:system-ui,sans-serif;font-size:9px;font-weight:600;line-height:1}.comment-tag-tick{color:#30a46c;flex:none}.comment-tag:hover{filter:brightness(.97)}.comment-tag:focus-visible{box-shadow:0 1px 3px #0000002e, 0 0 0 2px var(--accent)}.comment-thread{flex-direction:column;flex:1;gap:4px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.comment-placeholder{color:var(--text-muted);margin:0;font-size:11px;line-height:1.4}.comment-msg{flex-direction:column;gap:1px;display:flex}.comment-msg-head{align-items:baseline;gap:5px;display:flex}.comment-msg-who{color:var(--text);font-size:11px;font-weight:600}.comment-msg-when{color:var(--text-muted);font-size:10px}.comment-msg-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.4}.comment-field{resize:none;box-sizing:border-box;border:1px solid var(--border);background:var(--surface-sunken);width:100%;min-height:1.7em;color:var(--text);font:inherit;border-radius:4px;flex:none;padding:2px 4px;font-size:12px;line-height:1.35;overflow-y:auto}.comment-field:focus{outline:2px solid var(--accent-ring);outline-offset:-1px}.comment-thread,.comment-field{cursor:auto}.comment-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.comment-action,.comment-send{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font:inherit;cursor:pointer;border-radius:3px;padding:1px 6px;font-size:10px;line-height:1.3}.comment-action:hover:not(:disabled),.comment-send:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.comment-action:disabled,.comment-send:disabled{opacity:.45;cursor:default}.comment-action-on,.comment-action-on:hover:not(:disabled){color:#fff;background:#30a46c;border-color:#30a46c}.comment-edge{position:absolute}.comment-edge-t,.comment-edge-b{cursor:ns-resize;height:7px;left:7px;right:14px}.comment-edge-t{top:0}.comment-edge-b{bottom:0}.comment-edge-l,.comment-edge-r{cursor:ew-resize;width:7px;top:7px;bottom:14px}.comment-edge-l{left:0}.comment-edge-r{right:0}.comment-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin-left:auto;padding:0 1px;display:flex}.comment-close:hover{color:var(--text)}.comment-send{border-color:var(--accent);background:var(--accent);color:var(--accent-text);margin-left:auto}.comment-send:hover:not(:disabled){background:var(--accent);color:var(--accent-text);filter:brightness(1.08)}.comment-resize{cursor:nwse-resize;background:linear-gradient(135deg, transparent 0 46%, var(--text-muted) 46% 54%, transparent 54% 100%), linear-gradient(135deg, transparent 0 68%, var(--text-muted) 68% 76%, transparent 76% 100%);opacity:.6;width:14px;height:14px;position:absolute;bottom:0;right:0}.comment-resize:hover{opacity:1}.comment-people{flex:none;align-items:center;gap:3px;min-height:0;display:flex}.comment-chip{border:1.5px solid var(--border);background:var(--surface-sunken);width:15px;height:15px;color:var(--text);font:inherit;letter-spacing:.02em;cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:9px;font-weight:600;display:inline-flex}.comment-chip-add{color:var(--text-muted);border-style:dashed;font-size:12px;font-weight:400;line-height:1}.comment-chip-add:hover{color:var(--text);border-style:solid}.comment-chip-me{cursor:inherit}.comment-people-menu{z-index:1;border:1px solid var(--border);background:var(--surface-raised);cursor:auto;border-radius:4px;flex-direction:column;gap:1px;padding:4px;display:flex;position:absolute;inset:22px 3px 3px;overflow-y:auto;box-shadow:0 6px 16px #00000059}.comment-people-why{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 3px;font-size:9px}.comment-people-none{color:var(--text-muted);margin:0;font-size:11px;line-height:1.4}.comment-people-row{width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;gap:5px;padding:2px 3px;display:flex}.comment-people-row:hover{background:var(--surface-hover)}.comment-people-name{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.comment-people-trade{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:9px}.comment-msg-gone{color:var(--text-muted);margin:0;font-size:11px;font-style:italic;line-height:1.4}.comment-msg-edited{font:inherit;color:var(--text-muted);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;font-size:10px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.comment-msg-edited:hover,.comment-msg-edited-on{color:var(--text)}.comment-msg-edit{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 3px;font-size:10px;line-height:1}.comment-msg-edit:hover{color:var(--accent);text-decoration:underline}.comment-msg-x{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:12px;line-height:1}.comment-msg-x:hover{color:var(--danger,#e5484d)}.comment-msg-body-mine{cursor:text}.comment-msg-history{border-left:2px solid var(--border);color:var(--text-muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0 0;padding:0 0 0 8px;font-size:11px;line-height:1.4;list-style:none}.comment-msg-history li+li{margin-top:2px}.comment-field-edit{margin-top:1px}@keyframes comment-halo{0%{opacity:.9;box-shadow:0 0}70%{opacity:0;box-shadow:0 0 0 9px}to{opacity:0;box-shadow:0 0 0 9px}}.comment-tag-unread{box-shadow:0 0 0 2px}.comment-tag-unread:after{content:"";border-radius:inherit;pointer-events:none;color:inherit;animation:1.9s ease-out infinite comment-halo;position:absolute;inset:-2px}@media (prefers-reduced-motion:reduce){.comment-tag-unread:after{animation:none}}.markup-surface{pointer-events:auto;cursor:inherit;position:absolute;inset:0}.markup-svg{pointer-events:none;display:block;overflow:visible}.markup-surface-grab{cursor:move}.markup-surface-chip{cursor:pointer}.markup-marquee{fill:var(--accent);stroke:var(--accent);fill-opacity:.08}.markup-group-wall{fill:none;stroke:var(--accent);stroke-opacity:.75;pointer-events:none}.markup-snap{fill:none;stroke:#21d0a5;paint-order:stroke}.markup-dim{text-anchor:middle;dominant-baseline:auto;paint-order:stroke fill;stroke:#fff;stroke-linejoin:round;font-family:system-ui,sans-serif;font-weight:600}.markup-dim-assumed{opacity:.85;font-style:italic}.markup-chip{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1px}.markup-chip-hover{filter:brightness(1.18);stroke-width:1.5px}.markup-chip-text{text-anchor:middle;fill:var(--text);font-family:system-ui,sans-serif;font-weight:600}.markup-note-text{text-anchor:middle;paint-order:stroke fill;stroke:#fff;stroke-linejoin:round;font-family:system-ui,sans-serif;font-style:italic;font-weight:500}.markup-rotate-stem{fill:none;stroke:var(--accent);opacity:.5}.markup-rotate-grip{fill:var(--surface-raised);stroke:var(--accent)}.markup-leader-stem{fill:none;stroke:var(--accent);opacity:.4}.markup-leader-handle{fill:var(--surface-raised);stroke:var(--accent)}.markup-text-highlight-empty{fill:var(--accent);fill-opacity:.16;stroke:var(--accent);stroke-opacity:.5}.markup-note-input{text-align:center;background:0 0;border:none;outline:none;width:12ch;margin:0;padding:0;font-family:system-ui,sans-serif;font-style:italic;font-weight:500;position:absolute}.markup-handle{fill:var(--surface-raised);stroke:var(--accent)}.markup-handle-add{fill:var(--accent-soft);opacity:.85}.markup-focus-scrim{fill:var(--surface);opacity:var(--focus-dim,.22);pointer-events:none}.flyout{display:block;position:relative}.flyout-pill{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:7px;align-items:center;gap:5px;padding:4px 6px;font-size:11px;line-height:1;display:flex}.flyout-pill:hover,.flyout-pill-open{background:var(--surface-hover);border-color:var(--accent)}.flyout-pill-icon{flex:none;align-items:center;display:flex}.flyout-pill-name{color:var(--text-muted);flex:none}.flyout-pill-value{white-space:nowrap;text-overflow:ellipsis;text-align:right;flex:1;min-width:0;overflow:hidden}.flyout-pill-more{color:var(--text-muted);flex:none;font-size:12px}.flyout-menu{z-index:70;border:1px solid var(--border);background:var(--surface-raised);border-radius:9px;min-width:148px;padding:4px;position:absolute;top:-4px;left:calc(100% + 8px);box-shadow:0 10px 30px #00000061}.flyout-menu-tall{max-height:60vh;overflow-y:auto}.flyout-item{width:100%;color:var(--text);font:inherit;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:12px;line-height:1;display:flex}.flyout-item:hover{background:var(--surface-hover)}.flyout-item-on{background:var(--accent-soft)}.flyout-item-icon{width:26px;color:var(--text-muted);flex:none;justify-content:center;align-items:center;display:flex}.flyout-item-on .flyout-item-icon{color:var(--text)}.flyout-item-label{flex:1}.flyout-item-tick{width:10px;color:var(--accent);flex:none}.markup-tools{z-index:4;align-items:flex-start;gap:8px;display:flex;position:absolute;top:14px;left:14px}.markup-bar,.markup-styles{border:1px solid var(--border);background:var(--surface-raised);border-radius:9px;flex-direction:column;align-items:center;gap:2px;padding:4px;display:flex;box-shadow:0 2px 14px #00000052}.markup-btn{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;display:grid}.markup-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.markup-btn:disabled{opacity:.3;cursor:default}.markup-btn-on{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent);color:var(--text)}.markup-btn-comment{--accent:var(--comment);--accent-soft:var(--comment-soft)}.markup-btn-comment,.markup-btn-comment:hover:not(:disabled),.markup-btn-comment.markup-btn-on{color:var(--comment)}.markup-btn-danger:hover:not(:disabled){color:var(--danger)}.markup-sep{background:var(--border);width:18px;height:1px;margin:3px 0}.markup-styles{width:96px;padding:6px}.markup-styles-wide{box-sizing:border-box;flex:none;width:172px}.markup-styles .markup-sep{width:100%}.markup-scope{letter-spacing:.04em;text-transform:uppercase;width:100%;color:var(--text-muted);text-align:center;padding-bottom:2px;font-size:10px}.markup-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;width:100%;display:grid}.markup-swatch{aspect-ratio:1;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;place-items:center;width:100%;max-width:26px;margin:0 auto;padding:0;display:grid}.markup-swatch:after{content:"";background:var(--swatch);border-radius:50%;width:16px;height:16px}.markup-swatch:hover{border-color:var(--border)}.markup-swatch-on{border-color:var(--accent)}.markup-grid-mini{grid-template-columns:repeat(6,1fr);margin-top:2px}.markup-swatch-mini{height:16px}.markup-swatch-mini:after{width:10px;height:10px}.markup-weight{cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:100%;height:32px;display:flex;position:relative}.markup-weight:before{content:"";border-radius:6px;transition:inset .12s,background .12s;position:absolute;inset:3px}.markup-weight-bar,.markup-weight-num{position:relative}.markup-weight:hover:before{background:var(--surface-hover)}.markup-weight-on:before{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent);inset:0}.markup-select{border:1px solid var(--border);background:var(--surface);width:100%;height:26px;color:var(--text);border-radius:6px;padding:0 4px;font-size:12px}.markup-select:focus{border-color:var(--accent);outline:none}.markup-weight-num{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:9px;line-height:1}.markup-weight-on .markup-weight-num{color:var(--text)}.markup-weight-bar{border-radius:4px;width:17px;min-height:1px;display:block}.markup-custom{border:1px solid var(--border);cursor:pointer;background:linear-gradient(90deg,#e5484d,#ecc94b,#30a46c,#3e8ef7,#8e4ec6);border-radius:5px;width:100%;height:18px;margin-top:3px;display:block;position:relative;overflow:hidden}.markup-custom:after{content:"";background:var(--swatch);border-radius:3px;width:18px;position:absolute;inset:3px 3px 3px auto;box-shadow:0 0 0 1px #00000059}.markup-custom input{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.markup-opacity{align-items:center;gap:5px;width:100%;display:flex}.markup-opacity input{min-width:0;height:14px;accent-color:var(--accent);cursor:pointer;flex:1}.markup-scrub{background:var(--surface-sunken);border:1px solid var(--border);cursor:pointer;touch-action:none;border-radius:7px;flex:1;min-width:0;height:14px;position:relative}.markup-scrub-fill{background:var(--accent);opacity:.35;pointer-events:none;border-radius:7px;position:absolute;inset:0 auto 0 0}.markup-scrub-thumb{background:var(--accent);pointer-events:none;width:14px;height:14px;box-shadow:0 0 0 2px var(--surface-raised);border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.markup-opacity-value{font-variant-numeric:tabular-nums;color:var(--text-muted);text-align:right;min-width:28px;font-size:10px}.markup-cloud-value{color:var(--text-muted);place-items:center;display:grid}@media (width<=860px){.markup-btn{width:38px;height:38px}.markup-styles{width:124px}.markup-styles-wide{width:196px}.markup-swatch{max-width:34px}.markup-weight{height:40px}.markup-opacity input{height:22px}}.markup-textbox{width:auto;color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin:3px 0;padding:0;font-family:inherit;display:flex}.markup-textbox-sample{border:1px solid;border-radius:3px;padding:1px 5px;font-size:10.5px;line-height:1.25;transition:box-shadow .12s,border-color .12s;display:block}.markup-textbox:hover,.markup-textbox-on{color:var(--text)}.markup-textbox-on .markup-textbox-sample{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft), 0 0 7px 2px var(--accent-ring)}@media (width<=860px){.markup-textbox-sample{padding:2px 7px;font-size:12px}}.markup-swatch-mine:after{width:20px;height:20px;box-shadow:0 0 0 1px var(--surface-raised) inset}.context-menu{z-index:6;border:1px solid var(--border);background:var(--surface-raised);border-radius:9px;flex-direction:column;min-width:160px;padding:4px;display:flex;position:fixed;box-shadow:0 2px 14px #00000052}.context-menu-sep{background:var(--border);height:1px;margin:4px 6px}.context-menu-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px 10px;font-size:13px}.context-menu-item:hover:not(:disabled){background:var(--surface-hover)}.context-menu-item:disabled{color:var(--text-muted);cursor:default}.context-menu-item-danger:not(:disabled){color:var(--danger)}.context-menu-info{color:var(--text-muted);white-space:nowrap;cursor:default;padding:6px 12px 7px;font-size:12px;line-height:1.35}.save-state{white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.save-state-quiet{color:var(--text-muted)}.save-state-problem{color:var(--danger);font-weight:600}.save-state-retry{color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:6px;padding:1px 6px;font-weight:500}.save-state-retry:hover{background:var(--surface-hover)}.scale-bar{z-index:4;border:1px solid var(--border);background:var(--surface-raised);white-space:nowrap;border-radius:9px;align-items:center;gap:6px;max-width:calc(100% - 28px);padding:5px 8px;font-size:12px;display:flex;position:absolute;bottom:14px;left:50%;overflow-x:auto;transform:translate(-50%);box-shadow:0 2px 14px #00000052}.scale-bar .ui-grip{z-index:1;background:var(--surface-raised);position:sticky;left:0}.scale-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11px;font-weight:600}.scale-hint{color:var(--text-muted)}.scale-select,.scale-input{border:1px solid var(--border);background:var(--surface);height:24px;color:var(--text);border-radius:6px;padding:0 6px;font-family:inherit;font-size:12px}.scale-input{width:96px}.scale-btn{border:1px solid var(--border);background:var(--surface);height:24px;color:var(--text);cursor:pointer;border-radius:6px;padding:0 9px;font-size:12px}.scale-btn:hover:not(:disabled){background:var(--surface-hover)}.scale-btn:disabled{opacity:.4;cursor:default}.scale-btn-found{border-color:var(--accent);background:var(--accent-soft)}.scale-btn-go{background:var(--accent);color:var(--accent-text);border-color:#0000;font-weight:500}.scale-found{color:var(--text-muted);font-variant-numeric:tabular-nums}.scale-warn{border:1px solid var(--accent);background:var(--accent-soft);color:var(--text);font-variant-numeric:tabular-nums;border-radius:5px;padding:2px 8px;font-size:11px;font-weight:700;animation:1.9s ease-out infinite scale-warn-pulse}@keyframes scale-warn-pulse{0%{box-shadow:0 0 0 0 var(--accent-ring)}70%{box-shadow:0 0 0 5px #0000}to{box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.scale-warn{box-shadow:0 0 0 3px var(--accent-ring);animation:none}}.scale-divider{background:var(--border);width:1px;height:18px;margin:0 2px}.scale-group{gap:1px;display:flex}.scale-select-narrow{width:76px}.scale-icon{width:30px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;display:grid}.scale-icon:hover{background:var(--surface-hover);color:var(--text)}.scale-icon-on{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.scale-warn-click{cursor:pointer}.scale-warn-click:hover,.scale-warn-click:focus-visible{background:var(--accent);color:var(--accent-text);box-shadow:0 0 0 3px var(--accent-ring);animation:none}.scale-controls{flex-direction:column;align-items:stretch;gap:4px;width:100%;display:flex}.scale-controls .scale-divider{display:none}.scale-controls .scale-label{padding-top:2px}.scale-controls .scale-btn,.scale-controls .scale-warn,.scale-controls .scale-input{box-sizing:border-box;width:100%}.scale-controls .scale-hint{font-size:11px;line-height:1.35}.roster{align-items:center;padding-left:4px;display:flex;position:relative}.roster-chip{box-sizing:border-box;border:1.5px solid var(--border);background:var(--surface);width:24px;height:24px;color:var(--text);font:inherit;letter-spacing:.02em;cursor:pointer;border-radius:50%;flex:none;place-items:center;font-size:10px;font-weight:600;line-height:1;display:grid}.roster-chip+.roster-chip{box-shadow:0 0 0 2px var(--surface-raised);margin-left:-6px}.roster-chip:hover,.roster-chip-open{z-index:1;background:var(--surface-hover);position:relative}.roster-chip-open{box-shadow:0 0 0 2px var(--accent)}.roster-chip-pending{opacity:.6;border-style:dashed}.roster-chip-more{color:var(--text-muted);border-style:solid;font-size:10px}.roster-chip-inline{box-shadow:none;cursor:inherit;margin-left:0}.roster-pop{z-index:40;border:1px solid var(--border);background:var(--surface-raised);text-align:left;border-radius:10px;min-width:180px;max-width:260px;padding:9px 11px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #00000052}.roster-pop-name{overflow-wrap:anywhere;font-size:13px;font-weight:600}.roster-pop-you{color:var(--text-muted);font-weight:400}.roster-pop-line{color:var(--text-muted);overflow-wrap:anywhere;margin-top:2px;font-size:12px}.roster-pop-role{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-top:6px;font-size:11px}.roster-pop-standing{color:var(--text-muted);margin-top:6px;font-size:11px}.roster-pop-list{max-height:min(50vh,300px);padding:5px;overflow-y:auto}.roster-row{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:7px;padding:4px 5px;display:flex}.roster-row:hover{background:var(--surface-hover)}.roster-row-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.roster-editable{cursor:text;border-radius:4px;margin:-1px -3px;padding:1px 3px;display:inline-block}.roster-editable:hover{background:var(--surface-hover);box-shadow:inset 0 -1px 0 var(--text-muted)}.roster-unset{color:var(--text-muted);font-style:italic}.roster-edit{background:var(--surface-hover);width:100%;box-shadow:inset 0 0 0 1px var(--accent-ring);color:var(--text);font:inherit;border:none;border-radius:4px;outline:none;margin:-1px -3px;padding:1px 3px;display:inline-block}.roster-edit:disabled{opacity:.6}.roster-pop-company{margin-top:3px}.roster-pop-problem{color:var(--danger);overflow-wrap:anywhere;margin-top:6px;font-size:12px}.roster-pencil{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:5px;padding:0 3px;font-size:11px;line-height:1}.roster-pencil:hover{background:var(--surface-hover);color:var(--accent)}.app{background:var(--surface);height:100svh;color:var(--text);flex-direction:column;display:flex}.app-bar{padding:8px 12px;padding-top:max(8px, env(safe-area-inset-top));border-bottom:1px solid var(--border);background:var(--surface-raised);align-items:center;gap:8px;display:flex;position:relative}.app-title{letter-spacing:-.01em;margin-right:4px;font-size:15px;font-weight:600}.app-bar-spacer{flex:1}.app-bar-nav{align-items:center;gap:2px;display:flex}.app-bar-nav button{border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--text);cursor:pointer;border-radius:7px;place-items:center;font-size:17px;line-height:1;display:grid}.app-bar-nav button:hover:not(:disabled){background:var(--surface-hover)}.app-bar-nav button:disabled{opacity:.35;cursor:default}.app-page-count{text-align:center;font-variant-numeric:tabular-nums;min-width:62px;color:var(--text-muted);font-size:13px}.app-toggle{border:1px solid var(--border);background:var(--surface);height:30px;color:var(--text-muted);cursor:pointer;border-radius:7px;padding:0 11px;font-size:13px}.app-toggle:hover{background:var(--surface-hover)}.app-toggle-on{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.app-open{background:var(--accent);height:30px;color:var(--accent-text);cursor:pointer;border:1px solid #0000;border-radius:7px;padding:0 13px;font-size:13px;font-weight:500}.app-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex}.app-empty-title{margin:0;font-size:17px;font-weight:600}.app-empty-hint,.app-error{color:var(--text-muted);max-width:42ch;margin:0;font-size:14px}.app-error{color:var(--danger)}.workspace{flex:1;min-height:0;display:flex;position:relative}.panel{background:var(--surface-raised);flex-direction:column;flex:none;min-height:0;display:flex}.panel-sheets{border-inline:1px solid var(--border);width:176px}.panel-comments{border-inline:1px solid var(--border);width:288px}.panel-head{border-bottom:1px solid var(--border);align-items:center;gap:4px;padding:8px 8px 8px 12px;display:flex}.panel-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);flex:1;font-size:12px;font-weight:600}.panel-action{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;place-items:center;font-size:14px;line-height:1;display:grid}.panel-action:hover{background:var(--surface-hover);color:var(--text)}.viewer-wrap{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}@media (width<=860px){.panel{z-index:5;position:absolute;top:0;bottom:0;box-shadow:0 0 24px #00000059}.panel-sheets{left:0}.panel-comments{width:min(88vw,320px);right:0}}.app-files-pop{z-index:40;border:1px solid var(--border);background:var(--surface-raised);border-radius:12px;flex-direction:column;width:330px;max-width:calc(100vw - 20px);max-height:min(60vh,520px);display:flex;position:absolute;top:calc(100% + 6px);right:10px;overflow:hidden;box-shadow:0 12px 32px #00000052}.app-empty-drop{width:min(420px,100%);margin-top:10px}.app-files-open{border-bottom:1px solid var(--border);margin-bottom:10px;padding:0 0 10px}.app-files-choose{border:1px solid var(--border);background:var(--surface-raised);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:8px;padding:8px 10px;font-size:13px}.app-files-choose:hover{background:var(--surface-hover);border-color:var(--accent)}.app-files-note{color:var(--text-muted);margin:5px 2px 0;font-size:11px;line-height:1.4}.app-inside{border:1px solid var(--accent);color:var(--accent);white-space:nowrap;border-radius:999px;align-items:baseline;gap:8px;margin-left:12px;padding:3px 10px;font-size:12px;display:inline-flex}.app-inside-out{color:var(--text-muted);font-size:11px}.settabs{flex:0 auto;align-items:center;gap:6px;min-width:0;display:flex}.settab-back{color:var(--text-muted);white-space:nowrap;flex:none;align-items:center;padding-right:4px;font-size:13px;text-decoration:none;display:flex}.settab-back:hover{color:var(--text)}.settab-row{flex:0 auto;align-items:center;gap:4px;min-width:0;display:flex}.settab{border:1px solid var(--border);background:var(--surface);min-width:78px;max-width:200px;height:30px;color:var(--text-muted);border-radius:7px;flex:0 auto;align-items:center;display:flex}.settab:hover{background:var(--surface-hover);color:var(--text)}.settab-on,.settab-on:hover{border-color:var(--accent);background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--accent)}.settab-name{min-width:0;color:inherit;font:inherit;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:none;padding:0 4px 0 10px;font-size:13px;line-height:1;overflow:hidden}.settab-close{width:18px;height:18px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;margin-right:5px;font-size:14px;line-height:1;display:flex}.settab:hover .settab-close,.settab-on .settab-close{opacity:1}.settab-close:hover{background:var(--surface-hover);color:var(--text)}.settab-add{flex:none;align-items:center;display:flex;position:relative}.settab-plus{min-width:30px;height:30px;color:var(--text-muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex}.settab-plus-wide{padding:0 11px;font-size:13px}.settab-plus:hover{background:var(--surface-hover);border-color:var(--border);color:var(--text)}.settab-menu{z-index:60;border:1px solid var(--border);background:var(--surface-raised);border-radius:9px;min-width:240px;max-height:60vh;padding:4px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 10px 30px #00000059}.settab-menu-head{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin:4px 8px 2px;font-size:10px}.settab-menu-item{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;padding:7px 9px;display:flex}.settab-menu-item:hover{background:var(--surface-hover)}.settab-menu-name{font-size:13px}.settab-menu-note{color:var(--text-muted);font-size:11px}.settab-menu-sep{background:var(--border);height:1px;margin:4px 2px}.settab-none{color:var(--text-muted);max-width:24em;margin:0;padding:8px 9px;font-size:12px;line-height:1.4}.sets{background:var(--surface);flex-direction:column;height:100svh;display:flex}.sets-stack{flex:auto;min-height:0;position:relative}.sets-pane{position:absolute;inset:0}.sets-pane[data-showing=no]{visibility:hidden;pointer-events:none}.boot{background:var(--surface);min-height:100svh;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;font-size:14px;display:flex}.boot p{max-width:34em;margin:0;line-height:1.5}.boot-problem{color:var(--text)}.boot-problem p{color:var(--danger)}.boot-action{border:1px solid var(--border);background:var(--surface-raised);height:32px;color:var(--text);cursor:pointer;border-radius:8px;align-items:center;padding:0 12px;font-family:inherit;font-size:13px;text-decoration:none;display:inline-flex}.boot-action:hover{background:var(--surface-hover)}.app-crumb-back{color:var(--text-muted);white-space:nowrap;font-size:13px;text-decoration:none}.app-crumb-back:hover{color:var(--text)}.app-crumb-rev{background:var(--accent-soft);white-space:nowrap;border-radius:6px;padding:2px 7px;font-size:12px}
