*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#f8fafc;--card:#ffffff;--text:#1e293b;--muted:#64748b;--border:#e2e8f0;--accent:#059669;--accent-hover:#047857;--accent-light:#d1fae5;--accent2:#2563eb;--accent2-hover:#1d4ed8;--radius:12px;--radius-sm:8px;--shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--max-w:1140px;--header-h:64px}
html.dark{--bg:#0f172a;--card:#1e293b;--text:#f1f5f9;--muted:#94a3b8;--border:#334155;--accent:#34d399;--accent-hover:#6ee7b7;--accent-light:#064e3b;--accent2:#60a5fa;--accent2-hover:#93c5fd;--shadow:0 1px 3px rgba(0,0,0,.3);--shadow-md:0 4px 6px rgba(0,0,0,.3);--shadow-lg:0 10px 15px rgba(0,0,0,.4)}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.7;min-height:100vh;display:flex;flex-direction:column;transition:background .3s,color .3s}
a{color:var(--accent2);text-decoration:none;transition:color .2s}
a:hover{color:var(--accent2-hover);text-decoration:underline}
img{max-width:100%;height:auto}
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 20px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* HEADER */
.site-header{background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;height:var(--header-h);display:flex;align-items:center;box-shadow:var(--shadow)}
.header-inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:var(--max-w);margin:0 auto;padding:0 20px}
.logo{font-size:1.15rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}
.logo:hover{text-decoration:none;color:var(--accent)}
.logo svg{width:28px;height:28px;fill:var(--accent)}
.nav{display:flex;align-items:center;gap:4px}
.nav a{padding:8px 14px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;color:var(--muted);transition:all .2s}
.nav a:hover,.nav a.active{color:var(--accent);background:var(--accent-light);text-decoration:none}
.nav-toggle{display:none;background:none;border:none;padding:8px;cursor:pointer;color:var(--text)}
.nav-toggle svg{width:24px;height:24px}
.theme-toggle{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px;cursor:pointer;color:var(--text);font-size:.85rem;transition:all .2s;display:flex;align-items:center;gap:4px}
.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}

/* HERO */
.hero{background:linear-gradient(135deg,var(--accent-light) 0%,var(--bg) 100%);padding:60px 0 50px;text-align:center}
html.dark .hero{background:linear-gradient(135deg,rgba(5,150,105,.15) 0%,var(--bg) 100%)}
.hero h1{font-size:2.2rem;font-weight:800;margin-bottom:16px;line-height:1.25;color:var(--text)}
.hero p{font-size:1.15rem;color:var(--muted);max-width:640px;margin:0 auto 28px}
.hero .btn{font-size:1.05rem;padding:14px 32px}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;border:none;cursor:pointer;transition:all .2s;text-decoration:none}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-hover);color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-secondary{background:var(--card);color:var(--text);border:1px solid var(--border)}
.btn-secondary:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}
.btn-sm{padding:6px 14px;font-size:.82rem}
.btn-group{display:flex;gap:10px;flex-wrap:wrap}

/* CARDS */
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:var(--shadow-md)}
.card-link{display:block;text-decoration:none;color:inherit}
.card-link:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.card h3{font-size:1.05rem;margin-bottom:8px;color:var(--text)}
.card p{color:var(--muted);font-size:.9rem}

/* GRID */
.grid{display:grid;gap:20px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

/* SECTION */
.section{padding:50px 0}
.section-title{font-size:1.6rem;font-weight:700;margin-bottom:12px}
.section-subtitle{color:var(--muted);font-size:1rem;margin-bottom:32px}

/* FORM */
.form-group{margin-bottom:20px}
.form-label{display:block;font-weight:600;font-size:.88rem;margin-bottom:6px;color:var(--text)}
.form-hint{font-size:.8rem;color:var(--muted);margin-top:4px}
.form-control{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;background:var(--bg);color:var(--text);transition:border-color .2s;font-family:var(--font)}
.form-control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(5,150,105,.15)}
.form-error{color:#dc2626;font-size:.82rem;margin-top:4px;display:none}
.form-error.show{display:block}
select.form-control{appearance:none;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 fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}

/* SEGMENTED */
.segmented{display:flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg)}
.segmented label{flex:1;text-align:center;padding:9px 12px;font-size:.87rem;font-weight:500;cursor:pointer;transition:all .2s;color:var(--muted);border-right:1px solid var(--border)}
.segmented label:last-child{border-right:none}
.segmented input{display:none}
.segmented input:checked+span{background:var(--accent);color:#fff;display:block;margin:-9px -12px;padding:9px 12px}

/* RANGE */
input[type=range]{width:100%;accent-color:var(--accent)}
.range-value{font-weight:700;color:var(--accent);font-size:1.1rem}

/* RESULTS */
.result-section{display:none;animation:fadeIn .4s ease}
.result-section.show{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.result-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:20px;box-shadow:var(--shadow)}
.result-card h3{font-size:1.1rem;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}
.stat-item{text-align:center;padding:16px;background:var(--bg);border-radius:var(--radius-sm)}
.stat-value{font-size:1.5rem;font-weight:800;color:var(--accent)}
.stat-label{font-size:.78rem;color:var(--muted);margin-top:4px}
.tempo-bar{display:flex;border-radius:var(--radius-sm);overflow:hidden;height:36px;margin:12px 0}
.tempo-bar div{display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:600;color:#fff}
.tempo-easy{background:#34d399}
.tempo-mod{background:#fbbf24;color:#1e293b !important}
.tempo-fast{background:#f87171}

/* TABLE */
.plan-table{width:100%;border-collapse:collapse;font-size:.88rem}
.plan-table th,.plan-table td{padding:10px 14px;border:1px solid var(--border);text-align:left}
.plan-table th{background:var(--accent);color:#fff;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.3px}
.plan-table tr:nth-child(even){background:var(--bg)}
.plan-table .week-header{background:var(--accent-light);font-weight:700;color:var(--accent)}
html.dark .plan-table .week-header{background:rgba(52,211,153,.1)}
.plan-table .deload{background:#fef3c7;color:#92400e}
html.dark .plan-table .deload{background:rgba(251,191,36,.1);color:#fbbf24}

/* DISCLAIMER */
.disclaimer-box{background:#fef3c7;border:1px solid #f59e0b;border-radius:var(--radius-sm);padding:16px 20px;margin:24px 0;font-size:.88rem;color:#92400e;line-height:1.6}
html.dark .disclaimer-box{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.3);color:#fbbf24}
.disclaimer-box strong{display:block;margin-bottom:4px}

/* ACCORDION */
.accordion{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.accordion-item{border-bottom:1px solid var(--border)}
.accordion-item:last-child{border-bottom:none}
.accordion-btn{width:100%;padding:16px 20px;background:var(--card);border:none;text-align:left;font-size:.95rem;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--text);transition:background .2s;font-family:var(--font)}
.accordion-btn:hover{background:var(--bg)}
.accordion-btn::after{content:'+';font-size:1.3rem;font-weight:300;color:var(--muted);transition:transform .3s}
.accordion-item.open .accordion-btn::after{content:'−'}
.accordion-body{max-height:0;overflow:hidden;transition:max-height .35s ease;padding:0 20px}
.accordion-item.open .accordion-body{max-height:500px;padding:0 20px 16px}
.accordion-body p{color:var(--muted);font-size:.9rem;line-height:1.7}

/* BREADCRUMB */
.breadcrumb{padding:12px 0;font-size:.82rem;color:var(--muted)}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb span{margin:0 6px}

/* TAGS */
.tag{display:inline-block;padding:4px 10px;background:var(--accent-light);color:var(--accent);border-radius:20px;font-size:.78rem;font-weight:500;margin:2px}
.chip{display:inline-flex;align-items:center;padding:6px 14px;border:1px solid var(--border);border-radius:20px;font-size:.82rem;cursor:pointer;transition:all .2s;background:var(--card);color:var(--muted)}
.chip:hover,.chip.active{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}

/* SEARCH */
.search-box{position:relative;max-width:560px;margin:0 auto}
.search-box input{width:100%;padding:14px 20px 14px 48px;border:2px solid var(--border);border-radius:var(--radius);font-size:1rem;background:var(--card);color:var(--text);transition:border-color .2s}
.search-box input:focus{outline:none;border-color:var(--accent)}
.search-box svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--muted)}
.search-results{margin-top:24px}
.search-result-item{padding:16px;border-bottom:1px solid var(--border)}
.search-result-item h3{font-size:1rem;margin-bottom:4px}
.search-result-item h3 a{color:var(--text)}
.search-result-item p{font-size:.85rem;color:var(--muted)}
.filter-chips{display:flex;gap:8px;justify-content:center;margin:20px 0;flex-wrap:wrap}

/* AD SLOT */
.ad-slot{margin:24px 0;min-height:90px;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px dashed var(--border);border-radius:var(--radius-sm);overflow:hidden}
.ad-multiplex{min-height:250px}
.ad-in-article{margin:20px -8px;min-height:120px}

/* FOOTER */
.site-footer{background:var(--card);border-top:1px solid var(--border);padding:40px 0 24px;margin-top:auto}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:32px}
.footer-col h4{font-size:.9rem;font-weight:700;margin-bottom:12px;color:var(--text)}
.footer-col p{font-size:.85rem;color:var(--muted);line-height:1.6}
.footer-col a{display:block;font-size:.85rem;color:var(--muted);padding:3px 0;transition:color .2s}
.footer-col a:hover{color:var(--accent);text-decoration:none}
.footer-bottom{border-top:1px solid var(--border);padding-top:20px;text-align:center;font-size:.8rem;color:var(--muted)}

/* GUIDE CONTENT */
.guide-content{max-width:760px;margin:0 auto}
.guide-content h2{font-size:1.4rem;font-weight:700;margin:32px 0 12px;color:var(--text);padding-bottom:8px;border-bottom:2px solid var(--accent-light)}
.guide-content h3{font-size:1.15rem;font-weight:600;margin:24px 0 8px;color:var(--text)}
.guide-content p{margin-bottom:16px;color:var(--text)}
.guide-content ul,.guide-content ol{margin-bottom:16px;padding-left:24px}
.guide-content li{margin-bottom:8px;color:var(--text)}
.guide-content strong{color:var(--text)}

/* TOGGLE */
.toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.9rem}
.toggle-track{width:44px;height:24px;background:var(--border);border-radius:12px;position:relative;transition:background .2s}
.toggle-track::after{content:'';position:absolute;width:20px;height:20px;background:#fff;border-radius:50%;top:2px;left:2px;transition:transform .2s;box-shadow:var(--shadow)}
.toggle.on .toggle-track{background:var(--accent)}
.toggle.on .toggle-track::after{transform:translateX(20px)}

/* TOAST */
.toast{position:fixed;bottom:24px;right:24px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 24px;box-shadow:var(--shadow-lg);font-size:.9rem;z-index:9999;transform:translateY(120%);transition:transform .3s ease;display:flex;align-items:center;gap:8px}
.toast.show{transform:translateY(0)}

/* RELATED */
.related-section{margin-top:40px;padding-top:32px;border-top:1px solid var(--border)}
.related-section h3{font-size:1.1rem;margin-bottom:16px}
.related-links{display:flex;flex-wrap:wrap;gap:8px}
.related-links a{padding:8px 16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;transition:all .2s}
.related-links a:hover{border-color:var(--accent);background:var(--accent-light);text-decoration:none}

/* PRESET CARD */
.preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.preset-card{display:block;padding:20px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;transition:all .2s}
.preset-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px);text-decoration:none}
.preset-card h3{font-size:.95rem;color:var(--text);margin-bottom:6px}
.preset-card p{font-size:.82rem;color:var(--muted)}
.preset-card .tags{margin-top:8px}

/* CONTACT */
.contact-info{max-width:480px}

/* PAGE TITLE */
.page-header{padding:40px 0 20px}
.page-header h1{font-size:1.8rem;font-weight:800;margin-bottom:8px}
.page-header p{color:var(--muted);font-size:1rem}

/* PRINT */
@media print{
.site-header,.site-footer,.ad-slot,.btn-group,.no-print,.toast,.theme-toggle,.nav-toggle,nav{display:none!important}
body{background:#fff;color:#000;font-size:11pt}
.card,.result-card{box-shadow:none;border:1px solid #ddd}
.plan-table th{background:#059669;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.hero{background:none;padding:20px 0}
.disclaimer-box{border:2px solid #f59e0b;-webkit-print-color-adjust:exact;print-color-adjust:exact}
a{color:#000;text-decoration:underline}
a[href]::after{content:" (" attr(href) ")";font-size:9pt}
.container{max-width:100%;padding:0}
}

/* RESPONSIVE */
@media(max-width:1024px){
.grid-4{grid-template-columns:repeat(2,1fr)}
.footer-grid{grid-template-columns:repeat(2,1fr)}
.hero .btn-group{flex-wrap:wrap}
}
@media(max-width:768px){
.grid-2,.grid-3{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr}
.hero h1{font-size:1.6rem}
.hero p{font-size:1rem}
.nav{position:fixed;top:var(--header-h);left:0;right:0;background:var(--card);border-bottom:1px solid var(--border);flex-direction:column;padding:8px;display:none;box-shadow:var(--shadow-lg);z-index:99}
.nav.open{display:flex}
.nav a{padding:12px 16px;width:100%;text-align:left}
.nav-toggle{display:block}
.stat-grid{grid-template-columns:repeat(2,1fr)}
.plan-table{font-size:.78rem}
.plan-table th,.plan-table td{padding:6px 8px}
.section{padding:32px 0}
.page-header{padding:24px 0 12px}
.preset-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
.stat-grid{grid-template-columns:1fr}
.segmented label{font-size:.78rem;padding:7px 6px}
.hero{padding:40px 0 30px}
}