:root{--paper: #f3eee4;--panel: #faf7f1;--field: #fff;--ink: #1c1914;--text: #1c1914;--muted: #6f675c;--rule: #ddd4c6;--rule-strong: #c9bead;--accent: #7a1f2b;--accent-soft: #f3e4e6;--accent-bar: #7a1f2b;--ok: #1f4d38;--check-inner: #fff;--shadow-menu: 0 8px 24px rgb(28 25 20 / .12);--overlay: rgb(28 25 20 / .35);--closed: #f6ece8;--swap: #f7f1e3;--swap-ink: #5c4320;--swap-line: #c4a56a;--muted-cell: #efe8db;--now: #d1242f;--shadow: 0 0 0 1px var(--rule);--shadow-lift: 0 10px 30px rgb(28 25 20 / .12);--radius: 10px;--radius-sm: 7px;--radius-xs: 4px;--ease: .14s ease;--list-row: 50;--list-s: calc(var(--list-row) / 100);color:var(--text);background:var(--paper);color-scheme:light;font-family:IBM Plex Sans,Segoe UI,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}[data-theme=dark]{--paper: #1b1916;--panel: #25221d;--field: #322e27;--ink: #f3eee4;--text: #f3eee4;--muted: #d4c7b4;--rule: #4a4338;--rule-strong: #6a6154;--accent: #e7b4ba;--accent-soft: #3a2a2c;--accent-bar: #6e3d45;--ok: #9dceb8;--check-inner: #25221d;--shadow-menu: 0 12px 32px rgb(0 0 0 / .5);--overlay: rgb(8 7 6 / .62);--closed: #352824;--swap: #352e20;--swap-ink: #edd9a6;--swap-line: #9a8050;--muted-cell: #181613;--now: #ff4d57;--shadow-menu: 0 16px 40px rgb(0 0 0 / .48);--shadow-lift: 0 16px 40px rgb(0 0 0 / .42);color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;height:100%;max-height:100%}@supports (height: 100dvh){html,body,#root{height:100dvh;max-height:100dvh;min-height:100dvh}}::selection{background:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;transition:background-color var(--ease),color var(--ease),border-color var(--ease),box-shadow var(--ease),opacity var(--ease),filter var(--ease)}input,textarea,select{transition:border-color var(--ease),box-shadow var(--ease),background-color var(--ease)}h1,h2,h3{font-family:Fraunces,Iowan Old Style,Georgia,serif;font-optical-sizing:auto;font-weight:550;letter-spacing:-.02em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.app{height:100%;display:grid;grid-template-rows:auto 1fr;--list-s: calc(var(--list-row) / 100)}.topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"identity range views end";gap:12px 16px;align-items:center;padding:8px 20px;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));min-height:64px;border-bottom:1px solid var(--rule);background:var(--panel)}.identity{display:flex;align-items:center;gap:12px;min-width:0;grid-area:identity}.brand{display:flex;align-items:center;gap:8px;min-width:0;flex:0 0 auto}.brand-logo{display:block;height:44px;width:auto}.identity h1,.identity-select{margin:0;font-family:Fraunces,Iowan Old Style,Georgia,serif;font-size:22px;font-weight:550;letter-spacing:-.02em}.identity-select-wrap{min-width:0}.identity-select{max-width:260px;appearance:none;border:0;background-color:transparent;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%231c1914' d='M1.4 1.3 6 5.9l4.6-4.6 1.1 1.1L6 8.2 0.3 2.4z'/></svg>");background-repeat:no-repeat;background-position:right 2px center;background-size:10px 7px;padding:4px 22px 4px 2px;border-radius:var(--radius-xs);color:inherit;cursor:pointer}.identity-select:hover{background-color:color-mix(in srgb,var(--ink) 5%,transparent)}.top-end{display:flex;align-items:center;gap:10px;grid-area:end;min-width:0}.google-sync-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--rule-strong);border-radius:var(--radius-sm);background:var(--panel);padding:7px 12px 7px 10px;font-size:13px;font-weight:600;letter-spacing:-.01em;white-space:nowrap}.google-sync-btn svg{flex:0 0 auto}.google-sync-btn svg.is-spin{animation:google-sync-spin .85s linear infinite}.google-sync-btn:hover:not(:disabled){background:var(--ink);color:var(--panel);border-color:var(--ink)}.google-sync-btn:disabled{opacity:.7;cursor:wait}.google-sync-btn.is-attention{border-color:color-mix(in srgb,var(--accent) 50%,var(--rule-strong));background:var(--accent-soft);color:var(--accent)}.google-sync-btn.is-attention:hover:not(:disabled){background:var(--accent);color:var(--panel);border-color:var(--accent)}@keyframes google-sync-spin{to{transform:rotate(360deg)}}.more-wrap{position:relative}.more-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:8;display:grid;min-width:176px;padding:6px;background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius-sm);box-shadow:var(--shadow-menu)}.more-menu button{border:0;border-radius:var(--radius-xs);background:transparent;padding:8px 10px;text-align:left;font-size:13px;font-weight:500}.more-menu button:hover{background:var(--paper)}.text-link{border:0;background:transparent;padding:0;color:var(--accent);font-size:12px;text-align:left;width:fit-content}.text-link:hover{text-decoration:underline}.eyebrow{margin:0 0 2px;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:600;color:var(--accent)}.view-switch{display:flex;grid-area:views;padding:3px;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--paper)}.view-switch button{border:0;border-radius:calc(var(--radius-sm) - 2px);background:transparent;padding:6px 12px;color:var(--muted);font-size:13px;font-weight:500}.view-switch button:hover:not(.is-on){color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.view-switch button.is-on{background:var(--ink);color:var(--panel)}.theme-switch{display:flex;padding:3px;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--paper)}.theme-switch button{flex:1;border:0;border-radius:calc(var(--radius-sm) - 2px);background:transparent;padding:7px 10px;color:var(--muted);font-weight:500}.theme-switch button:hover:not(.is-on){color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.theme-switch button.is-on{background:var(--ink);color:var(--panel)}.row-height-control{display:grid;gap:8px}.row-height-control input[type=range]{width:100%;height:22px;margin:0;accent-color:var(--accent-bar);background:transparent}.row-height-ends{display:flex;justify-content:space-between;font-size:12px;font-weight:500;color:var(--muted)}.list-density-preview{display:grid;gap:calc(1px + 4px * var(--list-s));padding:8px;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--paper);pointer-events:none}.list-density-preview .card-row{grid-template-columns:calc(12px + 4px * var(--list-s)) 1fr;cursor:default}.google-cal-list{display:grid;gap:6px;max-height:280px;overflow:auto;padding:8px 10px;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--paper)}.modal .google-cal-item{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text)}.google-cal-item input{width:14px;height:14px;accent-color:var(--accent-bar)}.google-error{margin:0;color:var(--accent);font-size:12px}.google-banner{margin:0 0 10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--rule));border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--text);font-size:13px;line-height:1.45}.modal code{font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.range-nav{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;grid-area:range}.range-nav>button:not(.ghost-btn):not(.text-link){width:32px;height:32px;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--paper);font-size:18px;line-height:1}.range-nav>button:not(.ghost-btn):not(.text-link):hover{background:var(--ink);color:var(--panel);border-color:var(--ink)}.range-label{min-width:0;text-align:center}.range-nav strong{display:block;font-size:15px;font-weight:600;letter-spacing:-.02em}.ghost-btn.is-quiet{color:var(--muted)}.hint{display:block;color:var(--muted);font-size:12px}.ghost-btn,.solid-btn,.danger-btn{border:1px solid var(--rule-strong);border-radius:var(--radius-sm);background:var(--paper);padding:7px 12px;font-size:13px;font-weight:500}.ghost-btn:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 6%,var(--paper));border-color:var(--rule-strong)}.solid-btn{background:var(--ink);color:var(--panel);border-color:var(--ink)}.solid-btn:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 82%,var(--panel))}.danger-btn{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--rule));background:var(--accent-soft)}.danger-btn:hover:not(:disabled){background:var(--accent);color:var(--panel);border-color:var(--accent)}.workspace{min-height:0;display:grid;grid-template-columns:auto 1fr 1fr}.mobile-dock{display:none}.pane-split{position:relative;z-index:6;width:6px;min-width:6px;padding:0;border:0;border-radius:0;background:transparent;cursor:col-resize;touch-action:none}.pane-split:after{content:"";position:absolute;top:0;bottom:0;left:2px;width:1px;background:var(--rule-strong)}.pane-split:hover:after,.pane-split:focus-visible:after,.pane-split.is-active:after{left:1px;width:3px;background:var(--accent-bar)}html.is-col-resizing,html.is-col-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.todo-panel,.todo-rail{min-height:0;background:var(--paper);border-right:1px solid var(--rule-strong)}.todo-panel{width:auto;min-width:0;display:grid;grid-template-rows:auto auto minmax(0,1fr)}.todo-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 10px 10px 14px}.todo-head h2{margin:0;font-size:18px}.todo-head .ghost-btn{width:28px;padding:4px 0}.todo-scroll{min-height:0;overflow:auto;padding:0 10px 8px 14px}.todo-list{margin:0;padding:0;list-style:none;display:grid;gap:2px}.todo-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:start;padding:7px 8px;margin:0 -8px;border-radius:var(--radius-xs);cursor:pointer}.todo-item:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.todo-item[draggable=true]{cursor:grab}.todo-item.is-scheduled{background:color-mix(in srgb,var(--ok) 8%,transparent)}.todo-item.is-scheduled:hover{background:color-mix(in srgb,var(--ok) 14%,transparent)}.todo-item .check{margin-top:3px}.todo-item.is-done>.check{background:var(--ok);border-color:var(--ok);box-shadow:inset 0 0 0 2px var(--check-inner)}.todo-text{border:0;background:transparent;padding:0;text-align:left;font-size:13px;line-height:1.35;word-break:break-word}.todo-main{min-width:0;display:grid;gap:2px}.todo-status{display:flex;align-items:center;gap:4px;min-width:0;color:var(--muted);font-size:11px;font-weight:500;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-status.is-on{color:var(--ok);font-weight:600}.todo-status svg{flex:0 0 auto}.todo-item.is-done>.todo-main>.todo-text{color:var(--muted);text-decoration:line-through}.todo-item input{width:100%;border:1px solid var(--rule-strong);border-radius:var(--radius-xs);background:var(--field);padding:3px 6px;font-size:13px}.todo-remove{border:0;border-radius:var(--radius-xs);background:transparent;padding:0 4px;color:var(--muted);line-height:1;opacity:0}.todo-remove:hover,.todo-remove:focus-visible{color:var(--accent)}.todo-item:hover .todo-remove,.todo-item:focus-within .todo-remove{opacity:1}.todo-done{margin-top:12px}.todo-done header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.todo-done h3{margin:0;font-size:11px;font-family:IBM Plex Sans,sans-serif;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.todo-modal{width:min(560px,100%)}.subtask-editor{display:grid;gap:8px}.subtask-editor h3{margin:0;font-size:12px;font-weight:600;color:var(--muted)}.subtask-editor ul{margin:0;padding:0;list-style:none;display:grid;gap:4px}.todo-subtasks{grid-column:1 / -1;margin:4px 0 0;padding:0 0 0 10px;list-style:none;display:grid;gap:1px;border-left:1px solid var(--rule-strong)}.todo-item.is-subtask{margin:0;padding:5px 8px}.todo-item.is-subtask .todo-text{font-size:12px}.subtask-editor li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 8px;align-items:start}.subtask-when{grid-column:2 / 3;display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:6px}.subtask-when label{margin:0;font-size:11px;font-weight:600;color:var(--muted)}.subtask-editor li.is-done .check{background:var(--ok);border-color:var(--ok);box-shadow:inset 0 0 0 2px var(--check-inner)}.subtask-editor li.is-done input{text-decoration:line-through;color:var(--muted)}.subtask-editor li .todo-remove{opacity:1}.subtask-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.todo-add{display:none}.todo-composer{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;margin:0 10px 8px 14px;padding:7px 10px;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--field)}.todo-plus{width:18px;height:18px;border:1px dashed var(--rule-strong);border-radius:50%;background:transparent;padding:0;color:var(--muted);font-size:14px;line-height:1}.todo-composer:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.todo-composer:focus-within .todo-plus{border-style:solid;color:var(--ink)}.todo-composer input{width:100%;border:0;background:transparent;padding:2px 0;font-size:13px}.todo-composer input:focus{outline:none}.todo-rail{width:40px;display:flex}.todo-rail button{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;width:100%;height:100%;border:0;background:transparent;padding:14px 0 10px;color:var(--muted)}.todo-rail button:hover{background:var(--panel);color:var(--ink)}.todo-rail-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.todo-count{min-width:18px;padding:1px 5px;border:1px solid var(--rule);border-radius:999px;background:var(--panel);font-size:10px;font-weight:600;text-align:center;color:var(--ink)}.sidebar{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto auto 1fr;gap:8px;padding:12px 14px 0 16px;border-right:1px solid var(--rule-strong);background:var(--panel);box-shadow:inset 3px 0 0 var(--accent-bar);container-type:inline-size;container-name:sidebar}.sidebar.is-byu{grid-template-rows:auto auto 1fr}.sidebar-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.sidebar-head .side-tabs{flex:1}.sidebar-head h2{margin:0;font-size:20px}.sidebar-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}.sidebar-tools .search{grid-column:1 / -1}.sidebar.is-byu .sidebar-tools{grid-template-columns:90px minmax(0,1fr)}.sidebar-tools select,.sidebar-tools input{width:100%;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--field);padding:7px 9px;font-size:13px}.search input,.modal input:not([type=range]):not([type=checkbox]),.modal textarea{width:100%;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--field);padding:8px 10px}.search input:focus,.sidebar-tools select:focus,.sidebar-tools input:focus,.modal input:not([type=range]):not([type=checkbox]):focus,.modal textarea:focus,.modal select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.filter-row,.class-filters{display:flex;flex-wrap:wrap;gap:6px}.chip,.class-chip{border:1px solid var(--rule);border-radius:999px;background:transparent;padding:4px 10px;font-size:12px;font-weight:500;color:var(--muted)}.chip:hover:not(.is-on),.class-chip:hover:not(.is-on){border-color:var(--rule-strong);color:var(--ink);background:color-mix(in srgb,var(--ink) 4%,transparent)}.chip.is-on,.class-chip.is-on{background:var(--ink);color:var(--panel);border-color:var(--ink)}.list-summary,.list-hint,.day-count,.notes,.empty{color:var(--muted);font-size:12px}.list-summary,.list-hint{margin:0}.empty{margin:0;padding:18px 2px 8px;line-height:1.5}.settings-subhead{margin:18px 0 0;font-size:13px;font-weight:600}.settings-toggles{display:grid;gap:8px;margin-top:8px}.assignment-scroll{min-height:0;overflow:auto;padding-bottom:24px}.date-group{margin-bottom:calc(4px + 8px * var(--list-s))}.date-group header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px;padding-bottom:3px;border-bottom:1px solid var(--rule)}.date-group h3{margin:0;font-size:12px;font-family:IBM Plex Sans,sans-serif;font-weight:600;letter-spacing:.02em}.date-group header span,.month-more{color:var(--muted);font-size:12px}.stack,.day-stack{display:grid;gap:3px}.sidebar .stack{gap:calc(1px + 4px * var(--list-s))}.day-col.is-week .day-stack{gap:2px}.card{display:grid;grid-template-columns:14px 1fr;gap:8px;padding:8px 10px 9px;background:var(--wash);color:var(--ink);border:1px solid color-mix(in srgb,var(--line) 45%,var(--rule));border-left:3px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;transition:box-shadow var(--ease),filter var(--ease),border-color var(--ease)}.card:hover{filter:brightness(.985)}.card.is-selected{outline:2px solid var(--ink);outline-offset:0}.card.is-done .card-body{opacity:.55}.card.is-done h3{text-decoration:line-through}.drag-ghost{position:absolute;top:-80px;left:-80px;padding:6px 10px;background:var(--ink);color:var(--panel);border-radius:var(--radius-xs);font-size:12px;font-weight:600;pointer-events:none}.card[data-assignment-id]{-webkit-user-select:none;user-select:none}.card-row{--edit: calc(18px + 8px * var(--list-s));grid-template-columns:calc(12px + 4px * var(--list-s)) 1fr var(--edit);align-items:center;gap:calc(4px + 4px * var(--list-s));padding:calc(6px * var(--list-s)) 6px}.card-row .check{width:calc(11px + 4px * var(--list-s));height:calc(11px + 4px * var(--list-s))}.card-edit{width:var(--edit, 22px);height:var(--edit, 22px);display:grid;place-items:center;border:0;padding:0;background:transparent;color:var(--muted);opacity:.8;cursor:pointer}.card-row:hover .card-edit,.card-row.is-selected .card-edit,.card-edit:hover,.card-edit:focus-visible{opacity:1;color:var(--ink)}.card-row .card-body{display:grid;grid-template-columns:88px minmax(0,1fr) minmax(0,.9fr) 52px;gap:8px;align-items:center;min-width:0}.card-row h3{margin:0;font-family:IBM Plex Sans,sans-serif;font-size:calc(11.5px + 3px * var(--list-s));font-weight:500;letter-spacing:0;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-row .class-tag,.card-row .type-tag,.card-row .weight,.card-row .scheduled-tag{font-size:calc(10px + 2px * var(--list-s));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-row .weight{text-align:right}@container sidebar (max-width: 360px){.card-row .card-body{grid-template-columns:minmax(0,1fr) 44px}.card-row .class-tag,.card-row .type-tag,.card-row .scheduled-tag{display:none}}.card-week{align-items:center;gap:4px;padding:2px 4px 2px 3px}.card-week .card-body{display:flex;align-items:baseline;gap:4px;min-width:0}.card-week h3{margin:0;flex:1;min-width:0;font-family:IBM Plex Sans,sans-serif;font-size:11px;font-weight:500;letter-spacing:0;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-week .weight{flex:0 0 auto;font-size:10px}.check{width:13px;height:13px;margin-top:0;border:1px solid var(--ink);border-radius:3px;background:var(--field);padding:0;align-self:center}.card-full .check{align-self:start;margin-top:3px;width:16px;height:16px}.card.is-done .check{background:var(--ok);border-color:var(--ok);box-shadow:inset 0 0 0 2px var(--check-inner)}.card-full h3{margin:2px 0 4px;font-size:15px;line-height:1.25}.card-meta,.card-foot{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.class-tag,.type-tag,.exam-tag,.weight{font-size:11px;font-weight:600;letter-spacing:.02em}.class-tag{color:var(--ink)}.type-tag,.due-inline{color:var(--muted);font-size:11px}.exam-tag{color:var(--accent);text-transform:uppercase;letter-spacing:.08em}.notes{margin:0 0 6px}.calendar-pane{min-width:0;min-height:0;overflow:auto;padding:12px 14px 14px}.planner-empty{margin:0 0 10px;padding:10px 12px;color:var(--muted);font-size:13px;line-height:1.45;background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius-sm)}.planner-empty button{border:0;padding:0;background:transparent;color:var(--accent);font-weight:600}.planner{--cols: 2;--gutter: 48px;min-width:0}.planner-head,.time-board{display:grid;grid-template-columns:var(--gutter) repeat(var(--cols),minmax(0,1fr));column-gap:6px}.planner-chrome{position:sticky;top:0;z-index:4;background:var(--paper);padding-bottom:8px}.planner-head{background:var(--paper)}.gutter-spacer{min-width:0}.planner-day-head{min-width:0;padding:8px 10px 7px;background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius-sm)}.planner-day-head h2{margin:0;font-size:18px;overflow-wrap:anywhere}.planner.is-compact .planner-day-head h2{display:flex;justify-content:space-between;font-family:IBM Plex Sans,sans-serif;font-size:12px;font-weight:600;letter-spacing:0}.planner.is-compact .planner-day-head h2 span:last-child{font-family:Fraunces,Georgia,serif;font-size:16px}.planner-day-head[data-today=true] h2{box-shadow:inset 0 -2px 0 var(--accent)}.planner-day-head[data-today=true]{border-color:color-mix(in srgb,var(--accent) 45%,var(--rule))}.planner-day-head[data-closed=true],.day-track[data-closed=true]{background:var(--closed)}.planner-day-head[data-swap=true],.day-track[data-swap=true]{background:var(--swap)}.time-gutter{position:relative}.planner-allday{display:grid;grid-template-columns:var(--gutter) minmax(0,1fr);column-gap:6px;min-height:var(--allday-h, 24px);margin-top:2px;background:transparent}.allday-gutter{display:flex;align-items:flex-end;padding-bottom:5px;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.allday-overlay{grid-column:2 / -1;position:relative;min-height:var(--allday-h, 24px);pointer-events:none}.exam-bar.hover-anchor{position:absolute;display:flex;align-items:center;overflow:hidden;min-width:0;padding:0 8px 0 20px;background:var(--line);color:#fff;border-radius:5px;box-shadow:0 1px 1px color-mix(in srgb,var(--ink) 18%,transparent);font-size:11px;font-weight:600;letter-spacing:.01em;line-height:1;cursor:pointer;pointer-events:auto}.exam-bar .check{position:absolute;left:4px;top:50%;width:11px;height:11px;margin:0;transform:translateY(-50%);border-color:#fff;background:transparent}.exam-bar.is-done .check{background:#fff;border-color:#fff;box-shadow:inset 0 0 0 2px var(--line)}.exam-bar span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.exam-bar.continues-left{border-top-left-radius:0;border-bottom-left-radius:0}.exam-bar.continues-right{border-top-right-radius:0;border-bottom-right-radius:0}.exam-bar.is-selected{box-shadow:0 1px 1px color-mix(in srgb,var(--ink) 18%,transparent),inset 0 0 0 1px color-mix(in srgb,#fff 70%,transparent)}.exam-bar.is-done{opacity:.55}.exam-bar:hover{filter:brightness(1.08)}.time-label{color:var(--muted);font-size:11px;text-align:right;padding-right:4px;overflow:hidden;white-space:nowrap;transform:translateY(-7px)}.day-track{position:relative;min-width:0;overflow:hidden;background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius-sm);cursor:cell}.hour-line{position:absolute;right:0;left:0;border-top:1px solid var(--rule);pointer-events:none}.now-line{position:absolute;left:0;right:0;z-index:12;height:0;border-top:1px solid var(--now);pointer-events:none;transition:top .8s linear}.now-line:before{content:"";position:absolute;left:0;top:-3.5px;width:7px;height:7px;border-radius:50%;background:var(--now)}.now-gutter{position:absolute;right:0;left:8px;z-index:2;height:0;border-top:1px solid var(--now);pointer-events:none;transition:top .8s linear}.past-wash{position:absolute;top:0;left:0;right:0;z-index:0;pointer-events:none;background:color-mix(in srgb,var(--text) 5%,transparent)}.time-label.is-past{opacity:.4}.day-load{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;margin:4px 0 2px}.day-load-bar{display:block;height:3px;border-radius:99px;background:color-mix(in srgb,var(--ok) 70%,var(--rule-strong))}.day-load[data-level="1"] .day-load-bar{background:color-mix(in srgb,var(--accent) 55%,var(--ok))}.day-load[data-level="2"] .day-load-bar{background:var(--accent)}.day-load[data-level="3"] .day-load-bar,.day-load.is-over .day-load-bar{background:color-mix(in srgb,var(--accent) 70%,#b42318)}.day-load-label{color:var(--muted);font-size:11px;white-space:nowrap}.planner.is-compact .day-load{grid-template-columns:minmax(0,1fr);margin:4px 0 0}.grid-block{position:absolute;right:3px;left:3px;z-index:1;overflow:hidden;padding:3px 6px 4px;background:var(--wash);border:1px solid color-mix(in srgb,var(--line) 45%,var(--rule));border-left:3px solid var(--line);border-radius:var(--radius-xs);color:var(--ink);font-size:11px;line-height:1.2;cursor:pointer;transition:filter .12s ease,box-shadow var(--ease),opacity var(--ease)}.grid-block:hover{filter:brightness(.97)}.grid-block:hover strong{font-weight:700}.grid-block.is-class{right:auto;z-index:1;background:color-mix(in srgb,var(--wash) 72%,var(--line));border-color:color-mix(in srgb,var(--line) 50%,var(--rule));box-shadow:0 0 0 1px color-mix(in srgb,var(--line) 16%,transparent),0 1px 8px color-mix(in srgb,var(--line) 26%,transparent)}.grid-block.is-class:hover{filter:none;background:color-mix(in srgb,var(--wash) 62%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--line) 24%,transparent),0 2px 10px color-mix(in srgb,var(--line) 34%,transparent)}[data-theme=dark] .grid-block.is-class{background:color-mix(in srgb,var(--line) 50%,var(--panel));color:color-mix(in srgb,var(--wash) 30%,#fff);box-shadow:0 0 0 1px color-mix(in srgb,var(--line) 36%,transparent)}[data-theme=dark] .grid-block.is-class:hover{filter:none;background:color-mix(in srgb,var(--line) 58%,var(--panel));box-shadow:0 0 0 1px color-mix(in srgb,var(--line) 46%,transparent)}[data-theme=dark] .grid-block.is-class span{color:color-mix(in srgb,var(--wash) 18%,#efe6d8)}.grid-block.is-responsibility{right:auto;border-style:dashed}.grid-block.is-google{z-index:0;opacity:.72;border-style:dashed;cursor:default}.grid-block.is-google.is-allday{z-index:0;opacity:.85;font-size:10px;padding:1px 6px}.grid-block.is-google:hover{filter:none;opacity:.9}.planner[data-dropping=true] .grid-block,.planner[data-dropping=true] .unschedule,.planner[data-dropping=true] .check,.planner[data-dropping=true] .resize-handle{pointer-events:none}.grid-block.has-check{padding-left:22px}.grid-block.has-check .check{position:absolute;top:4px;left:5px;width:12px;height:12px;margin:0;cursor:pointer;z-index:2}.grid-block.is-google.has-check{cursor:pointer}.grid-block.is-allday.has-check{padding:1px 6px 1px 18px}.grid-block.is-allday.has-check .check{top:2px;left:3px;width:10px;height:10px}.grid-block.is-done{opacity:.7}.grid-block.is-done strong,.grid-block.is-done span{text-decoration:line-through}.grid-block.is-done .check{background:var(--ok);border-color:var(--ok);box-shadow:inset 0 0 0 2px var(--check-inner)}.grid-block.is-past{opacity:.55}.grid-block.is-now{box-shadow:0 0 0 1px color-mix(in srgb,var(--line) 55%,transparent)}.grid-block.is-work{right:auto;z-index:2;cursor:grab;touch-action:none;padding:3px 18px 4px 22px}.grid-block.is-work:active{cursor:grabbing}.grid-block.is-event{right:auto;z-index:3;cursor:grab;touch-action:none;padding:3px 18px 4px 22px}.grid-block.is-event:active{cursor:grabbing}.grid-block.is-narrow{font-size:10px}.grid-block.is-narrow.has-check{padding-left:18px}.grid-block.is-narrow.has-check .check{left:3px;width:10px;height:10px}.grid-block.is-todo{border-style:dashed}.grid-block.is-selected{outline:2px solid var(--ink);outline-offset:0}.resize-handle{position:absolute;right:0;bottom:0;left:0;height:10px;cursor:ns-resize}.resize-handle:after{content:"";position:absolute;right:6px;bottom:3px;left:6px;height:2px;background:color-mix(in srgb,var(--ink) 35%,transparent)}.grid-block strong{display:block;overflow:hidden;font-family:IBM Plex Sans,sans-serif;font-size:12px;font-weight:600;letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;transition:font-weight .08s ease}.grid-block span{display:block;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transition:font-weight .08s ease}.grid-block:hover span{font-weight:600}.unschedule{position:absolute;top:2px;right:2px;width:18px;height:18px;border:0;border-radius:var(--radius-xs);padding:0;background:transparent;color:var(--ink);font-size:14px;line-height:1;opacity:.55}.unschedule:hover,.unschedule:focus-visible{opacity:1;background:color-mix(in srgb,var(--ink) 10%,transparent)}.scheduled-tag{color:var(--ok);font-size:11px;font-weight:600;letter-spacing:.02em}.card-row.is-scheduled{border-left-width:4px}.card-row[draggable=true]{cursor:grab}.profile-modal{width:min(880px,100%);max-height:90vh;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:0;gap:0}.profile-head{padding:22px 22px 12px}.profile-title{margin:0;font-size:22px}.profile-layout{display:grid;grid-template-columns:168px minmax(0,1fr);min-height:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.profile-nav{display:flex;flex-direction:column;gap:2px;padding:12px;border-right:1px solid var(--rule);background:var(--paper)}.profile-nav button{text-align:left;border:1px solid transparent;border-radius:var(--radius-xs);background:transparent;padding:8px 10px;color:var(--muted);font-size:13px;font-weight:600}.profile-nav button:hover:not(.is-on){color:var(--text);background:color-mix(in srgb,var(--ink) 5%,transparent)}.profile-nav button.is-on{background:var(--panel);color:var(--text);border-color:var(--rule-strong)}.profile-pane{display:grid;gap:12px;align-content:start;min-height:0;overflow:auto;padding:18px 22px}.profile-pane>h3{margin:0;font-size:16px}.profile-foot{padding:12px 22px 16px}.profile-split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.profile-form,.profile-list{display:grid;gap:10px;align-content:start}.day-picker-label{margin:0 0 6px;font-size:12px;font-weight:600;color:var(--muted)}.day-picker{display:flex;flex-wrap:wrap;gap:6px}.profile-item{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--paper)}.profile-item p{margin:2px 0 0;color:var(--muted);font-size:12px}.profile-item-actions{display:flex;gap:6px;align-items:start}.semester-switch select{border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--paper);padding:7px 10px;max-width:180px}.form-section{display:grid;gap:10px;padding:0 0 16px;border-bottom:1px solid var(--rule)}.form-section.is-last{border-bottom:0;padding-bottom:0}.form-section h3{margin:0;font-size:16px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.semester-modal{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;width:min(720px,100%);max-height:90vh;overflow:hidden}.semester-head{padding-bottom:4px}.semester-body{display:grid;gap:16px;min-height:0;overflow:auto;padding-right:4px}.semester-courses{display:grid;gap:10px}.semester-course,.semester-meeting,.csv-drop{display:grid;gap:8px;padding:12px;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--paper)}.semester-meeting{padding:8px}.semester-course-head{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:end}.online-toggle{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:13px;white-space:nowrap;cursor:pointer}.online-toggle input{width:14px;height:14px;margin:0;accent-color:var(--ink)}.online-note{margin:0;color:var(--muted);font-size:13px}.class-color-row{display:grid;gap:6px}.class-color-row>span{color:var(--muted);font-size:12px;font-weight:600}.swatch-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.color-swatch{width:22px;height:22px;padding:0;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:999px}.color-swatch.is-on{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--ink)}.color-wheel{position:relative;width:22px;height:22px;overflow:hidden;border:1px dashed var(--rule-strong);border-radius:999px;cursor:pointer}.color-wheel input{position:absolute;inset:-6px;width:34px;height:34px;padding:0;border:0;cursor:pointer}.meeting-days{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.csv-drop strong{font-size:14px}.csv-drop p{margin:0;color:var(--muted);font-size:13px}.csv-actions{display:flex;flex-wrap:wrap;gap:8px}.csv-pick{display:inline-flex;width:fit-content}.semester-meta{color:var(--muted);font-size:12px}.semester-error{margin:0;color:var(--accent);font-size:13px}.two-day{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:100%}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;align-items:start;min-height:100%}.day-col{min-width:0;padding:12px;background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius-sm)}.day-col.is-week{padding:8px 6px 10px}.day-col[data-focus=true]{border-color:var(--ink)}.day-col[data-today=true] header h2{box-shadow:inset 0 -2px 0 var(--accent)}.day-col header h2{margin:0;font-size:20px}.day-col.is-wide header h2{font-size:26px}.day-col.is-week header h2{display:flex;justify-content:space-between;align-items:baseline;gap:4px;font-family:IBM Plex Sans,sans-serif;font-size:12px;font-weight:600;letter-spacing:0;white-space:nowrap}.day-col.is-week header h2 span:last-child{font-family:Fraunces,Georgia,serif;font-size:16px;font-weight:550}.day-kicker{margin:0 0 4px;color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:600}.planner-day-head .day-count{margin:4px 0 0}.day-col.is-week .day-count{margin:0 0 6px;font-size:10px}.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-weekdays{margin-bottom:8px;padding:0 1px;gap:1px;color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.month-grid{gap:1px;overflow:hidden;background:var(--rule);border:1px solid var(--rule);border-radius:var(--radius)}.month-cell{position:relative;min-height:118px;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:8px;border:0;background:var(--panel);text-align:left;cursor:pointer}.month-cell:hover{filter:brightness(.97)}.month-cell[data-muted=true]{background:var(--muted-cell);color:var(--muted)}.month-cell[data-today=true]{box-shadow:inset 0 0 0 2px var(--accent)}.month-cell[data-load="1"]{background:color-mix(in srgb,var(--ok) 9%,var(--panel))}.month-cell[data-load="2"]{background:color-mix(in srgb,var(--accent) 10%,var(--panel))}.month-cell[data-load="3"],.month-cell[data-over=true]{background:color-mix(in srgb,var(--accent) 16%,var(--panel))}.month-num{font-family:Fraunces,Georgia,serif;font-size:16px}.month-items{display:grid;gap:3px}.month-pill{display:block;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-xs);padding:2px 5px;background:var(--wash);color:var(--ink);font-size:11px;font-weight:500;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:font-weight .08s ease,filter .08s ease}.month-pill:hover{font-weight:700;filter:brightness(.97)}.month-pill.is-selected{outline:2px solid var(--ink)}.hover-anchor{min-width:0;display:block}.hover-pop{position:fixed;z-index:40;width:280px;padding:12px 14px 14px;background:var(--panel);border:1px solid var(--rule);border-left:3px solid var(--line);border-radius:var(--radius-sm);pointer-events:none}.peek-pop{pointer-events:auto;box-shadow:var(--shadow-lift);max-height:min(70vh,420px);overflow:auto}.peek-pop dd{overflow-wrap:anywhere}.hover-pop h3{margin:6px 0 10px;font-size:16px;line-height:1.25}.hover-kicker{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0}.hover-pop dl{display:grid;gap:6px;margin:0}.hover-pop dl div{display:grid;grid-template-columns:58px 1fr;gap:8px;align-items:baseline}.hover-pop dt{margin:0;color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.hover-pop dd{margin:0;font-size:13px}.hover-notes dd{color:var(--ink)}.hover-status{margin-left:auto;font-size:11px;font-weight:600;color:var(--accent)}.hover-status.is-done{color:var(--ok)}.side-tabs{display:flex;padding:3px;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--paper)}.side-tabs button{flex:1;border:0;border-radius:calc(var(--radius-sm) - 2px);background:transparent;padding:7px 8px;color:var(--muted);font-size:13px;font-weight:500}.side-tabs button:hover:not(.is-on){color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.side-tabs button.is-on{background:var(--ink);color:var(--panel)}.byu-marks{display:grid;gap:4px;margin:0 0 8px}.byu-marks.is-compact{margin:0 0 4px;gap:2px}.byu-banner,.byu-chip{margin:0;padding:5px 7px;font-size:11px;font-weight:600;line-height:1.25;border-radius:var(--radius-xs)}.byu-marks.is-compact .byu-banner,.byu-marks.is-compact .byu-chip{padding:2px 4px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.byu-banner.is-off{background:var(--accent-soft);color:var(--accent)}.byu-banner.is-swap{background:var(--swap);color:var(--swap-ink)}.byu-chip{background:var(--paper);color:var(--muted);border:1px solid var(--rule)}.byu-list{display:grid;gap:2px}.byu-row{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:8px;align-items:baseline;width:100%;padding:6px 8px;border:1px solid transparent;border-radius:var(--radius-xs);background:transparent;text-align:left}.byu-row:hover,.byu-row.is-selected{background:var(--paper);border-color:var(--rule)}.byu-when{color:var(--muted);font-size:12px}.byu-name{min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.byu-kind{color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.byu-row.kind-holiday .byu-kind,.byu-row.kind-no-class .byu-kind{color:var(--accent)}.byu-row.kind-instruction{background:var(--swap)}.byu-row.kind-instruction .byu-kind{color:var(--swap-ink)}.day-col[data-closed=true],.month-cell[data-closed=true]{background:var(--closed)}.day-col[data-swap=true],.month-cell[data-swap=true]{background:var(--swap);border-color:var(--swap-line)}.month-exam-bars{margin-top:auto;display:flex;flex-direction:column;gap:2px}.month-exam-bar.hover-anchor{height:5px;border-radius:3px;background:var(--line);cursor:pointer}.month-exam-bar.is-selected{box-shadow:0 0 0 1px var(--ink)}.exam-dot{position:absolute;top:10px;right:10px;width:7px;height:7px;border-radius:50%;background:var(--accent)}.modal-back{position:fixed;inset:0;display:grid;place-items:center;background:var(--overlay);padding:24px;z-index:20;animation:fade-in .16s ease}.modal{width:min(520px,100%);display:grid;gap:12px;padding:24px;background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-lift);animation:rise-in .18s ease}.modal label{display:grid;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}.scope-toggle{display:flex;flex-wrap:wrap;gap:8px}.scope-toggle .chip{font-size:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row-3,.meeting-times{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.modal select{width:100%;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--field);padding:8px 10px}.modal-actions{display:flex;gap:8px;align-items:center}.spacer{flex:1}[data-theme=dark] .view-switch button.is-on,[data-theme=dark] .theme-switch button.is-on,[data-theme=dark] .side-tabs button.is-on,[data-theme=dark] .profile-nav button.is-on,[data-theme=dark] .chip.is-on,[data-theme=dark] .class-chip.is-on{background:var(--field);color:var(--text);border-color:var(--rule-strong)}[data-theme=dark] .solid-btn{background:color-mix(in srgb,var(--accent) 22%,var(--field));color:var(--text);border-color:color-mix(in srgb,var(--accent) 40%,var(--rule-strong))}[data-theme=dark] ::placeholder{color:color-mix(in srgb,var(--muted) 78%,transparent);opacity:1}[data-theme=dark] .card,[data-theme=dark] .grid-block,[data-theme=dark] .month-pill{--on-fill: color-mix(in srgb, var(--wash) 22%, #fff);--on-muted: color-mix(in srgb, var(--wash) 16%, #efe6d8);background:color-mix(in srgb,var(--line) 42%,var(--panel));color:var(--on-fill);border-color:color-mix(in srgb,var(--line) 48%,var(--rule));border-left-color:color-mix(in srgb,var(--line) 80%,var(--wash))}[data-theme=dark] .card .class-tag,[data-theme=dark] .grid-block strong{color:var(--on-fill)}[data-theme=dark] .card .type-tag,[data-theme=dark] .card .due-inline,[data-theme=dark] .card .weight,[data-theme=dark] .card .card-edit,[data-theme=dark] .grid-block span{color:var(--on-muted)}[data-theme=dark] .card .check,[data-theme=dark] .grid-block .check{border-color:color-mix(in srgb,var(--on-fill) 55%,var(--rule-strong));background:color-mix(in srgb,var(--panel) 70%,#000)}[data-theme=dark] .card.is-selected,[data-theme=dark] .grid-block.is-selected,[data-theme=dark] .month-pill.is-selected{outline-color:color-mix(in srgb,var(--on-fill) 80%,transparent)}[data-theme=dark] .card-edit:hover,[data-theme=dark] .card-edit:focus-visible,[data-theme=dark] .card-row:hover .card-edit,[data-theme=dark] .unschedule{color:var(--on-fill)}[data-theme=dark] .month-pill:hover{filter:brightness(1.12)}[data-theme=dark] .card:hover{filter:brightness(1.08)}[data-theme=dark] .month-cell:hover{filter:brightness(1.1)}[data-theme=dark] .identity-select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23f3eee4' d='M1.4 1.3 6 5.9l4.6-4.6 1.1 1.1L6 8.2 0.3 2.4z'/></svg>")}[data-theme=dark] .identity-select:hover{background-color:color-mix(in srgb,var(--text) 8%,transparent)}[data-theme=dark] .ghost-btn:hover:not(:disabled){background:color-mix(in srgb,var(--text) 8%,var(--paper))}[data-theme=dark] .solid-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 32%,var(--field))}[data-theme=dark] .range-nav>button:not(.ghost-btn):not(.text-link):hover{background:var(--field);color:var(--text);border-color:var(--rule-strong)}[data-theme=dark] .hover-pop,[data-theme=dark] .peek-pop{color:var(--text)}[data-theme=dark] .hover-pop .class-tag{color:color-mix(in srgb,var(--wash) 45%,#fff)}[data-theme=dark] .hover-notes dd{color:var(--text)}[data-theme=dark] .hour-line{border-top-color:color-mix(in srgb,var(--rule) 75%,var(--text))}[data-theme=dark] .time-label,[data-theme=dark] .allday-gutter,[data-theme=dark] .ghost-btn.is-quiet,[data-theme=dark] .day-count,[data-theme=dark] .date-group h3,[data-theme=dark] .list-summary{color:color-mix(in srgb,var(--muted) 72%,var(--text))}[data-theme=dark] .card.is-done .card-body{opacity:.8}[data-theme=dark] .todo-item.is-scheduled{background:color-mix(in srgb,var(--ok) 12%,transparent)}[data-theme=dark] .todo-item.is-done>.todo-main>.todo-text{color:color-mix(in srgb,var(--muted) 80%,var(--text))}@media(max-width:1180px){.topbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity end" "range views";gap:6px 12px;padding:6px 12px 8px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));min-height:0}.brand-logo{height:32px}.identity{gap:8px}.identity h1,.identity-select{font-size:18px}.identity-select{max-width:none}.range-nav{justify-content:flex-start}.top-end{justify-content:flex-end}.view-switch{justify-self:end}.view-switch button{padding:5px 9px}.google-sync-btn{padding:6px 10px 6px 8px}.planner{--gutter: 40px}.calendar-pane{padding:10px 10px 12px}}@media(max-width:980px){.google-sync-label{display:none}.google-sync-btn{padding:7px 9px}}@media(max-width:900px){.profile-split,.profile-layout,.profile-modal .form-row,.form-row-3,.meeting-times,.semester-course-head,.sidebar-tools,.sidebar.is-byu .sidebar-tools,.subtask-when{grid-template-columns:1fr}.profile-nav{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--rule)}.workspace.is-compact{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) auto}.workspace.is-compact>.pane-split,.workspace.is-compact>.todo-panel,.workspace.is-compact>.todo-rail,.workspace.is-compact>.sidebar,.workspace.is-compact>.calendar-pane{display:none}.workspace.is-compact.is-pane-todos>.todo-panel{display:grid;width:100%;max-height:none;min-height:0;overflow:hidden;border-right:0}.workspace.is-compact.is-pane-todos>.todo-rail{display:flex;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--rule-strong)}.workspace.is-compact.is-pane-todos .todo-head .ghost-btn{display:none}.workspace.is-compact.is-pane-list>.sidebar{display:grid;max-height:none;min-height:0;overflow:hidden;border-right:0;box-shadow:inset 0 3px 0 var(--accent-bar)}.workspace.is-compact.is-pane-cal>.calendar-pane{display:block;min-height:0;overflow:auto;padding-bottom:16px}.workspace.is-compact .planner{--gutter: 44px}.workspace.is-compact .time-label{font-size:10px}.workspace.is-compact .planner.is-week{min-width:36rem}.workspace.is-compact .month-cell{min-height:72px;padding:6px}.workspace.is-compact .month-num{font-size:14px}.mobile-dock{display:flex;gap:4px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--rule);background:var(--panel)}.mobile-dock button{flex:1;min-height:40px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;padding:8px 6px;color:var(--muted);font-size:13px;font-weight:600}.mobile-dock button:hover:not(.is-on){color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.mobile-dock button.is-on{background:var(--ink);color:var(--panel)}[data-theme=dark] .mobile-dock button.is-on{background:var(--field);color:var(--text);border-color:var(--rule-strong)}}@media(max-width:640px){.topbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity end" "range range" "views views";gap:6px 8px;padding:8px 10px 10px;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.identity h1,.identity-select{font-size:16px}.identity-select{max-width:none;width:100%}.identity-select-wrap{flex:1}.brand-logo{width:34px;height:32px;object-fit:cover;object-position:left center}.view-switch{justify-self:stretch}.view-switch button{flex:1;padding:5px 7px;font-size:12px}.range-nav{justify-content:space-between}.range-nav strong{font-size:13px}.top-end{justify-content:flex-end;gap:6px}.view-switch button{padding:5px 7px;font-size:12px}.ghost-btn,.solid-btn{padding:6px 9px}.modal-back{padding:0;align-items:stretch;justify-items:stretch}.modal,.profile-modal,.semester-modal,.todo-modal{width:100%;max-width:none;min-height:100%;max-height:100%;border-radius:0;padding:16px}.profile-modal{padding:0}.form-row,.form-row-3,.meeting-times{grid-template-columns:1fr}.hover-pop{width:min(280px,calc(100vw - 16px))}.workspace.is-compact .month-weekdays{font-size:10px;letter-spacing:.04em}.workspace.is-compact .month-cell{min-height:64px;padding:4px;gap:2px}.workspace.is-compact .month-pill{font-size:10px;padding:1px 4px}}.todo-scroll,.assignment-scroll,.calendar-pane,.profile-pane,.semester-body,.peek-pop,.google-cal-list{scrollbar-width:thin;scrollbar-color:var(--rule-strong) transparent}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-height:700px){.topbar{min-height:0;padding-top:4px;padding-bottom:4px}.brand-logo{height:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
