:root{--uq-primary: #4f46e5;--uq-primary-press: #4338ca;--uq-on-primary: #ffffff;--uq-accent: #0e7490;--uq-accent-text: #0e7490;--uq-highlight-bg: rgba(8, 145, 178, .14);--uq-bg: #f4f5fb;--uq-bg-grad: radial-gradient(1200px 600px at 80% -10%, #e9ecf9 0%, transparent 60%);--uq-surface: #ffffff;--uq-surface-2: #eef1f8;--uq-surface-3: #e7ebf5;--uq-border: #e2e6f0;--uq-border-strong: #cdd4e3;--uq-text: #11131a;--uq-text-strong: #000000;--uq-text-soft: #44505f;--uq-text-faint: #6b7280;--uq-good: #047857;--uq-good-bg: #ecfdf5;--uq-good-border: #a7f3d0;--uq-bad: #b91c1c;--uq-bad-bg: #fef2f2;--uq-bad-border: #fecaca;--uq-topbar-bg: rgba(255, 255, 255, .82);--uq-footer-bg: #11131a;--uq-footer-text: #aab2c0;--uq-ring: var(--uq-primary);--uq-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 12px 32px rgba(15, 23, 42, .08);--uq-shadow-lift: 0 8px 24px rgba(79, 70, 229, .18);--uq-radius: 14px;--uq-radius-sm: 10px;--uq-ease: cubic-bezier(.16, 1, .3, 1);--uq-dur: .32s}[data-lk-theme=dark]{--uq-primary: #6366f1;--uq-primary-press: #818cf8;--uq-on-primary: #ffffff;--uq-accent: #22d3ee;--uq-accent-text: #5be7ff;--uq-highlight-bg: rgba(34, 211, 238, .16);--uq-bg: #08090d;--uq-bg-grad: radial-gradient(1200px 700px at 82% -12%, rgba(99, 102, 241, .16) 0%, transparent 55%);--uq-surface: #14161d;--uq-surface-2: #1b1e27;--uq-surface-3: #232733;--uq-border: #262a35;--uq-border-strong: #343a48;--uq-text: #f4f6fb;--uq-text-strong: #ffffff;--uq-text-soft: #b7c0cf;--uq-text-faint: #8a93a3;--uq-good: #34d399;--uq-good-bg: rgba(16, 185, 129, .14);--uq-good-border: rgba(52, 211, 153, .45);--uq-bad: #f87171;--uq-bad-bg: rgba(239, 68, 68, .14);--uq-bad-border: rgba(248, 113, 113, .45);--uq-topbar-bg: rgba(8, 9, 13, .72);--uq-footer-bg: #050608;--uq-footer-text: #8a93a3;--uq-ring: var(--uq-accent);--uq-shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 16px 44px rgba(0, 0, 0, .55);--uq-shadow-lift: 0 10px 30px rgba(99, 102, 241, .35)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--uq-bg);color:var(--uq-text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background-color var(--uq-dur) var(--uq-ease),color var(--uq-dur) var(--uq-ease)}.app{min-height:100%;background:var(--uq-bg-grad);background-attachment:fixed}::selection{background:var(--uq-highlight-bg)}.uq-logo{display:inline-flex;align-items:center;gap:10px;-webkit-user-select:none;user-select:none}.uq-logo-mark{display:block;filter:drop-shadow(0 2px 6px rgba(79,70,229,.35))}.uq-logo-word{font-weight:800;font-size:17px;letter-spacing:-.02em;color:var(--uq-text)}.uq-logo-accent{color:var(--uq-primary)}.btn-primary,.btn-ghost{font:inherit;font-weight:600;border-radius:var(--uq-radius-sm);padding:10px 18px;cursor:pointer;border:1px solid transparent;transition:transform .15s var(--uq-ease),background-color var(--uq-dur),box-shadow var(--uq-dur),border-color var(--uq-dur),color var(--uq-dur)}.btn-primary{background:var(--uq-primary);color:var(--uq-on-primary);box-shadow:var(--uq-shadow-lift)}.btn-primary:hover{background:var(--uq-primary-press);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{background:var(--uq-surface-3);color:var(--uq-text-faint);box-shadow:none;cursor:not-allowed;transform:none}.btn-ghost{background:var(--uq-surface);border-color:var(--uq-border);color:var(--uq-text-soft)}.btn-ghost:hover:not(:disabled){border-color:var(--uq-border-strong);color:var(--uq-text);transform:translateY(-1px)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.btn-lg{padding:13px 26px;font-size:16px}.chip{display:inline-block;font-size:12px;font-weight:600;color:var(--uq-primary);background:color-mix(in srgb,var(--uq-primary) 12%,transparent);border:1px solid color-mix(in srgb,var(--uq-primary) 30%,transparent);border-radius:999px;padding:2px 9px}.topbar{position:sticky;top:0;z-index:20;background:var(--uq-topbar-bg);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--uq-border);transition:background-color var(--uq-dur),border-color var(--uq-dur)}.topbar-inner{height:58px;max-width:1140px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:14px}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:14px}.topbar-back{font:inherit;font-weight:600;background:transparent;border:1px solid var(--uq-border);border-radius:8px;padding:6px 12px;cursor:pointer;color:var(--uq-text-soft);transition:border-color var(--uq-dur),color var(--uq-dur)}.topbar-back:hover{border-color:var(--uq-border-strong);color:var(--uq-text)}.topbar-progress [aria-label=Progress]{font-size:13px;color:var(--uq-text-faint);white-space:nowrap}.theme-toggle{background:none;border:0;padding:2px;cursor:pointer;border-radius:999px}.theme-toggle-track{position:relative;display:block;width:48px;height:26px;border-radius:999px;background:var(--uq-surface-3);border:1px solid var(--uq-border);transition:background-color var(--uq-dur)}.theme-toggle-thumb{position:absolute;top:50%;left:3px;width:20px;height:20px;border-radius:50%;background:var(--uq-surface);display:grid;place-items:center;box-shadow:0 1px 3px #0000004d;transform:translateY(-50%);transition:transform var(--uq-dur) var(--uq-ease),color var(--uq-dur)}.theme-toggle-track.is-dark .theme-toggle-thumb{color:var(--uq-accent)}.theme-toggle-track.is-light .theme-toggle-thumb{transform:translate(22px,-50%);color:#f59e0b}.landing-main{max-width:840px;margin:0 auto;padding:44px 20px 60px;display:flex;flex-direction:column;gap:22px}.hero{animation:uq-rise var(--uq-dur) var(--uq-ease) both}.hero-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700;color:var(--uq-accent-text);margin:0 0 10px}.hero-title{font-size:clamp(30px,4.4vw,44px);line-height:1.12;letter-spacing:-.025em;margin:0 0 12px;color:var(--uq-text-strong)}.hero-tagline{font-size:19px;font-weight:600;margin:0 0 12px;color:var(--uq-text)}.hero-blurb{font-size:16px;color:var(--uq-text-soft);margin:0 0 26px;max-width:64ch}.hero-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.hero-meta{font-size:14px;color:var(--uq-text-faint)}.panel{background:var(--uq-surface);border:1px solid var(--uq-border);border-radius:var(--uq-radius);box-shadow:var(--uq-shadow);padding:26px;animation:uq-rise var(--uq-dur) var(--uq-ease) both}.panel:nth-of-type(2){animation-delay:.06s}.panel:nth-of-type(3){animation-delay:.12s}.panel-title{font-size:18px;margin:0 0 16px;color:var(--uq-text-strong)}.outcomes{list-style:none;margin:0;padding:0;display:grid;gap:11px}.outcomes li{display:flex;gap:11px;align-items:flex-start;color:var(--uq-text-soft)}.outcome-check{flex:none;width:22px;height:22px;border-radius:50%;background:var(--uq-good-bg);color:var(--uq-good);font-size:13px;font-weight:700;display:grid;place-items:center;margin-top:1px}.toc{list-style:none;margin:0;padding:0}.toc-item{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--uq-border)}.toc-item:first-child{border-top:0}.toc-num{flex:none;width:30px;height:30px;border-radius:9px;background:var(--uq-surface-2);color:var(--uq-text-soft);font-weight:700;display:grid;place-items:center}.toc-body{flex:1;display:flex;flex-direction:column}.toc-title{font-weight:600;color:var(--uq-text)}.toc-summary{font-size:14px;color:var(--uq-text-faint)}.toc-meta{display:flex;align-items:center;gap:10px;white-space:nowrap}.toc-dur{font-size:13px;color:var(--uq-text-faint)}.landing-foot-cta{margin-top:18px;padding-top:18px;border-top:1px solid var(--uq-border)}@media(max-width:560px){.toc-summary,.toc-meta .chip{display:none}}.course-body{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:268px 1fr;align-items:start}.sidebar{position:sticky;top:58px;align-self:start;height:calc(100vh - 58px);overflow-y:auto;padding:22px 14px;border-right:1px solid var(--uq-border)}.sidebar-label{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700;color:var(--uq-text-faint);margin:4px 8px 12px}.sidebar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.sidebar-item{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--uq-radius-sm);padding:9px 10px;cursor:pointer;color:var(--uq-text);font:inherit;transition:background-color .18s,border-color .18s}.sidebar-item:hover{background:var(--uq-surface-2)}.sidebar-item.is-current{background:color-mix(in srgb,var(--uq-primary) 12%,transparent);border-color:color-mix(in srgb,var(--uq-primary) 35%,transparent)}.sidebar-num{flex:none;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--uq-surface-2);color:var(--uq-text-soft);transition:background-color .18s,color .18s}.sidebar-item.is-current .sidebar-num{background:var(--uq-primary);color:var(--uq-on-primary)}.sidebar-item.is-visited .sidebar-num{background:var(--uq-good-bg);color:var(--uq-good)}.sidebar-text{display:flex;flex-direction:column;min-width:0}.sidebar-title{font-size:14px;font-weight:600;line-height:1.25}.sidebar-dur{font-size:12px;color:var(--uq-text-faint)}.reading{min-height:calc(100vh - 58px);padding:30px 30px 60px;outline:none}.reading-inner{max-width:720px;margin:0 auto}.reading-step{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700;color:var(--uq-accent-text);margin:0 0 10px}@media(max-width:800px){.course-body{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--uq-border)}.sidebar-list{flex-direction:row;overflow-x:auto;gap:8px}.sidebar-item{flex:0 0 auto}.sidebar-text{display:none}}[aria-label=Progress]{font-size:13px;color:var(--uq-text-faint)}.reading article{background:var(--uq-surface);border:1px solid var(--uq-border);border-radius:var(--uq-radius);padding:26px 28px 30px;box-shadow:var(--uq-shadow);animation:uq-rise var(--uq-dur) var(--uq-ease) both}.reading article>h2{margin-top:0;font-size:24px;line-height:1.22;letter-spacing:-.015em;color:var(--uq-text-strong)}section[aria-label=Scenario] h3{font-size:18px;margin:24px 0 8px;color:var(--uq-text-strong)}.lesson-points{margin:12px 0;padding-left:20px}.lesson-points li{margin:7px 0}.lesson-points strong,section[aria-label=Scenario] p strong{color:var(--uq-text-strong)}.hl{color:var(--uq-accent-text);background:var(--uq-highlight-bg);padding:0 4px;border-radius:5px}.lesson-callout{margin-top:16px;padding:12px 16px;border-radius:var(--uq-radius-sm);font-size:15px}.lesson-callout.is-good{background:var(--uq-good-bg);border:1px solid var(--uq-good-border);color:var(--uq-good)}section[aria-label=Reflection]{margin-top:18px;padding:16px;background:var(--uq-surface-2);border:1px solid var(--uq-border);border-radius:12px}textarea{width:100%;min-height:92px;margin-top:8px;padding:10px 12px;border:1px solid var(--uq-border);border-radius:var(--uq-radius-sm);font:inherit;color:var(--uq-text);background:var(--uq-surface);resize:vertical;transition:border-color .18s}textarea:focus{border-color:var(--uq-primary)}fieldset{border:1px solid var(--uq-border);border-radius:12px;padding:16px;margin-top:18px;color:var(--uq-text)}input[type=radio]{accent-color:var(--uq-primary)}[role=status]{color:var(--uq-text-soft)}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.done{max-width:560px;margin:52px auto;text-align:center;background:var(--uq-surface);border:1px solid var(--uq-border);border-radius:var(--uq-radius);box-shadow:var(--uq-shadow);padding:42px 32px;animation:uq-rise var(--uq-dur) var(--uq-ease) both}.done-badge{width:66px;height:66px;margin:0 auto 18px;border-radius:50%;background:var(--uq-good-bg);color:var(--uq-good);font-size:32px;font-weight:800;display:grid;place-items:center;animation:uq-pop .5s var(--uq-ease) both}.done-title{margin:0 0 10px;font-size:26px;color:var(--uq-text-strong)}.done-sub{color:var(--uq-text-soft);margin:0 0 14px}.done-note{font-size:14px;color:var(--uq-text-faint);background:var(--uq-surface-2);border-radius:var(--uq-radius-sm);padding:10px 14px;margin:0 0 22px}.done-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.sitefoot{background:var(--uq-footer-bg);color:var(--uq-footer-text)}.sitefoot-legal{max-width:1140px;margin:0 auto;padding:20px;font-size:13px}.sitefoot-link{color:var(--uq-footer-text);text-decoration:underline;text-underline-offset:2px}.sitefoot-link:hover{color:var(--uq-text-strong)}.dm{margin:8px 0 4px}.dm-prompt{font-weight:600;margin:4px 0 12px;color:var(--uq-text)}.dm-tray{background:var(--uq-surface-2);border:1px dashed var(--uq-border-strong);border-radius:12px;padding:12px 14px;margin-bottom:16px}.dm-tray-title,.dm-bucket-title{font-weight:700;font-size:14px}.dm-tray-title{margin:0 0 10px;color:var(--uq-text-soft)}.dm-card-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.dm-card{cursor:grab;background:var(--uq-surface);border:1px solid var(--uq-border-strong);border-radius:var(--uq-radius-sm);padding:10px 12px;font:inherit;text-align:left;color:var(--uq-text);box-shadow:var(--uq-shadow);transition:transform .15s var(--uq-ease),border-color .15s,box-shadow .15s}.dm-card:hover{border-color:var(--uq-primary);transform:translateY(-2px);box-shadow:var(--uq-shadow-lift)}.dm-card.is-selected{border-color:var(--uq-primary);outline:2px solid var(--uq-primary);outline-offset:1px}.dm-empty,.dm-bucket-empty{color:var(--uq-text-faint);font-size:13px;font-style:italic}.dm-targets{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(max-width:560px){.dm-targets{grid-template-columns:1fr}}.dm-bucket{border:1px solid var(--uq-border);border-radius:12px;background:var(--uq-surface-2);padding:10px;min-height:112px;transition:border-color .18s,background-color .18s}.dm-bucket.is-droppable{border-color:var(--uq-primary);background:color-mix(in srgb,var(--uq-primary) 10%,var(--uq-surface-2))}.dm-bucket-head{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:transparent;border:0;padding:4px 4px 8px;cursor:pointer;color:var(--uq-primary)}.dm-bucket-head[aria-disabled=true]{cursor:default;color:var(--uq-text)}.dm-bucket-hint{font-size:12px;font-weight:400;color:var(--uq-text-faint)}.dm-placed-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.dm-placed{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--uq-surface);border:1px solid var(--uq-border);border-radius:8px;padding:6px 8px;font-size:14px;color:var(--uq-text);animation:uq-pop .28s var(--uq-ease) both}.dm-placed.is-correct{background:var(--uq-good-bg);border-color:var(--uq-good-border)}.dm-placed.is-wrong{background:var(--uq-bad-bg);border-color:var(--uq-bad-border)}.dm-placed-label{flex:1 1 auto}.dm-mark{font-size:12px;font-weight:700}.dm-placed.is-correct .dm-mark{color:var(--uq-good)}.dm-placed.is-wrong .dm-mark{color:var(--uq-bad)}.dm-remove{font-size:12px;background:transparent;border:1px solid var(--uq-border);border-radius:6px;padding:2px 6px;cursor:pointer;color:var(--uq-text-faint);transition:color .15s,border-color .15s}.dm-remove:hover{color:var(--uq-text);border-color:var(--uq-border-strong)}.dm-actions{display:flex;align-items:center;gap:14px;margin-top:16px}.dm-check{background:var(--uq-primary);color:var(--uq-on-primary);border:0;border-radius:var(--uq-radius-sm);padding:10px 18px;font:inherit;font-weight:600;cursor:pointer;box-shadow:var(--uq-shadow-lift);transition:transform .15s var(--uq-ease),background-color var(--uq-dur)}.dm-check:hover:not(:disabled){background:var(--uq-primary-press);transform:translateY(-1px)}.dm-check:disabled{background:var(--uq-surface-3);color:var(--uq-text-faint);box-shadow:none;cursor:not-allowed}.dm-reset{background:transparent;color:var(--uq-text-soft);border:1px solid var(--uq-border);border-radius:var(--uq-radius-sm);padding:10px 16px;font:inherit;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s,transform .15s var(--uq-ease)}.dm-reset:hover:not(:disabled){border-color:var(--uq-border-strong);color:var(--uq-text);transform:translateY(-1px)}.dm-reset:disabled{opacity:.45;cursor:not-allowed}.dm-progress{font-size:13px;color:var(--uq-text-faint)}.dm-status{margin-top:10px;font-size:14px;color:var(--uq-text-soft)}:focus-visible{outline:2px solid var(--uq-ring);outline-offset:2px}@keyframes uq-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes uq-pop{0%{opacity:0;transform:scale(.82)}60%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
