/* Shared Coach chrome only. Library cards, lists and authoring surfaces are unchanged. */
/* head() assigns a page identity when the destination renders. Until then,
   show activity without pretending to know the remaining loading percentage. */
.page-header-copy:not([data-page-identity=""]) .startup-loading{display:none}
.startup-loading{max-width:28rem;margin-top:12px}
.startup-loading p{margin:0 0 12px;color:var(--text-secondary);font:400 var(--text-body-lg)/1.5 var(--font-body)}
.startup-loading-track{width:min(100%,18rem);height:4px;overflow:hidden;border-radius:4px;background:var(--border-subtle)}
.startup-loading-track > span{display:block;width:30%;height:100%;border-radius:inherit;background:var(--accent-pink);animation:coach-startup-travel 1.8s ease-in-out infinite alternate}
@keyframes coach-startup-travel{from{transform:translateX(0)}to{transform:translateX(233%)}}
@media (prefers-reduced-motion:reduce){.startup-loading-track > span{animation:none;transform:none}}

.app-shell > .sidebar.sidebar{
  gap:24px;
  padding:24px 18px;
  background:var(--sidebar-bg);
  box-shadow:none;
}
.sidebar .global-branding{gap:10px}
.sidebar .global-branding > .dojocraft-brand{width:146px;flex-basis:146px;filter:none}
.sidebar .sidebar-navigation{display:flex;flex-direction:column;gap:22px;min-width:0}
.sidebar-navigation .nav-group{display:grid;gap:3px}
.sidebar-navigation .eyebrow{margin:0 12px 5px;font:700 10px/1.4 var(--font-body);letter-spacing:.09em;color:var(--text-muted)}
.sidebar-navigation .nav-link{
  position:relative;
  min-width:44px;
  min-height:44px;
  gap:11px;
  padding:10px 12px;
  border-radius:6px;
  background:none;
  color:var(--text-secondary);
  font:600 calc(.8125rem * var(--text-chrome-scale))/1.4 var(--font-body);
  text-decoration:none;
}
.sidebar-navigation .nav-link:hover{background:var(--interactive-hover);color:var(--text-primary)}
.sidebar-navigation .nav-link[aria-current="page"]{
  background:var(--control-selected-bg,var(--surface-elevated));
  color:var(--text-primary);
  font-weight:800;
}
.sidebar-navigation .nav-link[aria-current="page"]::before{
  content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:2px;background:var(--accent-pink);
}
.sidebar-navigation .nav-icon{display:inline-flex;flex:0 0 18px;align-items:center;justify-content:center;width:18px;height:18px;color:inherit}
.sidebar-navigation .nav-icon svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sidebar .sidebar-forge-emblem{width:40px;opacity:.55;margin-top:auto}
.sidebar .sidebar-account{box-shadow:none;border-radius:0;background:none;border:0;border-top:1px solid var(--divider);padding:16px 0 0}
.sidebar .sidebar-coach{min-width:0}
.sidebar .sidebar-coach > span{min-width:0}
.sidebar .sidebar-coach strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workspace > .topbar{align-items:center;gap:20px;padding-top:0;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--divider)}
.workspace > .topbar .page-header-copy{gap:12px;align-items:center}
.workspace > .topbar .page-header-copy #page-title{
  width:auto;margin:0;padding:0;border:0;background:none;clip-path:none;box-shadow:none;text-shadow:none;
  font:800 calc(1.875rem * var(--text-display-scale))/1.2 var(--font-body);letter-spacing:-.035em;white-space:normal;overflow-wrap:anywhere;color:var(--text-primary);
}
.workspace > .topbar #page-title::after{display:none}
.workspace > .topbar .page-identity-visual{flex-basis:36px;width:36px;height:36px;border:0;background:none;box-shadow:none;clip-path:none}
.workspace > .topbar .page-identity-visual::after{display:none}
.workspace > .topbar .topbar-actions{flex-wrap:wrap;gap:8px}
.workspace > .topbar .topbar-actions :is(a,button){min-height:44px;border-radius:6px;font-family:var(--font-body)}
.header-utility{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:0;border:1px solid var(--divider);border-radius:6px;background:var(--surface-elevated);color:var(--text-secondary);text-decoration:none}
.header-utility:hover,.header-utility[aria-current="page"],.header-utility[aria-expanded="true"]{border-color:var(--border-strong);background:var(--interactive-hover);color:var(--text-primary)}
.header-utility svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.header-utility .coaches-chat-unread{position:absolute;right:4px;top:4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--accent-pink);color:#170b13;font:800 10px/16px var(--font-body);text-align:center}
.account-utility-menu{position:fixed;z-index:1001;right:24px;top:76px;width:min(290px,calc(100vw - 24px));padding:12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-elevated);box-shadow:0 18px 45px rgba(0,0,0,.3)}
.account-utility-menu[hidden]{display:none}
.account-utility-menu .account-utility-identity{display:flex;gap:10px;align-items:center;padding:6px 8px 12px;margin-bottom:6px;border-bottom:1px solid var(--divider)}
.account-utility-menu .account-utility-identity span{display:grid;min-width:0}.account-utility-menu .account-utility-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-utility-menu .account-utility-identity small{color:var(--text-muted)}
.account-utility-menu>a,.account-utility-menu>button{display:flex;align-items:center;width:100%;min-height:44px;padding:10px;border:0;border-radius:6px;background:none;color:var(--text-primary);font:700 calc(.875rem * var(--text-chrome-scale))/1.4 var(--font-body);text-align:left;text-decoration:none}
.account-utility-menu>a:hover,.account-utility-menu>button:hover{background:var(--interactive-hover)}
.owner-tools-page{max-width:920px}.owner-tools-page>header{max-width:690px;margin-bottom:28px}.owner-tools-page>header h2{margin:.2rem 0 .55rem;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.2}.owner-tools-page>header p:last-child{color:var(--text-secondary)}
.owner-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.owner-tool-link{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:86px;padding:16px;border:1px solid var(--divider);border-radius:8px;background:var(--surface-elevated);color:var(--text-primary);text-align:left;text-decoration:none}
.owner-tool-link:hover{border-color:var(--border-strong);background:var(--interactive-hover)}.owner-tool-link>span:first-child{display:grid;gap:3px}.owner-tool-link strong{font:800 calc(1rem * var(--text-body-scale))/1.3 var(--font-body)}.owner-tool-link small{color:var(--text-secondary);font:500 calc(.8125rem * var(--text-body-scale))/1.45 var(--font-body)}
@media(min-width:901px){.mobile-header-actions [data-header-chat],.mobile-header-actions [data-header-owner-tools],.mobile-header-actions [data-header-account]{display:none}}
.library-primary-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 24px}
.library-primary-actions .library-create-action{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border-radius:7px;
  background:var(--accent-pink);color:#180b15;font:800 calc(.875rem * var(--text-chrome-scale))/1.4 var(--font-body);text-decoration:none;box-shadow:none;transform:none;
}
.library-primary-actions .library-create-action > span{font-size:1.25em;line-height:1}
.library-primary-actions .library-create-action:hover{background:var(--accent-pink-soft);transform:none}
html[data-theme="light"] .library-primary-actions .library-create-action{background:#85264f;color:#fff}
html[data-theme="light"] .library-primary-actions .library-create-action:hover{background:#6d1e40}
.library-primary-actions > .secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:7px;font:700 calc(.8125rem * var(--text-chrome-scale))/1.4 var(--font-body)}
.sidebar :is(a,button):focus-visible,.library-primary-actions a:focus-visible,.workspace .app-history-controls button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}

@media(max-width:900px){
  .topbar-actions [data-header-chat],.topbar-actions [data-header-owner-tools],.topbar-actions [data-header-account]{display:none}
  .app-shell > .sidebar.sidebar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 8px;padding:12px 16px}
  .sidebar .global-branding{grid-column:1;grid-row:1;width:auto;max-width:100%;gap:6px}
  .sidebar .global-branding > .dojocraft-brand{flex:0 1 auto;width:clamp(88px,27vw,128px);min-width:0}
  .sidebar .global-organization{flex:0 0 30px;padding-left:6px}
  .sidebar .global-organization img{width:26px;max-height:24px}
  .sidebar .mobile-header-actions{display:grid;grid-template-columns:repeat(4,44px);grid-column:2;grid-row:1;gap:6px;justify-self:end}
  .sidebar .mobile-header-actions :is(a,button){min-width:44px;min-height:44px;border-radius:6px;box-shadow:none}
  .sidebar .mobile-header-actions .mobile-beast{display:none}
  .sidebar .sidebar-navigation{
    display:flex;grid-column:1/-1;grid-row:2!important;flex-direction:row;gap:12px;width:100%;overflow-x:auto;overflow-y:hidden;
    padding:4px 0 7px;scroll-padding-inline:4px;scrollbar-width:thin;border-bottom:1px solid var(--divider);
  }
  .sidebar-navigation .nav-group{display:flex;flex:0 0 auto;gap:3px;padding:0;overflow:visible}
  .sidebar-navigation .eyebrow{display:none}
  .sidebar-navigation .nav-link{flex:0 0 auto;gap:7px;padding:10px 12px;white-space:nowrap}
  .sidebar-navigation .nav-link[aria-current="page"]::before{left:12px;right:12px;top:auto;bottom:3px;width:auto;height:3px}
  .sidebar .sidebar-account{
    display:none;
  }
  .workspace > .topbar{gap:12px;flex-wrap:wrap;padding-bottom:16px;margin-bottom:20px}
  .workspace > .topbar .page-header-copy #page-title{font-size:calc(1.625rem * var(--text-display-scale))}
}
@media(max-width:620px){
  .app-shell > .sidebar.sidebar{padding:10px 12px;gap:6px 8px}
  .sidebar-navigation .nav-link{font-size:calc(.8125rem * var(--text-chrome-scale))}
  .workspace > .topbar .topbar-actions{margin-left:auto}
  .account-utility-menu{right:12px;top:62px}
  .owner-tools-grid{grid-template-columns:1fr}.owner-tool-link{min-height:78px;padding:14px}
  .library-primary-actions{gap:10px;margin-bottom:20px}
  .library-primary-actions .library-create-action{min-height:48px;flex:1 1 auto}
  .library-primary-actions > .secondary-button{flex:1 1 auto}
}
