/* Classic dungeon UI: square windows, inset wells, and raised controls. */
:root{--gold:#e0c38c;--muted:#a49d8c;--line:#706b5b;--bg:#11151b;--classic-edge:#99917b;--classic-lit:#b4a990;--classic-dark:#25251f;--classic-panel:#181e26}
body{color:#e1dccb;background-color:#101319;background-image:repeating-linear-gradient(0deg,#ffffff02 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,#ffffff02 0 1px,transparent 1px 4px);font-family:"Yu Gothic","MS Gothic",monospace;text-shadow:1px 1px #000;scrollbar-color:#8c8169 #14181e}
body *{border-radius:0!important}button,kbd{font-family:inherit}button{border:2px solid;border-color:#a29579 #353128 #353128 #a29579;background:linear-gradient(#49473c,#35372f);box-shadow:inset 1px 1px #ffffff15,inset -1px -1px #11160e;color:#e1d9c0;padding:6px 10px;transition:none;text-shadow:1px 1px #14140e}button:hover:not(:disabled){background:linear-gradient(#5b5747,#444538);border-top-color:#dbc597;border-left-color:#dbc597;color:#fff2cf}button:active:not(:disabled),button.active{border-color:#55432c #e1c28c #e1c28c #55432c;background:linear-gradient(#7c6740,#a38a57);box-shadow:inset 2px 2px #241c1555;color:#fff2cf}button:focus-visible{outline:2px solid #f2d49b;outline-offset:2px}button:disabled{filter:saturate(.5)}
header{border-bottom:3px double #77715e;background:#1b2026;box-shadow:0 3px #080b0f}.logo{font-family:Georgia,"Yu Mincho",serif;font-size:26px;color:#e1c58d;letter-spacing:5px;text-shadow:2px 2px #000}.logo:before{color:#c4a45e}.headright{color:#a89d80;letter-spacing:1px}.dot{box-shadow:none;background:#c6b786}.eyebrow,.sectionlabel,.equipheading{color:#c2b18c;letter-spacing:1px;font-weight:700}h1,.equiphead h2,.herohead h2,.compareCard h3{font-family:Georgia,"Yu Mincho","MS PMincho",serif;color:#f1e1ba}h1{font-weight:700}.intro p{color:#b5af9d}
.viewport,.card,.equipDialog,.comparison,.developerModeNote{border:3px solid;border-color:#99917b #39392f #39392f #99917b;background:var(--classic-panel);box-shadow:inset 0 0 0 1px #080d13,0 3px 0 #05080c,0 0 0 1px #090b0b}
.viewport{background:#080d0a}.bar{border-bottom:3px double #827762;background:#272b2c;color:#bab096;padding:12px 15px;font-weight:700}.bar b{color:#efd39b}.bottom{border-top:3px double #706b57;background:#20262a;color:#c8c2ac}.bottom strong{color:#dfd8c0}.bottom .live{color:#babd91}.toolbar,.legend{color:#a8a38e}.side{scrollbar-color:#8c8169 #14181e}.side .hint,.hint{color:#a39c87}
.viewTools>.speeds,.viewTools>.effectsAccordion,.viewLog{background:#192029f5;border:3px solid;border-color:#918974 #34382f #34382f #918974;box-shadow:inset 0 0 0 1px #090d11,2px 3px 0 #0008}.viewTools>.speeds{padding:5px;gap:4px}.viewTools>.effectsAccordion>summary{background:#2b3030;color:#e9d6aa;border-bottom:1px solid #83775b}.effectsAccordion>summary span{color:#c7bb9b}.sidebarEffect{border-top-color:#81765d55}.sidebarEffect b{color:#e3d4aa}.sidebarEffect .effectTotal{color:#e7e0c8}.effectNote{color:#bcb59e}.viewLog .sectionlabel{color:#c6b587}.viewLog .entry{color:#c3c1a9}.viewLog .entry.gold,.viewLog .entry.treasure{color:#e5c682}.viewLog .entry.danger{color:#efa78e}.viewLog .entry.heal{color:#b0cea0}
.portrait,#minimap{border:2px solid;border-color:#373a31 #8c846d #8c846d #373a31;background:#0e151a}.herohead span{color:#d5bc83}.hptext,.stats .label,.floorstats{color:#b2ad99}.meter{height:10px;border:2px solid;border-color:#30352b #7e7963 #7e7963 #30352b;background:#090e12}.meter i{box-shadow:inset 0 1px #f8ffd955,inset 0 -1px #17261588;transition:none}.meter.xp{height:6px}.stats strong{font-weight:700;color:#e5dfcd}.floorstats{border-top:2px groove #6b6451}.stats strong.gold{color:#e7c786}
.equipDialog{background:#171e26;color:#e1dccb;box-shadow:inset 0 0 0 1px #070b0f,8px 10px 0 #0009}.equipDialog::backdrop{background:#03070cce;backdrop-filter:none}.equiphead,.equipfoot{background:#252b2e;border-color:#82745a;border-width:3px;border-style:double}.equiphead{border-top:0;border-left:0;border-right:0}.equipfoot{border-bottom:0;border-left:0;border-right:0;color:#bdb49e}.pausedtag{color:#e0c38c}.gearSummary{border-top:2px groove #655e4b;color:#d0c8b2;padding-top:13px;margin-top:14px}.activeOptions{border-top:2px groove #655e4b}.activeOption{border-bottom:1px solid #665f4b}.activeOption small,.slotHint{color:#aaa38c}.bagHeading{border-bottom:3px double #80745c;padding-bottom:8px}#bagCount{color:#e1cf9d}
.gearSlot,.bagSlot{background:#0d141b;border:2px solid;border-color:#343d38 #787865 #787865 #343d38;box-shadow:inset 1px 1px 0 #03080b;padding:2px}.gearSlot:hover:not(:disabled),.bagSlot:hover:not(:disabled){background:#202c30}.gearSlot.hasOption{box-shadow:inset 1px 1px #03080b}.gearSlot.selected,.bagSlot.selected{background:#34372a;border-color:#bfa06b}.gearSlot.empty canvas{opacity:.18}.heroCell{background:radial-gradient(ellipse,#6b6a3b44,transparent 70%)}.heroCell small{color:#d0bb85}.bagSlot .cellnum{color:#737d6d;font-size:13px;top:2px;left:3px}.bagSlot .optionDot{width:4px;height:4px;box-shadow:none}.gearSlot canvas{max-height:calc(100% - 4px)}
:is(.bagSlot,.gearSlot):is([data-rarity="1"],[data-rarity="2"],[data-rarity="3"]){border-color:var(--rarity-line);box-shadow:inset 1px 1px #03080b}:is(.bagSlot,.gearSlot).selected{outline:2px solid #e0c38c;outline-offset:1px}
.comparison{background:#0e161e;padding:14px}.compareCard+.compareCard{border-left:2px groove #776c56}.compareCaption{color:#bdb299}.gearStat{color:#e2c997}.optionSlot{background:#171f25;border:2px solid;border-color:#363e3d #6d6c5a #6d6c5a #363e3d;color:#e7cb8f}.optionSlot.empty{background:#111820;color:#737d6e;border:1px dashed #495347}.changes{border-top:3px double #796c54;color:#ccc6b0}.compareCard h3{font-weight:700}.bagHint{color:#a8a18b}.resources button{background:#242c30}.resources button b{color:#e6c68c}kbd{background:#101719;border:1px solid #8b826b;box-shadow:1px 1px #060b0f;color:#e0d6b8}.trashBin{background:#302526;border:2px groove #8e6d5b;color:#dbb5a4}.trashBin:hover:not(:disabled){background:#493032}.discardAll{background:#392b28;color:#e5b9a4;border-top-color:#9a7561;border-left-color:#9a7561}.gearActions button.primary{background:linear-gradient(#9a814e,#705d3c);color:#fff0c7;border-color:#d4b777 #44351f #44351f #d4b777}.gearNotice{color:#e0c38c}
.worldTooltip,.gearTooltip{background:#151e27;border:3px double #b4a383;box-shadow:3px 3px #000a}.banner{backdrop-filter:none;background:#0a101acc}.banner h2{color:#efdbad;text-shadow:2px 2px #000}.banner p{color:#d4c9ac}.developerModeNote{background:#332c20;color:#e4c995}#developerModeButton[aria-pressed="true"]{background:#6b4e2a;border-color:#e0b66d #46301b #46301b #e0b66d;color:#fff1cb}.viewport.developerMode{border-color:#d0ac6c #604625 #604625 #d0ac6c}.dragAllowed{outline:2px dashed #b6ca7d}.dragOver{outline:3px solid #efd08c!important}.entry{animation:none}footer{border-top:3px double #464c43;padding-top:12px;color:#8d907d;letter-spacing:0}
@media(max-width:550px){.viewTools>.speeds{padding:4px;gap:3px;font-size:14px}.viewTools>.speeds button{padding:5px 6px}.card{padding:11px}.equipDialog{width:97vw}.comparison{padding:10px}}

/* In-world text panels stay simple and translucent. */
.viewTools>.effectsAccordion,.viewLog{background:rgba(0,0,0,.72);border:1px solid #ffffff18;box-shadow:none;backdrop-filter:none}
.viewTools>.effectsAccordion>summary{background:rgba(0,0,0,.55);border-bottom:0;color:#e9e5d6}
.effectsAccordion>summary span,.viewLog .sectionlabel{color:#c4c4b5}
.sidebarEffect{border-top-color:#ffffff16}.sidebarEffect b{color:#dedbc3}.sidebarEffect .effectTotal{color:#ecebdc}.effectNote{color:#bcbfb2}
.viewLog .entry{color:#c8cbbf}

.logHeader{display:flex;align-items:center;gap:9px;margin-bottom:5px}.logHeader .sectionlabel{margin:0}.logFilters{display:flex;gap:4px}.logFilters button{display:grid;place-items:center;width:23px;height:22px;min-width:0;padding:2px;border:1px solid #8e927c66;background:#20251dbb;box-shadow:none;color:#d8d2b3;text-shadow:none}.logFilters button[data-log-filter="combat"]{color:#bfcfe0}.logFilters button[data-log-filter="items"]{color:#e7c47c}.logFilters button[data-log-filter="explore"]{color:#b8cd9d}.logFilters button:hover:not(:disabled){background:#333b2b;border-color:#b8b69a}.logFilters button[aria-pressed="false"]{color:#60665f;background:#141914;border-color:#41483d;box-shadow:none}.logFilters svg{display:block;shape-rendering:crispEdges;pointer-events:none}

/* Filter controls intercept input; the rest of the log remains click-through. */
.viewLog .logFilters,.viewLog .logFilters button{pointer-events:auto}

.logFilters button[data-log-filter="coins"][aria-pressed="true"]{color:#e7c47c}

.logFilters button[data-log-filter="potions"][aria-pressed="true"]{color:#cba2b8}

.viewLog .entry[data-loot-rarity="0"]{color:#f2f2ed}.viewLog .entry[data-loot-rarity="1"]{color:#72bcff}.viewLog .entry[data-loot-rarity="2"]{color:#ffb25b}.viewLog .entry[data-loot-rarity="3"]{color:#cc92ff}

.logFilters button[data-log-filter="coins"][aria-pressed="true"]{color:#f07891}

.rubyCounter{position:absolute;left:12px;top:12px;z-index:3;display:flex;align-items:center;gap:5px;min-width:68px;padding:5px 9px 5px 5px;background:#000b;pointer-events:none;color:#f5d3d9;text-shadow:1px 1px #000;font:bold 20px monospace}.rubyCounter canvas{width:24px;height:24px;image-rendering:pixelated;flex:none}.viewTools{max-width:calc(100% - 110px)}@media(max-width:550px){.rubyCounter{left:8px;top:8px;min-width:60px;padding:5px;font-size:18px}.rubyCounter canvas{width:21px;height:21px}.viewTools{max-width:calc(100% - 86px)}}

/* World controls live in the header; options stay over the map. */
.viewport>.bar{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:9px 12px}.barMeta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.bar>.speeds{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;align-items:center;padding-top:7px;border-top:1px solid #81765d55;font-size:14px}.bar>.speeds button{white-space:nowrap;padding-inline:8px}.bar>.speeds>span{margin:0 4px}.bar>.speeds kbd{font-size:14px}@media(max-width:550px){.viewport>.bar{padding:8px;gap:6px}.barMeta{gap:6px;font-size:14px}.barMeta b{font-size:15px}.bar>.speeds{font-size:14px;gap:4px}.bar>.speeds button{padding:5px 6px}}

/* Brand is shown by the icon background, independently of option rarity. */
:is(.gearSlot,.bagSlot,.compareIcon)[data-brand="enhanced"]{--brand-bg:radial-gradient(ellipse at center,#28583e,#070d0a 85%)}
:is(.gearSlot,.bagSlot,.compareIcon)[data-brand="ancient"]{--brand-bg:radial-gradient(ellipse at center,#284d79,#070b12 85%)}
:is(.gearSlot,.bagSlot,.compareIcon)[data-brand="legendary"]{--brand-bg:radial-gradient(ellipse at center,#533568,#0b0811 85%)}
:is(.gearSlot,.bagSlot,.compareIcon):is([data-brand="enhanced"],[data-brand="ancient"],[data-brand="legendary"],[data-brand="artifact"]){background:var(--brand-bg)}
:is(.gearSlot,.bagSlot):is([data-brand="enhanced"],[data-brand="ancient"],[data-brand="legendary"],[data-brand="artifact"]):is(:hover,.selected){background:var(--brand-bg)}
.bagSlot[data-brand]:not([data-brand=""]) .cellnum{color:#e0d6b4}.compareIcon[data-brand]:not([data-brand=""]){padding:3px}

/* Equipment showcase: forged frames around a full-height hero. */
.paperdoll{grid-template-columns:minmax(64px,1fr) minmax(88px,1.2fr) minmax(64px,1fr);grid-template-rows:repeat(4,82px);gap:10px 3px;align-items:stretch;position:relative;background:radial-gradient(ellipse at 50% 58%,#40717b33,transparent 67%)}
.paperdoll .gearSlot{--frame-lit:#d3b780;--frame-mid:#8b7047;--frame-dark:#493825;--well:radial-gradient(ellipse at 42% 34%,#3b4854,#17212b 70%,#0a1018);isolation:isolate;overflow:visible;padding:8px;border:3px solid;border-color:var(--frame-lit) var(--frame-dark) var(--frame-dark) var(--frame-lit);background:var(--brand-bg,var(--well));box-shadow:0 2px 4px #000b,inset 0 0 0 1px #060a10,inset 0 0 0 3px var(--frame-mid),inset 0 0 0 4px #f9db8c35,inset 0 0 14px #000b}
.paperdoll .gearSlot::before{content:"";position:absolute;inset:3px;z-index:-1;pointer-events:none;border:1px solid #ffe9ae44;background:linear-gradient(135deg,#ffffff16,transparent 32%,#0005 85%);box-shadow:inset 0 0 8px #0009}
.paperdoll .gearSlot::after{content:"";position:absolute;inset:-3px;pointer-events:none;background:linear-gradient(135deg,var(--frame-lit) 0 45%,transparent 46%) top left,linear-gradient(225deg,var(--frame-lit) 0 45%,transparent 46%) top right,linear-gradient(45deg,var(--frame-mid) 0 45%,transparent 46%) bottom left,linear-gradient(315deg,var(--frame-mid) 0 45%,transparent 46%) bottom right;background-size:8px 8px;background-repeat:no-repeat}
.paperdoll .gearSlot canvas{width:66px;height:66px;max-width:100%;max-height:100%;filter:drop-shadow(1px 3px 2px #000c)}
.paperdoll .gearSlot[data-rarity="1"]{--frame-lit:#9ccde4;--frame-mid:#4c7c9e;--frame-dark:#284352}
.paperdoll .gearSlot[data-rarity="2"]{--frame-lit:#ffd297;--frame-mid:#b77b3d;--frame-dark:#674325}
.paperdoll .gearSlot[data-rarity="3"]{--frame-lit:#dec0ff;--frame-mid:#9364b2;--frame-dark:#503363}
.paperdoll .gearSlot.empty{--frame-lit:#727366;--frame-mid:#424b47;--frame-dark:#252d2b;--well:radial-gradient(ellipse,#1d2a2d,#0b1219);box-shadow:0 2px 3px #0009,inset 0 0 0 1px #05090d,inset 0 0 0 3px #343f3e,inset 0 0 12px #000a}
.paperdoll .gearSlot.empty canvas{opacity:.24;filter:grayscale(.8)}
.paperdoll .gearSlot:hover:not(:disabled){background:var(--brand-bg,var(--well));filter:brightness(1.15)}
.paperdoll .gearSlot.selected{background:var(--brand-bg,var(--well));outline:2px solid #ffe0a0;outline-offset:2px}
.paperdoll .heroCell{position:relative;align-self:stretch;justify-content:center;background:radial-gradient(ellipse at 50% 62%,#70bdd023,transparent 67%)}
.paperdoll .heroCell::after{content:"";position:absolute;width:90%;height:13px;top:calc(50% + 76px);background:radial-gradient(ellipse,#0009,transparent 70%);pointer-events:none}
.paperdoll .heroCell canvas{position:relative;z-index:1;width:142px;height:142px;max-width:none;filter:drop-shadow(2px 5px 3px #0008)}
.paperdoll .heroCell small{position:relative;z-index:2;margin-top:10px;font:bold 14px monospace;color:#f3d291;letter-spacing:1px}
@media(min-width:1181px){.gearLayout{grid-template-columns:340px 300px minmax(250px,1fr);gap:18px}}
@media(min-width:551px) and (max-width:1180px){.paperdoll{grid-template-rows:repeat(4,74px);gap:9px 3px}.paperdoll .gearSlot canvas{width:58px;height:58px}.paperdoll .heroCell canvas{width:122px;height:122px}}
@media(max-width:550px){.paperdoll{max-width:350px;margin:auto;grid-template-rows:repeat(4,82px)}}

/* Keep all ornament behind equipment; backgrounds encode brands only. */
.paperdoll .gearSlot::before,.paperdoll .gearSlot::after{z-index:0}
.paperdoll .gearSlot canvas{position:relative;z-index:1}
.paperdoll .gearSlot[data-brand=""]{--brand-bg:radial-gradient(ellipse at 42% 34%,#273540,#0c141d 85%)}
.paperdoll .gearSlot.empty[data-brand=""]{--brand-bg:radial-gradient(ellipse,#162027,#0b1219)}

/* Keep the hero inside the central gap, clear of equipment frames. */
.paperdoll .heroCell canvas{width:96px;height:96px;max-width:100%;object-fit:contain;filter:drop-shadow(1px 3px 2px #0008)}
.paperdoll .heroCell::after{top:calc(50% + 48px);height:9px}
.paperdoll .heroCell small{margin-top:6px;font-size:14px}

/* Identical track dimensions keep every equipment frame square. */
.paperdoll{--gear-size:82px;grid-template-columns:var(--gear-size) minmax(0,1fr) var(--gear-size);grid-template-rows:repeat(4,var(--gear-size))}
.paperdoll .gearSlot{box-sizing:border-box;width:var(--gear-size);height:var(--gear-size);aspect-ratio:1;justify-self:center;align-self:center}
@media(min-width:551px) and (max-width:1180px){.paperdoll{--gear-size:74px}}

:is(.gearSlot,.bagSlot,.compareIcon)[data-brand="artifact"]{--brand-bg:radial-gradient(ellipse at center,#742c38,#110709 85%)}

.runResult{box-sizing:border-box;width:min(680px,94vw);max-height:92vh;overflow:auto;padding:25px;color:#e1dccb;background:radial-gradient(ellipse at 50% 0,#34404b,#111923 70%);border:4px solid;border-color:#c0a879 #4d3b25 #4d3b25 #c0a879;box-shadow:0 15px 70px #000c,inset 0 0 0 2px #080b10}
.runResult::backdrop{background:#03070de8}.resultHeading{text-align:center;margin-bottom:22px}.resultHeading>span{font:14px monospace;letter-spacing:3px;color:#ba9a66}.resultHeading h2{font-family:Georgia,"Yu Mincho",serif;font-size:30px;margin:10px 0;color:#eed6a2}.resultHeading p{color:#a4a49d;font-size:14px}.resultStats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:26px;padding:18px 0;border-block:1px solid #a38b554d}.resultStats div{text-align:center}.resultStats span{display:block;color:#a7a797;font-size:14px;margin-bottom:8px}.resultStats strong{font:700 24px monospace;color:#eed6a2}.resultEquipment{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.resultItem{display:flex;gap:10px;align-items:center;min-width:0;background:#060b1144;padding:7px}.resultItem .compareIcon{width:48px;height:48px;flex-shrink:0;background-color:#0c141d;border:1px solid #756a52;display:grid;place-items:center}.resultItem canvas{width:42px;height:42px;image-rendering:pixelated}.resultItem small{display:block;color:#92998d;font-size:14px;margin-bottom:4px}.resultItem b{display:block;font-size:14px;color:#dfddce;overflow-wrap:anywhere}.runResult .retryRun{display:block;width:100%;margin-top:25px;padding:13px;background:linear-gradient(#8d7144,#56452d);border-color:#e0c38c #44311c #44311c #e0c38c;font-size:18px;color:#fff1c9}@media(max-width:550px){.runResult{padding:17px}.resultStats{grid-template-columns:repeat(2,1fr);gap:18px}.resultItem{gap:7px;padding:4px}.resultItem b{font-size:14px}}

/* Brand, option count and highest level are drawn separately inside the icon. */
.paperdoll .gearSlot,.paperdoll .gearSlot:hover:not(:disabled),.paperdoll .gearSlot.selected,.bagSlot,.bagSlot:hover:not(:disabled),.bagSlot.selected{background:#0b131c!important;border:1px solid #3c4245!important;box-shadow:0 2px 3px #0008!important;padding:0;overflow:hidden;isolation:isolate}
.paperdoll .gearSlot::before,.paperdoll .gearSlot::after{display:none}
.paperdoll .gearSlot canvas,.bagSlot canvas{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:fill;filter:none;position:relative;inset:auto}
.paperdoll .gearSlot.selected,.bagSlot.selected{outline:2px solid #ead198;outline-offset:2px}
.paperdoll .gearSlot.empty canvas{opacity:.2;filter:grayscale(1)}
.bagSlot .optionDot{display:none}
.compareCard canvas.compareIcon,.resultItem .compareIcon{background:#0b131c!important;padding:0!important;border:0;box-shadow:none}

/* Backpack cells derive height from their actual column width. */
.backpack{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto;align-items:start}
.backpack .bagSlot{box-sizing:border-box;display:block;position:relative;width:100%;height:auto;min-height:0;aspect-ratio:1 / 1}
.backpack .bagSlot canvas{position:absolute;inset:0;width:100%;height:100%}

.resultBonusesSection{margin-top:24px}.resultBonuses{margin-top:12px;padding:13px;background:#080e1555}.resultBonuses dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}.resultBonuses dl>div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px;min-width:0}.resultBonuses dt{font-size:14px;color:#aeb3a9}.resultBonuses dd{margin:0;font:bold 14px monospace;color:#efdcad;overflow-wrap:anywhere}.resultOptionTotals{margin-top:16px;border-top:1px solid #b49c5a33;padding-top:13px}.resultOptionHeading{font-size:14px;color:#c5b38e;margin-bottom:12px}@media(max-width:550px){.resultBonuses dl{grid-template-columns:1fr}.resultBonuses{padding:12px}}

/* Enemy inspection: live final stats and the exact held drop. */
.worldTooltip[data-kind="enemy"],.worldTooltip[data-kind="party"]{width:max-content;max-width:min(380px,calc(100vw - 24px));box-sizing:border-box;white-space:pre-line;overflow-wrap:anywhere;font-size:14px;line-height:1.55;padding:12px 15px;color:#e1dccb}

.chestChoice{box-sizing:border-box;width:min(940px,94vw);max-height:92vh;overflow:auto;padding:24px;background:radial-gradient(ellipse at 50% 0,#34404b,#111923 70%);color:#e1dccb;border:4px solid;border-color:#c0a879 #4d3b25 #4d3b25 #c0a879;box-shadow:0 15px 70px #000c,inset 0 0 0 2px #080b10}
.chestChoice::backdrop{background:#03070de8}.chestHeading{text-align:center;margin-bottom:24px}.chestHeading small{font:14px monospace;letter-spacing:3px;color:#ba9a66}.chestHeading h2{font:30px Georgia,"Yu Mincho",serif;color:#eed6a2;margin:8px 0}.chestHeading p{font-size:14px;color:#c0b597;margin:8px 0}.chestCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}.chestCard{min-width:0;display:flex;flex-direction:column;background:#0b121b;border:1px solid #6e644f;padding:14px}.chestCard .compareCard{padding:0;flex:1}.chestCard .compareCaption{display:none}.chestCard .compareIcon{display:block;float:none;width:96px;height:96px;margin:0 auto 15px;padding:0;image-rendering:auto;border:0;background:transparent}.chestCard h3{font-size:16px;line-height:1.6;color:#eed6a2;margin:8px 0 12px;overflow-wrap:anywhere}.chestCard .gearStat{font-size:14px;line-height:1.7}.chestCard .optionSlots{margin:12px 0 18px}.chestCard .optionSlot{font-size:14px;min-height:0;padding:7px;line-height:1.6}.chestCard .optionSlot.empty{display:none}.chestCard>button{width:100%;font-size:14px;padding:11px 8px;background:linear-gradient(#8d7144,#56452d);border-color:#e0c38c #44311c #44311c #e0c38c;color:#fff1c9}.chestNotice{color:#e8a79a;font-size:14px}.chestFoot{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:20px;font-size:14px;color:#a7a797}
@media(max-width:650px){.chestChoice{padding:16px}.chestCards{grid-template-columns:1fr}.chestCard .compareIcon{float:right;width:74px;height:74px;margin:0 0 10px 10px}.chestCard .optionSlots{clear:both}.chestFoot{flex-wrap:wrap}}

.autoDiscardSetting{margin:12px 0 16px}.autoDiscardSetting button{display:block;width:100%;font-size:14px;padding:9px}.autoDiscardSetting small{display:block;font-size:14px;line-height:1.7;color:#a7a797;margin-top:5px}.autoDiscardSetting button[aria-pressed="true"]{color:#fff0c7;border-color:#d4b777 #44351f #44351f #d4b777;background:linear-gradient(#8d7144,#56452d)}

.resultDefeat{margin:0 0 26px;padding:16px 18px;background:#23191c;border:1px solid #785446}.resultDefeat[hidden]{display:none}.resultDefeat .equipheading{color:#e8b590;margin-bottom:12px}.resultDefeatedBy{white-space:pre-line;overflow-wrap:anywhere;font-size:14px;line-height:1.8;color:#e1dccb}

#invincibleModeButton[aria-pressed="true"]{color:#e5f8ff;background:linear-gradient(#446778,#294655);border-color:#a6d5e8 #233c4b #233c4b #a6d5e8}.speeds{flex-wrap:wrap}

.summaryStat{display:flex;flex-wrap:wrap;column-gap:7px;align-items:baseline;line-height:1.8;margin:2px 0}.summaryPrediction{color:#e4dfce}.summaryDelta{font-size:14px;white-space:nowrap}.deltaSame{color:#8b918a}.summaryPreviewLabel{font-size:14px;color:#d0b77c;margin-bottom:7px}

.chestChoice.bossReward{width:min(480px,94vw)}.chestChoice.bossReward .chestCards{grid-template-columns:1fr}

.worldTooltip[data-boss="true"]{font-size:14px;line-height:1.5;max-width:min(420px,calc(100vw - 24px))}

/* Potion stock follows rubies in the main-view resource counter. */
#potionCounterIcon{margin-left:10px}#potionCount{color:#c9e8dc}.viewTools{max-width:calc(100% - 170px)}
@media(max-width:550px){#potionCounterIcon{margin-left:7px}.viewTools{max-width:calc(100% - 145px)}}

/* Rescued companion: compact HP panel under the resource counter. */
.companionHud{position:absolute;left:12px;top:57px;z-index:3;display:flex;gap:7px;align-items:center;width:214px;padding:6px 8px;background:#000b;color:#e0d9e8;font-size:14px}.companionHud[hidden]{display:none}.companionHud button{padding:0;border:1px solid #80728c;background:#111821;flex:none}.companionHud canvas{display:block;width:34px;height:34px;image-rendering:pixelated}.companionHud>div{flex:1;min-width:0;line-height:1.2}.companionHudTitle{display:flex;justify-content:space-between;gap:6px}.companionHudTitle small{font-size:14px;color:#c5b1d9}.companionHpText{font:14px monospace;color:#c3c7b7;margin:3px 0}.companionHpBar{height:6px;background:#1b1824;border:1px solid #706279}.companionHpBar i{display:block;height:100%;background:#ae92d1}.partySelector{display:flex;gap:10px;padding:12px 22px;border-bottom:1px solid #81745a;background:#171e26}.partySelector[hidden]{display:none}.partySelector button{display:flex;align-items:center;gap:9px;min-width:160px;text-align:left;padding:5px 10px;font-size:14px}.partySelector button[aria-pressed="true"]{border-color:#e0c38c;background:#49412e;color:#f5e4ba}.partySelector canvas{width:44px;height:44px;image-rendering:pixelated}.partySelector small{display:block;font-size:14px;color:#b9b6a5;margin-top:4px}@media(max-width:550px){.companionHud{left:8px;top:51px;width:184px;padding:5px}.partySelector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;gap:6px}.partySelector button{min-width:0;padding:4px;font-size:14px;overflow-wrap:anywhere}.partySelector canvas{width:34px;height:34px}.partySelector small{font-size:14px}}

.merchantShop{position:fixed;right:20px;bottom:20px;z-index:12;box-sizing:border-box;width:min(490px,calc(100vw - 24px));padding:17px;background:linear-gradient(145deg,#26313a,#101820);border:3px solid;border-color:#c0a879 #4d3b25 #4d3b25 #c0a879;box-shadow:0 12px 45px #000c;color:#e1dccb}.merchantShop[hidden]{display:none}.merchantShopHeading{display:flex;gap:12px;align-items:center}.merchantShopHeading canvas{width:72px;height:72px;image-rendering:pixelated;flex:none;background:#111b23}.merchantShopHeading>div{flex:1}.merchantShopHeading small{font:14px monospace;letter-spacing:2px;color:#c1a476}.merchantShopHeading h2{margin:4px 0;font-size:19px;color:#f0d7a5}.merchantShopHeading p{margin:4px 0;font-size:14px;line-height:1.5}.merchantShopHeading>button{align-self:flex-start;font-size:14px;padding:5px 8px}.merchantBalance{display:flex;gap:8px;align-items:center;margin:12px 0;color:#c8bda4;font-size:14px}.merchantBalance b{color:#f0d7a5}.merchantBalance small{margin-left:auto;font-size:14px;color:#a9c2ad}.merchantProducts{display:grid;gap:8px}.merchantProducts button{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px 12px;text-align:left;color:#eee0bc;background:#38402f;border:1px solid #aa9469;font-size:14px}.merchantProducts small{display:block;margin-top:4px;color:#b6b7a6;font-size:14px}.merchantProducts button:disabled{opacity:.45;cursor:not-allowed}.merchantProducts b{font-size:14px;white-space:nowrap}.merchantShopHint{font-size:14px;color:#aaa38f}.merchantShop #merchantNotice{min-height:1.5em;margin:8px 0;font-size:14px;color:#e6c7a4}@media(max-width:550px){.merchantShop{right:12px;bottom:12px;padding:12px}.merchantShopHeading canvas{width:54px;height:54px}}

.merchantShop{margin:auto;inset:0;max-height:calc(100dvh - 24px);overflow-y:auto}.merchantShop::backdrop{background:#03070d9c}

.worldTooltip[data-kind="merchant"]{width:420px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);box-sizing:border-box;white-space:pre-line;overflow-wrap:anywhere;overflow-y:auto;overflow-x:hidden;font-size:14px;line-height:1.5;padding:12px 15px;color:#e1dccb}

.merchantHostile{display:block;margin:12px 0 4px;padding:8px 12px;background:#4a2429;border:1px solid #b66f72;color:#ffd4ce;font-size:14px}.merchantHostileHint{margin:0 0 10px;color:#bd9c98;font-size:14px}

.resultDefeatMessage{margin:0 0 20px;font-size:clamp(19px,2.5vw,25px);font-weight:700;line-height:1.7;color:#f0b9ad;overflow-wrap:anywhere}.resultDefeatMessage[hidden]{display:none}

.worldTooltip[data-kind="party"]{max-height:calc(100dvh - 24px);overflow-y:auto;overflow-x:hidden}

.rankingDialog{width:min(480px,94vw)}
.rankingDialog label{display:block;margin-bottom:8px;color:#ddc48f}
.rankingDialog input{box-sizing:border-box;width:100%;padding:10px;font:inherit;color:#eee3ca;background:#10171f;border:1px solid #9e895e}
.rankingDialog #rankingNotice,.rankingStatus{font-size:14px;color:#c6bea9;line-height:1.5}
.resultActions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}
.resultActions .retryRun{margin:0}
#ranking,#rankingDetail{width:min(900px,94vw)}
#rankingEntries{list-style:none;padding:0;margin:10px 0 20px}
#rankingEntries li{display:grid;grid-template-columns:max-content minmax(0,max-content) max-content minmax(5ch,1fr);align-items:center;gap:clamp(6px,2vw,18px);padding:9px 4px;border-bottom:1px solid #534a37;overflow-wrap:anywhere}
#rankingEntries li strong{text-align:right;color:#e8c682;white-space:nowrap}
#rankingDetailRun{overflow-wrap:anywhere;color:#e8c682}
#rankingDetailStatus:empty{display:none}
#rankingDetailEquipment section{margin-bottom:18px}
#rankingDetailEquipment h3{margin:0 0 8px;color:#ddc48f}
#rankingDetailEquipment ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:8px;list-style:none;margin:0;padding:0}
#rankingDetailEquipment li{padding:8px;border:1px solid #534a37;background:#10171f;overflow-wrap:anywhere}
#rankingDetailEquipment li canvas{display:block;width:48px;height:48px;margin:5px 0;image-rendering:pixelated}
#rankingDetailEquipment li strong,#rankingDetailEquipment li small{display:block}
#rankingDetailEquipment li small{color:#c6bea9;font-size:14px;line-height:1.5}

#adventurerName,#resultPlayerName{overflow-wrap:anywhere}
