/* Night Guild: layout and live typography around exact pixels from the approved 07 atlas. */
@font-face{font-family:NightPixel;src:url('/assets/fonts/Tiny5.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:NightText;src:url('/assets/fonts/RobotoCondensed.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--panel:#1b2423;--ink:#261d14;--cream:#f8ebd0;--muted:#bbbaa6;--gold:#e5bc77;--mint:#9bc379;--line:#677372;--cyan:#6ad0d6;--paper:#dec69a;--ng-body:NightText,'Arial Narrow',sans-serif;--ng-title:NightPixel,monospace}
body{font-family:var(--ng-body);font-size:16px;background:#141a1b;color:var(--cream)}
button,input,select,textarea{font-family:var(--ng-body);font-size:16px;border-radius:0}
button{position:relative;isolation:isolate;background:#34271c;border:0;color:var(--cream);min-height:36px;font-weight:600;transition:none;text-shadow:0 1px #131412}
button:hover:not(:disabled){background:#35413c;border-color:transparent;color:#fff4da}
button:active:not(:disabled){transform:translateY(1px)}
button:disabled{opacity:1;color:#a5a5ac;text-shadow:none;cursor:not-allowed;background:#383941}
button.gold{background:#34271c;color:var(--cream);border:0;font-weight:600}
button.active{background:#17616b;color:#fff3db;border:0}
button.gold:hover:not(:disabled){background:#35413c;color:#fff4da}
button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #b5fbff;outline-offset:3px;z-index:2}
button.danger{color:#ffd6bd;background:#713c2b}
button .ng-art{pointer-events:none}
.hud,.dock{position:relative;isolation:isolate;background:#271e17;border:0;box-shadow:none;gap:18px}
.hud{height:82px;padding:8px 28px}
.brand{gap:12px;flex-shrink:0}.brand .crest{width:54px;font-size:0;display:flex;align-items:center;justify-content:center}.crest .ng-art{width:54px}
.brand strong{font-family:var(--ng-title);font-size:23px;line-height:1;letter-spacing:.4px;font-weight:700}.brand small{font-size:11px;letter-spacing:1.1px;color:#c4b499;margin-top:7px}
.vitals{gap:18px}.vital{width:100px}.vital-label{flex-direction:row;gap:7px;align-items:center;margin-bottom:5px}.vital-label>span{font-size:12px}.vital-label b{font-size:16px}.vital-label .subtle{font-size:12px}.vital-label .ng-art{width:21px;vertical-align:middle;margin-right:3px}
.meter{height:10px;border:2px solid #b7a483;background:#171b1a;border-radius:0;box-shadow:0 1px #050b0d;overflow:hidden}.meter i{border-top:1px solid #fff8;box-shadow:inset 0 -2px #0004}
.coins{gap:7px}.coins b{font-size:20px}.coins small{font-size:12px;color:#c8bda5}.coins>span{color:#edc168}
.round-clock{min-width:150px;padding-left:18px;border-left:1px solid #85694c}.round-clock small{font-size:11px;letter-spacing:1px;color:#d2c0a4}.round-clock strong{font-family:var(--ng-title);font-size:25px;letter-spacing:1px}
main{background:#111919}.stage-wrap{padding:0 12px}.stage{max-width:calc((100vh - 198px)*16/9);box-shadow:0 0 0 2px #534535,0 0 32px #0009;overflow:visible}
.scene,#actors,#entities{overflow:hidden}.scene{background-image:url('/assets/village-living-plate.png')}
.broadcast{background:#221e18ef;border:1px solid #8c6e47;border-radius:0;color:#f4e6c9;top:14px;left:14px;font-size:11px;letter-spacing:1px;padding:7px 10px}.broadcast span{color:#d0c5af}
.stage-note{background:#201e18f0;color:#ede1c7;border:1px solid #8b704d;border-radius:0;padding:7px 12px;font-size:13px;bottom:12px}
.entity{background:#28251fee;border:1px solid #8f744e;border-radius:0;box-shadow:0 2px #0b1517;color:#f3e4c8;font:13px var(--ng-body);min-height:26px;padding:4px 7px}.entity .entity-icon{color:#e0b771}.entity.owned{border-color:#89c5b6;box-shadow:0 0 0 1px #284e4c,0 2px #0b1517}.entity.near,.entity:hover{border-color:#72dce2;background:#223b3c;color:#fff0d1}.entity .tag{border-radius:0;background:#8edbd5}
.stage-tools{top:14px;right:14px;gap:6px}.stage-tools button{height:36px;min-width:36px;font-size:16px;background:#2c241d;border:0;box-shadow:none;padding:0 12px}.stage-tools button span{font-size:13px}.objective{background:#2c241d;box-shadow:none;border:0;max-width:270px;padding:9px 15px;top:14px}.objective small{font-size:10px;color:#e3c48d}.objective span{font-size:13px}
.dock{height:86px;padding:10px 24px}.identity{min-width:160px}.identity b{font-size:18px}.identity small{font-size:13px;color:#c3bda8;line-height:1.25}.dock-actions{gap:8px}.dock-actions button{height:46px;padding:0 13px;font-size:20px}.dock-actions .dock-label{font-size:15px;margin-left:4px}.dock-actions .ng-art{width:25px;vertical-align:middle}
.quick-inventory{gap:5px}.quick-slot{width:38px;height:44px;border:0;border-radius:0;background:#172120;box-shadow:none;min-height:0}.quick-slot .ng-art{width:30px}.quick-slot small{font-size:12px;bottom:3px;right:5px;text-shadow:1px 1px #000,-1px -1px #000}.quick-slot.empty:after{display:none}
.statusline{height:30px;background:#111818;color:#b0b5a7;padding:0 25px;font-size:11px;letter-spacing:0}.statusline>span:nth-child(2){color:#c5ad82}
/* Window components share one density scale. The approved atlas supplies only textures. */
.panel{position:fixed;z-index:6;inset:94px 24px 42px auto;width:460px;max-width:calc(100vw - 48px);display:flex;flex-direction:column;border:0;border-radius:0;background:#1b2423;backdrop-filter:none;box-shadow:0 10px 30px #0009;overflow:hidden;padding:9px;isolation:isolate}
.panel-head{flex:none;position:relative;isolation:isolate;display:flex;gap:10px;align-items:center;justify-content:space-between;height:54px;min-height:54px;padding:8px 12px;border:0;background:#2d2119;margin:-1px -1px 0}
.panel-title{display:flex;align-items:center;gap:9px;min-width:0}.panel-title h2{min-width:0}.panel-title-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex:none}.panel-title-icon .ng-art{width:32px;max-height:32px}
.panel h2{font:400 28px/1.05 var(--ng-title);letter-spacing:0;margin:0;color:#f8eacd;text-transform:uppercase}.panel h2 .ng-art{display:block;max-width:100%;width:228px}.panel h2 .ng-art-title-inventory{width:192px}.panel h2 .ng-art-title-equipment{width:230px}
.close{flex:none;width:30px;height:30px;min-height:30px;color:#efdfbe;font-size:22px;padding:0;background:#38281d}
.panel-body{padding:12px;overflow:auto;flex:1;min-height:0;scrollbar-color:#827054 #172021;scrollbar-width:thin;overscroll-behavior:contain}
.panel-body::-webkit-scrollbar{width:8px}.panel-body::-webkit-scrollbar-thumb{background:#846d4c;border:2px solid #1b2423}
.panel p{font-size:14px;line-height:1.4;color:#d4d9c8;margin:0 0 10px}.panel h3{font:600 17px/1.2 var(--ng-body);margin:14px 0 8px;color:#eee3c8}.panel .subtle,.subtle{font-size:13px;line-height:1.35;color:#b8c2b4}.panel p.lead{font-size:17px;color:#f3e6c9}.eyebrow{font:500 11px/1.25 var(--ng-body);letter-spacing:1px;color:#d6b779}
.paper,.notice,.recipe,.order,.stat-card,.item-detail{position:relative;isolation:isolate;background:var(--paper);color:var(--ink);border:0;border-radius:0;box-shadow:none;padding:12px}
.paper p,.paper .subtle,.paper small,.notice p,.notice .subtle,.recipe .subtle,.order .subtle{color:#51422c}.paper h3,.paper h4,.paper b,.paper strong,.notice h3,.recipe h4,.order h4{color:#261e13}.paper .eyebrow{color:#71502c}
.notice{margin-bottom:10px;font-size:13px;line-height:1.35;padding:10px 12px}.notice.warning{color:#6b3525}.notice button{color:var(--cream)}.profession-notice{font-size:12px;padding:9px 11px}.notice .actions-row{margin:8px 0 0}
.tabs{display:flex;gap:6px;margin-bottom:10px}.tabs button{font-size:14px;min-height:34px;padding:7px 9px;line-height:1.15;flex:1}.tabs button.active{color:#091e21;background:#61c6d1;border:0;text-shadow:none}
.actions-row{display:flex;gap:7px;margin:10px 0}.actions-row button{font-size:14px;padding:7px 10px;min-height:34px;flex:1;line-height:1.15}.actions-row button small{font-size:11px;color:inherit;margin:2px 0 0;opacity:.85}.wide{min-height:36px;padding:8px 12px;font-size:15px}
/* The bag stays a bag: two complete rows precede a compact selected-item card. */
.panel[data-view=inventory] .panel-body{display:flex;flex-direction:column;overflow:auto}
.inventory-tabs{flex:none}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));grid-auto-rows:max-content;gap:6px;margin:0 0 5px;padding:2px;flex:none;align-content:start}
.inventory-slot{position:relative;isolation:isolate;aspect-ratio:1;min-width:0;min-height:0;width:100%;display:grid;place-items:center;padding:7px;background:#172021;border:0;border-radius:0;align-self:start}
.inventory-slot>.ng-art{width:38px;max-width:90%;max-height:40px}.inventory-slot .slot-quantity,.inventory-slot>small{position:absolute;bottom:4px;right:6px;color:#fff4dc;font-size:13px;font-weight:600;text-shadow:1px 1px #000,-1px -1px #000}.inventory-slot>small{font-size:10px}.inventory-slot.empty{cursor:default}.inventory-slot[aria-pressed=true]{background:#172021}.inventory-slot:focus-visible{outline-offset:2px}.inventory-slot.filtered,.inventory-slot.reserved{font-size:24px;color:#778379}
.panel .inventory-capacity{flex:none;font-size:12px;color:#bfc4b2;line-height:1.3;margin:4px 0 9px}
.item-detail{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px 10px;align-items:start;margin:0;padding:12px;flex:none}.detail-icon{width:52px;height:52px;display:grid;place-items:center;position:relative;isolation:isolate;background:#202625}.detail-icon .ng-art{width:42px;max-height:44px}.detail-copy{min-width:0}.detail-copy h3,.detail-copy h4{font-size:18px;line-height:1.15;margin:0 0 4px;overflow-wrap:anywhere}.detail-copy p,.detail-copy small,.detail-stats{color:#3b301f;font-size:13px;line-height:1.25;margin:0}.detail-stats{font-weight:500}
.detail-actions.actions-row{grid-column:1/-1;display:flex;gap:6px;margin:0}.detail-actions button{padding:7px 10px;font-size:14px;min-height:34px;flex:1}.detail-actions .discard{flex:0 0 34px;padding:5px;color:#e9c9ad}.detail-actions .subtle{align-self:center}.item-actions{gap:6px}.item-detail .durability{grid-column:1/-1}.empty-detail{display:flex;flex-direction:column;gap:7px}.empty-detail h3,.empty-detail p{margin:0}.empty-detail button{width:100%;font-size:14px;min-height:34px}
.detail-durability{margin-top:6px}.detail-durability b{display:flex;justify-content:space-between;font-size:12px;line-height:1.2;font-weight:500}.detail-durability .durability{height:6px;margin-top:3px;border:1px solid #8a7049;background:#3b3025}.detail-durability .durability i{background:#86af4e;border-top:1px solid #c8e18c}.slot-broken{position:absolute;bottom:4px;left:4px;color:#f6b392;font-size:8px}.button-item-art{width:18px!important;margin-right:5px;vertical-align:middle}
/* Nine slots, the total stats and the selected action fit a laptop-height window. */
.equipment-stage{position:relative;height:216px;margin:0 0 8px;isolation:isolate}.equipment-hero{position:absolute;left:50%;top:20px;transform:translateX(-50%);width:126px;height:184px;display:grid;place-items:center;pointer-events:none}.equipment-hero .ng-art{width:126px;max-height:184px}.equipment-hero-label{position:absolute;top:-16px;left:0;right:0;text-align:center;font:400 11px/14px var(--ng-body);color:#b7bfac;white-space:nowrap}
.equipment-slot{position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;width:50px;height:50px;padding:6px;min-height:0;background:#172021;color:#d8d9c7;border:0}.equipment-slot .ng-art{width:36px;max-height:36px}.equipment-slot small,.equipment-slot .slot-label{font-size:10px;color:#d2d6c6;line-height:1;max-width:100%;white-space:nowrap}.equipment-slot.empty{color:#7c8983}.equipment-slot.slot-weapon{top:54px;left:12px}.equipment-slot.slot-offhand{top:54px;right:12px}.equipment-slot.slot-head{top:0;left:12px}.equipment-slot.slot-body{top:0;right:12px}.equipment-slot.slot-cloak{top:108px;right:12px}.equipment-slot.slot-hands{top:108px;left:12px}.equipment-slot.slot-feet{top:162px;right:12px}.equipment-slot.slot-belt{top:162px;left:12px}.equipment-slot.slot-backpack{bottom:0;left:50%;transform:translateX(-50%);width:62px;height:36px;flex-direction:row;gap:3px}.equipment-slot.slot-backpack:active{transform:translate(-50%,1px)}.equipment-slot.slot-backpack .ng-art{width:28px}
.equipment-stats{display:flex;gap:8px;margin-bottom:8px}.stat-card{flex:1;padding:7px 12px;display:flex;align-items:center;gap:8px;min-height:42px}.stat-card .ng-art{width:28px;max-height:28px}.stat-card>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex:1}.stat-card strong{font-size:21px;line-height:1}.stat-card small{font-size:13px}.panel .equipment-note{font-size:12px;line-height:1.3;color:#b5bfad;margin:7px 0 0}
/* Every NPC has the same portrait box; artwork never determines layout height. */
.npc-intro{display:flex;align-items:center;gap:12px;min-height:72px;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid #4d594e}.npc-portrait{width:70px;height:70px;flex:none;display:flex;align-items:flex-end;justify-content:center;padding:7px;background:#202522;position:relative;isolation:isolate;overflow:hidden}.npc-world-portrait{display:block;width:100%;height:100%;aspect-ratio:1;background-repeat:no-repeat;image-rendering:pixelated;pointer-events:none}.npc-speech{flex:1;min-width:0}.npc-speech h3{font-size:19px;margin:0 0 4px;color:#f1dfba}.npc-speech p{font-size:13px;line-height:1.3;color:#bfc7b8;margin:0}
.recipe{padding:12px;margin-bottom:10px}.recipe-output{display:flex;gap:10px;align-items:center;min-height:42px}.recipe-heading{min-width:0;flex:1}.recipe h4{display:block;font-size:18px;font-weight:600;line-height:1.15;margin:0 0 3px;overflow-wrap:anywhere}.recipe-output>.ng-art{width:40px;max-height:42px;flex:none}.recipe-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.recipe .tier{font-size:10px;border:1px solid #92774d;color:#675135;padding:1px 4px;line-height:1.15}.recipe-description{font-size:12px;line-height:1.3;color:#685034}.recipe .inputs{margin:8px 0 6px;color:#3d311f;line-height:1.3}.ingredient-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto 16px;align-items:center;gap:8px;min-height:30px;padding:3px 0;border-top:1px solid #b19568}.ingredient-art{width:24px;display:grid;place-items:center}.ingredient-art .ng-art{width:24px;max-height:24px}.ingredient-name{min-width:0;font-size:14px;font-weight:500;line-height:1.2;color:#30271b;overflow-wrap:anywhere}.ingredient-count{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.ingredient-check{width:16px;text-align:center}.ingredient-check .ng-art{width:16px;max-height:16px}.recipe .ok{color:#3b692a}.recipe .missing{color:#9e2830}.recipe .cost{display:flex;flex-wrap:wrap;gap:5px 12px;align-items:center;font-size:13px;color:#574027;font-weight:400;margin-top:6px;line-height:20px}.recipe .cost>span{white-space:nowrap}.cost-art{width:16px!important;max-height:19px;vertical-align:middle}.recipe .actions-row{margin:8px 0 0;gap:7px}.recipe button{font-size:14px;padding:7px 10px;min-height:34px}.recipe .actions-row button{display:flex;align-items:center;justify-content:center;gap:9px}.recipe .actions-row small{display:inline;font-size:10px;margin:0}.recipe-reason{font-size:12px;line-height:1.25;color:#705032;margin-top:6px}.recipe details{border-color:#b69a6a;margin-top:7px;padding-top:5px}.recipe summary{color:#654b2e;font-size:12px;padding:2px 0;line-height:1.2}.recipe-sources p{font-size:12px!important;color:#5b4930;margin:8px 0!important}.source-row{gap:8px;margin:7px 0}.source-row b{font-size:12px}.source-row button,.recipe-sources>button{font-size:12px;padding:5px 8px;min-height:28px}
.gather-hero{padding:8px 12px;border:0;text-align:left}.gather-hero p{margin:0;font-size:13px;color:#574027}.chance{font-size:14px;padding:6px 2px;min-height:31px;border-bottom:1px solid #46504b;gap:8px}.chance>span{flex:1;min-width:0}.chance .ng-art{width:23px;max-height:24px;vertical-align:middle;margin-right:6px}.chance b{color:#ead198;font-size:14px;white-space:nowrap}.chance+.subtle{margin-top:8px}
.market-filters{gap:5px;margin-bottom:10px}.market-filters button{border-radius:0;font-size:12px;min-height:29px;padding:5px 8px}.market-filters button.active{color:#091e21;background:#61c6d1}.panel .market-caption{margin-bottom:8px;font-size:12px}.order{padding:10px 12px;margin-bottom:8px}.order h4{display:flex;align-items:center;gap:8px;font-size:17px;line-height:1.2;margin:0 0 4px;min-width:0}.order h4>.ng-art{width:30px;max-height:30px;flex:none}.order-bottom{margin-top:6px}.order-bottom b{font-size:17px;color:#60431f}.order-bottom button{font-size:14px;padding:7px 12px;min-height:34px}.order .subtle{font-size:12px;line-height:1.25}
input,select{font-family:var(--ng-body);font-size:14px;background:#172120;border:1px solid #77766a;box-shadow:inset 0 0 0 1px #0b1515;color:#f3e6c9;border-radius:0;padding:7px 9px;margin-top:5px;min-height:36px}input:disabled,select:disabled{color:#999c94;border-color:#4d5650}label{font-size:13px;color:#e1d8c1;margin-bottom:10px}option{background:#192322;color:#f5e7ca}form .split>*{min-width:0}input[type=checkbox]{appearance:none;width:22px;height:22px;min-height:0;padding:0;border:2px solid #84918a;background:#111b1b;cursor:pointer;display:grid;place-items:center}input[type=checkbox]:checked{border-color:#91eff0;background:#17616b}input[type=checkbox]:checked:after{content:'✓';font-weight:800;color:#f1fff1;font-size:16px}input[type=checkbox]:disabled{opacity:.6;cursor:not-allowed}
.stats-row{gap:7px;margin-bottom:10px}.stats-row>div{position:relative;isolation:isolate;background:var(--paper);border:0;border-radius:0;padding:8px;color:#2a2014}.stats-row strong{font-size:23px;line-height:1;color:#2b2013}.stats-row small{font-size:10px;color:#5b4b32}
.duel-banner{position:relative;isolation:isolate;background:#30251c;border:1px solid #63523a;border-radius:0;padding:10px 12px;margin-bottom:10px}.duel-banner strong{display:block;font:400 23px/1.05 var(--ng-title);color:#f2dfb9;margin:4px 0}.duel-banner>span:last-child{font-size:13px;color:#b9d9d3}.duel-banner.live{background:#39291b}.duel-round{padding:7px 0;gap:10px}.duel-round>b{border-radius:0;border:1px solid #8e774f;width:25px;height:25px;font-size:15px}.duel-round>span{font-size:15px}.duel-round small{font-size:12px;color:#b9c4b5}.duel-round em{font-size:12px}.battle-result{position:relative;isolation:isolate;background:#202a27;border:1px solid #697469;border-left:3px solid #96754d;border-radius:0;padding:10px 12px;margin-bottom:8px}.battle-result b{font-size:15px}.battle-result small{font-size:12px}.battle-result strong{font-size:18px}.battle-result p{font-size:12px;margin:0}.battle-result.win{border-left-color:#8daa6a}.battle-result.draw{border-left-color:#bb9f6c}.battle-result[data-skin=paper]{color:#2b2116}.battle-result[data-skin=paper] b,.battle-result[data-skin=paper] strong{color:#302114}.battle-result[data-skin=paper] small,.battle-result[data-skin=paper] p{color:#5b462c}
.king-quote{position:relative;isolation:isolate;font:500 17px/1.3 var(--ng-body);border:0;padding:12px;color:#2c2216;background:var(--paper);margin:0 0 12px}.leader{padding:8px 4px;gap:10px;border-bottom:1px solid #59645a}.leader>span{width:24px;font:400 21px var(--ng-title);color:#e6be75}.leader>div{font-size:15px}.leader small{font-size:12px;color:#bdc6b5;margin-top:2px}.leader>b{font-size:17px;color:#82d6d3}.leader.you{background:#24423e;border-radius:0;margin:0;padding:8px 4px}
.timeline{border-left:2px solid #8c724c;padding-left:15px;margin-left:5px}.event{margin-bottom:15px}.event:before{width:6px;height:6px;left:-19px;border-radius:0;background:#76c9c6}.event small{font-size:12px;color:#d3ba89;margin-bottom:3px}.event p{font-size:14px;color:#d9ddce;margin:0}
details{border-top:1px solid #596452;margin-top:12px;padding-top:8px}summary{font-size:14px;color:#d7c9a8;padding:3px 0 6px;cursor:pointer}details p{font-size:13px!important;line-height:1.4}.guide-steps{margin:12px 0}.guide-steps li{padding:0 0 16px 34px}.guide-steps li:before{width:24px;height:24px;border-radius:0;font-family:var(--ng-title);font-size:17px;background:#2b241a;border:1px solid #947744}.guide-steps b{font-size:17px}.guide-steps span{font-size:14px;color:#c3cdbc;line-height:1.35}.guide-steps button{font-size:13px;padding:7px 10px;min-height:32px}
.setting-row{padding:10px 0;border-color:#5b6559;gap:12px;min-height:60px}.setting-row b{font-size:15px;color:#f1e1c2}.setting-row small{font-size:12px;line-height:1.3;color:#bdc6b4;margin-top:3px}.setting-row input{flex:none;width:22px;height:22px}.demo-controls{position:relative;isolation:isolate;background:var(--paper);border:0;border-radius:0;padding:12px;margin-top:14px;color:#312517}.demo-controls h3{margin:5px 0 7px}.demo-controls h3,.demo-controls p,.demo-controls .subtle,.demo-controls .eyebrow{color:#4a3720}.demo-controls p{font-size:13px}.demo-controls button{font-size:13px;white-space:normal}.demo-controls .actions-row{margin:8px 0}.demo-controls p:last-child{margin-bottom:0}
.wheel-feature{display:flex;align-items:center;gap:16px;margin-bottom:12px}.wheel-art{position:relative;flex:none;filter:drop-shadow(0 3px 0 #0a1111);width:148px;height:158px;margin:0;pointer-events:none}.wheel-disc{inset:6px 6px 16px;border:0;border-radius:0;background:none;box-shadow:none;transform-origin:center}.wheel-pixels{display:block;width:100%;height:100%;image-rendering:pixelated}.wheel-stand{position:absolute;left:6px;bottom:0;width:136px;height:38px;image-rendering:pixelated}.wheel-pointer{position:absolute;left:50%;top:0;width:18px;height:25px;transform:translateX(-50%);z-index:2;image-rendering:pixelated}.wheel-hub{top:74px;width:26px;height:26px;border:2px solid #d0a365;border-radius:0;background:#4c3324;box-shadow:0 0 0 2px #243025}.wheel-reward-icon{display:block;width:26px;height:26px;flex:none;image-rendering:pixelated;shape-rendering:crispEdges}.wheel-hub .wheel-reward-icon{width:20px;height:20px}.wheel-reward-row{gap:8px}.wheel-copy{text-align:left;min-width:0}.wheel-copy h3{font:400 23px/1.05 var(--ng-title);margin:5px 0 8px}.wheel-copy p{text-align:left!important;font-size:13px;margin:0}.wheel-copy .eyebrow{font-size:10px}.reward-description{font-size:12px;color:#bfc5b3;max-width:320px;line-height:1.3;margin-top:2px}
.join-shade{position:fixed;inset:0;z-index:8;background:#0913139e;backdrop-filter:none}.join-card{position:relative;isolation:isolate;background:#1b2423;border:0;border-radius:0;padding:26px 30px;width:490px;max-height:calc(100vh - 42px);box-shadow:0 14px 50px #000a}.join-card h1{font:400 34px/1.1 var(--ng-title);color:#f3e2bd;margin:12px 0}.join-card p{font-size:16px;line-height:1.4;color:#d3d3bf;margin:0 0 14px}.join-card label{font-size:14px;color:#e4d6ba}.join-note{font-size:13px;line-height:1.35;color:#bbc5b1;margin-bottom:14px}.local-disclaimer{font-size:12px;color:#b0bba9}.join-card .gold{font-size:16px}
.confirm-dialog{position:fixed;isolation:isolate;background:#1b2423;color:#f1e3c6;border:0;border-radius:0;width:390px;max-width:calc(100vw - 48px);padding:24px;box-shadow:0 14px 50px #000c}.confirm-dialog::backdrop{background:#071314b8;backdrop-filter:none}.confirm-dialog h2{font:400 27px/1.1 var(--ng-title)}.confirm-dialog p{font-size:15px;color:#d1d5bf;line-height:1.35}.confirm-dialog .eyebrow{font-size:11px}
#toast{isolation:isolate;background:#283a32;border:1px solid #8dc9b8;border-radius:0;color:#f6e6c6;font-size:14px;padding:10px 16px;bottom:44px;box-shadow:0 3px #0008;max-width:540px}#toast.error{background:#402b24;border-color:#c79869}.empty-state{padding:22px 12px}.empty-state .large-icon{font-size:30px}.empty-state p{font-size:14px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.vital-health .meter i{background:#eb4e47}.vital-energy .meter i{background:#efbd4f}.vital-satiety .meter i{background:#e9aa40}
.vital-label{position:relative;display:grid;grid-template-columns:1fr;gap:2px;padding-left:25px}.vital-label>span{font-size:11px;line-height:12px}.vital-label b{font-size:16px;line-height:16px}.vital-label .ng-art{position:absolute;left:0;top:6px;width:20px;max-height:25px;margin:0}
button.gold:disabled,button.active:disabled{color:#b1b0b9;background:#383941;text-shadow:none}
@media(max-width:1350px){.hud{padding:8px 20px;gap:12px}.brand strong{font-size:20px}.brand small{font-size:10px}.brand .crest,.crest .ng-art{width:45px}.vitals{gap:12px}.vital{width:87px}.vital-label>span{font-size:11px}.vital-label b{font-size:14px}.round-clock{min-width:135px;padding-left:12px}.round-clock strong{font-size:23px}.statusline{padding:0 20px}.statusline>span:last-child{display:none}}
@media(max-height:780px){.hud{height:66px}.statusline{height:26px}.brand strong{font-size:20px}.brand small{font-size:9px;margin-top:4px}.brand .crest,.crest .ng-art{width:43px}.join-card{padding:22px 28px}.join-card p{margin-bottom:10px}.join-card label{margin-bottom:9px}.join-note{margin-bottom:10px}}
@media(max-width:1120px){.brand small{display:none}.brand strong{max-width:155px;display:block}.vitals{gap:10px}.vital{width:80px}.vital-label>span{font-size:10px}.coins b{font-size:17px}.round-clock{min-width:122px}.round-clock small{font-size:9px}.round-clock strong{font-size:21px}.panel{width:432px}.statusline{font-size:10px}}
@media(prefers-reduced-motion:reduce){button{transition:none}.spinning .wheel-disc{animation:none}}
