:root{--cream:#fff0d6;--gold:#f6d5a0;--rose:#f9bbce;--deep:#111729;--line:rgba(248,222,190,.25);font-family:'Apple SD Gothic Neo','Malgun Gothic',system-ui,sans-serif;color:var(--cream);color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#0e1e29;touch-action:none}button{font:inherit;color:inherit;cursor:pointer;border:0}button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.hidden{display:none!important}#app{width:100%;height:100%;height:100dvh;position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(125deg,#1b4348,#0b1627)}#game{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:0}#vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 80% at center,transparent 49%,rgba(5,11,28,.43));z-index:1}.hud{position:absolute;z-index:3;inset:0;pointer-events:none}.hud button,.hud .joy{pointer-events:auto}.hud-top{display:flex;align-items:center;gap:13px;position:absolute;top:max(12px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));filter:drop-shadow(0 2px 12px #08101aba)}.identity{display:flex;align-items:center;gap:10px}.identity img{object-fit:cover;object-position:center;width:59px;height:59px;border:2px solid #f1d09c;border-radius:15px;box-shadow:0 0 20px #d5a77b44}.identity small{display:block;font:700 9px Georgia;letter-spacing:2px;color:var(--gold);white-space:nowrap}.identity strong{display:block;font:800 19px Georgia,'Malgun Gothic';white-space:nowrap}.identity strong span{font:600 11px system-ui;color:#d6deee}.bars{display:flex;flex-direction:column;gap:5px;width:220px}.bar-line{display:flex;align-items:center;gap:6px;text-shadow:0 1px 5px #000}.bar-line b{font:800 10px system-ui;width:27px}.bar-line span{font:800 10px system-ui;width:63px;text-align:right}.bar{position:relative;height:11px;border-radius:15px;overflow:hidden;border:1px solid #b7c8c17a;background:#0b152ad9;flex:1;box-shadow:inset 0 0 9px #0008}.bar i{display:block;width:100%;height:100%;transition:width .14s linear}.hp i{background:linear-gradient(90deg,#ef5167,#ffb397)}.mp i{background:linear-gradient(90deg,#4f9cea,#aff0ed)}.exp i{background:linear-gradient(90deg,#bf8eeb,#fbe3ae)}.region{margin-left:auto;background:linear-gradient(120deg,#102736e8,#342d44d9);border:1px solid var(--line);border-radius:15px;padding:10px 15px;min-width:180px;display:flex;flex-direction:column;gap:3px;text-align:center;box-shadow:0 10px 30px #04111a88}.region small{font:700 9px Georgia;letter-spacing:2px;color:#f5cfab}.region b{font:900 18px Georgia,'Malgun Gothic';letter-spacing:1px}#stageBar{height:4px;background:#334859;border-radius:5px;margin-top:4px;overflow:hidden}#stageBar i{display:block;width:0;height:100%;background:linear-gradient(90deg,#a3eee3,#f7d7ab)}.icon-button{width:46px;height:46px;border:1px solid #f3ddc188;border-radius:50%;background:#1b2738e8;backdrop-filter:blur(9px);font-size:22px;font-weight:800}.icon-button:hover{background:#4a3d52}.top-extra{position:absolute;top:89px;right:16px;display:flex;gap:6px}.glass-pill{background:#102331c7;border:1px solid #e5cdb655;border-radius:99px;padding:7px 10px;font-size:12px;font-weight:850;box-shadow:0 2px 10px #0004}.combo{color:#ffe2ad}.forge{pointer-events:auto!important;color:#f8e1b8;white-space:nowrap;font-weight:850;cursor:pointer}.forge:hover{background:#425f67}.recipe-grid{display:grid;gap:10px;margin:18px 0}.recipe{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#1023378c;border:1px solid #e9d2ab55;border-radius:12px;padding:13px}.recipe strong{font-size:16px}.recipe p{font-size:11px;margin:4px 0}.recipe button{background:#f3d7a8;color:#1b2a36;font-weight:900;border-radius:8px;padding:10px 14px;min-width:86px}.recipe button:disabled{opacity:.38;cursor:not-allowed}.boss-panel{position:absolute;top:144px;left:50%;transform:translateX(-50%);width:min(500px,75vw);background:#1d1b32dc;border:1px solid #e6a1b488;border-radius:14px;padding:8px 14px;box-shadow:0 5px 30px #100f2099}.boss-panel>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:5px}.boss-panel strong{font-size:13px;color:#ffafc9}.boss-panel small{font-size:10px;color:#e7cfca}.boss{height:10px}.boss i{background:linear-gradient(90deg,#b95696,#fba3bb)}.quest{position:absolute;left:18px;top:112px;display:flex;flex-direction:column;gap:3px;border-left:3px solid #c2ead6;padding:7px 12px;background:linear-gradient(90deg,#132b37bf,transparent);text-shadow:0 1px 5px #001}.quest small{font-size:10px;color:#c8e7e6}.quest b{font-size:13px}.quest span{font-size:11px;color:#ffe1ad}.center-message{position:absolute;left:50%;top:22%;transform:translateX(-50%);border:1px solid #e9caa481;border-radius:15px;background:#112637c9;padding:13px 25px;white-space:nowrap;text-align:center;font:900 21px Georgia,'Malgun Gothic';box-shadow:0 0 35px #77dec356;animation:pop .25s ease}@keyframes pop{from{transform:translateX(-50%) scale(.86);opacity:0}to{transform:translateX(-50%) scale(1);opacity:1}}.hud-bottom{position:absolute;left:14px;right:14px;bottom:max(17px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:end}.movement-tip{font-size:11px;color:#f1f2e8;letter-spacing:.1px;text-shadow:0 2px 7px #000;background:#0b273482;border:1px solid #d6e1ce41;border-radius:30px;padding:10px 15px}.joy{display:none;width:120px;height:120px;border-radius:50%;border:2px solid #e6ebee7a;background:#0b233d70;box-shadow:inset 0 0 30px #a8e3ff20;position:relative}.joy:before{content:'';position:absolute;inset:26px;border:1px solid #b1c9db47;border-radius:50%}.joy>div{position:absolute;width:54px;height:54px;top:31px;left:31px;border-radius:50%;background:linear-gradient(145deg,#effff3ae,#6ecac6b3);border:2px solid #e6fff4c9;box-shadow:0 0 24px #bafbf58c}.action-zone{display:flex;gap:9px}.skill{position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:1px;min-width:66px;height:73px;background:linear-gradient(150deg,#40576bdf,#172637ec);border:1.5px solid #d6e5d09d;border-radius:18px;box-shadow:inset 0 1px 0 #ffffff50,0 5px 20px #07121ca6;overflow:hidden}.skill span{font-size:27px;line-height:1.1;color:#fce5cd}.skill b{font-size:11px}.skill small{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:17px;background:#111e31d9;color:#fcebd9;pointer-events:none}.skill:active,.skill:hover{border-color:#fff1ba;background:#425a70}.dash{background:linear-gradient(130deg,#684759df,#233952e8)}.overlay{position:absolute;z-index:5;inset:0}.menu{display:flex;justify-content:center;align-items:center;background:linear-gradient(95deg,#091927e8 4%,#16283dbd 57%,#0d152666)}.menu-bg{position:absolute;inset:0;background:url('./assets/events/awakening.webp') center/cover no-repeat;opacity:.5;filter:saturate(1.08)}.menu:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0c182ae8 0%,#152b3ab3 52%,#101b3096 100%);z-index:1}.menu-content{position:relative;z-index:2;width:min(1160px,94vw);min-height:560px;display:grid;grid-template-columns:1fr .78fr;gap:22px;align-items:center}.menu-left{padding:25px 10px 25px 42px}.eyebrow{font:700 12px Georgia;letter-spacing:3px;color:#ffe3b7;margin-bottom:23px}.menu h1{font:900 clamp(44px,6vw,86px)/1.13 Georgia,'Malgun Gothic',serif;letter-spacing:-2px;margin:0;text-shadow:0 5px 27px #08131f99}.menu h1 em{color:#ffe2b5;font-style:normal}.menu h1 span{display:block;color:#f4bcd1;font-size:.55em;margin-top:5px;letter-spacing:5px}.menu p{color:#e1edea;font-size:15px;line-height:2;margin:23px 0 28px;text-shadow:0 2px 5px #001}.menu-choices{display:grid;gap:10px;width:min(330px,100%)}.main-button,.line-button{min-height:50px;border-radius:11px;padding:12px 20px;font-size:14px;font-weight:900;letter-spacing:.2px;text-align:left}.main-button{background:linear-gradient(100deg,#f9d59b,#f2aec1);color:#243042;box-shadow:0 8px 28px #f5b6b145}.line-button{border:1px solid #ecd7ba80;background:#1b293dc7;color:#f3e2d5}.main-button:hover,.line-button:hover{filter:brightness(1.12)}.menu-meta{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:28px;color:#b9d9d4;font-size:10px}.menu-footer{font-size:10px;letter-spacing:1px;color:#d3dfe4;margin-top:18px}.menu-hero{position:relative;min-height:540px;display:flex;justify-content:center;align-items:end}.portrait-ring{position:absolute;top:17%;left:10%;right:10%;aspect-ratio:1;border:2px solid #edcca99c;border-radius:50%;box-shadow:0 0 0 18px #dbc3a211,0 0 0 37px #dbc3a20b,0 0 90px #e2b6d735;animation:ring 7s ease-in-out infinite}@keyframes ring{50%{transform:scale(1.05);opacity:.72}}.menu-hero img{width:min(460px,100%);height:540px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 0 34px #e4b9da4a);animation:float 4s ease-in-out infinite}@keyframes float{50%{transform:translateY(-11px)}}.hero-caption{position:absolute;right:5%;bottom:35px;background:#112537b0;border:1px solid #efccaa77;padding:12px 15px;border-radius:10px;font:11px Georgia;letter-spacing:3px}.hero-caption strong{font-size:20px;color:#f2d1a2}.hero-caption small{display:block;font-size:9px;letter-spacing:1px;padding-top:6px}.dialog-overlay{background:#07141bc9;backdrop-filter:blur(10px);display:flex;justify-content:center;align-items:center;padding:18px}.dialog-card{max-height:90dvh;overflow-y:auto;width:min(690px,100%);background:linear-gradient(140deg,#26374c,#171f32 85%);border:1px solid #f3d4af88;border-radius:22px;box-shadow:0 30px 100px #020d159c;padding:27px}.dialog-head{display:flex;justify-content:space-between;gap:10px;align-items:start;padding-bottom:17px;border-bottom:1px solid var(--line)}.dialog-head small{font:700 10px Georgia;letter-spacing:2px;color:#f8cda1}.dialog-head h2{font:800 29px Georgia,'Malgun Gothic';margin:7px 0 0}.dialog-card p{line-height:1.85;color:#e4e6eb;font-size:14px}.dialog-card .description{font-size:12px;color:#c0d9df}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:23px 0 7px}.choice{border:1px solid #e9cfb573;background:#172b3ed6;border-radius:14px;padding:19px 12px;min-height:179px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.choice:hover{background:#31445b;border-color:#f7e2a1}.choice .symbol{font-size:43px;line-height:1.1}.choice b{font-size:15px}.choice p{font-size:12px;line-height:1.6;margin:0}.dialog-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.dialog-actions button{border-radius:10px;background:#ead0a9;color:#1d2936;padding:12px 18px;font-weight:800}.dialog-actions .secondary{color:#f6e8d5;background:#3b4052;border:1px solid var(--line)}#toastBox{position:absolute;z-index:6;top:205px;right:18px;display:flex;flex-direction:column;gap:7px;pointer-events:none}.toast{animation:fadeToast 2.2s both;background:#192d3ddc;border:1px solid #d0e5c28c;padding:9px 15px;border-radius:10px;font-size:12px;box-shadow:0 5px 19px #0007}@keyframes fadeToast{0%{opacity:0;transform:translateX(18px)}12%,75%{opacity:1;transform:none}100%{opacity:0;transform:translateX(16px)}}.install{position:absolute;z-index:7;bottom:10px;left:50%;transform:translateX(-50%);background:#26384fe8;border:1px solid var(--line);border-radius:15px;padding:12px 15px;font-size:12px;display:flex;gap:10px;align-items:center}.install button{background:#e6c99b;color:#1e2732;border-radius:7px;padding:6px 10px}
@media(max-width:850px){.menu-content{grid-template-columns:1fr .66fr;min-height:0}.menu-left{padding:8px}.menu-hero,.menu-hero img{height:440px;min-height:0}.menu-hero img{width:100%}.menu h1{font-size:54px}.bars{width:150px}.identity strong{font-size:15px}.region{min-width:130px}.region b{font-size:14px}.movement-tip{display:none}}
@media(max-width:600px){.hud-top{gap:7px;top:max(9px,env(safe-area-inset-top));left:8px;right:8px}.identity{gap:5px}.identity img{height:42px;width:42px;border-radius:12px}.identity small{font-size:6px;letter-spacing:0}.identity strong{font-size:12px}.identity strong span{font-size:9px}.bars{width:112px;gap:3px}.bar-line{gap:2px}.bar-line b{font-size:8px;width:18px}.bar-line span{font-size:8px;width:34px}.bar{height:8px}.region{min-width:80px;padding:5px 6px;border-radius:11px}.region b{font-size:12px}.region small{font-size:7px;letter-spacing:0}.icon-button{width:35px;height:35px;font-size:18px}.top-extra{top:69px;right:8px;gap:3px}.glass-pill{font-size:10px;padding:5px 7px}.quest{top:82px;left:8px;padding:6px 8px}.quest b{font-size:11px}.quest small,.quest span{font-size:9px}.boss-panel{top:150px;width:85vw}.boss-panel small{font-size:8px}.hud-bottom{left:10px;right:10px;bottom:max(13px,env(safe-area-inset-bottom))}.joy{display:block;width:104px;height:104px}.joy>div{width:46px;height:46px;top:27px;left:27px}.action-zone{gap:4px}.skill{min-width:49px;width:49px;height:61px;border-radius:14px}.skill span{font-size:23px}.skill b{font-size:9px}.skill small{font-size:14px}.center-message{font-size:14px;max-width:95vw;white-space:normal}.menu{align-items:center;background:#091827e6}.menu:before{background:linear-gradient(#111e2cbb,#0b1f30f0)}.menu-content{display:flex;flex-direction:column-reverse;justify-content:end;gap:0;width:100%;height:100%;min-height:0;overflow-y:auto;padding:env(safe-area-inset-top) 13px env(safe-area-inset-bottom)}.menu-hero{height:min(37dvh,310px);width:100%;flex-shrink:0;min-height:0}.menu-hero img{height:100%;width:auto;max-width:95vw}.portrait-ring{top:7%;left:28%;right:28%}.hero-caption{right:7%;bottom:18px;padding:7px;font-size:8px}.hero-caption strong{font-size:13px}.hero-caption small{font-size:7px}.menu-left{width:100%;text-align:center;padding:0 7px 16px}.eyebrow{font-size:9px;margin:6px 0 8px}.menu h1{font-size:clamp(39px,10vw,53px);line-height:1.04}.menu h1 span{letter-spacing:3px}.menu p{font-size:12px;line-height:1.6;margin:12px 0 16px}.menu-choices{margin:0 auto;gap:7px}.main-button,.line-button{text-align:center;min-height:40px;font-size:12px;padding:9px}.menu-meta{justify-content:center;gap:5px 9px;margin-top:11px;font-size:9px}.menu-footer{font-size:8px;margin:9px 0 0}.dialog-card{padding:17px;border-radius:17px}.dialog-head h2{font-size:24px}.choice-grid{grid-template-columns:1fr;gap:7px}.choice{min-height:0;display:grid;grid-template-columns:50px 1fr;text-align:left;gap:3px;padding:10px 13px}.choice .symbol{font-size:28px;grid-row:span 2}.choice b{font-size:13px}.choice p{font-size:11px}.dialog-card p{font-size:12px}#toastBox{top:185px;right:8px}.toast{padding:7px 10px;font-size:11px}.install{width:95vw;justify-content:center;font-size:10px}}
@media(max-height:660px) and (orientation:landscape){.menu-content{min-height:0}.menu-hero,.menu-hero img{height:75vh;min-height:0}.menu p{margin:10px 0}.menu-meta{margin-top:10px}.hud-bottom{bottom:6px}.skill{height:56px}.joy{width:85px;height:85px}.joy>div{top:20px;left:20px}}

/* Cinematic art / non-destructive v2.2 additions */
.menu-bg{background-image:url('./assets/events/awakening.webp');background-position:center;opacity:.55;filter:none}
.menu-hero{overflow:hidden;isolation:isolate;border-radius:24px;background:radial-gradient(ellipse at 46% 20%,#7b529277,transparent 68%);border:1px solid #b3add74d;box-shadow:0 14px 60px #050a20aa}
.menu-hero img{width:100%;height:100%;object-fit:cover;object-position:53% 20%;filter:none;animation:none;mask-image:linear-gradient(black 76%,transparent 100%)}
.menu-hero .hero-caption{position:absolute;z-index:3}
.identity img{object-fit:cover;object-position:50% 15%}
.cinematic{position:absolute;z-index:15;inset:0;overflow:hidden;background:#080c1b;display:flex;align-items:end;justify-content:center;isolation:isolate;animation:cinematicIn .32s ease-out both}
.cinematic>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;animation:sceneZoom 8s ease-out both}
.cinematic-shade{position:absolute;inset:0;background:linear-gradient(180deg,#060c19aa 0%,transparent 26%,#0b061232 49%,#070918e8 100%);pointer-events:none}
.cinematic-copy{position:absolute;z-index:2;bottom:clamp(65px,13vh,150px);left:max(22px,7vw);right:20px;filter:drop-shadow(0 4px 12px #000)}
.cinematic-copy small{letter-spacing:5px;font-size:clamp(9px,1.2vw,14px);color:#e4c5f2;font-weight:800}
.cinematic-copy h2{font:900 clamp(31px,5.8vw,78px)/1.15 Georgia,'Malgun Gothic',serif;letter-spacing:-1px;color:#ffe3b4;margin:9px 0;text-shadow:0 0 22px #a972aa}
.cinematic-copy p{color:#faedf4;font-size:clamp(12px,1.5vw,18px);margin:0;line-height:1.7}
.cinematic-skip{position:absolute;z-index:3;right:max(18px,5vw);bottom:max(22px,5vh);font-size:13px;color:#ffeacf;background:#1c1738d8;border:1px solid #e6c5a177;border-radius:40px;padding:11px 18px}
.cinematic-skip span{padding-left:8px;font-weight:900}
.cinematic-progress{position:absolute;z-index:4;bottom:0;left:0;right:0;height:4px;background:#d7c8e522}
.cinematic-progress i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ffeca3,#d29bfa);transform-origin:left}
@keyframes cinematicIn{from{opacity:0}to{opacity:1}}
@keyframes sceneZoom{from{transform:scale(1.06)}to{transform:scale(1)}}
.dialog-event-art{width:100%;height:clamp(125px,23vh,235px);margin:14px 0 2px;overflow:hidden;border-radius:12px;border:1px solid #d0b7cc5c;position:relative}
.dialog-event-art img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}
.dialog-event-art:after{content:'';position:absolute;inset:0;box-shadow:inset 0 -40px 38px #141b2a96;pointer-events:none}
.spell-moment{position:absolute;z-index:4;top:26%;right:12px;width:min(310px,37vw);pointer-events:none;border:1px solid #eee0f4b0;background:#0f1230e0;border-radius:16px;overflow:hidden;box-shadow:0 6px 42px #9b65f65e;animation:spellFlash 1.6s ease-out both}
.spell-moment img{width:100%;height:auto;aspect-ratio:16/8;object-fit:cover;display:block}
.spell-moment div{padding:6px 11px 9px;background:#110e28}
.spell-moment small{display:block;color:#dcc1e6;font-size:9px;letter-spacing:2px}
.spell-moment b{font-size:13px;color:#ffe2b1}
@keyframes spellFlash{0%{opacity:0;transform:translateX(60px) scale(.86)}15%,70%{opacity:1;transform:translateX(0) scale(1)}100%{opacity:0;transform:translateX(15px) scale(.97)}}
@media(max-width:600px){.menu-hero{border:0;min-height:0;width:min(72vw,280px);height:min(36dvh,288px);border-radius:36px;margin:6px auto}.menu-hero img{height:100%;width:100%;object-position:52% 14%}.cinematic>img{object-position:43% center}.cinematic-copy{bottom:89px;left:20px}.cinematic-copy small{letter-spacing:2px}.cinematic-skip{bottom:27px}.dialog-event-art{height:155px;margin-top:8px}.spell-moment{width:min(48vw,205px);right:8px;top:26%}.spell-moment b{font-size:11px}}
@media(prefers-reduced-motion:reduce){.cinematic,.cinematic>img,.spell-moment{animation:none}}

.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:18px 0}
.gallery-grid figure{margin:0;background:#0d1829;border:1px solid #d3bbde61;border-radius:14px;overflow:hidden}
.gallery-grid img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center 30%}
.gallery-grid figure:first-child img{object-position:center 20%}
.gallery-grid figcaption{padding:9px 12px 12px;display:flex;flex-direction:column;gap:3px}
.gallery-grid figcaption strong{font-size:13px;color:#ffe1b3}.gallery-grid figcaption small{font-size:10px;color:#bfccdc}
@media(max-width:600px){.menu-content{justify-content:center;padding-top:max(12px,env(safe-area-inset-top))}.gallery-grid{gap:7px}.gallery-grid figcaption{padding:7px}.gallery-grid figcaption strong{font-size:11px}.gallery-grid figcaption small{font-size:9px}}
