/* Tulip Society component styles. Shipped with styles.css; components reference these class names. */

/* ---- Icon (Lucide, masked to currentColor) ---- */
.ts-icon{display:inline-block;flex:none;background-color:currentColor;-webkit-mask-image:var(--ts-icon-url);mask-image:var(--ts-icon-url);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}

/* ---- Overline / Rule ---- */
.ts-rule{border:0;height:var(--ts-hairline);background:var(--ts-border-hairline);margin:0}
.ts-rule--metal{background:var(--ts-border-metal)}
.ts-rule--strong{background:var(--ts-border-strong)}

/* ---- Crest ---- */
.ts-crest{display:inline-flex;align-items:center;gap:var(--ts-space-4);text-decoration:none;border:0}
.ts-crest img{display:block}
.ts-crest__word{font-family:var(--ts-font-display);letter-spacing:.06em;line-height:1;color:var(--ts-text-primary)}

/* ---- Button ---- */
.ts-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ts-space-3);font-family:var(--ts-font-body);font-weight:var(--ts-weight-medium);letter-spacing:var(--ts-track-button);text-transform:uppercase;border:var(--ts-hairline) solid transparent;border-radius:var(--ts-radius-sm);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-color var(--ts-duration-fast) var(--ts-ease-standard),border-color var(--ts-duration-fast) var(--ts-ease-standard),color var(--ts-duration-fast) var(--ts-ease-standard),transform var(--ts-duration-instant) var(--ts-ease-standard),opacity var(--ts-duration-fast) var(--ts-ease-standard)}
.ts-btn--lg{min-height:52px;padding:0 var(--ts-space-8);font-size:var(--ts-size-body-sm)}
.ts-btn--md{min-height:var(--ts-touch-min);padding:0 var(--ts-space-7);font-size:var(--ts-size-caption)}
.ts-btn--sm{min-height:34px;padding:0 var(--ts-space-5);font-size:var(--ts-size-overline)}
.ts-btn--block{display:flex;width:100%}
.ts-btn:active:not(:disabled){transform:scale(var(--ts-press-scale))}
.ts-btn:disabled{opacity:.42;cursor:not-allowed}
.ts-btn--primary{background:var(--ts-accent);color:var(--ts-text-on-accent)}
.ts-btn--primary:hover:not(:disabled){background:var(--ts-accent-hover)}
.ts-btn--primary:active:not(:disabled){background:var(--ts-accent-pressed)}
.ts-btn--secondary{background:transparent;color:var(--ts-text-primary);border-color:var(--ts-border-strong)}
.ts-btn--secondary:hover:not(:disabled){border-color:var(--ts-metal);color:var(--ts-metal)}
.ts-btn--metal{background:transparent;color:var(--ts-metal);border-color:var(--ts-border-metal)}
.ts-btn--metal:hover:not(:disabled){background:var(--ts-wash-metal);border-color:var(--ts-metal)}
.ts-btn--ghost{background:transparent;color:var(--ts-text-secondary);padding-left:var(--ts-space-4);padding-right:var(--ts-space-4)}
.ts-btn--ghost:hover:not(:disabled){color:var(--ts-text-primary)}
.ts-btn--solid{background:var(--ts-text-primary);color:var(--ts-text-inverse)}
.ts-btn--solid:hover:not(:disabled){background:var(--ts-solid-hover)}

/* ---- IconButton ---- */
.ts-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:var(--ts-touch-min);height:var(--ts-touch-min);background:transparent;border:var(--ts-hairline) solid transparent;border-radius:var(--ts-radius-pill);color:var(--ts-text-secondary);cursor:pointer;transition:color var(--ts-duration-fast) var(--ts-ease-standard),background-color var(--ts-duration-fast) var(--ts-ease-standard),border-color var(--ts-duration-fast) var(--ts-ease-standard),transform var(--ts-duration-instant) var(--ts-ease-standard)}
.ts-iconbtn:hover:not(:disabled){color:var(--ts-text-primary);background:var(--ts-wash-hover)}
.ts-iconbtn:active:not(:disabled){transform:scale(var(--ts-press-scale))}
.ts-iconbtn:disabled{opacity:.42;cursor:not-allowed}
.ts-iconbtn--outlined{border-color:var(--ts-border-hairline)}
.ts-iconbtn--outlined:hover:not(:disabled){border-color:var(--ts-border-metal)}
.ts-iconbtn--sm{width:34px;height:34px}

/* ---- Tag / Badge ---- */
.ts-tag{display:inline-flex;align-items:center;gap:var(--ts-space-2);font-size:var(--ts-size-overline);line-height:1;font-weight:var(--ts-weight-medium);letter-spacing:var(--ts-track-overline);text-transform:uppercase;padding:6px var(--ts-space-4);border-radius:var(--ts-radius-pill);border:var(--ts-hairline) solid var(--ts-border-hairline);color:var(--ts-text-secondary);background:transparent}
.ts-tag--metal{color:var(--ts-metal);border-color:var(--ts-border-metal)}
.ts-tag--accent{color:var(--ts-accent);border-color:rgba(224,107,31,.42);background:var(--ts-accent-quiet)}
.ts-tag--bts{color:var(--ts-text-primary);border-color:var(--ts-border-strong)}
.ts-tag--ots{color:var(--ts-ots-text);border-color:rgba(224,107,31,.42)}
.ts-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:var(--ts-weight-semibold);letter-spacing:.02em;border-radius:var(--ts-radius-pill);background:var(--ts-accent);color:var(--ts-text-on-accent)}
.ts-badge--quiet{background:var(--ts-surface-card-hover);color:var(--ts-text-secondary)}
.ts-badge--success{background:var(--ts-success);color:var(--ts-paper-000)}
.ts-badge--warning{background:var(--ts-warning);color:var(--ts-ink-900)}
.ts-badge--danger{background:var(--ts-danger);color:var(--ts-paper-000)}
.ts-badge--dot{min-width:8px;width:8px;height:8px;padding:0}

/* ---- Avatar ---- */
.ts-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:var(--ts-radius-pill);overflow:hidden;background:var(--ts-surface-card-hover);color:var(--ts-text-secondary);font-family:var(--ts-font-display);letter-spacing:.04em;box-shadow:var(--ts-inset-metal)}
.ts-avatar img{width:100%;height:100%;object-fit:cover;display:block}

/* ---- Card ---- */
.ts-card{position:relative;background:var(--ts-surface-card);border:var(--ts-hairline) solid var(--ts-border-hairline);border-radius:var(--ts-radius-sm);overflow:hidden}
.ts-card--quiet{background:transparent}
.ts-card--metal{border-color:var(--ts-border-metal)}
.ts-card--interactive{cursor:pointer;transition:background-color var(--ts-duration-fast) var(--ts-ease-standard),border-color var(--ts-duration-fast) var(--ts-ease-standard),transform var(--ts-duration-base) var(--ts-ease-out)}
.ts-card--interactive:hover{background:var(--ts-surface-card-hover);border-color:var(--ts-border-metal)}
.ts-card--interactive:active{transform:scale(var(--ts-press-scale))}
.ts-card__body{padding:var(--ts-space-6)}

/* ---- EventCard ---- */
.ts-event{position:relative;display:block;width:100%;text-align:left;border:0;padding:0;background:var(--ts-ink-900);border-radius:var(--ts-radius-sm);overflow:hidden;cursor:pointer;color:var(--ts-text-primary);text-decoration:none}
.ts-event__media{position:relative;width:100%;aspect-ratio:3/4;background:var(--ts-ink-700);overflow:hidden}
.ts-event--wide .ts-event__media{aspect-ratio:16/9}
.ts-event__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--ts-duration-slow) var(--ts-ease-out)}
.ts-event:hover .ts-event__media img{transform:scale(1.035)}
.ts-event__scrim{position:absolute;inset:0;background:var(--ts-scrim-bottom)}
.ts-event__body{position:absolute;inset:auto 0 0 0;padding:var(--ts-space-6);display:grid;gap:var(--ts-space-2)}
.ts-event__meta{font-size:var(--ts-size-overline);letter-spacing:var(--ts-track-overline);text-transform:uppercase;color:var(--ts-champagne-300)}
.ts-event__title{font-family:var(--ts-font-display);font-size:var(--ts-size-display-sm);line-height:var(--ts-lh-display-sm);letter-spacing:var(--ts-track-display);margin:0;text-wrap:pretty}
.ts-event__venue{font-size:var(--ts-size-body-sm);color:var(--ts-ash-200);margin:0}
.ts-event__tags{position:absolute;top:var(--ts-space-4);left:var(--ts-space-4);display:flex;gap:var(--ts-space-2)}

/* ---- ListRow ---- */
.ts-row{display:flex;align-items:center;gap:var(--ts-space-5);width:100%;min-height:var(--ts-touch-min);padding:var(--ts-space-4) 0;background:transparent;border:0;border-bottom:var(--ts-hairline) solid var(--ts-border-hairline);color:inherit;text-align:left;font:inherit;cursor:pointer;transition:opacity var(--ts-duration-fast) var(--ts-ease-standard)}
.ts-row:last-child{border-bottom:0}
.ts-row:hover{opacity:.72}
.ts-row--static{cursor:default}
.ts-row--static:hover{opacity:1}
.ts-row__text{flex:1;min-width:0;display:grid;gap:2px}
.ts-row__label{font-size:var(--ts-size-body);color:var(--ts-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ts-row__sub{font-size:var(--ts-size-body-sm);color:var(--ts-text-muted)}
.ts-row__trail{font-size:var(--ts-size-body-sm);color:var(--ts-text-secondary);display:flex;align-items:center;gap:var(--ts-space-3)}

/* ---- Stat ---- */
.ts-stat{display:grid;gap:var(--ts-space-2);justify-items:start}
.ts-stat__value{font-family:var(--ts-font-display);font-size:var(--ts-size-display-md);line-height:1;letter-spacing:var(--ts-track-display);color:var(--ts-text-primary)}
.ts-stat__label{font-size:var(--ts-size-overline);letter-spacing:var(--ts-track-overline);text-transform:uppercase;color:var(--ts-text-muted)}
.ts-stat--center{justify-items:center;text-align:center}

/* ---- Inputs ---- */
.ts-field{display:grid;gap:var(--ts-space-3)}
.ts-field__label{font-size:var(--ts-size-overline);letter-spacing:var(--ts-track-overline);text-transform:uppercase;color:var(--ts-text-muted)}
.ts-field__hint{font-size:var(--ts-size-caption);color:var(--ts-text-muted)}
.ts-field__hint--error{color:var(--ts-danger-text)}
.ts-input{width:100%;min-height:var(--ts-touch-min);padding:var(--ts-space-4) 0;background:transparent;border:0;border-bottom:var(--ts-hairline) solid var(--ts-border-strong);border-radius:0;color:var(--ts-text-primary);font-family:var(--ts-font-body);font-size:var(--ts-size-body-lg);transition:border-color var(--ts-duration-fast) var(--ts-ease-standard)}
.ts-input::placeholder{color:var(--ts-text-muted)}
.ts-input:hover:not(:disabled){border-bottom-color:var(--ts-border-metal)}
.ts-input:focus{outline:0;border-bottom-color:var(--ts-metal)}
.ts-input:disabled{opacity:.42;cursor:not-allowed}
.ts-input--invalid{border-bottom-color:var(--ts-orange-500)}
.ts-input--boxed{padding:var(--ts-space-4) var(--ts-space-5);border:var(--ts-hairline) solid var(--ts-border-strong);border-radius:var(--ts-radius-sm);background:var(--ts-bg-sunken)}
.ts-select{appearance:none;background-image:none;cursor:pointer;padding-right:var(--ts-space-7)}
.ts-select-wrap{position:relative;display:block}
.ts-select-wrap .ts-icon{position:absolute;right:0;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--ts-text-muted)}

/* ---- Checkbox / Radio / Switch ---- */
.ts-check{display:flex;align-items:flex-start;gap:var(--ts-space-4);min-height:var(--ts-touch-min);cursor:pointer;font-size:var(--ts-size-body);color:var(--ts-text-primary);padding:var(--ts-space-3) 0}
.ts-check input{position:absolute;opacity:0;width:0;height:0}
.ts-check__box{flex:none;width:20px;height:20px;margin-top:1px;border:var(--ts-hairline) solid var(--ts-border-strong);border-radius:var(--ts-radius-xs);display:grid;place-items:center;color:transparent;transition:border-color var(--ts-duration-fast) var(--ts-ease-standard),background-color var(--ts-duration-fast) var(--ts-ease-standard),color var(--ts-duration-fast) var(--ts-ease-standard)}
.ts-check:hover .ts-check__box{border-color:var(--ts-metal)}
.ts-check input:checked+.ts-check__box{background:var(--ts-metal);border-color:var(--ts-metal);color:var(--ts-ink-900)}
.ts-check input:focus-visible+.ts-check__box{outline:1px solid var(--ts-focus-ring);outline-offset:3px}
.ts-check--radio .ts-check__box{border-radius:var(--ts-radius-pill)}
.ts-check--radio input:checked+.ts-check__box{background:transparent;border-color:var(--ts-metal);box-shadow:inset 0 0 0 4px var(--ts-bg),inset 0 0 0 20px var(--ts-metal)}
.ts-check--disabled{opacity:.42;cursor:not-allowed}
.ts-switch{position:relative;display:inline-flex;align-items:center;flex:none;width:46px;height:26px;border-radius:var(--ts-radius-pill);background:var(--ts-surface-control-off);border:var(--ts-hairline) solid var(--ts-border-hairline);cursor:pointer;padding:0;transition:background-color var(--ts-duration-fast) var(--ts-ease-standard),border-color var(--ts-duration-fast) var(--ts-ease-standard)}
.ts-switch__knob{position:absolute;left:3px;width:18px;height:18px;border-radius:var(--ts-radius-pill);background:var(--ts-ash-200);transition:transform var(--ts-duration-fast) var(--ts-ease-standard),background-color var(--ts-duration-fast) var(--ts-ease-standard)}
.ts-switch[aria-checked="true"]{background:var(--ts-metal-soft);border-color:var(--ts-border-metal)}
.ts-switch[aria-checked="true"] .ts-switch__knob{transform:translateX(20px);background:var(--ts-champagne-100)}
.ts-switch:disabled{opacity:.42;cursor:not-allowed}

/* ---- FilterChip ---- */
.ts-chip{display:inline-flex;align-items:center;gap:var(--ts-space-2);min-height:34px;padding:0 var(--ts-space-5);font-family:var(--ts-font-body);font-size:var(--ts-size-caption);letter-spacing:.04em;border-radius:var(--ts-radius-pill);border:var(--ts-hairline) solid var(--ts-border-hairline);background:transparent;color:var(--ts-text-secondary);cursor:pointer;white-space:nowrap;transition:color var(--ts-duration-fast) var(--ts-ease-standard),border-color var(--ts-duration-fast) var(--ts-ease-standard),background-color var(--ts-duration-fast) var(--ts-ease-standard)}
.ts-chip:hover{color:var(--ts-text-primary);border-color:var(--ts-border-strong)}
.ts-chip[aria-pressed="true"]{background:var(--ts-text-primary);border-color:var(--ts-text-primary);color:var(--ts-text-inverse)}

/* ---- AppBar / TabBar / SegmentedTabs ---- */
.ts-appbar{position:relative;display:flex;align-items:center;gap:var(--ts-space-3);min-height:var(--ts-appbar-height);padding:0 var(--ts-space-4);background:var(--ts-surface-chrome);-webkit-backdrop-filter:var(--ts-blur-chrome);backdrop-filter:var(--ts-blur-chrome);border-bottom:var(--ts-hairline) solid var(--ts-border-hairline)}
.ts-appbar--transparent{background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.ts-appbar__title{flex:1;min-width:0;text-align:center;font-size:var(--ts-size-caption);letter-spacing:var(--ts-track-overline);text-transform:uppercase;color:var(--ts-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ts-appbar__slot{display:flex;align-items:center;gap:var(--ts-space-2);min-width:var(--ts-touch-min)}
.ts-appbar__slot--end{justify-content:flex-end}
.ts-tabbar{display:flex;align-items:stretch;height:var(--ts-tabbar-height);padding-bottom:12px;background:var(--ts-surface-chrome);-webkit-backdrop-filter:var(--ts-blur-chrome);backdrop-filter:var(--ts-blur-chrome);border-top:var(--ts-hairline) solid var(--ts-border-hairline)}
.ts-tabbar__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:transparent;border:0;padding:0;cursor:pointer;color:var(--ts-text-muted);font-family:var(--ts-font-body);font-size:10px;letter-spacing:.1em;text-transform:uppercase;transition:color var(--ts-duration-fast) var(--ts-ease-standard)}
.ts-tabbar__item:hover{color:var(--ts-text-secondary)}
.ts-tabbar__item[aria-current="page"]{color:var(--ts-metal)}
.ts-segtabs{display:flex;gap:var(--ts-space-7);border-bottom:var(--ts-hairline) solid var(--ts-border-hairline)}
.ts-segtabs__item{position:relative;background:transparent;border:0;padding:var(--ts-space-4) 0;cursor:pointer;color:var(--ts-text-muted);font-family:var(--ts-font-body);font-size:var(--ts-size-caption);letter-spacing:var(--ts-track-overline);text-transform:uppercase;transition:color var(--ts-duration-fast) var(--ts-ease-standard)}
.ts-segtabs__item:hover{color:var(--ts-text-secondary)}
.ts-segtabs__item[aria-selected="true"]{color:var(--ts-text-primary)}
.ts-segtabs__item[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--ts-metal)}

/* ---- Sheet / Dialog ---- */
.ts-overlay{position:absolute;inset:0;display:flex;background:var(--ts-surface-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:40;animation:ts-fade var(--ts-duration-base) var(--ts-ease-standard)}
.ts-overlay--sheet{align-items:flex-end}
.ts-overlay--dialog{align-items:center;justify-content:center;padding:var(--ts-space-6)}
.ts-sheet{width:100%;max-height:86%;overflow:auto;background:var(--ts-bg-elevated);border-top:var(--ts-hairline) solid var(--ts-border-metal);border-radius:var(--ts-radius-sheet) var(--ts-radius-sheet) 0 0;box-shadow:var(--ts-shadow-sheet);padding:var(--ts-space-6) var(--ts-gutter) var(--ts-space-8);animation:ts-rise var(--ts-duration-base) var(--ts-ease-out)}
.ts-sheet__grip{width:36px;height:3px;border-radius:var(--ts-radius-pill);background:var(--ts-border-strong);margin:0 auto var(--ts-space-6)}
.ts-dialog{width:100%;max-width:340px;background:var(--ts-bg-elevated);border:var(--ts-hairline) solid var(--ts-border-metal);border-radius:var(--ts-radius-sm);box-shadow:var(--ts-shadow-lg);padding:var(--ts-space-7);animation:ts-rise var(--ts-duration-base) var(--ts-ease-out)}
.ts-dialog__title{font-family:var(--ts-font-display);font-size:var(--ts-size-display-sm);line-height:var(--ts-lh-display-sm);margin:0 0 var(--ts-space-4)}
.ts-dialog__body{font-size:var(--ts-size-body);color:var(--ts-text-secondary);margin:0 0 var(--ts-space-7)}
.ts-dialog__actions{display:flex;gap:var(--ts-space-3);justify-content:flex-end}
@keyframes ts-fade{from{opacity:0}to{opacity:1}}
@keyframes ts-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ---- Toast / Tooltip / EmptyState ---- */
.ts-toast{display:flex;align-items:center;gap:var(--ts-space-4);padding:var(--ts-space-4) var(--ts-space-5);background:var(--ts-surface-toast);border:var(--ts-hairline) solid var(--ts-border-hairline);border-left:2px solid var(--ts-metal);border-radius:var(--ts-radius-sm);box-shadow:var(--ts-shadow-md);font-size:var(--ts-size-body-sm);color:var(--ts-text-primary);animation:ts-rise var(--ts-duration-base) var(--ts-ease-out)}
.ts-toast--success{border-left-color:var(--ts-success)}
.ts-toast--danger{border-left-color:var(--ts-danger)}
.ts-toast__msg{flex:1;min-width:0}
.ts-tooltip{position:relative;display:inline-flex}
.ts-tooltip__bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);padding:6px var(--ts-space-4);background:var(--ts-tooltip-bg);color:var(--ts-tooltip-fg);font-size:var(--ts-size-caption);line-height:1.3;border-radius:var(--ts-radius-xs);white-space:nowrap;box-shadow:var(--ts-shadow-sm);pointer-events:none;opacity:0;transition:opacity var(--ts-duration-fast) var(--ts-ease-standard)}
.ts-tooltip:hover .ts-tooltip__bubble,.ts-tooltip:focus-within .ts-tooltip__bubble{opacity:1}
.ts-empty{display:grid;gap:var(--ts-space-5);justify-items:center;text-align:center;padding:var(--ts-space-10) var(--ts-space-6);color:var(--ts-text-muted)}
.ts-empty__title{font-family:var(--ts-font-display);font-size:var(--ts-size-display-sm);line-height:var(--ts-lh-display-sm);color:var(--ts-text-primary);margin:0}
.ts-empty__body{font-size:var(--ts-size-body-sm);max-width:30ch;margin:0}

/* ---- DateBlock ---- */
.ts-date{display:inline-grid;justify-items:center;gap:1px;min-width:52px;padding:8px 6px;border:var(--ts-hairline) solid var(--ts-border-metal);border-radius:var(--ts-radius-sm);color:var(--ts-text-primary);line-height:1}
.ts-date__day{font-family:var(--ts-font-display);font-size:26px;letter-spacing:var(--ts-track-display)}
.ts-date__month{font-size:10px;letter-spacing:var(--ts-track-overline);text-transform:uppercase;color:var(--ts-metal)}
.ts-date__weekday{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ts-text-muted);margin-top:3px}
.ts-date--lg{min-width:68px;padding:10px 8px}.ts-date--lg .ts-date__day{font-size:34px}
.ts-date--plain{border-color:transparent;padding:0;min-width:0}

/* ---- Countdown ---- */
.ts-countdown{display:flex;gap:var(--ts-space-7)}
.ts-countdown--center{justify-content:center}

/* ---- MemberCard ---- */
.ts-mcard{position:relative;display:grid;gap:var(--ts-space-6);padding:22px;background:var(--ts-ink-900);color:var(--ts-paper-100);border:var(--ts-hairline) solid rgba(196,169,106,.34);border-radius:var(--ts-radius-md);box-shadow:var(--ts-shadow-md);aspect-ratio:1.586;overflow:hidden}
.ts-mcard--ots{background:linear-gradient(160deg,#B3541A 0%,#8F3F0E 100%);border-color:rgba(255,255,255,.22)}
.ts-mcard--paper{background:var(--ts-paper-100);color:var(--ts-ink-800);border-color:rgba(142,119,66,.45)}
.ts-mcard__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ts-mcard__head img{display:block}
.ts-mcard__society{font-size:10px;letter-spacing:.18em;text-transform:uppercase;text-align:right;line-height:1.6;color:var(--ts-champagne-500)}
.ts-mcard--ots .ts-mcard__society{color:var(--ts-orange-100)}
.ts-mcard--paper .ts-mcard__society{color:var(--ts-champagne-700)}
.ts-mcard__name{font-family:var(--ts-font-display);font-size:26px;line-height:1.05;letter-spacing:var(--ts-track-display)}
.ts-mcard__sub{font-size:12.5px;opacity:.72;margin-top:4px}
.ts-mcard__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:auto}
.ts-mcard__fields{display:flex;gap:22px}
.ts-mcard__field{display:grid;gap:3px}
.ts-mcard__field b{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:400;opacity:.62}
.ts-mcard__field span{font-family:var(--ts-font-mono);font-size:13px}
.ts-mcard__rule{height:1px;background:rgba(196,169,106,.34)}
.ts-mcard--ots .ts-mcard__rule{background:rgba(255,255,255,.28)}
.ts-mcard--paper .ts-mcard__rule{background:rgba(142,119,66,.45)}

/* ---- Skeleton ---- */
.ts-skel{position:relative;overflow:hidden;background:var(--ts-skeleton);border-radius:var(--ts-radius-sm)}
.ts-skel::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,var(--ts-skeleton-shine),transparent);animation:ts-shimmer 1.6s var(--ts-ease-in-out) infinite}
.ts-skel--text{height:12px;border-radius:2px}.ts-skel--title{height:22px;border-radius:2px}.ts-skel--circle{border-radius:var(--ts-radius-pill)}
@keyframes ts-shimmer{to{transform:translateX(100%)}}

/* ---- Steps ---- */
.ts-steps{display:flex;gap:0;margin:0;padding:0;list-style:none}
.ts-steps--vertical{flex-direction:column}
.ts-steps__item{position:relative;display:flex;flex:1;min-width:0;gap:12px}
.ts-steps--horizontal .ts-steps__item{flex-direction:column;align-items:center;text-align:center;gap:10px}
.ts-steps--vertical .ts-steps__item{padding-bottom:26px}
.ts-steps--vertical .ts-steps__item:last-child{padding-bottom:0}
.ts-steps__dot{position:relative;z-index:1;flex:none;width:22px;height:22px;border-radius:var(--ts-radius-pill);border:var(--ts-hairline) solid var(--ts-border-strong);background:var(--ts-bg);display:grid;place-items:center;color:transparent;transition:border-color var(--ts-duration-fast) var(--ts-ease-standard),background-color var(--ts-duration-fast) var(--ts-ease-standard)}
.ts-steps__item--done .ts-steps__dot{background:var(--ts-metal);border-color:var(--ts-metal);color:var(--ts-ink-900)}
.ts-steps__item--current .ts-steps__dot{border-color:var(--ts-metal);box-shadow:inset 0 0 0 4px var(--ts-bg),inset 0 0 0 22px var(--ts-metal)}
.ts-steps__line{position:absolute;background:var(--ts-border-hairline)}
.ts-steps--horizontal .ts-steps__line{top:11px;left:50%;width:100%;height:1px}
.ts-steps--vertical .ts-steps__line{top:22px;left:11px;width:1px;height:calc(100% - 22px)}
.ts-steps__item:last-child .ts-steps__line{display:none}
.ts-steps__item--done .ts-steps__line{background:var(--ts-border-metal)}
.ts-steps__text{display:grid;gap:3px;min-width:0}
.ts-steps__label{font-size:var(--ts-size-caption);letter-spacing:.06em;text-transform:uppercase;color:var(--ts-text-muted)}
.ts-steps__item--current .ts-steps__label,.ts-steps__item--done .ts-steps__label{color:var(--ts-text-primary)}
.ts-steps__sub{font-size:var(--ts-size-body-sm);color:var(--ts-text-muted)}
.ts-steps--vertical .ts-steps__label{font-size:var(--ts-size-body);letter-spacing:0;text-transform:none}

/* ---- Accordion ---- */
.ts-acc{margin:0;padding:0;list-style:none;border-top:var(--ts-hairline) solid var(--ts-border-hairline)}
.ts-acc__item{border-bottom:var(--ts-hairline) solid var(--ts-border-hairline)}
.ts-acc__btn{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:var(--ts-touch-min);padding:18px 0;background:transparent;border:0;color:var(--ts-text-primary);font-family:var(--ts-font-display);font-size:var(--ts-size-display-sm);line-height:var(--ts-lh-display-sm);letter-spacing:var(--ts-track-display);text-align:left;cursor:pointer;transition:color var(--ts-duration-fast) var(--ts-ease-standard)}
.ts-acc__btn:hover{color:var(--ts-metal)}
.ts-acc__btn .ts-icon{color:var(--ts-metal);transition:transform var(--ts-duration-base) var(--ts-ease-standard)}
.ts-acc__btn[aria-expanded="true"] .ts-icon{transform:rotate(180deg)}
.ts-acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--ts-duration-base) var(--ts-ease-standard)}
.ts-acc__panel--open{grid-template-rows:1fr}
.ts-acc__panel>div{overflow:hidden}
.ts-acc__body{padding:0 0 22px;font-size:var(--ts-size-body);line-height:var(--ts-lh-body);color:var(--ts-text-secondary);max-width:60ch;margin:0}
