/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-sm:.875rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-4xl:2.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-body);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--color-paper:lab(93.3857% -.518471 27.7591);--color-paper-raised:lab(97.8747% -.618547 13.5289);--color-ink:lab(9.12431% .942014 -19.223);--color-muted:lab(33.6512% -1.49629 -17.896);--color-rule:lab(74.7551% -.464022 21.747);--color-rule-strong:lab(46.3377% -1.85618 -23.2409);--color-accent:lab(58.722% 61.0625 49.7767);--color-accent-dark:lab(33.5294% 49.2979 44.2818);--color-accent-ink:lab(4.96853% 11.5192 5.61754);--color-focus:lab(62.7954% -43.6542 -36.4926);--color-highlight:lab(84.9146% -13.9951 77.9391);--color-teal-soft:lab(86.7016% -24.0213 -18.8326);--color-peach-soft:lab(88.813% 26.3717 19.1268);--color-success:lab(57.725% -42.1175 35.2261);--color-success-soft:lab(93.8177% -16.7671 13.1424);--color-danger:lab(49.3183% 62.5986 44.9578);--color-danger-soft:lab(92.5551% 16.5331 10.1824);--color-footer-muted:lab(74.4875% -3.40498 -8.4708);--font-display:var(--font-geist-sans);--font-body:var(--font-geist-sans);--font-mono:var(--font-geist-mono);--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:5rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:clamp(1.75rem, 4vw, 2.5rem);--text-4xl:clamp(2.5rem, 5vw, 4.25rem);--text-display:clamp(3.25rem, 8vw, 6.5rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.12s;--dur-base:.22s;--rule-thin:1px;--rule-heavy:2px;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-pill:999px;--shadow-small:4px 4px 0 var(--color-ink);--shadow-hard:6px 6px 0 var(--color-ink);--background:var(--color-paper);--foreground:var(--color-ink)}*{box-sizing:border-box}html,body{scroll-behavior:smooth;margin:0;overflow-x:clip}body{background-color:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);background-image:linear-gradient(var(--color-rule) var(--rule-thin), transparent var(--rule-thin));background-size:100% 32px}button,a{font:inherit}button{color:inherit}:is(button:focus-visible,a:focus-visible){outline:3px solid var(--color-focus);outline-offset:3px}.app-shell{min-height:100dvh}.topbar{z-index:10;width:100%;padding:var(--space-sm) max(var(--space-lg), calc((100% - 1120px) / 2));border-bottom:var(--rule-heavy) solid var(--color-ink);background:var(--color-ink);color:var(--color-paper);justify-content:space-between;align-items:center;margin:0;display:flex;position:sticky;top:0}.brand{color:var(--color-paper);font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.05em;white-space:nowrap;font-weight:900;text-decoration:none}.brand span{color:var(--color-highlight)}.nav-note{color:var(--color-footer-muted);font-size:var(--text-sm);font-weight:700}.topbar .icon-button{border-color:var(--color-paper);color:var(--color-paper);background:0 0}.topbar .text-button{color:var(--color-paper)}.top-actions{align-items:center;gap:var(--space-sm);display:flex}.icon-button,.text-button,.primary-button,.secondary-button{cursor:pointer;white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);border:0}.icon-button{border:var(--rule-heavy) solid var(--color-ink);background:var(--color-paper);border-radius:50%;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.icon-button:hover,.primary-button:hover,.secondary-button:hover{transform:translateY(-2px)}.icon-button:active,.primary-button:active,.secondary-button:active{transform:translateY(1px)}.text-button{padding:var(--space-sm) var(--space-md);text-underline-offset:4px;background:0 0;font-weight:750;text-decoration:underline}.primary-button,.secondary-button{min-height:48px;padding:0 var(--space-xl);border:var(--rule-heavy) solid var(--color-ink);border-radius:var(--radius-pill);box-shadow:var(--shadow-hard);font-weight:850}.primary-button{background:var(--color-accent);color:var(--color-accent-ink)}.secondary-button{background:var(--color-paper-raised)}.hero{gap:var(--space-2xl);width:min(1120px,100% - 32px);margin:var(--space-3xl) auto;padding-bottom:var(--space-xl);grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;display:grid}.hero-copy{min-width:0}.intro-tag,.level-chip{width:max-content;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);background:var(--color-highlight);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:800;display:inline-flex}.hero h1{margin:var(--space-lg) 0;font-family:var(--font-display);font-size:var(--text-display);letter-spacing:-.055em;overflow-wrap:anywhere;line-height:.96}.hero h1 span{color:var(--color-accent-dark);text-underline-offset:.1em;text-decoration:underline;text-decoration-thickness:.08em}.hero-copy>p{max-width:620px;margin:0 0 var(--space-xl);color:var(--color-muted);font-size:var(--text-lg);line-height:1.75}.hero-board{border:var(--rule-heavy) solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-highlight);box-shadow:12px 12px 0 var(--color-accent);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:clip;transform:rotate(2deg)}.hero-board div{min-height:138px;padding:var(--space-md);text-align:center;border-right:var(--rule-thin) solid var(--color-rule);place-content:center;display:grid}.hero-board div:last-of-type{border:0}.hero-board strong{font-family:var(--font-display);font-size:var(--text-4xl);line-height:1}.hero-board span{margin-top:var(--space-sm);color:var(--color-muted);font-size:var(--text-sm);font-weight:700}.hero-board p{padding:var(--space-md);background:var(--color-ink);color:var(--color-paper);font-family:var(--font-mono);text-align:center;grid-column:1/-1;margin:0}.how-it-works{gap:var(--space-2xl);padding:var(--space-2xl) max(16px, calc((100% - 1120px) / 2));background:var(--color-ink);color:var(--color-paper);border-block:var(--rule-heavy) solid var(--color-ink);grid-template-columns:.65fr 1.35fr;display:grid}.how-it-works p{color:var(--color-footer-muted)}.how-it-works h2,.guide-section h2,.level-section h2,.source-note h2{font-family:var(--font-display);font-size:var(--text-2xl);margin:0}.how-it-works p,.section-head p,.source-note p{color:var(--color-muted);margin:0;line-height:1.75}.guide-section{width:min(1120px,100% - 32px);margin:var(--space-3xl) auto}.guide-list{gap:var(--space-sm);display:grid}.guide-doc{border:var(--rule-heavy) solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-paper-raised);box-shadow:var(--shadow-small);overflow:clip}.guide-doc summary{align-items:center;gap:var(--space-md);min-height:72px;padding:var(--space-md) var(--space-lg);cursor:pointer;grid-template-columns:auto auto minmax(0,1fr);list-style:none;display:grid}.guide-doc summary::-webkit-details-marker{display:none}.guide-doc summary>span{color:var(--color-accent-dark);font-family:var(--font-mono);font-weight:900}.guide-doc summary>b{font-size:var(--text-lg)}.guide-doc summary>small{color:var(--color-muted)}.guide-doc summary:after{content:"+";font-size:var(--text-xl);grid-column:4;font-weight:900}.guide-doc[open] summary{background:var(--color-highlight)}.guide-doc[open] summary:after{content:"−"}.guide-body{padding:var(--space-xl);border-top:var(--rule-heavy) solid var(--color-ink)}.guide-intro{margin:0 0 var(--space-lg);color:var(--color-muted);line-height:1.7}.guide-body article{gap:var(--space-sm) var(--space-xl);padding:var(--space-lg) 0;border-top:var(--rule-thin) solid var(--color-rule);grid-template-columns:minmax(0,.35fr) minmax(0,1fr);display:grid}.guide-body article h3,.guide-body article p{margin:0}.guide-body article h3{font-size:var(--text-lg);grid-row:1/span 3}.guide-body article>p,.guide-body article div p{color:var(--color-muted);line-height:1.65}.guide-body article div b{margin-bottom:var(--space-xs);display:block}.guide-body article a{width:fit-content;color:var(--color-accent-dark);font-size:var(--text-sm);font-weight:750}.guide-body>.primary-button{margin-top:var(--space-lg)}.level-section{width:min(1120px,100% - 32px);margin:var(--space-3xl) auto}.section-head{justify-content:space-between;align-items:end;gap:var(--space-lg);margin-bottom:var(--space-xl);display:flex}.section-head>strong{padding:var(--space-sm) var(--space-md);border:var(--rule-heavy) solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-highlight);white-space:nowrap}.level-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.level-card{align-items:center;gap:var(--space-lg);min-height:110px;padding:var(--space-lg);border:var(--rule-heavy) solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-paper-raised);text-align:left;cursor:pointer;box-shadow:var(--shadow-small);transition:transform var(--dur-base) var(--ease-out);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.level-card:nth-child(4n+2),.level-card:nth-child(4n+3){background:var(--color-teal-soft)}.level-card:nth-child(3n){transform:rotate(-.5deg)}.level-card:hover{transform:translate(-3px,-3px)rotate(.5deg)}.level-card.is-done{background:var(--color-success-soft)}.level-number{font-family:var(--font-mono);font-size:var(--text-2xl);color:var(--color-accent);font-weight:900}.level-copy{gap:var(--space-xs);min-width:0;display:grid}.level-copy strong{font-size:var(--text-lg)}.level-copy small{color:var(--color-muted);overflow-wrap:anywhere}.level-status{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-paper);font-size:var(--text-sm);font-weight:800}.source-note{width:min(1120px,100% - 32px);margin:var(--space-3xl) auto;padding:var(--space-xl);border:var(--rule-heavy) dashed var(--color-ink);border-radius:var(--radius-xl)}.source-note h2{margin-bottom:var(--space-sm)}footer{align-items:center;gap:var(--space-lg);padding:var(--space-xl) max(16px, calc((100% - 1120px) / 2));background:var(--color-ink);color:var(--color-paper);grid-template-columns:1fr auto auto;display:grid}footer p{color:var(--color-footer-muted);margin:0}footer .text-button{color:var(--color-paper)}.quiz-view{padding:var(--space-lg) 16px var(--space-3xl);background:var(--color-teal-soft)}.quiz-top{align-items:center;gap:var(--space-md);width:min(820px,100%);margin:0 auto var(--space-lg);grid-template-columns:auto 1fr auto;display:grid}.quiz-top>div{justify-content:center;align-items:center;gap:var(--space-md);display:flex}.quiz-card{width:min(820px,100%);padding:var(--space-xl);border:var(--rule-heavy) solid var(--color-ink);border-radius:var(--radius-xl);background:var(--color-paper-raised);box-shadow:var(--shadow-hard);margin:auto}.progress-line{border-radius:var(--radius-pill);background:var(--color-rule);height:10px;overflow:clip}.progress-line span{transform-origin:0;background:var(--color-accent);width:100%;height:100%;transition:transform var(--dur-base) var(--ease-out);display:block}.question-meta{justify-content:space-between;gap:var(--space-sm);margin:var(--space-lg) 0;color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-sm);display:flex}.quiz-card>h1{margin:0 0 var(--space-xl);font-family:var(--font-display);font-size:var(--text-2xl);overflow-wrap:anywhere;line-height:1.35}.choices{gap:var(--space-sm);display:grid}.choice{align-items:center;gap:var(--space-md);min-height:64px;padding:var(--space-md);border:var(--rule-heavy) solid var(--color-rule-strong);border-radius:var(--radius-md);background:var(--color-paper);text-align:left;cursor:pointer;grid-template-columns:auto 1fr;line-height:1.5;display:grid}.choice>span{background:var(--color-ink);width:34px;height:34px;color:var(--color-paper);font-family:var(--font-mono);border-radius:50%;place-items:center;font-weight:800;display:grid}.choice:hover:not(:disabled){border-color:var(--color-accent);transform:translate(3px)}.choice:disabled{cursor:default}.choice.is-correct{border-color:var(--color-success);background:var(--color-success-soft);opacity:1}.choice.is-wrong{border-color:var(--color-danger);background:var(--color-danger-soft);opacity:1}.choice.is-muted{opacity:.42}.lesson{margin-top:var(--space-xl);padding:var(--space-xl);border:var(--rule-heavy) solid var(--color-ink);border-radius:var(--radius-lg);animation:reveal var(--dur-base) var(--ease-out) both}.lesson.success{background:var(--color-success-soft)}.lesson.retry{background:var(--color-peach-soft)}.lesson-result{margin-bottom:var(--space-sm);color:var(--color-accent-dark);font-weight:900}.lesson h2{margin:0 0 var(--space-sm);font-family:var(--font-display);font-size:var(--text-xl)}.lesson .principle{margin:0 0 var(--space-lg);font-size:var(--text-lg);line-height:1.65}.lesson-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.lesson-grid>div{padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-paper-raised)}.lesson-grid p{margin:var(--space-xs) 0 0;color:var(--color-muted);line-height:1.6}.source-link{width:fit-content;margin:var(--space-lg) 0;color:var(--color-accent-dark);font-weight:750;display:block}.lesson .primary-button{width:100%}.result-view{padding:var(--space-xl);background:var(--color-teal-soft);place-items:center;display:grid;overflow:clip}.result-card{z-index:2;width:min(620px,100%);padding:var(--space-2xl);border:var(--rule-heavy) solid var(--color-ink);border-radius:var(--radius-xl);background:var(--color-paper-raised);box-shadow:12px 12px 0 var(--color-highlight);text-align:center;position:relative}.result-score{margin:var(--space-lg) 0;font-family:var(--font-display);font-size:var(--text-display);color:var(--color-accent);font-weight:900;line-height:1}.result-score small{font-size:var(--text-xl)}.result-card h1{margin:0 0 var(--space-md);font-size:var(--text-2xl)}.result-card p{color:var(--color-muted);line-height:1.7}.result-actions{gap:var(--space-sm);margin-top:var(--space-xl);display:grid}.confetti i{--x:calc((var(--i) * 37) % 100);z-index:1;top:-20px;left:calc(var(--x) * 1%);background:var(--color-accent);width:10px;height:18px;animation:fall 2.2s var(--ease-in) calc((var(--i) % 7) * 80ms) both;position:fixed}.confetti i:nth-child(3n){background:var(--color-highlight);transform:rotate(45deg)}.confetti i:nth-child(3n+1){background:var(--color-success);border-radius:50%}@keyframes reveal{0%{opacity:0;transform:translateY(12px)}}@keyframes fall{to{opacity:0;transform:translateY(105vh)rotate(540deg)}}@media (max-width:768px){.hero{margin-top:var(--space-2xl);grid-template-columns:1fr}.hero-board{transform:none}.how-it-works{gap:var(--space-md);grid-template-columns:1fr}.level-grid{grid-template-columns:1fr}.section-head{flex-direction:column;align-items:start}.guide-doc summary{grid-template-columns:auto minmax(0,1fr) auto}.guide-doc summary>small{grid-column:2}.guide-doc summary:after{grid-area:1/3/span 2}.guide-body article{grid-template-columns:1fr}.guide-body article h3{grid-row:auto}footer{text-align:center;grid-template-columns:1fr}.lesson-grid{grid-template-columns:1fr}}@media (max-width:414px){.topbar{padding-left:var(--space-md)}.topbar .text-button,.nav-note{display:none}.hero{width:min(100% - 24px,1120px)}.hero-board div{min-height:108px;padding:var(--space-sm)}.hero-board strong{font-size:var(--text-2xl)}.level-card{gap:var(--space-md);grid-template-columns:auto minmax(0,1fr)}.level-status{grid-column:2;width:fit-content}.quiz-card{padding:var(--space-lg)}.quiz-top>div{gap:var(--space-xs);justify-items:center;display:grid}.quiz-card>h1{font-size:var(--text-xl)}.choice{padding:var(--space-sm);font-size:var(--text-sm)}.lesson{padding:var(--space-lg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
