:root{--color-accent: #0F6B4F;--color-accent-hover: #0C5940;--color-accent-active: #0A4B36;--color-accent-fg: #FFFFFF;--color-accent-soft: #E7F3EE;--color-bg: #FFFFFF;--color-surface: #FFFFFF;--color-surface-sunken: #F7F8F7;--color-surface-hover: #F0F2F0;--color-border: #E4E6E4;--color-border-strong: #CBCFCC;--color-text: #14171A;--color-text-muted: #62696B;--color-text-faint: #9AA1A2;--color-danger: #C2452F;--color-danger-soft: #FBEAE6;--color-success: #0F6B4F;--color-success-soft: #E7F3EE;--color-warning: #B4790A;--color-warning-soft: #FBF1DE;--color-info: #1E63C7;--color-info-soft: #E9F1FC;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, sans-serif;--font-size-xs: .8125rem;--font-size-sm: .9375rem;--font-size-md: 1.0625rem;--font-size-lg: 1.375rem;--font-size-xl: 1.75rem;--font-size-2xl: 2.25rem;--font-weight-regular: 400;--font-weight-semibold: 600;--font-weight-bold: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--border-width: 1px;--shadow-sm: 0 1px 2px rgba(20, 23, 26, .06);--shadow-md: 0 8px 24px rgba(20, 23, 26, .1);--shadow-lg: 0 16px 48px rgba(20, 23, 26, .16);--content-width-narrow: 560px;--content-width: 1120px;--max-content-width: 420px;--sidebar-width: 232px;--touch-target-min: 44px;--transition-fast: .12s ease;--transition-base: .18s cubic-bezier(.2, .7, .3, 1)}*{box-sizing:border-box}html,body,#root{height:100%}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);color:var(--color-text);background:var(--color-surface-sunken);-webkit-font-smoothing:antialiased}button,input{font-family:inherit}a{color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.page{width:100%;margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-7);display:flex;flex-direction:column;gap:var(--space-5)}.page--wide{max-width:var(--content-width)}.page--narrow{max-width:var(--content-width-narrow)}@media(min-width:640px){.page{padding:var(--space-6) var(--space-5) var(--space-7)}}@media(min-width:1024px){.page{padding:var(--space-7) var(--space-6)}}.surface-card{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:box-shadow var(--transition-base),border-color var(--transition-base),transform var(--transition-base)}a.surface-card,.surface-card--interactive{cursor:pointer}a.surface-card:hover,a.surface-card:focus-visible,.surface-card--interactive:hover,.surface-card--interactive:focus-visible{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}::selection{background:var(--color-accent-soft);color:var(--color-accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--touch-target-min);padding:0 var(--space-5);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);border:var(--border-width) solid transparent;cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.55;transform:none}.btn-sm{height:36px;padding:0 var(--space-4);font-size:var(--font-size-sm)}.btn-primary{background:var(--color-accent);color:var(--color-accent-fg)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-primary:active:not(:disabled){background:var(--color-accent-active)}.btn-secondary{background:var(--color-accent-soft);color:var(--color-accent)}.btn-secondary:hover:not(:disabled){background:#dceee6}.btn-ghost{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-strong)}.btn-danger{background:var(--color-surface);color:var(--color-danger);border-color:var(--color-danger-soft)}.btn-danger:hover:not(:disabled){background:var(--color-danger-soft);border-color:var(--color-danger)}.btn-icon{height:var(--touch-target-min);width:var(--touch-target-min);padding:0;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.btn-spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;opacity:.85;animation:spin .7s linear infinite}.field-input{height:var(--touch-target-min);width:100%;border-radius:var(--radius-md);border:var(--border-width) solid var(--color-border);padding:0 var(--space-4);font-size:var(--font-size-md);background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.field-input:hover:not(:disabled):not(:focus){border-color:var(--color-border-strong)}.field-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.field-input:disabled{background:var(--color-surface-sunken);color:var(--color-text-muted);cursor:not-allowed}.field-input.field-input--error{border-color:var(--color-danger)}.field-input.field-input--error:focus{box-shadow:0 0 0 3px var(--color-danger-soft)}
