:root{font-family:Arial Narrow,Arial,sans-serif;color:#deebef;background:#08151b;color-scheme:dark;font-synthesis:none;font-size:16px;--orange:#ff922f;--cyan:#68e9f4;--line:#354950;--green:#70da8f}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{min-height:44px;min-width:44px;padding:8px;border:1px solid #42555d;border-radius:5px;background:linear-gradient(#1b2b33,#0a171e);color:#e1e9ec;cursor:pointer;touch-action:manipulation}button:hover{border-color:var(--cyan)}button:active{transform:translateY(1px)}button[aria-pressed=true],button.active{border-color:var(--orange);color:var(--orange);background:linear-gradient(#4b2c17,#201b13)}button:disabled{opacity:.25;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--orange);outline-offset:2px}input,select{min-width:0;max-width:100%;min-height:44px;border:1px solid var(--line);border-radius:4px;padding:8px;background:#09171d;color:#deebef}h1,h2,h3,p{margin:0}h2{font-size:18px}small{font-size:12px}a{color:var(--cyan)}.app{height:100dvh;max-width:1600px;margin:auto;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}header{display:flex;align-items:center;gap:12px;padding:8px 14px;border-bottom:2px solid #80491f;flex-shrink:0}.brand{font-size:33px;font-weight:900;letter-spacing:-2px;color:var(--orange)}h1{font-size:17px;letter-spacing:2px}header>button{margin-left:auto}.local{color:var(--green);font-size:12px;margin-left:auto}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr)}.calc{display:flex;flex-direction:column;min-height:0;min-width:0}.display{margin:10px 12px 0;background:linear-gradient(110deg,#122b32,#0b1c23);border:1px solid #49606a;border-top:3px solid var(--cyan);border-radius:5px;padding:5px 12px 10px;flex-shrink:0}.display-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;letter-spacing:1px;color:#b9cbd1}.display-meta button{border:0;background:none;color:var(--cyan);font-size:14px;min-height:36px}.display output{display:block;overflow-wrap:anywhere;font-family:Consolas,Courier New,monospace;font-size:clamp(28px,4vw,48px);font-weight:700;color:var(--cyan);line-height:1.25;min-height:44px}.display-bottom{min-height:24px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#a9c0ca;overflow-wrap:anywhere}.display-bottom strong{color:var(--orange);font-size:24px}.deck{flex:1;min-height:0;overflow-y:auto;padding:10px 12px 12px;scrollbar-width:thin;overscroll-behavior:contain}.mode-row{display:grid;grid-template-columns:1.6fr repeat(4,1fr) 1.5fr;gap:4px;margin-bottom:8px}.mode-row button{font-size:14px;min-width:0;padding:6px 2px}.function-row{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:5px;margin-bottom:10px}.function-row button{font-size:14px;color:#bacdd6}.entry-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:9px}.entry-fields button{text-align:left;padding:7px 10px;min-width:0}.entry-fields small{display:block;letter-spacing:.6px;color:#b0c1c7;font-size:12px}.entry-fields strong{display:block;font-size:24px;margin-top:4px;overflow-wrap:anywhere}.entry-fields button[aria-pressed=true] small{color:var(--orange)}.keypad-and-ops{display:grid;grid-template-columns:minmax(0,4fr) minmax(50px,1fr);gap:7px}.number-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.number-grid button{font-size:25px;min-height:54px;min-width:0}.backspace{grid-column:span 2}.operators{display:grid;grid-template-rows:repeat(5,1fr);gap:6px}.operators button{font-size:28px;color:var(--orange);min-width:0}.primary{background:linear-gradient(#70401d,#382413);border-color:#da7f31;color:#ffbe85}.operators .equals{color:#111;background:var(--orange);font-weight:700}.utility-row{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:6px;margin-top:9px}.utility-row button{font-size:14px}.tape{border-left:1px solid var(--line);background:#0d1c23;display:flex;flex-direction:column;min-height:0;min-width:0;padding:14px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 0 13px;border-bottom:1px solid var(--line)}.section-head h2{color:var(--orange)}.section-head>span{font-size:12px;color:#99b1bc}.tape-list{flex:1;min-height:0;overflow:auto;scrollbar-width:thin}.tape-row{padding:12px 0;border-bottom:1px dashed #354950}.tape-label{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5}.tape-label>span{color:#819ca9;font-family:monospace;flex-shrink:0}.tape-label p{overflow-wrap:anywhere}.subtotal{display:block;width:100%;text-align:right;color:var(--cyan);font-family:Consolas,monospace;font-size:21px;border:0;background:none;overflow-wrap:anywhere}.tape-row input{width:100%;border:0;border-bottom:1px solid #293e48;background:transparent;font-size:14px}.tape-actions{padding-top:10px;display:grid;gap:8px}.tape-actions input{width:100%}.row{display:flex;gap:6px;flex-wrap:wrap}.row>button{flex:1;white-space:nowrap;font-size:14px}.hint{font-size:13px;line-height:1.5;color:#a7bdc7}.empty{font-size:14px;line-height:1.7;text-align:center;color:#9bb3be;padding:32px 8px}.error{padding:10px;background:#4a241b;color:#ffccaf;font-size:14px;line-height:1.5}.update{padding:8px;display:flex;gap:12px;align-items:center}.error button{margin-left:10px}.math-panel,.memory-panel{padding:10px;border:1px solid var(--line);margin-bottom:10px}.math-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:6px}.memory-panel select{width:100%}.tools{padding-top:5px}.tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.tabs button{flex:1;font-size:14px}.tools>select{width:100%;margin:10px 0 0}.tool-field{display:block;margin:12px 0}.tool-field>span{display:block;margin-bottom:6px;font-size:14px;text-transform:capitalize}.tool-field>div{display:flex;gap:6px}.tool-field input{width:100%}.tool-field button{font-size:12px;min-width:80px}.full{width:100%;margin:8px 0}.tool-results>div{display:grid;gap:7px;padding:12px 0;border-bottom:1px solid var(--line)}.tool-results span{font-size:14px}.tool-results strong{color:var(--cyan);font-family:monospace;font-size:22px}.tool-results button{font-size:14px}.help{line-height:1.6}.help p{font-size:15px;margin:14px 0}.help label{display:flex;align-items:center;justify-content:space-between;gap:8px}.saved{padding:14px;overflow:auto;min-width:0}.saved>.row{margin:10px 0}.saved-card{padding:14px;border:1px solid var(--line);border-radius:5px;margin-top:12px;background:#102129}.saved-card h3{font-size:18px;overflow-wrap:anywhere}.saved-card time{font-size:12px;display:block;margin:6px 0;color:#b1c2c9}.saved-card>strong{font:24px Consolas,monospace;color:var(--cyan);overflow-wrap:anywhere}.saved-card summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:14px}.saved-card pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6}nav{display:flex;flex-shrink:0;border-top:1px solid var(--line);padding:5px 10px calc(5px + env(safe-area-inset-bottom));gap:6px;background:#09171d}nav button{flex:1;border:0;background:none;font-size:20px}nav button span{font-size:14px;margin-left:6px}nav button small{font-size:12px;margin-left:8px}.toast{position:fixed;bottom:calc(72px + env(safe-area-inset-bottom));left:16px;right:16px;max-width:650px;margin:auto;padding:12px;background:#164236;border:1px solid var(--green);box-shadow:0 3px 20px #0009;border-radius:5px;font-size:14px;z-index:10}@media(min-width:760px)and (min-height:900px){.number-grid button{min-height:80px;font-size:32px}.entry-fields strong{font-size:32px}.display output{font-size:52px}.display{padding-bottom:18px}.deck{padding-top:16px}.function-row,.mode-row{margin-bottom:16px}}@media(max-width:759px){.local{display:none}header{padding:5px 10px;gap:10px}.brand{font-size:29px}h1{font-size:15px}.workspace{display:flex;flex-direction:column}.calc{flex:1}.hide-mobile,.tape{display:none}.tape.mobile-show{display:flex;flex:1;border-left:0;padding:12px}.saved{flex:1}.display{margin:6px 8px 0;padding:3px 10px 7px}.display output{font-size:32px}.deck{padding:7px 8px 10px}.function-row{margin-bottom:7px}.number-grid button{min-height:48px;font-size:24px}.entry-fields{margin-bottom:7px}.entry-fields strong{font-size:22px}.display-meta,.display-bottom{font-size:11px}.mode-row button{font-size:12px}.utility-row{margin-top:7px}}@media(orientation:landscape)and (max-height:599px){header{padding:2px 10px}.brand{font-size:25px}h1{font-size:14px}.local{display:none}header>button{min-height:32px}.workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr)}.calc{display:flex}.tape{display:flex;padding:8px}.hide-mobile{display:flex}.display{padding:2px 8px;margin:4px 6px 0}.display-meta button{min-height:28px}.display output{font-size:25px;min-height:30px}.display-bottom{min-height:18px;font-size:11px}.deck{padding:5px 6px}.mode-row,.function-row,.entry-fields{margin-bottom:5px}.number-grid button{min-height:44px}.entry-fields strong{font-size:18px}.entry-fields small{font-size:11px}.tape-actions .hint{display:none}nav{padding-top:2px;padding-bottom:calc(2px + env(safe-area-inset-bottom))}nav button{min-height:36px}.tape-only .calc{display:none}.tape-only{grid-template-columns:1fr}}@media(max-width:360px){.function-row button{font-size:12px}.entry-fields small{font-size:11px}.display output{font-size:28px}.mode-row{gap:2px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.decimal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.decimal-grid .backspace{grid-column:span 3}.mode-row{grid-template-columns:repeat(8,minmax(0,1fr))}.mode-row button{line-height:1.15;overflow-wrap:normal}@media(max-width:400px){.mode-row{grid-template-columns:repeat(4,minmax(0,1fr))}}.build-version{color:#aac1ca;letter-spacing:0;font-size:12px;white-space:nowrap}.geometry-pane{min-width:0;min-height:0;overflow-y:auto;border-left:1px solid var(--line);background:#0d1c23;padding:14px;scrollbar-width:thin;overscroll-behavior:contain}.geometry-pane[hidden]{display:none!important}.geometry-pane .section-head{position:sticky;top:-14px;background:#0d1c23;z-index:1;padding:5px 0 10px}.geometry-pane .section-head button{font-size:14px}.geometry-pane .tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:10px 0}.geometry-pane .tabs button{min-width:0;padding:7px 4px}.geometry-field{border:1px solid var(--line);border-radius:5px;margin:12px 0;display:flex;align-items:stretch;background:#102129;min-width:0}.geometry-field.selected{border-color:var(--orange);box-shadow:inset 3px 0 var(--orange)}.geometry-value{min-width:0;flex:1;border:0;background:none!important;text-align:left;padding:12px;display:grid;gap:7px}.geometry-value span{font-size:15px;text-transform:capitalize;color:#cedee5}.geometry-value strong{font:24px Consolas,monospace;color:var(--cyan);overflow-wrap:anywhere}.geometry-value small{font-size:12px;color:#aec1ca}.geometry-field.selected .geometry-value small{color:var(--orange)}.clear-field{align-self:center;margin:5px;font-size:12px;background:none;border:0}.solver-assign{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.solver-assign p{flex:1 1 100%;font-size:14px;color:var(--orange)}.solver-assign>button{flex:1;font-size:15px;overflow-wrap:anywhere}.geometry-toggle{display:none}.solver-workspace .deck{display:flex;flex-direction:column}.solver-workspace .keypad-and-ops{flex:1;min-height:250px}.solver-workspace .number-grid button{min-height:44px}.solver-workspace .entry-fields strong{font-size:23px}@media(min-width:760px){.solver-workspace{grid-template-columns:minmax(0,1.25fr) minmax(310px,1fr)}}@media(max-width:759px)and (orientation:portrait){.solver-workspace .geometry-pane{display:none;flex:1;border-left:0}.solver-workspace.show-geometry .geometry-pane{display:block}.solver-workspace.show-geometry .calc{display:none}.geometry-toggle{display:block}.solver-workspace .keypad-and-ops{min-height:250px;flex:0 0 auto}}@media(orientation:landscape)and (max-height:599px){.solver-workspace{grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr)}.geometry-pane{padding:8px}.geometry-pane .section-head{top:-8px}.solver-workspace .keypad-and-ops{flex:0 0 auto;min-height:244px}.solver-workspace .entry-fields strong{font-size:18px}}.geometry-save{padding:12px;border:1px solid var(--line);border-radius:5px;background:#102129;margin:12px 0}.geometry-save label{display:grid;gap:7px;font-size:14px}.geometry-save input{width:100%}.shape-form>label{display:grid;gap:6px;margin:12px 0;font-size:15px}.shape-form select{width:100%}.geometry-pane .tabs button{overflow-wrap:anywhere}.bent-form label{display:grid;gap:6px;margin:10px 0}.bent-form .row>label{flex:1;min-width:0}.bent-form input{width:100%}.bent-form fieldset{min-width:0;margin:12px 0;border:1px solid var(--line);border-radius:6px;padding:12px}.bent-form fieldset.selected-bend{border-color:var(--orange)}.bent-form summary{padding:12px 0;cursor:pointer}.bend-sketch{width:100%;background:#0b1c23;border:1px solid var(--line);margin-top:12px}.bend-sketch text{fill:#e1e9ec;font-size:13px;paint-order:stroke;stroke:#0b1c23;stroke-width:3px}.bent-form h3{margin-top:16px}.update-panel{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:6px}.update-panel button{margin:5px 0}.delete-update{border:1px solid var(--orange);padding:12px}.update-lock{position:fixed;inset:0;z-index:1000;background:#08151bf0;display:grid;place-items:center;padding:24px;text-align:center;color:var(--cyan);font-size:20px}.settings-page{display:grid;gap:14px;padding:10px 0}.settings-page label{display:grid;gap:8px}.settings-page h3{color:var(--orange);margin-top:12px}.settings-page p{line-height:1.5}.settings-page details{padding:12px 0}.settings-page summary,.catalogue-entry summary{cursor:pointer;min-height:44px;padding:10px 0}.catalogue-entry{margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:5px}.catalogue-entry label{display:grid;gap:6px;margin:8px 0}.catalogue-dimension{display:grid;gap:8px;padding:12px}.catalogue-dimension strong{color:var(--cyan)}.result-setup{margin:14px 0;overflow-wrap:anywhere}.app header>button{margin-left:0}.app header .local{margin-left:auto}@media(max-width:480px){header{gap:6px;padding:6px 8px}header h1{font-size:14px;letter-spacing:1px}header .brand{font-size:28px}header .local{display:none}}.app header{gap:10px}.app-title{flex:1;min-width:0}.app-title h1{font-size:15px;line-height:1.12;letter-spacing:1.4px}.app-title h1 span{display:block}.app-title .build-version{display:block;font-size:10px;margin-top:3px}.brand-icon{display:block;width:52px;height:52px;border-radius:13px}.app header>button{flex-shrink:0;width:44px;padding:6px}.app header .brand{flex-shrink:0}@media(max-width:480px){.app header{gap:7px}.app-title h1{font-size:12px;letter-spacing:1px}.brand-icon{width:44px;height:44px}.app header .brand{font-size:27px}}@media(max-width:340px){.app header{gap:5px;padding-left:6px;padding-right:6px}.app-title h1{font-size:11px;letter-spacing:.5px}.brand-icon{width:40px;height:40px}}@media(orientation:landscape)and (max-height:599px){.app-title h1{font-size:11px}.app-title .build-version{font-size:9px;margin-top:0}.brand-icon{width:38px;height:38px}}.theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.theme-sample{min-width:0;text-align:left;padding:12px!important}.theme-name{display:block;font-size:14px;font-weight:700;margin-bottom:12px}.theme-preview{display:flex;gap:6px;align-items:center;flex-wrap:wrap;color:#68e9f4;font-family:monospace}.theme-preview img{width:36px;height:36px;border-radius:8px}.sample-key{padding:7px 12px;border:1px solid #52616a;border-radius:5px;color:#e8edf1;background:linear-gradient(#35434b,#10191f)}.sample-key.accent{color:#ff922f}.theme-sample.midnight{background:linear-gradient(130deg,#17313a,#08151b)!important;color:#e1e9ec!important}.theme-sample.gloss{background:linear-gradient(140deg,#333538,#050505 65%)!important;color:#f1f1f1!important}.theme-sample[aria-pressed=true]{outline:2px solid var(--orange);outline-offset:1px}:root[data-theme=gloss]{background:#050505;color:#ededed;--line:#393b40;--cyan:#b8f1f7}[data-theme=gloss] .app{background:radial-gradient(ellipse at top left,#252629,#080809 60%)}[data-theme=gloss] header{background:linear-gradient(#303135,#101012 55%,#050506);border-bottom-color:#9b5828;box-shadow:0 2px 10px #0008}[data-theme=gloss] button{background:linear-gradient(#3c3d41,#242528 47%,#141416 50%,#080809);border-color:#4b4c50;color:#eeeeef;box-shadow:inset 0 1px #ffffff20,0 2px 3px #0006}[data-theme=gloss] button[aria-pressed=true],[data-theme=gloss] button.active,[data-theme=gloss] button.primary{background:linear-gradient(#674126,#342114 50%,#1d1510);color:#ffb473;border-color:#e38840}[data-theme=gloss] .operators button{color:var(--orange)}[data-theme=gloss] .operators .equals{background:linear-gradient(#ffc173,#ff922f 48%,#e47519);color:#15100b}[data-theme=gloss] .display{background:linear-gradient(130deg,#292c2e,#090b0c 70%);border-color:#52575a;border-top-color:var(--cyan);box-shadow:inset 0 1px 10px #0008,0 2px 5px #0006}[data-theme=gloss] .display output{text-shadow:0 0 12px #b8f1f718}[data-theme=gloss] .display-meta button,[data-theme=gloss] .subtotal,[data-theme=gloss] .clear-field,[data-theme=gloss] .geometry-value{background:none;box-shadow:none}[data-theme=gloss] .subtotal,[data-theme=gloss] .display-meta button{color:var(--cyan)}[data-theme=gloss] input,[data-theme=gloss] select{background:#111214;color:#ededed}[data-theme=gloss] .tape,[data-theme=gloss] .geometry-pane,[data-theme=gloss] .geometry-pane .section-head{background:#101113}[data-theme=gloss] .geometry-field,[data-theme=gloss] .geometry-save,[data-theme=gloss] .saved-card{background:#191a1d}[data-theme=gloss] nav{background:linear-gradient(#222326,#080809);box-shadow:0 -2px 8px #0005}[data-theme=gloss] nav button{background:none;box-shadow:none}[data-theme=gloss] nav button.active{background:linear-gradient(#614027,#291b11)}[data-theme=gloss] .bend-sketch{background:#111214}[data-theme=gloss] .bend-sketch text{stroke:#111214}[data-theme=gloss] .update-lock{background:#050505f5}.brand-badge{display:grid;place-items:center;width:52px;height:52px;border:1px solid #55575c;border-radius:12px;background:linear-gradient(145deg,#37393d,#09090a 65%);box-shadow:inset 0 1px #ffffff25,0 2px 5px #0008;font-size:25px;font-style:italic;letter-spacing:-2px;color:var(--orange)}.app-title{display:flex;align-items:center;gap:8px}.app-title h1{flex-shrink:0}.app-title .build-version{margin-top:0;font-size:10px;flex-shrink:0}@media(max-width:480px){.brand-badge{width:44px;height:44px;font-size:23px}.app-title{gap:6px}.app-title h1{font-size:11px;letter-spacing:.6px}.app-title .build-version{font-size:9px}}@media(max-width:360px){.app-title{gap:4px}.app-title h1{font-size:10px;letter-spacing:.2px}.app-title .build-version{font-size:8px}.brand-badge{width:36px;height:40px;font-size:21px}.app header{gap:5px}}@media(orientation:landscape)and (max-height:599px){.brand-badge{width:38px;height:38px;font-size:22px}}.display-bottom{flex-wrap:wrap;row-gap:2px}.display-bottom .entered-value{flex-basis:100%;color:#d0dee4;overflow-wrap:anywhere}.pan-sketch{width:100%;background:#111c22;border:1px solid var(--line);margin-top:12px}.pan-sketch text{font:12px Arial,sans-serif;fill:#e6eef1;paint-order:stroke;stroke:#111c22;stroke-width:3px}.stair-pan>h3{margin:12px 0}.detail-card{margin:20px 0;padding:14px;border:1px solid #536168;border-radius:8px;background:var(--panel,#0e191e)}.detail-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.detail-heading h3{margin:0;font-size:1rem}.detail-heading button{font-size:.875rem;padding:8px;min-width:90px}.detail-scroll{overflow:auto;margin-top:12px;background:#101d23;border:1px solid #3b505a}.detail-svg{display:block;width:100%;min-width:440px;color:#e0edf1}.detail-svg.enlarged{width:1000px;max-width:none}.detail-svg text{fill:#e0edf1;font-size:15px;font-family:system-ui,sans-serif;paint-order:stroke;stroke:#101d23;stroke-width:4px;stroke-linejoin:round}.detail-svg .detail-caption{font-size:16px}.wide-flange-card .detail-scroll{background:var(--surface);border-color:var(--line);color:var(--text)}.wide-flange-diagram svg{display:block;width:100%;height:auto}.wide-flange-diagram.enlarged{width:1100px;max-width:none}.wide-flange-diagram [data-export-layer=objects]{stroke:var(--cyan)}.wide-flange-diagram [data-export-layer=annotations]{stroke:currentColor}.wide-flange-diagram text,.wide-flange-diagram path[fill="#111111"]{fill:currentColor}.detail-outline{fill:#294952;stroke:#6de8ed;stroke-width:1.6}.detail-outline .detail-void{fill:#101d23}.detail-line{fill:none;stroke:#6de8ed;stroke-width:2}.detail-center{fill:none;stroke:#758f9c;stroke-width:1;stroke-dasharray:8 5}.detail-dimension{fill:none;stroke:#ccdce3;stroke-width:1}.detail-dimension text{fill:#e0edf1}.detail-dimension circle{fill:#ffc06c}.detail-schedule{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:14px 0 0}.detail-schedule div{padding:8px;border-top:1px solid #44545d}.detail-schedule dt{font-size:.875rem;color:#bdcbd2}.detail-schedule dd{margin:5px 0 0;color:#6de8ed;font-size:1rem;overflow-wrap:anywhere}.quantity-draft{display:block;color:#ffce90;font-size:.85rem;line-height:1.4;overflow-wrap:anywhere;margin:8px 0}.app button.update-available{border:2px solid #a66c60;background:linear-gradient(#382b29,#181516);color:#f0d4cc;box-shadow:0 0 0 1px #70473e44}.app button.update-available:hover:not(:disabled){border-color:#c48c7e;background:linear-gradient(#483330,#241b19)}.app button.update-available:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.app button.update-available:active:not(:disabled){background:#30201d;transform:translateY(1px)}.app button.update-available:disabled{opacity:.55}.live-weight{margin:16px 0;padding:16px;border:1px solid #527f80;border-left:4px solid #78ccc6;border-radius:8px;background:linear-gradient(135deg,#173332,#112423);color:#e6f5f3}.live-weight-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.live-weight-heading h3{margin:0;font-size:1rem;color:#b4e4df}.live-weight-heading span{font-size:.8rem;color:#bdd4d1}.live-weight-value{display:block;margin:7px 0;font-size:2rem;line-height:1.15;letter-spacing:.02em;color:#a8efe2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.live-weight-designation{margin:10px 0;font-weight:600;overflow-wrap:anywhere}.live-weight-dimensions{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px 14px;margin:12px 0}.live-weight-dimensions dt{font-size:.8rem;color:#c0d4d1}.live-weight-dimensions dd{margin:4px 0 0;font-weight:600;overflow-wrap:anywhere}.live-weight.incomplete .live-weight-dimensions dd{color:#ffaaa4}.live-weight .hint{margin:12px 0;font-size:.85rem;color:#b9d1cc}.live-weight small{display:block;margin-top:8px;color:#b9d1cc;line-height:1.4}.live-weight button.full{width:100%;min-height:44px}@media(max-width:420px){.live-weight{padding:12px}.live-weight-dimensions{grid-template-columns:repeat(2,minmax(0,1fr))}}.mode-row .smart-mode span{display:block;font-weight:600}.app{position:relative}.calculator-controls{display:flex;gap:4px;order:9;margin-left:auto}.calculator-controls button{padding:6px 10px;min-width:36px}.function-row{flex-wrap:wrap}.calculator-dialog{position:absolute;inset:0;z-index:30;background:var(--bg,#08151b);color:var(--text,#e8f3f5);overflow:auto;padding:12px;overscroll-behavior:contain}[data-theme=gloss] .calculator-dialog{background:#101113;color:#ededed}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:-12px;background:inherit;z-index:2;padding:8px 0}.dialog-heading h2{margin:0}.app{container-type:size;container-name:calculator;min-height:0}.deck{display:flex;flex-direction:column;gap:8px}.deck>.mode-row,.deck>.function-row,.deck>.entry-fields{margin-bottom:0;flex-shrink:0}.deck>.keypad-and-ops{flex:1 0 auto;min-height:max-content}.deck>.utility-row{margin-top:0;flex-shrink:0}.number-grid button{min-height:44px}.operators button{padding:4px}.calculator-release{font-size:11px;color:#b9cbd1;white-space:nowrap}.dialog-heading>div{display:grid;gap:4px}.phone-options{padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:12px}.phone-options p{line-height:1.5;margin:10px 0}.phone-options .row button{white-space:normal}.settings-page input[type=checkbox]{width:24px;height:24px;min-height:24px;accent-color:var(--orange)}.settings-page .checkbox-setting{display:flex;align-items:center;gap:10px;min-height:44px}.mode-row.imperial-buttons{grid-template-columns:repeat(6,minmax(0,1fr))}@container calculator (max-width:759px){.deck{display:flex;flex-direction:column;gap:4px;padding:4px 8px}.deck button{min-height:40px;padding:4px 2px}.mode-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0;flex-shrink:0}.mode-row.imperial-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.function-row,.entry-fields{margin:0;flex-shrink:0}.deck>.keypad-and-ops{flex:1 0 auto;min-height:max-content}.number-grid{grid-template-rows:repeat(5,minmax(42px,1fr));gap:4px}.number-grid button{min-height:42px;font-size:24px;padding:3px}.operators{gap:4px}.operators button{min-height:42px;padding:3px}.utility-row{margin:0;flex-shrink:0}.display{margin:5px 8px 0;padding:2px 10px 5px}.display output{font-size:30px;min-height:38px}.display-meta button{min-height:32px}.display-bottom{min-height:20px}nav{padding:3px 6px calc(3px + env(safe-area-inset-bottom));gap:3px}nav button{padding:4px;font-size:16px;min-width:40px;min-height:40px}nav button span{font-size:12px;margin-left:3px}.calculator-controls{gap:2px}.calculator-controls button{min-width:40px;min-height:40px;padding:4px}}@container calculator (max-width:759px) and (max-height:650px){.deck{gap:4px;padding-top:4px;padding-bottom:4px}.display output{font-size:28px;min-height:35px}.display-bottom,.app-title h1{font-size:11px}}.deck>.math-panel,.deck>.memory-panel,.deck>.solver-assign{flex-shrink:0}:root{--surface:#101e2c;--surface-raised:#192b3b;--canvas:#09131f;--text:#edf4fa;--muted:#afc1d1;--line:#385167;--cyan:#55d7ff;--orange:#55d7ff;--green:#50d9ab;--active:#133f55;--danger:#ff7882;background:var(--canvas);color:var(--text)}:root[data-theme=light]{--surface:#fff;--surface-raised:#edf2f8;--canvas:#f5f7fb;--text:#112c43;--muted:#465c72;--line:#a8bbce;--cyan:#005fb8;--orange:#005fb8;--green:#08734e;--active:#deedff;--danger:#b51f32;color-scheme:light}:root[data-theme=field]{--surface:#071914;--surface-raised:#102d25;--canvas:#020c09;--text:#fff;--muted:#cee7dd;--line:#648e7e;--cyan:#4bffad;--orange:#4bffad;--green:#4bffad;--active:#164d36;--danger:#ff8790;color-scheme:dark}.app,.workspace,.deck,.geometry-pane,.tape,.saved,.tools,.help,.settings-page,.calculator-dialog,.dialog-heading,nav,header{background:var(--canvas);color:var(--text)}header{border-bottom-color:var(--line)}.brand,.brand-badge{color:var(--text);background:none;border:0;box-shadow:none}.brand:before{content:"▰";font-size:.65em;color:var(--cyan);margin-right:7px;vertical-align:middle}button,input,select,textarea{background:var(--surface-raised);color:var(--text);border-color:var(--line);font:inherit}button{box-shadow:none;background-image:none}button.active,button[aria-pressed=true],button.primary,.primary{background:var(--active);color:var(--cyan);border-color:var(--cyan)}button:disabled{opacity:.45}.operators .equals{background:var(--cyan);color:var(--canvas)}.display,.geometry-field,.live-weight,.tool-results>div,.saved-card,.math-panel,.memory-panel,.calculator-dialog .settings-page,.calculator-dialog .help{background:var(--surface);color:var(--text);border-color:var(--line)}.display-meta,.display-bottom,.hint,.geometry-value small,.section-head>span,.empty,.settings-page p,.settings-page .hint,.help p{color:var(--muted)}.function-row button,.entry-fields small,.geometry-value,.geometry-value span,.tool-results span,.live-weight-designation{color:var(--text)}.settings-page h3,.help h3,.section-head h2{color:var(--cyan)}.error,.quantity-draft{color:var(--danger)}.destructive{color:var(--danger);border-color:var(--danger)}.geometry-field.selected{border-color:var(--cyan)}.geometry-value{background:transparent}.geometry-value strong{color:var(--text)}.solver-assign{background:var(--surface)}.bom-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.bom-header h3{font-size:17px;color:var(--text);overflow-wrap:anywhere}.bom-header>span{font-size:12px;text-align:right;flex-shrink:0}.live-weight{padding:10px;margin:8px 0}.live-weight-value{font-size:clamp(25px,4vw,38px);color:var(--cyan);display:block;margin-top:6px}.live-weight small{color:var(--muted)}.compact-dimensions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.compact-dimensions .geometry-field{margin:0;padding:0;display:flex;flex-direction:column}.compact-dimensions .geometry-value{padding:7px;min-height:76px}.compact-dimensions .geometry-value span{font-size:12px}.compact-dimensions .geometry-value strong{font-size:18px;margin:4px 0}.compact-dimensions .clear-field{min-height:44px;font-size:12px}.compact-dimensions>div{min-width:0}.compact-dimensions select{font-size:12px;width:100%}.history-list{flex:1;overflow:auto;min-height:80px}.history-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(75px,auto) 44px;gap:4px 8px;align-items:center;border-bottom:1px solid var(--line);padding:7px 0}.history-description{text-align:left;font-size:14px;min-width:0;overflow-wrap:anywhere;border:0;background:none;padding:4px 0}.history-description small{display:block;color:var(--muted)}.history-result{font-size:14px;text-align:right;color:var(--cyan);max-width:150px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.history-pin{width:44px;height:44px;padding:0;justify-self:end;background:none;border:1px solid transparent;font-size:23px}.history-pin.protected{border-color:var(--green)}.history-note{grid-column:1/3;width:100%;resize:vertical;min-height:44px;padding:8px;font-size:14px;border:1px solid var(--line);border-radius:4px}.saved{display:flex;flex-direction:column;min-height:0}.saved .history-list{flex:1}.record-export{padding:8px 0;border-top:1px solid var(--line);max-height:45vh;overflow:auto;flex-shrink:0}.record-export summary{min-height:44px;cursor:pointer;padding:10px 0}.export-fields,.data-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.export-fields label{display:flex;align-items:center;gap:7px;font-size:13px;min-height:44px}.export-fields input[type=checkbox]{min-height:20px;width:20px;height:20px}.data-controls{padding:16px}.data-controls h3{margin-bottom:12px}.data-controls small{display:block;color:var(--muted);margin-top:8px}.clear-confirm{border:1px solid var(--danger);padding:12px;margin-top:12px}.clear-confirm p{margin-bottom:8px}.clear-confirm label{display:block;margin:8px 0}.clear-confirm input{display:block;width:100%;margin-top:6px}.theme-options{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-sample{background:var(--surface);color:var(--text);min-width:0}.theme-name{font-size:15px}.theme-preview{gap:4px;flex-wrap:wrap}.theme-preview b{font-size:18px;color:var(--cyan)}.theme-sample .sample-key{padding:6px;background:var(--surface-raised);color:var(--text)}@media(max-width:759px){.history-row{gap:4px 6px}.history-result{max-width:110px}.bom-header h3{font-size:15px}.theme-preview .sample-key{display:none}.theme-options{gap:5px}.compact-dimensions .geometry-value strong{font-size:16px}.export-fields{grid-template-columns:1fr 1fr}.history-description{font-size:13px}}.toast{background:var(--surface-raised);color:var(--text);border-color:var(--green)}.brand:before{content:"";display:inline-block;width:17px;height:4px;background:var(--cyan);box-shadow:0 -6px var(--cyan),0 6px var(--cyan);transform:skewY(-27deg);margin-right:9px}.theme-sample.steel{background:#101e2c;color:#edf4fa}.theme-sample.light{background:#fff;color:#112c43}.theme-sample.field{background:#071914;color:#fff}.theme-sample.steel .theme-preview,.theme-sample.steel b{color:#55d7ff}.theme-sample.light .theme-preview,.theme-sample.light b{color:#005fb8}.theme-sample.field .theme-preview,.theme-sample.field b{color:#4bffad}.display-meta{height:36px;min-height:36px}.display-meta>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.display-meta>button{flex-shrink:0}.display output{white-space:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overflow-wrap:normal}.display-bottom{display:grid;grid-template-columns:minmax(0,1fr) 28px;grid-template-rows:16px 24px;gap:0 8px;height:40px;min-height:40px;align-items:center}.display-bottom .entered-value{grid-column:1/-1;grid-row:1;white-space:nowrap;overflow:auto;scrollbar-width:none}.display-bottom>span:not(.entered-value){grid-column:1;grid-row:2;white-space:nowrap;overflow:auto;scrollbar-width:none}.display-bottom>strong{grid-column:2;grid-row:2;text-align:center;line-height:24px;font-size:24px}@container calculator (max-width:759px){.display-meta{height:32px;min-height:32px}}.settings-save-prompt{position:sticky;top:0;z-index:5;background:var(--surface);color:var(--text);border:2px solid currentColor;padding:12px;margin-bottom:12px;border-radius:8px}.settings-save-prompt .row{flex-wrap:wrap}.export-file{border:1px solid var(--accent);padding:16px;margin:12px 0;background:var(--surface);color:var(--text);overflow-wrap:anywhere}.export-file .button{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid currentColor;border-radius:6px;color:inherit}.export-selection{display:flex;gap:10px;align-items:center;padding:8px 0;min-height:44px}.diagram-export{margin:12px 0;padding:12px;border:1px solid var(--border)}.diagram-export summary{cursor:pointer;min-height:32px}.pan-reference-diagram svg{width:100%;height:auto;display:block}.pan-reference-diagram.enlarged{min-width:900px}.anchors{font-size:1rem;min-width:0}.anchors>h3{margin:16px 0}.anchors label{display:grid;gap:7px;margin:12px 0;font-size:.9375rem}.anchors select,.anchors input{width:100%;min-width:0;min-height:46px}.anchors .hint{font-size:.875rem;line-height:1.5}.anchor-draft{border:1px solid #dc9853;border-left:4px solid #ffad52;padding:10px 12px;background:#352513;color:#ffce90;font-size:.9375rem;font-weight:700;position:sticky;top:64px;z-index:4}.anchor-draft small{display:block;font-weight:400;font-size:.8125rem;margin-top:4px}.anchor-pickers{display:grid;gap:0 12px}.anchor-notice{border:1px solid var(--line);border-radius:5px;padding:12px;margin:12px 0;font-size:.9375rem;line-height:1.5}.anchor-notice p{margin:6px 0}.anchor-product{margin:16px 0}.anchor-product h3{margin-bottom:5px}.anchor-product small{font-size:.875rem;color:#b7c6ce}.anchor-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:16px 0}.anchor-facts>div{border-top:1px solid var(--line);padding:10px 0}.anchor-facts dt{font-size:.875rem;color:#b7c6ce}.anchor-facts dd{margin:5px 0 0;overflow-wrap:anywhere;color:var(--cyan)}.anchors summary{padding:12px 0;min-height:44px;cursor:pointer}.anchor-source{margin:16px 0;font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}.anchor-source a{color:var(--cyan)}.anchor-view{margin-top:12px}.anchor-diagram{padding:12px}.anchor-svg{display:block;width:100%;min-width:300px;color:#d4e5e9}.anchor-svg.enlarged{width:950px;max-width:none}.anchor-svg text{fill:#dde9ec;font:16px system-ui,sans-serif;paint-order:stroke;stroke:#101d23;stroke-width:3px;stroke-linejoin:round}.anchor-svg .anchor-watermark{fill:#ffca88;font-size:16px;font-weight:600}.anchor-primitive{stroke:#8de4ec;stroke-width:1.5;fill:none}.anchor-primitive.anchor-outline{fill:#24464f}.anchor-primitive.schematic{stroke-dasharray:4 3;stroke:#819aa4}.anchor-primitive.concrete{fill:#293237;stroke:#8e9b9e}.anchor-primitive.fixture{fill:#625239;stroke:#ffc38a}.anchor-primitive.grout{fill:#565257;stroke:#b8bcc0}.anchor-dimension{stroke:#e0eced;stroke-width:1;fill:none}.anchor-dimension text{stroke:#101d23;stroke-width:4px;fill:#e0eced}.anchor-fixture .geometry-value small{font-size:.8125rem}.anchor-fixture .geometry-value span{font-size:.9375rem}@media(min-width:1050px){.anchor-pickers{grid-template-columns:repeat(2,minmax(0,1fr))}.anchor-pickers>.anchor-notice{grid-column:1/-1}}@media(max-width:400px){.anchor-diagram{padding:7px}.anchor-draft{font-size:.8125rem}.anchor-facts{grid-template-columns:1fr 1fr}.anchor-diagram .detail-heading{gap:6px}.anchor-diagram .detail-heading h3{font-size:.9375rem}}.anchor-svg text{font-size:24px}.anchor-svg .anchor-watermark{font-size:20px}.anchor-diagram{scroll-margin-top:132px}.anchors .anchor-facts dd{font-size:1rem}.anchor-label-leader{stroke-dasharray:3 4;opacity:.65}.anchor-dimension-key{margin:16px 0}.anchor-dimension-key>div{border-top:1px solid var(--line);padding:12px 0}.anchor-dimension-key dt{font-weight:600;color:var(--cyan)}.anchor-dimension-key dd{margin:5px 0 0;font-size:.9375rem;line-height:1.5}.anchor-category{display:grid;align-content:start;gap:7px;margin:12px 0}.anchor-category>span{font-size:.9375rem}.anchor-category>strong{font-size:1rem}.anchor-category>small{font-size:.875rem;line-height:1.5;color:#b7c6ce}.anchor-primitive.adhesive{fill:#d3a45455;stroke:#d3a454}.anchor-primitive.derived{stroke:#d3a454}.anchor-category select{width:100%}.anchor-category{grid-column:1/-1}.anchor-dimension-key dd{margin:0}.anchor-facts dd{overflow-wrap:anywhere}.anchor-report{min-width:0}.anchor-report h4{color:var(--orange);font-size:1rem;margin:24px 0 10px}.anchor-report .anchor-draft{position:static}.anchor-report-fields{margin:0}.anchor-report-fields>div{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,2fr);gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}.anchor-report-fields dt{color:#b7c6ce;font-size:.875rem}.anchor-report-fields dd{margin:0;overflow-wrap:anywhere;font-size:.9375rem;line-height:1.5}.anchor-technical summary{cursor:pointer;padding:16px 0}.anchor-technical pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:500px;overflow:auto;font-size:.8rem}.anchor-product p,.anchors label,.anchor-pickers small{overflow-wrap:anywhere}.anchor-pickers select{overflow:hidden;text-overflow:ellipsis}.anchor-report .detail-card{margin:20px 0}.anchor-svg{min-width:0}.anchor-dimension text{font-size:24px}.anchor-draft{position:static}.anchor-diagram .detail-scroll{scroll-margin-top:90px}.simple-manufacturers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 18px}.simple-manufacturers button{min-width:0;min-height:48px;padding:10px 6px;font-size:1rem}.anchor-simple .anchor-pickers{gap:2px 16px}.anchor-simple .simple-product{grid-column:1/-1}.anchor-simple label{font-size:1rem}.anchor-simple select{font-size:1rem;min-height:52px}.anchor-simple .simple-save{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.simple-save input{margin-bottom:10px}.anchor-simple .simple-default-note{margin:6px 0;color:var(--muted)}.anchor-simple>.full{margin-top:20px}.anchor-simple-report .anchor-report-fields dd{color:var(--cyan)}.anchor-simple .anchor-pickers{grid-template-columns:repeat(2,minmax(0,1fr))}.anchor-simple .simple-finish{grid-column:1/-1}.anchor-simple label{margin:8px 0}.geometry-pane:has(.anchor-simple)>.geometry-toggle{display:none}.workspace:has(.anchor-simple) .solver-assign{display:none}.anchor-simple .simple-save{padding:0;border:0;background:none}.simple-save input{margin:10px 0 0}@media(max-width:500px){.simple-manufacturers{gap:6px}.simple-manufacturers button{font-size:.9375rem}.anchor-simple .simple-save{margin-top:16px}.geometry-pane:has(.anchor-simple) .tools>.tabs{margin-top:0}}@media(max-width:400px){.anchor-report-fields>div{grid-template-columns:1fr;gap:4px}.anchor-facts{grid-template-columns:1fr}.anchor-report .detail-heading{flex-wrap:wrap}.anchor-report{font-size:.9375rem}}
