*,*:before,*:after{box-sizing:border-box}*{margin:0}:root{color:#111;background:#f4f4f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}html,body,#root{min-width:320px;min-height:100%}body{min-height:120vh;min-height:120svh;background:linear-gradient(#ffffff 1px,transparent 1px),linear-gradient(90deg,#ffffff 1px,transparent 1px),#f4f4f1;background-size:28px 28px}button,input{font:inherit}button{border:0;touch-action:manipulation}.category-list-card{display:grid;gap:12px;padding:16px;color:#111;background:#fff;border:2px solid #111111;border-radius:8px;box-shadow:5px 5px #111}.category-list-card h2{font-size:1.2rem;font-weight:950;letter-spacing:0}.blur-hint{color:#4f4f4f;font-size:.9rem;font-weight:850}.category-list{display:grid;gap:8px;padding:0;list-style:none}.category-list-card.is-blurred .category-list{pointer-events:none;-webkit-user-select:none;user-select:none}.category-list-card.is-blurred .category-list li span:last-child{filter:blur(7px);opacity:.42}.category-list li{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px;min-height:42px;padding:6px 8px 6px 6px;background:#f7f7f4;border:2px solid #111111;border-radius:8px;font-size:clamp(.98rem,4vw,1.08rem);font-weight:850;line-height:1.15}.category-number{display:grid;width:30px;height:30px;place-items:center;color:#fff;background:#111;border-radius:6px;font-size:.88rem;font-weight:950;font-variant-numeric:tabular-nums}@media(min-width:680px){.category-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.game-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.control-button{display:inline-flex;min-height:56px;align-items:center;justify-content:center;gap:8px;padding:0 10px;color:#111;background:#fff;border:2px solid #111111;border-radius:8px;cursor:pointer;font-size:clamp(.78rem,3.4vw,.98rem);font-weight:950;transition:transform .12s ease,opacity .12s ease,background .12s ease,color .12s ease}.control-button svg{width:24px;height:24px;flex:0 0 auto}.primary-control{color:#fff;background:#111}.control-button:disabled{cursor:not-allowed;opacity:.45}.control-button:active:not(:disabled){transform:translateY(2px)}@media(max-width:520px){.game-controls{gap:8px}.control-button{min-width:0;min-height:58px;padding:0}.control-button svg{width:28px;height:28px}.control-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.letter-card{position:relative;display:grid;min-height:174px;align-content:center;justify-items:center;gap:4px;color:#111;background:#fff;border:2px solid #111111;border-radius:8px;box-shadow:5px 5px #111}.letter-refresh-button{position:absolute;top:8px;right:8px;display:grid;width:34px;height:34px;place-items:center;color:#1111119e;background:transparent;border:0;border-radius:8px;cursor:pointer;opacity:.62;transition:transform .12s ease,opacity .12s ease}.letter-refresh-button svg{width:20px;height:20px}.letter-refresh-button:hover{opacity:1}.letter-refresh-button:active{transform:translateY(2px)}.letter-card strong{font-size:clamp(5.4rem,24vw,9.6rem);font-weight:950;line-height:.82;letter-spacing:0}.timer-card{display:grid;min-height:174px;align-content:center;justify-items:center;gap:8px;color:#111;background:#fff;border:2px solid #111111;border-radius:8px;box-shadow:5px 5px #111}.timer-card strong{font-size:clamp(2.9rem,15vw,6.7rem);font-weight:950;line-height:.95;letter-spacing:0;font-variant-numeric:tabular-nums}.timer-status{min-height:25px;padding:2px 10px;color:#fff;background:#111;border-radius:999px;font-size:.8rem;font-weight:900}.game-screen{display:grid;gap:14px;padding-bottom:20px}.game-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.game-kicker{font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.game-topbar h1{font-size:clamp(1.45rem,8vw,2.7rem);font-weight:950;line-height:1;letter-spacing:0}.setup-link-button{min-width:78px;min-height:44px;padding:0 14px;color:#111;background:#fff;border:2px solid #111111;border-radius:8px;cursor:pointer;font-weight:900}.round-summary{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:12px}.card-label{font-size:.75rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.time-up-banner{display:grid;min-height:56px;place-items:center;color:#fff;background:#111;border:2px solid #111111;border-radius:8px;font-size:clamp(1.4rem,7vw,2.35rem);font-weight:950;line-height:1}@media(min-width:680px){.game-screen{gap:18px}.round-summary{grid-template-columns:260px 1fr}}.rules-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:18px;background:#1111116b}.rules-modal{display:grid;width:min(100%,520px);max-height:min(86vh,680px);gap:18px;overflow-y:auto;padding:20px;color:#111;background:#fff;border:2px solid #111111;border-radius:8px;box-shadow:6px 6px #111}.rules-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.rules-header p{font-size:.75rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.rules-header h2{margin-top:4px;font-size:clamp(2rem,10vw,3.4rem);font-weight:950;line-height:.95}.rules-close-button{display:grid;width:46px;height:46px;flex:0 0 auto;place-items:center;color:#111;background:#fff;border:2px solid #111111;border-radius:8px;cursor:pointer}.rules-list{display:grid;gap:12px;padding-left:24px;font-size:1rem;font-weight:750;line-height:1.35}.rules-list li::marker{font-weight:950}.scoring-section{display:grid;gap:9px}.scoring-section h3{font-size:1.05rem;font-weight:950}.scoring-list{display:grid;gap:8px;padding-left:22px;font-size:.98rem;font-weight:750;line-height:1.35}.scoring-list li::marker{font-weight:950}.rules-note{padding:14px;background:#f7f7f4;border:2px solid #111111;border-radius:8px;color:#333;font-size:.95rem;font-weight:750;line-height:1.35}.rules-done-button{min-height:54px;color:#fff;background:#111;border:2px solid #111111;border-radius:8px;cursor:pointer;font-size:1.05rem;font-weight:950}.rules-close-button:active,.rules-done-button:active{transform:translateY(2px)}.setup-screen{display:grid;min-height:calc(100vh - 28px);min-height:calc(100svh - 28px);align-items:center}.setup-card{display:grid;gap:22px;padding:22px;color:#111;background:#fff;border:2px solid #111111;border-radius:8px;box-shadow:6px 6px #111}.setup-title-block{display:grid;gap:7px}.setup-kicker{font-size:.76rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.setup-title-block h1{font-size:clamp(2.35rem,12vw,4.6rem);font-weight:950;line-height:.94;letter-spacing:0}.setup-copy{max-width:34rem;color:#4f4f4f;font-size:1rem;line-height:1.45}.setup-fields{display:grid;gap:18px}.setup-fieldset{display:grid;gap:12px;min-width:0;padding:0;border:0}.setup-fieldset legend{margin-bottom:8px;font-size:1rem;font-weight:900}.segmented-grid{display:grid;gap:10px}.category-count-grid,.timer-grid{grid-template-columns:repeat(auto-fit,minmax(74px,1fr))}.setup-choice,.start-button,.rules-button{min-height:48px;color:#111;background:#f7f7f4;border:2px solid #111111;border-radius:8px;cursor:pointer;font-weight:900;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,color .12s ease}.setup-choice{padding:0 10px;font-size:1rem}.desktop-category-choice{display:none}.setup-choice.is-selected{color:#fff;background:#111}.setup-choice:active,.start-button:active,.rules-button:active{transform:translateY(2px)}.stacked-options{display:grid;gap:10px}.radio-option{display:flex;min-height:58px;align-items:center;gap:12px;padding:0 14px;background:#f7f7f4;border:2px solid #111111;border-radius:8px;font-weight:850}.radio-option input{width:22px;height:22px;accent-color:#111111}.start-button{display:inline-flex;min-height:58px;align-items:center;justify-content:center;gap:9px;color:#fff;background:#111;box-shadow:4px 4px #c9c9c2;font-size:1.1rem}.rules-button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:9px;background:#fff;font-size:1.02rem;box-shadow:4px 4px #c9c9c2}@media(min-width:620px){.setup-screen{min-height:calc(100vh - 56px);min-height:calc(100svh - 56px)}.setup-card{padding:30px}.desktop-category-choice{display:block}.setup-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.setup-fieldset:nth-child(3){grid-column:1 / -1}.stacked-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-shell{width:min(100%,760px);min-height:100vh;min-height:100svh;margin:0 auto;padding:14px}@media(min-width:720px){.app-shell{padding:28px}}
