:root{--bg-dark:#050510;--card:#ffffff08;--input-bg:#ffffff0d;--cyan:#22d3ee;--purple:#a855f7;--text-main:#fff;--text-dim:#88a;--text-muted:#666;--border:#ffffff14;--accent:var(--calc-color-math);--font-main:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace}[data-theme=light]{--bg-dark:#e8edf5;--card:#fffffff2;--input-bg:#e8eef4;--cyan:#0891b2;--purple:#7c3aed;--text-main:#0f172a;--text-dim:#334155;--text-muted:#64748b;--border:#0000001a;--accent:var(--calc-color-math)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--calc-bg-page);color:var(--calc-text-primary);font-family:var(--font-main);min-height:100vh;line-height:1.6;transition:background .3s,color .3s}.dashboard-container{max-width:1600px;margin:0 auto;padding:1.5rem}.calc-breadcrumb{color:var(--calc-text-muted);margin-bottom:.75rem;font-size:.8rem}.calc-breadcrumb a{color:var(--calc-text-dim);text-decoration:none}.calc-breadcrumb a:hover{color:var(--calc-cyan)}.calc-breadcrumb span{margin:0 .35rem}.calc-title{background:linear-gradient(135deg,#818cf8 0%,#a855f7 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.25rem;font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800}[data-theme=light] .calc-title{background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);-webkit-background-clip:text;background-clip:text}.calc-subtitle{color:var(--calc-text-dim);margin-bottom:1.5rem;font-size:.95rem}.outer-tabs{border-bottom:1px solid var(--calc-border-default);flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex}.outer-tab{border:1px solid var(--calc-border-default);color:var(--calc-text-dim);cursor:pointer;font-size:.875rem;font-weight:600;font-family:var(--font-main);background:0 0;border-radius:8px;padding:.5rem 1.25rem;transition:transform .25s,opacity .25s,color .2s,box-shadow .25s}.outer-tab:hover{color:var(--calc-text-primary);border-color:var(--accent)}.outer-tab.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 12px #818cf84d}[data-theme=light] .outer-tab.active{box-shadow:0 2px 8px #4f46e540}.tab-content{display:none}.tab-content.active{display:block}.calc-grid{grid-template-columns:1fr 1fr;align-items:start;gap:1.5rem;display:grid}@media (width<=1024px){.calc-grid{grid-template-columns:1fr}}.input-card,.result-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.5rem}[data-theme=light] .input-card,[data-theme=light] .result-card{background:#fff;border-color:#0000001f;box-shadow:0 2px 12px #00000017}.card-title{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem;font-size:.8rem;font-weight:700}.form-group{margin-bottom:1rem}.form-group.hidden{display:none}.form-label{color:var(--text-dim);margin-bottom:.4rem;font-size:.8rem;font-weight:600;display:block}[data-theme=light] .form-label{color:#475569}.input-row{gap:.5rem;display:flex}.glass-input{background:var(--input-bg);border:1px solid var(--border);color:var(--text-main);font-size:.95rem;font-family:var(--font-mono);border-radius:8px;outline:none;flex:1;width:100%;padding:.6rem .875rem;transition:border-color .2s,box-shadow .2s}.glass-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #818cf833}[data-theme=light] .glass-input{color:#0f172a;background:#f0f4f9;border-color:#00000026}[data-theme=light] .glass-input:focus{border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e526}.glass-input::placeholder{color:#ffffff4d}[data-theme=light] .glass-input::placeholder{color:#00000059}.glass-select{background:var(--input-bg);border:1px solid var(--border);color:var(--text-main);cursor:pointer;border-radius:8px;outline:none;min-width:80px;padding:.6rem .75rem;font-size:.875rem}[data-theme=light] .glass-select{color:#0f172a;background:#f0f4f9;border-color:#00000026}.mode-chips,.preset-chips,.planet-chips,.ff-mode-chips{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.chip{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;font-size:.8rem;font-weight:600;font-family:var(--font-main);white-space:nowrap;background:0 0;border-radius:20px;padding:.35rem .9rem;transition:all .2s}.chip:hover{border-color:var(--accent);color:var(--text-main)}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}[data-theme=light] .chip{color:#475569;border-color:#00000026}[data-theme=light] .chip:hover{color:#1e1b4b;border-color:#4f46e5}[data-theme=light] .chip.active{color:#fff;background:#4f46e5;border-color:#4f46e5}.planet-chip{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;font-size:.75rem;font-weight:600;font-family:var(--font-main);background:0 0;border-radius:10px;flex-direction:column;align-items:center;gap:.15rem;padding:.4rem .75rem;transition:all .2s;display:flex}.planet-chip:hover{border-color:var(--accent);color:var(--text-main)}.planet-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.chip-g{opacity:.8;font-size:.65rem;font-weight:400;font-family:var(--font-mono)}[data-theme=light] .planet-chip{color:#475569;border-color:#00000026}[data-theme=light] .planet-chip.active{color:#fff;background:#4f46e5;border-color:#4f46e5}.section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin:1rem 0 .5rem;font-size:.75rem;font-weight:700}[data-theme=light] .section-label{color:#64748b}.hero-result{text-align:center;padding:1.25rem 0 1rem}.hero-value{font-size:clamp(2rem,5vw,3rem);font-weight:800;font-family:var(--font-mono);color:var(--accent);line-height:1.1}[data-theme=light] .hero-value{color:#4f46e5}.hero-label{color:var(--text-dim);margin-top:.35rem;font-size:.85rem}[data-theme=light] .hero-label{color:#64748b}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem;margin:1rem 0;display:grid}.stat-cell{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:10px;padding:.6rem .75rem}[data-theme=light] .stat-cell{background:#edf2f9;border-color:#0000001a}.stat-val{font-size:.9rem;font-weight:700;font-family:var(--font-mono);color:var(--text-main)}[data-theme=light] .stat-val{color:#0f172a}.stat-lbl{color:var(--text-dim);margin-top:.2rem;font-size:.7rem}[data-theme=light] .stat-lbl{color:#64748b}.formula-strip{flex-wrap:wrap;gap:.5rem;margin:.75rem 0;display:flex}.f-pill{background:#818cf814;border:1px solid #818cf833;border-radius:8px;flex-direction:column;flex:1;align-items:center;min-width:120px;padding:.4rem .75rem;display:flex}[data-theme=light] .f-pill{background:#4f46e512;border-color:#4f46e533}.f-eq{font-family:var(--font-mono);color:var(--calc-indigo);font-size:.8rem;font-weight:600}[data-theme=light] .f-eq{color:#4f46e5}.f-lbl{color:var(--text-dim);margin-top:.15rem;font-size:.65rem}[data-theme=light] .f-lbl{color:#64748b}.solution-steps{border:1px solid var(--border);border-radius:10px;margin:.75rem 0;overflow:hidden}.solution-toggle{cursor:pointer;color:var(--text-dim);user-select:none;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.85rem;font-weight:600;list-style:none;transition:color .2s;display:flex}.solution-toggle::-webkit-details-marker{display:none}.solution-toggle:after{content:"+";font-family:var(--font-mono);color:var(--text-dim);flex-shrink:0;margin-left:12px;font-size:1.1rem;transition:color .2s}.solution-steps[open] .solution-toggle:after{content:"−";color:var(--accent)}.solution-toggle:hover{color:var(--text-main)}[data-theme=light] .solution-toggle{color:#475569}[data-theme=light] .solution-steps[open] .solution-toggle:after{color:#4f46e5}.solution-body{font-family:var(--font-mono);color:var(--text-dim);border-top:1px solid var(--border);white-space:pre-wrap;padding:.75rem 1rem 1rem;font-size:.78rem;line-height:1.8}[data-theme=light] .solution-body{color:#475569;border-top-color:#00000014}.step-given{color:var(--text-dim)}.step-head{color:var(--cyan);font-weight:700}[data-theme=light] .step-head{color:#0891b2}.step-result{color:var(--accent);font-weight:700}[data-theme=light] .step-result{color:#4f46e5}.alert-box{border-left:3px solid;border-radius:8px;margin:.5rem 0;padding:.65rem 1rem;font-size:.82rem}.alert-box.hidden{display:none}.alert-box.info{color:var(--text-dim);background:#818cf814;border-color:#818cf8}.alert-box.warn{color:#fbbf24;background:#f59e0b14;border-color:#f59e0b}[data-theme=light] .alert-box.info{color:#3730a3;background:#eef2ff;border-color:#4f46e5}[data-theme=light] .alert-box.warn{color:#78350f;background:#fffbeb;border-color:#d97706}.chart-wrap{margin-top:1rem}.chart-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.chart-title{color:var(--text-dim);font-size:.8rem;font-weight:600}[data-theme=light] .chart-title{color:#475569}.inner-chart-tabs{gap:.35rem;display:flex}.inner-tab{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;font-size:.75rem;font-weight:600;font-family:var(--font-main);background:0 0;border-radius:6px;padding:.25rem .7rem;transition:all .2s}.inner-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}[data-theme=light] .inner-tab{color:#475569;border-color:#00000026}[data-theme=light] .inner-tab.active{color:#fff;background:#4f46e5;border-color:#4f46e5}canvas{width:100%;height:var(--chart-height,220px)}.action-bar{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.act-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;font-size:.8rem;font-weight:600;font-family:var(--font-main);background:0 0;border-radius:8px;padding:.45rem 1rem;transition:all .2s}.act-btn:hover{border-color:var(--accent);color:var(--text-main)}[data-theme=light] .act-btn{color:#475569;border-color:#00000026}[data-theme=light] .act-btn:hover{color:#1e1b4b;border-color:#4f46e5}.proj-results,.ff-results{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.proj-stat,.ff-stat{background:var(--card);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}[data-theme=light] .proj-stat,[data-theme=light] .ff-stat{background:#edf2f9;border-color:#0000001a}.ps-lbl,.fs-lbl{color:var(--text-dim);font-size:.82rem}.ps-val,.fs-val{font-size:.9rem;font-weight:700;font-family:var(--font-mono);color:var(--text-main)}[data-theme=light] .ps-lbl,[data-theme=light] .fs-lbl{color:#64748b}[data-theme=light] .ps-val,[data-theme=light] .fs-val{color:#0f172a}.angle-row{align-items:center;gap:.75rem;margin-top:.35rem;display:flex}.angle-slider{accent-color:var(--accent);flex:1}.angle-display{align-items:center;gap:.35rem;display:flex}.angle-input{flex:unset;width:70px}.input-unit-lbl{color:var(--text-dim);font-size:.85rem}[data-theme=light] .input-unit-lbl{color:#64748b}.angle-legend{color:var(--text-dim);justify-content:space-between;margin-top:.3rem;font-size:.7rem;display:flex}[data-theme=light] .angle-legend{color:#94a3b8}.angle-center{text-align:center}.section-title-sm{color:var(--text-main);margin:1.5rem 0 .35rem;font-size:1rem;font-weight:700}[data-theme=light] .section-title-sm{color:#0f172a}.section-desc{color:var(--text-dim);margin-bottom:1rem;font-size:.82rem}[data-theme=light] .section-desc{color:#64748b}.page-sections-outer{max-width:1600px;margin:0 auto;padding:0 1.5rem 3rem}.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}[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:#4f46e559;box-shadow:0 2px 10px #4f46e514}[data-theme=light] .faq-item[open]{border-color:#4f46e566 #4f46e566 #4f46e566 #4f46e5;border-left-style:solid;border-left-width:3px;box-shadow:0 2px 12px #4f46e51a}[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:#4f46e5}[data-theme=light] .faq-item__answer{color:#475569;border-top:1px solid #0000000f;padding:12px 16px 16px}