.auth-page{--bg:#f6f5fb;--ink:#283044;--muted:#73778a;--purple:#7654d9;--border:#e7e3f0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);background:var(--bg)}.auth-page *{box-sizing:border-box}.auth-page body{margin:0}.auth-page button,.auth-page input,.auth-page a{font:inherit}.auth-page button,.auth-page a{touch-action:manipulation}.auth-page button{cursor:pointer}.auth-page button:focus-visible,.auth-page a:focus-visible,.auth-page input:focus-visible{outline:3px solid #a68ae6;outline-offset:4px}.auth-page button{border:0;border-radius:13px;padding:15px 23px;font-weight:650;background:var(--purple);color:white;line-height:1.4}.auth-page button.secondary{background:white;border:1px solid var(--border);color:var(--ink)}.auth-page button:disabled{background:#d8cfee;color:#786995;cursor:default}.auth-page a{color:var(--purple);text-decoration:none;font-weight:650}.auth-page p{line-height:1.7}.auth-page .muted{color:var(--muted)}.auth-page h1{font-size:42px;line-height:1.15;letter-spacing:-1.7px;margin:18px 0}.auth-page h2{font-size:24px;letter-spacing:-.7px}.auth-page header{height:100px;max-width:1280px;margin:auto;padding:0 42px;display:flex;align-items:center;justify-content:space-between}.auth-page .brand{display:inline-flex;align-items:center;gap:10px;font-size:29px;font-weight:850;color:var(--purple);letter-spacing:-1px}.auth-page .star{width:30px;height:30px;fill:currentColor}.auth-page .header-right{font-size:14px;display:flex;gap:10px;align-items:center}.auth-page .tag{display:inline-flex;align-items:center;gap:8px;border-radius:24px;background:#eae4fa;color:#7050bd;padding:7px 13px;font-size:12px;font-weight:750;letter-spacing:.3px}.auth-page .dot{height:6px;width:6px;background:#8d6bdc;border-radius:50%}.auth-page main{max-width:1170px;margin:30px auto 0;padding:0 35px;min-height:735px}.auth-page .hero{display:grid;grid-template-columns:1.08fr 1fr;gap:60px;align-items:center;padding:72px 0 30px}.auth-page .hero h1{font-size:57px;line-height:1.09;letter-spacing:-2.5px;max-width:570px}.auth-page .hero .lead{max-width:480px;font-size:18px}.auth-page .hero .buttons{display:flex;gap:12px;margin-top:30px}.auth-page .hero .footnote{font-size:13px;margin-top:18px}.auth-page .art{position:relative;height:450px;border-radius:40px;background:linear-gradient(140deg,#e8ddfb,#fce7dc);display:flex;align-items:center;justify-content:center}.auth-page .art:before,.auth-page .art:after{content:'';position:absolute;border:1px solid #fff9;border-radius:50%;width:350px;height:350px}.auth-page .art:after{width:260px;height:260px}.auth-page .mini{z-index:1;background:white;width:320px;border:1px solid #e8e0f3;border-radius:24px;padding:25px;box-shadow:0 18px 40px #5f426312;transform:rotate(-3deg)}.auth-page .mini h2{font-size:21px;margin:12px 0}.auth-page .mini .mini-label{font-size:11px;letter-spacing:1.7px;font-weight:750;color:#8c80a3}.auth-page .mini-row{display:flex;align-items:center;justify-content:space-between;border-radius:12px;padding:13px 14px;margin:10px 0;font-size:13px;font-weight:700}.auth-page .red{--accent:#c84456;--tint:#fff0f1;--edge:#efb6bf}.auth-page .green{--accent:#2d8050;--tint:#edf8ef;--edge:#b8dec4}.auth-page .blue{--accent:#3973c5;--tint:#edf4ff;--edge:#b6cef3}.auth-page .mini-row{background:var(--tint);color:var(--accent)}.auth-page .mini svg{height:16px;width:16px;fill:currentColor}.auth-page .spark{position:absolute;width:52px;height:52px;color:#8e6ad5;top:35px;right:30px;transform:rotate(12deg)}.auth-page .float-pill{position:absolute;z-index:2;bottom:45px;left:25px;background:#fff;padding:15px 20px;border-radius:16px;box-shadow:0 10px 30px #664a6515;font-size:13px;font-weight:700;transform:rotate(2deg);display:flex;gap:12px;align-items:center}.auth-page .float-pill svg{width:21px;height:21px;color:#b2812a}.auth-page .mini-progress{height:8px;background:#eee7f8;border-radius:8px;margin:17px 0 10px}.auth-page .mini-progress span{display:block;background:#ab91e4;height:8px;width:48%;border-radius:8px}.auth-page .benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;border-top:1px solid var(--border);margin-top:45px;padding-top:25px}.auth-page .benefits h3{font-size:14px;margin:0 0 8px}.auth-page .benefits p{font-size:13px;color:var(--muted);margin:0}.auth-page .screen-head{text-align:center;margin:12px auto 30px;max-width:620px}.auth-page .screen-head h1{font-size:38px}.auth-page .screen-head p{margin:12px 0}.auth-page .steps{display:flex;gap:14px;align-items:center;justify-content:center;font-size:12px;color:#8c829e;margin-bottom:30px}.auth-page .step{display:flex;gap:8px;align-items:center}.auth-page .step b{border-radius:50%;width:23px;height:23px;display:grid;place-items:center;background:#e9e4f4;font-size:11px}.auth-page .step.active{color:#7050bd;font-weight:700}.auth-page .step.active b{background:var(--purple);color:white}.auth-page .step.done b{background:#e1efe5;color:#387b50}.auth-page .connector{width:37px;height:1px;background:#dcd4ec}.auth-page .auth-layout{display:grid;grid-template-columns:1fr 1.16fr;max-width:950px;margin:32px auto 0;gap:34px;align-items:stretch}.auth-page .intro-panel{border-radius:24px;background:linear-gradient(140deg,#ede5fb,#f8edf2);padding:40px;display:flex;flex-direction:column;justify-content:center}.auth-page .intro-panel h2{font-size:32px;line-height:1.2;margin:18px 0}.auth-page .intro-panel p{font-size:15px}.auth-page .intro-panel .star{width:50px;height:50px;color:#9c79d7}.auth-page .intro-list{display:grid;gap:18px;margin:24px 0}.auth-page .intro-list span{display:flex;gap:12px;font-size:14px;align-items:center}.auth-page .check{color:#8260c8;font-weight:800}.auth-page .form-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:34px 38px}.auth-page .form-card h2{margin:0 0 8px}.auth-page .form-card>p{font-size:14px;margin:0 0 20px}.auth-page .field{display:grid;gap:8px;font-weight:650;font-size:13px;margin:20px 0}.auth-page .field input{border-radius:10px;border:1px solid #ddd8e8;padding:13px 14px;width:100%;font-size:15px;color:var(--ink);background:#fff}.auth-page .field input::placeholder{color:#9692a2;font-size:14px}.auth-page .field small{font-weight:400;color:var(--muted);font-size:12px;line-height:1.5}.auth-page .full{width:100%;margin-top:10px}.auth-page .form-card .small{font-size:12px;margin-top:16px;line-height:1.7;text-align:center}.auth-page .form-card .signin{border-top:1px solid var(--border);padding-top:20px;margin-top:20px;text-align:center;font-size:13px}.auth-page .note{font-size:12px;color:var(--muted);text-align:center}.auth-page .subject-layout{max-width:1060px;margin:auto}.auth-page .selection-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px}.auth-page .search{position:relative;max-width:410px;flex:1}.auth-page .search input{width:100%;border:1px solid #ded8ea;background:white;border-radius:12px;padding:13px 15px 13px 41px;font-size:14px}.auth-page .search svg{position:absolute;left:14px;top:14px;stroke:#9991ab;fill:none;height:18px;width:18px}.auth-page .counter{font-size:14px;color:#7358ad;font-weight:700}.auth-page .subject-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.auth-page .subject{padding:14px 16px;background:white;border:1px solid var(--border);color:#4c5165;border-radius:13px;display:flex;justify-content:space-between;align-items:center;text-align:left;font-weight:600;min-height:58px;font-size:14px}.auth-page .subject:hover{border-color:#b49ae5}.auth-page .subject.selected{color:var(--accent,#7654d9);border:1.5px solid var(--edge,#c4afe8);background:var(--tint,#eee8fa)}.auth-page .subject:not(.selected):disabled{background:#fdfcfe;color:#7e7d8d;border-color:#e9e5f1}.auth-page .select-mark{border:1.5px solid #d7d1e3;border-radius:50%;height:21px;width:21px;display:grid;place-items:center;font-size:12px;flex:none;margin-left:8px}.auth-page .selected .select-mark{background:var(--accent,#7654d9);border-color:var(--accent,#7654d9);color:white}.auth-page .subject-actions{display:flex;justify-content:space-between;align-items:center;padding:24px 0 20px;gap:20px}.auth-page .subject-actions p{font-size:13px;color:var(--muted);margin:0;max-width:650px}.auth-page .subject-actions button{min-width:145px}.auth-page .back{font-size:13px;color:#7a6c94;display:inline-block;margin-bottom:10px}.auth-page .goal-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:30px;max-width:970px;margin:auto}.auth-page .goal-card{border:1px solid var(--border);background:white;border-radius:24px;padding:30px}.auth-page .goal-card h2{margin:0 0 8px}.auth-page .goal-card p{font-size:14px}.auth-page .goal-options{display:grid;gap:12px;margin:25px 0}.auth-page .goal-option{border:1px solid var(--border);background:white;color:var(--ink);padding:16px 20px;text-align:left;display:flex;justify-content:space-between;align-items:center;border-radius:14px}.auth-page .goal-option.active{background:#f0eafb;border-color:#b69ade}.auth-page .goal-option strong{font-size:16px}.auth-page .goal-option small{font-size:12px;color:var(--muted);font-weight:400;display:block;margin-top:4px}.auth-page .goal-option .select-mark{color:white}.auth-page .goal-option.active .select-mark{background:var(--purple);border-color:var(--purple)}.auth-page .goal-summary{background:linear-gradient(145deg,#ede5fa,#faece6);border-radius:24px;padding:34px;display:flex;flex-direction:column;justify-content:center}.auth-page .goal-summary h2{font-size:28px;margin-top:12px}.auth-page .goal-summary .tag{align-self:flex-start}.auth-page .goal-summary .mini-row{margin:7px 0}.auth-page .goal-summary .small{font-size:13px;color:#7e708e}.auth-page .goal-controls{display:flex;flex-direction:column;gap:10px}.auth-page .goal-controls .skip{background:transparent;color:#80718f;font-size:13px}.auth-page .verify{max-width:560px;background:white;border:1px solid var(--border);border-radius:26px;margin:50px auto 0;padding:45px;text-align:center}.auth-page .mail-icon{width:64px;height:64px;border-radius:19px;background:#eee6fb;margin:auto;display:grid;place-items:center;color:var(--purple)}.auth-page .mail-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7}.auth-page .verify h1{font-size:34px;margin:25px 0 14px}.auth-page .verify p{font-size:15px}.auth-page .email-example{color:#7050bd;font-weight:650}.auth-page .verify .tip{background:#f7f5fb;border-radius:12px;text-align:left;padding:14px 17px;font-size:13px;color:var(--muted);margin:26px 0 12px}.auth-page .verify .change{font-size:13px;display:block;margin-top:18px}.auth-page .preview-footer{max-width:1190px;margin:25px auto 0;padding:20px 35px 24px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:20px;color:#918a9e;font-size:11px}.auth-page .preview-footer span{line-height:1.6}.auth-page .preview-nav{display:flex;gap:15px;flex-wrap:wrap}.auth-page .preview-nav a{font-size:11px;font-weight:500;color:#8c7fa4}.auth-page #status{color:var(--purple);font-size:13px;margin-top:10px}
@media(max-width:760px){.auth-page header{height:82px;padding:0 22px}.auth-page .brand{font-size:26px}.auth-page .header-right{font-size:12px;gap:5px}.auth-page main{padding:0 22px;margin-top:15px;min-height:0}.auth-page .hero{grid-template-columns:1fr;gap:30px;padding:20px 0}.auth-page .hero h1{font-size:40px;letter-spacing:-1.5px}.auth-page .hero .lead{font-size:16px}.auth-page .hero .buttons{flex-direction:column}.auth-page .art{height:325px;border-radius:26px}.auth-page .mini{width:255px;padding:19px}.auth-page .spark{width:36px;right:18px;top:15px}.auth-page .float-pill{bottom:19px;left:10px;padding:11px 14px}.auth-page .art:before{width:280px;height:280px}.auth-page .art:after{width:205px;height:205px}.auth-page .benefits{grid-template-columns:1fr;margin-top:26px;gap:20px}.auth-page .steps{font-size:10px;gap:7px;margin-bottom:22px}.auth-page .step{gap:5px}.auth-page .step b{height:20px;width:20px}.auth-page .connector{width:15px}.auth-page .screen-head{text-align:left;margin-bottom:24px}.auth-page .screen-head h1{font-size:31px;letter-spacing:-1px}.auth-page .screen-head p{font-size:14px}.auth-page .auth-layout{grid-template-columns:1fr;margin-top:22px;gap:18px}.auth-page .intro-panel{padding:25px}.auth-page .intro-panel h2{font-size:26px}.auth-page .intro-panel .star,.auth-page .intro-list{display:none}.auth-page .intro-panel p{margin-bottom:0}.auth-page .form-card{padding:25px}.auth-page .selection-tools{flex-direction:column;align-items:stretch;gap:12px}.auth-page .counter{font-size:13px}.auth-page .search{max-width:none}.auth-page .subject-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.auth-page .subject{font-size:12px;padding:13px 10px;min-height:60px;line-height:1.4}.auth-page .select-mark{width:18px;height:18px}.auth-page .subject-actions{flex-direction:column;align-items:stretch;gap:15px;padding:20px 0}.auth-page .subject-actions p{font-size:12px}.auth-page .goal-layout{grid-template-columns:1fr;gap:20px}.auth-page .goal-card,.auth-page .goal-summary{padding:25px}.auth-page .goal-summary{order:-1}.auth-page .goal-summary .mini-row{font-size:12px;padding:10px}.auth-page .verify{margin-top:30px;padding:30px 24px}.auth-page .verify h1{font-size:30px}.auth-page .preview-footer{margin:25px 22px 0;padding:18px 0;flex-direction:column}.auth-page .preview-nav{gap:12px}}.auth-page .float-pill{bottom:12px}@media(max-width:760px){.auth-page .art{height:400px}.auth-page .mini{transform:rotate(-3deg) translateY(-25px)}.auth-page .float-pill{bottom:12px}}.auth-page /* Neutral onboarding,.auth-page personal colours chosen from the dashboard. */
[hidden]{display:none!important}.auth-page .mini-row{--tint:#ffffffb8;--accent:#655d73}.auth-page .subject.selected{color:#7050bd;border-color:#c4afe8;background:#f0eafb}.auth-page .selected .select-mark{background:#7654d9;border-color:#7654d9;color:white}.auth-page .field select{border-radius:10px;border:1px solid #ddd8e8;padding:13px 14px;width:100%;font:inherit;color:var(--ink);background:#fff}.auth-page .dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:30px 0}.auth-page .dashboard-head h1{font-size:38px}.auth-page .dashboard-head p{margin-bottom:0}.auth-page .dashboard-subjects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:25px}.auth-page .dashboard-subject{padding:28px;border:1px solid var(--subject-edge);background:var(--subject-tint);border-radius:22px;color:var(--subject-accent)}.auth-page .dashboard-subject h2{min-height:56px}.auth-page .dashboard-subject strong{font-size:30px}.auth-page .dashboard-subject p{font-size:13px}.auth-page .dashboard-subject .tag{background:#ffffffb8;color:var(--subject-accent)}.auth-page .colour-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.auth-page .dashboard-next{border:1px solid var(--border);border-radius:22px;padding:28px;background:white;margin-top:25px}.auth-page .dashboard-next h2{margin-top:0}
@media(max-width:760px){.auth-page .dashboard-head{flex-direction:column;align-items:flex-start}.auth-page .dashboard-subjects,.auth-page .colour-fields{grid-template-columns:1fr}.auth-page .dashboard-subject h2{min-height:0}}.auth-page #colour-settings{width:min(620px,calc(100vw - 36px));max-height:calc(100dvh - 48px);overflow:auto;margin:auto;box-shadow:0 24px 90px #38254e30}.auth-page #colour-settings::backdrop{background:#25203466}.auth-page #colour-settings .colour-fields{grid-template-columns:1fr;gap:0}.auth-page #colour-settings .field{margin:14px 0}.auth-page .colour-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.auth-page .colour-dialog-head h2{margin:0}.auth-page .colour-dialog-head button{padding:6px 13px;font-size:24px;line-height:1.2}

#auth-root[hidden],#tracker-shell[hidden]{display:none!important}.auth-page{margin:0;background:#f6f5fb}.auth-page #auth-status{color:#7654d9;font-size:14px;line-height:1.6}.auth-page .header-right button{font-size:12px}

/* Authentication failures are prominent and announced without clearing inputs. */
.auth-page .auth-error{display:flex;align-items:flex-start;gap:12px;border:1px solid #efa8b6;border-left:4px solid #c73856;background:#fff0f3;border-radius:13px;padding:16px;margin:22px 0;color:#84243d;scroll-margin:20px}
.auth-page .auth-error-icon{display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;border-radius:50%;background:#c73856;color:#fff;font-size:17px;font-weight:800;line-height:1;margin-top:1px}
.auth-page .auth-error strong{display:block;font-size:15px;line-height:1.4;margin-bottom:5px}
.auth-page .auth-error p{font-size:13px;line-height:1.6;margin:0}
.auth-page .auth-error:focus{outline:3px solid #c7385638;outline-offset:3px}
.auth-page .field input[aria-invalid="true"]{border:2px solid #c73856;background:#fff8fa;padding:12px 13px}
.auth-page .field input[aria-invalid="true"]:focus{outline:3px solid #c7385628;outline-offset:2px}
.auth-page #auth-status:empty{display:none}
.auth-page #auth-status.auth-message-error{border:1px solid #efa8b6;border-left:4px solid #c73856;background:#fff0f3;border-radius:13px;padding:14px 16px;color:#84243d}
[data-theme="dark"] .auth-page .auth-error,[data-theme="dark"] .auth-page #auth-status.auth-message-error{background:#442735;border-color:#a35b71;border-left-color:#ff9fb6;color:#ffd9e3}
[data-theme="dark"] .auth-page .auth-error-icon{background:#ff9fb6;color:#351b28}
[data-theme="dark"] .auth-page .auth-error:focus{outline-color:#ff9fb64d}
@media(max-width:600px){.auth-page .auth-error{padding:14px 12px;gap:10px}.auth-page .auth-error strong{font-size:14px}}

.auth-page .site-legal-footer{max-width:1190px;margin:25px auto 0;padding:20px 35px 24px;border-top:1px solid var(--border)}
.auth-page .site-legal-footer nav{display:flex;flex-wrap:wrap;gap:14px;margin:0}
.auth-page .site-legal-footer nav a{font-size:12px;color:var(--purple);text-decoration:underline;padding:0;background:transparent}
.auth-page .site-legal-footer>span{color:var(--muted);font-size:11px}
.auth-page .form-card>p.auth-legal-note{font-size:12px;line-height:1.7;color:var(--muted);margin:16px 0 20px}
.auth-page .auth-legal-note a{text-decoration:underline;text-underline-offset:3px;font-size:12px}
@media(max-width:600px){.auth-page .site-legal-footer{margin:25px 22px 0;padding:18px 0;gap:12px}.auth-page .site-legal-footer>span{width:100%;margin-left:0}}

/* Keep the welcome content inset and independent of tracker hero styles. */
.auth-page .hero{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(28px,3.5vw,48px);padding:clamp(28px,3.5vw,48px);border:1px solid #e4daef;border-radius:32px;background:linear-gradient(120deg,#f0eafa,#fbf3f0);color:var(--ink)}
.auth-page .hero>section{min-width:0}
.auth-page .hero h1{font-size:clamp(34px,4vw,52px);line-height:1.12;letter-spacing:-1.8px;margin:24px 0;color:var(--ink)}
.auth-page .hero .lead{margin:0;font-size:17px;color:var(--muted)}
.auth-page .hero .buttons{flex-wrap:wrap;gap:12px;margin-top:28px}
.auth-page .hero button{color:#fff}
.auth-page .hero button.secondary{background:#fff;color:var(--ink)}
.auth-page .hero .footnote{margin:20px 0 0;color:var(--muted)}
.auth-page .hero .art{height:auto;min-height:450px;padding:36px 24px 98px;border-radius:28px}
.auth-page .hero .mini{width:min(320px,100%);transform:rotate(-3deg);flex-shrink:0}
.auth-page .hero .art:before{width:min(350px,calc(100% - 32px));height:auto;aspect-ratio:1}
.auth-page .hero .art:after{width:min(260px,calc(100% - 56px));height:auto;aspect-ratio:1}
.auth-page .hero .float-pill{bottom:24px;left:24px;max-width:calc(100% - 48px);padding:14px 16px;line-height:1.5;transform:none}
.auth-page .hero .float-pill svg{flex-shrink:0}
@media(max-width:900px){.auth-page .hero{grid-template-columns:1fr;gap:32px}.auth-page .hero .art{max-width:480px;width:100%;justify-self:center}}
@media(max-width:600px){.auth-page .hero{padding:26px 20px;gap:28px;border-radius:24px}.auth-page .hero h1{font-size:34px;letter-spacing:-1.2px}.auth-page .hero .lead{font-size:16px}.auth-page .hero .buttons{flex-direction:column;align-items:stretch}.auth-page .hero .art{min-height:420px;padding:36px 22px 98px;border-radius:22px}.auth-page .hero .mini{width:min(255px,100%);padding:19px}.auth-page .hero .float-pill{left:18px;bottom:20px;max-width:calc(100% - 36px);padding:12px;font-size:12px}.auth-page .hero .spark{right:16px;top:14px}}
