:root{--safe-top:env(safe-area-inset-top);color:#f6f2eb;font-synthesis:none;text-rendering:optimizelegibility;background:#090909;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{overscroll-behavior:none;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;margin:0;overflow:hidden}body{color:#f6f2eb;background:radial-gradient(circle at 50% -20%,#2c2118 0,#10100f 36%,#080808 78%);position:fixed;inset:0}button,input{font:inherit}button{cursor:pointer}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{touch-action:manipulation;background:#121212;flex-direction:column;width:min(100%,430px);height:100dvh;min-height:0;margin:0 auto;padding:0 16px;display:flex;overflow:hidden;box-shadow:0 0 80px #0009}.app-header{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:12px;display:grid}.brand-mark{color:#17110b;background:#f28a22;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.brand-mark svg{width:24px;height:24px}.brand-copy{min-width:0}.brand-copy h1{margin:0;font-size:16px;font-weight:650;line-height:1.1}.brand-copy p{color:#97928b;margin:3px 0 0;font-size:11px;line-height:1.2}.favorites-button{color:#f28a22;background:#211c17;border:1px solid #4a4037;border-radius:12px;justify-content:center;align-items:center;gap:5px;min-width:48px;height:38px;padding:0 9px;display:flex}.favorites-button svg{width:18px}.app-scroll{min-width:0;max-width:100%;min-height:0;padding-top:calc(13px + env(safe-area-inset-top));overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#4b3726 transparent;flex:auto;overflow:hidden auto}.calculator-screen{min-width:0;padding-bottom:12px}.dimension-section{min-width:0;padding:2px 0 0}.dimension-section.guided{background:linear-gradient(145deg,#1e1a16,#171614);border:1px solid #4b3929;border-radius:17px;margin-top:clamp(4px,3vh,24px);padding:13px 12px 14px;box-shadow:inset 0 1px #ffffff08}.dimension-toolbar{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.dimension-title{min-width:0}.dimension-title>div{align-items:baseline;gap:7px;display:flex}.dimension-title h2{color:#f3ede5;margin:0;font-size:15px;font-weight:500;line-height:1.2}.dimension-title span:not(.step-badge){color:#918a82;white-space:nowrap;font-size:12px}.step-badge{color:#f28a22;letter-spacing:.07em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:650;display:inline-block}.unit-switch{background:#0f0f0e;border:1px solid #4a4540;border-radius:999px;align-self:start;padding:2px;display:flex}.unit-switch button{color:#928b83;background:0 0;border:0;border-radius:999px;min-width:27px;height:34px;padding:0 6px;font-size:13px}.unit-switch button[aria-pressed=true]{color:#17110b;background:#f28a22}.clear-button{color:#aaa198;white-space:nowrap;background:#181715;border:1px solid #48433d;border-radius:10px;min-height:34px;padding:0 8px;font-size:11px}.dimension-grid{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:start;gap:7px;display:grid}.dimension-field{min-width:0}.dimension-field input{color:#fffaf2;text-align:center;text-overflow:clip;background:#1a1917;border:1px solid #4a443e;border-radius:12px;outline:none;width:100%;min-width:0;max-width:100%;padding:13px 7px;font-size:18px;font-weight:550;overflow:hidden}.dimension-field input::placeholder{color:#756e67;opacity:1}.dimension-field input:focus{border-color:#f28a22;box-shadow:0 0 0 2px #f28a2220}.dimension-field small{color:#b1a89f;text-align:center;text-overflow:ellipsis;white-space:nowrap;min-height:18px;margin-top:5px;font-size:12px;line-height:1.25;display:block;overflow:hidden}.dimension-field small.field-error{color:#e3936c}.dimension-field.suspicious input{color:#ffad69;background:#241611;border-color:#d26b38;box-shadow:0 0 0 2px #d26b3818}.dimension-field small.field-warning{color:#ee9a62;text-overflow:clip;white-space:normal;height:auto;font-size:10px;line-height:1.2;overflow:visible}.dimension-warning-actions{color:#f1a269;text-align:center;background:#241711;border:1px solid #75452d;border-radius:11px;margin-top:8px;padding:8px;font-size:11px}.dimension-warning-actions>div{justify-content:center;gap:6px;margin-top:6px;display:flex}.dimension-warning-actions button{color:#e9dfd5;background:#171513;border:1px solid #684531;border-radius:9px;min-height:29px;padding:4px 8px;font-size:10px}.dimension-warning-actions button:first-child{color:#ff9b37;background:#2b1d12;border-color:#f28a22}.dimension-prompt{color:#f0b275;text-align:center;margin:0 0 8px;font-size:13px;line-height:1.35}.save-button{color:#aaa198;white-space:nowrap;background:#181715;border:1px solid #48433d;border-radius:10px;min-height:32px;padding:5px 9px;font-size:11px}.save-button.saved{color:#ff9b37;background:#2b1d12;border-color:#f28a22}.orange-rule{background:#f28a22;border-radius:4px;height:3px;margin:11px 0 12px}.locked-step{color:#77716b;text-align:center;border:1px dashed #3a3530;border-radius:15px;min-height:118px;padding:28px 14px}.locked-step span{font-size:15px}.locked-step p{margin:6px 0 0;font-size:13px}.calculation-section{min-width:0}.calculation-heading{justify-content:space-between;align-items:flex-end;gap:8px;margin-bottom:8px;display:flex}.calculation-heading>div{min-width:0}.calculation-heading h2{color:#f2ece4;margin:0;font-size:15px;font-weight:500;line-height:1.2}.calculation-heading>span{color:#918a82;white-space:nowrap;font-size:11px}.row-column-heads{color:#7f7871;grid-template-columns:minmax(112px,1fr) minmax(94px,1.02fr) minmax(92px,1fr);gap:7px;padding:0 4px 5px;font-size:11px;display:grid}.row-column-heads span:nth-child(n+2){text-align:center}.calculation-rows{gap:7px;display:grid}.calculation-row{background:#181715;border:1px solid #3d3934;border-radius:13px;grid-template-columns:30px minmax(78px,1fr) minmax(94px,1.02fr) minmax(92px,1fr);align-items:center;gap:6px;min-width:0;padding:7px 8px;display:grid}.calculation-icon{color:#d3c5b7;place-items:center;width:30px;height:30px;display:grid}.calculation-icon svg{stroke-width:1.6px;width:27px;height:27px}.calculation-row h3{color:#ede6dd;min-width:0;margin:0;font-size:16px;font-weight:400;line-height:1.12}.calculation-row[data-unit=linear] h3{font-size:13px;line-height:1.15}.calculation-copy{min-width:0}.calculation-copy>small{color:#8f877f;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;line-height:1.1;display:block;overflow:hidden}.row-input{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;display:grid}.row-input input{color:#f8f2e9;text-overflow:clip;background:#10100f;border:1px solid #46413b;border-radius:9px;outline:none;width:100%;min-width:0;max-width:100%;height:40px;padding:7px 6px;font-size:16px;font-weight:500;overflow:hidden}.row-input input:focus{border-color:#f28a22}.row-input input.user-value{color:#ff9b37;background:#1d150f;border-color:#76502f}.row-input small{color:#aaa198;min-width:21px;font-size:12px;line-height:1}.row-input input.value-medium{letter-spacing:-.02em;font-size:14px}.row-input input.value-long{letter-spacing:-.04em;font-size:12px}.dimension-field input.value-medium{font-size:16px}.dimension-field input.value-long{letter-spacing:-.03em;font-size:14px}.legend{color:#9b948c;margin:7px 2px 0;font-size:11px}.legend .legend-orange{color:#f28a22;font-weight:600}.legend .legend-white{color:#fffaf2;font-weight:600}.calculation-actions{grid-template-columns:1fr 1fr;gap:7px;margin-top:8px;display:grid}.calculation-actions .clear-button,.calculation-actions .save-button{width:100%;min-height:34px;margin:0}.total-row{border-top:1px solid #302c27;justify-content:space-between;align-items:flex-end;gap:8px;margin-top:11px;padding-top:10px;display:flex}.total-row>div{text-align:right;order:2;margin-left:auto}.total-row>div>span{color:#928c85;font-size:12px;display:block}.total-row strong{color:#f5eee5;letter-spacing:-.02em;margin-top:2px;font-size:27px;font-weight:550;line-height:1.1;display:block}.total-row strong.total-prompt{color:#b3aaa1;letter-spacing:0;font-size:18px}.mass-below{color:#77716a;white-space:nowrap;order:1;margin-right:auto;padding-bottom:3px;font-size:11px}.mass-card{background:#181715;border:1px solid #302d29;border-radius:13px;min-width:0;max-width:100%;margin-top:20px;padding:10px 11px}.mass-card header{justify-content:space-between;align-items:center;gap:6px;margin-bottom:6px;display:flex}.mass-card header strong{font-size:13px;font-weight:550}.mass-card header span{color:#8b847c;align-items:center;gap:3px;font-size:10px;display:flex}.mass-card header svg{width:14px;height:14px}.mass-grid{grid-template-columns:1.3fr 1fr 1fr;display:grid}.mass-grid>span,.mass-grid>b{border-top:1px solid #292622;padding:4px 3px;font-size:12px}.mass-grid .mass-head{color:#7c756e;border-top:0;padding-top:0;font-size:10px}.mass-grid>span:not(.mass-head){color:#b3aaa1}.mass-grid>b{color:#f0e9df;font-size:12px;font-weight:550}.mass-card>small{color:#817a73;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:9px;display:block;overflow:hidden}.persistent-footer{min-height:calc(28px + env(safe-area-inset-bottom));padding:4px 16px calc(4px + env(safe-area-inset-bottom));text-align:center;background:#121212;border-top:1px solid #302d29;margin:0 -16px}.persistent-footer a{color:#a09990;align-items:center;gap:5px;font-size:11px;text-decoration:none;display:inline-flex}.persistent-footer a:hover{color:#f28a22}.persistent-footer svg{width:14px;height:14px}.undo-snackbar{z-index:30;left:50%;bottom:calc(54px + env(safe-area-inset-bottom));color:#eee5dc;background:#251c15f2;border:1px solid #5a402b;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;width:min(100% - 30px,400px);min-height:48px;padding:9px 10px 9px 14px;font-size:13px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 32px #000a}.undo-snackbar button{color:#ff9b37;background:#2f2015;border:1px solid #8c582e;border-radius:9px;min-height:32px;padding:0 10px}@media (width<=370px){.app-shell{padding-left:10px;padding-right:10px}.persistent-footer{margin-inline:-10px}.dimension-title span:not(.step-badge){display:none}.calculation-row{grid-template-columns:27px minmax(67px,.9fr) minmax(82px,1fr) minmax(80px,.95fr);gap:4px;padding-inline:6px}.calculation-icon{width:27px}.calculation-icon svg{width:24px;height:24px}.calculation-row h3{font-size:14px}.calculation-row[data-unit=linear] h3{font-size:12px}.row-input input{padding-inline:4px;font-size:15px}.row-input small{min-width:18px;font-size:11px}}@media (pointer:coarse){.app-scroll{scrollbar-width:none;-ms-overflow-style:none}.app-scroll::-webkit-scrollbar{width:0;height:0;display:none}}@media (width<=699px) and (pointer:coarse){.app-shell.keyboard-open{height:var(--keyboard-viewport-height,100dvh);margin:0;position:fixed;inset:0 auto auto 50%;transform:translate(-50%)}.app-shell.keyboard-open .app-scroll{padding-top:var(--safe-top);scroll-padding-top:calc(var(--safe-top) + 94px);scroll-padding-bottom:8px;overflow-y:hidden}.app-shell.keyboard-open .app-header{z-index:30;background:#121212;min-height:38px;margin-bottom:0;padding-bottom:4px;position:static}.app-shell.keyboard-open .keyboard-sticky-stack{z-index:20;background:#121212;padding:2px 0 4px;position:static;box-shadow:0 8px 12px #121212}.app-shell.keyboard-open .dimension-section{padding-top:0;position:static}.app-shell.keyboard-open .dimension-section.guided{box-shadow:none;background:0 0;border:0;border-radius:0;margin-top:0;padding:0}.app-shell.keyboard-open .dimension-toolbar,.app-shell.keyboard-open .dimension-prompt{display:none}.app-shell.keyboard-open .dimension-field input{padding-block:5px;font-size:16px}.app-shell.keyboard-open .dimension-field small{min-height:12px;margin-top:1px;font-size:10px}.app-shell.keyboard-open .unit-switch button{height:28px}.app-shell.keyboard-open .orange-rule{margin-block:4px 6px}.app-shell.keyboard-open .calculation-heading{margin-bottom:3px}.app-shell.keyboard-open .row-column-heads{padding-bottom:2px;font-size:10px}.app-shell.keyboard-open .calculation-rows{gap:2px}.app-shell.keyboard-open .calculation-row{min-height:38px;scroll-margin-top:calc(var(--safe-top) + 94px);padding-block:2px;scroll-margin-bottom:8px}.app-shell.keyboard-open .row-input input{height:30px}.app-shell.keyboard-open .calculation-copy>small{display:none}.app-shell.keyboard-open .legend{margin-top:4px;font-size:10px}.app-shell.keyboard-open .calculation-actions{gap:5px;margin-top:4px}.app-shell.keyboard-open .calculation-actions .clear-button,.app-shell.keyboard-open .calculation-actions .save-button{min-height:29px}.app-shell.keyboard-open .total-row{min-height:0;box-shadow:none;background:0 0;margin-top:5px;padding:5px 0 0;position:static}.app-shell.keyboard-open .total-row strong{font-size:22px}.app-shell.keyboard-open .mass-below,.app-shell.keyboard-open .mass-card,.app-shell.keyboard-open .persistent-footer,.app-shell.keyboard-open .install-banner{display:none}}@media (height<=760px){.app-scroll{padding-top:calc(8px + env(safe-area-inset-top))}.app-header{margin-bottom:7px}.brand-mark,.favorites-button,.help-button{height:34px}.brand-mark{border-radius:10px;width:34px}.dimension-section.guided{margin-top:2px}.dimension-field input{padding-block:9px}.dimension-field small{min-height:15px;margin-top:3px}.orange-rule{margin-block:7px 8px}.calculation-rows{gap:5px}.calculation-row{padding-block:5px}.row-input input{height:36px}}@media (width<=699px) and (height<=760px) and (pointer:coarse){.app-shell.keyboard-open .app-scroll{padding-top:var(--safe-top)}}@media (width>=700px){.app-shell{border-radius:28px;height:calc(100dvh - 36px);margin-block:18px}}.storage-error{color:#f1a267;background:#2a1911;border:1px solid #724327;border-radius:9px;flex:none;margin:-5px 0 9px;padding:8px 10px;font-size:12px}.header-actions{align-items:center;gap:6px;display:flex}.help-button{color:#f28a22;background:#211c17;border:1px solid #4a4037;border-radius:12px;place-items:center;width:38px;height:38px;padding:0;font-size:17px;font-weight:650;display:grid}.help-button[aria-pressed=true]{background:#2b1d12;border-color:#f28a22}.favorites-screen{flex-direction:column;min-height:100%;display:flex}.favorites-title{border-bottom:3px solid #f28a22;justify-content:space-between;align-items:center;padding:5px 1px 12px;display:flex}.favorites-title h2{margin:0;font-size:18px;font-weight:550}.favorites-title p{color:#989088;margin:4px 0 0;font-size:12px}.favorites-title>span{color:#f28a22;background:#2d2117;border-radius:9px;place-items:center;min-width:30px;height:30px;font-size:13px;font-weight:650;display:grid}.favorites-empty{color:#857e76;text-align:center;margin:auto;padding:30px}.favorites-empty svg{color:#f28a22;width:36px;height:36px;margin-bottom:10px}.favorites-empty strong{color:#d8d0c6;font-size:15px;display:block}.favorites-empty p{font-size:12px;line-height:1.5}.favorites-list{gap:8px;margin:0;padding:12px 0;list-style:none;display:grid}.favorites-list li{background:#181715;border:1px solid #302d29;border-radius:13px;grid-template-columns:1fr 44px;gap:7px;padding:7px;display:grid}.favorite-load,.favorite-remove{background:0 0;border:0}.favorite-load{color:#f6f2eb;text-align:left;padding:4px}.favorite-load strong,.favorite-load small,.favorite-load span{display:block}.favorite-load strong{font-size:15px}.favorite-load small{color:#a69e95;margin-top:3px;font-size:11px}.favorite-load span{color:#f28a22;margin-top:6px;font-size:12px}.favorite-remove{color:#f28a22;border-left:1px solid #302d29;place-items:center;display:grid}.favorite-remove svg{width:20px}.help-screen{min-height:100%}.help-title{z-index:2;background:#121212;border-bottom:3px solid #f28a22;justify-content:space-between;align-items:center;gap:12px;padding:5px 1px 12px;display:flex;position:sticky;top:0}.help-title span{color:#f28a22;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:650}.help-title h2{margin:3px 0 0;font-size:19px;font-weight:550;line-height:1.2}.help-title button{color:#e9dfd4;background:#211c17;border:1px solid #4b3b2d;border-radius:10px;flex:none;min-height:36px;padding:0 10px;font-size:12px}.help-content{gap:9px;padding:11px 0 16px;display:grid}.help-toggle{background:#281b11;border:1px solid #76502f;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.help-toggle span{min-width:0}.help-toggle strong{color:#f6eee5;font-size:15px;font-weight:500;display:block}.help-toggle small{color:#a69d94;margin-top:3px;font-size:12px;display:block}.help-toggle input{appearance:none;background:#161513;border:1px solid #51483f;border-radius:999px;flex:none;width:44px;height:25px;margin:0;position:relative}.help-toggle input:after{content:"";background:#827a72;border-radius:50%;width:17px;height:17px;transition:transform .18s,background .18s;position:absolute;top:3px;left:3px}.help-toggle input:checked{background:#392313;border-color:#9a5e2d}.help-toggle input:checked:after{background:#f28a22;transform:translate(19px)}.help-content section{background:#181715;border:1px solid #302d29;border-radius:13px;grid-template-columns:30px minmax(0,1fr);gap:10px;padding:12px;display:grid}.help-content section>b{color:#f28a22;background:#2b1d12;border-radius:9px;place-items:center;width:30px;height:30px;font-size:11px;display:grid}.help-content section.help-wide{background:#1d1915;border-color:#3d3228;grid-template-columns:1fr}.help-content h3{color:#f7f0e7;margin:0;font-size:15px;font-weight:550}.help-content p{color:#b7aea5;margin:6px 0 0;font-size:14px;line-height:1.55}.help-contact{color:#ff9b37;background:#281b11;border:1px solid #76502f;border-radius:13px;justify-content:space-between;align-items:center;gap:8px;padding:12px;font-size:13px;line-height:1.4;text-decoration:none;display:flex}.help-contact svg{flex:none;width:17px;height:17px}.install-banner{z-index:20;left:50%;bottom:calc(54px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#211b16f0;border:1px solid #4c3a29;border-radius:16px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;width:min(100% - 20px,410px);min-height:66px;padding:10px 32px 10px 10px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 14px 40px #000c,inset 0 1px #ffffff0a}.install-banner-mark{color:#17110b;background:#f28a22;border-radius:10px;place-items:center;width:34px;height:34px;font-size:19px;font-weight:700;display:grid}.install-banner-copy{min-width:0}.install-banner-copy strong,.install-banner-copy span{display:block}.install-banner-copy strong{color:#fff8ee;font-size:12px;line-height:1.2}.install-banner-copy span{color:#aaa198;margin-top:3px;font-size:10px;line-height:1.3}.install-banner-action{color:#ff9b37;background:#2a1d13;border:1px solid #8d572b;border-radius:10px;min-height:34px;padding:0 9px;font-size:11px;font-weight:600}.install-banner-close{color:#827b73;background:0 0;border:0;width:25px;height:25px;padding:0;font-size:18px;line-height:1;position:absolute;top:3px;right:5px}.install-banner.text-only{grid-template-columns:34px minmax(0,1fr)}@media (width>=700px),(pointer:fine){.install-banner{display:none}}@media (height<=760px){.help-button{border-radius:10px;width:34px;height:34px}}
