.ui-icon{vertical-align:middle;color:inherit;flex-shrink:0;display:inline-block}.ui-spinner{flex-shrink:0;animation:.8s linear infinite ui-spin;display:inline-block}.ui-spinner circle{fill:none;stroke:currentColor;stroke-width:2.25px;stroke-linecap:round;stroke-dasharray:38 100}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ui-spinner{animation-duration:1.6s!important;animation-iteration-count:infinite!important}}.ui-button{--_edge:transparent;justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height-md);padding:0 var(--space-5);border:var(--border-width-strong) solid transparent;border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-text);font-size:var(--text-md);font-weight:var(--font-weight-semibold);white-space:nowrap;box-shadow:0 2px 0 0 var(--_edge);cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform var(--duration-fast) var(--ease-out), background-color var(--duration-fast) linear;background:0 0;line-height:1.2;text-decoration:none;display:inline-flex;position:relative}.ui-button:hover{text-decoration:none}.ui-button:active:not(:disabled,[aria-disabled=true]){transform:translateY(2px) scale(var(--press-scale));box-shadow:none}.ui-button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}.ui-button[aria-busy=true]{cursor:progress}.ui-button__label{text-overflow:ellipsis;overflow:hidden}.ui-button--primary{--_edge:var(--accent-active);background:var(--accent);color:var(--accent-contrast)}.ui-button--primary:hover:not(:disabled){background:var(--accent-hover)}.ui-button--primary:active:not(:disabled){background:var(--accent-active)}.ui-button--secondary{--_edge:var(--color-line-strong);border-color:var(--color-text);background:var(--color-surface)}.ui-button--secondary:hover:not(:disabled){background:var(--color-surface-sunken)}.ui-button--ghost{color:var(--color-text)}.ui-button--ghost:hover:not(:disabled){background:var(--color-surface-sunken)}.ui-button--ghost:active:not(:disabled){background:var(--color-surface-hover)}.ui-button--danger{--_edge:var(--red-800);background:var(--color-danger);color:#fff}.ui-button--danger:hover:not(:disabled){background:var(--color-danger-hover)}.ui-button--sm{min-height:var(--control-height-sm);padding:0 var(--space-3);gap:var(--space-1);font-size:var(--text-sm)}.ui-button--lg{min-height:var(--control-height-lg);padding:0 var(--space-6);font-size:var(--text-lg)}.ui-button--full{width:100%}.ui-button--icon{width:var(--control-height-md);border-radius:var(--radius-md);padding:0}.ui-button--icon.ui-button--sm{width:var(--control-height-sm)}.ui-button--icon.ui-button--lg{width:var(--control-height-lg)}.ui-button__badge{border:2px solid var(--color-bg);border-radius:var(--radius-full);background:var(--accent);min-width:18px;height:18px;color:var(--accent-contrast);font-size:11px;font-weight:var(--font-weight-semibold);text-align:center;font-variant-numeric:tabular-nums;animation:ui-badge-pop var(--duration-base) var(--ease-stamp);padding:0 5px;line-height:14px;position:absolute;top:4px;right:2px}@keyframes ui-badge-pop{0%{opacity:0;transform:scale(.4)}}.ui-alert{--_fg:var(--color-info);--_bg:var(--color-info-soft);align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-left:3px solid var(--_fg);border-radius:var(--radius-sm) var(--radius-md) var(--radius-md) var(--radius-sm);background:var(--_bg);color:var(--color-text);display:flex}.ui-alert--success{--_fg:var(--color-success);--_bg:var(--color-success-soft)}.ui-alert--warning{--_fg:var(--color-warning);--_bg:var(--color-warning-soft)}.ui-alert--danger{--_fg:var(--color-danger);--_bg:var(--color-danger-soft)}.ui-alert__icon{color:var(--_fg);margin-top:2px}.ui-alert__body{flex:1;min-width:0}.ui-alert__title{font-weight:var(--font-weight-semibold)}.ui-alert__text{font-size:var(--text-sm)}.ui-alert__action{align-self:center}.ui-empty{align-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-4);border:var(--border-width) dashed var(--color-line-strong);border-radius:var(--radius-lg);text-align:center;flex-direction:column;display:flex}.ui-empty--sm{padding:var(--space-6) var(--space-4)}.ui-empty__art{width:80px;height:80px;margin-bottom:var(--space-2);background:var(--color-surface);color:var(--accent-ink);border-radius:50%;place-items:center;display:grid;position:relative}.ui-empty--sm .ui-empty__art{width:64px;height:64px}.ui-empty__circle{fill:none;width:100%;height:100%;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;position:absolute;inset:0;transform:rotate(-8deg)}.ui-empty--error .ui-empty__art{color:var(--color-danger)}.ui-empty--error .ui-empty__circle{stroke:var(--color-danger)}.ui-empty__title{max-width:28rem;font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-display);letter-spacing:var(--tracking-display);line-height:var(--leading-tight);text-wrap:balance}.ui-empty--sm .ui-empty__title{font-family:var(--font-text);font-size:var(--text-md);font-weight:var(--font-weight-semibold)}.ui-empty__description{max-width:28rem;color:var(--color-text-muted)}.ui-empty__action{justify-content:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.ui-skeleton{border-radius:var(--radius-sm);background:var(--color-surface-hover);display:block;position:relative;overflow:hidden}.ui-skeleton:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--color-surface) 70%, transparent), transparent);animation:ui-shimmer 1.4s var(--ease-in-out) infinite;position:absolute;inset:0;transform:translate(-100%)}.ui-skeleton--text{width:100%;height:.9em;margin:.3em 0}.ui-skeleton--rect{border-radius:var(--radius-md);width:100%;height:6rem}.ui-skeleton--circle{border-radius:50%;width:40px;height:40px}.ui-skeleton-lines{display:block}@keyframes ui-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.ui-skeleton:after{display:none}}.ui-avatar{background:var(--_bg);width:40px;height:40px;color:var(--_fg);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;place-items:center;line-height:1;display:inline-grid;overflow:hidden}.ui-avatar--sm{width:32px;height:32px;font-size:var(--text-xs)}.ui-avatar--lg{width:64px;height:64px;font-family:var(--font-display);font-size:var(--text-xl)}.ui-avatar img{object-fit:cover;width:100%;height:100%}html:has(.ui-dialog[open]){overflow:hidden}.ui-dialog{max-width:none;max-height:none;color:var(--color-text);background:0 0;border:0;margin:0;padding:0;overflow:visible}.ui-dialog::backdrop{background:var(--color-overlay);animation:ui-fade-in var(--duration-slow) var(--ease-out)}.ui-dialog__surface{max-height:inherit;border:var(--border-width) solid var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-pop);flex-direction:column;display:flex}.ui-dialog__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-3) var(--space-2) var(--space-5);display:flex}.ui-dialog__titles{padding-top:var(--space-2)}.ui-dialog__title{font-size:var(--text-xl)}.ui-dialog__description{margin-top:var(--space-1);color:var(--color-text-muted)}.ui-dialog__body{min-height:0;padding:var(--space-2) var(--space-5) var(--space-5);overscroll-behavior:contain;flex:1;overflow-y:auto}.ui-dialog__footer{gap:var(--space-2);padding:var(--space-3) var(--space-5) calc(var(--space-4) + env(safe-area-inset-bottom,0px));border-top:var(--border-width) dashed var(--color-line-strong);flex-direction:column-reverse;display:flex}@media (width>=768px){.ui-dialog__footer{flex-direction:row;justify-content:flex-end}}.ui-dialog--modal{width:100%;max-height:calc(100dvh - var(--space-8));inset:auto 0 0}.ui-dialog--modal .ui-dialog__surface{border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:ui-sheet-in var(--duration-slow) var(--ease-out)}@media (width>=768px){.ui-dialog--modal{width:min(32rem, calc(100vw - var(--space-8)));height:fit-content;max-height:calc(100dvh - var(--space-16));margin:auto;inset:0}.ui-dialog--modal.ui-dialog--sm{width:min(26rem, calc(100vw - var(--space-8)))}.ui-dialog--modal.ui-dialog--lg{width:min(48rem, calc(100vw - var(--space-8)))}.ui-dialog--modal .ui-dialog__surface{border-radius:var(--radius-xl);box-shadow:var(--shadow-paper), var(--shadow-pop);animation:ui-modal-in var(--duration-slow) var(--ease-out)}}.ui-dialog--drawer{width:100%;max-height:calc(100dvh - var(--space-12));inset:auto 0 0}.ui-dialog--drawer .ui-dialog__surface{border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:ui-sheet-in var(--duration-slow) var(--ease-out)}.ui-dialog__grabber{width:40px;height:4px;margin-top:var(--space-2);border-radius:var(--radius-full);background:var(--color-line-strong);align-self:center}@media (width>=768px){.ui-dialog--drawer{width:min(28rem,100vw);height:100dvh;max-height:100dvh;inset:0 0 0 auto}.ui-dialog--drawer.ui-dialog--lg{width:min(40rem,100vw)}.ui-dialog--drawer .ui-dialog__surface{border-width:0 0 0 var(--border-width);height:100%;animation:ui-drawer-in var(--duration-slow) var(--ease-out);border-radius:0}.ui-dialog__grabber{display:none}}@keyframes ui-fade-in{0%{opacity:0}}@keyframes ui-modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}@keyframes ui-sheet-in{0%{transform:translateY(100%)}}@keyframes ui-drawer-in{0%{transform:translate(100%)}}.ui-shell{--sidebar-width:15.5rem;--header-height:3.5rem;--tabbar-height:4rem;min-height:100dvh}:root:has(.ui-shell){--app-bottom-bar:calc(4rem + env(safe-area-inset-bottom,0px))}@media (width>=1024px){:root:has(.ui-shell){--app-bottom-bar:0px}}.ui-shell__skip{top:var(--space-2);left:var(--space-2);z-index:var(--z-toast);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--color-text);color:var(--color-text-inverse);font-weight:var(--font-weight-semibold);position:fixed;transform:translateY(-200%)}.ui-shell__skip:focus-visible{transform:none}.ui-shell__nav ul,.ui-shell__tabbar ul,.ui-shell__more{margin:0;padding:0;list-style:none}.ui-shell__link{align-items:center;gap:var(--space-3);width:100%;min-height:var(--touch-target);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--text-md);font-weight:var(--font-weight-medium);text-align:left;transition:transform var(--duration-fast) var(--ease-out);background:0 0;border:0;text-decoration:none;display:flex;position:relative}.ui-shell__link:hover{background:var(--color-surface-sunken);color:var(--color-text)}.ui-shell__link:active{transform:scale(var(--press-scale))}.ui-shell__link.is-active{background:var(--accent-soft);color:var(--color-text);font-weight:var(--font-weight-semibold)}.ui-shell__link.is-active:before{content:"";background:var(--accent);border-radius:2px;width:4px;position:absolute;top:10px;bottom:10px;left:-2px;transform:rotate(3deg)}.ui-shell__link.is-active .ui-icon{color:var(--accent-ink)}.ui-shell__link-label{flex:1}.ui-shell__count{border-radius:var(--radius-full);background:var(--accent);min-width:22px;color:var(--accent-contrast);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);text-align:center;font-variant-numeric:tabular-nums;padding:1px 6px}.ui-shell__brand-name{font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--font-weight-display);letter-spacing:var(--tracking-display);line-height:var(--leading-tight)}.ui-shell__brand-caption,.ui-shell__user-caption{color:var(--color-text-muted);font-size:var(--text-sm)}.ui-shell__sidebar{display:none}.ui-shell__header{z-index:var(--z-sticky);justify-content:space-between;align-items:center;gap:var(--space-3);height:var(--header-height);padding:0 var(--space-2) 0 var(--page-gutter);border-bottom:var(--border-width) solid var(--color-line);background:var(--color-bg);display:flex;position:sticky;top:0}.ui-shell__header-brand{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ui-shell__header-actions{align-items:center;gap:var(--space-1);display:flex}.ui-shell__header-avatar{padding:0 var(--space-2);display:inline-flex}.ui-shell__content{width:100%;max-width:var(--page-max-width);padding:var(--space-5) var(--page-gutter) calc(var(--app-bottom-bar) + var(--space-8));margin:0 auto}.ui-shell__content:focus{outline:none}.ui-shell__tabbar{z-index:var(--z-nav);padding-bottom:env(safe-area-inset-bottom,0px);border-top:var(--border-width) solid var(--color-line-strong);background:var(--color-surface);position:fixed;bottom:0;left:0;right:0}.ui-shell__tabbar ul{height:var(--tabbar-height);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.ui-shell__tab{width:100%;height:100%;padding:0 var(--space-1);color:var(--color-text-muted);font-size:11px;font-weight:var(--font-weight-medium);transition:transform var(--duration-fast) var(--ease-out);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;line-height:1.2;text-decoration:none;display:flex}.ui-shell__tab:active{transform:scale(.94)}.ui-shell__tab:focus-visible{outline-offset:-4px;border-radius:var(--radius-md)}.ui-shell__tab-icon{border-radius:var(--radius-full);width:48px;height:28px;transition:transform var(--duration-base) var(--ease-out);place-items:center;display:grid;position:relative}.ui-shell__tab.is-active{color:var(--color-text);font-weight:var(--font-weight-semibold)}.ui-shell__tab.is-active .ui-shell__tab-icon{background:var(--accent-soft);color:var(--accent-ink)}.ui-shell__tab-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.ui-shell__dot{border:2px solid var(--color-surface);background:var(--accent);border-radius:50%;width:9px;height:9px;position:absolute;top:2px;right:10px}@media (width>=1024px){.ui-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);display:grid}.ui-shell__sidebar{gap:var(--space-6);height:100dvh;padding:var(--space-6) var(--space-3) var(--space-4);border-right:var(--border-width) solid var(--color-line);background:var(--color-bg);flex-direction:column;display:flex;position:sticky;top:0}.ui-shell__brand{gap:var(--space-1);padding:0 var(--space-3);flex-direction:column;display:flex}.ui-shell__brand .ui-shell__brand-name{font-size:var(--text-lg)}.ui-shell__nav{flex:1;overflow-y:auto}.ui-shell__nav ul{flex-direction:column;gap:2px;display:flex}.ui-shell__user{align-items:center;gap:var(--space-2);padding:var(--space-3) 0 0 var(--space-2);border-top:var(--border-width) dashed var(--color-line-strong);display:flex}.ui-shell__user-text{flex-direction:column;flex:1;min-width:0;display:flex}.ui-shell__user-name{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-shell__header{padding-right:var(--space-6);border-bottom-color:#0000;justify-content:flex-end}.ui-shell__header-brand,.ui-shell__header-avatar,.ui-shell__tabbar{display:none}.ui-shell__content{padding:var(--space-2) var(--page-gutter) var(--space-16)}}.ui-badge{--_fg:var(--color-text-muted);--_bg:var(--color-surface-sunken);align-items:center;gap:var(--space-1);max-width:100%;padding:3px var(--space-2);border-radius:var(--radius-sm);background:var(--_bg);color:var(--_fg);font-size:var(--text-sm);font-weight:var(--font-weight-medium);white-space:nowrap;vertical-align:middle;line-height:1.2;display:inline-flex}.ui-badge--sm{font-size:var(--text-xs);padding:2px 6px}.ui-badge--neutral{--_fg:var(--color-text-muted);--_bg:var(--color-surface-sunken)}.ui-badge--accent{--_fg:var(--accent-ink);--_bg:var(--accent-soft)}.ui-badge--success{--_fg:var(--color-success);--_bg:var(--color-success-soft)}.ui-badge--warning{--_fg:var(--color-warning);--_bg:var(--color-warning-soft)}.ui-badge--danger{--_fg:var(--color-danger);--_bg:var(--color-danger-soft)}.ui-badge--info{--_fg:var(--color-info);--_bg:var(--color-info-soft)}.ui-badge--stamp{padding-inline:var(--space-2);border:var(--border-width-strong) solid currentColor;background:var(--color-surface);font-weight:var(--font-weight-semibold);letter-spacing:.02em;transform:rotate(-3deg)}.ui-badge--changed{animation:ui-badge-change var(--duration-base) var(--ease-out)}.ui-badge--changed.ui-badge--stamp{animation:ui-stamp var(--duration-slower) var(--ease-stamp)}@keyframes ui-badge-change{0%{opacity:0;transform:translateY(4px)}}@keyframes ui-stamp{0%{opacity:0;transform:scale(1.8)rotate(-14deg)}60%{opacity:1}to{transform:rotate(-3deg)}}.ui-cal-grid,.ui-cal-month{--cal-hour:3rem;--cal-axis:3.25rem;border:var(--border-width) solid var(--color-line-strong);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;position:relative}.ui-cal-event{--_c:var(--_event-color,var(--accent));min-width:0;padding:var(--space-1) var(--space-2);border:0;border-left:3px solid var(--_c);border-radius:var(--radius-xs) var(--radius-sm) var(--radius-sm) var(--radius-xs);background:color-mix(in oklab, var(--_c) 13%, var(--color-surface));color:var(--color-text);font-size:var(--text-sm);line-height:var(--leading-snug);text-align:left;transition:transform var(--duration-fast) var(--ease-out);flex-direction:column;align-items:flex-start;gap:1px;display:flex;overflow:hidden}.ui-cal-event:hover{background:color-mix(in oklab, var(--_c) 22%, var(--color-surface))}.ui-cal-event:active{transform:scale(var(--press-scale))}.ui-cal-event__title{max-width:100%;font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-cal-event__meta{max-width:100%;color:var(--color-text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;overflow:hidden}.ui-cal-event--compact{align-items:baseline;gap:var(--space-1);flex-direction:row;padding-block:2px}.ui-cal-event--compact .ui-cal-event__meta{order:-1}.ui-cal-event--done{background:var(--color-surface-sunken)}.ui-cal-event--done .ui-cal-event__title{color:var(--color-text-muted)}.ui-cal-event--canceled{background:var(--color-surface);box-shadow:inset 0 0 0 var(--border-width) var(--color-line-strong);border-left-style:dashed}.ui-cal-event--canceled .ui-cal-event__title{color:var(--color-text-muted);text-decoration:line-through}.ui-cal-grid{overflow-x:auto}.ui-cal-grid__head,.ui-cal-grid__body{grid-template-columns:var(--cal-axis) repeat(var(--_days), minmax(0, 1fr));min-width:calc(var(--cal-axis) + var(--_days) * 5.75rem);display:grid}.ui-cal-grid--day .ui-cal-grid__head,.ui-cal-grid--day .ui-cal-grid__body{min-width:0}.ui-cal-grid__head{border-bottom:var(--border-width) solid var(--color-line-strong)}.ui-cal-grid__day-head{padding:var(--space-2) var(--space-1);border-left:var(--border-width) solid var(--color-line);color:var(--color-text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);flex-direction:column;align-items:center;gap:2px;display:flex}.ui-cal-grid__daynum{border-radius:var(--radius-full);min-width:2rem;height:2rem;color:var(--color-text);font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--font-weight-display);letter-spacing:0;text-transform:none;place-items:center;display:grid}.ui-cal-grid__day-head.is-today .ui-cal-grid__daynum{background:var(--accent);color:var(--accent-contrast)}.ui-cal-grid__body{height:calc(var(--_hours) * var(--cal-hour));position:relative}.ui-cal-grid__axis{flex-direction:column;display:flex}.ui-cal-grid__hour{height:var(--cal-hour);padding:2px var(--space-2) 0 0;color:var(--color-text-subtle);font-size:var(--text-xs);text-align:right;font-variant-numeric:tabular-nums;transform:translateY(-.6em)}.ui-cal-grid__hour:first-child{visibility:hidden}.ui-cal-grid__col{border-left:var(--border-width) solid var(--color-line);background-image:linear-gradient(var(--color-line) var(--border-width), transparent 0);background-size:100% var(--cal-hour);position:relative}.ui-cal-grid__col.is-today{background-color:color-mix(in oklab, var(--accent-soft) 45%, transparent)}.ui-cal-grid__col>.ui-cal-event{top:calc(var(--_top) * var(--cal-hour) / 60 + 1px);left:calc(var(--_col) * 100% / var(--_cols) + 2px);width:calc(100% / var(--_cols) - 4px);height:calc(var(--_len) * var(--cal-hour) / 60 - 2px);position:absolute}.ui-cal-grid__now{top:calc(var(--_top) * var(--cal-hour) / 60);z-index:var(--z-raised);background:var(--color-danger);pointer-events:none;height:2px;position:absolute;left:0;right:0}.ui-cal-grid__now:before{content:"";border-radius:var(--radius-full);background:var(--color-danger);width:10px;height:10px;position:absolute;top:-4px;left:-5px}.ui-cal-month{overflow:hidden}.ui-cal-month__head,.ui-cal-month__week{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.ui-cal-month__head{border-bottom:var(--border-width) solid var(--color-line-strong);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-align:center;text-transform:uppercase}.ui-cal-month__head>span{padding:var(--space-2) 0}.ui-cal-month__week+.ui-cal-month__week{border-top:var(--border-width) solid var(--color-line)}.ui-cal-month__cell{flex-direction:column;gap:2px;min-width:0;min-height:3.5rem;padding:2px;display:flex}.ui-cal-month__cell+.ui-cal-month__cell{border-left:var(--border-width) solid var(--color-line)}.ui-cal-month__cell.is-outside{background:var(--color-bg)}.ui-cal-month__date{width:100%;min-height:var(--touch-target);padding:var(--space-1) 0;border-radius:var(--radius-sm);color:var(--color-text);background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;display:flex}.ui-cal-month__date:hover{background:var(--color-surface-sunken)}.ui-cal-month__cell.is-outside .ui-cal-month__daynum{color:var(--color-text-subtle)}.ui-cal-month__daynum{border-radius:var(--radius-full);min-width:1.75rem;height:1.75rem;font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;place-items:center;display:grid}.ui-cal-month__cell.is-today .ui-cal-month__daynum{background:var(--accent);color:var(--accent-contrast)}.ui-cal-month__dots{gap:3px;display:flex}.ui-cal-month__dot{border-radius:var(--radius-full);background:var(--_event-color,var(--accent));width:6px;height:6px}.ui-cal-month__dot--canceled{box-shadow:inset 0 0 0 1.5px var(--color-text-subtle);background:0 0}.ui-cal-month__events,.ui-cal-month__more{display:none}@media (width>=768px){.ui-cal-month__cell{min-height:7.5rem;padding:var(--space-1)}.ui-cal-month__date{flex-direction:row;justify-content:flex-start;min-height:0;padding:0}.ui-cal-month__dots{display:none}.ui-cal-month__events{flex-direction:column;gap:2px;display:flex}.ui-cal-month__events .ui-cal-event{width:100%}.ui-cal-month__more{min-height:1.5rem;padding:0 var(--space-2);border-radius:var(--radius-xs);color:var(--accent-ink);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);background:0 0;border:0;align-self:flex-start;display:block}.ui-cal-month__more:hover{background:var(--color-surface-sunken)}}.ui-cal-transition{--_shift:calc(var(--rise-distance) * 3);animation:ui-cal-in var(--duration-base) var(--ease-out) both}.ui-cal-transition--back{--_shift:calc(var(--rise-distance) * -3)}.ui-cal-transition--none{--_shift:0px}@keyframes ui-cal-in{0%{opacity:0;transform:translateX(var(--_shift))}}.ui-card{border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;position:relative}.ui-card--outlined{border:var(--border-width) solid var(--color-line-strong)}.ui-card--paper{border:var(--border-width) solid var(--color-text);box-shadow:var(--shadow-paper)}.ui-card--accent{border:var(--border-width) solid var(--color-text);box-shadow:var(--shadow-paper-accent)}.ui-card--sunken{background:var(--color-surface-sunken)}.ui-card--plain{background:0 0}.ui-card--pad-none{padding:0}.ui-card--pad-sm{padding:var(--space-3)}.ui-card--pad-md{padding:var(--space-4)}.ui-card--pad-lg{padding:var(--space-6)}@media (width>=768px){.ui-card--pad-md{padding:var(--space-5)}.ui-card--pad-lg{padding:var(--space-8)}}.ui-panel{flex-direction:column;display:flex}.ui-panel__header{justify-content:space-between;align-items:flex-start;gap:var(--space-2) var(--space-4);padding:var(--space-4) var(--space-4) var(--space-3);flex-wrap:wrap;display:flex}.ui-panel__titles{flex-direction:column;gap:2px;min-width:0;display:flex}.ui-panel__title{font-family:var(--font-text);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);letter-spacing:0;line-height:var(--leading-snug)}.ui-panel__description{color:var(--color-text-muted);font-size:var(--text-sm)}.ui-panel__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-panel__body{padding:0 var(--space-4) var(--space-4);flex:1}.ui-panel__footer{padding:var(--space-3) var(--space-4);border-top:var(--border-width) dashed var(--color-line-strong)}@media (width>=768px){.ui-panel__header{padding:var(--space-5) var(--space-5) var(--space-3)}.ui-panel__body{padding:0 var(--space-5) var(--space-5)}.ui-panel__footer{padding:var(--space-3) var(--space-5)}}.ui-copy-field__row{gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-copy-field__box{background:var(--color-surface-sunken);flex:12rem}.ui-copy-field__value{text-overflow:ellipsis}.ui-copy-field__row>.ui-button{flex:none}.ui-copy-field--secret .ui-copy-field__box{border-style:dashed;border-color:var(--color-text);background:var(--color-surface)}.ui-copy-field--secret .ui-copy-field__value{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);letter-spacing:.08em}@media (width<=479px){.ui-copy-field__row>.ui-button{flex:100%}}.ui-dl{flex-direction:column;margin:0;display:flex}.ui-dl--rows .ui-dl__item{padding:var(--space-2) 0;border-bottom:var(--border-width) dashed var(--color-line);flex-direction:column;gap:2px;display:flex}.ui-dl--rows .ui-dl__item:first-child{padding-top:0}.ui-dl--rows .ui-dl__item:last-child{border-bottom:0;padding-bottom:0}.ui-dl__term{color:var(--color-text-muted);font-size:var(--text-sm)}.ui-dl__value{overflow-wrap:anywhere;min-width:0;margin:0}.ui-dl__value.is-empty{color:var(--color-text-subtle)}@media (width>=480px){.ui-dl--rows .ui-dl__item{gap:var(--space-4);grid-template-columns:minmax(8rem,36%) minmax(0,1fr);align-items:baseline;display:grid}}.ui-dl--grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));display:grid}.ui-dl--grid .ui-dl__item{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-sunken);flex-direction:column-reverse;gap:2px;display:flex}.ui-dl--grid .ui-dl__value{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-display);line-height:var(--leading-tight);font-variant-numeric:tabular-nums}.ui-segmented{border:0;min-width:0;margin:0;padding:0}.ui-segmented__legend{margin-bottom:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-weight-medium);padding:0}.ui-segmented__track{border:var(--border-width) solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface-sunken);scrollbar-width:none;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.ui-segmented--full .ui-segmented__track{width:100%;display:flex}.ui-segmented--full .ui-segmented__item{flex:1}.ui-segmented__item{flex-shrink:0;display:flex;position:relative}.ui-segmented__input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.ui-segmented__input:disabled{cursor:not-allowed}.ui-segmented__face{justify-content:center;align-items:center;gap:var(--space-1);min-height:calc(var(--control-height-md) - 8px);padding:0 var(--space-3);border-radius:calc(var(--radius-md) - 3px);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-weight-medium);white-space:nowrap;transition:transform var(--duration-fast) var(--ease-out), background-color var(--duration-fast) linear;flex:1;display:inline-flex}.ui-segmented--sm .ui-segmented__face{min-height:calc(var(--control-height-sm) - 8px);padding:0 var(--space-2)}.ui-segmented__item:hover .ui-segmented__face{color:var(--color-text)}.ui-segmented__item.is-selected .ui-segmented__face{background:var(--color-surface);color:var(--color-text);font-weight:var(--font-weight-semibold);box-shadow:0 0 0 var(--border-width) var(--color-text)}.ui-segmented__item:active .ui-segmented__face{transform:scale(var(--press-scale))}.ui-segmented__input:focus-visible+.ui-segmented__face{outline:var(--focus-ring-width) solid var(--accent-ring);outline-offset:1px}.ui-segmented__input:disabled+.ui-segmented__face{opacity:.45}.ui-toggle-group{gap:var(--space-1);flex-direction:column;display:flex}.ui-toggle-group__items{gap:var(--space-1);flex-wrap:wrap;display:flex}.ui-toggle-group__item{display:flex;position:relative}.ui-toggle-group__item .ui-segmented__face{min-width:var(--touch-target);min-height:var(--touch-target);padding:0 var(--space-2);border:var(--border-width-strong) solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}.ui-toggle-group__item:hover .ui-segmented__face{border-color:var(--color-border-control-hover)}.ui-toggle-group__item.is-selected .ui-segmented__face{border-color:var(--color-text);background:var(--color-text);color:var(--color-text-inverse);box-shadow:none}.ui-toggle-group.is-invalid .ui-segmented__face{border-color:var(--color-danger)}.ui-swatches{gap:var(--space-1);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.ui-swatches legend{margin-bottom:var(--space-1);padding:0}.ui-swatches__items{gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-swatches__item{width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-md);cursor:pointer;place-items:center;display:grid;position:relative}.ui-swatches__input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.ui-swatches__swatch{border:var(--border-width-strong) solid var(--color-surface);border-radius:var(--radius-sm);background:var(--_swatch);width:34px;height:34px;color:var(--color-text-inverse);box-shadow:0 0 0 var(--border-width) var(--color-line-strong);transition:transform var(--duration-fast) var(--ease-out);place-items:center;display:grid}.ui-swatches__swatch.is-none{background:linear-gradient(135deg, transparent calc(50% - 1px), var(--color-danger) calc(50% - 1px), var(--color-danger) calc(50% + 1px), transparent calc(50% + 1px)), var(--color-surface);color:var(--color-text)}.ui-swatches__item:hover .ui-swatches__swatch{transform:scale(1.06)}.ui-swatches__item.is-selected .ui-swatches__swatch{box-shadow:0 0 0 var(--border-width-strong) var(--color-text)}.ui-swatches__input:focus-visible+.ui-swatches__swatch{outline:var(--focus-ring-width) solid var(--accent-ring);outline-offset:2px}.ui-field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.ui-field__label{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.ui-field__required{color:var(--color-danger)}.ui-field__optional{color:var(--color-text-muted);font-weight:var(--font-weight-regular)}.ui-field__hint,.ui-field__error{align-items:flex-start;gap:var(--space-1);font-size:var(--text-sm);line-height:var(--leading-snug);display:flex}.ui-field__hint{color:var(--color-text-muted)}.ui-field__error{color:var(--color-danger);animation:ui-field-shake var(--duration-base) var(--ease-out)}.ui-field__error .ui-icon{margin-top:1px}@keyframes ui-field-shake{0%{opacity:0;transform:translate(-4px)}60%{transform:translate(2px)}}.ui-input{align-items:center;gap:var(--space-2);min-height:var(--control-height-md);padding:0 var(--space-3);border:var(--border-width-strong) solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);transition:border-color var(--duration-fast) linear;display:flex;position:relative}.ui-input:hover{border-color:var(--color-border-control-hover)}.ui-input:focus-within{border-color:var(--accent-ring);outline:var(--focus-ring-width) solid var(--accent-ring);outline-offset:1px}.ui-field--invalid .ui-input{border-color:var(--color-danger)}.ui-field--invalid .ui-input:focus-within{outline-color:var(--color-danger)}.ui-input:has(>.ui-input__control:disabled){background:var(--color-surface-sunken);color:var(--color-text-muted);cursor:not-allowed;border-style:dashed}.ui-input>.ui-icon{color:var(--color-text-muted)}.ui-input__control{min-width:0;min-height:calc(var(--control-height-md) - 3px);font-size:var(--text-md);line-height:var(--leading-snug);background:0 0;border:0;flex:1;padding:0}.ui-input__control:focus,.ui-input__control:focus-visible{outline:none}.ui-input__control::placeholder{color:var(--color-text-subtle);opacity:1}.ui-input__control:disabled{cursor:not-allowed}.ui-input__control::-webkit-calendar-picker-indicator{opacity:.7;cursor:pointer}.ui-input__suffix{color:var(--color-text-muted);font-size:var(--text-sm);white-space:nowrap}.ui-input__action{margin-right:calc(var(--space-2) * -1)}.ui-input--textarea{padding:var(--space-2) var(--space-3);align-items:stretch}.ui-input--textarea .ui-input__control{min-height:6rem;line-height:var(--leading-normal)}.ui-input--select{padding:0}.ui-input--select .ui-input__control{appearance:none;padding:0 calc(var(--space-3) + 28px) 0 var(--space-3);cursor:pointer}.ui-input--select>.ui-icon{right:var(--space-3);pointer-events:none;position:absolute}.ui-chip{align-items:center;gap:var(--space-1);max-width:100%;min-height:28px;padding:2px var(--space-2);border:var(--border-width) solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);vertical-align:middle;line-height:1.2;display:inline-flex}.ui-chip__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-chip__dot{border-radius:var(--radius-full);background:var(--_chip-color,var(--accent));width:10px;height:10px;box-shadow:0 0 0 var(--border-width) var(--color-line-strong);flex-shrink:0}.ui-chip__remove{width:24px;height:24px;margin:-2px calc(var(--space-1) * -1) -2px 0;border-radius:var(--radius-xs);color:var(--color-text-muted);background:0 0;border:0;place-items:center;padding:0;display:grid}.ui-chip__remove:hover{background:var(--color-surface-sunken);color:var(--color-text)}.ui-chip__remove{position:relative}.ui-chip__remove:after{content:"";position:absolute;inset:-10px}.ui-tag-input{padding-block:var(--space-1);flex-wrap:wrap}.ui-tag-input__chips{gap:var(--space-1);flex-wrap:wrap;display:flex}.ui-tag-input__chips>li{min-width:0;display:flex}.ui-tag-input__control{flex:1 0 8rem}.ui-chart{gap:var(--space-3);flex-direction:column;min-width:0;margin:0;display:flex}.ui-chart__header{justify-content:space-between;align-items:flex-start;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.ui-chart__title{font-family:var(--font-text);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);letter-spacing:0}.ui-chart__description{color:var(--color-text-muted);font-size:var(--text-sm)}.ui-chart__actions{gap:var(--space-2);display:flex}.ui-chart__plot{min-height:12rem;animation:ui-chart-in var(--duration-slower) var(--ease-out);position:relative}.ui-chart__plot svg{width:100%;height:auto;overflow:visible}.ui-chart__legend{gap:var(--space-2) var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.ui-chart__table:not(.ds-visually-hidden){overflow-x:auto}.ui-chart__table table{width:100%;font-size:var(--text-sm)}.ui-chart__table th,.ui-chart__table td{padding:var(--space-2) var(--space-3);border-bottom:var(--border-width) solid var(--color-line);text-align:left}.ui-chart__table th{color:var(--color-text-muted);font-weight:var(--font-weight-semibold)}.ui-chart__table .is-numeric{text-align:right}@keyframes ui-chart-in{0%{opacity:0;transform:translateY(var(--rise-distance))}}.ui-choice{align-items:flex-start;gap:var(--space-3);min-height:var(--touch-target);padding:calc((var(--touch-target) - 24px) / 2) 0;display:flex}.ui-choice__box{flex-shrink:0;width:24px;height:24px;display:inline-flex;position:relative}.ui-choice__input{appearance:none;border:var(--border-width-strong) solid var(--color-border-control);background:var(--color-surface);cursor:pointer;transition:background-color var(--duration-fast) linear, border-color var(--duration-fast) linear;margin:0;position:absolute;inset:0}.ui-choice__input--checkbox{border-radius:var(--radius-xs)}.ui-choice__input--radio{border-radius:50%}.ui-choice__input:hover:not(:disabled){border-color:var(--color-border-control-hover)}.ui-choice__input:checked,.ui-choice__input:indeterminate{border-color:var(--accent);background:var(--accent)}.ui-choice__input--radio:checked{background:var(--color-surface)}.ui-choice__input:disabled{cursor:not-allowed;opacity:.55;border-style:dashed}.ui-choice--invalid .ui-choice__input{border-color:var(--color-danger)}.ui-choice__mark{fill:none;stroke:var(--accent-contrast);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;opacity:0;transition:opacity var(--duration-fast) linear, transform var(--duration-base) var(--ease-stamp);position:absolute;inset:0;transform:scale(.5)rotate(-12deg)}.ui-choice__input:checked+.ui-choice__mark,.ui-choice__input:indeterminate+.ui-choice__mark{opacity:1;transform:none}.ui-choice__dot{background:var(--accent);pointer-events:none;opacity:0;transition:opacity var(--duration-fast) linear, transform var(--duration-base) var(--ease-stamp);border-radius:50%;position:absolute;inset:6px;transform:scale(.3)}.ui-choice__input:checked+.ui-choice__dot{opacity:1;transform:none}.ui-choice__text{cursor:pointer;flex-direction:column;gap:2px;padding-top:1px;display:flex}.ui-choice__label{line-height:var(--leading-snug)}.ui-choice__description{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-snug)}.ui-radio-group{border:0;min-width:0;margin:0;padding:0}.ui-radio-group>legend{margin-bottom:var(--space-1);padding:0}.ui-radio-group--inline .ui-radio-group__options{column-gap:var(--space-6);flex-wrap:wrap;display:flex}.ui-choice--switch{justify-content:space-between;align-items:center;gap:var(--space-4)}.ui-switch{border:var(--border-width-strong) solid var(--color-border-control);border-radius:var(--radius-full);background:var(--color-surface-sunken);width:48px;height:28px;transition:background-color var(--duration-base) linear, border-color var(--duration-base) linear;flex-shrink:0;padding:0;position:relative}.ui-switch:before{content:"";position:absolute;inset:-9px -2px}.ui-switch__thumb{background:var(--color-text-muted);width:19px;height:19px;transition:transform var(--duration-base) var(--ease-out);border-radius:50%;position:absolute;top:3px;left:3px}.ui-switch[aria-checked=true]{border-color:var(--accent);background:var(--accent)}.ui-switch[aria-checked=true] .ui-switch__thumb{background:var(--accent-contrast);transform:translate(20px)}.ui-switch:active .ui-switch__thumb{transform:scale(1.1)}.ui-switch[aria-checked=true]:active .ui-switch__thumb{transform:translate(20px)scale(1.1)}.ui-switch:disabled{opacity:.5}.ui-combobox{position:relative}.ui-combobox__toggle{width:36px;height:36px;margin-right:calc(var(--space-2) * -1);border-radius:var(--radius-sm);color:var(--color-text-muted);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.ui-combobox__toggle:hover:not(:disabled){background:var(--color-surface-sunken)}.ui-combobox__list{top:calc(100% + var(--space-1));z-index:var(--z-dropdown);max-height:min(20rem,60vh);padding:var(--space-1);overscroll-behavior:contain;border:var(--border-width) solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-pop);margin:0;list-style:none;position:absolute;left:0;right:0;overflow-y:auto}.ui-combobox__list.is-open{animation:ui-pop-in var(--duration-base) var(--ease-out);transform-origin:top}.ui-combobox__options{margin:0;padding:0;list-style:none}.ui-combobox__group{padding:var(--space-2) var(--space-3) var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase}.ui-combobox__options+.ui-combobox__options>.ui-combobox__group{margin-top:var(--space-1);border-top:var(--border-width) solid var(--color-line)}.ui-combobox__option{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:var(--control-height-md);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;display:flex}.ui-combobox__option.is-active{background:var(--accent-soft)}.ui-combobox__option.is-selected{font-weight:var(--font-weight-semibold)}.ui-combobox__option.is-selected .ui-icon{color:var(--accent-ink)}.ui-combobox__option[aria-disabled=true]{color:var(--color-text-subtle);cursor:not-allowed}.ui-combobox__option-text{flex-direction:column;display:flex}.ui-combobox__option-description{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-weight-regular)}.ui-combobox__list--empty{padding:var(--space-4) var(--space-3);color:var(--color-text-muted);text-align:center}@keyframes ui-pop-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.ui-file-list{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.ui-file-list__files{gap:var(--space-2);display:grid}@media (width>=768px){.ui-file-list__files{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}}.ui-file-list__images{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));display:grid}.ui-file-list--lg .ui-file-list__images{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr))}.ui-file-list--lg .ui-file-image img{object-fit:contain}.ui-file-chip{align-items:center;gap:var(--space-3);min-width:0;min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);transition:border-color var(--duration-fast) linear;text-decoration:none;display:flex}.ui-file-chip:hover{border-color:var(--color-border-control-hover);background:var(--color-surface-hover)}.ui-file-chip:focus-visible,.ui-file-image:focus-visible{outline:var(--focus-ring-width) solid var(--accent-ring);outline-offset:var(--focus-ring-offset)}.ui-file-chip__icon{width:var(--space-8);height:var(--space-8);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-ink);flex-shrink:0;place-items:center;display:grid}.ui-file-chip__text{flex-direction:column;flex:auto;min-width:0;display:flex}.ui-file-chip__name{font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-file-chip__meta{color:var(--color-text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.ui-file-chip__action{color:var(--color-text-muted);flex-shrink:0}.ui-file-image{border:var(--border-width) solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.ui-file-image img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform var(--duration-base) var(--ease-out);display:block}.ui-file-image:hover img{transform:scale(1.03)}.ui-file-image__caption{padding:var(--space-1) var(--space-2);background:var(--color-surface);font-size:var(--text-xs)}.ui-file-image__name{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.ui-upload{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.ui-dropzone-wrap{gap:var(--space-2);flex-direction:column;display:flex}.ui-dropzone{align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-4);border:var(--border-width-strong) dashed var(--color-border-control);border-radius:var(--radius-lg);background:var(--color-bg);background-image:var(--pattern-grid);background-size:var(--grid-size) var(--grid-size);text-align:center;transition:border-color var(--duration-fast) linear;flex-direction:column;display:flex}.ui-dropzone--compact{padding:var(--space-3);text-align:left;flex-flow:wrap;justify-content:center}.ui-dropzone.is-dragging{border-color:var(--accent-ring);background-color:var(--accent-soft)}.ui-dropzone.is-disabled{border-style:solid;border-color:var(--color-line-strong)}.ui-dropzone__icon{color:var(--accent-ink)}.ui-dropzone.is-dragging .ui-dropzone__icon{animation:ui-dropzone-bob var(--duration-slow) var(--ease-out)}.ui-dropzone__text{color:var(--color-text-muted);font-size:var(--text-sm)}.ui-dropzone__actions{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-dropzone__rejected{gap:var(--space-1);color:var(--color-warning);font-size:var(--text-sm);flex-direction:column;display:flex}.ui-dropzone__rejected li{align-items:flex-start;gap:var(--space-1);display:flex}.ui-dropzone__rejected .ui-icon{flex-shrink:0;margin-top:1px}@keyframes ui-dropzone-bob{50%{transform:translateY(-3px)}}.ui-upload__list{gap:var(--space-2);flex-direction:column;display:flex}.ui-upload__item{align-items:flex-start;gap:var(--space-3);min-width:0;padding:var(--space-2);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);animation:ui-upload-in var(--duration-base) var(--ease-out);display:flex}.ui-upload__item.is-error{border-color:var(--color-danger);background:var(--color-danger-soft)}.ui-upload__thumb{width:var(--control-height-md);height:var(--control-height-md);border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-muted);flex-shrink:0;place-items:center;display:grid;overflow:hidden}.ui-upload__thumb img{object-fit:cover;width:100%;height:100%}.ui-upload__info{gap:var(--space-1);flex-direction:column;flex:auto;min-width:0;display:flex}.ui-upload__name{font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-upload__name a{color:var(--accent-ink)}.ui-upload__meta{align-items:center;gap:var(--space-1) var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.ui-upload__done{align-items:center;gap:var(--space-1);color:var(--color-success);display:inline-flex}.ui-upload__bar{height:var(--space-1);border-radius:var(--radius-full);background:var(--color-surface-sunken);display:block;overflow:hidden}.ui-upload__bar>span{background:var(--accent);transform-origin:0;height:100%;transition:transform var(--duration-base) var(--ease-out);display:block}.ui-upload__error{align-items:flex-start;gap:var(--space-1);color:var(--color-danger);font-size:var(--text-sm);display:flex}.ui-upload__error .ui-icon{flex-shrink:0;margin-top:1px}@keyframes ui-upload-in{0%{opacity:0;transform:translateY(var(--rise-distance))}}.ui-pagination{justify-content:center;align-items:center;gap:var(--space-2);display:flex}.ui-pagination__pages{gap:var(--space-1);margin:0;padding:0;list-style:none;display:none}.ui-pagination__page{min-width:var(--touch-target);height:var(--touch-target);padding:0 var(--space-2);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;background:0 0;border:0}.ui-pagination__page:hover:not(.is-current){background:var(--color-surface-sunken)}.ui-pagination__page.is-current{background:var(--color-text);color:var(--color-text-inverse)}.ui-pagination__gap{width:24px;color:var(--color-text-muted);place-items:center;display:grid}.ui-pagination__status{min-width:9rem;color:var(--color-text-muted);font-size:var(--text-sm);text-align:center;font-variant-numeric:tabular-nums}@media (width>=768px){.ui-pagination__pages{display:flex}.ui-pagination__status{display:none}}.ui-breadcrumbs ol{align-items:center;gap:var(--space-1);font-size:var(--text-sm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.ui-breadcrumbs li{align-items:center;gap:var(--space-1);color:var(--color-text-muted);display:inline-flex}.ui-breadcrumbs a{color:var(--color-text-muted);text-decoration:none}.ui-breadcrumbs a:hover{color:var(--color-text);text-decoration:underline}.ui-breadcrumbs [aria-current=page]{color:var(--color-text)}.ui-page-header{gap:var(--space-3);margin-bottom:var(--space-6);flex-direction:column;display:flex}.ui-page-header__back{align-items:center;gap:var(--space-1);min-height:var(--touch-target);color:var(--color-text-muted);font-weight:var(--font-weight-medium);align-self:flex-start;text-decoration:none;display:inline-flex}.ui-page-header__row{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.ui-page-header__titles{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.ui-page-header__eyebrow{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase}.ui-page-header__title{font-size:var(--text-3xl)}.ui-page-header__description{max-width:40rem;color:var(--color-text-muted)}.ui-page-header__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=767.98px){.ui-page-header__actions{width:100%}.ui-page-header__actions>*{flex:1}}.ui-rich{overflow-wrap:anywhere;min-width:0;color:var(--color-text);font-size:var(--text-md);line-height:var(--leading-normal)}.ui-rich>*+*{margin-top:var(--space-3)}.ui-rich :is(h2,h3,h4){font-family:var(--font-text);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug)}.ui-rich h2{font-size:var(--text-xl)}.ui-rich h3{font-size:var(--text-lg)}.ui-rich h4{font-size:var(--text-md)}.ui-rich :is(ul,ol){padding-left:var(--space-6)}.ui-rich ul{list-style:outside}.ui-rich ol{list-style:decimal}.ui-rich li+li{margin-top:var(--space-1)}.ui-rich a{color:var(--accent-ink);text-underline-offset:.15em;text-decoration:underline}.ui-rich blockquote{padding-left:var(--space-4);border-left:var(--border-width-strong) solid var(--color-line-strong);color:var(--color-text-muted)}.ui-rich :is(code,pre){font-family:var(--font-mono);font-size:.92em}.ui-rich :not(pre)>code{padding:0 var(--space-1);border-radius:var(--radius-xs);background:var(--color-surface-sunken)}.ui-rich pre{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-sunken);overflow-x:auto}.ui-rich mark{padding:0 var(--space-1);background:var(--accent-soft);color:inherit}.ui-rich hr{border:0;border-top:var(--border-width) solid var(--color-line-strong)}.ui-rich table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.ui-rich :is(th,td){padding:var(--space-1) var(--space-2);border:var(--border-width) solid var(--color-line-strong);text-align:left}.ui-math{color:var(--color-text)}.ui-math--display{max-width:100%;padding-block:var(--space-1);text-align:center;display:block;overflow:auto hidden}.ui-math__source{padding:0 var(--space-1);border-radius:var(--radius-xs);background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--font-mono);font-size:.92em}.ui-math .katex{font-size:1.1em}.ui-rte__frame{border:var(--border-width) solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color var(--duration-fast) linear}.ui-rte__frame:hover{border-color:var(--color-border-control-hover)}.ui-rte__frame:has(.ui-rte__area:focus){border-color:var(--accent-ring);outline:var(--focus-ring-width) solid var(--accent-ring);outline-offset:1px}.ui-field--invalid .ui-rte__frame{border-color:var(--color-danger)}.ui-field--invalid .ui-rte__frame:has(.ui-rte__area:focus){outline-color:var(--color-danger)}.ui-rte__toolbar{gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:var(--border-width) solid var(--color-line);background:var(--color-surface-sunken);flex-wrap:wrap;display:flex}.ui-rte__tool.is-active{background:var(--accent-soft);color:var(--accent-ink)}.ui-rte__area{min-height:calc(var(--_rows,5) * 1.5em + var(--space-3) * 2);max-height:70vh;padding:var(--space-3);color:var(--color-text);font-size:var(--text-md);overflow-wrap:anywhere;cursor:text;outline:none;line-height:1.5;overflow-y:auto}.ui-rte__area>*+*{margin-top:var(--space-2)}.ui-rte__area :is(ul,ol){padding-left:var(--space-6)}.ui-rte__area ul{list-style:outside}.ui-rte__area ol{list-style:decimal}.ui-rte__area a{color:var(--accent-ink);text-decoration:underline}.ui-rte__area.is-empty:before{content:attr(data-placeholder);color:var(--color-text-subtle);pointer-events:none;position:absolute}.ui-rte__area.is-empty{position:relative}.is-disabled .ui-rte__area{background:var(--color-surface-sunken);color:var(--color-text-muted);cursor:not-allowed}.ui-rte__math{max-width:100%;padding:0 var(--space-1);border-radius:var(--radius-xs);background:var(--accent-soft);vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-block}div.ui-rte__math{padding:var(--space-2);text-align:center;display:block;overflow-x:auto}.ui-rte__math:focus-visible{outline:var(--focus-ring-width) solid var(--accent-ring);outline-offset:1px}.ui-rte__dialog,.ui-formula{gap:var(--space-4);flex-direction:column;display:flex}.ui-formula__input textarea{font-family:var(--font-mono);font-size:var(--text-md)}.ui-formula__preview-label{margin-bottom:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-weight-medium)}.ui-formula__preview{min-height:4.5rem;padding:var(--space-3);border:var(--border-width) dashed var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-bg);place-items:center;font-size:1.15em;display:grid;overflow-x:auto}.ui-formula__placeholder{color:var(--color-text-subtle);font-size:var(--text-sm)}.ui-formula__error{margin-top:var(--space-2);color:var(--color-danger);font-size:var(--text-sm)}.ui-table{min-width:0}.ui-table__scroll{display:none}.ui-table__cards{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ui-table-card{gap:var(--space-2);padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.ui-table-card.is-highlighted{border-color:var(--accent);background:var(--accent-soft)}.ui-table-card__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.ui-table-card__titles{min-width:0}.ui-table-card__title{font-weight:var(--font-weight-semibold)}.ui-table-card__subtitle{color:var(--color-text-muted);font-size:var(--text-sm)}.ui-table-card__aside{flex-shrink:0}.ui-table-card__fields{gap:var(--space-2) var(--space-4);padding-top:var(--space-2);border-top:var(--border-width) dashed var(--color-line);grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));margin:0;display:grid}.ui-table-card__field{min-width:0}.ui-table-card__field dt{color:var(--color-text-muted);font-size:var(--text-xs)}.ui-table-card__field dd{min-width:0;font-size:var(--text-sm);overflow-wrap:anywhere;margin:0}.ui-table-card__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width>=768px){.ui-table__cards{display:none}.ui-table__scroll{border:var(--border-width) solid var(--color-line-strong);border-radius:var(--radius-lg);background:var(--color-surface);display:block;overflow-x:auto}}.ui-table__table{width:100%;font-size:var(--text-sm)}.ui-table__table caption{padding:var(--space-3) var(--space-4);font-weight:var(--font-weight-semibold);text-align:left}.ui-table__table th,.ui-table__table td{padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--color-line);vertical-align:middle}.ui-table--compact .ui-table__table th,.ui-table--compact .ui-table__table td{padding:var(--space-2) var(--space-3)}.ui-table__table th{background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;white-space:nowrap}.ui-table__table tbody tr:last-child td{border-bottom:0}.ui-table__table tbody tr{transition:background-color var(--duration-fast) linear}.ui-table__table tbody tr:hover{background:color-mix(in srgb, var(--color-surface-sunken) 55%, transparent)}.ui-table__table tbody tr.is-highlighted{background:var(--accent-soft)}.ui-table__cell--start{text-align:left}.ui-table__cell--center{text-align:center}.ui-table__cell--end{text-align:right}.ui-table__cell--numeric{font-variant-numeric:tabular-nums;white-space:nowrap}.ui-table__sort{align-items:center;gap:var(--space-1);margin:calc(var(--space-1) * -1) calc(var(--space-2) * -1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;display:inline-flex}.ui-table__sort:hover{background:var(--color-surface-hover);color:var(--color-text)}.ui-table__sort.is-active{color:var(--color-text)}.ui-table-empty__text{padding:var(--space-8) var(--space-4);color:var(--color-text-muted);text-align:center}.ui-tabs__list{gap:var(--space-1);margin:0 calc(var(--page-gutter) * -1);padding:0 var(--page-gutter);border-bottom:var(--border-width) solid var(--color-line);scrollbar-width:none;display:flex;overflow-x:auto}.ui-tabs__list::-webkit-scrollbar{display:none}@media (width>=768px){.ui-tabs__list{margin:0;padding:0}}.ui-tabs__tab{align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:0 var(--space-3);border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--color-text-muted);font-weight:var(--font-weight-medium);white-space:nowrap;background:0 0;border:0;flex-shrink:0;display:inline-flex;position:relative}.ui-tabs__tab:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-sunken)}.ui-tabs__tab:focus-visible{outline-offset:-2px}.ui-tabs__tab.is-selected{color:var(--color-text);font-weight:var(--font-weight-semibold)}.ui-tabs__tab:disabled{opacity:.45;cursor:not-allowed}.ui-tabs__count{border-radius:var(--radius-full);background:var(--color-surface-sunken);min-width:22px;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);text-align:center;font-variant-numeric:tabular-nums;padding:1px 6px}.ui-tabs__tab.is-selected .ui-tabs__count{background:var(--accent-soft);color:var(--accent-ink)}.ui-tabs__underline{left:var(--space-2);right:var(--space-2);width:calc(100% - var(--space-4));fill:none;height:8px;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;vector-effect:non-scaling-stroke;transform-origin:0;animation:ui-underline-draw var(--duration-slow) var(--ease-out);position:absolute;bottom:-2px;overflow:visible}.ui-tabs__underline path{vector-effect:non-scaling-stroke}@keyframes ui-underline-draw{0%{opacity:.4;transform:scaleX(0)}}.ui-tabs__panel{padding-top:var(--space-4)}.ui-nav-tabs__item{flex-shrink:0;display:flex}.ui-nav-tabs .ui-tabs__tab{text-decoration:none}.ui-tabs__panel:focus-visible{outline-offset:4px;border-radius:var(--radius-sm)}.ui-toasts{left:var(--space-3);right:var(--space-3);bottom:calc(var(--app-bottom-bar,0px) + var(--space-3) + env(safe-area-inset-bottom,0px));z-index:var(--z-toast);align-items:stretch;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}@media (width>=768px){.ui-toasts{left:auto;right:var(--space-6);bottom:var(--space-6);width:24rem}}.ui-toast{--_fg:var(--color-info);align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-2) var(--space-3) var(--space-4);border:var(--border-width) solid var(--color-text);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-pop);pointer-events:auto;animation:ui-toast-in var(--duration-slow) var(--ease-out);transition:opacity var(--duration-base) linear, transform var(--duration-base) var(--ease-in);display:flex}.ui-toast.is-leaving{opacity:0;transform:translateY(8px)scale(.98)}.ui-toast--success{--_fg:var(--color-success)}.ui-toast--warning{--_fg:var(--color-warning)}.ui-toast--danger{--_fg:var(--color-danger)}.ui-toast__icon{color:var(--_fg);margin-top:2px}.ui-toast__body{flex:1;min-width:0;padding-top:1px}.ui-toast__title{font-weight:var(--font-weight-semibold);line-height:var(--leading-snug)}.ui-toast__description{color:var(--color-text-muted);font-size:var(--text-sm)}.ui-toast__action{min-height:var(--control-height-sm);padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--accent-ink);font-weight:var(--font-weight-semibold);background:0 0;border:0;align-self:center}.ui-toast__action:hover{background:var(--accent-soft)}.ui-toast__close{margin-top:-6px}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(16px)scale(.98)}}.ui-tooltip{display:inline-flex;position:relative}.ui-tooltip__bubble{z-index:var(--z-tooltip);width:max-content;max-width:16rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-text);color:var(--color-text-inverse);font-size:var(--text-sm);font-weight:var(--font-weight-regular);line-height:var(--leading-snug);text-align:center;pointer-events:none;visibility:hidden;opacity:0;transition:opacity var(--duration-fast) linear, transform var(--duration-fast) var(--ease-out), visibility 0s linear var(--duration-fast);position:absolute;left:50%;transform:translate(-50%,4px)}.ui-tooltip__bubble--top{bottom:calc(100% + var(--space-2))}.ui-tooltip__bubble--bottom{top:calc(100% + var(--space-2));transform:translate(-50%,-4px)}.ui-tooltip__bubble.is-open{visibility:visible;opacity:1;transition-delay:0s;transform:translate(-50%)}.hw-muted{color:var(--color-text-muted)}.hw-badges{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.hw-score{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-display)}.hw-who{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.hw-deadline{align-items:flex-start;gap:var(--space-1);color:var(--color-text-muted);font-variant-numeric:tabular-nums;display:inline-flex}.hw-deadline .ui-icon{flex-shrink:0;margin-top:2px}.hw-deadline--soon{color:var(--color-warning)}.hw-deadline--overdue{color:var(--color-danger)}.hw-deadline__relative{color:var(--color-text-muted)}.hw-deadline--soon .hw-deadline__relative,.hw-deadline--overdue .hw-deadline__relative{color:inherit}@media (width>=1024px){.students-toolbar__filters.hw-toolbar__filters{grid-template-columns:repeat(3,minmax(0,1fr))}}.hw-toolbar{margin-bottom:0}.hw-library-toolbar{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.hw-library-toolbar__search{flex:16rem}.hw-sort{max-width:20rem}.hw-content{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.hw-link{align-items:center;gap:var(--space-3);min-width:0;min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--accent-ink);text-decoration:none;display:flex}.hw-link:hover{background:var(--color-surface-hover)}.hw-link:focus-visible{outline:var(--focus-ring-width) solid var(--accent-ring);outline-offset:var(--focus-ring-offset)}.hw-link__text{flex-direction:column;flex:auto;min-width:0;display:flex}.hw-link__title{font-weight:var(--font-weight-medium)}.hw-link__url{color:var(--color-text-muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hw-editor{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.hw-editor__blocks{gap:var(--space-3);flex-direction:column;display:flex}.hw-block{gap:var(--space-2);min-width:0;padding:var(--space-3);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface-sunken);animation:hw-rise var(--duration-base) var(--ease-out);flex-direction:column;display:flex}.hw-block__bar{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.hw-block__type{align-items:center;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-weight-medium);display:inline-flex}.hw-block__actions{gap:var(--space-1);display:inline-flex}.hw-block .ui-upload__item{background:var(--color-surface)}.hw-editor__add{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.hw-editor__add-label{color:var(--color-text-muted);font-size:var(--text-sm)}.hw-form__assign{gap:var(--space-4);min-width:0;padding:var(--space-4);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-lg);flex-direction:column;margin:0;display:flex}.hw-form__legend{padding:0 var(--space-2);font-weight:var(--font-weight-semibold)}.hw-targets{gap:var(--space-2);flex-direction:column;display:flex}.hw-targets__chosen{gap:var(--space-2);flex-wrap:wrap;display:flex}.hw-targets__chosen .ui-chip__label{align-items:center;gap:var(--space-1);display:inline-flex}.hw-lesson-link{align-items:center;gap:var(--space-2);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.hw-conduct{gap:var(--space-3);padding:var(--space-3) var(--space-4);border:var(--border-width) dashed var(--color-line-strong);border-radius:var(--radius-md);flex-direction:column;display:flex}.hw-conduct__body{padding-top:var(--space-2)}.hw-attempts{gap:var(--space-4);flex-direction:column;display:flex}.hw-attempt{gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:var(--border-width) solid var(--color-line);animation:hw-rise var(--duration-slow) var(--ease-out);flex-direction:column;display:flex}.hw-attempt:last-child{border-bottom:0;padding-bottom:0}.hw-attempt__header,.hw-review__header{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.hw-attempt__title,.hw-review__title{font-family:var(--font-text);font-size:var(--text-md);font-weight:var(--font-weight-semibold)}.hw-attempt__time,.hw-review__time{color:var(--color-text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.hw-review{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-left:var(--border-width-strong) solid var(--color-line-strong);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--color-bg);flex-direction:column;display:flex}.hw-review--checked{border-left-color:var(--color-success)}.hw-review--revision{border-left-color:var(--color-warning)}.hw-review__score{margin-left:auto}.hw-review__comment{white-space:pre-line}.hw-result .hw-review{background:0 0;border:0;padding:0}.hw-result{gap:var(--space-4);flex-direction:column;display:flex}.hw-review-form__score{max-width:14rem}.hw-cards{gap:var(--space-3);flex-direction:column;display:flex}.hw-card{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:var(--border-width) solid var(--color-line);border-left:var(--space-1) solid var(--color-line-strong);border-radius:var(--radius-lg);background:var(--color-surface);flex-wrap:wrap;display:flex;position:relative}.hw-card:hover{border-color:var(--color-line-strong)}.hw-card:focus-within{outline:var(--focus-ring-width) solid var(--accent-ring);outline-offset:var(--focus-ring-offset)}.hw-card--soon{border-left-color:var(--color-warning)}.hw-card--overdue{border-left-color:var(--color-danger)}.hw-card__main{gap:var(--space-1);flex-direction:column;flex:14rem;min-width:0;display:flex}.hw-card__title{font-family:var(--font-text);font-size:var(--text-md);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug)}.hw-card__link{color:var(--color-text);text-decoration:none}.hw-card__link:after{content:"";border-radius:inherit;position:absolute;inset:0}.hw-card__link:focus-visible{outline:none}.hw-card__meta{color:var(--color-text-muted);font-size:var(--text-sm)}.hw-card__meta:empty{display:none}.hw-card__aside{align-items:flex-end;gap:var(--space-2);flex-direction:column;display:flex}@media (width<=479px){.hw-card__aside{flex-direction:row;align-items:center;width:100%}}.hw-student-page{gap:var(--space-5);flex-direction:column;width:100%;max-width:52rem;display:flex}.hw-due-line{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-sunken);flex-wrap:wrap;display:flex}.hw-due-line--soon{background:var(--color-warning-soft)}.hw-due-line--overdue{background:var(--color-danger-soft)}.hw-due-line__lesson{align-items:center;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm);display:inline-flex}.hw-section__all{color:var(--accent-ink);font-weight:var(--font-weight-medium)}.hw-home-list{gap:var(--space-2);flex-direction:column;display:flex}@keyframes hw-rise{0%{opacity:0;transform:translateY(var(--rise-distance))}}
