:root{--bg:#0b0d12;--panel:#141922;--text:#ffffff;--muted:#dce1ec;--accent:#74e4ff;--focus:#ffd84d}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.4}header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;background:#06080f;position:sticky;top:0;border-bottom:2px solid #2e3647}header nav{display:flex;flex-wrap:wrap;gap:.6rem}.brand{color:var(--text);font-weight:800;text-decoration:none}.protected-nav[hidden]{display:none}.auth-message{border-color:var(--focus)}main{padding:1rem;max-width:1240px;margin:0 auto}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card{background:var(--panel);padding:1rem;border-radius:12px;border:2px solid #2b3345}input,button,select,textarea{font-size:1rem;padding:.8rem;border-radius:10px;border:2px solid #404f6b;background:#0f131b;color:var(--text)}button{background:var(--accent);color:#051118;font-weight:800;min-height:52px;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.stack{display:flex;flex-direction:column;gap:.7rem}.profile-card{display:flex;gap:.75rem;align-items:center;width:100%;text-align:left;background:#0f131b;color:var(--text);border-color:#36435c}.profile-card[aria-selected='true']{border-color:var(--focus);box-shadow:0 0 0 3px rgba(255,216,77,.24)}.profile-card img{width:64px;height:64px;image-rendering:pixelated;border-radius:8px;border:2px solid #36435c}.profile-card h3,.profile-card p{margin:.1rem 0}.muted{color:var(--muted)}.household-admin-grid{grid-template-columns:minmax(260px,.9fr) minmax(320px,1.25fr) minmax(260px,.9fr)}label{display:grid;gap:.35rem;font-weight:800}

.layout-wall{max-width:1400px}
.grid-wall .card{min-height:100%}

@media (min-width: 900px) and (orientation: landscape){
body{font-size:18px}
.grid-wall{grid-template-columns:1.25fr 1fr 1fr;grid-template-areas:"profile profile profile" "daily weekly monthly"}
.wall-profile{grid-area:profile}.wall-daily{grid-area:daily}.wall-weekly{grid-area:weekly}.wall-monthly{grid-area:monthly}
}

@media (max-width: 640px){
body{font-size:17px}
header{align-items:flex-start;flex-direction:column}
main{padding:.8rem}
.grid{grid-template-columns:1fr}
button{width:100%}
input,select,textarea{width:100%}
}

@media (prefers-reduced-motion: reduce){
*,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
}
.avatar-picker{display:grid;gap:.7rem;justify-items:start}
.avatar-preview{width:96px;height:96px;image-rendering:pixelated;border-radius:12px;border:3px solid #36435c;background:#0f131b}
.avatar-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:.6rem;width:100%}
.asset-gallery-choice,.avatar-choice{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-height:auto;padding:.5rem;background:#0f131b;color:var(--text);border-color:#404f6b}
.asset-gallery-choice img,.avatar-choice img{width:56px;height:56px;image-rendering:pixelated;border-radius:8px;border:2px solid #36435c}
.asset-gallery-choice.selected,.avatar-choice.selected{border-color:var(--focus);box-shadow:0 0 0 2px rgba(255,216,77,.35)}
.asset-gallery-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(3,6,12,.78);backdrop-filter:blur(3px)}
.asset-gallery-overlay[hidden]{display:none}
.asset-gallery-dialog{display:flex;flex-direction:column;gap:1rem;width:min(900px,100%);max-height:min(86vh,760px);padding:1rem;background:var(--panel);border:3px solid #404f6b;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.6)}
.asset-gallery-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;position:static;padding:0;background:transparent;border:0}.asset-gallery-header h3{margin:0;font-size:1.35rem}.asset-gallery-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:52px;min-width:52px;min-height:52px;padding:.35rem;border-color:#7c5a64;background:#2a2026;color:#ffe8ec;font-size:2rem;line-height:1}.asset-gallery-close:hover{background:#3a2630;border-color:#a76a78}.asset-gallery-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.asset-gallery-filters label{display:grid;gap:.35rem;font-weight:800}.asset-gallery-grid{display:grid;gap:.6rem;width:100%;overflow:auto;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));padding:.25rem;min-height:10rem}.asset-gallery-pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;padding:.25rem 0}.asset-gallery-pagination[hidden]{display:none}.asset-gallery-pagination span{font-weight:800;min-width:8rem;text-align:center}.asset-gallery-pagination button{min-width:130px}.asset-gallery-selected-summary{margin:0;text-align:right;font-weight:800}.asset-gallery-footer{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap;padding-top:.25rem}.asset-gallery-footer button{min-width:150px;min-height:58px;padding:1rem 1.25rem}.secondary-button{background:#202838;color:var(--text);border-color:#61708d}.asset-gallery-choice,.avatar-choice{border-width:3px;touch-action:manipulation}.asset-gallery-choice.selected,.avatar-choice.selected{border-color:var(--focus);box-shadow:0 0 0 4px rgba(255,216,77,.35);background:#1a2130}.asset-gallery-choice.selected img,.avatar-choice.selected img{border-color:var(--focus)}
@media (max-width: 640px){.asset-gallery-overlay{align-items:stretch;padding:.6rem}.asset-gallery-dialog{max-height:calc(100vh - 1.2rem)}.asset-gallery-pagination{display:grid;grid-template-columns:1fr;justify-items:stretch}.asset-gallery-pagination button{width:100%}.asset-gallery-footer{display:grid;grid-template-columns:1fr}.asset-gallery-footer button{width:100%}}
.visual-picker{display:grid;gap:.7rem;justify-items:start}
.asset-preview{width:96px;height:96px;object-fit:contain;image-rendering:pixelated;border-radius:12px;border:3px solid #36435c;background:#0f131b}
.store-item-visual{width:64px;height:64px;object-fit:contain;image-rendering:pixelated;border-radius:8px;border:2px solid #36435c;background:#0f131b;float:right;margin-left:.75rem}.store-card{display:grid;gap:.85rem;align-items:start;min-height:100%;}.store-catalog-visual{float:none;margin:0 auto;width:132px;height:132px;border-width:3px;border-color:var(--focus);border-radius:16px;background:#080b12}.store-card-body h3{margin-top:0}.shop-member-label{display:grid;gap:.4rem;margin:.75rem 0;font-weight:800}.shop-member-label select{max-width:32rem}
.dashboard-tabs{display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0}.dashboard-tabs button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:.75rem 1rem;border:2px solid #3d4960;border-radius:999px;background:#111824;color:var(--text);font-weight:800;text-decoration:none}.dashboard-tabs button[aria-selected='true']{border-color:var(--focus);box-shadow:0 0 0 4px rgba(255,216,77,.18);background:#1a2130}.dashboard-tabs button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.dashboard-panel[hidden]{display:none}.party-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.party-member-card{display:grid;gap:1rem;padding:1rem;border:3px solid #3d4960;border-radius:18px;background:#0d121c;box-shadow:0 10px 28px rgba(0,0,0,.25)}.party-member-hero{display:flex;align-items:center;gap:1rem}.party-avatar{width:104px;height:104px;object-fit:contain;image-rendering:pixelated;border:3px solid var(--focus);border-radius:18px;background:#06080f}.party-member-card h3{margin:0;font-size:1.7rem}.party-member-card h4{margin:0;font-size:1.15rem}.party-title{margin:.2rem 0;color:var(--focus);font-weight:800}.party-vitals{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.party-vitals span,.party-stats span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:.55rem;border:2px solid #42506a;border-radius:12px;background:#151d2b;font-weight:800;text-align:center}.party-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.55rem}.party-status-summary{margin:0;padding:.75rem;border-left:5px solid var(--accent);background:#111824;font-weight:700}.party-quests{display:grid;gap:.65rem;list-style:none;margin:0;padding:0}.party-quest{display:flex;gap:.75rem;align-items:center;min-height:78px;padding:.75rem;border:2px solid #344159;border-radius:14px;background:#151d2b}.party-quest p{margin:.2rem 0}.party-quest-visual{width:64px;height:64px;flex:0 0 auto;object-fit:contain;image-rendering:pixelated;border:2px solid #50607d;border-radius:10px;background:#080b12}
@media (min-width: 900px) and (orientation: landscape){.grid-wall{grid-template-columns:1.25fr 1fr 1fr;grid-template-areas:"profile profile profile" "party party party" "daily weekly monthly"}.wall-party{grid-area:party}.party-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}}
@media (max-width: 640px){.dashboard-tabs{display:grid;grid-template-columns:repeat(2,1fr)}.dashboard-tabs button{width:100%}.party-member-hero{align-items:flex-start}.party-avatar{width:86px;height:86px}.party-vitals{grid-template-columns:1fr}.party-quest{align-items:flex-start}.party-member-card h3{font-size:1.4rem}}

.household-quest-group{display:grid;gap:.65rem;margin:.75rem 0;padding:.75rem;border:2px dashed #3d4960;border-radius:14px;background:#101722}.household-quest-group h3{margin:0;color:var(--focus)}.household-quest-member-group{display:grid;gap:.5rem;padding:.55rem;border:1px solid #2f3a50;border-radius:12px;background:#0c121c}.household-quest-member-group h4{margin:0;color:#dfe7f5}.quest-type-badge,.quest-count{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:.15rem .5rem;border:2px solid #50607d;border-radius:999px;background:#172033;color:var(--text);font-weight:900}.quest-count{margin-left:.35rem;min-width:32px}.dashboard-quest-card{display:flex;gap:.75rem;align-items:flex-start}.dashboard-quest-mandatory{border-color:var(--danger)}.dashboard-quest-side{border-color:var(--accent)}.dashboard-quest-other{border-color:#61708d}.dashboard-quest-card .store-item-visual{float:none;flex:0 0 auto;margin:0}.dashboard-quest-card p{margin:.25rem 0}
@media (max-width: 640px){.dashboard-quest-card{flex-direction:column}.dashboard-quest-card .store-item-visual{width:80px;height:80px}}
.party-history-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-align:center;min-height:48px;padding:.65rem .85rem;border:2px solid #61708d;border-radius:12px;font-weight:800}
.purchase-history-drawer{position:fixed;top:0;right:0;z-index:20;display:grid;align-content:start;gap:1rem;width:min(440px,100vw);height:100vh;overflow:auto;padding:1rem;background:#0d121c;border-left:4px solid var(--focus);box-shadow:-18px 0 48px rgba(0,0,0,.55)}
.purchase-history-drawer[hidden]{display:none}.purchase-history-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.purchase-history-drawer-header h2{margin:0}.purchase-history-item{display:flex;gap:.85rem;align-items:flex-start;margin:.5rem 0}.purchase-history-item p{margin:.25rem 0}.purchase-history-visual{float:none;flex:0 0 auto;margin:0}
@media (max-width: 640px){.purchase-history-drawer{width:100vw;border-left:0;border-top:4px solid var(--focus)}.purchase-history-drawer-header{align-items:flex-start;flex-direction:column}.purchase-history-drawer-header button{width:100%}}

.dashboard-card-spaced{margin:.5rem 0}
.party-member-card[role='option']{cursor:pointer;touch-action:manipulation}.party-member-card[role='option']:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.party-member-card[aria-selected='true']{border-color:var(--focus);box-shadow:0 0 0 4px rgba(255,216,77,.28),0 10px 28px rgba(0,0,0,.25);background:#141b28}.party-member-card[aria-selected='true']::before{content:'Selected hero';display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.2rem .65rem;border:2px solid var(--focus);border-radius:999px;background:#231f0d;color:var(--focus);font-weight:900;justify-self:start}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon-nav{display:flex;align-items:center;gap:.55rem}.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;min-height:52px;padding:.35rem;border:2px solid #344159;border-radius:14px;background:#111824;color:var(--text);text-decoration:none}.nav-icon:hover,.nav-icon[aria-current='page']{border-color:var(--focus);box-shadow:0 0 0 3px rgba(255,216,77,.16)}.nav-icon img{display:block;width:34px;height:34px;object-fit:contain;image-rendering:pixelated}.nav-icon[hidden]{display:none}.settings-panel[hidden]{display:none}.settings-panel{display:block}.settings-tabs{position:sticky;top:82px;z-index:5;padding:.5rem 0;background:linear-gradient(180deg,var(--bg) 80%,rgba(11,13,18,0))}@media (max-width:640px){.site-header{align-items:flex-start}.icon-nav{margin-left:auto}.nav-icon{width:46px;height:46px;min-height:46px}.nav-icon img{width:30px;height:30px}.settings-tabs{top:74px}}
:root{--danger:#ff6b6b;--gold:#ffd84d;--ember:#ff8b3d}.dashboard-board{max-width:1720px}.dashboard-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.dashboard-title-row h1{margin:.2rem 0;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:.06em;text-transform:uppercase;color:var(--gold);text-shadow:0 0 18px rgba(255,216,77,.28)}.dashboard-store-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:52px;padding:.8rem 1rem;border:2px solid #61708d;border-radius:10px;font-weight:900}.dashboard-active-hero{margin-bottom:1rem;border-color:#4e5d78;background:linear-gradient(135deg,#141922,#111824)}.dashboard-active-hero h2,.dashboard-trending-panel h2,.dashboard-questboard h2,.wall-party h2{margin-top:0;color:var(--gold);letter-spacing:.04em;text-transform:uppercase}.dashboard-active-hero .auth-message{margin:.75rem 0 0;padding:.65rem;border:2px solid #6f6330;border-radius:10px;background:#171508}#partyMembers{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}#partyMembers .party-member-card{grid-template-columns:1fr;gap:.65rem;padding:.85rem}#partyMembers .party-avatar{width:82px;height:82px}#partyMembers .party-member-card h3{font-size:1.35rem}#partyMembers .party-stats,#partyMembers .party-quests,#partyMembers .party-status-summary,#partyMembers .party-history-link,#partyMembers h4{display:none}.dashboard-questboard{margin-top:1rem}.questboard-grid{align-items:start}.questboard-grid>.card{background:rgba(20,25,34,.88);border-color:#3d4960}.questboard-grid h3{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-top:0;color:var(--gold);text-transform:uppercase;letter-spacing:.04em}.questboard-grid h3 .muted{font-size:.8em;text-transform:none;letter-spacing:0}.dashboard-trending-panel{margin-top:1rem;border-color:#5d466d;background:linear-gradient(135deg,#171321,#111824)}.dashboard-trending-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.dashboard-trending-grid .store-card{min-height:100%;border-color:#684d7c;background:#12101b}.dashboard-trending-grid .store-card h3{color:var(--gold)}.dashboard-trending-grid .store-catalog-visual{width:104px;height:104px}.dashboard-trending-grid .store-card-body p:nth-of-type(n+3){font-size:.9rem}.dashboard-board>.dashboard-tabs{display:none}@media (min-width:1100px){.dashboard-board{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(320px,.85fr);grid-template-areas:"title title" "compat compat" "profile trending" "party trending" "quests quests";gap:1rem}.dashboard-title-row{grid-area:title;margin-bottom:0}.dashboard-board>#dashboardCompatibility{grid-area:compat}.dashboard-active-hero{grid-area:profile;margin-bottom:0}.wall-party{grid-area:party}.dashboard-questboard{grid-area:quests;margin-top:0}.dashboard-trending-panel{grid-area:trending;margin-top:0}.questboard-grid{grid-template-columns:1.2fr 1fr 1fr}}@media (max-width:900px){.dashboard-title-row{align-items:flex-start;flex-direction:column}.dashboard-store-link{width:100%}#partyMembers{grid-template-columns:1fr}.dashboard-trending-grid{grid-template-columns:1fr}}

/* Compact dashboard layout for tablet and phone wall-board views. */
.dashboard-title-row{margin-bottom:.6rem}
.dashboard-title-row p{margin:.25rem 0 0}
.dashboard-active-hero{display:none}
.wall-party{padding:.75rem}
.wall-party h2,.dashboard-questboard h2,.dashboard-trending-panel h2{margin-bottom:.35rem}
.wall-party>.muted,.dashboard-trending-panel>.muted{margin:.25rem 0}
.active-member-prompt{display:inline-flex;align-items:center;min-height:32px;margin:.25rem 0 .65rem;padding:.2rem .55rem;border:2px solid #6f6330;border-radius:999px;background:#171508;color:var(--focus);font-weight:900}
#partyMembers.party-grid{display:flex;grid-template-columns:none;gap:.75rem;overflow-x:auto;overscroll-behavior-inline:contain;padding:.25rem .15rem .55rem;scroll-snap-type:x proximity}
#partyMembers .party-member-card{position:relative;flex:0 0 clamp(142px,18vw,190px);display:grid;grid-template-columns:1fr;justify-items:center;gap:.35rem;min-height:0;padding:.65rem .5rem;text-align:center;scroll-snap-align:start}
#partyMembers .party-member-hero{display:grid;justify-items:center;gap:.35rem}
#partyMembers .party-member-hero>div{display:grid;gap:.1rem;justify-items:center}
#partyMembers .party-avatar{width:clamp(58px,7vw,78px);height:clamp(58px,7vw,78px)}
#partyMembers .party-member-card h3{margin:.05rem 0;font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.1}
#partyMembers .party-title,#partyMembers .party-member-card p{margin:.05rem 0;font-size:.82rem}
#partyMembers .party-vitals{display:flex;gap:.35rem;justify-content:center;flex-wrap:wrap}
#partyMembers .party-vitals span{min-height:30px;padding:.15rem .35rem;font-size:.82rem}
#partyMembers .party-member-card[aria-selected='true']{border-color:var(--focus);box-shadow:0 0 0 4px rgba(255,216,77,.35),0 0 18px rgba(255,216,77,.18);background:#151d2b}
#partyMembers .party-member-card[aria-selected='true']::before{content:'';position:absolute;inset:.25rem;border:2px dashed var(--focus);border-radius:10px;pointer-events:none;min-height:0;padding:0;background:transparent}
.questboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.questboard-grid>.card{padding:.75rem}
.dashboard-quest-card{gap:.5rem;padding:.65rem}
.dashboard-quest-card p{margin:.15rem 0;font-size:.9rem}
.dashboard-quest-card button{min-height:44px;padding:.55rem .7rem}
.dashboard-quest-card .store-item-visual{width:64px;height:64px}
.dashboard-trending-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem}
.dashboard-trending-grid .store-card{padding:.65rem}
.dashboard-trending-grid .store-catalog-visual{width:72px;height:72px}
.dashboard-trending-grid .store-card h3{margin:.1rem 0;font-size:1.05rem}
.dashboard-trending-grid .store-card p{margin:.15rem 0;font-size:.85rem}
.dashboard-trending-grid .store-card button{min-height:44px;padding:.55rem .7rem}
@media (min-width:900px){
  .dashboard-board{display:grid;grid-template-columns:1fr;grid-template-areas:"title" "compat" "party" "quests" "trending";gap:.75rem}
  .dashboard-title-row{grid-area:title}
  .dashboard-board>#dashboardCompatibility{grid-area:compat}
  .wall-party{grid-area:party}
  .dashboard-questboard{grid-area:quests;margin-top:0}
  .dashboard-trending-panel{grid-area:trending;margin-top:0}
  .dashboard-active-hero{display:none}
  .dashboard-trending-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (min-width:1100px){
  .dashboard-board{grid-template-columns:1fr;grid-template-areas:"title" "compat" "party" "quests" "trending"}
  .questboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  #partyMembers.party-grid{display:flex;grid-template-columns:none}
  #partyMembers .party-member-card{flex-basis:150px}
  .questboard-grid{grid-template-columns:1fr}
  .dashboard-trending-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
  .dashboard-title-row h1{font-size:1.8rem}
  .dashboard-title-row p{font-size:.9rem}
  .dashboard-trending-grid{grid-template-columns:1fr}
}

/* Dashboard without instructional chrome. */
.active-member-prompt[hidden]{display:none}
.dashboard-rewardboard{margin-top:0}
.rewardboard-grid{grid-template-columns:1fr;gap:.75rem;align-items:start}
.rewardboard-grid>.card{padding:.75rem;background:rgba(20,25,34,.88);border-color:#3d4960}
.rewardboard-grid h3{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-top:0;color:var(--gold);text-transform:uppercase;letter-spacing:.04em}
.rewardboard-grid h3 .muted{font-size:.8em;text-transform:none;letter-spacing:0}
.dashboard-trending-grid .store-card{border-color:#3d4960;background:#101722}
@media (min-width:900px){
  .dashboard-board{grid-template-areas:"compat" "party" "quests" "trending"}
  .dashboard-rewardboard{grid-area:trending;margin-top:0}
}
@media (min-width:1100px){
  .dashboard-board{grid-template-areas:"compat" "party" "quests" "trending"}
}

/* Pixel RPG character cards. */
#partyMembers.party-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));overflow:visible;gap:1rem;padding:.25rem 0;scroll-snap-type:none}
#partyMembers .party-member-card.character-card{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.9fr);align-items:center;justify-items:stretch;gap:1rem;min-height:230px;padding:1rem 1.1rem;text-align:left;overflow:hidden;border:2px solid rgba(255,216,77,.28);border-radius:20px;background:linear-gradient(135deg,rgba(12,18,34,.96),rgba(9,12,22,.92)),radial-gradient(circle at 18% 50%,rgba(82,35,101,.35),transparent 34%),linear-gradient(90deg,rgba(116,228,255,.08),transparent);box-shadow:0 18px 42px rgba(0,0,0,.42),inset 0 0 0 1px rgba(255,255,255,.04);scroll-snap-align:none}
#partyMembers .party-member-card.character-card::after{content:'';position:absolute;inset:0;z-index:-1;opacity:.42;background:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 7px),linear-gradient(90deg,rgba(116,228,255,.12),transparent 28%,rgba(255,216,77,.05));pointer-events:none}
#partyMembers .party-member-card.character-card[aria-selected='true']{border-color:var(--focus);background:linear-gradient(135deg,rgba(17,28,48,.98),rgba(12,15,27,.94));box-shadow:0 0 0 4px rgba(255,216,77,.24),0 18px 42px rgba(0,0,0,.46),0 0 28px rgba(116,228,255,.14)}
#partyMembers .party-member-card.character-card[aria-selected='true']::before{content:'';position:absolute;inset:.35rem;border:2px dashed rgba(255,216,77,.72);border-radius:16px;pointer-events:none;min-height:0;padding:0;background:transparent}
.character-card-left{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;min-width:0}
#partyMembers .party-avatar.character-avatar{width:clamp(96px,12vw,150px);height:clamp(96px,12vw,150px);object-fit:contain;padding:.35rem;border:0;border-radius:16px;background:radial-gradient(circle at 50% 60%,rgba(255,216,77,.16),rgba(5,8,15,.72) 62%);filter:drop-shadow(0 10px 0 rgba(0,0,0,.18));image-rendering:pixelated}
.character-card-main{display:grid;gap:.35rem;min-width:0}
#partyMembers .party-member-hero{display:block;justify-items:start;gap:0}
#partyMembers .party-member-hero>div{display:grid;justify-items:start;gap:.05rem}
#partyMembers .party-member-card.character-card h3{margin:0;font-size:clamp(1.55rem,3vw,2.35rem);line-height:1;font-weight:950;letter-spacing:.03em;color:#f4efe2;text-shadow:0 2px 0 #06080f,0 0 12px rgba(255,255,255,.14)}
#partyMembers .party-title{margin:0;color:#c9a85b;font-size:clamp(1rem,1.7vw,1.25rem);font-weight:900;letter-spacing:.04em}
#partyMembers .party-vitals{display:flex;justify-content:flex-start;gap:.5rem;flex-wrap:wrap}
#partyMembers .party-vitals span.party-gold{display:inline-flex;align-items:center;justify-content:flex-start;width:max-content;min-height:0;padding:0;border:0;background:transparent;color:#ffd84d;font-size:clamp(1.5rem,3vw,2.35rem);font-weight:950;text-shadow:0 0 12px rgba(255,216,77,.26)}
#partyMembers .party-vitals span.party-gold small{margin-left:.25rem;color:#aba796;font-size:.52em;font-weight:800;text-transform:lowercase;text-shadow:none}
.party-level-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.party-level-badge{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.2rem .65rem;border:2px solid rgba(255,216,77,.62);border-radius:8px;color:#ffdf69;background:rgba(44,35,12,.72);font-weight:950;letter-spacing:.05em}.party-level-progress-label{color:#b6bccd;font-size:.9rem;font-weight:800}.party-level-meter{height:13px;max-width:360px;overflow:hidden;border-radius:999px;background:rgba(49,58,78,.72);box-shadow:inset 0 0 0 2px rgba(12,16,26,.72)}.party-level-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2d79bd,#8bd7ff);box-shadow:0 0 16px rgba(116,228,255,.45)}.party-buffs{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;min-height:32px}.party-buff{display:inline-flex;align-items:center;min-height:28px;padding:.15rem .5rem;border:1px solid rgba(144,238,194,.45);border-radius:999px;background:rgba(44,88,79,.28);color:#98e9c7;font-size:.9rem;font-weight:900}.party-buff-streak{border-color:rgba(255,139,61,.5);background:rgba(100,47,18,.3);color:#ffad73}.party-buff-lucky{color:#9cf5b1}.party-buff-empty{border-color:#485267;background:rgba(20,26,38,.7);color:#aeb6c8}.party-current-quest{align-self:stretch;display:grid;align-content:center;gap:.55rem;min-width:0;padding:.9rem;border:1px solid rgba(116,228,255,.22);border-radius:16px;background:linear-gradient(135deg,rgba(14,22,38,.82),rgba(11,14,24,.68))}.party-card-label{color:#74e4ff;font-size:.75rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.party-current-quest-body{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.7rem}.party-current-quest-visual{width:68px;height:68px;object-fit:contain;image-rendering:pixelated;border:2px solid #50607d;border-radius:12px;background:#080b12}.party-current-quest strong{display:block;color:#fff;font-size:1.1rem;line-height:1.15}.party-current-quest p{margin:.16rem 0;color:#c6ccd9;font-size:.88rem}.party-current-quest-empty strong{color:#d6dbea}.party-member-card.character-card>.party-stats,.party-member-card.character-card>.party-quests,.party-member-card.character-card>.party-status-summary,.party-member-card.character-card>.party-history-link,.party-member-card.character-card>h4{display:none!important}
@media (max-width:760px){#partyMembers.party-grid{grid-template-columns:1fr}#partyMembers .party-member-card.character-card{grid-template-columns:1fr;min-height:0}.character-card-left{grid-template-columns:auto minmax(0,1fr)}.party-current-quest{align-content:start}#partyMembers .party-avatar.character-avatar{width:92px;height:92px}}
@media (max-width:480px){.character-card-left{grid-template-columns:1fr;justify-items:center;text-align:center}#partyMembers .party-member-hero>div{justify-items:center}#partyMembers .party-vitals{justify-content:center}.party-level-row,.party-buffs{justify-content:center}.party-level-meter{max-width:none;width:100%}.party-current-quest-body{grid-template-columns:1fr;justify-items:center;text-align:center}}

/* Pixel-art questboard grid: quests are board tiles, not member assignment lists. */
.dashboard-quest-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:.45rem;align-items:stretch}
.dashboard-quest-card{position:relative;display:grid;grid-template-rows:auto 1fr;gap:.35rem;min-height:132px;padding:.55rem;border:1px solid rgba(255,216,77,.26);border-radius:7px;background:linear-gradient(180deg,rgba(18,14,10,.84),rgba(8,9,13,.82));box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 8px 20px rgba(0,0,0,.25);overflow:hidden}
.dashboard-quest-card::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.05),transparent 38%,rgba(116,228,255,.05));pointer-events:none}
.dashboard-quest-mandatory{border-color:rgba(255,216,77,.34)}
.dashboard-quest-side{border-color:rgba(116,228,255,.3)}
.dashboard-quest-status-submitted,.dashboard-quest-status-approved{opacity:.72;background:linear-gradient(135deg,rgba(18,24,18,.78),rgba(6,9,10,.86))}
.dashboard-quest-status-rejected{border-color:rgba(255,139,61,.65)}
.dashboard-quest-visual-wrap{position:relative;display:flex;align-items:center;justify-content:flex-start;min-height:36px}
.dashboard-quest-visual{width:34px;height:34px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 4px 0 rgba(0,0,0,.28))}
.quest-complete-mark{position:absolute;right:.05rem;top:.05rem;display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border:1px solid rgba(144,238,194,.65);border-radius:999px;background:rgba(18,55,40,.9);color:#98e9c7;font-weight:950}
.dashboard-quest-card-body{display:grid;align-content:start;gap:.22rem;min-width:0}
.dashboard-quest-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem}
.dashboard-quest-card strong{font-size:.92rem;line-height:1.08;color:#f4efe2;text-shadow:0 1px 0 #030406}
.dashboard-quest-card p{margin:0;font-size:.72rem;line-height:1.2;color:#dce1ec}
.dashboard-quest-card .muted{display:none}
.dashboard-quest-meta{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}
.quest-reward-badge,.quest-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:.05rem .35rem;border:1px solid rgba(116,228,255,.25);border-radius:4px;background:rgba(54,29,13,.78);color:#ffd58a;font-size:.72rem;font-weight:900;white-space:nowrap}
.quest-type-badge{min-height:22px;padding:.05rem .35rem;border-width:1px;border-radius:4px;font-size:.65rem;background:rgba(31,38,56,.86)}
.dashboard-quest-card button{align-self:end;min-height:32px;width:auto;margin-top:.1rem;padding:.3rem .45rem;border-width:1px;border-radius:5px;font-size:.72rem;line-height:1;background:#74e4ff;color:#051118}
.dashboard-quest-card button:disabled{background:#314d5a;color:#d6e7ef;opacity:.68}
.household-quest-group,.household-quest-member-group{display:contents}
@media (min-width:900px){.questboard-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) minmax(0,.8fr)}.dashboard-quest-tile-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr))}.dashboard-trending-grid{grid-template-columns:repeat(auto-fill,minmax(138px,1fr))}}
@media (min-width:1200px){#partyMembers.party-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.dashboard-quest-tile-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}}
.quest-completed-by{color:#98e9c7;font-weight:800}.quest-conflict-dialog[hidden]{display:none}.quest-conflict-dialog{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem}.quest-conflict-backdrop{position:absolute;inset:0;background:rgba(2,5,12,.78);backdrop-filter:blur(3px)}.quest-conflict-card{position:relative;z-index:1;width:min(560px,100%);display:grid;gap:.85rem;box-shadow:0 24px 80px rgba(0,0,0,.58)}.quest-conflict-card h2,.quest-conflict-card p{margin:0}.quest-conflict-active-quest{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;padding:.75rem;border:1px solid rgba(116,228,255,.24);border-radius:14px;background:rgba(8,12,22,.78)}.quest-conflict-active-quest strong{display:block;font-size:1.15rem}.quest-conflict-active-quest p{color:#dce1ec}.quest-conflict-actions{display:flex;flex-wrap:wrap;gap:.6rem}.quest-conflict-actions button{flex:1 1 170px}.secondary-button{background:#1f2938;color:#dce1ec;border-color:#53617a}

.nav-icon-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  text-decoration: none;
}

.party-card-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.75rem 0;
}

.character-details-summary,
.character-title-form,
.character-history-list,
.leaderboard-list {
  display: grid;
  gap: 0.75rem;
}

.character-title-form select {
  margin-left: 0.5rem;
}

.badge-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.character-history-item {
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 0.75rem;
  padding: 0.75rem;
  background: rgba(0, 0, 0, 0.18);
}

.leaderboard-hero {
  margin-bottom: 1rem;
}

.leaderboard-entry {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.leaderboard-avatar {
  width: 64px;
  height: 64px;
  object-fit: contain;
}

.leaderboard-rank-1 {
  border-color: #ffd166;
  box-shadow: 0 0 0 2px rgba(255, 209, 102, 0.25);
}
.inline-app-notice,.inline-confirm{margin:.75rem 0;padding:.75rem;border:2px solid #50607d;border-radius:12px;background:#101722}.inline-app-notice-error{border-color:#a94444;background:#211113;color:#ffd6d6}.inline-app-notice-success{border-color:#3b7f5b;background:#102018;color:#d8ffe8}.inline-confirm{display:grid;gap:.65rem}.inline-confirm[hidden]{display:none}.inline-confirm p{margin:0}.inline-confirm label{display:grid;gap:.35rem}.inline-confirm input{max-width:18rem}.inline-confirm-actions{display:flex;gap:.5rem;flex-wrap:wrap}.reset-confirm{border-color:#a94444;background:#211113}

/* Keep checkbox controls aligned with their labels across admin forms and fieldsets. */
label:has(> input[type='checkbox']){display:flex;grid-template-columns:none;align-items:center;justify-content:flex-start;gap:.55rem;width:max-content;max-width:100%}
label:has(> input[type='checkbox']) input[type='checkbox']{flex:0 0 auto;width:1.1rem;height:1.1rem;margin:0;accent-color:#3b82f6}
.repeat-days{display:grid;gap:.55rem}.repeat-days label{font-weight:900}
.bonus-wheel-admin-card{display:grid;gap:.35rem}.bonus-wheel-admin-card h3,.bonus-wheel-admin-card p{margin:.1rem 0}.bonus-wheel-overlay{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:1rem;background:rgba(2,5,12,.82);backdrop-filter:blur(4px)}.bonus-wheel-dialog{position:relative;display:grid;justify-items:center;gap:.85rem;width:min(560px,100%);border-color:#ffd84d;background:radial-gradient(circle at 50% 0,rgba(116,228,255,.18),transparent 35%),#141922;box-shadow:0 24px 80px rgba(0,0,0,.65)}.bonus-wheel-dialog h2{margin:.1rem 0;color:#ffd84d;text-transform:uppercase;letter-spacing:.06em}.bonus-wheel-pointer{width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-top:34px solid #ffd84d;filter:drop-shadow(0 3px 0 rgba(0,0,0,.35));z-index:2}.bonus-wheel{position:relative;width:min(72vw,340px);height:min(72vw,340px);border:10px solid #8b6a2e;border-radius:50%;box-shadow:inset 0 0 0 6px rgba(255,255,255,.22),0 18px 36px rgba(0,0,0,.45);transition:transform 4.2s cubic-bezier(.12,.72,.12,1);overflow:hidden}.bonus-wheel::after{content:'';position:absolute;inset:10%;border:4px solid rgba(0,0,0,.35);border-radius:50%;pointer-events:none}.bonus-wheel-center{position:absolute;inset:38%;display:grid;place-items:center;border:4px solid #5d2b83;border-radius:50%;background:#ffd84d;color:#22102d;font-size:2rem;font-weight:950;box-shadow:0 0 0 5px rgba(0,0,0,.28)}.bonus-wheel-result{min-height:2.4rem;margin:0;text-align:center;font-weight:900}.bonus-wheel-actions{display:flex;gap:.65rem;flex-wrap:wrap;justify-content:center}.bonus-wheel-actions button{min-width:140px}
