:root{--bg-dark:#050510;--card:#ffffff08;--input-bg:#ffffff0d;--cyan:#00f3ff;--purple:#bc13fe;--accent:#10b981;--text-main:#fff;--text-dim:#88a;--text-muted:#666;--border:#ffffff14;--font-mono:"JetBrains Mono","Courier New",monospace}[data-theme=light]{--bg-dark:#e8edf5;--card:#fffffff2;--input-bg:#e8eef4;--cyan:#0e7490;--purple:#7c3aed;--accent:#065f46;--text-main:#0f172a;--text-dim:#334155;--text-muted:#64748b;--border:#0000001a}*,: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;transition:background .3s,color .3s}.skip-link{position:absolute;left:-9999px}.skip-link:focus{z-index:999;background:var(--accent);color:#fff;border-radius:4px;padding:6px 12px;top:8px;left:8px}.dashboard-container{max-width:1600px;margin:0 auto;padding:80px 1.5rem 2rem}.breadcrumb{color:var(--text-muted);margin-bottom:1rem;font-size:.8rem}.breadcrumb a{color:var(--text-dim);text-decoration:none}.breadcrumb a:hover{color:var(--accent)}.bc-sep{color:var(--text-muted);margin:0 .4rem}.page-title{margin-bottom:.4rem;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700}.page-subtitle{color:var(--text-dim);margin-bottom:1.5rem;font-size:.95rem}.tab-bar{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.tab-btn{border:1px solid var(--border);background:var(--card);color:var(--text-dim);cursor:pointer;border-radius:8px;padding:.5rem 1.2rem;font-size:.85rem;transition:all .2s}.tab-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.tab-panel{display:none}.tab-panel.active{display:block}[data-theme=light] .tab-btn{color:#334155;background:#fff;border-color:#0000001f}[data-theme=light] .tab-btn.active{background:var(--accent);color:#fff}.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}}.input-card,.result-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1.5rem}.input-card{border-left:3px solid var(--cyan)}.result-card{border-left:3px solid var(--purple)}[data-theme=light] .input-card{background:#fff;border-left-color:#0e7490;box-shadow:0 2px 12px #00000014}[data-theme=light] .result-card{background:#fff;border-left-color:#7c3aed;box-shadow:0 2px 12px #00000014}.card-title{margin-bottom:1rem;font-size:1rem;font-weight:700}.card-subtitle{color:var(--text-dim);margin:1rem 0 .5rem;font-size:.9rem;font-weight:600}.field-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin:.75rem 0 .3rem;font-size:.8rem;font-weight:600;display:block}.glass-input{background:var(--input-bg);border:1px solid var(--border);width:100%;color:var(--text-main);border-radius:8px;outline:none;padding:.6rem .8rem;font-size:.95rem;transition:border-color .2s}.glass-input:focus{border-color:var(--accent)}.glass-select{-webkit-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 8L1 3h10z' fill='%238888aa'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.glass-select option{color:#fff;background:#1a1a2e}[data-theme=light] .glass-input{color:#0f172a;background:#e8eef4;border-color:#00000026}[data-theme=light] .glass-input::placeholder{color:#0006}[data-theme=light] .glass-select option{color:#0f172a;background:#fff}.helper-text{color:var(--text-muted);margin:.3rem 0 .75rem;font-size:.82rem}.chip-row{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;display:flex}.chip-btn{border:1px solid var(--border);background:var(--input-bg);color:var(--text-dim);cursor:pointer;border-radius:20px;padding:.35rem .8rem;font-size:.8rem;transition:all .2s}.chip-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}[data-theme=light] .chip-btn{color:#334155;background:#f0f4f9;border-color:#00000026}[data-theme=light] .chip-btn.active{background:var(--accent);color:#fff}.hero-result{text-align:center;margin-bottom:.75rem;padding:1rem 0}.hero-val{color:var(--accent);font-size:3rem;font-weight:800;font-family:var(--font-mono)}.hero-unit{color:var(--text-dim);margin-left:.3rem;font-size:.9rem}.classification-badge{text-align:center;width:fit-content;color:var(--accent);background:#10b98126;border:1px solid #10b9814d;border-radius:20px;margin:.5rem auto;padding:.4rem 1.2rem;font-size:.9rem;font-weight:700}.badge-untrained{color:#94a3b8;background:#64748b26;border-color:#64748b4d}.badge-recreational{color:#f59e0b;background:#f59e0b26;border-color:#f59e0b4d}.badge-sport{color:#10b981;background:#10b98126;border-color:#10b9814d}.badge-cat45{color:var(--cyan);background:#00f3ff26;border-color:#00f3ff4d}.badge-cat123{color:var(--purple);background:#bc13fe26;border-color:#bc13fe4d}.badge-pro{color:#fbbf24;background:#ffd70026;border-color:#ffd7004d}[data-theme=light] .badge-untrained{color:#475569;background:#f1f5f9;border-color:#0000001a}[data-theme=light] .badge-recreational{color:#d97706;background:#fffbeb}[data-theme=light] .badge-sport{color:#065f46;background:#f0fdf4}[data-theme=light] .badge-cat45{color:#0e7490;background:#eff9fb}[data-theme=light] .badge-cat123{color:#7c3aed;background:#7c3aed14}[data-theme=light] .badge-pro{color:#92400e;background:#fffbeb}.stat-grid{grid-template-columns:1fr 1fr 1fr;gap:.75rem;margin:1rem 0;display:grid}.stat-cell{background:var(--input-bg);text-align:center;border-radius:10px;padding:.6rem .8rem}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem;font-size:.7rem;display:block}.stat-val{color:var(--text-main);font-size:.95rem;font-weight:700;font-family:var(--font-mono);display:block}[data-theme=light] .stat-cell{background:#edf2f9;border:1px solid #00000014}[data-theme=light] .stat-val{color:#0f172a}.formula-strip{flex-wrap:wrap;gap:.4rem;margin:.75rem 0;display:flex}.formula-pill{color:var(--cyan);font-size:.78rem;font-family:var(--font-mono);background:#00f3ff14;border:1px solid #00f3ff33;border-radius:6px;padding:.25rem .6rem}[data-theme=light] .formula-pill{color:#0e7490;background:#0e749014;border-color:#0e749033}.alert-stack{flex-direction:column;gap:.4rem;margin:.5rem 0;display:flex}.alert{border-radius:8px;padding:.5rem .75rem;font-size:.82rem}.alert-info{color:var(--cyan);background:#00f3ff14;border:1px solid #00f3ff33}.alert-warn{color:#f59e0b;background:#f59e0b14;border:1px solid #f59e0b33}.alert-success{color:#10b981;background:#10b98114;border:1px solid #10b98133}[data-theme=light] .alert-info{color:#0e7490;background:#eff9fb;border-color:#0e749033}[data-theme=light] .alert-warn{color:#d97706;background:#fffbeb;border-color:#f59e0b33}[data-theme=light] .alert-success{color:#065f46;background:#f0fdf4;border-color:#10b98133}.action-bar{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.act-btn{background:var(--input-bg);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:8px;padding:.45rem 1rem;font-size:.82rem;transition:all .2s}.act-btn:hover{border-color:var(--accent);color:var(--accent)}[data-theme=light] .act-btn{color:#334155;background:#f0f4f9;border-color:#0000001f}[data-theme=light] .act-btn:hover{color:#065f46;border-color:#065f46}.log-btn{text-align:center;width:100%;margin-top:1rem;font-weight:600}.zones-section{margin-top:2rem}.zones-heading{margin-bottom:1rem;font-size:1.1rem}.zones-bar-container{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.zone-bar{grid-template-columns:140px 1fr 80px;align-items:center;gap:.75rem;display:grid}@media (width<=600px){.zone-bar{grid-template-columns:110px 1fr 70px;gap:.5rem}}.zone-bar-label{align-items:baseline;gap:.4rem;display:flex}.zone-bar-name{font-family:var(--font-mono);min-width:22px;font-size:.82rem;font-weight:700}.zone-bar-desc{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.zone-bar-track{background:#ffffff0d;border-radius:7px;height:14px;overflow:hidden}[data-theme=light] .zone-bar-track{background:#edf2f9}.zone-bar-fill{border-radius:7px;height:100%;transition:width .4s}.zone-bar-watts{font-family:var(--font-mono);color:var(--text-main);text-align:right;white-space:nowrap;font-size:.78rem}.zone-chart-row{grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem;display:grid}@media (width<=900px){.zone-chart-row{grid-template-columns:1fr}}.zone-chart-cell{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1rem}[data-theme=light] .zone-chart-cell{background:#fff;border-color:#0000001a;box-shadow:0 1px 6px #0000000f}.zones-table-wrap{margin-top:.5rem;overflow-x:auto}.zones-table-wrap table{border-collapse:collapse;width:100%;font-size:.82rem}.zones-table-wrap th{text-align:left;color:var(--text-dim);border-bottom:1px solid var(--border);background:#ffffff0d;padding:.5rem .6rem;font-weight:600}.zones-table-wrap td{color:var(--text-main);border-bottom:1px solid #ffffff0a;padding:.45rem .6rem}[data-theme=light] .zones-table-wrap th{color:#334155;background:#edf2f9;border-bottom-color:#0000001a}[data-theme=light] .zones-table-wrap td{color:#0f172a;border-bottom-color:#0000000f}.protocol-input-group{flex-direction:column;gap:1rem;display:flex}.proto-card{background:var(--input-bg);border-left:3px solid var(--accent);border-radius:10px;padding:1rem}.proto-label{color:var(--accent);margin-bottom:.25rem;font-size:.88rem;font-weight:700;display:block}.proto-desc{color:var(--text-muted);margin-bottom:.5rem;font-size:.78rem}[data-theme=light] .proto-card{border-left-color:var(--accent);background:#edf2f9}[data-theme=light] .proto-desc{color:#64748b}.proto-results{flex-direction:column;gap:.6rem;margin-bottom:1rem;display:flex}.proto-result-card{background:var(--input-bg);border-radius:10px;overflow:hidden}.proto-result-header{border-left:4px solid var(--accent);justify-content:space-between;align-items:center;padding:.6rem .8rem;display:flex}.proto-result-name{color:var(--text-main);font-size:.85rem;font-weight:600}.proto-result-ftp{font-family:var(--font-mono);color:var(--accent);font-size:1.1rem;font-weight:700}.proto-result-formula{font-family:var(--font-mono);color:var(--text-muted);padding:.3rem .8rem .5rem;font-size:.75rem;display:block}[data-theme=light] .proto-result-card{background:#edf2f9}[data-theme=light] .proto-result-name{color:#0f172a}[data-theme=light] .proto-result-formula{color:#64748b}.proto-summary{margin-top:1rem}.proto-summary-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:.75rem;display:grid}.proto-stat{background:var(--input-bg);text-align:center;border-radius:10px;padding:.6rem .8rem}.proto-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem;font-size:.7rem;display:block}.proto-stat-val{color:var(--text-main);font-size:.95rem;font-weight:700;font-family:var(--font-mono);display:block}.proto-advice{color:var(--text-dim);background:var(--input-bg);border-left:3px solid var(--accent);border-radius:8px;padding:.5rem;font-size:.82rem;line-height:1.6}[data-theme=light] .proto-stat{background:#edf2f9;border:1px solid #00000014}[data-theme=light] .proto-stat-val{color:#0f172a}[data-theme=light] .proto-advice{color:#334155;background:#edf2f9}@media (width<=600px){.proto-summary-grid{grid-template-columns:1fr}}.tracker-stat-grid{grid-template-columns:repeat(4,1fr);gap:.6rem;margin:1rem 0;display:grid}@media (width<=700px){.tracker-stat-grid{grid-template-columns:1fr 1fr}}.tracker-stat{background:var(--input-bg);text-align:center;border-radius:10px;padding:.6rem .8rem}.tracker-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem;font-size:.7rem;display:block}.tracker-stat-val{color:var(--text-main);font-size:.95rem;font-weight:700;font-family:var(--font-mono);display:block}.tracker-stat-val.positive{color:#10b981}.tracker-stat-val.negative{color:#ef4444}[data-theme=light] .tracker-stat{background:#edf2f9;border:1px solid #00000014}[data-theme=light] .tracker-stat-val{color:#0f172a}[data-theme=light] .tracker-stat-val.positive{color:#065f46}[data-theme=light] .tracker-stat-val.negative{color:#dc2626}.ftp-history{max-height:260px;margin:.5rem 0;overflow-y:auto}.empty-msg{color:var(--text-muted);padding:.5rem;font-size:.82rem}.history-table{border-collapse:collapse;width:100%;font-size:.8rem}.history-table th{text-align:left;color:var(--text-dim);border-bottom:1px solid var(--border);white-space:nowrap;background:#ffffff0d;padding:.45rem .5rem;font-weight:600}.history-table td{color:var(--text-main);border-bottom:1px solid #ffffff0a;padding:.4rem .5rem}.history-table .h-val{color:var(--accent);font-weight:700;font-family:var(--font-mono)}.h-del{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:1rem;line-height:1}.h-del:hover{color:#ef4444}[data-theme=light] .history-table th{color:#334155;background:#edf2f9;border-bottom-color:#0000001a}[data-theme=light] .history-table td{color:#0f172a;border-bottom-color:#0000000f}[data-theme=light] .history-table .h-val{color:#065f46}.ftp-history::-webkit-scrollbar{width:6px}.ftp-history::-webkit-scrollbar-track{background:#ffffff08;border-radius:3px}.ftp-history::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}[data-theme=light] .ftp-history::-webkit-scrollbar-track{background:#edf2f9}[data-theme=light] .ftp-history::-webkit-scrollbar-thumb{background:#00000026}.toast-container{z-index:1000;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{border-radius:8px;padding:.6rem 1rem;font-size:.85rem;animation:.3s slideIn}.toast-success{color:#fff;background:#065f46}.toast-warn{color:#fff;background:#92400e}.toast-error{color:#fff;background:#991b1b}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.page-sections-outer{max-width:1600px;margin:0 auto;padding:0 1.5rem 3rem}.section-title{color:var(--text-main);margin-bottom:1rem;font-size:1.2rem;font-weight:700}[data-theme=light] .section-title{color:#0f172a}.how-section,.formula-pills2,.gloss-section2,.ex-section2,.calc-article,.faq-section,.calc-related{margin-bottom:2.5rem}.how-steps{flex-direction:column;gap:1rem;display:flex}.how-step{align-items:flex-start;gap:1rem;display:flex}.step-num{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:flex}.step-body{color:var(--text-dim);padding-top:3px;font-size:.88rem;line-height:1.6}.step-body strong{color:var(--text-main)}[data-theme=light] .step-body{color:#334155}[data-theme=light] .step-body strong{color:#0f172a}.pill-row{flex-wrap:wrap;gap:.75rem;display:flex}.f-pill{background:var(--card);border:1px solid var(--border);border-radius:10px;flex-direction:column;flex:1;align-items:flex-start;gap:.5rem;min-width:160px;padding:.6rem 1rem;display:flex}.f-label{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:700}.f-eq{font-family:var(--font-mono);color:var(--text-main);font-size:.8rem}[data-theme=light] .f-pill{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000d}[data-theme=light] .f-eq{color:#0f172a}.gloss-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.gloss-item{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem}.gloss-item dt{color:var(--accent);margin-bottom:.25rem;font-size:.88rem;font-weight:700}.gloss-item dd{color:var(--text-dim);font-size:.82rem;line-height:1.55}[data-theme=light] .gloss-item{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000d}[data-theme=light] .gloss-item dd{color:#334155}.ex-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.ex-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1rem}.ex-card h3{color:var(--text-main);margin-bottom:.5rem;font-size:.9rem;font-weight:700}.ex-card p{color:var(--text-dim);font-size:.82rem;line-height:1.6}[data-theme=light] .ex-card{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000d}[data-theme=light] .ex-card h3{color:#0f172a}[data-theme=light] .ex-card p{color:#334155}.calc-article{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1.5rem 2rem}.calc-article h2{color:var(--text-main);margin-bottom:1rem;font-size:1.2rem}.calc-article h3{color:var(--accent);margin:1rem 0 .4rem;font-size:1rem;font-weight:700}.calc-article p{color:var(--text-dim);margin-bottom:.75rem;font-size:.88rem;line-height:1.75}[data-theme=light] .calc-article{background:#fff;border-color:#0000001a;box-shadow:0 2px 8px #0000000f}[data-theme=light] .calc-article h2{color:#0f172a}[data-theme=light] .calc-article p{color:#334155}.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;transition:box-shadow .2s,border-color .2s;overflow:hidden;box-shadow:0 1px 4px #0000000f}[data-theme=light] .faq-item:hover{border-color:#065f4659;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;box-shadow:0 2px 12px #065f461a}[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}.related-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;display:grid}.related-card{background:var(--card);border:1px solid var(--border);border-radius:12px;align-items:center;gap:.6rem;padding:.9rem 1rem;text-decoration:none;transition:border-color .2s,transform .15s;display:flex}.related-card:hover{border-color:var(--accent);transform:translateY(-2px)}.rel-icon{font-size:1.2rem}.rel-name{color:var(--text-main);font-size:.82rem;font-weight:600}[data-theme=light] .related-card{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000d}[data-theme=light] .related-card:hover{border-color:#065f46}[data-theme=light] .rel-name{color:#0f172a}