:root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px}#root{min-height:100vh}*{box-sizing:border-box}.app-root{color:#1f2937;max-width:1100px;min-height:100vh;margin:0 auto;padding:32px 24px 48px;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.app-root header{margin-bottom:24px}.app-root header h1{margin:0 0 4px;font-size:28px}.app-root header .sub{color:#6b7280;margin:0}.grid{grid-template-columns:repeat(3,340px);justify-content:center;align-items:stretch;gap:24px;display:grid}@media (width<=1100px){.grid{grid-template-columns:1fr;max-width:360px;margin:0 auto}}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:20px;display:flex;box-shadow:0 1px 2px #0000000a}.panel h2,.panel>p.hint,.actions{align-self:stretch}.panel h2{color:#374151;text-transform:uppercase;letter-spacing:.05em;margin:0 0 4px;font-size:15px;font-weight:600}.actions{gap:8px;width:100%;margin-top:4px;display:flex}.actions button{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;flex:1;padding:10px 16px;font-size:15px;font-weight:500}.actions button:hover:not(:disabled){background:#f3f4f6}.actions button:disabled{opacity:.5;cursor:not-allowed}.actions button.primary{color:#fff;background:#2563eb;border-color:#2563eb}.actions button.primary:hover:not(:disabled){background:#1d4ed8}.error{color:#b91c1c;background:#fef2f2;border-radius:6px;padding:8px;font-size:13px}.hint{color:#6b7280;margin:0;font-size:12px}body{background:#f9fafb;margin:0}
