html{-webkit-font-smoothing:antialiased}body{background:var(--surface);color:var(--ink);font:400 var(--text-body)/1.5 var(--font-sans);margin:0}a{color:var(--link,var(--accent))}@media (hover:hover){a:hover{color:var(--link-hover,var(--accent-hover))}}.dyt-on-board{--link:var(--on-brand);--link-hover:var(--on-brand)}.dyt-on-hero{--link:var(--hero-ink);--link-hover:var(--hero-ink)}.dyt-on-footer{--link:var(--on-footer-muted);--link-hover:var(--on-footer)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.dyt-display{font:800 var(--text-display)/1 var(--font-display);letter-spacing:-.02em}.dyt-h1{font:800 var(--text-h1)/1.05 var(--font-display);letter-spacing:-.02em}.dyt-h2{font:700 var(--text-h2)/1.1 var(--font-display);letter-spacing:-.01em}.dyt-h3{font:700 var(--text-h3)/1.2 var(--font-display)}.dyt-kicker{font:700 var(--text-kicker)/1.25 var(--font-sans);letter-spacing:.02em;color:var(--signal-ink)}.dyt-lead{font:400 var(--text-lead)/1.55 var(--font-sans)}.dyt-body{font:400 var(--text-body)/1.5 var(--font-sans)}.dyt-body-strong{font:600 var(--text-body)/1.5 var(--font-sans)}.dyt-body-sm{font:500 var(--text-meta)/1.45 var(--font-sans);color:var(--ink-muted)}.dyt-ui{font:500 var(--text-ui)/1.25 var(--font-sans)}.dyt-label{font:600 var(--text-label)/1.3 var(--font-sans);color:var(--ink-subtle)}.dyt-caption{font:400 var(--text-caption)/1.4 var(--font-sans);color:var(--ink-muted)}.dyt-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.dyt-time-xl{font:800 var(--text-time-xl)/1 var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.dyt-time-lg{font:700 var(--text-time-lg)/1.1 var(--font-display);font-variant-numeric:tabular-nums}.dyt-time{font:700 var(--text-time)/1.2 var(--font-display);font-variant-numeric:tabular-nums}.dyt-lane{font:800 var(--text-lane)/1 var(--font-display);font-variant-numeric:tabular-nums}.dyt-kpi{font:800 var(--text-kpi)/1 var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.dyt-code{font:400 var(--text-code)/1.5 var(--font-mono)}.dyt-btn{border-radius:var(--radius-md);height:44px;font:600 var(--text-ui)/1 var(--font-sans);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;text-decoration:none;display:inline-flex}.dyt-btn--sm{height:36px;font-size:var(--text-caption);padding:0 14px}.dyt-btn--primary{background:var(--accent);color:var(--on-accent)}.dyt-btn--primary:hover{background:var(--accent-hover);color:var(--on-accent)}.dyt-btn--secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.dyt-btn--secondary:hover{border-color:var(--ink);color:var(--ink)}.dyt-btn--ghost{color:var(--accent);background:0 0;padding:0 8px}.dyt-btn--danger{background:var(--danger);color:var(--on-danger)}.dyt-btn--positive{background:var(--surface);color:var(--improve);border-color:var(--improve)}.dyt-btn--positive:hover{background:var(--improve-soft);color:var(--improve)}.dyt-btn--negative{background:var(--surface);color:var(--danger);border-color:var(--danger)}.dyt-btn--negative:hover{background:var(--danger-soft);color:var(--danger)}.dyt-btn--on-brand,.dyt-btn--on-brand:hover{background:var(--on-brand-action);color:var(--on-brand-action-text)}.dyt-input,.dyt-select{border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--surface);height:44px;color:var(--ink);font:400 var(--text-body)/1 var(--font-sans);box-sizing:border-box;padding:0 14px}.dyt-input::placeholder{color:var(--ink-subtle)}.dyt-input:focus,.dyt-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.dyt-input--lg{height:56px;font-size:var(--text-nav);padding:0 18px}.dyt-field{flex-direction:column;gap:6px;display:flex}.dyt-seg{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);display:inline-flex;overflow:hidden}.dyt-seg>button{height:40px;color:var(--ink);font:500 var(--text-ui)/1 var(--font-sans);cursor:pointer;background:0 0;border:0;padding:0 16px}.dyt-seg>button+button{border-left:1px solid var(--line-strong)}.dyt-seg>button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);font-weight:600}.dyt-tabs{border-bottom:1px solid var(--line);gap:28px;display:flex;overflow-x:auto}.dyt-tabs>a{height:44px;color:var(--ink-muted);font:600 var(--text-ui)/1 var(--font-sans);white-space:nowrap;border-bottom:3px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;text-decoration:none;display:inline-flex}.dyt-tabs>a:hover{color:var(--ink)}.dyt-tabs>a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.dyt-tabs .dyt-count{color:var(--ink-subtle);font-weight:500}.dyt-chip{border-radius:var(--radius-sm);border:1px solid var(--line-strong);height:24px;font:600 var(--text-chip)/1 var(--font-sans);color:var(--ink);letter-spacing:.02em;white-space:nowrap;align-items:center;padding:0 8px;display:inline-flex}.dyt-badge--course{border:1.5px solid var(--ink)}.dyt-chip--danger{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.dyt-chip--neutral{color:var(--ink-muted);border-color:var(--line);background:var(--neutral-soft)}.dyt-pill-count{border-radius:var(--radius-pill);background:var(--danger);min-width:20px;height:20px;color:var(--on-danger);font:700 var(--text-chip)/1 var(--font-sans);justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.dyt-mark-badge{border-radius:var(--radius-sm);background:var(--mark);height:22px;color:var(--on-mark);font:700 var(--text-chip)/1 var(--font-sans);letter-spacing:.02em;align-items:center;padding:0 8px;display:inline-flex}.dyt-status{font:500 var(--text-meta)/1.4 var(--font-sans);align-items:center;gap:4px;display:inline-flex}.dyt-status--info{color:var(--info)}.dyt-status--warn{color:var(--warn)}.dyt-status--danger{color:var(--danger)}.dyt-status--improve{color:var(--improve)}.dyt-status--neutral{color:var(--neutral)}.dyt-rule{border:0;border-top:2px solid var(--ink);margin:0}.dyt-hairline{border:0;border-top:1px solid var(--line);margin:0}.dyt-table{border-collapse:collapse;width:100%}.dyt-table th{text-align:left;border-bottom:2px solid var(--ink);font:600 var(--text-label)/1.3 var(--font-sans);color:var(--ink-subtle);text-transform:none;padding:0 12px 12px}.dyt-table td{border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink);padding:16px 12px}.dyt-table tr:hover>td{background:var(--surface-sunken)}.dyt-table .is-right{text-align:right}.dyt-table a{color:var(--ink);font-weight:600;text-decoration:none}.dyt-table a:hover{color:var(--accent);text-decoration:underline}.dyt-table-scroll{overflow-x:auto}.dyt-date-tile{border-radius:var(--radius-md);background:var(--tile-bg);width:72px;min-height:72px;color:var(--tile-ink);flex-direction:column;flex:0 0 72px;justify-content:center;align-self:start;align-items:center;gap:1px;display:flex}.dyt-date-tile .m{font:700 var(--text-tile-month)/1 var(--font-sans);letter-spacing:.02em;color:var(--mark)}.dyt-date-tile .d{font:800 var(--text-lane)/1 var(--font-display);font-variant-numeric:tabular-nums}.dyt-date-tile .y{font:600 var(--text-tile-year)/1 var(--font-sans);color:var(--tile-muted)}.dyt-board{background:var(--surface-brand);color:var(--on-brand)}.dyt-nav{height:var(--header-height);align-items:center;gap:36px;display:flex}.dyt-nav a{color:var(--on-brand);font:600 var(--text-nav)/1 var(--font-sans);text-decoration:none}.dyt-nav a:hover{color:var(--on-brand)}.dyt-nav a[aria-current=page]{color:var(--on-brand);box-shadow:inset 0 -3px 0 var(--mark)}.dyt-board .dyt-input{border-color:var(--surface-brand-raised)}.dyt-container{max-width:var(--content-max);margin:0 auto;padding:0 24px}@media (width<=767px){.dyt-container{padding:0 16px}}.dyt-cal-bar{background:var(--ink);border-radius:2px;height:4px}.dyt-cal-bar--tentative{background:var(--warn)}.dyt-cal-bar--cancelled{background:repeating-linear-gradient(90deg, var(--danger) 0 8px, transparent 8px 12px)}.dyt-cal-today{border-radius:var(--radius-sm);background:var(--accent);width:26px;height:26px;color:var(--on-accent);justify-content:center;align-items:center;display:inline-flex}
