:root{color-scheme:dark;--bg:#050a10;--panel:rgba(7,13,20,.94);--gold:#d8a847;--gold2:#f4cf75;--cream:#f6ead2;--line:rgba(231,190,102,.42);--controls-h:100px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at 50% 10%,#283626 0,#0a1518 35%,#03070c 78%,#010306 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--cream);touch-action:none}
body{display:grid;place-items:center}
#app{position:relative;width:min(100vw,calc(100dvh * 9 / 16));height:min(100dvh,calc(100vw * 16 / 9));aspect-ratio:9/16;overflow:hidden;background:#050b11;box-shadow:0 0 0 1px rgba(228,181,82,.25),0 0 0 7px rgba(5,10,16,.85),0 24px 90px rgba(0,0,0,.7)}
#app:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;box-shadow:inset 0 0 68px rgba(0,0,0,.48),inset 0 0 0 1px rgba(255,218,132,.08)}
canvas{display:block;width:100%;height:calc(100% - var(--controls-h));background:#07111f;touch-action:none}
.overlay{position:absolute;left:0;right:0;top:0;bottom:var(--controls-h);display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 16px max(16px,env(safe-area-inset-left));background:radial-gradient(circle at 50% 28%,rgba(99,73,24,.24),transparent 38%),linear-gradient(rgba(2,6,10,.58),rgba(2,6,10,.83));backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:.2s ease;z-index:10}
.overlay.visible{opacity:1;visibility:visible}
.panel{position:relative;overflow:hidden;width:min(92%,460px);padding:24px 20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(17,24,27,.96),rgba(5,9,13,.985));box-shadow:0 24px 80px rgba(0,0,0,.62),inset 0 0 0 1px rgba(255,255,255,.025);text-align:center}
.panel:before,.panel:after{content:"";position:absolute;left:18px;right:18px;height:1px;background:linear-gradient(90deg,transparent,var(--gold2),transparent);opacity:.55}.panel:before{top:12px}.panel:after{bottom:12px}
.start-panel{padding-top:14px}.temple-glow{position:absolute;left:50%;top:-85px;width:280px;height:280px;transform:translateX(-50%);background:radial-gradient(circle,rgba(238,185,72,.18),transparent 68%);pointer-events:none}
.brand-logo{position:relative;z-index:1;display:block;width:min(150px,37vw);height:auto;aspect-ratio:1;object-fit:contain;margin:0 auto 2px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.7)) drop-shadow(0 0 16px rgba(231,175,58,.18))}
.eyebrow{margin:7px 0;color:var(--gold2);font-size:.66rem;letter-spacing:.24em;font-weight:900;text-shadow:0 0 12px rgba(238,190,90,.16)}
h1,h2{margin:5px 0 9px;font-family:Georgia,"Times New Roman",serif;letter-spacing:.08em;color:#fff4d8;text-shadow:0 2px 0 #533b15,0 0 20px rgba(229,175,62,.18)}h1{font-size:clamp(1.8rem,8vw,2.8rem)}h2{font-size:clamp(1.55rem,6vw,2.2rem)}
.subtitle,.controls,#messageText{line-height:1.46;color:#d4d8d7}.subtitle{margin-top:5px}.controls{font-size:.75rem;margin:14px 0 0;color:#bec7c9}
.primary{position:relative;min-width:195px;margin-top:12px;padding:13px 22px;border:1px solid #ffe6a7;border-radius:5px;background:linear-gradient(180deg,#f0c35f 0,#c58b28 58%,#8c5b18 100%);color:#11100d;font-weight:950;letter-spacing:.13em;cursor:pointer;box-shadow:0 0 0 3px rgba(91,57,14,.9),0 0 0 4px rgba(244,201,108,.6),0 10px 28px rgba(0,0,0,.42),inset 0 2px rgba(255,245,196,.55)}
.primary:active{transform:translateY(1px)}
.icon-button{position:absolute;z-index:5;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));width:42px;height:42px;border:1px solid rgba(242,197,100,.45);border-radius:5px;background:linear-gradient(180deg,rgba(20,25,27,.92),rgba(5,9,12,.96));color:#f7d47c;font-size:18px;display:none;box-shadow:0 8px 18px rgba(0,0,0,.35)}.icon-button.visible{display:block}
.mobile-controls{position:absolute;z-index:7;left:0;right:0;bottom:0;height:var(--controls-h);display:grid;grid-template-columns:1fr 112px 1fr;gap:10px;align-items:center;padding:10px max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:linear-gradient(180deg,#121a1d,#05090d 78%);border-top:1px solid rgba(234,190,92,.5);box-shadow:0 -12px 32px rgba(0,0,0,.48)}
.move-button{height:70px;border:1px solid #edc66f;border-radius:12px;background:linear-gradient(180deg,#2b3333,#11181b 58%,#080c10);color:#f6d57f;font-size:38px;font-weight:900;box-shadow:inset 0 1px rgba(255,255,255,.12),0 7px 18px rgba(0,0,0,.38);touch-action:manipulation;user-select:none}.move-button.active{background:linear-gradient(180deg,#f0c35f,#b8791f 68%,#754511);color:#0b0a07;box-shadow:0 0 0 2px rgba(255,228,156,.35),0 0 22px rgba(222,166,56,.45)}
.direction-status{text-align:center;color:#9eaaa9;font-size:.55rem;letter-spacing:.16em;line-height:1.4}.direction-status strong{display:block;margin-top:3px;color:#f0c869;font-size:.72rem;letter-spacing:.08em}
@media(min-width:800px){:root{--controls-h:92px}.mobile-controls{grid-template-columns:1fr 125px 1fr}.move-button{height:64px}.panel{width:min(88%,440px)}}
@media(max-height:670px){.panel{padding:14px 18px}.brand-logo{width:105px}h1{font-size:1.7rem}.controls{margin-top:7px}.primary{padding:10px 18px}.subtitle{margin:1px 0}.mobile-controls{height:88px}.move-button{height:62px}:root{--controls-h:88px}}
