:root{--font-text: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-heading: "Space Grotesk", var(--font-text);--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-family:var(--font-text);color:#111827;background:#f4f6fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box;border-radius:0;font-weight:400}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}code,pre,kbd,.nav-section-title,.section-kicker,.admin-table th,.landing-counter dt,.dashboard-context-label,.tag,.status-badge,.difficulty{font-family:var(--font-mono)}button{cursor:pointer}.product-shell{min-height:100vh;display:grid;grid-template-columns:272px minmax(0,1fr);background:#f4f6fa}.sidebar{min-height:100vh;background:#101827;color:#f8fafc;display:flex;flex-direction:column;padding:18px 14px}.brand-block,.profile-chip{display:flex;gap:10px;align-items:center;min-width:0}.brand-block{margin-bottom:34px}.interactive-identity{width:100%;border:0;background:transparent;color:inherit;padding:0;text-align:left}.interactive-identity:hover strong,.interactive-identity:focus-visible strong{color:#fff}.interactive-identity:focus-visible,.user-menu-trigger:focus-visible{outline:2px solid var(--color-brand-muted);outline-offset:3px}.brand-mark,.avatar,.user-avatar{width:32px;height:32px;display:grid;place-items:center;background:var(--color-brand);color:#fff;flex:0 0 32px;overflow:hidden}.user-avatar{flex:0 0 32px;overflow:hidden;padding:0;font-size:.8rem;line-height:1;text-transform:uppercase;white-space:nowrap}.user-avatar:hover{background:var(--color-brand-strong)}.user-menu-trigger{width:32px;height:32px;border:0;display:grid;place-items:center;padding:0;background:transparent}.user-menu-trigger:hover .user-avatar{background:var(--color-brand-strong)}.user-menu{position:relative;flex:0 0 32px;width:32px}.user-menu-panel{position:absolute;z-index:30;top:calc(100% + 10px);right:0;width:240px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 18px 36px #0f172a29;padding:8px}.user-menu-summary{display:grid;gap:3px;padding:8px 10px 10px;border-bottom:1px solid #e5e7eb;margin-bottom:6px}.user-menu-summary strong{color:#0f172a;font-size:.9rem}.user-menu-summary span{color:#64748b;font-size:.78rem;overflow:hidden;text-overflow:ellipsis}.user-menu-panel button{width:100%;min-height:36px;border:0;display:flex;align-items:center;gap:9px;padding:8px 10px;background:transparent;color:#0f172a;text-align:left}.user-menu-panel button:hover{background:var(--color-brand-soft);color:var(--color-brand-strong)}.user-menu-panel .danger-menu-action{color:#dc2626}.user-menu-panel .danger-menu-action:hover{background:#fef2f2;color:#b91c1c}.brand-block>div,.profile-chip>div{min-width:0;overflow:hidden}.brand-block>div>strong,.profile-chip>div>strong{display:block;line-height:1;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-block>div>span,.profile-chip>div>span{display:block;color:#94a3b8;font-size:.72rem;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-nav{display:grid;gap:18px}.nav-section{display:grid;gap:6px}.nav-section-title{padding:0 12px;color:#64748b;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.nav-section-list{display:grid;gap:5px}.nav-item{width:100%;border:0;background:transparent;color:#94a3b8;display:flex;gap:10px;align-items:center;padding:10px 12px;text-align:left;min-width:0}.nav-item svg{flex:0 0 auto}.nav-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item:hover,.nav-item.active{color:#fff;background:#1e293b}.sidebar-footer{margin-top:auto;display:grid;gap:12px}.profile-chip{padding:10px 8px}.workspace{min-width:0}.topbar{height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 28px;background:#fff;border-bottom:1px solid #e5e7eb}.search-box{width:min(460px,100%);height:36px;display:flex;align-items:center;gap:10px;padding:0 12px;background:#f8fafc;border:1px solid #e5e7eb;color:#64748b}.search-box input{width:100%;border:0;outline:0;background:transparent;color:#111827}.topbar-actions,.toolbar-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto;min-width:max-content}.topbar-heading{display:flex;align-items:center;gap:10px;min-width:0}.mobile-menu-button.icon-button,.mobile-nav-backdrop{display:none}.icon-button{width:34px;height:34px;min-width:34px;flex:0 0 34px;border:0;background:#fff;color:#334155;display:grid;place-items:center}.notification-button{position:relative}.notification-button:after{content:"";width:7px;height:7px;background:#94a3b8;position:absolute;top:6px;right:7px}.notification-button.connected:after{background:#10b981}.notification-button.connecting:after,.notification-button.closed:after{background:#f59e0b}.notification-button.error:after{background:#ef4444}.view-frame{padding:28px}.screen-grid{display:grid;gap:18px}.two-columns,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:1 / -1}.hero-panel,.content-section,.metric-card,.project-card,.concept-detail,.side-panel,.admin-toolbar,.bulk-bar,.admin-table{background:#fff;border:1px solid #e5e7eb;box-shadow:0 12px 28px #0f172a0a}.hero-panel{min-height:170px;padding:28px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.hero-panel.compact{min-height:132px}.section-kicker{margin:0 0 8px;color:var(--color-kicker);font-size:.75rem;text-transform:uppercase}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}h1,h2,h3,p{letter-spacing:0}h1{margin:0;font-size:2rem;line-height:1.08}h2{margin:0;font-size:1rem}h3{margin:10px 0 8px;font-size:.96rem}p{color:#64748b;line-height:1.55}.loading-line,.form-error{margin-bottom:0;font-size:.86rem}.form-error{color:#dc2626}.primary-action,.secondary-action,.danger-action,.text-action{min-height:36px;border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px}.primary-action{background:var(--color-brand);color:#fff}.primary-action:disabled{cursor:not-allowed;opacity:.68}.secondary-action:disabled,.danger-action:disabled{cursor:not-allowed;opacity:.48}.secondary-action{background:#f8fafc;border:1px solid #e5e7eb;color:#334155}.danger-action{background:#fef2f2;color:#dc2626}.text-action{color:var(--color-brand);background:transparent;padding:0}.metric-card{padding:20px}.section-header,.meta-line{display:flex;justify-content:space-between;align-items:center;gap:12px}.meta-line span{color:#64748b;font-size:.8rem}.api-card{display:grid;gap:8px}.api-card p{margin:0;font-size:.82rem}.api-dot{width:12px;height:12px;background:#94a3b8}.api-dot.ready{background:#10b981}.api-dot.loading{background:#f59e0b}.api-dot.error{background:#ef4444}.content-section{padding:20px}.section-header{margin-bottom:16px}.concept-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.concept-card,.task-item{border:1px solid #e5e7eb;background:#fff}.concept-card{min-height:190px;padding:16px;position:relative}.card-icon{width:32px;height:32px;display:grid;place-items:center;background:#f1f5f9}.tag,.difficulty,.status-badge{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;font-size:.72rem}.tag{position:absolute;right:12px;top:14px;background:var(--color-brand-tint);color:var(--color-brand-strong)}.tag.maitrise,.status-badge.actif{background:#dcfce7;color:#15803d}.status-badge.invite{background:#fef3c7;color:#b45309}.concept-card p,.project-card p{font-size:.84rem}.concept-card footer{display:flex;justify-content:space-between;color:#64748b;font-size:.75rem;margin-top:18px}.task-list{display:grid;gap:10px}.task-item{min-height:48px;width:100%;color:#111827;display:grid;align-items:center;gap:10px;padding:0 12px}.task-item{grid-template-columns:auto 1fr auto;text-align:left}.task-item small{display:block;color:#64748b}.project-card{padding:22px}.mini-meta-row{display:flex;flex-wrap:wrap;gap:8px;color:#64748b;font-size:.82rem}.mini-meta-row span{border:1px solid #e5e7eb;padding:4px 8px}.referential-layout{grid-template-columns:minmax(260px,.7fr) minmax(0,1fr)}.subject-list,.concept-chip-row{display:grid;gap:10px}.compact-subject-list{grid-template-columns:repeat(3,minmax(0,1fr))}.empty-state{color:#64748b;font-size:.82rem}.subject-panel{align-self:start}.subject-card{width:100%;border:1px solid #e5e7eb;background:#fff;color:#111827;padding:14px;text-align:left}.subject-card:hover,.subject-card.active{border-color:#94a3b8;background:var(--color-brand-soft)}.subject-card h3{margin-bottom:8px}.subject-card .subject-context{color:#64748b;font-size:.78rem;margin:-4px 0 8px}.subject-card p{color:#475569;font-size:.88rem}.subject-learning-detail{display:grid;gap:16px}.subject-overview{border:1px solid #e5e7eb;padding:18px}.external-link-list{display:grid;gap:10px}.resource-flags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.resource-flags span,.section-type-label{width:fit-content;background:#f1f5f9;color:#334155;padding:6px 9px;font-size:.74rem}.section-type-label{display:inline-flex;margin-bottom:10px;background:var(--color-brand-tint);color:var(--color-brand-strong)}.external-link-list a{color:#111827;border:1px solid #e5e7eb;padding:10px;text-decoration:none}.external-link-list span{display:block;color:#64748b;font-size:.8rem;margin-top:4px}.concept-chip{width:fit-content;background:var(--color-concept-bg);color:var(--color-concept-ink);font-size:.8rem;padding:7px 9px}.concept-layout{grid-template-columns:minmax(0,1fr) 290px}.concept-detail,.side-panel{padding:24px}.lead{max-width:760px}.link-pill{border:1px solid #e5e7eb;background:#f8fafc;color:#334155;padding:7px 10px;font-size:.78rem}.knowledge-card{background:#f8fafc;padding:18px}.side-panel{align-self:start;display:grid;gap:14px}.link-pill{width:100%;text-align:left}.side-panel>*,.side-panel .link-pill{min-width:0;max-width:100%;overflow-wrap:anywhere}.tag-inline{width:fit-content;background:var(--color-brand-tint);color:var(--color-brand-strong)!important;padding:4px 8px}.difficulty{background:#dcfce7;color:#15803d}.admin-view{display:grid;gap:14px}.path-form label,.form-select-field{display:grid;gap:7px;color:#334155;font-size:.82rem}.path-form input,.path-form textarea{height:38px;border:1px solid #cbd5e1;padding:0 10px;background:#fff}.input-shell{min-height:38px;border:1px solid #cbd5e1;display:flex;align-items:center;gap:8px;padding:0 10px;background:#fff;color:var(--color-brand-icon)}.input-shell input{height:auto;min-height:36px;border:0;flex:1 1 auto;min-width:0;padding:0}.input-shell input:focus{box-shadow:none}.input-shell:focus-within{border-color:#94a3b8;box-shadow:0 0 0 3px rgb(var(--color-brand-icon-rgb) / .12)}.path-form textarea{min-height:92px;resize:vertical;padding:10px}.form-select-field{position:relative}.form-select-trigger{height:38px;width:100%;border:1px solid #cbd5e1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 10px;background:#fff;color:#0f172a;text-align:left}.form-select-trigger:hover:not(:disabled),.form-select-trigger[aria-expanded=true]{border-color:#94a3b8;box-shadow:0 0 0 3px rgb(var(--color-brand-icon-rgb) / .12)}.form-select-trigger:disabled{cursor:not-allowed;background:#f8fafc;color:#94a3b8}.form-select-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-select-menu{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;max-height:240px;overflow:auto;border:1px solid var(--color-border);background:#fff;box-shadow:0 18px 36px #0f172a29;padding:6px;scroll-margin-bottom:16px}.form-select-option{width:100%;min-height:36px;border:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;background:transparent;color:#0f172a;font-size:.86rem;text-align:left}.form-select-menu.opens-up{top:auto;bottom:calc(100% + 6px)}.form-select-hint{display:block;margin-top:2px;color:#64748b;font-size:.76rem}.form-select-option:hover,.form-select-option.selected{background:var(--color-brand-soft);color:var(--color-brand-strong)}.path-form{display:grid;gap:18px}.auth-flow{display:grid;gap:16px}.segmented-control{width:fit-content;max-width:100%;border:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:4px;padding:4px;background:#f8fafc}.segmented-control button{min-height:34px;border:0;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;background:transparent;color:#475569}.segmented-control button:hover,.segmented-control button.active{background:var(--color-brand);color:#fff}.success-line{margin:0;color:#047857}.inline-helper-action{display:inline-flex;align-items:center;gap:7px}.inline-helper-action{width:fit-content;min-height:32px;border:0;background:transparent;color:var(--color-brand-strong);padding:0;font-size:.82rem}.inline-helper-action:hover{color:var(--color-brand-ink)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.checkbox-row{display:flex;flex-wrap:wrap;gap:12px}.checkbox-row label{min-height:38px;border:1px solid #e5e7eb;display:inline-flex;align-items:center;gap:8px;padding:0 10px;background:#fff;color:#334155;font-size:.84rem}.admin-toolbar{padding:22px;display:flex;justify-content:space-between;gap:16px}.admin-toolbar p{margin-bottom:0}.admin-content-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.content-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin-bottom:14px}.content-type-grid button,.admin-content-list button{width:100%;border:1px solid #e5e7eb;display:grid;gap:4px;padding:11px;background:#fff;color:#0f172a;text-align:left}.content-type-grid button:hover,.content-type-grid button.active,.admin-content-list button:hover,.admin-content-list button.selected{border-color:#94a3b8;background:var(--color-brand-soft)}.content-type-grid span,.admin-content-list span,.admin-content-list p{margin:0;color:#64748b;font-size:.8rem}.admin-content-list{display:grid;gap:8px;max-height:620px;overflow:auto}.content-bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:10px;border:1px solid #e5e7eb;background:#f8fafc}.content-bulk-bar strong{margin-right:auto}.list-filter{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 10px;margin-bottom:12px;border:1px solid #cbd5e1;background:#fff;color:#64748b;max-width:420px}.list-filter input{flex:1 1 auto;min-width:0;border:0;height:34px;padding:0;background:transparent;color:#0f172a}.list-filter input:focus{box-shadow:none;outline:none}.list-filter input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.list-filter:focus-within{border-color:#94a3b8;box-shadow:0 0 0 3px rgb(var(--color-brand-icon-rgb) / .12)}.list-filter-count{flex:none;color:#64748b;font-size:.78rem;white-space:nowrap}.list-filter button{flex:none;display:inline-flex;border:0;padding:2px;background:transparent;color:#64748b}.list-filter button:hover{color:var(--color-brand-strong)}.form-select-search{position:sticky;top:0;display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #e5e7eb;background:#fff;color:#64748b}.form-select-search input{flex:1 1 auto;min-width:0;border:0;height:24px;padding:0;background:transparent;color:#0f172a}.form-select-search input:focus{box-shadow:none;outline:none}.form-select-empty{margin:0;padding:10px 12px;color:#64748b;font-size:.82rem}.referential-steps{display:grid;gap:16px}.referential-step{display:grid;grid-template-columns:170px minmax(0,1fr);gap:12px;align-items:start}.step-label{display:inline-flex;align-items:center;gap:8px;padding-top:9px;color:#334155;font-size:.84rem}.step-label svg{color:var(--color-brand-icon)}.step-number{flex:none;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--color-brand-tint);color:var(--color-brand-strong);font-size:.75rem;font-weight:600}.choice-chip-row{display:flex;flex-wrap:wrap;gap:8px}.choice-chip-row .list-filter{flex:1 1 100%;margin-bottom:2px}.choice-chip-row .step-select{flex:0 1 480px;min-width:min(100%,260px)}.choice-chip-row .step-select>span{display:none}.choice-chip{border:1px solid #e5e7eb;background:#fff;color:#0f172a;padding:8px 12px;text-align:left;display:grid;gap:2px}.choice-chip small{color:#64748b;font-size:.75rem}.choice-chip:hover{border-color:#94a3b8;background:var(--color-brand-soft)}.choice-chip.active{border-color:#94a3b8;background:var(--color-brand-soft);color:var(--color-brand-strong);box-shadow:inset 0 0 0 1px #94a3b8}.choice-chip.active small{color:var(--color-brand)}.selection-summary{margin-bottom:14px;display:grid;gap:4px}.selection-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;color:#475569;font-size:.84rem}.selection-breadcrumb svg{color:var(--color-brand-icon)}.selection-source{margin:0;color:#94a3b8;font-size:.78rem}@media(max-width:760px){.referential-step{grid-template-columns:1fr;gap:6px}.step-label{padding-top:0}}.form-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;border:0;padding:0;background:#0f172a73;cursor:pointer}.form-drawer{position:fixed;top:0;right:0;z-index:71;width:min(620px,100vw);max-height:100dvh;display:flex;flex-direction:column;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:-18px 0 48px #0f172a2e;animation:drawer-in .18s ease-out both}@keyframes drawer-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}@media(prefers-reduced-motion:reduce){.form-drawer{animation:none}}.form-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid #e5e7eb}.form-drawer-head h2{margin:0;font-size:1.05rem;display:inline-flex;align-items:center;gap:10px}.form-drawer-head h2 svg{color:var(--color-brand-icon);flex:none}.form-drawer-body{overflow-y:auto;padding:20px}.icon-action{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #e5e7eb;background:#fff;color:#334155}.icon-action:hover{border-color:#94a3b8;color:var(--color-brand-strong)}.form-section{border:1px solid #e5e7eb;background:#f8fafc}.form-section summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;cursor:pointer;list-style:none;color:#475569;font-size:.84rem}.form-section summary::-webkit-details-marker{display:none}.form-section-title{display:inline-flex;align-items:center;gap:8px}.form-section-title svg{color:var(--color-brand-icon)}.form-section-chevron{transition:transform var(--motion-fast) var(--motion-ease)}.form-section[open] .form-section-chevron{transform:rotate(180deg)}.form-section-body{display:grid;gap:14px;padding:12px;border-top:1px solid #e5e7eb}.admin-content-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px}.admin-content-row>input{margin-top:14px}.admin-filters,.table-summary,.pagination-bar{background:#fff;border:1px solid #e5e7eb;box-shadow:0 12px 28px #0f172a0a}.admin-filters{display:grid;grid-template-columns:minmax(260px,1.4fr) repeat(4,minmax(145px,.7fr)) auto;align-items:end;gap:10px;padding:14px 16px}.admin-filters label,.admin-filters .form-select-field{display:grid;gap:6px;color:#334155;font-size:.78rem}.admin-filters input{height:38px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;padding:0 10px}.filter-search{position:relative}.filter-search svg{position:absolute;left:10px;bottom:11px;color:#64748b}.filter-search input{padding-left:34px}.bulk-bar{min-height:54px;display:flex;align-items:center;gap:10px;padding:0 16px}.table-summary,.pagination-bar{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;color:#475569;font-size:.86rem}.pagination-bar{justify-content:flex-end}.admin-table{width:100%;border-collapse:collapse;overflow:hidden}.admin-table th,.admin-table td{text-align:left;padding:15px;border-bottom:1px solid #e5e7eb}.admin-table th{color:#64748b;font-size:.76rem;text-transform:uppercase}.admin-table td span{display:block;color:#64748b;font-size:.8rem}.admin-table tr.selected{background:var(--color-brand-soft)}.empty-table-cell{color:#64748b;text-align:center!important}.status-badge.inactif{background:#f1f5f9;color:#475569}.status-badge.invite{background:#ffedd5;color:#c2410c}@media(max-width:1180px){.two-columns,.project-grid,.concept-layout{grid-template-columns:1fr}.concept-row{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-subject-list,.form-grid{grid-template-columns:1fr}.admin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-content-grid{grid-template-columns:1fr}}@media(max-width:760px){.product-shell{grid-template-columns:1fr}.sidebar{min-height:auto}.main-nav{gap:14px}.nav-section-list{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar,.hero-panel,.admin-toolbar,.bulk-bar,.table-summary,.pagination-bar{align-items:stretch;flex-direction:column}.topbar{height:auto;min-height:58px;padding:12px 16px}.topbar-actions{justify-content:flex-end}.search-box{width:100%}.admin-filters{grid-template-columns:1fr}.view-frame{padding:16px}.concept-row{grid-template-columns:1fr}.admin-table{display:block;overflow-x:auto}}.health-checks{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none}.health-check{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border:1px solid var(--border, rgba(148, 163, 184, .35));font-size:11px;line-height:18px}.health-check strong{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.health-check.ok strong{color:#16a34a}.health-check.degraded strong{color:#dc2626}.health-check.skipped strong{color:#94a3b8}.notification-menu{position:relative}.notification-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;background:#dc2626;color:#fff;font-size:10px;line-height:16px;text-align:center}.notification-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:min(360px,90vw);max-height:420px;overflow-y:auto;padding:12px;border:1px solid var(--border, rgba(148, 163, 184, .35));background:var(--surface, #fff);box-shadow:0 18px 40px #0f172a2e}.notification-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.notification-actions{display:flex;align-items:center;gap:8px}.notification-panel-status,.notification-panel-empty{margin:0 0 8px;font-size:12px;opacity:.7}.notification-list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.notification-item.unread{background:#2563eb14}.notification-item-body{display:flex;flex-direction:column;gap:2px;width:100%;padding:8px;border:none;background:none;color:inherit;text-align:left;cursor:pointer}.notification-item-body span{font-size:12px;opacity:.8}.notification-item-body small{font-size:11px;opacity:.6}.link-action{border:none;background:none;color:var(--color-link);cursor:pointer;font-size:12px;padding:0}.link-action:disabled{color:#94a3b8;cursor:default}.search-box{position:relative}.search-suggestions{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;margin:0;padding:6px;list-style:none;display:grid;gap:2px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 18px 36px #0f172a29}.search-suggestions button{width:100%;min-height:34px;border:0;background:transparent;color:#111827;display:flex;align-items:center;gap:10px;padding:6px 8px;text-align:left}.search-suggestions button:hover,.search-suggestions button:focus-visible{background:var(--color-brand-soft);color:var(--color-brand-strong)}.search-suggestions .search-suggestions-all{color:var(--color-brand-strong);border-top:1px solid #e5e7eb}.concept-card.interactive{text-align:left;color:inherit;cursor:pointer}.concept-card.interactive:hover,.concept-card.interactive:focus-visible{border-color:#94a3b8}.link-pill.selected{background:var(--color-brand-tint);color:var(--color-brand-strong);border-color:#94a3b8}.link-pill svg{vertical-align:middle;margin-right:6px}.project-detail{display:grid;gap:12px}.project-field{display:grid;gap:6px}.project-field p{margin:0;color:#334155;line-height:1.5}.secret-block{display:grid;gap:8px;padding:12px;background:#f8fafc;border:1px solid #e5e7eb}.secret-block code{white-space:pre-wrap;word-break:break-all;font-size:.86rem;color:#111827}.session-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e5e7eb;background:#fff}.session-row>span{display:grid;gap:2px}.session-row small,.checkbox-row small{color:#64748b}.danger-zone{border-color:var(--color-border)}.path-form label.span-2{grid-column:1 / -1}.row-actions{display:flex;gap:4px}.icon-button.danger{color:#dc2626}.icon-button:disabled{opacity:.4;cursor:not-allowed}.audit-changes{font-size:.78rem;color:#334155;word-break:break-word}label.checkbox-row{align-items:center;gap:8px;min-height:38px;color:#334155;font-size:.82rem}.path-form .checkbox-row input[type=checkbox],.content-section .checkbox-row input[type=checkbox],.path-form label.checkbox-row input[type=checkbox],.content-section label.checkbox-row input[type=checkbox]{height:16px;width:16px;margin:0;padding:0}.proposal-fieldset{border:0;margin:0;padding:0;display:grid;gap:14px;min-width:0}.proposal-fieldset:disabled{opacity:.7}.proposal-section{display:grid;gap:8px;padding:12px;border:1px solid #e5e7eb;background:#f8fafc}.status-badge.submitted{background:#fef3c7;color:#92400e}.status-badge.draft{background:#f1f5f9;color:#334155}.status-badge.published{background:#dcfce7;color:#166534}:root{--color-ink: #0f172a;--color-text: #111827;--color-muted: #64748b;--color-border: #e5e7eb;--color-surface: #ffffff;--color-surface-soft: #f8fafc;--color-brand: #7c3aed;--color-brand-strong: #6d28d9;--color-brand-ink: #5b21b6;--color-brand-deep: #312e81;--color-brand-soft: #f5f3ff;--color-brand-wash: #faf9ff;--color-brand-tint: #ede9fe;--color-brand-tint-line: #ddd6fe;--color-brand-line: #c4b5fd;--color-brand-muted: #a78bfa;--color-brand-icon: #8b5cf6;--color-brand-on-dark: #c4b5fd;--color-brand-rgb: 124 58 237;--color-brand-icon-rgb: 139 92 246;--color-kicker: #7c3aed;--color-link: #2563eb;--color-concept-bg: #eef2ff;--color-concept-ink: #4338ca;--color-dot-grid: #e9e6f5;--color-nav-active-icon: currentColor;--gradient-brand-mark: linear-gradient(135deg, #7c3aed, #a855f7);--gradient-progress: linear-gradient(90deg, #7c3aed, #a855f7, #38bdf8);--gradient-timer: linear-gradient(90deg, #a855f7, #38bdf8);--gradient-cta-soft: linear-gradient(135deg, #ede9fe, #f5f3ff);--gradient-cta: linear-gradient(120deg, #ede9fe, #f5f3ff, #e0f2fe, #ede9fe);--landing-blob-a: rgb(167 139 250 / .55);--landing-blob-b: rgb(56 189 248 / .35);--landing-blob-c: rgb(16 185 129 / .25);--theme-band: none;--color-success: #15803d;--color-warning: #b45309;--color-danger: #dc2626;--shadow-card: 0 12px 28px rgb(15 23 42 / .04);--shadow-hover: 0 14px 30px rgb(15 23 42 / .1);--shadow-pop: 0 18px 36px rgb(15 23 42 / .16);--motion-fast: .14s;--motion-base: .22s;--motion-ease: cubic-bezier(.2, .8, .2, 1)}:root[data-theme=guinee]{--color-brand: #00794c;--color-brand-strong: #006b43;--color-brand-ink: #00553a;--color-brand-deep: #003d29;--color-brand-soft: #eefaf4;--color-brand-wash: #f6fcf9;--color-brand-tint: #d9f2e6;--color-brand-tint-line: #b9e4cf;--color-brand-line: #8fd1b3;--color-brand-muted: #009460;--color-brand-icon: #009460;--color-brand-on-dark: #fcd116;--color-brand-rgb: 0 121 76;--color-brand-icon-rgb: 0 148 96;--color-kicker: #ce1126;--color-link: #00794c;--color-concept-bg: #fdf6d3;--color-concept-ink: #5c4700;--color-dot-grid: #dcefe5;--color-nav-active-icon: #fcd116;--gradient-brand-mark: linear-gradient(135deg, #00794c, #009460);--gradient-progress: linear-gradient(90deg, #ce1126 0 33.34%, #fcd116 33.34% 66.67%, #009460 66.67%);--gradient-timer: linear-gradient(90deg, #009460, #fcd116);--gradient-cta-soft: linear-gradient(135deg, #e6f6ee, #f6fcf9);--gradient-cta: linear-gradient(120deg, #e6f6ee, #f6fcf9, #fdf8dc, #e6f6ee);--landing-blob-a: rgb(0 148 96 / .32);--landing-blob-b: rgb(252 209 22 / .3);--landing-blob-c: rgb(206 17 38 / .1);--theme-band: linear-gradient(90deg, #ce1126 0 33.34%, #fcd116 33.34% 66.67%, #009460 66.67%)}.sidebar,.topbar,.landing{position:relative}:root[data-theme=guinee] .sidebar:before,:root[data-theme=guinee] .landing:before{content:"";position:absolute;left:0;right:0;height:3px;background:var(--theme-band);pointer-events:none}:root[data-theme=guinee] .sidebar:before,:root[data-theme=guinee] .landing:before{top:0}@media(max-width:1023px){:root[data-theme=guinee] .topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--theme-band);pointer-events:none}}.nav-item.active svg{color:var(--color-nav-active-icon)}@keyframes view-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes soft-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}button,a,.nav-item,.subject-card,.concept-card,.task-item,.link-pill,.content-type-grid button,.admin-content-list button,.form-select-trigger,.path-form input,.path-form textarea,.admin-filters input,.search-box{transition:background-color var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-base) var(--motion-ease),transform var(--motion-base) var(--motion-ease),opacity var(--motion-fast) var(--motion-ease)}.view-enter{animation:view-enter var(--motion-base) var(--motion-ease) both}.user-menu-panel,.notification-panel,.form-select-menu,.search-suggestions{animation:pop-in var(--motion-fast) var(--motion-ease) both;transform-origin:top right}.form-select-menu,.search-suggestions{transform-origin:top left}.concept-card.interactive:hover,.subject-card:hover,.task-item:hover,.project-card:has(>.primary-action:hover){transform:translateY(-2px);box-shadow:var(--shadow-hover)}.task-item:hover{border-color:#94a3b8;background:var(--color-brand-soft)}.link-pill:hover{border-color:#94a3b8;background:var(--color-brand-soft);color:var(--color-brand-strong)}.primary-action:hover:not(:disabled){background:var(--color-brand-strong);box-shadow:0 8px 18px rgb(var(--color-brand-rgb) / .28)}.primary-action:active:not(:disabled),.secondary-action:active:not(:disabled),.danger-action:active:not(:disabled){transform:translateY(1px)}.secondary-action:hover:not(:disabled){border-color:#94a3b8;background:var(--color-brand-soft);color:var(--color-brand-strong)}.danger-action:hover:not(:disabled){background:#fee2e2;color:#b91c1c}.text-action:hover{color:var(--color-brand-strong);text-decoration:underline;text-underline-offset:3px}.icon-button:hover{background:var(--color-brand-soft);color:var(--color-brand-strong)}.icon-button.danger:hover{background:#fef2f2;color:#b91c1c}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.path-form input:focus,.path-form textarea:focus,.admin-filters input:focus{outline:none;border-color:#94a3b8;box-shadow:0 0 0 3px rgb(var(--color-brand-icon-rgb) / .14)}.search-box:focus-within{border-color:#94a3b8;background:var(--color-surface);box-shadow:0 0 0 3px rgb(var(--color-brand-icon-rgb) / .14)}.nav-item{position:relative;border-left:3px solid transparent;padding-left:9px}.nav-item:hover:not(.active){background:#1e293b99}.brand-mark{background:var(--gradient-brand-mark)}.section-header h2{display:flex;align-items:center;gap:8px}.section-header h2 svg{color:var(--color-brand);flex:0 0 auto}.section-kicker{display:flex;align-items:center;gap:6px;letter-spacing:.06em}.notice-bar{position:sticky;top:0;z-index:25;display:flex;align-items:center;gap:10px;margin:0 28px;padding:10px 14px;border:1px solid var(--color-border);border-top:0;background:var(--color-brand-soft);color:var(--color-brand-strong);font-size:.9rem;animation:slide-down var(--motion-base) var(--motion-ease) both}.notice-bar.success{border-color:var(--color-border);background:#f0fdf4;color:var(--color-success)}.notice-bar.error{border-color:var(--color-border);background:#fef2f2;color:var(--color-danger)}.notice-bar svg{flex:0 0 auto}.notice-bar span{flex:1 1 auto}.notice-bar .icon-button{width:28px;height:28px;min-width:28px;flex-basis:28px;background:transparent;color:inherit}.empty-panel{display:grid;justify-items:center;gap:8px;padding:28px 20px;border:1px dashed var(--color-border);background:var(--color-surface-soft);color:var(--color-muted);text-align:center}.empty-panel svg{color:var(--color-brand-muted)}.empty-panel strong{color:var(--color-ink)}.empty-panel p{margin:0;max-width:420px;font-size:.86rem}.empty-panel.compact{padding:16px;gap:4px}.skeleton-line,.loading-line{position:relative;color:var(--color-muted)}.skeleton-line{display:block;height:14px;background:linear-gradient(90deg,#eef2f7,#f8fafc,#eef2f7);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.skeleton-card{display:grid;gap:10px;min-height:150px;padding:16px;border:1px solid var(--color-border);background:var(--color-surface)}.status-badge{gap:6px}.status-badge:before{content:"";width:6px;height:6px;background:currentColor;flex:0 0 auto}.notification-badge{animation:soft-pulse 1.6s var(--motion-ease) 2}.hero-panel h1{max-width:24ch}.admin-table tbody tr{transition:background-color var(--motion-fast) var(--motion-ease)}.admin-table tbody tr:hover{background:var(--color-surface-soft)}.admin-table tr.selected:hover{background:var(--color-brand-soft)}.segmented-control button{transition:background-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.topbar-title{margin:0;flex:0 0 auto;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-ink);font-size:1rem;line-height:1.2}@media(max-width:760px){.topbar-title{max-width:none}}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;flex:0 0 auto}.resource-tabs{display:flex;flex-wrap:wrap;gap:8px}.resource-tabs .link-pill{width:auto;display:inline-flex;align-items:center;gap:8px}.resource-tabs small{color:var(--color-muted);font-size:.72rem}.helper-text{display:flex;align-items:flex-start;gap:8px;margin:0;color:#475569;font-size:.84rem;line-height:1.5}.helper-text svg,.form-error svg{flex:0 0 auto;margin-top:3px}.form-error{display:flex;align-items:flex-start;gap:8px}.review-note{display:flex;gap:10px;padding:12px 14px;border:1px solid var(--color-border);background:#fffbeb;color:#78350f}.review-note.approved{border-color:var(--color-border);background:#f0fdf4;color:#14532d}.review-note svg{flex:0 0 auto;margin-top:2px}.review-note strong{display:block;font-size:.84rem}.review-note p{margin:4px 0 0;color:inherit}.status-badge.rejected{background:#ffedd5;color:#9a3412}.status-badge:before{content:none}:root{--color-muted: #566579}p,.empty-state,.concept-card footer,.meta-line span,.mini-meta-row,.admin-table td span,.admin-content-list span,.admin-content-list p,.content-type-grid span,.session-row small,.resource-tabs small{color:var(--color-muted)}.link-action:disabled{color:#6b7a90}.status-badge.invite{background:#fef3c7;color:#92400e}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:#0f172a73;animation:backdrop-in var(--motion-fast) var(--motion-ease) both}.dialog-panel{width:min(440px,100%);display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;padding:20px;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-pop);animation:pop-in var(--motion-base) var(--motion-ease) both}.dialog-icon{width:36px;height:36px;display:grid;place-items:center;background:var(--color-brand-soft);color:var(--color-brand)}.dialog-panel.danger .dialog-icon{background:#fef2f2;color:var(--color-danger)}.dialog-body h2{margin:6px 0 4px;font-size:1rem;color:var(--color-ink)}.dialog-body p{margin:0;font-size:.9rem;line-height:1.5}.dialog-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.inline-field{display:flex;gap:6px;align-items:center}.inline-field input{flex:1 1 auto}.subject-card{position:relative}.subject-card .tag{position:static;display:inline-flex;margin-bottom:8px}:has(>.tag){position:relative}.view-enter{animation-fill-mode:backwards}.product-shell{transition:grid-template-columns var(--motion-base) var(--motion-ease)}.product-shell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;min-height:0;overflow:hidden;gap:0;transition:padding var(--motion-base) var(--motion-ease)}.sidebar-head,.sidebar-footer{flex:0 0 auto}.sidebar .main-nav{flex:1 1 auto;min-height:0;align-content:start;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgb(148 163 184 / .35) transparent;padding-right:4px;margin-right:-4px;padding-bottom:12px}.sidebar .main-nav::-webkit-scrollbar{width:6px}.sidebar .main-nav::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:999px}.sidebar .brand-block{margin-bottom:0;flex:1 1 auto}.sidebar-head{display:flex;align-items:center;gap:6px;margin-bottom:16px}.sidebar-toggle{width:30px;height:30px;flex:0 0 30px;border:0;display:grid;place-items:center;background:transparent;color:#94a3b8}.sidebar-toggle:hover{color:#fff;background:#1e293b}.sidebar-footer{margin-top:auto;gap:6px;padding-top:10px;border-top:1px solid rgb(148 163 184 / .14)}.sidebar.collapsed{padding:18px 10px;align-items:center}.sidebar.collapsed .sidebar-head{flex-direction:column;gap:10px}.sidebar.collapsed .brand-block>div,.sidebar.collapsed .profile-chip>div,.sidebar.collapsed .nav-section-title,.sidebar.collapsed .nav-item span{display:none}.sidebar.collapsed .main-nav,.sidebar.collapsed .sidebar-footer,.sidebar.collapsed .nav-section-list{width:100%}.sidebar.collapsed .main-nav{padding-right:0;margin-right:0}.sidebar.collapsed .nav-item{justify-content:center;padding:10px 0;border-left-width:3px}.sidebar.collapsed .profile-chip{justify-content:center;padding:10px 0}@media(max-width:1023px){.sidebar{position:fixed;z-index:80;inset:0 auto 0 0;width:min(320px,calc(100vw - 48px));height:100dvh;min-height:0;padding:18px 14px;transform:translate(-100%);box-shadow:24px 0 48px #0f172a38;transition:transform var(--motion-base) var(--motion-ease)}.product-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar-toggle{display:none}.sidebar.collapsed .brand-block>div,.sidebar.collapsed .profile-chip>div,.sidebar.collapsed .nav-section-title,.sidebar.collapsed .nav-item span{display:block}.product-shell.mobile-nav-open .sidebar{transform:translate(0)}.mobile-nav-backdrop{position:fixed;z-index:70;top:0;right:0;bottom:0;left:0;display:block;border:0;background:#0f172a6b;opacity:0;pointer-events:none;transition:opacity var(--motion-base) var(--motion-ease)}.product-shell.mobile-nav-open .mobile-nav-backdrop{opacity:1;pointer-events:auto}.mobile-menu-button.icon-button{display:grid}.topbar{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 12px;padding:10px 14px}.topbar-heading{min-width:0}.topbar-title{max-width:100%;font-size:.95rem}.topbar .search-box{grid-column:1 / -1;order:3;height:40px}.topbar .search-box input::placeholder{color:#94a3b8}.topbar .optional-topbar-action{display:none}.topbar-actions{justify-content:flex-end}.view-frame{padding:12px}.screen-grid{gap:14px}.hero-panel,.content-section{border-color:#eef2f7;box-shadow:0 16px 40px #0f172a0f}.hero-panel.compact{min-height:0;padding:24px 20px}.hero-panel h1{font-size:clamp(1.55rem,7vw,2rem);line-height:1.08}.hero-panel p{font-size:.9rem}.content-section{padding:16px}.path-form{gap:18px}.auth-flow .segmented-control{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-color:#eef2f7;background:#f8fafc;padding:4px}.auth-flow .segmented-control button{min-height:42px;padding:0 10px;font-size:.84rem}.path-form label,.form-select-field{gap:8px;color:#0f172a;font-size:.8rem}.path-form input,.input-shell,.form-select-trigger{min-height:44px}.path-form>.toolbar-actions{margin-top:2px}.path-form .toolbar-actions{min-width:0;align-items:stretch}.path-form .primary-action,.path-form .secondary-action{width:100%;min-height:46px}.sidebar .main-nav{gap:18px}.sidebar .nav-section-list{grid-template-columns:1fr}}.admin-platform-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;align-items:start}@media(max-width:1180px){.admin-platform-grid{grid-template-columns:1fr}}.landing-shell{--landing-gutter: clamp(24px, 6vw, 96px);min-height:100vh;background:#f4f6fa;overflow-x:hidden}.landing{width:100%;min-height:100vh;padding:0 var(--landing-gutter) 64px;display:grid;align-content:start;gap:32px;overflow-x:hidden}.landing-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;color:var(--color-ink)}.landing-nav .brand-block>div>strong{color:var(--color-ink)}.landing-nav .brand-block>div>span{color:var(--color-muted)}.landing-nav-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.landing-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:clamp(32px,5vw,88px);align-items:center;min-height:0;padding:16px 0 28px}.landing-hero h1{font-size:clamp(2.4rem,5.2vw,5.8rem);line-height:1.05;max-width:15ch;color:var(--color-ink)}.landing-lead{max-width:56ch;font-size:clamp(1.05rem,1.25vw,1.25rem);color:#334155}.landing-note{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--color-muted);font-size:.84rem}.primary-action.large,.secondary-action.large{min-height:46px;padding:0 20px;font-size:1rem}.landing-counters{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.landing-counter{padding:18px;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.landing-counter dt{max-width:calc(100% - 38px);color:var(--color-muted);font-size:.78rem;line-height:1.35;text-transform:uppercase;letter-spacing:.06em}.landing-counter dd{margin:8px 0 0;font-size:2rem;line-height:1;color:var(--color-ink)}.landing-section{display:grid;gap:18px}.landing-section h2{font-size:1.5rem;color:var(--color-ink)}.landing-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.method-card{padding:22px;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);display:grid;gap:10px;align-content:start}.method-card h3{margin:0;font-size:1.05rem;color:var(--color-ink)}.method-card p{margin:0;color:#334155;line-height:1.55}.method-card strong{color:var(--color-brand-strong)}.method-icon{width:40px;height:40px;display:grid;place-items:center;background:var(--color-brand-soft);color:var(--color-brand)}.concept-map-wrapper{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);padding:14px}.concept-map{width:100%;height:auto;background:linear-gradient(90deg,rgb(var(--color-brand-rgb) / .06) 1px,transparent 1px),linear-gradient(rgb(var(--color-brand-rgb) / .06) 1px,transparent 1px);background-size:28px 28px}.concept-map-link{stroke:var(--color-brand-line);stroke-width:1.5;stroke-dasharray:4 4;animation:map-dash 30s linear infinite}@keyframes map-dash{to{stroke-dashoffset:-400}}.concept-map-centre circle{fill:var(--color-brand)}.concept-map-centre text{fill:#fff;font-size:12px}.concept-map-node{cursor:pointer;animation:node-in .5s var(--motion-ease) both;transform-box:fill-box;transform-origin:center}@keyframes node-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.concept-map-node circle{fill:#fff;stroke:var(--color-brand);stroke-width:2;transition:fill var(--motion-fast) var(--motion-ease),stroke-width var(--motion-fast) var(--motion-ease)}.concept-map-node text{fill:var(--color-ink);font-size:11px}.concept-map-node.hovered circle,.concept-map-node:focus-visible circle{fill:var(--color-brand-soft);stroke-width:3}.concept-map-node:focus-visible{outline:none}.concept-map-detail{display:grid;gap:8px;align-content:start;padding:12px;background:var(--color-surface-soft);border:1px solid var(--color-border)}.concept-map-detail h3{margin:0;color:var(--color-ink)}.concept-map-detail p{margin:0;font-size:.88rem}.domain-icon{width:36px;height:36px;display:grid;place-items:center;background:var(--color-brand-soft);color:var(--color-brand)}.landing-two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-panel{padding:24px;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);display:grid;gap:12px;align-content:start}.landing-panel h2{font-size:1.25rem}.landing-panel.accent{background:#111827;color:#f8fafc;border-color:#111827}.landing-panel.accent h2,.landing-panel.accent p{color:#f8fafc}.landing-panel.accent .section-kicker{color:var(--color-brand-on-dark)}.landing-panel.accent .landing-note{color:#cbd5e1}.landing-panel .link-pill{width:auto}.landing-cta{text-align:center;display:grid;justify-items:center;gap:10px;padding:40px 24px;background:var(--gradient-cta-soft);border:1px solid var(--color-border);color:var(--color-brand)}.landing-cta h2{margin:0;color:var(--color-ink);font-size:1.6rem}.landing-cta-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--color-brand)}.landing-cta-points{margin:4px 0 10px;padding:0;list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;color:#334155;font-size:.92rem}.landing-cta-points li{display:inline-flex;align-items:center;gap:8px}.landing-cta-points svg{flex:none;color:var(--color-brand)}.landing-cta .hero-actions{justify-content:center;align-items:center;gap:12px}.landing-cta .secondary-action.large{background:#fff;border-color:var(--color-brand-tint-line);color:var(--color-brand-ink)}.landing-cta .secondary-action.large:hover{border-color:var(--color-brand-muted)}.reveal{animation:view-enter .6s var(--motion-ease) both}.reveal.delay-1{animation-delay:.12s}.reveal.delay-2{animation-delay:.24s}.reveal.delay-3{animation-delay:.36s}@media(max-width:1180px){.landing-shell{--landing-gutter: clamp(28px, 5vw, 56px)}.landing-hero{grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:clamp(24px,4vw,44px)}.landing-hero h1{font-size:clamp(2.35rem,5vw,4.2rem);max-width:16ch}.landing-method-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.concept-map-wrapper{grid-template-columns:1fr}}@media(max-width:980px){.landing-shell{--landing-gutter: clamp(22px, 5vw, 44px)}.landing-hero,.landing-two-columns{grid-template-columns:1fr}.landing-hero{min-height:auto;padding:clamp(34px,6vh,56px) 0 28px}.landing-hero-copy{max-width:720px}.landing-hero-side{grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);align-items:stretch}.landing-method-grid{grid-template-columns:1fr}}@media(max-width:760px){.landing-shell{--landing-gutter: 16px}.landing{padding-bottom:42px;gap:30px}.landing-nav{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0 6px}.landing-nav .brand-block{margin-bottom:0}.landing-nav .brand-mark{width:28px;height:28px;flex-basis:28px}.landing-nav-actions{display:flex;justify-content:flex-end}.landing-nav-actions .text-action,.landing-nav-actions .primary-action{display:none}.landing-nav-actions .secondary-action{min-height:34px;border-color:transparent;background:transparent;padding:0;color:#334155;white-space:nowrap}.landing-hero{gap:24px;padding:24px 0 8px}.landing-hero-copy{display:grid;gap:13px}.landing-hero h1{font-size:clamp(2.15rem,10.5vw,3rem);line-height:1.07;max-width:11.5ch;text-wrap:balance}.landing-lead{margin:0;font-size:1rem;line-height:1.55}.landing-hero .hero-actions,.landing-cta .hero-actions{display:grid;grid-template-columns:1fr;width:100%;gap:10px}.landing-hero .primary-action.large,.landing-cta .primary-action.large,.landing-cta .secondary-action.large{width:100%;min-height:44px}.landing-cta-points{flex-direction:column;align-items:flex-start;text-align:left}.landing-hero .secondary-action.large{width:fit-content;min-height:34px;justify-self:center;border-color:transparent;background:transparent;color:var(--color-brand);padding:0 6px}.landing-note{align-items:flex-start;font-size:.78rem}.landing-hero-side{grid-template-columns:1fr;gap:12px}.landing-counters{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.landing-counter{min-height:104px;padding:14px;box-shadow:0 10px 24px #0f172a0d}.landing-counter dt{max-width:calc(100% - 38px);font-size:.66rem;line-height:1.35;letter-spacing:.04em}.landing-counter dd{margin-top:12px;font-size:1.75rem}.counter-icon{top:12px;right:12px;width:30px;height:30px}.spotlight{order:-1;padding:16px 16px 20px}.spotlight h3{font-size:1rem}.spotlight p{font-size:.84rem}.landing-section h2,.landing-cta h2{font-size:1.35rem;line-height:1.18}.section-header{display:grid;align-items:start}.segmented-control{overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.segmented-control::-webkit-scrollbar{display:none}.segmented-control button{min-width:max-content}.concept-map-wrapper,.method-card,.landing-panel,.landing-cta{padding:18px}.concept-map{min-height:280px}.landing-band{margin-inline:calc(var(--landing-gutter) * -1);padding-inline:var(--landing-gutter)}}@media(max-width:430px){.landing-shell{--landing-gutter: 14px}.landing-hero h1{max-width:100%}}@media(max-width:360px){.landing-counters{grid-template-columns:1fr}.landing-counter{min-height:92px}}.landing{position:relative;isolation:isolate}.landing-backdrop{position:absolute;inset:0 0 auto 0;height:620px;overflow:hidden;z-index:-1;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}.landing-blob{position:absolute;width:420px;height:420px;filter:blur(60px);opacity:.55;animation:blob-float 18s ease-in-out infinite alternate}.blob-a{top:-120px;left:-80px;background:radial-gradient(circle,var(--landing-blob-a),transparent 70%)}.blob-b{top:40px;right:-140px;background:radial-gradient(circle,var(--landing-blob-b),transparent 70%);animation-delay:-6s}.blob-c{top:260px;left:35%;background:radial-gradient(circle,var(--landing-blob-c),transparent 70%);animation-delay:-12s}@keyframes blob-float{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(40px,30px,0) scale(1.15)}}.landing-ticker{position:absolute;left:0;right:0;top:150px;overflow:hidden;opacity:.5}.landing-ticker.reverse{top:540px}.ticker-track{display:flex;width:max-content;animation:ticker 60s linear infinite}.landing-ticker.reverse .ticker-track{animation-direction:reverse;animation-duration:75s}.ticker-group{display:flex;gap:12px;padding-right:12px}@keyframes ticker{to{transform:translate(-50%)}}.ticker-item{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;white-space:nowrap;border:1px solid var(--color-border);background:#ffffffbf;color:var(--color-brand-strong);font-size:.78rem}.ticker-item.tech{border-color:#94a3b899;color:#334155}.landing-hero{position:relative}.landing-counter{position:relative;display:grid;gap:4px;animation:view-enter .6s var(--motion-ease) both}.counter-icon{position:absolute;top:14px;right:14px;width:32px;height:32px;display:grid;place-items:center;background:var(--color-brand-soft);color:var(--color-brand)}.landing-nav-actions .text-action{gap:6px}.landing .reveal{animation:none;opacity:0;transform:translateY(14px);transition:opacity .6s var(--motion-ease),transform .6s var(--motion-ease)}.landing .reveal.in-view{opacity:1;transform:none}.landing .reveal.delay-1.in-view{transition-delay:.12s}.landing .reveal.delay-2.in-view{transition-delay:.16s}.landing .reveal.delay-3.in-view{transition-delay:.2s}.method-card,.landing-panel,.landing-counter{transition:transform var(--motion-base) var(--motion-ease),box-shadow var(--motion-base) var(--motion-ease)}.method-card:hover,.landing-panel:hover,.landing-counter:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}@media(prefers-reduced-motion:reduce){.landing .reveal{opacity:1;transform:none}.ticker-track,.landing-blob{animation:none}}@media(max-width:760px){.landing-backdrop{height:760px}.landing-ticker.reverse{top:700px}}.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;background:var(--gradient-progress);transform-origin:left;transform:scaleX(0)}.landing-backdrop{height:720px}.landing-hero{position:relative;overflow:clip}.landing-hero h1 .word{display:inline-block;opacity:0;transform:translateY(18px) rotate(1.5deg);animation:word-in .7s var(--motion-ease) forwards}@keyframes word-in{to{opacity:1;transform:none}}.landing-hero-side{display:grid;gap:14px}.tilt{transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .16s var(--motion-ease),box-shadow var(--motion-base) var(--motion-ease);position:relative;overflow:hidden}.tilt:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at var(--gx, 50%) var(--gy, 50%),rgb(255 255 255 / .55),transparent 55%);opacity:0;transition:opacity var(--motion-base) var(--motion-ease)}.tilt:hover:after{opacity:1}.method-card.tilt:hover,.landing-counter.tilt:hover{transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(-3px)}.spotlight{position:relative;padding:18px 18px 22px;background:#111827;color:#f8fafc;border:1px solid #111827;display:grid;gap:6px;animation:spotlight-in .6s var(--motion-ease) both;overflow:hidden}@keyframes spotlight-in{0%{opacity:0;transform:translateY(10px) scale(.98);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}.spotlight .section-kicker{color:var(--color-brand-on-dark)}.spotlight h3{margin:0;font-size:1.1rem;color:#fff}.spotlight p{margin:0;color:#cbd5e1;font-size:.88rem}.spotlight .text-action{color:var(--color-brand-on-dark);justify-content:flex-start}.spotlight-timer{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--gradient-timer);transform-origin:left;animation:spotlight-timer 4.2s linear forwards}@keyframes spotlight-timer{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.landing-band{margin-inline:calc(var(--landing-gutter) * -1);display:grid;gap:10px;padding:6px var(--landing-gutter);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.landing-band .landing-ticker{position:static;opacity:1}.landing-band .ticker-track:hover{animation-play-state:paused}.ticker-item{transition:transform var(--motion-fast) var(--motion-ease),background-color var(--motion-fast) var(--motion-ease)}.ticker-item:hover{transform:translateY(-2px);background:#fff}.concept-map-orbit{fill:none;stroke:rgb(var(--color-brand-rgb) / .25);stroke-width:1;stroke-dasharray:6 10;transform-box:fill-box;transform-origin:center;animation:orbit-spin 40s linear infinite}@keyframes orbit-spin{to{transform:rotate(360deg)}}.concept-map-pulse{fill:rgb(var(--color-brand-rgb) / .18);transform-box:fill-box;transform-origin:center;animation:halo-pulse 2.8s ease-in-out infinite}.concept-map-node circle{animation:node-breathe 5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes node-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.landing-cta{background:var(--gradient-cta);background-size:300% 300%;animation:gradient-shift 14s ease-in-out infinite}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@media(prefers-reduced-motion:reduce){.landing-hero h1 .word,.spotlight,.spotlight-timer,.concept-map-orbit,.concept-map-pulse,.concept-map-node circle,.landing-cta{animation:none;transition:none}.landing-hero h1 .word{opacity:1;transform:none}}@media(max-width:760px){.landing-backdrop{height:900px}}.product-shell{min-height:100dvh}.mobile-search-button{display:none}@media(max-width:1023px){.product-shell,.product-shell.sidebar-collapsed{grid-template-columns:1fr}.workspace{overflow-x:clip;overflow-wrap:anywhere}.sidebar{overscroll-behavior:contain;padding-top:calc(18px + env(safe-area-inset-top));padding-bottom:calc(18px + env(safe-area-inset-bottom));padding-left:calc(14px + env(safe-area-inset-left));visibility:hidden;transition:transform var(--motion-base) var(--motion-ease),visibility 0s linear var(--motion-base)}.product-shell.mobile-nav-open .sidebar{visibility:visible;transition:transform var(--motion-base) var(--motion-ease)}.sidebar.collapsed{align-items:stretch;padding-right:14px}.sidebar.collapsed .sidebar-head{flex-direction:row;gap:6px}.sidebar.collapsed .nav-item{justify-content:flex-start;padding:10px 12px}.sidebar.collapsed .profile-chip{justify-content:flex-start}.topbar{padding-left:calc(14px + env(safe-area-inset-left));padding-right:calc(14px + env(safe-area-inset-right))}.view-frame{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.referential-layout,.admin-content-grid,.admin-platform-grid,.concept-layout,.two-columns,.project-grid,.form-grid,.compact-subject-list{grid-template-columns:1fr}.admin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(min-width:761px)and (max-width:1023px){.topbar{grid-template-columns:minmax(0,auto) minmax(220px,1fr) auto;padding-block:10px}.topbar .search-box{grid-column:auto;order:0;width:100%;max-width:520px;justify-self:center}.view-frame{padding:20px}}@media(max-width:760px){.topbar{padding-block:8px;gap:8px 10px}.topbar .search-box{display:none}.topbar.search-open .search-box{display:flex}.mobile-search-button{display:grid}.topbar-actions{gap:6px}.notification-menu,.user-menu{position:static}.notification-panel,.user-menu-panel{top:calc(100% + 6px);left:12px;right:12px;width:auto;max-height:min(420px,calc(100dvh - 96px));overflow-y:auto}.hero-panel,.hero-panel.compact{padding:20px 16px}.hero-actions{width:100%}.hero-actions .primary-action,.hero-actions .secondary-action{flex:1 1 auto;justify-content:center}.content-type-grid,.concept-row,.admin-filters{grid-template-columns:1fr}.subject-list{gap:8px}small,.tag,.difficulty,.status-badge,.section-type-label,.nav-section-title,.resource-tabs small,.health-check,.health-check strong{font-size:.75rem}.notification-item-body span,.notification-item-body small,.notification-panel-status,.notification-panel-empty,.link-action{font-size:.8rem}input,select,textarea,.search-box input{font-size:16px}.segmented-control{width:100%;flex-wrap:nowrap}.admin-toolbar{padding:16px}.toolbar-actions{min-width:0;flex-wrap:wrap}.row-actions{gap:8px}}@media(pointer:coarse){button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.icon-button,.user-menu-trigger,.user-avatar,.sidebar-toggle{width:40px;height:40px;min-width:40px;flex-basis:40px}.user-menu{width:40px;flex-basis:40px}.user-avatar{font-size:.85rem}.nav-item,.link-pill,.segmented-control button,.search-suggestions button,.user-menu-panel button,.notification-item-body,.primary-action,.secondary-action,.form-select-trigger,.input-shell,.path-form input,.admin-filters input,.search-box{min-height:44px}.link-action{padding:8px 4px}.text-action{padding:6px 0}.row-actions{gap:8px}}@media(max-width:760px){.segmented-control{flex-wrap:wrap;overflow:visible}.segmented-control button{flex:1 1 auto}.admin-toolbar h1{font-size:clamp(1.55rem,7vw,2rem);line-height:1.08}.landing-nav-actions .secondary-action{min-height:40px}.link-action{min-height:36px}}@media(max-width:1023px){.admin-table th,.admin-table td{overflow-wrap:normal}.admin-table th{white-space:nowrap}}@media(pointer:coarse){.brand-block{min-height:44px}.admin-table input[type=checkbox],.admin-content-row>input[type=checkbox]{width:22px;height:22px}}.admin-view{grid-template-columns:minmax(0,1fr)}.admin-view>*{min-width:0}.admin-table{max-width:100%}.form-error-block{display:grid;gap:4px}.form-error-block .form-error{margin:0}a.inline-helper-action{color:var(--color-brand);text-decoration:none}a.inline-helper-action:hover,a.inline-helper-action:focus-visible{text-decoration:underline}.generation-view{display:grid;gap:14px}.generation-view .path-form{align-content:start}.generation-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.inline-field{display:flex;gap:8px;align-items:center}.inline-field input{flex:1 1 auto;min-width:0}.generation-preview{border:1px solid #e5e7eb;background:#fff;padding:14px;max-height:560px;overflow:auto}.generation-editor{min-height:360px;font-family:var(--font-mono);font-size:.82rem;line-height:1.5}.json-object{display:grid;gap:10px}.json-object:not(.root){padding-left:12px;border-left:2px solid var(--color-border)}.json-entry{display:grid;gap:4px}.json-key{color:var(--color-brand-strong);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.json-text{margin:0;white-space:pre-wrap;line-height:1.55}.json-list{margin:0;padding-left:18px;display:grid;gap:4px}.json-empty{color:#94a3b8;font-style:italic}.review-decision{display:grid;gap:10px;padding:12px;border:1px solid var(--color-border);background:#fffbeb}.version-list{display:grid;gap:6px}.version-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border:1px solid #e5e7eb;background:#fff}.version-row>div{display:grid;gap:2px;min-width:0}.version-row span{color:#64748b;font-size:.8rem}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:0;padding:10px 12px;border:1px solid #e5e7eb;background:#fff}.checkbox-grid legend{padding:0 4px;color:#475569;font-size:.8rem}.checkbox-option{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-weight:400}.checkbox-option input{width:auto!important;min-height:0!important;margin:0}.generation-jobs{max-height:none}.job-card{border:1px solid #e5e7eb;background:#fff}.job-summary{width:100%;border:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px;background:transparent;color:#0f172a;text-align:left}.job-summary>div{display:grid;gap:2px;min-width:0}.job-summary>div>span{color:#64748b;font-size:.8rem}.job-tasks{display:grid;gap:8px;padding:0 11px 11px}.job-task{display:grid;gap:6px;padding:10px;border:1px solid #f1f5f9;background:#f8fafc}.job-task-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.job-task-head span{color:#64748b;font-size:.8rem}.attempt-list{margin:0;padding-left:18px;display:grid;gap:3px;font-size:.8rem}.attempt{display:flex;flex-wrap:wrap;gap:8px;color:#475569}.attempt.succeeded{color:#15803d}.attempt.failed{color:#b91c1c}.status-badge.queued,.status-badge.pending,.status-badge.running{background:#e0f2fe;color:#0369a1}.status-badge.running svg,.status-badge.queued svg{animation:spin 1.2s linear infinite}.status-badge.completed,.status-badge.succeeded{background:#dcfce7;color:#15803d}.status-badge.partially_failed{background:#fef3c7;color:#b45309}.status-badge.failed{background:#fee2e2;color:#b91c1c}.table-actions{display:grid;gap:6px;white-space:nowrap}.table-wrap .admin-table{min-width:640px}.generation-models-grid{display:grid;gap:14px}.text-action.danger{color:#b91c1c}.table-wrap{overflow-x:auto}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1180px){.generation-filters{grid-template-columns:1fr}}@media(max-width:760px){.checkbox-grid{grid-template-columns:1fr}.version-row{flex-direction:column;align-items:stretch}}.generated-section .section-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.generated-reader{margin-top:14px;display:grid;gap:16px}.generated-reader header{display:grid;gap:6px}.generated-reader header h3{margin:0;font-size:1.25rem}.generated-reader .section-type-label{display:inline-flex;align-items:center;gap:6px;margin:0}.generated-doc{display:grid;gap:14px;line-height:1.6}.generated-doc h2,.generated-doc h3,.generated-doc h4{margin:8px 0 0}.generated-doc p,.generated-doc ul,.generated-doc ol{margin:0}.generated-doc ul,.generated-doc ol{padding-left:20px;display:grid;gap:4px}.generated-doc code{padding:1px 5px;background:#f1f5f9;font-size:.9em}.mindmap-root{display:grid;gap:2px;width:fit-content;padding:10px 14px;background:var(--color-brand);color:#fff}.mindmap-root span,.mindmap-node span{font-size:.8rem;opacity:.85}.mindmap-level{list-style:none;margin:0;padding-left:22px;display:grid;gap:8px;border-left:2px solid var(--color-border)}.mindmap-level>li{position:relative}.mindmap-level>li:before{content:"";position:absolute;left:-22px;top:16px;width:16px;border-top:2px solid var(--color-border)}.mindmap-node{display:grid;gap:2px;width:fit-content;max-width:100%;padding:8px 12px;border:1px solid #e5e7eb;background:#fff}.mindmap-level.depth-1>li>.mindmap-node{border-color:var(--color-border);background:var(--color-brand-soft)}.mindmap-node span{color:#64748b;opacity:1}.model-solution{border:1px solid #e5e7eb;background:#fff}.model-solution summary{padding:12px 14px;cursor:pointer;font-weight:600;color:var(--color-brand-strong)}.model-solution>.generated-doc{padding:0 14px 14px}.dialogue-line{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px}.dialogue-line .speaker{color:var(--color-brand-strong);font-weight:600}.dialogue-line:nth-of-type(2n) .speaker{color:#0369a1}@media(max-width:760px){.dialogue-line{grid-template-columns:1fr;gap:2px}}@media print{.sidebar,.topbar,.mobile-nav-backdrop,.hero-panel button,.resource-tabs,.generated-rail,.notice-bar,.subject-learning-detail{display:none!important}.product-shell{display:block}.workspace,.content-section{padding:0;box-shadow:none;border:0}.model-solution[open] summary{display:none}.generated-doc{line-height:1.5}}.audio-status audio{width:100%;max-width:100%}.audio-status{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 10px;padding:10px 12px;border:1px solid #e5e7eb;background:#f8fafc;color:#475569;font-size:.85rem}.audio-status audio,.audio-status button{grid-column:1 / -1;justify-self:start}.section-type-label{align-items:center;gap:6px;margin-bottom:0}.subject-overview{padding:14px 16px}.subject-overview h2{margin:4px 0 6px}.subject-overview>p:not(.section-kicker){margin:0}.search-suggestions .suggestion-text{display:grid;gap:2px;min-width:0}.search-suggestions .suggestion-text small{color:#64748b;font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.study-material-badge{display:inline-flex;align-items:center;gap:5px;margin-top:8px;padding:3px 8px;background:var(--color-brand-tint);color:var(--color-brand-strong);font-size:.72rem;font-weight:600}.mindmap-canvas{position:relative;height:min(560px,70vh);border:1px solid #e5e7eb;background:radial-gradient(circle at 1px 1px,var(--color-dot-grid) 1px,transparent 1px) 0 0 / 18px 18px,#fff;overflow:hidden;touch-action:none}.mindmap-canvas svg{width:100%;height:100%;display:block}.mindmap-canvas .markmap-node>circle{cursor:pointer}.mindmap-canvas .markmap-foreign{font-family:inherit;font-size:.9rem;color:#0f172a;line-height:1.35}.mindmap-canvas .markmap-foreign .mindmap-note{display:block;color:#64748b;font-size:.74rem;font-weight:400;margin-top:2px}.mindmap-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.mindmap-toolbar .helper-text{margin:0 0 0 auto}.mindmap-toolbar button{min-height:32px;padding:0 10px;font-size:.8rem}.mindmap-text{border:1px solid #e5e7eb;background:#fff}.mindmap-text summary{padding:10px 14px;cursor:pointer;color:var(--color-brand-strong);font-weight:600}.mindmap-text>.mindmap{padding:0 14px 14px}@media(max-width:760px){.mindmap-canvas{height:60vh}.mindmap-toolbar .helper-text{display:none}}@media print{.mindmap-canvas,.mindmap-toolbar{display:none!important}.mindmap-text summary{display:none}.mindmap-text>.mindmap{display:grid}}.projects-view{gap:18px}.project-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-items:end;gap:10px}.project-section{display:grid;gap:12px}.project-section-head h2{display:flex;align-items:center;gap:8px;margin:0 0 4px}.project-section-head h2 svg{color:var(--color-brand)}.project-section-head .helper-text{margin:0;max-width:80ch}.project-card{display:grid;gap:10px;align-content:start;padding:16px;box-shadow:none}.project-card.capstone{background:var(--color-brand-wash)}.project-card h2{margin:0;font-size:1.05rem}.difficulty.intermediate{background:#fef3c7;color:#b45309}.difficulty.advanced{background:#fee2e2;color:#b91c1c}.capstone-badge{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:0 8px;background:var(--color-brand-tint);color:var(--color-brand-strong);font-size:.72rem;font-weight:600}.project-detail .concept-chip-row .link-pill{display:inline-flex;align-items:center;gap:6px;width:auto}.project-detail .concept-chip-row .link-pill small{color:#64748b;font-size:.7rem}.project-meta{display:flex;flex-wrap:wrap;gap:8px;color:#475569;font-size:.82rem}.project-meta>span{display:inline-flex;align-items:center;gap:5px;border:1px solid #e5e7eb;padding:3px 8px}.project-meta>span.difficulty,.project-meta>span.capstone-badge{border:0}.project-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}.project-field{display:grid;gap:6px;padding:12px 14px;border:1px solid #e5e7eb;background:#fff}.project-field .section-type-label{display:inline-flex;align-items:center;gap:6px;margin:0}.project-field p{margin:0;line-height:1.55}.session-row>span>strong{display:inline-flex;align-items:center;gap:6px}.session-row>span>strong svg{color:var(--color-brand)}.session-row.current{border-color:#94a3b8;background:var(--color-brand-wash)}.session-current-badge{margin-left:4px;padding:1px 7px;background:var(--color-brand-tint);color:var(--color-brand-strong);font-size:.7rem;font-style:normal;font-weight:600}.notification-panel-more{width:100%;border:0;border-top:1px solid #e5e7eb;padding:10px;background:#f8fafc;color:var(--color-brand-strong);font-size:.82rem}.notification-panel-more:hover{background:var(--color-brand-soft)}.subject-card.past-event{opacity:.85}.task-item:disabled{cursor:default;color:#64748b;background:#f8fafc}.mentor-subject-picker{display:grid;gap:10px}.hero-panel .subject-context-line{margin:6px 0 0;color:var(--color-muted);font-size:.82rem;line-height:1.45}.generated-provenance{margin:4px 0 0;color:#64748b;font-size:.75rem}.resource-license{margin:4px 0 0;color:#94a3b8;font-size:.72rem}.totp-qr{display:block;width:180px;height:180px;border:1px solid #e5e7eb;background:#fff}.input-toggle{border:none;background:none;padding:2px;margin-left:auto;display:inline-flex;align-items:center;color:#64748b;cursor:pointer}.input-toggle:hover,.input-toggle:focus-visible{color:var(--color-brand-deep)}.form-field-with-hint{display:grid;gap:4px;align-content:start}.selection-source a{color:inherit;text-decoration:underline}.landing-formats{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px}.landing-formats-label{color:#475569;font-size:.85rem}.anchor-target{outline:2px solid #94a3b8;outline-offset:2px}.dashboard{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}@media(min-width:1181px){.dashboard{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start}.dashboard-context,.dashboard-concepts{grid-column:1 / -1}}.dashboard-context{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;padding:14px 20px;background:var(--color-surface);border:1px solid var(--color-border)}.dashboard-context-text{display:grid;gap:2px;min-width:0}.dashboard-context-label{color:var(--color-brand-strong);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.dashboard-context-text strong{color:var(--color-ink);font-family:var(--font-heading);font-size:1.1rem;font-weight:600}.dashboard-context-text>span:last-child:not(.dashboard-context-label){color:var(--color-muted);font-size:.82rem}.dashboard-context-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;flex:0 0 auto}.dashboard .section-header{display:flex;align-items:center;min-height:32px;margin-bottom:12px}.dashboard .section-header h2{min-width:0}.dashboard .section-header .text-action{flex:0 0 auto}.list-rows{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.list-row{width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);text-align:left}.list-row:hover,.list-row:focus-visible{border-color:#94a3b8;background:var(--color-brand-soft)}.list-row>svg{flex:0 0 auto;color:var(--color-muted)}.list-row-body{display:grid;gap:3px;min-width:0}.list-row-eyebrow{color:var(--color-success);font-size:.72rem}.list-row-body strong{font-family:var(--font-heading);font-size:.95rem;font-weight:600;line-height:1.3}.list-row-body small{color:var(--color-muted);font-size:.78rem;line-height:1.4}.list-row-body .list-row-summary{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#475569}.list-row[aria-expanded=true]{border-color:#94a3b8;background:var(--color-brand-soft)}.list-row-body .study-material-badge{justify-self:start;margin-top:4px}.list-rows>.text-action{margin-top:10px}.dashboard-domains{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}.dashboard-domains-label{flex:0 0 auto;margin-right:4px;color:var(--color-muted);font-size:.8rem}.dashboard-domain{min-height:36px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:.82rem;white-space:nowrap}.dashboard-domain svg{color:var(--color-brand)}.dashboard-domain small{padding:1px 6px;background:var(--color-surface-soft);color:var(--color-muted);font-size:.72rem}.dashboard-domain:hover,.dashboard-domain:focus-visible{border-color:#94a3b8;background:var(--color-brand-soft)}@media(max-width:760px){.dashboard{gap:12px}.dashboard-context{align-items:flex-start;padding:14px 16px}.dashboard-context:has(.primary-action){flex-direction:column;align-items:stretch}.dashboard-context-actions .primary-action{flex:1 1 100%;justify-content:center}.dashboard .content-section{padding:16px}.dashboard .list-rows,.list-rows{grid-template-columns:1fr}.dashboard-domains,.dashboard-concept-row{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px}.dashboard-domains::-webkit-scrollbar,.dashboard-concept-row::-webkit-scrollbar{display:none}.dashboard-domain{flex:0 0 auto;scroll-snap-align:start}.dashboard .dashboard-concept-row{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(80%,300px)}.dashboard-concept-row>*{scroll-snap-align:start}}@media(pointer:coarse){.dashboard-domain{min-height:44px}}.task-item{padding-block:10px}.task-item strong{display:block;font-family:var(--font-heading);font-size:.95rem;font-weight:600;line-height:1.3}.subject-hero{min-height:0;padding:16px 20px}.subject-hero h1{font-size:1.6rem}.subject-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;font-size:.82rem}.same-name-subjects .helper-text{margin:-4px 0 12px}.subject-overview{border:0;padding:0}.subject-overview h2{margin:0 0 4px;font-size:1.2rem}.subject-overview-meta{margin:0;color:var(--color-muted);font-size:.78rem}.subject-overview-intro{max-width:68ch;margin:0;color:#334155;font-size:1rem;line-height:1.6}.sheet-sections{display:grid;max-width:68ch}.sheet-section{padding:18px 0;border-top:1px solid var(--color-border)}.sheet-section:last-child{padding-bottom:4px}.sheet-section h3{margin:4px 0 8px;font-size:1.05rem;line-height:1.3}.concept-chip-row:has(>.concept-link){display:flex;flex-wrap:wrap;gap:8px}.concept-link{min-height:36px;display:inline-flex;align-items:center;padding:0 12px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.85rem}button.concept-link:hover{border-color:#94a3b8;background:var(--color-brand-soft)}@media(max-width:760px){.subject-hero{padding:14px 16px}.subject-hero h1{font-size:1.35rem}}@media(pointer:coarse){.concept-link{min-height:44px}}@media(min-width:1181px){.subject-learning-detail{grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);grid-template-areas:"overview aside" "sections aside" "license aside";align-items:start;column-gap:40px}.subject-learning-detail>.subject-overview{grid-area:overview}.subject-learning-detail>.sheet-sections,.subject-learning-detail>.empty-state{grid-area:sections}.subject-learning-detail>.sheet-aside{grid-area:aside;position:sticky;top:84px}.subject-learning-detail>.resource-license{grid-area:license}}.page-intro{grid-column:1 / -1;max-width:68ch;margin:0;color:var(--color-muted);font-size:.92rem;line-height:1.5}.page-heading{grid-column:1 / -1;display:grid;gap:4px}.page-heading h2,.form-heading h2,.access-required h2,.account-summary h2{margin:0;font-size:1.25rem;line-height:1.25}.page-heading p,.form-heading p{max-width:68ch;margin:0;color:var(--color-muted);font-size:.92rem}.form-heading{display:grid;gap:4px;margin-bottom:18px}.access-required{display:grid;justify-items:start;gap:10px;max-width:560px}.access-required>svg{color:var(--color-muted)}.access-required p{margin:0}.access-required-account{color:var(--color-muted);font-size:.82rem}.bottom-nav{display:none}@media(max-width:1023px){.bottom-nav{position:fixed;z-index:60;inset:auto 0 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding-bottom:env(safe-area-inset-bottom);background:var(--color-surface);border-top:1px solid var(--color-border)}.bottom-nav-item{min-height:56px;display:grid;place-items:center;align-content:center;gap:3px;padding:6px 2px;border:0;background:transparent;color:var(--color-muted);font-size:.7rem;line-height:1.1}.bottom-nav-item.active{color:var(--color-brand-strong);font-weight:600}.bottom-nav-item:active{background:var(--color-surface-soft)}.topbar .mobile-menu-button.icon-button{display:none}.workspace{padding-bottom:calc(56px + env(safe-area-inset-bottom))}}@media print{.bottom-nav{display:none!important}}.filter-panel{display:contents}.filter-panel-toggle{display:none}@media(max-width:760px){.filter-panel{display:grid;gap:12px;grid-column:1 / -1}.filter-panel-toggle{display:inline-flex;justify-self:start}.filter-panel:not(.open)>:not(.filter-panel-toggle){display:none}}.section-type-label,.project-field .section-type-label,.generated-reader .section-type-label{display:inline-flex;align-items:center;gap:6px;width:fit-content;margin:0;padding:0;background:none;color:var(--color-muted);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.project-field{gap:4px;padding:0;border:0;background:none}.project-fields{gap:16px}.list-rows.single{grid-template-columns:1fr}.concept-list-tools{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:14px}.concept-list-tools>*{flex:1 1 240px}.concept-domain{margin:0 0 4px;color:var(--color-muted);font-size:.82rem}.concept-detail h1{margin:0 0 8px;font-size:1.6rem}.concept-detail .section-header{margin-top:22px}@media(max-width:760px){.concept-detail h1{font-size:1.35rem}.concept-detail,.side-panel{padding:16px}}.session-row>span{min-width:0}.session-row .secondary-action{flex:0 0 auto;white-space:nowrap}@media(max-width:760px){.session-row{align-items:flex-start}.session-row .secondary-action{min-height:36px;padding:0 10px}}.question-card{position:relative}.question-close{position:absolute;top:12px;right:14px}.subsection-title{margin:20px 0 10px;color:var(--color-muted);font-family:var(--font-mono);font-size:.72rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase}.admin-heading{align-items:center}.admin-heading h2{margin:0;font-size:1.25rem}@media(max-width:760px){.admin-view>.segmented-control{flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:none}.admin-view>.segmented-control::-webkit-scrollbar{display:none}.admin-view>.segmented-control button{flex:0 0 auto;white-space:nowrap}}.admin-view>.filter-search{display:block}.admin-view>.filter-search input{width:100%;height:40px;border:1px solid #cbd5e1;background:var(--color-surface);color:var(--color-ink);padding:0 10px 0 34px}.admin-view>.filter-search input:focus{outline:none;border-color:#94a3b8}@media(max-width:760px){.admin-heading{align-items:stretch;text-align:left}.admin-heading .toolbar-actions{justify-content:flex-start}.admin-view>.filter-search input{min-height:44px}}@media(max-width:760px){.table-wrap .users-table,.table-wrap .users-table tbody{display:block;min-width:0;overflow:visible}.table-wrap .users-table thead{display:none}.table-wrap .users-table tr{display:grid;grid-template-columns:32px minmax(0,1fr) auto;grid-template-areas:"check user user" "check role status" "check institution institution" "check actions actions";gap:4px 10px;padding:12px;border-bottom:1px solid var(--color-border)}.table-wrap .users-table td{display:block;padding:0;border:0;min-width:0}.table-wrap .users-table td:nth-child(1){grid-area:check;padding-top:2px}.table-wrap .users-table td:nth-child(2){grid-area:user}.table-wrap .users-table td:nth-child(2) span{display:block;overflow-wrap:anywhere}.table-wrap .users-table td:nth-child(3){grid-area:role;color:var(--color-muted);font-size:.85rem}.table-wrap .users-table td:nth-child(4){grid-area:institution;color:var(--color-muted);font-size:.85rem}.table-wrap .users-table td:nth-child(5){grid-area:status;justify-self:end}.table-wrap .users-table td:nth-child(6){grid-area:actions;margin-top:4px}.table-wrap .users-table .row-actions{justify-content:flex-start}.table-wrap .users-table .empty-table-cell{grid-column:1 / -1}}@media(min-width:1181px){.landing-shell{--landing-gutter: max(48px, calc((100vw - 1240px)/2) )}.landing-hero{grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);gap:56px;padding:24px 0 32px}.landing-hero h1{max-width:20ch;font-size:clamp(2.6rem,3.4vw,3.6rem);line-height:1.04}}.profile-card{width:100%;max-width:560px;justify-self:center}.profile-card .form-grid{grid-template-columns:1fr}.auth-helpers{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:8px}.profile-card .toolbar-actions .primary-action{width:100%;justify-content:center}.auth-switch{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin:16px 0 0;color:var(--color-muted);font-size:.9rem}.auth-switch .link-action{display:inline-flex;align-items:center;gap:6px;min-height:0;padding:0;color:var(--color-brand-strong);font-size:inherit;font-weight:600}.landing-account-menu{position:relative}.landing-account-menu>.secondary-action{gap:8px}.landing-account-menu>.secondary-action[aria-expanded=true] svg:last-child{transform:rotate(180deg)}.landing-account-panel{position:absolute;z-index:40;top:calc(100% + 6px);right:0;min-width:230px;display:grid;padding:6px;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-pop)}.landing-account-panel button{min-height:44px;display:flex;align-items:center;gap:10px;padding:0 12px;border:0;background:transparent;color:var(--color-text);text-align:left}.landing-account-panel button svg{color:var(--color-brand)}.landing-account-panel button:hover,.landing-account-panel button:focus-visible{background:var(--color-brand-soft)}.generated-reader header h3{display:flex;align-items:center;gap:10px}.generated-reader header h3 svg{flex:0 0 auto;color:var(--color-brand)}.generated-doc.summary,.generated-doc.project,.generated-doc.prose,.generated-doc.dialogue{max-width:72ch}.generated-doc{gap:20px;font-size:1rem;line-height:1.6}.generated-doc h3{margin:0 0 8px;font-size:1.05rem;line-height:1.3}.generated-doc h4{margin:0 0 6px;font-size:1rem;line-height:1.35}.doc-lead{color:#334155}.doc-points{gap:8px!important}.doc-points li::marker{color:var(--color-brand)}.doc-steps{list-style:none;margin:0;padding:0!important;display:grid;gap:0!important}.doc-steps>li{padding:16px 0;border-top:1px solid var(--color-border)}.doc-steps>li:first-child{border-top:0;padding-top:0}.doc-steps h3,.doc-steps h4{display:flex;align-items:center;gap:10px}.doc-steps>li>p,.doc-steps>li>ul{margin-left:38px}.doc-step-number{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;background:var(--color-brand);color:#fff;font-family:var(--font-mono);font-size:.82rem}.generated-doc p,.generated-doc li{color:#334155}.doc-section h3{margin-bottom:10px}.doc-columns{display:grid;gap:20px 32px}.doc-columns>.doc-section{padding-top:14px;border-top:1px solid var(--color-border)}@media(min-width:900px){.doc-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}.doc-note{padding:14px 16px;background:var(--color-brand-soft)}.doc-note.warning{background:#fffbeb}.doc-note h3{display:flex;align-items:center;gap:8px;font-size:.95rem}@media(max-width:760px){.doc-steps>li>p,.doc-steps>li>ul{margin-left:0}}.view-frame:has(>.subject-page){container-type:inline-size}.subject-page{width:100%}.page-toc{display:none}[data-toc]{scroll-margin-top:84px}@container (min-width: 1180px){.subject-page{display:grid;grid-template-columns:210px minmax(0,1fr);gap:36px;align-items:start}.page-toc{display:grid;gap:8px;position:sticky;top:84px;padding-top:18px}}.page-toc ul{display:grid;gap:2px;margin:0;padding:0;list-style:none;border-left:1px solid var(--color-border)}.page-toc button{width:100%;min-height:32px;margin-left:-1px;padding:4px 12px;border:0;border-left:2px solid transparent;background:transparent;color:var(--color-muted);font-size:.86rem;text-align:left}.page-toc .page-toc-sub button{padding-left:24px;font-size:.82rem}.page-toc button:hover{color:var(--color-ink)}.page-toc button[aria-current=location]{border-left-color:var(--color-ink);color:var(--color-ink);font-weight:600}.generated-layout{display:grid;gap:16px}.generated-reader{margin-top:0;min-width:0}.generated-rail{display:grid;gap:12px;align-content:start;min-width:0}.generated-formats{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.generated-formats::-webkit-scrollbar{display:none}.generated-format{min-height:40px;display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:.88rem;white-space:nowrap}.generated-format svg{color:var(--color-muted)}.generated-format:hover{background:var(--color-brand-soft)}.generated-format.active{border-color:#94a3b8;background:var(--color-brand-soft);color:var(--color-brand-strong);font-weight:600}.generated-format.active svg{color:var(--color-brand)}.generated-actions{display:flex;flex-wrap:wrap;gap:4px 16px}.generated-actions .text-action{font-size:.85rem}@media(min-width:1024px){.generated-layout{grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);column-gap:40px;align-items:start}.generated-rail{grid-column:2;grid-row:1;position:sticky;top:76px}.generated-reader{grid-column:1;grid-row:1}.generated-formats{display:grid;gap:4px;overflow:visible}.generated-format{width:100%;justify-content:flex-start;border-color:transparent;background:transparent}.generated-format.active{border-color:transparent}.generated-actions{display:grid;gap:6px;padding-top:12px;border-top:1px solid var(--color-border)}}.generated-actions .text-action{justify-content:flex-start}.generated-rail-label{display:none}@media(min-width:1024px){.generated-rail-label{display:inline-flex;padding-left:12px}}.audio-player{display:grid;gap:10px;padding:14px 16px;background:var(--color-surface);border:1px solid var(--color-border)}.audio-player-controls{display:flex;align-items:center;gap:12px}.audio-player-play{width:52px;height:52px;display:grid;place-items:center;border:0;border-radius:999px;background:var(--color-brand);color:#fff}.audio-player-play:hover{background:var(--color-brand-strong)}.audio-player-skip{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;border:0;border-radius:999px;background:transparent;color:var(--color-ink)}.audio-player-skip span{font-family:var(--font-mono);font-size:.78rem}.audio-player-skip:hover:not(:disabled){background:var(--color-surface-soft)}.audio-player-skip:disabled{color:#cbd5e1}.audio-player-speed{min-width:56px;min-height:36px;margin-left:auto;padding:0 10px;border:1px solid var(--color-border);background:var(--color-surface-soft);color:var(--color-ink);font-family:var(--font-mono);font-size:.85rem}.audio-player-range{height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e2e8f0 linear-gradient(var(--color-brand),var(--color-brand)) no-repeat;cursor:pointer}.audio-player-range::-webkit-slider-thumb{width:18px;height:18px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:999px;background:var(--color-brand);box-shadow:0 0 0 4px #fff}.audio-player-range::-moz-range-thumb{width:18px;height:18px;border:0;border-radius:999px;background:var(--color-brand)}.audio-player-range:disabled{cursor:default}.audio-player-times{display:flex;justify-content:space-between;color:var(--color-muted);font-family:var(--font-mono);font-size:.78rem}.audio-player-error{margin:0;color:#92400e}.audio-player-download{display:inline-flex;align-items:center;gap:6px;width:fit-content;color:var(--color-brand-strong);font-size:.85rem;text-decoration:none}.audio-player-download:hover{text-decoration:underline}.audio-player-seek{width:100%;margin:6px 0 0}.audio-player-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.audio-player-volume{display:flex;align-items:center;gap:4px}.audio-player-mute{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:999px;background:transparent;color:var(--color-muted)}.audio-player-mute:hover{background:var(--color-surface-soft);color:var(--color-ink)}.audio-player-volume-range{width:110px;height:4px;background-image:linear-gradient(#94a3b8,#94a3b8)}.audio-player-volume-range::-webkit-slider-thumb{width:14px;height:14px;background:#64748b}.audio-player-volume-range::-moz-range-thumb{width:14px;height:14px;background:#64748b}.sheet-sections,.subject-overview-intro{max-width:80ch}.sheet-section h3{display:flex;align-items:center;gap:10px;margin:0 0 8px}.sheet-section h3 svg{flex:0 0 auto;color:var(--color-brand)}.sheet-aside{display:grid;gap:24px;align-content:start;min-width:0}.aside-block h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:.95rem}.aside-block h3 svg{color:var(--color-brand)}a.list-row{text-decoration:none}.list-row>svg:last-child{color:var(--color-muted)}.subject-overview-intro,.sheet-section p{max-width:80ch;margin:0;color:#334155;font-size:1rem;line-height:1.6}.subject-overview-intro{margin-top:10px}.sheet-section p{white-space:pre-line}.list-filter-field .list-filter{min-height:38px;max-width:none;margin:0}.list-filter-field .list-filter input{height:36px}.concept-list-tools{align-items:end}.concept-list-tools>*{flex:1 1 260px;min-width:0}@media(pointer:coarse){.list-filter-field .list-filter{min-height:44px}.list-filter-field .list-filter input{height:42px}}.concept-map{max-height:460px}@media(max-width:760px){.concept-map-node text{font-size:16px}.concept-map-centre text{font-size:14px}}.concept-terms{display:flex;flex-wrap:wrap;gap:4px 20px;margin:10px 0 0;color:var(--color-muted);font-size:.9rem}.concept-terms strong{color:var(--color-ink);font-weight:600}.site-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding:18px 28px 22px;border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.82rem}.site-footer ul{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0;padding:0;list-style:none}.site-footer p{margin:0;color:var(--color-muted);font-size:.82rem}.site-footer a{color:var(--color-muted);text-decoration:none}.site-footer a:hover,.site-footer a:focus-visible{color:var(--color-ink);text-decoration:underline}.landing-shell>.site-footer{padding-inline:var(--landing-gutter)}@media(max-width:760px){.site-footer{flex-direction:column;align-items:flex-start;padding:16px}.site-footer a{display:inline-block;padding:6px 0}}.legal-page{align-items:start}@media(min-width:1024px){.legal-page{grid-template-columns:minmax(0,1fr) 300px}.legal-others{position:sticky;top:84px}}.legal-document h1{margin:0 0 4px;font-size:1.6rem}.legal-version{margin:0 0 18px;color:var(--color-muted);font-size:.85rem}.legal-document .generated-doc.prose{max-width:72ch}.legal-others{display:grid;gap:10px}.auth-legal{margin:4px 0 0;color:var(--color-muted);font-size:.85rem;line-height:1.5}.auth-legal a{color:var(--color-brand-strong)}.generated-doc strong{font-weight:600;color:var(--color-ink)}.generated-doc em{font-style:italic}.generated-doc.prose h2,.generated-doc.prose h3,.generated-doc.prose h4{margin-top:12px}.generated-doc.prose :is(h2,h3,h4)+*{margin-top:-10px}.generated-doc.prose{gap:14px}.site-footer .site-footer-note{flex:1 1 100%;order:3}input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,input:not([type=checkbox]):not([type=radio]):not([type=range]):focus-visible,textarea:focus,textarea:focus-visible,select:focus,select:focus-visible{outline:none;border-color:#475569;box-shadow:inset 0 0 0 1px #475569}:is(.search-box,.input-shell,.list-filter,.form-select-search) input:not([type=checkbox]):not([type=radio]):not([type=range]):is(:focus,:focus-visible){outline:none;border-color:transparent;box-shadow:none}.search-box:focus-within,.input-shell:focus-within,.list-filter:focus-within,.form-select-search:focus-within{border-color:#475569;box-shadow:inset 0 0 0 1px #475569}.form-select-trigger:focus-visible{outline:none;border-color:#475569;box-shadow:inset 0 0 0 1px #475569}.proposal-section{padding:16px 0 0;border:0;border-top:1px solid var(--color-border);background:none}.mini-meta-row span{padding:0;border:0}.mini-meta-row span+span:before{content:"·";margin-right:8px}:is(.content-section,.side-panel,.concept-detail) .empty-panel{border:0;background:none}.health-check{padding:0;border:0}.concept-map-detail{border:0;border-left:1px solid var(--color-border);background:none}@media(max-width:1180px){.concept-map-detail{border-left:0;border-top:1px solid var(--color-border)}}.landing-panel .landing-career{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 2px;border:0;border-bottom:1px solid var(--color-border);background:none;color:var(--color-ink);font-size:.92rem}.landing-panel .landing-career svg{color:var(--color-muted)}.landing-panel .landing-career:hover{color:var(--color-brand-strong)}.question-card .link-pill{width:auto;padding:0;border:0;background:none;color:var(--color-brand-strong)}:is(.search-box,.input-shell,.list-filter,.form-select-search) input{background:transparent}.input-shell{background:var(--color-surface)}.admin-table .probe-line{display:grid;gap:2px;margin-top:6px;max-width:260px;color:#64748b;font-size:.8rem}.admin-table .probe-line.ok{color:#15803d}.admin-table .probe-line.failed{color:#b91c1c}.admin-table .probe-line small{color:#64748b;font-size:.74rem;overflow-wrap:anywhere}.format-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:8px;margin:0;padding:0;border:0}.format-choices legend{display:flex;align-items:center;gap:12px;margin-bottom:8px;padding:0;color:#475569;font-size:.8rem}.format-choices legend .text-action{min-height:0;padding:0;font-size:.8rem}.format-choice{display:grid!important;grid-template-columns:auto auto 1fr;align-items:start;gap:10px;padding:10px 12px;border:1px solid #e5e7eb;background:#fff;font-weight:400;cursor:pointer}.format-choice.checked{background:var(--color-brand-soft)}.format-choice input{width:auto!important;min-height:0!important;margin:2px 0 0}.format-choice svg{color:var(--color-brand);margin-top:1px}.format-choice span{display:grid;gap:2px}.format-choice strong{color:#0f172a;font-size:.88rem;font-weight:600}.format-choice small{color:#64748b;font-size:.78rem;line-height:1.4}.animation-frame{display:grid;gap:12px;padding:14px;border:1px solid var(--color-border);background:var(--color-surface-soft)}.animation-frame:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.animation-stage{width:100%;height:auto;max-height:340px;overflow:visible}.animation-stage.vertical{max-height:none}.animation-actor rect{fill:var(--color-surface);stroke:#cbd5e1;stroke-width:1;transition:stroke .2s ease,fill .2s ease}.animation-actor svg{color:#64748b}.animation-actor text{fill:#334155;font-size:13px}.animation-actor.active rect{fill:var(--color-brand-soft);stroke:var(--color-brand);stroke-width:1.5}.animation-actor.active svg{color:var(--color-brand)}.animation-actor.active text{fill:var(--color-ink);font-weight:600}.animation-route{fill:none;stroke:var(--color-brand);stroke-width:2}.animation-route.drawing{stroke-dasharray:1;stroke-dashoffset:1;animation:animation-draw 1.1s ease-out forwards}@keyframes animation-draw{to{stroke-dashoffset:0}}.animation-arrow-head{fill:var(--color-brand)}.animation-packet{fill:var(--color-brand);stroke:var(--color-surface);stroke-width:2}.animation-message{fill:var(--color-brand-ink);font-size:13px;font-weight:600;paint-order:stroke;stroke:var(--color-surface-soft);stroke-width:5px;stroke-linejoin:round}.animation-caption{display:grid;gap:4px;min-height:3.4em;margin:0;color:#334155;line-height:1.5}.animation-caption strong{color:var(--color-ink)}.animation-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.animation-progress{margin-left:auto;color:var(--color-muted);font-size:.84rem}.animation-steps{display:grid;gap:4px;margin:12px 0 0;padding-left:1.4em}.animation-steps button{display:grid;gap:2px;width:100%;padding:6px 8px;border:0;background:transparent;color:#334155;text-align:left;line-height:1.45}.animation-steps button span{color:var(--color-muted);font-size:.86rem}.animation-steps button:hover,.animation-steps button.current{background:var(--color-brand-soft)}.animation-steps button.current strong{color:var(--color-brand-ink)}@media(max-width:760px){.animation-frame{padding:10px}.animation-progress{width:100%;margin-left:0}}@media(prefers-reduced-motion:reduce){.animation-route.drawing{animation:none;stroke-dashoffset:0}}@media print{.animation-frame{display:none}}.path-form .file-inline{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;color:#475569;font-size:.84rem}.path-form .file-inline input{width:auto;min-height:0;border:0;padding:0;font-size:.82rem}.path-form input:is([type=checkbox],[type=radio]),.admin-filters input:is([type=checkbox],[type=radio]){width:auto;height:auto;min-height:0;padding:0;border:0;box-shadow:none;accent-color:var(--color-brand)}.path-form input:is([type=checkbox],[type=radio]):focus,.admin-filters input:is([type=checkbox],[type=radio]):focus,.content-section input:is([type=checkbox],[type=radio]):focus{box-shadow:none}input:is([type=checkbox],[type=radio]):focus-visible{outline-offset:1px}.secondary-action.icon-only,.primary-action.icon-only{flex:none;width:38px;min-width:38px;padding:0}.path-form .inline-field .icon-only{height:38px}.job-task-head .job-task-review{margin-left:auto;min-height:0;padding:0}.theme-swatch{flex:0 0 auto;display:inline-grid;grid-auto-flow:column;grid-auto-columns:6px;height:14px;border:1px solid rgb(15 23 42 / .12)}.theme-swatch>span{display:block}.theme-menu{display:grid;margin-top:6px;padding-top:6px;border-top:1px solid var(--color-border)}.theme-menu-label{padding:4px 10px 2px;color:var(--color-muted);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.user-menu-panel .theme-option,.landing-account-panel .theme-option{min-height:36px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.landing-account-panel .theme-option{min-height:40px}.theme-option-label{display:flex;align-items:baseline;gap:6px;min-width:0}.theme-option-label small{color:var(--color-muted);font-size:.75rem}.theme-option.current{color:var(--color-brand-strong)}.theme-option-check{color:var(--color-brand)}.format-choice .theme-swatch{margin-top:2px}.user-menu-panel .theme-menu{margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--color-border)}@media screen{.view-frame{container:workspace / inline-size;padding:20px}.screen-grid,.admin-view{gap:16px;align-items:start;align-content:start}.screen-grid>*,.admin-content-grid>*,.form-grid>*,.progress-panel>*{min-width:0}.view-frame{overflow-wrap:anywhere}.hero-panel,.hero-panel.compact,.admin-toolbar{min-height:0;padding:0 0 16px;border:0;border-bottom:1px solid #dce1e8;background:transparent;box-shadow:none;flex-wrap:wrap;gap:12px 20px}.hero-panel>div:first-child,.admin-toolbar>div:first-child{flex:1 1 360px;min-width:0}.hero-panel h1,.admin-toolbar h1{max-width:none;font-size:1.5rem;line-height:1.25;font-weight:600;text-wrap:balance}.hero-panel p:not(.section-kicker),.admin-toolbar p:not(.section-kicker){margin:8px 0 0;max-width:90ch;font-size:.9rem}.view-frame .section-kicker{margin:0 0 6px;letter-spacing:0}.hero-actions{gap:8px;flex:0 1 auto}.content-section{padding:0;background:transparent;border:0;box-shadow:none}.content-section.path-form,.login-panel,.side-panel,.concept-detail{padding:16px;border:1px solid #dce1e8;background:#fff;box-shadow:none}.section-header{margin-bottom:12px;flex-wrap:wrap;gap:8px 12px}.section-header h2{min-width:0;font-weight:600}.path-form{gap:12px;align-content:start}.path-form>.section-header{margin-bottom:0}.form-grid{gap:12px}.path-form input,.path-form textarea,.form-select-trigger{width:100%;min-width:0;max-width:100%}.path-form textarea{font:inherit;line-height:1.5;resize:vertical}.admin-content-grid{align-items:start;gap:20px}.admin-content-row>button:only-child{grid-column:1 / -1}.toolbar-actions{min-width:0;flex-wrap:wrap}.view-frame button{max-width:100%;white-space:normal}.view-frame button svg{flex-shrink:0}.view-frame :is(.primary-action,.secondary-action,.danger-action){padding-block:8px;height:auto}.concept-card{min-height:0;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto 1fr auto;align-content:start;gap:0 12px;text-align:left}.concept-card>.tag{position:static;justify-self:end;align-self:start;max-width:100%}.concept-card>:is(h3,p,footer){grid-column:1 / -1}.concept-card>h3{margin:8px 0 0}.concept-card>p{margin:6px 0 0}.concept-card>footer{margin-top:12px}.subject-card{display:flex;flex-direction:column;align-items:flex-start}.subject-card p{margin:6px 0 0}.domain-list-item,.mentor-subject-picker .link-pill{text-align:left}.path-card,.project-card,.metric-card{padding:16px;box-shadow:none}.metric-header,.metric-footer{flex-wrap:wrap;gap:6px 12px}.metric-header strong{font-size:1.125rem}.progress-panel{align-items:start}.empty-panel{padding:20px 16px}.dashboard-grid,.two-columns,.project-grid,.referential-layout,.concept-layout,.admin-content-grid,.admin-platform-grid,.form-grid,.progress-panel{grid-template-columns:minmax(0,1fr)}.dashboard-grid>.hero-panel{grid-column:1 / -1}.concept-row,.compact-subject-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}.admin-filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));padding:12px 0;background:transparent;border:0;box-shadow:none}.bulk-bar,.table-summary,.pagination-bar{padding:8px 0;min-height:0;box-shadow:none;background:transparent;border:0}.table-wrap{min-width:0;max-width:100%;overflow-x:auto}.admin-table{width:100%;box-shadow:none}.table-wrap>.admin-table{display:table}.admin-table th,.admin-table td{padding:10px 12px;overflow-wrap:normal}.admin-table th{white-space:nowrap}@container workspace (min-width: 600px){.two-columns,.project-grid,.referential-layout,.form-grid,.progress-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@container workspace (min-width: 880px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid>.progress-panel{grid-column:1 / -1}.admin-content-grid{grid-template-columns:minmax(0,1fr)}.mentor-content-grid{grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr)}.concept-layout,.admin-platform-grid{grid-template-columns:minmax(0,1fr) 280px}}@container workspace (min-width: 1400px){.dashboard-grid>.hero-panel,.dashboard-grid>.progress-panel{grid-column:auto}.dashboard-grid>.hero-panel{flex-direction:column}.dashboard-grid>.hero-panel>div:first-child{flex-basis:auto}}}@media screen and (max-width:760px){.view-frame{padding:16px 12px calc(16px + env(safe-area-inset-bottom))}.hero-panel>div:first-child,.admin-toolbar>div:first-child{flex-basis:auto}.hero-panel h1,.admin-toolbar h1{font-size:1.25rem}.content-section.path-form,.side-panel,.concept-detail{padding:12px}.path-form textarea{font-size:1rem}}.hero-panel.compact.subject-hero{min-height:0;flex-direction:column;align-items:stretch;justify-content:flex-start;flex-wrap:nowrap;gap:14px}.hero-panel.compact.subject-hero>div:first-child{flex:0 0 auto;min-width:0}.hero-panel .subject-context-line a{color:inherit;text-decoration:underline;text-decoration-color:#cbd5e1;text-decoration-thickness:1px;text-underline-offset:3px}.hero-panel .subject-context-line a:hover{color:var(--color-ink);text-decoration-color:currentColor}.page-jump-bar ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.page-jump-bar button{min-height:34px;padding:0 12px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:.84rem;white-space:nowrap}.page-jump-bar button:hover{border-color:#94a3b8;background:var(--color-surface-soft)}@media(pointer:coarse){.page-jump-bar button{min-height:44px}}@media(max-width:760px){.page-jump-bar{min-width:0}.page-jump-bar ul{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.page-jump-bar ul::-webkit-scrollbar{display:none}.page-jump-bar li{flex:0 0 auto}}@container (min-width: 1180px){.page-jump-bar{display:none}}[data-jump]{scroll-margin-top:84px}.subject-page [tabindex="-1"]:focus,.subject-page [tabindex="-1"]:focus-visible{outline:none}.subject-overview .subject-overview-title{margin:0 0 4px;font-size:1.15rem;line-height:1.3}.generated-reader-title{margin:2px 0 0;color:var(--color-ink);font-size:.95rem;font-weight:600}.concept-card-domain{display:block;margin-top:12px;font-size:.72rem}.concept-card .concept-card-domain+h3{margin-top:2px}.list-row-body .list-row-context{color:var(--color-muted)}.text-action.list-more{min-height:32px;margin-top:10px;font-size:.86rem}.list-row-eyebrow,.concept-card .concept-card-domain{color:var(--color-muted)}.tag.maitrise{background:#f1f5f9;color:#475569}.event-meta{margin:0;color:var(--color-muted);font-size:.82rem;line-height:1.5;overflow-wrap:anywhere}.subject-card:is([id^=event-],.past-event)>h3:first-child{margin-top:0}.task-list .opportunity-item{grid-template-columns:auto minmax(0,1fr);align-items:start;row-gap:6px;padding:12px;color:var(--color-ink);text-decoration:none}.opportunity-item>svg{margin-top:2px}.opportunity-item>span:not(.opportunity-action){min-width:0;overflow-wrap:anywhere}.opportunity-action{grid-column:2;display:inline-flex;align-items:center;gap:6px;width:fit-content;color:var(--color-brand-strong);font-size:.85rem;font-weight:600}.opportunity-action.is-neutral{color:var(--color-muted);font-weight:500}.opportunity-item:hover .opportunity-action:not(.is-neutral),.opportunity-item:focus-visible .opportunity-action:not(.is-neutral){text-decoration:underline;text-underline-offset:3px}.task-list .opportunity-item.is-static,.task-list .opportunity-item.is-static:hover{cursor:default;transform:none;box-shadow:none;border-color:var(--color-border);background:var(--color-surface)}.opportunity-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.subject-preview{gap:20px}.subject-preview-head{display:grid;gap:4px;min-width:0}.subject-preview-domain{color:var(--color-muted);font-size:.78rem}.subject-preview-head h3{margin:0;color:var(--color-ink);font-family:var(--font-heading);font-size:1.2rem;line-height:1.3}.subject-preview-context{margin:0;color:var(--color-muted);font-size:.85rem;overflow-wrap:anywhere}.subject-preview-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-top:16px;border-top:1px solid var(--color-border)}.subject-preview-block{display:grid;gap:10px;align-content:start;min-width:0}.subject-preview-label{color:#475569;font-size:.78rem;font-weight:600}.subject-preview-steps{margin:0;padding:0;list-style:none;counter-reset:preview-step;display:grid;gap:8px}.subject-preview-steps li{counter-increment:preview-step;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:baseline;gap:8px;color:var(--color-ink);font-size:.92rem}.subject-preview-steps li:before{content:counter(preview-step);color:var(--color-muted);font-size:.78rem;font-variant-numeric:tabular-nums;text-align:right}.subject-preview-formats{display:flex;flex-wrap:wrap;gap:8px}.subject-preview .landing-note{margin:0}.subject-preview-open{justify-self:start;text-decoration:none}@media(max-width:760px){.subject-preview-body{grid-template-columns:minmax(0,1fr);gap:18px}.subject-preview-open{justify-self:stretch}}.proposals-reviewer .primary-action{margin-top:4px}.university-mark{--university-mark-size: 32px;flex:none;width:var(--university-mark-size);height:var(--university-mark-size);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface-soft);color:var(--color-muted);font-size:calc(var(--university-mark-size) * .36);font-weight:600;letter-spacing:.02em;line-height:1;vertical-align:middle}.university-mark-sm{--university-mark-size: 24px;border-radius:5px;font-size:.6rem}.university-mark-lg{--university-mark-size: 40px;border-radius:8px}.university-mark.has-logo{background:#fff;padding:2px}.university-mark img{width:100%;height:100%;display:block;object-fit:contain}.choice-chip-row .university-mark+.step-select{flex:1 1 0;min-width:0;max-width:480px}.choice-chip-row>.university-mark{align-self:center}.selection-breadcrumb .university-mark{margin-right:2px}.subject-context-university{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}.task-item.homonym-item{grid-template-columns:auto minmax(0,1fr) auto}.dashboard-context-identity{display:flex;align-items:center;gap:12px;min-width:0}.university-logo-field{display:grid;gap:8px}.university-logo-current{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.university-logo-current small{color:var(--color-muted)}.nav-item .nav-badge{margin-left:auto;min-width:20px;padding:1px 6px;background:rgb(var(--color-brand-icon-rgb) / .28);color:#f8fafc;font-family:var(--font-mono);font-size:.68rem;font-style:normal;font-weight:400;line-height:16px;text-align:center}.sidebar.collapsed .nav-item{position:relative}.sidebar.collapsed .nav-item .nav-badge{position:absolute;top:2px;right:6px;min-width:16px;padding:0 4px;font-size:.6rem;line-height:14px}@media(max-width:1023px){.sidebar.collapsed .nav-item .nav-badge{position:static;min-width:20px;padding:1px 6px;font-size:.68rem;line-height:16px}.bottom-nav-item.mobile-menu-button{position:relative}.bottom-nav-badge{position:absolute;top:5px;left:calc(50% + 6px);min-width:18px;padding:0 5px;background:var(--color-brand-tint);color:var(--color-brand-strong);font-family:var(--font-mono);font-size:.62rem;font-style:normal;font-weight:400;line-height:16px;text-align:center}}.inbox-group .section-header{margin-bottom:12px}.inbox-row-action{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.inbox-row-action.is-publish,.inbox-row-action.is-validate{color:var(--color-brand-strong)}.inbox-row .list-row-body small{overflow-wrap:anywhere}.inbox-more{margin-top:10px;padding:0}.notification-item{display:flex;flex-direction:column}.notification-item-body span{white-space:pre-line}.notification-item-open{align-self:flex-start;margin:-4px 0 0 8px;padding:0 0 8px;color:var(--color-link);font-weight:600;text-decoration:none}.notification-item-open:hover,.notification-item-open:focus-visible{text-decoration:underline}.cursus-finder{position:relative;z-index:5;display:grid;grid-template-columns:210px minmax(0,1fr);gap:16px 28px;align-items:end;padding:20px 24px;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.cursus-finder-head{display:grid;gap:4px;align-self:center}.cursus-finder-head h2{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:1.2rem;color:var(--color-ink)}.cursus-finder-head h2 svg{flex:none;color:var(--color-brand)}.cursus-finder-head p{margin:0;color:var(--color-muted);font-size:.88rem;line-height:1.45}.cursus-finder-form{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,1.3fr) minmax(0,.85fr) minmax(0,1fr) auto;gap:12px;align-items:end}.cursus-finder .form-select-trigger{height:42px}.cursus-finder-submit{min-height:42px;white-space:nowrap}@media(max-width:1180px){.cursus-finder{grid-template-columns:1fr}.cursus-finder-head{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:12px}}@media(max-width:980px){.landing>*{order:4}.landing>.landing-nav{order:0}.landing>.landing-hero{display:contents}.landing-hero>.landing-hero-copy{order:1;margin-top:clamp(18px,4vh,32px)}.landing>.cursus-finder{order:2}.landing-hero>.landing-hero-side{order:3}.cursus-finder-form{grid-template-columns:repeat(2,minmax(0,1fr))}.cursus-finder-university,.cursus-finder-program,.cursus-finder-submit{grid-column:1 / -1}.cursus-finder-submit{justify-self:start}}@media(max-width:760px){.cursus-finder{padding:16px;gap:14px}.cursus-finder-head{grid-template-columns:1fr;gap:2px}.cursus-finder-head h2{font-size:1.1rem}.cursus-finder-form{gap:10px}.cursus-finder-submit{justify-self:stretch;justify-content:center;width:100%;min-height:44px}.cursus-finder .form-select-trigger{min-height:44px}}.save-toggle{flex:0 0 auto;min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:1px solid var(--color-border);background:var(--color-surface);color:#334155;font-size:.82rem;white-space:nowrap}.save-toggle:hover{border-color:#94a3b8;background:var(--color-brand-soft)}.save-toggle svg{color:var(--color-muted)}.save-toggle.saved{background:var(--color-brand-soft);color:var(--color-brand-strong)}.save-toggle.saved svg{color:var(--color-brand);fill:rgb(var(--color-brand-rgb) / .18)}@media(pointer:coarse){.save-toggle{min-height:44px}}.subject-title-row,.concept-title-row,.generated-reader-head,.subject-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px 16px}.subject-title-row h1,.concept-title-row h1,.generated-reader-head h3{min-width:0}.subject-overview-head{align-items:center}.concept-title-row{margin-bottom:8px}.concept-title-row h1{margin-bottom:0}.project-meta{align-items:center}.project-meta .save-toggle{margin-left:auto}.saved-group .section-type-label{margin:0 0 12px}.saved-rows{display:grid;gap:8px;margin:0;padding:0;list-style:none}.saved-row{display:flex;align-items:stretch;min-width:0}.saved-row>.list-row{flex:1 1 auto;min-width:0}.saved-row>.list-row.unavailable{background:var(--color-surface-soft)}.saved-row>.list-row.unavailable strong{color:var(--color-muted)}.saved-unavailable{font-style:italic}.saved-remove{flex:0 0 48px;display:inline-flex;align-items:center;justify-content:center;margin-left:-1px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted)}.saved-remove:hover{border-color:#94a3b8;background:var(--color-surface-soft);color:var(--color-ink)}.saved-view .list-filter{max-width:420px}.resume-block{display:grid;gap:10px 20px;padding:14px 20px;border:1px solid var(--color-border);background:var(--color-surface)}@media(min-width:1181px){.resume-block{grid-column:1 / -1}}.resume-title{margin:0;color:var(--color-brand-strong);font-family:var(--font-mono);font-size:.72rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase}.resume-main{width:100%;min-height:60px;display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--color-border);background:var(--color-surface-soft);color:var(--color-text);text-align:left}.resume-main:hover,.resume-main:focus-visible{border-color:#94a3b8;background:var(--color-brand-soft)}.resume-main .list-row-body{flex:1 1 auto}.resume-main .list-row-body strong{font-size:1rem}.resume-time{flex:0 0 auto;color:var(--color-muted);font-size:.78rem}.resume-main>svg{flex:0 0 auto;color:var(--color-muted)}.resume-more{display:grid;gap:2px;margin:0;padding:0;list-style:none}.resume-link{width:100%;min-height:32px;display:flex;align-items:baseline;gap:8px;padding:4px 0;border:0;background:transparent;color:var(--color-text);font-size:.86rem;text-align:left}.resume-link span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resume-link small{flex:0 0 auto;color:var(--color-muted);font-size:.76rem}.resume-link:hover span{color:var(--color-brand-strong);text-decoration:underline;text-underline-offset:3px}@media(min-width:761px){.resume-block{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center}.resume-block.single{grid-template-columns:minmax(0,1fr)}.resume-title{grid-column:1 / -1}}@media(max-width:760px){.resume-block{padding:12px 16px}.resume-more li:nth-child(n+3){display:none}.resume-link small{display:none}.saved-remove{flex-basis:44px}}@media(pointer:coarse){.resume-link{min-height:36px}}.proposal-audience-summary{display:flex;align-items:flex-start;gap:8px;margin:0;color:var(--color-text);font-size:.84rem;line-height:1.5}.proposal-audience-summary svg,.proposal-audience h3 svg{flex:0 0 auto;color:var(--color-brand-icon)}.proposal-audience-summary svg{margin-top:3px}.admin-content-list .proposal-audience-line{color:var(--color-text);font-size:.8rem;font-variant-numeric:tabular-nums}.proposal-audience{display:grid;gap:8px;padding:12px 14px;border:1px solid var(--color-border);background:var(--color-surface-soft)}.proposal-audience h3{display:flex;align-items:center;gap:6px;margin:0;color:var(--color-ink);font-size:.86rem}.proposal-audience p{margin:0;color:var(--color-text);font-size:.86rem;font-variant-numeric:tabular-nums}.proposal-audience .proposal-audience-last{color:var(--color-muted);font-size:.8rem}.reads-sparkline{width:100%;max-width:340px;margin:2px 0 0}.reads-sparkline svg{display:block;width:100%;height:auto;overflow:visible}.reads-sparkline-bar{fill:var(--color-brand)}.reads-sparkline-empty{fill:var(--color-border)}.reads-sparkline-hit{fill:transparent}.reads-sparkline g:hover .reads-sparkline-bar{fill:var(--color-brand-strong)}.reads-sparkline g:hover .reads-sparkline-empty{fill:var(--color-muted)}.reads-sparkline figcaption{display:flex;justify-content:space-between;margin-top:4px;color:var(--color-muted);font-size:.72rem}@media(forced-colors:active){.reads-sparkline-bar{fill:CanvasText}}
