.mobile-navigation { display:none; }
.mobile-navigation { position:relative; }
.mobile-navigation summary { display:flex;align-items:center;gap:8px;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:6px;cursor:pointer;list-style:none;font-size:13px; }
.mobile-navigation summary::-webkit-details-marker { display:none; }
.mobile-menu-icon { font-size:18px;line-height:1; }
.mobile-menu-panel { position:absolute;top:calc(100% + 8px);left:0;width:240px;max-width:calc(100vw - 32px);padding:6px;background:#152427;border:1px solid var(--line);border-radius:6px;box-shadow:0 12px 28px #0008;max-height:calc(100dvh - 100px);overflow-y:auto;z-index:20; }
.mobile-menu-panel button { display:block;width:100%;min-height:44px;text-align:left;border:0;background:transparent;padding:10px 12px;border-radius:4px; }
.mobile-menu-panel button:hover,.mobile-menu-panel button[aria-current="page"] { background:#33413c;color:#edcf83; }
@media (max-width:760px) {
  .daevanion-layout { grid-template-columns:minmax(0,1fr);gap:16px; }
  .daevanion-board { margin-inline:auto;transform:translateX(var(--board-mobile-offset,0%)); }
  .daevanion-selectors { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
  .daevanion-selectors button { display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;min-height:48px;width:100%;padding:10px;font-size:12px;text-align:left; }
  .daevanion-selectors button strong { font-size:12px;white-space:nowrap; }
  .daevanion-heading { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:16px 0 12px; }
  .daevanion-heading span { text-align:right;font-size:11px; }
  .daevanion-heading progress { grid-column:1/-1;width:100%; }
  .daevanion-effects { border-left:0;padding-left:0; }
  .shell > aside { display:grid;grid-template-columns: minmax(120px,156px) minmax(0,1fr);align-items:center;gap:12px;padding:12px 16px;height:auto;min-height:72px;position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line);border-right:0; }
  .shell > aside > nav { display:none; }
  .mobile-navigation { display:block;min-width:0; }
  .mobile-navigation select { width:100%;min-width:0;min-height:44px;font-size:14px;padding:10px 8px; }
  .shell > aside .brand { justify-content:flex-start;gap:8px;min-width:0; }
  .shell > aside .brand-icon { width:32px;height:32px;flex:none;border:0; }
  .shell > aside .guild-logo { width:32px!important;height:32px!important; }
  .shell > aside .brand strong { font-size:12px;line-height:1.4;letter-spacing:0; }
  .shell > aside .brand span { font-size:9px;letter-spacing:0; }
  .workspace,.workspace:has(.character-family-toolbar) { padding:16px;min-width:0; }
  .workspace > header { margin-bottom:12px;gap:12px; }
  .workspace:has(.character-family-toolbar) > header .eyebrow { display:none; }
  .workspace:has(.character-family-toolbar) > header { margin-bottom:4px;justify-content:flex-end; }
  .workspace > header h1 { font-size:24px;letter-spacing:0; }
  .hero { margin:12px 0 16px;padding:20px;border-radius:8px; }
  .hero h2 { font-size:24px;letter-spacing:0; }
  .hero p { margin-bottom:16px; }
  .stats { margin-bottom:20px; }
  .armory-header { display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:start;padding:8px 0 12px;margin:0; }
  .armory-portrait { width:64px;height:80px; }
  .armory .armory-identity h2 { font-size:21px;line-height:1.3;word-break:normal;overflow-wrap:break-word;margin:3px 0 6px; }
  .armory .armory-identity p { font-size:12px; }
  .armory-summary { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px; }
  .armory-summary span { font-size:10px;line-height:1.5; }
  .armory-summary b { display:block;margin:2px 0 0;font-size:13px;white-space:nowrap; }
  .character-header-actions { grid-column:1/-1;width:100%;margin:0;justify-items:stretch; }
  .character-header-selector { width:100%;font-size:12px; }
  .character-header-selector select { min-height:44px;padding:9px 10px;font-size:14px; }
  .armory-tabs { gap:20px;scrollbar-width:thin; }
  .armory .armory-tabs button { min-height:44px;padding:10px 0;font-size:13px; }
  .armory-content { padding:14px 0; }
  .game-equipment-groups { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
  .game-equipment-tile { padding:8px; }
  .game-equipment-tile .game-equipment-rail { margin:auto; }
  .game-equipment-layout { grid-template-columns:minmax(0,1fr); }
  .game-equipment-layout > .armory-detail { max-height:none;overflow:visible; }
  .armory-skill-groups { grid-template-columns:minmax(0,1fr); }
  .character-hotbar-board { max-width:none;width:100%;min-width:432px; }
  .roster-table { border:0;background:transparent;overflow:visible; }
  .roster-table table,.roster-table tbody { display:block;white-space:normal; }
  .roster-table thead { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
  .roster-table tr { display:grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap:12px;margin-bottom:12px;border:1px solid var(--line);border-radius:6px;padding:14px;background:var(--panel); }
  .roster-table td { min-width:0;padding:0;border:0;overflow-wrap:anywhere; }
  .roster-table td:first-child { font-size:15px;align-self:center; }
  .roster-table td:nth-child(2) { justify-self:end;align-self:start; }
  .roster-table td:nth-child(2) button { min-height:44px;font-size:12px; }
  .roster-table td:nth-child(n+3)::before { display:block;color:var(--muted);font-size:10px;margin-bottom:4px; }
  .roster-table td:nth-child(3)::before { content:'Role'; }
  .roster-table td:nth-child(4)::before { content:'Level'; }
  .roster-table td:nth-child(5)::before { content:'Power'; }
  .roster-table td:nth-child(6)::before { content:'Updated'; }
  .modal { max-height:calc(100dvh - 20px); }
}
@media (max-width:359px) {
  .shell > aside { grid-template-columns:130px minmax(0,1fr);gap:8px;padding:10px; }
  .shell > aside .brand-icon { display:none; }
  .workspace,.workspace:has(.character-family-toolbar) { padding:12px; }
}
