:root{--bg: #f4f5f7;--surface: #ffffff;--surface-2: #f0f1f4;--text: #1b1d21;--text-muted: #6b7280;--border: #e3e5e9;--primary: #2e7d5b;--primary-ink: #ffffff;--danger: #c0392b;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--radius: 14px;--safe-bottom: env(safe-area-inset-bottom, 0px)}@media(prefers-color-scheme:dark){:root{--bg: #16181d;--surface: #1f2229;--surface-2: #262a32;--text: #eceef2;--text-muted: #9aa1ac;--border: #313640;--primary: #43b581;--primary-ink: #0c1410;--shadow: 0 1px 3px rgba(0, 0, 0, .4)}}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent}h1,h2,h3{margin:0 0 .5rem;font-weight:650}button{font:inherit;cursor:pointer;border:none;border-radius:10px;padding:.6rem 1rem;background:var(--surface-2);color:var(--text);transition:filter .15s ease,opacity .15s ease}button:active{filter:brightness(.94)}button:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--primary);color:var(--primary-ink);font-weight:600}.btn-ghost{background:transparent}.btn-danger{background:transparent;color:var(--danger)}.btn-block{width:100%}input,select{font:inherit;width:100%;padding:.65rem .8rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}input:focus,select:focus{outline:2px solid var(--primary);outline-offset:-1px}label{display:block;font-size:.85rem;color:var(--text-muted);margin:0 0 .3rem}.pw-field{position:relative}.pw-field input{padding-right:2.9rem}.pw-toggle{position:absolute;right:.3rem;top:50%;transform:translateY(-50%);background:transparent;border:none;padding:.4rem;border-radius:8px;color:var(--text-muted);display:grid;place-items:center}.pw-toggle:hover{color:var(--text)}.pw-toggle svg{width:20px;height:20px;display:block}.container{max-width:720px;margin:0 auto;padding:1rem}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.notice{display:flex;align-items:center;justify-content:space-between;gap:.6rem;border-left:3px solid var(--danger);color:var(--text)}.row{display:flex;align-items:center;gap:.6rem}.spacer{flex:1}.muted{color:var(--text-muted)}.stack>*+*{margin-top:.75rem}.error{color:var(--danger);font-size:.9rem}.badge{font-size:.72rem;padding:.15rem .5rem;border-radius:999px;background:var(--surface-2);color:var(--text-muted)}
