:root{--navy-950:#061321;--navy-925:#071a2c;--navy-900:#0b1d2d;--navy-850:#0e273d;--navy-800:#102a42;--ink:#0d1b2a;--text:#f8fafc;--text2:#cbd5e1;--muted:#7a8a9a;--muted2:#536778;--paper:#ffffff;--paper2:#f6f8fa;--paper3:#eef3f6;--border:#dde5ea;--border-dark:rgba(255,255,255,0.12);--green:#2e7d5b;--green2:#52b788;--green3:#eaf5ef;--red:#ef4444;--orange:#f59e0b;--blue:#38bdf8;--duration-fast:150ms;--duration-normal:300ms;--ease-out:cubic-bezier(0.16,1,0.3,1);--tire-tracks:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 440 320'%3E%3Cg fill='none' stroke='black' stroke-width='18' stroke-linecap='round' stroke-dasharray='8 13'%3E%3Cpath d='M10 320C120 290 210 230 280 150C330 95 390 40 440 10'/%3E%3Cpath d='M62 320C167 295 252 240 317 165C364 112 417 60 462 32'/%3E%3C/g%3E%3C/svg%3E");--shadow-soft:var(--shadow-lg);--shadow-card:var(--shadow-xl);--radius-xs:4px;--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--radius-xl:32px;--radius-pill:999px;--container:1160px;--header-height:72px;--font-body:var(--kl-font-body,"Nunito",system-ui,-apple-system,sans-serif);--font-display:var(--kl-font-heading,"Sora",sans-serif);--font-sans:var(--font-body);--font-heading:var(--font-display);--color-ink:var(--ink);--color-paper:var(--paper2);--color-green:var(--green);--color-gold:var(--orange);--color-red:var(--red);--color-border:var(--border);--color-muted:var(--muted2);--kl-color-surface-alt:var(--paper2);--kl-color-text:var(--ink);--kl-color-text-muted:var(--muted2);--kl-color-border:var(--border);--kl-color-primary:var(--liquid-blue);--kl-color-success:var(--green);--kl-color-error:var(--error-hover);--surface-page:#eef6fb;--surface-page-alt:#f7fbff;--text-primary:#102033;--text-secondary:#3d5464;--text-muted:#5a6f7f;--liquid-blue:#0f6bff;--liquid-green:#2f9e67;--liquid-cyan:#44c2ff;--liquid-yellow:#f6c645;--liquid-red:var(--error);--type-tracking-tight:-0.02em;--type-tracking-tighter:-0.035em;--type-leading-body:1.6;--type-leading-ui:1.35;--glass-bg:rgba(255,255,255,0.68);--glass-bg-strong:rgba(255,255,255,0.84);--glass-bg-soft:rgba(255,255,255,0.46);--glass-border:rgba(255,255,255,0.62);--glass-border-strong:rgba(255,255,255,0.86);--glass-shadow:0 20px 60px rgba(15,23,42,0.12);--glass-shadow-soft:0 12px 32px rgba(15,23,42,0.08);--glass-highlight:inset 0 1px 0 rgba(255,255,255,0.72);--glass-blur:18px;--glass-blur-soft:10px;--glass-radius:var(--radius-md);--glass-radius-lg:var(--radius-lg);--glass-nav-bg:rgba(7,26,44,0.97);--glass-nav-border:rgba(255,255,255,0.12);--glass-nav-highlight:inset 0 0 0 0 transparent;--focus-ring:0 0 0 4px rgba(15,107,255,0.18);--focus-ring-strong:0 0 0 4px rgba(47,158,103,0.22);--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--shadow-xs:0 1px 2px rgba(0,0,0,0.05);--shadow-sm:0 2px 8px rgba(7,26,44,0.06);--shadow-md:0 8px 24px rgba(7,26,44,0.1);--shadow-lg:0 16px 40px rgba(7,26,44,0.12);--shadow-xl:0 22px 70px rgba(7,26,44,0.16);--icon-size-sm:16px;--icon-size-md:20px;--icon-size-lg:24px;--icon-stroke:2px;--text-xs:0.7rem;--text-sm:0.8rem;--text-base:0.875rem;--text-md:0.95rem;--text-lg:1.1rem;--text-xl:1.3rem;--text-2xl:clamp(1.5rem,1.15rem + 1.4vw,2.1rem);--text-hero:clamp(2.6rem,5vw,3.8rem);--card-bg:var(--paper);--card-border:1px solid var(--border);--card-radius:var(--radius-md);--card-radius-lg:var(--radius-lg);--card-shadow:0 4px 16px rgba(7,26,44,0.05);--card-shadow-hover:0 12px 32px rgba(7,26,44,0.12);--card-pad:20px;--card-pad-sm:16px;--card-pad-lg:28px;--success:var(--green);--success-strong:#245a42;--success-soft:var(--green3);--warning:var(--orange);--warning-strong:#b45309;--warning-soft:#fffbeb;--error:var(--red);--error-hover:#dc2626;--error-strong:#b91c1c;--error-soft:#fef2f2;--error-on-dark:#f87171;--info:#2563eb;--info-soft:#eff6ff;--accent:var(--info);--danger:var(--error);--shadow-glow-green:0 8px 24px rgba(46,125,91,0.28);--shadow-glow-green-hover:0 14px 32px rgba(46,125,91,0.36);--focus-ring-success:0 0 0 3px rgba(82,183,136,0.14)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body,html{overflow-x:clip}body{font-family:var(--font-body);background:radial-gradient(circle at 14% 8%,rgba(68,194,255,.22),transparent 32%),radial-gradient(circle at 86% 6%,rgba(47,158,103,.16),transparent 34%),radial-gradient(circle at 18% 78%,rgba(15,107,255,.12),transparent 38%),linear-gradient(180deg,var(--surface-page-alt) 0,var(--surface-page) 100%);color:var(--text-primary);line-height:var(--type-leading-body);font-size:var(--text-md);min-height:100vh}.page-root{overflow-x:clip;position:relative}.page-root:after,.page-root:before{content:"";position:fixed;z-index:-1;width:520px;height:520px;border-radius:var(--radius-pill);filter:blur(42px);opacity:.28;pointer-events:none}.page-root:before{top:-220px;left:-180px;background:radial-gradient(circle,rgba(68,194,255,.9),transparent 70%)}.page-root:after{top:-160px;right:-200px;background:radial-gradient(circle,rgba(47,158,103,.85),transparent 70%)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--green2);outline-offset:3px;border-radius:var(--radius-xs)}[role=button]:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--green2);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.auth-bg{min-height:100dvh;background:radial-gradient(circle at 78% 8%,rgba(82,183,136,.14) 0,transparent 34%),radial-gradient(circle at 18% 88%,rgba(82,183,136,.08) 0,transparent 30%),linear-gradient(180deg,var(--navy-950) 0,var(--navy-900) 100%);flex-direction:column;justify-content:center;padding:32px 20px}.auth-bg,.auth-brand{display:flex;align-items:center}.auth-brand{gap:11px;margin-bottom:24px;opacity:.95;transition:opacity .15s}.auth-brand:hover{opacity:1}.auth-logo-mark{width:40px;height:40px;flex:0 0 40px;display:block}.auth-logo-mark svg{width:100%;height:100%;display:block}.auth-logo-name{font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);letter-spacing:-.055em;color:var(--text)}.auth-card{background:var(--paper);border-radius:var(--radius-lg);padding:34px 32px;width:100%;max-width:424px;box-shadow:0 32px 80px rgba(0,0,0,.36),0 0 0 1px rgba(255,255,255,.06)}.auth-card-title{font-family:var(--font-display);font-weight:800;font-size:1.5rem;letter-spacing:-.045em;color:var(--ink);margin-bottom:5px;line-height:1.2}.auth-card-sub{color:var(--muted2);font-size:var(--text-base);margin-bottom:24px;line-height:1.45}.btn-google{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;height:48px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--paper);font-weight:800;font-size:var(--text-base);color:var(--ink);letter-spacing:.005em;transition:background .12s,border-color .12s,box-shadow .12s}.btn-google:hover:not(:disabled){background:var(--paper2);border-color:#c4cdd5;box-shadow:var(--shadow-sm)}.btn-google:disabled{opacity:.5;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0}.auth-divider:after,.auth-divider:before{content:"";height:1px;background:var(--border);flex:1 1}.auth-divider span{font-size:var(--text-xs);color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.auth-form{display:grid;grid-gap:14px;gap:14px}.auth-field{display:grid;grid-gap:6px;gap:6px}.auth-label{font-size:var(--text-sm);font-weight:800;color:var(--ink);letter-spacing:.015em}.auth-input{height:48px;padding:0 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border);font:inherit;font-size:var(--text-md);color:var(--ink);background:var(--paper);outline:none;width:100%;transition:border-color .15s,box-shadow .15s}.auth-input:focus{border-color:var(--green2);box-shadow:var(--focus-ring-success)}.auth-input::placeholder{color:var(--muted)}.btn-auth-primary{width:100%;height:48px;border-radius:var(--radius-sm);border:none;background:linear-gradient(135deg,var(--green2) 0,var(--green) 100%);color:white;font-weight:800;font-size:var(--text-md);letter-spacing:.01em;box-shadow:var(--shadow-glow-green);transition:transform .14s,box-shadow .14s,opacity .14s;margin-top:2px}.btn-auth-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-glow-green-hover)}.btn-auth-primary:active:not(:disabled){transform:translateY(0)}.btn-auth-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.auth-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:var(--text-sm);gap:8px;flex-wrap:wrap}.auth-link{color:var(--green);font-weight:800}.auth-link:hover{text-decoration:underline}.auth-link-muted{color:var(--muted2);font-weight:700}.auth-link-muted:hover{color:var(--ink)}.auth-error{background:var(--error-soft);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);color:var(--error-strong)}.auth-error,.auth-success{margin-top:14px;padding:10px 14px;font-size:var(--text-sm);font-weight:600;line-height:1.4}.auth-success{background:var(--green3);border:1px solid rgba(46,125,91,.2);border-radius:var(--radius-sm);color:var(--green)}.auth-tagline{color:rgba(248,250,252,.38);font-size:var(--text-sm);margin-top:22px;text-align:center;max-width:360px;line-height:1.5}@media (max-width:480px){.auth-bg{justify-content:flex-start;padding:44px 16px 32px}.auth-card{padding:26px 20px}.auth-card-footer{flex-direction:column;align-items:flex-start}}.site-nav{display:none}.app-page{background:var(--paper2);min-height:100dvh}.app-container{max-width:var(--container);margin:0 auto;padding:0 28px}.app-section{padding:36px 0 54px}.page-header{margin-bottom:24px}.page-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;letter-spacing:-.045em;margin-bottom:5px}.page-sub{color:var(--muted2);font-size:var(--text-base)}.panel{background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow)}.panel-pad{padding:var(--card-pad-sm)}.panel-title{font-weight:900;margin-bottom:14px;font-size:var(--text-base);color:var(--ink);text-transform:uppercase;letter-spacing:.06em}.app-shell{display:grid;grid-template-columns:230px minmax(0,1fr) 220px;grid-gap:16px;gap:16px;align-items:start}.app-shell>*{min-width:0}.mode-bar{margin-bottom:18px}.filter-wrap,.mode-bar{display:grid;grid-gap:7px;gap:7px}.filter-label{font-size:var(--text-xs);font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted2);margin:6px 0 4px}.filter-bar{display:grid;grid-gap:6px;gap:6px;max-height:400px;overflow-y:auto;padding-right:2px}.filter-bar::-webkit-scrollbar{width:4px}.filter-bar::-webkit-scrollbar-track{background:transparent}.filter-bar::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-xs)}.fcat,.fmode{width:100%;text-align:left;display:flex;align-items:center;justify-content:flex-start;gap:8px;background:var(--paper);border:1.5px solid var(--border);color:var(--muted2);border-radius:var(--radius-sm);padding:9px 11px;font-size:var(--text-sm);font-weight:800;transition:background .1s,border-color .1s,color .1s}.fcat:hover,.fmode:hover{background:var(--paper2);color:var(--ink)}.fcat.active,.fmode.active{background:var(--green3);border-color:rgba(46,125,91,.4);color:var(--green)}.quiz-panel{padding:var(--card-pad-sm);min-height:500px}.load-more-btn{width:100%;margin-top:8px;padding:12px;background:var(--paper);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--green);font-weight:700;font-size:var(--text-base);cursor:pointer}.load-more-btn:hover{background:var(--green3);border-color:rgba(46,125,91,.4)}.sec-head{display:flex;align-items:center;gap:10px;font-size:var(--text-xs);font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--green);margin:14px 0 10px}.sec-head:after{content:"";height:1px;background:var(--border);flex:1 1}.sec-head-ico{flex-shrink:0;color:var(--green)}.sec-head-ico svg{width:16px;height:16px}.qcard{background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius);padding:var(--card-pad-sm);margin-bottom:10px;transition:border-color .15s,box-shadow .15s}.qcard:hover{box-shadow:var(--shadow-md);border-color:#c9d6de}.qmeta{display:flex;align-items:center;gap:8px;margin-bottom:10px}.qnum{font-weight:900;color:var(--green2);letter-spacing:.04em}.qcat-badge,.qnum{font-size:var(--text-xs)}.qcat-badge{margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:var(--paper2);border:1px solid var(--border);border-radius:var(--radius-pill);padding:3px 9px;color:var(--muted2);font-weight:850}.qcat-ico{flex-shrink:0;color:var(--green2)}.qcat-ico svg{width:13px;height:13px}.qtext{font-size:var(--text-md);font-weight:850;line-height:1.44;color:var(--ink);margin-bottom:6px}.qtext-en{font-size:var(--text-sm);font-weight:500;line-height:1.4;color:var(--muted2);margin-bottom:14px;font-style:italic}.sign-box{display:flex;flex-direction:column;align-items:center;background:var(--paper2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;margin-bottom:12px}.sign-box img{max-width:100%;max-height:240px;width:auto;height:auto}.img-cap{font-size:var(--text-xs);color:var(--muted2);text-align:center;margin-top:5px}.opts{display:grid;grid-gap:7px;gap:7px}.opt{display:flex;align-items:flex-start;gap:10px;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;background:var(--paper);cursor:pointer;transition:background .1s,border-color .1s;text-align:left;width:100%}.opt:hover:not([data-done]){background:var(--paper2);border-color:#c4cdd5}.opt[data-done]{cursor:default}.oletter{width:24px;height:24px;border-radius:50%;align-items:center;justify-content:center;border:1.5px solid var(--border);font-size:var(--text-xs);font-weight:900;flex:0 0 24px;transition:background .12s,border-color .12s}.oletter,.otext{display:flex;color:var(--muted2)}.otext{font-weight:700;font-size:var(--text-base);line-height:1.4;flex-direction:column;gap:2px}.otext-en{font-size:var(--text-sm);font-weight:400;color:var(--muted2);font-style:italic;opacity:.75}.opt.correct{background:var(--green3);border-color:rgba(46,125,91,.5)}.opt.correct .oletter{background:var(--green);border-color:var(--green);color:white}.opt.correct .otext{color:var(--green)}.opt.wrong{background:var(--error-soft);border-color:rgba(239,68,68,.4)}.opt.wrong .oletter{background:var(--red);border-color:var(--red);color:white}.opt.wrong .otext{color:var(--error-strong)}.opt.missed{background:var(--green3);border-color:rgba(46,125,91,.3)}.opt.missed .oletter{background:var(--green);color:white;border-color:var(--green)}.answer{display:none;margin-top:12px;background:var(--green3);border:1px solid rgba(46,125,91,.22);border-radius:var(--radius-sm);padding:11px 13px}.answer.show{display:block;animation:slideDown .26s cubic-bezier(.16,1,.3,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.alabel{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--green);margin-bottom:4px}.alabel-ico{flex-shrink:0}.alabel-ico svg{width:14px;height:14px}.atext{line-height:1.46}.atext,.atext-en{font-size:var(--text-sm);color:var(--success-strong)}.atext-en{margin-top:6px;opacity:.65;line-height:1.4}.atext-en,.atip{font-style:italic}.atip{display:flex;align-items:flex-start;gap:6px;margin-top:7px;font-size:var(--text-sm);color:var(--green)}.atip-ico{flex-shrink:0;margin-top:2px}.atip-ico svg{width:14px;height:14px}.score-sidebar{padding:16px}.slabel{font-size:var(--text-xs);color:var(--muted2);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.score-val,.slabel{font-weight:900;display:block}.score-val{font-family:var(--font-display);font-size:1.9rem;color:var(--ink);line-height:1}.score-pct{font-size:var(--text-sm);color:var(--muted2);font-weight:800;display:block;margin-top:4px}.pbar-track{height:6px;background:var(--paper3);overflow:hidden;margin-top:12px}.pbar-fill,.pbar-track{border-radius:var(--radius-pill)}.pbar-fill{height:100%;width:0;background:var(--green);transition:width .45s cubic-bezier(.34,1.56,.64,1)}.btn-reset{margin-top:14px;width:100%;height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--paper2);font-weight:850;color:var(--muted2);font-size:var(--text-sm);transition:background .12s,color .12s}.btn-reset:hover{background:var(--paper3);color:var(--ink)}.score-cats{margin-top:18px;display:grid;grid-gap:6px;gap:6px}.score-cat-row{display:flex;align-items:center;gap:8px;font-size:var(--text-xs)}.score-cat-name{flex:1 1;display:inline-flex;align-items:center;gap:5px;min-width:0;color:var(--muted2);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-cat-ico svg{width:12px;height:12px;flex-shrink:0;color:var(--green2)}.fcat-ico svg{width:14px;height:14px;flex-shrink:0;color:inherit}.score-cat-frac{font-weight:900;color:var(--ink);min-width:32px;text-align:right}.score-cat-track{height:4px;background:var(--paper3);border-radius:var(--radius-pill);overflow:hidden;width:40px;flex:0 0 40px}.score-cat-fill{height:100%;background:var(--green);border-radius:var(--radius-pill)}.empty-state{text-align:center;padding:48px 20px}.empty-icon{display:flex;align-items:center;justify-content:center;margin-bottom:10px}.empty-icon .icon-badge{margin:0 auto}.empty-title{font-family:var(--font-display);font-weight:900;font-size:var(--text-lg);margin-bottom:6px}.empty-sub{color:var(--muted2);font-size:var(--text-base)}.btn-green{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 24px;border-radius:var(--radius-sm);border:none;background:linear-gradient(135deg,var(--green2),var(--green));color:white;font-weight:800;font-size:var(--text-md);box-shadow:var(--shadow-glow-green);transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),filter .2s ease,outline .15s ease}.btn-green:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow-green-hover);filter:brightness(1.04)}.btn-green:active:not(:disabled){transform:translateY(0)}.btn-green:focus-visible{outline:3px solid var(--green2);outline-offset:2px}.btn-outline{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 24px;border-radius:var(--radius-sm);border:1.5px solid rgba(216,226,234,.9);background:var(--paper);color:var(--ink);font-weight:800;font-size:var(--text-md);box-shadow:var(--shadow-sm);transition:background .2s cubic-bezier(.16,1,.3,1),border-color .2s ease,box-shadow .2s ease,transform .2s ease,outline .15s ease}.btn-outline:hover:not(:disabled){background:var(--paper2);border-color:#c4cdd5;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-outline:focus-visible{outline:3px solid var(--green2);outline-offset:2px}.confetti-dot{position:fixed;pointer-events:none;z-index:9999;border-radius:50%;animation:confettiFly .85s ease-out forwards}@keyframes confettiFly{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0}}@media (max-width:1040px){.app-shell{grid-template-columns:1fr}.filter-bar{max-height:none}.mode-bar{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.app-container{padding:0 16px}.app-section{padding:24px 0 40px}.mode-bar{display:flex;overflow-x:auto;gap:8px;padding-bottom:4px;-webkit-overflow-scrolling:touch}.mode-bar .fmode{flex:0 0 auto;width:auto;white-space:nowrap}.filter-bar{display:flex;flex-wrap:nowrap;overflow-x:auto;max-height:none;gap:8px;padding-bottom:4px;-webkit-overflow-scrolling:touch}.filter-bar .fcat{flex:0 0 auto;width:auto;white-space:nowrap}.filter-bar,.mode-bar{-webkit-mask-image:linear-gradient(90deg,#000 91%,transparent);mask-image:linear-gradient(90deg,#000 91%,transparent)}}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin-bottom:28px}.stat-card{background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius);padding:18px 20px;box-shadow:var(--card-shadow)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.stat-card{background:var(--glass-bg-strong);border-color:var(--glass-border);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:var(--glass-shadow)}}.stat-card-label{font-size:var(--text-xs);font-weight:900;text-transform:uppercase;letter-spacing:.09em;color:var(--muted2);margin-bottom:8px}.stat-card-value{font-family:var(--font-display);font-size:2.1rem;font-weight:900;color:var(--ink);line-height:1}.stat-card-sub{font-size:var(--text-sm);color:var(--muted2);margin-top:5px}.dash-section{margin-bottom:28px}.dash-section-title{font-weight:900;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--muted2);margin-bottom:12px}.cat-list{display:grid;grid-gap:7px;gap:7px}.cat-row{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 14px}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.cat-row{background:var(--glass-bg);border-color:var(--glass-border);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}}.cat-row-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;min-width:28px;min-height:28px;color:var(--green);line-height:1;flex-shrink:0}.cat-row-icon svg{width:18px;height:18px;display:block;flex-shrink:0}.cat-row-name{font-weight:800;font-size:var(--text-base);flex:1 1}.cat-row-frac{font-size:var(--text-sm);color:var(--muted2);font-weight:700;white-space:nowrap;min-width:44px;text-align:right}.cat-row-track{height:5px;background:var(--paper3);overflow:hidden;width:80px;flex:0 0 80px}.cat-row-fill,.cat-row-track{border-radius:var(--radius-pill)}.cat-row-fill{height:100%;background:var(--green)}.session-list{display:grid;grid-gap:7px;gap:7px}.session-row{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 14px}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.session-row{background:var(--glass-bg);border-color:var(--glass-border);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}}.session-score{font-family:var(--font-display);font-size:var(--text-lg);font-weight:900;min-width:48px}.session-info{flex:1 1}.session-state{font-weight:800;font-size:var(--text-base)}.session-date{font-size:var(--text-sm);color:var(--muted2);margin-top:1px}.badge{padding:4px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:900}.badge-pass{background:var(--green3);color:var(--green)}.badge-fail{background:var(--error-soft);color:var(--error-strong)}.dash-empty{text-align:center;padding:28px 16px;color:var(--muted2);background:var(--paper);border:1px solid var(--border)}.dash-cta,.dash-empty{font-size:var(--text-base);border-radius:var(--radius-sm)}.dash-cta{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 22px;background:linear-gradient(135deg,var(--green2),var(--green));color:white;font-weight:800;box-shadow:var(--shadow-glow-green);transition:transform .14s,box-shadow .14s;border:none}.dash-cta:hover{transform:translateY(-1px);box-shadow:var(--shadow-glow-green-hover)}.readiness-card{border-left:4px solid var(--green);margin-bottom:22px}.readiness-title{margin-bottom:2px}.readiness-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.readiness-ring{position:relative;width:84px;height:84px;flex-shrink:0}.readiness-ring-score{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--text-xl);font-weight:900;color:var(--ink)}.readiness-level{font-size:var(--text-lg);font-weight:800}.readiness-hint{font-size:var(--text-sm);color:var(--muted);margin-top:2px;max-width:46ch}.readiness-reasons{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-gap:8px;gap:8px}.readiness-reason{display:block;padding:10px 14px;border-radius:var(--radius-sm);background:var(--paper2);font-size:var(--text-base);font-weight:600;color:var(--ink);text-decoration:none;transition:background .14s}.readiness-reason:hover{background:var(--paper3)}.readiness-inline{display:flex;align-items:center;gap:14px;margin-top:18px;padding:12px 16px;border-radius:var(--radius-md);border:var(--card-border);background:var(--card-bg);flex-wrap:wrap}.readiness-inline-score{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800}.readiness-inline-level{font-size:var(--text-md);font-weight:700;color:var(--ink)}.readiness-inline-link{font-size:var(--text-sm);font-weight:700;color:var(--green);text-decoration:none}.cat-row-pct{font-size:var(--text-sm);font-weight:800;min-width:36px;text-align:right;flex-shrink:0}.progress-weekly-chart{display:flex;align-items:flex-end;gap:8px;height:120px;padding:0 4px}.progress-week-col{display:flex;flex-direction:column;align-items:center;flex:1 1;min-width:0;height:100%}.progress-week-bar-wrap{flex:1 1;width:100%;display:flex;align-items:flex-end}.progress-week-bar{width:100%;min-height:3px;border-radius:var(--radius-xs) var(--radius-xs) 0 0;transition:height .3s ease}.progress-week-label{margin-top:5px;font-weight:700}.progress-week-count,.progress-week-label{font-size:var(--text-xs);color:var(--muted2)}.progress-week-count{margin-top:2px}.account-form{gap:20px;max-width:480px}.account-field,.account-form{display:flex;flex-direction:column}.account-field{gap:6px}.account-label{font-size:var(--text-sm);font-weight:800;color:var(--ink);text-transform:uppercase;letter-spacing:.05em}.account-input{height:46px;padding:0 14px;border:1.5px solid var(--border);border-radius:10px;font-size:var(--text-md);color:var(--ink);background:var(--paper);transition:border-color .15s;font-family:var(--font-sans)}.account-input:focus{outline:none;border-color:var(--liquid-green)}.account-input:disabled{background:var(--paper3);color:var(--muted2);cursor:not-allowed}.account-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23536778' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}.account-hint{font-size:var(--text-sm);color:var(--muted2);margin:0}.account-message{font-size:var(--text-base);font-weight:700;margin:0}.account-divider{border:none;border-top:1px solid var(--border);margin:32px 0;max-width:480px}.account-section{max-width:480px;margin-bottom:28px}.account-section-title{font-size:var(--text-sm);font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);margin:0 0 12px}.account-danger-zone{padding:16px;border:1.5px solid rgba(239,68,68,.35);border-radius:var(--radius-sm);background:rgba(239,68,68,.07)}.btn-outline-dark{display:inline-flex;align-items:center;height:42px;padding:0 18px;border-radius:10px;border:1.5px solid var(--border);background:var(--paper);color:var(--ink);font-size:var(--text-base);font-weight:700;cursor:pointer;transition:border-color .15s,background .15s}.btn-outline-dark:hover{border-color:var(--ink);background:var(--paper2)}.btn-danger{display:inline-flex;align-items:center;height:42px;padding:0 18px;border-radius:10px;border:none;background:var(--error);color:white;font-size:var(--text-base);font-weight:700;cursor:pointer;transition:background .15s}.btn-danger:hover{background:var(--error-hover)}@media (max-width:720px){.stat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:440px){.stat-grid{grid-template-columns:1fr}}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:1000;height:var(--header-height);background:var(--glass-nav-bg);border-bottom:1px solid var(--glass-nav-border);box-shadow:var(--glass-nav-highlight);color:rgba(255,255,255,.96);transition:background .2s ease,box-shadow .2s ease}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.site-header{background:rgba(7,26,44,.82);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}}.site-header.is-scrolled{background:rgba(7,26,44,.97);box-shadow:var(--glass-nav-highlight),0 14px 44px rgba(2,12,22,.22)}.site-header .nav-shell{max-width:1320px;margin:0 auto;padding:0 28px;height:100%;display:grid;grid-template-columns:minmax(210px,auto) minmax(0,1fr) auto;align-items:center;grid-gap:32px;gap:32px}.site-header .brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-logo{height:36px;width:auto;flex-shrink:0;display:block}.site-header .brand-name{font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);color:rgba(255,255,255,.96);letter-spacing:var(--type-tracking-tighter)}.site-header .main-nav{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0;overflow:hidden}.site-header .nav-link{display:block;padding:12px 16px;border-radius:var(--radius-pill);font-size:var(--text-md);font-weight:700;color:rgba(255,255,255,.78);text-decoration:none;white-space:nowrap;border:1px solid transparent;min-height:44px;display:flex;align-items:center;transition:color .16s ease,background .16s ease,border-color .16s ease}.site-header .nav-link:hover{color:white;background:rgba(255,255,255,.08)}.site-header .nav-link.active{color:white;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18)}.site-header .nav-link:focus-visible{outline:3px solid rgba(82,183,136,.6);outline-offset:2px}.site-header .nav-controls{display:flex;align-items:center;gap:12px}.state-control{position:relative}.state-trigger{display:flex;align-items:center;gap:8px;height:44px;padding:0 12px;border-radius:14px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.94);box-shadow:var(--glass-nav-highlight);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:background .16s ease,border-color .16s ease}.state-trigger:hover{background:rgba(255,255,255,.105);border-color:rgba(255,255,255,.24)}.state-trigger:focus-visible{outline:3px solid rgba(82,183,136,.6);outline-offset:2px}.state-trigger svg{width:16px;height:16px;flex-shrink:0;opacity:.7}.state-control.open .lang-arrow{transform:rotate(180deg)}.state-panel{position:absolute;top:calc(100% + 8px);right:0;min-width:260px;background:var(--paper);border-radius:var(--card-radius);box-shadow:var(--shadow-card),0 0 0 1px rgba(0,0,0,.06);overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease,visibility 0s linear .15s}.state-control.open .state-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .15s ease,transform .15s ease,visibility 0s linear 0s}.state-option{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:var(--text-base);font-weight:600;color:var(--text-primary);cursor:pointer;transition:background .12s;background:none;border:none;width:100%;text-align:left}.state-option.active,.state-option:hover{background:var(--surface-page)}.state-option.active{color:var(--liquid-green)}.state-option-code{font-weight:800;min-width:34px}.state-option-name{flex:1 1;color:var(--text-secondary);font-weight:500}.state-option.active .state-option-name{color:inherit}.state-option-badge{font-size:var(--text-xs);font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--text-tertiary,var(--text-secondary));background:var(--surface-page);border-radius:var(--radius-xs);padding:2px 6px;white-space:nowrap}.state-option--soon{cursor:not-allowed}.state-option--soon:hover{background:none}.state-option--soon .state-option-code,.state-option--soon .state-option-name{opacity:.45}.licence-toggle{display:flex;align-items:center;height:44px;padding:3px;border-radius:14px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.16);box-shadow:var(--glass-nav-highlight)}.licence-toggle-btn{display:flex;align-items:center;justify-content:center;width:36px;height:100%;border-radius:11px;background:none;border:none;color:rgba(255,255,255,.6);cursor:pointer;transition:background .16s ease,color .16s ease}.licence-toggle-btn:hover{color:rgba(255,255,255,.9)}.licence-toggle-btn.active{background:rgba(255,255,255,.16);color:white}.licence-toggle-btn:focus-visible{outline:3px solid rgba(82,183,136,.6);outline-offset:2px}.state-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23536778' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center;border:1px solid var(--border);border-radius:10px;padding:10px 36px 10px 12px;color:var(--text-primary);font:inherit;font-weight:700;cursor:pointer}.state-select:focus-visible{outline:3px solid rgba(82,183,136,.6);outline-offset:2px}.lang-control{position:relative}.lang-trigger{display:flex;align-items:center;gap:6px;height:44px;padding:0 12px;border-radius:14px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.94);box-shadow:var(--glass-nav-highlight);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:background .16s ease,border-color .16s ease}.lang-trigger:hover{background:rgba(255,255,255,.105);border-color:rgba(255,255,255,.24)}.lang-arrow{font-size:var(--text-xs);opacity:.6;transition:transform .15s ease}.lang-bilingual-badge{font-size:var(--text-xs);font-weight:900;letter-spacing:.04em;background:var(--liquid-green,#2f9e67);color:white;border-radius:var(--radius-xs);padding:1px 5px;line-height:1.6;text-transform:uppercase}.lang-option--bilingual{border-top:1px solid var(--border)}.lang-option--bilingual:first-of-type{border-top:none}.lang-control.open .lang-arrow{transform:rotate(180deg)}.lang-panel{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:var(--paper);border-radius:var(--card-radius);box-shadow:var(--shadow-card),0 0 0 1px rgba(0,0,0,.06);overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease,visibility 0s linear .15s}.lang-control.open .lang-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .15s ease,transform .15s ease,visibility 0s linear 0s}.lang-option{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:var(--text-base);font-weight:600;color:var(--text-primary);cursor:pointer;transition:background .12s;background:none;border:none;width:100%;text-align:left}.lang-option.active,.lang-option:hover{background:var(--surface-page)}.lang-option.active{color:var(--liquid-green)}.site-header .btn-nav-login{display:inline-flex;align-items:center;height:44px;padding:0 16px;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:white;font-size:var(--text-base);font-weight:700;text-decoration:none;transition:background .16s ease,border-color .16s ease,outline .15s ease}.site-header .btn-nav-login:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.3)}.site-header .btn-nav-login:focus-visible{outline:3px solid rgba(82,183,136,.6);outline-offset:2px}.user-menu{position:relative}.user-trigger{display:flex;align-items:center;gap:4px;height:40px;padding:0 10px 0 4px;border-radius:var(--radius-pill);background:linear-gradient(135deg,var(--liquid-green),var(--liquid-blue));border:2px solid rgba(255,255,255,.25);cursor:pointer;transition:opacity .15s ease}.user-trigger:hover{opacity:.85}.user-trigger-name{font-size:var(--text-sm);font-weight:700;color:rgba(255,255,255,.92);max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1}.user-trigger-chevron{font-size:var(--text-xs);color:rgba(255,255,255,.7);line-height:1;margin-left:2px;transition:transform .15s ease}.user-menu.open .user-trigger-chevron{transform:rotate(180deg)}.user-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--text-sm);font-weight:800;color:#fff;letter-spacing:.03em;line-height:1}.user-panel{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:rgba(7,26,44,.96);border:1px solid rgba(255,255,255,.12);border-radius:var(--card-radius);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:6px;display:none;flex-direction:column;gap:2px;z-index:200;box-shadow:0 8px 32px rgba(0,0,0,.35)}.user-menu.open .user-panel{display:flex}.user-panel-header{padding:8px 10px 10px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:4px}.user-panel-name{font-size:var(--text-sm);font-weight:700;color:rgba(255,255,255,.9);margin-bottom:2px;text-transform:capitalize}.user-panel-email,.user-panel-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-panel-email{font-size:var(--text-xs);color:rgba(255,255,255,.4)}.user-panel-divider{height:1px;background:rgba(255,255,255,.08);margin:4px 0}.user-panel-item{display:block;width:100%;padding:9px 12px;border-radius:9px;font-size:var(--text-base);font-weight:600;color:rgba(255,255,255,.88);text-decoration:none;background:transparent;border:none;cursor:pointer;text-align:left;transition:background .12s ease}.user-panel-item:hover{background:rgba(255,255,255,.08)}.user-panel-item.danger{color:var(--error-on-dark)}.user-panel-item.danger:hover{background:rgba(248,113,113,.12)}.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;transition:background .15s}.nav-hamburger:hover{background:rgba(0,0,0,.06)}.hamburger-bar{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s,opacity .2s}.mobile-nav-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:1100;animation:fade-in .2s ease both}.mobile-nav-drawer{position:fixed;top:0;right:0;bottom:0;width:min(280px,85vw);background:var(--paper);box-shadow:-4px 0 24px rgba(0,0,0,.14);z-index:1101;padding:18px 20px 32px;overflow-y:auto;animation:slide-in-right .25s cubic-bezier(.16,1,.3,1) both}.mobile-nav-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.mobile-nav-title{color:var(--ink);font-family:var(--font-display);font-size:var(--text-md);font-weight:900}.mobile-nav-close{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:12px;background:var(--paper2);color:var(--ink);cursor:pointer}.mobile-nav-close:hover{border-color:var(--green2)}.mobile-nav-drawer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.mobile-nav-link{display:block;padding:12px 16px;border-radius:10px;font-weight:650;font-size:var(--text-lg);color:var(--ink);text-decoration:none;transition:background .15s,color .15s}.mobile-nav-link.active,.mobile-nav-link:hover{background:var(--paper2);color:var(--ink)}.mobile-nav-link.active{font-weight:700}.mobile-nav-user{display:flex;flex-direction:column;gap:10px;padding:14px 16px;margin-bottom:12px;background:var(--surface-alt,rgba(0,0,0,.04));border-radius:12px}.mobile-nav-user-info{display:flex;align-items:center;gap:12px}.mobile-nav-user-text{display:flex;flex-direction:column;gap:2px;min-width:0}.mobile-nav-user-name{font-weight:600;font-size:var(--text-md);color:var(--text,#111)}.mobile-nav-user-email,.mobile-nav-user-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-nav-user-email{font-size:var(--text-sm);color:var(--text-muted,#6b7280)}.mobile-nav-signout{width:100%;padding:8px 12px;border-radius:8px;border:1px solid var(--danger);background:transparent;color:var(--danger);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:background .15s,color .15s;text-align:center}.mobile-nav-signout:hover{background:var(--danger);color:#fff}.mobile-nav-link.mobile-nav-signin{color:var(--accent);font-weight:600}.mobile-nav-link.mobile-nav-signin:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.mobile-nav-language,.mobile-nav-state{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.mobile-nav-section-label{display:block;margin-bottom:.6rem;color:var(--muted);font-size:var(--text-xs);font-weight:850;letter-spacing:.08em;text-transform:uppercase}.mobile-lang-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}.mobile-lang-option{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem .6rem;border:1px solid var(--border);border-radius:12px;background:var(--paper);color:var(--ink);font-size:var(--text-sm);font-weight:850;cursor:pointer}.mobile-lang-option.active{border-color:var(--green2);background:var(--green3);color:var(--green)}.mobile-state-options{display:flex;flex-direction:column;gap:.4rem}.mobile-state-option{display:flex;align-items:center;gap:.6rem;min-height:44px;padding:.5rem .75rem;border:1px solid var(--border);border-radius:12px;background:var(--paper);color:var(--ink);font-size:var(--text-base);cursor:pointer;text-align:left}.mobile-state-option.active{border-color:var(--green2);background:var(--green3);color:var(--green)}.mobile-state-option-code{font-weight:850;min-width:34px}.mobile-state-option-name{flex:1 1;font-weight:600;color:var(--muted)}.mobile-state-option.active .mobile-state-option-name{color:inherit}.mobile-state-option--soon{cursor:not-allowed}.mobile-state-option--soon .mobile-state-option-code,.mobile-state-option--soon .mobile-state-option-name{opacity:.45}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@media (max-width:1400px){.nav-hamburger{display:flex}.site-header .main-nav{display:none}.site-header .nav-shell{grid-template-columns:auto 1fr auto;padding:0 16px;gap:12px}.site-header .nav-controls>.lang-control,.site-header .nav-controls>.licence-toggle,.site-header .nav-controls>.state-control,.user-trigger-name{display:none}.site-header .nav-controls{justify-self:end;gap:6px}.lang-panel,.user-panel{right:0;left:auto}}.hero-section{background:radial-gradient(circle at 14% 18%,rgba(68,194,255,.22),transparent 34%),radial-gradient(circle at 86% 10%,rgba(47,158,103,.18),transparent 36%),radial-gradient(circle at 70% 88%,rgba(15,107,255,.14),transparent 40%),linear-gradient(90deg,rgba(6,19,33,.98),rgba(7,26,44,.94) 55%,rgba(7,26,44,.97));color:white;padding:52px 0 64px}.hero-inner{max-width:1320px;margin:0 auto;padding:0 28px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,460px);grid-gap:52px;gap:52px;align-items:start}.hero-copy{display:flex;flex-direction:column;gap:0}.hero-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px;color:rgba(68,194,255,.92);font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.1em}.hero-title{font-family:var(--font-display);font-size:var(--text-hero);font-weight:900;line-height:1.15;letter-spacing:var(--type-tracking-tighter);margin:0 0 20px;color:white}.hero-desc{color:rgba(248,250,252,.82);font-size:var(--text-lg);font-weight:500;line-height:1.65;margin:0 0 16px;max-width:540px}.hero-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem}.hero-badge{font-size:var(--text-sm);font-weight:600;color:rgba(248,250,252,.78);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:.25rem .75rem;white-space:nowrap}.hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:10px}.hero-actions .btn-primary{box-shadow:0 10px 34px rgba(82,183,136,.35),0 2px 8px rgba(7,26,44,.3)}.hero-actions .btn-primary:hover{box-shadow:0 14px 44px rgba(82,183,136,.5),0 2px 8px rgba(7,26,44,.3)}.hero-cta-note{font-size:var(--text-sm);color:rgba(203,213,225,.75);margin:0 0 22px 4px}.hero-source-pill{display:inline-flex;align-items:center;align-self:flex-start;gap:8px;font-size:var(--text-sm);font-weight:700;color:rgba(248,250,252,.85);background:rgba(82,183,136,.1);border:1px solid rgba(82,183,136,.35);border-radius:var(--radius-pill);padding:6px 14px;margin:0 0 1.5rem;text-decoration:none;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.hero-source-pill:focus-visible,.hero-source-pill:hover{border-color:var(--green2);background:rgba(82,183,136,.18)}.hero-source-dot{width:7px;height:7px;border-radius:50%;background:var(--green2);flex-shrink:0}@media (prefers-reduced-motion:no-preference){.hero-source-dot{animation:sourcePulse 2.2s var(--ease-out) infinite}}@keyframes sourcePulse{0%{box-shadow:0 0 0 0 rgba(82,183,136,.55)}70%{box-shadow:0 0 0 7px rgba(82,183,136,0)}to{box-shadow:0 0 0 0 rgba(82,183,136,0)}}.hero-stats{display:flex;flex-wrap:wrap;gap:12px 36px;margin:0 0 22px 4px}.hero-stat{display:flex;flex-direction:column;gap:2px}.hero-stat-num{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#f8fafc;line-height:1.1}.hero-stat-label{font-size:var(--text-sm);font-weight:600;color:rgba(248,250,252,.55)}.hero-proof{display:flex;align-items:center;gap:8px;color:rgba(82,183,136,.9);font-size:var(--text-base);font-weight:600}.hero-proof-dot{width:6px;height:6px;border-radius:50%;background:var(--green2);flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 23px;border-radius:16px;font-weight:800;font-size:var(--text-md);text-decoration:none;border:1px solid transparent;cursor:pointer;position:relative;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease,filter .15s ease}.btn:hover{transform:translateY(-1px)}.btn img{width:18px;height:18px;flex-shrink:0}.btn-primary{background:linear-gradient(135deg,rgba(47,158,103,1),rgba(15,107,255,.92));color:white;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 18px 34px rgba(15,23,42,.12)}.btn-primary:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.18) 50%,transparent 65%);opacity:.55;mix-blend-mode:overlay;pointer-events:none}.btn-primary:hover{filter:brightness(1.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 22px 44px rgba(15,23,42,.18)}.btn-secondary{background:rgba(255,255,255,.06);color:rgba(255,255,255,.96);border-color:rgba(255,255,255,.22);box-shadow:var(--glass-nav-highlight)}.btn-secondary:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3)}.btn-ghost-light{background:transparent;color:var(--ink);border-color:var(--border)}.btn-ghost-light:hover{background:var(--paper2);border-color:var(--muted)}.btn-ghost-light:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--muted2);border-color:transparent}.btn-ghost:hover{background:var(--paper2);color:var(--ink);border-color:transparent}.btn-sm{min-height:38px;padding:0 14px;border-radius:10px;font-size:var(--text-sm)}.feature-row{position:relative;z-index:5;margin-top:0;padding:40px 0 60px}.feature-container{max-width:1100px;margin:0 auto;padding:0 40px}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:20px;gap:20px}.feature-card{display:flex;align-items:flex-start;gap:14px;padding:20px;border-radius:var(--card-radius);border:var(--card-border);background:var(--card-bg);box-shadow:var(--card-shadow);text-decoration:none;color:var(--text-primary);transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s ease,background .2s ease}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.feature-card{background:var(--glass-bg-strong);border-color:var(--glass-border);-webkit-backdrop-filter:blur(var(--glass-blur-soft));backdrop-filter:blur(var(--glass-blur-soft))}}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover);border-color:rgba(46,125,91,.3)}.feature-icon{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:50%;border:3px solid var(--green2);flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--green3);color:var(--green);box-shadow:inset 0 0 0 2px var(--paper);transition:transform .2s cubic-bezier(.16,1,.3,1);line-height:1}.feature-card:hover .feature-icon{transform:scale(1.08)}.feature-icon svg{width:24px;height:24px;display:block;flex-shrink:0;stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round}.feature-text{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1 1}.feature-card strong{font-size:var(--text-lg);letter-spacing:var(--type-tracking-tight);color:var(--text-primary);line-height:1.3}.feature-card span{font-size:var(--text-base);color:var(--text-secondary);line-height:1.5;font-weight:500}@media (max-width:900px){.hero-inner{grid-template-columns:1fr;gap:40px}.feature-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.hero-section{padding:40px 0 48px}.hero-inner{padding:0 16px;gap:32px}.hero-title{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:16px}.hero-desc{font-size:var(--text-md);margin-bottom:24px}.hero-actions{flex-direction:column;gap:12px}.hero-actions .btn-green,.hero-actions .btn-outline{width:100%}.feature-grid{grid-template-columns:repeat(2,1fr);gap:16px}.feature-card{padding:20px;gap:12px;min-height:auto}}@media (max-width:500px){.hero-inner{flex-direction:column;gap:32px}.hero-text{width:100%}.hero-actions{flex-direction:column}.hero-actions>*{width:100%}.hero-section{padding:40px 16px}.hero-title{font-size:clamp(1.75rem,5vw,2.5rem);line-height:1.2}.hero-desc{font-size:var(--text-md);line-height:1.6}.feature-grid{grid-template-columns:1fr}.feature-card>:first-child{align-self:flex-start}.feature-row{margin-top:0}.values-grid{grid-template-columns:1fr;gap:16px}.values-card{padding:20px}.site-header .nav-controls{gap:10px}.app-container{padding:0 16px}[role=button]:focus-visible,a:focus-visible,button:focus-visible{outline:4px solid var(--green2);outline-offset:3px}input,select,textarea{min-height:44px;padding:12px}.newsletter-form input{min-height:44px}.topics-grid{grid-template-columns:repeat(2,1fr);gap:12px}.topic-card{padding:16px;gap:6px}.topic-card strong{font-size:var(--text-base)}.topic-card span{font-size:var(--text-sm)}.trust-grid{grid-template-columns:1fr}.trust-item{padding:20px}}@media (max-width:400px){.hero-title{font-size:clamp(1.5rem,4vw,2rem)}.app-container,.site-header .nav-shell{padding:0 12px}}.icon-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:rgba(46,125,91,.12);color:var(--green);flex-shrink:0;line-height:1}.icon-badge--sm{width:32px;height:32px;min-width:32px;min-height:32px}.icon-badge--md{width:40px;height:40px;min-width:40px;min-height:40px}.icon-badge--lg{width:48px;height:48px;min-width:48px;min-height:48px}.icon-badge--brand,.icon-badge--success{background:rgba(46,125,91,.1);color:var(--green)}.icon-badge--warning{background:rgba(245,158,11,.14);color:var(--orange)}.icon-badge--danger{background:rgba(239,68,68,.14);color:var(--red)}.icon-badge--muted{background:rgba(148,163,184,.12);color:var(--muted2)}.icon-badge__icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.icon-badge__icon svg{width:100%;height:100%;display:block}.icon-badge--sm .icon-badge__icon{width:16px;height:16px}.icon-badge--lg .icon-badge__icon{width:24px;height:24px}@keyframes icon-spin{to{transform:rotate(1turn)}}.icon-badge__icon--spin{animation:icon-spin .9s linear infinite}.feature-card strong{font-family:var(--font-display);font-weight:900;letter-spacing:-.02em}.feature-card span{color:var(--muted2);font-size:var(--text-md);line-height:1.45}@media (max-width:980px){.features-inner{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.hero-section{padding:44px 0 52px}.features-inner{grid-template-columns:1fr}}.container{max-width:1200px;margin:0 auto;padding:0 24px}.section-pad{padding:40px 0 56px}.mock-setup-card{max-width:680px;margin:0 auto;background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius);padding:22px 20px;box-shadow:var(--card-shadow)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.mock-setup-card{background:var(--glass-bg-strong);border-color:var(--glass-border);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:var(--glass-shadow)}}.mock-setup-card h1{font-family:var(--font-display);font-weight:900;letter-spacing:-.03em;margin-bottom:8px}.mock-setup-card h2{margin-top:18px;font-size:var(--text-md);color:var(--ink);letter-spacing:-.01em}.mock-meta{margin:0 0 10px;color:var(--muted2);font-weight:700;font-size:var(--text-md)}.mock-mode-option{width:100%;display:grid;grid-template-columns:40px 1fr;grid-gap:12px;gap:12px;align-items:start;text-align:left;padding:14px;border-radius:14px;border:1px solid var(--border);background:var(--paper);margin-top:10px;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease,background .12s ease}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.mock-mode-option{background:var(--glass-bg);border-color:var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mock-mode-option.active{background:rgba(46,125,91,.16);border-color:var(--green2);box-shadow:inset 0 0 0 1px var(--green2)}}.mock-mode-option:hover{transform:translateY(-1px);border-color:rgba(46,125,91,.35);box-shadow:var(--shadow-lg)}.mock-mode-option strong{display:block;font-family:var(--font-display);font-weight:900;color:var(--ink);margin-bottom:2px}.mock-mode-option>div>span{display:block;color:var(--muted2);font-size:var(--text-md);line-height:1.4}.mock-mode-option.active{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:rgba(46,125,91,.06)}.mock-opt-correct{background:var(--green3)!important;border-color:rgba(46,125,91,.5)!important}.mock-opt-correct strong{color:var(--green)!important}.mock-opt-wrong{background:var(--error-soft)!important;border-color:rgba(239,68,68,.4)!important}.mock-opt-wrong strong{color:var(--error-strong)!important}.mode-icon{display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px}.btn-full{width:100%;margin-top:14px}html.exam-focus .site-footer,html.exam-focus .site-header{display:none}.exam-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.exam-topbar img{display:block;height:26px;width:auto}.exam-topbar-right{display:flex;align-items:center;gap:14px}.exam-exit{min-height:38px;padding:0 14px;font-size:var(--text-sm)}.exam-timer{display:inline-flex;align-items:center;gap:8px}.exam-timer-time{font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.exam-timer-ring{transform:rotate(-90deg)}.exam-timer-ring circle{fill:none}.exam-timer-ring .ring-bg{stroke:var(--paper3)}.exam-timer-ring .ring-fg{stroke:var(--green2);transition:stroke-dashoffset 1s linear}.exam-timer.warn .exam-timer-time,.exam-timer.warn .ring-fg{color:var(--orange);stroke:var(--orange)}.exam-timer.danger .exam-timer-time,.exam-timer.danger .ring-fg{color:var(--red);stroke:var(--red)}.exam-timer.danger{animation:examPulse 1s ease-in-out infinite}@keyframes examPulse{0%,to{opacity:1}50%{opacity:.55}}.exam-pbar{height:4px;margin:0 0 14px}.exam-pbar .pbar-fill{background:var(--green2)}.mock-mode-option:disabled{cursor:default}.btn:disabled,.mock-mode-option:disabled:hover{transform:none;box-shadow:none}.btn:disabled{opacity:.55;cursor:not-allowed}.onboarding-banner{position:static;z-index:999;width:100%;background:var(--paper);border-bottom:1px solid var(--border);padding:10px 24px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-sm);animation:ob-slide-down .3s cubic-bezier(.16,1,.3,1) both}@keyframes ob-slide-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.ob-banner-inner{display:flex;align-items:center;gap:20px;flex-wrap:wrap;width:100%;padding-right:24px}.ob-banner-text{font-size:var(--text-base);color:var(--ink);white-space:nowrap}.ob-banner-text strong{font-weight:800}.ob-banner-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ob-dismiss-banner{position:absolute;top:50%;right:12px;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:var(--text-base);color:var(--muted);padding:6px;border-radius:8px;line-height:1;transition:background .15s,color .15s}.ob-dismiss-banner:hover{background:rgba(0,0,0,.06);color:var(--ink)}.ob-option-row{display:flex;flex-wrap:wrap;gap:6px}.ob-banner-cta{width:auto}.ob-option{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1.5px solid var(--border);border-radius:20px;background:var(--paper);color:var(--ink);font-size:var(--text-sm);font-weight:600;cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s,color .15s;line-height:1.4}.ob-option:hover:not(:disabled){border-color:var(--green);background:rgba(46,125,91,.07);color:var(--green)}.ob-option.ob-selected{border-color:var(--green);background:rgba(46,125,91,.1);color:var(--green);font-weight:700}.ob-option:disabled{opacity:.4;cursor:not-allowed}.ob-persona-row{flex-basis:100%}.ob-persona{white-space:normal}.verified-badge{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm) var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--green2);background:var(--success-soft);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--ink)}.verified-badge__dot{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--green);color:#fff;font-size:var(--text-xs);font-weight:800;flex-shrink:0}.verified-badge__text{color:var(--muted)}.verified-badge__text strong{color:var(--ink)}.verified-badge__link,.verified-badge__report{font-weight:700;color:var(--green);text-decoration:none}.verified-badge__report{margin-left:auto;color:var(--muted);text-decoration:underline}.verified-badge__link:hover,.verified-badge__report:hover{color:var(--success-strong)}.overseas-country-card{display:flex;align-items:center;gap:10px;padding:14px var(--card-pad-sm);border:var(--card-border);border-radius:var(--card-radius);background:var(--card-bg);text-decoration:none;color:inherit;transition:border-color var(--duration-fast),box-shadow var(--duration-fast),transform var(--duration-fast)}.overseas-country-card:hover{border-color:var(--green2);box-shadow:var(--card-shadow-hover);transform:translateY(-1px)}.overseas-country-card strong{font-weight:800}.overseas-country-arrow{margin-left:auto;color:var(--green);font-weight:800}.journey-timeline{list-style:none;padding:0;margin:var(--space-xl) 0;display:grid;grid-gap:0;gap:0}.journey-step{position:relative;display:flex;gap:var(--space-lg);padding:0 0 22px}.journey-step:before{content:"";position:absolute;left:19px;top:32px;bottom:-4px;width:2px;background:var(--border)}.journey-step:last-child:before{display:none}.journey-step__badge{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:800;text-align:center;line-height:1.1;color:#fff;background:var(--green);z-index:1}.journey-step__title{font-size:var(--text-lg);font-weight:850;margin:6px 0 4px}.journey-step__summary{color:var(--muted);line-height:1.55;margin:0 0 8px}.journey-step__points{padding-left:18px;line-height:var(--type-leading-body);margin:0}.game-card{border:var(--card-border);border-radius:var(--card-radius);background:var(--card-bg);box-shadow:var(--card-shadow);padding:14px var(--card-pad-sm)}.game-card__row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:10px}.game-card__streak{font-weight:800;color:var(--orange)}.game-card__level{font-size:var(--text-base);color:var(--muted)}.game-card__goal-head{display:flex;justify-content:space-between;font-size:var(--text-sm);font-weight:700;color:var(--muted);margin-bottom:6px}.game-card__track{height:8px;border-radius:var(--radius-pill);background:var(--border);overflow:hidden}.game-card__fill{height:100%;background:var(--green);transition:width var(--duration-normal) var(--ease-out)}.game-card__fill,.game-chip{border-radius:var(--radius-pill)}.game-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border:1px solid var(--border);background:var(--paper);font-size:var(--text-sm);white-space:nowrap}.game-chip__sep,.game-chip__xp{color:var(--muted)}.game-chip__xp{font-weight:700}.confidence-scale{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.confidence-scale__end{font-size:var(--text-xs);color:var(--muted);font-weight:700}.confidence-dot{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--border);background:var(--paper);color:var(--muted);font-weight:800;font-size:var(--text-sm);cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast),color var(--duration-fast)}.confidence-dot.on,.confidence-dot:hover{border-color:var(--green)}.confidence-dot.on{background:var(--green);color:#fff}.supervisor-check{display:flex;align-items:flex-start;gap:10px;padding:10px var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--paper);cursor:pointer;line-height:1.5;transition:border-color var(--duration-fast)}.supervisor-check:hover{border-color:var(--green2)}.supervisor-check input{margin-top:3px;accent-color:var(--green);width:16px;height:16px;flex-shrink:0}.resources-list{display:flex;flex-direction:column;gap:12px;padding:0;list-style:none;margin:24px 0}.disclaimer{font-size:var(--text-sm);color:var(--color-muted);border-top:1px solid var(--color-border);padding-top:16px;margin-top:24px}.weekly-chart{display:flex;align-items:flex-end;gap:6px;height:120px;padding:12px 0 0}.weekly-col{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}.weekly-bar-wrap{flex:1 1;width:100%;display:flex;align-items:flex-end}.weekly-bar{width:100%;border-radius:var(--radius-xs) var(--radius-xs) 0 0;min-height:4px;transition:height .3s ease}.weekly-label{font-weight:600;white-space:nowrap}.weekly-count,.weekly-label{font-size:var(--text-xs);color:var(--muted2);text-align:center}.weekly-count{font-weight:800}.section-head{text-align:center;margin-bottom:36px}.section-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:var(--text-xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--green2);margin:0 0 10px}.section-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;letter-spacing:-.035em;color:var(--ink);margin-bottom:32px;text-align:center}.section-head .section-title{margin-bottom:0}.faq-section{padding:64px 28px;background:var(--surface-page,#f8fafb);border-top:1px solid var(--border)}.faq-inner{max-width:720px;margin:0 auto}.faq-list{display:flex;flex-direction:column;gap:8px;margin-top:32px}.faq-item{background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-sm);overflow:hidden}.faq-item summary{padding:16px 20px;font-weight:700;font-size:var(--text-md);color:var(--ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"＋";font-size:1.1rem;color:var(--muted2);flex-shrink:0}.faq-item[open] summary:after{content:"－"}.faq-answer{padding:0 20px 16px;font-size:var(--text-base);line-height:1.6;color:var(--muted2)}.cta-section{padding:72px 28px;text-align:center;background:var(--paper);border-top:1px solid var(--border);position:relative;overflow:hidden}.cta-section:after,.cta-section:before{content:"";position:absolute;background:var(--ink);opacity:.05;pointer-events:none;-webkit-mask:var(--tire-tracks) no-repeat center /contain;mask:var(--tire-tracks) no-repeat center /contain}.cta-section:before{width:440px;height:320px;right:-90px;bottom:-70px;transform:rotate(-10deg)}.cta-section:after{width:360px;height:260px;left:-110px;top:-50px;transform:rotate(168deg);opacity:.035}.cta-inner{position:relative;z-index:1}.cta-inner>svg{display:block;margin:0 auto 10px}.cta-inner h2{font-size:1.8rem;font-weight:900;color:var(--ink);margin-bottom:24px}.trust-section{padding:64px 28px;background:radial-gradient(1100px 380px at 50% -8%,rgba(82,183,136,.06),transparent 70%) var(--paper2);border-top:1px solid var(--border)}.trust-inner{max-width:var(--container);margin:0 auto}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;margin-top:32px}.trust-item{padding:20px;background:var(--card-bg);border-radius:var(--card-radius);border:var(--card-border);display:flex;align-items:flex-start;gap:14px;transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1),border-color .15s ease,background .15s ease;box-shadow:var(--card-shadow)}.trust-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--green2);background:rgba(47,158,103,.01)}.trust-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.trust-flags{display:flex;gap:6px;align-items:center;margin-top:4px}@media (max-width:1023px){.trust-grid{grid-template-columns:1fr}.trust-item{padding:18px 20px}}.trust-icon{font-size:1.6rem;line-height:1;margin-bottom:4px}.trust-item strong{font-size:var(--text-md);font-weight:800;color:var(--ink)}.trust-item p{font-size:var(--text-base);color:var(--muted);line-height:1.5;margin:0}.topics-section{padding:64px 28px;background:radial-gradient(1100px 380px at 50% -8%,rgba(56,189,248,.05),transparent 70%) var(--paper);border-top:1px solid var(--border)}.topics-inner{max-width:var(--container);margin:0 auto}.topics-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;margin-top:32px}.topic-card{padding:18px 20px;background:var(--paper2);border-radius:var(--card-radius);border:var(--card-border);text-decoration:none;color:var(--ink);display:flex;align-items:flex-start;gap:14px;transition:box-shadow .18s ease,border-color .18s ease,transform .15s ease;cursor:pointer;box-shadow:var(--card-shadow)}.topic-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.topic-card:hover{box-shadow:var(--shadow-soft);border-color:var(--green2);transform:translateY(-2px);background:rgba(47,158,103,.02)}.topic-card:focus-visible{outline:3px solid var(--green2);outline-offset:2px}.topic-card .topic-icon{align-self:flex-start}.topic-card strong{font-size:var(--text-md);font-weight:800}.topic-card span{font-size:var(--text-sm);color:var(--muted);line-height:1.4}@media (max-width:768px){.topics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.topics-grid{grid-template-columns:1fr}}.states-section{padding:40px 28px;background:var(--navy-950);border-top:1px solid rgba(255,255,255,.06)}.states-inner{max-width:var(--container);margin:0 auto;position:relative}.states-layout{display:grid;grid-template-columns:1.15fr 1fr;grid-gap:40px;gap:40px;align-items:center}.states-layout .states-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.states-inner:has(.states-layout):before{display:none}.au-map{width:100%;height:auto;display:block}.au-map-state{fill:rgba(82,183,136,.1);stroke:rgba(82,183,136,.55);stroke-width:2;stroke-linejoin:round;transition:fill .15s ease,stroke .15s ease}.au-map-state--link{cursor:pointer}.au-map-state--link:focus-visible,.au-map-state--link:hover{fill:rgba(82,183,136,.32);stroke:var(--green2);outline:none}.au-map-label{pointer-events:none;text-anchor:middle;font-family:var(--font-display),sans-serif;paint-order:stroke;stroke:var(--navy-950);stroke-width:10px;stroke-linejoin:round}.au-map-label-code{fill:rgba(255,255,255,.92);font-size:30px;font-weight:800;letter-spacing:.06em}.au-map-label-count{fill:var(--green2);font-size:26px;font-weight:700}.au-map-label--compact .au-map-label-code{font-size:18px}.au-map-label--compact .au-map-label-count{font-size:17px}.au-map-state--hot{fill-opacity:.4!important;stroke:var(--green2)}.state-card.is-hot{border-color:var(--green2);background:color-mix(in srgb,var(--green2) 22%,var(--navy-950));transform:translateY(-2px)}.state-abbr{font-size:var(--text-xs);color:rgba(255,255,255,.55);font-weight:600;letter-spacing:.04em}.state-card{transition:border-color .15s ease,background .15s ease,transform .15s ease}.states-layout{margin-top:32px}.states-section .section-title{color:#fff}@media (max-width:900px){.states-layout{grid-template-columns:1fr;gap:24px}.au-map{max-width:440px;margin:0 auto}.states-layout .states-grid{grid-template-columns:repeat(2,1fr)}}.states-inner:before{content:"";position:absolute;left:-28px;right:-28px;top:50%;height:4px;transform:translateY(-50%);background:repeating-linear-gradient(90deg,rgba(255,255,255,.16) 0 34px,transparent 34px 62px);border-radius:2px;pointer-events:none}.states-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;position:relative}.state-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 18px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.1);min-width:80px}.state-card.active{background:rgba(82,183,136,.15);background:color-mix(in srgb,var(--green2) 14%,var(--navy-950));border-color:var(--green2)}.state-card.coming-soon{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.05)}.state-code{font-size:var(--text-md);font-weight:800;color:var(--text);letter-spacing:.04em}.state-card.coming-soon .state-code{color:rgba(255,255,255,.6)}.state-badge{font-size:var(--text-xs);font-weight:700;color:var(--muted2);text-transform:uppercase;letter-spacing:.08em}.state-card.coming-soon .state-badge{color:rgba(255,255,255,.5)}.state-card.active .state-badge{color:var(--green2)}.site-footer{background:var(--navy-900);border-top:1px solid rgba(255,255,255,.08);padding:60px 28px 32px;color:var(--text2)}.footer-inner{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr 2fr;grid-gap:48px;gap:48px;align-items:start}.footer-brand{display:flex;align-items:center;gap:8px;margin-bottom:12px;text-decoration:none}.footer-brand-name{font-size:var(--text-md);font-weight:800;color:var(--text);letter-spacing:-.01em}.footer-tagline{font-size:var(--text-sm);color:var(--muted);line-height:1.5;margin-bottom:12px}.footer-flags{display:flex;gap:6px;align-items:center}.footer-col-title{font-size:var(--text-xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.footer-links a{font-size:var(--text-base);color:var(--text2);text-decoration:none;opacity:.8;transition:opacity .15s}.footer-links a:hover{opacity:1;color:var(--text)}.footer-newsletter-sub{font-size:var(--text-sm);color:var(--muted);margin-bottom:14px;line-height:1.4}.newsletter-form{display:flex;gap:8px}.newsletter-input{flex:1 1;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:var(--text);font-size:var(--text-base);font-family:var(--font-body);outline:none;transition:border-color .18s}.newsletter-input::placeholder{color:var(--muted)}.newsletter-input:focus{border-color:var(--green2)}.newsletter-btn{padding:10px 16px;border-radius:var(--radius-sm);background:var(--green);color:#fff;font-size:var(--text-base);font-weight:700;border:none;cursor:pointer;white-space:nowrap;transition:background .18s}.newsletter-btn:hover{background:var(--green2);color:var(--ink)}.newsletter-btn:disabled{opacity:.6;cursor:not-allowed}.newsletter-msg{margin-top:8px;font-size:var(--text-sm);line-height:1.4}.newsletter-msg.success{color:var(--green2)}.newsletter-msg.error{color:var(--error-on-dark)}.footer-bottom{max-width:var(--container);margin:40px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:center}.footer-copyright{font-size:var(--text-sm);color:var(--muted)}@media (max-width:1024px){.footer-inner{grid-template-columns:1fr 1fr;gap:32px}}@media (max-width:600px){.footer-inner{grid-template-columns:1fr;gap:28px}.newsletter-form{flex-direction:column}}@media (min-width:901px){.hero-phone-frame{transform:rotate(-2deg);transition:transform var(--duration-normal) var(--ease-out)}.hero-phone-frame:hover{transform:rotate(0deg)}}.hero-photos{position:relative;align-self:center;width:min(520px,100%)}.hero-photos:before{content:"";position:absolute;inset:-70px -80px;background:radial-gradient(58% 55% at 52% 46%,rgba(82,183,136,.16),transparent 72%),radial-gradient(40% 42% at 70% 65%,rgba(56,189,248,.07),transparent 70%);z-index:-1;pointer-events:none}.hero-photo{display:block;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.38);object-fit:cover;filter:saturate(1.1) contrast(1.04);transition:transform var(--duration-normal) var(--ease-out)}.hero-photo--main{width:100%;height:auto;box-shadow:0 30px 70px rgba(2,12,22,.55),0 8px 22px rgba(2,12,22,.35)}.hero-photos:hover .hero-photo--main{transform:scale(1.015)}.hero-photo--br,.hero-photo--tl{position:absolute;height:auto;animation:chip-float 5s ease-in-out infinite;box-shadow:0 16px 40px rgba(2,12,22,.5)}.hero-photo--tl{width:40%;top:-38px;left:-44px;transform:rotate(-5deg)}.hero-photo--br{width:31%;bottom:-34px;right:-30px;transform:rotate(4deg);animation-delay:2s}@media (max-width:1100px){.hero-photo--br,.hero-photo--tl{display:none}.hero-photos{margin:0 auto}}.hero-float-chip{position:absolute;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;font-size:var(--text-sm);font-weight:700;background:var(--paper);color:var(--ink);border:1px solid var(--border);box-shadow:var(--shadow-lg);white-space:nowrap;animation:chip-float 4s ease-in-out infinite}.hero-float-chip--pass{top:-14px;right:18px;color:var(--green)}.hero-float-chip--streak{bottom:-14px;left:26px;color:var(--accent);animation-delay:1.6s}@keyframes chip-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@media (max-width:1100px){.hero-float-chip{display:none}}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.hero-slide-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.topic-icon{display:flex;align-items:center;justify-content:center;color:var(--green);line-height:1;width:48px;height:48px;min-width:48px;min-height:48px;border-radius:50%;border:3px solid var(--green2);box-shadow:inset 0 0 0 2px var(--paper);background:var(--green3);flex-shrink:0}.topic-icon svg{display:block;flex-shrink:0;width:var(--icon-size-lg);height:var(--icon-size-lg);stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round}.trust-icon-wrap{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:50%;border:3px solid var(--green2);box-shadow:inset 0 0 0 2px var(--paper);background:var(--green3);display:flex;align-items:center;justify-content:center;color:var(--green);margin-bottom:6px;flex-shrink:0;line-height:1}.trust-icon-wrap svg{width:var(--icon-size-lg);height:var(--icon-size-lg);display:block;flex-shrink:0;stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round}@media (max-width:600px){.hero-slide-card{min-height:240px;padding:18px}.slide-cat-track{width:64px}}.settings-layout{display:grid;grid-template-columns:240px 1fr;grid-gap:32px;gap:32px;align-items:start}.settings-sidebar{background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius-lg);padding:var(--card-pad);position:-webkit-sticky;position:sticky;top:calc(var(--header-height) + 16px);box-shadow:var(--card-shadow)}.settings-avatar-wrap{display:flex;align-items:center;gap:12px;padding-bottom:16px;margin-bottom:12px;border-bottom:1px solid var(--border)}.settings-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--green2),var(--green));color:white;font-weight:800;font-size:var(--text-base);display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.02em}.settings-avatar-info{min-width:0}.settings-avatar-name{font-size:var(--text-base);font-weight:800;color:var(--ink);text-transform:capitalize}.settings-avatar-email,.settings-avatar-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-avatar-email{font-size:var(--text-xs);color:var(--muted2)}.settings-nav{display:flex;flex-direction:column;gap:2px;margin-bottom:16px}.settings-nav-item{width:100%;text-align:left;padding:9px 12px;border-radius:9px;font-size:var(--text-base);font-weight:600;color:var(--muted2);background:transparent;border:none;cursor:pointer;transition:background .12s,color .12s}.settings-nav-item:hover{background:var(--paper2);color:var(--ink)}.settings-nav-item.active{background:var(--green3);color:var(--green);font-weight:800}.settings-nav-item.danger{color:var(--red);opacity:.75}.settings-nav-item.danger.active,.settings-nav-item.danger:hover{background:var(--error-soft);opacity:1}.settings-nav-item.danger.active{color:var(--red)}.settings-signout-btn{width:100%;padding:8px 12px;border-radius:9px;font-size:var(--text-sm);font-weight:700;color:var(--muted2);background:transparent;border:1px solid var(--border);cursor:pointer;transition:background .12s,color .12s;margin-top:4px}.settings-signout-btn:hover{background:var(--paper2);color:var(--ink)}.settings-main{min-width:0}.settings-section{background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius-lg);padding:28px 28px 32px;box-shadow:var(--card-shadow)}.settings-section-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;letter-spacing:-.03em;color:var(--ink);margin-bottom:4px}.settings-section-sub{font-size:var(--text-base);color:var(--muted2);margin-bottom:24px}.settings-avatar-large-wrap{display:flex;align-items:center;gap:16px;padding:16px;background:var(--paper2);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:24px}.settings-avatar-large{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--green2),var(--green));color:white;font-weight:800;font-size:var(--text-xl);display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.02em}.settings-avatar-hint{font-size:var(--text-sm);color:var(--muted2);line-height:1.4}.settings-form{display:flex;flex-direction:column;gap:18px}.settings-field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.settings-field{display:flex;flex-direction:column;gap:6px}.settings-label{font-size:var(--text-sm);font-weight:800;color:var(--ink);letter-spacing:.01em}.settings-optional{font-weight:600;color:var(--muted);font-size:var(--text-sm)}.settings-input{height:44px;padding:0 13px;border-radius:var(--radius-sm);border:1.5px solid var(--border);font:inherit;font-size:var(--text-base);color:var(--ink);background:var(--paper);outline:none;width:100%;transition:border-color .15s,box-shadow .15s}.settings-input:focus{border-color:var(--green2);box-shadow:var(--focus-ring-success)}.settings-input:disabled{background:var(--paper2);color:var(--muted);cursor:not-allowed}.settings-input::placeholder{color:var(--muted)}.settings-select{cursor:pointer}.settings-hint{font-size:var(--text-sm);color:var(--muted);line-height:1.4;margin-top:2px}.settings-theme-row{display:flex;gap:8px;flex-wrap:wrap}.settings-theme-btn{display:flex;align-items:center;gap:7px;padding:9px 16px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--paper);color:var(--muted2);font-size:var(--text-base);font-weight:700;cursor:pointer;transition:border-color .14s,color .14s,background .14s}.settings-theme-btn:hover{border-color:var(--green2);color:var(--ink)}.settings-theme-btn.active{border-color:var(--green2);background:var(--green3);color:var(--green)}.settings-msg{font-size:var(--text-sm);font-weight:600;padding:9px 13px;border-radius:var(--radius-sm);line-height:1.4}.settings-msg.ok{background:var(--green3);border:1px solid rgba(46,125,91,.2);color:var(--green)}.settings-msg.err{background:var(--error-soft);border:1px solid rgba(239,68,68,.2);color:var(--error-strong)}.settings-danger-card{padding:var(--card-pad);background:var(--error-soft);border:1px solid rgba(239,68,68,.18);border-radius:var(--card-radius)}.settings-danger-title{font-size:var(--text-md);font-weight:800;color:var(--ink);margin-bottom:6px}@media (max-width:768px){.settings-layout{grid-template-columns:1fr}.settings-sidebar{position:static}.settings-field-row{grid-template-columns:1fr}}@media (max-width:480px){.settings-section{padding:20px 16px 24px}.settings-theme-row{flex-direction:column}}.guest-prompt-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.guest-prompt-card{background:var(--card-bg);border-radius:var(--card-radius-lg);padding:2rem;max-width:420px;width:100%;position:relative;box-shadow:0 8px 32px rgba(0,0,0,.18)}.guest-prompt-card h3{font-size:var(--text-xl);font-weight:700;margin:0 0 .5rem}.guest-prompt-card p{font-size:var(--text-base);color:var(--muted);margin:0 0 1.5rem;line-height:1.5}.guest-prompt-actions{display:flex;flex-direction:column;gap:.625rem}.guest-prompt-dismiss{position:absolute;top:.75rem;right:.75rem;background:none;border:none;color:var(--muted);cursor:pointer;font-size:var(--text-md);padding:.25rem;line-height:1}.guest-prompt-dismiss:hover{color:var(--ink)}.page-loading{display:flex;align-items:center;justify-content:center;min-height:60vh}.spinner{width:2.5rem;height:2.5rem;border:3px solid var(--border,#e5e7eb);border-top-color:var(--green,#2e7d5b);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#1e293b;--paper2:#0f172a;--paper3:#273348;--ink:#f1f5f9;--text:#f8fafc;--text2:#cbd5e1;--muted:#94a3b8;--muted2:#64748b;--border:#334155;--surface-page:#0f172a;--surface-page-alt:#1e293b;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--glass-bg:rgba(30,41,59,0.82);--glass-bg-strong:rgba(30,41,59,0.94);--glass-bg-soft:rgba(30,41,59,0.6);--glass-border:rgba(255,255,255,0.1);--glass-border-strong:rgba(255,255,255,0.18);--glass-shadow:0 20px 60px rgba(0,0,0,0.45);--glass-shadow-soft:0 12px 32px rgba(0,0,0,0.32);color-scheme:dark}:root:not([data-theme=light]) .resources-page{--res-blue-soft:rgba(37,99,235,0.16);--res-violet-soft:rgba(124,58,237,0.18);--res-amber-soft:rgba(180,83,9,0.18);--res-teal-soft:rgba(15,118,110,0.18)}}:root[data-theme=dark]{--paper:#1e293b;--paper2:#0f172a;--paper3:#273348;--ink:#f1f5f9;--text:#f8fafc;--text2:#cbd5e1;--muted:#94a3b8;--muted2:#64748b;--border:#334155;--surface-page:#0f172a;--surface-page-alt:#1e293b;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--glass-bg:rgba(30,41,59,0.82);--glass-bg-strong:rgba(30,41,59,0.94);--glass-bg-soft:rgba(30,41,59,0.6);--glass-border:rgba(255,255,255,0.1);--glass-border-strong:rgba(255,255,255,0.18);--glass-shadow:0 20px 60px rgba(0,0,0,0.45);--glass-shadow-soft:0 12px 32px rgba(0,0,0,0.32);color-scheme:dark}:root[data-theme=dark] .resources-page{--res-blue-soft:rgba(37,99,235,0.16);--res-violet-soft:rgba(124,58,237,0.18);--res-amber-soft:rgba(180,83,9,0.18);--res-teal-soft:rgba(15,118,110,0.18)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--ink);cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s}.theme-toggle:hover{background:var(--paper2);border-color:var(--muted)}.auth-topbar{position:fixed;top:14px;right:16px;z-index:100;display:flex;align-items:center;gap:6px}.auth-topbar-langs{display:flex;align-items:center;gap:3px;background:var(--paper);border:1px solid var(--border);border-radius:10px;padding:3px}.auth-topbar-lang{padding:4px 8px;border:none;border-radius:7px;background:transparent;color:var(--muted2);font-size:var(--text-xs);font-weight:700;cursor:pointer;transition:background .12s,color .12s;line-height:1}.auth-topbar-lang:hover{background:var(--paper2);color:var(--ink)}.auth-topbar-lang.active{background:var(--green);color:#fff}.how-it-works{background:var(--kl-color-surface-alt,#f8fafc)}.how-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-top:2rem}.how-step-card{display:flex;flex-direction:column;gap:.5rem;padding:.5rem .25rem;background:transparent;border:0;text-decoration:none;color:inherit}.how-step-num{font-family:var(--font-display);font-size:clamp(2.1rem,4vw,2.8rem);font-weight:800;line-height:1;color:var(--orange);letter-spacing:-.03em}.how-step-title{font-family:var(--kl-font-heading);font-size:var(--text-lg);font-weight:800;margin:0;transition:color var(--duration-fast) var(--ease-out)}.how-step-card:hover .how-step-title{color:var(--green2)}.how-step-desc{font-size:var(--text-base);color:var(--kl-color-text-muted,#64748b);margin:0}.footer-newsletter-block{padding:2rem 0;border-top:1px solid var(--kl-color-border,#e2e8f0)}.footer-newsletter-heading{font-family:var(--kl-font-heading);font-size:var(--text-md);font-weight:700;margin:0 0 .25rem}.footer-newsletter-desc{font-size:var(--text-base);color:var(--kl-color-text-muted,#64748b);margin:0 0 .75rem}.newsletter-success{color:var(--kl-color-success);font-weight:600;font-size:var(--text-base)}.newsletter-error{color:var(--kl-color-error);font-size:var(--text-sm);margin-top:.25rem;width:100%}.resources-page{--res-blue:var(--info);--res-blue-soft:var(--info-soft);--res-violet:#7c3aed;--res-violet-soft:#f5f3ff;--res-amber:var(--warning-strong);--res-amber-soft:var(--warning-soft);--res-teal:#0f766e;--res-teal-soft:#ecfdf5}.resources-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);grid-gap:clamp(1.25rem,3vw,2rem);gap:clamp(1.25rem,3vw,2rem);align-items:stretch;margin-bottom:1.25rem}.resources-hero-copy{align-self:center;margin-bottom:0}.resources-kicker{margin:0 0 .5rem;color:var(--green);font-size:var(--text-sm);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.resources-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.resources-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.resources-stat{min-height:142px;display:flex;flex-direction:column;justify-content:space-between;gap:.5rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--paper);box-shadow:var(--shadow-soft)}.resources-stat svg{color:var(--green)}.resources-stat strong{color:var(--ink);font-family:var(--font-display);font-size:1.75rem;line-height:1}.resources-stat span{color:var(--muted);font-size:var(--text-base);line-height:1.45}.resources-official-note{display:flex;gap:.65rem;align-items:flex-start;margin:0 0 2rem;padding:.85rem 1rem;border:1px solid var(--green2);border-radius:var(--radius-sm);background:var(--green3);color:var(--green);font-size:var(--text-base);font-weight:700;line-height:1.5}.resources-official-note svg{flex:0 0 auto;margin-top:.1rem}.resource-section{margin-bottom:2.25rem}.resource-section-panel{padding:clamp(1rem,2.5vw,1.5rem);border:var(--card-border);border-radius:var(--card-radius-lg);background:var(--card-bg)}.resource-section-head{max-width:760px;margin-bottom:1rem}.resource-section h2{margin:0 0 .5rem;color:var(--ink);font-family:var(--kl-font-heading);font-size:var(--text-xl)}.resource-section p{margin:0;color:var(--muted);line-height:1.6}.ecosystem-grid,.licence-journey-grid,.resource-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}.resource-card-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.ecosystem-card,.journey-step-card,.resource-card{position:relative;min-height:210px;display:flex;flex-direction:column;gap:.65rem;padding:1rem;border:var(--card-border);border-radius:var(--card-radius);background:var(--card-bg);color:inherit;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.ecosystem-card.available:hover,.journey-step-card:hover,.resource-card:hover{border-color:var(--green2);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.ecosystem-card strong,.journey-step-card strong,.resource-card strong{color:var(--ink);font-size:var(--text-md);font-weight:850;line-height:1.3}.ecosystem-card p,.journey-step-card p,.resource-card p{flex:1 1;color:var(--muted);font-size:var(--text-base);line-height:1.55}.ecosystem-icon,.journey-step-icon,.resource-card-icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:var(--green3);color:var(--green)}.ecosystem-status,.resource-badge{width:-moz-fit-content;width:fit-content;padding:.16rem .55rem;border-radius:999px;font-size:var(--text-xs);font-weight:850;letter-spacing:.04em;text-transform:uppercase}.ecosystem-status,.resource-badge.official{background:var(--green3);color:var(--green)}.resource-badge.booking{background:var(--res-blue-soft);color:var(--res-blue)}.resource-badge.study{background:var(--res-amber-soft);color:var(--res-amber)}.resource-badge.community{background:var(--res-teal-soft);color:var(--res-teal)}.resource-badge.partner{background:var(--res-violet-soft);color:var(--res-violet)}.resource-open{display:inline-flex;gap:.35rem;align-items:center;color:var(--green);font-size:var(--text-sm);font-weight:850}.journey-step-card{min-height:260px}.journey-step-num{position:absolute;top:.95rem;right:1rem;color:var(--muted);font-family:var(--font-display);font-size:var(--text-xl);font-weight:900;opacity:.45}.ecosystem-card{min-height:190px;background:linear-gradient(180deg,rgba(255,255,255,.64),rgba(255,255,255,0)),var(--paper)}.ecosystem-card:not(.available){background:color-mix(in srgb,var(--paper) 92%,var(--paper2))}.resource-checklist{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:1.25rem;gap:1.25rem;align-items:center;padding:clamp(1rem,2.5vw,1.5rem);border:1px solid var(--green2);border-radius:var(--radius-lg);background:var(--green3)}.resource-checklist-cta{display:flex;flex-direction:column;gap:.75rem;min-width:190px}.checklist-list,.resource-link-list{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.4rem}.resource-link-list a{color:var(--kl-color-primary);text-decoration:underline;font-size:var(--text-base)}.licence-journey{padding-left:1.5rem;display:flex;flex-direction:column;gap:.5rem}.checklist-list li,.licence-journey li{font-size:var(--text-base);line-height:1.5}.checklist-list li{display:flex;gap:.55rem;align-items:flex-start}.checklist-list svg{flex:0 0 auto;margin-top:.1rem;color:var(--green)}.resource-checklist,.resource-checklist .checklist-list li,.resource-checklist .checklist-list span,.resource-checklist h2{color:var(--navy-900)}.resource-checklist .btn-ghost-light{color:var(--green);border-color:var(--green2);background:rgba(255,255,255,.6)}.resource-checklist .btn-ghost-light:hover{background:#fff;border-color:var(--green)}@media (max-width:920px){.resource-checklist,.resources-hero{grid-template-columns:1fr}.ecosystem-grid,.licence-journey-grid,.resource-card-grid,.resource-card-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-checklist-cta{flex-direction:row;flex-wrap:wrap;min-width:0}}@media (max-width:640px){.ecosystem-grid,.licence-journey-grid,.resource-card-grid,.resource-card-grid.compact,.resources-stat-grid{grid-template-columns:1fr}.ecosystem-card,.journey-step-card,.resource-card,.resources-stat{min-height:auto}.resource-checklist-cta,.resources-hero-actions{flex-direction:column;align-items:stretch}}.legal-page{max-width:720px}.legal-page h1{font-size:2rem;margin-bottom:.25rem}.legal-page h1,.legal-page h2{font-family:var(--kl-font-heading)}.legal-page h2{font-size:var(--text-lg);margin:2rem 0 .5rem}.legal-page li,.legal-page p{font-size:var(--text-md);line-height:1.7;color:var(--kl-color-text,#0f172a)}.legal-page ol,.legal-page ul{padding-left:1.5rem;margin:.5rem 0}.legal-page a{color:var(--kl-color-primary)}.legal-updated{font-size:var(--text-sm);color:var(--kl-color-text-muted,#64748b);margin-bottom:2rem}.quiz-skeletons{display:grid;grid-gap:16px;gap:16px;max-width:760px}.qcard-skeleton{display:grid;grid-gap:12px;gap:12px}.sk-block,.sk-line{border-radius:var(--radius-xs);background:linear-gradient(90deg,rgba(122,138,154,.14) 25%,rgba(122,138,154,.26) 50%,rgba(122,138,154,.14) 75%);background-size:200% 100%;animation:skShimmer 1.4s ease-in-out infinite}.sk-line{height:14px}.sk-block{height:46px;border-radius:var(--radius-sm)}.sk-title{height:26px;width:180px;margin-bottom:8px}.sk-sub{width:260px}.sk-w30{width:30%}.sk-w70{width:70%}.sk-w90{width:90%}@keyframes skShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.kanga-float{animation:kangaFloat 3s ease-in-out infinite}@keyframes kangaFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.mt-18{margin-top:18px}.mt-22{margin-top:22px}.flex-1{flex:1 1}.dash-row-spread{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px 16px}.dash-settings-btn{white-space:nowrap;flex-shrink:0}.dash-welcome{margin-bottom:22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;border-color:var(--green2)}.dash-welcome-copy{max-width:560px}.dash-stat-row{display:flex;align-items:center;gap:10px}.dash-stat-ico{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-pill)}.dash-stat-ico--orange{background:rgba(244,169,0,.14);color:var(--orange)}.dash-stat-ico--green{background:rgba(82,183,136,.14);color:var(--green)}.dash-span-2{grid-column:span 2}.stat-card-value--sm{font-size:1.7rem}.dash-section-title--sm{font-size:var(--text-base)}.dash-empty--plain{padding:0;background:transparent;border:0}.dash-empty--row{display:flex;align-items:center;gap:14px}.dash-actions{display:flex;gap:10px;margin-bottom:32px;flex-wrap:wrap}.dash-link-strong{color:var(--green);font-weight:800}.dash-footnote{font-size:var(--text-sm);color:var(--muted);margin-top:32px}.dash-footnote-link{color:var(--muted);text-decoration:underline}.prog-loading{display:flex;justify-content:center;padding-top:80px}.prog-muted{color:var(--muted);font-size:var(--text-base)}.prog-cloud-note{margin-top:24px;padding:14px 18px;border-radius:var(--card-radius);background:var(--green3);border:1px solid var(--green2);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.prog-cloud-note-text{font-size:var(--text-base);color:var(--ink);flex:1 1}.prog-link-green{font-size:var(--text-base);font-weight:800;color:var(--green);flex-shrink:0}.prog-empty{margin-top:40px;padding:32px 24px;border-radius:var(--card-radius);background:var(--card-bg);border:var(--card-border);text-align:center}.prog-empty-emoji{font-size:2.5rem;margin-bottom:12px}.prog-empty-title{font-weight:700;font-size:var(--text-lg);color:var(--ink);margin-bottom:8px}.prog-empty-sub{color:var(--muted);font-size:var(--text-base);margin-bottom:20px}.prog-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:14px;gap:14px;margin-top:28px}.prog-cats{margin-top:32px}.prog-cat-list{display:flex;flex-direction:column;gap:10px}.prog-cat-row{display:grid;grid-template-columns:28px 1fr auto auto auto;align-items:center;grid-gap:0 12px;gap:0 12px;padding:12px 16px;border-radius:var(--card-radius);background:var(--card-bg);border:var(--card-border)}.prog-cat-ico{font-size:1.1rem}.prog-cat-main{min-width:0}.prog-cat-name{font-weight:700;font-size:var(--text-base);color:var(--ink);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prog-cat-track{height:5px;background:var(--border);overflow:hidden}.prog-cat-fill,.prog-cat-track{border-radius:var(--radius-pill)}.prog-cat-fill{height:100%;transition:width .4s ease}.prog-cat-frac{font-size:var(--text-sm);color:var(--muted);flex-shrink:0}.prog-cat-pct{font-size:var(--text-base);font-weight:800;flex-shrink:0;min-width:36px;text-align:right}.prog-cat-go{font-size:var(--text-sm);font-weight:700;color:var(--green);flex-shrink:0}.prog-next{margin-top:28px;padding:16px 20px;border-radius:var(--card-radius);background:var(--green3);border:1px solid var(--green2)}.prog-next-label{font-size:var(--text-sm);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--green);margin-bottom:4px}.prog-next-text{font-weight:700;color:var(--ink);font-size:var(--text-md)}.prog-cta-row{margin-top:24px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.prog-reset{margin-left:auto;font-size:var(--text-sm);font-weight:700;color:var(--muted);background:none;border:none;cursor:pointer;padding:6px 0}.stat-card-value--text{font-size:var(--text-base);line-height:1.4;font-family:inherit}.lt-hero{background:radial-gradient(900px 320px at 78% -10%,rgba(82,183,136,.12),transparent 70%),var(--navy-950);color:rgba(255,255,255,.92);padding:40px 0 44px;margin-bottom:40px;position:relative;overflow:hidden}.lt-hero .page-title{color:#fff}.lt-hero .page-sub,.lt-hero>.app-container>p{color:rgba(255,255,255,.72)}.lt-hero .state-hero-kanga{color:#fff}.lt-hero .state-hero:after,.lt-hero .state-hero:before{background:#fff;opacity:.07}.lt-hero .fact-cell{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);box-shadow:none}.lt-hero .fact-label{color:rgba(255,255,255,.55)}.lt-hero .fact-value{color:#fff}.lt-hero .fact-sub{color:rgba(255,255,255,.6)}.state-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative}.state-hero:after,.state-hero:before{content:"";position:absolute;z-index:-1;background:var(--ink);pointer-events:none;-webkit-mask:var(--tire-tracks) no-repeat center /contain;mask:var(--tire-tracks) no-repeat center /contain}.state-hero:before{width:300px;height:210px;right:-40px;top:-60px;transform:rotate(160deg);opacity:.05}.state-hero:after{width:240px;height:170px;left:-60px;bottom:-70px;transform:rotate(-12deg);opacity:.035}.state-hero-copy{min-width:0}.state-hero-kanga{flex-shrink:0;color:var(--ink)}@media (max-width:768px){.state-hero-kanga{display:none}}.facts-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px;margin:1.5rem 0}.fact-cell{background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-sm);box-shadow:var(--card-shadow);padding:12px 14px}.fact-label{font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.fact-value{font-size:var(--text-xl);font-weight:800;color:var(--ink);line-height:1.2;white-space:nowrap}.fact-value--long{font-size:var(--text-lg);white-space:normal}.fact-sub{font-size:var(--text-sm);color:var(--muted2);margin-top:3px;line-height:1.35}.signs-section{margin-top:2.5rem}.signs-sub{color:var(--muted2);font-size:var(--text-base);margin-bottom:14px}.signs-strip{display:flex;flex-wrap:wrap;gap:10px}.sign-card{background:#fff;border:var(--card-border);border-radius:var(--radius-sm);box-shadow:var(--card-shadow);padding:10px;margin:0}.sign-card img{display:block;width:96px;height:96px;object-fit:contain}.road-divider{height:4px;margin:40px 0 24px;border-radius:2px;background:repeating-linear-gradient(90deg,var(--muted) 0 34px,transparent 34px 62px);opacity:.25}