@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;600;700&display=swap";:root{--bg-dark:#050510;--card:#0d0d1f;--input-bg:#111128;--cyan:#00f3ff;--purple:#bc13fe;--accent:#bd00ff;--text-main:#fff;--text-dim:#88a;--text-muted:#557;--green:#22c55e;--red:#ef4444;--gold:#f59e0b;--border:#1e1e3a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-dark);color:var(--text-main);min-height:100vh;font-family:Inter,sans-serif;line-height:1.6}.nav-container{flex-wrap:wrap;align-items:center;gap:.25rem;max-width:1600px;margin:0 auto;padding:.75rem 0;display:flex}.nav-hamburger{color:var(--text-main);cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:1.4rem;display:none}.dashboard-container{max-width:1600px;margin:0 auto;padding:2rem 1.5rem 4rem}.page-header{margin-bottom:1.75rem}.page-title{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800}.page-subtitle{color:var(--text-dim);margin-top:.3rem;font-size:.9rem}.tab-bar{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.tab-btn{background:var(--card);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:8px;padding:.55rem 1.25rem;font-family:inherit;font-size:.9rem;font-weight:500;transition:all .2s}.tab-btn:hover{color:var(--text-main);border-color:var(--accent)}.tab-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.tab-content{display:none}.tab-content.active{display:block}.calc-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=900px){.calc-grid{grid-template-columns:minmax(0,1fr);overflow:hidden}}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1.75rem}.input-card{border-left:3px solid var(--cyan)}.result-card{border-left:3px solid var(--purple)}.card-title{margin-bottom:1.1rem;font-size:1.05rem;font-weight:700}.form-group{margin-bottom:.9rem}.form-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.3rem;font-size:.78rem;font-weight:700;display:block}.input-field{background:var(--input-bg);border:1px solid var(--border);width:100%;color:var(--text-main);border-radius:8px;outline:none;padding:.5rem .75rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}.input-field:focus{border-color:var(--cyan)}.height-row{gap:.5rem;display:flex}.input-with-suffix{background:var(--input-bg);border:1px solid var(--border);border-radius:8px;flex:1;align-items:center;transition:border-color .2s;display:flex;overflow:hidden}.input-with-suffix:focus-within{border-color:var(--cyan)}.suffix{color:var(--text-dim);border-left:1px solid var(--border);white-space:nowrap;background:#ffffff08;padding:0 .6rem;font-size:.82rem;font-weight:600}.input-with-suffix .input-field{background:0 0;border:none;border-radius:0}.input-with-suffix .input-field:focus{border:none}.chip-group{flex-wrap:wrap;gap:.4rem;display:flex}.chip{background:var(--input-bg);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;white-space:nowrap;border-radius:20px;padding:.3rem .75rem;font-family:inherit;font-size:.8rem;font-weight:500;transition:all .18s}.chip:hover{border-color:var(--accent);color:var(--text-main)}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.btn-calculate{background:var(--accent);color:#fff;cursor:pointer;letter-spacing:.01em;border:none;border-radius:10px;width:100%;margin-top:.75rem;padding:.85rem;font-family:inherit;font-size:1rem;font-weight:700;transition:opacity .2s,transform .15s}.btn-calculate:hover{opacity:.88;transform:translateY(-1px)}.hero-result{text-align:center;background:#bd00ff0d;border:1px solid #bd00ff2e;border-radius:14px;margin-bottom:1.25rem;padding:1.25rem 1rem 1rem}.deficit-ring-wrap{justify-content:center;align-items:center;display:inline-flex;position:relative}.deficit-ring{width:170px;height:170px;transform:rotate(-90deg)}.ring-track{fill:none;stroke:#ffffff12;stroke-width:10px}.ring-fill{fill:none;stroke-width:10px;stroke-linecap:round;stroke-dasharray:314.16;stroke-dashoffset:314.16px;stroke:var(--green);transition:stroke-dashoffset .7s cubic-bezier(.4,0,.2,1),stroke .4s}.ring-inner{text-align:center;padding:0 10px;position:absolute}.hero-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.2rem;font-size:.72rem}.hero-value{color:var(--accent);font-size:clamp(1.4rem,3vw,1.9rem);font-weight:800;line-height:1.1}.hero-sub{color:var(--text-dim);margin-top:.2rem;font-size:.72rem;line-height:1.4}.stat-grid{grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1rem 0;display:grid}.stat-cell{background:var(--input-bg);text-align:center;border-radius:8px;padding:.75rem .6rem}.stat-val{color:var(--text-main);font-size:.95rem;font-weight:700}.stat-lbl{color:var(--text-dim);margin-top:.2rem;font-size:.7rem}.mono{font-family:JetBrains Mono,Courier New,monospace}.accent-green{color:var(--green)}.accent-red{color:var(--red)}.accent-gold{color:var(--gold)}.accent-magenta{color:var(--accent)}.accent-cyan{color:var(--cyan)}.formula-strip{flex-wrap:wrap;gap:.4rem;margin:.75rem 0;display:flex}.formula-pill{color:var(--text-dim);white-space:nowrap;background:#bd00ff14;border:1px solid #bd00ff38;border-radius:20px;padding:.3rem .65rem;font-size:.74rem;font-weight:500}.formula-pill span{color:var(--accent);font-family:JetBrains Mono,monospace;font-weight:700}.chart-block{min-width:0;margin-top:.75rem;position:relative;overflow:hidden}.chart-legend-row{flex-wrap:wrap;gap:1rem;margin-bottom:.4rem;display:flex}.chart-legend-item{color:var(--text-dim);align-items:center;gap:.35rem;font-size:.72rem;display:flex}.chart-legend-dot{border-radius:2px;width:10px;height:3px}.alert-stack{flex-direction:column;gap:.5rem;margin:.75rem 0;display:flex}.alert-msg{border-radius:8px;align-items:flex-start;gap:.6rem;padding:.6rem .8rem;font-size:.82rem;line-height:1.45;display:flex}.alert-msg svg{flex-shrink:0;margin-top:1px}.alert-error{color:var(--red);background:#ef44441a;border:1px solid #ef444440}.alert-warning{color:var(--gold);background:#f59e0b1a;border:1px solid #f59e0b40}.alert-info{color:var(--cyan);background:#00f3ff12;border:1px solid #00f3ff33}.alert-success{color:var(--green);background:#22c55e14;border:1px solid #22c55e40}.macro-panel{background:#bd00ff0a;border:1px solid #bd00ff26;border-radius:12px;margin-top:.75rem;padding:1rem}.macro-panel__title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:.7rem;font-size:.73rem;font-weight:700}.macro-row{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.macro-item{background:var(--input-bg);text-align:center;border-radius:8px;padding:.65rem .5rem}.macro-item__val{font-family:JetBrains Mono,monospace;font-size:1.05rem;font-weight:800}.macro-item__lbl{color:var(--text-dim);margin-top:.15rem;font-size:.7rem;font-weight:600}.macro-item__sub{color:var(--text-muted);margin-top:.1rem;font-size:.63rem}.per-meal-row{color:var(--text-dim);text-align:center;margin-top:.65rem;font-size:.77rem;line-height:1.5}.action-bar{border-top:1px solid var(--border);flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.btn-action{background:var(--input-bg);border:1px solid var(--border);min-width:80px;color:var(--text-dim);cursor:pointer;white-space:nowrap;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .75rem;font-family:inherit;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-action:hover{border-color:var(--accent);color:var(--accent)}.scenario-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.sc-card{background:var(--input-bg);border:1px solid var(--border);text-align:center;border-radius:10px;padding:1rem;transition:border-color .2s}.sc-card.active-sc{border-color:var(--accent);background:#bd00ff12}.sc-name{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:.4rem;font-size:.72rem;font-weight:700}.sc-badge{text-transform:uppercase;border-radius:10px;margin-bottom:.4rem;padding:.15rem .45rem;font-size:.62rem;font-weight:700;display:inline-block}.sc-badge-safe{color:var(--green);background:#22c55e26}.sc-badge-mod{color:var(--gold);background:#f59e0b1f}.sc-badge-agg{color:var(--red);background:#ef44441a}.sc-deficit{color:var(--accent);font-family:JetBrains Mono,monospace;font-size:1.4rem;font-weight:800}.sc-weekly{color:var(--green);margin-top:.2rem;font-family:JetBrains Mono,monospace;font-size:.85rem}.sc-time{color:var(--gold);margin-top:.15rem;font-size:.8rem}.sc-cal{color:var(--text-dim);margin-top:.15rem;font-size:.75rem}.sc-pct{color:var(--text-muted);margin-top:.1rem;font-size:.72rem}.bbb-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:.75rem;display:grid}.bbb-card{background:var(--input-bg);border:1px solid var(--border);text-align:center;border-radius:10px;padding:1rem}.bbb-label{text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.7rem;font-weight:700}.bbb-weeks{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:800}.bbb-note{color:var(--text-dim);margin-top:.35rem;font-size:.7rem;line-height:1.4}.bbb-bear{border-color:#ef44444d}.bbb-base{border-color:#f59e0b4d}.bbb-bull{border-color:#22c55e4d}.bbb-bear .bbb-label{color:var(--red)}.bbb-base .bbb-label{color:var(--gold)}.bbb-bull .bbb-label{color:var(--green)}.bbb-bear .bbb-weeks{color:var(--red)}.bbb-base .bbb-weeks{color:var(--gold)}.bbb-bull .bbb-weeks{color:var(--green)}.exercise-card{background:var(--input-bg);border:1px solid var(--border);border-radius:10px;margin-top:0;padding:1rem 1.1rem}.exercise-grid{grid-template-columns:repeat(2,1fr);gap:.6rem 1rem;margin-top:.65rem;display:grid}.exercise-item{color:var(--text-main);align-items:center;gap:.5rem;font-size:.82rem;display:flex}.exercise-icon{text-align:center;flex-shrink:0;width:1.4rem;font-size:1.1rem}.exercise-val{color:var(--cyan);margin-right:.15rem;font-family:JetBrains Mono,monospace;font-weight:700}.sens-matrix{border-collapse:collapse;width:100%;margin-top:.5rem;font-size:.76rem}.sens-matrix th{background:var(--input-bg);color:var(--text-dim);text-align:center;border:1px solid var(--border);text-transform:uppercase;letter-spacing:.03em;padding:.45rem .5rem;font-size:.68rem;font-weight:700}.sens-matrix td{text-align:center;border:1px solid var(--border);padding:.45rem .5rem;font-family:JetBrains Mono,monospace;font-size:.78rem;font-weight:600;transition:background .2s}.sens-fast{color:var(--green);background:#22c55e24}.sens-med{color:var(--cyan);background:#00f3ff14}.sens-slow{color:var(--gold);background:#f59e0b1a}.sens-very-slow{color:var(--red);background:#ef444417}.sens-current{outline:2px solid var(--accent);outline-offset:-2px;border-radius:2px}.sens-row-label{color:var(--text-dim);text-align:right;white-space:nowrap;font-size:.72rem;font-weight:700}.milestone-strip{grid-template-columns:repeat(5,1fr);gap:.5rem;margin-bottom:1rem;display:grid}.milestone-card{background:var(--input-bg);text-align:center;border:1px solid var(--border);border-radius:8px;padding:.6rem .4rem}.milestone-card.ms-goal{border-color:var(--accent);background:#bd00ff14}.milestone-card.ms-25,.milestone-card.ms-50,.milestone-card.ms-75{border-color:#f59e0b59}.ms-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);font-size:.6rem;font-weight:700}.ms-weight{color:var(--text-main);margin-top:.25rem;font-family:JetBrains Mono,monospace;font-size:.82rem;font-weight:800}.ms-date{color:var(--text-muted);margin-top:.15rem;font-size:.62rem}.ms-goal .ms-weight{color:var(--accent)}.scenario-table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.86rem}.data-table th{background:var(--input-bg);color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.6rem .8rem;font-size:.72rem}.data-table td{color:var(--text-main);border-bottom:1px solid #ffffff0a;padding:.5rem .8rem;font-size:.83rem}.data-table td.mono{font-family:JetBrains Mono,monospace}.empty-msg{color:var(--text-dim);font-style:italic}.dim-text{color:var(--text-dim);font-size:.88rem;font-style:italic}.section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-top:1rem;margin-bottom:.5rem;font-size:.8rem;font-weight:700}.ms-badge{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:8px;padding:.1rem .35rem;font-size:.6rem;font-weight:700;display:inline-block}.ms-badge-start{color:var(--text-dim);background:#88a3}.ms-badge-quarter{color:var(--gold);background:#f59e0b26}.ms-badge-half{color:var(--gold);background:#f59e0b33}.ms-badge-three{color:var(--gold);background:#f59e0b26}.ms-badge-goal{color:var(--accent);background:#bd00ff33}.plateau-note{color:var(--gold);background:#f59e0b12;border:1px solid #f59e0b33;border-radius:10px;margin-top:1rem;padding:.9rem 1rem;font-size:.83rem;line-height:1.6}.faq-section{max-width:860px;margin-top:3rem}.faq-list{flex-direction:column;gap:.5rem;display:flex}.faq-item{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;padding:.9rem 1.1rem;font-size:.92rem;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--accent);flex-shrink:0;margin-left:.5rem;font-size:1.1rem}.faq-item[open] summary:after{content:"−"}.faq-item p{color:var(--text-dim);padding:0 1.1rem 1rem;font-size:.88rem;line-height:1.65}.site-footer{background:var(--card);border-top:1px solid var(--border);text-align:center;color:var(--text-muted);padding:1.25rem;font-size:.8rem}@media (width<=700px){.milestone-strip{grid-template-columns:repeat(3,1fr)}.bbb-grid,.exercise-grid{grid-template-columns:minmax(0,1fr);overflow:hidden}.macro-row{gap:.35rem}.stat-grid{grid-template-columns:repeat(2,1fr)}.height-row{flex-direction:column}}@media (width<=500px){.milestone-strip{grid-template-columns:repeat(2,1fr)}.formula-strip{flex-direction:column}}.toast{z-index:9999;color:#fff;border-radius:8px;max-width:320px;padding:.75rem 1.25rem;font-size:.875rem;animation:.3s toastIn;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 12px #0000004d}.toast-success{background:#00b4d8}.toast-warn{background:#f59e0b}.toast-error{background:#dc2626}@keyframes toastIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}[data-theme=light]{--bg-dark:#f1f5f9;--card:#fff;--input-bg:#e2e8f0;--cyan:#0e7490;--purple:#7c3aed;--accent:#4f46e5;--text-main:#0f172a;--text-dim:#334155;--text-muted:#475569;--green:#059669;--red:#dc2626;--gold:#a16207;--border:#0000001f}[data-theme=light] body{background-color:#f1f5f9}[data-theme=light] .input-field{color:#0f172a;background:#e2e8f0;border-color:#00000026}[data-theme=light] input,[data-theme=light] select{color-scheme:light}[data-theme=light] .tab-btn{color:#334155;background:#e2e8f0;border-color:#0000001f}[data-theme=light] .tab-btn.active{color:#fff;background:#4f46e5;border-color:#4f46e5}[data-theme=light] .chip{color:#334155;background:#e2e8f0;border-color:#00000026}[data-theme=light] .chip.active{color:#fff;background:#4f46e5;border-color:#4f46e5}[data-theme=light] .card{background:#fff;border-color:#0000001a;box-shadow:0 2px 8px #0000000f}[data-theme=light] .stat-cell,[data-theme=light] .sc-card,[data-theme=light] .macro-item,[data-theme=light] .bbb-card,[data-theme=light] .exercise-card,[data-theme=light] .milestone-card{background:#f1f5f9;border-color:#0000001a}[data-theme=light] .hero-result{background:#4f46e50f;border-color:#4f46e533}[data-theme=light] .macro-panel{background:#4f46e50a;border-color:#4f46e526}[data-theme=light] .formula-pill{color:#334155;background:#f1f5f9;border-color:#0000001a}[data-theme=light] .formula-pill span{color:#4f46e5}[data-theme=light] .btn-action{color:#334155;background:#f1f5f9;border-color:#0000001f}[data-theme=light] .btn-action:hover{color:#4f46e5;border-color:#4f46e5}[data-theme=light] .data-table th{color:#334155;background:#f1f5f9}[data-theme=light] .data-table td{color:#0f172a;border-color:#0000000f}[data-theme=light] .faq-item{background:#fff;border-color:#00000017}[data-theme=light] .faq-item summary{color:#0f172a}[data-theme=light] .faq-item p{color:#475569}[data-theme=light] .plateau-note{color:#a16207;background:#a1620712;border-color:#a1620733}[data-theme=light] .sens-matrix th{color:#334155;background:#e2e8f0;border-color:#0000001a}[data-theme=light] .sens-matrix td{border-color:#0000001a}[data-theme=light] .ring-track{stroke:#00000014}