:root{color-scheme:dark;--bg:#12100e;--bg2:#1a1511;--panel:#211b16;--panel-light:#2c241b;--border:#554330;--border-dim:#3c3228;--gold:#e7bb6d;--gold-dim:#a1814f;--cream:#eddfc5;--muted:#ad9980;--muted2:#796a59;--red:#bd5950;--green:#89b18b;--purple:#ad8dd4;--serif:Georgia,'Times New Roman',serif;--ui:Trebuchet MS,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse 76% 32% at 50% 0%,#3a2719 0%,transparent 76%),radial-gradient(circle at 8% 70%,#251a16 0,transparent 55%),var(--bg);color:var(--cream);font-family:var(--ui);font-size:13px;line-height:1.45;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button,input,select{touch-action:manipulation}[hidden]{display:none!important}.ambient-grain{pointer-events:none;position:fixed;inset:0;z-index:50;opacity:.13;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.58' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}.app-frame{max-width:1660px;padding:0 34px 24px;margin:auto}.topbar{display:flex;align-items:center;gap:28px;min-height:113px;border-bottom:1px solid #51402e}.brand{display:flex;align-items:center;gap:12px;min-width:345px}.brand-mark{width:49px;height:54px;display:grid;place-items:center;color:var(--gold);filter:drop-shadow(0 0 9px #e2a3463f)}.brand-mark svg{width:49px}.brand-eyebrow,.eyebrow,.auth-overline{color:var(--gold-dim);font-size:9px;letter-spacing:2.4px;font-weight:700}.brand-name{font-family:var(--serif);font-size:22px;line-height:1.1;letter-spacing:1.1px;color:#f8e2b4;white-space:nowrap}.brand-name span{font-size:12px;color:#ab8050}.top-resources{display:flex;align-items:center;gap:9px;flex:1;justify-content:flex-end}.resource-pill{display:flex;align-items:center;gap:10px;padding:11px 15px;border:1px solid #463727;min-width:115px;background:linear-gradient(145deg,#292017c7,#171411c7)}.resource-icon{font-size:22px;min-width:23px;text-align:center}.coin{color:#eac36b;text-shadow:0 0 11px #c58a37}.soul{color:#b69bdd;text-shadow:0 0 11px #7b549a}.shard{color:#83b7c4}.resource-pill small,.profile-copy small{display:block;font-size:9px;letter-spacing:1.5px;color:var(--muted2);font-weight:700}.resource-pill strong,.profile-copy strong{display:block;font-size:15px;color:var(--cream);font-weight:700;font-variant-numeric:tabular-nums}.profile-button{display:flex;gap:10px;align-items:center;background:transparent;color:var(--cream);border:0;border-left:1px solid var(--border);padding:8px 0 8px 18px;min-width:160px;text-align:left}.profile-button:hover .profile-copy strong{color:var(--gold)}.profile-avatar{display:grid;place-items:center;border:1px solid #846a48;background:#33271b;color:var(--gold);width:37px;height:37px;font-size:23px}.profile-chevron{color:var(--gold-dim);margin-left:auto;font-size:20px}.underbar{display:flex;justify-content:space-between;gap:12px;align-items:center;height:42px;color:var(--muted2);font-size:9px;font-weight:700;letter-spacing:1.5px}.underbar-left{display:flex;gap:10px;align-items:center}.status-dot,.autosave-indicator{width:6px;height:6px;display:inline-block;background:#719c77;border-radius:50%;box-shadow:0 0 9px #76c27a}.autosave-indicator{margin-left:6px}.autosave-indicator.warning{background:var(--red);box-shadow:0 0 9px #ca5443}.divider-dot{color:#796240}.game-layout{display:grid;grid-template-columns:minmax(210px,248px) minmax(380px,1fr) minmax(240px,285px);gap:17px;align-items:stretch}.left-column,.right-column,.battle-column{display:flex;flex-direction:column;gap:17px;min-width:0}.panel{background:linear-gradient(140deg,#30271d 0%,#211b16 33%,#1d1915 100%);border:1px solid var(--border);box-shadow:inset 0 0 0 1px #191510,0 8px 32px #0004;position:relative}.panel:before{content:'';position:absolute;inset:4px;border:1px solid #ab87501c;pointer-events:none}.panel-label{text-align:center;margin:19px 12px 0;color:#c0a17c;font-size:9px;letter-spacing:1.5px;font-weight:700;white-space:nowrap}.panel-ornament{color:#9b7245;padding:0 5px}.hero-portrait{height:207px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-circle{position:absolute;width:171px;height:171px;border:1px solid #755b3c;border-radius:50%;background:radial-gradient(circle,#65513a77 0,#272018bb 50%,transparent 72%);box-shadow:0 0 28px #aa753321,inset 0 0 27px #000b}.hero-circle:before,.hero-circle:after{content:'';position:absolute;inset:10px;border-radius:50%;border:1px dashed #997b513a}.hero-circle:after{inset:24px;border-style:solid}.hero-icon{width:163px;filter:drop-shadow(0 9px 9px #000a);z-index:1}.portrait-caption{position:absolute;bottom:7px;z-index:2;font-family:var(--serif);font-size:11px;letter-spacing:2px;color:var(--gold)}.hero-level-line{display:flex;justify-content:space-between;margin:2px 19px 9px;color:var(--muted);font-size:10px}.hero-level-line strong{color:#f3ca83;font-size:15px}.progress-bar{position:relative;overflow:hidden;background:#100e0c;border:1px solid #766046;box-shadow:inset 0 2px 4px #000c}.xp-track{height:10px;margin:0 19px 19px}.progress-fill{height:100%;width:100%;transition:width .16s linear}.xp-fill{background:linear-gradient(#b6a5cf,#79619f);box-shadow:0 0 9px #907fc9}.hero-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:0 15px 19px}.stat-tile{border:1px solid #53402e;background:#191612b8;text-align:center;padding:12px 3px 10px}.stat-tile small{display:block;color:#a48b69;font-size:9px;letter-spacing:1.4px}.stat-tile strong{display:block;font:700 25px var(--serif);color:#ead5ae;line-height:1.4}.stat-tile span{color:#83705a;font-size:10px}.hero-footer{border-top:1px solid #463525;margin:0 15px;padding:13px 0;display:flex;gap:6px;align-items:center;justify-content:center;color:#8d7b66;font:italic 11px var(--serif)}.footer-rune{color:#a58960}.journey-panel{padding:20px 17px 13px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:21px 17px 15px}.panel-heading h2{font:normal 20px var(--serif);color:#e9d7b8;margin:5px 0 0}.heading-glyph{color:#a58459;font-size:26px}.panel-heading.compact{padding:0 0 13px}.journey-row{display:flex;justify-content:space-between;gap:9px;padding:9px 0;border-top:1px solid #4a392b;color:#998774;font-size:11px}.journey-row strong{color:var(--cream);font-size:12px}.battle-panel{border:1px solid #70573a;background:#221b14;box-shadow:inset 0 0 0 1px #1a1510,0 10px 30px #0005}.battle-top{min-height:104px;display:flex;justify-content:space-between;align-items:center;padding:19px 27px 15px;background:radial-gradient(ellipse at 80% 50%,#61412622,transparent 65%),linear-gradient(90deg,#2c2118,#201a15)}.gold-eyebrow{color:#d4ab66}.battle-top h1{font:normal 30px var(--serif);letter-spacing:.3px;margin:4px 0 3px;color:#f2deb8}.battle-top p{margin:0;color:#a18b73;font:italic 12px var(--serif)}.zone-crest{font:normal 25px var(--serif);width:51px;height:56px;display:grid;place-items:center;color:#dfb56b;clip-path:polygon(50% 0,100% 15%,100% 76%,50% 100%,0 76%,0 15%);background:linear-gradient(130deg,#82613a,#34291c);border:1px solid #aa814d;filter:drop-shadow(0 2px 5px #0009)}.battlefield{height:410px;position:relative;overflow:hidden;isolation:isolate;--sky1:#2c3035;--sky2:#40302d;--glow:#d3a571}.battlefield.zone-1{--sky1:#263c38;--sky2:#21332a;--glow:#6fb5a0}.battlefield.zone-2{--sky1:#273447;--sky2:#243041;--glow:#7b9bc3}.battlefield.zone-3{--sky1:#39283e;--sky2:#36283a;--glow:#a27ec3}.battlefield.zone-4{--sky1:#3a2427;--sky2:#3e2424;--glow:#d9745b}.battlefield.zone-5{--sky1:#3a303a;--sky2:#322437;--glow:#b992e4}.scene-sky{position:absolute;inset:0;background:radial-gradient(ellipse 36% 52% at 50% 45%,color-mix(in srgb,var(--glow) 22%,transparent),transparent 89%),linear-gradient(var(--sky1),var(--sky2) 58%,#211b19)}.scene-sky:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 90%,transparent 15%,#100d0d8c 97%)}.scene-moon{position:absolute;width:105px;height:105px;left:calc(50% - 52px);top:58px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ead7ae,#d8c4a082 35%,#f2d7a31c 65%,transparent 72%);box-shadow:0 0 70px 10px #e2cba12b;opacity:.7}.scene-back-mountain{position:absolute;bottom:66px;width:70%;height:195px;background:#1b2225;clip-path:polygon(0 100%,0 57%,13% 67%,28% 14%,43% 55%,58% 29%,72% 71%,90% 39%,100% 78%,100% 100%);opacity:.72}.scene-back-mountain.left{left:-15%}.scene-back-mountain.right{right:-20%;transform:scaleX(-1);background:#21262a}.scene-ruin{position:absolute;bottom:30px;width:86px;height:218px;background:linear-gradient(90deg,#17181a,#41403e 43%,#222221);clip-path:polygon(14% 0,78% 0,83% 12%,72% 13%,72% 70%,100% 72%,100% 88%,84% 88%,84% 100%,0 100%,0 87%,14% 87%,14% 12%,4% 12%);filter:drop-shadow(7px 7px 12px #0009);opacity:.84}.ruin-left{left:7%}.ruin-right{right:7%;transform:scaleX(-1);height:178px;opacity:.65}.scene-floor{position:absolute;bottom:0;height:103px;width:100%;background:linear-gradient(180deg,#3e3932bb,#211f1e 32%,#141311 95%)}.scene-floor:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(94deg,transparent 0 46px,#aa98601b 47px 48px),repeating-linear-gradient(176deg,transparent 0 23px,#a49a7416 24px 26px);transform:perspective(140px) rotateX(18deg)}.scene-mist{position:absolute;bottom:15px;width:60%;height:70px;background:#b9aca42b;filter:blur(24px);border-radius:50%;animation:drift 9s ease-in-out infinite alternate}.mist-one{left:4%}.mist-two{right:-7%;animation-duration:12s;animation-direction:alternate-reverse}.scene-ember{position:absolute;width:3px;height:3px;background:#d7a45e;border-radius:50%;box-shadow:0 0 8px #ebaa5e;animation:ember 8s linear infinite}.ember-1{left:25%;bottom:25%;animation-delay:-3s}.ember-2{left:69%;bottom:41%;animation-delay:-6s}.ember-3{left:43%;bottom:26%;animation-delay:-1s}.mob-info{position:absolute;z-index:5;top:22px;left:50%;transform:translateX(-50%);width:min(310px,75%)}.mob-name-row{display:flex;justify-content:center;gap:8px;align-items:center;margin-bottom:7px;color:#f3e0c8;text-shadow:0 2px 3px #000}.mob-name-row strong{font:700 17px var(--serif)}.mob-icon{color:#c97b6b;font-size:15px}.mob-rank{color:#c7b49e;font-size:10px;border:1px solid #8e7856;background:#14110e9c;padding:0 6px}.hp-track{height:19px;border-color:#9a6e56;background:#180d0f}.hp-fill{background:linear-gradient(#b85c50,#762b2d);box-shadow:inset 0 1px #e5947c66}.hp-numbers{position:absolute;inset:0;display:grid;place-items:center;color:#fff1e7;font-size:10px;font-weight:700;text-shadow:0 1px 3px #000;letter-spacing:.3px;font-variant-numeric:tabular-nums}.attack-target{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);z-index:4;width:min(290px,66%);height:305px;border:0;background:none;padding:0;user-select:none;-webkit-user-select:none}.monster-aura{position:absolute;inset:23% 10% 8%;border-radius:50%;background:radial-gradient(circle,#d5996e27,transparent 70%);filter:blur(16px)}.mob-shadow{position:absolute;bottom:27px;left:13%;height:23px;width:74%;border-radius:50%;background:#000b;filter:blur(10px)}.monster-art{position:relative;display:block;width:100%;height:100%;filter:drop-shadow(0 16px 12px #000b);transition:filter .12s}.monster-art img{width:100%;height:100%;object-fit:contain;overflow:visible;animation:floatIdle 3.2s ease-in-out infinite}.attack-target:hover .monster-art{filter:drop-shadow(0 0 12px #e1a96b78) drop-shadow(0 14px 9px #000c)}.attack-target:active .monster-art{transform:scale(.97)}.attack-target.damaged .monster-art{animation:impact .18s ease-out}.attack-target.damaged img{animation:none}.target-hint{position:absolute;bottom:12px;left:0;right:0;color:#e3c8a2;font-size:10px;letter-spacing:1.7px;font-weight:700;text-shadow:0 2px 4px #000;opacity:.66;white-space:nowrap}.attack-target:hover .target-hint{opacity:1}.battle-corner{position:absolute;z-index:10;pointer-events:none;width:28px;height:28px;border-color:#947146;border-style:solid}.battle-corner.tl{top:0;left:0;border-width:2px 0 0 2px}.battle-corner.tr{top:0;right:0;border-width:2px 2px 0 0}.battle-corner.bl{bottom:0;left:0;border-width:0 0 2px 2px}.battle-corner.br{bottom:0;right:0;border-width:0 2px 2px 0}.battle-bottom{padding:12px 16px;display:flex;gap:10px;justify-content:space-between;align-items:center;background:linear-gradient(90deg,#2b241b,#1f1b16);font-size:9px;letter-spacing:1.1px;color:#a38a69}.battle-kill-count{color:#d6b275;text-align:right}.milestone-banner{display:flex;align-items:center;gap:14px;padding:15px 18px;border:1px solid #4c3b2a;background:linear-gradient(100deg,#2c241a,#1b1815);min-height:77px}.milestone-symbol{width:43px;height:43px;display:grid;place-items:center;background:#4a3421;border:1px solid #906b3e;font-size:26px;color:var(--gold)}.milestone-banner strong{color:#e6c594;font:normal 16px var(--serif)}.milestone-banner p{margin:4px 0 0;color:#968574;font-size:11px}.milestone-arrow{margin-left:auto;color:#81623b}.intel-panel{padding-bottom:15px}.intel-block{display:flex;align-items:center;gap:11px;border:1px solid #544330;background:#191612;margin:0 15px;padding:13px 11px}.intel-symbol{font-size:25px;color:#c17b65}.intel-block small,.intel-block strong,.intel-block span{display:block}.intel-block small{font-size:9px;color:#9a8068;letter-spacing:1px}.intel-block strong{font:normal 16px var(--serif);margin:2px 0}.intel-block span{color:#beaa91;font-size:11px}.ornate-divider{text-align:center;color:#806345;position:relative;margin:12px 15px}.ornate-divider:before,.ornate-divider:after{content:'';position:absolute;top:50%;height:1px;background:#50402e;width:42%}.ornate-divider:before{left:0}.ornate-divider:after{right:0}.intel-chance{display:flex;justify-content:space-between;margin:11px 17px;gap:8px;color:#9b8974;font-size:11px}.intel-chance strong{color:#e5c08b}.mini-tip{margin:20px 15px 0;padding:12px;background:#45341e6b;border-left:2px solid var(--gold-dim);color:#a99476;font:italic 12px/1.5 var(--serif)}.log-panel{display:flex;flex-direction:column;flex:1;min-height:271px}.log-heading{padding-bottom:12px}.live-indicator{white-space:nowrap;font-size:9px;letter-spacing:1px;color:#86b48e}.live-indicator span{display:inline-block;background:#75a880;width:5px;height:5px;border-radius:50%;vertical-align:middle;margin-right:3px}.combat-log{overflow-y:auto;height:230px;min-height:140px;scrollbar-color:#80623b #251d16;scrollbar-width:thin;padding:0 14px;flex:1}.log-entry{display:flex;gap:9px;padding:11px 3px;border-bottom:1px solid #403429;align-items:flex-start;color:#af9d88;font-size:11px;animation:entryIn .24s ease}.log-entry .log-glyph{min-width:15px;color:#b89764;text-align:center}.log-entry p{margin:0}.log-entry time{display:block;color:#766755;font-size:9px;margin-top:3px}.log-entry.rare p{color:#dcb26b}.log-entry.epic p{color:#bfa0ed}.log-entry.good p{color:#9cbd9e}.log-footer{border-top:1px solid #473526;margin:8px 14px 0;padding:11px 0;color:#79674f;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.1px}.management{margin-top:17px}.tab-nav{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #665039;background:linear-gradient(#30251b,#211a14)}.tab-button{display:flex;align-items:center;justify-content:center;gap:11px;background:transparent;border:0;border-right:1px solid #55402c;color:#a9967e;letter-spacing:1.5px;font-size:11px;font-weight:700;padding:17px 7px 15px;position:relative}.tab-button:last-child{border-right:0}.tab-button .tab-icon{font-size:18px;color:#978066;line-height:1}.tab-button i{font-style:normal;display:inline-grid;place-items:center;font-size:9px;width:19px;height:19px;border:1px solid #5a4b3a;border-radius:50%;margin-left:3px;color:#cab18a}.tab-button.active{background:linear-gradient(#57432c91,#342617);color:#f1d19b;text-shadow:0 0 9px #cb92473b}.tab-button.active:before{content:'';position:absolute;left:0;top:0;right:0;height:2px;background:var(--gold);box-shadow:0 0 12px #ebb669}.tab-button:hover:not(.active){color:#ebd0a6;background:#3b2b1d}.tab-body{padding:24px;min-height:262px}.section-headline{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.section-headline h2{font:normal 24px var(--serif);color:#f0debd;margin:0 0 4px}.section-headline p{color:#9e8972;margin:0;font-size:12px}.quantity-control,.filter-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.quantity-control small,.filter-control label{font-size:10px;color:#a18b6e;letter-spacing:1px}.mini-button{border:1px solid #655038;background:#251e17;color:#b5a088;padding:7px 12px;min-width:40px;font-weight:700;font-size:11px}.mini-button.selected,.mini-button:hover{background:#6c4b28;color:#ffe0a8;border-color:#b48b51}.upgrade-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.upgrade-card{border:1px solid #594531;background:linear-gradient(140deg,#30251b,#1a1613);padding:16px;position:relative;overflow:hidden}.upgrade-card:before{content:'';height:2px;position:absolute;top:0;left:0;right:0;background:linear-gradient(90deg,#bf9656,transparent)}.upgrade-icon{font:normal 25px var(--serif);color:#d6b67b}.upgrade-name{font:normal 17px var(--serif);color:#f0ddbc;margin:8px 0 4px}.upgrade-description{font-size:11px;line-height:1.45;color:#9f8a75;min-height:48px}.upgrade-rank{display:flex;justify-content:space-between;border-top:1px solid #4c3b2c;padding:10px 0;margin-top:8px;color:#9f8971;font-size:11px}.upgrade-rank strong{color:#dec293}.buy-button{width:100%;border:1px solid #8e7046;background:linear-gradient(#73512c,#4d341e);color:#f4dbad;min-height:38px;font-size:10px;letter-spacing:.6px;font-weight:700;transition:filter .15s}.buy-button:not(:disabled):hover,.primary-button:hover{filter:brightness(1.22)}.buy-button:disabled{background:#302821;border-color:#544334;color:#94806a}.equipment-strip{border:1px solid #5b4937;background:#1a1713;margin-bottom:15px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px}.equip-slot{padding:11px 12px;background:#272019;display:flex;align-items:center;gap:8px;min-width:0}.equip-symbol{font-size:23px;color:#ba9b6d}.equip-slot small{color:#927b64;display:block;font-size:9px;letter-spacing:1px}.equip-slot strong{color:#dec7a9;font-size:11px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.inventory-tools{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.dark-select{background:#211911;border:1px solid #70593b;color:#d9c5a7;padding:9px 30px 9px 10px;min-height:37px}.subtle-button{border:1px solid #665037;background:#36291d;color:#ddc4a1;padding:10px 15px;font-size:10px;letter-spacing:1px;font-weight:700}.subtle-button:not(:disabled):hover{background:#513820}.inventory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.item-card{border:1px solid var(--rarity-border,#78634b);background:linear-gradient(135deg,#34291ed9,#1a1714);padding:13px;min-width:0}.item-card.equipped{box-shadow:inset 0 0 0 1px #debc6c88}.item-top{display:flex;gap:9px;align-items:start}.item-glyph{width:38px;height:42px;flex-shrink:0;display:grid;place-items:center;background:#1b1814;border:1px solid var(--rarity-border,#66513f);font-size:23px;color:var(--rarity-text,#cdb99f)}.item-card h3{font:normal 14px/1.15 var(--serif);color:var(--rarity-text,#e2d0b9);margin:2px 0 5px;overflow-wrap:anywhere}.item-card .rarity{color:var(--rarity-text,#9e9387);font-size:9px;letter-spacing:1px;text-transform:uppercase}.item-stats{color:#bca790;font-size:11px;min-height:26px;margin:10px 0}.item-actions{display:flex;gap:6px}.item-actions button{flex:1;padding:8px 4px;border:1px solid #6e5136;background:#4b3421;color:#e6c99f;font-size:10px}.item-actions button:last-child{background:#28211b;border-color:#544032;color:#ad9982}.item-actions button:disabled{opacity:.5}.empty-state{text-align:center;padding:38px 20px;border:1px dashed #5b4834;color:#a4947d}.empty-state .empty-glyph{font:normal 42px var(--serif);color:#ad8c5a}.empty-state strong{display:block;color:#ead4ac;font:normal 20px var(--serif);margin:4px}.zone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.zone-card{border:1px solid #544431;background:#231c16;padding:16px;min-height:147px;position:relative}.zone-card.current{border-color:#c29a5b;background:linear-gradient(145deg,#44301f,#211a14)}.zone-card.locked{filter:saturate(.5);opacity:.7}.zone-card h3{font:normal 20px var(--serif);margin:5px 0;color:#e8cfaa}.zone-card p{color:#9b8974;font:italic 12px var(--serif);margin:0 0 15px}.zone-card .zone-index{color:#d0a66b;font-size:10px;letter-spacing:1.6px}.zone-card .zone-requirement{font-size:10px;color:#bda787;min-height:16px}.zone-card button{position:absolute;right:12px;bottom:11px;border:1px solid #886642;background:#5e4026;color:#f2d2a2;padding:7px 10px;font-size:10px}.ascension-layout{display:grid;grid-template-columns:240px 1fr;gap:20px}.ascension-info{background:linear-gradient(#30241e,#211a18);border:1px solid #674b48;padding:20px}.ascension-sigil{text-align:center;color:#bfa0e6;text-shadow:0 0 25px #a178c5;font:normal 54px var(--serif)}.ascension-info h3{text-align:center;font:normal 24px var(--serif);color:#f2dcb6;margin:0 0 10px}.ascension-info p{color:#a79583;font-size:12px;line-height:1.6}.ascension-gain{text-align:center;border:1px solid #7b5b6d;background:#281c26;padding:11px;color:#bca2d6;margin:15px 0}.ascension-gain strong{display:block;font:normal 31px var(--serif);color:#dbc1ff}.ascension-gain span{font-size:10px;letter-spacing:1px}.ascend-button{border-color:#9474a1;background:linear-gradient(#755482,#4a3356);color:#f8e9ff}.ascend-button:disabled{background:#373039;border-color:#65546a}.ascension-note{color:#927c75;font-size:10px;margin-top:10px;line-height:1.5}.skill-tree{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.skill-path{border:1px solid #584333;background:#1a1613;padding:12px 10px 14px}.skill-path-header{text-align:center;padding-bottom:10px;border-bottom:1px solid #493629}.skill-path-header .path-icon{font-size:24px;display:block;margin-bottom:3px}.skill-path-header strong{font:normal 16px var(--serif);color:#ddc4a1}.skill-path-header small{display:block;color:#98806a;font-size:9px;letter-spacing:1px}.skill-node{position:relative;width:100%;display:flex;gap:9px;align-items:center;text-align:left;border:1px solid #65503c;background:#30261e;padding:10px 7px;color:#d7c5ae;margin-top:18px;min-height:71px}.skill-node:before{content:'';height:18px;position:absolute;width:2px;background:#6e5235;bottom:100%;left:28px}.skill-node:first-of-type:before{display:none}.skill-node:disabled{opacity:.58}.skill-node.unlocked{border-color:#a58c58;background:linear-gradient(90deg,#51402b,#282018)}.skill-node.available:hover{border-color:#eac17e;background:#54402a}.skill-node .node-symbol{font-size:22px;display:grid;place-items:center;width:35px;height:35px;flex-shrink:0;border:1px solid #6d543e;border-radius:50%;color:#d0ad79;background:#1c1715}.skill-node.unlocked .node-symbol{box-shadow:0 0 12px #d6ab4a47;border-color:#dcb575}.node-copy{min-width:0;display:block}.node-copy strong{display:block;font:normal 12px var(--serif);color:#f0d4aa}.node-copy span,.node-copy em{display:block;color:#b4a28c;font-size:10px;font-style:normal;line-height:1.3}.node-copy em{color:#d7b77e;margin-top:3px}.skill-node.locked .node-copy em{color:#a38b8b}.site-footer{padding-top:18px;display:flex;align-items:center;gap:14px;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#85725b}.footer-buttons{display:flex;gap:8px}.footer-buttons button{font-size:9px;letter-spacing:1px;background:#2e231a;border:1px solid #705337;color:#d0b48a;padding:9px 12px}.footer-buttons button:hover{background:#4b3521}.event-overlay{z-index:9;position:absolute;right:16px;top:91px;width:179px;animation:eventPop .35s cubic-bezier(.18,1.4,.25,1)}.event-ribbon{text-align:center;color:#ffe3a0;font-weight:800;font-size:10px;letter-spacing:1.5px;text-shadow:0 0 8px #ffce75;background:#9e5b19;border:1px solid #ffcf77;border-bottom:0;padding:5px;box-shadow:0 0 18px #ffe1907e}.event-button{width:100%;border:2px solid #f8cf65;background:radial-gradient(circle at 50% 27%,#6f4b1e,#27190f 73%);padding:8px;display:flex;flex-direction:column;align-items:center;color:#ffe6ad;box-shadow:0 0 25px #ffc454b8,inset 0 0 18px #eeae3a6d;animation:eventShake .7s ease-in-out infinite}.event-illustration{font-size:53px;line-height:1.1;filter:drop-shadow(0 0 7px #ffe09c)}.event-title{font:normal 17px var(--serif);line-height:1.1;min-height:36px}.event-instruction{font-size:8px;letter-spacing:1px;color:#fbd17c;margin:6px}.event-progress-track{width:100%;height:8px;border:1px solid #a78045;background:#1c140c}.event-progress-track>span{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ce8d22,#f6df79)}.event-clock{font-size:13px;margin-top:5px}.damage-layer{position:absolute;inset:0;pointer-events:none;z-index:20}.float-damage{position:absolute;left:50%;top:46%;color:#f9e0ae;text-shadow:0 1px 4px #000,0 0 15px #f3aa55;font:700 21px var(--serif);animation:damageFly .85s ease-out forwards;white-space:nowrap}.float-damage.crit{color:#ffb55a;font-size:30px}.float-damage.event-hit{left:77%;top:35%;color:#ffe072}.float-damage.reward{color:#edcd78;font-size:24px}.auth-screen{position:fixed;z-index:100;inset:0;overflow-y:auto;display:grid;place-items:center;padding:30px 18px;background:radial-gradient(ellipse at 50% 42%,#51351f,#171310 60%,#0a0909)}.auth-glow{position:absolute;width:min(730px,98vw);height:min(730px,98vw);border:1px solid #9b70402d;border-radius:50%;pointer-events:none;box-shadow:0 0 80px #bf7a3330,inset 0 0 90px #bb7e2814}.auth-glow:before,.auth-glow:after{content:'';position:absolute;inset:40px;border:1px dashed #ab85482a;border-radius:50%}.auth-glow:after{inset:92px;border-style:solid}.auth-card{position:relative;max-width:550px;width:100%;text-align:center;padding:35px 44px 31px;border:1px solid #a3814a;background:linear-gradient(135deg,#38281e,#241c17 45%,#191512);box-shadow:0 0 0 6px #17110e,0 25px 70px #000b}.auth-card:before{content:'';position:absolute;inset:5px;border:1px solid #b99b5c38;pointer-events:none}.auth-sigil{font-size:65px;color:#e7bd79;text-shadow:0 0 25px #d68e48;line-height:1.1}.auth-overline{margin:9px 0}.auth-card h1{font:normal 41px/1.1 var(--serif);color:#f4ddb8;margin:12px 0}.auth-card h1 em{font-style:normal;color:#d6a65e}.auth-card>p{font:italic 15px var(--serif);color:#b9a28a;line-height:1.6}.auth-divider{position:relative;margin:28px 0;color:#a78151}.auth-divider:before,.auth-divider:after{position:absolute;content:'';top:50%;width:44%;height:1px;background:#6f573b}.auth-divider:before{left:0}.auth-divider:after{right:0}#createProfileForm{text-align:left}#createProfileForm label{display:block;color:#c19f75;font-size:10px;letter-spacing:1.5px;font-weight:700;margin-bottom:10px}.auth-create-row{display:flex;flex-direction:column;gap:10px}.auth-create-row input{width:100%;border:1px solid #756044;background:#141210;color:#f5e0bc;padding:13px;font-size:14px;min-height:47px}.primary-button{border:1px solid #b18a54;background:linear-gradient(#8b632f,#604021);padding:12px 16px;color:#ffe5b5;font-size:11px;font-weight:700;letter-spacing:1.3px;min-height:45px}.saved-heading{font-size:10px;color:#a78b68;letter-spacing:1.5px;font-weight:700;margin:22px 0 11px}.profile-list{display:grid;gap:7px;max-height:162px;overflow:auto}.saved-profile{border:1px solid #5d4832;background:#1a1613;color:#e9cfa7;text-align:left;padding:9px 13px;display:flex;justify-content:space-between;gap:10px;align-items:center}.saved-profile:hover{border-color:#b69056;background:#39281b}.saved-profile small{color:#977f66}.auth-bottom{margin-top:24px;display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #62472f;padding-top:15px;color:#90806b;font-size:10px;text-align:left}.auth-bottom button{background:none;border:0;color:#ddba81;font-size:10px;font-weight:700;white-space:nowrap}.auth-footnote{position:absolute;bottom:13px;color:#b18a5c;font-size:9px;letter-spacing:1px;white-space:nowrap}.modal-backdrop{position:fixed;z-index:110;inset:0;background:#080705d9;display:grid;place-items:center;padding:20px}.dialog{max-width:455px;width:100%;text-align:center;padding:28px 32px 25px;border-color:#a1855e}.dialog-icon{font-size:52px;color:#d9b67a;text-shadow:0 0 19px #ad793c}.dialog h2{font:normal 30px var(--serif);color:#f3ddb9;margin:8px 0}.dialog p{color:#bca891;line-height:1.7;font-size:13px;margin:14px 0 20px;white-space:pre-line}.dialog-actions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}.dialog-actions button{min-width:120px}.toast-stack{position:fixed;right:20px;bottom:21px;z-index:120;display:flex;flex-direction:column;gap:8px;width:min(365px,calc(100vw - 40px));pointer-events:none}.toast{background:linear-gradient(100deg,#36291c,#1a1713);border:1px solid #9a7645;border-left:3px solid #d6a351;color:#eed8b7;padding:13px 15px;box-shadow:0 9px 23px #0008;animation:entryIn .3s ease;font-size:12px}.toast.good{border-left-color:#8ebc8c}.toast.epic{border-left-color:#ad8cdb}.rarity-comum{--rarity-text:#bcb6a9;--rarity-border:#665e52}.rarity-incomum{--rarity-text:#92c69d;--rarity-border:#4d7756}.rarity-raro{--rarity-text:#8db4e9;--rarity-border:#446792}.rarity-epico{--rarity-text:#c1a0f0;--rarity-border:#8056ae}.rarity-lendario{--rarity-text:#f1b960;--rarity-border:#ab7135}
@keyframes floatIdle{0%,100%{transform:translateY(2px)}50%{transform:translateY(-5px)}}@keyframes drift{from{transform:translateX(-10%)}to{transform:translateX(30%)}}@keyframes ember{0%{opacity:0;transform:translateY(30px)}20%,75%{opacity:.7}100%{opacity:0;transform:translateY(-160px)}}@keyframes impact{0%{transform:translate(0,0)}25%{transform:translate(-6px,2px)}55%{transform:translate(5px,-1px)}100%{transform:translate(0,0)}}@keyframes eventShake{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}@keyframes eventPop{0%{opacity:0;transform:scale(.5)}100%{opacity:1;transform:scale(1)}}@keyframes damageFly{0%{opacity:0;transform:translate(-50%,10px) scale(.7)}15%{opacity:1}100%{opacity:0;transform:translate(-50%,-68px) scale(1.1)}}@keyframes entryIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1250px){.app-frame{padding:0 21px 20px}.game-layout{grid-template-columns:215px minmax(360px,1fr) 235px;gap:12px}.left-column,.right-column,.battle-column{gap:12px}.brand{min-width:280px}.brand-name{font-size:18px}.brand-eyebrow{font-size:8px}.resource-pill{min-width:98px;padding:10px}.fragment-pill{display:none}.profile-button{min-width:130px}.upgrade-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.battlefield{height:390px}.hero-portrait{height:176px}.hero-icon{width:145px}.hero-circle{width:148px;height:148px}}
@media(max-width:1000px){.topbar{flex-wrap:wrap;gap:12px;padding:15px 0;min-height:98px}.brand{flex:1}.top-resources{flex:0 1 auto}.profile-button{min-width:auto}.profile-copy{display:none}.game-layout{grid-template-columns:minmax(0,1fr) 285px;align-items:start}.battle-column{grid-column:1;grid-row:1}.right-column{grid-column:2;grid-row:1}.left-column{grid-column:1/-1;grid-row:2;flex-direction:row}.adventurer-panel{flex:2}.journey-panel{flex:1}.hero-portrait{height:135px}.hero-icon{width:124px}.hero-circle{width:125px;height:125px}.hero-stat-grid{grid-template-columns:repeat(4,1fr)}.battlefield{height:405px}.ascension-layout{grid-template-columns:1fr}.ascension-info{display:grid;grid-template-columns:90px 1fr;column-gap:10px;align-items:center}.ascension-sigil{grid-row:1/3}.ascension-info h3{text-align:left}.ascension-info p{grid-column:2}.ascension-gain,.ascension-info button,.ascension-note{grid-column:1/-1}}
@media(max-width:720px){.app-frame{padding:0 12px 22px}.topbar{gap:10px}.brand{min-width:0}.brand-mark{width:34px}.brand-mark svg{width:36px}.brand-name{font-size:17px;white-space:normal}.brand-eyebrow{letter-spacing:1px;font-size:7px}.top-resources{order:3;justify-content:stretch;width:100%;flex:1 0 100%}.resource-pill{flex:1;padding:7px 11px}.fragment-pill{display:flex}.profile-button{order:2;padding-left:7px}.underbar{font-size:8px;height:35px}.underbar-right{display:none}.game-layout{display:flex;flex-direction:column}.battle-column{order:1;width:100%}.left-column{order:2;width:100%;display:grid;grid-template-columns:1fr 1fr}.right-column{order:3;width:100%;display:grid;grid-template-columns:1fr 1fr}.hero-stat-grid{grid-template-columns:1fr 1fr}.battlefield{height:385px}.log-panel{min-height:280px}.intel-panel{height:100%}.battle-top{padding:17px}.battle-top h1{font-size:25px}.battle-bottom{flex-direction:column;align-items:flex-start;gap:5px}.battle-top p{font-size:11px}.tab-body{padding:15px}.tab-button{gap:5px;font-size:10px;letter-spacing:.4px}.tab-button .tab-icon{font-size:17px}.zone-grid{grid-template-columns:repeat(2,1fr)}.site-footer{flex-wrap:wrap}.site-footer>span:nth-child(2){display:none}}
@media(max-width:520px){.brand-name{font-size:15px}.brand-mark{display:none}.fragment-pill{display:none}.resource-pill strong{font-size:13px}.underbar-left{font-size:7px;gap:5px}.battlefield{height:365px}.mob-info{top:15px}.attack-target{width:70%;height:280px;top:58%}.event-overlay{top:94px;right:8px;width:132px}.event-illustration{font-size:35px}.event-title{font-size:13px;min-height:28px}.event-ribbon{font-size:8px}.event-instruction{font-size:7px}.target-hint{font-size:8px}.left-column,.right-column{display:flex;flex-direction:column}.left-column{gap:10px}.hero-portrait{height:145px}.hero-stat-grid{grid-template-columns:repeat(4,1fr);gap:4px}.stat-tile strong{font-size:20px}.stat-tile small{font-size:8px}.journey-panel{padding:15px}.right-column{gap:10px}.log-panel{height:280px}.combat-log{height:195px}.tab-button{font-size:8px;flex-direction:column;padding:11px 2px}.tab-button .tab-icon{font-size:20px}.tab-button i{display:none}.section-headline{align-items:start;flex-direction:column;gap:10px}.upgrade-grid,.inventory-grid,.zone-grid{grid-template-columns:1fr}.upgrade-card{padding:14px}.upgrade-description{min-height:auto}.equipment-strip{grid-template-columns:repeat(2,1fr)}.skill-tree{grid-template-columns:1fr}.skill-node{min-height:62px}.skill-path{padding:14px}.ascension-info{display:block}.ascension-info h3{text-align:center}.ascension-info p{margin:10px}.auth-card{padding:29px 23px}.auth-card h1{font-size:34px}.auth-bottom{flex-direction:column;text-align:center}.auth-footnote{font-size:7px}.footer-buttons{width:100%}.footer-buttons button{flex:1}.dialog{padding:23px 18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

.event-illustration{width:66px;height:67px;display:grid;place-items:center}.event-illustration svg{width:100%;height:100%;filter:drop-shadow(0 0 5px #ffd273)}
@media(max-width:520px){.event-illustration{width:48px;height:49px}}

/* v2 — Diário com altura estritamente limitada e rolagem interna */
.log-panel{flex:none;display:flex;flex-direction:column;height:318px;max-height:318px;min-height:0;overflow:hidden}
.log-panel .log-heading,.log-panel .log-footer{flex:0 0 auto}
.log-panel .combat-log{flex:1 1 auto;min-height:0;height:0;max-height:none;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#af864e #251d16}
.log-panel .combat-log::-webkit-scrollbar{width:7px}
.log-panel .combat-log::-webkit-scrollbar-thumb{background:#af864e;border-radius:5px;border:1px solid #2f2419}
.log-panel .combat-log::-webkit-scrollbar-track{background:#251d16}
.log-panel .log-footer{font-size:8px;letter-spacing:.5px}
/* Dez fases de combate com checkpoints obrigatórios */
.stage-strip{padding:12px 20px 13px;background:linear-gradient(100deg,#31271d,#1c1915);border-top:1px solid #4a3825;border-bottom:1px solid #796041}
.stage-caption{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:10px;color:#aa9578;letter-spacing:1.2px}
.stage-caption strong{font:700 14px var(--serif);color:#edc47d;letter-spacing:1px}
.stage-progress-track{height:5px;background:#120f0c;border:1px solid #594731;margin:8px 0 10px;overflow:hidden}
.stage-progress-track span{display:block;height:100%;background:linear-gradient(90deg,#a97d42,#eed18b);transition:width .18s linear;width:0}
.stage-pips{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}
.stage-pips span{min-width:0;text-align:center;color:#786955;border:1px solid #46392b;background:#191512;padding:4px 0;font-size:10px;line-height:1.1;font-weight:700}
.stage-pips .miniboss-pip{border-color:#7f4e60;color:#bf92a1}
.stage-pips .boss-pip{border-color:#a67738;color:#f1bf6b}
.stage-pips .completed{background:#53452b;border-color:#b28e56;color:#eed8a6}
.stage-pips .active{background:#8b6031;border-color:#f7d497;color:#fff0c9;box-shadow:0 0 10px #d79a445c}
.battlefield.miniboss-fight .monster-aura{filter:hue-rotate(220deg) brightness(1.5);opacity:.9}
.battlefield.boss-fight .monster-aura{filter:hue-rotate(330deg) brightness(1.8);opacity:1}
.battlefield.miniboss-fight .monster-art{filter:drop-shadow(0 0 18px #bb83cb) drop-shadow(0 5px 7px #09080a);transform:scale(1.12)}
.battlefield.boss-fight .monster-art{filter:drop-shadow(0 0 24px #e2634b) drop-shadow(0 6px 9px #09080a);transform:scale(1.19)}
.battlefield.boss-fight .hp-track{border-color:#e49c55;box-shadow:0 0 11px #d2754273}
.battlefield.boss-fight .hp-fill{background:linear-gradient(90deg,#9f2832,#e4533e)}
.battlefield.miniboss-fight .hp-fill{background:linear-gradient(90deg,#68376b,#ad6eb2)}
.battlefield.boss-fight .mob-rank,.battlefield.miniboss-fight .mob-rank{color:#fff0bd;border-color:#d6a459;background:#51311e}
.zone-progress-track{height:5px;background:#130f0d;border:1px solid #5e4831;margin:10px 0 6px;overflow:hidden}
.zone-progress-track span{display:block;height:100%;background:linear-gradient(90deg,#8a6337,#dcb36e)}
.zone-boss-note{font-size:9px;color:#a99070;letter-spacing:.2px;margin-bottom:12px}
.zone-card.cleared{border-color:#8d7949}
@media(max-width:720px){.log-panel{height:292px;max-height:292px;min-height:0}.log-panel .combat-log{height:0;min-height:0}.stage-strip{padding:10px 13px}.stage-pips{gap:3px}}
@media(max-width:520px){.log-panel{height:282px;max-height:282px}.log-panel .combat-log{height:0;min-height:0}.stage-caption strong{font-size:13px}.stage-pips span{padding:5px 0;font-size:9px}}

/* Variações visuais entre as cinco criaturas de cada região. */






/* Monster roster v3: individual SVG silhouettes, no hue-rotation variations. */
.zone-card{padding-bottom:52px}.zone-bestiary{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;align-items:end;margin:12px 0 0;padding:9px 4px 7px;background:#130f0c;border:1px solid #50402f;min-height:74px}
.zone-bestiary img{display:block;width:100%;height:62px;object-fit:contain;filter:drop-shadow(0 3px 3px #0008)}
.zone-bestiary img.elite{background:linear-gradient(180deg,transparent,#a56e3022);border-bottom:2px solid #b88d5d}
.zone-bestiary img:hover{filter:drop-shadow(0 0 8px #e4b46b);transform:translateY(-3px)}
@media (max-width:520px){.zone-bestiary{gap:1px;padding:7px 2px}.zone-bestiary img{height:51px}}

/* Anatomy-driven ambient motion. Every sprite has its own geometry; animation reinforces it. */
.monster-art[data-family="quad"] img{animation:mobBreath 2s ease-in-out infinite}
.monster-art[data-family="arthropod"] img{animation:mobSkitter 2.3s ease-in-out infinite}
.monster-art[data-family="tree"] img{animation:mobSway 4.8s ease-in-out infinite}
.monster-art[data-family="wraith"] img,.monster-art[data-family="drowned"] img{animation:mobHaunt 3.3s ease-in-out infinite}
.monster-art[data-family="colossus"] img,.monster-art[data-family="abomination"] img{animation:mobStomp 4.2s ease-in-out infinite}
.monster-art[data-family="cosmic"] img{animation:mobPulse 3.6s ease-in-out infinite}
@keyframes mobBreath{0%,100%{transform:translateY(0) scaleX(1)}50%{transform:translateY(-2px) scaleX(1.028)}}
@keyframes mobSkitter{0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(3px) rotate(.65deg)}75%{transform:translateX(-3px) rotate(-.65deg)}}
@keyframes mobSway{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}
@keyframes mobHaunt{0%,100%{transform:translateY(0);opacity:.93}50%{transform:translateY(-9px);opacity:1}}
@keyframes mobStomp{0%,88%,100%{transform:translateY(0)}90%{transform:translateY(3px)}}
@keyframes mobPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.042)}}
@media(prefers-reduced-motion:reduce){.monster-art img{animation:none!important}}

/* Touch-friendly monster inspection: no overlapping travel button or inert thumbnail. */
.zone-card .zone-bestiary .bestiary-creature{position:static;display:grid;place-items:end center;min-width:0;width:100%;height:69px;margin:0;padding:0;background:transparent;border:1px solid transparent;outline-offset:1px;opacity:1;cursor:pointer}
.zone-card .zone-bestiary .bestiary-creature.elite{border-bottom:2px solid #b88d5d}
.zone-card .zone-bestiary .bestiary-creature:hover{background:#6c503429;border-color:#8c6a45}
.zone-bestiary .bestiary-creature img{width:100%;height:62px;object-fit:contain;pointer-events:none}
.zone-bestiary .bestiary-creature:focus-visible{outline:2px solid #e7bb6d}
.dialog-monster-preview{display:block;width:min(240px,100%);height:242px;object-fit:contain;margin:0 auto 8px;filter:drop-shadow(0 8px 13px #000a)}
@media(max-width:520px){.zone-card .zone-bestiary .bestiary-creature{height:54px}.zone-bestiary .bestiary-creature img{height:51px}}

/* v4 — PNGs supplied by the player, no tint or recoloring; visual-only highlighting. */
.zone-bestiary .bestiary-creature.original-art{border-bottom:2px solid #ad8650;background:linear-gradient(0deg,#87643a16,transparent 58%)}
.zone-bestiary .bestiary-creature.original-art:hover{background:#84653e3a}
.monster-art img,.zone-bestiary img,.dialog-monster-preview{background:transparent;mix-blend-mode:normal}
@media (prefers-reduced-motion:reduce){.monster-art img{animation:none!important}}

/* HELLWARD V5 — side-on duel camera.  Keep clickable enemy as the original
   #attackTarget so every existing game mechanic stays wired. */
.battlefield{height:440px;transition:height .5s ease;background:#1c1a18}
.battlefield .scene-floor{height:104px;background:linear-gradient(180deg,#6654454a 0%,#322b27ed 18%,#1a1716 77%,#100e10 100%)}
.battlefield .scene-floor::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 22px,#0d0c0d35 23px 27px,transparent 28px 44px);opacity:.47}
.battlefield .scene-sky{transform-origin:center bottom;transition:transform .65s ease,filter .65s ease}
.battlefield .scene-back-mountain{transition:transform .65s ease}
.battlefield.miniboss-fight{height:466px}
.battlefield.boss-fight{height:486px}
.battlefield.final-boss-fight{height:510px}
/* Zooming the environment OUT increases the apparent field of view,
   while separately composing large boss art foreground at full fidelity. */
.battlefield.miniboss-fight .scene-sky{transform:scale(.92);filter:contrast(1.1)}
.battlefield.boss-fight .scene-sky{transform:scale(.83);filter:contrast(1.16)}
.battlefield.boss-fight .scene-back-mountain.left{transform:scale(.86)}
.battlefield.boss-fight .scene-back-mountain.right{transform:scaleX(-1) scale(.86)}
.battlefield .mob-info{z-index:12;top:18px;left:50%;width:min(332px,77%);text-align:center}
.battlefield .mob-info .hp-track{background:#140e0d}
.camera-state{position:absolute;top:18px;left:15px;z-index:13;padding:5px 8px;border:1px solid #967b4a66;background:#161313bd;color:#dfc092;font-size:9px;font-weight:700;letter-spacing:1.6px;text-shadow:0 1px 2px #000}
.combat-hero{position:absolute;z-index:5;width:29%;height:235px;left:4%;bottom:38px;pointer-events:none;transform-origin:center bottom;transition:width .65s ease,left .65s ease,height .65s ease;filter:drop-shadow(0 11px 6px #000b)}
.combat-hero-sprite{width:100%;height:100%;display:block;object-fit:contain;object-position:bottom center;animation:heroBreath 3.1s ease-in-out infinite;transform-origin:50% 84%}
.hero-ground-shadow{position:absolute;bottom:16px;left:12%;right:12%;height:20px;background:#000c;border-radius:50%;filter:blur(9px);z-index:-1}
.hero-ground-name{position:absolute;bottom:-20px;left:0;right:0;color:#e8ca95;text-align:center;font-size:10px;font-weight:800;letter-spacing:1.4px;text-shadow:0 2px 5px #000}
.battlefield .attack-target{left:auto;right:3%;top:auto;bottom:30px;transform:none;width:49%;height:298px;transition:width .55s ease,height .55s ease,right .55s ease;z-index:4}
.battlefield .monster-art{transform:none!important;display:block;position:absolute;inset:0;width:100%;height:100%;transition:filter .16s}
.battlefield .monster-art img{display:block;object-fit:contain;object-position:bottom center;width:100%;height:100%;image-rendering:auto;filter:drop-shadow(0 10px 6px #000b)}
.battlefield .mob-shadow{bottom:5px;left:12%;width:76%;height:20px}
.battlefield .monster-aura{inset:30% 5% 10%;pointer-events:none}
.battlefield .target-hint{bottom:-20px;font-size:9px;letter-spacing:1px}
.battlefield .float-damage{left:72%;top:42%;z-index:22}
.battlefield .event-overlay{right:12px;top:103px}
.battlefield .damage-layer{z-index:20}
.battlefield.miniboss-fight .combat-hero{width:26%;height:205px;left:2%;bottom:35px}
.battlefield.miniboss-fight .attack-target{width:65%;height:349px;right:0;bottom:25px}
.battlefield.boss-fight .combat-hero{width:23%;height:191px;left:1.5%;bottom:34px}
.battlefield.boss-fight .attack-target{width:79%;height:380px;right:-2%;bottom:23px}
.battlefield.boss-fight .target-hint{bottom:-15px}
.battlefield.final-boss-fight .combat-hero{width:20%;height:169px;left:0;bottom:37px}
.battlefield.final-boss-fight .attack-target{width:99%;height:415px;right:-7%;bottom:23px}
.battlefield.final-boss-fight .monster-art img{object-fit:contain;object-position:bottom right}
.battlefield.final-boss-fight .mob-info{width:min(400px,80%)}
.battlefield.final-boss-fight .monster-aura{background:radial-gradient(ellipse at 66% 50%,#e4544235,transparent 67%)}
.combat-hero.striking .combat-hero-sprite{animation:heroAttack .28s ease-out both}
.duel-slash{position:absolute;z-index:6;left:43%;top:56%;width:27%;height:6px;opacity:0;pointer-events:none;transform:rotate(-16deg);background:linear-gradient(90deg,transparent,#f0c78b,#fffaf0,#e19d48,transparent);box-shadow:0 0 11px 2px #f1be62;border-radius:50%}
.duel-slash.active{animation:duelSlash .3s cubic-bezier(.17,.67,.39,1) both}
.battlefield.boss-fight .duel-slash{left:30%;width:40%;top:65%}
@keyframes heroBreath{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes heroAttack{0%{transform:translate(0,0) rotate(0)}28%{transform:translate(9px,-4px) rotate(5deg)}55%{transform:translate(23px,2px) rotate(-8deg)}100%{transform:translate(0,0) rotate(0)}}
@keyframes duelSlash{0%{opacity:0;transform:translateX(-36px) rotate(-19deg) scaleX(.2)}25%{opacity:.95}75%{opacity:.75}100%{opacity:0;transform:translateX(45px) rotate(-19deg) scaleX(1.1)}}
@media(max-width:1250px){.battlefield{height:415px}.battlefield.miniboss-fight{height:446px}.battlefield.boss-fight{height:465px}.battlefield.final-boss-fight{height:480px}.combat-hero{height:211px}.battlefield .attack-target{height:285px}}
@media(max-width:720px){.battlefield{height:400px}.battlefield.miniboss-fight{height:425px}.battlefield.boss-fight{height:445px}.battlefield.final-boss-fight{height:465px}.camera-state{font-size:8px;top:8px;left:8px;letter-spacing:.8px}.battlefield .mob-info{top:39px;width:min(270px,76%)}.combat-hero{height:190px;bottom:32px}.battlefield .attack-target{height:280px;bottom:25px}.battlefield.miniboss-fight .attack-target{height:320px}.battlefield.boss-fight .attack-target{height:354px}.battlefield.final-boss-fight .attack-target{height:375px}.battlefield .event-overlay{top:105px}}
@media(max-width:520px){.battlefield{height:350px}.battlefield.miniboss-fight{height:379px}.battlefield.boss-fight{height:409px}.battlefield.final-boss-fight{height:420px}.battlefield .mob-info{top:32px;width:min(244px,88%)}.battlefield .camera-state{top:5px;left:6px;font-size:7px;padding:3px 5px}.combat-hero{left:0;width:32%;height:166px;bottom:30px}.hero-ground-name{font-size:7px;bottom:-15px;letter-spacing:.6px}.battlefield .attack-target{right:0;width:59%;height:235px;bottom:25px}.battlefield .target-hint{bottom:-16px;font-size:7px;letter-spacing:.2px}.battlefield.miniboss-fight .combat-hero{width:26%;height:149px;left:0}.battlefield.miniboss-fight .attack-target{width:72%;height:285px;right:-3%}.battlefield.boss-fight .combat-hero{width:23%;height:140px;left:0}.battlefield.boss-fight .attack-target{width:85%;height:322px;right:-7%}.battlefield.final-boss-fight .combat-hero{width:20%;height:127px}.battlefield.final-boss-fight .attack-target{width:100%;height:340px;right:-13%}.battlefield .event-overlay{top:98px}}
@media(prefers-reduced-motion:reduce){.combat-hero-sprite,.combat-hero.striking .combat-hero-sprite,.duel-slash.active{animation:none!important}}
/* Keep the sky as an edge-to-edge background during the pullback; only
   foreground actors and distant mountains change framing. */
.battlefield.miniboss-fight .scene-sky,.battlefield.boss-fight .scene-sky{transform:none;filter:contrast(1.08)}
/* HELLWARD V6: protagonist PNG and catalogue artwork */
.legacy-hero-icon{display:none!important}
.hero-new-portrait{position:relative;z-index:1;width:min(96%,180px);height:185px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 8px #000a)}
.combat-hero-sprite{image-rendering:auto;filter:drop-shadow(0 4px 3px #0009)}
.equipment-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
.equip-slot{min-width:0}
.equip-thumbnail{display:block;width:44px;height:48px;object-fit:contain;flex:0 0 44px;image-rendering:auto;filter:drop-shadow(0 2px 3px #000b)}
.item-card .item-top{align-items:center;min-height:78px}
.item-card .item-glyph{width:65px;height:67px;flex:0 0 65px;display:grid;place-items:center;overflow:hidden}
.item-card .item-icon{width:60px;height:60px;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 3px 4px #0009)}
.item-card .item-stats{min-height:42px}
.item-origin{display:block;margin-top:6px;color:#a48d70;font-size:10px}
.item-card.rarity-sucata{--rarity-text:#9e978e;--rarity-border:#544b45}
.potion-active{display:inline-block;margin-top:8px;padding:6px 8px;color:#b3dfaa;background:#243421;border:1px solid #4b7651;font-size:11px}
.item-actions button{min-width:0;flex:1}
@media(max-width:1250px){.hero-new-portrait{height:165px}}
@media(max-width:1000px){.hero-new-portrait{height:131px}}
@media(max-width:720px){.equipment-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.hero-new-portrait{height:143px}.item-card .item-glyph{width:56px;flex-basis:56px}}


/* HELLWARD V7 — survivor combat. Hero HP/defense and enemy attack telegraphs. */
.hero-health-panel{padding:12px 13px 10px;margin:11px 0 5px;background:linear-gradient(120deg,#361d1c,#211716);border:1px solid #6a3733;border-radius:6px;box-shadow:inset 0 1px 0 #ffffff09}
.hero-health-line,.hero-health-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;letter-spacing:.6px;color:#e7ad9b}
.hero-health-line strong:last-child{font-size:12px;color:#ffdfc4;letter-spacing:0}
.hero-health-track{height:13px;border:1px solid #a0554e;background:#160e0e;overflow:hidden;border-radius:3px;margin:7px 0 5px;box-shadow:inset 0 2px 4px #0007}
.hero-health-track span{height:100%;display:block;background:linear-gradient(90deg,#9e2d32,#dc5958,#f29e79);transition:width .18s ease;box-shadow:0 0 8px #f95f4266}
.hero-health-track span.critical{background:linear-gradient(90deg,#a91422,#eb333e);animation:lowHpPulse .75s ease-in-out infinite alternate}
.hero-health-footer{font-size:9px;color:#b2a28d}.hero-health-footer strong{color:#9ed19e;font-size:10px}
.hero-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.hero-arena-hp{position:absolute;z-index:13;left:3%;bottom:10px;width:27%;pointer-events:none;color:#ffddd2;text-align:center;font-size:9px;letter-spacing:.8px;font-weight:700;text-shadow:0 2px 4px #000}
.hero-arena-hp>div{height:7px;background:#180e10;border:1px solid #7d3d3b;border-radius:4px;margin-top:3px;overflow:hidden}
.hero-arena-hp i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#a32d37,#fa7b68);transition:width .13s ease}
.hero-damage-layer{pointer-events:none;position:absolute;z-index:24;left:0;bottom:32%;width:34%;height:34%;display:flex;align-items:center;justify-content:center}
.hero-damage-number{position:absolute;font:900 27px var(--serif);color:#ff7973;text-shadow:2px 3px 2px #000,0 0 7px #f62829;animation:heroDamageFloat 1s ease-out forwards;white-space:nowrap}
.hero-damage-number.healing{color:#90f09e;text-shadow:1px 2px 2px #000,0 0 7px #51d16c}
@keyframes heroDamageFloat{0%{opacity:0;transform:translateY(18px) scale(.8)}20%{opacity:1;transform:translateY(0) scale(1.05)}100%{opacity:0;transform:translateY(-46px) scale(.95)}}
@keyframes lowHpPulse{from{filter:brightness(.72)}to{filter:brightness(1.5)}}
@keyframes heroKnockback{0%,100%{transform:translateX(0)}35%{transform:translateX(-12px) rotate(-4deg);filter:brightness(1.7) sepia(.65)}75%{transform:translateX(3px)}}
@keyframes enemyLunge{0%,100%{transform:translateX(0)}40%{transform:translateX(-12px)}65%{transform:translateX(-5px)}}
.combat-hero.hero-hurt:not(.defeated) .combat-hero-sprite{animation:heroKnockback .37s ease-out both}
.battlefield .attack-target.enemy-strike{animation:enemyLunge .34s ease-out both}
.combat-hero.defeated{opacity:.48;filter:grayscale(.9);transform:rotate(-7deg) translateY(9px)}
.hero-respawn{position:absolute;z-index:30;top:30%;left:50%;transform:translateX(-50%);width:min(310px,88%);border:1px solid #b56b5c;border-radius:9px;padding:16px 14px;background:linear-gradient(130deg,#170c0dec,#2d1718f2);box-shadow:0 6px 38px #000c;text-align:center;display:grid;gap:7px;pointer-events:none}
.hero-respawn strong{color:#ffc5af;font:700 20px var(--serif)}
.hero-respawn span{color:#e9c6ad;font-size:13px}.hero-respawn small{color:#ab9c87;font-size:10px}
.battlefield:has(.hero-respawn:not([hidden])) .attack-target{opacity:.65}
@media(max-width:1000px){.hero-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.hero-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.hero-health-panel{padding:8px 10px;margin:8px 0 6px}.hero-arena-hp{font-size:7px;width:28%;bottom:7px}.hero-respawn strong{font-size:16px}.hero-damage-number{font-size:19px}}
@media(prefers-reduced-motion:reduce){.combat-hero.hero-hurt .combat-hero-sprite,.battlefield .attack-target.enemy-strike,.hero-damage-number,.hero-health-track span.critical{animation:none}}

@media(max-width:350px){.battlefield .attack-target{right:4%!important;width:55%}}


/* HELLWARD — PARALLAX 2.5D | 6 regioes / 30 PNGs reais */
.battlefield{background:#111013}
.battlefield::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;background:linear-gradient(180deg,#080a1020 0%,#080a1040 55%,#080a1070 100%)}
.battlefield .combat-hero,.battlefield .attack-target{isolation:isolate}
.battlefield .hero-respawn{z-index:16}

/* V7.3: scenery stays behind the actors; rim light follows sprite alpha. */
.battlefield .combat-hero-sprite{
  filter:brightness(1.28) contrast(1.06) drop-shadow(1px 0 0 #bbd5e7a6) drop-shadow(-1px 0 0 #bbd5e7a6) drop-shadow(0 0 7px #8cb9dc66) drop-shadow(0 7px 4px #000);
}
.battlefield .monster-art img{
  filter:brightness(1.22) contrast(1.06) drop-shadow(1px 0 0 #f3c58f99) drop-shadow(-1px 0 0 #f3c58f99) drop-shadow(0 0 7px #d9914f55) drop-shadow(0 7px 4px #000);
}
.battlefield .hero-ground-name,.battlefield .target-hint{
  color:#fff0cf;opacity:1;text-shadow:0 1px 2px #000,0 0 5px #000,0 0 9px #000;
}

/* The fixed arena HP label already identifies the hero. */
.battlefield .hero-ground-name{display:none}
