@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Outfit:wght@400;500;600;700&display=swap";:root{--felt:#1f4d3a;--felt-deep:#163528;--wood:#6b3f24;--wood-light:#8a5533;--cream:#f3e6cf;--ink:#1a1410;--gold:#d4a017;--mist:#f3e6cfb8;--danger:#b42318;--shadow:0 18px 40px #00000047;color:var(--cream);background:radial-gradient(circle at 20% 10%, #d4a0172e, transparent 40%), radial-gradient(circle at 80% 0%, #ffffff14, transparent 35%), linear-gradient(160deg, #245c45 0%, var(--felt-deep) 45%, #0f241b 100%);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Outfit,sans-serif;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh}a{color:var(--gold);text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}.brand,h1{letter-spacing:-.02em;font-family:Fraunces,Georgia,serif;font-weight:700}.lobby,.play,.leaderboard{width:min(1180px,100% - 2rem);margin:0 auto;padding:1.25rem 0 3rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--mist);margin:0;font-size:.75rem}.brand{color:#f7ecda;text-shadow:0 8px 30px #00000059;margin:0;font-size:clamp(2.4rem,6vw,4rem);line-height:.95;animation:.7s ease-out both rise}.arena-top{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem 1.5rem;margin-bottom:1rem;display:flex}.arena-brand-block{gap:.35rem;max-width:36rem;display:grid}.arena-brand{font-size:clamp(2.2rem,5.5vw,3.4rem)}.arena-lede{color:var(--mist);margin:0;font-size:1.05rem;animation:.85s ease-out both rise}.arena-nav{align-items:center;gap:.75rem;display:flex}.ghost-btn{color:var(--cream);cursor:pointer;background:#0003;border:1px solid #f3e6cf40;border-radius:999px;padding:.55rem .95rem}.arena-stage{gap:.75rem;animation:.6s ease-out both rise;display:grid}.arena-hud{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#163528b8;border:1px solid #f3e6cf1f;border-radius:18px;gap:.85rem;padding:.9rem 1rem;display:grid}@media (width>=960px){.arena-hud{grid-template-columns:1.5fr 1fr auto;align-items:center}}.arena-identity{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.seg{background:#00000047;border-radius:999px;gap:.15rem;padding:.2rem;display:inline-flex}.seg button{color:var(--mist);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.45rem .75rem;font-weight:600}.seg button.on{background:linear-gradient(135deg, var(--gold), #b8860b);color:var(--ink)}.name-inline input{color:var(--cream);background:#00000040;border:1px solid #f3e6cf33;border-radius:999px;width:min(14rem,40vw);min-width:10rem;padding:.55rem .9rem}.arena-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}.hint-live{color:#d4a017f2;margin:0;font-size:.92rem}.score-help{color:var(--mist);margin:0;font-size:.85rem}.name-gate{color:var(--cream);background:#d4a01714;border:1px dashed #d4a01773;border-radius:12px;padding:.85rem 1rem}.name-gate p{margin:0}.play-cta{border-radius:999px!important;padding:.5rem 1rem!important}.board-gated{opacity:.55;pointer-events:none;filter:grayscale(.15);position:relative}.board-gated:after{content:"";pointer-events:none;background:linear-gradient(#0000,#0f241b59);border-radius:16px;position:absolute;inset:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.arena .jigsaw{min-height:min(70vh,720px)}@media (width>=960px){.arena .jigsaw{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}.arena .board-grid{justify-self:center;width:min(100%,68vh,640px);max-height:min(68vh,640px)}}.start-form,.live-rooms,.leaderboard ol,.hud{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#163528b8;border:1px solid #f3e6cf1f;border-radius:18px}.start-form{gap:1.25rem;margin-top:1rem;padding:1.5rem;display:grid}fieldset{border:0;gap:.6rem;margin:0;padding:0;display:grid}legend{margin-bottom:.35rem;font-weight:600}.choice{cursor:pointer;background:#0000002e;border:1px solid #0000;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:.35rem .75rem;padding:.75rem .9rem;display:grid}.choice span{color:var(--mist);grid-column:2;font-size:.9rem}.choice.on{background:#d4a0171f;border-color:#d4a017b3}.field{gap:.4rem;display:grid}.field input{color:var(--cream);background:#00000040;border:1px solid #f3e6cf33;border-radius:10px;padding:.8rem .9rem}.cta-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.cta,.hud-actions button,.tabs button,.diff-tabs button{background:linear-gradient(135deg, var(--gold), #b8860b);color:var(--ink);cursor:pointer;border:0;border-radius:999px;padding:.75rem 1.2rem;font-weight:700;transition:transform .16s,filter .16s}.cta:hover,.hud-actions button:hover,.tabs button:hover,.diff-tabs button:hover{filter:brightness(1.05);transform:translateY(-1px)}.ghost{color:var(--cream);padding:.75rem .5rem}.live-rooms{margin-top:1.5rem;padding:1.25rem 1.5rem}.live-rooms-blurb{margin:.25rem 0 .75rem;font-size:.92rem}.live-rooms ul{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.live-rooms li{border-top:1px solid #f3e6cf1a;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.tag{color:var(--gold);text-transform:uppercase;letter-spacing:.04em;background:#d4a01733;border-radius:999px;margin-left:.5rem;padding:.15rem .5rem;font-size:.75rem;display:inline-block}.live-tag{color:#b8f0c8;background:#2ea05a59;animation:1.6s ease-in-out infinite pulse}.hud-actions .ghost-btn{align-items:center;text-decoration:none;display:inline-flex}.hud-actions .ghost-btn:hover{filter:brightness(1.08);text-decoration:none}.muted{color:var(--mist)}.error{color:#ffb4a9}.hud{gap:1rem;margin-bottom:1rem;padding:1rem 1.2rem;display:grid}@media (width>=900px){.hud{grid-template-columns:1.2fr 1.4fr auto;align-items:center}}.brand-mini{color:var(--cream);font-family:Fraunces,Georgia,serif;font-size:1.25rem}.hud-meta{color:var(--mist);flex-wrap:wrap;align-items:center;gap:.5rem;margin:.35rem 0 0;display:flex}.hud-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.hud-stats .label{color:var(--mist);font-size:.75rem;display:block}.hud-actions{flex-wrap:wrap;gap:.5rem;display:flex}.hud-actions button{color:var(--cream);background:#f3e6cf1f;border:1px solid #f3e6cf33}.banner{background:#00000047;border-radius:12px;margin-bottom:1rem;padding:.85rem 1rem}.banner.win{border:1px solid #d4a0178c;animation:1.2s ease-in-out 2 pulse}.jigsaw{gap:1rem;display:grid}@media (width>=960px){.jigsaw{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}}.board-grid{aspect-ratio:1;background:linear-gradient(145deg, var(--wood-light), var(--wood));box-shadow:var(--shadow);border-radius:16px;gap:3px;padding:12px;display:grid}.slot{cursor:pointer;background:#0f241b59;border:1px dashed #f3e6cf40;border-radius:4px;padding:0;position:relative;overflow:hidden}.slot.filled{cursor:default;border-style:solid;border-color:#d4a01759}.slot.awaiting:not(.filled){outline:2px solid #d4a01759}.piece{background-repeat:no-repeat;border:0;border-radius:4px;width:100%;height:100%;box-shadow:inset 0 0 0 1px #0003}.tray{background:#0f241b8c;border:1px solid #f3e6cf1a;border-radius:16px;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));align-content:start;gap:.55rem;min-height:180px;padding:1rem;display:grid}.tray-piece{aspect-ratio:1;cursor:grab;transition:transform .14s,box-shadow .14s}.tray-piece:hover,.tray-piece.selected{transform:translateY(-3px)scale(1.03);box-shadow:0 10px 20px #00000059}.tray-piece.selected{outline:2px solid var(--gold)}.hint{color:var(--mist);grid-column:1/-1}.leaderboard header{margin-bottom:1rem}.tabs,.diff-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem;display:flex}.tabs button,.diff-tabs button{color:var(--cream);background:#f3e6cf1a}.tabs button.on,.diff-tabs button.on{background:linear-gradient(135deg, var(--gold), #b8860b);color:var(--ink)}.board-list{margin:0;padding:.5rem 0;list-style:none}.board-list li{border-bottom:1px solid #f3e6cf14;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:.9rem 1.1rem;display:grid}.rank{width:2rem;height:2rem;color:var(--gold);background:#d4a01733;border-radius:999px;place-items:center;font-weight:700;display:grid}.metrics{text-align:right;display:grid}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{box-shadow:0 0 #d4a01700}50%{box-shadow:0 0 0 6px #d4a0172e}}@media (width<=700px){.hud-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{min-height:auto;padding-top:1.5rem}}
