@font-face{font-family:Cinzel;src:url('./assets/fonts/cinzel.ttf?delivery=111') format('truetype');font-weight:400 900;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('./assets/fonts/cormorant.ttf?delivery=111') format('truetype');font-weight:300 700;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('./assets/fonts/source-serif.ttf?delivery=111') format('truetype');font-weight:200 900;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('./assets/fonts/source-sans.ttf?delivery=111') format('truetype');font-weight:200 900;font-display:swap}
:root{--ink:#E6DDC9;--muted:#B9AA91;--gold:#B78A4D;--magic:#75B9D4;--paper-ink:#29231E;--serif:'Source Serif 4',serif;--sans:'Source Sans 3',sans-serif;--heading:'Cormorant Garamond',serif;--display:Cinzel,serif;font-family:var(--serif);font-size:clamp(16px,1.05vw,20px)}
body,button,a,select,canvas{cursor:var(--game-cursor),auto}button:hover,a:hover,select:hover{cursor:var(--game-cursor),pointer}input{font-family:var(--sans)}
button{font-family:var(--sans);font-weight:600;letter-spacing:.055em}h1,h2,h3,.fighter-name{font-family:var(--heading);font-weight:600}.brand-title,.cinematic-title,.live-logo{font-family:var(--display);font-weight:600}.brand-title,.modal-head h2,.inventory-crown h2{letter-spacing:.1em}.brand-title{font-size:1.2rem}.chapter-tag{font-size:.9rem}.brand-subtitle{font: .9rem var(--heading)}
.game-shell{max-width:1870px;padding:0 16px}.topbar{min-height:64px}.top-actions button{font-size:.95rem}.view-frame{height:57vh;min-height:360px}.stone-frame{padding-top:21px}.control-deck{min-height:260px;grid-template-columns:1.2fr .6fr 1fr;gap:20px;padding:15px 18px 10px;background-color:#1c1712;background-image:linear-gradient(90deg,#1d150ce0,#16130bdc),url('./assets/norse/ui-inventory.webp');background-position:center bottom;background-size:cover}.control-deck .orb-frame{width:clamp(95px,11vw,205px)!important}.hero-name{font:1.12rem var(--heading);font-variant:small-caps}.hero-vitals{font: .9rem var(--sans);font-variant-numeric:tabular-nums}.travel-controls .eyebrow{font-size:.9rem}.objective-title{font-family:var(--heading);font-size:1.15rem}.round-command{font-size:.95rem!important}.round-command .round-icon{width:clamp(65px,6.5vw,115px)!important;height:auto!important;aspect-ratio:1}.command-grid{gap:12px 20px}.message-strip{font-size:.9rem}.footer{font:.8rem var(--sans);padding:7px 0}.footer button{font-size:.9rem}.compass-plate>b{font-family:var(--display)}
.combat-deck{grid-template-columns:1fr 1fr 1fr;align-items:stretch;gap:18px}.battle-party{align-self:center}.battle-party .orb-frame{width:clamp(85px,8vw,146px)!important}.combat-commands{gap:8px 12px}.combat-info{min-height:0;padding:12px 18px;background:#cbbb9d;color:#29231E}.combat-info .fighter-name{font-size:1.6rem;margin:6px 0 8px}.fighter-values{font:1rem var(--sans);font-variant-numeric:tabular-nums;gap:3px 15px}.combat-info .eyebrow{font-size:.9rem}.combat-info #attack-preview{font: .95rem/1.35 var(--sans)}.combat-info .combat-log{font:.9rem/1.25 var(--sans);max-height:3.5em;overflow:auto}.combat-commands .round-icon{width:clamp(62px,5.7vw,105px)!important;height:auto!important}.combat-commands .icon-magic,.combat-commands .icon-shield,.combat-commands .icon-swords,.combat-commands .icon-heart,.combat-commands .icon-arrow,.combat-commands .icon-magic{background-position:73.4% 74.2%}.combat-commands .icon-shield{background-position:84.9% 74.2%}.combat-commands .icon-arrow{background-position:73.4% 89.6%}.combat-commands .icon-heart{background-position:84.9% 89.6%}.combat-commands .icon-swords{background-position:96.1% 89.6%}.secondary-orders{gap:5px}.secondary-orders button{font:600 .85rem var(--sans);padding:4px 8px}.round-command.active .round-icon{outline:2px solid #B78A4D;outline-offset:2px;box-shadow:0 0 12px #B78A4D55}
.battle-result{top:auto;bottom:12px;left:50%;transform:translateX(-50%);width:max-content;max-width:94%;padding:10px 18px;border:2px ridge var(--gold);background:#101614ed;color:var(--ink);text-align:center}.battle-result strong{font:600 1.1rem var(--heading)}.battle-result>div{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}.battle-result button{font-size:.95rem}.battle-result:not(.won){top:42%;bottom:auto;transform:translate(-50%,-50%);padding:25px}
.modal p,.modal li{font:1.05rem/1.42 var(--serif)}.modal h2{font:600 1.6rem var(--heading)}.modal h3{font:600 1.4rem var(--heading)}.story-copy,.cinematic-story p{font:1.3rem/1.4 var(--serif)!important;max-width:75ch}.speaker-name{font:600 1.45rem var(--heading);color:#443728}.parchment{color:#29231E;text-shadow:none;background:radial-gradient(ellipse at 30% 20%,#e4d4b6,#c5b08c)}.parchment :is(button,p,span,b,strong){text-shadow:none}.modal-head{padding:14px 20px}.modal-body{padding:20px}.ratings,.skill-value,.fighter-values,.item-count,.item-quantity,.inventory-exit,.meter-label{font-family:var(--sans)!important;font-variant-numeric:tabular-nums}.skill-label{font-family:var(--sans)}.stats-modal .skill-value,.stats-modal .skill-label{font-size:1.05rem}.stats-modal .attributes-panel .ratings :is(b,span){font:1.2rem var(--sans)}.stats-person>strong{font:600 1.4rem var(--heading)}.stats-hint{font: .95rem/1.4 var(--sans)!important}.stats-bottom .hero-name{font-size:1.15rem}.stats-modal .skill-row{min-height:63px}.stats-modal .stats-return{font-family:var(--display)!important}.stats-modal .modal-head{position:relative}.stats-modal .modal-head:before,.stats-modal .modal-head:after{content:'ᛟ';font-size:1.7rem;color:var(--gold)}.attributes-panel{color:#29231E}.stats-modal .skill-columns{grid-auto-flow:column;grid-template-rows:repeat(6,1fr);grid-template-columns:1fr 1fr}
.modal :is(select,input[type=number]){padding:8px 10px;min-height:38px;font:1rem var(--sans);background:#e0d0b3;color:#29231E;border:1px solid #847154}.modal :is(input[type=checkbox]){width:20px;height:20px;accent-color:#B78A4D}.modal button{font-size:1.05rem}.cinematic-title h1{font:600 clamp(2rem,2.85vw,2.8rem) var(--display)}.cinematic-title>span{font:600 1.1rem var(--display);letter-spacing:.1em}.cinematic-story h2{font-size:1.6rem}
.title-screen{width:100%;height:100svh;aspect-ratio:auto;top:0;transform:none;overflow:hidden;background:#0c1010}.menu-artwork{position:absolute;inset:0;background-image:linear-gradient(90deg,transparent 45%,#0b1113d9 76%,#0b1113),url('./assets/norse/chapter-intro.webp');background-size:cover,125% 186%;background-position:center,32% 25%}.menu-artwork:after{content:'';position:absolute;inset:0;background:linear-gradient(#050808ca,transparent 28%,transparent 76%,#050809f5)}.live-logo{position:absolute;left:9%;top:7%;font-size:clamp(3.6rem,5.3vw,5.5rem);line-height:1.08;letter-spacing:.12em;text-transform:uppercase;color:#E6DDC9;text-shadow:0 2px 2px #000;margin:0}.title-options{inset:18% 5% 12% 69%;grid-template-rows:repeat(6,minmax(48px,1fr));gap:12px;max-height:650px}.title-option{background:linear-gradient(100deg,#38291d,#151b1b 48%,#38291d);clip-path:polygon(5% 0,95% 0,100% 50%,95% 100%,5% 100%,0 50%);border:2px ridge #ac8954;box-shadow:inset 0 0 0 4px #161c1a;padding:10px}.title-option span{opacity:1;font:600 1.25rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}.title-options .continue-game{position:static;grid-row:7;width:100%;font-size:1.05rem;margin-top:10px}.menu-version{display:block;font:1rem var(--heading);bottom:3%;left:9%;padding:9px 15px;background:#0c1212a6}
/* Matching the reference silhouette: 38% equipment, 62% pack, three portraits below. */
.inventory-modal,.loot-modal{width:min(1560px,98vw);max-height:97svh;background:#101413;color:var(--ink);color-scheme:dark;border:15px solid #4b3826;border-image:url('./assets/norse/ui-inventory.webp') 42 28 24 24 / 20px / 0 stretch;overflow:auto}.inventory-modal .modal-head{height:0;padding:0;border:0}.inventory-modal .modal-head h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.inventory-modal .modal-head .close-button{position:absolute;right:12px;top:10px;z-index:5;background:#101413;color:var(--ink);font:1.2rem var(--sans)}.inventory-modal .modal-body{padding:0;background:#101413}.inventory-crown{display:grid;grid-template-columns:38% 62%;position:relative;min-height:76px;background:linear-gradient(#2e251b,#1b1a15);border-bottom:8px ridge #6c5840;align-items:center}.inventory-crown h2{margin:0;text-align:center;text-transform:uppercase;font:600 1.8rem var(--heading)}.inventory-sigil{position:absolute;left:50%;top:-6px;transform:translateX(-50%);width:350px;height:83px;background:url('./assets/norse/ui-inventory.webp') no-repeat;background-size:940px 705px;background-position:-299px 0;pointer-events:none}.inventory-top{grid-template-columns:38% 62%;gap:0;padding:8px 8px 0}.inventory-modal .equipment-pane{padding:0 10px 0 0;border-right:10px ridge #584b39}.inventory-modal .gear-display{grid-template-columns:28% 41% 28%;gap:1.5%;height:clamp(340px,48vh,560px);min-height:0}.gear-left{grid-template-rows:repeat(3,1fr)}.gear-right{grid-template-rows:1.2fr 1fr .8fr 1fr}.inventory-modal .gear-slot{border:4px ridge #605a47;background:#101413}.inventory-modal .gear-slot>span{font:1rem var(--heading);padding:3px;white-space:nowrap;color:var(--ink);background:#131b19}.inventory-modal .gear-slot>button{padding:0!important;overflow:hidden}.gear-slot button.chosen{box-shadow:inset 0 0 0 2px #B78A4D!important}.gear-slot .catalog-art{position:absolute;inset:4% 7%;width:86%;height:89%}.gear-slot>button>b{font:1rem var(--sans);background:#101413b3;bottom:9px;right:5px}.gear-condition{position:absolute;bottom:3px;left:6px;right:6px;height:5px;background:linear-gradient(to right,#95b57a var(--condition),#26352b var(--condition));border:1px solid #687758}.inventory-modal .equipped-character{border:0}.inventory-modal .pack-pane{padding-left:10px;display:flex;flex-direction:column}.pack-board{position:relative;width:100%;aspect-ratio:10/6;border:4px ridge #786345;background-color:#101311;background-image:linear-gradient(to right,#73603d88 1px,transparent 1px),linear-gradient(to bottom,#73603d88 1px,transparent 1px);background-size:10% 16.666667%;isolation:isolate}.pack-item{position:absolute!important;margin:0;padding:5px!important;border:1px solid #8a7047!important;box-shadow:inset 0 0 0 2px #121813,0 1px 4px #000!important;background:radial-gradient(ellipse,#25271ee0,#101412f5)!important;border-radius:2px;touch-action:manipulation}.pack-item.chosen{outline:2px solid #cea05a;outline-offset:-3px;background:#332d1b!important;z-index:2}.pack-item:hover{z-index:3}.catalog-art{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.pack-item .catalog-art{width:100%;height:100%}.item-quantity{position:absolute;right:5px;bottom:2px;color:var(--ink);font:1.15rem var(--sans);background:#101413bf;padding:0 2px;pointer-events:none}.item-durability{position:absolute;bottom:3px;left:8%;width:84%;height:3px;background:linear-gradient(to right,#85995f var(--condition),#2e3329 var(--condition));opacity:.7}.pack-help{font: .9rem var(--sans)!important;color:var(--muted);margin:5px 0!important}.inventory-bottom{grid-template-columns:49% 32% 19%;gap:0;margin:8px 0 0;padding:8px 0 0;min-height:218px;border-top:10px ridge #5c4d38;background:#201a12}.inventory-orbs{gap:10px;padding:4px 18px;grid-column:1!important;grid-row:1!important}.portrait-drop{flex:1;min-width:0;text-align:center;padding:4px}.portrait-drop .hero-orb{width:100%}.inventory-orbs .orb-frame{width:clamp(95px,12vw,195px)!important}.inventory-orbs .hero-name{font:600 1.1rem var(--heading)}.inventory-orbs .hero-vitals{display:none}.hero-surname{font:1.05rem var(--heading);display:block;text-transform:uppercase;line-height:1.05}.is-selected .orb-frame,.selected-orb{box-shadow:0 0 0 2px #25332e,0 0 0 4px var(--magic),0 0 13px #75B9D477!important}.inventory-modal .item-detail{max-height:280px;min-height:205px;padding:10px;gap:9px;grid-column:2!important;grid-row:1!important;border:6px ridge #6d614b;align-items:flex-start;background:#101513;color:var(--ink);overflow:auto}.inventory-modal .item-detail>.catalog-art{width:25%;height:195px;flex-shrink:0;border:2px ridge #5d5847}.inventory-modal .item-detail h3{font:600 1.35rem var(--heading);color:var(--ink);margin:0 0 6px}.inventory-modal .item-detail p{font:1rem/1.33 var(--serif);margin:4px 0}.item-measure,.condition{font: .95rem/1.3 var(--sans)!important;color:var(--muted)}.inventory-modal .item-detail .condition{color:#99b978}.inventory-modal .item-detail button{font-size:.95rem;padding:5px 10px}.inventory-exit{grid-column:3!important;grid-row:1!important;border:5px ridge #6d614b;gap:5px;padding:8px}.inventory-exit>span{font:1.3rem var(--heading);color:var(--gold)}.inventory-exit>strong{font:1.7rem var(--sans);color:#d8b15e}.inventory-nav{display:flex;gap:7px}.mini-orb{border-radius:50%;width:42px;height:42px;padding:0;font:1.4rem var(--heading)!important;border:3px ridge #917956!important;background:#212620!important;color:#B78A4D!important}.engraved{font:600 1.35rem var(--display)!important;text-transform:uppercase;background:linear-gradient(#352f26,#141b18)!important;color:var(--ink)!important;border:4px ridge #8d7452!important;letter-spacing:.08em;box-shadow:inset 0 0 0 3px #121916!important}.give-to{display:flex;flex-wrap:wrap;gap:5px;align-items:center;font:.9rem var(--sans);margin-top:6px}.give-to select{font:.9rem var(--sans)!important;padding:4px!important;min-height:30px!important;max-width:110px}.inventory-modal .modal-notice:empty{display:none}.inventory-modal .modal-notice:not(:empty){margin:0;padding:8px 14px}.drop-ready{outline:3px solid var(--magic)!important;outline-offset:-3px}.dragging{opacity:.45}
.loot-modal .modal-head{background:#211d16;border-bottom:5px ridge #796444;color:var(--ink)}.loot-modal .modal-body{background:#111715;padding:12px 18px}.loot-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.loot-layout h3{margin:8px 0;font:600 1.5rem var(--heading);text-align:center;color:var(--ink)}.loot-source .pack-board,.loot-destination .pack-board{min-height:220px}.loot-source .container-art{height:160px;width:100%;background:url('./assets/norse/chest-open.webp') center 45%/cover;border:4px ridge #5b4c37}.loot-source .corpse-art{height:145px;width:90%;margin:0 auto;background-repeat:no-repeat;border:0}.loot-destination .party-orbs{margin-top:12px}.loot-destination .orb-frame{width:100px!important}.loot-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:3px ridge #73603d;margin-top:15px;padding-top:8px}.loot-footer h3{font-size:1.3rem;margin:0}.loot-footer p{font:1rem/1.35 var(--serif)}.loot-modal button{color:var(--ink)}.loot-footer .choices{flex-shrink:0}.empty-container{text-align:center;color:var(--muted)}
.riddle-modal{width:min(1150px,97vw);background:#101513;color:var(--ink);border:10px ridge #786046}.riddle-modal .modal-head{background:#151b1a;color:var(--ink);border:0}.riddle-modal .modal-body{padding:0;background:#111716}.riddle-lid{height:clamp(150px,25vw,320px);background:url('./assets/norse/chest-closed.webp') no-repeat;background-size:100% auto;background-position:center top}.riddle-lock{border:18px ridge #60533f;padding:25px 30px;text-align:center;background:radial-gradient(#202823,#0b1211)}.riddle-lock .story-copy{margin:0 auto 20px;color:var(--ink)}.riddle-lock form{display:flex;flex-direction:column;align-items:center}.letter-wheels{display:flex;justify-content:center;gap:12px}.letter-wheel{display:flex;align-items:center;flex-direction:column;gap:4px;min-width:60px}.letter-wheel button{border:0;background:none;box-shadow:none;color:var(--gold);padding:0 12px;font:1.1rem var(--sans)}.letter-wheel select{appearance:none;background:linear-gradient(#293633,#121b1c)!important;color:var(--ink)!important;width:64px;height:70px;text-align:center;padding:0!important;border:5px ridge #817052!important;box-shadow:0 0 10px #75b9d426;font:600 2rem var(--display)!important}.letter-wheel small{font:.75rem var(--sans);color:var(--muted)}.lock-help{color:var(--muted);font:1rem var(--sans)!important}.riddle-modal .modal-notice:not(:empty){margin:0;color:var(--ink);background:#44351e;border-color:#84714d}
.arena-modal{width:min(1460px,97vw);background:#111815;color:var(--ink);color-scheme:dark}.arena-modal .modal-head{background:#262117;border-bottom:4px ridge #7b6748}.arena-modal .modal-body{background:#141c19}.arena-builder{display:grid;grid-template-columns:1.65fr 1fr;gap:24px}.arena-builder h3{color:var(--ink);margin:10px 0}.arena-heroes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.arena-hero{padding:10px;border:1px solid #4f503e;background:#1c241e;text-align:center}.arena-hero.chosen{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.arena-hero .hero-orb{width:100%}.arena-hero .orb-frame{width:clamp(75px,7vw,115px)!important}.arena-hero>label{display:flex;align-items:center;justify-content:center;gap:7px;font:1rem var(--sans);margin-top:8px}.arena-attributes{padding:14px;border:1px solid #5d533f;margin-top:14px;background:#1c231d}.field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px}.field-grid label{display:flex;flex-direction:column;gap:3px;font:1rem var(--sans);color:var(--muted)}.field-grid input,.field-grid select{min-width:0;width:100%}.arena-modal :is(select,input[type=number]){background:#101815;color:var(--ink);border-color:#78694d;font-variant-numeric:tabular-nums}.arena-skills{margin-top:16px}.arena-skills summary{font:600 1.2rem var(--heading);margin-bottom:10px}.gear-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.arena-weapon-card{display:flex;align-items:center;gap:16px;padding:10px;margin:14px 0;background:#111a16;border:1px solid #6c5c41}.arena-weapon-card .catalog-art{width:50px;height:130px;flex-shrink:0}.arena-weapon-card p{font:1rem/1.4 var(--sans);margin:0}.arena-enemies{padding:0 15px;border-left:3px ridge #6f5a41}.arena-enemies h3{display:flex;justify-content:space-between}.enemy-setup{display:grid;grid-template-columns:25px 1fr 38px;gap:6px;margin-bottom:10px;background:#1d241f;border:1px solid #6f6045;padding:9px}.enemy-setup>span{font:1.15rem var(--display);align-self:center;color:var(--gold)}.enemy-setup>button{padding:0;color:var(--ink);font:1.4rem var(--sans);background:#2b2a20}.enemy-setup select{width:100%}.enemy-setup p{grid-column:2/4;font: .95rem/1.3 var(--sans);margin:1px 0;color:var(--muted)}.arena-terrain,.arena-seed{display:flex;flex-direction:column;gap:5px;margin-top:20px;font:1rem var(--sans)}.arena-modal .muted{color:var(--muted);font:1rem/1.4 var(--sans)}.arena-actions{display:grid;gap:12px;margin-top:25px}.arena-modal button.primary{background:#384837;color:var(--ink);border-color:var(--gold)}.arena-modal .modal-notice:not(:empty){background:#463020;color:var(--ink);border-color:var(--gold)}
.shop-stage{position:absolute;inset:0;z-index:2;background:#101411}.shop-stage>img{width:100%;height:100%;object-fit:cover}.shop-hotspot{position:absolute;background:transparent;border:0;box-shadow:none;padding:0}.shop-hotspot:hover,.shop-hotspot:focus-visible{background:#b78a4d12;outline:1px solid #b78a4d55}.shop-hotspot span{position:absolute;bottom:12%;left:50%;transform:translateX(-50%);background:#111816e8;border:1px solid var(--gold);padding:6px 20px;color:var(--ink);opacity:0}.shop-hotspot:hover span,.shop-hotspot:focus-visible span{opacity:1}.shop-hotspot.keeper{left:46%;top:16%;width:27%;height:43%}.shop-hotspot.door{left:12%;top:16%;width:16%;height:66%}.shop-hotspot.wares{left:75%;top:9%;width:23%;height:60%}.shop-scene-actions{position:absolute;bottom:14px;right:16px;display:flex;gap:12px}.shop-scene-actions button{background:#101815eb;border:2px ridge #92744d;color:var(--ink);font-size:1.05rem}.shop-modal .shop-list{margin-top:20px}.shop-modal .shop-item strong{font:1.1rem var(--heading)}.shop-modal .shop-item span{font:1rem var(--sans)}.shop-modal .shop-item button{font-size:1rem}.catalog-modal{width:min(1400px,96vw);background:#111915;color:var(--ink)}.catalog-modal .modal-head{background:#211f16}.catalog-search{font:1rem var(--sans);display:flex;align-items:center;gap:15px;margin-bottom:15px}.catalog-search input{flex:1;max-width:430px}.item-catalog-table{overflow-x:auto}.item-catalog-table table{width:100%;border-collapse:collapse;font:1rem/1.4 var(--sans)}.item-catalog-table td,.item-catalog-table th{padding:10px;border-bottom:1px solid #69583e;text-align:left}.item-catalog-table td:first-child{display:flex;align-items:center;gap:13px;min-width:250px}.item-catalog-table .catalog-art{height:72px;width:50px;flex-shrink:0}.catalog-modal button{color:var(--ink)}
@media(min-width:1450px){.inventory-top .pack-board{height:48vh;max-height:560px;aspect-ratio:auto}.control-deck .orb-frame{width:clamp(150px,10.5vw,202px)!important}.battle-party .orb-frame{width:clamp(115px,8vw,155px)!important}}
@media(max-width:1100px){.view-frame{height:52vh}.control-deck{grid-template-columns:1.05fr .6fr 1fr;gap:8px;padding:12px 4px}.control-deck .orb-frame{width:86px!important}.combat-deck{grid-template-columns:.8fr 1.2fr 1fr}.battle-party .orb-frame{width:72px!important}.round-command .round-icon{width:68px!important}.combat-commands .round-icon{width:57px!important}.fighter-values{grid-template-columns:1fr}.combat-info .combat-log{display:none}.inventory-modal .gear-display{height:390px;grid-template-columns:28% 40% 28%;gap:2%}.inventory-crown h2{font-size:1.5rem}.inventory-sigil{width:250px;background-size:700px 525px;background-position:-225px 0;height:70px;top:3px}.inventory-top{grid-template-columns:40% 60%}.inventory-crown{grid-template-columns:40% 60%}.inventory-modal .pack-pane{padding-left:7px}.inventory-top .pack-board{height:365px;aspect-ratio:auto}.gear-slot>span{font-size:.85rem!important}.inventory-bottom{grid-template-columns:43% 37% 20%}.inventory-orbs{padding:0 4px;gap:0}.inventory-orbs .orb-frame{width:90px!important}.hero-surname{font-size:.9rem}.inventory-modal .item-detail>.catalog-art{width:20%;height:135px}.inventory-modal .item-detail h3{font-size:1.2rem}.inventory-modal .item-detail p{font-size:.95rem}.inventory-exit .mini-orb{width:32px;height:32px}.inventory-exit>button{font-size:1.05rem!important}.arena-builder{grid-template-columns:1.5fr 1fr}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.control-deck{grid-template-columns:1fr .8fr;gap:14px}.command-grid{grid-template-columns:repeat(6,1fr);grid-column:1/-1}.combat-deck{grid-template-columns:1fr 1fr}.combat-commands{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(6,1fr)}.combat-commands .round-icon{width:58px!important}.combat-info{grid-column:2;grid-row:1}.fighter-values{grid-template-columns:1fr 1fr}.battle-party .orb-frame{width:85px!important}.inventory-top{grid-template-columns:1fr;padding:0 6px}.inventory-modal .gear-display{height:390px;max-width:450px;margin:auto}.inventory-modal .equipment-pane{border-right:0}.inventory-crown{display:block;min-height:72px;padding:15px}.inventory-crown h2:first-child{display:none}.inventory-sigil{left:18%;width:150px;background-position:-246px 0}.inventory-modal .pack-pane{padding:12px 0 0}.inventory-top .pack-board{height:auto;aspect-ratio:10/6}.inventory-bottom{grid-template-columns:1fr 1fr;gap:8px;padding:10px}.inventory-orbs{grid-column:1!important;grid-row:1!important}.inventory-modal .item-detail{grid-column:1/-1!important;grid-row:2!important;max-height:none}.inventory-exit{grid-column:2!important;grid-row:1!important;flex-direction:row;flex-wrap:wrap}.inventory-exit>button{margin:0}.inventory-modal .item-detail>.catalog-art{width:20%;height:160px}.loot-layout{grid-template-columns:1fr}.loot-layout .pack-board{aspect-ratio:10/5;min-height:0}.loot-source .container-art{height:120px}.loot-destination .orb-frame{width:75px!important}.loot-footer{display:block}.arena-builder{grid-template-columns:1fr}.arena-enemies{border-left:0;border-top:4px ridge #69593f;padding:15px 0}.stats-modal .skill-columns{grid-auto-flow:row;grid-template-rows:none;grid-template-columns:1fr}.title-options{inset:27% 5% 7% 51%;gap:9px}.live-logo{top:8%;left:8%;font-size:3.5rem}.menu-version{left:5%;bottom:1%;font-size:.9rem}.title-option span{font-size:1.05rem}.letter-wheels{gap:7px}.letter-wheel{min-width:44px}.letter-wheel select{width:46px;height:60px;font-size:1.5rem!important}.letter-wheel small{max-width:45px;line-height:1.6;font-size:.8rem}.riddle-lock{border-width:8px;padding:20px 12px}}
@media(max-width:530px){.game-shell{padding:0 4px}.view-frame{height:44svh;min-height:280px}.topbar{min-height:58px}.top-actions button{font-size:.8rem;padding:5px 7px}.brand-title{font-size:.9rem}.brand-subtitle{font-size:.8rem}.control-deck .orb-frame{width:60px!important}.control-deck .party-orbs{gap:5px}.round-command{font-size:.9rem!important}.round-command .round-icon{width:55px!important}.command-grid{grid-template-columns:repeat(3,1fr)}.combat-deck{grid-template-columns:1fr}.battle-party{grid-column:1;grid-row:1}.battle-party .orb-frame{width:77px!important}.combat-info{grid-column:1;grid-row:2}.combat-commands{grid-column:1;grid-row:3;grid-template-columns:repeat(3,1fr)}.hero-name{font-size:.95rem}.message-strip{font-size:.85rem;flex-wrap:wrap}.inventory-modal,.loot-modal{width:99vw;border-width:8px}.inventory-modal .gear-display{height:350px}.inventory-crown{padding:17px}.inventory-sigil{display:none}.inventory-orbs .orb-frame{width:52px!important}.inventory-orbs .hero-name{font-size:.9rem}.hero-surname{font-size:.76rem}.inventory-nav{display:none}.pack-item{padding:3px!important}.item-quantity{font-size:1rem}.inventory-bottom{padding:5px;grid-template-columns:1.25fr .75fr}.inventory-exit>span{font-size:1rem}.inventory-exit>strong{font-size:1.35rem}.inventory-exit>button{font-size:.95rem!important}.loot-modal .modal-body{padding:10px}.arena-heroes{gap:5px}.arena-hero{padding:8px 2px}.arena-hero .orb-frame{width:70px!important}.arena-hero>label{font-size:.9rem;gap:4px}.arena-attributes{padding:10px}.field-grid{gap:8px}.field-grid label{font-size:.95rem}.title-options{inset:41% 12% 9%;max-height:none}.title-option{min-height:42px;padding:7px}.live-logo{font-size:3.35rem;left:50%;transform:translateX(-50%);top:6%;text-align:center}.menu-artwork{background-size:cover,185% 142%;background-position:center,32% 25%}.title-options .continue-game{font-size:.95rem;padding:8px}.shop-scene-actions{left:8px;right:8px;bottom:8px;justify-content:center;gap:6px}.shop-scene-actions button{font-size:.9rem;padding:6px 9px}.battle-result{bottom:8px;padding:7px 10px}.battle-result strong{font-size:1.05rem}.battle-result button{font-size:.85rem;padding:7px}.cinematic-title h1{font-size:1.7rem}.cinematic-title>span{font-size:.9rem}.cinematic-story p{font-size:1.1rem!important}}

.inventory-modal .hero-orb,.loot-modal .hero-orb,.arena-modal .hero-orb,.stats-modal .hero-orb{background:none!important;border:0!important;color:var(--ink)!important;box-shadow:none!important}.loot-modal .choices button,.arena-modal .arena-actions button,.arena-modal .arena-enemies>button{background:linear-gradient(#3b3325,#182019);border-color:#9a7a50;color:var(--ink)}.inventory-modal .gear-slot .empty-slot{font:1rem var(--sans);color:var(--muted)}

/* Loot remains open while objects shrink into a companion's portrait. */
.loot-flight{position:fixed;z-index:100;pointer-events:none;transform-origin:center;filter:drop-shadow(0 2px 5px #000)}
.loot-flight .catalog-art{width:100%;height:100%;object-fit:contain}
.closed-chest-preview,.loot-source .container-art.closed-chest-preview{height:190px;background-image:url('./assets/norse/chest-reference.webp');background-size:400% auto;background-position:0 0;border:3px ridge #655746}
.keychest-modal .closed-chest-preview{max-width:370px;height:300px;margin:auto;background-size:400% auto}
.first-camp-modal{background:#111715;color:var(--ink)}
.first-camp-modal .modal-body{padding:0;background:#111715}

.loot-source .container-art.closed-chest-preview{width:190px;height:185px;margin:0 auto;background-size:400% auto;background-position:0 6%}
.keychest-modal .closed-chest-preview{width:310px;max-width:100%;height:300px;background-position:0 6%}

.key-pocket{margin:12px 0;padding:10px 14px;border:1px solid #705836;background:#151714;color:#e6ddc9;font-family:var(--sans)}.key-pocket summary{cursor:pointer;color:#d4b980}.key-pocket>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.key-pocket button{display:flex;align-items:center;gap:8px}.key-pocket .catalog-art{width:36px;height:48px}.key-pocket p{font-size:.95rem;color:#b9aa91}.render-wrap{background:#172329}

.quest-card{padding:16px;margin:12px 0;background:#1b211e;color:#e6ddc9;border:1px solid #6c5940}.quest-card.tracked{border-color:#b78a4d;box-shadow:inset 3px 0 #b78a4d}.quest-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.quest-heading h3{margin:0}.quest-heading span,.quest-place{color:#b9aa91;font-family:var(--sans)}.quest-card p{line-height:1.45}.quest-card details{margin-top:12px}.quest-section>h2{margin-top:24px}.quest-offer{padding:14px;margin:12px 0;border:1px solid #927348;background:#24251f;color:#e6ddc9}.quest-offer p{line-height:1.45}.tracked-objective{font:clamp(14px,1vw,18px)/1.35 var(--sans);color:#e6ddc9;margin:4px 0 10px;max-width:42ch}.completed-quests{margin:20px 0}.completed-quests summary{cursor:pointer}

.title-screen{width:min(100%,178svh);height:auto;aspect-ratio:1672/941;top:50svh;transform:translateY(-50%);margin:auto}.title-screen .menu-artwork:after{background:none}.title-screen .title-options{max-height:none}.title-screen .menu-version{left:2%;bottom:1%;font-size:clamp(11px,1vw,18px)}
@media(max-width:530px){.title-screen{width:100%;height:100svh;aspect-ratio:auto;top:0;transform:none}.title-screen .menu-artwork{background-size:auto 70%;background-position:35% top}.title-screen .title-options{inset:40% 3% 5% 49%}.title-screen .title-option{min-height:38px}}

#named-save-form{display:grid;gap:12px;margin:18px 0}#named-save-form label{display:grid;gap:5px}#named-save-form input,#save-filter{width:100%;padding:12px;font:18px var(--sans)}.save-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid #786345}.save-row[hidden]{display:none}.save-row p{margin:5px 0}.save-row small{font:14px var(--sans)}#named-save-list{max-height:40vh;overflow:auto}

.mouse-orders{align-self:center;padding:.4em .65em;color:var(--ivory,#E6DDC9);font:600 1rem/1.3 var(--sans);white-space:nowrap;opacity:.85}

.arena-mode,.arena-location label{display:flex;flex-direction:column;gap:6px;margin:18px 0;font:1rem var(--sans)}
.arena-mode select,.arena-location select{width:100%;min-width:0}
.arena-location{padding:14px;border:1px solid #78694d;background:#1c241e;margin-top:14px;overflow-wrap:anywhere}
.arena-location p{font:1rem/1.5 var(--sans)}
.arena-fixed-roster{list-style:none;padding:0;display:grid;gap:10px}
.arena-fixed-roster li{display:flex;flex-direction:column;gap:4px;padding:10px;background:#111a16;border-left:2px solid var(--gold)}
.arena-fixed-roster span{font:.95rem var(--sans);color:var(--muted)}
.arena-builder>section{min-width:0}
