:root{--paper:#f0f1ec;--paper-2:#e7e8e1;--paper-3:#dcded5;--ink:#1b1e26;--ink-soft:#565c69;--ink-faint:#8b909b;--shu:#c8452f;--shu-soft:#e6d3ce;--ai:#33526e;--gold:#9c7a35;--line:#1b1e261f;--line-2:#1b1e260f;--shadow:0 1px 2px #1b1e260f, 0 8px 28px #1b1e261a;--brand-icon:url(/lyra-icon.png);--display:"Hiragino Mincho ProN", "Yu Mincho", "Songti SC", "Noto Serif JP", serif;--sans:-apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Segoe UI", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, monospace;--r:12px}@media (prefers-color-scheme:dark){:root{--paper:#14161b;--paper-2:#1a1d24;--paper-3:#22262f;--ink:#ecebe3;--ink-soft:#a2a8b4;--ink-faint:#6b7280;--shu:#e4634b;--shu-soft:#3a2723;--ai:#86aacb;--gold:#c6a25a;--line:#ecebe324;--line-2:#ecebe312;--shadow:0 1px 2px #0006, 0 10px 34px #00000080;--brand-icon:url(/lyra-icon-dark.png)}}.postit-bar{border-bottom:1px solid color-mix(in srgb, var(--ink) 7%, transparent);background:0 0;height:28px;padding:0 7px}.postit-grip{height:6px;color:var(--ink-soft);opacity:.28;background-size:5px 5px;flex:0 0 26px;margin:0 auto}.postit-label{color:var(--ai);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:700}.postit-edit{width:22px;height:22px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:7px;font-size:13px;line-height:1}.postit-edit svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.postit-edit:hover{color:var(--ai);background:color-mix(in srgb, var(--ai) 9%, transparent)}.postit-del:hover{color:var(--shu);background:color-mix(in srgb, var(--shu) 9%, transparent)}.postit-resize.se,.postit-resize.sw{opacity:.52}.postit-confirm{background:color-mix(in srgb, var(--shu) 8%, var(--glass-soft));border:0;border-radius:10px;margin:0 7px 7px;padding:7px 8px}.postit-confirm button{background:var(--glass-strong);border:0}.postit-pill{background:var(--glass-strong);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(16px)saturate(125%);border-radius:12px;padding:6px 7px 6px 11px;box-shadow:0 10px 28px #1b1f2826,inset 0 1px #ffffff94}.pill-k{color:var(--ai)}.pill-k .app-glyph{width:15px;height:15px}.pill-open{background:var(--ai)}.notesview{background:radial-gradient(ellipse 56% 48% at 12% 8%, color-mix(in srgb, var(--gold) 10%, transparent), transparent 72%), radial-gradient(ellipse 62% 58% at 92% 88%, var(--ai-glow), transparent 74%), linear-gradient(145deg, var(--paper), color-mix(in srgb, var(--paper-2) 70%, var(--paper)));position:relative;overflow:hidden}.notesview .content-bar{z-index:2;background:0 0;border:0;padding:17px 24px 10px;position:relative}.notesview .board{z-index:1;background:0 0;position:relative}.notesview .board:before{content:"";z-index:-1;pointer-events:none;opacity:.25;filter:blur(.75px);background-image:radial-gradient(color-mix(in srgb, var(--ink) 22%, transparent) 1.1px, transparent 1.1px);background-size:22px 22px;position:absolute;inset:-10px;-webkit-mask-image:radial-gradient(90% 90% at 50% 45%,#000 26%,#0000009e 70%,#0000 100%);mask-image:radial-gradient(90% 90% at 50% 45%,#000 26%,#0000009e 70%,#0000 100%)}.mnote,.mnote:nth-child(3n+1),.mnote:nth-child(3n+2),.mnote:nth-child(3n){color:var(--ink);background:color-mix(in srgb, var(--glass-strong) 88%, transparent);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(18px)saturate(125%);border-radius:18px;margin-bottom:16px;padding:18px;transition:transform .2s,box-shadow .2s,background .2s;transform:none;box-shadow:0 12px 30px #1b1f281c,inset 0 1px #ffffff8a}.card-form.horizontal select,.qcard-taxonomy select,.card-filters select{font:inherit;color:var(--ink);background:var(--glass-strong);border:1px solid var(--line);border-radius:9px;padding:7px 9px}.card-form.horizontal .card-category-input{flex:0 150px;min-width:120px}.card-filters{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;padding:2px 0 4px;font-size:12px;display:flex}.card-filters span{margin-right:4px}.card-filters button{color:var(--shu);cursor:pointer;background:0 0;border:0;padding:6px}.multi-filter{position:relative}.multi-filter summary{border:1px solid var(--line);min-width:132px;color:var(--ink);background:var(--glass-strong);cursor:pointer;border-radius:9px;padding:7px 28px 7px 10px;list-style:none}.multi-filter summary::-webkit-details-marker{display:none}.multi-filter summary:after{content:"⌄";color:var(--ink-faint);position:absolute;right:10px}.multi-filter-menu{z-index:30;border:1px solid var(--glass-edge);background:var(--glass-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:11px;min-width:190px;max-height:230px;padding:7px;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 14px 34px #14181e2e}.multi-filter-menu label{color:var(--ink);cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:7px 8px;display:flex}.multi-filter-menu label:hover{background:var(--glass-soft)}.multi-filter-menu input{accent-color:var(--shu)}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:14px}.qcard-tags{align-items:center;gap:5px;display:flex;position:absolute;top:9px;left:34px;right:34px;overflow:hidden}.qcard-tags span{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:70%;color:var(--ink-soft);background:color-mix(in srgb, var(--ink) 6%, transparent);font:600 9px/1.4 var(--sans);border-radius:999px;padding:2px 6px;overflow:hidden}.qcard-tags span:last-child{color:var(--ai);margin-left:auto}.qcard-taxonomy{grid-template-columns:1fr auto;gap:6px;display:grid}.qcard-taxonomy input{min-width:0;font-family:var(--sans);font-size:12px}.qcard-taxonomy select{min-width:68px;font-size:12px}.qcard-due{top:auto;bottom:10px;left:12px}.qcard-hint{left:auto;right:12px}.qcard-edit-trigger,.qcard-del{z-index:5;width:25px;height:25px;color:var(--ink-soft);background:color-mix(in srgb, var(--glass-strong) 88%, transparent);opacity:.72;cursor:pointer;border:0;border-radius:8px;place-items:center;padding:0;display:grid;position:absolute;top:8px;box-shadow:0 4px 12px #1b1f281a}.qcard-edit-trigger{font-size:15px;left:8px}.qcard-del{font-size:17px;right:8px}.qcard:hover .qcard-edit-trigger,.qcard:hover .qcard-del{opacity:1}.qcard-edit-trigger:hover{color:var(--ai)}.qcard-del:hover{color:var(--shu)}.qcard-inline-edit{z-index:4;background:var(--glass-strong);box-shadow:inset 0 0 0 1px var(--glass-edge), 0 16px 38px #1b1f2824;border-radius:14px;flex-direction:column;gap:6px;padding:38px 10px 10px;display:flex;position:absolute;inset:0}.qcard-inline-edit input,.qcard-inline-edit textarea{border:1px solid var(--line);min-width:0;color:var(--ink);background:var(--paper);font:inherit;border-radius:7px;padding:5px 7px}.qcard-inline-edit textarea{resize:none;flex:1;font-size:11px}.qcard-edit-done{color:#fff;background:var(--ai);cursor:pointer;border:0;border-radius:7px;align-self:flex-end;padding:4px 9px}.qcard-confirm{z-index:8;color:var(--ink);background:var(--glass-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex;position:absolute;inset:0}.qcard-confirm button{min-width:92px;color:var(--ink);background:var(--paper-2);cursor:pointer;border:0;border-radius:8px;padding:6px 10px}.qcard-confirm button:first-of-type{color:#fff;background:var(--shu)}.mnote-go{color:var(--ink-soft)}:root[data-theme=light]{--paper:#f0f1ec;--paper-2:#e7e8e1;--paper-3:#dcded5;--ink:#1b1e26;--ink-soft:#565c69;--ink-faint:#8b909b;--shu:#c8452f;--shu-soft:#e6d3ce;--ai:#33526e;--gold:#9c7a35;--line:#1b1e261f;--line-2:#1b1e260f;--shadow:0 1px 2px #1b1e260f, 0 8px 28px #1b1e261a;--brand-icon:url(/lyra-icon.png)}:root[data-theme=dark]{--paper:#14161b;--paper-2:#1a1d24;--paper-3:#22262f;--ink:#ecebe3;--ink-soft:#a2a8b4;--ink-faint:#6b7280;--shu:#e4634b;--shu-soft:#3a2723;--ai:#86aacb;--gold:#c6a25a;--line:#ecebe324;--line-2:#ecebe312;--shadow:0 1px 2px #0006, 0 10px 34px #00000080;--brand-icon:url(/lyra-icon-dark.png)}*{box-sizing:border-box}.app-glyph{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;display:block}.icon-kicker{align-items:center;gap:7px;display:inline-flex}.icon-kicker .app-glyph{width:16px;height:16px}html,body{height:100%;margin:0;padding:0}body{background:radial-gradient(120% 80% at 50% -10%, var(--paper-2), var(--paper) 60%);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}.wrap{min-height:100vh}.app{background:var(--paper);flex-direction:column;width:100%;height:100dvh;display:flex;overflow:hidden}.topbar{box-sizing:border-box;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 88%, var(--paper-2));flex:0 0 58px;align-items:center;gap:16px;height:58px;padding:8px 18px;display:flex}.brand{font-family:var(--display);align-items:center;gap:9px;display:flex}.brand .mark{background:var(--paper-2) var(--brand-icon) center/cover no-repeat;width:31px;height:31px;box-shadow:inset 0 0 0 1px var(--line);border-radius:8px;flex:0 0 31px}.brand .name{letter-spacing:.01em;font-size:19px}.reader-header-settings{align-items:center;min-width:0;height:34px;display:flex}.reader-header-settings:empty{display:none}.reader-header-settings .reader-settings{border-left:1px solid var(--line);padding-left:14px}.reader-header-settings .mini{background:color-mix(in srgb, var(--paper-2) 70%, transparent)}.spacer{flex:1}.icon-btn{font:inherit;cursor:pointer;color:var(--ink-soft);background:var(--paper-2);border:1px solid var(--line);border-radius:8px;padding:7px 11px;font-size:13px;transition:all .16s}.icon-btn:hover{color:var(--ink);border-color:var(--ink-faint)}.icon-btn.primary{background:var(--shu);color:#fff;border-color:var(--shu)}.icon-btn.primary:hover{filter:brightness(1.05)}.theme-switch{border:1px solid var(--line);background:color-mix(in srgb, var(--paper-2) 72%, transparent);border-radius:9px;align-items:center;gap:2px;padding:3px;display:inline-flex}.theme-switch button{width:27px;height:27px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.theme-switch button:hover{color:var(--ink)}.theme-switch button[aria-pressed=true]{color:var(--ink);background:var(--glass-strong,var(--paper));box-shadow:0 2px 7px #1b1e261a, inset 0 0 0 1px color-mix(in srgb, var(--ink) 7%, transparent)}.theme-switch svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.estante{flex:1;overflow-y:auto}.estante-head{padding:30px clamp(20px,4vw,40px) 6px}.kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--shu);font-size:11px;font-weight:600}.estante-head h1{font-family:var(--display);letter-spacing:.01em;text-wrap:balance;margin:8px 0 4px;font-size:clamp(26px,4vw,34px);font-weight:600}.estante-head p{color:var(--ink-soft);max-width:60ch;margin:0;font-size:14px;line-height:1.5}.subject-section{padding:18px clamp(20px,4vw,40px) 0}.subject-section-title{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.subject-section-title span{font-family:var(--display);font-size:15px;font-weight:600}.subject-section-title small{color:var(--ink-faint);font-size:11px}.subject-bar{scrollbar-width:thin;align-items:stretch;gap:9px;padding:2px 2px 9px;display:flex;overflow-x:auto}.subject-bar>button,.subject-create button{text-align:left;border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 88%, transparent);min-width:128px;color:var(--ink-soft);font:inherit;cursor:pointer;white-space:nowrap;border-radius:12px;flex:none;grid-template-columns:auto 1fr;align-items:center;padding:10px 12px;font-size:12px;display:grid;box-shadow:0 5px 18px #1b1e260a}.subject-bar>button strong{color:var(--ink);font-weight:620}.subject-bar>button.subject-all{grid-template-columns:1fr}.subject-bar>button.subject-all .subject-count{grid-column:1}.subject-bar>button.subject-unassigned{grid-template-columns:1fr}.subject-bar>button.subject-unassigned .subject-count{grid-column:1}.subject-item{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 88%, transparent);border-radius:12px;flex:none;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;min-width:150px;display:grid;position:relative;overflow:visible;box-shadow:0 5px 18px #1b1e260a}.subject-item>button:first-child{text-align:left;width:100%;min-width:0;color:var(--ink-soft);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:11px 0 0 11px;grid-template-columns:auto 1fr;align-items:center;padding:10px 4px 10px 12px;font-size:12px;display:grid}.subject-item>button:first-child strong{color:var(--ink);text-overflow:ellipsis;font-weight:620;overflow:hidden}.subject-more{background:color-mix(in srgb, var(--paper) 28%, transparent);width:25px;height:25px;color:var(--ink-faint);font:inherit;cursor:pointer;border:0;border-radius:999px;align-self:center;margin:0 6px 0 2px;padding:0;font-size:19px;line-height:18px}.subject-more:hover{color:var(--shu);background:color-mix(in srgb, var(--shu) 12%, transparent)}.subject-menu{z-index:100;border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 94%, transparent);border-radius:12px;gap:3px;min-width:108px;padding:5px;display:grid;position:fixed;box-shadow:0 12px 28px #1b1e2629}.subject-menu button{color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:7px 9px;font-size:12px}.subject-menu button:hover{background:color-mix(in srgb, var(--shu) 10%, transparent)}.subject-menu button.danger{color:var(--shu)}.subject-dialog-backdrop{z-index:120;-webkit-backdrop-filter:blur(8px);background:#14181e61;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.subject-dialog{border:1px solid var(--glass-edge,var(--line));background:var(--glass-strong,var(--paper));width:min(420px,100%);color:var(--ink);border-radius:22px;padding:24px;box-shadow:0 24px 80px #14181e47}.subject-dialog-kicker{color:var(--shu);letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px;font-size:10px;font-weight:700;display:block}.subject-dialog-kicker.danger{color:var(--shu)}.subject-dialog h2{font-family:var(--display);margin:0;font-size:23px;font-weight:600}.subject-dialog p{color:var(--ink-soft);margin:9px 0 18px;font-size:13px;line-height:1.55}.subject-dialog-label{color:var(--ink-faint);margin-bottom:6px;font-size:11px;display:block}.subject-dialog input{box-sizing:border-box;border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 72%, transparent);width:100%;color:var(--ink);font:inherit;border-radius:12px;outline:none;padding:11px 13px;font-size:14px}.subject-dialog input:focus{border-color:var(--shu);box-shadow:0 0 0 3px color-mix(in srgb, var(--shu) 14%, transparent)}.subject-dialog-actions{justify-content:flex-end;gap:8px;margin-top:22px;display:flex}.subject-dialog-actions button{border:1px solid var(--line);color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:9px 14px;font-size:12px}.subject-dialog-actions button:hover:not(:disabled){border-color:var(--ink-faint);color:var(--ink)}.subject-dialog-actions button.primary{border-color:var(--shu);background:var(--shu);color:#fff}.subject-dialog-actions button.danger{border-color:var(--shu);background:color-mix(in srgb, var(--shu) 12%, transparent);color:var(--shu)}.subject-dialog-actions button:disabled{cursor:default;opacity:.5}.subject-count{color:var(--ink-faint);grid-column:2;margin-top:2px;font-size:10px}.subject-bar>button:hover,.subject-bar>button.active{border-color:color-mix(in srgb, var(--shu) 55%, var(--line));color:var(--shu);background:color-mix(in srgb, var(--shu) 8%, var(--paper))}.subject-item:has(>button:first-child.active){border-color:color-mix(in srgb, var(--shu) 55%, var(--line));color:var(--shu);background:color-mix(in srgb, var(--shu) 8%, var(--paper))}.subject-bar>button i,.subject-item>button:first-child i{border-radius:999px;grid-row:1/3;width:8px;height:26px;margin-right:9px;display:inline-block}.subject-bar .subject-add{border-style:dashed}.subject-create{flex:none;align-items:center;gap:6px;display:flex}.subject-create input{border:1px solid var(--line);background:var(--paper);width:150px;color:var(--ink);font:inherit;border-radius:999px;outline:none;padding:7px 12px;font-size:12px}.subject-create input:focus{border-color:var(--shu)}.subject-create button:disabled{opacity:.45;cursor:default}.grid{grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:clamp(16px,2.4vw,26px);padding:24px clamp(20px,4vw,40px) 40px;display:grid}.book{cursor:pointer;text-align:left;font:inherit;color:inherit;background:0 0;border:0;flex-direction:column;gap:10px;padding:0;display:flex}.cover{aspect-ratio:3/4.2;border:1px solid var(--line);box-shadow:var(--shadow);color:#fff;border-radius:10px;flex-direction:column;justify-content:flex-end;padding:14px;transition:transform .2s;display:flex;position:relative;overflow:hidden}.book:hover .cover{transform:translateY(-4px)}.cover .spine{background:#0000002e;width:6px;position:absolute;top:0;bottom:0;left:0}.cover .seal{color:#ffffffeb;width:30px;height:30px;font-family:var(--display);border:1.5px solid #ffffffd9;border-radius:6px;place-items:center;font-size:15px;display:grid;position:absolute;top:12px;right:12px}.cover .cover-title{font-family:var(--display);text-shadow:0 1px 6px #0000004d;word-break:break-word;font-size:15px;font-weight:600;line-height:1.3}.progress{background:var(--paper-3);border-radius:999px;height:4px;overflow:hidden}.progress i{background:var(--shu);border-radius:999px;height:100%;display:block}.book-meta{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.book-meta .t{color:var(--ink);word-break:break-word;font-size:13.5px;font-weight:550;line-height:1.25}.book-meta .p{font-family:var(--mono);color:var(--ink-faint);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.book-meta-main{flex-direction:column;gap:4px;min-width:0;display:flex}.book-meta-main select{width:fit-content;max-width:145px;color:var(--ink-faint);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:10.5px}.import-card{border:1.5px dashed var(--line);aspect-ratio:3/4.2;color:var(--ink-faint);cursor:pointer;background:var(--paper-2);font:inherit;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;transition:all .16s;display:flex}.import-card:hover{border-color:var(--shu);color:var(--shu)}.import-card .plus{font-size:30px;font-weight:300;line-height:1}.import-card span{font-size:13px}.import-card:disabled{opacity:.6;cursor:default}.book-del{color:#fff;cursor:pointer;opacity:0;background:#0006;border:0;border-radius:50%;place-items:center;width:22px;height:22px;font-size:15px;line-height:1;transition:opacity .12s;display:grid;position:absolute;top:8px;left:8px}.book:hover .book-del,.book:focus-within .book-del{opacity:1}.book-del:hover{background:var(--shu)}.book-confirm{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-align:center;color:#fff;background:#0000009e;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:12px;font-size:13px;display:flex;position:absolute;inset:0}.book-confirm-actions{gap:8px;display:flex}.book-confirm-actions button{font:inherit;color:#fff;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:7px;padding:6px 12px;font-size:12px}.book-confirm-actions .danger{background:var(--shu);border-color:var(--shu)}.empty{text-align:center;color:var(--ink-faint);padding:10px 20px 40px;font-size:14px}.reader{flex-direction:column;flex:1;min-height:0;display:flex}.reader-bar{box-sizing:border-box;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 90%, var(--paper-2));flex-wrap:nowrap;flex:0 0 51px;align-items:center;gap:12px;height:51px;padding:8px 16px;display:flex}.back{font:inherit;color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;font-size:13px;display:inline-flex}.back:hover{color:var(--ink)}.booktitle{font-family:var(--display);white-space:nowrap;text-overflow:ellipsis;max-width:26ch;font-size:15px;overflow:hidden}.reader-settings,.reader-actions{flex:none;align-items:center;gap:7px;display:inline-flex}.reader-actions .icon-btn{align-items:center;gap:6px;display:inline-flex}.reader-actions .icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.timeline{cursor:default;pointer-events:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;flex:1;min-width:60px;height:16px;margin:0 4px;padding:0;position:relative}.timeline .track{background:var(--paper-3);border-radius:999px;position:absolute;inset:7px 0}.timeline .fill{background:color-mix(in srgb, var(--ai) 55%, transparent);border-radius:999px;position:absolute;top:7px;bottom:7px;left:0}.timeline .pin{border:2px solid var(--paper);width:12px;height:12px;box-shadow:0 0 0 1px var(--line);background:var(--shu);border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.mini{background:var(--paper-2);border:1px solid var(--line);border-radius:8px;align-items:center;gap:2px;padding:3px;display:inline-flex}.mini button{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 9px;font-size:12px}.mini button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #00000014}.mini button:disabled{opacity:.4;cursor:default}.mini .kanji{font-family:var(--display)}.canvas{flex:1;min-width:0;display:flex;position:relative}.canvas-scroll{background:linear-gradient(0deg, var(--paper-2), var(--paper));flex:1;place-items:center;min-width:0;padding:24px;display:grid;overflow:auto}.nav-arrow{z-index:8;border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 72%, transparent);-webkit-backdrop-filter:blur(6px);width:46px;height:46px;color:var(--ink);font-family:var(--display);cursor:pointer;box-shadow:var(--shadow);opacity:.5;border-radius:50%;place-items:center;font-size:26px;line-height:1;transition:opacity .15s,background .15s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.canvas:hover .nav-arrow{opacity:1}.nav-arrow:hover{background:var(--paper);color:var(--shu)}.nav-arrow:active{transform:translateY(-50%)scale(.92)}.nav-arrow:disabled{opacity:.12;cursor:default}.nav-arrow.left{left:10px}.nav-arrow.right{right:10px}.spread{align-items:flex-start;gap:16px;display:flex}.page{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:4px;position:relative;overflow:hidden}.page canvas{display:block}.page .folio{text-align:center;font-family:var(--mono);color:var(--ink-faint);pointer-events:none;font-size:10px;position:absolute;bottom:5px;left:0;right:0}.reader-msg{color:var(--ink-faint);font-size:14px}.review-save-error{z-index:4;max-width:min(92%,460px);color:var(--shu);background:var(--paper);box-shadow:var(--shadow);text-align:center;border-radius:12px;padding:9px 14px;font-size:13px;position:absolute;top:16px;left:50%;transform:translate(-50%)}.review-grades button:disabled,.review-free-next:disabled{opacity:.58;cursor:wait}.reader-pdf-repair{text-align:center;justify-items:center;gap:14px;max-width:460px;margin:auto;display:grid}.reader-pdf-repair p{margin:0}.reader-pdf-repair button{border:1px solid var(--glass-edge);color:#fff;background:var(--shu);cursor:pointer;font:inherit;border-radius:14px;padding:11px 17px;font-weight:650;box-shadow:0 8px 22px #2328321f}.reader-pdf-repair button:disabled{opacity:.62;cursor:wait}.reader-pdf-repair .reader-pdf-repair-error{color:var(--shu)}.reader-main{flex:1;min-height:0;display:flex}.page.selecting{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;outline:3px dashed color-mix(in srgb, var(--shu) 92%, transparent);outline-offset:0;box-shadow:var(--shadow)}.selbox{border:1.5px solid var(--shu);background:color-mix(in srgb, var(--shu) 14%, transparent);pointer-events:none;border-radius:2px;position:absolute}.side{border-left:1px solid var(--line);background:var(--paper);flex-direction:column;flex-shrink:0;width:300px;min-height:0;display:flex}.side-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;font-weight:600;display:flex}.side-close{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;font-size:12px}.side-close:hover{color:var(--ink)}.side-body{flex-direction:column;flex:1;gap:12px;padding:12px;display:flex;overflow-y:auto}.side-empty{color:var(--ink-faint);margin:4px 0;font-size:13px;line-height:1.55}.crop{border:1px solid var(--line);background:var(--paper-2);border-radius:8px;overflow:hidden}.crop img{background:#fff;width:100%;height:auto;display:block}.crop-meta{justify-content:space-between;align-items:center;padding:6px 8px;display:flex}.crop-goto{font-family:var(--mono);color:var(--ink-soft);cursor:pointer;background:0 0;border:0;font-size:12px}.crop-goto:hover{color:var(--ink)}.crop-del{font:inherit;color:var(--shu);cursor:pointer;background:0 0;border:0;font-size:12px}.rail{border-right:1px solid var(--line);background:var(--paper);flex-direction:column;flex-shrink:0;align-items:stretch;gap:2px;width:68px;padding:10px 8px;display:flex}.rail button{cursor:pointer;width:100%;height:52px;color:var(--ink-faint);background:0 0;border:0;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:3px;transition:background .15s,color .15s;display:flex}.rail button .k{place-items:center;width:20px;height:20px;display:grid}.rail button .l{letter-spacing:.02em;font-size:8.5px}.rail button:hover{background:var(--paper-2);color:var(--ink)}.rail button[aria-pressed=true]{background:color-mix(in srgb, var(--shu) 12%, var(--paper));color:var(--shu)}.rail button[aria-pressed=true] .l{font-weight:600}.toc-entry{text-align:left;width:100%;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:baseline;gap:8px;padding:6px 8px;font-size:13px;display:flex}.toc-entry:hover:not(:disabled){background:var(--paper-2);color:var(--shu)}.toc-entry:disabled{color:var(--ink-faint);cursor:default}.toc-title{line-height:1.35}.toc-page{font-family:var(--mono);color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:11px}.note{border:1px solid var(--line);background:var(--paper-2);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.note img{object-fit:cover;object-position:top;background:#fff;width:100%;height:auto;max-height:120px;display:block}.note-text{font:inherit;color:var(--ink);background:var(--paper);border:0;border-top:1px solid var(--line);resize:vertical;min-height:54px;padding:8px 10px;font-size:13px;line-height:1.5}.note-text::placeholder{color:var(--ink-faint)}.note-meta{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:6px 8px;display:flex}.postit{z-index:6;background:color-mix(in srgb, var(--gold) 20%, var(--paper));border:1px solid color-mix(in srgb, var(--gold) 55%, var(--line));border-radius:4px;flex-direction:column;min-width:72px;min-height:54px;display:flex;position:absolute;overflow:hidden;box-shadow:0 4px 12px #0000002e}.postit-resize{z-index:3;touch-action:none;position:absolute}.postit-resize.e,.postit-resize.w{cursor:ew-resize;width:10px;top:24px;bottom:12px}.postit-resize.e{right:-3px}.postit-resize.w{left:-3px}.postit-resize.s{cursor:ns-resize;height:10px;bottom:-3px;left:12px;right:12px}.postit-resize.se,.postit-resize.sw{width:16px;height:16px;bottom:0}.postit-resize.se{cursor:nwse-resize;background:linear-gradient(135deg, transparent 45%, color-mix(in srgb, var(--gold) 60%, var(--line)) 45% 70%, transparent 70%);right:0}.postit-resize.sw{cursor:nesw-resize;background:linear-gradient(225deg, transparent 45%, color-mix(in srgb, var(--gold) 60%, var(--line)) 45% 70%, transparent 70%);left:0}.postit:hover .postit-resize.e,.postit:hover .postit-resize.w{background:color-mix(in srgb, var(--gold) 22%, transparent);border-radius:999px}.postit-bar{cursor:grab;background:color-mix(in srgb, var(--gold) 40%, var(--paper));border-bottom:1px solid color-mix(in srgb, var(--gold) 40%, var(--line));touch-action:none;align-items:center;gap:4px;height:18px;padding:0 3px;display:flex}.postit-bar:active{cursor:grabbing}.postit-grip{height:7px;color:var(--ink);opacity:.3;background-image:radial-gradient(currentColor 1px,#0000 1px);background-size:5px 5px;flex:1}.postit-mini,.postit-del{width:16px;height:14px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:3px;place-items:center;font-size:13px;line-height:1;display:grid}.postit-mini:hover{color:var(--ink);background:#00000014}.postit-del:hover{background:color-mix(in srgb, var(--shu) 20%, transparent);color:var(--shu)}.postit textarea{resize:none;width:100%;min-height:52px;color:var(--ink);font:inherit;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--ink) 22%, transparent) transparent;background:0 0;border:0;flex:1;padding:6px 8px;font-size:12.5px;line-height:1.45;display:block;overflow-y:auto}.postit textarea::-webkit-scrollbar{width:8px}.postit textarea::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--ink) 20%, transparent);background-clip:padding-box;border:2px solid #0000;border-radius:4px}.postit textarea::-webkit-scrollbar-track{background:0 0}.postit textarea:focus{outline:none}.postit-preview{min-height:52px;color:var(--ink);cursor:text;flex:1;padding:9px 11px 12px;font-size:12.5px;line-height:1.5;overflow:auto}.postit-preview>.md{font-size:inherit;line-height:inherit}.postit-preview .md>:first-child{margin-top:0}.postit-preview .md>:last-child{margin-bottom:0}.postit-preview .md p{margin:.35em 0}.postit-preview .md table{border-collapse:collapse;width:100%;font-size:.9em}.postit-preview .md th,.postit-preview .md td{border:1px solid color-mix(in srgb, var(--ink) 18%, transparent);text-align:left;padding:3px 5px}.postit-empty{color:var(--ink-faint);font-style:italic}.postit.collapsed{width:auto;min-width:0;max-width:none;box-shadow:none;background:0 0;border:0;overflow:visible}.postit-pill{cursor:grab;touch-action:none;background:color-mix(in srgb, var(--gold) 30%, var(--paper));border:1px solid color-mix(in srgb, var(--gold) 55%, var(--line));border-radius:999px;align-items:center;gap:5px;max-width:190px;padding:3px 4px 3px 9px;display:inline-flex;box-shadow:0 2px 6px #00000026}.postit-pill:active{cursor:grabbing}.pill-k{font-family:var(--display);color:var(--gold);font-size:12px}.pill-t{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.pill-open{background:var(--gold);color:#fff;cursor:pointer;border:0;border-radius:50%;flex-shrink:0;place-items:center;width:16px;height:16px;padding:0;font-size:11px;line-height:0;display:grid}.sel-actions{z-index:9;background:var(--paper);border:1px solid var(--line);max-width:250px;box-shadow:var(--shadow);border-radius:10px;flex-wrap:wrap;gap:4px;margin-top:6px;padding:5px;display:flex;position:absolute}.sel-actions.up{margin-top:0;transform:translateY(calc(-100% - 6px))}.sel-actions button{font:inherit;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);cursor:pointer;border-radius:8px;padding:6px 9px;font-size:12px}.sel-actions button:hover{border-color:var(--shu);color:var(--shu)}.sel-actions .sel-x{color:var(--ink-faint);background:0 0;border:0;padding:6px 8px}.sel-actions button.on{border-color:var(--shu);color:var(--shu);background:var(--shu-soft)}.selbox.pending{pointer-events:none}.page:has(.sel-actions){z-index:8;overflow:visible}.page:has(.sel-actions)>canvas{border-radius:inherit}.sel-actions{border:1px solid var(--glass-edge);width:184px;max-width:none;color:var(--ink);background:color-mix(in srgb, var(--paper) 94%, var(--glass-strong));-webkit-backdrop-filter:blur(14px)saturate(115%);border-radius:13px;grid-template-columns:1fr;gap:3px;margin:0;padding:6px;display:grid;overflow:visible;box-shadow:0 14px 34px #14181e33,inset 0 1px #ffffff80}.sel-actions.side-right{margin-left:8px}.sel-actions.side-left{margin-right:8px}.sel-actions.lower{transform:translateY(-100%)}.sel-actions:has(.cardgen){width:276px}.sel-actions button{width:100%;color:var(--ink-soft);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 9px;display:flex}.sel-actions button:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 7%, transparent);border-color:#0000}.sel-actions .sel-action-main{color:var(--ink);background:color-mix(in srgb, var(--ai) 9%, transparent)}.sel-actions button.on{color:var(--shu);background:color-mix(in srgb, var(--shu) 10%, transparent);border:0}.sel-actions button svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:15px;height:15px}.sel-actions .sel-x{border:1px solid var(--line);width:20px;height:20px;color:var(--ink-soft);background:var(--paper);border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:-7px;right:-7px;box-shadow:0 3px 9px #14181e29}.sel-actions .cardgen{border-top:1px solid color-mix(in srgb, var(--ink) 8%, transparent);margin-top:3px;padding:9px 7px 6px}.sel-actions .cardgen-go{border:1px solid color-mix(in srgb, var(--shu) 40%, transparent);width:auto;min-height:32px;color:var(--shu);background:color-mix(in srgb, var(--shu) 12%, transparent);box-shadow:0 5px 14px color-mix(in srgb, var(--shu) 12%, transparent);justify-content:center;padding:6px 12px}.sel-actions .cardgen-go:hover{color:var(--shu);border-color:color-mix(in srgb, var(--shu) 58%, transparent);background:color-mix(in srgb, var(--shu) 19%, transparent)}.cardgen{flex-direction:column;flex-basis:100%;gap:8px;width:100%;margin-top:2px;display:flex}.cardgen-head{color:var(--ink);justify-content:space-between;align-items:center;gap:8px;font-size:11.5px;font-weight:650;display:flex}.cardgen-head small{color:var(--ink-faint);font-size:9.5px;font-weight:500}.cardgen textarea{resize:none;width:100%;height:82px;min-height:82px;font:12px/1.5 var(--sans);background:color-mix(in srgb, var(--paper-2) 82%, var(--paper));border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);color:var(--ink);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--ink) 18%, transparent) transparent;border-radius:10px;padding:9px 10px;overflow-y:auto}.cardgen textarea:focus{outline:2px solid color-mix(in srgb, var(--ai) 20%, transparent);border-color:color-mix(in srgb, var(--ai) 36%, transparent)}.cardgen textarea::placeholder{color:var(--ink-faint)}.cardgen-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.cardgen-go{font:inherit;background:var(--ai);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:6px 14px;font-size:12px}.cardgen-hint{color:var(--ink-faint);font-size:9.5px;line-height:1.3}.toast{z-index:12;background:var(--ink);color:var(--paper);box-shadow:var(--shadow);text-align:center;border-radius:999px;max-width:80%;padding:8px 14px;font-size:12.5px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.cards-full{background:var(--paper);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.cards-full.overlay{z-index:15;flex:none;position:absolute;inset:0}.popup-backdrop{z-index:40;background:#0000006b;position:fixed;inset:0}.popup{z-index:41;background:var(--paper);border:1px solid var(--line);border-radius:16px;flex-direction:column;display:flex;position:fixed;overflow:hidden;box-shadow:0 24px 80px #00000073}.popup .cards-full-bar{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none}.popup .cards-full-body{padding:16px clamp(14px,3vw,28px) 26px}.ask-fab{z-index:45;cursor:pointer;background:var(--ai);color:#fff;border:0;border-radius:50%;place-items:center;width:54px;height:54px;display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 24px #00000052}.ask-fab-k{font-family:var(--display);font-size:22px}.ask-fab.busy{animation:1.2s ease-in-out infinite askpulse}@keyframes askpulse{0%,to{box-shadow:0 8px 24px #00000052}50%{box-shadow:0 8px 10px #0003, 0 0 0 7px color-mix(in srgb, var(--ai) 30%, transparent)}}.ask-badge{background:var(--shu);color:#fff;border:2px solid var(--paper);border-radius:10px;place-items:center;min-width:19px;height:19px;padding:0 5px;font-size:11px;font-weight:700;display:grid;position:absolute;top:-3px;right:-3px}.ask-dock{z-index:45;background:var(--paper);border:1px solid var(--line);border-radius:14px;flex-direction:column;width:min(384px,92vw);display:flex;position:fixed;bottom:20px;right:20px;overflow:hidden;box-shadow:0 20px 56px #0000006b}.ask-dock-head{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 90%, var(--paper-2));cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:10px 12px;display:flex}.ask-resize{z-index:3;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg, transparent 45%, color-mix(in srgb, var(--ink) 28%, transparent) 45% 68%, transparent 68%);width:18px;height:18px;position:absolute;bottom:0;right:0}.ask-title{font-family:var(--display);font-size:14px;font-weight:600}.ask-dock-btn{font:inherit;border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:7px;padding:3px 9px;font-size:12px}.ask-dock-btn:hover{color:var(--ink);border-color:var(--ink-faint)}.ask-dock-body{flex-direction:column;flex:1;gap:14px;padding:12px;display:flex;overflow-y:auto}.ask-item{border-bottom:1px dashed var(--line);flex-direction:column;gap:7px;padding-bottom:12px;display:flex}.ask-item:last-child{border-bottom:0;padding-bottom:0}.ask-crop{border:1px solid var(--line);background:var(--paper-2);border-radius:9px;align-self:flex-start;position:relative;overflow:hidden}.ask-crop.small img{object-fit:contain;max-width:160px;max-height:96px;display:block}.ask-crop-x{color:#fff;cursor:pointer;background:#00000080;border:0;border-radius:50%;width:20px;height:20px;font-size:13px;line-height:1;position:absolute;top:3px;right:3px}.ask-q{background:var(--shu-soft);max-width:90%;color:var(--ink);white-space:pre-wrap;border-radius:12px 12px 4px;align-self:flex-end;padding:8px 11px;font-size:13px;line-height:1.5}.ask-a{background:var(--paper-2);border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;border-radius:12px 12px 12px 4px;align-self:flex-start;max-width:94%;padding:9px 12px;font-size:13px;line-height:1.6}.ask-a.err{background:var(--shu-soft);color:var(--shu)}.ask-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ask-mini{font:inherit;background:var(--paper);border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;border-radius:8px;padding:4px 10px;font-size:11.5px}.ask-mini:hover:not(:disabled){border-color:var(--shu);color:var(--shu)}.ask-mini:disabled{color:var(--ai);border-color:var(--ai);cursor:default}.ask-dock-compose{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.ask-compose-row{align-items:flex-end;gap:6px;display:flex}.ask-compose-row textarea{min-width:0;font:inherit;background:var(--paper-2);border:1px solid var(--line);color:var(--ink);resize:none;border-radius:9px;flex:1;min-height:40px;max-height:120px;padding:8px 10px;font-size:13px;line-height:1.45}.mainarea{background:var(--paper);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.chatview{background:var(--paper)}.chatview .tutor{background:0 0;width:100%;max-width:720px;margin:0 auto}.chatview .tutor-top{border-bottom:0;padding:10px 4px 4px}.chatview .tutor-top .conv-select{color:var(--ink-soft);background:0 0;border:0;padding:4px 6px;font-size:13px}.chatview .tutor-top .conv-select:hover{color:var(--ink)}.chatview .tutor-quick{border-bottom:0;padding:2px 4px 10px}.chatview .msg{gap:4px;max-width:100%}.chatview .msg.user{max-width:78%}.chatview .msg.assistant{max-width:100%}.chatview .msg.assistant .bubble{background:0 0;border:0;padding:0;font-size:14.5px;line-height:1.7}.chatview .msg.user .bubble{background:var(--paper-2);border:1px solid var(--line);color:var(--ink);border-radius:13px 13px 4px;font-size:13.5px}.chatview .tutor-input{border-top:1px solid var(--line);padding:12px 6px 4px}.talker-out{white-space:pre-wrap;font-family:var(--display);font-size:14px;line-height:1.6}.md p{margin:0 0 8px}.md>:last-child{margin-bottom:0}.md ul,.md ol{margin:4px 0 8px;padding-left:20px}.md li{margin:2px 0}.md code{font-family:var(--mono);background:color-mix(in srgb, var(--ink) 9%, transparent);border-radius:4px;padding:1px 5px;font-size:.88em}.md strong{font-weight:700}.md em{font-style:italic}.seg{border:1px solid var(--line);border-radius:9px;display:inline-flex;overflow:hidden}.seg button{font:inherit;background:var(--paper);color:var(--ink-soft);border:0;border-left:1px solid var(--line);cursor:pointer;padding:5px 11px;font-size:12px}.seg button:first-child{border-left:0}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{background:var(--shu-soft);color:var(--shu);font-weight:600}.content-bar{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:11px 18px;display:flex}.ca-kanji{width:20px;height:20px;color:var(--shu);place-items:center;display:grid}.ca-title{font-size:14px;font-weight:600}.ca-count{color:var(--ink-faint);font-size:12px}.board{background-image:radial-gradient(color-mix(in srgb, var(--ink) 15%, transparent) 1.15px, transparent 1.2px);background-position:8px 8px;background-size:17px 17px;flex:1;padding:28px clamp(16px,3vw,26px) 40px;overflow-y:auto}.mural{columns:240px auto;column-gap:24px}.mnote{break-inside:avoid;text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--ink);background:color-mix(in srgb, var(--gold) 16%, var(--paper));border:1px solid color-mix(in srgb, var(--gold) 45%, var(--line));border-radius:3px;flex-direction:column;margin:0 0 24px;padding:21px 16px 13px;transition:transform .12s,box-shadow .12s;display:flex;position:relative;box-shadow:0 1px #00000008,0 7px 16px #1b1e2621}.mnote:nth-child(3n+1){transform:rotate(-1deg)}.mnote:nth-child(3n+2){transform:rotate(.7deg)}.mnote:nth-child(3n){transform:rotate(-.4deg)}.mnote:hover{transform:rotate(0)translateY(-2px);box-shadow:0 10px 22px #1b1e2633}.mnote-text{white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.6}.mnote-empty{color:var(--ink-faint);font-style:italic}.mnote-foot{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.mnote-page{font-family:var(--display);color:var(--shu);letter-spacing:.02em;font-size:11px;font-weight:600}.mnote-go{color:var(--ink-faint);opacity:0;font-size:11px;transition:opacity .12s}.mnote:hover .mnote-go{opacity:1}.mtape{pointer-events:none;background:color-mix(in srgb, var(--shu) 22%, var(--paper));border-top:1px solid color-mix(in srgb, var(--shu) 16%, transparent);border-bottom:1px solid color-mix(in srgb, var(--shu) 16%, transparent);opacity:.9;width:44px;height:16px;position:absolute;top:-8px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000);mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000)}.mtape.l{left:13px;transform:rotate(-7deg)}.mtape.r{right:13px;transform:rotate(6deg)}.cards-full-bar{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:12px 16px;display:flex}.cards-title{font-family:var(--display);font-size:15px}.review-start.inline{width:auto;padding:8px 16px;font-size:13px}.cards-full-body{flex-direction:column;flex:1;gap:16px;padding:16px clamp(16px,4vw,40px) 40px;display:flex;overflow-y:auto}.card-form.horizontal{border-top:0;flex-flow:wrap;align-items:stretch;gap:8px;display:flex}.card-form.horizontal input{flex:1;min-width:160px}.card-form.horizontal textarea{flex:2;min-width:220px;min-height:44px}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(154px,1fr));gap:12px;display:grid}.colecao-h{letter-spacing:.14em;text-transform:uppercase;color:var(--shu);margin:6px 2px 2px;font-size:11px;font-weight:600}.crop-mini{font:inherit;background:var(--paper-2);border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;border-radius:6px;padding:3px 8px;font-size:11px}.crop-mini:hover{border-color:var(--ai);color:var(--ai)}.qcard{aspect-ratio:3/2;perspective:1000px;cursor:pointer;background:0 0;border:0;padding:0;position:relative}.qcard-inner{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.qcard.flipped .qcard-inner{transform:rotateY(180deg)}.qcard-face{backface-visibility:hidden;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);text-align:center;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;padding:12px;display:flex;position:absolute;inset:0;overflow:hidden}.qcard-back{background:color-mix(in srgb, var(--ai) 16%, var(--paper));transform:rotateY(180deg)}.qcard-jp{font-family:var(--display);color:var(--ink);font-size:19px;line-height:1.3}.qcard-hint{letter-spacing:.05em;color:var(--ink-faint);font-size:10px;position:absolute;bottom:10px}.qcard-due{font-size:9.5px;font-family:var(--mono);color:var(--ink-faint);position:absolute;top:8px;left:12px}.qcard-ans{color:var(--ink);white-space:pre-wrap;max-height:100%;font-size:13.5px;line-height:1.55;overflow:auto}.qcard-del{z-index:2;border:2.5px solid var(--ink);background:var(--paper);width:24px;height:24px;color:var(--ink);cursor:pointer;opacity:0;border-radius:50%;font-size:14px;line-height:1;transition:opacity .12s;position:absolute;top:-9px;right:-9px}.qcard:hover .qcard-del{opacity:1}.review-start.inline{border:2.5px solid var(--ai);background:var(--ai);color:#fff;box-shadow:3px 3px 0 color-mix(in srgb, var(--ai) 55%, var(--ink));border-radius:12px;font-weight:700}.review-start.inline:disabled{border-color:var(--line);background:var(--paper-3);color:var(--ink-faint);box-shadow:none}.regen{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-start;gap:8px;padding-bottom:14px;display:flex}.regen textarea{min-width:220px;font:inherit;background:var(--paper-2);border:1px solid var(--line);color:var(--ink);resize:vertical;border-radius:9px;flex:1;min-height:44px;padding:8px 10px;font-size:13px;line-height:1.45}.qcard-edit{aspect-ratio:3/2;border:2px solid var(--ink);box-shadow:4px 4px 0 color-mix(in srgb, var(--ink) 80%, var(--paper));background:var(--paper);border-radius:18px;flex-direction:column;gap:6px;padding:12px;display:flex;position:relative}.qcard-edit input{font-family:var(--display);background:var(--paper-2);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:6px 8px;font-size:18px}.qcard-edit textarea{font:inherit;background:var(--paper-2);border:1px solid var(--line);color:var(--ink);resize:none;border-radius:8px;flex:1;padding:6px 8px;font-size:12.5px;line-height:1.45}.qcard-edit-actions{justify-content:space-between;align-items:center;display:flex}.qcard-edit-btn{z-index:2;border:2px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;opacity:0;border-radius:999px;padding:2px 8px;font-size:10px;transition:opacity .12s;position:absolute;top:-9px;left:-9px}.qcard:hover .qcard-edit-btn{opacity:1}.postit-confirm{border-top:1px solid color-mix(in srgb, var(--gold) 40%, var(--line));background:color-mix(in srgb, var(--shu) 12%, var(--paper));color:var(--ink);align-items:center;gap:6px;padding:5px 7px;font-size:11.5px;display:flex}.postit-confirm button{font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:6px;padding:2px 9px;font-size:11.5px}.postit-confirm button:first-of-type{background:var(--shu);border-color:var(--shu);color:#fff}.page.noting{cursor:crosshair}.review-start{width:100%;font:inherit;background:var(--ai);color:#fff;cursor:pointer;border:0;border-radius:9px;padding:10px;font-size:14px;font-weight:600}.review-start:disabled{background:var(--paper-3);color:var(--ink-faint);cursor:default}.card-form{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:10px 0;display:flex}.card-form input,.card-form textarea{font:inherit;background:var(--paper-2);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:8px 10px;font-size:13px}.card-form input{font-family:var(--display);font-size:15px}.card-form textarea{resize:vertical;min-height:54px;line-height:1.5}.card-form .icon-btn{text-align:center;justify-content:center}.fcard{border:1px solid var(--line);background:var(--paper-2);border-radius:8px;overflow:hidden}.fcard-front{font-family:var(--display);color:var(--ink);padding:8px 10px;font-size:16px}.fcard-back{color:var(--ink-soft);border-bottom:1px solid var(--line);white-space:pre-wrap;padding:0 10px 8px;font-size:12.5px;line-height:1.45}.fcard-meta{color:var(--ink-faint);justify-content:space-between;align-items:center;padding:6px 8px;font-size:11px;display:flex}.review{z-index:20;background:var(--paper);flex-direction:column;display:flex;position:absolute;inset:0}.review-bar{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:12px 16px;display:flex}.review-count{color:var(--ink-faint);font-size:12px}.review-body{flex:1;place-items:center;padding:24px;display:grid;overflow-y:auto}.review-empty{text-align:center;color:var(--ink-soft);flex-direction:column;align-items:center;gap:14px;display:flex}.review-kanji{width:54px;height:54px;color:var(--gold)}.review-card{background:var(--paper-2);border:1px solid var(--line);width:100%;max-width:520px;box-shadow:var(--shadow);border-radius:14px;flex-direction:column;align-items:center;gap:18px;padding:28px;display:flex}.review-front{font-family:var(--display);text-align:center;color:var(--ink);font-size:30px;line-height:1.4}.review-divider{background:var(--shu);border-radius:2px;width:40px;height:2px}.review-back{text-align:center;color:var(--ink-soft);white-space:pre-wrap;font-size:16px;line-height:1.6}.review-show{font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:9px;padding:10px 18px;font-size:14px}.review-show:hover{border-color:var(--shu);color:var(--shu)}.review-grades{grid-template-columns:repeat(4,1fr);gap:8px;width:100%;display:grid}.review-grades .g{font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:9px;flex-direction:column;align-items:center;gap:3px;padding:10px 6px;font-size:13px;font-weight:600;display:flex}.review-grades .g small{color:var(--ink-faint);font-size:10px;font-weight:400}.review-grades .again:hover{border-color:var(--shu);color:var(--shu)}.review-grades .easy:hover{border-color:var(--ai);color:var(--ai)}.review-grades .good:hover,.review-grades .hard:hover{border-color:var(--ink-faint)}.side-tutor{width:360px}.tutor{flex-direction:column;flex:1;min-height:0;display:flex}.tutor-top{border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:8px 10px;display:flex}.conv-select{min-width:0;font:inherit;background:var(--paper-2);border:1px solid var(--line);color:var(--ink);border-radius:7px;flex:1;padding:6px 8px;font-size:12.5px}.conv-btn{font:inherit;background:var(--paper-2);border:1px solid var(--line);width:30px;height:30px;color:var(--ink-soft);cursor:pointer;border-radius:7px;flex-shrink:0;font-size:14px}.conv-btn:hover{color:var(--ink);border-color:var(--ink-faint)}.tutor-quick{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:8px 10px;display:flex}.tutor-quick button{font:inherit;background:var(--paper-2);border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:5px 10px;font-size:11.5px}.tutor-quick button:hover{border-color:var(--shu);color:var(--shu)}.talker-toggle{font-family:var(--display)}.tutor-quick .talker-toggle.on{background:var(--ai);border-color:var(--ai);color:#fff}.talker-hint{color:var(--ink-faint);flex:1;align-self:center;min-width:160px;font-size:11px;line-height:1.4}.talker-head{font-family:var(--display);color:var(--ai);font-size:13px;font-weight:600}.tutor-scroll{flex-direction:column;flex:1;gap:12px;padding:12px;display:flex;overflow-y:auto}.msg{flex-direction:column;gap:5px;max-width:92%;display:flex}.msg.user{align-self:flex-end;align-items:flex-end}.msg.assistant{align-self:flex-start}.msg .bubble{white-space:pre-wrap;word-break:break-word;border-radius:12px;padding:9px 12px;font-size:13px;line-height:1.55}.msg.user .bubble{background:var(--ai);color:#fff}.msg.assistant .bubble{background:var(--paper-2);border:1px solid var(--line);color:var(--ink)}.msg-imgs{flex-wrap:wrap;gap:6px;display:flex}.msg-imgs img{border:1px solid var(--line);background:#fff;border-radius:8px;max-width:120px;max-height:90px}.tutor-error{color:var(--shu);background:var(--shu-soft);border-radius:8px;padding:8px 10px;font-size:12.5px;line-height:1.45}.tutor-status{color:var(--ai);font-size:12px}.tool-confirm{border:1.5px solid var(--gold);background:color-mix(in srgb, var(--gold) 12%, var(--paper));border-radius:12px;align-self:flex-start;max-width:90%;padding:10px 12px}.tool-confirm-h{color:var(--ink);margin-bottom:4px;font-size:12.5px;font-weight:600}.tool-confirm ul{flex-direction:column;gap:3px;margin:0;padding-left:18px;display:flex}.tool-confirm li{color:var(--ink-soft);font-size:12.5px;line-height:1.45}.tool-confirm-actions{gap:8px;margin-top:9px;display:flex}.tool-confirm-actions button{font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:8px;padding:5px 12px;font-size:12.5px}.tool-confirm-actions .ok{background:var(--shu);border-color:var(--shu);color:#fff}.tutor-input{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:8px 10px;display:flex}.attach-row{flex-wrap:wrap;gap:6px;display:flex}.attach{position:relative}.attach img{object-fit:cover;object-position:top;border:1px solid var(--line);background:#fff;border-radius:6px;width:54px;height:54px}.attach button{background:var(--ink);width:18px;height:18px;color:var(--paper);cursor:pointer;border:0;border-radius:50%;font-size:12px;line-height:1;position:absolute;top:-6px;right:-6px}.tutor-compose{align-items:flex-end;gap:6px;display:flex}.attach-btn{font:inherit;white-space:nowrap;background:var(--paper-2);border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;border-radius:8px;flex-shrink:0;padding:8px;font-size:11px}.attach-btn:hover{color:var(--shu);border-color:var(--shu)}.tutor-compose textarea{min-width:0;font:inherit;background:var(--paper-2);border:1px solid var(--line);color:var(--ink);resize:none;border-radius:9px;flex:1;min-height:40px;max-height:120px;padding:8px 10px;font-size:13px;line-height:1.45}.send-btn{font:inherit;background:var(--shu);color:#fff;cursor:pointer;border:0;border-radius:9px;flex-shrink:0;padding:9px 12px;font-size:13px}.send-btn:disabled{background:var(--paper-3);color:var(--ink-faint);cursor:default}@media (max-width:860px){.reader-main{flex-direction:column}.rail{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;justify-content:center;width:auto}.rail button{flex-direction:row;width:auto;height:auto;padding:8px 12px}.side{border-left:0;border-top:1px solid var(--line);width:auto;max-height:45%}}.statusbar{border-top:1px solid var(--line);background:var(--paper-2);color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:14px;padding:8px 16px;font-size:12px;display:flex}.statusbar .folionum{font-family:var(--mono);font-variant-numeric:tabular-nums}.statusbar .save-hint{color:var(--ink-faint);align-items:center;gap:6px;display:inline-flex}.statusbar .save-hint b{color:var(--shu);font-weight:600}button{font-family:inherit}button:focus-visible,.book:focus-visible,.import-card:focus-visible,.timeline:focus-visible{outline:2px solid var(--shu);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (max-width:700px){.wrap{padding:0}.app{border:0;border-radius:0;height:100vh}.booktitle{max-width:12ch}}:root{--glass:#f7f7f3ad;--glass-strong:#fafaf7d6;--glass-soft:#ffffff75;--glass-edge:#ffffffb8;--glass-shadow:0 24px 70px #252a342e, 0 3px 12px #252a3414;--ai-glow:#496c8738}:root[data-theme=dark]{--glass:#191d24a8;--glass-strong:#1c2028db;--glass-soft:#ffffff0f;--glass-edge:#ffffff21;--glass-shadow:0 28px 80px #00000085, 0 3px 14px #00000052;--ai-glow:#5c91b840}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--glass:#191d24a8;--glass-strong:#1c2028db;--glass-soft:#ffffff0f;--glass-edge:#ffffff21;--glass-shadow:0 28px 80px #00000085, 0 3px 14px #00000052;--ai-glow:#5c91b840}}.postit{color:var(--ink);background:color-mix(in srgb, var(--paper) 86%, var(--glass-strong));border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(18px)saturate(130%);border-radius:14px;box-shadow:0 16px 38px #1b1f282e,inset 0 1px #ffffff94}.postit-bar{box-sizing:border-box;border-bottom:1px solid color-mix(in srgb, var(--ink) 7%, transparent);background:0 0;min-width:156px;height:28px;padding:0 7px}.postit-grip{height:6px;color:var(--ink-soft);opacity:.28;flex:0 0 26px;margin:0 auto}.postit-mini,.postit-del{width:22px;height:22px;color:var(--ink-faint);border-radius:7px}.postit-del{visibility:visible;opacity:1;flex:0 0 22px;place-items:center;display:grid}.postit-del svg{width:15px;height:15px;display:block}.postit textarea{color:var(--ink);padding:10px 12px 13px;font-size:13px;line-height:1.55}.postit textarea::placeholder{color:var(--ink-faint)}.postit-resize.e,.postit-resize.w{top:34px}.postit:hover .postit-resize.e,.postit:hover .postit-resize.w{background:color-mix(in srgb, var(--ai) 18%, transparent)}.postit-resize.se{background:linear-gradient(135deg, transparent 48%, color-mix(in srgb, var(--ai) 38%, transparent) 48% 60%, transparent 60%)}.postit-resize.sw{background:linear-gradient(225deg, transparent 48%, color-mix(in srgb, var(--ai) 38%, transparent) 48% 60%, transparent 60%)}.postit-pill{background:var(--glass-strong);border-color:var(--glass-edge);-webkit-backdrop-filter:blur(16px)saturate(125%);border-radius:12px}.notesview .board{background:0 0}.mnote,.mnote:nth-child(3n+1),.mnote:nth-child(3n+2),.mnote:nth-child(3n){color:var(--ink);background:color-mix(in srgb, var(--glass-strong) 88%, transparent);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(18px)saturate(125%);border-radius:18px;margin-bottom:16px;padding:18px;transform:none;box-shadow:0 12px 30px #1b1f281c,inset 0 1px #ffffff8a}.mnote:hover{background:var(--glass-strong);transform:translateY(-3px);box-shadow:0 18px 42px #1b1f2829,inset 0 1px #ffffffa8}.mnote-text{font-size:13.5px;line-height:1.65}.mnote-foot{border-top:1px solid color-mix(in srgb, var(--ink) 8%, transparent);margin-top:16px;padding-top:10px}.mnote-page{color:var(--ai);font-family:var(--sans);font-weight:650}.popup-backdrop{-webkit-backdrop-filter:blur(16px)saturate(115%);background:#11151c5c}.popup{background:var(--glass);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(28px)saturate(145%);border-radius:26px}.popup:before,.ask-dock:before{content:"";border-radius:inherit;pointer-events:none;z-index:0;background:linear-gradient(145deg,#ffffff47,#0000 34% 72%,#ffffff14);position:absolute;inset:0}.popup>*,.ask-dock>*{z-index:1;position:relative}.popup .cards-full-bar{background:linear-gradient(180deg, var(--glass-soft), transparent);border-bottom:0;padding:16px 20px}.popup .cards-full-body{padding-top:10px}.regen{background:var(--glass-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--glass-edge) 70%, transparent);border:0;border-radius:18px;padding:10px}.regen textarea,.qcard-edit input,.qcard-edit textarea{background:color-mix(in srgb, var(--glass-strong) 82%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 8%, transparent);border:0}.qcard-face,.qcard-edit{border:1px solid var(--glass-edge);background:color-mix(in srgb, var(--glass-strong) 88%, var(--paper));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 14px 34px #23283221,inset 0 1px #ffffff6b}.qcard-edit-btn,.qcard-del{border-width:1px;box-shadow:0 6px 18px #14181e2e}.ask-dock{background:var(--glass);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(26px)saturate(145%);border-radius:22px}.ask-dock-head,.ask-dock-compose{background:0 0;border:0}.ask-dock-head{padding:14px 16px 8px}.ask-dock-body{padding:10px 16px}.ask-item{background:var(--glass-soft);border:0;border-radius:17px;padding:12px}.ask-a{background:color-mix(in srgb, var(--glass-strong) 78%, transparent);border:0;box-shadow:0 8px 22px #23283214}.ask-dock-compose{background:var(--glass-soft);border-radius:16px;margin:0 10px 10px;padding:10px}.ask-compose-row textarea{background:color-mix(in srgb, var(--glass-strong) 78%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 8%, transparent);border:0}.ask-dock-btn,.ask-mini{background:var(--glass-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 8%, transparent);border:0}.chatview{background:radial-gradient(ellipse 55% 46% at 18% 10%, color-mix(in srgb, var(--shu) 10%, transparent), transparent 70%), radial-gradient(ellipse 62% 55% at 88% 90%, var(--ai-glow), transparent 72%), linear-gradient(145deg, var(--paper), color-mix(in srgb, var(--paper-2) 72%, var(--paper)));position:relative;overflow:hidden}.chatview:after{content:"";z-index:0;pointer-events:none;opacity:.28;filter:blur(.65px);background-image:linear-gradient(color-mix(in srgb, var(--ink) 13%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--ink) 13%, transparent) 1px, transparent 1px);background-size:30px 30px;position:absolute;inset:-8px;-webkit-mask-image:radial-gradient(86% 82% at 50% 46%,#000 20%,#000000ad 64%,#0000 100%);mask-image:radial-gradient(86% 82% at 50% 46%,#000 20%,#000000ad 64%,#0000 100%)}.chatview .tutor{z-index:1;border:1px solid var(--glass-edge);background:var(--glass);max-width:860px;height:calc(100% - 36px);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(24px)saturate(135%);border-radius:28px;margin:18px auto;position:relative;overflow:hidden}.chatview .tutor-top .conv-select{background:var(--glass-soft);border:0;border-radius:12px;padding:8px 12px}.chatview .conv-btn{background:var(--glass-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 7%, transparent);border:0;border-radius:11px}.chatview .tutor-quick button{background:var(--glass-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 7%, transparent);border:0}.chatview .msg.assistant .bubble{border:1px solid var(--glass-edge);background:var(--glass-soft);border-radius:18px 18px 18px 6px;padding:16px 18px;box-shadow:0 10px 30px #23283214}.chatview .msg.user .bubble{background:color-mix(in srgb, var(--shu) 15%, var(--glass-strong));border:0;border-radius:18px 18px 6px;box-shadow:0 10px 26px #32282617}.chatview .tutor-input{border:1px solid var(--glass-edge);background:var(--glass-soft);border-radius:18px;margin:0 18px 18px;padding:10px;box-shadow:0 12px 32px #2328321a}.chatview .tutor-compose textarea{box-shadow:none;background:0 0;border:0;padding:10px 8px}.chatview .attach-btn{background:color-mix(in srgb, var(--glass-strong) 80%, transparent);border:0}.chatview .send-btn{box-shadow:0 8px 20px color-mix(in srgb, var(--shu) 24%, transparent);border-radius:13px;padding:11px 17px}.tutor-welcome{text-align:center;flex-direction:column;align-items:center;width:min(620px,100%);margin:auto;padding:30px 16px;display:flex}.tutor-orb{width:58px;height:58px;font-family:var(--display);color:var(--shu);background:linear-gradient(145deg, var(--glass-strong), var(--glass-soft));border:1px solid var(--glass-edge);border-radius:20px;place-items:center;font-size:25px;display:grid;box-shadow:0 16px 36px #23283224,inset 0 1px #ffffff8c}.tutor-orb .app-glyph{width:28px;height:28px}.tutor-eyebrow{color:var(--shu);letter-spacing:.16em;text-transform:uppercase;margin-top:18px;font-size:10px;font-weight:700}.tutor-welcome h2{font-family:var(--display);letter-spacing:-.02em;margin:7px 0 8px;font-size:clamp(25px,4vw,34px);font-weight:550}.tutor-welcome p{max-width:48ch;color:var(--ink-soft);margin:0;font-size:13.5px;line-height:1.6}.tutor-starters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;margin-top:24px;display:grid}.tutor-starters button{text-align:left;min-height:54px;color:var(--ink-soft);border:1px solid var(--glass-edge);background:var(--glass-soft);cursor:pointer;border-radius:15px;padding:11px 14px;transition:transform .18s,background .18s,color .18s;box-shadow:0 8px 22px #2328320f}@media (max-width:700px){.chatview .tutor{border-radius:21px;height:calc(100% - 16px);margin:8px}.chatview .tutor-scroll{padding:12px 14px 18px}.chatview .tutor-input{margin:0 10px 10px}.tutor-welcome{padding:20px 4px}.tutor-starters{grid-template-columns:1fr}.popup{border-radius:20px}}:root,:root[data-theme=light]{--paper:#f3f2ed;--paper-2:#e9e8e1;--paper-3:#dcddd5;--ink:#191c22;--ink-soft:#424852;--ink-faint:#686f7a;--shu:#b94735;--shu-soft:#ead7d1;--ai:#2e526d;--gold:#896b30;--glass:#f8f8f4d1;--glass-strong:#fcfcf9f0;--glass-soft:#ffffffa3;--glass-edge:#ffffffe6}.popup{color:var(--ink)}.popup .cards-title{color:var(--ink);font-weight:600}.popup .back{color:var(--ink-soft);font-weight:550}.popup .back:hover{color:var(--shu)}.popup .side-empty{color:var(--ink-soft)}.popup .regen textarea,.popup .qcard-edit input,.popup .qcard-edit textarea{color:var(--ink);background:var(--glass-strong)}.popup textarea::placeholder,.popup input::placeholder{color:var(--ink-faint);opacity:1}.popup .qcard-hint,.popup .qcard-due{color:var(--ink-soft);font-weight:550}.popup .qcard-ans{color:var(--ink)}.popup .cardgen-go{box-shadow:0 8px 20px color-mix(in srgb, var(--ai) 22%, transparent)}.qcard-inner{transition:transform .24s cubic-bezier(.2,.75,.25,1)}.qcard-face{transition:box-shadow .24s,border-color .24s,background .24s}.page-picker{width:310px}.page-picker-preview{height:290px;transition:height .28s}.page-picker.expanded{width:min(560px,100vw - 40px);max-height:calc(100vh - 40px);position:fixed;bottom:50%;left:50%;transform:translate(-50%,50%)}.page-picker.expanded .page-picker-preview{height:min(52vh,560px)}.page-picker-preview img{object-fit:contain;max-width:100%;max-height:100%;display:block}.qcard-jp{overflow-wrap:anywhere;max-width:100%;max-height:calc(100% - 54px);overflow:hidden}.qcard-jp.latin{font-family:var(--sans);letter-spacing:0;padding:0 4px;font-size:14.5px;font-weight:560;line-height:1.42}.qcard-jp.latin.long{font-size:12.5px;line-height:1.38}.qcard:hover .qcard-jp{max-height:calc(100% - 62px)}.qcard-confirm{gap:5px;padding:11px;font-size:10.5px;line-height:1.3}.qcard-confirm button{border-radius:6px;min-width:68px;padding:4px 8px;font-size:10px}.qcard.prose-front{aspect-ratio:4/3}.qcard.long-front{aspect-ratio:5/4}.qcard.prose-front .qcard-jp{max-height:calc(100% - 48px);font-size:13.5px}.qcard.long-front .qcard-jp{scrollbar-width:thin;max-height:calc(100% - 52px);font-size:12.5px;overflow-y:auto}.review-free-next{color:#fff;background:var(--ai);cursor:pointer;border:0;border-radius:10px;padding:10px 18px}.review-front.latin{font-family:var(--sans);font-size:clamp(17px,3vw,23px);line-height:1.45}.cards-full,.review{background-color:var(--paper);background-image:radial-gradient(color-mix(in srgb, var(--ink) 10%, transparent) .8px, transparent .9px);background-position:11px 11px;background-size:22px 22px;flex:1;min-width:0;min-height:0;position:relative;inset:auto}.review{z-index:1;flex-direction:column;display:flex}.cards-full-body,.review-body{background:0 0}.qcard:not(:hover) .qcard-face{border-color:var(--glass-edge);box-shadow:0 7px 18px #1b1f2811,inset 0 1px #ffffff6b}.topbar,.reader-bar,.cards-full-bar,.review-bar,.content-bar,.statusbar{border-top:0;border-bottom:0}.topbar,.reader-bar{box-shadow:0 7px 22px #1b1f280b}.cards-full-bar,.review-bar,.content-bar{z-index:2;background:color-mix(in srgb, var(--glass-strong) 68%, transparent);-webkit-backdrop-filter:blur(14px);position:relative}.statusbar{background:color-mix(in srgb, var(--paper-2) 70%, var(--paper));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--ink) 5%, transparent)}.qcard,.qcard.prose-front,.qcard.long-front{aspect-ratio:3/2}.qcard.prose-front .qcard-jp,.qcard.long-front .qcard-jp{max-height:calc(100% - 54px)}.qcard.long-front .qcard-jp{overflow-y:auto}.qcard>.qcard-edit-trigger,.qcard>.qcard-del,.qcard>.qcard-expand{width:21px;height:21px}.qcard>.qcard-edit-trigger,.qcard>.qcard-del{top:-10px}.qcard>.qcard-edit-trigger{left:-10px}.qcard>.qcard-del{right:-10px}.qcard>.qcard-expand{z-index:5;border:1px solid color-mix(in srgb, var(--ink) 20%, transparent);color:var(--ink-soft);background:color-mix(in srgb, var(--glass-strong) 76%, transparent);opacity:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:opacity .28s,background .22s;display:grid;position:absolute;bottom:9px;right:9px;box-shadow:0 4px 12px #1b1f2817}.qcard:hover>.qcard-expand{opacity:1}.qcard>.qcard-expand:hover{color:var(--ink);border-color:color-mix(in srgb, var(--ink) 32%, transparent);background:color-mix(in srgb, var(--glass-strong) 94%, transparent)}.qcard-expand svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;width:11px;height:11px}.card-zoom-backdrop{z-index:65;-webkit-backdrop-filter:blur(15px);background:#11151c59;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.card-zoom{perspective:1200px;cursor:pointer;width:min(620px,100vw - 48px);height:min(400px,100vh - 80px);position:relative}.card-zoom-inner{transform-style:preserve-3d;transition:transform .48s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.card-zoom.flipped .card-zoom-inner{transform:rotateY(180deg)}.card-zoom-face{backface-visibility:hidden;border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);color:var(--ink);text-align:center;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;padding:48px;font-size:clamp(17px,3vw,25px);line-height:1.55;display:flex;position:absolute;inset:0;overflow:auto}.card-zoom-face.back{background:color-mix(in srgb, var(--ai) 11%, var(--glass-strong));font-size:clamp(14px,2.4vw,19px);transform:rotateY(180deg)}.card-zoom-face small{color:var(--ink-faint);font-size:10px;position:absolute;bottom:15px;right:18px}.card-zoom-category{color:var(--ink-soft);font-size:10px;position:absolute;top:17px;left:20px}.card-zoom-close{z-index:4;border:1px solid var(--glass-edge);width:26px;height:26px;color:var(--ink-soft);background:var(--glass-strong);cursor:pointer;border-radius:50%;position:absolute;top:-11px;right:-11px}.review-card{background:color-mix(in srgb, var(--gold) 9%, var(--glass-strong))}.review-card.revealed{background:color-mix(in srgb, var(--ai) 11%, var(--glass-strong))}:root[data-theme=light]{--paper:#eef0ec;--paper-2:#dfe3df;--paper-3:#cdd3cf;--ink:#151a20;--ink-soft:#3d4650;--ink-faint:#626d77;--line:#151a2021;--line-2:#151a2011;--glass:#eff2efc7;--glass-strong:#fafaf6f2;--glass-soft:#ffffff8f;--glass-edge:#ffffffe0}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--paper:#eef0ec;--paper-2:#dfe3df;--paper-3:#cdd3cf;--ink:#151a20;--ink-soft:#3d4650;--ink-faint:#626d77;--line:#151a2021;--line-2:#151a2011;--glass:#eff2efc7;--glass-strong:#fafaf6f2;--glass-soft:#ffffff8f;--glass-edge:#ffffffe0}}:root[data-theme=light] .cards-full,:root[data-theme=light] .review{background-color:#e3e7e3;background-image:radial-gradient(55% 45% at 90% 8%,#2e526d17,#0000 72%),radial-gradient(#151a2021 1px,#0000 1.15px);background-size:auto,24px 24px}:root[data-theme=light] .qcard-face,:root[data-theme=light] .qcard:not(:hover) .qcard-face{color:#151a20;border-color:#fffffff5;box-shadow:0 9px 22px #2a313721,inset 0 1px #fff}:root[data-theme=light] .qcard-front{background:#f4ecdc}:root[data-theme=light] .qcard-back{background:#e1eaf0}:root[data-theme=light] .cards-full-bar,:root[data-theme=light] .review-bar{background:#f7f8f4d1;box-shadow:0 8px 24px #2a313712}:root[data-theme=light] .canvas-scroll{background:linear-gradient(145deg,#d9dfdc,#e6e9e5)}:root[data-theme=light] .chatview{background:radial-gradient(58% 52% at 88% 88%,#2e526d24,#0000 74%),linear-gradient(145deg,#e9ece8,#dfe5e2)}:root[data-theme=light] .chatview .tutor-input{background:#fcfcf8f5}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .cards-full,:root:not([data-theme=dark]) .review{background-color:#e3e7e3;background-image:radial-gradient(#151a2021 1px,#0000 1.15px);background-size:24px 24px}:root:not([data-theme=dark]) .qcard-front{background:#f4ecdc}:root:not([data-theme=dark]) .qcard-back{background:#e1eaf0}:root:not([data-theme=dark]) .canvas-scroll{background:linear-gradient(145deg,#d9dfdc,#e6e9e5)}:root:not([data-theme=dark]) .chatview{background:radial-gradient(58% 52% at 88% 88%,#2e526d24,#0000 74%),linear-gradient(145deg,#e9ece8,#dfe5e2)}}.card-zoom-face{overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap}.card-zoom-face>div{width:100%;max-width:100%}.card-zoom.latin .card-zoom-face.front{font-family:var(--sans);font-size:clamp(16px,2.5vw,21px)}.card-zoom-face small{max-width:calc(100% - 32px);color:var(--ink-soft);background:color-mix(in srgb, var(--glass-strong) 88%, transparent);white-space:normal;border-radius:999px;padding:3px 7px;line-height:1.3}.card-zoom-face{-webkit-backdrop-filter:blur(26px)saturate(120%)}.card-zoom-face.front{background:color-mix(in srgb, var(--gold) 8%, var(--paper))}.card-zoom-face.back{background:color-mix(in srgb, var(--ai) 10%, var(--paper))}.qcard>.qcard-expand{width:19px;height:19px;bottom:9px;right:9px}.qcard-expand svg{width:10px;height:10px}.postit-page-select{max-width:58px;height:20px;color:var(--ink-soft);background:color-mix(in srgb, var(--ink) 6%, transparent);font:10px var(--sans);cursor:pointer;border:0;border-radius:6px;padding:0 4px}.postit-page-select:focus{outline:1px solid color-mix(in srgb, var(--ai) 45%, transparent)}.postit[style*="position: fixed"]{pointer-events:auto;box-shadow:0 22px 50px #1b1f283d,inset 0 1px #ffffffa3}.page-picker-tools{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.page-picker-tools button{color:var(--ink-soft);background:0 0}.page-picker-tools button.selected{color:var(--ai);background:color-mix(in srgb, var(--ai) 10%, transparent)}.page-picker-selection{color:var(--ink-soft);background:color-mix(in srgb, var(--ink) 5%, transparent);border-radius:8px;margin:6px 0 10px;padding:7px 9px;font-size:10.5px;line-height:1.45}.page-picker-tools .page-picker-icon{border:1px solid color-mix(in srgb, var(--ink) 11%, transparent);width:30px;height:30px;color:var(--ink-soft);background:color-mix(in srgb, var(--glass-strong) 62%, transparent);border-radius:9px;place-items:center;padding:0;display:grid}.page-picker-icon svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.page-picker-tools .page-select-dot{border-radius:50%;margin-left:auto}.page-select-dot>span{border:1.5px solid var(--ai);background:0 0;border-radius:50%;width:12px;height:12px;transition:background .18s,box-shadow .18s}.page-picker-tools .page-select-dot.selected{color:var(--ai);background:0 0}.page-select-dot.selected>span{background:var(--ai);box-shadow:inset 0 0 0 3px var(--glass-strong)}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--ink) 18%, transparent) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--ink) 18%, transparent);background-clip:padding-box;border:3px solid #0000;border-radius:999px;min-height:34px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--ink) 32%, transparent);background-clip:padding-box}::-webkit-scrollbar-thumb:active{background:color-mix(in srgb, var(--ai) 46%, transparent);background-clip:padding-box}.note-ai-editor{z-index:2;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--ai) 5%, var(--glass-strong));padding:12px 18px;position:relative}.note-ai-compose{align-items:flex-end;gap:9px;display:flex}.note-ai-compose textarea{resize:vertical;border:1px solid var(--line);min-height:58px;max-height:130px;color:var(--ink);background:var(--paper);font:12.5px/1.5 var(--sans);border-radius:11px;flex:1;padding:9px 11px}.note-ai-compose button,.note-ai-draft-head button{color:var(--ink);background:var(--paper-2);cursor:pointer;border:0;border-radius:9px;padding:8px 11px}.note-ai-compose>button{color:#fff;background:var(--ai)}.note-ai-compose button:disabled,.note-ai-draft-head button:disabled{opacity:.45;cursor:default}.note-ai-error{color:var(--shu);margin-top:8px;font-size:11.5px;display:block}.note-ai-draft{border:1px solid var(--glass-edge);background:var(--paper);border-radius:14px;margin-top:12px;overflow:hidden;box-shadow:0 10px 28px #1b1f2817}.note-ai-draft-head{border-bottom:1px solid var(--line);color:var(--ai);justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;font-size:11px;font-weight:650;display:flex}.note-ai-draft-head>div{gap:7px;display:flex}.note-ai-draft-head button:last-child{color:#fff;background:var(--ai)}.note-ai-preview{max-height:300px;color:var(--ink);padding:18px;font-size:12.5px;line-height:1.65;overflow:auto}@media (max-width:700px){.note-ai-compose{flex-direction:column;align-items:stretch}.note-ai-draft-head{flex-direction:column;align-items:flex-start}}.qcard-front{background:color-mix(in srgb, var(--gold) 9%, var(--glass-strong))}.qcard-back{background:color-mix(in srgb, var(--ai) 11%, var(--glass-strong))}.qcard-edit-btn,.qcard-del{color:var(--ink);background:var(--glass-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chatview .tutor{max-width:900px;height:100%;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;margin:0 auto;overflow:visible}.chatview .tutor-top{padding:18px 28px 4px}.chatview .tutor-top .conv-select{color:var(--ink);background:0 0;border-radius:0;padding:7px 4px;font-weight:550}.chatview .conv-btn{color:var(--ink-soft);box-shadow:none;background:0 0}.chatview .conv-btn-text{width:auto;padding:0 8px;font-size:11.5px}.chatview .conv-btn:hover{color:var(--shu);background:color-mix(in srgb, var(--shu) 8%, transparent)}.conv-delete-confirm{border:1px solid color-mix(in srgb, var(--shu) 22%, var(--glass-edge));color:var(--ink-soft);background:color-mix(in srgb, var(--shu) 7%, var(--glass-soft));border-radius:11px;align-items:center;gap:6px;padding:4px 5px 4px 10px;font-size:11px;display:inline-flex}.conv-delete-confirm button{color:var(--ink-soft);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:7px;padding:5px 8px}.conv-delete-confirm .cancel:hover{color:var(--ink);background:var(--glass-soft)}.conv-delete-confirm .danger{color:#fff;background:var(--shu)}.conv-delete-confirm .danger:hover{filter:brightness(.94)}.chatview .tutor-quick{padding:4px 28px 8px}.chatview .tutor-quick button{color:var(--ink-soft);box-shadow:none;background:0 0;border-radius:0;padding:5px 0}.chatview .tutor-quick button:hover{color:var(--ai)}.chatview .tutor-quick .talker-toggle,.chatview .tutor-quick .talker-toggle.on{color:var(--ink-soft);box-shadow:none;background:0 0;align-items:center;gap:8px;padding:3px 0;display:inline-flex}.talker-mode{font-size:11.5px;transition:color .18s,font-weight .18s}.talker-toggle:not(.on) .talker-mode:first-child,.talker-toggle.on .talker-mode:last-child{color:var(--ink);font-weight:650}.talker-track{background:color-mix(in srgb, var(--ink) 16%, var(--glass-strong));width:38px;height:22px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 10%, transparent);border-radius:999px;flex:none;transition:background .2s;position:relative}.talker-thumb{background:var(--glass-strong);border-radius:50%;width:16px;height:16px;transition:transform .22s cubic-bezier(.2,.75,.25,1),background .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 7px #14181e3d}.talker-toggle.on .talker-track{background:var(--ai)}.talker-toggle.on .talker-thumb{background:#fff;transform:translate(16px)}.chatview .tutor-scroll{gap:24px;padding:18px 28px 28px}.chatview .msg.assistant .bubble{max-width:72ch;color:var(--ink);border:0;border-left:2px solid color-mix(in srgb, var(--ai) 42%, transparent);box-shadow:none;background:0 0;border-radius:0;padding:2px 0 2px 18px}.chatview .msg.user .bubble{color:var(--ink);background:color-mix(in srgb, var(--shu) 11%, var(--glass-strong));border-radius:16px 16px 5px;padding:11px 15px;box-shadow:0 7px 22px #32282612}.chatview .tutor-input{border-color:var(--glass-edge);background:var(--glass-strong);-webkit-backdrop-filter:blur(22px)saturate(130%);margin:0 28px 22px;padding:9px;box-shadow:0 16px 42px #23283221,inset 0 1px #ffffffad}.chatview .tutor-compose textarea{color:var(--ink)}.chatview .tutor-compose textarea::placeholder{color:var(--ink-faint);opacity:1}.tutor-welcome{padding-top:18px}.tutor-orb{width:50px;height:50px;color:var(--shu);background:color-mix(in srgb, var(--shu) 10%, transparent);box-shadow:none;border:0;border-radius:50%}.tutor-welcome h2,.tutor-welcome p{color:var(--ink)}.tutor-welcome p{color:var(--ink-soft)}.tutor-starters{border-top:1px solid color-mix(in srgb, var(--ink) 10%, transparent);gap:0 24px;max-width:560px}.tutor-starters button{min-height:48px;color:var(--ink-soft);border:0;border-bottom:1px solid color-mix(in srgb, var(--ink) 10%, transparent);box-shadow:none;background:0 0;border-radius:0;padding:12px 2px}.tutor-starters button:hover{color:var(--shu);background:0 0;transform:translate(3px)}.ask-dock{color:var(--ink);background:color-mix(in srgb, var(--paper) 92%, var(--glass-strong));border-color:color-mix(in srgb, var(--ink) 14%, var(--glass-edge));-webkit-backdrop-filter:blur(20px)saturate(112%)}.ask-dock:before{opacity:.34}.ask-title{color:var(--ink)}.ask-dock-btn,.ask-mini{color:var(--ink-soft)}.ask-item{background:color-mix(in srgb, var(--paper-2) 94%, var(--glass-soft))}.ask-a,.ask-q{color:var(--ink)}.ask-a{background:color-mix(in srgb, var(--paper) 96%, var(--glass-strong))}.ask-q{background:color-mix(in srgb, var(--shu) 11%, var(--paper))}.ask-dock-compose{background:color-mix(in srgb, var(--paper-2) 94%, var(--glass-soft))}.ask-compose-row textarea{color:var(--ink);background:color-mix(in srgb, var(--paper) 96%, var(--glass-strong))}.ask-compose-row textarea::placeholder{color:var(--ink-faint);opacity:1}@media (max-width:700px){.chatview .tutor{border-radius:0;height:100%;margin:0}.chatview .tutor-top{padding:12px 14px 2px}.chatview .tutor-quick{padding-inline:14px}.chatview .tutor-scroll{padding:12px 16px 20px}.chatview .tutor-input{margin:0 10px 10px}.tutor-starters{grid-template-columns:1fr}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#14161b;--paper-2:#1a1d24;--paper-3:#22262f;--ink:#ecebe3;--ink-soft:#b3b8c2;--ink-faint:#858c98;--shu:#e4634b;--shu-soft:#3a2723;--ai:#8eb6d8;--gold:#c6a25a;--glass:#191d24a8;--glass-strong:#1c2028e6;--glass-soft:#ffffff0f;--glass-edge:#ffffff21}}.qcard>.qcard-edit-trigger,.qcard>.qcard-del{background:var(--glass-strong);opacity:.78;border:0;border-radius:8px;width:25px;height:25px;top:8px;box-shadow:0 4px 12px #1b1f281a}.qcard>.qcard-edit-trigger{z-index:5;color:var(--ink-soft);cursor:pointer;place-items:center;display:grid;position:absolute;left:8px}.qcard>.qcard-del{color:var(--ink-soft);right:8px}.qcard:hover>.qcard-edit-trigger,.qcard:hover>.qcard-del{opacity:1}.qcard-face .qcard-tags{left:40px;right:40px}.qcard-face .qcard-due{top:auto;bottom:10px;left:12px}.qcard-face .qcard-hint{left:auto;right:12px}.attach-page{color:#fff;background:#14181eb3;border-radius:5px;padding:1px 4px;font-size:9px;position:absolute;bottom:3px;left:3px}.tutor-compose{position:relative}.page-picker{z-index:12;border:1px solid var(--glass-edge);width:230px;color:var(--ink);background:var(--glass-strong);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(22px)saturate(130%);border-radius:16px;padding:10px;position:absolute;bottom:calc(100% + 10px);left:0}.page-picker-head,.page-picker-actions{justify-content:space-between;align-items:center;gap:7px;font-size:11px;display:flex}.page-picker button{color:var(--ink);background:var(--paper-2);cursor:pointer;border:0;border-radius:7px;padding:5px 8px}.page-picker button:disabled{opacity:.4;cursor:default}.page-picker-preview{height:190px;color:var(--ink-faint);background:color-mix(in srgb, var(--ink) 5%, transparent);border-radius:10px;place-items:center;margin:9px 0;display:grid;overflow:hidden}.page-picker-preview img{object-fit:contain;width:100%;height:100%}.page-picker-actions{justify-content:flex-end}.page-picker-actions button:last-child{color:#fff;background:var(--ai)}.note-visibility{color:var(--ink-soft);background:color-mix(in srgb, var(--glass-strong) 72%, transparent);box-shadow:inset 0 0 0 1px var(--line);border-radius:9px;align-items:center;gap:3px;padding:3px;font-size:10.5px;display:inline-flex}.note-visibility span{padding:0 5px}.note-visibility button{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 7px;font-size:10.5px}.note-visibility button:hover{color:var(--ink);background:var(--glass-strong)}.postit{min-width:156px;min-height:92px}.postit-bar{flex:0 0 28px;overflow:visible}.postit-grip{flex:1;min-width:8px;margin:0}.postit-mini,.postit-del{flex:0 0 22px}.notesview .board{padding:24px clamp(18px,5vw,54px) 60px}.notebook{flex-direction:column;gap:18px;width:min(820px,100%);margin:0 auto;display:flex}.notebook .mnote,.notebook .mnote:nth-child(n){cursor:default;background:color-mix(in srgb, var(--glass-strong) 94%, transparent);border-left:4px solid color-mix(in srgb, var(--ai) 42%, var(--glass-edge));border-radius:6px 18px 18px 6px;width:100%;margin:0;padding:clamp(20px,4vw,36px);display:block;box-shadow:0 16px 44px #1b1f281f,inset 0 1px #fff9}.mnote-head{border-bottom:1px solid color-mix(in srgb, var(--ink) 9%, transparent);justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;padding-bottom:12px;display:flex}.mnote-head .mnote-page{color:var(--ai);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.mnote-open{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;font-size:11.5px}.mnote-open:hover{color:var(--shu)}.notebook .mnote-text{color:var(--ink);text-align:left;font-size:14px;line-height:1.72}.notebook .mnote-foot{justify-content:flex-end;margin-top:22px;padding-top:10px}.mnote-date{color:var(--ink-faint);font-size:10.5px}.md-table-wrap{border:1px solid var(--line);border-radius:10px;width:100%;margin:12px 0;overflow-x:auto}.md-table-wrap table{border-collapse:collapse;width:100%;font-size:12.5px}.md-table-wrap th,.md-table-wrap td{text-align:left;vertical-align:top;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 11px}.md-table-wrap th{color:var(--ink);background:color-mix(in srgb, var(--ai) 9%, var(--glass-soft));font-weight:650}.md-table-wrap td{color:var(--ink-soft);background:color-mix(in srgb, var(--glass-strong) 72%, transparent)}.md-table-wrap tr:last-child td{border-bottom:0}.md-table-wrap th:last-child,.md-table-wrap td:last-child{border-right:0}@media (max-width:900px){.note-visibility span{display:none}.note-visibility button{padding-inline:5px}}.qcard-face .qcard-tags,.qcard-face .qcard-due{opacity:0;transition:opacity .32s,transform .36s cubic-bezier(.2,.7,.25,1);transform:translateY(-3px)}.qcard-face .qcard-due{color:var(--shu);font-weight:700;transform:translateY(3px)}.qcard:hover .qcard-tags,.qcard:hover .qcard-due{opacity:1;transform:translateY(0)}.qcard-face .qcard-hint{color:var(--ink-faint);opacity:.58;font-size:9.5px}.qcard:hover .qcard-hint{opacity:0}.qcard>.qcard-edit-trigger,.qcard>.qcard-del{opacity:0;-webkit-backdrop-filter:blur(10px);border-radius:50%;width:23px;height:23px;transition:opacity .32s,transform .36s cubic-bezier(.2,.7,.25,1),background .28s;top:-11px;transform:scale(.92);box-shadow:0 4px 12px #1b1f2817}.qcard>.qcard-edit-trigger{color:var(--gold);background:color-mix(in srgb, var(--glass-strong) 58%, transparent);border:1px solid color-mix(in srgb, var(--gold) 65%, transparent);left:-11px}.qcard>.qcard-del{color:var(--shu);background:color-mix(in srgb, var(--glass-strong) 58%, transparent);border:1px solid color-mix(in srgb, var(--shu) 62%, transparent);right:-11px}.qcard>.qcard-edit-trigger svg,.qcard>.qcard-del svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.qcard:hover>.qcard-edit-trigger,.qcard:hover>.qcard-del{opacity:1;transform:scale(1)}.qcard>.qcard-edit-trigger:hover{background:color-mix(in srgb, var(--gold) 10%, var(--glass-strong))}.qcard>.qcard-del:hover{background:color-mix(in srgb, var(--shu) 9%, var(--glass-strong))}.qcard-inner{transition-duration:.4s;transition-timing-function:cubic-bezier(.2,.7,.2,1)}.qcard-face{transition-duration:.4s}.qcard:hover .qcard-inner{transform:translateY(-3px)}.qcard.flipped:hover .qcard-inner{transform:rotateY(180deg)translateY(-3px)}.card-editor-backdrop{z-index:60;-webkit-backdrop-filter:blur(14px);background:#11151c57;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.card-editor{width:min(580px,100%);color:var(--ink);background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);border-radius:22px;flex-direction:column;gap:14px;padding:22px;display:flex}.card-editor-head{font-family:var(--display);justify-content:space-between;align-items:center;font-size:17px;font-weight:600;display:flex}.card-editor-head button{width:28px;height:28px;color:var(--ink-soft);background:var(--paper-2);cursor:pointer;border:0;border-radius:50%}.card-editor label{color:var(--ink-soft);letter-spacing:.04em;flex-direction:column;gap:6px;font-size:11px;font-weight:650;display:flex}.card-editor input,.card-editor textarea,.card-editor select{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--paper);font:13px/1.5 var(--sans);border-radius:10px;padding:10px 11px}.card-editor textarea{resize:vertical;min-height:150px}.card-editor-meta{grid-template-columns:1fr 110px;gap:10px;display:grid}.card-editor-save{color:#fff;background:var(--ai);cursor:pointer;border:0;border-radius:10px;align-self:flex-end;padding:9px 16px}@media (hover:none){.qcard>.qcard-edit-trigger,.qcard>.qcard-del{opacity:.78;transform:scale(.9)}}.mnote-head>div:first-child{min-width:0}.mnote-head h3{color:var(--ink);font-family:var(--display);margin:5px 0 0;font-size:18px;font-weight:580}.mnote-kind{color:var(--ai);letter-spacing:.1em;text-transform:uppercase;font-size:9.5px;font-weight:700}.mnote-actions{flex:none;gap:8px;display:flex}.mnote-preview{-webkit-line-clamp:4;color:var(--ink-soft);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.note-viewer-backdrop{z-index:70;-webkit-backdrop-filter:blur(16px);background:#11151c61;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.note-viewer{width:min(900px,100%);height:min(820px,100vh - 44px);color:var(--ink);background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);border-radius:24px;flex-direction:column;display:flex;overflow:hidden}.note-viewer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 26px 17px;display:flex}.note-viewer-head>div:first-child{flex:1;min-width:0}.note-viewer-kicker{color:var(--ai);letter-spacing:.12em;text-transform:uppercase;font-size:9.5px;font-weight:700}.note-viewer h2{font-family:var(--display);margin:5px 0 0;font-size:clamp(21px,3vw,28px);font-weight:580}.note-viewer-head input{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);font:580 24px/1.3 var(--display);background:0 0;margin-top:6px;padding:5px 0}.note-viewer-actions{align-items:center;gap:7px;display:flex}.note-viewer-actions button{color:var(--ink-soft);background:var(--paper-2);cursor:pointer;border:0;border-radius:9px;padding:7px 10px}.note-viewer-actions .note-viewer-close{border-radius:50%;width:31px;height:31px;padding:0;font-size:18px}.note-viewer-body{flex:1;padding:clamp(24px,5vw,52px);overflow:auto}.note-viewer-body>.md{width:min(720px,100%);margin:0 auto;font-size:14.5px;line-height:1.75}.note-viewer-body .md h1,.note-viewer-body .md h2,.note-viewer-body .md h3{font-family:var(--display);margin:1.5em 0 .6em;line-height:1.3}.note-viewer-body .md h1:first-child,.note-viewer-body .md h2:first-child,.note-viewer-body .md h3:first-child{margin-top:0}.note-viewer-body textarea{resize:none;width:100%;height:100%;min-height:420px;color:var(--ink);font:13.5px/1.65 var(--mono);background:0 0;border:0;outline:0;padding:0}@media (max-width:700px){.note-viewer-backdrop{padding:0}.note-viewer{border-radius:0;height:100dvh}.note-viewer-head{flex-direction:column;padding:16px}.note-viewer-actions{width:100%}.note-viewer-actions .note-viewer-close{margin-left:auto}.mnote-head{align-items:flex-start}.mnote-actions{flex-direction:column}}.mnote-delete{width:28px;height:28px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-size:17px;display:grid}.mnote-delete:hover{color:#fff;background:var(--shu)}.mnote-confirm{color:var(--ink);background:color-mix(in srgb, var(--shu) 8%, var(--glass-soft));border-radius:11px;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:12px 14px;font-size:12px;display:flex}.mnote-confirm>div{gap:7px;display:flex}.mnote-confirm button{color:var(--ink);background:var(--paper-2);cursor:pointer;border:0;border-radius:8px;padding:6px 10px}.mnote-confirm button:first-child{color:#fff;background:var(--shu)}.postit.confirming-delete{min-height:148px}.postit.confirming-delete textarea{min-height:44px}.postit.confirming-delete .postit-confirm{flex:none}.manual-card-form{border:1px solid var(--glass-edge);background:var(--glass-soft);border-radius:16px;padding:14px;box-shadow:0 10px 28px #1b1f2814}.note-eye{width:32px;height:32px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;padding:0;transition:color .16s,background .16s;display:grid}.note-eye:hover{color:var(--ai);background:color-mix(in srgb, var(--ai) 9%, transparent)}.note-eye svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.note-eye[aria-pressed=true]{color:var(--ink-faint)}.note-viewer{background:var(--glass);-webkit-backdrop-filter:blur(24px)saturate(135%)}.note-viewer-body{background:var(--paper);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--ink) 5%, transparent)}.note-viewer-body>.md{color:var(--ink)}.notebook .mnote,.notebook .mnote:nth-child(n){background:var(--glass);padding:0;overflow:hidden}.notebook .mnote-head{background:color-mix(in srgb, var(--glass-soft) 82%, transparent);-webkit-backdrop-filter:blur(16px);margin:0;padding:18px 22px 14px}.notebook .mnote-text{color:var(--ink);background:var(--paper);margin:0;padding:20px 22px}.notebook .mnote-foot{background:var(--paper);margin:0;padding:9px 22px 12px}.notebook .mnote-confirm{border-radius:0;margin:0}.postit-del svg,.mnote-delete svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.qcard>.qcard-edit-trigger,.qcard>.qcard-del,.qcard:hover>.qcard-edit-trigger,.qcard:hover>.qcard-del,.qcard>.qcard-edit-trigger,.qcard>.qcard-del{transition:opacity .28s,background .22s,border-color .22s;transform:none}.notebook .mnote:hover,.notebook .mnote:nth-child(n):hover{transform:translateY(-1px);box-shadow:0 14px 34px #1b1f2821,inset 0 1px #ffffff9e}.notesview .board{padding-inline:clamp(18px,4vw,52px)}.notebook{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px;width:min(1180px,100%);display:grid}.notebook .mnote,.notebook .mnote:nth-child(n){border-left-width:1px;border-radius:16px;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;height:100%;min-height:270px;display:grid}.notebook .mnote-head{align-items:flex-start;min-height:82px;padding:16px 18px 13px}.notebook .mnote-head h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:16px;line-height:1.3;display:-webkit-box;overflow:hidden}.notebook .mnote-text{-webkit-line-clamp:6;padding:18px;font-size:13.5px;line-height:1.65}.notebook .mnote-foot{border-top:1px solid color-mix(in srgb, var(--ink) 6%, transparent);justify-content:space-between;align-items:center;min-height:43px;padding:8px 14px 10px 18px}.mnote-actions{align-items:center;gap:3px}.mnote-read{white-space:nowrap;border-radius:7px;padding:5px 7px}.mnote-read:hover{background:color-mix(in srgb, var(--ai) 8%, transparent)}.mnote-pdf{color:var(--ai);background:color-mix(in srgb, var(--ai) 8%, transparent);cursor:pointer;font:600 10.5px/1 var(--sans);border:0;border-radius:8px;align-items:center;gap:6px;padding:5px 7px;display:inline-flex}.mnote-pdf:hover{background:color-mix(in srgb, var(--ai) 14%, transparent)}.mnote-pdf svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}@media (max-width:820px){.notebook{grid-template-columns:1fr}.notebook .mnote{min-height:250px}}.estante{background-image:radial-gradient(circle, color-mix(in srgb, var(--ink) 10%, transparent) .75px, transparent .9px);background-size:24px 24px}.estante-head,.estante .grid,.estante .empty{z-index:1;position:relative}.mobile-card-home{display:none}.pwa-install{position:relative}.pwa-ios-help{z-index:80;border:1px solid var(--line);width:260px;color:var(--ink);background:var(--paper);box-shadow:var(--shadow);border-radius:10px;padding:11px 13px;font-size:12px;line-height:1.45;position:absolute;top:calc(100% + 9px);right:0}.notification-control{position:relative}.notification-bell{border:1px solid var(--line);width:34px;height:34px;color:var(--ink-soft);background:var(--paper-2);cursor:pointer;border-radius:10px;place-items:center;padding:0;font-size:22px;display:grid}.notification-bell.on{color:var(--shu);background:color-mix(in srgb, var(--shu) 9%, var(--paper))}.notification-popover{z-index:120;border:1px solid var(--glass-edge);width:min(330px,100vw - 24px);color:var(--ink);background:color-mix(in srgb, var(--paper) 90%, transparent);-webkit-backdrop-filter:blur(24px)saturate(130%);border-radius:17px;gap:12px;padding:18px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 24px 65px #14161a38}.notification-head{justify-content:space-between;align-items:center;display:flex}.notification-head button{color:var(--ink-soft);background:0 0;border:0;font-size:20px}.notification-popover p{color:var(--ink-soft);margin:-4px 0 2px;font-size:11.5px;line-height:1.5}.notification-popover label{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.notification-popover select{border:1px solid var(--line);color:var(--ink);background:var(--paper-2);border-radius:9px;padding:7px 9px}.notification-popover .notification-check{justify-content:flex-start;line-height:1.4}.notification-popover small{color:var(--gold)}.notification-save,.notification-update{min-height:39px;color:var(--paper);background:var(--ink);border:0;border-radius:10px;font-weight:650}.notification-update{color:var(--ink);background:var(--paper-2)}@media (max-width:700px){html,body,.wrap,.app{height:100%;min-height:100%}html{background:var(--paper)}.topbar{height:calc(50px + env(safe-area-inset-top));flex-basis:calc(50px + env(safe-area-inset-top));padding:calc(7px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) 7px calc(12px + env(safe-area-inset-left));gap:8px}.brand .name,.fullscreen-toggle,.reader-header-settings{display:none}.brand .mark{padding:3px 5px;font-size:18px}.pwa-install-button{padding:6px 9px;font-size:11px}.auth-signout{top:calc(8px + env(safe-area-inset-top));right:calc(54px + env(safe-area-inset-right));border-color:color-mix(in srgb, var(--ink) 10%, transparent);width:34px;height:34px;color:var(--ink-soft);background:color-mix(in srgb, var(--paper) 76%, transparent);-webkit-backdrop-filter:blur(16px);border-radius:10px;place-items:center;padding:0;font-size:0;display:grid;bottom:auto;left:auto;box-shadow:0 5px 18px #14161a1a}.auth-signout:before{content:"↪";font-size:17px;line-height:1;display:block}.reader-bar{flex-basis:50px;gap:7px;height:50px;padding:7px 10px}.reader-bar .back{max-width:30px;font-size:0;overflow:hidden}.reader-bar .back:first-letter{font-size:25px}.booktitle{max-width:28vw;font-size:13px}.timeline{min-width:34px;margin:0}.reader-actions{gap:5px}.reader-actions .icon-btn{justify-content:center;width:36px;height:36px;padding:0;font-size:0}.reader-actions .icon-btn svg{width:18px;height:18px}.note-eye{width:34px;height:34px}.reader-main{padding-bottom:calc(78px + env(safe-area-inset-bottom));flex-direction:row;position:relative}.rail{z-index:60;left:50%;right:auto;bottom:calc(8px + env(safe-area-inset-bottom));border:1px solid color-mix(in srgb, var(--ink) 12%, var(--glass-edge));background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(24px)saturate(140%);transform-origin:bottom;border-radius:22px;flex-direction:row;justify-content:space-around;align-items:center;gap:4px;width:min(100% - 20px,430px);height:62px;padding:5px;transition:transform .22s,opacity .18s;position:absolute;transform:translate(-50%);box-shadow:0 14px 38px #1215192e,inset 0 1px #ffffff8c}.rail:before{display:none}.rail button{z-index:1;border-radius:17px;flex-direction:column;flex:1;gap:2px;width:auto;height:50px;padding:4px;transition:color .2s,background .2s,transform .2s,box-shadow .2s;position:relative}.rail button:active{transform:scale(.94)}.rail button[aria-pressed=true]{color:var(--paper);background:var(--ink);box-shadow:0 7px 18px color-mix(in srgb, var(--ink) 24%, transparent)}.rail button .k{font-size:18px;line-height:1.05}.rail button .l{letter-spacing:.025em;font-size:8.5px;font-weight:700}.rail.keyboard-hidden{opacity:0;pointer-events:none;transform:translate(-50%)translateY(calc(100% + 24px))}.canvas,.mainarea,.cards-full{width:100%}.canvas-scroll{align-items:start;padding:12px 7px 18px}.spread{gap:7px}.nav-arrow{opacity:.72;width:38px;height:38px;top:auto;bottom:12px;transform:none}.nav-arrow:active{transform:scale(.92)}.side{z-index:55;inset:0 0 calc(78px + env(safe-area-inset-bottom));border:0;max-height:none;position:absolute}.statusbar{display:none}.cards-full-bar{min-height:50px;padding:10px 14px}.cards-full-bar .seg,.cards-full-bar>.icon-btn,.cards-full-bar>.review-start,.cards-full-bar>.spacer{display:none}.cards-full-body{gap:14px;padding:14px 14px 28px}.mobile-card-home{gap:14px;display:grid}.mobile-card-summary{border:1px solid var(--glass-edge);background:var(--glass-strong);border-radius:18px;gap:5px;padding:20px;display:grid;box-shadow:0 12px 30px #1b1f2814}.mobile-card-summary span{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:750}.mobile-card-summary strong{font-family:var(--display);font-size:25px;font-weight:560}.mobile-card-summary small{color:var(--ink-soft)}.mobile-card-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.mobile-card-actions button,.mobile-library-toggle{border:1px solid var(--line);min-height:48px;color:var(--ink);background:var(--glass-strong);border-radius:12px;padding:10px 12px;font-weight:650}.mobile-card-actions button:first-child{grid-column:1/-1}.mobile-card-actions .primary{border-color:var(--ink);color:var(--paper);background:var(--ink)}.mobile-card-actions button:disabled{opacity:.4}.mobile-library-toggle{width:100%;min-height:40px;color:var(--ink-soft);background:0 0;font-size:12px}.cards-full-body:not(.library-open)>.card-filters,.cards-full-body:not(.library-open)>.cards-grid,.cards-full-body:not(.library-open)>.side-empty{display:none}.card-form.horizontal{border:1px solid var(--line);background:var(--glass-soft);border-radius:14px;grid-template-columns:1fr;padding:14px;display:grid}.card-form.horizontal input,.card-form.horizontal textarea,.card-form.horizontal .card-category-input{width:100%;min-width:0}.cards-grid{grid-template-columns:1fr;gap:14px}.qcard{aspect-ratio:3/2}.qcard>.qcard-edit-trigger,.qcard>.qcard-del{pointer-events:none;opacity:0!important;transform:scale(.86)!important}.qcard:focus-within>.qcard-edit-trigger,.qcard:focus-within>.qcard-del{pointer-events:auto;opacity:1!important;transform:scale(1)!important}.chatview .tutor-top{padding:9px 12px 2px}.chatview .tutor-quick{scrollbar-width:none;flex-wrap:nowrap;padding:5px 12px 8px;overflow-x:auto}.chatview .tutor-quick::-webkit-scrollbar{display:none}.chatview .tutor-quick button{flex:none}.chatview .talker-hint{display:none}.chatview .tutor-scroll{gap:16px;padding:10px 13px 18px}.chatview .msg{max-width:94%}.chatview .tutor-input{background:color-mix(in srgb, var(--paper) 94%, transparent);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:0;margin:0;padding:8px 10px 10px;position:sticky;bottom:0}.chatview .tutor-compose textarea{min-height:46px;padding:10px 7px;font-size:16px}.chatview .attach-btn{text-overflow:ellipsis;max-width:72px;padding:8px 6px;overflow:hidden}.chatview .send-btn{min-height:42px;padding:8px 10px}.tutor-welcome{padding:12px 2px}.tutor-orb{width:50px;height:50px}.tutor-starters{scroll-snap-type:x mandatory;gap:8px;margin-top:16px;display:flex;overflow-x:auto}.tutor-starters button{scroll-snap-align:start;min-width:78%}}@media (max-width:820px){html{background:var(--paper)}.auth-shell{min-height:100dvh;padding:calc(78px + env(safe-area-inset-top)) calc(18px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(18px + env(safe-area-inset-left));background-color:#292923;background-image:radial-gradient(#ffffff29 .8px,#0000 1px),radial-gradient(75% 58% at 50% 45%,#c4a35d24,#0000 72%);background-size:22px 22px,auto;place-items:center;display:grid;position:relative;overflow:hidden}.auth-hero{height:auto;min-height:0;padding:calc(14px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) 20px calc(20px + env(safe-area-inset-left));color:#f5f1e8;pointer-events:none;background:0 0;position:absolute;inset:0}.auth-hero:after,.auth-promise,.auth-features{display:none}.auth-brand{align-self:flex-start;gap:10px;font-size:20px}.auth-brand .mark{background:#ffffff14;border-radius:10px;width:36px;height:36px}.auth-panel{z-index:2;background:0 0;width:100%;min-height:0;padding:0;position:relative}.auth-card{color:#252520;-webkit-backdrop-filter:blur(22px)saturate(115%);background:#f8f6efdb;border:1px solid #ffffff40;border-radius:22px;gap:16px;width:min(390px,100%);margin:auto;padding:25px 21px 21px;box-shadow:0 24px 70px #00000047,inset 0 1px #ffffffb8}.auth-form-head{margin-bottom:2px}.auth-form-head .auth-eyebrow{color:#8a6b2e;margin-bottom:9px;font-size:9px}.auth-form-head h2{color:#252520;font-size:28px}.auth-form-head p{color:#66665f;margin-top:7px;font-size:13px}.auth-card label{color:#66665f;gap:7px}.auth-card input{color:#252520;background:#ffffff8f;border:1px solid #25252021;border-radius:11px;padding:13px 14px;font-size:16px}.auth-card input::placeholder{color:#8b8a82}.auth-shell{background-color:#24241f;background-image:radial-gradient(circle,#fff3 1px,#0000 1.15px),radial-gradient(78% 60% at 50% 48%,#b7975221,#0000 70%);background-size:21px 21px,auto;place-items:center}.auth-hero{padding:0;display:block}.auth-brand{top:calc(15px + env(safe-area-inset-top));left:calc(18px + env(safe-area-inset-left));color:#f6f2e8;align-items:center;font-size:19px;display:flex;position:absolute}.auth-brand .mark{color:#f6f2e8;background:#ffffff14;border-color:#ffffff57}.auth-panel{place-items:center;display:grid}.auth-card{color:#f7f3e9;-webkit-backdrop-filter:blur(28px)saturate(145%);background:linear-gradient(145deg,#ffffff21,#fff1);border-color:#ffffff38;box-shadow:0 28px 80px #00000057,inset 0 1px #fff3}.auth-form-head .auth-eyebrow{color:#cfb36f}.auth-form-head h2{color:#f7f3e9}.auth-form-head p,.auth-card label{color:#f7f3e9ad}.auth-card input{color:#252520;-webkit-text-fill-color:#252520;background:#faf8f1eb;border-color:#ffffff57;box-shadow:inset 0 0 0 1000px #faf8f1eb}.auth-card input::placeholder{color:#77766f;-webkit-text-fill-color:#77766f}.auth-card input:focus{border-color:#ffffffb8;box-shadow:inset 0 0 0 1000px #fff,0 0 0 3px #ffffff1a}.auth-card input:-webkit-autofill{-webkit-text-fill-color:#252520;caret-color:#252520;transition:background-color 9999s ease-out}.auth-card input:-webkit-autofill:hover{-webkit-text-fill-color:#252520;caret-color:#252520;transition:background-color 9999s ease-out}.auth-card input:-webkit-autofill:focus{-webkit-text-fill-color:#252520;caret-color:#252520;transition:background-color 9999s ease-out}.auth-card .primary{color:#24241f;background:#f4efe3;box-shadow:0 10px 28px #0003}.auth-card .auth-mode{color:#f7f3e9c2}.auth-card .auth-separator{background:#ffffff21}.auth-message{color:#ffd2c8;background:#c8452f29}}@media (max-width:700px){.chatview{background:var(--paper)}.chatview .tutor-top{border:0;min-height:45px;padding:8px 12px 4px}.chatview .conv-select{background:color-mix(in srgb, var(--paper-2) 72%, transparent);height:36px;box-shadow:inset 0 0 0 1px var(--line);border:0;border-radius:11px}.chatview .conv-btn-text{background:0 0;border:0;width:auto;height:34px;padding:0 9px;font-size:11px}.chatview .tutor-quick{border:0;justify-content:center;padding:3px 12px 7px;overflow:visible}.chatview .talker-toggle{border:1px solid var(--line);background:0 0;min-height:30px;padding:4px 9px}.chatview .tutor-scroll{padding:12px 14px 20px}.chatview .tutor-welcome{text-align:left;align-items:flex-start;padding:22px 4px 10px}.chatview .tutor-orb{display:none}.chatview .tutor-eyebrow{margin-top:0}.chatview .tutor-welcome h2{margin-top:5px;font-size:26px}.chatview .tutor-welcome p{font-size:13px}.chatview .tutor-starters{grid-template-columns:1fr 1fr;gap:7px;width:calc(100% + 4px);margin-top:16px;display:grid;overflow:visible}.chatview .tutor-starters button{border:1px solid var(--line);background:color-mix(in srgb, var(--paper-2) 58%, transparent);min-width:0;min-height:52px;box-shadow:none;text-align:left;border-radius:12px;padding:10px;font-size:11.5px}.chatview .msg .bubble{box-shadow:none;border-radius:15px}.chatview .msg.assistant .bubble{border-color:var(--line);background:color-mix(in srgb, var(--paper-2) 54%, transparent)}.chatview .msg.user .bubble{background:var(--ink)}.chatview .tutor-input{border-top:1px solid var(--line);background:color-mix(in srgb, var(--paper) 94%, transparent);box-shadow:0 -8px 20px color-mix(in srgb, var(--paper) 72%, transparent)}.chatview .tutor-compose{border:1px solid var(--line);background:color-mix(in srgb, var(--paper-2) 62%, transparent);border-radius:16px;align-items:center;gap:5px;padding:3px}.chatview .tutor-compose textarea{background:0 0;min-height:44px;padding:10px 7px}.chatview .attach-btn{background:0 0;border:0}.chatview .send-btn{background:var(--ink);border-radius:12px;min-width:44px;min-height:38px}}.notebook{grid-template-columns:minmax(0,1fr);width:min(780px,100%);margin:0}.notebook .mnote,.notebook .mnote:nth-child(n){min-height:250px}.note-viewer-head{background:color-mix(in srgb, var(--paper) 91%, var(--glass-strong));-webkit-backdrop-filter:blur(14px)saturate(108%)}.note-viewer-body.editing{padding:0;overflow:hidden}.note-rich-editor{flex-direction:column;height:100%;min-height:0;display:flex}.note-editor-toolbar{border-bottom:1px solid var(--line);background:var(--paper-2);flex-wrap:wrap;flex:none;align-items:center;gap:4px;padding:9px 12px;display:flex}.note-editor-toolbar button{min-width:30px;height:29px;color:var(--ink-soft);cursor:pointer;font:12px var(--sans);background:0 0;border:1px solid #0000;border-radius:7px;padding:0 8px}.note-editor-toolbar button:hover{color:var(--ink);border-color:var(--line);background:var(--paper)}.note-toolbar-sep{background:var(--line);width:1px;height:18px;margin:0 3px}.note-editor-workspace{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;display:grid}.note-viewer-body .note-editor-workspace>textarea{resize:none;border:0;border-right:1px solid var(--line);width:100%;height:100%;min-height:0;color:var(--ink);background:var(--paper);font:13px/1.7 var(--mono);outline:0;padding:24px}.note-editor-preview{min-width:0;color:var(--ink);background:color-mix(in srgb, var(--paper-2) 55%, var(--paper));padding:24px;overflow:auto}.note-editor-preview>.md{font-size:13.5px;line-height:1.7}.note-editor-label{color:var(--ink-faint);letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px;font-size:9.5px;font-weight:700;display:block}.notes-layout-toggle{border:1px solid var(--line);background:color-mix(in srgb, var(--glass-strong) 72%, transparent);border-radius:999px;gap:3px;padding:3px;display:inline-flex}.notes-layout-toggle button{color:var(--ink-faint);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 10px;font-size:10.5px}.notes-layout-toggle button.active{color:var(--ink);background:var(--glass-strong);box-shadow:0 2px 7px #1b1e261a}.notesview .board{min-width:0;overflow-x:hidden}.notes-notebook-view{box-sizing:border-box;place-items:center;width:100%;min-width:0;min-height:min(650px,100vh - 190px);padding:36px clamp(46px,9vw,130px) 80px;display:grid;position:relative;overflow:hidden}.notes-notebook-paper{box-sizing:border-box;border:1px solid var(--glass-edge);width:min(820px,100%);min-height:min(520px,62vh);color:var(--ink);background:color-mix(in srgb, var(--paper) 92%, var(--glass-strong));border-radius:8px 22px 22px 8px;padding:clamp(26px,5vw,56px) clamp(26px,8vw,108px) clamp(26px,5vw,56px) clamp(26px,5vw,56px);position:relative;box-shadow:0 18px 48px #1b1f2824,inset 0 1px #ffffff80}.notes-notebook-kicker{color:var(--ai);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:700}.notes-notebook-paper h2{font-family:var(--display);margin:10px 0 26px;font-size:clamp(24px,3.2vw,34px);font-weight:580;line-height:1.2}.notes-notebook-content{color:var(--ink-soft);font-size:15px;line-height:1.8}.notes-notebook-content .md>:first-child{margin-top:0}.notes-notebook-content .md-table-wrap{margin:14px 0}.notes-notebook-actions{gap:5px;margin:0;display:flex;position:absolute;top:18px;right:18px}.notes-notebook-actions button{border:1px solid var(--line);color:var(--ink-soft);background:var(--glass-soft);font:inherit;cursor:pointer;border-radius:999px;padding:8px 12px;font-size:11px}.notes-notebook-actions button:hover{color:var(--ink);border-color:var(--ai)}.notes-notebook-actions .notes-notebook-icon{border-radius:50%;place-items:center;width:32px;height:32px;padding:0;display:grid}.notes-notebook-actions .notes-notebook-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.notes-notebook-actions .notes-notebook-icon.danger:hover{color:var(--shu);border-color:var(--shu)}.notes-notebook-arrow{z-index:2;border:1px solid var(--glass-edge);width:42px;height:42px;color:var(--ink-soft);background:var(--glass-strong);cursor:pointer;border-radius:50%;font-size:27px;line-height:1;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 8px 24px #1b1f281f}.notes-notebook-arrow.left{left:clamp(12px,4vw,56px)}.notes-notebook-arrow.right{right:clamp(12px,4vw,56px)}.notes-notebook-arrow:hover:not(:disabled){color:var(--ink);border-color:var(--ai);transform:translateY(-50%)scale(1.05)}.notes-notebook-arrow:disabled{cursor:default;opacity:.28}.notes-page-thumbnail{border:1px solid var(--glass-edge);background:var(--glass-strong);cursor:pointer;border-radius:10px;width:148px;padding:5px;transition:transform .2s,box-shadow .2s;position:absolute;top:18px;left:18px;box-shadow:0 8px 22px #1b1f2826}.notes-page-thumbnail:hover{z-index:4;transform:translateY(-2px)scale(1.06);box-shadow:0 16px 34px #1b1f283d}.notes-page-thumbnail img{object-fit:cover;object-position:top;background:var(--paper-2);border-radius:6px;width:100%;height:178px;display:block}.notes-page-thumbnail span{height:178px;color:var(--ink-faint);text-align:center;place-items:center;font-size:9px;display:grid}.notes-page-thumbnail small{color:var(--ink-faint);text-align:right;padding:5px 2px 1px;font-size:9px;display:block}.notes-notebook-confirm{color:var(--ink-soft);background:color-mix(in srgb, var(--shu) 8%, var(--glass-soft));border-radius:10px;justify-content:flex-end;align-items:center;gap:7px;margin-top:14px;padding:9px 11px;font-size:11px;display:flex}.notes-notebook-confirm button{color:var(--ink);background:var(--paper-2);font:inherit;cursor:pointer;border:0;border-radius:7px;padding:6px 9px;font-size:11px}.notes-notebook-confirm button:first-of-type{color:#fff;background:var(--shu)}.notes-notebook-counter{color:var(--ink-faint);font-size:10px;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.notesview .notebook{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;width:min(1160px,100%);margin:0 auto;display:grid}.notesview .notebook .mnote,.notesview .notebook .mnote:nth-child(n){border:1px solid var(--glass-edge);border-top:3px solid color-mix(in srgb, var(--ai) 62%, var(--glass-edge));background:color-mix(in srgb, var(--glass-strong) 90%, transparent);border-radius:16px;flex-direction:column;width:auto;min-height:238px;margin:0;display:flex;box-shadow:0 12px 30px #1b1f281a,inset 0 1px #ffffff8a}.notesview .notebook .mnote:hover{transform:translateY(-4px)}.notesview .notebook .mnote-head{min-height:61px;margin:0;padding:16px 17px 12px}.notesview .notebook .mnote-head h3{font-size:16px;line-height:1.25}.notesview .notebook .mnote-text{background:color-mix(in srgb, var(--paper) 62%, transparent);flex:1;min-height:92px;max-height:170px;padding:15px 17px;font-size:13px;line-height:1.6;overflow:hidden}.notesview .notebook .mnote-foot{margin-top:auto;padding:10px 17px 13px}.notesview .notebook .mnote-confirm{border-radius:0 0 15px 15px;margin:0}.note-viewer-body.editing{background:var(--paper-2)}.note-editor-toolbar{z-index:2;background:color-mix(in srgb, var(--glass-strong) 90%, transparent);-webkit-backdrop-filter:blur(14px);padding:10px 16px;position:sticky;top:0}.note-editor-toolbar button{background:color-mix(in srgb, var(--paper-2) 52%, transparent);border-radius:9px}.note-editor-workspace{background:var(--line);gap:1px}.note-viewer-body .note-editor-workspace>textarea{background:var(--paper);font:14px/1.75 var(--sans);padding:28px clamp(18px,4vw,38px)}.note-editor-preview{background:color-mix(in srgb, var(--paper-2) 72%, var(--paper));padding:28px clamp(18px,4vw,38px)}@media (max-width:980px){.notesview .notebook{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.notesview .notebook{grid-template-columns:1fr;gap:13px}.notesview .notebook .mnote{min-height:220px}.notesview .content-bar{flex-wrap:wrap;gap:7px}.notes-layout-toggle{margin-left:auto}.notes-notebook-view{min-height:calc(100vh - 180px);padding:20px 14px 70px}.notes-notebook-paper{min-height:520px;padding:58px 22px 26px}.notes-notebook-arrow{top:auto;bottom:76px;transform:none}.notes-notebook-arrow.left{left:22px}.notes-notebook-arrow.right{right:22px}.notes-notebook-arrow:hover:not(:disabled){transform:scale(1.05)}.notes-page-thumbnail{width:108px;top:12px;left:14px}.notes-page-thumbnail:hover{transform:translateY(-2px)scale(1.04)}.notes-page-thumbnail img,.notes-page-thumbnail span{height:96px}.notes-notebook-counter{bottom:84px}}@media (max-width:720px){.note-editor-workspace{grid-template-rows:minmax(220px,1fr) minmax(220px,1fr);grid-template-columns:1fr;overflow:auto}.note-viewer-body .note-editor-workspace>textarea{border-right:0;border-bottom:1px solid var(--line)}}.canvas-scroll,:root[data-theme=light] .canvas-scroll,:root[data-theme=dark] .canvas-scroll,:root:not([data-theme]) .canvas-scroll{background-color:var(--paper-2);background-image:linear-gradient(color-mix(in srgb, var(--ink) 6%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--ink) 6%, transparent) 1px, transparent 1px), linear-gradient(145deg, color-mix(in srgb, var(--paper-2) 88%, var(--paper)), var(--paper));background-position:50%;background-size:32px 32px,32px 32px,100% 100%}.qcard:hover .qcard-face{border-color:color-mix(in srgb, var(--shu) 18%, var(--glass-edge));box-shadow:0 18px 38px #23283224, 0 0 30px color-mix(in srgb, var(--shu) 13%, transparent), 0 0 8px color-mix(in srgb, var(--shu) 8%, transparent), inset 0 1px 0 #fff9}.qcard .qcard-jp.latin,.qcard:hover .qcard-jp.latin{white-space:normal;text-wrap:pretty;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--ink) 17%, transparent) transparent;width:100%;max-height:calc(100% - 44px);padding:2px 9px 5px;font-size:clamp(12px,.95vw,13.5px);line-height:1.38;overflow:hidden auto}.qcard .qcard-jp.latin.long,.qcard:hover .qcard-jp.latin.long{font-size:clamp(11px,.86vw,12.25px);line-height:1.35}.qcard .qcard-jp.latin::-webkit-scrollbar{width:5px}.qcard .qcard-jp.latin::-webkit-scrollbar-track{background:0 0}.qcard .qcard-jp.latin::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--ink) 17%, transparent);border-radius:999px}.auth-shell{min-height:100vh;color:var(--ink);background:var(--paper);grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);display:grid}.auth-hero{color:#f5f1e8;background-color:#252520;background-image:radial-gradient(#ffffff21 1px,#0000 1.15px),radial-gradient(62% 54% at 82% 82%,#9c7a352b,#0000 72%),linear-gradient(145deg,#20211e,#35342d);background-size:24px 24px,auto,auto;flex-direction:column;justify-content:space-between;min-height:100vh;padding:clamp(34px,5vw,72px);display:flex;position:relative;overflow:hidden}.auth-hero:after{content:"L";color:#ffffff09;font-family:var(--display);pointer-events:none;font-size:min(58vw,620px);line-height:1;position:absolute;bottom:-14vh;right:-4vw}.auth-brand{z-index:1;font-family:var(--display);letter-spacing:-.02em;align-items:center;gap:13px;font-size:24px;display:flex;position:relative}.auth-brand .mark{background:var(--paper) var(--brand-icon) center/cover no-repeat;border:1px solid #ffffff38;border-radius:12px;flex:0 0 44px;width:44px;height:44px;display:block;box-shadow:0 8px 24px #0000002e}.auth-promise{z-index:1;max-width:680px;position:relative}.auth-kicker,.auth-eyebrow{color:var(--gold);letter-spacing:.17em;text-transform:uppercase;margin-bottom:18px;font-size:11px;font-weight:750;display:block}.auth-promise h1{max-width:720px;font-family:var(--display);letter-spacing:-.045em;margin:0;font-size:clamp(44px,5.2vw,78px);font-weight:520;line-height:1.03}.auth-promise p{color:#f7f2e8bd;max-width:590px;margin:26px 0 0;font-size:clamp(15px,1.25vw,18px);line-height:1.7}.auth-features{z-index:1;color:#f7f2e89e;letter-spacing:.04em;flex-wrap:wrap;gap:10px 24px;font-size:11px;display:flex;position:relative}.auth-features span:before{content:"·";color:#c4a35d;margin-right:8px}.auth-panel{background:linear-gradient(150deg, color-mix(in srgb, var(--paper) 96%, white), var(--paper-2));place-items:center;min-height:100vh;padding:clamp(30px,6vw,86px);display:grid}.auth-card{gap:20px;width:min(430px,100%);display:grid}.auth-form-head{margin-bottom:10px}.auth-form-head h2{font-family:var(--display);letter-spacing:-.035em;margin:0;font-size:clamp(30px,3vw,42px);font-weight:550;line-height:1.14}.auth-form-head p{color:var(--ink-soft);margin:12px 0 0;font-size:14px;line-height:1.6}.auth-card label{color:var(--ink-soft);gap:8px;font-size:12px;font-weight:650;display:grid}.auth-card input{border:0;border-bottom:1px solid color-mix(in srgb, var(--ink) 22%, transparent);width:100%;color:var(--ink);box-shadow:none;font:inherit;background:0 0;border-radius:0;outline:0;padding:13px 2px 12px;transition:border-color .2s}.auth-card input::placeholder{color:var(--ink-faint);opacity:.72}.auth-card input:focus{border-color:var(--ink);box-shadow:none}.auth-card button{font:inherit;cursor:pointer;border-radius:11px;padding:14px}.auth-card .primary{color:var(--paper);background:var(--ink);box-shadow:0 10px 24px color-mix(in srgb, var(--ink) 16%, transparent);border:0;margin-top:6px;font-weight:700}.auth-card .primary:disabled{cursor:wait;opacity:.65}.auth-mode{color:var(--ink-soft);background:0 0;border:0;font-size:13px;font-weight:650}.auth-mode:hover{color:var(--ink)}.auth-separator{background:var(--line);align-items:center;height:1px;display:flex}.auth-message{color:var(--shu);background:color-mix(in srgb, var(--shu) 8%, transparent);text-align:center;border-radius:9px;padding:11px 13px;font-size:12px}.auth-error,.auth-loading{color:var(--shu);text-align:center;place-items:center;min-height:100vh;display:grid}.auth-signout{z-index:1000;border:1px solid var(--line);color:var(--ink-soft);background:var(--paper-2);border-radius:999px;padding:8px 12px;position:fixed;bottom:18px;right:18px}.import-lock{z-index:4000;background:color-mix(in srgb, var(--paper) 76%, transparent);-webkit-backdrop-filter:blur(16px)saturate(80%);backdrop-filter:blur(16px)saturate(80%);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.import-progress-card{border:1px solid var(--glass-edge);width:min(440px,100%);color:var(--ink);background:var(--glass-strong);text-align:center;border-radius:18px;justify-items:center;padding:42px 38px;display:grid;box-shadow:0 28px 80px #14181e38}.import-spinner{border:2px solid color-mix(in srgb, var(--ink) 12%, transparent);border-top-color:var(--shu);border-radius:50%;width:34px;height:34px;margin-bottom:24px;animation:.8s linear infinite import-spin}.import-kicker{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:750}.import-progress-card h2{font-family:var(--display);margin:10px 0 24px;font-size:27px;font-weight:560}.import-progress-track{background:color-mix(in srgb, var(--ink) 9%, transparent);border-radius:999px;width:100%;height:5px;overflow:hidden}.import-progress-track span{border-radius:inherit;background:var(--shu);height:100%;transition:width .18s;display:block}.import-progress-card strong{font-family:var(--mono);margin-top:10px;font-size:12px}.import-progress-card p{max-width:330px;color:var(--ink-faint);margin:18px 0 0;font-size:11px;line-height:1.55}@keyframes import-spin{to{transform:rotate(360deg)}}@media (max-width:820px){.auth-shell{grid-template-columns:1fr}.auth-hero{min-height:42vh;padding:28px 26px 42px}.auth-promise h1{font-size:clamp(38px,11vw,56px)}.auth-promise p{margin-top:18px}.auth-features{display:none}.auth-panel{min-height:58vh;padding:42px 24px 54px}}.auth-mobile-brand,.auth-mobile-note{display:none}.auth-password-field{display:block;position:relative}.auth-password-field input{padding-right:74px}.auth-password-toggle{min-width:auto;color:var(--ink-soft);background:0 0;border:0;padding:6px 2px;font-size:11px;font-weight:700;position:absolute;top:50%;right:0;transform:translateY(-50%)}@media (max-width:820px){:is(html:has(.auth-shell),body:has(.auth-shell)){background:#f3f0e8;height:auto;min-height:100%;overflow-x:hidden}.auth-shell{color:#20211e;background:radial-gradient(circle at 12% 8%,#ba924221,#0000 27rem),linear-gradient(155deg,#faf8f2 0%,#f2efe6 56%,#ebe7dc 100%);min-height:100svh;padding:0;display:block;position:relative;overflow:hidden auto}.auth-shell:before{content:"L";color:#2a2a2409;font-family:var(--display);pointer-events:none;font-size:210px;line-height:1;position:fixed;bottom:-56px;right:-34px}.auth-hero{display:none}.auth-panel{z-index:1;min-height:100svh;padding:max(26px, env(safe-area-inset-top)) max(22px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left));background:0 0;align-items:center;display:flex;position:relative}.auth-card{color:#20211e;width:min(420px,100%);box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;gap:18px;margin:auto;padding:0;display:grid}.auth-mobile-brand{color:#24251f;font-family:var(--display);letter-spacing:-.025em;align-items:center;gap:10px;margin-bottom:clamp(18px,6vh,54px);font-size:21px;font-weight:600;display:flex}.auth-mobile-brand .mark{background:var(--paper) var(--brand-icon) center/cover no-repeat;border:1px solid #20211e21;border-radius:12px;width:38px;height:38px;display:block;box-shadow:0 7px 18px #1f201c24}.auth-form-head{margin:0 0 4px}.auth-form-head .auth-eyebrow{color:#96712f;letter-spacing:.18em;margin-bottom:10px;font-size:9px;font-weight:800}.auth-form-head h2{color:#20211e;letter-spacing:-.045em;text-wrap:balance;max-width:340px;font-size:clamp(31px,9.5vw,39px);font-weight:560;line-height:1.04}.auth-form-head p{color:#696a63;margin-top:11px;font-size:13.5px;line-height:1.5}.auth-fields{gap:12px;display:grid}.auth-card label{color:#5f6059;gap:7px;font-size:11px;font-weight:720;display:grid}.auth-card input{color:#20211e;-webkit-text-fill-color:#20211e;background:#ffffffad;border:1px solid #20211e1f;border-radius:14px;outline:0;min-height:52px;padding:0 15px;font-size:16px;transition:border-color .18s,box-shadow .18s,background .18s;box-shadow:0 1px #fffc,0 8px 24px #1f201c09}.auth-card input::placeholder{color:#999990;-webkit-text-fill-color:#999990;opacity:1}.auth-card input:focus{background:#ffffffeb;border-color:#20211e85;box-shadow:0 0 0 4px #20211e0e}.auth-card input:-webkit-autofill{-webkit-text-fill-color:#20211e;caret-color:#20211e;transition:background-color 9999s ease-out}.auth-card input:-webkit-autofill:hover{-webkit-text-fill-color:#20211e;caret-color:#20211e;transition:background-color 9999s ease-out}.auth-card input:-webkit-autofill:focus{-webkit-text-fill-color:#20211e;caret-color:#20211e;transition:background-color 9999s ease-out}.auth-password-field input{width:100%;padding-right:78px}.auth-password-toggle{color:#696a63;background:0 0;padding:8px 2px;font-size:10.5px;right:13px}.auth-card .primary{color:#f9f6ee;background:#292a25;border:0;border-radius:14px;min-height:52px;margin-top:2px;padding:0 18px;font-size:14px;font-weight:760;transition:transform .16s,box-shadow .16s,opacity .16s;box-shadow:0 12px 28px #20211d2e}.auth-card .primary:active{transform:scale(.985);box-shadow:0 7px 18px #20211d29}.auth-card .primary:disabled{opacity:.58}.auth-separator{background:#20211e17;height:1px;margin:1px 0}.auth-card .auth-mode{color:#292a25;background:0 0;padding:5px;font-size:12.5px;font-weight:750}.auth-card .auth-mode span{color:#83837b;font-weight:520}.auth-message{color:#a64130;text-align:left;background:#ac41300e;border:1px solid #ac41301f;border-radius:12px;padding:11px 13px;font-size:12px;line-height:1.4}.auth-mobile-note{color:#8b8b83;text-align:center;max-width:270px;margin:3px auto 0;font-size:10.5px;line-height:1.5;display:block}}@media (max-width:820px) and (max-height:680px){.auth-panel{align-items:flex-start}.auth-card{gap:13px}.auth-mobile-brand{margin-bottom:12px}.auth-form-head h2{font-size:29px}.auth-form-head p{margin-top:7px}.auth-card input,.auth-card .primary{min-height:48px}.auth-mobile-note{display:none}}@media (max-width:360px){.auth-panel{padding-inline:max(16px, env(safe-area-inset-left))}.auth-form-head h2{font-size:29px}}.auth-signout svg,.reader-back svg,.notification-bell svg,.pill-open svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}@media (max-width:700px){:root{--mobile-control-radius:8px;--mobile-surface-radius:10px}.topbar{z-index:80;padding-right:max(10px, env(safe-area-inset-right));gap:7px;position:relative}.brand{flex:none}.brand .mark{border-radius:5px}.theme-switch{border-radius:var(--mobile-control-radius);margin-left:0}.theme-switch button{border-radius:5px}.notification-bell{border-radius:var(--mobile-control-radius);font-size:inherit}.notification-bell svg{width:17px;height:17px}.pwa-install-button,.icon-btn{border-radius:var(--mobile-control-radius)}.auth-signout{top:calc(8px + env(safe-area-inset-top));bottom:auto;right:auto;left:calc(51px + env(safe-area-inset-left));border:1px solid var(--line);border-radius:var(--mobile-control-radius);width:34px;height:34px;color:var(--ink-soft);background:var(--paper-2);box-shadow:none;-webkit-backdrop-filter:none;place-items:center;padding:0;font-size:0;display:grid}.auth-signout:before{content:none}.auth-signout svg{display:block}.auth-signout span{display:none}.reader-bar{gap:8px;padding-inline:9px}.reader-bar .reader-back{border:1px solid var(--line);border-radius:var(--mobile-control-radius);width:34px;height:34px;color:var(--ink);background:var(--paper-2);font-size:inherit;flex:0 0 34px;place-items:center;padding:0;display:grid}.reader-back svg{width:19px;height:19px}.reader-back span{display:none}.reader-bar .back:first-letter{font-size:inherit}.reader-main{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.rail{z-index:90;left:50%;bottom:max(7px, env(safe-area-inset-bottom));border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 96%, var(--paper-2));-webkit-backdrop-filter:none;border-radius:14px;gap:2px;width:min(100% - 18px,430px);height:58px;padding:4px;position:fixed;box-shadow:0 8px 24px #12151924,inset 0 1px #ffffff61}.rail button{border-radius:9px;gap:1px;height:48px}.rail button[aria-pressed=true]{box-shadow:none}.rail.keyboard-hidden{transform:translate(-50%)translateY(calc(100% + 28px))}.chatview{background:var(--paper);min-height:0}.chatview:after{display:none}.chatview .tutor{background:var(--paper);width:100%;height:100%;box-shadow:none;-webkit-backdrop-filter:none;border:0;border-radius:0;margin:0}.chatview .tutor-top{min-height:44px;padding:7px 12px 3px}.chatview .conv-select,.chatview .conv-btn-text{border-radius:var(--mobile-control-radius);height:34px}.chatview .tutor-quick{padding:3px 12px 7px}.chatview .talker-toggle{border-radius:var(--mobile-control-radius)}.chatview .tutor-scroll{gap:14px;padding:14px 14px 18px}.chatview .msg{max-width:90%}.chatview .msg .bubble{box-shadow:none;border-radius:10px;padding:10px 12px}.chatview .msg.assistant .bubble{background:var(--paper-2);border-radius:10px 10px 10px 3px}.chatview .msg.user .bubble{color:var(--paper);background:var(--ink);border-radius:10px 10px 3px}.chatview .tutor-starters button{border-radius:var(--mobile-control-radius)}.chatview .tutor-input{padding:8px 10px calc(9px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);background:var(--paper);box-shadow:0 -7px 18px color-mix(in srgb, var(--ink) 5%, transparent);-webkit-backdrop-filter:none;border-radius:0;margin:0;position:sticky;bottom:0}.chatview .tutor-compose{border:1px solid var(--line);border-radius:var(--mobile-surface-radius);background:var(--paper-2);align-items:center;gap:5px;min-height:50px;padding:4px}.chatview .tutor-compose textarea{min-height:42px;padding:10px 7px;font-size:16px}.chatview .attach-btn{border-radius:6px;max-width:68px}.chatview .send-btn{min-width:44px;min-height:40px;color:var(--paper);background:var(--ink);box-shadow:none;border-radius:7px}.postit{border:1px solid color-mix(in srgb, var(--ink) 16%, transparent);border-radius:var(--mobile-surface-radius);background:color-mix(in srgb, var(--paper) 97%, var(--paper-2));-webkit-backdrop-filter:none;min-width:128px;min-height:92px;box-shadow:0 8px 22px #14181e29}.postit-bar{height:32px;min-height:32px;padding:2px 5px 2px 8px}.postit-mini,.postit-del{border-radius:6px;flex:0 0 27px;width:27px;height:27px}.postit-del svg{width:15px;height:15px}.postit textarea{background:0 0;min-height:58px;padding:9px 10px 12px;font-size:13px}.postit-resize.e,.postit-resize.w{top:36px}.postit-confirm{border-radius:7px;flex-wrap:wrap;margin:0 5px 5px}.postit.collapsed{min-width:0;min-height:0}.postit-pill{border:1px solid color-mix(in srgb, var(--ink) 17%, transparent);background:var(--paper);-webkit-backdrop-filter:none;border-radius:8px;max-width:min(180px,56vw);padding:6px 6px 6px 9px;box-shadow:0 4px 12px #14181e24}.pill-open{background:var(--ink);border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;display:grid}.pill-open svg{width:14px;height:14px;display:block}.notesview .content-bar{padding:14px 16px 8px}.notesview .board{padding:8px 12px 24px}.notebook{gap:10px}.notebook .mnote{border-radius:var(--mobile-surface-radius);background:var(--paper-2);-webkit-backdrop-filter:none;min-height:190px;box-shadow:0 5px 16px #14181e14}.mnote-head{padding:14px 14px 10px}.mnote-text{padding:12px 14px}.mnote-foot{padding:9px 14px 11px}.mnote-read,.mnote-delete,.mnote-pdf{border-radius:6px}.mobile-card-summary,.card-form.horizontal,.qcard-face,.review-card{border-radius:var(--mobile-surface-radius)}.mobile-card-actions button,.mobile-library-toggle,.review-start,.review-show,.review-grades .g{border-radius:var(--mobile-control-radius)}}@media (display-mode:standalone) and (max-width:700px){.rail{bottom:max(10px, env(safe-area-inset-bottom))}.reader-main{padding-bottom:calc(76px + env(safe-area-inset-bottom))}}@media (max-width:700px){.topbar{height:calc(46px + env(safe-area-inset-top));flex-basis:calc(46px + env(safe-area-inset-top));padding-top:calc(6px + env(safe-area-inset-top));padding-bottom:6px}.auth-signout{top:calc(6px + env(safe-area-inset-top))}.reader-bar{flex-basis:44px;height:44px;padding-block:5px}.reader.view-chat .reader-bar{border-bottom-color:color-mix(in srgb, var(--line) 65%, transparent);flex-basis:40px;height:40px}.reader.view-chat .reader-bar .timeline{display:none}.reader.view-chat .reader-bar .booktitle{flex:1;max-width:none;font-size:12.5px}.reader-main{padding-bottom:69px;transition:padding-bottom .2s}.reader-main:has(.rail.keyboard-hidden){padding-bottom:0}.rail{bottom:max(5px, calc(env(safe-area-inset-bottom) - 18px));border-color:color-mix(in srgb, var(--ink) 14%, transparent);background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(24px)saturate(145%);border-radius:24px;width:min(100% - 22px,420px);height:61px;padding:5px;box-shadow:0 10px 30px #1215192e,inset 0 1px #ffffff7a}.rail button{border-radius:19px;height:51px}.rail button[aria-pressed=true]{box-shadow:0 5px 14px color-mix(in srgb, var(--ink) 18%, transparent)}.pill-open{color:var(--paper);background:var(--ink)}.reader.view-chat .chatview{overflow:hidden}.reader.view-chat .chatview .tutor{position:relative;overflow:hidden}.chatview .tutor-top{min-height:39px;padding:5px 10px 2px}.chatview .conv-select{border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);height:31px;color:var(--ink);background:color-mix(in srgb, var(--paper-2) 74%, var(--paper));box-shadow:none;border-radius:11px;padding:5px 9px}.chatview .conv-btn-text{border-radius:10px;height:31px;padding-inline:8px}.chatview .tutor-quick{z-index:12;border:0;width:auto;padding:0;position:absolute;top:45px;right:11px;overflow:visible}.chatview .tutor-quick .talker-toggle,.chatview .tutor-quick .talker-toggle.on{border:1px solid color-mix(in srgb, var(--ink) 13%, transparent);min-height:35px;color:var(--ink-soft);background:color-mix(in srgb, var(--paper) 78%, transparent);-webkit-backdrop-filter:blur(18px)saturate(135%);border-radius:999px;gap:7px;padding:5px 8px 5px 10px;box-shadow:0 7px 20px #14181e21,inset 0 1px #ffffff61}.talker-mode{font-size:10.5px}.talker-track{width:34px;height:20px}.talker-thumb{width:14px;height:14px}.talker-toggle.on .talker-thumb{transform:translate(14px)}.chatview .talker-hint{display:none}.chatview .tutor-scroll{gap:13px;padding:48px 13px 14px}.chatview .msg{max-width:88%}.chatview .msg .bubble{border-radius:17px;padding:10px 13px}.chatview .msg.assistant .bubble{border-radius:17px 17px 17px 6px}.chatview .msg.user .bubble{border-radius:17px 17px 6px}.chatview .tutor-welcome{padding-top:8px}.chatview .tutor-welcome h2{font-size:24px}.chatview .tutor-starters{gap:8px}.chatview .tutor-starters button{border-radius:14px;min-height:48px}.chatview .tutor-input{padding:7px 9px max(7px, env(safe-area-inset-bottom));box-shadow:0 -5px 15px color-mix(in srgb, var(--ink) 4%, transparent)}.reader-main:has(.rail.keyboard-hidden) .chatview .tutor-input{padding-bottom:5px}.chatview .tutor-compose{border-color:color-mix(in srgb, var(--ink) 12%, transparent);background:color-mix(in srgb, var(--paper-2) 76%, var(--paper));border-radius:21px;min-height:52px;padding:5px;box-shadow:inset 0 1px #ffffff47}.chatview .tutor-compose textarea{min-height:40px;max-height:92px;padding:9px 8px}.chatview .attach-btn{border-radius:15px;min-height:39px;padding:7px 8px}.chatview .send-btn{border-radius:16px;min-width:42px;min-height:42px;padding:8px 10px}}@media (display-mode:standalone) and (max-width:700px){.rail{bottom:max(6px, calc(env(safe-area-inset-bottom) - 16px))}.reader-main{padding-bottom:71px}.reader-main:has(.rail.keyboard-hidden){padding-bottom:0}}@media (max-width:700px){:root[data-theme=dark] .chatview .conv-select{color:#ecebe3;background:#24272e;border-color:#ecebe324}:root[data-theme=dark] .chatview .tutor-quick .talker-toggle{color:#c2c5cc;background:#23262dd1;border-color:#ecebe326}:root[data-theme=dark] .pill-open{color:#f1f0e9;background:#343841;border:1px solid #f1f0e933}}@media (prefers-color-scheme:dark) and (max-width:700px){:root:not([data-theme=light]) .chatview .conv-select{color:#ecebe3;background:#24272e;border-color:#ecebe324}:root:not([data-theme=light]) .chatview .tutor-quick .talker-toggle{color:#c2c5cc;background:#23262dd1;border-color:#ecebe326}:root:not([data-theme=light]) .pill-open{color:#f1f0e9;background:#343841;border:1px solid #f1f0e933}}@media (max-width:700px){.postit.confirming-delete .postit-confirm{z-index:8;background:color-mix(in srgb, var(--paper) 97%, var(--shu) 3%);border:0;border-radius:0 0 9px 9px;grid-template-rows:minmax(18px,auto) 29px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:center;gap:4px 6px;margin:0;padding:5px 7px 7px;display:grid;position:absolute;inset:32px 0 0}.postit.confirming-delete .postit-confirm span{text-align:center;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:10.5px;line-height:1.2;overflow:hidden}.postit.confirming-delete .postit-confirm button{white-space:nowrap;border-radius:6px;place-items:center;width:100%;min-width:0;height:29px;padding:0 4px;font-size:11px;line-height:1;display:grid}}.conv-btn-icon svg,.send-btn svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.send-loading{border:1.5px solid color-mix(in srgb, currentColor 28%, transparent);border-top-color:currentColor;border-radius:50%;width:14px;height:14px;animation:.75s linear infinite import-spin;display:block}@media (max-width:700px){.rail{background:color-mix(in srgb, var(--paper) 73%, transparent);-webkit-backdrop-filter:blur(30px)saturate(165%);border-radius:31px;height:62px;padding:5px;box-shadow:0 12px 34px #12151933,inset 0 1px #ffffff94}.rail button{border-radius:26px;height:52px}.chatview .tutor-top{gap:5px;padding-inline:9px}.chatview .conv-select{border-color:color-mix(in srgb, var(--ink) 11%, transparent);background:color-mix(in srgb, var(--paper) 60%, transparent);-webkit-backdrop-filter:blur(20px)saturate(145%);border-radius:16px;box-shadow:inset 0 1px #ffffff6b,0 5px 16px #14181e12}.chatview .conv-btn-icon{border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);width:32px;height:32px;color:var(--ink-soft);background:color-mix(in srgb, var(--paper) 58%, transparent);-webkit-backdrop-filter:blur(18px)saturate(145%);border-radius:50%;flex:0 0 32px;place-items:center;padding:0;display:grid;box-shadow:inset 0 1px #fff6,0 4px 13px #14181e12}.chatview .conv-btn-icon svg{width:15px;height:15px}.chatview .tutor-quick{left:11px;right:auto}.chatview .tutor-quick .talker-toggle,.chatview .tutor-quick .talker-toggle.on{border-color:color-mix(in srgb, var(--ink) 9%, transparent);background:color-mix(in srgb, var(--paper) 54%, transparent);-webkit-backdrop-filter:blur(24px)saturate(150%);box-shadow:0 7px 22px #14181e17,inset 0 1px #fff6}.chatview .tutor-compose{border-color:color-mix(in srgb, var(--ink) 10%, transparent);background:color-mix(in srgb, var(--paper) 62%, transparent);-webkit-backdrop-filter:blur(24px)saturate(150%);border-radius:28px;min-height:54px;padding:5px;box-shadow:inset 0 1px #ffffff80,0 8px 24px #14181e17}.chatview .attach-btn{border:1px solid color-mix(in srgb, var(--ink) 8%, transparent);background:color-mix(in srgb, var(--paper-2) 48%, transparent);border-radius:21px;min-height:42px}.chatview .send-btn{border:1px solid color-mix(in srgb, var(--ink) 20%, transparent);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--ink);background:color-mix(in srgb, var(--paper) 58%, transparent);-webkit-backdrop-filter:blur(22px)saturate(160%);border-radius:50%;place-items:center;padding:0;display:grid;box-shadow:inset 0 1px #ffffff9e,0 6px 18px #14181e24}.chatview .send-btn:disabled{color:var(--ink-faint);background:color-mix(in srgb, var(--paper-2) 48%, transparent);opacity:.58}.chatview .send-btn:not(:disabled):active{transform:scale(.94)}.chatview .send-btn svg{width:19px;height:19px}:root[data-theme=dark] .chatview .conv-select,:root[data-theme=dark] .chatview .conv-btn-icon,:root[data-theme=dark] .chatview .tutor-compose,:root[data-theme=dark] .chatview .send-btn{color:#ecebe3;background:#2629309e;border-color:#ecebe321;box-shadow:inset 0 1px #ffffff1f,0 7px 20px #0003}:root[data-theme=dark] .chatview .tutor-quick .talker-toggle{background:#2629308c}}@media (prefers-color-scheme:dark) and (max-width:700px){:root:not([data-theme=light]) .chatview .conv-select,:root:not([data-theme=light]) .chatview .conv-btn-icon,:root:not([data-theme=light]) .chatview .tutor-compose,:root:not([data-theme=light]) .chatview .send-btn{color:#ecebe3;background:#2629309e;border-color:#ecebe321;box-shadow:inset 0 1px #ffffff1f,0 7px 20px #0003}:root:not([data-theme=light]) .chatview .tutor-quick .talker-toggle{background:#2629308c}}@media (min-width:701px){.auth-signout{transition:opacity .16s,transform .16s;bottom:86px;right:20px}body:has(.ask-dock) .auth-signout{opacity:0;pointer-events:none;transform:translateY(5px)}}
