@font-face{font-family:Emulator;src:url(/fonts/emulator.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;size-adjust:82%}@font-face{font-family:DepartureMono;src:url(/fonts/DepartureMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Zero00;src:url(/fonts/000webfont.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--font-mono:"Emulator", ui-monospace, monospace;--font-mono-narrow:"DepartureMono", ui-monospace, "SF Mono", Menlo, monospace;--font-pixel-000:"Zero00", var(--font-mono);--canvas-left:242px;--canvas-right:10px;--font-sans:var(--font-inter), ui-sans-serif, system-ui, sans-serif;--font-mono-real:var(--font-jetbrains-mono), ui-monospace, "SF Mono", Menlo, monospace;--background:#f5f5f2;--bg:#f5f5f2;--band-dark:#161514;--surface:#fbfbf8;--surface-soft:#f1f1ee;--surface-strong:#f1f1ee;--text:var(--ink-body);--muted:var(--ink-muted);--faint:var(--ink-faint);--line:var(--border-card);--accent:#202020;--accent-strong:#161514;--accent-soft:#e8e6e1;--blue:var(--app-blue);--blue-soft:#e3eef9;--orange:#e88c30;--orange-soft:#fcebd8;--red:var(--accent-red);--red-soft:#f8dde1;--yellow:#d6a23a;--yellow-soft:#f8ebc8;--shadow-soft:0 8px 24px #1c1c1c0a;--shadow-card:0 14px 42px #1c1c1c12;--shadow-tight:0 8px 18px #1c1c1c0e;--accent-gradient:linear-gradient(135deg, #202020 0%, #161514 100%);--paper-noise:radial-gradient(circle at 14% 18%, #11111107 0 1px, transparent 1.5px), radial-gradient(circle at 84% 12%, #17171705 0 1px, transparent 1.5px), radial-gradient(circle at 58% 86%, #e88c3006 0 1px, transparent 1.5px);--radius-sm:8px;--radius-md:12px;--radius:12px;--radius-lg:18px;--radius-card:14px;--warning:#e88c30;--app-content-max-width:968px;--spring:cubic-bezier(.22, .61, .36, 1);--app-blue:#1a6fd1;--brand:#0433ff;--accent-green:#2c8f4a;--accent-amber:#e88c30;--accent-lime:#bbf451;--accent-red:#e53e3e}.app-content-container{max-width:var(--app-content-max-width);width:100%;margin-left:auto;margin-right:auto}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{color:var(--text);font-family:var(--font-inter), ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;background:#fdfdfc}.app-frame{background:#eeece7;flex-direction:row;gap:4px;padding:10px 10px 10px 4px;display:flex;position:fixed;inset:0}.app-window{isolation:isolate;z-index:1;border-radius:16px;flex-direction:column;flex:auto;min-width:0;display:flex;position:relative;box-shadow:inset 0 1px #ffffffe6,0 0 0 1px #17171724,0 12px 32px -8px #1c1c1c1a,0 3px 8px -2px #1c1c1c0f}.app-canvas{scrollbar-gutter:stable;isolation:isolate;background:#fff;border-radius:0 0 16px 16px;flex:auto;min-width:0;position:relative;overflow:hidden auto}.app-canvas::-webkit-scrollbar{width:10px}.app-canvas::-webkit-scrollbar-track{background:0 0}.app-canvas::-webkit-scrollbar-thumb{background:#20202029 padding-box content-box;border:3px solid #0000;border-radius:999px}.app-canvas{scrollbar-width:thin;scrollbar-color:#20202029 transparent}.util-rail{flex-direction:column;flex:none;align-items:stretch;width:234px;padding:12px;display:flex}.util-rail-logo{color:var(--ink-strong,#262323);font-family:var(--font-mono);letter-spacing:.01em;border-radius:10px;align-items:center;gap:12px;padding:9px 8px;font-size:15px;font-weight:400;text-decoration:none;display:flex}.util-rail-logo:hover{background:#1717170f}.util-rail-logo img{flex:none;width:24px;height:auto;display:block}.util-rail-logo-stack{flex-direction:row;align-items:center;gap:8px;line-height:1;display:flex}.util-rail-logo-name{font-family:var(--font-mono);letter-spacing:.01em;font-size:15px}.util-rail-logo-beta{color:#fff;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(#2020201a,#2020201a),linear-gradient(#4f4f4f 0%,#202020d9 100%);border:1px solid #383838;border-radius:5px;align-self:center;padding:2px 6px;font-size:8.5px;font-weight:400;box-shadow:0 0 0 1px #4040401f,inset 0 2px #ffffff3d,inset 0 -.5px 2px #00000040,0 2px 8px #00000008,0 3px 4px #00000029}.util-rail-divider{background:#1717171f;height:1px;margin:16px 8px}.util-rail-eyebrow{font-family:var(--font-pixel-000);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-icon-muted,#8a8785);padding:4px 10px 7px;font-size:13px;font-weight:400}.util-rail-eyebrow--spaced{margin-top:20px}.util-rail-eyebrow-row{justify-content:space-between;align-items:center;padding-right:6px;display:flex}.util-rail-group{flex-direction:column;align-items:stretch;gap:6px;display:flex}.util-rail-group--bottom{gap:2px;margin-top:auto}.util-rail .nav-dropzone-cluster--rail{display:contents}.util-rail .nav-dropzone-cluster--rail:before{content:none}.util-rail-dropwrap{position:relative}.util-rail-dropwell{background:repeating-linear-gradient(-45deg, #1717170e 0, #1717170e .75px, transparent .75px, transparent 7px), var(--surface-raised,#fbfbf8);width:100%;min-height:40px;color:var(--ink-icon-muted,#8a8785);cursor:pointer;border:0;border-radius:10px;flex-direction:row;justify-content:flex-start;align-items:center;gap:9px;padding:0 40px 0 12px;transition:box-shadow .14s;display:flex;box-shadow:inset 0 1.5px 3px #0000001a,inset 0 0 0 1px #0000000f,0 1px #fff}.util-rail-dropwell:hover{color:var(--ink-icon-strong,#3b3837);box-shadow:inset 0 1.5px 4px #0000001f,inset 0 0 0 1px #00000014,0 1px #fff}.util-rail-dropwell-label{letter-spacing:-.005em;font-size:13px;font-weight:500}.util-rail-dropwell--drag{color:var(--app-blue);box-shadow:#1a6fd124 0 1.5px 4px 0 inset, var(--app-blue) 0 0 0 1.5px inset, #fff 0 1px 0 0}.util-rail-dropwrap:after{content:"";box-shadow:0 0 0 2px var(--accent-lime);opacity:0;pointer-events:none;border-radius:13px;position:absolute;inset:-3px}body[data-onboarding-point=dropzone] .util-rail-dropwrap:after{animation:onboarding-point 1.3s var(--spring) 3}@keyframes onboarding-point{0%{opacity:0;transform:scale(.985)}35%{opacity:.95;transform:scale(1)}to{opacity:0;transform:scale(1.02)}}@media (prefers-reduced-motion:reduce){body[data-onboarding-point=dropzone] .util-rail-dropwrap:after{opacity:.9;animation:none}}.util-rail-paste-chip{width:26px;height:26px;color:var(--ink-icon-muted,#646160);z-index:1;border-radius:7px;padding:0;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.util-rail-paste-chip:hover{color:var(--ink-icon-strong,#3b3837)}.btn-key.util-rail-paste-chip:hover{transform:translateY(calc(-50% - 1px))}.btn-key.util-rail-paste-chip:active{transform:translateY(-50%)}.util-rail-paste-chip--active{color:var(--app-blue)}.util-rail-upload-warn{width:20px;height:20px;color:var(--ink-icon-muted,#8a8785);cursor:pointer;transition:color .14s var(--spring), background-color .14s var(--spring);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.util-rail-upload-warn:hover{color:var(--ink-icon-strong,#3b3837);background:#1717170f}.util-rail-upload-warn--open,.util-rail-upload-warn--open:hover{color:var(--accent-amber);background:#e88c3014}.pre-upload-warn-body p{color:var(--ink-muted,#171717b3);margin:0 2px;font-size:.78rem;line-height:1.45}.pre-upload-warn-body p+p{margin-top:8px}.pre-upload-warn-body strong{color:var(--ink-strong,#171717d9);font-weight:600}.util-rail-nav{text-decoration:none}.util-rail-btn.util-rail-nav--active,.util-rail-btn.util-rail-nav--active:hover{color:var(--ink);background:var(--bg);box-shadow:0 2px 3px #0000000f,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.util-rail-btn.util-rail-nav--active>svg{color:var(--ink-solid)}.util-rail-btn.util-rail-nav--active .util-rail-label{font-weight:510}.nav-dz-info-pop--rail.nav-dz-info-pop--rail,.nav-dz-mini-pop--rail.nav-dz-mini-pop--rail{animation:nav-dz-info-in-rail .16s var(--spring);transform:none}.nav-dz-mini-pop--rail.nav-dz-mini-pop--rail:before{border-radius:0 0 0 3px;inset:50% auto auto -5px;transform:translateY(-50%)rotate(45deg);box-shadow:-1.5px 1.5px #1a6fd18c,-2px 2px 4px #00000014}.nav-dz-info-pop--rail.nav-dz-info-pop--rail:before{border-radius:0 0 0 3px;width:11px;height:11px;inset:22px auto auto -4px;transform:rotate(45deg);box-shadow:-.714px .714px #00000014,-2px 2px 5px -1px #0000000a}.nav-dz-info-pop--rail.nav-dz-info-pop--rail:after{width:10px;height:auto;inset:0 100% 0 auto}@keyframes nav-dz-info-in-rail{0%{opacity:0;transform:translate(-4px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}.util-rail-btn{width:100%;min-height:34px;color:var(--ink-icon-muted,#646160);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:0 10px;font-size:13.5px;font-weight:500;display:flex}.util-rail-btn:hover{color:var(--ink-icon-strong,#3b3837);background:#1717170f}.util-rail-btn:active{background:#17171717}.util-rail-btn>svg,.util-rail-btn>.nav-dz-dot{flex:0 0 20px}.util-rail-label{flex:auto;min-width:0}.util-rail-btn--brand{color:#fff;background:linear-gradient(#3d63ff 0%,#0433ff 100%);border:1px solid #0433ff;box-shadow:inset 0 1px #ffffff4d,0 5px 14px -6px #0433ff52}.util-rail-btn--brand:hover{color:#fff;background:linear-gradient(#3d63ff 0%,#0433ff 100%);box-shadow:inset 0 1px #ffffff4d,0 8px 18px -6px #0433ff6b}.util-rail .disc-fab{width:38px;height:38px;box-shadow:none;background:0 0;border:0;border-radius:10px}.util-rail .disc-fab:hover{background:#1717170f;transform:none}.util-rail .disc-pop{transform-origin:0 0;top:0;bottom:auto;left:calc(100% + 12px)}.util-rail .disc-pop:before{display:none}.util-rail-experimental-wrap{position:relative}.util-rail-btn--open,.util-rail-btn--open:hover{color:var(--ink-icon-strong,#3b3837);background:#17171717}.util-rail-exp-pop{background:var(--surface-raised,#fbfbf8);z-index:1050;min-width:234px;animation:util-rail-exp-in .15s var(--spring,cubic-bezier(.22, 1, .36, 1));transform-origin:0 100%;border-radius:13px;flex-direction:column;gap:3px;padding:8px;display:flex;position:absolute;bottom:0;left:calc(100% + 10px);box-shadow:inset 0 0 0 .714px #fff,0 0 0 .714px #00000014,0 8px 22px -6px #0000000f,0 3px 8px #0000000a}@keyframes util-rail-exp-in{0%{opacity:0;transform:translate(-4px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}.util-rail-exp-pop-head{color:var(--ink-strong,#262323);flex-direction:column;gap:1px;margin:2px 6px 6px;font-size:12px;font-weight:600;display:flex}.util-rail-exp-pop-note{letter-spacing:.01em;color:var(--ink-icon-muted,#8a8785);font-size:10px;font-weight:500}.util-rail-exp-item{width:100%;color:var(--ink-icon-strong,#3b3837);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:7px 8px;display:flex}.util-rail-exp-item:hover{background:#1717170f}.util-rail-exp-item>svg{color:var(--ink-icon-muted,#646160);flex:0 0 16px}.util-rail-exp-item>span{flex-direction:column;gap:1px;min-width:0;display:flex}.util-rail-exp-item strong{font-size:13px;font-weight:600}.util-rail-exp-item small{color:var(--ink-icon-muted,#8a8785);font-size:11px}@media (max-width:768px){:root{--canvas-left:162px;--canvas-right:6px}.app-frame{gap:2px;padding:6px 6px 6px 2px}.app-window{border-radius:12px}.app-canvas{border-radius:0 0 12px 12px}.util-rail{width:158px;padding:10px 8px}}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding-bottom:96px;display:block}.app-shell:has(.binder-stage){padding-bottom:0}.bottom-courses{z-index:100;background:#fff;border-radius:12px;align-items:center;gap:2px;padding:3px;display:flex;position:fixed;bottom:104px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000014,0 0 0 .714px #0000000f}.bottom-course-item{color:var(--ink-muted,#171717b3);font-family:var(--font-mono);letter-spacing:.06em;border-radius:8px;padding:2px 8px;font-size:.62rem;font-weight:400;text-decoration:none}.bottom-course-item:hover{color:var(--ink-strong,#171717d9);background:#ffffff80}.bottom-course-item.active{background:var(--surface-raised,#fbfbf8);color:var(--ink,#171717e6);box-shadow:0 1px 3px #00000014}.bottom-course-manage-btn{background:var(--surface-darker,#e7e7e3);width:26px;height:26px;color:var(--ink-muted,#171717b3);cursor:pointer;border:none;border-radius:8px;place-items:center;padding:0;display:grid}.bottom-course-manage-btn:hover{color:var(--ink-strong,#171717d9);background:#1717171f}.course-settings-modal{background:var(--surface-raised,#fbfbf8);border-radius:var(--radius-lg,18px);flex-direction:column;gap:14px;width:min(480px,100vw - 32px);max-height:72vh;padding:22px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 .714px #fff,0 0 0 .714px #00000014,0 0 14px #0000000a,0 7px 14px #00000005,0 2px 8px #00000008}.course-settings-header{justify-content:space-between;align-items:center;display:flex}.course-settings-header h3{letter-spacing:-.01em;color:var(--ink,#171717e6);margin:0;font-size:15px;font-weight:600}.course-settings-close{cursor:pointer;color:var(--ink-icon-faint);background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;display:flex}.course-settings-close:hover{color:var(--ink-icon-strong);background:#1717170f}.course-settings-add-row{align-items:center;gap:8px;display:flex}.course-settings-input{border-radius:var(--radius-sm);font:inherit;background:var(--surface-raised);color:var(--ink);border:none;outline:none;padding:8px 10px;font-size:13px;box-shadow:inset 0 1.5px 3px #0000001a,inset 0 0 0 1px #0000000f,0 1px #fff}.course-settings-input:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.course-settings-input-code{width:120px;font-family:var(--font-mono-narrow);letter-spacing:.04em;flex-shrink:0;font-size:12px;font-weight:400}.course-settings-input-name,.course-settings-input-edit{flex:1;min-width:0}.course-settings-add-btn{border-radius:var(--radius-sm);color:#fff;height:36px;font-family:var(--font-mono);letter-spacing:.05em;cursor:pointer;transition:transform .14s var(--spring), box-shadow .14s ease;background:linear-gradient(#2020201a,#2020201a),linear-gradient(#4f4f4f 0%,#202020d9 100%);border:1px solid #383838;flex-shrink:0;align-items:center;gap:5px;padding:0 14px;font-size:11px;font-weight:400;display:inline-flex;box-shadow:0 0 0 1px #4040401f,inset 0 2px #ffffff3d,inset 0 -.5px 2px #00000040,0 2px 8px #00000008,0 3px 4px #00000029}.course-settings-add-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 0 1px #4040401f,inset 0 2px #ffffff3d,inset 0 -.5px 2px #00000040,0 4px 12px #0000000d,0 5px 6px #0003}.course-settings-add-btn:active:not(:disabled){transform:translateY(0)}.course-settings-add-btn:disabled{opacity:.4;pointer-events:none}.course-settings-list{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;gap:6px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.course-settings-list::-webkit-scrollbar{display:none}.course-settings-item{animation:task-row-in .3s var(--spring,cubic-bezier(.22,.61,.36,1)) both;background:#fff9;border:1px solid #17171714;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;display:flex}.course-settings-item-body{justify-content:space-between;align-items:center;gap:12px;width:100%;min-width:0;display:flex}.course-settings-item-info{flex-direction:column;flex-shrink:0;gap:2px;min-width:0;display:flex}.course-settings-item-code{font-family:var(--font-mono-narrow);letter-spacing:.05em;color:var(--ink,#171717e6);align-items:center;gap:4px;font-size:11px;font-weight:400;display:flex}.course-settings-item-name{color:var(--ink-muted,#171717b3);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;font-size:11.5px;display:flex;overflow:hidden}.course-settings-inline-edit{align-items:center;gap:4px;display:flex}.course-settings-input-inline{font-size:inherit;font-weight:inherit;color:inherit;width:120px;padding:2px 6px}.course-settings-item-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.course-settings-item-actions{flex-shrink:0;gap:2px;display:flex}.course-settings-icon-btn{cursor:pointer;color:var(--ink-icon-faint);background:0 0;border:none;border-radius:5px;align-items:center;padding:4px;display:flex}.course-settings-icon-btn:hover{color:var(--ink-icon-strong);background:#1717170f}.course-settings-icon-btn-danger:hover{color:#e53e3e;background:#e53e3e12}.course-settings-confirm{align-items:center;gap:2px;animation:.14s ease-out course-confirm-in;display:flex}@keyframes course-confirm-in{0%{opacity:0;transform:translate(6px)}to{opacity:1;transform:translate(0)}}.course-settings-confirm-btn{cursor:pointer;background:var(--accent-red);color:#fff;font-family:var(--font-mono);letter-spacing:.03em;white-space:nowrap;border:none;border-radius:6px;padding:4px 11px;font-size:10px;font-weight:400;transition:opacity .12s}.course-settings-confirm-btn:hover{background:#c53030}.course-settings-confirm-btn:disabled{opacity:.6;cursor:default}.course-settings-empty{text-align:center;color:var(--ink-faint,#17171780);font-family:var(--font-mono);padding:24px 0;font-size:11px}.settings-section-label{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-muted,#171717b3);margin:4px 0 0;font-size:9.5px;font-weight:400}.settings-account-row{background:#fff9;border:1px solid #17171714;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.settings-account-info{flex-direction:column;gap:2px;min-width:0;display:flex}.settings-account-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint,#17171780);font-size:9px;font-weight:400}.settings-account-email{color:var(--ink,#171717e6);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.settings-signout-btn{border-radius:var(--radius-sm,8px);background:var(--bg);color:#c1121f;height:34px;font-family:var(--font-mono);letter-spacing:.04em;cursor:pointer;transition:transform .14s var(--spring,cubic-bezier(.22, .61, .36, 1)), box-shadow .14s ease;border:1px solid #2020201a;flex-shrink:0;align-items:center;gap:6px;padding:0 14px;font-size:11px;font-weight:400;display:inline-flex;box-shadow:0 2px 3px #0000000f,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.settings-signout-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 6px #0000001a,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.settings-signout-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0000000a,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.settings-signout-btn:disabled{opacity:.4;cursor:not-allowed}.bottom-nav{background:var(--surface-darker,#e7e7e3);isolation:isolate;z-index:3;border-bottom:1px solid #17171717;border-radius:16px 16px 0 0;flex:none;justify-content:center;align-items:center;gap:10px;padding:7px 14px;display:flex;position:relative;box-shadow:inset 0 1px #ffffffb3}.bottom-nav>.bottom-nav-trailing{position:absolute;top:50%;right:14px;transform:translateY(-50%)}.bottom-nav-divider{background:#1717171f;flex-shrink:0;width:1px;height:18px;margin:0 2px}.nav-tabs{align-items:center;gap:4px;display:flex}.nav-current{height:34px;color:var(--ink,#171717e6);white-space:nowrap;align-items:center;gap:8px;padding:0 4px;display:flex}.nav-current>svg{flex-shrink:0}.nav-current-label{font-family:var(--font-sans);letter-spacing:-.008em;font-size:.86rem;font-weight:510}.bottom-nav-icon-btn{width:36px;height:36px;color:var(--ink-icon-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex-shrink:0;place-items:center;padding:0;display:grid;position:relative}.bottom-nav-icon-btn--mail svg:last-child{background:var(--surface-raised,#fbfbf8);border-radius:999px;padding:1px;position:absolute;bottom:4px;right:4px}.bottom-nav-icon-btn:hover{color:var(--ink-icon-strong);background:#1717170f}.bottom-nav-icon-btn.active{color:var(--ink,#171717e6);background:#17171714}.bottom-nav-leading{align-items:center;gap:2px;display:flex}.nav-dropzone-cluster{align-items:center;gap:4px;padding-right:4px;display:flex;position:relative}.nav-dropzone-cluster:before{content:"";z-index:-1;pointer-events:none;position:absolute;inset:-60px 0 -60px -80px}.nav-dropzone-cluster--armed:before{pointer-events:auto}.nav-dropzone-cluster--drag .nav-dropzone{color:var(--ink-strong);box-shadow:#0000001a 0 1.5px 3px 0 inset, #0000000f 0 0 0 1px inset, #fff 0 1px 0 0, var(--accent-lime) 0 0 0 2px, #bbf45140 0 0 12px 0}.nav-dropzone{height:32px;color:var(--ink-muted,#171717b3);font-family:var(--font-sans);white-space:nowrap;cursor:pointer;background:0 0;border:1.5px dashed #17171738;border-radius:8px;align-items:center;gap:7px;padding:0 12px;font-size:.78rem;font-weight:500;display:flex;position:relative}.nav-dropzone:hover{color:var(--ink-strong);background:#17171708;border-color:#17171757}.nav-dropzone--drag{color:var(--ink-strong);border-color:var(--accent-lime);box-shadow:var(--accent-lime) 0 0 0 2px, #bbf45140 0 0 12px 0;background:#bbf4511f}.nav-dropzone svg,.nav-dropzone span{flex-shrink:0}.nav-dz-btn{width:32px;height:32px;color:var(--ink-icon-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;padding:0;display:grid;position:relative}.nav-dz-btn:hover{color:var(--ink-icon-strong);background:#1717170f}.nav-dz-btn:active{background:#17171717}.nav-dz-btn--active{color:var(--app-blue);background:#1a6fd11a}.nav-dz-dot{background:var(--app-blue);border-radius:999px;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse}.nav-dz-mail-icon{place-items:center;display:grid;position:relative}.nav-dz-mail-icon>svg:last-child{background:var(--bg);border-radius:999px;padding:1px;position:absolute;bottom:-4px;right:-5px}.nav-dz-mail-spin{animation:.9s linear infinite spin}.nav-dz-email-anchor{align-items:center;display:flex;position:relative}.nav-dz-email-anchor>.util-rail-btn{flex:auto;width:auto;min-width:0}.nav-dz-email-info{width:20px;height:20px;color:var(--ink-faint);cursor:pointer;transition:color .16s var(--spring), background .16s var(--spring);background:0 0;border:0;border-radius:6px;flex-shrink:0;place-items:center;margin-left:1px;padding:0;display:grid}.nav-dz-email-info:hover{color:var(--ink-solid);background:#1717170f}.nav-dz-email-info[aria-expanded=true]{color:var(--ink-solid);background:#17171714}.nav-dz-email-info--rail{width:34px;height:34px;color:var(--ink-icon-muted,#646160);border-radius:9px;margin-left:2px}.nav-dz-email-info--rail:hover,.nav-dz-email-info--rail[aria-expanded=true]{color:var(--ink-icon-strong,#3b3837)}.nav-dz-info-pop{background:var(--surface-raised);z-index:1050;width:min(310px,100vw - 32px);animation:nav-dz-info-in .16s var(--spring);border-radius:14px;padding:14px;position:fixed;transform:translate(-50%);box-shadow:inset 0 0 0 .714px #fff,0 0 0 .714px #00000014,0 0 14px #0000000a,0 7px 14px #00000005,0 2px 8px #00000008}.nav-dz-info-pop:after{content:"";height:8px;position:absolute;top:100%;left:0;right:0}.nav-dz-info-pop:before{content:"";background:var(--surface-raised);border-radius:0 0 3px;width:13px;height:13px;position:absolute;top:100%;left:50%;transform:translate(-50%,-7px)rotate(45deg);box-shadow:2px 2px 4px #00000014}@keyframes nav-dz-info-in{0%{opacity:0;transform:translate(-50%)translateY(4px)scale(.97)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.nav-dz-mini-pop{background:var(--binder-bg,#f5f5f2);color:var(--app-blue);white-space:nowrap;z-index:1050;border-radius:999px;align-items:center;padding:8px 16px;font-size:.78rem;font-weight:500;animation:.16s cubic-bezier(.22,.61,.36,1) nav-dz-info-in,1.8s ease-in-out .16s infinite nav-dz-listen-pulse;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 0 0 2px #1a6fd18c,0 0 16px 2px #1a6fd159,0 6px 14px #0000001a,inset 0 0 .357px 1.5px #fff9,inset 0 2px #fff}@keyframes nav-dz-listen-pulse{0%,to{box-shadow:0 0 0 2px #1a6fd18c,0 0 14px 2px #1a6fd14d,0 6px 14px #0000001a,inset 0 0 .357px 1.5px #fff9,inset 0 2px #fff}50%{box-shadow:0 0 0 2px #1a6fd1bf,0 0 22px 5px #1a6fd180,0 6px 14px #0000001a,inset 0 0 .357px 1.5px #fff9,inset 0 2px #fff}}.nav-dz-mini-pop:before{content:"";background:var(--binder-bg,#f5f5f2);border-radius:0 0 3px;width:12px;height:12px;position:absolute;top:100%;left:50%;transform:translate(-50%,-7px)rotate(45deg);box-shadow:1.5px 1.5px #1a6fd18c,2px 2px 4px #00000014}.nav-dz-info-pop--wide{width:min(360px,100vw - 32px)}.nav-dz-fmt-grid{flex-direction:column;gap:7px;display:flex}.nav-dz-fmt-cat{grid-template-columns:84px 1fr;align-items:baseline;gap:10px;display:grid}.nav-dz-fmt-label{color:var(--ink-strong,#171717d9);font-size:.7rem;font-weight:600}.nav-dz-fmt-items{font-family:var(--font-mono-real);color:var(--ink-muted,#171717b3);word-break:break-word;font-size:.68rem;line-height:1.4}.nav-dz-info-pop-mono{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-muted,#171717b3);margin-bottom:8px;font-size:.6rem;display:block}.nav-dz-info-pop-addrbar{background:var(--surface-raised);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex;box-shadow:inset 0 1.5px 3px #0000001a,inset 0 0 0 1px #0000000f,0 1px #fff}.nav-dz-info-pop-addr{font-family:var(--font-mono-real);color:var(--ink,#171717e6);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.8rem;overflow:hidden}.nav-dz-info-pop-copy{width:28px;height:28px;color:var(--ink-muted,#171717b3);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;place-items:center;padding:0;display:grid}.nav-dz-info-pop-copy:hover:not(:disabled){color:var(--ink-strong,#171717d9);background:#17171712}.nav-dz-info-pop-copy:disabled{opacity:.4;cursor:default}.nav-dz-info-pop-tagline{color:var(--ink-muted,#171717b3);margin:10px 2px 0;font-size:.78rem;line-height:1.45}.dev-nuke-wrap{z-index:9999;flex-direction:column;align-items:flex-end;gap:6px;font-family:monospace;display:flex;position:fixed;top:12px;right:12px}.dev-nuke-btn{color:#facc15;letter-spacing:.05em;cursor:pointer;background:#1c1917;border:1px solid #facc15;border-radius:6px;align-items:center;gap:7px;padding:4px 4px 4px 5px;font-family:monospace;font-size:11px;transition:opacity .12s;display:inline-flex;box-shadow:0 2px 8px #00000059}.dev-nuke-btn:hover:not(:disabled){background:#292524}.dev-nuke-tag{letter-spacing:.12em;color:#1c1917;background:#facc15;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:700}.dev-nuke-label{padding-right:4px}.dev-nuke-btn[data-state=confirm]{color:#fca5a5;background:#7f1d1d;border-color:#fca5a5;animation:1s ease-in-out infinite dev-nuke-pulse}.dev-nuke-btn[data-state=confirm] .dev-nuke-tag{color:#7f1d1d;background:#fca5a5}.dev-nuke-btn[data-state=wiping]{opacity:.6;color:#a8a29e;cursor:default;border-color:#a8a29e}.dev-nuke-btn[data-state=wiping] .dev-nuke-tag{color:#1c1917;background:#a8a29e}.dev-nuke-btn[data-state=done]{color:#86efac;cursor:default;border-color:#86efac}.dev-nuke-btn[data-state=done] .dev-nuke-tag{color:#14532d;background:#86efac}@keyframes dev-nuke-pulse{0%,to{box-shadow:0 2px 8px #00000059,0 0 #dc262600}50%{box-shadow:0 2px 8px #00000059,0 0 0 3px #dc262673}}.dev-panel{z-index:9999;width:226px;font-family:var(--font-sans), ui-sans-serif, system-ui, sans-serif;color:#ededed;background:#0a0a0a;border:1px solid #ffffff17;border-radius:14px;padding:6px;position:fixed;bottom:12px;right:12px;box-shadow:0 10px 30px -6px #00000080,0 2px 8px #0000004d}.dev-panel-head{padding:2px 10px 8px}.dev-panel-head-title{color:#ededed;font-size:12px;font-weight:600}.dev-panel-metric{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:#161616;border:1px solid #ffffff0d;border-radius:10px;padding:11px 12px 10px;display:block}.dev-panel-metric:hover{background:var(--band-dark,#161514)}.dev-panel-metric:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.dev-panel-line{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.dev-panel-key{color:#ededed;font-size:13px;font-weight:500}.dev-panel-val{color:#ededed;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.dev-panel-cap{color:#6b6b6b}.dev-panel-bar{background:#ffffff14;border-radius:999px;height:6px;margin:9px 0 7px;display:flex;position:relative;overflow:hidden}.dev-panel-fill{height:100%;transition:width .4s cubic-bezier(.22,1,.36,1);display:block}.dev-panel-fill--or{background:#4b9fff}.dev-panel-fill--dg{background:#f5a25d}.dev-panel-bar[data-tone=high] .dev-panel-fill{background:#f5b544}.dev-panel-bar[data-tone=full] .dev-panel-fill{background:#f0603f}.dev-panel-bar[data-tone=idle] .dev-panel-fill{background:#3a3a3a}.dev-panel-sub{color:#6b6b6b;font-size:11px}.dev-panel-legend{color:#a0a0a0;flex-wrap:wrap;gap:6px 12px;margin-top:6px;font-size:11px;display:flex}.dev-panel-legend-item{align-items:center;gap:5px;display:inline-flex}.dev-panel-legend-dot{border-radius:999px;width:7px;height:7px;display:inline-block}.dev-panel-legend-dot--or{background:#4b9fff}.dev-panel-legend-dot--dg{background:#f5a25d}.dev-panel-legend-key{color:#8a8a8a}.dev-panel-legend-val{color:#d0d0d0;font-variant-numeric:tabular-nums}.dev-panel-line--foot{padding:8px 10px 6px}.dev-panel-line--foot .dev-panel-key{color:#a0a0a0;font-size:12px;font-weight:400}.dev-panel-line--foot .dev-panel-val{color:#a0a0a0;font-size:12px}.dev-panel-rule{background:#ffffff12;height:1px;margin:2px 6px 4px}.dev-panel-nuke{text-align:left;cursor:pointer;width:100%;font:inherit;color:#d4d4d4;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;padding:8px 10px;font-size:13px;display:flex}.dev-panel-nuke:hover:not(:disabled){background:#ffffff0d}.dev-panel-nuke:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.dev-panel-nuke-icon{color:#8a8a8a;align-items:center;display:inline-flex}.dev-panel-nuke[data-state=confirm]{color:#f0603f;background:#f0603f1f}.dev-panel-nuke[data-state=confirm] .dev-panel-nuke-icon{color:#f0603f}.dev-panel-nuke[data-state=wiping],.dev-panel-nuke[data-state=done]{color:#8a8a8a;cursor:default}.dev-panel-nuke-error{color:#f0603f;padding:4px 10px 6px;font-size:11px}.dev-nuke-error{color:#f87171;background:#1c1917;border:1px solid #f87171;border-radius:4px;max-width:240px;padding:2px 8px;font-size:11px}.bottom-nav-textbooks-anchor{position:relative}.textbooks-popover-shell{z-index:110;filter:drop-shadow(0 4px 16px #00000021)drop-shadow(0 0 .5px #0000001f);width:min(360px,100vw - 32px);position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%)}.textbooks-popover-shell:after{content:"";pointer-events:none;border-top:8px solid #fff;border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.textbooks-popover{background:#fff;border-radius:12px;flex-direction:column;gap:10px;max-height:min(70vh,520px);padding:12px 14px;display:flex;overflow-y:auto}.textbooks-popover-label{color:#9aa3a0;text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.68rem;font-weight:600}.textbooks-popover-desc{color:#5c6662;margin:0;font-size:.82rem;line-height:1.45}.textbooks-popover-empty{color:#5c6662;margin:0;padding:8px 0;font-size:.85rem;line-height:1.45}.textbooks-popover-courses{flex-direction:column;gap:14px;display:flex}.textbooks-course-block{border-top:1px solid #e8ecea;padding-top:12px}.textbooks-course-block:first-child{border-top:none;padding-top:0}.textbooks-course-header{flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin-bottom:8px;display:flex}.textbooks-course-code{letter-spacing:.04em;color:#17201c;font-size:.78rem;font-weight:700}.textbooks-course-name{color:#5c6662;font-size:.82rem}.textbooks-list{flex-direction:column;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.textbooks-item{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.textbooks-file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:1;font-size:.84rem;font-weight:500;overflow:hidden}.textbooks-drop-zone{background:var(--surface-strong);text-align:left;cursor:pointer;border:1px dashed #9db3aa;border-radius:8px;flex-direction:row;justify-content:center;align-items:center;gap:10px;min-height:0;padding:10px 12px;display:flex;position:relative}.textbooks-drop-zone--secondary{gap:8px;padding:8px 12px}.textbooks-drop-zone--secondary span{font-size:.78rem}.textbooks-drop-zone--secondary svg{flex-shrink:0}.textbooks-drop-zone span{color:var(--muted);font-size:.82rem;line-height:1.3}.textbooks-drop-zone svg{color:var(--muted);flex-shrink:0}.textbooks-drop-zone:hover,.textbooks-drop-zone.drag-over{background:var(--accent-soft,#e8f5ef);border-color:#202020}.textbooks-drop-zone.drag-over svg,.textbooks-drop-zone.drag-over span{color:var(--accent-strong,#1b4332)}.textbooks-drop-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.textbooks-remove-btn{color:#9aa3a0;cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;padding:6px;display:grid}.textbooks-remove-btn:hover{color:#b42318;background:#f4f6f5}.textbook-import-backdrop{-webkit-backdrop-filter:blur(4px);z-index:920;background:#1c1c1c66;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.textbook-import-panel{pointer-events:auto;background:var(--surface-raised,#fbfbf8);border-radius:18px;flex-direction:column;gap:12px;width:min(520px,100%);max-height:80vh;padding:24px;display:flex;overflow-y:auto;box-shadow:inset 0 0 0 .714px #fff,0 0 0 .714px #0000001a,0 2px 16px #0000000f,0 16px 40px #0000000a}.textbook-import-panel-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.textbook-import-panel-header h3{margin:0;font-size:.95rem;font-weight:700}.textbook-import-panel-close{flex-shrink:0}.textbook-import-desc{color:var(--muted);margin:0;font-size:.82rem;line-height:1.45}.textbook-import-targets{flex-direction:column;gap:8px;display:flex}.textbook-import-target-row{background:var(--surface-soft,#f7f9f8);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:8px 10px;display:flex}.textbook-import-target-label{flex-direction:column;flex:120px;gap:2px;min-width:0;display:flex}.textbook-import-target-from{color:var(--muted);font-size:.78rem}.textbook-import-target-into{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.72rem;font-weight:600}.textbook-import-list{flex-direction:column;gap:8px;max-height:200px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.textbook-import-item{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px}.textbook-import-label{cursor:pointer;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.textbook-import-label input{flex-shrink:0;margin-top:3px}.textbook-import-item-body{flex-direction:column;gap:3px;min-width:0;display:flex}.textbook-import-item-body strong{color:var(--text);font-size:.88rem}.textbook-import-meta{color:var(--muted);font-size:.78rem}.textbook-import-into-note{color:var(--accent-strong,#1b4332);font-size:.76rem;font-weight:600}.textbook-import-ref{color:var(--muted);font-size:.75rem;font-style:italic;line-height:1.35}.textbook-import-error{color:#b42318;margin:0;font-size:.82rem}.textbook-import-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:2px;padding-top:4px;display:flex}.textbook-import-skip{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#fff;border-radius:8px;padding:8px 14px;font-size:.85rem;font-weight:600}.textbook-import-skip:hover{background:var(--surface-soft,#f7f9f8)}.textbook-import-submit{min-height:38px;padding:0 16px;font-size:.85rem}.textbook-import-toast{left:50%;bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:860;border:1px solid var(--line);background:var(--surface,#fff);width:min(440px,100vw - 24px);color:var(--text);border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:.84rem;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 28px #0000001a}.textbook-import-toast--running{border-color:var(--accent,#4f7cff);background:var(--surface-soft,#f7f9f8)}.textbook-import-toast--done{background:#f0fdf4;border-color:#86efac}.textbook-import-toast--error{background:#fff0f0;border-color:#fecaca}.textbook-import-toast-spinner{color:#202020;flex-shrink:0;animation:1s linear infinite spin}.textbook-import-toast-text{flex-direction:column;flex:1;gap:2px;font-weight:600;line-height:1.35;display:flex}.textbook-import-toast-sub{color:var(--muted);font-size:.78rem;font-weight:400}.textbook-import-toast-dismiss{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;place-items:center;padding:4px;display:grid}.textbook-import-toast-dismiss:hover{color:var(--text);background:#0000000f}.textbook-binder-modal{width:min(440px,100vw - 32px)}.textbook-binder-modal .modal-header h3{align-items:center;gap:8px;display:flex}.textbook-binder-desc{color:var(--muted);margin:0;font-size:.88rem;line-height:1.5}.textbook-binder-desc strong{color:var(--text)}.textbook-binder-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.textbook-binder-secondary{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#fff;border-radius:8px;padding:8px 14px;font-size:.85rem;font-weight:600}.textbook-binder-secondary:hover:not(:disabled){background:var(--surface-soft,#f7f9f8)}.textbook-binder-secondary:disabled{cursor:not-allowed;opacity:.65}.textbook-binder-okay{min-height:38px;padding:0 16px;font-size:.85rem}.bottom-nav-trailing{flex-shrink:0;align-items:center;gap:4px;display:flex}.nav-side-btn-wrap{align-items:center;display:flex;position:relative}.nav-side-btn{width:32px;height:32px;color:var(--ink-icon-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;display:grid;position:relative}.nav-side-btn:hover{color:var(--ink-icon-strong);background:#1717170f}.nav-side-btn:active{background:#17171717}.nav-side-btn--brand{place-items:unset;color:#fff;border:1px solid var(--brand,#0433ff);background:linear-gradient(180deg, #3d63ff 0%, var(--brand,#0433ff) 100%);width:auto;height:32px;transition:transform .14s var(--spring,cubic-bezier(.22, .61, .36, 1)), box-shadow .14s ease;align-items:center;gap:7px;padding:0 11px;display:flex;box-shadow:inset 0 1px #ffffff4d,0 6px 16px -6px #0433ff59}.nav-side-btn--brand:hover{color:#fff;background:linear-gradient(180deg, #3d63ff 0%, var(--brand,#0433ff) 100%);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff4d,0 8px 20px -6px #0433ff73}.nav-side-btn--brand:active{transform:translateY(0);box-shadow:inset 0 1px #ffffff4d,0 4px 10px -6px #0433ff4d}.nav-side-btn--brand>svg{flex:none;align-self:center}.nav-side-btn-label{letter-spacing:-.005em;font-size:13px;font-weight:500;line-height:1}.nav-side-btn-kbd{color:#ffffff8c;font-size:11.5px;font-weight:500;line-height:1}.bottom-nav-trailing .disc-fab{border-radius:var(--radius-sm);width:32px;height:32px;box-shadow:none;background:0 0;border:0}.bottom-nav-trailing .disc-fab:hover{background:#1717170f;transform:none}.bottom-nav-trailing .disc-fab:active{background:#17171717;transform:none}.bottom-nav-trailing .disc-fab[data-open=true]{background:#17171717;outline:none}.bottom-nav-trailing .disc-pop{transform-origin:100% 0;left:auto;right:0}.bottom-nav-trailing .disc-pop:before{left:auto;right:20px}.nav-side-btn-badge{position:absolute;bottom:6px;right:6px}.export-popover{background:var(--surface-raised);z-index:1050;border-radius:14px;flex-direction:column;gap:4px;min-width:220px;padding:10px;display:flex;position:absolute;top:calc(100% + 10px);right:0;box-shadow:inset 0 0 0 .714px #fff,0 0 0 .714px #00000014,0 0 14px #0000000a,0 7px 14px #00000005,0 2px 8px #00000008}.export-popover:after{content:"";border-left:7px solid #0000;border-right:7px solid #0000;border-bottom:7px solid var(--surface-raised);width:0;height:0;position:absolute;top:-7px;right:14px}.export-popover-arrow{display:none}.export-popover-label{font-family:var(--font-mono-narrow);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;margin:0;padding:2px 8px 4px;font-size:.62rem;font-weight:400}.export-popover-item{cursor:pointer;text-align:left;color:var(--ink-strong);background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.export-popover-item:hover:not(:disabled){background:#1717170d}.export-popover-item:disabled{opacity:.4;cursor:default}.export-popover-icon{flex-shrink:0;font-size:1.3rem}.export-popover-item strong{font-size:.85rem;font-weight:600;display:block}.export-popover-item small{color:var(--ink-muted);margin-top:1px;font-size:.72rem;display:block}.sidebar{color:#f7faf8;background:#17201c;flex-direction:column;padding:24px 18px;display:flex}.brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.brand-mark{background:#2aa77f;border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.brand p{margin:0;font-weight:760}.brand span{color:#a8b8b1;font-size:.86rem}.nav-list{gap:8px;display:grid}.nav-button{color:#dbe5e0;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px;text-decoration:none;display:flex}.nav-button .sidebar-chevron{margin-left:auto;transition:transform .16s}.nav-button .sidebar-chevron.open{transform:rotate(180deg)}.nav-button.active,.nav-button:hover{color:#fff;background:#24332d}.course-nav-list{gap:4px;margin:-2px 0 6px 30px;display:grid}.course-nav-link{color:#cfdcd6;border-radius:8px;gap:2px;padding:8px 10px;text-decoration:none;display:grid}.course-nav-link span{font-size:.88rem;font-weight:850}.course-nav-link small{color:#91a39b;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.course-nav-link.active,.course-nav-link:hover{color:#fff;background:#24332d}.workspace{min-width:0;padding:28px}.topbar{justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px;display:flex}h1,h2,p{margin-top:0}.topbar h1{margin-bottom:4px;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.topbar p{color:var(--muted);margin-bottom:0}.search{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:10px;width:min(360px,100%);min-height:42px;padding:0 12px;display:flex}.search input,.chat-form input,.todo-form input{background:0 0;border:0;outline:0;width:100%;min-width:0}.course-strip{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.course{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--text);border-radius:8px;padding:0 12px}.course.active{background:var(--accent-soft);color:var(--accent-strong);border-color:#202020}.grid.two{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px;display:grid}.binder-layout{flex-direction:column;align-items:center;gap:18px;width:100%;display:flex}.binder-title{text-align:center;letter-spacing:-.045em;margin-bottom:4px;font-size:clamp(2.75rem,5.8vw,3.55rem);font-weight:850;line-height:.96}.binder-subtitle{color:var(--muted);text-align:center;margin-bottom:32px;font-size:1rem}.binder-results-full{grid-column:1/-1}.binder-input-row{flex-direction:row;align-items:stretch;gap:0;height:254px;margin-bottom:8px;display:flex}.binder-input-row .drop-zone{flex:1;align-self:flex-end;height:calc(100% - 14px)}.binder-or{width:40px;color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;display:flex}.binder-text-side{border:1px solid var(--line);border-radius:8px;flex-direction:column;flex:1;margin-top:14px;display:flex;overflow:hidden}.binder-text-side textarea{resize:none;font:inherit;background:var(--surface);border:none;border-radius:0;outline:none;flex:1;padding:12px}.binder-add-btn{justify-content:center;width:100%;border-top:1px solid var(--line)!important;border-bottom:none!important;border-left:none!important;border-right:none!important;border-radius:0!important;padding:11px 12px!important}.queue-panel{flex-direction:column;gap:14px;width:100%;max-width:600px;display:flex}.drop-zone-bento{align-items:stretch;gap:8px;display:flex}.drop-zone-main{flex:1;position:relative}.drop-zone-info-btn{z-index:3;width:auto;height:auto;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:0;flex:none;place-items:center;margin:0;padding:2px;line-height:0;display:grid;position:absolute;top:10px;right:10px}.drop-zone-info-btn svg{flex-shrink:0;width:16px;height:16px;display:block;margin:0!important}.drop-zone-info-btn:hover{color:#202020;background:0 0}.formats-modal{width:min(520px,100vw - 32px);max-height:min(72vh,640px)}.formats-modal-desc{color:var(--ink-muted,#171717b3);margin:0 0 10px;font-size:12px;line-height:1.45}.formats-category-grid{flex-direction:column;gap:10px;min-height:0;display:flex;overflow-y:auto}.formats-category{border-bottom:.714px solid #17171714;flex-direction:row;align-items:flex-start;gap:20px;padding-bottom:10px;display:flex}.formats-category:last-child{border-bottom:none;padding-bottom:0}.formats-category-label{letter-spacing:.07em;text-transform:uppercase;width:80px;color:var(--ink-muted,#171717b3);flex-shrink:0;margin:2px 0 0;font-size:9.5px;font-weight:700}.formats-category-list{flex-wrap:wrap;flex:1;gap:4px;margin:0;padding:0;list-style:none;display:flex}.formats-category-item{font-size:11px;font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);color:var(--ink-strong,#171717d9);background:#1717170d;border-radius:5px;padding:2px 7px;line-height:1.4;display:inline-flex}.pdf-range-modal{width:min(480px,100vw - 32px);max-height:min(80vh,720px)}.pdf-range-desc{color:var(--muted);margin:0;font-size:.88rem;line-height:1.45}.pdf-range-desc strong{color:var(--text);font-weight:600}.pdf-chapter-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-strong,#1b4332);margin:0 0 8px;font-size:.72rem;font-weight:700}.pdf-chapter-list{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;max-height:200px;padding:8px;overflow-y:auto}.pdf-chapter-items{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pdf-chapter-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 10px;display:flex}.pdf-chapter-btn:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.pdf-chapter-btn.active{background:var(--accent-soft,#e8f5ef);border-color:#202020}.pdf-chapter-title{color:var(--text);font-size:.85rem;font-weight:600}.pdf-chapter-pages{color:var(--muted);font-size:.75rem}.pdf-range-fields{gap:12px;display:flex}.pdf-range-field{color:var(--muted);flex-direction:column;flex:1;gap:4px;font-size:.78rem;font-weight:600;display:flex}.pdf-range-field input{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:8px 10px;font-size:.9rem}.pdf-range-error{color:#b42318;margin:0;font-size:.82rem}.pdf-range-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.pdf-range-cancel{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#fff;border-radius:8px;padding:8px 14px;font-size:.85rem;font-weight:600}.pdf-range-cancel:hover{background:var(--surface-soft,#f7f9f8)}.pdf-range-import{min-height:38px;padding:0 16px;font-size:.85rem}.pdf-range-modal .modal-header .modal-close{border-radius:6px;padding:6px}.pdf-range-modal .modal-header .modal-close:hover{background:var(--surface-soft,#f7f9f8)}.drop-zone-side{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.bento-btn{border:1px solid var(--line);background:var(--surface);width:80px;color:var(--muted);cursor:pointer;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;font-size:.78rem;font-weight:600;display:flex}.bento-btn:hover{background:var(--surface-strong);color:#202020;border-color:#202020}.modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:10000;background:#1c1c1c66;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--surface-raised);border-radius:var(--radius-lg,18px);flex-direction:column;gap:14px;width:min(860px,100vw - 32px);max-height:70vh;padding:24px;display:flex;overflow:hidden auto;box-shadow:inset 0 0 0 .714px #fff,0 0 0 .714px #00000014,0 0 14px #0000000a,0 7px 14px #00000005,0 2px 8px #00000008}.modal .summary-list{flex:1;min-height:0;overflow:hidden auto}.modal *{box-sizing:border-box;min-width:0}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-family:var(--font-display);letter-spacing:-.018em;color:var(--ink);margin:0;font-size:1.05rem;font-weight:510}.modal-close{background:var(--bg);border-radius:var(--radius-sm,8px);cursor:pointer;color:var(--ink-muted);transition:transform .14s var(--spring), box-shadow .14s ease;border:1px solid #2020201a;align-items:center;padding:5px;display:flex;box-shadow:0 2px 3px #0000000f,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.modal-close:hover{transform:translateY(-1px);box-shadow:0 4px 6px #0000001a,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.modal-fields{gap:10px;display:flex}.modal-input{border-radius:var(--radius-sm,8px);font:inherit;background:var(--surface-raised);border:0;outline:none;flex:1;padding:8px 10px;font-size:.9rem;box-shadow:inset 0 1.5px 3px #0000001a,inset 0 0 0 1px #0000000f,0 1px #fff}.modal-input:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.modal-textarea{resize:none;border-radius:var(--radius-sm,8px);font:inherit;background:var(--surface-raised);border:0;outline:none;height:180px;padding:10px;font-size:.9rem;box-shadow:inset 0 1.5px 3px #0000001a,inset 0 0 0 1px #0000000f,0 1px #fff}.modal-textarea:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.modal-submit{align-self:flex-end}.modal-desc{color:var(--muted);margin:0;font-size:.88rem}.modal-drop-zone{min-height:140px}.summary-error-banner{background:var(--error-bg,#fff0f0);border:1px solid var(--error-border,#f5c6c6);color:var(--error-text,#a33);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;font-size:.875rem;display:flex}.summary-retry-btn{cursor:pointer;color:inherit;background:0 0;border:1px solid;border-radius:6px;flex-shrink:0;padding:4px 10px;font-size:.8rem;font-weight:600}.summary-retry-btn:hover{background:var(--error-border,#f5c6c6)}.inline-edit-btn{opacity:.4;margin-right:4px}.inline-edit-btn:hover{opacity:1}.summary-list{columns:260px;column-count:2;column-gap:10px;margin:0;padding:0;list-style:none}.summary-list--single{columns:unset;column-count:unset}.summary-list>*{break-inside:avoid;margin-bottom:10px}.summary-item{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;flex-direction:column;gap:4px;padding:12px;display:flex}.summary-item-error{background:#fff5f3;border-color:#e0bab1}.summary-item-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.7rem;font-weight:700}.summary-item-note{flex-direction:column;gap:3px;display:flex}.summary-item-title{align-items:center;gap:6px;font-size:.95rem;font-weight:600;display:flex}.summary-item-course{text-transform:uppercase;color:var(--accent-strong);align-items:center;gap:4px;font-size:.75rem;font-weight:700;display:flex}.summary-item-course--unknown{color:var(--muted);text-transform:none;font-style:italic}.summary-item-course--unmatched{color:var(--fg);opacity:.7}.summary-course-unknown{font-weight:500}.summary-course-matched-pill{text-transform:none;color:var(--accent-green);letter-spacing:normal;background:#d1fae5;border-radius:4px;padding:1px 5px;font-size:.6rem;font-weight:500;display:inline-block}.summary-item-todos{color:var(--muted);flex-direction:column;gap:6px;margin-top:4px;font-size:.82rem;display:flex}.summary-todos-header{align-items:center;gap:5px;font-weight:600;display:flex}.summary-todos-list{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.summary-todo-item{border:1px solid var(--line);background:var(--surface);border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:.85rem;display:flex}.summary-todo-title{color:var(--text);flex:1;align-items:center;gap:3px;line-height:1.3;display:flex}.summary-todo-due{color:var(--accent-strong);white-space:nowrap;flex-shrink:0;align-items:center;gap:3px;font-size:.72rem;font-weight:700;display:flex}.summary-item-error-msg{color:#a23d2a;font-size:.85rem}.summary-item-courseinfo{color:var(--muted);flex-direction:column;gap:6px;margin-top:4px;font-size:.82rem;display:flex}.summary-courseinfo-row{align-items:flex-start}.summary-link-btn{cursor:pointer;color:var(--accent-strong);font-size:inherit;background:0 0;border:none;padding:0;font-weight:600}.summary-courseinfo-value--truncated{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.summary-courseinfo-chevron{cursor:pointer;color:var(--muted);background:0 0;border:none;flex-shrink:0;align-items:center;margin-top:2px;padding:0;display:flex}.summary-courseinfo-chevron:hover{color:var(--text)}.summary-status-pill{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:.65rem;font-weight:700}.summary-status-pill--new{color:var(--accent-strong);background:#e6f4ec}.summary-status-pill--updated{color:var(--muted);background:#f0f0f0}.summary-courseinfo-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;width:160px;font-size:.72rem;font-weight:700;display:flex;overflow:hidden}.summary-courseinfo-value{color:var(--text);word-break:break-word;flex:1;align-items:center;gap:6px;min-width:0;font-size:.85rem;display:flex}.summary-courseinfo-row{gap:12px}.summary-actions{flex-direction:column;gap:8px;display:flex}.summary-nav-row{gap:8px;display:flex}.summary-action-half{flex:1;justify-content:center}.summary-actions .primary-action{align-self:flex-end}.recent-section{width:100%;max-width:600px;margin-top:24px}.recent-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 10px;font-size:.78rem;font-weight:600}.recent-list{border:1px solid var(--line);border-radius:8px;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.recent-item{align-items:center;gap:10px;padding:8px 10px;display:flex}.recent-item:last-child{border-bottom:none}.recent-item:hover{background:var(--surface-strong)}.recent-item-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.recent-item-title{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;font-size:.9rem;display:flex;overflow:hidden}.recent-item-course{text-transform:uppercase;color:var(--accent-strong);align-items:center;gap:4px;font-size:.75rem;font-weight:700;display:flex}.recent-item-filename{color:var(--muted);opacity:.7;white-space:nowrap;text-overflow:ellipsis;max-width:240px;font-size:.72rem;font-weight:400;display:block;overflow:hidden}.recent-open-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:4px;display:flex}.recent-open-btn:hover:not(.recent-todos-btn):not(.recent-courseinfo-badge):not(.recent-delete-btn):not(.recent-expand-btn){color:#202020;background:var(--surface-strong)}.recent-delete-btn:hover{color:#e05252;background:var(--surface-strong)}.recent-actions{flex-direction:row;flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.recent-todos-btn{white-space:nowrap;color:var(--muted);cursor:pointer;border-radius:4px;align-items:center;gap:5px;padding:4px 8px;font-size:.75rem;font-weight:600;display:flex}.recent-todos-btn:hover{background:var(--surface-strong);color:#202020}.recent-courseinfo-badge{cursor:pointer;white-space:nowrap;color:var(--muted);border-radius:4px;gap:5px;padding:4px 8px;font-size:.75rem;font-weight:600}.recent-courseinfo-badge:hover{background:var(--surface-strong);color:#202020}.recent-expand-btn:hover{color:var(--accent-strong);background:var(--surface-strong)}.recent-item-wrap{border-bottom:1px solid var(--line);flex-direction:column;display:flex}.recent-item-wrap:last-child{border-bottom:none}.recent-details{background:var(--surface-strong);flex-direction:column;gap:8px;padding:8px 10px 10px;display:flex}.recent-detail-section{flex-direction:column;gap:6px;display:flex}.recent-detail-header{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);align-items:center;gap:5px;font-size:.76rem;font-weight:700;display:flex}.recent-detail-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.recent-detail-item{background:var(--surface);border:1px solid var(--line);border-radius:6px;align-items:center;gap:12px;padding:6px 8px;font-size:.84rem;display:flex}.recent-detail-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:8px;font-weight:500;display:flex;overflow:hidden}.recent-detail-meta{color:var(--accent-strong);white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;font-size:.7rem;font-weight:700;display:flex}.recent-detail-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;width:160px;font-size:.7rem;font-weight:700;display:flex;overflow:hidden}.recent-detail-value{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:8px;display:flex;overflow:hidden}.recent-detail-save{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:3px 8px;font-size:.75rem;font-weight:600}.recent-detail-save:hover{background:var(--accent-strong)}.recent-details-empty{color:var(--muted);text-align:center;margin:0;padding:8px 0;font-size:.82rem}.recent-heading-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.recent-clear-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:.72rem;line-height:1}.recent-clear-btn:hover{color:var(--text);background:var(--surface-strong)}.ra-section{z-index:1;width:100%;max-width:960px;margin-top:32px;position:relative}.ra-header-row{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.ra-header-left{align-items:center;gap:10px;display:flex}.ra-mono{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-faint,#17171780);font-size:10px;font-weight:400}.ra-clear-btn{cursor:pointer;font-size:11px;font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-faint,#17171780);background:0 0;border:none;border-radius:5px;padding:2px 6px}.ra-clear-btn:hover{color:var(--ink-muted,#171717b3);background:#1717170d}.ra-list{flex-direction:column;gap:0;display:flex}.ra-empty-state{color:#17171761;margin:8px 0 0;padding:0;font-size:13px;font-style:italic}.ra-group{margin-bottom:24px}.ra-group:last-child{margin-bottom:0}.ra-group-stamp{align-items:baseline;gap:5px;margin-bottom:8px;padding-bottom:10px;display:flex}.ra-group-time{font-family:var(--font-mono);letter-spacing:.07em;color:var(--ink-muted,#171717b3);font-size:9.5px;font-weight:400}.ra-group-count{font-family:var(--font-mono-narrow);color:var(--ink-faint,#17171780);font-size:9.5px}.ra-notes{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ra-note-row{background:var(--surface-raised,#fbfbf8);border:1px solid #17171714;border-radius:12px;align-items:flex-start;gap:10px;padding:11px 13px;transition:box-shadow .15s;display:flex;box-shadow:inset 0 1px #ffffffb3,0 2px 6px #00000008}.ra-note-row:hover{border-color:#17171721;box-shadow:inset 0 1px #ffffffb3,0 4px 12px #0000000f}.ra-note-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:6px}.ra-note-body{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.ra-note-top{flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;display:flex}.ra-note-title{cursor:pointer;color:var(--ink,#171717e6);text-align:left;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;background:0 0;border:none;flex-shrink:1;min-width:0;padding:0;font-size:14px;font-weight:600;overflow:hidden}.ra-note-title:hover{color:var(--ink-muted,#171717b3)}.ra-course-tag{font-family:var(--font-mono-narrow);letter-spacing:.05em;white-space:nowrap;background:0 0;border:1px solid;border-radius:5px;flex-shrink:0;padding:2px 7px;font-size:9.5px;font-weight:400}.ra-note-actions{flex-shrink:0;align-items:center;gap:5px;margin-left:auto;display:flex}.ra-chip{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.ra-chip--todo{color:#2c7a42;background:#34a8531a}.ra-chip--todo:hover{background:#34a8532e}.ra-chip--info{color:#1a5fa8;background:#1a6fd11a}.ra-chip--info:hover{background:#1a6fd12e}.ra-delete-btn{cursor:pointer;color:var(--ink-icon-faint);background:0 0;border:none;border-radius:5px;align-items:center;padding:4px;display:flex}.ra-delete-btn:hover{color:#e53e3e;background:#e53e3e12}.ra-sources{flex-wrap:wrap;gap:5px;display:flex}.ra-source-chip{color:var(--ink-muted,#171717b3);background:#1717170a;border:1px solid #17171714;border-radius:5px;align-items:center;gap:4px;padding:2px 7px;font-size:11px;display:inline-flex}.ra-source-ext{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint,#17171780);font-size:9px;font-weight:400}.ra-source-pasted{opacity:.7;font-style:italic}.course-code-pill{background:var(--accent-soft,#e8f5ef);border:1px solid color-mix(in srgb, var(--accent,#2d6a4f) 35%, var(--line));text-transform:uppercase;letter-spacing:.05em;color:var(--accent-strong,#1b4332);border-radius:4px;flex-shrink:0;align-items:center;padding:2px 8px;font-size:.68rem;font-weight:700;line-height:1.2;display:inline-flex}.file-ext-tag,.source-channel-pill{background:color-mix(in srgb, var(--accent,#3d7a5a) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent,#3d7a5a) 35%, var(--line));text-transform:uppercase;letter-spacing:.03em;color:var(--accent,#3d7a5a);border-radius:4px;align-items:center;padding:1px 6px;font-size:.65rem;font-weight:600;display:inline-flex}.note-picker-option-hint{opacity:.55;font-size:.7rem;font-weight:400;display:block}.file-ext-pill,.ext-pill{border-radius:var(--radius-sm,8px);background:var(--surface-raised);border:1px solid var(--border-card);font-size:.62rem;font-weight:400;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);vertical-align:middle;flex-shrink:0;align-items:center;margin-left:6px;padding:1px 6px;line-height:1.2;display:inline-flex;box-shadow:0 1px 1px #0000000d,inset 0 1px #fff}.file-ext-pill[data-ext=pdf]{color:#a05a42;background:#fdf1ec;border-color:#b06e5647}.file-ext-pill[data-ext=docx]{color:#3a5e9e;background:#eef3fb;border-color:#4d78c447}.file-ext-pill[data-ext=doc]{color:var(--accent-green);background:#eaf7ef;border-color:#2c8f4a47}.file-ext-pill[data-ext=png],.file-ext-pill[data-ext=jpg],.file-ext-pill[data-ext=jpeg],.file-ext-pill[data-ext=img]{color:#5b46c8;background:#f1eefb;border-color:#6a58d047}.file-ext-pill[data-ext=mp4],.file-ext-pill[data-ext=mov],.file-ext-pill[data-ext=ics],.file-ext-pill[data-ext=cal]{color:var(--app-blue);background:#eaf3fc;border-color:#1a6fd147}.file-ext-pill[data-ext=pptx],.file-ext-pill[data-ext=ppt]{color:#c25439;background:#fdeee7;border-color:#d0663f47}.source-count-tag{color:var(--muted);flex-shrink:0;margin-left:6px;font-size:.68rem;font-weight:600}.queue-process{margin-top:auto;padding-top:4px}.queue-empty{color:var(--muted);margin:0;font-size:.9rem}.grouping-check-indicator{color:var(--muted,#8a9099);margin:4px 2px 0;font-size:.78rem}.batch-review-status{color:var(--muted);background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;margin:10px 2px 4px;padding:10px 12px;font-size:.82rem;display:flex}.interrupted-banner{background:var(--warning-bg,#fffbe6);border:1px solid var(--warning-border,#f0c040);color:var(--text,#1a1a1a);border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:8px;padding:10px 12px;font-size:.82rem;display:flex}.interrupted-banner span{flex:1}.interrupted-dismiss{cursor:pointer;color:var(--accent,#4f7cff);white-space:nowrap;background:0 0;border:none;flex-shrink:0;padding:0;font-size:.8rem;font-weight:600}.interrupted-dismiss:hover{opacity:.75}.panel,.note-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:18px}.panel-heading{align-items:center;gap:10px;margin-bottom:16px;display:flex}.panel-heading h2{margin-bottom:0;font-size:1.05rem}.drop-zone{background:var(--surface-strong);text-align:center;border:1px dashed #9db3aa;border-radius:8px;flex-direction:column;justify-content:center;align-self:stretch;align-items:center;gap:6px;padding:20px;display:flex;position:relative}.drop-zone-inner{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;display:flex}.drop-zone-inner svg:first-child{margin-bottom:10px}.drop-zone span{color:var(--muted);font-size:.92rem}.drop-zone input{opacity:0;z-index:1;position:absolute;inset:0}.binder-fields{flex-direction:row;gap:10px;margin-bottom:14px;display:flex}.binder-fields label:first-child{flex-shrink:0;width:160px}.binder-fields label:last-child{flex:1}.binder-fields label{gap:6px;display:grid}.binder-fields span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800}.binder-fields input{border:1px solid var(--line);border-radius:8px;outline:0;min-width:0;min-height:42px;padding:0 12px}textarea{resize:vertical;border:1px solid var(--line);border-radius:8px;outline:0;width:100%;min-height:150px;margin:14px 0;padding:12px}.primary-action,.icon-button,.secondary-action{justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;display:inline-flex}.icon-button{background:var(--accent);color:#fff;border:0;border-radius:8px;font-weight:700}.primary-action{color:#fff;transition:transform .14s var(--spring,cubic-bezier(.22, .61, .36, 1)), box-shadow .14s ease;background:linear-gradient(#2020201a,#2020201a),linear-gradient(#4f4f4f 0%,#202020d9 100%);border:1px solid #383838;border-radius:8px;font-weight:400;box-shadow:0 0 0 1px #4040401f,inset 0 2px #ffffff3d,inset 0 -.5px 2px #00000040,0 2px 8px #00000008,0 3px 4px #00000029}.primary-action:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 0 1px #4040401f,inset 0 2px #ffffff3d,inset 0 -.5px 2px #00000040,0 4px 12px #0000000d,0 5px 6px #0003}.primary-action:active:not(:disabled){transform:translateY(0);box-shadow:0 0 0 1px #4040401f,inset 0 2px #ffffff3d,inset 0 -.5px 2px #00000040,0 1px 4px #00000008,0 2px 3px #00000029}.primary-action:disabled{cursor:not-allowed;opacity:.4}.secondary-action{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;margin-top:10px}.secondary-action:hover{color:var(--accent-strong);border-color:#202020}.compact{min-width:88px}.binder-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.status-text{color:var(--muted);margin:0;font-size:.92rem}.status-text.success{color:var(--accent-strong)}.status-text.error{color:#a23d2a}.preview-stack{gap:12px;display:grid}.batch-section{flex-direction:column;gap:8px;display:flex}.batch-header{text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#8a9099);padding:2px;font-size:.72rem;font-weight:600}.process-batch-btn{align-self:flex-end;margin-top:2px;padding:6px 16px;font-size:.83rem}.summary-batch-section{border-top:1px solid var(--line);margin-top:4px;padding-top:12px}.summary-batch-section:first-child{border-top:none;margin-top:0;padding-top:0}.summary-batch-header{text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#8a9099);margin-bottom:8px;font-size:.72rem;font-weight:600}.summary-still-processing{color:var(--muted,#8a9099);text-align:center;margin:4px 0 0;font-size:.78rem}.queue-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.queue-item{border:1px solid var(--line);background:#fbfcfc;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:.88rem;display:flex}.queue-item.processing{background:linear-gradient(90deg,#f0f9f4 25%,#e6f5ec 50%,#f0f9f4 75%) 0 0/200% 100%;border-color:#202020;animation:1.6s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.queue-item-spinner{color:#202020;flex-shrink:0;animation:1s linear infinite spin}.binder-nav-spinner{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.queue-item.done{opacity:.55}.queue-item-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex;overflow:hidden}.queue-item-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;display:flex;overflow:hidden}.queue-item-course{color:var(--accent-strong);text-transform:uppercase;align-items:center;gap:4px;font-size:.75rem;font-weight:700;display:flex}.queue-item-edit-input{border:1px solid var(--accent);font:inherit;border-radius:4px;outline:none;width:100%;padding:2px 6px;font-size:.88rem}.queue-item-edit-course{text-transform:uppercase;width:100px;font-size:.75rem;font-weight:700}.queue-item-status{color:var(--muted);text-transform:capitalize;font-size:.75rem}.queue-item-error{color:#a23d2a;font-size:.75rem}.queue-item-remove{cursor:pointer;color:var(--muted);background:0 0;border:none;align-items:center;padding:2px;display:flex}.queue-item-remove:hover{color:#a23d2a}.queue-item-retry{cursor:pointer;color:#a23d2a;background:0 0;border:none;flex-shrink:0;align-items:center;padding:2px;display:flex}.queue-item-retry:hover{color:#7a2d1f}.queue-item-done{color:#2e7d32;white-space:nowrap;flex-shrink:0;font-size:.72rem;font-weight:500}.queue-group-block{border:1px solid color-mix(in srgb, var(--accent,#4f6ef7) 35%, transparent);background:#fbfcfc;border-radius:8px;list-style:none;overflow:hidden}.queue-group-header{background:color-mix(in srgb, var(--accent,#4f6ef7) 8%, #fff);border-bottom:1px solid color-mix(in srgb, var(--accent,#4f6ef7) 20%, transparent);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.queue-group-item{color:var(--fg,#111);border-top:1px solid var(--line,#eee);align-items:center;gap:8px;padding:7px 12px;font-size:.85rem;display:flex}.queue-group-item:first-of-type{border-top:none}.suggestion-prompt{color:var(--fg,#111);margin:0;font-size:.78rem;font-weight:600}.suggestion-actions{flex-shrink:0;gap:6px;display:flex}.suggestion-accept{background:var(--accent,#4f6ef7);color:#fff;cursor:pointer;border:none;border-radius:5px;padding:3px 10px;font-size:.75rem;font-weight:600}.suggestion-accept:hover{opacity:.88}.suggestion-dismiss{border:1px solid var(--border,#ddd);color:var(--fg-muted,#666);cursor:pointer;background:0 0;border-radius:5px;padding:3px 10px;font-size:.75rem}.suggestion-dismiss:hover{background:var(--surface-hover,#f5f5f5)}.add-text-btn{align-self:flex-start}.text-item-form{flex-direction:column;gap:12px;display:flex}.results-list{flex-direction:column;gap:16px;display:flex}.result-item{border-bottom:1px solid var(--line);padding-bottom:16px}.result-item:last-of-type{border-bottom:none}.result-header small{color:var(--accent-strong);text-transform:uppercase;font-size:.78rem;font-weight:800}.result-item h3{margin:6px 0 8px}.result-item p{color:var(--muted);margin:0 0 10px}.result-meta{color:var(--muted);font-size:.78rem}.result-editable{align-items:center;gap:4px;display:flex}.edit-icon-btn{cursor:pointer;color:var(--muted);opacity:.35;background:0 0;border:none;flex-shrink:0;align-items:center;padding:2px;display:inline-flex}.edit-icon-btn:hover{color:var(--accent-strong);opacity:1}.result-edit-input{text-transform:uppercase;color:var(--accent-strong);border:1px solid var(--accent);background:var(--surface);border-radius:4px;padding:2px 6px;font-size:.78rem;font-weight:800}.result-edit-title{text-transform:none;color:var(--text);font-size:1rem;font-weight:700}.preview-row{border-bottom:1px solid var(--line);padding-bottom:12px}.preview-row span,.note-card span,.latest-output span{color:var(--accent-strong);letter-spacing:0;text-transform:uppercase;font-size:.78rem;font-weight:800}.preview-row p{margin:6px 0 0}.latest-output h3{margin:8px 0}.latest-output p{color:var(--muted)}.section-list{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.section-list small{border:1px solid var(--line);color:var(--muted);background:#fbfcfc;border-radius:8px;padding:6px 8px}.note-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.note-card h2{margin:10px 0 8px;font-size:1.08rem}.note-card p{color:var(--muted);margin-bottom:0}.note-body{color:var(--muted);font-size:.9rem;line-height:1.6}.note-body h2,.note-body h3{color:var(--fg);margin:10px 0 4px;font-size:.95rem;font-weight:600}.note-body ul,.note-body ol{margin:4px 0;padding-left:1.2rem}.note-body li{margin:2px 0}.note-body strong{color:var(--fg);font-weight:600}.note-body p{margin:4px 0}.note-body-collapsed{max-height:120px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 60%,#0000 100%);mask-image:linear-gradient(#000 60%,#0000 100%)}.note-expand-btn{color:var(--accent,#4a9b7f);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-top:6px;padding:0;font-size:.8rem;display:flex}.note-expander{margin:6px 0}.learning-panel{grid-template-rows:1fr auto;gap:16px;min-height:520px;display:grid}.chat-window{border:1px solid var(--line);background:#fbfcfc;border-radius:8px;padding:16px}.assistant-message{background:var(--surface-strong);color:#26342f;border-radius:8px;max-width:720px;padding:14px}.chat-form,.todo-form{gap:10px;min-height:46px;display:flex}.chat-form input,.todo-form input{border:1px solid var(--line);background:#fff;border-radius:8px;padding:0 12px}.todo-list{gap:10px;margin-top:16px;display:grid}.todo{border:1px solid var(--line);border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;display:grid}.todo.done span{color:var(--muted);text-decoration:line-through}.todo small{color:var(--muted)}.task-panel{gap:16px;display:grid}.add-task-row{grid-template-columns:minmax(320px,1fr) 120px 150px 150px auto;align-items:end;gap:10px;display:grid}.task-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.task-controls .task-search{flex:200px;min-width:140px}.task-controls .soft-select{min-width:130px}.add-task-row input,.task-search input{border:1px solid var(--line);width:100%;min-height:42px;color:var(--text);background:#fff;border-radius:8px;outline:0;padding:0 12px}.add-task-row input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-width:0}.add-task-row input:focus,.task-search input:focus,.grade-input input:focus{border-color:#202020;box-shadow:0 0 0 3px #1717171f}.task-controls label,.soft-select{gap:6px;display:grid;position:relative}.task-controls label>span,.soft-select-label{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800}.soft-select-trigger{border:1px solid var(--line);width:100%;min-height:42px;color:var(--text);text-align:left;background:#fbfcfc;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:0 10px 0 12px;font-weight:760;display:inline-flex}.soft-select-trigger:focus-visible{border-color:#202020;outline:0;box-shadow:0 0 0 3px #17171724}.soft-select-trigger:disabled{cursor:not-allowed;opacity:.7}.soft-select-trigger.new{color:#1a6b3e;background:#f0faf4;border-color:#7ecfa0}.soft-select-trigger.not_started,.soft-select-trigger.na{background:#f5f7f6}.soft-select-trigger.in_progress{color:#245996;background:#f2f7ff;border-color:#bfd4f0}.soft-select-trigger.submitted{color:#2a3a4d;background:#f0f3f7;border-color:#b8c4d0}.soft-select-trigger.completed{color:#2a2825;background:#eeede9;border-color:#b0aead}.soft-select-trigger.overdue{color:#9b2f1f;background:#fff0ed;border-color:#e4a095}.status-control{min-width:170px}.soft-select-menu{z-index:999;border:1px solid var(--line);background:#fff;border-radius:8px;width:max(100%,190px);max-height:280px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 18px 42px #17201c24}.soft-select-option{width:100%;min-height:34px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:0 8px;display:flex}.soft-select-option span:nth-child(2),.soft-select-option span:first-child:last-of-type{flex:1}.status-dot{background:#9aa6a1;border-radius:999px;flex:none;width:8px;height:8px}.status-dot.submitted{background:#5a7a9b}.status-dot.completed{background:#2a2825}.status-dot.new{background:var(--accent-green)}.grade-input{border:1px solid var(--line);color:var(--muted);background:#fbfcfc;border-radius:8px;grid-template-columns:auto 70px auto 70px auto;align-items:center;gap:6px;padding:6px 8px;font-size:.85rem;font-weight:800;display:inline-grid}.grade-input input{border:1px solid var(--line);background:#fff;border-radius:8px;width:70px;min-height:32px;padding:0 8px}.grade-input strong,.weight-label{color:var(--accent-strong)}.compact-grade{grid-template-columns:48px 54px auto 54px auto;padding:4px 6px}.compact-grade input{width:54px}.grade-empty{color:var(--muted)}.empty-state{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:8px;padding:24px}.course-tabs{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.course-tabs a,.course-tabs button{border:1px solid var(--line);min-height:36px;color:var(--text);background:#fff;border-radius:8px;padding:8px 12px;text-decoration:none}.course-tabs button{cursor:pointer}.course-tabs a.active,.course-tabs button.active{background:var(--accent-soft);color:var(--accent-strong);border-color:#202020;font-weight:800}.course-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.course-overview-stack{gap:16px;display:grid}.course-summary-panel.wide{gap:6px;display:grid}.course-stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.course-stat-card{gap:6px;display:grid}.course-stat-card strong{font-size:1.6rem}.course-overview-columns{grid-template-columns:minmax(280px,.8fr) minmax(420px,1.4fr);gap:16px;display:grid}.course-preview-panel{gap:12px;display:grid}.course-summary-panel span,.source-list-item span,.course-stat-card span{color:var(--accent-strong);text-transform:uppercase;font-size:.78rem;font-weight:850}.course-summary-panel h2{margin:8px 0}.course-summary-panel p,.course-placeholder-panel p,.source-list-item p{color:var(--muted);margin-bottom:0}.source-list{gap:12px;display:grid}.source-list-item small{color:var(--muted);font-weight:700}.source-list-item{gap:8px;display:grid}.source-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.source-badge{text-transform:uppercase;color:var(--muted);border:1px solid var(--line);background:#f4f6f5;border-radius:8px;align-items:center;gap:5px;padding:4px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.source-badge.slides{color:#2d5f8a;background:#eef4fa;border-color:#b8cde0}.source-badge.email{color:#5d3f7a;background:#f4eef9;border-color:#c4b5d5}.source-badge.image{color:#2d6b4a;background:#eef6f1;border-color:#bcd9c8}.source-badge.transcript{color:#6b2d4a;background:#f6ecf1;border-color:#d4b5c4}.source-badge.text{color:#2d4a6b;background:#ecf1f6;border-color:#b5c4d4}.source-duration{color:var(--muted)!important;text-transform:none!important;font-size:.82rem!important;font-weight:700!important}.source-filename{color:var(--muted)!important;text-transform:none!important;font-size:.82rem!important;font-weight:400!important}.source-linked{color:var(--muted);gap:12px;font-size:.82rem;font-weight:700;display:flex}.source-actions{flex-wrap:wrap;gap:8px;display:flex}.source-action{border:1px solid var(--line);color:var(--accent-strong);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:800;text-decoration:none;display:inline-flex}.source-action:hover{background:var(--accent-soft);border-color:#202020}.source-detail-body{gap:16px;display:grid}.transcript-block{border:1px solid var(--line);color:#26342f;background:#fbfcfc;border-radius:8px;max-height:320px;padding:14px;font-size:.92rem;line-height:1.6;overflow-y:auto}.audio-meta{color:var(--muted);gap:12px;font-size:.88rem;display:flex}audio{border-radius:8px;width:100%}.storage-note{color:var(--muted);font-size:.78rem}.source-linked-section{gap:8px;display:grid}.source-linked-section a{color:var(--brand);font-weight:600;text-decoration:none}.dashboard-section-heading button{color:var(--accent-strong);background:0 0;border:0;font-weight:850}.course-preview-row,.recent-note-card.as-button{border:1px solid var(--line);width:100%;color:var(--text);text-align:left;background:#fbfcfc;border-radius:8px;padding:12px}.course-preview-row{gap:5px;display:grid}.course-preview-row span,.recent-note-card.as-button small{color:var(--muted);font-size:.88rem}.course-preview-row:hover,.recent-note-card.as-button:hover{background:#fff;border-color:#b8d8ce}.course-table-note{color:var(--muted);align-items:center;gap:10px;display:flex}.course-table-note strong{color:var(--accent-strong)}.back-link,.breadcrumb{color:var(--brand);align-items:center;gap:8px;font-weight:600;text-decoration:none;display:inline-flex}.back-link{margin-bottom:18px}.breadcrumb{color:var(--muted);margin-bottom:8px;font-size:.9rem}.breadcrumb a{color:var(--accent-strong);text-decoration:none}.detail-hero{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.detail-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.detail-title-row h1{margin:0}.detail-hero p{color:var(--muted);margin:8px 0 0}.task-detail-layout{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:start;gap:18px;display:grid}.detail-left{gap:18px;display:grid}.detail-card{border-radius:var(--radius-card,14px);filter:drop-shadow(0 14px 26px #00000021);background:linear-gradient(176deg,#fff,#fbfbf8 40%,#f4f4ee);border:1px solid #26232338;padding:18px;box-shadow:inset 0 2px #fff,inset 0 0 .5px 1.5px #ffffffb3,inset 0 -6px 10px -8px #0000000d}.detail-section-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.detail-section-heading span,.source-block span,.detail-field span,.detail-checkbox span,.extraction-grid span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:600}.detail-section-heading h2{margin:4px 0 0;font-size:1.1rem}.detail-section-heading p{color:var(--muted);margin:6px 0 0;line-height:1.45}.source-open-link{width:auto;margin-top:0}.source-preview{border-radius:var(--radius-sm,8px);background:var(--surface-raised,#fbfbf8);min-height:190px;color:var(--muted);text-align:center;place-items:center;gap:8px;padding:22px;display:grid;box-shadow:inset 0 1.5px 3px #0000001a,inset 0 0 0 1px #0000000f,0 1px #fff}.source-block{margin-top:14px}.source-block p{color:#3c4944;margin:8px 0 0;line-height:1.55}.task-detail-editor{gap:14px;display:grid}.detail-collapse,.extraction-info{border:1px solid var(--line);background:#fbfcfc;border-radius:8px}.detail-collapse summary,.extraction-info summary{cursor:pointer;color:var(--text);padding:12px 14px;font-weight:850;list-style:none}.detail-collapse summary::-webkit-details-marker{display:none}.extraction-info summary::-webkit-details-marker{display:none}.detail-collapse summary:after,.extraction-info summary:after{content:"Show";float:right;color:var(--accent-strong);font-size:.86rem}.detail-collapse[open] summary:after,.extraction-info[open] summary:after{content:"Hide"}.detail-collapse-content{border-top:1px solid var(--line);gap:12px;padding:14px;display:grid}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.detail-field{gap:6px;display:grid}.detail-field.full{grid-column:1/-1}.detail-field input,.detail-field textarea{border:1px solid var(--line);width:100%;min-height:42px;color:var(--text);background:#fbfcfc;border-radius:8px;outline:0;padding:0 12px}.detail-field textarea{min-height:92px;padding:10px 12px}.detail-field input:focus,.detail-field textarea:focus{border-color:#202020;box-shadow:0 0 0 3px #1717171f}.detail-checkbox{align-self:end;align-items:center;gap:8px;min-height:42px;display:flex}.detail-actions{align-items:center;gap:10px;margin-top:4px;display:flex}.detail-actions .secondary-action{width:auto;margin-top:0}.saved-indicator{color:var(--accent-strong);font-size:.9rem}.extraction-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;display:grid}.extraction-grid div{border:1px solid var(--line);background:#fbfcfc;border-radius:8px;gap:4px;padding:9px;display:grid}.extraction-grid strong{color:var(--text);font-size:.92rem}.extraction-info summary span{display:block}.extraction-info summary small{color:var(--muted);margin-top:4px;font-weight:500;display:block}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.dashboard-wide-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:16px;display:grid}.dashboard-panel{gap:12px;display:grid}.dashboard-section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard-section-heading h2{margin:0;font-size:1.08rem}.dashboard-section-heading a{color:var(--accent-strong);font-size:.86rem;font-weight:800;text-decoration:none}.dashboard-task-list,.recent-notes-list,.course-dashboard-grid{gap:10px;display:grid}.dashboard-task-summary,.recent-note-card,.course-dashboard-card{border:1px solid var(--line);color:var(--text);background:#fbfcfc;border-radius:8px;gap:5px;padding:12px;text-decoration:none;display:grid}.dashboard-task-summary:hover,.recent-note-card:hover,.course-dashboard-card:hover{background:#fff;border-color:#b8d8ce}.dashboard-task-summary span,.recent-note-card span,.course-dashboard-card span,.course-dashboard-card small{color:var(--muted);font-size:.88rem}.course-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-dashboard-card strong,.recent-note-card span{color:var(--accent-strong);font-weight:850}.course-dashboard-card p,.recent-note-card p{color:var(--muted);margin:2px 0 0}.compact-empty{padding:16px}.sidebar-logout{opacity:.7;width:100%;margin-top:auto}.sidebar-logout:hover{opacity:1}.sidebar-delete-account{opacity:.55;margin-top:4px}.sidebar-delete-account:hover{color:#a83420;opacity:1}.auth-shell{background:var(--binder-bg,#f5f5f2);isolation:isolate;place-items:center;min-height:100vh;padding:24px;display:grid;position:relative}.auth-shell:before{content:"";pointer-events:none;z-index:-1;background-image:linear-gradient(90deg,#17171712 1px,#0000 1px),linear-gradient(#17171712 1px,#0000 1px);background-size:32px 32px;position:fixed;inset:-10%;-webkit-mask-image:radial-gradient(65% 60% at 50% 48%,#000 30%,#0009 55%,#0000 88%);mask-image:radial-gradient(65% 60% at 50% 48%,#000 30%,#0009 55%,#0000 88%)}.auth-shell:after{content:"";pointer-events:none;z-index:-1;background:radial-gradient(70% 55%,#fffdf7b3,#0000 70%);position:fixed;inset:0}.auth-card{z-index:1;background:var(--surface-raised,#fbfbf8);border-radius:18px;width:100%;max-width:400px;padding:36px 32px;animation:.5s cubic-bezier(.22,.61,.36,1) both float-in;position:relative;box-shadow:inset 0 0 0 .714px #fff,0 0 0 .714px #00000014,0 0 14.284px #0000000a,0 16.427px 19.998px #00000003,0 7.142px 14.284px #00000005,0 2.143px 7.856px #00000008}.auth-brand{color:var(--ink,#171717e6);letter-spacing:-.01em;align-items:center;gap:10px;margin-bottom:24px;font-size:1.05rem;font-weight:760;display:flex}.auth-title{font-size:1.5rem;font-weight:400;font-family:var(--font-mono);color:var(--ink,#171717e6);letter-spacing:-.015em;margin:0 0 20px}.auth-form{gap:12px;display:grid}.auth-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted,#171717b3);gap:5px;font-size:10px;font-weight:400;display:grid}.auth-input{min-height:40px;color:var(--ink,#171717e6);background:#1717170d;border:none;border-radius:10px;outline:none;padding:0 12px;font-size:.95rem;transition:box-shadow .12s;box-shadow:0 0 0 1px #1717171f}.auth-input:focus{background:#17171708;box-shadow:0 0 0 2px #1a6fd180}.auth-error{color:#c84632;background:#c5303012;border:1px solid #c5303026;border-radius:8px;margin:0;padding:6px 10px;font-size:.85rem}.auth-gate{gap:12px;margin-bottom:16px;display:grid}.auth-consent{color:var(--ink-muted,#171717b3);align-items:flex-start;gap:8px;font-size:.85rem;line-height:1.45;display:flex}.auth-consent input[type=checkbox]{accent-color:var(--app-blue);flex-shrink:0;margin-top:2px}.auth-submit{background:var(--ink-solid,#202020);color:#fff;min-height:40px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;border-radius:10px;margin-top:4px;font-size:11px;font-weight:400;transition:opacity .12s;box-shadow:0 2px 6px #0000002e,inset 0 1px #ffffff14}.auth-submit:hover:not(:disabled){opacity:.88}.auth-submit:disabled{opacity:.4;cursor:not-allowed}.auth-oauth-row{gap:8px;margin-bottom:4px;display:flex}.auth-oauth-btn{background:var(--surface-raised,#fbfbf8);height:40px;color:var(--ink,#171717e6);font-family:var(--font-mono);letter-spacing:.08em;cursor:pointer;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;font-size:10px;font-weight:400;transition:opacity .15s;display:flex;box-shadow:0 2px 3px #0000000f,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff,0 0 0 1px #2020201a}.auth-oauth-btn:hover:not(:disabled){opacity:.85}.auth-oauth-btn:disabled{opacity:.4;cursor:not-allowed}.auth-oauth-btn--apple{background:var(--ink-solid,#202020);color:#fff;box-shadow:0 2px 4px #0000002e,inset 0 1.5px #fff3,inset 0 0 .357px 1.5px #ffffff1a,0 0 0 1px #0006}.auth-divider{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint,#17171780);align-items:center;gap:10px;margin:8px 0;font-size:9px;font-weight:400;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border-pill,#e3e3e0);flex:1;height:1px}.auth-footer{text-align:center;color:var(--ink-muted,#171717b3);margin:20px 0 0;font-size:.88rem}.auth-link{font-family:inherit;font-size:inherit;color:var(--ink,#171717e6);font-weight:700;text-decoration:none}.auth-link:hover{text-underline-offset:2px;text-decoration:underline}body{background:var(--background);color:var(--text);font-size:15px;line-height:1.45}.sidebar{background:var(--band-dark,#161514);color:#f5f5f0;border-right:1px solid #ffffff14}.brand{margin-bottom:24px}.brand-mark{border-radius:var(--radius-sm);background:var(--accent);color:#fff;border:1px solid #ffffff14}.brand p{color:#f5f5f0;font-weight:800}.brand span,.course-nav-link small{color:#b8bdb8}.nav-list{gap:6px}.nav-button{border-radius:var(--radius-sm);color:#f5f5f0;min-height:40px;font-weight:650}.nav-button:hover{background:#ffffff14}.nav-button.active{background:var(--accent);color:#fff}.course-nav-list{border-left:1px solid #ffffff14;margin:0 0 8px 30px;padding-left:8px}.course-nav-link{border-radius:var(--radius-sm);color:#f5f5f0;padding:7px 9px}.course-nav-link:hover{background:#ffffff14}.course-nav-link.active{color:#fff;background:#2f7d3257}.course-nav-link.active small,.course-nav-link:hover small{color:#d7ddd7}.sidebar-logout{color:#b8bdb8;margin-top:auto}.workspace{background:var(--background)}.topbar h1,.detail-title-row h1{color:var(--text);letter-spacing:-.018em;font-size:clamp(2.35rem,4.5vw,3rem);font-weight:510}.topbar p,.detail-hero p{color:var(--muted)}.panel,.note-card,.task-card,.dashboard-task-summary,.recent-note-card,.course-dashboard-card,.course-preview-row,.recent-note-card.as-button,.source-list-item{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft)}.panel,.note-card{padding:18px}.panel-heading h2,.dashboard-section-heading h2{color:var(--text);font-size:1.08rem;font-weight:750}.detail-section-heading h2{color:var(--text);font-size:1.08rem;font-weight:510}.panel-heading svg{color:#202020}.search,.chat-form input,.todo-form input,.add-task-row input,.task-search input,.binder-fields input,textarea,.detail-field input,.detail-field textarea,.result-edit-input{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px}.search{background:var(--surface)}input::placeholder,textarea::placeholder{color:var(--faint)}.search:focus-within,.chat-form input:focus,.todo-form input:focus,.add-task-row input:focus,.task-search input:focus,.binder-fields input:focus,textarea:focus,.detail-field input:focus,.detail-field textarea:focus,.result-edit-input:focus{border-color:#202020;box-shadow:0 0 0 3px #2f7d321f}.icon-button{background:var(--accent);color:#fff;border-radius:10px;font-weight:700}.icon-button:hover{background:var(--accent-strong)}.secondary-action,.source-action{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;font-weight:700}.secondary-action:hover,.source-action:hover{background:var(--accent-soft);color:var(--accent-strong);border-color:#202020}.course,.course-tabs a,.course-tabs button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;font-weight:650}.course:hover,.course-tabs a:hover,.course-tabs button:hover{background:var(--surface-soft)}.course.active,.course-tabs a.active,.course-tabs button.active{background:var(--accent-soft);color:var(--text);border-color:#202020}.drop-zone,.binder-text-side,.chat-window,.transcript-block,.source-preview,.detail-collapse,.extraction-info,.course-task-table{border-color:var(--line);border-radius:var(--radius-md);background:var(--surface-soft)}.drop-zone{border-style:dashed}.drop-zone:hover{background:#f7fbf7;border-color:#202020}.queue-item,.section-list small,.course-badge,.type-badge,.note-chip{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--muted)}.queue-item.processing{background:var(--accent-soft);border-color:#9bc7a0}.queue-item.error{background:var(--red-soft);border-color:#e7a5ae}.status-text.error,.queue-item-error{color:#8f1f2d}.note-card h2,.result-item h3,.course-dashboard-card strong,.dashboard-task-summary strong,.recent-note-card strong{color:var(--text);font-weight:750}.note-card p,.note-body,.latest-output p,.source-list-item p,.course-dashboard-card p,.recent-note-card p,.source-block p{color:var(--muted)}.note-body h2,.note-body h3,.note-body strong{color:var(--text)}.dashboard-task-summary:hover,.recent-note-card:hover,.course-dashboard-card:hover,.course-preview-row:hover,.recent-note-card.as-button:hover,.task-card:hover,.source-list-item:hover{background:#fff;border-color:#c2c8bf}.dashboard-task-summary.urgent{background:var(--red-soft);border-color:#e7a5ae}.soft-select-trigger{border:1px solid var(--line);background:var(--surface-raised,#fbfbf8);min-height:40px;color:var(--text);font-family:var(--font-mono);border-radius:10px;font-weight:400}.soft-select-trigger:hover{background:var(--surface-soft);border-color:#c2c8bf}.soft-select-trigger:focus-visible{border-color:#202020;box-shadow:0 0 0 3px #2f7d321f}.soft-select-trigger.not_started,.soft-select-trigger.na{background:var(--surface-soft);color:var(--muted)}.soft-select-trigger.in_progress{background:var(--blue-soft);color:#1e4e80;border-color:#a9c8ea}.soft-select-trigger.submitted,.soft-select-trigger.completed{background:var(--accent-soft);color:#1f5f28;border-color:#9bc7a0}.soft-select-trigger.overdue{background:var(--red-soft);color:#8f1f2d;border-color:#e7a5ae}.soft-select-menu{border-radius:var(--radius-md);background:var(--surface-raised,#fbfbf8);box-shadow:0 16px 36px #1c1c1c1a}.soft-select-option{border-radius:var(--radius-sm);font-family:var(--font-mono)}.soft-select-option:hover,.soft-select-option.active{background:var(--surface-soft)}.status-dot.in_progress{background:var(--blue)}.status-dot.submitted,.status-dot.completed{background:var(--accent)}.status-dot.overdue{background:var(--red)}.status-dot.na,.status-dot.all,.status-dot.not_started{background:var(--faint)}.breadcrumb a,.open-detail-link,.dashboard-section-heading a,.dashboard-section-heading button,.note-expand-btn,.auth-link{color:var(--accent-strong)}.back-link,.source-linked-section a{color:var(--brand)}.source-badge.pdf{color:#b06e56;background:#b06e561f;border-color:#b06e5659}.source-badge.slides,.source-badge.text{color:var(--app-blue);background:#1a6fd11a;border-color:#1a6fd13d}.source-badge.email{background:var(--yellow-soft);color:#765516;border-color:#e8c976}.source-badge.audio{color:var(--accent-green);background:#2c8f4a1a;border-color:#2c8f4a3d}.source-badge.transcript,.source-badge.image{background:var(--orange-soft);color:#7c4611;border-color:#efbd87}.source-preview strong{color:var(--text)}.empty-state{border-color:var(--line);border-radius:var(--radius-lg);background:#ffffff75}body{background:var(--paper-noise), var(--bg,#f5f5f2);color:var(--text);background-size:26px 26px,auto}.accent-gradient,.brand-mark,.nav-button.active,.icon-button{background:var(--accent-gradient);position:relative;overflow:hidden}.accent-gradient:after,.brand-mark:after,.nav-button.active:after,.icon-button:after{content:"";pointer-events:none;opacity:.26;mix-blend-mode:soft-light;background:radial-gradient(circle at 20% 15%,#ffffff38 0 1px,#0000 1.6px) 0 0/13px 13px,radial-gradient(circle at 74% 64%,#1111111f 0 1px,#0000 1.8px) 0 0/17px 17px;position:absolute;inset:0}.workspace{padding:34px}.topbar{align-items:flex-end;margin-bottom:28px}.topbar h1,.detail-title-row h1{letter-spacing:-.018em;max-width:780px;font-size:clamp(2.75rem,5.8vw,3.55rem);font-weight:510;line-height:.96}.topbar p,.detail-hero p{color:var(--muted);margin-top:10px;font-size:1.02rem;line-height:1.55}.sidebar{background:radial-gradient(circle at 22% 8%,#2f7d3238,#0000 24%),#111;padding:26px 16px}.brand{border-bottom:1px solid #f5f5f01a;gap:13px;padding:8px 8px 20px}.brand-mark{border-radius:14px;width:46px;height:46px;box-shadow:0 12px 28px #0000003d}.brand p{letter-spacing:-.02em;font-size:1.05rem}.brand span{color:#f5f5f09e;margin-top:2px;font-size:.78rem;display:block}.nav-button{color:#f5f5f0d1;letter-spacing:-.01em;border:1px solid #0000;border-radius:12px;min-height:42px;font-size:.94rem;font-weight:760}.nav-button:hover{color:#fff;background:#ffffff14;border-color:#ffffff14}.nav-button.active{color:#fff;border-color:#ffffff29;box-shadow:inset 3px 0 #ffffff6b,0 12px 26px #0000002e}.course-nav-list{gap:5px;margin:6px 0 10px 32px}.course-nav-link{border:1px solid #0000;border-radius:11px;padding:8px 10px}.course-nav-link span{letter-spacing:.01em;font-size:.86rem}.course-nav-link small{color:#f5f5f085}.course-nav-link.active{box-shadow:inset 2px 0 0 var(--accent);background:#2f7d323d;border-color:#ddefe02e}.panel,.note-card{box-shadow:var(--shadow-card);border-radius:20px}.dashboard-task-summary,.recent-note-card,.course-dashboard-card,.course-preview-row,.recent-note-card.as-button,.source-list-item,.task-card{box-shadow:var(--shadow-tight);border-radius:16px}.panel,.detail-card{padding:22px}.dashboard-section-heading,.panel-heading,.detail-section-heading{position:relative}.dashboard-section-heading h2,.panel-heading h2{letter-spacing:-.028em;align-items:center;gap:10px;font-size:clamp(1.08rem,2vw,1.28rem);font-weight:820;display:inline-flex}.detail-section-heading h2{letter-spacing:-.018em;align-items:center;gap:10px;font-size:clamp(1.08rem,2vw,1.28rem);font-weight:510;display:inline-flex}.dashboard-section-heading h2:before,.panel-heading h2:before{content:"";background:#111;border-radius:999px;flex:none;width:8px;height:8px}.detail-section-heading h2:before{content:"";background:var(--ink-solid,#202020);border-radius:999px;flex:none;width:8px;height:8px}.dashboard-panel .dashboard-section-heading h2:before,.course-preview-panel .dashboard-section-heading h2:before{background:var(--accent-gradient)}.panel-heading svg{display:none}.detail-section-heading span,.source-block span,.detail-field span,.detail-checkbox span,.extraction-grid span{color:var(--muted);letter-spacing:.085em;font-size:.68rem;font-weight:600}.preview-row span,.note-card span,.latest-output span,.binder-fields span,.task-controls label>span,.soft-select-label,.course-summary-panel span,.source-list-item span,.course-stat-card span{color:var(--muted);letter-spacing:.085em;font-size:.68rem;font-weight:850}.dashboard-grid,.dashboard-wide-grid,.course-overview-stack,.task-detail-layout,.source-detail-body{gap:20px}.dashboard-task-summary,.recent-note-card,.course-dashboard-card,.course-preview-row,.recent-note-card.as-button{padding:14px;transition:transform .14s,box-shadow .14s}.dashboard-task-summary:hover,.recent-note-card:hover,.course-dashboard-card:hover,.course-preview-row:hover,.recent-note-card.as-button:hover,.task-card:hover,.source-list-item:hover{border-color:#bfc7bd;transform:translateY(-1px);box-shadow:0 16px 38px #1c1c1c13}.course-dashboard-card{position:relative;overflow:hidden}.course-dashboard-card:before,.course-preview-row:before,.recent-note-card:before,.dashboard-task-summary:before{content:"";background:#111;border-radius:999px;width:7px;height:7px;position:absolute}.course-dashboard-card:before{top:14px;right:14px}.course-preview-row,.recent-note-card,.dashboard-task-summary{position:relative}.course-preview-row:before,.recent-note-card:before,.dashboard-task-summary:before{opacity:.18;top:15px;right:15px}.course-dashboard-card strong,.dashboard-task-summary strong,.recent-note-card strong,.note-card h2,.source-list-item h2,.task-title-link{letter-spacing:-.025em;font-weight:810}.course-dashboard-card span,.dashboard-task-summary span,.recent-note-card span,.course-preview-row span{color:var(--muted);font-size:.83rem}.course-stat-card{background:linear-gradient(180deg, #fafaf6a8, #fff), var(--surface);min-height:104px;padding:18px}.course-stat-card strong{letter-spacing:-.055em;font-size:2.05rem;font-weight:850}.search,.chat-form input,.todo-form input,.add-task-row input,.task-search input,.binder-fields input,textarea,.detail-field input,.detail-field textarea{border-radius:12px;min-height:44px;box-shadow:inset 0 1px #1c1c1c05}.search{min-height:48px;box-shadow:var(--shadow-soft);border-radius:14px}.icon-button{border-radius:12px;min-height:44px;box-shadow:0 10px 24px #2f7d322e}.primary-action{min-height:44px}.secondary-action,.source-action{border-radius:12px;min-height:40px}.course,.course-tabs a,.course-tabs button{border-radius:999px;min-height:40px;padding:8px 14px}.course.active,.course-tabs a.active,.course-tabs button.active{box-shadow:inset 0 -2px 0 var(--accent);position:relative}.course.active:before,.course-tabs a.active:before,.course-tabs button.active:before{content:"";vertical-align:1px;background:#111;border-radius:999px;width:7px;height:7px;margin-right:7px;display:inline-block}.soft-select-trigger{border-radius:12px;min-height:42px;box-shadow:inset 0 1px #1c1c1c05}.soft-select-menu{border-radius:14px;padding:8px}.soft-select-option{border-radius:10px;min-height:36px;font-weight:650}.soft-select-trigger.in_progress,.soft-select-trigger.submitted,.soft-select-trigger.completed,.soft-select-trigger.overdue,.soft-select-trigger.not_started,.soft-select-trigger.na{box-shadow:inset 0 1px #ffffff6b}.source-list-item{padding:18px}.source-badge{letter-spacing:.075em;border-radius:999px;padding:5px 11px;font-size:.69rem}.source-linked{gap:8px}.source-linked span,.source-duration,.source-filename{background:var(--surface-soft);border-radius:999px;padding:4px 8px}.source-preview{border-radius:var(--radius-lg,18px);background:var(--paper-noise), var(--surface-raised,#fbfbf8);min-height:220px}.source-preview.pdf{background:var(--paper-noise), linear-gradient(180deg, #fff8f8 0%, #fff 100%)}.transcript-block{background:var(--paper-noise), var(--surface-soft);border-radius:16px}.detail-hero{margin-bottom:28px}.detail-card.task-detail-editor{border-top:4px solid var(--accent)}.source-viewer{border-top:4px solid #111}.detail-collapse summary,.extraction-info summary{border-radius:12px}.detail-collapse[open],.extraction-info[open]{background:#fff}.empty-state{background:var(--paper-noise), #ffffff94;color:var(--muted);border-style:dashed;padding:26px}.auth-card h1{letter-spacing:-.045em}@media (max-width:900px){.app-shell{grid-template-columns:72px minmax(0,1fr)}.sidebar{padding:16px 8px}.brand{flex-direction:column;align-items:center;gap:6px;margin-bottom:20px}.brand>div>span{display:none}.brand>div>p{text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:56px;font-size:.6rem;overflow:hidden}.nav-list{grid-template-columns:1fr;gap:4px}.nav-button{flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:52px;padding:6px 4px}.nav-button span{text-align:center;white-space:nowrap;font-size:.6rem}.nav-button .sidebar-chevron,.course-nav-list{display:none}.sidebar-logout{flex-direction:column;align-items:center;gap:3px;padding:6px 4px}.workspace{padding:18px}.topbar,.grid.two{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.binder-fields,.note-grid{grid-template-columns:1fr}.todo{grid-template-columns:auto 1fr}.todo small{grid-column:2}.add-task-row{grid-template-columns:1fr}.task-controls .task-search{flex:100%}.task-title-line,.detail-hero{display:grid}.task-detail-layout,.detail-grid,.extraction-grid,.dashboard-grid,.dashboard-wide-grid,.course-dashboard-grid,.course-overview-grid,.course-overview-columns,.course-stat-row{grid-template-columns:1fr}}.notion-modal{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:16px;width:min(480px,100vw - 32px);padding:24px;display:flex;box-shadow:0 16px 48px #0000002e}.notion-modal h2{margin:0;font-size:1.05rem;font-weight:700}.notion-steps{color:var(--muted);flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:.8rem;line-height:1.5;display:flex}.notion-steps code{background:var(--accent-soft);color:#202020;border-radius:4px;padding:1px 4px;font-size:.75rem}.notion-field{flex-direction:column;gap:6px;display:flex}.notion-field label{color:var(--fg);font-size:.78rem;font-weight:600}.notion-field input{border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:8px;outline:none;width:100%;padding:9px 12px;font-size:.85rem}.notion-field input:focus{border-color:#202020}.notion-error{color:#e05252;margin:0;font-size:.8rem}.notion-save-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-size:.85rem;font-weight:600;transition:opacity .15s}.notion-save-btn:disabled{opacity:.4;cursor:default}.export-setup-tag{font-family:var(--font-mono-narrow);background:var(--accent-soft);color:#202020;vertical-align:middle;text-transform:uppercase;letter-spacing:.04em;border-radius:4px;margin-left:5px;padding:1px 5px;font-size:.6rem;font-weight:400;display:inline-block}.notion-id-ok{color:#202020;font-size:.72rem}.notion-id-bad{color:#e05252;font-size:.72rem}.notion-steps a{color:#202020}.notion-actions{align-items:center;gap:8px;display:flex}.notion-disconnect-btn{border:1px solid var(--line);color:#e05252;cursor:pointer;background:0 0;border-radius:8px;padding:10px 14px;font-size:.82rem;font-weight:500}.notion-disconnect-btn:hover:not(:disabled){background:#fff1f1}.notion-disconnect-btn:disabled{opacity:.4;cursor:default}.cal-modal{background:var(--surface-raised);border-radius:var(--radius-lg,18px);flex-direction:column;gap:0;width:calc(100vw - 32px);max-width:420px;padding:20px;display:flex;box-shadow:inset 0 0 0 .714px #fff,0 0 0 .714px #00000014,0 0 14px #0000000a,0 7px 14px #00000005,0 2px 8px #00000008}.cal-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.cal-header-title{color:#171717e0;align-items:center;gap:8px;display:flex}.cal-header-title h2{font-family:var(--font-display);letter-spacing:-.018em;color:var(--ink);margin:0;font-size:1.05rem;font-weight:510}.cal-close{background:var(--bg);border-radius:var(--radius-sm,8px);color:var(--ink-muted);cursor:pointer;transition:transform .14s var(--spring), box-shadow .14s ease;border:1px solid #2020201a;padding:5px;display:flex;box-shadow:0 2px 3px #0000000f,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.cal-close:hover{transform:translateY(-1px);box-shadow:0 4px 6px #0000001a,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.cal-subtitle{color:#1717176b;font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.05em;text-transform:uppercase;margin:0 0 14px;font-size:10px}.cal-error{color:#a83420;background:#a8342014;border:1px solid #a8342033;border-radius:8px;margin:0 0 12px;padding:8px 12px;font-size:.82rem}.cal-divider{background:#17171714;height:1px;margin:4px 0}.cal-section{flex-direction:column;gap:8px;padding:12px 0;display:flex}.cal-section-header{align-items:center;gap:10px;display:flex}.cal-section-mono{color:#1717176b;font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.08em;text-transform:uppercase;font-size:9.5px;font-weight:500}.cal-section-sub{color:#1717174d;font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.04em;text-transform:uppercase;font-size:8.5px}.cal-connected-pill{color:var(--accent-green);font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.03em;background:#2c8f4a1a;border:1px solid #2c8f4a40;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:9px;display:inline-flex}.cal-section-desc{color:#1717178c;margin:0;font-size:.83rem;line-height:1.5}.cal-loading{color:#17171766;font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:10px}.cal-result{color:var(--accent-green);background:#2c8f4a14;border:1px solid #2c8f4a33;border-radius:8px;margin:0;padding:8px 12px;font-size:.83rem}.cal-btn-row{align-items:center;gap:8px;display:flex}.cal-btn{border-radius:var(--radius-sm,8px);cursor:pointer;font-family:var(--font);height:36px;transition:transform .14s var(--spring), box-shadow .14s ease;white-space:nowrap;align-items:center;gap:6px;padding:0 16px;font-size:.9rem;font-weight:400;display:inline-flex}.cal-btn:disabled{pointer-events:none;opacity:.4}.cal-btn--primary{color:#fff;background:linear-gradient(#2020201a,#2020201a),linear-gradient(#4f4f4f 0%,#202020d9 100%);border:1px solid #383838;box-shadow:0 0 0 1px #4040401f,inset 0 2px #ffffff3d,inset 0 -.5px 2px #00000040,0 2px 8px #00000008,0 3px 4px #00000029}.cal-btn--primary:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 0 0 1px #4040401f,inset 0 2px #ffffff3d,inset 0 -.5px 2px #00000040,0 4px 12px #0000000d,0 5px 6px #0003}.cal-btn--secondary,.cal-btn--ghost{background:var(--bg);color:var(--ink);border:1px solid #2020201a;box-shadow:0 2px 3px #0000000f,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.cal-btn--secondary:not(:disabled):hover,.cal-btn--ghost:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 6px #0000001a,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.export-popover-item-row{align-items:center;display:flex}.export-popover-item-row .export-popover-item{flex:1}.export-popover-settings-btn{color:#9aa3a0;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;place-items:center;margin-right:4px;padding:6px;display:grid}.export-popover-settings-btn:hover{color:#17201c;background:#f4f6f5}.carousel-modal{flex-direction:column;width:100%;max-width:560px;max-height:80vh;display:flex;overflow:hidden}.carousel-header{align-items:center;gap:6px;display:flex}.carousel-page-counter{text-align:center;color:var(--muted);letter-spacing:.01em;flex:1;font-size:.78rem;font-weight:600}.carousel-arrow{cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.carousel-arrow:hover:not(:disabled){background:var(--surface-strong)}.carousel-arrow:disabled{opacity:.25;cursor:default}.carousel-page{flex:1;min-height:0;animation:.15s carousel-slide-in;overflow:hidden auto}@keyframes carousel-slide-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.carousel-footer{border-top:1px solid var(--line);flex-direction:column;align-items:flex-end;gap:8px;margin-top:12px;padding-top:12px;display:flex}.carousel-footer-actions{justify-content:flex-end;align-items:center;gap:8px;width:100%;display:flex}.carousel-footer-actions .secondary-action{width:auto;min-height:44px;margin-top:0}.carousel-footer-actions .primary-action{width:auto}.carousel-footer-row{justify-content:space-between;align-items:center;width:100%;display:flex}.carousel-footer-left{align-items:center;display:flex}.carousel-footer-right{align-items:center;gap:8px;display:flex}.carousel-footer-left .secondary-action,.carousel-footer-right .secondary-action,.carousel-footer-left .primary-action,.carousel-footer-right .primary-action{width:auto;min-height:44px;margin-top:0}.carousel-error{color:#c0392b;align-self:flex-start;margin:0;font-size:.78rem}.carousel-empty{color:var(--muted);text-align:center;padding:16px 0;font-size:.82rem}.carousel-course-header{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:10px 0 4px;font-size:.72rem;font-weight:600}.consolidation-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;margin-bottom:10px;padding:12px 14px}.consolidation-card-title{align-items:center;gap:6px;margin-bottom:4px;font-size:.88rem;font-weight:600;display:flex}.consolidation-target-label{color:var(--muted);white-space:nowrap;font-size:.78rem}.consolidation-group{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;margin-bottom:10px}.consolidation-group-file-title{flex-wrap:wrap;align-items:center;gap:6px;font-size:.88rem;font-weight:600;display:flex}.consolidation-group-footer{border-top:1px solid var(--line);background:var(--surface-soft);border-radius:0 0 8px 8px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px 12px;display:flex}.group-unlink-btn{width:22px;height:22px;color:var(--muted);cursor:pointer;opacity:.55;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:flex;position:absolute;top:10px;right:10px}.group-delete-btn{width:22px;height:22px;color:var(--muted);cursor:pointer;opacity:.55;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:flex;position:absolute;top:10px;right:36px}.consolidation-group-file:hover .group-delete-btn,.group-delete-btn:focus-visible{opacity:1}.group-delete-btn:hover{color:#c0392b;background:var(--surface)}.consolidation-card-delete{width:24px;height:24px;color:var(--muted);cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;margin-left:auto;padding:0;transition:opacity .15s;display:flex}.consolidation-card-delete:hover,.consolidation-card-delete:focus-visible{opacity:1;color:#c0392b;background:var(--surface)}.note-picker{position:relative}.note-picker-trigger{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;border-radius:20px;align-items:center;gap:6px;max-width:280px;padding:5px 10px 5px 12px;font-size:.82rem;font-weight:500;display:inline-flex;overflow:hidden}.note-picker-dropdown{background:var(--surface);border:1px solid var(--line);z-index:1000;border-radius:8px;min-width:260px;max-width:340px;max-height:240px;position:fixed;overflow-y:auto;box-shadow:0 4px 16px #0000001f}.note-picker-option{cursor:pointer;border-bottom:1px solid var(--line);text-align:left;width:100%;font:inherit;background:0 0;border-top:none;border-left:none;border-right:none;border-radius:0;flex-direction:column;padding:8px 12px;display:flex}.note-picker-option-title{align-items:center;gap:6px;font-size:.82rem;font-weight:500;display:flex}.note-picker-ai-badge{background:var(--accent-soft);color:#202020;letter-spacing:.02em;border-radius:4px;padding:1px 5px;font-size:.65rem;font-weight:600}.finalize-progress-pill{color:#202020;align-self:flex-end;align-items:center;gap:6px;font-size:.75rem;font-weight:500;display:inline-flex}.spin{animation:1s linear infinite spin}.carousel-finalizing-overlay{justify-content:center;align-items:center;width:100%;min-height:220px;display:flex;position:relative}.carousel-cancel-btn{position:absolute;top:0;right:0}.carousel-finalizing-body{flex-direction:column;align-items:center;gap:12px;display:flex}.carousel-finalizing-text{color:var(--text);margin:0;font-size:1rem;font-weight:600}.carousel-finalizing-sub{color:var(--muted);margin:0;font-size:.82rem}.carousel-coverage-review{flex-direction:column;gap:12px;max-height:min(70vh,520px);display:flex}.carousel-coverage-intro{color:var(--muted);margin:0;font-size:.88rem;line-height:1.45}.carousel-coverage-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.carousel-coverage-item{border:1px solid var(--border);background:var(--surface-2,#00000008);border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.carousel-coverage-source{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.72rem;font-weight:600}.carousel-coverage-claim{color:var(--text);font-size:.85rem;line-height:1.4}.consolidation-planning-hint{color:var(--muted);margin:0 0 10px;font-size:.82rem;font-style:italic}.approve-btn{font-weight:600;background:var(--accent)!important;color:#fff!important}.approve-btn:hover:not(:disabled){background:var(--accent-strong)!important}.approve-btn:disabled{opacity:.6}.carousel-tasks-list,.carousel-coursefacts-list{flex-direction:column;gap:2px;max-height:320px;display:flex;overflow-y:auto}.carousel-consolidation-list{flex-direction:column;display:flex}.carousel-backdrop-warning{background:var(--text);color:#fff;white-space:nowrap;pointer-events:none;border-radius:6px;padding:6px 14px;font-size:.78rem;animation:.15s carousel-slide-in;position:absolute;top:-36px;left:50%;transform:translate(-50%)}.carousel-task-course-pill{letter-spacing:.04em;color:var(--muted);background:var(--surface-strong);white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:.68rem;font-weight:600}.note-picker-empty{color:var(--muted);padding:10px 12px;font-size:.78rem}.binder-inputs-row{flex-direction:column;gap:10px;width:100%;max-width:600px;display:flex}.binder-input-card{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-direction:column;gap:10px;padding:12px 14px;display:flex;position:relative}.binder-input-card-header{color:var(--fg);align-items:center;gap:8px;display:flex}.binder-input-card-label{font-size:.82rem;font-weight:650}.binder-input-card-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:220px;margin-left:auto;font-size:.75rem;overflow:hidden}.binder-input-card-actions{align-items:center;gap:6px;display:flex}.binder-input-action-btn{border:1px solid var(--line);background:var(--surface-strong);color:var(--fg);cursor:pointer;white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:5px 11px;font-size:.8rem;font-weight:550;display:inline-flex}.binder-input-action-btn:hover{background:var(--line)}.binder-input-action-btn:disabled{opacity:.4;cursor:not-allowed}.binder-input-action-btn--ghost{color:var(--muted);background:0 0;border-color:#0000;padding:5px 7px}.binder-input-action-btn--ghost:hover{background:var(--surface-strong);border-color:var(--line);color:var(--fg)}.binder-input-toast{color:var(--muted);padding:2px 0;font-size:.78rem}.binder-input-popover{z-index:200;background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:6px;min-width:240px;padding:10px 12px;display:flex;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 4px 16px #0000001a}.binder-input-popover-label{margin:0;font-size:.8rem;font-weight:600}.binder-input-popover-item{flex-direction:column;gap:1px;font-size:.78rem;display:flex}.binder-input-popover-item strong{font-weight:600;line-height:1.3}.binder-input-popover-item small{color:var(--muted)}.binder-input-popover-dismiss{color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:none;margin-top:2px;padding:0;font-size:.75rem}.binder-input-popover-dismiss:hover{color:var(--fg)}.binder-textbooks-card{gap:12px}.binder-textbooks-courses{flex-direction:column;gap:10px;display:flex}.binder-textbook-course-row{flex-direction:column;gap:5px;display:flex}.binder-textbook-course-code{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.binder-textbook-files{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.binder-textbook-file{background:var(--surface-strong);border:1px solid var(--line);border-radius:6px;align-items:center;gap:4px;max-width:220px;padding:3px 7px;font-size:.78rem;display:inline-flex}.binder-textbook-filename{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.binder-textbook-remove{cursor:pointer;color:var(--muted);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}.binder-textbook-remove:hover{color:var(--fg)}.binder-textbook-add-btn{color:var(--muted);cursor:pointer;border:1px dashed var(--line);white-space:nowrap;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:.78rem;display:inline-flex}.binder-textbook-add-btn:hover{background:var(--surface-strong);color:var(--fg)}.info-layout{flex-direction:column;align-items:center;gap:18px;width:100%;display:flex}.info-courses-list{flex-direction:column;gap:10px;width:100%;max-width:600px;display:flex}.info-empty{color:var(--muted);flex-direction:column;align-items:center;gap:14px;padding:40px 20px;font-size:.9rem;display:flex}.info-course-card{border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow:hidden}.info-course-header{cursor:pointer;text-align:left;width:100%;color:var(--fg);background:0 0;border:none;align-items:center;gap:10px;padding:12px 14px;display:flex}.info-course-header:hover{background:var(--surface-strong)}.info-course-code{letter-spacing:.04em;font-size:.82rem;font-weight:700}.info-course-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.78rem;overflow:hidden}.info-course-chevron{color:var(--muted);flex-shrink:0;align-items:center;margin-left:auto;display:flex}.info-course-body{border-top:1px solid var(--line);padding:12px 14px}.info-kv-table{border-collapse:collapse;width:100%}.info-kv-row td{vertical-align:top;padding:5px 0;font-size:.82rem}.info-kv-row+.info-kv-row td{border-top:1px solid var(--line)}.info-kv-label{color:var(--muted);width:38%;padding-right:12px;font-weight:500}.info-kv-value{color:var(--fg);font-weight:450}.info-empty-hint{color:var(--muted);margin:0;font-size:.8rem;line-height:1.5}.binder-three-col{grid-template-columns:200px minmax(0,600px) 200px;grid-template-areas:"left center right";align-items:start;gap:32px;width:100%;max-width:1024px;display:grid}.binder-center-col{flex-direction:column;grid-area:center;align-items:center;gap:18px;width:100%;display:flex}.binder-side-panel{flex-direction:column;gap:12px;display:flex;position:sticky;top:24px}.binder-side-panel--left{grid-area:left}.binder-side-panel--right{grid-area:right}.binder-side-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;font-size:.78rem;font-weight:600}.binder-side-desc{color:var(--muted);opacity:.7;margin:-8px 0 0;font-size:.72rem}.binder-side-empty{color:var(--muted);margin:0;font-size:.78rem}.binder-side-textbooks{flex-direction:column;gap:10px;display:flex}.binder-side-course-row{flex-direction:column;gap:4px;display:flex}.binder-side-course-code{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:700}.binder-side-book-list{flex-direction:column;gap:3px;display:flex}.binder-side-book-item{align-items:center;gap:4px;font-size:.75rem;display:flex}.binder-side-book-name{text-overflow:ellipsis;white-space:nowrap;flex:1;max-width:120px;overflow:hidden}.binder-side-remove{cursor:pointer;color:var(--muted);opacity:.5;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;transition:opacity .12s;display:flex}.binder-side-remove:hover{opacity:1}.binder-side-add-btn{color:var(--muted);cursor:pointer;border:1px dashed var(--line);background:0 0;border-radius:5px;align-items:center;gap:4px;width:fit-content;margin-top:2px;padding:2px 6px;font-size:.73rem;display:inline-flex}.binder-side-add-btn:hover{background:var(--surface-strong);color:var(--fg)}.binder-side-mailbox{color:var(--muted);word-break:break-all;opacity:.8;margin:-6px 0 0;font-size:.72rem}.binder-side-email-actions{align-items:center;gap:4px;display:flex}.binder-side-action-btn{color:var(--fg);border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:4px 9px;font-size:.78rem;display:inline-flex}.binder-side-action-btn:hover{background:var(--surface-strong)}.binder-side-action-btn:disabled{opacity:.4;cursor:not-allowed}.binder-side-action-btn--ghost{color:var(--muted);border-color:#0000;padding:4px 6px}.binder-side-action-btn--ghost:hover{border-color:var(--line);background:var(--surface-strong);color:var(--fg)}.binder-side-toast{color:var(--muted);font-size:.75rem}@media (max-width:900px){.binder-three-col{grid-template-columns:1fr;grid-template-areas:"center""left""right";gap:24px;max-width:600px}.binder-side-panel{position:static}}.deferred-readings-section{width:100%;max-width:600px;margin-top:24px}.deferred-readings-list{flex-direction:column;gap:10px;display:flex}.deferred-reading-card{background:var(--panel-bg,#fff);border:1px solid var(--border,#e5e7eb);border-radius:8px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.deferred-reading-card-header{align-items:center;gap:8px;display:flex}.deferred-reading-course{flex-shrink:0}.deferred-reading-label{color:var(--text,#111);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.875rem;font-weight:500;overflow:hidden}.deferred-reading-dismiss{cursor:pointer;color:var(--muted,#6b7280);opacity:.6;background:0 0;border:none;border-radius:4px;flex-shrink:0;place-items:center;padding:2px;transition:opacity .15s;display:grid}.deferred-reading-dismiss:hover{opacity:1}.deferred-reading-meta{color:var(--muted,#6b7280);font-size:.75rem}.deferred-reading-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.deferred-reading-btn{cursor:pointer;border:1px solid var(--border,#e5e7eb);background:var(--surface,#f9fafb);color:var(--text,#111);border-radius:6px;align-items:center;gap:5px;padding:5px 10px;font-size:.75rem;font-weight:500;text-decoration:none;display:inline-flex}.deferred-reading-btn:hover:not(:disabled){background:var(--surface-hover,#f3f4f6);border-color:var(--border-strong,#d1d5db)}.deferred-reading-btn:disabled{opacity:.4;cursor:not-allowed}.deferred-reading-btn--upload{-webkit-user-select:none;user-select:none}.deferred-reading-status{color:var(--muted,#6b7280);margin-top:2px;font-size:.75rem}.deferred-reading-status--done{color:var(--accent-green);font-weight:500}.deferred-reading-error{color:var(--accent-red);margin-top:2px;font-size:.72rem}:root{--binder-bg:var(--bg);--surface-raised:#fbfbf8;--surface-darker:#e7e7e3;--surface-warmer:#f1f1ee;--border-card:#2020201a;--border-hair:#2020201f;--border-pill:#e3e3e0;--ink-icon:#4f4c4b;--ink-icon-strong:#3b3837;--ink-icon-muted:#646160;--ink-icon-faint:#8d8b89;--ink:#171717e6;--ink-strong:#171717d9;--ink-body:#171717cc;--ink-muted:#171717b3;--ink-faint:#17171780;--ink-solid:#202020;--ink-strongest:var(--ink);--ink-ui-solid:var(--ink-solid);--pastel-peri:#b5c4f5;--pastel-butter:#f9eba6;--pastel-mint:#5adeb7;--pastel-pink:#f2a9a9;--pastel-sage:#e0eadd;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px}@keyframes task-row-in{0%{opacity:0;filter:blur(3px);transform:translateY(8px)}60%{opacity:1}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes float-in{0%{opacity:0;transform:translateY(20px)}60%{opacity:1;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}@keyframes orbit-dash{to{stroke-dashoffset:-32px}}@keyframes drift{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes fade-blur-in{0%{opacity:0;filter:blur(6px)}to{opacity:1;filter:blur()}}.binder-stage{background:var(--binder-bg);isolation:isolate;flex-direction:column;align-items:center;gap:0;width:100%;min-height:100vh;padding:8px 24px 80px;display:flex;position:relative}.binder-grid-bg{pointer-events:none;z-index:0;background-image:linear-gradient(90deg,#17171712 1px,#0000 1px),linear-gradient(#17171712 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:-10% -10% 0;-webkit-mask-image:radial-gradient(65% 60% at 50% 48%,#000 30%,#0009 55%,#0000 88%);mask-image:radial-gradient(65% 60% at 50% 48%,#000 30%,#0009 55%,#0000 88%)}.binder-warm-wash{pointer-events:none;z-index:0;background:radial-gradient(70% 55%,#fffdf7b3,#0000 70%);position:absolute;inset:0}.binder-glass{background:var(--surface-raised);border-radius:18px;box-shadow:inset 0 0 0 .714px #fff,0 0 0 .714px #00000014,0 0 14.284px #0000000a,0 16.427px 19.998px #00000003,0 7.142px 14.284px #00000005,0 2.143px 7.856px #00000008}.btn-3d{appearance:none;cursor:pointer;background:var(--binder-bg,#f5f5f2);height:40px;color:var(--ink,#171717e6);border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:460;transition:opacity .15s;display:inline-flex;box-shadow:0 2px 3px #0000000f,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff,0 0 0 1px #2020201a}.btn-3d:hover{opacity:.85}.btn-3d:disabled{opacity:.4;cursor:not-allowed}.btn-3d-solid{color:#fff;background:linear-gradient(#4a4a4a 0%,#333 100%);box-shadow:0 1px 3px #00000080,inset 0 1px #ffffff1f,0 0 0 1px #0009}.btn-mini{height:28px;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted,#171717b3);background:var(--surface-raised,#fbfbf8);cursor:pointer;box-shadow:#0000000f 0 1px 1px 0, #fff 0 1.5px 0 0 inset, var(--border-pill,#e3e3e0) 0 0 0 1px;border:0;border-radius:7px;padding:0 10px;font-size:10px;font-weight:400;transition:box-shadow .12s}.btn-mini-active,.btn-mini.active{color:var(--ink,#171717e6);background:#fff;box-shadow:0 1px 2px #00000014,inset 0 1.5px #fff,0 0 0 1px #1717172e}.binder-page-header{z-index:1;animation:fade-blur-in .62s var(--spring,cubic-bezier(.22,.61,.36,1)) both;justify-content:center;align-items:center;gap:14px;margin-bottom:36px;padding:0 24px;display:flex;position:relative}.binder-page-header .binder-page-title:after{content:"";background:var(--ink-muted,#171717b3);opacity:.35;vertical-align:middle;width:1px;height:28px;margin-left:14px;display:inline-block;transform:translateY(-1px)}.binder-page-title{letter-spacing:-.015em;color:var(--ink,#171717e6);margin:0;font-size:28px;font-weight:400;line-height:1.2}.binder-page-mono{color:var(--ink-muted,#171717b3);letter-spacing:-.005em;white-space:nowrap;margin:0;font-size:14px;font-weight:400}.binder-main-row{z-index:1;flex-direction:column;align-items:center;gap:0;width:100%;margin-bottom:40px;display:flex;position:relative}.binder-panels-outline{border-radius:18px;align-items:stretch;width:100%;max-width:968px;height:280px;display:flex;box-shadow:0 1px 4px #00000006}.binder-dropzone-wrap{z-index:2;flex:1;min-width:0;display:flex;position:relative}.binder-dropzone{cursor:default;background-color:#f0f0ed;background-image:repeating-linear-gradient(-45deg,#f0f0ed 0 3px,#17171708 3px 6px);border-radius:18px 0 0 18px;flex:1;justify-content:center;align-items:center;min-width:0;transition:box-shadow .2s,transform .2s;display:flex;position:relative;overflow:visible;box-shadow:0 0 0 1px #0000001a,inset 0 3px 5px #00000012,inset 0 1px 2px #0000000a,inset -2px -2px 12px #0000000a}.binder-dropzone--drag{background-color:#eaeae6;box-shadow:inset 0 4px 16px #00000026,inset 0 1px 4px #00000014,inset 0 0 0 3px #bbf45180}.binder-dropzone:after{content:none}.dz-tick{pointer-events:none;width:14px;height:14px;position:absolute}.dz-tick--tl{border-top:2px solid #17171733;border-left:2px solid #17171733;border-radius:3px 0 0;top:7px;left:7px}.dz-tick--tr{border-top:2px solid #17171733;border-right:2px solid #17171733;border-radius:0 3px 0 0;top:7px;right:7px}.dz-tick--bl{border-bottom:2px solid #17171733;border-left:2px solid #17171733;border-radius:0 0 0 3px;bottom:7px;left:7px}.dz-tick--br{border-bottom:2px solid #17171733;border-right:2px solid #17171733;border-radius:0 0 3px;bottom:7px;right:7px}.dz-info-anchor{align-items:center;display:inline-flex;position:relative}.dz-info-btn{cursor:pointer;color:var(--ink-muted,#171717b3);background:#1717170f;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:3px;display:flex}.dz-info-btn:hover,.dz-info-btn[aria-expanded=true]{color:var(--ink-strong,#171717d9);background:#1717171f}.dz-formats-modal{max-height:min(80vh,560px);overflow-y:auto}.dz-textbooks-anchor{z-index:5;display:none;position:absolute;bottom:-14px;left:20px}.dz-textbooks-btn{cursor:pointer;height:32px;color:var(--ink-strong,#171717d9);font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;background:#fff;border:none;border-radius:999px;align-items:center;gap:6px;padding:0 14px 0 11px;font-size:10.5px;font-weight:400;transition:box-shadow .14s,transform .14s;display:inline-flex;box-shadow:0 2px 3px #0000000f,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff,0 0 0 1px #2020201f}.dz-textbooks-btn:hover{color:var(--ink,#171717e6);background:#faf9f5}.dz-textbooks-btn:active{transform:translateY(1px);box-shadow:0 1px 1px #00000008,inset 0 0 .357px 1px #fff3,inset 0 1px #fff,0 0 0 1px #2020201f}.dz-textbooks-btn--active{color:#fff;background:linear-gradient(#4a4a4a 0%,#333 100%);box-shadow:0 1px 3px #00000080,inset 0 1px #ffffff1f,0 0 0 1px #0009}.dz-textbooks-btn--active:hover{color:#fff;background:linear-gradient(#4a4a4a 0%,#333 100%)}.dz-textbooks-popover{background:var(--surface-raised,#fbfbf8);text-align:left;border-radius:16px;width:min(360px,100vw - 40px);max-height:min(60vh,480px);padding:16px;position:absolute;bottom:calc(100% + 10px);left:0;overflow-y:auto;box-shadow:inset 0 0 0 .714px #fff,0 0 0 .714px #00000014,0 0 14px #0000000a,0 8px 24px #0000000f}.dz-textbooks-popover:after{content:"";background:var(--surface-raised,#fbfbf8);border-bottom:.714px solid #00000014;border-right:.714px solid #00000014;width:10px;height:10px;position:absolute;bottom:-5px;left:12px;transform:rotate(45deg)}.dz-textbooks-popover-header{border-bottom:1px solid #17171714;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:14px;padding-bottom:10px;display:flex}.dz-textbooks-popover-title{letter-spacing:-.01em;color:var(--ink,#171717e6);margin:0;font-size:14px;font-weight:600}.dz-textbooks-popover-mono{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint,#17171780);font-size:9px;font-weight:400}.dz-textbooks-empty{color:var(--ink-muted,#171717b3);align-items:center;gap:10px;padding:12px 0;font-size:13px;display:flex}.dz-textbooks-course-list{flex-direction:column;gap:12px;display:flex}.dz-textbooks-course-row{flex-direction:column;gap:6px;display:flex}.dz-textbooks-course-header{align-items:center;gap:7px;display:flex}.dz-textbooks-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.dz-textbooks-code{font-family:var(--font-mono-narrow);letter-spacing:.05em;color:var(--ink-strong,#171717d9);flex:1;font-size:11px;font-weight:400}.dz-textbooks-add-label{color:var(--ink-muted,#171717b3);cursor:pointer;background:0 0;border:1px dashed #17171733;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.dz-textbooks-add-label:hover{background:#1717170a;border-color:#17171759}.dz-textbooks-book-list{flex-direction:column;gap:4px;margin:0;padding:0 0 0 14px;list-style:none;display:flex}.dz-textbooks-book-row{background:#17171708;border:1px solid #1717170f;border-radius:8px;align-items:center;gap:8px;padding:5px 8px;display:flex}.dz-textbooks-book-spine{border-radius:2px;flex-shrink:0;width:4px;height:28px}.dz-textbooks-book-name{color:var(--ink-strong,#171717d9);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11.5px;overflow:hidden}.dz-textbooks-remove-btn{cursor:pointer;color:var(--ink-icon-faint);background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:3px;display:flex}.dz-textbooks-remove-btn:hover{color:#e53e3e;background:#e53e3e12}.dz-center{text-align:left;pointer-events:none;flex-direction:row;align-items:center;gap:20px;width:100%;padding:0 36px;display:flex}.dz-center-text{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.dz-center button,.dz-center .dz-btn-row,.dz-center .dz-info-anchor{pointer-events:auto}.dz-h2{color:var(--ink,#171717e6);letter-spacing:-.01em;margin:0;font-size:26px;font-weight:400;line-height:1.08}.dz-sub{color:var(--ink-muted,#171717b3);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.dz-btn-row{pointer-events:all;align-items:center;gap:10px;margin-top:8px;display:flex}.dz-paste-btn,.dz-browse-btn{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:13.5px;font-weight:400}.dz-paste-btn--active{color:#1e7c3a;box-shadow:0 2px 3px #0000000f,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff,0 0 0 1px #34a8534d}.dz-paste-dot{background:var(--accent-green);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.4s ease-in-out infinite pulse-dot;display:inline-block}.dz-drop-hint{color:var(--ink-strong,#171717d9);letter-spacing:-.02em;margin:0;font-size:22px;font-weight:500}.binder-filterbar{white-space:nowrap;z-index:5;border-radius:12px;align-items:center;gap:6px;padding:6px 12px;display:flex;position:absolute;bottom:-26px;left:50%;transform:translate(-50%)}.filterbar-label{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ink-faint,#17171780);text-transform:uppercase;font-size:9px;font-weight:400}.filterbar-divider{background:var(--border-pill,#e3e3e0);flex-shrink:0;width:1px;height:16px}.binder-coursestrip{z-index:5;border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px;max-width:280px;padding:8px 12px;display:flex;position:absolute;bottom:-82px;left:-16px}.coursestrip-pill{background:#1717170d;border:1px solid #17171714;border-radius:20px;align-items:center;gap:5px;padding:3px 8px;display:flex}.coursestrip-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.coursestrip-code{font-family:var(--font-mono-narrow);letter-spacing:.05em;color:var(--ink-strong,#171717d9);font-size:10px;font-weight:400}.coursestrip-count{font-family:var(--font-mono-narrow);color:var(--ink-muted,#171717b3);background:#17171714;border-radius:4px;padding:0 4px;font-size:9px;line-height:1.6}.binder-queue-integrated{background:var(--binder-bg,#f5f5f2);border-radius:18px;flex:1;box-shadow:0 0 0 1px #0000001a,0 2px 6px #0000000a}.binder-queue-wrap{z-index:1;flex-direction:column;width:100%;max-width:968px;margin-top:48px;display:flex;position:relative}.binder-email-panel-wrap{flex-direction:column;flex-shrink:0;align-self:stretch;width:320px;display:flex;position:relative}.binder-email-panel{flex-direction:column;flex:1;width:100%;display:flex}.binder-email-panel.queue-email-shell{border-radius:0 18px 18px 0;padding-bottom:0;overflow:hidden}.dz-floating-btns{z-index:5;pointer-events:all;white-space:nowrap;align-items:center;gap:10px;display:flex;position:absolute;bottom:-20px;left:50%;transform:translate(-50%)}.email-floating-refresh{z-index:5;white-space:nowrap;position:absolute;bottom:-20px;left:50%;transform:translate(-50%)}.email-refresh-btn{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;gap:8px;font-size:13.5px;font-weight:400;opacity:1!important}.queue-email-shell{background:var(--surface-darker,#e7e7e3);z-index:0;border-radius:0 18px 0 0;flex-direction:column;flex-shrink:0;padding:0;display:flex;box-shadow:0 0 0 1px #0000001a,inset 0 1px #fff6}.queue-email-shell-header{justify-content:space-between;align-items:center;padding:10px 16px 6px;display:flex}.queue-email-mono{font-family:var(--font-mono);letter-spacing:.1em;color:#17171773;text-transform:uppercase;align-items:center;gap:5px;font-size:9px;font-weight:400;display:flex}.queue-email-inner{background:var(--surface-raised,#fbfbf8);border-radius:10px;justify-content:center;align-items:center;width:calc(100% - 24px);padding:10px 16px;display:flex;box-shadow:0 1px 3px #0000000a,0 0 0 1px #0000000d,inset 0 1px #ffffffb3}.queue-email-center{flex-direction:column;flex:1;justify-content:flex-start;gap:14px;padding:16px 16px 0;display:flex;position:relative;overflow:hidden}.queue-email-center:after{content:"";image-rendering:pixelated;pointer-events:none;background-image:url(/mail_banner.png);background-position:bottom;background-repeat:no-repeat;background-size:100%;position:absolute;inset:0}.email-panel-address-bar{background:var(--surface-raised,#fbfbf8);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px 10px 14px;display:flex;box-shadow:0 1px 3px #0000000a,0 0 0 1px #0000000d,inset 0 1px #ffffffb3}.email-panel-address-text{font-family:var(--font-sans,system-ui, sans-serif);color:var(--ink,#171717e6);letter-spacing:-.01em;word-break:break-all;overflow-wrap:anywhere;flex:1;font-size:12px;font-weight:400;line-height:1.35}.email-panel-copy-btn{cursor:pointer;color:var(--ink-icon-muted);background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:flex}.email-panel-copy-btn:hover{color:var(--ink-icon);background:#1717170f}.email-panel-tagline{color:var(--ink-muted,#171717b3);margin-bottom:84px;font-size:13px;font-weight:400;line-height:1.5}.queue-email-refresh-btn{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;gap:6px;font-size:11px;font-weight:400}.queue-email-popover{border-top:1px solid #17171714;margin-top:6px;padding:8px 7px 2px}.binder-right-panel{background:var(--surface-darker,#e7e7e3);border-radius:18px;flex-direction:column;gap:12px;padding:8px;display:flex;box-shadow:0 1px 4px #00000012,0 0 0 .714px #0000000d}.binder-email-card{padding:0;overflow:visible}.email-card-label{color:var(--app-blue);letter-spacing:.02em;background:#e6f0ff;border-radius:18px 18px 0 0;align-items:center;gap:5px;padding:5px 14px;font-size:10.5px;font-weight:600;display:flex}.email-card-row{border-top:1px solid #1a6fd11f;align-items:center;gap:10px;padding:10px 14px 12px;display:flex}.email-card-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.email-card-mailbox{color:var(--ink-strong,#171717d9);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:500;overflow:hidden}.email-card-mailbox--placeholder{color:var(--ink-faint,#17171780);font-style:italic}.email-card-icon-wrap{width:44px;height:44px;color:var(--app-blue);background:#c7dcff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.email-new-badge{background:var(--accent-lime);color:#1a2a00;font-family:var(--font-mono);letter-spacing:.04em;border-radius:6px;flex-shrink:0;align-self:flex-start;padding:2px 8px;font-size:10px;font-weight:400}.email-settings-btn{cursor:pointer;color:var(--ink-faint,#17171780);background:0 0;border:none;border-radius:6px;flex-shrink:0;align-items:center;padding:4px;display:flex}.email-settings-btn:hover{color:var(--ink-muted,#171717b3);background:#1717170f}.email-status-row{align-items:center;gap:6px;display:flex}.email-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.email-status-dot--ok{background:var(--accent-green)}.email-status-dot--sync{background:var(--accent-green);animation:1s ease-in-out infinite pulse-dot}.email-status-text{color:var(--ink-muted,#171717b3);font-size:11px}.email-popover-items{border-top:1px solid #17171714;flex-direction:column;gap:6px;padding-top:10px;display:flex}.email-popover-heading{color:var(--ink-strong,#171717d9);margin:0;font-size:11px;font-weight:600}.email-popover-item{color:var(--ink-muted,#171717b3);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.email-popover-dismiss{cursor:pointer;color:var(--ink-muted,#171717b3);text-align:left;background:0 0;border:none;padding:0;font-size:11px}.binder-queue-card{flex-direction:column;flex:1;min-height:120px;padding:16px;display:flex;overflow:hidden}.queue-card-header{border-bottom:1px solid #17171714;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;padding-bottom:12px;display:flex}.queue-card-mono{font-family:var(--font-mono);letter-spacing:.12em;color:var(--ink-faint,#17171780);text-transform:none;margin-bottom:4px;font-size:10px;font-weight:400}.queue-card-title{letter-spacing:-.01em;color:var(--ink,#171717e6);margin:0;font-size:20px;font-weight:400;line-height:1.2}.queue-card-counts{color:var(--ink-muted,#171717b3);font-size:11px;font-family:var(--font-mono-narrow);align-items:center;gap:4px;margin-top:2px;display:flex}.queue-card-dot{opacity:.5}.queue-filter-tabs{background:#1717170d;border-radius:9px;gap:4px;margin-bottom:12px;padding:3px;display:flex}.queue-tab{height:28px;color:var(--ink-muted,#171717b3);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:5px;font-size:11px;font-weight:500;display:flex}.queue-tab--active{color:var(--ink,#171717e6);background:#fff;box-shadow:0 1px 2px #00000014}.queue-tab-count{font-family:var(--font-mono-narrow);opacity:.6;font-size:9px}.queue-card-scroll{scrollbar-width:none;-ms-overflow-style:none;flex:1;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-content:start;gap:8px;min-height:60px;display:grid;overflow:hidden auto}.queue-card-scroll::-webkit-scrollbar{display:none}.queue-card-empty{color:var(--ink-faint,#17171780);text-align:center;font-size:12px;font-family:var(--font-mono);flex:1;grid-column:1/-1;justify-content:center;align-items:center;display:flex}.queue-row{animation:task-row-in .3s var(--spring,cubic-bezier(.22,.61,.36,1)) both;background:#fff9;border:1px solid #17171714;border-radius:10px;flex-direction:column;padding:7px 8px;display:flex}.queue-row--processing{background:#e6f0ff66;border-color:#1a6fd140}.queue-row--done{opacity:.55}.queue-row--error{background:#fff5f599;border-color:#e53e3e33}.queue-row-top{align-items:center;gap:8px;display:flex}.queue-row-meta{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.queue-row-name{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.queue-row-name-text{color:var(--ink-strong,#171717d9);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:500;overflow:hidden}.queue-mail-badge{font-family:var(--font-mono);letter-spacing:.05em;color:var(--app-blue);background:#e6f0ff;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:400}.queue-row-details{flex-shrink:0;align-items:center;gap:4px;display:flex}.queue-row-course{font-family:var(--font-mono);letter-spacing:.05em;color:var(--app-blue);cursor:pointer;align-items:center;gap:2px;font-size:10px;font-weight:400;display:flex}.queue-row-size{font-family:var(--font-mono);color:var(--ink-faint,#17171780);font-size:10px}.queue-row-status{font-family:var(--font-mono);letter-spacing:.03em;color:var(--ink-muted,#171717b3);font-size:10px;font-weight:400}.queue-row-status--processing{color:var(--app-blue)}.queue-row-status--done{color:var(--accent-green)}.queue-row-status--error{color:#e53e3e}.queue-row-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.queue-suggestion-block{background:#e6f0ff4d;border:1px solid #1a6fd133;border-radius:10px;overflow:hidden}.queue-suggestion-header{background:#1a6fd10f;border-bottom:1px solid #1a6fd11a;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.queue-suggestion-item{border-top:1px solid #1717170d;align-items:center;gap:8px;padding:6px 12px;display:flex}.queue-card-footer{color:var(--ink-faint,#17171780);border-top:1px solid #17171712;align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:flex}.queue-footer-text{color:var(--ink-muted,#171717b3);flex:1;font-size:11px}.queue-footer-toggle{background:#1717171a;border:1px solid #1717171a;border-radius:9px;flex-shrink:0;width:32px;height:18px}.binder-below-stage{z-index:1;width:100%;max-width:960px;margin-top:32px;position:relative}.binder-quick-btns{z-index:1;align-items:center;gap:8px;width:100%;max-width:960px;margin-top:12px;display:flex;position:relative}.binder-quick-btn{border:1px solid var(--line);background:var(--surface);color:var(--muted);font-family:var(--font-mono);letter-spacing:.02em;cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:11px;display:inline-flex}.binder-quick-btn:hover{background:var(--surface-soft);color:var(--text);border-color:#bfc2bb}.binder-quick-modal{max-height:75vh}.binder-quick-modal-sub{font-family:var(--font-mono);letter-spacing:.08em;color:var(--faint);margin:-8px 0 4px;font-size:10px}.binder-quick-modal-uploading{color:var(--muted);text-align:center;margin:0;font-size:12px}.binder-deferred-modal-body{flex-direction:column;gap:16px;display:flex}.binder-deferred-modal-body .dr-section,.binder-deferred-modal-body .dl-section{margin-top:0}.source-books-section{z-index:1;width:100%;max-width:960px;margin-top:48px;position:relative}.source-books-toggle{width:100%;color:var(--ink-strong,#171717d9);cursor:pointer;background:#ffffffb3;border:1px solid #1717171f;border-radius:10px;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;display:flex}.source-books-toggle:hover{background:#ffffffeb;border-color:#17171747}.source-books-toggle-label{letter-spacing:-.01em;font-size:14px;font-weight:600}.source-books-toggle-mono{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-faint,#17171780);text-transform:uppercase;font-size:9px;font-weight:400}.source-books-header{justify-content:space-between;align-items:flex-end;margin-bottom:20px;display:flex}.source-books-title{letter-spacing:-.025em;color:var(--ink,#171717e6);margin:0 0 4px;font-size:22px;font-weight:700}.source-books-mono{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-faint,#17171780);text-transform:uppercase;margin:0;font-size:9px;font-weight:400}.source-books-empty{color:var(--ink-muted,#171717b3);align-items:center;gap:10px;padding:24px 0;font-size:13px;display:flex}.source-books-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.source-book-card{flex-direction:column;gap:10px;padding:14px;display:flex}.source-book-card-header{align-items:center;gap:8px;display:flex}.source-book-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.source-book-code{font-family:var(--font-mono-narrow);letter-spacing:.05em;color:var(--ink-strong,#171717d9);font-size:11px;font-weight:400}.source-book-empty-slot{cursor:pointer;border:1.5px dashed #17171726;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:120px;display:flex}.source-book-empty-slot:hover{background:#17171705;border-color:#1717174d}.source-book-empty-icon{color:var(--ink-faint,#17171780)}.source-book-empty-label{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-faint,#17171780);font-size:9px;font-weight:400}.source-book-upload-btn{color:var(--ink-muted,#171717b3);background:#ffffffb3;border:1px solid #17171726;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:500}.source-book-list{flex-direction:column;gap:8px;display:flex}.source-book-item{flex-direction:column;gap:6px;display:flex}.source-book-cover{border:1px solid;border-radius:8px;align-items:center;height:80px;display:flex;position:relative;overflow:hidden}.source-book-cover-spine{flex-shrink:0;width:8px;height:100%}.source-book-cover-text{flex:1;min-width:0;padding:8px}.source-book-cover-title{color:#171717b3;-webkit-line-clamp:3;word-break:break-word;-webkit-box-orient:vertical;font-size:10px;font-weight:600;display:-webkit-box;overflow:hidden}.source-book-item-footer{align-items:center;gap:4px;display:flex}.source-book-filename{color:var(--ink-muted,#171717b3);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10px;overflow:hidden}.source-book-add-btn{color:var(--ink-muted,#171717b3);cursor:pointer;background:0 0;border:1px dashed #17171733;border-radius:6px;align-items:center;gap:4px;width:fit-content;padding:4px 8px;font-size:10px;display:inline-flex}.source-book-add-btn:hover{background:#1717170a;border-color:#17171759}@media (max-width:1100px){.binder-main-row{margin-bottom:64px}.binder-email-float{display:none}.source-books-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:960px){.binder-panels-outline{max-width:min(100%,860px)}.binder-email-panel-wrap{width:300px}}@media (max-width:780px){.binder-panels-outline{height:240px}.binder-filterbar{gap:4px;padding:5px 8px}.source-books-grid{grid-template-columns:1fr 1fr}.binder-stage{padding:16px 16px 60px}.binder-email-panel-wrap{width:240px}.dz-center{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:0 16px}.dz-center img{order:-1;width:80px}.dz-center-text{flex-direction:column;align-items:center;gap:4px;display:flex}.dz-h2{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:18px;overflow:hidden}.dz-sub{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;display:-webkit-box;overflow:hidden}}@media (max-width:480px){.binder-stage{padding-bottom:96px}.binder-below-stage{margin-bottom:16px}.binder-email-panel-wrap{width:180px}.dz-center{gap:6px;padding:0 10px}.dz-center img{width:60px}.dz-h2{font-size:15px}.dz-sub{display:none}}.queue-process-btn{height:28px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:7px;padding:0 12px;font-size:10px;font-weight:400}.q2-process-btn{cursor:pointer;background:var(--ink,#171717e6);color:#fff;width:100%;height:44px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:10px;font-size:12px;font-weight:400;transition:box-shadow .12s,transform .1s;display:flex;box-shadow:0 2px 6px #0000002e,inset 0 1.5px #ffffff14,0 0 0 1px #00000059}.q2-process-btn:hover:not(:disabled){background:#1a1717;box-shadow:0 4px 10px #0000003d,inset 0 1.5px #ffffff14,0 0 0 1px #0006}.q2-process-btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px 3px #0000001a,0 0 0 1px #0000004d}.q2-process-btn:disabled{opacity:.4;cursor:not-allowed}.q2-batch-section{flex-direction:column;gap:6px;display:flex}.q2-batch-header{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint,#17171780);padding:2px 0;font-size:9px;font-weight:400}.q2-interrupted-banner{font-family:var(--font-mono);color:var(--ink-strong,#171717d9);background:#f6c7521f;border:1px solid #d6a23a4d;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:8px;padding:10px 12px;font-size:10.5px;display:flex}.q2-interrupted-banner span{flex:1}.q2-interrupted-dismiss{cursor:pointer;font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-muted,#171717b3);white-space:nowrap;background:0 0;border:none;flex-shrink:0;padding:0;font-size:10px;font-weight:400}.q2-status-line{font-family:var(--font-mono);color:var(--ink-muted,#171717b3);align-items:center;gap:7px;margin:0 0 8px;padding:0;font-size:10.5px;display:flex}.q2-spinner{color:var(--ink-muted,#171717b3);flex-shrink:0;animation:1s linear infinite spin}.q2-edit-input{color:var(--ink-strong,#171717d9);background:#fff;border:1px solid #17171733;border-radius:6px;outline:none;width:100%;padding:3px 7px;font-family:inherit;font-size:12px;font-weight:500;transition:box-shadow .12s;box-shadow:inset 0 1px 2px #1717170f}.q2-edit-input:focus{border-color:#17171766;box-shadow:inset 0 1px 2px #17171714,0 0 0 2px #17171714}.q2-edit-input--course{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;width:100px;color:var(--app-blue);font-size:10px;font-weight:400}.q2-edit-btn{cursor:pointer;color:var(--ink-faint,#17171780);background:0 0;border:none;flex-shrink:0;align-items:center;padding:2px;display:inline-flex}.q2-edit-btn:hover{color:var(--ink-strong,#171717d9)}.q2-icon-btn{cursor:pointer;color:var(--ink-icon-faint);background:0 0;border:none;border-radius:5px;align-items:center;padding:3px;display:flex}.q2-icon-btn:hover{color:var(--ink-icon-strong);background:#1717170f}.q2-icon-btn--danger{color:#c53030}.q2-icon-btn--danger:hover{color:#9b2c2c;background:#c5303014}.q2-reupload-btn{cursor:pointer;width:22px;height:22px;color:var(--app-blue);background:#1a6fd114;border-radius:6px;justify-content:center;align-items:center;display:flex}.q2-reupload-btn:hover{color:#155bb5;background:#1a6fd126}.q2-tag{font-family:var(--font-mono-narrow);letter-spacing:.04em;color:var(--ink-muted,#171717b3);background:#1717170f;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:400}.q2-suggestion-block{background:#e6f0ff40;border:1px solid #1a6fd133;border-radius:10px;overflow:hidden}.q2-suggestion-header{background:#1a6fd10d;border-bottom:1px solid #1a6fd11a;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.q2-suggestion-label{font-family:var(--font-mono);color:var(--ink-muted,#171717b3);font-size:10.5px}.q2-suggestion-accept{font-family:var(--font-mono);letter-spacing:.05em;background:var(--ink,#171717e6);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:4px 12px;font-size:10px;font-weight:400}.q2-suggestion-accept:hover{background:#1a1717}.q2-suggestion-dismiss{font-family:var(--font-mono);color:var(--ink-muted,#171717b3);cursor:pointer;background:#ffffffb3;border:1px solid #17171724;border-radius:6px;padding:4px 10px;font-size:10px;font-weight:400}.q2-suggestion-dismiss:hover{background:#fff}.q2-suggestion-item{border-top:1px solid #1717170d;align-items:center;gap:8px;padding:6px 12px;display:flex}.q2-suggestion-item-name{color:var(--ink-strong,#171717d9);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:500;overflow:hidden}.v2-modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:920;background:#1c1c1c66;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.v2-modal{background:var(--surface-raised,#fbfbf8);border-radius:var(--radius-lg,18px);flex-direction:column;gap:16px;width:min(480px,100%);max-height:80vh;padding:24px;display:flex;overflow-y:auto;box-shadow:inset 0 0 0 .714px #fff,0 0 0 .714px #00000014,0 0 14px #0000000a,0 7px 14px #00000005,0 2px 8px #00000008}.v2-modal--wide{width:min(600px,100%)}.v2-modal-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.v2-modal-title{font-family:var(--font-display);color:var(--ink,#171717e6);letter-spacing:-.018em;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:510;display:flex}.v2-modal-close{background:var(--bg);cursor:pointer;color:var(--ink-icon-strong);border-radius:var(--radius-sm,8px);transition:transform .14s var(--spring), box-shadow .14s ease;border:1px solid #2020201a;flex-shrink:0;align-items:center;padding:5px;display:flex;box-shadow:0 2px 3px #0000000f,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.v2-modal-close:hover{transform:translateY(-1px);box-shadow:0 4px 6px #0000001a,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.v2-modal-body{color:var(--ink-muted,#171717b3);margin:0;font-size:13px;line-height:1.5}.v2-modal-body strong{color:var(--ink-strong,#171717d9);font-weight:600}.v2-modal-error{font-family:var(--font-mono);color:#c53030;background:#c5303012;border:1px solid #c5303026;border-radius:8px;margin:0;padding:8px 12px;font-size:11px}.v2-modal-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:4px;display:flex}.v2-modal-btn-ghost{border-radius:var(--radius-sm,8px);background:var(--bg);height:36px;color:var(--ink);font-family:var(--font);cursor:pointer;transition:transform .14s var(--spring), box-shadow .14s ease;border:1px solid #2020201a;align-items:center;gap:5px;padding:0 16px;font-size:.9rem;font-weight:400;display:inline-flex;box-shadow:0 2px 3px #0000000f,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.v2-modal-btn-ghost:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 6px #0000001a,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.v2-modal-btn-primary{border-radius:var(--radius-sm,8px);color:#fff;height:36px;font-family:var(--font);cursor:pointer;transition:transform .14s var(--spring), box-shadow .14s ease;background:linear-gradient(#2020201a,#2020201a),linear-gradient(#4f4f4f 0%,#202020d9 100%);border:1px solid #383838;align-items:center;gap:5px;padding:0 18px;font-size:.9rem;font-weight:400;display:inline-flex;box-shadow:0 0 0 1px #4040401f,inset 0 2px #ffffff3d,inset 0 -.5px 2px #00000040,0 2px 8px #00000008,0 3px 4px #00000029}.v2-modal-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 0 1px #4040401f,inset 0 2px #ffffff3d,inset 0 -.5px 2px #00000040,0 4px 12px #0000000d,0 5px 6px #0003}.v2-modal-btn-primary:disabled{opacity:.4;pointer-events:none}.v2-chapter-list{flex-direction:column;gap:6px;display:flex}.v2-chapter-heading{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint,#17171780);margin:0;font-size:9px;font-weight:400}.v2-chapter-items{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.v2-chapter-btn{cursor:pointer;text-align:left;background:#ffffff80;border:1px solid #17171714;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:8px 12px;display:flex}.v2-chapter-btn:hover{background:#ffffffd9;border-color:#17171724}.v2-chapter-btn--active{background:#1a6fd114;border-color:#1a6fd140}.v2-chapter-title{color:var(--ink-strong,#171717d9);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:500;overflow:hidden}.v2-chapter-pages{font-family:var(--font-mono);color:var(--ink-faint,#17171780);flex-shrink:0;font-size:10px}.v2-range-fields{gap:12px;display:flex}.v2-range-field{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint,#17171780);flex-direction:column;flex:1;gap:5px;font-size:10px;font-weight:400;display:flex}.v2-range-field input{height:36px;font-family:var(--font-mono);color:var(--ink-strong,#171717d9);background:#fff;border:1px solid #17171724;border-radius:8px;outline:none;padding:0 10px;font-size:13px;font-weight:400;transition:box-shadow .12s}.v2-range-field input:focus{border-color:#1717174d;box-shadow:0 0 0 3px #1717170f}.v2-modal--carousel{flex-direction:column;gap:0;width:min(560px,100%);max-height:82vh;padding:0;display:flex;overflow:hidden}.v2-modal--carousel .v2-modal-header{flex-shrink:0;padding:20px 24px 0}.v2-modal-page-counter{font-family:var(--font-mono-narrow);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted,#171717b3);font-size:11px;font-weight:400}.v2-carousel-page{flex:1;min-height:0;padding:16px 24px;overflow-y:auto}.v2-carousel-footer{border-top:1px solid #17171712;flex-direction:column;flex-shrink:0;gap:10px;padding:14px 24px 20px;display:flex}.v2-carousel-footer-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.v2-carousel-footer-left,.v2-carousel-footer-right{align-items:center;gap:8px;display:flex}.consolidation-card{background:#fff9;border:1px solid #17171714;border-radius:12px;margin-bottom:8px;padding:12px 14px}.consolidation-card-title{color:var(--ink,#171717e6);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;font-size:13px;font-weight:600;display:flex}.consolidation-card-about{color:var(--ink-muted,#171717b3);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 10px;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.consolidation-target-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.consolidation-target-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint,#17171780);font-size:10px;font-weight:400}.consolidation-group{background:#fbfbf8cc;border:1px solid #17171714;border-radius:12px;margin-bottom:8px;overflow:hidden}.consolidation-group-files{margin:0;padding:0;list-style:none}.consolidation-group-file{border-bottom:1px solid #1717170f;padding:10px 36px 10px 14px;position:relative}.consolidation-group-file:last-child{border-bottom:none}.consolidation-group-file-title{color:var(--ink,#171717e6);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.consolidation-group-file-about{color:var(--ink-muted,#171717b3);margin:3px 0 0;font-size:11.5px;line-height:1.4}.consolidation-group-footer{background:#17171705;border-top:1px solid #1717170f;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px 12px;display:flex}.group-unlink-btn{cursor:pointer;color:var(--ink-icon-faint);opacity:.5;background:0 0;border:none;border-radius:5px;align-items:center;padding:3px;transition:opacity .12s;display:flex;position:absolute;top:10px;right:10px}.consolidation-group-file:hover .group-unlink-btn,.group-unlink-btn:focus-visible{opacity:1}.group-unlink-btn:hover{color:#c0392b;background:#c0392b14}.course-code-pill{font-family:var(--font-mono-narrow);letter-spacing:.06em;color:var(--app-blue);background:#1a6fd11a;border:1px solid #1a6fd133;border-radius:999px;flex-shrink:0;align-items:center;padding:1px 7px;font-size:9px;font-weight:400;display:inline-flex}.file-ext-pill,.ext-pill{font-family:var(--font-mono);color:var(--ink-muted,#171717b3);background:#1717170f;border:1px solid #1717171a;border-radius:4px;flex-shrink:0;align-items:center;padding:1px 5px;font-size:9px;font-weight:400;display:inline-flex}.source-channel-pill{font-family:var(--font-mono);letter-spacing:.04em;color:var(--app-blue);background:#e6f0ff;border:1px solid #1a6fd12e;border-radius:4px;flex-shrink:0;align-items:center;padding:1px 5px;font-size:9px;font-weight:400;display:inline-flex}.note-picker-trigger{color:var(--ink-strong,#171717d9);cursor:pointer;background:#fff;border:1px solid #17171724;border-radius:999px;align-items:center;gap:6px;padding:5px 10px 5px 12px;font-size:12px;font-weight:500;display:inline-flex;box-shadow:0 1px 3px #0000000a}.note-picker-trigger:hover{background:#fafafa;border-color:#1717173d}.note-picker-trigger[aria-expanded=true],.note-picker-trigger:focus-visible{border-color:#1717174d;outline:none}.note-picker-dropdown{background:var(--surface-raised,#fbfbf8);z-index:960;border-radius:12px;min-width:260px;max-width:340px;max-height:240px;padding:4px 0;position:fixed;overflow-y:auto;box-shadow:inset 0 0 0 .714px #fff,0 0 0 .714px #00000014,0 4px 16px #0000000f}.note-picker-option{cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #1717170d;flex-direction:column;width:100%;padding:8px 12px;display:flex}.note-picker-option:last-child{border-bottom:none}.note-picker-option:hover,.note-picker-option--selected{background:#1717170a}.note-picker-option-title{color:var(--ink-strong,#171717d9);align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.note-picker-option-about{color:var(--ink-muted,#171717b3);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:11px;line-height:1.3;display:-webkit-box;overflow:hidden}.note-picker-option-hint{color:var(--ink-faint,#17171780);font-size:10px;font-weight:400;display:block}.note-picker-ai-badge{font-family:var(--font-mono);color:var(--app-blue);letter-spacing:.04em;background:#1a6fd11a;border-radius:4px;padding:1px 5px;font-size:8px;font-weight:400}.note-picker-new{color:var(--ink-strong,#171717d9);font-size:12px;font-weight:600}.note-picker-empty{color:var(--ink-faint,#17171780);font-size:11px;font-family:var(--font-mono);padding:10px 12px}.v2-todo-item{background:#ffffff80;border:1px solid #17171712;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:5px;padding:8px 10px;display:flex}.v2-todo-title{color:var(--ink-strong,#171717d9);flex:1;align-items:center;gap:5px;min-width:0;font-size:12.5px;font-weight:500;display:flex}.v2-todo-due{font-family:var(--font-mono);color:var(--ink-faint,#17171780);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;font-size:10px;display:flex}.v2-todo-course-pill{font-family:var(--font-mono);letter-spacing:.06em;color:var(--app-blue);background:#1a6fd11a;border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:9px;font-weight:400}.v2-todo-details{color:var(--ink-faint,#17171799);flex-basis:100%;align-items:flex-start;gap:5px;font-size:11.5px;line-height:1.45;display:flex}.v2-todo-details-text{white-space:pre-wrap;word-break:break-word;flex:1;min-width:0}.v2-todo-details--editing{align-items:stretch}.v2-todo-details-input{resize:vertical;flex:1;min-width:0;font-size:11.5px;line-height:1.45}.v2-todo-details-add{cursor:pointer;font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-faint,#17171766);opacity:.7;background:0 0;border:none;flex-basis:100%;align-self:flex-start;align-items:center;gap:3px;padding:0;font-size:9.5px;transition:opacity .15s;display:inline-flex}.v2-todo-details-add:hover{opacity:1;color:var(--app-blue)}.carousel-coverage-list{flex-direction:column;gap:6px;margin:0;padding:0 24px;list-style:none;display:flex}.carousel-coverage-item{background:#ffffff80;border:1px solid #17171712;border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.carousel-coverage-source{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint,#17171780);font-size:9px;font-weight:400}.carousel-coverage-claim{color:var(--ink-strong,#171717d9);font-size:12px}.carousel-course-header{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint,#17171780);padding:4px 0 6px;font-size:9px;font-weight:400}.carousel-empty{font-family:var(--font-mono);color:var(--ink-faint,#17171780);text-align:center;padding:24px 0;font-size:11px}.summary-error-banner{color:var(--ink-strong,#171717d9);background:#c5303012;border:1px solid #c5303026;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:12.5px;display:flex}.summary-error-banner span{flex:1}.summary-retry-btn{cursor:pointer;font-family:var(--font-mono);letter-spacing:.04em;color:#c53030;background:0 0;border:none;flex-shrink:0;padding:0;font-size:10px;font-weight:400}.summary-list{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.summary-item{background:#ffffff80;border:1px solid #17171712;border-radius:8px;padding:8px 10px}.summary-item-note{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.summary-item-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint,#17171780);font-size:9px;font-weight:400}.summary-item-title{color:var(--ink-strong,#171717d9);flex:1;font-size:12px;font-weight:500}.summary-item-course{font-family:var(--font-mono);letter-spacing:.06em;color:var(--app-blue);background:#1a6fd11a;border-radius:999px;padding:1px 7px;font-size:9px;font-weight:400}.summary-item-course--unknown{color:var(--ink-faint,#17171780);background:#1717170f}.summary-item-course--unmatched{color:#c47a1a;background:#e88c301a}.summary-course-unknown{font-style:italic}.summary-course-matched-pill{font-family:var(--font-mono);letter-spacing:.05em;color:#2e7d32;background:#34a8531f;border-radius:4px;margin-left:4px;padding:1px 5px;font-size:8px;font-weight:400}.q2-finalize-banner{border-radius:10px;flex-direction:column;gap:6px;margin-bottom:8px;padding:9px 12px;display:flex}.q2-finalize-banner--planning{background:#6f4cff12;border:1px solid #6f4cff2e}.q2-finalize-banner--saving{background:#1a6fd112;border:1px solid #1a6fd12e}.q2-finalize-banner-top{align-items:center;gap:7px;display:flex}.q2-finalize-spinner{flex-shrink:0;animation:1s linear infinite spin}.q2-finalize-banner--planning .q2-finalize-spinner{color:#6f4cff}.q2-finalize-banner--saving .q2-finalize-spinner{color:var(--app-blue)}.q2-finalize-label{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:400}.q2-finalize-banner--planning .q2-finalize-label{color:#6f4cff}.q2-finalize-banner--saving .q2-finalize-label{color:var(--app-blue)}.q2-finalize-batch{font-family:var(--font-mono);color:var(--ink-muted,#171717b3);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10px;overflow:hidden}.q2-finalize-count{font-family:var(--font-mono-narrow);color:var(--app-blue);flex-shrink:0;font-size:10px;font-weight:400}.q2-finalize-error{font-family:var(--font-mono);color:#c53030;flex-shrink:0;font-size:10px}.q2-finalize-track{background:#1a6fd126;border-radius:2px;height:3px;overflow:hidden}.q2-finalize-fill{background:linear-gradient(90deg, var(--app-blue) 0%, #4fa3f7 100%);border-radius:2px;min-width:4px;height:100%}.v2-textbook-panel{background:var(--surface-raised,#fbfbf8);border:none;border-radius:18px;gap:12px;padding:18px 18px 14px;box-shadow:inset 0 0 0 .714px #fff,0 0 0 .714px #0000001a,0 2px 16px #0000000f,0 16px 40px #0000000a}.v2-textbook-panel .textbook-import-panel-header{padding:0}.v2-textbook-panel .textbook-import-desc{margin:0}.textbook-import-target-row{background:#ffffff8c;border:1px solid #17171714;border-radius:10px}.textbook-import-target-from{font-family:var(--font-mono);color:var(--ink-muted,#171717b3);font-size:10px}.textbook-import-target-into{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-faint,#17171780);font-size:9px;font-weight:400}.textbook-import-item{background:#fff9;border:1px solid #17171714;border-radius:10px}.textbook-import-item:has(input:checked){background:#e6f0ff59;border-color:#1a6fd147}.textbook-import-label input[type=checkbox]{accent-color:var(--app-blue);margin-top:2px}.textbook-import-item-body strong{color:var(--ink,#171717e6);font-size:12.5px;font-weight:600}.textbook-import-meta{font-family:var(--font-mono-narrow);color:var(--ink-faint,#17171780);font-size:10px}.textbook-import-into-note{font-family:var(--font-mono);color:var(--app-blue);font-size:10px;font-weight:400}.textbook-import-ref{color:var(--ink-muted,#171717b3);font-size:11px}.textbook-import-actions{border-top:1px solid #17171712;margin-top:4px;padding-top:8px}.v2-textbook-toast{left:50%;bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:860;width:min(440px,100vw - 24px);color:var(--ink-strong,#171717d9);border-radius:14px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:12.5px;display:flex;position:fixed;transform:translate(-50%);box-shadow:inset 0 0 0 .714px #fff,0 0 0 .714px #00000014,0 4px 16px #0000000f}.v2-textbook-toast--running{background:#e6f0ffd9;border:1px solid #1a6fd138}.v2-textbook-toast--done{background:#e8faf0e6;border:1px solid #34a85340}.v2-textbook-toast--error{background:#fff5f5eb;border:1px solid #c5303038}.v2-textbook-toast-spinner{color:var(--app-blue);flex-shrink:0;animation:1s linear infinite spin}.v2-textbook-toast-icon{color:#2e7d32;flex-shrink:0}.v2-textbook-toast-text{flex-direction:column;flex:1;gap:2px;font-weight:600;line-height:1.35;display:flex}.v2-textbook-toast-sub{font-weight:400;font-family:var(--font-mono);color:var(--ink-muted,#171717b3);font-size:10px}.v2-textbook-toast-dismiss{flex-shrink:0}.dr-section{z-index:1;width:100%;max-width:960px;margin-top:32px;position:relative}.dr-header-row{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.dr-mono{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-faint,#17171780);font-size:10px;font-weight:400}.dr-count{font-family:var(--font-mono-narrow);letter-spacing:.05em;color:#c47a1a;background:#e88c301a;border:1px solid #d6a23a38;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:400}.dr-list{flex-direction:column;gap:8px;display:flex}.dr-card{background:var(--surface-raised,#fbfbf8);border:1px solid #17171714;border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex;box-shadow:inset 0 1px #ffffffb3,0 2px 8px #0000000a}.dr-card[data-status=processing]{background:#e6f0ff66;border-color:#1a6fd138}.dr-card[data-status=done]{background:#e8faf080;border-color:#34a85333}.dr-card[data-status=error]{background:#fff5f599;border-color:#c530302e}.dr-card-top{align-items:flex-start;gap:8px;display:flex}.dr-course-pill{font-family:var(--font-mono);letter-spacing:.06em;color:var(--app-blue);background:#1a6fd114;border:1px solid #1a6fd12e;border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:9px;font-weight:400}.dr-label{min-width:0;color:var(--ink,#171717e6);flex:1;font-size:12.5px;font-weight:500;line-height:1.35}.dr-meta{font-family:var(--font-mono-narrow);color:var(--ink-faint,#17171780);margin:0;font-size:10px;line-height:1.4}.dr-meta em{color:var(--ink-muted,#171717b3);font-style:normal}.dr-actions{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.dr-btn{height:30px;font-family:var(--font-mono);letter-spacing:.05em;cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-size:10px;font-weight:400;transition:opacity .12s;display:inline-flex}.dr-btn--primary{background:var(--ink-solid,#202020);color:#fff;border:none;box-shadow:0 2px 6px #0000002e,inset 0 1px #ffffff14}.dr-btn--primary:hover{opacity:.85}.dr-btn--ghost{color:var(--ink-muted,#171717b3);background:#ffffffb3;border:1px solid #1717171f}.dr-btn--ghost:hover:not(:disabled){color:var(--ink-strong,#171717d9);background:#fff;border-color:#17171733}.dr-btn:disabled{opacity:.35;cursor:not-allowed}.dr-status{font-family:var(--font-mono);letter-spacing:.04em;margin:0;font-size:10px;font-weight:400}.dr-status--processing{color:var(--app-blue)}.dr-status--done{color:#2e7d32}.dr-error{font-family:var(--font-mono);color:#c53030;background:#c5303012;border:1px solid #c5303024;border-radius:7px;margin:0;padding:6px 8px;font-size:10px}.dr-link-url{background:#1717170a;border:1px solid #17171714;border-radius:6px;align-items:flex-start;gap:6px;padding:6px 8px;display:flex}.dr-link-anchor{min-width:0;color:var(--app-blue);font-size:10.5px;line-height:1.4;font-family:var(--font-mono);word-break:break-all;flex:1;align-items:flex-start;gap:6px;text-decoration:none;display:flex}.dr-link-anchor:hover{color:#0d5bb5}.dr-instructions{color:var(--ink-muted,#171717b3);background:#e88c300f;border:1px solid #d6a23a1f;border-radius:6px;margin-top:2px;padding:6px 8px;font-size:11px;line-height:1.45}.dr-instructions strong{color:var(--ink-strong,#171717d9);font-weight:600}.tdp-back-row{max-width:var(--app-content-max-width);margin:0 auto;padding:12px 28px 0}.tdp-back-link{color:#1717176b;font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.07em;text-transform:uppercase;align-items:center;gap:5px;font-size:10px;font-weight:400;text-decoration:none;display:inline-flex}.tdp-back-link:hover{color:#171717b8}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;width:calc(100vw - 40px);max-width:320px;display:flex;position:fixed;top:66px;right:20px}body[data-statusbar=true] .toast-container{top:100px}@keyframes toast-in{0%{opacity:0;filter:blur(3px);transform:translateY(-10px)scale(.96)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes toast-out{0%{opacity:1;filter:blur();transform:translateY(0)scale(1)}to{opacity:0;filter:blur(2px);transform:translateY(-6px)scale(.97)}}.toast{border-radius:var(--radius-card,14px);pointer-events:all;color:var(--ink-strong,#171717d9);animation:toast-in .35s var(--spring) both;align-items:center;gap:9px;padding:9px 11px;display:flex;box-shadow:inset 0 0 0 .714px #fff,0 0 0 .714px #00000014,0 0 14px #0000000a,0 7px 14px #00000005,0 2px 8px #00000008}.toast--info{background:color-mix(in srgb, var(--app-blue) 8%, var(--surface-raised))}.toast--success{background:color-mix(in srgb, var(--accent-green) 10%, var(--surface-raised))}.toast--warning{background:var(--yellow-soft)}.toast--error{background:var(--red-soft)}.toast--exit{animation:toast-out .26s var(--spring) both}.toast--stale{filter:blur(1.5px);opacity:.45;pointer-events:none;transition:filter .2s,opacity .2s,transform .2s;transform:scale(.98)}.toast-icon{flex-shrink:0;align-items:center;display:flex}.toast-icon--success{color:var(--accent-green)}.toast-icon--error{color:var(--accent-red)}.toast-icon--warning{color:var(--accent-amber)}.toast-icon--info{color:var(--app-blue)}.toast-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.toast-label{letter-spacing:normal;color:var(--ink-strong);font-family:inherit;font-size:12px;font-weight:600;line-height:1.2}.toast-body-text{color:var(--ink-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:400;line-height:1.35;display:-webkit-box;overflow:hidden}.toast-body-link{cursor:pointer;text-decoration:none}.toast-body-link:hover{text-underline-offset:2px;text-decoration:underline}.toast-dismiss{width:20px;height:20px;color:var(--ink-icon-faint);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast-dismiss:hover{color:var(--ink-icon-muted);background:#1717170f}@keyframes fresh-breathe{0%,to{box-shadow:0 0 0 1px color-mix(in srgb, var(--fresh-color) 18%, transparent), 0 0 6px color-mix(in srgb, var(--fresh-color) 10%, transparent)}50%{box-shadow:0 0 0 3px color-mix(in srgb, var(--fresh-color) 42%, transparent), 0 0 20px color-mix(in srgb, var(--fresh-color) 24%, transparent)}}.nc-link--fresh .nc-card{outline:1.5px solid color-mix(in srgb, var(--fresh-color) 30%, transparent);outline-offset:0px;border-radius:inherit;animation:2.4s ease-in-out infinite fresh-breathe}@keyframes fresh-task-breathe{0%,to{box-shadow:inset 2px 0 0 color-mix(in srgb, var(--fresh-color) 35%, transparent), 0 0 4px color-mix(in srgb, var(--fresh-color) 8%, transparent)}50%{box-shadow:inset 3px 0 0 color-mix(in srgb, var(--fresh-color) 80%, transparent), 0 0 16px color-mix(in srgb, var(--fresh-color) 20%, transparent)}}.tr-fresh{animation:2.4s ease-in-out infinite fresh-task-breathe}.binder-statusbar{background:var(--surface-raised);width:100%;max-width:968px;color:var(--ink-strong,#171717cc);border-radius:12px;align-items:center;gap:10px;margin-top:40px;padding:10px 16px;font-size:13px;display:flex;box-shadow:inset 0 0 0 .714px #fff,0 0 0 .714px #00000014,0 2px 8px #00000008}.binder-statusbar-dot{background:#34a85399;border-radius:50%;flex-shrink:0;width:8px;height:8px}.binder-statusbar-dot[data-busy=true]{background:var(--app-blue);animation:1.2s ease-in-out infinite statusbar-pulse}@keyframes statusbar-pulse{0%,to{opacity:1}50%{opacity:.4}}.binder-statusbar-msgs{flex-wrap:wrap;flex:1;align-items:center;gap:16px;min-width:0;display:flex}.binder-statusbar-msg{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.binder-statusbar-spinner{font-family:var(--font-mono);color:var(--app-blue);font-size:14px;line-height:1}.binder-statusbar-msg--reading{color:var(--app-blue)}.binder-statusbar-msg--bg{color:var(--ink-faint,#17171780)}.binder-statusbar-msg--failed{color:#c25439}.binder-statusbar-msg--idle{color:var(--ink-faint,#17171780)}.binder-statusbar-clear{appearance:none;cursor:pointer;color:var(--ink-faint,#17171780);background:0 0;border:0;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:12px}.binder-statusbar-clear:hover{color:var(--ink-strong,#171717cc);background:#1717170d}.island-row{z-index:3;justify-content:center;width:100%;max-width:968px;margin:0 auto 18px;display:flex;position:relative}.island-dock{top:84px;left:var(--canvas-left,0px);right:var(--canvas-right,0px);z-index:101;pointer-events:none;justify-content:center;align-items:center;gap:8px;width:fit-content;max-width:100%;margin-inline:auto;display:flex;position:fixed}.island-dock>*{pointer-events:auto}body[data-statusbar=true] .island-dock{top:118px}:is(body:has(.modal-backdrop) .island-dock,body:has(.v2-modal-backdrop) .island-dock){opacity:0;pointer-events:none}.status-bar-slot{z-index:2;flex:none;position:relative;overflow:visible}.status-bar{background:#e6f0fff0;border-bottom:1px solid #17171717;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 1px #ffffffb3}.status-bar[data-tone=info]{background:#e6f0fff0}.status-bar[data-tone=warning]{background:#fff8ebf5}.status-bar[data-tone=error]{background:#fff2f2f5}.status-bar-zebra{z-index:1;pointer-events:none;--zebra-hue:var(--app-blue);--zebra:color-mix(in srgb, var(--zebra-hue) 22%, transparent);background-image:repeating-linear-gradient(60deg, var(--zebra) 0, var(--zebra) 10px, transparent 10px, transparent 20px);height:64px;animation:1.1s linear infinite status-zebra-drift;position:absolute;top:100%;left:0;right:0;-webkit-mask-image:linear-gradient(#000 0%,#0006 40%,#0000 100%);mask-image:linear-gradient(#000 0%,#0006 40%,#0000 100%)}.status-bar-zebra[data-zebra-tone=info]{--zebra-hue:var(--app-blue)}.status-bar-zebra[data-zebra-tone=warning]{--zebra-hue:var(--accent-amber)}.status-bar-zebra[data-zebra-tone=error]{--zebra-hue:var(--accent-red)}@keyframes status-zebra-drift{0%{background-position:0 0}to{background-position:23.094px 0}}.status-bar-inner{z-index:1;white-space:nowrap;align-items:center;gap:10px;height:34px;padding:0 16px;font-size:12px;display:flex;position:relative}.status-bar[data-tone=info] .island-body{color:var(--app-blue)}.status-bar[data-tone=warning] .island-body{color:var(--accent-amber)}.status-bar[data-tone=error] .island-body{color:var(--accent-red)}.status-bar-body{flex:auto;min-width:0}.status-bar .island-body,.status-bar .island-body-inner{flex:auto;min-width:0;display:flex}.status-bar .island-text{flex:auto;min-width:0}.status-bar .island-tail{flex-shrink:0}@media (max-width:768px){.status-bar-inner{padding:0 12px}}@media (prefers-reduced-motion:reduce){.status-bar-zebra{animation:none}}.island-lead{flex-shrink:0;align-items:center;gap:7px;display:inline-flex}.island-glyph{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex;position:relative}.island-glyph[data-tone=warning]{color:#e88c30}.island-glyph[data-tone=error]{color:#e53e3e}.island-glyph--busy{color:var(--app-blue)}.island-glyph-halo{pointer-events:none;background:radial-gradient(circle,#1a6fd159 0%,#1a6fd100 70%);border-radius:999px;position:absolute;inset:-3px}.island-spinner{font-family:var(--font-mono);color:var(--app-blue);font-size:13px;line-height:1;position:relative}.island-count{color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 5px;font-size:10.5px;font-weight:600;line-height:1;display:inline-flex}.island-count[data-tone=info]{background:var(--app-blue)}.island-count[data-tone=warning]{background:var(--accent-amber)}.island-count[data-tone=error]{background:var(--accent-red)}.island-body{align-items:center;min-width:0;display:inline-flex}.island-body-inner{align-items:center;gap:6px;min-width:0;display:inline-flex}.island-body-ico{color:var(--ink-faint,#17171770);flex-shrink:0}.island-tail{color:var(--app-blue);flex-shrink:0;align-items:center;gap:6px;font-size:11px;font-weight:500;display:inline-flex;overflow:hidden}.island-tail-dot{opacity:.5;background:currentColor;border-radius:999px;flex-shrink:0;width:3px;height:3px}.island-tail-spark{flex-shrink:0}.island-tail-label{white-space:nowrap}.island-review{white-space:nowrap;color:inherit;opacity:.85;flex-shrink:0;padding-left:4px;font-size:11px;font-weight:600;text-decoration:none}.island-review:hover{opacity:1;text-decoration:underline}.island-review--dock{opacity:1;cursor:pointer;color:var(--app-blue);background:#e6f0fff0;border:1px solid #17171717;border-radius:999px;align-items:center;padding:6px 12px;font-family:inherit;display:inline-flex;box-shadow:0 1px 3px #17171714}.island-review--dock:hover{text-decoration:none;transform:translateY(-1px)}.island-review--dock[data-state=fyi]:hover{background:#e6f0ff}.island-review--dock[data-state=attention]{background:color-mix(in srgb, var(--accent-red) 12%, #fff);border-color:color-mix(in srgb, var(--accent-red) 28%, transparent);color:var(--accent-red)}.island-review--dock[data-state=attention]:hover{background:color-mix(in srgb, var(--accent-red) 18%, #fff)}.island-text{flex-shrink:1;min-width:0}.island-marquee{white-space:nowrap;display:block;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 10px calc(100% - 10px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 10px calc(100% - 10px),#0000 100%)}.island-marquee[data-scroll=false]{-webkit-mask-image:none;mask-image:none}.island-marquee-track{white-space:nowrap;will-change:transform;align-items:center;display:inline-flex}.island-marquee[data-scroll=true] .island-marquee-track{animation:linear infinite island-marquee-scroll}.island-marquee[data-scroll=true] .island-marquee-copy{padding-right:64px}.island-marquee-probe{visibility:hidden;white-space:nowrap;pointer-events:none;position:absolute;top:0;left:-9999px}.island-marquee-copy{flex-shrink:0}@keyframes island-marquee-scroll{0%{transform:translate(0)}to{transform:translateX(calc(-1 * var(--marquee-unit,0px)))}}@keyframes island-text-in{0%{opacity:0;filter:blur(3px);transform:translateY(2px)}to{opacity:1;filter:blur();transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.status-bar,.island-text,.island-marquee[data-scroll=true] .island-marquee-track{animation:none}.island-marquee[data-scroll=true] .island-marquee-copy:not(:first-child){display:none}}.disc-fab-root{align-items:center;display:flex;position:relative}.disc-fab{background:var(--bg);width:36px;height:36px;color:var(--ink-icon-muted);cursor:pointer;transition:transform .14s var(--spring), box-shadow .14s ease;border:1px solid #2020201a;border-radius:8px;place-items:center;display:inline-grid;position:relative;box-shadow:0 2px 3px #0000000f,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.disc-fab:hover{color:var(--ink-icon-strong);transform:translateY(-1px)}.disc-fab:active{transform:translateY(0)}.disc-fab[data-empty=true]{color:#bdbbb7;cursor:default}.disc-fab[data-empty=true]:hover{color:#bdbbb7;transform:none}.disc-fab[data-empty=true]:active{transform:none}.disc-fab-count{background:var(--ink-solid,#202020);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:600;line-height:1;display:inline-flex;position:absolute;top:-5px;right:-5px;box-shadow:0 1px 4px #00000029}@keyframes disc-pop-in{0%{opacity:0;transform:scale(.96)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.disc-pop{background:var(--surface-raised,#fbfbf8);transform-origin:0 0;width:320px;max-width:calc(100vw - 48px);animation:disc-pop-in .22s var(--spring) both;border-radius:14px;padding:14px;position:absolute;top:calc(100% + 12px);left:0;box-shadow:inset 0 0 0 .714px #fff,0 0 0 .714px #00000014,0 0 14px #0000000a,0 7px 14px #00000005,0 2px 8px #00000008}.disc-pop:before{content:"";background:var(--surface-raised,#fbfbf8);border-top:.714px solid #00000014;border-left:.714px solid #00000014;width:10px;height:10px;position:absolute;top:-5px;left:20px;transform:rotate(45deg)}.disc-pop-head{justify-content:space-between;align-items:baseline;margin-bottom:9px;display:flex}.disc-pop-mono{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-muted,#171717b3);font-size:9px;font-weight:400}.disc-pop-step{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-faint,#17171780);font-size:9px}.disc-opt{border-radius:var(--radius-sm,8px);background:var(--surface-raised,#fbfbf8);height:32px;color:var(--ink,#171717e6);font-family:var(--font);letter-spacing:-.006em;cursor:pointer;border:0;align-items:center;gap:5px;padding:0 13px;font-size:13px;font-weight:510;transition:transform .12s,box-shadow .15s,opacity .15s;display:inline-flex;box-shadow:0 1px 1px #0000000f,inset 0 1.5px #fff,0 0 0 1px #2020201f}.disc-opt:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 4px #00000014,inset 0 1.5px #fff,0 0 0 1px #1a6fd166}.disc-opt:active:not(:disabled){transform:translateY(0)}.disc-opt:disabled{opacity:.4;cursor:default}.disc-opt[data-danger]{color:#c25439}.disc-opt[data-danger]:hover:not(:disabled){box-shadow:0 2px 4px #00000014,inset 0 1.5px #fff,0 0 0 1px #e53e3e66}.disc-opt[data-active]{color:var(--app-blue);box-shadow:0 2px 4px #00000014,inset 0 1.5px #fff,0 0 0 1.5px #1a6fd180}.disc-badge{color:var(--ink-muted,#171717b3);background:#ffffffe6;border-color:#1717171f}.disc-badge:hover{background:#fff}.disc-list{flex-direction:column;gap:6px;max-height:280px;display:flex;overflow-y:auto}.disc-row{background:#17171708;border-radius:9px;align-items:center;gap:8px;padding:8px 9px;display:flex}.disc-row-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.disc-row-name{color:var(--ink-strong,#171717d9);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.disc-row-reason,.disc-row-preview{color:var(--ink-faint,#17171780);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.disc-restore-btn{flex-shrink:0;height:26px;padding:0 10px;font-size:10px}@media (prefers-reduced-motion:reduce){.disc-pop{animation:none}}.sync-clar-panel{background:var(--surface-raised);border:1px dashed #c2543966;border-radius:12px;width:100%;max-width:968px;margin-top:12px;padding:14px 16px;box-shadow:inset 0 0 0 .714px #fff,0 0 0 .714px #00000014,0 2px 8px #00000008}.sync-clar-header{border-bottom:1px solid #17171714;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;display:flex}.sync-clar-mono{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ink-faint,#17171780);font-size:10px}.sync-clar-count{font-family:var(--font-mono-narrow);color:#c25439;background:#ffe9e2;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:400}.sync-clar-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.sync-clar-item{background:#17171705;border-radius:8px;padding:10px 12px}.sync-clar-item-top{align-items:center;gap:8px;margin-bottom:4px;display:flex}.sync-clar-kind{font-family:var(--font-mono);letter-spacing:.06em;color:#5b46c8;background:#efeaff;border-radius:4px;padding:1px 6px;font-size:10px}.sync-clar-course{font-family:var(--font-mono);color:var(--ink-strong,#171717cc);font-size:10px}.sync-clar-conf{font-family:var(--font-mono);color:var(--ink-faint,#17171780);margin-left:auto;font-size:10px}.sync-clar-dismiss{appearance:none;cursor:pointer;color:var(--ink-faint,#17171780);background:0 0;border:0;padding:0 4px;font-size:16px;line-height:1}.sync-clar-dismiss:hover{color:#c25439}.sync-clar-question{color:var(--ink,#171717e6);margin-bottom:2px;font-size:13px}.sync-clar-reason{color:var(--ink-faint,#17171780);font-size:12px}.sync-clar-options{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.sync-clar-option{font-family:var(--font-mono);color:var(--ink-strong,#171717cc);background:#1717170d;border-radius:6px;padding:2px 8px;font-size:11px}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}[disabled],.is-disabled{opacity:.4;pointer-events:none}.inset{background:var(--surface-raised);border-radius:var(--radius-sm,8px);box-shadow:inset 0 1.5px 3px #0000001a,inset 0 0 0 1px #0000000f,0 1px #fff}.card3d{border-radius:var(--radius-card,14px);filter:drop-shadow(0 14px 26px #00000021);background:linear-gradient(176deg,#fff,#fbfbf8 40%,#f4f4ee);border:1px solid #26232338;box-shadow:inset 0 2px #fff,inset 0 0 .5px 1.5px #ffffffb3,inset 0 -6px 10px -8px #0000000d}.glass{background:var(--surface-raised);border-radius:var(--radius-lg,18px);box-shadow:inset 0 0 0 .714px #fff,0 0 0 .714px #00000014,0 0 14px #0000000a,0 7px 14px #00000005,0 2px 8px #00000008}.btn-key{background:var(--bg);color:var(--ink);font-family:var(--font);transition:transform .14s var(--spring), box-shadow .14s ease;border:1px solid #2020201a;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;font-weight:400;display:inline-flex;box-shadow:0 2px 3px #0000000f,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.btn-key:hover{transform:translateY(-1px);box-shadow:0 4px 6px #0000001a,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.btn-key:active{transform:translateY(0);box-shadow:0 1px 2px #0000000a,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.btn-key-dark{color:#fff;font-family:var(--font);transition:transform .14s var(--spring), box-shadow .14s ease;background:linear-gradient(#2020201a,#2020201a),linear-gradient(#4f4f4f 0%,#202020d9 100%);border:1px solid #383838;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;font-weight:400;display:inline-flex;box-shadow:0 0 0 1px #4040401f,inset 0 2px #ffffff3d,inset 0 -.5px 2px #00000040,0 2px 8px #00000008,0 3px 4px #00000029}.btn-key-dark:hover{transform:translateY(-1px);box-shadow:0 0 0 1px #4040401f,inset 0 2px #ffffff3d,inset 0 -.5px 2px #00000040,0 4px 12px #0000000d,0 5px 6px #0003}.btn-key-dark:active{transform:translateY(0);box-shadow:0 0 0 1px #4040401f,inset 0 2px #ffffff3d,inset 0 -.5px 2px #00000040,0 1px 4px #00000008,0 2px 3px #00000029}.btn-brand{color:#fff;font-family:var(--font);transition:transform .14s var(--spring), box-shadow .14s ease;background:linear-gradient(#3d63ff 0%,#0433ff 100%);border:1px solid #0433ff;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;font-weight:400;display:inline-flex;box-shadow:inset 0 1px #ffffff4d,0 6px 16px -6px #0433ff59}.btn-brand:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff4d,0 8px 20px -6px #0433ff73}.btn-brand:active{transform:translateY(0);box-shadow:inset 0 1px #ffffff4d,0 4px 10px -6px #0433ff4d}.btn-mini{background:var(--surface-raised);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);transition:transform .14s var(--spring), box-shadow .14s ease;border:0;border-radius:6px;justify-content:center;align-items:center;font-size:10px;font-weight:400;display:inline-flex;box-shadow:0 1px 1px #0000003d,inset 0 2px #fff,0 0 0 1px #e7e7e3}.btn-mini:hover{transform:translateY(-1px)}.btn-mini:active{transform:translateY(0)}.keycap{border-radius:var(--radius-sm,8px);background:linear-gradient(180deg, var(--k1) 0%, var(--k2) 100%);box-shadow:#ffffffb3 0 1px 0 0 inset, #ffffff59 0 0 .5px 1px inset, var(--kring,#0000001a) 0 0 0 .8px, #0000001a 0 2px 4px -1px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.taskStatus{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;--st-bg:var(--bg);--st-border:#2020201f;--st-fg:var(--ink-muted);--st-dot:var(--ink-faint);color:var(--st-fg);background:var(--st-bg);border:1px solid var(--st-border);border-radius:999px;flex-shrink:0;align-items:center;gap:.32rem;padding:.3rem .62rem;font-size:.56rem;font-weight:400;display:inline-flex;box-shadow:0 2px 3px #0000000d,inset 0 1px #ffffff80}.taskStatus .statusDot{background:var(--st-dot);border-radius:50%;width:5px;height:5px}.statusDot{background:var(--st-dot);border-radius:50%;width:7px;height:7px}.statusProgress{--st-bg:#e6f0fff0;--st-border:#1a6fd138;--st-fg:var(--app-blue);--st-dot:var(--app-blue)}.statusNot{--st-bg:#fffbf0f5;--st-border:#e88c303d;--st-fg:var(--accent-amber);--st-dot:var(--accent-amber)}.statusDone{--st-bg:#eaf7eff5;--st-border:#2c8f4a3d;--st-fg:var(--accent-green);--st-dot:var(--accent-green)}.statusError{--st-bg:#fdececf5;--st-border:#e53e3e3d;--st-fg:var(--accent-red);--st-dot:var(--accent-red)}.statusNa{--st-bg:var(--bg);--st-border:#2020201f;--st-fg:var(--ink-faint);--st-dot:#1717174d}.taskCode{font-family:var(--font-mono-narrow);letter-spacing:.02em;color:var(--brand);background:linear-gradient(#0433ff1a,#0433ff0f);border:1px solid #0433ff29;border-radius:5px;padding:.15rem .4rem;font-size:.62rem;font-weight:400;text-decoration:none;box-shadow:0 1.5px 2px #0433ff1f,inset 0 1px #ffffff80}.taskMeta{font-family:var(--font-mono-narrow);letter-spacing:.02em;color:var(--ink-faint);font-size:.64rem}.feature-pill{color:var(--ink);white-space:nowrap;background:var(--surface-raised);border-radius:999px;align-items:center;gap:.5rem;padding:.4rem .85rem .4rem .5rem;font-size:.8rem;font-weight:510;display:inline-flex;box-shadow:inset 0 1px #fff,0 1px 2px #0000001a,0 0 0 1px #0000000f}@keyframes rise-in{0%{opacity:0;filter:blur(6px);transform:translateY(8px)}to{opacity:1;filter:blur();transform:translateY(0)}}.rise-in{animation:rise-in .5s var(--spring) both}@media (prefers-reduced-motion:reduce){.rise-in{animation-duration:.01ms;animation-iteration-count:1}}.transcript-shell{gap:var(--space-6,24px);padding:var(--space-6,24px);flex-direction:column;width:100%;max-width:1200px;margin:0 auto;display:flex}.v2-modal.v2-modal--transcript{width:min(1000px,100%);max-width:100%;min-height:260px;max-height:min(820px,90vh);padding:var(--space-5,20px) var(--space-6,24px) var(--space-6,24px);gap:var(--space-4,16px);animation:transcript-rise .34s var(--spring) both;margin:0;overflow:hidden}@keyframes transcript-rise{0%{opacity:0;filter:blur(6px);transform:translateY(10px)scale(.995)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.transcript-modal-backdrop{z-index:1100}.v2-modal--transcript .transcript-header{flex:none}.v2-modal--transcript .transcript-scroll{flex:auto;min-height:0;padding-right:4px;overflow-y:auto}.transcript-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4,16px);padding-bottom:var(--space-3,12px);border-bottom:1px solid var(--border-card);flex-wrap:wrap;display:flex}.transcript-header-actions{align-items:flex-start;gap:var(--space-3,12px);display:flex}.transcript-header-titles{flex-direction:column;gap:3px;display:flex}.transcript-title{font-family:var(--font-display);letter-spacing:-.018em;color:var(--ink);margin:0;font-size:1.25rem;font-weight:510;line-height:1.15}.transcript-subtitle{color:var(--ink-muted);max-width:62ch;margin:0;font-size:.82rem;line-height:1.45}.transcript-loading{padding:var(--space-5,20px) var(--space-2,8px);flex-direction:column;gap:14px;display:flex}.transcript-skeleton-line{height:12px;animation:transcript-shimmer 1.4s var(--spring) infinite;background:#17171714;border-radius:999px}.transcript-skeleton-line:nth-child(2){width:86%;animation-delay:.12s}.transcript-skeleton-line:nth-child(3){width:64%;animation-delay:.24s}@keyframes transcript-shimmer{0%,to{opacity:.45}50%{opacity:1}}.transcript-error{margin:0}.transcript-empty{color:var(--ink-faint);padding:var(--space-12,48px) var(--space-4,16px);text-align:center;font-size:.9rem}.transcript-scroll{background:var(--bg);border-radius:var(--radius,12px);padding:var(--space-4,16px) var(--space-4,16px) var(--space-3,12px);scrollbar-width:thin;scrollbar-color:#17171738 transparent;box-shadow:inset 0 1.5px 3px #0000001a,inset 0 0 0 1px #0000000f}.transcript-scroll::-webkit-scrollbar{width:8px}.transcript-scroll::-webkit-scrollbar-thumb{background:#1717172e;border-radius:999px}.transcript-group+.transcript-group{margin-top:var(--space-5,20px)}.transcript-group-time{align-items:center;gap:var(--space-3,12px);font-family:var(--font-mono-narrow);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 2px;font-size:.62rem;font-weight:400;display:flex}.transcript-group-time:after{content:"";background:var(--border-card);flex:auto;height:1px}.transcript-lines,.transcript-subtasks{margin:0;padding:0;list-style:none}.transcript-line{padding:7px 0}.transcript-line+.transcript-line{border-top:1px solid var(--border-card)}.transcript-sentence{color:var(--ink-muted);margin:0;font-size:.88rem;line-height:2}.transcript-line[data-discarded] .transcript-sentence{color:var(--ink-faint);text-decoration:line-through}.transcript-line[data-discarded] .transcript-chip{text-decoration:none}.transcript-chip-wrap{display:inline-block;position:relative}.transcript-chip{background:var(--bg);color:var(--ink);font-family:var(--font);cursor:pointer;transition:transform .14s var(--spring), box-shadow .14s ease;border:1px solid #2020201a;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:.85rem;font-weight:400;line-height:1.5;display:inline-flex;box-shadow:0 2px 3px #0000000f,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}button.transcript-chip:hover{transform:translateY(-1px);box-shadow:0 4px 6px #0000001a,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}button.transcript-chip:active{transform:translateY(0);box-shadow:0 1px 2px #0000000a,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}button.transcript-chip--course{font-family:var(--font-mono-narrow);letter-spacing:.02em;color:var(--brand);background:linear-gradient(#0433ff1a,#0433ff0f);border:1px solid #0433ff29;border-radius:5px;font-size:.72rem;box-shadow:0 1.5px 2px #0433ff1f,inset 0 1px #ffffff80}button.transcript-chip--course:hover{transform:translateY(-1px);box-shadow:0 3px 5px #0433ff33,inset 0 1px #ffffff80}.transcript-chip[data-guessed]{background:#fffbf0f5;border-style:dashed;border-color:#e88c306b}.transcript-chip[data-busy]{opacity:.55;cursor:progress}.transcript-chip-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:30ch;overflow:hidden}.transcript-chip-warn{color:var(--accent-amber);font-size:.66rem;line-height:1}span.transcript-chip{cursor:default;box-shadow:none;color:var(--ink-strong);background:0 0;border-color:#0000}.transcript-chip--source{font-family:var(--font-mono-narrow);letter-spacing:.01em;color:var(--ink-muted);padding-left:0;font-size:.72rem}.transcript-chip--source .transcript-chip-label{max-width:46ch}span.transcript-chip--courseInfo{font-family:var(--font-mono-narrow);letter-spacing:.02em;color:var(--ink-faint);font-size:.72rem}.transcript-picker{z-index:10;border-radius:var(--radius-card,14px);background:var(--surface-raised);width:max-content;max-width:280px;animation:transcript-pop .18s var(--spring) both;flex-wrap:wrap;gap:5px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:inset 0 0 0 .714px #fff,0 0 0 .714px #00000014,0 0 14px #0000000a,0 7px 14px #00000005,0 2px 8px #00000008}@keyframes transcript-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.transcript-picker-week{background:var(--bg);min-width:28px;color:var(--ink);cursor:pointer;font-family:var(--font);transition:transform .14s var(--spring), box-shadow .14s ease;border:1px solid #2020201a;border-radius:6px;justify-content:center;align-items:center;padding:3px 9px;font-size:.8rem;display:inline-flex;box-shadow:0 2px 3px #0000000f,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.transcript-picker-week:hover{transform:translateY(-1px);box-shadow:0 4px 6px #0000001a,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.transcript-picker-week:active{transform:translateY(0)}.transcript-picker-week[data-active]{color:var(--brand);background:linear-gradient(#0433ff1a,#0433ff0f);border-color:#0433ff29;box-shadow:0 1.5px 2px #0433ff1f,inset 0 1px #ffffff80}.transcript-picker--stepper,.transcript-picker--stacked{flex-direction:column;align-items:stretch;gap:7px;min-width:208px}.transcript-picker-title{letter-spacing:-.005em;color:var(--ink-muted);padding:0 1px;font-size:.72rem;font-weight:510}.transcript-stepper{align-items:center;gap:6px;display:flex}.transcript-step-btn{background:var(--bg);width:28px;height:26px;color:var(--ink-solid);cursor:pointer;transition:transform .14s var(--spring), box-shadow .14s ease;border:1px solid #2020201a;border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 2px 3px #0000000f,inset 0 0 .357px 1.5px #ffffff59,inset 0 2px #fff}.transcript-step-btn:hover:not(:disabled){transform:translateY(-1px)}.transcript-step-btn:active:not(:disabled){transform:translateY(0)}.transcript-step-value{width:100%;min-width:0;font-family:var(--font);text-align:center;color:var(--ink);appearance:textfield;border:0;flex:auto;padding:4px 8px;font-size:.86rem}.transcript-step-value::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.transcript-step-value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.transcript-picker-confirm{color:#fff;font-family:var(--font);cursor:pointer;transition:transform .14s var(--spring), box-shadow .14s ease;background:linear-gradient(#2020201a,#2020201a),linear-gradient(#4f4f4f 0%,#202020d9 100%);border:1px solid #383838;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;text-decoration:none;display:inline-flex;box-shadow:0 0 0 1px #4040401f,inset 0 2px #ffffff3d,inset 0 -.5px 2px #00000040,0 3px 4px #00000029}.transcript-picker-confirm:hover{transform:translateY(-1px)}.transcript-picker-link,.transcript-picker-secondary{width:100%}.transcript-picker-date,.transcript-picker-text{min-width:150px;font-family:var(--font);color:var(--ink);border:0;padding:5px 8px;font-size:.84rem}.transcript-picker-hint{color:var(--ink-faint);flex-basis:100%;padding:2px 2px 0;font-size:.7rem;line-height:1.4}.transcript-subtask-pick{cursor:pointer;accent-color:var(--brand);margin:0 2px 0 0}.transcript-merge-row{padding-top:8px}.transcript-merge-btn{color:#fff;background:linear-gradient(#2020201a,#2020201a),linear-gradient(#4f4f4f 0%,#202020d9 100%);border:1px solid #383838;border-radius:8px;padding:5px 12px;box-shadow:0 0 0 1px #4040401f,inset 0 2px #ffffff3d,inset 0 -.5px 2px #00000040,0 2px 8px #00000008,0 3px 4px #00000029}.transcript-merge-btn:hover{transform:translateY(-1px);box-shadow:0 0 0 1px #4040401f,inset 0 2px #ffffff3d,inset 0 -.5px 2px #00000040,0 4px 12px #0000000d,0 5px 6px #0003}.transcript-merge-btn[data-busy]{opacity:.55;cursor:progress}.transcript-subtask{border-left:1px solid var(--border-card);color:var(--ink-muted);align-items:center;gap:7px;margin-left:6px;padding:4px 0 4px 14px;font-size:.85rem;display:flex}@media (prefers-reduced-motion:reduce){.transcript-chip,.transcript-picker-week,.toast-action{transition:none}.v2-modal--transcript,.transcript-picker,.transcript-skeleton-line{animation:none}}
