.ui-badge{border-radius:var(--radius-full);padding:2px var(--space-2);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);align-items:center;display:inline-flex}.ui-badge--success{background:color-mix(in oklab, var(--color-success) 18%, transparent);color:var(--color-success)}.ui-badge--warning{background:color-mix(in oklab, var(--color-warning) 18%, transparent);color:var(--color-warning)}.ui-badge--error{background:color-mix(in oklab, var(--color-error) 18%, transparent);color:var(--color-error)}.ui-badge--neutral{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.ui-badge--accent{background:var(--color-accent-subtle);color:var(--color-accent-hover)}.ui-spinner{justify-content:center;align-items:center;display:inline-flex}.ui-spinner__ring{border-radius:var(--radius-full);border:2px solid var(--color-border);border-top-color:var(--color-accent);animation:.8s linear infinite ui-spinner-rotate;display:block}.ui-spinner--sm .ui-spinner__ring{width:12px;height:12px}.ui-spinner--md .ui-spinner__ring{width:16px;height:16px}.ui-spinner--lg .ui-spinner__ring{width:20px;height:20px}@keyframes ui-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ui-button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);font-size:var(--font-size-label);font-family:var(--font-body);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);border:1px solid #0000;line-height:1;display:inline-flex}.ui-button:hover:not(:disabled){transform:translateY(-1px)}.ui-button:active:not(:disabled){transform:translateY(0)}.ui-button:disabled{cursor:not-allowed;opacity:.5}.ui-button--full-width{width:100%}.ui-button--sm{min-height:32px;padding:var(--space-2) var(--space-3)}.ui-button--md{min-height:44px;padding:var(--space-2) var(--space-5)}.ui-button--lg{min-height:48px;padding:var(--space-3) var(--space-6)}.ui-button--primary{background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-hover) 100%);color:#07080e;border-color:#0000;box-shadow:0 2px 12px #c9a96e40}.ui-button--primary:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 4px 20px #c9a96e59}.ui-button--secondary{border-color:var(--color-border);color:var(--color-text-primary);background:0 0}.ui-button--secondary:hover:not(:disabled){background:var(--color-accent-subtle);border-color:#c9a96e66}.ui-button--ghost{color:var(--color-text-secondary);background:0 0}.ui-button--ghost:hover:not(:disabled){background:var(--color-accent-subtle);color:var(--color-text-primary)}.ui-button--danger{background:var(--color-error);border-color:var(--color-error);color:#fff}.ui-button--danger:hover:not(:disabled){filter:brightness(1.05)}.ui-button__icon,.ui-button__spinner{justify-content:center;align-items:center;display:inline-flex}.ui-button__label{align-items:center;display:inline-flex}.ui-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-secondary);color:var(--color-text-primary);padding:var(--space-5)}.ui-card--elevated{background:var(--color-bg-elevated);box-shadow:var(--shadow-md)}.ui-card--accent{box-shadow:var(--shadow-glow);border-color:#c9a96e80}.ui-checkbox{gap:var(--space-2);display:grid}.ui-checkbox__label{align-items:center;gap:var(--space-3);cursor:pointer;display:inline-flex}.ui-checkbox__input{opacity:0;pointer-events:none;position:absolute}.ui-checkbox__box{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-elevated);width:18px;height:18px;transition:transform var(--transition-spring), background-color var(--transition-fast), border-color var(--transition-fast)}.ui-checkbox__text{color:var(--color-text-primary)}.ui-checkbox__input:checked+.ui-checkbox__box{background:var(--color-accent);border-color:var(--color-accent);transform:scale(1.12)}.ui-checkbox__input:focus-visible+.ui-checkbox__box{outline:2px solid var(--color-accent);outline-offset:2px}.ui-checkbox__helper{color:var(--color-text-muted);font-size:var(--font-size-small)}.ui-checkbox__error{color:var(--color-error);font-size:var(--font-size-small)}.ui-checkbox--error .ui-checkbox__box{border-color:var(--color-error)}.ui-modal{z-index:1300;background:color-mix(in oklab, var(--color-text-primary) 45%, transparent);animation:ui-modal-backdrop-fade var(--transition-base);padding:var(--space-4);place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.ui-modal__content{width:100%;max-height:calc(100dvh - var(--space-8));border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-bg-elevated);box-shadow:var(--shadow-xl);animation:ui-modal-content-enter var(--transition-base);flex-direction:column;display:flex}.ui-modal__content--sm{max-width:400px}.ui-modal__content--md{max-width:560px}.ui-modal__content--lg{max-width:720px}.ui-modal__header{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);padding:var(--space-4);display:flex}.ui-modal__title{font-size:var(--font-size-h3-mobile);margin:0}.ui-modal__close{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.ui-modal__body{padding:var(--space-4);min-height:0;overflow-y:auto}.ui-modal__footer{justify-content:flex-end;gap:var(--space-3);border-top:1px solid var(--color-border);padding:var(--space-4);display:flex}@keyframes ui-modal-backdrop-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-modal-content-enter{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.ui-confirm-dialog{gap:var(--space-3);display:grid}.ui-confirm-dialog__description{color:var(--color-text-secondary)}.ui-empty-state{justify-items:center;gap:var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-secondary);text-align:center;padding:var(--space-6);display:grid}.ui-empty-state__icon{color:var(--color-accent)}.ui-empty-state__title{margin:0}.ui-empty-state__description{color:var(--color-text-secondary)}.ui-input{gap:var(--space-2);display:grid}.ui-input__label{color:var(--color-text-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.ui-input__control{position:relative}.ui-input__field{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);width:100%;min-height:40px;color:var(--color-text-primary);padding:var(--space-2) var(--space-3);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.ui-input__field::placeholder{color:var(--color-text-muted)}.ui-input__field--with-left-icon{padding-left:var(--space-8)}.ui-input__field--with-right-icon{padding-right:var(--space-8)}.ui-input__icon{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.ui-input__icon--left{left:var(--space-3)}.ui-input__icon--right{right:var(--space-3)}.ui-input__field:focus-visible{border-color:var(--color-accent)}.ui-input__helper{color:var(--color-text-muted);font-size:var(--font-size-small)}.ui-input__error{color:var(--color-error);font-size:var(--font-size-small)}.ui-input--error .ui-input__field{border-color:var(--color-error)}.ui-progress{gap:var(--space-2);display:grid}.ui-progress__track{border-radius:var(--radius-full);background:var(--color-border);width:100%;height:10px;overflow:hidden}.ui-progress__fill{height:100%;transition:width var(--transition-slow)}.ui-progress__fill--accent{background:var(--color-accent)}.ui-progress__fill--success{background:var(--color-success)}.ui-progress__label{color:var(--color-text-secondary);font-size:var(--font-size-small)}.ui-select{gap:var(--space-2);display:grid}.ui-select__label{color:var(--color-text-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.ui-select__control{position:relative}.ui-select__field{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);width:100%;min-height:40px;color:var(--color-text-primary);appearance:none;padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);transition:border-color var(--transition-fast)}.ui-select__field:focus-visible{border-color:var(--color-accent)}.ui-select__icon{top:50%;right:var(--space-3);color:var(--color-text-muted);pointer-events:none;position:absolute;transform:translateY(-50%)}.ui-select__helper{color:var(--color-text-muted);font-size:var(--font-size-small)}.ui-select__error{color:var(--color-error);font-size:var(--font-size-small)}.ui-select--error .ui-select__field{border-color:var(--color-error)}.ui-skeleton{gap:var(--space-2);width:100%;display:grid}.ui-skeleton__line{border-radius:var(--radius-sm);background:linear-gradient(90deg, color-mix(in srgb, var(--color-border) 60%, transparent) 0%, color-mix(in srgb, var(--color-border) 25%, var(--color-bg-elevated)) 50%, color-mix(in srgb, var(--color-border) 60%, transparent) 100%);background-size:220% 100%;height:12px;animation:1.2s ease-in-out infinite ui-skeleton-shimmer}.ui-skeleton__line:last-child{width:75%}.ui-skeleton--sm .ui-skeleton__line{height:10px}.ui-skeleton--md .ui-skeleton__line{height:12px}.ui-skeleton--lg .ui-skeleton__line{height:16px}@keyframes ui-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.ui-skeleton__line{animation:none}}.ui-slider{gap:var(--space-2);display:grid}.ui-slider__top-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.ui-slider__label{color:var(--color-text-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.ui-slider__value{min-width:2ch;color:var(--color-accent);font-family:var(--font-mono);font-size:var(--font-size-small)}.ui-slider__field{border-radius:var(--radius-full);appearance:none;background:linear-gradient(to right, var(--color-accent) var(--ui-slider-progress,0%), var(--color-border) var(--ui-slider-progress,0%));cursor:pointer;width:100%;height:8px}.ui-slider__field::-webkit-slider-thumb{border:2px solid var(--color-bg-elevated);border-radius:var(--radius-full);background:var(--color-accent);appearance:none;width:18px;height:18px;box-shadow:var(--shadow-sm)}.ui-slider__field::-moz-range-thumb{border:2px solid var(--color-bg-elevated);border-radius:var(--radius-full);background:var(--color-accent);width:18px;height:18px;box-shadow:var(--shadow-sm)}.ui-slider__helper{color:var(--color-text-muted);font-size:var(--font-size-small)}.ui-slider__error{color:var(--color-error);font-size:var(--font-size-small)}.ui-textarea{gap:var(--space-2);display:grid}.ui-textarea__label{color:var(--color-text-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.ui-textarea__field{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);width:100%;min-height:112px;color:var(--color-text-primary);padding:var(--space-3);resize:vertical;transition:border-color var(--transition-fast)}.ui-textarea__field::placeholder{color:var(--color-text-muted)}.ui-textarea__field:focus-visible{border-color:var(--color-accent)}.ui-textarea__meta{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.ui-textarea__helper,.ui-textarea__counter{color:var(--color-text-muted);font-size:var(--font-size-small)}.ui-textarea__error{color:var(--color-error);font-size:var(--font-size-small)}.ui-textarea--error .ui-textarea__field{border-color:var(--color-error)}.ui-toast-stack{top:var(--space-4);right:var(--space-4);z-index:1200;gap:var(--space-3);width:min(360px, calc(100vw - var(--space-8)));display:grid;position:fixed}.ui-toast{align-items:start;gap:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg-elevated);box-shadow:var(--shadow-lg);padding:var(--space-3) var(--space-4);grid-template-columns:1fr auto;animation:.3s ui-toast-slide-in;display:grid}.ui-toast--success{border-left:4px solid var(--color-success)}.ui-toast--error{border-left:4px solid var(--color-error)}.ui-toast--warning{border-left:4px solid var(--color-warning)}.ui-toast--info{border-left:4px solid var(--color-accent)}.ui-toast__title{color:var(--color-text-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);margin:0}.ui-toast__message{color:var(--color-text-secondary);margin:0}.ui-toast__close{border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;padding:0}.ui-toast-close-button{border-radius:var(--radius-sm);color:var(--color-accent);cursor:pointer;background:0 0;border:0}@keyframes ui-toast-slide-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.ui-toggle{gap:var(--space-2);display:grid}.ui-toggle__label{align-items:center;gap:var(--space-3);cursor:pointer;display:inline-flex}.ui-toggle__input{opacity:0;pointer-events:none;position:absolute}.ui-toggle__track{border-radius:var(--radius-full);background:var(--color-border);width:42px;height:24px;transition:background-color var(--transition-fast);position:relative}.ui-toggle__thumb{border-radius:var(--radius-full);background:var(--color-bg-elevated);width:20px;height:20px;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast);position:absolute;top:2px;left:2px}.ui-toggle__input:checked+.ui-toggle__track{background:var(--color-accent)}.ui-toggle__input:checked+.ui-toggle__track .ui-toggle__thumb{transform:translate(18px)}.ui-toggle__input:focus-visible+.ui-toggle__track{outline:2px solid var(--color-accent);outline-offset:2px}.ui-toggle__text{color:var(--color-text-primary)}.ui-toggle__helper{color:var(--color-text-muted);font-size:var(--font-size-small)}.ui-toggle__error{color:var(--color-error);font-size:var(--font-size-small)}.ui-toggle--error .ui-toggle__track{background:color-mix(in oklab, var(--color-error) 45%, var(--color-border))}.ui-tooltip{display:inline-flex;position:relative}.ui-tooltip__trigger{display:inline-flex}.ui-tooltip__content{z-index:30;border-radius:var(--radius-md);background:var(--color-text-primary);color:var(--color-bg-elevated);box-shadow:var(--shadow-md);font-size:var(--font-size-small);white-space:nowrap;padding:var(--space-2) var(--space-3);opacity:0;pointer-events:none;transition:opacity var(--transition-base);position:absolute}.ui-tooltip__content--visible{opacity:1}.ui-tooltip__content--top{left:50%;bottom:calc(100% + var(--space-2));transform:translate(-50%)}.ui-tooltip__content--right{top:50%;left:calc(100% + var(--space-2));transform:translateY(-50%)}.ui-tooltip__content--bottom{left:50%;top:calc(100% + var(--space-2));transform:translate(-50%)}.ui-tooltip__content--left{top:50%;right:calc(100% + var(--space-2));transform:translateY(-50%)}.ui-tooltip__arrow{border-style:solid;width:0;height:0;position:absolute}.ui-tooltip__arrow--top{border-width:4px 4px 0;border-color:var(--color-text-primary) transparent transparent transparent;bottom:-4px;left:50%;transform:translate(-50%)}.ui-tooltip__arrow--right{border-width:4px 4px 4px 0;border-color:transparent var(--color-text-primary) transparent transparent;top:50%;left:-4px;transform:translateY(-50%)}.ui-tooltip__arrow--bottom{border-width:0 4px 4px;border-color:transparent transparent var(--color-text-primary) transparent;top:-4px;left:50%;transform:translate(-50%)}.ui-tooltip__arrow--left{border-width:4px 0 4px 4px;border-color:transparent transparent transparent var(--color-text-primary);top:50%;right:-4px;transform:translateY(-50%)}:root{--color-bg-primary:#f5f1ea;--color-bg-secondary:#ede7da;--color-bg-elevated:#fefaf4;--color-text-primary:#1a130a;--color-text-secondary:#4d3f2d;--color-text-muted:#8a7a66;--color-accent:#b08540;--color-accent-hover:#9a7030;--color-accent-subtle:#b085401f;--color-success:#2e7d4f;--color-warning:#d4880f;--color-error:#c0392b;--color-border:#1a130a1f;--font-display:"Bellefair", serif;--font-heading:"Cormorant Garamond", serif;--font-body:"Source Sans 3", sans-serif;--font-mono:"JetBrains Mono", monospace;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-size-display-desktop:3rem;--font-size-display-mobile:2rem;--font-size-h1-desktop:2.25rem;--font-size-h1-mobile:1.75rem;--font-size-h2-desktop:1.5rem;--font-size-h2-mobile:1.25rem;--font-size-h3-desktop:1.2rem;--font-size-h3-mobile:1.1rem;--font-size-body:1rem;--font-size-small:.875rem;--font-size-label:.8125rem;--font-size-mono-desktop:3rem;--font-size-mono-mobile:2.25rem;--letter-spacing-tight:-.02em;--letter-spacing-normal:0em;--letter-spacing-wide:.06em;--letter-spacing-wider:.1em;--letter-spacing-widest:.18em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-sm:3px;--radius-md:6px;--radius-lg:10px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 3px #1a130a14;--shadow-md:0 4px 16px #1a130a1a;--shadow-lg:0 8px 32px #1a130a24;--shadow-xl:0 16px 56px #1a130a2e;--shadow-glow:0 0 24px #b0854038, 0 0 6px #b085401a;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--color-bg-primary:#070810;--color-bg-secondary:#0e1022;--color-bg-elevated:#141828;--color-text-primary:#ede8df;--color-text-secondary:#9b9285;--color-text-muted:#5c5549;--color-accent:#c9a96e;--color-accent-hover:#dfbd88;--color-accent-subtle:#c9a96e1a;--color-success:#3da567;--color-warning:#e69b1a;--color-error:#e05a4f;--color-border:#c9a96e26;--shadow-sm:0 1px 3px #00000059;--shadow-md:0 4px 16px #00000073;--shadow-lg:0 8px 32px #0000008c;--shadow-xl:0 16px 64px #000000a6;--shadow-glow:0 0 32px #c9a96e2e, 0 0 8px #c9a96e14}*,:before,:after{box-sizing:border-box}html{font-size:16px}body{background:var(--color-bg-primary);min-height:100vh;color:var(--color-text-primary);font-family:var(--font-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;line-height:1.5;transition:color .3s,background-color .3s,border-color .3s,fill .3s,stroke .3s,box-shadow .3s}body *{transition:color .3s,background-color .3s,border-color .3s,fill .3s,stroke .3s,box-shadow .3s}h1{color:var(--color-text-primary);font-family:var(--font-display);font-weight:var(--font-weight-regular);font-size:var(--font-size-h1-mobile);letter-spacing:var(--letter-spacing-tight);margin:0;line-height:1.15}h2{color:var(--color-text-primary);font-family:var(--font-heading);font-weight:var(--font-weight-light);font-size:var(--font-size-h2-mobile);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;margin:0;line-height:1.2}h3{color:var(--color-text-primary);font-family:var(--font-heading);font-weight:var(--font-weight-light);font-size:var(--font-size-h3-mobile);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;margin:0;line-height:1.25}p{color:var(--color-text-secondary);font-size:var(--font-size-body);margin:0}a{color:inherit;text-decoration:none}small{font-size:var(--font-size-small);color:var(--color-text-muted)}:focus-visible{outline:1px solid var(--color-accent);outline-offset:3px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#c9a96e33}::-webkit-scrollbar-thumb:hover{background:#c9a96e66}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width>=1024px){h1{font-size:var(--font-size-h1-desktop)}h2{font-size:var(--font-size-h2-desktop)}h3{font-size:var(--font-size-h3-desktop)}}.sr-only,.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-skip-link{top:-100px;left:var(--space-4);z-index:9999;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);transition:top var(--transition-fast);position:absolute}.sr-skip-link:focus{top:var(--space-4)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
