:root{--ink:#102a3a;--navy:#073b4c;--teal:#078a83;--mint:#51d3b7;--gold:#ffca3a;--orange:#ff8c42;--cream:#f7f5ec;--red:#ef476f;--shadow:0 16px 40px #073b4c24}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% 0,#fff 0,var(--cream) 48%,#dff4ee 100%);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;min-height:100dvh}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}.screen{min-height:100dvh;padding:clamp(16px,3vw,34px);position:relative;overflow:hidden}.screen:before{content:'$$$';position:fixed;right:-30px;bottom:-80px;font:250px 'Archivo Black';color:#078a8309;pointer-events:none}.topbar{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font:clamp(18px,2.5vw,28px) 'Archivo Black';letter-spacing:-1px}.brand span,.money{color:var(--teal)}.icon-btn{border:0;background:#fff;border-radius:99px;padding:10px 14px;box-shadow:0 5px 15px #073b4c18;font-weight:800}.home{display:grid;place-items:center;text-align:center}.hero{width:min(920px,100%);position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-weight:800;color:var(--teal);font-size:13px}.logo{font:clamp(50px,10vw,110px)/.84 'Archivo Black';letter-spacing:-.07em;margin:18px 0 8px;color:var(--navy);text-transform:uppercase}.logo .cash{display:block;color:var(--teal);text-shadow:0 6px 0 #b1e5d8}.tag{font-size:clamp(17px,2vw,23px);font-weight:700;margin:24px auto 32px;color:#49636e}.home-wheel{width:180px;height:180px;border-radius:50%;margin:0 auto 20px;background:conic-gradient(var(--gold) 0 12.5%,var(--teal) 0 25%,var(--orange) 0 37.5%,var(--mint) 0 50%,var(--red) 0 62.5%,#4d86cf 0 75%,#7657a5 0 87.5%,#f1a65a 0);border:12px solid white;box-shadow:var(--shadow);position:relative;animation:float 4s ease-in-out infinite}.home-wheel:after{content:'$$$';position:absolute;inset:46px;border-radius:50%;background:var(--navy);display:grid;place-items:center;color:white;font:25px 'Archivo Black';border:7px solid white}.menu{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.btn{border:0;border-radius:16px;padding:15px 24px;background:#fff;color:var(--navy);font-weight:900;letter-spacing:.04em;box-shadow:0 8px 18px #073b4c18;transition:.15s transform,.15s box-shadow}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 22px #073b4c27}.btn.primary{background:var(--navy);color:#fff;padding-inline:42px}.btn.gold{background:var(--gold);color:#332700}.btn:disabled{opacity:.42;cursor:not-allowed}.game-grid{max-width:1180px;margin:20px auto 0;display:grid;grid-template-columns:minmax(360px,1.05fr) minmax(380px,.95fr);grid-template-areas:"board wheel" "play wheel";gap:22px;align-items:start}.board-panel{grid-area:board}.play-panel{grid-area:play}.wheel-panel{grid-area:wheel}.panel{background:#ffffffd9;border:1px solid #fff;border-radius:26px;box-shadow:var(--shadow);padding:clamp(16px,2.5vw,28px);backdrop-filter:blur(10px)}.score-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.score{border-radius:18px;padding:13px 16px;background:#edf8f5}.score small{font-weight:800;letter-spacing:.1em}.score strong{display:block;font:clamp(25px,4vw,38px) 'Archivo Black';font-variant-numeric:tabular-nums}.round-pill{display:inline-block;background:var(--gold);padding:7px 13px;border-radius:99px;font-weight:900;margin-bottom:10px}.category{text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--teal);font-size:13px;text-align:center}.puzzle{display:flex;flex-wrap:wrap;gap:13px 17px;justify-content:center;align-content:center;min-height:220px;padding:20px 4px}.word{display:flex;gap:4px;white-space:nowrap}.tile{width:clamp(25px,3.2vw,42px);height:clamp(36px,4.5vw,54px);border-radius:7px;background:linear-gradient(145deg,#fff,#e6f1ee);border:2px solid #bfd9d2;display:grid;place-items:center;font:clamp(18px,2.6vw,30px) 'Archivo Black';box-shadow:0 4px 0 #9bbdb4;color:transparent}.tile.revealed{color:var(--navy);animation:flip .55s ease}.tile.punct{background:none;border:0;box-shadow:none;color:var(--navy);width:auto;min-width:9px}.feedback{text-align:center;min-height:32px;font-weight:900;font-size:18px;color:var(--teal)}.wheel-wrap{display:grid;place-items:center;position:relative;max-width:500px;margin:auto}.pointer{width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-top:38px solid var(--navy);position:absolute;z-index:3;top:-5px;filter:drop-shadow(0 4px 2px #0004);transform-origin:50% 0}.pointer.tick{animation:tick .12s ease}.wheel-canvas{width:min(100%,480px);aspect-ratio:1;filter:drop-shadow(0 20px 20px #073b4c35);touch-action:none}.controls{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:16px 0}.keyboard{display:grid;grid-template-columns:repeat(13,1fr);gap:6px}.key{border:0;border-radius:9px;min-height:38px;background:#e9f4f1;color:var(--navy);font-weight:900}.key.vowel{background:#fff0bd}.key.good{background:var(--mint);color:#043f3a}.key.bad{background:#f8d8df;color:#8d2941}.key:disabled{opacity:.38}.status-line{text-align:center;font-size:13px;color:#66808a;margin-top:10px}.modal-back{position:fixed;inset:0;background:#073b4c9a;display:grid;place-items:center;padding:20px;z-index:20}.modal{width:min(520px,100%);background:#fff;border-radius:26px;padding:28px;box-shadow:0 30px 90px #0005}.modal h2{font:30px 'Archivo Black';margin:0 0 10px}.modal input{width:100%;padding:15px;border:2px solid #c3d8d2;border-radius:12px;font-size:18px;margin:12px 0}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.big{text-align:center}.big-timer{font:80px 'Archivo Black';color:var(--red);font-variant-numeric:tabular-nums}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:20px 0}.stat{background:#edf8f5;border-radius:12px;padding:12px}.stat strong{display:block;font-size:20px}.toast{position:fixed;left:50%;top:22px;transform:translateX(-50%);z-index:30;background:var(--navy);color:#fff;padding:13px 20px;border-radius:99px;font-weight:900;box-shadow:var(--shadow);animation:toast 2.4s both}.setting{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid #e5eeeb}.risk-card{background:linear-gradient(135deg,#fff7d6,#dff8f1);border:2px solid var(--gold);padding:18px;border-radius:18px;text-align:center;margin-top:14px}.big-prize{font:clamp(48px,10vw,88px) 'Archivo Black';color:var(--teal);animation:prize .8s ease}.footer-note{margin-top:25px;color:#66808a;font-size:12px}@keyframes flip{0%{transform:rotateX(90deg);background:var(--gold)}100%{transform:none}}@keyframes tick{50%{transform:rotate(10deg)}}@keyframes float{50%{transform:translateY(-8px) rotate(4deg)}}@keyframes toast{0%{opacity:0;transform:translate(-50%,-20px)}15%,80%{opacity:1;transform:translate(-50%,0)}100%{opacity:0}}@keyframes prize{0%{transform:scale(.4) rotate(-5deg);opacity:0}70%{transform:scale(1.08)}}
@media(max-width:800px){.screen:not(.home){padding:10px 12px 38px}.game-grid{grid-template-columns:1fr;grid-template-areas:"board" "wheel" "play";gap:8px;margin-top:8px}.panel{padding:12px;border-radius:18px}.score-row{margin-bottom:8px;gap:8px}.score{padding:8px 12px;border-radius:12px}.score small{font-size:11px}.score strong{font-size:20px}.round-pill{padding:4px 10px;font-size:12px;margin-bottom:2px}.category{font-size:11px}.puzzle{min-height:84px;padding:8px 2px;gap:8px 10px}.tile{width:clamp(18px,5vw,26px);height:clamp(26px,7vw,34px);font-size:clamp(13px,4vw,18px);border-radius:5px;border-width:1.5px}.feedback{min-height:22px;font-size:15px}.wheel-canvas{width:min(54vw,23vh,240px)}.pointer{border-left-width:12px;border-right-width:12px;border-top-width:26px}.controls{margin:8px 0;gap:7px}.controls .btn{padding:11px 14px;font-size:14px}.keyboard{grid-template-columns:repeat(9,1fr);gap:5px}.key{min-height:40px;font-size:14px;border-radius:7px}.status-line{margin-top:6px;font-size:12px}}@media(max-width:800px) and (max-height:700px){.puzzle{min-height:46px}.wheel-canvas{width:min(44vw,17vh,200px)}.key{min-height:32px}.screen:not(.home){padding:8px 12px 36px}}@media(max-width:800px) and (max-height:760px){.topbar{margin-bottom:0}.icon-btn{padding:6px 10px;font-size:12px}.game-grid{gap:6px;margin-top:6px}.panel{padding:10px}.score{padding:6px 10px}.score strong{font-size:18px}.round-pill{padding:3px 9px;font-size:11px}.puzzle{min-height:58px;padding:6px 2px;gap:6px 8px}.tile{width:clamp(16px,4.6vw,22px);height:clamp(22px,6.4vw,29px);font-size:clamp(12px,3.6vw,16px)}.feedback{min-height:18px;font-size:14px}.wheel-canvas{width:min(48vw,19vh,220px)}.controls{margin:6px 0}.controls .btn{padding:9px 12px}.key{min-height:34px;font-size:13px}.status-line{margin-top:4px;font-size:11px}}@media(max-width:480px){.screen{padding:10px 10px 38px}.topbar{align-items:flex-start}.keyboard{grid-template-columns:repeat(7,1fr)}.key{min-height:38px}.panel{border-radius:16px;padding:12px}.logo{font-size:54px}.home-wheel{width:145px;height:145px}.home-wheel:after{inset:35px}.puzzle{gap:8px 10px}.controls .btn{font-size:12px;padding:10px 12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
/* Player check-in — mobile-first */
.checkin{display:grid;place-items:center;overflow:auto;padding:14px 14px 40px}
.checkin-card{width:min(480px,100%);background:#ffffffd9;border:1px solid #fff;border-radius:26px;box-shadow:var(--shadow);padding:clamp(18px,4vw,36px);text-align:center;backdrop-filter:blur(10px)}
.checkin-logo{font:clamp(32px,8vw,50px)/.9 'Archivo Black';letter-spacing:-.05em;color:var(--navy);text-transform:uppercase;margin:10px 0 6px}
.checkin-logo span{display:block;color:var(--teal);text-shadow:0 4px 0 #b1e5d8}
.checkin-tag{color:#49636e;font-weight:700;font-size:14px;margin:6px 0 2px}
.field{display:block;text-align:left;font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--navy);margin-top:12px}
.field small{color:#66808a;font-weight:600;letter-spacing:0;text-transform:none}
.field input{width:100%;margin-top:5px;padding:12px 14px;min-height:48px;font-size:16px;border:2px solid #c3d8d2;border-radius:12px;background:#fff;color:var(--ink)}
.field input:focus{outline:none;border-color:var(--teal)}
.field.invalid input{border-color:var(--red);background:#fff5f7}
.form-error{min-height:22px;color:var(--red);font-weight:800;font-size:14px;margin:8px 0 4px}
.checkin-card .btn.primary{width:100%}
.guest-btn{width:100%;margin-top:10px;background:transparent;box-shadow:none;border:2px solid #bfd9d2}
/* Leaderboard */
.board-title{font:19px 'Archivo Black';margin:16px 0 8px;color:var(--navy);letter-spacing:-.01em}
.top-list{display:grid;gap:6px;margin-bottom:16px}
.top-row{display:grid;grid-template-columns:32px 1fr auto auto;gap:10px;align-items:center;background:#edf8f5;border-radius:12px;padding:10px 12px;font-weight:700;text-align:left}
.top-row .rank{font:16px 'Archivo Black';color:var(--teal)}
.top-bank{font-variant-numeric:tabular-nums;font-weight:900}
.top-date{color:#66808a;font-size:12px}
.loading{color:#66808a;font-weight:600;text-align:left}
@media(max-width:480px){.checkin-card{border-radius:18px;padding:16px}.top-row{grid-template-columns:26px 1fr auto;gap:8px}.top-date{display:none}}

/* BrotherILA persistent footer */
.brand-footer{position:fixed;left:0;right:0;bottom:0;z-index:15;text-align:center;padding:6px 10px;font-size:11px;font-weight:700;letter-spacing:.03em;color:#49636e;background:#ffffffd9;backdrop-filter:blur(8px);border-top:1px solid #e2efeb}
.brand-footer a{color:var(--teal);text-decoration:none;font-weight:800}
.brand-footer a:hover{text-decoration:underline}
/* Check-in wheel */
.checkin-wheel{width:120px;height:120px;border-radius:50%;margin:8px auto 4px;background:conic-gradient(var(--gold) 0 12.5%,var(--teal) 0 25%,var(--orange) 0 37.5%,var(--mint) 0 50%,var(--red) 0 62.5%,#4d86cf 0 75%,#7657a5 0 87.5%,#f1a65a 0);border:8px solid white;box-shadow:var(--shadow);position:relative;animation:float 4s ease-in-out infinite}
.checkin-wheel:after{content:'$$$';position:absolute;inset:30px;border-radius:50%;background:var(--navy);display:grid;place-items:center;color:white;font:16px 'Archivo Black';border:5px solid white}
@media(max-width:480px){.checkin-wheel{width:96px;height:96px}.checkin-wheel:after{inset:24px;font:13px 'Archivo Black';border-width:4px}}
.topbar-actions{display:flex;gap:8px;align-items:center}.icon-btn.danger{background:#fff0f3;color:#b3245a}.btn.ghost{background:transparent;box-shadow:none;border:2px solid #c3d8d2;color:#49636e}.btn.ghost:hover:not(:disabled){background:#edf8f5}
