:root{
  --dmol-ds-canvas:#F3F7FB;
  --dmol-ds-surface:#FFFFFF;
  --dmol-ds-surface-soft:#F7FBFF;
  --dmol-ds-text:#101828;
  --dmol-ds-heading:#101B33;
  --dmol-ds-muted:#52657D;
  --dmol-ds-border:#DBE7F3;
  --dmol-ds-control-border:#718096;
  --dmol-ds-primary:#175CD3;
  --dmol-ds-primary-hover:#144AAA;
  --dmol-ds-on-primary:#FFFFFF;
  --dmol-ds-focus:#175CD3;
  --dmol-ds-success:#146C43;
  --dmol-ds-success-bg:#E7F8EF;
  --dmol-ds-warning:#805400;
  --dmol-ds-warning-bg:#FFF6DF;
  --dmol-ds-danger:#B42318;
  --dmol-ds-danger-bg:#FFF0F0;
  --dmol-ds-info:#175CD3;
  --dmol-ds-info-bg:#EEF6FF;
  --dmol-ds-space-1:4px;--dmol-ds-space-2:8px;--dmol-ds-space-3:12px;--dmol-ds-space-4:16px;
  --dmol-ds-space-5:20px;--dmol-ds-space-6:24px;--dmol-ds-space-8:32px;--dmol-ds-space-10:40px;--dmol-ds-space-12:48px;
  --dmol-ds-radius-control:10px;--dmol-ds-radius-panel:18px;
  --dmol-ds-frame-focused:1280px;--dmol-ds-frame-standard:1440px;--dmol-ds-frame-wide:1600px;
  --dmol-ds-motion-fast:120ms;--dmol-ds-motion-standard:180ms;--dmol-ds-ease:cubic-bezier(.2,0,0,1);
}
body.dmol-ds{color:var(--dmol-ds-text);background:var(--dmol-ds-canvas)}
body.dmol-ds,body.dmol-ds *,body.dmol-ds *::before,body.dmol-ds *::after{box-sizing:border-box}
/* The authenticated portal host is the sole page-width owner. Nested pageframes fill it. */
.dmol-portal-content .dmol-ds-pageframe{inline-size:100%;max-inline-size:none;margin:0;min-inline-size:0}
.dmol-ds-pageframe{inline-size:100%;max-inline-size:var(--dmol-ds-frame-standard);margin-inline:auto;min-inline-size:0}
.dmol-ds-pageheader{inline-size:100%;max-inline-size:none;min-inline-size:0}
.dmol-ds-surface{background:var(--dmol-ds-surface);border:1px solid var(--dmol-ds-border);border-radius:var(--dmol-ds-radius-panel)}
.dmol-ds-panel{padding:var(--dmol-ds-space-6);min-inline-size:0}
@media(max-width:680px){.dmol-ds-panel{padding:var(--dmol-ds-space-4)}}
.dmol-ds-form-section{padding-block:0 var(--dmol-ds-space-6);margin-block:0 var(--dmol-ds-space-6);border-block-end:1px solid var(--dmol-ds-border)}
.dmol-ds-form-section:last-of-type{border-block-end:0;margin-block-end:var(--dmol-ds-space-5)}
.dmol-ds-form-section>h2{margin:0 0 var(--dmol-ds-space-2);font-size:18px;line-height:1.3;color:var(--dmol-ds-heading)}
.dmol-ds-form-section>p{margin:0 0 var(--dmol-ds-space-5);color:var(--dmol-ds-muted);font-size:13px;line-height:1.55}
.dmol-ds-field{display:grid;gap:7px;margin:0;min-width:0}
.dmol-ds-field>span:first-child{font-size:13px;font-weight:800;color:var(--dmol-ds-heading)}
.dmol-ds-control{inline-size:100%;min-block-size:44px;padding:9px 12px;border:1px solid var(--dmol-ds-control-border);border-radius:var(--dmol-ds-radius-control);background:var(--dmol-ds-surface);color:var(--dmol-ds-text);font:inherit;line-height:1.3}
.dmol-ds-control:focus-visible{outline:3px solid color-mix(in srgb,var(--dmol-ds-focus) 26%,transparent);outline-offset:1px;border-color:var(--dmol-ds-focus)}
.dmol-ds-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dmol-ds-choice{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr);gap:11px;align-items:start;min-block-size:52px;padding:14px 15px;border:1px solid var(--dmol-ds-border);border-radius:12px;background:var(--dmol-ds-surface-soft);cursor:pointer;transition:border-color var(--dmol-ds-motion-fast) var(--dmol-ds-ease),background var(--dmol-ds-motion-fast) var(--dmol-ds-ease),box-shadow var(--dmol-ds-motion-fast) var(--dmol-ds-ease)}
.dmol-ds-choice:hover{border-color:#B8CBE2;background:#fff}
.dmol-ds-choice:has(input:checked){border-color:#9FC2EF;background:#F3F8FF;box-shadow:inset 0 0 0 1px #D9E9FC}
.dmol-ds-choice input[type=checkbox],.dmol-ds-choice input[type=radio]{appearance:auto!important;-webkit-appearance:auto!important;inline-size:18px!important;block-size:18px!important;min-inline-size:18px!important;min-block-size:18px!important;margin:1px 0 0!important;padding:0!important;accent-color:var(--dmol-ds-primary);box-shadow:none!important}
.dmol-ds-choice span{min-width:0;font-size:14px;line-height:1.42;color:var(--dmol-ds-text)}
.dmol-ds-action{display:inline-flex;align-items:center;justify-content:center;min-block-size:44px;padding-inline:18px;border-radius:10px;font-weight:800;text-decoration:none;cursor:pointer}
.dmol-ds-action--primary{border:1px solid var(--dmol-ds-primary);background:var(--dmol-ds-primary);color:var(--dmol-ds-on-primary)}
.dmol-ds-action--primary:hover{background:var(--dmol-ds-primary-hover);border-color:var(--dmol-ds-primary-hover)}
@media(max-width:720px){.dmol-ds-choice-grid{grid-template-columns:1fr}.dmol-ds-form-section{margin-block-start:20px;padding-block-end:20px}}
@media(prefers-reduced-motion:reduce){.dmol-ds-choice{transition:none}}

/* 2.27.1 C08 responsive route navigation + shared floating action.
   This is the single visual owner for learner mobile navigation and the AI quick action. */
:root{
  --dmol-ds-mobile-nav-height:72px;
  --dmol-ds-mobile-nav-bg:rgba(255,255,255,.975);
  --dmol-ds-mobile-nav-text:#607089;
  --dmol-ds-mobile-nav-active-bg:#F1F6FF;
  --dmol-ds-floating-action-size:56px;
  --dmol-ds-elevation-nav:0 -8px 28px rgba(15,35,66,.08);
  --dmol-ds-elevation-floating:0 14px 34px rgba(15,35,66,.18);
}
.dmol-ds-mobile-nav{display:none}
.dmol-ds-floating-action{position:fixed;right:22px;bottom:22px;z-index:130;display:grid;place-items:center;inline-size:var(--dmol-ds-floating-action-size);block-size:var(--dmol-ds-floating-action-size);padding:0;border:1px solid var(--dmol-ds-border);border-radius:18px;background:linear-gradient(145deg,#fff,#f7faff);color:var(--dmol-p-blue,var(--dmol-ds-primary));box-shadow:var(--dmol-ds-elevation-floating);cursor:pointer;transition:transform var(--dmol-ds-motion-fast) var(--dmol-ds-ease),border-color var(--dmol-ds-motion-fast) var(--dmol-ds-ease),box-shadow var(--dmol-ds-motion-fast) var(--dmol-ds-ease)}
.dmol-ds-floating-action::before{content:"";position:absolute;inset:7px;border:1px solid color-mix(in srgb,var(--dmol-p-accent,#E9B94C) 52%,transparent);border-radius:13px;pointer-events:none}
.dmol-ds-floating-action .dmol-icon{inline-size:25px;block-size:25px;stroke-width:1.85}
.dmol-ds-floating-action__attention{position:absolute;inset-block-start:7px;inset-inline-end:7px;inline-size:9px;block-size:9px;border:2px solid #fff;border-radius:50%;background:var(--dmol-ds-danger);box-shadow:0 0 0 1px rgba(180,35,24,.12)}
.dmol-ds-floating-action:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--dmol-p-blue,var(--dmol-ds-primary)) 30%,var(--dmol-ds-border));box-shadow:0 17px 38px rgba(15,35,66,.2)}
.dmol-ds-floating-action:focus-visible{outline:3px solid color-mix(in srgb,var(--dmol-ds-focus) 28%,transparent);outline-offset:3px}
@media(max-width:760px){
  .dmol-ds-mobile-nav{position:fixed;inset-inline:0;inset-block-end:0;z-index:120;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;min-block-size:calc(var(--dmol-ds-mobile-nav-height) + env(safe-area-inset-bottom));padding:7px 8px calc(8px + env(safe-area-inset-bottom));border-block-start:1px solid var(--dmol-ds-border);background:var(--dmol-ds-mobile-nav-bg);box-shadow:var(--dmol-ds-elevation-nav);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .dmol-ds-mobile-nav a{position:relative;display:flex;min-inline-size:0;min-block-size:56px;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:5px 3px;border-radius:12px;color:var(--dmol-ds-mobile-nav-text);text-decoration:none;touch-action:manipulation;transition:background var(--dmol-ds-motion-fast) var(--dmol-ds-ease),color var(--dmol-ds-motion-fast) var(--dmol-ds-ease)}
  .dmol-ds-mobile-nav a::before{content:"";position:absolute;inset-block-start:1px;inset-inline-start:50%;inline-size:0;block-size:2px;border-radius:999px;background:var(--dmol-p-blue,var(--dmol-ds-primary));transform:translateX(-50%);transition:inline-size var(--dmol-ds-motion-fast) var(--dmol-ds-ease)}
  .dmol-ds-mobile-nav__icon{display:grid;place-items:center;inline-size:28px;block-size:25px}
  .dmol-ds-mobile-nav .dmol-icon{inline-size:22px;block-size:22px;stroke-width:1.9}
  .dmol-ds-mobile-nav small{display:-webkit-box;max-inline-size:100%;min-block-size:22px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:inherit;font-size:10px;font-weight:780;line-height:1.1;text-align:center;white-space:normal;letter-spacing:-.01em}
  .dmol-ds-mobile-nav a:hover{background:var(--dmol-ds-surface-soft);color:var(--dmol-ds-heading)}
  .dmol-ds-mobile-nav a.is-active{background:var(--dmol-ds-mobile-nav-active-bg);color:var(--dmol-p-blue,var(--dmol-ds-primary))}
  .dmol-ds-mobile-nav a.is-active::before{inline-size:24px}
  .dmol-ds-mobile-nav a:focus-visible{outline:3px solid color-mix(in srgb,var(--dmol-ds-focus) 25%,transparent);outline-offset:-2px}
  .dmol-ds-floating-action{inset-inline-end:14px;inset-block-end:calc(var(--dmol-ds-mobile-nav-height) + env(safe-area-inset-bottom) + 18px);inline-size:52px;block-size:52px;border-radius:16px}
  .dmol-ds-floating-action::before{inset:6px;border-radius:12px}
  .dmol-ds-floating-action .dmol-icon{inline-size:23px;block-size:23px}
}
@media(max-width:360px){
  .dmol-ds-mobile-nav{padding-inline:5px}
  .dmol-ds-mobile-nav a{gap:3px;padding-inline:1px}
  .dmol-ds-mobile-nav small{font-size:9.5px}
  .dmol-ds-mobile-nav .dmol-icon{inline-size:21px;block-size:21px}
}
@media(prefers-reduced-motion:reduce){.dmol-ds-floating-action,.dmol-ds-mobile-nav a,.dmol-ds-mobile-nav a::before{transition:none}}

/* 2.27.2 C08 responsive route-drawer scrolling.
   One shared owner keeps the shell bounded, the route region scrollable and persistent mobile navigation unobstructed. */
:root{
  --dmol-ds-nav-drawer-mobile-max:334px;
}
.dmol-ds-nav-drawer{
  min-block-size:0;
  block-size:100vh;block-size:100dvh;
  max-block-size:100vh;max-block-size:100dvh;
  display:grid;grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;
}
.dmol-ds-nav-drawer__body{
  min-block-size:0;
  overflow-y:auto;overflow-x:hidden;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  scrollbar-width:thin;
  scrollbar-gutter:stable;
}
.dmol-ds-nav-drawer__body:focus-visible{outline:2px solid color-mix(in srgb,var(--dmol-ds-focus) 32%,transparent);outline-offset:-2px}
@media(max-width:1100px){
  body.dmol-nav-lock{overflow:hidden;overscroll-behavior:none}
  .dmol-ds-nav-drawer{inline-size:min(var(--dmol-ds-nav-drawer-mobile-max),88vw)}
}
@media(max-width:760px){
  .dmol-ds-nav-drawer{
    block-size:calc(100vh - var(--dmol-ds-mobile-nav-height) - env(safe-area-inset-bottom));
    block-size:calc(100dvh - var(--dmol-ds-mobile-nav-height) - env(safe-area-inset-bottom));
    max-block-size:calc(100vh - var(--dmol-ds-mobile-nav-height) - env(safe-area-inset-bottom));
    max-block-size:calc(100dvh - var(--dmol-ds-mobile-nav-height) - env(safe-area-inset-bottom));
  }
}

/* 2.27.3 shared C32/C05 protected-resource and prompt-workspace primitives. */
.dmol-ds-action--secondary{border:1px solid var(--dmol-ds-border);background:var(--dmol-ds-surface);color:var(--dmol-ds-heading)}
.dmol-ds-action--secondary:hover{border-color:var(--dmol-ds-primary);color:var(--dmol-ds-primary)}
.dmol-ds-action--tertiary{border:1px solid transparent;background:transparent;color:var(--dmol-ds-heading)}
.dmol-ds-action--tertiary:hover{background:var(--dmol-ds-surface-soft);color:var(--dmol-ds-primary)}
.dmol-ds-action:focus-visible{outline:3px solid color-mix(in srgb,var(--dmol-ds-focus) 25%,transparent);outline-offset:2px}
.dmol-ds-chip{display:inline-flex;align-items:center;min-block-size:28px;padding-inline:10px;border:1px solid var(--dmol-ds-border);border-radius:999px;background:var(--dmol-ds-surface-soft);color:var(--dmol-ds-text);font-size:12px;font-weight:700}
.dmol-ds-status{display:inline-flex;align-items:center;min-block-size:30px;color:var(--dmol-ds-muted);font-size:12px;font-weight:750}
.dmol-ds-dialog{inline-size:min(880px,calc(100vw - 32px));max-inline-size:880px;max-block-size:min(88dvh,900px);padding:0;border:0;border-radius:var(--dmol-ds-radius-panel);background:transparent;color:var(--dmol-ds-text);box-shadow:0 24px 70px rgba(15,35,66,.22)}
.dmol-ds-dialog::backdrop{background:rgba(8,20,42,.55);backdrop-filter:blur(2px)}
.dmol-ds-dialog__frame{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-block-size:min(88dvh,900px);overflow:hidden;border:1px solid var(--dmol-ds-border);border-radius:var(--dmol-ds-radius-panel);background:var(--dmol-ds-surface)}
.dmol-ds-dialog__header,.dmol-ds-dialog__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--dmol-ds-space-4);padding:var(--dmol-ds-space-5);background:var(--dmol-ds-surface)}
.dmol-ds-dialog__header{border-block-end:1px solid var(--dmol-ds-border);align-items:flex-start}.dmol-ds-dialog__header h2{margin:4px 0 0;color:var(--dmol-ds-heading);font-size:22px;line-height:1.2}
.dmol-ds-dialog__body{min-block-size:0;padding:var(--dmol-ds-space-5);overflow:auto;overscroll-behavior:contain}.dmol-ds-dialog__footer{border-block-start:1px solid var(--dmol-ds-border)}.dmol-ds-dialog__footer>span{min-width:0;color:var(--dmol-ds-muted);font-size:12px}
.dmol-ds-resource-list{margin-block:var(--dmol-ds-space-6);border-block:1px solid var(--dmol-ds-border)}
.dmol-ds-resource-list__head{display:flex;align-items:end;justify-content:space-between;gap:var(--dmol-ds-space-4);padding:var(--dmol-ds-space-4) 0}.dmol-ds-resource-list__head h2{margin:4px 0 0;color:var(--dmol-ds-heading);font-size:19px}.dmol-ds-resource-list__head>span{color:var(--dmol-ds-muted);font-size:12px;font-weight:750}
.dmol-ds-resource-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:var(--dmol-ds-space-3);align-items:center;padding:var(--dmol-ds-space-3) 0;border-block-start:1px solid var(--dmol-ds-border)}
.dmol-ds-resource-row__icon{display:grid;place-items:center;inline-size:44px;block-size:44px;border:1px solid var(--dmol-ds-border);border-radius:10px;background:var(--dmol-ds-info-bg);color:var(--dmol-ds-info);font-size:10px;font-weight:900;letter-spacing:.04em}.dmol-ds-resource-row__body{min-width:0}.dmol-ds-resource-row__body strong,.dmol-ds-resource-row__body span{display:block}.dmol-ds-resource-row__body strong{color:var(--dmol-ds-heading);font-size:14px}.dmol-ds-resource-row__body span{margin-top:3px;color:var(--dmol-ds-muted);font-size:12px}.dmol-ds-resource-row__action{justify-self:end}
@media(max-width:620px){.dmol-ds-dialog{inline-size:calc(100vw - 16px);max-block-size:calc(100dvh - var(--dmol-ds-mobile-nav-height,72px) - env(safe-area-inset-bottom) - 16px)}.dmol-ds-dialog__frame{max-block-size:inherit}.dmol-ds-dialog__header,.dmol-ds-dialog__body,.dmol-ds-dialog__footer{padding:var(--dmol-ds-space-4)}.dmol-ds-resource-row{grid-template-columns:44px minmax(0,1fr)}.dmol-ds-resource-row__action{grid-column:2;justify-self:start}.dmol-ds-resource-list__head{align-items:start}}

/* 2.27.4 shared C05/C07/C14 primitives for deterministic Everyday Tools. */
.dmol-ds-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:var(--dmol-ds-space-3)}
.dmol-ds-field>small{color:var(--dmol-ds-muted);font-size:12px;line-height:1.45}
.dmol-ds-field>span>em{color:var(--dmol-ds-danger);font-style:normal}

/* 2.28.0 shared C05/C07 media surfaces for protected video/audio/photo/social products. */
.dmol-ds-media-frame{min-inline-size:0;border:1px solid var(--dmol-ds-border);border-radius:var(--dmol-ds-radius-panel);background:var(--dmol-ds-surface);overflow:hidden}
.dmol-ds-media-frame :is(video,audio,iframe){display:block;inline-size:100%;max-inline-size:100%;border:0}
.dmol-ds-media-frame video{aspect-ratio:16/9;background:#07182e;object-fit:contain}.dmol-ds-media-frame iframe{aspect-ratio:16/9;min-block-size:360px}.dmol-ds-media-frame audio{min-block-size:54px}
.dmol-ds-media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--dmol-ds-space-4)}
.dmol-ds-media-tile{min-width:0;margin:0;border:1px solid var(--dmol-ds-border);border-radius:var(--dmol-ds-radius-panel);background:var(--dmol-ds-surface);overflow:hidden}.dmol-ds-media-tile img{display:block;inline-size:100%;aspect-ratio:4/3;object-fit:cover;background:var(--dmol-ds-surface-soft)}.dmol-ds-media-tile figcaption{display:flex;align-items:start;justify-content:space-between;gap:var(--dmol-ds-space-3);padding:var(--dmol-ds-space-3)}.dmol-ds-media-tile figcaption strong{min-width:0;color:var(--dmol-ds-heading);font-size:14px;line-height:1.35}.dmol-ds-media-tile figcaption span{flex:none;color:var(--dmol-ds-muted);font-size:11px;font-weight:800}
@media(max-width:620px){.dmol-ds-media-frame iframe{min-block-size:220px}.dmol-ds-media-grid{grid-template-columns:1fr}}

/* 2.29.0 shared family/safety primitives. These are reusable workspace components, not route repair CSS. */
.dmol-ds-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--dmol-ds-space-4);margin-bottom:var(--dmol-ds-space-5)}
.dmol-ds-section-head h2{margin:0;color:var(--dmol-ds-heading);font-size:20px;line-height:1.25}.dmol-ds-section-head p{margin:6px 0 0;color:var(--dmol-ds-muted);font-size:13px;line-height:1.55}
.dmol-ds-notice{padding:var(--dmol-ds-space-4);border:1px solid var(--dmol-ds-border);border-inline-start-width:4px;border-radius:12px;background:var(--dmol-ds-surface-soft);color:var(--dmol-ds-text)}
.dmol-ds-notice strong{display:block;color:var(--dmol-ds-heading);font-size:14px}.dmol-ds-notice p{margin:6px 0 0;color:var(--dmol-ds-muted);font-size:13px;line-height:1.55}
.dmol-ds-notice--info{border-inline-start-color:var(--dmol-ds-info);background:var(--dmol-ds-info-bg)}.dmol-ds-notice--warning{border-inline-start-color:var(--dmol-ds-warning);background:var(--dmol-ds-warning-bg)}
.dmol-ds-family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--dmol-ds-space-4)}
.dmol-ds-member-card{min-width:0;padding:var(--dmol-ds-space-5);border:1px solid var(--dmol-ds-border);border-radius:var(--dmol-ds-radius-panel);background:var(--dmol-ds-surface)}
.dmol-ds-member-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--dmol-ds-space-3);padding-bottom:var(--dmol-ds-space-4);border-bottom:1px solid var(--dmol-ds-border)}
.dmol-ds-member-card>header strong,.dmol-ds-member-card>header span{display:block}.dmol-ds-member-card>header strong{color:var(--dmol-ds-heading);font-size:16px}.dmol-ds-member-card>header span{margin-top:4px;color:var(--dmol-ds-muted);font-size:12px}
.dmol-ds-safety-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:var(--dmol-ds-space-4);overflow:hidden;border:1px solid var(--dmol-ds-border);border-radius:12px;background:var(--dmol-ds-border)}
.dmol-ds-safety-list>span{display:grid;gap:4px;padding:12px;background:var(--dmol-ds-surface-soft);color:var(--dmol-ds-text);font-size:12px}.dmol-ds-safety-list b{color:var(--dmol-ds-muted);font-size:10px;letter-spacing:.05em;text-transform:uppercase}
@media(max-width:860px){.dmol-ds-family-grid{grid-template-columns:1fr}}
@media(max-width:520px){.dmol-ds-section-head{display:block}.dmol-ds-safety-list{grid-template-columns:1fr}.dmol-ds-member-card{padding:var(--dmol-ds-space-4)}}

/* 2.30.0 shared Student Success/Careers pathway and record-list primitives. */
.dmol-ds-pathway-steps{display:grid;gap:var(--dmol-ds-space-3)}
.dmol-ds-pathway-step{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:var(--dmol-ds-space-4);align-items:center;padding:var(--dmol-ds-space-4);border:1px solid var(--dmol-ds-border);border-radius:var(--dmol-ds-radius-panel);background:var(--dmol-ds-surface)}
.dmol-ds-pathway-step__number{display:grid;place-items:center;inline-size:40px;block-size:40px;border:1px solid var(--dmol-ds-border);border-radius:50%;background:var(--dmol-ds-surface-soft);color:var(--dmol-ds-heading);font-weight:850}
.dmol-ds-pathway-step h3{margin:0;color:var(--dmol-ds-heading);font-size:15px;line-height:1.35}.dmol-ds-pathway-step p{margin:5px 0 0;color:var(--dmol-ds-muted);font-size:12.5px;line-height:1.5}
.dmol-ds-pathway-step[data-status="completed"]{border-inline-start:4px solid var(--dmol-ds-success);background:color-mix(in srgb,var(--dmol-ds-success-bg) 42%,var(--dmol-ds-surface))}.dmol-ds-pathway-step[data-status="in_progress"]{border-inline-start:4px solid var(--dmol-ds-info)}
.dmol-ds-record-list{display:grid;border-block:1px solid var(--dmol-ds-border)}
.dmol-ds-record-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--dmol-ds-space-4);align-items:center;padding:var(--dmol-ds-space-4) 0;border-block-end:1px solid var(--dmol-ds-border)}.dmol-ds-record-row:last-child{border-block-end:0}.dmol-ds-record-row strong,.dmol-ds-record-row span,.dmol-ds-record-row small{display:block}.dmol-ds-record-row strong{color:var(--dmol-ds-heading);font-size:14px}.dmol-ds-record-row span{margin-top:3px;color:var(--dmol-ds-muted);font-size:12px}.dmol-ds-record-row small{margin-top:7px;color:var(--dmol-ds-text);font-size:12px}
@media(max-width:760px){.dmol-ds-pathway-step{grid-template-columns:40px minmax(0,1fr)}.dmol-ds-pathway-step>form{grid-column:2}.dmol-ds-record-row{grid-template-columns:1fr}}

/* 2.31.0 shared organisation/team learning primitives. Route composition remains in portal.css. */
.dmol-ds-org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--dmol-ds-space-3)}
.dmol-ds-team-card{min-width:0;padding:var(--dmol-ds-space-4);border:1px solid var(--dmol-ds-border);border-radius:var(--dmol-ds-radius-panel);background:var(--dmol-ds-surface-soft)}
.dmol-ds-team-card strong,.dmol-ds-team-card span{display:block}.dmol-ds-team-card strong{color:var(--dmol-ds-heading);font-size:15px;line-height:1.35}.dmol-ds-team-card span{margin-top:5px;color:var(--dmol-ds-muted);font-size:12px}
.dmol-ds-roster{display:grid;border-block:1px solid var(--dmol-ds-border)}
.dmol-ds-roster-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--dmol-ds-space-4);align-items:center;padding:var(--dmol-ds-space-4) 0;border-block-end:1px solid var(--dmol-ds-border)}.dmol-ds-roster-row:last-child{border-block-end:0}
.dmol-ds-roster-row strong,.dmol-ds-roster-row span,.dmol-ds-roster-row small{display:block}.dmol-ds-roster-row strong{color:var(--dmol-ds-heading);font-size:14px}.dmol-ds-roster-row span{margin-top:3px;color:var(--dmol-ds-muted);font-size:12px}.dmol-ds-roster-row small{margin-top:6px;color:var(--dmol-ds-text);font-size:12px;line-height:1.45}
.dmol-ds-assignment-list{display:grid;gap:var(--dmol-ds-space-3)}
.dmol-ds-learning-assignment{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,160px) auto;gap:var(--dmol-ds-space-4);align-items:center;padding:var(--dmol-ds-space-4);border:1px solid var(--dmol-ds-border);border-radius:var(--dmol-ds-radius-panel);background:var(--dmol-ds-surface)}
.dmol-ds-learning-assignment__main{min-width:0}.dmol-ds-learning-assignment__main h3{margin:5px 0 4px;color:var(--dmol-ds-heading);font-size:16px;line-height:1.35}.dmol-ds-learning-assignment__main p{margin:0;color:var(--dmol-ds-muted);font-size:12.5px;line-height:1.5}.dmol-ds-learning-assignment__main small{display:block;margin-top:7px;color:var(--dmol-ds-text);font-size:11.5px}
.dmol-ds-learning-assignment__progress{text-align:right}.dmol-ds-learning-assignment__progress strong,.dmol-ds-learning-assignment__progress span{display:block}.dmol-ds-learning-assignment__progress strong{color:var(--dmol-ds-heading);font-size:22px;font-variant-numeric:tabular-nums}.dmol-ds-learning-assignment__progress span{margin-top:3px;color:var(--dmol-ds-muted);font-size:11px}
@media(max-width:760px){.dmol-ds-roster-row,.dmol-ds-learning-assignment{grid-template-columns:1fr}.dmol-ds-learning-assignment__progress{text-align:left}.dmol-ds-learning-assignment__action>.dmol-ds-action{width:100%}}

/* 2.32.0 shared segmented-community primitives. Membership and moderation semantics remain server-owned. */
.dmol-ds-community-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.dmol-ds-community-space{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px;border:1px solid var(--dmol-ds-border);border-radius:var(--dmol-ds-radius-panel);background:var(--dmol-ds-surface);min-width:0}
.dmol-ds-community-space__main{min-width:0}.dmol-ds-community-space h3{margin:8px 0 5px;color:var(--dmol-ds-heading);font-size:17px;line-height:1.3}.dmol-ds-community-space p{margin:0;color:var(--dmol-ds-text);font-size:13px;line-height:1.45}.dmol-ds-community-space small{display:block;margin-top:7px;color:var(--dmol-ds-muted);font-size:11px;line-height:1.45}
.dmol-ds-segment-nav{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 1px 8px;scrollbar-width:thin}
.dmol-ds-segment-nav a{display:flex;flex:0 0 auto;min-width:180px;max-width:280px;min-height:60px;flex-direction:column;justify-content:center;padding:10px 13px;border:1px solid var(--dmol-ds-border);border-radius:10px;background:var(--dmol-ds-surface);color:var(--dmol-ds-text);text-decoration:none;outline:none}
.dmol-ds-segment-nav a strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dmol-ds-heading);font-size:13px}.dmol-ds-segment-nav a small{margin-top:3px;color:var(--dmol-ds-muted);font-size:11px}.dmol-ds-segment-nav a:hover{border-color:color-mix(in srgb,var(--dmol-ds-primary) 35%,var(--dmol-ds-border))}.dmol-ds-segment-nav a:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--dmol-ds-focus) 18%,transparent);border-color:var(--dmol-ds-focus)}.dmol-ds-segment-nav a.is-active{border-color:var(--dmol-ds-primary);background:var(--dmol-ds-accent-soft)}
.dmol-community-post{padding:16px 0;border-bottom:1px solid var(--dmol-ds-border)}.dmol-community-post:first-child{padding-top:0}.dmol-community-post:last-child{border-bottom:0}.dmol-community-post header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.dmol-community-post header strong{color:var(--dmol-ds-heading);font-size:13px}.dmol-community-post time{color:var(--dmol-ds-muted);font-size:11px}.dmol-community-post__content{color:var(--dmol-ds-text);font-size:14px;line-height:1.6;overflow-wrap:anywhere}.dmol-community-post__content>:first-child{margin-top:0}.dmol-community-post__content>:last-child{margin-bottom:0}
.dmol-community-thread-link{text-decoration:none}.dmol-community-thread-link.is-active{border-color:var(--dmol-ds-primary);background:var(--dmol-ds-accent-soft)}
@media(max-width:760px){.dmol-ds-community-grid{grid-template-columns:1fr}.dmol-ds-community-space{grid-template-columns:1fr}.dmol-ds-community-space>.dmol-ds-action{width:100%}.dmol-community-post header{align-items:flex-start;flex-direction:column;gap:3px}}

/* 2.33.0 shared commercial-access/licensing primitives. */
.dmol-ds-license-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:var(--dmol-ds-space-4)}
.dmol-ds-license-card{min-width:0;padding:var(--dmol-ds-space-5);border:1px solid var(--dmol-ds-border);border-radius:var(--dmol-ds-radius-panel);background:var(--dmol-ds-surface)}
.dmol-ds-license-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--dmol-ds-space-4);padding-bottom:var(--dmol-ds-space-4);border-bottom:1px solid var(--dmol-ds-border)}
.dmol-ds-license-card__head h3{margin:4px 0 0;color:var(--dmol-ds-heading);font-size:17px;line-height:1.3}.dmol-ds-license-card__head p{margin:4px 0 0;color:var(--dmol-ds-muted);font-size:12px}
.dmol-ds-seat-meter{display:flex;align-items:baseline;justify-content:space-between;gap:var(--dmol-ds-space-3);margin:var(--dmol-ds-space-4) 0;padding:12px 0;border-block:1px solid var(--dmol-ds-border)}
.dmol-ds-seat-meter strong{color:var(--dmol-ds-heading);font-size:24px;font-variant-numeric:tabular-nums}.dmol-ds-seat-meter span{color:var(--dmol-ds-muted);font-size:12px;font-weight:750}
.dmol-ds-seat-list{display:grid;margin-bottom:var(--dmol-ds-space-4);border-block:1px solid var(--dmol-ds-border)}
.dmol-ds-seat-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--dmol-ds-space-3);align-items:center;padding:12px 0;border-block-end:1px solid var(--dmol-ds-border)}.dmol-ds-seat-row:last-child{border-block-end:0}.dmol-ds-seat-row strong,.dmol-ds-seat-row small{display:block}.dmol-ds-seat-row strong{color:var(--dmol-ds-heading);font-size:13px}.dmol-ds-seat-row small{margin-top:3px;color:var(--dmol-ds-muted);font-size:11px}
.dmol-ds-form-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--dmol-ds-space-3);align-items:end}.dmol-ds-form-row>.dmol-ds-action{min-height:44px}
@media(max-width:620px){.dmol-ds-license-card{padding:var(--dmol-ds-space-4)}.dmol-ds-license-card__head{display:grid}.dmol-ds-form-row,.dmol-ds-seat-row{grid-template-columns:1fr}.dmol-ds-form-row>.dmol-ds-action,.dmol-ds-seat-row .dmol-ds-action{width:100%}}


/* 2.34.23 — Shared premium portal surfaces.
 * The Community hub uses the same colour, spacing, typography and action tokens as
 * the Library and Learner Profile; these primitives are reusable by future modules. */
.dmol-ds-stat-card{display:flex;align-items:center;gap:var(--dmol-ds-space-4);min-width:0;padding:var(--dmol-ds-space-5);border:1px solid var(--dmol-ds-border);border-radius:var(--dmol-ds-radius-panel);background:var(--dmol-ds-surface);box-shadow:0 8px 24px rgba(15,35,66,.035)}
.dmol-ds-stat-card__icon,.dmol-ds-empty-state__icon,.dmol-ds-feature-panel__icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:14px;background:var(--dmol-ds-info-bg);color:var(--dmol-ds-primary)}
.dmol-ds-stat-card__icon .dmol-icon,.dmol-ds-empty-state__icon .dmol-icon,.dmol-ds-feature-panel__icon .dmol-icon{width:22px;height:22px}
.dmol-ds-stat-card__body{display:grid;gap:4px;min-width:0}
.dmol-ds-stat-card__body strong{color:var(--dmol-ds-heading);font-size:27px;font-weight:900;line-height:1.05;font-variant-numeric:tabular-nums}
.dmol-ds-stat-card__body small{color:var(--dmol-ds-muted);font-size:12px;font-weight:750;line-height:1.4}
.dmol-ds-feature-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--dmol-ds-space-5);align-items:center;padding:var(--dmol-ds-space-6);border:1px solid var(--dmol-ds-border);border-radius:var(--dmol-ds-radius-panel);background:linear-gradient(110deg,var(--dmol-ds-surface),var(--dmol-ds-surface-soft));box-shadow:0 10px 26px rgba(15,35,66,.035)}
.dmol-ds-feature-panel__icon{align-self:start;width:50px;height:50px;border-radius:15px}
.dmol-ds-feature-panel__content{min-width:0}
.dmol-ds-feature-panel__content h2{margin:4px 0 8px;color:var(--dmol-ds-heading);font-size:clamp(17px,1.4vw,21px);line-height:1.28;letter-spacing:-.02em}
.dmol-ds-feature-panel__content p{margin:0;color:var(--dmol-ds-muted);font-size:13px;line-height:1.6;max-width:68ch}
.dmol-ds-empty-state{display:flex;align-items:center;gap:var(--dmol-ds-space-4);min-width:0;padding:var(--dmol-ds-space-5);border:1px dashed var(--dmol-ds-border);border-radius:var(--dmol-ds-radius-panel);background:var(--dmol-ds-surface)}
.dmol-ds-empty-state__icon{width:42px;height:42px;background:var(--dmol-ds-surface-soft)}
.dmol-ds-empty-state>div{min-width:0}
.dmol-ds-empty-state>div strong{display:block;color:var(--dmol-ds-heading);font-size:14px;font-weight:850;line-height:1.4}
.dmol-ds-empty-state>div span{display:block;margin-top:4px;color:var(--dmol-ds-muted);font-size:12px;line-height:1.55}
@media(max-width:1060px){.dmol-ds-feature-panel{grid-template-columns:auto minmax(0,1fr)}.dmol-ds-feature-panel>:last-child:not(.dmol-ds-feature-panel__content){grid-column:2}}
@media(max-width:680px){.dmol-ds-stat-card{padding:var(--dmol-ds-space-4)}.dmol-ds-feature-panel{display:grid;grid-template-columns:1fr;padding:var(--dmol-ds-space-5);gap:12px}.dmol-ds-feature-panel>:last-child:not(.dmol-ds-feature-panel__content){grid-column:1}.dmol-ds-empty-state{align-items:flex-start;padding:var(--dmol-ds-space-4)}}


/* v2.34.89.9 — C01/C02/C05/C16/C24/C25 adult workspace profile.
 * Opt-in via portal shell; children's existing art and learning UI remain owned
 * by their existing components. Readers keep their specialised content frame. */
.dmol-portal-shell[data-dmol-visual-profile="adult"] {
  --dmol-adult-surface:var(--dmol-ds-surface);
  --dmol-adult-soft:var(--dmol-ds-surface-soft);
  --dmol-adult-border:var(--dmol-ds-border);
  --dmol-adult-ink:var(--dmol-ds-heading);
  --dmol-adult-muted:var(--dmol-ds-muted);
  --dmol-adult-action:var(--dmol-ds-primary);
}
.dmol-portal-shell[data-dmol-visual-profile="adult"] .dmol-portal-stack{min-inline-size:0}
.dmol-portal-shell[data-dmol-visual-profile="adult"] :is(.dmol-portal-pagehead,.dmol-portal-panel-head){min-inline-size:0}
.dmol-portal-shell[data-dmol-visual-profile="adult"] .dmol-portal-pagehead{display:grid;gap:5px;align-content:start;padding-inline:0}
.dmol-portal-shell[data-dmol-visual-profile="adult"] .dmol-portal-pagehead .dmol-portal-eyebrow{margin:0;color:var(--dmol-adult-action)}
.dmol-portal-shell[data-dmol-visual-profile="adult"] .dmol-portal-pagehead h1{font-size:clamp(25px,2.1vw,33px);line-height:1.2;letter-spacing:-.028em;color:var(--dmol-adult-ink)}
.dmol-portal-shell[data-dmol-visual-profile="adult"] .dmol-portal-pagehead p{margin:0;max-inline-size:72ch;color:var(--dmol-adult-muted);line-height:1.58}
.dmol-portal-shell[data-dmol-visual-profile="adult"] :is(.dmol-portal-panel,.dmol-library-item-card,.dmol-portal-course-card.dmol-shared-course-card){border-color:var(--dmol-adult-border);background:var(--dmol-adult-surface);box-shadow:none}
.dmol-portal-shell[data-dmol-visual-profile="adult"] :is(.dmol-portal-panel-head,.dmol-ds-license-card__head){flex-wrap:wrap}
.dmol-portal-shell[data-dmol-visual-profile="adult"] .dmol-portal-panel-head a{min-block-size:36px;display:inline-flex;align-items:center;text-underline-offset:3px}
.dmol-portal-shell[data-dmol-visual-profile="adult"] :is(.dmol-library-item-card,.dmol-portal-course-card.dmol-shared-course-card){transition:border-color var(--dmol-ds-motion-fast) var(--dmol-ds-ease),box-shadow var(--dmol-ds-motion-fast) var(--dmol-ds-ease)}
.dmol-portal-shell[data-dmol-visual-profile="adult"] :is(.dmol-library-item-card,.dmol-portal-course-card.dmol-shared-course-card):focus-within{border-color:var(--dmol-ds-focus);box-shadow:0 0 0 2px color-mix(in srgb,var(--dmol-ds-focus) 16%,transparent)}
.dmol-portal-shell[data-dmol-visual-profile="adult"] :is(.dmol-library-item-card,.dmol-portal-course-card.dmol-shared-course-card):hover{border-color:color-mix(in srgb,var(--dmol-adult-action) 32%,var(--dmol-adult-border));transform:none}
.dmol-portal-shell[data-dmol-visual-profile="adult"] :is(.dmol-portal-form-panel,.dmol-profile-main,.dmol-portal-library-filters){min-inline-size:0}
.dmol-portal-shell[data-dmol-visual-profile="adult"] :is(.dmol-portal-form-panel,.dmol-profile-main) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea){max-inline-size:100%;min-block-size:42px;border-color:var(--dmol-ds-control-border);border-radius:var(--dmol-ds-radius-control)}
.dmol-portal-shell[data-dmol-visual-profile="adult"] :is(.dmol-portal-form-panel,.dmol-profile-main) :is(input,select,textarea):focus-visible{outline:2px solid var(--dmol-ds-focus);outline-offset:2px}
.dmol-portal-shell[data-dmol-visual-profile="adult"] .dmol-portal-kpis article{box-shadow:none;border-color:var(--dmol-adult-border)}
.dmol-portal-shell[data-dmol-visual-profile="adult"] .dmol-portal-kpis span{color:var(--dmol-adult-muted)}
@media(max-width:760px){
  .dmol-portal-shell[data-dmol-visual-profile="adult"] .dmol-portal-pagehead h1{font-size:25px}
  .dmol-portal-shell[data-dmol-visual-profile="adult"] .dmol-portal-panel-head{gap:8px}
  .dmol-portal-shell[data-dmol-visual-profile="adult"] .dmol-portal-pagehead{gap:7px}
}
@media(prefers-reduced-motion:reduce){
  .dmol-portal-shell[data-dmol-visual-profile="adult"] :is(.dmol-library-item-card,.dmol-portal-course-card.dmol-shared-course-card){transition:none}
}
