/* Grace Taker · Moonlit pixel edition. Layout remains in style.css. */
:root{color:#ede4fa;background:#090e20;--gold:#eec183;--muted:#aaa7ca;--line:#7584cf45;--panel:#10172d;--ink:#090e20}
.pixel-art,.item-art,.facility-hero img{image-rendering:pixelated;image-rendering:crisp-edges}
button{background:#18213c;border-color:#52649b;box-shadow:inset 0 0 0 2px #0a1027,inset 0 0 0 3px #6476b31a;border-radius:3px;color:#e8e2f8}
button:hover:not(:disabled){background:#2b2b50;border-color:#b4a4e9}
button.primary{background:linear-gradient(#edcf9a,#c9985e);color:#241b36;border-color:#ffdfa8;box-shadow:inset 0 0 0 2px #684e50,0 0 20px #f5bf5020}
button.primary:hover{background:#ffe1aa}button.danger{background:#45233f88;color:#ffb3c8;border-color:#a15379}
input,select{background:#0c142b;color:#e7dffa;border-color:#506290}p{color:#c4bdd9}kbd{background:#111a38;color:#e4d6fa;border-color:#6b79b1;border-radius:2px}
.notice,.primed{background:#28223c77;border-color:#73639866;color:#d3c5e0}.positive{color:#a0edca}.negative{color:#ffa9bf}
.game-top{background:linear-gradient(#090e26eb,transparent)}.brand-mini{color:#f4d9fa;text-shadow:0 0 15px #af68b666}.location strong{color:#e9d9f5;text-shadow:0 2px 8px #050719}.location-sub{color:#b6b1d3}
.portrait{background:radial-gradient(#514478,#121a38);border:1px solid #a38ac7;clip-path:none;border-radius:4px;overflow:hidden}.portrait img{width:64px;height:80px;object-fit:cover;object-position:center;transform:translateY(0)}
.player-status{padding:9px 12px;background:#0b1028c9;border:1px solid #53649977;box-shadow:inset 0 0 0 3px #090e2344;border-radius:3px}.player-info>div:first-child span{color:#d5b0e7}.health-track{height:9px;background:#281b3d;border-color:#a871a8}.health-track i{background:linear-gradient(#ed7cb7 0 24%,#bf3b83 25% 70%,#76265e 71%);box-shadow:0 0 8px #f065b044}.health-label{color:#ece0f4}.xp-track{background:#161c3a}.xp-track i{background:#6e9dff;box-shadow:0 0 8px #538fff}
.quick-nav button{background:#10172ee8;border-color:#5c6b9f}.bottom-left{border-color:#8d7ac0;background:linear-gradient(90deg,#0a1026b3,transparent);padding:12px 16px;text-shadow:0 2px 3px #060a19}.bottom-left small{color:#b4b1d0}.home-marker{color:#c0cceb}.home-marker span{color:#928cae}.home-marker i{background:#96e6ed;box-shadow:0 0 12px #78b7ef}.controls-hint{color:#c1b9d099}.interaction kbd{background:#332542;color:#ffe1ae}
.side-panel{background:linear-gradient(140deg,#151a36f9,#0b1229fc);border-color:#7181c1;box-shadow:0 0 0 3px #0c1024,0 0 0 4px #52477255,-15px 10px 70px #03071dbb;border-radius:6px}.panel-header{color:#e4cdf7;background:linear-gradient(90deg,#292343,#111a35);border-bottom-color:#7d6b9f;box-shadow:inset 0 3px #9c80bc33}.panel-body{scrollbar-color:#676392 #0d142c}.section-title h2{color:#ece1fa}.equipment-layout{background:radial-gradient(ellipse at 50% 65%,#7060c72e,transparent 70%);border:1px solid #73649c33;border-radius:4px;padding:10px 0}.equipment-cell label{color:#b4aed0}
.character-art .hero-portrait{height:260px;width:208px;object-fit:contain;filter:drop-shadow(0 0 12px #7464b533)}.character-art>span{color:#e1c3ee}.character-halo{border-color:#b592e338;box-shadow:0 0 0 15px #8d6cc00b}.stat-row{color:#aaa6c7}.stat-row b{color:#e2d9f4}.grid-heading span{color:#aaa4c6}
.item-slot{background:linear-gradient(135deg,#101a32,#0a1023);border-color:#384d79;border-radius:4px;box-shadow:inset 0 0 0 2px #080e20,inset 0 0 0 3px #253458;overflow:visible}.item-slot.filled{border-color:color-mix(in srgb,var(--rarity) 75%,#596ba0);background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--rarity) 15%,transparent),transparent 70%),#0e142c;box-shadow:inset 0 0 0 2px #070d22,inset 0 0 0 3px color-mix(in srgb,var(--rarity) 23%,transparent),0 0 10px color-mix(in srgb,var(--rarity) 8%,transparent)}
.item-slot.filled:before,.item-slot.filled:after{content:"";position:absolute;pointer-events:none;width:7px;height:7px;border-color:var(--rarity);opacity:.7}.item-slot.filled:before{left:4px;top:4px;border-left:1px solid;border-top:1px solid}.item-slot.filled:after{right:4px;bottom:4px;border-right:1px solid;border-bottom:1px solid}.item-slot:hover{background:#292449!important}.item-name{color:#d7cdea}.item-art{filter:drop-shadow(0 2px 2px #03071b);object-fit:contain}.slot-mark{color:#5d679466}.stack-count{background:#0a1025e8;color:#f2d8aa}.socket{background:#080c24;border-color:#aca2c8}.socket i{background:#b6e8ff}.socket.desire i{background:#ec8fe8}.socket-description{color:#c0b0dc}.item-heading span{color:#b4aac8}
.skill-slot,.dodge-slot{background:linear-gradient(#1c2040,#0b142c);border-color:#6076bb}.skill-slot.learned{border-color:#9b82c9;box-shadow:inset 0 0 0 2px #090e24,0 0 12px #6859a32a}.skill-slot .skill-glyph{height:46px;line-height:46px;display:grid;place-items:center}.skill-glyph img{width:42px;height:42px}.skill-slot i{background:#050a22bb}.unlearned-mark{color:#5b658e;font-size:30px}.cooldown-number{color:#fff1ff}.dodge-slot b{color:#c8b7f1}.boss-bar>div{background:#16142e;border-color:#795286}.boss-bar i{background:linear-gradient(90deg,#79317f,#d575bd)}
.region-card{background:#11192f;isolation:isolate;min-height:135px;border-color:#515882}.region-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.5}.region-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0c1429f2,#10152bab 65%,#18153033)}.region-card:before{display:none}.region-number{color:#cab4e5}.region-number span,.region-card p{color:#b6add0}.region-card h3{color:#f3dcfb}.region-card small{color:#c7c3db}.region-arrow{color:#d8b7f2}.region-card.locked .region-art{filter:grayscale(1)}
.facility-hero{background:#0e1429;border-color:#6d609c}.facility-hero img{object-fit:cover}.facility-hero>.eyebrow{background:#10152bc9;padding:5px 8px;border-left:2px solid #d4ac7b}.facility-upgrade span{color:#d5b6ec}.production-box,.profit{background:#171c3477}.production-track{background:#0a1128}.production-track i{background:#8ea0e3}.profit>span,.form-row>label{color:#b6abcf}.codex-entry{background:linear-gradient(110deg,#29213b55,#0d152a);border-color:#4e557c;border-radius:3px}.ghost-emblem{width:72px;filter:none}.ghost-emblem img{object-fit:contain;vertical-align:middle;max-width:100%}.unknown .ghost-emblem img{filter:brightness(0) drop-shadow(0 0 1px #9691bc);opacity:.7}.unknown h3{color:#9c94b1}.guide-block h3{color:#dec2ef}
.modal-layer{background:#070c24c2;backdrop-filter:blur(2px)}.dialog{background:linear-gradient(135deg,#1f1d3c,#0c142b);border-color:#9e83b9;border-radius:6px;box-shadow:0 0 0 3px #090f23,0 0 0 4px #69629566,0 24px 90px #03071dcc}.weapon-choices button{background:radial-gradient(ellipse at 50% 20%,#70529c33,transparent 65%),#0e152b;border-color:#64588a}.weapon-choices button:nth-child(2){border-color:#b88765}.weapon-choices button:nth-child(3){border-color:#8570c7}.weapon-choices .item-art{width:96px;height:96px;filter:drop-shadow(0 0 14px #ba85d444)}
.blessing{position:relative;background:radial-gradient(ellipse at 50% 25%,#73476855,transparent 65%),#10162e;border:2px solid #b773a4;box-shadow:inset 0 0 0 3px #111329,inset 0 0 0 4px #7c4b7833,0 0 20px #a6588822;border-radius:5px}.blessing:nth-child(2){border-color:#689fe1;background:radial-gradient(ellipse at 50% 25%,#385b8e55,transparent 65%),#10162e}.blessing:nth-child(3){border-color:#af7ee4;background:radial-gradient(ellipse at 50% 25%,#64439166,transparent 65%),#10162e}.blessing-symbol{line-height:1;margin:18px 0}.blessing-symbol img{width:80px;height:80px;filter:drop-shadow(0 0 12px #b48aef66)}.blessing h3{color:#f0d5ee}.blessing p{color:#cbc0de}.blessing footer{color:#c1a9d8}.levelup>p{color:#ccc0df}.loot-list span{background:#10172d}.summary-stats b{color:#e4c2f0}
#tooltip article{background:#0f142bf7;border-color:#a18cbd;border-radius:4px;box-shadow:inset 0 0 0 3px #26233a}#tooltip footer{color:#a69cba}.toast{background:#171b36f5;border-color:#947cb6;color:#efddf7}.joystick{background:#171e3b66;border-color:#a79bd766}.joystick>div{background:#9d94c855;border-color:#c3b3f177}.joystick>span{color:#d8c9f388}.touch-interact{background:#242344cc;color:#e3d3ff;border-color:#a58cc6}
.title-screen{background:#080d20;isolation:isolate;overflow:hidden}.title-panorama{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;z-index:-3}.title-screen:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#090e24fa 0%,#0b1026db 32%,#0a0c2138 70%),linear-gradient(0deg,#090d24e8,transparent 40%);z-index:-2}.title-content{left:9%;width:450px}.title-content h1{color:#f2d8fa;text-shadow:3px 3px #674b83,0 0 30px #aa7ed355;font-size:100px;letter-spacing:3px;font-weight:700;line-height:.95}.title-content h1 span{color:#d5b0e5}.korean-title{color:#d9a7db}.korean-title i{background:#b07bc1}.title-content p{color:#d1c6e3}.title-content>.eyebrow{color:#c6a3e4}.title-start{border-radius:2px}.title-content>small{color:#a69abd}.title-decoration{color:#c3a3d6}.title-bottom{color:#c2adcf}.title-bottom b{color:#d7b8e5}.version-note{color:#a89ab9}.title-hero{position:absolute;left:61%;top:50%;transform:translate(-20%,-35%);display:flex;flex-direction:column;align-items:center;z-index:-1}.title-hero img{width:336px;height:420px;filter:drop-shadow(0 0 30px #a38ad144)}.title-hero span{font-size:11px;letter-spacing:3px;color:#ddc2e9;text-shadow:0 2px #090c22;margin-top:12px}
@media(max-width:1100px){.title-content{left:7%;width:390px}.title-content h1{font-size:85px}.title-hero{left:63%}.title-hero img{width:280px;height:350px}}
@media(max-width:700px){.player-status{left:12px;padding:7px}.portrait img{width:46px;height:58px;transform:translateY(0)}.character-art .hero-portrait{width:144px;height:180px}.character-art{width:160px}.equipment-layout{padding:7px 0}.item-slot .item-art{width:40px;height:40px}.skill-glyph img{width:36px;height:36px}.skill-slot .skill-glyph{height:39px;line-height:39px}.weapon-choices .item-art{grid-row:1/5;width:60px;height:72px}.blessing-symbol img{width:52px;height:52px}.blessing-symbol{opacity:.7;right:13px;top:12px}.blessing h3,.blessing p{padding-right:40px}.title-content{left:8%;top:49%;width:84%;z-index:1}.title-content h1{font-size:clamp(62px,17vw,85px)}.title-content p{font-size:12px}.title-hero{left:auto;right:-24px;top:24%;transform:none;opacity:.66}.title-hero img{width:180px;height:225px}.title-hero span{display:none}.title-screen:after{background:linear-gradient(90deg,#090e24e6,#0a0c2166),linear-gradient(0deg,#090d24f5,transparent 75%)}.title-panorama{object-position:66% center}.title-bottom{bottom:38px}.region-art{object-position:right}.region-card{min-height:135px}}
@media(max-height:600px) and (min-width:701px){.title-content h1{font-size:62px}.title-hero img{width:224px;height:280px}.title-hero{top:42%}}
.inventory-panel .section-title h2{font-size:25px;margin:7px 0 9px}.inventory-panel .section-title p{margin-bottom:16px}.inventory-panel .equipment-layout{min-height:260px}.inventory-panel .character-art .hero-portrait{height:210px;width:168px}.inventory-panel .equipment-side{gap:7px}.inventory-panel .equipment-cell .item-slot{min-height:64px}.inventory-panel .character-art>span{margin:6px 0}.inventory-panel .stat-row{margin:14px 0;padding:12px 0}.inventory-panel .grid-heading{margin:14px 0 10px}
@media(max-width:700px){.inventory-panel .character-art .hero-portrait{height:175px;width:140px}.inventory-panel .equipment-layout{min-height:250px}}
.portrait{display:grid;place-items:center}.portrait img{display:block;flex:none}
.chapter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.chapter-tabs button{padding:10px 13px;border:1px solid #76638d;background:#15182c;color:#cbbedd;border-radius:5px}.chapter-tabs button.active{border-color:#eac98b;color:#ffe7b4;background:#3a2c48}
.seraph-codex-art{display:block;width:92px;height:92px;background:url('../assets/seraphiel-v10.png') 0 0 / 400% 200% no-repeat}
.spirit-run .expedition-status,.spirit-run .bottom-left,.spirit-run .game-top .location{display:none}
.boss-bar.spirit-boss-bar{top:24px;width:min(640px,52vw);padding:15px 24px 12px;background:linear-gradient(130deg,#16112bef,#382447ed,#141329f5);border:1px solid #e2c68a;border-radius:8px;box-shadow:0 0 0 3px #1f1834,0 8px 35px #100b2ccc;color:#fce4bc;font-size:20px;letter-spacing:2px}
.spirit-boss-bar>div{height:15px;margin:10px 0 4px;background:#100b1c;border:1px solid #b99872}.spirit-boss-bar #boss-fill{background:linear-gradient(90deg,#7e354c,#d87897,#ffbdc4)}.spirit-boss-bar>small{font-size:11px;letter-spacing:1px;color:#d7bbcd}.boss-cast{margin-top:8px;font-size:13px;letter-spacing:1px;color:#eee2ff}.boss-cast>div{height:7px;background:#0b0c22;margin-top:6px}.boss-cast i{display:block;height:100%;width:0;background:linear-gradient(90deg,#a078d1,#f8db9b);box-shadow:0 0 8px #ddbbdf}
@media(max-width:700px){.boss-bar.spirit-boss-bar{top:12px;width:calc(100vw - 32px);font-size:15px;padding:10px 15px}.spirit-run .game-top{display:none}.spirit-run .player-status{top:145px}.spirit-run .return-action{bottom:185px}.chapter-tabs button{font-size:11px;padding:8px}}
.spirit-run .quick-nav{display:none}.boss-bar.spirit-boss-bar{padding:10px 24px 8px;font-size:18px;top:18px}.spirit-boss-bar>div{margin:7px 0 3px}.boss-cast{margin-top:5px}
.boss-dialogue{position:fixed;z-index:18;left:50%;bottom:158px;transform:translateX(-50%);width:min(520px,70vw);padding:11px 25px 13px;text-align:center;pointer-events:none;border:1px solid #c9ad784d;border-radius:4px;background:linear-gradient(90deg,#15102700,#151027e8 18%,#151027e8 82%,#15102700);box-shadow:0 6px 22px #10091f33;animation:boss-dialogue-in .25s ease-out}.boss-dialogue[hidden]{display:none}.boss-dialogue>span{display:block;color:#ebcb8e;font-size:11px;letter-spacing:3px}.boss-dialogue p{color:#fff1dc;font-size:15px;line-height:1.65;margin:5px 0 0;text-shadow:0 1px 3px #05030a}@keyframes boss-dialogue-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@media(max-width:700px){.boss-dialogue{bottom:155px;width:calc(100vw - 44px);padding:8px 12px}.boss-dialogue p{font-size:12px}.boss-dialogue>span{font-size:10px}}
.spirit-run .skill-bar{bottom:100px}.spirit-run .return-action{bottom:105px}.boss-dialogue{bottom:12px;padding:8px 25px 10px}.boss-dialogue p{margin-top:3px}.boss-entrance{pointer-events:none;position:fixed;z-index:16;inset:35% 0 auto;text-align:center;padding:20px;background:linear-gradient(90deg,transparent,#110b29c9 30%,#110b29c9 70%,transparent);color:#f5dcb1;animation:boss-dialogue-in .8s ease-out}.boss-entrance[hidden]{display:none}.boss-entrance small{display:block;font-size:12px;letter-spacing:6px;color:#ceb4df}.boss-entrance strong{display:block;font-size:clamp(28px,4vw,54px);letter-spacing:12px;margin:12px 0;text-shadow:0 0 24px #ad7fd8}.boss-entrance>span{font-size:18px;letter-spacing:9px}@media(max-width:700px){.boss-dialogue{bottom:10px}.spirit-run .skill-bar{bottom:100px}.boss-entrance strong{letter-spacing:5px}}

/* Readable expedition progress above the action bar. */
.expedition-xp{position:absolute;bottom:150px;left:50%;transform:translateX(-50%);width:min(420px,calc(100vw - 32px));padding:9px 12px;background:#0d1022e8;border:1px solid #d6b66c77;border-radius:5px;box-shadow:0 3px 16px #0006}.xp-caption{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#f4e4b9}.xp-caption strong{color:#ffe6a2}.expedition-xp .xp-track{height:9px;margin-top:7px;background:#292237;border:1px solid #b7965344;border-radius:3px;overflow:hidden}.expedition-xp .xp-track i{width:0;background:linear-gradient(90deg,#bd8d39,#ffe39a);box-shadow:0 0 8px #f1c562;transition:width .15s linear}@media(max-width:600px){.expedition-xp{bottom:156px;width:min(340px,calc(100vw - 24px))}.xp-caption{font-size:11px}}

.dream-base-skill{display:block;margin-top:8px;color:#c4b4ee}

/* Keep experience caption above the complete skill sockets and key labels. */
.expedition-xp{bottom:180px}.top-actions .gold{display:flex;align-items:center;gap:6px}.top-actions .gold .item-art{width:28px;height:28px;object-fit:contain}@media(max-width:600px){.expedition-xp{bottom:186px}}
/* Research: compact workspace with bounded, clearly separated choices. */
.side-panel:has(.research-workspace){width:850px;max-width:calc(100vw - 24px)}
.research-heading h2{margin:4px 0;font-size:25px}.research-heading>span{font-size:11px;color:#b7a5cf}.research-heading p,.research-help{font-size:12px;line-height:1.6;color:#b8bdd2;margin:8px 0 12px}
.research-subtabs{display:flex;gap:6px;margin:12px 0;border-bottom:1px solid #767096;padding-bottom:10px}.research-subtabs button{flex:1;background:#121a32;border:1px solid #555e80;padding:10px;color:#bfc9df}.research-subtabs button[aria-pressed=true]{background:#353051;border-color:#cfb3ee;color:#fff1ff}
.research-workspace .research-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.research-workspace .research-card{display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;padding:14px;background:linear-gradient(135deg,#1a2037,#10182b);border:1px solid #58627f;border-radius:7px;min-width:0;box-shadow:inset 0 1px #ffffff09}.research-workspace .research-card.selected{border-color:#d9b17c;background:linear-gradient(135deg,#363044,#201c32)}.research-workspace .research-card strong{font-size:14px;color:#f3e4cb}.research-workspace .research-card small,.research-workspace .research-card p{font-size:11px;line-height:1.55;color:#bcc8dd;margin:0}.research-workspace .research-card>span{font-size:10px;color:#dfc58e;margin-top:auto}.research-workspace .research-card>button{margin-top:auto;width:100%;padding:8px;font-size:11px;border:1px solid #8c779d;background:#302b46}.research-workspace .research-card:disabled{opacity:.55}.research-summary{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #585d79;background:#171d30}.research-summary button{padding:7px 14px}.research-workspace>h3{font-size:14px;margin:14px 0 6px}.research-workspace>p{font-size:12px;line-height:1.6}.research-pages{display:flex;justify-content:center;align-items:center;gap:8px;padding:12px;border-top:1px solid #4c5068}.research-pages button{padding:7px 13px}.research-pages button[aria-pressed=true]{border-color:#e1bf85;background:#40354a}.research-pages small{font-size:11px;color:#a7b1c6}
@media(max-width:520px){.research-workspace .research-grid{grid-template-columns:1fr}.research-workspace .research-card{padding:12px}}
@media(min-width:1100px){.side-panel:has(.research-workspace){width:1000px}.side-panel:has(.research-workspace) .panel-body{padding:18px 22px}.research-workspace .research-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.research-workspace .research-card{padding:11px;gap:5px}.research-heading>span{display:none}.research-workspace .chapter-tabs{margin:10px 0}.research-workspace .chapter-tabs button{padding:8px 16px}.research-subtabs{margin:8px 0;padding-bottom:8px}.research-subtabs button{padding:8px}.research-workspace>p{margin:6px 0}.research-pages{padding:8px}}
.research-workspace .chapter-tabs button[aria-pressed=true]{border-color:#d7b484;background:#3a3049;color:#fff0d3}
@media(min-width:1100px){.research-heading p{margin:4px 0 6px}.research-workspace .research-card{gap:4px;padding:10px}.research-workspace>h3{margin-top:8px}.research-pages{padding:6px}}
.production-slots{display:grid;gap:14px}.production-slots .production-box{border:1px solid #62617e;border-radius:7px;padding:16px;background:#151b30}.production-slots select{width:100%;margin:8px 0}.profit strong{display:flex;align-items:center;gap:9px}#listing-form .item-art,.facility-upgrade .item-art{vertical-align:middle}#listing-form input[readonly]{color:#f1d69a;background:#151a2b}
