/* Shared look for /login, /settings, the script-link page, and the header account menu. Colors match the home page. */
body[data-page]{min-height:100vh;display:flex;flex-direction:column;color:#f5f0ff;font-family:'DM Sans',system-ui,sans-serif}
[hidden]{display:none!important}
.pg-wash{position:fixed;inset:0;z-index:-10;pointer-events:none;background:radial-gradient(120% 90% at 50% 40%,transparent 50%,rgba(6,1,16,.7) 100%)}
.pg-head{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:64rem;margin:0 auto;padding:40px 20px 0;box-sizing:border-box}
.pg-brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font:700 14px 'Space Grotesk',system-ui,sans-serif;letter-spacing:.025em}.pg-brand img{width:36px;height:36px}
.pg-right{display:flex;align-items:center;gap:8px}
.na-pill,.pg-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;border:1px solid rgba(168,120,255,.28);background:transparent;color:#c4b5e0;font:500 12px 'DM Sans',system-ui,sans-serif;cursor:pointer;text-decoration:none;transition:border-color .15s,color .15s}
.na-pill:hover,.pg-pill:hover{border-color:#c084fc;color:#fff}.na-user{padding:5px 14px 5px 6px}
.na-av{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#a855f7,#d946ef);color:#fff;font-weight:700;flex:none}.na-av img{width:100%;height:100%;object-fit:cover}.na-av.has-img{background:transparent;box-shadow:0 0 0 1px rgba(168,120,255,.3)}
.na-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:210px;z-index:50;padding:6px;border-radius:14px;border:1px solid rgba(168,120,255,.3);background:linear-gradient(150deg,rgba(46,20,92,.98),rgba(18,7,42,.98));box-shadow:0 16px 40px rgba(0,0,0,.5)}
.na-menu-h{padding:8px 12px 6px;color:#a99bc8;font-size:12px;word-break:break-all;border-bottom:1px solid rgba(168,120,255,.2);margin-bottom:4px}
.na-menu a,.na-menu button{display:block;width:100%;text-align:left;padding:9px 12px;border:0;border-radius:9px;background:none;color:#e5dcf5;font:500 13px 'DM Sans',system-ui,sans-serif;cursor:pointer;text-decoration:none;box-sizing:border-box}.na-menu a:hover,.na-menu button:hover{background:rgba(168,85,247,.22)}
.pg-main{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:48px 20px 80px}
.pg-card{width:100%;max-width:420px;padding:28px;border-radius:20px;border:1px solid rgba(168,120,255,.25);background:linear-gradient(150deg,rgba(46,20,92,.7),rgba(18,7,42,.7));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-sizing:border-box}
.pg-stack{width:100%;max-width:560px;display:flex;flex-direction:column;gap:16px}.pg-stack .pg-card{max-width:none}
.pg-center{text-align:center}.pg-lock{width:56px;height:56px;margin:0 auto 14px;display:block}
.pg-title{margin:0 0 4px;font:700 24px 'Space Grotesk',system-ui,sans-serif}.pg-h2{margin:0 0 4px;font:700 18px 'Space Grotesk',system-ui,sans-serif}.pg-sub{margin:0 0 16px;color:#c4b5e0}
.pg-tabs{display:flex;gap:6px;margin:0 0 6px;padding:4px;border-radius:12px;background:rgba(0,0,0,.25)}.pg-tabs button{flex:1;padding:9px;border:0;border-radius:9px;background:none;color:#c4b5e0;font:500 13px 'DM Sans',system-ui,sans-serif;cursor:pointer}.pg-tabs button.on{background:rgba(168,85,247,.35);color:#fff}
.pg-card label{display:block;margin:14px 0 6px;font-weight:500;font-size:14px}
.pg-in{width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(168,120,255,.35);background:#1a0a38;color:#fff;font:inherit;box-sizing:border-box}.pg-in:focus{outline:none;border-color:#c084fc}.pg-in[readonly]{opacity:.7}
.pg-btn,.pg-ghost{display:inline-block;margin-top:16px;padding:11px 20px;border-radius:12px;font:600 14px 'DM Sans',system-ui,sans-serif;cursor:pointer;text-decoration:none;box-sizing:border-box;text-align:center}
.pg-btn{border:0;background:linear-gradient(100deg,#a855f7,#d946ef);color:#fff}.pg-btn[disabled]{opacity:.5;cursor:not-allowed}.pg-btn.full{display:block;width:100%}
.pg-ghost{border:1px solid rgba(168,120,255,.35);background:none;color:#e5dcf5}.pg-ghost:hover{border-color:#c084fc}
.pg-err,.pg-ok{margin:14px 0 0;padding:10px 12px;border-radius:10px;font-size:14px}.pg-err{background:rgba(239,68,68,.15);color:#fecaca}.pg-ok{background:rgba(34,197,94,.14);color:#bbf7d0}
.pg-note{margin:8px 0 0;color:#a99bc8;font-size:13px}
.pg-prof{display:flex;align-items:center;gap:16px}.pg-btns{display:flex;gap:10px;flex-wrap:wrap}.pg-btns .pg-ghost{margin-top:0;padding:9px 16px}
.pg-zone{margin-top:22px;padding-top:18px;border-top:1px solid rgba(168,120,255,.2)}.pg-h3{margin:0 0 6px;font:700 15px 'Space Grotesk',system-ui,sans-serif}.pg-h3.bad{color:#fecaca}
.pg-card label.pg-check{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-weight:400;color:#c4b5e0;cursor:pointer}.pg-check input{width:auto;margin:0;accent-color:#c084fc}
.pg-ghost.danger{border-color:rgba(248,113,113,.5);color:#fecaca}.pg-ghost.danger:hover{border-color:#f87171;background:rgba(239,68,68,.12)}

/* Compact Terms of Service card */
.nova-tos{width:100%;max-width:36rem;margin:64px auto 0;padding:20px 22px 16px;box-sizing:border-box;text-align:left;border-radius:16px;border:1px solid rgba(168,120,255,.18);background:rgba(18,7,42,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.nova-tos-title{margin:0 0 12px;font:700 11px 'Space Grotesk',system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#c084fc;text-align:center}
.nova-tos-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.nova-tos-item{display:flex;align-items:baseline;gap:12px;padding:7px 0;font-size:12px;line-height:1.5;color:#a99bc8;border-top:1px solid rgba(168,120,255,.1)}
.nova-tos-item:first-child{border-top:0}
.nova-tos-num{flex:none;font:500 10px 'JetBrains Mono',ui-monospace,monospace;color:#8b5cf6;opacity:.8}
.nova-tos-copy{margin:10px 0 0;padding-top:12px;border-top:1px solid rgba(168,120,255,.14);text-align:center;font-size:11px;color:#7c6c9e}
.pg-pill svg{width:16px;height:16px;flex:none}
