*{box-sizing:border-box;margin:0;padding:0}:root{--bg-dark:#050510;--card:#ffffff0a;--input-bg:#ffffff0d;--border:#ffffff1a;--cyan:#00f3ff;--purple:#bc13fe;--accent:#00f3ff;--text-main:#fff;--text-dim:#88a;--text-muted:#556;--font-mono:"JetBrains Mono", monospace}body{color:var(--text-main);background:var(--bg-dark) radial-gradient(circle at 10% 20%, #00f3ff0f 0%, transparent 22%), radial-gradient(circle at 90% 80%, #bc13fe12 0%, transparent 22%);min-height:100vh;font-family:Inter,sans-serif}a{color:inherit;text-decoration:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}.breadcrumb-nav{max-width:1040px;margin:12px auto 0;padding:0 24px}.breadcrumb{color:var(--text-dim);flex-wrap:wrap;gap:4px;font-size:.78rem;list-style:none;display:flex}.breadcrumb li+li:before{content:"›";margin-right:4px}.breadcrumb a{color:var(--text-dim);transition:color .2s}.breadcrumb a:hover{color:var(--cyan)}.calc-hero{text-align:center;padding:28px 24px 8px}.calc-title{background:linear-gradient(135deg, var(--cyan) 0%, var(--purple) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:2rem;font-weight:800}.calc-subtitle{color:var(--text-dim);max-width:600px;margin:0 auto;font-size:.92rem}.tab-control{flex-wrap:wrap;gap:8px;max-width:1040px;margin:20px auto 16px;padding:0 24px;display:flex}.tab-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:20px;padding:8px 18px;font-size:.85rem;font-weight:500;transition:all .2s}.tab-btn:hover{color:var(--text-main);border-color:#ffffff40}.tab-btn.active{background:var(--accent);color:#000;border-color:var(--accent);font-weight:700}.tab-panel{display:none}.tab-panel.active{display:block}.calc-layout{grid-template-columns:1fr 1fr;gap:20px;max-width:1040px;margin:0 auto;padding:0 24px 32px;display:grid}.input-card,.result-card{border-radius:14px;padding:20px}.input-card{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--cyan)}.result-card{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--purple)}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-title{font-size:1rem;font-weight:700}.card-intro{color:var(--text-dim);margin-bottom:16px;font-size:.85rem;line-height:1.6}.type-chips,.preset-chips,.wall-chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.type-chip,.preset-chip,.wall-chip{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:16px;padding:6px 13px;font-size:.82rem;font-weight:500;transition:all .2s}.type-chip:hover,.preset-chip:hover,.wall-chip:hover{color:var(--text-main);border-color:#00f3ff59}.type-chip.active,.preset-chip.active,.wall-chip.active{border-color:var(--accent);color:var(--accent);background:#00f3ff1f;font-weight:700}.input-row{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.field-group{flex-direction:column;gap:5px;margin-bottom:10px;display:flex}.field-label{color:var(--text-dim);font-size:.8rem;font-weight:600}.field-hint{color:var(--text-muted);font-size:.75rem}.glass-input,.glass-select{background:var(--input-bg);border:1px solid var(--border);width:100%;height:40px;color:var(--text-main);border-radius:8px;outline:none;padding:6px 10px;font-size:.85rem;transition:border-color .2s}.glass-input:focus,.glass-select:focus{border-color:var(--accent)}.glass-select{color-scheme:dark;background-color:#0d0d1f}.glass-select option{background-color:#0d0d1f}.hidden{display:none!important}.hero-result{text-align:center;border-bottom:1px solid var(--border);margin-bottom:16px;padding:16px 0}.hero-label{color:var(--text-dim);margin-bottom:4px;font-size:.78rem;display:block}.hero-value{font-size:2.2rem;font-weight:800;font-family:var(--font-mono);background:linear-gradient(135deg, var(--cyan), var(--purple));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-unit{color:var(--text-dim);margin-top:2px;font-size:.85rem;display:block}.stat-grid{grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:14px;display:grid}.stat-cell{border:1px solid var(--border);text-align:center;background:#ffffff0a;border-radius:8px;padding:10px 8px}.stat-label{color:var(--text-dim);margin-bottom:4px;font-size:.7rem;display:block}.stat-value{font-size:.95rem;font-weight:700;font-family:var(--font-mono);color:var(--text-main)}.ada-status-bar{background:#10b98114;border:1px solid #10b9814d;border-radius:10px;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;transition:all .3s;display:flex}.ada-status-bar.fail{background:#ef444414;border-color:#ef44444d}.ada-status-bar.warn{background:#f59e0b14;border-color:#f59e0b4d}.ada-icon{flex-shrink:0;font-size:1.3rem}.ada-title{color:#10b981;font-size:.85rem;font-weight:700;display:block}.ada-status-bar.fail .ada-title{color:#f87171}.ada-status-bar.warn .ada-title{color:#f59e0b}.ada-detail{color:var(--text-dim);font-size:.78rem;display:block}.materials-section{margin-bottom:14px}.section-label{margin-bottom:10px;font-size:.92rem;font-weight:700}.materials-grid{flex-direction:column;gap:4px;display:flex}.mat-row{background:#ffffff08;border:1px solid #ffffff0f;border-radius:6px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:.82rem;display:flex}.mat-label{color:var(--text-dim)}.mat-val{font-family:var(--font-mono);color:var(--text-main);font-weight:700}.action-row{gap:8px;margin-top:10px;display:flex}.action-btn{border:1px solid var(--border);color:var(--text-main);cursor:pointer;background:#ffffff0f;border-radius:8px;flex:1;padding:9px;font-size:.82rem;transition:all .2s}.action-btn:hover{border-color:var(--accent);background:#ffffff1f}.formula-strip-wrap{max-width:1040px;margin:0 auto;padding:0 24px 32px}.formula-pills2{flex-wrap:wrap;gap:10px;display:flex}.formula-pill{background:#00f3ff0f;border:1px solid #00f3ff2e;border-radius:10px;flex:1;min-width:200px;padding:12px 16px}.pill-label{color:var(--accent);margin-bottom:4px;font-size:.72rem;font-weight:600;display:block}.pill-formula{font-family:var(--font-mono);color:var(--text-main);margin-bottom:4px;font-size:.88rem;display:block}.pill-note{color:var(--text-dim);font-size:.72rem;display:block}.ada-wrap{max-width:1040px;margin:0 auto;padding:0 24px 32px}.ada-intro-card{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;padding:18px 20px}.ada-diagrams-row{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;display:grid}.ada-diagram-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}.diagram-title{color:var(--text-main);border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:8px;font-size:.88rem;font-weight:700}.ada-diagram{margin-bottom:12px}.diag-door-frame{border:2px solid #fff3;border-radius:4px 4px 0 0;align-items:stretch;height:120px;margin-bottom:8px;display:flex;overflow:hidden}.diag-hinge-side,.diag-latch-side{width:18px;min-width:18px;color:var(--text-dim);writing-mode:vertical-rl;letter-spacing:1px;background:#ffffff14;justify-content:center;align-items:center;font-size:.55rem;display:flex}.diag-door-panel{background:#00f3ff0f;border-left:2px solid #00f3ff66;border-right:2px solid #00f3ff33;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.diag-door-label{color:var(--text-dim);letter-spacing:2px;font-size:.7rem;font-weight:700}.diag-arrow-h{flex-direction:column;align-items:center;gap:3px;display:flex}.arr-line{background:var(--cyan);width:60px;height:1px;display:block;position:relative}.arr-line:before,.arr-line:after{content:"";border:3px solid #0000;position:absolute;top:-3px}.arr-line:before{border-right-color:var(--cyan);left:0}.arr-line:after{border-left-color:var(--cyan);right:0}.arr-label{font-family:var(--font-mono);color:var(--cyan);font-size:.82rem;font-weight:700}.diag-note{color:var(--text-dim);font-size:.72rem;line-height:1.5}.diag-plan-view{border:1px solid var(--border);background:#ffffff05;border-radius:6px;margin-bottom:8px;padding:10px}.diag-wall-h{background:#fff3;border-radius:2px;height:8px;margin:0 20px}.diag-door-opening{border-left:2px solid #fff3;border-right:2px solid #fff3;align-items:center;height:40px;margin:0 20px;display:flex;position:relative}.diag-open-door{background:var(--cyan);transform-origin:0;width:70%;height:3px;margin-left:2px;transform:rotate(-80deg)}.diag-clearance-zones{gap:3px;margin-top:8px;display:flex}.diag-zone{border:1px solid #ffffff14;border-radius:4px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:5px 4px;display:flex}.latch-zone{background:#00f3ff14;border-color:#00f3ff33}.door-zone{background:#bc13fe0f;border-color:#bc13fe33}.hinge-zone{background:#00f3ff0a}.zone-dim{font-family:var(--font-mono);color:var(--accent);font-size:.82rem;font-weight:700}.zone-label{color:var(--text-dim);text-align:center;font-size:.62rem}.diag-depth-label{text-align:center;color:var(--text-dim);margin-top:6px;font-size:.72rem}.diag-elevation{align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.diag-elev-door{border:2px solid #fff3;border-radius:4px 4px 0 0;flex-direction:column;flex:1;height:120px;display:flex;overflow:hidden}.diag-handle-zone{background:#f59e0b14;border-bottom:1px dashed #f59e0b66;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;display:flex}.handle-label{color:var(--text-dim);font-size:.62rem}.handle-range{font-family:var(--font-mono);color:#f59e0b;font-size:.78rem;font-weight:700}.diag-viewer{background:#ffffff1f;border:1px solid #fff3;border-radius:50%;width:16px;height:16px;margin:4px auto}.diag-threshold-zone{background:#10b9811a;border-top:1px dashed #10b98166;justify-content:center;align-items:center;height:18px;display:flex}.thresh-label{color:#10b981;font-size:.6rem}.diag-elev-dims{flex-direction:column;justify-content:space-around;gap:6px;padding:4px 0;display:flex}.elev-dim-row{color:var(--text-dim);align-items:center;gap:4px;font-size:.7rem;display:flex}.elev-arrow{color:var(--accent);font-size:.9rem}.ada-req-list{flex-direction:column;gap:6px;display:flex}.ada-req-row{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:4px 0;font-size:.78rem;display:flex}.ada-req-row:last-child{border-bottom:none}.ada-req-label{color:var(--text-dim)}.ada-req-val{font-family:var(--font-mono);color:var(--text-main);font-size:.78rem;font-weight:600}.ada-req-val.pass{color:#10b981}.ada-extra-row{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.ada-extra-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}.ada-extra-title{color:var(--text-main);border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:8px;font-size:.88rem;font-weight:700}.sizes-wrap{max-width:1040px;margin:0 auto;padding:0 24px 32px}.ref-section{margin-bottom:32px}.ref-table-wrap{margin-top:12px;overflow-x:auto}.ref-table{border-collapse:collapse;width:100%;font-size:.82rem}.ref-table th{text-align:left;color:var(--text-dim);border-bottom:1px solid var(--border);background:#ffffff0f;padding:9px 12px;font-weight:600}.ref-table td{border-bottom:1px solid #ffffff0a;padding:8px 12px}.ref-table tr:hover td{background:#ffffff08}.ada-row td{background:#00f3ff05}.yes-ada{color:#10b981;font-weight:700}.no-ada{color:var(--text-muted)}.fire-20{color:#f59e0b;font-weight:700}.fire-45{color:#fb923c;font-weight:700}.fire-60{color:#f87171;font-weight:700}.fire-90{color:#ef4444;font-weight:700}.table-footnote{color:var(--text-muted);background:#ffffff05;border-left:2px solid #ffffff1a;border-radius:0 4px 4px 0;margin-top:8px;padding:8px 12px;font-size:.78rem}.page-sections-outer{max-width:1040px;margin:0 auto;padding:0 24px 40px}.how-section,.gloss-section2,.faq-section,.calc-related{margin-bottom:32px}.how-section h2,.gloss-section2 h2,.faq-section h2,.calc-related h2{border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:8px;font-size:1.1rem;font-weight:700}.how-steps{flex-direction:column;gap:10px;list-style:none;display:flex}.how-steps li{align-items:flex-start;gap:12px;display:flex}.step-num{background:var(--accent);color:#000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;min-width:26px;height:26px;font-size:.78rem;font-weight:800;display:flex}.how-steps li div{color:var(--text-dim);font-size:.88rem;line-height:1.6}.how-steps li strong{color:var(--text-main)}.gloss-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.gloss-item{border:1px solid var(--border);color:var(--text-dim);background:#ffffff08;border-radius:8px;padding:10px 12px;font-size:.83rem;line-height:1.5}.gloss-item strong{color:var(--text-main)}.faq-list{flex-direction:column;display:flex}.faq-item{border-bottom:1px solid #ffffff0f}.faq-item__question{cursor:pointer;color:var(--text-main);user-select:none;justify-content:space-between;align-items:center;padding:14px 4px;font-size:.9rem;font-weight:600;list-style:none;transition:color .2s;display:flex}.faq-item__question::-webkit-details-marker{display:none}.faq-item__question:after{content:"+";font-family:var(--font-mono);color:var(--text-dim);flex-shrink:0;margin-left:16px;font-size:1.1rem;transition:color .2s}.faq-item[open] .faq-item__question:after{content:"−";color:var(--accent)}.faq-item__question:hover{color:var(--cyan)}.faq-item__answer{color:var(--text-dim);padding:0 4px 14px;font-size:.85rem;line-height:1.75}.related-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.related-card{border:1px solid var(--border);text-align:center;background:#ffffff0a;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;transition:all .2s;display:flex}.related-card:hover{border-color:var(--cyan);background:#00f3ff0f}.related-icon{font-size:1.4rem}.related-name{color:var(--text-main);font-size:.78rem;font-weight:600}.toast{z-index:9999;pointer-events:none;border-radius:8px;padding:10px 16px;font-size:.85rem;animation:.3s toastIn;position:fixed;bottom:24px;right:24px}.toast-success{color:#fff;background:#10b981e6}.toast-warn{color:#000;background:#f59e0be6}.toast-error{color:#fff;background:#ef4444e6}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.calc-layout,.ada-diagrams-row,.ada-extra-row,.gloss-grid{grid-template-columns:1fr}.related-grid,.input-row{grid-template-columns:1fr 1fr}}@media (width<=600px){.calc-title{font-size:1.5rem}.calc-layout{padding:0 12px 24px}.stat-grid{grid-template-columns:1fr 1fr}.input-row{grid-template-columns:1fr}.type-chips,.preset-chips,.wall-chips{gap:4px}.type-chip,.preset-chip,.wall-chip{padding:5px 10px;font-size:.78rem}.related-grid{grid-template-columns:1fr 1fr}.formula-pills2{flex-direction:column}.ada-wrap,.sizes-wrap{padding:0 12px 24px}}[data-theme=light]{--bg-dark:#e8edf5;--card:#fffffff2;--input-bg:#edf2f9;--border:#0000001a;--cyan:#0e7490;--purple:#7c3aed;--accent:#0e7490;--text-main:#0f172a;--text-dim:#334155;--text-muted:#64748b}[data-theme=light] body{background:#e8edf5}[data-theme=light] .input-card{border-left-color:#0e7490;box-shadow:0 2px 12px #00000014}[data-theme=light] .result-card{border-left-color:#7c3aed;box-shadow:0 2px 12px #00000014}[data-theme=light] .calc-title{background:linear-gradient(135deg,#0e7490 0%,#7c3aed 100%);-webkit-background-clip:text;background-clip:text}[data-theme=light] .hero-value{background:linear-gradient(135deg,#0e7490,#7c3aed);-webkit-background-clip:text;background-clip:text}[data-theme=light] .tab-btn.active{color:#fff;background:#0e7490;border-color:#0e7490}[data-theme=light] .type-chip.active,[data-theme=light] .preset-chip.active,[data-theme=light] .wall-chip.active{color:#0e7490;background:#0e74901a;border-color:#0e7490}[data-theme=light] .type-chip:hover,[data-theme=light] .preset-chip:hover,[data-theme=light] .wall-chip:hover{border-color:#0e749059}[data-theme=light] .glass-input,[data-theme=light] .glass-select{color:#0f172a;background:#edf2f9;border-color:#00000026}[data-theme=light] .glass-select{color-scheme:light;background-color:#edf2f9}[data-theme=light] .glass-select option{color:#0f172a;background-color:#fff}[data-theme=light] .stat-cell{background:#edf2f9;border-color:#0000001a}[data-theme=light] .ada-status-bar{background:#f0fdf4;border-color:#10b98166}[data-theme=light] .ada-status-bar.fail{background:#fff1f2;border-color:#ef444459}[data-theme=light] .ada-status-bar.warn{background:#fffbeb;border-color:#f59e0b59}[data-theme=light] .mat-row{background:#f0f4f9;border-color:#0000001a}[data-theme=light] .mat-label{color:#475569}[data-theme=light] .action-btn{color:#0f172a;background:#f0f4f9;border-color:#0000001a}[data-theme=light] .action-btn:hover{background:#e2ebf5;border-color:#0e7490}[data-theme=light] .formula-pill{background:#0e74900f;border-color:#0e749033}[data-theme=light] .pill-label{color:#0e7490}[data-theme=light] .pill-formula{color:#0f172a}[data-theme=light] .ada-intro-card,[data-theme=light] .ada-diagram-card,[data-theme=light] .ada-extra-card{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000f}[data-theme=light] .diagram-title,[data-theme=light] .ada-extra-title{border-bottom-color:#00000014}[data-theme=light] .diag-door-frame{border-color:#0003}[data-theme=light] .diag-hinge-side,[data-theme=light] .diag-latch-side{background:#edf2f9}[data-theme=light] .diag-door-panel{background:#0e74900d;border-left-color:#0e749080;border-right-color:#0e749033}[data-theme=light] .arr-line{background:#0e7490}[data-theme=light] .arr-line:before{border-right-color:#0e7490}[data-theme=light] .arr-line:after{border-left-color:#0e7490}[data-theme=light] .arr-label{color:#0e7490}[data-theme=light] .diag-plan-view{background:#f5f8fc;border-color:#00000014}[data-theme=light] .diag-wall-h{background:#0003}[data-theme=light] .diag-door-opening{border-color:#0003}[data-theme=light] .diag-open-door{background:#0e7490}[data-theme=light] .latch-zone{background:#0e749014;border-color:#0e749033}[data-theme=light] .door-zone{background:#7c3aed0f;border-color:#7c3aed33}[data-theme=light] .zone-dim{color:#0e7490}[data-theme=light] .ada-req-row{border-bottom-color:#0000000f}[data-theme=light] .ada-req-val{color:#0f172a}[data-theme=light] .elev-arrow{color:#0e7490}[data-theme=light] .ref-table th{color:#334155;background:#f0f4f9}[data-theme=light] .ref-table tr:hover td{background:#f5f8fc}[data-theme=light] .ref-table td{border-bottom-color:#0000000f}[data-theme=light] .ada-row td{background:#0e74900a}[data-theme=light] .table-footnote{color:#475569;background:#00000005;border-left-color:#00000026}[data-theme=light] .gloss-item{background:#f0f4f9;border-color:#0000001a}[data-theme=light] .gloss-item strong{color:#0f172a}[data-theme=light] .step-num{color:#fff;background:#0e7490}[data-theme=light] .faq-list{gap:8px}[data-theme=light] .faq-item{background:#fff;border:1px solid #0000001a;border-radius:10px;transition:box-shadow .2s,border-color .2s;overflow:hidden;box-shadow:0 1px 4px #0000000f}[data-theme=light] .faq-item:hover{border-color:#0e749059;box-shadow:0 2px 10px #0e749014}[data-theme=light] .faq-item[open]{border-color:#0e749066 #0e749066 #0e749066 #0e7490;border-left-style:solid;border-left-width:3px;box-shadow:0 2px 12px #0e74901a}[data-theme=light] .faq-item__question{color:#0f172a;padding:14px 16px}[data-theme=light] .faq-item__question:after{color:#64748b}[data-theme=light] .faq-item[open] .faq-item__question:after,[data-theme=light] .faq-item__question:hover{color:#0e7490}[data-theme=light] .faq-item__answer{color:#475569;border-top:1px solid #0000000f;padding:12px 16px 16px}[data-theme=light] .related-card{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000f}[data-theme=light] .related-card:hover{background:#f0f4f9;border-color:#0e749066}[data-theme=light] .how-section h2,[data-theme=light] .gloss-section2 h2,[data-theme=light] .faq-section h2,[data-theme=light] .calc-related h2{border-bottom-color:#0000001a}@media print{.glass-navbar,.calc-page-footer,.calc-back-to-top,.tab-nav,.tabs-outer,.outer-tab-nav,.tab-btn,.act-row,.act-row2,.action-bar,.btn-copy,.btn-share,.btn-csv,.btn-pdf,.btn-export-pdf,.share-btn,.copy-btn,.print-btn,.how-section,.formula-pills2,.gloss-section2,.ex-section2,.faq-section,.faq-section-extra,.calc-related,.page-sections-outer{display:none!important}body{color:#000;background:#fff}.result-card,.stat-card,.card,.glass-card,.result-panel{box-shadow:none;page-break-inside:avoid;color:#000;background:#fff;border:1px solid #ccc}.stat-value,.stat-label,.result-value,h1,h2,h3{color:#000;text-shadow:none}.tab-panel{display:block!important}}.act-row{flex-wrap:wrap;gap:.5rem;display:flex}.act-btn{color:#00f3ff;cursor:pointer;background:#00f3ff14;border:1px solid #00f3ff4d;border-radius:8px;padding:.45rem 1rem;font-size:.8rem;transition:background .2s,border-color .2s}.act-btn:hover{background:#00f3ff2e;border-color:#00f3ff}[data-theme=light] .act-btn{color:#0e7490;background:#0e749014;border-color:#0e74904d}[data-theme=light] .act-btn:hover{background:#0e749026}