:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.game-root{flex-direction:column;gap:1rem;display:flex;position:relative}.dice-overlay{z-index:50;pointer-events:none;background:#0000002e;justify-content:center;align-items:center;gap:28px;display:flex;position:fixed;inset:0}.die-slot{width:90px;height:90px}.dice-result{color:#ffd54f;text-shadow:0 0 14px #0000008c,3px 3px #00000080;pointer-events:none;font-size:4.5rem;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dice-result-show{animation:.22s ease-out forwards diceResultPop}.dice-result-fade{opacity:0;transition:opacity .3s,transform .3s;transform:translate(-50%,-50%)scale(.85)}@keyframes diceResultPop{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}70%{opacity:1;transform:translate(-50%,-50%)scale(1.15)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.die,.die-face{width:100%;height:100%}.die-face{box-sizing:border-box;background:#fff;border-radius:14px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);padding:12px;display:grid;box-shadow:0 8px 20px #0006}.pip{background:0 0;border-radius:50%;width:14px;height:14px;margin:auto}.pip-on{background:#222}.die-spinning .die-face{animation:.3s linear infinite dieSpin}@keyframes dieSpin{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(1.15)}to{transform:rotate(360deg)scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-260%)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(260%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-260%)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(260%)}}.die-left.die-entering{animation:.35s ease-out forwards slideInLeft}.die-right.die-entering{animation:.35s ease-out forwards slideInRight}.die-left.die-exiting{animation:.35s ease-in forwards slideOutLeft}.die-right.die-exiting{animation:.35s ease-in forwards slideOutRight}.game-header h2{flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 0 .25rem;display:flex}.room-code-badge{letter-spacing:.5px;color:#555;background:#f0f0f0;border:1px solid #ccc;border-radius:999px;padding:.2rem .7rem;font-size:.8rem;font-weight:600}.game-header-status{justify-content:space-between;align-items:center;gap:1rem;display:flex}.game-header-status p{margin:0}.harvest-counter{flex-shrink:0;align-items:center;display:inline-flex;position:relative}.harvest-counter-icon{filter:drop-shadow(0 3px 4px #00000059);width:34px;height:46px}.harvest-counter-count{color:#1b5e20;background:#ffd54f;border:2px solid #fff;border-radius:999px;padding:3px 6px;font-size:.75rem;font-weight:800;line-height:1;position:absolute;bottom:-6px;right:-10px;box-shadow:0 1px 3px #0000004d}.challenge-intro-overlay{z-index:85;justify-content:flex-end;align-items:center;padding-right:8vw;display:flex;position:fixed;inset:0}.challenge-intro-backdrop{-webkit-backdrop-filter:blur(4px);background:#050508c7;position:absolute;inset:0}.challenge-intro-content{z-index:1;flex-direction:column;align-items:center;gap:1.5rem;animation:.6s cubic-bezier(.17,.84,.44,1) both challengeIntroSlideIn;display:flex;position:relative}@keyframes challengeIntroSlideIn{0%{opacity:0;transform:translate(260px)}to{opacity:1;transform:translate(0)}}.challenge-intro-headline{color:#ff8a65;text-shadow:0 0 20px #ff7043b3,0 4px 10px #000c;text-align:center;margin:0;font-family:Creepster,cursive;font-size:3rem}.challenge-intro-challenger{flex-direction:column;align-items:center;gap:.5rem;display:flex}.challenge-intro-badge{filter:drop-shadow(0 10px 16px #00000080);width:110px;height:110px;animation:2.6s ease-in-out infinite wiggle}.challenge-intro-name{color:#fff;font-size:1.2rem;font-weight:700}.challenge-intro-pick{padding:.8rem 2.2rem;font-size:1.1rem}.challenge-intro-declines{flex-direction:column;align-items:center;gap:.3rem;margin-top:.25rem;display:flex}.challenge-intro-declines .link{color:#ddd;font-size:.85rem}.challenger-waiting-banner{align-items:center;gap:1rem;display:flex}.battle-overlay{z-index:90;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.battle-fade-out{animation:.5s ease-in forwards battleFadeOut}@keyframes battleFadeOut{0%{opacity:1}to{opacity:0}}.battle-backdrop{background:radial-gradient(circle at 50% 38%,#2a1216 0%,#0a0507 75%);position:absolute;inset:0}.battle-stage{z-index:1;justify-content:center;align-items:center;gap:5rem;width:100%;max-width:1500px;padding:2rem;display:flex;position:relative}.battle-vs{color:#ffab91;text-shadow:0 0 16px #ff704399;flex-shrink:0;font-family:Creepster,cursive;font-size:3.5rem}.battle-combatant{flex-direction:column;align-items:center;gap:1.25rem;width:360px;display:flex;position:relative}.battle-combatant-left{animation:1.1s ease-out both battleSlideInLeft}.battle-combatant-right{animation:1.1s ease-out both battleSlideInRight}@keyframes battleSlideInLeft{0%{opacity:0;transform:translate(-60vw)}to{opacity:1;transform:translate(0)}}@keyframes battleSlideInRight{0%{opacity:0;transform:translate(60vw)}to{opacity:1;transform:translate(0)}}.battle-player-icon-wrap{border-radius:50%;flex-direction:column;align-items:center;gap:.4rem;padding:.5rem;display:flex}.battle-player-badge{width:130px;height:130px;transition:filter .4s}.battle-player-name{color:#fff;text-shadow:0 2px 4px #0009;font-weight:700}.battle-icon-glow-win .battle-player-badge{filter:drop-shadow(0 0 10px #2e7d32)drop-shadow(0 0 26px #43a047)drop-shadow(0 0 40px #43a047)}.battle-icon-glow-lose .battle-player-badge{filter:drop-shadow(0 0 10px #b71c1c)drop-shadow(0 0 24px #e53935)brightness(.75)}.battle-icon-glow-tie .battle-player-badge{filter:drop-shadow(0 0 10px #f9a825)drop-shadow(0 0 26px #fdd835)}.battle-hp-bubble{text-shadow:2px 2px #0006;font-family:Creepster,cursive;font-size:3.4rem;transition:color .3s}.battle-hp-poof{animation:.5s ease-out forwards battleHpPoof}@keyframes battleHpPoof{0%{opacity:1;transform:scale(1)}50%{opacity:1;transform:scale(1.6)}to{opacity:0;transform:scale(0)}}.battle-card-wrap{position:relative}.battle-card-img{filter:drop-shadow(0 14px 20px #00000080);border-radius:12px;width:320px;display:block}.battle-card-fused{filter:drop-shadow(0 14px 20px #00000080)sepia(.5)saturate(4)hue-rotate(-30deg)brightness(.9)}.battle-card-attack-left{animation:1.43s ease-in-out battleBonkRight}.battle-card-attack-right{animation:1.43s ease-in-out battleBonkLeft}@keyframes battleBonkRight{0%{transform:translate(0)rotate(0)}45%{transform:translate(190px,-80px)rotate(12deg)}55%{transform:translate(220px,-50px)rotate(15deg)}to{transform:translate(0)rotate(0)}}@keyframes battleBonkLeft{0%{transform:translate(0)rotate(0)}45%{transform:translate(-190px,-80px)rotate(-12deg)}55%{transform:translate(-220px,-50px)rotate(-15deg)}to{transform:translate(0)rotate(0)}}.battle-card-returning{animation:1.1s ease-in forwards battleCardFly}@keyframes battleCardFly{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--fly-dx), var(--fly-dy)) scale(.15);opacity:.25}}.player-strip{flex-wrap:wrap;gap:.5rem;display:flex}.player-chip{border:1px solid #ccc;border-radius:8px;flex-direction:column;gap:.15rem;min-width:140px;padding:.5rem .75rem;font-size:.85rem;display:flex}.player-chip-head{align-items:center;gap:.4rem;display:flex}.player-chip-fighter-counts{color:#666;font-size:.78rem}.player-chip-badge{background:#eee;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.player-chip-badge img{object-fit:contain;width:70%;height:70%}.player-chip.active{background:#e8f5e9;border-color:#2e7d32}.score-tokens{flex-wrap:wrap;align-items:center;gap:2px;min-height:18px;display:flex}.score-token{object-fit:contain;flex:0 0 18px;width:18px;height:18px}.score-token-hidden{opacity:.5;filter:drop-shadow(0 0 2px #fff9)}.score-tokens-zero{color:#999;font-size:.75rem;font-style:italic}.board-stage{position:relative}.board-with-effects{flex-direction:row;align-items:flex-start;gap:1rem;display:flex}.board-with-effects>.board-stage{flex:1;min-width:0}.active-effects-panel{flex-direction:column;flex:0 0 180px;gap:.6rem;max-height:100%;display:flex;overflow-y:auto}.effects-bucket{border:2px solid var(--bucket-color);background:color-mix(in srgb, var(--bucket-color) 8%, white);border-radius:8px;flex-direction:column;gap:.3rem;padding:.4rem .5rem;display:flex}.effects-bucket-title{letter-spacing:.5px;text-transform:uppercase;color:var(--bucket-color);font-size:.7rem;font-weight:800}.effect-row{align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;display:flex}.effect-arrow{font-size:.85rem;line-height:1}.effect-arrow-up{color:#2e7d32}.effect-arrow-down{color:#c62828}.effect-stat-label{color:#555}.effect-amount{color:#222}.effect-player-icon{border-radius:50%;flex-shrink:0;width:18px;height:18px;margin-left:auto}.effect-badge{letter-spacing:.3px;color:#fff;border-radius:5px;padding:.15rem .4rem;font-size:.65rem;font-weight:800}.effect-badge-shadow{background:#263238}.effect-badge-immune{background:#1565c0}.effect-badge-halted{background:#6a1b9a}.board{aspect-ratio:10/7;background:#ddd;border-radius:8px;grid-template-rows:repeat(7,minmax(0,1fr));grid-template-columns:repeat(10,minmax(0,1fr));gap:2px;padding:4px;display:grid}.board-harvest-overlay{filter:blur(13px)brightness(.78);-webkit-mask-image:radial-gradient(circle 85px at var(--spot-x) var(--spot-y), transparent 0%, transparent 55%, black 88%);-webkit-mask-image:radial-gradient(circle 85px at var(--spot-x) var(--spot-y), transparent 0%, transparent 55%, black 88%);mask-image:radial-gradient(circle 85px at var(--spot-x) var(--spot-y), transparent 0%, transparent 55%, black 88%);pointer-events:none;position:absolute;inset:0}.board-cell{background:#fff;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;font-size:.65rem;display:flex;position:relative;overflow:hidden}.board-cell.tile-carrot{background:#ffe0b2}.board-cell.tile-question{background:#e1bee7}.board-cell.tile-drought{background:#9e9e9e}.cell-num{color:#888;font-size:.55rem;position:absolute;top:1px;left:2px}.cell-tokens{flex-flow:row-reverse;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.token-wrap{aspect-ratio:1;flex:0 0 31px;width:31px;display:block;position:relative}.token{object-fit:contain;width:100%;height:100%;transition:filter .3s,opacity .3s;display:block}.token-wrap:not(:first-child){margin-right:-16px}.token-me{filter:drop-shadow(0 0 2px #c62828)drop-shadow(0 0 2px #c62828)}.token-harvesting{animation:.85s ease-in-out infinite tokenGlowFlicker}@keyframes tokenGlowFlicker{0%,to{filter:drop-shadow(0 0 3px var(--glow-color,#fff)) brightness(1);opacity:1}40%{filter:drop-shadow(0 0 16px var(--glow-color,#fff)) drop-shadow(0 0 30px var(--glow-color,#fff)) brightness(1.8);opacity:.78}70%{filter:drop-shadow(0 0 9px var(--glow-color,#fff)) brightness(1.35);opacity:1}}.game-controls{align-items:center;gap:1rem;display:flex}.banner{background:#fff8e1;border:1px solid #ffca28;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem;display:flex}.hand{flex-direction:column;gap:.5rem;display:flex}.poker-hand{justify-content:center;align-items:flex-end;min-height:170px;padding:2.5rem 1rem .5rem;display:flex;position:relative}.poker-card-slot{width:110px;transform:rotate(var(--rotate,0deg));transform-origin:bottom;margin-left:-46px;transition:transform .18s,z-index;position:relative}.poker-card-slot:first-child{margin-left:0}.poker-card-hovered{transform:rotate(var(--rotate,0deg)) translateY(-30px) scale(1.12)}.poker-card-img{filter:drop-shadow(0 6px 10px #00000059);pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:8px;width:100%;display:block}.poker-card-fallback{text-align:center;background:#fff;border:1px solid #ccc;border-radius:8px;justify-content:center;align-items:center;width:110px;height:146px;padding:.5rem;font-size:.75rem;font-weight:700;display:flex}.poker-card-sacrifice{white-space:nowrap;opacity:0;pointer-events:none;padding:.3rem .5rem;font-size:.65rem;transition:opacity .15s;position:absolute;bottom:-.5rem;left:50%;transform:translate(-50%)}.poker-card-hovered .poker-card-sacrifice{opacity:1;pointer-events:auto}.card-preview-popout{z-index:200;pointer-events:none;background:#fff;border-radius:16px;gap:1.5rem;max-width:90vw;padding:1.25rem;animation:.15s ease-out cardPreviewIn;display:flex;position:fixed;bottom:180px;left:50%;transform:translate(-50%);box-shadow:0 24px 60px #00000080}@keyframes cardPreviewIn{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.card-preview-art img{filter:drop-shadow(0 10px 18px #0006);border-radius:14px;width:280px;display:block}.card-preview-info{flex-direction:column;gap:.4rem;width:240px;font-size:.9rem;display:flex}.card-preview-info h4{margin:0;font-size:1.2rem}.card-preview-badges{flex-wrap:wrap;gap:.4rem;display:flex}.card-preview-types{color:#777;margin:0;font-size:.8rem}.card-preview-desc{color:#333;margin:.3rem 0 0;line-height:1.35}.badge{text-transform:uppercase;background:#eee;border-radius:4px;padding:.1rem .4rem;font-size:.7rem}.badge-todo{background:#ffcdd2}.log-panel{border:1px solid #eee;border-radius:8px;padding:.5rem .75rem;font-size:.8rem}.log-panel summary{cursor:pointer;color:#444;font-weight:600;list-style:none}.log-panel summary::-webkit-details-marker{display:none}.log-panel summary:before{content:"▸ "}.log-panel[open] summary:before{content:"▾ "}.log-panel ul{max-height:200px;margin:.5rem 0 0;padding:0;list-style:none;overflow-y:auto}.log-panel li{color:#555;padding:.1rem 0}.card-face{background:#fff;border-radius:12px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 10px 24px #00000059}.card-face-sm{width:320px}.card-face-lg{width:520px}.card-face-art-mode{box-shadow:none;background:0 0}.card-face-img{filter:drop-shadow(0 10px 24px #00000059);border-radius:12px;width:100%;height:auto;display:block}.card-face-art{text-align:center;background:linear-gradient(135deg,#a5d6a7,#66bb6a);justify-content:center;align-items:center;height:110px;padding:.5rem;display:flex}.card-face-art-placeholder{color:#fff;text-shadow:0 1px 3px #0006;font-weight:700}.card-face-stats{color:#222;flex-direction:column;gap:.25rem;padding:.5rem;font-size:.8rem;display:flex}.card-face-stats .types{color:#777;font-size:.7rem}.fanout-overlay{z-index:60;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fanout-backdrop{-webkit-backdrop-filter:blur(8px);background:#0a0a0f73;position:absolute;inset:0}.fanout-close{z-index:2;color:#fff;position:absolute;top:1.5rem;right:1.5rem}.cancel-x-btn{color:#fff;cursor:pointer;background:#d32f2f;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.3rem;font-weight:700;line-height:1;transition:transform .15s,background .15s;display:flex;box-shadow:0 2px 8px #00000059}.cancel-x-btn:hover{background:#b71c1c;transform:scale(1.08)}.cancel-x-floating{z-index:3;position:absolute;top:1.5rem;right:1.5rem}.alt-group-choices{flex-direction:column;gap:.75rem;width:100%;margin-top:1rem;display:flex}.alt-group-choice-btn{color:#1b5e20;cursor:pointer;background:#fff;border:2px solid #388e3c;border-radius:10px;padding:.9rem 1.25rem;font-size:1rem;font-weight:600;transition:background .15s,transform .15s}.alt-group-choice-btn:hover{background:#e8f5e9;transform:translateY(-1px)}.fanout-cards{z-index:1;scrollbar-width:none;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1.5rem;max-width:90vw;max-height:85vh;padding:2rem;display:flex;position:relative;overflow-y:auto}.fanout-cards::-webkit-scrollbar{display:none}.fanout-headline{z-index:1;text-align:center;color:#fff;letter-spacing:1px;text-shadow:0 3px 10px #0009;padding:0 4rem;font-family:Creepster,cursive;font-size:2rem;position:absolute;top:1.5rem;left:0;right:0}.combo-overlay{flex-direction:column}.combo-overlay .fanout-headline{font-size:1.6rem;top:1.2rem}.combo-stat-compare{z-index:1;align-items:center;gap:1.25rem;margin-top:4.5rem;padding:0 1rem;display:flex;position:relative}.combo-stat-card{text-align:center;background:#ffffffeb;border-radius:12px;padding:.75rem 1.25rem;box-shadow:0 2px 10px #0000004d}.combo-stat-fused{background:#fff3e0;border:2px solid #ff6d00}.combo-stat-label{color:#555;margin:0 0 .25rem;font-size:.85rem;font-weight:700}.combo-stat-fused .combo-stat-label{color:#e65100}.combo-stat-numbers{white-space:nowrap;margin:0;font-weight:600}.combo-stat-arrow{color:#fff;text-shadow:0 2px 6px #0009;font-size:1.5rem}.combo-instructions{z-index:1;color:#fff;text-align:center;text-shadow:0 2px 6px #0009;margin:1rem 0 0;position:relative}.combo-send-alone-btn{z-index:1;color:#fff;cursor:pointer;background:#d32f2f;border:none;border-radius:999px;margin-top:1.25rem;padding:.85rem 1.75rem;font-size:1rem;font-weight:700;transition:transform .15s,background .15s;position:relative;box-shadow:0 2px 10px #00000059}.combo-send-alone-btn:hover{background:#b71c1c;transform:translateY(-1px)}.target-pick-panel{z-index:1;flex-direction:column;align-items:center;gap:1.5rem;max-width:90vw;padding:2rem;display:flex;position:relative}.target-pick-headline{padding:0;position:static}.fanout-card-wrap{flex-direction:column;align-items:center;gap:.5rem;animation:.4s ease-out both cardPopUp;display:flex}@keyframes cardPopUp{0%{opacity:0;transform:translateY(120%)}to{opacity:1;transform:translateY(0)}}@keyframes wiggle{0%,to{transform:rotate(-2deg)translateY(0)}50%{transform:rotate(2deg)translateY(-5px)}}.wiggle{animation-name:wiggle;animation-duration:var(--wiggle-dur,2.4s);animation-delay:var(--wiggle-delay,0s);animation-timing-function:ease-in-out;animation-iteration-count:infinite}.fanout-card-btn{cursor:pointer;background:0 0;border:none;border-radius:12px;padding:0}.fanout-card-btn:hover{filter:brightness(1.08);animation-play-state:paused}.fanout-card-btn .card-face-img{filter:drop-shadow(0 16px 20px #00000080)}.fanout-caption{color:#fff;text-align:center;max-width:180px;font-size:.95rem;line-height:1.3}.confetti-burst{z-index:2;pointer-events:none;position:fixed;inset:0}.confetti-piece{opacity:0;border-radius:2px;animation:.9s ease-out forwards confettiBurst;position:absolute;top:40%;left:50%}@keyframes confettiBurst{0%{opacity:1;transform:translate(-50%,-50%)translate(0)rotate(0)}to{transform:translate(-50%, -50%) translate(var(--tx), var(--ty)) rotate(var(--rot));opacity:0}}.targeting-panel{z-index:1;background:#fafafa;border-radius:16px;flex-direction:column;align-items:center;gap:.75rem;width:600px;max-width:90vw;max-height:85vh;padding:1.5rem 2rem;transition:transform .3s,opacity .3s;display:flex;position:relative;overflow-y:auto;box-shadow:0 20px 50px #00000080}.targeting-resolving{opacity:0;transform:scale(.3)translateY(200%)}.targeting-sentence{text-align:center;color:#222;margin:0;font-size:1.1rem}.targeting-flavor{color:#2e7d32;text-align:center;letter-spacing:.5px;margin:.25rem 0 0;font-family:Creepster,cursive;font-size:1.6rem}.player-icon-row{flex-wrap:wrap;justify-content:center;gap:1.5rem;padding:1rem 0;display:flex}.player-icon{cursor:pointer;background:0 0;border:3px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:.4rem;padding:.5rem;display:flex}.player-icon:hover{animation-play-state:paused}.player-icon-badge{filter:drop-shadow(0 12px 16px #0006);background:#eee;border-radius:50%;justify-content:center;align-items:center;width:104px;height:104px;display:flex}.player-icon-badge img{object-fit:contain;width:70%;height:70%}.player-icon-label{color:#222;font-size:1rem;font-weight:700}.player-icon-selected{background:#e8f5e9;border-color:#2e7d32}.player-icon-disabled{opacity:.35;cursor:not-allowed;animation-play-state:paused}.harvest-overlay{z-index:80;background:#090a08;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;display:flex;position:fixed;inset:0;overflow:hidden}.harvest-backlight{opacity:0;background:radial-gradient(70% 32%,#ffdd8299,#78ffb433 55%,#0000 78%);animation:1.1s ease-out .25s forwards harvestBacklightIn;position:absolute;inset:0}@keyframes harvestBacklightIn{0%{opacity:0}to{opacity:1}}.harvest-ground{position:absolute;inset:0}.harvest-panel{background:repeating-linear-gradient(0deg,#00000014 0 2px,#0000 2px 46px),repeating-linear-gradient(90deg,#00000014 0 2px,#0000 2px 46px),radial-gradient(circle at 18% 35%,#d8bfe0 0 22px,#0000 23px),radial-gradient(circle at 68% 65%,#f3c98a 0 22px,#0000 23px),radial-gradient(circle at 42% 80%,#d8bfe0 0 22px,#0000 23px),radial-gradient(circle at 85% 20%,#f3c98a 0 22px,#0000 23px),#e9e3d6;height:54%;position:absolute;left:0;right:0;box-shadow:0 0 60px 16px #ffd26e4d}.harvest-panel-top{clip-path:polygon(0% 0%,100% 0%,100% 92%,96% 98%,88% 90%,80% 99%,72% 91%,64% 97%,56% 89%,48% 98%,40% 90%,32% 96%,24% 88%,16% 99%,8% 91%,0% 92%);animation:1.1s ease-out .25s forwards harvestPanelTop;top:0}.harvest-panel-bottom{clip-path:polygon(0% 8%,8% 2%,16% 10%,24% 1%,32% 9%,40% 3%,48% 11%,56% 2%,64% 9%,72% 1%,80% 10%,88% 3%,96% 8%,100% 2%,100% 100%,0% 100%);animation:1.1s ease-out .25s forwards harvestPanelBottom;bottom:0}@keyframes harvestPanelTop{0%{transform:translateY(0)rotate(0)}to{transform:translateY(-72px)rotate(-.8deg)}}@keyframes harvestPanelBottom{0%{transform:translateY(0)rotate(0)}to{transform:translateY(72px)rotate(.8deg)}}.harvest-content{z-index:1;opacity:0;flex-direction:column;align-items:center;gap:1.5rem;animation:.6s ease-out 1.1s forwards harvestContentIn;display:flex;position:relative}@keyframes harvestContentIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.harvest-headline{color:#ffe9a8;text-shadow:0 0 18px #ffd26ed9,0 4px 10px #000000b3;letter-spacing:1px;text-align:center;margin:0;font-family:Creepster,cursive;font-size:2.6rem}.harvest-subtext{color:#d7ded9;text-align:center;margin:0;font-size:1.1rem}.harvest-card-wrap{opacity:0;animation:.9s cubic-bezier(.2,.9,.3,1.3) .55s forwards harvestCardRise;transform:translateY(70px)scale(.6)}@keyframes harvestCardRise{0%{opacity:0;transform:translateY(70px)scale(.6)}70%{opacity:1}to{opacity:1;transform:translateY(0)scale(1)}}.harvest-card-img{filter:drop-shadow(0 20px 30px #0009)drop-shadow(0 0 30px #ffdd8280);border-radius:14px;width:auto;max-width:min(440px,36vw);max-height:54vh;display:block}.harvest-card-fallback{text-align:center;background:#fff;border-radius:14px;justify-content:center;align-items:center;width:440px;height:580px;padding:1rem;font-weight:700;display:flex}.harvest-ok{z-index:1;opacity:0;padding:.75rem 3rem;font-size:1.1rem;animation:.4s ease-out .3s forwards harvestFadeIn;position:relative}@keyframes harvestFadeIn{0%{opacity:0}to{opacity:1}}.drought-overlay{z-index:80;position:fixed;inset:0;overflow:hidden}.drought-sweep{clip-path:circle(0% at 0 0);background:radial-gradient(circle at 0 0,#fffef0 0%,#fff59d 32%,#ffb300 65%,#ffb30000 100%);animation:1.8s ease-in forwards droughtSweepGrow;position:absolute;inset:0}@keyframes droughtSweepGrow{to{clip-path:circle(150% at 0 0)}}.drought-sweep-done{clip-path:circle(150% at 0 0);background:linear-gradient(#ffc10780,#37260ae0);animation:none}.drought-content{flex-direction:column;justify-content:center;align-items:center;gap:1.75rem;animation:.6s harvestFadeIn;display:flex;position:absolute;inset:0}.drought-headline{color:#3e2723;text-shadow:0 0 18px #ffffffd9;text-align:center;padding:0 1rem;font-family:Creepster,cursive;font-size:3rem}.drought-sacrifice-btn{color:#fff;cursor:pointer;background:#5d4037;border:none;border-radius:10px;padding:.9rem 2rem;font-size:1.1rem}.drought-sacrifice-btn:hover{background:#4e342e}.card-chip{cursor:pointer;background:#fff;border:2px solid #ccc;border-radius:999px;padding:.4rem .8rem;font-size:.85rem}.card-chip-selected{background:#e8f5e9;border-color:#2e7d32}.targeting-actions{gap:1rem;margin-top:.75rem;display:flex}.point-scored-overlay{z-index:90;pointer-events:none;position:fixed;top:6%;left:50%;transform:translate(-50%)}.point-scored-card{background:linear-gradient(#fffef9,#fff3cd);border:3px solid #d4a017;border-radius:999px;align-items:center;gap:.75rem;padding:.6rem 1.5rem .6rem .6rem;animation:2.6s ease-out both pointScoredPop;display:flex;box-shadow:0 8px 28px #00000059}@keyframes pointScoredPop{0%{opacity:0;transform:translateY(-40px)scale(.7)}12%{opacity:1;transform:translateY(0)scale(1.05)}20%{transform:scale(1)}82%{opacity:1;transform:scale(1)}to{opacity:0;transform:translateY(-20px)scale(.95)}}.point-scored-badge{background:#eee;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.point-scored-badge img{object-fit:contain;width:70%;height:70%}.point-scored-token{object-fit:contain;width:40px;height:40px;animation:2.6s ease-out both pointScoredTokenSpin}@keyframes pointScoredTokenSpin{0%{transform:rotateY(0)scale(.6)}25%{transform:rotateY(360deg)scale(1.15)}40%{transform:rotateY(720deg)scale(1)}to{transform:rotateY(720deg)scale(1)}}.point-scored-text{color:#6d4c00;white-space:nowrap;font-weight:700}.win-cinematic-blurred{filter:blur(10px)brightness(.85);pointer-events:none;-webkit-user-select:none;user-select:none;transition:filter .6s}.win-cinematic-overlay{z-index:95;pointer-events:none;position:fixed;inset:0;overflow:hidden}.win-cinematic-icon-wrap{width:90px;height:90px;transition:left .9s cubic-bezier(.3,.7,.2,1),top .9s cubic-bezier(.3,.7,.2,1);position:fixed;transform:translate(-50%,-50%)}.win-cinematic-icon{object-fit:contain;filter:drop-shadow(0 8px 16px #00000080);width:100%;height:100%;animation:1.1s cubic-bezier(.34,1.56,.64,1) both winIconGrow}@keyframes winIconGrow{0%{transform:scale(.4)}to{transform:scale(1)}}.win-cinematic-winner-icon{width:130%;height:130%;margin:-15%}.win-cinematic-winner-centered .win-cinematic-icon{animation:none}@keyframes winZapOut{0%{filter:drop-shadow(0 0 #fff)brightness();opacity:1;transform:scale(1)}35%{filter:drop-shadow(0 0 20px #fff)drop-shadow(0 0 40px #fff)brightness(2.6);opacity:1;transform:scale(1.25)}to{filter:drop-shadow(0 0 60px #fff)brightness(3);opacity:0;transform:scale(.2)}}.win-cinematic-zapping .win-cinematic-icon{animation:.8s ease-in forwards winZapOut}.win-cinematic-congrats-wrap{text-align:center;animation:.6s cubic-bezier(.34,1.56,.64,1) both congratsPop;position:absolute;top:62%;left:50%;transform:translate(-50%)}@keyframes congratsPop{0%{opacity:0;transform:translate(-50%)scale(.5)}to{opacity:1;transform:translate(-50%)scale(1)}}.win-cinematic-congrats{color:#ffd54f;-webkit-text-stroke:3px #e65100;text-shadow:4px 4px #e65100,0 0 30px #ffd54fcc;letter-spacing:2px;margin:0;font-family:Creepster,cursive;font-size:5rem}.win-cinematic-winner-name{color:#fff;text-shadow:0 2px 8px #000000b3;margin:.25rem 0 0;font-size:1.5rem;font-weight:700}.win-cinematic-play-again{pointer-events:auto;color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:999px;padding:1rem 2.5rem;font-size:1.2rem;font-weight:700;animation:.5s cubic-bezier(.34,1.56,.64,1) both congratsPop;position:absolute;bottom:10%;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0006}.win-cinematic-play-again:hover{background:#1b5e20;transform:translate(-50%)translateY(-2px)}.win-confetti-rain{position:absolute;inset:0;overflow:hidden}.win-confetti-piece{opacity:.9;width:10px;height:16px;animation:linear forwards winConfettiFall;position:absolute;top:-5%}@keyframes winConfettiFall{0%{opacity:1;transform:translateY(-10vh)translate(0)rotate(0)}to{transform:translateY(110vh) translateX(var(--drift)) rotate(720deg);opacity:.9}}.player-icon-robot{justify-content:center;align-items:center;width:100%;height:100%;font-size:1.3rem;line-height:1;display:flex}.challenge-intro-badge .player-icon-robot,.battle-player-badge .player-icon-robot{font-size:3rem}.goo-splat{pointer-events:none;justify-content:center;align-items:center;width:86px;height:46px;animation:.45s cubic-bezier(.34,1.56,.64,1) both gooSplatPop;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.goo-splat-ap{top:73%;left:29%}.goo-splat-hp{top:65%;left:66%}.goo-blob{z-index:0;background:radial-gradient(circle at 35% 30%,#a6ff5e,#4ec91a 55%,#2f8a0d 100%);border-radius:42% 58% 65% 35%/45% 40% 60% 55%;position:absolute;inset:-35% -20%;box-shadow:0 0 10px #50dc1ea6,inset 0 0 10px #1450004d}.goo-blob-drip-1{border-radius:50% 50% 60% 40%/60% 40%;width:26%;height:34%;inset:auto auto -38% -6%}.goo-blob-drip-2{border-radius:40% 60% 50% 50%/50% 50% 40% 60%;width:20%;height:26%;inset:-24% -10% auto auto}.goo-number{z-index:1;color:#d40000;text-shadow:-1.5px -1.5px #0a3d00,1.5px -1.5px #0a3d00,-1.5px 1.5px #0a3d00,1.5px 1.5px #0a3d00;white-space:nowrap;font-size:1.05rem;font-weight:900;position:relative}@keyframes gooSplatPop{0%{opacity:0;transform:translate(-50%,-50%)scale(0)rotate(-8deg)}60%{opacity:1;transform:translate(-50%,-50%)scale(1.25)rotate(4deg)}to{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}}.scroll-rig-outer{z-index:3;pointer-events:none;position:absolute;inset:0}.scroll-rig{width:680px;max-width:88vw;height:400px;max-height:80vh;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scroll-rig-entering{animation:.5s ease-out both scrollSlideIn}.scroll-rig-exiting{animation:.5s ease-in both scrollSlideOut}@keyframes scrollSlideIn{0%{transform:translate(calc(130vw - 50%),-50%)}to{transform:translate(-50%,-50%)}}@keyframes scrollSlideOut{0%{transform:translate(-50%,-50%)}to{transform:translate(calc(-50% - 130vw),-50%)}}.scroll-reveal{clip-path:inset(0 0 0 0%);filter:drop-shadow(0 10px 30px #0009);width:100%;height:100%;display:flex;overflow:hidden}.scroll-rig-entering .scroll-reveal,.scroll-rig-exiting .scroll-reveal{clip-path:inset(0 0 0 91%)}.scroll-rig-unraveling .scroll-reveal{animation:.6s ease-out both scrollRevealOpen}.scroll-rig-rerolling .scroll-reveal{animation:.5s ease-in both scrollRevealClose}@keyframes scrollRevealOpen{0%{clip-path:inset(0 0 0 91%)}to{clip-path:inset(0 0 0 0%)}}@keyframes scrollRevealClose{0%{clip-path:inset(0 0 0 0%)}to{clip-path:inset(0 0 0 91%)}}.scroll-dowel{background:linear-gradient(90deg,#5c3b1e,#8a5a2e 35%,#a9723c 50%,#8a5a2e 65%,#5c3b1e);border-radius:18px;flex:0 0 36px;box-shadow:inset 0 0 8px #00000080,0 2px 6px #00000080}.scroll-paper{background:linear-gradient(135deg,#f3e3bd,#e8d19f 60%,#ddc488);flex-direction:column;flex:1;gap:.75rem;min-width:0;padding:1.5rem 2rem;display:flex;overflow-y:auto}.scroll-heading{color:#3a2a14;text-align:center;text-shadow:0 1px #ffffff4d;margin:0 0 .25rem;font-family:UnifrakturMaguntia,cursive;font-size:2.2rem}.scroll-effects{flex-direction:column;align-items:center;gap:.6rem;display:flex}.scroll-effects-empty{text-align:center;color:#6b5433;margin:0;font-style:italic}.scroll-effect-row{background:#fff6;border-radius:999px;padding:.3rem .9rem}.bananza-requirement{color:#a05a00;text-align:center;background:#fff3e0;border-radius:8px;padding:.5rem .75rem;font-size:.9rem;font-style:italic}.bananza-options{flex-direction:column;gap:.9rem;width:100%;display:flex}.bananza-option{border:1px solid #ddd;border-radius:10px;flex-direction:column;gap:.5rem;padding:.6rem .8rem;display:flex}.bananza-option-label{cursor:pointer;align-items:center;gap:.6rem;font-weight:600;display:flex}.bananza-option-label input[type=checkbox]{flex-shrink:0;width:18px;height:18px}.app{text-align:center;max-width:480px;margin:10vh auto 0;padding:2rem;font-family:system-ui,sans-serif}.app-wide{box-sizing:border-box;text-align:left;width:100%;max-width:1100px;margin:1rem auto;padding:1rem;font-family:system-ui,sans-serif}.title{color:#2e7d32;margin-bottom:2rem;font-size:2.5rem}.menu,.lobby,.game{flex-direction:column;gap:.75rem;display:flex}button{color:#fff;cursor:pointer;background:#2e7d32;border:1px solid #2e7d32;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem}button:disabled{cursor:not-allowed;background:#a5a5a5;border-color:#a5a5a5}button.link{color:#555;background:0 0;border:none}input{border:1px solid #ccc;border-radius:8px;padding:.6rem;font-size:1rem}.error{color:#c62828}.lobby ul{padding:0;list-style:none}.lobby li{align-items:center;gap:.5rem;display:flex}.lobby-player-icon{object-fit:contain;width:28px;height:28px}.icon-select{flex-direction:column;align-items:center;gap:1rem;display:flex}.icon-bubble-row{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.icon-bubble{cursor:pointer;color:#333;background:#fff;border:3px solid #ddd;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;width:96px;height:96px;padding:.5rem;font-size:.8rem;display:flex}.icon-bubble img{object-fit:contain;width:48px;height:48px}.icon-bubble-selected{background:#e8f5e9;border-color:#2e7d32}.icon-bubble-taken{opacity:.35;cursor:not-allowed}.mute-toggle{z-index:100;cursor:pointer;background:#fff;border:2px solid #ccc;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.8rem;line-height:1;transition:transform .15s,background .15s;display:flex;position:fixed;top:1rem;right:1rem;box-shadow:0 2px 10px #00000040}.mute-toggle:hover{background:#f5f5f5;transform:scale(1.08)}
