:root{--paper:#f3ead7;--paper-2:#efe4cc;--ink:#1c2430;--ink-soft:#5c6570;--line:#d4c7aa;--line-strong:#b7a888;--mark:#9c2f2f;--grid:#1c24300f;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#e7dcc4;font-family:"Source Serif 4",Georgia,serif;font-size:18px;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background-color:#e7dcc4;background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:28px 28px;margin:0}button,input{font:inherit}.page{width:min(42rem,100%);margin:0 auto;padding:2.5rem 1.25rem 4rem}.top h1{letter-spacing:-.03em;margin:.35rem 0 .85rem;font-family:Fraunces,Georgia,serif;font-size:clamp(1.85rem,4vw,2.6rem);font-weight:560;line-height:1.15}.eyebrow-row{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.72rem;font-weight:650}.lede{max-width:36rem;color:var(--ink-soft);margin:0}.stats{grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1.75rem 0 1.25rem;display:grid}.stats div{border-top:1px solid var(--line);padding-top:.55rem}.stats dt{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem}.stats dd{margin:.15rem 0 0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.35rem}.board{background:var(--paper);border:1px solid var(--line);padding:1.5rem 1.35rem 1.4rem}.board-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.72rem}.prompt-kicker{margin-top:1.5rem}.examples{margin:.65rem 0 0;padding:0;list-style:none}.examples li,.prompt{letter-spacing:-.02em;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(1.45rem,3.4vw,2rem)}.usual-sum{letter-spacing:0;color:var(--ink-soft);font-size:.55em;font-weight:450}.prompt .usual-sum{margin-top:.2rem;display:block}.examples li+li{margin-top:.35rem}.prompt{margin:.55rem 0 1.25rem}.blank,.answer{min-width:1.4ch;display:inline-block}.blank{color:var(--mark);border-bottom:2px solid var(--mark);letter-spacing:.08em;min-width:3ch}.answer{color:var(--mark)}.guess-form label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.4rem;font-size:.72rem;display:block}.guess-row{flex-wrap:wrap;gap:.5rem;display:flex}.guess-row input{border:1px solid var(--line-strong);background:var(--paper-2);min-width:0;color:var(--ink);flex:1;padding:.65rem .75rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.15rem}.guess-row input:focus,.guess-row button:focus-visible,.next:focus-visible,.feedback-toggle:focus-visible,.feedback-actions button:focus-visible,.feedback-form textarea:focus{outline:2px solid var(--mark);outline-offset:2px}.guess-row button,.next,.feedback-actions button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;white-space:nowrap;padding:.65rem 1.05rem;font-family:inherit;font-size:.95rem;font-weight:600}.guess-row button.ghost,.feedback-actions button.ghost{color:var(--ink);background:0 0}.guess-row button.ghost:disabled{cursor:default;opacity:.55}.developer-feedback{flex-direction:column;display:flex}.feedback-toggle{letter-spacing:.08em;text-transform:uppercase;color:var(--ink);cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;padding:0;font-family:inherit;font-size:.72rem;font-weight:650;text-decoration:underline}.feedback-form{border:1px solid var(--line);background:var(--paper);width:100%;margin-top:.75rem;padding:.9rem .95rem .85rem}.feedback-form label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.4rem;font-size:.72rem;display:block}.feedback-form textarea{resize:vertical;width:100%;min-height:5.5rem;font:inherit;border:1px solid var(--line-strong);background:var(--paper-2);color:var(--ink);padding:.55rem .65rem}.feedback-actions{gap:.5rem;margin-top:.55rem;display:flex}.feedback-sent{color:var(--ink-soft);margin:.45rem 0 0;font-size:.85rem}.feedback-error{color:var(--mark);margin:.45rem 0 0;font-size:.85rem}.next{margin-top:.15rem}.feedback,.hint{min-height:3rem;color:var(--ink-soft);margin:1rem 0 0}.hint-toast{background:var(--ink);color:var(--paper);margin:0 0 1.15rem;padding:.7rem .9rem .75rem;animation:.45s cubic-bezier(.2,1.25,.4,1) both hint-toast-in;position:relative;box-shadow:4px 4px #1c243029}.hint-toast:after{content:"";background:var(--ink);width:10px;height:10px;position:absolute;top:-5px;left:1.6rem;transform:rotate(45deg)}.hint-toast-label{letter-spacing:.16em;text-transform:uppercase;color:#f3ead799;margin:0 0 .3rem;font-size:.68rem;font-weight:650}.hint-toast-message{margin:0;font-size:1.02rem;line-height:1.4}.hint-toast-message+.hint-toast-message{margin-top:.5rem}.hint-toast-message.added{animation:.4s ease-out both hint-line-in}@keyframes hint-line-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.hint-toast-message strong{color:#e9b44c;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.2em;font-weight:600}@keyframes hint-toast-in{0%{opacity:0;transform:translateY(-12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.hint-digit{animation:.7s ease-out both hint-digit-settle;display:inline-block}@keyframes hint-digit-settle{0%{opacity:0;transform:translateY(-6px)scale(1.25)}45%{opacity:1;transform:translateY(0)scale(1.12)}to{opacity:1;transform:translateY(0)scale(1)}}.feedback.correct{color:var(--ink);animation:.5s ease-out both feedback-rise}.feedback.revealed{color:var(--mark)}@keyframes feedback-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.confetti-layer{pointer-events:none;z-index:60;width:100%;height:100%;position:fixed;inset:0}.answer.correct{animation:.65s cubic-bezier(.2,1.4,.4,1) both answer-pop}@keyframes answer-pop{0%{opacity:0;transform:scale(.4)rotate(-7deg)}55%{opacity:1;transform:scale(1.32)rotate(3deg)}to{opacity:1;transform:scale(1)rotate(0)}}.board.shake{animation:.45s ease-in-out board-shake}@keyframes board-shake{0%,to{transform:translate(0)}15%{transform:translate(-7px)}30%{transform:translate(6px)}45%{transform:translate(-4px)}60%{transform:translate(3px)}80%{transform:translate(-2px)}}.answer.revealed{animation:.9s ease-out both answer-ember}@keyframes answer-ember{0%{opacity:0;color:#f0a63c;text-shadow:0 0 14px #ff8c28f2,0 0 32px #be3c0a99;transform:translateY(5px)}to{opacity:1;color:var(--mark);text-shadow:none;transform:translateY(0)}}.burn{pointer-events:none;z-index:55;position:fixed}.burn-scorch{opacity:0;background:radial-gradient(70% 130% at 50% 100%,#ff92286b,#9c2f2f29 55%,#0000 78%);animation:1.4s ease-out forwards scorch-flash;position:absolute;inset:-.35rem -.5rem 0}@keyframes scorch-flash{0%{opacity:0}15%{opacity:1}to{opacity:0}}.burn-text{white-space:pre;align-items:center;padding-left:calc(.75rem + 1px);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.15rem;display:flex;position:absolute;inset:0}.burn-char{animation:1.15s ease-in forwards burn-char;display:inline-block}@keyframes burn-char{0%{color:var(--ink)}15%{color:#b8461e;text-shadow:0 0 6px #f08c28cc}40%{color:#ffcf8a;text-shadow:0 0 10px #ff9b2f,0 0 22px #ff7814bf;transform:translateY(-2px)scale(1.07)}70%{color:#ffe9c2;opacity:.85;text-shadow:0 0 14px #ff7a18,0 0 30px #b4280a99;filter:blur(1px);transform:translateY(-11px)rotate(-4deg)}to{color:#46180800;opacity:0;text-shadow:none;filter:blur(6px);transform:translateY(-32px)rotate(-9deg)scale(.9)}}.burn-flame{filter:blur(2.5px);opacity:0;transform-origin:50% 100%;background:radial-gradient(60% 70% at 50% 78%,#fff3c8 0%,#ffc043 26%,#f4803a 54%,#b03214 78%,#781e0a00 100%);border-radius:50% 50% 46% 46%/62% 62% 38% 38%;width:1.1rem;height:2.1rem;margin-left:-.55rem;animation:1.25s ease-out forwards flame-rise;position:absolute;bottom:.1rem}@keyframes flame-rise{0%{opacity:0;transform:translateY(6px)scaleX(.7)scaleY(.25)}18%{opacity:.95;transform:translateY(0) scaleX(1) scaleY(calc(var(--flame-scale) * .9))}45%{opacity:.9;transform:translateY(-9px) translateX(calc(var(--flame-drift) * .4)) scaleX(.88) scaleY(calc(var(--flame-scale) * 1.25))}75%{opacity:.5;transform:translateY(-21px) translateX(calc(var(--flame-drift) * .8)) scaleX(.68) scaleY(calc(var(--flame-scale) * .95))}to{opacity:0;transform:translateY(-36px) translateX(var(--flame-drift)) scaleX(.42) scaleY(.38)}}.burn-ember{opacity:0;background:#ffb347;border-radius:50%;animation:1.3s ease-out forwards ember-float;position:absolute;bottom:.35rem;box-shadow:0 0 6px #ff8c28e6}@keyframes ember-float{0%{opacity:0;transform:translate(0)scale(.6)}20%{opacity:1}to{opacity:0;transform:translate(var(--ember-drift), var(--ember-rise)) scale(.2)}}.status-banner{letter-spacing:.08em;text-transform:uppercase;margin:0 0 1.15rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.85rem}.status-banner.ok{color:#2f6b3a}.status-banner.fail{color:var(--mark)}.status-list{margin:0;padding:0;list-style:none}.status-list li{border-top:1px solid var(--line);align-items:flex-start;gap:.85rem;padding:.85rem 0;display:flex}.status-list li:last-child{border-bottom:1px solid var(--line)}.status-list code{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.92rem}.status-list p{color:var(--ink-soft);margin:.2rem 0 0;font-size:.95rem}.status-pill{text-align:center;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);flex:none;min-width:5.5rem;padding:.28rem .45rem;font-size:.72rem;font-weight:650}.status-pill.ok{color:#2f6b3a;background:#e4efe4;border-color:#9bb89a}.status-pill.fail{color:var(--mark);background:#f6e4e0;border-color:#d4a3a3}.status-home{color:var(--ink);margin-top:1.35rem;display:inline-block}@media (prefers-reduced-motion:reduce){.answer.correct,.answer.revealed,.board.shake,.feedback.correct,.hint-toast,.hint-toast-message.added,.hint-digit{animation:none}.burn{display:none}}
