@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;
/* bloom.css */
500;600;700&family=Fredoka:wght@400;500;600;700&display=swap');
:root{--ink:#41544c;--muted:#7c8e7b;--pink:#eb7394;--green:#79b477;--gold:#edbb55;--purple:#a184cd;--line:#e6e9d9;--paper:#fffef7;font-family:"Micelia Numerals",'DM Sans',sans-serif;color:var(--ink);font-size:16px;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:#f1f5e9;background-image:radial-gradient(ellipse at 10% 0,#e4f0cd,transparent 50%),radial-gradient(ellipse at 95% 60%,#fce7e7,transparent 45%);min-height:100vh}button,select,input{font:inherit}button{cursor:pointer;border:0;color:inherit;transition:transform .15s,filter .2s}button:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(2px)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #7d67b8;outline-offset:4px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:"Micelia Numerals",Fredoka,'Trebuchet MS',sans-serif}h1,h2,h3{font-weight:500}.art{display:inline-block;background-repeat:no-repeat;width:var(--size,64px);height:var(--size,64px);flex-shrink:0;vertical-align:middle}.app-header{max-width:1460px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:24px 38px 18px;gap:20px}.brand{font-size:34px;font-weight:600;display:flex;gap:10px;align-items:center;color:#647c42;line-height:1}.brand-symbol{color:var(--pink);font-size:48px;filter:drop-shadow(0 3px 0 #d7597844)}.brand small{display:block;font-family:"Micelia Numerals",'DM Sans',sans-serif;letter-spacing:2.1px;font-size:10px;margin-top:8px;font-weight:700;color:#94a577}.top-currencies{display:flex;gap:10px;margin-left:auto}.currency{display:flex;align-items:center;gap:10px;padding:9px 15px;border:1px solid #e3e8d9;border-radius:13px;background:#fffffac7;box-shadow:0 3px 0 #d7dfc73d;min-width:105px}.currency i{font-style:normal;font-size:24px;color:#dca82f}.currency:nth-child(2) i{color:#ae83d3}.currency:nth-child(3) i{color:#749f5a}.currency b{font-size:15px}.currency small{display:block;font-size:11px;color:#97a08d;margin-top:2px}.round-button{width:37px;height:37px;border-radius:50%;border:1px solid #dce3cd;background:#fffff5;font-weight:700;color:#7c8c66;flex-shrink:0}.shell{max-width:1460px;padding:0 38px 32px;margin:auto}.world-nav{display:flex;gap:9px;border-bottom:1px solid #dfe6d0;padding:0 0 17px;overflow:auto;scrollbar-width:none}.world-nav button{display:flex;align-items:center;justify-content:center;gap:7px;background:#ffffffa1;border:1px solid #e1e7d5;border-radius:12px;padding:10px 13px;font-size:13px;font-weight:600;white-space:nowrap;min-height:46px;flex:1}.world-nav button span{font-size:21px;color:#95ae7f}.world-nav button.active{background:#eb7a98;color:white;border-color:#df6989;box-shadow:0 3px 0 #ce5f7c}.world-nav button.active span{color:#fff6c9}.page-intro{display:flex;justify-content:space-between;align-items:end;padding:25px 0 19px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#8b9d74}h1{font-size:31px;margin-top:6px;color:#405b47}.intro-note{font-size:12px;color:#8b9c7d}.game-grid{display:grid;grid-template-columns:220px minmax(0,1fr) 270px;gap:20px;align-items:start}.panel{background:var(--paper);border:1px solid #e1e6d2;border-radius:21px;box-shadow:0 5px 0 #dce3ca44;overflow:hidden}.panel-pad{padding:20px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:12px}.panel-title h2{font-size:21px}.tiny{font-size:12px;color:var(--muted)}.pill{display:inline-block;border:1px solid currentColor;border-radius:6px;font-size:11px;padding:4px 7px;white-space:nowrap}.hero-card{text-align:center;background:linear-gradient(#f2f3db,#fffff7 72%)}.hero-card .eyebrow{display:block;padding-top:18px;font-size:10px}.hero-preview{width:100%;height:210px;display:block}.hero-card h2{font-size:24px}.hero-card .subtitle{font-size:12px;color:#8c947a;margin:4px 10px 13px}.power-ribbon{padding:10px 12px;background:#f5efd4;color:#9c8135;margin:0 16px;border-radius:10px;font-size:12px;display:flex;align-items:center;justify-content:space-between}.power-ribbon strong{font-size:20px;font-family:"Micelia Numerals",Fredoka}.level-row{font-size:12px;display:flex;justify-content:space-between;padding:16px 17px 8px}.progress{height:7px;background:#e8ebd8;border-radius:10px;overflow:hidden}.progress>i{display:block;height:100%;background:linear-gradient(90deg,#a6ca7b,#79b477);width:0;transition:width .2s}.hero-card .progress{margin:0 17px 15px}.hero-card .text-btn{padding-bottom:17px}.text-btn{background:transparent;font-size:12px;color:#899665;text-decoration:none}.stat-mini{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:19px 17px;border-top:1px dashed #dce1c8;margin-top:3px;text-align:left}.stat-mini span{display:block;font-size:11px;color:#929a80}.stat-mini b{font-size:15px;display:block;margin-top:3px}.train-btn{margin:0 15px 18px;width:calc(100% - 30px)}.button{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 17px;border-radius:12px;font-size:14px;font-weight:700;min-height:45px;background:#eef2dd;border:1px solid #dce3c2;color:#778c4c}.button.primary{background:linear-gradient(#f48ba5,#e46d90);color:#fff;border-color:#d96a88;box-shadow:0 4px 0 #c8597a;text-shadow:0 1px #ce6585}.button.green{background:linear-gradient(#add17f,#89b560);border-color:#83aa61;color:#fff;box-shadow:0 4px 0 #729852}.button.gold{background:#fbe7ae;color:#9b7833;border-color:#e8d598;box-shadow:0 3px 0 #d9c180}.wide{width:100%}.button small{font-size:11px;font-weight:500}.arena{height:440px;border:3px solid white;border-radius:22px;position:relative;overflow:hidden;background:#bcd99a url('assets/garden.png') center 61%/cover;box-shadow:0 6px 0 #c5d3ac6e}.arena::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(#17371e1a,transparent 35%,transparent 75%,#18452b25)}.arena-top{position:absolute;z-index:4;top:15px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;gap:10px}.area-label{background:#fffcdfed;padding:8px 13px;border:1px solid #f4efc3;border-radius:12px;box-shadow:0 3px 0 #718f6429}.area-label b{display:block;font-family:"Micelia Numerals",Fredoka;font-size:17px;color:#617244}.area-label small{font-size:11px;color:#879568}.glass{background:#fffde3e6;border:1px solid #e8e7b3;border-radius:9px;padding:8px 10px;font-size:12px;color:#718449;font-weight:700}.wave-track{position:absolute;z-index:4;top:86px;left:0;right:0;display:flex;justify-content:center;gap:8px}.wave-node{background:#fff8d4d9;border:1px solid #e1dbaa;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;font-size:11px;color:#96a177;box-shadow:0 2px #6c8c3d2b}.wave-node.done{background:#acd07e;color:white;border-color:#90b866}.wave-node.current{background:#efba52;color:white;border-color:#cba343;box-shadow:0 0 0 3px #fff7b790}.wave-line{width:10px;align-self:center;height:2px;background:#fff4c196}#battle-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2}.actor-hud{position:absolute;width:145px;top:34%;transform:translateX(-50%);z-index:4;text-align:center;pointer-events:none;text-shadow:0 1px 2px #4e7139}.actor-hud.hero{left:26%}.actor-hud.enemy{left:76%}.actor-hud b{font-size:13px;color:#fffce6;display:block;margin-bottom:5px}.actor-hud .hp-track{height:9px;background:#2c523a8c;border:1px solid #fff6d478;border-radius:9px;overflow:hidden;box-shadow:0 2px 0 #16372333}.hp-track i{display:block;width:100%;height:100%;background:linear-gradient(#d6f48c,#83c84f);transition:width .12s linear}.enemy .hp-track i{background:linear-gradient(#ffa4a1,#e66e76)}.actor-hud small{display:block;font-size:10px;color:#fffde3;margin-top:4px}.actor-hud.hero.mounted{top:27%}.enemy-state{position:absolute;bottom:59px;right:17px;max-width:50%;z-index:5;font-size:10px;background:#fff2cecf;padding:5px 8px;border-radius:6px;color:#b27950}.arena-note{position:absolute;bottom:17px;left:16px;right:16px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:8px}.arena-note>span{font-size:11px;color:#fffee5;text-shadow:0 1px 3px #385138}.boss-banner{position:absolute;top:122px;left:0;right:0;z-index:6;text-align:center;font:600 17px "Micelia Numerals",Fredoka;color:#ffec9b;text-shadow:0 2px 3px #765333;pointer-events:none}.combat-controls{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:15px 2px 19px}.skills-row{display:flex;gap:9px}.skill-button{position:relative;background:linear-gradient(#fffef0,#ecefce);border:1px solid #d7ddb2;border-radius:13px;width:61px;height:61px;padding:3px;box-shadow:0 3px 0 #c1c997}.skill-button .art{--size:52px}.skill-button small{position:absolute;top:3px;left:5px;font-size:10px;background:#fff9dbb3;border-radius:3px;padding:0 3px}.skill-cd{position:absolute;inset:0;background:#5348747c;color:white;display:grid;place-items:center;font-weight:700;border-radius:12px;font-size:19px}.skill-button.empty{font-size:25px;border-style:dashed;color:#a6b085;opacity:.7}.battle-button{min-width:175px;height:55px}.damage-panel{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;padding:15px 17px;margin-bottom:16px;background:#fffff8;border:1px solid #e1e6d3;border-radius:15px}.damage-panel span{display:block;font-size:10px;color:#939e83;margin-bottom:4px}.damage-panel b{font:500 21px "Micelia Numerals",Fredoka;color:#71874e}.damage-panel>div+div{border-left:1px solid #e5e8d6;padding-left:15px}.companions{display:flex;gap:10px}.companion{background:#fffdf5;border:1px solid #e2e4d4;border-radius:14px;display:flex;align-items:center;gap:5px;flex:1;padding:8px;text-align:left;min-width:0}.companion .art{--size:45px}.companion b{font-size:12px;display:block}.companion small{font-size:10px;color:#929a87;display:block;margin-top:3px}.chest-card{background:linear-gradient(#fff5d4,#fffdf3 65%)}.chest-card .panel-title{padding:20px 20px 0;margin:0}.chest-card .eyebrow{font-size:9px;color:#bb9f60}.chest-card h2{font-size:24px;color:#9d7942;margin-top:5px}.chest-art{text-align:center;height:165px;position:relative;display:flex;justify-content:center;align-items:center}.chest-art .art{--size:158px;position:relative;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 8px 12px #d2b45b35)}.chest-art::before{content:'';width:150px;height:150px;border-radius:50%;background:radial-gradient(#fbe39899,transparent 68%);position:absolute}.chest-level{position:absolute;bottom:2px;z-index:1;background:#f5e5ae;color:#aa8737;border:1px solid #e3cf8e;border-radius:7px;padding:4px 9px;font-size:10px;font-weight:700}.chest-body{padding:17px 19px 20px}.essence-row{display:flex;justify-content:space-between;font-size:11px;color:#a2956d;margin-bottom:8px}.chest-body>.progress{margin-bottom:16px;background:#eee9d1}.chest-body>.progress i{background:#e9c65f}.chest-body .button{margin-bottom:12px}.auto-sell{display:flex;align-items:center;justify-content:space-between;border-top:1px dashed #e3dec3;padding-top:14px;margin-top:3px;gap:5px}.auto-sell label{font-size:11px;color:#9c937b;max-width:70px}.auto-sell select{font-size:11px;background:#fffdf3;border:1px solid #e1ddc8;border-radius:7px;color:#8c866e;padding:7px;max-width:134px}.chest-note{font-size:10px;text-align:center;color:#b5a782;margin:13px 0 4px;line-height:1.6}.summon-teaser{margin-top:18px;background:linear-gradient(135deg,#f0e8fc,#fff6fb);border-color:#e9def5;padding:16px;position:relative}.summon-teaser h3{font-size:21px;color:#9973b7}.summon-teaser p{font-size:12px;line-height:1.6;color:#a38db2;margin:7px 0 13px}.summon-teaser .art{position:absolute;right:0;bottom:44px;--size:70px;opacity:.8}.summon-teaser button{background:#b091ce;color:#fff;border:1px solid #9d7ebb;box-shadow:0 3px 0 #9272af}.view{min-height:420px}.collection-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.collection-head p{font-size:14px;color:#8b9785;max-width:650px;line-height:1.6}.collection-head h2{font-size:26px;margin-bottom:8px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.item-card{border:1px solid #e1e5d3;border-radius:18px;background:#fffdf5;padding:18px;position:relative;display:flex;flex-direction:column;align-items:start;min-width:0}.item-card.active{box-shadow:inset 0 0 0 2px #9bbb74}.item-card>.art{--size:92px;align-self:center}.item-card h3{font-size:21px;margin:10px 0 5px}.item-card p{font-size:13px;line-height:1.7;color:#8b9481;margin-bottom:12px}.item-card .button{width:100%;margin-top:8px;font-size:13px;padding:9px 11px}.item-card .tag{font-size:11px;border-radius:6px;padding:4px 8px;border:1px solid currentColor;display:inline-block}.item-card .description{flex:1}.stars{font-size:14px;color:#ddb55f;margin:5px 0}.substat-list{list-style:none;padding:9px 0;margin:5px 0 12px;border-top:1px dashed #e3ddcf;width:100%}.substat-list li{font-size:12px;display:flex;justify-content:space-between;gap:8px;margin:5px 0;color:#997cbb}.substat-list b{white-space:nowrap;font-weight:600}.equipped-slots{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;margin:0 0 20px}.equip-slot{padding:10px 5px;text-align:center;border:1px solid #dfe5d2;background:#fffdf7;border-radius:13px}.equip-slot .art{--size:48px;display:block;margin:auto}.equip-slot b{font-size:11px;display:block}.equip-slot small{font-size:10px;color:#99a08e}.empty-state{padding:45px 20px;text-align:center;background:#fffdf6;border:1px dashed #d6dec3;border-radius:20px}.empty-state h3{font-size:24px}.empty-state p{margin:12px 0 22px;color:#98a18c;font-size:14px}.empty-state .button{margin:auto}.class-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.class-card{padding:18px 14px;background:linear-gradient(#fffdf3,#fff);border:1px solid #e3e4d3;border-radius:19px;text-align:center;display:flex;flex-direction:column}.class-card.active{border:2px solid var(--class-color);padding:17px 13px;box-shadow:0 5px 0 #e3dbd138}.class-card>.art{--size:130px;align-self:center}.class-card h3{font-size:23px;color:var(--class-color)}.class-card p{font-size:12px;line-height:1.7;color:#8d967f;margin:8px 0}.class-card .bonus{font-size:11px;color:var(--class-color);font-weight:700;min-height:37px}.class-card .button{margin-top:auto;font-size:13px;padding:10px}.evolutions{list-style:none;padding:0;margin:10px 0 18px;text-align:left}.evolutions li{font-size:11px;color:#a3a895;border-top:1px dashed #e5e5d4;padding:8px 0}.evolutions li.reached{color:var(--class-color);font-weight:600}.evolutions small{font-size:10px;display:block;margin-bottom:3px}.view-toolbar{display:flex;gap:10px;margin:0 0 20px;flex-wrap:wrap}.tab-chip{border:1px solid #dddfd2;border-radius:11px;background:#fffdf3;padding:11px 17px;font-size:13px}.tab-chip.active{background:#b59ad3;color:white;border-color:#a287c0}.summon-banner{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:280px;padding:25px 32px;border:1px solid #dfd2ec;background:radial-gradient(circle at 75% 50%,#efe1fd,transparent 38%),linear-gradient(130deg,#fff9ea,#f6eeff);border-radius:23px;margin-bottom:20px}.summon-banner h2{font-size:31px;color:#9771b5}.summon-banner p{font-size:14px;line-height:1.7;color:#aa8cb6;margin:12px 0;max-width:400px}.summon-banner .summon-showcase{text-align:center;position:relative}.summon-showcase .art{--size:140px;filter:drop-shadow(0 10px 20px #cda5e25a);animation:float 3s ease-in-out infinite}.summon-showcase .art+ .art{--size:180px;animation-delay:-1s}.summon-actions{display:flex;gap:12px;margin-top:18px}.summon-actions .button{flex:1;min-height:55px}.pity-row{display:flex;gap:12px;margin:18px 0;font-size:12px;color:#a38bb0}.pity-row span{background:#ffffffa8;padding:10px 13px;border-radius:10px;border:1px solid #e6d9f0}.rate-table{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.rate-entry{display:flex;align-items:center;gap:7px;padding:11px;background:#fffdf7;border:1px solid #e3dfd4;border-radius:12px}.rate-entry .art{--size:42px}.rate-entry span{font-size:12px;flex:1}.rate-entry b{font-size:13px}.rate-entry small{display:block;font-size:10px;margin-top:3px}.footer{padding:23px 0 2px;display:flex;justify-content:space-between;color:#9da98c;font-size:10px;letter-spacing:.5px}.footer button{font-size:11px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);z-index:100;background:#526851;color:white;border:1px solid #718469;box-shadow:0 12px 40px #3b583333;padding:14px 23px;border-radius:13px;max-width:90vw;font-size:14px;opacity:0;pointer-events:none;transition:.2s;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{padding:28px;border:1px solid #e4e1d3;border-radius:25px;background:#fffdf5;color:var(--ink);max-width:620px;width:calc(100% - 28px);max-height:90vh;box-shadow:0 25px 100px #31482b3d;overflow:auto}dialog::backdrop{background:#31483d66;backdrop-filter:blur(7px)}.modal-close{position:absolute;top:12px;right:14px;background:#f1efdF;color:#9e9e88;border-radius:50%;font-size:22px;width:30px;height:30px;z-index:3}dialog h2{font-size:29px;margin:10px 0}dialog p{font-size:14px;line-height:1.7;color:#909781;margin:10px 0}dialog .eyebrow{font-size:10px;padding-right:15px}.loot{text-align:center}.loot>.art{--size:145px;display:block;margin:15px auto}.loot h3{font-size:27px;margin:9px 0}.loot-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:#f1f3e7;border-radius:12px;padding:15px;margin:17px 0}.loot-stats small{display:block;font-size:11px;color:#969d88;margin-bottom:5px}.loot-stats b{font-size:16px}.loot .substat-list{max-width:360px;margin:15px auto;text-align:left}.modal-actions{display:flex;gap:10px;margin-top:20px}.modal-actions>*{flex:1}.summon-results{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:20px 0}.summon-result{text-align:center;padding:12px 5px;background:#fff9eb;border:2px solid var(--rarity);border-radius:13px;animation:reveal .45s both;animation-delay:var(--delay)}.summon-result .art{--size:65px}.summon-result b{font-size:11px;display:block;margin:5px 0}.summon-result small{font-size:10px;display:block;color:#a58ea4}.summon-results.single{grid-template-columns:1fr;max-width:260px;margin:20px auto}.summon-results.single .art{--size:160px}.summon-results.single b{font-size:21px}.odds-line{display:flex;justify-content:space-between;font-size:13px;padding:10px 0;border-bottom:1px solid #e8e7d9;gap:10px}.check-row{display:flex;justify-content:space-between;align-items:center;background:#f3f3e5;padding:12px 15px;margin:8px 0;border-radius:9px;font-size:13px}.check-row .ready{color:#70a268}.check-row .missing{color:#d8857c}.input-file{display:none}.download-link{display:inline-flex;margin:10px 0}.save-actions{display:flex;gap:10px}.log-list{padding:0;list-style:none}.log-list li{font-size:13px;padding:11px 0;border-bottom:1px solid #e6e6d8;color:#88967d}.notice{padding:13px 15px;border:1px solid #ddd8eb;border-radius:11px;background:#f3effa;font-size:13px;color:#9c85b3;margin-bottom:17px}.collapse-stats{font-size:12px;color:#899b79}.equipment-card-head{display:flex;justify-content:space-between;width:100%;align-items:center}.stat-tag{font-size:11px;color:#9d85b3;margin:6px 0}.auto-keep-note{color:#be906c;font-size:11px;margin:12px 0 0}.opening .art{animation:chestWiggle .35s}.rarity9{background:linear-gradient(110deg,#ffecb1,#e9e1ff,#d9f2ee)}[hidden]{display:none!important}@keyframes float{50%{transform:translateY(-5px)}}@keyframes chestWiggle{25%,75%{transform:rotate(6deg)}50%{transform:rotate(-6deg)}}@keyframes reveal{from{opacity:0;transform:translateY(12px) scale(.92)}to{opacity:1;transform:none}}
@media(min-width:1000000px){.arena{height:480px}.game-grid{grid-template-columns:240px minmax(0,1fr) 285px;gap:23px}.hero-preview{height:228px}}
@media(max-width:1000000px){.app-header{padding:20px 22px 17px}.shell{padding:0 22px 28px}.game-grid{grid-template-columns:190px minmax(0,1fr) 238px;gap:15px}.world-nav{gap:6px}.world-nav button{padding:9px 10px;font-size:11px;gap:4px}.hero-preview{height:183px}.chest-card h2{font-size:21px}.chest-body{padding:15px}.panel-title{flex-wrap:wrap}.actor-hud{width:120px}.actor-hud b{font-size:11px}.battle-button{min-width:146px;font-size:12px;padding:10px}.skill-button{width:50px;height:54px}.skill-button .art{--size:45px}.skills-row{gap:6px}.companions{gap:6px}.companion{padding:6px}.companion .art{--size:37px}.companion b{font-size:10px}.companion small{font-size:9px}.damage-panel{gap:8px;padding:13px}.damage-panel b{font-size:19px}.class-grid{grid-template-columns:repeat(3,1fr)}.class-card>.art{--size:150px}.card-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1000000px){.game-grid{grid-template-columns:minmax(0,1fr) 255px}.hero-sidebar{display:none}.world-nav button{flex-direction:column;gap:2px;font-size:10px}.world-nav button span{font-size:23px}.page-intro{padding-top:20px}.arena{height:425px}.card-grid{grid-template-columns:repeat(2,1fr)}.summon-banner{padding:23px}.summon-showcase .art{--size:100px}.summon-showcase .art+.art{--size:135px}.rate-table{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000000px){.app-header{padding:17px 14px 13px;gap:8px}.brand{font-size:26px;gap:5px}.brand-symbol{font-size:35px}.brand small{font-size:7px;letter-spacing:1.2px}.top-currencies{gap:5px}.currency{padding:6px 8px;min-width:0;gap:5px;border-radius:10px}.currency i{font-size:18px}.currency b{font-size:11px}.currency small{display:none}.round-button{width:29px;height:29px;font-size:12px}.shell{padding:0 13px 90px}.world-nav{position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fffef7f5;backdrop-filter:blur(10px);border:0;border-top:1px solid #dce2ca;padding:7px 9px 10px;gap:4px}.world-nav button{min-width:63px;flex:0 0 auto;border:0;padding:5px;background:transparent;font-size:9px;gap:0;border-radius:9px;min-height:48px}.world-nav button.active{box-shadow:none}.page-intro{padding:14px 1px 17px;align-items:center}h1{font-size:26px}.eyebrow{font-size:9px;letter-spacing:1.5px}.intro-note{font-size:10px;max-width:85px;text-align:right}.game-grid{display:block}.arena{height:408px;border-radius:18px}.arena-top{top:12px;left:12px;right:12px}.area-label{padding:7px 10px}.area-label b{font-size:15px}.area-label small{font-size:10px}.wave-track{top:77px;gap:7px}.actor-hud{width:115px;top:38%}.actor-hud.hero.mounted{top:31%}.actor-hud b{font-size:11px}.actor-hud small{font-size:9px}.enemy-state{font-size:9px;bottom:52px;right:10px}.arena-note{bottom:12px;left:11px;right:11px}.arena-note>span{font-size:10px}.glass{font-size:10px;padding:7px}.boss-banner{top:114px;font-size:15px}.combat-controls{gap:9px;margin:13px 0 18px}.skill-button{width:51px;height:54px}.skill-button .art{--size:46px}.skills-row{gap:7px}.battle-button{min-width:154px;font-size:12px;gap:7px}.damage-panel{margin-bottom:12px}.damage-panel span{font-size:10px}.damage-panel b{font-size:20px}.companions{margin-bottom:21px}.companion{padding:8px 5px}.companion .art{--size:41px}.companion b{font-size:11px}.companion small{font-size:9px}.right-sidebar{display:grid;grid-template-columns:1fr;gap:15px}.chest-card .panel-title{padding:17px 20px 0}.chest-card h2{font-size:25px}.chest-art{height:160px}.chest-body{padding:14px 20px 18px}.chest-body .button{font-size:14px}.chest-card .button.primary{font-size:16px}.chest-level{font-size:11px}.essence-row{font-size:12px}.auto-sell label{font-size:12px;max-width:none}.auto-sell select{font-size:12px;max-width:175px}.chest-note{font-size:11px}.summon-teaser{margin:0}.summon-teaser h3{font-size:24px}.summon-teaser p{font-size:13px;max-width:75%}.summon-teaser .art{--size:90px;right:16px}.collection-head{flex-wrap:wrap}.collection-head h2{font-size:25px}.collection-head p{font-size:13px}.card-grid{gap:11px}.item-card{padding:13px}.item-card h3{font-size:19px}.item-card p{font-size:12px}.item-card .button{font-size:12px;padding:9px 6px}.item-card .tag{font-size:10px}.item-card>.art{--size:80px}.substat-list li{font-size:10px}.equipped-slots{grid-template-columns:repeat(4,1fr);gap:7px}.equip-slot .art{--size:40px}.equip-slot b{font-size:10px}.class-grid{grid-template-columns:1fr 1fr;gap:12px}.class-card{padding:16px 12px}.class-card.active{padding:15px 11px}.class-card>.art{--size:127px}.class-card h3{font-size:23px}.class-card p{font-size:12px}.class-card .bonus{min-height:46px}.class-card .button{font-size:12px}.evolutions li{font-size:11px}.view-toolbar{gap:6px}.tab-chip{padding:9px 13px;font-size:12px}.summon-banner{display:block;padding:20px}.summon-banner h2{font-size:28px}.summon-banner p{font-size:13px}.summon-showcase{padding:10px 0}.summon-showcase .art{--size:115px}.summon-showcase .art+.art{--size:150px}.summon-actions{gap:8px}.summon-actions .button{padding:9px;font-size:12px}.pity-row{gap:7px;font-size:11px;margin-bottom:0}.pity-row span{padding:9px}.rate-table{gap:8px}.rate-entry{padding:8px;gap:5px}.rate-entry .art{--size:35px}.rate-entry span{font-size:11px}.rate-entry b{font-size:11px}.summon-results{grid-template-columns:repeat(2,1fr)}.summon-result .art{--size:80px}.summon-result b{font-size:13px}.footer{gap:15px;font-size:9px;line-height:1.6;padding:20px 3px 0}.toast{bottom:82px;font-size:13px;width:max-content;max-width:92vw}dialog{padding:24px 20px}.modal-actions{flex-wrap:wrap}.modal-actions .button{font-size:12px;padding:10px}.loot h3{font-size:25px}.loot .substat-list li{font-size:13px}.odds-line{font-size:12px}.save-actions{flex-wrap:wrap}}
@media(max-width:370px){.brand small{display:none}.brand{font-size:24px}.app-header{gap:5px}.brand-symbol{font-size:30px}.currency{padding:5px;gap:3px}.round-button{width:25px;height:25px}.battle-button{min-width:131px;font-size:11px}.skills-row{gap:5px}.skill-button{width:46px}.companion .art{--size:31px}.companion b{font-size:10px}.class-card>.art{--size:112px}.class-grid{gap:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.mobile-hero{display:none}.battle-options{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;color:#82906f;margin:-5px 3px 17px}.battle-options label{display:flex;align-items:center;gap:5px;cursor:pointer}.battle-options input{accent-color:#8bb263;width:15px;height:15px}.summon-actions{grid-column:1/-1}.loot .tag{border:1px solid currentColor;padding:5px 12px;border-radius:8px;font-size:12px}.item-card .tag{white-space:nowrap}.mobile-hero button{background:transparent;font-size:12px;color:#7b9062;padding:8px 0}.mobile-hero button+button{font-weight:700}.footer .text-btn{padding:0}@media(max-width:1000000px){.mobile-hero{display:flex;justify-content:space-between;margin:-6px 3px 10px}.battle-options{font-size:10px}}@media(max-width:1000000px){.battle-options>span{display:none}.battle-options{margin:0 0 14px}.modal-actions{flex-wrap:wrap}.modal-actions .button{flex:1 1 100px;min-height:44px}}
:root{--muted:#687a63}.intro-note,.tiny,.level-row,.companion small,.chest-note,.essence-row,.stat-mini span,.currency small,.hero-card .subtitle,.actor-hud small,.area-label small,.enemy-state,.footer,.battle-options,.rate-entry small,.check-row,.evolutions small,.class-card .bonus{font-size:12px}.world-nav button{font-size:14px}.item-card p,.collection-head p,.summon-banner p,dialog p{font-size:16px}.class-card p{font-size:14px}.class-card .bonus{line-height:1.6}.auto-sell label,.auto-sell select{font-size:12px}.substat-list li,.evolutions li{font-size:13px}.rate-entry span,.rate-entry b,.item-card .tag,.text-btn,.damage-panel span{font-size:12px}.damage-panel span{color:#6b795a}.companion small,.chest-note,.intro-note{color:#70805e}.actor-hud b{font-size:14px}.actor-hud{width:156px}.hero-card .text-btn{line-height:1.6}.summon-teaser p{color:#866399}.collection-head p,.item-card p,dialog p{color:#748166}.button.primary{background:linear-gradient(#f786a9,#e75f8c)}.button.green{background:linear-gradient(#a3cc64,#76a844)}@media(max-width:1000000px){.world-nav button{font-size:12px}.companion b{font-size:12px}.actor-hud{width:125px}.actor-hud b{font-size:12px}}@media(max-width:1000000px){.world-nav button{min-width:78px;font-size:12px}.world-nav{padding-bottom:max(10px,env(safe-area-inset-bottom))}.actor-hud{width:119px}.actor-hud small{font-size:11px}.enemy-state{font-size:11px}.companion small{font-size:11px}.companion b{font-size:12px}.class-card p{font-size:14px}.evolutions li{font-size:12px}.substat-list li{font-size:12px}.item-card p{font-size:14px}.rate-entry span,.rate-entry small{font-size:12px}.chest-note{font-size:12px}.battle-options{font-size:12px}.card-grid{grid-template-columns:1fr 1fr}.item-card .button{font-size:13px}.footer{font-size:11px}.summon-teaser p{font-size:14px}}
@media(max-width:1000000px){.app-header{gap:6px}.currency{padding-left:6px;padding-right:6px}.actor-hud.hero.mounted{top:34%}}

/* festival-v3.css */
.world-nav button{font-size:12px;padding:10px 8px;gap:5px}.world-nav button span{font-size:20px}.skills-row{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.combat-controls{align-items:center}.actor-hud,.actor-hud.hero.mounted{top:27%}.boss-banner{font-size:14px;top:116px;letter-spacing:1px}.arena[data-dungeon="gold"]{background-color:#e9c56b;background-blend-mode:soft-light;box-shadow:0 5px 0 #cda85155}.arena[data-dungeon="keys"]{background-color:#79c9e1;background-blend-mode:soft-light;box-shadow:0 5px 0 #60afd355}.arena[data-dungeon="summons"]{background-color:#ae8ed1;background-blend-mode:soft-light;box-shadow:0 5px 0 #aa82c655}.arena[data-dungeon]:not([data-dungeon=""])::before{content:'';position:absolute;inset:0;box-shadow:inset 0 0 75px #6245865c;z-index:1;pointer-events:none}.team-bar{margin:16px 0;padding:14px 15px;border:1px solid #e0e7d3;border-radius:18px;background:#fffdf7}.team-bar-title{display:flex;justify-content:space-between;gap:10px;font-size:13px;margin-bottom:10px}.team-bar-title span{font-size:12px;color:#7c8b6e}.team-slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.team-slot{min-width:0;border:1px solid #dce5cb;border-radius:12px;background:linear-gradient(#f4f5dc,#fffef6);padding:7px 3px;color:#6f8453}.team-slot .art{--size:48px;display:block;margin:auto;max-width:100%;aspect-ratio:1}.team-slot small{display:block;white-space:nowrap;font-size:11px;margin:5px 0 0;overflow:hidden;text-overflow:ellipsis}.team-slot.empty{border-style:dashed;background:#f4f5e6}.team-slot.empty>span{font-size:28px;display:block;height:48px}.adventure-daily{display:grid;grid-template-columns:1fr 1fr;gap:10px}.adventure-daily button{background:linear-gradient(125deg,#e8e4fc,#f7efff);border:1px solid #d8cbeb;border-radius:14px;padding:14px;font-family:"Micelia Numerals",Fredoka;font-size:18px;text-align:left;color:#9577b3}.adventure-daily button+button{background:linear-gradient(125deg,#ffe6e3,#fff6d6);border-color:#efcfb8;color:#bb8a63}.adventure-daily small{display:block;margin-top:5px;font:12px "Micelia Numerals",'DM Sans',sans-serif}.dungeon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.dungeon-card{border:1px solid #e4ddc9;background:#fffdf5;border-radius:24px;overflow:hidden;box-shadow:0 6px 0 #ccd8bd33}.dungeon-art{height:220px;display:grid;place-items:center;position:relative;background:radial-gradient(circle at 50% 80%,#fffcef,var(--dungeon-color));overflow:hidden}.dungeon-art>.art{--size:138px;z-index:2;filter:drop-shadow(0 15px 15px #483b6744);animation:float 4s ease-in-out infinite}.portal-rings{position:absolute;width:175px;height:190px;border:10px double #fff7c8aa;border-radius:50% 50% 20% 20%;transform:translateY(30px);box-shadow:0 0 0 14px #fff9e033,0 0 35px #fffbea,inset 0 0 45px #fff4b8}.dungeon-content{padding:23px}.dungeon-content h3{font-size:28px;color:var(--dungeon-color);margin:9px 0}.dungeon-content p{color:#7b8970;font-size:15px;line-height:1.7;min-height:76px}.dungeon-rewards{display:flex;flex-direction:column;gap:5px;background:#f2f4e5;border-radius:13px;padding:15px;margin:16px 0}.dungeon-rewards strong{font:500 24px "Micelia Numerals",Fredoka;color:var(--dungeon-color,#a88c4d)}.dungeon-rewards span,.dungeon-rewards small{font-size:12px;color:#7a8d66}.dungeon-rewards small{color:#b18ba7}.entries{display:flex;gap:6px;align-items:center;margin:16px 0}.entries i{font-style:normal;color:#dce0cf;font-size:21px}.entries i.available{color:var(--dungeon-color)}.entries span{margin-left:auto;font-size:13px;color:#869572}.tier-picker{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#86936b}.tier-picker select{padding:11px 14px;border:1px solid #dce4c8;border-radius:12px;background:#fffdf2;color:#6f815a}.expedition-banner{display:flex;align-items:center;gap:15px;padding:18px 22px;margin-bottom:20px;border:1px solid #d9cde9;border-radius:15px;background:#f2ecfa}.expedition-banner>div{flex:1}.expedition-banner p{margin-top:5px;font-size:13px;color:#9b86b1}.expedition-result{text-align:center}.expedition-result>.art{--size:150px}.festival-banner{display:flex;align-items:center;justify-content:space-between;padding:28px 40px;border-radius:24px;border:1px solid #e1d1d4;background:radial-gradient(circle at 80% 50%,#ffffffcc,transparent 50%),linear-gradient(125deg,#fff2d4,#f8ddeb);gap:20px;overflow:hidden}.festival-banner>div{max-width:65%}.festival-banner h2{font-size:36px;color:var(--event-color);margin-top:12px}.festival-banner p{font-size:16px;line-height:1.7;color:#9a817f;margin:12px 0 18px}.festival-banner>.art{--size:200px;filter:drop-shadow(0 15px 16px #b687a94d);animation:float 4s ease-in-out infinite}.festival-wallet{display:inline-block;background:white;border:1px solid #e8ced3;padding:10px 16px;border-radius:12px;color:#c57594;font-weight:700}.festival-banner small{display:block;margin-top:12px;font-size:12px;color:#ae8b7d}.event-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:27px 0 20px}.event-intro h2{font-size:27px;margin-bottom:8px}.event-intro p{font-size:15px;line-height:1.7;color:#7a886d;max-width:790px}.event-intro>.button{flex-shrink:0}.mission-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:30px}.mission-card{padding:18px;border:1px solid #e0e4cf;border-radius:16px;background:#fffdf6}.mission-card h3{font-size:20px;margin:12px 0 17px;min-height:50px}.mission-card>div:last-child{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font-size:12px;color:#8d9b7b}.mission-card .button{font-size:12px;min-height:34px;padding:8px 10px}.skin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.skin-card{border:1px solid #e4d7d7;border-radius:22px;background:#fffdf7;overflow:hidden;display:grid;grid-template-columns:minmax(140px,.75fr) 1fr}.skin-card.active{box-shadow:inset 0 0 0 2px #91b966}.skin-art{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px;gap:25px;background:radial-gradient(#f7e7d6,#fff9e9)}.skin-art .art{--size:180px;max-width:100%;aspect-ratio:1;filter:drop-shadow(0 9px 10px #bba08044)}.skin-art>span:last-child{font-size:10px;letter-spacing:1px;text-align:center;line-height:1.6;color:#ac957d}.skin-info{padding:23px 20px}.skin-info h3{font-size:26px;color:var(--event-color);margin-bottom:18px}.skin-label{font-size:12px;font-weight:700;color:#9a80be}.skin-label.worn{color:#799b5e}.skin-bonuses{padding:0;list-style:none;margin:9px 0 20px}.skin-bonuses li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed #e9e2d7;padding:6px 0;font-size:12px;color:#829270}.skin-bonuses b{white-space:nowrap;color:#748b59}.skin-info p{font-size:13px;line-height:1.7;color:#8a8e78;min-height:65px;margin-bottom:15px}
@media(max-width:1000000px){.skills-row{grid-template-columns:repeat(3,1fr)}.skin-card{display:block}.skin-art{padding:17px}.skin-art .art{--size:160px}.skin-art>span:last-child{font-size:12px}.mission-grid{grid-template-columns:1fr 1fr}.dungeon-content{padding:19px}.dungeon-content h3{font-size:25px}.world-nav button{min-width:82px}}
@media(max-width:1000000px){.dungeon-grid{gap:13px}.dungeon-art{height:180px}.dungeon-content{padding:16px}.dungeon-content h3{font-size:23px}.dungeon-content p{font-size:14px;min-height:100px}.dungeon-rewards strong{font-size:22px}.event-intro{align-items:start;flex-direction:column}.team-slot .art{--size:40px}.team-slot small{font-size:10px}}
@media(max-width:1000000px){.world-nav button{min-width:80px;font-size:12px}.skills-row{gap:7px}.combat-controls{gap:12px}.combat-controls>.battle-button{flex:1;min-width:140px;max-width:190px;height:58px}.skill-button{width:49px;height:50px}.skill-button .art{--size:44px}.actor-hud,.actor-hud.hero.mounted{top:31%}.actor-hud small{font-size:10px}.boss-banner{top:108px;font-size:13px}.team-bar{padding:12px 9px}.team-slots{gap:4px}.team-slot .art{--size:39px}.team-slot small{font-size:10px}.team-bar-title{font-size:13px}.team-bar-title span{font-size:11px}.adventure-daily{gap:8px}.adventure-daily button{font-size:18px;padding:12px}.adventure-daily small{font-size:11px;line-height:1.6}.dungeon-grid{grid-template-columns:1fr}.dungeon-card{display:grid;grid-template-columns:100px minmax(0,1fr);border-radius:18px}.dungeon-art{height:100%;min-height:350px}.dungeon-art>.art{--size:90px}.portal-rings{width:150px;height:190px}.dungeon-content{padding:17px}.dungeon-content h3{font-size:25px}.dungeon-content p{font-size:14px;min-height:0}.dungeon-content .eyebrow{font-size:9px;line-height:1.5}.dungeon-rewards{padding:12px}.dungeon-rewards strong{font-size:23px}.entries i{font-size:16px}.entries{gap:4px}.entries span{font-size:12px}.dungeon-content .button{font-size:13px;padding:11px 6px}.expedition-banner{padding:14px;flex-wrap:wrap}.expedition-banner>div{flex-basis:100%}.festival-banner{padding:22px;gap:5px;position:relative}.festival-banner>div{max-width:100%;z-index:1}.festival-banner h2{font-size:31px;max-width:85%}.festival-banner p{font-size:14px;max-width:83%}.festival-banner>.art{position:absolute;--size:135px;right:-20px;bottom:15px;opacity:.62}.festival-banner .eyebrow{font-size:10px;line-height:1.7}.festival-banner small{max-width:73%;line-height:1.6}.mission-grid{gap:10px}.mission-card{padding:13px}.mission-card h3{font-size:20px;min-height:71px}.mission-card .tiny{font-size:10px}.mission-card>div:last-child{flex-wrap:wrap}.mission-card .button{width:100%}.skin-grid{grid-template-columns:1fr}.skin-card{display:grid;grid-template-columns:110px minmax(0,1fr)}.skin-art{padding:10px}.skin-art .art{--size:108px}.skin-art>span:last-child{font-size:10px}.skin-info{padding:20px 14px}.skin-info h3{font-size:25px}.skin-bonuses li{font-size:12px}.skin-info .button{font-size:13px;padding:11px 8px}.skin-info p{min-height:0}.event-tabs{flex-wrap:nowrap;overflow:auto;padding-bottom:5px}.event-tabs .tab-chip{white-space:nowrap}.event-intro h2{font-size:26px}.event-intro p{font-size:14px}}
@media(max-width:370px){.skill-button{width:44px}.skills-row{gap:5px}.combat-controls>.battle-button{min-width:122px;font-size:11px}.team-slot .art{--size:34px}.team-slot small{font-size:9px}.dungeon-card{grid-template-columns:80px 1fr}.skin-card{grid-template-columns:90px 1fr}}

.arena-note{justify-content:flex-end}.battle-message{font-size:12px;color:#819073;margin:-5px 0 14px;line-height:1.5}

@media(max-width:1000000px){.festival-banner>.art{right:8px;--size:120px;opacity:.75}}

/* journey-v4.css */
.world-nav button{font-size:14px}.page-intro{padding:18px 0}.page-intro h1{font-size:30px}.collection-actions{display:flex;gap:10px;flex-wrap:wrap}.collection-power{display:block;color:#739251;font-weight:700;font-size:14px;margin:8px 0}.item-card .description{min-height:75px;font-size:14px}.item-card .tiny{font-size:12px}.art{position:relative}.art>span{position:absolute;background-repeat:no-repeat;pointer-events:none}.adventure-equipment{margin:18px 0;padding:20px;background:#fffef7;border:1px solid #dfe6d1;border-radius:20px}.adventure-equipment .collection-head{align-items:center;gap:12px;margin-bottom:17px}.adventure-equipment h2{font-size:25px}.adventure-equipment .collection-head p{font-size:14px;margin-top:7px;line-height:1.6}.adventure-equipment .collection-head .button{font-size:13px;white-space:nowrap}.adventure-equipment .equipped-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.adventure-equipment .equip-slot{min-width:0;padding:9px 3px}.adventure-equipment .equip-slot small{font-size:12px}.adventure-equipment .equip-slot b{font-size:12px}.adventure-equipment .equip-slot .art{--size:45px}.adventure-equipment .card-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.adventure-equipment .item-card{padding:14px}.adventure-equipment .item-card>.art{--size:68px}.adventure-equipment .item-card h3{font-size:20px}.adventure-equipment .item-card p,.adventure-equipment .substat-list li{font-size:12px}.inventory-drawer>summary{cursor:pointer;padding:12px 15px;background:#eef2df;border-radius:11px;color:#73875a;font-size:14px;font-weight:700}.auto-chest-panel{padding:14px 0;border-bottom:1px dashed #dce4cc}.auto-chest-panel>.button{background:#ede3fb;color:#8965b0;margin-bottom:14px}.auto-chest-panel>.button.green{background:#85b95c;color:white}.auto-chest-panel label{font-size:13px;color:#7c8d6b;display:block}.auto-chest-panel select{display:block;width:100%;max-width:100%;margin-top:7px;padding:10px 8px;border:1px solid #d7dfc6;border-radius:10px;background:#fffdf5;color:#687a58;font-size:12px}.auto-chest-panel p{font-size:12px;line-height:1.55;color:#779257;margin-top:11px}.auto-chest-panel small{display:block;font-size:12px;line-height:1.5;color:#9b9276;margin-top:7px}.boss-retry{width:100%;margin:0 0 14px}.boss-retry[hidden]{display:none}.dungeon-unlock{display:block;color:#869676;font-size:12px;line-height:1.6;margin-top:12px}.dungeon-content .tier-picker{font-size:14px}.dungeon-content .tier-picker select{width:100%;font-size:14px}.skin-card .skin-info .button{font-size:14px}.actor-hud.hero,.actor-hud.hero.mounted{left:5%;top:26%;width:40%;max-width:180px}.actor-hud.enemy{right:4%;top:26%;width:40%;max-width:180px}.arena .enemy-state{bottom:19%;max-width:42%;text-align:right}.battle-message{min-height:20px}.class-card .button{font-size:14px}.festival-banner>.art{opacity:1}
@media(max-width:1000000px){.world-nav button{font-size:13px}.adventure-equipment{padding:15px}.adventure-equipment .collection-head{flex-wrap:wrap}}
@media(max-width:1000000px){.world-nav button{font-size:12px;min-width:83px}.page-intro h1{font-size:25px}.page-intro .intro-note{display:none}.adventure-equipment{padding:14px;margin:14px 0}.adventure-equipment .equipped-slots{grid-template-columns:repeat(4,minmax(0,1fr))}.adventure-equipment .equip-slot .art{--size:42px}.adventure-equipment .equip-slot small{font-size:12px;letter-spacing:-.3px}.adventure-equipment .collection-head h2{font-size:24px}.adventure-equipment .collection-head .tiny{font-size:12px}.collection-actions{width:100%}.collection-actions .button{flex:1;font-size:14px}.item-card .description{font-size:14px}.card-grid{gap:10px}.item-card .button{font-size:13px}.item-card .stars{font-size:16px}.collection-power{font-size:13px}.actor-hud.hero,.actor-hud.enemy,.actor-hud.hero.mounted{top:31%;width:39%}.actor-hud b{font-size:12px}.actor-hud small{font-size:11px}.arena .enemy-state{font-size:10px}.skin-bonuses li{font-size:13px}.skin-card{grid-template-columns:105px minmax(0,1fr)}.skin-info{padding:18px 12px}.skin-info .button{font-size:13px}.auto-chest-panel select{font-size:14px}.team-slot small{font-size:12px}.team-bar-title span{font-size:12px}}
.actor-hud.hero,.actor-hud.hero.mounted,.actor-hud.enemy{transform:none}
.actor-hud.enemy{left:auto;right:4%}

/* bonds-v5.css */
.cloud-strip,.clan-banner,.clan-welcome,.online-onboarding,.mine-hero,.mine-stats,.mine-footer{border:1px solid #dce4c6;background:linear-gradient(135deg,#fffdf0,#f0f7dc);border-radius:22px;box-shadow:0 14px 34px #547d3b18}.cloud-strip{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:16px}.cloud-strip>div:nth-child(2){display:grid;gap:2px;flex:1}.cloud-strip small,.online-onboarding small,.clan-list-card small,.guild-raid-card small,.guild-shop-card small{color:#718271}.status-dot{width:10px;height:10px;border-radius:50%;background:#d59989;box-shadow:0 0 0 4px #d5998930}.status-dot.online{background:#6db467;box-shadow:0 0 0 4px #6db46730}.clan-welcome{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:20px;padding:22px;margin-bottom:24px}.clan-welcome .art{width:150px;height:150px;margin:auto}.clan-welcome h2,.mine-hero h2{margin:5px 0 8px}.clan-welcome p,.mine-hero p{max-width:680px;color:#718271;line-height:1.55}.clan-welcome small{display:block;margin-top:10px}.clan-search{display:flex;gap:8px}.clan-search input,.online-onboarding input,.online-onboarding textarea,.online-onboarding select{border:1px solid #ccd9bb;border-radius:12px;padding:10px 12px;background:#fffef8;color:#355246;font:inherit}.online-onboarding{max-width:600px;padding:24px;margin:30px auto}.online-onboarding form{display:grid;gap:14px}.online-onboarding label{display:grid;gap:6px;font-weight:600}.clan-list{display:grid;gap:12px}.clan-list-card{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:14px;padding:16px}.clan-list-card h3{margin:3px 0}.clan-list-card p{margin:4px 0;color:#718271}.clan-list-card .art{width:52px;height:52px}.clan-banner{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:16px;padding:18px;margin-bottom:18px}.clan-banner .art{width:90px;height:90px}.clan-banner h2{margin:3px 0}.clan-banner p{color:#718271}.guild-coins{font-size:1.2rem;font-weight:800;color:#af7b27;display:grid;gap:2px;text-align:right}.guild-coins small{font-size:.74rem;color:#718271}.clan-hall-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.clan-contribute,.clan-loot,.member-list{padding:18px}.clan-contribute{display:grid;gap:8px}.clan-contribute p,.clan-contribute small,.clan-loot p{color:#718271}.guild-loot-row,.member-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #e4ecd5;padding:11px 0}.guild-loot-row:last-child,.member-row:last-child{border-bottom:0}.guild-loot-row span,.member-row span:nth-child(2){display:grid;gap:3px;flex:1}.guild-loot-row small,.member-row small{color:#718271}.member-flower{color:#dc7692;font-size:1.3rem}.guild-raid-grid,.guild-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.guild-raid-card,.guild-shop-card{padding:18px;display:grid;gap:10px}.guild-raid-card{border-top:5px solid var(--raid-color)}.guild-raid-card .art{width:130px;height:130px;margin:auto}.guild-raid-card h3{margin:0}.guild-raid-card .hp-track{height:12px;background:#e7eee0;border-radius:99px;overflow:hidden}.guild-raid-card .hp-track i{display:block;height:100%;background:linear-gradient(90deg,#dc7892,#dfac3f);border-radius:inherit}.guild-shop-card{text-align:center}.guild-shop-card .art{width:90px;height:90px;margin:auto}.guild-shop-card button{margin-top:4px}.mine-hero{display:grid;grid-template-columns:1fr 210px;align-items:center;gap:16px;padding:20px;margin-bottom:16px}.mine-art .art{width:180px;height:180px;margin:auto}.mine-resources{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;color:#537363}.mine-resources span{background:#edf5dd;border-radius:999px;padding:7px 10px}.mine-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:14px;margin-bottom:16px}.mine-stats>div{display:grid;gap:7px;padding:12px;border-radius:16px;background:#fffef7}.mine-stats span{color:#718271;font-weight:700}.mine-stats b{font-size:.92rem}.mine-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.mine-tile{min-height:92px;border:1px solid #d7e4c7;border-radius:16px;background:linear-gradient(145deg,#e7edda,#cfdaba);color:#55725e;display:grid;place-items:center;padding:8px;gap:3px;font:inherit;font-weight:700;box-shadow:inset 0 3px 0 #ffffff8a}.mine-tile.available{background:linear-gradient(145deg,#fff9d7,#d9efbd);color:#98742f;cursor:pointer}.mine-tile.dug{background:#f7f8e9;color:#a8b49c}.mine-tile span{font-size:1.35rem}.mine-tile small{font-size:.72rem;color:#718271}.mine-tile:disabled{opacity:.72}.mine-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px;margin-top:16px}.mine-footer p{color:#718271}.online-error{margin-bottom:14px}.raid-replay{position:relative;min-height:260px;border-radius:18px;overflow:hidden;background:#a8d5c2}.raid-replay canvas{display:block;width:100%;height:260px}.raid-hud{display:flex;justify-content:space-between;position:absolute;inset:auto 12px 10px;color:#fff;font-weight:800;text-shadow:0 2px 3px #294d33}.modal-actions .button{min-width:160px}
@media(max-width:1000000px){.clan-welcome{grid-template-columns:1fr;text-align:center}.clan-banner{grid-template-columns:70px 1fr}.clan-banner .guild-coins{grid-column:1/-1;text-align:left}.clan-hall-grid,.mine-stats{grid-template-columns:1fr}.guild-raid-grid,.guild-shop-grid{grid-template-columns:1fr}.clan-search{width:100%}.clan-search input{min-width:0;flex:1}.mine-hero{grid-template-columns:1fr}.mine-art{display:none}.mine-grid{gap:6px}.mine-tile{min-height:70px;font-size:.78rem}.mine-footer{align-items:stretch;flex-direction:column}}

/* worlds-v6.css */
:root{--world-ink:#244c48;--world-gold:#ffd574;--world-rose:#ed78a6}
.territory-header{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 0 16px}.territory-header h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:4px 0}.territory-header p{margin:5px 0;color:#52736c}.territory-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:18px;align-items:start}.territory-scene{position:relative;aspect-ratio:1.3;border-radius:25px;overflow:hidden;border:4px solid #fff1c4;box-shadow:0 14px 34px #276d5430;background:#7dcb99}.territory-background{position:absolute;width:100%;height:100%;object-fit:fill}.territory-scene canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:manipulation;outline-offset:-6px}.territory-places{position:absolute;inset:0;pointer-events:none}.place-pin{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;display:flex;align-items:center;gap:5px;border:2px solid #fff7d9;background:#fff7e7ed;color:#345047;padding:6px 9px;border-radius:14px;box-shadow:0 4px 0 #53775a55,0 8px 15px #264b3950;font:inherit;font-size:.8rem;white-space:nowrap;cursor:pointer}.place-pin i{display:grid;place-items:center;width:24px;height:24px;background:#e27597;color:white;border-radius:50%;font-style:normal}.place-pin.selected{background:#ffe39a;border-color:#fff}.place-pin:hover,.place-pin:focus-visible{transform:translate(-50%,-57%);filter:brightness(1.07)}.territory-tip{position:absolute;bottom:10px;left:12px;right:12px;pointer-events:none;display:flex;justify-content:space-between;gap:8px;background:#214c42d9;color:#fff6d8;border:1px solid #ffffff45;border-radius:12px;padding:8px 12px;font-size:.85rem}.territory-tip small{font-size:.75rem}.territory-room{padding:20px;background:linear-gradient(145deg,#fff9ea,#edfaf3);border:2px solid #dbedda;border-radius:23px;min-height:420px;max-height:760px;overflow:auto;box-shadow:0 8px 24px #376b4914}.territory-room>h2{margin:0 0 5px}.territory-room>p{font-size:1rem;line-height:1.55;color:#5a726a}.territory-room .clan-hall-grid,.territory-room .guild-shop-grid,.territory-room .guild-raid-grid{grid-template-columns:1fr}.territory-room .guild-shop-card{grid-template-columns:64px 1fr;align-items:center;text-align:left;gap:4px 10px}.territory-room .guild-shop-card .art{grid-row:span 3;width:58px;height:58px}.territory-room .guild-shop-card h3{font-size:1rem}.territory-room .guild-shop-card button{grid-column:2}.territory-room .guild-raid-card .art{height:95px;width:95px}.territory-room .collection-head{flex-wrap:wrap}.territory-room .clan-banner{display:none}.territory-preview{position:relative;min-height:320px;border-radius:26px;background:url('assets/guild-territory-v6.png') center/cover;margin-bottom:22px;overflow:hidden;display:flex;align-items:flex-end;padding:24px}.territory-preview>div{background:#fff9eeec;max-width:460px;padding:20px;border-radius:20px;box-shadow:0 8px 30px #154b4c50}.territory-preview h2{margin:4px 0 10px}.territory-preview p{line-height:1.5}.weekly-card,.war-rival,.war-result,.garden-panel{padding:17px;margin-top:12px;background:#fff;border:1px solid #d4e4d8;border-radius:18px}.weekly-card .progress{margin:10px 0}.weekly-card header,.war-rival header{display:flex;justify-content:space-between;gap:8px}.weekly-card h3,.war-rival h3{margin:0;font-size:1.05rem}.weekly-card small{display:block;margin:6px 0;color:#657b71}.weekly-card .button{width:100%}.garden-tree{width:160px;height:160px;margin:0 auto;animation:garden-breathe 4s ease-in-out infinite}.garden-panel{text-align:center;background:linear-gradient(160deg,#fff3d9,#c9f0da)}.garden-panel p{line-height:1.6}.garden-stats,.war-score{display:flex;justify-content:center;gap:12px;margin:12px 0}.garden-stats span,.war-score span{padding:10px;background:#ffffffa8;border-radius:13px;display:grid;gap:5px}.war-rival button{margin-top:12px;width:100%}.war-ranking{padding:0;list-style:none}.war-ranking li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #e2ece3;padding:10px 0}.war-status{display:inline-block;padding:7px 12px;border-radius:99px;background:#ffe0b1;color:#755222;font-size:.85rem}.war-result{background:#fdf0cf}.raid-replay{background:#9fcca2 url('assets/garden.png') center/cover}.raid-replay.war-replay{background-image:url('assets/guild-territory-v6.png');background-position:75% 80%;background-size:160%}.raid-hud{pointer-events:none}.notice{line-height:1.5}
/* Each equipment card is colored edge-to-edge; readable text uses a matching dark tone. */
.item-card[data-rarity],.equip-slot[data-rarity],.loot[data-rarity]{background:linear-gradient(135deg,var(--rarity-light),var(--rarity-base))!important;border:2px solid var(--rarity-edge)!important;color:var(--rarity-ink)!important;box-shadow:inset 0 1px 0 #ffffff80,0 5px 13px #263c3720}.item-card[data-rarity] .tiny,.item-card[data-rarity] p,.equip-slot[data-rarity] small,.loot[data-rarity] p{color:var(--rarity-ink)!important}.item-card[data-rarity] .tag,.loot[data-rarity] .tag{color:var(--rarity-ink)!important;background:#ffffff9c;border:1px solid #ffffff75}.item-card[data-rarity] .stat-tag,.item-card[data-rarity] .substat-list,.loot[data-rarity] .loot-stats{background:#ffffff85;border-radius:10px}.equip-slot[data-rarity].active{outline:2px solid var(--rarity-edge)}.item-card[data-rarity] .button{background:#ffffffba;color:#234844;border-color:#ffffff80}.item-card[data-rarity] .button.green{background:#214d43;color:#fff}.loot[data-rarity]{padding:20px;border-radius:20px}.loot[data-rarity] .substat-list{color:var(--rarity-ink)}
.mine-v6{background:linear-gradient(135deg,#e5f5ff,#f4e6ff);border:2px solid #b9dced;border-radius:26px;padding:20px}.mine-v6-header{display:flex;align-items:center;justify-content:space-between;gap:18px}.mine-v6-header h2{font-size:clamp(1.5rem,3vw,2rem);margin:5px 0}.mine-v6-header p{color:#476c83;line-height:1.6}.mine-charge{padding:13px 20px;background:#fff7d3;border:2px solid #f3d77e;border-radius:18px;text-align:center;white-space:nowrap}.mine-charge b{display:block;font-size:1.5rem;color:#786028}.mine-charge small{display:block;margin-top:5px;color:#685b39}.mine-workspace{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(230px,1fr);gap:18px;margin-top:18px}.mine-cavern{padding:24% 13% 6%;position:relative;border-radius:22px;background:url('assets/crystal-mine-v6.png') center/100% 100%;border:3px solid #a6ccdf;overflow:hidden;box-shadow:inset 0 0 35px #23245530}.mine-cavern::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 25%,#51dcff22,transparent 40%);animation:mine-glow 5s ease-in-out infinite alternate}.mine-cavern .mine-grid{gap:5px;position:relative;z-index:1}.mine-cavern .mine-tile{position:relative;min-height:0;aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#7486a5,#344765);border:2px solid #bdc8e6;border-bottom:5px solid #29395c;border-radius:12px;color:#fff;text-shadow:0 1px 2px #203456;box-shadow:0 5px 7px #16294370;padding:2px;overflow:hidden}.mine-cavern .mine-tile .art{width:75%;height:70%;filter:drop-shadow(0 3px 3px #26345e66)}.mine-cavern .mine-tile.available{background:linear-gradient(145deg,#c9c1eb,#6885ba);border-color:#e2d7ff;border-bottom-color:#647cac;cursor:pointer}.mine-cavern .mine-tile.available:hover{filter:brightness(1.22);transform:translateY(-2px)}.mine-cavern .mine-tile.dug{background:#23395188;border:1px dashed #b7dcf75c;box-shadow:inset 0 3px 10px #17294e60;color:#c3e1f5}.mine-cavern .mine-tile small{color:#fff;font-size:.75rem}.mine-cavern .mine-tile:disabled{opacity:.87}.mine-cavern .mine-tile.locked .art{filter:grayscale(.4) brightness(.65);opacity:.5}.mine-cavern .mine-tile.dug .art{opacity:.25}.mine-v6-upgrades{display:grid;gap:12px;align-content:start}.crystal-upgrade{padding:16px;border:2px solid var(--crystal-border);background:linear-gradient(125deg,#fff,var(--crystal-light));border-radius:20px;display:grid;grid-template-columns:62px 1fr;gap:6px 12px;align-items:center}.crystal-upgrade .art{height:62px;width:62px;grid-row:span 2}.crystal-upgrade h3{font-size:1.05rem;margin:0}.crystal-upgrade small{color:#46617a;line-height:1.5}.crystal-upgrade .button{grid-column:1/-1}.mine-v6 .mine-footer{background:#ffffffc9;border-color:#c5d5ef;margin-top:16px}.mine-feedback{min-height:26px;color:#416379;font-weight:700;margin:12px 0 0}.excavated-now{animation:dig-reveal .55s ease-out}.mine-layer-badge{position:absolute;top:12px;right:12px;padding:8px 12px;background:#203e67d9;color:#e9f8ff;border:1px solid #79c5eb;border-radius:99px;font-size:.85rem}.guild-progress-strip{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 18px}.guild-progress-strip span{background:#fff1cb;border:1px solid #f0d999;padding:8px 12px;border-radius:12px;color:#706132}.clan-welcome,.online-onboarding{font-size:1rem}
@keyframes garden-breathe{50%{transform:translateY(-5px) scale(1.025);filter:drop-shadow(0 0 14px #eebf7350)}}@keyframes mine-glow{to{opacity:.35}}@keyframes dig-reveal{0%{transform:scale(1.12);filter:brightness(2)}100%{transform:scale(1);filter:brightness(1)}}
@media(max-width:1000000px){.territory-layout{grid-template-columns:1fr}.territory-room{max-height:none;min-height:0}.territory-room .guild-shop-grid,.territory-room .guild-raid-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.territory-scene{aspect-ratio:1.5}.mine-workspace{grid-template-columns:1fr}.mine-v6-upgrades{grid-template-columns:repeat(3,minmax(0,1fr))}.crystal-upgrade{grid-template-columns:1fr;text-align:center}.crystal-upgrade .art{margin:auto}.mine-cavern{padding-top:22%;padding-bottom:7%;}.mine-v6 .mine-footer{flex-direction:column;align-items:stretch}}
@media(max-width:1000000px){.territory-header{align-items:start}.territory-header p{font-size:.9rem}.territory-layout{gap:12px}.territory-scene{border-width:2px;aspect-ratio:1.1;border-radius:18px}.place-pin{font-size:.75rem;padding:5px;gap:3px;white-space:normal;max-width:96px}.place-pin i{display:none}.territory-tip small{display:none}.territory-tip{font-size:.78rem;bottom:6px;left:6px;right:6px;padding:7px}.territory-room{padding:14px}.territory-room .guild-shop-grid,.territory-room .guild-raid-grid{grid-template-columns:1fr}.mine-v6{padding:12px}.mine-v6-header{flex-wrap:wrap;gap:10px}.mine-charge{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 15px}.mine-v6-upgrades{grid-template-columns:1fr}.crystal-upgrade{grid-template-columns:60px 1fr;text-align:left}.mine-cavern{padding-left:5%;padding-right:5%;padding-top:29%}.mine-cavern .mine-tile{border-radius:8px}.mine-cavern .mine-tile small{font-size:.75rem}.mine-v6-header p{margin:8px 0}.territory-preview{padding:14px}}
@media(prefers-reduced-motion:reduce){.garden-tree,.mine-cavern::after,.excavated-now{animation:none}.place-pin:hover{transform:translate(-50%,-50%)}.mine-tile:hover{transform:none}}

.garden-tree{width:190px;height:190px;margin:8px auto 22px;border-radius:50%;border:5px solid #fff1c2;background:url('assets/guild-territory-v6.png') 7% 96%/430% auto;box-shadow:0 7px 25px #7eac7255}
.territory-atmosphere{position:absolute;inset:0;pointer-events:none}.territory-atmosphere i{position:absolute;border-radius:50%;mix-blend-mode:screen;animation:world-shimmer 3s ease-in-out infinite alternate}.portal-light{left:79%;top:43%;width:8%;height:10%;background:radial-gradient(ellipse,#ad8bff99,transparent 70%)}.fountain-light{left:43%;top:44%;width:12%;height:7%;background:radial-gradient(ellipse,#bbf3ff99,transparent 70%);animation-delay:-1s!important}.tree-light{left:12%;top:63%;width:19%;height:12%;background:radial-gradient(ellipse,#fff49b77,transparent 70%);animation-delay:-2s!important}@keyframes world-shimmer{to{opacity:.25;transform:scale(1.2)}}@media(prefers-reduced-motion:reduce){.territory-atmosphere i{animation:none}}

.territory-room .clan-welcome{display:flex;flex-direction:column;padding:18px;gap:12px;text-align:center}.territory-room .clan-welcome .art{width:110px;height:110px}.territory-room .clan-welcome h2{font-size:1.35rem}.territory-room .clan-welcome p{font-size:1rem}

/* mobile-v7.css */
/* Portrait game shell shared by phones, tablets and desktop. */
:root{--ink:#314942;--muted:#597368;--pink:#ee6c93;--green:#448957}
*{box-sizing:border-box}html{background:#34705c}body{max-width:540px;margin:0 auto!important;min-height:100dvh;background:#e4efd1;color:var(--ink);box-shadow:0 0 70px #123f5a55;padding:0 0 calc(86px + env(safe-area-inset-bottom))!important}body::before,body::after{display:none}.shell{width:100%;max-width:none;margin:0;padding:0 10px}.app-header{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;background:linear-gradient(#fff7d4,#f4dda2);border-bottom:3px solid #cba45c;box-shadow:0 3px 8px #314d3930;min-height:64px}.brand{font-size:24px;gap:5px;flex:1}.brand-symbol{font-size:29px;color:#cf537c}.brand small{font-size:9px;letter-spacing:.03em}.top-currencies{gap:4px;margin:0}.currency{padding:5px 7px;border:1px solid #d7bf83;background:#fffbea;border-radius:20px;gap:4px;min-width:0}.currency i{font-size:15px}.currency b{font-size:13px}.currency small{display:none}.round-button{width:36px;height:36px;min-width:36px;background:#fff6d9;color:#765632;border:1px solid #d9b979}.app-header>.round-button{width:32px;min-width:32px;height:36px}.page-intro{padding:16px 4px 12px;margin:0}.page-intro h1{font-size:26px;margin:0}.page-intro .eyebrow,.intro-note{display:none}body:not([data-view]) .page-intro,body[data-view=adventure] .page-intro{display:none}
.world-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,540px);z-index:30;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;margin:0;padding:7px 6px max(7px,env(safe-area-inset-bottom));background:linear-gradient(#fff9de,#ecd49c);border-top:3px solid #c6a05d;border-radius:20px 20px 0 0;box-shadow:0 -5px 18px #31553b30;overflow:visible}.world-nav button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:58px;padding:4px 2px;border-radius:14px;font-size:12px;color:#74603b;background:transparent;white-space:nowrap}.world-nav button>span{font-size:27px;line-height:1}.world-nav button.active{color:#fff;background:linear-gradient(#ee879b,#d14f7c);box-shadow:inset 0 1px 0 #ffffff80,0 3px 0 #983e5c;border:none}.world-nav button.active::after{display:none}
.game-grid{display:block;margin:0}.hero-sidebar,.right-sidebar,.footer,.companions,#pet-team,.adventure-daily{display:none!important}.battle-column{min-width:0}.mobile-hero{display:flex!important;align-items:center;justify-content:space-between;margin:0;padding:2px 2px;min-height:40px}.mobile-hero button{min-height:38px;font-size:13px;color:#375e45;font-weight:700}.mobile-hero button+button{background:#fff6cf;border:1px solid #d2bf78;border-radius:12px;padding:5px 9px}.arena{height:clamp(270px,40dvh,390px);border:3px solid #a1bd75;border-radius:22px;margin:0;box-shadow:0 5px 0 #95a86a;overflow:hidden}.arena-top{padding:11px 12px;align-items:start}.area-label b{font-size:16px}.area-label small{font-size:12px;max-width:280px}.glass{font-size:12px;min-height:34px}.wave-track{top:68px;gap:3px}.wave-node{width:24px;height:24px;font-size:12px}.wave-line{width:16px}.actor-hud{top:33%;width:116px;max-width:33%;font-size:12px}.actor-hud.hero,.actor-hud.hero.mounted{top:32%;left:7%}.actor-hud.enemy{left:auto;right:6%;top:35%}.actor-hud b{font-size:12px}.actor-hud small{font-size:11px}.hp-track{height:9px}.enemy-state{bottom:30px;right:10px;max-width:50%;font-size:11px}.boss-banner{top:98px;font-size:14px}.arena-note{bottom:8px;left:10px}.arena-shortcuts{position:absolute;z-index:4;right:8px;top:103px;display:grid;gap:3px}.arena-shortcuts button{width:52px;min-height:47px;border:1px solid #d4b75a;border-radius:12px;background:#fff4cddf;box-shadow:0 2px 0 #8c8e4b60;color:#775332;font-size:20px}.arena-shortcuts small{display:block;font-size:10px}.arena-shortcuts button:hover{background:#fff9df}
.combat-controls{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0 5px}.skills-row{width:100%;display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.skill-button{width:100%;height:48px;min-height:44px;border-radius:13px}.skill-button .art{--size:42px}.battle-button{width:100%;min-width:0;min-height:42px;font-size:15px}.battle-options{margin:5px 3px;font-size:12px;min-height:27px}.battle-options>span{display:none}.battle-message{font-size:12px;line-height:1.4;margin:5px 3px;min-height:0}.damage-panel{gap:5px;margin:8px 0;padding:8px 6px;border-radius:13px;background:#fff8da;border:1px solid #d8c18c}.damage-panel span{font-size:10px;line-height:1.2}.damage-panel b{font-size:17px}.damage-panel>div{min-width:0}.adventure-equipment{margin:10px 0;padding:0;border:0;background:none;box-shadow:none}.adventure-equipment>.collection-head{margin:6px 0;gap:4px;align-items:center}.adventure-equipment>.collection-head h2{font-size:16px}.adventure-equipment>.collection-head p{display:none}.adventure-equipment>.collection-head .button{min-height:36px;padding:6px 10px;font-size:12px}.adventure-equipment .equipped-slots{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.adventure-equipment .equip-slot{padding:4px 1px;min-height:55px;border-radius:9px;min-width:0}.adventure-equipment .equip-slot .art{--size:36px}.adventure-equipment .equip-slot b{font-size:9px;overflow:hidden;max-width:100%}.adventure-equipment .equip-slot small{display:none}.adventure-equipment>.collection-head:nth-of-type(2){display:none}.inventory-drawer{margin:7px 0;font-size:12px}.inventory-drawer summary{min-height:35px;padding:8px 10px}
.chest-card{margin:12px 0;border:2px solid #e4b65d;border-bottom:5px solid #bf9148;background:linear-gradient(145deg,#fff9d5,#ffe2a4);border-radius:22px;overflow:visible;display:grid;grid-template-columns:112px minmax(0,1fr)}.chest-card .panel-title{grid-column:1/-1;display:flex;align-items:center;padding:10px 12px 0;gap:8px}.chest-card .panel-title .eyebrow{display:none}.chest-card h2{font-size:19px;margin:0}.chest-art{height:130px;width:112px;align-self:start;margin-top:4px;position:relative;isolation:isolate}.chest-art .art{--size:106px}.chest-level{font-size:10px;white-space:nowrap;bottom:0;padding:5px 7px;background:#6c934b;border-color:#a2c565}.chest-body{padding:9px 12px 12px 0;min-width:0}.chest-body .progress{height:6px;margin-bottom:8px}.essence-row{font-size:11px;gap:4px;flex-wrap:wrap;margin:0 0 5px}.chest-body>.button{min-height:38px;font-size:14px;margin:5px 0;padding:7px}.chest-body>.button small{font-size:12px}.chest-note{display:none}.auto-chest-panel{padding:0;margin:8px 0 0;border:0;background:none}.auto-chest-panel summary{font-size:12px;min-height:32px;padding:7px 0;font-weight:700;color:#765629;cursor:pointer}.auto-chest-panel label{font-size:12px;display:grid;gap:5px}.auto-chest-panel select,.auto-sell select{width:100%;max-width:none;min-width:0;font-size:12px;min-height:38px}.auto-sell{flex-direction:column;align-items:stretch;gap:4px;margin-top:5px}.auto-sell label{font-size:12px}.auto-chest-panel small{font-size:11px;line-height:1.5}.auto-chest-panel p{font-size:12px}.chest-body .auto-chest-panel .button{font-size:12px;min-height:42px}
.view{margin:0}.button{min-height:44px;border-radius:13px;font-size:14px}.button.primary{background:linear-gradient(#f784a0,#d95180);border-color:#ce5074;box-shadow:inset 0 1px 0 #ffc6d5,0 3px 0 #a34565;color:white}.button.green{background:linear-gradient(#a4ce60,#6f9f3c);border-color:#779943;color:white;box-shadow:inset 0 1px 0 #d8f0ae,0 3px 0 #507d35}.button.gold{background:linear-gradient(#ffe697,#edba55);color:#755024;box-shadow:0 3px 0 #c18f3d}.collection-head{flex-wrap:wrap;gap:9px;margin:14px 0}.collection-head h2{font-size:21px}.collection-head p{font-size:14px;line-height:1.5;margin:6px 0}.card-grid,.class-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.item-card{padding:12px 9px;border-radius:18px}.item-card h3{font-size:17px}.item-card .button{font-size:12px;padding:8px 4px}.item-card>.art{--size:95px}.item-card p{font-size:13px;line-height:1.5}.item-card .tag{font-size:11px}.substat-list li{font-size:11px}.collection-actions{width:100%;display:flex;gap:8px}.collection-actions>.button{flex:1}.team-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;position:sticky;top:65px;z-index:9;background:#e4efd1;padding:7px 0}.team-tabs button{padding:10px 3px;min-height:42px;font-size:12px;background:#fff7d9;border:1px solid #d0c397;border-radius:12px;color:#576a42}.team-tabs .active{background:#779e42;color:white;border-color:#587d36}.systems-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.systems-grid button{display:grid;justify-items:center;gap:7px;padding:12px 3px;border:1px solid #e4c979;border-radius:16px;background:linear-gradient(#fffbe6,#f7dfad);color:#664e2d;min-height:103px;font-size:12px}.systems-grid .art{--size:58px}
dialog{width:calc(100% - 20px);max-width:510px;max-height:90dvh;padding:24px 18px;border:3px solid #e2ba71;border-radius:25px;background:#fff9e7;color:#314942;box-shadow:0 15px 80px #123e5866}dialog::backdrop{background:#153b4c9e;backdrop-filter:blur(4px)}dialog h2{font-size:25px;padding-right:20px}dialog p{font-size:14px;line-height:1.6}.modal-close{width:40px;height:40px;right:8px;top:7px;z-index:3}.toast{bottom:94px;font-size:14px;max-width:min(92vw,500px)}.dungeon-grid,.mission-grid,.guild-raid-grid{grid-template-columns:1fr}.summon-banner{display:block;padding:18px;border-radius:22px}.summon-banner h2{font-size:27px}.summon-banner p{font-size:14px}.summon-showcase .art{--size:112px}.summon-showcase .art+.art{--size:142px}.summon-actions{gap:8px}.summon-actions .button{font-size:13px}.rate-table{grid-template-columns:1fr}.rate-entry span,.rate-entry b{font-size:14px}.view-toolbar{flex-wrap:wrap;gap:5px}.tab-chip{font-size:12px;min-height:42px;padding:8px 12px}.festival-banner{padding:18px}.festival-banner h2{font-size:25px}.festival-banner>.art{--size:108px}.festival-banner p{font-size:14px}.class-card{padding:13px 10px}.class-card>.art{--size:132px}.class-card h3{font-size:23px}.class-card p{font-size:14px}.class-card .button{font-size:12px}.class-card .bonus{font-size:12px;min-height:55px}.evolutions li{font-size:12px}.mine-v6{padding:10px}.mine-v6-header{flex-wrap:wrap}.mine-v6-header p{font-size:14px}.mine-charge{width:100%;display:flex;justify-content:space-between;align-items:center}.mine-workspace,.mine-v6-upgrades{grid-template-columns:1fr}.crystal-upgrade{grid-template-columns:60px 1fr;text-align:left}.crystal-upgrade .art{margin:0}.mine-v6 .mine-footer{display:block}.mine-cavern{padding:29% 5% 7%}.mine-v6 .mine-footer p{font-size:14px}
@media(max-width:380px){.app-header{padding:7px 8px}.brand{font-size:21px}.brand small{display:none}.brand-symbol{font-size:25px}.currency{padding:5px}.currency b{font-size:12px}.currency i{font-size:13px}.shell{padding:0 7px}.skills-row{gap:4px}.skill-button .art{--size:37px}.arena{height:280px}.chest-card{grid-template-columns:100px minmax(0,1fr)}.chest-art{width:100px}.chest-art .art{--size:96px}}
@media(min-width:1000000px){html{background:linear-gradient(#296957c9,#244e45e0),url('assets/garden.png') center/cover fixed}body{border-left:2px solid #eed9a180;border-right:2px solid #eed9a180}.arena{height:360px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.chest-art.opening{animation:none}.chest-art.opening #chest-image{animation:chest-unlock 1s ease-out}.chest-rays{position:absolute;inset:12px 0;z-index:-1;border-radius:50%;background:conic-gradient(from 20deg,transparent,#fff8b0,transparent,#fff8b0,transparent,#fff8b0,transparent);opacity:0}.opening .chest-rays{animation:chest-rays 1.2s ease-out}.chest-drop{position:absolute;width:45px;height:45px;left:34px;top:40px;opacity:0;filter:drop-shadow(0 0 8px var(--glow));animation:chest-drop 1.4s ease-out;animation-delay:calc(var(--drop)*.1s);pointer-events:none}.chest-drop .art{--size:45px}.chest-batch-count{position:absolute;right:5px;top:12px;background:#89468f;color:white;border:2px solid #fff4b8;border-radius:99px;padding:5px;font-size:14px}.chest-unlocks{display:flex;gap:6px;margin:12px 0}.chest-unlocks span{flex:1;background:#e4e2d8;border:1px solid #c9c6b6;border-radius:12px;text-align:center;padding:8px 2px;color:#666;font-size:12px}.chest-unlocks b{display:block;font-size:20px}.chest-unlocks .unlocked{background:#fbd787;border-color:#c28e35;color:#70451d}.chest-reveal{position:relative;text-align:center;min-height:360px;overflow:hidden;padding-top:15px}.chest-reveal h2{padding:0}.reveal-chest{position:absolute;top:125px;left:50%;transform:translateX(-50%);animation:reveal-chest 1s ease-out both}.reveal-chest .art{--size:160px}.reveal-item{position:absolute;top:150px;left:50%;transform:translateX(-50%);animation:reveal-loot 1s ease-out both;filter:drop-shadow(0 0 20px var(--loot-glow))}.reveal-item .art{--size:110px}.reveal-rays{position:absolute;left:10%;right:10%;top:90px;bottom:50px;background:radial-gradient(ellipse,var(--loot-glow),transparent 65%);animation:loot-glow 1s ease-out}.chest-reveal p{position:absolute;bottom:0;left:0;right:0}.loot>.art{--size:125px}.chest-reveal~.button{margin-top:12px}
@keyframes chest-unlock{0%,15%{transform:rotate(-5deg)}8%,22%{transform:rotate(5deg)}40%{transform:scale(.9)}62%{transform:translateY(-9px) scale(1.13);filter:brightness(1.7)}100%{transform:none}}
@keyframes chest-rays{20%{opacity:0}50%{opacity:.9;transform:scale(1.2) rotate(10deg)}100%{opacity:0;transform:scale(1.5) rotate(45deg)}}
@keyframes chest-drop{25%{opacity:0;transform:translate(0,0) scale(.3)}50%{opacity:1;transform:translate(calc((var(--drop) - 1)*29px),-55px) scale(1)}85%{opacity:1}100%{opacity:0;transform:translate(calc((var(--drop) - 1)*38px),-76px) scale(.7)}}
@keyframes reveal-chest{0%,12%{transform:translateX(-50%) rotate(-5deg)}6%,18%{transform:translateX(-50%) rotate(5deg)}40%{transform:translateX(-50%) scale(.9);opacity:1}75%,100%{transform:translate(-50%,35px) scale(.6);opacity:0}}
@keyframes reveal-loot{0%,40%{opacity:0;transform:translateX(-50%) scale(.1)}75%{opacity:1;transform:translate(-50%,-28px) scale(1.14)}100%{opacity:1;transform:translate(-50%,-22px) scale(1)}}
@keyframes loot-glow{0%,30%{opacity:0;transform:scale(.5)}65%{opacity:1;transform:scale(1.2)}100%{opacity:.7;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.chest-drop,.chest-rays,.reveal-rays{display:none}.reveal-chest{display:none}.reveal-item{opacity:1;transform:translateX(-50%);animation:none}}
.cloud-strip{padding:9px 10px;gap:8px;margin-bottom:12px;font-size:13px;border-radius:13px}.cloud-strip small{font-size:11px}.cloud-strip .text-btn{font-size:11px}.territory-header{margin:8px 2px 12px;align-items:center}.territory-header h2{font-size:21px}.territory-header p{font-size:12px;margin:5px 0}.territory-header .guild-coins{font-size:17px;padding:9px;min-width:65px;text-align:center}.guild-coins small{display:block;font-size:11px}.territory-layout{display:block}.territory-scene{aspect-ratio:1.02;border-radius:22px;border-width:3px;box-shadow:0 5px 0 #a2b87e}.place-pin{min-height:37px;max-width:106px;white-space:normal;font-size:11px;padding:6px;border-radius:11px;gap:3px;line-height:1.15;text-align:center}.place-pin i{display:none}.territory-tip{font-size:11px;bottom:7px;left:7px;right:7px;padding:8px}.territory-tip small{display:none}.guild-progress-strip{margin:10px 0}.guild-progress-strip span{font-size:12px;width:100%;text-align:center}.guild-destinations{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 20px}.guild-destinations button{display:flex;align-items:center;text-align:left;gap:8px;min-height:68px;border:1px solid #ddc887;border-bottom:3px solid #c6ad72;border-radius:14px;background:linear-gradient(#fff9dd,#f8e8ba);padding:9px;color:#565f3a}.guild-destinations i{font-style:normal;font-size:24px;color:#ae618a}.guild-destinations b{display:block;font-size:12px}.guild-destinations small{display:block;font-size:10px;margin-top:3px}.guild-destinations strong{margin-left:auto;font-size:23px;color:#a78946}.clan-access .clan-welcome{display:flex;flex-direction:column;padding:20px;text-align:center}.clan-access .clan-welcome .art{--size:120px}.clan-access .clan-welcome h2{font-size:23px}.clan-access .clan-welcome p{font-size:14px}.clan-access .online-onboarding{padding:18px}.clan-access h2{font-size:22px}#clan-room{padding:0;width:min(100% - 12px,526px);max-height:calc(100dvh - 22px);border-radius:24px;overflow:auto;background:#fff7e1}.clan-room-hero{position:relative;isolation:isolate;padding:20px 18px 18px;min-height:178px;text-align:center;color:#fff4d0;border-radius:19px 19px 0 0;overflow:hidden;text-shadow:0 2px 5px #164537}.clan-room-hero::before{content:'';position:absolute;inset:0;z-index:-2;background:url('assets/guild-territory-v6.png') 50% 12%/200%;}.clan-room-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#21463144,#193f38ed)}.clan-room-hero>span{display:inline-block;margin-top:30px;font-size:34px;color:#ffe294}.clan-room-hero h2{font-size:27px;margin:4px 0;padding:0;color:#fff4d0}.clan-room-hero p{margin:3px 0;color:#fff4d0;font-size:13px}.room-back{position:absolute;top:12px;left:12px;min-height:38px;padding:7px 12px;border-radius:12px;border:1px solid #ffedb89a;background:#214b43c9;color:#fff4d0;font-size:14px}.room-shop::before{background-position:0 35%}.room-raids::before{background-position:95% 40%}.room-war::before{background-position:90% 95%}.room-garden::before{background-position:5% 95%}.room-weekly::before{background-position:100% 0}.room-content{padding:18px 14px}.room-content h2{font-size:23px;padding:0}.room-content h3{font-size:18px}.room-content p{font-size:14px;line-height:1.6}.room-content .clan-hall-grid,.room-content .guild-raid-grid{grid-template-columns:1fr}.room-content .clan-contribute,.room-content .clan-loot{padding:15px}.room-content .clan-welcome{display:block;padding:15px;text-align:center}.room-content .clan-welcome .art{--size:100px}.room-content .clan-welcome h2{font-size:23px}.room-content .guild-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.room-content .guild-shop-card{padding:12px 8px}.room-content .guild-shop-card .art{--size:76px}.room-content .guild-shop-card h3{font-size:16px}.room-content .guild-shop-card .button{font-size:12px;padding:8px 4px}.room-content .guild-raid-card .art{--size:130px}.room-content .notice,.room-purpose{font-size:14px;line-height:1.6}.room-purpose{padding:12px;border:1px solid #e0c88d;border-radius:13px;background:#ffedbd;margin-bottom:14px}.room-content .member-list{padding:8px}.room-content .member-row{gap:8px;flex-wrap:wrap}.room-content .member-row small{font-size:12px}.room-content .war-rival,.room-content .weekly-card{padding:13px}.room-content .war-ranking li{font-size:13px}.room-content .garden-tree{width:170px;height:170px}.room-content .online-onboarding{padding:15px}.room-content .guild-raid-card{padding:18px}.room-content .clan-search{display:flex;width:100%;gap:5px}.room-content input,.room-content select,.room-content textarea{max-width:100%;min-width:0}

/* mobile-v8.css */
/* Compact portrait adventure: battle, chest, skills, twelve equipment slots. */
.world-nav{padding:5px 10px calc(7px + env(safe-area-inset-bottom));gap:9px;background:linear-gradient(#fff7c8,#edc76e);border-top:3px solid #c39b47}
.world-nav button{height:64px;padding:1px;border:1px solid #dfbd69;border-bottom:3px solid #bc903b;background:linear-gradient(#fffbe9,#f9dc92);border-radius:18px;overflow:visible}
.world-nav button .art{--size:54px;filter:drop-shadow(0 3px 2px #6b533560);pointer-events:none}
.world-nav button.active{background:linear-gradient(#fbb7d0,#e7699d);border-color:#ca4d7f;box-shadow:0 0 0 2px #ffeec1,0 3px 0 #ae4567}
.world-nav button.active .art{transform:translateY(-5px) scale(1.08)}
.world-nav button:focus-visible{outline:3px solid #395bea;outline-offset:3px}
.battle-button[hidden]{display:none!important}
.arena{height:clamp(300px,43dvh,400px)}
.arena-top{z-index:6;padding:9px 10px}.area-label{display:flex;flex-direction:column;align-items:flex-start;max-width:calc(100% - 66px);gap:3px}
.area-label b{font-size:14px}.area-label small{font-size:12px;line-height:1.3}
.area-label .boss-retry{margin:0;padding:5px 10px;min-height:33px;width:auto;max-width:100%;font-size:13px;font-weight:800;color:#fff;background:linear-gradient(#fb6268,#c52546);border:1px solid #a52237;border-radius:11px;box-shadow:0 2px 0 #911d35}
.area-label .boss-retry:disabled{opacity:.8;background:#fff0d7;color:#be2740;box-shadow:none}.boss-retry[hidden]{display:none!important}
.wave-track{top:106px}.boss-banner{top:132px}.actor-hud.hero,.actor-hud.hero.mounted{top:43%}.actor-hud.enemy{top:44%}.arena-shortcuts{top:145px;right:6px}.arena-shortcuts button{width:45px;min-height:41px;font-size:18px}.arena-shortcuts small{font-size:9px}
.chest-card{margin:12px 0 8px;grid-template-columns:100px minmax(0,1fr);border-radius:20px}.chest-card .panel-title{padding:5px 10px 0}.chest-card h2{font-size:16px}.chest-card .round-button{width:28px;height:28px;min-height:28px}.chest-art{width:100px;height:112px;margin:0}.chest-art .art{--size:96px}.chest-body{padding:4px 10px 8px 0;display:grid;grid-template-columns:1fr 1fr;gap:4px}.chest-body .essence-row,.chest-body>.progress,.chest-body>.auto-chest-panel,.chest-body>.auto-sell{grid-column:1/-1}.chest-body>.button{width:100%;margin:1px 0;min-height:37px;font-size:12px;padding:5px}.chest-body>#auto-chest-button{grid-column:1/-1}.chest-body>.progress{margin:0}.chest-body>.essence-row{margin:0;font-size:10px}.chest-body>.auto-sell{display:none}.auto-chest-panel{margin:0}.auto-chest-panel summary{padding:4px 0;min-height:25px;font-size:12px}.auto-chest-panel .auto-sell{display:flex}.chest-body .auto-chest-panel .auto-sell label{font-size:12px}
.combat-controls{margin:8px 0 3px}.battle-options{margin:4px 0}.battle-message{margin:3px 0}.damage-panel{margin:5px 0}.skills-row .skill-button{height:44px}
.adventure-equipment .equipped-slots{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.adventure-equipment .equip-slot{min-height:63px;padding:4px 2px;border-radius:12px}.adventure-equipment .equip-slot .art{--size:41px}.adventure-equipment .equip-slot b{font-size:10px;white-space:normal}.equipment-art>span{inset:0;width:100%;height:100%;background-repeat:no-repeat}
.bag-toolbar{position:sticky;top:61px;z-index:8;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 6px;background:#fff3cb;border:1px solid #dbbd69;border-radius:12px;margin:8px 0}.bag-toolbar .button{min-height:40px;padding:7px 10px;font-size:12px}.bag-toolbar .button.primary{flex:1}.bag-toolbar .text-btn{font-size:12px}.item-select{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;margin:-3px -2px 8px;background:#fff8;border:1px solid var(--rarity-edge);border-radius:10px;font-size:13px;font-weight:600;cursor:pointer}.item-select input{width:20px;height:20px;accent-color:#c34489}.item-card:has(.item-select input:checked){outline:3px solid #d43986;outline-offset:-3px}.substat-list li{font-size:12px}.item-card h3{min-height:40px;font-size:16px}.item-card .equipment-art{--size:96px}
@media(max-width:380px){.world-nav{gap:6px}.world-nav button .art{--size:48px}.world-nav button{height:57px}.arena{height:310px}.adventure-equipment .equip-slot b{font-size:9px}}
@media(prefers-reduced-motion:reduce){.world-nav button.active .art{transform:none}}

/* garden-v9.css */
/* A clear garden stage, with the artwork and combat as the focus. */
.arena{background-image:url('assets/battle-garden-v9.png');background-position:50% 50%;background-size:cover;border-color:#e6cf8a;height:clamp(330px,45dvh,400px)}
.arena::before{background:linear-gradient(#25473288,transparent 34%);opacity:1}.arena::after{pointer-events:none}
.area-label .boss-retry,.area-label .boss-retry:disabled{display:block;background:none;border:0;border-radius:0;box-shadow:none;color:#ff6064;text-shadow:0 1px 2px #452a23;font-size:13px;line-height:20px;min-height:24px;padding:1px 0;margin:0;white-space:nowrap;width:auto;opacity:1}
.area-label .boss-retry:disabled{color:#ffe3d2;font-size:11px;font-weight:500}.area-label .boss-retry:hover:not(:disabled){color:#fff0a8;text-decoration:underline;transform:none}
.area-label .boss-retry:focus-visible{outline:2px solid #fff0af;outline-offset:2px}.wave-track{top:89px}.boss-banner{top:113px;font-size:13px}.actor-hud.hero,.actor-hud.hero.mounted,.actor-hud.enemy{top:36%}.actor-hud{filter:drop-shadow(0 1px 2px #314c45);pointer-events:none}.actor-hud b{font-size:12px}.actor-hud small{font-size:10px}.arena-shortcuts{top:126px}.arena-shortcuts button{background:#244c4566;border:1px solid #fff1b95c;backdrop-filter:blur(4px)}
.test-status{display:block;width:100%;border:1px solid #d2b16f;border-radius:10px;background:linear-gradient(100deg,#fff0c2,#ffdf9f);color:#865524;font:600 11px "Micelia Numerals",Fredoka,sans-serif;min-height:25px;margin:3px 0 5px;cursor:pointer}.test-status[hidden]{display:none}
.recovery-actions{display:grid;gap:10px;margin:20px 0}.recovery-card{padding:14px;border:1px solid #dcc788;border-radius:15px;background:#fff2d2;margin:12px 0}.recovery-card h3{margin:0;font-size:17px}.recovery-card p{margin:6px 0 12px}.recovery-card .button{width:100%}
.collection-card .art{filter:drop-shadow(0 5px 5px #594a392e)}.collection-card{background:linear-gradient(145deg,#fffbe9,#fff0c8);border-color:#dfc791}.collection-card h3{line-height:1.2}.chest-card{background:linear-gradient(125deg,#fffbed,#ffeec6)}
@media(min-width:1000000px){html{background:linear-gradient(#315c4938,#315c4990),url('assets/battle-garden-v9.png') center/cover fixed}}
@media(max-width:380px){.arena{height:330px}.area-label b{font-size:13px}}

.arena-top{top:0;left:0;right:0;padding:9px 11px;min-height:82px}.area-label{padding:6px 9px;gap:0;border-radius:12px;background:#fffbe6eb;box-shadow:0 2px 6px #24463828;max-width:calc(100% - 65px)}.area-label small{font-size:11px;line-height:16px}.area-label b{font-size:13px;line-height:18px}.area-label .boss-retry{color:#c5334b;text-shadow:none;line-height:20px;min-height:22px;font-size:12px}.area-label .boss-retry:disabled{color:#996849;text-shadow:none}.wave-track{top:92px}.actor-hud.hero,.actor-hud.hero.mounted,.actor-hud.enemy{top:37%}.arena-shortcuts{top:141px}
.mobile-hero{gap:5px}.mobile-hero #mobile-stats{font-size:12px;text-align:left;min-width:0}.mobile-hero #mobile-train{flex-shrink:0;display:grid;gap:1px;min-width:108px;min-height:45px;margin:4px 0 7px;border:2px solid #fff0a2;border-bottom:4px solid #bd752d;border-radius:14px;color:#654019;background:linear-gradient(#ffe588,#f8b74d);box-shadow:0 2px 7px #98743744,inset 0 1px #fff9d5;font-family:"Micelia Numerals",Fredoka,sans-serif}.mobile-hero #mobile-train span{font-size:16px;font-weight:600}.mobile-hero #mobile-train small{font-size:10px;font-weight:500}.training-burst{animation:train-burst .6s ease-out}@keyframes train-burst{30%{transform:scale(1.08);filter:brightness(1.25);box-shadow:0 0 20px #ffc62f}100%{transform:none}}
body[data-view=equipment] .equipped-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}body[data-view=equipment] .equip-slot{min-width:0}body[data-view=equipment] .equip-slot .art{--size:48px}body[data-view=equipment] .equip-slot small{font-size:10px}body[data-view=equipment] .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.systems-grid{grid-template-columns:1fr 1fr}
.summon-showcase{display:flex;justify-content:center;align-items:center;gap:18px;padding:10px 0!important;height:128px}.summon-showcase .art,.summon-showcase .art+.art{--size:106px;width:106px;height:106px;flex:0 0 106px;animation:none}.summon-showcase .art>span,.rate-entry .art>span,.summon-result .art>span{display:block;flex:none;max-width:100%;max-height:100%}.rate-entry>.art{--size:48px;width:48px;height:48px;flex:0 0 48px}.rate-entry>span:not(.art){min-width:0}.rate-entry b{font-size:12px;white-space:nowrap}.summon-result .art,.summon-results.single .art{--size:90px;width:90px;height:90px;flex-shrink:0}.summon-banner h2{font-size:25px}.summon-banner p{font-size:13px;line-height:1.5}.summon-banner{min-height:0}.summon-results.single{max-width:210px}.summon-results.single b{font-size:17px}
@media(prefers-reduced-motion:reduce){.training-burst{animation:none}}

/* festival-v10.css */
/* Events fit the game's portrait shell at every desktop and phone width. */
body[data-view=events] .festival-banner{display:grid;grid-template-columns:minmax(0,1fr) 104px;align-items:center;gap:12px;padding:18px 15px;min-height:0;border:1px solid #d9be85;border-radius:20px;background:linear-gradient(135deg,#fff8df,#f9e5d8);overflow:hidden}
body[data-view=events] .festival-banner>div{min-width:0;max-width:none}
body[data-view=events] .festival-banner>.art{position:relative;inset:auto;--size:104px;width:104px;height:104px;opacity:1;max-width:none;flex-shrink:0}
body[data-view=events] .festival-banner h2{font-size:24px;line-height:1.15;max-width:none;color:#634564;margin:7px 0}
body[data-view=events] .festival-banner p{font-size:13px;line-height:1.5;max-width:none;color:#5e6652;margin:0 0 12px}
body[data-view=events] .festival-banner .eyebrow{font-size:10px;letter-spacing:.06em;line-height:1.5;color:#835b42}
body[data-view=events] .festival-banner small{display:block;max-width:none;font-size:12px;line-height:1.5;color:#655932;margin-top:7px}
body[data-view=events] .festival-wallet{display:inline-block;padding:7px 11px;border-radius:11px;background:#fce1a1;color:#6d501f;font-size:15px;white-space:normal}
body[data-view=events] .event-intro{display:block;margin:20px 2px 16px;padding:0}
body[data-view=events] .event-intro h2{font-size:21px;line-height:1.25;margin-bottom:8px}
body[data-view=events] .event-intro p{font-size:13px;line-height:1.6;color:#506453;margin-bottom:12px}
body[data-view=events] .event-intro .button{min-height:40px;font-size:13px}
body[data-view=events] .mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}
body[data-view=events] .mission-card{min-width:0;padding:13px;border-radius:16px;background:#fff9e8;border:1px solid #d9ccab}
body[data-view=events] .mission-card .tiny{font-size:10px;line-height:1.4;color:#795d3a;display:block}
body[data-view=events] .mission-card h3{font-size:16px;line-height:1.35;min-height:44px;margin:8px 0 12px}
body[data-view=events] .mission-card>div:last-child{display:flex;flex-wrap:wrap;gap:7px;font-size:12px;color:#52634a}
body[data-view=events] .mission-card .button{width:100%;font-size:12px;min-height:36px}
body[data-view=events] .event-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;overflow:visible;white-space:normal;padding:0;margin:0 0 15px}
body[data-view=events] .event-tabs .tab-chip{white-space:normal;min-width:0;min-height:46px;padding:8px;font-size:12px;line-height:1.3;border-radius:12px}
body[data-view=events] .skin-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:15px}
body[data-view=events] .skin-card{display:grid;grid-template-columns:106px minmax(0,1fr);align-items:stretch;border:1px solid #d4c393;border-radius:18px;overflow:hidden;background:#fffcf1;min-width:0}
body[data-view=events] .skin-card.active{border-color:#6a9e55;box-shadow:inset 0 0 0 2px #a3c887}
body[data-view=events] .skin-art{padding:14px 7px;gap:13px;background:radial-gradient(ellipse,#fff0c8,#eedebc);justify-content:center;min-width:0}
body[data-view=events] .skin-art>.art{--size:94px;width:94px;height:94px;max-width:none;flex:0 0 94px}
body[data-view=events] .skin-art>span:last-child{font-size:9px;letter-spacing:.04em;line-height:1.6;color:#735738}
body[data-view=events] .skin-info{padding:16px 13px;min-width:0}
body[data-view=events] .skin-info h3{font-size:21px;line-height:1.2;margin:0 0 13px;color:#473f59;overflow-wrap:anywhere}
body[data-view=events] .skin-label{display:block;font-size:11px;line-height:1.5;color:#6f4689;margin-top:10px}
body[data-view=events] .skin-label.worn{color:#346746}
body[data-view=events] .skin-bonuses{margin:5px 0 12px;padding:0;list-style:none}
body[data-view=events] .skin-bonuses li{display:flex;justify-content:space-between;align-items:start;gap:7px;font-size:12px;line-height:1.5;color:#485b48;padding:5px 0;border-color:#ded4b7}
body[data-view=events] .skin-bonuses b{flex-shrink:0;white-space:nowrap;color:#315d3b}
body[data-view=events] .skin-info p{min-height:0;font-size:12px;line-height:1.6;margin:12px 0;color:#566048}
body[data-view=events] .skin-info .button{min-height:42px;white-space:normal;line-height:1.35;font-size:12px;padding:9px 7px}
body[data-view=events] .notice{font-size:13px;line-height:1.6;padding:14px}
.fusion-link{margin:7px 0 12px;background:linear-gradient(#ede0ff,#d6b8ef);color:#5f327f;border:1px solid #ad84c7;font-size:13px}
.copy-count{display:block;font-size:12px;color:#5c486f;margin:8px 0}
.fusion-result{border:1px solid var(--rarity-edge);border-radius:18px;background:linear-gradient(140deg,var(--rarity-light),var(--rarity-base));text-align:center;padding:13px;margin:15px 0;color:var(--rarity-ink)}
.fusion-result .art{--size:90px;width:90px;height:90px}.fusion-result h3{font-size:22px;margin:4px 0 8px}.fusion-result .tag{background:#fffc}
.fusion-select{display:grid;gap:7px;font-size:13px;font-weight:600}.fusion-select select{width:100%;min-width:0;padding:11px 7px;background:#fffdf5;border:1px solid #d7c397;border-radius:10px;font-size:13px;color:#4d5e47}
.fusion-materials{display:flex;align-items:center;justify-content:center;gap:10px;margin:17px 0}.fusion-materials .art{--size:51px;width:51px;height:51px;flex:0 0 51px;border:1px solid #c9b7d9;border-radius:10px;background:#f1e6fa}
.fusion-rule{background:#fff0ce;padding:12px;border-radius:12px;font-size:13px!important;line-height:1.6;margin-bottom:15px}.fusion-feedback{padding:12px;border:1px solid #d1b478;border-radius:12px;background:#fff0d0;color:#704d25;margin:12px 0;font-size:14px;line-height:1.5}.fusion-feedback.success{background:#e4f5d8;border-color:#9bbe7f;color:#375c29}
.fusion-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid #ccb4df;border-radius:14px;background:#f4e8ff;margin:15px 0}.fusion-intro p{font-size:12px;line-height:1.5}.fusion-intro .button{font-size:12px;flex-shrink:0}
@media(max-width:370px){body[data-view=events] .festival-banner{grid-template-columns:minmax(0,1fr) 82px;padding:14px 11px;gap:8px}body[data-view=events] .festival-banner>.art{width:82px;height:82px;--size:82px}body[data-view=events] .skin-card{grid-template-columns:85px minmax(0,1fr)}body[data-view=events] .skin-art>.art{width:74px;height:74px;--size:74px;flex-basis:74px}body[data-view=events] .skin-info{padding:13px 10px}body[data-view=events] .skin-info h3{font-size:19px}body[data-view=events] .skin-bonuses li{font-size:11px}.fusion-intro{display:block}.fusion-intro .button{margin-top:10px;width:100%}}

/* immersive-v10.css */
/* A continuous game viewport. Only secondary collection panels scroll. */
:root{--hud-height:50px;--nav-height:65px;--skill-height:54px;--deck-height:255px;--hero-height:40px}
html{height:100%;overflow:hidden;background:#264f43}
body{height:100dvh;min-height:0;max-width:none;width:100%;margin:0!important;padding:env(safe-area-inset-top) 0 0!important;overflow:hidden;display:grid;grid-template-rows:var(--hud-height) minmax(0,1fr);border:0;background:#e9dfae}
.app-header{height:var(--hud-height);min-height:0;position:relative;flex-wrap:nowrap;padding:4px 10px;gap:7px;border-bottom:2px solid #b89654;background:linear-gradient(100deg,#fff4c8,#e7cd8e);box-shadow:0 2px 8px #213d3c33}
.brand{font-size:23px;gap:4px;line-height:1;flex:1;min-width:0}.brand small{font-size:9px;margin-top:4px}.brand-symbol{font-size:27px}.top-currencies{gap:4px}.currency{padding:5px 7px;box-shadow:inset 0 1px 3px #a2794326}.currency b{font-size:12px}.app-header>.round-button{height:34px;width:34px;min-width:34px}
.shell{position:relative;display:flex;flex-direction:column;width:100%;min-height:0;padding:0 0 calc(var(--nav-height) + env(safe-area-inset-bottom));overflow:hidden;background:linear-gradient(#dae9c8,#f2dfae)}
.world-nav{position:absolute;left:0;bottom:0;transform:none;width:100%;height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding:5px max(10px,calc((100% - 620px)/2)) max(5px,env(safe-area-inset-bottom));gap:7px;border-radius:0;border-top:3px solid #b89050;background:linear-gradient(#f5dfa3,#cfad6c);box-shadow:0 -3px 12px #60452633;align-items:center}
.world-nav button{height:51px;min-height:44px;border-radius:15px;padding:0;background:linear-gradient(#fff2c3,#e9c27d)}
.world-nav button .art{--size:46px}.world-nav button.active .art{transform:translateY(-2px) scale(1.04)}
#adventure-view{height:100%;min-height:0;margin:0;flex:1}#adventure-view[hidden],#other-view[hidden]{display:none!important}
.battle-column{height:100%;min-height:0;display:grid;grid-template-rows:var(--hero-height) minmax(0,1fr) var(--skill-height) var(--deck-height);gap:0;overflow:hidden}
.test-status{display:none!important}.mobile-hero{grid-row:1;min-height:0;height:100%;padding:2px 9px;gap:6px;background:linear-gradient(#446d58,#305442);border-bottom:1px solid #dfd391;color:#fff4c8}
.mobile-hero #mobile-stats{color:#fff4cf;font-size:12px;min-height:32px;padding:0;text-shadow:0 1px 2px #244638;white-space:normal;line-height:1.2;flex:1}
.mobile-hero #mobile-train{min-width:102px;min-height:33px;height:34px;margin:0;padding:1px 8px;border-width:1px 1px 3px;border-radius:11px;gap:0;box-shadow:inset 0 1px #fffbd1,0 1px 4px #142d3866}
.mobile-hero #mobile-train span{font-size:14px;line-height:16px}.mobile-hero #mobile-train small{font-size:10px;line-height:11px}
.arena{grid-row:2;height:auto!important;min-height:0;max-height:none;border:0;border-radius:0;margin:0;box-shadow:none;background-position:50% 65%;overflow:hidden}
.arena::before{background:linear-gradient(#213f3866,transparent 50%)}
.arena-top{top:0;left:0;right:0;padding:5px 8px;min-height:0;justify-content:center;pointer-events:none}
.area-label{padding:0 8px;max-width:calc(100% - 96px);width:auto;align-items:center;gap:0;background:none;box-shadow:none;border-radius:0;color:#fff9d7;text-shadow:0 1px 3px #203a36;pointer-events:auto}
.area-label b{font-size:13px;line-height:17px;color:#fff6cc}.area-label small{font-size:11px;line-height:15px;color:#fff9db;white-space:nowrap}
.area-label .boss-retry,.area-label .boss-retry:disabled{font-size:12px;line-height:19px;min-height:19px;padding:0;text-shadow:0 1px 2px #fff3b8;color:#b62139;background:#fff2c9de;border-radius:6px;padding-inline:7px}
.area-label .boss-retry:disabled{color:#5f472c;font-size:11px}.arena-top>[data-action=map]{position:absolute;right:7px;top:5px;min-height:29px;height:29px;font-size:11px;padding:3px 7px;pointer-events:auto}
.wave-track{top:59px;gap:3px}.wave-node{height:18px;width:18px;font-size:10px;border-width:1px}.wave-line{width:17px;height:3px}.boss-banner{top:80px;font-size:12px}
.actor-hud.hero,.actor-hud.hero.mounted,.actor-hud.enemy{top:35%;width:125px;max-width:33%}.actor-hud.hero,.actor-hud.hero.mounted{left:10%}.actor-hud.enemy{right:10%}.actor-hud b{font-size:11px}.actor-hud small{font-size:10px}.hp-track{height:8px}
.arena-shortcuts{top:89px;right:5px;gap:5px;z-index:7}.arena-shortcuts button{width:43px;min-height:43px;height:45px;position:relative;background:linear-gradient(#fff1c7df,#e8bd75d9);border:1px solid #a9804e;border-radius:11px;box-shadow:0 2px 2px #27473844;display:grid;place-items:center;padding:0}
.arena-shortcuts .art{--size:34px;filter:drop-shadow(0 2px 1px #4e482455);pointer-events:none}.arena-shortcuts small{font-size:9px;position:absolute;bottom:-2px;background:#fff0ccec;border-radius:5px;padding:1px 3px;line-height:11px;color:#59452b}
.arena-note{bottom:7px;left:7px}.arena-note .glass{min-height:29px;height:29px;font-size:12px;padding:3px 8px}.enemy-state{bottom:7px;right:8px;font-size:10px;line-height:13px}.battle-message{display:none}
.combat-controls{grid-row:3;display:grid;grid-template-columns:42px minmax(0,1fr);gap:5px;align-items:center;margin:0;padding:4px 8px;background:linear-gradient(#406545,#213f35);border-top:2px solid #e4c471;border-bottom:2px solid #aa8040;z-index:2}
.battle-options{margin:0;min-height:0;display:block}.battle-options>span{display:none}.battle-options label{position:relative;display:grid;place-items:center;width:39px;height:39px;border:2px solid #d5b46b;border-radius:50%;background:linear-gradient(#9f864f,#6d582f);box-shadow:inset 0 1px 4px #fff6c357;color:#fff5cc;font-size:10px;font-weight:700;cursor:pointer;line-height:1}
.battle-options label:has(input:checked){background:linear-gradient(#d8ec9c,#639952);color:#254a31;border-color:#eddda0}.battle-options input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.battle-options label:has(input:focus-visible){outline:3px solid #fff;outline-offset:1px}
.skills-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;align-items:center}
.skills-row .skill-button{height:41px;min-height:0;width:100%;max-width:48px;aspect-ratio:1;justify-self:center;border-radius:50%;border:2px solid #dcbd71;background:radial-gradient(#91b3a1,#284f47);padding:0;box-shadow:0 2px 0 #122e29,inset 0 0 8px #1e4038;overflow:hidden}
.skill-button .art{--size:36px;pointer-events:none}.skill-button small{display:none}.skill-button.empty{color:#ecd7a0;font-size:22px}.skill-cd{border-radius:50%;font-size:16px}
.guardian-deck{grid-row:4;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 109px;background:linear-gradient(115deg,#f6eccb,#e7d19a);border-top:1px solid #fffae0;overflow:hidden}
.equipment-deck{min-height:0;padding:0 9px 5px;position:relative;background:linear-gradient(#fff6dc80,#d2b87922)}
.damage-panel{height:26px;min-height:0;display:flex;justify-content:space-between;align-items:center;margin:0;padding:2px 1px;border:0;border-radius:0;background:none;gap:10px;box-shadow:none}.damage-panel>div{display:flex;align-items:baseline;gap:5px}.damage-panel span{font-size:9px;white-space:nowrap}.damage-panel b{font-size:12px;white-space:nowrap}.damage-panel>div:nth-child(2){display:none}
.adventure-equipment{height:calc(100% - 26px);margin:0;padding:0;display:block;min-height:0}.adventure-equipment>.collection-head{display:none}
.adventure-equipment .equipped-slots{height:100%;margin:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:5px}
.adventure-equipment .equip-slot{position:relative;min-height:0;height:100%;padding:0;border-radius:10px;border-width:2px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#eee5c6,#cfbe90);box-shadow:inset 0 1px 3px #fff9e7,0 1px 1px #97774444}
.adventure-equipment .equip-slot .art{--size:39px;max-height:100%;max-width:100%;pointer-events:none}.adventure-equipment .equip-slot b{position:absolute;bottom:1px;left:0;right:0;font-size:8px;line-height:10px;text-shadow:0 1px #fff8;pointer-events:none;background:#fffa;white-space:nowrap;text-align:center}.adventure-equipment .equip-slot small{display:none}
.chest-card{position:relative;height:109px;min-height:0;display:grid;grid-template-columns:110px minmax(0,1fr);grid-template-rows:24px minmax(0,1fr);gap:0;margin:0;border-width:2px 0 0;border-radius:0;box-shadow:inset 0 2px #fff0bc;background:radial-gradient(ellipse at 13% 70%,#fff6c6,transparent 45%),linear-gradient(110deg,#cfad62,#e6c37c 52%,#f5dfaa);border-color:#b58d4c;overflow:visible}
.chest-card .panel-title{grid-column:2;grid-row:1;height:24px;min-height:0;padding:2px 8px 0 0;gap:4px;justify-content:start}.chest-card h2{font-size:13px;color:#60452e}.chest-card .panel-title .round-button{margin-left:auto;width:24px;min-width:24px;height:22px;min-height:22px;font-size:12px;padding:0}.chest-settings-button{width:26px;height:23px;border:1px solid #b89054;border-radius:8px;background:#fff0ca;color:#6b512d;font-size:16px;cursor:pointer}
.chest-art{grid-column:1;grid-row:1/-1;width:110px;height:103px;margin:0;align-self:end;display:flex;align-items:center;justify-content:center}.chest-art .art{--size:100px;filter:drop-shadow(0 4px 3px #8b64294d)}.chest-level{font-size:10px;line-height:14px;padding:1px 6px;bottom:0;border-radius:8px;background:#5b7c40;color:#fff7cc;border:1px solid #e3d395;z-index:2}
.chest-body{grid-column:2;grid-row:2;min-height:0;padding:2px 8px 6px 0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:4px 35px 23px;gap:4px}
.chest-body .essence-row{display:none}.chest-body>.progress{height:4px;grid-column:1/-1;margin:0}.chest-body>.button{height:35px;min-height:0;margin:0;padding:3px;font-size:12px;border-radius:10px;line-height:1.1;box-shadow:inset 0 1px #fff7,0 2px 0 #a97439}
.chest-body>#auto-chest-button{grid-row:2;grid-column:2;height:35px;font-size:11px;white-space:normal;background:linear-gradient(#dbedb9,#88af5b);color:#2a4c30;border-color:#668b45}.chest-body>#auto-chest-button.green{background:linear-gradient(#fdce97,#dca160);color:#67452c}
.chest-body>#chest-upgrade-button{grid-column:1/-1;grid-row:3;height:22px;font-size:11px;background:none;border:0;box-shadow:none;text-decoration:underline;color:#72572b;padding:0}.chest-note{display:none}
.chest-drop{left:35px;top:29px}.chest-art.opening #chest-image{transform-origin:50% 85%}
#chest-settings .auto-chest-panel{display:block;background:none;border:0;padding:0;margin-top:12px}#chest-settings summary{display:none}#chest-settings label{font-size:14px;margin-top:14px}#chest-settings select{font-size:14px;min-height:44px}#chest-settings p{font-size:14px}#chest-settings small{font-size:12px}#chest-settings .auto-sell{display:flex}
.page-intro{flex:none;margin:0;padding:11px 14px 8px;background:#f7eccb;border-bottom:1px solid #d7c18c}.page-intro h1{font-size:23px}
#other-view{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 12px 24px;scroll-padding-top:12px}.team-tabs{top:0}.bag-toolbar{top:0}.toast{bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + 8px);padding:9px 14px;font-size:12px;max-width:min(90vw,480px)}
.app-header{width:100%;max-width:none;margin:0}
.guardian-deck,.equipment-deck,.chest-card{overflow:clip}
button:focus-visible{outline:3px solid #276c9b;outline-offset:1px}
@media(max-width:400px){.brand{font-size:21px}.brand small{display:none}.brand-symbol{font-size:23px}.app-header{padding-inline:8px}.currency{padding:4px 5px}.currency b{font-size:11px}.skill-button .art{--size:33px}.skills-row{gap:4px}.arena-shortcuts{right:4px}.adventure-equipment .equip-slot b{font-size:8px}}
@media(max-height:740px) and (max-width:1000000px){:root{--hud-height:44px;--hero-height:35px;--skill-height:46px;--deck-height:223px;--nav-height:57px}.world-nav button{height:44px}.world-nav button .art{--size:40px}.skills-row .skill-button{height:36px}.skill-button .art{--size:32px}.battle-options label{height:34px;width:34px}.guardian-deck{grid-template-rows:minmax(0,1fr) 99px}.chest-card{height:99px}.chest-art{height:95px}.chest-art .art{--size:92px}.damage-panel{height:22px}.adventure-equipment{height:calc(100% - 22px)}.adventure-equipment .equipped-slots{gap:3px}.adventure-equipment .equip-slot .art{--size:34px}.arena-shortcuts{top:81px;gap:3px}.arena-shortcuts button{height:35px;min-height:35px;width:36px}.arena-shortcuts .art{--size:28px}.arena-shortcuts small{font-size:8px}.actor-hud.hero,.actor-hud.hero.mounted,.actor-hud.enemy{top:40%}.wave-track{top:58px}}
@media(min-width:1000000px), (min-width:1000000px) and (max-height:520px){:root{--hud-height:58px;--nav-height:72px;--hero-height:48px;--skill-height:72px}.app-header{padding-inline:22px}.brand{font-size:27px}.brand small{font-size:10px}.currency{min-width:88px;padding:6px 12px}.currency b{font-size:15px}.battle-column{grid-template-columns:minmax(0,1fr) minmax(300px,29%);grid-template-rows:var(--hero-height) minmax(0,1fr) var(--skill-height)}.mobile-hero{grid-column:1/-1;grid-row:1;padding-inline:20px}.mobile-hero #mobile-stats{font-size:15px}.mobile-hero #mobile-train{width:155px}.arena{grid-column:1;grid-row:2}.combat-controls{grid-column:1;grid-row:3;padding:6px max(15px,calc((100% - 580px)/2));grid-template-columns:48px minmax(0,1fr);gap:14px}.skills-row .skill-button{max-width:57px;height:54px}.skill-button .art{--size:48px}.battle-options label{height:46px;width:46px;font-size:12px}.guardian-deck{grid-column:2;grid-row:2/4;grid-template-rows:minmax(0,1fr) 170px;border-left:3px solid #b89352;border-top:0}.equipment-deck{padding:12px}.damage-panel{height:44px;flex-wrap:wrap;gap:3px}.damage-panel span{font-size:10px}.damage-panel b{font-size:14px}.adventure-equipment{height:calc(100% - 44px);display:flex;flex-direction:column}.adventure-equipment>.collection-head{display:flex;margin:0 0 9px;height:26px;flex:none}.adventure-equipment>.collection-head h2{font-size:17px}.adventure-equipment>.collection-head .text-btn{font-size:12px}.adventure-equipment .equipped-slots{flex:1;min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:8px}.adventure-equipment .equip-slot .art{--size:clamp(45px,7vh,70px)}.adventure-equipment .equip-slot b{font-size:11px;line-height:16px;bottom:2px}.chest-card{height:170px;grid-template-columns:110px minmax(0,1fr);grid-template-rows:36px minmax(0,1fr);align-content:center}.chest-card .panel-title{height:36px}.chest-card h2{font-size:14px}.chest-art{height:150px;align-self:center}.chest-art .art{--size:110px}.chest-level{bottom:10px}.chest-body{grid-template-columns:1fr;grid-template-rows:4px 38px 34px 23px;gap:5px}.chest-body>.button{height:38px}.chest-body>#auto-chest-button{grid-column:1;grid-row:3;height:34px}.chest-body>#chest-upgrade-button{grid-row:4}.arena-top{padding-top:10px}.area-label b{font-size:18px;line-height:22px}.area-label small{font-size:13px;line-height:20px}.area-label .boss-retry{font-size:14px;min-height:24px}.wave-track{top:83px}.wave-node{width:24px;height:24px;font-size:12px}.wave-line{width:29px}.boss-banner{top:115px}.arena-shortcuts{top:124px;right:13px;gap:10px}.arena-shortcuts button{width:59px;height:58px}.arena-shortcuts .art{--size:46px}.arena-shortcuts small{font-size:11px;line-height:14px}.actor-hud.hero,.actor-hud.hero.mounted,.actor-hud.enemy{top:36%;width:170px}.actor-hud b{font-size:14px}.actor-hud small{font-size:12px}.hp-track{height:11px}.world-nav button{height:56px}.world-nav button .art{--size:51px}.page-intro{padding-inline:max(20px,calc((100% - 1160px)/2))}#other-view{padding:0 max(20px,calc((100% - 1160px)/2)) 28px}.card-grid,.class-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1000000px) and (max-height:650px), (min-width:1000000px) and (max-height:520px){.guardian-deck{grid-template-rows:minmax(0,1fr) 115px}.chest-card{height:115px;grid-template-rows:26px minmax(0,1fr)}.chest-card .panel-title{height:26px}.chest-art{height:105px}.chest-art .art{--size:93px}.chest-level{bottom:0}.chest-body{grid-template-columns:1fr 1fr;grid-template-rows:4px 34px 23px}.chest-body>#auto-chest-button{grid-column:2;grid-row:2}.chest-body>#chest-upgrade-button{grid-row:3}.adventure-equipment .equipped-slots{gap:4px}.adventure-equipment .equip-slot .art{--size:35px}.adventure-equipment .equip-slot b{font-size:9px;line-height:11px}.damage-panel{height:28px}.adventure-equipment{height:calc(100% - 28px)}.adventure-equipment>.collection-head{display:none}.arena-shortcuts{top:113px;gap:5px}.arena-shortcuts button{width:42px;height:40px}.arena-shortcuts .art{--size:33px}.arena-shortcuts small{font-size:9px}}
@media(max-height:620px) and (max-width:1000000px){:root{--deck-height:190px;--nav-height:52px;--skill-height:42px}.world-nav button{height:41px;min-height:38px}.world-nav button .art{--size:37px}.guardian-deck{grid-template-rows:minmax(0,1fr) 93px}.chest-card{height:93px}.chest-art{height:89px}.chest-art .art{--size:85px}.chest-body{grid-template-rows:4px 31px 18px;gap:3px}.chest-body>.button,.chest-body>#auto-chest-button{height:31px;font-size:10px}.chest-body>#chest-upgrade-button{height:18px;font-size:10px}.adventure-equipment .equip-slot .art{--size:30px}.adventure-equipment .equip-slot b{font-size:7px;line-height:9px}.skills-row .skill-button{height:33px}.skill-button .art{--size:29px}.battle-options label{height:32px;width:32px}.arena-shortcuts{top:81px;gap:3px}.area-label{max-width:calc(100% - 78px)}.area-label b{font-size:12px}.area-label small{font-size:10px}}

@media(min-width:1000000px) and (max-height:520px){:root{--hud-height:42px;--hero-height:35px;--skill-height:44px;--nav-height:50px}.battle-column{grid-template-columns:minmax(0,1fr) 260px}.guardian-deck{grid-template-rows:minmax(0,1fr) 99px}.equipment-deck{padding:3px 7px}.damage-panel{height:22px}.damage-panel span{font-size:8px}.damage-panel b{font-size:11px}.adventure-equipment{height:calc(100% - 22px)}.chest-card{height:99px;grid-template-columns:83px minmax(0,1fr)}.chest-art{width:83px;height:94px}.chest-art .art{--size:80px}.chest-card h2{font-size:12px}.chest-body>.button{font-size:11px}.combat-controls{padding:3px 12px;grid-template-columns:34px minmax(0,1fr);gap:5px}.skills-row .skill-button{height:34px;max-width:35px}.skill-button .art{--size:30px}.battle-options label{width:32px;height:32px;font-size:10px}.world-nav{padding-inline:max(10px,calc((100% - 400px)/2))}.world-nav button{height:39px;min-height:38px}.world-nav button .art{--size:36px}.area-label b{font-size:13px;line-height:17px}.area-label small{font-size:10px;line-height:14px}.area-label .boss-retry{font-size:11px;min-height:19px}.arena-top{padding-top:3px}.wave-track{top:55px}.wave-node{width:18px;height:18px;font-size:10px}.wave-line{width:16px}.arena-shortcuts{top:78px}.arena-shortcuts button{width:34px;height:32px;min-height:32px}.arena-shortcuts .art{--size:27px}.actor-hud.hero,.actor-hud.hero.mounted,.actor-hud.enemy{top:40%;width:115px}.actor-hud b{font-size:10px}.actor-hud small{font-size:9px}.hp-track{height:7px}.mobile-hero #mobile-stats{font-size:12px}.mobile-hero #mobile-train{width:108px}}

/* alchemy-v11.css */
600;700;800&family=Lora:wght@400;500;600;700&display=swap');
:root{font-family:"Micelia Numerals",Lora,Georgia,serif}body,button,input,select,textarea{font-family:"Micelia Numerals",Lora,Georgia,serif}h1,h2,h3,.brand,.eyebrow,.fusion-chance,.alchemy-verdict>b,.pass-banner b{font-family:"Micelia Numerals",Cinzel,Georgia,serif;font-weight:700}.mobile-hero #mobile-train{font-family:"Micelia Numerals",Lora,Georgia,serif}.eyebrow{letter-spacing:.08em}.brand{font-size:22px}.brand small{font-family:"Micelia Numerals",Lora,Georgia,serif;letter-spacing:.02em}.area-label b{font-family:"Micelia Numerals",Cinzel,Georgia,serif;font-size:12px}.mobile-hero #mobile-stats{font-size:11px}.adventure-equipment .equip-slot b{font-family:"Micelia Numerals",Lora,Georgia,serif}.fusion-chance{display:block;font-size:14px;margin-top:7px}
[data-rarity="10"]{--rarity-light:#ffd8f2!important;--rarity-base:#ff76bd!important;--rarity-edge:#d81880!important;--rarity-ink:#631943!important}
[data-rarity="11"]{--rarity-light:#ddd9ff!important;--rarity-base:#9f94ff!important;--rarity-edge:#6036e2!important;--rarity-ink:#29136a!important;box-shadow:inset 0 0 13px #a876ff65,0 0 7px #6d45ed66!important}
[data-rarity="12"]{--rarity-light:#cefff4!important;--rarity-base:#4fe8bc!important;--rarity-edge:#069e87!important;--rarity-ink:#084a45!important;box-shadow:inset 0 0 17px #62ffc877,0 0 9px #03dcb477!important}
[data-rarity="13"]{--rarity-light:#f4d7ff!important;--rarity-base:#ce82fa!important;--rarity-edge:#a01fe1!important;--rarity-ink:#571271!important;box-shadow:inset 0 0 20px #ec99ff88,0 0 12px #c14ffb88!important}
[data-rarity="14"]{--rarity-light:#fffad0!important;--rarity-base:#ffe053!important;--rarity-edge:#de9600!important;--rarity-ink:#593405!important;box-shadow:inset 0 0 23px #fff4a0cc,0 0 15px #ffcb4099!important}
[data-rarity="11"]>.art,[data-rarity="12"]>.art,[data-rarity="13"]>.art,[data-rarity="14"]>.art{filter:drop-shadow(0 0 5px var(--rarity-edge))}
.forge-target,.fusion-result,.fusion-cinematic{background:linear-gradient(135deg,var(--rarity-light,#fff4d3),var(--rarity-base,#ecd395));border:2px solid var(--rarity-edge,#bb9652);color:var(--rarity-ink,#604825)}
.workshop,.passes-view{padding:16px 0 28px}.alchemy-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.alchemy-heading>.art{--size:82px}.alchemy-heading h2,.pass-heading h2{font-size:24px;margin:5px 0}.alchemy-heading p,.pass-heading p{font-size:14px;line-height:1.7}.workshop-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 18px}.workshop-tabs .active{background:#8563b4;color:#fff;border-color:#664991}.workshop-field,.forge-selectors label{display:grid;gap:7px;font-size:14px;font-weight:600}.workshop-field select,.forge-selectors select{width:100%;min-width:0;min-height:44px;padding:7px;font-size:14px;background:#fff8e5;border:1px solid #cbb888;border-radius:10px;color:#4a4733}.forge-selectors{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.forge-target{padding:20px 16px;border-radius:20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:9px;overflow:hidden}.forge-target>.art{--size:106px}.forge-target h3{font-size:19px;line-height:1.35}.forge-target p{font-size:14px;line-height:1.6;max-width:520px}.forge-target .tag{font-size:13px}.forge-target .button{width:100%;max-width:350px;margin-top:5px}.fusion-target-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.fusion-result{display:flex;gap:14px;align-items:center;padding:13px;border-radius:16px;margin:15px 0;text-align:left}.fusion-result>.art{--size:78px;flex:none}.fusion-result h3{font-size:19px;line-height:1.4;margin:0 0 6px}.fusion-instructions{font-size:14px!important;line-height:1.6!important}.fusion-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 8px}.fusion-slots button{height:65px;min-width:0;display:grid;place-items:center;background:radial-gradient(#fbf4e2,#e9d4a2);border:2px solid #b99a61;border-radius:14px;box-shadow:inset 0 0 6px #b1996b55;color:#87764e;font-size:28px}.fusion-slots button .art{--size:51px;pointer-events:none}.fusion-slots button:disabled{opacity:.7}.fusion-selection-head{display:flex;gap:8px;align-items:center;margin:8px 0 12px;font-size:12px;flex-wrap:wrap}.fusion-selection-head b{margin-right:auto}.fusion-selection-head .text-btn{font-size:12px;min-height:34px;color:#67448b}.fusion-picker{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:260px;overflow:auto;padding:2px 4px 8px}.fusion-material{display:flex;align-items:center;gap:5px;min-height:72px;padding:7px;border:1px solid #d2bd88;border-radius:13px;background:#fff6de;text-align:left}.fusion-material.selected{border:2px solid #9763c7;background:#eadeff}.fusion-material .art{--size:41px;flex:none}.fusion-material>span{min-width:0;flex:1}.fusion-material b{display:block;font-size:12px;line-height:1.3}.fusion-material small{font-size:11px;display:block;margin-top:4px}.fusion-material strong{font-size:12px;background:#7846a5;color:#fff;border-radius:50%;padding:3px;min-width:20px;text-align:center}.fusion-material:disabled{opacity:.6}.fusion-rule{padding:11px 12px;background:#f3e7cf;border-radius:12px;font-size:13px!important;margin:12px 0;line-height:1.6!important}.test-material-button{margin-top:12px}.fusion-demo{font-size:12px;margin-top:18px}.fusion-demo summary{cursor:pointer;line-height:1.6}.fusion-demo button{padding:10px}.fusion-feedback{font-size:14px;line-height:1.6}
.fusion-cinematic{text-align:center;position:relative;isolation:isolate;overflow:hidden;padding:24px 14px;border-radius:20px;min-height:410px}.fusion-cinematic h2{font-size:24px;padding:0;margin:12px 0;color:inherit}.fusion-cinematic .eyebrow{font-size:11px;color:inherit}.alchemy-orbit{height:210px;position:relative;display:grid;place-items:center;isolation:isolate}.alchemy-orbit>i{position:absolute;font-size:32px;font-style:normal;color:#fff4b0;text-shadow:0 0 10px #ffe8a3;animation:essence-gather 1s cubic-bezier(.5,0,.7,1) both;--angle:calc(var(--orbit)*90deg)}.alchemy-seal{font-family:"Micelia Numerals",Georgia,serif;font-size:175px;line-height:1;opacity:.7;color:var(--rarity-edge);animation:seal-turn 1.1s ease-in both}.alchemy-prize{position:absolute;inset:0;display:grid;place-items:center;opacity:0;animation:prize-bloom .65s 1s ease-out forwards;z-index:2}.alchemy-prize .art{--size:137px;filter:drop-shadow(0 0 14px #fff6bf)}.alchemy-burst{position:absolute;inset:10px;border-radius:50%;z-index:-1;background:repeating-conic-gradient(#fff9c1c7 0deg 9deg,transparent 12deg 27deg);opacity:0;animation:alchemy-rays 1.5s .85s ease-out forwards}.alchemy-verdict{opacity:0;animation:verdict-in .4s 1.1s ease-out forwards;min-height:85px}.alchemy-verdict>b{font-size:28px;letter-spacing:.08em}.alchemy-verdict p{font-size:14px;line-height:1.6;margin:10px 0;color:inherit}.fusion-cinematic>.button{margin-top:18px}.bloom-failure{background:radial-gradient(#eecefa,#b9abc8);border-color:#8d6ba5;color:#493758}.bloom-failure .alchemy-prize{animation:prize-scatter .9s .8s ease-out forwards}.bloom-failure .alchemy-burst{background:radial-gradient(#80568e88,transparent 70%);animation:failed-smoke 1s .8s forwards}.bloom-failure .alchemy-seal{animation:seal-break 1.5s both}.bloom-failure .alchemy-orbit>i{color:#e0d4ed}
@keyframes essence-gather{0%{opacity:0;transform:rotate(var(--angle)) translateX(90px) rotate(calc(-1*var(--angle))) scale(.5)}20%{opacity:1}70%{opacity:1;transform:rotate(calc(var(--angle) + 140deg)) translateX(60px) scale(1.2)}100%{opacity:0;transform:rotate(calc(var(--angle) + 240deg)) translateX(0) scale(.1)}}
@keyframes seal-turn{0%{transform:rotate(0) scale(.8)}80%{opacity:1;transform:rotate(150deg) scale(1.1)}100%{opacity:0;transform:rotate(200deg) scale(.2)}}
@keyframes prize-bloom{0%{opacity:0;transform:scale(.15) translateY(15px)}65%{opacity:1;transform:scale(1.16) translateY(-6px)}100%{opacity:1;transform:scale(1)}}
@keyframes alchemy-rays{0%{opacity:0;transform:scale(.2) rotate(0)}40%{opacity:1}100%{opacity:.65;transform:scale(1.1) rotate(50deg)}}
@keyframes verdict-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes seal-break{0%{transform:rotate(0);opacity:.7}50%{transform:rotate(75deg);opacity:1}65%,75%{transform:translateX(-7px) rotate(100deg)}70%,80%{transform:translateX(7px) rotate(100deg)}100%{transform:scale(1.3);opacity:.1}}
@keyframes prize-scatter{0%{opacity:0;transform:scale(.4)}30%{opacity:.65;filter:grayscale(.5)}100%{opacity:0;transform:translateY(25px) scale(.5);filter:grayscale(1) blur(9px)}}
@keyframes failed-smoke{0%{opacity:0;transform:scale(.2)}40%{opacity:1}100%{opacity:.15;transform:scale(1.4)}}
.pass-heading{margin-bottom:18px}.passes-view>.notice{font-size:14px;line-height:1.65;margin:0 0 20px}.pass-grid{display:grid;grid-template-columns:1fr;gap:22px}.pass-card{border:2px solid #c5a264;background:linear-gradient(#fff6df,#eadab7);border-radius:22px;overflow:hidden;padding:0 16px 18px}.pass-banner{display:flex;align-items:center;gap:12px;margin:0 -16px 16px;padding:20px 16px;background:radial-gradient(at 10% 10%,#fff6c7,#ebc579);border-bottom:2px solid #b99555}.pass-dungeon .pass-banner{background:radial-gradient(at 10% 10%,#d9f6e4,#76b89c)}.pass-banner>.art{--size:95px;flex:none;filter:drop-shadow(0 5px 7px #66462955)}.pass-banner h3{font-size:23px;margin:4px 0 9px;color:#514127}.pass-banner b{font-size:23px;color:#684921}.pass-banner small{font-size:12px}.pass-card>p{font-size:14px;line-height:1.7;margin:10px 0}.pass-validity{display:block;font-size:12px;line-height:1.6;margin:10px 0}.pass-card>.button{margin:10px 0}.pass-mission{padding:15px 0;border-top:1px solid #c9b27e;margin-top:18px}.pass-mission b,.pass-mission span{display:block;font-size:14px;margin:5px 0}.pass-mission small{font-size:12px}.pass-mission .progress{margin:10px 0}.pass-track{display:grid;gap:7px}.pass-step{display:grid;grid-template-columns:26px minmax(0,1fr) 106px;align-items:center;gap:7px;padding:8px;border:1px solid #d3bd8c;background:#fff7e3;border-radius:12px}.pass-step>b{font-family:"Micelia Numerals",Cinzel,serif;font-size:17px;text-align:center}.pass-step>span{font-size:13px}.pass-step>.button{min-height:35px;font-size:11px;padding:5px}.pass-step.ready{background:#e2f3c8;border-color:#90b768}.pass-step.claimed{opacity:.65}
@media(min-width:1000000px){.pass-grid{grid-template-columns:1fr 1fr}.fusion-target-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.workshop>.forge-target{max-width:580px;margin:20px auto}.forge-selectors{max-width:740px}.area-label b{font-size:17px}}
@media(max-width:380px){.fusion-picker{grid-template-columns:1fr}.fusion-material{min-height:58px}.fusion-slots button{height:53px}.fusion-slots .art{--size:43px}.forge-selectors{grid-template-columns:1fr}.fusion-target-grid{grid-template-columns:1fr}.alchemy-heading>.art{--size:60px}.alchemy-heading h2{font-size:21px}.mobile-hero #mobile-stats{font-size:10px}.brand{font-size:20px}.chest-body>.button{font-size:11px}.pass-banner>.art{--size:73px}.pass-banner h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){.alchemy-orbit>i,.alchemy-seal,.alchemy-burst{animation:none;display:none}.alchemy-prize,.alchemy-verdict{animation:none;opacity:1}.bloom-failure .alchemy-prize{opacity:.35;filter:grayscale(1)}.fusion-cinematic{scroll-behavior:auto}}
.pass-rewards{margin-top:8px}.pass-rewards summary{cursor:pointer;font-size:14px;font-weight:600;padding:13px 10px;background:#fff2cc;border:1px solid #d7bb7c;border-radius:10px}.pass-rewards[open] summary{margin-bottom:10px}
.swift-chests .chest-art.opening #chest-image,.swift-chests .reveal-chest,.swift-chests .reveal-item,.swift-chests .reveal-rays{animation-duration:.5s}.swift-chests .opening .chest-rays{animation-duration:.6s}.swift-chests .chest-drop{animation-duration:.7s;animation-delay:calc(var(--drop)*.05s)}

/* arena-v12.css */
.world-nav{grid-template-columns:repeat(6,minmax(0,1fr))!important}.pvp-banner{display:flex;align-items:center;gap:12px;padding:22px 18px;border-radius:22px;background:linear-gradient(125deg,#365c70,#368976 65%,#a7bc66);color:#fffbe0;border:2px solid #e8ca76;box-shadow:inset 0 0 30px #12353140}.pvp-banner h2{font-size:clamp(23px,5vw,34px);margin:4px 0}.pvp-banner p{margin:6px 0;line-height:1.5;color:#f1f6dd}.pvp-banner .eyebrow{color:#f9da8e;letter-spacing:.08em}.pvp-emblem{flex:0 0 84px;filter:drop-shadow(0 5px 10px #183b5d60)}.pvp-emblem .art{width:84px;height:84px}.pvp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.pvp-stats>div{padding:12px 6px;text-align:center;background:#fff9e9;border:1px solid #dfc884;border-radius:14px}.pvp-stats small{display:block;font-size:10px;color:#686441;letter-spacing:.04em}.pvp-stats b{display:block;font-size:25px;color:#355e53}.pvp-enroll{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:12px 0}.pvp-enroll p{font-size:12px;max-width:58%;line-height:1.5;margin:0}.pvp-enroll .button{flex-shrink:0}.pvp-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:18px 0 12px}.pvp-tabs button{border:1px solid #ccb97d;background:#f4e9cb;color:#625139;padding:10px 2px;border-radius:10px;font-weight:800;font-size:13px}.pvp-tabs button.active{background:#386c5a;color:#fff6cf;border-color:#234f41;box-shadow:0 3px 0 #244b40}.pvp-rivals{display:grid;gap:10px}.pvp-rival{display:flex;align-items:center;gap:10px;padding:12px;background:#fffaed;border:1px solid #dac492;border-radius:16px;min-width:0}.pvp-rival>.art{width:54px;height:54px;flex:0 0 54px}.pvp-rival>div{min-width:0;flex:1}.pvp-rival h3{margin:0 0 4px;font-size:16px;overflow-wrap:anywhere}.pvp-rival p{margin:0 0 4px;font-size:12px}.pvp-rival small{font-size:11px}.pvp-rival .button{font-size:12px;padding:9px 12px;min-height:40px}.pvp-foot{display:flex;gap:15px;align-items:center;margin:18px 0;color:#6a614a}.pvp-foot small{line-height:1.6;flex:1}.pvp-foot button{white-space:nowrap}.arena-empty{padding:26px 20px;text-align:center;line-height:1.6}.pvp-explainer{font-size:13px;line-height:1.6;margin:12px 0}.pvp-ranking{list-style:none;padding:0;margin:0}.pvp-ranking li,.pvp-prize,.pvp-history article{display:flex;gap:12px;align-items:center;padding:14px 12px;margin-bottom:8px;background:#fff9e9;border:1px solid #dfc994;border-radius:13px}.pvp-ranking li>span,.pvp-prize>div,.pvp-history article>span{flex:1;min-width:0;overflow-wrap:anywhere}.pvp-ranking small,.pvp-prize small,.pvp-history small{display:block;font-size:11px;color:#766749;margin-top:4px}.pvp-place{font-size:22px;min-width:35px;color:#a2731c}.pvp-ranking li.pvp-you{background:#e2f0d7;border-color:#78aa6e}.pvp-prizes{border:1px solid #dec88d;border-radius:14px;overflow:hidden;margin-bottom:20px}.pvp-prizes>div{display:flex;gap:10px;justify-content:space-between;padding:12px;background:#fff6db;border-bottom:1px solid #e9dab6;font-size:12px}.pvp-prizes>div:first-child{background:#f4dda0}.pvp-prizes b{min-width:85px}.positive{color:#35744a}.negative{color:#b74f48}.pvp-history strong{font-size:13px}.pvp-content{min-height:110px}.pvp-banner~.notice{margin-top:12px}#install-game{margin-top:14px}
@media(max-width:1000000px){.pvp-banner{padding:18px 12px;gap:8px}.pvp-emblem{flex-basis:62px}.pvp-emblem .art{width:62px;height:62px}.pvp-banner p{font-size:12px}.pvp-enroll{gap:7px}.pvp-enroll .button{font-size:11px;padding:10px}.pvp-rival{gap:7px;padding:10px}.pvp-rival>.art{width:40px;height:40px;flex-basis:40px}.pvp-rival h3{font-size:14px}.pvp-prizes>div{font-size:11px}.world-nav button{min-width:0}}

.pvp-emblem .art{--size:84px}.pvp-rival>.art{--size:54px}@media(max-width:1000000px){.pvp-emblem .art{--size:62px}.pvp-rival>.art{--size:40px}}

/* progression-v13.css */
/* Skill controls belong to the scene; no separate green strip consumes height. */
.battle-column{grid-template-rows:var(--hero-height) minmax(0,1fr) var(--deck-height)}
.guardian-deck{grid-row:3}
.arena>.combat-controls{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);width:min(94%,490px);height:54px;grid-template-columns:40px minmax(0,1fr);padding:3px 5px;gap:6px;z-index:9;background:none;border:0;box-shadow:none}
.arena>.combat-controls .skill-button{background:radial-gradient(#496959bf,#132e25bd);box-shadow:0 3px 8px #142b2670,inset 0 1px 4px #fff4ba70;border:2px solid #edce7e;height:43px;max-width:46px}
.arena .arena-note,.arena .enemy-state{bottom:70px}.arena .enemy-state{max-width:60%}
.arena .battle-options label{box-shadow:0 3px 7px #17392f88}
.account-gate{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:linear-gradient(#173f3877,#173f38cf),url('assets/battle-garden-v9.png') center/cover;overflow:auto}
.account-gate[hidden]{display:none}.account-card{width:min(100%,470px);max-height:90dvh;overflow:auto;background:#fff6d9;border:2px solid #d4b966;border-radius:22px;padding:25px;box-shadow:0 20px 80px #122e3777;line-height:1.6;color:#355649}.account-card h2{font-size:26px;line-height:1.2}.account-card p{font-size:15px}.account-card .clan-welcome{display:block;padding:0;box-shadow:none;border:0;background:none}.account-card .clan-welcome>div:first-child{display:none}.account-card .online-onboarding{padding:0;box-shadow:none;border:0;background:none}.account-card .button{margin-top:10px}.account-card .eyebrow{font-size:11px}.account-locked .shell{pointer-events:none}
.chest-xp-notice{font-size:13px;color:#426340;margin:10px 0;font-weight:700}
@media(min-width:1000000px),(min-width:1000000px) and (max-height:520px){.battle-column{grid-template-rows:var(--hero-height) minmax(0,1fr)}.guardian-deck{grid-row:2}.arena>.combat-controls{height:65px;bottom:14px;width:min(90%,550px);grid-template-columns:44px minmax(0,1fr);gap:12px}.arena>.combat-controls .skill-button{height:51px;max-width:54px}.arena .arena-note,.arena .enemy-state{bottom:86px}}
@media(max-width:380px){.arena>.combat-controls{gap:4px;width:98%;grid-template-columns:34px minmax(0,1fr)}.arena>.combat-controls .skill-button{height:37px;max-width:39px}.arena>.combat-controls .skill-button .art{--size:32px}.arena>.combat-controls .battle-options label{width:33px;height:33px}}
@media(max-height:620px) and (max-width:1000000px){.arena>.combat-controls{height:40px;bottom:5px}.arena>.combat-controls .skill-button{height:33px;max-width:35px}.arena .arena-note,.arena .enemy-state{bottom:48px}}

/* world-v14.css */
.mobile-hero .pass-shortcut{order:2;background:linear-gradient(135deg,#673bb0,#b35bc7);color:#fff3ba;border:1px solid #ffe29c;border-radius:10px;font-weight:800;padding:5px 9px;min-height:34px;box-shadow:inset 0 1px #fff7,0 0 9px #e0a24455;white-space:nowrap}.mobile-hero #mobile-train{order:3}.mobile-hero #mobile-stats{min-width:0;flex:1}.territory-places .place-pin{min-height:44px;touch-action:manipulation;cursor:pointer}.territory-scene canvas{touch-action:none}.territory-places .place-pin.selected{filter:drop-shadow(0 0 6px #fff1a3)}
[data-rarity]{position:relative;isolation:isolate}[data-rarity]>.art{filter:drop-shadow(0 1px 1px #33201944)}[data-rarity="3"],[data-rarity="4"],[data-rarity="5"]{box-shadow:inset 0 0 9px #fff8,0 0 4px var(--rarity-edge)}[data-rarity="6"],[data-rarity="7"],[data-rarity="8"]{box-shadow:inset 0 0 15px #fffc,0 0 8px var(--rarity-edge)}[data-rarity="9"],[data-rarity="10"],[data-rarity="11"]{box-shadow:inset 0 0 18px #fff,0 0 12px var(--rarity-edge);animation:rarity-pulse 3s ease-in-out infinite}[data-rarity="10"]>.art,[data-rarity="11"]>.art{filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 8px var(--rarity-edge))}[data-rarity="11"]{background:linear-gradient(130deg,#7155e1,#bdeaff,#ddadff,#7267ff)!important;border-color:#fff0b0!important}[data-rarity="9"]:after,[data-rarity="10"]:after,[data-rarity="11"]:after{content:'✦';position:absolute;right:4px;top:3px;color:white;text-shadow:0 0 6px #fff,0 0 10px var(--rarity-edge);pointer-events:none;animation:spark-turn 2.8s ease-in-out infinite}
@keyframes rarity-pulse{50%{box-shadow:inset 0 0 20px #fff,0 0 16px var(--rarity-edge)}}@keyframes spark-turn{50%{opacity:.35;transform:scale(.7) rotate(90deg)}}@media(prefers-reduced-motion:reduce){[data-rarity],[data-rarity]:after{animation:none!important}}
.astral-link{width:100%;margin:0 0 16px;padding:16px;border:2px solid #e2b74c;border-radius:16px;background:linear-gradient(120deg,#40277b,#704fb3);color:#fff3c1;font-weight:800;font-size:16px;cursor:pointer}.mine-cavern{transition:filter .3s}.mine-v6-upgrades .button{white-space:normal;min-height:44px}.mine-footer{margin-top:12px}

/* astral-v14.css */
.astral-hero{display:flex;align-items:center;gap:16px;background:linear-gradient(125deg,#382166,#7951b2,#a884dc);color:#fff4da;border:2px solid #e6c474;border-radius:22px;padding:22px;box-shadow:0 6px 18px #50364b28}.astral-hero h2{font-size:32px;color:#fff4bf;margin:5px 0}.astral-hero p{line-height:1.5}.astral-hero>.art{--size:110px;flex-shrink:0;filter:drop-shadow(0 0 12px #f7d879)}.astral-tabs{display:flex;gap:8px;margin:14px 0}.astral-tabs button{border:1px solid #b4a173;background:#fff2ca;border-radius:12px;padding:12px;font-weight:800;cursor:pointer}.astral-tabs .active{background:#685094;color:white}.astral-panel{background:#fff8e5;border:1px solid #d3bc82;border-radius:18px;padding:18px;margin-bottom:15px;color:#483b46}.astral-panel p{font-size:15px;line-height:1.55}.astral-panel h3{font-size:20px;margin:0 0 8px}.astral-daily{display:flex;gap:12px;align-items:center;justify-content:space-between}.astral-rolls,.astral-treasures,.astral-packages{display:grid;grid-template-columns:1fr 1fr;gap:14px}.astral-treasures article,.astral-packages article{background:linear-gradient(#f3e4ff,#fff4d1);border:1px solid #c4a2d7;border-radius:16px;padding:15px;text-align:center}.astral-treasures .art{--size:105px;margin:auto}.astral-treasures span{display:block;color:#704295;font-weight:800;font-size:14px}.astral-packages strong{font-size:26px;color:#7146a3}.astral-packages button{display:block;width:100%;margin-top:8px}.astral-buttons{display:flex;gap:8px}.astral-buttons button{flex:1;min-height:46px}.astral-feedback{padding:12px 16px;background:#e2f3dc;border-radius:12px;color:#28562e}.astral-drops{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.astral-drops>div{border-radius:14px;background:#fff4c9;border:1px solid #ccb478;padding:10px;flex:1;min-width:100px;text-align:center}.astral-drops .art{--size:64px;margin:auto}.astral-drops b{display:block;font-size:14px}.astral-drops .special{box-shadow:0 0 14px #ba65e7;background:#f5dcff}.astral-panel table{border-collapse:collapse;width:100%;font-size:14px}.astral-panel th,.astral-panel td{text-align:left;padding:10px 4px;border-bottom:1px solid #e3d3b5}.astral-ranking{list-style:none;padding:0}.astral-ranking li{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #e3d3b5}.astral-ranking span{flex:1}.astral-ranking .you{background:#eedcf7}.astral-panel summary{cursor:pointer;font-weight:800;min-height:30px}
@media(max-width:1000000px){.astral-rolls{grid-template-columns:1fr}.astral-hero{padding:16px}.astral-hero h2{font-size:27px}.astral-hero>.art{--size:72px}.astral-daily{display:block}.astral-daily button{margin-top:12px;width:100%}.astral-treasures,.astral-packages{grid-template-columns:1fr}.astral-panel{padding:15px}.astral-ranking strong{font-size:13px}}

/* soul-v15.css */
/* v15: existing garden art / gold frames; teal is reserved for Soul progression. */
.adventure-links{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.adventure-links .glass{min-height:44px;padding:6px 9px;pointer-events:auto}
.soul-sanctuary,.journey-ranking{--soul-ink:#204f4b;--soul-line:#b6d4bb;color:var(--soul-ink);border:2px solid #d9bf78;border-radius:22px;overflow:hidden;background:#fff8e7;padding:0 16px 20px}
.soul-header,.ranking-hero{text-align:center;margin:0 -16px;padding:24px 18px 20px;background:linear-gradient(#143d37bd,#193e33c9),url('assets/garden.png') center 40%/cover;color:#fff7d7}
.soul-header h2,.ranking-hero h2{color:#fff1ad;font-size:28px;text-wrap:balance;margin:6px 0 8px}.soul-header p,.ranking-hero p{font-size:15px;line-height:1.5}.soul-header .eyebrow,.ranking-hero .eyebrow{color:#dbefcf;letter-spacing:.08em}
.soul-orbit{display:grid;place-items:center;height:160px;margin:0 -16px;background:radial-gradient(ellipse at center,#edfff9 5%,#8fd9c36b 45%,#e2efd7 75%);position:relative;isolation:isolate}.soul-orbit:before{content:'';position:absolute;width:130px;height:130px;border:2px solid #c59b4d;border-radius:50%;box-shadow:0 0 0 8px #fff8d980,0 0 30px #71c5b3;transform:rotateX(45deg);z-index:-1}.soul-orbit>.art{--size:110px;filter:drop-shadow(0 6px 9px #277f7966);animation:soul-float 4s ease-in-out infinite}
.soul-wallet{display:grid;gap:4px;text-align:center;margin:16px 0 22px}.soul-wallet small{letter-spacing:.08em;font-size:12px;font-weight:700}.soul-wallet strong{font-size:32px;line-height:1.1;font-variant-numeric:tabular-nums}.soul-wallet span{font-size:14px;line-height:1.5}
.soul-attributes{display:grid;gap:12px}.soul-attribute{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;background:linear-gradient(105deg,#fffdf0,#e5f4e5);border:1px solid var(--soul-line);border-radius:16px;padding:12px 10px}.soul-attribute>.art{--size:48px}.soul-attribute h3{font-size:18px}.soul-attribute h3 small{display:block;font-family:inherit;font-size:12px;letter-spacing:.015em;margin:2px 0;color:#47675b}.soul-attribute p{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.soul-attribute p span{color:#387647;font-size:13px}.soul-attribute .button{font-size:13px;min-height:48px;padding:8px 10px;min-width:88px}.soul-attribute .button small{display:block;margin-top:3px;font-size:12px}
.soul-expedition{margin-top:22px;border-top:1px solid #d4c995;padding-top:18px;display:grid;gap:12px}.soul-expedition h3{font-size:21px;margin:6px 0}.soul-expedition p,.soul-explainer{font-size:14px;line-height:1.6}.soul-explainer{margin-top:18px;color:#4c6658}.soul-awakened .soul-orbit{animation:soul-awaken .8s ease-out}
.ranking-hero{background:linear-gradient(#173e3699,#173e36d9),url('assets/guild-territory-v6.png') 50% 30%/cover}.ranking-own{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;margin:18px 0;padding:16px 10px;background:#f5e5b9;border:1px solid #ddc37e;border-radius:14px}.ranking-own>div{display:grid;gap:5px;text-align:center}.ranking-own small{font-size:11px;letter-spacing:.06em}.ranking-own strong{font-size:25px;font-variant-numeric:tabular-nums}.ranking-own strong span{display:block;font-size:12px;font-weight:400}.ranking-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 4px}.ranking-toolbar h3{font-size:18px}.ranking-toolbar button{min-height:44px;white-space:nowrap;font-size:13px}.journey-rank-list{list-style:none;margin:0;padding:0}.journey-rank-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid #dedfc9;padding:12px 4px;min-height:72px;content-visibility:auto;contain-intrinsic-size:auto 72px}.journey-rank-row>.art{--size:42px}.rank-place{min-width:29px;font-size:14px;color:#756039;font-variant-numeric:tabular-nums}.rank-player{flex:1;min-width:0}.rank-player strong{font-size:14px;display:block;overflow-wrap:anywhere;line-height:1.3}.rank-player small,.rank-score small{font-size:11px;display:block;letter-spacing:.015em;margin-top:4px}.rank-score{text-align:right;flex-shrink:0}.rank-score b{font-size:18px;font-variant-numeric:tabular-nums}.medal-1{background:#fff0b6}.medal-2{background:#edf0e9}.medal-3{background:#f7e4cb}.journey-rank-row.is-you{box-shadow:inset 3px 0 #2c9075;background:#e0f3df}.ranking-empty{padding:24px 8px;line-height:1.6;text-align:center}.ranking-rules{margin:18px 0;font-size:14px}.ranking-rules summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700}.ranking-rules summary:before{content:'＋';margin-right:8px}.ranking-rules[open] summary:before{content:'−'}.ranking-rules p{line-height:1.6;margin:8px 0}
@keyframes soul-float{50%{transform:translateY(-7px)}}@keyframes soul-awaken{35%{filter:brightness(1.5)}}
@media(max-width:360px){.soul-sanctuary,.journey-ranking{padding-left:12px;padding-right:12px}.soul-attribute{grid-template-columns:36px minmax(0,1fr) auto;gap:6px;padding:10px 6px}.soul-attribute>.art{--size:36px}.soul-attribute .button{min-width:78px;padding:8px 6px}.journey-rank-row>.art{--size:32px}.rank-score b{font-size:16px}.rank-player strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.soul-orbit>.art,.soul-awakened .soul-orbit{animation:none}}

/* radiance-v16.css */
/* Reference lock: user equipment deck; Micélia artwork and twelve gear slots retained. */
:root{--deck-height:300px}
body{grid-template-columns:minmax(0,1fr)}
.app-header,.shell,.guardian-deck,.equipment-deck,.equipped-slots,.appearance-slots{min-width:0}
.guardian-deck{background:radial-gradient(ellipse at 50% 0,#fff8dc,#edd8a7 75%);border-top:3px solid #b48b46}
.equipment-deck{padding:0 10px 8px;background:linear-gradient(115deg,#fff4cf99,#fff0 55%,#d2b77c44)}
.adventure-equipment{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:12px}
.adventure-equipment>.collection-head{display:none}
.adventure-equipment .equipped-slots{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:6px}
.adventure-equipment .equip-slot{border-radius:7px;border-color:#fff4cd;isolation:isolate;box-shadow:inset 0 0 0 1px #96784999,0 1px 2px #6c481e5c;min-height:44px}
.adventure-equipment .equip-slot .art{--size:43px;position:relative;z-index:2;filter:drop-shadow(0 1px 1px #27383088)}
.adventure-equipment .equip-slot b{z-index:4;font-family:"Micelia Numerals",Georgia,serif;color:#fff9db;font-size:10px;line-height:12px;background:none;text-shadow:0 1px 2px #251705,1px 0 #251705,-1px 0 #251705,0 -1px #251705}
.equip-slot[data-rarity]::before,.appearance-slot.is-equipped::before{content:'';position:absolute;inset:-65%;background:linear-gradient(115deg,transparent 35%,#fff0 42%,#fffd 48%,#fff8 51%,transparent 60%);transform:translateX(-60%) rotate(8deg);animation:treasure-sheen 5s ease-in-out infinite;pointer-events:none;z-index:1;opacity:.35}
.equip-slot:nth-child(3n)::before{animation-delay:-1.6s}.equip-slot:nth-child(3n+1)::before{animation-delay:-3.2s}
.equip-slot[data-rarity="0"]::before,.equip-slot[data-rarity="1"]::before,.equip-slot[data-rarity="2"]::before{display:none}
.equip-slot[data-rarity="8"]::before,.equip-slot[data-rarity="9"]::before,.equip-slot[data-rarity="10"]::before,.equip-slot[data-rarity="11"]::before{opacity:.8;animation-duration:3.8s}
.equip-slot[data-rarity="11"]{box-shadow:inset 0 0 9px #fff,0 0 6px #edb15b!important}
.appearance-slots{border-left:1px dashed #b69961;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(44px,1fr) 28px;gap:6px;padding-left:10px;min-height:0}
.appearance-slot{grid-column:1/-1;position:relative;min-height:44px;border:2px solid #f9e6b8;border-radius:7px;background:linear-gradient(125deg,#f8e9c5,#d3bc8e);box-shadow:inset 0 0 0 1px #b09057;overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;isolation:isolate}
.appearance-slot:nth-child(1){grid-column:1/-1;grid-row:1}.appearance-slot:nth-child(2){grid-column:1/-1;grid-row:2;height:55px}.appearance-slots{grid-template-rows:1fr 55px 24px}
.appearance-slot.is-equipped{background:radial-gradient(#fce9ff,#b27abe);border-color:#ffe3a1}
.appearance-slot .art{--size:58px;max-height:100%;position:relative;z-index:2}.appearance-slot b{position:absolute;bottom:1px;left:0;right:0;color:#fff4d1;text-shadow:0 1px 3px #291b0a,1px 1px #291b0a;font:700 11px "Micelia Numerals",Georgia,serif;z-index:3}.appearance-slot span{position:absolute;top:1px;right:4px;font-size:12px;color:#674b2a;z-index:3}
.appearance-manage{grid-column:1/-1;background:#f2dfb2;border:1px solid #b79b63;border-radius:5px;font-size:10px;color:#76572c;cursor:pointer}
.appearance-slots{grid-template-rows:repeat(2,minmax(0,1fr)) 24px}.appearance-slot:nth-child(2){height:auto}
.adventure-equipment .equip-slot:not([data-rarity]) .art{opacity:.35;filter:grayscale(.4)}
.cosmetic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.cosmetic-card{padding:10px;border:1px solid #c8a86b;border-radius:12px;background:linear-gradient(140deg,#fff5d9,#ecdbb5)}.cosmetic-card.active{outline:2px solid #5f9870}.cosmetic-card h3{font-size:15px;margin:10px 0;min-height:36px}.cosmetic-card .button{font-size:12px;min-height:44px}.cosmetic-preview{height:110px;display:grid;place-items:center;background:radial-gradient(#ffffffe6,#e6c79822 65%);border-radius:50%}.cosmetic-preview .art{--size:102px;filter:drop-shadow(0 3px 7px #b58b4266);animation:relic-hover 4s ease-in-out infinite}.cosmetic-wallet{color:#815325;font-weight:700}
@keyframes treasure-sheen{0%,18%{transform:translateX(-70%) rotate(8deg)}65%,100%{transform:translateX(70%) rotate(8deg)}}
@keyframes relic-hover{50%{transform:translateY(-5px)}}
@media(min-width:1000000px){:root{--deck-height:320px}.battle-column{grid-template-columns:minmax(0,1fr) minmax(330px,34%)}.adventure-equipment{grid-template-columns:minmax(0,1fr) 90px}.adventure-equipment .equip-slot .art{--size:49px}.appearance-slot .art{--size:67px}}
@media(max-height:740px) and (max-width:1000000px){:root{--deck-height:280px}.equipment-deck{padding-inline:8px}.adventure-equipment{gap:8px;grid-template-columns:minmax(0,1fr) 88px}.adventure-equipment .equipped-slots{gap:4px}.adventure-equipment .equip-slot .art{--size:37px}.appearance-slots{padding-left:7px;grid-template-rows:1fr 50px 24px}}
@media(prefers-reduced-motion:reduce){.equip-slot::before,.appearance-slot::before,.cosmetic-preview .art{animation:none!important}.equip-slot::before,.appearance-slot::before{display:none}}
@media(max-width:350px){.app-header{gap:4px;padding-inline:6px}.brand{font-size:18px;gap:3px}.brand-symbol{font-size:18px}.top-currencies{gap:3px}.currency{padding:3px}.currency b{font-size:10px}.app-header>.round-button{width:30px;min-width:30px;height:30px}.damage-panel{gap:3px}.damage-panel span{font-size:8px}.damage-panel b{font-size:10px}}

/* deck-v17.css */
/* Reference: user's compact 4-column equipment deck, paired feature slots and direct chest. */
:root{--deck-height:325px}
.guardian-deck{grid-template-rows:minmax(0,1fr) 105px}
.equipment-deck{padding:0 12px 7px}
.adventure-equipment{grid-template-columns:minmax(0,2fr) minmax(96px,1fr);gap:12px;align-items:start}
.adventure-equipment .equipped-slots{height:auto;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none;gap:8px;align-content:start}
.adventure-equipment .equip-slot{height:auto;min-height:0;aspect-ratio:1;border-radius:5px}
.adventure-equipment .equip-slot .art{--size:50px;width:100%;max-width:52px;max-height:52px}
.adventure-equipment .equip-slot b{font-size:8px;line-height:10px}
.appearance-slots{height:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:7px;padding-left:10px;border-left:1px dashed #b79c6b;align-content:start}
.appearance-slot,.appearance-slot:nth-child(1),.appearance-slot:nth-child(2),.future-slot{grid-column:auto;grid-row:auto;aspect-ratio:1;height:auto;min-height:0;border-radius:5px;padding:0;width:100%}
.appearance-slot .art{--size:45px;width:100%;max-width:48px;max-height:48px}.appearance-slot b{font-size:8px;line-height:10px}.appearance-slot>span:not(.art){font-size:10px;right:2px}
.future-slot{position:relative;background:linear-gradient(135deg,#dfcda8,#c9b589);border:1px solid #b49b6a;box-shadow:inset 0 1px 3px #98794744,inset 0 0 0 2px #ecdbb8;color:#9b8355;opacity:1;cursor:default;display:grid;place-items:center}
.future-slot>span{font:30px "Micelia Numerals",Georgia,serif;color:#ac925f;line-height:1}.future-slot small{position:absolute;bottom:3px;left:0;right:0;font-size:8px;color:#79623e;line-height:10px}
.soul-slot{grid-column:1/-1;height:30px;min-height:30px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 6px;background:linear-gradient(110deg,#cee8e2,#dfedda);border:1px solid #91b59a;border-radius:5px;color:#3b6959;box-shadow:inset 0 1px #f8ffe4;cursor:pointer}.soul-slot .art{--size:27px}.soul-slot b{font-size:12px}.soul-slot>span{margin-left:auto;font-size:18px}
.chest-card{display:flex;align-items:center;justify-content:center;height:105px;min-height:0;padding:0;position:relative;background:radial-gradient(ellipse at 50% 35%,#ffedb4,#ddbc7c 65%);overflow:visible;grid-template-columns:none;grid-template-rows:none}
.chest-card .panel-title{position:absolute;right:15px;bottom:20px;padding:0;height:44px;width:44px;display:block;margin:0;z-index:5}.chest-card .panel-title>div{display:none}
.chest-settings-button{width:44px;height:44px;font-size:29px;border-radius:50%;border:2px solid #b58b40;background:linear-gradient(#fff0aa,#d4aa57);color:#6e5125;box-shadow:inset 0 1px #fff7d6,0 2px 2px #a7793533}
.chest-art.chest-tap{position:relative;display:flex;align-items:center;justify-content:center;width:146px;height:105px;min-height:44px;margin:0;align-self:center;padding:0;border:0;border-radius:40%;background:none;box-shadow:none;cursor:pointer;overflow:visible;color:inherit;touch-action:manipulation}
.chest-tap #chest-image{pointer-events:none}.chest-art.chest-tap .art{--size:120px;filter:drop-shadow(0 5px 4px #7f58294d)}.chest-art.chest-tap .chest-level{bottom:0;font-size:10px;pointer-events:none}
.chest-tap:active #chest-image{transform:scale(.94)}.chest-tap:focus-visible{outline:3px solid #4e998a;outline-offset:0}.chest-tap[aria-busy=true]{filter:brightness(1.1)}
.chest-tap.auto-active::after{content:'AUTO';position:absolute;right:0;top:16px;padding:3px 5px;border-radius:6px;color:#fff5c6;background:#548b57;border:1px solid #eee6a7;font-size:9px;pointer-events:none}
#chest-settings{max-height:90dvh;overflow:auto}#chest-settings .chest-settings-controls{display:flex;flex-direction:column;gap:10px;padding:14px 0;margin:0;height:auto;min-height:0}#chest-settings .chest-settings-controls>.essence-row{display:flex;font-size:12px}#chest-settings .chest-settings-controls>.progress{height:6px;width:100%;margin:0}#chest-settings .chest-settings-controls>.button{height:auto;min-height:44px;width:100%;margin:0;padding:10px;font-size:14px}#chest-settings>.button{min-height:44px;margin-bottom:8px}
@media(max-width:350px){:root{--deck-height:300px}.equipment-deck{padding-inline:8px}.adventure-equipment{gap:8px;grid-template-columns:minmax(0,2fr) 96px}.adventure-equipment .equipped-slots{gap:6px}.appearance-slots{gap:6px;padding-left:7px}.adventure-equipment .equip-slot .art{--size:39px}.appearance-slot .art{--size:39px}.chest-card .panel-title{right:12px}}
@media(min-width:1000000px){.guardian-deck{grid-template-rows:minmax(0,1fr) 120px}.chest-card{height:120px}.chest-art.chest-tap{height:116px;width:160px}.chest-art.chest-tap .art{--size:136px}.chest-card .panel-title{bottom:28px}.equipment-deck{padding:12px}.adventure-equipment{grid-template-columns:minmax(0,2fr) minmax(96px,1fr)}}
@media(max-height:620px) and (max-width:1000000px){:root{--deck-height:280px}.guardian-deck{grid-template-rows:minmax(0,1fr) 90px}.chest-card,.chest-art.chest-tap{height:90px}.chest-art.chest-tap .art{--size:102px}}

/* Keep all seven feature slots visible above the chest on wider phones. */
.appearance-slots{width:100%;max-width:100px;justify-self:end}


/* polish-v18.css */
/* Reference lock: user images 1 (rarity sheen), 3 (icon breathing room),
   4 (floating outlined stage lettering), 5 (compact illustrated side controls). */
:root{--deck-height:325px}
.guardian-deck{grid-template-rows:minmax(0,1fr) 72px}
.chest-card{height:72px;min-height:72px;border-top:2px solid #caa45c;box-shadow:inset 0 2px #fff0b6;background:linear-gradient(#e8cf8b,#d5b571);z-index:1}
.chest-art.chest-tap{height:102px;align-self:end;margin-bottom:0;width:134px;z-index:2}
.chest-art.chest-tap .art{--size:112px}
.chest-card .panel-title{bottom:12px;right:16px}
.chest-art.chest-tap .chest-level{bottom:3px}
.equipment-deck{position:relative;z-index:2;padding-bottom:14px;pointer-events:none}
.equipment-deck button{pointer-events:auto}
.adventure-equipment .equip-slot{container-type:inline-size}
.adventure-equipment .equip-slot>.art{width:70%;height:auto;aspect-ratio:1;--size:36px;max-width:none;max-height:none;filter:drop-shadow(0 1px 1px #33201966)}
.appearance-slot>.art{width:70%;height:auto;aspect-ratio:1;max-width:none;max-height:none}
.appearance-slots{max-width:104px}
.soul-slot{height:34px;min-height:34px}
/* Each grade keeps its own palette. Stronger grades add a brighter rim,
   broader light and a more frequent reflection, not a replacement hue. */
[data-rarity]{--shine:.06;--halo:0px;--rim:1px;--sweep:9s;--spark:0}
[data-rarity="1"]{--shine:.09;--halo:1px}
[data-rarity="2"]{--shine:.13;--halo:2px}
[data-rarity="3"]{--shine:.20;--halo:3px;--sweep:8s}
[data-rarity="4"]{--shine:.28;--halo:4px;--sweep:7.4s}
[data-rarity="5"]{--shine:.36;--halo:5px;--sweep:6.8s;--spark:.25}
[data-rarity="6"]{--shine:.44;--halo:6px;--sweep:6.2s;--spark:.4}
[data-rarity="7"]{--shine:.52;--halo:7px;--sweep:5.6s;--spark:.5}
[data-rarity="8"]{--shine:.62;--halo:8px;--sweep:5s;--spark:.65}
[data-rarity="9"]{--shine:.72;--halo:9px;--rim:2px;--sweep:4.4s;--spark:.75}
[data-rarity="10"]{--shine:.84;--halo:10px;--rim:2px;--sweep:3.8s;--spark:.9}
[data-rarity="11"]{--shine:1;--halo:12px;--rim:2px;--sweep:3.2s;--spark:1}
.equip-slot[data-rarity],.item-card[data-rarity],.loot[data-rarity]{
  background:linear-gradient(135deg,var(--rarity-light) 0%,var(--rarity-base) 48%,var(--rarity-light) 100%)!important;
  border-color:var(--rarity-edge)!important;
  box-shadow:inset 0 0 0 var(--rim) color-mix(in srgb,white calc(var(--shine)*85%),transparent),inset 0 0 var(--halo) #fff9,0 0 var(--halo) color-mix(in srgb,var(--rarity-edge) calc(var(--shine)*65%),transparent)!important;
  animation:none;overflow:hidden;isolation:isolate;
}
.equip-slot[data-rarity]::before,.item-card[data-rarity]::before,.loot[data-rarity]::before{content:'';display:block;position:absolute;inset:-100%;background:linear-gradient(115deg,transparent 38%,#fff2 43%,#ffff 49%,#fff7 53%,transparent 59%);opacity:var(--shine);transform:translateX(-70%);animation:grade-reflection var(--sweep) ease-in-out infinite;pointer-events:none;z-index:1}
.equip-slot[data-rarity="0"]::before,.equip-slot[data-rarity="1"]::before,.equip-slot[data-rarity="2"]::before{display:none}
.equip-slot[data-rarity]::after,.item-card[data-rarity]::after,.loot[data-rarity]::after{content:'✦';position:absolute;right:3px;top:2px;font-size:12px;line-height:1;color:#fffef2;text-shadow:0 0 3px #fff,0 0 6px var(--rarity-edge);opacity:var(--spark);z-index:3;pointer-events:none;animation:grade-star var(--sweep) ease-in-out infinite}
.equip-slot[data-rarity]>.art{z-index:2}
@keyframes grade-reflection{0%,18%{transform:translateX(-70%)}64%,100%{transform:translateX(70%)}}
@keyframes grade-star{0%,100%{transform:scale(.65);opacity:calc(var(--spark)*.45)}50%{transform:scale(1);opacity:var(--spark)}}
/* Lettering sits directly over the scenery; the boss action remains a real button. */
.arena-top{top:0;left:0;right:0;display:flex;justify-content:center;padding:6px 48px 0;pointer-events:none}
.area-label{display:flex;flex-direction:column;align-items:center;gap:1px;width:100%;max-width:100%;padding:0;background:none!important;border:0!important;border-radius:0;box-shadow:none!important;backdrop-filter:none;pointer-events:none;text-align:center}
.area-label b,.area-label small,.area-label .boss-retry{font-family:"Micelia Numerals",Georgia,'Times New Roman',serif;font-weight:700;color:#fff8db;text-shadow:0 2px 2px #243e31,1px 0 #243e31,-1px 0 #243e31,0 -1px #243e31;letter-spacing:.01em}
.area-label b{font-size:16px;line-height:19px;text-transform:none;white-space:nowrap}
.area-label small{font-size:11px;line-height:15px;white-space:nowrap}
.area-label .boss-retry,.area-label .boss-retry:disabled{display:flex;align-items:center;justify-content:center;gap:5px;min-height:29px;padding:0 4px;font-size:16px;line-height:23px;border:0;border-radius:0;background:none!important;box-shadow:none;opacity:1;color:#fff3ce;pointer-events:auto;text-shadow:0 2px 2px #6f2530,1px 0 #6f2530,-1px 0 #6f2530,0 -1px #6f2530}
.area-label .boss-retry::before{content:'♛';display:inline-grid;place-items:center;width:23px;height:23px;border:1px solid #ffdd84;border-radius:50%;background:radial-gradient(#ef7277,#a12c42);color:#fff3c3;font-size:17px;box-shadow:0 1px 4px #57242b88;text-shadow:0 1px #602536}
.area-label .boss-retry:disabled{font-size:14px;color:#ffefbc;text-shadow:0 2px 2px #3c5330,1px 0 #3c5330,-1px 0 #3c5330}
.area-label .boss-retry:disabled::before{content:'»';background:radial-gradient(#f9df76,#bd8532)}
.area-label .boss-retry:not(:disabled):hover{filter:brightness(1.18)}
.area-label .boss-retry[hidden]{display:none}
.wave-track{top:78px;gap:3px;pointer-events:none}.wave-node{width:16px;height:16px;font-size:9px}.wave-line{width:14px;height:2px}
.boss-banner{top:101px}
.adventure-shortcuts,.arena-shortcuts{position:absolute;top:105px;display:flex;flex-direction:column;gap:9px;z-index:7;width:44px}
.adventure-shortcuts{left:6px}.arena-shortcuts{right:6px}
.adventure-shortcut,.arena-shortcuts button{position:relative;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:2px solid #9c692e;border-radius:7px;background:linear-gradient(145deg,#fff2ad,#dfb25c 60%,#b97c32);box-shadow:inset 0 0 0 1px #fff0af,0 2px 1px #5b3c3270;cursor:pointer}
.adventure-shortcut svg{width:36px;height:36px;filter:drop-shadow(0 1px 1px #66462066);pointer-events:none}
.arena-shortcuts .art{--size:33px;pointer-events:none}
.adventure-shortcut small,.arena-shortcuts small{position:absolute;bottom:-5px;left:50%;transform:translateX(-50%);font:700 10px/12px "Micelia Numerals",Georgia,serif;color:#fff7d7;text-shadow:1px 1px 1px #49351b,-1px -1px #49351b,1px -1px #49351b,-1px 1px #49351b;background:none;padding:0;white-space:nowrap;pointer-events:none}
.adventure-shortcut:hover,.arena-shortcuts button:hover{filter:brightness(1.12)}
.adventure-shortcut:focus-visible,.boss-retry:focus-visible{outline:2px solid #fff6bc;outline-offset:3px}
@media(max-width:350px){:root{--deck-height:300px}.arena-top{padding-inline:36px}.area-label b{font-size:14px}.area-label small{font-size:10px}.area-label .boss-retry{font-size:14px}.adventure-shortcuts{left:3px}.arena-shortcuts{right:3px}.adventure-equipment{grid-template-columns:minmax(0,2fr) 92px;gap:7px}}
@media(min-width:1000000px){.guardian-deck{grid-template-rows:minmax(0,1fr) 80px}.chest-card{height:80px;min-height:80px}.chest-art.chest-tap{height:112px}.chest-art.chest-tap .art{--size:122px}.area-label b{font-size:21px;line-height:25px}.area-label small{font-size:13px;line-height:18px}.area-label .boss-retry{font-size:19px;min-height:32px}.wave-track{top:91px}.adventure-shortcuts,.arena-shortcuts{top:123px}.adventure-shortcuts{left:12px}.arena-shortcuts{right:12px}}
@media(max-height:620px) and (max-width:1000000px){:root{--deck-height:270px}.guardian-deck{grid-template-rows:minmax(0,1fr) 56px}.chest-card{height:56px;min-height:56px}.chest-art.chest-tap{height:82px}.chest-art.chest-tap .art{--size:88px}.chest-card .panel-title{bottom:5px}.adventure-shortcuts,.arena-shortcuts{top:92px;gap:5px}.area-label b{font-size:13px;line-height:16px}.area-label small{font-size:10px;line-height:12px}.area-label .boss-retry{font-size:13px;min-height:25px}.wave-track{top:66px}}
@media(prefers-reduced-motion:reduce){.equip-slot[data-rarity]::before,.item-card[data-rarity]::before,.loot[data-rarity]::before{animation:none;transform:translateX(0);opacity:calc(var(--shine)*.3)}.equip-slot[data-rarity]::after,.item-card[data-rarity]::after,.loot[data-rarity]::after{animation:none}}

/* Floating loot stays smaller than the chest; captions remain within the screen. */
.chest-art.chest-tap .chest-drop .art{--size:34px}
.arena-shortcuts small{font-size:8px}


/* response-v19.css */
/* Actor anchors come from the same renderer pose used to draw them. */
.actor-hud{pointer-events:none;will-change:left,top;transition:none!important;z-index:4}
.adventure-shortcuts,.arena-shortcuts{top:48px;transition:transform .2s ease,opacity .2s ease}
.shortcut-toggle{position:absolute;left:7px;top:7px;z-index:9;min-width:38px;height:30px;border:1px solid #af7d37;border-radius:7px;background:linear-gradient(#fff2b5,#dbb76e);color:#705025;font:bold 18px "Micelia Numerals",Georgia;box-shadow:inset 0 1px #fff7d6;cursor:pointer}
.shortcuts-hidden .adventure-shortcuts{transform:translateX(-65px);opacity:0;visibility:hidden;pointer-events:none}
.shortcuts-hidden .arena-shortcuts{transform:translateX(65px);opacity:0;visibility:hidden;pointer-events:none}
.action-ack{animation:action-ack .22s ease-out}
@keyframes action-ack{0%{filter:brightness(1.45);transform:scale(.96)}100%{filter:brightness(1);transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.adventure-shortcuts,.arena-shortcuts{transition:none}.action-ack{animation:none}}

/* ascension-v20.css */
/* Reference lock: user's parchment equipment deck, smaller items, wide final evolution slots. */
.equipment-left{min-width:0}.ascension-slots{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}
.ascension-slot{position:relative;display:flex;align-items:center;justify-content:center;height:42px;min-height:42px;border:1px solid #977637;border-radius:6px;padding:2px 6px;background:radial-gradient(ellipse at 50% 40%,#fffbea,#dfe4ab);box-shadow:inset 0 0 0 2px #fff0b8,0 1px 2px #8f672b55;color:#574b2e;cursor:pointer;overflow:hidden}
.ascension-slot.bracelet{background:radial-gradient(ellipse,#fff9db,#e5c7a2)}.ascension-slot .art{--size:36px;flex-shrink:0}.ascension-slot b{font:700 10px/12px "Micelia Numerals",Georgia,serif;position:relative}.ascension-slot small{display:block;font:9px/12px "Micelia Numerals",Georgia,serif;color:#6d7548}.ascension-slot.locked .art{filter:grayscale(.85);opacity:.48}.ascension-slot:not(.locked)::before{content:'';position:absolute;inset:-70%;background:conic-gradient(from 0deg,transparent 35%,#fff8bc77,transparent 65%);animation:ascension-glow 8s linear infinite;pointer-events:none}
.ascension-slot:focus-visible{outline:3px solid #6ca89b;outline-offset:2px}.appearance-slots{max-width:106px}.appearance-slot .art{max-width:40px;max-height:40px}.appearance-slot b{bottom:2px}
.ascension-panel{text-align:center}.ascension-panel h2{margin:5px 0}.ascension-panel h2 small{font-size:14px;color:#8a6b32}.ascension-panel header p{margin:6px 0;color:#6e7450}.ascension-art{height:170px;position:relative;display:grid;place-items:center;isolation:isolate;overflow:hidden}.ascension-art>.art{--size:134px;z-index:1;filter:drop-shadow(0 0 10px #ffdd80aa);animation:ascension-hover 4s ease-in-out infinite}.ascension-art.locked>.art{filter:grayscale(.8);opacity:.5}.ascension-halo{position:absolute;width:150px;height:150px;border-radius:50%;background:repeating-conic-gradient(#e7bc5b00 0deg 20deg,#e7bc5b44 25deg 30deg,#e7bc5b00 40deg 50deg);mask-image:radial-gradient(#000,transparent 72%);animation:ascension-glow 24s linear infinite}.ascension-bonuses{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ascension-bonuses>div{background:#f5edce;border:1px solid #dcc493;border-radius:8px;padding:10px 4px}.ascension-bonuses small,.ascension-bonuses strong,.ascension-bonuses span{display:block}.ascension-bonuses strong{font:700 24px "Micelia Numerals",Georgia,serif;color:#527a4b;margin:4px 0}.ascension-bonuses span{font-size:12px;color:#88804b}.ascension-wallet{display:flex;justify-content:space-between;align-items:center;padding:15px 4px;font-size:14px}.ascension-wallet b{font-size:20px;color:#8f6e30}.ascension-upgrade{min-height:48px}.ascension-explainer{font-size:13px;line-height:1.5;color:#73664e}.ascension-source{border-block:1px solid #d8c69b;padding:15px 0;margin:18px 0}.ascension-source p{font-size:13px;line-height:1.5}.ascension-source .button{margin:3px;min-height:44px}.ascension-forms{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:12px 0}.ascension-forms>div{opacity:.6;border:1px solid #d8c79d;border-radius:6px;padding:5px 2px;background:#eee2be;min-width:0}.ascension-forms .reached{opacity:1;border-color:#b18c3b;background:#f8eac2}.ascension-forms .art{--size:44px;max-width:100%}.ascension-forms b,.ascension-forms small{display:block}.ascension-forms small{font-size:9px;line-height:12px;overflow-wrap:anywhere}.cosmetic-card>small{display:block;line-height:1.5;margin:5px}.insignia-prize{color:#806630;text-align:center;font-weight:bold}
@keyframes ascension-glow{to{transform:rotate(360deg)}}@keyframes ascension-hover{50%{transform:translateY(-5px)}}
@media(max-width:1000000px){.guardian-deck{grid-template-rows:minmax(0,1fr) 64px}.chest-card{height:64px;min-height:64px}.chest-art.chest-tap{height:88px}.chest-art.chest-tap .art{--size:98px}.chest-card .panel-title{bottom:9px}.equipment-deck{padding-bottom:5px}.adventure-equipment .equipped-slots{gap:5px}.ascension-slot .art{--size:30px}.ascension-slot{height:39px;min-height:39px;padding:2px}.ascension-slot b{font-size:9px}.appearance-slots{gap:5px}}
@media(prefers-reduced-motion:reduce){.ascension-slot::before,.ascension-halo,.ascension-art>.art{animation:none!important}}

/* Final two squares match equipment dimensions; system portraits are independent of chest art. */
.adventure-equipment .equip-slot.ascension-slot{height:auto;min-height:0;aspect-ratio:1;padding:0;display:grid;place-items:center;border-radius:5px;isolation:isolate}
.ascension-slot img{position:relative;z-index:1;width:76%;height:76%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 1px 2px #a97c3944)}
.ascension-slot.locked img{filter:grayscale(.9);opacity:.45}.adventure-equipment .ascension-slot b{position:absolute;bottom:2px;left:0;right:0;text-align:center;font:700 8px/10px "Micelia Numerals",Georgia,serif;z-index:2;color:#5d522e;text-shadow:0 1px #fff2bf}.ascension-badge{position:absolute;right:3px;top:2px;font:700 9px/10px "Micelia Numerals",Georgia,serif;z-index:2;color:#8b682e}
.adventure-equipment .ascension-slot img{position:absolute;inset:10% 12% 14%;width:76%;height:76%;filter:drop-shadow(0 1px 1px #5a6b4a99)}
.adventure-equipment .ascension-slot.wings{background:radial-gradient(#f9f5db,#b8d6c8)}

/* User reference: luminous pearl gradient, lilac / rose / mint, on both progression slots. */
.adventure-equipment .equip-slot.ascension-slot.wings,
.adventure-equipment .equip-slot.ascension-slot.bracelet{
 background:linear-gradient(145deg,#fffdf5 0%,#e6caff 24%,#ffd5e5 46%,#d1f5e6 70%,#fff1bd 100%);
 border:1px solid #ae935c;
 box-shadow:inset 0 0 0 1px #ffffffed,inset 0 0 12px #fff9,0 0 7px #f5dcffb3,0 1px 2px #8f672b55;
}
.adventure-equipment .equip-slot.ascension-slot::before{
 content:'';position:absolute;inset:-70%;pointer-events:none;z-index:0;
 background:conic-gradient(from 0deg,transparent 25%,#fff3 38%,#ffffffe6 48%,#fff4 55%,transparent 68%);
 animation:ascension-glow 7s linear infinite;
}

/* skins-v21.css */
/* Reference lock: selected skin stage, parchment effects and bottom portrait rail. */
.skin-showcase{background:#f6e9c6;border:1px solid #b69455;border-radius:16px;overflow:hidden;color:#57462d;text-align:center}
.skin-showcase header{padding:13px 16px 8px;background:linear-gradient(#fff4cd,#eddbad)}
.skin-showcase h2{font:700 23px/1.15 "Micelia Numerals",Georgia,serif;margin:5px 0;color:#4b593b}
.skin-status{font-size:11px;color:#726242}.skin-stage{height:210px;position:relative;display:grid;place-items:center;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 75%,#fffbd6 0%,#d7edc9 32%,#84bfa7 70%,#568d84 100%)}
.skin-stage::after{content:'';position:absolute;width:110%;height:55px;border-radius:50%;background:#fbf7d4bb;bottom:-38px;box-shadow:0 -5px 18px #ffffc799;z-index:-1}
.skin-stage>.art{--size:180px;width:180px;height:180px;max-width:85%;z-index:1;filter:drop-shadow(0 7px 5px #315c5b55);animation:skin-float 4s ease-in-out infinite}
.skin-stage-weapon,.skin-stage-artifact{background:radial-gradient(ellipse at 50% 75%,#fff4d0,#bcccea 45%,#7a83b2)}
.skin-stage-bracelet,.skin-stage-wings{background:radial-gradient(ellipse at 50% 75%,#fffbe0,#edd4e8 45%,#a0abc8)}
.skin-orbit{position:absolute;width:220px;height:220px;border-radius:50%;background:repeating-conic-gradient(#fff0 0deg 20deg,#fff7 24deg,#fff0 30deg);mask-image:radial-gradient(#0000 15%,#0007 40%,#0000 70%);animation:skin-orbit 24s linear infinite;z-index:0}
.skin-spark{position:absolute;color:#fffce0;text-shadow:0 0 10px #fff;font-size:24px;animation:skin-twinkle 3s ease-in-out infinite}.skin-spark.one{left:16%;top:24%}.skin-spark.two{right:18%;top:50%;animation-delay:-1s}.skin-spark.three{right:25%;top:16%;font-size:15px;animation-delay:-2s}
.skin-equip-row{display:flex;justify-content:center;position:relative;margin-top:-18px;margin-bottom:10px;z-index:3}.skin-showcase .button.skin-equip{min-width:150px;min-height:40px;padding:8px 22px;border-radius:999px;border:2px solid #c5a664;outline:1px solid #775d39;background:linear-gradient(#86ba74 0%,#558e52 48%,#3b713d 52%,#58844b);box-shadow:inset 0 0 0 2px #e7f2b5,inset 0 3px 4px #ffffff88,0 3px 5px #57452a33;color:#fffce7;font:700 16px "Micelia Numerals",Georgia,serif;text-shadow:0 1px 2px #244628}.skin-showcase .skin-equip:disabled{filter:grayscale(.6);opacity:.65}
.skin-effects{margin:10px 12px;padding:10px 12px;text-align:left;background:#fff8dfb3;border:1px solid #d5bb83;border-radius:8px}.skin-effects h3{font:700 15px "Micelia Numerals",Georgia,serif;margin:0 0 7px;color:#66502d}.skin-effects p{font-size:13px;line-height:1.45;margin:5px 0}.skin-effects small{font-size:11px;color:#827255}.skin-stat-list>div{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid #d7c7a477;font-size:13px}.skin-stat-list strong{color:#4b793e;white-space:nowrap}.skin-source,.skin-hint{font-size:11px;line-height:1.5;margin:8px 14px;color:#76603d}
.skin-carousel{display:flex;gap:8px;overflow-x:auto;padding:12px 10px;background:#dfc590;border-top:1px solid #b69b64;scroll-snap-type:x proximity}.skin-choice{position:relative;flex:0 0 60px;width:60px;height:60px;padding:4px;border:2px solid #b19668;border-radius:8px;background:linear-gradient(135deg,#eac9ed,#aa9bcf);cursor:pointer;scroll-snap-align:center}.skin-choice .art{--size:48px;max-width:100%;max-height:100%}.skin-choice>span:not(.art){position:absolute;right:2px;top:0;color:#fff8d0;font-size:12px;text-shadow:0 1px #5c483b}.skin-choice.selected{border-color:#fff1a1;box-shadow:0 0 0 2px #c28b2a,0 0 10px #ffe68c,inset 0 0 9px #fff9}.skin-choice:focus-visible{outline:3px solid #446d58;outline-offset:2px}
/* Six equal columns: four equipment + two appearances. Soul stays a full-width strip. */
.adventure-equipment{--slot-gap:6px;grid-template-columns:minmax(0,calc((100% - 36px)*2/3 + 18px)) minmax(0,1fr);gap:12px}
.adventure-equipment .equipped-slots{gap:var(--slot-gap)}
.adventure-equipment .appearance-slots{max-width:none;width:100%;padding-left:0;border-left:0;gap:var(--slot-gap);position:relative}
.adventure-equipment .appearance-slots::before{content:'';position:absolute;left:-7px;top:0;bottom:36px;border-left:1px dashed #b79c6b;pointer-events:none}
.adventure-equipment .appearance-slot,.adventure-equipment .future-slot{width:100%;height:auto;min-height:0;aspect-ratio:1}
.adventure-equipment .appearance-slot .art{--size:44px;width:76%;height:76%;max-width:none;max-height:none}
@keyframes skin-float{50%{transform:translateY(-5px) rotate(1deg)}}@keyframes skin-orbit{to{transform:rotate(360deg)}}@keyframes skin-twinkle{50%{opacity:.3;transform:scale(.65)}}
@media(prefers-reduced-motion:reduce){.skin-stage>.art,.skin-orbit,.skin-spark{animation:none}}
@media(max-width:360px){.skin-stage{height:170px}.skin-stage>.art{--size:145px;width:145px;height:145px}.skin-showcase h2{font-size:20px}}
.astral-hero{border-color:var(--edition-color,#aa83e2)}.astral-editions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.astral-editions article{border:1px solid var(--edition-color);background:#fff9e4;padding:8px;border-radius:10px;text-align:center}.astral-editions article.current{box-shadow:inset 0 0 0 2px var(--edition-color)}.astral-editions b{font-size:12px}.astral-editions article>div{display:flex;justify-content:space-around;gap:4px}.astral-editions .art{--size:48px}.astral-editions small{display:block;font-size:10px}
.ascension-subtabs{display:flex;gap:8px;margin:0 0 12px;padding:4px;background:#e8d7ac;border:1px solid #c6a872;border-radius:999px}.ascension-subtabs button{flex:1;min-height:40px;border:1px solid transparent;border-radius:999px;background:transparent;color:#6b593b;font:700 14px "Micelia Numerals",Georgia,serif;cursor:pointer}.ascension-subtabs button[aria-pressed=true]{background:linear-gradient(#fff6d8,#ead194);border-color:#b89c5e;box-shadow:inset 0 1px #fff,0 2px 3px #92704433;color:#47684b}.ascension-subtabs button:focus-visible{outline:3px solid #619b87;outline-offset:2px}

/* equipment-v22.css */
/* Pearl finish retains each rarity's base hue; stronger grades keep their stronger halo. */
.equip-slot[data-rarity],.item-card[data-rarity],.loot[data-rarity]{
 background:radial-gradient(ellipse at 25% 12%,#fffffff0 0%,#ffffff44 25%,transparent 58%),linear-gradient(150deg,color-mix(in srgb,var(--rarity-light) 60%,#ecd6ff) 0%,var(--rarity-light) 28%,color-mix(in srgb,var(--rarity-base) 70%,#ffddeb) 48%,color-mix(in srgb,var(--rarity-base) 80%,#b9efdf) 72%,var(--rarity-light) 100%)!important;
 box-shadow:inset 0 0 0 var(--rim) #fff9,inset 0 0 9px #ffffff88,0 0 var(--halo) color-mix(in srgb,var(--rarity-edge) 65%,transparent)!important;
}
.equip-slot[data-rarity]::before,.item-card[data-rarity]::before,.loot[data-rarity]::before{background:linear-gradient(115deg,transparent 34%,#e6d7ff55 42%,#fffffff2 49%,#d8fff477 55%,transparent 63%);opacity:calc(.14 + var(--shine)*.75)}
@media(prefers-reduced-motion:reduce){.equip-slot[data-rarity]::before,.item-card[data-rarity]::before,.loot[data-rarity]::before{opacity:.18}}

/* atelier-v23.css */
.skin-stage{background:radial-gradient(ellipse at 50% 76%,#fcffe3 0%,#b5edcc 27%,#8bcbb4 53%,#66a49b 100%)}.skin-stage::before{content:'';position:absolute;inset:0;background:linear-gradient(125deg,transparent 24%,#ffffec44 28%,transparent 35%,transparent 58%,#ffffff33 63%,transparent 70%);animation:atelier-rays 9s ease-in-out infinite;pointer-events:none}
.skin-stars{color:#d8a333;text-shadow:0 1px #fff7c9;font-size:21px;letter-spacing:3px}.skin-effect-use{display:block!important;margin:8px 0!important;border-radius:999px!important;background:linear-gradient(#b2d978,#5f9948)!important;color:#fffbe0!important;border:2px solid #c1a45c!important}.skin-effects h4{margin:6px 0;color:#4f7b60}.skin-effects>small{display:block;margin:6px 0}.skin-upgrade .button{margin:4px}.skin-stage-weapon{background:radial-gradient(ellipse at 50% 76%,#fff7d4,#bad3ea 40%,#8b9cc5)}
.adventure-equipment .appearance-slot{display:grid;place-items:center;position:relative;overflow:hidden;background:linear-gradient(180deg,#b874b6 0%,#e4b7c4 28%,#f1d3a7 58%,#d4b563 100%);box-shadow:inset 0 0 0 1px #fff8,inset 0 0 9px #fff5;border:1px solid #8d694a}
.adventure-equipment .appearance-slot>.art{position:absolute;left:15%;top:12%;width:70%;height:70%;max-width:none;max-height:none;--size:36px;filter:drop-shadow(0 1px 1px #49372255)}.adventure-equipment .appearance-slot>b{position:absolute;bottom:2px;left:0;right:0;text-align:center}.adventure-equipment .appearance-slot>span:not(.art){position:absolute;right:2px;top:1px}
.cash-hero{text-align:center;padding:25px 12px;border:1px solid #b89d61;border-radius:16px;background:radial-gradient(ellipse at top,#fcffe3,#c0dfc8 60%,#8dbba9);margin-bottom:14px}.cash-hero h2{margin:8px 0;font:700 28px "Micelia Numerals",Georgia,serif}.cash-hero b{display:inline-block;background:#fff9d6;border:1px solid #c5a95f;border-radius:999px;padding:8px 18px;color:#6f548f}.cash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.cash-card{padding:12px 8px;border:1px solid #cbb078;border-radius:12px;background:linear-gradient(145deg,#fffae8,#e8d8ef 55%,#f9e3ae);text-align:center}.cash-card>.art{--size:65px}.cash-card h3{font:700 16px "Micelia Numerals",Georgia,serif;margin:7px 0}.cash-card>strong{font-size:21px;color:#536e48}.cash-card small{display:block;font-size:11px;line-height:1.4;margin:7px 0}.cash-card .button{display:block;width:100%;margin-top:7px;font-size:12px;padding:9px 3px;min-height:42px}.cash-gem{font-size:var(--gem-size);line-height:1.2;color:#b078ce;text-shadow:0 0 10px #fff,2px 2px #6b97ba}.cash-card>p{font-size:12px}
.evolving-chest{display:block;position:relative;width:120px;height:120px;filter:drop-shadow(0 4px 3px #70512455)}.evolving-chest>span{display:block;width:100%;height:100%;background-image:url('assets/chests-v23.png');background-size:300% 200%;background-repeat:no-repeat}.evolving-chest.tier-4{filter:drop-shadow(0 0 5px #c49fff)}.evolving-chest.tier-5{filter:drop-shadow(0 0 6px #fff5b8)}
@keyframes atelier-rays{50%{transform:translateX(12%);opacity:.5}}@media(prefers-reduced-motion:reduce){.skin-stage::before{animation:none}}
@media(max-width:1000000px){.evolving-chest{width:98px;height:98px}}@media(min-width:1000000px){.cash-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.adventure-shortcut>.art{--size:30px;width:30px;height:30px}.adventure-shortcut>small{display:block}

/* Reference: key total under chest, level badge at its right edge. */
.diamond-emblem{display:inline-block!important;width:26px;height:22px;background:conic-gradient(from 30deg at 50% 38%,#efffff,#58a6eb,#c4ffff,#357fc2,#efffff);clip-path:polygon(20% 0,80% 0,100% 35%,50% 100%,0 35%);filter:drop-shadow(0 1px 2px #356da8);flex-shrink:0}.world-nav [data-tab=shop]>.diamond-emblem{width:39px!important;height:34px!important;margin:auto;filter:drop-shadow(0 0 5px #a5e9ff)}.top-currencies .diamond-emblem{width:17px;height:15px;margin-right:2px}
.chest-art.chest-tap .chest-level,#chest-art .chest-level{left:calc(50% + 37px);right:auto;top:auto;bottom:24px;transform:rotate(8deg);min-width:30px;height:32px;line-height:27px;padding:0 4px;border:2px solid #e9c66e;border-radius:12px 12px 12px 3px;background:linear-gradient(#c582ce,#6f438c);color:#fff9d7;font:bold 21px/27px "Micelia Numerals",Georgia,serif;text-shadow:1px 2px #4c285f;z-index:6}
.chest-key-count{position:absolute;left:50%;bottom:0;transform:translateX(-50%);min-width:80px;padding:1px 10px;border:1px solid #a58b56;border-radius:8px;background:linear-gradient(#604839,#322d28);color:#fff6d2;font:bold 14px/18px "Micelia Numerals",Georgia,serif;text-shadow:0 1px #241d20;z-index:5;white-space:nowrap;pointer-events:none}

/* Compact shop rows: stable artwork, title, amount and action heights. */
.cash-hero{padding:10px 8px;margin-bottom:8px;border-radius:10px}.cash-hero .eyebrow,.cash-hero p{display:none}.cash-hero h2{font:bold 21px "Micelia Numerals",Georgia,serif;margin:2px 0 6px}.cash-hero b{padding:4px 12px;font-size:13px}.cash-grid{gap:7px;margin:8px 0;grid-template-columns:repeat(2,minmax(0,1fr))}.cash-card{display:flex;flex-direction:column;align-items:center;padding:8px 6px;border-radius:9px;background:linear-gradient(150deg,#f8e9c2,#e8d1a1);font-family:"Micelia Numerals",Georgia,serif;min-width:0}.cash-card>.art{--size:46px;flex:0 0 46px}.cash-card h3{font:bold 13px/15px "Micelia Numerals",Georgia,serif;height:30px;margin:4px 0 1px;display:flex;align-items:center;justify-content:center;width:100%;text-align:center}.cash-card>b{font:bold 14px/18px "Micelia Numerals",Georgia,serif;height:18px}.cash-card small{font:11px/13px "Micelia Numerals",Georgia,serif;margin:3px 0;height:26px;display:flex;align-items:center;justify-content:center}.cash-card .button{font:bold 12px/15px "Micelia Numerals",Georgia,serif;min-height:30px;padding:6px 3px;margin-top:auto;border-radius:999px;width:100%}.cash-card .cash-price{font:bold 19px/21px "Micelia Numerals",Georgia,serif;opacity:1;background:linear-gradient(#ffe16e,#e6b52d);color:#fff8df;text-shadow:-1px -1px #755024,1px 1px #755024,0 2px #755024;border:2px solid #96733b;box-shadow:inset 0 0 0 2px #fff4b1,0 2px #957038;min-height:35px}.cash-card .cash-pack-label{height:18px;font-weight:bold;margin:0 0 5px;color:#80623a}.cash-card:has(.cash-gem) h3{height:18px;font-size:14px;margin:1px 0}.cash-gem{height:44px;width:100%;display:grid;place-items:center;font-size:0}.cash-gem .diamond-emblem{width:47px;height:36px}.diamond-emblem{background:conic-gradient(from 30deg at 50% 38%,#fff7c1,#e2a51e,#fff3a1,#ac6d0d,#fff7c1);filter:drop-shadow(0 1px 2px #9c7029)}.cash-card [data-shop-pack]{margin-top:5px;font-size:10px}.cash-note,body[data-view=shop] #other-view>.notice{font-size:11px;line-height:15px;margin:6px 0;padding:6px}.world-nav [data-tab=shop]>.shop-flower{width:49px;height:49px;object-fit:contain;display:block;margin:auto;max-width:100%;filter:drop-shadow(0 2px 1px #49301a80)}

body[data-view=shop] .cash-hero h2{display:none}

.adventure-equipment .appearance-slot.is-empty{background:linear-gradient(#e6d7ab,#d9c79b);box-shadow:inset 0 0 0 2px #fff4}.adventure-equipment .appearance-slot.is-empty>.art{filter:brightness(0) sepia(1);opacity:.18}.appearance-slot.is-empty>b{opacity:.55}.chest-timer-panel{padding:12px;border:1px solid #c4a766;border-radius:12px;background:#fff6d6}.chest-timer-panel>strong{display:block;font:bold 24px "Micelia Numerals",Georgia;color:#755995;margin:10px 0}.chest-timer-panel>p,.chest-timer-panel>small{font-size:12px;line-height:1.5;margin:8px 0;display:block}.chest-help-row{padding:12px;border-bottom:1px solid #d0b982}.cash-gem{height:50px}.cash-gem .diamond-emblem{width:70px;height:50px;clip-path:none;background:transparent url('assets/gold-gems-v25.png') center/contain no-repeat;filter:none}.top-currencies .diamond-emblem{clip-path:none;background:transparent url('assets/gold-gems-v25.png') center/contain no-repeat;width:23px;height:21px;filter:none}

/* Lining figures share the text baseline, including 3, 5 and 9. */
body,button,input,select,.area-label,.wave-track,.currency,.cash-card,.chest-level{font-variant-numeric:lining-nums tabular-nums!important;font-feature-settings:"lnum" 1,"tnum" 1!important}.area-label small,.wave-track,.chest-level,.top-currencies b{font-family:"Micelia Numerals",Georgia,'Times New Roman',serif}.wave-track>span{line-height:1;display:grid;place-items:center}#chest-art .chest-batch-count{display:none!important}
.chat-dock{position:fixed;bottom:83px;left:max(8px,calc(50% - 192px));z-index:25;border:1px solid #a88340;border-radius:12px;background:#f8e6ad;color:#604626;padding:6px 10px;font:bold 12px "Micelia Numerals",Georgia;box-shadow:0 2px 3px #49361d40}.bosque-chat{width:min(94vw,440px);max-height:78dvh;padding:14px;border:2px solid #b79a5b;border-radius:18px;background:#fff5d8;color:#354f42}.bosque-chat::backdrop{background:#20372d70}.bosque-chat>header,.chat-messages article header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.bosque-chat h2{font:bold 21px "Micelia Numerals",Georgia;margin:0}.bosque-chat button{border-radius:10px;background:#e6cf91;padding:8px;color:#4c482d}.bosque-chat nav{display:flex;gap:5px;margin:12px 0}.bosque-chat nav button{flex:1}.bosque-chat [aria-pressed=true]{background:#557a55;color:#fff7db}.chat-messages{height:40dvh;overflow:auto;overscroll-behavior:contain}.chat-messages article{padding:8px;border-bottom:1px solid #d9c69e}.chat-messages b{font-size:13px}.chat-messages time{font:10px Arial;color:#7b735c;white-space:nowrap}.chat-messages p{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.45 Arial;margin:5px 0}.chat-status{font:11px/1.4 Arial;min-height:24px}.bosque-chat form{display:flex;gap:6px}.bosque-chat form[hidden]{display:none}.bosque-chat label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.bosque-chat input{min-width:0;flex:1;background:#fffbee;border:1px solid #b8a273;border-radius:9px;padding:10px;font:13px Arial;color:#354f42}

.cash-card [data-shop-exchange]{background:linear-gradient(#a9d6d3,#4d8e91);color:#fffbea;border:1px solid #477c80;box-shadow:inset 0 1px #e0ffff,0 2px #396c70;display:flex;align-items:center;justify-content:center;gap:4px}.trade-diamond{display:inline-block;width:24px;height:20px;background:url('assets/gold-gems-v25.png') center/contain no-repeat}.cash-card [data-shop-exchange]:disabled{opacity:.65}#test-status{display:none!important}
.account-login{width:min(420px,92vw);padding:30px 22px;border:1px solid #d1b772;border-radius:24px;background:linear-gradient(145deg,#fffbed,#f3e4ef 60%,#e1f1e9);color:#34594e;box-shadow:0 18px 70px #122d3580}.account-login::backdrop{background:#183c4580}.account-login h2{font-size:26px}.account-login p{font-size:14px;line-height:1.5}.account-login label{display:grid;gap:6px;margin:14px 0;font-size:14px}.account-login input{box-sizing:border-box;width:100%;padding:12px;border:1px solid #b6baa4;border-radius:10px;background:#fffdf7;font:16px "Micelia Numerals",Georgia,serif}.login-tabs{display:flex;gap:8px}.login-tabs button{flex:1;border:1px solid #789e91;border-radius:16px;padding:9px;color:#34594e;background:#fff9ec}.login-tabs [aria-pressed=true]{background:#386d65;color:white}.login-social{display:grid;gap:8px}.account-login form .button{margin-top:14px}.account-login button:disabled{opacity:.55;cursor:not-allowed}.account-login .login-feedback{min-height:20px}

.cash-hero>b{display:inline-flex;align-items:center;justify-content:center;gap:5px}

/* Initial offers follow the compact illustrated shop reference. */
.shop-tabs{display:flex;gap:3px}.shop-tabs>button{flex:1;min-width:0;padding:9px 4px;font-size:12px}.starter-card{position:relative;background:radial-gradient(ellipse at 50% 22%,#fffde9,#f2d7a7 65%,#e4c08f);border:1px solid #bf914b}.starter-card>.art{--size:74px;flex:0 0 74px;margin:6px 0;filter:drop-shadow(0 2px 5px #fff8)}.starter-rarity{font:700 10px/16px "Micelia Numerals",Georgia;letter-spacing:.5px;color:#9a443e;border-radius:8px;padding:1px 8px;background:#fff4db;border:1px solid #d7ae75}.starter-card h3{height:30px;font-size:14px}.starter-card .starter-reward{height:27px;line-height:13px;margin:2px 0}.starter-card .starter-diamonds{display:flex;align-items:center;gap:2px;height:25px;font-size:12px;white-space:nowrap}.starter-card .starter-state{display:flex;align-items:center;justify-content:center;min-height:30px;margin:5px 0 1px;font:12px/14px "Micelia Numerals",Georgia}.starter-clock{display:block;font:bold 16px/22px "Micelia Numerals",Georgia;font-variant-numeric:tabular-nums;color:#7d4059;margin-bottom:8px}.starter-card .cash-price{margin-top:auto;width:100%}.starter-card [data-starter-test]{margin-top:7px;font-size:10px;min-height:34px}.starter-card.received,.starter-card.expired,.starter-card.level,.starter-card.locked{background:linear-gradient(#f3e9d1,#dfd1b7)}.starter-card.received .starter-clock{color:#426a51}.starter-shortcut{position:fixed;right:max(8px,calc(50% - 192px));bottom:84px;z-index:25;display:flex;gap:4px;align-items:center;padding:5px 8px;border:1px solid #b08b4e;border-radius:12px;background:linear-gradient(#fff4cd,#e8c889);color:#63432e;box-shadow:0 2px 4px #49361d40;font:12px "Micelia Numerals",Georgia}.starter-shortcut[hidden]{display:none}.starter-shortcut b{display:block;font-size:11px;color:#85425c}.starter-shortcut:focus-visible,.starter-card button:focus-visible{outline:3px solid #448c85;outline-offset:2px}

.starter-test-space{display:block;min-height:34px;width:100%;margin-top:7px}.starter-clock{font-size:14px;white-space:nowrap}
/* User placement: offers belong in the equipment layout. */
.adventure-equipment .equipment-left{display:flex;flex-direction:column;gap:6px;min-height:0}
.adventure-equipment .equipment-left>.starter-shortcut{position:static;inset:auto;z-index:auto;align-self:flex-start;flex:0 0 32px;min-height:32px;height:32px;margin:0;padding:2px 9px;max-width:100%;border-radius:7px;pointer-events:auto;font-size:11px}
.adventure-equipment .equipment-left>.starter-shortcut[hidden]{display:none}
.adventure-equipment .starter-shortcut b{font-size:10px;line-height:12px}

/* Speed floats below Train without changing the green bar height. */
.mobile-hero .training-speed-anchor{position:relative;order:3;flex-shrink:0;z-index:10}
.mobile-hero .training-speed-anchor #speed-button{position:absolute;top:calc(100% + 7px);right:0;display:block;min-height:23px;height:23px;width:44px;padding:1px 5px;margin:0;border:1px solid #d6c77f;border-radius:7px;background:linear-gradient(#fff4cd,#dec17c);color:#594b2b;font:bold 12px/19px "Micelia Numerals",Georgia;text-shadow:none;box-shadow:0 1px 2px #49361d40}

.diamond-first-badge{display:block;min-height:18px;padding:2px 6px;border-radius:7px;background:#874765;color:#fff3ca;font:bold 10px/14px Georgia}.cash-card .diamond-first-detail{height:16px;min-height:16px;font-size:10px;line-height:14px;margin:2px 0;color:#68482d}

/* Per-card exchange quantity, kept in normal flow above the artwork. */
.cash-card.exchange-card .exchange-quantity{display:inline-flex;align-self:flex-start;gap:1px;margin:0 0 6px;padding:2px;border:1px solid #b8a275;border-radius:8px;background:#f8eed4;max-width:100%}
.exchange-quantity>button{width:30px;min-width:0;min-height:28px;padding:3px 2px;border-radius:5px;background:transparent;color:#675333;font:700 11px/18px "Micelia Numerals",Georgia,serif;white-space:nowrap}
.exchange-quantity>button[aria-pressed=true]{background:#437c70;color:#fff8dc;box-shadow:inset 0 1px #ffffff40}
.exchange-quantity>button:focus-visible{outline:2px solid #7757a4;outline-offset:1px}
.exchange-quantity>button:disabled{opacity:.5;cursor:wait}

/* numerals-v32.css */
/* Use the original phase-counter Georgia numerals throughout the interface. */
@font-face{font-family:"Micelia Numerals";src:local("Georgia"),local("Noto Serif"),local("Times New Roman");font-weight:100 500;font-style:normal;unicode-range:U+0030-0039;font-display:swap}
@font-face{font-family:"Micelia Numerals";src:local("Georgia Bold"),local("Noto Serif Bold"),local("Times New Roman Bold");font-weight:501 900;font-style:normal;unicode-range:U+0030-0039;font-display:swap}
*,*::before,*::after{font-variant-numeric:lining-nums tabular-nums!important;font-feature-settings:"lnum" 1,"tnum" 1!important}

/* icon-fit-v37.css */
/* Equipment-sized square artwork, centered independently of labels and badges. */
.adventure-equipment .appearance-slot{padding:0;min-width:0;overflow:hidden;container-type:inline-size}
.adventure-equipment .appearance-slot>.art{position:absolute;inset:auto;left:50%;top:46%;transform:translate(-50%,-50%);width:70%;height:auto;aspect-ratio:1;max-width:52px;max-height:52px;margin:0;display:block;overflow:hidden}
.skin-showcase{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.skin-showcase h2,.skin-effects,.skin-source{overflow-wrap:anywhere;min-width:0}
.skin-stage{height:170px;width:100%;min-width:0;overflow:hidden}
.skin-stage>.art{position:absolute;inset:auto;left:50%;top:50%;width:136px;height:136px;max-width:70%;max-height:80%;margin:0;transform:translate(-50%,-50%);animation:none;overflow:hidden}
.skin-carousel{width:100%;max-width:100%;min-width:0;box-sizing:border-box;align-items:center;overflow-x:auto;overflow-y:hidden}
.skin-choice{flex:0 0 54px;width:54px;height:54px;min-width:54px;min-height:54px;max-width:54px;padding:0;display:grid;place-items:center;overflow:hidden}
.skin-choice>.art{position:relative;inset:auto;display:block;width:70%;height:auto;aspect-ratio:1;max-width:38px;max-height:38px;transform:none;margin:0;overflow:hidden}
.world-nav{grid-template-columns:repeat(6,minmax(0,1fr));min-width:0;max-width:100%;box-sizing:border-box}
.world-nav button{display:flex;align-items:center;justify-content:center;min-width:0;padding:3px;overflow:hidden}
.world-nav button>.art,.world-nav button.active>.art{position:relative;inset:auto;display:block;width:min(40px,85%);height:auto;aspect-ratio:1;max-height:40px;max-width:40px;margin:0;transform:none;flex:0 1 40px;overflow:hidden}
.world-nav [data-tab=shop]>.shop-flower{width:40px;height:40px;max-width:85%;max-height:100%;object-fit:contain;margin:0;transform:none}
@media(max-height:520px){.world-nav button>.art,.world-nav button.active>.art,.world-nav [data-tab=shop]>.shop-flower{width:30px;max-width:30px;max-height:30px}.world-nav [data-tab=shop]>.shop-flower{height:30px}}

/* panel-flow-v43.css */
/* Panels and actions reserve their own space, including narrow screens. */
body[data-view="clan"] #other-view{padding-top:12px}
.clan-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.clan-actions .button{position:static;max-width:100%;height:auto;white-space:normal;line-height:1.4}
.clan-access:empty{display:none}
.modal-actions{flex-wrap:wrap;gap:10px}
.modal-actions .button{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.mine-footer,.clan-search,.mine-resources{flex-wrap:wrap;gap:10px}
.mine-footer>*{min-width:0;max-width:100%}
.online-onboarding .button+.button,.room-content>.button+.button{margin-top:10px}
.guild-destinations button{min-width:0;height:auto}
.guild-destinations button span{min-width:0;overflow-wrap:anywhere}

/* Reference: the existing mobile game; frame and scenery only. */
html{background:linear-gradient(#142d27c9,#102720e8),url('assets/battle-garden-v9.png') center/cover no-repeat fixed;}
body{width:100%;max-width:440px;margin:0 auto!important;position:relative;box-shadow:0 0 0 1px #c3a86c77,0 0 70px 16px #071d19aa;}
.app-header,.shell{max-width:100%;}
dialog{max-width:calc(min(100vw,440px) - 16px)!important;}
.toast{max-width:calc(min(100vw,440px) - 24px);}
