@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Space+Grotesk:wght@400;500;600&display=swap");:root{--bg-1:#f6f2ea;--bg-2:#e7efe8;--ink:#1d1a16;--muted:#5a5147;--card:#fffaf3;--border:#ded4c7;--accent:#d2562d;--accent-2:#1d6e5a;--red:#c44b43;--blue:#3c62b7;--neutral:#d3c6b6;--bomb:#2b2622}*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,Avenir Next,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at top,#fffaf1,var(--bg-2)),linear-gradient(120deg,#f8f2ea,#e1ede5 60%,#f7efe6)}.landing,body{min-height:100vh}.landing{display:grid;place-items:center;padding:2.5rem 1.5rem}.hero-card{width:min(720px,100%);background:linear-gradient(140deg,#fffaf3,#f5efe6 65%,#fff4e8);border:1px solid rgba(210,86,45,.2);border-radius:28px;padding:3rem clamp(1.8rem,4vw,3.5rem);box-shadow:0 24px 60px rgba(31,27,22,.12);position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;inset:auto -20% -30% auto;width:320px;height:320px;background:radial-gradient(circle at center,rgba(45,111,98,.18),transparent 70%);pointer-events:none}.cta-row{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.domain{font-size:.9rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.eyebrow,h1,h2{font-family:Fraunces,Georgia,serif;margin:0 0 .6rem}p{margin:0 0 1rem;color:var(--muted)}main.page{max-width:1100px;margin:0 auto;padding:3rem 1.5rem 4rem;display:grid;grid-gap:2rem;gap:2rem}.card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:2rem;box-shadow:0 18px 40px rgba(31,27,22,.08)}.hero{text-align:left;max-width:640px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:var(--accent-2)}.lead{font-size:1.05rem}.cta,button{border:none;border-radius:999px;padding:.8rem 1.6rem;font-size:1rem;font-weight:600;cursor:pointer;font-family:inherit;transition:transform .15s ease,box-shadow .15s ease}.cta,button.primary{background:var(--accent);color:#fff7ef;text-decoration:none;display:inline-block;box-shadow:0 14px 30px rgba(208,86,47,.3)}button.secondary{background:#f1e8dc;color:var(--ink)}button.ghost{background:transparent;color:var(--muted);padding:.4rem .8rem}button.toggle{padding:.45rem .95rem;font-size:.8rem;border:1px solid transparent}button.toggle.on{background:rgba(29,110,90,.15);color:var(--accent-2);border:1px solid rgba(29,110,90,.35)}.cta:hover,button:hover{transform:translateY(-1px);box-shadow:0 18px 35px rgba(31,27,22,.12)}button.brand-link{background:none;border:none;padding:0;border-radius:0;font:inherit;cursor:pointer}button.brand-link:hover{text-decoration:underline}.cell:hover,button.brand-link:hover{transform:none;box-shadow:none}input{width:100%;padding:.75rem 1rem;border-radius:12px;border:1px solid var(--border);font-size:1rem;font-family:inherit;background:#fffdf9}.input-row{display:grid;grid-template-columns:1fr auto;grid-gap:.75rem;gap:.75rem;margin-bottom:1.5rem}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.error{color:#b14536;font-weight:600}.create-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.count{font-size:.95rem;font-weight:600;padding:.4rem .9rem;border-radius:999px;background:#efe5d8}.grid-setup{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}.grid-tile{border:1px dashed var(--border);border-radius:12px;min-height:64px;padding:.6rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:#fffdf9;text-align:left;font-weight:600}.grid-tile.filled{border-style:solid;cursor:-webkit-grab;cursor:grab}.grid-tile.drag-over{border-color:var(--accent-2);box-shadow:0 0 0 2px rgba(29,110,90,.2)}.grid-tile.dragging{opacity:.6}.grid-tile .placeholder{color:#b6a998;font-weight:500}.grid-tile .remove{border:none;background:#f1e8dc;border-radius:999px;padding:.2rem .5rem;font-size:.9rem;cursor:pointer}.game-screen{height:100vh;padding:.9rem .8rem 1rem;display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-gap:.6rem;gap:.6rem;overflow:hidden;justify-items:center}.game-top{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;flex-wrap:wrap}.board-wrap,.game-bottom,.game-top{width:min(94vw,960px)}.brand-row{display:grid;justify-items:center}.game-top h1{font-size:1.4rem;margin-bottom:.3rem}.game-subtitle{font-size:.85rem;color:var(--muted);margin:0;max-width:520px;line-height:1.2}.top-controls{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap;font-size:.9rem}.top-controls button{font-size:inherit}.top-controls .secondary{padding:.45rem 1.1rem}.top-controls.primary{gap:.75rem}.top-controls.secondary{gap:.6rem}.audio-controls{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:999px;border:1px solid var(--border);background:#fffaf4;font-size:inherit}.audio-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.65rem}.audio-controls input[type=range]{width:100px;height:16px;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;accent-color:var(--accent-2);background:transparent}.audio-controls input[type=range]::-webkit-slider-runnable-track{height:6px;background:#e8ddd1;border-radius:999px}.audio-controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;height:14px;width:14px;border-radius:50%;background:var(--accent-2);margin-top:-4px}.audio-controls input[type=range]::-moz-range-track{height:6px;background:#e8ddd1;border-radius:999px}.audio-controls input[type=range]::-moz-range-thumb{height:14px;width:14px;border-radius:50%;background:var(--accent-2);border:none}.audio-controls .ghost{padding:.2rem .5rem;font-size:inherit}.turn-button{padding:.45rem 1.1rem;border-radius:999px;font-weight:600;border:2px solid transparent;background:#f5efe6;box-shadow:none;cursor:default;animation:pulse .3s ease;font-size:inherit}.turn-button.red{color:var(--red);border-color:rgba(196,75,67,.6);background:rgba(196,75,67,.12)}.turn-button.blue{color:var(--blue);border-color:rgba(60,98,183,.6);background:rgba(60,98,183,.12)}.turn-button:disabled{opacity:1}.turn-button:hover{transform:none;box-shadow:none}@keyframes pulse{0%{transform:scale(.96)}to{transform:scale(1)}}@keyframes reveal-enter{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@keyframes reveal-cheer{0%{box-shadow:0 0 0 hsla(0,0%,100%,0)}to{box-shadow:0 0 35px hsla(0,0%,100%,.35)}}@keyframes reveal-wobble{0%{transform:scale(1) rotate(0deg)}30%{transform:scale(1) rotate(-2deg)}60%{transform:scale(1) rotate(2deg)}to{transform:scale(1) rotate(0deg)}}@keyframes emote-pop{0%{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes emote-drop{0%{transform:translateY(-6px);opacity:0}to{transform:translateY(0);opacity:1}}.board-wrap{display:flex;align-items:center;justify-content:center;min-height:0}.board,.board-wrap{width:100%;height:100%}.board{max-width:100%;max-height:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));grid-gap:.4rem;gap:.4rem}.cell{border:1px solid var(--border);border-radius:14px;padding:.5rem;background:#fffdf9;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:600;gap:.35rem;font-size:clamp(.7rem,1.8vw,1rem);overflow:hidden}.word{max-width:100%;line-height:1.1;word-break:break-word;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cell:disabled{cursor:default;opacity:1}.cell.red{background:var(--red);color:#fff}.cell.blue{background:var(--blue);color:#fff}.cell.neutral{background:var(--neutral);color:var(--ink)}.cell.bomb{background:var(--bomb);color:#fff}.cell.analysis{padding:.5rem}.cell-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;opacity:.85;max-width:100%;line-height:1.1;word-break:break-word;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.game-bottom{display:grid;grid-gap:.25rem;gap:.25rem;font-size:.8rem}.counters,.stats-row{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;text-align:center;font-size:.78rem}.stats-row{opacity:.85}.status{text-align:center;font-weight:600;font-size:.9rem}.status-row{align-items:center;gap:.75rem}.status-actions,.status-row{display:flex;justify-content:center;flex-wrap:wrap}.status-actions{gap:.6rem}.red{color:var(--red)}.blue{color:var(--blue)}.overlay{background:rgba(23,20,17,.6);place-items:center;z-index:20}.overlay,.reveal-overlay{position:fixed;inset:0;display:grid}.reveal-overlay{background:rgba(18,15,12,.65);place-items:center;z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.reveal-card{width:min(340px,82vw);min-height:210px;border-radius:24px;padding:2rem 1.8rem;text-align:center;background:#fffdf9;color:var(--ink);border:1px solid hsla(0,0%,100%,.4);display:grid;grid-gap:.5rem;gap:.5rem;justify-items:center;opacity:0;transform:scale(.7);animation:reveal-enter .35s ease forwards;transition:background .35s ease,color .35s ease,transform .35s ease}.reveal-card.revealed{background:var(--reveal-color);color:var(--reveal-text);transform:scale(1)}.reveal-card.celebrate{animation:reveal-enter .35s ease forwards,reveal-cheer .7s ease .5s}.reveal-card.sad{animation:reveal-enter .35s ease forwards,reveal-wobble .6s ease .5s}.reveal-word{font-size:clamp(1.05rem,4vw,1.6rem);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.reveal-caption{font-size:.95rem;opacity:.9}.reveal-emote{font-size:.9rem;font-weight:600;opacity:0}.reveal-card.celebrate .reveal-emote{animation:emote-pop .6s ease .6s forwards}.reveal-card.sad .reveal-emote{animation:emote-drop .6s ease .6s forwards}.modal{background:var(--card);border-radius:18px;padding:1.5rem;width:min(92vw,520px);box-shadow:0 20px 45px rgba(12,10,8,.35)}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem}.spy-link{display:grid;grid-template-columns:1fr auto;grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.modal img{width:100%;max-width:260px;border-radius:12px;border:1px solid var(--border)}.modal-actions{display:grid;grid-gap:.75rem;gap:.75rem;margin-top:1rem}.rules-list{margin:1rem 0 .75rem;padding-left:1.2rem;color:var(--muted);display:grid;grid-gap:.4rem;gap:.4rem}.rules-note{font-size:.9rem;color:var(--muted)}.spy-screen{height:100vh;padding:1.5rem;display:grid;grid-template-rows:auto 1fr;grid-gap:1rem;gap:1rem}.spy-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}@media (max-width:820px){.game-screen{padding:1rem}}@media (max-width:720px){main.page{padding:2rem 1rem 3rem}.card{padding:1.5rem}.input-row{grid-template-columns:1fr}.grid-setup{gap:.4rem}.game-top{align-items:center}.top-controls{width:100%;justify-content:center}.top-controls.secondary{flex-direction:column}.spy-link{grid-template-columns:1fr}}@media (max-width:520px){.cell{font-size:.7rem}.cell-label{font-size:.55rem}}