:root{--color-primary: #1f4e79;--color-primary-700: #173a5c;--color-accent: #e8762c;--color-bg: #f5f7f9;--color-surface: #ffffff;--color-border: #e2e6ea;--color-text: #1a2330;--color-muted: #5b6675;--status-done: #1f8a4c;--status-processing: #c77700;--status-queued: #5b6675;--status-failed: #c0392b;--fs-xs: 12px;--fs-sm: 14px;--fs-md: 16px;--fs-lg: 20px;--fs-xl: 28px;--fs-2xl: 40px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-8: 48px;--radius: 8px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .1);--container: 960px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:var(--fs-md);color:var(--color-text);background:var(--color-bg);line-height:1.5}h1{font-size:var(--fs-xl);margin:0 0 var(--sp-3);line-height:1.2}h2{font-size:var(--fs-lg);margin:0 0 var(--sp-3)}h3{font-size:var(--fs-md);margin:0 0 var(--sp-2)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--container);margin:0 auto;padding:var(--sp-5) var(--sp-4)}.muted{color:var(--color-muted)}.error-text{color:var(--status-failed)}.stack>*+*{margin-top:var(--sp-3)}.row{display:flex;align-items:center;gap:var(--sp-3)}.spacer{margin-left:auto}.verify-banner{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;background:#fff7ec;border:1px solid var(--status-processing);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-4)}.verify-banner__msg{flex:1;min-width:220px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font:inherit;font-weight:600;cursor:pointer;padding:10px 18px;border-radius:var(--radius);border:1px solid transparent;transition:background .15s,border-color .15s,opacity .15s}.btn:disabled{opacity:.6;cursor:default}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--color-primary-700)}.btn--secondary{background:#fff;color:var(--color-primary);border-color:var(--color-border)}.btn--secondary:hover:not(:disabled){border-color:var(--color-primary)}.btn--ghost{background:transparent;color:var(--color-muted)}.btn--ghost:hover:not(:disabled){color:var(--color-text)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-4)}.badge{display:inline-block;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:999px;color:#fff}.badge--done{background:var(--status-done)}.badge--processing{background:var(--status-processing)}.badge--queued{background:var(--status-queued)}.badge--failed{background:var(--status-failed)}.usage-meter__track{height:8px;border-radius:999px;background:var(--color-border);overflow:hidden;margin-top:var(--sp-2)}.usage-meter__fill{height:100%;background:var(--color-accent)}.spinner{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--color-muted)}.spinner__dot{width:14px;height:14px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:var(--sp-8) var(--sp-4);color:var(--color-muted)}.empty-state h3{color:var(--color-text)}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-header__inner{max-width:var(--container);margin:0 auto;display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4)}.app-brand{font-weight:800;color:var(--color-primary);font-size:var(--fs-lg)}.app-brand__accent{color:var(--color-accent)}.app-nav{display:flex;gap:var(--sp-4)}.app-nav a.active{color:var(--color-primary);font-weight:700}.app-footer{color:var(--color-muted);font-size:var(--fs-sm);text-align:center;padding:var(--sp-6) var(--sp-4)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4)}.field{display:block;margin-bottom:var(--sp-3)}.field>span{display:block;font-size:var(--fs-sm);font-weight:600;margin-bottom:var(--sp-1)}select,input[type=file],input[type=text],input[type=email],input[type=password]{font:inherit;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;width:100%;max-width:420px}.hero{text-align:center;padding:var(--sp-8) var(--sp-4) var(--sp-6)}.hero h1{font-size:var(--fs-2xl)}.hero p{font-size:var(--fs-lg);color:var(--color-muted);max-width:640px;margin:0 auto var(--sp-5)}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-4);margin-top:var(--sp-6)}.step__num{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--color-primary);color:#fff;font-weight:700;margin-bottom:var(--sp-2)}
