html{-webkit-font-smoothing:antialiased}body{background:var(--surface);color:var(--ink);font:400 15px/24px var(--font-sans);margin:0}a{color:var(--accent)}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.dyt-display{font:800 clamp(36px, 5vw, 64px)/1 var(--font-display);letter-spacing:-.02em}.dyt-h1{font:800 44px/1.05 var(--font-display);letter-spacing:-.02em}.dyt-h2{font:700 28px/1.1 var(--font-display);letter-spacing:-.01em}.dyt-h3{font:700 20px/1.2 var(--font-display)}.dyt-kicker{font:700 12px/16px var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--signal-ink)}.dyt-lead{font:400 18px/28px var(--font-sans)}.dyt-body{font:400 15px/24px var(--font-sans)}.dyt-body-strong{font:600 15px/24px var(--font-sans)}.dyt-body-sm{font:400 13px/20px var(--font-sans);color:var(--ink-muted)}.dyt-ui{font:500 14px/20px var(--font-sans)}.dyt-label{font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-subtle)}.dyt-caption{font:400 13px/18px var(--font-sans);color:var(--ink-subtle)}.dyt-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.dyt-time-xl{font:800 72px/1 var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.dyt-time-lg{font:700 24px/1.1 var(--font-display);font-variant-numeric:tabular-nums}.dyt-time{font:700 18px/1.2 var(--font-display);font-variant-numeric:tabular-nums}.dyt-lane{font:800 22px/1 var(--font-display);font-variant-numeric:tabular-nums}.dyt-kpi{font:800 40px/1 var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.dyt-code{font:400 13px/20px var(--font-mono)}@media (width<=767px){.dyt-h1{font-size:32px}.dyt-h2{font-size:24px}.dyt-time-xl{font-size:48px}}.dyt-btn{border-radius:var(--radius-md);height:44px;font:600 14px/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;padding:0 14px;font-size:13px}.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:#fff}.dyt-btn--on-brand{background:var(--on-brand-action);color:#fff}.dyt-btn--on-brand:hover{color:#fff;background:#000}.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 15px/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;padding:0 18px;font-size:17px}.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 14px/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 15px/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 12px/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);color:#fff;min-width:20px;height:20px;font:700 11px/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 11px/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;align-items:center;padding:0 8px;display:inline-flex}.dyt-status{font:500 14px/20px 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 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-subtle);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(--surface-brand);width:64px;height:72px;color:var(--on-brand);flex-direction:column;flex:0 0 64px;justify-content:center;align-items:center;gap:1px;display:flex}.dyt-date-tile .m{font:700 11px/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mark)}.dyt-date-tile .d{font:800 22px/1 var(--font-display);font-variant-numeric:tabular-nums}.dyt-date-tile .y{font:500 11px/1 var(--font-sans);color:var(--on-brand-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 17px/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}
