:root{--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--r-control: 8px;--r-surface: 14px;--r-card: 20px;--f-card: 22px;--f-title: 26px;--f-body: 15px;--f-ui: 13px;--f-label: 11px;--serif: "Source Serif 4", Georgia, serif;--sans: "Inter", system-ui, -apple-system, sans-serif;--again: #C8384A;--hard: #B0741A;--good: #10845A;--easy: #2E6FD0;--due: #B0741A;--due-soft: #FBF0DC;--ease: .14s cubic-bezier(.2, 0, .2, 1)}:root,[data-theme=light]{--bg: #FAF8F5;--surface: #FFFFFF;--surface-alt: #F3F0EB;--surface-sunk: #EFEBE4;--line: #E6E1D8;--line-strong: #D3CCC0;--text: #191713;--text-dim: #6A6259;--text-faint: #9A9188;--fill: #191713;--fill-text: #FAF8F5;--shadow-card: 0 1px 2px rgba(25, 23, 19, .04), 0 8px 24px -8px rgba(25, 23, 19, .1);--shadow-pop: 0 4px 12px -2px rgba(25, 23, 19, .1), 0 12px 32px -8px rgba(25, 23, 19, .14)}[data-theme=dark]{--bg: #0F0D0B;--surface: #241F18;--surface-alt: #302A21;--surface-sunk: #0A0908;--line: #423A2C;--line-strong: #5C503D;--text: #F5F1EA;--text-dim: #B3A99C;--text-faint: #7C7266;--fill: #F5F1EA;--fill-text: #0F0D0B;--again: #F0616F;--hard: #E5A13C;--good: #3ECF97;--easy: #6EA8F5;--due: #E5A13C;--due-soft: #33291A;--shadow-card: 0 1px 0 rgba(255, 255, 255, .03), 0 8px 24px -8px rgba(0, 0, 0, .6);--shadow-pop: 0 1px 0 rgba(255, 255, 255, .04), 0 12px 32px -8px rgba(0, 0, 0, .7)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;padding:0;min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:var(--f-body);line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;font-variant-numeric:tabular-nums}button{font-family:inherit;color:inherit;cursor:pointer;transition:background var(--ease),border-color var(--ease),color var(--ease)}:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:4px}::selection{background:var(--text);color:var(--bg)}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.shell{min-height:100vh;padding-top:env(safe-area-inset-top);padding-bottom:76px}.page{max-width:640px;margin:0 auto;padding:var(--s5) var(--s4) var(--s7)}.page--wide{max-width:720px}.nav{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.nav__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:var(--s3) 0 var(--s2);background:none;border:none;color:var(--text-faint);font-size:var(--f-label);font-weight:500}.nav__item--on{color:var(--text)}.nav__badge{position:absolute;top:6px;margin-left:16px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--due);color:#fff;font-size:10px;font-weight:600;line-height:16px;text-align:center}@media (min-width: 768px){.shell{padding-bottom:0;padding-left:200px}.nav{top:0;right:auto;bottom:0;width:200px;flex-direction:column;align-items:stretch;border-top:none;border-right:1px solid var(--line);padding:var(--s5) var(--s3);background:var(--bg)}.nav__item{flex:none;flex-direction:row;justify-content:flex-start;gap:var(--s3);padding:var(--s3);border-radius:var(--r-control);font-size:var(--f-ui)}.nav__item--on{background:var(--surface-alt)}.nav__badge{position:static;margin-left:auto}.nav__brand{display:flex;align-items:center;gap:var(--s2);padding:var(--s3);margin-bottom:var(--s4);font-weight:600;letter-spacing:-.02em}}.nav__brand{display:none}.title{font-size:var(--f-title);font-weight:600;letter-spacing:-.025em;line-height:1.15;margin:0}.subtitle{font-size:var(--f-body);color:var(--text-dim);margin:var(--s2) 0 0}.label{font-size:var(--f-label);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.ui{font-size:var(--f-ui)}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);height:40px;padding:0 var(--s4);border-radius:var(--r-control);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-size:var(--f-ui);font-weight:500}.btn:hover{background:var(--surface-alt)}.btn--primary{background:var(--fill);border-color:var(--fill);color:var(--fill-text)}.btn--primary:hover{opacity:.88;background:var(--fill)}.btn--quiet{border-color:transparent;background:transparent;color:var(--text-dim)}.btn--quiet:hover{background:var(--surface-alt);color:var(--text)}.btn--danger{color:var(--again)}.btn--danger:hover{background:var(--surface-alt)}.btn--lg{height:52px;font-size:var(--f-body);font-weight:600;width:100%}.btn:disabled{opacity:.4;cursor:default}.btn:disabled:hover{background:var(--surface)}.btn--primary:disabled:hover{background:var(--fill)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--r-control);background:transparent;color:var(--text-dim)}.icon-btn:hover{background:var(--surface-alt);color:var(--text)}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn:disabled:hover{background:transparent;color:var(--text-dim)}.field{width:100%;padding:var(--s3);border:1px solid var(--line-strong);border-radius:var(--r-control);background:var(--surface);color:var(--text);font-family:var(--sans);font-size:var(--f-body);line-height:1.5;resize:none;outline:none;transition:border-color var(--ease)}.field:focus{border-color:var(--text)}.field::placeholder{color:var(--text-faint)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-surface);padding:var(--s4)}.panel+.panel{margin-top:var(--s3)}.panel__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--s4)}.panel__title{font-size:var(--f-ui);font-weight:600;margin:0}.deck-list{display:flex;flex-direction:column;gap:var(--s2)}.deck{display:flex;align-items:center;gap:var(--s3);width:100%;padding:var(--s4);border:1px solid var(--line);border-radius:var(--r-surface);background:var(--surface);text-align:left}.deck:hover{border-color:var(--line-strong)}.deck__name{font-weight:600;letter-spacing:-.01em}.deck__meta{font-size:var(--f-ui);color:var(--text-faint);margin-top:2px}.pill{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 var(--s2);border-radius:13px;background:var(--due-soft);color:var(--due);font-size:var(--f-ui);font-weight:600}.composer{border:1px solid var(--line);border-radius:var(--r-surface);background:var(--surface);overflow:hidden;transition:border-color var(--ease)}.composer--open{border-color:var(--line-strong);box-shadow:var(--shadow-card)}.composer__trigger{display:flex;align-items:center;gap:var(--s3);width:100%;padding:var(--s4);border:none;background:transparent;color:var(--text-faint);font-size:var(--f-body);text-align:left}.composer__trigger:hover{color:var(--text-dim)}.composer__body{padding:var(--s4)}.composer__foot{display:flex;align-items:center;gap:var(--s3);margin-top:var(--s3)}.composer__hint{flex:1;font-size:var(--f-label);color:var(--text-faint);line-height:1.4}.imgfield{margin-bottom:var(--s2)}.imgfield__row{display:flex;gap:var(--s2);align-items:flex-start}.imgfield__tools{display:flex;gap:var(--s1)}.thumb{width:36px;height:36px;object-fit:cover;border-radius:6px;flex-shrink:0;border:1px solid var(--line)}.preview{margin-top:var(--s2);border:1px solid var(--line);border-radius:var(--r-control);overflow:hidden;position:relative;display:inline-block;max-width:100%}.preview img{display:block;max-width:100%;max-height:200px}.preview__x{position:absolute;top:var(--s2);right:var(--s2);width:28px;height:28px;border:none;border-radius:14px;background:#0009;color:#fff;display:flex;align-items:center;justify-content:center}.rows{display:flex;flex-direction:column}.row{display:flex;align-items:center;gap:var(--s3);width:100%;padding:var(--s3) var(--s2);border:none;border-bottom:1px solid var(--line);background:transparent;text-align:left}.row:hover{background:var(--surface-alt)}.row:last-child{border-bottom:none}.row__dot{width:6px;height:6px;border-radius:3px;flex-shrink:0}.row__front{font-size:var(--f-body);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row__back{font-size:var(--f-ui);color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.row__ivl{font-size:var(--f-label);color:var(--text-faint);flex-shrink:0}.review{max-width:560px;margin:0 auto;padding:var(--s4) var(--s4) var(--s7)}.review__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s3)}.ribbon{display:flex;gap:2px;height:3px;margin-bottom:var(--s5)}.ribbon__seg{flex:1;border-radius:1px;background:var(--line);transition:background var(--ease)}.gauge{height:3px;margin-bottom:var(--s5);background:var(--line);border-radius:2px;overflow:hidden;position:relative}.gauge__fill{height:100%;background:var(--text);transition:width var(--ease)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:var(--s5);min-height:260px;display:flex;flex-direction:column}.card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s5)}.card__face{flex:1}.card__front{font-family:var(--serif);font-size:var(--f-card);line-height:1.45;letter-spacing:-.005em;white-space:pre-wrap}.card__back{font-family:var(--serif);font-size:19px;line-height:1.55;color:var(--text-dim);white-space:pre-wrap}.card__rule{height:1px;background:var(--line);margin:var(--s5) 0}.card img{max-width:100%;border-radius:var(--r-control);display:block}.reveal{width:100%;height:52px;margin-top:var(--s4);border:1px solid var(--line-strong);border-radius:var(--r-control);background:var(--surface);color:var(--text);font-size:var(--f-body);font-weight:600}.reveal:hover{background:var(--surface-alt)}.rates{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s2);margin-top:var(--s4)}.rate{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--s3) var(--s1);border:1px solid var(--line-strong);border-radius:var(--r-control);background:var(--surface)}.rate:hover{background:var(--surface-alt)}.rate__name{font-size:var(--f-ui);font-weight:600}.rate__ivl{font-size:var(--f-ui);font-weight:500;color:var(--text-faint);font-variant-numeric:tabular-nums}.rate--again{border-color:color-mix(in srgb,var(--again) 40%,transparent)}.rate--again .rate__name{color:var(--again)}.rate--hard{border-color:color-mix(in srgb,var(--hard) 40%,transparent)}.rate--hard .rate__name{color:var(--hard)}.rate--good{border-color:color-mix(in srgb,var(--good) 40%,transparent)}.rate--good .rate__name{color:var(--good)}.rate--easy{border-color:color-mix(in srgb,var(--easy) 40%,transparent)}.rate--easy .rate__name{color:var(--easy)}.card--editing{border-color:var(--text);box-shadow:var(--shadow-pop)}.card__editnote{font-size:var(--f-label);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-bottom:var(--s4)}.headline{padding:var(--s5);border:1px solid var(--line);border-radius:var(--r-surface);background:var(--surface);margin-bottom:var(--s3)}.headline__num{font-size:44px;font-weight:600;letter-spacing:-.03em;line-height:1}.headline__lbl{font-size:var(--f-body);color:var(--text-dim);margin-top:var(--s2)}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);margin-bottom:var(--s3)}.mini{text-align:left}.mini__num{font-size:20px;font-weight:600;letter-spacing:-.02em}.mini__lbl{font-size:var(--f-label);color:var(--text-faint);margin-top:2px}.chart{display:flex;gap:2px;height:88px;align-items:flex-end}.chart__col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%}.chart__stack{display:flex;flex-direction:column-reverse;height:100%;justify-content:flex-start;border-radius:2px;overflow:hidden}.chart__lbl{font-size:9px;color:var(--text-faint);text-align:center;margin-top:var(--s1)}.legend{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s3);font-size:var(--f-label);color:var(--text-dim)}.legend__item{display:flex;align-items:center;gap:var(--s1)}.legend__dot{width:8px;height:8px;border-radius:2px}.matbar{display:flex;height:8px;border-radius:4px;overflow:hidden}.fold{border-top:1px solid var(--line)}.fold__btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--s4) 0;border:none;background:transparent;color:var(--text-dim);font-size:var(--f-ui);font-weight:500}.fold__body{padding-bottom:var(--s4)}.presets{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s2)}@media (min-width: 520px){.presets{grid-template-columns:repeat(4,1fr)}}.preset{padding:var(--s3);border:1px solid var(--line-strong);border-radius:var(--r-control);background:var(--surface);text-align:left}.preset--on{border-color:var(--text);background:var(--surface-alt)}.preset__name{font-size:var(--f-ui);font-weight:600}.preset__note{font-size:var(--f-label);color:var(--text-faint);margin-top:2px;line-height:1.3}.projection{display:flex;align-items:center;gap:var(--s4);margin-top:var(--s4);padding:var(--s4);border-radius:var(--r-control);background:var(--surface-sunk)}.projection__num{font-size:32px;font-weight:600;letter-spacing:-.02em;line-height:1}.projection--warn{background:var(--due-soft)}.projection--warn .projection__num{color:var(--due)}.seg{display:flex;padding:3px;border-radius:var(--r-control);background:var(--surface-sunk);gap:2px}.seg__item{flex:1;padding:var(--s2);border:none;border-radius:6px;background:transparent;color:var(--text-dim);font-size:var(--f-ui);font-weight:500}.seg__item--on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-card)}.banner{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-control);background:var(--due-soft);color:var(--due);font-size:var(--f-ui);line-height:1.45;margin-bottom:var(--s4)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#14120f66;display:flex;align-items:flex-end;justify-content:center;padding:0}@media (min-width: 640px){.scrim{align-items:center;padding:var(--s5)}}.dialog{width:100%;max-width:480px;background:var(--surface);border-radius:var(--r-surface) var(--r-surface) 0 0;box-shadow:var(--shadow-pop);padding:var(--s5);max-height:92vh;overflow-y:auto}@media (min-width: 640px){.dialog{border-radius:var(--r-surface)}}.dialog--wide{max-width:560px}.dialog__title{font-size:18px;font-weight:600;letter-spacing:-.015em;margin:0 0 var(--s2)}.dialog__body{color:var(--text-dim);font-size:var(--f-body);margin:0 0 var(--s5)}.dialog__foot{display:flex;gap:var(--s2);justify-content:flex-end}.empty{text-align:center;padding:var(--s7) var(--s4)}.empty__title{font-weight:600;margin-bottom:var(--s2)}.empty__body{color:var(--text-faint);font-size:var(--f-ui);line-height:1.5}.drop{padding:var(--s5);border:1px dashed var(--line-strong);border-radius:var(--r-control);text-align:center;color:var(--text-faint);font-size:var(--f-ui);background:transparent;width:100%}.drop:hover{border-color:var(--text-dim);color:var(--text-dim)}.menu{position:absolute;right:0;top:42px;z-index:30;min-width:200px;padding:var(--s1);border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface);box-shadow:var(--shadow-pop)}.menu__item{display:flex;align-items:center;gap:var(--s3);width:100%;padding:var(--s2) var(--s3);border:none;border-radius:6px;background:transparent;color:var(--text);font-size:var(--f-ui);text-align:left}.menu__item:hover{background:var(--surface-alt)}.menu__item--danger{color:var(--again)}.done{text-align:center;padding-top:var(--s7)}.done__num{font-size:36px;font-weight:600;letter-spacing:-.02em}.done__lbl{font-size:var(--f-label);color:var(--text-faint);margin-top:var(--s1)}.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--s2)}.badge{padding:var(--s3);border:1px solid var(--line);border-radius:var(--r-control)}.badge--off{opacity:.45}.badge__name{font-size:var(--f-ui);font-weight:600}.badge__hint{font-size:var(--f-label);color:var(--text-faint);margin:2px 0 var(--s2)}.badge__track{height:3px;border-radius:2px;background:var(--line);overflow:hidden}.badge__fill{height:100%;background:var(--text)}.stack{display:flex;flex-direction:column;gap:var(--s3)}.row-between{display:flex;align-items:center;justify-content:space-between}.spacer{flex:1}.mt4{margin-top:var(--s4)}.mb4{margin-bottom:var(--s4)}.mb5{margin-bottom:var(--s5)}.relative{position:relative}.cloze-hole{display:inline-block;min-width:2.2em;padding:0 .35em;border-bottom:2px solid var(--due);color:var(--due);text-align:center;font-style:italic}.cloze-answer{color:var(--good);font-weight:600;border-bottom:2px solid color-mix(in srgb,var(--good) 40%,transparent)}.cloze-preview{margin:calc(-1 * var(--s1)) 0 var(--s3);padding:var(--s3) var(--s4);background:var(--surface-alt);border-radius:var(--r-control)}.cloze-preview__text{font-family:var(--serif);font-size:var(--f-body);line-height:1.6;white-space:pre-wrap}.cloze-chip{display:inline-flex;align-items:center;gap:3px;padding:0 .4em;margin:0 1px;border:none;border-radius:5px;background:color-mix(in srgb,var(--due) 18%,transparent);color:var(--due);font-family:inherit;font-size:inherit;font-weight:600;cursor:pointer}.cloze-chip:hover{background:color-mix(in srgb,var(--due) 30%,transparent)}.cloze-chip svg{opacity:.6;flex-shrink:0}.cloze-preview__note{margin-top:var(--s2);font-size:var(--f-label);font-weight:500;color:var(--text-dim)}.cloze-hint{display:flex;align-items:center;gap:5px;margin:calc(-1 * var(--s1)) 0 var(--s2);font-size:var(--f-label);color:var(--text-faint)}.occ{position:relative;display:inline-block;max-width:100%;line-height:0}.occ__img{display:block;max-width:100%;height:auto;border-radius:var(--r-control)}.occ__mask{position:absolute;border-radius:3px}.occ__mask--hidden{background:var(--due);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--due) 60%,black)}.occ__mask--revealed{background:transparent;box-shadow:0 0 0 2px var(--good),inset 0 0 0 2px var(--good)}.occ-stage{position:relative;display:block;width:100%;max-height:60vh;overflow:hidden;border-radius:var(--r-control);border:1px solid var(--line);background:var(--surface-sunk);touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;line-height:0}.occ-stage .occ__img{width:100%;border-radius:0;pointer-events:none}.occ-edit-mask{position:absolute;background:color-mix(in srgb,var(--due) 45%,transparent);box-shadow:inset 0 0 0 2px var(--due);border-radius:3px}.occ-edit-mask--draft{background:color-mix(in srgb,var(--due) 25%,transparent);box-shadow:inset 0 0 0 2px var(--due)}.occ-edit-mask__x{position:absolute;top:-9px;right:-9px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:var(--text);color:var(--bg);line-height:0}.reveal__hint{display:block;margin-top:4px;font-size:var(--f-label);font-weight:400;color:var(--text-faint)}@media (min-width: 768px){.reveal__hint{display:none}}.heat{display:flex;gap:3px;overflow-x:auto;padding-bottom:var(--s1)}.heat__col{display:flex;flex-direction:column;gap:3px}.heat__cell{width:11px;height:11px;border-radius:2.5px;background:var(--surface-sunk);flex-shrink:0}.heat__cell--1{background:color-mix(in srgb,var(--good) 25%,var(--surface-sunk))}.heat__cell--2{background:color-mix(in srgb,var(--good) 50%,var(--surface-sunk))}.heat__cell--3{background:color-mix(in srgb,var(--good) 75%,var(--surface-sunk))}.heat__cell--4{background:var(--good)}.toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);cursor:pointer}.toggle__name{font-size:var(--f-ui);font-weight:600}.toggle__note{font-size:var(--f-label);color:var(--text-faint);margin-top:2px;line-height:1.4;max-width:44ch}.switch{flex-shrink:0;width:44px;height:26px;padding:3px;border:none;border-radius:13px;background:var(--line-strong);transition:background var(--ease)}.switch--on{background:var(--good)}.switch__dot{display:block;width:20px;height:20px;border-radius:10px;background:#fff;transition:transform var(--ease)}.switch--on .switch__dot{transform:translate(18px)}.browse__tools{display:flex;gap:var(--s2);align-items:center}.chip{display:inline-flex;align-items:center;gap:var(--s1);flex-shrink:0;height:40px;padding:0 var(--s3);border:1px solid var(--line-strong);border-radius:var(--r-control);background:var(--surface);color:var(--text-dim);font-size:var(--f-ui);font-weight:500}.chip:hover{background:var(--surface-alt)}.chip--on{border-color:color-mix(in srgb,var(--again) 45%,transparent);background:color-mix(in srgb,var(--again) 8%,var(--surface));color:var(--again)}.bulkbar{position:sticky;top:var(--s2);z-index:10;display:flex;align-items:center;gap:var(--s1);flex-wrap:wrap;padding:var(--s2) var(--s3);margin-bottom:var(--s3);border:1px solid var(--line-strong);border-radius:var(--r-control);background:var(--surface);box-shadow:var(--shadow-pop)}.bulkbar__count{font-size:var(--f-ui);font-weight:600;padding-left:var(--s1)}.table-wrap{border:1px solid var(--line);border-radius:var(--r-surface);overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--f-ui)}.table thead th{position:sticky;top:0;background:var(--surface-alt);border-bottom:1px solid var(--line);padding:var(--s3);text-align:left;font-weight:600;color:var(--text-dim);white-space:nowrap}.table__th{display:inline-flex;align-items:center;gap:4px}.table__num{text-align:right;font-variant-numeric:tabular-nums}.table__grow{width:100%}.table__check{width:36px;text-align:center;padding-left:var(--s3)}.table__check input{width:15px;height:15px;accent-color:var(--text);cursor:pointer}.table tbody td{padding:var(--s2) var(--s3);border-bottom:1px solid var(--line);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--surface-alt)}.table__row--sel{background:color-mix(in srgb,var(--good) 6%,transparent)}.table__row--sel:hover{background:color-mix(in srgb,var(--good) 10%,transparent)}.table__front{display:flex;align-items:center;gap:var(--s2);width:100%;border:none;background:none;text-align:left;color:var(--text);font-size:var(--f-ui);padding:0}.table__fronttext{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42ch}.table__front:hover .table__fronttext{text-decoration:underline}.state-tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:var(--f-label);font-weight:500;white-space:nowrap;background:var(--surface-sunk);color:var(--text-dim)}.state-tag--0{color:var(--easy);background:color-mix(in srgb,var(--easy) 12%,transparent)}.state-tag--1,.state-tag--3{color:var(--hard);background:color-mix(in srgb,var(--hard) 12%,transparent)}.state-tag--2{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent)}.state-tag--susp{color:var(--text-faint)}
