@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+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@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+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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;--lightningcss-light:initial;--lightningcss-dark: ;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;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{--grid-color:#92734808;min-width:320px;margin:0}body:before{content:"";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));position:fixed;inset:0}body:after{content:"";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;position:fixed;inset:0}#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;background:0 0;border:0}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{letter-spacing:-.045em;font-size:clamp(30px,3.2vw,46px);font-weight:650;line-height:1.18}h2{letter-spacing:-.025em;font-size:19px;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{white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:40px;padding:11px 17px;font-size:12px;font-weight:600;display:inline-flex}.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;color:var(--muted);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.text-button{color:var(--accent);align-items:center;gap:6px;padding:4px 0;font-size:12px;font-weight:500;display:inline-flex}.text-button:hover{text-underline-offset:4px;text-decoration:underline}.inline-actions{align-items:center;gap:12px;display:flex}.window-dots{flex-shrink:0;align-items:center;gap:5px;display:inline-flex}.window-dots i{background:var(--amber);opacity:.75;border-radius:50%;width:7px;height:7px}.window-dots i:nth-child(2){background:#dfb770}.window-dots i:nth-child(3){background:var(--sage)}.habitat-dot,.live-dot{background:var(--amber);width:6px;height:6px;box-shadow:0 0 0 4px rgba(var(--glow), .1);border-radius:50%;flex-shrink:0;display:inline-block}.companion{font:18px/1.28 var(--mono);letter-spacing:0;color:var(--accent);-webkit-user-select:none;user-select:none;margin:0}.app-shell{min-height:100vh}.brand{letter-spacing:-.04em;white-space:nowrap;align-items:center;gap:8px;font-size:21px;font-weight:600;display:flex}.brand-icon{-webkit-user-select:none;user-select:none;flex-shrink:0;width:48px;height:48px;display:block}.brand-product{color:var(--accent);font-size:17px;font-weight:450}kbd{font:9px var(--mono)}.add-wrapper{position:relative}.add-menu{background:var(--surface);border:1px solid var(--line);width:185px;box-shadow:var(--shadow-lift);z-index:40;border-radius:12px;padding:6px;position:absolute;top:calc(100% + 10px);right:0}.add-menu button{text-align:left;border-radius:7px;justify-content:space-between;align-items:center;width:100%;padding:10px;font-size:12px;display:flex}.add-menu button:hover{background:var(--soft)}.notification-button{position:relative}.notification-count{min-width:16px;height:16px;box-shadow:0 0 0 2px var(--bg);background:var(--amber);color:#fff;font:600 9px/1 var(--mono);pointer-events:none;border-radius:8px;place-items:center;padding:0 4px;display:grid;position:absolute;top:1px;right:0}main{max-width:1460px;margin:0 auto;padding:42px 36px 0}.page-head{justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px;display:flex}.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{margin-top:12px;font-size:13px}.today-label{white-space:nowrap;color:var(--accent);font:10px var(--mono);border:1px solid var(--line);background:var(--surface);border-radius:30px;align-items:center;gap:8px;padding:9px 12px;display:flex}.page-footer{border-top:1px dashed var(--line);color:var(--muted);font:9px/1.7 var(--mono);justify-content:space-between;gap:24px;margin-top:38px;padding:24px 0;display:flex}.footer-dot{color:var(--amber);margin-left:8px}.home-grid{grid-template-columns:minmax(0,1fr) 290px;gap:26px;display:grid}.home-main{min-width:0}.focus-card{border:1px solid var(--line);background:radial-gradient(ellipse at 100% 85%, rgba(var(--glow), .16), transparent 62%), var(--surface);box-shadow:var(--shadow);border-radius:16px;position:relative;overflow:hidden}.focus-top{z-index:1;border-bottom:1px solid var(--line-soft);font:9px var(--mono);color:var(--muted);align-items:center;gap:16px;padding:14px 20px;display:flex;position:relative}.focus-top>.live-dot{margin-left:auto}.focus-content{z-index:1;min-height:230px;padding:27px 180px 27px 27px;position:relative}.focus-kicker{font:10px/1.6 var(--mono);color:var(--accent);margin-bottom:11px}.focus-card h2{letter-spacing:-.035em;font-size:27px;font-weight:600;line-height:1.25}.focus-reason{color:var(--muted);margin-top:12px;font-size:12px}.focus-bottom{flex-wrap:wrap;align-items:center;gap:15px;margin-top:24px;display:flex}.focus-bottom>span{color:var(--muted);font:10px var(--mono);align-items:center;gap:6px;display:flex}.focus-art{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:18px;width:146px;display:flex;position:absolute;top:80px;bottom:20px;right:18px}.focus-art:before{content:"";border:1px dashed color-mix(in srgb, var(--amber) 22%, transparent);border-radius:50%;width:155px;height:155px;position:absolute}.focus-art .companion{font-size:27px;animation:7s ease-in-out infinite drift}.orbit-spark{color:var(--amber);font:23px var(--mono);position:absolute;top:0;right:10px}.companion-caption{font:8px var(--mono);color:var(--muted)}.daily-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0 28px;display:grid}.daily-stats>div{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:22px auto;align-items:center;gap:3px 9px;padding:16px 13px;display:grid}.daily-stats svg{color:var(--amber)}.daily-stats strong{font:25px var(--mono);letter-spacing:-.07em}.daily-stats span{color:var(--muted);grid-column:1/-1;margin-top:4px;font-size:10px}.section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.section-head h2{font-size:16px}.section-head>.small{font-size:10px}.home-tasks{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;margin:0 0 28px;padding:22px}.task-wrap{border-bottom:1px solid var(--line-soft)}.task-wrap:last-child{border:0}.task-row{align-items:center;gap:12px;min-height:81px;padding:10px 0;display:flex}.task-check{border:1px solid var(--muted);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:19px;height:19px;padding:0;display:flex}.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{text-align:left;overflow-wrap:anywhere;padding:0;font-size:13px;font-weight:500;line-height:1.5}.task-title:hover{color:var(--accent)}.task-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:10px;display:flex}.course-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.status-tag{background:var(--amber-soft);color:var(--accent);border-radius:4px;padding:2px 6px;font-size:9px}.deadline{font:10px/1.6 var(--mono);color:var(--muted);white-space:nowrap}.overdue{color:var(--danger)}.row-actions{gap:2px;display:flex}.row-actions .icon-button{width:28px;height:30px}.dropdown-wrap{align-items:center;display:inline-flex;position:relative}.dropdown-menu{z-index:120;background:var(--surface);border:1px solid var(--line);min-width:185px;box-shadow:var(--shadow-lift);transform-origin:100% 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:13px;flex-direction:column;gap:2px;padding:5px;animation:.2s cubic-bezier(.16,1,.3,1) both dropdown-pop;display:flex;position:absolute;top:calc(100% + 5px);right:0}.dropdown-menu.align-left{transform-origin:0 0;left:0;right:auto}@keyframes dropdown-pop{0%{opacity:0;transform:translateY(-6px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}.dropdown-item{width:100%;font:13px/1.4 var(--sans);color:var(--text);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;padding:7px 11px;transition:background .12s,color .12s,transform .12s;display:flex}.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{opacity:.85;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dropdown-item:hover .dropdown-item-icon,.dropdown-item.highlighted .dropdown-item-icon{opacity:1}.dropdown-item-label{flex:1}.dropdown-item-badge{font:11px/1.2 var(--mono);background:var(--soft);color:var(--muted);border-radius:5px;margin-left:auto;padding:2px 6px}.dropdown-divider{background:var(--line-soft);height:1px;margin:4px 5px}.dropdown-wrap.full-width{width:100%;display:flex}.select-dropdown-trigger{color:var(--text);background:var(--surface);border:1px solid var(--line);cursor:pointer;min-height:40px;box-shadow:var(--shadow);-webkit-user-select:none;user-select:none;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:12px;transition:border-color .15s,box-shadow .15s,background .15s;display:inline-flex}.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);flex-shrink:0;margin-left:auto;transition:transform .2s}.select-dropdown-trigger[aria-expanded=true] .trigger-icon{transform:rotate(180deg)}.select-dropdown-content{align-items:center;gap:8px;min-width:0;display:inline-flex;overflow:hidden}.select-dropdown-value{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400;overflow:hidden}.dropdown-menu.dropup{transform-origin:100% 100%;animation:.2s cubic-bezier(.16,1,.3,1) both dropdown-pop-up;top:auto;bottom:calc(100% + 5px)}.dropdown-menu.dropup.align-left{transform-origin:0 100%;left:0;right:auto}.dropdown-menu.full-width.dropup{transform-origin:bottom}@keyframes dropdown-pop-up{0%{opacity:0;transform:translateY(6px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}.dropdown-menu.select-menu{overscroll-behavior:contain;z-index:250;scrollbar-width:thin;scrollbar-color:var(--line) transparent;max-height:250px;top:calc(100% + 4px);overflow-y:auto}.dropdown-menu.select-menu.dropup{top:auto;bottom:calc(100% + 4px)}.dropdown-menu.full-width{transform-origin:top;width:100%;min-width:100%;left:0;right:0}.priority-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.priority-dot.priority-0{background:var(--sage)}.priority-dot.priority-1{background:var(--amber)}.priority-dot.priority-2{background:var(--danger)}.completed .task-title{color:var(--muted);text-decoration:line-through}.task-list{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;padding:6px 23px}.load-chart{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:repeat(7,1fr);gap:10px;padding:22px 18px 18px;display:grid}.load-chart>div{text-align:center}.load-value{font:9px var(--mono);color:var(--muted)}.bar-space{border-bottom:1px solid var(--line);justify-content:center;align-items:flex-end;height:94px;margin-bottom:11px;padding-bottom:1px;display:flex}.bar-space div{background:color-mix(in srgb, var(--amber) 25%, var(--surface));border-radius:5px 5px 0 0;width:60%}.current .bar-space div{background:var(--amber)}.load-chart strong{font:11px var(--mono)}.load-chart small{font:9px var(--mono);color:var(--muted);margin-top:5px;display:block}.chart-note{color:var(--muted);margin-top:12px;font-size:10px}.home-aside{min-width:0}.home-aside>section{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;padding:22px 18px}.home-aside .section-head h2{font-size:15px}.agenda-row{gap:12px;margin-bottom:22px;display:flex}.agenda-row:last-child{margin-bottom:0}.agenda-time{font:11px var(--mono);white-space:nowrap;padding-top:5px}.agenda-time small{color:var(--muted);margin-top:6px;font-size:9px;display:block}.agenda-detail{text-align:left;border-left:2px solid;padding:3px 0 3px 12px}.agenda-detail>span,.agenda-detail small{color:var(--muted);font-size:9px}.agenda-detail h3{margin:6px 0;font-size:12px;line-height:1.6}.agenda-detail p{color:var(--muted);align-items:center;gap:4px;font-size:10px;display:flex}.free-day{text-align:center;color:var(--accent);padding:24px 8px}.free-day h3{margin:12px 0 7px}.free-day p{color:var(--muted);font-size:11px}.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{letter-spacing:-.04em;margin:15px 0;font-size:24px;font-weight:500;line-height:1.25}.semester-note p{color:var(--muted);font-size:10px;line-height:1.8}.semester-note .text-button{margin-top:15px;font-size:10px}.home-grade{font:10px var(--mono);flex-wrap:wrap;justify-content:space-between;margin:16px 0;display:flex}.home-grade .progress-track{width:100%;height:4px;margin:8px 0 0}.course-shortcuts button{text-align:left;border-bottom:1px solid var(--line-soft);align-items:center;gap:9px;width:100%;padding:12px 0;font-size:12px;display:flex}.course-shortcuts button:last-child{border:0}.course-shortcuts button:hover{color:var(--accent)}.course-shortcuts .muted{font:9px var(--mono);margin-left:auto}.course-shortcuts svg{color:var(--muted)}.tabs{border-bottom:1px solid var(--line);gap:5px;margin:0 0 25px;padding-bottom:8px;display:flex;overflow-x:auto}.tabs button{white-space:nowrap;color:var(--muted);border:1px solid #0000;border-radius:8px;padding:9px 15px;font-size:12px}.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);border:1px solid var(--line);border-radius:10px;margin:0;padding:4px}.tabs.compact button{border:0;border-radius:7px;padding:6px 12px}.courses-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.course-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:15px;flex-direction:column;padding:25px;display:flex;position:relative}.course-card:hover{border-color:var(--amber);box-shadow:var(--shadow-lift);transform:translateY(-4px)}.course-card-top{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.course-mark{border:1px solid color-mix(in srgb, currentColor 20%, transparent);border-radius:16px;place-items:center;width:52px;height:52px;display:grid}.course-card .eyebrow{font-size:9px}.course-card h2{flex:1;margin:10px 0 22px;font-size:21px;line-height:1.35}.course-card p{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.course-card-footer{border-top:1px dashed var(--line);font:9px var(--mono);color:var(--muted);justify-content:space-between;margin-top:24px;padding-top:18px;display:flex}.breadcrumb{font:11px var(--mono);color:var(--accent);margin-bottom:25px;display:block}.course-overview{grid-template-columns:2fr 1fr;gap:28px;margin:30px 0 40px;display:grid}.course-overview>div:first-child{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:25px}.course-overview h2{margin-bottom:15px}.course-overview .inline-actions{flex-wrap:wrap;margin-top:25px}.course-settings-note{background:var(--amber-soft);border:1px solid var(--line);border-radius:14px;padding:25px}.course-settings-note h3{margin:12px 0 8px}.course-settings-note p{color:var(--muted);margin-bottom:12px;font-size:12px}.course-resources{grid-template-columns:1fr 1fr;gap:35px;display:grid}.resource-link{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:18px 0;font-size:12px;display:flex}.course-select{max-width:450px;margin-bottom:28px}.progress-overview{margin:15px 0 35px}.progress-overview>div:first-child{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:15px;padding:27px}.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{background:var(--line);border-radius:6px;height:6px;margin:18px 0;overflow:hidden}.progress-track span{background:var(--sage);height:100%;display:block}.progress-overview .muted{font-size:12px}.notes-layout{background:var(--surface);border:1px solid var(--line);min-height:550px;box-shadow:var(--shadow);border-radius:15px;grid-template-columns:245px 1fr;display:grid;overflow:hidden}.notes-layout>aside{border-right:1px solid var(--line);background:var(--ivory);padding:12px}.notes-layout>aside button{text-align:left;overflow-wrap:anywhere;border:1px solid #0000;border-radius:9px;gap:10px;width:100%;padding:16px 12px;font-size:12px;line-height:1.6;display:flex}.notes-layout>aside button.active{background:var(--amber-soft);border-color:var(--line)}.notes-layout>aside button svg{color:var(--accent);flex-shrink:0;margin-top:3px}.notes-layout>aside small{color:var(--muted);margin-top:6px;font-size:10px;line-height:1.6;display:block}.note-editor{min-width:0;padding:28px}.note-editor .section-head{border-bottom:1px dashed var(--line);flex-wrap:wrap;padding-bottom:18px}.note-title{letter-spacing:-.035em;background:0 0;border:0;padding:12px 0;font-size:27px;font-weight:600}.note-body{cursor:text;outline:none;min-height:360px;padding:15px 0 40px}.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{overflow-wrap:anywhere;padding-top:20px;line-height:1.9}.markdown :is(h1,h2,h3,h4){margin:22px 0 10px;line-height:1.35}.markdown h1{letter-spacing:-.03em;font-size:23px}.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{border-left:3px solid var(--amber);color:var(--muted);margin:12px 0;padding:2px 0 2px 16px}.markdown hr{border:0;border-top:1px dashed var(--line);margin:22px 0}.markdown :not(pre)>code{background:var(--soft);border-radius:5px;padding:1px 5px;font-size:.92em}.markdown p{margin:10px 0}.markdown a{color:var(--accent);text-decoration:underline}.markdown pre{background:var(--soft);border-radius:8px;max-width:100%;padding:15px;overflow:auto}.markdown code{font-family:var(--mono)}.markdown img{max-width:100%}.settings-form{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));align-items:start;gap:16px;max-width:900px;display:grid}.settings-form>.settings-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:20px 22px 16px}.settings-form>.error{grid-column:1/-1}.settings-form h2{margin-bottom:14px;font-size:16px}.settings-profile{align-items:flex-start;gap:16px;display:flex}.settings-profile-fields{flex:1;min-width:0}.settings-profile-fields .field{margin-bottom:6px}.settings-profile-fields .muted{text-overflow:ellipsis;margin:0;overflow:hidden}.settings-photo-actions{gap:16px;margin-top:10px;display:flex}.settings-card .form-grid .field{margin-bottom:12px}.settings-card .checkbox-label{margin:2px 0 4px}.calendar-link{gap:8px;margin:10px 0 2px;display:flex}.calendar-link input{min-width:0;font:12px var(--mono);flex:1}.campus-avatar{border:1px solid var(--line);background:var(--surface);color:var(--accent);font-family:var(--mono);-webkit-user-select:none;user-select:none;box-shadow:var(--shadow);border-radius:14px;flex-shrink:0;place-items:center;font-weight:500;transition:transform .15s,box-shadow .15s,border-color .15s;display:inline-grid;overflow:hidden}.campus-avatar .avatar-img{object-fit:cover;width:100%;height:100%;display:block}.campus-avatar .avatar-letter{line-height:1}.live-status-pill{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);font:11px/1.4 var(--mono);color:var(--muted);border-radius:20px;align-items:center;gap:8px;padding:6px 14px;transition:all .2s;display:inline-flex}.live-status-saving{color:var(--amber);align-items:center;gap:7px;display:inline-flex}.live-pulse-dot{background:var(--amber);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite alternate pulse-dot}@keyframes pulse-dot{0%{opacity:.5;transform:scale(.8)}to{opacity:1;transform:scale(1.2)}}.live-status-saved{color:var(--sage);align-items:center;gap:6px;font-weight:500;display:inline-flex}.live-status-saved svg{color:var(--sage)}.live-status-error{color:var(--danger)}.field{color:var(--muted);flex-direction:column;gap:8px;margin-bottom:18px;font-size:12px;display:flex}.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;width:100%;max-width:100%;padding:11px 12px;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]{max-width:100px;height:40px;padding:4px}.form-grid{grid-template-columns:1fr 1fr;gap:0 17px;display:grid}.date-grid{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:repeat(7,1fr);gap:3px;max-width:340px;padding:10px;display:grid}.date-grid-head{grid-column:1/-1;justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.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;font:12px var(--mono);border-radius:8px}.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{flex-wrap:wrap;gap:6px;margin:2px 0 0;padding:0;list-style:none;display:flex}.date-chips li{border:1px solid var(--line);background:var(--soft);font:11px var(--mono);border-radius:999px;align-items:center;gap:4px;padding:3px 4px 3px 10px;display:inline-flex}.date-chips button{width:20px;height:20px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.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{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:24px;display:flex}.checkbox-label{align-items:center;gap:10px;margin:15px 0;font-size:12px;display:flex}.hint{color:var(--muted);margin:12px 0 18px;font-size:11px;line-height:1.7}.dialog{border:1px solid var(--line);background:var(--surface);color:var(--text);width:min(560px,100vw - 28px);max-height:90dvh;box-shadow:var(--shadow-lift);border-radius:17px;padding:25px;overflow:auto}.dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#2b241f55}.dialog-head{background:var(--ivory);border-bottom:1px solid var(--line);align-items:center;gap:14px;margin:-25px -25px 25px;padding:14px 20px;display:flex}.dialog-head h2{flex:1;font-size:15px}.dialog.wide{width:min(800px,100vw - 28px)}.dialog>h3{margin:25px 0 15px}.error{color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent);border:1px solid color-mix(in srgb, var(--danger) 20%, transparent);border-radius:9px;margin:12px 0;padding:12px 14px;font-size:12px}.empty{text-align:center;min-height:250px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:35px;display:flex}.empty .companion{margin-bottom:22px}.empty h3{color:var(--text);margin-bottom:10px;font-size:18px}.empty p{max-width:420px;font-size:12px}.empty .button{margin-top:20px}.toast{background:var(--button-bg);color:var(--button-text);z-index:60;box-shadow:var(--shadow-lift);border-radius:12px;align-items:center;gap:20px;max-width:90vw;padding:15px 20px;font-size:12px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%)}.toast button{color:inherit;white-space:nowrap;font-size:11px;text-decoration:underline}.command-search{background:var(--soft);border:1px solid var(--line);color:var(--muted);border-radius:10px;align-items:center;gap:12px;padding:3px 12px;display:flex}.command-search input{background:0 0;border:0;padding:13px 0;font-size:13px}.command-results{margin:15px 0}.command-results button{text-align:left;border-radius:9px;align-items:center;gap:12px;width:100%;padding:14px 10px;font-size:12px;display:flex}.command-results button:hover,.command-results button:focus{background:var(--amber-soft)}.command-results button>svg:last-child{color:var(--muted);margin-left:auto}.notification-item{text-align:left;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:100%;padding:15px 0;font-size:12px;display:flex}.notification-item small{color:var(--muted);margin-top:6px;display:block}.skip-link{background:var(--button-bg);color:var(--button-text);z-index:100;border-radius:8px;padding:12px;position:fixed;top:-70px;left:20px}.skip-link:focus{top:10px}.auth-page{grid-template-columns:1.15fr 1fr;max-width:1500px;min-height:100vh;margin:auto;display:grid}.auth-story{flex-direction:column;justify-content:space-between;min-height:100vh;padding:48px 65px 30px;display:flex}.auth-story>div{margin:70px 0 30px}.auth-story .eyebrow{align-items:center;gap:12px;font-size:10px;display:flex}.auth-story h1{letter-spacing:-.055em;margin:25px 0;font-size:clamp(50px,5.3vw,78px);font-weight:650;line-height:1.05}.auth-story em{color:var(--display-accent);font-style:normal}.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{background:radial-gradient(ellipse, rgba(var(--glow), .12), transparent 65%);place-items:center;height:235px;margin-top:22px;display:grid;position:relative}.auth-preview .companion{color:var(--amber);font-size:38px;animation:8s ease-in-out infinite drift}.habitat-orbit{font:10px var(--mono);color:var(--muted);position:absolute}.orbit-one{color:var(--accent);top:25%;left:5%;transform:rotate(-8deg)}.orbit-two{color:var(--accent);top:12%;right:0;transform:rotate(6deg)}.orbit-three{bottom:10px;left:30%}.auth-form{justify-content:center;align-items:center;padding:50px 50px 50px 20px;display:flex}.auth-form>div{border:1px solid var(--line);background:var(--surface);width:450px;box-shadow:var(--shadow-lift);border-radius:17px;padding:35px;overflow:hidden}.auth-window-bar{background:var(--ivory);border-bottom:1px solid var(--line);font:9px var(--mono);color:var(--muted);align-items:center;gap:18px;margin:-35px -35px 32px;padding:17px 20px;display:flex}.pill{font:9px var(--mono);background:var(--amber-soft);color:var(--accent);border-radius:20px;padding:7px 10px;display:inline-block}.auth-form h2{letter-spacing:-.045em;margin:20px 0 10px;font-size:30px;font-weight:600}.auth-form .muted{font-size:12px}.auth-form form{margin-top:28px}.auth-form .button{margin-top:8px}.auth-toggle{text-align:center;color:var(--muted);margin-top:24px;font-size:11px}.auth-toggle button{margin-left:5px}.auth-toggle a{text-decoration:none}.auth-forgot{margin:-8px 0 16px auto;font-size:11px;display:block}.auth-note{margin-top:24px;font-size:13px;line-height:1.55}.auth-form .field{margin-bottom:20px}.auth-form input{padding:13px}.auth-form small{margin:-5px 0 16px;display:block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes drift{50%{transform:translateY(-5px)}}@media (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 (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 (width<=1050px){.home-grid{grid-template-columns:1fr}.home-aside{grid-template-columns:1fr 1fr;gap:20px;display:grid}.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 (width<=760px){main{padding:30px 18px 0}.page-head{flex-wrap:wrap;align-items:flex-start;gap:17px;margin-bottom:25px}h1{font-size:32px}.page-head .eyebrow{font-size:9px}.page-head .muted{font-size:12px}.focus-top{gap:12px;padding:13px 16px;font-size:8px}.focus-content{min-height:230px;padding:24px 100px 24px 20px}.focus-card h2{font-size:25px}.focus-art{width:83px;top:64px;right:8px}.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{gap:3px;padding:13px 10px}.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{white-space:normal;max-width:68px}.home-aside{display:block}.home-aside>section,.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{flex-wrap:wrap;gap:8px;font-size:8px}.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{flex-wrap:wrap;gap:9px}.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{gap:12px;width:max-content;padding:14px;font-size:11px;bottom:15px}.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{margin:17px 0;font-size:48px}.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{flex-direction:column;gap:9px;font-size:8px}.load-chart{gap:5px;padding:18px 12px}.load-value{font-size:8px}}@media (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{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.tabs.compact.class-repeat{width:max-content;max-width:100%}.class-other-time{border:1px dashed var(--line);background:var(--soft);border-radius:12px;gap:12px;padding:14px;display:grid}.class-other-time-head{justify-content:space-between;align-items:center;font-size:12px;display:flex}.class-other-add{padding-left:0}.focus-class-info{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.focus-class-info>span{align-items:center;gap:5px;display:inline-flex}.focus-class-kind{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);border-radius:999px;padding:3px 10px}a.focus-button{text-decoration:none}.roulette{text-align:center;justify-items:center;gap:12px;display:grid}.roulette-cat{color:var(--accent);margin:0;font-size:18px}.roulette.is-rolling .roulette-cat{animation:.3s steps(2,end) infinite roulette-wobble}@keyframes roulette-wobble{50%{transform:rotate(-4deg)}}.roulette-verdict{color:var(--muted);font:11px var(--mono);margin:0}.roulette-window{border:1px dashed var(--line);background:var(--soft);border-radius:14px;align-content:center;gap:6px;width:100%;min-height:86px;padding:16px 20px;display:grid}.roulette-window strong{font-size:20px;font-weight:600}.roulette.is-rolling .roulette-window strong{opacity:.6;filter:blur(.4px)}.roulette-window>span{color:var(--muted);justify-content:center;align-items:center;gap:6px;font-size:12px;display:inline-flex}.roulette .form-actions{justify-content:center;width:100%}@media (prefers-reduced-motion:reduce){.roulette.is-rolling .roulette-cat{animation:none}}.dropdown-menu.select-menu.floating{z-index:300;max-width:calc(100vw - 16px);position:fixed;inset:auto}.dropdown-menu.select-menu.floating.full-width{min-width:0}.archive-prompt{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));background:color-mix(in srgb, var(--accent) 9%, var(--surface));box-shadow:var(--shadow);border-radius:16px;flex-wrap:wrap;align-items:center;gap:14px 18px;margin:-10px 0 26px;padding:16px 20px;display:flex}.archive-prompt-icon{background:color-mix(in srgb, var(--accent) 16%, transparent);width:40px;height:40px;color:var(--accent);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.archive-prompt>div:not(.inline-actions){flex:1;min-width:220px}.archive-prompt strong{font-size:14px;font-weight:600}.archive-prompt p{color:var(--muted);margin:3px 0 0;font-size:12.5px}.archive-prompt .button{align-items:center;gap:7px;display:inline-flex}.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{align-items:center;gap:16px;min-height:64px;padding:0 6px;display:flex}.desk-brand{letter-spacing:-.04em;align-items:center;gap:10px;font-size:18px;font-weight:600;line-height:1.1;display:inline-flex}.desk-brand .brand-icon{width:40px;height:40px}.desk-brand small{color:var(--accent);font:450 12px var(--sans);letter-spacing:0;display:block}.desk-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.account-button{border-radius:12px;place-items:center;display:grid}.account-button .campus-avatar{box-shadow:none;border-radius:12px}.account-button:hover .campus-avatar{border-color:var(--amber)}.semester-chip .dropdown-wrap{display:block}.semester-chip-button,.semester-chip-empty{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:999px;align-items:center;gap:10px;padding:6px 10px 6px 14px;display:flex}.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{line-height:1.25;display:grid}.semester-chip-text strong{white-space:nowrap;font-size:12px;font-weight:600}.semester-chip-text small{color:var(--muted);white-space:nowrap;font-size:10px}.semester-chip-track{background:var(--line);border-radius:4px;width:46px;height:4px;overflow:hidden}.semester-chip-track span{background:var(--amber);height:100%;display:block}.semester-chip-button>svg{color:var(--muted)}.semester-chip-empty{color:var(--accent);padding:9px 14px;font-size:12px;font-weight:500}.notebook-tabs{z-index:2;scrollbar-width:none;align-items:flex-end;gap:5px;padding:18px 20px 0;display:flex;position:relative;overflow-x:auto}.notebook-tabs::-webkit-scrollbar{display:none}.notebook-tab{--tone:var(--tab-amber);--ink:var(--amber);border:1px solid var(--line);background:var(--tone);color:color-mix(in srgb, var(--text) 72%, var(--tone));white-space:nowrap;border-bottom:0;border-radius:13px 13px 0 0;align-items:center;gap:8px;padding:10px 17px 9px;font-size:13px;font-weight:500;transition:transform .22s cubic-bezier(.2,.7,.2,1),background .2s,color .2s;display:inline-flex;position:relative;transform:translateY(6px)}.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{color:var(--text);transform:translateY(2px)}.notebook-tab.active{z-index:1;background:var(--paper);color:var(--text);box-shadow:inset 0 3px 0 var(--ink);margin-bottom:-1px;padding-top:13px;padding-bottom:11px;font-weight:600;transform:none}.notebook-tab.active:before{content:"";background:var(--ink);clip-path:polygon(0 100%,20% 0,40% 100%,60% 100%,80% 0,100% 100%);width:22px;height:8px;position:absolute;top:-7px;left:16px}.notebook-tab-count{background:var(--ink);color:#fff;min-width:20px;font:600 10px/18px var(--mono);text-align:center;border-radius:999px;padding:0 5px}main.notebook-page{border:1px solid var(--line);background:var(--paper);max-width:none;box-shadow:var(--shadow);border-radius:6px 22px 22px;margin:0;padding:40px 40px 0 64px;position:relative}main.notebook-page:before{content:"";border-left:1px solid rgba(var(--glow), .4);border-right:1px solid rgba(var(--glow), .2);pointer-events:none;width:4px;position:absolute;top:0;bottom:0;left:30px}@media (width<=1100px){.notebook-tab{padding:10px 13px 9px}main.notebook-page{padding:34px 26px 0 44px}main.notebook-page:before{left:20px}}@media (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{text-overflow:ellipsis;max-width:118px;overflow:hidden}.desk-actions{gap:8px}.add-button{padding:10px 12px}.notebook-tabs{z-index:30;padding:10px 6px calc(6px + env(safe-area-inset-bottom));background:var(--bg-2);border-top:1px solid var(--line);justify-content:space-between;gap:3px;position:fixed;bottom:0;left:0;right:0}.notebook-tab{border-bottom:1px solid var(--line);border-radius:12px;flex-direction:column;flex:1;gap:3px;min-width:0;padding:8px 2px 6px;font-size:10px;transform:translateY(3px)}.notebook-tab.active{border-bottom:1px solid var(--line);margin-bottom:0;padding:9px 2px 8px}.notebook-tab-label{text-overflow:ellipsis;max-width:100%;overflow:hidden}.notebook-tab-count{min-width:16px;font-size:9px;line-height:15px;position:absolute;top:3px;right:6px}main.notebook-page{min-height:calc(100dvh - 60px - 78px - env(safe-area-inset-bottom));border-bottom:0;border-radius:18px 18px 0 0;padding:26px 18px 0 30px}main.notebook-page:before{left:13px}}:root{--grid-step:46px;--grid-ink:#9273482b}[data-theme=dark]{--grid-ink:#c0b8f214}body:has(.desk-grid){--grid-color:transparent}.desk{z-index:1;position:relative}.desk-backdrop{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.desk-grid{position:absolute;inset:0}.grid-lines{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;position:absolute}.grid-cells{inset:calc(-8 * var(--grid-step));will-change:transform;position:absolute}.grid-cell{width:calc(var(--grid-step) - 1px);height:calc(var(--grid-step) - 1px);opacity:0;position:absolute}:root{--cat-outline:#121014;--cat-fur:#2b292e;--cat-fur-light:#403c45;--cat-pupil:#121014;--cat-shadow:#50371e33}[data-theme=dark]{--cat-outline:#0b0a0c;--cat-fur:#302c48;--cat-fur-light:#48426a;--cat-shadow:#0006}.page-footer{margin-top:60px;position:relative;container-type:inline-size}.footer-cat{pointer-events:none;height:46px;position:absolute;top:-44px;left:0;right:0}.footer-cat-walker{width:64px;height:46px;animation:80s linear infinite cat-route;position:absolute;bottom:0;left:0}.footer-cat svg{display:block}.cat-walking{animation:80s step-end infinite cat-walking}.cat-sitting{opacity:0;animation:80s step-end infinite cat-sitting}.cat-step{animation:.6s step-end infinite cat-step}.cat-step-stride{animation-delay:-.3s}.cat-tail{animation:2.8s step-end infinite cat-step}.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:4.5s step-end infinite cat-blink}@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] *{animation-play-state: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{vertical-align:middle;flex-shrink:0;display:inline-block}.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:.32s cubic-bezier(.2,.7,.2,1) both page-settle}@keyframes page-settle{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.journey-notice{z-index:34;border:1px solid var(--line);background:var(--surface);width:min(415px,100vw - 40px);box-shadow:var(--shadow);pointer-events:none;visibility:hidden;border-radius:18px 18px 5px;align-items:center;gap:16px;padding:18px 20px;display:flex;position:fixed;bottom:26px;right:26px}.journey-notice[data-visible=true]{visibility:visible;animation:.28s ease-out both note-arrive}@keyframes note-arrive{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.journey-art{height:48px;color:var(--accent);background:color-mix(in srgb, var(--amber) 12%, var(--surface));border-radius:15px 18px 14px 20px;flex:0 0 48px;justify-content:center;align-items:center;display:inline-flex;position:relative}.journey-art>svg:last-child{color:var(--sage);transform-origin:bottom;animation:2.3s ease-in-out infinite alternate sprig-breathe;position:absolute;top:-5px;right:-3px}@keyframes sprig-breathe{to{transform:rotate(10deg)}}.journey-copy{gap:5px;display:grid}.journey-copy strong{color:var(--text);font-size:12px;font-weight:500;line-height:1.5}.journey-copy>span{color:var(--muted);font-size:11px;line-height:1.6}.journey-dots{gap:3px;margin-left:auto;display:flex}.journey-dots i{background:var(--accent);border-radius:50%;width:3px;height:3px;animation:1.5s ease-in-out infinite ink-breathe}.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{place-items:center;min-height:40vh;display:grid}.journey-standalone{align-items:center;gap:18px;max-width:440px;padding:24px;display:flex}.journey-paper{border:1px dashed var(--line);background:color-mix(in srgb, var(--surface) 45%, transparent);border-radius:16px;place-self:start stretch;gap:22px;padding:28px;display:grid}.journey-paper i{background:color-mix(in srgb, var(--amber) 13%, transparent);border-radius:8px;width:42%;max-width:360px;height:6px}.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 (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 *{transition:none!important;animation: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:0 0;border-radius:12px}html::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:12px;min-width:40px;min-height:40px}::-webkit-scrollbar-thumb:hover{background-color:var(--scroll-thumb-hover)}::-webkit-scrollbar-thumb:active{background-color:var(--accent)}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-corner{background:var(--bg)}}@media (forced-colors:active){*{scrollbar-color:auto}::-webkit-scrollbar-thumb{background-color:canvastext}html::-webkit-scrollbar-track{background-color:canvas}::-webkit-scrollbar-corner{background-color:canvas}}.planner-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;display:flex}.planner-period{align-items:center;gap:6px;display:flex}.planner-period h2{text-align:center;text-transform:capitalize;min-width:220px;margin:0 6px;font-size:19px;font-weight:600}.planner-period .icon-button{border:1px solid var(--line);background:var(--surface);border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.planner-period .icon-button:hover{background:var(--hover);border-color:var(--accent)}.planner-today{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 14px;font-size:12px}.planner-today:hover{border-color:var(--accent);color:var(--accent)}.planner-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.planner-date{color:var(--muted);align-items:center;display:inline-flex;position:relative}.planner-date input{width:140px;padding:8px 10px;font-size:11px}.planner-summary{border:1px solid var(--line);background:var(--ivory);color:var(--muted);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:0 0 18px;padding:13px 18px;font-size:12px;display:flex}.planner-summary strong{color:var(--text);font-weight:600}.planner-summary .planner-next{align-items:center;gap:7px;margin-left:auto;display:inline-flex}.planner-summary .text-button{font-size:12px}.calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;display:grid}.calendar.day{grid-template-columns:1fr;max-width:720px}.calendar-day{border:1px solid var(--line);background:var(--surface);min-width:0;min-height:250px;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;display:flex}.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{align-items:baseline;gap:8px;padding:14px 15px 10px;display:flex}.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{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent);font:600 9px/16px var(--mono);text-transform:uppercase;border-radius:999px;margin-left:auto;padding:2px 9px}.calendar-day>.day-body{flex:1;align-content:start;gap:8px;padding:0 11px 12px;display:grid}.day-foot{color:var(--muted);font:9px var(--mono);padding:0 15px 12px}.class-card{--tone:var(--course,var(--sage));border:1px solid color-mix(in srgb, var(--tone) 35%, var(--line));border-left:3px solid var(--tone);background:color-mix(in srgb, var(--tone) 10%, var(--surface));text-align:left;border-radius:12px;gap:5px;width:100%;padding:11px 12px 11px 14px;display:grid;position:relative}.class-card:hover{background:color-mix(in srgb, var(--tone) 18%, var(--surface));box-shadow:var(--shadow)}.class-card .when{color:var(--muted);font:10px var(--mono);align-items:center;gap:6px;display:flex}.class-card .title{overflow-wrap:anywhere;font-size:12.5px;font-weight:600;line-height:1.4}.class-card .title,.day-card>strong{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-width:0;height:2.8em;display:-webkit-box;overflow:hidden}.class-card .marks{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:10.5px;display:flex}.class-card .kind-tag{background:color-mix(in srgb, var(--tone) 26%, transparent);color:var(--text);font:600 9px/17px var(--mono);border-radius:999px;padding:1px 8px}.class-card .room{align-items:center;gap:4px;display:inline-flex}.class-card.is-now{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.class-card .now-mark{background:var(--accent);color:var(--button-text);font:600 9px/16px var(--mono);text-transform:uppercase;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;display:inline-flex;position:absolute;top:-9px;right:10px}.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{border:1px solid var(--line);text-align:left;border-radius:12px;gap:4px;width:100%;padding:10px 12px;font-size:12px;display:grid}.day-card small{color:var(--muted);font:9px var(--mono);text-transform:uppercase;letter-spacing:.06em}.day-card strong{overflow-wrap:anywhere;font-weight:600;line-height:1.4}.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{color:var(--muted);text-align:center;justify-items:center;gap:6px;margin:auto 0;padding:14px 6px;font-size:11px;display:grid}.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{border-radius:12px;min-height:118px}.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{gap:5px;padding:0 7px 8px}.calendar.month .class-card{border-radius:8px;padding:5px 7px}.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{border:1px solid var(--line);background:var(--ivory);border-radius:14px;margin:0 0 20px;padding:16px 18px}.rules-panel>p{color:var(--muted);margin:0 0 12px;font-size:11px}.rules-panel ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.rules-panel li{border:1px solid var(--line);background:var(--surface);border-radius:11px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;font-size:12px;display:flex}.rules-panel li .rule-when{color:var(--muted);font:10px var(--mono)}.rules-panel li .text-button{margin-left:auto;font-size:11px}@media (width<=1100px){.calendar.week{grid-template-columns:repeat(7,160px);padding-bottom:6px;overflow-x:auto}}@media (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{grid-template-columns:1fr;display:grid;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{border:1px solid var(--line);background:var(--soft);border-radius:12px;max-height:320px;margin:16px 0 6px;overflow:auto}.import-preview>.hint{background:var(--soft);border-bottom:1px solid var(--line);margin:0;padding:10px 14px;position:sticky;top:0}.import-preview ul{gap:2px;margin:0;padding:8px;list-style:none;display:grid}.import-preview li{background:var(--surface);border-radius:9px;grid-template-columns:150px minmax(0,1fr) 150px;align-items:baseline;gap:4px 12px;padding:8px 10px;font-size:12px;display:grid}.import-preview .import-when{font:10px var(--mono);color:var(--muted)}.import-preview .import-marks{color:var(--muted);grid-column:2;font-size:11px}.import-preview .import-dates{color:var(--muted);font:10px var(--mono);grid-area:1/3/span 2}@media (width<=760px){.import-preview li{grid-template-columns:1fr}.import-preview .import-dates{grid-area:auto/1}}.planner-summary .text-button.danger{color:var(--danger)}.task-summary{border:1px solid var(--line);background:var(--ivory);color:var(--muted);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px 20px;margin:-14px 0 20px;padding:11px 16px;font-size:12px;display:flex}.task-semester{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);border-radius:999px;align-items:center;gap:8px;padding:5px 13px 5px 10px;font-weight:600;display:inline-flex}.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{flex-wrap:wrap;gap:6px 16px;display:inline-flex}.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{align-items:center;gap:7px;display:inline-flex}.task-views button span{background:var(--soft);min-width:20px;color:var(--muted);font:600 10px/18px var(--mono);text-align:center;border-radius:999px;padding:0 6px}.task-views button.active span{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent)}.task-board{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:22px;display:grid}.task-board-main{min-width:0}.task-subjects{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;padding:16px 10px 12px;position:sticky;top:16px}.task-subjects-title{color:var(--muted);justify-content:space-between;align-items:center;margin:0 8px 10px;font-size:12px;font-weight:600;display:flex}.task-subjects-title span{background:var(--soft);font:600 10px/18px var(--mono);border-radius:999px;padding:0 7px}.task-subjects-list{grid-template-columns:minmax(0,1fr);gap:2px;display:grid}.task-subjects-list button{--course:var(--muted);width:100%;min-width:0;color:var(--text);text-align:left;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:12.5px;display:flex;position:relative}.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:"";border-top:1px dashed var(--line);position:absolute;top:-6px;left:10px;right:10px}.subject-dot{background:var(--course);border-radius:4px;flex-shrink:0;width:10px;height:10px}.subject-dot.all{background:conic-gradient(var(--amber), var(--sage), var(--aqua), var(--accent), var(--amber));border-radius:50%}.subject-dot.personal{border:1.5px dashed var(--muted);background:0 0;border-radius:50%}.subject-name{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;line-height:1.35;display:-webkit-box;overflow:hidden}.subject-count{color:var(--muted);font:600 10px/1 var(--mono)}.task-subjects-empty{color:var(--muted);margin:8px 8px 0;font-size:12px}.task-filters{flex-wrap:wrap;gap:6px;margin:0 0 16px;display:flex}.task-filters button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:11.5px;display:inline-flex}.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{gap:18px;display:grid}.task-course{--course:var(--accent);border-radius:16px;padding:8px 22px 10px;position:relative;overflow:hidden}.task-course:has(>.task-course-head){padding-top:0}.task-course:before{content:"";background:var(--course);opacity:.85;height:4px;position:absolute;inset:0 0 auto}.task-course-head{border-bottom:1px solid var(--line-soft);background:linear-gradient(color-mix(in srgb, var(--course) 13%, transparent), transparent);align-items:center;gap:12px;margin:0 -22px;padding:18px 22px 14px;display:flex}.task-course-head .course-dot{background:var(--course);border-radius:4px;width:12px;height:12px}.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{color:var(--muted);margin:2px 0 0;font-size:11.5px}.task-course-short{background:color-mix(in srgb, var(--course) 20%, transparent);font:600 10px/1.6 var(--mono);border-radius:999px;flex-shrink:0;padding:3px 10px}.task-category+.task-category{border-top:1px dashed var(--line)}.task-category-head{justify-content:space-between;align-items:center;padding:14px 0 2px;display:flex}.task-category-head h3{color:var(--muted);align-items:center;gap:8px;margin:0;font-size:12px;font-weight:600;display:flex}.task-category-head h3 span{background:var(--soft);font:600 10px/18px var(--mono);border-radius:999px;padding:0 7px}.task-category-head .text-button{align-items:center;gap:4px;font-size:12px;display:inline-flex}.task-course-empty{border:1px dashed var(--line);color:var(--muted);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:14px 0 6px;padding:14px 16px;font-size:12px;display:flex}.task-course-empty p{margin:0}.task-course-empty .text-button{align-items:center;gap:4px;font-size:12px;display:inline-flex}.task-groups .task-row{gap:14px;min-height:58px;padding:9px 0}.task-groups .task-check{border-color:color-mix(in srgb, var(--course) 65%, var(--muted));border-radius:7px;width:20px;height:20px}.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{background:var(--soft);color:var(--muted);font:500 11px/1.4 var(--sans);border-radius:999px;padding:4px 10px}.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{background:0 0;padding-inline:0}@media (hover:hover){.task-groups .quiet-action{opacity:0;transition:opacity .18s}.task-groups .task-row:hover .quiet-action,.task-groups .task-row:focus-within .quiet-action{opacity:1}}@media (width<=1050px){.task-board{grid-template-columns:minmax(0,1fr);gap:14px}.task-subjects{padding:12px 10px 10px;position:static}.task-subjects-list{gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.task-subjects-list button{border-color:var(--line);border-radius:999px;flex:none;width:auto;padding:6px 12px}.subject-name{text-overflow:ellipsis;white-space:nowrap;max-width:200px;display:block;overflow:hidden}.task-subjects-list .personal{margin-top:0}.task-subjects-list .personal:before{display:none}}@media (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{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"check main actions""check due actions";align-items:center;gap:6px 12px;display:grid}.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{flex-direction:row;grid-area:actions}.task-groups .quiet-action{display:none}}.grade-category{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;margin-top:18px;padding:0 22px 12px}.grade-category-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:14px;padding:18px 0 14px;display:flex}.grade-category-head h3{flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:600;display:flex}.grade-category-head p{color:var(--muted);margin:3px 0 0;font-size:12px}.from-tasks{background:var(--soft);color:var(--muted);font:600 10px/18px var(--mono);border-radius:999px;padding:1px 8px}.grade-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.grade-actions .icon-button{width:30px;height:30px}.grade-row{border-bottom:1px solid var(--line-soft);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;display:grid}.grade-mark{grid-area:mark;display:flex}.grade-mark svg{color:var(--sage)}.ungraded-dot{border:1px dashed var(--muted);border-radius:50%;width:17px;height:17px}.grade-title{overflow-wrap:anywhere;grid-area:title;font-size:13.5px}.grade-points{color:var(--muted);grid-area:points;align-items:center;gap:8px;font-size:12px;display:inline-flex}.grade-points input{width:64px;font-family:var(--mono);text-align:center;border-radius:10px;padding:7px 6px}.grade-points input+span+input{color:var(--muted);background:0 0;border-style:dashed}.grade-points input+span+input:focus{color:var(--text);border-style:solid}.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}.grade-row:hover .quiet-action,.grade-row:focus-within .quiet-action{opacity:1}}.grade-add{border:1px dashed var(--line);width:100%;color:var(--muted);border-radius:11px;justify-content:center;align-items:center;gap:6px;margin-top:12px;padding:9px 12px;font-size:12px;display:flex}.grade-add:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}@media (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{transition:background var(--dur-quick), border-color var(--dur-quick), transform .12s var(--ease-settle);position:relative}.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>:first-child{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:18s ease-in-out infinite lamp-breathe}html:not([data-motion=paused]) .companion{transform-origin:50% 100%;animation:4.6s ease-in-out infinite cat-breathe;display:inline-block}html:not([data-motion=paused]) .focus-art .companion{animation-duration:5.4s}html:not([data-motion=paused]) .orbit-spark{animation:7s ease-in-out infinite spark-drift}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:"";border:2px solid var(--accent);width:19px;height:19px;animation:check-ring .62s var(--ease-settle) forwards;pointer-events:none;border-radius:7px;position:absolute}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:.34s ease-out backdrop-settle}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{box-shadow:var(--shadow-lift);border-color:color-mix(in srgb, var(--accent) 45%, var(--line));transform:translateY(-3px)}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{opacity:.75;transform:translateY(0)rotate(0)}50%{opacity:1;transform:translateY(-6px)rotate(14deg)}}@keyframes check-pop{40%{transform:scale(1.3)}70%{transform:scale(.94)}}@keyframes check-ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@keyframes count-pop{0%{opacity:0;transform:scale(.4)}}@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)}}
