:root{font-family:Georgia,Times New Roman,serif;color:#eee;background:#050505;--gold:#c6a15b;--muted:#9f927a}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:radial-gradient(circle at 50% 20%,#21170e 0,#090909 42%,#030303)}button{font:inherit}.app-shell{min-height:100dvh}.prologue,.summon-screen{width:min(100%,430px);min-height:100dvh;margin:auto;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;text-align:center}.prologue{justify-content:center}.sigil{width:86px;height:86px;border:1px solid #8e6d37;outline:1px solid #342713;outline-offset:7px;transform:rotate(45deg);display:grid;place-items:center;color:#d3b06b;font-size:30px;margin-bottom:44px}.sigil:first-line{transform:rotate(-45deg)}.chapter{font:800 10px system-ui;letter-spacing:.24em;color:#9e8151}.prologue h1,.summon-screen h1{font-size:28px;letter-spacing:.08em;color:#d8bb7a;margin:18px 0 12px}.prologue p,.lead{max-width:350px;color:#b9ad98;line-height:1.65;font-size:15px}.story-dots{display:flex;gap:8px;margin:24px}.story-dots i{width:20px;height:2px;background:#383128}.story-dots i.seen{background:#b18b4d}.primary{width:100%;min-height:52px;border:1px solid #886a36;background:linear-gradient(#392b17,#171007);color:#ead39e;border-radius:8px;font-weight:900;letter-spacing:.1em}.summon-screen{padding-top:36px}.hero-choice{width:100%;display:grid;gap:10px;margin:12px 0}.hero-option{-webkit-appearance:none;appearance:none;width:100%;margin:0;border:1px solid #403520;background:#0c0b09!important;border-radius:12px;padding:8px;display:grid;grid-template-columns:110px 1fr;grid-template-rows:1fr auto;color:#eee;text-align:left;align-items:center;min-height:128px}.hero-option .battle-card{grid-row:1/3;width:100px;aspect-ratio:3/4.1}.hero-option .art{height:63%}.hero-option .card-copy strong{font-size:13px}.hero-option .card-copy span,.hero-option .card-copy small{font-size:8px}.hero-option .style{font:800 11px system-ui;letter-spacing:.1em;color:#a89470;padding-left:12px}.hero-option>b{font:900 11px system-ui;color:#d6b66f;padding:8px 0 8px 12px}.summon-note{color:#716858;font:700 9px system-ui;line-height:1.5}.combat-screen{width:min(100%,430px);min-height:100dvh;margin:auto;padding:max(12px,env(safe-area-inset-top)) 14px max(18px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:6px}.game-header{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #5d4829;padding:3px 2px 8px;color:var(--gold);letter-spacing:.18em;font-weight:800}.game-header small{font:600 10px system-ui;letter-spacing:.08em;color:var(--muted)}.encounter-name{text-align:center;color:#7f715b;font:800 9px system-ui;letter-spacing:.15em}.combatant{display:flex;flex-direction:column;align-items:center}.label{font:800 10px system-ui;letter-spacing:.24em;color:#a99775;margin:2px}.battle-card{width:min(64vw,245px);aspect-ratio:3/2.55;border:2px solid #9b783c;border-radius:14px;padding:5px;background:linear-gradient(145deg,#312615,#080706 24%,#111 75%,#392b16);box-shadow:0 0 0 2px #21180d,0 12px 30px #000b;overflow:hidden}.enemy-card{border-color:#7b6747}.boss{border-color:#b84b3c;box-shadow:0 0 0 2px #30110e,0 0 28px #721e1844}.art{height:65%;border:1px solid #5d4b2d;border-radius:8px;overflow:hidden;background:#111}.art img{width:100%;height:100%;object-fit:cover}.card-copy{text-align:center;padding:5px 3px;display:flex;flex-direction:column;gap:1px}.card-copy strong{color:#e4c67e;font-size:16px;letter-spacing:.05em}.card-copy span{font-size:11px;color:#b7aa91}.card-copy small{font:700 9px system-ui;color:#7f7667}.bar{width:min(68vw,260px);height:9px;background:#241010;border:1px solid #5c3a2e;border-radius:9px;overflow:hidden;margin-top:5px}.bar i{display:block;height:100%;background:linear-gradient(90deg,#6f1717,#c44637);transition:width .15s}.bar.hero{background:#101b14;border-color:#3c573f}.bar.hero i{background:linear-gradient(90deg,#285b35,#6aa35d)}.bar-text{font:700 9px system-ui;color:#928878;margin-top:2px}.versus{text-align:center;color:#a78449;font-size:17px;font-weight:900;line-height:16px}.battle-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:auto}.energy{grid-column:1/-1;height:24px;position:relative;background:#17121f;border:1px solid #554267;border-radius:6px;overflow:hidden}.energy i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#3d2558,#8d5eb4);transition:width .2s}.energy span{position:absolute;inset:0;display:grid;place-items:center;font:800 10px system-ui;letter-spacing:.1em}.ultimate,.auto,.continue{min-height:42px;border:1px solid #81632e;border-radius:8px;color:#e9d6a8;background:linear-gradient(#312514,#171108);font-weight:800;font-size:11px;letter-spacing:.06em}.ultimate:disabled{opacity:.35}.auto{border-color:#474747;background:#151515;color:#9a9a9a}.auto.active{border-color:#876b39;color:#e1c27c}.result{position:fixed;inset:0;background:#050505ee;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:5;padding:30px}.result-sigil{font-size:34px;color:#b18b4d}.result strong{color:#d6b36c;font-size:27px;letter-spacing:.13em;text-align:center}.result p{color:#9f927a;text-align:center}.continue{padding:0 28px}@media (max-height:720px){.battle-card{width:min(54vw,205px)}.combat-screen{gap:3px}.game-header{padding-bottom:5px}}.reset-test{position:fixed;right:10px;bottom:max(8px,env(safe-area-inset-bottom));z-index:4;border:1px solid #3b352c;background:#090909cc;color:#746b5d;border-radius:5px;padding:5px 7px;font:700 8px system-ui;letter-spacing:.08em;opacity:.65}.power-strip{display:flex;justify-content:center;gap:18px;color:#8e8069;font:800 9px system-ui;letter-spacing:.08em}.loot-card{width:min(100%,330px);padding:16px;border:1px solid #846632;border-radius:12px;background:radial-gradient(circle at 50% 0,#322617,#100d09 60%);display:flex;flex-direction:column;align-items:center;gap:7px;box-shadow:inset 0 0 24px #b8872820}.loot-card small{font:900 9px system-ui;letter-spacing:.18em;color:#a58b5d}.loot-card b{font-size:20px;color:#e0c27d}.loot-card span{font:700 10px system-ui;color:#b5aa95;text-transform:uppercase}.loot-card button{margin-top:6px;min-height:42px;width:100%;border:1px solid #a17c3a;border-radius:7px;background:linear-gradient(#45341c,#20160a);color:#efd59a;font:900 11px system-ui;letter-spacing:.1em}.loot-card.rarity-epic{border-color:#75518e;box-shadow:inset 0 0 30px #6d3b8c30}.loot-card.rarity-epic b{color:#d6a8ef}.continue:disabled{opacity:.3}.realm-screen{width:min(100%,430px);min-height:100dvh;margin:auto;padding:22px 16px;background:#080706}.realm-head{display:flex;justify-content:space-between;border-bottom:1px solid #574426;padding-bottom:12px}.realm-head small,.section-title{font:800 9px system-ui;letter-spacing:.18em;color:#927b55}.realm-head h1{margin:4px 0;color:#d8b76f;font-size:22px}.hero-summary{display:flex;gap:14px;align-items:center;padding:18px 0}.hero-summary .battle-card{width:92px;aspect-ratio:3/4}.hero-summary>div:last-child{display:flex;flex-direction:column;gap:5px}.gear-panel{border-block:1px solid #282218;padding:14px 0}.gear-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.gear-slot{min-height:48px;border:1px solid #292724;background:#090909;border-radius:7px;padding:7px;display:flex;flex-direction:column;gap:4px}.gear-slot small{font:800 8px system-ui;color:#625d54;text-transform:uppercase}.gear-slot b{font:800 9px system-ui;color:#555}.gear-slot.filled{border-color:#69532f;background:#151109}.gear-slot.filled b{color:#c5aa70}.realm-path{padding-top:16px;display:grid;gap:8px}.realm-node{appearance:none;width:100%;min-height:64px;border:1px solid #40351f;border-radius:9px;background:#0d0b08;color:#ddd;display:grid;grid-template-columns:38px 1fr auto;align-items:center;text-align:left;padding:8px;gap:8px}.realm-node i{width:34px;height:34px;border:1px solid #66512c;border-radius:50%;display:grid;place-items:center;color:#c4a665;font-style:normal}.realm-node span{display:flex;flex-direction:column;gap:3px}.realm-node b{font:900 11px system-ui;color:#c9ae74}.realm-node small{font:500 9px system-ui;color:#786f61}.realm-node em{font:900 8px system-ui;color:#a88b55;font-style:normal}.realm-node.cleared{opacity:.72}.realm-node.next{border-color:#8b6a31}.realm-node.locked{opacity:.35}
