/* Desktop-first interpretation of the approved dashboard references. */
.relay-menu .compact-nav > button {
 display:flex; align-items:center; gap:13px; width:100%; min-height:48px;
 padding:10px 13px; border:1px solid #344853; border-radius:5px;
 background:linear-gradient(115deg,#19252d,#0c151c); color:#c1d1df;
 box-shadow:inset 0 1px 0 #ffffff08,0 2px 3px #0003;
 text-align:left; font-weight:600; transition:border-color .16s,background .16s,box-shadow .16s,color .16s;
}
.relay-menu .compact-nav > button:hover:not(:disabled) {
 border-color:#78939f; background:linear-gradient(115deg,#273943,#14232d); color:#f3f7fa;
 box-shadow:inset 0 1px 0 #ffffff12,0 0 12px #99bdd416;
}
.relay-menu .compact-nav > button.selected {
 border-color:#efba52; color:#fff0cc; background:linear-gradient(110deg,#584222,#30271b);
 box-shadow:inset 3px 0 0 #ffc95e,inset 0 0 18px #d9901520,0 0 12px #e7a32b28;
}
.relay-menu .compact-nav > button:focus-visible { outline:2px solid #ffdb88; outline-offset:3px; }
.sidebar-button-icon { display:grid; place-items:center; width:88px; height:88px; flex:none; color:#9fb3c4; filter:drop-shadow(0 2px 1px #0008); }
.sidebar-button-icon img { display:block; width:88px; height:88px; object-fit:contain; border-radius:4px; }
.relay-menu .compact-nav > button { padding:6px 8px; gap:8px; }
.sidebar-button-icon svg { width:26px; height:26px; }
.selected > .sidebar-button-icon { color:#ffca63; filter:drop-shadow(0 0 5px #ffbd5060); }
.relay-menu .compact-nav .nav-heading { color:#76cce3; text-transform:uppercase; letter-spacing:.14em; font-weight:500; }
.relay-menu .compact-nav[aria-label="Utility"] { border-top:1px solid #3b4c55; padding-top:12px; }
.relay-menu .compact-nav[aria-label="Utility"] > .nav-heading { display:none; }
.relay-menu .compact-nav[aria-label="Utility"] > button:not(:hover):not(.selected) { border-color:transparent; background:transparent; box-shadow:none; }
.relay-menu #open-discord .sidebar-button-icon { color:#9aa4ff; }
.relay-menu .compact-nav .nav-level { margin-left:auto; font-size:.75rem; }
@media(prefers-reduced-motion:reduce){.relay-menu .compact-nav > button{transition:none;}}
.reduce-motion .relay-menu .compact-nav > button{transition:none;}
.skill-dashboard-header { position:relative; padding:16px; margin-bottom:16px; display:flex; gap:12px 18px; flex-wrap:wrap; align-items:center; z-index:4; }
.skill-switch-area { position:relative; flex:1 1 350px; min-width:0; }
.skill-switch-buttons { display:grid; grid-template-columns:40px minmax(0,1fr) 40px; align-items:center; gap:6px; }
.skill-switch-buttons button { min-height:48px; }
#skill-selector { display:flex; align-items:center; gap:9px; background:#192b34; color:var(--ink); border-color:var(--gold); font-weight:750; font-size:1.18rem; text-align:left; min-width:0; flex:1; }
#skill-selector img { flex:none; width:48px; height:48px; object-fit:contain; }
#previous-skill,#next-skill { font-size:1.6rem; padding:4px 13px; }
#skill-popover { position:absolute; left:46px; right:46px; top:calc(100% + 6px); width:auto; box-sizing:border-box; max-height:70vh; overflow:auto; padding:10px; border:1px solid var(--gold); border-radius:8px; background:#111f29; box-shadow:0 16px 35px #000a; z-index:30; }
.dashboard-skill-list { display:grid!important; grid-template-columns:1fr!important; gap:3px; margin:0; }
.dashboard-skill-list h3 { color:var(--muted); font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; margin:10px 6px 6px; }
.dashboard-skill-list .skill-tab { display:grid; grid-template-columns:56px minmax(0,1fr) auto; align-items:center; gap:4px 12px; padding:10px; min-height:78px; font-size:1.08rem; }
.dashboard-skill-list .skill-tab img { width:56px; height:56px; object-fit:contain; grid-row:1 / span 2; }
.dashboard-skill-list .skill-tab .nav-name { grid-column:2 / -1; align-self:end; }
.dashboard-skill-list .skill-tab .nav-level { grid-column:2; align-self:start; margin:0; }
.dashboard-skill-list .skill-tab .skill-attention { grid-column:3; grid-row:2; }
.dashboard-skill-list .skill-tab.selected { border-color:var(--gold); background:#493b20; color:#ffe4b1; }
.dashboard-skill-list .nav-name { min-width:0; flex:1; overflow-wrap:anywhere; }
.dashboard-skill-list .nav-level { flex:none; white-space:nowrap; }
.skill-attention { color:var(--gold); font-size:.7rem; min-width:20px; }
.skill-header-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
#viewed-training { flex-basis:100%; font-size:.875rem; color:var(--muted); }
#skill-boost { background:#efb955; border-color:#ffe0a0; color:#201a0e; font-weight:800; }
#dashboard-skill-progress { flex-basis:100%; min-width:0; }
#dashboard-skill-progress .xp-summary { margin:0; flex-wrap:wrap; gap:8px; }
#dashboard-skill-progress progress { flex:1; min-width:120px; }
#personal-tool-summary { margin:8px 0 0; font-size:.9rem; }
.skill-dashboard-body { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:16px; align-items:start; }
.dashboard-activities { min-width:0; }
.dashboard-activities .section-heading { margin:0 0 10px; }
.dashboard-activities .section-heading h2 { font-size:1.15rem; }
.dashboard-activities .section-heading p { font-size:.85rem; }
.dashboard-activities #resource-list { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:12px; }
.dashboard-activities .activity-filter { margin:14px 0 8px; display:none; }
.dashboard-activities #toggle-activity-tiers { margin-top:12px; }
.dashboard-activities .resource-card { padding:16px!important; }
.dashboard-activities .resource-card:first-child:not(.locked) { border-color:#4b9383; background:linear-gradient(140deg,#1c3936,#172431); }
.dashboard-activities .resource-card:first-child:not(.locked) .resource-art,.dashboard-activities .resource-card:first-child:not(.locked) .resource-description { display:block!important; }
.dashboard-activities .resource-card h3 { font-size:1.15rem; }
.dashboard-activities .resource-description { min-height:0; }
.dashboard-activities .resource-cost,.dashboard-activities .resource-gate { min-height:0; }
.dashboard-activities .resource-gate { margin-top:10px; }
.dashboard-activities .resource-card.locked { background:#18232d; }
.dashboard-activities .compact-activities .resource-card.locked .resource-cost,.dashboard-activities .compact-activities .resource-card.locked .resource-stats,.dashboard-activities .compact-activities .resource-card.locked progress { display:none; }
.dashboard-activities .compact-activities .resource-card.locked .resource-gate { color:#ffbf91; font-size:1rem; margin:18px 0; }
.skill-dashboard-body #skill-equipment { padding:12px; margin:0; }
.skill-dashboard-body #skill-equipment > summary { padding:8px; }
.skill-dashboard-body .equipped-label { display:none; }
.skill-dashboard-body .equipment-help { font-size:.8rem; margin:10px 0; }
.skill-dashboard-body .tool-grid { grid-template-columns:1fr; }
.skill-dashboard-body .tool-card { padding:12px; }
.skill-dashboard-body .tool-card img { max-height:72px; width:auto; object-fit:contain; align-self:flex-start; }
.skill-dashboard-body .tool-card p { margin:4px 0; }
.skill-dashboard-body .equipment-fallback { min-height:0; padding:6px 0; }
.skill-dashboard-body .tool-card.equipped p:nth-of-type(2),.skill-dashboard-body .tool-card.equipped .tool-unlock,.skill-dashboard-body .tool-card.equipped .tool-cost,.skill-dashboard-body .tool-card.equipped .requirement-action,.skill-dashboard-body .tool-card.equipped .requirements-info,.skill-dashboard-body .tool-card.equipped > button { display:none; }
.tool-material-heading { display:block; margin-top:8px; font-weight:600; }
.tool-material-row { display:flex; justify-content:space-between; gap:8px; font-size:.8rem; padding:3px 0; }
.dashboard-tool-display { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:.8rem; margin-bottom:10px; }
.dashboard-tool-display select { min-width:0; max-width:65%; padding:7px; }
#activity-chooser { width:min(720px,90vw); max-height:85vh; overflow:auto; background:#14232e; color:var(--ink); border:1px solid var(--gold); border-radius:10px; padding:22px; }
#activity-chooser::backdrop { background:#0009; }
#activity-search { width:100%; margin:8px 0 14px; box-sizing:border-box; }
.activity-choice { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:12px; border:1px solid var(--line); border-radius:6px; margin:8px 0; }
.activity-choice small { display:block; color:var(--muted); margin-top:4px; }
.activity-choice.locked { border-style:dashed; }
@media(min-width:1050px){
 .desktop-skill-view .mobile-install:not([open]) { padding:0 12px; margin:6px auto; }
 .desktop-skill-view .mobile-install:not([open]) summary { min-height:30px; padding:4px 0; font-size:.8rem; }
 .shell.skills-dashboard-layout { grid-template-columns:250px minmax(0,1fr); }
 .skills-dashboard-layout .relay-menu { grid-row:1 / span 2; }
 .skills-dashboard-layout .activity-log { position:static; grid-column:2; max-height:220px; }
 .skills-dashboard-layout .topbar { min-height:0; margin-bottom:14px; }
 .skills-dashboard-layout #training-hint { display:none; }
 .skills-dashboard-layout .training-banner { padding-top:10px; gap:8px 16px; }
 .skills-dashboard-layout .training-sticky-wrap { margin-bottom:14px; }
}
@media(min-width:1200px){
 .skill-dashboard-header { display:grid; grid-template-columns:minmax(260px,1.2fr) minmax(200px,.85fr) minmax(240px,1fr); padding:12px; gap:8px 16px; }
 .skill-switch-area { grid-column:1; grid-row:1; }
 #dashboard-skill-progress { display:contents; }
 #dashboard-skill-progress .xp-summary { grid-column:1; grid-row:2; font-size:.8rem; }
 #personal-tool-summary { grid-column:2; grid-row:1 / span 2; margin:0; line-height:1.65; }
 .skill-header-actions { grid-column:3; grid-row:1 / span 2; }
}
@media(max-width:1100px){.skill-dashboard-body{grid-template-columns:1fr}.skill-dashboard-body .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.dashboard-activities #resource-list,.skill-dashboard-body .tool-grid{grid-template-columns:1fr}.skill-switch-area{flex-basis:100%}}

/* Reference proportions: one compact header, three working columns, inventory below. */
.dashboard-inventory { margin-top:14px; padding:12px 16px; }
.dashboard-inventory summary { color:var(--mint); font-weight:700; cursor:pointer; }
.dashboard-inventory-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:.8rem; color:var(--muted); margin:8px 0; }
.dashboard-inventory-items { display:grid; grid-auto-flow:column; grid-auto-columns:145px; gap:8px; overflow-x:auto; padding-bottom:6px; }
.dashboard-inventory-items .inventory-item { min-height:76px; padding:10px; display:flex; flex-direction:column; justify-content:space-between; gap:8px; font-size:.85rem; }
@media(min-width:1200px){
 .desktop-skill-view .alpha-label { padding:3px 18px; font-size:.7rem; }
 .desktop-skill-view > .mobile-install { position:absolute; right:24px; top:0; z-index:25; max-width:430px; }
 .desktop-skill-view > .mobile-install[open] { background:var(--page); }
 .shell.skills-dashboard-layout { max-width:none; padding:8px 18px 18px; gap:18px; grid-template-columns:245px minmax(0,1fr); }
 .skills-dashboard-layout .topbar { flex-wrap:nowrap; height:55px; margin-bottom:10px; }
 .skills-dashboard-layout .topbar > div:first-child { display:grid; grid-template-columns:auto auto; gap:2px 16px; align-items:center; }
 .skills-dashboard-layout #calendar-year,.skills-dashboard-layout #calendar-time { margin:0; font-size:.75rem; }
 .skills-dashboard-layout #calendar-progress { grid-column:1 / -1; height:3px; }
 .skills-dashboard-layout #page-label { display:none; }
 .skills-dashboard-layout .relay-menu { top:8px; max-height:calc(100vh - 34px); padding:12px; }
 .skills-dashboard-layout .compact-nav { margin-top:8px; }
 .skills-dashboard-layout .nav-heading { padding:7px 8px 4px; }
 .skills-dashboard-layout .compact-nav button { min-height:40px; padding:8px 12px; }
 .skill-dashboard-header { position:sticky; top:2px; z-index:21; background:#14222c; border-color:#42515a; margin-bottom:14px; gap:5px 14px; }
 .skill-dashboard-header .training-sticky-wrap { position:static; grid-column:1 / -1; margin:0; padding:0; background:transparent; }
 .skill-dashboard-header .training-banner { display:flex; align-items:center; flex-wrap:wrap; gap:4px 12px; padding:6px 0 0; border:0; border-top:1px solid var(--line); background:transparent; box-shadow:none; border-radius:0; }
 .skill-dashboard-header .training-description { flex:1; }
 .skill-dashboard-header .training-description .eyebrow,.skill-dashboard-header #boost-chance { display:none; }
 .skill-dashboard-header #training-title { font-size:.8rem; }
 .skill-dashboard-header .training-controls { display:flex; flex-direction:row; align-items:center; gap:10px; font-size:.8rem; }
 .skill-dashboard-header .training-controls button { padding:5px 10px; font-size:.75rem; }
 .skill-dashboard-header #training-meter { flex-basis:100%; margin:2px 0 0; height:3px; }
 .skill-dashboard-header #boost-status:empty { display:none; }
 .skill-dashboard-header #boost-status { min-height:0; font-size:.75rem; }
 .skill-header-actions #skill-boost,.skill-header-actions #viewed-training { display:none; }
 .skill-dashboard-header #boost-training { background:#efb955; color:#201a0e; border-color:#ffe0a0; font-weight:800; }
 .skill-dashboard-body { grid-template-columns:minmax(0,2.15fr) minmax(280px,1fr); gap:14px; }
 .dashboard-activities .section-heading { display:none; }
 .dashboard-activities #resource-list { grid-template-columns:1.2fr 1fr; align-items:stretch; }
 .dashboard-activities .resource-card { min-height:370px; padding:14px!important; }
 .dashboard-activities .resource-art { align-self:flex-start; margin:8px 0; }
 .dashboard-activities .resource-card h3,.dashboard-activities .resource-description { text-align:left; }
 .dashboard-activities .resource-description { font-size:.85rem; line-height:1.45; margin:5px 0; }
 .dashboard-activities .boost-hint { display:none; }
 .dashboard-activities .resource-stats { justify-content:flex-start; padding:8px 0; }
 .dashboard-activities .resource-card.locked .resource-art { display:block!important; }
 .skill-dashboard-body .equipment-help { display:none; }
 .skill-dashboard-body #skill-equipment > summary { padding:3px 0 8px; min-height:0; font-size:.9rem; }
 .dashboard-tool-display { margin:0 0 8px; }
 .skill-dashboard-body .tool-card { padding:9px; }
 .skill-dashboard-body .tool-card img { max-height:48px; }
 .skill-dashboard-body .tool-card h3 { font-size:1rem; margin:3px 0; }
 .skill-dashboard-body .tool-card p { font-size:.78rem; line-height:1.35; }
 .skill-dashboard-body .tool-card button { padding:7px 10px; }
 .skill-dashboard-body .tool-grid { gap:8px; }
 .skills-dashboard-layout .activity-log { max-height:180px; }
 .skills-dashboard-layout .menu-brand { padding-bottom:8px; }
 .skills-dashboard-layout .menu-brand small { letter-spacing:.12em; }
 .skills-dashboard-layout .survivor-mini { margin:4px 0; }
 .skills-dashboard-layout .compact-nav { gap:3px; margin:4px 0 6px; }
 .skills-dashboard-layout .compact-nav .nav-heading { margin:2px 0; }
 .skills-dashboard-layout .resource-search { margin:6px 0; padding:7px; }
 .skills-dashboard-layout .resource-search input { padding:7px; }
 .skill-dashboard-body .tool-card { display:grid; grid-template-columns:58px minmax(0,1fr); gap:2px 8px; }
 .skill-dashboard-body .tool-card > .eyebrow { grid-column:1 / -1; font-size:.7rem; }
 .skill-dashboard-body .tool-card > .equipment-art,.skill-dashboard-body .tool-card > .equipment-fallback { grid-column:1; grid-row:2 / span 2; margin:0; padding:0; width:52px; height:52px; }
 .skill-dashboard-body .tool-card > h3,.skill-dashboard-body .tool-card > p:first-of-type { grid-column:2; }
 .skill-dashboard-body .tool-card > p:not(:first-of-type),.skill-dashboard-body .tool-card > button,.skill-dashboard-body .tool-card > .requirement-action { grid-column:1 / -1; }
 .skill-dashboard-body .tool-card .tool-cost { margin:3px 0; }
 .skill-dashboard-body .tool-card .tool-material-row { padding:1px 0; }
 .skill-dashboard-body .tool-card .tool-material-heading { margin-top:3px; }
 .skill-dashboard-body .tool-card button { min-height:32px; }
}
