:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1a1a1a;background:#f5f6f8}*{box-sizing:border-box}body{margin:0;min-height:100vh}.shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.card{width:100%;max-width:22rem;background:#fff;border:1px solid #e3e5ea;border-radius:12px;padding:1.75rem;box-shadow:0 4px 16px #0000000a}.card h1{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem;font-size:1.25rem}.card h1:before{content:"";flex:0 0 40px;height:40px;background:url(/skyforge-anvil.jpg) center/cover no-repeat;border-radius:8px}.card label{display:block;font-size:.875rem;margin:.75rem 0 .25rem}.card input{width:100%;padding:.5rem .625rem;border:1px solid #c8ccd4;border-radius:6px;font-size:.95rem}.card button{width:100%;padding:.6rem;margin-top:1rem;border:0;border-radius:6px;cursor:pointer;font-weight:600;background:#2b5cff;color:#fff}.card button:hover:not(:disabled){background:#2350e6}.card button:disabled{opacity:.6;cursor:progress}.card .err{color:#842029;background:#fdecee;border:1px solid #f5c2c7;border-radius:6px;padding:.5rem .7rem;font-size:.85rem;line-height:1.35;margin-top:.75rem}.card .ok{color:#117a3b;font-size:.85rem;margin-top:.75rem}.card .muted{color:#5b6270;font-size:.85rem}.card hr{border:0;border-top:1px solid #eceef3;margin:1.25rem 0}.divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;color:#5b6270;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.divider:before,.divider:after{content:"";flex:1;border-top:1px solid #eceef3}.card a{color:#2b5cff;text-decoration:none}.row{display:flex;justify-content:space-between;font-size:.85rem;margin-top:.5rem}.pw{position:relative}.pw input{padding-right:2.25rem}.card .pw-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:auto;height:auto;padding:4px;margin:0;background:none;border:0;border-radius:0;color:#5b6270;font-weight:400;cursor:pointer;line-height:0}.card .pw-toggle:hover:not(:disabled){background:none;color:#1a1a1a}.card .pw-toggle:focus-visible{outline:2px solid #2b5cff;outline-offset:2px;border-radius:2px}.card .gsi-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.625rem;height:40px;margin-top:0;padding:0 12px;background:#fff;color:#1f1f1f;border:1px solid #747775;border-radius:4px;font-family:Roboto,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;font-weight:500;letter-spacing:.25px;cursor:pointer;transition:background-color .12s ease,box-shadow .12s ease,border-color .12s ease}.card .gsi-btn:hover:not(:disabled){background:#f8faff;border-color:#747775;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.card .gsi-btn:active:not(:disabled){background:#f1f3f4}.card .gsi-btn:disabled{opacity:.6;cursor:progress}.card .gsi-btn svg{flex:0 0 18px}.auth-splash{display:flex;flex-direction:column;align-items:center;gap:1.25rem;color:#5b6270}.auth-splash img{border-radius:8px;opacity:.9}.auth-splash-row{display:inline-flex;align-items:center;gap:.625rem;font-size:.875rem;letter-spacing:.01em}.auth-splash-spinner{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid rgba(43,92,255,.2);border-top-color:#2b5cff;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-passthrough{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a}.account-card{max-width:28rem}.account-section{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #eceef3}.account-section:first-of-type{margin-top:1rem;padding-top:0;border-top:0}.account-section h2{margin:0 0 .5rem;font-size:1rem;font-weight:600}.account-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.95rem}.account-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #eceef3}.account-actions>*{flex:1 1 auto}.card .secondary,.card a.secondary{background:#f1f3f7;color:#1a1a1a;text-align:center;text-decoration:none;display:inline-block;width:100%;padding:.6rem;margin-top:.5rem;border:1px solid #d8dce3;border-radius:6px;font-weight:600;cursor:pointer}.card .secondary:hover:not(:disabled),.card a.secondary:hover{background:#e8ecf2}.card .secondary:disabled{opacity:.6;cursor:progress}
