.app-version{padding:14px 24px 18px;text-align:right}.app-version button{all:unset;cursor:pointer;font-size:11.5px;color:var(--muted);opacity:.75;font-variant-numeric:tabular-nums;border-radius:4px;padding:2px 4px}.app-version button:hover{opacity:1;text-decoration:underline}.app-version button:focus-visible{opacity:1;outline:2px solid var(--muted);outline-offset:2px}@media print{.app-version{display:none}}.admin-menu{margin-top:auto;border:1px solid rgb(240 180 90 / 35%);background:#f0b45a12;border-radius:var(--radius);padding:2px}.admin-menu+.side-foot{margin-top:var(--space-3)}.admin-toggle{width:100%;min-height:40px;display:flex;align-items:center;gap:var(--space-2);padding:8px var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:#fff;font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer;text-align:left}.admin-toggle:hover{background:#ffffff12}.admin-toggle:focus-visible{outline:none;box-shadow:var(--focus)}.admin-toggle .admin-shield{color:#f0b45a;flex:none}.admin-toggle .admin-chevron{margin-left:auto;color:#a1a1aa;transition:transform .15s;flex:none}.admin-chip{font-size:10.5px;font-weight:600;letter-spacing:.04em;color:#1a1205;background:#f0b45a;padding:1px 7px;border-radius:999px}.admin-links{display:flex;flex-direction:column;gap:2px;padding:0 0 6px}.admin-links h3{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#a1a1aa;margin:var(--space-2) var(--space-3) 2px 34px}.nav-link.admin-link{padding-left:34px}.nav-link.admin-link.active{background:#f0b45a2e;color:#fff}:root{--ink: #18181b;--ink-2: #3f3f46;--ink-3: #52525b;--muted: #71717a;--light: #f4f4f5;--surface: #ffffff;--border: #e4e4e7;--border-strong: #a1a1aa;--brand-primary: #18181b;--brand-accent: #ff7a59;--brand-accent-ink: #18181b;--brand-accent-soft: color-mix(in srgb, var(--brand-accent) 12%, white);--brand-accent-strong: #c2410c;--success: #1d7a46;--success-soft: #e3f4ea;--warning: #9a5b00;--warning-soft: #fdf1dc;--danger: #b42318;--danger-soft: #fdeceb;--info-soft: #e7f1fb;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--shadow: 0 1px 2px rgb(24 24 27 / 6%), 0 4px 12px rgb(24 24 27 / 6%);--shadow-lg: 0 12px 40px rgb(24 24 27 / 18%);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--font: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--mono: "Cascadia Code", "SFMono-Regular", Consolas, monospace;--text-xs: 12px;--text-sm: 13px;--text: 15px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--sidebar-w: 248px;--focus: 0 0 0 3px color-mix(in srgb, var(--brand-accent) 45%, white);color-scheme:light}:root[data-theme=dark]{--ink: #f4f4f5;--ink-2: #d4d4d8;--ink-3: #a1a1aa;--muted: #a1a1aa;--light: #0f0f11;--surface: #18181b;--border: #27272a;--border-strong: #3f3f46;--brand-accent-soft: color-mix(in srgb, var(--brand-accent) 22%, #18181b);--brand-accent-strong: color-mix(in srgb, var(--brand-accent) 70%, white);--success-soft: #133a29;--warning-soft: #3a2c10;--danger-soft: #3d1a17;--info-soft: #16304a;--success: #5fd197;--warning: #f0b45a;--danger: #ff8a7f;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:var(--text);line-height:1.5;color:var(--ink);background:var(--light);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0 0 var(--space-3);line-height:1.25;color:var(--ink)}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}p{margin:0 0 var(--space-3)}a{color:var(--brand-accent-strong)}img{max-width:100%}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--radius-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:-999px;top:8px;z-index:100;background:var(--surface);padding:8px 12px}.skip-link:focus{left:8px}.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{background:var(--brand-primary);color:#e4e4e7;padding:var(--space-4) var(--space-3);display:flex;flex-direction:column;gap:var(--space-4);position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar .brand{display:flex;align-items:center;gap:var(--space-2);color:#fff;font-weight:700;padding:0 var(--space-2);text-decoration:none}.sidebar .brand img{height:28px}.sidebar .brand.has-logo{padding:2px var(--space-2) var(--space-1)}.sidebar .brand.has-logo img{height:auto}.nav-section{display:flex;flex-direction:column;gap:2px}.nav-section h2{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:#a1a1aa;margin:var(--space-2) var(--space-2) var(--space-1)}.nav-link{color:#e4e4e7;text-decoration:none;padding:8px var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-2)}.nav-link:hover{background:#ffffff12}.nav-link.active{background:var(--brand-accent);color:var(--brand-accent-ink);font-weight:600}.main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.topbar .menu-toggle{display:none;margin-right:auto}.content{padding:var(--space-5);max-width:1280px;width:100%;margin:0 auto}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);z-index:50;transform:translate(-100%);transition:transform .2s}.sidebar.open{transform:none;box-shadow:var(--shadow-lg)}.topbar .menu-toggle{display:inline-flex}.content{padding:var(--space-4)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{background:var(--light)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--brand-accent-ink)}.btn-primary:hover{background:var(--brand-accent-strong)}.btn-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,white)}.btn-danger:hover{background:var(--danger-soft)}.btn-ghost{border-color:transparent;background:transparent}.btn-sm{min-height:28px;padding:0 var(--space-3);font-size:var(--text-xs)}.icon-btn{min-width:36px;padding:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow)}.card+.card{margin-top:var(--space-4)}.grid>.card+.card,.kpi-row>.card+.card,.row>.card+.card{margin-top:0}.card-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.card-title h2,.card-title h3{margin:0}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.page-header h1{margin:0}.page-header p{margin:var(--space-1) 0 0;color:var(--muted)}.page-header .actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.grid{display:grid;gap:var(--space-4)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.grid-4{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.row-between{display:flex;gap:var(--space-3);align-items:center;justify-content:space-between;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.muted{color:var(--muted)}.small{font-size:var(--text-sm)}.xs{font-size:var(--text-xs)}.spacer{flex:1}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.field label,.label{font-size:var(--text-sm);font-weight:600}.field .hint{font-size:var(--text-xs);color:var(--muted)}.field .error{font-size:var(--text-xs);color:var(--danger)}input[type=text],input[type=email],input[type=url],input[type=number],input[type=date],input[type=datetime-local],input[type=search],select,textarea,.input{font:inherit;font-size:var(--text-sm);color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:8px 10px;min-height:36px;width:100%}textarea{min-height:96px;resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--brand-accent)}.check{display:flex;gap:var(--space-2);align-items:flex-start;font-size:var(--text-sm);cursor:pointer}.check input{margin-top:3px;width:16px;height:16px;accent-color:var(--brand-accent)}fieldset{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);margin:0 0 var(--space-3)}legend{font-size:var(--text-sm);font-weight:600;padding:0 var(--space-1)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 var(--space-4)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}table.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.table th{background:var(--light);font-weight:600;white-space:nowrap}.table th button{all:unset;cursor:pointer;display:inline-flex;gap:4px;align-items:center}.table th button:focus-visible{box-shadow:var(--focus)}.table tr:last-child td{border-bottom:none}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:var(--text-xs);font-weight:600;background:var(--light);color:var(--ink-2);white-space:nowrap}.pill-success{background:var(--success-soft);color:var(--success)}.pill-warning{background:var(--warning-soft);color:var(--warning)}.pill-danger{background:var(--danger-soft);color:var(--danger)}.pill-info{background:var(--brand-accent-soft);color:var(--brand-accent-strong)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);margin-bottom:var(--space-3)}.alert-error{background:var(--danger-soft);color:var(--danger)}.alert-info{background:var(--info-soft);color:var(--ink-2)}.alert-success{background:var(--success-soft);color:var(--success)}.alert-warning{background:var(--warning-soft);color:var(--warning)}.progress{height:8px;background:var(--light);border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--brand-accent);border-radius:999px}.ring{position:relative;display:inline-grid;place-items:center}.ring svg{transform:rotate(-90deg)}.ring .ring-label{position:absolute;font-size:var(--text-xs);font-weight:700}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border);margin-bottom:var(--space-4);overflow-x:auto}.tabs button{all:unset;cursor:pointer;padding:10px var(--space-3);font-size:var(--text-sm);font-weight:600;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--brand-accent)}.tabs button:focus-visible{box-shadow:var(--focus)}.modal-backdrop{position:fixed;inset:0;background:#18181b73;display:grid;place-items:center;z-index:100;padding:var(--space-4)}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(640px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column}.modal.wide{width:min(960px,100%)}.modal header,.modal footer{padding:var(--space-4) var(--space-5);display:flex;align-items:center;gap:var(--space-3)}.modal header{border-bottom:1px solid var(--border);justify-content:space-between}.modal header h2{margin:0;font-size:var(--text-lg)}.modal footer{border-top:1px solid var(--border);justify-content:flex-end}.modal .modal-body{padding:var(--space-5);overflow-y:auto}.popover{position:absolute;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:360px;max-height:480px;overflow-y:auto;z-index:40}.popover-anchor{position:relative}.course-card{display:flex;flex-direction:column;overflow:hidden;padding:0;text-decoration:none;color:inherit}.course-card .cover{aspect-ratio:16 / 7;background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent));background-size:cover;background-position:center}.course-card .body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);flex:1}.course-card h3{font-size:var(--text);margin:0}a.course-card:hover{border-color:var(--brand-accent)}.stat-tile{display:flex;flex-direction:column;gap:2px}.stat-tile .value{font-size:var(--text-2xl);font-weight:700;font-variant-numeric:tabular-nums}.stat-tile .label{font-size:var(--text-sm);color:var(--muted)}.player{display:grid;grid-template-columns:300px 1fr;gap:var(--space-4);align-items:start}.player-outline{position:sticky;top:72px;max-height:calc(100vh - 96px);overflow-y:auto;padding:var(--space-3)}.outline-module h3{font-size:var(--text-sm);margin:var(--space-3) var(--space-2) var(--space-1);color:var(--ink-3)}.outline-lesson{all:unset;box-sizing:border-box;width:100%;display:flex;gap:var(--space-2);align-items:flex-start;padding:8px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer}.outline-lesson:hover{background:var(--light)}.outline-lesson[aria-current=true]{background:var(--brand-accent-soft);font-weight:600}.outline-lesson[aria-disabled=true]{color:var(--muted);cursor:not-allowed}.outline-lesson:focus-visible{box-shadow:var(--focus)}.lesson-status{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-strong);flex:none;display:grid;place-items:center;font-size:11px;margin-top:1px}.lesson-status.done{background:var(--success);border-color:var(--success);color:#fff}.lesson-status.partial{border-color:var(--brand-accent)}.lesson-pane{min-width:0}.lesson-nav{display:flex;justify-content:space-between;margin-top:var(--space-4)}.rich{line-height:1.65}.rich table{border-collapse:collapse}.rich td,.rich th{border:1px solid var(--border);padding:6px 10px}.rich blockquote{border-left:4px solid var(--brand-accent);margin:0;padding:var(--space-2) var(--space-4);background:var(--light)}.rich pre{background:var(--ink);color:#f4f4f5;padding:var(--space-3);border-radius:var(--radius-sm);overflow-x:auto}.text-lesson-body{max-height:70vh;overflow-y:auto;padding-right:var(--space-2)}.video-frame{position:relative;aspect-ratio:16 / 9;background:#000;border-radius:var(--radius);overflow:hidden}.video-frame>div,.video-frame iframe{position:absolute;inset:0;width:100%;height:100%}.video-overlay{position:absolute;inset:0;background:#18181be0;color:#fff;display:grid;place-items:center;padding:var(--space-5);z-index:5}.video-overlay .card{color:var(--ink);width:min(560px,100%)}.watch-bar{height:6px;background:var(--light);border-radius:999px;position:relative;overflow:hidden;margin-top:var(--space-2)}.watch-bar span{position:absolute;top:0;bottom:0;background:var(--brand-accent)}.pdf-frame{width:100%;height:75vh;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.side-panel textarea{min-height:140px}.quiz-question{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4)}.quiz-question+.quiz-question{margin-top:var(--space-3)}.sortable-item{display:flex;align-items:center;gap:var(--space-2);padding:8px var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin-bottom:6px}.drag-handle{cursor:grab;color:var(--muted);background:none;border:none;padding:4px;font-size:16px}.timer{font-variant-numeric:tabular-nums;font-weight:700}.timer.low{color:var(--danger)}@media(max-width:900px){.player{grid-template-columns:1fr}.player-outline{position:static;max-height:none}}.builder{display:grid;grid-template-columns:340px 1fr;gap:var(--space-4);align-items:start}.builder-outline{position:sticky;top:72px;max-height:calc(100vh - 96px);overflow-y:auto}.outline-row{display:flex;align-items:center;gap:var(--space-1);padding:6px var(--space-2);border-radius:var(--radius-sm);background:var(--surface)}.outline-row.selected{background:var(--brand-accent-soft)}.outline-row .title-btn{all:unset;flex:1;cursor:pointer;font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outline-row .title-btn:focus-visible{box-shadow:var(--focus)}.module-block{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2);margin-bottom:var(--space-3);background:var(--light)}.module-head{display:flex;align-items:center;gap:var(--space-1);padding:4px;font-weight:600}.timeline{position:relative;height:34px;background:var(--light);border-radius:var(--radius-sm);border:1px solid var(--border);cursor:crosshair}.timeline .marker{position:absolute;top:4px;width:14px;height:24px;margin-left:-7px;border-radius:4px;background:var(--brand-accent);border:none;cursor:pointer}@media(max-width:1000px){.builder{grid-template-columns:1fr}.builder-outline{position:static;max-height:none}}.editor{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface)}.editor-toolbar{display:flex;flex-wrap:wrap;gap:2px;padding:4px;border-bottom:1px solid var(--border);background:var(--light)}.editor-toolbar button{min-width:30px;height:28px;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink)}.editor-toolbar button[aria-pressed=true]{background:var(--brand-accent-soft);border-color:var(--brand-accent)}.editor-content .ProseMirror{min-height:180px;padding:var(--space-3);outline:none}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3)}.badge-item{text-align:center;padding:var(--space-4) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.badge-item .icon{font-size:32px;width:56px;height:56px;margin:0 auto var(--space-2);border-radius:50%;display:grid;place-items:center;background:var(--brand-accent-soft)}.badge-item.locked{opacity:.45;filter:grayscale(1)}.profile-card{display:flex;gap:var(--space-4);align-items:center}.avatar{width:64px;height:64px;border-radius:50%;background:var(--brand-accent);color:#fff;display:grid;place-items:center;font-weight:700;font-size:22px;flex:none}.empty{text-align:center;padding:var(--space-6) var(--space-4);color:var(--muted)}.loading{padding:var(--space-6);text-align:center;color:var(--muted)}.toast-host{position:fixed;bottom:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:200}.toast{background:var(--ink);color:#fff;padding:10px 16px;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);font-size:var(--text-sm)}.toast.error{background:var(--danger)}.splash{min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:1fr auto;grid-template-columns:minmax(0,1fr);justify-items:center;align-items:center;color:#fff;text-align:center;padding:var(--space-5) var(--space-4) 0;background:radial-gradient(900px 480px at 50% -8%,color-mix(in srgb,var(--brand-accent) 22%,transparent),transparent 65%),radial-gradient(circle at 1px 1px,rgb(255 255 255 / 5%) 1px,transparent 0) 0 0 / 22px 22px,var(--brand-primary)}.splash .card{color:var(--ink);width:100%;max-width:440px;padding:var(--space-6);border-radius:18px;box-shadow:var(--shadow-lg)}.splash .signin-card{position:relative;overflow:hidden;max-width:400px;display:flex;flex-direction:column;gap:var(--space-3);padding:36px 32px 28px;animation:signin-rise .35s cubic-bezier(.2,.7,.2,1) both}.signin-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--brand-accent)}.signin-brand{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:var(--text-lg);letter-spacing:-.01em;margin-bottom:var(--space-1)}.signin-mark{display:inline-flex;color:var(--brand-accent)}.signin-title{font-size:var(--text-xl);font-weight:650;margin:0;letter-spacing:-.015em}.signin-sub{color:var(--muted);margin:-4px 0 var(--space-2);font-size:var(--text-sm)}.signin-btn{width:100%;min-height:44px;font-size:var(--text);gap:10px}.signin-fine{margin:0;font-size:var(--text-xs);color:var(--muted)}.signin-foot{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-5) 0 20px;color:#a1a1aa;font-size:var(--text-xs)}.signin-foot a:not(.underhill-badge){color:inherit;text-decoration:none}.signin-foot a:not(.underhill-badge):hover{color:#fff;text-decoration:underline}@keyframes signin-rise{0%{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}@media(max-width:480px){.splash .signin-card{padding:30px 22px 22px;border-radius:14px}}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.chart-box{height:320px}.perm-matrix td{text-align:center}.perm-matrix td:first-child,.perm-matrix th:first-child{text-align:left}.chip-list{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 10px;border-radius:999px;background:var(--brand-accent-soft);font-size:var(--text-xs);font-weight:600}.chip button{border:none;background:transparent;cursor:pointer;font-size:14px;line-height:1;padding:0 4px;color:var(--ink-2)}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius);padding:var(--space-5);text-align:center;color:var(--muted)}.dropzone.over{border-color:var(--brand-accent);background:var(--brand-accent-soft)}.steps{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap}.steps li{list-style:none;font-size:var(--text-sm);color:var(--muted);padding:6px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border)}.steps li[aria-current=step]{color:var(--brand-accent-ink);background:var(--brand-accent);border-color:var(--brand-accent);font-weight:600}.steps{padding:0;margin-top:0}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.from-underhill{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs, 12px);font-weight:600;color:var(--muted, #71717a);letter-spacing:.02em}.from-underhill-mark{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:5px;background:#18181b;color:#fafafa;font-size:11px;font-weight:700;box-shadow:inset 0 -2px #ff7a59,0 0 0 1px #fafafa40}.whats-new-btn{position:relative}.unread-dot{position:absolute;top:4px;right:2px;width:8px;height:8px;border-radius:50%;background:var(--brand-accent);box-shadow:0 0 0 2px var(--surface)}.drawer-backdrop{position:fixed;inset:0;background:#18181b59;z-index:60;display:flex;justify-content:flex-end}.drawer{width:min(440px,100vw);height:100%;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.drawer>header{padding:16px 18px;border-bottom:1px solid var(--border)}.drawer-body{overflow-y:auto;padding:8px 18px 24px}.announcement-list{list-style:none;margin:0;padding:0}.announcement-list>li{padding:16px 0 16px 12px;border-bottom:1px solid var(--border);border-left:3px solid transparent}.announcement-list>li.unread{border-left-color:var(--brand-accent)}.announcement-title{margin:0;font-size:var(--text-lg, 18px)}.announcement-image{max-width:100%;border-radius:var(--radius);border:1px solid var(--border)}.announcement-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 20px;background:var(--brand-accent-soft);border-bottom:1px solid var(--border);border-left:4px solid var(--brand-accent)}.announcement-banner-text{flex:1 1 280px;min-width:0}.announcement-banner-body>:first-child{margin-top:2px}.announcement-banner-body>:last-child{margin-bottom:0}@media(max-width:640px){.whats-new-btn{padding-inline:8px}}.tenant-logo{display:inline-flex;align-items:center;max-width:100%;line-height:0}.tenant-logo img{display:block;max-width:100%;width:auto;height:auto;object-fit:contain}.tenant-logo.plate-light{background:#fff;padding:5px 8px;border-radius:8px}.tenant-logo.plate-dark{background:#18181b;padding:5px 8px;border-radius:8px}.sidebar .brand .tenant-logo{max-width:216px}.theme-select{display:inline-flex;flex-direction:column;gap:var(--space-1)}.theme-select select{max-width:260px}.theme-select.compact select{min-height:32px;padding:2px 8px;font-size:var(--text-xs);width:auto}.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.swatch{display:flex;align-items:center;gap:8px;background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);padding:6px 10px;border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);font-weight:500;cursor:pointer;text-align:left}.swatch:hover{background:var(--light)}.swatch.on{border-color:var(--brand-accent);box-shadow:var(--focus)}.swatch-dot{width:18px;height:18px;border-radius:999px;flex:none;box-shadow:inset 0 0 0 1px #00000026}.swatch-dot.custom{background:conic-gradient(#e11d48,#f59e0b,#16a34a,#0ea5e9,#7c3aed,#e11d48)}.color-field{display:flex;gap:8px;align-items:center}.color-field input[type=color]{width:44px;height:36px;padding:2px;flex:none}.color-field input[type=text]{max-width:120px;font-family:var(--mono);text-transform:uppercase}.brand-previews{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:12px}.brand-preview{margin:0;display:grid;grid-template-columns:104px 1fr;grid-template-rows:1fr auto;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--light);color:var(--ink);min-height:150px;font-size:11.5px}.brand-preview figcaption{grid-column:1 / -1;padding:5px 10px;font-size:11px;color:var(--muted);border-top:1px solid var(--border);background:var(--surface)}.bp-side{background:var(--brand-primary);color:#e4e4e7;padding:10px 6px;display:flex;flex-direction:column;gap:3px}.bp-logo{display:flex;align-items:center;gap:5px;color:#fff;font-weight:700;font-size:11px;padding:0 4px 8px;min-height:22px;overflow:hidden}.bp-logo .tenant-logo{max-width:92px}.bp-logo .tenant-logo.plate-light,.bp-logo .tenant-logo.plate-dark{padding:3px 5px;border-radius:5px}.bp-item{padding:4px 6px;border-radius:5px}.bp-item.on{background:var(--brand-accent);color:var(--brand-accent-ink);font-weight:600}.bp-main{padding:12px}.bp-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:6px}.bp-title{font-weight:650}.bp-text{color:var(--muted)}.bp-link{color:var(--brand-accent-strong)}.bp-progress{height:6px;border-radius:999px;background:var(--border);overflow:hidden}.bp-progress span{display:block;height:100%;background:var(--brand-accent)}.bp-button{display:inline-block;background:var(--brand-accent);color:var(--brand-accent-ink);padding:3px 9px;border-radius:6px;font-weight:600}.bp-pill{display:inline-block;background:var(--brand-accent-soft);color:var(--brand-accent-strong);padding:1px 7px;border-radius:999px;font-weight:600}.logo-tips{background:var(--info-soft);border-radius:var(--radius-sm);padding:10px 14px;font-size:var(--text-sm);color:var(--ink-2)}.logo-tips ul{margin:6px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:3px}.logo-surfaces{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:12px}.logo-surface{margin:0;display:flex;flex-direction:column;gap:4px}.logo-surface-box{height:72px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;padding:12px}.logo-surface-box .tenant-logo{max-width:90%}.sidebar .brand svg{flex:none}.side-foot{margin-top:auto;padding:var(--space-3) var(--space-2) 0;border-top:1px solid rgb(255 255 255 / 10%)}.underhill-badge{display:inline-flex;align-items:center;justify-content:center;width:44px;height:32px;border-radius:8px;border:1px solid rgb(255 255 255 / 14%);color:#a1a1aa;transition:background .15s,border-color .15s,color .15s}.underhill-badge:hover{background:#ffffff12;border-color:#ffffff47;color:#fff}.underhill-badge svg{display:block}.league-me{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap;margin-bottom:var(--space-4)}.league-level{font-size:34px;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--brand-accent-soft);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--brand-accent) 35%,transparent)}.league-me-main{flex:1 1 260px;min-width:0}.league-me-figures{display:flex;gap:var(--space-5);flex-wrap:wrap}.league-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-4);align-items:start}@media(max-width:1100px){.league-layout{grid-template-columns:minmax(0,1fr)}}.league-controls{align-items:flex-end}.league-controls .tabs{margin-bottom:0;flex:1 1 auto}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:999px;padding:2px;background:var(--surface)}.segmented button{all:unset;cursor:pointer;padding:5px 14px;border-radius:999px;font-size:var(--text-sm);font-weight:600;color:var(--muted)}.segmented button[aria-pressed=true]{background:var(--ink);color:var(--surface)}.segmented button:focus-visible{box-shadow:var(--focus)}.league-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);align-items:end;padding:var(--space-4) var(--space-4) 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.podium-step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;min-width:0}.podium-step .avatar{width:48px;height:48px;font-size:17px;margin-bottom:4px}.podium-step.place-1 .avatar{width:60px;height:60px;font-size:20px;box-shadow:0 0 0 3px #f5c542}.podium-step.place-2 .avatar{box-shadow:0 0 0 3px #b8bec7}.podium-step.place-3 .avatar{box-shadow:0 0 0 3px #d0925e}.podium-name{font-weight:700;font-size:var(--text-sm);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-block{width:100%;margin-top:var(--space-2);border-radius:var(--radius-sm) var(--radius-sm) 0 0;display:grid;place-items:center;font-weight:800;font-size:var(--text-xl);color:var(--ink-3);background:var(--light)}.podium-step.place-1 .podium-block{height:72px;background:color-mix(in srgb,#f5c542 28%,var(--surface));color:var(--ink)}.podium-step.place-2 .podium-block{height:52px;background:color-mix(in srgb,#b8bec7 30%,var(--surface))}.podium-step.place-3 .podium-block{height:38px;background:color-mix(in srgb,#d0925e 26%,var(--surface))}.podium-step.is-me .podium-name{color:var(--brand-accent-strong)}.league-table tr.is-me td{background:var(--brand-accent-soft)}.league-rank{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:50%;font-weight:700;font-size:var(--text-xs)}.league-rank.top-1{background:#f5c542;color:#18181b}.league-rank.top-2{background:#b8bec7;color:#18181b}.league-rank.top-3{background:#d0925e;color:#18181b}.avatar.sm{width:30px;height:30px;font-size:12px}.league-level-chip{display:inline-flex;gap:4px;align-items:center;font-size:var(--text-xs);font-weight:600;padding:2px 8px;border-radius:999px;background:var(--light);white-space:nowrap}@media(max-width:700px){.league-table .hide-sm{display:none}}.league-rules,.league-recent{list-style:none;margin:0;padding:0}.league-rules li{display:flex;justify-content:space-between;gap:var(--space-3);padding:6px 0;font-size:var(--text-sm);border-bottom:1px dashed var(--border)}.league-rules li:last-child{border-bottom:none}.league-rules b,.league-recent .pts{color:var(--success);font-variant-numeric:tabular-nums;white-space:nowrap}.league-recent{max-height:420px;overflow-y:auto}.league-recent li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:var(--space-2);align-items:center;padding:7px 0;border-bottom:1px solid var(--border)}.league-recent li:last-child{border-bottom:none}.league-recent .icon{font-size:18px;text-align:center}.league-recent .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.stat-tile.points-tile{text-decoration:none;color:inherit}a.stat-tile.points-tile:hover{border-color:var(--brand-accent)}.rp-page{max-width:1440px;margin:0 auto}.rp-brief-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);gap:var(--space-4);align-items:start}@media(max-width:1000px){.rp-brief-layout{grid-template-columns:1fr}}.rp-avatar{position:relative;display:inline-grid;place-items:center;border-radius:50%;flex:none}.rp-avatar img,.rp-initials{border-radius:50%;object-fit:cover;display:grid;place-items:center;color:#fff;font-weight:700}.rp-avatar.speaking:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:3px solid var(--brand-accent);animation:rp-pulse 1.1s ease-in-out infinite}@keyframes rp-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.55}}.rp-card{display:flex;gap:var(--space-3);align-items:flex-start;text-decoration:none;color:inherit}a.rp-card:hover{border-color:var(--brand-accent)}.rp-brief-head{display:flex;gap:var(--space-3);align-items:center;margin-bottom:var(--space-3)}.rp-brief-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4)}.rp-brief h3{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);margin:var(--space-3) 0 var(--space-1)}.rp-brief h3:first-child{margin-top:0}.rp-start{display:flex;flex-direction:column;gap:var(--space-3)}.rp-modes{margin:0}.rp-mode-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.rp-mode{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-strong);border-radius:999px;cursor:pointer;font-size:var(--text-sm);font-weight:600}.rp-mode input{position:absolute;opacity:0;width:1px;height:1px}.rp-mode.on{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--brand-accent-ink)}.rp-mode.off{opacity:.5;cursor:not-allowed}.rp-mode:focus-within{box-shadow:var(--focus)}.rp-switches{display:flex;flex-direction:column;gap:6px}.rp-switch-row{display:flex;align-items:center;gap:6px}.rp-switch{all:unset;display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--text-sm)}.rp-switch:focus-visible{box-shadow:var(--focus);border-radius:999px}.rp-switch:disabled{opacity:.5;cursor:not-allowed}.rp-switch-knob{width:36px;height:20px;border-radius:999px;background:var(--border-strong);position:relative;transition:background .15s;flex:none}.rp-switch-knob:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}.rp-switch.on .rp-switch-knob{background:var(--brand-accent)}.rp-switch.on .rp-switch-knob:after{left:18px}.rp-tip{position:relative;display:inline-flex}.rp-tip-icon{cursor:help;color:var(--muted);font-size:14px;line-height:1;padding:2px;border-radius:50%}.rp-tip-icon:focus-visible{box-shadow:var(--focus);outline:none}.rp-tip-bubble{position:absolute;z-index:30;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);width:280px;background:var(--ink);color:var(--surface);font-size:var(--text-xs);line-height:1.45;padding:8px 10px;border-radius:6px;box-shadow:var(--shadow-lg)}.rp-camera-setup{display:grid;grid-template-columns:1fr 200px;gap:var(--space-3);align-items:start}.rp-cam-preview{width:200px;aspect-ratio:4 / 3;background:#000;border-radius:var(--radius-sm);object-fit:cover;transform:scaleX(-1)}.rp-audio-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;background:var(--light);border-radius:var(--radius-sm)}.rp-audio-line.warn{background:var(--warning-soft);color:var(--warning)}.rp-bars{display:inline-flex;gap:2px;align-items:flex-end;height:12px}.rp-bars i{width:4px;background:var(--border-strong);border-radius:1px}.rp-bars i:nth-child(1){height:5px}.rp-bars i:nth-child(2){height:8px}.rp-bars i:nth-child(3){height:12px}.rp-bars i.on{background:var(--success)}.rp-audio-panel{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3)}.rp-start-btn{min-height:44px;padding:0 28px;font-size:var(--text)}.rp-call{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);position:relative;max-width:1440px;margin:0 auto}.rp-call.with-help{grid-template-columns:minmax(0,1fr) 300px}@media(max-width:1000px){.rp-call.with-help{grid-template-columns:1fr}}.rp-tiles{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.rp-tile{aspect-ratio:16 / 10;background:var(--brand-primary);border-radius:var(--radius-lg);display:grid;place-items:center;position:relative;overflow:hidden}.rp-tile-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.rp-tile-name{position:absolute;left:12px;bottom:10px;color:#fff;font-size:var(--text-sm);font-weight:600;background:#00000059;padding:2px 8px;border-radius:6px}.rp-transcript{list-style:none;margin:0;padding:var(--space-3);max-height:320px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:8px}.rp-transcript.static{max-height:none;border:none;padding:var(--space-2) 0 0}.rp-transcript li{display:flex;flex-direction:column;max-width:80%;font-size:var(--text-sm)}.rp-transcript li.rep{align-self:flex-end;text-align:right}.rp-transcript li>span:last-child{background:var(--light);padding:6px 10px;border-radius:10px}.rp-transcript li.rep>span:last-child{background:var(--brand-accent-soft)}.rp-transcript .who{font-size:var(--text-xs);color:var(--muted);margin-bottom:2px}.rp-help{align-self:start;position:sticky;top:72px}.rp-help-points{list-style:none;padding:0;margin:12px 0 0;font-size:var(--text-xs)}.rp-help-points li{padding:2px 0;color:var(--muted)}.rp-help-points li.done{color:var(--success)}.rp-thinking{width:10px;height:10px;border-radius:50%;background:var(--brand-accent);animation:rp-pulse .9s ease-in-out infinite}.rp-nudge{position:fixed;right:24px;bottom:24px;z-index:60;max-width:360px;display:flex;gap:8px;align-items:flex-start;background:var(--ink);color:var(--surface);padding:12px 14px;border-radius:var(--radius);box-shadow:var(--shadow-lg);font-size:var(--text-sm);animation:rp-slide-in .3s ease-out}.rp-nudge .btn{color:inherit}@keyframes rp-slide-in{0%{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}.rp-results-head{display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap}.rp-results-head .ring-label{font-size:var(--text-lg)}.rp-metric{margin-bottom:var(--space-4)}.rp-metric .progress{margin:4px 0 8px}.rp-points{list-style:none;padding:0;margin:0}.rp-points summary{cursor:pointer;font-size:var(--text-sm);padding:4px 0;display:flex;gap:8px;align-items:center}.rp-point-mark{width:18px;height:18px;border-radius:50%;display:inline-grid;place-items:center;font-size:11px;color:#fff;flex:none}.rp-point-mark.pass{background:var(--success)}.rp-point-mark.miss{background:var(--danger)}.rp-point-body{padding:0 0 8px 26px}.rp-point-body p{margin:4px 0}.rp-attempts{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.rp-attempt-row{all:unset;box-sizing:border-box;width:100%;display:flex;gap:10px;align-items:center;padding:8px;border-radius:var(--radius-sm);cursor:pointer;flex-wrap:wrap}.rp-attempt-row:hover{background:var(--light)}.rp-attempt-row:focus-visible{box-shadow:var(--focus)}.rp-attempt-main{display:flex;flex-direction:column;flex:1;min-width:140px}.rp-score{font-weight:700;font-variant-numeric:tabular-nums;min-width:44px}.rp-score.pass{color:var(--success)}.rp-score.fail{color:var(--ink-3)}.rp-drawer-backdrop{position:fixed;inset:0;background:#18181b66;z-index:90;display:flex;justify-content:flex-end}.rp-drawer{width:min(520px,100%);height:100%;background:var(--surface);padding:var(--space-5);overflow-y:auto;box-shadow:var(--shadow-lg);animation:rp-slide-left .2s ease-out}@keyframes rp-slide-left{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}.rp-builder-page{max-width:1440px;margin:0 auto}.rp-builder{display:grid;grid-template-columns:200px minmax(0,1fr) 360px;gap:var(--space-4);align-items:start}@media(max-width:1200px){.rp-builder{grid-template-columns:180px minmax(0,1fr)}.rp-side{grid-column:1 / -1}}@media(max-width:800px){.rp-builder{grid-template-columns:1fr}}.rp-rail{position:sticky;top:72px;padding:var(--space-2)}.rp-rail ol{list-style:none;margin:0;padding:0}.rp-rail button{all:unset;box-sizing:border-box;width:100%;display:flex;gap:8px;align-items:center;padding:8px;border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer}.rp-rail button:hover{background:var(--light)}.rp-rail button[aria-current=step]{background:var(--brand-accent-soft);font-weight:600}.rp-rail button:focus-visible{box-shadow:var(--focus)}.rp-tick{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-strong);display:grid;place-items:center;font-size:11px;flex:none}.rp-tick.done{background:var(--success);border-color:var(--success);color:#fff}.rp-side{position:sticky;top:72px;max-height:calc(100vh - 96px);overflow-y:auto}.rp-missing{list-style:none;padding:0;margin:0}.rp-missing .btn{height:auto;min-height:0;padding:4px 0;white-space:normal;text-align:left;color:var(--danger);font-weight:500}.rp-start-option{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4)}.rp-start-option h3{font-size:var(--text);margin-top:0}.rp-photo{display:flex;gap:var(--space-4);align-items:center;margin:var(--space-3) 0;flex-wrap:wrap}.rp-spinner-wrap{display:inline-flex;align-items:center;gap:8px}.rp-spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:rp-spin .8s linear infinite}@keyframes rp-spin{to{transform:rotate(360deg)}}
