@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Instrument+Sans:wght@300;400;500&display=swap";:root{--lumo-primary: #b8e833;--lumo-primary-bright: #d7ff57;--lumo-primary-soft: #eaf7d4;--lumo-reader-green: #eaf2e5;--lumo-ink: #161616;--lumo-muted-ink: #6f756b;--lumo-night: #101214}html{overflow-y:scroll;overflow-x:hidden;overflow-x:clip;scrollbar-gutter:stable}*{box-sizing:border-box}body{margin:0;width:100%;min-width:320px;min-height:100vh;overflow-x:hidden;overflow-x:clip;scrollbar-gutter:stable;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#edf5e6;background:var(--lumo-night)}html:has(.reader-loading-shell),body:has(.reader-loading-shell),html:has(.reader-route-frame),body:has(.reader-route-frame),html.reader-route-active,html.reader-route-active body{background:var(--lumo-primary-soft)}a{color:inherit}.app-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.app-shell-wide{align-items:start}.reader-loading-shell,.reader-route-frame{min-height:100vh;min-height:100dvh;background:var(--lumo-primary-soft)}.reader-loading-shell{padding:0;color:#7d8777}.reader-loading-shell .page-loading-state{min-height:100vh;min-height:100dvh}.reader-loading-shell .page-loading-state-spinner{color:var(--lumo-primary);border-color:color-mix(in oklab,var(--lumo-primary) 28%,transparent);border-top-color:currentColor}.app-layout{--sidebar-width: 204px;--sidebar-collapsed-width: 60px;min-height:100vh;background:var(--lumo-night)}.app-sidebar{position:fixed;top:0;left:0;z-index:100;width:var(--sidebar-width);height:100vh;display:flex;flex-direction:column;overflow:visible;padding:20px 14px;border-right:1px solid color-mix(in oklab,var(--lumo-primary) 18%,#1f2a1d);background:color-mix(in oklab,var(--lumo-night) 88%,#223018)}.sidebar-brand-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:12px;width:100%;margin:0 0 22px}.sidebar-brand{display:flex;align-items:flex-start;justify-content:flex-start;min-width:0;width:100%;padding:0;color:#e7edf8;text-decoration:none}.sidebar-brand-main{display:flex;align-items:center;gap:0;min-width:0}.sidebar-brand-mark{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 auto}.sidebar-brand-logo{display:block;width:28px;height:28px;border-radius:8px;box-shadow:0 2px 8px #0000002e;transition:opacity .16s ease,transform .18s ease}.sidebar-brand-toggle-icon-wrap{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:auto;opacity:0;transform:scale(.9);transition:opacity .16s ease,transform .18s ease;color:#f4f7fd}.sidebar-brand-toggle-icon{display:none;width:24px;height:24px;stroke-width:2}.sidebar-brand-text{min-width:0;display:grid;gap:1px}.sidebar-brand-title{color:#e7edf8;font-size:19px;font-weight:750;letter-spacing:0;line-height:1.08}.sidebar-brand-sub{color:#9bb0cf;font-size:11px;line-height:1.2}.sidebar-collapse-button{display:inline-flex;align-items:center;justify-content:center;justify-self:end;width:24px;height:24px;margin-top:4px;padding:0;border:0;background:transparent;color:#9bb0cf;cursor:pointer}.sidebar-collapse-button:hover{color:#e7edf8}.sidebar-collapse-button svg{width:24px;height:24px}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:6px}.sidebar-nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;color:#9bb0cf;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s ease,color .15s ease}.sidebar-nav a:hover,.sidebar-nav a.active{color:#e7edf8;background:#1a2332}.sidebar-nav svg{width:18px;height:18px;flex:0 0 18px;opacity:.9}.sidebar-user{margin-top:auto;padding:14px 0 6px;border-top:1px solid rgba(37,48,68,.78);display:grid;gap:10px;min-width:0;color:#e7edf8}.sidebar-account-panel{display:grid;gap:10px;width:100%}.sidebar-promo-card{display:flex;align-items:center;gap:12px;width:100%;min-width:0;padding:12px 13px;border:1px solid rgba(88,104,128,.34);border-radius:18px;background:radial-gradient(circle at top left,rgba(129,148,178,.16),transparent 54%),linear-gradient(180deg,#1b2230fa,#111621fa);box-shadow:inset 0 1px #ffffff0d,0 14px 26px #0408103d;color:inherit;text-decoration:none;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.sidebar-promo-card:hover{transform:translateY(-1px);border-color:#8194b27a;box-shadow:inset 0 1px #ffffff0f,0 16px 30px #04081047}.sidebar-promo-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(180deg,#657ded42,#4e5ab82e);color:#b9c6ff;flex:0 0 34px}.sidebar-promo-icon-pro{background:linear-gradient(180deg,#d1a24a47,#8a621838);color:#f0cb84}.sidebar-promo-icon svg{width:18px;height:18px}.sidebar-promo-copy{display:grid;gap:2px;min-width:0}.sidebar-promo-title{color:#f2f6fd;font-size:14px;font-weight:760;line-height:1.2}.sidebar-promo-sub{color:#90a0ba;font-size:11px;line-height:1.3}.sidebar-utility-list{display:grid;gap:2px;width:100%;padding:6px 0}.sidebar-utility-item{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:46px;padding:0 6px;border:0;border-radius:14px;background:transparent;color:#e7edf8;font:inherit;font-size:14px;font-weight:650;text-align:left;text-decoration:none;cursor:pointer}.sidebar-utility-item:hover{background:#212a3bc2}.sidebar-utility-main{display:flex;align-items:center;gap:12px;min-width:0}.sidebar-utility-item svg{width:18px;height:18px;flex:0 0 18px;color:#8fa0bd}.sidebar-utility-label{color:#d7deeb;font-size:13px;font-weight:650}.sidebar-utility-meta{display:inline-flex;align-items:center;gap:6px;color:#8a98b2;font-size:12px;font-weight:600;white-space:nowrap}.sidebar-utility-meta.is-upgrade{color:#9ea8ff}.sidebar-utility-meta.is-plan{color:#7fc8a1}.sidebar-utility-chevron svg{width:14px;height:14px;color:#7c8aa3}.sidebar-user-card{display:flex;align-items:center;gap:11px;width:100%;min-width:0;padding:10px 8px 8px;border-top:1px solid rgba(54,65,85,.8);color:inherit;text-decoration:none}.sidebar-user-card-avatar{width:38px;height:38px;border-radius:14px;object-fit:cover;flex:0 0 38px;background:#1a2332;box-shadow:0 6px 14px #080c1629}.sidebar-user-card-copy{display:grid;gap:4px;min-width:0;flex:1 1 auto}.sidebar-user-card-name{color:#edf2fb;font-size:14px;font-weight:720;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-card-subline{display:flex;align-items:center;gap:8px;min-width:0}.sidebar-user-card-account{min-width:0;color:#8190ab;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-card-arrow{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:#7988a3;flex:0 0 22px}.sidebar-user-card-arrow svg{width:14px;height:14px}.sidebar-user-meta{display:none;justify-items:center;gap:6px;min-width:0}.sidebar-membership{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 10px;border:1px solid rgba(110,128,156,.28);border-radius:999px;background:linear-gradient(180deg,#272f3feb,#19202ef5);color:#d9e2f1;font-size:10px;font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase;white-space:nowrap;box-shadow:inset 0 1px #ffffff0f,0 8px 18px #060a122e}.sidebar-membership-link{text-decoration:none;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.sidebar-membership-link:hover{transform:translateY(-1px);border-color:#849cc257;box-shadow:inset 0 1px #ffffff14,0 10px 22px #060a123d}.sidebar-membership:before{content:"";width:6px;height:6px;border-radius:999px;background:#8ea5c9;box-shadow:0 0 0 4px #8ea5c91f;flex:0 0 6px}.sidebar-membership-pro{border-color:#c9904157;background:linear-gradient(180deg,#453116eb,#2d1e0cf5);color:#f6e4bf}.sidebar-membership-pro:before{background:#e6b35a;box-shadow:0 0 0 4px #e6b35a24}html.light-theme body{--lumo-light-bg: #f4f8ee;--lumo-light-sidebar: #fbfdf7;--lumo-light-panel: #ffffff;--lumo-light-panel-subtle: #edf6df;--lumo-light-control: #eef5e7;--lumo-light-line: color-mix(in oklab, var(--lumo-primary) 28%, #d9e5ce);--lumo-light-line-soft: color-mix(in oklab, var(--lumo-primary) 18%, #e2ead9);--lumo-light-text: #182113;--lumo-light-muted: #66715f;--lumo-light-muted-strong: #46543f;color:var(--lumo-light-text);background:var(--lumo-light-bg)}html.light-theme .app-layout{background:var(--lumo-light-bg)}html.light-theme .app-sidebar{border-right-color:var(--lumo-light-line-soft);background:var(--lumo-light-sidebar)}html.light-theme .sidebar-brand,html.light-theme .sidebar-brand-title,html.light-theme .sidebar-user,html.light-theme .sidebar-promo-title,html.light-theme .sidebar-user-card-name,html.light-theme .sidebar-utility-item{color:var(--lumo-light-text)}html.light-theme .sidebar-brand-sub,html.light-theme .sidebar-collapse-button,html.light-theme .sidebar-nav a,html.light-theme .sidebar-user-card-account,html.light-theme .sidebar-promo-sub,html.light-theme .sidebar-utility-item svg,html.light-theme .sidebar-utility-meta,html.light-theme .sidebar-user-card-arrow{color:var(--lumo-light-muted)}html.light-theme .sidebar-utility-label{color:var(--lumo-light-muted-strong)}html.light-theme .sidebar-utility-meta.is-upgrade{color:#566fc4}html.light-theme .sidebar-utility-meta.is-plan{color:#2c8a66}html.light-theme .sidebar-promo-card{border-color:#ced6e2eb;background:radial-gradient(circle at top left,rgba(220,229,241,.95),transparent 56%),linear-gradient(180deg,#fffffffa,#f8fafdfa);box-shadow:inset 0 1px #fffffffa,0 12px 24px #4b5c7714}html.light-theme .sidebar-promo-card:hover{border-color:#bac6d8f5;box-shadow:inset 0 1px #fffffffa,0 14px 28px #4b5c771f}html.light-theme .sidebar-promo-icon{background:linear-gradient(180deg,#9aaaff3d,#818ee724);color:#6679d9}html.light-theme .sidebar-promo-icon-pro{background:linear-gradient(180deg,#f0d5a06b,#daaf582e);color:#a46e16}html.light-theme .sidebar-membership{border-color:#5b708e2e;background:linear-gradient(180deg,#fffffff5,#f1f5faf5);color:#35465f;box-shadow:inset 0 1px #ffffffe6,0 8px 18px #33496814}html.light-theme .sidebar-membership:before{background:#6f87af;box-shadow:0 0 0 4px #6f87af1f}html.light-theme .sidebar-membership-pro{border-color:#c990413d;background:linear-gradient(180deg,#fffaf2fa,#fbf1def5);color:#8a5a14}html.light-theme .sidebar-membership-pro:before{background:#d59f3d;box-shadow:0 0 0 4px #d59f3d24}html.light-theme .sidebar-membership-link:hover{border-color:#536f9442;box-shadow:inset 0 1px #ffffffeb,0 10px 22px #3349681f}html.light-theme .sidebar-nav a:hover,html.light-theme .sidebar-nav a.active,html.light-theme .sidebar-utility-item:hover{color:var(--lumo-light-text);background:var(--lumo-light-control)}html.light-theme .sidebar-user,html.light-theme .sidebar-user-card{border-top-color:var(--lumo-light-line-soft)}html.light-theme .sidebar-user-card-avatar,html.light-theme .avatar,html.light-theme .avatar.small{background:var(--lumo-light-control)}html.light-theme .status-panel,html.light-theme .settings-section,html.light-theme .notice,html.light-theme .token-panel,html.light-theme .empty-state,html.light-theme .book-card,html.light-theme .list-hero,html.light-theme .upload-page,html.light-theme .lists-shell,html.light-theme .modal-backdrop{--text: var(--lumo-light-text);--muted: var(--lumo-light-muted);--line: var(--lumo-light-line-soft);--panel: var(--lumo-light-panel);--panel-subtle: var(--lumo-light-panel-subtle);--accent: var(--lumo-primary)}html.light-theme .status-panel,html.light-theme .settings-section,html.light-theme .token-panel,html.light-theme .empty-state,html.light-theme .book-card,html.light-theme .list-hero{border-color:var(--lumo-light-line-soft);background:var(--lumo-light-panel)}html.light-theme .status-panel p,html.light-theme .settings-section p,html.light-theme .hint,html.light-theme .token-panel p,html.light-theme .library-head p,html.light-theme .book-author,html.light-theme .upload-page .subtitle{color:var(--lumo-light-muted)}html.light-theme .secondary-link,html.light-theme .secondary-button,html.light-theme .label,html.light-theme .library-search input{border-color:var(--lumo-light-line-soft);background:var(--lumo-light-control);color:var(--lumo-light-text)}html.light-theme .book-cover,html.light-theme .drop-zone,html.light-theme .file-preview,html.light-theme .progress-bar-wrap,html.light-theme .upload-results,html.light-theme .upload-result-row,html.light-theme .list-card,html.light-theme .modal{border-color:var(--lumo-light-line-soft);background:var(--lumo-light-panel);color:var(--lumo-light-text)}html.light-theme .book-cover{background:var(--lumo-light-control)}html.light-theme .book-progress-track{background:color-mix(in oklab,var(--lumo-light-control) 82%,#dfead4);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--lumo-primary) 14%,transparent)}html.light-theme .book-progress-label{color:var(--lumo-light-muted-strong)}html.light-theme .book-progress-label.complete{color:#18814a}html.light-theme .drop-zone{background:var(--lumo-light-panel)}html.light-theme .drop-zone:hover,html.light-theme .drop-zone.drag-over{background:var(--lumo-light-bg)}html.light-theme .progress-bar{background:var(--lumo-light-line-soft)}html.light-theme .file-preview-name,html.light-theme .upload-result-name,html.light-theme .list-card-link,html.light-theme .list-create-title,html.light-theme .list-card-title,html.light-theme .list-title,html.light-theme .platform-list-title,html.light-theme .platform-list-back,html.light-theme .platform-list-btn,html.light-theme .list-hero .list-btn,html.light-theme .list-hero .list-pill{color:var(--lumo-light-text)}html.light-theme .file-preview-size,html.light-theme .upload-result-note,html.light-theme .upload-results-meta,html.light-theme .list-card-meta,html.light-theme .list-section-copy,html.light-theme .lists-copy,html.light-theme .list-meta,html.light-theme .platform-list-meta,html.light-theme .platform-list-actions-copy{color:var(--lumo-light-muted)}html.light-theme .list-hero .list-pill,html.light-theme .platform-list-btn,html.light-theme .list-hero .list-btn{border-color:var(--lumo-light-line-soft);background:var(--lumo-light-control)}html.light-theme .platform-list-btn.primary,html.light-theme .list-hero .list-btn-primary{background:color-mix(in oklab,var(--lumo-primary-soft) 78%,white);border-color:var(--lumo-light-line)}.app-content{width:calc(100% - var(--sidebar-width));min-width:0;max-width:calc(100% - var(--sidebar-width));padding:28px;margin-left:var(--sidebar-width);overflow-x:hidden;overflow-x:clip}.app-layout.sidebar-collapsed .app-sidebar{width:var(--sidebar-collapsed-width);padding:20px 6px}.app-layout.sidebar-collapsed .app-content{width:calc(100% - var(--sidebar-collapsed-width));max-width:calc(100% - var(--sidebar-collapsed-width));margin-left:var(--sidebar-collapsed-width)}.app-layout.sidebar-collapsed .sidebar-brand-shell{display:flex;justify-content:center;margin-bottom:22px}.app-layout.sidebar-collapsed .sidebar-brand{justify-content:center}.app-layout.sidebar-collapsed .sidebar-brand-main{justify-content:center;width:100%}.app-layout.sidebar-collapsed .sidebar-brand-logo{width:32px;height:32px}.app-layout.sidebar-collapsed .sidebar-brand-toggle .sidebar-brand-toggle-icon-expand{display:block}.app-layout.sidebar-collapsed .sidebar-brand-toggle .sidebar-brand-toggle-icon-collapse{display:none}.app-layout.sidebar-collapsed .app-sidebar:hover .sidebar-brand-logo,.app-layout.sidebar-collapsed .sidebar-brand-toggle:focus-visible .sidebar-brand-logo{opacity:0;transform:scale(.9)}.app-layout.sidebar-collapsed .app-sidebar:hover .sidebar-brand-toggle-icon-wrap,.app-layout.sidebar-collapsed .sidebar-brand-toggle:focus-visible .sidebar-brand-toggle-icon-wrap{opacity:1;transform:scale(1);color:#e7edf8}html.light-theme .app-layout.sidebar-collapsed .app-sidebar:hover .sidebar-brand-toggle-icon-wrap,html.light-theme .app-layout.sidebar-collapsed .sidebar-brand-toggle:focus-visible .sidebar-brand-toggle-icon-wrap{color:#162033}.app-layout.sidebar-collapsed .sidebar-brand-text,.app-layout.sidebar-collapsed .sidebar-collapse-button,.app-layout.sidebar-collapsed .sidebar-copy{display:none}.app-layout.sidebar-collapsed .sidebar-user-meta{display:grid;gap:0}.app-layout.sidebar-collapsed .sidebar-account-panel{display:grid;gap:8px}.app-layout.sidebar-collapsed .sidebar-membership{padding:5px 8px;font-size:9px;letter-spacing:.06em}.app-layout.sidebar-collapsed .sidebar-promo-card,.app-layout.sidebar-collapsed .sidebar-utility-item,.app-layout.sidebar-collapsed .sidebar-user-card{justify-content:center;padding-left:0;padding-right:0}.app-layout.sidebar-collapsed .sidebar-promo-card{min-height:46px;padding-top:0;padding-bottom:0;border-radius:14px}.app-layout.sidebar-collapsed .sidebar-promo-copy,.app-layout.sidebar-collapsed .sidebar-utility-label,.app-layout.sidebar-collapsed .sidebar-utility-meta,.app-layout.sidebar-collapsed .sidebar-user-card-copy,.app-layout.sidebar-collapsed .sidebar-user-card-arrow{display:none}.app-layout.sidebar-collapsed .sidebar-utility-list{gap:6px;padding:0}.app-layout.sidebar-collapsed .sidebar-utility-item{min-height:40px;border-radius:12px}.app-layout.sidebar-collapsed .sidebar-utility-main{justify-content:center}.app-layout.sidebar-collapsed .sidebar-utility-item svg,.app-layout.sidebar-collapsed .sidebar-promo-icon svg{width:18px;height:18px}.app-layout.sidebar-collapsed .sidebar-user-card{min-height:40px;padding-top:6px;padding-bottom:2px}.app-layout.sidebar-collapsed .sidebar-user-card-avatar{width:24px;height:24px;flex:0 0 24px;border-radius:9px}.app-layout.sidebar-collapsed .sidebar-nav a{justify-content:center;gap:0;padding-left:0;padding-right:0}.status-panel{width:min(100%,460px);border:1px solid #253044;border-radius:8px;background:#131923;padding:28px;box-shadow:none}.page-loading-state{width:100%;min-height:calc(100vh - 120px);display:flex;align-items:center;justify-content:center;gap:10px;padding:0;color:var(--text);text-align:center}.page-loading-state-spinner{width:16px;height:16px;border-radius:999px;border:1.8px solid rgba(148,163,184,.32);border-top-color:currentColor;animation:page-loading-spin .8s linear infinite;flex:0 0 16px;margin-right:10px}.page-loading-state-label{font-size:clamp(15px,1.35vw,18px);line-height:1.25;letter-spacing:0}.page-loading-state-dots{display:inline-flex;align-items:flex-end;min-width:.9em;margin-left:2px}.page-loading-state-dots span{opacity:.24;animation:page-loading-dot-fade 1.1s ease-in-out infinite}.page-loading-state-dots span:nth-child(2){animation-delay:.16s}.page-loading-state-dots span:nth-child(3){animation-delay:.32s}@keyframes page-loading-dot-fade{0%,80%,to{opacity:.24}40%{opacity:1}}@keyframes page-loading-spin{to{transform:rotate(360deg)}}.status-panel h1{margin:0 0 10px;font-size:28px;line-height:1.15}.status-panel p{margin:0;color:#9bb0cf;line-height:1.6}.avatar{width:52px;height:52px;border-radius:8px;object-fit:cover;margin-bottom:18px;background:#1a2332}.avatar.small{width:44px;height:44px;margin:0}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.primary-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:8px;background:var(--lumo-primary);color:var(--lumo-ink);font-weight:700;text-decoration:none}.secondary-link,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border-radius:8px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.secondary-link svg,.primary-button svg,.secondary-button svg{width:15px;height:15px;stroke-width:2.1;flex:0 0 auto}.secondary-link,.secondary-button{border:1px solid #cbd4df;background:#1a2332;color:#e7edf8}.primary-button{border:1px solid var(--lumo-primary);background:var(--lumo-primary);color:var(--lumo-ink)}.primary-button:disabled,.secondary-button:disabled{cursor:wait;opacity:.65}.settings-page{width:min(100%,760px);display:grid;gap:16px}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:4px}.app-header h1{margin:6px 0;font-size:30px;line-height:1.15}.button-link-reset{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.list-shell{--text: #e7edf8;--muted: #9bb0cf;--line: color-mix(in oklab, var(--lumo-primary) 18%, #253044);--panel: color-mix(in oklab, var(--lumo-night) 90%, #243018);--panel-subtle: color-mix(in oklab, var(--lumo-night) 82%, #29381b);--accent: var(--lumo-primary);display:grid;gap:18px}.platform-list-shell{display:grid;gap:32px}.platform-list-hero{display:grid;gap:16px;width:100%;max-width:none;padding:10px 0 34px;position:relative;isolation:isolate}.platform-list-hero:before{content:"";position:absolute;inset:16px auto auto -18px;width:clamp(160px,26vw,260px);height:clamp(160px,18vw,220px);background:radial-gradient(circle at 30% 30%,color-mix(in oklab,var(--accent) 18%,transparent),transparent 68%);opacity:.8;pointer-events:none;z-index:-1}.platform-list-hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,color-mix(in oklab,var(--accent) 24%,var(--line)) 0%,color-mix(in oklab,var(--line) 72%,transparent) 55%,transparent 100%)}.platform-list-hero-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.platform-list-kicker-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.platform-list-title-row{display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:0}.platform-list-back{display:inline-flex;align-items:center;gap:8px;width:max-content;color:var(--muted);font-size:13px;font-weight:650;letter-spacing:-.01em;text-decoration:none;transition:color .15s ease,transform .15s ease}.platform-list-back:hover{color:var(--text);transform:translate(-1px)}.platform-list-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in oklab,var(--accent) 82%,var(--text))}.platform-list-chip{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;border:1px solid color-mix(in oklab,var(--line) 84%,transparent);background:color-mix(in oklab,var(--panel-subtle) 64%,transparent);color:color-mix(in oklab,var(--muted) 86%,var(--text));font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.platform-list-title{margin:0;min-width:0;max-width:100%;font-size:clamp(36px,5.2vw,58px);line-height:.92;font-weight:780;letter-spacing:-.06em;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}.platform-list-meta{max-width:62ch;color:color-mix(in oklab,var(--muted) 90%,var(--text));font-size:15px;line-height:1.72;letter-spacing:-.01em}.platform-list-actions{display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap}.platform-list-actions-copy{display:inline-flex;align-items:center;gap:8px;color:color-mix(in oklab,var(--muted) 88%,var(--text));font-size:12px;line-height:1.5;letter-spacing:.03em;text-transform:uppercase}.platform-list-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid color-mix(in oklab,var(--line) 72%,transparent);background:color-mix(in oklab,var(--panel) 74%,transparent);color:var(--text);font-size:13px;font-weight:700;letter-spacing:-.01em;cursor:pointer;text-decoration:none;transition:background .15s ease,border-color .15s ease,transform .15s ease,color .15s ease}.platform-list-btn:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--line) 92%,var(--text));background:color-mix(in oklab,var(--panel-subtle) 78%,var(--panel))}.platform-list-btn.primary{border-color:color-mix(in oklab,var(--line) 88%,transparent);background:var(--panel-subtle);color:var(--text)}.platform-list-btn.primary:hover{background:var(--panel);border-color:color-mix(in oklab,var(--line) 92%,var(--text))}.platform-list-btn:disabled{opacity:.72;cursor:wait;transform:none}.platform-list-grid{display:grid;grid-template-columns:repeat(auto-fill,180px);gap:18px;justify-content:flex-start}.platform-list-card{display:grid;grid-template-rows:auto 1fr;gap:10px;height:100%;padding:0;border-radius:14px;border:1px solid color-mix(in oklab,var(--line) 86%,transparent);background:var(--panel);overflow:hidden}.platform-list-card-cover{position:relative;width:100%;aspect-ratio:3 / 4;border-radius:0;border:0;overflow:hidden;background:var(--panel-subtle)}.platform-list-card-cover img{width:100%;height:100%;object-fit:cover;display:block}.platform-list-card-format{position:absolute;top:7px;right:7px;z-index:3;padding:2px 6px;border-radius:5px;background:#080a12b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;pointer-events:none;line-height:1.65;border:1px solid rgba(255,255,255,.1)}.platform-list-card-title{padding:0 12px;font-size:14px;font-weight:800;line-height:1.25}.platform-list-card-title a{color:inherit;text-decoration:none}.platform-list-card-meta{padding:0 12px 12px;font-size:12px;color:var(--muted);line-height:1.5}@media(max-width:720px){.platform-list-hero-top{align-items:flex-start}.platform-list-title-row{align-items:flex-start;gap:14px}.platform-list-btn{flex:0 0 auto}}.list-hero{display:grid;gap:14px;padding:18px;border-radius:22px;border:1px solid color-mix(in oklab,var(--line) 88%,transparent);background:var(--panel)}.list-hero-top,.list-section-head,.list-pill-row,.list-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.list-hero-top>div:first-child{flex:1 1 auto;min-width:0}.list-action-row{display:flex;align-items:flex-start;justify-content:flex-start;gap:12px;flex-wrap:wrap}.list-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.list-title{margin:4px 0 0;font-size:30px;line-height:1.04;font-weight:860;letter-spacing:-.03em;min-width:0;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}.list-title-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0;width:100%}.list-title-actions{display:inline-flex;align-items:center;flex:0 0 auto}.list-meta,.list-compact-copy,.list-section-copy,.book-card-meta{color:var(--muted);font-size:13px;line-height:1.6}.list-pill{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;border:1px solid color-mix(in oklab,var(--line) 84%,transparent);background:var(--panel-subtle);font-size:11.5px;font-weight:800;color:var(--muted)}.list-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:var(--panel-subtle);color:var(--text);font-size:12.5px;font-weight:800;cursor:pointer;text-decoration:none}.list-btn svg,.list-private-icon svg,.book-card-cover-add-icon svg,.book-card-remove svg{width:15px;height:15px;flex:0 0 auto}.list-btn-primary{background:var(--accent);border-color:var(--accent);color:var(--lumo-ink)}.list-btn-muted{background:color-mix(in oklab,var(--panel-subtle) 92%,transparent);border-color:color-mix(in oklab,var(--line) 90%,transparent);color:var(--muted)}.list-form{display:grid;gap:10px}.list-form-row{display:grid;grid-template-columns:1.1fr 1.6fr auto;gap:10px}.list-input{height:42px;border-radius:12px;border:1px solid var(--line);background:var(--panel-subtle);color:var(--text);padding:0 12px;font:inherit}.list-input:focus{outline:none;border-color:var(--accent);background:var(--panel)}.list-error{min-height:18px;font-size:12px;color:#ff8b8b}.list-section,.list-compact-head{display:grid;gap:12px}.list-shell .book-card-cover{border-bottom-left-radius:0;border-bottom-right-radius:0}.list-compact-title,.list-section-title{display:flex;align-items:center;gap:8px;font-size:24px;font-weight:860;letter-spacing:-.03em;line-height:1.05}.list-grid{display:grid;grid-template-columns:repeat(auto-fill,180px);gap:18px;justify-content:flex-start}.book-card{position:relative;display:grid;gap:10px;padding:12px;border-radius:16px;border:1px solid color-mix(in oklab,var(--line) 86%,transparent);background:var(--panel)}.book-card-cover{position:relative;width:100%;aspect-ratio:3 / 4;border-radius:12px;border:1px solid color-mix(in oklab,var(--line) 88%,transparent);overflow:hidden;background:var(--panel-subtle)}.book-card-cover-link,.book-card-cover img,.book-card-cover-link img{display:block;width:100%;height:100%}.book-card-cover img,.book-card-cover-link img{object-fit:cover}.book-card-complete,.book-card-format{position:absolute;z-index:3;pointer-events:none}.book-card-complete{left:7px;top:7px;display:inline-flex;align-items:center;justify-content:center;height:20px;padding:0 8px;border-radius:999px;background:#16a34aeb;color:#fff;font-size:9.5px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.book-card-format{top:7px;right:7px;padding:2px 6px;border-radius:5px;background:#080a12b8;color:#fff;font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;line-height:1.65}.book-card-add{border-style:dashed}.book-card-cover-add{display:flex;align-items:center;justify-content:center;background:var(--panel-subtle)}.book-card-cover-add-icon{display:flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:999px;border:1px solid color-mix(in oklab,var(--line) 84%,transparent);background:#ffffffe0;color:var(--accent)}.book-card-title{font-size:14px;font-weight:800;line-height:1.25}.book-card-remove{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:1px solid color-mix(in oklab,var(--line) 70%,rgba(255,255,255,.55));background:#ffffffeb;color:#1f2937;opacity:0;transform:translateY(6px) scale(.96);transition:opacity .14s ease,transform .14s ease}.book-card:hover .book-card-remove,.book-card:focus-within .book-card-remove,.book-card-remove:focus-visible{opacity:1;transform:translateY(0) scale(1)}.book-card-remove:hover{border-color:#fca5a5;color:#b91c1c}.book-card-remove:after,.list-private-icon:after{content:attr(data-tooltip);position:absolute;padding:6px 9px;border-radius:8px;background:#111827f0;color:#fff;font-size:11px;font-weight:700;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;z-index:5}.book-card-remove:after{right:46px;bottom:50%;transform:translateY(50%) translate(4px)}.list-private-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;border:1px solid color-mix(in oklab,var(--line) 82%,transparent);background:color-mix(in oklab,var(--panel-subtle) 86%,#fff);color:var(--muted);cursor:help}.list-private-icon:after{left:50%;bottom:calc(100% + 8px);transform:translate(-50%) translateY(4px)}.book-card-remove:hover:after,.book-card-remove:focus-visible:after,.list-private-icon:hover:after,.list-private-icon:focus-visible:after{opacity:1}.empty{padding:18px;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}@media(max-width:780px){.list-form-row{grid-template-columns:1fr}}.app-header p,.settings-section p,.hint,.token-panel p,.library-head p{margin:0;color:#9bb0cf;line-height:1.6}.back-link{color:var(--lumo-primary);font-weight:800;text-decoration:none}.settings-section,.notice,.token-panel,.empty-state{border:1px solid #253044;border-radius:8px;background:#131923}.settings-section{padding:22px}.settings-section h2{margin:0 0 8px;font-size:20px}.notice{padding:12px 14px;color:#1d3f57;background:#4a7abf1f;border-color:#4a7abf47}html.dark-theme .notice{background:#4a7abf2e;border-color:#4a7abf6b;color:#d7e6ff}.status-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:16px}.status-dot{width:10px;height:10px;border-radius:999px;background:#d96b6b}.status-dot.bound{background:#4f9b6e}.label{padding:5px 9px;border:1px solid #253044;border-radius:8px;color:#e7edf8;background:#1a2332;font-size:13px}.hint{margin-top:12px}.token-panel{display:grid;gap:8px;margin-top:14px;padding:14px;background:#101722}.token-panel code{width:max-content;max-width:100%;overflow-wrap:anywhere;font-size:26px;font-weight:800;color:#e7edf8}.field-stack{display:grid;gap:8px;margin-top:14px}.field-label{font-size:13px;color:#9bb0cf}.field-stack input{min-height:44px;border:1px solid #253044;border-radius:8px;background:#101722;color:#e7edf8;padding:0 12px}.token-label{color:#9bb0cf;font-size:13px;font-weight:700}.library-page{display:grid;gap:22px}.library-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.library-head h1{margin:0 0 6px;font-size:28px;line-height:1.12}.library-tools{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.library-search{position:relative;width:min(320px,42vw)}.library-search svg{position:absolute;left:14px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:#9bb0cf;pointer-events:none}.library-search input{width:100%;height:44px;padding:0 14px 0 40px;border:1px solid #253044;border-radius:999px;outline:none;background:#1a2332;color:#e7edf8;font:inherit;font-size:13px;font-weight:650}.library-search input:focus{border-color:#4a7abfb8;background:#131923}.library-import-copy,.library-import-notice{margin:0;color:#9bb0cf;font-size:12px;line-height:1.6}.library-import-notice{padding:12px 14px;border:1px solid #253044;border-radius:12px;background:#131923}.library-import-progress{display:grid;gap:8px;margin-top:4px;padding:10px 0 2px}.library-import-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#9bb0cf;font-size:12px;line-height:1.3}.library-import-progress-meta strong{color:#e7edf8;font-size:12px;font-weight:800}.library-import-progress-track{width:100%;height:6px;border-radius:999px;background:#9bb0cf33;overflow:hidden}.library-import-progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6fa6df,#8db6e4);transition:width .35s ease}.react-detail-list{display:grid;gap:10px}.react-detail-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid #253044}.react-detail-row:first-child{padding-top:0;border-top:0}.react-detail-row span{color:#9bb0cf;font-size:12px}.react-detail-row strong{text-align:right;font-size:13px}.book-detail-source-link{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid #253044;color:#9bb0cf;text-decoration:none;font-size:12px;font-weight:700}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;align-items:stretch}.book-card{position:relative;display:grid;grid-template-rows:auto 1fr;gap:0;height:100%;padding:0;border:1px solid #253044;border-radius:14px;background:#131923;transition:border-color .15s ease;overflow:hidden}.book-card:hover{border-color:var(--lumo-primary)}.book-cover-link{display:block}.book-cover{position:relative;aspect-ratio:3 / 3.45;overflow:hidden;background:#1a2332}.book-cover img,.book-cover-fallback{width:100%;height:100%}.book-cover img{display:block;object-fit:cover}.book-cover-fallback{display:flex;align-items:center;justify-content:center;color:#9bb0cf;font-size:42px;font-weight:850}.book-format,.book-audio{position:absolute;z-index:2;border:1px solid rgba(255,255,255,.12);background:#080a12b8;color:#fff;font-size:9.5px;font-weight:850;line-height:1;text-transform:uppercase}.book-format{top:7px;right:7px;padding:5px 6px;border-radius:5px}.book-audio{left:7px;bottom:7px;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:999px;background:linear-gradient(180deg,#2a9fc1,#1f5ed2);border:2px solid rgba(255,255,255,.98);box-shadow:0 12px 24px #1141a857,0 4px 10px #0f172a3d}.book-audio svg{width:15px;height:15px;stroke:#fff;filter:drop-shadow(0 1px 1px rgba(9,18,32,.28))}.book-card-body{padding:0 12px 10px;min-height:78px;display:grid;grid-template-rows:auto auto 1fr auto;align-content:start;gap:4px;background:color-mix(in oklab,var(--panel-subtle) 94%,var(--panel))}html.light-theme .book-card-body{background:#fff}.book-card-delete-slot{position:relative;display:flex;justify-content:flex-start;height:0;pointer-events:none;z-index:3}.book-card-delete-trigger{pointer-events:auto;position:relative;margin-top:-17px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid rgba(37,48,68,.14);border-radius:999px;background:#fffffff5;color:#94a3b8;box-shadow:0 10px 24px #0f172a1f;opacity:0;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease,color .15s ease,border-color .15s ease;cursor:pointer}.book-card:hover .book-card-delete-trigger,.book-card:focus-within .book-card-delete-trigger,.book-card-delete-trigger:focus-visible,.book-card-delete-trigger[aria-expanded=true]{opacity:1;transform:translateY(0)}.book-card-delete-trigger:hover,.book-card-delete-trigger:focus-visible{color:#dc2626;border-color:#dc26262e}.book-card-delete-trigger svg{width:15px;height:15px}.book-card-delete-confirm{pointer-events:auto;position:absolute;left:42px;top:-28px;display:grid;gap:8px;min-width:176px;padding:10px;border:1px solid rgba(37,48,68,.12);border-radius:12px;background:#fffffffa;box-shadow:0 16px 36px #0f172a29}.book-card-delete-copy{color:#0f172a;font-size:12px;font-weight:700;line-height:1.3}.book-card-delete-actions{display:flex;gap:8px}.book-card-delete-btn{display:inline-flex;align-items:center;justify-content:center;min-width:0;padding:7px 10px;border:1px solid rgba(37,48,68,.12);border-radius:999px;background:#fff;color:#475569;font-size:11px;font-weight:700;line-height:1;cursor:pointer}.book-card-delete-btn:hover,.book-card-delete-btn:focus-visible{border-color:#4a7abf47;color:#0f172a}.book-card-delete-btn.danger{background:#dc2626;border-color:#dc2626;color:#fff}.book-card-delete-btn.danger:hover,.book-card-delete-btn.danger:focus-visible{background:#b91c1c;border-color:#b91c1c;color:#fff}.book-card-delete-btn:disabled{opacity:.58;cursor:wait}.book-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:14px;font-weight:700;line-height:1.22;text-decoration:none}.book-author{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#9bb0cf;min-height:0;font-size:12px;line-height:1.28}.book-progress-row{position:relative;display:flex;justify-content:flex-end;align-items:center;margin-top:auto;padding-top:2px}.book-progress-ring{position:relative;width:32px;height:32px;flex:0 0 32px;border-radius:999px;background:conic-gradient(from -90deg,#7ed0d9 0deg,#5ea3d3 var(--book-progress, 0deg),rgba(74,122,191,.14) var(--book-progress, 0deg),rgba(74,122,191,.14) 360deg)}.book-progress-ring.complete{background:conic-gradient(from -90deg,#86efac 0deg,#22c55e var(--book-progress, 360deg),rgba(34,197,94,.12) var(--book-progress, 360deg),rgba(34,197,94,.12) 360deg)}.book-progress-ring-inner{position:absolute;inset:5px;border-radius:inherit;background:#e7effa;box-shadow:inset 0 0 0 1px #4a7abf14}.book-progress-label{color:#d9e6ff;font-size:11px;font-weight:800;letter-spacing:.01em}.book-progress-label.is-ring{position:absolute;right:0;bottom:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:8px;text-align:center;line-height:1.05;color:#385277;pointer-events:none}.book-progress-label.complete{color:#bbf7d0}.book-progress-label.complete.is-ring{color:#157f3b}html.light-theme .book-progress-ring-inner{background:#fff}.empty-state{padding:20px;color:#9bb0cf}.upload-page{--text: #e7edf8;--muted: #9bb0cf;--line: color-mix(in oklab, var(--lumo-primary) 18%, #253044);--panel: color-mix(in oklab, var(--lumo-night) 90%, #243018);--panel-subtle: color-mix(in oklab, var(--lumo-night) 82%, #29381b);--accent: var(--lumo-primary);max-width:760px;margin:40px auto;padding:0 16px}.upload-page h1{font-size:24px;font-weight:700;margin:0 0 6px;letter-spacing:0}.upload-page .subtitle{color:var(--muted);font-size:14px;margin:0 0 24px}.upload-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.upload-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:13px;font-weight:700;cursor:pointer}.upload-action-btn:hover{border-color:var(--accent);transform:translateY(-1px)}.upload-action-btn:disabled{opacity:.68;cursor:wait;transform:none}.drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:58px 32px;border:2px dashed var(--line);border-radius:24px;cursor:pointer;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;background:var(--panel);text-align:center;position:relative}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 6%,var(--panel))}.drop-zone.drag-over{transform:translateY(-1px);box-shadow:0 16px 34px color-mix(in oklab,var(--accent) 10%,transparent)}.drop-zone-icon{width:48px;height:48px;color:var(--muted);flex-shrink:0}.drop-zone-title{font-size:18px;font-weight:700;color:var(--text);letter-spacing:0}.drop-zone-hint,.drop-zone-formats{color:var(--muted);font-size:13px}.drop-zone-formats{font-size:12px;margin-top:4px}.file-preview{display:none;margin-top:18px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px 18px;align-items:center;gap:14px}.file-preview.visible{display:flex}.file-preview-icon{color:var(--accent);flex-shrink:0}.file-preview-info{flex:1;min-width:0}.file-preview-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-preview-size{font-size:12px;color:var(--muted);margin-top:2px}.progress-bar-wrap{display:none;margin-top:18px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px 18px;gap:10px;flex-direction:column}.progress-bar-wrap.visible{display:flex}.progress-label{font-size:13px;color:var(--muted)}.progress-bar{height:6px;border-radius:99px;background:var(--line);overflow:hidden}.progress-bar-fill{height:100%;border-radius:99px;background:var(--accent);transition:width .3s ease;width:0%}.upload-error{display:none;margin-top:16px;padding:12px 16px;border-radius:10px;background:color-mix(in oklab,#e53e3e 12%,var(--panel));border:1px solid color-mix(in oklab,#e53e3e 30%,var(--line));color:#e53e3e;font-size:13px}.upload-error.visible{display:block}.upload-results{display:none;margin-top:18px;padding:16px 18px;border-radius:16px;background:var(--panel);border:1px solid var(--line)}.upload-results.visible{display:block}.upload-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.upload-results-title{font-size:15px;font-weight:700;letter-spacing:0}.upload-results-meta{font-size:12px;color:var(--muted)}.upload-results-list{display:flex;flex-direction:column;gap:10px}.upload-result-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in oklab,var(--panel-subtle) 92%,transparent)}.upload-result-row[onclick],.upload-result-row[role=button]{cursor:pointer}.upload-result-main{min-width:0}.upload-result-name{font-size:13px;font-weight:700;line-height:1.4;word-break:break-word}.upload-result-note{margin-top:2px;font-size:12px;color:var(--muted);line-height:1.45}.upload-result-state{flex:0 0 auto;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:7px 10px;border-radius:999px}.upload-result-state[data-state=created]{background:color-mix(in oklab,#16a34a 12%,var(--panel));color:#15803d}.upload-result-state[data-state=skipped]{background:color-mix(in oklab,var(--line) 80%,transparent);color:var(--muted)}.graph-page{display:grid;gap:18px}.starter-react-page{display:grid;gap:22px}.starter-react-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap}.starter-react-copy{display:grid;gap:10px}.starter-react-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.starter-react-title{margin:0;font-size:32px;line-height:1.06;font-weight:860;letter-spacing:-.03em;max-width:16ch}.starter-react-text{margin:0;color:var(--muted);font-size:14px;line-height:1.65;max-width:72ch}.starter-react-pills{display:flex;flex-wrap:wrap;gap:8px}.starter-react-pill,.starter-react-back{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel-subtle);color:var(--text);text-decoration:none;font-size:12.5px;font-weight:700}.starter-react-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px}.starter-react-card{display:grid;grid-template-rows:auto 1fr auto;gap:12px;height:100%;padding:0;border-radius:14px;border:1px solid color-mix(in oklab,var(--line) 84%,transparent);background:var(--panel);box-shadow:0 10px 24px #141c2d0f;overflow:hidden}.starter-react-cover,.starter-react-cover-button{position:relative;display:block;width:100%;aspect-ratio:3 / 4;border-radius:0;overflow:hidden;border:0;background:var(--panel-subtle);color:inherit;text-decoration:none}.starter-react-cover-button{padding:0;cursor:pointer}.starter-react-cover img{width:100%;height:100%;object-fit:cover;display:block}.starter-react-cover-empty{display:flex;align-items:flex-end;justify-content:flex-start;width:100%;height:100%;padding:14px;background:var(--panel-subtle);font-size:18px;font-weight:900;line-height:1.05;color:#1e263be6}.starter-react-complete,.starter-react-format{position:absolute;z-index:3;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:#fff;font-size:9.5px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.starter-react-complete{left:7px;top:7px;height:20px;padding:0 8px;background:#16a34aeb}.starter-react-format{top:7px;right:7px;padding:4px 7px;background:#080a12b8}.starter-react-card-body{display:grid;gap:6px;flex:1;padding:0 12px}.starter-react-card-title{font-size:15px;font-weight:800;line-height:1.22}.starter-react-card-author{font-size:12px;color:var(--muted)}.starter-react-btn{display:inline-flex;align-items:center;justify-content:center;margin:auto 12px 12px;min-height:38px;padding:0 14px;border-radius:12px;border:1px solid var(--line);text-decoration:none;font-size:12.5px;font-weight:800;cursor:pointer}button.starter-react-btn{width:calc(100% - 24px);font-family:inherit}.starter-react-btn-primary{background:var(--lumo-primary);border-color:var(--lumo-primary);color:var(--lumo-ink);box-shadow:inset 0 1px #ffffff29}.starter-react-btn-primary:hover:not(:disabled),.starter-react-btn-primary:focus-visible{background:#185a71;border-color:#185a71;color:#f8fbff}.starter-react-btn-primary:disabled{background:#7fb6c8;border-color:#7fb6c8;color:#f8fbff}.starter-react-btn-secondary{background:#1f8a4c;border-color:#1f8a4c;color:#f7fff9;box-shadow:inset 0 1px #ffffff1f}.starter-react-btn-secondary:hover,.starter-react-btn-secondary:focus-visible{background:#18703d;border-color:#18703d;color:#f7fff9}.starter-react-notice{margin:-6px 12px 12px;font-size:11.5px;line-height:1.35;color:#b42318}.starter-react-empty{padding:22px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);background:var(--panel)}.picture-books-page .starter-react-title{max-width:18ch}.picture-books-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.picture-books-card{grid-template-rows:auto auto;gap:10px;border-radius:18px}.picture-books-cover{aspect-ratio:3 / 4.2;transition:transform .18s ease,box-shadow .18s ease}.picture-books-cover:hover,.picture-books-cover:focus-visible{transform:translateY(-2px);box-shadow:0 18px 34px #141c2d24}.picture-books-card .starter-react-card-body{padding:0 12px 14px}.shared-react-page{min-height:100vh;background:#f7f5f1;color:#111}.shared-react-shell{max-width:920px;margin:0 auto;padding:32px 24px 64px;display:grid;gap:28px}.shared-react-banner{display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border-radius:12px;background:#f8f1dc;color:#8a7440;font-size:14px;font-weight:600}.shared-react-brand{display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:800;letter-spacing:-.03em;text-decoration:none}.shared-react-brand img{width:28px;height:28px}.shared-react-hero{display:grid;grid-template-columns:196px minmax(0,1fr);gap:40px;align-items:start}.shared-react-cover{width:100%;aspect-ratio:3 / 4.2;border-radius:16px;object-fit:cover;border:1px solid #dedad2;background:#f1eee8}.shared-react-title{margin:0;font-size:clamp(36px,6vw,58px);line-height:.96;letter-spacing:-.055em}.shared-react-author{margin-top:10px;font-size:18px;color:#6b6b6b;font-weight:650}.shared-react-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.shared-react-chip{display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border-radius:999px;border:1px solid #dedad2;font-size:12px;color:#6b6b6b}.shared-react-copy,.shared-react-note,.shared-react-text{color:#6b6b6b;font-size:15px;line-height:1.8}.shared-react-copy,.shared-react-cta,.shared-react-note{margin-top:18px}.shared-react-btn{appearance:none;border:0;cursor:pointer}.shared-react-section{display:grid;gap:14px;padding-top:28px;border-top:1px solid #dedad2}.shared-react-section h2{margin:0;font-size:24px;line-height:1.1;letter-spacing:-.03em}.shared-react-text p{margin:0 0 10px}@media(max-width:860px){.shared-react-hero{grid-template-columns:1fr;gap:24px}.shared-react-cover{max-width:220px}}.public-page{min-height:100vh;background:#fcf6e9;color:#090a17}.public-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,64px);height:56px;border-bottom:1px solid oklch(87% .026 88);background:color-mix(in oklch,oklch(97.5% .018 88) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.public-brand{font-size:28px;font-weight:700;letter-spacing:-.03em;text-decoration:none}.public-nav-actions{display:flex;align-items:center;gap:12px}.public-nav-link,.public-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:999px;border:1px solid oklch(87% .026 88);color:#4a4c59;text-decoration:none}.public-nav-btn,.public-primary,.public-auth-submit{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:999px;border:0;background:#090a17;color:#fff;text-decoration:none;font-weight:600;cursor:pointer}.public-hero{max-width:1320px;margin:0 auto;min-height:calc(100vh - 56px);padding:clamp(48px,10vh,120px) clamp(24px,6vw,64px);display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,80px);align-items:center}.public-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#d47d17;margin-bottom:24px}.public-title{margin:0 0 24px;font-size:clamp(48px,5.8vw,82px);line-height:1.04;letter-spacing:-.04em}.public-body{margin:0 0 34px;max-width:46ch;color:#4a4c59;font-size:17px;line-height:1.7}.public-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.public-stats{display:grid;gap:14px}.public-stat{padding:18px 20px;border-radius:18px;border:1px solid oklch(87% .026 88);background:#ffffffb8}.public-stat-value{font-size:clamp(30px,4vw,46px);font-weight:760;line-height:1;letter-spacing:-.04em}.public-stat-label{margin-top:6px;color:#4a4c59;font-size:13px}.public-auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#0b0d12}.public-auth-card{width:min(420px,100%);padding:24px;border-radius:18px;border:1px solid #253044;background:#131923;color:#e7edf8;display:grid;gap:16px}.public-auth-card h1{margin:0}.public-auth-card p,.public-auth-alt{color:#9bb0cf}.public-auth-brand{color:#e7edf8;text-decoration:none;font-size:20px;font-weight:700}.public-google-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:12px;border:1px solid #3a455d;background:#121a28;color:#e7edf8;text-decoration:none}.public-wallet-btn-inner{display:inline-flex;align-items:center;gap:10px}.wallet-chooser-modal{width:min(460px,100%)}.wallet-chooser-list{display:grid;gap:0;border:1px solid #253044;border-radius:16px;overflow:clip}.wallet-chooser-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:16px 18px;border:0;border-bottom:1px solid #253044;background:#121821;color:#e7edf8;cursor:pointer}.wallet-chooser-item:last-child{border-bottom:0}.wallet-chooser-item-main{display:inline-flex;align-items:center;gap:14px;font-weight:700}.wallet-chooser-pill{padding:6px 10px;border-radius:999px;background:#ffffff1a;color:#cfd7e5;font-size:12px;font-weight:700}.wallet-provider-mark{width:28px;height:28px;border-radius:8px;display:inline-block;flex:0 0 28px}.wallet-provider-icon-image{width:28px;height:28px;object-fit:contain;display:block;flex:0 0 28px}.wallet-provider-mark-metamask{background:linear-gradient(135deg,#f6851b,#e2761b)}.wallet-provider-mark-trust{background:linear-gradient(135deg,#0b5cff,#27a8ff)}.wallet-provider-mark-coinbase{background:linear-gradient(135deg,#0052ff,#6ea8ff)}.wallet-provider-mark-browser{background:linear-gradient(135deg,#7c8798,#c3ccd9)}.public-auth-sep{position:relative;text-align:center}.public-auth-sep:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#253044}.public-auth-sep span{position:relative;z-index:1;display:inline-block;padding:0 8px;background:#131923;color:#9fb0cc;font-size:12px}.public-auth-error{padding:12px 14px;border-radius:10px;border:1px solid rgba(239,68,68,.35);background:#ef44441f;color:#fecaca;font-size:14px;line-height:1.5}.public-auth-form{display:grid;gap:14px}.public-auth-form label{display:grid;gap:8px}.public-auth-form span{font-size:14px;font-weight:600}.public-auth-form input{width:100%;min-height:44px;padding:0 12px;border-radius:10px;border:1px solid #253044;background:#0f141d;color:#e7edf8}.landing-legacy{--landing-bg: color-mix(in oklab, var(--lumo-primary-soft) 54%, #fffaf1);--landing-bg-2: color-mix(in oklab, var(--lumo-primary-soft) 72%, #f7f3e8);--landing-bg-dark: var(--lumo-night);--landing-bg-dark-2: color-mix(in oklab, var(--lumo-night) 86%, #223018);--landing-ink: var(--lumo-ink);--landing-ink-mid: var(--lumo-muted-ink);--landing-ink-soft: color-mix(in oklab, var(--lumo-muted-ink) 72%, #fff);--landing-amber: var(--lumo-primary);--landing-amber-dim: var(--lumo-primary-soft);--landing-line: color-mix(in oklab, var(--lumo-primary) 18%, #dedad2);--landing-line-dark: color-mix(in oklab, var(--lumo-primary) 20%, #1f2a1d);--landing-radius: 5px;min-height:100vh;background:var(--landing-bg);color:var(--landing-ink);font-family:Instrument Sans,ui-sans-serif,sans-serif}.landing-legacy em{font-style:italic}.landing-nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 clamp(20px,5vw,64px);border-bottom:1px solid var(--landing-line);background:color-mix(in oklch,var(--landing-bg) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.landing-nav-brand,.landing-footer-brand{display:inline-flex;align-items:center;gap:2px;color:var(--landing-ink);font-family:Cormorant Garamond,serif;font-size:26px;font-style:italic;font-weight:600;letter-spacing:-.02em;text-decoration:none}.landing-nav-dot{width:6px;height:6px;margin-bottom:10px;margin-left:3px;border-radius:50%;background:var(--landing-amber);flex-shrink:0}.landing-nav-right,.landing-nav-links{display:flex;align-items:center}.landing-nav-right{gap:32px}.landing-nav-links{gap:28px;margin:0;padding:0;list-style:none}.landing-nav-links a{color:var(--landing-ink-mid);font-size:14px;font-weight:400;letter-spacing:.01em;text-decoration:none;transition:color .15s}.landing-nav-links a:hover{color:var(--landing-ink)}.landing-btn-nav,.landing-btn-primary,.landing-btn-ghost,.landing-btn-tg{display:inline-flex;align-items:center;gap:8px;text-decoration:none;transition:transform .1s,background .15s,color .15s,border-color .15s}.landing-btn-nav,.landing-btn-primary{background:var(--landing-ink);color:var(--landing-bg);border-radius:var(--landing-radius)}.landing-btn-nav{padding:8px 20px;font-size:13px;font-weight:500;letter-spacing:.02em}.landing-btn-primary{padding:13px 30px;font-size:14px;font-weight:500;letter-spacing:.02em}.landing-btn-nav:hover,.landing-btn-primary:hover{background:color-mix(in oklch,var(--landing-ink) 80%,var(--landing-amber));transform:translateY(-1px)}.landing-btn-ghost{padding:12px 24px;border:1px solid var(--landing-line);border-radius:var(--landing-radius);color:var(--landing-ink-mid);font-size:14px;font-weight:400;letter-spacing:.01em}.landing-btn-ghost:hover{border-color:var(--landing-ink-mid);color:var(--landing-ink);transform:translateY(-1px)}.landing-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,80px);align-items:center;min-height:calc(100svh - 56px);max-width:1320px;margin:0 auto;padding:clamp(48px,10vh,120px) clamp(24px,6vw,64px)}.landing-hero-eyebrow,.landing-section-tag,.landing-api-tag{display:inline-flex;align-items:center;gap:10px;color:var(--landing-amber);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.landing-hero-eyebrow{margin-bottom:28px}.landing-hero-eyebrow:before,.landing-section-tag:after,.landing-api-tag:after{content:"";display:block;height:1px}.landing-hero-eyebrow:before{width:28px;background:var(--landing-amber)}.landing-hero-heading,.landing-how-heading,.landing-api-heading,.landing-tg-heading,.landing-cta-heading,.landing-feat-title,.landing-step-title{font-family:Cormorant Garamond,serif;color:inherit;letter-spacing:-.025em}.landing-hero-heading{margin:0 0 28px;color:var(--landing-ink);font-size:clamp(48px,5.8vw,82px);font-weight:600;line-height:1.06}.landing-hero-heading em,.landing-how-heading em,.landing-api-heading em,.landing-tg-heading em,.landing-cta-heading em{color:var(--landing-amber)}.landing-hero-body,.landing-feat-body,.landing-step-body,.landing-api-body,.landing-tg-body,.landing-footer-copy,.landing-cta-sub{font-weight:300}.landing-hero-body{max-width:46ch;margin:0 0 40px;color:var(--landing-ink-mid);font-size:clamp(15px,1.1vw,17px);line-height:1.68}.landing-hero-actions,.landing-cta-actions{display:flex;gap:12px;flex-wrap:wrap}.landing-pricing-page{background:radial-gradient(circle at top left,oklch(96% .05 82 / .75),transparent 28%),radial-gradient(circle at top right,oklch(90% .04 270 / .3),transparent 24%),var(--landing-bg)}.pricing-hero,.pricing-grid-shell,.pricing-compare,.pricing-bottom-cta{padding-inline:clamp(24px,6vw,64px)}.pricing-hero,.pricing-grid-shell,.pricing-bottom-cta{max-width:1320px;margin:0 auto}.pricing-hero{display:grid;gap:28px;padding-top:clamp(56px,10vh,120px);padding-bottom:36px}.pricing-hero-copy{max-width:720px}.pricing-hero-heading,.pricing-compare-heading,.pricing-bottom-heading,.pricing-card-name{font-family:Cormorant Garamond,serif;letter-spacing:-.03em}.pricing-hero-heading{margin:0 0 20px;color:var(--landing-ink);font-size:clamp(50px,6vw,88px);font-weight:600;line-height:.98}.pricing-hero-heading em,.pricing-bottom-heading em{color:var(--landing-amber)}.pricing-hero-body,.pricing-compare-copy,.pricing-card-desc,.pricing-note,.pricing-table-value,.pricing-table-label{color:var(--landing-ink-mid);font-weight:300}.pricing-hero-body{max-width:52ch;font-size:17px;line-height:1.72}.pricing-billing-chip{display:inline-flex;align-items:center;gap:14px;width:fit-content;max-width:100%;padding:12px 18px;border:1px solid oklch(82% .04 84);border-radius:999px;background:color-mix(in oklch,white 72%,var(--landing-amber-dim));color:var(--landing-ink);box-shadow:0 16px 36px #5b544914;flex-wrap:wrap}.pricing-billing-label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--landing-amber)}.pricing-billing-divider{width:1px;height:18px;background:var(--landing-line)}.pricing-billing-copy{font-size:14px;color:var(--landing-ink-mid)}.pricing-grid-shell{padding-top:24px;padding-bottom:clamp(56px,8vh,88px)}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.pricing-card{position:relative;display:grid;gap:20px;min-height:100%;padding:28px;border:1px solid var(--landing-line);border-radius:24px;background:linear-gradient(180deg,#ffffffbd,#fffcf4eb),var(--landing-bg);box-shadow:0 18px 42px #332d230f}.pricing-card-featured{border-color:color-mix(in oklch,var(--landing-amber) 50%,var(--landing-line));background:linear-gradient(180deg,#ffffffe0,#fdf2ddfa),var(--landing-bg);box-shadow:0 24px 56px #89704c24;transform:translateY(-10px)}.pricing-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.pricing-card-eyebrow{margin-bottom:8px;color:var(--landing-ink-soft);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.pricing-card-name{margin:0;color:var(--landing-ink);font-size:clamp(30px,3vw,40px);font-weight:600;line-height:1}.pricing-badge{padding:6px 10px;border-radius:999px;background:var(--landing-ink);color:var(--landing-bg);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.pricing-card-desc{min-height:72px;font-size:14px;line-height:1.7}.pricing-price-row{display:flex;align-items:flex-end;gap:8px}.pricing-price{color:var(--landing-ink);font-family:Cormorant Garamond,serif;font-size:clamp(48px,5vw,64px);font-weight:600;letter-spacing:-.04em;line-height:.9}.pricing-cadence{padding-bottom:8px;color:var(--landing-ink-soft);font-size:14px;letter-spacing:.03em}.pricing-note{font-size:12px;letter-spacing:.06em;text-transform:uppercase}.pricing-card-cta{justify-content:center;padding:14px 18px;border-radius:14px;font-size:14px;font-weight:600;letter-spacing:.03em}.pricing-card-cta-solid{background:var(--landing-ink);color:var(--landing-bg)}.pricing-card-cta-solid:hover{background:color-mix(in oklch,var(--landing-ink) 80%,var(--landing-amber))}.pricing-card-cta-ghost{border:1px solid var(--landing-line);color:var(--landing-ink);background:color-mix(in oklch,white 88%,var(--landing-bg))}.pricing-card-cta-ghost:hover{border-color:var(--landing-ink-mid);background:#fff}.pricing-divider{height:1px;background:var(--landing-line)}.pricing-bullets{display:grid;gap:12px;margin:0;padding:0;list-style:none}.pricing-bullets li{position:relative;padding-left:24px;color:var(--landing-ink-mid);font-size:14px;line-height:1.6}.pricing-bullets li:before{content:"•";position:absolute;left:8px;top:0;color:var(--landing-amber)}.pricing-compare{background:var(--landing-bg-2);border-top:1px solid var(--landing-line);border-bottom:1px solid var(--landing-line)}.pricing-compare-inner{max-width:1320px;margin:0 auto;padding-top:clamp(56px,8vh,96px);padding-bottom:clamp(56px,8vh,96px)}.pricing-compare-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:32px;align-items:end;margin-bottom:32px}.pricing-compare-heading{margin:0;color:var(--landing-ink);font-size:clamp(34px,4vw,58px);font-weight:600;line-height:1.02}.pricing-compare-copy{max-width:42ch;font-size:15px;line-height:1.72}.pricing-table{display:grid;gap:0;border:1px solid var(--landing-line);border-radius:24px;background:color-mix(in oklch,white 72%,var(--landing-bg));overflow:clip}.pricing-table-row{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(0,1fr));border-bottom:1px solid var(--landing-line)}.pricing-table-row:last-child{border-bottom:none}.pricing-table-label,.pricing-table-value{padding:18px 20px;font-size:14px;line-height:1.5}.pricing-table-label{color:var(--landing-ink);font-weight:500;background:color-mix(in oklch,white 30%,var(--landing-amber-dim))}.pricing-table-value{border-left:1px solid var(--landing-line)}.pricing-bottom-cta{padding-top:clamp(56px,8vh,92px);padding-bottom:clamp(56px,10vh,120px)}.pricing-bottom-cta-inner{display:grid;gap:28px;justify-items:center;padding:clamp(28px,4vw,44px);border:1px solid var(--landing-line);border-radius:28px;background:radial-gradient(circle at top,oklch(96% .06 78 / .75),transparent 42%),linear-gradient(180deg,#fffc,#faf5eaf0);text-align:center}.pricing-bottom-heading{margin:0;max-width:12ch;color:var(--landing-ink);font-size:clamp(34px,4vw,60px);font-weight:600;line-height:1.04}.landing-shelf-wrap{display:flex;flex-direction:column;align-items:center}.landing-shelf-scene{position:relative;width:100%;max-width:460px}.landing-shelf-scene:before{content:"";position:absolute;bottom:20px;left:50%;z-index:0;width:80%;height:60px;border-radius:50%;background:color-mix(in oklch,var(--landing-amber) 30%,transparent);filter:blur(32px);transform:translate(-50%)}.landing-shelf-books{position:relative;z-index:1;display:flex;align-items:flex-end;gap:7px;padding:0 8px;border-bottom:3px solid var(--landing-ink)}.landing-spine{position:relative;overflow:hidden;border-radius:3px 3px 0 0;flex-shrink:0;animation:landing-spine-float 6s ease-in-out infinite}.landing-spine:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,oklch(100% 0 0 / .22) 0%,transparent 50%)}.landing-spine:nth-child(1){animation-delay:0s;animation-duration:5.8s}.landing-spine:nth-child(2){animation-delay:.5s;animation-duration:6.2s}.landing-spine:nth-child(3){animation-delay:1s;animation-duration:5.5s}.landing-spine:nth-child(4){animation-delay:.25s;animation-duration:6.8s}.landing-spine:nth-child(5){animation-delay:.75s;animation-duration:5.9s}.landing-spine:nth-child(6){animation-delay:1.2s;animation-duration:6.4s}.landing-spine:nth-child(7){animation-delay:.4s;animation-duration:6.1s}.landing-spine:nth-child(8){animation-delay:.9s;animation-duration:5.7s}.landing-spine:nth-child(9){animation-delay:.15s;animation-duration:6.6s}.landing-spine-label{position:absolute;bottom:12px;left:50%;color:#fff6;font-family:Cormorant Garamond,serif;font-size:10px;font-style:italic;letter-spacing:.06em;white-space:nowrap;pointer-events:none;transform:translate(-50%) rotate(-90deg);transform-origin:center center}.landing-shelf-caption{margin-top:18px;color:var(--landing-ink-soft);font-family:Cormorant Garamond,serif;font-size:13px;font-style:italic;letter-spacing:.05em;text-align:center}.landing-shelf-stats{display:flex;gap:clamp(20px,4vw,48px);width:100%;max-width:460px;margin-top:32px;padding-top:28px;border-top:1px solid var(--landing-line)}.landing-stat{flex:1;text-align:center}.landing-stat-num{color:var(--landing-ink);font-family:Cormorant Garamond,serif;font-size:clamp(28px,3.5vw,40px);font-weight:600;letter-spacing:-.02em;line-height:1}.landing-stat-label{margin-top:5px;color:var(--landing-ink-soft);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.landing-section-tag{margin-bottom:52px}.landing-section-tag:after{flex:1;min-width:60px;background:var(--landing-line)}.landing-section-tag-tight{margin-bottom:24px}.landing-features,.landing-cta{padding:clamp(64px,11vh,128px) clamp(24px,6vw,64px)}.landing-features{border-top:1px solid var(--landing-line)}.landing-features-inner,.landing-api-inner,.landing-how-inner,.landing-tg-inner{max-width:1320px;margin:0 auto}.landing-feature-grid{display:grid;grid-template-columns:repeat(3,1fr)}.landing-feature-col{padding:0 clamp(24px,3.5vw,52px);border-right:1px solid var(--landing-line)}.landing-feature-col:first-child{padding-left:0}.landing-feature-col:last-child{padding-right:0;border-right:none}.landing-feat-num{margin-bottom:20px;color:var(--landing-line);font-family:Cormorant Garamond,serif;font-size:72px;font-weight:400;letter-spacing:-.04em;line-height:1}.landing-feat-title{margin:0 0 14px;color:var(--landing-ink);font-size:clamp(24px,2.2vw,32px);font-weight:600;line-height:1.15}.landing-feat-body,.landing-step-body,.landing-tg-body,.landing-api-body,.landing-cta-sub{color:var(--landing-ink-mid);font-size:14px;line-height:1.72}.landing-feat-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}.landing-pill{padding:3px 10px;border-radius:2px;background:var(--landing-amber-dim);color:var(--landing-amber);font-size:11px;font-weight:500;letter-spacing:.04em}.landing-how,.landing-tg{padding:clamp(64px,11vh,128px) clamp(24px,6vw,64px)}.landing-how{background:var(--landing-bg-2);border-top:1px solid var(--landing-line);border-bottom:1px solid var(--landing-line)}.landing-how-inner{display:grid;grid-template-columns:1fr 1.8fr;gap:clamp(48px,8vw,100px);align-items:start}.landing-how-heading,.landing-api-heading,.landing-tg-heading{margin:0;font-size:clamp(34px,3.8vw,56px);font-weight:600;line-height:1.1}.landing-how-heading{position:sticky;top:88px;color:var(--landing-ink)}.landing-steps,.landing-endpoint-list,.landing-tg-commands,.landing-tg-steps{display:flex;flex-direction:column}.landing-step{display:grid;grid-template-columns:28px 1fr;gap:24px;align-items:start;padding:32px 0;border-bottom:1px solid var(--landing-line)}.landing-step:first-child{padding-top:0}.landing-step:last-child{padding-bottom:0;border-bottom:none}.landing-step-n{padding-top:3px;color:var(--landing-amber);font-family:Cormorant Garamond,serif;font-size:18px;font-weight:600}.landing-step-title{margin-bottom:8px;color:var(--landing-ink);font-size:clamp(19px,1.8vw,24px);font-weight:600}.landing-api{background:var(--landing-bg-dark);padding:clamp(64px,11vh,128px) clamp(24px,6vw,64px)}.landing-api-inner{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(48px,8vw,100px);align-items:center}.landing-api-tag{margin-bottom:24px}.landing-api-tag:after{width:40px;background:#2b2c3d}.landing-api-heading{margin-bottom:20px;color:#eceef9;line-height:1.08}.landing-api-body{max-width:44ch;margin-bottom:36px;color:#848591;font-size:15px;line-height:1.68}.landing-endpoint-list{gap:10px}.landing-ep{display:flex;align-items:center;gap:12px;font-family:Fira Code,SF Mono,Cascadia Code,monospace;font-size:13px}.landing-method{min-width:46px;padding:2px 8px;border-radius:2px;font-size:10px;font-weight:700;letter-spacing:.06em;text-align:center}.landing-method-get{background:#0fa9742e;color:#25b27d}.landing-method-post{background:#64a1ee2e;color:#72aaf2}.landing-method-put{background:#cc87302e;color:#d78c29}.landing-ep-path{color:#a2a4b0}.landing-code-block{margin:0;padding:30px;border:1px solid var(--landing-line-dark);border-radius:10px;background:var(--landing-bg-dark-2);color:#bbbdcb;font-family:Fira Code,SF Mono,Cascadia Code,monospace;font-size:13px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.landing-tg{background:var(--landing-bg-2);border-top:1px solid var(--landing-line)}.landing-tg-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,8vw,100px);align-items:center}.landing-tg-heading{margin-bottom:20px;color:var(--landing-ink)}.landing-tg-body{max-width:46ch;margin-bottom:28px;font-size:15px;line-height:1.68}.landing-tg-commands{gap:8px;margin-bottom:32px}.landing-tg-cmd{display:flex;align-items:center;gap:10px;color:var(--landing-ink-mid);font-size:13px}.landing-tg-cmd-name{min-width:100px;padding:2px 8px;border-radius:3px;background:var(--landing-amber-dim);color:var(--landing-amber);font-family:Fira Code,SF Mono,monospace;font-size:12px;font-weight:500}.landing-btn-tg{padding:13px 28px;border-radius:var(--landing-radius);background:#0079a3;background:oklch(54% .16 232);color:#f2fafe;font-size:14px;font-weight:500;letter-spacing:.02em}.landing-btn-tg:hover{background:#00668b;background:oklch(48% .16 232);transform:translateY(-1px)}.landing-tg-right{display:flex;flex-direction:column;align-items:center;gap:32px}.landing-qr-frame{display:flex;flex-direction:column;align-items:center;gap:14px;width:fit-content;padding:24px;border:1px solid var(--landing-line);border-radius:16px;background:var(--landing-bg)}.landing-qr-img{display:block;border-radius:8px}.landing-qr-label{color:var(--landing-ink-soft);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.landing-tg-steps{gap:14px;width:100%;max-width:280px}.landing-tg-step{display:flex;align-items:center;gap:14px;color:var(--landing-ink-mid);font-size:14px;font-weight:300}.landing-tg-step-n{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--landing-amber-dim);color:var(--landing-amber);font-family:Cormorant Garamond,serif;font-size:16px;font-weight:600;flex-shrink:0}.landing-cta{border-top:1px solid var(--landing-line);text-align:center}.landing-cta-heading{margin:0 0 18px;color:var(--landing-ink);font-size:clamp(38px,5vw,72px);font-weight:600;line-height:1.08}.landing-cta-sub{margin-bottom:40px;font-size:16px}.landing-footer{display:flex;align-items:center;justify-content:space-between;padding:28px clamp(24px,6vw,64px);border-top:1px solid var(--landing-line)}.landing-footer-brand{font-size:22px}.landing-footer-copy{color:var(--landing-ink-soft);font-size:13px}.landing-reveal{opacity:0;transform:translateY(18px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}.landing-reveal.in{opacity:1;transform:none}@keyframes landing-spine-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@media(max-width:860px){.public-hero{grid-template-columns:1fr}}@media(max-width:960px){.landing-hero,.landing-feature-grid,.landing-how-inner,.landing-api-inner,.landing-tg-inner,.pricing-grid,.pricing-compare-head{grid-template-columns:1fr}.landing-feature-col{padding:0 0 40px;border-right:none;border-bottom:1px solid var(--landing-line)}.landing-feature-col:last-child{padding-bottom:0;border-bottom:none}.landing-how-heading{position:static}.landing-tg-right{order:-1}.landing-footer{flex-direction:column;gap:10px;text-align:center}.landing-nav-links{display:none}.pricing-card-featured{transform:none}.pricing-table-row{grid-template-columns:1fr}.pricing-table-value{border-left:none;border-top:1px solid var(--landing-line)}}@media(prefers-reduced-motion:reduce){.landing-spine{animation:none}.landing-reveal{opacity:1;transform:none;transition:none}}.book-detail-page,.book-detail-share-modal{--book-detail-text: #e7edf8;--book-detail-muted: #9bb0cf;--book-detail-line: color-mix(in oklab, var(--lumo-primary) 18%, #253044);--book-detail-panel: color-mix(in oklab, var(--lumo-night) 90%, #243018);--book-detail-panel-2: color-mix(in oklab, var(--lumo-night) 82%, #29381b);--book-detail-panel-soft: color-mix(in oklab, var(--lumo-night) 82%, #29381b);--book-detail-accent: var(--lumo-primary-bright);--book-detail-accent-strong: var(--lumo-primary);--accent: var(--book-detail-accent);--book-detail-backdrop: rgba(12, 16, 24, .42);--book-detail-shadow: rgba(18, 24, 38, .16)}html.light-theme .book-detail-page,html.light-theme .book-detail-share-modal{--book-detail-text: var(--lumo-light-text);--book-detail-muted: var(--lumo-light-muted);--book-detail-line: var(--lumo-light-line-soft);--book-detail-panel: var(--lumo-light-panel);--book-detail-panel-2: var(--lumo-light-panel-subtle);--book-detail-panel-soft: color-mix(in oklab, var(--lumo-light-panel-subtle) 76%, white);--book-detail-accent: color-mix(in oklab, var(--lumo-primary) 68%, #28765f);--book-detail-accent-strong: var(--lumo-primary);--accent: var(--book-detail-accent);--book-detail-backdrop: color-mix(in oklab, var(--lumo-light-bg) 78%, transparent);--book-detail-shadow: color-mix(in oklab, #38502d 18%, transparent)}.book-detail-page{display:grid;gap:0;width:100%;min-width:0;max-width:100%;overflow-x:hidden;overflow-x:clip;color:var(--book-detail-text)}html.light-theme .book-detail-page{background:linear-gradient(180deg,color-mix(in oklab,var(--lumo-primary-soft) 36%,transparent) 0%,transparent 220px),var(--lumo-light-bg)}.book-detail-back{display:inline-flex;justify-self:start;align-items:center;gap:6px;width:fit-content;color:var(--book-detail-muted);font-size:13px;margin:16px 0 0 20px;padding:0;text-decoration:none}.book-detail-layout{width:100%;max-width:1320px;margin:0 auto;padding:12px 20px 36px;display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:32px}.book-detail-rail{min-width:0;position:sticky;top:24px;align-self:start}.book-detail-rail-sticky{display:flex;flex-direction:column;gap:18px}.book-detail-rail-card,.book-detail-hero,.book-detail-module-card,.react-detail-card{background:var(--book-detail-panel);border:1px solid color-mix(in oklab,var(--book-detail-line) 88%,transparent);border-radius:28px;box-shadow:0 12px 28px var(--book-detail-shadow)}html.light-theme .book-detail-hero,html.light-theme .book-detail-module-card,html.light-theme .react-detail-card,html.light-theme .book-detail-rail-card{background:linear-gradient(180deg,color-mix(in oklab,var(--book-detail-panel) 96%,var(--lumo-primary-soft)) 0%,var(--book-detail-panel) 100%)}.book-detail-rail-card{overflow:visible;padding:0}.book-detail-main{width:100%;min-width:0;max-width:100%;contain:inline-size}.book-detail-cover-slot{display:flex;flex-direction:column;gap:0}.book-detail-cover-frame{position:relative;overflow:hidden;border-radius:28px 28px 0 0}.book-detail-cover-trigger{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}.book-detail-cover-trigger:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,color-mix(in oklab,black 14%,transparent));opacity:0;transition:opacity .16s ease;pointer-events:none}.book-detail-cover-frame:hover .book-detail-cover-trigger:after,.book-detail-cover-frame:focus-within .book-detail-cover-trigger:after{opacity:1}.book-detail-cover,.book-detail-cover-empty{display:block;width:100%;aspect-ratio:3 / 4.25;border-radius:0;object-fit:cover;border:0;background:var(--book-detail-panel-2)}.book-detail-cover-empty{display:flex;align-items:center;justify-content:center;color:var(--book-detail-muted);font-size:64px;font-weight:800}.book-detail-cover-badge{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid color-mix(in oklab,var(--book-detail-line) 66%,transparent);background:color-mix(in oklab,var(--book-detail-panel) 76%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--book-detail-text);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:lowercase;box-shadow:0 8px 18px #1018281a}.book-detail-rail-actions{display:flex;flex-direction:column;gap:12px;padding:18px 18px 20px}.book-detail-reader-link{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:14px 18px;border-radius:999px;background:var(--book-detail-panel-2);border:1px solid color-mix(in oklab,var(--book-detail-line) 88%,transparent);color:var(--book-detail-text);font-size:15px;font-weight:700;text-decoration:none}html.light-theme .book-detail-reader-link{background:linear-gradient(135deg,var(--book-detail-accent-strong),var(--lumo-primary-bright));border-color:color-mix(in oklab,var(--book-detail-accent-strong) 70%,var(--book-detail-line));color:var(--lumo-ink);box-shadow:0 10px 20px color-mix(in oklab,var(--book-detail-accent-strong) 20%,transparent)}html.light-theme .book-detail-reader-link:hover,html.light-theme .book-detail-reader-link:focus-visible{border-color:color-mix(in oklab,var(--book-detail-accent-strong) 86%,var(--book-detail-line));background:linear-gradient(135deg,var(--lumo-primary-bright),var(--book-detail-accent-strong))}html.dark-theme .book-detail-reader-link{background:#202b3f;border-color:#33445f;color:#f5f8ff;box-shadow:inset 0 1px #ffffff0a}html.dark-theme .book-detail-reader-link:hover,html.dark-theme .book-detail-reader-link:focus-visible{background:#27354d;border-color:#415676;color:#fff}.book-detail-cover-lightbox{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:color-mix(in oklab,var(--book-detail-backdrop) 92%,rgba(6,10,18,.84));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.book-detail-cover-lightbox-stage{width:min(92vw,760px)}.book-detail-cover-lightbox-image{display:block;width:100%;height:auto;max-height:calc(100vh - 88px);object-fit:contain;border-radius:28px;box-shadow:0 32px 64px color-mix(in oklab,var(--book-detail-shadow) 86%,transparent),0 0 0 1px color-mix(in oklab,white 16%,transparent)}.book-detail-cover-lightbox-close{position:absolute;top:22px;right:22px;min-height:40px;padding:0 14px;border:1px solid color-mix(in oklab,var(--book-detail-line) 72%,transparent);border-radius:999px;background:color-mix(in oklab,var(--book-detail-panel) 90%,transparent);color:var(--book-detail-text);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.book-detail-action-button{cursor:pointer;font:inherit}.book-detail-cover-actions{position:relative;z-index:8;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.book-detail-mini-btn,.book-detail-icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:999px;border:1px solid var(--book-detail-line);background:var(--book-detail-panel-2);color:var(--book-detail-text);cursor:pointer}html.light-theme .book-detail-mini-btn,html.light-theme .book-detail-icon-btn,html.light-theme .book-detail-enrich-btn{background:color-mix(in oklab,var(--book-detail-panel-2) 88%,var(--book-detail-panel))}.book-detail-mini-btn svg,.book-detail-icon-btn svg{width:16px;height:16px;stroke-width:2.1}.book-detail-mini-btn:after,.book-detail-icon-btn:after{content:attr(data-tooltip);position:absolute;left:50%;top:calc(100% + 14px);width:210px;transform:translate(-18%) translateY(-3px);padding:12px 14px;border-radius:16px;border:1px solid color-mix(in oklab,var(--book-detail-line) 88%,transparent);background:color-mix(in oklab,var(--book-detail-panel) 98%,transparent);color:var(--book-detail-muted);font-size:12px;font-weight:500;line-height:1.5;white-space:normal;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;z-index:6;box-shadow:0 18px 34px #0f172a29}.book-detail-mini-btn:before,.book-detail-icon-btn:before{content:"";position:absolute;left:50%;top:calc(100% + 8px);width:10px;height:10px;border-left:1px solid color-mix(in oklab,var(--book-detail-line) 88%,transparent);border-top:1px solid color-mix(in oklab,var(--book-detail-line) 88%,transparent);background:color-mix(in oklab,var(--book-detail-panel) 98%,transparent);transform:translate(-50%) rotate(45deg);opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;z-index:5}.book-detail-mini-btn:hover:after,.book-detail-mini-btn:hover:before,.book-detail-mini-btn:focus-visible:after,.book-detail-mini-btn:focus-visible:before,.book-detail-icon-btn:hover:after,.book-detail-icon-btn:hover:before,.book-detail-icon-btn:focus-visible:after,.book-detail-icon-btn:focus-visible:before{opacity:1}.book-detail-mini-btn:hover:after,.book-detail-mini-btn:focus-visible:after,.book-detail-icon-btn:hover:after,.book-detail-icon-btn:focus-visible:after{transform:translate(-18%) translateY(0)}.book-detail-icon-btn.is-on{border-color:color-mix(in oklab,var(--book-detail-accent-strong) 54%,transparent);background:color-mix(in oklab,var(--book-detail-accent-strong) 10%,var(--book-detail-panel));color:var(--book-detail-accent)}html.light-theme .book-detail-icon-btn.is-on,html.light-theme .book-detail-tab.active{border-color:color-mix(in oklab,var(--book-detail-accent-strong) 46%,var(--book-detail-line));background:color-mix(in oklab,var(--book-detail-accent-strong) 16%,var(--book-detail-panel));color:color-mix(in oklab,var(--book-detail-accent) 82%,var(--book-detail-text))}.book-detail-status-note,.book-detail-copy,.react-detail-copy,.react-similar-author{color:var(--book-detail-muted);font-size:13px;line-height:1.6}.book-detail-hero{padding:24px 26px 18px}.book-detail-head{display:flex;flex-direction:column;gap:14px}.book-detail-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--book-detail-accent)}.book-detail-title-input,.book-detail-author-input,.book-detail-title-static,.book-detail-author-static{width:100%;min-width:0;border:0;padding:0;background:transparent;font:inherit;outline:none}.book-detail-title-input,.book-detail-title-static{color:var(--book-detail-text);font-size:48px;font-weight:750;line-height:.98;letter-spacing:-.045em}.book-detail-author-row{display:flex;align-items:center;gap:8px;color:var(--book-detail-muted);font-size:20px;font-weight:600}.book-detail-author-icon{color:var(--book-detail-accent);font-size:18px;line-height:1}.book-detail-author-input,.book-detail-author-static{color:var(--book-detail-muted);font-size:20px;font-weight:600}.book-detail-action-row,.book-detail-inline-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.book-detail-action-notes{display:grid;gap:4px}.book-detail-hero-meta,.book-detail-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px}.book-detail-source-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 10px;border-radius:999px;border:1px solid color-mix(in oklab,var(--book-detail-line) 82%,transparent);background:color-mix(in oklab,var(--book-detail-panel) 94%,transparent);color:var(--book-detail-muted);font-size:12px;font-weight:700}html.light-theme .book-detail-source-chip{background:color-mix(in oklab,var(--book-detail-accent-strong) 9%,var(--book-detail-panel));border-color:color-mix(in oklab,var(--book-detail-accent-strong) 28%,var(--book-detail-line))}.book-detail-tabs{display:flex;flex-wrap:nowrap;gap:5px;margin-top:18px;padding-top:18px;border-top:1px solid color-mix(in oklab,var(--book-detail-line) 84%,transparent)}.book-detail-tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;min-width:0;padding:8px 11px;font-size:13px;font-weight:600;color:var(--book-detail-muted);border:1px solid transparent;border-radius:999px;background:transparent;text-decoration:none;cursor:pointer}.book-detail-tab svg{width:14px;height:14px;flex:0 0 auto}.book-detail-tab span{min-width:0;white-space:nowrap}.book-detail-tab.active{color:var(--book-detail-accent);border-color:color-mix(in oklab,var(--book-detail-accent-strong) 34%,var(--book-detail-line));background:color-mix(in oklab,var(--book-detail-accent-strong) 10%,var(--book-detail-panel))}@media(max-width:780px){.book-detail-tabs{gap:4px}.book-detail-tab{width:34px;height:34px;padding:0}.book-detail-tab span{display:none}}.book-detail-content{width:100%;min-width:0;max-width:100%;margin:0;padding:24px 0 0;display:grid;gap:20px;contain:inline-size}.book-detail-content>*{width:100%;min-width:0;justify-self:stretch}.book-detail-module-card,.react-detail-card{padding:18px}.book-detail-module-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.book-detail-enrich-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--book-detail-line);background:var(--book-detail-panel-2);color:var(--book-detail-text);border-radius:10px;padding:7px 10px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.book-detail-enrich-btn:hover{border-color:var(--book-detail-accent);color:var(--book-detail-accent)}.book-detail-enrich-btn:disabled{opacity:.65;cursor:wait}.book-detail-status-banner{padding:12px 14px;border-radius:14px;background:color-mix(in oklab,var(--book-detail-accent-strong) 10%,var(--book-detail-panel));color:var(--book-detail-text)}.book-detail-head-with-icon{display:inline-flex;align-items:center;gap:8px}.book-detail-head-icon{width:16px;height:16px;color:var(--book-detail-accent);opacity:.9}.book-detail-head-icon svg{display:block;width:100%;height:100%}.book-detail-share-modal{position:fixed;inset:0;z-index:82;display:flex;align-items:flex-start;justify-content:center;padding:clamp(22px,4vw,42px) 20px 48px;background:var(--book-detail-backdrop)}.book-detail-share-card{position:relative;width:min(860px,100%);margin-top:clamp(6px,3vh,30px);padding:22px;border-radius:28px;border:1px solid color-mix(in oklab,var(--book-detail-line) 80%,transparent);background:var(--book-detail-panel);box-shadow:0 16px 36px #00000029}.book-detail-share-card .notice{border-radius:16px;border-color:color-mix(in oklab,var(--book-detail-accent) 28%,var(--book-detail-line));background:color-mix(in oklab,var(--book-detail-accent) 14%,var(--book-detail-panel));color:var(--book-detail-text)}.book-detail-share-close{position:absolute;top:18px;right:18px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:999px;border:1px solid color-mix(in oklab,var(--book-detail-line) 86%,transparent);background:color-mix(in oklab,var(--book-detail-panel-2) 84%,var(--book-detail-panel));color:var(--book-detail-text);font-size:28px;line-height:1;cursor:pointer}.book-detail-module-card h3,.react-detail-card-title{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--book-detail-muted);text-transform:uppercase;letter-spacing:.05em}.book-detail-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;font-size:14px}.book-detail-meta-label{color:var(--book-detail-muted);font-size:12px}.book-detail-meta-value{color:var(--book-detail-text);font-weight:500;overflow-wrap:anywhere}.book-detail-profile-grid{display:block}.book-detail-richtext{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.book-detail-richtext p{margin:0 0 8px}.book-detail-richtext p:last-child{margin-bottom:0}.book-detail-richtext h1,.book-detail-richtext h2,.book-detail-richtext h3{margin:12px 0 6px;font-size:15px}.book-detail-richtext ul,.book-detail-richtext ol{margin:0 0 12px 18px;padding:0}.book-detail-richtext li{margin:0 0 6px}.book-detail-richtext blockquote{margin:14px 0;padding-left:14px;border-left:2px solid color-mix(in oklab,var(--book-detail-accent) 32%,var(--book-detail-line));color:var(--book-detail-muted)}.book-detail-richtext table{width:100%;border-collapse:collapse;font-size:13px}.book-detail-richtext th,.book-detail-richtext td{padding:5px 8px;border:1px solid var(--book-detail-line);text-align:left}.book-detail-richtext th{background:var(--book-detail-panel-2)}.book-detail-richtext mark{background:none;background-image:linear-gradient(104deg,transparent .9%,rgba(var(--mc),.3) 2.4%,rgba(var(--mc),.42) 85%,rgba(var(--mc),.22) 94%,transparent 97%),linear-gradient(183deg,transparent 0%,rgba(var(--mc),.18) 9%,transparent 18%);border-radius:.35em;padding:.02em .25em .18em;color:inherit;text-decoration:underline wavy rgba(var(--mc),.65);text-decoration-thickness:1.5px;text-underline-offset:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone}.book-detail-richtext mark.mc-0{--mc: 255, 100, 100}.book-detail-richtext mark.mc-1{--mc: 14, 165, 233}.book-detail-richtext mark.mc-2{--mc: 16, 185, 129}.book-detail-richtext mark.mc-3{--mc: 251, 140, 0}.book-detail-richtext mark.mc-4{--mc: 167, 119, 252}.book-detail-annotation-count{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;padding:0 10px;border:1px solid color-mix(in oklab,var(--book-detail-accent) 28%,var(--book-detail-line));border-radius:999px;background:color-mix(in oklab,var(--book-detail-accent) 9%,transparent);color:var(--book-detail-accent);font-size:13px;font-weight:800}.book-detail-annotation-list{display:grid;gap:12px;margin-top:14px}.book-detail-annotation-item{position:relative;display:grid;gap:10px;padding:15px 16px 15px 18px;border:1px solid color-mix(in oklab,var(--book-detail-line) 88%,transparent);border-radius:12px;background:color-mix(in oklab,var(--book-detail-panel) 72%,transparent)}.book-detail-annotation-item.has-note{background:color-mix(in oklab,var(--book-detail-accent) 5%,var(--book-detail-panel))}.book-detail-annotation-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--book-detail-muted);font-size:12px;line-height:1.4}.book-detail-annotation-chip{color:var(--book-detail-accent);font-weight:800}.book-detail-annotation-quote{margin:0;color:var(--book-detail-text);font-size:15px;line-height:1.7}.book-detail-annotation-note{color:var(--book-detail-text);font-size:14px;font-weight:650;line-height:1.65}.book-detail-annotation-note.compact{color:var(--book-detail-muted);font-weight:500}.book-detail-annotation-empty{color:var(--book-detail-muted);font-size:13px;font-style:italic}.book-detail-annotation-color{position:absolute;top:14px;bottom:14px;left:0;width:4px;border-radius:0 999px 999px 0}.book-detail-richtext del,.book-detail-richtext s,.book-detail-richtext strike{color:color-mix(in oklab,var(--book-detail-muted) 84%,var(--book-detail-text));text-decoration-line:line-through;text-decoration-color:color-mix(in oklab,var(--book-detail-accent) 46%,var(--book-detail-line));text-decoration-thickness:1.6px;text-decoration-skip-ink:none}.book-detail-richtext ins,.book-detail-richtext u{text-decoration-line:underline;text-decoration-color:color-mix(in oklab,var(--book-detail-accent) 58%,transparent);text-decoration-thickness:1.6px;text-underline-offset:3px}.react-book-detail{display:grid;gap:18px}.react-book-back-row{display:flex;justify-content:flex-start}.react-book-hero{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:24px;padding:22px;border-radius:24px;border:1px solid var(--book-detail-line);background:var(--book-detail-panel)}.react-book-cover-shell{min-width:0}.react-book-cover-tools{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.react-book-cover,.react-book-cover-empty{display:block;width:100%;aspect-ratio:3 / 4.2;border-radius:20px;border:1px solid var(--book-detail-line);background:var(--book-detail-panel-2)}.react-book-cover{object-fit:cover}.react-book-cover-empty{display:flex;align-items:center;justify-content:center;font-size:72px;font-weight:800;color:var(--book-detail-muted)}.react-book-head,.react-book-detail-grid{display:grid;gap:16px}.react-book-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--book-detail-accent)}.react-book-title{margin:0;font-size:46px;line-height:.98;letter-spacing:-.04em}.react-book-title-input,.react-book-author-input{width:100%;min-width:0;border:0;padding:0;background:transparent;color:inherit;font:inherit}.react-book-title-input{font-size:46px;line-height:.98;letter-spacing:-.04em;font-weight:800}.react-book-author,.react-detail-copy,.react-similar-author{color:var(--book-detail-muted);line-height:1.6}.react-book-author{font-size:18px;font-weight:600}.react-book-author-input{font-size:18px;font-weight:600;color:var(--book-detail-muted)}.react-book-actions,.react-detail-pills{display:flex;flex-wrap:wrap;gap:10px}.react-book-source-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.react-source-chip{display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border-radius:999px;border:1px solid var(--book-detail-line);background:var(--book-detail-panel-2);color:color-mix(in oklab,var(--book-detail-text) 78%,white);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.react-circle-action,.react-icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;min-width:34px;height:34px;padding:0;border-radius:999px}.react-circle-action{border:1px solid var(--book-detail-line);background:var(--book-detail-panel-2);color:var(--book-detail-text)}.react-circle-action.is-on{border-color:color-mix(in oklab,var(--book-detail-accent-strong) 52%,var(--book-detail-line));background:color-mix(in oklab,var(--book-detail-accent-strong) 14%,var(--book-detail-panel-2));color:var(--book-detail-accent)}.react-inline-status{color:var(--book-detail-muted);font-size:12.5px;line-height:1.55}.react-detail-pill{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--book-detail-line);background:var(--book-detail-panel-2);color:color-mix(in oklab,var(--book-detail-text) 78%,white);font-size:12px}.react-book-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.react-detail-card{display:grid;gap:12px;padding:18px;border-radius:20px;border:1px solid var(--book-detail-line);background:var(--book-detail-panel)}.react-detail-card-wide{grid-column:1 / -1;width:100%;min-width:0;justify-self:stretch}.react-detail-card-title,.react-module-subtitle,.react-similar-title{font-weight:800}.react-detail-card-title{font-size:15px;letter-spacing:.02em;text-transform:uppercase;color:var(--book-detail-muted)}.react-module-subtitle{font-size:13px;color:color-mix(in oklab,var(--book-detail-text) 78%,white)}.react-video-grid,.react-similar-grid{display:grid;gap:12px}.react-video-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.react-video-item,.react-similar-item{border:1px solid var(--book-detail-line);border-radius:14px;background:var(--book-detail-panel-2);color:inherit;text-decoration:none}.react-video-item{overflow:hidden}.react-video-thumb,.react-video-thumb-empty{display:block;width:100%;aspect-ratio:16 / 9;background:color-mix(in oklab,var(--book-detail-panel) 82%,black)}.react-video-thumb{object-fit:cover}.react-video-title,.react-similar-item{padding:10px 12px}.react-similar-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.react-similar-title{font-size:14px;margin-bottom:4px}.react-similar-reason{font-size:13px;line-height:1.55}.react-timeline{display:grid;gap:16px}.react-session-card{display:grid;gap:14px;padding:16px;border-radius:18px;border:1px solid var(--book-detail-line);background:var(--book-detail-panel-2)}.react-session-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.react-session-title{font-size:16px;font-weight:800;color:var(--book-detail-text)}.react-session-meta,.react-event-top{font-size:12px;color:var(--book-detail-muted)}.react-session-events{display:grid;gap:10px}.book-detail-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.book-detail-stat-card{border:1px solid var(--book-detail-line);border-radius:20px;padding:18px 18px 16px;background:var(--book-detail-panel-2)}.book-detail-stat-value{font-size:clamp(1.8rem,3.4vw,2.7rem);font-weight:800;line-height:1;color:var(--book-detail-text)}.book-detail-stat-label{margin-top:10px;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--book-detail-muted)}.book-detail-stat-help{margin:8px 0 0;font-size:.92rem;line-height:1.5;color:var(--book-detail-muted)}.book-detail-stats-sessions{margin-top:28px}.book-detail-stats-session-list{display:grid;gap:12px;margin-top:12px}.book-detail-stats-session{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border:1px solid var(--book-detail-line);border-radius:18px;background:var(--book-detail-panel-2)}.book-detail-stats-session-title{font-size:15px;font-weight:700;color:var(--book-detail-text)}.book-detail-stats-session-meta{margin-top:4px;font-size:.95rem;color:var(--book-detail-muted)}.book-detail-stats-session-duration{font-size:1.05rem;font-weight:700;white-space:nowrap;color:var(--book-detail-text)}.book-detail-chat-thread{display:grid;gap:14px}.book-detail-chat-message{display:flex}.book-detail-chat-message.assistant{justify-content:flex-start}.book-detail-chat-message.user{justify-content:flex-end}.book-detail-chat-bubble{display:grid;gap:8px;max-width:min(760px,86%);padding:16px 18px 14px;border-radius:22px;border:1px solid var(--book-detail-line);background:var(--book-detail-panel-2)}.book-detail-chat-message.user .book-detail-chat-bubble{background:color-mix(in oklab,var(--accent) 12%,var(--book-detail-panel-2))}.book-detail-chat-label{font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--book-detail-muted)}.book-detail-chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.book-detail-chat-context-wrap{position:relative;display:inline-flex;align-items:center}.book-detail-chat-context-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid var(--book-detail-line);border-radius:999px;background:transparent;color:var(--book-detail-muted);cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.book-detail-chat-context-btn:hover,.book-detail-chat-context-btn.active{border-color:color-mix(in oklab,var(--accent) 36%,var(--book-detail-line));background:color-mix(in oklab,var(--accent) 10%,transparent);color:var(--book-detail-text)}.book-detail-chat-context-btn svg{width:14px;height:14px}.book-detail-chat-context-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:10;width:min(420px,calc(100vw - 64px));padding:12px 14px;border-radius:16px;border:1px solid color-mix(in oklab,var(--book-detail-line) 88%,var(--book-detail-text) 12%);background:color-mix(in oklab,var(--book-detail-panel) 96%,black 4%);color:var(--book-detail-text);opacity:1;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 18px 38px #0f172a38}.book-detail-chat-context-title{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--book-detail-muted)}.book-detail-chat-context-copy{margin-top:8px;white-space:pre-wrap;line-height:1.6;color:var(--book-detail-text)}.book-detail-chat-copy{white-space:pre-wrap;line-height:1.65;color:var(--book-detail-text)}.book-detail-chat-copy.md-body{white-space:normal}.book-detail-chat-meta{font-size:.88rem;color:var(--book-detail-muted)}.book-detail-memory-intro{margin:-6px 0 0;color:var(--book-detail-muted);font-size:13px;line-height:1.55}.book-detail-memory-grid{display:grid;gap:14px}.book-detail-memory-block{display:grid;gap:10px;min-width:0;padding:16px 18px;border:1px solid var(--book-detail-line);border-radius:18px;background:var(--book-detail-panel-2)}.book-detail-memory-label{color:var(--book-detail-muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.book-detail-memory-copy{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--book-detail-text);font-size:13px;line-height:1.65}.react-event-row{display:grid;gap:8px;padding:12px 13px;border-radius:14px;border:1px solid var(--book-detail-line);background:var(--book-detail-panel)}.react-event-row[data-type=question]{border-color:color-mix(in oklab,var(--book-detail-accent) 40%,var(--book-detail-line))}.react-event-row[data-type=reader]{border-color:color-mix(in oklab,var(--lumo-primary) 42%,var(--book-detail-line))}.react-event-row[data-type=image],.react-event-row[data-type=voice]{border-color:color-mix(in oklab,#d69b4d 38%,var(--book-detail-line))}.react-event-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.react-event-label{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:color-mix(in oklab,var(--book-detail-panel-2) 84%,#203246);color:color-mix(in oklab,var(--book-detail-text) 86%,white);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.react-event-text{white-space:pre-wrap;word-break:break-word;color:var(--book-detail-text);line-height:1.65}.react-event-image{display:block;max-width:min(100%,420px);width:100%;border-radius:14px;border:1px solid var(--book-detail-line);background:color-mix(in oklab,var(--book-detail-panel) 82%,black)}.react-pages-layout{display:grid;gap:18px}.react-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.react-page-thumb{display:grid;gap:8px;padding:10px;border-radius:16px;border:1px solid var(--book-detail-line);background:var(--book-detail-panel-2);color:inherit;text-align:left}.react-page-thumb.is-active{border-color:color-mix(in oklab,var(--book-detail-accent-strong) 60%,var(--book-detail-line));box-shadow:0 0 0 1px color-mix(in oklab,var(--book-detail-accent-strong) 55%,transparent)}.react-page-thumb-image,.react-page-image{display:block;width:100%;border-radius:12px;background:color-mix(in oklab,var(--book-detail-panel) 82%,black)}.react-page-thumb-image{aspect-ratio:3 / 4;object-fit:cover;border:1px solid var(--book-detail-line)}.react-page-thumb-empty{border:1px dashed var(--book-detail-line)}.react-page-thumb-label{font-size:12px;font-weight:700;color:color-mix(in oklab,var(--book-detail-text) 78%,white)}.react-page-viewer,.react-page-panel,.react-page-original,.react-page-ocr{display:grid;gap:14px}.react-page-compare{display:grid;gap:16px;align-items:start}.react-page-compare.has-ocr{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)}.react-page-image{max-width:min(100%,920px);border:1px solid var(--book-detail-line)}.react-page-actions{display:flex;align-items:center;gap:10px;min-height:36px}.react-page-action-button{display:inline-flex;align-items:center;justify-content:center;width:36px;min-width:36px;height:36px;padding:0;border-radius:999px;border:1px solid var(--book-detail-line);background:var(--book-detail-panel-2);color:color-mix(in oklab,var(--book-detail-text) 82%,white)}.react-page-action-button svg{width:18px;height:18px}.react-page-action-button:hover:not(:disabled),.react-page-action-button:focus-visible:not(:disabled){border-color:color-mix(in oklab,var(--book-detail-accent-strong) 55%,var(--book-detail-line));color:var(--book-detail-accent)}.react-page-action-button:disabled{cursor:default;opacity:.56}.react-page-ocr{padding:16px;border-radius:16px;border:1px solid var(--book-detail-line);background:var(--book-detail-panel-2)}@media(max-width:900px){.react-page-compare.has-ocr{grid-template-columns:1fr}}.react-share-panel-target.is-targeted{border-radius:28px}.react-share-panel,.react-share-link-card,.react-share-claims,.react-share-form{display:grid;gap:14px}.react-share-panel{gap:18px}.react-share-panel-empty{gap:14px}.react-share-module-head{margin-bottom:0}.react-share-module-head h3{margin:0}.react-share-empty-card{display:grid;gap:8px;padding:16px 18px;border-radius:16px;border:1px dashed color-mix(in oklab,var(--book-detail-line) 86%,transparent);background:color-mix(in oklab,var(--book-detail-panel-2) 84%,var(--book-detail-panel))}.react-share-empty-card-simple{padding:20px;border-style:solid}.react-share-subtitle,.react-share-footer-copy,.react-share-meta,.react-share-empty{margin:0;color:var(--book-detail-muted);font-size:13px;line-height:1.5}.react-share-link-card{padding:14px 16px;border-radius:16px;border:1px solid var(--book-detail-line);background:var(--book-detail-panel-2)}.react-share-link-label,.react-share-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.react-share-link-label{color:var(--book-detail-text);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.react-share-link-icon{display:inline-flex;width:14px;height:14px;color:var(--book-detail-accent)}.react-share-link-label>span:last-child{display:inline-flex;align-items:center;gap:8px}.react-share-link-top,.react-share-actions,.react-share-claim{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.react-share-url{font-size:15px;line-height:1.45;color:var(--book-detail-text);word-break:break-word}.react-share-field{display:grid;gap:8px}.react-share-field span{font-size:12px;color:var(--book-detail-muted);text-transform:uppercase;letter-spacing:.08em}.react-share-config{display:grid;grid-template-columns:minmax(140px,180px) minmax(0,1fr);gap:14px;align-items:start}.react-share-field-compact{padding:14px;border-radius:14px;border:1px solid var(--book-detail-line);background:var(--book-detail-panel-2)}.react-share-number{max-width:100%}.react-share-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.react-share-choice-grid .list-btn,.react-share-choice-grid .list-btn-primary{min-height:42px;border-radius:12px;font-weight:700}.react-share-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.react-share-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.react-share-stat,.react-share-claim{padding:14px 16px;border-radius:14px;border:1px solid var(--book-detail-line);background:color-mix(in oklab,var(--book-detail-panel-2) 82%,var(--book-detail-panel))}.react-share-stat{display:grid;gap:4px;min-height:84px}.react-share-stat strong{font-size:22px;line-height:1;color:var(--book-detail-text)}.react-share-stat span,.react-share-claim-name,.react-inline-link{color:var(--book-detail-text)}.react-inline-link{font-size:13px;text-decoration:none}.react-share-claims{padding:16px;border-radius:16px;border:1px solid var(--book-detail-line);background:color-mix(in oklab,var(--book-detail-panel-2) 78%,var(--book-detail-panel))}.react-share-claims-list{display:grid;gap:10px}.react-share-claim{align-items:center}.react-share-claim-main{display:grid;gap:4px}@media(max-width:900px){.book-detail-layout,.react-book-hero,.react-book-detail-grid{grid-template-columns:1fr}.book-detail-rail{position:static}.book-detail-profile-grid,.book-detail-hero-meta,.react-share-config,.react-share-choice-grid,.react-share-stats{grid-template-columns:1fr}.react-share-footer{align-items:stretch}}.lists-shell{--text: #e7edf8;--muted: #9bb0cf;--line: color-mix(in oklab, var(--lumo-primary) 18%, #253044);--panel: color-mix(in oklab, var(--lumo-night) 90%, #243018);--panel-subtle: color-mix(in oklab, var(--lumo-night) 82%, #29381b);--accent: var(--lumo-primary);display:grid;gap:22px}.lists-topbar{display:grid;gap:4px}.lists-title{margin:0;font-size:24px;line-height:1.05;font-weight:860;letter-spacing:0}.lists-copy{margin:0;color:var(--muted);font-size:12.5px;line-height:1.6}.lists-input{height:44px;border-radius:14px;border:1px solid var(--line);background:var(--panel-subtle);color:var(--text);padding:0 13px;font:inherit}.lists-input:focus{outline:none;border-color:var(--accent);background:var(--panel)}.lists-inline-error{min-height:18px;color:#c54c4c;font-size:12px}.lists-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));gap:18px}.list-create-card{display:grid;gap:12px;width:100%;min-width:0;padding:12px;border-radius:18px;border:1px dashed color-mix(in oklab,var(--accent) 38%,var(--line));background:var(--panel);color:var(--text);cursor:pointer;text-align:left;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.list-create-card:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--accent) 60%,var(--line));box-shadow:0 10px 20px #00000014}.list-create-visual{position:relative;width:auto;min-width:0;aspect-ratio:3 / 4;border-radius:14px;background:var(--panel-subtle)}.list-create-plus{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.list-create-plus span{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:16px;background:color-mix(in oklab,var(--panel) 84%,transparent);border:1px solid color-mix(in oklab,var(--accent) 34%,var(--line));box-shadow:none;font-size:28px;font-weight:400;line-height:1;color:var(--accent)}.list-create-title{font-size:15px;font-weight:830;line-height:1.22;color:var(--text);overflow-wrap:anywhere}.list-create-copy{font-size:12px;line-height:1.6;color:color-mix(in oklab,var(--text) 72%,var(--muted));overflow-wrap:anywhere}.list-card{display:grid;grid-template-rows:auto 1fr;gap:10px;height:100%;padding:0;border-radius:14px;border:1px solid color-mix(in oklab,var(--line) 86%,transparent);background:var(--panel);box-shadow:0 6px 16px #0000000f;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;align-items:start;overflow:hidden}.list-card:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--accent) 30%,var(--line));box-shadow:0 10px 20px #00000014}.list-cover-composite{position:relative;width:100%;aspect-ratio:3 / 4;display:block;border-radius:0;overflow:hidden;border:0;background:var(--panel-subtle);box-shadow:none}.list-cover-composite:before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:transparent}.list-cover-composite:after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff0f}.list-cover-ribbon{position:absolute;top:14px;right:-34px;z-index:6;display:inline-flex;align-items:center;justify-content:center;width:128px;height:26px;background:linear-gradient(135deg,#ff7a18,#f59e0b 46%,#facc15);color:#1f1300;border:1px solid rgba(255,237,150,.58);box-shadow:0 10px 22px #f59e0b57,0 2px 6px #0000002e;font-size:10px;font-weight:850;letter-spacing:.08em;line-height:1;text-transform:uppercase;pointer-events:none;transform:rotate(38deg);transform-origin:center}.list-cover-piece{position:absolute;overflow:hidden}.list-cover-piece img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.94) contrast(1.02)}.list-cover-piece-empty{background:var(--panel-subtle)}.list-cover-piece-empty:after{content:"";position:absolute;inset:22%;border-radius:999px;border:1px solid color-mix(in oklab,var(--line) 70%,transparent);opacity:.32}.list-cover-composite[data-count="1"] .list-cover-piece-1{left:0;top:0;width:100%;height:100%}.list-cover-composite[data-count="2"] .list-cover-piece-1{left:0;top:0;width:50%;height:100%}.list-cover-composite[data-count="2"] .list-cover-piece-2{left:50%;top:0;width:50%;height:100%}.list-cover-composite[data-count="3"] .list-cover-piece-1{left:0;top:0;width:60%;height:100%}.list-cover-composite[data-count="3"] .list-cover-piece-2{left:60%;top:0;width:40%;height:50%}.list-cover-composite[data-count="3"] .list-cover-piece-3{left:60%;top:50%;width:40%;height:50%}.list-cover-composite[data-count="4"] .list-cover-piece-1{left:0;top:0;width:50%;height:50%}.list-cover-composite[data-count="4"] .list-cover-piece-2{left:50%;top:0;width:50%;height:50%}.list-cover-composite[data-count="4"] .list-cover-piece-3{left:0;top:50%;width:50%;height:50%}.list-cover-composite[data-count="4"] .list-cover-piece-4{left:50%;top:50%;width:50%;height:50%}.list-cover-composite[data-count="5"] .list-cover-piece-1{left:0;top:0;width:50%;height:50%}.list-cover-composite[data-count="5"] .list-cover-piece-2{left:50%;top:0;width:50%;height:50%}.list-cover-composite[data-count="5"] .list-cover-piece-3{left:0;top:50%;width:33.333%;height:50%}.list-cover-composite[data-count="5"] .list-cover-piece-4{left:33.333%;top:50%;width:33.333%;height:50%}.list-cover-composite[data-count="5"] .list-cover-piece-5{left:66.666%;top:50%;width:33.334%;height:50%}.list-cover-composite[data-count="6"] .list-cover-piece-1,.list-cover-piece-1{left:0;top:0;width:33.333%;height:50%}.list-cover-composite[data-count="6"] .list-cover-piece-2,.list-cover-piece-2{left:33.333%;top:0;width:33.333%;height:50%}.list-cover-composite[data-count="6"] .list-cover-piece-3,.list-cover-piece-3{left:66.666%;top:0;width:33.334%;height:50%}.list-cover-composite[data-count="6"] .list-cover-piece-4,.list-cover-piece-4{left:0;top:50%;width:33.333%;height:50%}.list-cover-composite[data-count="6"] .list-cover-piece-5,.list-cover-piece-5{left:33.333%;top:50%;width:33.333%;height:50%}.list-cover-composite[data-count="6"] .list-cover-piece-6,.list-cover-piece-6{left:66.666%;top:50%;width:33.334%;height:50%}.list-cover-tooltip{position:absolute;left:12px;right:12px;bottom:12px;padding:9px 10px;border-radius:10px;background:#111827eb;color:#fff;font-size:11.5px;line-height:1.45;opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .12s ease,transform .12s ease;z-index:6;box-shadow:none}.list-cover-composite:hover .list-cover-tooltip,.list-cover-composite:focus-visible .list-cover-tooltip{opacity:1;transform:translateY(0)}.list-card-body{display:grid;grid-template-rows:auto 1fr auto;gap:10px;min-width:0;height:100%;padding:0 16px 16px}.list-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.list-card-title{font-size:15px;font-weight:830;line-height:1.22;word-break:keep-all;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none}.list-card-meta{display:grid;gap:2px;font-size:12px;line-height:1.6;color:var(--muted);min-width:0}.list-card-owner{overflow-wrap:anywhere}.list-pill{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;border:1px solid color-mix(in oklab,var(--line) 84%,transparent);background:color-mix(in oklab,var(--panel-subtle) 88%,transparent);font-size:10.5px;font-weight:800;color:var(--muted);flex:0 0 auto;max-width:100%}.list-status-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;border:1px solid color-mix(in oklab,var(--line) 84%,transparent);background:color-mix(in oklab,var(--panel-subtle) 88%,transparent);color:var(--muted);cursor:help;flex:0 0 auto}.list-status-icon svg{width:13px;height:13px}.list-status-icon:after{content:attr(data-tooltip);position:absolute;right:0;bottom:calc(100% + 8px);padding:6px 9px;border-radius:8px;background:#111827f0;color:#fff;font-size:11px;font-weight:700;letter-spacing:.01em;white-space:nowrap;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease;box-shadow:0 10px 20px #0f172a2e;z-index:5}.list-status-icon:hover:after,.list-status-icon:focus-visible:after{opacity:1;transform:translateY(0)}.list-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.list-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:var(--panel-subtle);color:var(--text);font-size:11.5px;font-weight:800;cursor:pointer;text-decoration:none}.list-btn:hover{border-color:var(--accent)}.list-btn-primary{background:color-mix(in oklab,var(--accent) 88%,#6ea8ff);border-color:transparent;color:#fff}.list-btn:disabled{opacity:.7;cursor:wait}.list-btn svg{width:13px;height:13px;flex:0 0 auto}.list-card-link{display:block;flex:1 1 auto;min-width:0;color:var(--text);text-decoration:none}.modal-backdrop{--text: #e7edf8;--muted: #9bb0cf;--line: color-mix(in oklab, var(--lumo-primary) 18%, #253044);--panel: color-mix(in oklab, var(--lumo-night) 90%, #243018);--panel-subtle: color-mix(in oklab, var(--lumo-night) 82%, #29381b);--accent: var(--lumo-primary);position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:20px;background:#0a0c128f;z-index:260}.modal-backdrop.open{display:flex}.modal{width:min(520px,100%);background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 12px 28px #0000002e;display:grid;gap:14px}.modal-head{display:grid;gap:6px}.modal-kicker{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.modal-title{margin:0;font-size:24px;font-weight:860;letter-spacing:0}.modal-copy{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.modal-form{display:grid;gap:10px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.modal-close{background:transparent}.list-section{display:grid;gap:12px}.list-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.list-section-title{font-size:20px;font-weight:850;letter-spacing:0}.list-section-copy{font-size:12.5px;line-height:1.6;color:var(--muted)}.library-graph-page{background:#f7f7f7;border:1px solid color-mix(in oklab,var(--line) 84%,transparent);border-radius:26px;display:flex;flex-direction:column;min-height:min(78vh,920px);box-shadow:0 12px 28px #0000000f}.library-graph-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid color-mix(in oklab,var(--line) 82%,transparent);background:#fff}.library-graph-title{font-size:18px;font-weight:800}.library-graph-sub{font-size:12px;color:var(--muted);margin-top:2px}.library-graph-body{position:relative;width:100%;height:calc(100vh - 160px);min-height:560px;background:radial-gradient(circle,rgba(0,0,0,.055) 1px,transparent 1px),#f4f4f4;background-size:28px 28px,auto;border-radius:20px;border:1px solid color-mix(in oklab,var(--line) 84%,transparent)}#library-graph-container{width:100%;height:100%;position:absolute;inset:0}#library-graph-container canvas{display:block;touch-action:none}#library-graph-container .graph-tooltip{background:none!important;border:none!important;padding:0!important;box-shadow:none!important;color:inherit!important}.library-graph-notice{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;pointer-events:none}.library-graph-notice-card{max-width:680px;text-align:left;border:1px solid color-mix(in oklab,var(--line) 88%,transparent);border-radius:14px;padding:16px 18px;background:var(--panel);box-shadow:0 6px 16px #0000000f}.library-graph-notice-title{font-size:15px;font-weight:760;color:var(--text);margin:0 0 6px}.library-graph-notice-text{font-size:13px;line-height:1.65;color:var(--muted);margin:0}.react-graph-actions{display:flex;flex-wrap:wrap;gap:10px}.react-graph-actions .secondary-link.active{border-color:color-mix(in oklab,var(--accent) 70%,var(--line));background:color-mix(in oklab,var(--accent) 12%,var(--panel-subtle));color:var(--text)}.globe-page-react{background:var(--panel);border-top:1px solid color-mix(in oklab,var(--line) 82%,transparent);display:flex;flex-direction:column;gap:12px;padding:14px}.globe-page-react .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.globe-page-react .stat{border:1px solid color-mix(in oklab,var(--line) 84%,transparent);border-radius:12px;padding:12px;background:color-mix(in oklab,var(--panel-subtle) 84%,transparent)}.globe-page-react .stat-action{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit}.globe-page-react .stat-action:hover{border-color:color-mix(in oklab,var(--accent) 60%,var(--line))}.globe-page-react .stat-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.globe-page-react .stat-value{font-size:24px;font-weight:800;margin-top:4px}.globe-page-react .legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:12px}.globe-page-react .dot{width:9px;height:9px;border-radius:999px;display:inline-block;margin-right:6px}.globe-dot-country{background:#4a80c8}.globe-dot-flag{background:#e06858}.globe-wrap-react{--globe-wrap-base: color-mix(in oklab, var(--panel) 92%, #08111f);--globe-wrap-accent-a: rgba(255, 168, 101, .14);--globe-wrap-accent-b: rgba(70, 129, 255, .18);--globe-wrap-halo: rgba(255, 255, 255, 0);--globe-empty: color-mix(in oklab, var(--text) 82%, transparent);--globe-tooltip-bg: rgba(8, 14, 30, .9);--globe-tooltip-border: rgba(255, 255, 255, .2);--globe-tooltip-text: #f4f7ff;position:relative;height:min(72vh,820px);min-height:540px;border-radius:16px;border:1px solid color-mix(in oklab,var(--line) 82%,transparent);background:radial-gradient(circle at 18% 22%,var(--globe-wrap-accent-a),transparent 45%),radial-gradient(circle at 78% 68%,var(--globe-wrap-accent-b),transparent 48%),var(--globe-wrap-base)}.globe-wrap-react:before{content:"";position:absolute;left:50%;top:50%;width:min(58vw,620px);height:min(58vw,620px);transform:translate(-50%,-50%);border-radius:999px;background:radial-gradient(circle,var(--globe-wrap-halo) 0%,rgba(255,255,255,0) 68%);pointer-events:none;z-index:0}.globe-canvas-react{position:absolute;inset:0;z-index:1}.globe-canvas-react canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block}.flag-layer{position:absolute;inset:0;z-index:3}.flag-marker{position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:30px;pointer-events:auto;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 8px 16px rgba(15,23,42,.26));opacity:.96;will-change:transform,left,top}.flag-marker-image{display:none;width:38px;height:28px;border-radius:6px;object-fit:cover;box-shadow:0 0 0 2px #ffffffeb,0 0 0 3px #0f172a14,0 10px 20px #0f172a38}.flag-marker-has-image .flag-marker-image{display:block}.flag-marker-has-image .flag-marker-fallback{display:none}.flag-marker-fallback{display:block;font-size:30px;line-height:1;filter:drop-shadow(0 0 0 rgba(255,255,255,.9))}.empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;color:var(--globe-empty)}.tooltip{position:absolute;z-index:10;pointer-events:none;min-width:160px;max-width:260px;padding:8px 10px;border-radius:10px;border:1px solid var(--globe-tooltip-border);background:var(--globe-tooltip-bg);color:var(--globe-tooltip-text);font-size:12px;line-height:1.5;opacity:0;transform:translate(-50%,-110%);transition:opacity .1s ease}.tooltip.show{opacity:1}.unresolved-modal{position:fixed;inset:0;z-index:420;background:#04070e9e;display:none;align-items:flex-start;justify-content:center;padding:26px}.unresolved-modal.open{display:flex}.unresolved-panel{width:min(980px,100%);background:var(--panel);border:1px solid color-mix(in oklab,var(--line) 82%,transparent);border-radius:14px;padding:14px 16px;box-shadow:0 18px 48px #00000059}.unresolved-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.unresolved-title{font-size:18px;font-weight:780}.unresolved-close{border:1px solid color-mix(in oklab,var(--line) 82%,transparent);background:var(--panel-subtle);color:var(--text);border-radius:8px;padding:6px 10px;cursor:pointer}.unresolved-list{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}.unresolved-item{border:1px solid color-mix(in oklab,var(--line) 82%,transparent);border-radius:10px;padding:10px;background:color-mix(in oklab,var(--panel-subtle) 72%,transparent)}.unresolved-author{font-size:14px;font-weight:700}.unresolved-books,.unresolved-titles,.unresolved-msg{font-size:12px;color:var(--muted);margin-top:6px}.unresolved-form{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.unresolved-input{height:34px;padding:0 10px;border-radius:8px;border:1px solid color-mix(in oklab,var(--line) 82%,transparent);background:var(--panel);color:var(--text);min-width:220px}.unresolved-save{height:34px;padding:0 12px;border-radius:8px;border:1px solid color-mix(in oklab,var(--line) 82%,transparent);background:var(--panel-subtle);color:var(--text);font-weight:650;cursor:pointer}html.light-theme .globe-wrap-react{--globe-wrap-base: color-mix(in oklab, var(--panel) 98%, #f5f8ff);--globe-wrap-accent-a: rgba(0, 0, 0, 0);--globe-wrap-accent-b: rgba(0, 0, 0, 0);--globe-wrap-halo: rgba(162, 196, 255, .28);--globe-empty: color-mix(in oklab, var(--text) 72%, transparent);--globe-tooltip-bg: rgba(255, 255, 255, .97);--globe-tooltip-border: color-mix(in oklab, var(--line) 90%, transparent);--globe-tooltip-text: var(--text)}html.dark-theme .globe-wrap-react{--globe-wrap-base: color-mix(in oklab, var(--panel) 82%, #08111f)}@media(max-width:920px){.globe-page-react .stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.globe-page-react .stats{grid-template-columns:1fr}.globe-wrap-react{height:66vh;min-height:460px}}.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}.profile-react-page{display:grid;gap:22px}.profile-react-hero{display:flex;align-items:center;gap:16px;padding:22px;border:1px solid var(--line);border-radius:24px;background:var(--panel)}.profile-react-avatar{width:72px;height:72px;border-radius:999px;object-fit:cover;border:1px solid var(--line);background:var(--panel-subtle)}.profile-react-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.profile-react-hero h1{margin:6px 0 0;font-size:34px;line-height:1}.profile-react-hero p{margin:8px 0 0;color:var(--muted)}.profile-react-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:start}.profile-react-nav{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:24px;background:var(--panel);position:sticky;top:24px}.profile-react-nav a{display:block;padding:12px 14px;border-radius:16px;color:var(--text);text-decoration:none;border:1px solid transparent}.profile-react-nav a.active,.profile-react-nav a:hover{border-color:color-mix(in oklab,var(--accent) 34%,var(--line));background:color-mix(in oklab,var(--accent) 12%,var(--panel))}.profile-react-panel,.profile-stack{display:grid;gap:18px}.profile-card-block,.profile-share-card,.profile-stat-card,.profile-recent-card{border:1px solid var(--line);border-radius:20px;background:var(--panel)}.profile-card-block{padding:20px 22px}.profile-card-title{font-size:24px;line-height:1.1;margin-bottom:10px}.profile-card-copy{color:var(--muted);margin:0 0 16px}.profile-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.profile-stat-card{padding:18px}.profile-stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.profile-stat-value{margin-top:10px;font-size:30px;line-height:1}.profile-recent-list,.profile-share-list{display:grid;gap:12px}.profile-recent-card{padding:16px 18px}.profile-recent-top,.profile-recent-progress,.profile-share-card{display:flex;justify-content:space-between;gap:12px;align-items:center}.profile-recent-top,.profile-recent-progress{align-items:flex-start}.profile-recent-title,.profile-share-title{color:var(--text);text-decoration:none;font-weight:700}.profile-recent-meta,.profile-share-meta,.profile-share-url{color:var(--muted);font-size:13px}.profile-share-main{min-width:0;display:grid;gap:8px}.profile-share-meta{display:flex;gap:8px;flex-wrap:wrap}.profile-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:var(--panel-subtle);color:var(--muted);font-size:12px}.profile-chip-pro{border-color:color-mix(in oklab,var(--lumo-primary) 28%,transparent);background:color-mix(in oklab,var(--lumo-primary) 12%,transparent);color:var(--lumo-primary)}.profile-share-url{word-break:break-all}.profile-billing-order-list{display:grid;gap:12px}.profile-billing-order,.profile-billing-order-row{border:1px solid var(--line);border-radius:16px;background:color-mix(in oklab,var(--panel-subtle) 72%,var(--panel))}.profile-billing-order{display:grid;gap:10px;padding:16px 18px}.profile-billing-order-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.profile-billing-order-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.profile-billing-order-id{color:var(--text);font-weight:700;text-transform:capitalize}.profile-billing-order-meta{color:var(--muted);font-size:13px;line-height:1.5;word-break:break-all}.profile-billing-order-error{color:#c45a5a;font-size:13px;line-height:1.5}.profile-progress-bar{flex:1 1 220px;min-width:160px;height:8px;border-radius:999px;background:color-mix(in oklab,var(--line) 78%,transparent);overflow:hidden}.profile-progress-fill{height:100%;border-radius:inherit;background:color-mix(in oklab,var(--accent) 78%,var(--panel))}.profile-empty{padding:20px;border:1px dashed var(--line);border-radius:18px;color:var(--muted);background:color-mix(in oklab,var(--panel-subtle) 86%,var(--panel))}.subscription-page{display:grid;gap:18px;margin-top:-24px}.subscription-error-state{min-height:calc(100vh - 180px);display:flex;align-items:center;justify-content:center;padding:12px 0 0}.subscription-pricing-hero,.subscription-pricing-shell{padding:0;border:0;background:transparent;box-shadow:none}.subscription-billing-chip{align-self:start;min-width:240px}.subscription-current-plan{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:color-mix(in oklab,var(--panel-subtle) 88%,var(--panel));color:var(--text);font-size:16px;font-weight:750}.subscription-current-plan-pro{border-color:color-mix(in oklab,var(--lumo-primary) 28%,transparent);background:color-mix(in oklab,var(--lumo-primary) 12%,transparent);color:var(--lumo-primary)}.subscription-inline-status{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid color-mix(in oklab,var(--line) 82%,transparent);border-radius:18px;background:color-mix(in oklab,var(--panel-subtle) 84%,var(--panel));color:var(--muted);font-size:14px;line-height:1.5}.subscription-inline-status strong{color:var(--text)}.subscription-inline-status-error{border-color:#bf59593d;background:#bf595914}.subscription-inline-status-error strong{color:#a54848}.subscription-plan-status{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:-10px}.subscription-plan-status-main{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}.subscription-plan-status-meta{color:var(--muted);font-size:14px}.subscription-wallet-pills{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;margin-left:auto;justify-content:flex-end}.subscription-wallet-pill{display:inline-flex;align-items:center;gap:14px;min-height:56px;padding:0 18px;border-radius:18px;border:1px solid color-mix(in oklab,var(--line) 80%,transparent);background:color-mix(in oklab,var(--panel-subtle) 92%,var(--panel));color:var(--text);box-shadow:0 10px 20px #0f172a0d}.subscription-wallet-pill-button{font:inherit;cursor:pointer}.subscription-wallet-pill-chain{min-width:176px}.subscription-wallet-pill strong{font-size:15px;font-weight:750}.subscription-wallet-pill-icon{width:28px;height:28px;border-radius:999px;flex:0 0 28px;background:radial-gradient(circle at 32% 30%,#fffffff2,#fff0 28%),linear-gradient(135deg,#7c8cff,#536dff);box-shadow:inset 0 1px #ffffff59;position:relative}.subscription-wallet-pill-icon:before,.subscription-wallet-pill-icon:after{content:"";position:absolute;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent}.subscription-wallet-pill-icon:before{top:4px;border-bottom:9px solid rgba(255,255,255,.96)}.subscription-wallet-pill-icon:after{top:14px;border-top:9px solid rgba(210,221,255,.96)}.subscription-wallet-pill-dot{width:28px;height:28px;border-radius:999px;flex:0 0 28px;background:conic-gradient(from 220deg,#d92b5f,#ff4c1f,#e73178,#d92b5f);box-shadow:inset 0 1px #fff3}.subscription-wallet-modal{width:min(420px,calc(100vw - 32px));display:grid;gap:14px;padding:18px;border-radius:24px}.subscription-wallet-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.subscription-wallet-modal-id{display:flex;align-items:center;gap:14px;min-width:0}.subscription-wallet-modal-avatar{width:42px;height:42px;border-radius:14px;flex:0 0 42px;background:conic-gradient(from 220deg,#d92b5f,#ff4c1f,#e73178,#d92b5f)}.subscription-wallet-modal-address,.subscription-wallet-modal-value{color:var(--text);font-size:16px;font-weight:750}.subscription-wallet-modal-subline,.subscription-wallet-modal-label{color:var(--muted);font-size:12px}.subscription-wallet-modal-subline{margin-top:3px;word-break:break-all}.subscription-wallet-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.subscription-wallet-modal-card{display:grid;gap:6px;padding:16px;border:1px solid color-mix(in oklab,var(--line) 82%,transparent);border-radius:18px;background:color-mix(in oklab,var(--panel-subtle) 92%,var(--panel))}.subscription-wallet-modal-actions{display:flex;gap:10px;flex-wrap:wrap}.subscription-wallet-chooser-list{display:grid;gap:10px}.subscription-wallet-chooser-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 16px;border:1px solid color-mix(in oklab,var(--line) 82%,transparent);border-radius:16px;background:color-mix(in oklab,var(--panel-subtle) 92%,var(--panel));color:var(--text);font:inherit;font-weight:700;cursor:pointer}.subscription-wallet-chooser-pill{padding:6px 10px;border-radius:999px;background:color-mix(in oklab,var(--lumo-primary) 12%,transparent);color:var(--lumo-primary);font-size:12px;font-weight:700}.subscription-manual-pay-modal{width:min(760px,calc(100vw - 24px));display:grid;gap:14px;padding:18px;border-radius:26px;background:radial-gradient(circle at top,rgba(42,161,122,.08),transparent 34%),color-mix(in oklab,var(--panel) 98%,white)}.subscription-manual-pay-page{align-items:start}.subscription-manual-pay-shell{justify-self:center;width:min(760px,100%);box-shadow:0 22px 56px #0f172a14;border:1px solid color-mix(in oklab,var(--line) 80%,transparent)}.subscription-manual-pay-topbar{display:flex;justify-content:flex-start}.subscription-manual-pay-head{display:grid;gap:4px;justify-items:center;text-align:center}.subscription-manual-pay-chip{justify-self:center;display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;background:linear-gradient(135deg,#2aa17a,#2aa18d);color:#fff;font-size:15px;font-weight:800}.subscription-manual-pay-title{color:var(--text);font-size:24px;font-weight:820;letter-spacing:-.03em}.subscription-manual-pay-subtitle{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.45}.subscription-manual-pay-amount-block{display:grid;justify-items:center;gap:8px;padding:8px 0 2px}.subscription-manual-pay-eyebrow{color:#61708e;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.subscription-manual-pay-amount{color:#2aa17a;font-size:clamp(34px,5.6vw,64px);font-weight:850;line-height:1;letter-spacing:-.04em}.subscription-manual-pay-qr-wrap{display:grid;place-items:center;padding:14px;border-radius:24px;background:linear-gradient(180deg,#f5f8fcf5,#ecf2f8f5);border:1px solid color-mix(in oklab,var(--line) 78%,transparent)}.subscription-manual-pay-qr-stage{display:grid;justify-items:center}.subscription-manual-pay-qr{display:block;width:min(260px,62vw);height:auto;border-radius:20px;background:#fff;box-shadow:0 18px 34px #0f172a14}.subscription-manual-pay-info{display:grid;gap:14px;align-content:start}.subscription-manual-pay-info-stack{width:min(560px,100%);justify-self:center}.subscription-manual-pay-address{color:var(--text);font-size:14px;font-weight:700;word-break:break-all;line-height:1.5}.subscription-manual-pay-actions{display:flex;gap:10px;flex-wrap:wrap}.subscription-manual-pay-field{display:grid;gap:7px}.subscription-manual-pay-field span{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.subscription-manual-pay-submit{width:100%;min-height:52px}.subscription-manual-pay-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px;border-top:1px solid color-mix(in oklab,var(--line) 82%,transparent);color:var(--muted);font-size:12px;line-height:1.4}@media(max-width:720px){.subscription-manual-pay-modal{width:calc(100vw - 16px);padding:16px;gap:12px}.subscription-manual-pay-qr-wrap{padding:12px}.subscription-manual-pay-qr{width:min(220px,62vw)}.subscription-manual-pay-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-manual-pay-meta{flex-direction:column;align-items:flex-start;gap:4px}}.subscription-pricing-grid{align-items:stretch}.subscription-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:20px;align-items:stretch}.subscription-package-card{position:relative;display:grid;grid-template-rows:auto auto auto auto auto auto auto minmax(0,1fr) auto auto;height:100%;align-self:stretch;border:1px solid #1f2a44;background:linear-gradient(180deg,#fffffffa,#f7fafffa),var(--landing-bg);box-shadow:0 1px #ffffffe6 inset,0 16px 36px #0f172a14}.subscription-package-card:after{content:"";position:absolute;inset:0;border-radius:22px;box-shadow:inset 0 0 0 1px #ffffff8c;pointer-events:none}.subscription-package-card .pricing-card-top{margin-bottom:4px}.subscription-package-card .pricing-card-desc{min-height:0;margin:0;line-height:1.55}.subscription-package-card .pricing-price-row{margin-top:0}.subscription-package-card .pricing-note{margin-top:-8px}.subscription-card-spacer{min-height:0}.subscription-package-card .pricing-divider{margin:2px 0 0}.subscription-package-card .pricing-bullets{gap:10px}.subscription-package-card .pricing-bullets li{line-height:1.45}.subscription-package-card .pricing-bullets li:before{content:"";left:2px;top:6px;width:8px;height:4px;border-left:2px solid #2f9e5f;border-bottom:2px solid #2f9e5f;transform:rotate(-45deg);transform-origin:left center}.subscription-plan-switcher{display:inline-flex;align-items:center;gap:6px;padding:6px;border:1px solid color-mix(in oklab,var(--line) 82%,transparent);border-radius:999px;background:color-mix(in oklab,var(--panel-subtle) 88%,var(--panel));margin:0 0 18px;justify-self:start}.subscription-plan-tab{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:10px;padding:0 18px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.subscription-plan-tab:hover{color:var(--text)}.subscription-plan-tab.active{background:color-mix(in oklab,var(--panel) 92%,white 8%);border-color:color-mix(in oklab,var(--line) 78%,transparent);color:var(--text);box-shadow:0 0 0 1px #ffffffa6 inset,0 10px 24px #0f172a1f;transform:translateY(-1px)}.subscription-plan-tab.active .subscription-plan-tab-badge{box-shadow:0 0 0 1px #ffffff24 inset,0 8px 18px color-mix(in oklab,var(--lumo-primary) 28%,transparent)}.subscription-plan-tab:not(.active) .subscription-plan-tab-badge{opacity:.92}.subscription-plan-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:54px;min-height:28px;padding:0 12px;border-radius:999px;background:linear-gradient(135deg,var(--lumo-primary),var(--lumo-primary-bright));color:var(--lumo-ink);font-size:.9rem;font-weight:800;letter-spacing:-.02em;box-shadow:inset 0 1px #ffffff2e}.subscription-discount-badge{background:linear-gradient(135deg,var(--lumo-primary),var(--lumo-primary-bright));color:var(--lumo-ink)}@media(max-width:640px){.subscription-plan-switcher{width:100%}.subscription-plan-tab{flex:1 1 0;min-width:0;padding:0 14px}.subscription-plan-tab-badge{min-width:48px;padding:0 10px;font-size:.84rem}}.subscription-single-card{max-width:none}.subscription-card-selected{box-shadow:0 0 0 1px #1f2a44,0 22px 42px #0f172a1f}.subscription-card-current{border-color:#1f2a44;box-shadow:0 0 0 1px #1f2a44,0 20px 40px #0f172a1a}.subscription-package-card.pricing-card-featured{transform:none}.subscription-current-badge{background:color-mix(in oklab,var(--accent) 16%,var(--panel));color:var(--text)}.subscription-card-static{cursor:default;margin-top:10px}.subscription-card-static-button{margin-top:6px;pointer-events:none}.subscription-single-card .pricing-card-cta-solid{background:linear-gradient(135deg,var(--lumo-primary),var(--lumo-primary-bright));color:var(--lumo-ink);box-shadow:0 12px 24px #2a8f9938}.subscription-card-static-button.pricing-card-cta-solid:hover,.subscription-card-static-button.pricing-card-cta-solid:focus-visible,.subscription-card-static-button.pricing-card-cta-solid:active{background:linear-gradient(135deg,var(--lumo-primary),var(--lumo-primary-bright));color:var(--lumo-ink);box-shadow:0 12px 24px color-mix(in oklab,var(--lumo-primary) 22%,transparent);outline:none;transform:none}.subscription-single-card .subscription-method-row,.subscription-method-row-placeholder{margin-top:6px}.subscription-method-row-placeholder .subscription-method-button{visibility:hidden;pointer-events:none}.subscription-single-card .pricing-card-cta-solid,.subscription-single-card .subscription-card-static{margin-top:6px}.subscription-single-card .pricing-card-cta-solid:hover{background:linear-gradient(135deg,#2a7480,#257c85)}.subscription-single-card .pricing-card-cta-solid:disabled{background:color-mix(in oklab,var(--panel-subtle) 90%,var(--panel));color:var(--muted);box-shadow:none}.subscription-wallet-hint{color:var(--muted);font-size:13px;line-height:1.5}.subscription-wallet-hint-placeholder{visibility:hidden}.subscription-hero,.subscription-checkout-card,.subscription-history-card{border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:0 12px 28px #0f172a14}.subscription-hero{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:18px;padding:28px}.subscription-hero h1,.subscription-history-card h2,.subscription-checkout-head h2{margin:0;color:var(--text)}.subscription-hero p,.subscription-checkout-head p{margin:10px 0 0;color:var(--muted);max-width:58ch}.subscription-tier-card{border:1px solid var(--line);border-radius:20px;background:var(--panel-subtle);padding:18px;display:grid;gap:8px;align-content:start}.subscription-tier-label,.subscription-checkout-label,.subscription-order-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.subscription-tier-value,.subscription-plan-price,.subscription-checkout-amount{color:var(--text);font-size:30px;line-height:1;letter-spacing:-.04em;font-weight:800}.subscription-tier-value-pro{color:var(--lumo-primary)}.subscription-tier-meta,.subscription-history-meta,.subscription-plan-copy{color:var(--muted);font-size:14px;line-height:1.5}.subscription-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.subscription-plan-card,.subscription-method-button{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;font:inherit}.subscription-plan-card{border-radius:22px;padding:22px;display:grid;gap:16px;text-align:left;box-shadow:0 12px 28px #0f172a14}.subscription-plan-card.active,.subscription-method-button.active{border-color:color-mix(in oklab,var(--accent) 48%,var(--line));box-shadow:0 0 0 1px color-mix(in oklab,var(--accent) 34%,transparent)}.subscription-plan-top{display:flex;justify-content:space-between;gap:16px}.subscription-plan-name,.subscription-order-id{color:var(--text);font-weight:700}.subscription-plan-methods,.subscription-method-row{display:flex;flex-wrap:wrap;gap:10px}.subscription-method-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:var(--panel-subtle);color:var(--muted);font-size:12px}.subscription-checkout-card,.subscription-history-card{padding:24px}.subscription-checkout-head,.subscription-order-head,.subscription-history-row{display:flex;justify-content:space-between;gap:16px}.subscription-method-button{min-height:40px;padding:0 14px;border-radius:999px}.subscription-checkout-meta,.subscription-order-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:18px}.subscription-order-card{margin-top:20px;border:1px solid var(--line);border-radius:20px;background:var(--panel-subtle);padding:18px;display:grid;gap:16px}.subscription-order-status{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:var(--panel);color:var(--muted);font-size:12px;text-transform:capitalize}.subscription-order-status-paid{color:var(--lumo-primary)}.subscription-order-status-failed,.subscription-order-error{color:#c36464}.subscription-order-link-row{display:grid;gap:6px}.subscription-order-link-row a{color:var(--accent);text-decoration:none}.subscription-history-list{display:grid;gap:12px;margin-top:16px}.subscription-history-row{align-items:center;border-top:1px solid color-mix(in oklab,var(--line) 82%,transparent);padding-top:12px}@media(max-width:960px){.subscription-inline-status{align-items:flex-start;flex-direction:column}.subscription-plan-status{align-items:flex-start;flex-direction:column;gap:8px}.subscription-wallet-pills{margin-left:0;justify-content:flex-start}.subscription-package-grid{grid-template-columns:1fr}}.subscription-history-row:first-child{border-top:0;padding-top:0}@media(max-width:560px){.app-shell,.app-content{padding:18px}.app-sidebar{padding:14px 9px;width:var(--sidebar-collapsed-width)}.app-content{width:calc(100% - var(--sidebar-collapsed-width));max-width:calc(100% - var(--sidebar-collapsed-width));margin-left:var(--sidebar-collapsed-width)}.sidebar-brand-shell{display:flex;justify-content:center;margin-bottom:22px}.sidebar-brand{justify-content:center}.sidebar-brand-main{justify-content:center;width:100%}.sidebar-brand-logo{width:32px;height:32px}.sidebar-brand-text,.sidebar-collapse-button,.sidebar-copy{display:none}.sidebar-account-panel{display:grid;gap:8px}.sidebar-user-meta{display:grid;gap:0}.sidebar-promo-card,.sidebar-utility-item,.sidebar-user-card{justify-content:center;padding-left:0;padding-right:0}.sidebar-promo-card{min-height:46px;padding-top:0;padding-bottom:0;border-radius:14px}.sidebar-promo-copy,.sidebar-utility-label,.sidebar-utility-meta,.sidebar-user-card-copy,.sidebar-user-card-arrow{display:none}.sidebar-utility-list{gap:6px;padding:0}.sidebar-utility-item{min-height:40px;border-radius:12px}.sidebar-utility-main{justify-content:center}.sidebar-user-card{min-height:44px;padding-top:8px;padding-bottom:4px}.sidebar-user-card-avatar{width:28px;height:28px;border-radius:10px}.sidebar-nav a{justify-content:center;gap:0;padding-left:0;padding-right:0}.app-header h1{font-size:26px}.library-head{flex-direction:column;align-items:stretch}.library-tools,.library-search{width:100%}.upload-preview,.upload-result-row,.upload-results-head{flex-direction:column;align-items:flex-start}.list-create-panel{grid-template-columns:1fr}.profile-react-hero,.profile-share-card,.profile-recent-top,.profile-recent-progress{flex-direction:column;align-items:flex-start}.profile-react-shell,.profile-stat-grid{grid-template-columns:1fr}.profile-react-nav{position:static}}
