:root,[data-troisi-theme=light],[data-troisi-theme=dark],.troisi-root{--troisi-font-sans: "Instrument Sans", system-ui, sans-serif;--troisi-font-mono: ui-monospace, "Cascadia Code", monospace;--troisi-text-xs: .75rem;--troisi-text-sm: .875rem;--troisi-text-base: 1rem;--troisi-text-lg: 1.125rem;--troisi-text-xl: 1.25rem;--troisi-text-2xl: 1.5rem;--troisi-text-3xl: 1.875rem;--troisi-text-4xl: 2.25rem;--troisi-leading-tight: 1.25;--troisi-leading-normal: 1.5;--troisi-leading-relaxed: 1.625;--troisi-weight-normal: 400;--troisi-weight-medium: 500;--troisi-weight-semibold: 600;--troisi-weight-bold: 700;--troisi-space-0: 0;--troisi-space-1: .25rem;--troisi-space-2: .5rem;--troisi-space-3: .75rem;--troisi-space-4: 1rem;--troisi-space-5: 1.25rem;--troisi-space-6: 1.5rem;--troisi-space-8: 2rem;--troisi-space-10: 2.5rem;--troisi-space-12: 3rem;--troisi-space-16: 4rem;--troisi-radius-sm: .375rem;--troisi-radius-md: .5rem;--troisi-radius-lg: .75rem;--troisi-radius-full: 9999px;--troisi-container-max: 64rem;--troisi-container-padding-inline: clamp( var(--troisi-space-4), 4vw, var(--troisi-space-6) );--troisi-z-dropdown: 1000;--troisi-z-sticky: 1020;--troisi-z-modal: 1100;--troisi-z-toast: 1200;--troisi-duration-fast: .15s;--troisi-duration-normal: .25s;--troisi-switch-thumb: #a1a1aa}:root:not([data-troisi-theme=dark]),:root[data-troisi-theme=light],.troisi-root[data-troisi-theme=light]{color-scheme:light;--troisi-bg: #fafafa;--troisi-bg-elevated: #ffffff;--troisi-fg: #18181b;--troisi-fg-muted: #52525b;--troisi-fg-subtle: #71717a;--troisi-border: #e4e4e7;--troisi-border-strong: #d4d4d8;--troisi-primary: #18181b;--troisi-primary-fg: #fafafa;--troisi-primary-hover: #27272a;--troisi-success: #059669;--troisi-success-bg: #ecfdf5;--troisi-warning: #d97706;--troisi-warning-bg: #fffbeb;--troisi-danger: #dc2626;--troisi-danger-bg: #fef2f2;--troisi-focus-ring: #a1a1aa;--troisi-shadow-sm: 0 1px 2px rgb(0 0 0 / .05);--troisi-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .06);--troisi-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .06);--troisi-elevation-1: var(--troisi-shadow-sm);--troisi-elevation-2: var(--troisi-shadow-md);--troisi-elevation-3: var(--troisi-shadow-lg)}:root[data-troisi-theme=dark],.troisi-root[data-troisi-theme=dark]{color-scheme:dark;--troisi-bg: #09090b;--troisi-bg-elevated: #18181b;--troisi-fg: #fafafa;--troisi-fg-muted: #a1a1aa;--troisi-fg-subtle: #71717a;--troisi-border: #27272a;--troisi-border-strong: #3f3f46;--troisi-primary: #fafafa;--troisi-primary-fg: #18181b;--troisi-primary-hover: #e4e4e7;--troisi-success-bg: #052e21;--troisi-warning-bg: #451a03;--troisi-danger-bg: #450a0a;--troisi-focus-ring: #52525b;--troisi-shadow-sm: 0 1px 2px rgb(0 0 0 / .4);--troisi-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .45), 0 2px 4px -2px rgb(0 0 0 / .4);--troisi-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .45);--troisi-elevation-1: var(--troisi-shadow-sm);--troisi-elevation-2: var(--troisi-shadow-md);--troisi-elevation-3: var(--troisi-shadow-lg)}@media(prefers-color-scheme:dark){:root:not([data-troisi-theme=light]):not([data-troisi-theme=dark]){color-scheme:dark;--troisi-bg: #09090b;--troisi-bg-elevated: #18181b;--troisi-fg: #fafafa;--troisi-fg-muted: #a1a1aa;--troisi-fg-subtle: #71717a;--troisi-border: #27272a;--troisi-border-strong: #3f3f46;--troisi-primary: #fafafa;--troisi-primary-fg: #18181b;--troisi-primary-hover: #e4e4e7;--troisi-success-bg: #052e21;--troisi-warning-bg: #451a03;--troisi-danger-bg: #450a0a;--troisi-focus-ring: #52525b;--troisi-shadow-sm: 0 1px 2px rgb(0 0 0 / .4);--troisi-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .45), 0 2px 4px -2px rgb(0 0 0 / .4);--troisi-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .45);--troisi-elevation-1: var(--troisi-shadow-sm);--troisi-elevation-2: var(--troisi-shadow-md);--troisi-elevation-3: var(--troisi-shadow-lg)}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}.troisi-root{width:100%;max-width:100%;font-family:var(--troisi-font-sans);font-size:var(--troisi-text-base);line-height:var(--troisi-leading-normal);color:var(--troisi-fg);background:var(--troisi-bg);-webkit-font-smoothing:antialiased;overflow-x:clip}.troisi-button{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--troisi-radius-lg);font-family:inherit;font-weight:var(--troisi-weight-medium);line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.troisi-button:focus-visible{outline:2px solid var(--troisi-focus-ring);outline-offset:2px}.troisi-button:disabled{opacity:.5;pointer-events:none;cursor:not-allowed}.troisi-button--primary{background:var(--troisi-primary);color:var(--troisi-primary-fg)}.troisi-button--primary:hover:not(:disabled){background:var(--troisi-primary-hover)}.troisi-button--secondary{background:var(--troisi-bg-elevated);color:var(--troisi-fg);border:1px solid var(--troisi-border-strong)}.troisi-button--secondary:hover:not(:disabled){background:var(--troisi-bg)}.troisi-button--ghost{background:transparent;color:var(--troisi-fg-muted)}.troisi-button--ghost:hover:not(:disabled){background:var(--troisi-border);color:var(--troisi-fg)}.troisi-button--sm{height:2rem;padding:0 var(--troisi-space-3);font-size:var(--troisi-text-sm)}.troisi-button--md{height:2.5rem;padding:0 var(--troisi-space-4);font-size:var(--troisi-text-sm)}.troisi-button--lg{height:3rem;padding:0 var(--troisi-space-6);font-size:var(--troisi-text-base)}.troisi-input{display:block;width:100%;height:2.5rem;padding:0 var(--troisi-space-3);font-family:inherit;font-size:var(--troisi-text-sm);color:var(--troisi-fg);background:var(--troisi-bg-elevated);border:1px solid var(--troisi-border-strong);border-radius:var(--troisi-radius-lg);transition:border-color .15s ease,box-shadow .15s ease}.troisi-input::placeholder{color:var(--troisi-fg-subtle)}.troisi-input:focus{outline:none;border-color:var(--troisi-fg-muted);box-shadow:0 0 0 3px color-mix(in srgb,var(--troisi-focus-ring) 35%,transparent)}.troisi-input:disabled{opacity:.5;cursor:not-allowed}.troisi-input--invalid{border-color:var(--troisi-danger)}.troisi-text{margin:0;font-family:inherit;color:var(--troisi-fg)}.troisi-text--display{font-size:var(--troisi-text-4xl);font-weight:var(--troisi-weight-bold);line-height:var(--troisi-leading-tight);letter-spacing:-.02em}.troisi-text--h1{font-size:var(--troisi-text-3xl);font-weight:var(--troisi-weight-bold);line-height:var(--troisi-leading-tight)}.troisi-text--h2{font-size:var(--troisi-text-2xl);font-weight:var(--troisi-weight-semibold);line-height:var(--troisi-leading-tight)}.troisi-text--h3{font-size:var(--troisi-text-lg);font-weight:var(--troisi-weight-semibold);line-height:var(--troisi-leading-normal)}.troisi-text--body{font-size:var(--troisi-text-base);font-weight:var(--troisi-weight-normal);line-height:var(--troisi-leading-relaxed)}.troisi-text--small{font-size:var(--troisi-text-sm);line-height:var(--troisi-leading-normal)}.troisi-text--caption{font-size:var(--troisi-text-xs);line-height:var(--troisi-leading-normal)}.troisi-text--muted{color:var(--troisi-fg-muted)}.troisi-text--subtle{color:var(--troisi-fg-subtle)}.troisi-container{box-sizing:border-box;width:100%;max-width:var(--troisi-container-max);margin-inline:auto;padding-inline:var(--troisi-container-padding-inline)}.troisi-container--flush{padding-inline:0}.troisi-stack{display:flex;flex-direction:column;min-width:0;max-width:100%}.troisi-stack--row{flex-direction:row;flex-wrap:wrap}.troisi-stack--gap-1{gap:var(--troisi-space-1)}.troisi-stack--gap-2{gap:var(--troisi-space-2)}.troisi-stack--gap-3{gap:var(--troisi-space-3)}.troisi-stack--gap-4{gap:var(--troisi-space-4)}.troisi-stack--gap-6{gap:var(--troisi-space-6)}.troisi-stack--gap-8{gap:var(--troisi-space-8)}.troisi-stack--align-center{align-items:center}.troisi-divider{border:none;border-top:1px solid var(--troisi-border);margin:0}.troisi-card{border-radius:var(--troisi-radius-lg);border:1px solid var(--troisi-border);background:var(--troisi-bg-elevated);padding:var(--troisi-space-6);box-shadow:var(--troisi-shadow-sm)}.troisi-card__header{margin-bottom:var(--troisi-space-4)}.troisi-card__title{margin:0 0 var(--troisi-space-1);font-size:var(--troisi-text-lg);font-weight:var(--troisi-weight-semibold);color:var(--troisi-fg)}.troisi-card__description{margin:0;font-size:var(--troisi-text-sm);color:var(--troisi-fg-muted);line-height:var(--troisi-leading-normal)}.troisi-badge{display:inline-flex;align-items:center;padding:.125rem var(--troisi-space-2);font-size:var(--troisi-text-xs);font-weight:var(--troisi-weight-medium);border-radius:var(--troisi-radius-full);line-height:1.25}.troisi-badge--default{background:var(--troisi-border);color:var(--troisi-fg-muted)}.troisi-badge--success{background:var(--troisi-success-bg);color:var(--troisi-success)}.troisi-badge--warning{background:var(--troisi-warning-bg);color:var(--troisi-warning)}.troisi-box{display:block}.troisi-box--p-0{padding:var(--troisi-space-0)}.troisi-box--p-2{padding:var(--troisi-space-2)}.troisi-box--p-4{padding:var(--troisi-space-4)}.troisi-box--p-6{padding:var(--troisi-space-6)}.troisi-box--rounded{border-radius:var(--troisi-radius-lg)}.troisi-box--bordered{border:1px solid var(--troisi-border)}.troisi-box--elevated{background:var(--troisi-bg-elevated);box-shadow:var(--troisi-elevation-1)}.troisi-grid{display:grid;gap:var(--troisi-space-4)}.troisi-grid--cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.troisi-grid--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.troisi-grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.troisi-grid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.troisi-grid--cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.troisi-grid--cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.troisi-grid--gap-2{gap:var(--troisi-space-2)}.troisi-grid--gap-6{gap:var(--troisi-space-6)}.troisi-grid--gap-8{gap:var(--troisi-space-8)}.troisi-spacer{flex:1 1 auto}.troisi-spacer--fixed-4{flex:none;height:var(--troisi-space-4)}.troisi-spacer--fixed-8{flex:none;height:var(--troisi-space-8)}.troisi-spacer--fixed-16{flex:none;height:var(--troisi-space-16)}.troisi-app-shell{display:flex;flex-direction:column;width:100%;min-height:100dvh}.troisi-app-shell__body{display:flex;flex:1 1 auto;min-width:0;min-height:0}.troisi-app-shell__main{display:flex;flex:1 1 auto;flex-direction:column;min-width:0;min-height:0;background:var(--troisi-bg)}.troisi-app-shell__container{flex:1 1 auto;width:100%;padding-block:var(--troisi-space-6)}.troisi-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--troisi-space-4);margin-bottom:var(--troisi-space-6)}.troisi-page-header__text{display:flex;flex-direction:column;gap:var(--troisi-space-1);min-width:0}.troisi-page-header__title{margin:0;font-size:var(--troisi-text-2xl);font-weight:var(--troisi-weight-semibold);line-height:var(--troisi-leading-tight);color:var(--troisi-fg)}.troisi-page-header__description{margin:0;font-size:var(--troisi-text-sm);line-height:var(--troisi-leading-normal);color:var(--troisi-fg-muted)}.troisi-page-header__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--troisi-space-2)}.troisi-scroll-area{min-width:0;min-height:0;overflow:auto}.troisi-center{display:flex;align-items:center;justify-content:center;width:100%;min-width:0}.troisi-center--inline{display:inline-flex;align-items:center;justify-content:center}.troisi-section{display:flex;flex-direction:column;gap:var(--troisi-space-4)}.troisi-section__header{display:flex;flex-direction:column;gap:var(--troisi-space-1)}.troisi-section__title{margin:0;font-size:var(--troisi-text-lg);font-weight:var(--troisi-weight-semibold);line-height:var(--troisi-leading-tight);color:var(--troisi-fg)}.troisi-section__description{margin:0;font-size:var(--troisi-text-sm);line-height:var(--troisi-leading-normal);color:var(--troisi-fg-muted)}.troisi-footer{margin-top:auto;border-top:1px solid var(--troisi-border);background:var(--troisi-bg-elevated)}.troisi-footer__inner{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--troisi-space-6);padding-block:var(--troisi-space-8)}.troisi-footer__brand{font-weight:var(--troisi-weight-semibold);color:var(--troisi-fg)}.troisi-footer__content{display:flex;flex-wrap:wrap;gap:var(--troisi-space-6);font-size:var(--troisi-text-sm);color:var(--troisi-fg-muted)}.troisi-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--troisi-space-2);padding:var(--troisi-space-2) var(--troisi-space-3);border:1px solid var(--troisi-border);border-radius:var(--troisi-radius-lg);background:var(--troisi-bg-elevated)}.troisi-toolbar--sticky{position:sticky;top:0;z-index:var(--troisi-z-sticky)}.troisi-panel{display:flex;flex-direction:column;border:1px solid var(--troisi-border);border-radius:var(--troisi-radius-lg);background:var(--troisi-bg-elevated);box-shadow:var(--troisi-shadow-sm);overflow:hidden}.troisi-panel__header{padding:var(--troisi-space-4) var(--troisi-space-6) 0}.troisi-panel__title{margin:0;font-size:var(--troisi-text-base);font-weight:var(--troisi-weight-semibold);color:var(--troisi-fg)}.troisi-panel__description{margin:var(--troisi-space-1) 0 0;font-size:var(--troisi-text-sm);color:var(--troisi-fg-muted)}.troisi-panel__body{flex:1 1 auto;min-width:0}.troisi-panel--p-0 .troisi-panel__body{padding:0}.troisi-panel--p-4 .troisi-panel__body{padding:var(--troisi-space-4)}.troisi-panel--p-6 .troisi-panel__body{padding:var(--troisi-space-6)}.troisi-panel__footer{padding:var(--troisi-space-4) var(--troisi-space-6);border-top:1px solid var(--troisi-border);background:var(--troisi-bg)}.troisi-field{display:flex;flex-direction:column;gap:var(--troisi-space-1)}.troisi-label{font-size:var(--troisi-text-sm);font-weight:var(--troisi-weight-medium);color:var(--troisi-fg)}.troisi-label--required:after{content:" *";color:var(--troisi-danger)}.troisi-field-hint{margin:0;font-size:var(--troisi-text-xs);color:var(--troisi-fg-subtle)}.troisi-field-error{margin:0;font-size:var(--troisi-text-xs);color:var(--troisi-danger)}.troisi-form{display:flex;flex-direction:column;gap:var(--troisi-space-4)}.troisi-input-group{display:flex;align-items:stretch;width:100%;min-width:0}.troisi-input-group .troisi-input{flex:1 1 auto;min-width:0}.troisi-input-group--has-leading .troisi-input{border-top-left-radius:0;border-bottom-left-radius:0}.troisi-input-group--has-trailing .troisi-input{border-top-right-radius:0;border-bottom-right-radius:0}.troisi-input-group__addon{display:inline-flex;align-items:center;flex-shrink:0;padding:0 var(--troisi-space-3);font-size:var(--troisi-text-sm);color:var(--troisi-fg-muted);background:var(--troisi-bg);border:1px solid var(--troisi-border-strong)}.troisi-input-group__addon--leading{border-right:none;border-radius:var(--troisi-radius-lg) 0 0 var(--troisi-radius-lg)}.troisi-input-group__addon--trailing{border-left:none;border-radius:0 var(--troisi-radius-lg) var(--troisi-radius-lg) 0}.troisi-button-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--troisi-space-2)}.troisi-button-group--attached{gap:0}.troisi-button-group--attached .troisi-button{border-radius:0}.troisi-button-group--attached .troisi-button:first-child{border-radius:var(--troisi-radius-lg) 0 0 var(--troisi-radius-lg)}.troisi-button-group--attached .troisi-button:last-child{border-radius:0 var(--troisi-radius-lg) var(--troisi-radius-lg) 0}.troisi-button-group--attached .troisi-button:not(:last-child){border-right-width:0}.troisi-fieldset{margin:0;padding:0;border:none;min-width:0}.troisi-fieldset__legend{padding:0;margin-bottom:var(--troisi-space-2);font-size:var(--troisi-text-sm);font-weight:var(--troisi-weight-semibold);color:var(--troisi-fg)}.troisi-fieldset__description{margin:0 0 var(--troisi-space-3);font-size:var(--troisi-text-xs);color:var(--troisi-fg-subtle)}.troisi-radio-group{margin:0;padding:0;border:none;min-width:0}.troisi-radio-group__legend{padding:0;margin-bottom:var(--troisi-space-2);font-size:var(--troisi-text-sm);font-weight:var(--troisi-weight-semibold);color:var(--troisi-fg)}.troisi-radio-group__description{margin:0 0 var(--troisi-space-3);font-size:var(--troisi-text-xs);color:var(--troisi-fg-subtle)}.troisi-radio-group__options{display:flex;flex-direction:column;gap:var(--troisi-space-2)}.troisi-textarea{display:block;width:100%;min-height:6rem;padding:var(--troisi-space-3);font-family:inherit;font-size:var(--troisi-text-sm);color:var(--troisi-fg);background:var(--troisi-bg-elevated);border:1px solid var(--troisi-border-strong);border-radius:var(--troisi-radius-lg);resize:vertical}.troisi-textarea:focus{outline:none;border-color:var(--troisi-fg-muted);box-shadow:0 0 0 3px color-mix(in srgb,var(--troisi-focus-ring) 35%,transparent)}.troisi-select{display:block;width:100%;height:2.5rem;padding:0 var(--troisi-space-8) 0 var(--troisi-space-3);font-family:inherit;font-size:var(--troisi-text-sm);color:var(--troisi-fg);background:var(--troisi-bg-elevated);border:1px solid var(--troisi-border-strong);border-radius:var(--troisi-radius-lg);appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--troisi-fg-muted) 50%),linear-gradient(135deg,var(--troisi-fg-muted) 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 3px),calc(100% - 11px) calc(50% - 3px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.troisi-combobox{position:relative;display:block;width:100%;min-width:0}.troisi-combobox .troisi-input{width:100%}.troisi-combobox__list{position:absolute;top:calc(100% + var(--troisi-space-1));left:0;right:0;max-height:12rem;overflow:auto;padding:var(--troisi-space-1);background:var(--troisi-bg-elevated);border:1px solid var(--troisi-border);border-radius:var(--troisi-radius-lg);box-shadow:var(--troisi-elevation-2);z-index:var(--troisi-z-dropdown)}.troisi-combobox__option{display:block;width:100%;padding:var(--troisi-space-2) var(--troisi-space-3);border:none;background:transparent;font-family:inherit;font-size:var(--troisi-text-sm);text-align:left;border-radius:var(--troisi-radius-md);cursor:pointer;color:var(--troisi-fg)}.troisi-combobox__option:hover,.troisi-combobox__option--active{background:var(--troisi-border)}.troisi-combobox__option--selected{font-weight:var(--troisi-weight-medium)}.troisi-combobox__option:disabled{opacity:.5;cursor:not-allowed}.troisi-combobox__empty{padding:var(--troisi-space-2) var(--troisi-space-3);font-size:var(--troisi-text-sm);color:var(--troisi-fg-subtle)}.troisi-check,.troisi-radio,.troisi-switch{display:inline-flex;align-items:center;gap:var(--troisi-space-3);cursor:pointer;font-size:var(--troisi-text-sm);font-weight:var(--troisi-weight-medium);color:var(--troisi-fg);-webkit-user-select:none;user-select:none}.troisi-check input,.troisi-radio input{width:1rem;height:1rem;accent-color:var(--troisi-primary)}.troisi-switch input{position:absolute;opacity:0;width:0;height:0}.troisi-switch__track{width:2.5rem;height:1.375rem;border-radius:var(--troisi-radius-full);background:var(--troisi-border-strong);position:relative;transition:background var(--troisi-duration-fast)}.troisi-switch__track:after{content:"";position:absolute;top:50%;left:2px;width:1rem;height:1rem;border-radius:50%;background:var(--troisi-switch-thumb, #a1a1aa);transform:translateY(-50%);transition:transform var(--troisi-duration-fast)}.troisi-switch input:checked+.troisi-switch__track{background:var(--troisi-primary)}.troisi-switch input:checked+.troisi-switch__track:after{transform:translate(1.125rem,-50%)}.troisi-switch input:focus-visible+.troisi-switch__track{outline:2px solid var(--troisi-focus-ring);outline-offset:2px}.troisi-switch--success input:checked+.troisi-switch__track{background:var(--troisi-success)}.troisi-range{width:100%;accent-color:var(--troisi-primary)}.troisi-file-input{position:relative;width:100%}.troisi-file-input__native{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.troisi-file-input__surface{display:flex;align-items:center;gap:var(--troisi-space-3);min-height:2.75rem;padding:var(--troisi-space-2);border:1px dashed var(--troisi-border-strong);border-radius:var(--troisi-radius-lg);background:var(--troisi-bg-elevated);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.troisi-file-input__surface:hover{border-color:var(--troisi-fg-muted);background:var(--troisi-bg)}.troisi-file-input:focus-within .troisi-file-input__surface{border-color:var(--troisi-fg-muted);border-style:solid;box-shadow:0 0 0 3px color-mix(in srgb,var(--troisi-focus-ring) 35%,transparent)}.troisi-file-input__button{flex-shrink:0;padding:var(--troisi-space-2) var(--troisi-space-4);border-radius:var(--troisi-radius-md);background:var(--troisi-primary);color:var(--troisi-primary-fg);font-size:var(--troisi-text-sm);font-weight:var(--troisi-weight-medium);line-height:1}.troisi-file-input__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--troisi-text-sm);color:var(--troisi-fg)}.troisi-file-input__name[data-empty]{color:var(--troisi-fg-subtle)}.troisi-file-input--disabled .troisi-file-input__surface{opacity:.5;cursor:not-allowed;pointer-events:none}.troisi-input--search{padding-left:var(--troisi-space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2371717a' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85zm-5.242 1.06a5 5 0 1 1 0-10 5 5 0 0 1 0 10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:var(--troisi-space-3) center}.troisi-input--color{padding:var(--troisi-space-1);height:2.5rem}.troisi-date-input{position:relative;width:100%}.troisi-date-input__control{position:relative;display:flex;align-items:stretch}.troisi-date-input__field{padding-right:2.75rem;cursor:pointer}.troisi-date-input__trigger{position:absolute;top:1px;right:1px;bottom:1px;display:flex;align-items:center;justify-content:center;width:2.5rem;border:none;border-radius:0 var(--troisi-radius-lg) var(--troisi-radius-lg) 0;background:transparent;color:var(--troisi-fg-muted);cursor:pointer}.troisi-date-input__trigger:hover:not(:disabled){color:var(--troisi-fg);background:var(--troisi-border)}.troisi-date-input__trigger:focus-visible{outline:2px solid var(--troisi-focus-ring);outline-offset:-2px}.troisi-date-input__trigger svg{width:1rem;height:1rem}.troisi-date-input__calendar{position:absolute;top:calc(100% + var(--troisi-space-2));left:0;z-index:var(--troisi-z-dropdown);width:min(100%,18.5rem);padding:var(--troisi-space-3);border:1px solid var(--troisi-border);border-radius:var(--troisi-radius-lg);background:var(--troisi-bg-elevated);box-shadow:var(--troisi-elevation-2)}.troisi-date-input__header{display:flex;align-items:center;justify-content:space-between;gap:var(--troisi-space-2);margin-bottom:var(--troisi-space-3)}.troisi-date-input__month{flex:1;text-align:center;font-size:var(--troisi-text-sm);font-weight:var(--troisi-weight-semibold);color:var(--troisi-fg)}.troisi-date-input__nav{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--troisi-border);border-radius:var(--troisi-radius-md);background:var(--troisi-bg);font-size:var(--troisi-text-lg);line-height:1;color:var(--troisi-fg);cursor:pointer}.troisi-date-input__nav:hover{background:var(--troisi-border)}.troisi-date-input__nav:focus-visible{outline:2px solid var(--troisi-focus-ring);outline-offset:2px}.troisi-date-input__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:var(--troisi-space-2)}.troisi-date-input__weekday{text-align:center;font-size:var(--troisi-text-xs);font-weight:var(--troisi-weight-medium);color:var(--troisi-fg-subtle)}.troisi-date-input__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.troisi-date-input__day{display:flex;align-items:center;justify-content:center;height:2.25rem;border:none;border-radius:var(--troisi-radius-md);background:transparent;font-family:inherit;font-size:var(--troisi-text-sm);color:var(--troisi-fg);cursor:pointer}.troisi-date-input__day:hover:not(:disabled){background:var(--troisi-border)}.troisi-date-input__day:focus-visible{outline:2px solid var(--troisi-focus-ring);outline-offset:1px}.troisi-date-input__day--outside{color:var(--troisi-fg-subtle)}.troisi-date-input__day--today{font-weight:var(--troisi-weight-semibold);box-shadow:inset 0 0 0 1px var(--troisi-border-strong)}.troisi-date-input__day--selected{background:var(--troisi-primary);color:var(--troisi-primary-fg);font-weight:var(--troisi-weight-medium)}.troisi-date-input__day--selected:hover:not(:disabled){background:var(--troisi-primary-hover)}.troisi-date-input__day:disabled{opacity:.35;cursor:not-allowed}.troisi-date-input__footer{display:flex;justify-content:space-between;gap:var(--troisi-space-2);margin-top:var(--troisi-space-3);padding-top:var(--troisi-space-2);border-top:1px solid var(--troisi-border)}.troisi-date-input__footer-btn{border:none;background:none;padding:var(--troisi-space-1) var(--troisi-space-2);font-family:inherit;font-size:var(--troisi-text-xs);font-weight:var(--troisi-weight-medium);color:var(--troisi-fg-muted);cursor:pointer;border-radius:var(--troisi-radius-sm)}.troisi-date-input__footer-btn:hover{color:var(--troisi-fg);background:var(--troisi-border)}.troisi-date-input__footer-btn:focus-visible{outline:2px solid var(--troisi-focus-ring);outline-offset:2px}.troisi-date-input--disabled{opacity:.5;pointer-events:none}.troisi-link{color:var(--troisi-fg);font-weight:var(--troisi-weight-medium);text-decoration:underline;text-underline-offset:3px}.troisi-link:hover{color:var(--troisi-fg-muted)}.troisi-link--subtle{color:var(--troisi-fg-muted);text-decoration:none}.troisi-link--subtle:hover{text-decoration:underline}.troisi-navbar{width:100%;margin:0;border-bottom:1px solid var(--troisi-border);background:var(--troisi-bg-elevated)}.troisi-navbar__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--troisi-space-4);width:100%;padding-block:var(--troisi-space-4);padding-inline:var(--troisi-container-padding-inline)}.troisi-navbar__inner--contained{max-width:var(--troisi-container-max);margin-inline:auto}.troisi-navbar__brand{font-weight:var(--troisi-weight-semibold);font-size:var(--troisi-text-lg);flex-shrink:0}.troisi-navbar__nav{display:flex;align-items:center;flex-wrap:wrap;gap:var(--troisi-space-4)}.troisi-navbar__link{font-size:var(--troisi-text-sm);font-weight:var(--troisi-weight-medium);color:var(--troisi-fg-muted);text-decoration:none;padding:var(--troisi-space-1) var(--troisi-space-2);border-radius:var(--troisi-radius-md)}.troisi-navbar__link:hover,.troisi-navbar__link--active{color:var(--troisi-fg);background:var(--troisi-border)}.troisi-mobile-nav__trigger{display:inline-flex}.troisi-mobile-nav{display:flex;flex-direction:column;gap:var(--troisi-space-1)}.troisi-mobile-nav__drawer{width:min(18rem,100%)}.troisi-sidebar{display:flex;flex-direction:column;gap:var(--troisi-space-1);width:16rem;flex-shrink:0;border-right:1px solid var(--troisi-border);background:var(--troisi-bg-elevated);min-height:100%;min-width:0}.troisi-sidebar:not(:has(.troisi-sidebar__header,.troisi-sidebar__content,.troisi-sidebar__footer)){padding:var(--troisi-space-4)}.troisi-sidebar:has(.troisi-sidebar__header,.troisi-sidebar__content,.troisi-sidebar__footer){gap:0}.troisi-sidebar--collapsed{width:4.5rem}.troisi-sidebar__header{flex-shrink:0;padding:var(--troisi-space-4);border-bottom:1px solid var(--troisi-border)}.troisi-sidebar__content{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--troisi-space-4);min-height:0;padding:var(--troisi-space-2);overflow-y:auto}.troisi-sidebar__footer{flex-shrink:0;margin-top:auto;padding:var(--troisi-space-4);border-top:1px solid var(--troisi-border)}.troisi-sidebar__section{display:flex;flex-direction:column;gap:var(--troisi-space-1)}.troisi-sidebar__section-title{margin:0;padding:var(--troisi-space-2) var(--troisi-space-3);font-size:var(--troisi-text-xs);font-weight:var(--troisi-weight-semibold);line-height:var(--troisi-leading-normal);color:var(--troisi-fg-subtle);text-transform:uppercase;letter-spacing:.04em}.troisi-sidebar__item{display:flex;align-items:center;gap:var(--troisi-space-3);width:100%;padding:var(--troisi-space-2) var(--troisi-space-3);border:none;border-radius:var(--troisi-radius-md);font-family:inherit;font-size:var(--troisi-text-sm);font-weight:var(--troisi-weight-medium);color:var(--troisi-fg-muted);text-align:left;text-decoration:none;background:transparent;cursor:pointer}.troisi-sidebar__item-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.25rem;height:1.25rem}.troisi-sidebar__item-label{flex:1 1 auto;min-width:0}.troisi-sidebar__item--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.troisi-sidebar--collapsed .troisi-sidebar__item-label,.troisi-sidebar--collapsed .troisi-sidebar__section-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.troisi-sidebar--collapsed .troisi-sidebar__item{justify-content:center;padding-inline:var(--troisi-space-2)}.troisi-sidebar__item:focus-visible{outline:2px solid var(--troisi-focus-ring);outline-offset:2px}.troisi-sidebar__item:hover,.troisi-sidebar__item--active{background:var(--troisi-border);color:var(--troisi-fg)}.troisi-tabs{display:flex;flex-direction:column;gap:var(--troisi-space-4)}.troisi-tabs__list{display:flex;gap:var(--troisi-space-1);border-bottom:1px solid var(--troisi-border)}.troisi-tabs__trigger{padding:var(--troisi-space-2) var(--troisi-space-4);border:none;background:transparent;font-family:inherit;font-size:var(--troisi-text-sm);font-weight:var(--troisi-weight-medium);color:var(--troisi-fg-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.troisi-tabs__trigger:hover{color:var(--troisi-fg)}.troisi-tabs__trigger:focus-visible{outline:2px solid var(--troisi-focus-ring);outline-offset:2px}.troisi-tabs__trigger--active{color:var(--troisi-fg);border-bottom-color:var(--troisi-primary)}.troisi-tabs__panel{font-size:var(--troisi-text-sm);color:var(--troisi-fg);line-height:var(--troisi-leading-normal)}.troisi-tabs__panel--hidden{display:none}.troisi-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:var(--troisi-space-2);font-size:var(--troisi-text-sm);list-style:none;margin:0;padding:0}.troisi-breadcrumb__sep{color:var(--troisi-fg-subtle)}.troisi-pagination{display:flex;align-items:center;gap:var(--troisi-space-2)}.troisi-pagination__btn{min-width:2.25rem;height:2.25rem;padding:0 var(--troisi-space-2);border:1px solid var(--troisi-border);border-radius:var(--troisi-radius-md);background:var(--troisi-bg-elevated);font-size:var(--troisi-text-sm);cursor:pointer}.troisi-pagination__btn:hover:not(:disabled){background:var(--troisi-border)}.troisi-pagination__btn--active{background:var(--troisi-primary);color:var(--troisi-primary-fg);border-color:var(--troisi-primary)}.troisi-pagination__btn:disabled{opacity:.5;cursor:not-allowed}.troisi-stepper{display:flex;align-items:flex-start;gap:var(--troisi-space-2);list-style:none;margin:0;padding:0}.troisi-stepper__step{display:flex;flex-direction:column;align-items:center;flex:1;gap:var(--troisi-space-2);text-align:center;font-size:var(--troisi-text-xs);color:var(--troisi-fg-muted)}.troisi-stepper__dot{width:2rem;height:2rem;border-radius:50%;border:2px solid var(--troisi-border-strong);display:flex;align-items:center;justify-content:center;font-weight:var(--troisi-weight-semibold);background:var(--troisi-bg-elevated)}.troisi-stepper__step--active .troisi-stepper__dot{border-color:var(--troisi-primary);background:var(--troisi-primary);color:var(--troisi-primary-fg)}.troisi-stepper__step--done .troisi-stepper__dot{border-color:var(--troisi-success);background:var(--troisi-success-bg);color:var(--troisi-success)}.troisi-menu{position:relative;display:inline-block}.troisi-menu__panel{position:absolute;top:calc(100% + var(--troisi-space-1));left:0;min-width:10rem;padding:var(--troisi-space-1);background:var(--troisi-bg-elevated);border:1px solid var(--troisi-border);border-radius:var(--troisi-radius-lg);box-shadow:var(--troisi-elevation-2);z-index:var(--troisi-z-dropdown)}.troisi-menu__item{display:block;width:100%;padding:var(--troisi-space-2) var(--troisi-space-3);border:none;background:transparent;font-family:inherit;font-size:var(--troisi-text-sm);text-align:left;border-radius:var(--troisi-radius-md);cursor:pointer;color:var(--troisi-fg)}.troisi-menu__item:hover{background:var(--troisi-border)}.troisi-command{display:flex;flex-direction:column;gap:var(--troisi-space-2);max-height:20rem;overflow:hidden}.troisi-command__input{margin-bottom:var(--troisi-space-2)}.troisi-command__list{overflow-y:auto;display:flex;flex-direction:column;gap:var(--troisi-space-1)}.troisi-command__item{padding:var(--troisi-space-2) var(--troisi-space-3);border-radius:var(--troisi-radius-md);font-size:var(--troisi-text-sm);cursor:pointer}.troisi-command__item:hover,.troisi-command__item--active{background:var(--troisi-border)}.troisi-alert{display:flex;align-items:flex-start;gap:var(--troisi-space-3);padding:var(--troisi-space-4);border-radius:var(--troisi-radius-lg);border:1px solid var(--troisi-border);font-size:var(--troisi-text-sm);color:var(--troisi-fg)}.troisi-alert__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.0625rem;border-radius:var(--troisi-radius-full);font-size:var(--troisi-text-xs);font-weight:var(--troisi-weight-bold);line-height:1}.troisi-alert__content{display:flex;flex-direction:column;gap:var(--troisi-space-1);min-width:0;flex:1}.troisi-alert__heading{margin:0;font-weight:var(--troisi-weight-semibold);line-height:var(--troisi-leading-tight)}.troisi-alert__body{margin:0;line-height:var(--troisi-leading-normal);color:var(--troisi-fg-muted)}.troisi-alert--info{background:var(--troisi-bg-elevated)}.troisi-alert--info .troisi-alert__icon{background:var(--troisi-border);color:var(--troisi-fg-muted)}.troisi-alert--info .troisi-alert__icon:before{content:"i"}.troisi-alert--success{background:var(--troisi-success-bg);border-color:color-mix(in srgb,var(--troisi-success) 30%,transparent)}.troisi-alert--success .troisi-alert__icon{background:color-mix(in srgb,var(--troisi-success) 18%,transparent);color:var(--troisi-success)}.troisi-alert--success .troisi-alert__icon:before{content:"✓"}.troisi-alert--success .troisi-alert__heading{color:var(--troisi-success)}.troisi-alert--warning{background:var(--troisi-warning-bg);border-color:color-mix(in srgb,var(--troisi-warning) 30%,transparent)}.troisi-alert--warning .troisi-alert__icon{background:color-mix(in srgb,var(--troisi-warning) 18%,transparent);color:var(--troisi-warning)}.troisi-alert--warning .troisi-alert__icon:before{content:"!"}.troisi-alert--warning .troisi-alert__heading{color:var(--troisi-warning)}.troisi-alert--danger{background:var(--troisi-danger-bg);border-color:color-mix(in srgb,var(--troisi-danger) 30%,transparent)}.troisi-alert--danger .troisi-alert__icon{background:color-mix(in srgb,var(--troisi-danger) 18%,transparent);color:var(--troisi-danger)}.troisi-alert--danger .troisi-alert__icon:before{content:"×"}.troisi-alert--danger .troisi-alert__heading{color:var(--troisi-danger)}.troisi-spinner{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid var(--troisi-border);border-top-color:var(--troisi-primary);border-radius:50%;animation:troisi-spin .7s linear infinite}.troisi-spinner--lg{width:2rem;height:2rem;border-width:3px}@keyframes troisi-spin{to{transform:rotate(360deg)}}.troisi-skeleton{display:block;background:linear-gradient(90deg,var(--troisi-border) 25%,var(--troisi-bg) 50%,var(--troisi-border) 75%);background-size:200% 100%;animation:troisi-shimmer 1.2s ease-in-out infinite;border-radius:var(--troisi-radius-md)}.troisi-skeleton--text{height:1rem}.troisi-skeleton--avatar{width:2.5rem;height:2.5rem;border-radius:50%}.troisi-skeleton--block{height:6rem}@keyframes troisi-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.troisi-progress{width:100%;height:.5rem;appearance:none;border:none;border-radius:var(--troisi-radius-full);background:var(--troisi-border);overflow:hidden}.troisi-progress::-webkit-progress-bar{background:var(--troisi-border);border-radius:var(--troisi-radius-full)}.troisi-progress::-webkit-progress-value{background:var(--troisi-primary);border-radius:var(--troisi-radius-full)}.troisi-progress::-moz-progress-bar{background:var(--troisi-primary);border-radius:var(--troisi-radius-full)}.troisi-overlay{position:fixed;inset:0;z-index:var(--troisi-z-modal);display:flex;align-items:center;justify-content:center;padding:var(--troisi-space-4)}.troisi-overlay__backdrop{position:absolute;inset:0;border:none;padding:0;margin:0;background:#00000080;cursor:default}.troisi-menu__trigger{border:none;background:transparent;padding:0;font:inherit;cursor:pointer}.troisi-modal{position:relative;z-index:calc(var(--troisi-z-modal) + 1);width:100%;max-width:28rem;background:var(--troisi-bg-elevated);border-radius:var(--troisi-radius-lg);box-shadow:var(--troisi-elevation-3);padding:var(--troisi-space-6)}.troisi-modal__header{margin-bottom:var(--troisi-space-4)}.troisi-modal__title{margin:0;font-size:var(--troisi-text-lg);font-weight:var(--troisi-weight-semibold)}.troisi-modal__footer{display:flex;justify-content:flex-end;gap:var(--troisi-space-2);margin-top:var(--troisi-space-6)}.troisi-drawer{position:fixed;top:0;right:0;height:100%;width:min(24rem,100%);background:var(--troisi-bg-elevated);box-shadow:var(--troisi-elevation-3);z-index:calc(var(--troisi-z-modal) + 1);padding:var(--troisi-space-6);display:flex;flex-direction:column;gap:var(--troisi-space-4)}.troisi-drawer--left{right:auto;left:0}.troisi-toast-region{position:fixed;bottom:var(--troisi-space-4);right:var(--troisi-space-4);display:flex;flex-direction:column;gap:var(--troisi-space-2);z-index:var(--troisi-z-toast);max-width:24rem}.troisi-toast{padding:var(--troisi-space-4);border-radius:var(--troisi-radius-lg);background:var(--troisi-bg-elevated);border:1px solid var(--troisi-border);box-shadow:var(--troisi-elevation-2);font-size:var(--troisi-text-sm)}.troisi-tooltip-wrap{position:relative;display:inline-flex}.troisi-tooltip{position:absolute;bottom:calc(100% + var(--troisi-space-2));left:50%;transform:translate(-50%);padding:var(--troisi-space-1) var(--troisi-space-2);font-size:var(--troisi-text-xs);background:var(--troisi-primary);color:var(--troisi-primary-fg);border-radius:var(--troisi-radius-md);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--troisi-duration-fast);z-index:var(--troisi-z-dropdown)}.troisi-tooltip-wrap:hover .troisi-tooltip,.troisi-tooltip-wrap:focus-within .troisi-tooltip{opacity:1}.troisi-popover{position:absolute;top:calc(100% + var(--troisi-space-2));left:0;min-width:12rem;padding:var(--troisi-space-3);background:var(--troisi-bg-elevated);border:1px solid var(--troisi-border);border-radius:var(--troisi-radius-lg);box-shadow:var(--troisi-elevation-2);z-index:var(--troisi-z-dropdown)}.troisi-popover-wrap{position:relative;display:inline-block}.troisi-callout{padding:var(--troisi-space-4);border-radius:var(--troisi-radius-lg);border:1px solid var(--troisi-border);border-left-width:4px;font-size:var(--troisi-text-sm);color:var(--troisi-fg-muted)}.troisi-callout__title{margin:0 0 var(--troisi-space-1);font-weight:var(--troisi-weight-semibold);color:var(--troisi-fg)}.troisi-callout__body{line-height:var(--troisi-leading-normal)}.troisi-callout--info{border-left-color:var(--troisi-fg-muted);background:var(--troisi-bg-elevated)}.troisi-callout--success{border-left-color:var(--troisi-success);background:var(--troisi-success-bg)}.troisi-callout--warning{border-left-color:var(--troisi-warning);background:var(--troisi-warning-bg)}.troisi-callout--danger{border-left-color:var(--troisi-danger);background:var(--troisi-danger-bg)}.troisi-banner{width:100%;padding:var(--troisi-space-3) var(--troisi-container-padding-inline);font-size:var(--troisi-text-sm);text-align:center;color:var(--troisi-fg);border-bottom:1px solid var(--troisi-border)}.troisi-banner--info{background:var(--troisi-bg-elevated)}.troisi-banner--success{background:var(--troisi-success-bg)}.troisi-banner--warning{background:var(--troisi-warning-bg)}.troisi-banner--danger{background:var(--troisi-danger-bg)}.troisi-description-list{display:flex;flex-direction:column;gap:var(--troisi-space-4);margin:0}.troisi-description-list__item{display:grid;grid-template-columns:minmax(8rem,30%) 1fr;gap:var(--troisi-space-2) var(--troisi-space-4);padding-bottom:var(--troisi-space-3);border-bottom:1px solid var(--troisi-border)}.troisi-description-list__item:last-child{padding-bottom:0;border-bottom:none}.troisi-description-list__term{margin:0;font-size:var(--troisi-text-sm);font-weight:var(--troisi-weight-medium);color:var(--troisi-fg-muted)}.troisi-description-list__details{margin:0;font-size:var(--troisi-text-sm);color:var(--troisi-fg)}.troisi-table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;border:1px solid var(--troisi-border);border-radius:var(--troisi-radius-lg)}.troisi-table{width:100%;border-collapse:collapse;font-size:var(--troisi-text-sm)}.troisi-table th,.troisi-table td{padding:var(--troisi-space-3) var(--troisi-space-4);text-align:left;border-bottom:1px solid var(--troisi-border)}.troisi-table th{font-weight:var(--troisi-weight-semibold);background:var(--troisi-bg);color:var(--troisi-fg-muted)}.troisi-table__sort{display:inline-flex;align-items:center;gap:var(--troisi-space-1);border:none;background:transparent;font:inherit;color:inherit;cursor:pointer;padding:0}.troisi-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.troisi-list__item{padding:var(--troisi-space-3) var(--troisi-space-4);border-bottom:1px solid var(--troisi-border)}.troisi-list__item:last-child{border-bottom:none}.troisi-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--troisi-border);color:var(--troisi-fg-muted);font-weight:var(--troisi-weight-semibold);overflow:hidden;flex-shrink:0}.troisi-avatar--sm{width:2rem;height:2rem;font-size:var(--troisi-text-xs)}.troisi-avatar--md{width:2.5rem;height:2.5rem;font-size:var(--troisi-text-sm)}.troisi-avatar--lg{width:3rem;height:3rem;font-size:var(--troisi-text-base)}.troisi-blockquote{margin:0}.troisi-blockquote blockquote{margin:0;padding:var(--troisi-space-4) var(--troisi-space-5);font-size:var(--troisi-text-lg);line-height:var(--troisi-leading-relaxed);color:var(--troisi-fg);border-left:4px solid var(--troisi-border-strong);background:var(--troisi-bg-elevated);border-radius:0 var(--troisi-radius-lg) var(--troisi-radius-lg) 0}.troisi-blockquote__cite{margin-top:var(--troisi-space-2);padding-left:var(--troisi-space-5);font-size:var(--troisi-text-sm);color:var(--troisi-fg-muted)}.troisi-avatar-group{display:inline-flex;align-items:center}.troisi-avatar-group__item{margin-left:calc(var(--troisi-space-2) * -1);border:2px solid var(--troisi-bg-elevated);border-radius:var(--troisi-radius-full)}.troisi-avatar-group__item:first-child{margin-left:0}.troisi-avatar-group__overflow{margin-left:calc(var(--troisi-space-2) * -1);border:2px solid var(--troisi-bg-elevated);font-size:var(--troisi-text-xs);font-weight:var(--troisi-weight-semibold);color:var(--troisi-fg-muted);background:var(--troisi-border)}.troisi-hero{display:flex;flex-direction:column;gap:var(--troisi-space-4);padding:var(--troisi-space-12) 0}.troisi-hero--center{align-items:center;text-align:center}.troisi-hero__eyebrow{margin:0;font-size:var(--troisi-text-sm);font-weight:var(--troisi-weight-semibold);color:var(--troisi-fg-muted);text-transform:uppercase;letter-spacing:.06em}.troisi-hero__title{margin:0;font-size:var(--troisi-text-4xl);font-weight:var(--troisi-weight-bold);line-height:var(--troisi-leading-tight);letter-spacing:-.02em;color:var(--troisi-fg)}.troisi-hero__description{margin:0;max-width:40rem;font-size:var(--troisi-text-lg);line-height:var(--troisi-leading-relaxed);color:var(--troisi-fg-muted)}.troisi-hero__actions{display:flex;flex-wrap:wrap;gap:var(--troisi-space-3)}.troisi-avatar img{width:100%;height:100%;object-fit:cover}.troisi-stat{display:flex;flex-direction:column;gap:var(--troisi-space-1)}.troisi-stat__label{font-size:var(--troisi-text-sm);color:var(--troisi-fg-muted)}.troisi-stat__value{font-size:var(--troisi-text-2xl);font-weight:var(--troisi-weight-bold)}.troisi-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--troisi-space-4)}.troisi-timeline__item{display:grid;grid-template-columns:auto 1fr;gap:var(--troisi-space-3)}.troisi-timeline__dot{width:.75rem;height:.75rem;border-radius:50%;background:var(--troisi-primary);margin-top:.35rem}.troisi-accordion{display:flex;flex-direction:column;border:1px solid var(--troisi-border);border-radius:var(--troisi-radius-lg);overflow:hidden}.troisi-accordion__item+.troisi-accordion__item{border-top:1px solid var(--troisi-border)}.troisi-accordion__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--troisi-space-4);border:none;background:var(--troisi-bg-elevated);font-family:inherit;font-size:var(--troisi-text-sm);font-weight:var(--troisi-weight-medium);cursor:pointer;text-align:left}.troisi-accordion__panel{padding:0 var(--troisi-space-4) var(--troisi-space-4);font-size:var(--troisi-text-sm);color:var(--troisi-fg-muted)}.troisi-carousel{position:relative}.troisi-carousel__track{display:flex;gap:var(--troisi-space-4);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.troisi-carousel__track::-webkit-scrollbar{display:none}.troisi-carousel__slide{flex:0 0 80%;scroll-snap-align:start}.troisi-carousel__controls{display:flex;gap:var(--troisi-space-2);margin-top:var(--troisi-space-3)}.troisi-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--troisi-space-3);padding:var(--troisi-space-12) var(--troisi-space-6)}.troisi-empty__title{margin:0;font-size:var(--troisi-text-lg);font-weight:var(--troisi-weight-semibold)}.troisi-empty__desc{margin:0;font-size:var(--troisi-text-sm);color:var(--troisi-fg-muted);max-width:24rem}.troisi-code-block{font-family:var(--troisi-font-mono);font-size:var(--troisi-text-sm);background:var(--troisi-bg-elevated);border:1px solid var(--troisi-border);border-radius:var(--troisi-radius-lg);padding:var(--troisi-space-4);overflow-x:auto;margin:0}.troisi-chip{display:inline-flex;align-items:center;gap:var(--troisi-space-1);padding:.125rem var(--troisi-space-2);font-size:var(--troisi-text-xs);border-radius:var(--troisi-radius-full);background:var(--troisi-border);color:var(--troisi-fg)}.troisi-chip__dismiss{border:none;background:transparent;cursor:pointer;padding:0;line-height:1;color:var(--troisi-fg-muted)}.troisi-badge--danger{background:var(--troisi-danger-bg);color:var(--troisi-danger)}.troisi-image{display:block;max-width:100%;height:auto;border-radius:var(--troisi-radius-lg)}.troisi-image--cover{width:100%;height:100%;object-fit:cover}.troisi-video{display:block;width:100%;max-width:100%;border-radius:var(--troisi-radius-lg);background:#000}.troisi-lightbox{position:fixed;inset:0;z-index:var(--troisi-z-modal);background:#000000e6;display:flex;align-items:center;justify-content:center;padding:var(--troisi-space-4)}.troisi-lightbox__close{position:absolute;top:var(--troisi-space-4);right:var(--troisi-space-4);border:none;background:#ffffff26;color:#fff;width:2.5rem;height:2.5rem;border-radius:var(--troisi-radius-full);cursor:pointer;font-size:var(--troisi-text-lg)}.troisi-lightbox__img{max-width:100%;max-height:90vh;border-radius:var(--troisi-radius-lg)}.troisi-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.troisi-icon--sm{width:1rem;height:1rem}.troisi-icon--md{width:1.25rem;height:1.25rem}.troisi-icon--lg{width:1.5rem;height:1.5rem}.troisi-icon svg{width:100%;height:100%}.troisi-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.troisi-text--code{font-family:var(--troisi-font-mono);font-size:.9em;background:var(--troisi-border);padding:.125rem .375rem;border-radius:var(--troisi-radius-sm)}.troisi-button--icon{padding:0;width:2.5rem;height:2.5rem}.troisi-button--icon.troisi-button--sm{width:2rem;height:2rem}.troisi-button--icon.troisi-button--lg{width:3rem;height:3rem}.troisi-kbd{display:inline-block;padding:.125rem var(--troisi-space-2);font-family:var(--troisi-font-mono);font-size:var(--troisi-text-xs);line-height:1.4;color:var(--troisi-fg-muted);background:var(--troisi-bg-elevated);border:1px solid var(--troisi-border-strong);border-radius:var(--troisi-radius-sm);box-shadow:inset 0 -1px 0 var(--troisi-border)}.troisi-theme-toggle{min-width:3.5rem}.site-skip{position:absolute;left:var(--troisi-space-4);top:var(--troisi-space-4);z-index:calc(var(--troisi-z-sticky) + 1);transform:translateY(-200%)}.site-skip:focus{transform:none}.site-navbar{position:sticky;top:0;z-index:var(--troisi-z-sticky)}.site-navbar a{white-space:nowrap}.site-main{display:flex;flex-direction:column;gap:var(--troisi-space-16);padding-block:var(--troisi-space-4) var(--troisi-space-16)}.site-code-toolbar{display:flex;justify-content:flex-end}.site-nowrap{white-space:nowrap}.site-lane{display:flex;flex-direction:column;gap:var(--troisi-space-2);min-width:0}.site-user-btn{width:100%;justify-content:flex-start}.site-user-btn[aria-current=true]{font-weight:600}.troisi-section[id],.troisi-hero[id]{scroll-margin-top:5rem}.site-router-link{color:inherit;text-decoration:none}.site-router-link:hover{text-decoration:underline}.site-nav-link{margin-inline-end:var(--troisi-space-2);font-size:var(--troisi-font-size-sm)}.site-brand{font-weight:600}.site-docs-body{white-space:pre-line;max-width:42rem}.site-docs-sample{margin-top:var(--troisi-space-4)}.site-docs-toc a{color:var(--troisi-color-text-muted)}.site-api-wrap{width:100%}.site-api-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--troisi-space-8);align-items:start}.site-api-main{display:flex;flex-direction:column;gap:var(--troisi-space-10);min-width:0}.site-api-header{margin-bottom:calc(var(--troisi-space-2) * -1)}.site-api-header__actions{flex-wrap:wrap}.site-api-sidebar{display:none}.site-api-sidebar__label{font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:var(--troisi-space-3)}.site-api-sidebar__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--troisi-space-1)}.site-api-sidebar__link{display:block;padding:var(--troisi-space-2) var(--troisi-space-3);border-radius:var(--troisi-radius-md);color:var(--troisi-color-text-muted);text-decoration:none;font-size:var(--troisi-font-size-sm);line-height:1.35;border-inline-start:2px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease}.site-api-sidebar__link:hover{color:var(--troisi-color-text);background:var(--troisi-color-surface-muted)}.site-api-sidebar__link:focus-visible{outline:2px solid var(--troisi-color-border);outline-offset:2px}@media(min-width:56rem){.site-api-layout{grid-template-columns:11.5rem minmax(0,1fr);gap:var(--troisi-space-12)}.site-api-sidebar{display:block;position:sticky;top:5.25rem;max-height:calc(100vh - 6rem);overflow-y:auto;padding-block:var(--troisi-space-2)}}.site-api-section{scroll-margin-top:5.5rem}.site-api-section__title{margin-bottom:var(--troisi-space-4);letter-spacing:-.02em}.site-api-section__rule{margin-top:var(--troisi-space-8);margin-bottom:0;opacity:.55}.site-api-section:last-of-type .site-api-section__rule{display:none}.site-api-ref-panel{background:var(--troisi-color-surface-muted);border-color:var(--troisi-color-border)}.site-api-term{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--troisi-space-2)}.site-api-code-panel{overflow:hidden;border-color:var(--troisi-color-border);box-shadow:0 1px 2px #0000000a}.site-api-code-panel__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--troisi-space-3);padding:var(--troisi-space-2) var(--troisi-space-4);border-bottom:1px solid var(--troisi-color-border);background:var(--troisi-color-surface-muted)}.site-docs-cta--primary{background:var(--troisi-color-text);color:var(--troisi-color-surface);border-color:transparent}.site-docs-cta--primary:hover{opacity:.92;background:var(--troisi-color-text)}.site-footer{border-top:1px solid var(--troisi-color-border)}.site-footer .troisi-footer__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--troisi-space-4)}.site-footer__nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--troisi-space-4)}.site-footer__link{font-size:var(--troisi-font-size-sm);color:var(--troisi-color-text-muted);text-decoration:none}.site-footer__link:hover{color:var(--troisi-color-text);text-decoration:underline}.site-bottom-cta__panel{border-color:var(--troisi-color-border);background:linear-gradient(180deg,var(--troisi-color-surface-muted) 0%,var(--troisi-color-surface) 100%)}.site-bottom-cta__install{overflow:hidden;box-shadow:none}.site-bottom-cta__install .site-api-code-panel__bar{border-bottom:none}.site-bottom-cta__links{flex-wrap:wrap}.site-docs-cta{display:inline-flex;align-items:center;justify-content:center;padding:var(--troisi-space-2) var(--troisi-space-4);border-radius:var(--troisi-radius-md);border:1px solid var(--troisi-color-border);color:inherit;text-decoration:none;font-size:var(--troisi-font-size-sm);font-weight:500}.site-docs-cta:hover{background:var(--troisi-color-surface-muted)}
