:root{--bg: #f3f4fa;--surface: #ffffff;--surface-2: #f6f7fc;--text: #14161f;--muted: #5f667a;--border: #e3e6f0;--accent: #5b55f0;--accent-2: #a046f0;--accent-fg: #ffffff;--good: #12804a;--bad: #c62828;--shadow-sm: 0 1px 2px rgba(20, 22, 40, .05);--shadow: 0 1px 2px rgba(20, 22, 40, .04), 0 8px 24px -12px rgba(20, 22, 40, .12);--shadow-lg: 0 2px 4px rgba(20, 22, 40, .04), 0 18px 40px -16px rgba(40, 30, 120, .25);--radius: 18px;--sk: var(--accent);color-scheme:light}:root[data-theme=dark]{--bg: #0b0d14;--surface: #141722;--surface-2: #1a1e2c;--text: #eceef6;--muted: #98a0b6;--border: #252a3a;--accent: #8f8bff;--accent-2: #c98bff;--accent-fg: #0b0d14;--good: #4ade80;--bad: #f87171;--shadow-sm: none;--shadow: 0 1px 0 rgba(255, 255, 255, .03) inset;--shadow-lg: 0 20px 50px -20px rgba(0, 0, 0, .7);color-scheme:dark}[data-skill=focus]{--sk: #ef4444}[data-skill=memory]{--sk: #f59e0b}[data-skill=vocabulary]{--sk: #10b981}[data-skill=knowledge]{--sk: #3b82f6}[data-skill=math]{--sk: #6366f1}[data-skill=coordination]{--sk: #ec4899}[data-skill=reasoning]{--sk: #8b5cf6}[data-skill=problem]{--sk: #f97316}[data-skill=comprehension]{--sk: #14b8a6}[data-skill=speech]{--sk: #06b6d4}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(900px 420px at 12% -8%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 70%),radial-gradient(800px 420px at 100% 0%,color-mix(in srgb,var(--accent-2) 10%,transparent),transparent 70%),var(--bg);background-attachment:fixed;font:16px/1.55 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;transition:background-color .25s,color .25s}h1{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.1rem);line-height:1.15;margin:.2em 0 .4em;letter-spacing:-.025em;font-weight:750}h2{font-size:1.1rem;margin:0 0 .5em;letter-spacing:-.01em}p{margin:0 0 .8em}a{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:.85rem}.good{color:var(--good)}.bad{color:var(--bad)}kbd{font:600 .72rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:6px;padding:1px 7px;flex:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.top{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.top-in{max-width:1040px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:9px;font-weight:750;letter-spacing:-.02em;color:var(--text);text-decoration:none;white-space:nowrap;font-size:1.05rem}.brand-mark{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:1.05rem;background:linear-gradient(135deg,#5b55f0,#a046f0);box-shadow:0 6px 14px -6px #5b55f0}nav{display:flex;gap:2px;margin:0 auto;padding:4px;border-radius:14px;background:color-mix(in srgb,var(--surface) 75%,transparent);border:1px solid var(--border)}nav a{display:flex;align-items:center;gap:7px;padding:7px 14px;border-radius:10px;color:var(--muted);text-decoration:none;font-weight:600;font-size:.92rem;transition:color .15s,background .15s}nav a svg{width:17px;height:17px;flex:none}nav a:hover{color:var(--text)}nav a.on{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm),0 0 0 1px var(--border)}.icon-btn{width:38px;height:38px;display:grid;place-items:center;cursor:pointer;color:var(--muted);background:color-mix(in srgb,var(--surface) 75%,transparent);border:1px solid var(--border);border-radius:12px;transition:color .15s,transform .15s}.icon-btn:hover{color:var(--text);transform:rotate(12deg)}.icon-btn svg{width:18px;height:18px}main{max-width:1040px;margin:0 auto;padding:28px 20px 72px}.page{animation:rise .28s ease-out}.narrow{max-width:760px;margin:0 auto}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.section{margin:34px 0 12px;display:flex;align-items:baseline;gap:10px}.section .muted{font-weight:400}.foot{margin-top:18px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.stack{display:flex;flex-direction:column;gap:12px;align-items:center}.stack.left{align-items:flex-start}.center{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.center .row{justify-content:center;margin-top:12px}.btn{font:inherit;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);transition:transform .12s,box-shadow .15s,border-color .15s,filter .15s}.btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 60%,var(--border));transform:translateY(-1px)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{border-color:transparent;color:#fff;background:linear-gradient(135deg,#5b55f0,#9a48f0);box-shadow:0 8px 20px -8px #5b55f0}.btn.primary:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 12px 24px -8px #5b55f0}.btn.danger{background:var(--bad);border-color:transparent;color:#fff}.btn.lg{padding:13px 30px;font-size:1.05rem;border-radius:14px;margin-top:10px}.chip{display:inline-flex;align-items:center;font-size:.74rem;font-weight:650;padding:3px 10px;border-radius:99px;white-space:nowrap;background:color-mix(in srgb,var(--sk) 13%,transparent);color:color-mix(in srgb,var(--sk) 72%,var(--text))}.btnchip{font-family:inherit;cursor:pointer;padding:7px 14px;font-size:.86rem;background:var(--surface);border:1px solid var(--border);color:var(--muted);transition:all .15s}.btnchip:hover{color:var(--text);border-color:color-mix(in srgb,var(--sk) 50%,var(--border))}.btnchip.on{background:var(--sk);border-color:transparent;color:#fff;box-shadow:0 6px 14px -8px var(--sk)}.filters{display:flex;gap:8px;margin:16px 0 20px;flex-wrap:wrap}.input{font:inherit;padding:12px 16px;border-radius:14px;border:1.5px solid var(--border);background:var(--surface-2);color:var(--text);transition:border-color .15s,box-shadow .15s}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}.input.big{font-size:1.7rem;font-weight:650;text-align:center;width:min(300px,80vw);letter-spacing:.08em;font-variant-numeric:tabular-nums}.meter{width:100%;height:6px;background:color-mix(in srgb,var(--border) 80%,transparent);border-radius:99px;overflow:hidden;margin-bottom:14px}.meter>div{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:99px;transition:width .3s ease}.hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:clamp(22px,4vw,36px);border-radius:26px;color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed 55%,#b03fe0);box-shadow:var(--shadow-lg)}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;background:#ffffff17;pointer-events:none}.hero:before{width:320px;height:320px;right:-90px;top:-150px}.hero:after{width:220px;height:220px;right:120px;bottom:-150px}.hero>*{position:relative}.hero h1{margin:2px 0 8px}.hero p{color:#ffffffdb;max-width:46ch}.hero-date{font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#ffffffb8!important;margin:0}.hero .row{margin-top:16px}.hero-btn{background:#fff;color:#4f46e5;border-color:transparent;padding:12px 24px;font-size:1.02rem;border-radius:14px;box-shadow:0 10px 24px -10px #00000080}.hero-pill{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:99px;font-weight:600;font-size:.92rem;background:#ffffff29;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hero-ring{flex:none}.hero-ring circle{transition:stroke-dashoffset .6s ease}.list{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.ex{display:flex;flex-direction:column;gap:4px;padding:18px;text-decoration:none;color:inherit;position:relative;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s}.ex:after{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--sk);opacity:0;transition:opacity .18s}.ex:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--sk) 45%,var(--border));box-shadow:0 16px 32px -18px color-mix(in srgb,var(--sk) 70%,transparent),var(--shadow)}.ex:hover:after{opacity:1}.ex-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.ex-icon{font-size:1.55rem;width:50px;height:50px;display:grid;place-items:center;border-radius:15px;flex:none;background:color-mix(in srgb,var(--sk) 15%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sk) 22%,transparent)}.ex-name{font-weight:700;font-size:1.04rem;letter-spacing:-.01em}.ex-blurb{color:var(--muted);font-size:.88rem;flex:1}.ex-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px}.go{color:color-mix(in srgb,var(--sk) 72%,var(--text));font-weight:650;font-size:.88rem;transition:transform .18s;white-space:nowrap}.ex:hover .go{transform:translate(3px)}.badge{font-size:.78rem;font-weight:600;color:var(--muted);padding:3px 9px;border-radius:99px;background:var(--surface-2);border:1px solid var(--border);white-space:nowrap}.badge.done{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent);border-color:color-mix(in srgb,var(--good) 30%,transparent)}.ex.done{border-color:color-mix(in srgb,var(--good) 28%,var(--border))}.runner{max-width:760px;margin:0 auto}.runner-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.back{display:inline-flex;align-items:center;gap:6px;padding:7px 13px 7px 10px;border-radius:99px;text-decoration:none;color:var(--muted);font-weight:600;font-size:.88rem;background:var(--surface);border:1px solid var(--border)}.back:hover{color:var(--text)}.stage{min-height:440px;padding:clamp(20px,4vw,36px);border-radius:24px;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--shadow-lg)}.stage>*{animation:rise .25s ease-out}.hero-icon{font-size:2.6rem;width:92px;height:92px;display:grid;place-items:center;border-radius:28px;margin-bottom:8px;background:color-mix(in srgb,var(--sk) 15%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sk) 25%,transparent),0 18px 36px -18px var(--sk)}.how{max-width:50ch;font-size:1.05rem;color:color-mix(in srgb,var(--text) 85%,var(--muted))}.prompt{font-size:1.3rem;font-weight:650;line-height:1.4;letter-spacing:-.01em;margin:6px 0 18px;white-space:pre-wrap}.prompt.big{font-size:clamp(1.8rem,6vw,2.4rem);font-weight:750;text-align:center;margin:16px 0 24px}.options{display:grid;gap:10px;width:100%}.options.grid4{grid-template-columns:repeat(2,1fr);max-width:440px}.option{font:inherit;text-align:left;cursor:pointer;display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:14px;border:1.5px solid var(--border);background:var(--surface);color:var(--text);transition:transform .12s,border-color .15s,background .15s}.option:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface));transform:translateY(-1px)}.option:active:not(:disabled){transform:scale(.99)}.option:disabled{cursor:default}.option.right{border-color:var(--good);background:color-mix(in srgb,var(--good) 11%,var(--surface))}.option.wrong{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,var(--surface))}.after{margin-top:18px;display:flex;justify-content:space-between;gap:14px;align-items:flex-start;animation:rise .2s ease-out}.after p{margin:8px 0 0;font-weight:600}.after p .muted{font-weight:400}.after .btn{flex:none}.ring-arc{animation:ring .9s cubic-bezier(.2,.8,.2,1) both}@keyframes ring{0%{stroke-dashoffset:var(--c)}}.stroop-word{font-size:clamp(2.8rem,11vw,4.6rem);font-weight:850;letter-spacing:.03em;margin:26px 0 32px;padding:0 12px 4px;border-bottom:4px solid transparent;border-radius:4px}.stroop-word.ok{border-color:var(--good)}.stroop-word.no{border-color:var(--bad)}.digit{font-size:clamp(4rem,16vw,6rem);font-weight:750;height:1.4em;line-height:1.4;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.digit.small{font-size:clamp(2rem,8vw,2.8rem);margin:14px 0}.arena{position:relative;width:100%;height:min(420px,56vh);border-radius:18px;overflow:hidden;background:radial-gradient(circle,color-mix(in srgb,var(--muted) 30%,transparent) 1px,transparent 1.5px) 0 0 / 22px 22px,var(--surface-2);border:1px solid var(--border);touch-action:manipulation;-webkit-user-select:none;user-select:none;cursor:crosshair}.target{position:absolute;width:58px;height:58px;border-radius:50%;transform:translate(-50%,-50%);border:0;padding:0;cursor:pointer;background:radial-gradient(circle,#fff 0,#fff 17%,#ec4899 18%,#ec4899 45%,#fff 46%,#fff 62%,#ec4899 63%);box-shadow:0 8px 20px -6px #ec4899;animation:pop .14s cubic-bezier(.3,1.5,.6,1)}@keyframes pop{0%{transform:translate(-50%,-50%) scale(.3)}}.passage{font-size:1.1rem;line-height:1.8;max-width:66ch}.passage.read{font-size:clamp(1.15rem,3.5vw,1.35rem);padding:20px 22px;background:var(--surface-2);border:1px solid var(--border);border-radius:16px}.transcript{width:100%;min-height:3.4em;padding:14px 16px;border:1px dashed var(--border);border-radius:14px;background:var(--surface-2)}.rec-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--bad);margin-right:6px;box-shadow:0 0 0 0 var(--bad);animation:blink 1.2s infinite}@keyframes blink{50%{opacity:.3}}.pulse{font-size:2.6rem;width:96px;height:96px;display:grid;place-items:center;border-radius:50%;margin:18px 0;opacity:.55;background:color-mix(in srgb,var(--sk) 14%,transparent)}.pulse.on{opacity:1;animation:throb 1.2s infinite}@keyframes throb{50%{transform:scale(1.1);box-shadow:0 0 0 14px color-mix(in srgb,var(--sk) 10%,transparent)}}.stat{text-align:center;padding:14px 16px;border-radius:16px;background:var(--surface-2);border:1px solid var(--border)}.stat.card{background:var(--surface);text-align:left;padding:18px 20px}.stat-value{font-size:1.7rem;font-weight:750;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.2}.stat-label{font-size:.82rem;color:var(--muted);margin-top:2px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;width:100%}.stats.wide{margin-top:14px}.days{display:grid;grid-template-columns:repeat(14,1fr);gap:clamp(3px,1vw,8px)}.day{text-align:center;min-width:0}.day-box{aspect-ratio:1;max-width:46px;margin:0 auto 4px;border-radius:28%;display:grid;place-items:center;font-size:.78rem;font-weight:700;background:var(--surface-2);border:1px solid var(--border);color:#fff}.day-box.l1{background:color-mix(in srgb,var(--accent) 45%,var(--surface));border-color:transparent}.day-box.l2{background:color-mix(in srgb,var(--accent) 72%,var(--surface));border-color:transparent}.day-box.l3{background:linear-gradient(135deg,#5b55f0,#a046f0);border-color:transparent;box-shadow:0 6px 14px -8px #5b55f0}.day.today .small{color:var(--text);font-weight:700}.skills{padding:6px 20px}.skill{display:grid;grid-template-columns:minmax(170px,1.1fr) 2fr 70px 120px;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--border)}.skill:last-child{border-bottom:0}.skill-name{font-weight:650;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.skill-name:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--sk);box-shadow:0 0 0 4px color-mix(in srgb,var(--sk) 18%,transparent)}.skill-name .small{font-weight:400;grid-column:2}.skill-bar{height:9px;border-radius:99px;background:color-mix(in srgb,var(--sk) 13%,var(--surface-2));overflow:hidden}.skill-bar>div{height:100%;background:var(--sk);border-radius:99px;transition:width .5s ease}.skill-level{font-weight:750;font-size:1.05rem;font-variant-numeric:tabular-nums;text-align:right}.skill-spark{display:flex;justify-content:flex-end}.recent{padding:6px 20px}.recent-row{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}.recent-row:last-child{border-bottom:0}.recent-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;flex:none;background:color-mix(in srgb,var(--sk) 14%,transparent)}.recent-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.recent-name .small{font-weight:400}.recent-score{font-weight:750;min-width:2.2em;text-align:right;font-variant-numeric:tabular-nums}@media (max-width: 680px){.top{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg)}.top-in{padding:10px 16px;justify-content:space-between}nav{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));margin:0;z-index:20;justify-content:space-around;padding:6px;border-radius:20px;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-lg)}nav a{flex:1;flex-direction:column;gap:2px;padding:7px 4px;font-size:.72rem;border-radius:14px}nav a svg{width:20px;height:20px}nav a.on{box-shadow:none;background:color-mix(in srgb,var(--accent) 12%,transparent)}main{padding:18px 16px 110px}.hero{flex-direction:column;align-items:flex-start;border-radius:22px}.hero-ring{position:absolute;right:18px;top:18px;width:76px;height:76px}.hero h1,.hero p{padding-right:88px}.days{grid-template-columns:repeat(7,1fr);row-gap:10px}.hero .row{width:100%}.hero-btn{flex:1}.list{grid-template-columns:1fr;gap:10px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.skill{grid-template-columns:1fr auto;gap:8px 12px}.skill-bar{grid-column:1 / -1;order:3}.skill-spark,.recent-row .when{display:none}.after{flex-direction:column}.after .btn{width:100%}.stage{min-height:60vh;border-radius:20px}.options.grid4{max-width:none}.day .small{font-size:.68rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
