/* Strong red/graphite brand; the text remains stationary during ambient effects. */
:root{--alpha-red:#ff243f;--alpha-edge:#ff6072}
.primary-action{background:#ec1632;border-color:#ff657a66;box-shadow:inset 0 1px 0 #ffffff35,0 8px 24px #ed163228;font-weight:750}
.mobile-welcome{min-height:160px;display:flex;justify-content:center;flex-direction:column;padding:20px 132px 20px 0;isolation:isolate;margin-bottom:20px}
.mobile-welcome h1{font-size:32px;font-weight:800;line-height:1.03;text-transform:uppercase;letter-spacing:-.045em;max-width:9ch}
.mobile-welcome .section-kicker{font-size:9px;letter-spacing:.13em;color:#ff677a}
.alpha-hero-emblem{position:absolute;right:-7px;top:10px;width:145px;height:151px;object-fit:contain;filter:drop-shadow(0 10px 18px #ee17352a);animation:alpha-idle 5.5s ease-in-out infinite}
.mobile-welcome:after{content:"";position:absolute;right:0;top:7px;width:150px;height:150px;z-index:-1;background:radial-gradient(ellipse,#a6082d48,transparent 68%)}
.today-card{border:1px solid #e43b5359;background:linear-gradient(125deg,#42131f,#151216 70%);border-radius:23px;box-shadow:inset 4px 0 0 #ed2342,inset 0 1px 0 #ffffff16}
.today-card .today-label{color:#ff7b8d;letter-spacing:.07em}.today-card h2{font-weight:800}.today-day{color:#ffb9c3}
.today-phase{border-color:#ff4b6355;background:#450f1e55}
.mobile-topic,.visual-resource{position:relative;background:linear-gradient(145deg,#2e1820,#151518 65%);border-color:#73303d55}
.mobile-topic:before,.visual-resource:before{content:"";position:absolute;top:0;left:20px;width:32px;height:3px;background:#ff2847;transform:skewX(-25deg);box-shadow:40px 0 0 #84172f}
.topic-visual{color:#ff4662;filter:drop-shadow(0 4px 12px #ff22422a)}.topic-visual circle,.topic-visual rect{stroke:#dc4259}.topic-visual .visual-accent{stroke:#ffabb9}
.visual-resource-art{background:radial-gradient(ellipse,#95112b33,transparent 70%)}.visual-resource h2,.mobile-topic h3{font-weight:750}
.mobile-progress-ring .ring-value{stroke:#ff3454;filter:drop-shadow(0 0 3px #e6003544)}
.glass-tab-group a[aria-current=page]>.ui-icon{color:#ff5270;filter:drop-shadow(0 0 5px #ff264444);animation:alpha-tab 220ms ease-out}
.login-screen{background:radial-gradient(ellipse at 50% 30%,#57122535,transparent 45%),#0d0d10}
.login-cover{width:min(55vw,215px);filter:drop-shadow(0 14px 25px #bd14302e);animation:alpha-welcome 1.2s ease-out both,alpha-idle 5.5s 1.2s ease-in-out infinite}
.login-form h1{font-size:31px;font-weight:800;letter-spacing:-.04em}
.login-preview-badges>span{border-color:#8d2e4055;background:#8b153015;color:#efbac3}
.access-options{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2px 15px;margin:10px 0 0}
.terms-link,.motion-toggle{border:0;background:none;font:500 10px/1.4 var(--sans);color:#a9a1ae;min-height:44px;padding:8px 0;text-decoration:none;cursor:pointer}
.terms-link{color:#d6b0bd}.motion-toggle[aria-pressed=true]{color:#d6a6b5}.terms-link:focus-visible,.motion-toggle:focus-visible{outline:2px solid #ff6d87;outline-offset:4px;border-radius:4px}
.sidebar-options{display:flex;flex-direction:column;align-items:flex-start;margin-top:12px;border-top:1px solid #ffffff15}.sidebar-options button{font-size:12px}
.terms-dialog{width:min(92vw,500px);max-height:85dvh;padding:0;border:1px solid #633544;border-radius:24px;background:#171418;color:#f1eaf0;box-shadow:0 24px 80px #0009}
.terms-dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}.terms-dialog-head{position:sticky;top:0;background:#20181f;padding:20px;display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff12;z-index:1}
.terms-dialog-head h2{font-size:19px;margin:0}.terms-dialog-head button{min-height:44px;color:#ff9bb1}.terms-dialog article{padding:0 24px 24px}.terms-dialog h3{font-size:16px;margin-top:25px}.terms-dialog p{font-size:14px;line-height:1.75;color:#c6bdc7}
.terms-access-card{display:flex;align-items:center;gap:15px;text-align:left;width:100%;padding:22px;border:1px solid #7e304450;border-radius:22px;color:#ff9fb4;background:#24151e;cursor:pointer;font:inherit}.terms-access-card>span{display:grid;gap:6px}.terms-access-card strong{color:#f9edf4}.terms-access-card small{color:#b9a6b3;font-size:12px}
.step-progress{height:3px;border-radius:3px;background:#ffffff15;margin:15px 0 0;overflow:hidden}.step-progress span{display:block;width:100%;height:100%;background:#ff4868;transform-origin:left;transition:transform 260ms ease-out}
.timer-orbit{width:140px;height:140px;position:relative;margin:0 auto 20px;display:grid;place-items:center}
.timer-orbit svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#50303b;stroke-width:3}.timer-orbit .timer-orbit-value{stroke:#ff5677;stroke-width:5;stroke-linecap:round;transition:stroke-dashoffset .4s linear}
.timer-orbit>span{font-size:10px;letter-spacing:.14em;text-align:center;color:#f6adbf}.timer-orbit b{font-size:8px;letter-spacing:.08em;font-weight:500;color:#a98897;line-height:2}
.practice-timer.is-running .timer-orbit>span{animation:alpha-breath 8s ease-in-out infinite}
.audio-visual{margin:22px 0;display:grid;place-items:center;gap:13px;border:1px solid #7b2d4255;background:linear-gradient(135deg,#59152b40,#1e151e);padding:20px 15px;border-radius:18px}
.audio-visual>div{height:45px;display:flex;align-items:center;gap:5px}.audio-visual i{width:4px;height:10px;display:block;border-radius:4px;background:#e95679;transform-origin:center}
.audio-visual .wave-1{height:24px}.audio-visual .wave-2{height:40px}.audio-visual .wave-3{height:30px}.audio-visual .wave-4{height:17px}.audio-visual span{font-size:9px;letter-spacing:.14em;color:#ba91a4}
.audio-visual.is-playing i{animation:alpha-wave 850ms ease-in-out infinite alternate}.audio-visual.is-playing .wave-1{animation-delay:-.15s}.audio-visual.is-playing .wave-2{animation-delay:-.45s}.audio-visual.is-playing .wave-3{animation-delay:-.65s}.audio-visual.is-playing .wave-4{animation-delay:-.3s}
.complete-row:has(input:checked){border-color:#ed325b;background:#451c2c}.complete-row input{width:21px;height:21px}
@keyframes alpha-idle{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-1deg)}}
@keyframes alpha-tab{0%{transform:scale(.8)}70%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes alpha-wave{from{transform:scaleY(.35);opacity:.55}to{transform:scaleY(1);opacity:1}}
@keyframes alpha-breath{0%,100%{transform:scale(.95);opacity:.65}50%{transform:scale(1.05);opacity:1}}
.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.motion-suspended *,.motion-suspended *:before,.motion-suspended *:after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:350px){.mobile-welcome{padding-right:115px;min-height:150px}.mobile-welcome h1{font-size:28px}.alpha-hero-emblem{width:125px;height:130px;right:-8px;top:20px}.login-form h1{font-size:28px}.access-options{gap:0 12px}}
@media(max-height:680px){.login-cover{width:140px}.login-screen{gap:4px}.access-options{margin-top:2px}}
@media print{.alpha-hero-emblem,.timer-orbit,.audio-visual,.motion-toggle,.access-options,.terms-dialog{display:none!important}}
/* Completion is acknowledged only after the day is saved, or all practice steps are marked. */
body.achievement-open{overflow:hidden}
.achievement-dialog{width:min(92vw,420px);max-height:calc(100dvh - 32px);padding:0;border:1px solid #ff667d50;border-radius:30px;background:#151216;color:#f9f5f8;box-shadow:0 30px 100px #000c;overflow:auto;overscroll-behavior:contain}
.achievement-dialog::backdrop{background:#080609c9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.achievement-shell{position:relative;isolation:isolate;overflow:hidden;padding:42px 28px 20px;text-align:center;background:radial-gradient(ellipse at 50% 15%,#b1143338,transparent 60%)}
.achievement-close{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#ffffff07;color:#c5bdc8;z-index:2}.achievement-close .ui-icon{width:20px;height:20px}
.achievement-medal{position:relative;width:142px;height:142px;margin:0 auto 22px;display:grid;place-items:center}
.achievement-medal:before{content:'';position:absolute;inset:15px;border-radius:50%;background:#ff234428;filter:blur(18px)}
.achievement-medal svg{width:130px;height:130px;position:relative;overflow:visible;fill:none}
.achievement-orbit{stroke:#ff557244;stroke-width:1.3;stroke-dasharray:3 8}.achievement-inner{stroke:#ff5572;stroke-width:1.5;fill:#421422}.achievement-check{stroke:#fff0f4;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:0}
.achievement-medal i{position:absolute;width:6px;height:6px;border-radius:2px;background:#ff718a;transform:rotate(45deg)}.achievement-medal i:nth-of-type(1){left:6px;top:28px}.achievement-medal i:nth-of-type(2){right:7px;bottom:27px;width:4px;height:4px}.achievement-medal i:nth-of-type(3){right:22px;top:9px;width:4px;height:4px}
.achievement-kicker{display:block;color:#ff879d;font-size:10px;font-weight:700;letter-spacing:.1em;line-height:1.6;text-transform:uppercase}
.achievement-dialog h2{font-size:30px;line-height:1.08;letter-spacing:-.04em;margin:12px 0 16px;font-weight:800}.achievement-dialog p{font-size:14px;line-height:1.7;color:#c0b6c4;margin:0 auto 24px;max-width:31ch}
.achievement-progress{margin:22px 0 26px;text-align:left}.achievement-progress>span{display:flex;justify-content:space-between;gap:12px;color:#b9aebc;font-size:11px;line-height:1.5}.achievement-progress strong{color:#f5e5ed;font-variant-numeric:tabular-nums;white-space:nowrap}.achievement-progress progress{display:block;appearance:none;width:100%;height:5px;margin-top:12px;border:0;border-radius:6px;overflow:hidden;background:#ffffff10}.achievement-progress progress::-webkit-progress-bar{background:#ffffff10}.achievement-progress progress::-webkit-progress-value{background:#ff3355}.achievement-progress progress::-moz-progress-bar{background:#ff3355}
.achievement-dialog .primary-action{width:100%;min-height:52px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;padding:14px 12px;text-decoration:none}.achievement-later{display:block;margin:10px auto 0;padding:12px 6px;min-height:44px;border:0;background:none;color:#c0b6c4;font-size:12px}.achievement-dialog :focus-visible{outline:2px solid #ffa0b2;outline-offset:3px}
@media(max-height:650px){.achievement-shell{padding-top:24px}.achievement-medal{width:100px;height:100px;margin-bottom:12px}.achievement-medal svg{width:100px;height:100px}.achievement-dialog h2{font-size:26px}.achievement-dialog p{margin-bottom:16px}.achievement-progress{margin:16px 0}}
@media(prefers-reduced-transparency:reduce){.achievement-dialog::backdrop{background:#080609f0;backdrop-filter:none}}
@media print{.achievement-dialog{display:none!important}}
