:root{--kit-bg: #0B0D11;--kit-raised: #12151B;--kit-line: #23272F;--kit-line-strong: #2F3540;--kit-text: #EDEFF2;--kit-text-2: #A3A9B4;--kit-text-3: #8A919C;--kit-primary: #EDEFF2;--kit-primary-text: #0B0D11;--kit-danger: #F08A8A;--kit-focus: #EDEFF2;--kit-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter Variable", Inter, system-ui, sans-serif;--kit-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter Tight Variable", "Inter Tight", system-ui, sans-serif}.btn{--btn-face: var(--kit-raised);--btn-ink: var(--kit-text);--btn-edge: var(--kit-line-strong);--btn-base: #090B0E;--btn-pad: 22px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0;border:0;border-radius:999px;background:var(--btn-base);color:var(--btn-ink);font:600 15px/1 var(--kit-font);letter-spacing:-.01em;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .16s cubic-bezier(.2,.8,.2,1),filter .16s ease,background-color .16s ease,color .16s ease}.btn{--btn-base: var(--obra-ink);font-family:var(--font-ui)}.btn__face{transform:none}.btn:hover .btn__face{transform:none;border-color:var(--obra-gild)}.btn:active .btn__face{transform:scale(.98)}.btn--primary{--btn-face: var(--obra-gild);--btn-ink: var(--obra-ink);--btn-edge: var(--obra-gild);--btn-base: var(--obra-gild)}.btn--secondary{--btn-face: var(--obra-ink-2);--btn-ink: var(--obra-cream);--btn-edge: var(--obra-rule);--btn-base: var(--obra-ink)}.btn:focus-visible{outline-color:var(--obra-cream)}.btn__face{position:relative;display:flex;align-items:center;justify-content:center;gap:inherit;box-sizing:border-box;min-height:inherit;width:100%;padding:0 var(--btn-pad);border:1px solid var(--btn-edge);border-radius:inherit;background:var(--btn-face);color:var(--btn-ink);transform:translateY(-3px);transition:transform .16s cubic-bezier(.2,.8,.2,1),border-color .16s ease,background-color .16s ease}.btn:hover .btn__face{transform:translateY(-5px);border-color:var(--kit-text-2)}.btn:active .btn__face{transform:translateY(0)}.btn:focus-visible{outline:2px solid var(--kit-focus);outline-offset:3px}.btn:focus-visible .btn__face{border-color:var(--kit-text)}.btn:disabled,.btn[aria-disabled=true]{opacity:.4;cursor:not-allowed}.btn:disabled .btn__face,.btn[aria-disabled=true] .btn__face{transform:translateY(-3px)}.btn--primary{--btn-face: var(--kit-primary);--btn-ink: var(--kit-primary-text);--btn-edge: var(--kit-line-strong);--btn-base: var(--kit-line-strong)}.btn--secondary{--btn-face: #12151B;--btn-ink: #EDEFF2;--btn-edge: #2F3540;--btn-base: #090B0E}.btn--ghost{--btn-face: transparent;--btn-edge: transparent;--btn-base: transparent;--btn-ink: var(--kit-text-2);min-width:44px}.btn--ghost:hover .btn__face{color:var(--kit-text);text-decoration:underline;text-underline-offset:4px}.btn--danger{--btn-face: #12151B;--btn-ink: var(--kit-danger);--btn-edge: #744848;--btn-base: #090B0E}.btn--danger:hover .btn__face{border-color:var(--kit-danger)}.btn--sm{--btn-pad: 18px;min-height:44px;padding-inline:0;font-size:14px}.btn--md{min-height:52px}.btn--lg{--btn-pad: 24px;min-height:56px;padding-inline:0}.btn--block{width:auto}.btn--icon{width:48px;height:48px;min-width:48px;min-height:48px;padding:0}.btn--icon.btn--lg{width:56px;height:56px;min-width:56px;min-height:56px}.btn--play{width:72px;height:72px;min-width:72px;min-height:72px;padding:0}.btn--play .btn__face{border-radius:50%}.btn svg{width:18px;height:18px;flex:none;stroke:currentColor;stroke-width:1.75;fill:none;stroke-linecap:round;stroke-linejoin:round}.btn--icon{--btn-pad: 0}.btn--icon .btn__face,.btn--play .btn__face{padding:0}.btn--icon svg{width:20px;height:20px}.btn--play svg{width:24px;height:24px}.btn__spinner{display:none;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:kit-spin .7s linear infinite}.btn[aria-busy=true] .btn__spinner{display:inline-block}.btn[aria-busy=true] .btn__face{gap:8px}.btn-group{display:inline-flex;padding:4px;gap:2px;border:1px solid var(--kit-line);border-radius:999px;background:var(--kit-raised)}.btn-group .btn{--btn-pad: 16px;min-height:44px;padding-inline:0;background:transparent}.btn-group .btn__face{border-color:transparent;background:transparent;transform:none}.btn-group .btn[aria-pressed=true] .btn__face{border-color:var(--kit-line-strong);background:var(--kit-bg-elevated, #181C23);color:var(--kit-text)}.btn-group .btn:hover .btn__face{transform:none}.btn-group .btn:active .btn__face{transform:scale(.97)}@keyframes kit-spin{to{transform:rotate(360deg)}}@media(max-width:600px){.btn--block{width:100%}.btn--play{width:64px;height:64px;min-width:64px;min-height:64px}}@media(prefers-reduced-motion:reduce){.btn,.btn__face,.btn__spinner{transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}.btn:hover .btn__face,.btn:active .btn__face{transform:none}}.btn{--btn-base: transparent;font-family:var(--font-ui);box-shadow:none}.btn__face,.btn:hover .btn__face,.btn:active .btn__face,.btn:disabled .btn__face,.btn[aria-disabled=true] .btn__face{transform:none}.btn__face{border-color:var(--btn-edge)}.btn--primary{--btn-face: var(--obra-gild);--btn-ink: var(--obra-ink);--btn-edge: var(--obra-gild);--btn-base: transparent}.btn--primary:hover:not(:disabled) .btn__face{background:var(--obra-cream);border-color:var(--obra-cream);color:var(--obra-ink)}.btn--secondary{--btn-face: var(--obra-ink-2);--btn-ink: var(--obra-cream);--btn-edge: var(--obra-rule);--btn-base: transparent}.btn--secondary:hover:not(:disabled) .btn__face{background:var(--obra-ink-3);border-color:var(--obra-gild);color:var(--obra-cream)}.btn--ghost{--btn-face: transparent;--btn-ink: var(--obra-taupe);--btn-edge: transparent}.btn--ghost:hover:not(:disabled) .btn__face{background:var(--obra-ink-3);border-color:var(--obra-rule);color:var(--obra-cream);text-decoration:none}.btn:focus-visible{outline:2px solid var(--obra-cream);outline-offset:3px}.btn-group{border-color:var(--obra-rule);background:var(--obra-ink-2)}.btn-group .btn[aria-pressed=true] .btn__face{border-color:var(--obra-gild);background:var(--obra-ink-3);color:var(--obra-cream)}:where(.button-primary:not(.btn),.uiverse-button:not(.button-secondary):not(.btn),.dashboard-action,.training-primary,.retention-primary,.retention-review,.social-button.primary,.account-button--primary,.library-button--open,.library-button--search,.panel-primary,.guardian-controls>button,.resume-play,.discovery__action){min-height:44px;border:1px solid var(--obra-gild);border-radius:var(--obra-radius-pill);background:var(--obra-gild);color:var(--obra-ink);font-family:var(--font-ui);font-weight:600;box-shadow:none;cursor:pointer}:where(.button-secondary:not(.btn),.uiverse-button.button-secondary:not(.btn),.training-button,.training-mode,.training-close,.retention-action,.retention-close,.social-button.secondary,.social-button:not(.primary):not(.text),.account-button:not(.account-button--primary):not(.account-button--quiet):not(.text),.guardian-indicator button,.result-save,.library-button--import,.library-dashboard__page-button,.library-filter){min-height:44px;border:1px solid var(--obra-rule);border-radius:var(--obra-radius-pill);background:var(--obra-ink-2);color:var(--obra-cream);font-family:var(--font-ui);font-weight:600;box-shadow:none;cursor:pointer}:where(.text-button:not(.btn),.social-button.text,.account-button--quiet,.account-button.text,.library-button--quiet,.upload-button,.filter-toggle,.more-classics,.night-open--compact){min-height:44px;border:1px solid transparent;border-radius:var(--obra-radius-pill);background:transparent;color:var(--obra-taupe);font-family:var(--font-ui);font-weight:600;box-shadow:none;cursor:pointer}.card{--card-radius: 28px;position:relative;display:flex;flex-direction:column;min-width:0;padding:28px;border:1px solid #23272F;border-radius:var(--card-radius);background:#12151b;color:#edeff2;transition:transform .18s cubic-bezier(.2,.8,.2,1),border-color .18s ease,box-shadow .18s ease}.card{--card-radius: var(--obra-radius-card);border-color:var(--obra-rule);background:var(--obra-ink-2);color:var(--obra-cream);box-shadow:none}.card:focus-within{outline-color:var(--obra-cream)}.card__title{color:var(--obra-gild);font-family:var(--obra-font-display);font-weight:900;text-transform:uppercase}.card__meta,.card__copy,.card__stats,.chapter__meta{color:var(--obra-taupe)}.card__chip{border-color:var(--obra-rule);color:var(--obra-gild)}.card:hover,.card:focus-within{transform:translateY(-2px);border-color:#2f3540;box-shadow:0 12px 32px -18px #000000b8}.card:focus-within{outline:2px solid #EDEFF2;outline-offset:3px}.card--selected,.card[aria-selected=true]{border-color:#a3a9b4;box-shadow:inset 0 0 0 1px #a3a9b4}.card--disabled,.card[aria-disabled=true]{opacity:.4;pointer-events:none}.card__title{margin:0;color:#edeff2;font:650 20px/1.2 var(--kit-display, -apple-system, BlinkMacSystemFont, "Inter Tight", system-ui, sans-serif);letter-spacing:-.02em}.card__meta{margin:8px 0 0;color:#8a919c;font:14px/1.5 var(--kit-font, -apple-system, BlinkMacSystemFont, Inter, system-ui, sans-serif)}.card__copy{margin:16px 0 0;color:#a3a9b4;font:15px/1.55 var(--kit-font, -apple-system, BlinkMacSystemFont, Inter, system-ui, sans-serif)}.card__actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:24px}.card--book{overflow:hidden;min-height:370px;justify-content:space-between}.book-cover{position:relative;display:flex;min-height:180px;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:22px;border-radius:20px;background:#20252e}.book-cover:before{position:absolute;inset:0 0 auto;height:4px;background:#8a919c;content:""}.book-cover__era{position:absolute;top:18px;right:18px;color:#a3a9b4;font:12px/1 var(--kit-font, sans-serif)}.book-cover__title{position:relative;max-width:10ch;margin:0;font:700 clamp(24px,3vw,34px)/.98 var(--kit-display, sans-serif);letter-spacing:-.04em}.book-cover__author{position:relative;margin:10px 0 0;color:#a3a9b4;font-size:14px}.card__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.card__chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid #2F3540;border-radius:999px;color:#a3a9b4;font:13px/1 var(--kit-font, sans-serif)}.card__stats{display:flex;gap:18px;margin:18px 0;color:#8a919c;font-size:13px}.card__progress{height:4px;overflow:hidden;border-radius:99px;background:#2f3540}.card__progress span{display:block;width:38%;height:100%;border-radius:inherit;background:#edeff2}.card--result{min-height:250px}.card--result .card__copy{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.card--stat{min-height:190px;justify-content:space-between}.stat-ring{display:grid;width:74px;height:74px;place-items:center;border-radius:50%;background:conic-gradient(#edeff2 0 72%,#2f3540 72% 100%)}.stat-ring:before{width:62px;height:62px;border-radius:50%;background:#12151b;content:""}.stat-ring__value{position:absolute;top:51px;left:51px;color:#edeff2;font:700 22px/1 var(--kit-display, sans-serif)}.card--stat .card__value{margin:20px 0 0;font:700 38px/1 var(--kit-display, sans-serif);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.card--chapter{min-height:96px;flex-direction:row;align-items:center;gap:18px;padding:20px 24px;border-radius:20px}.chapter__number{display:grid;width:42px;height:42px;flex:none;place-items:center;border-radius:14px;background:#20252e;color:#a3a9b4;font-weight:650}.chapter__body{min-width:0;flex:1}.chapter__meta{margin:6px 0 0;color:#8a919c;font-size:13px}.card--chapter.is-current{border-color:#a3a9b4;background:#181c23}.card--chapter.is-current .chapter__number{background:#edeff2;color:#0b0d11}.card--chapter.is-done .chapter__number{color:#7fd1a8}.card--skeleton{gap:14px;min-height:200px}.skeleton-line{height:12px;border-radius:99px;background:#20252e}.skeleton-line--title{width:68%;height:22px}.skeleton-line--short{width:42%}.skeleton-line--long{width:90%}@media(max-width:600px){.card{padding:24px;border-radius:24px}.card--chapter{min-height:88px;padding:18px}.card--book{min-height:0}}@media(prefers-reduced-motion:reduce){.card{transition-duration:.01ms}.card:hover,.card:focus-within{transform:none}}.card,.card--chapter{--card-radius: var(--obra-radius-card);border:1px solid var(--obra-rule);border-radius:var(--obra-radius-card);background:var(--obra-ink-2);color:var(--obra-cream);box-shadow:none}.card:hover,.card:focus-within{transform:none;border-color:var(--obra-taupe);box-shadow:none}.card:focus-within{outline:2px solid var(--obra-cream);outline-offset:3px}.card--selected,.card[aria-selected=true],.card--chapter.is-current{border-color:var(--obra-gild);box-shadow:none;background:var(--obra-ink-3)}.card__title,.book-cover__title{color:var(--obra-gild);font-family:var(--obra-font-display);font-weight:900;text-transform:uppercase}.card__meta,.card__copy,.card__stats,.chapter__meta,.book-cover__era,.book-cover__author{color:var(--obra-taupe)}.card__chip{border-color:var(--obra-rule);border-radius:var(--obra-radius-pill);color:var(--obra-gild)}.card__progress{background:var(--obra-rule)}.card__progress span{background:var(--obra-ember)}.book-cover{border-radius:16px;background:var(--obra-ink-3)}.book-cover:before{height:1px;background:var(--obra-rule)}.chapter__number{border:1px solid var(--obra-rule);border-radius:50%;background:var(--obra-ink);color:var(--obra-gild)}.card--chapter.is-current .chapter__number{background:var(--obra-gild);color:var(--obra-ink)}.card--chapter.is-done .chapter__number{color:var(--obra-ember)}.skeleton-line{background:var(--obra-ink-3)}@media(max-width:600px){.card{border-radius:var(--obra-radius-card)}}
