@import "https://fonts.googleapis.com/css2?family=Geist:wght@300..700&family=Geist+Mono:wght@400..600&display=swap";:root{--font-sans:"Geist", sans-serif;--font-mono:"Geist Mono", monospace;--text-2xs:.6875rem;--amber:#fbbf24;--ground:#030200;--ink:#fffefd}*{box-sizing:border-box;margin:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--ground);min-height:100dvh;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}button{font:inherit;color:inherit;background:0 0;border:0;padding:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}img{display:block}:focus-visible{outline-offset:2px;outline:2px solid #fbbf24}.ui-eyebrow{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.025em;text-transform:uppercase;color:#fff6}.ui-title{letter-spacing:-.025em;font-size:2.25rem;font-weight:500;line-height:1.1}@media (width>=40rem){.ui-title{font-size:3rem}}.ui-label{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.025em;text-transform:uppercase;color:#fff6;margin-bottom:.5rem;display:block}.ui-input{color:#fff;width:100%;font-size:1rem;font-family:var(--font-sans);background-color:#0000;border:0;border-bottom:1px solid #fff3;padding:.75rem 0;transition:border-color .15s;display:block}.ui-input::placeholder{color:#ffffff4d}.ui-input:focus,.ui-input:focus-visible{border-bottom-color:#fbbf24;outline:none}.ui-input--password{font-family:var(--font-mono);letter-spacing:.1em}.ui-button{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.025em;text-transform:uppercase;cursor:pointer;transition:color .15s,background-color .15s,border-color .15s}.ui-button--accent{color:#000;background-color:#fbbf24;padding:.75rem 1.5rem}.ui-button--accent:hover{background-color:#fcd34d}.ui-link{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.025em;text-transform:uppercase;color:#ffffffb3;cursor:pointer;transition:color .15s}.ui-link:hover{color:#fbbf24}.ui-flash{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.025em;text-transform:uppercase;border:1px solid;padding:.75rem 1rem}.ui-flash--alert{color:#f87171;border-color:#f871714d}.app-logo{cursor:pointer;width:2.5rem;height:2.5rem;transition:opacity .2s;position:absolute;top:1rem;left:50%;translate:-50%}.app-logo img{width:100%;height:100%}body.playback-active .app-logo{opacity:0;pointer-events:none}.app-menu{white-space:nowrap;background-color:#000;border:1px solid #fbbf24;flex-direction:row;align-items:center;gap:1rem;margin:0;padding:.5rem 1rem;position:fixed;top:4rem;left:50%;translate:-50%;box-shadow:4px 4px #fbbf2440}.app-menu:popover-open{display:flex}.app-menu .ui-link{padding:.5rem 0}.layout-main{max-width:48rem;margin-inline:auto;padding:3rem 1.5rem}@media (width>=40rem){.layout-main{padding-block:4rem}}.layout-breadcrumb{height:1.5rem}.layout-header{margin:2rem 0 3rem}.layout-header-row{justify-content:space-between;align-items:baseline;gap:1.5rem;display:flex}.layout-header-row .ui-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.layout-subtitle{color:#fff9;font-size:1.125rem}.route-loading{min-height:12rem}.reader.route-loading{min-height:100vh}.sessions-main{max-width:24rem;margin-inline:auto;padding:4rem 1.5rem}@media (width>=40rem){.sessions-main{padding-block:6rem}}.sessions-main .ui-title{margin-bottom:3rem}.library-row{justify-content:space-between;align-items:center;gap:1.5rem;padding-block:1.25rem;display:flex}.library-link{cursor:pointer;flex:1;align-items:center;gap:1rem;min-width:0;display:flex}.library-cover{object-fit:cover;border:1px solid #ffffff1a;flex-shrink:0;width:3.5rem;height:3.5rem}.library-cover--fallback{font-family:var(--font-mono);font-size:var(--text-2xs);color:#fff3;place-items:center;display:grid}.library-title{letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;font-size:1.125rem;font-weight:500;transition:color .15s;overflow:hidden}.library-link:hover .library-title{color:#fbbf24}.library-author{color:#ffffff80;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.transcript-badge{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.025em;text-transform:uppercase;flex-shrink:0;align-items:center;gap:.375rem;padding:.125rem .5rem;display:inline-flex}.transcript-badge--ready{color:#fbbf24;border:1px solid #fbbf2466}.transcript-badge--pending{color:#ffffffb3;border:1px solid #fff3}.transcript-badge .dot{border-radius:9999px;width:.25rem;height:.25rem}.transcript-badge--ready .dot{background:#fbbf24}.transcript-badge--pending .dot{background:#fff6}.empty-state{text-align:center;border:1px solid #ffffff1a;padding:4rem 1.5rem}.empty-state p{color:#fff9;margin-bottom:1.25rem}.chapter-link{cursor:pointer;margin-inline:-1rem;padding:1rem;transition:background-color .15s;display:block}.chapter-link:hover{background:#ffffff05}.chapter-inert{padding-block:.75rem}.chapter-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.chapter-left{align-items:baseline;gap:1rem;min-width:0;display:flex}.chapter-number{font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;color:#fff6;flex-shrink:0}.chapter-title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;transition:color .15s;overflow:hidden}.chapter-link:hover .chapter-title{color:#fbbf24}.chapter-title--completed,.chapter-title--inert{color:#ffffff80;font-weight:400}.chapter-duration{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.025em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:#fff6;flex-shrink:0}.progress-leader{white-space:nowrap;line-height:1;font-family:var(--font-mono);background:linear-gradient(to right, #fbbf24 var(--p,0%), #ffffff26 0);color:#0000;font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0;-webkit-background-clip:text;background-clip:text;font-size:.75rem;overflow:hidden}.status-banner{text-align:center;border:1px solid #fbbf244d;padding:2rem 1.5rem}.status-banner p{font-size:var(--text-2xs);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.025em;color:#fbbf24}.status-banner--error{border-color:#f871714d}.status-banner--error p{color:#f87171}.remember-list{flex-direction:column;gap:5rem;display:flex}.remember-empty{color:#fff9;font-style:italic}.card-article{flex-direction:column;gap:1rem;display:flex}.card-header{align-items:center;gap:.75rem;display:flex}.card-concept{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:#fff6;flex-shrink:0;font-size:.75rem}.card-rule{border:0;border-top:1px solid #ffffff26;flex:1}.card-glyph{width:1.5rem;height:1.5rem;font-family:var(--font-mono);color:#ffffff80;border:1px solid #ffffff26;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;display:flex}.card-body{flex-direction:column;gap:.75rem;display:flex}.card-body p{font-size:1rem}.card-actions{flex-wrap:wrap;gap:1rem;display:flex}.card-answer{flex-direction:column;gap:1rem;display:flex}.card-reference{color:#fffc;flex-direction:column;gap:.5rem;font-size:.875rem;display:flex}.card-reference .rubric{color:#fff9}.ratings-row{flex-wrap:wrap;gap:.75rem;display:flex}.rating-button{color:#fff6}.rating-button--again:hover{color:#f87171}.rating-button--hard:hover{color:#fbbf24}.rating-button--good:hover{color:#4ade80}.rating-button--easy:hover{color:#38bdf8}.mc-options{flex-direction:column;gap:.5rem;display:flex}.mc-option{text-align:left;cursor:pointer;border:1px solid #ffffff26;align-items:stretch;width:100%;min-height:3.5rem;transition:border-color .15s,background-color .15s;display:flex}.mc-option:hover{border-color:#fff6}.mc-option--selected{background:#fbbf241a;border-color:#fbbf2499}.mc-option--correct{background:#4ade801a;border-color:#4ade8099}.mc-option--incorrect{background:#f871711a;border-color:#f8717199}.mc-option--locked{cursor:default}.mc-letter{width:2.75rem;font-family:var(--font-mono);font-size:var(--text-2xs);color:#fff6;border-right:1px solid #ffffff26;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mc-label{color:#fffc;align-items:center;padding:.75rem 1rem;display:flex}.cloze-text{line-height:2}.cloze-blank{color:#fff;text-align:center;font:inherit;background:0 0;border:0;border-bottom:1px solid #fbbf2499;padding:0 .35rem}.cloze-blank:focus,.cloze-blank:focus-visible{border-bottom-color:#fbbf24;outline:none}.cloze-blank--correct{color:#4ade80;border-bottom-color:#4ade80}.cloze-blank--incorrect{color:#f87171;border-bottom-color:#f87171}.sortable-list{flex-direction:column;gap:.5rem;display:flex}.sortable-item{color:#fffc;cursor:grab;border:1px solid #ffffff26;align-items:center;gap:.75rem;min-height:3.5rem;padding:.5rem .75rem;transition:border-color .15s,background-color .15s;display:flex}.sortable-item--dragging{opacity:.4}.sortable-item--locked{cursor:default}.sortable-item--correct{background:#4ade801a;border-color:#4ade8099}.sortable-item--incorrect{background:#f871711a;border-color:#f8717199}.sortable-handle{font-family:var(--font-mono);font-size:var(--text-2xs);color:#ffffff4d}.matching-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.matching-left{flex-direction:column;gap:.5rem;display:flex}.matching-left li{color:#fffc;border:1px solid #ffffff1a;align-items:center;height:4rem;padding:.5rem .75rem;display:flex}.matching-grid .sortable-item{height:4rem;min-height:0}.idle{cursor:none}.reader{z-index:20;background:#000;align-items:center;display:flex;position:fixed;inset:0}.reader-status{text-align:center;flex-direction:column;justify-content:center;gap:1rem}.reader-zone-top{z-index:10;height:6rem;position:absolute;top:0;left:0;right:0}.reader-breadcrumb{opacity:0;pointer-events:none;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.025em;text-transform:uppercase;color:#fff6;flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:1.5rem 1.5rem 0;transition:opacity .3s;display:flex;position:absolute;top:0;left:0;right:0}.reader-zone-top:hover .reader-breadcrumb{opacity:1;pointer-events:auto}.rsvp-line{pointer-events:none;background:#fbbf2433;width:1px;position:absolute;top:0;bottom:0;left:max(33.333%,50% - 8rem)}.rsvp-word{letter-spacing:-.025em;width:100%;max-width:48rem;height:1em;margin-inline:auto;font-size:clamp(3.5rem,11vw,9rem);font-weight:500;line-height:1;position:relative}.rsvp-word .rsvp-word-text{white-space:pre;position:absolute;top:0}.rsvp-word .rsvp-focal{color:#fbbf24}.reader-zone-bottom{z-index:10;height:8rem;position:absolute;bottom:0;left:0;right:0}.reader-footer{opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}.reader-footer--error{opacity:1;pointer-events:auto}.reader-error{color:#f87171e6;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.025em;text-transform:uppercase;padding:0 1.5rem 1rem}.reader-zone-bottom:hover .reader-footer{opacity:1;pointer-events:auto}.reader-footer-row{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.025em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:#ffffff80;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.reader-times{align-items:center;gap:.5rem;display:flex}.reader-times .sep{color:#ffffff40}.reader-controls{align-items:center;gap:1.25rem;display:flex}.reader-controls button,.reader-controls select{color:#fff9;cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.025em;text-transform:uppercase;background:0 0;border:0;transition:color .15s}.reader-controls button:hover,.reader-controls select:hover{color:#fbbf24}.reader-controls select option{color:#fff;background:#000}.rsvp-scrubber{appearance:none;cursor:pointer;background:0 0;width:100%;height:12px;display:block}.rsvp-scrubber:focus,.rsvp-scrubber:focus-visible{outline:none}.rsvp-scrubber::-webkit-slider-runnable-track{background:#fbbf2440;height:1px;transition:background .2s}.rsvp-scrubber:hover::-webkit-slider-runnable-track{background:#fbbf248c}.rsvp-scrubber:focus-visible::-webkit-slider-runnable-track{background:#fbbf248c}.rsvp-scrubber::-webkit-slider-thumb{appearance:none;opacity:.65;background:#fbbf24;border-radius:9999px;width:8px;height:8px;margin-top:-3.5px;transition:opacity .2s,transform .2s}.rsvp-scrubber:hover::-webkit-slider-thumb{opacity:1;transform:scale(1.4)}.rsvp-scrubber:focus-visible::-webkit-slider-thumb{opacity:1;transform:scale(1.4)}.rsvp-scrubber::-moz-range-track{background:#fbbf2440;height:1px;transition:background .2s}.rsvp-scrubber:hover::-moz-range-track{background:#fbbf248c}.rsvp-scrubber::-moz-range-thumb{opacity:.65;background:#fbbf24;border:0;border-radius:9999px;width:8px;height:8px;transition:opacity .2s,transform .2s}.rsvp-scrubber:hover::-moz-range-thumb{opacity:1;transform:scale(1.4)}.guide-control{padding:1rem 1rem 0 0;position:absolute;top:0;right:100%}.guide-glyph{font-family:var(--font-mono);font-size:var(--text-2xs);color:#ffffff80;cursor:pointer;transition:color .15s,opacity .15s}.guide-glyph:hover{color:#fbbf24}.guide-glyph--dim{opacity:.4}.guide-glyph--dim:hover{opacity:1}.guide-glyph--pulse{cursor:default;animation:2s cubic-bezier(.4,0,.6,1) infinite guide-pulse}@keyframes guide-pulse{50%{opacity:.4}}.card-rule--dashed{border-top-style:dashed}.card-glyph--dashed{border-style:dashed}.visual-figure{flex-direction:column;gap:1rem;display:flex}.visual-caption{align-items:center;gap:.75rem;display:flex}.visual-body{color:#fffc;flex-direction:column;gap:.5rem;font-size:.875rem;display:flex}.visual-heading{font-family:var(--font-mono);letter-spacing:.025em;text-transform:uppercase;color:#fff6;font-size:.75rem;font-weight:400}.visual-list{padding-left:1rem;list-style:outside}.visual-timeline{color:#fffc;border-left:1px solid #fff3;flex-direction:column;gap:.5rem;padding-left:1rem;font-size:.875rem;display:flex}.visual-table{color:#fffc;border-collapse:collapse;width:100%;font-size:.875rem}.visual-table th{text-align:left;font-family:var(--font-mono);letter-spacing:.025em;text-transform:uppercase;color:#fff6;padding-bottom:.5rem;font-size:.75rem;font-weight:400}.visual-table tr+tr,.visual-table tbody tr{border-top:1px solid #ffffff1a}.visual-table td{padding:.5rem 1rem .5rem 0}
