:root{--color-bg:#eef0f4;--color-bg-tint:#e4e9f4;--color-surface:#fff;--color-surface-tint:#f2f2f6;--color-ink:#101014;--color-ink-secondary:#6e6e78;--color-ink-tertiary:#a0a0aa;--color-hairline:#10101412;--color-chip-ring:#1010141a;--color-success:#16a34a;--color-danger:#b91c1c;--font-family:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", "Segoe UI", sans-serif;--font-family-mono:ui-monospace, "SF Mono", Menlo, monospace;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-md:16px;--text-lg:19px;--text-xl:26px;--text-2xl:32px;--text-display:40px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-7:28px;--radius-tile:12px;--radius-btn:18px;--radius-card:28px;--radius-full:999px;--shadow-card:0 2px 4px #10101e0a, 0 28px 64px -16px #10101e29;--shadow-btn:0 12px 28px -8px #10101480;--plan-drag-handle-size:14px;--plan-drag-lift-scale:1.03;--plan-drag-lift-shadow:0 6px 12px #1010141f;--plan-drag-insertion-height:3px;--plan-drag-insertion-radius:2px;--drag-handle-min-size:44px;--drag-active-opacity:.65;--drag-drop-outline:2px solid var(--color-ink);--motion-spring:cubic-bezier(.34, 1.56, .64, 1) .25s;--motion-ease:cubic-bezier(.22, 1, .36, 1) .6s;--shell-bar-height:59px}.d-chip{border-radius:var(--radius-full);width:38px;height:38px;font-family:var(--font-family);font-size:var(--text-sm);cursor:pointer;background:var(--color-surface-tint);box-shadow:inset 0 0 0 2px var(--color-chip-ring);color:var(--color-ink-secondary);transition:transform var(--motion-spring), background .2s, box-shadow .15s, color .15s;border:none;justify-content:center;align-items:center;padding:0;font-weight:800;display:flex}.d-chip--sm{width:34px;height:34px;font-size:var(--text-xs)}.d-chip--md{width:38px;height:38px}.d-chip--lg{width:52px;height:52px;font-size:var(--text-sm)}.d-chip:active{transform:scale(.85)}.d-chip--done{background:var(--color-ink);box-shadow:none;color:var(--color-surface)}.d-chip--skipped{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--color-chip-ring) 50%, transparent)}.d-chip__label--struck{text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--color-ink) 25%, transparent);text-decoration-color:color-mix(in srgb, var(--color-ink) 25%, transparent)}.d-together-pill{width:100%;min-height:38px;padding:0 var(--space-5);border-radius:var(--radius-full);justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-family);font-size:var(--text-sm);cursor:pointer;background:var(--color-surface-tint);box-shadow:inset 0 0 0 2px var(--color-chip-ring);color:var(--color-ink-secondary);transition:transform var(--motion-spring), background .2s, box-shadow .15s, color .15s;border:none;font-weight:700;display:inline-flex}.d-together-pill:active{transform:scale(.96)}.d-together-pill--done{background:var(--color-ink);box-shadow:none;color:var(--color-surface)}.d-together-pill--skipped{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--color-chip-ring) 50%, transparent);text-decoration:line-through}.d-together-pill__mins{font-variant-numeric:tabular-nums;opacity:.75;font-weight:600}.d-together-pill--compact{width:auto;min-width:4.5rem;min-height:32px;padding:0 var(--space-3);font-size:var(--text-xs)}.d-chip--empty{opacity:.35;cursor:default;pointer-events:none;border-style:dashed}.d-subject-tile{border-radius:var(--radius-tile);flex-shrink:0;justify-content:center;align-items:center;display:flex}.d-subject-tile--28{border-radius:9px;width:28px;height:28px;font-size:14px}.d-subject-tile--36{border-radius:11px;width:36px;height:36px;font-size:17px}.d-subject-tile--42{border-radius:13px;width:42px;height:42px;font-size:20px}.d-subject-tile--64{border-radius:20px;width:64px;height:64px;font-size:30px}.d-card{background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.d-section-label{padding:var(--space-4) 0 var(--space-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-ink-tertiary);border-bottom:1px solid var(--color-hairline);margin-bottom:var(--space-2);grid-column:1/-1;font-weight:800}.d-primary-btn{width:100%;padding:17px var(--space-5);border-radius:var(--radius-btn);background:var(--color-ink);color:var(--color-surface);font-family:var(--font-family);font-size:var(--text-md);letter-spacing:-.02em;cursor:pointer;box-shadow:var(--shadow-btn);transition:transform var(--motion-spring), background .2s;border:none;font-weight:800}.d-primary-btn:active{transform:scale(.96)}.d-primary-btn:disabled{opacity:.5;cursor:not-allowed}.d-primary-btn--secondary{background:var(--color-surface-tint);color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-hairline)}.d-primary-btn--ghost{box-shadow:none;color:var(--color-ink-secondary);font-weight:700;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);background:0 0;width:auto}.d-formal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-7) var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.d-formal-header__main{min-width:0}.d-formal-header__title{font-size:var(--text-2xl);letter-spacing:-.04em;margin:0;font-weight:800;line-height:1.05}.d-formal-header__date{font-size:var(--text-sm);color:var(--color-ink-secondary);letter-spacing:-.01em;margin:2px 0 0;font-weight:600}.d-formal-header__side{align-items:flex-start;gap:var(--space-3);flex-shrink:0;display:flex}.d-formal-header__mins{text-align:right}.d-formal-header__mins-num{font-size:var(--text-lg);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-weight:800;line-height:1;display:block}.d-formal-header__mins-total{color:var(--color-ink-tertiary)}.d-formal-header__mins-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-tertiary);margin-top:3px;font-weight:700;display:block}.d-celebrate{margin-top:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-btn);background:var(--color-ink);color:var(--color-surface);text-align:center;font-size:var(--text-base);letter-spacing:-.02em;font-weight:800;animation:.45s cubic-bezier(.34,1.56,.64,1) d-pop-in}@keyframes d-pop-in{0%{opacity:0;transform:scale(.9)translateY(24px)}to{opacity:1;transform:scale(1)translateY(0)}}.d-lane-tabs{gap:var(--space-2);display:flex}.d-lane{align-items:center;gap:var(--space-2);border-radius:var(--radius-full);background:color-mix(in srgb, var(--color-surface) 70%, transparent);box-shadow:inset 0 0 0 1px var(--color-hairline);color:var(--color-ink-secondary);font-family:var(--font-family);font-size:var(--text-sm);letter-spacing:-.01em;cursor:pointer;width:auto;transition:transform var(--motion-spring), background .2s, color .15s, box-shadow .15s;border:none;padding:9px 14px;font-weight:700;display:flex}.d-lane:active{transform:scale(.92)}.d-lane--active{background:var(--color-ink);box-shadow:var(--shadow-btn);color:var(--color-surface)}.d-lane__count{border-radius:var(--radius-full);background:var(--color-chip-ring);min-width:20px;height:20px;font-size:var(--text-xs);justify-content:center;align-items:center;padding:0 6px;font-weight:800;display:flex}.d-lane--active .d-lane__count{background:color-mix(in srgb, var(--color-surface) 18%, transparent)}.d-lane__count--done{background:color-mix(in srgb, var(--color-success) 12%, transparent);color:var(--color-success)}.d-lane--active .d-lane__count--done{background:color-mix(in srgb, var(--color-surface) 18%, transparent);color:var(--color-surface)}.d-cell-menu-wrap{justify-content:center;align-items:center;display:flex;position:relative}.d-cell-menu-trigger{top:50%;right:calc(-1 * var(--space-2));width:auto;color:var(--color-ink-tertiary);font-size:var(--text-xs);opacity:0;cursor:pointer;background:0 0;border:none;padding:0;transition:opacity .15s;position:absolute;transform:translateY(-50%)}.d-cell-menu-wrap:hover .d-cell-menu-trigger,.d-cell-menu-wrap:focus-within .d-cell-menu-trigger{opacity:1}.d-cell-menu{z-index:10;background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-btn);min-width:8rem;box-shadow:var(--shadow-card);padding:var(--space-1);position:absolute;top:100%;right:0}.d-cell-menu button{text-align:left;width:100%;color:var(--color-ink);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border-radius:var(--space-2);cursor:pointer;background:0 0;border:none}.d-cell-menu button:hover{background:var(--color-surface-tint)}*{box-sizing:border-box}html{height:100%}body{min-height:100%;font-family:var(--font-family);background:radial-gradient(100% 640px at 50% 0%, var(--color-bg-tint) 0%, transparent 70%) no-repeat, var(--color-bg);color:var(--color-ink);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;margin:0;line-height:1.5}:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.shell-bar{z-index:20;min-height:var(--shell-bar-height);background:color-mix(in srgb, var(--color-bg) 82%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--color-hairline);position:sticky;top:0}.shell-bar__inner{max-width:1080px;padding:var(--space-3) var(--space-5);align-items:center;gap:var(--space-4);margin:0 auto;display:flex}.shell-brand{color:var(--color-ink);flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.shell-brand__tile{background:#fbf4df;border-radius:10px;place-items:center;width:30px;height:30px;font-size:16px;display:grid}.shell-brand__name{font-size:var(--text-md);letter-spacing:-.02em;white-space:nowrap;font-weight:800}.shell-nav{gap:var(--space-1);scrollbar-width:none;flex:1;justify-content:center;display:flex;overflow-x:auto}.shell-nav::-webkit-scrollbar{display:none}.shell-nav__link{border-radius:var(--radius-full);font-size:var(--text-sm);letter-spacing:-.01em;color:var(--color-ink);white-space:nowrap;padding:7px 13px;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.shell-nav__link:hover{background:color-mix(in srgb, var(--color-surface) 80%, transparent)}.shell-nav__link--active{background:var(--color-ink);color:var(--color-surface)}.shell-user{flex-shrink:0;justify-content:flex-end;min-width:34px;display:flex}@media (width<=760px){:root{--shell-bar-height:51px}.shell-bar__inner{padding:var(--space-2) var(--space-4);gap:var(--space-3)}.shell-brand__name{display:none}.shell-nav{justify-content:flex-start}}.page{padding:var(--space-7) var(--space-5) 4rem;margin:0 auto}.page--narrow{max-width:460px}.page--regular{max-width:640px}.page--wide{max-width:1000px}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-head__title{font-size:var(--text-2xl);letter-spacing:-.04em;margin:0;font-weight:800;line-height:1.05}.page-head__subtitle{font-size:var(--text-sm);color:var(--color-ink-secondary);margin:4px 0 0;font-weight:600}.page-head__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.auth-page{min-height:100dvh;padding:var(--space-7) var(--space-5);justify-content:center;align-items:center;display:flex}.auth-panel{flex-direction:column;align-items:center;width:100%;max-width:440px;display:flex}.auth-brand{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.auth-brand__tile{background:#fbf4df;border-radius:14px;place-items:center;width:44px;height:44px;font-size:24px;display:grid}.auth-brand__name{font-size:var(--text-xl);letter-spacing:-.03em;font-weight:800}.auth-tagline{margin:0 0 var(--space-7);font-size:var(--text-base);color:var(--color-ink-secondary);text-align:center;font-weight:600}.auth-card{justify-content:center;width:100%;display:flex}.pauth-card{width:100%;max-width:400px;padding:var(--space-7);background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.pauth-card--loading{text-align:center;color:var(--color-ink-secondary);font-size:var(--text-sm);font-weight:600}.pauth-title{font-size:var(--text-lg);letter-spacing:-.02em;text-align:center;margin:0;font-weight:800}.pauth-subtitle{margin:var(--space-1) 0 var(--space-5);font-size:var(--text-sm);color:var(--color-ink-secondary);text-align:center;font-weight:600}.pauth-oauth-row{gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.pauth-oauth-btn{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:.6rem var(--space-3);background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-chip-ring);color:var(--color-ink);font-size:var(--text-sm);border-radius:14px;font-weight:700;display:inline-flex}.pauth-oauth-btn:hover:not(:disabled){background:var(--color-surface-tint);opacity:1}.pauth-divider{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);color:var(--color-ink-tertiary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;font-weight:700;display:flex}.pauth-divider:before,.pauth-divider:after{content:"";background:var(--color-hairline);flex:1;height:1px}.pauth-label{color:var(--color-ink);font-weight:700}.pauth-hint{margin:calc(var(--space-1) * -1) 0 var(--space-3);font-size:var(--text-xs);color:var(--color-ink-tertiary)}.pauth-submit{padding:14px var(--space-5);font-size:var(--text-base)}.pauth-code-input{font-family:var(--font-family-mono);font-size:var(--text-xl);letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums}.pauth-code-actions{justify-content:space-between;gap:var(--space-2);margin-top:var(--space-3);display:flex}.pauth-ghost-btn{width:auto;padding:var(--space-1) var(--space-2);color:var(--color-ink-secondary);font-size:var(--text-sm);background:0 0;font-weight:600}.pauth-ghost-btn:hover:not(:disabled){color:var(--color-ink);opacity:1}.pauth-error{margin:var(--space-3) 0 0;color:var(--color-danger);font-size:var(--text-sm);font-weight:600}.pauth-footer{margin:var(--space-5) 0 0;padding-top:var(--space-4);border-top:1px solid var(--color-hairline);text-align:center;font-size:var(--text-sm);color:var(--color-ink-secondary);font-weight:600}.pauth-footer a{color:var(--color-ink);font-weight:700;text-decoration:none}.pauth-footer a:hover{text-decoration:underline}.pauth-captcha:not(:empty){margin-top:var(--space-3)}a.d-primary-btn{text-align:center;box-sizing:border-box;text-decoration:none;display:block}a.signin-link-btn{width:100%;padding:.65rem var(--space-4);border-radius:var(--radius-btn);background:var(--color-ink);color:var(--color-surface);font-weight:700;font-size:var(--text-sm);text-align:center;transition:transform var(--motion-spring), opacity .15s;text-decoration:none;display:block}a.signin-link-btn:hover{opacity:.9}a.signin-link-btn:active{transform:scale(.98)}.landing{min-height:100dvh;padding:var(--space-7) var(--space-5);justify-content:center;align-items:center;display:flex}.landing__inner{text-align:center;flex-direction:column;align-items:center;max-width:480px;display:flex}.landing__title{margin:var(--space-5) 0 0;font-size:var(--text-display);letter-spacing:-.04em;font-weight:800;line-height:1.08}.landing__sub{margin:var(--space-4) 0 0;font-size:var(--text-md);color:var(--color-ink-secondary);font-weight:600;line-height:1.55}.landing__cta{width:100%;max-width:320px;margin-top:var(--space-7)}.landing__signup{margin:var(--space-4) 0 0;font-size:var(--text-sm)}.card--quiet{color:var(--color-ink-secondary);font-size:var(--text-sm);font-weight:600}.home-parents{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.home-parent{align-items:center;gap:var(--space-2);border-radius:var(--radius-full);background:var(--color-surface-tint);font-size:var(--text-sm);padding:5px 14px 5px 5px;font-weight:700;display:inline-flex}.home-parent__avatar{border-radius:var(--radius-full);background:var(--color-ink);width:26px;height:26px;color:var(--color-surface);font-size:var(--text-xs);place-items:center;font-weight:800;display:grid}.home-invite-line{font-size:var(--text-sm);margin:0}.home-invite-line code{letter-spacing:.12em;font-weight:700}.home-invite p{margin-bottom:var(--space-3)}.home-copy-btn{margin-top:var(--space-2)}.home-week-link{margin-top:var(--space-3);font-size:var(--text-sm);display:inline-block}.home-settings-title{margin:var(--space-7) 0 var(--space-3);padding-left:var(--space-1);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-ink-tertiary);font-weight:800}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.onboarding-steps{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);padding:0 var(--space-1);display:flex}.onboarding-step{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-ink-tertiary);font-weight:700;display:inline-flex}.onboarding-step__dot{border-radius:var(--radius-full);background:var(--color-surface-tint);width:24px;height:24px;box-shadow:inset 0 0 0 2px var(--color-chip-ring);font-size:var(--text-xs);place-items:center;font-weight:800;display:grid}.onboarding-step--active{color:var(--color-ink)}.onboarding-step--active .onboarding-step__dot{background:var(--color-ink);color:var(--color-surface);box-shadow:none}.onboarding-step--done{color:var(--color-ink)}.onboarding-step--done .onboarding-step__dot{background:var(--color-success);color:var(--color-surface);box-shadow:none}.onboarding-step__rule{background:var(--color-hairline);flex:1;height:1px}.onboarding-add-form{margin-top:var(--space-2)}.onboarding-continue{margin-top:var(--space-5)}.student-row__name{align-items:center;gap:var(--space-3);font-weight:700;display:inline-flex}.student-row__avatar{width:30px;height:30px;font-size:var(--text-sm);color:var(--color-ink);background:#dfeffb;border-radius:10px;place-items:center;font-weight:800;display:grid}.app{max-width:460px;padding:var(--space-7) var(--space-5) 4rem;margin:0 auto}.page-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.page-header h1{font-size:var(--text-lg);letter-spacing:-.02em;font-weight:800}.card{background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--space-5);margin-bottom:var(--space-4)}.d-card.card-padded{padding:var(--space-5);margin-bottom:var(--space-4)}.setup-card h1{font-size:var(--text-lg);margin-top:0}h1{font-size:var(--text-xl);letter-spacing:-.03em;margin:0;font-weight:800}h2{font-size:var(--text-lg);margin:0 0 var(--space-3);letter-spacing:-.02em;font-weight:800}h3{font-size:var(--text-md);margin:var(--space-4) 0 var(--space-2);font-weight:700}p{margin:0 0 var(--space-3)}.muted{color:var(--color-ink-secondary);font-size:var(--text-base)}label{font-size:var(--text-sm);color:var(--color-ink-secondary);margin-bottom:.35rem;font-weight:600;display:block}input,button,select{font:inherit}input,select{width:100%;padding:.65rem var(--space-4);border:1px solid var(--color-chip-ring);background:var(--color-surface);color:var(--color-ink);border-radius:14px;margin-bottom:.85rem;transition:border-color .15s,box-shadow .15s}input:hover,select:hover{border-color:color-mix(in srgb, var(--color-ink) 25%, transparent)}input:focus-visible,select:focus-visible{border-color:var(--color-ink);box-shadow:0 0 0 3px var(--color-chip-ring);outline:none}input::placeholder{color:var(--color-ink-tertiary)}select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' fill='none' stroke='%236e6e78' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}input[type=date]{min-height:42px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-ink);margin:0;padding:0}button{padding:.65rem var(--space-4);border-radius:var(--radius-btn);background:var(--color-ink);color:var(--color-surface);cursor:pointer;width:100%;font-weight:700;font-size:var(--text-sm);transition:transform var(--motion-spring), opacity .15s, background .15s;border:none}button:hover:not(:disabled){opacity:.9}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.invite-code{font-family:var(--font-family-mono);font-size:var(--text-xl);letter-spacing:.2em;text-align:center;background:var(--color-surface-tint);border-radius:var(--radius-btn);margin-bottom:var(--space-2);padding:.85rem}.error{color:var(--color-danger);font-size:var(--text-sm);margin-bottom:var(--space-3)}.member-list{margin:0;padding:0;list-style:none}.member-list li{padding:var(--space-2) 0;border-bottom:1px solid var(--color-hairline);font-size:var(--text-sm)}.text-link{color:var(--color-ink);font-weight:700;text-decoration:none}.text-link:hover{text-decoration:underline}.student-list{margin:0 0 var(--space-4);padding:0;list-style:none}.student-list li{border-bottom:1px solid var(--color-hairline);padding:.65rem 0}.student-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.student-actions{gap:var(--space-2);display:flex}.student-actions button{width:auto;font-size:var(--text-sm);padding:.4rem .65rem}.inline-form{gap:var(--space-2);align-items:center;display:flex}.inline-form input{flex:1;margin-bottom:0}.inline-form button{width:auto;font-size:var(--text-sm);padding:.4rem .65rem}button.btn-secondary{background:var(--color-surface-tint);color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-hairline)}button.btn-danger{background:color-mix(in srgb, var(--color-danger) 8%, transparent);color:var(--color-danger)}button.btn-quiet-danger{width:auto;color:var(--color-ink-secondary);font-size:var(--text-xs);border-radius:var(--radius-full);background:0 0;padding:.35rem .55rem;font-weight:700}button.btn-quiet-danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-danger) 8%, transparent);color:var(--color-danger);opacity:1}.starter-pack-card{background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-card);padding:var(--space-4);margin-bottom:var(--space-4);box-shadow:var(--shadow-card)}.starter-pack-card h3{margin-top:0}.week-summary{margin:0;padding:0;list-style:none}.week-summary li{gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-hairline);font-size:var(--text-sm);grid-template-columns:1fr 1fr auto;display:grid}.weekday-label{font-weight:700}.day-type-label{color:var(--color-ink-secondary)}.block-count{font-variant-numeric:tabular-nums;color:var(--color-ink-secondary)}code{font-family:var(--font-family-mono);background:var(--color-surface-tint);border-radius:var(--space-1);padding:.1em .35em;font-size:.875em}.today-page{max-width:520px;padding:var(--space-5);margin:0 auto}.today-main{padding-bottom:3rem}.today-empty{text-align:center;color:var(--color-ink-secondary)}.today-edit-toggle,.today-cut-order-action,.today-cut-order-toggle{width:auto;font-size:var(--text-sm);background:var(--color-surface-tint);color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-hairline);padding:.45rem .75rem}.today-edit-toggle--active,.today-cut-order-action--active,.today-cut-order-toggle--active{background:var(--color-ink);color:var(--color-surface);box-shadow:none}.today-compass-hook{color:inherit;margin-bottom:var(--space-3);text-decoration:none;display:block}.today-compass-hook:hover .today-compass-hook__open,.today-compass-hook:focus-visible .today-compass-hook__open{color:var(--color-ink)}.today-compass-hook__card{margin-bottom:0}.today-compass-hook__title{margin:0 0 var(--space-3);font-size:var(--text-base);letter-spacing:-.02em;font-weight:800}.today-compass-hook__rows{margin:0 0 var(--space-3);gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.today-compass-hook__row{gap:var(--space-3);font-size:var(--text-sm);grid-template-columns:minmax(7.5rem,9.5rem) minmax(0,1fr);align-items:baseline;display:grid}.today-compass-hook__label{color:var(--color-ink-secondary);font-weight:700}.today-compass-hook__text{color:var(--color-ink);font-weight:600}.today-compass-hook__empty{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--color-ink-secondary);font-weight:600}.today-compass-hook__open{font-size:var(--text-sm);color:var(--color-ink-secondary);font-weight:700}.today-cut-order-panel{margin-bottom:var(--space-3)}.today-cut-order-panel__summary{margin:0 0 var(--space-4);font-size:var(--text-base);letter-spacing:0;font-variant-numeric:tabular-nums;font-weight:800}.today-cut-order-panel__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.today-cut-order-panel__unavailable{font-size:var(--text-sm);color:var(--color-ink-tertiary);margin:0}.today-cut-order-panel__pref{margin-top:var(--space-3);padding-top:var(--space-3);box-shadow:inset 0 1px 0 var(--color-hairline)}.today-insertion-panel{margin-bottom:var(--space-4)}.today-insertion-panel h2{font-size:var(--text-base);margin:0 0 var(--space-3)}.today-adhoc-form{gap:var(--space-2);display:grid}.today-adhoc-form label{font-size:var(--text-xs);margin-bottom:0}.today-adhoc-form button{justify-self:start;width:auto}.today-insertion-note{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--color-ink-secondary)}.today-block-edit{margin-top:var(--space-1)}.today-block-edit--row{margin-bottom:var(--space-1)}.today-shrink-form{margin-top:var(--space-1);padding:var(--space-2);background:var(--color-surface-tint);border-radius:var(--space-2)}.today-shrink-form label{font-size:var(--text-xs);margin-bottom:var(--space-1)}.today-shrink-form input{margin-bottom:var(--space-2)}.today-shrink-form button{font-size:var(--text-sm);width:auto}.today-grid-card{margin-top:var(--space-5);padding:10px var(--space-4) var(--space-4)}.today-d-grid{align-items:center;column-gap:6px;display:grid}.today-d-corner{height:52px}.today-d-colhead{background:var(--color-surface);z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:2px;height:52px;display:flex;position:sticky;top:0}.today-d-colhead__name{font-size:var(--text-sm);letter-spacing:.01em;font-weight:800}.today-d-colhead__prog{font-size:var(--text-xs);color:var(--color-ink-tertiary);font-variant-numeric:tabular-nums;font-weight:700}.today-d-colhead__prog--done{color:var(--color-success)}.today-d-rowlabel{align-items:center;gap:10px;min-width:0;padding:7px 0;display:flex}.today-d-rowlabel__text{flex-direction:column;min-width:0;display:flex}.today-d-rowlabel__title{font-size:var(--text-base);letter-spacing:-.015em;white-space:nowrap;text-overflow:ellipsis;font-weight:700;line-height:1.2;overflow:hidden}.today-d-rowlabel__meta{font-size:var(--text-xs);color:var(--color-ink-tertiary);font-weight:600}.today-d-cell{justify-content:center;align-items:center;display:flex}.today-d-cell--empty{min-height:38px}.today-d-span{justify-content:center;display:flex}.today-defer-form{padding:var(--space-2)}.today-defer-form label{font-size:var(--text-xs);margin-bottom:var(--space-1)}.today-defer-form input{margin-bottom:var(--space-2)}.today-defer-form button{font-size:var(--text-sm)}.today-focus{max-width:428px;min-height:calc(100dvh - 8rem);padding-bottom:var(--space-7);flex-direction:column;margin:0 auto;display:flex}.today-focus .d-lane-tabs{padding-top:var(--space-4)}.today-focus__stage{padding:var(--space-7) 0;flex-direction:column;flex:1;justify-content:center;display:flex}.today-focus__stack{position:relative}.today-focus__peek{border-radius:var(--radius-card);background:var(--color-surface);width:100%;box-shadow:var(--shadow-card);height:calc(var(--space-7) * 2);position:absolute;left:50%}.today-focus__peek--1{top:calc(-1 * var(--space-3));opacity:.75;transform:translate(-50%)scale(.94)}.today-focus__peek--2{top:calc(-1 * var(--space-7) + var(--space-1));opacity:.4;transform:translate(-50%)scale(.88)}.today-focus__card{z-index:2;background:var(--color-surface);border-radius:var(--radius-card);padding:var(--space-7);box-shadow:var(--shadow-card);text-align:center;position:relative}.today-focus__card--enter{animation:.45s cubic-bezier(.34,1.56,.64,1) d-pop-in}.today-focus__anchor{margin:0 0 var(--space-4);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--color-ink-tertiary);font-weight:800}.today-focus__tile{margin:0 auto var(--space-4)}.today-focus__title{margin:0 0 var(--space-1);font-size:var(--text-display);letter-spacing:-.04em;font-weight:800;line-height:1.1}.today-focus__meta{margin:0 0 var(--space-5);font-size:var(--text-base);color:var(--color-ink-secondary);letter-spacing:-.01em;font-weight:600}.today-focus__chips{justify-content:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.today-focus__chip-cell{align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.today-focus__later{margin-top:var(--space-2)}.today-focus__alldone{padding:var(--space-5) 0 var(--space-3)}.today-focus__alldone-ring{width:calc(var(--space-7) * 2 + var(--space-4));height:calc(var(--space-7) * 2 + var(--space-4));margin:0 auto var(--space-4);border-radius:var(--radius-full);background:var(--color-success);color:var(--color-surface);font-size:var(--text-2xl);justify-content:center;align-items:center;font-weight:800;animation:.45s cubic-bezier(.34,1.56,.64,1) d-pop-in;display:flex}.today-focus__alldone-title{margin:0 0 var(--space-1);font-size:var(--text-xl);letter-spacing:-.04em;font-weight:800}.today-focus__alldone-sub{font-size:var(--text-base);color:var(--color-ink-secondary);margin:0;font-weight:600}.today-focus__next{margin-top:auto}.today-focus__next-title{margin:0 0 var(--space-3);padding:0 var(--space-1);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-ink-tertiary);font-weight:800}.today-focus__next-list{gap:var(--space-2);scrollbar-width:none;padding-bottom:var(--space-1);display:flex;overflow-x:auto}.today-focus__next-list::-webkit-scrollbar{display:none}.today-focus__next-item{align-items:center;gap:var(--space-2);padding:var(--space-2) 14px var(--space-2) var(--space-2);border-radius:var(--radius-full);background:color-mix(in srgb, var(--color-surface) 75%, transparent);border:1px solid var(--color-hairline);flex-shrink:0;display:flex}.today-focus__next-text{font-size:var(--text-sm);letter-spacing:-.01em;white-space:nowrap;font-weight:700}.today-focus__next-more{font-size:var(--text-xs);color:var(--color-ink-tertiary);padding-left:var(--space-1);white-space:nowrap;align-self:center;font-weight:700}.app-nav{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.app-nav-link{border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--color-ink-secondary);background:color-mix(in srgb, var(--color-surface) 70%, transparent);box-shadow:inset 0 0 0 1px var(--color-hairline);letter-spacing:-.01em;transition:transform var(--motion-spring), background .2s, color .15s, box-shadow .15s;padding:9px 14px;font-weight:700;text-decoration:none}.app-nav-link:hover{color:var(--color-ink)}.app-nav-link--active{background:var(--color-ink);box-shadow:var(--shadow-btn);color:var(--color-surface)}.nav-card{gap:var(--space-2);display:flex}.nav-card a{flex:1}.nav-card button{width:100%}.nudge-settings-card form{margin-top:var(--space-4)}.segmented-control{gap:var(--space-2);padding:var(--space-1);background:var(--color-surface-tint);border-radius:var(--radius-full);margin-bottom:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.segmented-control button{padding:.45rem var(--space-3);border-radius:var(--radius-full);color:var(--color-ink-secondary);box-shadow:none;background:0 0}.segmented-control button.active{background:var(--color-ink);color:var(--color-surface);box-shadow:var(--shadow-btn)}.nudge-window-list{gap:var(--space-3);margin-bottom:var(--space-3);display:grid}.nudge-window-row{gap:var(--space-2);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) auto;align-items:center;display:grid}.nudge-window-row--head{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-ink-tertiary);font-weight:800}.nudge-window-row__anchor{font-size:var(--text-sm);color:var(--color-ink);margin-bottom:0;font-weight:700}.nudge-window-row input{margin-bottom:0}.nudge-window-row__order{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-ink-secondary);font-variant-numeric:tabular-nums;font-weight:700;display:flex}@media (width<=720px){.nudge-window-row{grid-template-columns:1fr}.nudge-window-row--head{display:none}}.settings-status{margin:var(--space-3) 0 0;color:var(--color-ink-secondary);font-size:var(--text-sm);font-weight:600}.weekly-page,.templates-page{max-width:960px;padding:var(--space-5);margin:0 auto}.weekly-main,.templates-main{padding-bottom:3rem}.weekly-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.weekly-head h1{font-size:var(--text-2xl);letter-spacing:-.04em;margin:0;font-weight:800}.weekly-week-nav{gap:var(--space-1);padding:var(--space-1);background:color-mix(in srgb, var(--color-surface) 70%, transparent);box-shadow:inset 0 0 0 1px var(--color-hairline);border-radius:var(--radius-full);display:flex}.weekly-week-nav button{width:auto;font-size:var(--text-sm);box-shadow:none;color:var(--color-ink-secondary);border-radius:var(--radius-full);background:0 0;padding:.4rem .85rem}.weekly-week-nav button:hover:not(:disabled){color:var(--color-ink);background:var(--color-surface);opacity:1}.weekly-grid-card{padding:var(--space-3);overflow-x:auto}.weekly-row{grid-template-columns:var(--weekly-cols,1.6fr repeat(7, 1fr));border-bottom:1px solid var(--color-hairline);align-items:center;min-width:640px;display:grid}.weekly-row:last-child{border-bottom:none}.weekly-cols .weekly-label-cell,.weekly-cols .weekly-day-head{padding:var(--space-3) var(--space-2);font-weight:800;font-size:var(--text-sm)}.weekly-cols{background:var(--color-surface-tint)}.weekly-label-cell{padding:var(--space-3);font-size:var(--text-sm);border-right:1px solid var(--color-hairline)}.weekly-anchor-name{font-weight:800;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-ink-tertiary);display:block}.weekly-block-name{color:var(--color-ink);font-weight:700;font-size:var(--text-sm);display:block}.weekly-day-head{padding:var(--space-3) var(--space-2);text-align:center;font-size:var(--text-sm);border-right:1px solid var(--color-hairline)}.weekly-day-head:last-child{border-right:none}.weekly-day-meta{font-size:var(--text-xs);color:var(--color-ink-tertiary);font-weight:600;display:block}.weekly-cell{padding:var(--space-2);border-right:1px solid var(--color-hairline);place-items:center;display:grid}.weekly-cell:last-child{border-right:none}.weekly-student-checks{gap:var(--space-1);flex-wrap:wrap;justify-content:center;display:flex}.week-schedule-grid{gap:var(--space-2);margin-bottom:var(--space-4);display:grid}.week-schedule-row{gap:var(--space-3);font-size:var(--text-sm);grid-template-columns:7rem 1fr;align-items:center;display:grid}.week-schedule-row select{margin-bottom:0}.day-type-tabs{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.day-type-tab{width:auto;font-size:var(--text-sm);background:var(--color-surface-tint);color:var(--color-ink-secondary);box-shadow:inset 0 0 0 1px var(--color-hairline);border-radius:var(--radius-full);padding:9px 14px;font-weight:700}.day-type-tab--active{background:var(--color-ink);color:var(--color-surface);box-shadow:none}.anchor-editor{margin-bottom:var(--space-4)}.anchor-card{border:1px solid var(--color-hairline);border-radius:var(--radius-card);padding:var(--space-4);margin-bottom:var(--space-3);background:var(--color-surface);box-shadow:var(--shadow-card)}.anchor-head{gap:var(--space-2);margin-bottom:var(--space-3);align-items:center;display:flex}.anchor-head input{flex:1;margin-bottom:0}.reorder-actions{gap:var(--space-1);flex-wrap:wrap;display:flex}.reorder-actions button{width:auto;font-size:var(--text-xs);background:var(--color-surface-tint);color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-hairline);padding:.35rem .55rem}.block-editor{gap:var(--space-2);display:grid}.block-row{gap:var(--space-2);grid-template-columns:1.2fr 1fr 4.5rem auto auto auto;align-items:center;display:grid}.block-row--head{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-ink-tertiary);padding:0 var(--space-2);font-weight:800}.block-row input[type=number],.block-row input:not([type=checkbox]){margin-bottom:0}.inline-check{align-items:center;gap:var(--space-1);font-size:var(--text-xs);white-space:nowrap;margin:0;display:flex}.inline-check input{width:auto;margin:0}.block-progress-help{gap:var(--space-1);padding:var(--space-2);border-radius:var(--radius-btn);background:var(--color-surface-tint);display:grid}.block-progress-help p{color:var(--color-ink-secondary);font-size:var(--text-xs);margin:0;font-weight:600;line-height:1.45}@media (width<=720px){.block-row{grid-template-columns:1fr}.weekly-head{flex-direction:column}}.today-empty--break{color:var(--color-success);font-weight:700}.today-empty--sick{color:var(--color-danger);font-weight:700}.today-lesson-label{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-ink-secondary);text-align:center;display:block}.woven-panel{margin-top:var(--space-5)}.woven-panel .d-section-label{padding-left:var(--space-1)}.woven-panel--today{padding:0 var(--space-1)}.woven-empty{padding:var(--space-3) var(--space-1);font-size:var(--text-sm);color:var(--color-ink-tertiary);margin:0}.woven-list,.checkin-woven-list{background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin:0;padding:0;list-style:none;overflow:hidden}.woven-list li+li,.checkin-woven-list li+li{border-top:1px solid var(--color-hairline)}.woven-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);min-width:0;display:flex}.woven-check{border-radius:var(--radius-full);background:var(--color-surface-tint);width:28px;height:28px;color:var(--color-ink);box-shadow:inset 0 0 0 2px var(--color-chip-ring);font-size:var(--text-sm);transition:transform var(--motion-spring);border:none;flex-shrink:0;place-items:center;padding:0;font-weight:800;display:grid}.woven-check:active{transform:scale(.9)}.woven-check--done{background:var(--color-ink);color:var(--color-surface);box-shadow:none}.woven-check--missed{color:var(--color-ink-tertiary);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--color-ink-tertiary) 40%, transparent)}.woven-row__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.woven-row__title{font-size:var(--text-base);letter-spacing:-.015em;white-space:nowrap;text-overflow:ellipsis;font-weight:700;line-height:1.2;overflow:hidden}.woven-row__streak{font-size:var(--text-xs);color:var(--color-ink-tertiary);font-variant-numeric:tabular-nums;font-weight:600}.woven-row__edit{gap:var(--space-1);flex-shrink:0;display:flex}.woven-row__edit button{width:auto;font-size:var(--text-xs);background:var(--color-surface-tint);color:var(--color-ink-secondary);box-shadow:inset 0 0 0 1px var(--color-hairline);padding:.3rem .5rem}.woven-add-form,.woven-rename-form{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.woven-add-form input,.woven-rename-form input{min-width:0;font-size:var(--text-sm);flex:1;margin-bottom:0}.woven-add-form button,.woven-rename-form button{width:auto;font-size:var(--text-sm);background:var(--color-surface-tint);color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-hairline);padding:.45rem .75rem}.today-offday .card{margin-bottom:var(--space-4)}.today-focus .woven-panel{margin-top:var(--space-4);padding:0}.weekly-student-cell{align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.weekly-lesson-label{font-size:var(--text-xs);color:var(--color-ink-secondary);text-align:center;line-height:1.2}.pacing-page{max-width:640px;padding:var(--space-5);margin:0 auto}.pacing-main{padding-bottom:var(--space-7)}.pacing-head{margin-bottom:var(--space-4)}.pacing-plan-list{margin:0;padding:0;list-style:none}.pacing-plan-row{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-hairline);display:flex}.pacing-plan-row:last-child{border-bottom:none}.pacing-plan-row__body{flex:1;min-width:0}.pacing-plan-row__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-1);display:flex}.pacing-plan-row__title{font-size:var(--text-md);letter-spacing:-.02em;min-width:0}.pacing-plan-row__foot{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.pacing-plan-row__meta{font-size:var(--text-sm);color:var(--color-ink-secondary)}.pacing-plan-row__remove{width:auto;color:var(--color-ink-secondary);font-size:var(--text-sm);box-shadow:none;background:0 0;flex-shrink:0;margin:0;padding:0;font-weight:600;text-decoration:underline}.pacing-plan-row__remove:active:not(:disabled){opacity:.7;transform:none}.pacing-status{padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);white-space:nowrap;background:var(--color-surface-tint);color:var(--color-ink-secondary);box-shadow:inset 0 0 0 1px var(--color-hairline);flex-shrink:0;align-items:center;font-weight:700;line-height:1.2;display:inline-flex}.pacing-status--on-track{color:var(--color-success)}.pacing-status--behind{color:var(--color-danger)}.pacing-status--ahead{color:var(--color-ink)}.pacing-status--break{color:var(--color-success)}.pacing-status--sick{color:var(--color-danger)}.pacing-status--invalid{color:var(--color-ink-tertiary)}.pacing-add-card,.pacing-targets-card,.pacing-offdays-card{margin-top:var(--space-4)}.pacing-offday-form .d-lane-tabs{margin-bottom:var(--space-3)}.form-error{color:var(--color-danger);font-size:var(--text-sm);margin:0 0 var(--space-3)}.pacing-field{gap:var(--space-1);margin-bottom:var(--space-3);font-size:var(--text-sm);flex-direction:column;display:flex}.pacing-field-row{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.pacing-target-list,.pacing-offday-list{margin:0 0 var(--space-3);padding:0;list-style:none}.pacing-target-row,.pacing-offday-row{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-hairline);display:flex}.pacing-target-add,.pacing-offday-form{align-items:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.pacing-offday-row{justify-content:space-between}.curriculum-main{gap:var(--space-5);flex-direction:column;display:flex}.curriculum-section-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.curriculum-library-card,.curriculum-editor-card{margin-top:var(--space-2)}.curriculum-library-filters{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:1fr;display:grid}@media (width>=720px){.curriculum-library-filters{grid-template-columns:2fr 1fr}}.curriculum-library-filters__row{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.curriculum-show-hidden{flex-shrink:0}.curriculum-tag--hidden{color:var(--color-ink-tertiary)}.curriculum-action-alert{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-card);background:var(--color-surface-tint);box-shadow:inset 0 0 0 1px var(--color-hairline);flex-wrap:wrap;display:flex}.curriculum-action-alert .form-error{margin:0}.curriculum-scheduled{margin-top:var(--space-2)}.curriculum-scheduled__label{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--color-ink-secondary);font-weight:600}.curriculum-history{margin-top:var(--space-3);border-top:1px solid var(--color-hairline);padding-top:var(--space-3)}.curriculum-history summary{cursor:pointer;font-size:var(--text-sm);color:var(--color-ink-secondary);font-weight:600;list-style:none}.curriculum-history summary::-webkit-details-marker{display:none}.curriculum-history .pacing-plan-list{margin-top:var(--space-3)}.curriculum-entry-list{margin:var(--space-3) 0 0;gap:var(--space-3);grid-template-columns:1fr;padding:0;list-style:none;display:grid}@media (width>=900px){.curriculum-entry-list{grid-template-columns:1fr 1fr}}.curriculum-entry-card{padding:var(--space-3);border-radius:var(--radius-card);background:var(--color-surface-tint);box-shadow:inset 0 0 0 1px var(--color-hairline)}.curriculum-entry-card__head{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.curriculum-entry-card__titles{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.curriculum-entry-card__title{font-size:var(--text-md);letter-spacing:-.02em}.curriculum-entry-card__provider{font-size:var(--text-sm);color:var(--color-ink-secondary)}.curriculum-lifecycle{padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);background:var(--color-surface);color:var(--color-ink-secondary);box-shadow:inset 0 0 0 1px var(--color-hairline);flex-shrink:0;font-weight:700}.curriculum-lifecycle--using{color:var(--color-success)}.curriculum-lifecycle--archived{color:var(--color-ink-tertiary)}.curriculum-entry-card__tags{gap:var(--space-1);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.curriculum-tag{font-size:var(--text-xs);color:var(--color-ink-secondary);background:var(--color-surface);padding:2px var(--space-2);border-radius:var(--radius-btn);box-shadow:inset 0 0 0 1px var(--color-hairline);font-weight:600}.curriculum-tag--role{color:var(--color-ink)}.curriculum-entry-card__notes{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--color-ink-secondary)}.curriculum-entry-card__links,.curriculum-entry-card__actions,.curriculum-entry-form__actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.curriculum-entry-card__links{margin-bottom:var(--space-2)}.curriculum-entry-form,.curriculum-connect-form,.curriculum-builtin-form{flex-direction:column;display:flex}.curriculum-subject-suggestions{gap:var(--space-1);margin:calc(var(--space-2) * -1) 0 var(--space-3);flex-wrap:wrap;display:flex}.curriculum-subject-suggestion{font:inherit;font-size:var(--text-xs);color:var(--color-ink-secondary);background:var(--color-surface);padding:2px var(--space-2);border-radius:var(--radius-btn);box-shadow:inset 0 0 0 1px var(--color-hairline);cursor:pointer;border:none;min-height:32px;font-weight:600}.curriculum-subject-suggestion:hover{color:var(--color-ink)}.curriculum-connect-form__lead{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--color-ink-secondary)}.curriculum-student-picker{margin:0 0 var(--space-3);gap:var(--space-2);border:none;flex-direction:column;padding:0;display:flex}.curriculum-student-picker legend{font-size:var(--text-sm);margin-bottom:var(--space-1);font-weight:700}.curriculum-pacing .pacing-targets-card:first-of-type{margin-top:var(--space-2)}.curriculum-quick-links{gap:var(--space-2);margin:var(--space-2) 0;flex-direction:column;display:flex}.curriculum-quick-links__primary{gap:var(--space-1);flex-direction:column;display:flex}a.curriculum-quick-links__open{text-align:center;text-decoration:none;display:block}.curriculum-quick-links__context{gap:var(--space-2);font-size:var(--text-sm);flex-wrap:wrap;align-items:baseline;margin:0;display:flex}.curriculum-quick-links__title{color:var(--color-ink);font-weight:700}.curriculum-quick-links__unit{font-size:var(--text-xs)}.curriculum-quick-links__external{margin-left:var(--space-1);font-size:var(--text-xs);color:currentColor}.curriculum-quick-links__resources,.curriculum-quick-links__curriculum{font-size:var(--text-sm)}.curriculum-quick-links__resources summary,.curriculum-quick-links__curriculum summary{cursor:pointer;color:var(--color-ink);font-weight:700;list-style:none}.curriculum-quick-links__resources summary::-webkit-details-marker{display:none}.curriculum-quick-links__curriculum summary::-webkit-details-marker{display:none}.curriculum-quick-links__resource-list{margin:var(--space-1) 0 0;gap:var(--space-1);flex-direction:column;padding:0;list-style:none;display:flex}.curriculum-quick-links__resource-link{align-items:baseline;gap:var(--space-2);color:var(--color-ink);font-weight:600;font-size:var(--text-sm);flex-wrap:wrap;text-decoration:none;display:flex}.curriculum-quick-links__resource-link:hover{text-decoration:underline}.today-focus__quick-links{width:100%;margin:0 0 var(--space-3)}.journey-page{max-width:960px;padding:var(--space-5);margin:0 auto}.journey-main{padding-bottom:var(--space-7)}.journey-head{justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:flex-start;display:flex}.journey-head h1{font-size:var(--text-2xl);letter-spacing:0;margin:0}.journey-range-controls,.journey-export-range,.journey-export-actions{gap:var(--space-2);flex-wrap:wrap;align-items:flex-end;display:flex}.journey-range-controls .d-primary-btn,.journey-export-actions .d-primary-btn{white-space:nowrap;width:auto}.journey-range-controls .d-primary-btn{font-size:var(--text-sm);box-shadow:none;padding:9px 16px}.journey-export-actions .d-primary-btn{font-size:var(--text-sm);box-shadow:none;padding:10px 16px}.journey-export-preview{max-height:320px;overflow-y:auto}.journey-export-actions .d-primary-btn{flex:6rem}.journey-export-range label,.journey-filter-row label{min-width:11rem;margin:0}.journey-export-range input,.journey-filter-row select{margin-bottom:0}.journey-filter-row{justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:flex-end;display:flex}.journey-total{min-width:10rem;padding:var(--space-3) var(--space-4);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card)}.journey-total span{font-size:var(--text-2xl);font-weight:800;line-height:1;display:block}.journey-total strong{color:var(--color-ink-secondary);font-size:var(--text-sm)}.journey-main .d-card,.checkin-main .d-card,.pacing-main .d-card{padding:var(--space-4) var(--space-5) var(--space-5)}.journey-trend-card{margin-bottom:var(--space-4)}.journey-trend-list,.journey-coverage-list,.journey-woven-list,.journey-portfolio-list,.journey-export-preview,.monthly-checkin-questions,.monthly-checkin-pacing{margin:0;padding:0;list-style:none}.journey-trend-row{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-hairline);grid-template-columns:4rem 7rem minmax(8rem,1fr) 3rem;align-items:center;display:grid}.journey-trend-row:last-child{border-bottom:none}.journey-trend-date{font-weight:800}.journey-attendance{color:var(--color-ink-secondary);font-size:var(--text-sm);font-weight:700}.journey-attendance--instruction{color:var(--color-ink)}.journey-attendance--break{color:var(--color-success)}.journey-attendance--sick{color:var(--color-danger)}.journey-trend-bar{border-radius:var(--radius-full);background:var(--color-surface-tint);height:10px;overflow:hidden}.journey-trend-bar span{border-radius:var(--radius-full);background:var(--color-ink);min-width:2px;height:100%;display:block}.journey-grid,.journey-export-grid{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.journey-export-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.journey-coverage-list li,.journey-woven-list li,.journey-export-preview li,.monthly-checkin-pacing li{padding:var(--space-2) 0;border-bottom:1px solid var(--color-hairline);gap:2px;display:grid}.journey-coverage-list li:last-child,.journey-woven-list li:last-child,.journey-export-preview li:last-child,.monthly-checkin-pacing li:last-child{border-bottom:none}.journey-coverage-list span,.journey-woven-list span,.journey-export-preview span,.monthly-checkin-pacing span{color:var(--color-ink-secondary);font-size:var(--text-sm)}.journey-portfolio-list li{padding:var(--space-3) 0;border-bottom:1px solid var(--color-hairline)}.journey-portfolio-list li:last-child{border-bottom:none}.journey-portfolio-list span{margin-right:var(--space-2);color:var(--color-ink-secondary);font-size:var(--text-sm);font-weight:700;display:inline-block}.journey-portfolio-list p{margin:var(--space-1) 0 0}.journey-export-card .d-section-label,.monthly-checkin-card .d-section-label,.journey-export-actions{margin-bottom:var(--space-3)}.monthly-checkin-card{margin-bottom:var(--space-4)}.monthly-checkin-card h2{margin-bottom:var(--space-3)}.monthly-checkin-questions{gap:var(--space-2);margin-bottom:var(--space-4);display:grid}.monthly-checkin-questions li{padding:var(--space-2) var(--space-3);border-radius:var(--radius-btn);background:var(--color-surface-tint);font-weight:700}@media (width<=760px){.journey-grid,.journey-export-grid{grid-template-columns:1fr}.journey-trend-row{gap:var(--space-2);grid-template-columns:3.5rem 5.5rem minmax(5rem,1fr) 2.5rem}.journey-attendance{font-size:var(--text-xs)}}.calendar-main{gap:var(--space-4);flex-direction:column;display:flex}.calendar-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.calendar-head h1{font-size:var(--text-2xl);letter-spacing:-.04em;margin:0;font-weight:800}.calendar-month-nav{gap:var(--space-1);padding:var(--space-1);background:color-mix(in srgb, var(--color-surface) 70%, transparent);box-shadow:inset 0 0 0 1px var(--color-hairline);border-radius:var(--radius-full);display:flex}.calendar-month-nav button{width:auto;min-height:44px;font-size:var(--text-sm);box-shadow:none;color:var(--color-ink-secondary);border-radius:var(--radius-full);background:0 0;padding:.4rem .85rem}.calendar-month-nav button:hover:not(:disabled){color:var(--color-ink);background:var(--color-surface);opacity:1}.calendar-notice{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-tile);background:color-mix(in srgb, var(--color-warn,#b45309) 12%, var(--color-surface));box-shadow:inset 0 0 0 1px var(--color-hairline);font-size:var(--text-sm);display:flex}.calendar-notice button{width:auto;min-height:44px;font-size:var(--text-xs);padding:.3rem .7rem}.calendar-grid-card{padding:var(--space-3);-webkit-overflow-scrolling:touch;overflow-x:auto}.calendar-week-agenda.card-padded{padding:var(--space-7)}.calendar-week-nav{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.calendar-week-nav button{width:auto;min-width:44px;min-height:44px;font-size:var(--text-sm);padding:.45rem .85rem}.calendar-week-nav__label{font-size:var(--text-sm);color:var(--color-ink);margin:0;font-weight:700}.calendar-week-agenda__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.calendar-week-agenda__day{min-width:0}.calendar-week-agenda__jump{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:var(--space-3);border-radius:var(--radius-card);background:var(--color-surface-tint);box-shadow:inset 0 0 0 1px var(--color-hairline);color:var(--color-ink);text-align:left;font:inherit;cursor:pointer;display:flex}.calendar-week-agenda__day-label{font-weight:700}.calendar-cell--agenda{min-height:0;padding:var(--space-3);border-radius:var(--radius-card)}.calendar-cell--agenda .calendar-cell__daynum{min-width:0;height:auto;font-size:var(--text-md);justify-content:flex-start}.calendar-grid-scroll-cue{margin:0 0 var(--space-2);font-size:var(--text-xs)}.calendar-grid{grid-template-columns:repeat(7,minmax(7.5rem,1fr));gap:2px;min-width:0;display:grid}.calendar-weekday{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-secondary);font-weight:700}.calendar-cell{min-height:6.5rem;padding:var(--space-2);border-radius:var(--radius-tile);background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-hairline);cursor:pointer;gap:var(--space-1);flex-direction:column;display:flex}.calendar-cell--pad{box-shadow:none;cursor:default;background:0 0}.calendar-cell--selected{box-shadow:inset 0 0 0 2px var(--color-accent,var(--color-ink))}.calendar-cell--drag-over{background:color-mix(in srgb, var(--color-ink) 12%, var(--color-surface));outline:var(--drag-drop-outline);outline-offset:-2px}.calendar-cell--off{background:color-mix(in srgb, var(--color-ink) 4%, var(--color-surface))}.calendar-cell--today .calendar-cell__daynum{background:var(--color-ink);color:var(--color-surface);border-radius:var(--radius-full)}.calendar-cell--agenda.calendar-cell--today .calendar-cell__daynum{color:var(--color-ink);background:0 0;border-radius:0}.calendar-cell__head{justify-content:space-between;align-items:center;gap:var(--space-1);display:flex}.calendar-cell__daynum{font-weight:700;font-size:var(--text-sm);justify-content:center;align-items:center;min-width:1.5rem;height:1.5rem;display:inline-flex}.calendar-cell__daytype{font-size:var(--text-xs);color:var(--color-ink-secondary)}.calendar-cell__blocks{flex-direction:column;gap:2px;min-width:0;display:flex}.calendar-block-chip-row{min-width:0;min-height:44px;position:relative}.calendar-block-chip-row--dragging{opacity:var(--drag-active-opacity)}.calendar-block-chip{align-items:center;gap:var(--space-1);font:inherit;font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:var(--color-surface-tint);color:var(--color-ink);cursor:pointer;text-align:left;width:100%;min-width:44px;min-height:44px;box-shadow:inset 0 0 0 1px var(--color-hairline);border:0;display:flex}.calendar-block-chip-row--movable .calendar-block-chip{padding-inline-end:calc(var(--drag-handle-min-size) + var(--space-1))}.drag-handle{flex:0 0 var(--drag-handle-min-size);width:var(--drag-handle-min-size);min-width:var(--drag-handle-min-size);min-height:var(--drag-handle-min-size);border-radius:var(--radius-full);background:var(--color-surface-tint);color:var(--color-ink-secondary);box-shadow:inset 0 0 0 1px var(--color-hairline);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border:0;place-items:center;padding:0;display:inline-grid}.drag-handle:active,.drag-handle--dragging{cursor:grabbing}.drag-handle--dragging{opacity:var(--drag-active-opacity)}.drag-handle:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}.template-drag-handle{color:var(--color-ink)}.calendar-block-chip__drag-handle{position:absolute;inset-block-start:0;inset-inline-end:0}.calendar-block-chip:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}.calendar-block-chip__text{align-items:baseline;gap:var(--space-1);min-width:0;display:flex;overflow:hidden}.calendar-block-chip__who{color:var(--color-ink-secondary);flex-shrink:0;font-weight:700}.calendar-block-chip__title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.calendar-block-chip--done{opacity:.6;text-decoration:line-through}.calendar-cell__more{font-size:var(--text-xs);color:var(--color-ink-secondary)}.calendar-detail.card-padded,.calendar-sync.card-padded{padding:var(--space-7)}.calendar-detail__eyebrow{margin:0 0 var(--space-1);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-ink-tertiary);font-weight:800}.calendar-detail__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.calendar-detail__head h2{font-size:var(--text-lg);letter-spacing:-.03em;margin:0;font-weight:800}.calendar-detail__head-actions{align-items:center;gap:var(--space-2);display:flex}.calendar-detail__close{width:auto;min-width:44px;min-height:44px;font-size:var(--text-sm);border-radius:var(--radius-btn);background:var(--color-surface-tint);box-shadow:inset 0 0 0 1px var(--color-hairline);color:var(--color-ink);padding:.45rem .9rem;font-weight:700}.calendar-anchor{margin-top:var(--space-2)}.calendar-anchor--drag-over{border-radius:var(--radius-card);outline:var(--drag-drop-outline);outline-offset:var(--space-1)}.calendar-anchor .d-section-label{padding:var(--space-3) 0 var(--space-2);margin-bottom:var(--space-2);grid-column:auto}.calendar-anchor__start{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.calendar-anchor__start-label{font-size:var(--text-sm);color:var(--color-ink-secondary);line-height:1.35}.calendar-anchor__start-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.calendar-anchor__start-row input[type=time]{width:auto;min-height:44px;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-tile);border:1px solid var(--color-hairline);background:var(--color-surface);color:var(--color-ink)}.calendar-anchor__start-save,.calendar-anchor__start-clear{width:auto;min-height:44px;font-size:var(--text-sm);padding:.55rem 1rem}.calendar-anchor__start-saved{font-size:var(--text-sm);color:var(--color-ink-secondary);font-weight:700}.calendar-anchor__start-error,.calendar-block-card__move-error{font-size:var(--text-sm);color:var(--color-danger);margin:0;font-weight:600}.calendar-anchor__blocks{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.calendar-block-card{padding:var(--space-7);gap:var(--space-3);cursor:pointer;flex-direction:column;display:flex}.calendar-block-card--done{opacity:.7}.calendar-block-card--drag-over{outline:var(--drag-drop-outline);outline-offset:-2px}.calendar-block-card--dragging{opacity:var(--drag-active-opacity)}.calendar-block-card__main{align-items:center;gap:var(--space-3);min-width:0;display:flex}.calendar-block-card__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.calendar-block-card__main>.drag-handle{margin-inline-start:auto}.calendar-block-card__who{font-size:var(--text-xs);color:var(--color-ink-secondary);font-weight:700}.calendar-block-card__title{font-size:var(--text-md);letter-spacing:-.02em;font-weight:700}.calendar-block-card__controls{align-items:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.calendar-block-card__duration{gap:var(--space-1);font-size:var(--text-xs);color:var(--color-ink-secondary);flex-direction:column;font-weight:700;display:flex}.calendar-block-card__duration input{width:5.5rem;min-height:44px;padding:var(--space-2);font-size:var(--text-sm);border-radius:var(--radius-tile);border:1px solid var(--color-hairline);background:var(--color-surface);color:var(--color-ink)}.calendar-block-card__remove,.calendar-block-card__move-go{width:auto;min-height:44px;font-size:var(--text-sm);padding:.55rem 1rem}.calendar-block-card__move{align-items:flex-end;gap:var(--space-2);flex-wrap:wrap;width:100%;display:flex}.calendar-block-card__move-label{gap:var(--space-1);font-size:var(--text-sm);color:var(--color-ink);flex-direction:column;font-weight:700;display:flex}.calendar-block-card__move-label input[type=date]{min-height:44px;padding:var(--space-2);font-size:var(--text-sm);border-radius:var(--radius-tile);border:1px solid var(--color-hairline);background:var(--color-surface);color:var(--color-ink)}.calendar-block-card__move-error{width:100%}.calendar-block-card__meta{font-size:var(--text-xs);color:var(--color-ink-secondary)}.calendar-detail__hint{margin-top:var(--space-4);font-size:var(--text-xs)}.calendar-add-block{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-hairline);gap:var(--space-3);flex-direction:column;display:flex}.calendar-add-block .d-section-label{grid-column:auto;padding-top:0}.calendar-add-block__fields{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));display:grid}.calendar-add-block__fields label{gap:var(--space-1);font-size:var(--text-xs);color:var(--color-ink-secondary);flex-direction:column;font-weight:700;display:flex}.calendar-add-block__fields select,.calendar-add-block__fields input{min-height:44px;padding:var(--space-2);font-size:var(--text-sm);border-radius:var(--radius-tile);border:1px solid var(--color-hairline);background:var(--color-surface);color:var(--color-ink)}.calendar-add-block .d-primary-btn{width:auto;min-height:44px;font-size:var(--text-sm);align-self:flex-start;padding:.7rem 1.2rem}.calendar-sync h2{margin:0 0 var(--space-2);font-size:var(--text-lg)}.calendar-sync h3{margin:0 0 var(--space-1);font-size:var(--text-sm)}.calendar-sync__url-row{gap:var(--space-2);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.calendar-sync__url{min-width:16rem;font-family:var(--font-mono,monospace);font-size:var(--text-xs);padding:var(--space-2);border-radius:var(--radius-tile);border:1px solid var(--color-hairline);background:color-mix(in srgb, var(--color-ink) 3%, var(--color-surface));color:var(--color-ink);flex:1}.calendar-sync__instructions{gap:var(--space-4);margin-bottom:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));display:grid}.calendar-sync__instructions ol{font-size:var(--text-sm);gap:var(--space-1);flex-direction:column;margin:0;padding-left:1.2rem;display:flex}.calendar-sync__actions{gap:var(--space-2);display:flex}.calendar-sync__actions button{width:auto;min-height:44px;font-size:var(--text-sm);padding:.4rem .85rem}.calendar-day-sheet-overlay{background:color-mix(in srgb, var(--color-ink) 40%, transparent);z-index:55;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.calendar-day-sheet{background:var(--color-surface);border-radius:var(--radius-card) var(--radius-card) 0 0;width:100%;max-height:min(88vh,44rem);box-shadow:var(--shadow-card);padding:var(--space-7);overflow-y:auto}@media (width<=760px){.calendar-grid{grid-template-columns:repeat(7,minmax(5.5rem,1fr))}.calendar-cell:not(.calendar-cell--agenda){min-height:5.5rem}}@media (width<=480px){.calendar-cell:not(.calendar-cell--agenda){min-height:5.25rem}}.calendar-dialog-overlay{background:color-mix(in srgb, var(--color-ink) 40%, transparent);padding:var(--space-4);z-index:60;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.calendar-dialog{background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--space-7);width:min(34rem,100%);max-height:min(85vh,44rem);overflow-y:auto}.calendar-dialog__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.calendar-dialog__head h2{font-size:var(--text-lg);margin:0}.calendar-dialog__close{border-radius:var(--radius-full);width:2.75rem;min-width:44px;height:2.75rem;min-height:44px;box-shadow:none;color:var(--color-ink-secondary);font-size:var(--text-lg);background:0 0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.calendar-dialog__close:hover{color:var(--color-ink);background:color-mix(in srgb, var(--color-ink) 8%, transparent);opacity:1}.calendar-dialog__body{gap:var(--space-3);margin-top:var(--space-2);flex-direction:column;display:flex}.calendar-dialog__body h3{margin:0 0 var(--space-1);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-secondary);font-weight:700}.calendar-dialog__status-row{align-items:center;gap:var(--space-3);display:flex}.calendar-dialog__status-row button,.calendar-dialog__body .btn-secondary{width:auto;min-height:44px;font-size:var(--text-sm);padding:.35rem .8rem}.calendar-dialog__note{width:100%;padding:var(--space-2);font-size:var(--text-sm);border-radius:var(--radius-tile);border:1px solid var(--color-hairline);background:var(--color-surface);color:var(--color-ink);margin-bottom:var(--space-2);resize:vertical}.calendar-dialog__evidence{margin:0 0 var(--space-2);gap:var(--space-1);flex-direction:column;padding:0;list-style:none;display:flex}.calendar-dialog__evidence li{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-tile);background:var(--color-surface-tint);font-size:var(--text-sm);display:flex}.calendar-dialog__evidence-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.calendar-dialog__proof-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.calendar-dialog__proof-row input[type=url]{min-width:10rem;min-height:44px;padding:var(--space-1) var(--space-2);font-size:var(--text-sm);border-radius:var(--radius-tile);border:1px solid var(--color-hairline);background:var(--color-surface);color:var(--color-ink);flex:10rem}.calendar-dialog__upload{cursor:pointer;align-items:center;min-height:44px;display:inline-flex}.calendar-dialog__upload input[type=file]{display:none}.calendar-detail-block__remove{border-radius:var(--radius-full);width:2.75rem;min-width:44px;height:2.75rem;min-height:44px;box-shadow:none;color:var(--color-ink-secondary);font-size:var(--text-sm);background:0 0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.calendar-detail-block__remove:hover{color:var(--color-ink);background:color-mix(in srgb, var(--color-ink) 8%, transparent);opacity:1}.weekly-anchor-time,.weekly-block-duration{color:var(--color-ink-secondary);font-weight:500;font-size:var(--text-xs);white-space:nowrap}.weekly-row--totals{border-top:1px solid var(--color-hairline)}.weekly-total-cell{font-size:var(--text-xs);color:var(--color-ink-secondary);justify-content:center;align-items:center;font-weight:700;display:flex}.today-focus__detail-btn{width:auto;margin-bottom:var(--space-1);font-size:var(--text-xs);box-shadow:none;color:var(--color-ink-secondary);background:0 0;align-self:center;padding:.25rem .6rem;text-decoration:underline}.today-focus__detail-btn:hover{color:var(--color-ink);opacity:1}.today-focus__detail-btn--chip{text-align:center;white-space:normal;border-radius:var(--radius-btn);min-width:44px;min-height:44px;box-shadow:inset 0 0 0 1px var(--color-hairline);justify-content:center;align-items:center;margin-bottom:0;padding:.35rem .6rem;line-height:1.2;text-decoration:none;display:inline-flex}.shell-mobile-nav{display:none}@media (width<=760px){.shell-nav,.shell-user{display:none}.shell-mobile-nav{z-index:30;background:color-mix(in srgb, var(--color-bg) 92%, transparent);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--color-hairline);padding-bottom:env(safe-area-inset-bottom,0);display:block;position:fixed;bottom:0;left:0;right:0}.shell-mobile-nav__tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-width:1080px;margin:0 auto;display:grid}.shell-mobile-nav__tab{min-width:44px;min-height:44px;padding:var(--space-2) var(--space-1);color:var(--color-ink);font:inherit;font-size:var(--text-sm);letter-spacing:-.01em;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;margin:0;font-weight:600;text-decoration:none;display:inline-flex}.shell-mobile-nav__tab--active{color:var(--color-ink);box-shadow:inset 0 2px 0 var(--color-ink)}.shell-mobile-nav__more{gap:var(--space-1);padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--color-hairline);background:var(--color-surface);display:grid}.shell-mobile-nav__more[hidden]{display:none}.shell-mobile-nav__more-link{min-width:44px;min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-btn);color:var(--color-ink);font-size:var(--text-sm);align-items:center;font-weight:600;text-decoration:none;display:flex}.shell-mobile-nav__more-link:hover{background:var(--color-surface-tint)}.shell-mobile-nav__more-link--active{background:var(--color-ink);color:var(--color-surface)}.shell-mobile-nav__account{min-height:44px;padding:var(--space-2) var(--space-3);align-items:center;display:flex}.shell .page{padding-bottom:calc(4rem + 44px + env(safe-area-inset-bottom,0px))}}.templates-editor-chrome{gap:var(--space-3);margin-bottom:var(--space-4);flex-direction:column;display:flex}.templates-editor-chrome__save{align-self:flex-start;width:auto;min-height:44px}.templates-editor-chrome--sticky{top:var(--shell-bar-height);z-index:5;padding:var(--space-3) 0;background:color-mix(in srgb, var(--color-surface) 80%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:sticky}.template-item-controls{align-items:center;gap:var(--space-1);display:flex}.template-overflow__trigger,.template-reorder-step,.templates-editor-chrome__save,.anchor-card__toggle,.block-card__toggle,.day-type-tab,.weekly-day-chip,.weekly-day-board__pager .btn-secondary{min-width:44px;min-height:44px}.block-editor--collapsible{gap:var(--space-2);flex-direction:column;display:flex}.block-card{border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-surface)}.block-card__head{align-items:center;gap:var(--space-2);display:flex}.anchor-card__toggle,.block-card__toggle{align-items:center;gap:var(--space-2);text-align:left;width:auto;color:var(--color-ink);box-shadow:none;background:0 0;flex:1;display:flex}.block-card__toggle{padding:var(--space-1) var(--space-2);font-weight:600}.anchor-card__toggle{padding:.35rem .55rem;font-weight:700}.anchor-card__chevron,.block-card__chevron{width:var(--space-5);place-items:center;display:inline-grid}.block-card__fields{gap:var(--space-2);padding:0 var(--space-3) var(--space-3);flex-direction:column;display:flex}.block-card__fields input:not([type=checkbox]){width:100%;margin-bottom:0}.template-overflow__trigger{width:auto;font-size:var(--text-base);background:var(--color-surface-tint);color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-hairline);border-radius:var(--radius-full);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;padding:.35rem .55rem;line-height:1;display:inline-grid}.template-drop-target--over{outline:var(--drag-drop-outline);outline-offset:-2px}.template-overflow{position:relative}.template-overflow__menu{z-index:6;min-width:8rem;padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-card);box-shadow:var(--shadow-card);position:absolute;top:calc(100% + 4px);right:0}.template-overflow__menu .btn-quiet-danger{justify-content:flex-start;width:100%;min-height:44px}.anchor-card--collapsed .anchor-head{margin-bottom:0}.anchor-card__name-field{gap:var(--space-1);margin-bottom:var(--space-3);display:grid}.anchor-card__name-field input{margin-bottom:0}.templates-day-editor .block-row,.anchor-editor .block-row{grid-template-columns:auto 1.2fr 1fr 4.5rem auto auto}.weekly-day-board-card{padding:var(--space-3)}.weekly-day-board__tabs{gap:var(--space-1);padding-bottom:var(--space-2);margin-bottom:var(--space-2);-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.weekly-day-chip{width:auto;font-size:var(--text-xs);background:var(--color-surface-tint);color:var(--color-ink-secondary);box-shadow:inset 0 0 0 1px var(--color-hairline);border-radius:var(--radius-full);flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;padding:.35rem .7rem;font-weight:700;display:inline-flex}.weekly-day-chip--active{background:var(--color-ink);color:var(--color-surface);box-shadow:none}.weekly-day-chip__weekday{font-size:var(--text-sm);line-height:1.1}.weekly-day-chip__date{opacity:.85;font-weight:600}.weekly-day-board__pager{gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.weekly-day-board__day-meta{margin-bottom:var(--space-3);font-size:var(--text-sm)}.weekly-day-board__list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.weekly-day-board__item{border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-surface);overflow:clip}.weekly-day-board__sticky-label{top:var(--shell-bar-height);z-index:2;padding:var(--space-3);background:color-mix(in srgb, var(--color-surface) 80%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-bottom:1px solid var(--color-hairline);gap:2px;display:grid;position:sticky}.weekly-day-board__anchor{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-ink-tertiary);font-weight:800}.weekly-day-board__block-title{font-size:var(--text-sm);color:var(--color-ink);font-weight:700}.weekly-day-board__checks{gap:var(--space-2);padding:var(--space-3);flex-wrap:wrap;display:flex}.weekly-day-board__empty{margin:0}@media (width<=720px){.templates-day-editor .day-type-tabs{-webkit-overflow-scrolling:touch;padding-bottom:var(--space-1);flex-wrap:nowrap;overflow-x:auto}.templates-day-editor .block-row,.anchor-editor .block-row{grid-template-columns:1fr}.templates-day-editor .block-row--head{display:none}.template-item-controls{justify-content:flex-end}.d-chip--sm,.d-together-pill--compact{position:relative}.d-chip--sm:before,.d-together-pill--compact:before{content:"";pointer-events:auto;width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}.pacing-segmented{margin-bottom:var(--space-3);border-radius:var(--radius-btn);box-shadow:inset 0 0 0 1px var(--color-hairline);background:var(--color-surface-tint);display:inline-flex;overflow:hidden}.pacing-segmented__option{min-width:5.5rem;min-height:44px;box-shadow:none;color:var(--color-ink-secondary);font-family:var(--font-family);font-size:var(--text-sm);letter-spacing:-.01em;cursor:pointer;background:0 0;border:none;border-radius:0;flex:auto;width:auto;padding:.5rem 1rem;font-weight:700}.pacing-segmented__option+.pacing-segmented__option{box-shadow:inset 1px 0 0 var(--color-hairline)}.pacing-segmented__option--selected{background:var(--color-ink);color:var(--color-surface);box-shadow:none}.pacing-segmented__option--selected+.pacing-segmented__option,.pacing-segmented__option+.pacing-segmented__option--selected{box-shadow:none}.pacing-segmented__option:focus-visible{outline:2px solid var(--color-ink);outline-offset:-2px;z-index:1}.route-error{padding:var(--space-7) var(--space-5);justify-content:center;display:flex}.route-error__card{width:100%;max-width:28rem}.route-error__title{font-size:var(--text-lg);letter-spacing:-.02em;margin:0 0 var(--space-3);color:var(--color-ink);font-weight:800}.route-error__body{margin-bottom:var(--space-5)}.route-error__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.dialog-error{gap:var(--space-3);padding:var(--space-2) 0;flex-direction:column;display:flex}.dialog-error__title{font-size:var(--text-md);color:var(--color-ink);margin:0;font-weight:700}.dialog-error__body{margin:0}.compass-main{gap:var(--space-5);padding-bottom:var(--space-7);flex-direction:column;display:flex}.compass-section{gap:var(--space-2);flex-direction:column;display:flex}.compass-section__card{gap:var(--space-4);padding:var(--space-5);flex-direction:column;display:flex}.compass-add,.compass-edit{gap:var(--space-2);flex-direction:column;display:flex}.compass-add input,.compass-edit input,.compass-person-picker select,.compass-person-picker input{margin-bottom:0}.compass-person-picker{gap:var(--space-2);flex-direction:column;display:flex}.compass-empty{color:var(--color-ink-secondary);font-size:var(--text-sm);margin:0}.compass-entry-list,.compass-looking-back__list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.compass-entry{gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--color-hairline);flex-direction:column;display:flex}.compass-entry:first-child{border-top:none;padding-top:0}.compass-entry__body{gap:var(--space-1);flex-direction:column;display:flex}.compass-entry__text{font-size:var(--text-base);color:var(--color-ink);margin:0}.compass-entry__person{font-size:var(--text-sm);color:var(--color-ink-secondary)}.compass-entry__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.compass-entry--resolved .compass-entry__text{color:var(--color-ink-secondary)}.compass-looking-back{border-top:1px solid var(--color-hairline);padding-top:var(--space-3)}.compass-looking-back summary{cursor:pointer;font-size:var(--text-sm);color:var(--color-ink-secondary);font-weight:600;list-style:none}.compass-looking-back summary::-webkit-details-marker{display:none}.compass-looking-back__list{margin-top:var(--space-3)}
