@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#130f0f;--panel:#1d1717;--line:#423333;--gold:#cdbca3;--muted:#8c9b90;--text:#e8e8d8;--green:#7fba8a;--red:#d27872;--font:'DM Sans',sans-serif;--title:'Cinzel',Georgia,serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:#261e1e;border-radius:6px;padding:9px 13px;transition:background .15s,border-color .15s}button:hover{background:#392c2c;border-color:#846260}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button:disabled{opacity:.4;cursor:not-allowed}button.active{background:#3c2e2e;border-color:#926c69;color:#e6dbcf}.gold{color:var(--gold)}.muted{color:var(--muted)}.small{font-size:11px}.tiny{font-size:10px;letter-spacing:1.5px;text-transform:uppercase}.serif,h1,h2,h3,h4{font-family:var(--title);font-weight:500}h1,h2,h3,h4,p{margin:0}h2{font-size:21px}h3{font-size:16px}p{line-height:1.65}strong{font-weight:600}.primary{background:#9e1f27;color:#201818;border-color:#c0393f;font-weight:700}.primary:hover{background:#b8303a}.danger{color:#e4a19a}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.gap{gap:18px}.stack{display:grid;gap:12px}.eyebrow{font-size:10px;letter-spacing:2.1px;color:var(--gold);text-transform:uppercase}.chip{border:1px solid #4b5745;background:#302525;border-radius:20px;font-size:10px;padding:4px 8px;white-space:nowrap}.pill{color:var(--green)}.icon{font-size:20px}.rule{height:1px;background:var(--line);margin:14px 0}.notice{border:1px solid #4f3c3c;color:#ceb89f;background:#281f1f;padding:12px 14px;border-radius:7px;font-size:12px;line-height:1.5}.panel{border:1px solid var(--line);border-radius:9px;background:linear-gradient(135deg,#291f1f,#1d1717);padding:18px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.section-head p{font-size:12px;color:var(--muted);margin-top:6px}#app{height:100dvh;display:grid;grid-template-columns:166px minmax(0,1fr) 270px;grid-template-rows:70px minmax(0,1fr);overflow:hidden}#nav{grid-row:1/3;border-right:1px solid #493939;background:linear-gradient(#241b1b,#181313);display:flex;flex-direction:column;padding:27px 14px 16px;gap:24px;z-index:3}.brand{text-align:center;line-height:1.3;letter-spacing:2px;font-family:var(--title);color:#e2d5c6;font-size:21px}.brand small{display:block;font-size:9px;letter-spacing:3px;color:#8c9b82;margin-top:8px}.brand-emblem{font-size:31px;margin-bottom:8px;text-shadow:0 0 30px #9dcd8070}nav{display:grid;gap:8px}nav button{display:flex;gap:11px;align-items:center;text-align:left;background:transparent;border-color:transparent;padding:13px 10px;border-radius:5px}nav button.active{background:linear-gradient(90deg,#403232,#302525);border-color:#745654;color:#e3d7c9}nav button span:first-child{width:22px;font-size:19px}nav button span:last-child{font-size:12px}.nav-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:17px;color:var(--muted);font-size:10px;line-height:1.7}.nav-foot button{padding:5px 7px;margin-top:10px;font-size:11px}.status-label{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:var(--muted)}#status{grid-column:2/4;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 24px;background:#201818;border-bottom:1px solid #493939}.level-badge{width:38px;height:38px;display:grid;place-content:center;border:1px solid #805f5d;transform:rotate(45deg);border-radius:5px;background:#3c2e2e}.level-badge span{transform:rotate(-45deg);color:#ded0bf;font-size:17px;font-family:var(--title)}.xp-block{width:160px}.meter{height:5px;background:#120d0d;border-radius:5px;overflow:hidden;margin-top:6px}.meter i{display:block;height:100%;background:linear-gradient(90deg,#5c8867,#99c88a);transition:width .4s}.status-activity{font-size:11px;color:#b3c49e;display:flex;align-items:center;gap:7px}.live-dot{width:6px;height:6px;border-radius:50%;background:#8ecb8e;box-shadow:0 0 10px #8ecb8e70}.currencies{display:flex;gap:22px}.currencies b{font-weight:500;color:#c62e38}.currencies span{font-size:10px;color:var(--muted);display:block;margin-top:3px}#view{min-width:0;min-height:0;overflow:hidden;position:relative}.scroll-view{height:100%;overflow:auto;padding:25px 24px 30px;scrollbar-width:thin;scrollbar-color:#56624c transparent}#bag{border-left:1px solid #483838;display:flex;min-height:0;flex-direction:column;background:linear-gradient(160deg,#2a2121,#1b1515);padding:23px 17px 14px}.bag-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.bag-heading h3{color:#c7ae91}.bag-count{color:var(--muted);font-size:10px}.tabs{display:flex;gap:5px;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:12px}.tabs button{padding:7px 10px;font-size:11px;flex:1}.bag-items{overflow:auto;min-height:60px;flex:1;scrollbar-width:thin}.item-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;align-content:start}.item-tile{padding:7px 3px 5px;min-height:69px;background:#1d1717;border:1px solid var(--rarity);position:relative;text-align:center}.item-tile .item-symbol{font-size:29px;display:block;text-shadow:0 3px 10px #000}.item-tile small{font-size:9px;color:#b8c0ad;display:block}.item-tile em{position:absolute;right:4px;top:3px;font-size:9px;color:var(--gold);font-style:normal}.empty{text-align:center;padding:32px 12px;color:var(--muted);font-size:12px;line-height:1.8}.resource-row{display:flex;align-items:center;justify-content:space-between;padding:9px 3px;border-bottom:1px solid #372a2a;font-size:11px}.resource-row b{color:var(--gold);font-weight:500}.bag-actions{padding-top:12px;display:flex;gap:6px}.bag-actions button{font-size:10px;padding:7px;flex:1}.journal{border-top:1px solid var(--line);margin-top:18px;padding-top:13px}.journal h4{font-size:10px;letter-spacing:1.3px;color:var(--gold);margin-bottom:8px}.journal-lines{height:93px;overflow:auto;scrollbar-width:thin;font-size:10px;line-height:1.7;color:#aebca8}.journal-lines .loot{color:#cdb89f}.journal-lines .level{color:#9acaa0}.journal-lines .danger{color:#dd8e87}.forest{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.bar i{display:block;height:100%;transition:width .3s;background:linear-gradient(90deg,#a65751,#da7d6c)}.bar.mana{height:4px;margin-top:4px;border:0}.bar.mana i{background:linear-gradient(90deg,#4a7b8a,#80b6cd)}.bar-label{font-size:9px;display:flex;justify-content:space-between;margin-top:4px;color:#c1c9b2}.recovery{position:absolute;inset:0;z-index:4;background:#171111d9;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}.recovery b{font:36px var(--title);color:var(--gold)}.mode-toggle{font-size:10px;padding:5px 8px}.zone-progress{font-size:10px;margin-top:12px;color:#95a58b;display:flex;gap:8px;align-items:center}.zone-progress .meter{flex:1;max-width:150px;height:3px;margin:0}.zone-grid{display:grid;gap:7px}.zone-button{padding:12px;display:flex;align-items:center;gap:12px;text-align:left;background:linear-gradient(110deg,#382b2b,#211a1a)}.zone-number{border:1px solid #6e8054;width:33px;height:33px;display:grid;place-items:center;border-radius:50%;color:var(--gold);font-family:var(--title)}.zone-button strong{font-family:var(--title);font-size:12px;display:block;margin-bottom:4px}.zone-button small{font-size:10px;color:var(--muted)}.zone-button .zone-lock{margin-left:auto;font-size:10px;color:var(--muted)}.character-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.equipment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.equip-slot{min-height:77px;text-align:left;display:flex;align-items:center;gap:10px;padding:10px;background:#201818}.equip-slot small{font-size:9px;color:var(--muted);display:block;margin-bottom:5px}.equip-slot strong{font-size:11px;font-weight:500}.equip-slot .icon{color:var(--gold);font-size:25px}.stat-list{display:grid;gap:0}.stat-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #423333;font-size:12px}.stat-row b{color:var(--gold);font-weight:500}.weapon-rack{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:15px}.weapon-rack button{text-align:center;padding:12px 3px;font-size:10px}.weapon-rack button span{display:block;font-size:24px;margin-bottom:8px}.mastery-tabs{display:flex;gap:5px;margin:18px 0;flex-wrap:wrap}.mastery-tabs button{font-size:11px;padding:8px 11px}.nodes{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.node{display:flex;gap:13px;align-items:flex-start;border:1px solid var(--line);padding:15px;border-radius:7px;background:#241b1b}.node.learned{border-color:#74825c;background:linear-gradient(120deg,#382b2b,#241b1b)}.node .node-icon{border:1px solid #664c4a;background:#362a2a;width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;color:var(--gold);font-size:20px}.node h4{font-size:12px;margin:3px 0 8px}.node p{font-size:11px;color:#a9b69e;margin-bottom:12px;min-height:36px}.node button{font-size:10px;padding:6px 9px}.node-meta{font-size:9px;color:#9bab8f;margin-bottom:6px}.gather-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gather-card{padding:20px 16px;text-align:center;background:radial-gradient(ellipse at top,#4b684333,transparent),#241b1b;border:1px solid var(--line);border-radius:8px}.gather-card>span{font-size:39px;color:var(--gold);display:block;margin-bottom:15px}.gather-card h3{font-size:13px}.gather-card p{font-size:11px;color:var(--muted);margin:8px 0 13px}.gather-card button{width:100%;font-size:11px}.recipe-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.recipe{background:#221a1a;border:1px solid var(--line);padding:14px;border-radius:7px}.recipe h4{font-size:12px}.recipe .costs{font-size:10px;line-height:1.8;margin:10px 0;color:#a5b399}.recipe .costs .missing{color:#cb9184}.recipe button{font-size:10px;padding:7px 10px}.recipe .meter{height:3px;margin-top:10px}.guide-content h3{color:var(--gold);margin:20px 0 9px}.guide-content p,.guide-content li{font-size:12px;color:#b3beaa;line-height:1.8}.guide-content ul{padding-left:18px}.guide-content table{width:100%;border-collapse:collapse;font-size:11px;margin:14px 0}.guide-content td,.guide-content th{text-align:left;padding:9px;border-bottom:1px solid var(--line)}.guide-content th{color:var(--gold);font-weight:500}.overlay{position:fixed;inset:0;background:#0d0b0bd9;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:20}.dialog{width:520px;max-width:100%;max-height:90dvh;overflow:auto;border:1px solid #715452;background:linear-gradient(145deg,#312626,#1d1616);border-radius:11px;padding:25px;box-shadow:0 30px 100px #000a;scrollbar-width:thin}.dialog.wide{width:700px}.dialog h2{color:#cfbaa1;margin-bottom:9px}.dialog .close{padding:4px 8px;background:transparent;font-size:16px}.dialog .close-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dialog p{font-size:12px;color:#b7c1ac}.dialog .dialog-actions{margin-top:18px;display:flex;gap:8px;flex-wrap:wrap}.dialog .detail-art{height:115px;margin:14px auto;text-align:center}.dialog .detail-art svg{height:100%;width:100%}.detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.detail-stat{padding:10px;background:#1b1414;border:1px solid var(--line);text-align:center;border-radius:5px}.detail-stat b{font-size:18px;color:var(--gold);display:block;margin-bottom:4px;font-weight:500}.detail-stat small{font-size:9px;color:var(--muted)}.weapon-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.weapon-choice{padding:18px 7px;text-align:center;background:linear-gradient(145deg,#3e3030,#281f1f)}.weapon-choice .icon{display:block;font-size:36px;margin-bottom:12px}.weapon-choice strong{font-family:var(--title);font-size:13px;display:block}.weapon-choice small{font-size:10px;color:var(--muted);display:block;margin-top:7px}.onboard-icon{text-align:center;font-size:44px;color:var(--gold);margin:3px 0 14px}.onboard-title{text-align:center}.onboard-title p{max-width:460px;margin:auto}.onboard-foot{text-align:center;font-size:10px;color:var(--muted)}.settings-row{display:grid;gap:7px;margin:14px 0}.settings-row label{font-size:11px;color:var(--gold)}input,select{background:#1b1515;color:var(--text);border:1px solid #4a5b43;border-radius:5px;padding:10px;width:100%}.settings-row input[type=checkbox]{width:auto}#toasts{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:40;display:grid;gap:7px;pointer-events:none}.toast{background:#372b2b;border:1px solid #886562;color:#dccdbc;border-radius:7px;padding:12px 20px;font-size:12px;box-shadow:0 10px 25px #0006;animation:toastIn .2s ease}.float{position:fixed;z-index:10;pointer-events:none;color:#e0d3c3;font-size:21px;font-weight:700;text-shadow:0 2px 4px #000;animation:floatUp 1.2s ease-out forwards}.float.hurt{color:#ee9c8f}.float.heal{color:#a8dfa2}.float.crit{color:#d6c4af;font-size:28px}.float.miss{font-size:13px;color:#afbaab}@keyframes floatUp{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-55px)}}@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.goal-box{padding:10px;background:#322727;border:1px solid #526441;border-radius:6px;margin-bottom:10px;font-size:10px;line-height:1.7}.goal-box strong{color:var(--gold);display:block}.offline-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}.offline-summary div{padding:15px;background:#221a1a;border:1px solid var(--line);border-radius:6px}.offline-summary b{display:block;color:var(--gold);font-size:23px;font-weight:400;margin-bottom:4px}.offline-summary span{font-size:11px;color:var(--muted)}.save-warning{background:#703e2a;color:#e8ded3;padding:9px;position:fixed;top:0;left:0;right:0;z-index:50;text-align:center}button.link{padding:0;background:transparent;border:0;color:var(--gold);text-decoration:underline}.paused-tag{color:#bea281}.empty-symbol{font-size:32px;color:#576a51;margin-bottom:10px}.inline-progress{font-size:11px;color:var(--green);margin-top:8px}.stat-comparison{font-size:11px;color:var(--green)}.mastery-summary{display:flex;justify-content:space-between;gap:15px;align-items:center}.mastery-summary .meter{width:200px}.tree-note{font-size:10px;color:var(--muted);line-height:1.7;margin-top:12px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(min-width:1600px){#app{grid-template-columns:185px minmax(0,1fr) 310px}}


@media(max-height:700px) and (min-width:761px){}

/* v0.2: build depth and progression */
#tab-control{position:fixed;bottom:19px;left:50%;transform:translateX(-50%);z-index:45;display:flex;align-items:center;gap:15px;padding:12px 16px;background:#332727;border:1px solid #946e6b;border-radius:8px;box-shadow:0 10px 30px #0008;font-size:11px;color:#d3d5b1;max-width:90%}#tab-control[hidden]{display:none}#tab-control button{white-space:nowrap;font-size:10px;padding:7px 11px}.overflow-note{padding:9px;font-size:10px;margin-bottom:10px;background:#352929;border-color:#705351}.encounter-banner{position:absolute;left:15px;right:15px;top:27px;z-index:3;border:1px solid #987371;background:#2b2121e8;border-radius:6px;padding:9px 12px;display:flex;align-items:center;gap:15px;box-shadow:0 5px 20px #0003}.encounter-banner strong{font-family:var(--title);font-size:11px;display:block;margin-top:4px}.encounter-banner .eyebrow{font-size:7px}.encounter-clock{font-size:20px;color:#d4c1ab;font-family:var(--title);margin-left:auto;white-space:nowrap}.encounter-cue{font-size:9px;color:#c9b297;max-width:145px;line-height:1.5}.encounter-banner.giant{border-color:#9f86a1;background:#2d2632e8}.status-tag.giant{color:#d9b6ed;border-color:#876695;background:#32263b}.codex-zone{background:linear-gradient(110deg,#3c2e2e,#251d1d);border:1px solid #5e6a47;padding:18px;border-radius:8px}.codex-zone h3{font-size:18px}.codex-monsters{display:grid;gap:10px}.codex-monster{display:grid;grid-template-columns:100px minmax(0,1fr);gap:18px;border:1px solid var(--line);background:#271e1e;border-radius:7px;padding:14px}.codex-art{height:100px;align-self:center}.codex-art svg{width:100%;height:100%}.codex-monster h4{font-size:13px;color:#d9c8b5}.codex-monster p{color:#afbea2;font-size:11px;margin:7px 0}.codex-monster .small{font-size:10px}.guardian-dossier{position:relative;min-height:230px;overflow:hidden}.guardian-dossier>p{font-size:12px;color:#b9c3ab;max-width:80%}.guardian-art{height:130px;float:right;width:160px;opacity:.8}.guardian-art svg{width:100%;height:100%}.guardian-dossier .detail-stats{clear:both;max-width:500px}.hunter-panel .meter{height:7px;max-width:460px;margin-top:15px}.hunter-panel p{font-size:12px;color:#b7c4a8;max-width:700px}.report-table{margin-top:14px;max-height:270px;overflow:auto;scrollbar-width:thin}.report-table>div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--line)}.report-table strong{font-size:12px;font-weight:500;color:#cbb499}.report-table small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.report-table>div>span:last-child{text-align:right;font-size:12px;color:#b7c99d}.material-plan{margin-top:18px}.material-plan>div{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #4d3c3c;padding:13px 0}.material-plan strong{font-size:12px;font-weight:500}.material-plan small{display:block;font-size:10px;margin-top:6px}.recipe .row.between{gap:6px;flex-wrap:wrap}.recipe .row.between>button{font-size:9px;padding:6px 8px}
.quest-dot{display:inline-grid;place-content:center;background:#bfa484;color:#1f1717;border-radius:50%;width:14px;height:14px;font-size:10px;margin-left:4px}.identity-line{color:#c7af93;font-size:12px;margin-top:7px;margin-bottom:3px}.mastery-summary{align-items:flex-start}.mastery-summary>div:first-child{max-width:75%}.mastery-summary .small{max-width:430px}.node:has(.node-meta:first-child){position:relative}.node .node-meta{letter-spacing:.8px}.node p{min-height:44px}.item-lock{position:absolute;left:4px;top:4px;font-size:8px;color:#cbb499}.item-upgrade{position:absolute;right:4px;bottom:18px;color:#a6d791;font-size:15px}.bag-tools{display:flex;justify-content:flex-end;margin:0 0 9px}.bag-tools button{padding:5px 8px;font-size:9px;background:transparent;color:#aab89c}.comparison-box{border:1px solid #546245;border-radius:6px;background:#2a2020;padding:13px;margin-top:13px}.comparison-box>.row{gap:18px;margin-top:8px;font-size:13px}.positive{color:#a1cd94}.negative{color:#e6a494}.mythic-effect{margin-top:13px;border-color:#886562;color:#e9c3ae;background:#362a2a}.check-label{display:flex;gap:8px;align-items:flex-start;font-size:11px;color:#b7c3a8;margin-top:14px;line-height:1.6}.check-label input{width:auto;margin-top:3px;accent-color:#acb979}.status-badges{display:flex;justify-content:center;gap:4px;flex-wrap:wrap;min-height:20px;margin-top:7px}.status-tag{font-size:8px;line-height:1.4;border:1px solid #71826755;color:#b7c9ac;border-radius:4px;padding:2px 4px;background:#201919d9;text-transform:capitalize}.status-tag.bleed{color:#edaaa2;border-color:#9c6155;background:#312626}.status-tag.burn{color:#edba89;border-color:#82605e;background:#2d2323}.status-tag.poison{color:#b6d88b;border-color:#648050;background:#2c2121}.status-tag.shield,.status-tag.guardian{color:#a8c9da;border-color:#638595;background:#2a2121}.float.dot{font-size:15px;color:#cea2df}.float.shield{font-size:13px;color:#aacede}.loadout-panel{margin-top:16px}.loadout-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.loadout-card{background:#201818;border:1px solid #4d3c3c;border-radius:6px;padding:14px}.loadout-card h4{font-size:12px;color:var(--gold)}.loadout-card p{font-size:10px;color:var(--muted);margin:7px 0 11px}.loadout-card .row{gap:6px}.loadout-card button{font-size:10px;padding:6px 8px}.profession-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:15px}.profession-progress span{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.profession-progress b{font-weight:500;color:var(--gold)}.recipe-filters{display:flex;gap:6px;flex-wrap:wrap;padding:10px 0 18px}.recipe-filters button{font-size:10px;padding:7px 10px}.recipe-filters button:last-child{margin-left:auto}.gather-actions{display:grid;gap:7px;margin-top:13px}.gather-actions button.small{padding:6px;font-size:9px;background:transparent;color:#b1c09f}.town-intro{border:1px solid #6c504f;border-radius:9px;background:radial-gradient(ellipse at right,#77864b33,transparent),linear-gradient(110deg,#3f3030,#271e1e);padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.town-intro h3{font-size:20px;line-height:1.5;max-width:450px;margin:11px 0}.town-intro p{color:#b6c2a4;font-size:11px}.town-emblem{font-size:70px;color:#a5b47988}.section-title{margin:24px 0 14px;color:#ccb69c}.quest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quest-card{border:1px solid #4b3a3a;border-radius:7px;padding:16px;background:linear-gradient(145deg,#2f2424,#221b1b)}.quest-card.ready{border-color:#96706d;background:linear-gradient(145deg,#3f3030,#2c2222)}.quest-card.completed{opacity:.6}.quest-card h4{font-size:12px;color:#dbccba}.quest-card p{font-size:11px;color:#a8b69b;margin:8px 0 10px}.quest-rewards{font-size:9px;color:#c0a586;margin:11px 0;line-height:1.8}.quest-card button{font-size:10px;padding:6px 10px}.quest-card .meter{height:3px}.shop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.shop-card{border:1px solid var(--line);background:#281e1e;border-radius:7px;padding:16px}.shop-card h4{font-size:12px}.shop-card p{font-size:11px;color:var(--muted);margin:9px 0 14px;min-height:36px}.shop-card button{font-size:10px;padding:6px 16px}.collection-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.collection-card{display:flex;gap:13px;align-items:flex-start;border:1px solid #4c3b3b;background:#261e1e;border-radius:7px;padding:15px;opacity:.7}.collection-card.found{opacity:1;border-color:#987371;background:linear-gradient(135deg,#362a2a,#2c2222)}.collection-symbol{font-size:31px;color:#c49d7f;width:37px;flex-shrink:0}.collection-card h4{font-size:12px;color:#d9b99b;margin-bottom:7px}.collection-card p{font-size:10px;color:#b6bba1;margin-bottom:7px;line-height:1.7}.save-recovery-note{font-size:11px;color:#c3a98a;margin-top:12px}


:root{--tool-border:rgba(198,181,125,.22)}
.tool-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.tool-slot{border:1px solid var(--tool-border);border-radius:8px;background:#221a1a;padding:14px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.tool-symbol{font-size:28px;color:var(--gold);width:30px}.tool-slot-copy{flex:1;min-width:130px}.tool-slot small{color:var(--muted);font-size:10px}.tool-slot h4{margin:4px 0;font-size:13px}.tool-slot p{font-size:10px}.tool-slot>.row{width:100%;justify-content:flex-end}.tool-summary{margin:18px 0}.tool-bonuses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tool-bonuses>div{padding:10px;border:1px solid var(--tool-border);display:flex;justify-content:space-between;gap:8px;font-size:11px}.tool-bonuses b{color:var(--gold)}.tool-bag{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.tool-bag-item{border-color:var(--rarity);text-align:left;display:flex;flex-direction:column;gap:5px;padding:12px}.tool-bag-item strong{color:var(--rarity);font-size:11px}.tool-bag-item small{font-size:9px;color:var(--muted)}.tool-job{margin:12px 0}.tool-job .meter{margin:12px 0}.tool-job p{margin-bottom:9px}
.tool-main-preview{margin:12px 0;display:grid;gap:5px}.tool-main-preview>div{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:6px 0;font-size:10px}.tool-main-preview span{min-width:65px}.tool-main-preview b{font-weight:400;color:var(--muted)}

.guardian-selected{border-color:var(--gold)!important}.guardian-automation{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:15px;margin:16px 0}.guardian-automation p{font-size:11px;color:var(--muted);margin-top:6px}.loadout-card .row{gap:6px}.loadout-card h4{overflow-wrap:anywhere}.loadout-card .chip{font-size:8px}.loadout-comparison{margin:14px 0;display:grid;gap:8px}.loadout-comparison>div{display:flex;justify-content:space-between;gap:15px;padding:8px;border-bottom:1px solid var(--line)}.loadout-comparison b{font-weight:400;color:var(--gold)}


/* Shared combat reuses the existing bounded battlefield and inventory columns. */
.party-fighters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-self:center;width:min(46%,340px);z-index:2}.party-fighter{min-width:0;background:#120d0dd9;border:1px solid #872026;border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:3px;font-size:10px;position:relative}.party-fighter strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d6c4ae}.party-fighter>span{font-size:9px;color:#c6b997}.party-portrait{height:42px;display:flex;align-items:center;justify-content:center}.party-portrait svg,.party-portrait img{height:40px;width:40px;object-fit:contain}.party-fighter.recovering{opacity:.55}.party-fighter .bar{height:5px;width:100%}.party-fighter .meter{height:5px}
@media(max-width:600px){.party-fighters{width:46%;gap:4px}.party-fighter{padding:4px;font-size:8px}.party-fighter>span{font-size:7px}.party-portrait{height:24px}.party-portrait svg,.party-portrait img{height:24px;width:24px}}
.party-fighters{height:100%;max-height:228px;grid-template-rows:repeat(2,minmax(0,1fr));align-self:stretch;min-height:0}.party-fighters:not(:has(.party-fighter:nth-child(3))){grid-template-rows:minmax(0,1fr);max-height:110px}.party-fighter{min-height:0;padding:6px;gap:2px;display:grid;grid-template-rows:minmax(0,1fr) 12px 10px 5px 10px 5px 10px;align-content:center;font-size:9px}.party-portrait{height:100%;min-height:0;max-height:24px}.party-portrait svg,.party-portrait img{height:100%;max-height:24px;width:28px}.party-fighter>.meter{margin:0;height:5px;min-height:0}.party-fighter>.meter:nth-of-type(3)>i{background:#68b8de}.party-fighter>strong,.party-fighter>span{margin:0;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.party-fighter>span{font-size:8px}

/* Inventory foundation: controls stay within the existing visible bag panel. */
.inventory-bags,.inventory-menu,.inventory-selection,.inventory-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:7px 0}.inventory-bags button{flex:1 1 70px;min-width:0;font-size:10px;padding:6px}.inventory-bags button small{display:block;opacity:.65}.inventory-bags .active{border-color:var(--gold,#cd303a);background:#633535}.inventory-menu button{font-size:10px;padding:5px}.inventory-selection span{font-size:10px;color:#b9aa88;margin-left:auto}.inventory-filters,.inventory-routing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 0}.inventory-filters label,.inventory-routing label{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:11px;color:#b9aa88}.inventory-filters input,.inventory-filters select,.inventory-routing select{width:100%;min-width:0;box-sizing:border-box;padding:6px;font-size:11px}.inventory-search{grid-column:1/-1}.inventory-bulk{border:1px solid #5e3333;padding:7px;font-size:11px}.inventory-bulk strong{flex:1 0 100%;font-weight:normal}.inventory-check{position:absolute;bottom:3px;left:4px;font-size:18px;background:#1b1515b0;color:#d1bea7}.item-tile.inventory-selected{outline:2px solid #c4ab8d;outline-offset:-3px;background:#633535}.inventory-review{max-height:220px;overflow:auto;border:1px solid #463636;padding:10px;margin:10px 0;font-size:12px}.inventory-review div{padding:3px}.bag-items{min-height:80px}.inventory-menu{border-bottom:1px solid #403232}.inventory-routing{margin-bottom:15px}
.friend-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #5f333355;min-width:0}.friend-row>div{min-width:0}.friend-row h4,.friend-row strong{overflow-wrap:anywhere}.friend-row .dialog-actions{flex-wrap:wrap;flex-shrink:0}.friend-online{color:#62c795}.party-chat{min-width:0}.chat-messages{max-height:300px;min-height:110px;overflow:auto;overscroll-behavior:contain;padding:8px;background:#0f0d0d77;border:1px solid #5f333366;margin:12px 0;scrollbar-width:thin;scrollbar-color:#6a2a2e #1a1414}.chat-message{padding:9px;border-bottom:1px solid #5f333344}.chat-message.self{border-left:2px solid #b62b33}.chat-message>div{display:flex;justify-content:space-between;gap:12px;font-size:11px}.chat-message strong{overflow-wrap:anywhere;min-width:0}.chat-message time{flex-shrink:0;color:#a07e7c}.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0 0}.chat-compose{display:flex;flex-direction:column;gap:7px}.chat-compose textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:66px;max-height:180px;background:#141010;color:#ddd3bb;border:1px solid #6a2a2e;padding:9px;font:inherit}.chat-compose .row{flex-wrap:wrap}.chat-compose .row span{flex:1;min-width:160px}
.trade-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.trade-offers>.panel{min-width:0;margin:0}.trade-offer-content p{overflow-wrap:anywhere}.trade-item{border-bottom:1px solid #5f333366;padding:8px 0}.trade-item summary{display:flex;align-items:center;gap:8px;cursor:pointer;overflow-wrap:anywhere}.trade-item .equipment-art{width:36px;height:36px;flex-shrink:0}.trade-item p{font-size:11px;color:#b9aa88}.trade-equipment{max-height:230px;overflow:auto;border:1px solid #5f333377;padding:8px;margin:8px 0 15px}.trade-equipment label{display:flex;align-items:center;gap:8px;padding:5px}.trade-equipment .equipment-art{width:36px;height:36px}.trade-material{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:8px;margin:8px 0}.trade-material select,.trade-material input{min-width:0;width:100%;box-sizing:border-box}.trade-editor{margin-top:12px}@container(max-width:540px){.trade-offers{grid-template-columns:1fr}.trade-material{grid-template-columns:minmax(0,1fr) 80px}}
.market-search{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin:12px 0}.market-search label{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.market-search label:first-child{flex:2;min-width:160px}.market-search input,.market-search select{box-sizing:border-box;width:100%;min-width:0}.market-listings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.market-listings>.panel{min-width:0;margin:0}.market-listings p{overflow-wrap:anywhere}.market-history{padding:12px 0;border-bottom:1px solid #5f333366}.market-history summary{cursor:pointer;overflow-wrap:anywhere}@container(max-width:540px){.market-listings{grid-template-columns:1fr}}
.guild-member{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 0;border-bottom:1px solid #5f333366}.guild-member .equipment-art{width:42px;height:42px;flex-shrink:0}.guild-member h4{overflow-wrap:anywhere}.guild-member>.row{min-width:0}.guild-member .dialog-actions{flex-wrap:wrap}.guild-chat{margin:14px 0}@media(max-width:520px){}

.role-loadout{margin-top:16px}.role-loadout .recipe p{margin:8px 0}.role-loadout .recipe{min-width:0}

#modal [hidden]{display:none!important}
