@font-face{font-family:"Fantasy Script";src:local("Caveat")}:root{--color-sky: #BFDDEA;--color-sky-pale: #EAF4FA;--color-sky-deep: #7FB3CE;--color-sun: #F6C453;--color-sun-soft: #FBF0C9;--color-honey: #EBA64B;--color-parchment: #F6EED8;--color-parchment-deep: #EFE0BD;--color-washi: #FDF6E4;--color-washi-line: #E3CC9E;--color-cream: #FFFDF5;--color-ink: #3B3126;--color-ink-soft: #5F5340;--color-ink-muted: #76694E;--color-wood: #B28456;--color-wood-light: #D4A87C;--color-wood-deep: #7C5333;--color-wood-grain: #9C6B3F;--color-moss: #5F7A4E;--color-moss-light: #8FA97C;--color-forest: #2F4A32;--color-fern: #A9C48B;--color-emerald: #3E8E6E;--color-emerald-win: #2A7E6E;--color-berry: #C85A3D;--color-berry-soft: #F3D9CF;--color-violet: #8A6FA8;--color-slate: #5E6B81;--bg-primary: var(--color-parchment);--bg-secondary: var(--color-washi);--bg-tertiary: var(--color-parchment-deep);--bg-panel: var(--color-washi);--bg-space: var(--color-cream);--bg-app: var(--bg-primary);--text-primary: var(--color-ink);--text-secondary: var(--color-ink-soft);--text-muted: var(--color-ink-muted);--text-dim: #6E6148;--border-color: rgba(92, 74, 54, .18);--border-subtle: rgba(92, 74, 54, .12);--border-soft: rgba(92, 74, 54, .08);--border-focus: var(--color-honey);--action-primary: #C77E2E;--action-primary-hover: #A9641F;--accent-text: #8F5B1E;--action-danger: var(--color-berry);--success: var(--color-emerald-win);--success-glow: 0 8px 24px rgba(42, 126, 110, .28);--warning: var(--color-honey);--danger: var(--color-berry);--danger-hover: #A9432A;--danger-glow: 0 8px 24px rgba(200, 90, 61, .3);--error: var(--color-berry);--color-off-white: var(--color-washi);--color-primary-indigo: var(--action-primary);--color-vibrant-purple: var(--color-violet);--color-vibrant-red: var(--color-berry);--color-warm-orange: var(--color-honey);--color-classic-silver: var(--color-wood-light);--color-classic-blue: var(--color-sky-deep);--accent-blue: var(--color-sky-deep);--accent-hover: var(--action-primary-hover);--glass-bg: rgba(253, 246, 228, .72);--glass-panel: rgba(253, 246, 228, .55);--glass-border: rgba(124, 91, 61, .16);--accent-subtle: rgba(199, 126, 46, .1);--accent-glow: rgba(246, 196, 83, .5);--shadow-sm: 0 2px 6px rgba(92, 74, 54, .1), 0 10px 20px rgba(92, 74, 54, .06);--shadow-md: 0 10px 30px rgba(92, 74, 54, .16), 0 4px 10px rgba(92, 74, 54, .08);--shadow-lg: 0 24px 60px rgba(92, 74, 54, .22), 0 8px 20px rgba(92, 74, 54, .1);--shadow-glow: 0 8px 24px rgba(199, 126, 46, .28);--shadow-glow-danger: 0 8px 24px rgba(200, 90, 61, .28);--glow-radial: radial-gradient(circle at 50% 40%, rgba(246, 196, 83, .18) 0%, rgba(255, 253, 245, 0) 70%);--radius: 14px;--radius-md: 16px;--radius-lg: 24px;--tabletop: var(--color-wood-deep);--background: var(--bg-primary);--foreground: var(--text-primary);--card: var(--bg-secondary);--card-foreground: var(--text-primary);--card-back-color: var(--card);--popover: var(--bg-secondary);--popover-foreground: var(--text-primary);--primary: var(--action-primary);--primary-foreground: #3B3126;--secondary: var(--bg-tertiary);--secondary-foreground: var(--text-primary);--muted: var(--bg-tertiary);--muted-foreground: var(--text-muted);--accent: var(--accent-subtle);--accent-foreground: var(--action-primary);--destructive: var(--action-danger);--destructive-foreground: #FFFFFF;--border: var(--border-color);--input: var(--border-color);--ring: var(--action-primary);--board-bg: var(--bg-secondary);--board-border: var(--border-color);--board-shadow: var(--shadow-md);--board-radius: 20px;--board-padding: 16px;--cell-size: 60px;--cell-radius: 10px;--cell-bg-light: #F3E7CD;--cell-bg-dark: #D9BE94;--cell-bg-empty: var(--color-washi);--cell-hover-tint: rgba(246, 196, 83, .24);--piece-active-color: var(--accent-text);--piece-opponent-color: var(--color-berry);--piece-selected-bg: rgba(62, 142, 110, .35);--piece-selected-border: var(--color-emerald);--turn-bar-my-bg: linear-gradient(90deg, var(--color-honey), var(--action-primary));--turn-bar-my-fg: #3B3126;--turn-bar-wait-bg: rgba(92, 74, 54, .08);--turn-bar-wait-fg: var(--text-muted);--turn-bar-radius: 999px;--turn-bar-padding: 8px 18px;--player-chip-size: 38px;--player-chip-bg: var(--color-wood-light);--player-chip-active-bg: linear-gradient(135deg, var(--color-honey), var(--action-primary));--player-chip-active-fg: #3B3126;--pawn-color: var(--color-wood);--tile-color: var(--color-parchment-deep);--token-color: var(--alt-text);--card-back-color: var(--color-violet);--bg-card: var(--color-washi);--bg-card-local: var(--color-washi);--bg-hover-local: var(--color-parchment-deep);--bg-input: var(--color-washi);--bg-input-local: var(--color-washi);--bg-dark: none;--transition: all .25s cubic-bezier(.4, 0, .2, 1);--zone-grid: #2E86C1;--zone-fan: #A55FC0;--zone-stack: #D97B1E;--zone-free: #3FA96B}body{margin:0;font-family:Alegreya,Alegreya Sans,Georgia,Times New Roman,serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);background-image:radial-gradient(1100px 700px at 12% -8%,#bfddea8c,#bfddea00 60%),radial-gradient(900px 620px at 88% 0%,#f6c45333,#f6c45300 55%),radial-gradient(1200px 900px at 50% 120%,#8fa97c59,#8fa97c00 60%),var(--bg-primary);background-attachment:fixed;color:var(--text-primary);min-height:100vh;line-height:1.6}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483647;pointer-events:none;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E")}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:radial-gradient(2px 2px at 20% 30%,rgba(59,49,38,.22) 0%,transparent 2px),radial-gradient(2px 2px at 70% 45%,rgba(59,49,38,.16) 0%,transparent 2px),radial-gradient(2px 2px at 40% 75%,rgba(59,49,38,.18) 0%,transparent 2px),radial-gradient(2px 2px at 85% 80%,rgba(59,49,38,.14) 0%,transparent 2px),radial-gradient(1.5px 1.5px at 55% 15%,rgba(59,49,38,.16) 0%,transparent 2px),radial-gradient(1.5px 1.5px at 15% 60%,rgba(59,49,38,.12) 0%,transparent 2px);background-size:220px 220px}h1,h2,h3,h4,h5,h6{margin-top:0;color:var(--text-primary);font-family:Yeseva One,Alegreya,Georgia,serif;font-weight:400;line-height:1.15;letter-spacing:.01em;text-wrap:balance}h1{font-size:clamp(2.4rem,6vw,4.4rem);line-height:1.05;margin-bottom:24px}h2{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:20px}h3{font-size:1.4rem;margin-bottom:14px}p,span,label,td,th,li{line-height:1.6;color:var(--text-secondary)}code,pre{font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace}button{cursor:pointer;font-family:inherit}a{color:var(--accent-text);text-decoration:none;transition:color .2s ease}a:hover{color:var(--action-primary-hover)}::selection{background:#f6c45373;color:var(--color-ink)}*{scrollbar-width:thin;scrollbar-color:var(--color-wood-light) rgba(124,91,61,.08)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#7c5b3d0f;border-radius:999px}*::-webkit-scrollbar-thumb{background:linear-gradient(var(--color-wood-light),var(--color-wood));border-radius:999px;border:2px solid rgba(124,91,61,.06)}*::-webkit-scrollbar-thumb:hover{background:linear-gradient(var(--color-wood),var(--color-wood-deep))}:focus-visible{outline:2px solid var(--action-primary);outline-offset:2px;border-radius:4px}input,textarea,select{caret-color:var(--accent-text)}input:not([class*=ui-]):not([class*=Input]):not([class*=Textarea]):not([class*=Select]),textarea:not([class*=ui-]):not([class*=Input]):not([class*=Textarea]):not([class*=Select]),select:not([class*=ui-]):not([class*=Input]):not([class*=Textarea]):not([class*=Select]){background-color:var(--color-cream);border:1px solid var(--border-color);color:var(--text-primary);padding:12px 16px;border-radius:12px;font-family:inherit;font-size:1rem;box-shadow:inset 0 1px 3px #5c4a361a;transition:border-color .2s ease,box-shadow .2s ease;outline:none}input:not([class*=ui-]):not([class*=Input]):not([class*=Textarea]):not([class*=Select]):focus,textarea:not([class*=ui-]):not([class*=Input]):not([class*=Textarea]):not([class*=Select]):focus,select:not([class*=ui-]):not([class*=Input]):not([class*=Textarea]):not([class*=Select]):focus{border-color:var(--accent-text);box-shadow:0 0 0 3px #c77e2e2e}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:disabled,textarea:disabled,select:disabled{opacity:.5;cursor:not-allowed}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.hover-bg-soft:hover{background:var(--glass-panel)!important}.glass{background:var(--glass-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--glass-border)}.active-glow{box-shadow:0 0 0 1px #c77e2e59,0 0 16px #f6c45366}.lobby-item-card{cursor:pointer;width:100%}.hand{font-family:Caveat,"Fantasy Script",cursive;font-weight:600;letter-spacing:.01em}.surface-washi{background-color:var(--color-washi);color:var(--text-primary);border:1px solid var(--color-washi-line)}.glade-wash{background-image:radial-gradient(900px 520px at 78% 12%,#f6c45338,#f6c45300 60%),radial-gradient(700px 620px at 8% 30%,#bfddea66,#bfddea00 60%),radial-gradient(1000px 700px at 50% 115%,#8fa97c59,#8fa97c00 60%)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes victoryData{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.06)}to{transform:scale(1);opacity:1}}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #0000}50%{transform:scale(1.02);box-shadow:0 5px 15px #5c4a361f}to{transform:scale(1);box-shadow:0 0 #0000}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes moteDrift{0%{transform:translateY(0) translate(0) rotate(0);opacity:0}12%{opacity:var(--mote-opacity, .5)}50%{transform:translateY(-18px) translate(6px) rotate(28deg)}88%{opacity:var(--mote-opacity, .5)}to{transform:translateY(-36px) translate(-4px) rotate(-18deg);opacity:0}}.animate-fade-in{animation:fadeIn .5s ease-out}.animate-slide-up{animation:slideUp .5s ease-out}.animate-victory{animation:victoryData .8s cubic-bezier(.175,.885,.32,1.275)}.animate-shake{animation:shake .5s ease-in-out}.animate-hover{transition:transform .2s,box-shadow .25s}.animate-hover:hover{transform:translateY(-4px)!important;box-shadow:var(--shadow-md)!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:768px){.gdl-action-dock{position:fixed;left:8px;right:8px;bottom:8px;z-index:40;width:auto!important;max-width:none!important;box-sizing:border-box;box-shadow:0 12px 30px #5c4a3647}.gdl-board-shell{flex:1 1 auto;min-width:0;max-width:100%!important}.gdl-dock-spacer{height:84px}}.board-target{background:transparent;border:none;padding:0}.board-target:focus-visible{outline:2px solid var(--action-primary);outline-offset:3px}.board-target-dot,.board-target-bar{pointer-events:none;background:#3b31261f;border:1px solid rgba(59,49,38,.18);transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.board-target-dot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%}.board-target-bar{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);border-radius:999px}.board-target:hover .board-target-dot,.board-target:hover .board-target-bar{background:#c77e2ea6;border-color:#fffdf5f2;box-shadow:0 0 0 4px #c77e2e33}.board-target.is-pending .board-target-dot,.board-target.is-pending .board-target-bar{background:var(--action-primary);border-color:#fff;box-shadow:0 0 0 5px #c77e2e4d}:root{--deck-color: rgba(253, 246, 228, .5);--deck-border: rgba(124, 91, 61, .25);--card-back-color: #6B4A2E;--accent-blue: var(--action-primary)}.game-deck-container{position:relative;width:80px;height:110px;cursor:pointer;perspective:1000px;transition:transform .2s}.game-deck-container:hover{transform:translateY(-5px)}.game-deck-stack{position:relative;width:100%;height:100%}.game-deck-card-back{position:absolute;width:100%;height:100%;background:var(--card-back-color);border:1px solid rgba(253,246,228,.18);border-radius:8px;box-shadow:0 2px 4px #5c4a364d}.game-deck-content{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;color:#fdf6e4;background:#3d2d1e40;border-radius:8px}.deck-count{font-size:1.2rem;font-weight:700;margin-top:4px}.game-deck-label{text-align:center;margin-top:8px;font-size:.8rem;opacity:.8;color:#fdf6e4}.game-deck-shuffle-btn{position:absolute;top:-10px;right:-10px;background:var(--accent-blue);border:none;border-radius:50%;padding:6px;color:#3b3126;cursor:pointer;z-index:20;box-shadow:0 2px 8px #5c4a3666}.game-deck-shuffle-btn:hover{background:#b0691f}.game-deck-hover-hint{position:absolute;bottom:-25px;left:50%;transform:translate(-50%);font-size:.7rem;display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .2s;color:var(--text-muted);white-space:nowrap}.game-deck-container:hover .game-deck-hover-hint{opacity:1}@keyframes shuffleAnim{0%{transform:rotate(0) translate(0)}25%{transform:rotate(5deg) translate(20px)}50%{transform:rotate(-5deg) translate(-20px)}75%{transform:rotate(5deg) translate(20px)}to{transform:rotate(0) translate(0)}}.shuffling .game-deck-stack{animation:shuffleAnim .4s infinite}.game-deck-draw-card{position:absolute;top:0;left:0;width:100%;height:calc(100% - 28px);background:var(--card-back-color);border:1px solid rgba(253,246,228,.22);border-radius:8px;box-shadow:0 8px 24px #5c4a3673;z-index:20;pointer-events:none}.game-dice-container{display:flex;flex-direction:column;align-items:center;gap:12px}.game-dice-list{display:flex;gap:8px}.game-die{width:40px;height:40px;background:#fdf6e4;color:#3b3126;display:flex;align-items:center;justify-content:center;font-weight:700;border-radius:6px;box-shadow:0 4px #c7a986;font-size:1.2rem}@keyframes dieRoll{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}.rolling{animation:dieRoll .2s infinite}.game-dice-roll-btn{display:flex;align-items:center;gap:8px;background:var(--color-emerald-win);border:none;padding:8px 16px;color:#fdf6e4;border-radius:20px;cursor:pointer;font-weight:600;transition:background .2s}.game-dice-roll-btn:hover{background:var(--color-moss)}.game-dice-roll-btn:disabled{background:var(--color-washi);color:var(--text-secondary);border:1px solid var(--color-washi-line);opacity:.75;cursor:not-allowed;box-shadow:none}.game-dice-roll-btn:disabled:hover{background:var(--color-washi)}.game-stack-container{position:relative;min-width:60px;min-height:80px}.game-stack-items{position:relative;height:80px}.game-stack-item{position:absolute;width:60px;height:80px;background:#fdf6e459;border:1px solid rgba(124,91,61,.3);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.7rem;transition:transform .3s ease;color:var(--text-primary)}.game-stack-controls{display:flex;gap:4px;margin-top:10px}.game-stack-controls button{background:#fdf6e480;border:1px solid rgba(124,91,61,.3);border-radius:4px;padding:4px;color:var(--text-primary);cursor:pointer}.game-token{width:40px;height:40px;cursor:pointer;perspective:600px;transition:transform .2s}.game-token:hover{transform:scale(1.1)}.game-token[data-disabled=true]{cursor:default;pointer-events:none}.game-token[data-disabled=true]:hover{transform:none}.game-token-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform .6s;transform-style:preserve-3d}.game-token.flipped .game-token-inner{transform:rotateY(180deg)}.game-token-front,.game-token-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;font-size:1.5em;border-radius:50%;box-shadow:0 4px 8px #5c4a364d;border:2px solid rgba(253,246,228,.4)}.game-token.rect .game-token-front,.game-token.rect .game-token-back{border-radius:4px}.game-token.hex .game-token-front,.game-token.hex .game-token-back{clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);border-radius:0}.game-token-front{background:var(--token-color);color:var(--token-text, rgba(59, 49, 38, .75))}.game-token-front.has-label{flex-direction:column;gap:.06em;line-height:1}.game-token-front.has-label .token-icon{font-size:.72em;line-height:1}.game-token-front.has-label .token-icon,.game-token-front.has-label .token-label{color:inherit}.game-token-front.has-label .token-label{font-size:.3em;font-weight:700;letter-spacing:.02em;max-width:92%;white-space:nowrap;overflow:hidden}.game-token-back{background:#6b4a2e;color:#fdf6e4;transform:rotateY(180deg)}.game-pawn{width:30px;height:50px;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:transform .2s;filter:drop-shadow(0 4px 4px rgba(92,74,54,.4))}.game-pawn:hover{transform:translateY(-5px) scale(1.05)}.game-pawn.selected{filter:drop-shadow(0 0 8px var(--color-honey))}.game-pawn-head{width:16px;height:16px;background:var(--pawn-color);border-radius:50%;margin-bottom:-4px;z-index:2;border:1px solid rgba(92,74,54,.25)}.game-pawn-body{width:24px;height:30px;background:var(--pawn-color);clip-path:polygon(20% 0%,80% 0%,100% 100%,0% 100%);display:flex;align-items:center;justify-content:center;color:#3b312699;font-size:.9rem;z-index:1;border:1px solid rgba(92,74,54,.25)}.game-pawn-base{width:30px;height:8px;background:var(--pawn-color);border-radius:50%;margin-top:-4px;border:1px solid rgba(92,74,54,.25)}.game-meeple{display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:transform .2s;filter:drop-shadow(0 4px 4px rgba(92,74,54,.4))}.game-meeple:hover{transform:translateY(-3px) scale(1.05)}.game-meeple.selected{filter:drop-shadow(0 0 8px var(--color-honey))}.meeple-icon{font-size:.85rem;pointer-events:none;text-shadow:0 1px 2px rgba(255,255,255,.35)}.meeple-label{font-size:.65rem;letter-spacing:.03em;opacity:.8;margin-top:2px;pointer-events:none}.game-card{width:100px;height:140px;cursor:pointer;perspective:1000px;transition:transform .3s}.game-card:hover{transform:translateY(-10px)}.game-card-inner{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.game-card.face-down .game-card-inner{transform:rotateY(180deg)}.game-card-front,.game-card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:8px;box-shadow:0 4px 12px #5c4a3666;display:flex;align-items:center;justify-content:center;overflow:hidden}.game-card-front{background:#fdf6e4;color:#3b3126;border:1px solid var(--color-washi-line)}.playing-card .game-card-front{display:flex;flex-direction:column;justify-content:space-between;padding:8px;position:relative;font-family:Alegreya,Georgia,serif}.card-corner{display:flex;flex-direction:column;align-items:center;line-height:1;font-weight:700}.card-corner.top-left{align-self:flex-start}.card-corner.bottom-right{align-self:flex-end;transform:rotate(180deg)}.card-corner .rank{font-size:1.2rem;font-weight:800;letter-spacing:-.5px}.card-corner .suit{font-size:1rem;font-weight:700}.card-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}.suit-large{font-size:3rem;opacity:.9}.playing-card-hand{display:flex;align-items:center;justify-content:center;padding:20px;min-height:180px}.playing-card-hand.overlap{padding-left:60px}.hand-card-wrapper{transition:transform .2s,z-index .2s}.playing-card-hand.overlap .hand-card-wrapper:hover{transform:translateY(-20px);z-index:100!important}.playing-card-hand.spread{gap:12px}.game-card-back{background:var(--card-back-color);background-image:radial-gradient(circle,rgba(253,246,228,.18) 1px,transparent 1px);background-size:10px 10px;transform:rotateY(180deg);border:2px solid #FDF6E4}.game-tile{width:60px;height:60px;background:var(--tile-color);border:2px solid rgba(92,74,54,.28);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:var(--tile-text, #FDF6E4);border-radius:4px}.game-tile:hover{filter:brightness(1.1);box-shadow:inset 0 0 10px #fdf6e44d}.game-tile.selected{border-color:var(--color-honey);box-shadow:0 0 10px var(--color-honey)}.game-tile-content{display:flex;flex-direction:column;align-items:center;gap:4px;max-width:100%;max-height:100%;overflow:hidden}.tile-icon{font-size:1.2rem}.tile-label{font-size:.7rem;font-weight:700;text-transform:uppercase}.game-tile .tile-label{color:var(--tile-text, #FDF6E4)}.game-coin-container{position:relative;width:60px;height:60px;cursor:pointer;perspective:1000px;display:flex;justify-content:center;align-items:center}.game-coin{width:100%;height:100%;position:relative;transition:transform .6s;transform-style:preserve-3d}.game-coin.heads{transform:rotateY(0)}.game-coin.tails{transform:rotateY(180deg)}.game-coin.flipping{animation:flip-coin 1s infinite linear}.game-coin-face{position:absolute;width:100%;height:100%;backface-visibility:hidden;display:flex;justify-content:center;align-items:center;border-radius:50%;font-weight:700;font-size:24px;color:#3b3126;box-shadow:inset 0 0 0 4px #fdf6e473,0 4px 8px #5c4a364d}.game-coin-heads{background:radial-gradient(circle,#f0c24b 40%,#d4913b);border:2px solid #B0691F}.game-coin-tails{background:radial-gradient(circle,#d8cbb4 40%,#a99274);border:2px solid #856A4E;transform:rotateY(180deg)}.game-coin-shadow{position:absolute;bottom:-10px;width:40px;height:8px;background:#5c4a364d;border-radius:50%;filter:blur(4px);transition:transform .3s}.game-coin.flipping~.game-coin-shadow{transform:scale(.6);opacity:.5}@keyframes flip-coin{0%{transform:rotateY(0) translateY(0)}50%{transform:rotateY(180deg) translateY(-40px)}to{transform:rotateY(360deg) translateY(0)}}.game-cowrie-container{position:relative;width:48px;height:48px;cursor:pointer;display:flex;justify-content:center;align-items:center;perspective:1000px}.game-cowrie{width:100%;height:100%;border-radius:40% 40% 60% 60%;display:flex;justify-content:center;align-items:center;transition:transform .3s;box-shadow:0 4px 6px #5c4a3640}.game-cowrie.face-up{background:radial-gradient(circle,#f5e6d3 20%,#d4b595);border:1px solid #bda082}.game-cowrie.face-down{background:radial-gradient(circle,#d4b595 20%,#a68461);border:1px solid #856a4e}.game-cowrie-shadow{position:absolute;bottom:-6px;width:32px;height:6px;background:#5c4a364d;border-radius:50%;filter:blur(3px);transition:transform .3s,opacity .3s}.game-cowrie-container.throwing .game-cowrie{animation:throw-cowrie .8s ease-in-out}.game-cowrie-container.throwing .game-cowrie-shadow{animation:shadow-cowrie .8s ease-in-out}@keyframes throw-cowrie{0%{transform:translateY(0) rotate(0) scale(1)}50%{transform:translateY(-30px) rotate(180deg) scale(1.1)}to{transform:translateY(0) rotate(360deg) scale(1)}}@keyframes shadow-cowrie{0%{transform:scale(1);opacity:.5}50%{transform:scale(.6);opacity:.2}to{transform:scale(1);opacity:.5}}.gdl-pile.shuffling .gdl-pile-stack{animation:shuffleAnim .4s infinite}@keyframes gdlDrawFly{0%{transform:translate(0) rotateY(0);opacity:1}to{transform:translate(42px,-84px) rotateY(90deg);opacity:0}}.gdl-pile-draw-card{position:absolute;top:0;left:0;background:var(--card-back-color);border:1px solid rgba(253,246,228,.22);border-radius:8px;box-shadow:0 8px 24px #5c4a3673;animation:gdlDrawFly .45s ease-out forwards;pointer-events:none;z-index:30}.gdl-pile-hint{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap;pointer-events:none}@keyframes gdlRevealPop{0%{opacity:0;transform:translateY(16px) scale(.82)}to{opacity:1;transform:translateY(0) scale(1)}}.gdl-card-reveal{display:flex;flex-direction:column;align-items:center;gap:6px;animation:gdlRevealPop .32s cubic-bezier(.16,1,.3,1);filter:drop-shadow(0 10px 24px rgba(92,74,54,.4))}.gdl-card-reveal-caption{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--color-washi);background:#3b3126d1;padding:3px 10px;border-radius:999px;white-space:nowrap}
