.ren.attacking{animation:none}
.menu-screen{min-height:100svh;background:radial-gradient(circle at 75% 15%,#152e6755,transparent 35%),linear-gradient(135deg,#02040c,#07142b 60%,#030713);color:#e9f4ff;padding:0 0 env(safe-area-inset-bottom);font-family:"Noto Sans JP",sans-serif}.menu-header{height:76px;padding:10px clamp(18px,4vw,56px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1475d5;background:#020713}.menu-header>div:last-child{display:grid;text-align:right}.menu-header>div:last-child small{font:700 8px Cinzel;color:#42caff;letter-spacing:.25em}.menu-header>div:last-child b{font:900 16px Cinzel;letter-spacing:.15em}.menu-layout{width:min(1240px,94vw);margin:clamp(24px,6vh,70px) auto;display:grid;grid-template-columns:260px 210px 1fr;gap:18px;align-items:stretch}.menu-profile,.menu-panel,.menu-nav{border:1px solid #175d9b;background:linear-gradient(145deg,#071833e8,#030713e8);box-shadow:0 12px 35px #0008}.menu-profile{padding:24px;text-align:center;clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px)}.menu-portrait{width:120px;height:120px;margin:0 auto 15px;background:url("../assets/playable-characters/amamiya-ren/body-no-weapon.png") center 12%/105% auto no-repeat,#041127;border:1px solid #238dff;box-shadow:0 0 18px #087fff55}.menu-profile>small{font:700 8px Cinzel;color:#46cfff;letter-spacing:.15em}.menu-profile h2{margin:5px 0;font-size:21px}.menu-profile>b{font:900 18px Cinzel}.menu-exp{height:8px;margin:14px 0 5px;background:#01040b;border:1px solid #31577f;transform:skewX(-16deg);overflow:hidden}.menu-exp i{display:block;height:100%;background:linear-gradient(90deg,#7441ff,#30dfff);transition:width .3s}.menu-profile>span{font:700 9px Cinzel}.menu-profile dl{margin:22px 0 0}.menu-profile dl div{display:flex;justify-content:space-between;border-top:1px solid #124777;padding:9px}.menu-profile dt{font:700 10px Cinzel;color:#55cfff}.menu-profile dd{margin:0;font:900 15px Cinzel}.menu-nav{display:grid;align-content:start;padding:10px}.menu-nav button{min-height:67px;padding:9px 15px;text-align:left;border:0;border-bottom:1px solid #174c7e;background:transparent;color:#fff;cursor:pointer}.menu-nav button b{}.menu-nav button>span{display:block;font:700 8px Cinzel;letter-spacing:.17em;color:#48bdff}.menu-nav button:hover,.menu-nav button.active{background:linear-gradient(90deg,#0a6bc2,#09284e);box-shadow:inset 3px 0 #56e8ff}.menu-nav .battle-start{margin-top:20px;border:1px solid #278cd9;background:#073b70}.menu-panel{min-height:510px;padding:clamp(22px,4vw,45px);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}.menu-panel>small{font:700 8px Cinzel;color:#48cfff;letter-spacing:.3em}.menu-panel h2{margin:5px 0 24px;font:900 27px Cinzel}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.stat-grid>div{display:grid;grid-template-columns:1fr auto;padding:13px;background:#071b37;border-left:2px solid #188fff}.stat-grid span{font-size:11px}.stat-grid b{font:900 20px Cinzel}.stat-grid em{grid-column:1/3;font-size:8px;font-style:normal;color:#65b8ee}.inventory-list,.equipment-list{display:grid;gap:8px}.item-row{display:flex;justify-content:space-between;gap:15px;padding:14px;background:#06162e;border-left:3px solid #2687dc}.item-row div{display:grid}.item-row small,.equipment-list small{font-size:9px;color:#9bbbd7}.item-row>strong{font:900 18px Cinzel}.equipped{display:flex;gap:12px;margin-bottom:18px}.equipped span{flex:1;padding:12px;background:#071b36;border:1px solid #185887;display:grid;font-size:9px;color:#55c9ff}.equipped b{font-size:12px;color:#fff}.equipment-list{grid-template-columns:repeat(2,1fr)}.equipment-list button{display:grid;text-align:left;padding:13px;color:#fff;background:#06152b;border:1px solid #185887;cursor:pointer}.equipment-list button>span{font-size:8px;color:#55cfff}.equipment-list button:hover,.equipment-list button.equipped-now{background:#0b3970;border-color:#5be5ff}.rarity-rare{border-color:#9b57ff!important;color:#d9c2ff}.rarity-epic{border-color:#ffb42d!important;color:#ffd278}.result-card{max-height:92svh;overflow:auto}.rewards{display:block;margin:16px 0}.reward-summary{display:flex;justify-content:center;gap:28px;margin:16px}.reward-summary span{font:700 11px Cinzel;color:#61d7ff}.reward-summary b{font-size:20px;color:#fff}.drop-list,.level-up{margin:14px 0;padding:14px;background:#041226;border:1px solid #165c98}.drop-list h3,.level-up h3{margin:0 0 9px;font:900 16px Cinzel;letter-spacing:.12em}.drop-list p{display:flex;justify-content:space-between;margin:5px;padding:5px 12px;border-left:2px solid #338fff}.level-up h3{color:#ffe268}.level-up>strong{font:900 20px Cinzel}.level-up>div{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin-top:10px}.level-up span{display:flex;justify-content:space-between;font-size:10px;background:#071a34;padding:6px}.level-up b{color:#76e7ff}
@media(max-width:850px){.menu-header{height:60px}.menu-layout{grid-template-columns:1fr 1.15fr;margin:14px auto;gap:10px}.menu-profile{grid-row:1/3;padding:15px}.menu-nav{grid-column:2;grid-row:1;grid-template-columns:repeat(2,1fr)}.menu-nav button{min-height:52px}.menu-nav .battle-start{margin-top:0}.menu-panel{grid-column:1/3;grid-row:3;min-height:330px;padding:20px}.menu-portrait{width:80px;height:80px}.stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.menu-layout{width:96vw}.menu-profile{grid-column:1/3;grid-row:1;display:grid;grid-template-columns:80px 1fr 1fr;column-gap:10px;text-align:left}.menu-portrait{grid-row:1/5}.menu-profile dl{grid-column:1/4;display:flex;margin-top:10px}.menu-profile dl div{flex:1}.menu-nav{grid-column:1/3;grid-row:2}.menu-panel{grid-row:3}.equipment-list{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.result-card{padding:28px 20px}.level-up>div{grid-template-columns:1fr}}

/* Equipment screen — loadout, owned gear, preview comparison. */
.equipment-screen{display:grid;gap:18px}.equipment-screen h3{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 10px;font-size:13px;color:#eaf6ff}.equipment-screen h3 span{font:700 7px Cinzel;letter-spacing:.18em;color:#44c8ff}.equipment-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.equipment-slot{min-width:0;display:grid;grid-template-columns:minmax(64px,.7fr) minmax(0,1.3fr);align-items:center;gap:8px;padding:10px 12px;background:#05152b;border:1px solid #174c79;border-left:3px solid #238eff}.equipment-slot.empty{border-left-color:#253e59}.equipment-slot>span{font-size:10px;color:#55cfff}.equipment-slot small{display:block;font:700 6px Cinzel;letter-spacing:.08em;color:#6488a8}.equipment-slot>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.equipment-slot.empty>b{color:#647b93;font-weight:500}.equipment-workbench{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(300px,1.15fr);gap:12px;align-items:start}.equipment-candidates,.equipment-preview{min-width:0;padding:13px;background:#030d20;border:1px solid #15588f}.equipment-candidates{display:grid;gap:7px}.equipment-candidate{min-width:0;display:grid;gap:4px;text-align:left;padding:11px 12px;color:#fff;background:linear-gradient(120deg,#06152b,#081d3c);border:1px solid #174d7e;cursor:pointer}.equipment-candidate:hover,.equipment-candidate:focus-visible,.equipment-candidate.selected{outline:0;border-color:#53dfff!important;background:linear-gradient(120deg,#0a2851,#0a4075);box-shadow:inset 3px 0 #4de8ff,0 0 14px #0a7fff44}.candidate-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.candidate-title b{font-size:12px}.candidate-title em{flex:0 0 auto;padding:2px 5px;font:900 6px Cinzel;font-style:normal;letter-spacing:.1em;color:#7af2ff;border:1px solid #299ac5}.equipment-candidate>strong{font-size:10px;color:#70dcff}.equipment-candidate>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;color:#8daac5}.equipment-candidate.equipped-now{border-color:#2e8ac1;background:#092948}.equipment-preview{position:relative}.equipment-swap{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:8px}.equipment-swap>div{min-width:0;display:grid;align-content:start;gap:3px;padding:10px;background:#071a35;border:1px solid #174c7a}.equipment-swap>i{align-self:center;font-style:normal;color:#47dfff}.equipment-swap small{font-size:8px;color:#55cfff}.equipment-swap b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.equipment-swap span{font-size:8px;color:#9dc7e9}.equipment-description{margin:9px 0;padding:8px 10px;font-size:9px;color:#9db7ce;border-left:2px solid #7658ff;background:#071329}.compare-table{display:grid;border:1px solid #174c7a}.compare-head,.compare-row{display:grid;grid-template-columns:minmax(54px,1fr) 44px 14px 52px 58px;align-items:center;gap:4px;padding:6px 8px;border-bottom:1px solid #123b63}.compare-head{font-size:8px;color:#6cbde9;background:#071b36}.compare-row:last-child{border-bottom:0}.compare-row span{font-size:9px}.compare-row b,.compare-row strong{font:800 10px Cinzel;text-align:right}.compare-row i{font-style:normal;text-align:center;color:#587895}.compare-row em{font:800 9px Cinzel;font-style:normal;text-align:right}.compare-row.up strong,.compare-row.up em{color:#65ef82}.compare-row.down strong,.compare-row.down em{color:#ff637c}.compare-row.same em{color:#7890a8}.equip-confirm{width:100%;display:flex;justify-content:center;align-items:center;gap:12px;margin-top:10px;padding:11px;color:#fff;background:linear-gradient(90deg,#075ca7,#0a80d5);border:1px solid #51dfff;cursor:pointer;font-weight:900}.equip-confirm span{font:700 7px Cinzel;letter-spacing:.16em}.equip-confirm:disabled{cursor:default;opacity:.55;filter:saturate(.5)}.equipment-empty-preview{min-height:180px;display:grid;place-content:center;text-align:center;gap:6px;color:#6f90aa}.equipment-empty-preview b{font-size:12px;color:#9bc5df}.equipment-empty-preview span{font-size:9px}.rarity-rare.equipment-candidate{border-color:#7448b3!important}.rarity-epic.equipment-candidate{border-color:#ad7625!important}
@media(max-width:1080px){.equipment-workbench{grid-template-columns:1fr}.equipment-empty-preview{min-height:110px}}
@media(max-width:480px){.menu-panel{padding:15px 12px;clip-path:none}.menu-panel h2{margin-bottom:14px}.equipment-screen{gap:12px}.equipment-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.equipment-slot{grid-template-columns:52px minmax(0,1fr);gap:5px;padding:8px}.equipment-slot>b{font-size:10px}.equipment-workbench{grid-template-columns:minmax(0,1fr);gap:9px}.equipment-candidates,.equipment-preview{padding:10px}.equipment-candidate{padding:10px}.equipment-swap{gap:5px}.equipment-swap>div{padding:8px}.compare-head,.compare-row{grid-template-columns:minmax(43px,1fr) 37px 11px 43px 50px;padding:6px 5px;gap:2px}.compare-row span,.compare-row em{font-size:8px}.compare-row b,.compare-row strong{font-size:9px}}
@media(max-width:480px){.menu-header{display:none}.menu-layout{margin:8px auto 14px}}
.menu-nav .boss-start{margin-top:8px;border:1px solid #7650c8;background:linear-gradient(90deg,#21114d,#091a39);color:#d7c3ff}.menu-nav .boss-start:hover,.menu-nav .boss-start:focus-visible{background:linear-gradient(90deg,#55269d,#153e78)}
@media(max-width:850px){.menu-nav .boss-start{grid-column:1/-1;margin-top:0}}

/* Phantom Workshop — unlocked after the first NOËL encounter. */
.menu-nav .workshop-start{grid-column:1/-1;margin-top:8px;border:1px solid #24a8df;background:linear-gradient(90deg,#07365e,#102459);color:#8cecff}.menu-nav .workshop-start[hidden]{display:none}.workshop-unlock{display:grid;gap:5px;margin:14px;padding:16px;border:1px solid #38c8ff;background:linear-gradient(120deg,#071933,#132c62);box-shadow:0 0 20px #168dff55}.workshop-unlock b{font:900 10px Cinzel;letter-spacing:.2em;color:#5ce2ff}.workshop-unlock strong{font-size:18px;color:#fff}.workshop-unlock span{font-size:10px;color:#a9cce4}.workshop-header{position:relative;margin:-10px -10px 18px;padding:18px 20px;background:linear-gradient(105deg,#06152c,#0b3974 55%,#10143b);border-bottom:1px solid #35bfff;overflow:hidden}.workshop-header:after{content:"";position:absolute;right:-35px;top:-55px;width:180px;height:180px;border:1px solid #3ad5ff55;border-radius:50%;box-shadow:0 0 0 18px #2a6fff0d,0 0 0 38px #2a6fff0d}.workshop-header>small{font:700 7px Cinzel;letter-spacing:.22em;color:#69e4ff}.workshop-header h2{position:relative;z-index:1;margin:3px 0 0;font:900 clamp(24px,4vw,39px) Cinzel;letter-spacing:.03em;text-shadow:0 0 14px #43bfff}.workshop-header>span{font-size:9px;color:#8ad8ff}.workshop-header>div{position:absolute;z-index:1;right:18px;bottom:18px;display:flex;gap:8px}.workshop-header>div b{padding:7px 9px;font:800 9px Cinzel;background:#020916bb;border:1px solid #23699b;color:#b9ecff}.workshop-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:12px}.workshop-layout>aside{display:grid;gap:9px;align-content:start}.workshop-keeper{min-height:190px;display:grid;place-content:center;text-align:center;padding:18px;background:radial-gradient(circle at 50% 35%,#153d78,#050b19 70%);border:1px solid #195a8c}.workshop-keeper i{width:86px;height:82px;margin:0 auto 12px;background:linear-gradient(150deg,#111,#2b65a3);clip-path:polygon(8% 14%,31% 29%,50% 5%,69% 29%,92% 14%,82% 68%,50% 95%,18% 68%);filter:drop-shadow(0 0 9px #37bfff)}.workshop-keeper b{font-size:13px}.workshop-keeper span{font-size:10px;color:#67d7ff}.workshop-layout aside nav{display:grid;gap:5px}.workshop-layout aside nav button{display:flex;align-items:center;justify-content:space-between;padding:10px 11px;color:#b8cbe0;background:#050e20;border:1px solid #183e62;cursor:pointer}.workshop-layout aside nav button b{font-size:11px}.workshop-layout aside nav button span{font:700 6px Cinzel;color:#557f9f}.workshop-layout aside nav button.active{color:#fff;border-color:#44d4ff;background:linear-gradient(90deg,#0a4f8d,#111d50);box-shadow:inset 3px 0 #57edff}.workshop-main{min-width:0;padding:15px;background:#030b19;border:1px solid #195b8f}.workshop-section-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #2479ad}.workshop-section-title b{font-size:18px}.workshop-section-title span{font:700 8px Cinzel;letter-spacing:.18em;color:#56cfff}.blueprint-card{display:grid;grid-template-columns:1fr 1.2fr;gap:10px;padding:13px;background:linear-gradient(135deg,#071a36,#090b1e);border:1px solid #225d95}.blueprint-boss,.blueprint-lock{display:grid;align-content:center;gap:5px;min-height:128px;padding:14px;border:1px solid #1f5685}.blueprint-boss{background:radial-gradient(circle at 25% 30%,#2147a455,transparent 45%),#071225}.blueprint-boss span{font:900 9px Cinzel;color:#6fe7ff}.blueprint-boss b{font-size:17px}.blueprint-boss small{font:700 7px Cinzel;color:#659cc3}.blueprint-lock{grid-template-columns:38px 1fr;background:#050b17}.blueprint-lock i{grid-row:1/3;display:grid;place-items:center;width:34px;height:42px;font:900 19px Cinzel;font-style:normal;border:1px solid #6550a1;color:#9f88dc}.blueprint-lock b{font-size:12px}.blueprint-lock span{font-size:9px;color:#8da9c2}.blueprint-card>button{grid-column:1/3;padding:10px;color:#718399;background:#090d17;border:1px solid #293546}.workshop-material-preview{grid-column:1/3;display:grid;gap:6px;margin-top:10px}.workshop-material-preview>b{font-size:10px;color:#62d7ff}.workshop-materials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.workshop-material{display:grid;grid-template-columns:1fr auto;gap:5px;padding:11px;background:#06152a;border:1px solid #184e78;border-left:3px solid #3f8bd3}.workshop-material>span{display:flex;align-items:center;gap:7px}.workshop-material i{width:10px;height:16px;background:linear-gradient(#65eaff,#344cff);clip-path:polygon(50% 0,100% 35%,75% 100%,25% 100%,0 35%)}.workshop-material b{font-size:11px}.workshop-material>strong{font:900 13px Cinzel}.workshop-material small{grid-column:1/3;font-size:8px;color:#7798b5}.workshop-disassemble{display:grid;gap:7px}.workshop-disassemble article{display:flex;justify-content:space-between;gap:8px;padding:11px;background:#07152a;border:1px solid #194c75}.workshop-disassemble article div{display:grid}.workshop-disassemble b{font-size:11px}.workshop-disassemble span{font-size:8px;color:#65cfff}.workshop-disassemble button{color:#6f8297;background:#080d17;border:1px solid #293b4e}.workshop-warning{padding:9px;border-left:3px solid #e68035;background:#2d190b;color:#ffc183;font-size:9px}.workshop-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.workshop-catalog article{display:grid;gap:4px;padding:18px;background:#07172c;border:1px solid #19517c}.workshop-catalog em{font:900 8px Cinzel;font-style:normal;color:#5bdcff}.workshop-catalog b{font-size:15px}.workshop-catalog span{font-size:9px;color:#85a9c4}.workshop-catalog .boss-record{border-color:#6f49b4;background:linear-gradient(135deg,#15103a,#071327)}
@media(max-width:1080px){.workshop-layout{grid-template-columns:1fr}.workshop-layout>aside{grid-template-columns:150px 1fr}.workshop-keeper{min-height:135px}.workshop-keeper i{width:60px;height:56px}.workshop-layout aside nav{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.menu-nav .workshop-start{margin-top:0}.workshop-header{margin:-3px -3px 12px;padding:15px 13px 54px}.workshop-header h2{font-size:24px}.workshop-header>div{left:13px;right:auto;bottom:12px}.workshop-layout>aside{grid-template-columns:1fr}.workshop-keeper{min-height:105px;grid-template-columns:70px 1fr;text-align:left;align-items:center}.workshop-keeper i{grid-row:1/3;margin:0;width:54px;height:52px}.workshop-layout aside nav{grid-template-columns:repeat(2,1fr)}.workshop-layout aside nav button{display:grid;padding:9px}.workshop-main{padding:10px}.blueprint-card{grid-template-columns:1fr}.blueprint-card>button,.workshop-material-preview{grid-column:1}.blueprint-boss,.blueprint-lock{min-height:95px}.workshop-materials,.workshop-catalog{grid-template-columns:1fr}.workshop-material-preview .workshop-material{grid-template-columns:1fr auto}.workshop-section-title b{font-size:16px}}

/* Pixel-art workshop helper. */
.workshop-keeper{min-height:250px;padding:12px;overflow:hidden}.workshop-keeper img{display:block;width:min(178px,100%);height:190px;margin:0 auto 5px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 0 9px #37bfff)}
@media(max-width:1080px){.workshop-keeper{min-height:150px}.workshop-keeper img{width:118px;height:115px}}
@media(max-width:480px){.workshop-keeper{min-height:126px;grid-template-columns:94px 1fr;padding:7px 10px}.workshop-keeper img{grid-row:1/3;margin:0;width:88px;height:112px}}
.inventory-vitals{display:flex;gap:10px;margin:0 0 12px}.inventory-vitals b{flex:1;padding:9px 12px;background:#041226;border:1px solid #1769ab;color:#7cddff;font:800 12px Cinzel}.item-row{align-items:center}.item-row div{flex:1;min-width:0}.item-row>button{padding:8px 14px;border:1px solid #258ddd;background:#073866;color:#fff;font-weight:800;cursor:pointer}.item-row>button:disabled{opacity:.42;cursor:default}
/* Equipment craft recipes — Phantom Workshop craft tab. */
.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-bottom:8px}.recipe-card{display:grid;grid-template-rows:auto 1fr auto;gap:8px;padding:13px;background:linear-gradient(135deg,#071a36,#090b1e);border:1px solid #225d95}.recipe-info{display:grid;gap:4px}.recipe-title{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.recipe-title b{font-size:13px}.recipe-title em{font:900 8px Cinzel;font-style:normal;color:#6fe7ff;white-space:nowrap}.recipe-info>small{font-size:8px;color:#8daac5}.recipe-bonus{font-size:9px;color:#70dcff}.recipe-materials{display:grid;gap:4px;padding-top:8px;border-top:1px solid #123b63}.recipe-material,.recipe-gold{display:flex;justify-content:space-between;font-size:9px;color:#a9cce4}.recipe-material b,.recipe-gold b{font:800 10px Cinzel;color:#7cddff}.recipe-material.insufficient,.recipe-gold.insufficient{color:#ff8fa0}.recipe-material.insufficient b,.recipe-gold.insufficient b{color:#ff637c}.recipe-gold{margin-top:2px;padding-top:5px;border-top:1px dashed #1f4468}.recipe-craft{padding:10px;color:#fff;background:linear-gradient(90deg,#075ca7,#0a80d5);border:1px solid #51dfff;font-weight:900;cursor:pointer}.recipe-craft:disabled{cursor:default;opacity:.45;filter:saturate(.4);background:#0c1c33;border-color:#294a68;color:#7c93a8}.rarity-rare.recipe-card{border-color:#7448b3!important}.rarity-epic.recipe-card{border-color:#ad7625!important}.boss-craft-title{margin-top:18px}
.recipe-dungeon-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.recipe-dungeon-tabs button{padding:7px 14px;color:#8fb4d4;background:#050e20;border:1px solid #1c4a74;font:700 10px Cinzel;letter-spacing:.06em;cursor:pointer}.recipe-dungeon-tabs button.active{color:#fff;border-color:#44d4ff;background:linear-gradient(90deg,#0a4f8d,#111d50);box-shadow:inset 0 -2px #57edff}
@media(max-width:1080px){.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}}
@media(max-width:480px){.recipe-grid{grid-template-columns:1fr}.recipe-card{padding:11px}}
.workshop-empty-category{display:grid;place-content:center;gap:7px;min-height:150px;padding:22px;text-align:center;border:1px dashed #285b82;background:linear-gradient(135deg,#061326,#080d19);color:#8fb2ce}.workshop-empty-category b{font-size:15px;color:#d9edff}.workshop-empty-category span{font-size:9px;line-height:1.7}
.recipe-armor-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-bottom:9px}.recipe-armor-tabs button{display:grid;gap:2px;padding:9px 4px;color:#8fa9c2;background:#050e20;border:1px solid #1c456c;cursor:pointer}.recipe-armor-tabs button b{font-size:11px}.recipe-armor-tabs button span{font:700 6px Cinzel;letter-spacing:.08em}.recipe-armor-tabs button.active{color:#fff;border-color:#55d9ff;background:linear-gradient(180deg,#0b518c,#101a43);box-shadow:inset 0 -2px #55e7ff,0 0 9px #168cff44}
@media(max-width:600px){.recipe-armor-tabs{grid-template-columns:repeat(3,1fr)}.recipe-armor-tabs button{padding:8px 3px}}

/* Boss equipment progression. */
.rarity-legendary{--rarity:#d39aff}.recipe-card.rarity-legendary,.equipment-candidate.rarity-legendary{border-color:#a960ff!important;background:linear-gradient(135deg,#1b0c38,#070d20);box-shadow:inset 0 0 18px #8e34ff22}.recipe-title b small,.candidate-title b small{display:block;margin-top:2px;font:900 8px Cinzel;letter-spacing:.08em;color:#e3b2ff;text-shadow:0 0 7px #b24cff}.recipe-name-en{font:800 8px Cinzel;letter-spacing:.13em;color:#b482ee}.boss-series-craft>header{display:grid;gap:3px;margin-bottom:12px;padding:17px;border:1px solid #8d48df;background:radial-gradient(circle at 85% 25%,#8e35ff33,transparent 35%),linear-gradient(120deg,#160a32,#07142b)}.boss-series-craft>header small{font:800 8px Cinzel;letter-spacing:.22em;color:#c68aff}.boss-series-craft>header h3{margin:0;font:900 clamp(21px,4vw,34px) Cinzel;color:#fff;text-shadow:0 0 13px #a63fff}.boss-series-craft>header span{font:800 8px Cinzel;color:#ddb9ff}.boss-series-effects{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:13px}.boss-series-effects div,.boss-set-section article{display:grid;gap:3px;padding:10px;border:1px solid #30264a;background:#090b16;color:#625b73}.boss-series-effects div.active,.boss-set-section article.active{border-color:#9955ec;background:linear-gradient(120deg,#2a1052,#111c43);color:#fff;box-shadow:0 0 13px #8f35e966}.boss-series-effects b,.boss-set-section b{font:900 9px Cinzel;letter-spacing:.06em}.boss-series-effects span,.boss-set-section span{font-size:8px}.boss-recipe-unlock{display:grid;gap:5px;margin:14px;padding:18px;text-align:center;border:1px solid #b269ff;background:radial-gradient(circle,#3b1466,#100821 70%);box-shadow:0 0 24px #8731e877;animation:recipeStolen .8s ease-out}.boss-recipe-unlock small{font:900 9px Cinzel;letter-spacing:.3em;color:#e1bdff}.boss-recipe-unlock b{font:900 17px Cinzel;color:#fff}.boss-recipe-unlock strong{font:900 24px Cinzel;color:#ce91ff;text-shadow:0 0 15px #9c3cff}.boss-recipe-unlock span{font-size:10px;color:#c4b0dd}.boss-set-section{grid-column:1/-1;margin-top:6px;padding:14px;border:1px solid #60379a;background:#070b17}.boss-set-section>header{display:flex;align-items:end;justify-content:space-between;gap:8px;margin-bottom:9px}.boss-set-section header small{font:700 7px Cinzel;color:#b875ff}.boss-set-section header h3{margin:2px 0 0;font:900 19px Cinzel}.boss-set-section header>strong{font:900 9px Cinzel;color:#c991ff}.boss-set-section>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.workshop-disassemble article.boss-dismantle{border-color:#7646aa;background:linear-gradient(90deg,#190d31,#07152a)}.workshop-disassemble article div small{color:#d093ff}.workshop-disassemble article.boss-dismantle button:not(:disabled){padding:8px;color:#fff;border-color:#b267ff;background:#58219b;cursor:pointer}
@keyframes recipeStolen{from{scale:.85;opacity:0;filter:blur(8px)}to{scale:1;opacity:1;filter:none}}
@media(max-width:600px){.boss-series-effects,.boss-set-section>div{grid-template-columns:1fr}.boss-set-section>header{align-items:start;flex-direction:column}.boss-recipe-unlock{margin:8px;padding:14px}.boss-recipe-unlock strong{font-size:18px}}
.music-score-section{display:grid;gap:9px}.music-score-section>h3{display:flex;align-items:baseline;justify-content:space-between;margin:0;font-size:13px}.music-score-section>h3 span{font:700 7px Cinzel;letter-spacing:.16em;color:#b982ff}.music-score-section>div{display:grid;gap:8px}.music-score-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px;background:linear-gradient(120deg,#09081b,#170c30);border:1px solid #643bb0;overflow:hidden}.music-score-card:after{content:"";position:absolute;right:-28px;top:-42px;width:120px;height:120px;border:1px solid #9b55ff33;border-radius:50%;box-shadow:0 0 0 18px #8a43ff0a}.music-score-card>i{display:grid;place-items:center;width:44px;height:54px;font:900 28px serif;font-style:normal;color:#d8aeff;background:#12082a;border:1px solid #8153cb;box-shadow:0 0 16px #7d31ff55}.music-score-card>div{display:grid;gap:2px;min-width:0}.music-score-card small{font:700 7px Cinzel;letter-spacing:.18em;color:#b687ff}.music-score-card b{font:900 21px Cinzel;letter-spacing:.08em;color:#f1e5ff}.music-score-card strong{font-size:11px;color:#d4aaff}.music-score-card span{font-size:8px;color:#9f8dbb}.music-score-card>em{position:relative;z-index:1;padding:5px 7px;font:700 7px Cinzel;font-style:normal;color:#dfc1ff;border:1px solid #7246a6}.music-score-card.locked{filter:saturate(.25);opacity:.55}.music-score-card.locked b{letter-spacing:.16em;color:#708096}.score-get{display:grid;place-items:center;gap:4px;margin:14px;padding:18px;background:radial-gradient(circle at 50% 35%,#5e209055,#080516 68%);border:1px solid #ba64ff;box-shadow:0 0 22px #8c35ff66,inset 0 0 28px #4c187755}.score-get small{font:900 12px Cinzel;letter-spacing:.3em;color:#dfb2ff}.score-get strong{font:900 clamp(28px,6vw,48px) Cinzel;letter-spacing:.12em;color:#fff;text-shadow:0 0 16px #a541ff}.score-get b{font-size:13px;color:#dcbaff}.score-get span{font-weight:900;color:#fff}.score-get em{font:700 7px Cinzel;font-style:normal;letter-spacing:.18em;color:#bc89ec}
@media(max-width:480px){.music-score-card{grid-template-columns:38px minmax(0,1fr);padding:10px;gap:8px}.music-score-card>i{width:35px;height:44px;font-size:22px}.music-score-card>em{grid-column:1/3;justify-self:start}.music-score-card b{font-size:17px}.music-score-card strong{font-size:9px}.score-get{margin:10px 0;padding:14px}.score-get strong{font-size:28px}}

/* Compact JOB system: reuses the existing menu panel. */
.job-current{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;padding:16px;border:1px solid #2587d5;background:linear-gradient(120deg,#082957,#10143a)}.job-current>div{display:grid;gap:3px}.job-current>div:last-child{text-align:right}.job-current small,.job-current span{font:800 8px Cinzel;color:#70d8ff}.job-current strong{font-size:23px}.job-current b{font:800 11px Cinzel}.job-lock-notice{margin:0 0 14px;padding:10px 12px;border-left:3px solid #8262dd;background:#120d2b;color:#c9baff;font-size:9px}.job-section{margin-top:16px}.job-section>header{display:flex;justify-content:space-between;align-items:end;margin-bottom:8px;padding-bottom:7px;border-bottom:1px solid #266ca7}.job-section>header b{font:900 11px Cinzel;letter-spacing:.14em;color:#68d8ff}.job-section>header span{font-size:8px;color:#7d9eb9}.job-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.job-card{display:grid;gap:7px;padding:12px;border:1px solid #1a527e;background:#06152b}.job-card.current{border-color:#4fdcff;background:linear-gradient(135deg,#0b3d72,#11153a);box-shadow:inset 3px 0 #4ee6ff}.job-card.locked{filter:saturate(.25);opacity:.58}.job-card>header,.job-skill>header{display:flex;justify-content:space-between;gap:8px}.job-card header div,.job-skill header div{display:grid}.job-card header small,.job-skill header small{font:800 7px Cinzel;color:#59cfff}.job-card header b,.job-skill header b{font-size:13px}.job-card header em,.job-skill header em{font:800 7px Cinzel;font-style:normal;color:#7ce8ff}.job-card p{min-height:26px;margin:0;font-size:9px;color:#9db9cf}.job-card-progress{height:5px;border:1px solid #265174;background:#020711;overflow:hidden}.job-card-progress i{display:block;height:100%;background:linear-gradient(90deg,#7048ee,#39dcff)}.job-card>strong,.job-card>small{font-size:8px;color:#a8cee7}.job-unlocks{display:flex;flex-wrap:wrap;gap:4px}.job-unlocks span{padding:3px 5px;border:1px solid #253a51;color:#637b90;font-size:7px}.job-unlocks span.learned{border-color:#2f97bc;color:#85eaff}.job-card>button,.job-skill>button{padding:8px;color:#fff;border:1px solid #247ebc;background:#0a3e72;cursor:pointer}.job-card>button:disabled{color:#64778a;border-color:#26384a;background:#09101a;cursor:default}.active-skill-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:9px}.active-skill-slot{display:grid;gap:2px;min-height:58px;padding:9px;border:1px dashed #244664;background:#050d1b;color:#59748c}.active-skill-slot.filled{border-style:solid;border-color:#328ed0;background:#071e3a;color:#fff}.active-skill-slot small,.active-skill-slot span{font:700 7px Cinzel;color:#5dcfff}.active-skill-slot b{font-size:10px}.job-skill-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.job-skill{display:grid;gap:8px;padding:12px;border:1px solid #1b4c74;background:#061225}.job-skill.active{border-color:#4bdfff;box-shadow:inset 3px 0 #45deff}.job-skill.locked{opacity:.52}.job-skill dl{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;margin:0}.job-skill dl div{display:flex;justify-content:space-between;gap:5px;padding:4px 6px;background:#091c34}.job-skill dt{font-size:7px;color:#6fcfff}.job-skill dd{margin:0;font-size:8px;text-align:right}.job-skill p{margin:0;font-size:8px;line-height:1.55;color:#9db9cf}.job-skill p strong{display:block;color:#63d5ff}.job-skill>button.remove{border-color:#6c58a9;background:#26194e}.job-result{margin:12px 0;padding:13px;border:1px solid #6654d8;background:linear-gradient(120deg,#161147,#06162e)}.job-result h3{margin:0 0 7px;font:900 15px Cinzel;color:#a7a0ff}.job-result strong{font:900 17px Cinzel}.job-result p{margin:6px 0;font-size:9px}.job-result span{color:#72e1ff}
@media(max-width:480px){.job-current{display:grid}.job-current>div:last-child{text-align:left}.job-list,.job-skill-list{grid-template-columns:1fr}.active-skill-slots{grid-template-columns:repeat(2,1fr)}.job-section>header{display:grid;gap:3px}.job-card p{min-height:0}}
