:root {
  --primary: #007AFF;
  --primary-hover: #0056CC;
  --success: #34C759;
  --warning: #FF9500;
  --error: #FF3B30;
  --label: #000000;
  --label2: #3C3C43;
  --label3: #48484A;
  --bg: #FFFFFF;
  --surface: #F2F2F7;
  --card: #FFFFFF;
  --border: #E5E5EA;
  --input-bg: #F2F2F7;
  --font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
}
@media (prefers-color-scheme: dark) {
  :root {
    --primary: #0A84FF;
    --primary-hover: #409CFF;
    --success: #30D158;
    --warning: #FF9F0A;
    --error: #FF453A;
    --label: #FFFFFF;
    --label2: #EBEBF5;
    --label3: #636366;
    --bg: #000000;
    --surface: #1C1C1E;
    --card: #1C1C1E;
    --border: #38383A;
    --input-bg: #1C1C1E;
  }
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:17px;-webkit-font-smoothing:antialiased}
body{font-family:var(--font);color:var(--label);background:var(--bg);line-height:1.47;min-height:100vh}
a{color:var(--primary);text-decoration:none}
a:hover{color:var(--primary-hover)}
button{font-family:inherit;cursor:pointer;border:none;outline:none}
input,textarea,select{font-family:inherit;font-size:1rem;outline:none;border:1px solid var(--border);border-radius:var(--r-sm);padding:12px;background:var(--input-bg);color:var(--label);width:100%}
input:focus,textarea:focus,select:focus{border-color:var(--primary)}
textarea{resize:vertical;min-height:100px}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 24px;border-radius:var(--r-md);font-size:1rem;font-weight:600}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-hover)}
.btn-secondary{background:transparent;color:var(--primary);border:1px solid var(--border)}
.btn-secondary:hover{background:var(--surface)}
.btn-danger{background:var(--error);color:#fff}
.btn-sm{height:36px;padding:0 16px;font-size:.875rem;border-radius:var(--r-sm)}
.card{background:var(--card);border-radius:var(--r-lg);padding:24px;border:1px solid var(--border)}
.label{font-size:.875rem;font-weight:500;color:var(--label2);margin-bottom:4px;display:block}
.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.fade-in{animation:fadeIn .25s ease}
