:root{--bg:#f6f7f9;--panel:#fff;--ink:#1d2733;--muted:#5b6776;--line:#d6dbe2;--accent:#1f6feb;--grid:#8a97a8;--outline:#1d2733;--warn-bg:#fff1f0;--warn-ink:#a8071a;--adj-bg:#fff7e0;--adj-ink:#7a5200;--halo:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#12161c;--panel:#1b212a;--ink:#e8edf3;--muted:#9aa7b8;--line:#2f3946;--accent:#5aa2ff;--grid:#6b7889;--outline:#e8edf3;--warn-bg:#3b1d1d;--warn-ink:#ffb4ab;--adj-bg:#3a3014;--adj-ink:#ffd87a;--halo:#12161c}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);overscroll-behavior:none;font:15px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{flex-direction:column;height:100%;display:flex}.toolbar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 14px;display:flex}.toolbar h1{margin:0 8px 0 0;font-size:17px}.toolbar label{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}.btn-group{gap:8px;display:inline-flex}.spacer{flex:1}button,select,input{font:inherit;color:inherit}button{background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:6px;min-height:36px;padding:7px 12px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}select,input{background:var(--panel);border:1px solid var(--line);border-radius:6px;min-height:34px;padding:6px 8px}.main{flex:1;min-height:0;display:flex}.canvas-wrap{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex:1;min-width:0;position:relative;overflow:hidden}.canvas{cursor:grab;background:var(--bg);touch-action:none;display:block}.canvas:active{cursor:grabbing}.grid-line{stroke:var(--grid);fill:none}.outline{stroke:var(--outline);stroke-width:2.5px;stroke-linejoin:round}.closing-line{stroke:var(--outline);stroke-width:1.5px;stroke-dasharray:6 5;opacity:.6}.ghost{stroke:var(--accent);stroke-width:2.5px;stroke-dasharray:3 4}.vertex{fill:var(--outline)}.start-marker{fill:none;stroke:var(--accent);stroke-width:2px}.pen-marker{fill:var(--accent);fill-opacity:.25;stroke:var(--accent);stroke-width:2px}.hit{fill:#0000}.wall-label,.area-label{cursor:pointer}.dim-text{fill:var(--ink);paint-order:stroke;stroke:var(--halo);stroke-width:4px;stroke-linejoin:round;font-size:13px;font-weight:600}.wall-label.implicit .dim-text{fill:var(--muted);font-style:italic}.wall-label.derived .dim-text{fill:var(--adj-ink)}.wall-label:hover .dim-text{fill:var(--accent)}.free-label{cursor:grab}.free-label.passive{pointer-events:none}.free-label.dragging{cursor:grabbing;opacity:.8}.free-label-text{fill:var(--ink);paint-order:stroke;stroke:var(--halo);stroke-width:4px;stroke-linejoin:round;pointer-events:none;font-size:13px;font-style:italic}.label-edit{z-index:6;background:var(--panel);border:1px solid var(--accent);border-radius:10px;align-items:center;gap:6px;padding:6px;display:flex;position:absolute;box-shadow:0 4px 16px #00000047}.label-edit input{width:220px}.area-name{fill:var(--muted);paint-order:stroke;stroke:var(--halo);stroke-width:3px;font-size:13px}.area-figure{fill:var(--ink);paint-order:stroke;stroke:var(--halo);stroke-width:4px;font-size:17px;font-weight:700}.area-figure.provisional{font-size:13px;font-style:italic;font-weight:600}.wall-edit{z-index:5;border-color:var(--accent);width:120px;position:absolute;box-shadow:0 2px 10px #00000040}.panel{background:var(--panel);border-left:1px solid var(--line);flex:none;width:300px;padding:14px;overflow:auto}.field{flex-direction:column;gap:3px;margin-bottom:10px;display:flex}.field label{color:var(--muted);font-size:12px}.figure-box{border:1px solid var(--line);border-radius:10px;min-height:96px;margin:14px 0;padding:12px}.figure{text-align:left;width:100%;min-height:44px;-webkit-text-decoration:underline dotted var(--muted);text-decoration:underline dotted var(--muted);text-underline-offset:5px;background:0 0;border:none;padding:0;font-size:26px;font-weight:700;display:block}.figure.provisional{font-size:17px;font-style:italic;font-weight:600}.sub{color:var(--muted);font-size:13px}.status{border:1px solid var(--line);border-radius:999px;margin-top:6px;padding:1px 8px;font-size:12px;display:inline-block}.status.closed{color:#2da44e;border-color:#2da44e}.warning{background:var(--warn-bg);color:var(--warn-ink);border-radius:8px;padding:10px 12px;font-weight:600}.adjusted{background:var(--adj-bg);color:var(--adj-ink);border-radius:8px;margin-top:10px;padding:8px 10px;font-size:13px}.readout{grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:13px;display:grid}.readout dt{color:var(--muted)}.readout dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.entry{border-top:1px solid var(--line);background:var(--panel);flex-direction:column;gap:6px;min-height:78px;padding:10px 14px;display:flex}.typed{align-items:baseline;gap:10px;font-size:20px;display:flex}.typed-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px}.buffer{font-variant-numeric:tabular-nums;min-width:2ch;font-weight:700}.caret{background:var(--accent);align-self:center;width:2px;height:22px;animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.echo{color:var(--muted);font-size:15px}.hint{color:var(--muted);font-size:13px}.close-prompt{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.close-prompt span{font-weight:600}.backdrop{z-index:20;background:#0006;place-items:center;display:grid;position:fixed;inset:0}.dialog{background:var(--panel);border-radius:12px;max-width:min(720px,94vw);max-height:86vh;padding:18px 20px;overflow:auto}.dialog h2{margin:0 0 6px;font-size:18px}.dialog pre{white-space:pre-wrap;background:var(--bg);border-radius:8px;padding:10px;font:12.5px/1.5 ui-monospace,Consolas,monospace}@media (width<=800px){.main{flex-direction:column}.panel{border-left:none;border-top:1px solid var(--line);width:auto;max-height:38%}}.outline.selected{stroke:var(--accent);stroke-width:3px}.area.overlapping .area-fill{stroke:var(--warn-ink);stroke-width:2px;stroke-dasharray:5 4}.area-figure.overlap{fill:var(--warn-ink)}.area-fill{cursor:move}.snap-guide{stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:5 4}.snap-chip{fill:var(--accent)}.snap-text{fill:#fff;font-size:12px;font-weight:600}.actions{flex-wrap:wrap;gap:6px;display:flex}.actions button{min-height:34px;padding:5px 10px}.summary h2{margin:0 0 8px;font-size:14px}.totals{grid-template-columns:1fr auto;gap:4px 12px;margin:0 0 8px;font-size:14px;display:grid}.totals .total-row{display:contents}.totals dt{color:var(--muted)}.totals dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.totals .grand{border-top:1px solid var(--line);color:var(--ink);padding-top:4px}.note{color:var(--muted);margin:4px 0 8px;font-size:12px}.summary .warning{margin:8px 0;font-size:13px}.area-list{flex-direction:column;gap:4px;margin:8px 0 10px;padding:0;list-style:none;display:flex}.area-row{text-align:left;align-items:center;gap:8px;width:100%;padding:6px 8px;display:flex}.area-row.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.area-row.invalid .row-figure{color:var(--warn-ink)}.chip{border:1px solid var(--line);border-radius:3px;flex:none;width:14px;height:14px}.row-main{flex-direction:column;flex:1;min-width:0;display:flex}.row-name{font-weight:600}.row-type{color:var(--muted);font-size:12px}.row-figure{font-variant-numeric:tabular-nums;text-align:right;font-size:13px}.dialog.types table{border-collapse:collapse;width:100%;margin-bottom:10px}.dialog.types th{text-align:left;color:var(--muted);padding:4px 8px 4px 0;font-size:12px;font-weight:500}.dialog.types td{padding:4px 8px 4px 0}.dialog.types input[type=color]{width:44px;height:34px;padding:0}.add-type{gap:8px;margin-bottom:10px;display:flex}html,body{overscroll-behavior:none;-webkit-text-size-adjust:100%;overflow:hidden}.main{position:relative}.corner-hit{fill:#0000;cursor:grab}.corner-hit:hover{fill:var(--accent);fill-opacity:.18}.wall-hit{fill:none;stroke:#0000;cursor:move}.aim-point{fill:none;stroke:var(--accent);stroke-width:2px}.ghost.rubber{stroke-dasharray:2 4}.loupe-bg{fill:var(--bg)}.loupe-ring{fill:none;stroke:var(--accent);stroke-width:3px}.loupe-cross{stroke:var(--accent);stroke-width:1.5px}.hud{background:var(--panel);border:1px solid var(--line);color:var(--muted);pointer-events:none;border-radius:8px;flex-wrap:wrap;gap:14px;max-width:calc(100% - 16px);padding:5px 10px;font-size:13px;display:flex;position:absolute;top:8px;left:8px}.hud b{color:var(--ink);font-variant-numeric:tabular-nums}.total-chip{font-weight:700}.pad-dock{background:var(--panel);border-left:1px solid var(--line);touch-action:manipulation;-webkit-user-select:none;user-select:none;flex:none;padding:10px;overflow:auto}.app.landscape .pad-dock{width:330px}.app.portrait .main{flex-direction:column}.app.portrait .pad-dock{border-left:none;border-top:1px solid var(--line);width:auto;padding:8px 12px}.pad{gap:10px;display:grid}.app.portrait .pad{grid-template-columns:1fr minmax(180px,34%);grid-template-areas:"numbers dirs""actions actions"}.app.portrait .pad-numbers{grid-area:numbers}.app.portrait .pad-dirs{grid-area:dirs;align-self:start}.app.portrait .pad-actions{grid-area:actions}.pad-block{gap:6px;display:grid}.pad-numbers{grid-template-columns:repeat(4,1fr)}.pad-dirs{grid-template-columns:repeat(3,1fr)}.pad-key{touch-action:manipulation;min-width:44px;min-height:52px;padding:4px;font-size:19px;font-weight:600}.pad-key.util{background:var(--bg);font-size:14px}.pad-key.enter,.pad-key.close{background:var(--accent);border-color:var(--accent);color:#fff}.pad-key[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.pad-note{color:var(--muted);font-size:12px}.panel.drawer{z-index:15;border-left:1px solid var(--line);visibility:hidden;width:min(380px,94vw);max-height:none;transition:transform .18s;position:absolute;top:0;bottom:0;right:0;transform:translate(105%);box-shadow:-6px 0 24px #00000040}.panel.drawer.open{visibility:visible;transform:none}.drawer-close{width:100%;margin-bottom:12px}.toolbar-settings{border-top:1px solid var(--line);flex-wrap:wrap;flex-basis:100%;align-items:center;gap:10px;padding-top:6px;display:flex}.toolbar-settings label{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}.menu-backdrop{z-index:25;position:absolute;inset:0}.menu{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:2px;min-width:220px;max-width:300px;max-height:calc(100% - 16px);padding:6px;display:flex;position:absolute;overflow-y:auto;box-shadow:0 8px 28px #0000004d}.menu-title{color:var(--muted);padding:4px 10px;font-size:12px}.menu button{text-align:left;background:0 0;border:none;border-radius:8px;min-height:46px;padding:8px 12px;font-size:15px}.menu button:hover:not(:disabled){background:var(--bg)}.menu button.danger{color:var(--warn-ink)}.menu .menu-choice{padding-left:28px}.menu-rename{gap:6px;padding:4px;display:flex}.menu-rename input{flex:1;min-width:0}.app.coarse button,.app.coarse select,.app.coarse input{min-height:44px}.app.coarse .toolbar{gap:8px;padding:6px 10px}.app.coarse .toolbar h1{font-size:15px}.app.coarse .area-row{min-height:52px}.app.coarse .entry{min-height:60px}.canvas-wrap,.canvas{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}.app.coarse button{min-width:44px}.sketch-button{text-align:left;flex-direction:column;align-items:flex-start;max-width:260px;padding:4px 12px;line-height:1.15;display:flex}.tb-title{text-overflow:ellipsis;white-space:nowrap;max-width:230px;font-weight:700;overflow:hidden}.tb-status{color:var(--muted);font-size:11px}.tb-status.error,.tb-status.saving{color:var(--warn-ink)}.storage-banner{background:var(--warn-bg);color:var(--warn-ink);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:8px 14px;font-weight:600;display:flex}.loading{color:var(--muted);z-index:5;place-items:center;display:grid;position:absolute;inset:0}.dialog-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.dialog.sketches,.dialog.details{width:min(760px,94vw)}.sketch-tools{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.sketch-tools input[type=search]{flex:1;min-width:200px}.sketch-list{flex-direction:column;gap:6px;max-height:46vh;margin:8px 0;padding:0;list-style:none;display:flex;overflow:auto}.sketch-row{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.sketch-row.current{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.sketch-address{font-weight:700}.sketch-sub{color:var(--muted);font-size:12px}.sketch-actions{align-items:center;gap:6px;display:flex}.sketch-confirm{color:var(--warn-ink);font-size:13px;font-weight:600}button.danger{color:var(--warn-ink)}.details-grid{grid-template-columns:1fr 1fr;gap:4px 14px;margin:10px 0;display:grid}.details-grid .wide{grid-column:1/-1}@media (width<=600px){.details-grid{grid-template-columns:1fr}}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.primary:hover:not(:disabled){filter:brightness(1.08)}.dialog.export{width:min(560px,94vw)}.export-options{flex-direction:column;gap:10px;margin:12px 0;display:flex}.export-options label{align-items:center;gap:10px;display:flex}.export-options select{flex:1}.export-options label.check{gap:8px}.export-actions{flex-wrap:wrap;gap:10px;margin:8px 0;display:flex}.export .warning ul{margin:6px 0 0;padding-left:20px}.export .done{background:var(--bg);border:1px solid var(--line);border-radius:8px;margin-top:10px;padding:8px 12px}.logo-row{align-items:center;gap:14px;margin:10px 0;display:flex}.logo-box{border:1px dashed var(--line);background:#fff;border-radius:8px;place-items:center;width:160px;height:70px;display:grid;overflow:hidden}.logo-box img{max-width:100%;max-height:100%}.logo-actions{flex-wrap:wrap;gap:8px;display:flex}.pad-actions{grid-template-columns:repeat(5,1fr)}.wall-label.implicit{pointer-events:none}.dialog h3{margin:14px 0 6px;font-size:14px}:root{--bg:#eef1f5;--panel:#fff;--ink:#14202e;--muted:#5a6878;--line:#dde2ea;--accent:#1d5fd1;--accent-soft:#e8f0ff;--good:#1a7f4b;--good-soft:#e5f5ec;--grid:#8b9bb0;--outline:#14202e;--canvas:#f9fbfd;--brand:#0f2236;--shadow-sm:0 1px 2px #10203614, 0 1px 1px #1020360a;--shadow-md:0 8px 24px #10203629;--shadow-lg:0 24px 60px #08142459}@media (prefers-color-scheme:dark){:root{--bg:#0d1218;--panel:#161d26;--ink:#e8edf3;--muted:#9aa7b8;--line:#2a3441;--accent:#5a9bff;--accent-soft:#1b2b45;--good:#5fd391;--good-soft:#14301f;--grid:#6b7889;--outline:#e8edf3;--canvas:#10161d;--brand:#0a1522;--shadow-sm:0 1px 2px #0006;--shadow-md:0 8px 24px #00000080}}body{-webkit-font-smoothing:antialiased;font-family:Segoe UI Variable Text,Segoe UI,system-ui,-apple-system,Roboto,Helvetica Neue,sans-serif;font-size:14.5px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 45%, transparent);background-clip:padding-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-track{background:0 0}button{box-shadow:var(--shadow-sm);border-radius:8px;font-weight:550;transition:background-color .12s,border-color .12s}button:active:not(:disabled){transform:translateY(1px)}button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}select,input{border-radius:8px;transition:border-color .12s,box-shadow .12s}select:hover,input:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--line))}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}button.primary{background:var(--accent);color:#fff;border-color:#0000;box-shadow:0 1px 2px #10203640}button.primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, #000);filter:none}button.danger{color:#b42318;border-color:color-mix(in srgb, #b42318 40%, var(--line))}button.danger:hover:not(:disabled){background:#fff1f0;border-color:#b42318}.toolbar{background:var(--brand);color:#e9eef5;z-index:10;border-bottom:none;gap:10px;padding:8px 16px;position:relative;box-shadow:0 2px 10px #0814244d}.brand{align-items:center;gap:10px;margin-right:8px;display:flex}.brand-mark{filter:drop-shadow(0 1px 2px #00000059);flex:none;width:32px;height:32px}.toolbar h1{letter-spacing:.01em;color:#fff;white-space:nowrap;margin:0;font-size:18px;font-weight:650}.toolbar label{color:#b4c3d6;font-size:12.5px}.toolbar button,.toolbar select{color:#eef3f9;box-shadow:none;background:#ffffff12;border:1px solid #ffffff29;min-height:34px}.toolbar select option{color:#14202e;background:#fff}.toolbar button:hover:not(:disabled),.toolbar select:hover{background:#ffffff29;border-color:#fff6}.toolbar button[aria-pressed=true]{background:#fff3;border-color:#ffffffb3}.toolbar button.primary{background:var(--accent);color:#fff;border-color:#0000}.toolbar button.primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 85%, #fff)}.toolbar button:focus-visible,.toolbar select:focus-visible{outline-color:#fff}.sketch-button{padding:4px 14px}.tb-title{color:#fff}.tb-status{color:#a5b8cd}.tb-status.saving{color:#ffd27a}.tb-status.error{color:#ffb4ab}.toolbar-settings{border-top:1px solid #ffffff24;margin-top:2px;padding-top:8px}.toolbar-settings label{color:#b4c3d6}.total-chip{font-variant-numeric:tabular-nums}.storage-banner{box-shadow:var(--shadow-sm)}.canvas{background:var(--canvas)}.outline{stroke-width:2.6px}.outline.selected{stroke:var(--accent)}.area-name{letter-spacing:.01em;font-weight:600}.area-figure{font-variant-numeric:tabular-nums}.hud{background:color-mix(in srgb, var(--panel) 92%, transparent);border-color:var(--line);box-shadow:var(--shadow-md);border-radius:10px;padding:6px 12px}.snap-chip{filter:drop-shadow(0 2px 4px #0000004d)}.welcome{background:color-mix(in srgb, var(--panel) 94%, transparent);border:1px solid var(--line);width:min(420px,100% - 32px);box-shadow:var(--shadow-md);pointer-events:none;text-align:left;border-radius:16px;padding:22px 24px;position:absolute;top:16%;left:50%;transform:translate(-50%)}.welcome h2{margin:0 0 8px;font-size:19px;font-weight:650}.welcome p{color:var(--muted);margin:6px 0 0;font-size:14px;line-height:1.5}.welcome kbd{font:inherit;color:var(--ink);background:var(--accent-soft);border:1px solid var(--line);border-radius:5px;padding:0 6px;font-weight:650}.panel{background:var(--panel);border-left:1px solid var(--line);width:316px;padding:16px}.field label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:11.5px;font-weight:600}.actions button{box-shadow:none}.figure-box{border:1px solid color-mix(in srgb, var(--accent) 25%, var(--line));background:linear-gradient(180deg, var(--accent-soft), color-mix(in srgb, var(--accent-soft) 35%, var(--panel)));box-shadow:var(--shadow-sm);border-radius:14px;padding:14px 16px}.figure{letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:30px}.figure.provisional{color:var(--muted);font-size:18px}.status{letter-spacing:.01em;font-weight:600}.status.closed{background:var(--good-soft);border-color:color-mix(in srgb, var(--good) 45%, transparent);color:var(--good)}.adjusted{border:1px solid color-mix(in srgb, var(--adj-ink) 25%, transparent)}.readout{padding:4px 2px}.summary{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.summary h2{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:650}.totals .grand{font-size:15px;font-weight:650}.totals dd{font-variant-numeric:tabular-nums}.area-row{box-shadow:none;background:var(--panel);border-radius:10px;padding:8px 10px}.area-row.active{background:var(--accent-soft);border-color:var(--accent);box-shadow:none}.chip{border-radius:5px;width:16px;height:16px}.entry{background:var(--panel);border-top:1px solid var(--line);box-shadow:0 -2px 10px #1020360d}.buffer{font-family:Cascadia Mono,Consolas,ui-monospace,monospace;font-size:22px}.typed-label{font-weight:650}.backdrop{background:#0a142280}.dialog{box-shadow:var(--shadow-lg);border:1px solid var(--line);border-radius:16px;padding:22px 24px}.dialog h2{font-size:19px;font-weight:650}.dialog-head{border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:12px}.dialog-head h2{margin:0}.sketch-row{border-radius:12px}.sketch-row.current{background:var(--accent-soft)}.menu{box-shadow:var(--shadow-lg);border:1px solid var(--line);border-radius:14px}.menu button{box-shadow:none}.label-edit,.wall-edit{box-shadow:var(--shadow-md);border-radius:12px}.pad-key{border-radius:12px;box-shadow:0 1px #1020361f}.pad-key.util{background:color-mix(in srgb, var(--muted) 12%, var(--panel))}.pad-key.enter,.pad-key.close{background:var(--accent);border-color:#0000}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.figure{box-shadow:none}.figure:hover:not(:disabled){background:0 0}.totals{column-gap:0}.totals dd{padding-left:12px}.totals dt,.totals dd{padding-top:2px;padding-bottom:2px}.brand-tag{letter-spacing:.08em;text-transform:uppercase;color:#cfe0ff;border:1px solid #ffffff4d;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:650}.snap-select select{min-width:110px}.lite-panel{flex-direction:column;gap:14px;display:flex}.lite-panel .figure-box{margin:0}.figure-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11.5px;font-weight:650}.lite-panel .field{margin:0}.lite-actions{gap:8px;display:grid}.lite-actions button{min-height:44px;font-size:15px}.lite-panel .start-over{align-self:flex-start}.lite-note{margin:0;line-height:1.5}.lite-panel p.warning{margin:0}@media (width<=820px){.app.lite .main{flex-direction:column}.app.lite .panel{border-left:none;border-top:1px solid var(--line);width:100%;max-height:42%}}.disclaimer{border:1px solid color-mix(in srgb, var(--adj-ink) 30%, var(--line));background:var(--adj-bg);color:var(--ink);border-radius:12px;padding:12px 14px}.disclaimer h3{margin:0 0 4px;font-size:13px;font-weight:650}.disclaimer p{margin:0 0 6px;font-size:12.5px;line-height:1.5}button.link{box-shadow:none;min-height:0;color:var(--accent);background:0 0;border:none;padding:0;font-size:12.5px;text-decoration:underline}button.link:hover:not(:disabled){background:0 0}.lite-panel .figure-box{padding-bottom:20px}.toolbar button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.label-dialog{flex-direction:column;gap:8px;width:min(420px,94vw);display:flex}.label-dialog label{font-size:13px;font-weight:600}.label-dialog input{border:1px solid var(--line);background:var(--panel);color:inherit;box-sizing:border-box;border-radius:8px;width:100%;padding:10px 12px;font-size:16px}.label-dialog .note{margin:0}.label-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.app.lite .toolbar{gap:8px}.app.lite .toolbar button{padding:6px 12px;font-weight:600}.app.lite .btn-group{gap:0}.app.lite .btn-group button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.app.lite .btn-group button+button{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.app.lite .toolbar .btn-group,.app.lite .toolbar [data-testid=open-disclaimer]{margin-left:6px}.app.lite .toolbar [data-testid=open-disclaimer]{color:#c7d4e4;background:0 0;border-color:#0000}.app.lite .toolbar [data-testid=open-disclaimer]:hover{color:#fff}.app.lite .lite-panel{gap:16px}.app.lite .readout{margin:0}.app.lite .lite-actions button{border-radius:10px}.app.lite .lite-panel .start-over{border-radius:10px;align-self:stretch;min-height:40px}.app.lite .entry{flex-flow:wrap;align-items:center;gap:4px 20px;min-height:0;padding:8px 16px}.app.lite .entry .typed{flex:none;font-size:18px}.app.lite .entry .typed-label{padding:0}.app.lite .entry .hint{text-align:right;flex:280px}.app.lite .close-prompt{flex-wrap:wrap;gap:8px}.pad.pad-simple .pad-actions{grid-template-columns:1fr 1fr}@media (width<=820px){html,body{overflow:auto}html,body,#root{height:auto}.app.lite{height:auto;min-height:100svh}.app.lite .main{display:contents}.app.lite .toolbar{scrollbar-width:none;flex-wrap:nowrap;order:0;gap:6px;padding:6px 10px;position:sticky;top:0;overflow-x:auto}.app.lite .toolbar::-webkit-scrollbar{display:none}.app.lite .toolbar .brand{margin-right:0}.app.lite .brand-tag,.app.lite .toolbar [data-testid=open-disclaimer],.app.lite .toolbar .spacer{display:none}.app.lite .toolbar button,.app.lite .toolbar select{flex:none;padding:6px 10px}.app.lite .canvas-wrap{flex:none;order:1;height:52svh;min-height:280px}.app.lite .entry{order:2;padding:6px 12px}.app.lite .entry .hint{text-align:left;flex-basis:100%}.app.lite .pad-dock{order:3;padding:8px 10px 10px}.app.lite .panel,.app.lite .lite-panel{border-left:none;border-top:1px solid var(--line);order:4;width:auto;max-height:none;overflow:visible}.app.lite .pad{grid-template-columns:minmax(0,4fr) minmax(0,3fr);grid-template-areas:"numbers dirs""numbers actions";gap:6px 10px}.app.lite .pad-block{gap:5px}.app.lite .pad-key{min-width:0;min-height:42px;padding:2px;font-size:18px}.app.lite .pad-key.util{font-size:13px}.app.lite .pad-actions{align-self:end}}.app.lite .free-label-text{font-size:14px;font-style:normal;font-weight:600}.app.lite .free-label:hover .free-label-text{fill:var(--accent)}@media (width<=640px){.app.lite .toolbar h1{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app.lite.pad-open .toolbar .btn-group,.app.lite .tb-long{display:none}.app.lite .snap-select{flex:none;gap:0;padding:0;font-size:0}.app.lite .snap-select select{min-width:0;max-width:92px;font-size:14px}}
