:root{--accent: #ad5c38;--accent-strong: #8f4a2c;--accent-soft: #ead8cd;--on-accent: #fffaf4;--focus-ring: #ad5c38}:root[data-theme=clay]{--accent: #ad5c38;--accent-strong: #8f4a2c;--accent-soft: #ead8cd;--on-accent: #fffaf4;--focus-ring: #ad5c38}:root[data-theme=moss]{--accent: #526957;--accent-strong: #435a49;--accent-soft: #dce2d9;--on-accent: #fbfcf8;--focus-ring: #526957}:root[data-theme=indigo]{--accent: #455e78;--accent-strong: #384e65;--accent-soft: #dce3e9;--on-accent: #fbfcfd;--focus-ring: #455e78}:root[data-mode=dark]{--accent: #ad5c38;--accent-strong: #cc8a63;--accent-soft: #3b302a;--on-accent: #fffaf4;--focus-ring: #ce885e}:root[data-theme=clay][data-mode=dark]{--accent: #ad5c38;--accent-strong: #cc8a63;--accent-soft: #3b302a;--on-accent: #fffaf4;--focus-ring: #ce885e}:root[data-theme=moss][data-mode=dark]{--accent: #526957;--accent-strong: #7d947f;--accent-soft: #323e36;--on-accent: #f5f9f6;--focus-ring: #8fa893}:root[data-theme=indigo][data-mode=dark]{--accent: #455e78;--accent-strong: #7d95ac;--accent-soft: #333d49;--on-accent: #f4f8fb;--focus-ring: #93aec6}:root{--success: #477461;--success-soft: #dce9df;--on-success: #fbfdfb;--danger: #9c453b;--danger-soft: #eedbd6;--on-danger: #fff7f5;--warning: #8f6218;--warning-soft: #f7ecd1;--on-warning: #fffdf5;--starred: #8b6d2d;--starred-soft: #f2ead8;--on-starred: #fdfaf2}:root[data-mode=dark]{--success: #93bda4;--success-soft: #2b3d34;--on-success: #f2f8f4;--danger: #d47b70;--danger-soft: #49312e;--on-danger: #fff3f1;--warning: #d6a44d;--warning-soft: #453921;--on-warning: #fdf6e8;--starred: #dcb25c;--starred-soft: #453a1e;--on-starred: #fdf8ee}:root{--type-display: 28px;--type-section: 16px;--type-body: 14px;--type-compact: 12px;--type-eyebrow: 10px;--type-code-min: 12px}@media (max-width: 760px){:root{--type-display: 22px}}:root{--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--duration-scrim-in: .17s;--duration-scrim-out: .15s;--duration-surface-in: .22s;--duration-surface-out: .17s;--duration-press: .12s;--duration-color: .18s;--duration-reduced-opacity: .14s}:root{--canvas: #eeece6;--surface: #f8f7f2;--surface-strong: #fffefb;--ink: #252521;--muted: #6d6c65;--line: #d4d1c8;--line-strong: #aaa69c;--serif: "Noto Serif SC", "Songti SC", STSong, serif;--sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", sans-serif;--ease: cubic-bezier(.2,.72,.2,1);--shadow: 0 14px 35px rgb(48 43 33 / 8%)}:root[data-theme=moss]{--canvas: #eaede5;--surface: #f5f8f2;--surface-strong: #fdfdf8;--line: #d1d5c9;--line-strong: #a6aaa0}:root[data-theme=indigo]{--canvas: #e9edef;--surface: #f3f7f8;--surface-strong: #fcfefd;--line: #cdd3d6;--line-strong: #a3aab0}.create-step-review.review-variant-a{width:min(720px,calc(100% - 28px))}.create-step-review.review-variant-b{width:min(850px,calc(100% - 28px))}.create-step-review.review-variant-c{width:min(980px,calc(100% - 28px))}.create-flow-dialog.create-step-review{max-height:calc(100dvh - 40px);overflow-x:hidden;overflow-y:auto}.create-step-parsing,.create-step-duplicate{width:min(610px,calc(100% - 28px))}.review-stage{min-height:0}.review-stage>p{margin-bottom:14px}.review-result-head{border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--accent-soft) 22%,var(--surface))}.review-result-head dl{display:grid;grid-template-columns:1fr 1fr;margin:0}.review-result-head dl>div{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:8px;min-height:52px;padding:10px 13px}.review-result-head dl>div+div{border-left:1px solid var(--line)}.review-result-head dt{color:var(--muted);font-size:8px}.review-result-head dd{margin:0;font:400 19px Georgia,serif}.review-result-head dl>div:first-child dd{color:var(--success)}.review-result-head dl>div:last-child dd{color:var(--danger)}.review-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}.review-tabs button{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:7px;min-height:46px;padding:4px 11px 4px 7px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--surface);font-size:9px;text-align:left;transition:color .18s ease,border-color .18s ease,background .18s ease,box-shadow .2s ease,transform .2s var(--ease)}.review-tabs button>svg{width:24px;height:24px;padding:6px;border-radius:50%;stroke-width:2}.review-tabs button b{font:500 11px Georgia,serif}.review-tabs .review-tab-valid>svg{color:var(--success);background:var(--success-soft)}.review-tabs .review-tab-alert{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:var(--danger);background:var(--danger-soft);font:700 12px/1 var(--sans)}.review-tabs .review-tab-valid.selected{color:color-mix(in srgb,var(--success) 70%,var(--ink));border-color:color-mix(in srgb,var(--success) 52%,var(--line-strong));background:color-mix(in srgb,var(--success-soft) 56%,var(--surface-strong));box-shadow:0 5px 14px #302b2117;transform:translateY(-1px)}.review-tabs .review-tab-problems.selected{color:color-mix(in srgb,var(--danger) 70%,var(--ink));border-color:color-mix(in srgb,var(--danger) 52%,var(--line-strong));background:color-mix(in srgb,var(--danger-soft) 58%,var(--surface-strong));box-shadow:0 5px 14px #302b2117;transform:translateY(-1px)}.review-scroll{max-height:286px;margin-top:10px;padding-right:3px;overflow-y:auto}.review-type-table{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.review-type-table>header,.review-type-table>div{display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:10px;min-height:47px;padding:7px 12px}.review-type-table>header{grid-template-columns:1fr auto;min-height:30px;color:var(--muted);background:color-mix(in srgb,var(--canvas) 62%,var(--surface));font-size:7px;font-weight:500}.review-type-table>div+div{border-top:1px solid var(--line)}.review-type-table>div>span:nth-child(2){color:var(--muted);font-size:8px}.review-type-table>div>b{font:500 12px Georgia,serif}.review-mode-mark{justify-self:start;min-width:65px;padding:7px 9px 6px;border-radius:5px;color:var(--on-accent);background:var(--accent);font-size:10px;font-weight:800;letter-spacing:.14em;line-height:1;text-align:center}.review-valid{display:grid;gap:0}.review-distribution{padding:10px 11px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.review-distribution>i{display:block;width:var(--review-width);height:3px;margin-bottom:8px;background:var(--accent)}.review-distribution>span{display:flex;justify-content:space-between;gap:10px}.review-distribution b{font-size:9px}.review-distribution small{color:var(--muted);font-size:8px}.review-valid article{display:grid;grid-template-columns:auto minmax(0,1fr) 16px;gap:9px;align-items:center;min-height:64px;padding:9px 5px;border-bottom:1px solid var(--line)}.review-valid article>em{padding:3px 5px;border-radius:4px;color:var(--accent);background:var(--accent-soft);font-size:7px;font-style:normal}.review-valid article>span{display:grid;gap:4px;min-width:0}.review-valid article b{font:540 10px/1.6 var(--serif)}.review-valid article small{color:var(--muted);font-size:8px}.review-valid article>svg{width:13px;color:var(--muted)}.review-valid>p{margin:10px 2px 0;color:var(--muted);font-size:8px}.review-problems{display:grid;gap:7px}.review-problem-rule{display:flex;gap:8px;padding:10px;border:1px solid color-mix(in srgb,var(--danger) 38%,var(--line));border-radius:7px;color:var(--danger);background:color-mix(in srgb,var(--danger-soft) 70%,var(--surface))}.review-problem-rule>svg{width:15px;margin-top:1px}.review-problem-rule span{display:grid;gap:3px}.review-problem-rule b{font-size:9px}.review-problem-rule small{font-size:8px;line-height:1.5}.review-problems article{padding:10px 11px;border:1px solid var(--line);border-left:3px solid var(--danger);border-radius:7px;background:var(--surface)}.review-problems article header{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:7px}.review-alert-mark{display:grid;place-items:center;width:20px;height:20px;border:1px solid color-mix(in srgb,var(--danger) 42%,var(--line));border-radius:50%;color:var(--danger);background:color-mix(in srgb,var(--danger-soft) 74%,var(--surface));font:700 10px/1 var(--sans)}.review-problems article header em{color:var(--muted);font:7px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.review-problems article header b{font-size:9px}.review-problems article pre{max-height:112px;margin:8px 0 0;padding:8px 9px;overflow:auto;border-radius:5px;color:var(--ink);background:var(--canvas);font:8px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.review-destination{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.review-destination>span{display:inline-flex;align-items:center;gap:5px;min-height:27px;padding:0 9px;border-radius:999px;color:var(--muted);background:var(--accent-soft)}.review-destination svg{width:12px}.review-destination b{font-size:8px;font-weight:500}.review-empty{display:grid;justify-items:center;gap:6px;min-height:150px;padding:28px;color:var(--muted);text-align:center}.review-empty>span{color:var(--danger)}.review-empty svg{width:24px}.review-empty b{color:var(--ink);font:560 12px var(--serif)}.review-empty small{font-size:8px}.review-mini-steps{display:grid;grid-template-columns:24px auto 1fr 24px auto;align-items:center;gap:7px;margin:5px 0 12px;color:var(--muted);font-size:8px}.review-mini-steps b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:var(--on-accent);background:var(--accent);font:500 8px Georgia,serif}.review-mini-steps b:last-of-type{color:var(--muted);background:var(--surface);border:1px solid var(--line)}.review-mini-steps i{height:1px;background:var(--line)}.review-mini-steps.is-final b:first-child{color:var(--accent);background:var(--accent-soft)}.review-mini-steps.is-final b:first-child svg{width:12px}.review-mini-steps.is-final b:last-of-type{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.review-b-columns{display:grid;grid-template-columns:.86fr 1.14fr;gap:10px;margin-top:10px}.review-b-columns>section{min-width:0;max-height:330px;padding:10px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 76%,transparent)}.review-b-columns h3{margin:0 0 8px;font:560 10px var(--serif)}.review-b-final{min-height:410px}.review-b-final>p,.review-b-final>.review-destination,.review-b-final>.review-final-facts{max-width:620px;margin-right:auto;margin-left:auto}.review-final-facts{margin-top:12px;border-top:1px solid var(--line)}.review-final-facts>div{display:flex;justify-content:space-between;gap:20px;padding:10px 2px;border-bottom:1px solid var(--line);font-size:9px}.review-final-facts dt{color:var(--muted)}.review-final-facts dd{margin:0;font-weight:600}.review-c .review-result-head{margin-bottom:10px}.review-workspace{display:grid;grid-template-columns:160px minmax(0,1fr);min-height:405px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.review-workspace>nav{display:grid;align-content:start;gap:3px;padding:8px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--canvas) 58%,var(--surface))}.review-workspace>nav button{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:40px;padding:0 9px;border:0;border-radius:6px;color:var(--muted);background:transparent;font-size:8px;text-align:left}.review-workspace>nav button.selected{color:var(--ink);background:var(--surface-strong);box-shadow:0 2px 8px #302b2114}.review-workspace>nav button:first-child{color:var(--success)}.review-workspace>nav button:nth-child(2){color:var(--danger)}.review-workspace>nav button b{font:500 8px Georgia,serif}.review-workspace>nav button svg{width:12px}.review-workspace-detail{min-width:0;max-height:405px;padding:14px 16px;overflow-y:auto}.import-parsing{display:grid;justify-items:center;align-content:center;min-height:410px;text-align:center}.import-parsing .create-heading{justify-self:stretch;width:100%}.import-parsing .create-back,.import-parsing .dialog-close{position:absolute}.parsing-symbol,.duplicate-symbol{position:relative;display:grid;place-items:center;width:58px;height:58px;margin:28px 0 13px;border-radius:50%;color:var(--accent);background:var(--accent-soft)}.parsing-symbol>svg,.duplicate-symbol>svg{width:25px;height:25px}.parsing-symbol i{position:absolute;inset:-5px;border:2px solid transparent;border-top-color:var(--accent);border-radius:50%;animation:review-spin 1s linear infinite}@keyframes review-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.import-parsing h3{margin:0;font:560 16px var(--serif)}.import-parsing>p{margin:7px 0 18px}.parsing-line{width:min(390px,85%);height:3px;overflow:hidden;background:var(--line)}.parsing-line i{display:block;width:100%;height:100%;background:var(--accent);animation:review-parse 1.1s var(--ease) both}@keyframes review-parse{0%{width:3%}to{width:100%}}.import-parsing>small{margin-top:9px;color:var(--muted);font-size:8px}.duplicate-stage{min-height:390px}.duplicate-stage .duplicate-symbol{margin:18px 0 10px;color:var(--danger);background:var(--danger-soft)}.duplicate-stage>p{max-width:500px}.duplicate-comparison{display:grid;grid-template-columns:1fr 1fr;margin-top:13px;border:1px solid var(--line);border-radius:8px}.duplicate-comparison span{display:grid;gap:4px;padding:12px}.duplicate-comparison span+span{border-left:1px solid var(--line)}.duplicate-comparison b{font-size:9px}.duplicate-comparison small{color:var(--muted);font-size:8px}.duplicate-note{margin-top:10px;padding:9px 10px;border-radius:6px;color:var(--danger);background:var(--danger-soft);font-size:8px;line-height:1.5}.duplicate-stage .create-footer>button:first-child{min-height:40px;padding:0 13px;border:1px solid var(--line-strong);border-radius:7px;color:var(--ink);background:var(--surface);font-size:9px}@media (max-width: 650px){.create-step-review.review-variant-a,.create-step-review.review-variant-b,.create-step-review.review-variant-c{width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:22px 16px 24px}.review-scroll{max-height:none}.review-type-table>header,.review-type-table>div{grid-template-columns:76px 1fr auto;gap:8px;padding-inline:9px}.review-type-table>header{grid-template-columns:1fr auto}.review-mode-mark{min-width:61px;padding-inline:7px;font-size:9px}.review-b-columns{grid-template-columns:1fr}.review-b-columns>section{max-height:none}.review-workspace{display:flex;flex-direction:column;min-height:480px;overflow:visible;border:0;background:transparent}.review-workspace>nav{order:2;position:sticky;z-index:3;bottom:118px;grid-template-columns:repeat(3,1fr);padding:4px;border:1px solid var(--line-strong);border-radius:9px 9px 0 0;background:var(--surface-strong);box-shadow:0 -8px 24px #1e1c181a}.review-workspace>nav button{justify-items:center;gap:2px;padding:2px;text-align:center}.review-workspace-detail{order:1;max-height:none;min-height:510px;padding:8px 2px 92px;overflow:visible}.review-a .create-footer,.review-b .create-footer{position:static;margin-right:0;margin-left:0;padding:14px 0 0;background:transparent;box-shadow:none;backdrop-filter:none}.review-c .create-footer{z-index:4;bottom:56px;margin-right:0;margin-left:0;padding-right:0;padding-left:0}.duplicate-stage .create-footer{z-index:4;bottom:56px}.review-stage{padding-bottom:52px}.review-a,.review-b{padding-bottom:0}.duplicate-stage{padding-bottom:50px}}:root[data-mode=dark]{--canvas: #1d1d1a;--surface: #272723;--surface-strong: #30302b;--ink: #eeece5;--muted: #aaa79e;--line: #41413b;--line-strong: #68675f;color-scheme:dark}*{box-sizing:border-box;scrollbar-color:transparent transparent;scrollbar-width:thin}html{min-width:320px;min-height:100%;overflow-x:clip;overflow-y:scroll;scrollbar-gutter:stable;scrollbar-color:transparent transparent;scrollbar-width:thin;background:var(--canvas)}html::-webkit-scrollbar{width:7px}html::-webkit-scrollbar-track{background:transparent}html::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:transparent;background-clip:padding-box}html.is-scrolling{scrollbar-color:color-mix(in srgb,var(--muted) 32%,transparent) transparent}html.is-scrolling::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 30%,transparent)}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{border-radius:999px;background:transparent}*.is-scrolling{scrollbar-color:color-mix(in srgb,var(--muted) 32%,transparent) transparent}*.is-scrolling::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 30%,transparent)}body{min-height:100vh;margin:0;color:var(--ink);background:linear-gradient(135deg,rgb(255 255 255 / 24%),transparent 38%),var(--canvas);font-family:var(--sans);-webkit-font-smoothing:antialiased;transition:color .28s ease,background-color .36s ease}button,input,select{color:inherit;font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}svg{width:19px;height:19px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh;padding-bottom:104px}.skip{position:fixed;z-index:100;top:8px;left:8px;padding:10px 14px;color:var(--surface);background:var(--ink);transform:translateY(-150%);transition:transform .16s ease}.skip:focus{transform:none}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:min(1180px,calc(100% - 48px));height:52px;margin:auto;border-bottom:1px solid color-mix(in srgb,var(--line) 76%,transparent)}.brand{justify-self:start;display:flex;align-items:center;gap:8px;height:40px;padding:0;border:0;background:transparent;transform:translateY(1px)}.brand b{font-family:var(--serif);font-size:17px;font-weight:650;letter-spacing:.04em}.brand span{color:var(--muted);font-family:var(--sans);font-size:8px;font-weight:600;letter-spacing:.13em;line-height:1;text-transform:uppercase;transform:translateY(1px)}.mode-toggle{justify-self:center;position:relative;display:grid;grid-template-columns:28px 28px;align-items:center;width:58px;height:30px;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#ffffff26;font-size:0;transition:border-color .3s ease,background-color .34s ease}.mode-thumb{position:absolute;top:2px;left:2px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:var(--accent);background:var(--surface-strong);box-shadow:0 2px 6px #14120f1f;transition:transform .22s var(--ease)}:root[data-mode=dark] .mode-thumb{transform:translate(28px)}.mode-thumb svg{width:13px;height:13px}.icon-button{justify-self:end;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;color:var(--muted);background:transparent;transition:color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.icon-button:hover{color:var(--ink);background:#ffffff6b}.home{width:min(1100px,calc(100% - 48px));margin:0 auto;padding-top:16px}.deck-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:58px;margin-bottom:12px}.toolbar-actions{display:flex;align-items:center;gap:7px}.toolbar-create{display:inline-grid;grid-template-columns:34px auto;align-items:center;gap:9px;min-width:98px;height:42px;padding:3px 11px 3px 3px;overflow:hidden;border:1px solid var(--line-strong);border-radius:8px;color:var(--ink);background:color-mix(in srgb,var(--surface-strong) 78%,transparent);box-shadow:0 5px 14px #302b210f;text-align:left;transition:border-color var(--duration-color) ease,box-shadow .18s ease,transform var(--duration-press) var(--ease-out)}.toolbar-create svg{display:grid;place-self:stretch;width:34px;height:34px;padding:9px;border-radius:5px;color:var(--on-accent);background:var(--accent);stroke-width:1.8;transition:transform .2s var(--ease)}.toolbar-create:active{box-shadow:0 2px 7px #302b2112;transform:translateY(0) scale(.97)}.toolbar-create>span{display:grid;gap:1px;min-width:35px}.toolbar-create b{font-size:11px;font-weight:680;line-height:1.15}.toolbar-create small{color:var(--muted);font-family:Georgia,serif;font-size:6px;letter-spacing:.12em;line-height:1.1}.toolbar-recycle{min-width:112px}.toolbar-recycle>svg{color:var(--on-accent);background:var(--accent);stroke-width:1.65}.trash-button{position:relative;display:grid;place-items:center;width:46px;height:42px;padding:0;overflow:visible;border:0;border-radius:50%;color:var(--muted);background:transparent;transition:color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.trash-button:after{content:"";position:absolute;inset:5px 7px;border-radius:50%;background:var(--accent-soft);opacity:0;transform:scale(.6);transition:opacity .18s ease,transform .22s var(--ease)}.trash-button.active{color:var(--accent)}.trash-button.active:after{opacity:.58;transform:scale(1)}.trash-button svg{position:relative;z-index:1;width:25px;height:25px;stroke-width:1.9;overflow:visible}.trash-button .trash-lid{transform-box:fill-box;transform-origin:12% 100%;transition:transform .3s cubic-bezier(.2,.8,.2,1.1)}.trash-button.active .trash-lid{transform:translate(-1px,-3px) rotate(-28deg)}.trash-button.receiving svg{animation:bin-receive .36s var(--ease) both}.trash-button.receiving .trash-lid{transform:translate(-2px,-5px) rotate(-38deg)}@keyframes bin-receive{0%{transform:scale(1)}45%{transform:scale(1.15) translateY(1px)}72%{transform:scale(.94)}to{transform:scale(1)}}.deck-search{width:min(240px,42vw);height:40px;border:0;border-bottom:1px solid var(--line-strong);background:transparent}.deck-search:focus-within{border-color:var(--accent);background:#ffffff1a}.deck-search{display:flex;align-items:center;gap:7px;width:min(240px,42vw);height:40px;padding:0 9px;border-bottom:1px solid var(--line-strong);color:var(--muted)}.deck-search svg{width:15px}.deck-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;font-size:11px}.deck-search kbd{padding:2px 5px;border:1px solid var(--line);border-radius:4px;font:9px var(--sans)}.cover-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.resume-deck{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto auto;align-content:start;gap:6px 12px;min-height:132px;padding:14px 16px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 52%,var(--line));border-radius:9px 9px 4px 4px;color:var(--ink);background:radial-gradient(circle at 13% -18%,color-mix(in srgb,var(--accent-soft) 84%,transparent) 0,transparent 48%),linear-gradient(145deg,color-mix(in srgb,var(--accent-soft) 58%,var(--surface)),var(--surface));text-align:left;box-shadow:inset 0 1px color-mix(in srgb,white 64%,transparent),0 6px 18px #302b210a;transition:border-color .18s ease,box-shadow .18s ease,transform .22s var(--ease)}.resume-deck:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--accent);box-shadow:2px 0 10px color-mix(in srgb,var(--accent) 18%,transparent)}.resume-deck .study-symbol{align-self:start;grid-column:1;grid-row:1;width:27px;height:27px;color:var(--accent)}.resume-deck .study-symbol svg{width:23px;height:23px;stroke-width:1.5;transition:transform .22s var(--ease)}.resume-deck.is-continuing .study-symbol svg{fill:color-mix(in srgb,var(--accent) 18%,transparent)}.resume-deck .resume-copy{align-self:start;grid-column:1;grid-row:2;min-height:41px}.resume-deck .resume-copy b{color:color-mix(in srgb,var(--ink) 84%,var(--accent))}.resume-deck .resume-copy small{color:var(--accent);font:600 8px/1.4 Georgia,serif;letter-spacing:.16em}.resume-count{align-self:start;grid-column:2;grid-row:2;color:var(--muted);font:9px Georgia,serif}.resume-count b{color:var(--accent);font-size:16px;font-weight:400}.resume-deck .resume-line{align-self:end;grid-column:1 / 3;grid-row:4;height:3px}.resume-deck .resume-line .learning{background:var(--accent);opacity:1}.study-note{align-self:end;grid-column:1 / 3;grid-row:3;color:var(--muted);font-size:9px}.resume-deck .session-spacer{min-height:12.5px}.resume-deck .deck-arrow{bottom:27px}.deck{position:relative;color:var(--ink);text-align:left}.cover-deck{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto auto;gap:6px 12px;min-height:132px;padding:14px 16px;overflow:hidden;border:1px solid var(--line);border-radius:9px 9px 4px 4px;background:var(--surface);box-shadow:0 6px 18px #302b210a;touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;transition:border-color .18s ease,box-shadow .18s ease,transform .22s var(--ease)}.cover-deck{display:block;min-height:0;padding:0;overflow:visible;border:0;background:transparent;box-shadow:none}.cover-deck .deck-main{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:27px minmax(41px,1fr) 12.5px 3px;align-content:start;gap:6px 12px;width:100%;min-height:132px;padding:14px 16px;overflow:hidden;border:1px solid var(--line);border-radius:9px 9px 4px 4px;color:inherit;background:var(--surface);box-shadow:0 6px 18px #302b210a;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.cover-deck *{-webkit-user-select:none;user-select:none}.cover-deck .deck-main:before{content:"";position:absolute;z-index:2;inset:0 auto 0 0;width:3px;border-radius:9px 0 0 4px;background:var(--accent);opacity:.7;pointer-events:none}.deck-mark{align-self:start;display:grid;place-items:center;width:27px;height:27px;color:var(--muted)}.deck-mark svg{width:23px;height:23px;stroke-width:1.35}.deck-character{font-family:var(--serif),"Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size:21px;line-height:1}.deck-copy{display:grid;align-content:center;gap:3px;min-width:0}.deck-copy b{overflow:hidden;font-family:var(--serif);font-size:15px;font-weight:560;text-overflow:ellipsis;white-space:nowrap}.deck-copy small,.deck-touched{color:var(--muted);font-size:9px;font-weight:400}.due{align-self:center;color:var(--accent);font-size:9px}.due b{font-family:Georgia,serif;font-size:16px;font-weight:400}.due.quiet{color:var(--muted)}.cover-deck .deck-copy{grid-column:1;grid-row:2;align-self:start;min-height:41px;margin-top:0}.cover-deck .deck-copy b{font-size:18px;letter-spacing:-.025em}.cover-deck .due{grid-column:2;grid-row:2;align-self:start}.deck-touched{align-self:end;grid-column:1 / 2;grid-row:3;min-height:12.5px}.deck-progress{align-self:end;display:flex;grid-column:1 / 3;grid-row:4;overflow:hidden;height:3px;background:var(--line)}.deck-progress i{display:block;height:100%}.deck-progress .learning{background:var(--accent);opacity:.82}.deck-progress .unlearned{background:var(--line)}.sorting-mode .cover-deck{cursor:grab}.sorting-mode .cover-deck .deck-main{border-color:var(--line-strong);box-shadow:0 9px 22px #302b2117}.cover-deck.sorting{z-index:8;cursor:grabbing;pointer-events:none;touch-action:none;animation:none;transform:translate(var(--drag-x, 0),var(--drag-y, 0)) scale(1.025) rotate(-.3deg);transition:none}.cover-deck.sorting .deck-main{border-color:var(--accent);box-shadow:0 18px 38px #302b2129}.no-results{display:grid;justify-items:center;gap:7px;padding:70px 20px;color:var(--muted)}.no-results b{color:var(--ink);font-family:var(--serif);font-size:16px;font-weight:550}.no-results span{font-size:10px}.deck-arrow{position:absolute;right:13px;bottom:27px;color:var(--muted);opacity:0;transform:translate(-5px);transition:opacity .18s ease,transform .18s ease}.deck-arrow svg{width:16px}.deck-menu-trigger{position:absolute;z-index:4;top:7px;right:7px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;color:var(--muted);background:transparent;opacity:0;transition:opacity var(--duration-color) ease,color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.deck-menu-trigger svg{width:16px}.deck-menu-trigger:focus-visible,.deck-menu-trigger[aria-expanded=true]{opacity:1}.deck-menu-trigger:hover,.deck-menu-trigger[aria-expanded=true]{color:var(--ink);background:color-mix(in srgb,var(--surface-strong) 76%,transparent)}.deck-menu{position:absolute;z-index:20;top:39px;right:7px;display:grid;width:146px;padding:5px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface-strong);box-shadow:none;transform-origin:top right;animation:menu-in .16s var(--ease) both}.deck-menu.is-closing{animation:none;opacity:0;transform:translateY(-4px) scale(.98);pointer-events:none;transition:opacity .12s ease,transform .14s var(--ease)}.deck-menu button{display:flex;align-items:center;gap:9px;min-height:40px;padding:0 10px;border:0;border-radius:6px;color:var(--ink);background:transparent;font-size:10px;text-align:left;transition:background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.deck-menu button:hover{background:var(--surface)}.deck-menu button svg{width:15px;height:15px}.deck-menu button.destructive{color:#a54f41}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.delete-mode .resume-deck{opacity:.38;pointer-events:none;filter:saturate(.4)}.delete-mode .cover-deck{cursor:pointer;animation:deck-jiggle .42s ease-in-out calc(var(--jiggle-index) * -61ms) infinite alternate;will-change:transform}.delete-mode .cover-deck .deck-main{border-color:color-mix(in srgb,var(--accent) 38%,var(--line))}.delete-mode .cover-deck:nth-of-type(2n){animation-direction:alternate-reverse}.delete-mode .deck-menu-trigger{display:none}@keyframes deck-jiggle{0%{transform:rotate(-.13deg) translate3d(-.25px,.1px,0)}to{transform:rotate(.13deg) translate3d(.25px,-.1px,0)}}.trash-flyer{position:fixed;z-index:100;overflow:hidden;border:1px solid var(--line);border-radius:9px 9px 4px 4px;color:var(--ink);background:var(--surface);box-shadow:0 18px 42px #1e1c182e;pointer-events:none;transform-origin:center;will-change:transform,opacity,clip-path,filter,border-radius;contain:layout paint}.trash-flyer:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;border-radius:9px 0 0 4px;background:var(--accent);opacity:.7}.trash-flyer>span{display:none}.trash-flyer .deck-mark,.trash-flyer .deck-copy{display:grid}.trash-flyer .deck-mark{position:absolute;top:14px;left:16px}.trash-flyer .deck-copy{position:absolute;top:48px;left:16px}.empty{display:grid;justify-items:start;max-width:520px;margin:56px auto 0;padding:34px 0}.empty-mark{display:grid;place-items:center;width:48px;height:44px;color:var(--accent)}.empty-mark svg{width:38px;height:38px;stroke-width:1.35}.empty h2{margin:12px 0;font-family:var(--serif);font-size:28px;font-weight:550}.empty p{max-width:450px;margin:0 0 24px;color:var(--muted);font-family:var(--serif);font-size:14px;line-height:1.8}.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--accent);border-radius:7px;color:var(--on-accent);background:var(--accent);font-size:12px;font-weight:650;transition:filter var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.primary:hover{filter:brightness(.94)}.primary:active{transform:scale(.97)}.primary:disabled{cursor:default;filter:none;opacity:.72}.dialog-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;color:var(--muted);background:transparent;transition:color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.dialog-close:active{transform:scale(.97)}.dialog-close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}@media (hover: hover) and (pointer: fine){.dialog-close:hover{color:var(--ink);background:var(--accent-soft)}}.dialog-kicker{color:var(--accent);font-family:Georgia,serif;font-size:9px;letter-spacing:.14em}.create-flow-dialog label{display:grid;gap:8px;color:var(--muted);font-size:10px}.create-flow-dialog input{width:100%;height:48px;padding:0 13px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);font-family:var(--serif);font-size:15px}@keyframes mark-caret{0%,46%{opacity:1}47%,to{opacity:0}}.study-dialog{width:min(700px,100%);max-height:min(780px,calc(100dvh - 40px));padding:32px;overflow:auto}.study-dialog h2{margin-bottom:22px}.filter-section+.filter-section{margin-top:18px}.filter-section{position:relative}html[data-variant=B] .filter-section:has(.morph-composer.is-open){z-index:12}.filter-heading{display:flex;align-items:center;justify-content:space-between;min-height:32px;margin-bottom:9px}.filter-title{display:inline-flex;align-items:center;gap:8px}.filter-title svg{width:17px;height:17px;color:var(--muted)}.filter-title b{font-family:var(--serif);font-size:13px;font-weight:560}.all-switch{display:inline-flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important;min-height:32px;cursor:pointer}.all-switch>span{color:var(--muted);font-size:9px}.all-switch input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.all-switch i{position:relative;width:34px;height:20px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);transition:border-color .18s ease,background .18s ease}.all-switch i:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--muted);box-shadow:0 1px 3px #1e1c182e;transition:transform .2s var(--ease),background .18s ease}.all-switch input:checked+i{border-color:var(--accent);background:var(--accent-soft)}.all-switch input:checked+i:after{background:var(--accent);transform:translate(14px)}.all-switch input:focus-visible+i{outline:2px solid var(--accent);outline-offset:2px}.filter-body{max-height:360px;overflow:hidden;opacity:1;transform:translateY(0);transition:max-height .32s var(--ease),opacity .19s ease,transform .26s var(--ease)}.filter-body.is-collapsed{max-height:0;opacity:0;pointer-events:none;transform:translateY(-5px)}html[data-variant=B] .filter-body:not(.is-collapsed){overflow:visible}.filter-options{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface);font-size:10px;transition:border-color var(--duration-color) ease,color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.filter-chip svg{width:13px;height:13px}.filter-chip.selected{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.picker-body{min-width:0}.picker-track{display:flex;flex-wrap:wrap;align-items:center;gap:7px;min-height:34px}.selected-token{display:inline-flex;align-items:center;gap:6px;min-width:0;min-height:32px;padding:0 8px 0 11px;overflow:hidden;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink);background:var(--surface);font-size:9px;white-space:nowrap;transition:opacity var(--duration-color) ease,transform var(--duration-press) var(--ease-out),border-color .16s ease}.selected-token:hover{border-color:var(--accent)}.selected-token:active{transform:scale(.96)}.selected-token svg{width:11px;height:11px;color:var(--muted)}.morph-track{position:relative;min-height:36px}.morph-composer{position:relative;z-index:4;display:grid;grid-template-columns:0 32px;align-items:center;width:32px;height:32px;overflow:visible;border:1px solid var(--line-strong);border-radius:999px;color:var(--muted);background:transparent;transition:width .28s var(--ease),grid-template-columns .28s var(--ease),border-color .18s ease,background .18s ease,box-shadow .2s ease}.morph-composer.is-open{grid-template-columns:minmax(0,1fr) 32px;width:190px;border-color:var(--accent);background:var(--surface);box-shadow:0 5px 18px #231f1914}.morph-input{display:block!important;min-width:0;overflow:hidden;opacity:0;transition:opacity .13s ease}.morph-composer.is-open .morph-input{opacity:1;transition-delay:.11s}.study-dialog .morph-input input{width:100%;height:30px;padding:0 3px 0 11px;border:0;border-radius:999px 0 0 999px;outline:0;background:transparent;font-family:inherit;font-size:11px}.morph-input input::-webkit-search-cancel-button{display:none}.morph-trigger{display:grid;place-items:center;width:31px;height:31px;padding:0;border:0;border-radius:50%;color:inherit;background:transparent}.morph-trigger svg{width:13px;height:13px;transition:transform .26s var(--ease)}.morph-composer.is-open .morph-trigger svg{transform:rotate(45deg)}.morph-composer:focus-within{box-shadow:0 0 0 2px var(--accent-soft),0 5px 18px #231f1914}.morph-suggestions{position:absolute;z-index:6;top:calc(100% + 7px);left:0;display:grid;width:190px;max-height:220px;padding:5px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line-strong);border-radius:8px;visibility:hidden;opacity:0;background:var(--surface);box-shadow:0 14px 34px #231f1933;scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin;transform:translateY(-5px) scale(.98);transform-origin:top left;transition:opacity .15s ease,transform .19s var(--ease),visibility 0s linear .19s}.morph-suggestions.is-visible{visibility:visible;opacity:1;transform:none;transition-delay:0s}.morph-suggestions>button{display:flex;align-items:center;justify-content:space-between;min-height:34px;padding:0 9px;border:0;border-radius:5px;color:var(--ink);background:transparent;font-size:9px;text-align:left}.morph-suggestions>button:hover{color:var(--accent);background:var(--accent-soft)}.morph-suggestions small{color:var(--muted);font-size:8px}[hidden]{display:none!important}.study-bottom{display:grid;grid-template-columns:1fr auto;align-items:end;gap:18px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.mode-select{display:grid;grid-template-columns:repeat(4,1fr);padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.mode-select button{min-height:38px;padding:0 12px;border:0;border-radius:5px;color:var(--muted);background:transparent;font-size:10px;transition:color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.mode-select button.selected{color:var(--ink);background:var(--surface-strong);box-shadow:0 2px 7px #302b2114}.count-field{display:grid;gap:6px;color:var(--muted);font-size:10px}.count-field>div{display:grid;grid-template-columns:38px 48px 38px;align-items:center;height:44px;border:1px solid var(--line);border-radius:999px;background:var(--surface);transition:border-color .17s ease,box-shadow .2s ease,background .17s ease}.count-field>div:focus-within{border-color:var(--line-strong);background:var(--surface-strong);box-shadow:0 0 0 3px var(--accent-soft)}.count-field button{display:grid;place-items:center;height:100%;border:0;border-radius:50%;color:var(--muted);background:transparent;transition:color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.count-field button:hover{color:var(--ink);background:var(--accent-soft)}.count-field button svg{width:13px}.count-field input{height:40px;padding:0;border:0;border-radius:0;outline:0;color:var(--ink);background:transparent;font:15px Georgia,serif;text-align:center;appearance:textfield;transition:color .15s ease}.count-field input::-webkit-inner-spin-button,.count-field input::-webkit-outer-spin-button{margin:0;appearance:none}.study-action{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}.study-action>span{display:grid;gap:3px}.study-action b{font-size:11px}.study-action small{color:var(--muted);font-size:9px}.add-options{display:grid;gap:8px}.add-options button{display:grid;grid-template-columns:38px 1fr 20px;align-items:center;gap:7px;min-height:68px;padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:var(--surface);text-align:left;transition:border-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.add-options button>svg:first-child{width:23px;height:23px;justify-self:center}.add-options button:hover{border-color:var(--line-strong)}.add-options span{display:grid;gap:3px}.add-options b{font-family:var(--serif);font-size:13px;font-weight:560}.add-options small{color:var(--muted);font-size:9px}.create-flow-dialog{width:min(610px,100%);min-height:0;max-height:calc(100dvh - 40px);padding:32px;overflow-x:hidden;overflow-y:auto;scrollbar-color:transparent transparent;scrollbar-width:thin;transition:height .28s var(--ease)}.create-step-deck .deck-name-field{display:grid;gap:8px;color:var(--muted);font-size:10px}.create-step-deck .deck-name-field input{width:100%;height:48px;padding:0 13px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);font-family:var(--serif);font-size:15px;outline:0}.create-step-deck .deck-name-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.create-step-deck .deck-mark-field{margin-top:18px}.create-flow-dialog.is-scrolling{scrollbar-color:var(--line-strong) transparent}.create-flow-dialog::-webkit-scrollbar{width:4px}.create-flow-dialog::-webkit-scrollbar-thumb{border-radius:999px;background:transparent}.create-flow-dialog.is-scrolling::-webkit-scrollbar-thumb{background:var(--line-strong)}.create-flow-dialog.create-step-target,.create-step-target .create-stage,.create-stage{min-height:0}.create-heading{display:flex;align-items:center;justify-content:space-between;min-height:16px;padding-right:58px}.create-heading>small{color:var(--muted);font:8px Georgia,serif;letter-spacing:.08em}.create-back{display:inline-flex;align-items:center;gap:3px;min-height:30px;margin:-3px 0 5px -8px;padding:0 8px;border:0;color:var(--muted);background:transparent;font-size:9px;transition:color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.create-back svg{width:14px;height:14px;transition:transform .16s var(--ease)}.create-back:hover{color:var(--ink)}.source-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:12px;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.source-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:0;border-radius:6px;color:var(--muted);background:transparent;font-size:10px;transition:color var(--duration-color) ease,background-color var(--duration-color) ease,box-shadow .18s ease,transform var(--duration-press) var(--ease-out)}.source-tabs button.selected{color:var(--ink);background:var(--surface-strong);box-shadow:0 2px 8px #302b2114}.source-tabs svg{width:16px;height:16px}.file-drop{display:grid!important;place-items:center;align-content:center;gap:7px!important;min-height:166px;padding:22px;border:1px dashed var(--line-strong);border-radius:10px;color:var(--muted);background:color-mix(in srgb,var(--surface) 72%,transparent);text-align:center;cursor:pointer;transition:color .18s ease,border-color .18s ease,background-color .18s ease}.file-drop:hover,.file-drop.has-file{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 38%,var(--surface))}.file-drop input{position:absolute;width:1px;height:1px;opacity:0}.file-drop>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--accent);background:var(--accent-soft)}.file-drop svg{width:18px;height:18px}.file-drop b{color:var(--ink);font-family:var(--serif);font-size:14px;font-weight:560}.file-drop small{color:var(--muted);font-size:9px}.file-source{display:grid;gap:8px}.file-import-contract{margin:0;color:var(--muted);font-size:11px;line-height:1.65}.file-drop.has-file{min-height:102px}.file-selection{display:grid;gap:5px;max-height:104px;overflow-y:auto}.file-selection>span{display:grid;grid-template-columns:18px minmax(0,1fr) 28px;align-items:center;gap:7px;min-height:34px;padding:3px 4px 3px 9px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.file-selection i,.file-selection button{display:grid;place-items:center}.file-selection i svg,.file-selection button svg{width:13px;height:13px}.file-selection b{overflow:hidden;font-size:9px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.file-selection button{width:28px;height:28px;padding:0;border:0;border-radius:50%;color:var(--muted);background:transparent;transition:color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.file-selection button:hover{color:var(--accent);background:var(--accent-soft)}.json-source{display:grid;gap:9px}.json-name-field{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.json-name-field>span{display:grid;gap:2px}.json-name-field b{font-size:9px}.json-name-field small{color:var(--muted);font-size:7px}.create-flow-dialog .json-name-field input{min-width:0;height:34px;padding:0 9px;border-color:var(--line);background:var(--surface-strong);font-family:var(--sans);font-size:10px}.json-field{gap:6px!important}.create-flow-dialog .json-field textarea{width:100%;min-height:166px;padding:13px;resize:vertical;border:1px solid var(--line);border-radius:9px;outline:0;color:var(--ink);background:var(--surface);font:10px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;transition:border-color .16s ease,box-shadow .18s ease}.create-flow-dialog .json-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.create-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.create-footer>span{min-width:0;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.create-footer .primary{flex:0 0 auto}.create-footer .primary svg,.backup-actions .primary svg{width:14px;height:14px}.target-scoped{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--line-strong);border-radius:10px;background:color-mix(in srgb,var(--accent-soft) 26%,var(--surface))}.target-scoped-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:var(--accent);background:var(--accent-soft)}.target-scoped-mark svg{width:19px;height:19px}.target-scoped-mark .deck-character{font:600 15px var(--serif)}.target-scoped-name{display:grid;gap:2px;min-width:0}.target-scoped-name small{color:var(--muted);font-size:8px}.target-scoped-name b{overflow:hidden;font-family:var(--serif);font-size:12px;font-weight:560;text-overflow:ellipsis;white-space:nowrap}.target-mode{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:7px}.target-mode>button{display:grid;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:8px;min-height:58px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:var(--surface);text-align:left;transition:color var(--duration-color) ease,border-color var(--duration-color) ease,background-color var(--duration-color) ease,box-shadow .2s ease,transform var(--duration-press) var(--ease-out)}.target-mode>button:hover{color:var(--ink);border-color:var(--line-strong)}.target-mode>button.selected{color:var(--ink);border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 38%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent)}.target-mode>button>svg:first-child{width:19px;height:19px;color:var(--accent)}.target-mode>button>svg:last-child{width:14px;height:14px;transition:transform .24s var(--ease)}.target-mode>button.selected>svg:last-child{transform:rotate(180deg)}.target-mode span{display:grid;gap:3px}.target-mode b{font-family:var(--serif);font-size:11px;font-weight:560}.target-mode small{font-size:8px}.target-choice-panel{position:relative;z-index:1;display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(-4px);transition:grid-template-rows .3s var(--ease),opacity .18s ease,transform .26s var(--ease)}.target-choice-panel.is-open{grid-template-rows:1fr;opacity:1;transform:none}.target-panel-inner{min-height:0;padding-top:0;overflow:hidden;transition:padding-top .26s var(--ease)}.target-choice-panel.is-open .target-panel-inner{padding-top:8px;overflow:visible}.target-decks-shell{padding:7px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface) 72%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--surface-strong) 86%,transparent)}.target-decks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:177px;padding-right:2px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:transparent transparent;scrollbar-width:thin}.target-decks.is-scrolling{scrollbar-color:var(--line-strong) transparent}.target-decks::-webkit-scrollbar{width:4px}.target-decks::-webkit-scrollbar-thumb{border-radius:999px;background:transparent}.target-decks.is-scrolling::-webkit-scrollbar-thumb{background:var(--line-strong)}.target-deck{display:grid;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:8px;min-height:54px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--surface);text-align:left;transition:color var(--duration-color) ease,border-color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.target-deck:hover,.target-deck.selected{color:var(--ink);border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 42%,var(--surface))}.target-deck>span{display:grid;place-items:center;color:var(--accent)}.target-deck>span svg{width:19px;height:19px}.target-deck>b{overflow:hidden;font-family:var(--serif);font-size:11px;font-weight:560;text-overflow:ellipsis;white-space:nowrap}.target-check{display:grid;place-items:center;width:18px;height:18px}.target-check svg{width:14px;height:14px;color:var(--accent);animation:target-check-in .19s var(--ease)}@keyframes target-check-in{0%{opacity:0;transform:scale(.65) rotate(-8deg)}to{opacity:1;transform:none}}.inline-deck{display:grid;gap:9px;margin-top:10px;padding:11px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--surface) 72%,transparent);transition:border-color .17s ease,background-color .18s ease}.inline-deck.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 34%,var(--surface))}.inline-deck-title{display:inline-flex;align-items:center;gap:7px}.inline-deck-title>span{display:grid;place-items:center;color:var(--accent)}.inline-deck-title svg{width:14px;height:14px}.inline-deck-title b{font-family:var(--serif);font-size:11px;font-weight:560}.inline-deck-title small{margin-left:auto;color:var(--muted);font-size:8px}.inline-deck-form{display:grid;gap:8px}.create-flow-dialog .inline-deck-form>input{height:40px;font-size:12px}.inline-marks{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:5px}.inline-marks>button,.inline-custom-mark>button{display:grid;place-items:center;width:100%;aspect-ratio:1;padding:0;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:var(--surface)}.inline-marks button.selected{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.inline-marks svg{width:16px;height:16px}.inline-custom-mark{position:relative;display:block;min-width:0;aspect-ratio:1}.inline-custom-mark>*{position:absolute;inset:0;width:100%;height:100%}.inline-custom-mark:after{position:absolute;z-index:2;top:50%;left:50%;width:1px;height:15px;border-radius:1px;opacity:0;background:var(--accent);content:"";pointer-events:none;transform:translate(-50%,-50%)}.inline-custom-mark.is-editing:after{opacity:1;animation:mark-caret 1.05s steps(1,end) infinite}.inline-custom-mark.is-editing:has(input:not(:placeholder-shown)):after{transform:translate(7px,-50%)}.create-flow-dialog .inline-custom-mark input{width:100%;height:100%;min-height:0;padding:0;border:1px solid var(--accent);border-radius:7px;outline:0;caret-color:transparent;color:var(--accent);background:var(--surface);font:16px/16px var(--serif),"Apple Color Emoji",sans-serif;text-align:center;opacity:0;pointer-events:none;transform:scale(.88);transition:opacity .14s ease,transform .19s var(--ease),box-shadow .16s ease}.inline-custom-mark.is-editing>button{opacity:0;pointer-events:none;transform:scale(.88)}.inline-custom-mark.is-editing input{opacity:1;pointer-events:auto;transform:none;box-shadow:0 0 0 3px var(--accent-soft)}.inline-custom-mark .deck-character{font-size:16px}.create-tags{position:relative;display:grid;gap:7px;margin-top:11px}.target-followup{display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(-4px);transition:grid-template-rows .26s var(--ease),opacity .17s ease,transform .23s var(--ease)}.target-followup.is-visible{position:relative;z-index:12;grid-template-rows:1fr;opacity:1;transform:none}.target-followup>.create-tags{min-height:0;overflow:hidden}.target-followup.is-visible>.create-tags{overflow:visible}.create-tags-heading{display:flex;align-items:center;gap:6px;color:var(--muted)}.create-tags-heading svg{width:14px;height:14px}.create-tags-heading b{color:var(--ink);font-family:var(--serif);font-size:10px;font-weight:560}.create-tags-heading small{font-size:8px}.create-tag-track{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:32px}.create-tag-token{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 8px 0 10px;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink);background:var(--surface);font-size:9px;animation:create-tag-in .19s var(--ease)}.create-tag-token svg{width:10px;height:10px;color:var(--muted)}@keyframes create-tag-in{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:none}}.create-tag-composer{position:relative;z-index:4;display:grid;grid-template-columns:0 30px;width:30px;height:30px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);transition:width .28s var(--ease),grid-template-columns .28s var(--ease),border-color .16s ease,box-shadow .18s ease}.create-tag-composer.is-open{grid-template-columns:minmax(0,1fr) 30px;width:180px;border-color:var(--accent);box-shadow:0 5px 18px #231f1914}.create-flow-dialog .create-tag-composer input{min-width:0;height:28px;padding:0 2px 0 10px;overflow:hidden;border:0;outline:0;background:transparent;font-size:10px;opacity:0}.create-tag-composer.is-open input{opacity:1;transition:opacity .12s ease 90ms}.create-tag-composer>button{display:grid;place-items:center;width:29px;height:29px;padding:0;border:0;border-radius:50%;color:var(--muted);background:transparent}.create-tag-composer>button svg{width:12px;height:12px;transition:transform .24s var(--ease)}.create-tag-composer.is-open>button svg{transform:rotate(45deg)}.create-tag-suggestion-shell{display:grid;grid-template-rows:0fr;width:100%;max-width:560px;margin-top:0;opacity:0;transform:translateY(-5px) scale(.98);transform-origin:left top;transition:grid-template-rows .28s var(--ease),margin-top .24s var(--ease),opacity .16s ease,transform .24s var(--ease)}.create-tag-suggestion-shell.is-visible{grid-template-rows:1fr;margin-top:8px;opacity:1;transform:none}.create-tag-suggestion-clamp{min-height:0;overflow:hidden}.create-tag-suggestions{display:inline-flex;flex-wrap:wrap;gap:5px;width:fit-content;max-width:100%;min-width:0;padding:7px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--surface) 82%,transparent)}.create-tag-suggestions button{min-height:30px;padding:0 10px;border:0;border-radius:999px;color:var(--muted);background:transparent;font-size:9px;text-align:left;transition:color .15s ease,background-color .16s ease,transform .16s var(--ease)}.create-tag-suggestions button{flex:0 0 auto;white-space:nowrap}.create-tag-suggestions button:hover{color:var(--accent);background:var(--accent-soft)}.create-tag-suggestions button:active{transform:scale(.97)}.create-tag-suggestions .create-custom-tag{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;max-width:100%;color:var(--accent);background:var(--accent-soft);font-weight:600}.create-custom-tag span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.create-custom-tag small{flex:0 0 auto;color:var(--accent);font-size:8px}.import-summary{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:12px;min-height:76px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.import-summary>span{display:grid;place-items:center;width:46px;height:46px;border-radius:7px;color:var(--accent);background:var(--accent-soft)}.import-summary svg{width:22px;height:22px}.import-summary>div{display:grid;gap:5px;min-width:0}.import-summary b{overflow:hidden;font-family:var(--serif);font-size:13px;font-weight:560;text-overflow:ellipsis;white-space:nowrap}.import-summary small{color:var(--muted);font-size:9px}.review-facts{display:grid;gap:0;margin:12px 0 0;border-top:1px solid var(--line)}.review-facts>div{display:flex;justify-content:space-between;gap:20px;padding:10px 2px;border-bottom:1px solid var(--line);font-size:9px}.review-facts dt{color:var(--muted)}.review-facts dd{margin:0;color:var(--ink)}.manual-types{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.manual-types button{min-height:36px;border:0;border-radius:5px;color:var(--muted);background:transparent;font-size:9px;transition:color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.manual-types button.selected{color:var(--ink);background:var(--surface-strong);box-shadow:0 2px 7px #302b2114}.manual-context{display:flex;gap:7px;margin-bottom:10px}.manual-context>span{display:inline-flex;align-items:center;gap:5px;min-width:0;min-height:28px;padding:0 9px;border-radius:999px;color:var(--muted);background:var(--accent-soft)}.manual-context svg{flex:0 0 auto;width:12px;height:12px}.manual-context b{overflow:hidden;font-size:8px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.review-context{margin:12px 0 0}.manual-field{margin-top:12px;gap:6px!important}.manual-field>span{color:var(--ink);font-size:10px}.manual-field>span small{color:var(--muted);font-size:8px}.create-flow-dialog .manual-field textarea{width:100%;min-height:92px;padding:11px 12px;resize:vertical;border:1px solid var(--line);border-radius:8px;outline:0;color:var(--ink);background:var(--surface);font-family:var(--serif);font-size:12px;line-height:1.65}.create-flow-dialog .manual-field textarea.note{min-height:62px}.create-flow-dialog .manual-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.backup-stage{display:grid;justify-items:center;align-content:center;text-align:center}.backup-stage .create-heading{justify-self:stretch;width:100%}.backup-stage h2{margin-top:14px}.backup-symbol{display:grid;place-items:center;width:62px;height:58px;margin:16px 0 8px;color:var(--accent)}.backup-symbol svg{width:48px;height:48px;stroke-width:1.3}.backup-stage>p{max-width:390px;margin-bottom:22px}.backup-actions{display:flex;justify-content:center;gap:8px}.backup-actions>button{min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:var(--surface);transition:border-color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.backup-actions .primary{color:var(--on-accent);border-color:var(--accent);background:var(--accent)}.toast{position:fixed;z-index:300;top:84px;right:50%;padding:10px 15px;border-radius:7px;color:var(--surface);background:var(--ink);box-shadow:var(--shadow);font-size:11px;transform:translate(50%);animation:toast-in .16s var(--ease-out) both}.toast.is-leaving{animation:toast-out .14s ease both}@keyframes toast-in{0%{opacity:0;transform:translate(50%,-6px)}to{opacity:1;transform:translate(50%)}}@keyframes toast-out{0%{opacity:1;transform:translate(50%)}to{opacity:0;transform:translate(50%,-4px)}}.recycle-dialog{width:min(980px,100%);max-height:min(760px,calc(100dvh - 40px));padding:24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:transparent transparent;scrollbar-width:thin}.recycle-dialog.is-scrolling{scrollbar-color:var(--line-strong) transparent}.recycle-dialog::-webkit-scrollbar{width:5px}.recycle-dialog::-webkit-scrollbar-thumb{border-radius:999px;background:transparent}.recycle-dialog.is-scrolling::-webkit-scrollbar-thumb{background:var(--line-strong)}.recycle-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;padding:4px 54px 18px 0;border-bottom:1px solid var(--line-strong)}.recycle-identity{display:flex;align-items:center;gap:13px;min-width:0}.recycle-identity>span{display:grid;place-items:center;width:44px;height:44px;color:var(--accent)}.recycle-identity>span svg{width:38px;height:38px;stroke-width:1.45}.recycle-identity>div{display:grid;gap:2px;min-width:0}.recycle-identity small,.recycle-group>header small{color:var(--accent);font:7px Georgia,serif;letter-spacing:.18em}.recycle-identity h2{margin:0;font-family:var(--serif);font-size:clamp(29px,3.4vw,39px);font-weight:560;letter-spacing:-.055em;line-height:1.05}.recycle-head>p{max-width:360px;margin:0;color:var(--muted);font-family:var(--serif);font-size:10px;line-height:1.75}.recycle-summary{display:flex;align-items:center;justify-content:flex-end;gap:9px}.recycle-summary-actions,.recycle-group-actions{display:inline-flex;align-items:center;gap:2px}.recycle-total{display:grid;justify-items:end;gap:1px;min-width:42px}.recycle-total b{font:26px Georgia,serif;font-weight:400;line-height:1}.recycle-total small{color:var(--muted);font-size:8px}.recycle-board{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:10px;padding-top:12px}.recycle-group{min-width:0;padding:10px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:0 7px 24px #302b210a}.recycle-group>header{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:2px 6px 10px;border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent)}.recycle-group>header>span{display:grid;gap:2px}.recycle-group>header h2{margin:0;font-family:var(--serif);font-size:17px;font-weight:560}.recycle-group>header>.recycle-group-tools{display:flex;align-items:center;gap:9px}.recycle-group-tools>b{display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface-strong);font:10px Georgia,serif;font-weight:400}.recycle-list{display:grid;gap:7px;padding-top:8px}.recycle-entry{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:78px;max-height:150px;margin:0;padding:9px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--surface-strong);animation:recycle-entry-in .3s var(--ease) both;animation-delay:calc(var(--entry-index) * 34ms)}.recycle-entry-mark{display:grid;place-items:center;width:38px;height:38px;color:var(--accent)}.recycle-entry-mark svg{width:28px;height:28px;stroke-width:1.4}.recycle-entry-mark .deck-character{font-size:24px}.recycle-type{display:grid;place-items:center;width:38px;min-height:32px;color:var(--accent);font:7px Georgia,serif;letter-spacing:.08em;text-align:center}.recycle-entry-copy{display:grid;gap:4px;min-width:0}.recycle-entry-copy b{display:-webkit-box;overflow:hidden;font-family:var(--serif);font-size:12px;font-weight:560;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.recycle-entry-copy small{overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.recycle-entry-copy em{color:color-mix(in srgb,var(--muted) 76%,transparent);font: 7px Georgia,serif}.restore-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid transparent;border-radius:6px;color:var(--muted);background:transparent;transition:color var(--duration-color) ease,border-color var(--duration-color) ease,background-color var(--duration-color) ease,box-shadow .18s ease,transform var(--duration-press) var(--ease-out)}.restore-button svg,.purge-button svg{width:16px;height:16px;stroke-width:1.9;transition:transform .24s var(--ease)}.restore-button .restore-arrowhead{fill:none;stroke:currentColor;stroke-width:2.1}.restore-button:active{transform:translateY(0) scale(.97)}.restore-button.is-confirming{color:var(--on-accent);border-color:var(--accent);background:var(--accent);box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 25%,transparent);animation:purge-confirm .22s var(--ease) both}.restore-button.is-confirming svg{transform:none}.restore-button:disabled{cursor:default;opacity:.32;pointer-events:none}.recycle-actions{display:flex;align-items:center;gap:2px}.purge-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:32px;padding:0 7px;border:1px solid transparent;border-radius:6px;color:var(--muted);background:transparent;font-size:8px;transition:color var(--duration-color) ease,border-color var(--duration-color) ease,background-color var(--duration-color) ease,box-shadow .18s ease,transform var(--duration-press) var(--ease-out)}.purge-button:active{transform:translateY(0) scale(.97)}.purge-button.is-confirming{color:#fff;border-color:var(--danger);background:var(--danger);box-shadow:0 5px 14px color-mix(in srgb,var(--danger) 25%,transparent);animation:purge-confirm .22s var(--ease) both}.purge-button:disabled{cursor:default;opacity:.32;pointer-events:none}.purge-entry-button{width:40px;height:40px;padding:0}.restore-group-button,.purge-group-button{width:34px;height:32px}.restore-all-button,.purge-all-button{width:38px;height:34px}.restore-button,.purge-button,.restore-group-button,.purge-group-button,.restore-all-button,.purge-all-button{width:44px;height:44px;min-width:44px}.restore-button:focus-visible,.purge-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}@keyframes purge-confirm{0%{transform:scale(1)}45%{transform:scale(.92)}78%{transform:scale(1.04)}to{transform:scale(1)}}.recycle-group-empty{display:grid;place-items:center;gap:7px;min-height:112px;color:var(--muted);animation:recycle-empty-in .24s var(--ease) both}.recycle-group-empty>span{display:grid;place-items:center;width:33px;height:33px;color:color-mix(in srgb,var(--muted) 72%,transparent)}.recycle-group-empty svg{width:25px;height:25px}.recycle-group-empty small{font-size:8px}@keyframes recycle-entry-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}@keyframes recycle-empty-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media (max-width: 760px){.app-shell{padding-bottom:126px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.app-shell input,.app-shell textarea,.app-shell select{-webkit-user-select:text;user-select:text}.topbar{width:calc(100% - 28px);height:50px}.brand{display:flex;gap:6px}.brand b{font-size:15px}.brand span{font-size:6px}.home{width:calc(100% - 28px);padding-top:10px}.recycle-dialog{width:calc(100% - 28px);max-height:calc(100dvh - 28px);padding:20px 14px 16px}.recycle-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px 8px;padding:5px 44px 12px 0}.recycle-identity{grid-column:1;grid-row:1}.recycle-head>p{grid-column:1 / -1;grid-row:2;min-width:0;max-width:none;font-size:8px;line-height:1.55}.recycle-summary{grid-column:2;grid-row:1;justify-self:end;gap:7px}.recycle-identity{gap:9px}.recycle-identity>span{width:38px;height:38px}.recycle-identity>span svg{width:32px;height:32px}.recycle-identity h1{font-size:28px}.recycle-total{min-width:34px}.recycle-total b{font-size:22px}.recycle-board{grid-template-columns:1fr;gap:10px;padding-top:12px}.recycle-group{padding:8px}.recycle-entry{grid-template-columns:30px minmax(0,1fr) auto;gap:7px;min-height:80px;padding:8px}.recycle-entry-mark,.recycle-type{width:32px}.recycle-entry-mark svg{width:25px;height:25px}.recycle-entry-copy b{font-size:11px}.restore-entry-button{width:44px;min-width:44px;height:44px;min-height:44px}.restore-group-button,.purge-group-button{width:40px;height:40px}.restore-all-button,.purge-all-button{width:38px;height:38px}.purge-entry-button{width:44px;height:44px}.recycle-actions{gap:2px}.deck-toolbar{min-height:52px;margin-bottom:10px}.deck-toolbar{flex-wrap:wrap;gap:7px}.toolbar-actions{width:100%}.toolbar-create{min-width:94px}.toolbar-recycle{min-width:108px}.trash-button{width:46px}.deck-search{width:100%}.deck-search input,.create-flow-dialog input{font-size:16px}.deck-search kbd{display:none}.cover-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cover-deck{grid-template-columns:1fr auto;min-height:126px;padding:0}.cover-deck .deck-main{align-content:start;min-height:126px;padding:13px}.cover-deck{touch-action:none}.resume-deck{min-height:126px;padding:13px}.cover-deck .deck-copy{min-height:41px}.cover-deck .deck-copy b{font-size:16px}.cover-deck .due{grid-column:2;grid-row:2;align-self:end}.cover-deck .deck-touched{min-height:12.5px;visibility:hidden}.cover-deck .deck-progress{grid-column:1 / 3}.deck-menu-trigger{top:5px;right:5px;width:38px;height:38px;opacity:1}.deck-menu{top:41px;right:5px}.study-dialog{max-height:calc(100dvh - 28px);padding-bottom:20px}.all-switch{min-height:44px}.filter-options{gap:7px}.filter-chip{min-height:44px;padding:0 13px}.selected-token{min-height:36px}.morph-composer.is-open,.morph-suggestions{width:210px}.morph-input{display:flex!important;align-items:center}.study-dialog .morph-input input{width:152%;font-size:16px;transform:scale(.66);transform-origin:left center}.count-field input{font-size:16px}.study-bottom{grid-template-columns:1fr;gap:14px}.mode-select button{min-height:44px;padding:0 5px}.count-field{width:100%}.count-field>div{grid-template-columns:44px 1fr 44px;width:100%}.study-action{position:sticky;z-index:2;bottom:-20px;align-items:stretch;flex-direction:column;margin-right:-20px;margin-left:-20px;padding:13px 20px 20px;border-top:1px solid var(--line);background:linear-gradient(to bottom,color-mix(in srgb,var(--surface-strong) 88%,transparent),var(--surface-strong) 24%);backdrop-filter:blur(10px)}.study-action .primary{width:100%;min-height:48px}.empty{margin-top:22px;padding:24px 5px}.dialog,.create-flow-dialog{width:min(430px,calc(100% - 28px));padding:25px 20px 27px;border-radius:12px}.create-flow-dialog{width:calc(100% - 28px);min-height:0;max-height:calc(100dvh - 28px);overflow-y:auto}.create-flow-dialog .create-heading{padding-right:58px}.create-stage{min-height:0}.source-tabs button,.target-deck,.manual-types button{min-height:44px}.file-drop{min-height:184px}.create-flow-dialog .json-field textarea,.create-flow-dialog .manual-field textarea{font-size:16px}.json-name-field{grid-template-columns:1fr;overflow:hidden}.create-flow-dialog .json-name-field input{width:133.4%;height:44px;margin-right:-33.4%;font-size:16px;transform:scale(.75);transform-origin:left center}.target-decks{grid-template-columns:1fr;max-height:176px}.inline-deck-form{grid-template-columns:1fr}.inline-marks{grid-template-columns:repeat(9,minmax(0,1fr))}.inline-marks>button,.inline-custom-mark{min-height:42px}.create-flow-dialog .inline-deck-form>input{height:44px;font-size:16px}.create-flow-dialog .create-tag-composer input{width:148%;font-size:16px;transform:scale(.68);transform-origin:left center}.create-tag-composer.is-open{width:196px}.manual-context{flex-wrap:wrap}.manual-types{grid-template-columns:repeat(5,minmax(0,1fr))}.manual-types button{padding-inline:2px;font-size:8px}.create-step-manual .create-footer{position:sticky;bottom:-27px;margin-right:-20px;margin-left:-20px;padding:12px 20px 20px;background:linear-gradient(to bottom,color-mix(in srgb,var(--surface-strong) 88%,transparent),var(--surface-strong) 26%);backdrop-filter:blur(10px)}}@media (max-width: 480px){.inline-marks{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-height: 720px) and (min-width: 761px){.home{padding-top:14px}.cover-deck{min-height:145px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.delete-mode .cover-deck{animation:none!important}.trash-flyer{display:none!important}}.deck-workspace{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:22px 0 44px}.deck-detail-head{display:grid;grid-template-columns:1fr auto;grid-template-areas:"identity study" "progress study";align-items:center;gap:10px 28px;padding:16px 2px 22px}.detail-back{grid-area:back;justify-self:start;display:inline-flex;align-items:center;gap:3px;min-height:32px;margin-left:-8px;padding:0 8px;border:0;color:var(--muted);background:transparent;font-size:9px;transition:color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.detail-back svg{width:15px;transition:transform .18s var(--ease)}.detail-back:hover{color:var(--ink)}.detail-identity{grid-area:identity;display:flex;align-items:center;gap:14px}.detail-mark{display:grid;place-items:center;width:42px;height:42px;color:var(--accent)}.detail-mark svg{width:37px;height:37px;stroke-width:1.25}.detail-identity>div{display:grid;gap:2px}.detail-identity small{color:var(--accent);font:7px Georgia,serif;letter-spacing:.15em}.detail-identity h1{margin:0;font-family:var(--serif);font-size:clamp(26px,3vw,38px);font-weight:560;letter-spacing:-.04em}.detail-progress{grid-area:progress;display:flex;gap:25px;padding-left:56px}.detail-progress span{display:flex;align-items:baseline;gap:5px}.detail-progress b{font:15px Georgia,serif;font-weight:400}.detail-progress small{color:var(--muted);font-size:8px}.detail-study{grid-area:study;display:grid;grid-template-columns:28px auto 18px;align-items:center;gap:9px;min-height:48px;padding:0 13px;border:1px solid var(--accent);border-radius:8px;color:var(--on-accent);background:var(--accent);box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 22%,transparent);font-size:11px;font-weight:650;transition:transform var(--duration-press) var(--ease-out),box-shadow var(--duration-color) ease}.detail-study>svg:first-child{width:22px;fill:color-mix(in srgb,var(--on-accent) 12%,transparent)}.detail-study>svg:last-child{width:15px}.detail-actions{grid-area:study;display:flex;align-items:center;gap:8px}.detail-actions .detail-study{grid-area:auto}.detail-new{display:grid;grid-template-columns:32px auto;align-items:center;gap:8px;min-height:48px;padding:4px 11px 4px 4px;border:1px solid var(--line-strong);border-radius:8px;background:color-mix(in srgb,var(--surface-strong) 82%,transparent);box-shadow:0 5px 14px #302b210f;text-align:left;transition:border-color var(--duration-color) ease,box-shadow .18s ease,transform var(--duration-press) var(--ease-out)}.detail-new>svg{width:32px;height:32px;padding:8px;border-radius:5px;color:var(--on-accent);background:var(--accent);transition:transform .2s var(--ease)}.detail-new>span{display:grid;gap:1px}.detail-new b{font-size:10px}.detail-new small{color:var(--muted);font:6px Georgia,serif;letter-spacing:.11em}.items-column{min-height:590px;container:items / inline-size}.item-controls{position:relative;z-index:9;display:flex;align-items:center;flex-wrap:wrap;gap:12px;min-height:66px;margin-bottom:12px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface) 72%,transparent);box-shadow:0 5px 18px #302b2108}.search-cluster{display:flex;align-items:center;flex:1 1 0;min-width:190px}.item-search{display:flex;align-items:center;flex:1 1 auto;min-width:0;gap:8px;height:40px;padding:0 8px;color:var(--muted)}.item-search svg{width:15px}.item-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:11px}.item-search kbd{padding:2px 5px;border:1px solid var(--line);border-radius:4px;font-size:9px}.search-cluster .item-count{flex:0 0 auto;min-height:0;padding:0 7px;border-left:1px solid var(--line);color:var(--muted);font:9px Georgia,serif;white-space:nowrap}.items-select-all{position:relative;flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;margin-left:6px;padding:0 0 0 13px;border:0;color:var(--muted);background:transparent;transition:color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.items-select-all:before{content:"";position:absolute;left:0;top:50%;width:1px;height:16px;background:var(--line-strong);transform:translateY(-50%)}.items-select-all i{display:grid;place-items:center;width:15px;height:15px;border:1px solid var(--line-strong);border-radius:50%;color:var(--on-accent);background:transparent}.items-select-all i svg{width:10px;height:10px;stroke-width:2.3}.items-select-all:active{transform:scale(.97)}.items-select-all.is-active i{border-color:var(--accent);background:var(--accent)}@media (hover: hover) and (pointer: fine){.items-select-all:hover{color:var(--ink)}.items-select-all:hover i{border-color:var(--line-strong)}}.index-group-manage{flex:0 0 auto;min-width:30px;min-height:24px;padding:0 8px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:999px;color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 68%,transparent);font-size:7px;white-space:nowrap;transition:color var(--duration-color) ease,background-color var(--duration-color) ease,border-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.index-group-manage:hover{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.index-group-manage[aria-pressed=true]{color:var(--on-accent);border-color:var(--accent);background:var(--accent)}.index-group-manage:active{transform:scale(.97)}.index-tag-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:2px;width:100%;min-height:34px;padding:2px 4px 2px 9px;border-radius:6px;color:var(--muted);background:transparent;font-size:9px;text-align:left}.index-tag-row:hover{background:color-mix(in srgb,var(--surface-strong) 62%,transparent)}.index-tag-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.index-tag-edit,.index-tag-delete{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:6px;color:var(--muted);background:transparent;transition:color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.index-tag-edit:active,.index-tag-delete:active{transform:scale(.9)}.index-tag-edit:hover{color:var(--accent);background:var(--accent-soft)}.index-tag-delete:hover{color:var(--danger);background:var(--danger-soft)}.index-tag-edit svg,.index-tag-delete svg{width:12px;height:12px}.index-tag-rename-input{grid-column:1 / -1;width:100%;height:26px;padding:0 7px;border:1px solid var(--accent);border-radius:5px;outline:0;color:var(--ink);background:var(--surface-strong);font-size:9px}.index-tag-rename-input:focus{box-shadow:0 0 0 2px var(--accent-soft)}.filter-cluster{display:flex;align-items:center;flex:0 0 auto;flex-wrap:wrap;gap:6px;min-width:0}.item-filters{display:flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 65%,transparent)}.item-filters button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:0 9px;border:0;border-radius:5px;color:var(--muted);background:transparent;font-size:9px;white-space:nowrap;transition:color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.item-filters button>svg{width:12px;height:12px;flex:0 0 auto;overflow:visible}.item-filters button[data-item-filter=starred].selected .star-shape,.item-filters button[data-item-filter=review].selected .flag-cloth,.item-filters button[data-item-filter=reinforce].selected .layers-top{fill:currentColor}.item-filters button[data-item-filter=reinforce].selected{color:var(--warning)}.item-filters button[data-item-filter=review].selected{color:var(--danger)}.item-filters button[data-item-filter=mastered].selected{color:var(--success)}.item-filters button[data-item-filter=mastered].selected .mastery-ring{fill:currentColor}.item-filters button[data-item-filter=mastered].selected .mastery-check{stroke:var(--surface-strong);stroke-width:2.25}.item-filters button.selected{color:var(--ink);background:var(--surface-strong);box-shadow:0 2px 7px #302b2114}.item-type-filters button{gap:6px}.item-type-filters .type-check{display:grid;place-items:center;width:13px;height:13px;flex:0 0 13px;border:1px solid currentColor;border-radius:3px;transition:color .16s ease,background .16s ease,transform .18s var(--ease)}.item-type-filters .type-check svg{width:10px;height:10px;stroke-width:2.5}.item-type-filters button.selected{color:var(--ink);background:var(--surface-strong)}.item-type-filters button.selected .type-check{color:var(--surface-strong);border-color:var(--ink);background:var(--ink);transform:scale(1.04)}.floating-filter{--filter-width: 82px;position:relative;flex:0 0 var(--filter-width);width:var(--filter-width);min-width:0}.type-filter{--filter-width: 104px}.resource-filter{--filter-width: 96px}.tag-filter{--filter-width: 90px}.floating-filter>button{display:grid;grid-template-columns:15px minmax(0,1fr) 12px;align-items:center;gap:5px;width:100%;min-height:38px;padding:0 8px;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:var(--surface);font-size:9px;transition:color var(--duration-color) ease,border-color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.floating-filter>button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-filter>button>svg:first-child{width:14px;height:14px}.floating-filter>button>svg:last-child{width:11px;height:11px;transition:transform .18s var(--ease)}.floating-filter.is-open>button{border-color:var(--accent);color:var(--ink);background:var(--surface-strong)}.floating-filter.is-open>button>svg:last-child{transform:rotate(180deg)}.filter-popover{position:absolute;z-index:30;top:calc(100% + 7px);right:0;display:grid;min-width:190px;max-width:285px;max-height:270px;padding:5px;overflow-y:auto;overscroll-behavior:contain;visibility:hidden;opacity:0;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface-strong);box-shadow:0 16px 38px #1e1c182e;transform:translateY(-6px) scale(.975);transform-origin:top right;transition:opacity .15s ease,transform .19s var(--ease),visibility 0s linear .19s;will-change:opacity,transform}.filter-popover-search{position:static;display:flex;align-items:center;gap:7px;min-height:40px;margin:0;padding:0;overflow:hidden;color:var(--muted);background:transparent;flex:1 1 auto;min-width:0}.filter-popover-search-row{position:sticky;z-index:2;top:-5px;display:flex;align-items:center;gap:6px;min-height:40px;margin:-1px -1px 4px;padding:4px 9px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-strong) 94%,transparent);backdrop-filter:blur(8px)}.filter-popover-search-row .index-group-manage{min-width:30px;min-height:24px}.filter-tag-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:2px;min-height:34px;padding:2px 5px 2px 9px;border-radius:6px;color:var(--muted);background:transparent;font-size:9px}.filter-tag-row:hover{background:color-mix(in srgb,var(--surface) 78%,transparent)}.filter-tag-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-tag-row .index-tag-rename-input{grid-column:1 / -1}.filter-popover-search>svg{width:14px;height:14px}.filter-popover-search>span{display:block;min-width:0;flex:1;overflow:hidden}.filter-popover-search input{width:100%;height:30px;padding:0;border:0;outline:0;background:transparent;font-size:10px}.filter-popover.is-visible{visibility:visible;opacity:1;transform:translateY(0) scale(1);transition-delay:0s}.filter-popover.is-closing{visibility:visible;pointer-events:none}.filter-popover>button{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:7px;min-height:38px;padding:0 9px;border:0;border-radius:6px;color:var(--ink);background:transparent;font-size:9px;text-align:left}.filter-popover>button:hover{background:var(--accent-soft)}.filter-popover>button svg{width:13px;height:13px;color:var(--accent)}.filter-popover .menu-check{display:grid;place-items:center;width:16px;height:16px}.filter-popover>button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-filter .filter-popover{width:330px;max-width:min(330px,calc(100vw - 40px))}.resource-filter .filter-popover>button span{overflow:visible;line-height:1.45;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.filter-popover>i{height:1px;margin:4px 6px;background:var(--line)}.detail-add{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 13px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);font-size:10px}.detail-add svg{width:15px}.detail-body,.items-column{min-width:0}.item-count{color:var(--muted)}.items-heading{display:none}.items-heading>span{display:flex;align-items:baseline;gap:8px}.items-heading b{font-family:var(--serif);font-size:14px;font-weight:560}.items-heading small{color:var(--muted);font-size:8px}.items-heading>button{display:inline-flex;align-items:center;gap:3px;padding:4px;border:0;color:var(--muted);background:transparent;font-size:8px}.items-heading>button svg{width:11px;transform:rotate(90deg)}.item-list{border-top:1px solid var(--line-strong)}.learning-item{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr) 24px;align-items:stretch;border-bottom:1px solid var(--line);transition:background .18s ease,opacity .18s ease}.learning-item:hover,.learning-item.selected{background:color-mix(in srgb,var(--surface-strong) 72%,transparent)}.learning-item.is-mastered{opacity:.62}.item-select{align-self:start;display:grid;place-items:center;width:32px;height:44px;padding:0;border:0;background:transparent}.item-select i{display:grid;place-items:center;width:15px;height:15px;border:1px solid var(--line-strong);border-radius:50%;color:var(--on-accent);background:transparent}.learning-item.selected .item-select i{border-color:var(--accent);background:var(--accent)}.item-select svg{width:10px;height:10px;stroke-width:2.3}.item-open{display:grid;gap:9px;min-width:0;padding:14px 8px 15px}.item-content{display:grid;gap:9px;min-width:0;padding:0;border:0;background:transparent;text-align:left}.item-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:8px}.item-meta>b{color:var(--accent-strong);font-weight:650}.item-tags{display:flex;align-items:center;gap:4px;min-width:0}.item-tag{display:inline-flex;align-items:center;gap:3px;max-width:140px;min-height:20px;padding:1px 5px 1px 7px;overflow:hidden;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:transparent;font-size:7px;font-weight:450;white-space:nowrap;transition:color .16s ease,border-color .16s ease,transform var(--duration-press) var(--ease-out)}.item-tag svg{width:8px;height:8px;opacity:.55;transition:opacity .15s ease,transform .18s var(--ease)}.item-tag:hover{color:var(--ink);border-color:var(--line-strong)}.item-tag:active{transform:scale(.96)}.item-tag-composer{position:relative;display:inline-flex;align-items:center;width:20px;height:20px;border:1px solid var(--line);border-radius:999px;background:var(--surface);transition:width .24s var(--ease),border-color .18s ease,box-shadow .18s ease}.item-tag-composer.is-open{width:124px;border-color:var(--accent);box-shadow:0 4px 12px #302b2114}.item-tag-input-wrap{position:absolute;inset:0 20px 0 0;overflow:hidden;border-radius:999px 0 0 999px}.item-tag-input-wrap>input{width:100%;height:100%;min-width:0;padding:0 3px 0 8px;border:0;outline:0;opacity:0;background:transparent;font-size:8px;transition:opacity .12s ease 40ms}.item-tag-composer.is-open .item-tag-input-wrap>input{opacity:1}.item-tag-composer>button{position:absolute;right:0;display:grid;place-items:center;width:20px;height:20px;padding:0;border:0;border-radius:50%;color:var(--muted);background:transparent}.item-tag-composer>button svg{width:9px;height:9px;transition:transform .22s var(--ease)}.item-tag-composer.is-open>button svg{transform:rotate(45deg)}.item-tag-suggestions{position:absolute;z-index:20;top:calc(100% + 5px);left:0;display:grid;width:150px;max-height:150px;padding:4px;overflow-y:auto;visibility:hidden;opacity:0;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface-strong);box-shadow:0 12px 28px #1e1c1829;transform:translateY(-4px) scale(.98);transform-origin:top left;transition:opacity .15s ease,transform .19s var(--ease),visibility 0s linear .19s}.item-tag-suggestions.is-visible{visibility:visible;opacity:1;transform:none;transition-delay:0s}.item-tag-suggestions.is-closing{visibility:visible;pointer-events:none}.item-tag-suggestions>button{position:static;display:block;width:100%;height:auto;min-height:30px;padding:0 7px;border:0;border-radius:4px;color:var(--ink);background:transparent;text-align:left}.item-tag-suggestions>button:hover{color:var(--ink);background:var(--accent-soft)}.item-statuses{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.item-status{display:inline-flex;align-items:center;gap:3px;color:var(--muted);font-style:normal;animation:item-status-in .22s var(--ease) both}@keyframes item-status-in{0%{opacity:0;transform:translate(4px) scale(.88)}to{opacity:1;transform:none}}.item-status svg{width:11px;height:11px}.item-status.review{color:var(--danger)}.item-status.starred{color:var(--starred)}.item-status.starred .star-shape,.item-status.review .flag-cloth{fill:currentColor}.item-status.reinforce{color:var(--warning)}.item-status.reinforce .layers-top{fill:currentColor}.item-status.mastered{color:var(--success)}.item-status.mastered .mastery-ring{fill:currentColor}.item-status.mastered .mastery-check{stroke:var(--surface-strong);stroke-width:2.25}.item-status span{display:none}.item-open strong{max-width:850px;font-family:var(--serif);font-size:14px;font-weight:540;line-height:1.75}.item-date{display:block;color:var(--muted);font:8px Georgia,var(--serif);line-height:1.2}.item-source{display:flex;align-items:center;gap:6px;min-width:0;color:var(--muted);font-size:8px}.item-source>svg{width:12px;height:12px}.item-source>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-source>i{width:2px;height:2px;border-radius:50%;background:var(--line-strong)}.item-source time{flex:0 0 auto;font:8px Georgia,serif}.item-arrow{align-self:center;color:var(--muted);opacity:0;transform:translate(-4px);transition:opacity .18s ease,transform .18s var(--ease)}.item-arrow svg{width:14px}.items-empty{display:grid;justify-items:center;gap:8px;padding:64px 20px;border-top:1px solid var(--line);color:var(--muted)}.items-empty>span svg{width:24px;height:24px}.items-empty b{color:var(--ink);font-family:var(--serif);font-size:14px}.items-empty small{font-size:9px}.detail-a .deck-index{display:none}.deck-index{position:sticky;top:14px;align-self:start;display:grid;gap:12px;min-width:0;max-height:calc(100vh - 28px);padding:12px 10px 14px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:transparent transparent;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface) 50%,transparent);box-shadow:0 5px 18px #302b2108}.deck-index.is-scrolling{scrollbar-color:var(--line-strong) transparent}.deck-index::-webkit-scrollbar,.index-resource .index-options::-webkit-scrollbar,.index-tag .index-options::-webkit-scrollbar{width:5px}.deck-index::-webkit-scrollbar-thumb,.index-resource .index-options::-webkit-scrollbar-thumb,.index-tag .index-options::-webkit-scrollbar-thumb{border-radius:999px;background:transparent}.deck-index.is-scrolling::-webkit-scrollbar-thumb,.index-options.is-scrolling::-webkit-scrollbar-thumb{background:var(--line-strong)}.index-title{padding:0 3px 7px;border-bottom:1px solid var(--line);transition:padding .22s var(--ease),border-color .18s ease}.index-title>button{display:grid;grid-template-columns:15px auto auto 12px;align-items:center;justify-content:start;gap:6px;width:100%;min-height:28px;padding:0;border:0;color:var(--ink);background:transparent;text-align:left}.index-title>button>span{display:grid;place-items:center;color:var(--accent)}.index-title>button>span svg{width:14px;height:14px}.index-title>button>small{color:var(--accent);font:7px Georgia,serif;letter-spacing:.16em}.index-title>button>b{font-family:var(--serif);font-size:14px;font-weight:560}.index-title>button>svg{width:11px;height:11px;color:var(--muted);transition:transform .24s var(--ease)}.index-title>button[aria-expanded=true]>svg{transform:rotate(180deg)}.index-sections{display:grid;grid-template-rows:1fr;min-width:0;opacity:1;transition:grid-template-rows .28s var(--ease),opacity .17s ease}.index-sections-inner{display:grid;gap:12px;min-width:0;min-height:0;overflow:hidden}.deck-index.is-panel-collapsed{min-height:50px;max-height:50px;padding:5px 7px;overflow:hidden}.deck-index.is-panel-collapsed .index-title{padding:0;border-color:transparent}.deck-index.is-panel-collapsed .index-title>button{grid-template-columns:1fr;min-height:38px;justify-items:center}.deck-index.is-panel-collapsed .index-title b,.deck-index.is-panel-collapsed .index-title small,.deck-index.is-panel-collapsed .index-title>button>svg{display:none}.deck-index.is-panel-collapsed .index-sections{grid-template-rows:0fr;opacity:0}.index-group{display:grid;gap:4px;min-width:0}.index-group>header{display:flex;align-items:center;justify-content:space-between;min-height:27px;padding:0 3px}.index-group-toggle{display:grid;grid-template-columns:14px auto 18px 12px;align-items:center;gap:7px;min-height:24px;padding:0;border:0;color:var(--ink);background:transparent;text-align:left}.index-group-toggle>span{display:grid;place-items:center}.index-group-toggle>span svg{width:13px;height:13px;color:var(--accent);overflow:visible}.index-group-toggle>b{font-size:11px;font-weight:650}.index-group-toggle>em{display:grid;place-items:center;min-width:16px;height:16px;border-radius:999px;color:var(--accent);background:var(--accent-soft);font-size:7px;font-style:normal}.index-group-toggle>em:empty{visibility:hidden}.index-group-toggle>svg{display:none;width:11px;height:11px}.index-status-title{grid-template-columns:14px auto}.index-group>header>[data-filter-clear]{flex:0 0 auto;min-width:30px;min-height:20px;padding:0 5px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:999px;color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 68%,transparent);font-size:7px;white-space:nowrap;transition:color var(--duration-color) ease,opacity var(--duration-color) ease,border-color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.index-group>header>[data-filter-clear]:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.index-group>header>[data-filter-clear]:disabled{opacity:0;pointer-events:none}.index-group-body{display:grid;min-width:0}.index-group-content{display:grid;gap:4px;min-width:0}.index-options{display:grid;gap:2px;min-width:0}.index-status-choice,.index-choice{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;min-height:31px;padding:0 7px;border:0;border-radius:6px;color:var(--muted);background:transparent;font-size:9px;text-align:left;transition:color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.index-status-choice:hover,.index-choice:hover{color:var(--ink);background:color-mix(in srgb,var(--surface-strong) 62%,transparent)}.index-status-choice.selected,.index-choice.selected{color:var(--ink);background:var(--surface-strong);box-shadow:0 2px 8px #302b2112}.index-status-choice>svg{width:14px;height:14px;overflow:visible}.index-status-choice>span,.index-choice>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.index-status-choice>small,.index-choice>small{color:var(--muted);font:8px Georgia,serif}.index-status-choice[data-item-filter=starred].selected{color:var(--starred)}.index-status-choice[data-item-filter=starred].selected .star-shape,.index-status-choice[data-item-filter=review].selected .flag-cloth{fill:currentColor}.index-status-choice[data-item-filter=review].selected{color:var(--danger)}.index-status-choice[data-item-filter=reinforce].selected .layers-top{fill:currentColor}.index-status-choice[data-item-filter=reinforce].selected{color:var(--warning)}.index-status-choice[data-item-filter=mastered].selected{color:var(--success)}.index-status-choice[data-item-filter=mastered].selected .mastery-ring{fill:currentColor}.index-status-choice[data-item-filter=mastered].selected .mastery-check{stroke:var(--surface-strong);stroke-width:2.25}.index-choice>i{display:grid;place-items:center;width:15px;height:15px;border:1px solid var(--line-strong);border-radius:4px;color:var(--on-accent);background:transparent;transition:border-color .16s ease,background-color .16s ease}.index-choice.selected>i{border-color:var(--accent);background:var(--accent)}.index-choice>i svg{width:10px;height:10px;stroke-width:2.4}.index-search{display:grid;grid-template-columns:14px minmax(0,1fr);align-items:center;gap:6px;min-height:34px;padding:0 8px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:var(--surface);transition:border-color .16s ease,background-color .16s ease}.index-search-row{display:flex;align-items:center;gap:6px}.index-search-row .index-search{flex:1 1 auto;min-width:0}.index-search:focus-within{border-color:var(--accent);background:var(--surface-strong)}.index-search svg{width:13px;height:13px}.index-search input{width:100%;min-width:0;border:0;outline:0;color:var(--ink);background:transparent;font-size:9px}.index-search input::placeholder{color:var(--muted)}.index-resource .index-options,.index-tag .index-options{max-height:134px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:transparent transparent}.index-resource .index-options.is-scrolling,.index-tag .index-options.is-scrolling{scrollbar-color:var(--line-strong) transparent}.compact-list .item-open{padding-block:11px 12px}.compact-list .item-source{margin-top:-3px}.compact-list .item-open strong{font-size:12px;line-height:1.65}.preview-card-stage{animation:surface-swap-in .2s var(--ease-out) both}.preview-card-face{padding:30px 48px 34px;cursor:pointer}.preview-card-front{display:flex;flex-direction:column}.preview-card-face>header{gap:11px;color:var(--accent)}.preview-item-tools{display:flex;justify-content:flex-end;gap:6px;margin-left:auto;color:var(--muted)}.preview-item-tools button{display:inline-flex;align-items:center;justify-content:center;width:36px;min-height:36px;padding:0;border:1px solid transparent;border-radius:5px;color:var(--muted);background:transparent;touch-action:manipulation;cursor:pointer;transition:color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.preview-item-tools button>span{display:none}.preview-item-tools button:hover{color:var(--ink)}.preview-item-tools button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 58%,transparent);outline-offset:0}.preview-item-tools button[aria-pressed=true]{border-color:transparent;background:transparent}.preview-item-tools svg{width:17px;height:17px;overflow:visible}.preview-item-tools [data-preview-tool=star][aria-pressed=true]{color:var(--starred)}.preview-item-tools [data-preview-tool=star][aria-pressed=true] .star-shape{fill:currentColor}.preview-item-tools [data-preview-tool=star][data-just-activated=true] svg{transform-box:fill-box;transform-origin:center;animation:preview-star-pop .36s cubic-bezier(.2,.85,.25,1.3)}.preview-item-tools [data-preview-tool=review][aria-pressed=true]{color:var(--danger)}.preview-item-tools [data-preview-tool=review][aria-pressed=true] .flag-cloth{fill:currentColor}.preview-item-tools [data-preview-tool=review][data-just-activated=true] svg{transform-origin:30% 90%;animation:preview-flag-plant .42s cubic-bezier(.2,.8,.25,1.15)}.preview-item-tools [data-preview-tool=mastered]{margin-left:4px}.preview-item-tools [data-preview-tool=mastered][aria-pressed=true]{color:var(--success)}.preview-item-tools [data-preview-tool=mastered][aria-pressed=true] .mastery-ring{fill:currentColor}.preview-item-tools [data-preview-tool=mastered][aria-pressed=true] .mastery-check{stroke:var(--surface-strong);stroke-width:2.25}.preview-item-tools [data-preview-tool=mastered][data-just-activated=true] svg{transform-box:fill-box;transform-origin:center;animation:preview-mastery-stamp .39s cubic-bezier(.2,.82,.25,1.25)}@keyframes preview-star-pop{0%{transform:scale(.72) rotate(-12deg)}58%{transform:scale(1.22) rotate(5deg)}to{transform:scale(1) rotate(0)}}@keyframes preview-flag-plant{0%{transform:translateY(-3px) rotate(-8deg)}55%{transform:translateY(1px) rotate(5deg)}to{transform:translateY(0) rotate(0)}}@keyframes preview-mastery-stamp{0%{transform:scale(.68)}62%{transform:scale(1.18)}to{transform:scale(1)}}.preview-card-face h2{margin:23px 0 0;font-family:var(--serif);font-size:19px;font-weight:500;line-height:1.85}.preview-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:30px}.preview-options>div{display:grid;grid-template-columns:31px 1fr 18px;align-items:center;gap:10px;min-height:50px;padding:8px 11px;border:1px solid var(--line);border-radius:6px;font-family:var(--serif);font-size:12px;line-height:1.5}.preview-options i{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:4px;font-style:normal;font-weight:700}.preview-options>div>svg{width:15px;height:15px;color:var(--success);stroke-width:2.2}.preview-options>div.correct{border-color:color-mix(in srgb,var(--success) 50%,var(--line));background:color-mix(in srgb,var(--success) 7%,var(--surface-strong))}.preview-options>div.correct i{color:var(--surface-strong);border-color:var(--success);background:var(--success)}.preview-reveal{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);font-family:var(--serif);font-size:16px;line-height:1.85}.preview-card-face>small{align-self:center;margin-top:26px;color:var(--muted);font-size:8px}.preview-card-back{display:flex;flex-direction:column}.preview-card-back .preview-note-heading{display:flex;align-items:center;justify-content:flex-start;gap:8px}.preview-card-back header button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:5px;color:var(--accent);background:transparent;cursor:pointer}.preview-card-back header button svg{width:17px;height:17px;transform-box:fill-box;transform-origin:center}.preview-card-back header button[data-mode=done]{color:var(--success)}.preview-card-back header button[data-mode=done] svg{animation:preview-edit-confirm .32s cubic-bezier(.2,.85,.25,1.25)}@keyframes preview-edit-confirm{0%{transform:scale(.65) rotate(-16deg)}62%{transform:scale(1.18) rotate(4deg)}to{transform:scale(1) rotate(0)}}.preview-card-back>div{width:100%;max-width:none;margin-top:25px;font-family:var(--serif);font-size:15px;line-height:1.95}.preview-card-back>div[contenteditable=true]{margin:21px -10px 0;padding:10px;border-radius:7px;outline:0;background:var(--surface);box-shadow:0 0 0 2px var(--accent-soft);cursor:text}.preview-card-back p{margin:0 0 16px}.batch-bar{position:fixed;z-index:45;bottom:78px;left:50%;display:flex;align-items:center;gap:7px;padding:6px 6px 6px 15px;border:1px solid var(--line-strong);border-radius:10px;color:var(--ink);background:color-mix(in srgb,var(--surface-strong) 94%,var(--canvas));box-shadow:0 12px 34px #302b2126;transform:translate(-50%);animation:batch-in .22s var(--ease)}@keyframes batch-in{0%{opacity:0;transform:translate(-50%,8px) scale(.98)}to{opacity:1;transform:translate(-50%) scale(1)}}.batch-bar.is-leaving{pointer-events:none;animation:batch-out .21s cubic-bezier(.4,0,.8,.2) both}@keyframes batch-out{0%{opacity:1;filter:blur(0);transform:translate(-50%) scale(1)}to{opacity:0;filter:blur(1.5px);transform:translate(-50%,7px) scale(.965)}}.batch-count{display:inline-flex;align-items:baseline;gap:3px;margin-right:6px;font-size:9px;white-space:nowrap}.batch-count b{display:inline-block;font:13px Georgia,serif}.batch-count i{font-style:normal}.batch-bar button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:var(--surface);transition:color var(--duration-color) ease,border-color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.batch-bar button span{display:none}.batch-bar button[data-batch-action=star][aria-pressed=true]{color:var(--starred);border-color:color-mix(in srgb,var(--starred) 42%,var(--line));background:var(--starred-soft)}.batch-bar button[data-batch-action=star][aria-pressed=true] .star-shape{fill:currentColor}.batch-bar button[data-batch-action=review][aria-pressed=true]{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 42%,var(--line));background:var(--danger-soft)}.batch-bar button[data-batch-action=review][aria-pressed=true] .flag-cloth{fill:currentColor}.batch-bar button[data-batch-action=master][aria-pressed=true]{color:var(--success);border-color:color-mix(in srgb,var(--success) 42%,var(--line));background:var(--success-soft)}.batch-bar button[data-batch-action=master][aria-pressed=true] .mastery-ring{fill:currentColor}.batch-bar button[data-batch-action=master][aria-pressed=true] .mastery-check{stroke:var(--surface-strong);stroke-width:2.25}.batch-bar .batch-delete.is-confirming{color:var(--surface);border-color:var(--danger);background:var(--danger)}.batch-bar .batch-delete.is-confirming svg{stroke-width:2.4}.batch-bar button:hover{color:var(--ink);border-color:var(--line-strong);background:var(--surface-strong)}.batch-bar button:disabled{opacity:.48}.batch-bar button svg{display:block;width:14px;height:14px}.batch-bar .batch-delete{color:#a25242}:root[data-mode=dark] .batch-bar{border-color:#4b4a45;color:#f4f2ec;background:#292925;box-shadow:0 12px 38px #14120f40}:root[data-mode=dark] .batch-bar button{border-color:#4b4a45;color:#d6d3ca;background:#34332f}:root[data-mode=dark] .batch-bar .batch-delete{color:#f1b2a7}@media (min-width: 761px){.detail-a .detail-body{display:grid;grid-template-columns:226px minmax(0,1fr);gap:28px;transition:grid-template-columns .28s var(--ease),gap .28s var(--ease)}.detail-a .detail-body:has(.deck-index.is-panel-collapsed){grid-template-columns:48px minmax(0,1fr);gap:16px}.detail-a .deck-index{display:grid}.detail-a .item-controls{min-height:50px;padding-block:5px}.detail-a .item-controls .item-search{height:34px}.detail-a .item-controls .filter-cluster{display:none}}@container items (max-width: 820px){.item-controls{align-items:stretch;flex-wrap:wrap;gap:8px;padding:9px}.search-cluster{order:99;width:100%}.search-cluster{flex:1 1 100%;width:100%;min-height:42px}.filter-cluster{width:100%}.item-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));flex:1 1 auto;min-width:0}.item-status-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.item-filters button{min-width:0;padding-inline:4px}}@media (max-width: 760px){.deck-workspace{width:calc(100% - 28px);padding-top:10px}.deck-detail-head{grid-template-columns:1fr;grid-template-areas:"identity" "progress" "study";gap:8px;padding:10px 0 16px}.detail-back{min-height:36px}.detail-identity{gap:10px}.detail-mark{width:36px;height:36px}.detail-mark svg{width:32px;height:32px}.detail-identity h1{font-size:26px}.detail-progress{display:grid;grid-template-columns:repeat(3,max-content);justify-content:start;gap:22px;padding-left:46px}.detail-progress span{display:flex;align-items:baseline;gap:4px}.detail-progress b{font-size:14px}.detail-progress small{font-size:7px}.detail-actions{width:100%}.detail-new{flex:0 0 auto;min-height:46px}.detail-study{flex:1;justify-self:stretch;grid-template-columns:26px 1fr 18px;min-height:46px;margin-top:0}.items-column{min-height:640px}.item-controls{align-items:stretch;flex-direction:column;gap:8px;padding:9px}.search-cluster{order:99;display:grid;grid-template-columns:minmax(0,1fr) auto auto;flex:0 0 auto;width:100%;min-height:44px}.item-search{min-width:0}.item-search input{width:123.1%;font-size:16px;transform:scale(.8125);transform-origin:left center}.item-tag-input-wrap>input{position:absolute;left:0;width:208px;height:40px;padding:0 8px 0 16px;font-size:16px;transform:scale(.5);transform-origin:left center}.item-search kbd{display:none}.filter-cluster{display:flex;flex-wrap:wrap;width:100%}.item-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));flex:1 1 100%;width:100%;min-width:0}.item-status-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.item-filters button{min-width:0;min-height:36px;padding-inline:2px}.floating-filter{flex:1 1 0;width:auto}.floating-filter>button{justify-content:center;width:100%;min-height:40px}.filter-popover{right:auto;left:0;width:min(270px,calc(100vw - 48px))}.floating-filter:last-child .filter-popover{right:0;left:auto}.tag-filter .filter-popover{width:100%;max-width:none}.filter-popover-search input{width:145%;font-size:16px;transform:scale(.69);transform-origin:left center}.deck-index{position:static;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;max-height:none;margin-bottom:12px;padding:10px;overflow:visible}.index-title{grid-column:1 / -1;padding-bottom:8px}.index-sections-inner{gap:8px}.deck-index.is-panel-collapsed{min-height:0;max-height:none;padding:10px;overflow:visible}.deck-index.is-panel-collapsed .index-title{padding:0 3px;border-color:transparent}.deck-index.is-panel-collapsed .index-title>button{grid-template-columns:15px auto auto 12px;justify-items:start}.deck-index.is-panel-collapsed .index-title b,.deck-index.is-panel-collapsed .index-title small,.deck-index.is-panel-collapsed .index-title>button>svg{display:block}.index-group{align-content:start}.index-group.is-open,.index-group.is-fixed-open{grid-column:1}.index-group>header{min-height:36px;padding-inline:5px 2px}.index-group-toggle{grid-template-columns:15px auto 18px 12px;width:auto;min-height:38px;margin-right:auto}.index-status-title{grid-template-columns:15px auto}.index-group-toggle>b{font-size:12px}.index-group-toggle>svg{display:block;transition:transform .19s var(--ease)}.index-group.is-open .index-group-toggle>svg{transform:rotate(180deg)}.index-group-body{grid-template-rows:0fr;opacity:0;transform:translateY(-4px);transition:grid-template-rows .28s cubic-bezier(.22,.75,.2,1),opacity .18s ease,transform .24s var(--ease)}.index-group-content{min-height:0;overflow:hidden}.index-group.is-open .index-group-body,.index-group.is-fixed-open .index-group-body{grid-template-rows:1fr;opacity:1;transform:none}.index-status .index-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:3px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 65%,transparent)}.index-type .index-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:3px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 65%,transparent)}.index-status-choice,.index-type .index-choice{grid-template-columns:auto minmax(0,auto);justify-content:center;gap:4px;min-width:0;min-height:38px;padding-inline:3px}.index-status-choice>small,.index-type .index-choice>small{display:none}.index-status-choice>svg{width:12px;height:12px}.index-type .index-choice>i{width:13px;height:13px}.index-status-choice>span,.index-type .index-choice>span{overflow:visible;font-size:8px;text-overflow:clip}.index-resource .index-choice,.index-tag .index-choice{min-height:38px;padding-inline:7px}.index-group>header>[data-filter-clear]{min-width:34px;min-height:24px;padding-inline:6px;font-size:7px}.index-search{min-height:40px;overflow:hidden}.index-search input{width:123.1%;font-size:16px;transform:scale(.8125);transform-origin:left center}.index-resource .index-options,.index-tag .index-options{max-height:154px}.items-heading{padding-inline:2px}.learning-item{grid-template-columns:28px minmax(0,1fr)}.item-open{padding-right:2px}.item-open strong{font-size:13px;line-height:1.7}.item-source{max-width:100%}.item-arrow{display:none}.preview-card-face{padding:22px 22px 30px}.preview-card-front .preview-item-tools{gap:1px}.preview-card-front .preview-item-tools button{width:34px;height:36px}.preview-card-face h2{margin-top:18px;font-size:16px;line-height:1.8}.preview-options{grid-template-columns:1fr;margin-top:22px}.preview-options>div{min-height:46px}.preview-card-back>div{font-size:14px;line-height:1.9}.batch-bar{bottom:121px;display:grid;grid-template-columns:max-content repeat(5,44px);justify-content:center;width:min(306px,calc(100% - 24px));gap:3px;padding:5px}.batch-count{justify-self:center;margin:0 1px 0 0;font-size:8px}.batch-count b{font-size:12px}.batch-bar button svg{width:17px;height:17px;margin:0}}@keyframes view-return-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.app-shell.is-view-returning>main{opacity:0;transform:translateY(8px)}.app-shell.is-view-returning-anim>main{animation:view-return-in .26s var(--ease-out) both}@keyframes view-return-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.app-shell.is-view-returning>main{transform:none}.app-shell.is-view-returning-anim>main{animation:view-return-fade var(--duration-reduced-opacity) ease both;animation-duration:var(--duration-reduced-opacity)!important}}@media (hover: hover) and (pointer: fine){.toolbar-create:hover{border-color:color-mix(in srgb,var(--accent) 62%,var(--line-strong));box-shadow:0 8px 20px #302b211a;transform:translateY(-1px)}.toolbar-create:hover svg{transform:rotate(90deg)}.toolbar-recycle:hover>svg{transform:rotate(-8deg) scale(1.04)}.trash-button:hover{color:var(--ink);transform:translateY(-1px)}.resume-deck:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}.resume-deck:hover .study-symbol svg{transform:scale(1.07) rotate(-3deg)}.resume-deck.is-continuing:hover .study-symbol svg{transform:scale(1.07)}.resume-deck:hover .deck-arrow{opacity:1;transform:none}.cover-deck:hover{transform:translateY(-2px)}.cover-deck:hover .deck-main{border-color:var(--line-strong);box-shadow:var(--shadow)}.cover-deck:hover .deck-menu-trigger{opacity:1}.delete-mode .cover-deck:hover{animation-play-state:paused;transform:translateY(-2px) scale(.99)}.delete-mode .cover-deck:hover .deck-main{border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 38%,var(--surface))}.create-back:hover svg{transform:translate(-2px)}.restore-button:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:var(--accent-soft);box-shadow:0 6px 14px #302b2114;transform:translateY(-1px)}.restore-button:not(.is-confirming):hover svg{transform:rotate(-35deg)}.purge-button:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 32%,var(--line));background:var(--danger-soft);box-shadow:0 6px 14px #302b2114;transform:translateY(-1px)}.detail-back:hover svg{transform:translate(-3px)}.detail-study:hover{transform:translateY(-2px);box-shadow:0 12px 26px color-mix(in srgb,var(--accent) 28%,transparent)}.detail-new:hover>svg{transform:rotate(90deg)}.item-tag:hover svg{opacity:1;transform:rotate(90deg)}.learning-item:hover .item-arrow{opacity:1;transform:none}.preview-card-back header button[data-mode=edit]:hover svg{transform:rotate(-9deg) translateY(-1px)}}.icon-button:active,.trash-button:active,.deck-menu-trigger:active,.deck-menu button:active,.file-selection button:active,.item-filters button:active{transform:scale(.97)}.floating-filter>button:active{transform:scale(.97)}.filter-chip:active,.mode-select button:active,.manual-types button:active,.source-tabs button:active,.count-field button:active,.batch-bar button:active{transform:scale(.97)}.target-mode>button:active{transform:scale(.97)}.target-deck:active,.add-options button:active{transform:scale(.97)}.backup-actions>button:active{transform:scale(.97)}.preview-item-tools button:active,.detail-study:active,.detail-new:active,.create-back:active,.detail-back:active,.index-status-choice:active,.index-choice:active{transform:scale(.97)}.index-group>header>[data-filter-clear]:active{transform:scale(.97)}.settings-dialog{width:min(680px,100%);max-height:min(820px,calc(100dvh - 40px));overflow-y:auto;padding:32px 32px 30px}.settings-dialog h2{margin-bottom:18px}.settings-section{position:relative;padding-top:16px;border-top:1px solid var(--line)}.settings-section+.settings-section{margin-top:18px}.settings-section>h3{display:flex;align-items:baseline;gap:9px;margin:0 0 13px}.settings-section>h3 span{color:var(--accent);font:7px Georgia,serif;letter-spacing:.18em}.settings-section>h3 b{font-family:var(--serif);font-size:13px;font-weight:560}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px}.settings-row+.settings-row{margin-top:10px}.settings-subsection-divider{height:1px;margin:18px 18px 14px;background:color-mix(in srgb,var(--line) 62%,transparent)}.settings-quota-row{margin-top:0!important}.settings-row>span{display:grid;gap:3px;min-width:0}.settings-row b{font-size:10px;font-weight:600}.settings-row small{color:var(--muted);font-size:8px;line-height:1.5}.settings-row>.row-control{flex:0 0 auto}.appearance-row{display:flex;align-items:center;gap:10px}.mode-pair{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.mode-pair button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 11px;border:0;border-radius:5px;color:var(--muted);background:transparent;font-size:9px;transition:color .16s ease,background-color .18s ease,box-shadow .18s ease}.mode-pair button.selected{color:var(--ink);background:var(--surface-strong);box-shadow:0 2px 7px #302b2114}.mode-pair button svg{width:15px;height:15px}.theme-pair{display:inline-flex;gap:6px}.theme-swatch{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface);font-size:9px;transition:border-color var(--duration-color) ease,color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.theme-swatch i{width:11px;height:11px;border-radius:50%;background:var(--swatch, var(--accent));box-shadow:inset 0 0 0 1px #00000014}.theme-swatch:active{transform:scale(.97)}.theme-swatch.selected{border-color:var(--accent);color:var(--ink);background:var(--accent-soft)}.theme-swatch[data-theme=clay]{--swatch: #ad5c38}.theme-swatch[data-theme=moss]{--swatch: #526957}.theme-swatch[data-theme=indigo]{--swatch: #455e78}.shortcut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.shortcut-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;min-height:46px;padding:7px 8px 7px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.shortcut-item>span{min-width:0}.shortcut-item b{display:block;overflow:hidden;font-size:9px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.shortcut-item small{color:var(--muted);font-size:7px}.key-capture{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:32px;padding:0 9px;border:1px solid var(--line-strong);border-radius:6px;color:var(--ink);background:var(--surface-strong);font:10px ui-monospace,SFMono-Regular,Menlo,monospace;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.key-capture:hover{border-color:var(--accent)}.key-capture.is-recording{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft)}.key-capture.is-recording:after{content:"";position:absolute;top:6px;right:7px;width:5px;height:5px;border-radius:50%;background:var(--accent);animation:mark-caret 1.05s steps(1,end) infinite}.key-capture.is-conflict{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.key-capture span{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root{--quota-reinforce: #9f5348;--quota-new: #4a6a81;--quota-touched: #5d7356}:root[data-mode=dark]{--quota-reinforce: #c97f73;--quota-new: #7d9ab0;--quota-touched: #93a585}.quota-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 72%,var(--canvas))}.quota-legend-item{display:flex;align-items:center;gap:5px;min-width:0;min-height:36px;padding:0 9px}.quota-legend-item+.quota-legend-item{border-left:1px solid var(--line)}.quota-legend-item:before{content:"";flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--quota-color)}.quota-legend-item span{min-width:0;overflow:hidden;color:var(--ink);font-size:9px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.quota-legend-item b{color:var(--quota-color);font:650 10px/1 Georgia,var(--serif);font-variant-numeric:tabular-nums}.quota-legend-item.reinforce{--quota-color: var(--quota-reinforce)}.quota-legend-item.new{--quota-color: var(--quota-new)}.quota-legend-item.touched{--quota-color: var(--quota-touched)}.quota-rail-wrap{margin-top:12px}.quota-rail{position:relative;height:8px;border-radius:999px;box-shadow:inset 0 0 0 1px #1e1c181c}.quota-divider{position:absolute;z-index:1;top:50%;width:22px;height:22px;margin:0;padding:0;border:3px solid var(--surface-strong);border-radius:50%;outline:0;background:var(--ink);box-shadow:0 1px 4px #1e1c1840;cursor:ew-resize;transform:translate(-50%,-50%);transition:box-shadow .14s var(--ease),transform .14s var(--ease)}.quota-divider:active{transform:translate(-50%,-50%) scale(.94)}.quota-divider:focus-visible{box-shadow:0 0 0 4px var(--accent-soft),0 1px 4px #1e1c1840}.quota-reset{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:50%;color:var(--muted);background:transparent;transition:color var(--duration-color) ease,border-color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.quota-reset:active{transform:scale(.97)}.quota-reset svg{width:13px;height:13px}.quota-reset:hover{color:var(--ink);border-color:var(--line);background:var(--surface)}.backup-now{display:flex;align-items:center;gap:10px}.backup-now small{color:var(--muted);font-size:8px}.settings-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 14px;border:1px solid var(--line-strong);border-radius:7px;color:var(--ink);background:var(--surface);font-size:10px;transition:border-color .16s ease,background .16s ease,transform var(--duration-press) var(--ease-out)}.settings-button:hover{border-color:var(--accent);background:var(--accent-soft)}.settings-button:active{transform:translateY(1px)}.settings-button.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 42%,var(--line))}.settings-button.danger:hover{border-color:var(--danger);background:var(--danger-soft)}.settings-button.is-confirming{color:var(--surface);border-color:var(--danger);background:var(--danger);animation:purge-confirm .22s var(--ease) both}.danger-confirm{color:var(--surface)!important;border-color:var(--danger)!important;background:var(--danger)!important}.settings-button svg{width:14px;height:14px}.settings-restore-row{align-items:center}.settings-restore-row .settings-button{margin-top:0}.capacity-bar{flex:0 0 auto;width:min(220px,40%);height:7px;overflow:hidden;border-radius:999px;background:var(--line)}.capacity-bar i{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .42s var(--ease)}.capacity-nums{display:inline-flex;align-items:baseline;gap:5px;margin-top:5px;font:10px Georgia,serif}.capacity-nums small{color:var(--muted);font-size:8px}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--danger) 34%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--danger-soft) 26%,var(--surface))}.danger-zone>p{margin:0;color:var(--danger);font-size:9px;line-height:1.5}.danger-zone>.settings-button{flex:0 0 auto}.resource-list{display:grid;gap:7px;padding-top:12px}.resource-entry{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:74px;padding:9px;border:1px solid var(--line);border-radius:9px;background:var(--surface-strong);animation:recycle-entry-in .3s var(--ease) both;animation-delay:calc(var(--entry-index) * 30ms)}.resource-entry-mark{display:grid;place-items:center;width:38px;height:38px;color:var(--accent)}.resource-entry-mark svg{width:26px;height:26px;stroke-width:1.45}.resource-entry-copy{display:grid;gap:4px;min-width:0}.resource-entry-copy b{overflow:hidden;font-family:var(--serif);font-size:12px;font-weight:560;text-overflow:ellipsis;white-space:nowrap}.resource-entry-copy small{overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.resource-entry-copy em{color:color-mix(in srgb,var(--muted) 76%,transparent);font: 7px Georgia,serif}.resource-badge{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:7px;font-weight:600;letter-spacing:.08em}.resource-status{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:8px}.resource-status.kept{color:var(--accent)}.resource-status.lost{color:color-mix(in srgb,var(--muted) 70%,transparent)}.resource-actions{display:flex;align-items:center;gap:2px}.guide-dialog{width:min(640px,100%);max-height:min(780px,calc(100dvh - 40px));padding:32px;overflow-y:auto}.guide-dialog h2{margin-bottom:10px}.guide-steps{display:grid;gap:12px}.guide-step{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px}.guide-step>b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--on-accent);background:var(--accent);font:500 9px Georgia,serif}.guide-step>div{display:grid;gap:3px;min-width:0}.guide-step h4{margin:0;font-family:var(--serif);font-size:12px;font-weight:560}.guide-step p{margin:0;color:var(--muted);font-size:9px;line-height:1.7}.json-source{gap:14px}.json-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.json-actions .action{font-family:var(--serif);font-weight:560;font-size:var(--type-compact)}.json-prompt-row{display:contents}.json-field{padding-top:3px}.dialog .json-field textarea{min-height:188px;border-radius:10px;background:color-mix(in srgb,var(--surface) 96%,var(--canvas))}.prompt-fallback-dialog,.reference-dialog{width:min(680px,calc(100% - 32px));max-height:min(760px,calc(100dvh - 32px));padding:28px;overflow:auto}.prompt-fallback-text,.reference-text{width:100%;min-height:290px;padding:14px;border:1px solid var(--line-strong);border-radius:10px;outline:0;color:var(--ink);background:color-mix(in srgb,var(--canvas) 58%,var(--surface));font:10px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}.prompt-fallback-text:focus,.reference-text:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.example-field-guide{margin:2px 0 14px;border:1px solid var(--line);border-radius:9px;overflow:hidden}.example-field-guide h3{margin:0;padding:9px 11px;border-bottom:1px solid var(--line);font-size:10px}.example-field-guide [role=row]{display:grid;grid-template-columns:88px minmax(0,1fr) 86px;gap:9px;align-items:center;padding:7px 11px;border-top:1px solid color-mix(in srgb,var(--line) 74%,transparent);font-size:8px;line-height:1.45}.example-field-guide [role=row]:first-child{border-top:0}.example-field-guide .example-field-head{color:var(--muted);background:color-mix(in srgb,var(--canvas) 62%,var(--surface));font-size:7px}.example-field-guide code{color:var(--accent);font:8px ui-monospace,SFMono-Regular,Menlo,monospace}.example-field-guide small{color:var(--muted);font-size:7px}@media (max-width: 760px){.json-actions{grid-template-columns:1fr}.prompt-fallback-dialog,.reference-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:24px 18px}.prompt-fallback-text,.reference-text{min-height:250px;font-size:14px}.example-field-guide [role=row]{grid-template-columns:72px minmax(0,1fr);gap:7px}.example-field-guide [role=row]>:last-child{grid-column:2}}.modal-surface.item-dialog{width:min(850px,100%)}.modal-surface.item-dialog .card-stage{width:100%}.item-edit-dialog{width:min(680px,100%);margin:0 auto;max-height:calc(100dvh - 40px);overflow-y:auto;padding:28px 32px 30px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface-strong);box-shadow:0 26px 80px #14120f3d;animation:surface-swap-in .2s var(--ease-out) both}@keyframes surface-swap-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.item-edit-heading{min-height:16px;padding-right:58px}.item-edit-heading>small{color:var(--muted);font:8px Georgia,serif;letter-spacing:.08em}.item-edit-form{display:grid;gap:0;margin-top:6px}.item-edit-form .manual-field>span{color:var(--ink);font-size:10px}.item-edit-form textarea{width:100%;min-height:92px;padding:11px 12px;resize:vertical;border:1px solid var(--line);border-radius:8px;outline:0;color:var(--ink);background:var(--surface);font-family:var(--serif);font-size:12px;line-height:1.65}.item-edit-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}@media (max-width: 760px){.item-edit-form textarea,.item-edit-form input{font-size:16px}}.option-editor{display:grid;gap:7px;margin-top:8px}.option-editor-row{display:grid;grid-template-columns:30px minmax(0,1fr) 34px 26px;align-items:center;gap:8px}.option-editor-row>i{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line-strong);border-radius:5px;font:normal 11px var(--sans);font-style:normal}.option-editor-row input{width:100%;height:40px;padding:0 11px;border:1px solid var(--line);border-radius:7px;outline:0;color:var(--ink);background:var(--surface);font-family:var(--serif);font-size:12px}.option-editor-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.option-answer-toggle{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:var(--surface);cursor:pointer;transition:border-color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.option-answer-toggle:active{transform:scale(.97)}.option-answer-toggle svg{width:14px;height:14px}.option-answer-toggle[aria-pressed=true]{color:var(--on-accent);border-color:var(--accent);background:var(--accent)}.option-remove{display:grid;place-items:center;width:26px;height:34px;padding:0;border:0;border-radius:50%;color:var(--muted);background:transparent;transition:color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.option-remove:hover{color:var(--danger);background:var(--danger-soft)}.option-remove:active{transform:scale(.97)}.option-remove svg{width:12px;height:12px}.option-editor-add{display:inline-flex;align-items:center;gap:6px;place-self:start;min-height:32px;padding:0 11px;border:1px dashed var(--line-strong);border-radius:999px;color:var(--muted);background:transparent;font-size:9px;transition:color var(--duration-color) ease,border-color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.option-editor-add:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.option-editor-add:active{transform:scale(.97)}.option-editor-add svg{width:12px;height:12px}.judge-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}.judge-option{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--surface);font-size:10px;transition:border-color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.judge-option:active{transform:scale(.97)}.judge-option[aria-pressed=true]{color:var(--ink);border-color:var(--accent);background:var(--accent-soft)}.judge-option i{display:grid;place-items:center;width:22px;height:22px;border:1px solid currentColor;border-radius:50%;font-style:normal;font-size:8px}.item-edit-tools{display:flex;align-items:center;gap:8px;margin-top:6px}.preview-edit-note{margin-top:22px;border-top:1px solid var(--line);padding-top:16px;display:grid;gap:7px}.preview-edit-note>span{color:var(--ink);font-size:10px}.preview-edit-note small{color:var(--muted);font-size:8px}.preview-edit-note textarea{width:100%;min-height:72px;padding:11px 12px;resize:vertical;border:1px solid var(--line);border-radius:8px;outline:0;color:var(--ink);background:var(--surface);font-family:var(--serif);font-size:12px;line-height:1.65}.preview-edit-note textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.item-edit-footer{position:sticky;bottom:-30px;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:20px -32px -30px;padding:13px 32px 20px;border-top:1px solid var(--line);background:linear-gradient(to bottom,color-mix(in srgb,var(--surface-strong) 88%,transparent),var(--surface-strong) 26%);backdrop-filter:blur(10px)}.item-edit-footer>span{min-width:0;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.item-edit-footer .primary{flex:0 0 auto}.item-edit-footer svg{width:14px;height:14px}.card-meta .preview-edit-entry{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:5px;color:var(--accent-strong);background:transparent}.card-meta .preview-edit-entry svg{width:16px;height:16px}@media (hover: hover) and (pointer: fine){.card-meta .preview-edit-entry:hover{color:var(--ink);background:var(--accent-soft)}}@media (max-width: 760px){.settings-dialog{width:calc(100% - 28px);max-height:calc(100dvh - 28px);padding-bottom:24px}.shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quota-grid{grid-template-columns:1fr}.settings-row{flex-wrap:wrap}.danger-zone{align-items:flex-start;flex-wrap:wrap}.danger-zone>.settings-button{width:100%}.appearance-row{align-items:flex-start;flex-direction:column}.resource-entry{grid-template-columns:30px minmax(0,1fr) auto;gap:7px;min-height:80px;padding:8px}.resource-entry-mark{width:32px}.resource-entry-copy b{font-size:11px}.item-edit-dialog{width:calc(100% - 10px);max-height:calc(100dvh - 20px);padding:24px 20px 26px}.item-edit-footer{margin:20px -20px -26px;padding:13px 20px 20px}.guide-dialog{width:calc(100% - 28px);max-height:calc(100dvh - 28px)}}@media (max-width: 480px){.shortcut-grid{grid-template-columns:1fr}}.json-aux-row{display:flex;flex-wrap:wrap;gap:7px}.json-aux{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface);font-size:8px;transition:color var(--duration-color) ease,border-color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.json-aux:active{transform:scale(.97)}.json-aux:hover{color:var(--ink);border-color:var(--line-strong);background:var(--surface-strong)}.json-aux svg{width:13px;height:13px}.manual-fields-options{display:grid;gap:7px;margin-top:12px}.manual-option-row{display:grid;grid-template-columns:30px minmax(0,1fr) 34px 26px;align-items:center;gap:8px}.manual-option-key{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line-strong);border-radius:5px;font:normal 11px var(--sans)}.manual-answer-toggle{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:var(--surface);transition:border-color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.manual-answer-toggle:active{transform:scale(.97)}.manual-answer-toggle svg{width:14px;height:14px}.manual-answer-toggle.selected{color:var(--on-accent);border-color:var(--accent);background:var(--accent)}.manual-add-option{display:inline-flex;align-items:center;gap:6px;place-self:start;min-height:32px;padding:0 11px;border:1px dashed var(--line-strong);border-radius:999px;color:var(--muted);background:transparent;font-size:9px;transition:color var(--duration-color) ease,border-color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.manual-add-option:active{transform:scale(.97)}.manual-add-option:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.manual-add-option svg{width:12px;height:12px}.manual-star-field{display:inline-flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important;margin-top:12px;cursor:pointer}.manual-star-field>span{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-size:10px}.manual-star-field svg{width:13px;height:13px;color:var(--starred)}.manual-star-field input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.manual-star-field i{position:relative;width:34px;height:20px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);transition:border-color .18s ease,background .18s ease}.manual-star-field i:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--muted);box-shadow:0 1px 3px #1e1c182e;transition:transform .2s var(--ease),background .18s ease}.manual-star-field input:checked+i{border-color:var(--accent);background:var(--accent-soft)}.manual-star-field input:checked+i:after{background:var(--accent);transform:translate(14px)}.judge-field{margin-top:12px;display:grid;gap:6px}.manual-field-label{color:var(--muted);font-size:10px}.edit-clear-hint{margin:10px 0 0;color:var(--muted);font-size:8px}.item-edit-actions{display:inline-flex;gap:8px}.confirm-popover{display:grid;gap:10px;margin-top:10px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--danger) 34%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--danger-soft) 26%,var(--surface))}.confirm-popover p{margin:0;color:var(--danger);font-size:8px;line-height:1.6}.confirm-actions{display:flex;justify-content:flex-end;gap:7px}.deck-progress i{min-width:0}.deck-progress .mastered{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--muted) 30%,transparent) 0 1px,transparent 1px 3px),var(--surface-strong)}.deck-progress .touched{background:var(--accent);opacity:.82}.deck-progress .reinforce{background:color-mix(in srgb,var(--danger) 46%,var(--surface))}.session-cue{display:block;margin-top:22px;color:var(--muted);font-size:10px;text-align:center}.summary-board{width:min(590px,100%);margin:22px auto 0;padding:24px 26px 26px;border:1px solid var(--line-strong);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.summary-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}.summary-head-title small{color:var(--accent-strong);font:700 8px/1 Georgia,var(--serif);letter-spacing:.2em}.summary-head-title h2{margin:6px 0 0;font-family:var(--serif);font-size:20px;font-weight:560}.summary-facts{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0}.summary-facts>div{display:flex;align-items:baseline;gap:5px}.summary-facts dt{color:var(--muted);font-size:8px}.summary-facts dd{margin:0;color:var(--accent-strong);font:400 14px Georgia,serif}.summary-types{display:grid;gap:6px;margin-top:14px}.summary-type{display:grid;grid-template-columns:72px 42px 1fr;align-items:center;gap:9px;min-height:40px;padding:5px 8px;border:1px solid var(--line);border-radius:9px}.summary-type-label{color:var(--ink);font-size:10px}.summary-type-rate{color:var(--muted);font-size:9px;font-style:normal}.summary-type-rate b{color:var(--accent-strong);font:400 12px Georgia,serif}.summary-results{margin-top:12px}.summary-results-toggle{display:flex;align-items:center;gap:8px;width:100%;min-height:38px;padding:0 10px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:transparent;font-size:10px;transition:border-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.summary-results-toggle:active{transform:scale(.97)}.summary-results-toggle:hover{border-color:var(--line-strong)}.summary-results-toggle b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;color:var(--accent-strong);background:var(--accent-soft);font:400 9px Georgia,serif}.summary-results-toggle svg{width:12px;height:12px;margin-left:auto;color:var(--muted);transition:transform .2s var(--ease)}.summary-results-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.summary-results-list{display:grid;gap:0;margin:6px 0 0;padding:0;list-style:none}.summary-results-list li{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:42px;padding:6px 8px;border-bottom:1px solid var(--line)}.summary-results-list li:last-child{border-bottom:0}.summary-result-mode{display:grid;place-items:center;min-height:22px;padding:3px 5px;border-radius:4px;color:var(--surface);background:var(--accent-strong);font-size:8px;font-weight:700;letter-spacing:.08em}.summary-result-mode.correct{background:var(--success)}.summary-result-mode.wrong{background:var(--danger)}.summary-result-mode.done{background:var(--accent)}.summary-results-list p{margin:0;overflow:hidden;color:var(--ink);font-family:var(--serif);font-size:11px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.summary-result-outcome{color:var(--muted);font-size:8px;font-style:normal}.summary-result-outcome.correct{color:var(--success)}.summary-result-outcome.wrong{color:var(--danger)}@media (max-width: 760px){.summary-board{padding:20px 16px 22px;border-radius:15px}.summary-type{grid-template-columns:62px 36px 1fr}.summary-facts{gap:5px 14px}.manual-option-row{grid-template-columns:28px minmax(0,1fr) 40px 30px}}@media (hover: hover) and (pointer: fine){.theme-swatch:hover{border-color:var(--line-strong);transform:translateY(-1px)}.quota-divider:hover{transform:translate(-50%,-50%) scale(1.08)}}.action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid transparent;border-radius:7px;color:var(--ink);background:transparent;font-size:var(--type-body);font-weight:650;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-color) ease,border-color var(--duration-color) ease,color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.action:active{transform:scale(.97)}.action:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.action:disabled{cursor:not-allowed;opacity:.5}.action>svg{flex:0 0 auto;width:16px;height:16px}@media (hover: hover) and (pointer: fine){.action-primary:hover{filter:brightness(.94)}.action-secondary:hover{border-color:var(--accent)}.action-ghost:hover{background:var(--accent-soft)}.action-destructive:hover{border-color:var(--danger)}.action-icon:hover{color:var(--ink);background:var(--accent-soft)}}.action-primary{border-color:var(--accent);color:var(--on-accent);background:var(--accent)}.action-secondary{border-color:var(--line-strong);color:var(--ink);background:var(--surface)}.action-ghost{border-color:transparent;color:var(--ink);background:transparent}.action-destructive{border-color:color-mix(in srgb,var(--danger) 42%,var(--line));color:var(--danger);background:var(--danger-soft)}.action-icon{width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;color:var(--muted)}.action-icon>svg{width:19px;height:19px}.modal-layer{position:fixed;inset:0;display:grid;place-items:center;padding:20px;pointer-events:none}.modal-scrim{position:absolute;inset:0;pointer-events:auto;background:#1e1c1857;backdrop-filter:blur(7px);opacity:0;transition:opacity var(--duration-scrim-in) var(--ease-out)}@starting-style{.modal-scrim[data-open]{opacity:0}}.modal-scrim[data-open]{opacity:1}.modal-scrim[data-starting-style]{opacity:0}.modal-scrim[data-ending-style]{opacity:0;transition-duration:var(--duration-scrim-out)}.modal-surface{position:relative;z-index:1;pointer-events:auto;outline:none;transform:translateY(10px) scale(.975);transform-origin:center;opacity:0;transition:opacity var(--duration-surface-in) var(--ease-out),transform var(--duration-surface-in) var(--ease-out)}@starting-style{.modal-surface[data-open]{opacity:0;transform:translateY(10px) scale(.975)}}.modal-surface[data-open]{opacity:1;transform:none}.modal-surface[data-starting-style]{opacity:0;transform:translateY(10px) scale(.975)}.modal-surface[data-ending-style]{opacity:0;transform:translateY(7px) scale(.985);transition-duration:var(--duration-surface-out)}.modal-card{border:1px solid var(--line-strong);border-radius:12px;background:var(--surface-strong);box-shadow:0 26px 80px #14120f3d}.modal-card :where(h2){margin:9px 0 7px;font-family:var(--serif);font-size:28px;font-weight:560}.modal-card>:where(p){margin:0 0 25px;color:var(--muted);font-size:12px;line-height:1.65}@media (max-width: 760px){.modal-layer{padding:14px}}@media (prefers-reduced-motion: reduce){.modal-scrim{transition-duration:var(--duration-reduced-opacity)!important;transition-timing-function:ease!important}.modal-surface{transition-duration:var(--duration-reduced-opacity)!important;transition-timing-function:ease!important;transform:none!important}}.card-stage{position:relative;z-index:2;perspective:1800px}.flip-card{position:relative;display:grid;transform-style:preserve-3d;transform-origin:50% 50%;transition:transform .68s cubic-bezier(.22,.78,.18,1);will-change:transform}.flip-card.flipped{transform:rotateY(180deg)}.flip-face{grid-area:1 / 1;z-index:1;min-height:300px;overflow:hidden;border:1px solid var(--line-strong);border-radius:18px;background:var(--surface-strong);box-shadow:0 24px 70px #342e222e,inset 0 0 0 5px var(--surface-strong),inset 0 0 0 6px var(--line);backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip-back{transform:rotateY(180deg)}.card-meta-bar{display:flex;align-items:center;justify-content:space-between;gap:20px}.card-meta{display:flex;align-items:center;gap:9px;min-width:0;font-family:var(--sans)}.card-meta>strong{padding:7px 9px 6px;border-radius:4px;color:var(--surface);background:var(--accent-strong);font-size:12px;font-weight:800;letter-spacing:.14em;line-height:1;white-space:nowrap}.card-meta>span{overflow:hidden;color:var(--ink);font-size:13px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.card-meta>i{flex:0 0 auto;width:4px;height:4px;border-radius:1px;background:var(--accent-strong)}@media (max-width: 760px){.card-meta-bar{gap:10px}.card-meta{gap:8px}.card-meta>strong{font-size:11px}.card-meta>span{font-size:12px}.flip-face{min-height:280px}}@media (prefers-reduced-motion: reduce){.flip-card,.flip-card.flipped{transform:none;transition:none}.flip-face{backface-visibility:visible;-webkit-backface-visibility:visible}.flip-card .flip-back{transform:none;opacity:0;visibility:hidden;transition-property:opacity!important;transition-duration:var(--duration-reduced-opacity)!important;transition-timing-function:ease!important}.flip-card.flipped .flip-back{opacity:1;visibility:visible;transition-property:opacity!important;transition-duration:var(--duration-reduced-opacity)!important;transition-timing-function:ease!important}}html.session-active{overflow-y:auto;scrollbar-gutter:auto;scrollbar-width:none;overscroll-behavior-x:none}html.session-active::-webkit-scrollbar{width:0;height:0}html.session-active body{background-color:var(--canvas);background-image:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--surface) 55%,transparent),transparent 30rem)}.session-app-shell{min-height:100vh;padding:0;overscroll-behavior-x:none}.practice-session{min-height:100vh;padding:0;overflow:visible;overscroll-behavior-x:none}.session-header{position:relative;z-index:20;display:grid;grid-template-columns:42px minmax(180px,1fr) max-content 42px;align-items:center;gap:18px;width:min(920px,calc(100% - 48px));height:92px;margin:0 auto}.session-control{display:grid;place-items:center;width:42px;height:42px;padding:0;border:2px solid color-mix(in srgb,var(--accent-strong) 72%,var(--accent));border-radius:50%;color:var(--accent-strong);background:var(--accent-soft);box-shadow:2px 3px color-mix(in srgb,var(--accent-strong) 42%,transparent);cursor:pointer;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s cubic-bezier(.2,.8,.2,1)}.session-control.is-touch-pressed,.session-control:active{color:var(--surface);background:var(--accent);box-shadow:1px 1px color-mix(in srgb,var(--accent-strong) 48%,transparent);transform:translate(2px,2px) scale(.96)}.session-control:disabled{opacity:.3;cursor:default}.exit-control span{font-size:31px;font-weight:600;line-height:.8;transform:translateY(-1px)}.session-control.undo-control svg{width:22px;height:22px;stroke-width:2.55}.progress-wrap{width:100%}.progress-track{position:relative;height:14px;overflow:hidden;border:0;border-radius:99px;background:color-mix(in srgb,var(--line) 76%,var(--surface));box-shadow:inset 0 -3px color-mix(in srgb,var(--line-strong) 26%,transparent)}.progress-fill{position:absolute;inset:0 auto 0 0;display:block;width:var(--progress);border-radius:inherit;background:var(--accent);box-shadow:inset 0 -3px color-mix(in srgb,var(--accent-strong) 52%,transparent);transform-origin:left center}.progress-fill:after{content:"";position:absolute;top:2px;right:9px;left:9px;height:3px;border-radius:99px;background:color-mix(in srgb,var(--surface) 36%,transparent);opacity:.72}.session-header>.progress-count{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:34px;padding:0 8px;border:2px solid color-mix(in srgb,var(--accent-strong) 58%,var(--accent));border-radius:9px;color:var(--accent-strong);background:var(--surface);box-shadow:2px 3px color-mix(in srgb,var(--accent-strong) 28%,transparent);font-family:var(--sans);font-size:13px;font-weight:820;font-variant-numeric:tabular-nums;letter-spacing:.01em;line-height:1;white-space:nowrap}.session-header>.progress-count i{margin:0 4px;color:var(--accent);font-style:normal;font-weight:650}.variant{width:min(1180px,calc(100% - 48px));margin:0 auto}.variant-card{max-width:900px}.review-stack{--swipe-progress:0;position:relative;isolation:isolate}.practice-session .card-stage{touch-action:pan-y}.practice-session .card-stage{margin-top:28px}.review-stack.can-advance .card-stage{touch-action:none}.swipe-card{position:relative;z-index:2;transform-style:preserve-3d;transform-origin:52% 62%}.swipe-card.is-dragging{cursor:grabbing;transition:none;user-select:none;-webkit-user-select:none}.swipe-card.is-settling{transition:transform .32s cubic-bezier(.2,.78,.2,1)}.next-card-preview-shell{position:absolute;z-index:1;inset:0 0 auto;isolation:isolate;opacity:var(--swipe-progress);pointer-events:none;transform:translate3d(0,calc(22px - var(--swipe-progress) * 22px),0);transform-origin:center;transition:opacity 70ms linear,transform 70ms linear}.review-stack.is-dragging .next-card-preview-shell{transition:none}.review-stack.is-handoff .next-card-preview-shell{transition:opacity .18s ease-out,transform .2s cubic-bezier(.18,.78,.2,1)}.next-card-preview{position:relative;z-index:1;padding:24px 56px 42px}.next-card-preview .prompt-block{margin-top:8px}.preview-option-list .option{cursor:default}.preview-tools{align-items:center;min-height:36px;pointer-events:none}.preview-tool{display:inline-flex;align-items:center;justify-content:center;width:36px;min-height:36px;color:var(--muted)}.preview-tool svg{width:17px;height:17px;overflow:visible}.preview-mastered{margin-left:4px}.feedback-aura{position:absolute;inset:3px;z-index:0;border-radius:20px;opacity:0;background:color-mix(in srgb,var(--feedback-color) 52%,transparent);filter:blur(18px);pointer-events:none;transform:scale(.98);will-change:opacity,transform}.card-face{transition:border-color .36s ease}.playing-card.is-unlocked .card-face{cursor:pointer}.playing-card.is-locked .card-back{display:none}.playing-card.is-wrong,.card-stage.is-wrong{--feedback-color:var(--danger)}.playing-card.is-correct,.card-stage.is-correct{--feedback-color:var(--success)}.playing-card.is-reviewed,.card-stage.is-reviewed{--feedback-color:var(--accent)}.playing-card.is-wrong .card-face,.playing-card.is-correct .card-face,.playing-card.is-reviewed .card-face{animation:feedback-border-in .48s ease-out both}.card-stage.is-wrong .playing-card>.feedback-aura,.card-stage.is-correct .playing-card>.feedback-aura,.card-stage.is-reviewed .playing-card>.feedback-aura{animation:feedback-glow-in .48s cubic-bezier(.2,.72,.2,1) both}.feedback-a .card-stage.is-initial-feedback .feedback-aura{opacity:.92;transform:scale(1);animation:none!important}.feedback-a .card-stage.is-initial-feedback .card-face{border-color:color-mix(in srgb,var(--feedback-color) 62%,var(--line));animation:none!important}@keyframes feedback-border-in{0%{border-color:var(--line-strong)}to{border-color:color-mix(in srgb,var(--feedback-color) 62%,var(--line))}}@keyframes feedback-glow-in{0%{opacity:0;transform:scale(.975)}28%{opacity:.22}68%{opacity:.72}to{opacity:.92;transform:scale(1)}}.card-front{position:relative;padding:24px 56px 42px}.card-meta-bar .item-tools{flex:0 0 auto}.item-tools{display:flex;justify-content:flex-end;gap:6px}.item-tools button{display:inline-flex;align-items:center;justify-content:center;width:36px;min-height:36px;padding:0;border:1px solid transparent;border-radius:5px;color:var(--muted);background:transparent;touch-action:manipulation;cursor:pointer;transition:color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.item-tools button span{display:none}.item-tools button:active,.item-tools button.is-touch-pressed{color:var(--ink);transform:scale(.97)}.item-tools svg{width:17px;height:17px;overflow:visible}.item-tools [data-session-tool=starred][aria-pressed=true]{color:var(--starred)}.item-tools [data-session-tool=starred][aria-pressed=true] .star-shape,.item-tools [data-session-tool=review][aria-pressed=true] .flag-cloth{fill:currentColor}.item-tools [data-session-tool=review][aria-pressed=true]{color:var(--danger)}.item-tools [data-session-tool=mastered]{margin-left:4px}.item-tools [data-session-tool=mastered][aria-pressed=true]{color:var(--success)}.item-tools [data-session-tool=mastered][aria-pressed=true] .mastery-ring{fill:currentColor}.item-tools [data-session-tool=mastered][aria-pressed=true] .mastery-check{stroke:var(--surface);stroke-width:2.25}.item-tools [data-session-tool][data-just-activated=true] svg{animation:session-tool-pop .39s cubic-bezier(.2,.82,.25,1.25)}@keyframes session-tool-pop{0%{transform:scale(.68) rotate(-8deg)}62%{transform:scale(1.18) rotate(3deg)}to{transform:scale(1)}}.card-front .prompt-block{margin:8px 0 0}.prompt-block h1{margin:0;color:var(--ink);font-family:var(--serif);font-size:17px;font-weight:500;line-height:1.78;letter-spacing:-.004em;line-break:strict}.options{display:grid;gap:9px;margin-top:30px}.compact-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:7px}.option{position:relative;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;width:100%;min-height:54px;padding:9px 14px 9px 10px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:transparent;font-family:var(--serif);font-size:14px;line-height:1.5;text-align:left;touch-action:manipulation;cursor:pointer;transition:transform var(--duration-press) var(--ease-out)}.compact-options .option{grid-template-columns:30px 1fr;min-height:46px;padding:7px 10px;font-size:15px}.option:active{transform:scale(.97)}.option:disabled{opacity:1;cursor:default}.option-key{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;font-family:var(--serif);font-weight:700}.compact-options .option-key{width:28px;height:28px}.compact-options small{display:none}.option.selected{border-color:color-mix(in srgb,var(--accent) 60%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.option.selected .option-key{color:var(--on-accent);border-color:var(--accent);background:var(--accent)}.option.wrong{border-color:color-mix(in srgb,var(--danger) 55%,var(--line));background:var(--danger-soft)}.option.wrong .option-key{color:var(--surface);border-color:var(--danger);background:var(--danger)}.option.correct{border-color:color-mix(in srgb,var(--success) 55%,var(--line));background:var(--success-soft)}.option.correct .option-key{color:var(--surface);border-color:var(--success);background:var(--success)}.option.missed{border-color:color-mix(in srgb,var(--warning) 62%,var(--line));background:var(--warning-soft)}.option.missed .option-key{color:var(--surface);border-color:var(--warning);background:var(--warning)}.answer-line{margin-top:22px;padding-top:17px;border-top:1px solid var(--line)}.answer-line p{margin:0;color:var(--ink);font-family:Georgia,var(--serif);font-size:17px;line-height:1.7}.reveal-memory{position:relative;isolation:isolate;overflow:hidden;min-height:47px}.reveal-memory.is-veiled p{opacity:.48;filter:blur(7px);transform:scaleY(.92);user-select:none}.reveal-memory.is-veiled:before{content:"";position:absolute;z-index:1;inset:11px -8px 3px;background:repeating-linear-gradient(94deg,color-mix(in srgb,var(--accent) 15%,transparent) 0 9px,transparent 9px 15px,color-mix(in srgb,var(--muted) 9%,transparent) 15px 25px,transparent 25px 33px);filter:blur(5px);opacity:.72;transform:skew(-5deg)}.reveal-memory.is-veiled:after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,var(--surface),transparent 12%,transparent 88%,var(--surface));opacity:.7}.reveal-memory.is-unveiling p{animation:memory-focus .36s cubic-bezier(.2,.72,.2,1) both}@keyframes memory-focus{0%{opacity:.48;filter:blur(7px);transform:scaleY(.92)}to{opacity:1;filter:blur(0);transform:scaleY(1)}}.card-back-content{min-height:100%}.card-back .note-editor{padding:44px 56px 48px}.note-heading{margin-bottom:24px}.note-title-row{display:flex;align-items:center;gap:8px}.note-kicker{margin:0;color:var(--accent-strong);font-size:13px;font-weight:800;letter-spacing:.16em;line-height:1}.note-copy{color:var(--muted);font-family:var(--serif);font-size:16px;line-height:1.85}.note-copy p{margin:0 0 18px}.note-surface.is-editing{outline:1px solid color-mix(in srgb,var(--accent) 70%,var(--line));outline-offset:9px;color:var(--ink);background:color-mix(in srgb,var(--accent-soft) 18%,transparent)}.note-edit-toggle{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:5px;color:var(--accent-strong);background:transparent;transition:color var(--duration-color) ease,background-color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.note-edit-toggle:active{transform:scale(.97)}.note-edit-toggle svg{width:17px;height:17px}.note-edit-toggle[data-mode=done]{color:var(--success)}.exit-dialog{position:relative;width:min(410px,100%);padding:34px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 30px 90px color-mix(in srgb,var(--ink) 24%,transparent)}.exit-dialog h2{margin:0;font-family:var(--serif);font-size:22px;font-weight:650}.exit-dialog>p{margin:8px 0 24px;color:var(--muted);font-size:14px}.exit-dialog .dialog-close{position:absolute;top:18px;right:18px;width:34px;height:34px;border:0;border-radius:50%;color:var(--muted);background:transparent;font-size:24px}.exit-choices{display:grid;gap:10px;margin-top:24px}.exit-choices button{display:grid;gap:4px;width:100%;padding:15px 16px;border-radius:10px;text-align:left;transition:transform var(--duration-press) var(--ease-out)}.exit-choices button:active{transform:scale(.97)}.exit-choices strong{font-size:14px}.exit-choices span{font-size:12px}.save-exit{border:1px solid var(--accent-strong);color:var(--surface);background:var(--accent-strong)}.save-exit span{color:color-mix(in srgb,var(--surface) 76%,transparent)}.discard-exit{border:1px solid var(--line);color:var(--ink);background:transparent}.discard-exit span{color:var(--muted)}.session-complete{display:grid;grid-template-rows:92px minmax(0,1fr)}.completion-header .progress-fill{animation:completion-progress-in .48s cubic-bezier(.18,.78,.2,1) both}.session-header-spacer{width:42px;height:42px}.session-complete-stage{display:grid;place-items:start center;width:min(900px,calc(100% - 48px));margin:0 auto;padding:clamp(22px,3.5vh,40px) 0 max(48px,7vh)}.session-complete-card{position:relative;display:grid;justify-items:center;width:min(500px,100%);padding:clamp(32px,4vw,42px) clamp(28px,5vw,48px) 30px;overflow:hidden;border:1px solid var(--line-strong);border-radius:18px;background:radial-gradient(circle at 50% -18%,color-mix(in srgb,var(--accent-soft) 82%,transparent),transparent 54%),var(--surface);box-shadow:var(--shadow);text-align:center;animation:completion-card-in .36s cubic-bezier(.16,.84,.24,1) both}.session-complete-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--accent)}.completion-symbol{display:grid;place-items:center;width:46px;height:46px;margin-bottom:8px;color:var(--accent-strong)}.completion-symbol svg{width:38px;height:38px;stroke-width:1.35;animation:completion-symbol-in .48s 60ms cubic-bezier(.18,.84,.22,1.2) both}.completion-kicker{color:var(--accent-strong);font:700 10px/1 Georgia,var(--serif);letter-spacing:.2em}.session-complete-card h1{margin:9px 0 0;font-family:var(--serif);font-size:clamp(28px,4.4vw,36px);font-weight:560;letter-spacing:-.035em}.completion-total{display:flex;align-items:baseline;gap:9px;margin-top:20px;color:var(--muted)}.completion-total strong{color:var(--accent-strong);font:400 clamp(44px,7vw,56px)/.9 Georgia,var(--serif);font-variant-numeric:tabular-nums}.completion-total span{font-family:var(--serif);font-size:14px;letter-spacing:.04em}.completion-rule{width:42px;height:1px;margin:20px 0;background:var(--line-strong)}.completion-actions{display:grid;justify-items:center;gap:15px}.completion-return{display:flex;align-items:center;justify-content:center;gap:18px;min-width:210px;min-height:50px;padding:0 22px 0 26px;border:1px solid var(--accent-strong);border-radius:9px;color:var(--surface);background:var(--accent-strong);box-shadow:2px 3px color-mix(in srgb,var(--accent-strong) 36%,transparent);font-family:var(--serif);font-size:15px;font-weight:650;transition:box-shadow .18s ease,transform .18s cubic-bezier(.2,.8,.2,1)}.completion-return svg{width:18px;height:18px;stroke-width:2}.completion-return:active{box-shadow:1px 1px color-mix(in srgb,var(--accent-strong) 36%,transparent);transform:translate(2px,2px)}.completion-undo{display:flex;align-items:center;gap:7px;min-height:34px;padding:0 8px;border:0;color:var(--muted);background:transparent;font-size:12px;transition:color var(--duration-color) ease,transform var(--duration-press) var(--ease-out)}.completion-undo:active{transform:scale(.97)}.completion-undo:disabled{opacity:.4;cursor:default}.completion-undo svg{width:16px;height:16px;stroke-width:2.1}@keyframes completion-progress-in{0%{width:95%}to{width:100%}}@keyframes completion-card-in{0%{opacity:0;transform:translateY(18px) scale(.988)}to{opacity:1;transform:none}}@keyframes completion-symbol-in{0%{opacity:0;transform:scale(.72) rotate(-10deg)}to{opacity:1;transform:none}}@media (hover:hover) and (pointer:fine){.session-control:hover{color:var(--surface);background:var(--accent);box-shadow:3px 4px color-mix(in srgb,var(--accent-strong) 58%,transparent);transform:translate(-1px,-1px)}.item-tools button:hover{color:var(--ink)}.option:not(:disabled):hover{border-color:var(--line-strong);background:var(--surface-strong)}.completion-return:hover{box-shadow:4px 5px color-mix(in srgb,var(--accent-strong) 42%,transparent);transform:translate(-1px,-1px)}.completion-undo:hover{color:var(--ink)}}@media (max-width:760px){.session-header{grid-template-columns:38px minmax(80px,1fr) max-content 38px;gap:9px;width:calc(100% - 24px);height:72px}.session-control{width:38px;height:38px}.exit-control span{font-size:29px}.session-control.undo-control svg{width:21px;height:21px}.progress-track{height:13px}.session-header>.progress-count{min-width:52px;height:32px;padding:0 6px;font-size:12px}.variant{width:calc(100% - 24px)}.variant-card{width:calc(100% - 18px)}.next-card-preview,.card-front{padding:20px 20px 34px;border-radius:15px}.feedback-aura{border-radius:15px;filter:blur(14px)}.card-front .prompt-block{margin-top:8px}.prompt-block h1{font-size:17px}.card-back .note-editor{padding:24px 24px 50px}.exit-dialog{width:min(410px,100%);padding:30px 22px;border:1px solid var(--line);border-radius:18px}.exit-choices{margin-top:20px}.session-complete{grid-template-rows:72px minmax(0,1fr)}.session-header-spacer{width:38px;height:38px}.session-complete-stage{width:calc(100% - 24px);padding:20px 0 42px}.session-complete-card{padding:30px 22px 26px;border-radius:15px}.completion-symbol{width:44px;height:44px;margin-bottom:8px}.completion-symbol svg{width:36px;height:36px}.session-complete-card h1{margin-top:8px;font-size:29px}.completion-total{margin-top:18px}.completion-total strong{font-size:48px}.completion-rule{margin:18px 0}.completion-return{min-width:min(230px,100%);min-height:48px}}@font-face{font-family:"Noto Serif SC";src:url(/assets/noto-serif-sc-full-CQDVPTCm.otf) format("opentype");font-weight:400 700;font-display:swap}:root{--serif: "Noto Serif SC", "Songti SC", STSong, "Noto Serif CJK SC", serif}html{background:var(--canvas)}
