:root{--col-ocean-deep: #05101f;--col-ocean-mid: #0a1e34;--col-ocean-surface: #0d2848;--col-teal: #00b4d8;--col-teal-dim: #0077a8;--col-gold: #f4c842;--col-gold-dim: #b89730;--col-coral: #ff6b6b;--col-lavender: #c77dff;--col-text: #e8f4f8;--col-text-muted: #7aa5b8;--col-glass-bg: rgba(10, 30, 52, .72);--col-glass-border: rgba(0, 180, 216, .25);--col-overlay: rgba(5, 16, 31, .85);--font-display: "Cinzel", "Palatino Linotype", serif;--font-body: "Inter", "Segoe UI", sans-serif;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--r-sm: 6px;--r-md: 12px;--r-lg: 20px;--r-xl: 32px;--r-full: 9999px;--shadow-card: 0 8px 32px rgba(0,0,0,.55), 0 2px 8px rgba(0,0,0,.35);--shadow-glow-teal: 0 0 24px rgba(0, 180, 216, .45);--shadow-glow-gold: 0 0 24px rgba(244, 200, 66, .5);--shadow-glow-coral: 0 0 24px rgba(255, 107, 107, .5);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font-body);background:var(--col-ocean-deep);color:var(--col-text);min-height:100vh;overflow-x:hidden;line-height:1.5}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(0,119,168,.25) 0%,transparent 60%),radial-gradient(ellipse 60% 80% at 100% 100%,rgba(199,125,255,.1) 0%,transparent 50%),linear-gradient(180deg,#05101f,#071526,#090d1e);z-index:-1;animation:oceanDrift 20s ease-in-out infinite alternate}@keyframes oceanDrift{0%{filter:hue-rotate(0deg) brightness(1)}to{filter:hue-rotate(8deg) brightness(1.05)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--col-ocean-deep)}::-webkit-scrollbar-thumb{background:var(--col-teal-dim);border-radius:var(--r-full)}.glass{background:var(--col-glass-bg);border:1px solid var(--col-glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--r-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font-family:var(--font-display);font-size:.875rem;font-weight:600;letter-spacing:.08em;padding:var(--sp-3) var(--sp-6);border:none;border-radius:var(--r-full);cursor:pointer;transition:transform .18s var(--ease-spring),box-shadow .18s ease,opacity .15s ease;white-space:nowrap}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--col-teal),var(--col-teal-dim));color:#fff;box-shadow:0 4px 18px #00b4d866}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-glow-teal)}.btn-gold{background:linear-gradient(135deg,var(--col-gold),var(--col-gold-dim));color:var(--col-ocean-deep);box-shadow:0 4px 18px #f4c84259}.btn-gold:hover:not(:disabled){box-shadow:var(--shadow-glow-gold)}.btn-ghost{background:transparent;color:var(--col-teal);border:1px solid var(--col-teal-dim)}.btn-ghost:hover:not(:disabled){background:#00b4d81a}.btn-danger{background:linear-gradient(135deg,var(--col-coral),#b54040);color:#fff}.input{width:100%;padding:var(--sp-3) var(--sp-4);background:#ffffff0d;border:1px solid var(--col-glass-border);border-radius:var(--r-md);color:var(--col-text);font-family:var(--font-body);font-size:1rem;outline:none;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--col-teal);box-shadow:0 0 0 3px #00b4d833}.input::placeholder{color:var(--col-text-muted)}.input option{background:#fff;color:#0a1e34}.input option:checked{background:#256fd2;color:#fff}.lobby-root{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-8) var(--sp-4);gap:var(--sp-6)}.lobby-title{font-family:var(--font-display);font-size:clamp(2rem,6vw,3.5rem);font-weight:700;text-align:center;background:linear-gradient(135deg,var(--col-teal) 0%,var(--col-gold) 60%,var(--col-lavender) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;letter-spacing:.04em;filter:drop-shadow(0 0 20px rgba(0,180,216,.3))}.lobby-subtitle{color:var(--col-text-muted);font-size:1rem;text-align:center;font-style:italic}.lobby-card{width:100%;max-width:460px;padding:var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-5)}.lobby-section-title{font-family:var(--font-display);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--col-teal);margin-bottom:var(--sp-1)}.lobby-divider{display:flex;align-items:center;gap:var(--sp-4);color:var(--col-text-muted);font-size:.8rem}.lobby-divider:before,.lobby-divider:after{content:"";flex:1;height:1px;background:var(--col-glass-border)}.room-code-display{font-family:var(--font-body);font-size:2.5rem;font-weight:700;letter-spacing:.3em;color:var(--col-gold);text-align:center;text-shadow:var(--shadow-glow-gold);animation:pulse 2.5s ease-in-out infinite}.room-access-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0 4px}.room-create-switch{width:100%;justify-content:center;margin-bottom:12px}.switch-control{display:inline-flex;align-items:center;gap:8px;color:var(--col-text);font-size:.9rem;cursor:pointer;-webkit-user-select:none;user-select:none}.switch-control input{width:18px;height:18px;accent-color:var(--col-gold)}.switch-control:has(input:disabled){cursor:default;opacity:.65}@keyframes pulse{0%,to{opacity:1}50%{opacity:.75}}.player-list{display:flex;flex-direction:column;gap:var(--sp-2)}.player-badge{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2) var(--sp-4);background:#ffffff0a;border:1px solid var(--col-glass-border);border-radius:var(--r-md);font-size:.9rem}.player-badge .ready-dot{width:8px;height:8px;border-radius:50%;background:var(--col-text-muted);transition:background .3s}.player-badge.is-ready .ready-dot{background:#4ade80;box-shadow:0 0 6px #4ade80}.story-deck-panel{display:flex;flex-direction:column;gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--col-glass-border)}.story-deck-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.story-deck-count{display:block;color:var(--col-gold);font-size:1.05rem}.story-deck-copy{flex-shrink:0;padding:var(--sp-2) var(--sp-3);font-size:.75rem}.story-deck-copy-text,.story-deck-blocked{margin:0;color:var(--col-text-muted);font-size:.85rem;line-height:1.45}.story-deck-blocked{color:var(--col-coral)}.story-deck-words{max-height:100px;overflow-y:auto;padding:var(--sp-3) 0;color:var(--col-text);font-size:.92rem;line-height:1.55;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.story-deck-continue{color:var(--col-coral);border-color:#ff6b6b73;white-space:normal}.error-msg{color:var(--col-coral);font-size:.85rem;text-align:center;padding:var(--sp-2) var(--sp-4);background:#ff6b6b1a;border-radius:var(--r-md);border:1px solid rgba(255,107,107,.25)}.game-root{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;min-height:100vh;max-height:100vh;overflow:hidden}.turn-indicator{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-6);background:var(--col-overlay);border-bottom:1px solid var(--col-glass-border);gap:var(--sp-4);flex-wrap:wrap}.turn-phase-label{font-family:var(--font-display);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--col-teal)}.turn-player-list{display:flex;gap:var(--sp-3)}.turn-player-chip{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full);font-size:.8rem;background:#ffffff0d;border:1px solid var(--col-glass-border);transition:border-color .2s,background .2s}.turn-player-chip.is-suitor{border-color:var(--col-gold);background:#f4c8421a;color:var(--col-gold)}.turn-player-chip.has-played{border-color:#4ade80;background:#4ade801a}.timer-bar-wrap{flex:1;max-width:200px;height:4px;background:#ffffff1a;border-radius:var(--r-full);overflow:hidden}.timer-bar{height:100%;background:linear-gradient(90deg,var(--col-teal),var(--col-gold));border-radius:var(--r-full);transition:width 1s linear}.timer-bar.urgent{background:linear-gradient(90deg,var(--col-coral),#ff4040)}.game-main{display:grid;grid-template-columns:clamp(220px,18vw,340px) minmax(360px,1fr) clamp(220px,16vw,300px) clamp(200px,13vw,240px);gap:clamp(12px,1.4vw,24px);padding:clamp(14px,2vh,28px) clamp(18px,2vw,36px);overflow:hidden;min-height:0;align-items:stretch}.center-stage-column,.right-tools-column{display:flex;flex-direction:column;min-height:0}.right-tools-column{gap:12px;z-index:5}.deck-zone{position:relative;display:flex;justify-content:center;align-items:flex-end;gap:var(--sp-3);padding:var(--sp-3);background:#0000004d;border-radius:var(--r-md);min-height:112px;flex:0 0 auto}.pile-card{width:70px;height:96px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000080;color:#fff;font-weight:700;text-align:center;padding:var(--sp-2);font-size:.82rem;line-height:1.2}.pile-card-deck{background:linear-gradient(135deg,#264653,#1a2f3a);border:2px solid var(--col-teal)}.pile-card-discard{background:linear-gradient(135deg,#3a2a4a,#1c1f34);border:2px solid var(--col-lavender)}.pile-count{font-size:.66rem;font-weight:400;margin-top:var(--sp-1);opacity:.86}.deck-zone.is-reshuffling .pile-card-discard{animation:discardToDeck .9s var(--ease-out) both}.deck-zone.is-reshuffling .pile-card-deck{animation:deckShufflePulse 1.1s ease both}.swap-card-flight-layer,.card-cycle-flight-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1450;pointer-events:none;perspective:1000px}.image-peek-flight-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1445;pointer-events:none;perspective:1000px}.swap-card-ghost{--i: 0;--start-x: 50vw;--start-y: 85vh;--slot-x: 50vw;--slot-y: 85vh;--deck-x: 78vw;--deck-y: 50vh;--discard-x: 88vw;--discard-y: 50vh;--gather-x: 50vw;--gather-y: 84vh;--card-w: 64px;--card-h: 86px;--rot: 0deg;position:absolute;left:var(--start-x);top:var(--start-y);width:var(--card-w);height:var(--card-h);opacity:1;transform-style:preserve-3d;container-type:inline-size}.swap-card-ghost-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d}.swap-card-ghost-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:7px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 8px 18px #0000006b;border:1px solid rgba(0,180,216,.7)}.swap-card-ghost-front{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px;background:linear-gradient(160deg,#0d2848,#071525);color:var(--col-text);text-align:center}.swap-card-ghost-back{transform:rotateY(180deg);background:radial-gradient(circle at 50% 38%,rgba(244,200,66,.22),transparent 34%),repeating-linear-gradient(45deg,#00b4d81f 0,#00b4d81f 5px,#ffffff08 5px,#ffffff08 10px),linear-gradient(135deg,#264653,#1a2f3a);border-color:#f4c8428c}.swap-card-ghost-pos{position:absolute;top:7px;left:8px;font-family:var(--font-display);font-size:.56rem;color:var(--col-teal)}.swap-card-ghost-word{width:100%;font-family:var(--font-display);font-size:clamp(1.05rem,12cqw,1.35rem);font-weight:700;line-height:1.2;overflow-wrap:break-word;word-break:normal;-webkit-hyphens:none;hyphens:none}.swap-card-flight-layer.gather .swap-card-ghost{animation:swapGather .84s var(--ease-out) both}.swap-card-flight-layer.flipOut .swap-card-ghost{left:var(--gather-x);top:var(--gather-y);transform:rotate(var(--rot)) scale(.76)}.swap-card-flight-layer.flipOut .swap-card-ghost-inner{animation:swapFlipToBack .68s var(--ease-out) both}.swap-card-flight-layer.flyOut .swap-card-ghost{left:var(--gather-x);top:var(--gather-y);animation:swapFlyToDiscard .92s var(--ease-out) both;animation-delay:calc(var(--i) * 48ms)}.swap-card-flight-layer.flyOut .swap-card-ghost-inner,.swap-card-flight-layer.flyIn .swap-card-ghost-inner{transform:rotateY(180deg)}.swap-card-flight-layer.flyIn .swap-card-ghost{left:var(--deck-x);top:var(--deck-y);animation:swapFlyToSlot 1.4s var(--ease-out) both;animation-delay:calc(var(--i) * 68ms)}.swap-card-flight-layer.flipIn .swap-card-ghost{left:var(--slot-x);top:var(--slot-y);transform:rotate(var(--rot)) scale(1)}.swap-card-flight-layer.flipIn .swap-card-ghost-inner{animation:swapFlipToFront .84s var(--ease-out) both}.play-card-flight-layer.flyToCenter .swap-card-ghost,.image-peek-flight-layer.flyToCenter .image-peek-ghost{animation:playCardToCenter .76s var(--ease-out) both;animation-delay:calc(var(--i) * 80ms)}.play-card-flight-layer.flipIn .swap-card-ghost{left:var(--slot-x);top:var(--slot-y);transform:rotate(var(--rot)) scale(1)}.image-peek-flight-layer.flipIn .image-peek-ghost{left:var(--slot-x);top:var(--slot-y);transform:rotate(var(--rot)) scale(1);pointer-events:auto}.play-card-flight-layer.flipIn .swap-card-ghost-inner{animation:swapFlipToBack .58s var(--ease-out) both}.play-card-flight-layer .card-scene,.image-peek-flight-layer .card-scene{width:100%;height:100%;transform:none}.play-card-flight-layer .card-scene.played,.image-peek-flight-layer .card-scene.played{width:100%;height:100%}.image-peek-flight-layer.flipIn .card-scene.selected{transform:scale(1.08)}.image-peek-flight-layer.flipIn .card-scene.selected .card-face{border:3px solid var(--col-gold);box-shadow:var(--shadow-card),0 0 0 4px #f4c84273,var(--shadow-glow-gold)}.play-card-flight-layer.flyToDiscard .swap-card-ghost{left:var(--slot-x);top:var(--slot-y);animation:playCardToDiscard .92s var(--ease-out) both}.play-card-motion-label{position:absolute;left:50%;top:calc(100% + 10px);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--col-gold);font-size:.72rem;font-weight:700;text-align:center;pointer-events:none;text-transform:uppercase}.play-card-motion-label span:last-child{padding:2px 8px;border:1px solid currentColor;border-radius:999px;font-size:.64rem}.card-hold-continue{position:fixed;left:50%;bottom:clamp(118px,16vh,172px);transform:translate(-50%);z-index:1460;min-width:180px;min-height:48px;box-shadow:0 12px 32px #0000006b,var(--shadow-glow-gold)}.card-hold-continue:hover:not(:disabled){transform:translate(-50%) translateY(-2px)}.card-hold-continue:active:not(:disabled){transform:translate(-50%)}@keyframes swapGather{0%{left:var(--start-x);top:var(--start-y);transform:rotate(0) scale(1);opacity:1}to{left:var(--gather-x);top:var(--gather-y);transform:rotate(var(--rot)) scale(.76);opacity:1}}@keyframes swapFlipToBack{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}@keyframes swapFlyToDiscard{0%{left:var(--gather-x);top:var(--gather-y);transform:rotate(var(--rot)) scale(.76);opacity:1}to{left:var(--discard-x);top:var(--discard-y);transform:rotate(calc(var(--rot) + 18deg)) scale(.58);opacity:.15}}@keyframes swapFlyToSlot{0%{left:var(--deck-x);top:var(--deck-y);transform:rotate(calc(var(--rot) - 10deg)) scale(.58);opacity:.2}14%{opacity:1}to{left:var(--slot-x);top:var(--slot-y);transform:rotate(var(--rot)) scale(1);opacity:1}}@keyframes swapFlipToFront{0%{transform:rotateY(180deg)}to{transform:rotateY(0)}}@keyframes playCardToCenter{0%{left:var(--start-x);top:var(--start-y);transform:rotate(0) scale(1);opacity:1}68%{transform:rotate(calc(var(--rot) - 3deg)) scale(1.04)}to{left:var(--slot-x);top:var(--slot-y);transform:rotate(var(--rot)) scale(1);opacity:1}}@keyframes playCardToDiscard{0%{left:var(--slot-x);top:var(--slot-y);transform:rotate(var(--rot)) scale(1);opacity:1}to{left:var(--discard-x);top:var(--discard-y);transform:rotate(calc(var(--rot) + 14deg)) scale(.58);opacity:.18}}.card-scene.is-hidden-placeholder{visibility:hidden;pointer-events:none}.card-cycle-flight-layer.cycleDiscard .card-cycle-ghost{animation:cycleCardToDiscard 1.1s var(--ease-out) both}.card-cycle-flight-layer.cycleDraw .card-cycle-ghost{left:var(--deck-x);top:var(--deck-y);animation:cycleCardToHand 1.4s var(--ease-out) both}.card-cycle-flight-layer.cycleDraw .swap-card-ghost-inner{transform:rotateY(180deg)}.card-cycle-flight-layer.cycleFlip .card-cycle-ghost{left:var(--slot-x);top:var(--slot-y)}.card-cycle-flight-layer.cycleFlip .swap-card-ghost-inner{animation:swapFlipToFront .84s var(--ease-out) both}@keyframes cycleCardToDiscard{0%{left:var(--start-x);top:var(--start-y);transform:rotate(0) scale(1);opacity:1}to{left:var(--discard-x);top:var(--discard-y);transform:rotate(14deg) scale(.58);opacity:.15}}@keyframes cycleCardToHand{0%{left:var(--deck-x);top:var(--deck-y);transform:rotate(-8deg) scale(.58);opacity:.2}14%{opacity:1}to{left:var(--slot-x);top:var(--slot-y);transform:rotate(0) scale(1);opacity:1}}.reshuffle-note{position:absolute;left:50%;bottom:8px;transform:translate(-50%);width:calc(100% - 24px);color:var(--col-gold);font-family:var(--font-display);font-size:.66rem;letter-spacing:.08em;text-align:center;text-transform:uppercase}@keyframes discardToDeck{0%{transform:translate(0) rotate(0);opacity:1}55%{transform:translate(-96px) rotate(-8deg);opacity:.95}to{transform:translate(0) rotate(0);opacity:1}}@keyframes deckShufflePulse{0%,to{box-shadow:0 4px 12px #00000080}45%{box-shadow:var(--shadow-glow-gold);transform:translateY(-4px)}}.priestess-panel{display:flex;flex-direction:column;gap:clamp(10px,1.4vh,18px);min-height:0}.priestess-portrait-wrap{position:relative;width:min(100%,clamp(190px,15vw,270px));aspect-ratio:5 / 6;height:auto;margin:0 auto}.priestess-portrait{width:100%;height:100%;border-radius:50% 50% 48% 52%/60% 60% 40% 40%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:0 0 40px #0009;transition:box-shadow .4s ease}.priestess-portrait:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:inherit;filter:brightness(.4) blur(40px);transform:scale(1.2);z-index:-1}.priestess-silhouette{font-size:6rem;line-height:1;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5));animation:float 4s ease-in-out infinite}.priestess-image{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 25%}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.priestess-portrait-ring{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:inherit;border:2px solid;animation:ringPulse 3s ease-in-out infinite;pointer-events:none}@keyframes ringPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.priestess-name{font-family:var(--font-display);font-size:1.2rem;font-weight:700;text-align:center;letter-spacing:.06em}.priestess-title{font-size:.75rem;color:var(--col-text-muted);text-align:center;font-style:italic}.energy-meter-wrap{padding:clamp(12px,1.5vh,16px);border-radius:var(--r-md);background:#ffffff08;border:1px solid var(--col-glass-border)}.energy-meter-header{display:flex;justify-content:space-between;margin-bottom:var(--sp-2);font-size:.75rem}.energy-label{color:var(--col-text-muted);letter-spacing:.1em;text-transform:uppercase}.energy-value{color:var(--col-gold);font-weight:600;font-family:var(--font-display)}.energy-bar-track{height:10px;background:#ffffff12;border-radius:var(--r-full);overflow:hidden}.energy-bar-fill{height:100%;border-radius:var(--r-full);background:linear-gradient(90deg,var(--col-teal-dim),var(--col-teal),var(--col-gold));transition:width .8s var(--ease-out);position:relative;overflow:hidden}.energy-bar-fill:after{content:"";position:absolute;top:0;left:-100%;right:-100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s linear infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.dialog-box{padding:clamp(12px,1.5vh,16px) var(--sp-5);border-radius:var(--r-md);background:#05101fcc;border:1px solid var(--col-glass-border);font-size:.9rem;line-height:1.65;min-height:clamp(64px,8vh,92px);color:var(--col-text);font-style:italic;position:relative}.dialog-box:before{content:'"';position:absolute;top:-4px;left:var(--sp-3);font-size:3rem;color:var(--col-teal);opacity:.3;font-family:var(--font-display);line-height:1}.typewriter-cursor{display:inline-block;width:2px;height:1em;background:var(--col-teal);margin-left:2px;vertical-align:text-bottom;animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.central-dialog-box{width:min(100%,600px);height:auto;min-height:max-content;margin:clamp(10px,1.8vh,16px) auto;padding:clamp(14px,1.8vh,18px) clamp(16px,3vw,24px);border:1px solid var(--col-gold);border-radius:8px;background:#05101fcc;box-shadow:0 4px 12px #00000080;color:var(--col-gold);font-family:var(--font-body);font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.4;text-align:center;overflow:visible}.central-dialog-text{max-width:100%;overflow-wrap:anywhere;white-space:normal}.play-area{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;height:100%;gap:var(--sp-6)}.play-area-cards{display:flex;gap:clamp(18px,2vw,32px);justify-content:center;flex-wrap:wrap;width:100%}.play-area-hint{font-size:.9rem;color:var(--col-text-muted);text-align:center;font-style:italic}.translation-challenge-prompt{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.translation-challenge-label{font-size:.95rem;color:var(--col-text-muted);font-style:italic}.translation-challenge-word{color:var(--col-gold);font-family:var(--font-display);font-size:2.4rem;font-weight:800;line-height:1.05;overflow-wrap:break-word}.suitor-vote-panel{display:flex;flex-direction:column;align-items:center;gap:var(--sp-5);padding:var(--sp-8);max-width:500px;text-align:center}.vote-heading{font-family:var(--font-display);font-size:1.4rem;color:var(--col-gold);letter-spacing:.06em}.vote-players{display:flex;gap:var(--sp-3);flex-wrap:wrap;justify-content:center}.vote-player-btn{padding:var(--sp-3) var(--sp-6);border-radius:var(--r-full);background:#ffffff0d;border:2px solid var(--col-glass-border);color:var(--col-text);font-size:.95rem;cursor:pointer;transition:all .2s var(--ease-spring)}.vote-player-btn:hover{border-color:var(--col-teal);color:var(--col-teal);transform:translateY(-2px)}.vote-player-btn.voted{border-color:var(--col-gold);color:var(--col-gold);background:#f4c8421a}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.turn-result-panel{align-self:stretch;min-height:0;padding:14px;display:flex;flex-direction:column;gap:10px;justify-content:flex-start;flex:0 1 auto}.turn-result-panel-title{font-family:var(--font-display);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--col-teal)}.result-charm-gained{font-family:var(--font-display);font-size:clamp(1.2rem,1.6vw,1.55rem);font-weight:700;color:var(--col-gold);text-shadow:var(--shadow-glow-gold);line-height:1.08}.result-counter{color:var(--col-coral);font-size:1.5rem}.result-reaction{font-style:italic;font-size:.82rem;color:var(--col-text);line-height:1.45}.result-detail{font-size:.74rem;color:var(--col-text-muted)}.result-detail-list{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--col-glass-border)}.result-total{display:flex;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid var(--col-glass-border);font-size:.76rem;color:var(--col-text-muted)}.score-history-panel{width:100%;height:100%;min-height:0;overflow:hidden;padding:14px;align-self:stretch}.score-history-list{display:flex;flex-direction:column;gap:6px;max-height:calc(100% - 22px);overflow-y:auto;padding-right:4px}.score-history-row{border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:6px}.score-history-main{display:flex;justify-content:space-between;gap:8px;font-size:.72rem}.score-history-turn{color:var(--col-text-muted)}.score-history-points{font-family:var(--font-display);font-weight:700}.score-history-points.positive{color:var(--col-gold)}.score-history-points.zero{color:var(--col-lavender)}.score-history-word{margin-top:2px;color:var(--col-text);font-size:.74rem;line-height:1.25;overflow-wrap:break-word}.game-over-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#05101feb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.game-over-card{padding:var(--sp-12) var(--sp-10);max-width:520px;width:90%;display:flex;flex-direction:column;gap:var(--sp-6);align-items:center;text-align:center}.game-over-title{font-family:var(--font-display);font-size:clamp(2rem,6vw,3rem);font-weight:700;letter-spacing:.08em}.game-over-title.victory{color:var(--col-gold);text-shadow:var(--shadow-glow-gold)}.game-over-title.defeat{color:var(--col-coral);text-shadow:var(--shadow-glow-coral)}.game-over-story{font-size:1.05rem;line-height:1.75;color:var(--col-text);font-style:italic;max-width:380px}.hand-bar{z-index:100;position:relative;z-index:10;padding:clamp(14px,2vh,22px) clamp(20px,3vw,44px);background:linear-gradient(180deg,#05101ffa,#05101fe8 42%,#040c18fa);border-top:1px solid var(--col-glass-border);display:flex;flex-direction:column;gap:clamp(22px,3vh,36px);height:clamp(185px,22vh,220px);min-height:0;overflow:hidden;box-shadow:0 -18px 36px #00000042}.hand-label{width:fit-content;font-family:var(--font-display);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--col-text-muted);pointer-events:none;z-index:0;position:relative}.hand-cards{display:flex;gap:clamp(14px,1.4vw,24px);overflow-x:auto;overflow-y:hidden;padding:0 0 var(--sp-3);scrollbar-width:none;justify-content:center;align-items:stretch;min-height:0;flex:1}.hand-cards::-webkit-scrollbar{display:none}.hand-bar.is-swap-animating .hand-cards{opacity:0}.help-controls{position:relative;z-index:50;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-6);background:var(--col-overlay);border-top:1px solid var(--col-glass-border);font-size:.85rem;flex-wrap:wrap}.help-token-display{display:flex;gap:var(--sp-2);align-items:center}.help-token{width:14px;height:14px;border-radius:50%;background:var(--col-lavender);box-shadow:0 0 8px var(--col-lavender);transition:opacity .3s}.help-token.spent{opacity:.2;background:var(--col-text-muted);box-shadow:none}.card-scene{width:clamp(160px,9vw,200px);aspect-ratio:3 / 4;height:auto;flex-shrink:0;perspective:900px;cursor:pointer;position:relative;z-index:1;container-type:inline-size}.card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .55s var(--ease-out)}.card-scene.flipped .card-inner{transform:rotateY(180deg)}.card-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r-md);backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--col-glass-border);display:flex;flex-direction:column}.card-face-back{transform:rotateY(180deg)}.card-scene{transition:transform .2s var(--ease-spring)}.card-scene:hover:not(.not-selectable){transform:translateY(-8px) scale(1.04);z-index:10}.card-scene.selected{transform:translateY(-12px) scale(1.06);z-index:10}.card-scene.selected .card-face{border-color:var(--col-gold);box-shadow:var(--shadow-card),var(--shadow-glow-gold)}.card-scene.not-selectable{cursor:default;opacity:.75}.card-scene.is-unavailable{cursor:not-allowed;opacity:.42;filter:saturate(.35)}.card-scene.is-unavailable .card-greek-big,.card-scene.is-unavailable .card-front-emoji,.card-scene.is-unavailable .card-transliteration,.card-scene.is-unavailable .card-pos-badge{color:var(--col-text-muted)}.card-scene.is-story-choice:not(.selected) .card-face-front{border-color:var(--col-teal);box-shadow:var(--shadow-card),0 0 18px #00b4d86b}.card-face-front{justify-content:flex-start;padding:var(--sp-4)}.card-front-content{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0;width:100%;height:100%;padding:24% 0 38%;gap:6px;text-align:center}.card-front-emoji{position:absolute;top:var(--sp-2);left:var(--sp-3);min-width:18px;font-family:var(--font-display);font-size:.85rem;font-weight:700;line-height:1;color:var(--col-text)}.card-greek-big{width:100%;min-width:0;font-family:var(--font-display);font-size:clamp(1.05rem,12cqw,1.35rem);font-weight:700;line-height:1.2;color:var(--col-text);overflow-wrap:break-word;word-break:normal;-webkit-hyphens:none;hyphens:none}.card-img{flex:1;object-fit:cover;width:100%;background:var(--col-ocean-surface)}.card-img-placeholder{flex:1;display:flex;align-items:center;justify-content:center;font-size:2.5rem}.card-body{padding:var(--sp-2);background:linear-gradient(180deg,transparent,rgba(5,16,31,.95));position:absolute;bottom:0;left:0;right:0}.card-greek{font-family:var(--font-display);font-size:.85rem;font-weight:600;color:#fff;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-transliteration{font-size:.65rem;color:var(--col-teal);font-style:italic}.card-pos-badge{position:absolute;top:var(--sp-2);right:var(--sp-2);font-size:.55rem;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:var(--r-full);font-weight:600;background:#05101fb3;color:var(--col-teal);border:1px solid var(--col-teal-dim)}.card-face-back{background:linear-gradient(135deg,var(--col-ocean-surface),var(--col-ocean-mid));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-3)}.card-english{font-family:var(--font-display);font-size:1rem;font-weight:600;text-align:center;color:var(--col-gold)}.card-reveal-back{background:linear-gradient(160deg,#0d1f38,#050e1c)!important;border-color:#f4c84266!important;box-shadow:var(--shadow-card),0 0 20px #f4c84233!important}.card-english-reveal{font-family:var(--font-display);font-size:.9rem;font-weight:700;color:var(--col-gold);text-shadow:0 0 10px rgba(244,200,66,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-reveal-back.image-only .card-body{bottom:12%;background:none}.card-reveal-back.image-only .card-transliteration{display:block;width:100%;font-family:var(--font-display);font-size:clamp(1.05rem,13cqw,1.6rem);font-style:normal;font-weight:800;line-height:1.2;text-align:center;white-space:normal;overflow-wrap:break-word;color:var(--col-gold);text-shadow:0 2px 10px rgba(0,0,0,.95),0 0 6px rgba(0,0,0,.8)}.card-scene.played{height:auto}.hand-cards .card-scene{transform:translateY(18%)}.hand-cards .card-scene:hover:not(.not-selectable){transform:translateY(14%) scale(1.04)}.hand-cards .card-scene.selected{transform:translateY(12%) scale(1.06)}.hand-cards .card-scene .card-face{border-bottom-left-radius:0;border-bottom-right-radius:0}@media (max-width: 1100px){.game-main{grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);grid-template-rows:minmax(0,1fr) auto}.turn-result-panel{grid-column:1 / -1;min-height:120px;justify-content:flex-start}}@media (max-width: 760px){.game-root{max-height:none;overflow:auto}.game-main{grid-template-columns:1fr}.turn-result-panel{grid-column:auto}.hand-bar{height:auto;min-height:220px}.hand-cards{justify-content:flex-start}}@keyframes cardFlipIn{0%{opacity:0;transform:rotateY(-90deg) scale(.8)}to{opacity:1;transform:rotateY(0) scale(1)}}.card-scene.animating-in{animation:cardFlipIn .5s var(--ease-spring) forwards}.text-gold{color:var(--col-gold)}.text-teal{color:var(--col-teal)}.text-muted{color:var(--col-text-muted)}.text-coral{color:var(--col-coral)}.font-display{font-family:var(--font-display)}.badge{display:inline-block;padding:2px 10px;border-radius:var(--r-full);font-size:.75rem;font-weight:600;letter-spacing:.06em}.badge-teal{background:#00b4d826;color:var(--col-teal);border:1px solid var(--col-teal-dim)}.badge-gold{background:#f4c84226;color:var(--col-gold);border:1px solid var(--col-gold-dim)}.badge-coral{background:#ff6b6b26;color:var(--col-coral)}.badge-violet{background:#c77dff26;color:var(--col-lavender)}.fade-in{animation:fadeIn .35s ease both}.slide-up{animation:slideUp .35s var(--ease-out) both}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.tetris-root{min-height:100vh;max-height:100vh;display:flex;flex-direction:column;overflow:hidden}.tetris-hud{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 20px;background:var(--col-overlay);border-bottom:1px solid var(--col-glass-border);flex-wrap:wrap}.hud-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hud-stats{display:flex;gap:16px;flex-wrap:wrap}.hud-stat{font-size:.8rem;color:var(--col-text-muted);letter-spacing:.04em}.hud-stat strong{color:var(--col-text);font-family:var(--font-display);margin-left:4px}.hud-stat.danger strong{color:var(--col-coral)}.tetris-main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) clamp(220px,26vw,340px);gap:clamp(16px,2vw,32px);padding:clamp(14px,2vh,26px) clamp(18px,2.4vw,40px);overflow:hidden}.panel-label{font-family:var(--font-display);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--col-teal);margin-bottom:10px}.field-panel{min-height:0;display:flex;flex-direction:column;overflow:hidden}.field-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:clamp(8px,1vw,16px);overflow:hidden}.field-grid .card-scene{width:100%;height:100%;aspect-ratio:auto;min-height:0}.fall-panel{display:flex;flex-direction:column;min-height:0}.fall-channel{position:relative;flex:1;min-height:0;background:#00000057;border:2px solid var(--col-glass-border);border-radius:var(--r-md);overflow:hidden}.falling-word{position:absolute;left:50%;top:8px;transform:translate(-50%);width:calc(100% - 16px);padding:8px 10px;text-align:center;font-weight:600;font-size:.9rem;color:var(--col-text);background:linear-gradient(135deg,#264653,#1a2f3a);border:1px solid var(--col-teal);border-radius:6px;box-shadow:0 2px 8px #0006,0 0 10px #00b4d859;word-break:break-word;animation-name:wordFall;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes wordFall{0%{top:8px}to{top:max(8px,calc(100% - var(--pile, 0px) - 42px))}}.fall-stack{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column-reverse;gap:4px;padding:8px}.stack-word{background:linear-gradient(135deg,#264653,#1a2f3a);border:1px solid var(--col-teal-dim);border-radius:6px;padding:8px 10px;text-align:center;font-weight:600;font-size:.9rem;color:var(--col-text);box-shadow:0 2px 8px #0006}.stack-deck{background:linear-gradient(135deg,#1a2f3a,#0d1b27);border:2px dashed var(--col-teal-dim);border-radius:6px;padding:6px;text-align:center;font-family:var(--font-display);font-size:.7rem;letter-spacing:.12em;color:var(--col-text-muted)}.fall-hint{margin-top:8px;font-size:.82rem;color:var(--col-text-muted);font-style:italic;text-align:center}.card-scene.is-solved{opacity:.7;pointer-events:none}.card-solved-mark{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:2.4rem;color:var(--col-gold);text-shadow:0 0 12px rgba(244,200,66,.8);pointer-events:none}.card-english-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:6px;font-family:var(--font-display);font-weight:800;font-size:clamp(1.1rem,18cqw,2rem);line-height:1.1;color:#fff;overflow-wrap:break-word;background:#05101f80;text-shadow:0 2px 10px rgba(0,0,0,.9),0 0 14px rgba(244,200,66,.55);pointer-events:none}@media (max-width: 760px){.tetris-root{max-height:none;overflow:auto}.tetris-main{grid-template-columns:1fr;grid-template-rows:1fr auto}.fall-channel{min-height:300px}}
