@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2) format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff) format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2) format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff) format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2) format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2) format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff")}:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);--ui: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--dim: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--paper: #edf2f4;--panel: #f8fafb;--ink: #112336;--muted: #5d7184;--line: #cfdae1;--grid: #dde7ec;--grid2: #c4d3dc;--wall: #112336;--accent: #1f5eff;--accent-ink: #ffffff;--room: rgba(31, 94, 255, .08);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #0c2644;--panel: #11335a;--ink: #e8f1ff;--muted: #8fb0d6;--line: #1f4a7d;--grid: #15396a;--grid2: #1f4d86;--wall: #e8f1ff;--accent: #ffd23f;--accent-ink: #1a1400;--room: rgba(255, 255, 255, .06);color-scheme:dark}}:root[data-theme=dark]{--paper: #0c2644;--panel: #11335a;--ink: #e8f1ff;--muted: #8fb0d6;--line: #1f4a7d;--grid: #15396a;--grid2: #1f4d86;--wall: #e8f1ff;--accent: #ffd23f;--accent-ink: #1a1400;--room: rgba(255, 255, 255, .06);color-scheme:dark}html{height:100%;scroll-padding-top:env(safe-area-inset-top,0px)}*,*:before,*:after{box-sizing:inherit}[hidden]{display:none!important}body{margin:0;height:100%;background:var(--paper);color:var(--ink);font:400 14px/1.35 var(--ui);overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}button,select,input{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.top{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--panel);border-bottom:1px solid var(--line)}.sp{flex:1}.seg{display:flex;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:2px}.seg button{display:flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--muted);padding:8px 12px;border-radius:8px;font-weight:600;font-size:15px}.seg button.on{background:var(--ink);color:var(--paper)}.ico{display:flex;align-items:center;justify-content:center;gap:4px;min-width:40px;height:40px;padding:0 9px;border:1px solid var(--line);background:var(--panel);border-radius:10px;font-weight:600}.ico:active{background:var(--paper)}.ico.arm{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button:disabled{opacity:.38;cursor:default}.settings{display:flex;align-items:center;gap:16px;padding:6px 10px;overflow-x:auto;white-space:nowrap;background:var(--panel);border-bottom:1px solid var(--line);scrollbar-width:none}.settings::-webkit-scrollbar{display:none}.settings label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.settings select{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:5px 6px;color:var(--ink);font-weight:500}.settings input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}#stage{position:relative;flex:1;min-height:0;background:var(--paper)}#cv{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}#cv.edit{cursor:default}#cv.view{cursor:grab}#cv.view:active{cursor:grabbing}.chip{position:absolute;left:10px;top:10px;pointer-events:none;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font:500 16px/1 var(--dim);letter-spacing:.2px}.zoom{position:absolute;right:10px;bottom:10px;display:flex;flex-direction:column;gap:6px}.zoom button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:0}.zoom button:active{background:var(--paper)}.zoom button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.hint{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:min(300px,calc(100% - 40px));text-align:center;pointer-events:none;color:var(--muted)}.hint strong{display:block;color:var(--ink);font-size:20px;font-weight:600;margin-bottom:4px}.dock{background:var(--panel);border-top:1px solid var(--line);padding:10px}.status{margin:0 0 8px;color:var(--muted);font-size:13px;min-height:18px}.row{display:flex;gap:10px;align-items:stretch}.lenbox{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:0 10px;min-width:0;flex:0 0 auto}.lenbox span{color:var(--muted);font-size:13px}.lenbox input{width:68px;min-width:0;border:0;background:transparent;font:600 22px/1 var(--dim);padding:10px 0;text-align:right}.lenbox input:focus-visible{outline:none}.lenbox:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.lenbox em{font-style:normal;color:var(--muted);font-size:14px;width:20px}.pad{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;flex:1;min-width:0}.pad button{height:46px;border:1px solid var(--ink);background:var(--panel);border-radius:10px;font-size:22px;line-height:1;padding:0}.pad button:active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.actions{display:flex;gap:8px;margin-top:8px}.btn{flex:1;height:40px;border:1px solid var(--line);background:var(--panel);border-radius:10px;font-weight:600;padding:0 12px}.btn:active{background:var(--paper)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.danger{color:var(--ink)}.row .btn{flex:1;height:auto;min-height:44px}.summary{display:flex;gap:8px}.summary>div{flex:1;min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:6px 10px}.summary>div.wide{flex:1.5}.summary span{display:block;color:var(--muted);font-size:12px}.summary strong{display:block;font:600 22px/1.15 var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:430px){.seg button svg{display:none}.seg button{padding:8px 11px}}.btn.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.row.axis{margin-top:8px}.row.axis .btn{min-height:40px}.fld{flex:1;min-width:0;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:4px 10px 6px}.fld:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.fld span{display:block;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fld div{display:flex;align-items:baseline;gap:4px}.fld input{flex:1;min-width:0;border:0;background:transparent;font:600 20px/1.2 var(--dim);padding:0}.fld input:focus-visible{outline:none}.fld em{font-style:normal;color:var(--muted);font-size:13px}.segb{display:flex;flex:1;min-width:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.segb button{flex:1;min-height:44px;border:0;background:var(--panel);font-weight:600;padding:0 4px;font-size:14px}.segb button+button{border-left:1px solid var(--line)}.segb button.on{background:var(--ink);color:var(--paper)}#openRow .row+.row{margin-top:8px}.row.axis .btn{padding:0 6px;font-size:14px}.btn.arm{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.namechip{pointer-events:auto;cursor:pointer;color:var(--ink);max-width:calc(100% - 70px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.namechip:active{background:var(--paper)}#hud{top:46px}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:flex-end;justify-content:center}.scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#08142280}.drawer{position:relative;width:min(520px,100%);max-height:82%;overflow-y:auto;display:flex;flex-direction:column;gap:10px;background:var(--panel);border:1px solid var(--line);border-bottom:0;border-radius:16px 16px 0 0;padding:14px 14px calc(14px + env(safe-area-inset-bottom,0px))}.drawer-head{display:flex;align-items:center;justify-content:space-between}.drawer h2{margin:0;font-size:19px;font-weight:600}.drawer .btn{flex:none;min-height:44px}.plans{list-style:none;margin:0;padding:0;overflow-y:auto;min-height:96px;flex:1 1 auto;display:flex;flex-direction:column;gap:6px}.plan{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:12px;padding:3px;background:var(--paper)}.plan.cur{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.plan .open{flex:1;min-width:0;text-align:left;border:0;background:transparent;padding:7px 10px;display:flex;flex-direction:column;gap:1px}.pname{font-weight:600;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pmeta{color:var(--muted);font-size:13px}.mini{min-width:38px;height:38px;border:0;background:transparent;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--muted);padding:0}.mini:active{background:var(--line)}.mini.arm{background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:13px;padding:0 10px}.rename{flex:1;min-width:0;font-size:16px;font-weight:600;padding:9px 10px;border:1px solid var(--accent);border-radius:8px;background:var(--panel);margin:2px}.note{margin:0;color:var(--muted);font-size:13px}.io{border:1px solid var(--line);border-radius:12px;background:var(--paper)}.io summary{padding:12px;font-weight:600;cursor:pointer;list-style-position:inside}.io-body{display:flex;flex-direction:column;gap:8px;padding:0 10px 10px}.io-row{display:flex;gap:8px}.io-row .btn{min-height:44px;height:auto;padding:6px 10px}.io textarea{width:100%;resize:vertical;min-height:70px;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:8px 10px;font:12px/1.35 ui-monospace,Menlo,Consolas,monospace}.io select{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-weight:500}.svgrow{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.svgprev{background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px;max-height:260px;overflow:auto}.svgprev svg{display:block;width:100%;height:auto;max-height:240px}#printArea{display:none}@media print{html,body{height:auto!important;overflow:visible!important;background:#fff!important}:root{padding:0!important}body>*{display:none!important}body>#printArea{display:block!important}#printArea .pg{display:flex;align-items:center;justify-content:center;overflow:hidden}#printArea svg{display:block}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.sr{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}#root{height:100%}#app{display:flex;flex-direction:column;height:100%}.gate{min-height:100%;display:grid;place-items:center;padding:24px 16px}.gate .card{width:min(380px,100%);display:flex;flex-direction:column;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px}.gate h1{margin:0;font-size:24px;font-weight:600;letter-spacing:-.2px}.gate p{margin:0;color:var(--muted)}.gate .mark{width:34px;height:34px;color:var(--accent);stroke-width:1.8}.gate .btn{height:46px;flex:none;font-size:16px}.gate .err{color:var(--ink);border:1px solid var(--accent);border-radius:10px;padding:8px 10px}.gate .fine{font-size:13px}.acct{position:relative;font-weight:600;font-family:var(--dim);font-size:17px}.dot{position:absolute;right:5px;bottom:5px;width:9px;height:9px;border-radius:50%;background:var(--muted);border:2px solid var(--panel);box-sizing:content-box;display:none}.acct[data-sync=syncing] .dot,.acct[data-sync=offline] .dot,.acct[data-sync=signed-out] .dot,.acct[data-sync=error] .dot{display:block}.acct[data-sync=signed-out] .dot,.acct[data-sync=error] .dot{background:var(--accent)}.menu{position:fixed;z-index:30;right:10px;top:calc(env(safe-area-inset-top,0px) + 58px);width:min(300px,calc(100% - 20px));display:flex;flex-direction:column;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:0 10px 30px #08142240}.menu .who{margin:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu .btn{flex:none;height:44px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:inherit}.menurow{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:13px}.menurow .segb{flex:0 1 190px}.menurow .segb button{min-height:38px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
