.ui-page{position:relative;isolation:isolate;min-height:100svh;background:var(--ts-bg);color:var(--ts-text);font-family:var(--ts-font-ui);font-size:var(--ts-text-md);font-weight:var(--ts-weight-regular);line-height:var(--ts-leading-body);letter-spacing:0;font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased}.ui-page:before{content:"";position:fixed;inset:0;z-index:-1;background:var(--ts-ambient);pointer-events:none}.ui-page *,.ui-page :after,.ui-page :before{box-sizing:border-box}.ui-dense{--ts-control:44px;--ts-pad-card:16px;--ts-radius-lg:16px;--ts-radius-md:12px}.ui-display,.ui-h1,.ui-h2{margin:0;font-family:var(--ts-font-display);font-weight:var(--ts-weight-display);letter-spacing:var(--ts-tracking-display);color:var(--ts-text);text-wrap:balance}.ui-display{font-size:var(--ts-text-3xl)}.ui-display,.ui-h1{line-height:var(--ts-leading-tight)}.ui-h1{font-size:var(--ts-text-2xl)}.ui-h2{font-size:var(--ts-text-xl);line-height:var(--ts-leading-snug)}.ui-h3{font-family:var(--ts-font-ui);font-weight:var(--ts-weight-strong);line-height:var(--ts-leading-snug);letter-spacing:0;color:var(--ts-text)}.ui-h3,.ui-lead{margin:0;font-size:var(--ts-text-lg)}.ui-lead{line-height:var(--ts-leading-body);color:var(--ts-text-2);max-width:56ch}.ui-text{font-size:var(--ts-text-md);color:var(--ts-text)}.ui-small,.ui-text{margin:0;line-height:var(--ts-leading-body)}.ui-small{font-size:var(--ts-text-sm);color:var(--ts-text-2)}.ui-caption{line-height:var(--ts-leading-snug);color:var(--ts-text-3)}.ui-caption,.ui-kicker{margin:0;font-size:var(--ts-text-xs)}.ui-kicker{font-weight:var(--ts-weight-strong);letter-spacing:var(--ts-tracking-caps);text-transform:uppercase;color:var(--ts-text-2)}.ui-num{font-variant-numeric:lining-nums tabular-nums}.ui-dense .ui-h1{font-size:var(--ts-text-xl)}.ui-dense .ui-h2{font-family:var(--ts-font-ui);font-size:var(--ts-text-lg);font-weight:var(--ts-weight-strong);letter-spacing:0}.ui-btn:focus-visible,.ui-card.is-interactive:focus-visible,.ui-check input:focus-visible,.ui-iconbtn:focus-visible,.ui-input:focus-visible,.ui-link:focus-visible,.ui-row.is-interactive:focus-visible,.ui-seg:focus-visible,.ui-select:focus-visible,.ui-switch input:focus-visible,.ui-tab:focus-visible,.ui-textarea:focus-visible{outline:2px solid var(--ts-focus);outline-offset:2px}.ui-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--ts-space-2);min-height:var(--ts-control);min-width:var(--ts-control-sm);margin:0;padding:0 var(--ts-space-6);border:1px solid transparent;border-radius:var(--ts-radius-pill);background:none;color:var(--ts-text);font-family:var(--ts-font-ui);font-size:var(--ts-text-md);font-weight:var(--ts-weight-strong);line-height:1;letter-spacing:0;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--ts-dur-fast) var(--ts-ease-out),opacity var(--ts-dur-fast) var(--ts-ease-out)}.ui-btn svg{flex:none;width:18px;height:18px}.ui-btn-stack{display:inline-grid}.ui-btn-label{grid-area:1/1;display:inline-flex;align-items:center;justify-content:center;gap:var(--ts-space-2)}.ui-btn-label.is-off{visibility:hidden}.ui-btn:active{transform:scale(.98)}.ui-btn.is-primary{background:linear-gradient(180deg,var(--ts-accent-hi),var(--ts-accent-lo));box-shadow:var(--ts-shadow-accent);color:var(--ts-on-accent)}.ui-btn.is-primary:hover{background:var(--ts-accent-hover)}.ui-btn.is-primary:active{background:var(--ts-accent-active)}.ui-btn.is-secondary{background:var(--ts-surface-1);border-color:var(--ts-line-strong)}.ui-btn.is-secondary:hover{background:var(--ts-surface-2)}.ui-btn.is-secondary:active{background:var(--ts-surface-3)}.ui-btn.is-ghost{color:var(--ts-text-2);padding-inline:var(--ts-space-4)}.ui-btn.is-ghost:hover{background:var(--ts-surface-2);color:var(--ts-text)}.ui-btn.is-danger{background:var(--ts-danger-soft);border-color:var(--ts-danger-line);color:var(--ts-danger)}.ui-btn.is-danger:hover{background:var(--ts-surface-2)}.ui-btn.is-sm{min-height:var(--ts-control-sm);padding-inline:var(--ts-space-4);font-size:var(--ts-text-sm)}.ui-btn.is-block{display:flex;width:100%}.ui-btn:disabled,.ui-btn[aria-disabled=true]{opacity:.45;box-shadow:none;cursor:not-allowed;transform:none}.ui-btn[aria-busy=true]{cursor:progress;pointer-events:none}.ui-btn[aria-busy=true]:disabled{opacity:.8}.ui-spinner{flex:none;width:18px;height:18px;border:2px solid;border-right:2px solid transparent;border-radius:50%;opacity:.9;animation:ui-spin .7s linear infinite}.ui-iconbtn{display:inline-grid;place-items:center;flex:none;width:var(--ts-control-sm);height:var(--ts-control-sm);margin:0;padding:0;border:1px solid var(--ts-line);border-radius:50%;background:var(--ts-surface-1);color:var(--ts-text);cursor:pointer;transition:transform var(--ts-dur-fast) var(--ts-ease-out)}.ui-iconbtn svg{width:20px;height:20px}.ui-iconbtn:hover{background:var(--ts-surface-2)}.ui-iconbtn:active{transform:scale(.94)}.ui-link{display:inline-flex;align-items:center;gap:6px;min-height:var(--ts-control-sm);color:var(--ts-text);font-size:var(--ts-text-sm);font-weight:var(--ts-weight-strong);text-decoration:underline;text-decoration-color:var(--ts-line-strong);text-underline-offset:4px}.ui-link:hover{text-decoration-color:currentColor}.ui-link svg{width:16px;height:16px}.ui-card{display:block;margin:0;padding:var(--ts-pad-card);background:var(--ts-surface-1);border:1px solid var(--ts-line);border-radius:var(--ts-radius-lg);box-shadow:var(--ts-shadow-card);color:var(--ts-text);text-decoration:none}.ui-card.is-flat{box-shadow:none}.ui-card.is-featured{border-color:var(--ts-accent-line)}.ui-card.is-interactive{cursor:pointer;transition:transform var(--ts-dur-fast) var(--ts-ease-out)}.ui-card.is-interactive:hover{background:var(--ts-surface-2)}.ui-card.is-interactive:active{transform:scale(.995)}.ui-dense .ui-card{box-shadow:var(--ts-shadow-edge)}.ui-field{display:grid;gap:var(--ts-space-2);min-width:0}.ui-label{font-size:var(--ts-text-sm);font-weight:var(--ts-weight-strong);line-height:var(--ts-leading-snug);color:var(--ts-text-2)}.ui-label em{font-style:normal;font-weight:var(--ts-weight-regular);color:var(--ts-text-3)}.ui-input,.ui-select,.ui-textarea{display:block;width:100%;min-height:var(--ts-control);margin:0;padding:0 var(--ts-space-4);background:var(--ts-field);border:1px solid var(--ts-line-strong);border-radius:var(--ts-radius-md);box-shadow:none;color:var(--ts-text);font-family:var(--ts-font-ui);font-size:var(--ts-text-md);font-weight:var(--ts-weight-regular);line-height:var(--ts-leading-snug);letter-spacing:0;appearance:none}.ui-textarea{min-height:120px;padding-block:var(--ts-space-3);line-height:var(--ts-leading-body);resize:vertical}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--ts-text-3);opacity:1}.ui-input:hover,.ui-select:hover,.ui-textarea:hover{border-color:var(--ts-text-2)}.ui-input[aria-invalid=true],.ui-select[aria-invalid=true],.ui-textarea[aria-invalid=true]{border-color:var(--ts-danger-line);background:var(--ts-danger-soft)}.ui-input:disabled,.ui-select:disabled,.ui-textarea:disabled{opacity:.5;cursor:not-allowed}.ui-input[readonly]{border-style:dashed;color:var(--ts-text-2)}.ui-select-wrap{position:relative;display:block}.ui-select{padding-right:var(--ts-space-12);cursor:pointer}.ui-select-wrap svg{position:absolute;top:50%;right:var(--ts-space-4);width:18px;height:18px;margin-top:-9px;color:var(--ts-text-2);pointer-events:none}.ui-hint{color:var(--ts-text-2)}.ui-error,.ui-hint{margin:0;font-size:var(--ts-text-sm);line-height:var(--ts-leading-snug)}.ui-error{display:flex;align-items:flex-start;gap:var(--ts-space-2);font-weight:var(--ts-weight-strong);color:var(--ts-danger)}.ui-error svg{flex:none;width:16px;height:16px;margin-top:1px}.ui-input.is-code{min-height:64px;font-size:var(--ts-text-xl);font-weight:var(--ts-weight-strong);letter-spacing:.32em;text-align:center;font-variant-numeric:lining-nums tabular-nums}.ui-check,.ui-switch{display:flex;align-items:flex-start;gap:var(--ts-space-3);min-height:var(--ts-control-sm);padding-block:10px;font-size:var(--ts-text-md);line-height:var(--ts-leading-snug);color:var(--ts-text);cursor:pointer}.ui-check input[type=checkbox]:before,.ui-switch input[type=checkbox]:before{content:none}.ui-check input[type=checkbox]{position:relative;display:block;flex:none;width:24px;height:24px;min-width:24px;min-height:24px;margin:0;border:1px solid var(--ts-line-strong);border-radius:7px;background:var(--ts-field);appearance:none;cursor:pointer}.ui-check input[type=checkbox]:after{content:"";position:absolute;left:8px;top:3px;width:7px;height:13px;border:solid var(--ts-on-accent);border-width:0 2px 2px 0;opacity:0;transform:rotate(45deg) scale(.6);transition:transform var(--ts-dur-fast) var(--ts-ease-out),opacity var(--ts-dur-fast) var(--ts-ease-out)}.ui-check input[type=checkbox]:checked{background:var(--ts-accent);border-color:var(--ts-accent)}.ui-check input[type=checkbox]:checked:after{opacity:1;transform:rotate(45deg) scale(1)}.ui-check input[aria-invalid=true]{border-color:var(--ts-danger-line)}.ui-switch{align-items:center;justify-content:space-between}.ui-switch input[type=checkbox]{position:relative;display:block;flex:none;width:50px;height:30px;min-width:50px;min-height:30px;margin:0;border:1px solid var(--ts-line-strong);border-radius:var(--ts-radius-pill);background:var(--ts-field);appearance:none;cursor:pointer}.ui-switch input[type=checkbox]:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--ts-text-2);transition:transform var(--ts-dur-base) var(--ts-ease-out)}.ui-switch input[type=checkbox]:checked{background:var(--ts-accent);border-color:var(--ts-accent)}.ui-switch input[type=checkbox]:checked:after{background:var(--ts-on-accent);transform:translateX(20px)}.ui-check input:disabled,.ui-switch input:disabled{opacity:.45;cursor:not-allowed}.ui-check:has(input:disabled),.ui-switch:has(input:disabled){color:var(--ts-text-3);cursor:not-allowed}.ui-badge{display:inline-flex;align-items:center;gap:7px;min-height:26px;padding:0 10px;border:1px solid var(--ts-line);border-radius:var(--ts-radius-pill);background:var(--ts-surface-1);color:var(--ts-text);font-size:var(--ts-text-xs);font-weight:var(--ts-weight-strong);line-height:1;white-space:nowrap}.ui-badge i{flex:none;width:7px;height:7px;border-radius:50%;background:var(--ts-text-3)}.ui-badge.is-ok{background:var(--ts-ok-soft);color:var(--ts-ok)}.ui-badge.is-ok i{background:var(--ts-ok)}.ui-badge.is-warn{background:var(--ts-warn-soft);color:var(--ts-warn)}.ui-badge.is-warn i{background:var(--ts-warn)}.ui-badge.is-danger{background:var(--ts-danger-soft);color:var(--ts-danger)}.ui-badge.is-danger i{background:var(--ts-danger)}.ui-badge.is-info{background:var(--ts-info-soft);color:var(--ts-info)}.ui-badge.is-info i{background:var(--ts-info)}.ui-badge.is-accent{background:var(--ts-accent-soft);border-color:var(--ts-accent-line);color:var(--ts-text)}.ui-badge.is-accent i{background:var(--ts-accent-ink)}.ui-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:var(--ts-radius-pill);background:var(--ts-accent);color:var(--ts-on-accent);font-size:var(--ts-text-xs);font-weight:var(--ts-weight-bold);line-height:1;font-variant-numeric:lining-nums tabular-nums}.ui-notice{display:grid;grid-template-columns:20px minmax(0,1fr);gap:var(--ts-space-3);align-items:start;margin:0;padding:var(--ts-space-4);border:1px solid var(--ts-line);border-radius:var(--ts-radius-md);background:var(--ts-surface-1);font-size:var(--ts-text-sm);line-height:var(--ts-leading-body);color:var(--ts-text)}.ui-notice svg{width:20px;height:20px;margin-top:1px;color:var(--ts-text-2)}.ui-notice strong{display:block;font-size:var(--ts-text-md);font-weight:var(--ts-weight-strong)}.ui-notice .ui-btn{margin-top:var(--ts-space-3)}.ui-notice.is-danger{border-color:var(--ts-danger-line);background:var(--ts-danger-soft)}.ui-notice.is-danger svg{color:var(--ts-danger)}.ui-notice.is-warn{background:var(--ts-warn-soft)}.ui-notice.is-warn svg{color:var(--ts-warn)}.ui-notice.is-ok{background:var(--ts-ok-soft)}.ui-notice.is-ok svg{color:var(--ts-ok)}.ui-notice.is-info{background:var(--ts-info-soft)}.ui-notice.is-info svg{color:var(--ts-info)}.ui-dialog{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:var(--ts-space-6);overflow:auto;border:1px solid var(--ts-line);border-radius:var(--ts-radius-lg);background:var(--ts-surface-raised);box-shadow:var(--ts-shadow-raised);color:var(--ts-text);font-family:var(--ts-font-ui);font-size:var(--ts-text-md);line-height:var(--ts-leading-body)}.ui-dialog::backdrop{background:var(--ts-scrim)}.ui-dialog[open]{animation:ui-rise var(--ts-dur-slow) var(--ts-ease-out)}.ui-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ts-space-4);margin-bottom:var(--ts-space-3)}.ui-dialog-body{display:grid;gap:var(--ts-space-3);color:var(--ts-text-2)}.ui-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--ts-space-2);margin-top:var(--ts-space-6)}@media (max-width:640px){.ui-dialog.is-sheet{width:100%;max-width:none;max-height:86dvh;margin:auto 0 0;padding:var(--ts-space-5) var(--ts-space-5) calc(var(--ts-space-5) + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:var(--ts-radius-lg) var(--ts-radius-lg) 0 0}.ui-dialog.is-sheet[open]{animation-name:ui-sheet}.ui-dialog.is-sheet .ui-dialog-actions{flex-direction:column-reverse}.ui-dialog.is-sheet .ui-dialog-actions .ui-btn{width:100%}}.ui-tabs{display:flex;gap:var(--ts-space-1);margin:0;padding:0;border-bottom:1px solid var(--ts-line);overflow-x:auto;scrollbar-width:none}.ui-tab{position:relative;flex:none;min-height:var(--ts-control-sm);margin:0;padding:0 var(--ts-space-4);border:0;background:none;color:var(--ts-text-2);font-family:var(--ts-font-ui);font-size:var(--ts-text-sm);font-weight:var(--ts-weight-strong);cursor:pointer}.ui-tab:after{content:"";position:absolute;inset:auto var(--ts-space-4) -1px;height:2px;border-radius:2px;background:var(--ts-accent-ink);opacity:0;transform:scaleX(.4);transition:transform var(--ts-dur-base) var(--ts-ease-out),opacity var(--ts-dur-base) var(--ts-ease-out)}.ui-tab:hover,.ui-tab[aria-selected=true]{color:var(--ts-text)}.ui-tab[aria-selected=true]:after{opacity:1;transform:none}.ui-segmented{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;margin:0;padding:3px;border:1px solid var(--ts-line);border-radius:var(--ts-radius-pill);background:var(--ts-field)}.ui-seg{min-height:var(--ts-control-sm);margin:0;padding:0 var(--ts-space-4);border:0;border-radius:var(--ts-radius-pill);background:none;color:var(--ts-text-2);font-family:var(--ts-font-ui);font-size:var(--ts-text-sm);font-weight:var(--ts-weight-strong);white-space:nowrap;cursor:pointer}.ui-seg[aria-checked=true]{background:var(--ts-text);color:var(--ts-ink)}.ui-toasts{position:fixed;left:50%;bottom:calc(var(--ts-space-5) + env(safe-area-inset-bottom));z-index:80;display:grid;gap:var(--ts-space-2);width:min(440px,calc(100vw - 32px));transform:translateX(-50%);pointer-events:none}.ui-toast{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:var(--ts-space-3);align-items:center;min-height:var(--ts-control);padding:var(--ts-space-2) var(--ts-space-2) var(--ts-space-2) var(--ts-space-4);border:1px solid var(--ts-line);border-radius:var(--ts-radius-md);background:var(--ts-surface-raised);box-shadow:var(--ts-shadow-raised);color:var(--ts-text);font-family:var(--ts-font-ui);font-size:var(--ts-text-sm);font-weight:var(--ts-weight-strong);line-height:var(--ts-leading-snug);pointer-events:auto;animation:ui-rise var(--ts-dur-base) var(--ts-ease-out)}.ui-toast svg{width:20px;height:20px;color:var(--ts-ok)}.ui-toast.is-danger svg{color:var(--ts-danger)}.ui-skeleton{display:block;min-height:14px;border-radius:var(--ts-radius-sm);background:var(--ts-surface-2);animation:ui-pulse 1.5s var(--ts-ease-in-out) infinite}.ui-skeleton.is-title{height:34px;width:min(62%,320px)}.ui-skeleton.is-line{height:14px}.ui-skeleton.is-short{width:42%}.ui-skeleton.is-block{height:120px;border-radius:var(--ts-radius-lg)}.ui-skeleton.is-control{height:var(--ts-control);border-radius:var(--ts-radius-pill)}.ui-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.ui-empty{display:grid;justify-items:center;gap:var(--ts-space-3);padding:var(--ts-space-10) var(--ts-space-5);text-align:center}.ui-empty-icon{display:grid;place-items:center;width:56px;height:56px;border:1px solid var(--ts-line);border-radius:50%;background:var(--ts-surface-1);color:var(--ts-text-2)}.ui-empty-icon svg{width:24px;height:24px}.ui-empty .ui-small{max-width:38ch}.ui-empty .ui-btn{margin-top:var(--ts-space-2)}.ui-stepper{display:grid;gap:var(--ts-space-2)}.ui-stepper-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ts-space-3)}.ui-stepper-count{font-size:var(--ts-text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ts-text-3)}.ui-stepper-title{font-size:var(--ts-text-md);font-weight:var(--ts-weight-strong);color:var(--ts-text)}.ui-stepper-bar{height:3px;border-radius:3px;background:var(--ts-line);overflow:hidden}.ui-stepper-bar i{display:block;height:100%;border-radius:3px;background:var(--ts-accent);transform-origin:left center;transform:scaleX(var(--ui-progress,0));transition:transform var(--ts-dur-slow) var(--ts-ease-out)}.ui-stat{display:grid;gap:var(--ts-space-1);align-content:start;min-width:0}.ui-stat-label{font-size:var(--ts-text-sm);color:var(--ts-text-2)}.ui-stat-value{font-family:var(--ts-font-display);font-size:var(--ts-text-2xl);font-weight:var(--ts-weight-display);line-height:1;color:var(--ts-text);font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}.ui-stat-hint{font-size:var(--ts-text-xs);color:var(--ts-text-3)}.ui-stat-hint.is-ok{color:var(--ts-ok)}.ui-stat-hint.is-warn{color:var(--ts-warn)}.ui-dense .ui-stat-value{font-family:var(--ts-font-ui);font-size:var(--ts-text-xl);font-weight:var(--ts-weight-bold);line-height:var(--ts-leading-snug)}.ui-list{padding:0;list-style:none}.ui-list,.ui-row{display:grid;margin:0}.ui-row{grid-template-columns:minmax(0,1fr) auto;gap:var(--ts-space-3);align-items:center;min-height:var(--ts-control);padding:var(--ts-space-3) 0;border:0;border-top:1px solid var(--ts-line);background:none;color:var(--ts-text);font-family:var(--ts-font-ui);font-size:var(--ts-text-md);text-align:left;text-decoration:none}.ui-list>.ui-row:first-child,.ui-list>:first-child>.ui-row{border-top:0}.ui-row.has-lead{grid-template-columns:auto minmax(0,1fr) auto}.ui-row.is-interactive{width:100%;cursor:pointer}.ui-row.is-interactive:hover{background:var(--ts-surface-2)}.ui-row-title{display:block;font-weight:var(--ts-weight-strong)}.ui-row-sub{display:block;font-size:var(--ts-text-sm);color:var(--ts-text-2)}.ui-row svg{width:18px;height:18px;color:var(--ts-text-3)}@keyframes ui-spin{to{transform:rotate(1turn)}}@keyframes ui-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes ui-rise{0%{opacity:0;transform:translateY(8px)}}@keyframes ui-sheet{0%{opacity:0;transform:translateY(32px)}}@keyframes ui-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.ui-btn,.ui-card.is-interactive,.ui-check input:after,.ui-iconbtn,.ui-stepper-bar i,.ui-switch input:after,.ui-tab:after{transition:none}.ui-btn:active,.ui-card.is-interactive:active,.ui-iconbtn:active{transform:none}.ui-skeleton,.ui-spinner{animation:none}.ui-spinner{border-right-color:currentColor;opacity:.5}.ui-dialog.is-sheet[open],.ui-dialog[open],.ui-toast{animation:ui-fade var(--ts-dur-fast) linear}}