:root{--bg-color:#0f172a;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--accent-red:#b91c1c;--accent-green:#15803d;--accent-blue:#1d4ed8;--card-bg:#1e293b;--shadow-heavy:0 10px 25px rgba(0, 0, 0, 0.5);--font-ui:'Press Start 2P',monospace;--font-story:'Roboto',sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-story);height:100vh;height:100dvh;overflow:hidden;display:flex;justify-content:center}#game-container{width:100%;max-width:450px;height:100%;min-height:0;display:flex;flex-direction:column;position:relative;background:radial-gradient(circle at top,#1e293b 0,var(--bg-color) 100%)}#stats-hud{display:flex;flex-direction:column;padding:1.5rem 1rem .5rem;background:linear-gradient(to bottom,rgba(15,23,42,.9),transparent);z-index:20}.stats-row{display:flex;justify-content:space-around;width:100%;margin-bottom:.75rem}#days-counter{font-family:var(--font-ui);font-size:.8rem;color:var(--text-secondary);text-align:center;letter-spacing:1px;text-shadow:0 2px 4px rgba(0,0,0,.8)}.stat-container{display:flex;flex-direction:column;align-items:center;gap:8px;width:25%}.stat-icon{width:24px;height:24px;object-fit:contain;background-color:transparent}.stat-bar-bg{width:100%;height:8px;background:rgba(255,255,255,.1);border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.05)}.stat-bar-fill{height:100%;width:50%;transition:width .4s cubic-bezier(.4, 0, .2, 1)}#bar-lumberjack{background-color:var(--accent-red)}#bar-werewolf{background-color:var(--accent-green)}#bar-navigator{background-color:var(--accent-blue)}.stat-dot{width:6px;height:6px;border-radius:50%;background:#fff;position:absolute;top:-12px;opacity:0;transition:opacity .2s,transform .2s}.stat-dot.show{opacity:1;transform:scale(1.2)}.stat-dot.positive{box-shadow:0 0 8px #4ade80}.stat-dot.negative{box-shadow:0 0 8px #f87171}#swipe-area{flex:1;position:relative;display:flex;align-items:center;justify-content:center;perspective:1000px}.card{position:absolute;width:85%;max-width:380px;height:70dvh;max-height:600px;background-color:var(--card-bg);border-radius:20px;box-shadow:var(--shadow-heavy);display:flex;flex-direction:column;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(white,black);mask-image:radial-gradient(white,black);user-select:none;-webkit-user-select:none;touch-action:none;transition:background-color .3s ease}.flip-container{perspective:1000px;background-color:transparent!important;box-shadow:none!important}.card-inner{position:relative;width:100%;height:100%;transition:transform .3s ease-out;transform-style:preserve-3d;border-radius:inherit}.card-inner.is-flipped{transform:rotateY(180deg)}.card-back,.card-front{position:absolute;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:inherit;overflow:hidden;background-color:var(--card-bg)}.card-front{transform:rotateY(180deg);display:flex;flex-direction:column}.card-back{background-color:#1e293b;background-image:repeating-linear-gradient(45deg,transparent,transparent 15px,rgba(0,0,0,.2) 15px,rgba(0,0,0,.2) 30px);border:8px solid #0f172a;box-sizing:border-box}#next-card .card-front{background-color:#131c2e}.deck-stack-underlay{position:absolute;width:85%;max-width:380px;height:70dvh;max-height:600px;background-color:#0d1527;border-radius:20px;box-shadow:0 5px 0 -1px #0a0f1e,0 10px 0 -2px #050a14,inset 0 0 30px rgba(0,0,0,.5);transform:scale(.95) translateY(10px);transform-origin:50% 100%;z-index:1;pointer-events:none}.card-image-placeholder{width:100%;aspect-ratio:1/1;flex-shrink:0;max-height:55%;background-color:#0f172a;background-size:cover;background-position:center}.card-content{flex:1;padding:1.5rem;text-align:center;display:flex;flex-direction:column;justify-content:center;overflow-y:auto;scrollbar-width:none}.card-content::-webkit-scrollbar{display:none}.card-title{font-family:var(--font-ui);font-size:.9rem;margin-bottom:1rem;color:#e2e8f0;line-height:1.4;text-transform:uppercase;letter-spacing:1px}.card-text{font-size:1.1rem;line-height:1.6;color:var(--text-secondary);font-family:'Departure Mono',monospace}#current-card{z-index:30;cursor:grab;transform-origin:50% 100%;box-shadow:0 10px 30px rgba(0,0,0,.7),0 4px 10px rgba(0,0,0,.5)}#current-card:active{cursor:grabbing}.swipe-glow-left{box-shadow:-20px 0 40px rgba(255,255,255,.15),var(--shadow-heavy)!important}.swipe-glow-right{box-shadow:20px 0 40px rgba(255,255,255,.15),var(--shadow-heavy)!important}.swipe-glow-up{box-shadow:0 -20px 40px rgba(255,255,255,.15),var(--shadow-heavy)!important}#next-card{z-index:5;transform:scale(.95) translateY(10px);opacity:1;transition:opacity .3s ease,transform .3s ease}.swipe-hint{position:absolute;top:20px;padding:.5rem 1rem;font-family:var(--font-ui);font-size:.7rem;text-transform:uppercase;border:2px solid #fff;border-radius:8px;opacity:0;pointer-events:none;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);transition:opacity .1s;max-width:65%;text-align:center;line-height:1.3}.left-hint{right:20px;transform:rotate(10deg);color:#f87171;border-color:#f87171}.right-hint{left:20px;transform:rotate(-10deg);color:#4ade80;border-color:#4ade80}.up-hint{bottom:20px;top:auto;left:50%;transform:translateX(-50%);color:#60a5fa;border-color:#60a5fa}.down-hint{bottom:auto;top:20px;left:50%;transform:translateX(-50%);color:#eab308;border-color:#eab308}.adaptive-feedback,.adaptive-guidance,.hud-help-btn,.stats-help-panel{display:none}body.presentation-adaptive .adaptive-guidance{display:block;position:absolute;inset:0;z-index:12;pointer-events:none}body.presentation-adaptive #current-card .card-content{padding-bottom:4.25rem}body.presentation-adaptive .hud-help-btn{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:rgba(255,255,255,.8);background:rgba(15,23,42,.7);font:700 0.8rem var(--font-ui);cursor:pointer}body.presentation-adaptive .stats-help-panel{position:fixed;display:flex;top:126px;left:50%;z-index:80;width:min(330px,calc(100vw - 32px));transform:translateX(-50%);flex-direction:column;gap:7px;padding:14px 16px;border:1px solid rgba(148,163,184,.35);border-radius:12px;background:rgba(8,15,28,.96);box-shadow:0 14px 40px rgba(0,0,0,.45);color:#e2e8f0;font:0.76rem/1.4 var(--font-ui)}body.presentation-adaptive .stats-help-panel[hidden]{display:none}.stats-help-panel small{color:#94a3b8}.choice-rail{position:absolute;display:none;min-width:44px;min-height:44px;align-items:center;gap:6px;padding:7px 9px;border:1px solid rgba(255,255,255,.16);max-width:calc(50% - 14px);box-sizing:border-box;border-radius:8px;background:rgba(7,13,24,.72);color:rgba(255,255,255,.72);font:700 0.64rem/1.2 var(--font-ui);text-transform:uppercase;letter-spacing:.04em;pointer-events:auto;cursor:pointer;opacity:.5;transition:opacity 180ms ease,transform 180ms ease,border-color 180ms ease,background 180ms ease;touch-action:manipulation}.choice-rail.is-visible{display:inline-flex}.choice-rail.is-expanded,.choice-rail.is-selected,.choice-rail:focus-visible{opacity:.96}.choice-rail.is-selected{border-color:#f8fafc;background:rgba(15,23,42,.96)}.choice-rail.is-blocked{opacity:.28;border-style:dashed}.choice-rail .rail-label{display:none;min-width:0;max-width:150px;white-space:normal;overflow-wrap:anywhere}.choice-rail.is-expanded .rail-label,.choice-rail.is-selected .rail-label{display:inline}.rail-chevron{font-size:1.2rem;line-height:.8}.rail-left{left:8px;top:50%;transform:translateY(-50%)}.rail-right{right:8px;top:50%;transform:translateY(-50%)}.rail-up{left:50%;top:8px;transform:translateX(-50%);flex-direction:column;gap:1px}.rail-down{left:50%;bottom:8px;transform:translateX(-50%);flex-direction:column-reverse;gap:1px}body[data-guidance-style=edge-v2] .rail-left,body[data-guidance-style=edge-v2] .rail-right{top:27.5%;max-width:none}body[data-guidance-style=edge-v2] .rail-left{justify-content:flex-start}body[data-guidance-style=edge-v2] .rail-right{justify-content:flex-end}body[data-guidance-style=edge-v2] .rail-left .rail-label,body[data-guidance-style=edge-v2] .rail-right .rail-label{display:block;flex:1 1 auto;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}body[data-guidance-style=edge-v2] .choice-rail:not(.is-expanded):not(.is-selected) .rail-label{visibility:hidden;width:0;flex:0 0 0}body[data-guidance-style=edge-v2] .choice-rail.is-long{font-size:.5rem;letter-spacing:0}body[data-guidance-style=edge-v2] .choice-rail.is-very-long .rail-label{-webkit-line-clamp:3;line-clamp:3}@media (max-width:340px){body[data-guidance-style=edge-v2] .rail-left,body[data-guidance-style=edge-v2] .rail-right{font-size:.54rem;letter-spacing:0}body[data-guidance-style=edge-v2] .choice-rail.is-long .rail-label{-webkit-line-clamp:3;line-clamp:3}}.continue-choice-btn{position:absolute;display:none;left:50%;bottom:14px;transform:translateX(-50%);z-index:2;width:154px;max-width:calc(100% - 28px);min-height:44px;box-sizing:border-box;align-items:center;justify-content:center;gap:6px;padding:.8rem .85rem;overflow:hidden;border:none;border-radius:8px;background:var(--text-primary);color:var(--bg-color);box-shadow:0 4px 15px rgba(255,255,255,.1);font:700 0.78rem/1 var(--font-ui);text-transform:uppercase;white-space:nowrap;pointer-events:auto;cursor:pointer;touch-action:manipulation}.continue-choice-btn span{flex:0 0 auto;line-height:1}.continue-choice-btn.is-visible{display:inline-flex}.continue-choice-btn:active{transform:translateX(-50%) scale(.95)}.continue-choice-btn.is-nudging{animation:continue-nudge .7s ease-out 1}@keyframes continue-nudge{45%{transform:translateX(calc(-50% + 7px))}}.choice-confirm-panel{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:8px;width:calc(100% - 28px);pointer-events:auto}.choice-confirm-panel[hidden]{display:none}.cancel-choice-btn,.confirm-choice-btn{min-height:44px;border-radius:8px;font:700 0.65rem var(--font-ui);cursor:pointer}.confirm-choice-btn{flex:1;border:1px solid #60a5fa;background:#1d4ed8;color:#fff}.cancel-choice-btn{border:1px solid #64748b;background:rgba(15,23,42,.9);color:#cbd5e1}.adaptive-feedback{position:absolute;left:50%;top:12px;display:none;z-index:30;box-sizing:border-box;width:max-content;max-width:calc(100% - 30px);transform:translateX(-50%);padding:7px 10px;border-radius:8px;background:rgba(7,13,24,.92);color:#e2e8f0;font:0.64rem/1.35 var(--font-ui);text-align:center;pointer-events:none}.adaptive-feedback.is-visible{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px 12px}.adaptive-feedback.feedback-consequence{top:auto;bottom:8px}.adaptive-feedback .feedback-line{display:block}.adaptive-feedback .feedback-arrow{color:#e2e8f0}.adaptive-feedback .stat-lumberjack{color:var(--accent-red)}.adaptive-feedback .stat-navigator{color:var(--accent-blue)}.adaptive-feedback .stat-werewolf{color:var(--accent-green)}.adaptive-feedback.is-stacked{display:grid;grid-template-columns:1fr;gap:2px;text-align:left}body[data-guidance-style=edge-v2] .adaptive-feedback,body[data-guidance-style=edge-v2] .adaptive-feedback.feedback-consequence{top:55%;bottom:auto;transform:translate(-50%,-50%);width:calc(100% - 28px);min-height:44px;padding:7px 12px;border:1px solid rgba(148,163,184,.32);box-shadow:0 6px 18px rgba(0,0,0,.28);background:rgba(7,13,24,.94)}.swipe-glow-down{box-shadow:0 20px 40px rgba(255,255,255,.15),var(--shadow-heavy)!important}@media (prefers-reduced-motion:reduce){.continue-choice-btn.is-nudging{animation:none}.adaptive-feedback,.choice-rail{transition:none}}.app-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,20px));background:linear-gradient(to top,rgba(15,23,42,.9),transparent);z-index:20;flex-shrink:0}.brand-container{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.created-by{font-size:.6rem;color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase}.footer-logo{height:18px;width:auto;opacity:.8;transition:opacity .2s ease,transform .2s ease}.footer-logo:hover{opacity:1;transform:scale(1.05)}#restart-btn{background:0 0;border:1px solid var(--border);color:var(--text-secondary);padding:.5rem 1rem;border-radius:4px;font-family:var(--font-ui);font-size:.6rem;cursor:pointer;transition:all .2s;text-transform:uppercase;box-shadow:0 4px 15px rgba(255,255,255,.1);transition:transform .1s,box-shadow .1s}#restart-btn:hover{background:var(--text-secondary);color:var(--bg-color)}.primary-btn:active{transform:scale(.95);box-shadow:0 2px 5px rgba(255,255,255,.1)}.fullscreen-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--bg-color);z-index:100;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .5s ease}#game-over-screen{background-image:url('images/ui/bg_gameover.webp');background-size:cover;background-position:center}#game-over-screen::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.45);z-index:1}.scanlines{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(rgba(18,16,16,0) 50%,rgba(0,0,0,.25) 50%),linear-gradient(90deg,rgba(255,0,0,.06),rgba(0,255,0,.02),rgba(0,0,255,.06));background-size:100% 4px,3px 100%;pointer-events:none;z-index:1}#game-over-screen .overlay-content{background:rgba(15,23,42,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;box-shadow:0 8px 32px rgba(0,0,0,.5);width:90%;max-width:400px}.blink{animation:blinker 1s linear infinite}@keyframes blinker{50%{opacity:0}}.fullscreen-overlay.active{opacity:1;pointer-events:auto;z-index:999}.fullscreen-overlay.hidden{display:none}.overlay-content{text-align:center;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.overlay-logo{width:150px;margin-bottom:1rem;opacity:.9}.game-title{font-family:var(--font-ui);font-size:1.4rem;color:var(--text-primary);line-height:1.4;text-shadow:0 4px 10px rgba(0,0,0,.5)}.game-title.text-red{color:var(--accent-red)}.game-subtitle{font-size:1.1rem;color:var(--text-secondary);max-width:250px;line-height:1.5}.game-cause{font-size:1rem;color:#94a3b8;font-style:italic;margin-top:-.5rem}.metrics-box{margin-top:1rem;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem;width:100%;max-width:300px;display:flex;flex-direction:column;gap:.5rem}.metric-item{font-size:.85rem;color:var(--text-secondary);display:flex;justify-content:space-between;align-items:center}.metric-item span{font-family:var(--font-ui);font-size:.7rem;color:var(--text-primary);text-align:right;white-space:nowrap}.primary-btn{margin-top:1rem;padding:1rem 1.5rem;width:240px;font-family:var(--font-ui);font-size:.9rem;background-color:var(--text-primary);color:var(--bg-color);border:none;border-radius:8px;cursor:pointer;text-transform:uppercase;box-shadow:0 4px 15px rgba(255,255,255,.1);transition:transform .1s,box-shadow .1s;position:relative;z-index:1000}.primary-btn:active{transform:scale(.95);box-shadow:0 2px 5px rgba(255,255,255,.1)}.btn-warning{border-color:var(--accent-red)!important;color:var(--accent-red)!important}.btn-warning:hover{background:var(--accent-red)!important;color:var(--text-primary)!important}.btn-outline{background-color:transparent!important;border:2px solid var(--text-primary)!important;color:var(--text-primary)!important}.btn-outline:hover{background-color:rgba(255,255,255,.1)!important}.btn-feedback{background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.1)!important;color:var(--text-secondary)!important;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);letter-spacing:.5px;box-shadow:none!important}.btn-feedback:hover{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.2)!important;color:var(--text-primary)!important}@keyframes shakeContent{0%{transform:translate(0,0) rotate(0)}25%{transform:translate(-2px,1px) rotate(-1deg)}50%{transform:translate(2px,-1px) rotate(1deg)}75%{transform:translate(-2px,-1px) rotate(-1deg)}100%{transform:translate(2px,1px) rotate(1deg)}}.content-shake{animation:shakeContent .2s infinite alternate}@keyframes fairyTrip{0%{filter:hue-rotate(0deg) saturate(1) blur(0px);-webkit-filter:hue-rotate(0deg) saturate(1) blur(0px)}50%{filter:hue-rotate(30deg) saturate(1.5) blur(1px);-webkit-filter:hue-rotate(30deg) saturate(1.5) blur(1px)}100%{filter:hue-rotate(0deg) saturate(1) blur(0px);-webkit-filter:hue-rotate(0deg) saturate(1) blur(0px)}}body.status-high,body.status-high #game-container{animation:fairyTrip 8s infinite alternate ease-in-out;transform:translateZ(0)}body.status-high #swipe-area{animation:sway 10s infinite alternate ease-in-out}@keyframes sway{0%{transform:perspective(1000px) rotateY(-2deg) rotateX(1deg)}100%{transform:perspective(1000px) rotateY(2deg) rotateX(-1deg)}}@keyframes pulseCritical{0%{box-shadow:0 0 0 0 rgba(220,38,38,.9);filter:brightness(1) drop-shadow(0 0 0 rgba(220, 38, 38, 0));transform:scale(1)}50%{box-shadow:0 0 15px 10px rgba(220,38,38,.5);filter:brightness(1.8) drop-shadow(0 0 10px rgba(220, 38, 38, 1));transform:scale(1.15) translateY(-2px)}100%{box-shadow:0 0 0 0 rgba(220,38,38,0);filter:brightness(1) drop-shadow(0 0 0 rgba(220, 38, 38, 0));transform:scale(1)}}.stat-critical{animation:pulseCritical .8s infinite cubic-bezier(.25,.8,.25,1);background-color:rgba(220,38,38,.2);border-radius:4px;z-index:10}.stat-critical .stat-icon{animation:none}.stat-critical .stat-fill{background-color:var(--accent-red)!important;animation:pulseCritical .8s infinite cubic-bezier(.25,.8,.25,1)}@keyframes screenShake{0%{transform:translate(0,0) rotate(0)}10%{transform:translate(-10px,-10px) rotate(-2deg)}20%{transform:translate(10px,10px) rotate(2deg)}30%{transform:translate(-10px,10px) rotate(-2deg)}40%{transform:translate(10px,-10px) rotate(2deg)}50%{transform:translate(-5px,-5px) rotate(-1deg)}60%{transform:translate(5px,5px) rotate(1deg)}70%{transform:translate(-5px,5px) rotate(-1deg)}80%{transform:translate(5px,-5px) rotate(1deg)}90%{transform:translate(-2px,-2px) rotate(0)}100%{transform:translate(0,0) rotate(0)}}body.screen-shake{animation:screenShake .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes hintFlash{0%{transform:translate(-50%,-50%) scale(.8);opacity:0;filter:drop-shadow(0 0 0 transparent)}50%{transform:translate(-50%,-50%) scale(1.3);opacity:1;filter:drop-shadow(0 0 10px rgba(255, 255, 255, .8))}100%{transform:translate(-50%,-50%) scale(1);opacity:.5;filter:drop-shadow(0 0 0 transparent)}}.hint-flash{animation:hintFlash .6s ease-out forwards}body.low-lucidity::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;box-shadow:inset 0 0 150px rgba(200,0,0,.6);animation:pulse-lucidity 3s infinite alternate;z-index:50}@keyframes pulse-lucidity{0%{box-shadow:inset 0 0 50px rgba(150,0,0,.3)}100%{box-shadow:inset 0 0 200px rgba(255,0,0,.7)}}