:root{font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#f3f0df;background:#06120d;font-synthesis:none;--gold: #f6c453;--green: #16d66d;--ink: #07140f;--navy: #0b1820;--paper: #f3f0df}*{box-sizing:border-box}html,body,#app,#game-shell{width:100%;height:100%;margin:0;overflow:hidden;touch-action:none}button{font:inherit}button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:active{transform:scale(.97)}#game-shell{position:relative;isolation:isolate;background:radial-gradient(circle at 50% 80%,#0b4a2c,#06110d 70%)}.fatal-screen{width:100%;height:100%;display:grid;place-items:center;padding:28px;text-align:center;background:radial-gradient(circle at 50% 70%,#0b4a2c,#06110d 68%)}.fatal-screen>div{width:min(560px,92vw)}.fatal-screen h1{margin:0 0 12px;font:900 clamp(34px,6vw,64px)/1 "Barlow Condensed","Noto Sans SC",sans-serif}.fatal-screen p:not(.eyebrow){margin:0 auto 20px;max-width:480px;color:#f3f0dfa3;line-height:1.7}#world{position:absolute;inset:0}#game-canvas{width:100%;height:100%;display:block}#visual-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 48%,transparent 25%,rgba(1,8,5,.32) 76%,rgba(1,5,4,.78) 100%);z-index:2}.is-hidden{display:none!important}.screen{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.eyebrow{margin:0 0 8px;font:800 clamp(10px,1.1vw,14px)/1 "Barlow Condensed",sans-serif;letter-spacing:.24em;color:var(--gold);text-transform:uppercase}.home-screen{justify-content:flex-start}.home-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;opacity:.76}.home-art.is-missing{display:none}.home-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#030d09f5,#04120cc7 42%,#05130d2e 72%),linear-gradient(0deg,rgba(3,11,8,.74),transparent 54%)}.home-lockup{width:min(590px,56vw);margin-left:clamp(10px,5vw,80px)}.home-lockup h1{margin:0;font-family:Barlow Condensed,Noto Sans SC,sans-serif;line-height:.86;letter-spacing:-.03em;text-transform:uppercase}.home-lockup h1 span{display:block;font-size:clamp(48px,8.8vw,116px);font-weight:900;color:var(--paper);text-shadow:0 9px 35px rgba(0,0,0,.45)}.home-lockup h1 em{display:block;margin-top:10px;font-size:clamp(26px,4.4vw,62px);font-style:normal;font-weight:900;color:transparent;-webkit-text-stroke:1px var(--gold);letter-spacing:.08em}.home-copy{margin:22px 0;font-size:clamp(12px,1.35vw,18px);line-height:1.75;color:#f3f0dfc2}.home-record{margin:14px 0 0;font-size:12px;color:#f3f0df8f;letter-spacing:.08em}.settings-row{position:absolute;right:max(22px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:flex;gap:8px}.text-button{border:1px solid rgba(246,196,83,.26);color:#f3f0dfb8;background:#04120ca6;border-radius:999px;padding:9px 14px;font-size:11px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.primary-button{position:relative;display:inline-flex;width:220px;aspect-ratio:601 / 236;align-items:center;justify-content:center;flex-direction:column;gap:3px;border:0;border-radius:2px;padding:12px 48px 10px;color:var(--paper);background:var(--asset-action-button, none) center/100% 100% no-repeat;filter:drop-shadow(0 14px 28px rgba(0,0,0,.34));text-align:center;cursor:pointer;overflow:hidden}.primary-button:after{content:"";position:absolute;inset:0;transform:translate(-120%);background:linear-gradient(100deg,transparent,rgba(255,255,255,.56),transparent);transition:transform .5s ease}.primary-button:hover:after{transform:translate(120%)}.primary-button>*{position:relative;z-index:1;display:block;pointer-events:none;white-space:nowrap}.primary-button span{font-weight:900;font-size:17px;line-height:1.1;letter-spacing:.08em}.primary-button small{font:800 9px/1 Barlow Condensed;letter-spacing:.18em;opacity:.62}.primary-button.compact{width:180px;padding:10px 38px 8px}.journey-screen{flex-direction:column;background:linear-gradient(110deg,#04100bf5,#081f15e0)}.journey-header{text-align:center;margin-bottom:clamp(10px,2vw,24px)}.journey-header h2{margin:0 0 8px;font:900 clamp(26px,4vw,52px)/1 "Barlow Condensed","Noto Sans SC";letter-spacing:.05em}.journey-header>p:last-child{margin:0;color:#f3f0df94;font-size:12px}.stage-cards{width:min(920px,86vw);display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.stage-card{position:relative;height:min(210px,33vh);border:1px solid rgba(246,196,83,.18);background:linear-gradient(165deg,#16d66d1a,#05120dd1);overflow:hidden}.stage-card:after{content:"";position:absolute;inset:auto 0 0;height:55%;background:linear-gradient(transparent,#030d09f7)}.stage-cast{position:absolute;inset:0;display:flex;justify-content:center;overflow:hidden;background:radial-gradient(circle at 50% 38%,rgba(22,214,109,.14),transparent 62%)}.stage-cast.has-missing-art:before{content:"";position:absolute;left:50%;top:18%;width:54px;height:116px;transform:translate(-50%);opacity:.6;background:linear-gradient(180deg,var(--gold) 0 18%,var(--green) 19% 58%,#10243a 59% 100%);clip-path:polygon(34% 0,66% 0,75% 16%,94% 28%,76% 42%,70% 100%,54% 100%,50% 56%,46% 100%,30% 100%,24% 42%,6% 28%,25% 16%)}.stage-cast img{position:absolute;top:6%;width:62%;height:104%;object-fit:cover;object-position:center top;filter:saturate(.86) contrast(1.06) brightness(.86);border:1px solid rgba(246,196,83,.24);clip-path:polygon(7% 0,100% 0,93% 100%,0 100%);box-shadow:0 12px 28px #00000059}.stage-cast img.is-missing{display:none}.stage-cast-duo img{width:56%;height:96%}.stage-cast-duo img:first-child{top:14%;left:-2%;transform:rotate(-3deg) scale(.92);transform-origin:50% 72%;opacity:.72}.stage-cast-duo img:last-child{top:5%;right:-1%;z-index:1;transform:rotate(2deg)}.stage-card.is-locked img{filter:grayscale(1) saturate(.2) brightness(.42);opacity:.5}.stage-card.is-locked{border-color:#f3f0df14}.stage-state{position:absolute;z-index:4;top:10px;right:12px;padding:5px 8px;color:#f3f0dfad;background:#030d09bd;border:1px solid rgba(246,196,83,.18);border-radius:999px;font-size:9px;letter-spacing:.08em}.stage-card.is-locked .stage-state{color:#f3f0df61;border-color:#f3f0df14}.stage-card .stage-copy{position:absolute;z-index:2;left:16px;bottom:14px}.stage-card b,.stage-card small{display:block}.stage-card b{font-size:clamp(15px,1.7vw,22px)}.stage-card small{margin-top:4px;color:#f3f0df85;font:700 10px/1 Barlow Condensed;letter-spacing:.12em}.stage-index{position:absolute;z-index:3;top:10px;left:12px;color:var(--gold);font:900 18px/1 Barlow Condensed}.hud{position:absolute;z-index:8;top:0;left:0;right:0;height:72px;padding:max(12px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 8px max(18px,env(safe-area-inset-left));display:grid;grid-template-columns:1fr minmax(180px,34vw) 1fr;align-items:center;gap:18px;background:linear-gradient(180deg,rgba(3,12,8,.88),transparent);pointer-events:none}.hud-brand{display:flex;align-items:center;gap:10px}.hud-mark{display:grid;place-items:center;width:40px;aspect-ratio:1;color:#07140f;background:var(--gold);clip-path:polygon(50% 0,92% 24%,82% 82%,50% 100%,18% 82%,8% 24%);font:900 13px/1 Barlow Condensed}.hud-brand b,.hud-brand small{display:block}.hud-brand b{font-size:13px}.hud-brand small{margin-top:2px;color:#f3f0df80;font-size:9px}.hud-progress{height:4px;background:#f3f0df1f;transform:skew(-18deg);overflow:hidden}.hud-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--green),var(--gold));box-shadow:0 0 16px var(--green);transition:width .2s linear}.hud-data{justify-self:end;display:flex;align-items:center;gap:8px}.hud-stats{width:clamp(142px,17vw,218px);min-height:52px;display:flex;align-items:center;justify-content:flex-end;gap:clamp(12px,2vw,28px);padding:10px clamp(20px,2.2vw,30px);background:var(--asset-score-chip, none) center/100% 100% no-repeat;filter:drop-shadow(0 8px 18px rgba(0,0,0,.28))}.hud-data span small,.hud-data span b{display:block;text-align:right}.hud-data span small{color:#f3f0df70;font:800 8px/1 Barlow Condensed;letter-spacing:.16em}.hud-data span b{margin-top:3px;font:900 18px/1 Barlow Condensed}.hud-data button{pointer-events:auto;width:38px;height:38px;border:1px solid rgba(243,240,223,.22);border-radius:50%;color:var(--paper);background:#04120c85}.controls{position:absolute;z-index:7;inset:0;pointer-events:none}.controls.is-paused{opacity:.2}.joystick{position:absolute;left:max(28px,env(safe-area-inset-left));bottom:max(26px,env(safe-area-inset-bottom));width:126px;aspect-ratio:1;border-radius:50%;border:1px solid rgba(243,240,223,.16);background:radial-gradient(circle,#f3f0df0a 0 25%,#05140d6b 26% 100%);pointer-events:auto;touch-action:none}.joystick:before,.joystick:after{content:"";position:absolute;inset:50% 14px auto;height:1px;background:#f3f0df14}.joystick:after{transform:rotate(90deg)}.joystick>i{position:absolute;inset:15px;border:1px dashed rgba(246,196,83,.2);border-radius:50%}.joystick>b{position:absolute;left:calc(50% - 25px);top:calc(50% - 25px);width:50px;height:50px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe69e,#d89b2f);box-shadow:0 8px 20px #00000059;will-change:transform}.sprint-button{position:absolute;right:max(38px,env(safe-area-inset-right));bottom:max(34px,env(safe-area-inset-bottom));width:92px;aspect-ratio:1;border:1px solid rgba(246,196,83,.42);border-radius:50%;color:var(--paper);background:radial-gradient(circle,#f6c4533b,#081811b8);pointer-events:auto}.sprint-button.is-active{transform:scale(.94);background:radial-gradient(circle,#f6c4539e,#081811d1)}.sprint-button span,.sprint-button small{display:block}.sprint-button span{font-weight:900}.sprint-button small{margin-top:2px;font:800 8px/1 Barlow Condensed;letter-spacing:.12em;opacity:.52}.shot-pad{position:absolute;inset:70px 0 0;pointer-events:auto;touch-action:none}.shot-pad svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.shot-pad polyline{fill:none;stroke:var(--gold);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px rgba(246,196,83,.65));opacity:.85}.shot-ball{position:absolute;left:calc(50% - 28px);bottom:9%;width:56px;height:56px;border-radius:50%;border:1px solid rgba(246,196,83,.46);animation:shotPulse 1.6s ease-in-out infinite}.shot-ball i{position:absolute;inset:10px;border-radius:50%;border:1px dashed rgba(243,240,223,.34)}.shot-pad.is-drawing .shot-ball{opacity:.2}.shot-ball.is-rejected{animation:shotReject .28s ease-out 2;border-color:#ff8f73;box-shadow:0 0 28px #ff6b5f6b}.shot-pad.is-dive-mode .shot-ball{opacity:.38;border-style:dashed}.shot-pad p{position:absolute;left:50%;bottom:2%;transform:translate(-50%);margin:0;color:#f3f0df94;font-size:10px;letter-spacing:.08em;white-space:nowrap}@keyframes shotPulse{50%{transform:scale(1.14);box-shadow:0 0 24px #f6c4533d}}@keyframes shotReject{35%{transform:translate(-7px) scale(1.04)}70%{transform:translate(7px) scale(1.04)}}.result-screen,.final-screen{background:#020b07a3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.result-panel,.final-panel{position:relative;width:min(560px,76vw);padding:clamp(48px,6vw,76px) clamp(56px,7vw,88px);text-align:center;border:0;background:var(--asset-result-panel, none) center/100% 100% no-repeat;filter:drop-shadow(0 28px 46px rgba(0,0,0,.46))}.result-panel h2,.final-panel h2{margin:0 0 10px;font:900 clamp(28px,5vw,56px)/1 "Barlow Condensed","Noto Sans SC"}.result-panel>p:not(.eyebrow),.final-panel>p:not(.eyebrow){color:#f3f0df99}.result-panel>strong{display:block;margin:12px 0 20px;color:var(--gold);font:900 clamp(30px,5vw,56px)/1 "Barlow Condensed"}.trophy-screen{align-items:flex-start;justify-content:center;padding-top:9vh;background:radial-gradient(circle at 50% 60%,transparent 0 24%,rgba(2,9,6,.72) 88%)}.trophy-lockup{text-align:center;text-shadow:0 4px 30px #000}.trophy-lockup h2{margin:0;color:var(--gold);font:900 clamp(42px,7vw,86px)/1 "Barlow Condensed","Noto Sans SC"}.trophy-lockup #trophy-copy{color:#f3f0dfb3}.trophy-lockup .primary-button{margin-top:8px;text-shadow:none}.final-score{margin:16px auto 8px}.final-score strong,.final-score small{display:block}.final-medal{width:clamp(142px,19vw,200px);aspect-ratio:474 / 486;margin:8px auto 4px;display:grid;place-content:center;background:var(--asset-medal-frame, none) center/100% 100% no-repeat;filter:drop-shadow(0 12px 24px rgba(0,0,0,.35))}.asset-missing-action .primary-button{border:2px solid rgba(246,196,83,.62);border-radius:12px;background:linear-gradient(135deg,#173047,#081713 55%,#11603a);box-shadow:inset 0 0 0 2px #16d66d33}.asset-missing-score .hud-stats{border:1px solid rgba(246,196,83,.42);border-radius:8px;background:linear-gradient(135deg,#122d3ef0,#04120cf0)}.asset-missing-panel .result-panel,.asset-missing-panel .final-panel{border:2px solid rgba(246,196,83,.45);border-radius:16px;background:linear-gradient(150deg,#0e2637fa,#05130efa);box-shadow:inset 0 0 0 2px #16d66d1f}.asset-missing-medal .final-medal{border:2px solid rgba(246,196,83,.52);border-radius:50%;background:radial-gradient(circle,#16d66d38,#06120deb 66%)}.final-score{margin:8px auto 2px}.final-score strong{color:var(--gold);font:900 clamp(36px,5.2vw,64px)/.8 "Barlow Condensed"}.final-score small{margin-top:8px;color:#f3f0df75;font-size:10px;letter-spacing:.14em}.final-stars{margin:8px 0 0;color:var(--gold);font-size:clamp(16px,2.2vw,23px);letter-spacing:.12em}.pause-screen{position:absolute;z-index:30;inset:0;display:grid;place-items:center;background:#020906d1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.pause-screen>div{text-align:center}.pause-screen h2{margin:0 0 8px;font-size:42px}.pause-copy{margin:0 0 16px;color:#f3f0df8f;font-size:12px}.pause-settings{display:flex;justify-content:center;gap:8px;margin-bottom:16px}.pause-actions{display:flex;justify-content:center;gap:16px;margin-top:8px}.pause-link-button{padding:5px 8px;border:0;border-bottom:1px solid rgba(246,196,83,.28);color:#f3f0df94;background:transparent;font-size:10px;letter-spacing:.08em;cursor:pointer}.pause-link-button:hover,.pause-link-button:focus-visible{color:var(--gold);border-bottom-color:var(--gold)}.pause-shortcut{margin:8px 0 0;color:#f3f0df5c;font:800 9px/1 Barlow Condensed;letter-spacing:.14em}.toast{position:absolute;z-index:40;left:50%;top:22%;transform:translate(-50%,-16px);padding:10px 18px;color:var(--paper);background:#05140ddb;border:1px solid rgba(243,240,223,.16);border-radius:999px;opacity:0;transition:.2s ease;pointer-events:none;font-size:12px}.toast.is-visible{opacity:1;transform:translate(-50%)}.toast[data-tone=good]{border-color:#16d66d9e;color:#9affc8}.toast[data-tone=warn]{border-color:#f6c4539e;color:#ffe39a}.orientation-lock{display:none;position:fixed;z-index:100;inset:0;padding:40px;place-content:center;text-align:center;background:#06120d}.phone-icon{margin:0 auto 18px;font-size:54px;color:var(--gold)}.orientation-lock h2{margin:0 0 8px}.orientation-lock p{color:#f3f0df94}.no-post #visual-vignette{display:none}#debug-metrics{position:fixed;z-index:90;left:8px;top:72px;margin:0;padding:8px 10px;color:#87ffb9;background:#010805c2;border:1px solid rgba(83,233,255,.28);font:10px/1.45 ui-monospace,monospace;pointer-events:none}@media(orientation:portrait)and (max-width:900px){.orientation-lock{display:grid}}@media(max-height:480px){.home-copy{margin:12px 0}.stage-card{height:184px}.journey-header{margin-bottom:8px}.journey-header>p:last-child{display:none}.result-panel,.final-panel{padding:20px 34px}.final-panel h2{font-size:clamp(26px,4.4vw,42px);margin-bottom:2px}.final-medal{width:126px;margin:2px auto 0}.final-score{margin:4px auto 0}.final-score strong{font-size:34px}.final-score small{margin-top:4px;font-size:8px}.final-stars{margin-top:4px;font-size:15px}.final-panel>p:not(.eyebrow){margin:2px 0}.joystick{width:112px}.sprint-button{width:82px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
