:root{color:#f2ead7;--font-ui:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Cinzel", Georgia, "Times New Roman", serif;font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#111614;--surface:#1a211f;--surface-2:#202a27;--surface-3:#2a2922;--panel:#efe0b4;--panel-2:#f6eac6;--panel-3:#dcc78d;--ink:#211a12;--ink-soft:#57442b;--text:#f2ead7;--text-muted:#b8aa8f;--line:#3d4942;--line-strong:#79623a;--gold:#d9a441;--gold-bright:#f1c76b;--teal:#38a58a;--teal-dark:#1f6e5b;--red:#c55358;--violet:#8b6fc2;--blue:#5e8dc9;--green:#76a85a;--shadow:0 16px 38px #00000052;background:#111614}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--text);font-family:var(--font-ui);background:linear-gradient(90deg,#ffffff08 1px,#0000 1px) 0 0/48px 48px,linear-gradient(0deg,#ffffff08 1px,#0000 1px) 0 0/48px 48px,linear-gradient(135deg,#101513,#18211e 46%,#241c18);margin:0}button,input,select{font:inherit}button{cursor:pointer;transition:transform .12s,border-color .12s,background-color .12s}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.5}h1,h2,h3,h4,p{overflow-wrap:anywhere}h1,h2,h3,h4,.brand-mark{font-family:var(--font-display);text-wrap:balance;font-weight:700}h2,h3,h4{margin:0}.center-screen,.auth-screen,.app-shell{min-height:100vh}.center-screen{place-items:center;padding:24px;display:grid}.auth-screen{grid-template-columns:minmax(0,1fr) 420px;align-items:center;gap:32px;padding:48px;display:grid}.auth-copy{max-width:700px}.auth-copy h1{color:var(--gold-bright);margin:0;font-size:72px;line-height:.95}.auth-copy p:not(.eyebrow){max-width:560px;color:var(--text-muted);font-size:18px;line-height:1.6}.panel,.loading-panel{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);box-shadow:var(--shadow);border-radius:8px}.panel{padding:22px}.loading-panel{padding:32px}.setup-panel{max-width:680px}.setup-panel pre{border:1px solid var(--line);color:var(--gold-bright);background:#101513;border-radius:8px;padding:16px;overflow-x:auto}.auth-panel{gap:18px;display:grid}.eyebrow{color:var(--gold);letter-spacing:0;text-transform:uppercase;margin:0 0 7px;font-size:12px;font-weight:900}.auth-copy .eyebrow,.brand-block .eyebrow{font-family:var(--font-display);font-weight:700}.stack{gap:14px;display:grid}label{color:var(--ink-soft);gap:8px;font-size:14px;font-weight:800;display:grid}input,select{width:100%;min-height:42px;color:var(--ink);background:#fff5d0;border:1px solid #947c4d;border-radius:6px;padding:0 12px}select{cursor:pointer}.segmented-control{background:#d8bf7b;border:1px solid #947c4d;border-radius:8px;grid-template-columns:1fr 1fr;gap:6px;padding:5px;display:grid}.segmented-control button,.sidebar nav button,.ghost-button{color:inherit;background:0 0;border:0;border-radius:6px}.segmented-control button{min-height:38px}.segmented-control button.active{color:var(--ink);background:#fff1bf;font-weight:900}.primary-button,.ghost-button{min-height:40px;padding:0 14px;font-weight:900}.primary-button{color:#1e1308;background:linear-gradient(#f1c76b,#b87524);border:1px solid #f0c264;border-radius:6px;box-shadow:inset 0 1px #ffffff59}.primary-button:hover:not(:disabled){background:linear-gradient(#ffd77d,#c47c2a);border-color:#ffe08c}.ghost-button{border:1px solid var(--line-strong);color:var(--text);background:#fff4c914}.panel .ghost-button,.building-row .ghost-button,.companion-card .ghost-button,.stage-card .ghost-button{color:var(--ink)}.ghost-button:hover:not(:disabled){border-color:var(--gold)}.form-message,.error-banner{border-radius:6px;margin:0;padding:12px}.form-message{color:#365423;background:#e7f1d6;border:1px solid #7da25f}.error-banner{color:#8d2933;background:#f2d2ce;border:1px solid #b75f61}.app-shell{grid-template-columns:268px minmax(0,1fr);display:grid}.sidebar{border-right:1px solid var(--line);background:linear-gradient(#ffffff0a,#0000 180px),#151c1a;grid-template-rows:auto 1fr auto;gap:22px;padding:20px;display:grid;box-shadow:10px 0 28px #00000038}.brand-block{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;display:grid}.brand-mark{border:1px solid var(--gold);width:48px;height:48px;color:var(--gold-bright);background:#232e2b;border-radius:8px;place-items:center;font-size:16px;font-weight:900;display:grid;box-shadow:inset 0 0 0 3px #d9a44124}.sidebar h1{color:var(--text);margin:0;font-size:22px;line-height:1.05}.sidebar nav{align-content:start;gap:8px;display:grid}.sidebar nav button{min-height:42px;color:var(--text-muted);text-align:left;border:1px solid #0000;padding:0 12px}.sidebar nav button:hover{color:var(--text);background:#ffffff0d;border-color:#d9a44147}.sidebar nav button.active{border-color:var(--gold);color:var(--gold-bright);background:#d9a44124;font-weight:900}.content-shell{align-content:start;gap:22px;min-width:0;padding:22px;display:grid}.view-stack{gap:18px;width:100%;max-width:1180px;margin:0 auto;display:grid}.view-header{justify-content:space-between;align-items:center;gap:16px;min-height:54px;display:flex}.view-header h2{color:var(--text);font-size:31px;line-height:1}.resource-belt{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.resource-token{border:1px solid var(--line);min-height:70px;box-shadow:var(--shadow);background:#19231f;border-radius:8px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.resource-token:before{color:#111614;content:"";border-radius:8px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.gold-token:before{content:"G";background:linear-gradient(#ffe38b,#b87924)}.gem-token:before{content:"M";background:linear-gradient(#89dbff,#4c63c7)}.fame-token:before{content:"F";background:linear-gradient(#e7d6ff,#8060bd)}.income-token:before{content:"/s";background:linear-gradient(#9fe7c8,#2f8a69)}.resource-token span{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:900;display:block}.resource-token strong{color:var(--gold-bright);margin-top:4px;font-size:22px;line-height:1;display:block}.home-command-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.home-command-card,.home-quest-board,.home-quest-row{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);box-shadow:var(--shadow);border-radius:8px}.home-command-card{align-content:start;gap:12px;padding:14px;display:grid}.home-card-heading,.home-section-header,.home-quest-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.home-card-heading{align-items:start}.home-card-heading h3,.home-section-header h3,.home-quest-row h4{margin:0}.home-card-heading strong,.home-section-header strong{color:#213f39;white-space:nowrap;background:#38a58a24;border:1px solid #38a58a57;border-radius:6px;align-self:start;padding:6px 9px;font-size:13px;font-weight:900}.home-stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.home-command-card:not(.home-adventure-card) .home-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.home-stat-row div{background:#fffceea3;border:1px solid #75643f4d;border-radius:8px;min-width:0;padding:9px}.home-stat-row dd{overflow-wrap:anywhere;min-width:0}.home-progress-line{background:#bfa46a;border:1px solid #75643f;border-radius:999px;height:10px;overflow:hidden}.home-progress-line span{border-radius:inherit;background:linear-gradient(90deg, var(--teal-dark), var(--teal), var(--gold));height:100%;display:block}.home-command-card .primary-button{justify-self:start}.home-quest-board{gap:12px;padding:14px;display:grid}.home-quest-list{gap:8px;display:grid}.home-quest-row{box-shadow:none;background:#fff6d6f5;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:12px;padding:12px;display:grid}.home-quest-row-single{grid-template-columns:1fr}.home-quest-row.claimable{border-color:var(--teal-dark);background:#ddf3e6d6}.home-quest-row.claimed{opacity:.72}.home-quest-body{grid-template-columns:minmax(0,1fr) minmax(130px,.42fr);align-items:center;gap:12px;display:grid}.home-quest-body p,.home-quest-side span{color:var(--ink-soft);margin:0;line-height:1.35}.home-quest-progress{gap:6px;display:grid}.home-quest-progress small,.home-quest-side span,.home-quest-footer span{color:#5f4526;font-size:13px;font-weight:900}.home-quest-side{justify-items:end;gap:8px;display:grid}.home-quest-side span{text-align:right}.home-quest-side .primary-button{width:100%}.home-quest-footer{justify-content:flex-end}.home-quest-footer span{text-align:center;min-width:48px}.realm-board{grid-template-columns:280px minmax(0,1.35fr) 280px;gap:12px;display:grid}.hero-command-panel,.world-route-panel,.village-command-panel{border:1px solid var(--line-strong);min-height:330px;color:var(--ink);box-shadow:var(--shadow);background:linear-gradient(#fff6d6f5,#e0c584fa);border-radius:8px;align-content:start;gap:14px;padding:16px;display:grid}.hero-portrait{background:radial-gradient(circle at 50% 35%,#f2d78f 0 18%,#0000 19%),linear-gradient(160deg,#345e65,#1b302f 50%,#271b16);border:1px solid #8e6b35;border-radius:8px;place-items:center;height:126px;display:grid}.hero-portrait span{border:1px solid var(--gold);width:64px;height:64px;color:var(--gold-bright);background:#101513;border-radius:50%;place-items:center;font-size:22px;font-weight:900;display:grid}.progress-track{background:#bfa46a;border:1px solid #75643f;border-radius:999px;height:12px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--teal-dark), var(--teal), var(--gold));height:100%;display:block}.route-header{justify-content:space-between;gap:12px;display:flex}.route-header strong{color:#5b3811;white-space:nowrap;background:#d9a44129;border:1px solid #d9a44175;border-radius:6px;align-self:start;padding:5px 8px}.route-map{background:linear-gradient(135deg,#38a58a29,#0000),#d9c385;border:1px solid #8e6b35;border-radius:8px;grid-template-columns:34px 1fr 34px 1fr 34px;align-items:center;min-height:128px;padding:20px;display:grid}.route-node{background:#f6eac6;border:2px solid #6f5a32;border-radius:50%;width:34px;height:34px;display:block}.route-node.complete{border-color:var(--teal-dark);background:var(--teal)}.route-node.active{background:var(--gold-bright);border-color:#7e4b15;box-shadow:0 0 0 6px #d9a44133}.route-line{background:#8e6b35;height:5px;display:block}.route-line.complete{background:var(--teal-dark)}.mini-building-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mini-building-grid span{color:#543817;background:#d9c385;border:1px solid #8e6b35;border-radius:8px;place-items:center;min-height:54px;font-weight:900;display:grid}.task-board{border:1px solid var(--line-strong);color:var(--ink);box-shadow:var(--shadow);background:linear-gradient(#fff6d6f0,#e0c584f5);border-radius:8px;gap:12px;padding:16px;display:grid}.task-board-header,.task-board-footer,.quest-card-main,.quest-progress-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.task-board-header h3,.quest-card h4{margin:0}.task-board-header strong{color:#213f39;white-space:nowrap;background:#38a58a24;border:1px solid #38a58a57;border-radius:6px;padding:6px 10px}.quest-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.quest-card{background:#fffceeb3;border:1px solid #967844;border-radius:8px;gap:10px;min-height:176px;padding:12px;display:grid}.quest-card.claimable{border-color:var(--teal-dark);background:#ddf3e6c7}.quest-card.claimed{opacity:.72}.quest-card p{margin:0}.quest-card-main{align-items:start}.quest-card-main .primary-button{min-width:86px}.quest-progress-row{color:#5f4526;align-items:center;font-size:13px;font-weight:900}.quest-progress-row .progress-track{flex:1;min-width:80px}.quest-reward{color:#4e351a;border-top:1px solid #75643f57;padding-top:8px;font-size:13px;font-weight:900}.task-board-footer{justify-content:flex-end}.task-board-footer span{color:#543817;text-align:center;min-width:48px;font-weight:900}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.metric,.building-row,.action-grid button,.companion-card,.stage-card,.adventure-side{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);box-shadow:var(--shadow);border-radius:8px}.metric{gap:8px;min-height:96px;padding:15px;display:grid}.metric span,.muted{color:var(--ink-soft)}.metric span{text-transform:uppercase;font-size:12px;font-weight:900}.metric strong{color:var(--ink);font-size:28px;line-height:1}.action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.action-grid button{text-align:left;gap:8px;min-height:128px;padding:16px;display:grid}.action-grid button:hover{border-color:var(--gold)}.action-grid strong{color:#4a3116;font-size:18px}.action-grid span{color:var(--ink-soft);line-height:1.45}.resource-pill{border:1px solid var(--gold);color:var(--gold-bright);background:#1b2421;border-radius:8px;padding:9px 12px;font-weight:900}.building-list{grid-template-columns:1fr;gap:12px;display:grid}.building-row{color:#f4ecd9;background:linear-gradient(#ffffff0d,#0000 150px),radial-gradient(circle at 50% 0,#d9a4413d,#0000 58%),linear-gradient(135deg,#17130e,#0c1110 54%,#17140f);border-color:#dca4498a;grid-template-columns:minmax(210px,260px) minmax(0,1fr) 104px;align-content:start;align-items:stretch;gap:10px;min-height:176px;padding:8px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 36px #0000005c,inset 0 0 0 1px #fada8929,inset 0 0 0 6px #0000003d}.building-row:before{z-index:1;background:linear-gradient(90deg, var(--gold), transparent 18% 82%, var(--gold)) 0 0 / 100% 1px no-repeat, linear-gradient(90deg, var(--gold), transparent 18% 82%, var(--gold)) 0 100% / 100% 1px no-repeat;content:"";pointer-events:none;border:1px solid #eebf5c4d;border-radius:6px;position:absolute;inset:7px}.building-row:after{z-index:0;content:"";opacity:.14;pointer-events:none;background-color:#0000;background-image:linear-gradient(90deg,#ffffff0a 1px,#0000 1px),linear-gradient(0deg,#ffffff08 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.building-row>*{z-index:2;position:relative}.building-art-frame{background:#0d1110;border:1px solid #edbf5f75;border-radius:6px;height:100%;min-height:158px;margin:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1a,0 10px 18px #00000047}.building-art-frame:before,.building-art-frame:after{content:"";pointer-events:none;position:absolute;inset:0}.building-art-frame:before{z-index:1;background:linear-gradient(#0000000a,#0000002e 52%,#000000c2),radial-gradient(circle at 80% 12%,#ffefb638,#0000 34%)}.building-art-frame:after{z-index:3;border:1px solid #ffebad2e;border-radius:5px;box-shadow:inset 0 0 26px #00000075}.building-art-image{object-fit:cover;width:100%;height:100%;min-height:158px;display:block}.building-art-caption{z-index:2;color:#fff4df;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid;position:absolute;bottom:9px;left:9px;right:9px}.building-art-caption h3,.building-art-caption p{margin:0}.building-art-caption h3{color:#fff4df;overflow-wrap:normal;text-shadow:0 2px 8px #000000ad;white-space:nowrap;word-break:normal;font-size:23px;line-height:1}.building-art-caption p{color:#e5d5b5;text-shadow:0 2px 6px #000000b8;margin-top:4px;font-size:12px;line-height:1.2}.building-art-caption strong{color:#f6d47a;min-height:30px;font-family:var(--font-display);white-space:nowrap;background:#090c0bb8;border:1px solid #f5d27e94;border-radius:6px;place-items:center;padding:0 8px;font-size:14px;display:grid}.building-card-body{align-content:start;gap:8px;display:grid}.building-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.building-stat-tile{background:linear-gradient(#ffffff0f,#0000),#090c0b8a;border:1px solid #dca44957;border-radius:7px;align-content:center;gap:4px;min-height:56px;padding:7px;display:grid;box-shadow:inset 0 0 0 1px #ffffff0d}.building-stat-tile dt{color:#d5c09a;font-family:var(--font-display);line-height:1}.building-stat-tile dd{color:#fff4df;min-width:0;font-family:var(--font-display);overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1}.building-assignment-panel{background:#080a096b;border:1px solid #dca44952;border-radius:7px;gap:6px;padding:7px;display:grid}.building-assignment-panel>span{color:#d5c09a;font-family:var(--font-display);text-transform:uppercase;font-size:12px;font-weight:900}.building-assignment-list{scrollbar-width:none;flex-wrap:nowrap;margin-top:0;overflow-x:auto}.building-assignment-list::-webkit-scrollbar{display:none}.assignment-list.building-assignment-list span{color:#d9fff0;white-space:nowrap;background:#38a58a26;border-color:#38a58a6b;flex:none}.assignment-list.building-assignment-list .building-assignment-chip.rarity-common{color:#e7f0c8;background:linear-gradient(#3b4637,#242d27);border-color:#b9c58f}.assignment-list.building-assignment-list .building-assignment-chip.rarity-rare{color:#dcefff;background:linear-gradient(#294661,#1d2e3d);border-color:#8ebce0}.assignment-list.building-assignment-list .building-assignment-chip.rarity-epic{color:#f0ddff;background:linear-gradient(#49335e,#2d2237);border-color:#c2a0e5}.assignment-list.building-assignment-list .building-assignment-chip.rarity-mythic{color:#ffe7b7;background:linear-gradient(#704515,#392719);border-color:#f0bd65}.assignment-list.building-assignment-list .building-assignment-chip.rarity-ancient{color:#ffd7cf;background:linear-gradient(#613235,#382023);border-color:#e29b8d}.assignment-list.building-assignment-list .building-assignment-chip.rarity-celestial{color:#fff7c9;background:linear-gradient(#685f23,#38331d);border-color:#f5e79e}.building-upgrade-actions{background:#080a0973;border:1px solid #dca44957;border-radius:7px;grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:1fr;align-self:stretch;gap:6px;padding:6px;display:grid}.building-upgrade-button{color:#f5ead1;min-height:0;font-family:var(--font-display);text-shadow:0 2px 2px #0000007a;border:1px solid #f5d27e61;border-radius:6px;align-content:center;gap:3px;padding:5px;display:grid;box-shadow:inset 0 0 0 1px #ffffff14,inset 0 -14px 22px #0000003d}.building-upgrade-button span{color:#f4d98d;font-size:12px;font-weight:900}.building-upgrade-button strong{color:#fff4df;overflow-wrap:anywhere;min-width:0;font-size:15px;line-height:1}.assignment-list{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.assignment-list span,.rarity-tag{color:#145b4a;background:#38a58a21;border:1px solid #38a58a52;border-radius:6px;padding:4px 7px;font-size:12px;font-weight:900}dl{flex-wrap:wrap;gap:12px 20px;margin:0;display:flex}dt{color:#73572e;text-transform:uppercase;font-size:12px;font-weight:900}dd{color:var(--ink);margin:3px 0 0;font-weight:900}.companion-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.companion-toolbar{border:1px solid var(--line);box-shadow:var(--shadow);background:#19231f;border-radius:8px;grid-template-columns:minmax(180px,1fr) repeat(3,minmax(150px,190px)) auto;align-items:end;gap:12px;padding:14px;display:grid}.companion-toolbar label{color:var(--text-muted)}.companion-toolbar strong{min-height:42px;color:var(--gold-bright);white-space:nowrap;background:#d9a4411f;border:1px solid #d9a44161;border-radius:6px;place-items:center;padding:0 12px;display:grid}.companion-grid .empty-state{grid-column:1/-1}.companion-card{border-color:var(--rarity-frame);background:linear-gradient(180deg, #ffffff0d, transparent 150px), radial-gradient(circle at 50% 0, var(--rarity-glow), transparent 58%), linear-gradient(135deg, #15120e, #0c1110 52%, #16120e);color:#f4ecd9;align-content:start;gap:10px;padding:10px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 36px #00000061,inset 0 0 0 1px #fada8929,inset 0 0 0 6px #00000047}.companion-card:before{z-index:1;background:linear-gradient(90deg, var(--rarity-accent), transparent 18% 82%, var(--rarity-accent)) 0 0 / 100% 1px no-repeat, linear-gradient(90deg, var(--rarity-accent), transparent 18% 82%, var(--rarity-accent)) 0 100% / 100% 1px no-repeat;content:"";pointer-events:none;border:1px solid #eebf5c57;border-radius:6px;position:absolute;inset:7px}.companion-card:after{z-index:0;content:"";opacity:.17;pointer-events:none;background-color:#0000;background-image:linear-gradient(90deg,#ffffff0a 1px,#0000 1px),linear-gradient(0deg,#ffffff08 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.companion-card>*{z-index:2;position:relative}.companion-card.rarity-common{--rarity-accent:#b9c58f;--rarity-frame:#7f9163;--rarity-glow:#97ae6d3d;--rarity-medallion:#495a3d;--rarity-ribbon:#29342d;--rarity-text:#e7f0c8}.companion-card.rarity-rare{--rarity-accent:#8ebce0;--rarity-frame:#5689b3;--rarity-glow:#5b9bd147;--rarity-medallion:#244c72;--rarity-ribbon:#1e3140;--rarity-text:#dcefff}.companion-card.rarity-epic{--rarity-accent:#c2a0e5;--rarity-frame:#8f66bd;--rarity-glow:#ae71df47;--rarity-medallion:#563873;--rarity-ribbon:#302239;--rarity-text:#f0ddff}.companion-card.rarity-mythic{--rarity-accent:#f0bd65;--rarity-frame:#c8872d;--rarity-glow:#e69d3a4d;--rarity-medallion:#734614;--rarity-ribbon:#3b2818;--rarity-text:#ffe7b7}.companion-card.rarity-ancient{--rarity-accent:#e29b8d;--rarity-frame:#ad5951;--rarity-glow:#d15b564a;--rarity-medallion:#653336;--rarity-ribbon:#3a2022;--rarity-text:#ffd7cf}.companion-card.rarity-celestial{--rarity-accent:#f5e79e;--rarity-frame:#d6c75f;--rarity-glow:#f5e79e5c;--rarity-medallion:#746720;--rarity-ribbon:#3a351f;--rarity-text:#fff7c9}.companion-art-frame{background:#0d1110;border:1px solid #edbf5f75;border-radius:6px;min-height:190px;margin:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1a,0 10px 18px #00000047}.companion-art-frame:before,.companion-art-frame:after{content:"";pointer-events:none;position:absolute;inset:0}.companion-art-frame:before{z-index:1;background:linear-gradient(180deg, #0000000d, #00000038 58%, #000000bd), radial-gradient(circle at 82% 12%, #ffefb63d, transparent 34%), radial-gradient(circle at 10% 14%, var(--rarity-glow), transparent 30%)}.companion-art-frame:after{z-index:3;border:1px solid #ffe28b5c;border-radius:5px;box-shadow:inset 0 0 0 4px #00000057,inset 0 0 24px #000000a3}.companion-art-image{object-fit:cover;width:100%;height:100%;min-height:190px;display:block}.companion-art-caption{z-index:4;grid-template-columns:54px minmax(0,1fr);align-items:end;gap:10px;display:grid;position:absolute;bottom:12px;left:12px;right:12px}.companion-crest{background:linear-gradient(180deg, #ffffff29, transparent 32%), linear-gradient(145deg, var(--rarity-ribbon), #101515);clip-path:polygon(12% 0,88% 0,100% 14%,100% 72%,50% 100%,0 72%,0 14%);width:54px;height:64px;color:var(--rarity-text);font-family:var(--font-display);text-shadow:0 2px 2px #000000a3;border:1px solid #f5d27e94;place-items:center;font-size:19px;font-weight:900;display:grid;box-shadow:inset 0 0 0 4px #00000042}.companion-title-block{text-shadow:0 2px 3px #000000bd;min-width:0}.companion-title-block h3{color:#fbf4df;font-size:28px;line-height:.96}.companion-title-block>div{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.level-chip{min-height:26px;color:var(--gold-bright);font-family:var(--font-display);white-space:nowrap;background:#0e1211c7;border:1px solid #f5d27e7a;border-radius:4px;place-items:center;padding:4px 9px;font-size:15px;line-height:1;display:inline-grid}.companion-card .companion-role{color:#ded4bd;font-family:var(--font-display);background:#0508076b;border:1px solid #ecbe5e42;border-radius:6px;margin:0;padding:9px 10px;font-size:15px;font-style:italic;line-height:1.45}.companion-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;display:grid}.companion-stat-tile{background:linear-gradient(#ffffff0d,#0000),#101718;border:1px solid #dca4496b;border-radius:7px;align-content:start;gap:6px;min-height:104px;padding:8px;display:grid;box-shadow:inset 0 0 0 1px #ffffff0f,inset 0 -18px 34px #00000040}.companion-stat-tile dt{color:#e8c77b;font-family:var(--font-display);text-transform:uppercase;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:7px;font-size:12px;font-weight:900;line-height:1.1;display:grid}.companion-stat-tile dd{color:#fff4df;font-family:var(--font-display);text-shadow:0 2px 2px #00000085;font-size:25px;line-height:1}.companion-stat-tile small{color:#aeea7e;font-family:var(--font-display);font-size:13px;font-style:italic;line-height:1.15}.stat-medallion{background:radial-gradient(circle at 32% 26%, #ffffff47, transparent 24%), linear-gradient(145deg, var(--rarity-medallion), #111413);border:1px solid #f8d3768a;border-radius:50%;width:32px;height:32px;display:block;position:relative;box-shadow:inset 0 0 0 3px #00000047,0 3px 6px #00000061}.stat-medallion:before,.stat-medallion:after{content:"";position:absolute}.medallion-power:before{background:#f7f1e3;border-radius:999px;width:20px;height:5px;top:14px;left:7px;transform:rotate(-42deg)}.medallion-power:after{background:#d39d4a;border-radius:999px;width:10px;height:4px;top:18px;left:8px;transform:rotate(-42deg)}.medallion-income:before{background:linear-gradient(#ffe18a,#b87924);border-radius:45% 45% 50% 50%;width:15px;height:15px;top:13px;left:9px}.medallion-income:after{background:#f6cb64;border-radius:1px 1px 7px 7px;width:11px;height:7px;top:8px;left:11px;box-shadow:inset 0 -2px #0000003d}.medallion-star:before,.star-button-medallion:before,.star-mark{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 56%,79% 91%,50% 70%,21% 91%,32% 56%,2% 35%,39% 35%)}.medallion-star:before{background:linear-gradient(#fff0a8,#c8892f);inset:7px}.medallion-copies:before,.medallion-copies:after{background:#a9d0dc;border-radius:50% 50% 40% 40%}.medallion-copies:before{width:13px;height:17px;top:9px;left:7px;box-shadow:inset 0 -7px #1c4a5c9e}.medallion-copies:after{width:10px;height:13px;top:13px;left:17px;box-shadow:inset 0 -5px #1c4a5c9e}.medallion-multiplier:before{clip-path:polygon(50% 0,58% 40%,100% 50%,58% 60%,50% 100%,42% 60%,0 50%,42% 40%);filter:drop-shadow(0 0 5px #ebcbffb8);background:#f1defc;inset:7px}.medallion-base:before{background:#dba06b;border-radius:7px 7px 9px 9px;width:17px;height:15px;top:13px;left:8px}.medallion-base:after{background:#edc08a;border-radius:999px;width:3px;height:10px;top:7px;left:10px;box-shadow:5px 0 #edc08a,10px 0 #edc08a}.star-row{align-items:center;gap:5px;min-height:20px;display:flex}.star-mark{filter:drop-shadow(0 0 1px #f6cd5b9e);background:#efc75c38;width:15px;height:15px;display:block}.star-mark.filled{background:linear-gradient(#fff0aa,#d59a32)}.companion-management{grid-template-columns:1fr;gap:8px;display:grid}.companion-ledger{background:linear-gradient(90deg,#ffffff0a,#0000 54%),#090c0b94;border:1px solid #dca44961;border-radius:7px;padding:7px 10px;display:grid;box-shadow:inset 0 0 0 1px #ffffff0d}.ledger-row,.companion-assignment-field{grid-template-columns:106px minmax(0,1fr);align-items:center;gap:10px;min-height:32px;display:grid}.ledger-row:not(:last-child){border-bottom:1px solid #dca4492e}.ledger-row span,.companion-assignment-field span{color:#d5c09a;font-family:var(--font-display);text-transform:uppercase;font-size:12px;font-weight:900}.ledger-row strong{color:#f4ecd9;min-width:0;font-family:var(--font-display);font-size:15px;line-height:1.1}.companion-assignment-field{color:#d5c09a;margin-top:4px}.companion-assignment-field select{color:#f4ecd9;background:#141c1b;border-color:#eebf5c6b;min-height:34px}.star-upgrade-button{color:#f6d47a;min-height:62px;font-family:var(--font-display);text-align:left;text-transform:uppercase;text-shadow:0 2px 2px #0000008a;background:linear-gradient(#ffffff1f,#0000 38%),linear-gradient(145deg,#26465f,#102538);border:1px solid #f5d27e8f;border-radius:7px;grid-template-columns:42px minmax(0,1fr);place-items:center start;gap:9px;padding:10px;font-size:18px;font-weight:900;line-height:1;display:grid;box-shadow:inset 0 0 0 1px #ffffff1c,inset 0 -18px 28px #00000047}.star-upgrade-button:hover:not(:disabled){background:linear-gradient(#ffffff26,#0000 38%),linear-gradient(145deg,#315976,#13324c);border-color:#ffe28d}.star-button-medallion{background:radial-gradient(circle at 32% 25%,#ffffff47,#0000 24%),linear-gradient(145deg,#536c82,#11191f);border:1px solid #f5d27e9e;border-radius:50%;width:42px;height:42px;display:block;position:relative;box-shadow:inset 0 0 0 4px #00000057}.star-button-medallion:before{content:"";background:linear-gradient(#fff0a8,#d59a32);position:absolute;inset:8px}.companion-level-actions{background:#080a0973;border:1px solid #dca4495c;border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:7px;display:grid}.level-upgrade-button{color:#f5ead1;min-height:62px;font-family:var(--font-display);text-shadow:0 2px 2px #0000007a;border:1px solid #f5d27e6b;border-radius:6px;align-content:center;gap:5px;padding:8px;display:grid;box-shadow:inset 0 0 0 1px #ffffff17,inset 0 -16px 24px #0000003d}.level-upgrade-button span{color:#f4d98d;font-size:15px;font-weight:900}.level-upgrade-button strong{color:#fff4df;font-size:23px;line-height:1}.upgrade-tier-1{background:linear-gradient(#ffffff1a,#0000 42%),linear-gradient(145deg,#2e5a31,#17311d)}.upgrade-tier-10{background:linear-gradient(#ffffff1a,#0000 42%),linear-gradient(145deg,#284b65,#142d40)}.upgrade-tier-100{background:linear-gradient(#ffffff1a,#0000 42%),linear-gradient(145deg,#4c2e5d,#2a1a35)}.companion-portrait{border:1px solid var(--line-strong);width:58px;height:58px;color:var(--gold-bright);background:#202a27;border-radius:8px;place-items:center;font-weight:900;display:grid}.companion-portrait.rarity-common{background:linear-gradient(145deg,#3e5236,#1c2720);border-color:#91a66f}.companion-portrait.rarity-rare{background:linear-gradient(145deg,#31577c,#1b2834);border-color:#7ba4c7}.companion-portrait.rarity-epic{background:linear-gradient(145deg,#61458a,#241d31);border-color:#ae91d0}.companion-portrait.rarity-mythic{background:linear-gradient(145deg,#8e5418,#2b2116);border-color:#daa757}.companion-portrait.rarity-ancient{background:linear-gradient(145deg,#874343,#2a1c22);border-color:#c98383}.companion-portrait.rarity-celestial{background:linear-gradient(145deg,#8b7d33,#292519);border-color:#f0df8f}.rarity-tag{min-height:28px;font-family:var(--font-display);letter-spacing:0;text-transform:uppercase;border-radius:4px;place-items:center;line-height:1;display:inline-grid}.rarity-tag.common{color:#e7f0c8;background:linear-gradient(#3b4637,#242d27);border-color:#b9c58f}.rarity-tag.rare{color:#dcefff;background:linear-gradient(#294661,#1d2e3d);border-color:#8ebce0}.rarity-tag.epic{color:#f0ddff;background:linear-gradient(#49335e,#2d2237);border-color:#c2a0e5}.rarity-tag.mythic{color:#ffe7b7;background:linear-gradient(#704515,#392719);border-color:#f0bd65}.rarity-tag.ancient{color:#ffd7cf;background:linear-gradient(#613235,#382023);border-color:#e29b8d}.rarity-tag.celestial{color:#fff7c9;background:linear-gradient(#685f23,#38331d);border-color:#f5e79e}.summon-command-layout,.summon-layout{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:12px;display:grid}.summon-command-layout{grid-template-columns:minmax(0,1fr) 420px;align-items:stretch}.summon-reference-layout{grid-template-columns:1fr}.summon-banner-panel,.summon-odds-panel,.summon-pool-panel,.summon-results-panel,.summon-result-card{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);box-shadow:var(--shadow);border-radius:8px}.summon-banner-panel,.summon-odds-panel,.summon-pool-panel,.summon-results-panel{align-content:start;gap:16px;padding:16px;display:grid}.summon-hero-card{min-height:294px;color:var(--text);background:linear-gradient(135deg,#38a58a2e,#0000 42%),radial-gradient(circle at 18% 24%,#f1c76b33,#0000 32%),linear-gradient(145deg,#171d1c,#101514 58%,#251c17);border-color:#d9a44194;grid-template-columns:176px minmax(0,1fr);align-items:center;position:relative;overflow:hidden}.summon-results-dock{grid-template-rows:auto minmax(0,1fr);min-height:294px;max-height:420px;overflow:hidden}.summon-hero-card:after{background:linear-gradient(90deg, var(--teal), var(--gold), var(--red));content:"";height:3px;position:absolute;inset:auto 0 0}.summon-sigil{aspect-ratio:1;background:repeating-conic-gradient(from 12deg,#f1c76b52 0deg 8deg,#0000 8deg 18deg),radial-gradient(circle,#38a58a52 0 18%,#0000 19% 100%),#121817;border:2px solid #f1c76ba3;border-radius:50%;justify-self:center;place-items:center;width:min(100%,156px);display:grid;position:relative;box-shadow:inset 0 0 0 12px #111614d1,inset 0 0 0 18px #f1c76b2e,0 18px 38px #00000052}.summon-sigil:before,.summon-sigil:after{content:"";border-radius:50%;position:absolute}.summon-sigil:before{border:1px dashed #f6eac69e;inset:26px}.summon-sigil:after{border:1px solid #38a58ab8;inset:48px}.summon-sigil-core{aspect-ratio:1;background:linear-gradient(135deg,#f1c76beb,#38a58ab8);border:1px solid #f6eac6d1;border-radius:50%;width:42px;box-shadow:0 0 28px #f1c76b75}.summon-hero-content{z-index:1;gap:16px;display:grid;position:relative}.summon-banner-panel h3,.summon-odds-panel h3,.summon-pool-panel h3,.summon-results-panel h3,.summon-result-card h4{margin:0}.summon-hero-card h3{color:#ffe2a2;font-size:34px;line-height:1}.summon-banner-panel p{max-width:620px;color:var(--text-muted);margin:8px 0 0;line-height:1.45}.summon-wallet-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.summon-wallet-grid div{background:#f6eac614;border:1px solid #f6eac629;border-radius:6px;min-height:68px;padding:10px}.summon-wallet-grid dt{color:var(--text-muted)}.summon-wallet-grid dd{color:#fff0c6}.summon-actions{grid-template-columns:repeat(2,minmax(0,178px));gap:10px;display:grid}.summon-action-button{text-align:center;place-items:center;gap:2px;min-height:58px;display:grid}.summon-action-button small{opacity:.78;font-size:12px}.summon-panel-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.summon-panel-header>strong,.summon-result-summary{color:#145b4a;background:#38a58a21;border:1px solid #38a58a52;border-radius:6px;padding:7px 9px;font-weight:900}.summon-result-summary{text-align:right;gap:2px;display:grid}.summon-result-summary span{color:var(--ink-soft);font-size:12px}.summon-odds-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.summon-odds-card{background:#fffcee94;border:1px solid #75643f4d;border-radius:6px;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:6px 9px;padding:10px;display:grid}.summon-odds-card>small{color:var(--ink-soft);grid-column:2/-1;font-size:11px;font-weight:800}.summon-odds-card strong,.summon-odds-card small{display:block}.summon-odds-card div small{color:var(--ink-soft);font-size:11px;font-weight:800}.summon-odds-card>span:last-of-type{color:#164f44;font-weight:900}.summon-odds-card.rarity-rare,.summon-pool-row.rarity-rare{border-color:#5e8dc96b}.summon-odds-card.rarity-epic,.summon-pool-row.rarity-epic{border-color:#8b6fc27a}.summon-odds-card.rarity-mythic,.summon-pool-row.rarity-mythic{border-color:#d9a4418a}.summon-odds-card.rarity-ancient,.summon-pool-row.rarity-ancient{border-color:#c553587a}.summon-pool-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;display:grid}.summon-pool-row{background:#fffcee9e;border:1px solid #75643f47;border-radius:6px;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;display:grid}.summon-pool-copy strong,.summon-pool-copy small,.summon-pool-meta strong,.summon-pool-meta small{display:block}.summon-pool-copy small,.summon-pool-meta small{color:var(--ink-soft);font-size:12px;font-weight:800}.summon-pool-meta{text-align:right;justify-items:end;gap:3px;min-width:86px;display:grid}.summon-pool-meta strong{color:#164f44;font-weight:900}.rarity-dot{background:#91a66f;border-radius:50%;width:12px;height:12px;display:block}.rarity-dot.common{background:#91a66f}.rarity-dot.rare{background:#4f8dbb}.rarity-dot.epic{background:#8a5dc2}.rarity-dot.mythic{background:#d89b39}.rarity-dot.ancient,.rarity-dot.celestial{background:#c76565}.summon-result-grid{grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:10px;display:grid}.summon-results-dock .summon-result-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;min-height:0;padding-right:3px;overflow:auto}.summon-result-card{align-content:start;gap:10px;min-height:260px;padding:12px;display:grid;position:relative;overflow:hidden}.summon-results-dock .summon-result-card{grid-template-columns:42px minmax(0,1fr);gap:8px;min-height:0;padding:10px}.summon-result-card:before{background:var(--green);content:"";height:4px;position:absolute;inset:0 0 auto}.summon-result-card .companion-portrait{width:64px;height:64px}.summon-results-dock .summon-result-card .companion-portrait{width:42px;height:42px;font-size:13px}.summon-result-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.summon-results-dock .summon-result-top{grid-row:1/span 2;justify-items:center;gap:4px;display:grid}.summon-result-top>span{color:var(--ink-soft);background:#fffceeb8;border:1px solid #75643f52;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:900}.summon-results-dock .summon-result-top>span{padding:2px 5px;font-size:10px}.summon-results-dock .summon-result-card>div:not(.summon-result-top){min-width:0}.summon-results-dock .summon-result-card h4{color:var(--ink);font-size:15px;line-height:1.05}.summon-results-dock .summon-result-card .eyebrow{margin-bottom:3px;font-size:10px}.summon-results-dock .summon-result-card .rarity-tag{margin-top:6px;font-size:10px}.summon-result-card dl{gap:8px;display:grid}.summon-results-dock .summon-result-card dl{grid-column:2;display:block}.summon-result-card dl div{background:#fffcee8a;border:1px solid #75643f3d;border-radius:6px;padding:8px}.summon-results-dock .summon-result-card dl div{display:none}.summon-results-dock .summon-result-card dl div:nth-child(2){background:0 0;border:0;padding:0;display:block}.summon-results-dock .summon-result-card dl dt{display:none}.summon-results-dock .summon-result-card dl dd{color:var(--ink-soft);margin:0;font-size:11px;line-height:1.25}.summon-result-card .rarity-tag{margin-top:8px}.summon-result-card.rarity-rare{border-color:#7ba4c7}.summon-result-card.rarity-rare:before{background:var(--blue)}.summon-result-card.rarity-epic{border-color:#ae91d0}.summon-result-card.rarity-epic:before{background:var(--violet)}.summon-result-card.rarity-mythic{border-color:#daa757}.summon-result-card.rarity-mythic:before{background:var(--gold)}.summon-result-card.rarity-ancient{border-color:#c98383}.summon-result-card.rarity-ancient:before{background:var(--red)}.summon-result-card.rarity-celestial{border-color:#f0df8f}.summon-result-card.rarity-celestial:before{background:#f0df8f}.adventure-panel{grid-template-columns:minmax(0,1fr) 320px;gap:10px;display:grid}.stage-card,.adventure-side{padding:16px}.stage-card{gap:16px;display:grid}.battle-scene{background:linear-gradient(#315b911f,#0000),#d9c385;border:1px solid #8e6b35;border-radius:8px;grid-template-columns:112px minmax(0,1fr) 112px;align-items:center;gap:12px;min-height:140px;padding:14px;display:grid}.party-side,.enemy-side{justify-content:center;align-items:center;gap:8px;display:flex}.unit-token,.enemy-sigil{border-radius:8px;place-items:center;width:48px;height:48px;font-weight:900;display:grid}.unit-token{border:1px solid var(--teal-dark);color:#d9fff0;background:#1f6e5b}.companion-unit{background:#31577c;border-color:#7ba4c7}.enemy-sigil{color:#ffe4db;background:#8c323d;border:1px solid #9c3f49}.battle-lane{background:#8e6b35;border-radius:999px;height:8px;overflow:hidden}.battle-lane span{background:linear-gradient(90deg, var(--teal), var(--gold));width:60%;height:100%;display:block}.stage-card p:not(.eyebrow),.adventure-side p{color:var(--ink-soft);line-height:1.45}.stage-meter{background:#bfa46a;border:1px solid #75643f;border-radius:6px;height:15px;overflow:hidden}.stage-meter span{border-radius:inherit;background:linear-gradient(90deg, var(--teal-dark), var(--teal), var(--gold));height:100%;display:block}.button-row{flex-wrap:wrap;gap:10px;display:flex}.button-row .primary-button,.button-row .ghost-button{min-width:118px}.inventory-toolbar{border:1px solid var(--line);box-shadow:var(--shadow);background:#19231f;border-radius:8px;gap:12px;padding:14px;display:grid}.inventory-tabs{flex-wrap:wrap;gap:8px;display:flex}.inventory-tabs button{border:1px solid var(--line);min-height:38px;color:var(--text-muted);background:#202a27;border-radius:6px;padding:0 11px;font-weight:900}.inventory-tabs button.active,.inventory-tabs button:hover{border-color:var(--gold);color:var(--gold-bright)}.inventory-controls{grid-template-columns:minmax(0,1fr) 180px;gap:12px;display:grid}.inventory-toolbar label{color:var(--text-muted)}.inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.item-card{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:64px minmax(0,1fr);gap:14px;padding:14px;display:grid}.item-icon{width:64px;height:64px;color:var(--gold-bright);background:linear-gradient(145deg,#4f5c4a,#202a27);border:1px solid #8e6b35;border-radius:8px;place-items:center;font-weight:900;display:grid}.item-card.rarity-rare .item-icon{background:linear-gradient(145deg,#31577c,#1b2834);border-color:#7ba4c7}.item-card.rarity-epic .item-icon{background:linear-gradient(145deg,#61458a,#241d31);border-color:#ae91d0}.item-card.rarity-mythic .item-icon,.item-card.rarity-ancient .item-icon,.item-card.rarity-celestial .item-icon{background:linear-gradient(145deg,#8e5418,#2b2116);border-color:#daa757}.item-body{gap:10px;display:grid}.item-heading{justify-content:space-between;gap:12px;display:flex}.item-heading h3{margin-bottom:5px}.item-heading span{color:var(--ink-soft);text-transform:uppercase;font-size:12px;font-weight:900}.item-heading strong{color:#174f3f;white-space:nowrap}.item-card p{color:var(--ink-soft);margin:0;line-height:1.45}.empty-state{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);text-align:center;border-radius:8px;grid-column:1/-1;padding:22px}.empty-state p{color:var(--ink-soft)}.pagination-row{color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;display:flex}.pagination-row span{font-weight:900}.admin-layout{grid-template-columns:340px minmax(0,1fr);gap:12px;display:grid}.admin-player-panel,.admin-detail-panel,.admin-summary-card,.admin-editor-card,.admin-inventory-panel{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);box-shadow:var(--shadow);border-radius:8px}.admin-player-panel,.admin-detail-panel,.admin-editor-card,.admin-inventory-panel{align-content:start;gap:14px;padding:16px;display:grid}.admin-player-panel h3,.admin-summary-card h3,.admin-editor-card h3,.admin-inventory-panel h3{margin:0}.admin-search,.admin-inventory-tools{gap:10px;display:grid}.admin-search{grid-template-columns:minmax(0,1fr) auto}.admin-player-list{gap:8px;display:grid}.admin-player-list button{color:var(--ink);text-align:left;background:#fffcee9e;border:1px solid #75643f52;border-radius:8px;gap:5px;padding:10px;display:grid}.admin-player-list button.active,.admin-player-list button:hover{border-color:var(--teal-dark);background:#ddf3e6b8}.admin-player-list span,.admin-summary-card span,.admin-inventory-row span{color:var(--ink-soft);font-size:12px;line-height:1.35}.admin-summary-card{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px;display:grid}.admin-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-inventory-tools{grid-template-columns:repeat(3,minmax(0,1fr)) auto auto;align-items:end}.admin-inventory-list{gap:8px;display:grid}.admin-inventory-row{background:#fffcee9e;border:1px solid #75643f47;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px;display:grid}.admin-inventory-row strong,.admin-inventory-row span{display:block}.profile-panel{align-items:center;gap:16px;display:flex}.avatar-frame{border:1px solid var(--gold);width:72px;height:72px;color:var(--gold-bright);background:#202a27;border-radius:8px;flex:none;place-items:center;font-size:32px;font-weight:900;display:grid}.profile-hero-card,.profile-editor-card,.profile-stat-card{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);box-shadow:var(--shadow);border-radius:8px}.profile-hero-card{grid-template-columns:128px minmax(0,1fr) minmax(320px,.9fr);align-items:center;gap:16px;padding:16px;display:grid}.profile-avatar-frame{border:1px solid var(--gold);background:#101513;border-radius:8px;width:128px;height:128px;overflow:hidden;box-shadow:inset 0 0 0 4px #00000047,0 12px 24px #0000003d}.profile-avatar-frame img{object-fit:cover;width:100%;height:100%;display:block}.profile-hero-copy{min-width:0}.profile-hero-copy h3{color:var(--ink);margin:0;font-size:34px;line-height:1}.profile-hero-copy span,.profile-hero-copy p{color:var(--ink-soft);overflow-wrap:anywhere;margin:8px 0 0;font-weight:900;display:block}.profile-hero-copy p{font-weight:700}.profile-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.profile-hero-stats div,.profile-stat-card dl div{background:#fffceea3;border:1px solid #75643f4d;border-radius:8px;gap:4px;min-width:0;padding:10px;display:grid}.profile-hero-stats dd,.profile-stat-card dd{overflow-wrap:anywhere;min-width:0}.profile-layout{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:12px;display:grid}.profile-editor-card,.profile-stat-card{align-content:start;gap:14px;padding:16px;display:grid}.profile-editor-card h3,.profile-stat-card h3{margin:0}.profile-avatar-picker{gap:8px;display:grid}.profile-avatar-picker>span{color:var(--ink-soft);font-size:14px;font-weight:800}.profile-avatar-picker>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.profile-avatar-picker button{color:var(--ink);background:#fffcee9e;border:1px solid #75643f5c;border-radius:8px;justify-items:center;gap:7px;padding:8px;display:grid}.profile-avatar-picker button.active{border-color:var(--teal-dark);background:#ddf3e6c7}.profile-avatar-picker img{object-fit:cover;border:1px solid #8e6b35;border-radius:8px;width:74px;height:74px}.profile-avatar-picker strong{font-size:13px}.profile-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.profile-stat-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.profile-fellowship-card{grid-column:1/-1}.profile-rarity-row{flex-wrap:wrap;gap:7px;display:flex}.profile-strongest-companion{background:#fffceea3;border:1px solid #75643f4d;border-radius:8px;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.profile-strongest-companion span:not(.companion-portrait),.profile-strongest-companion small{color:var(--ink-soft);text-transform:uppercase;font-size:12px;font-weight:900;display:block}.profile-strongest-companion strong{color:var(--ink);margin:3px 0;font-size:18px;display:block}.profile-strongest-companion small{text-transform:none;font-weight:700}@media (width<=980px){.app-shell{grid-template-columns:1fr}.auth-screen{grid-template-columns:1fr;padding:24px}.auth-copy h1{font-size:52px}.sidebar{z-index:100;border-right:0;border-bottom:1px solid var(--line);grid-template-rows:auto auto;padding:14px;position:sticky;top:0;box-shadow:0 10px 28px #00000057}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar>.ghost-button{display:none}.resource-belt,.metrics-grid,.action-grid,.companion-grid,.inventory-grid,.quest-list,.realm-board{grid-template-columns:repeat(2,minmax(0,1fr))}.building-list{grid-template-columns:1fr}.world-route-panel{grid-column:1/-1}.summon-command-layout,.summon-layout{grid-template-columns:1fr}.summon-hero-card{grid-template-columns:160px minmax(0,1fr)}.summon-results-dock{max-height:none;overflow:visible}.summon-results-dock .summon-result-grid{padding-right:0;overflow:visible}.companion-toolbar,.summon-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-layout,.admin-editor-grid,.admin-inventory-tools,.adventure-panel,.home-command-grid,.home-quest-row,.home-quest-body{grid-template-columns:1fr}.home-quest-side{grid-template-columns:minmax(0,1fr) auto;place-items:center stretch}.home-quest-side span{text-align:left}.home-quest-side .primary-button{width:auto}.profile-hero-card{grid-template-columns:112px minmax(0,1fr)}.profile-hero-stats{grid-column:1/-1}.profile-layout{grid-template-columns:1fr}}@media (width<=620px){.content-shell{padding:14px}.view-header,.building-row,.profile-panel{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.resource-belt,.building-list,.metrics-grid,.action-grid,.companion-grid,.companion-toolbar,.inventory-grid,.quest-list,.realm-board{grid-template-columns:1fr}.sidebar{gap:9px;padding:9px 10px 8px}.brand-block{grid-template-columns:36px minmax(0,1fr);gap:8px}.brand-mark{border-radius:7px;width:36px;height:36px;font-size:13px}.brand-block .eyebrow{display:none}.sidebar h1{font-size:16px;line-height:1}.sidebar nav{overscroll-behavior-x:contain;scrollbar-width:none;grid-template-columns:none;grid-auto-columns:max-content;grid-auto-flow:column;gap:7px;padding-bottom:2px;display:grid;overflow-x:auto}.sidebar nav::-webkit-scrollbar{display:none}.sidebar nav button{text-align:center;white-space:nowrap;min-height:36px;padding:0 10px}.profile-hero-card,.profile-dashboard,.profile-stat-card dl{grid-template-columns:1fr}.profile-hero-card{justify-items:stretch}.profile-avatar-frame{width:112px;height:112px}.profile-hero-copy h3{font-size:29px}.home-card-heading,.home-section-header,.home-quest-footer,.home-quest-side{flex-direction:column;align-items:stretch}.home-stat-row,.home-command-card:not(.home-adventure-card) .home-stat-row{grid-template-columns:1fr}.home-command-card .primary-button,.home-quest-side .primary-button{width:100%}.home-quest-side{grid-template-columns:1fr;display:grid}.home-quest-side span{text-align:left}.building-row{grid-template-columns:1fr;min-height:0}.building-art-frame,.building-art-image{height:164px;min-height:164px}.building-upgrade-actions{grid-template-rows:none;grid-template-columns:repeat(3,minmax(0,1fr))}.building-upgrade-button{min-height:44px}.summon-hero-card{grid-template-columns:1fr;min-height:0}.summon-sigil{justify-self:start;width:132px}.summon-wallet-grid,.summon-odds-grid,.summon-actions,.summon-results-dock .summon-result-grid{grid-template-columns:1fr}.summon-panel-header{flex-direction:column;align-items:stretch}.summon-result-summary{text-align:left}.summon-pool-row{grid-template-columns:14px minmax(0,1fr)}.summon-pool-meta{text-align:left;grid-column:2;justify-items:start;min-width:0}.summon-actions .primary-button{width:100%}.summon-result-grid,.admin-summary-card,.admin-inventory-row,.admin-search{grid-template-columns:1fr}.task-board-header,.quest-card-main,.quest-progress-row{flex-direction:column;align-items:stretch}.quest-card-main .primary-button{width:100%}.inventory-controls,.item-card{grid-template-columns:1fr}.item-icon{width:52px;height:52px}.world-route-panel{grid-column:auto}.battle-scene{grid-template-columns:1fr}.battle-lane{height:6px}.level-chip{grid-column:1/-1;justify-self:start}.view-header h2{font-size:27px}.button-row .primary-button,.button-row .ghost-button{width:100%}.companion-art-frame,.companion-art-image{min-height:220px}.companion-art-caption{grid-template-columns:58px minmax(0,1fr);bottom:12px;left:12px;right:12px}.companion-crest{width:58px;height:70px;font-size:20px}.companion-title-block h3{font-size:30px}.companion-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.companion-stat-tile{min-height:124px}.companion-management{grid-template-columns:1fr}.ledger-row,.companion-assignment-field{grid-template-columns:1fr;align-items:start;gap:5px;padding:7px 0}.star-upgrade-button{min-height:74px}}
