/* RE:ON — Dawn light. Scoped to SMART so WEB/CONTROL retain their layout. */
.smart{background:#07111e}
.smart .counter-shell{isolation:isolate;background-color:#07111e;background-image:linear-gradient(180deg,rgba(4,12,23,.06) 0%,rgba(4,12,23,.16) 21%,rgba(4,12,23,.72) 43%,rgba(4,12,23,.32) 100%),url('/_release/a647d9aef8b61f053a9ef6af2df79916f3c36998/assets/dawn-hero-v1.webp');background-size:100% 100%,cover;background-position:top center}
.smart .smart-head{position:relative;z-index:2;background:linear-gradient(180deg,#07111e99,transparent)}
.smart .stage-identity,.smart .goal-rate{color:#e3e9ee;text-shadow:0 1px 8px #041020}
.smart .stage-code,.smart .touch-caption,.smart .time-caption,.smart .activity-pill span,.smart .bottom-handle>span{color:#b1bdcd}
.smart .touch-caption b{color:#7993a8}
.smart .affirmation{color:#f6f3eb;text-shadow:0 2px 18px #020b19,0 0 calc(var(--mission-progress,0)*16px) #f0c87866}
.smart .declaration-line{background:linear-gradient(90deg,transparent,#e5bd75,transparent);width:38px;box-shadow:0 0 12px #e5bd7544}
.smart .count-wrap strong{color:#fff8e9;text-shadow:0 0 24px #e5bd751c}
.smart .count-wrap span{color:#b0bdcb}
.smart .progress{background:#adc6e326}
.smart .progress i{background:linear-gradient(90deg,#82c6cf,#e6bf7a)}
.smart .ring-base{stroke:#8fb7c64d}.smart .ring-progress{stroke:#8dd2dc;filter:drop-shadow(0 0 3px #91d1da88)}
.smart .ring-inner-base{stroke:#e2bd7544}.smart .ring-count{stroke:#f2cd8a;stroke-opacity:.8}
.smart .action-ring::before{content:'';position:absolute;inset:-27px;border-radius:50%;border:1px solid #cce9e26b;box-shadow:0 0 22px #8dd2dc20,inset 0 0 20px #e2bd7514;pointer-events:none;background:radial-gradient(circle,transparent 55%,#e2bd7509 75%,transparent)}
.smart .tap{background:radial-gradient(circle at 40% 30%,#57452d,#172431 75%);color:#fff3d7;border:1px solid #edcf91;box-shadow:0 0 8px #f8d18c88,0 0 24px #e2bd753b,inset 0 0 18px #efc98224;font-size:27px;font-weight:500}
.smart .tap .pause-mark{display:none}
.smart .tap .sr-only{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
.smart .activity-pill{background:#0c1828;border:1px solid #7299ab44;bottom:-9px}
.smart .handle i{background:#a7b8c4}
.smart .info-button{background:#0b1828b3;color:#eef3f7;border:1px solid #afc5d44d}
.smart .action-ring::after{content:'';position:absolute;inset:-27px;border:1px solid #efd38f;border-radius:50%;opacity:0;pointer-events:none}
.smart .dawn-tap .action-ring::after{animation:dawn-touch .65s ease-out}
@keyframes dawn-touch{from{opacity:.7;transform:scale(.7)}to{opacity:0;transform:scale(1.4)}}
.dawn-intro[hidden]{display:none!important}
.dawn-intro{position:fixed;inset:0;z-index:2000;overflow:hidden;display:flex;align-items:center;justify-content:center;background:transparent;pointer-events:none;color:#f6f3eb;border:0;padding:0;font-family:inherit;cursor:pointer;touch-action:manipulation}
.dawn-intro::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 48%,#17425c55,transparent 60%),url('/_release/a647d9aef8b61f053a9ef6af2df79916f3c36998/assets/dawn-hero-v1.webp') center/cover;opacity:0;animation:dawn-sky .65s ease both}
.intro-seed{position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:#fff3cc;box-shadow:0 0 16px 5px #f1c572bb,0 0 50px 14px #efc87844;animation:dawn-seed .65s ease both}
.intro-seed::after{content:'';position:absolute;inset:-40px;background:linear-gradient(transparent 49%,#f8d79088 50%,transparent 51%);transform:rotate(-25deg)}
.intro-ring{position:absolute;width:min(72vw,320px);aspect-ratio:1;border:1px solid #dce7c6;border-radius:50%;box-shadow:0 0 18px #8acfdc88,inset 0 0 20px #ebc98744;opacity:0;animation:dawn-ring .65s cubic-bezier(.2,.65,.2,1) both}
.intro-ring::after{content:'';position:absolute;inset:-12px;border-radius:50%;border:1px solid #8acfdc55;box-shadow:0 0 40px #efc87822}
.intro-brand{position:relative;text-align:center;opacity:0;animation:dawn-brand .65s ease both}
.intro-logo{display:block;font-size:clamp(48px,15vw,68px);font-weight:300;letter-spacing:.055em;line-height:1.2}
.intro-logo b{font-weight:300;color:#ffe5ad;text-shadow:0 0 12px #edc778,0 0 35px #eab86666}
.intro-tagline{display:block;margin-top:18px;font-size:14px;letter-spacing:.15em;color:#e1e8ec}
.intro-skip{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 36px);font-size:11px;color:#bac8d7;letter-spacing:.05em}
.intro-skip{display:none}
.intro-short .intro-seed{display:none}.intro-short::before{animation:none;opacity:.2}
.intro-short .intro-ring{animation:dawn-short-ring .75s ease both}.intro-short .intro-brand{animation:dawn-short-brand .75s ease both}
@keyframes dawn-sky{0%,30%{opacity:0}65%{opacity:.18}90%{opacity:.5}100%{opacity:.7}}
@keyframes dawn-seed{0%{opacity:0;transform:scale(.3)}15%,30%{opacity:1;transform:scale(1)}48%{opacity:.8;transform:scale(1.6)}65%,100%{opacity:0;transform:scale(.3)}}
@keyframes dawn-ring{0%,16%{opacity:0;transform:scale(.06) rotate(-30deg)}40%{opacity:.9;transform:scale(.7) rotate(-10deg)}65%,82%{opacity:1;transform:scale(1) rotate(0)}100%{opacity:0;transform:scale(1.5)}}
@keyframes dawn-brand{0%,42%{opacity:0;transform:translateY(10px);filter:none}65%,85%{opacity:1;transform:translateY(0);filter:none}100%{opacity:0;transform:translateY(-10px);filter:none}}
@keyframes dawn-short-brand{0%{opacity:0;transform:scale(.96)}30%,70%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.04)}}
@keyframes dawn-short-ring{0%{opacity:0;transform:scale(.8)}30%,70%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(1.15)}}
@media(prefers-reduced-motion:reduce){.dawn-intro{display:none!important}.dawn-intro *,.dawn-intro::before,.smart .dawn-tap .action-ring::after{animation:none!important}.smart .ring-count,.smart .ring-progress{transition:none}}
