@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600&display=swap";*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{-webkit-font-smoothing:antialiased;overflow:hidden}.plancanvas{width:100%;height:100%}.thumb .plancanvas{aspect-ratio:4/3}.planwrap .plancanvas{aspect-ratio:7/6}.stand{z-index:40;background:var(--paper);color:var(--ink);font-family:var(--sans);flex-direction:column;display:flex;position:fixed;inset:0}.stand-top{background:var(--panel);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:16px;height:54px;padding:0 16px;display:flex}.stand-top .title{font-size:14px;font-weight:600}.stand-top .title .bs{font-family:var(--mono);color:var(--ink-3);letter-spacing:.6px;font-size:10px;display:block}.stand-top .spacer{flex:1}.stand-prog{font-family:var(--mono);color:var(--ink-3);align-items:center;gap:11px;font-size:12px;display:flex}.stand-prog b{color:var(--ink)}.stand-prog .bar{background:var(--field);border:1px solid var(--line);border-radius:99px;width:130px;height:6px;overflow:hidden}.stand-prog .bar i{background:var(--accent);height:100%;transition:width .35s;display:block}.stand-btn{border:1px solid var(--line);background:var(--panel);height:34px;color:var(--ink);font:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:7px;padding:0 13px;font-size:12.5px;font-weight:500;display:inline-flex}.stand-btn:hover{background:var(--field)}.stand-btn svg{width:14px;height:14px}.stand-btn.ghost{color:var(--ink-3);background:0 0;border-color:#0000}.stand-btn.ghost:hover{color:var(--ink);background:var(--field)}.stand-work{flex:1;grid-template-columns:212px 1fr 312px;min-height:0;display:grid}.stand-col{flex-direction:column;min-height:0;display:flex}.stand-film{border-right:1px solid var(--line);background:var(--panel)}.stand-film .ch{flex:none;justify-content:space-between;align-items:center;padding:13px 14px 9px;display:flex}.stand-film .ch .t{font-family:var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:600}.stand-film .ch .legend{gap:7px;display:flex}.stand-film .ch .legend i{border-radius:99px;width:9px;height:9px;display:inline-block}.stand-film .ch .legend i.b{background:var(--bad,#d8462b)}.stand-film .ch .legend i.w{background:var(--warn,#cf9320)}.stand-film .ch .legend i.g{background:var(--ok,#2e9e6b)}.stand-list{flex-direction:column;flex:1;gap:8px;padding:4px 12px 16px;display:flex;overflow-y:auto}.thumb{border:1px solid var(--line);background:var(--field);cursor:pointer;border-radius:10px;padding:8px;transition:all .13s;position:relative}.thumb:hover{border-color:var(--accent-soft,#8aa9ee)}.thumb.sel{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-tint,#2a5bd71a)}.thumb .tn{font-family:var(--mono);color:var(--ink-3);background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:1px 5px;font-size:10px;position:absolute;top:6px;left:8px}.thumb .st{border:1.5px solid var(--ink-3);background:0 0;border-radius:99px;width:11px;height:11px;position:absolute;top:7px;right:8px}.thumb .st.b{background:var(--bad,#d8462b);border-color:var(--bad,#d8462b)}.thumb .st.w{background:var(--warn,#cf9320);border-color:var(--warn,#cf9320)}.thumb .st.g{background:var(--ok,#2e9e6b);border-color:var(--ok,#2e9e6b)}.stand-stage{background:var(--paper);justify-content:center;align-items:center;position:relative;overflow:hidden}.stage-head{z-index:2;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 18px;display:flex;position:absolute;top:0;left:0;right:0}.stage-head h2{margin:0 0 3px;font-size:15px;font-weight:600}.stage-head .dims{font-family:var(--mono);color:var(--ink-3);font-size:11.5px}.intent{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:340px;display:flex}.intent .chip{color:var(--ink-2,#4f5660);background:var(--panel);border:1px solid var(--line);white-space:nowrap;border-radius:99px;padding:3px 9px;font-size:11px}.planwrap{background:var(--panel);border:1px solid var(--line);width:min(560px,78%);box-shadow:var(--shadow);border-radius:14px;padding:26px}.stage-nav{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:99px;align-items:center;gap:10px;padding:5px 6px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.stage-nav button{cursor:pointer;width:32px;height:32px;color:var(--ink-2,#4f5660);background:0 0;border:0;border-radius:99px;place-items:center;display:grid}.stage-nav button:hover{background:var(--field);color:var(--ink)}.stage-nav svg{width:18px;height:18px}.stage-nav .pos{font-family:var(--mono);color:var(--ink-3);text-align:center;min-width:56px;padding:0 4px;font-size:12px}.stand-judge{border-left:1px solid var(--line);background:var(--panel);overflow-y:auto}.jpad{flex-direction:column;gap:18px;padding:16px 16px 22px;display:flex}.jpad .sub{font-family:var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px;font-size:10px;font-weight:600}.jpad .sub .muted{color:var(--ink-3);text-transform:none;letter-spacing:0;font-weight:400}.verdict{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.vbtn{border:1px solid var(--line);background:var(--field);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:13px 6px 11px;transition:all .12s;display:flex;position:relative}.vbtn:hover{border-color:var(--ink-3)}.vbtn .ic{width:22px;height:22px}.vbtn .lb{color:var(--ink-2,#4f5660);font-size:12px;font-weight:600}.vbtn .k{font-family:var(--mono);color:var(--ink-3);font-size:9px;position:absolute;top:5px;right:6px}.vbtn.bad.on{background:var(--bad-tint,#d8462b1f);border-color:var(--bad,#d8462b)}.vbtn.bad.on .lb,.vbtn.bad.on .ic{color:var(--bad,#d8462b)}.vbtn.soso.on{background:var(--warn-tint,#cf932024);border-color:var(--warn,#cf9320)}.vbtn.soso.on .lb,.vbtn.soso.on .ic{color:var(--warn,#cf9320)}.vbtn.good.on{background:var(--ok-tint,#2e9e6b1f);border-color:var(--ok,#2e9e6b)}.vbtn.good.on .lb,.vbtn.good.on .ic{color:var(--ok,#2e9e6b)}.note{resize:vertical;border:1px solid var(--line);background:var(--field);width:100%;min-height:128px;color:var(--ink);font-family:var(--sans);border-radius:8px;padding:10px 11px;font-size:12.5px;line-height:1.5}.note::placeholder{color:var(--ink-3);line-height:1.5}.note:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint,#2a5bd71a);outline:none}.signal{border:1px solid var(--line);background:var(--field);border-radius:12px;padding:14px}.signal .sh{align-items:center;gap:8px;margin-bottom:3px;display:flex}.signal .sh .dot{background:var(--accent);border-radius:99px;width:7px;height:7px}.signal .sh h3{margin:0;font-size:12.5px;font-weight:600}.signal .cap{color:var(--ink-3);margin:0 0 12px;font-size:11px;line-height:1.45}.corpus-n{font-family:var(--mono);color:var(--ink-3);margin-bottom:10px;font-size:11px}.corpus-n b{color:var(--ink)}.cnote{color:var(--ink-2,#4f5660);border-top:1px solid var(--line);gap:8px;padding:8px 0;font-size:11.5px;line-height:1.45;display:flex}.cnote .ci{font-family:var(--mono);color:var(--ink-3);background:var(--panel);border:1px solid var(--line);border-radius:5px;flex:none;height:fit-content;padding:1px 5px;font-size:10px}.sigempty{color:var(--ink-3);text-align:center;padding:8px 2px;font-size:11.5px;line-height:1.5}.khint{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.kbd{font-family:var(--mono);color:var(--ink-3);border:1px solid var(--line);background:var(--field);border-bottom-width:2px;border-radius:5px;padding:1px 5px;font-size:10px}:root{--paper:#eef0f2;--panel:#fff;--panel-line:#181c221a;--ink:#181c22;--ink-2:#4f5660;--ink-3:#868d97;--accent:#2a5bd7;--accent-2:#1c43ad;--danger:#d8462b;--ok:#1f9d5b;--field:#f5f6f8;--accent-tint:#2a5bd71a;--shadow:0 1px 2px #181c220f,0 8px 24px #181c221f;--shadow-sm:0 1px 2px #181c220f,0 4px 12px #181c2217;--mono:"IBM Plex Mono",ui-monospace,monospace;--sans:"IBM Plex Sans",system-ui,sans-serif}button,input,select,textarea{color:inherit;font-family:inherit}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#14171c;--panel:#21262e;--field:#1a1e24;--panel-line:#ebeef31c;--ink:#e7eaef;--ink-2:#a4adb8;--ink-3:#6d7681;--accent:#4a76e6;--accent-2:#9bb8ff;--danger:#f0604a;--ok:#34c77b;--accent-tint:#4a76e633;--shadow:0 1px 2px #00000080,0 10px 28px #0000008c;--shadow-sm:0 1px 2px #0006,0 4px 14px #0006}.shema-stage{background-color:var(--paper);font-family:var(--sans);color:var(--ink);position:fixed;inset:0}.board-wrap{z-index:5;position:absolute;top:18px;left:18px;right:300px}.board-row{align-items:center;gap:8px;min-width:0;display:flex}.board{background:var(--panel);border:1px solid var(--panel-line);box-shadow:var(--shadow);border-radius:11px;flex:none;align-items:center;gap:6px;padding:5px 7px;display:flex}.board .board-open{cursor:pointer;font-family:var(--sans);background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:3px 6px;transition:all .15s;display:flex}.board .board-open:hover{background:var(--paper)}.board .mark{background:var(--accent);color:#fff;width:18px;height:18px;font-family:var(--mono);border-radius:5px;place-items:center;font-size:11px;font-weight:600;display:grid}.board .bname{letter-spacing:.2px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:184px;font-size:13px;font-weight:600;overflow:hidden}.board .chev{color:var(--ink-3);font-size:11px}.sheet-tabs{background:var(--panel);border:1px solid var(--panel-line);min-width:0;box-shadow:var(--shadow);scrollbar-width:thin;border-radius:11px;align-items:center;gap:5px;padding:4px;display:flex;overflow:auto hidden}.sheet-tabs::-webkit-scrollbar{height:6px}.sheet-tabs::-webkit-scrollbar-thumb{background:var(--panel-line);border-radius:3px}.sheet-tab{cursor:pointer;max-width:188px;color:var(--ink-2);font-family:var(--sans);background:0 0;border:1px solid #0000;border-radius:8px;flex:none;align-items:center;gap:7px;padding:5px 8px;font-size:12.5px;font-weight:500;transition:all .12s;display:flex}.sheet-tab:hover{background:var(--paper)}.sheet-tab .st-ic{width:15px;height:15px;color:var(--ink-3);flex:none;display:flex}.sheet-tab .st-ic svg{width:15px;height:15px}.sheet-tab .st-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sheet-tab .st-close{width:17px;height:17px;color:var(--ink-3);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:5px;flex:none;place-items:center;font-size:12px;line-height:1;transition:all .12s;display:grid}.sheet-tab:hover .st-close{opacity:1}.sheet-tab .st-close:hover{background:var(--panel-line);color:var(--ink)}.sheet-tab.cur{background:var(--accent-tint,#2a5bd71a);border-color:var(--accent);color:var(--accent-2,#1c43ad);font-weight:600}.sheet-tab.cur .st-ic{color:var(--accent)}.sheet-tab.cur .st-close{opacity:1;color:var(--accent)}.pages .vghead-plans{justify-content:space-between;align-items:center;display:flex}.pg-storeys{border:1px solid var(--panel-line);color:var(--ink-2);cursor:pointer;font-family:var(--sans);letter-spacing:.2px;text-transform:none;background:0 0;border-radius:7px;align-items:center;gap:5px;padding:3px 8px;font-size:10.5px;font-weight:600;transition:all .12s;display:flex}.pg-storeys:hover{background:var(--paper);color:var(--ink)}.pg-storeys svg{width:13px;height:13px}.pg-storeys.on{background:var(--accent-tint,#2a5bd71a);border-color:var(--accent);color:var(--accent-2,#1c43ad)}.storeys-pop{z-index:30;background:var(--panel);border:1px solid var(--panel-line);min-width:230px;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;padding:6px;display:flex;position:absolute;top:116px;left:378px}.storeys-pop .sp-head{letter-spacing:1px;text-transform:uppercase;color:var(--ink-3);padding:7px 10px 6px;font-size:10px;font-weight:600}.storeys-pop .sm-item{text-align:left;cursor:pointer;width:100%;font-family:var(--sans);color:var(--ink);background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;display:flex}.storeys-pop .sm-item:hover{background:var(--paper)}.storeys-pop .sm-chk{width:13px;color:var(--accent);visibility:hidden}.storeys-pop .sm-item.on .sm-chk{visibility:visible}.storeys-pop .sm-item.on{color:var(--accent-2,#1c43ad);font-weight:600}.storeys-pop .sm-sep{background:var(--panel-line);height:1px;margin:5px 8px}.storeys-pop .sm-del{color:var(--ink-3);cursor:pointer;visibility:hidden;background:0 0;border:0;border-radius:6px;margin-left:auto;padding:2px 5px;font-size:11px}.storeys-pop .sm-item:hover .sm-del{visibility:visible}.storeys-pop .sm-del:hover{color:var(--danger);background:var(--panel)}.storeys-pop .sm-act{color:var(--ink-2)}.storeys-pop .sm-note{color:var(--ink-3);padding:6px 10px 4px;font-size:10.5px}.build-menu{background:var(--panel);border:1px solid var(--panel-line);width:248px;box-shadow:var(--shadow);z-index:6;border-radius:11px;padding:6px;position:absolute;top:56px;left:66px}.build-menu .bm-head{letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-3);padding:6px 8px 8px;font-size:11px;font-weight:600}.build-menu .bm-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;gap:2px;width:100%;padding:8px;transition:all .12s;display:flex}.build-menu .bm-item:hover{background:var(--paper)}.build-menu .bm-label{color:var(--ink);font-size:13px;font-weight:600}.build-menu .bm-hint{font-family:var(--mono);color:var(--ink-3);font-size:10.5px}.rail-build{display:flex;position:relative}.tool.build svg{color:var(--accent)}.tool.build:hover{background:var(--accent-tint,#2a5bd71a)}.tool.build.on svg{color:#fff}.build-menu.in-rail{z-index:30;top:auto;bottom:-4px;left:52px}.projects{background:var(--panel);border:1px solid var(--panel-line);width:288px;box-shadow:var(--shadow);border-radius:14px;animation:.16s cubic-bezier(.2,.8,.2,1) both pmenu;position:absolute;top:56px;left:66px;overflow:hidden}@keyframes pmenu{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.projects .phead{border-bottom:1px solid var(--panel-line);justify-content:space-between;align-items:center;padding:12px 14px 10px;display:flex}.projects .phead .ttl{letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.projects .phead .new{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;place-items:center;width:26px;height:26px;font-size:18px;line-height:1;transition:all .12s;display:grid}.projects .phead .new:hover{background:var(--accent-2,#1c43ad)}.plist{max-height:312px;padding:6px;overflow:auto}.pempty{text-align:center;color:var(--ink-3);padding:18px 12px;font-size:12px}.pitem{cursor:pointer;border-radius:9px;align-items:center;gap:9px;padding:8px 9px;transition:all .12s;display:flex}.pitem:hover{background:var(--paper)}.pitem.cur{background:#2a5bd71a}.pitem .dot{background:0 0;border-radius:50%;flex:none;width:7px;height:7px}.pitem.cur .dot{background:var(--accent)}.pitem .meta{flex:1;min-width:0}.pitem .pn{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.pitem.cur .pn{color:var(--accent-2,#1c43ad)}.pitem .pt{font-family:var(--mono);color:var(--ink-3);margin-top:2px;font-size:10.5px}.pitem .acts{opacity:0;gap:2px;transition:all .12s;display:flex}.pitem:hover .acts,.pitem.cur .acts{opacity:1}.pitem .acts button{width:25px;height:25px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;transition:all .12s;display:grid}.pitem .acts button:hover{background:var(--panel);color:var(--ink)}.pitem .acts button.del:hover{color:var(--danger)}.pitem .acts svg{width:15px;height:15px}.pitem.editing{background:var(--paper)}.pitem .rn{border:1px solid var(--accent);min-width:0;font-family:var(--sans);color:var(--ink);background:var(--panel);border-radius:7px;outline:none;flex:1;padding:5px 8px;font-size:13px}.pfoot{border-top:1px solid var(--panel-line);padding:6px}.pfoot button{width:100%;color:var(--ink-2);font-family:var(--sans);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;padding:9px 10px;font-size:12.5px;transition:all .12s;display:flex}.pfoot button:hover{background:var(--paper);color:var(--ink)}.pfoot svg{flex:none;width:16px;height:16px}.toolbar{background:var(--panel);border:1px solid var(--panel-line);box-shadow:var(--shadow);border-radius:11px;align-items:center;gap:3px;padding:4px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.toolbar .div{background:var(--panel-line);width:1px;height:20px;margin:0 5px}.tool{width:42px;height:42px;color:var(--ink-2);cursor:pointer;font-family:var(--mono);background:0 0;border:0;border-radius:10px;place-items:center;font-size:15px;transition:all .15s;display:grid}.tool:hover{background:var(--paper);color:var(--ink)}.tool.on{background:var(--accent);color:#fff}.tool:disabled{opacity:.45;cursor:not-allowed}.toolbar .tool{border-radius:8px;width:32px;height:32px}.toolbar .tool svg{width:18px;height:18px}.zoom{background:var(--panel);border:1px solid var(--panel-line);box-shadow:var(--shadow);border-radius:11px;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;bottom:22px;right:18px}.zoom button{min-width:30px;height:30px;color:var(--ink-2);cursor:pointer;font-size:16px;font-family:var(--sans);background:0 0;border:0;border-radius:8px;place-items:center;transition:all .15s;display:grid}.zoom button:hover{background:var(--paper);color:var(--ink)}.zoom .pct{font-family:var(--mono);min-width:52px;padding:0 6px;font-size:12px;font-weight:500}.status{max-width:300px;line-height:1.45;font-family:var(--mono);color:var(--ink-3);background:var(--panel);border:1px solid var(--panel-line);box-shadow:var(--shadow);border-radius:9px;padding:7px 11px;font-size:11px;position:absolute;bottom:26px;left:18px}.status b{color:var(--accent)}.toaster{z-index:40;flex-direction:column;align-items:flex-end;gap:9px;display:flex;position:fixed;bottom:74px;right:18px}.toast{background:var(--panel);border:1px solid var(--panel-line);box-shadow:var(--shadow);cursor:default;border-radius:10px;align-items:center;gap:9px;max-width:360px;padding:8px 12px;animation:.22s cubic-bezier(.2,.8,.2,1) toastIn;display:flex}.toast.out{animation:.2s ease-in forwards toastOut}.toast .ic{flex:none;width:15px;height:15px}.toast.ok .ic{color:var(--ok)}.toast.err .ic{color:var(--danger)}.toast.info .ic{color:var(--accent)}.toast .msg{color:var(--ink);font-size:12.5px;font-weight:500}.toast .sub{color:var(--ink-3);font-size:12px}.toast .sub:before{content:"· "}.toast .act{color:var(--accent);font-family:var(--sans);cursor:pointer;background:0 0;border:0;border-radius:6px;margin-left:4px;padding:3px 5px;font-size:12px;font-weight:600}.toast .act:hover{background:var(--field)}@keyframes toastIn{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;margin-bottom:-44px;transform:translate(22px)scale(.98)}}.save-chip{width:26px;height:26px;color:var(--ok);cursor:default;border-radius:7px;place-items:center;margin-left:1px;transition:all .2s;display:grid}.save-chip svg{width:15px;height:15px}.save-chip.saving{color:var(--accent)}.save-chip.saving svg{transform-origin:50%;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.props{background:var(--panel);border:1px solid var(--panel-line);width:236px;box-shadow:var(--shadow);border-radius:14px;position:absolute;top:74px;right:18px;overflow:hidden}.props h3{letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--panel-line);align-items:center;gap:8px;margin:0;padding:13px 15px 11px;font-size:11px;font-weight:600;display:flex}.props h3 .swatch{background:var(--accent);border-radius:3px;width:9px;height:9px}.prow{border-bottom:1px solid var(--panel-line);justify-content:space-between;align-items:center;gap:10px;padding:9px 15px;display:flex}.prow:last-child{border-bottom:0}.prow .k{color:var(--ink-2);white-space:nowrap;font-size:12px}.prow .v{font-family:var(--mono);text-align:right;font-size:13px}.field{background:var(--field);border:1px solid var(--panel-line);border-radius:8px;align-items:center;gap:6px;padding:5px 9px;display:flex}.field input{width:54px;font-family:var(--mono);color:var(--ink);text-align:right;background:0 0;border:0;font-size:13px}.field input:focus{outline:none}.field .u{font-family:var(--mono);color:var(--ink-3);font-size:11px}.field .spin{flex-direction:column;margin-left:4px;display:flex}.field .spin button{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:3px;place-items:center;width:15px;height:9px;padding:0;font-size:7px;line-height:1;display:grid}.field .spin button:hover{background:var(--panel);color:var(--accent)}.field .spin button:active{color:var(--accent-2,#1c43ad)}.seg{background:var(--field);border:1px solid var(--panel-line);border-radius:8px;gap:3px;padding:3px;display:flex}.seg button{font-family:var(--mono);color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 9px;font-size:11px}.seg button.on{background:var(--accent);color:#fff}.prow.stack{flex-direction:column;align-items:stretch;gap:7px}.prow.stack .seg{width:100%}.prow.stack .seg button{text-align:center;flex:1}.props .hintrow{font-family:var(--sans);color:var(--ink-3);font-size:11px;line-height:1.35}.rkinds{border-bottom:1px solid var(--panel-line);grid-template-columns:repeat(5,1fr);gap:4px;padding:9px 13px;display:grid}.rk{border:1px solid var(--panel-line);background:var(--field);cursor:pointer;color:var(--ink-2);font-family:var(--sans);border-radius:8px;flex-direction:column;align-items:center;gap:3px;padding:6px 2px 5px;font-size:8.5px;display:flex}.rk svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linejoin:round;width:26px;height:17px}.rk:hover{color:var(--ink)}.rk.on{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.swatches{gap:6px;display:flex}.swatches span{border:1px solid var(--panel-line);cursor:pointer;border-radius:5px;width:18px;height:18px}.swatches span.on{box-shadow:0 0 0 2px var(--accent)}.field input.text{text-align:left;width:104px}.selbox{font-family:var(--mono);color:var(--ink);background:var(--field);border:1px solid var(--panel-line);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23868d97' stroke-width='1.5'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;border-radius:8px;max-width:118px;padding:5px 26px 5px 9px;font-size:12px}.selbox:focus{border-color:var(--accent);outline:none}.props button.danger{border:1px solid var(--danger);background:var(--panel);width:calc(100% - 30px);color:var(--danger);cursor:pointer;font-family:var(--sans);border-radius:9px;margin:11px 15px;padding:8px;font-size:12px;font-weight:500;display:block}.props button.danger:hover{background:var(--danger);color:#fff}.props button.primary{border:1px solid var(--accent);background:var(--panel);width:calc(100% - 30px);color:var(--accent);cursor:pointer;font-family:var(--sans);border-radius:9px;margin:11px 15px;padding:8px;font-size:12px;font-weight:500;display:block}.props button.primary:hover{background:var(--accent);color:#fff}.props button.primary+button.danger{margin-top:0}.rail{z-index:5;background:var(--panel);border:1px solid var(--panel-line);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;top:74px;left:18px}.rail-sep{background:var(--panel-line);height:1px;margin:3px 4px}.rail .ava{background:linear-gradient(135deg,var(--accent),#7aa0ec);border-radius:50%;width:24px;height:24px}.settings-menu{background:var(--panel);border:1px solid var(--panel-line);width:236px;box-shadow:var(--shadow);z-index:6;border-radius:12px;padding:8px;position:absolute;bottom:0;left:calc(100% + 10px)}.settings-menu .sm-head{letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-3);padding:4px 6px 8px;font-size:11px;font-weight:600}.settings-menu .sm-row{justify-content:space-between;align-items:center;gap:10px;padding:6px;display:flex}.settings-menu .sm-label{color:var(--ink-2);font-size:12px}.settings-menu .sm-foot{color:var(--ink-3);border-top:1px solid var(--panel-line);margin-top:4px;padding:8px 6px 4px;font-size:11px}.settings-menu .sm-account{border-top:1px solid var(--panel-line);margin-top:6px;padding-top:8px}.settings-menu .sm-email{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;padding:0 6px 8px;font-size:11.5px;overflow:hidden}.settings-menu .sm-logout{width:100%;color:var(--ink-2);font-family:var(--sans);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 6px;font-size:12.5px;font-weight:600;transition:all .12s;display:flex}.settings-menu .sm-logout:hover{background:var(--paper);color:var(--danger)}.settings-menu .sm-logout svg{flex:none;width:16px;height:16px}.settings-menu .sm-repair{border-top:1px solid var(--panel-line);margin-top:6px;padding-top:10px}.settings-menu .sm-repair-btn{border:1px solid var(--panel-line);background:var(--field);color:var(--ink-2);font-family:var(--mono);cursor:pointer;white-space:nowrap;border-radius:7px;padding:5px 10px;font-size:11px;transition:all .12s}.settings-menu .sm-repair-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.pages{z-index:5;background:var(--panel);border:1px solid var(--panel-line);width:286px;max-height:calc(100vh - 200px);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;display:flex;position:absolute;top:74px;left:84px;overflow:hidden}.pages h3{letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--panel-line);flex:none;align-items:center;gap:8px;margin:0;padding:13px 15px 11px;font-size:11px;font-weight:600;display:flex}.pages h3 .swatch{background:var(--accent);border-radius:3px;width:9px;height:9px}.pages .vlist{flex:1;padding:10px 8px;overflow:auto}.pages .vghead{letter-spacing:1px;text-transform:uppercase;color:var(--ink-3);padding:8px 10px 5px;font-size:10px;font-weight:600}.pages .vrow{cursor:pointer;width:100%;font-family:var(--sans);color:var(--ink);text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;padding:8px 10px;font-size:13px;display:flex}.pages .vrow:hover{background:var(--paper)}.pages .vrow.cur{background:#4a76e624}.pages .vrow.cur .vname{color:var(--accent-2,#1c43ad);font-weight:600}.pages .vrow svg{width:17px;height:17px;color:var(--ink-3);flex:none}.pages .vrow.cur svg{color:var(--accent)}.pages .vrow .vname{flex:1}.pages .vrow .vsub{font-family:var(--mono);color:var(--ink-3);font-size:10.5px}.pages .pfoot-note{color:var(--ink-3);border-top:1px solid var(--panel-line);flex:none;padding:9px 15px 11px;font-size:10.5px;line-height:1.45}.history{z-index:5;background:var(--panel);border:1px solid var(--panel-line);width:300px;max-height:calc(100vh - 150px);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;display:flex;position:absolute;top:74px;left:84px;overflow:hidden}.history h3{letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--panel-line);flex:none;align-items:center;gap:8px;margin:0;padding:13px 15px 11px;font-size:11px;font-weight:600;display:flex}.history h3 .swatch{background:var(--accent);border-radius:3px;width:9px;height:9px}.history .savebar{flex:none;padding:11px 12px 4px}.history .save-btn{border:1px solid var(--accent);background:var(--accent);color:#fff;width:100%;font-family:var(--sans);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 12px;font-size:12.5px;font-weight:600;transition:all .15s;display:flex}.history .save-btn:hover{filter:brightness(1.07)}.history .save-btn svg{width:15px;height:15px}.history .namedlg{border:1px solid var(--accent);border-radius:11px;padding:11px}.history .namedlg label{letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);margin-bottom:7px;font-size:10.5px;font-weight:600;display:block}.history .namedlg input{border:1px solid var(--panel-line);background:var(--field);width:100%;color:var(--ink);font-family:var(--sans);border-radius:8px;outline:none;padding:8px 10px;font-size:13px}.history .namedlg input:focus{border-color:var(--accent)}.history .namedlg .nd-row{justify-content:flex-end;gap:7px;margin-top:9px;display:flex}.history .namedlg .nd-row button{border:1px solid var(--panel-line);color:var(--ink-2);font-family:var(--sans);cursor:pointer;background:0 0;border-radius:8px;padding:6px 12px;font-size:12px;transition:all .15s}.history .namedlg .nd-row button:hover{background:var(--paper)}.history .namedlg .nd-row button.ok{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.history .namedlg .nd-row button.ok:hover{filter:brightness(1.07);background:var(--accent)}.history .vlist{flex:1;padding:4px 8px 8px;overflow:auto}.history .vghead{letter-spacing:1px;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;align-items:center;padding:10px 10px 5px;font-size:10px;font-weight:600;display:flex}.history .vghead .cnt{font-family:var(--mono);opacity:.8;font-size:10px}.history .hempty{color:var(--ink-3);padding:4px 10px 8px;font-size:11.5px}.history .vrow{cursor:pointer;text-align:left;width:100%;color:var(--ink);font-family:var(--sans);background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;transition:all .12s;display:flex}.history .vrow:hover{background:var(--paper)}.history .vrow .star{width:15px;height:15px;color:var(--accent);flex:none}.history .vrow .vname{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.history .vrow .vtime{font-family:var(--mono);color:var(--ink-3);font-size:10px}.history .vrow .act{opacity:0;flex:none;gap:2px;transition:all .12s;display:flex}.history .vrow:hover .act{opacity:1}.history .vrow .act button{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:24px;height:24px;display:grid}.history .vrow .act button:hover{background:var(--panel);color:var(--accent)}.history .vrow .act button.del:hover{color:var(--danger)}.history .vrow .act button svg{width:14px;height:14px}.history .steps{margin-top:2px}.history .smore{color:var(--ink-3);font-size:10.5px;font-family:var(--mono);padding:5px 10px 5px 30px}.history .step{cursor:pointer;text-align:left;width:100%;color:var(--ink);font-family:var(--sans);background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;padding:7px 10px 7px 12px;font-size:12.5px;transition:all .12s;display:flex;position:relative}.history .step:hover{background:var(--paper)}.history .step:before{content:"";background:var(--panel-line);width:2px;position:absolute;top:0;bottom:0;left:19px}.history .step:first-of-type:before{top:50%}.history .step:last-of-type:before{bottom:50%}.history .step .dot{z-index:1;background:var(--panel);border:2px solid var(--ink-3);border-radius:50%;flex:none;width:11px;height:11px;position:relative}.history .step .slabel{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.history .step .sseq{font-family:var(--mono);color:var(--ink-3);font-size:10px}.history .step.cur{background:#4a76e624}.history .step.cur .dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px #4a76e633}.history .step.cur .slabel{color:var(--accent-2);font-weight:600}.history .step.cur .here{letter-spacing:.6px;text-transform:uppercase;color:var(--accent);background:#4a76e629;border-radius:5px;margin-left:6px;padding:1px 6px;font-size:9.5px;font-weight:600}.history .step.future{opacity:.42}.history .step.future .slabel{font-style:italic}.history .step.future .dot{border-style:dashed}.history .step .vmark{color:var(--accent);opacity:.85;flex:none;width:13px;height:13px}.history .pfoot-note{color:var(--ink-3);border-top:1px solid var(--panel-line);flex:none;padding:9px 15px 11px;font-size:10.5px;line-height:1.45}.history .pfoot-note b{color:var(--ink-2)}.schedule{z-index:5;background:var(--panel);border:1px solid var(--panel-line);width:308px;box-shadow:var(--shadow);border-radius:14px;position:absolute;top:74px;left:84px;overflow:hidden}.schedule h3{letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--panel-line);align-items:center;gap:8px;margin:0;padding:13px 15px 11px;font-size:11px;font-weight:600;display:flex}.schedule h3 .swatch{background:var(--accent);border-radius:3px;width:9px;height:9px}.sempty{color:var(--ink-3);padding:16px 15px;font-size:11.5px;line-height:1.4}.shead{letter-spacing:.9px;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--panel-line);grid-template-columns:26px 1fr 76px;gap:9px;padding:8px 15px;font-size:9.5px;display:grid}.shead .a{text-align:right}.slist{max-height:344px;overflow:auto}.srow{cursor:pointer;border-bottom:1px solid var(--panel-line);grid-template-columns:26px 1fr 76px;align-items:center;gap:9px;padding:9px 15px;transition:all .12s;display:grid}.srow:last-child{border-bottom:0}.srow:hover{background:var(--paper)}.srow.on{background:#2a5bd71a}.srow .n{font-family:var(--mono);color:var(--ink-3);font-size:11px}.srow .nm{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:9px;font-size:13px;font-weight:500;display:flex;overflow:hidden}.srow .nm .sw{border:1px solid var(--panel-line);border-radius:3px;flex:none;width:10px;height:10px}.srow.on .nm{color:var(--accent-2,#1c43ad)}.srow .a{font-family:var(--mono);text-align:right;font-size:12px;font-weight:500}.sfoot{border-top:1px solid var(--panel-line);background:var(--field);justify-content:space-between;align-items:center;gap:10px;padding:11px 15px;display:flex}.sfoot .tot{color:var(--ink-2);font-size:12px}.sfoot .tot b{font-family:var(--mono);color:var(--ink);font-weight:600}.sfoot .exp{border:1px solid var(--panel-line);background:var(--panel);font-family:var(--sans);color:var(--ink-2);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:11.5px;transition:all .12s;display:flex}.sfoot .exp:hover{border-color:var(--accent);color:var(--accent)}.sfoot .exp svg{width:13px;height:13px}.project{z-index:5;background:var(--panel);border:1px solid var(--panel-line);width:256px;box-shadow:var(--shadow);border-radius:14px;position:absolute;top:74px;left:84px;overflow:hidden}.project h3{letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--panel-line);align-items:center;gap:8px;margin:0;padding:13px 15px 11px;font-size:11px;font-weight:600;display:flex}.project h3 .swatch{background:var(--accent);border-radius:3px;width:9px;height:9px}.project .ghead{letter-spacing:.9px;text-transform:uppercase;color:var(--ink-3);padding:10px 15px 4px;font-size:9.5px}.types{z-index:5;background:var(--panel);border:1px solid var(--panel-line);width:308px;box-shadow:var(--shadow);border-radius:14px;position:absolute;top:74px;right:18px;overflow:visible}.types h3{letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--panel-line);border-radius:14px 14px 0 0;margin:0;padding:13px 15px 11px;font-size:11px;font-weight:600}.types .thint{color:var(--ink-3);background:var(--paper);border-bottom:1px solid var(--panel-line);padding:9px 15px 10px;font-size:11px;line-height:1.45}.types .thint b{color:var(--ink-2);font-weight:600}.tgroup{border-bottom:1px solid var(--panel-line);padding:4px 0 7px}.tgroup:last-child{border-bottom:0;border-radius:0 0 14px 14px}.tgroup .ghead{letter-spacing:.9px;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;align-items:center;padding:8px 15px 5px;font-size:9.5px;display:flex}.tgroup .gadd{color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px 6px;font-size:15px;line-height:1}.tgroup .gadd:hover{background:#2a5bd71a}.tcols{letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3);grid-template-columns:1fr 112px 28px;gap:8px;padding:0 15px 4px;font-size:9px;display:grid}.tcols span:nth-child(2){text-align:right}.trow{cursor:pointer;grid-template-columns:1fr 84px 28px;align-items:center;gap:8px;padding:7px 15px;transition:background .12s;display:grid;position:relative}.trow.op{grid-template-columns:1fr 112px 28px}.trow:hover{background:var(--paper)}.trow.on{box-shadow:inset 3px 0 0 var(--accent);background:#2a5bd71a}.trow .tname{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex;overflow:hidden}.trow.on .tname{color:var(--accent-2)}.trow.on .tname:before{content:"✓";color:var(--accent);font-size:11px;font-weight:700}.trow .tparam{font-family:var(--mono);text-align:right;color:var(--ink);font-size:12.5px}.trow .tparam .tu{color:var(--ink-3);margin-left:3px;font-size:10.5px}.tmenu-wrap{justify-self:end;position:relative}.tkebab{color:var(--ink-3);cursor:pointer;letter-spacing:1px;background:0 0;border:0;border-radius:6px;width:26px;height:24px;font-size:17px;line-height:1}.tkebab:hover{color:var(--ink);background:var(--paper)}.tmenu{z-index:30;background:var(--panel);border:1px solid var(--panel-line);min-width:162px;box-shadow:var(--shadow);border-radius:11px;padding:5px;position:absolute;top:28px;right:0}.tmenu button{text-align:left;width:100%;font-family:var(--sans);color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;padding:8px 9px;font-size:12.5px;display:flex}.tmenu button:hover{background:var(--paper)}.tmenu button.danger{color:var(--danger)}.tmenu button:disabled{opacity:.34;cursor:not-allowed}.tmenu button:disabled:hover{background:0 0}.tmenu .sep{background:var(--panel-line);height:1px;margin:4px 3px}.tmenu .mi{text-align:center;opacity:.8;width:15px;font-size:12px;display:inline-block}.trow.edit{background:var(--paper);cursor:default;box-shadow:inset 3px 0 0 var(--accent-2)}.trow .tnameedit{border:1px solid var(--accent);background:var(--panel);width:100%;font-size:13px;font-family:var(--sans);color:var(--ink);border-radius:7px;grid-column:1;padding:4px 7px}.trow .tnameedit:focus{outline:none}.tpedit{justify-content:flex-end;align-items:center;gap:4px;display:flex}.tpedit input{border:1px solid var(--panel-line);background:var(--panel);width:44px;font-family:var(--mono);text-align:right;color:var(--ink);border-radius:6px;padding:3px 5px;font-size:12px}.tpedit input:focus{border-color:var(--accent);outline:none}.tpedit .x{color:var(--ink-3);font-family:var(--mono);font-size:11px}.tpedit .tu{color:var(--ink-3);margin-left:2px;font-size:10.5px}.tdone{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;justify-self:end;width:26px;height:24px;font-size:13px}.props .resetlink{color:var(--accent);cursor:pointer;background:0 0;border:0;margin-left:2px;padding:0 2px;font-size:12px}.props .resetlink:hover{color:var(--accent-2,#1c43ad)}.viewtog{background:var(--panel);border:1px solid var(--panel-line);box-shadow:var(--shadow);z-index:30;border-radius:11px;align-items:center;gap:6px;padding:5px 7px;display:flex;position:absolute;top:18px;right:18px}.viewtog button{color:var(--ink-2);font-family:var(--sans);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:5px 10px;font-size:11px;font-weight:600;transition:all .12s}.viewtog button:hover{color:var(--ink)}.viewtog button.on{background:var(--accent);color:#fff}.viewtog .vsep{background:var(--panel-line);flex:none;align-self:center;width:1px;height:16px;margin:0 3px}.viewtog .fcdgrp{gap:2px;display:flex}.viewtog .fcd{font-family:var(--mono);padding:5px 9px}.viewtog .dtl{place-items:center;padding:5px 8px;display:grid}.viewtog .dtl svg{width:17px;height:17px;display:block}.viewtog .ddtrig{align-items:center;gap:5px;padding:5px 8px 5px 10px;display:flex}.viewtog .ddtrig:hover{background:var(--field)}.viewtog .ddtrig.on{background:var(--field);color:var(--ink)}.viewtog .ddtrig .ddval{font-size:11px;font-weight:600}.viewtog .ddtrig .dico{place-items:center;display:grid}.viewtog .ddtrig .dico svg{width:17px;height:17px;display:block}.viewtog .vchev{opacity:.55;width:12px;height:12px;transition:transform .16s;display:block}.viewtog .ddtrig.on .vchev{opacity:.85;transform:rotate(180deg)}.viewtog .ddgrp{display:flex}.vmenu{background:var(--panel);border:1px solid var(--panel-line);min-width:212px;box-shadow:var(--shadow);z-index:40;border-radius:12px;flex-direction:column;gap:2px;padding:6px;animation:.16s cubic-bezier(.2,.8,.2,1) both pmenu;display:flex;position:absolute;top:calc(100% + 12px);right:-1px}.vmenu-item{cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:7px 8px;transition:all .12s;display:flex}.vmenu-item:hover{background:var(--paper)}.vmenu-item.sel{background:var(--field)}.vmenu-ico{background:var(--field);width:30px;height:30px;color:var(--ink-2);border-radius:8px;flex:none;place-items:center;display:grid}.vmenu-item:hover .vmenu-ico{color:var(--ink)}.vmenu-item.sel .vmenu-ico{background:var(--accent);color:#fff}.vmenu-ico svg{width:18px;height:18px;display:block}.vmenu-txt{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.vmenu-txt b{font-size:12px;font-weight:600;line-height:1.2}.vmenu-txt small{color:var(--ink-3);font-size:10.5px;line-height:1.2}.vmenu-check{width:15px;height:15px;color:var(--accent);opacity:0;flex:none;transition:all .12s}.vmenu-item.sel .vmenu-check{opacity:1}.vmenu-check svg{width:15px;height:15px;display:block}.exp{display:flex;position:relative}.expmenu{background:var(--panel);border:1px solid var(--panel-line);min-width:196px;box-shadow:var(--shadow);z-index:30;border-radius:12px;flex-direction:column;gap:2px;padding:6px;animation:.16s cubic-bezier(.2,.8,.2,1) both pmenu;display:flex;position:absolute;top:0;left:calc(100% + 10px)}.expmenu .expname{letter-spacing:.6px;color:var(--ink-3);border-bottom:1px solid var(--panel-line);white-space:nowrap;margin-bottom:4px;padding:5px 9px 7px;font-size:11px}.expmenu button{color:var(--ink);text-align:left;font-family:var(--sans);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 9px;font-size:13px;font-weight:500;transition:all .12s}.expmenu button:hover{background:var(--paper)}.draftaids{background:var(--panel);border:1px solid var(--panel-line);min-width:238px;box-shadow:var(--shadow);z-index:30;border-radius:12px;flex-direction:column;gap:12px;padding:10px;animation:.16s cubic-bezier(.2,.8,.2,1) both pmenu;display:flex;position:absolute;top:calc(100% + 12px);right:-4px}.draftaids .da-sec{flex-direction:column;gap:6px;display:flex}.draftaids .da-label{color:var(--ink-3);letter-spacing:.3px;font-size:11px}.draftaids .da-seg{width:100%}.draftaids .da-seg button{text-align:center;flex:1}.view-loading{color:var(--ink-2);place-items:center;font-size:14px;display:grid;position:absolute;inset:0}.tempdim-input{border:1.5px solid var(--accent);background:var(--panel);width:74px;color:var(--ink);font-family:var(--mono);text-align:center;box-shadow:var(--shadow);z-index:40;border-radius:6px;outline:none;padding:3px 6px;font-size:12px;position:absolute;transform:translate(-50%,-50%)}.modal-back{z-index:60;background:#1419266b;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tmodal{background:var(--panel);border:1px solid var(--panel-line);border-radius:18px;flex-direction:column;width:880px;max-width:92vw;height:600px;max-height:88vh;display:flex;overflow:hidden;box-shadow:0 24px 70px #14192857}.tmodal-head{border-bottom:1px solid var(--panel-line);justify-content:space-between;align-items:flex-start;padding:15px 20px;display:flex}.tmodal-head h2{color:var(--ink);margin:0;font-size:15px;font-weight:700}.tmodal-head .sub{color:var(--ink-3);margin-top:3px;font-size:11.5px}.tmodal-x{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:8px;width:32px;height:32px;font-size:17px}.tmodal-x:hover{background:var(--paper);color:var(--ink)}.tmodal-body{flex:1;min-height:0;display:flex}.tmcats{border-right:1px solid var(--panel-line);background:var(--paper);flex-direction:column;flex:none;gap:3px;width:194px;padding:12px 10px;display:flex}.tmcat{font-family:var(--sans);color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:9px 11px;font-size:13px;display:flex}.tmcat svg{flex:none;width:18px;height:18px}.tmcat:hover{background:var(--panel);color:var(--ink)}.tmcat.on{background:var(--accent);color:#fff}.tmcat .cnt{font-family:var(--mono);opacity:.75;margin-left:auto;font-size:11px}.tmlist{flex:1;padding:16px 20px;overflow:auto}.tmbar{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.tmbar h3{text-transform:uppercase;letter-spacing:.9px;color:var(--ink-3);margin:0;font-size:12px;font-weight:600}.tmadd{border:1px solid var(--accent);background:var(--accent);color:#fff;font-family:var(--sans);cursor:pointer;border-radius:8px;padding:7px 13px;font-size:12.5px;font-weight:500}.tmadd:hover{filter:brightness(1.06)}.tmhead{border-bottom:1px solid var(--panel-line);letter-spacing:.7px;text-transform:uppercase;color:var(--ink-3);align-items:end;gap:12px;padding:0 10px 8px;font-size:9.5px;display:grid}.tmhead span{text-align:right}.tmhead span:first-child{text-align:left}.tmrow{border-bottom:1px solid var(--panel-line);border-radius:9px;align-items:center;gap:12px;padding:5px 10px;display:grid}.tmrow:hover{background:var(--paper)}.tmhead.wall,.tmrow.wall{grid-template-columns:1fr 96px 140px 34px}.tmhead.open,.tmrow.open{grid-template-columns:1fr 110px 110px 34px}.tmhead.door,.tmrow.door{grid-template-columns:1fr 96px 96px 128px 76px 34px}.tmhead.window,.tmrow.window{grid-template-columns:1fr 96px 96px 132px 54px 34px}.tmhead .ctr{text-align:center}.grstp{font-family:var(--mono);color:var(--ink);justify-self:end;align-items:center;gap:3px;font-size:12.5px;display:flex}.grstp.dim{color:var(--ink-3);justify-self:center}.grstp .x{color:var(--ink-3);padding:0 1px}.grstp button{border:1px solid var(--panel-line);width:20px;height:24px;color:var(--ink-2);cursor:pointer;background:0 0;border-radius:6px;padding:0;font-size:13px;line-height:1}.grstp button:hover{border-color:var(--accent);color:var(--accent)}.grstp b{text-align:center;min-width:12px;font-weight:600}.wprev{justify-self:center;display:block}.wprev rect,.wprev line{stroke:var(--ink);fill:none}.tmhead.slab,.tmrow.slab{grid-template-columns:1fr 96px 140px 34px}.tmhead.mat,.tmrow.mat{grid-template-columns:72px 1fr 168px 56px 34px}.tmhead.mat span,.tmrow.mat .tm-cell{text-align:left}.tmcat-sep{background:var(--panel-line);height:1px;margin:8px}.msw{width:56px;height:34px;display:block}.mat-hatch{border:1px solid var(--panel-line);background:var(--field);width:100%;font-family:var(--sans);color:var(--ink);border-radius:7px;padding:7px 8px;font-size:12.5px}.mat-color{border:1px solid var(--panel-line);background:var(--panel);cursor:pointer;border-radius:7px;width:40px;height:30px;padding:2px}.tmnote{color:var(--ink-3);padding:12px 10px 2px;font-size:11.5px;line-height:1.5}.tm-name{width:100%;font-family:var(--sans);color:var(--ink);background:0 0;border:1px solid #0000;border-radius:7px;padding:8px 9px;font-size:13px;font-weight:600}.tm-name:focus{border-color:var(--accent);background:var(--field);outline:none}.tm-cell{font-family:var(--mono);text-align:right;color:var(--ink);font-size:13px}.tm-cell.ro{color:var(--ink-2)}.tmrow .ws-open{border:1px solid var(--panel-line);background:var(--panel);font-family:var(--sans);color:var(--ink-2);cursor:pointer;white-space:nowrap;border-radius:7px;padding:7px 10px;font-size:12px}.tmrow .ws-open:hover{border-color:var(--accent);color:var(--accent)}.tm-del{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-self:center;width:30px;height:30px;font-size:14px}.tm-del:hover{background:var(--paper);color:var(--danger)}.tm-del:disabled{opacity:.3;cursor:not-allowed}.tm-del:disabled:hover{color:var(--ink-3);background:0 0}.wstruct-back{z-index:70;background:#14192657;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.wstruct{background:var(--panel);border:1px solid var(--panel-line);border-radius:18px;flex-direction:column;width:600px;max-width:92vw;max-height:88vh;display:flex;overflow:hidden;box-shadow:0 28px 80px #14192866}.ws-body{padding:18px 22px;overflow:auto}.ws-bar{border:1px solid var(--panel-line);border-radius:10px;height:74px;margin-bottom:6px;display:flex;overflow:hidden}.ws-band{color:#2a3240;border-right:1px solid #1419281a;justify-content:center;align-items:center;min-width:0;padding:4px;font-size:10px;display:flex;position:relative}.ws-band:last-child{border-right:0}.ws-band .nm{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.ws-band.core:after{content:"";box-shadow:inset 0 0 0 2px var(--accent);position:absolute;inset:0}.ws-corehint{color:var(--accent);letter-spacing:.4px;justify-content:center;margin-bottom:14px;font-size:10px;display:flex}.ws-sidehd{justify-content:space-between;align-items:center;margin:14px 0 6px;display:flex}.ws-sidehd span{letter-spacing:.8px;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:600}.ws-addl{border:1px dashed var(--panel-line);font-family:var(--sans);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:7px;padding:5px 10px;font-size:11.5px}.ws-addl:hover{border-color:var(--accent);color:var(--accent)}.ws-layer{grid-template-columns:20px 1fr 96px 34px;align-items:center;gap:9px;padding:5px 2px;display:grid}.ws-sw{border:1px solid #1419281f;border-radius:4px;width:16px;height:16px}.ws-layer .lmat{border:1px solid var(--panel-line);background:var(--field);width:100%;font-family:var(--sans);color:var(--ink);cursor:pointer;border-radius:7px;padding:7px 8px;font-size:13px}.ws-layer .lmat:focus{border-color:var(--accent);outline:none}.ws-layer .ldel{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:6px;width:28px;height:28px;font-size:14px}.ws-layer .ldel:hover{background:var(--paper);color:var(--danger)}.ws-corebadge{color:var(--accent);text-align:center;letter-spacing:.4px;font-size:10px}.ws-core{background:var(--paper);border:1px solid var(--panel-line);border-radius:10px;margin:6px 0;padding:2px 8px}.ws-core .ws-sidehd{margin:6px 0 2px}.ws-core .ws-sidehd span{color:var(--accent)}.ws-foot{border-top:1px solid var(--panel-line);justify-content:flex-end;padding:14px 22px;display:flex}.auth-screen{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow:auto}.auth-card{background:var(--panel);border:1px solid var(--panel-line);width:100%;max-width:430px;box-shadow:var(--shadow);border-radius:18px;padding:38px 38px 32px}.auth-brand{justify-content:center;align-items:center;gap:10px;margin-bottom:26px;display:flex}.auth-brand .mark{background:var(--accent);border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.auth-brand .mark svg{width:19px;height:19px}.auth-brand .name{letter-spacing:.02em;font-size:18px;font-weight:700}.auth-seg{background:var(--field);border:1px solid var(--panel-line);border-radius:11px;gap:3px;margin-bottom:26px;padding:4px;display:flex}.auth-seg button{color:var(--ink-2);font-family:var(--sans);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;padding:9px;font-size:13px;font-weight:600;transition:all .18s}.auth-seg button.on{background:var(--panel);color:var(--ink);box-shadow:var(--shadow-sm)}.auth-head{margin-bottom:24px}.auth-head h1{letter-spacing:-.02em;margin:0 0 7px;font-size:22px;font-weight:700}.auth-head .sub{color:var(--ink-3);font-size:13px;line-height:1.5}.auth-fld{margin-bottom:16px;display:block}.auth-fld .lbl{color:var(--ink-2);margin-bottom:7px;font-size:12px;font-weight:600;display:block}.auth-inp{align-items:center;display:flex;position:relative}.auth-inp input{background:var(--field);border:1px solid var(--panel-line);width:100%;font-family:var(--sans);color:var(--ink);border-radius:9px;outline:none;padding:12px 13px;font-size:13.5px;transition:all .16s}.auth-inp input::placeholder{color:var(--ink-3)}.auth-inp input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);background:var(--panel)}.auth-inp.has-icon input{padding-right:44px}.auth-inp .eye{width:30px;height:30px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;transition:all .12s;display:grid;position:absolute;right:7px}.auth-inp .eye:hover{background:var(--paper);color:var(--ink-2)}.auth-inp .eye svg{width:17px;height:17px}.auth-row{justify-content:space-between;align-items:center;margin:2px 0 22px;display:flex}.auth-link{color:var(--accent);font-family:var(--sans);cursor:pointer;background:0 0;border:0;padding:2px 0;font-size:12.5px;font-weight:600;transition:all .12s}.auth-link:hover{color:var(--accent-2);text-decoration:underline}.auth-check{color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12.5px;display:flex}.auth-check .box{border:1.5px solid var(--panel-line);background:var(--field);border-radius:5px;place-items:center;width:17px;height:17px;transition:all .12s;display:grid}.auth-check .box svg{color:#fff;opacity:0;width:12px;height:12px;transition:all .12s}.auth-check.on .box{background:var(--accent);border-color:var(--accent)}.auth-check.on .box svg{opacity:1}.auth-btn{width:100%;font-family:var(--sans);cursor:pointer;border:0;border-radius:9px;justify-content:center;align-items:center;gap:9px;padding:13px;font-size:14px;font-weight:600;transition:all .18s;display:flex}.auth-btn.primary{background:var(--accent);color:#fff}.auth-btn.primary:hover{background:var(--accent-2)}.auth-btn.ghost{background:var(--field);color:var(--ink);border:1px solid var(--panel-line)}.auth-btn.ghost:hover{background:var(--paper)}.auth-btn:disabled{opacity:.6;cursor:default;pointer-events:none}.auth-btn svg{width:18px;height:18px}.auth-divider{color:var(--ink-3);align-items:center;gap:12px;margin:20px 0;font-size:11.5px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--panel-line);flex:1;height:1px}.auth-soon{position:relative}.auth-soon .auth-btn{opacity:.6;cursor:not-allowed}.auth-soon .tag{color:var(--ink-3);background:var(--panel);border:1px solid var(--panel-line);border-radius:6px;padding:2px 7px;font-size:9.5px;font-weight:600;position:absolute;top:-8px;right:12px}.auth-foot{text-align:center;color:var(--ink-3);margin-top:24px;font-size:12.5px}.auth-error{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);border-radius:9px;align-items:flex-start;gap:8px;margin-bottom:16px;padding:10px 12px;font-size:12.5px;line-height:1.45;display:flex}.auth-error svg{flex:none;width:16px;height:16px;margin-top:1px}.auth-ic{background:var(--accent-tint);border-radius:13px;place-items:center;width:46px;height:46px;margin:0 auto 16px;display:grid}.auth-ic svg{width:24px;height:24px;color:var(--accent)}.auth-center{text-align:center}.auth-center .sub{color:var(--ink-3);margin-bottom:20px;font-size:13px;line-height:1.55}.auth-center .mono{font-family:var(--mono);color:var(--ink-2)}.auth-center h1{letter-spacing:-.01em;margin:0 0 8px;font-size:21px;font-weight:700}.auth-loading{place-items:center;display:grid}.auth-spinner{border:3px solid var(--panel-line);border-top-color:var(--accent);border-radius:50%;width:30px;height:30px;animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}
