/* Navigation uses monochrome outline SVGs. Only the decorative slot changes;
   the links, visible labels and existing touch targets keep their owners. */
.portal-wordmark{display:inline-flex;align-items:center;flex:none;max-width:100%}
.portal-wordmark>.portal-wordmark-shinyoung{display:none}
:root[data-portal-theme="shinyoung"] .portal-wordmark>.portal-wordmark-jiyou{display:none}
:root[data-portal-theme="shinyoung"] .portal-wordmark>.portal-wordmark-shinyoung{display:block;background:transparent;padding:0;border-radius:0;height:auto;object-fit:contain}
/* AX portal mark (2026-10-30): the homepage portal button source (1078:418), shared by the sidebar head and the phone header.
   Ink token through currentColor keeps light/dark contrast; the link carries the accessible name. */
.ax-portal-logo{display:block;flex:none;height:auto;aspect-ratio:1078/418;color:var(--ink)}
.workspace .sidebar>.brand-ax{flex-direction:row;align-items:center;justify-content:center;gap:0;padding:8px 14px;min-height:48px}
:where(.workspace .sidebar>.brand-ax)>.ax-portal-logo{width:72px}
.workspace .office-mobile-brand:where(.brand-ax){align-items:center;justify-content:center;min-width:var(--tap-min,44px);min-height:var(--tap-min,44px)}
:where(.workspace .office-mobile-brand.brand-ax)>.ax-portal-logo{width:56px}
.workspace .sidebar nav :is(a,.nav-menu-button){gap:10px;padding:6px 10px;min-height:44px}
.workspace .sidebar-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px;pointer-events:none}
.workspace .workspace-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--density-shortcut-icon,24px);height:var(--density-shortcut-icon,24px);flex:0 0 var(--density-shortcut-icon,24px);pointer-events:none}
.workspace :is(.sidebar-nav-icon,.workspace-nav-icon)>.nav-icon{display:block;width:100%;height:100%;flex:none;fill:none;stroke:currentColor;stroke-width:2}
/* Old cached shells can arrive during soft navigation or BFCache restoration.
   Keep their artwork hidden until the compatibility cleanup removes it. */
.workspace :where(.sidebar-nav-icon,.workspace-nav-icon)>:is(img,.field-atlas-crop){display:none}
.workspace .sidebar nav .nav-text{min-width:0;overflow-wrap:anywhere;white-space:normal}
.workspace .office-menu-links .sidebar-nav-icon{width:24px;height:24px;flex:0 0 24px}
.workspace .office-menu-links>a .nav-text{min-width:0;overflow-wrap:anywhere}
.workspace .mobile-tabbar .sidebar-nav-icon{width:var(--mobile-tab-icon-size,20px);height:var(--mobile-tab-icon-size,20px);flex:0 0 var(--mobile-tab-icon-size,20px)}
.workspace .workspace-nav-icon>.sidebar-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;flex:none;pointer-events:none}

/* Preserve the original rail's scrolling and label hit areas in cached shells.
   Its SVG remains visible across the existing compact/narrow-tablet rules. */
html body.workspace .page-shell>header .shell-slot .work-area-nav:has(.workspace-nav-icon){overflow-x:auto;max-width:100%;min-width:0}
html body.workspace .page-shell>header .shell-slot .work-area-nav a:has(.workspace-nav-icon){flex-shrink:0;min-width:max-content}
html body.workspace .page-shell>header .shell-slot .work-area-nav .workspace-nav-icon>.nav-icon{display:block}
