@font-face{font-family:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/work-sans-vietnamese-wght-normal-BKsN3ITN.woff2) format("woff2-variations");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:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/work-sans-latin-ext-wght-normal-B5dZ8C4S.woff2) format("woff2-variations");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:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/work-sans-latin-wght-normal-Bl-S9Xys.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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}:root{--bg: #f7f3ec;--bg-2: #f1ebe0;--ivory: #fbf8f2;--surface: #fdfbf6;--soft: #f1ebe0;--text: #2b2823;--muted: #6e6456;--line: #e3dac9;--line-soft: #ede5d6;--accent: #965225;--display-accent: #c4763f;--amber: #d8884f;--sage: #8fae8d;--aqua: #7fb1bd;--danger: #a33e31;--hover: #ece5d9;--button-bg: #2b2823;--button-text: #fbf8f2;--glow: 216, 136, 79;--sage-soft: #edf0e5;--aqua-soft: #eaf0ee;--amber-soft: #f5e9d9;--shadow: 0 1px 2px #50422805, 0 4px 12px #6e58340a, 0 14px 40px #7860380d;--shadow-lift: 0 3px 6px #5042280a, 0 12px 28px #78603812, 0 28px 65px #78603817;--mono: "JetBrains Mono Variable", ui-monospace, monospace;--sans: "Work Sans Variable", "Segoe UI", system-ui, sans-serif;font:14px/1.5 var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;color-scheme:light}[data-theme=dark]{--bg: #1c1a30;--bg-2: #17152a;--ivory: #25223d;--surface: #282542;--soft: #312d50;--text: #f6f2fd;--muted: #c3bce0;--line: #48436e;--line-soft: #3b3659;--accent: #c0b8f2;--display-accent: #d3cbf3;--amber: #e5d6f3;--sage: #b9e2d6;--aqua: #a5b0e8;--danger: #ffaecb;--hover: #393460;--button-bg: #c0b8f2;--button-text: #1f1b38;--glow: 192, 184, 242;--sage-soft: #29374a;--aqua-soft: #2a2f55;--amber-soft: #382f55;--shadow: 0 2px 4px #0a061a1f, 0 12px 35px #0a061a33;--shadow-lift: 0 4px 8px #0a061a26, 0 20px 60px #0a061a4d;color-scheme:dark}*{box-sizing:border-box}body{--grid-color: #92734808;margin:0;min-width:320px}body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(900px 640px at 56% 22%,rgba(var(--glow),.12),transparent 65%),radial-gradient(950px 750px at 5% 100%,#8fae8d12,transparent 65%),linear-gradient(176deg,var(--ivory),var(--bg) 45%,var(--bg-2))}body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.045' filter='url(%23n)'/%3E%3C/svg%3E");background-size:46px 46px,46px 46px,180px 180px}#root{isolation:isolate}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{transition:background .18s,color .18s,border-color .18s,box-shadow .18s,transform .18s}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}:is(button,a,input,textarea,select):focus-visible{outline:2px solid var(--accent);outline-offset:4px}button svg{flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:clamp(30px,3.2vw,46px);line-height:1.18;letter-spacing:-.045em;font-weight:650}h2{font-size:19px;letter-spacing:-.025em;font-weight:600}h3{font-size:15px;font-weight:600}p{line-height:1.75}small,.small{font-size:11px}.muted{color:var(--muted)}.eyebrow{font:10px/1.6 var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 17px;border-radius:10px;font-size:12px;font-weight:600;white-space:nowrap;min-height:40px}.primary,.focus-button{background:var(--button-bg);color:var(--button-text);box-shadow:0 2px 3px #2b282310}.primary:hover,.focus-button:hover{background:var(--accent);color:var(--ivory);box-shadow:0 5px 18px rgba(var(--glow),.2);transform:translateY(-1px)}[data-theme=dark] :is(.primary,.focus-button):hover{color:var(--button-text)}.secondary{background:var(--surface);border:1px solid var(--line);box-shadow:inset 0 1px #ffffff15}.secondary:hover,.icon-button:hover{background:var(--hover);color:var(--text)}.full{width:100%}.icon-button{width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0}.text-button{padding:4px 0;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--accent)}.text-button:hover{text-decoration:underline;text-underline-offset:4px}.inline-actions{display:flex;align-items:center;gap:12px}.window-dots{display:inline-flex;gap:5px;align-items:center;flex-shrink:0}.window-dots i{width:7px;height:7px;border-radius:50%;background:var(--amber);opacity:.75}.window-dots i:nth-child(2){background:#dfb770}.window-dots i:nth-child(3){background:var(--sage)}.habitat-dot,.live-dot{width:6px;height:6px;background:var(--amber);border-radius:50%;display:inline-block;box-shadow:0 0 0 4px rgba(var(--glow),.1);flex-shrink:0}.companion{font:18px/1.28 var(--mono);letter-spacing:0;color:var(--accent);margin:0;-webkit-user-select:none;user-select:none}.app-shell{min-height:100vh}.brand{display:flex;align-items:center;gap:8px;font-weight:600;letter-spacing:-.04em;font-size:21px;white-space:nowrap}.brand-icon{display:block;flex-shrink:0;width:48px;height:48px;-webkit-user-select:none;user-select:none}.brand-product{font-size:17px;font-weight:450;color:var(--accent)}kbd{font:9px var(--mono)}.add-wrapper{position:relative}.add-menu{position:absolute;top:calc(100% + 10px);right:0;width:185px;padding:6px;border-radius:12px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lift);z-index:40}.add-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:10px;border-radius:7px;font-size:12px}.add-menu button:hover{background:var(--soft)}.notification-button{position:relative}.notification-count{position:absolute;top:1px;right:0;min-width:16px;height:16px;padding:0 4px;display:grid;place-items:center;border-radius:8px;box-shadow:0 0 0 2px var(--bg);background:var(--amber);color:#fff;font:600 9px/1 var(--mono);pointer-events:none}main{padding:42px 36px 0;max-width:1460px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px}.page-head>div{min-width:0}.page-head>.inline-actions{flex-wrap:wrap}.page-head h1{overflow-wrap:anywhere}.page-head .eyebrow{margin-bottom:12px}.page-head .muted{font-size:13px;margin-top:12px}.today-label{display:flex;gap:8px;align-items:center;white-space:nowrap;color:var(--accent);font:10px var(--mono);padding:9px 12px;border:1px solid var(--line);background:var(--surface);border-radius:30px}.page-footer{display:flex;justify-content:space-between;gap:24px;border-top:1px dashed var(--line);padding:24px 0;margin-top:38px;color:var(--muted);font:9px/1.7 var(--mono)}.footer-dot{color:var(--amber);margin-left:8px}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:26px}.home-main{min-width:0}.focus-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:radial-gradient(ellipse at 100% 85%,rgba(var(--glow),.16),transparent 62%),var(--surface);box-shadow:var(--shadow)}.focus-top{position:relative;z-index:1;display:flex;align-items:center;gap:16px;padding:14px 20px;border-bottom:1px solid var(--line-soft);font:9px var(--mono);color:var(--muted)}.focus-top>.live-dot{margin-left:auto}.focus-content{padding:27px 180px 27px 27px;position:relative;z-index:1;min-height:230px}.focus-kicker{font:10px/1.6 var(--mono);color:var(--accent);margin-bottom:11px}.focus-card h2{font-size:27px;font-weight:600;line-height:1.25;letter-spacing:-.035em}.focus-reason{color:var(--muted);font-size:12px;margin-top:12px}.focus-bottom{margin-top:24px;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.focus-bottom>span{display:flex;gap:6px;align-items:center;color:var(--muted);font:10px var(--mono)}.focus-art{position:absolute;right:18px;top:80px;bottom:20px;width:146px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;pointer-events:none}.focus-art:before{content:"";position:absolute;width:155px;height:155px;border:1px dashed color-mix(in srgb,var(--amber) 22%,transparent);border-radius:50%}.focus-art .companion{font-size:27px;animation:drift 7s ease-in-out infinite}.orbit-spark{position:absolute;right:10px;top:0;color:var(--amber);font:23px var(--mono)}.companion-caption{font:8px var(--mono);color:var(--muted)}.daily-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0 28px}.daily-stats>div{display:grid;grid-template-columns:22px auto;align-items:center;gap:3px 9px;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:16px 13px}.daily-stats svg{color:var(--amber)}.daily-stats strong{font:25px var(--mono);letter-spacing:-.07em}.daily-stats span{grid-column:1 / -1;font-size:10px;color:var(--muted);margin-top:4px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.section-head h2{font-size:16px}.section-head>.small{font-size:10px}.home-tasks{margin:0 0 28px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.task-wrap{border-bottom:1px solid var(--line-soft)}.task-wrap:last-child{border:0}.task-row{display:flex;align-items:center;gap:12px;min-height:81px;padding:10px 0}.task-check{border:1px solid var(--muted);width:19px;height:19px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}.task-check:hover{background:var(--amber-soft);border-color:var(--accent)}.task-check.checked{background:var(--accent);color:var(--bg);border-color:var(--accent)}.task-main{flex:1;min-width:0}.task-title{font-size:13px;font-weight:500;text-align:left;padding:0;line-height:1.5;overflow-wrap:anywhere}.task-title:hover{color:var(--accent)}.task-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:10px;color:var(--muted);margin-top:6px}.course-dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.status-tag{background:var(--amber-soft);color:var(--accent);padding:2px 6px;border-radius:4px;font-size:9px}.deadline{font:10px/1.6 var(--mono);color:var(--muted);white-space:nowrap}.overdue{color:var(--danger)}.row-actions{display:flex;gap:2px}.row-actions .icon-button{width:28px;height:30px}.dropdown-wrap{position:relative;display:inline-flex;align-items:center}.dropdown-menu{position:absolute;top:calc(100% + 5px);right:0;z-index:120;min-width:185px;background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow-lift);padding:5px;display:flex;flex-direction:column;gap:2px;transform-origin:top right;animation:dropdown-pop .2s cubic-bezier(.16,1,.3,1) both;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dropdown-menu.align-left{right:auto;left:0;transform-origin:top left}@keyframes dropdown-pop{0%{opacity:0;transform:translateY(-6px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 11px;font:13px/1.4 var(--sans);color:var(--text);background:transparent;border:none;border-radius:8px;cursor:pointer;text-align:left;transition:background .12s ease,color .12s ease,transform .12s ease;white-space:nowrap}.dropdown-item:hover,.dropdown-item:focus-visible,.dropdown-item.highlighted{background:var(--hover);color:var(--text);outline:none}.dropdown-item:active{transform:scale(.98)}.dropdown-item.active{background:color-mix(in srgb,var(--amber) 14%,var(--surface));color:var(--accent);font-weight:500}.dropdown-item.active.highlighted,.dropdown-item.active:hover{background:color-mix(in srgb,var(--amber) 22%,var(--surface));color:var(--accent)}.dropdown-item.danger{color:var(--danger)}.dropdown-item.danger:hover,.dropdown-item.danger:focus-visible,.dropdown-item.danger.highlighted{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}.dropdown-item-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.85}.dropdown-item:hover .dropdown-item-icon,.dropdown-item.highlighted .dropdown-item-icon{opacity:1}.dropdown-item-label{flex:1}.dropdown-item-badge{margin-left:auto;font:11px/1.2 var(--mono);padding:2px 6px;border-radius:5px;background:var(--soft);color:var(--muted)}.dropdown-divider{height:1px;background:var(--line-soft);margin:4px 5px}.dropdown-wrap.full-width{width:100%;display:flex}.select-dropdown-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;font-size:12px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:9px;cursor:pointer;min-height:40px;box-shadow:var(--shadow);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;-webkit-user-select:none;user-select:none}.select-dropdown-trigger:disabled{opacity:.6;cursor:not-allowed;background:var(--soft)}.select-dropdown-trigger.full-width{width:100%}.select-dropdown-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--muted) 60%,var(--line))}.select-dropdown-trigger:focus-visible{outline:2px solid var(--accent);border-color:var(--amber)}.select-dropdown-trigger .trigger-icon{color:var(--muted);transition:transform .2s ease;margin-left:auto;flex-shrink:0}.select-dropdown-trigger[aria-expanded=true] .trigger-icon{transform:rotate(180deg)}.select-dropdown-content{display:inline-flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.select-dropdown-value{font-size:12px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-menu.dropup{top:auto;bottom:calc(100% + 5px);transform-origin:bottom right;animation:dropdown-pop-up .2s cubic-bezier(.16,1,.3,1) both}.dropdown-menu.dropup.align-left{right:auto;left:0;transform-origin:bottom left}.dropdown-menu.full-width.dropup{transform-origin:bottom center}@keyframes dropdown-pop-up{0%{opacity:0;transform:translateY(6px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-menu.select-menu{max-height:250px;overflow-y:auto;overscroll-behavior:contain;top:calc(100% + 4px);z-index:250;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.dropdown-menu.select-menu.dropup{top:auto;bottom:calc(100% + 4px)}.dropdown-menu.full-width{min-width:100%;width:100%;left:0;right:0;transform-origin:top center}.priority-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.priority-dot.priority-0{background:var(--sage)}.priority-dot.priority-1{background:var(--amber)}.priority-dot.priority-2{background:var(--danger)}.completed .task-title{text-decoration:line-through;color:var(--muted)}.task-list{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:6px 23px;box-shadow:var(--shadow)}.load-chart{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;padding:22px 18px 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.load-chart>div{text-align:center}.load-value{font:9px var(--mono);color:var(--muted)}.bar-space{height:94px;display:flex;justify-content:center;align-items:flex-end;border-bottom:1px solid var(--line);margin-bottom:11px;padding-bottom:1px}.bar-space div{width:60%;background:color-mix(in srgb,var(--amber) 25%,var(--surface));border-radius:5px 5px 0 0}.current .bar-space div{background:var(--amber)}.load-chart strong{font:11px var(--mono)}.load-chart small{display:block;font:9px var(--mono);margin-top:5px;color:var(--muted)}.chart-note{font-size:10px;color:var(--muted);margin-top:12px}.home-aside{min-width:0}.home-aside>section{border:1px solid var(--line);border-radius:14px;padding:22px 18px;background:var(--surface);box-shadow:var(--shadow)}.home-aside .section-head h2{font-size:15px}.agenda-row{display:flex;gap:12px;margin-bottom:22px}.agenda-row:last-child{margin-bottom:0}.agenda-time{font:11px var(--mono);padding-top:5px;white-space:nowrap}.agenda-time small{display:block;font-size:9px;color:var(--muted);margin-top:6px}.agenda-detail{text-align:left;border-left:2px solid;padding:3px 0 3px 12px}.agenda-detail>span,.agenda-detail small{font-size:9px;color:var(--muted)}.agenda-detail h3{font-size:12px;line-height:1.6;margin:6px 0}.agenda-detail p{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:4px}.free-day{text-align:center;padding:24px 8px;color:var(--accent)}.free-day h3{margin:12px 0 7px}.free-day p{font-size:11px;color:var(--muted)}.home-aside .semester-note{background:linear-gradient(145deg,var(--surface),var(--sage-soft));margin:22px 0}.semester-note .eyebrow{font-size:9px}.semester-note h3{font-size:24px;font-weight:500;margin:15px 0;line-height:1.25;letter-spacing:-.04em}.semester-note p{font-size:10px;color:var(--muted);line-height:1.8}.semester-note .text-button{margin-top:15px;font-size:10px}.home-grade{display:flex;flex-wrap:wrap;justify-content:space-between;font:10px var(--mono);margin:16px 0}.home-grade .progress-track{width:100%;margin:8px 0 0;height:4px}.course-shortcuts button{display:flex;align-items:center;gap:9px;width:100%;padding:12px 0;font-size:12px;text-align:left;border-bottom:1px solid var(--line-soft)}.course-shortcuts button:last-child{border:0}.course-shortcuts button:hover{color:var(--accent)}.course-shortcuts .muted{margin-left:auto;font:9px var(--mono)}.course-shortcuts svg{color:var(--muted)}.tabs{display:flex;gap:5px;margin:0 0 25px;overflow-x:auto;border-bottom:1px solid var(--line);padding-bottom:8px}.tabs button{padding:9px 15px;font-size:12px;white-space:nowrap;color:var(--muted);border-radius:8px;border:1px solid transparent}.tabs button:hover{background:var(--soft)}.tabs .active{color:var(--accent);border-color:var(--line);background:var(--surface);box-shadow:var(--shadow)}.tabs.compact{background:var(--soft);padding:4px;border:1px solid var(--line);border-radius:10px;margin:0}.tabs.compact button{padding:6px 12px;border:0;border-radius:7px}.courses-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.course-card{position:relative;border-radius:15px;background:var(--surface);padding:25px;border:1px solid var(--line);display:flex;flex-direction:column;box-shadow:var(--shadow)}.course-card:hover{transform:translateY(-4px);border-color:var(--amber);box-shadow:var(--shadow-lift)}.course-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;color:var(--muted)}.course-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;border:1px solid color-mix(in srgb,currentColor 20%,transparent)}.course-card .eyebrow{font-size:9px}.course-card h2{font-size:21px;line-height:1.35;margin:10px 0 22px;flex:1}.course-card p{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.course-card-footer{border-top:1px dashed var(--line);padding-top:18px;margin-top:24px;display:flex;justify-content:space-between;font:9px var(--mono);color:var(--muted)}.breadcrumb{font:11px var(--mono);color:var(--accent);display:block;margin-bottom:25px}.course-overview{display:grid;grid-template-columns:2fr 1fr;gap:28px;margin:30px 0 40px}.course-overview>div:first-child{padding:25px;border:1px solid var(--line);background:var(--surface);border-radius:14px}.course-overview h2{margin-bottom:15px}.course-overview .inline-actions{margin-top:25px;flex-wrap:wrap}.course-settings-note{background:var(--amber-soft);border:1px solid var(--line);padding:25px;border-radius:14px}.course-settings-note h3{margin:12px 0 8px}.course-settings-note p{font-size:12px;color:var(--muted);margin-bottom:12px}.course-resources{display:grid;grid-template-columns:1fr 1fr;gap:35px}.resource-link{padding:18px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.course-select{max-width:450px;margin-bottom:28px}.progress-overview{margin:15px 0 35px}.progress-overview>div:first-child{padding:27px;background:var(--surface);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.big-score{font:52px var(--mono);letter-spacing:-.07em;margin:15px 0}.big-score>span{font:13px var(--sans);letter-spacing:0;color:var(--muted);margin-left:8px}.progress-track{height:6px;background:var(--line);border-radius:6px;overflow:hidden;margin:18px 0}.progress-track span{height:100%;display:block;background:var(--sage)}.progress-overview .muted{font-size:12px}.notes-layout{display:grid;grid-template-columns:245px 1fr;min-height:550px;background:var(--surface);border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:var(--shadow)}.notes-layout>aside{border-right:1px solid var(--line);padding:12px;background:var(--ivory)}.notes-layout>aside button{width:100%;display:flex;gap:10px;text-align:left;padding:16px 12px;border-radius:9px;line-height:1.6;font-size:12px;border:1px solid transparent;overflow-wrap:anywhere}.notes-layout>aside button.active{background:var(--amber-soft);border-color:var(--line)}.notes-layout>aside button svg{flex-shrink:0;color:var(--accent);margin-top:3px}.notes-layout>aside small{display:block;color:var(--muted);font-size:10px;margin-top:6px;line-height:1.6}.note-editor{padding:28px;min-width:0}.note-editor .section-head{padding-bottom:18px;border-bottom:1px dashed var(--line);flex-wrap:wrap}.note-title{font-size:27px;letter-spacing:-.035em;font-weight:600;border:0;background:transparent;padding:12px 0}.note-body{min-height:360px;padding:15px 0 40px;outline:none;cursor:text}.note-body>:first-child{margin-top:0}.note-body p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:var(--muted);pointer-events:none}.save-status{font:9px var(--mono);color:var(--muted)}.markdown{line-height:1.9;overflow-wrap:anywhere;padding-top:20px}.markdown :is(h1,h2,h3,h4){margin:22px 0 10px;line-height:1.35}.markdown h1{font-size:23px;letter-spacing:-.03em}.markdown h2{font-size:19px}.markdown h3{font-size:16px}.markdown :is(ul,ol){margin:10px 0;padding-left:22px}.markdown li>p{margin:2px 0}.markdown blockquote{margin:12px 0;padding:2px 0 2px 16px;border-left:3px solid var(--amber);color:var(--muted)}.markdown hr{margin:22px 0;border:0;border-top:1px dashed var(--line)}.markdown :not(pre)>code{padding:1px 5px;border-radius:5px;background:var(--soft);font-size:.92em}.markdown p{margin:10px 0}.markdown a{color:var(--accent);text-decoration:underline}.markdown pre{overflow:auto;max-width:100%;background:var(--soft);padding:15px;border-radius:8px}.markdown code{font-family:var(--mono)}.markdown img{max-width:100%}.settings-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:16px;max-width:900px;align-items:start}.settings-form>.settings-card{padding:20px 22px 16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.settings-form>.error{grid-column:1 / -1}.settings-form h2{margin-bottom:14px;font-size:16px}.settings-profile{display:flex;align-items:flex-start;gap:16px}.settings-profile-fields{flex:1;min-width:0}.settings-profile-fields .field{margin-bottom:6px}.settings-profile-fields .muted{margin:0;overflow:hidden;text-overflow:ellipsis}.settings-photo-actions{display:flex;gap:16px;margin-top:10px}.settings-card .form-grid .field{margin-bottom:12px}.settings-card .checkbox-label{margin:2px 0 4px}.calendar-link{display:flex;gap:8px;margin:10px 0 2px}.calendar-link input{flex:1;min-width:0;font:12px var(--mono)}.campus-avatar{display:inline-grid;place-items:center;flex-shrink:0;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--accent);font-family:var(--mono);font-weight:500;overflow:hidden;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.campus-avatar .avatar-img{width:100%;height:100%;object-fit:cover;display:block}.campus-avatar .avatar-letter{line-height:1}.live-status-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:20px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);font:11px/1.4 var(--mono);color:var(--muted);transition:all .2s ease}.live-status-saving{display:inline-flex;align-items:center;gap:7px;color:var(--amber)}.live-pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--amber);animation:pulse-dot 1s ease-in-out infinite alternate}@keyframes pulse-dot{0%{transform:scale(.8);opacity:.5}to{transform:scale(1.2);opacity:1}}.live-status-saved{display:inline-flex;align-items:center;gap:6px;color:var(--sage);font-weight:500}.live-status-saved svg{color:var(--sage)}.live-status-error{color:var(--danger)}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;font-size:12px;color:var(--muted)}.field>label,.field>.field-label{font-size:11px;font-weight:500}input,select,textarea{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:9px;padding:11px 12px;max-width:100%;width:100%;font-size:12px}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--muted) 60%,var(--line))}textarea{resize:vertical;line-height:1.7}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);flex-shrink:0}input[type=color]{padding:4px;height:40px;max-width:100px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 17px}.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;max-width:340px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.date-grid-head{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.date-grid-head strong{font-size:13px;font-weight:600}.date-grid-head .icon-button{width:28px;height:28px;font-size:18px}.date-grid-weekday{text-align:center;font:9px/2 var(--mono);color:var(--muted)}.date-grid-day{aspect-ratio:1;border-radius:8px;font:12px var(--mono)}.date-grid-day:hover:not(:disabled){background:var(--hover)}.date-grid-day[aria-pressed=true]{background:var(--amber);color:#fff;font-weight:600}.date-grid-day:disabled{opacity:.25;cursor:default}.date-grid-day.scheduled:disabled{opacity:1;color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}.date-chips{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 0;padding:0;list-style:none}.date-chips li{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 10px;border:1px solid var(--line);border-radius:999px;background:var(--soft);font:11px var(--mono)}.date-chips button{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;color:var(--muted)}.date-chips button:hover{background:var(--hover);color:var(--danger)}.class-dates .hint{margin:0}.form-grid>.form-span{grid-column:1 / -1}.form-grid>*{min-width:0}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:24px;flex-wrap:wrap}.checkbox-label{display:flex;gap:10px;align-items:center;font-size:12px;margin:15px 0}.hint{font-size:11px;line-height:1.7;color:var(--muted);margin:12px 0 18px}.dialog{border:1px solid var(--line);border-radius:17px;background:var(--surface);color:var(--text);padding:25px;width:min(560px,calc(100vw - 28px));max-height:90dvh;box-shadow:var(--shadow-lift);overflow:auto}.dialog::backdrop{background:#2b241f55;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dialog-head{display:flex;align-items:center;gap:14px;margin:-25px -25px 25px;padding:14px 20px;background:var(--ivory);border-bottom:1px solid var(--line)}.dialog-head h2{font-size:15px;flex:1}.dialog.wide{width:min(800px,calc(100vw - 28px))}.dialog>h3{margin:25px 0 15px}.error{color:var(--danger);font-size:12px;background:color-mix(in srgb,var(--danger) 8%,transparent);padding:12px 14px;border:1px solid color-mix(in srgb,var(--danger) 20%,transparent);border-radius:9px;margin:12px 0}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:250px;padding:35px;text-align:center;color:var(--muted)}.empty .companion{margin-bottom:22px}.empty h3{font-size:18px;color:var(--text);margin-bottom:10px}.empty p{font-size:12px;max-width:420px}.empty .button{margin-top:20px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);background:var(--button-bg);color:var(--button-text);padding:15px 20px;border-radius:12px;z-index:60;display:flex;align-items:center;gap:20px;font-size:12px;box-shadow:var(--shadow-lift);max-width:90vw}.toast button{color:inherit;font-size:11px;text-decoration:underline;white-space:nowrap}.command-search{display:flex;align-items:center;gap:12px;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:3px 12px;color:var(--muted)}.command-search input{border:0;background:transparent;font-size:13px;padding:13px 0}.command-results{margin:15px 0}.command-results button{width:100%;padding:14px 10px;display:flex;align-items:center;gap:12px;font-size:12px;border-radius:9px;text-align:left}.command-results button:hover,.command-results button:focus{background:var(--amber-soft)}.command-results button>svg:last-child{margin-left:auto;color:var(--muted)}.notification-item{display:flex;align-items:center;justify-content:space-between;text-align:left;width:100%;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.notification-item small{display:block;color:var(--muted);margin-top:6px}.skip-link{position:fixed;top:-70px;left:20px;background:var(--button-bg);color:var(--button-text);padding:12px;border-radius:8px;z-index:100}.skip-link:focus{top:10px}.auth-page{min-height:100vh;display:grid;grid-template-columns:1.15fr 1fr;max-width:1500px;margin:auto}.auth-story{padding:48px 65px 30px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.auth-story>div{margin:70px 0 30px}.auth-story .eyebrow{display:flex;align-items:center;gap:12px;font-size:10px}.auth-story h1{font-size:clamp(50px,5.3vw,78px);font-weight:650;line-height:1.05;margin:25px 0;letter-spacing:-.055em}.auth-story em{font-style:normal;color:var(--display-accent)}.auth-story p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.9}.auth-story>small{color:var(--muted);font:9px/1.8 var(--mono)}.auth-preview{position:relative;margin-top:22px;height:235px;display:grid;place-items:center;background:radial-gradient(ellipse,rgba(var(--glow),.12),transparent 65%)}.auth-preview .companion{font-size:38px;color:var(--amber);animation:drift 8s ease-in-out infinite}.habitat-orbit{position:absolute;font:10px var(--mono);color:var(--muted)}.orbit-one{left:5%;top:25%;color:var(--accent);transform:rotate(-8deg)}.orbit-two{right:0;top:12%;color:var(--accent);transform:rotate(6deg)}.orbit-three{bottom:10px;left:30%}.auth-form{display:flex;align-items:center;justify-content:center;padding:50px 50px 50px 20px}.auth-form>div{width:450px;padding:35px;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:var(--shadow-lift);overflow:hidden}.auth-window-bar{display:flex;align-items:center;gap:18px;margin:-35px -35px 32px;padding:17px 20px;background:var(--ivory);border-bottom:1px solid var(--line);font:9px var(--mono);color:var(--muted)}.pill{font:9px var(--mono);display:inline-block;background:var(--amber-soft);color:var(--accent);padding:7px 10px;border-radius:20px}.auth-form h2{font-size:30px;font-weight:600;letter-spacing:-.045em;margin:20px 0 10px}.auth-form .muted{font-size:12px}.auth-form form{margin-top:28px}.auth-form .button{margin-top:8px}.auth-toggle{text-align:center;font-size:11px;color:var(--muted);margin-top:24px}.auth-toggle button{margin-left:5px}.auth-form .field{margin-bottom:20px}.auth-form input{padding:13px}.auth-form small{display:block;margin:-5px 0 16px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes drift{50%{transform:translateY(-5px)}}@media(min-width:1600px){main{padding-top:50px}.home-grid{grid-template-columns:minmax(0,1fr) 320px;gap:30px}.focus-content{min-height:255px;padding:35px 210px 35px 35px}.focus-card h2{font-size:32px}.focus-art{right:35px}}@media(max-width:1250px){.brand{font-size:19px}.brand-product{font-size:16px}main{padding:32px 25px 0}.home-grid{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.focus-content{padding:24px 120px 24px 24px}.focus-art{width:100px;right:5px}.focus-art .companion{font-size:21px}.focus-art:before{width:105px;height:105px}.companion-caption{display:none}.courses-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-tasks{padding:18px}.task-row{gap:8px}.home-tasks .row-actions{flex-direction:column}.today-label{display:none}.notes-layout{grid-template-columns:190px 1fr}.auth-story{padding:40px}.auth-form{padding-right:35px}}@media(max-width:1050px){.home-grid{grid-template-columns:1fr}.home-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.home-aside .semester-note{margin:0}.course-shortcuts{grid-column:1 / -1}.focus-content{padding-right:180px}.focus-art{width:145px;right:20px}.focus-art .companion{font-size:28px}.focus-art:before{width:150px;height:150px}.course-overview{grid-template-columns:1fr}.note-editor{padding:20px}.auth-story h1{font-size:52px}.auth-form>div{padding:27px}.auth-window-bar{margin:-27px -27px 28px}}@media(max-width:760px){main{padding:30px 18px 0}.page-head{align-items:flex-start;flex-wrap:wrap;margin-bottom:25px;gap:17px}h1{font-size:32px}.page-head .eyebrow{font-size:9px}.page-head .muted{font-size:12px}.focus-top{padding:13px 16px;font-size:8px;gap:12px}.focus-content{padding:24px 100px 24px 20px;min-height:230px}.focus-card h2{font-size:25px}.focus-art{right:8px;width:83px;top:64px}.focus-art .companion{font-size:16px}.focus-art:before{width:90px;height:90px}.orbit-spark{font-size:16px;top:23px}.focus-reason{font-size:11px}.focus-bottom{gap:12px}.focus-bottom>span{font-size:9px}.daily-stats{gap:7px}.daily-stats>div{padding:13px 10px;gap:3px}.daily-stats strong{font-size:24px}.daily-stats span{font-size:9px}.section-head h2{font-size:14px}.section-head{flex-wrap:wrap;gap:8px}.section-head .text-button{font-size:10px}.home-tasks{padding:18px 14px}.task-row{flex-wrap:wrap;gap:9px}.task-title{font-size:12px}.task-meta,.deadline{font-size:9px}.row-actions{flex-direction:column;gap:0}.home-tasks .task-row .deadline{max-width:68px;white-space:normal}.home-aside{display:block}.home-aside>section{margin-top:20px}.home-aside .semester-note{margin-top:20px}.courses-grid{gap:14px}.course-card{padding:18px}.course-card h2{font-size:18px}.course-card .eyebrow{font-size:8px}.course-card-footer{gap:8px;font-size:8px;flex-wrap:wrap}.task-list{padding:6px 13px}.tabs button{padding:9px 11px;font-size:11px}.notes-layout{grid-template-columns:1fr}.notes-layout>aside{border:0;border-bottom:1px solid var(--line);max-height:160px;overflow:auto}.note-editor{padding:18px}.note-title{font-size:23px}.note-editor .inline-actions{gap:9px;flex-wrap:wrap}.course-resources{grid-template-columns:1fr}.form-grid{gap:0 12px}.dialog{padding:22px}.dialog-head{margin:-22px -22px 22px;padding:12px 16px}.dialog-head .window-dots{display:none}.toast{bottom:15px;width:max-content;gap:12px;padding:14px;font-size:11px}.auth-page{grid-template-columns:1fr}.auth-story{min-height:auto;padding:27px 26px 0}.auth-story>div{margin:40px 0 0}.auth-story h1{font-size:48px;margin:17px 0}.auth-story .eyebrow{font-size:8px}.auth-story>small,.auth-preview{display:none}.auth-story p:not(.eyebrow){font-size:12px}.auth-form{padding:28px 20px}.auth-form>div{width:100%;max-width:460px;padding:25px}.auth-window-bar{margin:-25px -25px 25px;font-size:8px}.auth-form h2{font-size:28px}.page-footer{font-size:8px;flex-direction:column;gap:9px}.load-chart{gap:5px;padding:18px 12px}.load-value{font-size:8px}}@media(max-width:440px){.courses-grid{grid-template-columns:1fr}.course-card{padding:24px}.course-card h2{font-size:23px}.course-card-top{margin-bottom:24px}.form-grid{grid-template-columns:1fr}.settings-form>.settings-card{padding:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.tabs.compact.class-repeat{width:max-content;max-width:100%}.class-other-time{display:grid;gap:12px;padding:14px;border:1px dashed var(--line);border-radius:12px;background:var(--soft)}.class-other-time-head{display:flex;align-items:center;justify-content:space-between;font-size:12px}.class-other-add{padding-left:0}.focus-class-info{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.focus-class-info>span{display:inline-flex;align-items:center;gap:5px}.focus-class-kind{padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);color:var(--accent);font:600 11px/1.5 var(--sans)}a.focus-button{text-decoration:none}.roulette{display:grid;justify-items:center;gap:12px;text-align:center}.roulette-cat{margin:0;color:var(--accent);font-size:18px}.roulette.is-rolling .roulette-cat{animation:roulette-wobble .3s steps(2) infinite}@keyframes roulette-wobble{50%{transform:rotate(-4deg)}}.roulette-verdict{margin:0;color:var(--muted);font:11px var(--mono)}.roulette-window{display:grid;gap:6px;width:100%;min-height:86px;align-content:center;padding:16px 20px;border:1px dashed var(--line);border-radius:14px;background:var(--soft)}.roulette-window strong{font-size:20px;font-weight:600}.roulette.is-rolling .roulette-window strong{opacity:.6;filter:blur(.4px)}.roulette-window>span{display:inline-flex;justify-content:center;align-items:center;gap:6px;color:var(--muted);font-size:12px}.roulette .form-actions{width:100%;justify-content:center}@media(prefers-reduced-motion:reduce){.roulette.is-rolling .roulette-cat{animation:none}}.dropdown-menu.select-menu.floating{position:fixed;inset:auto;z-index:300;max-width:calc(100vw - 16px)}.dropdown-menu.select-menu.floating.full-width{min-width:0}.archive-prompt{display:flex;align-items:center;flex-wrap:wrap;gap:14px 18px;margin:-10px 0 26px;padding:16px 20px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--accent) 9%,var(--surface));box-shadow:var(--shadow)}.archive-prompt-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.archive-prompt>div:not(.inline-actions){flex:1;min-width:220px}.archive-prompt strong{font-size:14px;font-weight:600}.archive-prompt p{margin:3px 0 0;color:var(--muted);font-size:12.5px}.archive-prompt .button{display:inline-flex;align-items:center;gap:7px}.confirm-body{margin:4px 0 6px;font-size:13px;line-height:1.6}.confirm-body p{margin:0 0 8px}.confirm-body .muted{color:var(--muted);font-size:12px}.button.danger{background:color-mix(in srgb,var(--danger) 18%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 55%,var(--line));color:var(--danger)}.button.danger:hover{background:color-mix(in srgb,var(--danger) 28%,var(--surface))}:root{--paper: color-mix(in srgb, var(--surface) 62%, var(--bg));--tab-amber: #f3dcc0;--tab-aqua: #d6e6e6;--tab-sage: #dbe5d3;--tab-rose: #eed5cf;--tab-lilac: #e1dbeb;--tab-sand: #eee2c8;--ink-rose: #c98a7d;--ink-lilac: #9b8ab8;--ink-sand: #c9a867}[data-theme=dark]{--tab-amber: #fce3fc;--tab-aqua: #a5b0e8;--tab-sage: #c0b8f2;--tab-rose: #e5d6f3;--tab-lilac: #d3cbf3;--tab-sand: #f0dcf6;--tab-ink: #211c3d;--ink-rose: #fce3fc;--ink-lilac: #c0b8f2;--ink-sand: #e5d6f3}.desk{max-width:1480px;margin:0 auto;padding:10px 24px 32px}.desk-header{display:flex;align-items:center;gap:16px;min-height:64px;padding:0 6px}.desk-brand{display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:600;letter-spacing:-.04em;line-height:1.1}.desk-brand .brand-icon{width:40px;height:40px}.desk-brand small{display:block;color:var(--accent);font:450 12px var(--sans);letter-spacing:0}.desk-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.account-button{display:grid;place-items:center;border-radius:12px}.account-button .campus-avatar{border-radius:12px;box-shadow:none}.account-button:hover .campus-avatar{border-color:var(--amber)}.semester-chip .dropdown-wrap{display:block}.semester-chip-button,.semester-chip-empty{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);text-align:left}.semester-chip-button:hover,.semester-chip-empty:hover{border-color:var(--amber)}.semester-chip.is-other .semester-chip-button{border-style:dashed;border-color:var(--amber)}.semester-chip-text{display:grid;line-height:1.25}.semester-chip-text strong{font-size:12px;font-weight:600;white-space:nowrap}.semester-chip-text small{color:var(--muted);font-size:10px;white-space:nowrap}.semester-chip-track{width:46px;height:4px;border-radius:4px;background:var(--line);overflow:hidden}.semester-chip-track span{display:block;height:100%;background:var(--amber)}.semester-chip-button>svg{color:var(--muted)}.semester-chip-empty{color:var(--accent);font-size:12px;font-weight:500;padding:9px 14px}.notebook-tabs{position:relative;z-index:2;display:flex;align-items:flex-end;gap:5px;padding:18px 20px 0;overflow-x:auto;scrollbar-width:none}.notebook-tabs::-webkit-scrollbar{display:none}.notebook-tab{--tone: var(--tab-amber);--ink: var(--amber);position:relative;display:inline-flex;align-items:center;gap:8px;padding:10px 17px 9px;border:1px solid var(--line);border-bottom:0;border-radius:13px 13px 0 0;background:var(--tone);color:color-mix(in srgb,var(--text) 72%,var(--tone));font-size:13px;font-weight:500;white-space:nowrap;transform:translateY(6px);transition:transform .22s cubic-bezier(.2,.7,.2,1),background .2s,color .2s}.tone-aqua{--tone: var(--tab-aqua);--ink: var(--aqua)}.tone-sage{--tone: var(--tab-sage);--ink: var(--sage)}.tone-rose{--tone: var(--tab-rose);--ink: var(--ink-rose)}.tone-lilac{--tone: var(--tab-lilac);--ink: var(--ink-lilac)}.tone-sand{--tone: var(--tab-sand);--ink: var(--ink-sand)}.notebook-tab .campus-icon{--icon-accent: var(--ink)}[data-theme=dark] .notebook-tab:not(.active){border-color:color-mix(in srgb,var(--tone) 70%,var(--tab-ink));color:color-mix(in srgb,var(--tab-ink) 88%,var(--tone))}[data-theme=dark] .notebook-tab:not(.active):hover{color:var(--tab-ink)}[data-theme=dark] .notebook-tab:not(.active) .campus-icon{--icon-accent: color-mix(in srgb, var(--tone) 35%, var(--tab-ink))}[data-theme=dark] .notebook-tab:not(.active) .notebook-tab-count{background:var(--tab-ink);color:var(--tone)}.notebook-tab:hover{transform:translateY(2px);color:var(--text)}.notebook-tab.active{z-index:1;margin-bottom:-1px;padding-top:13px;padding-bottom:11px;background:var(--paper);color:var(--text);font-weight:600;transform:none;box-shadow:inset 0 3px 0 var(--ink)}.notebook-tab.active:before{content:"";position:absolute;top:-7px;left:16px;width:22px;height:8px;background:var(--ink);clip-path:polygon(0 100%,20% 0,40% 100%,60% 100%,80% 0,100% 100%)}.notebook-tab-count{min-width:20px;padding:0 5px;border-radius:999px;background:var(--ink);color:#fff;font:600 10px/18px var(--mono);text-align:center}main.notebook-page{position:relative;max-width:none;margin:0;padding:40px 40px 0 64px;border:1px solid var(--line);border-radius:6px 22px 22px;background:var(--paper);box-shadow:var(--shadow)}main.notebook-page:before{content:"";position:absolute;top:0;bottom:0;left:30px;width:4px;border-left:1px solid rgba(var(--glow),.4);border-right:1px solid rgba(var(--glow),.2);pointer-events:none}@media(max-width:1100px){.notebook-tab{padding:10px 13px 9px}main.notebook-page{padding:34px 26px 0 44px}main.notebook-page:before{left:20px}}@media(max-width:760px){.desk{padding:4px 0 calc(78px + env(safe-area-inset-bottom))}.desk-header{gap:10px;min-height:56px;padding:0 14px}.desk-brand span,.semester-chip-track,.semester-chip-text small{display:none}.desk-brand .brand-icon{width:34px;height:34px}.semester-chip-button{padding:7px 8px 7px 12px}.semester-chip-text strong{max-width:118px;overflow:hidden;text-overflow:ellipsis}.desk-actions{gap:8px}.add-button{padding:10px 12px}.notebook-tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;justify-content:space-between;gap:3px;padding:10px 6px calc(6px + env(safe-area-inset-bottom));background:var(--bg-2);border-top:1px solid var(--line)}.notebook-tab{flex:1;flex-direction:column;gap:3px;min-width:0;padding:8px 2px 6px;font-size:10px;border-bottom:1px solid var(--line);border-radius:12px;transform:translateY(3px)}.notebook-tab.active{margin-bottom:0;padding:9px 2px 8px;border-bottom:1px solid var(--line)}.notebook-tab-label{max-width:100%;overflow:hidden;text-overflow:ellipsis}.notebook-tab-count{position:absolute;top:3px;right:6px;min-width:16px;font-size:9px;line-height:15px}main.notebook-page{min-height:calc(100dvh - 138px - env(safe-area-inset-bottom));padding:26px 18px 0 30px;border-radius:18px 18px 0 0;border-bottom:0}main.notebook-page:before{left:13px}}:root{--grid-step: 46px;--grid-ink: rgba(146, 115, 72, .17)}[data-theme=dark]{--grid-ink: rgba(192, 184, 242, .08)}body:has(.desk-grid){--grid-color: transparent}.desk{position:relative;z-index:1}.desk-backdrop{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.desk-grid{position:absolute;inset:0}.grid-lines{position:absolute;inset:calc(-1 * var(--grid-step));background-image:linear-gradient(var(--grid-ink) 1px,transparent 1px),linear-gradient(90deg,var(--grid-ink) 1px,transparent 1px);background-size:var(--grid-step) var(--grid-step);will-change:transform}.grid-cells{position:absolute;inset:calc(-8 * var(--grid-step));will-change:transform}.grid-cell{position:absolute;width:calc(var(--grid-step) - 1px);height:calc(var(--grid-step) - 1px);opacity:0}:root{--cat-outline: #121014;--cat-fur: #2b292e;--cat-fur-light: #403c45;--cat-pupil: #121014;--cat-shadow: rgba(80, 55, 30, .2)}[data-theme=dark]{--cat-outline: #0b0a0c;--cat-fur: #302c48;--cat-fur-light: #48426a;--cat-shadow: rgba(0, 0, 0, .4)}.page-footer{position:relative;container-type:inline-size;margin-top:60px}.footer-cat{position:absolute;left:0;right:0;top:-44px;height:46px;pointer-events:none}.footer-cat-walker{position:absolute;left:0;bottom:0;width:64px;height:46px;animation:cat-route 80s linear infinite}.footer-cat svg{display:block}.cat-walking{animation:cat-walking 80s step-end infinite}.cat-sitting{opacity:0;animation:cat-sitting 80s step-end infinite}.cat-step{animation:cat-step .6s step-end infinite}.cat-step-stride{animation-delay:-.3s}.cat-tail{animation:cat-step 2.8s step-end infinite}.cat-tail-swayed{animation-delay:-1.4s}.cat-walking .cat-tail{animation-duration:1.2s}.cat-walking .cat-tail-swayed{animation-delay:-.6s}.cat-blink{opacity:0;animation:cat-blink 4.5s step-end infinite}@keyframes cat-route{0%{transform:translate(0) scaleX(1)}38%,50%{transform:translate(calc(100cqw - 64px)) scaleX(1)}50.01%{transform:translate(calc(100cqw - 64px)) scaleX(-1)}88%{transform:translate(0) scaleX(-1)}88.01%,to{transform:translate(0) scaleX(1)}}@keyframes cat-walking{0%{opacity:1}38%{opacity:0}50%{opacity:1}88%{opacity:0}}@keyframes cat-sitting{0%{opacity:0}38%{opacity:1}50%{opacity:0}88%{opacity:1}}@keyframes cat-step{0%{opacity:1}50%{opacity:0}}@keyframes cat-blink{0%{opacity:0}94%{opacity:1}}.footer-cat[data-motion=paused] *,html:has(dialog[open]) .footer-cat *{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.cat-walking,.cat-blink,.cat-tail-swayed{opacity:0}.cat-sitting{opacity:1}}.campus-icon{display:inline-block;flex-shrink:0;vertical-align:middle}.campus-icon .icon-wash{fill:var(--icon-accent, var(--amber));stroke:none;opacity:.18}.campus-icon .icon-detail{stroke:var(--icon-accent, var(--accent))}.notebook-tab.active .icon-wash{opacity:.28}.primary .campus-icon,.focus-button .campus-icon,.course-mark .campus-icon{--icon-accent: currentColor}.nook-margin-note .campus-icon{--icon-accent: var(--sage)}@media(forced-colors:active){.campus-icon .icon-detail{stroke:currentColor}.campus-icon .icon-wash{fill:currentColor;opacity:.12}}.page-arrival:not(.settled){opacity:0}.page-arrival.settled{animation:page-settle .32s cubic-bezier(.2,.7,.2,1) both}@keyframes page-settle{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.journey-notice{position:fixed;right:26px;bottom:26px;z-index:34;display:flex;align-items:center;gap:16px;width:min(415px,calc(100vw - 40px));padding:18px 20px;border:1px solid var(--line);border-radius:18px 18px 5px;background:var(--surface);box-shadow:var(--shadow);pointer-events:none;visibility:hidden}.journey-notice[data-visible=true]{visibility:visible;animation:note-arrive .28s ease-out both}@keyframes note-arrive{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.journey-art{position:relative;display:inline-flex;flex:0 0 48px;align-items:center;justify-content:center;height:48px;color:var(--accent);background:color-mix(in srgb,var(--amber) 12%,var(--surface));border-radius:15px 18px 14px 20px}.journey-art>svg:last-child{position:absolute;top:-5px;right:-3px;color:var(--sage);transform-origin:bottom center;animation:sprig-breathe 2.3s ease-in-out infinite alternate}@keyframes sprig-breathe{to{transform:rotate(10deg)}}.journey-copy{display:grid;gap:5px}.journey-copy strong{font-size:12px;font-weight:500;line-height:1.5;color:var(--text)}.journey-copy>span{font-size:11px;line-height:1.6;color:var(--muted)}.journey-dots{display:flex;gap:3px;margin-left:auto}.journey-dots i{width:3px;height:3px;border-radius:50%;background:var(--accent);animation:ink-breathe 1.5s ease-in-out infinite}.journey-dots i:nth-child(2){animation-delay:.18s}.journey-dots i:nth-child(3){animation-delay:.36s}@keyframes ink-breathe{50%{opacity:.35;transform:translateY(-2px)}}.journey-placeholder{min-height:40vh;display:grid;place-items:center}.journey-standalone{display:flex;align-items:center;gap:18px;padding:24px;max-width:440px}.journey-paper{justify-self:stretch;align-self:start;display:grid;gap:22px;padding:28px;border:1px dashed var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 45%,transparent)}.journey-paper i{height:6px;width:42%;max-width:360px;border-radius:8px;background:color-mix(in srgb,var(--amber) 13%,transparent)}.journey-paper i:nth-child(2){width:64%}.journey-paper i:nth-child(3){width:30%}[data-motion=paused] :is(.page-arrival,.page-head,.journey-notice,.journey-art>svg,.journey-dots i){animation:none!important}@media(max-width:700px){.journey-notice{right:20px;bottom:max(20px,env(safe-area-inset-bottom));gap:12px;padding:16px}}@media(prefers-reduced-motion:reduce){.page-journey *,.journey-placeholder *{animation:none!important;transition:none!important}}:root{--scroll-thumb: #ae8057;--scroll-thumb-hover: #96633f;scrollbar-gutter:stable}[data-theme=dark]{--scroll-thumb: #a5b0e8;--scroll-thumb-hover: #c0b8f2}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--bg)}@supports selector(::-webkit-scrollbar){*{scrollbar-width:auto;scrollbar-color:auto}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:transparent;border-radius:12px}html::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{min-height:40px;min-width:40px;border:3px solid transparent;border-radius:12px;background:var(--scroll-thumb);background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:var(--scroll-thumb-hover)}::-webkit-scrollbar-thumb:active{background-color:var(--accent)}::-webkit-scrollbar-button{display:none;width:0;height:0}::-webkit-scrollbar-corner{background:var(--bg)}}@media(forced-colors:active){*{scrollbar-color:auto}::-webkit-scrollbar-thumb{background-color:CanvasText}html::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background-color:Canvas}}.planner-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:10px}.planner-period{display:flex;align-items:center;gap:6px}.planner-period h2{margin:0 6px;min-width:220px;font-size:19px;font-weight:600;text-align:center;text-transform:capitalize}.planner-period .icon-button{border:1px solid var(--line);border-radius:10px;width:34px;height:34px;display:grid;place-items:center;background:var(--surface)}.planner-period .icon-button:hover{background:var(--hover);border-color:var(--accent)}.planner-today{padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:12px}.planner-today:hover{border-color:var(--accent);color:var(--accent)}.planner-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.planner-date{position:relative;display:inline-flex;align-items:center;color:var(--muted)}.planner-date input{width:140px;padding:8px 10px;font-size:11px}.planner-summary{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;margin:0 0 18px;padding:13px 18px;border:1px solid var(--line);border-radius:14px;background:var(--ivory);color:var(--muted);font-size:12px}.planner-summary strong{color:var(--text);font-weight:600}.planner-summary .planner-next{margin-left:auto;display:inline-flex;align-items:center;gap:7px}.planner-summary .text-button{font-size:12px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.calendar.day{grid-template-columns:1fr;max-width:720px}.calendar-day{display:flex;flex-direction:column;min-width:0;min-height:250px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.calendar-day.is-weekend{background:var(--ivory)}.calendar-day.is-today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow)}.calendar-day>header{display:flex;align-items:baseline;gap:8px;padding:14px 15px 10px}.calendar-day header .weekday{font:10px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.calendar-day header strong{font:20px var(--mono);letter-spacing:-.04em}.calendar-day.is-today header .weekday{color:var(--accent)}.calendar-day header .today-mark{margin-left:auto;padding:2px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);font:600 9px/16px var(--mono);text-transform:uppercase}.calendar-day>.day-body{display:grid;gap:8px;align-content:start;padding:0 11px 12px;flex:1}.day-foot{padding:0 15px 12px;color:var(--muted);font:9px var(--mono)}.class-card{--tone: var(--course, var(--sage));position:relative;display:grid;gap:5px;width:100%;padding:11px 12px 11px 14px;border:1px solid color-mix(in srgb,var(--tone) 35%,var(--line));border-left:3px solid var(--tone);border-radius:12px;background:color-mix(in srgb,var(--tone) 10%,var(--surface));text-align:left}.class-card:hover{background:color-mix(in srgb,var(--tone) 18%,var(--surface));box-shadow:var(--shadow)}.class-card .when{display:flex;align-items:center;gap:6px;color:var(--muted);font:10px var(--mono)}.class-card .title{font-size:12.5px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.class-card .title,.day-card>strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;height:2.8em;min-width:0;overflow:hidden}.class-card .marks{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--muted);font-size:10.5px}.class-card .kind-tag{padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--tone) 26%,transparent);color:var(--text);font:600 9px/17px var(--mono)}.class-card .room{display:inline-flex;align-items:center;gap:4px}.class-card.is-now{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.class-card .now-mark{position:absolute;top:-9px;right:10px;display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;background:var(--accent);color:var(--button-text);font:600 9px/16px var(--mono);text-transform:uppercase}.class-card .now-mark .live-dot{background:var(--button-text)}.class-card.cancelled{opacity:.62}.class-card.cancelled .title{text-decoration:line-through}.day-card{display:grid;gap:4px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:12px;text-align:left;font-size:12px}.day-card small{color:var(--muted);font:9px var(--mono);text-transform:uppercase;letter-spacing:.06em}.day-card strong{font-weight:600;line-height:1.4;overflow-wrap:anywhere}.day-card:hover{box-shadow:var(--shadow)}.day-card.event{background:var(--aqua-soft);border-color:color-mix(in srgb,var(--aqua) 45%,var(--line))}.day-card.deadline{background:var(--amber-soft);border-color:color-mix(in srgb,var(--amber) 45%,var(--line))}.day-free{display:grid;justify-items:center;gap:6px;margin:auto 0;padding:14px 6px;color:var(--muted);font-size:11px;text-align:center}.day-free .sleeping-cat{white-space:pre;font:11px/1.3 var(--mono);color:color-mix(in srgb,var(--accent) 70%,transparent)}.calendar.month{gap:8px}.calendar.month .calendar-day{min-height:118px;border-radius:12px}.calendar.month .calendar-day>header{padding:9px 10px 4px}.calendar.month .calendar-day header strong{font-size:14px}.calendar.month .calendar-day header .weekday,.calendar.month .day-foot,.calendar.month .class-card .marks,.calendar.month .class-card .when,.calendar.month .day-free .sleeping-cat{display:none}.calendar.month .day-body{padding:0 7px 8px;gap:5px}.calendar.month .class-card{padding:5px 7px;border-radius:8px}.calendar.month .class-card .title{font-size:10px}.calendar.month .day-card{padding:4px 7px;font-size:10px}.calendar.month .day-card small{display:none}.rules-panel{margin:0 0 20px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--ivory)}.rules-panel>p{margin:0 0 12px;color:var(--muted);font-size:11px}.rules-panel ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.rules-panel li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);font-size:12px}.rules-panel li .rule-when{color:var(--muted);font:10px var(--mono)}.rules-panel li .text-button{margin-left:auto;font-size:11px}@media(max-width:1100px){.calendar.week{grid-template-columns:repeat(7,160px);overflow-x:auto;padding-bottom:6px}}@media(max-width:760px){.planner-bar{gap:12px}.planner-period h2{min-width:150px;font-size:16px}.planner-date{display:none}.planner-summary{font-size:11px}.planner-summary .planner-next{margin-left:0}.calendar.week{display:grid;grid-template-columns:1fr;overflow:visible}.calendar.week .calendar-day{min-height:0}.calendar.month{gap:5px}.calendar.month .calendar-day{min-height:74px}.calendar.month .class-card .title,.calendar.month .day-card{font-size:9px}}.import-preview{margin:16px 0 6px;max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.import-preview>.hint{position:sticky;top:0;margin:0;padding:10px 14px;background:var(--soft);border-bottom:1px solid var(--line)}.import-preview ul{display:grid;gap:2px;margin:0;padding:8px;list-style:none}.import-preview li{display:grid;grid-template-columns:150px minmax(0,1fr) 150px;gap:4px 12px;align-items:baseline;padding:8px 10px;border-radius:9px;background:var(--surface);font-size:12px}.import-preview .import-when{font:10px var(--mono);color:var(--muted)}.import-preview .import-marks{grid-column:2;color:var(--muted);font-size:11px}.import-preview .import-dates{grid-row:1 / span 2;grid-column:3;color:var(--muted);font:10px var(--mono)}@media(max-width:760px){.import-preview li{grid-template-columns:1fr}.import-preview .import-dates{grid-row:auto;grid-column:1}}.planner-summary .text-button.danger{color:var(--danger)}.task-summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;margin:-14px 0 20px;padding:11px 16px;border:1px solid var(--line);border-radius:14px;background:var(--ivory);color:var(--muted);font-size:12px}.task-semester{display:inline-flex;align-items:center;gap:8px;padding:5px 13px 5px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-weight:600}.task-semester small{color:var(--muted);font-size:11px;font-weight:500}.task-semester small:before{content:"·";margin-right:8px}.task-semester.other{background:var(--soft);color:var(--text)}.task-summary-counts{display:inline-flex;flex-wrap:wrap;gap:6px 16px}.task-summary-counts strong{color:var(--text);font-weight:600}.task-summary-counts .overdue,.task-summary-counts .overdue strong{color:var(--danger)}.task-views button{display:inline-flex;align-items:center;gap:7px}.task-views button span{min-width:20px;padding:0 6px;border-radius:999px;background:var(--soft);color:var(--muted);font:600 10px/18px var(--mono);text-align:center}.task-views button.active span{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.task-board{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:start}.task-board-main{min-width:0}.task-subjects{position:sticky;top:16px;padding:16px 10px 12px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.task-subjects-title{display:flex;align-items:center;justify-content:space-between;margin:0 8px 10px;color:var(--muted);font-size:12px;font-weight:600}.task-subjects-title span{padding:0 7px;border-radius:999px;background:var(--soft);font:600 10px/18px var(--mono)}.task-subjects-list{display:grid;grid-template-columns:minmax(0,1fr);gap:2px}.task-subjects-list button{--course: var(--muted);position:relative;display:flex;align-items:center;gap:10px;width:100%;min-width:0;padding:8px 10px;border:1px solid transparent;border-radius:10px;color:var(--text);font-size:12.5px;text-align:left}.task-subjects-list button:hover{background:var(--hover)}.task-subjects-list button.active{background:color-mix(in srgb,var(--course) 16%,var(--surface));border-color:color-mix(in srgb,var(--course) 45%,var(--line))}.task-subjects-list button:first-child.active{--course: var(--accent)}.task-subjects-list .personal{margin-top:9px}.task-subjects-list .personal:before{content:"";position:absolute;top:-6px;left:10px;right:10px;border-top:1px dashed var(--line)}.subject-dot{width:10px;height:10px;flex-shrink:0;border-radius:4px;background:var(--course)}.subject-dot.all{border-radius:50%;background:conic-gradient(var(--amber),var(--sage),var(--aqua),var(--accent),var(--amber))}.subject-dot.personal{border:1.5px dashed var(--muted);border-radius:50%;background:transparent}.subject-name{flex:1;min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;line-height:1.35}.subject-count{color:var(--muted);font:600 10px/1 var(--mono)}.task-subjects-empty{margin:8px 8px 0;color:var(--muted);font-size:12px}.task-filters{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}.task-filters button{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:11.5px}.task-filters button:hover{color:var(--text);background:var(--hover)}.task-filters button.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.task-groups{display:grid;gap:18px}.task-course{--course: var(--accent);position:relative;overflow:hidden;padding:8px 22px 10px;border-radius:16px}.task-course:has(>.task-course-head){padding-top:0}.task-course:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--course);opacity:.85}.task-course-head{display:flex;align-items:center;gap:12px;margin:0 -22px;padding:18px 22px 14px;border-bottom:1px solid var(--line-soft);background:linear-gradient(color-mix(in srgb,var(--course) 13%,transparent),transparent)}.task-course-head .course-dot{width:12px;height:12px;border-radius:4px;background:var(--course)}.task-course-head>div{flex:1;min-width:0}.task-course-head h2{margin:0;font-size:15px;font-weight:600}.task-course-head p{margin:2px 0 0;color:var(--muted);font-size:11.5px}.task-course-short{flex-shrink:0;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--course) 20%,transparent);font:600 10px/1.6 var(--mono)}.task-category+.task-category{border-top:1px dashed var(--line)}.task-category-head{display:flex;align-items:center;justify-content:space-between;padding:14px 0 2px}.task-category-head h3{display:flex;align-items:center;gap:8px;margin:0;color:var(--muted);font-size:12px;font-weight:600}.task-category-head h3 span{padding:0 7px;border-radius:999px;background:var(--soft);font:600 10px/18px var(--mono)}.task-category-head .text-button{display:inline-flex;align-items:center;gap:4px;font-size:12px}.task-course-empty{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:14px 0 6px;padding:14px 16px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:12px}.task-course-empty p{margin:0}.task-course-empty .text-button{display:inline-flex;align-items:center;gap:4px;font-size:12px}.task-groups .task-row{gap:14px;min-height:58px;padding:9px 0}.task-groups .task-check{width:20px;height:20px;border-radius:7px;border-color:color-mix(in srgb,var(--course) 65%,var(--muted))}.task-groups .task-check:hover{background:color-mix(in srgb,var(--course) 18%,transparent)}.task-groups .task-check.checked{background:var(--accent);border-color:var(--accent)}.task-groups .task-title{font-size:13.5px}.task-groups .deadline{padding:4px 10px;border-radius:999px;background:var(--soft);color:var(--muted);font:500 11px/1.4 var(--sans)}.task-groups .due-soon{background:color-mix(in srgb,var(--amber) 24%,transparent);color:var(--text)}.task-groups .due-near{background:color-mix(in srgb,var(--aqua) 20%,transparent);color:var(--text)}.task-groups .due-overdue{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger)}.task-groups .due-none,.task-groups .due-done{padding-inline:0;background:transparent}@media(hover:hover){.task-groups .quiet-action{opacity:0;transition:opacity .18s ease}.task-groups .task-row:hover .quiet-action,.task-groups .task-row:focus-within .quiet-action{opacity:1}}@media(max-width:1050px){.task-board{grid-template-columns:minmax(0,1fr);gap:14px}.task-subjects{position:static;padding:12px 10px 10px}.task-subjects-list{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.task-subjects-list button{flex:none;width:auto;padding:6px 12px;border-color:var(--line);border-radius:999px}.subject-name{max-width:200px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-subjects-list .personal{margin-top:0}.task-subjects-list .personal:before{display:none}}@media(max-width:760px){.task-summary{margin-top:-10px}.task-course{padding:8px 14px}.task-course-head{margin:0 -14px;padding:16px 14px 12px}.task-groups .task-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"check main actions" "check due actions";align-items:center;gap:6px 12px}.task-groups .task-check{grid-area:check}.task-groups .task-main{grid-area:main}.task-groups .deadline{grid-area:due;justify-self:start;font-size:10.5px}.task-groups .row-actions{grid-area:actions;flex-direction:row}.task-groups .quiet-action{display:none}}.grade-category{margin-top:18px;padding:0 22px 12px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.grade-category-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 0 14px;border-bottom:1px solid var(--line-soft)}.grade-category-head h3{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;font-size:15px;font-weight:600}.grade-category-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.from-tasks{padding:1px 8px;border-radius:999px;background:var(--soft);color:var(--muted);font:600 10px/18px var(--mono)}.grade-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.grade-actions .icon-button{width:30px;height:30px}.grade-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto 160px;grid-template-areas:"mark title points actions";align-items:center;gap:8px 14px;padding:10px 0;border-bottom:1px solid var(--line-soft)}.grade-mark{grid-area:mark;display:flex}.grade-mark svg{color:var(--sage)}.ungraded-dot{width:17px;height:17px;border:1px dashed var(--muted);border-radius:50%}.grade-title{grid-area:title;font-size:13.5px;overflow-wrap:anywhere}.grade-points{grid-area:points;display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.grade-points input{width:64px;padding:7px 6px;border-radius:10px;font-family:var(--mono);text-align:center}.grade-points input+span+input{border-style:dashed;background:transparent;color:var(--muted)}.grade-points input+span+input:focus{border-style:solid;color:var(--text)}.graded .grade-points input:first-child{border-color:color-mix(in srgb,var(--sage) 60%,var(--line))}.grade-row .grade-actions{grid-area:actions}.grade-save{padding:6px 12px;font-size:12px}.grade-save[hidden]{display:none}.grade-row .error{grid-column:1 / -1;margin:0}@media(hover:hover){.grade-row .quiet-action{opacity:0;transition:opacity .18s ease}.grade-row:hover .quiet-action,.grade-row:focus-within .quiet-action{opacity:1}}.grade-add{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:12px;padding:9px 12px;border:1px dashed var(--line);border-radius:11px;color:var(--muted);font-size:12px}.grade-add:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}@media(max-width:760px){.grade-category{padding:0 14px 10px}.grade-row{grid-template-columns:22px minmax(0,1fr) auto;grid-template-areas:"mark title actions" ". points points"}.grade-row .grade-actions{min-width:0}}:root{--ease-settle: cubic-bezier(.22, .86, .28, 1);--ease-spring: cubic-bezier(.3, 1.5, .5, 1);--dur-quick: .18s;--dur-settle: .46s;--dur-calm: .9s}.course-card,.focus-card,.daily-stats>div,.note-card,.task-list,.grade-category,.journey-notice{transition:transform var(--dur-quick) var(--ease-settle),box-shadow var(--dur-quick) var(--ease-settle),border-color var(--dur-quick) var(--ease-settle)}.progress-track span{transition:width var(--dur-calm) var(--ease-settle)}.task-check{position:relative;transition:background var(--dur-quick),border-color var(--dur-quick),transform .12s var(--ease-settle)}.button,.text-button,.icon-button{transition:transform .12s var(--ease-settle),background var(--dur-quick),color var(--dur-quick),box-shadow var(--dur-quick)}@media(prefers-reduced-motion:no-preference){html:not([data-motion=paused]) .page-arrival.settled{animation:sheet-land var(--dur-settle) var(--ease-settle) both}html:not([data-motion=paused]) .page-arrival.settled>*{animation:content-unfold .52s var(--ease-settle) backwards}html:not([data-motion=paused]) .page-arrival.settled>:nth-child(1){animation-delay:90ms}html:not([data-motion=paused]) .page-arrival.settled>:nth-child(2){animation-delay:.16s}html:not([data-motion=paused]) .page-arrival.settled>:nth-child(3){animation-delay:.23s}html:not([data-motion=paused]) .page-arrival.settled>:nth-child(n+4){animation-delay:.3s}html:not([data-motion=paused]) .task-row{animation:row-arrive .38s var(--ease-settle) backwards;animation-delay:calc(min(var(--row, 0),9)*45ms)}html:not([data-motion=paused]) .task-category,html:not([data-motion=paused]) .grade-category,html:not([data-motion=paused]) .course-card{animation:content-unfold .46s var(--ease-settle) backwards}html:not([data-motion=paused]) body:before{animation:lamp-breathe 18s ease-in-out infinite}html:not([data-motion=paused]) .companion{display:inline-block;transform-origin:50% 100%;animation:cat-breathe 4.6s ease-in-out infinite}html:not([data-motion=paused]) .focus-art .companion{animation-duration:5.4s}html:not([data-motion=paused]) .orbit-spark{animation:spark-drift 7s ease-in-out infinite}html:not([data-motion=paused]) .task-check.just-toggled{animation:check-pop .46s var(--ease-spring)}html:not([data-motion=paused]) .task-check.just-toggled:after{content:"";position:absolute;width:19px;height:19px;border-radius:7px;border:2px solid var(--accent);animation:check-ring .62s var(--ease-settle) forwards;pointer-events:none}html:not([data-motion=paused]) .notification-count{animation:count-pop .42s var(--ease-spring)}html:not([data-motion=paused]) .notebook-tab.active:before{animation:tab-cat-hop .52s var(--ease-spring)}html:not([data-motion=paused]) .live-dot{animation-duration:2.8s}html:not([data-motion=paused]) .dialog[open]{animation:paper-drop .34s var(--ease-settle)}html:not([data-motion=paused]) .dialog[open]::backdrop{animation:backdrop-settle .34s ease-out}html:not([data-motion=paused]) .toast{animation:toast-rise .52s var(--ease-spring)}html:not([data-motion=paused]) .journey-notice[data-visible=true]{animation:notice-rise .48s var(--ease-spring) both}html:not([data-motion=paused]) .course-card:hover,html:not([data-motion=paused]) .focus-card:hover,html:not([data-motion=paused]) .daily-stats>div:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}html:not([data-motion=paused]) .button:active,html:not([data-motion=paused]) .icon-button:active,html:not([data-motion=paused]) .task-check:active{transform:scale(.94)}}@keyframes sheet-land{0%{opacity:0;transform:perspective(1200px) translateY(14px) rotateX(2.2deg)}to{opacity:1;transform:perspective(1200px) translateY(0) rotateX(0)}}@keyframes content-unfold{0%{opacity:0;transform:translateY(12px)}}@keyframes row-arrive{0%{opacity:0;transform:translateY(8px)}}@keyframes lamp-breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.82;transform:scale(1.04)}}@keyframes cat-breathe{0%,to{transform:scaleY(1) translateY(0)}50%{transform:scaleY(1.035) translateY(-1px)}}@keyframes spark-drift{0%,to{transform:translateY(0) rotate(0);opacity:.75}50%{transform:translateY(-6px) rotate(14deg);opacity:1}}@keyframes check-pop{40%{transform:scale(1.3)}70%{transform:scale(.94)}}@keyframes check-ring{0%{transform:scale(1);opacity:.8}to{transform:scale(2.4);opacity:0}}@keyframes count-pop{0%{transform:scale(.4);opacity:0}}@keyframes tab-cat-hop{35%{transform:translateY(-5px) scaleY(1.18)}70%{transform:translateY(1px) scaleY(.9)}}@keyframes paper-drop{0%{opacity:0;transform:translateY(20px) scale(.96) rotate(-.7deg)}}@keyframes backdrop-settle{0%{opacity:0}}@keyframes notice-rise{0%{opacity:0;transform:translateY(18px)}}@keyframes toast-rise{0%{opacity:0;transform:translate(-50%,26px)}}
