:root{--blue-900:#1e40af;--blue-600:#2563eb;--blue-500:#3b82f6;--blue-100:#dbeafe;--blue-50:#eff6ff;--green-600:#16a34a;--green-500:#10b981;--red-500:#ef4444;--orange-500:#f97316;--orange-50:#fff7ed;--purple-500:#a855f7;--pink-500:#ec4899;--card-radius:1rem;--card-padding:1rem;--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--text:#1e293b;--muted:#64748b;--bg:#f8fafc;--border:#e2e8f0;--gray-400:#9ca3af}@media (min-width:640px){:root{--card-radius:1.5rem;--card-padding:2rem}}*{margin:0;padding:0;box-sizing:border-box}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}button{-webkit-user-select:none;-moz-user-select:none;user-select:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);line-height:1.7}a{color:var(--blue-600);text-decoration:none}a:hover{text-decoration:underline}.header{background:linear-gradient(135deg,var(--blue-900),var(--blue-500));color:#fff;padding:1rem 0;box-shadow:0 2px 8px rgba(0,0,0,.15);position:-webkit-sticky;position:sticky;top:0;z-index:10}.header-inner{max-width:1000px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.logo{font-size:1.4rem;font-weight:800;color:#fff}.logo:hover{text-decoration:none}.header-nav{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.header-nav a{color:var(--blue-100);font-size:.92rem}.header-nav a:hover{color:#fff;text-decoration:none}.header-nav a.cta{background:#fff;color:var(--blue-900);font-weight:700;padding:.5rem 1.1rem;border-radius:8px}.header-nav a.cta:hover{background:var(--blue-50)}.container{max-width:1000px;margin:0 auto;padding:2.5rem 1.5rem}.narrow{max-width:820px}.hero{background:linear-gradient(135deg,var(--blue-900),var(--blue-500));color:#fff;padding:4rem 1.5rem 4.5rem}.hero-inner{max-width:1000px;margin:0 auto;text-align:center}.hero h1{font-size:2.6rem;font-weight:800;line-height:1.2;margin-bottom:1rem}.hero p{max-width:640px;margin-left:auto;margin-right:auto}.hero p.sub{font-size:1.25rem;opacity:.95;margin-bottom:.5rem}.hero p.desc{font-size:1rem;opacity:.85;margin-bottom:2rem}.btn{display:inline-block;padding:.9rem 2rem;border-radius:10px;font-weight:700;font-size:1.05rem;cursor:pointer;transition:transform .15s,box-shadow .15s}.btn-primary{background:#fff;color:var(--blue-900);box-shadow:0 4px 14px rgba(0,0,0,.18)}.btn-primary:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.22)}.btn-outline{border:2px solid hsla(0,0%,100%,.7);color:#fff;margin-left:.75rem}.btn-outline:hover{text-decoration:none;background:hsla(0,0%,100%,.12)}.btn-blue{background:var(--blue-600);color:#fff}.btn-blue:hover{background:var(--blue-900);text-decoration:none}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-top:2rem}.section{padding:1rem 0}.section h2{font-size:1.75rem;margin:2.5rem 0 1.25rem;color:#0f172a}.card{background:#fff;border:1px solid var(--border);border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.04)}.card-icon{font-size:1.8rem;display:block;margin-bottom:.5rem}.card h3{font-size:1.05rem;margin-bottom:.4rem}.card p{color:var(--muted);font-size:.95rem;line-height:1.6}h2{font-size:clamp(1.4rem,3vw,1.9rem);margin-bottom:.75rem}.footer{background:#0f172a;color:#94a3b8;margin-top:3rem;font-size:.9rem}.footer-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:1.5rem;gap:1.5rem;padding:2.5rem 1.5rem}.footer h4{color:#e2e8f0;font-size:.95rem;margin-bottom:.75rem}.footer a{color:#94a3b8;display:block;margin-bottom:.4rem}.footer a:hover{color:#fff}.footer-bottom{border-top:1px solid #1e293b;font-size:.82rem;color:#64748b;text-align:center;padding:1.25rem}.prose h2{font-size:1.5rem;margin:2rem 0 .75rem;color:var(--blue-900)}.prose h3{font-size:1.15rem;margin:1.5rem 0 .5rem;color:#334155}.prose p{margin-bottom:1rem;color:#334155}.prose ol,.prose ul{margin:0 0 1rem 1.5rem}.prose li{margin-bottom:.4rem}.lead{font-size:1.1rem;color:#475569;margin-bottom:1.5rem}.cta-box{background:linear-gradient(135deg,var(--blue-900),var(--blue-500));color:#fff;border-radius:16px;padding:2.5rem 2rem;text-align:center;margin:3rem 0 1rem}.cta-box h2{color:#fff;margin:0 0 .75rem}.cta-box p{margin-bottom:1.5rem;color:var(--blue-100)}.btn-lg{padding:1rem 2.4rem;font-size:1.15rem}.review-head-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:2rem 0 1rem}.review-count{background:#fee2e2;color:#b91c1c;border-radius:999px;padding:.25rem .75rem;font-size:.875rem;font-weight:600;white-space:nowrap}.all-correct{background:#fff;border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:var(--shadow-lg);padding:1.5rem;margin:2rem 0;text-align:center}.all-correct-icon{font-size:2.5rem;line-height:1;margin-bottom:.5rem}.all-correct p{font-size:1.05rem;font-weight:600;color:var(--green-600)}.xp-breakdown{background:#fff;border:1px solid var(--border);border-radius:var(--card-radius);padding:1rem 1.25rem;margin:1.25rem 0;box-shadow:var(--shadow-lg)}.xp-breakdown h2{font-size:1.05rem;margin-bottom:.6rem}.xp-row-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.25rem 0;font-size:.92rem;color:var(--muted)}.xp-row-item.is-streak{color:#c2410c}.xp-row-item.is-challenge{color:#7e22ce}.xp-row-item.is-total{border-top:1px solid var(--border);margin-top:.4rem;padding-top:.6rem;color:var(--text);font-weight:700}.xp-row-item.is-total strong{font-size:1.3rem;color:#ca8a04}.xp-levelup{margin-top:1rem;padding:.75rem;text-align:center;border:2px solid #facc15;border-radius:.75rem;background:linear-gradient(90deg,#fef9c3,#ffedd5);color:#ca8a04;font-size:.875rem}.xp-levelup-title{font-size:1.5rem;font-weight:700;color:#a16207}@media (min-width:640px){.xp-levelup-title{font-size:1.875rem}}.auth-wrap{max-width:420px;margin:3rem auto;background:#fff;border:1px solid var(--border);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--shadow-lg)}.auth-wrap h1{font-size:1.5rem;margin-bottom:.25rem}.auth-wrap .lead{color:var(--muted);font-size:.95rem;margin-bottom:1.5rem}.field{margin-bottom:1rem}.field label{display:block;font-size:.9rem;font-weight:600;margin-bottom:.35rem}.field input{width:100%;padding:.7rem .9rem;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem;font-family:inherit}.field input:focus{outline:none;border-color:var(--blue-600);box-shadow:0 0 0 3px var(--blue-50)}.btn-block{width:100%;text-align:center}.form-error{background:#fef2f2;border-left:4px solid var(--red-500);color:#991b1b;padding:.7rem .9rem;border-radius:6px;font-size:.92rem;margin-bottom:1rem}.auth-switch{margin-top:1.25rem;font-size:.92rem;color:var(--muted);text-align:center}.auth-switch-btn{background:none;border:none;padding:0;font:inherit;font-weight:500;color:var(--blue-600);cursor:pointer}.auth-switch-btn:hover{color:var(--blue-900)}.quiz-card{background:#fff;border:1px solid var(--border);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--shadow-lg)}.period-switch{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.period-btn{padding:.5rem .75rem;font-size:.875rem;border:none;border-radius:.5rem;background:#f3f4f6;color:#374151;font:inherit;font-weight:500;cursor:pointer;transition:all .2s}.period-btn:hover:not(.is-active){background:#e5e7eb}@media (min-width:640px){.period-btn{padding:.5rem 1rem;font-size:1rem}}.period-btn.is-active{background:var(--blue-600);color:#fff}.lang-switch{display:flex;width:-moz-fit-content;width:fit-content;margin-inline:auto;justify-content:center;gap:.75rem;flex-wrap:wrap;background:#fff;border-radius:1rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);padding:.75rem;margin-bottom:1.5rem}.lang-btn{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem 1.5rem;border:none;border-radius:.75rem;background:#f3f4f6;color:#374151;font:inherit;font-size:.875rem;font-weight:800;letter-spacing:.025em;cursor:pointer;transition:all .2s}.lang-btn>[aria-hidden]{font-size:2.25rem;line-height:1}.lang-btn:hover:not(:disabled){background:#e5e7eb;transform:scale(1.1)}.lang-btn.is-active{color:#fff;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);outline:4px solid #93c5fd}.lang-btn.is-active,.lang-btn.is-active:hover{background:linear-gradient(to right,var(--blue-600),#9333ea)}.lang-btn:disabled{opacity:.55;cursor:not-allowed}.lang-pro-badge{position:absolute;top:-.5rem;right:-.5rem;background:#eab308;color:#fff;font-size:.75rem;font-weight:700;padding:.25rem .5rem;border-radius:9999px;line-height:1}.pro-badge{background:var(--orange-500);color:#fff;font-size:.65rem;font-weight:800;padding:.1rem .35rem;border-radius:4px;letter-spacing:.03em}.btn-ghost{background:#f1f5f9;color:var(--text);border-color:var(--border)}.btn-ghost:hover{background:#e2e8f0;text-decoration:none}.quiz-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding-bottom:.75rem;border-bottom:2px solid var(--border)}.quiz-timer{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--blue-900)}.quiz-timer.is-low{color:var(--red-500)}.quiz-points{font-size:.85rem;font-weight:600;color:var(--blue-600);margin-top:.15rem}.tag{display:inline-block;margin-left:.5rem;background:var(--blue-50);color:var(--blue-900);font-size:.72rem;font-weight:700;padding:.1rem .4rem;border-radius:4px}.quiz-progress{height:.5rem;background:#e5e7eb;border-radius:999px;margin:1rem 0 1.25rem;overflow:hidden}.quiz-progress-bar{height:100%;background:linear-gradient(to right,var(--blue-600),#9333ea);border-radius:999px;transition:width .3s}@media (min-width:640px){.quiz-progress{height:.75rem}}.q-text{font-size:1.2rem;font-weight:600;line-height:1.5;margin-bottom:1rem}.q-text p{margin:0}.q-media{margin-bottom:1.5rem;text-align:center}.q-media-frame{position:relative;display:inline-block;min-height:200px;min-width:300px}.q-media-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:#f3f4f6;border-radius:.5rem}.q-media-spinner{width:2.5rem;height:2.5rem;border:4px solid var(--blue-600);border-top:4px solid transparent;border-radius:50%;animation:q-media-spin 1s linear infinite}@keyframes q-media-spin{to{transform:rotate(1turn)}}.q-media-loading-text{font-size:.875rem;color:var(--muted)}.q-media-el{max-width:100%;height:auto;max-height:400px;border-radius:.5rem;border:1px solid #d1d5db;margin:0 auto;display:block;transition:opacity .3s;opacity:1}.q-media-el.is-loading{opacity:0}.options{display:flex;flex-direction:column;gap:.75rem}@media (min-width:640px){.options{gap:1rem}}.option{display:flex;align-items:flex-start;gap:.85rem;width:100%;text-align:left;padding:.75rem;border:2px solid #e5e7eb;border-radius:.75rem;background:#fff;font:inherit;cursor:pointer;transition:all .15s}.option:hover{border-color:#93c5fd}.option:active{transform:scale(.98);background:#f9fafb}.option-radio{flex:none;width:1.5rem;height:1.5rem;margin-top:.125rem;border:2px solid #d1d5db;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.option-dot{display:none;width:.75rem;height:.75rem;border-radius:50%;background:#fff}.option.is-selected .option-radio{border-color:var(--blue-600);background:var(--blue-600)}.option.is-selected .option-dot{display:block}@media (min-width:640px){.option-radio{width:1.75rem;height:1.75rem}}.option.is-selected{border-color:var(--blue-600);background:var(--blue-50);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}@media (min-width:640px){.option{padding:1rem}}.option img{object-fit:contain}.option img,.review-option-img{max-width:100%;max-height:128px;border-radius:4px;margin-top:.5rem}.review-option-img{display:block}.option-key{flex:none;width:1.7rem;height:1.7rem;border-radius:50%;background:#e5e7eb;color:var(--text);font-size:.8rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.option.is-selected .option-key{background:var(--blue-600);color:#fff}.quiz-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}.q-dots{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.dot{width:1.6rem;height:1.6rem;border-radius:6px;border:1px solid var(--border);background:#fff;cursor:pointer;padding:0}.dot.is-answered{background:var(--blue-100);border-color:var(--blue-500)}.dot.is-current{outline:2px solid var(--blue-600);outline-offset:1px}.score-box{text-align:center;padding:1.5rem;border-radius:12px;margin:1.25rem 0}.score-box.is-pass{background:#f0fdf4;border:2px solid var(--green-600)}.score-box.is-fail{background:#fef2f2;border:2px solid var(--red-500)}.score-value{font-size:2.6rem;font-weight:800;line-height:1.1}.score-verdict{font-size:1.15rem;font-weight:700;margin-top:.25rem}.is-pass .score-verdict{color:var(--green-600)}.is-fail .score-verdict{color:var(--red-500)}.score-detail{font-size:.9rem;color:var(--muted);margin-top:.5rem}.score-message{margin-top:.75rem;font-size:1rem}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.new-achievements{display:grid;grid-gap:.75rem;gap:.75rem;margin-top:1.25rem}.new-achievement{animation:slideIn .4s cubic-bezier(.34,1.56,.64,1);display:flex;gap:.75rem;align-items:center;padding:1rem;border-radius:1rem;background:linear-gradient(to right,#eab308,var(--orange-500));color:#fff;box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.new-achievement-icon{font-size:1.875rem;line-height:1;flex-shrink:0}.new-achievement-label{display:block;font-size:.75rem;font-weight:500;opacity:.9}.new-achievement-name{display:block;font-weight:700;font-size:.875rem}.new-achievement-desc{display:block;font-size:.75rem;opacity:.8}.notice{padding:.75rem 1rem;border-radius:8px;margin-bottom:.75rem;font-size:.95rem}.notice-good{background:var(--orange-50);border-left:4px solid var(--orange-500)}.results-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.review-item{border-bottom:1px solid var(--border);padding:1.25rem 0}.review-head{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.score-badge{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:999px;white-space:nowrap}@media (min-width:640px){.score-badge{font-size:.875rem;padding:.25rem .75rem}}.score-badge.is-ok{background:#e7f7ed;color:#1e8e3e}.score-badge.is-bad{background:#fee2e2;color:#b91c1c}.review-q{font-weight:600;margin-bottom:.6rem}.review-q p{margin:0}.review-options{display:flex;flex-direction:column;gap:.35rem}.review-option{display:flex;align-items:center;gap:.6rem;padding:.5rem .7rem;border:1px solid var(--border);border-radius:6px;font-size:.95rem;color:var(--muted)}.review-option em{font-size:.8rem;font-weight:700;font-style:normal}.fc-option{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border:2px solid #e5e7eb;border-radius:.75rem;background:#f9fafb;color:#1f2937;font-size:.875rem}.fc-option.is-correct{background:#f0fdf4;border-color:#86efac}.fc-option .option-key{width:1.75rem;height:1.75rem;border-radius:50%;background:#d1d5db;color:#4b5563;font-size:.875rem;font-weight:700}.fc-option.is-correct .option-key{background:#22c55e;color:#fff}.fc-option-text{flex:1 1;min-width:0;padding-top:.125rem}@media (min-width:640px){.fc-option{padding:1rem;font-size:1rem}}.review-option.is-correct{border-color:var(--green-600);background:#f0fdf4;color:#14532d;font-weight:600}.review-option.is-your-wrong{border-color:var(--red-500);background:#fef2f2;color:#991b1b}.expl{padding:.85rem 1rem;border-radius:8px;margin-top:.7rem;font-size:.94rem;line-height:1.6}.expl-law{background:#e7f7ed;border-left:5px solid #46b450;color:#0b4618}.expl-book{background:#f3e5f5;border-left:5px solid #9c27b0;color:#4a148c}.expl-title{display:block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;opacity:.75;margin-bottom:.25rem}.expl-ref{margin-top:.4rem;font-size:.85rem;opacity:.85}.confirm-panel{margin-top:1.25rem;padding:1rem 1.15rem;background:var(--orange-50);border:1px solid #fed7aa;border-left:4px solid var(--orange-500);border-radius:8px}.confirm-warn{color:#9a3412;font-size:.92rem;font-weight:600}.confirm-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.75rem}.fc-hero{background:linear-gradient(90deg,#4f46e5,#9333ea);color:#fff;border-radius:1rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);padding:1rem}.fc-stack>*+*{margin-top:1rem}@media (min-width:640px){.fc-stack>*+*{margin-top:1.5rem}}.fc-hero-title{font-size:1.5rem;font-weight:700;margin:0}.fc-hero-subtitle{font-size:.875rem;opacity:.9;margin:.25rem 0 1rem}.fc-hero-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.5rem;gap:.5rem;margin-top:1rem}.fc-tile{background:hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:.75rem;padding:.75rem}.fc-tile-label{font-size:.75rem;opacity:.8}.fc-tile-value{font-size:1.25rem;font-weight:700}.fc-tile-unit{font-size:.875rem;opacity:.7;font-weight:400}.fc-tile-bar{width:100%;margin-top:.5rem;background:hsla(0,0%,100%,.2)}.fc-tile-bar,.fc-tile-bar>div{height:.375rem;border-radius:9999px}.fc-tile-bar>div{background:#fff}@media (min-width:640px){.fc-hero{border-radius:1.5rem;padding:2rem}.fc-hero-title{font-size:2.25rem}.fc-hero-subtitle{font-size:1rem}.fc-hero-tiles{gap:1rem}.fc-tile{padding:1rem}.fc-tile-label{font-size:.875rem}.fc-tile-value{font-size:1.875rem}.fc-tile-unit{font-size:1.125rem}}.fc-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:.75rem;gap:.75rem;margin-top:.75rem}.fc-topic{display:block;width:100%;text-align:left;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#fff;font:inherit;cursor:pointer;transition:all .15s}.fc-topic:hover:not(:disabled){box-shadow:var(--shadow-lg)}.fc-topic:disabled{opacity:.5;cursor:not-allowed}.fc-topic-head{display:block;padding:1rem;color:#fff;background-image:linear-gradient(to bottom right,#6b7280,#4b5563)}.fc-topic-count{display:block;font-size:.85rem;opacity:.9}.fc-topic-body{display:block;padding:.9rem 1rem}.fc-topic-progress{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.85rem;color:var(--muted);margin-bottom:.4rem}.fc-topic-ratio{font-weight:700;color:var(--text)}.fc-topic-percent{color:var(--gray-400);font-weight:400}.fc-topic-bar{width:100%;height:.5rem;background:#e5e7eb;overflow:hidden}.fc-topic-bar,.fc-topic-bar>span{display:block;border-radius:9999px}.fc-topic-bar>span{height:100%}.fc-cat-traffic_rules{background-image:linear-gradient(to bottom right,#3b82f6,#2563eb)}.fc-cat-safe_driving{background-image:linear-gradient(to bottom right,#10b981,#059669)}.fc-cat-traffic_signs{background-image:linear-gradient(to bottom right,#f59e0b,#f97316)}.fc-cat-traffic_situations{background-image:linear-gradient(to bottom right,#a855f7,#9333ea)}.fc-cat-vehicle_operation{background-image:linear-gradient(to bottom right,#06b6d4,#0891b2)}.fc-cat-related_regulations{background-image:linear-gradient(to bottom right,#f43f5e,#e11d48)}.fc-cat-first_aid{background-image:linear-gradient(to bottom right,#ef4444,#dc2626)}.fc-topic--problem{border-color:#fed7aa;background:var(--orange-50);margin-bottom:.25rem}.fc-topic--problem:hover:not(:disabled){border-color:var(--orange-500);background:#ffedd5}.fc-topic-name{display:block;font-weight:700;font-size:1rem}.fc-topic-meta{display:block;font-size:.85rem;color:var(--muted)}.fc-position{font-size:.92rem;color:var(--muted)}.fc-position strong{color:var(--text)}.fc-position-sep{color:var(--gray-400);margin:0 .4rem}.quiz-card.is-marked{border:2px solid #fdba74}.fc-correct-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.75rem;padding:.75rem;margin:0 0 .75rem;color:#14532d;font-size:.875rem}@media (min-width:640px){.fc-correct-box{padding:1rem;margin-bottom:1rem;font-size:1rem}}.fc-correct-label{font-size:.75rem;font-weight:600;color:#15803d;text-transform:uppercase;letter-spacing:.025em;margin-bottom:.2rem}.fc-seen{font-size:.75rem;color:var(--muted)}.fc-topic-marked{display:block;margin-top:.35rem;font-size:.75rem;color:#c2410c}.fc-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.1rem}.fc-back{padding:.4rem .9rem;font-size:.88rem}.card-link{color:inherit;transition:all .15s}.card-link:hover{text-decoration:none;border-color:var(--blue-500);box-shadow:0 4px 14px rgba(37,99,235,.12)}.card-link h3{color:var(--text)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.kpi{border-radius:14px;padding:1.1rem 1.25rem;color:#fff}.kpi-blue{background:linear-gradient(135deg,#3b82f6,#2563eb)}.kpi-green{background:linear-gradient(135deg,#22c55e,#16a34a)}.kpi-purple{background:linear-gradient(135deg,#a855f7,#9333ea)}.kpi-orange{background:linear-gradient(135deg,#eab308,#f97316)}.kpi-label{font-size:.82rem;opacity:.9;margin-bottom:.2rem}.kpi-value{font-size:2.1rem;font-weight:800;line-height:1.1}.kpi-suffix{font-size:1rem;font-weight:600;opacity:.7}.panel{background:#fff;border:1px solid var(--border);border-radius:var(--card-radius);padding:var(--card-padding);margin-bottom:1.25rem;box-shadow:var(--shadow-lg)}.panel-title{font-size:1.05rem;font-weight:700;margin-bottom:1rem}.chart{width:100%;height:auto;display:block}.chart-radar{max-width:400px;margin:0 auto}.chart-tick{font-size:11px;fill:var(--muted)}.chart-radar-label{font-size:9.5px;fill:var(--muted)}.chart-legend{display:flex;gap:1.25rem;flex-wrap:wrap;font-size:.85rem;color:var(--muted);margin-top:.5rem}.chart-legend i{display:inline-block;width:.85rem;height:.3rem;border-radius:2px;margin-right:.35rem;vertical-align:middle}.chart-axis-note{margin-left:auto}.stats-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:1.5rem;gap:1.5rem;align-items:start}.cat-list{display:flex;flex-direction:column;gap:.6rem}.cat-row{background:#f8fafc;border-radius:10px;padding:.7rem .9rem}.cat-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.88rem;font-weight:500}.cat-row-head strong{flex:none;white-space:nowrap}.cat-row-meta{font-size:.75rem;color:var(--muted);margin-top:.25rem}.overview{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem}.overview-tile{border-radius:12px;padding:1.25rem .75rem;text-align:center;font-size:.9rem}.overview-tile.is-good{background:#f0fdf4;color:#15803d}.overview-tile.is-bad{background:#fef2f2;color:#b91c1c}.overview-tile.is-info{background:var(--blue-50);color:var(--blue-900)}.overview-value{font-size:2.2rem;font-weight:800;line-height:1.1}.overview-tile.tone-best,.overview-tile.tone-month,.overview-tile.tone-streak{border-radius:.75rem;padding:.75rem;color:#1f2937;font-size:.625rem;border:1px solid transparent}.overview-tile.tone-streak{background:linear-gradient(to bottom right,#fefce8,#fff7ed);border-color:#fef08a}.overview-tile.tone-best{background:linear-gradient(to bottom right,#fff7ed,#fef2f2);border-color:#fed7aa}.overview-tile.tone-month{background:linear-gradient(to bottom right,#eff6ff,#faf5ff);border-color:#bfdbfe}.overview-icon{display:block;font-size:1.5rem;margin-bottom:.25rem}.overview-tile.tone-best .overview-value,.overview-tile.tone-month .overview-value,.overview-tile.tone-streak .overview-value{font-size:1.25rem;font-weight:700;color:#1f2937}.overview-label{color:#6b7280}@media (min-width:640px){.overview-tile.tone-best,.overview-tile.tone-month,.overview-tile.tone-streak{padding:1rem;font-size:.75rem}.overview-icon{font-size:2rem}.overview-tile.tone-best .overview-value,.overview-tile.tone-month .overview-value,.overview-tile.tone-streak .overview-value{font-size:1.5rem}}.history{display:flex;flex-direction:column;gap:.6rem}.history-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border:2px solid var(--border);border-radius:12px}.history-row.is-pass{background:#f0fdf4;border-color:#bbf7d0}.history-row.is-fail{background:#fef2f2;border-color:#fecaca}.history-left{display:flex;align-items:center;gap:.9rem}.history-badge{flex:none;width:2.2rem;height:2.2rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:800}.is-pass .history-badge{background:var(--green-600)}.is-fail .history-badge{background:var(--red-500)}.history-title{font-weight:700;font-size:.95rem}.history-star{margin-left:.5rem;background:#facc15;color:#713f12;font-size:.7rem;font-weight:700;padding:.1rem .45rem;border-radius:999px}.history-date{font-size:.8rem;color:var(--muted)}.history-right{text-align:right}.history-score{font-size:1.6rem;font-weight:800;line-height:1.1}.history-max{font-size:.9rem;color:var(--gray-400);font-weight:600}.history-verdict{font-size:.8rem;font-weight:600}.is-pass .history-score,.is-pass .history-verdict{color:var(--green-600)}.is-fail .history-score,.is-fail .history-verdict{color:var(--red-500)}.rank-banner{justify-content:space-between;gap:1rem;background:linear-gradient(90deg,#3b82f6,#a855f7);color:#fff;border-radius:.75rem;padding:1rem;margin-bottom:1.5rem}.rank-banner,.rank-banner-side{display:flex;align-items:center}.rank-banner-side{gap:.75rem}.rank-banner-icon{width:2.5rem;height:2.5rem;border-radius:999px;background:hsla(0,0%,100%,.2);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex:none}.rank-banner-label{font-size:.875rem;opacity:.75}.rank-banner-value{font-size:1.25rem;font-weight:700;line-height:1.15}.rank-banner-tests{font-size:1.125rem;font-weight:700;line-height:1.15}@media (min-width:640px){.rank-banner-icon{width:3rem;height:3rem;font-size:1.5rem}.rank-banner-value{font-size:1.5rem}.rank-banner-tests{font-size:1.25rem}}.table-scroll{overflow-x:auto}.lb-table{width:100%;border-collapse:collapse}.lb-table th{text-align:left;padding:.75rem .5rem;font-size:.75rem;font-weight:600;color:#4b5563;border-bottom:2px solid #e5e7eb;white-space:nowrap}.lb-table td{padding:.75rem .5rem;border-bottom:1px solid #f3f4f6;font-size:.875rem}.lb-table tbody tr:hover{background:#f9fafb}.lb-table tbody tr.is-me,.lb-table tbody tr.is-me:hover{background:var(--blue-50)}.lb-rank{display:inline-block;min-width:1.25rem;text-align:center;font-weight:500;color:#6b7280}.lb-student{display:flex;align-items:center;gap:.5rem}.lb-avatar{flex:none;width:2rem;height:2rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.875rem}@media (min-width:640px){.lb-table td,.lb-table th{padding:.75rem 1rem}.lb-table th{font-size:.875rem}.lb-table td{font-size:1rem}.lb-student{gap:.75rem}.lb-avatar{width:2.5rem;height:2.5rem}}.lb-avatar.tone-gold{background:#eab308}.lb-avatar.tone-silver{background:#9ca3af}.lb-avatar.tone-bronze{background:#d97706}.lb-avatar.tone-plain{background:var(--blue-500)}.lb-me{color:var(--blue-600);font-weight:600}.lb-me-tag{font-size:.78rem;color:var(--blue-500)}.panel-count{margin-left:auto;font-size:.85rem;font-weight:400;color:var(--muted)}.panel-title{gap:.5rem}.panel-title,.xp-row{display:flex;align-items:center}.xp-row{flex-direction:column;gap:1rem}@media (min-width:640px){.xp-row{flex-direction:row;gap:2rem}}.xp-badge{flex:none;width:6rem;height:6rem;border-radius:50%;background:linear-gradient(135deg,#facc15,#f97316);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(249,115,22,.3)}.xp-badge-level{font-size:1.9rem;font-weight:800;line-height:1}.xp-badge-label{font-size:.72rem;opacity:.9}@media (min-width:640px){.xp-badge{width:8rem;height:8rem}.xp-badge-level{font-size:2.2rem}.xp-badge-label{font-size:.78rem}}.xp-row>div:last-child{width:100%;min-width:0}.xp-meta{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.88rem;color:var(--muted);margin-bottom:.4rem}.xp-bar{width:100%;height:1.15rem;background:#e5e7eb;border-radius:999px;overflow:hidden}.xp-bar-fill{height:100%;background:linear-gradient(90deg,#facc15,#f97316);border-radius:999px;display:flex;align-items:center;justify-content:flex-end;padding-right:.5rem;transition:width .5s}.xp-bar-fill span{font-size:.68rem;font-weight:800;color:#fff}.xp-mini{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.75rem;gap:.75rem;margin-top:1rem}.xp-mini>div{background:#f8fafc;border-radius:10px;padding:.6rem;text-align:center}.xp-mini strong{display:block;font-size:1.1rem}.xp-mini span{font-size:.72rem;color:var(--muted)}.challenges{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:.85rem;gap:.85rem}.challenge{border:2px solid var(--border);background:#f8fafc;border-radius:12px;padding:1rem}.challenge.is-done{border-color:#4ade80;background:#f0fdf4}.challenge-head{display:flex;justify-content:space-between;gap:.5rem;font-size:.92rem;font-weight:600}.challenge.is-done .challenge-head{color:#15803d}.challenge-foot{display:flex;justify-content:space-between;gap:.5rem;margin-top:.4rem;font-size:.75rem;color:var(--muted)}.challenge-foot strong{color:#7e22ce}.challenge-bonus{margin-top:1rem;padding:.75rem;border-radius:12px;background:linear-gradient(90deg,#f3e8ff,#fce7f3);color:#6b21a8;font-weight:700;text-align:center}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.chips-status{margin-bottom:1.25rem}.chip{padding:.3rem .7rem;border:none;border-radius:8px;background:#f1f5f9;color:var(--muted);font:inherit;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.chip:hover{background:#e2e8f0}.chip.is-active{background:var(--blue-600);color:#fff}.chip-round{border-radius:999px}.chip-round.is-active{background:#eab308;color:#fff}.ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:.75rem;gap:.75rem}.ach{background:#f8fafc;border:2px solid var(--border);border-radius:12px;padding:.85rem .7rem;text-align:center}.ach.is-unlocked{background:linear-gradient(135deg,#fef9c3,#ffedd5);border-color:#facc15}.ach-icon{font-size:1.9rem;line-height:1.2}.ach-icon.is-locked{filter:grayscale(1);opacity:.4}.ach-name{font-size:.8rem;font-weight:700;line-height:1.25;margin-top:.2rem}.ach-desc{font-size:.7rem;color:var(--muted);line-height:1.3;margin-top:.15rem}.ach-progress{font-size:.66rem;color:var(--gray-400);margin-top:.2rem}.ach-date{font-size:.66rem;color:#a16207;margin-top:.3rem}.heatmap{display:flex;flex-wrap:wrap;gap:3px}.heat{display:inline-block;width:.75rem;height:.75rem;border-radius:.125rem}@media (min-width:640px){.heat{width:.875rem;height:.875rem}}.heat-0{background:#f3f4f6}.heat-1{background:#bbf7d0}.heat-2{background:#4ade80}.heat-3{background:#22c55e}.heat-4{background:#15803d}.heat-legend{display:flex;align-items:center;gap:.35rem;margin-top:.6rem;font-size:.72rem;color:var(--gray-400)}.modes{flex-direction:column}.mode,.modes{display:flex;gap:.5rem}.mode{align-items:center;width:100%;text-align:left;padding:.75rem;border:2px solid #e5e7eb;border-radius:.5rem;background:#fff;font:inherit;cursor:pointer;transition:all .15s}.mode:hover{border-color:#93c5fd}.mode.is-active{border-color:var(--blue-500);background:var(--blue-50)}.mode:active{transform:scale(.98)}.mode-icon{font-size:1.25rem;flex:none}.mode-text{flex:1 1;min-width:0}.mode-text strong{display:block;font-size:.875rem;font-weight:600;color:#1f2937}.mode-text span{display:block;font-size:.75rem;color:#6b7280}.mode-check{color:var(--blue-500);font-weight:700;flex:none;font-size:1.25rem}.tip{margin-top:1.5rem;background:var(--blue-50);border-radius:.5rem;padding:.75rem;font-size:.75rem;color:#1e40af;line-height:1.6}@media (min-width:640px){.mode,.modes{gap:.75rem}.mode{padding:1rem;border-radius:.75rem}.mode-icon{font-size:1.5rem}.mode-text strong{font-size:1rem}.mode-text span{font-size:.875rem}.mode-check{font-size:1.5rem}.tip{border-radius:.75rem;padding:1rem;font-size:.875rem}}.reports{display:flex;flex-direction:column;gap:.85rem}.report{border:2px solid #fed7aa;background:var(--orange-50);border-radius:.75rem;padding:.75rem}.report.is-resolved{border-color:#bbf7d0;background:#f0fdf4}@media (min-width:640px){.report{border-radius:1rem;padding:1.5rem}.report-body{border-radius:.75rem;padding:1rem;margin-bottom:1rem}.report-label{font-size:.875rem}.report-date{font-size:.75rem;text-align:right}}.report-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap;margin-bottom:.6rem}.report-badges{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.report-id{background:#1f2937;color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;padding:.15rem .55rem;border-radius:999px}.report-status{background:#fed7aa;color:#9a3412;font-weight:600;padding:.125rem .5rem;border-radius:999px}.report-id,.report-lang,.report-status{font-size:.625rem}@media (min-width:640px){.report-status{font-size:.75rem;padding:.25rem .75rem}.report-lang{font-size:.75rem;padding:.25rem .5rem}.report-id{font-size:.75rem;padding:.25rem .75rem}}.report-status.is-resolved{background:#bbf7d0;color:#166534}.report-lang{background:var(--blue-100);color:#1e40af;font-size:.72rem;padding:.15rem .4rem;border-radius:4px}.report-date{font-size:.625rem;color:#9ca3af}.report-question{font-size:.84rem;color:var(--muted);margin-bottom:.6rem}.report-question p{margin:0;display:inline}.report-body{background:#fff;border-radius:.5rem;padding:.5rem;margin-bottom:.75rem}.report-label{font-size:.75rem;font-weight:500;color:#374151;margin-bottom:.25rem}.report-foot{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.report-meta{font-size:.75rem;color:var(--muted)}.report-actions{display:inline-flex;gap:.45rem;flex-wrap:wrap}.report-resolved{font-size:.75rem;color:var(--green-600);font-weight:600}.btn-sm{padding:.35rem .75rem;border:1px solid var(--border);border-radius:8px;background:#f1f5f9;color:var(--text);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-sm:hover:not(:disabled){background:#e2e8f0}.btn-sm:disabled{opacity:.6;cursor:not-allowed}.btn-sm-green{background:var(--green-600);border-color:var(--green-600);color:#fff}.btn-sm-green:hover:not(:disabled){background:#15803d}.btn-sm-red{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.btn-sm-red:hover:not(:disabled){background:#fecaca}.report-open{color:var(--muted)}.report-form{margin-top:.5rem;background:var(--orange-50);border:1px solid #fed7aa;border-radius:10px;padding:.8rem .9rem}.report-form textarea{width:100%;padding:.55rem .7rem;border:1px solid #cbd5e1;border-radius:8px;font:inherit;font-size:.9rem;resize:vertical}.report-sent{margin-top:.5rem;font-size:.85rem;color:var(--green-600);font-weight:600}.support-card{background:linear-gradient(135deg,#ec4899,#9333ea);color:#fff;border-radius:16px;padding:2.5rem 1.75rem;text-align:center;box-shadow:0 8px 30px rgba(147,51,234,.25)}.support-icon{font-size:3rem}.support-card h1{font-size:1.9rem;margin:.75rem 0 .5rem}.support-card p{opacity:.92;max-width:32rem;margin:0 auto 1.25rem}.support-account{background:hsla(0,0%,100%,.2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:.75rem;padding:1rem;margin:0 0 1rem}.support-account-label{font-size:.78rem;opacity:.8}.support-account-value{font-size:1.7rem;font-weight:800;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin:.3rem 0;letter-spacing:.05em}.support-qr{background:#fff;border-radius:.75rem;padding:1rem;margin:0 auto 1rem;display:inline-block}.support-qr img{display:block;width:8rem;height:8rem}@media (min-width:640px){.support-account,.support-qr{border-radius:1rem;padding:1.5rem;margin-bottom:1.5rem}.support-qr img{width:12rem;height:12rem}}.support-thanks{font-size:1.05rem;font-weight:600;margin-bottom:0!important}.qa-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));grid-gap:.6rem;gap:.6rem;margin-bottom:1rem}.qa-tile{border:none;border-radius:12px;padding:.75rem .5rem;text-align:center;font:inherit;cursor:pointer;transition:all .15s}.qa-tile-value{display:block;font-size:1.35rem;font-weight:800;line-height:1.1}.qa-tile-label{display:block;font-size:.72rem}.qa-tile.tone-blue{background:var(--blue-50);color:#1d4ed8}.qa-tile.tone-blue.is-active{background:var(--blue-600);color:#fff}.qa-tile.tone-green{background:#f0fdf4;color:#15803d}.qa-tile.tone-green.is-active{background:var(--green-600);color:#fff}.qa-tile.tone-red{background:#fef2f2;color:#b91c1c}.qa-tile.tone-red.is-active{background:#dc2626;color:#fff}.qa-tile.tone-orange{background:var(--orange-50);color:#c2410c}.qa-tile.tone-orange.is-active{background:#ea580c;color:#fff}.qa-tile.tone-yellow{background:#fefce8;color:#a16207}.qa-tile.tone-yellow.is-active{background:#ca8a04;color:#fff}.qa-search{width:100%;padding:.7rem .9rem;border:1px solid #cbd5e1;border-radius:10px;font:inherit;font-size:.92rem;margin-bottom:.75rem}.qa-search:focus{outline:none;border-color:var(--blue-600);box-shadow:0 0 0 3px var(--blue-50)}.qa-count{font-size:.82rem;color:var(--muted);margin-bottom:.6rem}.qa-list{display:flex;flex-direction:column;gap:.5rem;max-height:60vh;overflow-y:auto}.qa-row{border:2px solid var(--border);background:#fff;border-radius:.75rem;padding:.75rem}@media (min-width:640px){.qa-row{padding:1rem}}.qa-row.tone-no-answers{border-color:#f87171;background:#fef2f2}.qa-row.tone-no-correct{border-color:#facc15;background:#fefce8}.qa-badges{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin-bottom:.25rem}.qa-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f1f5f9;color:var(--muted);padding:.1rem .4rem}.qa-cat,.qa-id{font-size:.7rem;border-radius:4px}.qa-cat{background:#f3e8ff;color:#7e22ce;padding:.1rem .35rem}.qa-points{color:var(--gray-400)}.qa-media,.qa-points{font-size:.7rem}.qa-src{background:#e0e7ff;color:#3730a3;padding:.1rem .3rem}.qa-flag,.qa-src{font-size:.65rem;border-radius:4px}.qa-flag{font-weight:800;padding:.1rem .4rem}.qa-flag.is-bad{background:#fecaca;color:#991b1b}.qa-flag.is-warn{background:#fef08a;color:#854d0e}.qa-text{font-size:.87rem;line-height:1.4}.qa-text p{margin:0;display:inline}.qa-meta{font-size:.7rem;color:var(--gray-400);margin-top:.2rem}.ed-head{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem}.ed-back{flex:none;width:2rem;height:2rem;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#f1f5f9;color:var(--muted);font-size:1.1rem;text-decoration:none}.ed-back:hover{background:#e2e8f0;text-decoration:none}.ed-hint{font-size:.75rem;color:var(--muted);font-weight:400}.ed-row input[type=text],.ed-select,.field textarea{padding:.55rem .7rem;border:1px solid #cbd5e1;border-radius:8px;font:inherit;font-size:.9rem}.field textarea{width:100%;resize:vertical}.ed-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.ed-preview{margin-top:.5rem;padding:.7rem .85rem;background:#f8fafc;border:1px solid var(--border);border-radius:8px;font-size:.92rem}.ed-preview p{margin:0}.ed-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.ed-row input[type=text]{flex:1 1 12rem;min-width:0}.ed-media img{max-height:8rem;border:1px solid #e5e7eb;border-radius:.5rem;margin-top:.5rem;display:block}.ed-answers-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.ed-answers{display:flex;flex-direction:column;gap:.5rem}.ed-answer{border:2px solid #e5e7eb;background:#fff;border-radius:.5rem;padding:.75rem}.ed-answer.is-correct{border-color:#4ade80;background:#f0fdf4}.ed-letter{flex:none;width:1.5rem;font-size:.875rem;font-weight:700;color:#6b7280}.ed-letter.is-correct{color:#16a34a}.ed-correct{display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem;color:var(--muted);white-space:nowrap;cursor:pointer;flex:none}.ed-answer .btn-sm{flex:none}.ed-answer.is-correct .ed-correct span{color:var(--green-600);font-weight:600}.ed-answer-media{margin-top:.5rem;padding-left:2rem}.ed-answer-media input[type=text]{font-size:.75rem;padding:.375rem}.ed-grid{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem}@media (min-width:640px){.ed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ed-actions{gap:.6rem;padding-top:1rem;border-top:1px solid var(--border);margin-top:.5rem}.blog-admin-head,.ed-actions{display:flex;align-items:center;flex-wrap:wrap}.blog-admin-head{justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.btn-teal{padding:.5rem 1rem;border:none;border-radius:8px;background:#0d9488;color:#fff;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-teal:hover:not(:disabled){background:#0f766e}.btn-teal:disabled{opacity:.5;cursor:not-allowed}.btn-sm-blue{background:var(--blue-100);border-color:var(--blue-100);color:#1d4ed8;text-decoration:none}.btn-sm-blue:hover{background:#bfdbfe;text-decoration:none}.articles{display:flex;flex-direction:column;gap:.75rem}.article-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border:1px solid #e5e7eb;background:rgba(249,250,251,.3);border-radius:.75rem;padding:.75rem}@media (min-width:640px){.article-row{padding:1rem}}.article-row.is-published{border-color:#bbf7d0;background:rgba(240,253,244,.3)}.article-main{flex:1 1;min-width:0}.article-main h3{font-size:.98rem;margin-bottom:.25rem}.article-badges{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.75rem;color:var(--muted)}.article-state{background:#e5e7eb;color:#4b5563;padding:.125rem .5rem;border-radius:999px;font-size:.75rem;font-weight:500}.article-state.is-published{background:#dcfce7;color:#15803d}.article-title{font-size:.875rem;font-weight:600;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width:640px){.article-title{font-size:1rem}}.article-cat{background:var(--blue-100);color:#1d4ed8;padding:.1rem .5rem;border-radius:999px}.article-slug{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.article-excerpt{font-size:.75rem;color:#6b7280;margin-top:.25rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (min-width:640px){.article-excerpt{font-size:.875rem}}.article-actions{display:flex;gap:.4rem;flex:none}.blog-input{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:.75rem;font:inherit}.blog-input:focus{outline:none;border-color:#14b8a6}.char-count{font-size:.75rem;color:#9ca3af;text-align:right}.article-preview{border:2px solid #e5e7eb;border-radius:.75rem;padding:1rem;min-height:300px;line-height:1.7}.article-preview h2{font-size:1.3rem;margin:1.5rem 0 .5rem}.article-preview h3{font-size:1.1rem;margin:1.25rem 0 .4rem}.article-preview p{margin-bottom:.9rem}.article-preview ol,.article-preview ul{margin:0 0 .9rem 1.5rem}.publish-box{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#f8fafc;border-radius:12px;padding:1rem;margin-top:1rem}.toggle{position:relative;width:3.5rem;height:1.75rem;border:none;border-radius:999px;background:#cbd5e1;cursor:pointer;transition:background .2s;flex:none}.toggle.is-on{background:#22c55e}.toggle-knob{position:absolute;top:.125rem;left:.125rem;width:1.5rem;height:1.5rem;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}.toggle.is-on .toggle-knob{transform:translateX(1.75rem)}.article-list{display:grid;grid-gap:1.5rem;gap:1.5rem}.article-card{background:#fff;border-radius:12px;padding:1.5rem 2rem;box-shadow:0 1px 4px rgba(0,0,0,.08);transition:box-shadow .2s}.article-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.12)}.article-card h2{font-size:1.25rem;margin:0 0 .5rem}.article-card h2 a{color:var(--text)}.article-card h2 a:hover{color:var(--blue-600)}.meta{font-size:.85rem;color:var(--muted);margin-bottom:.75rem}.meta span{margin-right:1rem}.excerpt{color:#475569;font-size:.95rem}.badge{display:inline-block;background:var(--blue-100);color:var(--blue-900);font-size:.75rem;padding:2px 8px;border-radius:999px;margin-right:.5rem}article.full{background:#fff;border-radius:12px;padding:2rem 2.5rem;box-shadow:0 1px 4px rgba(0,0,0,.08);margin-bottom:2rem}article.full h1{font-size:2rem;margin-bottom:1rem;line-height:1.3}article.full .meta{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}article.full h2{font-size:1.4rem;margin:2rem 0 .75rem;color:var(--blue-900)}article.full h3{font-size:1.15rem;margin:1.5rem 0 .5rem;color:#334155}article.full p{margin-bottom:1rem}article.full ol,article.full ul{margin:0 0 1rem 1.5rem}article.full li{margin-bottom:.4rem}article.full img{max-width:100%;height:auto;border-radius:8px;margin:1.5rem 0}article.full blockquote{border-left:4px solid var(--blue-500);padding:.75rem 1.25rem;margin:1.5rem 0;background:var(--blue-50);border-radius:0 8px 8px 0;color:var(--blue-900)}@media (max-width:640px){.hero h1{font-size:2rem}article.full{padding:1.25rem 1rem}article.full h1{font-size:1.5rem}.container{padding:1.5rem 1rem}}.article-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:2rem}.article-tag{background:#f1f5f9;color:var(--muted);font-size:.78rem;padding:.2rem .6rem;border-radius:999px}.order{border:2px solid #e9d5ff;background:#faf5ff;border-radius:.75rem;padding:.75rem}@media (min-width:640px){.order{border-radius:1rem;padding:1.5rem}.order-state{font-size:.75rem;padding:.25rem .75rem}.order-slot{border-radius:.75rem;padding:1rem}.order-slot span{font-size:.75rem}.order-name,.order-slot strong{font-size:1.125rem}.order-email{font-size:.875rem}}.order.is-resolved{border-color:#bbf7d0;background:#f0fdf4}.order-name-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.2rem}.order-name{font-size:1rem;font-weight:700}.order-state{background:#e9d5ff;color:#6b21a8;font-size:.625rem;font-weight:600;padding:.125rem .5rem;border-radius:999px}.order-state.is-resolved{background:#bbf7d0;color:#166534}.order-email{font-size:.75rem;color:var(--blue-600);font-weight:500}.order-slots{display:grid;grid-template-columns:1fr 1fr;grid-gap:.6rem;gap:.6rem;margin:.75rem 0}.order-slot{background:#fff;border-radius:.5rem;padding:.5rem}.order-slot span{display:block;font-size:.625rem;font-weight:500;color:#6b7280}.order-slot strong{font-size:.875rem;font-weight:700}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1.25rem;gap:1.25rem;margin-top:1.5rem}.feature{background:#fff;border-radius:14px;padding:1.5rem;box-shadow:0 1px 4px rgba(0,0,0,.07)}.feature .ico{font-size:1.8rem;margin-bottom:.6rem}.feature h3{font-size:1.1rem;margin-bottom:.4rem;color:#1e40af}.feature p{color:#475569;font-size:.95rem}.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:1.5rem;gap:1.5rem;margin:1.5rem 0}.price-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 2px 10px rgba(0,0,0,.08);border:2px solid transparent}.price-card.featured{border-color:var(--blue-500)}.price-card h2{font-size:1.15rem;margin-bottom:.5rem}.price-card .amount{font-size:2.2rem;font-weight:800;color:var(--blue-900);margin:.5rem 0}.price-card .note{font-size:.9rem;color:#64748b;margin-bottom:1rem}.price-card h3{font-size:1.3rem;margin-bottom:.5rem}.price-card ul{list-style:none;margin:1rem 0;padding:0}.price-card li{color:#334155;padding:.35rem 0 .35rem 1.6rem;position:relative}.price-card li:before{content:"✓";position:absolute;left:0;color:var(--green-600);font-weight:700}.faq-item{background:#fff;border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1rem;box-shadow:0 1px 4px rgba(0,0,0,.06)}.faq-item h3{font-size:1.1rem;margin-bottom:.5rem;color:#0f172a}.faq-item summary{font-weight:600;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:before{content:"▸ ";color:var(--blue-600)}.faq-item[open] summary:before{content:"▾ "}.faq-item p{color:#475569}.paywall{background:#fff;border:1px solid var(--border);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--shadow-lg)}.paywall h1{font-size:1.5rem;margin:.5rem 0 .35rem}.paywall-desc{color:var(--muted);font-size:.95rem}.paywall-features{list-style:none;padding:1.25rem;margin:1.5rem 0;background:#f8fafc;border-radius:12px}.paywall-features li{padding:.3rem 0;font-size:.95rem}.paywall-price{font-size:2.2rem;font-weight:800;line-height:1.1}.paywall-once{font-size:.85rem;color:var(--muted);margin-bottom:1.25rem}.paywall-gate{padding-bottom:.5rem;border-bottom:1px solid var(--border)}.paywall-gate-price{background:linear-gradient(to right,#fefce8,var(--orange-50));border:2px solid #facc15;border-radius:12px;padding:1rem;margin:0 0 1rem;text-align:center;color:#854d0e}.paywall-gate-price .paywall-once{color:#a16207;margin-bottom:0}.paywall-secure{text-align:center;font-size:.85rem;color:var(--muted);margin-bottom:1.25rem}.paywall-note{border-left:4px solid var(--orange-500);padding:.8rem 1rem;line-height:1.6;margin-bottom:1.25rem}.paywall-note,.pro-hint{background:var(--orange-50);border-radius:8px;font-size:.88rem}.pro-hint{color:var(--muted);padding:.6rem .8rem;margin-bottom:1rem}@media (max-width:639px){.chart-tick{font-size:27px}.chart-radar-label{font-size:15px}}.spinner{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid;border-top:2px solid transparent;border-radius:50%;animation:spinner-rotate .8s linear infinite;vertical-align:-.2em}@keyframes spinner-rotate{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}@media (max-width:640px){a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}}