﻿:root{--ink:#08090d;--paper:#eee9df;--red:#c44b5f;--gold:#c9a76b;--line:rgba(255,255,255,.16);--glass:rgba(9,10,16,.78)}
*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{background:#07080c;color:#f5f2ec;font-family:Inter,"Segoe UI",Arial,sans-serif}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.loading{height:100%;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#24202a,#08090d 62%)}.loading-mark{display:grid;gap:18px;place-items:center;letter-spacing:.45em;font-size:11px;color:#cbc2b2}.loading-mark i{width:42px;height:42px;border:1px solid #62594c;border-top-color:#e6d1a9;transform:rotate(45deg);animation:load 1.2s linear infinite}@keyframes load{to{transform:rotate(405deg)}}
.eyebrow{display:block;color:#d1b47e;font-size:10px;font-weight:700;letter-spacing:.28em;text-transform:uppercase}.primary{background:var(--paper)!important;color:#14151a!important;border-color:transparent!important}
.menu{position:relative;height:100%;padding:clamp(34px,6vw,92px);display:flex!important;align-items:flex-end!important;justify-content:space-between!important;isolation:isolate}.menu:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,10,.94) 0%,rgba(5,6,10,.53) 35%,rgba(5,6,10,.06) 61%,rgba(5,6,10,.72));z-index:-1}.menu:after{content:"";position:absolute;left:clamp(34px,6vw,92px);top:42px;width:1px;height:22vh;background:linear-gradient(#c6a66c,transparent)}.grain{position:absolute;inset:0;opacity:.13;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}.brand{max-width:620px;text-shadow:0 3px 28px #000}.brand h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(48px,7vw,106px);line-height:.85;letter-spacing:-.055em;margin:18px 0 22px;max-width:650px}.brand p{font-family:Georgia,serif;font-style:italic;color:#d1cbc1;font-size:clamp(16px,1.6vw,23px);margin:0}.main-nav{width:min(340px,31vw);display:flex!important;flex-direction:column!important;gap:0!important;margin-bottom:8px}.main-nav button{height:48px!important;padding:0 16px!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:rgba(8,9,14,.28)!important;text-align:left!important;text-transform:uppercase;font-size:11px!important;font-weight:700;letter-spacing:.17em;backdrop-filter:blur(10px);transition:.25s}.main-nav button span{display:inline-block;width:45px;color:#968c7c;font-size:9px}.main-nav button:hover{padding-left:26px!important;background:rgba(205,190,166,.14)!important;border-bottom-color:#bba376!important}.main-nav button.primary{background:#ece7dd!important;color:#141419!important}.lang-pills{display:flex;gap:7px}.menu>.lang-pills{position:absolute;right:clamp(34px,6vw,92px);top:35px}.lang-pills button{border:1px solid rgba(255,255,255,.15);background:#11131a;color:#8f929c;border-radius:99px;padding:7px 12px;font-size:10px;letter-spacing:.13em}.lang-pills button.active{color:#15161a;background:#e9e3d8}.platform{position:absolute;left:clamp(34px,6vw,92px);top:35px;margin-left:20px;color:#7f817f;letter-spacing:.18em;font-size:9px}
.modal-page{height:100%;display:grid!important;place-items:center!important;padding:30px;background-image:linear-gradient(90deg,rgba(5,6,10,.9),rgba(5,6,10,.42)),url('../assets/final/backgrounds/main-menu-key.webp')!important;background-size:cover!important}.glass-card{width:min(940px,92vw)!important;min-height:560px;padding:0!important;display:grid!important;grid-template-columns:48% 1fr;overflow:hidden;border:1px solid rgba(255,255,255,.12)!important;border-radius:3px!important;background:rgba(9,10,15,.84)!important;box-shadow:0 40px 100px #000!important;backdrop-filter:blur(22px)}.name-card>img{width:100%;height:100%;object-fit:cover}.name-card>div{display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,6vw,76px)}.glass-card h2{font-family:Georgia,serif;font-size:38px;font-weight:400;margin:18px 0 35px}.glass-card input{width:100%;padding:16px 0;border:0;border-bottom:1px solid #6d655b;background:transparent;color:#fff;font-size:24px;margin-bottom:34px}.glass-card button{padding:15px;margin-top:8px;border:1px solid var(--line);background:transparent}
.game{position:relative;height:100%;overflow:hidden;background:radial-gradient(circle at 75% 25%,#3b2f42,#11141d 48%,#08090e)!important;isolation:isolate}.game:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(120deg,rgba(15,18,28,.96),rgba(21,24,34,.5) 55%,rgba(8,9,13,.5)),radial-gradient(circle at 20% 20%,rgba(81,105,139,.3),transparent 35%)}.game:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;box-shadow:inset 0 -170px 180px rgba(0,0,0,.48)}.scene-light{position:absolute;inset:0;background:linear-gradient(90deg,transparent 48%,rgba(219,169,115,.09));pointer-events:none}.hud{position:absolute!important;z-index:8!important;left:clamp(22px,4vw,62px)!important;right:clamp(22px,4vw,62px)!important;top:26px!important;height:42px!important;padding:0 0 10px!important;display:flex!important;align-items:center!important;gap:20px!important;border-bottom:1px solid var(--line)!important;background:none!important;color:#b8b4ad!important;font-size:10px!important;letter-spacing:.16em!important;text-transform:uppercase}.hud button{width:34px;height:30px;border:0;background:transparent;font-size:18px}.hud .autosave{margin-left:auto;color:#b99a67;font-size:9px}
.actor{position:absolute!important;z-index:1!important;right:4vw!important;top:8vh!important;width:min(42vw,620px)!important;height:78vh!important;margin:0!important;overflow:hidden;border-radius:2px;box-shadow:0 28px 90px #000}.actor:before{content:"";position:absolute;inset:0;z-index:2;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 0 80px rgba(0,0,0,.3)}.actor:after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;z-index:2;background:linear-gradient(transparent,rgba(7,8,12,.92))}.actor img{width:100%;height:100%;object-fit:cover;object-position:center 24%;animation:breathe 6s ease-in-out infinite;filter:saturate(.92) contrast(1.04)}@keyframes breathe{50%{transform:scale(1.018) translateY(-3px)}}.actor figcaption{position:absolute;z-index:4;left:28px;bottom:24px;font-family:Georgia,serif;font-size:26px}.actor figcaption small{display:block;margin-top:5px;color:#c4b79e;font-family:Inter,sans-serif;font-size:8px;letter-spacing:.2em;text-transform:uppercase}.emotion-cold img{filter:saturate(.7) contrast(1.12) hue-rotate(6deg)}.emotion-smile img,.emotion-flirt img{filter:saturate(1.07) brightness(1.04)}.emotion-sad img{filter:saturate(.66) brightness(.88)}
.dialogue{position:absolute!important;z-index:6!important;left:clamp(22px,5vw,76px)!important;bottom:clamp(58px,9vh,100px)!important;width:min(52vw,780px)!important;min-height:210px!important;padding:29px 64px 34px 34px!important;border:1px solid rgba(255,255,255,.14)!important;border-left:2px solid #c2a26e!important;border-radius:2px!important;background:rgba(8,9,14,.84)!important;box-shadow:0 25px 70px rgba(0,0,0,.48)!important;backdrop-filter:blur(20px)}.speaker{display:block!important;margin-bottom:14px;color:var(--speaker)!important;font-size:11px!important;letter-spacing:.22em;text-transform:uppercase}.dialogue p{margin:0!important;font-family:Georgia,serif!important;font-size:clamp(18px,1.75vw,27px)!important;line-height:1.48!important;color:#eeeae3!important}.next{position:absolute!important;right:20px!important;bottom:18px!important;width:42px!important;height:42px!important;border:1px solid var(--line)!important;border-radius:50%!important;background:transparent!important;color:#d2b67d!important;font-size:28px!important}.quick{position:absolute!important;z-index:8!important;left:clamp(22px,5vw,76px)!important;bottom:23px!important;display:flex!important;gap:20px!important}.quick button{padding:0!important;border:0!important;background:none!important;color:#96989c!important;font-size:9px!important;letter-spacing:.16em!important;text-transform:uppercase}.quick button:hover{color:#fff!important}.choice-mode{top:15vh!important;bottom:auto!important;width:min(58vw,850px)!important;padding:32px!important}.choice-kicker{font-size:9px;color:#b79c6c;letter-spacing:.24em}.choice-mode h3{font-family:Georgia,serif;font-size:clamp(23px,2.5vw,38px);font-weight:400;line-height:1.18;margin:14px 0 24px}.choices{display:grid!important;gap:7px!important}.choices button{min-height:54px!important;padding:11px 16px!important;display:flex!important;align-items:center!important;gap:14px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:0!important;background:rgba(255,255,255,.035)!important;text-align:left!important;font-size:13px!important;line-height:1.3!important;transition:.2s}.choices button span{color:#a98c5d;font-size:9px}.choices button:hover{transform:translateX(7px);border-color:#ad956c!important;background:rgba(187,164,120,.12)!important}
.panel{height:100%!important;overflow:auto!important;padding:42px clamp(24px,6vw,92px) 80px!important;background:radial-gradient(circle at 78% 4%,#29232c,#101118 42%,#090a0e)!important}.panel-head{position:sticky!important;top:-42px!important;z-index:8!important;display:flex!important;align-items:center!important;gap:22px!important;padding:18px 0!important;background:rgba(10,11,16,.88)!important;backdrop-filter:blur(18px);border-bottom:1px solid var(--line)!important}.panel-head button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent}.panel-head h2{margin:4px 0 0!important;font-family:Georgia,serif!important;font-weight:400!important;font-size:clamp(32px,5vw,68px)!important}.panel-intro{color:#aaa69d;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.character-grid{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:14px;margin-top:32px}.character-card{position:relative;aspect-ratio:2/3;overflow:hidden;background:#171820;border:1px solid rgba(255,255,255,.11)}.character-card img{width:100%;height:100%;object-fit:cover;transition:.45s}.character-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(6,7,10,.96))}.character-card:hover img{transform:scale(1.035)}.character-card div{position:absolute;z-index:2;left:16px;right:12px;bottom:16px}.character-card span{font-size:8px;color:#c6aa77;letter-spacing:.15em}.character-card h3{font-family:Georgia,serif;font-size:23px;font-weight:400;margin:7px 0 2px}.character-card p{margin:0;color:#a9a6a0;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.profile-hero{display:grid!important;grid-template-columns:minmax(230px,34%) 1fr!important;min-height:470px!important;margin-top:28px!important;overflow:hidden!important;border:1px solid var(--line)!important;background:#11131a!important}.profile-hero>img{width:100%!important;height:470px!important;object-fit:cover!important;border-radius:0!important}.profile-hero>div{display:flex;flex-direction:column;justify-content:center;padding:50px}.profile-hero h3{font-family:Georgia,serif;font-size:64px;font-weight:400;margin:8px 0}.profile-hero p{color:#c3a875;letter-spacing:.14em;text-transform:uppercase;font-size:10px}.profile-hero small{color:#999}.stat-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:1px!important;margin-top:1px!important;background:var(--line)!important}.stat-grid article{padding:28px!important;background:#101117!important}.stat-grid b{display:block;font-family:Georgia,serif;font-size:34px}.stat-grid span{font-size:9px;color:#999;letter-spacing:.12em;text-transform:uppercase}.traits{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.traits span{padding:10px 14px;border:1px solid var(--line);color:#c1bbb0;font-size:11px}.card-grid,.memory-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))!important;gap:10px!important;margin-top:28px!important}.achievement,.memory{min-height:120px!important;padding:20px!important;border:1px solid var(--line)!important;border-radius:0!important;background:#11121a!important}.achievement.open{border-color:#786849!important;background:linear-gradient(135deg,#191820,#121319)!important}.achievement i{color:#b69b69}.achievement b{display:block;margin-top:22px;font-family:Georgia,serif;font-size:18px}.achievement small{float:right;color:#666}.memory{display:flex!important;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#13151e,#0e0f14)!important}.memory.open{border-color:#655942!important}.settings{width:min(720px,100%);margin-top:36px}.settings label{display:block;padding:25px 0;border-bottom:1px solid var(--line);color:#c8c3ba}.settings label>div,.settings label>input,.settings label>select{float:right}.product{display:grid!important;grid-template-columns:180px 1fr auto!important;gap:32px!important;align-items:center!important;margin-top:38px!important;padding:28px!important;border:1px solid var(--line)!important;background:#111219!important}.product-art{height:180px!important;display:grid!important;place-content:center!important;background:radial-gradient(circle,#4a3540,#181820)!important;font-family:Georgia,serif!important;font-size:25px!important;letter-spacing:.14em!important}.product-art span{font-size:58px;line-height:.7;color:#cf6878}.product h3{font-family:Georgia,serif;font-size:30px;font-weight:400}.product button{padding:15px 25px;border:0}.history>div{max-width:900px;margin:28px 0}.history p{padding:16px;border-bottom:1px solid var(--line);font-family:Georgia,serif;line-height:1.55}.history p b{display:block;color:#c6a974;font-family:Inter,sans-serif;font-size:9px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:6px}.chapter-card,.ending{height:100%;display:grid!important;place-items:center!important;background:radial-gradient(circle at 50% 35%,#3a3039,#0b0c11 65%)!important}.chapter-card section,.ending section{text-align:center;max-width:750px;padding:40px}.chapter-card span,.ending span{color:#c3a46f;font-size:10px;letter-spacing:.25em;text-transform:uppercase}.chapter-card h2,.ending h1{font-family:Georgia,serif;font-size:clamp(46px,8vw,100px);font-weight:400;line-height:.95;margin:22px 0 38px}.chapter-card button,.ending button{padding:15px 28px;border:0}.ending p{color:#aaa39a;font-family:Georgia,serif;font-style:italic}.toast{position:fixed;z-index:99;right:28px;bottom:28px;display:flex;gap:13px;align-items:center;padding:15px 20px;background:#ece6da;color:#15161a;box-shadow:0 15px 40px #000}.toast b{color:#a68145}
@media(max-width:980px){.character-grid{grid-template-columns:repeat(3,1fr)}.actor{right:2vw!important;width:50vw!important}.dialogue{width:58vw!important}.choice-mode{width:68vw!important}.brand h1{font-size:64px}.main-nav{width:300px}.menu{padding:42px}}
@media(max-width:720px){html,body,#app{min-height:100%;height:100dvh}.menu{padding:25px!important;align-items:flex-end!important}.menu:before{background:linear-gradient(0deg,rgba(5,6,10,.98) 0%,rgba(5,6,10,.38) 67%,rgba(5,6,10,.55))}.brand{position:absolute;left:24px;top:86px}.brand h1{font-size:48px;max-width:330px}.brand p{font-size:15px}.main-nav{width:100%;max-height:46vh;overflow:auto;margin:0}.main-nav button{height:42px!important;background:rgba(8,9,14,.58)!important}.menu>.lang-pills{right:20px;top:20px}.platform{left:20px;top:24px;margin:0}.glass-card{grid-template-columns:1fr!important;min-height:0!important}.name-card>img{height:35vh}.name-card>div{padding:28px}.glass-card h2{font-size:27px;margin-bottom:18px}.actor{inset:58px 0 auto 0!important;width:100%!important;height:55vh!important;box-shadow:none!important}.actor figcaption{left:20px;bottom:18px;font-size:20px}.dialogue{left:12px!important;right:12px!important;bottom:55px!important;width:auto!important;min-height:190px!important;padding:22px 48px 25px 22px!important}.dialogue p{font-size:18px!important;line-height:1.42!important}.quick{left:16px!important;bottom:17px!important;right:16px;justify-content:space-between}.choice-mode{top:auto!important;bottom:48px!important;max-height:65vh;overflow:auto;padding:20px!important}.choice-mode h3{font-size:24px}.choices button{font-size:12px!important}.hud{left:16px!important;right:16px!important;top:14px!important}.panel{padding:20px 16px 60px!important}.panel-head{top:-20px!important}.character-grid{grid-template-columns:repeat(2,1fr);gap:8px}.character-card h3{font-size:18px}.profile-hero{grid-template-columns:1fr!important}.profile-hero>img{height:45vh!important}.profile-hero>div{padding:28px}.profile-hero h3{font-size:45px}.stat-grid{grid-template-columns:1fr!important}.product{grid-template-columns:1fr!important}.product-art{height:150px!important}.settings label>div,.settings label>input,.settings label>select{float:none;display:flex;margin-top:15px}.chapter-card h2,.ending h1{font-size:48px}}
.lang-pills{display:flex!important;flex-direction:row!important;gap:7px!important;width:auto!important;height:auto!important}.menu>.lang-pills{position:absolute!important;left:auto!important;right:clamp(34px,6vw,92px)!important;top:35px!important;bottom:auto!important}.lang-pills button{width:44px!important;height:30px!important;min-height:0!important;padding:0!important;border-radius:99px!important}.settings .lang-pills{position:static!important}.settings .lang-pills button{flex:none!important}@media(max-width:720px){.menu>.lang-pills{right:20px!important;top:20px!important}}
@media(max-width:720px){.actor figcaption{display:none!important}}

/* v2 scene direction: vivid locations + anchored transparent sprites */
.game{--scene-a:#163b61;--scene-b:#6f315c;--scene-c:#e49a55;background:linear-gradient(135deg,var(--scene-a),var(--scene-b) 55%,var(--scene-c))!important}
.game.bg-arrival{--scene-a:#0f4370;--scene-b:#62375f;--scene-c:#df7b5c}
.game.bg-studio{--scene-a:#087d82;--scene-b:#254f92;--scene-c:#f1ad59}
.game.bg-editing{--scene-a:#3147a4;--scene-b:#7b2f88;--scene-c:#ee6376}
.game.bg-hall{--scene-a:#1e618c;--scene-b:#5f398e;--scene-c:#e8a858}
.game.bg-music{--scene-a:#087675;--scene-b:#363a93;--scene-c:#bc4f89}
.game.bg-rooftop{--scene-a:#2458a5;--scene-b:#b54b78;--scene-c:#ffb457}
.game.bg-room{--scene-a:#7c326e;--scene-b:#3f4d9d;--scene-c:#ef8a55}
.game.bg-office{--scene-a:#174d66;--scene-b:#66324e;--scene-c:#d89a4c}
.game.bg-finale{--scene-a:#76354f;--scene-b:#6e3b92;--scene-c:#f3ae49}
.game.bg-dawn{--scene-a:#277fa0;--scene-b:#b14f79;--scene-c:#ffc46f}
.game:before{background:radial-gradient(circle at 18% 22%,color-mix(in srgb,var(--scene-c) 72%,transparent),transparent 29%),radial-gradient(circle at 77% 28%,color-mix(in srgb,var(--scene-a) 86%,white 8%),transparent 38%),linear-gradient(125deg,var(--scene-a),var(--scene-b) 56%,var(--scene-c))!important;filter:saturate(1.18)}
.game:after{box-shadow:inset 0 -125px 130px rgba(7,8,16,.34)!important;background:linear-gradient(90deg,rgba(4,7,16,.2),transparent 52%,rgba(10,6,18,.12))}
.scene-light{opacity:.72;background:radial-gradient(circle at 78% 20%,rgba(255,224,167,.44),transparent 22%),linear-gradient(115deg,rgba(255,255,255,.07),transparent 35%,rgba(255,117,165,.12))!important}
.scene-light:before{content:"";position:absolute;inset:-8%;background-image:radial-gradient(circle,rgba(255,245,218,.46) 0 1px,transparent 2px),radial-gradient(circle,rgba(255,151,191,.3) 0 1px,transparent 2px);background-size:83px 83px,127px 127px;background-position:0 0,35px 19px;opacity:.32;animation:ambientDrift 18s ease-in-out infinite alternate}.scene-light:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(112deg,transparent 0 96px,rgba(255,255,255,.025) 97px 98px);mix-blend-mode:screen}@keyframes ambientDrift{to{transform:translate3d(18px,-12px,0);opacity:.48}}
.actor{position:absolute!important;inset:auto 1vw 0 auto!important;width:min(58vw,720px)!important;height:min(88vh,760px)!important;margin:0!important;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;animation:none!important;display:block!important;pointer-events:none!important}
.actor:before,.actor:after{display:none!important}
.sprite-frame{width:100%;height:100%;background-image:var(--sprite);background-repeat:no-repeat;filter:drop-shadow(0 24px 28px rgba(5,7,16,.46)) saturate(1.12);transform-origin:50% 100%;animation:spriteSwap .22s ease-out both}.sheet-v1{background-size:300% 200%}.sheet-v2{background-size:400% 200%}
.sheet-v1.frame-0{background-position:0% 0%}.sheet-v1.frame-1{background-position:50% 0%}.sheet-v1.frame-2{background-position:100% 0%}.sheet-v1.frame-3{background-position:0% 100%}.sheet-v1.frame-4{background-position:50% 100%}.sheet-v1.frame-5{background-position:100% 100%}
.sheet-v2.frame-0{background-position:0% 0%}.sheet-v2.frame-1{background-position:33.333% 0%}.sheet-v2.frame-2{background-position:66.667% 0%}.sheet-v2.frame-3{background-position:100% 0%}.sheet-v2.frame-4{background-position:0% 100%}.sheet-v2.frame-5{background-position:33.333% 100%}.sheet-v2.frame-6{background-position:66.667% 100%}.sheet-v2.frame-7{background-position:100% 100%}
@keyframes spriteSwap{from{opacity:.58;filter:drop-shadow(0 24px 28px rgba(5,7,16,.32)) saturate(1.2) brightness(1.22)}to{opacity:1;filter:drop-shadow(0 24px 28px rgba(5,7,16,.46)) saturate(1.12) brightness(1)}}
.dialogue{background:linear-gradient(118deg,rgba(9,13,27,.91),rgba(18,13,31,.82))!important;border-left-color:color-mix(in srgb,var(--scene-c) 75%,white)!important;box-shadow:0 22px 65px rgba(6,7,16,.38)!important}
.dialogue p{color:#fffaf2!important;text-shadow:0 1px 18px rgba(0,0,0,.18)}
.hud{color:rgba(255,255,255,.8)!important}.autosave{animation:savePulse 2.8s ease-in-out infinite}@keyframes savePulse{50%{opacity:.38}}
.menu.scene-bg{filter:saturate(1.12)}
@media(max-width:720px){.actor{inset:44px -8vw auto auto!important;width:116vw!important;height:58vh!important}.sprite-frame{filter:drop-shadow(0 16px 20px rgba(4,6,15,.36)) saturate(1.12)}.game:after{box-shadow:inset 0 -95px 100px rgba(7,8,16,.28)!important}.dialogue{bottom:18px!important;min-height:182px!important}.hud{background:linear-gradient(rgba(7,10,21,.64),transparent)!important}.next{bottom:14px!important}}

/* v2 illustrated object menu */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.v2-menu{display:block!important;padding:0!important;background-position:center!important;filter:saturate(1.08) contrast(1.02)!important}
.v2-menu:before{background:linear-gradient(90deg,rgba(24,32,57,.72) 0%,rgba(24,32,57,.2) 35%,transparent 62%),linear-gradient(0deg,rgba(24,32,57,.28),transparent 42%)!important}
.v2-menu:after{display:none!important}.v2-menu .grain{display:none}.v2-menu .sun-flare{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 82% 28%,rgba(255,223,108,.28),transparent 22%);mix-blend-mode:screen}
.v2-menu .brand{position:absolute!important;z-index:4!important;left:5vw!important;top:7vh!important;max-width:560px!important;text-shadow:0 3px 0 rgba(24,32,57,.18),0 8px 28px rgba(24,32,57,.28)!important}
.v2-menu .brand h1{max-width:560px!important;margin:12px 0 14px!important;font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(46px,6.2vw,92px)!important;line-height:.88!important;color:#fff7e8!important;letter-spacing:-.055em!important}
.v2-menu .brand p{font-family:Inter,"Segoe UI",sans-serif!important;font-style:normal!important;color:#fff7e8!important;font-size:12px!important;font-weight:800!important;letter-spacing:.2em!important;text-transform:uppercase!important}
.v2-menu .eyebrow{color:#ffda62!important;text-shadow:0 2px 8px rgba(24,32,57,.35)}
.object-nav{position:absolute!important;inset:0!important;width:auto!important;height:auto!important;margin:0!important;display:block!important;pointer-events:none}
.object-nav .object-button{position:absolute!important;width:clamp(86px,10vw,148px)!important;height:clamp(86px,10vw,148px)!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background-color:transparent!important;background-image:none!important;background-repeat:no-repeat!important;background-size:contain!important;filter:drop-shadow(0 10px 13px rgba(24,32,57,.3));pointer-events:auto;transition:transform .18s cubic-bezier(.2,.8,.2,1),filter .18s;backdrop-filter:none!important}
.object-nav .object-button:hover,.object-nav .object-button:focus-visible{transform:translateY(-8px) rotate(-3deg) scale(1.08)!important;filter:drop-shadow(0 16px 18px rgba(24,32,57,.36)) saturate(1.16)}
.object-nav .object-button:after{content:attr(data-label);position:absolute;left:50%;bottom:-9px;transform:translate(-50%,100%);padding:7px 11px;border:2px solid #182039;border-radius:999px;background:#fff7e8;color:#182039;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:.16s;box-shadow:3px 3px 0 #ff667a}
.object-nav .object-button:hover:after,.object-nav .object-button:focus-visible:after{opacity:1}
.icon-envelope{background-position:0% 0%!important;right:8vw!important;top:10vh!important}.icon-tickets{background-position:100% 100%!important;right:6vw!important;bottom:12vh!important}.icon-photo{background-position:33.333% 0%!important;left:5vw!important;bottom:8vh!important}.icon-cassette{background-position:66.666% 0%!important;left:30vw!important;bottom:5vh!important}.icon-pass{background-position:100% 0%!important;right:23vw!important;top:7vh!important}.icon-star{background-position:0% 100%!important;right:25vw!important;bottom:7vh!important}.icon-pouch{background-position:33.333% 100%!important;right:3vw!important;top:38vh!important}.icon-dial{background-position:66.666% 100%!important;left:4vw!important;top:42vh!important}
.v2-menu>.lang-pills{z-index:7!important;top:auto!important;right:auto!important;left:50%!important;bottom:3vh!important;transform:translateX(-50%);padding:5px;border:2px solid #182039;border-radius:999px;background:#fff7e8;box-shadow:4px 4px 0 #3887ff}
.v2-menu>.lang-pills button{border:0!important;background:transparent!important;color:#182039!important;font-weight:900!important}.v2-menu>.lang-pills button.active{background:#ff667a!important;color:#fff!important}
.v2-menu .platform{z-index:7;left:auto;right:2vw;top:auto;bottom:2vh;margin:0;color:#fff7e8;text-shadow:0 2px 8px #182039;font-weight:800}
@media(max-width:720px){.v2-menu .brand{left:5vw!important;top:7vh!important;max-width:88vw!important}.v2-menu .brand h1{font-size:46px!important;max-width:88vw!important}.v2-menu .brand p{font-size:9px!important;max-width:70vw}.object-nav{top:36vh!important;bottom:8vh!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;grid-template-rows:repeat(2,1fr)!important;gap:4px!important;padding:0 8px!important}.object-nav .object-button{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:1!important}.object-nav .object-button:after{display:none}.v2-menu>.lang-pills{bottom:1.5vh!important}.v2-menu .platform{display:none}}

/* Реальные рисованные локации без цветной «каши» поверх арта. */
.game.bg-arrival,.game.bg-atrium,.game.bg-studio,.game.bg-rooftop,.game.bg-editing,.game.bg-music,.game.bg-cafe,.game.bg-finale{background-position:center!important;background-repeat:no-repeat!important;background-size:cover!important}
.game.bg-arrival{background-image:url('../assets/final/backgrounds/atrium-day.webp')!important}
.game.bg-atrium{background-image:url('../assets/final/backgrounds/atrium-day.webp')!important}
.game.bg-studio{background-image:url('../assets/final/backgrounds/design-studio.webp')!important}
.game.bg-rooftop{background-image:url('../assets/final/backgrounds/rooftop-sunset.webp')!important}
.game.bg-editing{background-image:url('../assets/final/backgrounds/editing-suite-night.webp')!important}
.game.bg-music{background-image:url('../assets/final/backgrounds/music-studio-night.webp')!important}
.game.bg-cafe{background-image:url('../assets/final/backgrounds/seaside-cafe.webp')!important}
.game.bg-finale{background-image:url('../assets/final/backgrounds/final-hall.webp')!important}
.game.bg-arrival:before,.game.bg-atrium:before,.game.bg-studio:before,.game.bg-rooftop:before,.game.bg-editing:before,.game.bg-music:before,.game.bg-cafe:before,.game.bg-finale:before{background:linear-gradient(90deg,rgba(9,24,48,.14),transparent 42%,rgba(19,22,46,.08))!important;filter:none!important}
.game.bg-arrival:after,.game.bg-atrium:after,.game.bg-studio:after,.game.bg-rooftop:after,.game.bg-editing:after,.game.bg-music:after,.game.bg-cafe:after,.game.bg-finale:after{box-shadow:inset 0 -150px 150px rgba(13,20,43,.34)!important}

/* v3 — vivid illustrated UI, unified character baseline and unique archives */
.art-button,.setting-art,.product-art{background-repeat:no-repeat!important;background-size:contain!important;background-position:center!important;background-color:transparent!important}
.ui-back{background-image:url('../assets/final/ui/icons/back.webp')!important}.ui-play{background-image:url('../assets/final/ui/icons/play.webp')!important}.ui-sound{background-image:url('../assets/final/ui/icons/sound.webp')!important}.ui-language{background-image:url('../assets/final/ui/icons/language.webp')!important}.ui-confirm{background-image:url('../assets/final/ui/icons/confirm.webp')!important}
.art-button{position:relative;width:74px!important;height:74px!important;min-width:74px!important;padding:0!important;border:0!important;border-radius:0!important;filter:drop-shadow(0 8px 8px rgba(25,35,71,.28));transition:transform .18s,filter .18s;overflow:visible!important}
.art-button:hover{transform:translateY(-2px) scale(1.025);filter:drop-shadow(0 10px 9px rgba(25,35,71,.32)) saturate(1.08)}
.art-button span{position:absolute;left:50%;bottom:-4px;transform:translate(-50%,100%);padding:5px 9px;border:2px solid #252d5b;border-radius:99px;background:#fff7df;color:#252d5b;font-size:9px!important;font-weight:900;letter-spacing:.05em;white-space:nowrap;box-shadow:3px 3px 0 #ff6c7d;opacity:0;transition:.15s}
.art-button:hover span,.art-button:focus-visible span,.art-button-wide span{opacity:1}.art-button-wide{margin-bottom:30px!important}
.hud .art-button{width:54px!important;height:54px!important;min-width:54px!important;margin-top:8px}.hud .art-button span{display:none}
.dialogue>.art-button{position:absolute!important;right:12px!important;bottom:10px!important;width:70px!important;height:70px!important;min-width:70px!important}.dialogue>.art-button span{display:none}
.setting-art{display:inline-block!important;float:none!important;width:70px;height:70px;margin:-18px 14px -23px -8px;vertical-align:middle;filter:drop-shadow(0 7px 7px rgba(30,38,78,.22))}
.art-actions{display:flex!important;align-items:center!important;gap:22px;padding:0!important}

.actor{inset:auto auto 0 50%!important;width:auto!important;height:min(88vh,820px)!important;aspect-ratio:23/24!important;overflow:hidden!important;display:flex!important;align-items:flex-end!important;transform:translateX(-50%)!important}
.sprite-frame,.sheet-v3{width:100%!important;height:100%!important;background-size:400% 200%!important;background-repeat:no-repeat!important;background-position-y:bottom!important;transform-origin:50% 100%!important}
.sheet-v3.frame-0,.sheet-portrait.frame-0{background-position:0 0!important}.sheet-v3.frame-1,.sheet-portrait.frame-1{background-position:33.333% 0!important}.sheet-v3.frame-2,.sheet-portrait.frame-2{background-position:66.667% 0!important}.sheet-v3.frame-3,.sheet-portrait.frame-3{background-position:100% 0!important}.sheet-v3.frame-4,.sheet-portrait.frame-4{background-position:0 100%!important}.sheet-v3.frame-5,.sheet-portrait.frame-5{background-position:33.333% 100%!important}.sheet-v3.frame-6,.sheet-portrait.frame-6{background-position:66.667% 100%!important}.sheet-v3.frame-7,.sheet-portrait.frame-7{background-position:100% 100%!important}
.sprite-frame{animation:spriteReveal .24s ease-out both!important}@keyframes spriteReveal{from{opacity:.65;transform:translateY(5px);filter:drop-shadow(0 20px 24px rgba(5,7,16,.34)) saturate(1.25) brightness(1.1)}to{opacity:1;transform:translateY(0);filter:drop-shadow(0 24px 28px rgba(5,7,16,.42)) saturate(1.12)}}

.dialogue{left:50%!important;transform:translateX(-50%)!important;bottom:clamp(18px,4vh,44px)!important;width:min(76vw,980px)!important;min-height:190px!important;max-height:42vh!important;padding:28px 88px 30px 38px!important;border:3px solid #26315f!important;border-radius:8px 24px 8px 8px!important;background:linear-gradient(112deg,rgba(255,249,224,.97),rgba(255,237,210,.95))!important;box-shadow:8px 9px 0 rgba(255,103,122,.82),0 24px 64px rgba(28,32,70,.35)!important;backdrop-filter:blur(8px);overflow:auto!important}
.dialogue:before{content:"";position:absolute;left:18px;right:18px;top:10px;height:5px;background:repeating-linear-gradient(90deg,#ff6d7d 0 24px,#ffd25b 24px 44px,#4f8df7 44px 68px);border-radius:99px}.dialogue .speaker{color:var(--speaker)!important;margin-top:5px!important;font-weight:900!important}.dialogue p{color:#24294f!important;text-shadow:none!important;font-family:Inter,"Segoe UI",sans-serif!important;font-size:clamp(16px,1.45vw,23px)!important;font-weight:650!important;line-height:1.5!important}.choice-mode{top:auto!important;bottom:4vh!important;background:linear-gradient(118deg,rgba(255,249,224,.98),rgba(255,229,210,.97))!important}.choice-mode h3{color:#24294f}.choice-kicker{color:#e64d68}.choices button{border:2px solid #34427a!important;border-radius:8px!important;background:#fffaf0!important;color:#24294f!important;font-weight:750;box-shadow:4px 4px 0 #ff8b6b}.choices button:hover{background:#fff0c5!important;box-shadow:6px 6px 0 #59a4ff;transform:translate(-2px,-2px)}

.panel{position:relative;background-color:#397fc9!important;background-position:center!important;background-size:cover!important;background-attachment:fixed!important;color:#202750!important}.panel:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(24,35,81,.32),rgba(255,248,221,.12) 42%,rgba(31,43,91,.2));z-index:0}.panel>*{position:relative;z-index:1}.panel-profile{background-image:url('../assets/final/backgrounds/panel-profile.webp')!important}.panel-gallery{background-image:url('../assets/final/backgrounds/panel-gallery.webp')!important}.panel-achievements{background-image:url('../assets/final/backgrounds/panel-achievements.webp')!important}.panel-memories{background-image:url('../assets/final/backgrounds/panel-memories.webp')!important}.panel-settings{background-image:url('../assets/final/backgrounds/panel-settings.webp')!important}.panel-shop{background-image:url('../assets/final/backgrounds/panel-shop.webp')!important}.panel-history{background-image:url('../assets/final/backgrounds/editing-suite-night.webp')!important;color:#fff}.panel-name{background-image:linear-gradient(90deg,rgba(29,46,96,.25),rgba(255,247,221,.08)),url('../assets/final/backgrounds/panel-profile.webp')!important}.panel-ending{background-image:linear-gradient(rgba(35,43,93,.18),rgba(255,112,126,.2)),url('../assets/final/backgrounds/rooftop-sunset.webp')!important;background-size:cover!important;background-position:center!important}
.panel-head{top:0!important;margin:0 0 28px!important;padding:16px 18px!important;border:3px solid #293363!important;border-radius:20px!important;background:rgba(255,248,223,.97)!important;box-shadow:7px 7px 0 rgba(255,103,122,.72)!important;color:#252c5a!important}.panel-head .art-button{margin:-10px 0 -14px -10px}.panel-head .eyebrow{color:#e44f68!important}.panel-head h2{font-family:Inter,"Segoe UI",sans-serif!important;font-weight:950!important;letter-spacing:-.05em!important}
.panel-intro,.profile-hero,.stat-grid,.traits,.card-grid,.memory-grid,.settings,.product,.history>div{background:rgba(255,248,224,.93)!important;border:3px solid #293363!important;box-shadow:7px 7px 0 rgba(67,143,246,.72)!important;border-radius:16px!important;color:#222950}.panel-intro{display:inline-block;padding:10px 16px}.profile-hero{overflow:hidden!important}.profile-hero>div{padding:50px!important}.profile-hero h3{color:#202750}.profile-hero p,.profile-hero small{color:#626589}.player-pass-art{position:relative;min-height:280px;background:linear-gradient(140deg,#65c9ff,#ffe16c 52%,#ff7185);overflow:hidden}.player-pass-art:before{content:"";position:absolute;width:56%;aspect-ratio:1;border-radius:50%;left:22%;top:12%;background:#fff4dc;box-shadow:0 95px 0 42px #fff4dc}.player-pass-art:after{content:"";position:absolute;inset:12px;border:4px solid #283363;border-radius:15px}.player-pass-art i{position:absolute;z-index:2;left:50%;top:24%;width:22%;aspect-ratio:1;border-radius:50%;transform:translateX(-50%);background:#2d3769}.player-pass-art b{position:absolute;z-index:3;right:24px;bottom:20px;color:#25305e;letter-spacing:.18em}.profile-hero>.player-pass-art{height:470px}.stat-grid{gap:0!important;overflow:hidden}.stat-grid article{background:transparent!important;border-right:2px dashed #ef7184}.stat-grid article:last-child{border-right:0}.traits{padding:16px}.traits span{border:2px solid #5367a4;color:#27315e;background:#fff9e7;border-radius:99px}.achievement,.memory{background:rgba(255,249,227,.94)!important;border:2px solid #35447d!important;border-radius:14px!important;color:#222950!important}.achievement.open,.memory.open{background:linear-gradient(135deg,#fff2a9,#ffd5cf)!important;border-color:#e9506a!important}.achievement i{color:#ed4e68}.settings{width:min(820px,100%);padding:16px 28px}.settings label{color:#252c59;border-bottom:2px dashed #8892bd;font-weight:900}.settings input{accent-color:#ff5872}.settings select{padding:9px;border:2px solid #35427a;border-radius:9px;background:#fff8df;color:#28315f}.product{padding:28px!important}.product-art{height:190px!important;background-color:transparent!important}.product h3{color:#222950}.history>div{padding:18px}.history p{color:#252c5a;border-bottom-color:#a8acd0}.history p b{color:#ec516b}
.sheet-portrait{width:100%;height:100%;background-image:var(--sprite);background-repeat:no-repeat;background-size:400% 200%;background-position:0 0;filter:drop-shadow(0 12px 18px rgba(29,38,83,.2));transition:transform .3s}.character-card{background:linear-gradient(#77d2ff,#fff0a3)!important;border:3px solid #293363!important;border-radius:14px!important;box-shadow:6px 6px 0 #ff7182}.character-card:after{background:linear-gradient(transparent,rgba(37,45,91,.94))}.character-card:hover .sheet-portrait{transform:scale(1.035)}.character-card .player-pass-art{height:100%;min-height:0}.character-card h3{color:#fff}.character-card p{color:#fff1cf}.character-card span{color:#ffe35d}
.name-card{grid-template-columns:48% 1fr!important;background:rgba(255,248,220,.96)!important;border:4px solid #293363!important;border-radius:22px!important;box-shadow:10px 10px 0 #ff6a7c,0 32px 80px rgba(30,39,83,.35)!important;overflow:visible!important;color:#252c59}.name-card>div{padding:clamp(26px,4vw,54px)}.name-card h2{font-family:Inter,"Segoe UI",sans-serif;font-weight:950;color:#242b58}.name-card input{color:#252c59;border:3px solid #39477f;border-radius:12px;padding:14px;background:#fffdf2}.name-envelope{position:relative!important;margin:34px!important;padding:0!important;border:4px solid #293363;border-radius:14px;background:linear-gradient(150deg,#fff5cf,#ffd2c8)!important;box-shadow:8px 8px 0 #51a4ff;overflow:visible!important}.name-envelope:before,.name-envelope:after{content:"";position:absolute;z-index:3;bottom:0;width:52%;height:54%;background:#fff2ce;border-top:3px solid #293363}.name-envelope:before{left:0;clip-path:polygon(0 0,100% 100%,0 100%)}.name-envelope:after{right:0;clip-path:polygon(100% 0,100% 100%,0 100%)}.name-envelope .player-pass-art{position:absolute;left:12%;right:12%;top:8%;bottom:12%;min-height:0;transform:rotate(-3deg)}.seal{position:absolute!important;z-index:6!important;left:50%!important;bottom:17%!important;width:64px;height:64px;padding:0!important;display:grid!important;place-items:center;border:4px solid #8c2941;border-radius:50%;background:#ee5870;color:#fff8d8;font-family:Georgia,serif;font-size:28px;font-weight:900;transform:translateX(-50%) rotate(-7deg);box-shadow:0 5px 0 #8c2941}
.chapter-card{background-size:cover!important;background-position:center!important}.chapter-card section,.ending section{padding:44px 56px!important;border:4px solid #293363;border-radius:20px;background:rgba(255,248,220,.94);color:#252c59;box-shadow:10px 10px 0 #ff6a7c}.chapter-card h2,.ending h1{color:#252c59}.ending p{color:#64698a}.chapter-card .art-button,.ending .art-button{margin:0 auto 28px!important}
.object-nav .object-button{aspect-ratio:1!important;height:auto!important;overflow:visible!important;background-size:contain!important;background-position:center!important}.icon-envelope{width:clamp(110px,12vw,174px)!important}.object-nav .object-button:after{bottom:2px}
.object-nav .icon-envelope{background-image:url('../assets/final/ui/icons/continue.webp')!important}.object-nav .icon-tickets{background-image:url('../assets/final/ui/icons/new-game.webp')!important}.object-nav .icon-photo{background-image:url('../assets/final/ui/icons/gallery.webp')!important}.object-nav .icon-pass{background-image:url('../assets/final/ui/icons/profile.webp')!important}.object-nav .icon-star{background-image:url('../assets/final/ui/icons/achievements.webp')!important}.object-nav .icon-cassette{background-image:url('../assets/final/ui/icons/memories.webp')!important}.object-nav .icon-pouch{background-image:url('../assets/final/ui/icons/shop.webp')!important}.object-nav .icon-dial{background-image:url('../assets/final/ui/icons/settings.webp')!important}
.object-nav .object-button{background-color:transparent!important;background-repeat:no-repeat!important;filter:drop-shadow(0 8px 9px rgba(24,32,57,.24))!important}.object-nav .object-button:hover,.object-nav .object-button:focus-visible{transform:translateY(-3px) rotate(-1deg) scale(1.025)!important;filter:drop-shadow(0 11px 11px rgba(24,32,57,.3)) saturate(1.07)!important}.object-nav .object-button:after{opacity:1!important;background:#fff7df!important;backdrop-filter:none!important}

@media(max-width:720px){.actor{inset:auto auto 0 50%!important;width:auto!important;height:61vh!important;aspect-ratio:23/24!important;transform:translateX(-50%)!important;overflow:hidden!important}.dialogue{left:10px!important;right:10px!important;transform:none!important;bottom:10px!important;width:auto!important;min-height:170px!important;max-height:48vh!important;padding:27px 68px 22px 20px!important;border-width:2px!important;box-shadow:5px 6px 0 rgba(255,103,122,.85)!important}.choice-mode{max-height:70vh!important;padding:27px 18px 20px!important}.hud .art-button{width:46px!important;height:46px!important;min-width:46px!important}.panel{padding:calc(14px + env(safe-area-inset-top)) 12px calc(60px + env(safe-area-inset-bottom))!important}.panel-head{top:0!important;margin-bottom:20px!important}.panel-head .art-button{width:58px!important;height:58px!important;min-width:58px!important}.name-card{grid-template-columns:1fr!important;max-height:94vh;overflow:auto!important}.name-envelope{height:32vh!important;min-height:210px;margin:14px!important}.name-card>div{padding:22px!important}.profile-hero>.player-pass-art{height:38vh}.settings{padding:12px}.setting-art{width:56px;height:56px}.art-button-wide span{font-size:8px!important}.object-nav .object-button{aspect-ratio:1!important}}
@media(max-width:420px){.object-nav{grid-template-columns:repeat(3,1fr)!important;grid-template-rows:repeat(3,1fr)!important;top:32vh!important}.object-nav .object-button{min-width:0!important}.v2-menu .brand h1{font-size:38px!important}.dialogue p{font-size:15px!important}.panel-head h2{font-size:30px!important}.character-grid{grid-template-columns:1fr 1fr!important}.character-card{min-height:250px}.art-button{width:60px!important;height:60px!important;min-width:60px!important}}

/* v4 final consistency pass */
html,body,button,input,select{font-family:"Trebuchet MS","Segoe UI","Yu Gothic UI","Hiragino Kaku Gothic ProN",sans-serif!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.sprite-frame,.sheet-v3{background-size:contain!important;background-position:center bottom!important;filter:none!important;image-rendering:auto;animation:sharpReveal .16s ease-out both!important;will-change:opacity,transform}
@keyframes sharpReveal{from{opacity:.82;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
.actor{height:min(84vh,780px)!important;filter:drop-shadow(0 18px 16px rgba(20,27,63,.28))}
.hud .ui-home{width:48px!important;height:48px!important;min-width:48px!important;margin:0!important;background-image:none!important;background:transparent!important;filter:none!important;display:grid!important;place-items:center!important}
.hud .ui-home:before{content:"⌂";display:grid;place-items:center;width:39px;height:39px;border:3px solid #fff3d3;border-radius:12px;color:#fff3d3;background:transparent;font-size:30px;font-weight:900;line-height:1;text-shadow:0 2px 6px #25315d;box-shadow:0 3px 8px rgba(28,37,80,.25)}
.hud .ui-home:hover{transform:scale(1.015)!important}.hud .ui-home:hover:before{border-color:#ffda65;color:#ffda65}

.object-nav .object-button{opacity:1!important;visibility:visible!important;background-size:88% 88%!important;background-position:center!important;mix-blend-mode:normal!important;transition:transform .12s ease,filter .12s ease!important}
.object-nav .object-button:hover,.object-nav .object-button:focus-visible{opacity:1!important;visibility:visible!important;transform:translateY(-1px) scale(1.012)!important;filter:drop-shadow(0 9px 9px rgba(24,32,57,.27))!important}
.object-nav .object-button:after{opacity:1!important;visibility:visible!important;bottom:-1px!important;padding:6px 10px!important;background:#fff7df!important;color:#202b59!important;border:2px solid #202b59!important;box-shadow:2px 2px 0 #ff6a7d!important;backdrop-filter:none!important;transition:none!important}
.object-nav .icon-envelope{width:clamp(105px,10.5vw,150px)!important;height:clamp(105px,10.5vw,150px)!important;right:7vw!important;top:9vh!important;background-size:84% 84%!important}

.panel-settings .settings{background:#fff5d8!important;color:#252d5b!important;box-shadow:7px 7px 0 #58a4f9!important}
.panel-settings .settings label{display:grid!important;grid-template-columns:82px minmax(120px,1fr) minmax(180px,auto);align-items:center;gap:14px;min-height:92px;padding:12px 18px!important;background:transparent!important;color:#252d5b!important;border-bottom:2px dashed #98a1c9!important;font-size:16px;font-weight:900}
.panel-settings .settings label:last-child{border-bottom:0!important}.panel-settings .setting-art{margin:0!important;float:none!important}.panel-settings .settings label>div,.panel-settings .settings label>input,.panel-settings .settings label>select{float:none!important;margin:0!important;justify-self:end}
.panel-settings select{min-width:190px;padding:11px 14px!important;background:#fffdf3!important;color:#26305e!important;border:2px solid #33427a!important;border-radius:10px!important;color-scheme:light!important;font-weight:800}
.panel-settings select option{background:#fffdf3!important;color:#26305e!important}.panel-settings input[type="range"]{width:min(260px,100%);height:8px;appearance:none;border-radius:999px;background:linear-gradient(90deg,#ff637a,#ffd461 50%,#57a5fb);outline:none}.panel-settings input[type="range"]::-webkit-slider-thumb{appearance:none;width:24px;height:24px;border:3px solid #283568;border-radius:50%;background:#fff7d9;box-shadow:2px 2px 0 #ff637a}
.panel-settings .lang-pills{padding:5px!important;border:2px solid #34427a!important;border-radius:999px;background:#fffdf3!important}.panel-settings .lang-pills button{background:transparent!important;color:#34427a!important;border:0!important;font-weight:900!important}.panel-settings .lang-pills button.active{background:#ff647b!important;color:#fff!important}

.gallery-panel .character-grid{grid-template-columns:repeat(4,minmax(190px,1fr))!important;gap:20px!important;max-width:1280px;margin:30px auto 0!important}.gallery-panel .character-card{aspect-ratio:3/4!important;min-height:0!important;border-radius:18px!important;transform:none!important;transition:transform .14s ease,box-shadow .14s ease!important}.gallery-panel .sheet-portrait{position:absolute;inset:8px 6px 0;background-size:contain!important;background-position:center bottom!important;filter:none!important;transform:scale(1)!important;transition:transform .14s ease!important}.gallery-panel .character-card:hover{transform:translateY(-2px)!important;box-shadow:7px 8px 0 #ff7182!important}.gallery-panel .character-card:hover .sheet-portrait{transform:scale(1.008)!important}.gallery-panel .character-card:after{inset:55% 0 0!important;background:linear-gradient(transparent,rgba(34,43,88,.96) 70%)!important}.gallery-panel .character-card>div{left:18px;right:18px;bottom:17px}.gallery-panel .character-card h3{font-size:clamp(20px,1.7vw,27px)!important;margin:6px 0 3px!important}.gallery-panel .character-card p{font-size:10px!important;line-height:1.25!important}.gallery-panel .character-card .player-pass-art{position:absolute;inset:8px 6px 0;width:auto;height:auto!important}

.panel-head{position:relative!important;top:auto!important;overflow:visible!important}.panel-head,.panel-intro,.profile-hero,.stat-grid,.traits,.card-grid,.memory-grid,.settings,.product,.history>div{backdrop-filter:none!important}.achievement,.memory,.stat-grid article,.traits span,.product{transition:transform .12s ease,box-shadow .12s ease}.achievement:hover,.memory:hover,.stat-grid article:hover,.traits span:hover,.product:hover{transform:translateY(-1px) scale(1.004)}

@media(max-width:980px){.gallery-panel .character-grid{grid-template-columns:repeat(3,minmax(170px,1fr))!important}.actor{right:auto!important;width:auto!important}.dialogue{width:min(86vw,900px)!important}}
@media(max-width:720px){
 body{font-size:15px}.v2-menu{min-height:100dvh!important}.v2-menu .brand{left:18px!important;right:18px!important;top:calc(54px + env(safe-area-inset-top))!important;max-width:none!important}.v2-menu .brand h1{font-size:clamp(34px,11vw,48px)!important;line-height:.92!important;margin:8px 0 10px!important}.v2-menu .brand p{font-size:10px!important;line-height:1.35!important;letter-spacing:.12em!important;max-width:78vw!important}
 .object-nav{top:31vh!important;bottom:9vh!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:4px!important;padding:4px 8px!important;overflow:visible!important}.object-nav .object-button,.object-nav .icon-envelope{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;aspect-ratio:1!important;background-size:90% 90%!important;overflow:visible!important}.object-nav .object-button:after{display:none!important}.object-nav .object-button:hover{transform:none!important}
 .v2-menu>.lang-pills{bottom:calc(10px + env(safe-area-inset-bottom))!important}.panel-head{padding:12px!important;border-radius:15px!important}.panel-head h2{font-size:clamp(28px,9vw,42px)!important;line-height:1!important}.panel-head .eyebrow{font-size:8px!important;letter-spacing:.14em!important}.panel-head .art-button{width:52px!important;height:52px!important;min-width:52px!important;margin:0!important}.panel{background-attachment:scroll!important}
 .panel-settings .settings{padding:8px 12px!important}.panel-settings .settings label{grid-template-columns:58px 1fr!important;gap:8px!important;padding:12px 4px!important}.panel-settings .settings label>div,.panel-settings .settings label>input,.panel-settings .settings label>select{grid-column:1/-1;justify-self:stretch!important;width:100%!important;max-width:none!important}.panel-settings .setting-art{width:52px!important;height:52px!important}.panel-settings select{min-width:0!important}
 .gallery-panel .character-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important;margin-top:18px!important}.gallery-panel .character-card{aspect-ratio:3/4!important;border-width:2px!important;border-radius:13px!important;box-shadow:4px 4px 0 #ff7182!important}.gallery-panel .character-card>div{left:11px;right:9px;bottom:11px}.gallery-panel .character-card h3{font-size:18px!important}.gallery-panel .character-card p{font-size:8px!important}.gallery-panel .character-card span{font-size:7px!important}
 .actor{height:59vh!important}.dialogue{font-size:15px!important}.dialogue p{font-size:16px!important;line-height:1.45!important}.choice-mode h3{font-size:21px!important}.choices button{font-size:12px!important}
}
@media(max-width:390px){.object-nav{top:30vh!important;bottom:10vh!important;padding:2px 4px!important}.v2-menu .brand h1{font-size:35px!important}.gallery-panel .character-card h3{font-size:16px!important}.gallery-panel .character-card p{display:none}.dialogue{min-height:160px!important;padding-left:17px!important}}
@media(hover:none){.art-button:hover,.object-nav .object-button:hover,.gallery-panel .character-card:hover,.gallery-panel .character-card:hover .sheet-portrait,.achievement:hover,.memory:hover,.stat-grid article:hover,.traits span:hover,.product:hover{transform:none!important}}

/* v5 responsive art + stable raster controls */
.brand h1,.panel-head h2,.chapter-card h2,.ending h1,.character-card h3,.profile-hero h3{
 font-family:"Segoe Print","Yu Gothic UI","Trebuchet MS",sans-serif!important;
 font-weight:900!important;letter-spacing:-.045em!important
}

/* The old generic nav hover used the background shorthand and erased raster icons. */
.v2-menu .main-nav.object-nav .object-button,
.v2-menu .main-nav.object-nav .object-button:hover,
.v2-menu .main-nav.object-nav .object-button:focus-visible{
 padding:0!important;border:0!important;border-bottom:0!important;border-radius:0!important;
 background-color:transparent!important;background-repeat:no-repeat!important;background-position:center!important;
 backdrop-filter:none!important;opacity:1!important;visibility:visible!important;overflow:visible!important
}
.v2-menu .main-nav.object-nav .icon-envelope{background-image:url('../assets/final/ui/icons/continue.webp')!important;background-size:72% 72%!important}
.v2-menu .main-nav.object-nav .icon-tickets{background-image:url('../assets/final/ui/icons/new-game.webp')!important}
.v2-menu .main-nav.object-nav .icon-photo{background-image:url('../assets/final/ui/icons/gallery.webp')!important}
.v2-menu .main-nav.object-nav .icon-pass{background-image:url('../assets/final/ui/icons/profile.webp')!important}
.v2-menu .main-nav.object-nav .icon-star{background-image:url('../assets/final/ui/icons/achievements.webp')!important}
.v2-menu .main-nav.object-nav .icon-cassette{background-image:url('../assets/final/ui/icons/memories.webp')!important}
.v2-menu .main-nav.object-nav .icon-pouch{background-image:url('../assets/final/ui/icons/shop.webp')!important}
.v2-menu .main-nav.object-nav .icon-dial{background-image:url('../assets/final/ui/icons/settings.webp')!important}
.v2-menu .main-nav.object-nav .object-button:hover,
.v2-menu .main-nav.object-nav .object-button:focus-visible{
 transform:translateY(-2px) scale(1.018)!important;
 filter:drop-shadow(0 10px 10px rgba(24,32,57,.29)) saturate(1.05)!important
}

.dialogue .ending-copy{margin:14px 0 58px!important}.dialogue:not(.choice-mode):has(.ending-copy){min-height:240px!important}

/* Tablet composition and controls. */
@media (min-width:721px) and (max-width:1180px){
 .v2-menu .brand{left:50%!important;right:auto!important;top:calc(28px + env(safe-area-inset-top))!important;width:min(78vw,720px)!important;max-width:none!important;text-align:center;transform:translateX(-50%)}
 .v2-menu .brand h1{font-size:clamp(46px,7.4vw,72px)!important;margin:6px 0 9px!important}.v2-menu .brand p{font-size:10px!important}
 .v2-menu .object-nav{inset:27vh 12vw 8vh 12vw!important;display:grid!important;grid-template-columns:repeat(4,minmax(92px,1fr))!important;grid-template-rows:repeat(2,minmax(92px,1fr))!important;gap:10px!important;padding:8px!important}
 .v2-menu .object-nav .object-button,.v2-menu .object-nav .icon-envelope{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;aspect-ratio:1!important;background-size:76% 76%!important}
 .v2-menu .object-nav .icon-envelope{background-size:64% 64%!important}
 .v2-menu .object-nav .object-button:after{display:none!important}
 .v2-menu>.lang-pills{bottom:calc(12px + env(safe-area-inset-bottom))!important}
}

/* Phone portrait composition and touch-safe menu. */
@media (max-width:720px) and (orientation:portrait){
 .v2-menu{background-position:center top!important}
 .v2-menu .brand{left:14px!important;right:14px!important;top:calc(14px + env(safe-area-inset-top))!important;text-align:center!important}
 .v2-menu .brand .eyebrow{font-size:8px!important}.v2-menu .brand h1{font-size:clamp(29px,9.5vw,42px)!important;line-height:.94!important;margin:5px 0 6px!important}.v2-menu .brand p{margin:auto!important;font-size:8px!important;max-width:88vw!important}
 .v2-menu .object-nav{inset:24vh 5vw 8.5vh 5vw!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:repeat(3,minmax(0,1fr))!important;gap:1px!important;padding:3px!important}
 .v2-menu .object-nav .object-button,.v2-menu .object-nav .icon-envelope{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;aspect-ratio:1!important;background-size:76% 76%!important}
 .v2-menu .object-nav .icon-envelope{background-size:62% 62%!important}
 .v2-menu .object-nav .object-button:after{display:none!important}
 .hud .art-button.ui-home{width:48px!important;height:48px!important;min-width:48px!important}
}
.loading-track{height:18px!important;padding:3px!important}
.loading-track b{width:0;min-width:0!important;will-change:width;transition:width .22s ease!important;background-size:200% 100%!important;animation:loadingBarGlow 1.5s linear infinite}
@keyframes loadingBarGlow{to{background-position:-200% 0}}
.v2-menu .main-nav.object-nav .icon-envelope:before{inset:19%!important}
.v2-menu .main-nav.object-nav .icon-tickets:before{inset:18%!important}
@media(max-width:720px){.v2-menu .main-nav.object-nav .icon-envelope:before,.v2-menu .main-nav.object-nav .icon-tickets:before{inset:20%!important}}

/* v12 — release assets, readable navigation and complete shop. */
.v2-menu .object-label{position:absolute;z-index:4;left:50%;bottom:-4px;max-width:96%;padding:5px 10px;transform:translateX(-50%);border:2px solid #293363;border-radius:99px;background:rgba(255,249,225,.96);color:#26305e;font-size:9px;font-weight:950;line-height:1;letter-spacing:.055em;white-space:nowrap;box-shadow:3px 3px 0 #ff7183;pointer-events:none}
.v2-menu .object-button:hover .object-label,.v2-menu .object-button:focus-visible .object-label{background:#fff4b1;box-shadow:3px 3px 0 #55bfff}

.shop{padding-bottom:90px!important}.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:22px;margin-top:26px}.shop-product{position:relative;display:grid;grid-template-columns:132px 1fr;grid-template-rows:1fr auto;gap:14px 20px;min-height:244px;padding:20px;border:3px solid #293363;border-radius:19px;background:rgba(255,249,226,.96);color:#222950;box-shadow:7px 7px 0 #55a7ff;overflow:hidden}.shop-product.is-owned{box-shadow:7px 7px 0 #ff7183}.product-visual{grid-row:1/3;position:relative;min-height:180px;border:2px solid #34427b;border-radius:14px;background:linear-gradient(145deg,#58cafa 0 32%,#ffe16c 32% 57%,#ff7385 57% 73%,#35458d 73%);overflow:hidden}.product-visual:before,.product-visual:after,.product-visual i{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.product-visual:before{width:72px;height:72px;border:7px solid #fff6d9;border-radius:50%;box-shadow:0 0 0 4px #2b376f,0 9px 0 #ff7285}.product-visual:after{width:24px;height:24px;border-radius:50%;background:#ffe16c;box-shadow:0 0 0 5px #2b376f}.product-theme .product-visual:before{border-radius:16px;transform:translate(-50%,-50%) rotate(45deg)}.product-music .product-visual:before{width:76px;height:58px;border-radius:50%}.product-music .product-visual:after{width:8px;height:80px;border-radius:8px;transform:translate(22px,-58px);box-shadow:34px 18px 0 #2b376f}.product-memory .product-visual:before{width:78px;height:94px;border-radius:8px}.product-support .product-visual:before{width:78px;height:96px;border-radius:16px 16px 38px 38px}.reward-product .product-visual:before{border-style:dashed}.shop-product h3{margin:7px 0 8px;font-size:clamp(20px,2vw,29px);line-height:1.05}.shop-product p{margin:0;color:#5c6385;font-size:12px;line-height:1.45}.shop-buy{grid-column:2;align-self:end;width:100%;min-height:46px;padding:10px 15px;border:2px solid #293363;border-radius:12px;background:#ff7183;color:#202958;font-size:12px;font-weight:950;box-shadow:4px 4px 0 #55a7ff;cursor:pointer}.shop-buy:hover:not(:disabled){transform:translateY(-1px);background:#ffe16c}.shop-buy:disabled{cursor:default;background:#e7e0ca;color:#70738a;box-shadow:none}.reward-button:not(:disabled){background:#ffe16c}
html[data-theme="prism"] .panel:before{background:linear-gradient(115deg,rgba(73,198,255,.18),rgba(255,225,100,.09) 48%,rgba(255,105,130,.18))}html[data-theme="prism"] .panel-head{border-color:#ff7183!important;box-shadow:0 5px 0 rgba(85,167,255,.5)}
html[data-reward="profile-frame"] .profile-hero{box-shadow:0 0 0 5px #ffe16c,10px 12px 0 #ff7183,0 0 38px rgba(85,199,255,.6)!important}
.supporter-title{display:inline-block;width:max-content;margin:0 0 12px;padding:6px 11px;border:2px solid #2f3b73;border-radius:99px;background:#ffe16c;color:#27315f;font-size:10px;font-style:normal;font-weight:950;letter-spacing:.08em}.bonus-memory{background:linear-gradient(135deg,#c9f1ff,#ffe8a0 52%,#ffd3db)!important}.music-sampler{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.music-sampler button{padding:6px 9px;border:1px solid #34427b;border-radius:99px;background:#eef7ff;color:#293363;font-size:9px;font-weight:900;cursor:pointer}.music-sampler button:hover{background:#ffe16c}
@media(max-width:820px){.shop-grid{grid-template-columns:1fr}.shop-product{grid-template-columns:112px 1fr;min-height:210px}.product-visual{min-height:150px}.v2-menu .object-label{font-size:8px;padding:4px 7px;bottom:-2px}}
@media(max-width:440px){.shop-product{grid-template-columns:88px 1fr;gap:10px 13px;padding:14px}.product-visual{min-height:132px}.product-visual:before{transform:translate(-50%,-50%) scale(.78)}.shop-product h3{font-size:18px}.shop-product p{font-size:10px}.shop-buy{font-size:10px}.v2-menu .object-label{max-width:110%;font-size:7px;letter-spacing:0}}

@media (max-width:900px) and (orientation:landscape){
 .v2-menu .brand{left:3vw!important;top:6vh!important;width:40vw!important;text-align:left!important;transform:none!important}.v2-menu .brand h1{font-size:clamp(30px,6vw,48px)!important}
 .v2-menu .object-nav{inset:10vh 3vw 9vh 45vw!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:2px!important}
 .v2-menu .object-nav .object-button{background-size:72% 72%!important}.v2-menu .object-nav .icon-envelope{background-size:58% 58%!important}
}

/* Extra scene atmosphere stays light enough for mobile GPUs. */
.scene-light:after{content:"";position:absolute;inset:-10%;pointer-events:none;opacity:.34;background-image:radial-gradient(circle,#fff7d6 0 1px,transparent 2px),radial-gradient(circle,#ffb9c8 0 1.5px,transparent 2.5px);background-size:83px 83px,137px 137px;background-position:0 0,37px 21px;animation:sceneDrift 18s linear infinite}
@keyframes sceneDrift{to{transform:translate3d(24px,34px,0)}}
.choices button:active{transform:translateX(4px) scale(.995)!important}.speaker{font-weight:950!important;text-shadow:0 2px 12px rgba(16,23,55,.28)}
.achievement,.memory,.product,.profile-hero,.stat-grid{box-shadow:6px 7px 0 rgba(63,137,238,.58),0 18px 45px rgba(25,35,79,.16)!important}

@media (min-width:721px) and (max-width:1180px){
 .panel{padding:calc(28px + env(safe-area-inset-top)) 28px calc(64px + env(safe-area-inset-bottom))!important}.gallery-panel .character-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.profile-hero{grid-template-columns:minmax(250px,38%) 1fr!important}.settings{width:100%!important}
 .game .actor{right:50%!important;transform:translateX(50%)!important;height:70vh!important;max-width:650px!important}.game .dialogue{left:50%!important;right:auto!important;bottom:24px!important;width:min(88vw,900px)!important;transform:translateX(-50%)!important}.game .hud{left:24px!important;right:24px!important}
}

@media (max-width:520px){
 .panel{padding-left:10px!important;padding-right:10px!important}.panel-head{gap:8px!important;padding:10px!important}.panel-head>div{min-width:0}.panel-head h2{overflow-wrap:anywhere}.panel-head .eyebrow{white-space:normal!important}
 .card-grid,.memory-grid{grid-template-columns:1fr!important}.profile-hero>div{padding:22px!important}.stat-grid article{padding:20px!important}.product{gap:14px!important;padding:18px!important}.product-art{height:130px!important}
 .hud>span{max-width:calc(100vw - 120px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud .autosave{font-size:0!important}.hud .autosave:after{content:"◆";font-size:10px}
 .quick{gap:8px!important}.quick button{font-size:8px!important}.dialogue{max-height:52vh!important;overflow:auto!important}.dialogue .ending-copy{margin-bottom:55px!important}
}

@media (prefers-reduced-motion:reduce){.scene-light:after{animation:none}.sprite-frame,.sheet-v3{animation:none!important}}

/* v6: clean story header, restrained menu hover, full-body cast */
.game .hud{
 height:auto!important;min-height:48px!important;padding:0!important;
 border:0!important;border-bottom:0!important;border-radius:0!important;
 background:transparent!important;background-image:none!important;
 box-shadow:none!important;backdrop-filter:none!important;filter:none!important
}
.game .hud>span{color:#fffaf0!important;font-size:11px!important;font-weight:950!important;letter-spacing:.14em!important;text-shadow:0 2px 4px rgba(18,30,65,.92),0 0 12px rgba(18,30,65,.72)}
.game .hud .autosave{color:#fff4c8!important;text-shadow:0 2px 6px rgba(18,30,65,.9)}
.v2-menu .main-nav.object-nav .object-button:hover,
.v2-menu .main-nav.object-nav .object-button:focus-visible{
 transform:translateY(-1px) scale(1.006)!important;
 filter:drop-shadow(0 8px 8px rgba(24,32,57,.25)) saturate(1.025)!important
}

.chapter-card .art-button span{display:none!important}.chapter-card .art-button{margin:0 auto!important}
.ending .art-button span{display:none!important;opacity:0!important}.ending .art-button{margin:0 auto!important}
.sprite-frame,.sheet-v3{background-size:contain!important;background-position:center bottom!important}
.gallery-panel .character-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important}

@media(max-width:720px){
 .game .hud{top:calc(8px + env(safe-area-inset-top))!important;left:8px!important;right:8px!important;gap:7px!important}
 .game .hud>span{font-size:9px!important;letter-spacing:.08em!important;max-width:calc(100vw - 92px)!important}
 .hud .art-button.ui-home{width:42px!important;height:42px!important;min-width:42px!important}
}

/* v7 — deterministic icons, sharp story art and a real preload screen. */
.loading{position:relative;height:100%;min-height:100%;display:grid;place-items:center;overflow:hidden;isolation:isolate;background:#111a4a url('../assets/final/backgrounds/loading-prism.webp') center/cover no-repeat!important;color:#fff}
.loading:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,rgba(12,20,60,.76),rgba(21,45,112,.22) 52%,rgba(15,17,52,.68)),radial-gradient(circle at 50% 48%,rgba(255,226,113,.24),transparent 30%)}
.loading-glow{position:absolute;inset:-20%;pointer-events:none;background:conic-gradient(from 180deg at 50% 50%,transparent,rgba(76,203,255,.12),transparent,rgba(255,100,139,.14),transparent);animation:loadingGlow 12s linear infinite}
@keyframes loadingGlow{to{transform:rotate(360deg)}}
.loading-card{position:relative;width:min(520px,calc(100vw - 36px));padding:clamp(28px,5vw,54px);border:2px solid rgba(255,247,204,.8);border-radius:24px 7px 24px 7px;background:linear-gradient(145deg,rgba(25,39,94,.88),rgba(30,28,76,.74));box-shadow:10px 11px 0 rgba(255,102,126,.72),0 30px 90px rgba(5,12,45,.46);backdrop-filter:blur(14px);text-align:center}
.loading-card:before{content:"";position:absolute;left:20px;right:20px;top:14px;height:5px;border-radius:99px;background:repeating-linear-gradient(90deg,#ff7183 0 28px,#ffe166 28px 50px,#55c7ff 50px 76px)}
.loading-studio{display:block;margin:18px 0 9px;color:#ffe58a;font-size:10px;font-weight:950;letter-spacing:.28em}.loading-card h1{margin:0 0 28px;font-size:clamp(27px,5vw,46px);line-height:.95;letter-spacing:.045em;text-shadow:0 4px 18px rgba(5,13,46,.5)}
.loading-reel{width:82px;height:82px;margin:auto;position:relative;border:7px solid #fff4d0;border-radius:50%;box-shadow:0 0 0 4px #25346e,0 9px 0 #ff7284;animation:loadingReel 2.4s linear infinite}.loading-reel:after{content:"";position:absolute;inset:29px;border-radius:50%;background:#ffe166;box-shadow:0 0 0 5px #25346e}.loading-reel i{position:absolute;left:50%;top:50%;width:17px;height:17px;margin:-8px;border-radius:50%;background:#55c7ff;transform:rotate(var(--r)) translateY(-24px)}.loading-reel i:nth-child(1){--r:0deg}.loading-reel i:nth-child(2){--r:120deg}.loading-reel i:nth-child(3){--r:240deg}@keyframes loadingReel{to{transform:rotate(360deg)}}
.loading-track{height:13px;padding:3px;border:2px solid #fff4d0;border-radius:99px;background:#18265d;overflow:hidden}.loading-track b{display:block;height:100%;min-width:2px;border-radius:99px;background:linear-gradient(90deg,#55c7ff,#ffe166 52%,#ff7183);box-shadow:0 0 18px #55c7ff;transition:width .16s ease}
.loading-meta{display:flex;justify-content:space-between;gap:18px;margin-top:11px;color:#fff8df;font-size:11px;font-weight:850;letter-spacing:.08em}.loading-meta span{text-align:left}.loading-meta strong{color:#ffe166}.loading-retry{margin-top:20px;padding:12px 22px;border:2px solid #fff4d0;border-radius:99px;background:#ff7183;color:#17245a;font-weight:950;box-shadow:4px 4px 0 #55c7ff;cursor:pointer}

.v2-menu .main-nav.object-nav .object-button,.v2-menu .main-nav.object-nav .object-button:hover,.v2-menu .main-nav.object-nav .object-button:focus-visible{background-image:none!important;background-color:transparent!important;background-size:0!important;background-position:center!important;transform:none!important;filter:none!important}
.v2-menu .main-nav.object-nav .object-button:before{content:""!important;display:block!important;position:absolute!important;inset:4%!important;background:var(--menu-icon) center/contain no-repeat!important;filter:drop-shadow(0 8px 8px rgba(24,32,57,.24));transform:scale(1);transition:transform .14s ease,filter .14s ease;pointer-events:none}
.v2-menu .main-nav.object-nav .object-button:hover:before,.v2-menu .main-nav.object-nav .object-button:focus-visible:before{transform:translateY(-1px) scale(1.012);filter:drop-shadow(0 10px 9px rgba(24,32,57,.29)) saturate(1.035)}
.v2-menu .icon-envelope{--menu-icon:url('../assets/final/ui/icons/continue.webp')}.v2-menu .icon-tickets{--menu-icon:url('../assets/final/ui/icons/new-game.webp')}.v2-menu .icon-photo{--menu-icon:url('../assets/final/ui/icons/gallery.webp')}.v2-menu .icon-pass{--menu-icon:url('../assets/final/ui/icons/profile.webp')}.v2-menu .icon-star{--menu-icon:url('../assets/final/ui/icons/achievements.webp')}.v2-menu .icon-cassette{--menu-icon:url('../assets/final/ui/icons/memories.webp')}.v2-menu .icon-pouch{--menu-icon:url('../assets/final/ui/icons/shop.webp')}.v2-menu .icon-dial{--menu-icon:url('../assets/final/ui/icons/settings.webp')}

.game .hud .art-button.ui-home,.game .hud .art-button.ui-home:hover,.game .hud .art-button.ui-home:focus-visible{width:74px!important;height:74px!important;min-width:74px!important;margin:0!important;background:transparent url('../assets/final/ui/story-menu-exit-tight.webp') center/contain no-repeat!important;border:0!important;box-shadow:none!important;filter:drop-shadow(0 4px 4px rgba(13,25,66,.72))!important;transform:none!important}
.game .hud .art-button.ui-home:before,.game .hud .art-button.ui-home:after{content:none!important;display:none!important;background:none!important;box-shadow:none!important}
.game .hud .art-button.ui-home,.game .hud .art-button.ui-home:hover,.game .hud .art-button.ui-home:focus,.game .hud .art-button.ui-home:focus-visible,.game .hud .art-button.ui-home:active{-webkit-appearance:none!important;appearance:none!important;background-color:transparent!important;border-radius:0!important;outline:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.game .hud{height:74px!important}.game .hud .art-button.ui-home:hover,.game .hud .art-button.ui-home:focus-visible{transform:scale(1.025)!important;filter:drop-shadow(0 6px 5px rgba(13,25,66,.8)) saturate(1.08)!important}
.sprite-frame,.sheet-portrait{image-rendering:auto!important;background-size:contain!important;background-position:center bottom!important;filter:none!important;backface-visibility:hidden;transform:translateZ(0)}

@media(max-width:720px){.loading-card{padding:29px 22px}.loading-reel{width:66px;height:66px}.loading-reel i{transform:rotate(var(--r)) translateY(-18px)}.loading-reel:after{inset:22px}.loading-studio{font-size:8px}.loading-meta{font-size:9px}.game .hud .art-button.ui-home,.game .hud .art-button.ui-home:hover,.game .hud .art-button.ui-home:focus-visible{width:58px!important;height:58px!important;min-width:58px!important}.game .hud{height:58px!important}}
@media(prefers-reduced-motion:reduce){.loading-glow,.loading-reel{animation:none}}

/* v8 — clean title safe zones, profile avatars, cards and lightweight motion. */
.loading-glow{display:none!important}.loading-reel{animation:none!important;transform:none!important;contain:layout paint}.loading-reel i{animation:reelDot 1.35s ease-in-out infinite;will-change:opacity,transform}.loading-reel i:nth-child(2){animation-delay:-.45s}.loading-reel i:nth-child(3){animation-delay:-.9s}@keyframes reelDot{0%,100%{opacity:.45}50%{opacity:1;filter:brightness(1.2)}}

.v2-menu .brand{left:50%!important;right:auto!important;top:clamp(12px,2.5vh,30px)!important;width:min(620px,64vw)!important;max-width:none!important;padding:12px 28px 14px!important;text-align:center!important;transform:translateX(-50%)!important;border:2px solid rgba(255,247,211,.86);border-radius:8px 24px 8px 24px;background:linear-gradient(110deg,rgba(31,50,112,.86),rgba(34,28,84,.72));box-shadow:7px 7px 0 rgba(255,101,126,.72);backdrop-filter:blur(8px)}
.v2-menu .brand h1{margin:0!important;font-family:"Trebuchet MS","Yu Gothic UI",sans-serif!important;font-size:clamp(31px,4vw,57px)!important;font-weight:950!important;line-height:.98!important;letter-spacing:-.045em!important;color:#fff8dd!important;text-shadow:0 3px 0 #31417f,0 7px 20px rgba(10,20,64,.42)!important}.v2-menu .brand p{margin:6px 0 0!important;color:#ffe56e!important;font-size:clamp(8px,.85vw,12px)!important;font-weight:950!important;line-height:1.15!important;letter-spacing:.15em!important;text-shadow:0 2px 8px rgba(17,30,74,.55)}
.v2-menu .object-nav{overflow:visible!important;padding:18px!important}.v2-menu .main-nav.object-nav .object-button{overflow:visible!important}.v2-menu .main-nav.object-nav .object-button:before{inset:9%!important}.v2-menu .main-nav.object-nav .icon-envelope:before{inset:13%!important}.v2-menu .main-nav.object-nav .icon-tickets:before{inset:12%!important}

.player-avatar-stage{position:relative;min-width:0;min-height:0;overflow:hidden;background:radial-gradient(circle at 50% 24%,rgba(255,238,143,.94),transparent 22%),linear-gradient(145deg,#5ccfff 0 32%,#ffe06d 32% 57%,#ff7385 57% 72%,#34438d 72%);isolation:isolate}.player-avatar-stage:before{content:"";position:absolute;inset:12px;z-index:-1;border:3px solid rgba(37,49,104,.88);border-radius:14px}.player-avatar-stage:after{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(118deg,transparent 0 78px,rgba(255,255,255,.16) 79px 82px)}.player-avatar-stage img{position:absolute;inset:2% 2% 0;width:96%;height:98%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 16px 14px rgba(27,37,83,.3))}.player-avatar-stage i{position:absolute;left:10%;right:10%;bottom:6%;height:8px;border-radius:99px;background:linear-gradient(90deg,#52c9ff,#ffe26a,#ff7183);opacity:.75}
.player-setup-art{position:relative;min-height:620px;overflow:hidden}.player-setup-art>.player-avatar-stage{position:absolute;inset:0}.name-card{width:min(1120px,94vw)!important;grid-template-columns:minmax(330px,46%) 1fr!important}.name-card>div:last-child{padding:clamp(24px,4vw,48px)!important}.avatar-picker{margin:0 0 22px}.avatar-picker>p{margin:0 0 10px;color:#555d86;font-size:12px;font-weight:800;line-height:1.35}.avatar-picker>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.avatar-option{position:relative;height:150px;padding:0!important;overflow:hidden;border:3px solid #35427a!important;border-radius:14px!important;background:#71cfff!important;box-shadow:4px 4px 0 #ff7385!important}.avatar-option.selected{border-color:#e85069!important;box-shadow:5px 5px 0 #55a8ff!important}.avatar-option .player-avatar-stage{position:absolute;inset:0}.avatar-option .avatar-male img{height:145%;top:-10%;}.avatar-option span{position:absolute;z-index:3;left:8px;right:8px;bottom:7px;padding:5px;border-radius:99px;background:#fff8df;color:#26305e;font-size:10px;font-weight:950;text-align:center;box-shadow:2px 2px 0 #ff7283}.profile-hero>.player-avatar-stage{height:520px}.profile-hero>div:last-child{min-width:0}.avatar-picker-compact{margin-top:24px}.avatar-picker-compact>p:before{content:"✦ ";color:#ed5870}.avatar-picker-compact .avatar-option{height:112px}

.settings{max-width:860px!important}.reset-row{width:100%;margin-top:22px;padding:14px 18px!important;display:flex!important;align-items:center;gap:18px;border:3px solid #35427a!important;border-radius:16px!important;background:linear-gradient(120deg,#fff7dc,#ffd9d0)!important;color:#26305e!important;text-align:left!important;box-shadow:6px 6px 0 #ff7183!important}.reset-row:hover{transform:translateY(-2px);box-shadow:7px 8px 0 #55a7ff!important}.reset-row img{width:82px;height:82px;object-fit:contain}.reset-row span{display:grid;gap:5px}.reset-row b{font-size:19px}.reset-row small{color:#646b91;font-size:11px}.reset-confirm{background:linear-gradient(120deg,rgba(31,46,103,.48),rgba(255,112,129,.22)),url('../assets/final/backgrounds/panel-settings.webp') center/cover!important}.reset-confirm>section{width:min(680px,calc(100vw - 28px));max-height:92vh;overflow:auto;padding:clamp(24px,5vw,48px);border:4px solid #293363;border-radius:24px;background:rgba(255,249,224,.97);color:#252c59;box-shadow:10px 10px 0 #ff7183,0 30px 80px rgba(24,35,79,.3)}.reset-confirm>section>img{float:right;width:150px;height:150px;object-fit:contain;margin:-15px -10px 10px 20px}.reset-confirm h2{font-size:clamp(30px,5vw,52px);margin:10px 0}.reset-confirm p,.reset-confirm li{line-height:1.5}.reset-confirm strong{display:block;margin:20px 0;color:#217a64}.reset-actions{display:flex;align-items:center;gap:26px;clear:both}

.card-grid,.memory-grid{gap:22px!important;padding:8px 10px 24px!important;margin:20px -10px 0!important;overflow:visible!important}.achievement,.memory{min-height:150px!important;padding:24px!important;border-radius:16px!important;box-shadow:6px 7px 0 rgba(69,141,240,.64),0 14px 30px rgba(29,40,85,.15)!important;overflow:visible!important}.achievement.open,.memory.open{box-shadow:6px 7px 0 rgba(255,105,127,.72),0 14px 30px rgba(29,40,85,.15)!important}.toast{right:18px!important;top:auto!important;bottom:18px!important;width:min(310px,calc(100vw - 30px))!important;min-height:54px!important;padding:10px 13px!important;gap:10px!important;border:2px solid #293363!important;border-radius:14px!important;background:rgba(255,248,221,.97)!important;color:#26305e!important;box-shadow:5px 6px 0 #ff7183,0 12px 28px rgba(21,30,68,.28)!important;font-size:12px;line-height:1.3;animation:toastIn .22s ease-out both}.toast b{flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#55c8ff;color:#26305e!important;font-size:15px}@keyframes toastIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}

@media(max-width:720px) and (orientation:portrait){.v2-menu .brand{top:calc(7px + env(safe-area-inset-top))!important;width:calc(100vw - 28px)!important;padding:8px 14px 10px!important;border-width:2px;box-shadow:4px 4px 0 rgba(255,101,126,.78)}.v2-menu .brand h1{font-size:clamp(26px,8vw,36px)!important}.v2-menu .brand p{font-size:8px!important;letter-spacing:.095em!important}.v2-menu .object-nav{inset:43vh 5vw 5.5vh 5vw!important;padding:11px!important;gap:5px!important}.v2-menu .main-nav.object-nav .object-button:before{inset:11%!important}.v2-menu .main-nav.object-nav .icon-envelope:before,.v2-menu .main-nav.object-nav .icon-tickets:before{inset:15%!important}.name-card{grid-template-columns:1fr!important;max-height:94vh}.player-setup-art{min-height:34vh}.name-card>div:last-child{padding:20px!important}.avatar-option{height:125px}.profile-hero>.player-avatar-stage{height:46vh}.avatar-picker-compact .avatar-option{height:100px}.reset-confirm>section>img{width:100px;height:100px}.reset-actions{gap:16px}.toast{right:10px!important;bottom:calc(10px + env(safe-area-inset-bottom))!important}.card-grid,.memory-grid{gap:18px!important;padding:8px 8px 22px!important}}
.avatar-option .avatar-male img,.avatar-option .avatar-female img{height:98%!important;top:2%!important}

/* v9 — player identity cards: one clean frame, readable portrait previews */
.player-avatar-stage i{display:none!important}
.player-avatar-stage:before{inset:10px!important;border-width:2px!important;border-radius:15px!important;pointer-events:none}
.player-avatar-stage img{inset:2% 3% 0!important;width:94%!important;height:98%!important;object-position:center bottom!important}

.avatar-picker>div{gap:14px!important}
.avatar-option{
 height:158px!important;padding:0!important;isolation:isolate;
 border:2px solid #34427c!important;border-radius:16px!important;
 box-shadow:0 8px 18px rgba(32,48,105,.14)!important;
 transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease!important
}
.avatar-option:hover{transform:translateY(-2px)!important;box-shadow:0 10px 22px rgba(32,48,105,.2)!important}
.avatar-option.selected{border-color:#f05270!important;box-shadow:0 0 0 3px rgba(240,82,112,.18),0 10px 22px rgba(32,48,105,.18)!important}
.avatar-option .player-avatar-stage{position:absolute!important;inset:0!important;border-radius:13px!important}
.avatar-option .player-avatar-stage:before,.avatar-option .player-avatar-stage:after{display:none!important}
.avatar-option .avatar-male img,.avatar-option .avatar-female img{
 inset:-6% 5% auto!important;width:90%!important;height:178%!important;
 object-fit:contain!important;object-position:center top!important;filter:drop-shadow(0 8px 8px rgba(27,37,83,.22))!important
}
.avatar-option span{left:10px!important;right:10px!important;bottom:8px!important;padding:6px 8px!important;border-radius:9px!important;box-shadow:none!important;border:1px solid rgba(51,65,120,.2)!important}

.player-setup-art{background:#67cffa!important}
.player-setup-art>.player-avatar-stage{inset:10px!important;border-radius:17px!important}
.player-setup-art>.player-avatar-stage:before{inset:0!important;border:2px solid #34427c!important}
.name-card{overflow:hidden!important;border-radius:22px!important}
.name-card .art-actions .art-button span{display:none!important}
.name-card .art-actions .art-button{width:74px!important;min-width:74px!important;height:74px!important}

.profile-hero{grid-template-columns:minmax(300px,40%) minmax(0,1fr)!important;overflow:hidden!important}
.profile-hero>.player-avatar-stage{width:100%!important;height:540px!important;min-height:540px!important;border-radius:12px 0 0 12px!important}
.profile-hero>.player-avatar-stage:before{inset:12px!important}
.profile-hero>.player-avatar-stage img{height:98%!important;object-fit:contain!important;object-position:center bottom!important}
.avatar-picker-compact .avatar-option{height:128px!important}

.character-card>.player-avatar-stage{position:absolute!important;inset:7px 6px 0!important;width:auto!important;height:auto!important;border-radius:12px!important}
.character-card>.player-avatar-stage:before{display:none!important}
.character-card>.player-avatar-stage img{inset:-3% 4% 0!important;width:92%!important;height:112%!important;object-fit:contain!important;object-position:center bottom!important;filter:drop-shadow(0 10px 8px rgba(27,37,83,.25))!important}

@media(max-width:720px){
 .name-card{border-radius:17px!important}
 .player-setup-art>.player-avatar-stage{inset:7px!important}
 .avatar-option{height:132px!important}
 .profile-hero{grid-template-columns:1fr!important}
 .profile-hero>.player-avatar-stage{height:48vh!important;min-height:360px!important;border-radius:12px 12px 0 0!important}
 .avatar-picker-compact .avatar-option{height:112px!important}
}
@media(max-width:420px){
 .avatar-picker>div{gap:9px!important}
 .avatar-option{height:116px!important;border-radius:13px!important}
 .avatar-option span{left:6px!important;right:6px!important;bottom:6px!important;font-size:9px!important}
 .profile-hero>.player-avatar-stage{height:44vh!important;min-height:320px!important}
}
@media(hover:none){.avatar-option:hover{transform:none!important}}
.loading-card .loading-reel{margin:6px auto 36px!important}
@media(max-width:720px){.loading-card .loading-reel{margin:4px auto 28px!important}}

/* Keep menu objects below the faces in portrait compositions. */
@media (min-width:721px) and (max-width:1180px) and (orientation:portrait){
 .v2-menu .object-nav{inset:62vh 9vw 6vh 9vw!important}
}
@media (max-width:720px) and (orientation:portrait){
 .v2-menu .object-nav{inset:52vh 5vw 5.5vh 5vw!important}
}

/* v11 — native generated compositions, never a scaled desktop canvas */
@media (min-width:721px) and (max-width:1180px) and (orientation:landscape),
       (max-width:900px) and (orientation:landscape){
 .menu.scene-bg.v2-menu{
  background-image:linear-gradient(90deg,rgba(24,32,57,.12),rgba(24,32,57,0) 50%,rgba(24,32,57,.09)),url('../assets/final/backgrounds/main-menu-tablet-landscape.webp')!important;
  background-size:100% 100%,cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important
 }
}
@media (min-width:721px) and (max-width:1180px) and (orientation:portrait){
 .menu.scene-bg.v2-menu{
  background-image:linear-gradient(0deg,rgba(20,28,57,.32),rgba(20,28,57,.01) 68%),url('../assets/final/backgrounds/main-menu-tablet-portrait.webp')!important;
  background-size:100% 100%,cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important
 }
}
@media (max-width:720px) and (orientation:portrait){
 .menu.scene-bg.v2-menu{
  background-image:linear-gradient(0deg,rgba(20,28,57,.36),rgba(20,28,57,.01) 68%),url('../assets/final/backgrounds/main-menu-phone-portrait.webp')!important;
  background-size:100% 100%,cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important
 }
}
.actor{height:min(84vh,768px)!important;filter:none!important;box-shadow:none!important}.sprite-frame,.sheet-portrait{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;background:none!important;filter:none!important;transform:none!important;backface-visibility:visible!important;will-change:auto!important}
/* Final safe area wins over all earlier responsive icon rules. */
.v2-menu .main-nav.object-nav .icon-envelope:before{inset:19%!important}
.v2-menu .main-nav.object-nav .icon-tickets:before{inset:18%!important}
@media(max-width:720px){.v2-menu .main-nav.object-nav .icon-envelope:before,.v2-menu .main-nav.object-nav .icon-tickets:before{inset:20%!important}}

/* v15 — winning menu-caption and rewarded-art rules. */
.v2-menu .object-label{width:max-content!important;min-width:82px!important;max-width:145%!important;bottom:-7px!important;padding:7px 14px!important;font-size:10px!important;letter-spacing:.035em!important;box-shadow:4px 4px 0 #ff7183!important}
.product-visual>img{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;padding:8px;object-fit:contain;filter:drop-shadow(0 8px 7px rgba(31,42,90,.28))}
.product-visual:has(>img):before,.product-visual:has(>img):after,.product-visual:has(>img)>i{display:none!important}
.reward-button:not(:disabled){background:#ffe16c!important}.reward-button:not(:disabled):hover{background:#8ee1ff!important}
@media(max-width:820px){.v2-menu .object-label{min-width:76px!important;max-width:155%!important;bottom:-4px!important;padding:6px 9px!important;font-size:9px!important}}
@media(max-width:440px){.v2-menu .object-label{min-width:68px!important;max-width:170%!important;padding:5px 7px!important;font-size:8px!important;letter-spacing:0!important}}

/* v16 — device-safe navigation, game-native scrolling, local SDK previews and player scale. */
html,body,#app{width:100%;height:100%;overflow:hidden!important;overscroll-behavior:none!important}body,*{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}input,textarea,select{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}
*{scrollbar-width:thin;scrollbar-color:#ff7183 #243368}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#243368;border-radius:99px}*::-webkit-scrollbar-thumb{min-height:42px;border:2px solid #243368;border-radius:99px;background:linear-gradient(#55c7ff,#ffe166 52%,#ff7183)}*::-webkit-scrollbar-corner{background:#243368}.panel,.choice-mode,.history>div{overscroll-behavior:contain;scrollbar-gutter:stable}
.v2-menu .main-nav.object-nav .object-button:after{display:none!important;content:none!important;opacity:0!important}.v2-menu .object-label{left:50%!important;right:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;transform:translateX(-50%)!important;transform-origin:center!important}
@media (max-width:1180px),(hover:none),(pointer:coarse){.v2-menu .object-label{left:50%!important;right:auto!important;margin:0!important;transform:translateX(-50%)!important;text-align:center!important}}

.profile-hero{grid-template-columns:minmax(270px,34%) minmax(0,1fr)!important}.profile-hero>.player-avatar-stage{height:500px!important;min-height:500px!important}.profile-hero>.player-avatar-stage img{inset:7% 9% 0!important;width:82%!important;height:93%!important;object-fit:contain!important;object-position:center bottom!important}
.gallery-panel .character-card>.player-avatar-stage{inset:8px 6px 0!important}.gallery-panel .character-card>.player-avatar-stage img{inset:6% 10% 0!important;width:80%!important;height:94%!important;object-fit:contain!important;object-position:center bottom!important}.gallery-panel .character-card>.player-avatar-stage:after{display:none!important}
.avatar-picker>p{position:relative;padding:10px 13px 10px 34px!important;border:2px solid #d7b94f;border-radius:11px;background:#fff8d6;color:#303866!important;font-size:12px!important}.avatar-picker>p:before{content:"?";position:absolute;left:9px;top:50%;width:17px;height:17px;display:grid;place-items:center;transform:translateY(-50%);border-radius:50%;background:#55c7ff;color:#27315e;font-weight:950}.avatar-option{height:170px!important;background:#61cbf8!important}.avatar-option.selected{border-color:#ef536f!important;box-shadow:0 0 0 4px rgba(239,83,111,.2),0 10px 24px rgba(31,46,94,.2)!important}.avatar-option .player-avatar-stage img{inset:3% 8% 0!important;width:84%!important;height:97%!important;object-fit:contain!important;object-position:center bottom!important}.avatar-option span{z-index:5!important;bottom:8px!important;padding:7px 8px!important;font-size:11px!important}.avatar-selected{position:absolute;z-index:7;right:7px;top:7px;padding:5px 8px;border:2px solid #293363;border-radius:99px;background:#ffe166;color:#26305e;font-size:9px;box-shadow:2px 2px 0 #ff7183}.avatar-picker-compact .avatar-option{height:140px!important}

.local-ad-simulator,.local-review-simulator{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:18px;background:rgba(13,22,58,.88);backdrop-filter:blur(8px);color:#26305e}.local-ad-simulator>section,.local-review-simulator>section{width:min(560px,100%);padding:clamp(25px,6vw,48px);border:4px solid #293363;border-radius:24px;background:linear-gradient(145deg,#fff9df,#dff5ff);box-shadow:10px 11px 0 #ff7183;text-align:center}.local-ad-simulator span,.local-review-simulator span{color:#e74f6c;font-size:10px;font-weight:950;letter-spacing:.18em}.local-ad-simulator h2,.local-review-simulator h2{margin:14px 0 9px;font-size:clamp(28px,6vw,48px)}.local-ad-simulator p,.local-review-simulator p{line-height:1.45}.local-ad-reel{width:92px;height:92px;margin:18px auto;border:8px solid #293363;border-radius:50%;background:conic-gradient(#55c7ff 0 33%,#ffe166 0 66%,#ff7183 0);box-shadow:0 0 0 6px #fff,0 9px 0 #ff7183;animation:localAdSpin 1.2s linear infinite}@keyframes localAdSpin{to{transform:rotate(360deg)}}.local-ad-simulator button,.local-review-simulator button{min-height:48px;padding:11px 22px;border:2px solid #293363;border-radius:12px;background:#ffe166;color:#26305e;font-weight:950;box-shadow:4px 4px 0 #55a7ff}.local-ad-simulator button:disabled{opacity:.5}.review-stars{margin:12px 0;color:#f4b923;font-size:38px;letter-spacing:5px;text-shadow:2px 2px 0 #293363}.local-review-simulator section>div:last-child{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.local-review-simulator section>div:last-child button:first-child{background:#fff}
@media(max-width:720px){.profile-hero{grid-template-columns:1fr!important}.profile-hero>.player-avatar-stage{height:42vh!important;min-height:300px!important}.profile-hero>.player-avatar-stage img{inset:5% 12% 0!important;width:76%!important;height:95%!important}.avatar-picker>div{gap:10px!important}.avatar-option{height:132px!important}.avatar-selected{right:5px;top:5px;padding:4px 6px;font-size:8px}.avatar-picker-compact .avatar-option{height:118px!important}*::-webkit-scrollbar{width:7px;height:7px}}

.local-sdk-tests{margin:20px 0 4px;padding:17px;border:2px dashed #e75470;border-radius:14px;background:#eef8ff}.local-sdk-tests>b{display:block;color:#27315f;font-size:16px}.local-sdk-tests p{margin:5px 0 13px;color:#5c6385;font-size:11px;line-height:1.4}.local-sdk-tests>div{display:flex;gap:10px;flex-wrap:wrap}.local-sdk-tests button{min-height:42px;padding:9px 13px;border:2px solid #293363;border-radius:10px;background:#ffe166;color:#26305e;font-size:10px;font-weight:950;box-shadow:3px 3px 0 #55a7ff}

/* v17 — responsive player setup and clearly separated rewarded profile frame. */
.panel-name{display:grid!important;place-items:center!important;overflow:auto!important;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))!important}
.name-card{width:min(1120px,calc(100vw - 36px))!important;max-width:100%!important;max-height:calc(100dvh - 28px)!important;min-height:min(680px,calc(100dvh - 28px))!important;grid-template-columns:minmax(280px,42%) minmax(0,1fr)!important;overflow:auto!important;overscroll-behavior:contain!important}
.name-card>*{min-width:0!important}.player-setup-art{min-height:0!important;height:100%!important}.name-card>div:last-child{min-width:0!important;padding:clamp(18px,3vw,40px)!important}.name-card h2{font-size:clamp(25px,3.2vw,42px)!important;margin:10px 0 18px!important}.name-card input{margin:0 0 16px!important}.name-card .avatar-picker{margin-bottom:14px!important}.name-card .avatar-option{height:clamp(112px,16vh,154px)!important}.name-card .art-actions{display:flex!important;align-items:center!important;gap:14px!important;flex-wrap:wrap!important}
.profile-reward-status{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:14px;margin:34px 8px 0;padding:13px 16px;border:2px solid #34427b;border-radius:14px;background:rgba(255,249,226,.96);color:#27315f;box-shadow:5px 6px 0 #55a7ff}.profile-reward-status.is-owned{border-color:#e7506c;box-shadow:5px 6px 0 #ffe166}.profile-reward-status img{width:64px;height:64px;object-fit:contain}.profile-reward-status div{display:grid;gap:4px;min-width:0}.profile-reward-status b{font-size:15px}.profile-reward-status span{color:#5e668b;font-size:11px;line-height:1.35}.profile-reward-status strong{display:grid;place-items:center;min-width:42px;height:32px;padding:0 8px;border:2px solid #293363;border-radius:99px;background:#ffe166;font-size:11px}.panel-profile>.stat-grid{margin-top:30px!important}
.reward-explainer{display:flex;align-items:center;gap:7px;margin-top:10px;padding:7px 9px;border:1px dashed #e4516d;border-radius:9px;background:#fff4c8;color:#303866;font-size:10px}.reward-explainer b{flex:0 0 auto;padding:3px 6px;border-radius:99px;background:#ff7183;color:#fff;font-size:8px}.reward-explainer span{line-height:1.3}
@media(max-width:980px){.name-card{grid-template-columns:1fr!important;align-self:start!important;min-height:0!important}.player-setup-art{height:clamp(190px,31dvh,300px)!important;min-height:190px!important}.name-card>div:last-child{padding:18px!important}.name-card .avatar-picker>p{margin-bottom:8px!important}.name-card .avatar-option{height:118px!important}}
@media(max-width:520px){.panel-name{display:block!important;padding:8px!important}.name-card{width:100%!important;max-height:calc(100dvh - 16px)!important;border-width:3px!important;border-radius:15px!important;box-shadow:4px 4px 0 #ff7183!important}.player-setup-art{height:clamp(150px,23dvh,210px)!important;min-height:150px!important}.name-card>div:last-child{padding:13px!important}.name-card h2{font-size:23px!important;margin:7px 0 11px!important}.name-card .avatar-picker>p{padding:7px 8px 7px 30px!important;font-size:10px!important}.name-card .avatar-picker>div{gap:7px!important}.name-card .avatar-option{height:98px!important}.name-card .avatar-option span{bottom:4px!important;padding:4px!important;font-size:8px!important}.name-card input{padding:10px!important;font-size:17px!important}.name-card .art-actions .art-button{width:58px!important;min-width:58px!important;height:58px!important}.profile-reward-status{grid-template-columns:48px minmax(0,1fr) auto;gap:9px;margin:28px 3px 0;padding:10px}.profile-reward-status img{width:48px;height:48px}.profile-reward-status b{font-size:12px}.profile-reward-status span{font-size:9px}.profile-reward-status strong{min-width:36px;height:28px}.panel-profile>.stat-grid{margin-top:26px!important}}
@media(max-height:680px) and (min-width:981px){.name-card{min-height:calc(100dvh - 24px)!important}.name-card .avatar-option{height:104px!important}.player-setup-art{min-height:0!important}.name-card h2{font-size:28px!important;margin-bottom:10px!important}}

/* v18 — centered setup, clean archive header and refined profile composition. */
.panel-name .name-card{margin:auto!important;align-self:center!important;justify-self:center!important}
@media(max-width:980px){.panel-name .name-card{align-self:center!important}}
@media(max-width:520px){.panel-name{display:grid!important;place-items:center!important}.panel-name .name-card{margin:auto!important}}
/* Keep the original profile card; only make the player slightly smaller inside its existing frame. */
.panel-profile .profile-hero>.player-avatar-stage img{inset:12% 15% 0!important;width:70%!important;height:86%!important;object-fit:contain!important;object-position:center bottom!important}
@media(max-width:720px){.panel-profile .profile-hero>.player-avatar-stage img{inset:10% 17% 0!important;width:66%!important;height:88%!important}}

/* v19 — restore the original full-width archive header in every panel. */
.panel-head{position:relative!important;top:auto!important;width:100%!important;display:flex!important;align-items:center!important;gap:22px!important;margin:0 0 28px!important;padding:16px 18px!important;border:3px solid #293363!important;border-radius:20px!important;background:rgba(255,248,223,.97)!important;box-shadow:7px 7px 0 rgba(255,103,122,.72)!important;color:#252c5a!important;overflow:visible!important}.panel-head>div{min-width:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.panel-head .art-button,.panel-head .art-button:hover,.panel-head .art-button:focus,.panel-head .art-button:focus-visible{flex:0 0 auto!important;margin:-10px 0 -14px -10px!important;border:0!important;border-radius:0!important;background-color:transparent!important;box-shadow:none!important;outline:none!important}.panel-head .art-button:before,.panel-head .art-button:after{content:none!important;display:none!important;background:none!important}.panel-head .art-button span{display:none!important;opacity:0!important}
@media(max-width:720px){.panel-head{gap:10px!important;margin-bottom:20px!important;padding:10px 12px!important;border-radius:15px!important}.panel-head .art-button,.panel-head .art-button:hover,.panel-head .art-button:focus-visible{width:58px!important;height:58px!important;min-width:58px!important;margin:0!important}}

/* v20 — balanced player portrait frame without changing the profile card layout. */
.panel-profile .profile-hero>.player-avatar-stage{width:calc(100% - 22px)!important;height:476px!important;min-height:476px!important;margin:12px 0 12px 10px!important;border:2px solid #293363!important;border-radius:18px!important;box-shadow:0 10px 24px rgba(32,48,105,.18)!important}.panel-profile .profile-hero>.player-avatar-stage:before{inset:9px!important;border-radius:13px!important}.panel-profile .profile-reward-status strong{width:auto!important;min-width:42px!important;white-space:nowrap!important;font-size:9px!important}
@media(max-width:720px){.panel-profile .profile-hero>.player-avatar-stage{width:calc(100% - 18px)!important;height:calc(42vh - 18px)!important;min-height:282px!important;margin:9px!important;border-radius:17px!important}.panel-profile .profile-hero>.player-avatar-stage:before{border-radius:12px!important}.panel-profile .profile-reward-status strong{font-size:8px!important}}

/* v21 — prevent transparent raster controls from flashing a rectangular compositor tile while scrolling. */
.panel .art-button,
.panel .art-button:hover,
.panel .art-button:focus,
.panel .art-button:focus-visible,
.panel .art-button:active{
 -webkit-appearance:none!important;appearance:none!important;
 background-color:transparent!important;
 background-size:94% 94%!important;
 border:0!important;box-shadow:none!important;
 filter:none!important;transform:none!important;
 -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
 transition:background-size .14s ease!important;
 opacity:1!important
}
.panel .art-button:hover,.panel .art-button:focus-visible{background-size:97% 97%!important}
.panel-head .art-button:before,.panel-head .art-button:after{content:none!important;display:none!important}
@media(hover:none),(pointer:coarse){.panel .art-button:hover,.panel .art-button:focus-visible{background-size:94% 94%!important}}

/* v22 — the selected player portrait now participates in story staging. */
.actor-player{background:transparent!important;overflow:visible!important}
.actor-player:before,.actor-player:after{display:none!important}
.actor-player .player-story-sprite{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;filter:drop-shadow(0 18px 16px rgba(22,31,70,.28))!important}

/* v23 — normalized gallery scale and readable player name on the light dialogue card. */
.gallery-panel .portrait-elias{transform:scale(.76)!important;transform-origin:center bottom!important}
.gallery-panel .character-card:hover .portrait-elias{transform:scale(.768)!important}
.dialogue .speaker[style*="#ffffff"],.dialogue .speaker[style*="#fff"]{color:#315f9f!important;text-shadow:none!important;background:none!important}

/* v24 — clean title-only menu and fully disabled browser text selection. */
*::selection{color:inherit!important;background:transparent!important}
*::-moz-selection{color:inherit!important;background:transparent!important}
.v2-menu .brand{padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.v2-menu .brand:before,.v2-menu .brand:after{content:none!important;display:none!important}
.v2-menu .brand h1{margin:0!important}

/* v25 — anime wordmark, calibrated small screens and compact landscape layouts. */
.v2-menu .brand h1{display:inline-block!important;font-family:"Segoe Print","Yu Gothic UI","Trebuchet MS",sans-serif!important;font-size:clamp(34px,3.7vw,54px)!important;font-weight:900!important;line-height:1.04!important;letter-spacing:-.045em!important;color:#fff3cf!important;background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:#fff3cf!important;-webkit-text-stroke:1.35px #26356f!important;text-shadow:0 2px 0 #26356f,2px 3px 0 #ff7183,0 8px 18px rgba(20,32,84,.42)!important;filter:none!important}
.v2-menu .brand h1:after{content:"";display:block;width:72%;height:3px;margin:7px auto 0;border-radius:99px;background:linear-gradient(90deg,transparent,#55c7ff 20%,#ffe166 52%,#ff7183 82%,transparent);box-shadow:0 2px 0 rgba(41,51,99,.7)}

@media(max-width:360px){
 .panel{padding:calc(10px + env(safe-area-inset-top)) 8px calc(48px + env(safe-area-inset-bottom))!important}
 .panel-head{gap:7px!important;padding:7px 8px!important;border-width:2px!important;border-radius:12px!important;box-shadow:4px 4px 0 rgba(255,103,122,.72)!important}
 .panel-head .art-button{width:50px!important;height:50px!important;min-width:50px!important}
 .panel-head h2{font-size:26px!important;letter-spacing:-.045em!important}
 .panel-head .eyebrow{font-size:7px!important}
 .gallery-panel .character-grid{grid-template-columns:1fr!important;max-width:260px!important;margin-left:auto!important;margin-right:auto!important}
 .card-grid,.memory-grid{grid-template-columns:1fr!important;padding:4px!important}
 .settings{padding:6px!important}.settings label{padding:14px 8px!important}.setting-art{width:48px!important;height:48px!important}
 .shop-grid{gap:12px!important}.shop-product{grid-template-columns:74px minmax(0,1fr)!important;padding:10px!important}.product-visual{width:74px!important;height:74px!important}.shop-buy{grid-column:1/-1!important;width:100%!important}
 .dialogue{left:7px!important;right:7px!important;bottom:7px!important;min-height:154px!important;padding:25px 61px 18px 15px!important}.dialogue p{font-size:14px!important}.dialogue .speaker{font-size:9px!important}
 .choices button{min-height:48px!important;padding:9px 10px!important}
 .v2-menu .brand h1{font-size:clamp(24px,8.3vw,30px)!important}
}

/* v27 — safe mobile gutters for interstitial and ending cards. */
.chapter-card,.ending{
 width:100%!important;
 min-width:0!important;
 min-height:100dvh!important;
 height:100dvh!important;
 padding:max(18px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))!important;
 overflow:hidden!important;
 box-sizing:border-box!important
}
.chapter-card section,.ending section{
 width:min(720px,100%)!important;
 max-width:100%!important;
 max-height:100%!important;
 margin:auto!important;
 overflow:auto!important;
 overflow-wrap:anywhere!important;
 box-sizing:border-box!important
}

@media(max-width:720px){
 .chapter-card,.ending{padding:12px 18px 18px 12px!important}
 .chapter-card section,.ending section{padding:clamp(25px,7vw,38px) clamp(18px,7vw,34px)!important;border-width:3px!important;border-radius:18px!important;box-shadow:6px 7px 0 #ff6a7c!important}
 .chapter-card h2,.ending h1{max-width:100%!important;margin:16px 0 27px!important;font-size:clamp(32px,11vw,48px)!important;line-height:1.02!important}
 .ending p{max-width:100%!important;margin:0 auto 20px!important}
}

@media(max-width:360px){
 .chapter-card,.ending{padding:9px 15px 15px 9px!important}
 .chapter-card section,.ending section{padding:24px 15px!important;border-radius:15px!important;box-shadow:5px 6px 0 #ff6a7c!important}
 .chapter-card h2,.ending h1{font-size:clamp(29px,10.5vw,38px)!important;margin:13px 0 22px!important}
}

@media(orientation:landscape) and (max-height:520px) and (max-width:960px){
 .v2-menu .brand{top:5px!important;width:54vw!important}.v2-menu .brand h1{font-size:clamp(24px,5.5vh,34px)!important}.v2-menu .brand h1:after{margin-top:3px}
 .v2-menu .object-nav{inset:18vh 2vw 3vh 2vw!important;grid-template-columns:repeat(4,1fr)!important;grid-template-rows:repeat(2,1fr)!important;gap:2px!important;padding:3px!important}.v2-menu .object-label{padding:4px 7px!important;font-size:7px!important}
 .game .actor{left:auto!important;right:0!important;top:32px!important;width:48vw!important;height:calc(100dvh - 32px)!important;transform:none!important}
 .game .dialogue{left:8px!important;right:auto!important;bottom:8px!important;width:55vw!important;min-height:138px!important;max-height:60vh!important;transform:none!important;padding:25px 58px 16px 16px!important}.game .dialogue p{font-size:14px!important;line-height:1.35!important}.game .hud{left:8px!important;right:8px!important;top:5px!important;height:38px!important}
 .choice-mode{width:64vw!important;max-height:74vh!important}.choices{gap:5px!important}.choices button{min-height:38px!important;padding:7px 9px!important;font-size:10px!important}
 .panel{padding:8px 12px 30px!important}.panel-head{margin-bottom:10px!important;padding:5px 9px!important}.panel-head .art-button{width:46px!important;height:46px!important;min-width:46px!important}.panel-head h2{font-size:26px!important}
 .gallery-panel .character-grid{grid-template-columns:repeat(4,minmax(130px,1fr))!important;gap:9px!important;margin-top:10px!important}.gallery-panel .character-card{min-height:210px!important}
 .name-card{grid-template-columns:34% 1fr!important;width:calc(100vw - 16px)!important;min-height:0!important;max-height:calc(100dvh - 12px)!important}.player-setup-art{height:auto!important;min-height:0!important}.name-card>div:last-child{padding:10px 14px!important}.name-card h2{font-size:22px!important;margin:3px 0 7px!important}.name-card .avatar-picker>p{display:none}.name-card .avatar-option{height:76px!important}.name-card input{padding:8px!important;margin-bottom:6px!important;font-size:16px!important}.name-card .art-actions .art-button{width:50px!important;height:50px!important;min-width:50px!important}
}

/* v26 — compact mobile settings, centered confirmations and story notifications. */
.panel-settings .language-setting{
 display:grid!important;
 grid-template-columns:64px minmax(0,1fr) auto!important;
 align-items:center!important;
 gap:14px!important
}
.panel-settings .language-setting>.setting-art{grid-column:1;grid-row:1}
.panel-settings .language-setting>span{grid-column:2;grid-row:1;min-width:0;font-weight:900}
.panel-settings .language-setting>.lang-pills{
 grid-column:3;grid-row:1;
 float:none!important;
 display:inline-flex!important;
 justify-self:end!important;
 align-items:center!important;
 width:auto!important;
 max-width:100%!important;
 margin:0!important;
 padding:4px!important;
 gap:2px!important;
 white-space:nowrap
}
.panel-settings .language-setting>.lang-pills button{
 flex:0 0 auto!important;
 width:auto!important;
 min-width:44px!important;
 height:32px!important;
 padding:0 10px!important
}
.reset-confirm{
 width:100%!important;
 min-width:0!important;
 height:100dvh!important;
 display:grid!important;
 place-items:center!important;
 padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))!important;
 overflow:auto!important;
 box-sizing:border-box!important
}
.reset-confirm>section{
 position:relative!important;
 inset:auto!important;
 transform:none!important;
 width:min(680px,100%)!important;
 max-width:100%!important;
 margin:auto!important;
 box-sizing:border-box!important
}
html[data-screen="game"] .toast{
 top:calc(70px + env(safe-area-inset-top))!important;
 right:max(14px,env(safe-area-inset-right))!important;
 bottom:auto!important;
 left:auto!important;
 max-width:min(340px,calc(100vw - 28px))!important
}

/* v29 — keep the story scrollbar inside the rounded dialogue frame. */
.game .dialogue{
 scrollbar-width:thin!important;
 scrollbar-color:#ff7183 transparent!important;
 scrollbar-gutter:stable!important
}
.game .dialogue::-webkit-scrollbar{width:12px!important;height:12px!important}
.game .dialogue::-webkit-scrollbar-track{
 margin-block:12px!important;
 border:3px solid transparent!important;
 border-radius:999px!important;
 background:transparent!important;
 background-clip:padding-box!important
}
.game .dialogue::-webkit-scrollbar-thumb{
 min-height:44px!important;
 border:3px solid transparent!important;
 border-radius:999px!important;
 background:linear-gradient(#55c7ff,#ffe166 52%,#ff7183) padding-box!important;
 box-shadow:none!important
}
.game .dialogue::-webkit-scrollbar-button,
.game .dialogue::-webkit-scrollbar-corner{
 display:none!important;
 width:0!important;
 height:0!important;
 background:transparent!important
}
@media(max-width:720px){
 .game .dialogue::-webkit-scrollbar{width:9px!important;height:9px!important}
 .game .dialogue::-webkit-scrollbar-track{margin-block:9px!important;border-width:2px!important}
 .game .dialogue::-webkit-scrollbar-thumb{border-width:2px!important}
}

@media(max-width:520px){
 .panel,.panel>*{min-width:0!important;max-width:100%}
 .panel-head,.settings,.shop-grid,.profile-hero,.stat-grid,.card-grid,.memory-grid{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
 .panel-settings .language-setting{grid-template-columns:52px minmax(0,1fr) auto!important;gap:9px!important;padding-left:8px!important;padding-right:8px!important}
 .panel-settings .language-setting>.lang-pills{margin:0!important;padding:3px!important}
 .panel-settings .language-setting>.lang-pills button{min-width:39px!important;height:29px!important;padding:0 7px!important;font-size:9px!important}
 .reset-confirm{padding:10px!important;align-items:center!important}
 .reset-confirm>section{width:100%!important;max-height:calc(100dvh - 20px)!important;padding:22px 18px 18px!important;border-width:3px!important;border-radius:19px!important;box-shadow:6px 7px 0 #ff7183,0 20px 50px rgba(24,35,79,.3)!important}
 .reset-confirm>section>img{width:92px!important;height:92px!important;margin:-8px -4px 8px 12px!important}
 .reset-confirm h2{font-size:clamp(27px,8.5vw,38px)!important;line-height:1.05!important}
 .reset-confirm ul{padding-left:21px!important}
 .reset-actions{justify-content:center!important;flex-wrap:wrap!important}
 html[data-screen="game"] .toast{top:calc(62px + env(safe-area-inset-top))!important;right:9px!important;left:auto!important;bottom:auto!important;width:auto!important;max-width:calc(100vw - 18px)!important}
}

@media(max-width:360px){
 .panel-settings .language-setting{grid-template-columns:48px minmax(0,1fr)!important}
 .panel-settings .language-setting>.lang-pills{grid-column:1/-1!important;grid-row:2!important;justify-self:start!important;margin-top:2px!important}
 .reset-confirm>section{padding:18px 14px 15px!important}
 .reset-confirm>section>img{width:76px!important;height:76px!important}
}

/* v28 — keep shadowed collection cards inside the mobile safe gutter. */
@media(max-width:720px){
 .card-grid,.memory-grid{
  width:100%!important;
  margin:18px 0 0!important;
  padding:6px 8px 20px 4px!important;
  overflow:visible!important;
  box-sizing:border-box!important
 }
 .achievement,.memory,.shop-product,.profile-hero,.profile-reward-status,.stat-grid article{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
 .panel-intro,.achievement,.memory,.shop-product,.profile-hero{overflow-wrap:anywhere!important}
}

/* v30 — moderation fixes: lock the browser viewport and make rewarded bonuses tangible. */
html{
 width:100%!important;height:100%!important;
 overflow:hidden!important;overscroll-behavior:none!important;
 touch-action:manipulation!important
}
body{
 position:fixed!important;inset:0!important;
 width:100%!important;height:100%!important;
 margin:0!important;overflow:hidden!important;
 overscroll-behavior:none!important;touch-action:manipulation!important
}
#app{
 width:100%!important;height:100dvh!important;
 min-height:0!important;overflow:hidden!important;
 overscroll-behavior:none!important;touch-action:manipulation!important
}
.panel,.dialogue,.choice-mode,.name-card,.reset-confirm>section,
.chapter-card>section,.ending>section,.local-ad-simulator>section,.local-review-simulator>section{
 overscroll-behavior:contain!important;
 -webkit-overflow-scrolling:touch;
 touch-action:pan-y!important
}
.panel{min-height:0!important;height:100dvh!important}

.shop-grid{grid-template-columns:repeat(3,minmax(250px,1fr))!important;align-items:stretch!important}
.shop-product{grid-template-columns:112px minmax(0,1fr)!important;grid-template-rows:1fr auto!important;min-height:286px!important}
.shop-product .product-visual{grid-row:1!important;width:112px!important;min-height:132px!important;height:132px!important}
.shop-product .product-copy{display:flex;min-width:0;flex-direction:column}
.shop-product h3{font-size:clamp(19px,1.8vw,25px)!important}
.shop-product p{font-size:11px!important}
.shop-product .reward-explainer{margin-top:auto!important}
.product-balance{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:8px 10px;border:2px solid #35427a;border-radius:10px;background:#eef7ff;color:#2a3569}
.product-balance span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.product-balance strong{display:grid;place-items:center;min-width:36px;height:30px;padding:0 9px;border-radius:99px;background:#ffe166;font-size:16px}
.shop-buy{grid-column:1/-1!important;min-height:58px!important;padding:10px 13px!important;line-height:1.25!important;white-space:normal!important}

.reward-receipt{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:rgba(26,35,81,.72);backdrop-filter:blur(9px);touch-action:manipulation}
.reward-receipt>section{width:min(520px,100%);max-height:100%;overflow:auto;padding:30px;border:4px solid #293363;border-radius:25px;background:#fff8df;color:#27315f;text-align:center;box-shadow:11px 12px 0 #ff7183,0 30px 90px rgba(18,29,70,.45)}
.reward-receipt-label{display:inline-block;padding:7px 12px;border-radius:99px;background:#55c7ff;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.reward-receipt img{display:block;width:150px;height:150px;margin:15px auto 6px;object-fit:contain;filter:drop-shadow(0 10px 10px rgba(38,50,104,.25))}
.reward-receipt h2{margin:5px 0 10px;font-size:clamp(28px,6vw,45px)}
.reward-receipt p{margin:0 auto 23px;max-width:390px;color:#505b87;line-height:1.5}
.reward-receipt button{min-height:50px;padding:11px 22px;border:3px solid #293363;border-radius:13px;background:#ffe166;color:#27315f;font-weight:950;box-shadow:5px 5px 0 #55a7ff}

.reward-inventory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 4px 0}
.reward-inventory article{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 15px;border:2px solid #34427b;border-radius:14px;background:rgba(255,249,226,.96);color:#27315f;box-shadow:5px 6px 0 #55a7ff}
.reward-inventory img{width:64px;height:64px;object-fit:contain}.reward-inventory div{display:grid;gap:4px;min-width:0}.reward-inventory b{font-size:14px}.reward-inventory span{color:#626b94;font-size:10px}.reward-inventory strong{display:grid;place-items:center;min-width:42px;height:36px;padding:0 9px;border:2px solid #293363;border-radius:99px;background:#ffe166;font-size:18px}

.story-resource{flex:0 0 auto!important;width:auto!important;min-width:54px!important;height:32px!important;padding:0 10px!important;border:2px solid #fff1c5!important;border-radius:99px!important;background:#ff7183!important;color:#26305e!important;font-size:15px!important;font-weight:950!important;letter-spacing:0!important;box-shadow:3px 3px 0 #55c7ff!important}
.story-resource b{margin-left:4px}
.choice-tools{display:flex;justify-content:flex-end;margin:-10px 0 12px}
.choice-tools button{min-height:38px;padding:7px 12px;border:2px solid #fff1c5;border-radius:99px;background:#ffe166;color:#27315f;font-size:10px;font-weight:950;box-shadow:3px 3px 0 #55c7ff}
.choice-tools button:disabled{opacity:.62;box-shadow:none}.choice-tools button b{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:5px;border-radius:50%;background:#ff7183}
.choice-insights{display:grid;gap:5px;margin:0 0 12px;padding:9px;border:1px solid rgba(255,241,197,.38);background:rgba(10,21,53,.68)}
.choice-insights p{display:grid!important;grid-template-columns:28px 1fr;gap:8px;align-items:center;margin:0!important;padding:5px 7px;border-bottom:1px dashed rgba(255,255,255,.15);font-family:inherit!important;font-size:10px!important;line-height:1.35!important}.choice-insights p:last-child{border-bottom:0}.choice-insights b{color:#ffe166}.choice-insights span{color:#f6f0dc}
.choice-mode{max-height:78dvh!important;overflow:auto!important}

@media(max-width:1100px){.shop-grid{grid-template-columns:repeat(2,minmax(260px,1fr))!important}}
@media(max-width:720px){
 .shop-grid{grid-template-columns:1fr!important}.shop-product{grid-template-columns:88px minmax(0,1fr)!important;min-height:230px!important;padding:13px!important}.shop-product .product-visual{width:88px!important;height:100px!important;min-height:100px!important}.shop-buy{min-height:54px!important}.reward-inventory{grid-template-columns:1fr!important}.reward-receipt>section{padding:23px 17px}.reward-receipt img{width:112px;height:112px}.story-resource{min-width:48px!important;height:29px!important;padding:0 8px!important;font-size:13px!important}.choice-tools{justify-content:flex-start;margin:0 0 10px}.choice-insights p{font-size:9px!important}
}
@media(max-width:360px){
 .shop-product{grid-template-columns:72px minmax(0,1fr)!important;padding:10px!important}.shop-product .product-visual{width:72px!important;height:80px!important;min-height:80px!important}.shop-product h3{font-size:17px!important}.reward-inventory article{grid-template-columns:48px minmax(0,1fr) auto;padding:10px}.reward-inventory img{width:48px;height:48px}.reward-receipt h2{font-size:28px}.reward-receipt p{font-size:12px}
}


