@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Plus Jakarta Sans Fallback;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_646807{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.__variable_646807{--font-sans:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_eb41fe{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_eb41fe{--font-serif:"Fraunces","Fraunces Fallback"}:root{--paper:#f8f6f0;--paper-deep:#efeadd;--ink:#17372d;--forest:#276a54;--forest-soft:#dbe8df;--muted:#576a5f;--line:#dedbcf;--card:rgba(255,255,255,0.72);--danger:#b3352c}:root[data-theme=dark]{--paper:#101613;--paper-deep:#0b100d;--ink:#e8efe9;--forest:#5dbb93;--forest-soft:#1d3329;--muted:#9fb3a8;--line:#2b3a32;--card:rgba(24,33,28,0.78);--danger:#e0685d}:focus-visible{outline:2px solid var(--forest);outline-offset:2px}:root[data-theme=dark] .btn-primary,:root[data-theme=dark] .btn:hover{color:#0b100d}:root[data-theme=dark] .btn-primary:hover{background:var(--ink);border-color:var(--ink);color:#0b100d}:root[data-theme=dark] .badge-exam{background:rgba(224,104,93,.18);color:#f2a79e}:root[data-theme=dark] .badge-test{background:rgba(235,160,90,.16);color:#f0c184}:root[data-theme=dark] .badge-quiz{background:rgba(235,215,120,.14);color:#e9dc9c}:root[data-theme=dark] .badge-assignment{background:rgba(93,187,147,.16);color:#93d9b8}*{box-sizing:border-box}html{background:var(--paper)}body,html{overflow-x:clip}body{margin:0;min-width:320px;color:var(--ink);background:radial-gradient(circle at 15% 15%,rgba(39,106,84,.1),transparent 34rem),radial-gradient(circle at 85% 75%,rgba(224,213,184,.35),transparent 28rem),var(--paper);font-family:var(--font-sans),system-ui,sans-serif}a,button{font:inherit}.site-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:2rem;gap:2rem;min-height:4.25rem;padding:.75rem clamp(1rem,5vw,5rem);border-bottom:1px solid rgba(222,219,207,.8);background:rgba(248,246,240,.82);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.global-search{justify-self:center;width:100%}:root[data-theme=dark] .site-header{border-bottom:1px solid rgba(43,58,50,.8);background:rgba(16,22,19,.82)}:root[data-theme=dark] .brand-mark{color:#0b100d}.brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--ink);text-decoration:none;font-family:var(--font-serif),Georgia,serif;font-size:1.25rem;font-weight:600}.brand-mark{display:grid;width:2rem;height:2rem;place-items:center;border-radius:.55rem;color:white;background:var(--forest)}.brand-mark svg{width:1.1rem}.placeholder-nav{display:flex;justify-content:center;gap:clamp(.8rem,2vw,1.8rem);color:var(--muted);font-size:.85rem}.placeholder-nav span{white-space:nowrap}.placeholder-nav span:after{content:"· later";margin-left:.25rem;font-size:.68rem;opacity:.65}.stage-badge{padding:.55rem .8rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.75rem}.header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end;row-gap:.4rem}.logout-link{color:var(--forest);font-size:.85rem;font-weight:600;text-decoration:none}.logout-link:hover{text-decoration:underline}.uploads-link{color:var(--forest);font-size:.85rem;font-weight:600;text-decoration:none}.uploads-link:hover{text-decoration:underline}.auth-main{display:flex;width:min(100% - 2rem,28rem);min-height:100vh;min-height:100dvh;margin:0 auto;padding:2rem 0;flex-direction:column;justify-content:center;gap:2rem}.auth-brand{align-self:center}.auth-card{padding:clamp(1.5rem,6vw,2.5rem);border:1px solid var(--line);border-radius:1.25rem;background:var(--card);box-shadow:0 1rem 4rem rgba(23,55,45,.07)}.auth-eyebrow{margin:0 0 .75rem;color:var(--forest);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.auth-card h1{font-size:clamp(2rem,8vw,2.8rem);letter-spacing:-.04em;line-height:1.1}.auth-intro{margin:.9rem 0 1.75rem;color:var(--muted);line-height:1.6}.auth-form{display:grid;grid-gap:1rem;gap:1rem}@keyframes auth-autofill-detect{0%{opacity:1}to{opacity:1}}.auth-form input:-webkit-autofill{animation:auth-autofill-detect .01s}.auth-form input:autofill{animation:auth-autofill-detect .01s}.auth-field{display:grid;grid-gap:.45rem;gap:.45rem;color:var(--ink);font-size:.85rem;font-weight:600}.auth-submit{width:100%;justify-content:center;margin-top:.4rem}.auth-notice{margin:0;padding:.8rem;border-radius:.5rem;color:var(--forest);background:var(--forest-soft);font-size:.85rem;line-height:1.5}.auth-error{color:#991b1b;background:#fee2e2}.auth-switch{margin:1.5rem 0 0;color:var(--muted);font-size:.85rem;text-align:center}.auth-switch a{color:var(--forest);font-weight:700}main{width:min(100% - 2rem,76rem);margin:0 auto;flex:1 1}.hero{display:flex;min-height:67vh;padding:clamp(5rem,10vw,9rem) 0 4rem;align-items:center;flex-direction:column;text-align:center}.eyebrow{margin:0 0 2rem;padding:.45rem .75rem;border:1px solid var(--line);border-radius:999px;color:var(--forest);background:rgba(255,255,255,.55);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1{max-width:56rem;margin:0;font-family:var(--font-serif),Georgia,serif;font-size:clamp(3rem,7vw,6.6rem);font-weight:500;letter-spacing:-.055em;line-height:.98}h1 em{color:var(--forest);font-weight:450}.hero-copy{max-width:43rem;margin:2rem 0 0;color:var(--muted);font-size:clamp(1rem,2vw,1.2rem);line-height:1.75}.placeholder-actions{display:flex;align-items:center;gap:.75rem;margin-top:2rem}.placeholder-actions button,.placeholder-actions span{padding:.85rem 1.25rem;border-radius:999px}.placeholder-actions button{border:0;color:white;background:var(--forest);opacity:.65}.placeholder-actions span{border:1px solid var(--line);color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem;padding:0 0 5rem}.feature-preview{min-height:15rem;padding:1.75rem;border:1px solid var(--line);border-radius:1rem;background:var(--card);box-shadow:0 1rem 4rem rgba(23,55,45,.05)}.feature-preview small{color:var(--forest);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.feature-preview h2{margin:3.5rem 0 .75rem;font-family:var(--font-serif),Georgia,serif;font-size:1.6rem;font-weight:550}.feature-preview p{margin:0;color:var(--muted);line-height:1.65}footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.5rem clamp(1rem,5vw,5rem);border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}footer strong{color:var(--ink);font-family:var(--font-serif),Georgia,serif}@media (max-width:980px){.site-header{grid-template-columns:auto 1fr;row-gap:.6rem}.site-header .header-actions{grid-column:2;justify-self:end}.global-search{grid-column:1/-1;grid-row:2;max-width:none;justify-self:stretch}.placeholder-nav{grid-column:1/-1;order:3;justify-content:flex-start;overflow-x:auto;padding-bottom:.25rem}}@media (max-width:720px){.feature-grid{grid-template-columns:1fr}.placeholder-actions{width:100%;flex-direction:column}.placeholder-actions button,.placeholder-actions span{width:100%}footer{align-items:flex-start;flex-direction:column}}@media (prefers-reduced-motion:no-preference){.feature-preview,.hero>*{animation:enter .6s both}.hero>:nth-child(2){animation-delay:70ms}.hero>:nth-child(3){animation-delay:.14s}.hero>:nth-child(4){animation-delay:.21s}.feature-preview:nth-child(2){animation-delay:80ms}.feature-preview:nth-child(3){animation-delay:.16s}}@keyframes enter{0%{opacity:0;transform:translateY(.75rem)}}.workspace-main{width:100%;margin:0;padding:2rem clamp(1rem,4vw,3.5rem);display:flex;flex-direction:column;gap:1.5rem;flex:1 1;min-height:0;min-width:0}.workspace-main.workspace-home{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:2.5rem;gap:2.5rem;align-items:start;padding:2.5rem clamp(1rem,4vw,3.5rem)}@media (max-width:900px){.workspace-main.workspace-home{grid-template-columns:1fr}}.courses-section,.timeline-section{display:flex;flex-direction:column;gap:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:.75rem}.section-title{font-family:var(--font-serif),Georgia,serif;font-size:1.4rem;margin:0}.btn,.section-title{font-weight:500;color:var(--ink)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1.15rem;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:.85rem;cursor:pointer;transition:all .2s ease}.btn:hover{background:var(--forest);border-color:var(--forest);color:white}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--forest);color:white;border-color:var(--forest)}.btn-primary:hover{background:var(--ink);border-color:var(--ink);color:white}.card{background:var(--card);border:1px solid var(--line);border-radius:1rem;padding:1.25rem;box-shadow:0 4px 20px rgba(23,55,45,.03)}.modal-backdrop{position:fixed;inset:0;background:rgba(23,55,45,.3);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:50;padding:1rem}.modal-content{background:var(--paper);border:1px solid var(--line);border-radius:1rem;padding:2rem;width:100%;max-width:28rem;box-shadow:0 10px 40px rgba(23,55,45,.1);max-height:90vh;overflow-y:auto}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.5rem;color:var(--ink)}.form-input,.form-select{width:100%;padding:.65rem .75rem;border:1px solid var(--line);border-radius:.5rem;background:white;color:var(--ink);font-family:inherit;font-size:.95rem}.form-input:focus,.form-select:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 2px var(--forest-soft)}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:2rem}.timeline-list{display:flex;flex-direction:column;gap:1rem}.timeline-item{display:grid;grid-template-columns:4.5rem 1fr;grid-gap:1.5rem;gap:1.5rem;position:relative}.timeline-date{text-align:right;font-size:.85rem;color:var(--muted);font-weight:600;padding-top:.5rem}.timeline-date.past{color:var(--danger)}.timeline-card{position:relative}.timeline-card:before{content:"";position:absolute;left:-.75rem;top:1rem;width:.5rem;height:.5rem;background:var(--forest);border-radius:50%;transform:translateX(-50%)}.timeline-item:not(:last-child) .timeline-card:after{content:"";position:absolute;left:-.75rem;top:1.5rem;bottom:-2.5rem;width:1px;background:var(--line);transform:translateX(-50%)}.deadline-title{font-family:var(--font-serif),Georgia,serif;font-size:1.15rem;font-weight:600;margin:0 0 .25rem;color:var(--ink)}.deadline-meta{display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:var(--muted);flex-wrap:wrap}.badge{padding:.15rem .5rem;border-radius:.25rem;font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.badge-exam{background:rgba(254,226,226,.7);color:#991b1b}.badge-test{background:rgba(255,237,213,.7);color:#9a3412}.badge-quiz{background:rgba(254,249,195,.7);color:#854d0e}.badge-assignment{background:rgba(219,232,223,.7);color:var(--forest)}.course-list{display:flex;flex-direction:column;gap:.75rem}.course-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:.75rem;background:var(--card);border:1px solid var(--line);transition:all .2s ease}.course-item:hover{background:white;box-shadow:0 4px 12px rgba(23,55,45,.04)}:root[data-theme=dark] .course-item:hover{background:#1b2520}:root[data-theme=dark] .streak{background:rgba(24,33,28,.8)}.course-info{display:flex;flex-direction:column;gap:.15rem}a.course-info{text-decoration:none;color:inherit;cursor:pointer}.course-name{font-weight:600;font-size:.95rem;color:var(--ink)}.course-code{font-size:.75rem;color:var(--muted);font-weight:500}.recommendation-card{background:var(--ink);color:var(--paper);border-radius:1rem;padding:1.5rem 1.75rem;margin-bottom:2rem;box-shadow:0 10px 30px rgba(23,55,45,.15)}.rec-title{font-family:var(--font-serif),Georgia,serif;font-size:1.35rem;margin:0 0 .5rem;color:var(--forest-soft)}.rec-message{font-size:.95rem;line-height:1.6;margin:0;color:white}.empty-state{text-align:center;padding:4rem 2rem;color:var(--muted);background:rgba(255,255,255,.4);border-radius:1rem;border:1px dashed var(--line);font-size:.95rem}.error-state{color:#991b1b;padding:1rem;background:#fee2e2;border-radius:.5rem;margin-bottom:1rem;font-size:.9rem}.action-buttons{display:flex;gap:.25rem;opacity:0;transition:opacity .2s ease}.course-item:hover .action-buttons,.timeline-card:hover .action-buttons{opacity:1}@media (max-width:768px){.action-buttons{opacity:1}}.icon-btn{background:none;border:none;padding:.35rem;color:var(--muted);cursor:pointer;border-radius:.35rem;display:grid;place-items:center;transition:all .2s ease}.icon-btn:hover{color:var(--ink);background:var(--line)}.uploads-main{width:min(100% - 2rem,58rem);margin:3rem auto;flex:1 1}.uploads-panel{display:flex;flex-direction:column;gap:1rem}.uploads-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line)}.uploads-heading .auth-eyebrow{margin-bottom:.75rem}.uploads-heading h1{font-size:clamp(2.5rem,6vw,4rem);line-height:1.05}.uploads-intro{max-width:38rem;margin:.8rem 0 0;color:var(--muted);line-height:1.6}.uploads-select-button{flex:0 0 auto}.uploads-select-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.uploads-select-button:focus-within{outline:2px solid var(--forest);outline-offset:3px}.uploads-help{margin:-.25rem 0 .5rem;color:var(--muted);font-size:.8rem}.uploads-progress{margin:0;color:var(--forest);font-size:.9rem;font-weight:600}.uploads-error{margin:0}.uploads-list{display:flex;flex-direction:column;gap:.75rem}.upload-entry{border:1px solid var(--line);border-radius:.85rem;background:var(--card)}.upload-item{display:flex;align-items:center;gap:1rem;padding:1rem;border:0;border-radius:.85rem;background:transparent}.upload-file-icon{display:grid;width:3rem;height:3rem;flex:0 0 3rem;place-items:center;border-radius:.65rem;color:var(--forest);background:var(--forest-soft);font-size:.65rem;font-weight:700}.upload-file-info{min-width:0;flex:1 1}.upload-file-name{overflow-wrap:anywhere;margin:0;font-size:.95rem;font-weight:600}.upload-file-meta{margin:.35rem 0 0;color:var(--muted);font-size:.78rem}.uploads-delete-button{flex:0 0 auto;color:var(--danger)}.upload-extraction{padding:0 1rem 1rem 5rem}.upload-extract-button{color:var(--forest)}.upload-ai-disclosure{margin:.4rem 0 0;color:var(--muted);font-size:.76rem;line-height:1.4}.deadline-review{display:grid;grid-gap:1rem;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.deadline-candidate{display:grid;grid-gap:.6rem;gap:.6rem;padding:1rem;border:1px solid var(--line);border-radius:.65rem}.deadline-candidate-select{display:flex;align-items:center;gap:.5rem;font-weight:600}.upload-candidate-notes{margin:0;color:var(--muted);font-size:.85rem}.uploads-retry{align-self:flex-start;padding:0;border:0;color:var(--forest);background:transparent;font-size:.82rem;font-weight:600;cursor:pointer}.uploads-retry:disabled{color:var(--muted);cursor:not-allowed}@media (max-width:600px){.header-actions{gap:.5rem}.stage-badge{padding:.45rem .6rem}.uploads-heading{align-items:flex-start;flex-direction:column}.upload-item{gap:.7rem;padding:.8rem}.upload-extraction{padding:0 .8rem .8rem}}.modal-overlay{position:fixed;inset:0;background:rgba(10,15,12,.55);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal-card{background:var(--paper);border:1px solid var(--line);border-radius:1rem;padding:1.5rem;max-width:26rem;width:100%;box-shadow:0 1.5rem 3rem rgba(0,0,0,.25)}.modal-card h3{margin:0 0 .5rem}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.25rem}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}:root[data-theme=dark] .btn-danger{color:#0b100d}:root[data-theme=dark] .form-input,:root[data-theme=dark] .form-select{background:#1b2520}::placeholder{color:var(--muted);opacity:1}:root[data-theme=dark] .mode-toggle button.active{color:#0b100d}.btn-danger:hover{background:var(--danger);border-color:var(--danger);color:#fff;filter:brightness(.9)}.theme-toggle{background:none;border:1px solid var(--line);border-radius:999px;width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.05rem;transition:all .2s ease}.theme-toggle:hover{border-color:var(--forest);transform:scale(1.06)}.flip-scene{perspective:1200px;margin-bottom:1.5rem}.flip-inner{position:relative;width:100%;min-height:16rem;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.7,.3,1.2);cursor:pointer}.flip-inner.flipped{transform:rotateY(180deg)}.flip-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem;border:1px solid var(--line);border-radius:12px;background:var(--card);font-size:1.25rem;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow-y:auto}.flip-back{transform:rotateY(180deg)}.flip-hint{text-align:center;color:var(--muted);font-size:.8rem;margin-top:.5rem}@keyframes grade-pop{0%{transform:scale(1)}40%{transform:scale(.96)}to{transform:scale(1)}}.grade-pop{animation:grade-pop .22s ease}.study-progress-track{height:.5rem;background:var(--paper-deep);border-radius:999px;overflow:hidden;margin-bottom:1rem}.study-progress-fill{height:100%;background:var(--forest);border-radius:999px;transition:width .3s ease}.streak-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .8rem;border-radius:999px;background:var(--forest-soft);color:var(--ink);font-weight:600;font-size:.85rem}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.5rem;gap:.5rem;margin:1rem 0}.week-day{border:1px solid var(--line);border-radius:.75rem;padding:.6rem .4rem;text-align:center;background:var(--card);min-width:0;display:flex;flex-direction:column;align-items:center;gap:.15rem}.muted{color:var(--muted);font-weight:400;font-size:.8em}.week-day.today{border-color:var(--forest);border-width:2px}.week-day-name{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.week-day-num{font-size:1.1rem;font-weight:700}.week-day-count{font-size:.72rem;color:var(--muted);margin-top:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.due-banner{border:1px solid var(--forest);background:var(--forest-soft);border-radius:.9rem;padding:1rem 1.25rem;margin:1rem 0;display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.35rem;gap:.35rem}.calendar-dow{text-align:center;font-size:.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:.4rem 0}.calendar-cell{min-height:5.5rem;border:1px solid var(--line);border-radius:.6rem;padding:.35rem;background:var(--card);font-size:.78rem;overflow:hidden}.calendar-cell.other-month{opacity:.35}.calendar-cell.today{border-color:var(--forest);border-width:2px}.calendar-day-num{font-weight:700;margin-bottom:.2rem}.calendar-event{background:var(--forest-soft);border-radius:.35rem;padding:.1rem .3rem;margin-bottom:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.7rem}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));grid-gap:1rem;gap:1rem;margin-top:1rem}.course-card{border:1px solid var(--line);border-radius:1rem;padding:1.25rem;background:var(--card);text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease;display:block}.course-card:hover{transform:translateY(-2px);box-shadow:0 .75rem 1.5rem rgba(0,0,0,.08)}.course-card h3{margin:0 0 .5rem}.course-card-stats{display:flex;gap:1rem;color:var(--muted);font-size:.82rem;margin-top:.6rem;flex-wrap:wrap}.inline-edit-row{display:flex;gap:.5rem;align-items:center}.text-input{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:.6rem;padding:.5rem .75rem;width:100%}.text-input:focus{outline:2px solid var(--forest);outline-offset:1px}.edit-icon-btn{background:none;border:none;cursor:pointer;color:var(--muted);font-size:.95rem;padding:.25rem;border-radius:.4rem}.edit-icon-btn:hover{color:var(--forest);background:var(--forest-soft)}.search-row{display:flex;gap:.75rem;margin:1rem 0;flex-wrap:wrap}.share-link-box{display:flex;gap:.5rem;align-items:center;margin-top:.75rem;flex-wrap:wrap}.share-link-box code{background:var(--paper-deep);border:1px solid var(--line);border-radius:.5rem;padding:.4rem .6rem;font-size:.75rem;word-break:break-all;flex:1 1;min-width:12rem}.mode-toggle{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;margin-bottom:1rem}.mode-toggle button{background:none;border:none;padding:.45rem 1rem;cursor:pointer;color:var(--muted);font-size:.82rem;font-weight:500}.mode-toggle button.active{background:var(--forest);color:#fff}.kbd-hint{font-size:.72rem;color:var(--muted);text-align:center;margin-top:.75rem}kbd{background:var(--paper-deep);border:solid var(--line);border-width:1px 1px 2px;border-radius:.3rem;padding:.05rem .35rem;font-size:.7rem;font-family:inherit}@media (min-width:1400px){.workspace-main{padding-left:clamp(2rem,5vw,5rem);padding-right:clamp(2rem,5vw,5rem)}.workspace-main.workspace-home{grid-template-columns:minmax(0,1fr) minmax(320px,400px)}}@media (max-width:640px){.week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.week-day{padding:.4rem .15rem}.calendar-cell{min-height:3.5rem}}@media (max-width:480px){.workspace-main{padding:1.25rem .75rem;gap:1.25rem}.grade-buttons{grid-template-columns:1fr 1fr!important}.btn{min-height:2.75rem}.flip-inner{min-height:12rem}.flip-face{padding:1.25rem;font-size:1.05rem}.card{padding:1rem}.section-header{flex-wrap:wrap}}.bottom-nav,.side-nav{display:none}@media (min-width:1024px){.site-shell{display:grid;grid-template-columns:15rem 1fr;grid-column-gap:2.5rem;column-gap:2.5rem}.site-header{grid-column:1/-1}.side-nav{display:flex;flex-direction:column;gap:.25rem;position:-webkit-sticky;position:sticky;top:6rem;align-self:start;max-height:calc(100dvh - 7rem);overflow-y:auto;padding:.5rem;margin-left:clamp(1rem,5vw,5rem);border:1px solid var(--line);border-radius:1rem;background:var(--card)}.site-shell>footer{grid-column:1/-1}}.side-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.side-nav-link{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;border-radius:.65rem;color:var(--muted);text-decoration:none;font-size:.9rem;font-weight:500;transition:background .15s ease,color .15s ease}.side-nav-link svg{width:1.25rem;height:1.25rem;flex-shrink:0}.side-nav-link:hover{background:var(--forest-soft);color:var(--ink)}.side-nav-link.active{background:var(--forest);color:#fff;font-weight:600}:root[data-theme=dark] .side-nav-link.active{color:#0b100d}.more-sheet-section-label,.side-nav-section-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:.6rem .85rem .1rem}.more-sheet-section-label{margin:.9rem .5rem .1rem;font-size:.78rem}.side-nav-more-toggle{width:100%;font-family:inherit;background:none;border:none;cursor:pointer;text-align:left}.side-nav-more-toggle .side-nav-chevron{width:1rem;height:1rem;margin-left:auto;flex-shrink:0;transition:transform .2s ease}.side-nav-more-toggle .side-nav-chevron.open{transform:rotate(90deg)}.side-nav-link.active-child{color:var(--forest);font-weight:600}.side-nav-more-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.side-nav-more-panel>.side-nav-more-list{overflow:hidden;min-height:0}.side-nav-more-panel.open{grid-template-rows:1fr}.more-sheet-divider,.side-nav-divider{border-top:1px solid var(--line);margin:.6rem .5rem .35rem}.side-nav-settings{margin-top:auto}.more-sheet-divider{margin:.9rem .5rem .35rem}.bottom-nav-link:focus-visible,.more-sheet-link:focus-visible,.side-nav-link:focus-visible,.side-nav-more-toggle:focus-visible{outline:2px solid var(--forest);outline-offset:2px}@media (prefers-reduced-motion:reduce){.side-nav-more-panel,.side-nav-more-toggle .side-nav-chevron{transition:none}}@media (max-width:1023.98px){.bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--paper);border-top:1px solid var(--line);padding:.4rem .25rem calc(.4rem + env(safe-area-inset-bottom))}.bottom-nav-link{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.35rem .1rem;color:var(--muted);text-decoration:none;font-size:.62rem;font-weight:500;font-family:inherit;background:none;border:none;cursor:pointer;border-radius:.5rem;min-width:0}.bottom-nav-link svg{width:1.4rem;height:1.4rem}.bottom-nav-link.active{color:var(--forest)}.site-shell{padding-bottom:4.5rem}.more-sheet-backdrop{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.45);display:flex;align-items:flex-end;animation:more-sheet-fade .18s ease}.more-sheet{width:100%;max-height:calc(100dvh - 4rem);overflow-y:auto;background:var(--paper);border-top:1px solid var(--line);border-radius:1.25rem 1.25rem 0 0;padding:.5rem 1rem calc(1rem + env(safe-area-inset-bottom));animation:more-sheet-up .22s ease}.more-sheet-handle{width:2.5rem;height:.25rem;border-radius:999px;background:var(--line);margin:.25rem auto .75rem}.more-sheet-link{display:flex;align-items:center;gap:.9rem;padding:.85rem .5rem;color:var(--ink);text-decoration:none;font-size:1rem;font-weight:500;border-radius:.65rem}.more-sheet-link svg{width:1.5rem;height:1.5rem;color:var(--muted);flex-shrink:0}.more-sheet-link.active{color:var(--forest);font-weight:600}.more-sheet-link.active svg{color:var(--forest)}@keyframes more-sheet-fade{0%{opacity:0}}@keyframes more-sheet-up{0%{transform:translateY(2rem);opacity:.6}}}.exam-countdown-chip{display:inline-block;padding:.35rem .75rem;border-radius:999px;background:var(--forest);color:#fff;font-size:.82rem;font-weight:600}.plan-block{display:flex;align-items:flex-start;gap:.85rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:.9rem;background:var(--card);margin-bottom:.6rem}.plan-block-break{background:transparent;border-style:dashed}.plan-block-done{opacity:.55}.plan-block-done .plan-block-title{text-decoration:line-through}.plan-block-check{margin-top:.15rem}.plan-block-check input{width:1.25rem;height:1.25rem;accent-color:var(--forest);cursor:pointer}.plan-block-icon{font-size:1.25rem;line-height:1.4}.plan-block-body{flex:1 1;min-width:0}.plan-block-time{font-size:.78rem;font-weight:600;color:var(--forest);text-transform:uppercase;letter-spacing:.04em}.plan-block-title{font-weight:600;margin-top:.15rem}.plan-block-detail{font-size:.85rem;color:var(--muted);margin-top:.15rem}.study-tools-buttons{display:flex;flex-wrap:wrap;gap:.6rem}.study-guide-viewer{margin-top:1rem;padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:.9rem;background:var(--card)}.study-guide-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.btn-small{padding:.35rem .7rem;font-size:.8rem}.md-heading{margin:1.1rem 0 .5rem;font-size:1.05rem}.md-heading:first-child{margin-top:0}.audio-overview{margin-top:1rem;padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:.9rem;background:var(--card)}.audio-player-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.audio-rate{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--muted);margin-left:auto}.audio-rate select{padding:.3rem .5rem;border-radius:.5rem;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:.85rem}.audio-progress{height:.35rem;border-radius:999px;background:var(--line);margin-top:.8rem;overflow:hidden}.audio-progress-fill{height:100%;background:var(--forest);border-radius:999px;transition:width .3s linear}.audio-script{margin-top:.9rem}.audio-script summary{cursor:pointer;font-weight:600;font-size:.9rem}.timeline-item.done .timeline-card{opacity:.62}.timeline-item.done .deadline-title{text-decoration:line-through}.done-label{display:inline-block;padding:.1rem .5rem;border-radius:999px;background:var(--forest-soft);color:var(--forest);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}:root[data-theme=dark] .done-label{color:#93d9b8}.feedback-button{background:transparent;border:1px solid var(--line);border-radius:999px;padding:.55rem .8rem;font-size:.85rem;line-height:1;cursor:pointer;color:var(--ink);white-space:nowrap;display:inline-flex;align-items:center}.feedback-button:hover{background:var(--forest-soft)}:root[data-theme=dark] .recommendation-card{background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:none}:root[data-theme=dark] .rec-title{color:var(--forest)}:root[data-theme=dark] .rec-message{color:var(--ink)}.push-subscribe h3{margin:0 0 .5rem}.push-subscribe .muted{margin:0 0 1rem}.table-wrap{overflow-x:auto;margin-bottom:1.5rem}.stats-table{border-collapse:collapse;width:100%;font-size:.85rem}.stats-table td,.stats-table th{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--line);white-space:nowrap}.stats-table th{color:var(--muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}textarea.form-input{min-height:6rem;resize:vertical}.panel{background:var(--card);border:1px solid var(--line);border-radius:1rem;padding:1.25rem;margin-bottom:1.5rem}.panel h2{margin:0 0 .75rem;font-size:1.1rem}.plain-list{list-style:none;margin:0;padding:0}.plain-list li{padding:.4rem 0;border-bottom:1px solid var(--line)}.plain-list li:last-child{border-bottom:0}.error{color:#991b1b;padding:1rem;background:#fee2e2;border-radius:.5rem;margin-bottom:1rem;font-size:.9rem}:root[data-theme=dark] .error{color:#f3b3ab;background:rgba(224,104,93,.12)}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.page-head h1{margin:0 0 .25rem}.page-head .muted{margin:0}:root[data-theme=dark] .error-state{color:#f3b3ab;background:rgba(224,104,93,.12)}.tutor-shell{display:grid;grid-template-columns:280px 1fr;grid-gap:1.25rem;gap:1.25rem;align-items:start}.tutor-shell>*{min-width:0}.tutor-sidebar{border:1px solid var(--line);border-radius:.9rem;padding:1rem;background:var(--card);display:flex;flex-direction:column;gap:.9rem;position:-webkit-sticky;position:sticky;top:1rem}.tutor-sidebar h2{font-size:.95rem;margin:0}.tutor-field{display:flex;flex-direction:column;gap:.4rem}.tutor-field>span{font-size:.78rem;color:var(--muted);font-weight:600}.tutor-field select{padding:.55rem .65rem;border:1px solid var(--line);border-radius:.6rem;background:var(--paper);color:inherit;font-size:.88rem}.tutor-upload-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;max-height:260px;overflow-y:auto}.tutor-upload-list label{display:flex;gap:.5rem;align-items:flex-start;font-size:.85rem;cursor:pointer}.tutor-upload-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tutor-clear{padding:.55rem .8rem;border:1px solid var(--line);border-radius:.6rem;background:transparent;color:inherit;font-size:.85rem;cursor:pointer}.tutor-clear:disabled{opacity:.45;cursor:default}.tutor-note{font-size:.78rem}.tutor-main{border:1px solid var(--line);border-radius:.9rem;background:var(--card);display:flex;flex-direction:column;min-height:60vh;min-height:60dvh;max-height:calc(100vh - 220px);max-height:calc(100dvh - 220px)}.tutor-mode-toggle{display:grid;grid-template-columns:1fr 1fr;grid-gap:.2rem;gap:.2rem;padding:.2rem;border:1px solid var(--line);border-radius:.75rem;background:var(--paper)}.tutor-mode-toggle button{border:none;border-radius:.55rem;background:transparent;color:var(--muted);font-size:.82rem;font-weight:600;padding:.45rem .5rem;cursor:pointer}.tutor-mode-toggle button[aria-pressed=true]{background:var(--forest);color:#fff}.tutor-mode-toggle button:disabled{opacity:.5;cursor:default}.tutor-chat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem;max-height:220px;overflow-y:auto}.tutor-chat-item{display:flex;align-items:center;gap:.3rem;border-radius:.55rem;padding:.15rem .2rem}.tutor-chat-active{background:var(--paper);border:1px solid var(--line)}.tutor-chat-open{flex:1 1;min-width:0;border:none;background:transparent;color:inherit;font-size:.83rem;text-align:left;padding:.4rem .5rem;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tutor-chat-open:disabled{cursor:default}.tutor-chat-delete{border:none;background:transparent;color:var(--muted);font-size:1rem;line-height:1;padding:.25rem .4rem;border-radius:.4rem;cursor:pointer}.tutor-chat-delete:hover{color:#b3261e;background:rgba(179,38,30,.08)}.tutor-chat-delete:disabled{opacity:.4;cursor:default}.tutor-chat-delete-armed{color:#b3261e;background:rgba(179,38,30,.12);font-size:.75rem;font-weight:600;padding:.25rem .5rem}.tutor-caret{display:inline-block;width:.55em;height:1em;margin-left:3px;border-radius:2px;background:currentColor;opacity:.55;vertical-align:-.15em;animation:tutor-blink 1s steps(2) infinite}@keyframes tutor-blink{50%{opacity:0}}.tutor-thread{flex:1 1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.tutor-empty{text-align:center;margin:auto;max-width:34rem;color:var(--muted)}.tutor-empty h3{color:inherit;font-size:1.15rem;margin:0 0 .5rem}.tutor-msg{max-width:46rem;padding:.85rem 1.15rem;border-radius:1.3rem;font-size:.92rem;line-height:1.55}.tutor-user{align-self:flex-end;background:var(--forest);color:#fff;border-bottom-right-radius:.4rem}.tutor-ai{align-self:flex-start;background:var(--paper);border:1px solid var(--line);border-bottom-left-radius:.4rem}.tutor-thinking{opacity:.7}.tutor-para{margin:0 0 .6rem}.tutor-para:last-child{margin-bottom:0}.tutor-list{margin:0 0 .6rem;padding-left:1.3rem}.tutor-list:last-child{margin-bottom:0}.tutor-list li{margin-bottom:.25rem}.tutor-cite{display:inline-block;font-size:.72rem;font-weight:600;padding:.1rem .45rem;margin:0 .15rem;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--forest);vertical-align:middle;max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tutor-source-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:.55rem 0 .15rem;padding-top:.55rem;border-top:1px solid var(--line)}.tutor-source-chip{display:inline-block;font-size:.75rem;font-weight:600;padding:.2rem .6rem;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--forest);text-decoration:none;max-width:18rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tutor-source-chip:hover{border-color:var(--forest);text-decoration:underline}.tutor-error{color:#b3261e;font-size:.85rem;padding:0 1.1rem}:root[data-theme=dark] .tutor-error{color:#f3b3ab}.tutor-sources-line{font-size:.78rem;padding:0 1.1rem;margin:.4rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tutor-input-row{display:flex;gap:.6rem;padding:.9rem 1.1rem 1.1rem}.tutor-input-row input{flex:1 1;padding:.7rem .9rem;border:1px solid var(--line);border-radius:.7rem;background:var(--paper);color:inherit;font-size:.92rem}.tutor-input-row button{padding:.7rem 1.3rem;border:none;border-radius:.7rem;background:var(--forest);color:#fff;font-size:.92rem;font-weight:600;cursor:pointer}.tutor-input-row button:disabled{opacity:.5;cursor:default}@media (max-width:860px){.tutor-shell{grid-template-columns:1fr}.tutor-sidebar{position:static}.tutor-main{max-height:none}}.feedback-inbox{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem}.feedback-item{border:1px solid var(--line);border-radius:.75rem;background:var(--card);padding:.9rem 1rem}.feedback-message{margin:0 0 .5rem;white-space:pre-wrap;overflow-wrap:anywhere}.feedback-meta{margin:0;font-size:.8rem}.workspace-main.workspace-tutor{width:100%;max-width:none;margin:0;padding:1rem clamp(1rem,3vw,2.5rem);display:flex;flex-direction:column;flex:1 1;min-height:0}.workspace-tutor .tutor-shell{flex:1 1;min-height:0;align-items:stretch}.workspace-tutor .tutor-sidebar{position:static;max-height:100%;overflow-y:auto}.workspace-tutor .tutor-main{min-height:24rem;max-height:none;height:100%}@media (max-width:860px){.workspace-tutor .tutor-sidebar{max-height:none;overflow:visible}.workspace-tutor .tutor-main{height:auto;min-height:65vh}}.viewer-shell{height:100dvh;display:flex;flex-direction:column;background:var(--bg,#f7f5ef);color:var(--ink,#1c1a15);overflow:hidden}.viewer-shell.viewer-dark{--bg:#14120e;--ink:#ece7d9;background:#14120e;color:#ece7d9}.viewer-bar{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--line,#e5e0d2);background:var(--panel,#fffdf7);flex-wrap:wrap;z-index:20}.viewer-dark .viewer-bar{background:#1d1a14;border-bottom-color:#35301f}.viewer-back{font-size:1.25rem;line-height:1;padding:.35rem .55rem;border-radius:.5rem;text-decoration:none;color:inherit}.viewer-back:hover{background:var(--hover,#efe9d8)}.viewer-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:22rem;margin-right:auto}.viewer-actions,.viewer-page-nav,.viewer-zoom{display:flex;align-items:center;gap:.25rem}.viewer-icon-btn{border:1px solid transparent;background:transparent;color:inherit;font-size:1.1rem;line-height:1;min-width:2rem;height:2rem;border-radius:.5rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0 .4rem}.viewer-icon-btn:hover:not(:disabled){background:var(--hover,#efe9d8)}.viewer-icon-btn:disabled{opacity:.35;cursor:default}.viewer-icon-btn.active{background:var(--accent-soft,#e8dfc2);border-color:var(--line,#e5e0d2)}.viewer-dark .viewer-icon-btn.active{background:#3a3423;border-color:#4a4330}.viewer-page-label{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.9rem;white-space:nowrap}.viewer-page-input{width:3rem;text-align:center;border:1px solid var(--line,#e5e0d2);border-radius:.4rem;padding:.2rem .1rem;font-size:.9rem;background:transparent;color:inherit}.viewer-zoom-label{font-size:.85rem;min-width:3rem;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.viewer-chip-btn{border:1px solid var(--line,#e5e0d2);background:transparent;color:inherit;border-radius:999px;padding:.25rem .7rem;font-size:.8rem;cursor:pointer;white-space:nowrap}.viewer-chip-btn.active{background:var(--accent-soft,#e8dfc2)}.viewer-searchbar{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--line,#e5e0d2);background:var(--panel,#fffdf7);z-index:15}.viewer-dark .viewer-searchbar{background:#1d1a14;border-bottom-color:#35301f}.viewer-search-input{flex:1 1;min-width:0}.viewer-search-results{max-height:12rem;overflow-y:auto;border-bottom:1px solid var(--line,#e5e0d2);background:var(--panel,#fffdf7);z-index:15}.viewer-dark .viewer-search-results{background:#1d1a14;border-bottom-color:#35301f}.viewer-search-hit{display:flex;gap:.5rem;align-items:baseline;width:100%;text-align:left;padding:.45rem .75rem;background:transparent;border:none;border-bottom:1px solid var(--line,#e5e0d2);color:inherit;cursor:pointer;font-size:.85rem}.viewer-search-hit:hover{background:var(--hover,#efe9d8)}.viewer-search-snippet{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-body{flex:1 1;display:flex;min-height:0;position:relative}.viewer-thumbs{width:9rem;flex:0 0 auto;border-right:1px solid var(--line,#e5e0d2);background:var(--panel,#fffdf7);overflow-y:auto;padding:.5rem}.viewer-dark .viewer-thumbs{background:#1d1a14;border-right-color:#35301f}.viewer-thumb-list{gap:.5rem}.viewer-thumb,.viewer-thumb-list{display:flex;flex-direction:column}.viewer-thumb{border:2px solid transparent;border-radius:.4rem;background:transparent;padding:.25rem;cursor:pointer;align-items:center;gap:.2rem;color:inherit}.viewer-thumb:hover{background:var(--hover,#efe9d8)}.viewer-thumb.active{border-color:var(--accent,#b98a2f)}.viewer-thumb-canvas{width:100%;height:auto;border-radius:.25rem;box-shadow:0 1px 3px rgb(0 0 0/.2);background:#fff}.viewer-thumb-label{font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.viewer-thumb-star{color:var(--accent,#b98a2f)}.viewer-scroll{flex:1 1;overflow:auto;min-width:0;padding:1.25rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.viewer-page-wrap{display:flex;justify-content:center;width:100%}.viewer-canvas-holder{position:relative;box-shadow:0 4px 24px rgb(0 0 0/.18);border-radius:.25rem;background:#fff}.viewer-canvas{display:block;border-radius:.25rem}.viewer-dark .viewer-canvas{filter:invert(1) hue-rotate(180deg)}.viewer-text-layer{position:absolute;inset:0;overflow:hidden;line-height:1;--scale-factor:1}.viewer-text-layer span{position:absolute;white-space:pre;transform-origin:0 0;color:transparent}.viewer-text-layer ::selection{background:rgb(0 120 255/.35)}.viewer-dark .viewer-text-layer ::selection{background:rgb(120 180 255/.4)}::highlight(viewer-hl-yellow){background:rgb(255 235 59/.5)}::highlight(viewer-hl-green){background:rgb(129 199 132/.55)}::highlight(viewer-hl-blue){background:rgb(129 178 255/.55)}::highlight(viewer-hl-pink){background:rgb(244 143 177/.55)}::highlight(viewer-search){background:rgb(255 152 0/.65)}.viewer-page-notes{width:100%;max-width:48rem;display:flex;flex-direction:column;gap:.5rem}.viewer-panel{width:19rem;flex:0 0 auto;border-left:1px solid var(--line,#e5e0d2);background:var(--panel,#fffdf7);overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.6rem}.viewer-dark .viewer-panel{background:#1d1a14;border-left-color:#35301f}.viewer-color-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.viewer-colors{display:flex;gap:.4rem}.viewer-color-dot{width:1.5rem;height:1.5rem;border-radius:999px;border:2px solid transparent;cursor:pointer;padding:0}.viewer-color-dot.selected{border-color:currentcolor;box-shadow:0 0 0 2px var(--panel,#fffdf7),0 0 0 4px currentcolor}.viewer-hl-dot-yellow{background:#ffeb3b;color:#8a6d00}.viewer-hl-dot-green{background:#81c784;color:#2e7d32}.viewer-hl-dot-blue{background:#81b2ff;color:#1e56c8}.viewer-hl-dot-pink{background:#f48fb1;color:#ad1457}.viewer-hint{font-size:.8rem;margin:0}.viewer-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line,#e5e0d2);padding-bottom:.4rem}.viewer-tab{border:none;background:transparent;color:inherit;font-size:.8rem;padding:.35rem .5rem;border-radius:.4rem .4rem 0 0;cursor:pointer;white-space:nowrap}.viewer-tab.active{background:var(--accent-soft,#e8dfc2);font-weight:600}.viewer-dark .viewer-tab.active{background:#3a3423}.viewer-tab-body{display:flex;flex-direction:column;gap:.5rem}.viewer-note-composer{display:flex;flex-direction:column;gap:.4rem}.viewer-hl-card,.viewer-note-card{border:1px solid var(--line,#e5e0d2);border-radius:.6rem;padding:.55rem .65rem;display:flex;flex-direction:column;gap:.35rem;align-items:flex-start;background:transparent}.viewer-hl-card p,.viewer-note-card p{margin:0;font-size:.88rem;overflow-wrap:anywhere}.viewer-hl-quote{font-style:italic}.viewer-chip{border:1px solid var(--line,#e5e0d2);background:var(--accent-soft,#e8dfc2);color:inherit;border-radius:999px;padding:.15rem .6rem;font-size:.75rem;cursor:pointer;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.viewer-dark .viewer-chip{background:#3a3423}.viewer-delete{border:none;background:transparent;color:var(--danger,#b3261e);font-size:.78rem;cursor:pointer;padding:0}.viewer-bookmark-list{display:flex;flex-direction:column;gap:.4rem}.viewer-bookmark-row{justify-content:space-between}.viewer-bookmark-row,.viewer-sel-popup{display:flex;align-items:center;gap:.5rem}.viewer-sel-popup{position:fixed;transform:translate(-50%,-100%);background:var(--panel,#fffdf7);border:1px solid var(--line,#e5e0d2);border-radius:.75rem;padding:.4rem .5rem;box-shadow:0 6px 24px rgb(0 0 0/.25);z-index:50}.viewer-dark .viewer-sel-popup{background:#1d1a14;border-color:#35301f}.viewer-page-hl-count{position:absolute;bottom:.75rem;left:50%;transform:translateX(-50%);font-size:.78rem;background:var(--panel,#fffdf7);border:1px solid var(--line,#e5e0d2);border-radius:999px;padding:.2rem .75rem;pointer-events:none}.viewer-dark .viewer-page-hl-count{background:#1d1a14;border-color:#35301f}.viewer-error{margin:auto;text-align:center;display:flex;flex-direction:column;gap:.75rem;align-items:center;padding:2rem}@media (max-width:900px){.viewer-title{max-width:10rem}.viewer-thumbs{left:0;width:8rem;box-shadow:4px 0 16px rgb(0 0 0/.2)}.viewer-panel,.viewer-thumbs{position:absolute;top:0;bottom:0;z-index:30}.viewer-panel{right:0;width:min(19rem,85vw);box-shadow:-4px 0 16px rgb(0 0 0/.2)}.viewer-zoom-label{display:none}}.super-app{max-width:64rem;margin:0 auto;width:100%}.super-app-strip{display:flex;gap:1rem;flex-wrap:wrap;align-items:stretch}.super-app-stat{flex:1 1 10rem;display:flex;flex-direction:column;gap:.2rem;text-decoration:none;color:var(--ink);min-width:0}a.super-app-stat:hover .super-app-stat-value{color:var(--forest)}.super-app-stat-value{font-family:var(--font-serif),Georgia,serif;font-size:1.6rem;font-weight:600;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.super-app-stat-value-small{font-size:1.15rem;padding-top:.45rem}.super-app-stat-label{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.super-app-today-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:.9rem}.super-app-today-head h2{margin:0;font-size:1.05rem}.super-app-cta{color:var(--forest);font-size:.85rem;font-weight:600}.super-app-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.super-app-segments{display:inline-flex;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.25rem;gap:.25rem}.super-app-segment{border:none;background:transparent;color:var(--muted);border-radius:999px;padding:.4rem .9rem;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.super-app-segment.active{background:var(--forest);color:#fff}.super-app-edit-actions{display:flex;gap:.5rem}.super-app-hint{margin:0}.super-app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.25rem,1fr));grid-gap:1.1rem .9rem;gap:1.1rem .9rem}.super-app-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:.9rem .4rem .7rem;border-radius:1.4rem;border:1px solid transparent;background:transparent;color:var(--ink);text-decoration:none;cursor:pointer;font:inherit;transition:transform .15s ease,background .15s ease;-webkit-tap-highlight-color:transparent}.super-app-tile:hover{background:var(--card);border-color:var(--line)}.super-app-tile:active{transform:scale(.95)}.super-app-tile-icon{display:flex;align-items:center;justify-content:center;width:3.6rem;height:3.6rem;border-radius:1.05rem;background:var(--forest);color:#fff;box-shadow:0 6px 16px rgba(23,55,45,.18)}.super-app-tile-icon svg{width:1.7rem;height:1.7rem}.super-app-tile-label{font-size:.82rem;font-weight:500;line-height:1.2;text-align:center}.super-app-tile-sub{font-size:.68rem;color:var(--muted);line-height:1.25;text-align:center;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.super-app-badge{position:absolute;top:.35rem;right:calc(50% - 2.3rem);min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:999px;background:var(--danger);color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--paper)}.super-app-grid.editing .super-app-tile{touch-action:none;cursor:-webkit-grab;cursor:grab;animation:super-app-wiggle .28s ease-in-out infinite alternate}.super-app-grid.editing .super-app-tile:nth-child(2n){animation-delay:.14s}.super-app-grid .super-app-tile.dragging{animation:none;cursor:-webkit-grabbing;cursor:grabbing;transform:scale(1.07);background:var(--card);border-color:var(--line);box-shadow:0 12px 28px rgba(23,55,45,.22);z-index:2}@keyframes super-app-wiggle{0%{transform:rotate(-1.1deg)}to{transform:rotate(1.1deg)}}@media (prefers-reduced-motion:reduce){.super-app-grid.editing .super-app-tile{animation:none}}.super-app-foot{display:flex;justify-content:center;padding-bottom:.5rem}.super-app-switch-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem}.super-app-switch{flex:none;width:3.2rem;height:1.85rem;border-radius:999px;border:1px solid var(--line);background:var(--paper-deep);cursor:pointer;position:relative;transition:background .2s ease;padding:0}.super-app-switch.on{background:var(--forest);border-color:var(--forest)}.super-app-switch-thumb{position:absolute;top:50%;left:.22rem;transform:translateY(-50%);width:1.4rem;height:1.4rem;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(23,55,45,.25);transition:left .2s ease}.super-app-switch.on .super-app-switch-thumb{left:calc(100% - 1.62rem)}@keyframes ui-page-in{0%{opacity:0}to{opacity:1}}.auth-main,.site-shell>main,.viewer-shell{animation:ui-page-in .18s ease-out}.form-error{color:#991b1b;padding:.75rem 1rem;background:#fee2e2;border:1px solid #f3b8b8;border-radius:.5rem;margin:.75rem 0;font-size:.9rem}:root[data-theme=dark] .form-error{color:#f2a79e;background:rgba(224,104,93,.14);border-color:rgba(224,104,93,.35)}:root[data-theme=dark] .error,:root[data-theme=dark] .error-state{color:#f2a79e;background:rgba(224,104,93,.14);border:1px solid rgba(224,104,93,.35)}.ui-skeleton{position:relative;overflow:hidden;display:block;min-height:1rem;border-radius:.5rem;background:color-mix(in srgb,var(--line) 60%,transparent)}.ui-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ink) 14%,transparent),transparent);animation:ui-shimmer 1.4s infinite}@keyframes ui-shimmer{to{transform:translateX(100%)}}.ui-skeleton-stack{display:grid;grid-gap:.75rem;gap:.75rem;margin:1rem 0}.btn:active,.icon-btn:active,.record-button:active,.viewer-icon-btn:active{transform:translateY(1px) scale(.98)}.btn,.icon-btn,.record-button,.viewer-icon-btn{transition:transform .08s ease}.ui-details>summary{cursor:pointer}.ui-details[open]>:not(summary){animation:ui-disclose .16s ease-out}@keyframes ui-disclose{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.ui-wrap{overflow-wrap:anywhere;word-break:break-word}@media (max-width:760px){.nb-layout{flex-direction:column}.nb-sidebar{width:100%!important;max-height:11rem}}@media (prefers-reduced-motion:reduce){.auth-main,.site-shell>main,.ui-details[open]>:not(summary),.ui-skeleton:after,.viewer-shell{animation:none}.btn,.icon-btn,.record-button,.viewer-icon-btn{transition:none}}:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}.safe-area{padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left)}.safe-top{padding-top:var(--safe-top)}.safe-right{padding-right:var(--safe-right)}.safe-bottom{padding-bottom:var(--safe-bottom)}.safe-left{padding-left:var(--safe-left)}.safe-header{padding-top:var(--safe-top)}.safe-footer{padding-bottom:var(--safe-bottom)}.safe-sides{padding-right:var(--safe-right);padding-left:var(--safe-left)}.safe-min{min-height:var(--safe-bottom)}