:root{--bg: #f7fbff;--fg: #0f172a;--muted: #64748b;--muted-2: #475569;--border: #e5e7eb;--primary: #2563eb;--primary-600: #1d4ed8;--danger: #b91c1c;--focus-ring: rgba(37, 99, 235, .15);--radius: 12px;--radius-lg: 16px;--space: 24px;--font: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--h1: 28px;--text: 16px;--small: 14px;--container: 920px}@media (prefers-color-scheme: dark){:root{--bg: #0b1220;--fg: #e6edf7;--muted: #9aa7b6;--muted-2: #a3b2c5;--border: #1f2937;--primary: #3b82f6;--primary-600: #2563eb;--focus-ring: rgba(59, 130, 246, .25)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body,#root{height:100%;min-height:100%}body{margin:0;background:var(--bg);color:var(--fg);font:400 var(--text)/1.5 var(--font);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}button{cursor:pointer}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}:focus{outline:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 4px var(--focus-ring)}ul,ol{margin:0;padding-left:0}ul{list-style:none}html,body{overflow-x:hidden}body,#root{overflow-wrap:anywhere}#root>div{min-height:100dvh;display:flex;flex-direction:column}main{flex:1}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#cbd5e1}*::-webkit-scrollbar-track{background:transparent}.container{max-width:var(--container);margin-inline:auto;padding:var(--space)}@media (max-width: 640px){.container{padding:16px}}.row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space);box-shadow:0 8px 24px #0f172a0f}@media (prefers-color-scheme: dark){.card{background:#0f172a;box-shadow:none}}.h1{margin:0 0 8px;font-size:var(--h1);font-weight:700}.sub{color:var(--muted-2);margin-bottom:20px}.note{color:var(--muted);font-size:var(--small)}.error{color:var(--danger);font-weight:600}.hr{height:1px;background:var(--border);margin:20px 0;border:0}.field{display:grid;gap:6px;margin:10px 0 14px}.input{padding:12px 14px;border:1px solid #dbe0e6;border-radius:var(--radius);background:#fff;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.input::-moz-placeholder{color:#94a3b8}.input::placeholder{color:#94a3b8}.input:focus{border-color:#60a5fa;box-shadow:0 0 0 4px var(--focus-ring)}.input[aria-invalid=true],.input.input-error{border-color:var(--danger);box-shadow:0 0 0 3px #b91c1c26}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:var(--radius);padding:12px 16px;font-weight:600;line-height:1;transition:transform .04s ease,opacity .2s ease,background-color .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-600)}.btn-ghost{background:transparent;color:var(--primary)}.btn[disabled],.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed}.sr-only,.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,1px,1px)!important;white-space:nowrap!important;border:0!important}::-moz-selection{background:var(--primary);color:#fff}::selection{background:var(--primary);color:#fff}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.footer{border-top:1px solid var(--border);background:#fff;color:var(--muted-2);font-size:var(--small);margin-top:40px;width:100%}.footer .footer-inner{max-width:var(--container);margin-inline:auto;padding:var(--space)}.footer .footer-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;text-align:center}.footer .brand{font-weight:600;color:var(--fg);text-decoration:none}.footer a{color:var(--primary);text-decoration:none}.footer a:hover{text-decoration:underline}.footer .muted{color:var(--muted)}
