@charset "UTF-8";
:root{color-scheme:dark;--bg:#0a1019;--panel:#111a27;--panel2:#192434;--line:#314052;--gold:#d8b77c;--text:#edf0ef;--muted:#97a8b7;--blue:#87bdcb;--red:#d79b92}*{box-sizing:border-box}body{margin:0;background:#070b12;color:var(--text);font:14px system-ui,-apple-system,sans-serif}button,input,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:3px}button{color:inherit}#shell{max-width:720px;margin:0 auto;min-height:100dvh;background:var(--bg);padding-bottom:calc(85px + env(safe-area-inset-bottom));overflow:hidden}header{height:calc(70px + env(safe-area-inset-top));padding:calc(11px + env(safe-area-inset-top)) 13px 10px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #5c513b;background:#0b121d}#brand{display:flex;align-items:center;gap:8px;border:0;background:none;text-align:left;padding:0;font:bold 19px Georgia,serif;letter-spacing:1px;flex:1}#brand small{display:block;font:7px system-ui;letter-spacing:1.7px;color:#aabbc1;margin-top:5px}.sigil{font-size:29px;color:var(--gold)}.currencies{display:flex;gap:12px;font-size:12px}.currencies span{display:flex;gap:4px;align-items:center}.currencies i{font-style:normal;color:var(--gold)}.settings-button{background:#162130;border:1px solid #3d4b5a;border-radius:8px;min-width:44px;height:44px;font-size:23px}.scene-wrap{position:relative;height:430px;background:#101b26;overflow:hidden}.scene-wrap.hero-view{height:460px}.scene-wrap.battle-view{height:400px}#scene{display:block;width:100%;height:100%;touch-action:pan-y;position:absolute;inset:0}.scene-shade{position:absolute;inset:0;background:linear-gradient(#08111d22,transparent 30%,transparent 65%,#0a1019 100%);pointer-events:none}.scene-top{position:absolute;inset:14px 14px auto;display:flex;justify-content:space-between;align-items:center;pointer-events:none;font-size:9px;letter-spacing:2px;color:#d7e0d6}.scene-top span{padding:7px 10px;border:1px solid #a4a48e55;background:#10192399;backdrop-filter:blur(10px);border-radius:5px}.scene-top button{pointer-events:auto;border:1px solid #8e8e7b55;background:#10192399;color:#a8c5cf;font-size:8px;letter-spacing:1px;min-height:35px;border-radius:5px;padding:6px 8px}.scene-caption{position:absolute;bottom:14px;left:18px;right:18px;pointer-events:none}.scene-caption h1{font:27px/1.15 Georgia,serif;margin:7px 0;color:#f4e5c8;text-shadow:0 2px 6px #000}.scene-caption span{font-size:8px;letter-spacing:2.2px;color:#bfd1cd}.scene-caption p{font-size:11px;line-height:1.5;color:#aebfca;max-width:340px;margin:6px 0 0}.battle-view .scene-caption{display:none}.loading{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#0a131feF;z-index:4;padding:25px;text-align:center}.load-sigil{font-size:47px;color:var(--gold);animation:glow 1.5s ease-in-out infinite}.loading h2{font:25px Georgia;margin:15px 0 5px}.loading p{font-size:11px;color:var(--muted)}.load-progress{width:210px;height:3px;background:#2c3b4c;margin-top:14px}.load-progress span{display:block;background:var(--gold);height:3px;width:0;transition:width .2s}.content{position:relative;margin-top:-3px;padding:0 15px 14px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#bfcfc7;text-transform:uppercase}.section-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:17px 0 11px}.section-title h2{font:22px Georgia;margin:5px 0;color:#e8d8b7}.section-title small{font-size:10px;color:var(--muted)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:11px 15px;border:1px solid #435268;background:#192536;color:#d9e5e9;border-radius:7px;font-weight:600;font-size:12px;gap:8px}.button.gold{background:linear-gradient(145deg,#e5c68e,#b49159);color:#17202a;border-color:#f2d8a4}.button.purple{background:linear-gradient(135deg,#594972,#35405c);border-color:#9186b3}.button.wide{width:100%}.button.small{font-size:10px;padding:8px 11px;min-height:44px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.stack{display:grid;gap:9px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.summary-grid div{background:#111b2a;border:1px solid #28384b;border-radius:7px;padding:10px}.summary-grid strong{display:block;font:18px Georgia;color:#e6d1a9}.summary-grid small{font-size:8px;color:#9cb0be;letter-spacing:.8px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.feature-tile{min-height:98px;background:linear-gradient(145deg,#1a2738,#101a27);border:1px solid #394b5c;border-radius:10px;padding:13px;text-align:left;position:relative;overflow:hidden}.feature-tile .tile-symbol{font-size:26px;color:#d1b587}.feature-tile strong{display:block;font:16px Georgia;margin:8px 0 4px}.feature-tile small{font-size:10px;line-height:1.5;color:#a4b7c4}.feature-tile.portal{background:linear-gradient(145deg,#263c45,#102333);border-color:#6a9299}.hint{font-size:11px;line-height:1.6;color:#9db1bf;margin:11px 0}.goal{padding:11px 13px;border:1px solid #58614c;background:#1f2c25;border-radius:8px;font-size:11px;color:#d0dac6;margin:10px 0}.champion-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.champion-card{background:#142032;border:1px solid #3d4f63;border-radius:9px;padding:12px 7px;text-align:center;min-height:108px}.champion-card.active{border-color:#d0b17b;background:linear-gradient(150deg,#394034,#182331)}.champion-card.locked{opacity:.7}.champion-card .crest{font:25px Georgia;color:var(--hero)}.champion-card strong{display:block;font:15px Georgia;margin:8px 0 5px}.champion-card small{font-size:8px;letter-spacing:1px;color:#adbdca}.champion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hero-info .hero-name{font:30px Georgia;color:#e6d4ae;margin:4px 0}.hero-info p{font-size:12px;line-height:1.7;color:#9cb2c0}.stat-pills{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.stat-pills span{font-size:11px;background:#162333;border:1px solid #37475a;padding:9px;border-radius:6px}.equipment-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:11px 0}.equipment-slots button{min-height:65px;padding:9px 6px;border:1px solid #4b5360;background:#142132;border-radius:8px;text-align:left;font-size:10px}.equipment-slots small{display:block;font-size:8px;color:#95aabd;letter-spacing:1px;margin-bottom:7px}.settings-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}label{font-size:10px;color:#a9bcca;display:flex;flex-direction:column;gap:6px}select,input{min-height:45px;width:100%;background:#152333;color:#e5edef;border:1px solid #4a5c6f;border-radius:6px;padding:10px;font-size:12px}.chapter-card{padding:15px;border:1px solid #50606b;border-radius:10px;background:linear-gradient(145deg,#273641,#111c2b);margin:12px 0}.chapter-card h3{font:22px Georgia;margin:7px 0;color:#e6d4b5}.chapter-card p{font-size:11px;line-height:1.6;color:#a8bfca}.stage-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0}.stage-button{min-height:46px;border:1px solid #405365;background:#162435;border-radius:6px;font:16px Georgia;color:#becbd1}.stage-button.selected{border-color:#d9b77c;background:#65553a;color:#f4e0bb}.stage-button.cleared{background:#203c36;color:#badbce}.stage-button.boss{border-color:#a18264}.stage-button:disabled{opacity:.25}.battle-controls{display:grid;grid-template-columns:1fr 52px 74px;gap:7px}.combat-goal{font:20px Georgia;margin:12px 0 6px;color:#e8d3ab}.battle-hud-top{position:absolute;top:55px;left:15px;right:15px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#d2ddd2;pointer-events:none}#unit-health{position:absolute;bottom:10px;left:13px;right:13px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;pointer-events:none}.health-card{border:1px solid #6a7d7866;background:#0a1722bb;backdrop-filter:blur(7px);padding:7px;border-radius:5px}.health-card strong{font-size:9px}.hp-track{height:3px;background:#303c44;margin-top:6px}.hp-track i{display:block;background:#91c7ae;height:3px}.hero-skill{font-size:10px;color:#aebdc9;margin-top:9px}.result-card{border:1px solid #b79a65;background:linear-gradient(135deg,#413929,#17283a);border-radius:9px;padding:15px;margin-top:10px}.result-card h3{font:24px Georgia;color:#ebd1a1;margin:0 0 8px}.result-card p{font-size:12px;color:#ccd7d4;line-height:1.5}.item-list{display:grid;gap:8px}.item-row{display:flex;gap:11px;align-items:center;padding:12px;border:1px solid #31465a;border-radius:9px;background:#132031}.item-icon{width:43px;height:47px;display:grid;place-items:center;font:25px Georgia;border:1px solid #8e897a;background:linear-gradient(145deg,#3d494c,#172434);border-radius:6px;color:#d9c399;flex:none}.item-info{flex:1;min-width:0}.item-info strong{font-size:12px;display:block}.item-info small{font-size:9px;line-height:1.6;color:#9cb0bf;display:block}.rarity-common{color:#bfced8}.rarity-uncommon{color:#9bd3b4}.rarity-rare{color:#9fcbef}.rarity-epic{color:#c3a5e5}.rarity-legendary{color:#edcb84}.rarity-mythic{color:#f1b39c}.mythic-card{padding:14px;border:1px solid #b09a76;border-radius:10px;background:linear-gradient(150deg,#523b3d55,#132336);margin:10px 0}.mythic-card h3{font:19px Georgia;color:#f1d9aa;margin:6px 0}.mythic-card p{font-size:11px;color:#bbced5;line-height:1.6}.progress{height:5px;background:#314357;margin:10px 0}.progress i{height:5px;display:block;background:#d4b67e}.arena-note{border:1px solid #425767;padding:13px;border-radius:8px;background:#152335}.arena-note h3{font:18px Georgia;color:#ded2b4;margin:0 0 8px}.arena-note p{font-size:11px;line-height:1.7;color:#adbdc9}.opponent{display:flex;justify-content:space-between;align-items:center;padding:12px;margin:8px 0;border:1px solid #3d4e64;border-radius:7px;background:#142234}.opponent strong{font-size:12px}.opponent small{display:block;color:#95acba;font-size:10px;margin-top:4px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:720px;display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom);background:#0c1623f5;backdrop-filter:blur(12px);border-top:1px solid #776748;z-index:8}.bottom-nav button{min-height:65px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;border:0;background:none;color:#8fa4b7;font-size:8px;letter-spacing:.2px}.bottom-nav button span{font-size:24px}.bottom-nav button.active{color:#e8c88c;background:linear-gradient(#897b4830,transparent)}footer{font-size:8px;letter-spacing:1.2px;color:#647f94;text-align:center;padding:14px 0}#toast{position:fixed;left:50%;transform:translate(-50%,15px);bottom:calc(82px + env(safe-area-inset-bottom));max-width:90%;background:#203341;color:#e2e8df;border:1px solid #a8946e;border-radius:8px;padding:12px 16px;font-size:11px;opacity:0;pointer-events:none;transition:.2s;z-index:15}#toast.visible{opacity:1;transform:translate(-50%,0)}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px}.backdrop{position:absolute;inset:0;background:#000b;backdrop-filter:blur(5px)}.modal-card{position:relative;max-width:440px;width:100%;max-height:85dvh;overflow:auto;background:linear-gradient(145deg,#1d2d40,#0e1c2d);border:1px solid #8f7a54;border-radius:13px;padding:22px}.modal-close{float:right;min-width:44px;height:44px;background:none;border:0;color:#becdd5;font-size:25px}.modal-card h2{font:27px Georgia;color:#ecd4aa;margin:7px 0 14px}.modal-card p{font-size:12px;color:#aec2d0;line-height:1.7}.modal-card .stack{margin-top:14px}#damage-layer{position:absolute;inset:0;pointer-events:none}.damage-number{position:absolute;color:#f1d3a1;font-size:15px;font-weight:700;text-shadow:0 2px 4px #000;animation:float-up .7s ease-out forwards;white-space:nowrap}#scene-error{position:absolute;inset:0;z-index:5;background:#101b27;padding:35px;display:flex;flex-direction:column;justify-content:center;text-align:center}#scene-error[hidden]{display:none}#scene-error h2{font:24px Georgia;color:#e8d2ac}#scene-error p{font-size:12px;line-height:1.6;color:#b2c6d1}#scene-error button{min-height:44px;background:#21354b;border:1px solid #6e8c9f;border-radius:7px;margin:6px;padding:10px}.topline{display:flex;justify-content:space-between;align-items:center;gap:10px}.badge{font-size:8px;letter-spacing:1px;padding:6px 8px;border:1px solid #6c725b;border-radius:5px;color:#c3d5b3}.danger{color:#e2afa1}.status-banner{padding:8px;font-size:10px;color:#b3c6d1;line-height:1.5}.code{font:11px monospace;word-break:break-all;padding:13px;background:#07121d;border:1px solid #4a6679}.empty{padding:24px;text-align:center;color:#96adbf;font-size:12px}@keyframes glow{50%{opacity:.5;transform:scale(.95)}}@keyframes float-up{from{opacity:1;transform:translate(-50%,0)}to{opacity:0;transform:translate(-50%,-45px)}}@media(min-width:600px){.scene-wrap{height:510px}.scene-wrap.battle-view{height:460px}.scene-wrap.hero-view{height:550px}.feature-grid{grid-template-columns:repeat(4,1fr)}.scene-caption h1{font-size:34px}.content{padding:0 22px 14px}}@media(max-width:375px){#brand{font-size:16px}#brand small{font-size:6px}.currencies{gap:7px;font-size:10px}header{gap:8px}.scene-wrap{height:390px}.scene-wrap.battle-view{height:370px}.scene-wrap.hero-view{height:410px}.scene-caption h1{font-size:25px}.content{padding:0 11px 12px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
