:root{--bg-dark:#050510;--card:#ffffff0a;--input-bg:#ffffff0f;--border:#ffffff14;--text-main:#fff;--text-dim:#88a;--text-muted:#666;--cyan:#00f3ff;--purple:#bc13fe;--accent:#10b981;--font-head:"Plus Jakarta Sans", sans-serif;--font-mono:"JetBrains Mono", monospace;--font-body:"Inter", sans-serif}[data-theme=light]{--bg-dark:#e8edf5;--card:#fffffff2;--input-bg:#e8eef4;--border:#0000001a;--text-main:#0f172a;--text-dim:#334155;--text-muted:#64748b;--cyan:#0e7490;--purple:#7c3aed;--accent:#065f46}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-dark);color:var(--text-main);font-family:var(--font-body);min-height:100vh;font-size:.9rem;line-height:1.6}.calc-hero{text-align:center;padding:2.2rem 1rem 1.5rem}.hero-label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.5rem;font-size:.7rem}.hero-value{font-family:var(--font-head);background:linear-gradient(135deg,#10b981,#00f3ff);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,5vw,3.2rem);font-weight:800;line-height:1.1}[data-theme=light] .hero-value{background:linear-gradient(135deg,#065f46,#0e7490);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-sub{color:var(--text-dim);margin-top:.4rem;font-size:.82rem}.tab-bar{border-bottom:1px solid var(--border);scrollbar-width:none;gap:.25rem;padding:0 1rem;display:flex;overflow-x:auto}.tab-bar::-webkit-scrollbar{display:none}.tab-btn{font-size:.82rem;font-weight:600;font-family:var(--font-head);color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:.65rem 1.1rem;transition:color .2s,border-color .2s}.tab-btn:hover{color:var(--text-main)}.tab-btn.active,[data-theme=light] .tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-panel{padding:1.5rem;display:none}.tab-panel.active{display:block}.calc-grid{grid-template-columns:1fr 1fr;gap:1.5rem;max-width:1600px;margin:0 auto;display:grid}@media (width<=900px){.calc-grid{grid-template-columns:1fr}}.input-card,.result-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1.4rem}.input-card{border-left:3px solid var(--cyan)}.result-card{border-left:3px solid var(--purple)}[data-theme=light] .input-card,[data-theme=light] .result-card{box-shadow:0 2px 12px #00000014}.card-title{font-family:var(--font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:1rem;font-size:.82rem;font-weight:700}.input-group{margin-bottom:1rem}.input-row-2{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.input-label{color:var(--text-dim);margin-bottom:.35rem;font-size:.78rem;font-weight:600;display:block}.glass-input{background:var(--input-bg);border:1px solid var(--border);width:100%;color:var(--text-main);font-family:var(--font-mono);border-radius:8px;padding:.6rem .85rem;font-size:.85rem;transition:border-color .2s,box-shadow .2s}.glass-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #10b98126}[data-theme=light] .glass-input{color:#0f172a;background:#e8eef4;border-color:#0000001f}[data-theme=light] .glass-input:focus{box-shadow:0 0 0 3px #065f461f}.glass-input::placeholder{color:#ffffff4d}[data-theme=light] .glass-input::placeholder{color:#00000059}.room-row{grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:.5rem;margin-bottom:.75rem;display:grid}@media (width<=520px){.room-row{grid-template-columns:1fr 1fr}.room-row .room-name-col{grid-column:1/-1}.room-row .room-del-btn{grid-column:2;justify-self:end}}.room-col-label{color:var(--text-dim);margin-bottom:.25rem;font-size:.72rem;font-weight:600}.room-del-btn{color:#f87171;cursor:pointer;background:#ef44441a;border:1px solid #ef444440;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:0;font-size:1rem;transition:background .2s;display:flex}.room-del-btn:hover{background:#ef444433}[data-theme=light] .room-del-btn{color:#dc2626;background:#dc26260f;border-color:#dc262633}[data-theme=light] .room-del-btn:hover{background:#dc26261f}.add-room-btn{width:100%;color:var(--accent);font-family:var(--font-head);cursor:pointer;background:#10b98114;border:1px dashed #10b9814d;border-radius:8px;margin-bottom:1.2rem;padding:.55rem 1rem;font-size:.82rem;font-weight:600;transition:background .2s,border-color .2s}.add-room-btn:hover{background:#10b98126;border-color:#10b98180}[data-theme=light] .add-room-btn{color:var(--accent);background:#065f460f;border-color:#065f4640}[data-theme=light] .add-room-btn:hover{background:#065f461f}.section-divider{background:var(--border);height:1px;margin:1rem 0 1.2rem}.chip-row{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.chip-btn{font-size:.78rem;font-weight:600;font-family:var(--font-head);background:var(--input-bg);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:20px;padding:.35rem .85rem;transition:background .2s,border-color .2s,color .2s}.chip-btn:hover{color:var(--text-main);background:#10b9811a}.chip-btn.active{border-color:var(--accent);color:var(--accent);background:#10b9812e}[data-theme=light] .chip-btn{color:#334155;background:#f0f4f9;border-color:#00000026}[data-theme=light] .chip-btn:hover{background:#065f4614}[data-theme=light] .chip-btn.active{border-color:var(--accent);color:var(--accent);background:#065f461f}.custom-row{align-items:center;gap:.5rem;margin-top:.4rem;display:flex}.unit-badge{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;font-size:.78rem}.hero-result-box{text-align:center;background:#10b98114;border:1px solid #10b98133;border-radius:12px;margin-bottom:1.2rem;padding:1.2rem 1rem}[data-theme=light] .hero-result-box{background:#f0fdf4;border-color:#065f4633}.hr-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:.4rem;font-size:.72rem;font-weight:600}.hr-value{font-family:var(--font-head);color:var(--accent);font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1}[data-theme=light] .hr-value{color:var(--accent)}.hr-unit{font-family:var(--font-mono);color:var(--text-dim);margin-top:.3rem;font-size:.75rem}.stat-grid{grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1.2rem;display:grid}@media (width<=600px){.stat-grid{grid-template-columns:repeat(2,1fr)}}.stat-cell{border:1px solid var(--border);text-align:center;background:#ffffff0a;border-radius:8px;padding:.6rem .5rem}[data-theme=light] .stat-cell{background:#edf2f9;border-color:#0000001a}.stat-val{font-family:var(--font-mono);color:var(--accent);font-size:1rem;font-weight:600}.stat-lbl{color:var(--text-dim);margin-top:.2rem;font-size:.68rem}.cost-summary{margin-bottom:1.2rem}.cost-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.82rem;display:flex}.cost-row:last-child{border-bottom:none}[data-theme=light] .cost-row{border-color:#00000014}.cost-lbl{color:var(--text-dim)}.cost-val{font-family:var(--font-mono);color:var(--text-main);font-weight:600}.cost-total-row{border-top:2px solid var(--border);border-bottom:none;margin-top:.25rem;padding-top:.75rem}[data-theme=light] .cost-total-row{border-top-color:#00000026}.cost-total-val{color:var(--accent);font-size:1.1rem}.action-row{flex-wrap:wrap;gap:.75rem;display:flex}.act-btn{font-family:var(--font-head);cursor:pointer;background:var(--accent);border:1px solid var(--accent);color:#fff;border-radius:8px;padding:.55rem 1.1rem;font-size:.82rem;font-weight:600;transition:background .2s,border-color .2s,color .2s}.act-btn:hover{opacity:.88}.act-btn-outline{border-color:var(--border);color:var(--text-dim);background:0 0}.act-btn-outline:hover{border-color:var(--accent);color:var(--accent);opacity:1;background:0 0}[data-theme=light] .act-btn{background:var(--accent);border-color:var(--accent);color:#fff}[data-theme=light] .act-btn-outline{color:#334155;background:0 0;border-color:#0003}[data-theme=light] .act-btn-outline:hover{border-color:var(--accent);color:var(--accent)}.planner-outer{flex-direction:column;gap:1.5rem;max-width:1600px;margin:0 auto;display:flex}.planner-summary-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;display:grid}.planner-stat-card{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:10px;padding:.85rem 1rem}[data-theme=light] .planner-stat-card{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000f}.planner-stat-name{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem;font-size:.72rem;font-weight:600}.planner-stat-val{font-family:var(--font-mono);color:var(--accent);font-size:1.1rem;font-weight:700}.cost-break-outer{max-width:1600px;margin:0 auto}.cost-break-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=900px){.cost-break-grid{grid-template-columns:1fr}}.cost-table{border-collapse:collapse;width:100%;margin-top:.75rem;font-size:.78rem}.cost-table th{color:var(--text-dim);text-align:left;border-bottom:1px solid var(--border);font-weight:600;font-family:var(--font-mono);background:#ffffff0f;padding:.5rem .65rem;font-size:.72rem}.cost-table td{color:var(--text-main);border-bottom:1px solid #ffffff0a;padding:.45rem .65rem}.cost-table tr:hover td{background:#ffffff05}.cost-table tfoot td{color:var(--accent);border-top:1px solid var(--border);border-bottom:none;font-weight:700}[data-theme=light] .cost-table th{color:#334155;background:#edf2f9}[data-theme=light] .cost-table td{color:#1e293b;border-color:#0000000f}[data-theme=light] .cost-table tr:hover td{background:#f0f4f9}[data-theme=light] .cost-table tfoot td{border-color:#0000001f}.guide-outer{flex-direction:column;gap:1.5rem;max-width:1600px;margin:0 auto;display:flex}.guide-tips-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=900px){.guide-tips-grid{grid-template-columns:1fr}}.guide-table{border-collapse:collapse;width:100%;margin-top:.75rem;font-size:.78rem}.guide-table th{color:var(--text-dim);text-align:left;border-bottom:1px solid var(--border);font-weight:600;font-family:var(--font-mono);background:#ffffff0f;padding:.5rem .65rem;font-size:.72rem}.guide-table td{color:var(--text-main);vertical-align:middle;border-bottom:1px solid #ffffff0a;padding:.45rem .65rem}.guide-table tr:hover td{background:#ffffff05}.guide-table tr:last-child td{border-bottom:none}[data-theme=light] .guide-table th{color:#334155;background:#edf2f9}[data-theme=light] .guide-table td{color:#1e293b;border-color:#0000000f}[data-theme=light] .guide-table tr:hover td{background:#f0f4f9}.rating-cell{white-space:nowrap}.rating-bar{vertical-align:middle;background:#ffffff1a;border-radius:3px;width:50px;height:6px;margin-right:6px;display:inline-block;position:relative;overflow:hidden}.rating-bar:after{content:"";height:100%;width:calc(var(--r,3) / 5 * 100%);background:var(--accent);border-radius:3px;display:block}[data-theme=light] .rating-bar{background:#0000001a}.tips-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:.5rem;display:grid}.tip-item{border:1px solid var(--border);background:#ffffff08;border-radius:10px;align-items:flex-start;gap:.75rem;padding:.85rem;display:flex}[data-theme=light] .tip-item{background:#edf2f9;border-color:#0000001a}.tip-icon{flex-shrink:0;font-size:1.4rem;line-height:1.4}.tip-text{color:var(--text-dim);font-size:.8rem;line-height:1.65}.tip-text strong{color:var(--text-main)}[data-theme=light] .tip-text strong{color:#0f172a}.page-sections-outer{max-width:1600px;margin:0 auto;padding:0 1.5rem 3rem}.how-section{padding:2.5rem 0 1.5rem}.how-title{font-family:var(--font-head);color:var(--text-main);margin-bottom:1.2rem;font-size:1.3rem;font-weight:700}.how-steps{flex-direction:column;gap:.85rem;list-style:none;display:flex}.how-steps li{align-items:flex-start;gap:1rem;display:flex}.how-num{background:var(--accent);color:#fff;width:28px;height:28px;font-family:var(--font-mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:flex}[data-theme=light] .how-num{color:#fff}.how-steps li div{color:var(--text-dim);padding-top:.2rem;font-size:.85rem}.how-steps li strong{color:var(--text-main)}[data-theme=light] .how-steps li strong{color:#0f172a}.formula-pills2{padding:1.5rem 0}.fp-title{font-family:var(--font-head);color:var(--text-main);margin-bottom:1rem;font-size:1.1rem;font-weight:700}.fp-grid{flex-wrap:wrap;gap:.75rem;display:flex}.fp-pill{background:#10b98114;border:1px solid #10b98133;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}[data-theme=light] .fp-pill{background:#065f460f;border-color:#065f4626}.fp-name{color:var(--text-dim);font-size:.75rem}.fp-eq{font-family:var(--font-mono);color:var(--accent);font-size:.8rem;font-weight:600}.gloss-section2{padding:1.5rem 0}.gs-title{font-family:var(--font-head);color:var(--text-main);margin-bottom:1rem;font-size:1.1rem;font-weight:700}.gs-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;display:grid}.gs-item{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:.85rem 1rem}[data-theme=light] .gs-item{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000f}.gs-item dt{font-family:var(--font-head);color:var(--accent);margin-bottom:.3rem;font-size:.82rem;font-weight:700}.gs-item dd{color:var(--text-dim);font-size:.8rem}.faq-section{padding:1.5rem 0}.faq-title{font-family:var(--font-head);color:var(--text-main);margin-bottom:1rem;font-size:1.1rem;font-weight:700}.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(--accent)}.faq-item__answer{color:var(--text-dim);padding:0 4px 14px;font-size:.85rem;line-height:1.75}[data-theme=light] .faq-list{gap:8px}[data-theme=light] .faq-item{background:#fff;border:1px solid #0000001a;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0000000f}[data-theme=light] .faq-item:hover{border-color:#065f464d;box-shadow:0 2px 10px #065f4614}[data-theme=light] .faq-item[open]{border-color:#065f4666 #065f4666 #065f4666 #065f46;border-left-style:solid;border-left-width:3px}[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:#065f46}[data-theme=light] .faq-item__answer{color:#475569;border-top:1px solid #0000000f;padding:12px 16px 16px}.calc-related{padding:1.5rem 0 0}.cr-title{font-family:var(--font-head);color:var(--text-main);margin-bottom:1rem;font-size:1.1rem;font-weight:700}.cr-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;display:grid}.cr-card{background:var(--card);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.3rem;padding:1rem;text-decoration:none;transition:border-color .2s,box-shadow .2s;display:flex}.cr-card:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}[data-theme=light] .cr-card{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000f}[data-theme=light] .cr-card:hover{border-color:var(--accent)}.cr-icon{font-size:1.4rem}.cr-name{font-family:var(--font-head);color:var(--text-main);font-size:.85rem;font-weight:700}.cr-desc{color:var(--text-dim);font-size:.75rem}.toast{z-index:9999;border-radius:8px;padding:.75rem 1.1rem;font-size:.82rem;font-weight:600;animation:.2s toastIn;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 20px #0006}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.toast-success{color:#fff;background:#065f46}.toast-warn{color:#fff;background:#92400e}.toast-error{color:#fff;background:#7f1d1d}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#ffffff05}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}[data-theme=light] ::-webkit-scrollbar-track{background:#0000000a}[data-theme=light] ::-webkit-scrollbar-thumb{background:#0000002e}.gloss-section2{margin-bottom:3rem}.gs2-title{margin-bottom:1rem;font-size:1.1rem;font-weight:700}.gs2-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (width<=700px){.gs2-grid{grid-template-columns:1fr}}.gs2-item{background:var(--card);border:1px solid var(--border);color:var(--text-dim);border-radius:10px;padding:1rem;font-size:.83rem;line-height:1.7}[data-theme=light] .gs2-item{background:#fff;border-color:#0000001a;box-shadow:0 1px 3px #0000000d}.gs2-item strong{color:var(--text-main)}.formula-pills2{margin-bottom:3rem}.fp2-title{margin-bottom:1rem;font-size:1.1rem;font-weight:700}.fp2-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}@media (width<=700px){.fp2-grid{grid-template-columns:repeat(2,1fr)}}.fp2-pill{background:#00f3ff0f;border:1px solid #00f3ff26;border-radius:10px;flex-direction:column;gap:4px;padding:.75rem 1rem;display:flex}[data-theme=light] .fp2-pill{background:#0e74900f;border-color:#0e749033}.fp2-name{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.fp2-eq{font-family:var(--font-mono);color:var(--cyan);font-size:.82rem;font-weight:600}[data-theme=light] .fp2-eq{color:#0e7490}@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}}