:root{--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", "Segoe UI", system-ui, sans-serif;--font-mono:"SFMono-Regular", "SF Mono", ui-monospace, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--font-size-body:13px;--font-size-body-sm:12px;--font-size-label:11px;--font-size-caption:10px;--font-size-title-lg:17px;--font-size-title-md:15px;--font-size-title-sm:14px;--tracking-tight:0;--tracking-label:.024em;--tracking-caps:.032em;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--app-bg:#eef7fc;--surface:#fff;--surface-soft:#f9fcff;--surface-muted:#eef6fb;--surface-strong:#e1edf4;--text:#143f4d;--text-muted:#6f8e99;--text-soft:#9eb4bd;--line:#dbe9f0;--line-strong:#c5dbe5;--primary:#1fc2dc;--primary-dark:#0b5f76;--primary-soft:#1fc2dc24;--accent:var(--primary);--teal:#2ac8b7;--blue:#5f8fff;--green:#37c7a0;--red:#f2717d;--orange:#f4ab47;--violet:#967cf0;--pink:#ef75b8;--info:var(--primary);--success:var(--green);--warning:var(--orange);--danger:var(--red);--neutral:var(--text-muted);--shadow:0 18px 46px #2248541a;--shadow-card:0 10px 28px #0c273014;--overlay:#1c374075;--topbar-height:64px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--app-bg:#0c0f14;--surface:#141a22;--surface-soft:#161e28;--surface-muted:#1c2531;--surface-strong:#243043;--text:#e6f3f6;--text-muted:#8aa1ab;--text-soft:#61737d;--line:#2a3543;--line-strong:#3a4658;--primary:#46d3ea;--primary-dark:#d9f5fb;--primary-soft:#46d3ea29;--shadow:0 18px 46px #0000006b;--shadow-card:0 10px 28px #0000004d;--overlay:#02060ab8;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh;font-family:var(--font-sans);font-size:var(--font-size-body);letter-spacing:0;background:var(--app-bg);color:var(--text);line-height:1.45}button,input,select,textarea{font:inherit;letter-spacing:inherit;font-family:inherit}button{color:inherit}code,pre,kbd,samp{font-family:var(--font-mono);letter-spacing:0}a{color:var(--primary-dark);text-decoration:none}a:hover{text-decoration:underline}input,textarea,select{border:1px solid var(--line);background:var(--surface);height:34px;color:var(--text);font-size:var(--font-size-body);border-radius:6px;outline:none;padding:0 10px;transition:border-color .15s,box-shadow .15s}textarea{height:auto;min-height:80px;padding:8px 10px;line-height:1.4}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}input::placeholder,textarea::placeholder{color:var(--text-soft)}label.field{flex-direction:column;gap:6px;display:flex}label.field>.field-label{color:var(--text-muted);font-size:var(--font-size-label);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:700}.role-picker{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));grid-auto-rows:1fr;align-items:stretch;gap:8px;display:grid}.role-picker-card{border:1px solid var(--line);background:var(--surface);min-width:0;height:100%;min-height:62px;color:var(--text);text-align:left;cursor:pointer;border-radius:6px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:4px;padding:9px 10px;display:flex}.role-picker-card span{font-size:var(--font-size-body-sm);font-weight:750;line-height:1.2}.role-picker-card small{color:var(--text-muted);font-size:var(--font-size-caption);line-height:1.25}.role-picker-card.active{border-color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 26%, transparent)}.primary-button,.ghost-button,.icon-only{min-height:30px;line-height:1;font-size:var(--font-size-body-sm);letter-spacing:0;cursor:pointer;white-space:nowrap;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:600;transition:background .15s,color .15s,box-shadow .15s,border-color .15s;display:inline-flex}.primary-button{background:var(--primary-dark);color:#fff;box-shadow:0 10px 22px #0b5f7638}.primary-button:hover:not(:disabled){background:color-mix(in srgb, var(--primary-dark) 84%, #000)}.primary-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.ghost-button{color:var(--text-muted);border:1px solid var(--line);background:0 0}.ghost-button:hover:not(:disabled){border-color:var(--primary);color:var(--text)}.ghost-button.active{background:var(--primary-dark);color:#fff;border-color:var(--primary-dark);box-shadow:0 10px 22px #0b5f7638}.link-button{color:var(--primary-dark);font-size:var(--font-size-body-sm);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.link-button:hover{text-decoration:underline}.topbar{min-height:var(--topbar-height);z-index:100;background:color-mix(in srgb, var(--surface-soft) 92%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);align-items:center;gap:12px;padding:0 16px 0 24px;display:flex;position:sticky;top:0;box-shadow:0 8px 20px #0c27300f}.brand{min-width:184px;color:var(--text);font-size:var(--font-size-title-sm);letter-spacing:-.02em;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;font-weight:600;display:inline-flex}.brand-logo{color:#0000;letter-spacing:.06em;background:0 0;border:0;border-radius:9px;flex:0 0 50px;justify-content:center;align-items:center;width:50px;height:28px;font-size:12px;font-weight:850;line-height:1;display:inline-flex;position:relative;overflow:hidden}.brand-logo:before,.brand-logo:after{clip-path:polygon(0 0,76% 0,100% 100%,27% 100%);content:"";background:#6f919b;width:32px;height:22px;position:absolute;top:3px}.brand-logo:before{left:0}.brand-logo:after{opacity:.75;left:20px}:root[data-theme=dark] .brand-logo:before,:root[data-theme=dark] .brand-logo:after{background:#d4e3e8}.brand-wordmark{flex-direction:column;align-items:flex-start;min-width:0;line-height:1.1;display:flex}.brand-wordmark-title{color:var(--text)}.brand-wordmark-host{color:var(--text-muted);font-size:var(--font-size-caption);letter-spacing:.05em;font-weight:600}.main-nav{background:var(--surface-muted);min-width:0;box-shadow:inset 0 0 0 1px var(--line);border-radius:22px;flex:auto;align-items:center;gap:4px;padding:4px;display:flex;position:relative}.main-nav button{min-height:30px;color:var(--text-muted);font-size:var(--font-size-body-sm);letter-spacing:-.012em;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;flex:none;padding:0 16px;font-weight:600}.main-nav button:hover{color:var(--text)}.main-nav button.active{background:var(--primary-dark);color:#fff;box-shadow:0 10px 22px #0b5f7638}.session-actions{flex:none;align-items:center;gap:10px;min-width:0;display:inline-flex}.session-user{text-align:right;gap:2px;min-width:0;max-width:220px;display:inline-grid}.session-user b,.session-user span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.session-user b{color:var(--text);font-size:var(--font-size-body-sm);letter-spacing:-.014em;font-weight:700}.session-user span{color:var(--text-muted);font-size:var(--font-size-caption)}.theme-toggle-button{min-width:34px;padding:8px 10px}@media (width<=940px){.topbar{flex-wrap:wrap;align-items:center;padding:10px 12px}.brand{flex:180px;min-width:0}.main-nav{scrollbar-width:none;flex:1 0 100%;order:3;overflow:auto hidden}.main-nav::-webkit-scrollbar{display:none}.session-actions{margin-left:auto}}@media (width<=560px){.brand-logo{flex-basis:42px;width:42px}.brand-wordmark-title{font-size:var(--font-size-body)}.brand-wordmark-host,.session-user{display:none}.main-nav button{padding:0 14px}}.platform{background:var(--app-bg);min-height:100vh;color:var(--text);letter-spacing:0}.workspace{min-height:calc(100vh - var(--topbar-height));min-width:0;max-width:1180px;margin:0 auto;padding:24px 16px 48px}.panel{background:var(--surface);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-card);border-radius:8px}.panel+.panel{margin-top:16px}.panel-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:20px 24px;display:flex}.panel-header h1,.panel-header h2{font-size:var(--font-size-title-lg);letter-spacing:-.02em;color:var(--text);margin:0;font-weight:700}.panel-header p{color:var(--text-muted);font-size:var(--font-size-body-sm);margin:4px 0 0}.panel-body{min-width:0;padding:20px 24px}.panel-body>*+*{margin-top:14px}.panel-body.learning-stage-grid>*+*,.panel-body.role-track-grid>*+*,.panel-body.quiz-panel-body>*+*{margin-top:0}.admin-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:6px;width:100%;min-width:0;padding-bottom:0;display:flex;overflow:auto hidden}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;margin-bottom:-1px;padding:8px 14px;font-weight:500}.admin-tab.active{border-color:var(--primary);color:var(--text);font-weight:700}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;min-width:0;max-width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:520px}.admin-table-wide{min-width:680px}.profile-details{grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:10px 16px;margin:0;display:grid}.profile-details dt{color:var(--text-muted);font-weight:600}.profile-details dd{overflow-wrap:anywhere;min-width:0;margin:0}.quiz-panel-body{flex-direction:column;gap:14px;display:flex}.quiz-question-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;min-width:0;margin:0;padding:12px 14px 14px}.quiz-question-legend{font-size:var(--font-size-body);padding:0 6px;font-weight:700}.quiz-question-prompt{color:var(--text);margin-bottom:10px;font-weight:600}.quiz-option-grid,.quiz-result-option-grid{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:8px;display:grid}.quiz-option{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:flex-start;gap:9px;min-width:0;min-height:38px;padding:9px 10px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.quiz-option:hover{border-color:var(--line-strong);background:var(--surface)}.quiz-option.selected{border-color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 26%, transparent)}.quiz-option input[type=radio],.quiz-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-dark);flex:none;margin:1px 0 0;padding:0}.quiz-option-text{overflow-wrap:anywhere;min-width:0;line-height:1.35}.quiz-result-option{background:color-mix(in srgb, var(--surface) 76%, transparent);overflow-wrap:anywhere;border-radius:6px;min-width:0;padding:6px 8px}.learning-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.learning-summary-main{flex:520px;align-items:center;gap:22px;min-width:0;display:flex}.learning-summary-copy{flex:320px;min-width:min(320px,100%)}.learning-summary-stats{flex-wrap:wrap;gap:24px;display:flex}.learning-stage-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));grid-auto-rows:1fr;align-items:stretch;gap:14px;display:grid}.role-track-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));grid-auto-rows:1fr;align-items:stretch;gap:10px;display:grid}.learning-stage-grid>article{height:100%}.role-track-item{border:1px solid var(--line);background:var(--surface-soft);min-width:0;height:100%;min-height:58px;color:var(--text);text-align:left;border-radius:6px;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:10px 12px;display:flex}.learning-stage-grid>article>.ghost-button,.learning-stage-grid>article>.pill{margin-top:auto}.role-track-item:hover{border-color:var(--primary)}.role-track-item span{overflow-wrap:anywhere;font-weight:700;line-height:1.25}.role-track-item small{color:var(--text-muted);font-size:var(--font-size-caption);letter-spacing:var(--tracking-label);text-transform:uppercase;margin-top:auto;font-weight:700}.learning-secondary-grid{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:14px;display:grid}@media (width<=560px){.panel-header,.panel-body{padding-left:16px;padding-right:16px}.profile-details{grid-template-columns:1fr;gap:4px}.profile-details dt:not(:first-child){margin-top:8px}.learning-summary{align-items:flex-start}.learning-summary-main{flex-direction:column;align-items:flex-start}.learning-summary-copy{width:100%;min-width:0}.learning-summary-copy h1{font-size:var(--font-size-title-lg);line-height:1.25}.learning-summary-stats{gap:14px 20px}}@media (width<=640px){.workspace{padding:24px 16px 44px}.panel-header{align-items:flex-start}.panel-header .primary-button,.panel-header .ghost-button{width:100%}.admin-tabs{border-bottom:0;flex-wrap:wrap;overflow:visible}.admin-tab{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:6px;flex:calc(50% - 6px);margin-bottom:0}.admin-tab.active{border-color:var(--primary);background:var(--primary-soft)}.admin-table-card-list,.admin-table-card-list.admin-table-wide{border-collapse:separate;border-spacing:0;min-width:0}.admin-table-card-list thead{display:none}.admin-table-card-list tbody{gap:10px;display:grid}.admin-table-card-list tr{background:var(--surface);border-radius:8px;gap:8px;padding:12px;display:grid;border:1px solid var(--line)!important}.admin-table-card-list td{border:0;grid-template-columns:minmax(90px,38%) minmax(0,1fr);gap:10px;min-width:0;display:grid;text-align:left!important;padding:0!important}.admin-table-card-list td:before{content:attr(data-label);color:var(--text-soft);font-size:var(--font-size-caption);letter-spacing:var(--tracking-caps);text-transform:uppercase;font-weight:750}.admin-table-card-list td[data-label=""]{grid-template-columns:1fr}.admin-table-card-list td[data-label=""]:before{display:none}.admin-table-card-list td .ghost-button{width:100%;margin-top:6px;margin-left:0!important}}.pill{border:1px solid color-mix(in srgb, var(--primary) 24%, var(--line));background:var(--primary-soft);min-height:22px;color:var(--primary-dark);font-size:var(--font-size-caption);letter-spacing:var(--tracking-label);text-transform:uppercase;border-radius:999px;align-items:center;gap:5px;padding:0 8px;font-weight:700;display:inline-flex}.pill-neutral{background:var(--surface-muted);color:var(--text-muted);border-color:var(--line)}.pill-warning{background:color-mix(in srgb, var(--warning) 16%, var(--surface));color:color-mix(in srgb, var(--warning) 60%, #6b3a00);border-color:color-mix(in srgb, var(--warning) 32%, var(--line))}.pill-success{background:color-mix(in srgb, var(--success) 16%, var(--surface));color:color-mix(in srgb, var(--success) 60%, #0a4f3a);border-color:color-mix(in srgb, var(--success) 32%, var(--line))}.pill-danger{background:color-mix(in srgb, var(--danger) 16%, var(--surface));color:color-mix(in srgb, var(--danger) 60%, #66161e);border-color:color-mix(in srgb, var(--danger) 32%, var(--line))}.callout{border:1px solid var(--line);background:var(--surface-soft);font-size:var(--font-size-body-sm);color:var(--text);border-radius:10px;padding:12px 14px}.callout-error{background:color-mix(in srgb, var(--danger) 10%, var(--surface));border-color:color-mix(in srgb, var(--danger) 32%, var(--line));color:color-mix(in srgb, var(--danger) 60%, #66161e)}.callout-success{background:color-mix(in srgb, var(--success) 10%, var(--surface));border-color:color-mix(in srgb, var(--success) 32%, var(--line));color:color-mix(in srgb, var(--success) 60%, #0a4f3a)}.prose{font-size:var(--font-size-body);color:var(--text);line-height:1.6}.prose h1,.prose h2,.prose h3,.prose h4{letter-spacing:-.02em;color:var(--text);margin:1.2em 0 .4em}.prose h1{font-size:22px}.prose h2{font-size:18px}.prose h3{font-size:16px}.prose p{margin:.6em 0}.prose ul,.prose ol{margin:.6em 0;padding-left:1.4em}.prose li{margin:.25em 0}.prose blockquote{border-left:3px solid var(--primary);background:var(--primary-soft);color:var(--text);border-radius:0 8px 8px 0;margin:.8em 0;padding:8px 14px}.prose code{background:var(--surface-muted);border:1px solid var(--line);border-radius:4px;padding:1px 6px;font-size:.9em}.prose pre{border:1px solid var(--line);background:#f5fbfd;border-radius:10px;margin:.8em 0;padding:14px 16px;overflow:auto}.prose pre code{background:0 0;border:0;padding:0;font-size:.9em}.prose a{color:var(--primary-dark);text-underline-offset:2px;text-decoration:underline}
