:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-canvas:#15171c;--bg-sidebar:#111317;--bg-review:#0c0d10;--surface-1:#1b1e24;--surface-2:#20232a;--surface-overlay:#23262d;--surface-card:#24272e;--surface-card-under:#1b1d23;--fill-hover:#ffffff0b;--fill-pressed:#ffffff13;--fill-selected:#ffffff12;--fill-control:#ffffff0f;--hairline:#ffffff0f;--hairline-strong:#ffffff1c;--text-1:#edeef2;--text-2:#a7acb7;--text-3:#8b919e;--text-4:#50555f;--accent:#a3adf2;--accent-fill:#5866cb;--accent-fill-hover:#6370d3;--accent-on:#fff;--accent-soft:#a3adf221;--accent-line:#a3adf2b3;--accent-glow:#606ed6b3;--danger:#e28c83;--danger-soft:#e28c831f;--scrim:#0405088c;--scrim-soft:#0405085c;--focus-ring:#a3adf2bf;--shadow-1:inset 0 1px 0 #ffffff06, 0 1px 2px #00000040;--shadow-2:inset 0 1px 0 #ffffff0a, 0 1px 2px #0000004d, 0 8px 20px -8px #00000080;--shadow-overlay:0 0 0 .5px #ffffff17, 0 2px 6px #0000004d, 0 16px 40px -8px #0009;--shadow-card:inset 0 1px 0 #ffffff0f, 0 0 0 .5px #ffffff13, 0 1px 0 #00000073, 0 2px 5px -2px #0000004d, 0 14px 30px -18px #0009;--shadow-card-rest: inset 0 1px 0 #ffffff0d, 0 0 0 .5px #ffffff12, 0 1px 1px #00000040, 0 8px 20px -14px #00000073;--shadow-card-under:0 0 0 .5px #ffffff0b, 0 2px 6px -2px #00000059;--card-sheen:#ffffff05;--card-top-light:#ffffff07;--card-grain:.05;--review-light:#96a0c80b;--cloth-mix:7%;--tint-slate:#8c9cba;--tint-sage:#8fae9b;--tint-ochre:#c3a56d;--tint-clay:#c38c79;--tint-plum:#a891ba;--tint-teal:#7fb0b0;--chart-bar:#3b404b;--chart-bar-hover:#5a606d;--heat-0:#ffffff0d;--heat-1:#2c3440;--heat-2:#3f4a5c;--heat-3:#5d6a82;--heat-4:#8f9bb8;--leader:#ffffff21;--font-ui:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", "Segoe UI Variable Text", "Segoe UI", Roboto, system-ui, sans-serif;--font-display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", "Segoe UI Variable Display", "Segoe UI", Roboto, system-ui, sans-serif;--font-serif:"New York", ui-serif, "Iowan Old Style", Charter, "Source Serif Pro", Georgia, serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--t-caption:11px;--lh-caption:14px;--t-footnote:12px;--lh-footnote:16px;--t-body-sm:13px;--lh-body-sm:18px;--t-body:14px;--lh-body:20px;--t-callout:15px;--lh-callout:22px;--t-headline:17px;--lh-headline:24px;--t-title-3:20px;--lh-title-3:26px;--t-title-2:24px;--lh-title-2:30px;--t-title-1:30px;--lh-title-1:36px;--t-large:38px;--lh-large:44px;--t-figure:44px;--t-display:68px;--w-regular:400;--w-medium:500;--w-semibold:600;--w-light:300;--track-tight:-.022em;--track-display:-.035em;--track-label:.04em;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--s-20:80px;--s-24:96px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-card:16px;--sidebar-w:232px;--toolbar-h:52px;--tabbar-h:54px;--content-max:920px;--dur-instant:90ms;--dur-fast:.16s;--dur-base:.24s;--dur-slow:.42s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in-out:cubic-bezier(.45, 0, .2, 1);--ease-settle:cubic-bezier(.22, 1, .36, 1)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-canvas:#f3f2ef;--bg-sidebar:#eae9e5;--bg-review:#ecebe7;--surface-1:#faf9f7;--surface-2:#fff;--surface-overlay:#fcfcfb;--surface-card:#fffefb;--surface-card-under:#f7f7f5;--fill-hover:#14161e0a;--fill-pressed:#14161e12;--fill-selected:#14161e0f;--fill-control:#14161e0d;--hairline:#14161e12;--hairline-strong:#14161e1f;--text-1:#1c1c1e;--text-2:#565a63;--text-3:#62656e;--text-4:#b1b3b9;--accent:#4a58b8;--accent-fill:#4a5abf;--accent-fill-hover:#4151b4;--accent-on:#fff;--accent-soft:#4a5abf17;--accent-line:#4a5abf8c;--accent-glow:#4a5abf59;--danger:#b5473b;--danger-soft:#b5473b14;--scrim:#1e202638;--scrim-soft:#1e20261f;--focus-ring:#4a5abf8c;--shadow-1:0 0 0 .5px #14161e0f, 0 1px 2px #14161e0d;--shadow-2:0 0 0 .5px #14161e12, 0 1px 2px #14161e0d, 0 8px 20px -8px #14161e1f;--shadow-overlay:0 0 0 .5px #14161e1a, 0 2px 6px #14161e0f, 0 16px 40px -8px #14161e2e;--shadow-card:inset 0 1px 0 #fff, 0 0 0 .5px #28241e1a, 0 1px 1px #28241e0d, 0 3px 8px -3px #28241e12, 0 18px 40px -20px #28241e29;--shadow-card-rest:inset 0 1px 0 #fff, 0 0 0 .5px #28241e1a, 0 1px 1px #28241e0a, 0 8px 20px -14px #28241e24;--shadow-card-under:0 0 0 .5px #28241e17, 0 2px 6px -2px #28241e12;--card-sheen:#ffffff80;--card-top-light:#fff9;--card-grain:.035;--review-light:#ffffff8c;--cloth-mix:6%;--tint-slate:#5d6f90;--tint-sage:#5f8669;--tint-ochre:#9a7a3c;--tint-clay:#a0624d;--tint-plum:#7b6290;--tint-teal:#4f8584;--chart-bar:#cfcfca;--chart-bar-hover:#a9aaa6;--heat-0:#28241e0f;--heat-1:#d5d8df;--heat-2:#aab1c0;--heat-3:#7b859c;--heat-4:#4b5570;--leader:#28241e33}:root[data-motion=reduce]{--dur-instant:1ms;--dur-fast:1ms;--dur-base:1ms;--dur-slow:1ms}@media (prefers-reduced-motion:reduce){:root{--dur-instant:1ms;--dur-fast:1ms;--dur-base:1ms;--dur-slow:1ms}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}html{touch-action:manipulation;background:var(--bg-canvas);min-height:var(--screen-h,100%)}body{background:var(--bg-canvas);color:var(--text-1);font-family:var(--font-ui);font-size:var(--t-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"kern", "calt";margin:0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:default;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}h1,h2,h3,h4,p,ul,ol,figure{margin:0}ul,ol{padding:0}[hidden]{display:none!important}::selection{background:var(--accent-soft)}:focus{outline:none}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--r-sm)}*{scrollbar-width:thin;scrollbar-color:var(--hairline-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--hairline-strong);background-clip:padding-box;border:3px solid #0000;border-radius:10px}.t-display{font-family:var(--font-display);font-size:var(--t-display);line-height:1;font-weight:var(--w-light);letter-spacing:var(--track-display);font-variant-numeric:tabular-nums}.t-figure{font-family:var(--font-display);font-size:var(--t-figure);line-height:1;font-weight:var(--w-light);letter-spacing:var(--track-display);font-variant-numeric:tabular-nums}.t-large{font-family:var(--font-display);font-size:var(--t-large);line-height:var(--lh-large);font-weight:var(--w-medium);letter-spacing:-.028em;text-wrap:balance}.t-title-1{font-family:var(--font-display);font-size:var(--t-title-1);line-height:var(--lh-title-1);font-weight:var(--w-medium);letter-spacing:var(--track-tight);text-wrap:balance}.t-title-2{font-family:var(--font-display);font-size:var(--t-title-2);line-height:var(--lh-title-2);font-weight:var(--w-medium);letter-spacing:var(--track-tight);text-wrap:balance}.t-title-3{font-family:var(--font-display);font-size:var(--t-title-3);line-height:var(--lh-title-3);font-weight:var(--w-medium);letter-spacing:-.015em}.t-headline{font-size:var(--t-headline);line-height:var(--lh-headline);font-weight:var(--w-medium);letter-spacing:-.01em}.t-callout{font-size:var(--t-callout);line-height:var(--lh-callout)}.t-body{font-size:var(--t-body);line-height:var(--lh-body)}.t-body-sm{font-size:var(--t-body-sm);line-height:var(--lh-body-sm)}.t-footnote{font-size:var(--t-footnote);line-height:var(--lh-footnote)}.t-caption{font-size:var(--t-caption);line-height:var(--lh-caption)}.t-label{font-size:var(--t-caption);line-height:var(--lh-caption);font-weight:var(--w-medium);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-3)}.c-1{color:var(--text-1)}.c-2{color:var(--text-2)}.c-3{color:var(--text-3)}.c-accent{color:var(--accent)}.num{font-variant-numeric:tabular-nums}.medium{font-weight:var(--w-medium)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.icon{stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.icon-sm{width:14px;height:14px}.icon-lg{width:18px;height:18px}.btn{border-radius:var(--r-sm);height:30px;font-size:var(--t-body-sm);font-weight:var(--w-medium);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color var(--dur-instant) linear, color var(--dur-instant) linear, transform var(--dur-instant) var(--ease-out), opacity var(--dur-fast) linear;justify-content:center;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.btn:active{transform:scale(.98)}.btn[disabled]{opacity:.4;pointer-events:none}.btn-primary{background:var(--accent-fill);color:var(--accent-on);box-shadow:inset 0 1px #ffffff1f,0 1px 2px #0003}.btn-primary:hover{background:var(--accent-fill-hover)}.btn-secondary{background:var(--fill-control);color:var(--text-1)}.btn-secondary:hover{background:var(--fill-pressed)}.btn-ghost{color:var(--text-2)}.btn-ghost:hover{background:var(--fill-hover);color:var(--text-1)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-danger:hover{filter:brightness(1.1)}.btn-lg{height:36px;font-size:var(--t-body);border-radius:7px;padding:0 18px}.btn-xl{height:44px;font-size:var(--t-callout);letter-spacing:-.005em;border-radius:9px;padding:0 24px}.btn-primary.btn-xl{box-shadow:inset 0 1px 0 #ffffff29, 0 0 0 .5px #0003, 0 8px 24px -10px var(--accent-glow)}.btn-icon{width:28px;height:28px;color:var(--text-2);padding:0}@media (pointer:coarse){.toolbar .btn-icon,.page-head .actions .btn-icon{width:40px;height:40px}}.btn-icon:hover{background:var(--fill-hover);color:var(--text-1)}.btn .count{font-weight:var(--w-regular);opacity:.72;font-variant-numeric:tabular-nums}.kbd{border-radius:var(--r-xs);background:var(--fill-control);min-width:18px;height:18px;color:var(--text-3);font-family:var(--font-ui);font-size:var(--t-caption);font-weight:var(--w-medium);justify-content:center;align-items:center;padding:0 5px;line-height:1;display:inline-flex}.btn-primary .kbd{color:inherit;background:#ffffff29}.input{border-radius:var(--r-sm);background:var(--fill-control);width:100%;height:32px;color:var(--text-1);font-size:var(--t-body-sm);transition:box-shadow var(--dur-instant) linear, background-color var(--dur-instant) linear;border:0;padding:0 10px}.input::placeholder{color:var(--text-3)}.input:focus-visible{box-shadow:0 0 0 2px var(--focus-ring);outline:none}.select{appearance:none;border-radius:var(--r-sm);background:var(--fill-control) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2.5 4l2.5 2.5L7.5 4' fill='none' stroke='%23888' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center;height:28px;font-size:var(--t-body-sm);color:var(--text-1);border:0;padding:0 28px 0 10px}.switch{background:var(--fill-pressed);width:32px;height:20px;transition:background-color var(--dur-fast) linear;border-radius:10px;flex:none;position:relative}.switch:after{content:"";width:16px;height:16px;transition:transform var(--dur-fast) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.switch[aria-checked=true]{background:var(--accent-fill)}.switch[aria-checked=true]:after{transform:translate(12px)}.segmented{background:var(--fill-control);border-radius:7px;gap:2px;padding:2px;display:inline-flex}.segmented button{height:24px;font-size:var(--t-footnote);font-weight:var(--w-medium);color:var(--text-2);white-space:nowrap;transition:background-color var(--dur-instant) linear, color var(--dur-instant) linear;border-radius:5px;padding:0 10px}.segmented button:hover{color:var(--text-1)}.segmented button[aria-pressed=true]{background:var(--surface-2);color:var(--text-1);box-shadow:var(--shadow-1)}.segmented .count{color:var(--text-3);font-variant-numeric:tabular-nums;margin-left:3px}.section{margin-top:var(--s-12)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--s-4);padding-bottom:var(--s-3);margin-bottom:var(--s-2);box-shadow:0 1px 0 var(--hairline);display:flex}.section-head h2{font-size:var(--t-body-sm);line-height:var(--lh-body-sm);font-weight:var(--w-semibold);color:var(--text-1);letter-spacing:-.003em}.section-head .aside{font-size:var(--t-footnote);color:var(--text-3);font-variant-numeric:tabular-nums}.section-note{margin:calc(var(--s-2) * -1) 0 var(--s-4);font-size:var(--t-footnote);color:var(--text-3);padding-top:var(--s-3)}.link-quiet{font-size:var(--t-footnote);color:var(--text-3);transition:color var(--dur-instant) linear}.link-quiet:hover{color:var(--text-1)}.panel{background:var(--surface-1);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.row{align-items:center;gap:var(--s-3);min-height:44px;padding:0 var(--s-4);border-radius:var(--r-sm);transition:background-color var(--dur-instant) linear;display:flex}.row+.row{box-shadow:0 -1px 0 var(--hairline)}button.row,a.row{text-align:left;width:100%}button.row:hover,a.row:hover{background:var(--fill-hover)}.due{color:var(--text-1);font-weight:var(--w-medium);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:7px;display:inline-flex}.due:before{content:"";background:var(--accent);border-radius:50%;flex:none;align-self:center;width:5px;height:5px;transform:translateY(-1px)}.state{font-size:var(--t-footnote);color:var(--text-3);white-space:nowrap}.state.due{font-size:var(--t-footnote)}.material{isolation:isolate;position:relative}.material:after{content:"";z-index:-1;border-radius:inherit;pointer-events:none;opacity:var(--card-grain);mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.lead{padding:var(--s-8) var(--s-8) var(--s-6);border-radius:var(--r-lg);background:linear-gradient(180deg, var(--card-top-light), transparent 50%), var(--surface-1);box-shadow:var(--shadow-1);position:relative}.volume{--tint:var(--tint-slate);--cloth:color-mix(in oklab, var(--tint) var(--cloth-mix), var(--surface-1));justify-content:space-between;gap:var(--s-4);aspect-ratio:4/5;min-width:0;padding:var(--s-4);background:linear-gradient(180deg, var(--card-top-light), transparent 45%), var(--cloth);box-shadow:inset 1px 0 0 #ffffff09, var(--shadow-1);text-align:left;transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border-radius:10px;flex-direction:column;display:flex;position:relative}.volume:hover{box-shadow:inset 1px 0 0 #ffffff0d, var(--shadow-2);transform:translateY(-2px)}.volume:active{transform:translateY(0)scale(.995)}.volume .v-top{min-height:18px;font-size:var(--t-footnote);color:var(--text-3);justify-content:space-between;align-items:baseline;display:flex}.volume .v-contents{margin-top:var(--s-3);font-size:var(--t-footnote);color:var(--text-3);gap:4px;line-height:1.35;display:grid}.volume .v-contents span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.volume .v-foot{gap:4px;display:grid}.volume .v-title{font-family:var(--font-display);font-size:var(--t-headline);line-height:1.18;font-weight:var(--w-medium);letter-spacing:-.016em;text-wrap:balance;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.volume .v-meta{font-size:var(--t-footnote);color:var(--text-3);font-variant-numeric:tabular-nums}.volume .v-part{white-space:nowrap}.volume .v-mastery{margin-top:var(--s-3)}.meter{background:var(--hairline-strong);border-radius:1px;height:2px;position:relative;overflow:hidden}.meter>i{width:var(--m,0%);border-radius:inherit;background:var(--tint,var(--text-3));opacity:.85;position:absolute;inset:0 auto 0 0}.volume.is-large{padding:var(--s-5)}.volume.is-large .v-title{font-size:var(--t-title-3);line-height:var(--lh-title-3)}.volume.is-new{box-shadow:inset 0 0 0 1px var(--hairline);color:var(--text-3);justify-content:center;align-items:center;gap:var(--s-2);font-size:var(--t-body-sm);background:0 0;flex-direction:row}.volume.is-new:after{display:none}.volume.is-new:hover{background:var(--fill-hover);box-shadow:inset 0 0 0 1px var(--hairline-strong);color:var(--text-1);transform:none}.swatch{background:var(--tint,var(--text-3));opacity:.9;border-radius:2px;flex:none;width:8px;height:8px;display:inline-block}.swatch.is-lg{border-radius:3px;width:12px;height:12px}.catalogue{--gutter:40px;--col:56px;--meter:64px;--indent:20px}.cat-head,.cat-row{grid-template-columns:var(--gutter) minmax(0, 1fr) var(--col) var(--meter) var(--col) 60px;align-items:baseline;column-gap:var(--s-4);display:grid}.cat-head{padding:0 0 var(--s-2);box-shadow:0 1px 0 var(--hairline)}.cat-head span{font-size:var(--t-caption);color:var(--text-3);text-align:right;letter-spacing:.01em}.cat-head span:nth-child(4){text-align:left}.cat-entry{padding:var(--s-6) 0 var(--s-5)}.cat-entry+.cat-entry{box-shadow:0 -1px 0 var(--hairline)}.cat-row{margin:0 calc(var(--s-2) * -1);padding:0 var(--s-2);border-radius:var(--r-sm);cursor:default;transition:background-color var(--dur-instant) linear;position:relative}.cat-row:hover{background:var(--fill-hover)}.cat-row:focus-visible{outline-offset:0}.cat-num{font-size:var(--t-body-sm);color:var(--text-3);font-variant-numeric:tabular-nums;letter-spacing:.01em}.cat-name{align-items:baseline;gap:var(--s-3);min-width:0;display:flex}.cat-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cat-leader{min-width:var(--s-6);background-image:radial-gradient(circle, var(--leader) .7px, transparent .9px);opacity:.8;background-position:0;background-repeat:repeat-x;background-size:6px 2px;flex:1;height:1px}.cat-due,.cat-count{text-align:right;font-size:var(--t-body-sm);font-variant-numeric:tabular-nums}.cat-due .due{justify-content:flex-end}.cat-count{color:var(--text-3)}.cat-mature{align-self:center;display:grid}.cat-actions{justify-content:flex-end;align-self:center;gap:2px;display:flex}.cat-actions .btn-icon{width:26px;height:26px;color:var(--text-3)}.catalogue.is-study .cat-head span:nth-child(4){text-align:right}.cat-actions .more{opacity:0;transition:opacity var(--dur-instant) linear}.cat-row:hover .more,.cat-row:focus-within .more,.cat-actions .more[aria-expanded=true]{opacity:1}.cat-actions .disclose .icon{transition:transform var(--dur-fast) var(--ease-out)}.cat-row[aria-expanded=true] .disclose .icon{transform:rotate(90deg)}.cat-row.lvl-0{padding-block:4px}.cat-row.lvl-0 .cat-num{font-size:var(--t-callout);color:var(--text-3)}.cat-row.lvl-0 .cat-title{font-family:var(--font-display);font-size:var(--t-headline);line-height:var(--lh-headline);font-weight:var(--w-medium);letter-spacing:-.014em}.cat-row.lvl-0 .cat-name{flex-direction:column;gap:0}.cat-descr{font-size:var(--t-footnote);line-height:var(--lh-footnote);color:var(--text-3);margin-top:3px;display:block}.cat-row.lvl-1,.cat-row.lvl-2,.cat-row.lvl-3{align-items:center;min-height:34px}.cat-row.lvl-1 .cat-name,.cat-row.lvl-2 .cat-name,.cat-row.lvl-3 .cat-name{align-items:center}.cat-row.lvl-1 .cat-title{font-size:var(--t-body);color:var(--text-1)}.cat-row.lvl-2 .cat-title,.cat-row.lvl-3 .cat-title{font-size:var(--t-body-sm);color:var(--text-2)}.cat-row.lvl-1 .cat-name{padding-left:var(--indent)}.cat-row.lvl-2 .cat-name{padding-left:calc(var(--indent) * 2)}.cat-row.lvl-3 .cat-name{padding-left:calc(var(--indent) * 3)}.cat-row.lvl-1 .cat-due,.cat-row.lvl-1 .cat-count,.cat-row.lvl-2 .cat-due,.cat-row.lvl-2 .cat-count,.cat-row.lvl-3 .cat-due,.cat-row.lvl-3 .cat-count{align-self:center}.cat-group{padding-top:var(--s-2);position:relative}.cat-group:before{content:"";top:var(--s-3);bottom:8px;left:calc(var(--gutter) + var(--s-4) + 3px + (var(--lvl) - 1) * var(--indent));background:var(--hairline-strong);width:1px;position:absolute}.cat-group .cat-group{padding-top:0}.cat-group .cat-group:before{top:4px}.cat-group.is-opening{overflow:hidden}.card-row{align-items:center;gap:var(--s-4);width:100%;min-height:62px;margin:0 calc(var(--s-2) * -1);padding:10px var(--s-2);border-radius:var(--r-sm);text-align:left;transition:background-color var(--dur-instant) linear, opacity var(--dur-fast) linear;box-sizing:content-box;grid-template-columns:minmax(0,1fr) auto 72px 28px;display:grid}.card-row+.card-row{box-shadow:0 -1px 0 var(--hairline)}.card-row:hover,.card-row:hover+.card-row{box-shadow:none}.card-row:hover{background:var(--fill-hover)}.card-row .q{font-size:var(--t-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card-row .a{font-size:var(--t-body-sm);color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.card-row .where{font-size:var(--t-footnote);color:var(--text-3);white-space:nowrap}.card-row .state{text-align:right;justify-self:end}.card-row .more{opacity:0}.card-row:hover .more,.card-row:focus-within .more{opacity:1}@media (hover:none){.card-row .more{opacity:1;color:var(--text-3)}}.card-row.is-removing{animation:row-out var(--dur-fast) var(--ease-in-out) forwards}@keyframes row-out{to{opacity:0;transform:translate(-4px)}}.menu{z-index:60;border-radius:var(--r-md);background:var(--surface-overlay);min-width:220px;box-shadow:var(--shadow-overlay);transform-origin:var(--origin,top left);animation:menu-in var(--dur-fast) var(--ease-out);padding:5px;position:fixed}@keyframes menu-in{0%{opacity:0;transform:scale(.97)translateY(-2px)}}.menu-item{align-items:center;gap:var(--s-2);width:100%;height:28px;font-size:var(--t-body-sm);color:var(--text-1);text-align:left;border-radius:5px;padding:0 10px;display:flex}.menu-item:hover,.menu-item:focus-visible{background:var(--fill-selected);outline:none}.menu-item .trail{color:var(--text-3);font-size:var(--t-footnote);margin-left:auto}.menu-item.is-danger{color:var(--danger)}.menu-item .icon{color:var(--text-2)}.menu-sep{background:var(--hairline);height:1px;margin:5px 6px}.menu-header{padding:8px 10px 6px}.menu-account .menu-label{margin-bottom:4px}.menu-account .menu-account-name{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}@media (pointer:coarse){.menu:has(.menu-account) .menu-item{height:44px}}.menu-block{padding:4px 10px 8px}.popover{z-index:60;width:280px;padding:var(--s-3);border-radius:var(--r-md);background:var(--surface-overlay);box-shadow:var(--shadow-overlay);animation:menu-in var(--dur-fast) var(--ease-out);position:fixed}.popover .hint{margin-top:var(--s-2);font-size:var(--t-footnote);color:var(--text-3)}.scrim{z-index:70;padding:14vh var(--s-4) var(--s-4);background:var(--scrim);animation:fade-in var(--dur-fast) linear;place-items:start center;display:grid;position:fixed;inset:0}.scrim.is-center{padding-top:calc(var(--s-4) + env(safe-area-inset-top,0px));place-items:center}@keyframes fade-in{0%{opacity:0}}.modal{border-radius:var(--r-lg);background:var(--surface-overlay);width:min(100%,440px);box-shadow:var(--shadow-overlay);animation:modal-in var(--dur-base) var(--ease-out)}@keyframes modal-in{0%{opacity:0;transform:translateY(6px)scale(.985)}}.modal-body{padding:var(--s-6) var(--s-6) var(--s-5)}.modal-body h2{font-size:var(--t-headline);line-height:var(--lh-headline);font-weight:var(--w-semibold);letter-spacing:-.01em}.modal-body p{margin-top:var(--s-2);color:var(--text-2)}.modal-body p+p{margin-top:var(--s-3)}.modal-actions{justify-content:flex-end;gap:var(--s-2);padding:0 var(--s-6) var(--s-5);display:flex}.scrim.is-soft{background:var(--scrim-soft);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.name-dialog{box-shadow:0 0 0 1px var(--hairline-strong), var(--shadow-overlay)}.name-dialog .modal-body{padding:var(--s-5) var(--s-5) var(--s-4)}.name-dialog label{margin-bottom:var(--s-3);display:block}.name-dialog .input{height:36px;font-size:var(--t-body);padding:0 12px}.name-dialog .hint{margin-top:var(--s-3);font-size:var(--t-footnote);color:var(--text-3)}@media (hover:none) and (pointer:coarse){.scrim.is-soft:not(.is-center){padding-top:max(calc(var(--toolbar-h) + var(--s-8)), 21vh)}.name-dialog{width:min(100% - var(--s-4), 360px)}.name-dialog .modal-body{padding:var(--s-4) var(--s-4) var(--s-3)}.name-dialog label{margin-bottom:var(--s-2)}.name-dialog .input{height:40px;font-size:16px}.name-dialog .hint{margin-top:var(--s-2)}}.palette{border-radius:var(--r-lg);background:var(--surface-overlay);width:min(100%,620px);box-shadow:var(--shadow-overlay);animation:modal-in var(--dur-fast) var(--ease-out);overflow:hidden}.palette-input{align-items:center;gap:var(--s-3);height:54px;padding:0 var(--s-5);box-shadow:0 1px 0 var(--hairline);color:var(--text-3);display:flex}.palette-input input{min-width:0;height:100%;color:var(--text-1);font-size:var(--t-headline);letter-spacing:-.01em;background:0 0;border:0;flex:1}.palette-input input::placeholder{color:var(--text-3)}.palette-input input:focus-visible{outline:none}.palette-results{max-height:min(440px,56vh);padding:6px;overflow-y:auto}.palette-group+.palette-group{margin-top:4px}.palette-group-label{font-size:var(--t-caption);color:var(--text-3);font-weight:var(--w-medium);letter-spacing:.01em;padding:10px 12px 4px}.palette-item{align-items:center;column-gap:var(--s-3);border-radius:var(--r-sm);text-align:left;width:100%;min-height:36px;font-size:var(--t-body-sm);grid-template-columns:18px minmax(0,1fr) minmax(0,auto);padding:6px 12px;display:grid}.palette-item .icon{color:var(--text-3)}.palette-item .primary{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.palette-item .snippet{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-3);font-size:var(--t-footnote);grid-column:2/4;margin-top:1px;overflow:hidden}.palette-item .secondary{color:var(--text-3);font-size:var(--t-footnote);white-space:nowrap}.palette-item[aria-selected=true]{background:var(--fill-selected)}.palette-item[aria-selected=true] .icon{color:var(--text-1)}.palette-item mark{color:var(--text-1);font-weight:var(--w-semibold);background:0 0}.palette-empty{padding:var(--s-8) var(--s-4);text-align:center;color:var(--text-3);font-size:var(--t-body-sm)}.palette-empty .title{color:var(--text-2);font-weight:var(--w-medium)}.palette-empty .title+p{margin-top:2px}.palette-empty+.palette-group{margin-top:calc(var(--s-4) * -1)}.palette-item .secondary{text-overflow:ellipsis;max-width:300px;overflow:hidden}.palette-more{font-size:var(--t-footnote);color:var(--text-3);padding:8px 12px 6px}@media (hover:none) and (pointer:coarse){.scrim:has(>.palette){padding:calc(env(safe-area-inset-top,0px) + var(--s-3)) var(--s-3) var(--s-3)}.palette{width:100%}.palette-input input{font-size:17px}.palette-results{max-height:calc(var(--vv-height,100dvh) - 54px - var(--s-3) * 2 - env(safe-area-inset-top,0px) - 8px);overscroll-behavior:contain}.palette-item{min-height:44px}.palette-item .secondary{max-width:42vw}.palette-item.has-snippet .secondary{grid-area:3/2/auto/4;max-width:none;margin-top:1px}.palette-item.has-snippet .snippet{grid-row:2}}.palette-foot{gap:var(--s-4);padding:8px var(--s-5);box-shadow:0 -1px 0 var(--hairline);font-size:var(--t-caption);color:var(--text-3);display:flex}.palette-foot span{align-items:center;gap:5px;display:inline-flex}@media (hover:none){.palette-foot{display:none}}.toast-region{left:50%;bottom:calc(var(--s-6) + env(safe-area-inset-bottom,0px));z-index:80;gap:var(--s-2);width:max-content;max-width:calc(100vw - var(--s-8));pointer-events:none;justify-items:center;display:grid;position:fixed;transform:translate(-50%)}@media (width<=640px){.toast-region{bottom:calc(var(--tabbar-h) + var(--s-3) + env(safe-area-inset-bottom,0px))}}@media (hover:none) and (pointer:coarse){.btn .kbd{display:none}}.toast{align-items:center;gap:var(--s-4);border-radius:var(--r-md);background:var(--surface-overlay);min-height:38px;box-shadow:var(--shadow-overlay);font-size:var(--t-body-sm);color:var(--text-1);pointer-events:auto;animation:toast-in var(--dur-base) var(--ease-out);padding:0 6px 0 14px;display:flex}.toast:not(:has(button)){padding-right:14px}.toast.is-leaving{animation:toast-out var(--dur-fast) var(--ease-in-out) forwards}.toast button{height:26px;color:var(--text-1);font-weight:var(--w-semibold);border-radius:5px;padding:0 10px}.toast button:hover{background:var(--fill-hover)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@keyframes toast-out{to{opacity:0;transform:translateY(4px)}}.flashcard{--card-w:640px;--q-size:23px;--q-lh:1.38;--a-size:18px;--a-lh:1.56;--pad-x:60px;--pad-y:60px;--scale:calc(var(--user-scale,1) * var(--room-scale,1));width:min(100%, calc(var(--card-w) * var(--room-scale,1)));min-height:280px;padding:calc(var(--pad-y) + 10px) var(--pad-x) var(--pad-y);border-radius:var(--r-card);background:linear-gradient(180deg, var(--card-top-light), transparent 42%), var(--surface-card);box-shadow:var(--shadow-card);color:var(--text-1);isolation:isolate;flex-direction:column;display:flex;position:relative}:root[data-card-size=large]{--user-scale:1.12}.flashcard:before{content:"";z-index:-1;border-radius:inherit;background:radial-gradient(520px circle at var(--mx,50%) var(--my,-20%), var(--card-sheen), transparent 60%);pointer-events:none;position:absolute;inset:0}.fc-short{--card-w:580px;--q-size:30px;--q-lh:1.24;--a-size:23px;--a-lh:1.38;justify-content:center}.fc-medium{--card-w:640px}.fc-long{--card-w:700px;--q-size:19px;--q-lh:1.5;--a-size:16.5px;--a-lh:1.6;--pad-x:56px;--pad-y:52px}.fc-media{--card-w:760px;--q-size:20px;--q-lh:1.45;--a-size:16.5px;--a-lh:1.6;--pad-x:56px;--pad-y:52px}.fc-meta{top:24px;left:var(--pad-x);right:var(--pad-x);gap:var(--s-3);font-size:var(--t-footnote);color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;display:flex;position:absolute;overflow:hidden}.fc-meta .sep{color:var(--text-4);margin:0 6px}.fc-meta{align-items:center}.fc-meta .swatch{border-radius:50%;width:6px;height:6px;margin-right:-4px}:root[data-card-path=hide] .fc-meta:not(.is-editable){display:none}.fc-q,.fc-a{font-family:var(--font-display);hanging-punctuation:first;text-wrap:pretty}.fc-q{font-size:calc(var(--q-size) * var(--scale));line-height:var(--q-lh);font-weight:var(--w-regular);letter-spacing:-.016em;transition:color var(--dur-base) linear}.fc-short .fc-q{letter-spacing:-.024em;text-wrap:balance}.fc-rule{height:1px;margin:var(--s-8) 0 var(--s-6);background:var(--hairline-strong);transform-origin:0}.fc-short .fc-rule{margin:var(--s-6) 0 var(--s-5);width:var(--s-12)}.fc-a{font-size:calc(var(--a-size) * var(--scale));line-height:var(--a-lh);letter-spacing:-.008em;color:var(--text-1)}.fc-short .fc-a{letter-spacing:-.018em}.fc-long .fc-a{font-family:var(--font-serif);font-size:calc(17.5px * var(--scale));letter-spacing:0;line-height:1.62}.fc-long .fc-a code,.fc-long .fc-a pre{font-family:var(--font-mono)}.flashcard.is-revealed .fc-q{color:var(--text-2)}.flashcard:not(.is-revealed) .fc-answer{display:none}.rich>*+*{margin-top:.65em}.rich strong{font-weight:var(--w-semibold)}.rich em{font-style:italic}.rich u{text-underline-offset:3px;text-decoration-thickness:1px}.rich h3{font-size:1.1em;font-weight:var(--w-semibold);letter-spacing:-.01em;line-height:1.3}.rich .fc-placeholder{color:var(--text-4)}.rich a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--accent-line);text-decoration-color:var(--accent-line);text-underline-offset:3px;text-decoration-thickness:1px}.rich ul,.rich ol{padding-left:1.2em}.rich ul{padding-left:0;list-style:none}.rich ul li{padding-left:1.1em;position:relative}.rich ul li:before{content:"";opacity:.5;background:currentColor;width:.4em;height:1px;position:absolute;top:.78em;left:.1em}.rich ol li::marker{color:var(--text-3);font-variant-numeric:tabular-nums}.rich li+li{margin-top:.4em}.rich code{font-family:var(--font-mono);border-radius:var(--r-xs);background:var(--fill-control);letter-spacing:0;padding:.1em .34em;font-size:.84em}.rich pre{border-radius:var(--r-sm);background:var(--fill-control);font-family:var(--font-mono);letter-spacing:0;padding:14px 16px;font-size:13.5px;line-height:1.6;overflow-x:auto}.rich pre code{font-size:inherit;background:0 0;padding:0}.rich figure{margin-top:1.1em}.rich figure img,.rich figure svg{border-radius:var(--r-sm);width:100%;height:auto}.rich figcaption{font-size:var(--t-footnote);color:var(--text-3);font-family:var(--font-ui);letter-spacing:0;margin-top:8px}mjx-container>svg{display:inline-block}.rich mjx-container[display=true]{font-size:112%;margin:.9em 0!important}.rich p>mjx-container[display=true]:only-child{margin:.2em 0!important}.rich mjx-container{color:inherit}.rich .math-src{font-family:var(--font-mono);color:var(--text-3);font-size:.8em}.diagram .axis{stroke:var(--text-3);stroke-width:1.2px;fill:none}.diagram .curve{stroke:var(--text-1);stroke-width:1.8px;fill:none}.diagram .curve-shift{stroke:var(--text-2);stroke-width:1.5px;fill:none;stroke-dasharray:5 4}.diagram .guide{stroke:var(--text-4);stroke-width:1px;stroke-dasharray:2 3;fill:none}.diagram text{fill:var(--text-3);font-family:var(--font-ui);font-size:10.5px}.diagram .dwl{fill:var(--accent);opacity:0;transition:opacity var(--dur-base) linear}.is-revealed .diagram .dwl{opacity:.25}.review-controls{width:min(100%,540px);min-height:50px;position:relative}.reveal-btn,.rate{border-radius:var(--r-md);background:var(--fill-control);height:50px;color:var(--text-1);font-size:var(--t-body);font-weight:var(--w-medium);transition:background-color var(--dur-instant) linear, transform var(--dur-instant) var(--ease-out), opacity var(--dur-fast) linear}.reveal-btn{width:100%;color:var(--text-2);justify-content:center;align-items:center;gap:10px;display:inline-flex}.reveal-btn:hover{background:var(--fill-pressed);color:var(--text-1)}.ratings{gap:var(--s-2);grid-template-columns:repeat(4,1fr);display:grid}.rate{align-content:center;place-items:center;gap:3px;display:grid}.rate:hover{background:var(--fill-pressed)}.rate:active,.rate.is-chosen{background:var(--fill-pressed);color:var(--text-1);transform:scale(.98)}.rate .kbd-hint,.reveal-btn .kbd-hint{font-size:var(--t-caption);line-height:1;font-weight:var(--w-regular);color:var(--text-3);display:none}.kbd-used .rate .kbd-hint{display:block}.kbd-used .reveal-btn .kbd-hint{display:inline}.ratings .rate{animation:rate-in var(--dur-fast) var(--ease-out) backwards}.ratings .rate:nth-child(2){animation-delay:15ms}.ratings .rate:nth-child(3){animation-delay:30ms}.ratings .rate:nth-child(4){animation-delay:45ms}@keyframes rate-in{0%{opacity:0;transform:translateY(3px)}}.progress{background:var(--hairline);height:1px;position:relative;overflow:hidden}.progress>span{width:var(--p,0%);background:var(--accent-line);transition:width var(--dur-slow) var(--ease-out);position:absolute;inset:0 auto 0 0}:root[data-progress=hide] .review-top .progress{visibility:hidden}.chart-slot{width:100%;position:relative}.chart-slot>svg{display:block;overflow:visible}.chart text{fill:var(--text-3);font-family:var(--font-ui);font-variant-numeric:tabular-nums;font-size:11px}.chart .grid{stroke:var(--hairline);stroke-width:1px;shape-rendering:crispedges}.chart .baseline{stroke:var(--hairline-strong);stroke-width:1px;shape-rendering:crispedges}.chart .line{stroke:var(--accent);stroke-width:2px;fill:none;stroke-linejoin:round;stroke-linecap:round}.chart .line.is-neutral{stroke:var(--text-2)}.chart .area{fill:var(--accent);opacity:.08}.chart .area.is-neutral{fill:var(--text-2);opacity:.07}.chart .dot{fill:var(--accent);stroke:var(--bg-canvas);stroke-width:2px}.chart .dot.is-neutral{fill:var(--text-2)}.chart .crosshair{stroke:var(--text-3);stroke-width:1px;shape-rendering:crispedges}.chart .bar{fill:var(--chart-bar);transition:fill var(--dur-instant) linear}.chart .bar.is-now{fill:var(--accent)}.chart .bar.is-hot{fill:var(--chart-bar-hover)}.chart .bar.is-now.is-hot{fill:var(--accent);opacity:.85}.chart .avg{stroke:var(--text-3);stroke-width:1px;shape-rendering:crispedges}.chart .milestone{fill:var(--bg-canvas);stroke:var(--text-2);stroke-width:1.5px}.chart .strong{fill:var(--text-1)}.chart .cell{rx:2.5px}.chart .cell.is-hot{stroke:var(--text-1);stroke-width:1px}.chart .cell.is-today{stroke:var(--accent);stroke-width:1.5px}.heat-0{fill:var(--heat-0)}.heat-1{fill:var(--heat-1)}.heat-2{fill:var(--heat-2)}.heat-3{fill:var(--heat-3)}.heat-4{fill:var(--heat-4)}.heat-legend{font-size:var(--t-caption);color:var(--text-3);align-items:center;gap:3px;display:inline-flex}.heat-legend i{border-radius:2.5px;width:10px;height:10px;display:inline-block}.heat-legend .heat-0{background:var(--heat-0)}.heat-legend .heat-1{background:var(--heat-1)}.heat-legend .heat-2{background:var(--heat-2)}.heat-legend .heat-3{background:var(--heat-3)}.heat-legend .heat-4{background:var(--heat-4)}.heat-legend span{margin:0 4px}.chart-tip{z-index:90;pointer-events:none;border-radius:var(--r-sm);background:var(--surface-overlay);box-shadow:var(--shadow-overlay);font-size:var(--t-footnote);white-space:nowrap;padding:7px 10px;line-height:1.35;position:fixed;transform:translate(-50%,calc(-100% - 10px))}.chart-tip b{color:var(--text-1);font-weight:var(--w-semibold);font-size:var(--t-body-sm);font-variant-numeric:tabular-nums;display:block}.chart-tip span{color:var(--text-3)}.spark{display:block}.spark .line{stroke-width:1.5px}.split-bar{border-radius:3px;gap:2px;height:6px;display:flex;overflow:hidden}.split-bar>span{background:var(--text-4);min-width:2px}.split-bar>span:nth-child(2){background:var(--text-3)}.split-bar>span:nth-child(3){background:var(--text-2)}.split-bar>span:nth-child(4){background:var(--text-1)}.figures{gap:var(--s-6);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.figure{align-content:start;gap:6px;min-width:0;display:grid}.figure .label{font-size:var(--t-footnote);color:var(--text-3)}.figure .value{font-family:var(--font-display);font-size:28px;line-height:1.05;font-weight:var(--w-light);letter-spacing:-.028em}.figure .value small{font-size:var(--t-body-sm);color:var(--text-3);letter-spacing:0;font-weight:var(--w-regular);margin-left:4px}.figure .note{font-size:var(--t-footnote);color:var(--text-3);font-variant-numeric:tabular-nums}.empty{justify-items:center;gap:var(--s-4);padding:var(--s-16) var(--s-4);text-align:center;display:grid}.empty h2{font-family:var(--font-serif);font-size:24px;line-height:1.25;font-weight:var(--w-regular);letter-spacing:-.005em}.empty p{max-width:44ch;color:var(--text-2)}.empty .actions{gap:var(--s-2);margin-top:var(--s-2);display:flex}.empty.is-inline{text-align:left;padding:var(--s-8) 0;justify-items:start}.card-still{width:220px;height:140px;margin-bottom:var(--s-4);position:relative}.card-still span{background:var(--surface-card);box-shadow:var(--shadow-card-under);border-radius:12px;position:absolute;inset:0}.card-still span:first-child{opacity:.55;transform:rotate(-5deg)translate(-18px,6px)}.card-still span:nth-child(2){opacity:.75;transform:rotate(3deg)translate(14px,2px)}.card-still span:nth-child(3){box-shadow:var(--shadow-card-rest)}.card-still span:nth-child(3):after{content:"";background:var(--hairline-strong);width:48px;height:1px;position:absolute;top:50%;left:28px}.card-still.is-squared span:first-child{opacity:.45;transform:translateY(14px)scale(.9)}.card-still.is-squared span:nth-child(2){opacity:.7;transform:translateY(7px)scale(.95)}.card-still.is-small{width:132px;height:84px;margin:0}.card-still.is-small span{border-radius:8px}.card-still.is-small span:nth-child(3):after{width:30px;left:18px}.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);height:100dvh;transition:transform var(--dur-slow) var(--ease-out), opacity var(--dur-slow) var(--ease-out), filter var(--dur-slow) linear;transform-origin:50% 40%;display:grid}.app.is-receded{opacity:0;transform:scale(.985)}.sidebar{gap:var(--s-4);min-width:0;padding:calc(var(--s-4) + env(safe-area-inset-top,0px)) 10px var(--s-3);background:var(--bg-sidebar);box-shadow:inset -1px 0 0 var(--hairline);flex-direction:column;display:flex}.search-trigger{border-radius:var(--r-sm);background:var(--fill-control);height:30px;color:var(--text-3);font-size:var(--t-body-sm);transition:background-color var(--dur-instant) linear, color var(--dur-instant) linear;align-items:center;gap:8px;padding:0 8px 0 10px;display:flex}.search-trigger:hover{background:var(--fill-pressed);color:var(--text-2)}.search-trigger .kbd{background:0 0;margin-left:auto;padding:0}.nav{gap:1px;display:grid}.nav-item{border-radius:var(--r-sm);height:30px;font-size:var(--t-body-sm);font-weight:var(--w-medium);color:var(--text-2);text-align:left;transition:background-color var(--dur-instant) linear, color var(--dur-instant) linear;align-items:center;gap:10px;padding:0 10px;display:flex}.nav-item .icon{color:var(--text-3);transition:color var(--dur-instant) linear}.nav-item:hover{background:var(--fill-hover);color:var(--text-1)}.nav-item[aria-current=page]{background:var(--fill-selected);color:var(--text-1)}.nav-item[aria-current=page] .icon{color:var(--accent)}.nav-item .count{font-size:var(--t-footnote);font-weight:var(--w-regular);color:var(--text-3);font-variant-numeric:tabular-nums;margin-left:auto}.sidebar-foot{gap:var(--s-2);margin-top:auto;display:grid}.connection{font-size:var(--t-footnote);color:var(--text-3);align-items:center;gap:8px;padding:0 10px;display:flex}.connection i{width:7px;height:7px;box-shadow:inset 0 0 0 1.5px var(--text-3);border-radius:50%;flex:none}.connection[data-tone=ok] i,.sync-state[data-tone=ok] i{background:var(--text-3);box-shadow:none}.connection[data-tone=busy] i,.sync-state[data-tone=busy] i{animation:1.2s ease-in-out infinite sync-pulse}.connection[data-tone=issue],.sync-state[data-tone=issue]{color:var(--text-1)}.connection[data-tone=issue] i,.sync-state[data-tone=issue] i{box-shadow:inset 0 0 0 1.5px var(--text-1)}@keyframes sync-pulse{50%{opacity:.35}}:root[data-motion=reduce] .connection i,:root[data-motion=reduce] .sync-state i{animation:none}.sync-state{font-size:var(--t-footnote);color:var(--text-3);flex:none;align-items:center;gap:7px;display:inline-flex}.sync-state i{width:7px;height:7px;box-shadow:inset 0 0 0 1.5px var(--text-3);border-radius:50%}.avatar.is-empty{color:var(--text-3)}.avatar.is-empty:before{content:"";width:14px;height:14px;-webkit-mask:var(--person) center / contain no-repeat;-webkit-mask:var(--person) center / contain no-repeat;mask:var(--person) center / contain no-repeat;--person:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='7' r='3.6'/%3E%3Cpath d='M3.2 17.5c.6-3.6 3.4-5.8 6.8-5.8s6.2 2.2 6.8 5.8Z'/%3E%3C/svg%3E");background:currentColor}.profile-btn{border-radius:var(--r-sm);text-align:left;width:100%;height:40px;font-size:var(--t-body-sm);font-weight:var(--w-medium);color:var(--text-1);align-items:center;gap:10px;padding:0 8px;display:flex}.profile-btn:hover{background:var(--fill-hover)}.profile-btn .icon{color:var(--text-3);margin-left:auto}.profile-btn{min-width:0}.profile-btn .label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.avatar{background:var(--fill-pressed);width:24px;height:24px;color:var(--text-2);font-size:10px;font-weight:var(--w-semibold);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;display:grid}.main{scroll-behavior:smooth;min-width:0;position:relative;overflow:hidden auto}@media (prefers-reduced-motion:reduce){.main{scroll-behavior:auto}}html.is-page-locked body{width:100%;position:fixed;inset:0}html.is-page-locked #root{transform:translateY(var(--vv-top,0px))}html.is-page-locked .scrim{top:var(--vv-top,0px);height:var(--vv-height,100%);bottom:auto}html.is-page-locked .main{scroll-behavior:auto}@media (hover:none) and (pointer:coarse){html.is-page-locked .main{overflow:hidden}}.toolbar{padding:env(safe-area-inset-top,0px) var(--s-6) 0}.toolbar-row{align-items:center;gap:var(--s-3);height:var(--toolbar-h);display:flex}.toolbar .spacer{flex:1}.toolbar .mobile-only{display:none}.toolbar-title{font-family:var(--font-serif);font-size:22px;line-height:1;font-weight:var(--w-regular);letter-spacing:-.01em;color:var(--text-1);white-space:nowrap}.crumbs{min-width:0;font-size:var(--t-body-sm);color:var(--text-3);align-items:center;gap:2px;display:flex}.crumbs button{white-space:nowrap;text-overflow:ellipsis;height:26px;transition:background-color var(--dur-instant) linear, color var(--dur-instant) linear;border-radius:5px;padding:0 6px;overflow:hidden}.crumbs button:hover{background:var(--fill-hover);color:var(--text-1)}.crumbs .current{color:var(--text-1);font-weight:var(--w-medium);white-space:nowrap;text-overflow:ellipsis;padding:0 6px;overflow:hidden}.crumbs .icon{color:var(--text-4);flex:none}.page{width:100%;max-width:var(--content-max);padding:var(--s-6) var(--s-10) var(--s-24);animation:page-in var(--dur-fast) var(--ease-out);margin:0 auto}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}}.tabbar{display:none}@media (width>=1600px){:root{--content-max:1040px;--sidebar-w:248px}.page{padding-top:var(--s-10)}}@media (width<=960px){:root{--sidebar-w:60px}.sidebar{align-items:center;padding-inline:8px}.sidebar .label,.sidebar .count,.connection .label,.search-trigger .kbd,.search-trigger .label,.profile-btn .label,.profile-btn .icon{display:none}.search-trigger,.sidebar .nav-item{justify-content:center;width:40px;height:36px;padding:0}.search-trigger{background:0 0}.search-trigger:hover{background:var(--fill-hover)}.sidebar .nav-item .icon{width:18px;height:18px}.profile-btn{justify-content:center;width:40px;padding:0}.page{padding-inline:var(--s-8)}}@media (width<=640px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.toolbar{z-index:20;padding:calc(env(safe-area-inset-top,0px) + var(--s-2)) var(--s-4) 0;background:var(--bg-canvas);position:sticky;top:0}.main{scroll-padding-top:calc(var(--toolbar-h) + var(--s-2) + env(safe-area-inset-top,0px))}.toolbar .mobile-only{display:inline-flex}.page{padding:var(--s-4) var(--s-4) calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + var(--s-12))}.tabbar{z-index:30;padding:4px var(--s-4) env(safe-area-inset-bottom,0px);min-height:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));background:var(--bg-sidebar);box-shadow:0 -1px 0 var(--hairline);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{font-size:11px;line-height:1.15;font-weight:var(--w-medium);color:var(--text-3);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;transition:color var(--dur-fast) var(--ease-out);justify-items:center;gap:3px;padding:4px 0;display:grid}.tabbar button .icon{width:26px;height:26px}.tabbar button[aria-current=page]{color:var(--accent)}.crumbs>button:not(:nth-last-child(3)),.crumbs>.icon:not(:nth-last-child(2)){display:none}.crumbs>button{flex:0 auto;min-width:3em}.crumbs>.current{flex:0 2 auto;min-width:3em}.toolbar:has([data-action=editor-done]) .crumbs{display:none}}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--s-6);margin-bottom:var(--s-10);flex-wrap:wrap;display:flex}.page-head .titles{gap:6px;min-width:0;display:grid}.page-head .eyebrow{font-size:var(--t-body-sm);color:var(--text-3);font-variant-numeric:tabular-nums}.page-head .meta{color:var(--text-3);font-size:var(--t-body-sm);font-variant-numeric:tabular-nums}.page-head .meta,.today-lead .breakdown{flex-wrap:wrap;gap:0 18px;display:flex;overflow:hidden}.page-head .meta>*,.today-lead .breakdown>*{white-space:nowrap;margin-left:-18px}.page-head .meta>:before,.today-lead .breakdown>:before{content:"·";text-align:center;width:18px;color:var(--text-4);display:inline-block}.title-with-swatch{align-items:center;gap:14px;display:flex}.title-with-swatch .swatch{transform:translateY(1px)}.page-head .actions{gap:var(--s-2);align-items:center;display:flex}.today-head{margin:var(--s-8) 0 var(--s-10)}.today-head .greeting{font-size:var(--t-body-sm);color:var(--text-3);letter-spacing:.005em}.today-head h1{margin-top:4px}.today-lead{align-items:end;gap:var(--s-8);grid-template-columns:minmax(0,1fr) auto;display:grid}.today-lead .figure-line{align-items:baseline;column-gap:var(--s-3);flex-wrap:wrap;display:flex}.today-lead .t-display{font-variant-numeric:proportional-nums}.today-lead .unit{font-size:var(--t-title-3);color:var(--text-2);letter-spacing:-.01em}.today-lead .breakdown{margin-top:var(--s-2);color:var(--text-3);font-variant-numeric:tabular-nums;row-gap:4px}.today-lead .resume{margin-bottom:var(--s-3);color:var(--text-2);font-size:var(--t-body-sm)}.today-lead .study{justify-items:end;gap:var(--s-2);display:grid}.today-lead .study .note{font-size:var(--t-footnote);color:var(--text-3)}.today-lead .mix{margin-top:var(--s-2);grid-column:1/-1}.mix-bar{border-radius:2px;gap:2px;height:4px;display:flex;overflow:hidden}.mix-bar i{flex:var(--n) 1 0;background:var(--tint);opacity:.85}.mix-legend{gap:6px var(--s-5);margin-top:var(--s-3);font-size:var(--t-footnote);color:var(--text-3);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.mix-legend span{align-items:center;gap:7px;display:inline-flex}.mix-legend b{font-weight:var(--w-medium);color:var(--text-2)}.today-clear{align-items:center;gap:var(--s-8);grid-template-columns:minmax(0,1fr) auto;display:grid}.today-clear h2{font-family:var(--font-serif);font-size:28px;line-height:1.2;font-weight:var(--w-regular);letter-spacing:-.01em}.today-clear p{margin-top:var(--s-2);color:var(--text-2);max-width:46ch}.today-clear .actions{gap:var(--s-2);margin-top:var(--s-5);flex-wrap:wrap;display:flex}.shelf{gap:var(--s-3);padding-top:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(128px,1fr));display:grid}.home-lower{gap:var(--s-12);grid-template-columns:minmax(0,3fr) minmax(0,2fr);display:grid}.home-lower .section{margin-top:var(--s-12)}.activity .row{min-height:42px;font-size:var(--t-body-sm);padding:0}.activity .what{min-width:0;color:var(--text-1);flex:1}.activity .count{color:var(--text-3);font-variant-numeric:tabular-nums}.activity .when{color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap}.library{gap:var(--s-5) var(--s-4);grid-template-columns:repeat(auto-fill,minmax(196px,1fr));display:grid}.volume.is-arriving{animation:arrive var(--dur-base) var(--ease-settle)}@keyframes arrive{0%{opacity:0;transform:translateY(6px)scale(.98)}}.overview{align-items:end;gap:var(--s-10);margin-bottom:var(--s-12);grid-template-columns:minmax(0,1fr) minmax(240px,320px);display:grid}.overview .figures{justify-content:start;column-gap:var(--s-10);grid-template-columns:repeat(3,minmax(0,auto))}.retention-mini{gap:var(--s-2);display:grid}.retention-mini .top{font-size:var(--t-footnote);color:var(--text-3);justify-content:space-between;align-items:baseline;display:flex}.cat-row.is-arriving{animation:arrive var(--dur-base) var(--ease-settle)}.page-head .num-prefix{color:var(--text-3);font-weight:var(--w-light);font-variant-numeric:tabular-nums;margin-right:12px}.cards-section .section-head{align-items:center}.editor{justify-items:center;gap:var(--s-4);padding-top:var(--s-10);display:grid}.fmt-pop{z-index:40;border-radius:var(--r-md);background:var(--surface-overlay);box-shadow:var(--shadow-overlay);animation:fade-in var(--dur-fast) linear;align-items:center;gap:1px;padding:3px;display:inline-flex;position:fixed;transform:translate(-50%,calc(-100% - 8px))}.fmt-btn{width:30px;height:28px;color:var(--text-2);transition:background-color var(--dur-instant) linear, color var(--dur-instant) linear;border-radius:5px;place-items:center;font-size:14px;display:grid}.fmt-btn:hover{background:var(--fill-hover);color:var(--text-1)}.fmt-btn[aria-pressed=true]{background:var(--fill-selected);color:var(--text-1)}.fmt-btn .glyph-b{font-weight:700}.fmt-btn .glyph-i{font-family:Georgia,New York,serif;font-size:15px;font-style:italic}.fmt-btn .glyph-u{text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.fmt-btn .glyph-h{font-size:13.5px;font-weight:600}.fmt-sep{background:var(--hairline-strong);width:1px;height:16px;margin:0 4px}.composer.flashcard{min-height:0;box-shadow:var(--shadow-card-rest);justify-content:flex-start}.composer .fc-meta.is-editable{pointer-events:auto;right:calc(var(--pad-x) + 56px);overflow:visible}.composer .deck-pick{min-width:0;max-width:100%;color:var(--text-3);transition:background-color var(--dur-instant) linear, color var(--dur-instant) linear;border-radius:5px;align-items:center;gap:4px;margin:-3px -6px;padding:3px 6px;display:inline-flex}.composer .deck-pick .crumb{text-overflow:ellipsis;flex:0 100 auto;min-width:2.5em;overflow:hidden}.composer .deck-pick .crumb:last-of-type{flex-shrink:1;min-width:4em}.composer .deck-pick .sep,.composer .deck-pick .icon{flex:none}.composer .deck-pick:hover{background:var(--fill-hover);color:var(--text-1)}.composer .side{position:relative}.composer .side-label{font-size:var(--t-footnote);color:var(--text-4);transition:color var(--dur-fast) linear;position:absolute;right:0}.composer .side:focus-within .side-label{color:var(--text-3)}.composer .side-label.is-front{top:calc(24px - var(--pad-y) - 10px)}.composer .side-label.is-back{top:-21px}.composer .field{min-height:1.4em;caret-color:var(--accent);outline:none}.composer .fc-rule{margin-block:var(--s-8) var(--s-6);width:auto}.composer .field:empty:before{content:attr(data-placeholder);color:var(--text-4);pointer-events:none}.composer .field:focus-visible{outline:none}.composer .math.is-block{display:block}.composer-foot{width:min(100%, var(--card-w,640px));justify-content:space-between;align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.composer-foot .hint{color:var(--text-3);font-size:var(--t-footnote)}.composer-foot .end{align-items:center;gap:var(--s-4);display:flex}.insert-bar{gap:1px;margin-left:-6px;display:inline-flex}.insert-bar .fmt-btn{color:var(--text-3)}.insert-bar .fmt-btn:hover{color:var(--text-1)}.save-note{font-size:var(--t-footnote);color:var(--text-3);transition:opacity var(--dur-slow) linear;align-items:center;gap:5px;display:inline-flex}.save-note.is-faded{opacity:0}.save-note.is-note{color:var(--text-2)}.composer-stage{justify-items:center;gap:var(--s-5);width:100%;display:grid}.composer-stage.is-preview{display:none}.preview-stage{justify-items:center;gap:var(--s-6);width:100%;padding:var(--s-8) 0 var(--s-4);display:grid}.preview-stage .note{font-size:var(--t-footnote);color:var(--text-3)}.composer.is-sending{animation:send var(--dur-base) var(--ease-in-out)}@keyframes send{40%{opacity:0;transform:translateY(10px)scale(.985)}41%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.review{--room-scale:1;z-index:50;background:radial-gradient(ellipse 60% 55% at 50% 44%, var(--review-light), transparent 72%), var(--bg-review);animation:review-in var(--dur-slow) var(--ease-out);grid-template-rows:minmax(0,1fr);display:grid;position:fixed;inset:0}.review.is-leaving{animation:review-out var(--dur-base) var(--ease-in-out) forwards}@keyframes review-in{0%{opacity:0}}@keyframes review-out{to{opacity:0}}.review-top{z-index:2;justify-content:space-between;align-items:center;gap:var(--s-4);height:56px;padding:env(safe-area-inset-top,0px) var(--s-4) 0;transition:opacity var(--dur-slow) var(--ease-out);display:flex;position:absolute;inset:0 0 auto}.review.is-idle .review-top:not(:focus-within){opacity:0}.review .progress{left:0;right:0;top:env(safe-area-inset-top,0px);z-index:3;opacity:.8;position:absolute}.review-top .scope{font-size:var(--t-footnote);color:var(--text-3)}.review-top .left{align-items:center;gap:var(--s-2);display:flex}.review-top .btn-icon{color:var(--text-3)}@media (hover:none){.review.is-idle .review-top:not(:focus-within){opacity:1}}@media (pointer:coarse){.review-top .btn-icon[data-action=end-review]{width:44px;height:44px;margin-left:calc(var(--s-2) * -1)}}.review-stage{padding:72px var(--s-6) 7vh;flex-direction:column;align-items:center;display:flex;overflow-y:auto}.review-stage>*{margin-block:auto}.review-composition{justify-items:center;gap:var(--s-8);width:100%;display:grid}.review .flashcard{justify-content:center;min-height:clamp(260px,36vh,440px)}@media (width>=1680px){.review{--room-scale:1.1}}@media (width>=2200px){.review{--room-scale:1.22}}@media (height<=760px){.review-composition{gap:var(--s-6)}.review .flashcard{min-height:240px}}.card-stack{justify-items:center;width:100%;display:grid;position:relative}.card-stack .flashcard{grid-area:1/1}.fc-under{width:min(100%, calc(var(--card-w,640px) * var(--room-scale,1)));border-radius:var(--r-card);background:var(--surface-card-under);box-shadow:var(--shadow-card-under);transform-origin:50% 100%;transition:transform var(--dur-base) var(--ease-out), opacity var(--dur-base) linear;grid-area:1/1;align-self:stretch}.fc-under.u1{opacity:.9;transform:translateY(8px)scale(.965)}.fc-under.u2{opacity:.5;transform:translateY(16px)scale(.93)}.flashcard.is-entering{transform-origin:50% 100%;animation:card-in .3s var(--ease-settle) backwards}.flashcard.is-leaving{animation:card-out .15s var(--ease-in-out) forwards}@keyframes card-in{0%{opacity:.6;transform:translateY(8px)scale(.965)}}@keyframes card-out{to{opacity:0;transform:translateY(-12px)scale(.99)}}.fc-rule.is-drawing{animation:rule-draw var(--dur-base) var(--ease-out)}@keyframes rule-draw{0%{opacity:0;transform:scaleX(.15)}}.fc-answer.is-appearing{animation:answer-in var(--dur-base) var(--ease-out) 40ms backwards}@keyframes answer-in{0%{opacity:0;transform:translateY(6px)}}.complete{gap:var(--s-8);width:min(100%,520px);display:grid}.complete>*{animation:answer-in var(--dur-slow) var(--ease-out) backwards}.complete>:nth-child(2){animation-delay:60ms}.complete>:nth-child(3){animation-delay:.12s}.complete>:nth-child(4){animation-delay:.18s}.complete>:nth-child(5){animation-delay:.24s}.complete>:nth-child(6){animation-delay:.3s}.complete .headline{gap:var(--s-2);display:grid}.complete .headline .figure-line{align-items:baseline;gap:var(--s-3);flex-wrap:wrap;display:flex}.complete .headline .unit{font-size:var(--t-title-3);color:var(--text-2);letter-spacing:-.01em}.complete .figures{padding:var(--s-6) 0;box-shadow:0 -1px 0 var(--hairline), 0 1px 0 var(--hairline);grid-template-columns:repeat(3,1fr)}.complete .outcomes{gap:var(--s-3);display:grid}.complete .legend{font-size:var(--t-footnote);color:var(--text-3);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.complete .legend b{font-weight:var(--w-medium);color:var(--text-2);margin-left:4px}.complete .next{color:var(--text-2);gap:4px;display:grid}.complete .next .milestone{color:var(--text-1)}.complete .actions{gap:var(--s-2);display:flex}.stats-hero{gap:var(--s-2);display:grid}.stats-hero .figure-line{align-items:baseline;gap:var(--s-3);flex-wrap:wrap;display:flex}.stats-hero .big{font-family:var(--font-display);font-size:52px;line-height:1;font-weight:var(--w-light);letter-spacing:-.035em}.stats-hero .big small{font-size:var(--t-title-3);color:var(--text-3);letter-spacing:0;margin-left:2px}.stats-hero .delta{font-size:var(--t-body-sm);color:var(--text-2);font-variant-numeric:tabular-nums}.stats-hero .explain{font-size:var(--t-footnote);color:var(--text-3)}.stats-hero .chart-slot{margin-top:var(--s-5)}.insight{margin-top:var(--s-6);font-size:var(--t-body-sm);color:var(--text-2);align-items:baseline;gap:10px;display:flex}.insight:before{content:"";background:var(--text-3);border-radius:50%;flex:none;width:5px;height:5px;transform:translateY(-2px)}.stats-figures{margin-top:var(--s-10);padding-top:var(--s-6);box-shadow:0 -1px 0 var(--hairline)}.stats-pair{gap:var(--s-10);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.stats-overview{gap:var(--s-3);margin-top:var(--s-10);padding-top:var(--s-6);box-shadow:0 -1px 0 var(--hairline);display:grid}.stats-overview:first-of-type{box-shadow:none;margin-top:0;padding-top:0}.stats-overview .figure-line{align-items:baseline;gap:var(--s-3);flex-wrap:wrap;display:flex}.stats-overview .big{font-family:var(--font-display);font-size:40px;line-height:1;font-weight:var(--w-light);letter-spacing:-.03em}.stats-overview .delta{font-size:var(--t-body-sm);color:var(--text-2);font-variant-numeric:tabular-nums}.stats-overview .explain{font-size:var(--t-footnote);color:var(--text-3);max-width:64ch}.stage-bar{height:6px;margin-top:var(--s-2);border-radius:3px;gap:2px;display:flex;overflow:hidden}.stage-bar>span{min-width:2px}.stage-new{background:var(--text-4)}.stage-learning{background:var(--text-3)}.stage-relearning{background:var(--text-2)}.stage-young{background:var(--text-1)}.stage-mature{background:var(--accent)}.stage-legend{gap:var(--s-2) var(--s-6);font-size:var(--t-footnote);color:var(--text-3);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.stage-legend span{align-items:center;gap:6px;display:inline-flex}.stage-legend i{border-radius:2px;width:7px;height:7px}.stage-legend b{font-weight:var(--w-medium);color:var(--text-1)}.stats-empty{margin-top:var(--s-10)}.answers{gap:var(--s-4);display:grid}.answer-rows{display:grid}.time-row{gap:var(--s-4);font-size:var(--t-body-sm);grid-template-columns:minmax(0,1fr) auto 96px;align-items:baseline;padding:9px 0;display:grid}.time-row+.time-row{box-shadow:0 -1px 0 var(--hairline)}.time-row .num{text-align:right;font-variant-numeric:tabular-nums}.time-row .muted{color:var(--text-3)}.heat-foot{justify-content:space-between;align-items:center;gap:var(--s-4);margin-top:var(--s-3);font-size:var(--t-footnote);color:var(--text-3);flex-wrap:wrap;display:flex}.perf-head,.perf-row{align-items:center;column-gap:var(--s-4);grid-template-columns:minmax(0,1.4fr) 96px 72px minmax(0,1fr) 72px 20px;display:grid}.perf-head{padding-bottom:var(--s-2);box-shadow:0 1px 0 var(--hairline)}.perf-head span{font-size:var(--t-caption);color:var(--text-3);letter-spacing:.01em}.perf-head span:nth-child(n+3){text-align:right}.perf-row{width:100%;min-height:52px;margin:0 calc(var(--s-2) * -1);padding:0 var(--s-2);border-radius:var(--r-sm);text-align:left;box-sizing:content-box;font-size:var(--t-body-sm);font-variant-numeric:tabular-nums;transition:background-color var(--dur-instant) linear}.perf-row+.perf-row{box-shadow:0 -1px 0 var(--hairline)}.perf-row:hover,.perf-row:hover+.perf-row{box-shadow:none}.perf-row:hover{background:var(--fill-hover)}.perf-row .name{font-size:var(--t-body);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:10px;display:flex;overflow:hidden}.perf-row .num{text-align:right}.perf-row .muted{color:var(--text-3)}.perf-row .icon{color:var(--text-4)}.perf-row .maturity{align-items:center;gap:var(--s-3);justify-content:flex-end;display:flex}.perf-row .maturity .bar{background:var(--hairline-strong);border-radius:1px;flex:none;width:64px;height:2px;overflow:hidden}.perf-row .maturity .bar i{background:var(--text-3);height:100%;display:block}.leech{gap:var(--s-4);font-size:var(--t-body-sm);text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;padding:10px 0;display:grid}.leech+.leech{box-shadow:0 -1px 0 var(--hairline)}.leech .q{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.leech .n{color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap}.leech:hover .q{text-decoration:underline;-webkit-text-decoration-color:var(--hairline-strong);text-decoration-color:var(--hairline-strong);text-underline-offset:3px}.settings-window{border-radius:var(--r-lg);background:var(--surface-overlay);width:min(100%,760px);height:min(560px,100dvh - 32px);box-shadow:var(--shadow-overlay);animation:modal-in var(--dur-base) var(--ease-out);grid-template-columns:188px minmax(0,1fr);display:grid;overflow:hidden}.settings-nav{padding:var(--s-4) 10px;background:var(--bg-sidebar);box-shadow:inset -1px 0 0 var(--hairline);align-content:start;gap:1px;display:grid}.settings-nav h2{font-size:var(--t-body-sm);font-weight:var(--w-semibold);padding:4px 10px 12px}.settings-body{grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.settings-top{padding:var(--s-4) var(--s-6) var(--s-2);justify-content:space-between;align-items:center;display:flex}.settings-top h3{font-size:var(--t-headline);font-weight:var(--w-semibold);letter-spacing:-.01em}.settings-content{padding:0 var(--s-6) var(--s-6);overflow-y:auto}.settings-group+.settings-group{margin-top:var(--s-6)}.settings-group .group-label{font-size:var(--t-footnote);color:var(--text-3);margin:var(--s-4) 0 var(--s-1)}.settings-row{justify-content:space-between;align-items:center;gap:var(--s-4);min-height:48px;font-size:var(--t-body-sm);padding:8px 0;display:flex}.settings-row+.settings-row{box-shadow:0 -1px 0 var(--hairline)}.settings-row .desc{color:var(--text-3);font-size:var(--t-footnote);text-wrap:pretty;max-width:50ch;margin-top:2px}.settings-row .kbd+.kbd{margin-left:3px}.stepper{background:var(--fill-control);border-radius:7px;align-items:center;gap:2px;padding:2px;display:inline-flex}.stepper button{width:24px;height:24px;color:var(--text-2);border-radius:5px;place-items:center;display:grid}.stepper button:hover{background:var(--fill-hover);color:var(--text-1)}.stepper output{text-align:center;min-width:36px;font-size:var(--t-body-sm);font-variant-numeric:tabular-nums}.settings-prose{font-size:var(--t-body-sm);color:var(--text-2);max-width:52ch;padding-top:var(--s-4)}.settings-prose+.settings-prose{padding-top:var(--s-2)}.settings-prose.is-lead{padding-top:var(--s-6)}.account-form{gap:var(--s-3);padding-top:var(--s-4);max-width:420px;display:grid}.form-field{font-size:var(--t-footnote);color:var(--text-2);gap:6px;display:grid}.form-field .input{height:36px;font-size:var(--t-body);padding:0 12px}.form-note{min-height:1.2em;font-size:var(--t-footnote);color:var(--text-2)}.form-actions{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.form-actions .spacer{flex:1}.form-actions .btn-ghost{padding-left:0;padding-right:0}.modal-body .form-field{margin-top:var(--s-4)}@media (pointer:coarse){.form-field .input{height:44px;font-size:16px}}.restored-panel{padding:var(--s-3) var(--s-4) var(--s-4);margin-top:var(--s-4);border-radius:var(--r-md);background:var(--fill-control)}.restored-panel .settings-row{min-height:0}.restored-panel .form-actions{padding-top:var(--s-2);justify-content:flex-end}.modal-actions .spacer{flex:1}.modal-actions .btn-ghost{margin-left:calc(var(--s-2) * -1)}.settings-subhead{margin:var(--s-8) 0 var(--s-1);font-size:var(--t-footnote);font-weight:var(--w-medium);color:var(--text-3)}.kbd-set{flex:none;display:inline-flex}.stepper output{min-width:44px}@media (pointer:coarse){.stepper button{width:36px;height:36px;font-size:18px}.settings-row .btn{min-height:40px}.settings-row{min-height:52px}}@media (width>=1600px){.library{grid-template-columns:repeat(auto-fill,minmax(216px,1fr))}}@media (width<=1100px){.overview{gap:var(--s-8);grid-template-columns:minmax(0,1fr)}.retention-mini{max-width:420px}.stats-pair{grid-template-columns:minmax(0,1fr);gap:0}}@media (width<=820px){.home-lower{grid-template-columns:minmax(0,1fr);gap:0}.flashcard{--pad-x:44px;--pad-y:48px}.fc-short{--q-size:27px;--a-size:21px}.figures{row-gap:var(--s-6);grid-template-columns:repeat(2,minmax(0,1fr))}.perf-head,.perf-row{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr) 20px}.perf-head span:nth-child(2),.perf-row>:nth-child(2),.perf-head span:nth-child(5),.perf-row>:nth-child(5){display:none}.settings-window{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.settings-nav{padding:var(--s-2) var(--s-3);box-shadow:inset 0 -1px 0 var(--hairline);scrollbar-width:none;grid-auto-columns:max-content;grid-auto-flow:column;place-content:center start;gap:2px;overflow-x:auto}.settings-nav::-webkit-scrollbar{display:none}.settings-nav h2{display:none}.settings-nav .nav-item{white-space:nowrap}}@media (width<=640px){.today-head{margin:var(--s-2) 0 var(--s-6)}.lead{padding:var(--s-6) var(--s-5) var(--s-5)}.today-lead,.today-clear{gap:var(--s-6);grid-template-columns:minmax(0,1fr)}.today-lead .study{order:3;justify-items:stretch}.today-lead .study .btn-xl{width:100%}.today-lead .study .note{text-align:center}.today-lead .t-display{font-size:56px}.today-clear .card-still{display:none}.shelf{scroll-snap-type:x mandatory;scroll-padding-inline:var(--s-4);margin-inline:calc(var(--s-4) * -1);padding:var(--s-2) var(--s-4) var(--s-2);scrollbar-width:none;grid-template-columns:none;grid-auto-columns:132px;grid-auto-flow:column;overflow-x:auto}.shelf::-webkit-scrollbar{display:none}.shelf .volume{scroll-snap-align:start;padding:var(--s-3)}.shelf .volume .v-title{font-size:var(--t-body)}.library{gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr))}.volume.is-large{padding:var(--s-4)}.volume.is-large .v-title{font-size:var(--t-headline)}.volume.is-large .v-contents{display:none}.library .volume{aspect-ratio:auto;min-height:144px}.catalogue{--gutter:22px;--col:44px;--indent:14px}.cat-head,.cat-row{grid-template-columns:var(--gutter) minmax(0, 1fr) var(--col) 30px;column-gap:var(--s-2)}.cat-head span:nth-child(4),.cat-head span:nth-child(5),.cat-count,.cat-mature,.cat-leader,.cat-actions .more{display:none}.cat-row.lvl-0 .cat-title{font-size:var(--t-callout)}.card-row{column-gap:var(--s-2);grid-template-columns:minmax(0,1fr) 44px 32px}.card-row .where{display:none}.flashcard{--pad-x:24px;--pad-y:40px;min-height:220px}.fc-short{--q-size:24px;--a-size:19px}.fc-medium{--q-size:20px;--a-size:16.5px}.fc-long,.fc-media{--q-size:17px;--a-size:15.5px}.fc-meta{top:16px}.review-stage{padding:56px var(--s-4) var(--s-4)}.review-stage>*{margin-block:auto 0}.review-composition{gap:var(--s-5);min-height:100%;padding-bottom:env(safe-area-inset-bottom,0px);grid-template-rows:1fr auto}.review-composition .card-stack{align-self:center}.review-stage>.complete{margin-block:auto}.review .flashcard{min-height:44vh}.rate,.reveal-btn{height:56px}.composer.flashcard{--pad-x:22px}.complete .figures{gap:var(--s-4)}.page-head{margin-bottom:var(--s-8)}.page-head .actions>.btn-icon{order:9}.stats-hero .big{font-size:44px}.settings-window{height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.account-form .form-actions{grid-template-columns:minmax(0,1fr);display:grid}.account-form .form-actions .spacer{display:none}.account-form .form-actions .btn-primary{order:-2}.account-form .form-actions [data-account=signup]{order:-1}.account-form .form-actions .btn-ghost{justify-self:center}}
