:root,[data-theme=light]{--paper:#f4f7fb;--paper-raised:#ffffff;--grid-line:#e2eaf4;--ink:#1b1e2e;--ink-soft:#4a5068;--line:#1b1e2e;--shadow-ink:#1b1e2e;--ink-fixed:#1b1e2e;--stamp:#d42e20;--stamp-ink:#ffffff;--pen:#2448d8;--pen-ink:#ffffff;--marker:#ffe24a;--tape:#ffe24ab3;--wood:#f1d3a8;--mint:#2bb673;--lvl-a1:#ff9aa2;--lvl-a2:#ffb86b;--lvl-b1:#ffd84d;--lvl-b2:#8fe3a8;--lvl-c1:#7fc8ff;--lvl-c2:#b79cff;--shadow-pop:4px 4px 0 0 #1b1e2e;--shadow-lift:7px 7px 0 0 #1b1e2e;--shadow-press:1px 1px 0 0 #1b1e2e;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#121528;--paper-raised:#1b2040;--grid-line:#1f2549;--ink:#eef1fa;--ink-soft:#b3bad3;--line:#eef1fa;--shadow-ink:#05060d;--stamp:#ff6152;--stamp-ink:#121528;--pen:#7c95ff;--pen-ink:#121528;--marker:#e9c83a;--tape:#e9c83a99;--mint:#3dd68c;--shadow-pop:4px 4px 0 0 #05060d;--shadow-lift:7px 7px 0 0 #05060d;--shadow-press:1px 1px 0 0 #05060d;color-scheme:dark}}[data-theme=dark]{--paper:#121528;--paper-raised:#1b2040;--grid-line:#1f2549;--ink:#eef1fa;--ink-soft:#b3bad3;--line:#eef1fa;--shadow-ink:#05060d;--stamp:#ff6152;--stamp-ink:#121528;--pen:#7c95ff;--pen-ink:#121528;--marker:#e9c83a;--tape:#e9c83a99;--mint:#3dd68c;--shadow-pop:4px 4px 0 0 #05060d;--shadow-lift:7px 7px 0 0 #05060d;--shadow-press:1px 1px 0 0 #05060d;color-scheme:dark}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-sm:8px;--radius-md:16px;--radius-lg:28px;--radius-pill:999px;--stroke-thin:2px;--stroke-thick:3px;--font-display:"Bagel Fat One","Arial Rounded MT Bold",system-ui,sans-serif;--font-body:"Atkinson Hyperlegible",system-ui,-apple-system,sans-serif;--font-hand:"Gochi Hand","Comic Sans MS",cursive;--font-mono:"Martian Mono",ui-monospace,Menlo,monospace}.display-xl{font-size:72px;line-height:.95;letter-spacing:-.01em}.display-lg,.display-xl{font-family:var(--font-display);font-weight:400}.display-lg{font-size:48px;line-height:1}.display-md{font-family:var(--font-display);font-size:32px;line-height:1.05;font-weight:400}.title{font-family:var(--font-body);font-size:22px;line-height:28px;font-weight:700}.body{font-size:17px;line-height:27px}.body,.body-sm{font-family:var(--font-body);font-weight:400}.body-sm{font-size:15px;line-height:22px}.label{font-family:var(--font-body);font-size:13px;line-height:16px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.note{font-family:var(--font-hand);font-size:22px;line-height:26px;font-weight:400}.timer{font-size:28px;line-height:32px}.data,.timer{font-family:var(--font-mono);font-weight:500}.data{font-size:13px;line-height:18px}:root{--ease-boing:cubic-bezier(.34,1.56,.64,1);--ease-out:cubic-bezier(.22,1,.36,1);--dur-fast:140ms;--dur-base:320ms;--dur-slow:700ms}.ea-paper{background-color:var(--paper);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:var(--space-6) var(--space-6);color:var(--ink);font-family:var(--font-body)}.ea-sheet{background:var(--paper-raised);color:var(--ink);border:var(--stroke-thick) solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);padding:var(--space-6) var(--space-4)}@media (min-width:768px){.ea-sheet{padding:var(--space-8) var(--space-12)}}.ea-btn{--btn-bg:var(--paper-raised);--btn-fg:var(--ink);display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font:400 19px/1 var(--font-display);letter-spacing:.01em;color:var(--btn-fg);background:var(--btn-bg);border:var(--stroke-thick) solid var(--line);border-radius:var(--radius-pill);box-shadow:var(--shadow-pop);cursor:pointer;text-decoration:none;max-width:100%;text-align:center;line-height:1.1;transition:transform var(--dur-fast) var(--ease-boing),box-shadow var(--dur-fast) var(--ease-boing)}.ea-btn:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-lift)}.ea-btn:hover .ea-btn__arrow{animation:ea-nudge .6s var(--ease-boing) infinite}.ea-btn:active{transform:translate(3px,3px) scale(1.03,.94);box-shadow:var(--shadow-press)}.ea-btn:focus-visible{outline:3px solid var(--pen);outline-offset:4px}.ea-btn--stamp{--btn-bg:var(--stamp);--btn-fg:var(--stamp-ink)}.ea-btn--pen{--btn-bg:var(--pen);--btn-fg:var(--pen-ink)}.ea-btn--lg{padding:var(--space-4) var(--space-8);font-size:24px}.ea-btn[disabled]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:var(--shadow-press)}.ea-btn__arrow{display:inline-block}@keyframes ea-nudge{0%,to{transform:translateX(0)}50%{transform:translateX(5px)}}.ea-card{position:relative;padding:var(--space-6);background:var(--paper-raised);color:var(--ink);border:var(--stroke-thick) solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-pop)}.ea-card--taped:before{content:"";position:absolute;top:-14px;left:50%;width:96px;height:26px;translate:-50% 0;rotate:-4deg;background:var(--tape)}.ea-card--link{transition:transform var(--dur-base) var(--ease-boing),box-shadow var(--dur-base) var(--ease-boing)}.ea-card--link:hover{transform:translate(-3px,-3px) rotate(-.6deg);box-shadow:var(--shadow-lift)}.ea-level{display:inline-grid;place-items:center;width:56px;aspect-ratio:1;font:400 22px/1 var(--font-display);color:var(--ink-fixed);background:var(--lvl,var(--lvl-b1));border:var(--stroke-thick) solid var(--line);border-radius:var(--radius-pill);box-shadow:var(--shadow-pop)}.ea-level[data-level=a1]{--lvl:var(--lvl-a1)}.ea-level[data-level=a2]{--lvl:var(--lvl-a2)}.ea-level[data-level=b1]{--lvl:var(--lvl-b1)}.ea-level[data-level=b2]{--lvl:var(--lvl-b2)}.ea-level[data-level=c1]{--lvl:var(--lvl-c1)}.ea-level[data-level=c2]{--lvl:var(--lvl-c2)}.ea-level--sm{width:36px;font-size:15px;border-width:var(--stroke-thin);box-shadow:none}.ea-level:hover{animation:ea-wiggle .5s var(--ease-out)}@keyframes ea-wiggle{0%,to{rotate:0deg}25%{rotate:-10deg}60%{rotate:7deg}}.ea-hl{background-image:linear-gradient(transparent 52%,var(--marker) 52%,var(--marker) 92%,transparent 92%);background-repeat:no-repeat;background-size:100% 100%;padding-inline:.08em;animation:ea-swipe var(--dur-slow) var(--ease-out) both;animation-delay:var(--hl-delay,.2s)}.ea-hl--on-dark,[data-theme=dark] .ea-hl{color:var(--ink-fixed);background-image:linear-gradient(var(--marker),var(--marker));border-radius:3px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ea-hl:not([data-theme=light] *){color:var(--ink-fixed);background-image:linear-gradient(var(--marker),var(--marker));border-radius:3px}}@keyframes ea-swipe{0%{background-size:0 100%}to{background-size:100% 100%}}.ea-stamp{display:inline-block;padding:var(--space-2) var(--space-4);font:400 34px/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--stamp);border:4px solid var(--stamp);border-radius:var(--radius-sm);outline:2px solid var(--stamp);outline-offset:3px;rotate:-8deg;animation:ea-thunk .52s var(--ease-boing) both;animation-delay:var(--stamp-delay,.3s)}@keyframes ea-thunk{0%{opacity:0;transform:scale(2.4) rotate(-14deg)}55%{opacity:1;transform:scale(.9) rotate(0deg)}to{opacity:.94;transform:scale(1) rotate(0deg)}}.ea-option{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--paper-raised);color:var(--ink);border:var(--stroke-thick) solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);font:400 17px/1.4 var(--font-body);cursor:pointer;transition:transform var(--dur-fast) var(--ease-boing),box-shadow var(--dur-fast) var(--ease-boing),background-color var(--dur-fast)}.ea-option input{position:absolute;opacity:0;pointer-events:none}.ea-option__key{flex:none;display:grid;place-items:center;width:36px;aspect-ratio:1;font:400 17px/1 var(--font-display);border:var(--stroke-thin) solid var(--line);border-radius:var(--radius-pill);background:var(--paper);color:var(--ink)}.ea-option:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-lift)}.ea-option:has(input:focus-visible){outline:3px solid var(--pen);outline-offset:4px}.ea-option:has(input:checked){background:var(--marker);color:var(--ink-fixed)}.ea-option:has(input:checked) .ea-option__key{background:var(--ink-fixed);color:var(--marker);border-color:var(--ink-fixed)}.ea-option[data-state=correct]{background:var(--mint);color:var(--ink-fixed);animation:ea-pop .42s var(--ease-boing)}.ea-option[data-state=correct] .ea-option__key{background:var(--ink-fixed);color:var(--mint);border-color:var(--ink-fixed)}.ea-option[data-state=wrong]{border-color:var(--stamp);animation:ea-shake .38s var(--ease-out)}@keyframes ea-pop{40%{transform:scale(1.04)}}@keyframes ea-shake{20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}.ea-progress{--value:0.4;position:relative;height:28px;border-bottom:var(--stroke-thin) dashed var(--grid-line)}.ea-progress__pencil{position:absolute;inset-block:2px;left:0;width:calc(var(--value) * (100% - 30px) + 30px);min-width:30px;display:flex;transition:width var(--dur-slow) var(--ease-boing)}.ea-progress__pencil:before{content:"";flex:none;width:14px;background:var(--lvl-a1);border:var(--stroke-thin) solid var(--line);border-right:0;border-radius:6px 0 0 6px}.ea-progress__body{flex:1 1;background:repeating-linear-gradient(180deg,var(--marker) 0 7px,var(--lvl-b1) 7px 8px);border-block:var(--stroke-thin) solid var(--line);border-left:var(--stroke-thin) solid var(--line)}.ea-progress__pencil:after{content:"";flex:none;width:16px;background:linear-gradient(90deg,var(--wood) 0 55%,var(--ink-fixed) 55%);-webkit-clip-path:polygon(0 0,100% 50%,0 100%);clip-path:polygon(0 0,100% 50%,0 100%)}.ea-progress__label{font:500 13px/18px var(--font-mono);color:var(--ink-soft);margin-top:var(--space-2)}.ea-ticket{--notch:12px;display:grid;grid-template-columns:7.5rem 1fr;background:var(--paper-raised);color:var(--ink);border:var(--stroke-thick) solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);overflow:hidden}.ea-ticket__date{display:grid;place-content:center;text-align:center;padding:var(--space-4) var(--space-6);background:var(--marker);color:var(--ink-fixed);border-right:var(--stroke-thick) dashed var(--line);font:400 32px/1 var(--font-display)}.ea-ticket__date small{display:block;font:700 13px/16px var(--font-body);letter-spacing:.06em;text-transform:uppercase;margin-top:var(--space-1)}.ea-ticket__body{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-4) var(--space-6);min-width:0}@media (max-width:480px){.ea-ticket{grid-template-columns:1fr}.ea-ticket__date{display:flex;align-items:baseline;justify-content:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-right:0;border-bottom:var(--stroke-thick) dashed var(--line);font-size:26px}.ea-ticket__date small{margin-top:0}.ea-ticket__body{padding:var(--space-4)}}.ea-ticket__meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font:400 15px/22px var(--font-body);color:var(--ink-soft)}.ea-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);font:700 13px/16px var(--font-body);letter-spacing:.06em;text-transform:uppercase;border:var(--stroke-thin) solid var(--line);border-radius:var(--radius-pill);background:var(--paper)}.ea-chip--ok{background:var(--mint)}.ea-chip--ok,.ea-chip--warn{color:var(--ink-fixed);border-color:var(--ink-fixed)}.ea-chip--warn{background:var(--marker)}.ea-chip__dot{width:8px;aspect-ratio:1;border-radius:50%;background:currentColor;animation:ea-blink 1.4s steps(2) infinite}@keyframes ea-blink{50%{opacity:.2}}.ea-field{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.ea-field__label{font:700 15px/22px var(--font-body);color:var(--ink)}.ea-field__hint{font:400 20px/24px var(--font-hand);color:var(--pen)}.ea-input{width:100%;box-sizing:border-box;padding:var(--space-3) var(--space-4);font:400 17px/1.4 var(--font-body);color:var(--ink);background:var(--paper-raised);border:var(--stroke-thick) solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-press);transition:box-shadow var(--dur-fast) var(--ease-boing),transform var(--dur-fast) var(--ease-boing)}.ea-input::placeholder{color:var(--ink-soft)}.ea-input:focus{outline:3px solid var(--pen);outline-offset:3px;box-shadow:var(--shadow-pop);transform:translate(-1px,-1px)}.ea-input[aria-invalid=true]{border-color:var(--stamp)}.ea-field__error{font:700 15px/22px var(--font-body);color:var(--stamp)}.ea-note{position:relative;display:inline-block;max-width:260px;padding:var(--space-4) var(--space-6) var(--space-6);font:400 22px/26px var(--font-hand);color:var(--ink-fixed);background:var(--marker);rotate:2deg;box-shadow:var(--shadow-pop);-webkit-clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%);clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%)}.ea-note:after{content:"";position:absolute;right:0;bottom:0;width:22px;height:22px;background:linear-gradient(135deg,var(--lvl-b1) 50%,transparent 50%);filter:brightness(.85)}.ea-mascot{width:140px;overflow:visible;animation:ea-bob 2.6s ease-in-out infinite}.ea-mascot .stroke{stroke:var(--line);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.ea-mascot .f-marker{fill:var(--marker)}.ea-mascot .f-eraser{fill:var(--lvl-a1)}.ea-mascot .f-wood{fill:var(--wood)}.ea-mascot .f-ink{fill:var(--line)}.ea-mascot .f-shade{fill:var(--shadow-ink);opacity:.18}.ea-mascot .f-cheek{fill:var(--lvl-a1)}.ea-mascot .eye{transform-box:fill-box;transform-origin:center;animation:ea-blinkeye 4.2s infinite}@keyframes ea-bob{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(3deg)}}@keyframes ea-blinkeye{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@media (prefers-reduced-motion:reduce){.ea-btn:hover .ea-btn__arrow,.ea-chip__dot,.ea-hl,.ea-level:hover,.ea-mascot,.ea-mascot .eye,.ea-option,.ea-stamp{animation:none!important}.ea-btn,.ea-card--link,.ea-input,.ea-option,.ea-progress__pencil{transition:none}}.ea-checks{display:grid;grid-gap:var(--space-1);gap:var(--space-1);margin:0;padding:var(--space-3) var(--space-4);border:var(--stroke-thin) dashed var(--line);border-radius:var(--radius-md);background:var(--paper)}.ea-checks>legend{padding:0 var(--space-2);font:700 13px/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.ea-check{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);align-items:center;min-height:44px;padding:var(--space-1) 0;font:400 15px/21px var(--font-body);color:var(--ink);cursor:pointer}.ea-check input{position:absolute;opacity:0;width:28px;height:28px;margin:0;cursor:pointer}.ea-check__box{display:grid;place-items:center;width:28px;height:28px;background:var(--paper-raised);border:var(--stroke-thick) solid var(--line);border-radius:8px;box-shadow:2px 2px 0 var(--shadow-ink);transition:transform var(--dur-fast) var(--ease-boing),background var(--dur-fast)}.ea-check__box svg{width:18px;height:18px;stroke:var(--ink-fixed);stroke-width:3.5;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24}.ea-check:hover .ea-check__box{transform:rotate(-4deg)}.ea-check input:checked+.ea-check__box{background:var(--marker);transform:rotate(-4deg)}.ea-check input:checked+.ea-check__box svg{stroke-dashoffset:0;transition:stroke-dashoffset .22s var(--ease-boing)}.ea-check input:focus-visible+.ea-check__box{outline:3px solid var(--pen);outline-offset:3px}.ea-check a{color:var(--pen)}@media (prefers-reduced-motion:reduce){.ea-check input:checked+.ea-check__box svg,.ea-check__box{transition:none}}:root{--font-display:var(--nf-display),"Arial Rounded MT Bold",system-ui,sans-serif;--font-body:var(--nf-body),system-ui,-apple-system,sans-serif;--font-hand:var(--nf-hand),"Comic Sans MS",cursive;--font-mono:var(--nf-mono),ui-monospace,Menlo,monospace;--gutter:max(16px,env(safe-area-inset-left,0px));--gutter-r:max(16px,env(safe-area-inset-right,0px))}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;font-size:17px;line-height:27px;overflow-x:clip;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}img,svg,video{max-width:100%;height:auto}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}a{color:var(--pen);text-underline-offset:3px}:focus-visible{outline:3px solid var(--pen);outline-offset:3px}.wrap{width:100%;max-width:1120px;margin-inline:auto;padding-left:var(--gutter);padding-right:var(--gutter-r)}.display-xl{font-size:clamp(44px,6vw + 20px,72px)}.display-lg{font-size:clamp(34px,3.5vw + 20px,48px)}.display-md{font-size:clamp(26px,1.5vw + 20px,32px)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}cite,em,i{font-family:var(--nf-body-italic),var(--font-body)}