:root{color:#1c1917;font-synthesis:none;--charcoal:#1c1917;--ink-soft:#605a54;--cream:#f7f4ef;--paper:#fffdf8;--gold:#c4913b;--gold-dark:#76531e;--focus:#4f3500;--line:#1c191729;--serif:"Old Standard TT", "Iowan Old Style", "Palatino Linotype", serif;background:#f7f4ef;font-family:Jost,Avenir Next,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--cream);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,summary,input,select{min-height:44px}button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip-link{z-index:100;color:#fff;background:var(--charcoal);padding:.7rem 1rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}button:disabled,select:disabled{opacity:.62;cursor:not-allowed}.app-shell{background:radial-gradient(circle at 85% 8%, #c4913b1c, transparent 28rem), repeating-linear-gradient(100deg, transparent 0 38px, #1c191705 39px 40px), var(--cream);min-height:100vh}.topbar{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:2rem;min-height:82px;padding:0 4vw;display:grid}.brand{align-items:center;gap:.8rem;display:flex}.brand img{border-radius:11px;width:42px;height:42px}.brand strong{font-family:var(--serif);letter-spacing:.02em;font-size:1.05rem}.brand span{color:var(--ink-soft);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;display:block}.topbar h1{font-family:var(--serif);margin:0;font-size:clamp(1.1rem,2vw,1.45rem);font-weight:400}.mode-tag{letter-spacing:.08em;text-transform:uppercase;justify-self:end;align-items:center;gap:.55rem;font-size:.78rem;display:flex}.mode-tag:before{content:"";background:#56735c;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #56735c24}.topbar-actions{justify-self:end;align-items:center;gap:.8rem;display:flex}.logout-button{border:1px solid var(--line);background:var(--paper);color:var(--charcoal);padding-inline:.8rem}.workspace{width:min(1480px,100%);margin:0 auto;padding:1.25rem clamp(1rem,4vw,4.5rem) 7rem}.snapshot-banner{border:1px solid var(--line);background:#fffdf8b8;align-items:center;gap:.8rem;width:fit-content;margin-left:auto;padding:.62rem .85rem;display:flex}.snapshot-banner div{gap:.1rem;display:grid}.snapshot-banner strong{font-size:.78rem}.snapshot-banner span{color:var(--ink-soft);font-size:.68rem}.snapshot-banner .snapshot-mark{color:#3e674b;font-size:.78rem;animation:2.4s ease-in-out infinite status-breathe}.sync-bar{color:var(--ink-soft);justify-content:flex-end;align-items:center;gap:.8rem;margin:.8rem 0;font-size:.78rem;display:flex}.sync-bar small{margin-right:auto}.sync-bar button,.login-card button{border:1px solid var(--charcoal);background:var(--charcoal);color:var(--cream);padding:.65rem 1rem}.login-card{border:1px solid var(--line);background:var(--paper);max-width:32rem;margin:clamp(3rem,10vw,8rem) auto;padding:clamp(1.5rem,5vw,3rem)}.login-card h2{font-family:var(--serif);margin:0 0 .6rem;font-size:clamp(2rem,6vw,3.2rem);font-weight:400}.login-card>p{color:var(--ink-soft);line-height:1.55}.login-card form{gap:.5rem;margin-top:1.5rem;display:grid}.login-card label{font-size:.78rem;font-weight:650}.login-card input:not([type=checkbox]){border:1px solid var(--line);background:var(--cream);width:100%;padding:.7rem}.login-card .remember{color:var(--ink-soft);align-items:center;gap:.5rem;margin:.45rem 0;font-weight:400;display:flex}.login-error{color:#8d2f27}.screen-state{border:1px solid var(--line);background:var(--paper);text-align:center;max-width:44rem;margin:clamp(4rem,12vw,9rem) auto;padding:clamp(1.5rem,4vw,3rem)}.screen-state>span{border:1px solid var(--gold-dark);width:3rem;height:3rem;color:var(--gold-dark);border-radius:50%;place-items:center;font-weight:700;display:inline-grid}.screen-state h2{font-family:var(--serif);margin:1rem 0 .5rem;font-size:clamp(1.8rem,5vw,3rem);font-weight:400}.screen-state p{color:var(--ink-soft);margin:0;line-height:1.65}.screen-state button{border:1px solid var(--charcoal);background:var(--charcoal);color:var(--cream);margin-top:1.25rem;padding:.7rem 1rem}.calculator-intro{grid-template-columns:minmax(0,1.4fr) minmax(16rem,.6fr);align-items:end;gap:3rem;padding:clamp(3rem,7vw,6.5rem) 0 3.5rem;display:grid}.eyebrow{color:var(--gold-dark);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.75rem;font-size:.7rem;font-weight:650;display:block}.eyebrow.light{color:#e8c078}.calculator-intro h2{font-family:var(--serif);letter-spacing:-.045em;margin:0;font-size:clamp(2.8rem,6vw,6.4rem);font-weight:400;line-height:.9}.calculator-intro h2 em{color:var(--gold-dark);font-weight:400}.calculator-intro>p{max-width:31rem;color:var(--ink-soft);margin:0 0 .6rem;line-height:1.75}.calculator-layout{grid-template-columns:minmax(0,1.45fr) minmax(20rem,.55fr);align-items:start;gap:clamp(1.5rem,4vw,4rem);display:grid}.calculator-form{gap:1.25rem;display:grid}.calculator-form fieldset,.material-section{border:1px solid var(--line);background:#fffdf8c2;margin:0;padding:clamp(1.25rem,3vw,2.2rem);box-shadow:0 18px 60px #382b170b}.calculator-form legend{font-family:var(--serif);padding:0 .65rem;font-size:1.25rem}.calculator-form legend span{border:1px solid var(--gold);width:28px;height:28px;color:var(--gold-dark);border-radius:50%;place-items:center;margin-right:.45rem;font-family:Jost,sans-serif;font-size:.66rem;display:inline-grid}.field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;display:grid}.wide{grid-column:1/-1}.decimal-field,.select-field{align-content:start;gap:.45rem;min-width:0;display:grid}.decimal-field label,.select-field label{letter-spacing:.035em;font-size:.76rem;font-weight:650}.input-frame{border-bottom:1px solid var(--charcoal);background:#ffffff8a;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.input-frame:focus-within{border-color:var(--gold-dark);box-shadow:0 2px 0 var(--gold-dark)}.input-frame input{width:100%;min-width:0;color:var(--charcoal);font-family:var(--serif);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;padding:.78rem .2rem .66rem .75rem;font-size:1.25rem}.input-frame input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.input-frame span{color:var(--ink-soft);padding:0 .75rem;font-size:.75rem}.decimal-field p,.select-field p,.material-note{color:var(--ink-soft);margin:0;font-size:.68rem;line-height:1.45}.decimal-field p.error{color:#8d2f27}.decimal-field.has-error .input-frame{border-color:#8d2f27}.select-field select{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--charcoal);border-radius:0;padding:0 .8rem}.section-heading,.material-card{justify-content:space-between;align-items:center;gap:1rem;display:flex}.section-heading h3{font-family:var(--serif);margin:0;font-size:1.35rem;font-weight:400}.quiet-button{border:1px solid var(--line);color:var(--charcoal);background:0 0;padding:0 .85rem}.material-note{margin-top:.6rem}.material-card{border-top:1px solid var(--line);margin-top:1.4rem;padding:1.1rem 0 0}.material-card>div:first-child{gap:.25rem;display:grid}.material-card>div:first-child span{color:var(--ink-soft);font-size:.72rem}.material-card .decimal-field{width:min(12rem,42%)}.desktop-results{position:sticky;top:1.25rem}.results-panel{color:var(--cream);background:var(--charcoal);overflow:hidden;box-shadow:0 24px 80px #1c191733}.results-panel header{border-bottom:1px solid #f7f4ef29;padding:2rem 2rem 1.5rem;position:relative}.results-panel header:after{content:"";border:1px solid #c4913b61;border-radius:50%;width:10rem;height:10rem;position:absolute;top:-3rem;right:-2rem}.results-panel h2{font-family:var(--serif);margin:0;font-size:2.4rem;font-weight:400}.locked-status{color:#f0d8aa;align-items:center;gap:.55rem;margin:1rem 0 0;font-size:.78rem;display:flex}.locked-status span{color:var(--gold);font-size:.7rem}.cost-list{margin:0;padding:1.2rem 2rem}.cost-list div{color:#d0cbc3;border-bottom:1px solid #f7f4ef1a;justify-content:space-between;gap:1rem;padding:.72rem 0;display:flex}.cost-list dt,.cost-list dd{margin:0}.cost-list dd{font-family:var(--serif);font-variant-numeric:tabular-nums}.cost-list .total{color:#fff;border:0;margin-top:.55rem;font-size:1.2rem}.result-lock{background:#c4913b14;border:1px solid #c4913b66;grid-template-columns:auto 1fr;gap:.85rem;margin:0 1.2rem 1.2rem;padding:1rem;display:grid}.result-lock>span{color:var(--gold)}.result-lock p{color:#d9d2c7;margin:0;font-size:.76rem;line-height:1.55}.results-panel footer{color:#9f9991;letter-spacing:.08em;text-transform:uppercase;background:#11100f;justify-content:space-between;padding:.9rem 2rem;font-size:.66rem;display:flex}.results-panel footer strong{color:#d0cbc3}.mobile-result-bar{display:none}.update-notice{z-index:20;max-width:25rem;color:var(--cream);background:var(--charcoal);padding:1rem;position:fixed;bottom:1rem;right:1rem;box-shadow:0 16px 50px #00000047}.update-notice p{margin:0 0 .8rem}.update-notice button{border:1px solid var(--gold);background:var(--gold);width:100%;color:var(--charcoal);font-weight:700}@keyframes status-breathe{0%,to{opacity:.62;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}@media (width<=880px){.topbar{grid-template-columns:1fr auto;padding:0 1rem}.topbar h1{display:none}.calculator-intro{grid-template-columns:1fr;gap:1.5rem;padding-top:3.5rem}.calculator-layout{grid-template-columns:1fr}.desktop-results{display:none}.mobile-result-bar{z-index:10;color:var(--cream);background:var(--charcoal);display:block;position:fixed;bottom:.75rem;left:.75rem;right:.75rem;box-shadow:0 18px 50px #0000004d}.mobile-result-bar summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.72rem 1rem;list-style:none;display:flex}.mobile-result-bar summary::-webkit-details-marker{display:none}.mobile-result-bar summary>span:first-child{display:grid}.mobile-result-bar small{color:#aaa39b;font-size:.65rem}.mobile-result-bar strong{font-family:var(--serif);font-size:1.25rem}.summary-action{color:#f0d8aa;font-size:.72rem}.mobile-result-bar>div{border-top:1px solid #f7f4ef26;padding:1rem}.mobile-result-bar p{color:#c9c2ba;margin:.35rem 0 0;font-size:.75rem;line-height:1.5}}@media (width<=580px){.workspace{padding-inline:.75rem}.snapshot-banner{width:100%;margin-top:.75rem}.calculator-intro h2{font-size:clamp(2.55rem,15vw,4.1rem)}.field-grid{grid-template-columns:1fr 1fr}.wide,.field-grid .decimal-field:last-child{grid-column:1/-1}.material-card{flex-direction:column;align-items:flex-start}.material-card .decimal-field{width:100%}.mode-tag span,.mode-tag{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
