@import url('/assets/fonts.css');
:root{color-scheme:dark;--bg:#100e0d;--card:#1b1714;--raised:#241e18;--line:#3b3026;--gold:#d6ac6d;--text:#eee5d8;--muted:#a69a8b;--red:#ab473c;--green:#91ae8a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}button,a,input,summary,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold)}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}h1,h2,h3,p{margin:0}h1,h2,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(36px,5vw,68px);line-height:1.08;letter-spacing:-1.8px}h2{font-size:28px;line-height:1.2}h3{font-size:16px}p{color:var(--muted)}small{color:var(--muted)}.wrap{max-width:1280px;margin:auto;padding:0 48px}.topbar{height:88px;border-bottom:1px solid var(--line);background:#100e0dee;display:flex;align-items:center;position:relative;z-index:3}.topbar .wrap{display:flex;align-items:center;width:100%;gap:38px}.brand{font:600 23px Georgia,serif;letter-spacing:.4px;display:flex;align-items:center;gap:11px}.brand-mark{font:28px Georgia;color:var(--gold);border:1px solid #735b39;transform:rotate(45deg);width:36px;height:36px;display:grid;place-items:center}.brand-mark span{transform:rotate(-45deg)}.brand i{font-style:normal;color:var(--gold)}nav{display:flex;gap:28px;font-size:12px;color:var(--muted)}nav a.active,nav a:hover{color:var(--gold)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 20px;color:#211710;background:var(--gold);border:1px solid var(--gold);font-size:12px;font-weight:650;letter-spacing:.3px;transition:background .15s}.btn:hover:enabled{background:#e6bf84}.btn.ghost{background:transparent;color:var(--text);border-color:#54432f}.btn.danger{background:#642e27;border-color:#804038;color:#f1d9d1}.btn.small{padding:7px 12px;font-size:11px}.text-link{color:var(--gold);font-size:12px}.eyebrow{color:var(--gold);font-size:10px;letter-spacing:2.7px;text-transform:uppercase}.hero{position:relative;min-height:670px;display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden}.hero-copy{position:relative;z-index:2;max-width:550px;padding:65px 0 80px}.hero h1{margin:22px 0}.hero h1 em{font-style:normal;color:var(--gold)}.hero-copy>p{max-width:420px;font-size:15px;line-height:1.9}.hero-actions{display:flex;gap:14px;margin:32px 0 22px}.hero-art{position:absolute;right:-30px;top:0;width:66%;height:100%;object-fit:cover;object-position:center;mask-image:linear-gradient(to right,transparent,#000 28%,#000 80%,transparent),linear-gradient(to bottom,#000 80%,transparent);mask-composite:intersect;opacity:.85}.hero-ribbon{display:flex;gap:30px;color:var(--muted);font-size:11px;margin-top:36px}.hero-ribbon strong{display:block;font:27px Georgia;color:var(--text);margin-bottom:2px}.hero-caption{position:absolute;right:55px;bottom:65px;z-index:2;background:#120f0bbf;border-left:2px solid var(--gold);padding:10px 20px;font-size:11px;backdrop-filter:blur(8px)}.hero-caption strong{font-size:15px;display:block}.rule-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 65px}.rule-item{padding:25px 30px;border-right:1px solid var(--line);display:flex;gap:18px;align-items:center}.rule-item:last-child{border-right:0}.rule-symbol{color:var(--gold);font:30px Georgia}.rule-item strong{font-size:13px;display:block}.rule-item p{font-size:11px}.section{padding:25px 0 65px}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.section-title h2{margin-top:8px}.class-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.class-card{border:1px solid var(--line);background:linear-gradient(145deg,#292119,#171310);padding:24px 18px;text-align:left;color:var(--text)}button.class-card:hover,button.class-card.selected{border-color:var(--gold);background:#332719}.class-icon{color:var(--gold);font-size:35px;line-height:1;display:block;margin:0 0 19px}.class-card h3{font:19px Georgia;margin-bottom:8px}.class-card p{font-size:11px;min-height:55px}.class-bonus{font-size:9px;color:var(--gold);display:block;margin-top:18px}.footer{border-top:1px solid var(--line);padding:30px 0;color:var(--muted);font-size:11px;margin-top:30px}.footer .wrap{display:flex;gap:20px;justify-content:space-between}.page-head{padding:42px 0 32px}.page-head h1{font-size:40px;margin:9px 0}.page-head p{max-width:640px}.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price-card{padding:32px;border:1px solid var(--line);background:var(--card);position:relative;display:flex;flex-direction:column}.price-card.featured{border-color:#b58b50;background:linear-gradient(140deg,#352719,#1b1714)}.price-card h2{font-size:25px;margin:13px 0}.price{font:44px Georgia;margin:20px 0 3px;letter-spacing:-1px}.price-period{font-size:11px;color:var(--muted);margin-bottom:22px}.price-card p{font-size:12px;margin:0 0 20px;min-height:65px}.price-card ul{list-style:none;padding:0;color:var(--muted);font-size:12px;margin:0 0 25px}.price-card li{margin:10px 0}.price-card li:before{content:'✓';color:var(--gold);margin-right:10px}.price-card .btn{margin-top:auto}.note{border:1px solid var(--line);padding:16px 20px;background:#201b14;color:var(--muted);font-size:12px;margin:22px 0}.note strong{color:var(--text)}.auth-layout{min-height:680px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px;padding-top:50px;padding-bottom:80px}.auth-art{position:relative;min-height:530px;background:linear-gradient(to top,var(--bg),transparent 50%),url('/assets/paladin.png') center/cover;border:1px solid var(--line)}.auth-art-copy{position:absolute;left:30px;bottom:35px;max-width:300px}.auth-art h2{font-size:34px;margin:15px 0}.auth-form{max-width:400px;width:100%}.auth-form h1{font-size:38px;margin:15px 0}.auth-form>p{margin-bottom:25px}.field{display:block;margin:15px 0;color:var(--muted);font-size:11px}.field input,.field textarea,.field select{display:block;margin-top:7px;width:100%;background:#14110e;border:1px solid #514130;border-radius:0;padding:12px;color:var(--text)}.field textarea{min-height:80px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-error{color:#e7a393;border-left:2px solid var(--red);padding:8px 12px;background:#512b212f;font-size:12px;margin:15px 0}.auth-form .btn{width:100%;margin:12px 0 20px}.dashboard{display:grid;grid-template-columns:240px 1fr;gap:30px;padding-bottom:50px}.panel{border:1px solid var(--line);background:var(--card);padding:22px}.panel h3{margin-bottom:16px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.char-picker{display:block;border:1px solid var(--line);padding:18px;margin-bottom:10px;background:#211b16}.char-picker.active{border-color:var(--gold)}.char-picker strong{display:block;font:19px Georgia}.char-picker small{font-size:10px}.char-picker .class-icon{font-size:22px;margin:0 0 9px}.slot-remaining{margin:20px 0;color:var(--muted);font-size:11px}.dashboard-main{min-width:0}.adventure-status{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#211b14;border:1px solid #57432d;padding:17px 22px;margin-bottom:22px}.status-orb{display:inline-block;width:7px;height:7px;background:var(--gold);border-radius:50%;margin-right:7px;box-shadow:0 0 12px #d6ac6d66}.adventure-status p{font-size:11px}.character-header{display:flex;gap:20px;align-items:center;margin-bottom:20px}.character-header h2{font-size:32px}.level-circle{width:64px;height:64px;display:grid;place-items:center;border:1px solid #876a45;background:#33281c;color:var(--gold);font:27px Georgia;flex-shrink:0}.character-class{font-size:10px;letter-spacing:2px;color:var(--gold);text-transform:uppercase}.hero-money{margin-left:auto;text-align:right}.hero-money strong{font:24px Georgia;color:var(--gold)}.hero-money small{display:block;font-size:10px}.xp-bar{height:4px;background:#342b22;margin:13px 0 22px;position:relative}.xp-bar progress{width:100%;height:4px;display:block;border:0;appearance:none}.xp-bar progress::-webkit-progress-bar{background:#342b22}.xp-bar progress::-webkit-progress-value{background:var(--gold)}.character-board{display:grid;grid-template-columns:190px 1fr;min-height:450px;background:radial-gradient(ellipse at 60% 25%,#35271a66,transparent 60%),#171310;border:1px solid #665033;box-shadow:inset 0 0 0 4px #17130f,inset 0 0 0 5px #3e3021}.attributes{padding:28px 20px;border-right:1px solid #443321}.attributes .eyebrow{margin-bottom:17px}.attr-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #342a21;padding:12px 0;font-size:11px;color:var(--muted)}.attr-row strong{font-size:16px;color:var(--text)}.attr-value{display:flex;gap:10px;align-items:center}.attr-plus{background:#32271b;border:1px solid #625032;color:var(--gold);width:22px;height:22px;padding:0}.derived{margin-top:20px;font-size:11px;line-height:2}.derived strong{float:right;color:var(--text)}.paper-doll{position:relative;min-height:450px;overflow:hidden;display:flex;justify-content:center;align-items:center}.paper-doll-art{position:absolute;inset:0;background:url('/assets/paladin.png') center/cover;opacity:.85;mask-image:linear-gradient(to bottom,#000 75%,transparent)}.paper-doll-label{position:absolute;bottom:18px;color:#b39c7d;font:12px Georgia;letter-spacing:2px}.equip-box{z-index:1;width:78px;height:106px;position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#110e0bd9;border:1px solid #856540;box-shadow:0 0 0 3px #17130f;backdrop-filter:blur(3px)}.equip-box span{font-size:9px;color:var(--muted)}.equip-box .item-art{width:68px;height:68px}.equip-box.weapon{left:20px;top:150px}.equip-box.armor{right:20px;top:150px}.equip-box.charm{right:20px;top:25px;height:82px}.equip-box.charm .item-art{height:55px;width:55px}.equip-box.empty{border-color:#483727;color:#685544}.inventory-panel{margin-top:22px}.inventory-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.inventory-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;background:#0e0b09;padding:8px;border:1px solid #6b5235}.inventory-cell{min-height:76px;aspect-ratio:1;position:relative;border:1px solid #30251b;background:linear-gradient(135deg,#221b14,#14100c);padding:3px;display:grid;place-items:center;color:var(--text)}button.inventory-cell:hover,button.inventory-cell.selected{border-color:var(--gold);background:#38291a}.inventory-cell.uncommon{border-color:#777c49}.inventory-cell.rare{border-color:#697ca2}.inventory-cell.legendary{border-color:#bf8644;box-shadow:inset 0 0 15px #b776222a}.item-art{background-image:url('/assets/items.png');background-repeat:no-repeat;background-size:400% 300%;width:100%;height:100%;display:block;mix-blend-mode:screen}.art-sword{background-position:0 0}.art-armor{background-position:33.333% 0}.art-charm{background-position:66.667% 0}.art-staff{background-position:100% 0}.art-might{background-position:0 50%}.art-clarity{background-position:33.333% 50%}.art-vigor{background-position:66.667% 50%}.art-fortune{background-position:100% 50%}.art-destiny{background-position:0 100%}.art-bag{background-position:33.333% 100%}.art-gold{background-position:66.667% 100%}.art-helmet{background-position:100% 100%}.cell-quantity{position:absolute;bottom:3px;right:5px;font-size:10px;color:#eadaba;z-index:1}.cell-equipped{position:absolute;left:5px;top:3px;font-size:10px;color:var(--gold)}.inventory-detail{margin-top:16px;display:flex;gap:20px;align-items:center;background:#231b14;border:1px solid #53402c;padding:17px}.inventory-detail>.item-art{width:65px;height:65px;flex-shrink:0}.inventory-detail h3{color:var(--gold);font-family:Georgia;font-size:20px}.inventory-detail p{font-size:11px}.inventory-detail .detail-actions{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}.potion-shop{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.potion-shop .shop-item{flex:1;min-width:100px;border:1px solid var(--line);padding:12px;text-align:center}.shop-item .item-art{height:62px;width:62px;margin:auto}.shop-item strong{font-size:10px;display:block;margin:8px 0}.shop-item small{font-size:9px}.shop-item button{margin-top:10px}.battles{display:grid;gap:8px}.battle-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px;border:1px solid var(--line);font-size:12px}.battle-row small{font-size:10px}.win{color:var(--green)}.loss{color:#c78272}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.empty-state{padding:60px 30px;text-align:center;border:1px dashed #57432d}.empty-state h2{margin:18px 0}.empty-state p{margin-bottom:25px}.account-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0}.pairing-code{font:24px ui-monospace,monospace;color:var(--gold);letter-spacing:2px;word-break:break-all;padding:20px;background:#0f0c09;border:1px solid var(--line)}.product-grant{padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.product-grant small{display:block}.admin-layout{display:grid;grid-template-columns:190px 1fr;gap:30px}.admin-nav{display:grid;align-content:start;gap:4px}.admin-nav a{padding:13px 17px;color:var(--muted);font-size:12px;border:1px solid transparent}.admin-nav a.active{border-color:var(--line);background:var(--card);color:var(--gold)}.admin-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:25px}.count{padding:20px;background:var(--card);border:1px solid var(--line)}.count strong{display:block;font:30px Georgia;color:var(--gold)}.count span{font-size:10px;color:var(--muted)}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:20px}.toolbar input{padding:10px 13px;background:#1b1714;border:1px solid var(--line);color:var(--text);flex:1;min-width:0}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th{text-align:left;color:var(--muted);font-size:10px;font-weight:400;letter-spacing:1px;text-transform:uppercase;padding:13px 15px;border-bottom:1px solid #604b31}td{padding:16px 15px;border-bottom:1px solid var(--line)}td small{display:block;font-size:10px}.badge{display:inline-block;border:1px solid #5b4935;padding:2px 8px;color:var(--gold);font-size:9px;letter-spacing:.7px}.badge.banned{color:#d99986;border-color:#754038}.admin-detail{display:grid;gap:20px}.admin-action-row{display:flex;gap:8px;flex-wrap:wrap}.loading{padding:100px;text-align:center;color:var(--gold)}#toast{position:fixed;bottom:24px;right:24px;max-width:420px;z-index:15;background:#2d2318;border:1px solid var(--gold);color:var(--text);padding:15px 20px;display:none;box-shadow:0 8px 30px #0008;font-size:12px}#toast.visible{display:block}dialog{background:var(--card);border:1px solid #876740;color:var(--text);padding:32px;max-width:750px;width:calc(100% - 35px);max-height:90vh;overflow:auto}dialog::backdrop{background:#080604cc;backdrop-filter:blur(4px)}dialog h2{margin-bottom:10px}.modal-close{float:right;background:none;border:0;color:var(--muted);font-size:22px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.modal-classes{margin:20px 0;grid-template-columns:repeat(5,1fr)}.modal-classes .class-card{padding:15px 10px}.modal-classes .class-card p{display:none}.modal-classes .class-card h3{font-size:14px}.modal-classes .class-bonus{font-size:8px}.muted{color:var(--muted)}.spaced{margin-top:24px}.faq{max-width:800px}.faq details{padding:20px 0;border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;color:var(--text);font-size:14px}.faq p{font-size:12px;margin-top:15px}body[data-page=admin] .wrap{max-width:1450px}.page-content{min-height:550px;padding-bottom:45px}.checkbox{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--muted);margin:15px 0}.checkbox input{accent-color:var(--gold)}.rule-note{font-size:11px;color:var(--muted);margin:18px 0}.artifact-credit{font-size:10px;color:#716556}.hidden{display:none!important}@media(max-width:1000px){.wrap{padding:0 25px}.class-cards{grid-template-columns:repeat(3,1fr)}.dashboard{grid-template-columns:180px 1fr;gap:20px}.character-board{grid-template-columns:160px 1fr}.equip-box{width:62px;height:85px}.equip-box .item-art{height:54px;width:54px}.inventory-cell{min-height:55px}.auth-layout{gap:45px}.prices{grid-template-columns:repeat(2,1fr)}.topbar .wrap{gap:20px}nav{gap:18px}.admin-layout{grid-template-columns:150px 1fr;gap:20px}}@media(max-width:720px){.wrap{padding:0 18px}.topbar{height:auto;min-height:75px;padding:15px 0}.topbar .wrap{flex-wrap:wrap;gap:14px}.brand{font-size:20px}.brand-mark{width:29px;height:29px;font-size:22px}nav{order:3;width:100%;justify-content:center}.top-actions{gap:10px}.top-actions .btn{padding:8px 10px;font-size:10px}.hero{min-height:690px;grid-template-columns:1fr;align-items:start}.hero-copy{padding-top:50px;padding-bottom:280px}.hero-copy>p{max-width:370px;font-size:13px}.hero h1{font-size:50px}.hero-art{width:100%;height:70%;top:auto;bottom:0;right:0;opacity:.5;mask-image:linear-gradient(to bottom,transparent,#000 35%,#000 85%,transparent)}.hero-caption{bottom:25px;right:25px}.hero-ribbon{gap:25px}.rule-strip{grid-template-columns:1fr;margin-bottom:35px}.rule-item{padding:17px;border-right:0;border-bottom:1px solid var(--line)}.class-cards{grid-template-columns:repeat(2,1fr)}.class-card:last-child{grid-column:1/-1}.prices{grid-template-columns:1fr}.price-card{padding:25px}.auth-layout{grid-template-columns:1fr;min-height:600px;padding-top:30px;gap:0}.auth-art{display:none}.auth-form{max-width:450px;margin:auto}.dashboard{grid-template-columns:1fr}.character-list{display:flex;gap:10px;overflow:auto}.char-picker{min-width:155px;flex-shrink:0}.character-header h2{font-size:26px}.hero-money strong{font-size:21px}.character-board{grid-template-columns:140px 1fr;min-height:410px}.paper-doll{min-height:410px}.attributes{padding:22px 14px}.equip-box.weapon{left:9px;top:150px}.equip-box.armor{right:9px;top:245px}.equip-box.charm{right:9px}.inventory-grid{grid-template-columns:repeat(5,1fr)}.inventory-cell{min-height:55px}.inventory-detail{flex-wrap:wrap;gap:12px}.inventory-detail .detail-actions{margin-left:0;width:100%}.two-col{grid-template-columns:1fr}.admin-layout{grid-template-columns:1fr}.admin-nav{display:flex;gap:8px;overflow:auto}.admin-nav a{white-space:nowrap;padding:8px 10px}.admin-counts{grid-template-columns:repeat(2,1fr)}.modal-classes{grid-template-columns:repeat(3,1fr)}.modal-classes .class-card:last-child{grid-column:auto}.section-title{align-items:start}.section-title p{font-size:11px}.footer .wrap{flex-direction:column;gap:10px}.adventure-status{align-items:start;font-size:12px}.form-row{grid-template-columns:1fr}.hero-actions{flex-wrap:wrap}.page-head h1{font-size:34px}}
/* Five original class portraits share a single atlas; each view shows only its own hero. */
.paper-doll-art{inset:0 auto;width:180px;height:100%;background-image:url('/assets/classes.png');background-size:500% 100%;background-repeat:no-repeat;opacity:1;mask-image:linear-gradient(to bottom,#000 90%,transparent)}
.paper-doll-art[data-class=paladin]{background-position:0 0}.paper-doll-art[data-class=wizard]{background-position:25% 0}.paper-doll-art[data-class=barbarian]{background-position:50% 0}.paper-doll-art[data-class=rogue]{background-position:75% 0}.paper-doll-art[data-class=necromancer]{background-position:100% 0}
/* Full equipment paper doll: 12 starting slots and one future weapon slot. */
.character-board{min-height:620px}
.paper-doll{min-height:620px}
.paper-doll .equip-box{width:80px;height:86px;padding:5px 2px;gap:2px}
.paper-doll .equip-box .item-art{width:54px;height:54px;flex-shrink:0}
.paper-doll .equip-box .class-icon{margin:0}
.paper-doll .equip-box>span:last-of-type{font-size:9px;line-height:1.2;text-align:center;color:#c1af98}
.paper-doll .equip-box.empty .item-art{opacity:.26;filter:grayscale(1)}
.paper-doll .equip-box.locked{opacity:1;border-style:dashed}
.paper-doll .equip-box.locked .item-art{height:36px;width:36px;opacity:.16}
.paper-doll .equip-box small{font-size:8px;color:var(--muted)}
.equip-box.shoulders{left:16px;top:12px}.equip-box.upperArms{left:16px;top:108px}.equip-box.forearms{left:16px;top:204px}.equip-box.gloves{left:16px;top:300px}.equip-box.weapon{left:16px;top:396px}
.equip-box.necklace{right:16px;top:12px}.equip-box.chest{right:16px;top:108px}.equip-box.pants{right:16px;top:204px}.equip-box.thighs{right:16px;top:300px}.equip-box.shins{right:16px;top:396px}.equip-box.weapon2{right:16px;top:492px}
.equip-box.helmet{left:50%;top:12px;transform:translateX(-50%)}.equip-box.boots{left:50%;top:492px;transform:translateX(-50%)}
.equip-box:hover:enabled{border-color:var(--gold);background:#251b12}
@media(max-width:1000px){.paper-doll .equip-box{width:70px}.equip-box.shoulders,.equip-box.upperArms,.equip-box.forearms,.equip-box.gloves,.equip-box.weapon{left:9px}.equip-box.necklace,.equip-box.chest,.equip-box.pants,.equip-box.thighs,.equip-box.shins,.equip-box.weapon2{right:9px}}
@media(max-width:720px){.character-board{grid-template-columns:1fr}.attributes{border-right:0;border-bottom:1px solid #443321;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:12px;padding:18px 14px}.attributes>.eyebrow,.attributes>.derived,.attributes>.rule-note{grid-column:1/-1}.attributes .eyebrow{margin-bottom:0}.attr-row{font-size:10px;gap:4px;flex-wrap:wrap}.attr-value{gap:5px}.derived{margin-top:12px}.paper-doll-art{width:155px}.paper-doll .equip-box{width:74px}.paper-doll-label{font-size:10px}.paper-doll .equip-box>span:last-of-type{font-size:9px}}

/* Original 4 x 4 equipment art atlas, separate from the potion atlas. */
.item-art:is(.art-helmet,.art-necklace,.art-shoulders,.art-upperArms,.art-forearms,.art-gloves,.art-chest,.art-pants,.art-thighs,.art-shins,.art-boots,.art-sword,.art-staff,.art-axe,.art-shield,.art-dagger){background-image:url('/assets/equipment-v1.png');background-size:400% 400%}
.item-art.art-helmet{background-position:0.0% 0.0%}
.item-art.art-necklace{background-position:33.3333% 0.0%}
.item-art.art-shoulders{background-position:66.6667% 0.0%}
.item-art.art-upperArms{background-position:100.0% 0.0%}
.item-art.art-forearms{background-position:0.0% 33.3333%}
.item-art.art-gloves{background-position:33.3333% 33.3333%}
.item-art.art-chest{background-position:66.6667% 33.3333%}
.item-art.art-pants{background-position:100.0% 33.3333%}
.item-art.art-thighs{background-position:0.0% 66.6667%}
.item-art.art-shins{background-position:33.3333% 66.6667%}
.item-art.art-boots{background-position:66.6667% 66.6667%}
.item-art.art-sword{background-position:100.0% 66.6667%}
.item-art.art-staff{background-position:0.0% 100.0%}
.item-art.art-axe{background-position:33.3333% 100.0%}
.item-art.art-shield{background-position:66.6667% 100.0%}
.item-art.art-dagger{background-position:100.0% 100.0%}
/* Visible stat sources, derived combat values and complete item descriptions. */
.stat-breakdown{display:block;font-size:9px;line-height:1.4;color:#9c8a74;max-width:115px;margin-top:4px}
.combat-sheet{border-top:1px solid var(--line);margin-top:22px;padding-top:24px}
.combat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}
.combat-stat{display:flex;justify-content:space-between;gap:10px;font-size:11px;padding:8px 0;border-bottom:1px solid var(--line)}
.combat-stat span{color:var(--muted)}.combat-stat strong{color:var(--gold);white-space:nowrap}
.load-panel{background:#241c14;padding:16px;border:1px solid var(--line)}.load-panel small{display:block;font-size:10px;margin:5px 0}.load-panel p{font-size:10px;margin:8px 0 0}.load-panel.overloaded{border-color:#945343}.load-panel progress{width:100%;height:6px;accent-color:var(--gold)}
.inventory-detail.item-tooltip{display:block;border-color:#a47c46;background:linear-gradient(135deg,#37271b,#1e1712);max-width:580px}
.item-tooltip.rare{border-color:#697ca2}.item-tooltip.legendary{border-color:#bf8644}
.item-heading{display:flex;align-items:center;gap:18px}.item-heading>.item-art{width:76px;height:76px;flex-shrink:0}.item-heading h3{margin:0 0 6px!important}.item-tooltip .detail-actions{margin-top:18px;align-items:center}
.item-base-stats,.item-affixes{padding:12px 0;list-style:none;margin:0;border-bottom:1px solid #6b5034;font-size:12px}.item-affixes li{margin:6px 0}.item-affixes strong{color:#cbb8e4}.item-affixes small{font-size:10px}.item-condition{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin:15px 0 8px}.item-properties>progress{width:100%;height:5px;accent-color:var(--gold)}.item-properties .item-requirements{margin:12px 0;font-size:10px}.cell-broken{position:absolute;top:0;right:5px;color:#eaa08a;font-size:24px;z-index:1}
.rule-stat-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}.rules-page h2{margin-bottom:20px}.rules-page p{line-height:1.9}.rules-page{max-width:1000px}
@media(max-width:720px){.attributes{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-breakdown{font-size:8px;max-width:90px}.combat-grid{grid-template-columns:1fr}.item-heading h3{font-size:18px}.rule-stat-list{grid-template-columns:1fr}}
.inventory-cell>.item-art{aspect-ratio:1;height:auto}
@media(max-width:400px){.inventory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.inventory-cell{min-width:0;min-height:0}.character-header{gap:12px}.character-header>div:nth-child(2){min-width:0;flex:1}.character-header h2{font-size:23px;overflow-wrap:anywhere}.level-circle{width:52px;height:52px}.hero-money strong{font-size:19px}.load-panel{padding:12px}}
/* Desktop gestures and persistent touch/keyboard controls share the same inventory. */
.inventory-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.inventory-cell{min-width:0}
.inventory-cell[draggable=true],.equip-box[draggable=true]{cursor:grab}
.dragging{opacity:.4}.inventory-cell.drop-target,.equip-box.drop-target{border-color:#a8c785;box-shadow:inset 0 0 0 2px #a8c785}
.moving [data-position],.paper-doll.moving .equip-box:enabled{border-style:dashed}
.move-note{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;margin-bottom:12px;border:1px solid var(--gold);font-size:12px}
.potion-belt-label{font-size:14px;margin:20px 0 10px}.potion-belt{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;max-width:480px}
.item-hover{position:fixed;z-index:30;width:350px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:18px;border:1px solid #a47c46;background:linear-gradient(135deg,#37271b,#1e1712);box-shadow:0 12px 40px #000b}
.item-hover[hidden]{display:none}.item-hover h3{font-size:20px;color:var(--gold)}.item-hover p{font-size:11px}.item-hover .item-heading{gap:12px}.item-hover .item-heading>.item-art{width:56px;height:56px}.item-hover .item-base-stats,.item-hover .item-affixes{font-size:11px}
.inventory-cell:focus-visible,.equip-box:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:720px){.inventory-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.inventory-header{gap:8px;flex-wrap:wrap}.potion-belt .inventory-cell{min-height:0}.inventory-detail .btn{min-height:44px}.move-note{flex-wrap:wrap}.inventory-detail.item-tooltip{padding:12px}.item-heading{gap:12px}}
@media(max-width:400px){.inventory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.inventory-cell{min-height:0}}
@media(min-width:1250px){.gear-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.gear-workspace>.panel{padding:16px}.gear-workspace .inventory-panel{margin-top:0}.gear-workspace .character-board{grid-template-columns:1fr}.gear-workspace .attributes{border-right:0;border-bottom:1px solid #443321;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding:14px}.gear-workspace .attributes>.eyebrow,.gear-workspace .attributes>.derived,.gear-workspace .attributes>.rule-note{grid-column:1/-1}.gear-workspace .attributes>.eyebrow{margin-bottom:0}.gear-workspace .inventory-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.gear-workspace .inventory-cell{min-height:0}.gear-workspace .character-header{gap:12px}.gear-workspace .character-header h2{font-size:25px}.gear-workspace .hero-money strong{font-size:20px}}
