:root{color:#1d252f;background:#f5f4ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{border:1px solid #b9c1bd;border-radius:6px;background:#fff;color:#1d252f;cursor:pointer}button:hover:not(:disabled){border-color:#2563eb}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh;padding:22px}.topbar{align-items:center;display:flex;gap:18px;justify-content:space-between;margin:0 auto 18px;max-width:1480px}.eyebrow{color:#6e5f32;font-size:.78rem;font-weight:700;letter-spacing:.08em;margin:0 0 2px;text-transform:uppercase}.eyebrow a{color:#1d4ed8;text-decoration:underline;text-underline-offset:2px}h1,h2,p{margin-top:0}h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,4rem);line-height:.95;margin-bottom:.65rem}.tagline{color:#4f5b6a;font-size:.98rem;line-height:1.4;margin-bottom:.55rem;max-width:560px}h2{font-size:.82rem;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.top-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.top-actions button,.challenge-control,.arxiv-link{min-height:38px;padding:8px 12px}.challenge-control{align-items:center;background:#fff;border:1px solid #b9c1bd;border-radius:6px;display:inline-flex;gap:8px}.challenge-control span{color:#53605b;font-size:.78rem;font-weight:800;text-transform:uppercase}.challenge-control select{background:transparent;border:0;color:#1d252f;cursor:pointer;font-weight:800}.challenge-control select:focus{outline:2px solid rgba(37,99,235,.28);outline-offset:2px}.arxiv-link{align-items:center;border:1px solid #2563eb;border-radius:6px;color:#1d4ed8;display:inline-flex;font-weight:700;text-decoration:none}.layout{display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(210px,260px);margin:0 auto;max-width:1180px}.game,.history{background:#ffffffc7;border:1px solid #d9d7ce;border-radius:8px}.history{align-self:start;max-height:calc(100vh - 130px);overflow:hidden;position:sticky;top:18px}.history h2{margin-bottom:0}.game{padding:18px}.status-strip{display:grid;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:10px}.status-strip div{background:#f3f7ff;border:1px solid #d9e6ff;border-radius:6px;min-width:0;padding:10px}.metric-label{color:#67706b;display:block;font-size:.72rem;font-weight:700;margin-bottom:2px;text-transform:uppercase}.status-strip strong{font-size:1.28rem}.progress-bar{background:#e1e0d8;border-radius:999px;height:10px;margin-bottom:24px;overflow:hidden}.progress-bar span{background:#2563eb;display:block;height:100%;transition:width .18s ease}.hint-actions{display:flex;justify-content:flex-end;margin:-8px 0 12px}.hint-actions button{font-weight:800;min-height:38px;padding:8px 12px}.blind-section{border-bottom:1px solid #e5e1d6;margin-bottom:18px;padding-bottom:18px}.blind-section.compact .blind-text{font-size:1rem;line-height:1.75}.blind-text{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.55rem,3.4vw,3.2rem);line-height:1.3;margin-bottom:0}.word{border-radius:4px;padding:0 2px}.hidden{color:#1e3a8a;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:0}.revealed{background:#dbeafe}.celebration{inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:20}.celebration:before{animation:celebration-flash .9s ease-out forwards;background:#fff6cd8c;content:"";inset:0;position:absolute}.cracker{animation:cracker-pop .9s ease-out forwards;background:linear-gradient(135deg,#1d4ed8 0 45%,#e6aa35 45% 60%,#d94f45 60% 100%);border-radius:4px;bottom:14%;height:58px;position:absolute;width:26px}.left-cracker{left:14%;transform:rotate(-36deg)}.right-cracker{right:14%;transform:rotate(36deg) scaleX(-1)}.confetti{animation:confetti-fall 2.5s cubic-bezier(.2,.65,.25,1) forwards;animation-delay:var(--delay);background:var(--color);border-radius:2px;height:14px;left:var(--left);opacity:0;position:absolute;top:-24px;transform:translateY(0) rotate(0);width:7px}.hint-word{background:transparent;border:0;display:inline;font-size:inherit;line-height:inherit;margin:0;text-align:inherit}.hint-word:hover:not(:disabled){background:#f2dfb3;border-color:transparent}.hint-word:focus-visible{outline:2px solid #b8892f;outline-offset:2px}@keyframes celebration-flash{0%{opacity:0}18%{opacity:1}to{opacity:0}}@keyframes cracker-pop{0%{opacity:0;translate:0 24px}30%{opacity:1;translate:0 0}to{opacity:0;translate:0 8px}}@keyframes confetti-fall{0%{opacity:0;transform:translateZ(0) rotate(0)}12%{opacity:1}to{opacity:0;transform:translate3d(var(--drift),105vh,0) rotate(var(--spin))}}.guess-form{display:grid;gap:10px;grid-template-columns:minmax(0,1fr) 110px;margin:20px 0 10px}.guess-form input{border:2px solid #bbc8c2;border-radius:6px;min-height:50px;min-width:0;padding:0 14px}.guess-form input:focus{border-color:#2563eb;outline:3px solid rgba(37,99,235,.18)}.guess-form button{background:#1d4ed8;border-color:#1d4ed8;color:#fff;font-weight:800}.message{color:#53605b;min-height:24px}.message.win{color:#196341;font-weight:800}.message.gave-up{color:#8a4a42;font-weight:800}.authors{color:#4f5b56;font-weight:700;margin-bottom:18px}.history{padding:14px}.history ol{display:flex;flex-direction:column;gap:8px;list-style:none;margin:14px 0 0;max-height:calc(100vh - 200px);overflow:auto;padding:0}.history li{border-left:4px solid #b9c1bd;border-radius:4px;background:#f8f8f4;padding:9px 10px}.history li.hit{border-left-color:#2563eb}.history li.miss{border-left-color:#a85d54}.history span,.history small{display:block}.history span{font-weight:800}.history small,.empty{color:#6f7471}@media(max-width:1040px){.layout{grid-template-columns:1fr}.history{max-height:none;position:static}}@media(max-width:640px){.app-shell{padding:14px}.topbar{align-items:flex-start;flex-direction:column}.top-actions{justify-content:flex-start;width:100%}.status-strip,.guess-form{grid-template-columns:1fr 1fr}.hint-actions{justify-content:stretch}.hint-actions button{width:100%}.guess-form input{grid-column:1 / -1}.guess-form button{grid-column:1 / -1;min-height:48px}}
