@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f6f5ff;background:#0d1122;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg:#0d1122;--panel:#191e34;--panel-two:#212640;--text:#f5f4ff;--muted:#a4aac5;--line:#30354f;--pink:#f29baf;--mint:#8be4c6;--lilac:#a698fa;--blue:#87c4ff}*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.38;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--mint);outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,-apple-system,sans-serif;letter-spacing:-.055em}p{line-height:1.55}em{font-style:normal;color:#b8b1ff}a{color:var(--mint)}.app-layout{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;width:236px;height:100vh;padding:27px 15px;display:flex;flex-direction:column;background:#13182b;border-right:1px solid #292e46;flex:none}.sidebar-brand{display:flex;gap:10px;align-items:center;padding:6px 12px 44px}.sidebar-brand>span{font-size:32px}.sidebar-brand strong{font-size:18px;font-weight:800;letter-spacing:.085em}.sidebar-brand small{display:block;color:#8f9cb8;font-size:10px;letter-spacing:.22em;font-weight:800;margin-top:4px}.sidebar-nav{display:flex;flex-direction:column;gap:7px}.nav-button{border:0;border-radius:12px;background:transparent;color:#8d98b1;display:flex;align-items:center;gap:13px;padding:14px 15px;text-align:left;font-weight:700}.nav-button.selected{color:#e8e3ff;background:#302d57}.nav-button:hover:not(.selected){background:#1e2340;color:#fff}.sidebar-bottom{margin-top:auto;padding:20px 12px}.sidebar-bottom p{font-size:11px;color:#81899f;margin-top:11px}.pill{background:#292d49;color:#dddafa;font-size:11px;font-weight:700;border:1px solid #3a3f61;border-radius:30px;padding:8px 12px;white-space:nowrap}.content-shell{width:calc(100% - 236px);min-width:0}.topbar{height:72px;border-bottom:1px solid #262c43;display:flex;align-items:center;justify-content:flex-end;padding:0 clamp(17px,5vw,68px)}.topbar-right{display:flex;align-items:center;gap:20px}.status-pill{display:flex;align-items:center;gap:8px;color:#9da6c4;font-size:12px;font-weight:700;background:none;border:1px solid transparent;border-radius:30px;padding:7px 10px;min-height:36px}.status-pill:hover{border-color:#343953}.status-dot{width:8px;height:8px;background:#93eac4;border-radius:50%;box-shadow:0 0 12px #74d9b04d}.avatar-stack{display:flex;padding-left:8px}.avatar-stack>span{width:33px;height:33px;background:#272b47;border:2px solid #0d1122;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:-9px;font-size:17px}.brand-mobile{display:none}.main{padding:35px clamp(16px,5vw,68px) 95px;max-width:1510px;margin:0 auto}.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#9c9bbd}.page-heading{margin-bottom:25px}.page-heading h1{font-size:clamp(29px,3.6vw,45px);font-weight:800;margin:5px 0}.subtitle{color:var(--muted);font-size:13px}.week-switch{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 28px}.week-switch>button{width:37px;height:37px;border:1px solid #373c58;border-radius:12px;background:#222741;color:#ece8ff;display:flex;align-items:center;justify-content:center}.week-switch>div{display:flex;align-items:center;gap:9px;background:#222741;border:1px solid #343953;border-radius:13px;padding:10px 19px;color:#ece8ff;font-size:13px;min-width:220px;justify-content:center}.week-switch span{color:#abb0d2}.hero-grid{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(245px,.8fr);gap:18px}.hero-card{border-radius:24px;padding:31px;min-height:276px;position:relative;overflow:hidden;background:linear-gradient(125deg,#6558c3,#8067cb 47%,#c5779e);box-shadow:0 13px 35px #0003}.hero-content{position:relative;z-index:2}.hero-card h2{font-size:clamp(27px,3vw,39px);line-height:1.17;margin:23px 0 11px;color:#fff}.hero-card h2 em{color:#ffdedc}.hero-card p{max-width:360px;font-size:13px;color:#f3edff;line-height:1.7}.hero-tag{display:inline-flex;align-items:center;gap:8px;background:#ffffff30;border:1px solid #ffffff35;border-radius:30px;padding:9px 11px;font-size:10px;font-weight:800;letter-spacing:.09em}.hero-decoration{position:absolute;right:-22px;top:-48px;color:#ffffff19;font-size:380px;line-height:1;transform:rotate(-26deg)}.light-button{margin-top:23px;background:#f8f6ff;color:#393369;border:none;border-radius:12px;padding:12px 16px;display:inline-flex;align-items:center;gap:12px;font-weight:800;font-size:12px}.total-card{border:1px solid #343954;background:var(--panel);border-radius:24px;padding:21px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px}.total-card>.eyebrow{align-self:flex-start}.card-foot{width:100%;display:flex;justify-content:space-between;font-size:11px;align-items:center}.card-foot strong{color:#f9f8ff}.card-foot span{color:var(--muted)}.progress-ring{position:relative;max-width:100%}.progress-ring svg{width:100%;height:100%}.ring-back{stroke:#343852}.ring-front{stroke:var(--mint);filter:drop-shadow(0 0 9px #78d8b96b);transition:stroke-dashoffset .65s ease}.ring-number{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring-number strong{font-size:36px;letter-spacing:-.08em}.ring-number span{color:#a0a9c6;font-size:13px}.headline-row{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:35px 0 15px}.section-title h2{font-size:20px;font-weight:800}.section-title p,.section-caption{font-size:12px;color:#a4aac6;margin-top:5px}.score-summary{display:grid;grid-template-columns:1fr 1fr .7fr;gap:15px}.person-card,.shared-card,.panel{background:var(--panel);border:1px solid #323751;border-radius:19px;padding:20px}.person-heading{display:flex;align-items:center;gap:15px;margin-bottom:20px}.person-heading p{color:#b0b2ce;font-size:12px}.person-heading h3,.shared-card h3{font-size:26px}.person-heading h3 small,.shared-card h3 small{font-size:12px;letter-spacing:0;color:#9ba4bf}.person-avatar{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:15px;font-size:24px}.person-avatar.elsa{background:#513249}.person-avatar.emil{background:#274567}.person-info{font-size:12px;color:#a3a9c6;margin-top:13px}.shared-card{background:#242447}.shared-card>span{font-size:31px}.shared-card>p:not(.person-info){font-size:12px;margin-top:9px;color:#c5c0ec}.shared-card h3{margin-top:6px}.bar-track{background:#363952;border-radius:999px;height:9px;overflow:hidden}.bar-fill{height:100%;border-radius:inherit;transition:width .5s ease;background:#aca1ff}.bar-fill.lavender,.bar-fill.training{background:linear-gradient(90deg,#867bed,#b5a9ff)}.bar-fill.steps{background:linear-gradient(90deg,#43cba7,#a2efd3)}.bar-fill.mealprep{background:#f7c68f}.bar-fill.sleep{background:#84b0e7}.bar-fill.date,.bar-fill.pink{background:#f0a0b9}.bar-fill.alcohol{background:linear-gradient(90deg,#f0a4b5,#efca86)}.bar-fill.blue{background:#85beee}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:17px}.panel{min-width:0}.category-list{margin-top:20px;display:flex;flex-direction:column;gap:19px}.category-row{display:flex;align-items:center;gap:13px}.category-icon{display:flex;align-items:center;justify-content:center;flex:none;width:37px;height:37px;border-radius:11px;color:#b3a9ff;background:#38335c}.category-icon.steps{color:#77dfc4;background:#1e4948}.category-icon.mealprep{color:#f4c996;background:#5a463b}.category-icon.sleep{color:#85b9eb;background:#2c4058}.category-icon.date{color:#ffacc2;background:#553546}.category-icon.alcohol{color:#f5c2b9;background:#65404a}.category-meter{flex:1}.category-meter>div:first-child{display:flex;justify-content:space-between;gap:9px;margin-bottom:9px;font-size:12px}.category-meter span{color:#a0a5c3}.steps-preview .big-count{margin:35px 0 18px}.panel-title-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.text-mint{color:var(--mint)}.big-count{font-size:38px;line-height:1.3;font-weight:800;letter-spacing:-.07em}.big-count small{font-size:13px;color:#9da3c4;letter-spacing:0}.step-preview-people{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:21px 0}.step-preview-people span{font-size:12px;color:#b3b8d0}.step-preview-people strong{color:#fff;margin-left:5px}.text-button{display:flex;align-items:center;gap:9px;color:#b5aaff;border:0;background:none;padding:10px 0 0;font-size:13px;font-weight:800}.reward-progress{display:flex;align-items:center;gap:16px;margin:25px 0 20px}.reward-progress>span{font-size:35px}.reward-progress strong{font-size:20px}.reward-progress p{font-size:12px;color:#a8aac8;margin-top:4px}.calendar-event{margin-top:14px;display:flex;align-items:center;gap:12px;font-size:13px;color:#e5e5fa}.calendar-event span{background:#303553;border-radius:9px;min-width:52px;text-align:center;padding:8px;font-weight:800;color:#b9b4ee}.care-note{font-size:12px;color:#a3a9c6;margin-top:25px;display:flex;align-items:flex-start;gap:8px;line-height:1.6}.care-note svg{flex:none;margin-top:2px}.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;margin:24px 0 13px}.date-btn{background:#242943;color:#b7bdd5;border:1px solid #363b57;border-radius:13px;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;padding:13px 5px}.date-btn.selected{background:#544ba0;border-color:#aaa1ff;color:#fff}.date-btn small{font-size:11px}.date-btn strong{font-size:20px}.date-note{font-size:12px;color:#aaaacf;text-align:center}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.panel label,.auth-box label{font-size:12px;font-weight:700;color:#babfdb;display:block;margin-top:18px;margin-bottom:7px}.panel label input:not([type=checkbox]),.panel label textarea,.auth-box input,.reward-edit input,.reward-edit textarea{display:block;background:#11162c;color:#fff;border:1px solid #414763;width:100%;padding:12px;border-radius:11px;font-size:16px;margin-top:8px;outline:none;min-height:46px}.panel label input:focus,.panel label textarea:focus,.auth-box input:focus{border-color:#a49afa}.panel textarea{resize:vertical;min-height:75px}.counter{display:flex;align-items:center;gap:14px;margin:14px 0}.counter button{width:39px;height:39px;background:#373657;color:#fff;border:1px solid #585880;border-radius:10px;font-size:24px;line-height:1}.counter strong{min-width:70px;text-align:center;font-size:16px}.check-row{display:flex!important;align-items:center;gap:11px;padding:12px;background:#282d47;border:1px solid #3d4261;border-radius:12px;margin:17px 0!important;cursor:pointer}.check-row input{accent-color:#a598ef;flex:none;width:19px;height:19px}.check-row span{line-height:1.5}.check-row strong{color:#93dec3;white-space:nowrap}.primary{background:linear-gradient(125deg,#b6a7ff,#8579ed);border:0;color:#121327;display:inline-flex;justify-content:center;align-items:center;gap:10px;border-radius:13px;font-weight:800;padding:13px 19px}.primary.wide{width:100%;margin-top:20px}.ghost{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:1px solid #494e69;background:#252b43;color:#e5e2f9;border-radius:11px;padding:11px 17px;margin-top:17px;font-weight:700;font-size:12px}.tip-card{margin-top:20px;background:#2d3356;border-radius:14px;padding:20px}.tip-card.soft{background:#2b2b46}.tip-card>span{font-size:25px}.tip-card h3{font-size:15px;margin:10px 0 6px}.tip-card p{color:#bfc1db;font-size:12px}.quick-line{margin-top:17px;display:flex;justify-content:space-between;gap:9px;font-size:12px;color:#b6bdd7}.quick-line strong{color:#f9f7ff}.small-muted{color:#a2a9c1;font-size:12px;margin-top:15px}.step-hero{padding:30px 35px}.step-headline{margin:30px 0;display:flex;align-items:center;gap:19px;color:var(--mint)}.step-headline>div{display:flex;flex-direction:column}.step-headline strong{font-size:clamp(35px,6vw,65px);letter-spacing:-.07em;line-height:1}.step-headline span{font-size:12px;color:#b3bdd4;margin-top:8px}.trail{position:relative;height:88px;margin:43px 22px 30px}.trail-line,.trail-fill{position:absolute;top:33px;left:0;height:13px;border-radius:99px}.trail-line{width:100%;background:#383d5a}.trail-fill{background:linear-gradient(90deg,#75ddbe,#d4bcfa);box-shadow:0 0 17px #79f8c64b;transition:width .6s ease}.trail-check{position:absolute;top:0;transform:translate(-50%);font-size:29px;text-align:center;z-index:1}.trail-check small{display:block;font-size:10px;color:#a7adca;margin-top:20px}.race-avatars{height:48px;margin:10px 22px 0;position:relative}.race-avatars span{position:absolute;background:#2a334e;border:2px solid #7973c8;border-radius:50%;display:flex;align-items:center;justify-content:center;width:37px;height:37px;font-size:20px;transform:translate(-50%);transition:left .65s ease}.race-avatars span:last-child{top:16px;border-color:#6cc9bc}.centered-hint{text-align:center;color:#a9b0cb;font-size:12px;margin-top:19px}.step-days{display:flex;height:157px;align-items:flex-end;justify-content:space-around;gap:11px;border-top:1px solid #333a54;margin-top:27px;padding-top:13px}.step-days>div{height:115px;display:flex;flex:1;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.day-bar{max-height:94px;min-height:4px;width:clamp(16px,40%,39px);background:linear-gradient(0deg,#6bcfae,#baaeff);border-radius:7px 7px 2px 2px}.step-days small,.step-days span{font-size:10px;color:#a9b0c7}.step-days span{font-size:9px}.reward-top{background:linear-gradient(120deg,#353467,#514784,#815a88);padding:30px;border-radius:23px;display:flex;justify-content:space-between;gap:10px;margin-bottom:20px}.reward-top h2{font-size:clamp(29px,3.5vw,41px);margin:8px 0}.reward-top p:not(.eyebrow){color:#d6d3ea;font-size:13px;max-width:470px}.reward-top .big-count{margin:20px 0 12px}.reward-top-icon{font-size:100px;align-self:center;filter:drop-shadow(0 15px 15px #1f184871)}.reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.reward-card{position:relative;background:#1d2138;border:1px solid #363a59;border-radius:19px;padding:23px;overflow:hidden;min-height:225px}.reward-card.reward-3{border-color:#826f54}.reward-card.reward-4{border-color:#7762ae}.reward-card.unlocked{border-color:#86d6bd;box-shadow:inset 0 0 30px #2e916312}.reward-icon{font-size:43px;margin-bottom:9px}.reward-status{position:absolute;right:17px;top:18px;border:1px solid #484c69;background:#2b304b;padding:6px 9px;border-radius:20px;color:#b6bad5;display:flex;align-items:center;gap:4px;font-size:10px;font-weight:700}.unlocked .reward-status{color:#b1f0d2;background:#255049;border-color:#3a846d}.reward-card h3{font-size:23px;margin:6px 0}.reward-card>p:not(.eyebrow){color:#aeb2d0;font-size:12px;min-height:39px}.reward-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #343a54;margin-top:16px;padding-top:16px}.reward-bottom strong{font-size:20px}.reward-bottom button{background:none;color:#a9a3f9;border:0;font-size:12px;font-weight:800}.reward-edit{margin-top:17px;padding-top:12px;border-top:1px solid #424767}.reward-edit label{display:block;color:#aeb4cd;font-size:11px;font-weight:700;margin-top:10px}.reward-edit textarea{min-height:73px}.week-result{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:19px 0}.week-result>span{min-width:100px;font-weight:800;font-size:13px}.week-result small{display:block;font-weight:400;color:#949cbb;font-size:11px;margin-top:5px}.week-result>div{flex:1;display:flex;align-items:center;gap:13px}.week-result>div .bar-track{flex:1}.week-result strong{font-size:12px;white-space:nowrap}.profile-switch{display:flex;gap:10px;margin:24px 0}.profile-btn{display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 15px;color:#e2dff8;background:#272b45;border:1px solid #3e4362;border-radius:12px;font-weight:700}.profile-btn.active{background:#4d477f;border-color:#978be6}.rules-list{margin-top:24px;border-top:1px solid #373e59;padding-top:8px}.rules-list p{margin-top:10px;font-size:12px;color:#bbc0d9}.join-code{font-family:monospace;font-size:14px;color:#a4f0d5;padding:14px;border:1px dashed #74a595;background:#1d3437;border-radius:11px;overflow-wrap:anywhere;margin-top:13px}.bottom-nav{display:none}.toast{position:fixed;z-index:80;right:24px;bottom:25px;max-width:min(85vw,450px);padding:13px 18px;display:flex;align-items:center;gap:9px;color:#ebfff5;background:#254e48;border:1px solid #79ccad;border-radius:12px;box-shadow:0 10px 50px #0007;font-size:13px}.welcome,.loading{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px 20px;background:radial-gradient(ellipse at 50% 20%,#333163,#151a32 45%,#0d1122 75%)}.welcome{max-width:none}.welcome>*{max-width:480px}.welcome .hero-icon,.loading .hero-icon{font-size:70px;line-height:1.4}.welcome h1{font-size:clamp(36px,8vw,60px);line-height:1.08;margin:15px 0}.welcome .welcome-copy{font-size:15px;color:#c6c8e3;margin:7px 0 25px}.welcome .primary.wide{max-width:400px}.welcome .small-muted{max-width:410px}.auth-box{width:min(100%,430px);background:#202640;border:1px solid #3b3f5d;border-radius:20px;padding:25px;text-align:left;margin-top:10px}.auth-box>p{font-size:13px;color:#c5c6db}.auth-box input{width:100%}.auth-box label,.auth-box .primary{margin-top:20px}.auth-box h2{font-size:25px;margin-bottom:15px}.chip-group{display:flex;gap:11px;margin-top:8px}.chip{padding:10px 15px;border:1px solid #414765;border-radius:12px;color:#bdc4dc;background:#2a304c}.chip.active{background:#4a4786;color:#f6f3ff;border-color:#aba1f2}.error{color:#ff9da6!important;margin-top:10px}.hint{color:#9dddc3!important;margin-top:13px}.loading{gap:17px;color:#e5e1ff}.loading p{font-size:13px;color:#a5a9c7}@media(max-width:1100px){.sidebar{width:205px}.content-shell{width:calc(100% - 205px)}.hero-grid{grid-template-columns:1.3fr .8fr}.score-summary{grid-template-columns:1fr 1fr}.shared-card{grid-column:1 / -1;display:flex;align-items:center;gap:14px;padding:12px 20px}.shared-card>p:not(.person-info){margin:0}.shared-card h3{margin:0}.shared-card .person-info{margin:0 0 0 auto}.reward-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.sidebar{display:none}.content-shell{width:100%}.topbar{height:63px;padding:0 16px;justify-content:space-between}.brand-mobile{display:flex;align-items:center;gap:7px;font-size:13px;letter-spacing:-.02em}.brand-mobile>span{font-size:24px}.brand-mobile strong{font-weight:800}.topbar-right{gap:10px}.status-pill{font-size:10px}.avatar-stack>span{width:28px;height:28px;font-size:15px}.main{padding:23px 15px 102px}.page-heading h1{font-size:31px}.page-heading{margin-bottom:20px}.hero-grid{grid-template-columns:1fr}.hero-card{min-height:238px;padding:24px}.hero-card h2{font-size:31px;margin-top:16px}.hero-decoration{font-size:300px}.total-card{min-height:245px}.total-card .card-foot{max-width:280px}.score-summary{grid-template-columns:1fr 1fr;gap:10px}.person-card,.shared-card,.panel{padding:16px}.person-heading{gap:8px}.person-avatar{width:39px;height:39px;font-size:18px}.person-heading h3{font-size:23px}.person-heading p{font-size:11px}.person-info{font-size:10px}.shared-card{grid-column:1 / -1;flex-wrap:wrap;gap:10px}.shared-card .person-info{margin-left:0}.split-grid,.reward-grid{grid-template-columns:1fr}.headline-row{margin-top:27px;align-items:flex-start}.headline-row>.pill{font-size:10px}.section-title h2{font-size:19px}.date-grid{gap:4px}.date-btn{padding:11px 3px;border-radius:10px}.date-btn strong{font-size:17px}.date-btn small{font-size:10px}.step-hero{padding:21px 18px}.trail{margin-left:22px;margin-right:22px}.reward-top{padding:23px}.reward-top-icon{font-size:62px}.reward-top h2{font-size:30px}.bottom-nav{display:flex;position:fixed;z-index:40;bottom:0;left:0;right:0;height:calc(69px + env(safe-area-inset-bottom));padding:5px 7px env(safe-area-inset-bottom);background:#161b30ed;border-top:1px solid #353a55;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);justify-content:space-around}.bottom-nav button{background:none;border:none;color:#8f97b3;display:flex;align-items:center;flex-direction:column;gap:5px;justify-content:center;min-width:59px}.bottom-nav button.selected{color:#c9bafa}.bottom-nav small{font-size:10px}.toast{bottom:calc(81px + env(safe-area-inset-bottom));right:12px}.welcome{padding-bottom:90px}}@media(max-width:390px){.status-pill .status-text{display:none}.score-summary{grid-template-columns:1fr}.shared-card{grid-column:auto}.reward-top-icon{font-size:42px}.week-switch>div{min-width:175px;padding:10px}.hero-card h2{font-size:28px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}html{-webkit-text-size-adjust:100%}.now-pill{font-style:normal;background:#2f5a4d;color:#bff3dc;border-radius:20px;padding:2px 7px;font-size:10px;font-weight:800;letter-spacing:.06em;margin-left:2px}.status-pill.error .status-dot{background:#ff9da6;box-shadow:0 0 12px #ff9da64d}.status-pill.saving .status-dot,.status-pill.loading .status-dot{background:#ffd27a;box-shadow:0 0 12px #ffd27a4d}.status-pill.offline .status-dot{background:#9aa0b8;box-shadow:none}.status-pill.demo .status-dot{background:#a698fa;box-shadow:0 0 12px #a698fa4d}.totals-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.total-tile{background:var(--panel);border:1px solid #323751;border-radius:16px;padding:14px 15px 12px;min-width:0}.total-tile p{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#9c9bbd;margin-bottom:6px}.total-tile strong{font-size:22px;letter-spacing:-.04em;display:block;line-height:1.2}.total-tile strong small{font-size:12px;color:#9da3c4;letter-spacing:0;font-weight:600}.total-tile span{display:block;font-size:11px;color:#a4aac6;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.total-tile .bar-track{margin-top:9px;height:6px}.quick-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.quick{display:inline-flex;align-items:center;gap:7px;background:#2a2f4d;color:#e8e6ff;border:1px solid #434967;border-radius:12px;padding:10px 13px;font-weight:700;font-size:13px;min-height:44px}.quick.on{background:#255049;border-color:#3a846d;color:#b1f0d2}.quick:hover:not(:disabled){border-color:#8b85d6}.sleep-row{display:flex;align-items:center;gap:6px;margin-top:8px}.sleep-row input{margin-top:0!important;min-width:0;text-align:center}.sleep-row button{flex:none;width:44px;height:46px;border-radius:11px;background:#373657;color:#fff;border:1px solid #585880;display:flex;align-items:center;justify-content:center}.field-hint{font-size:12px;color:#a4aac6;margin-top:10px;line-height:1.5}.counter-hint{font-size:12px;color:#a4aac6;margin-left:2px}.counter{flex-wrap:wrap}.counter button{min-width:44px;min-height:44px}.check-row.disabled{opacity:.55}.check-row input{width:22px;height:22px}.save-status{display:flex;align-items:center;gap:7px;font-size:12px;margin-top:11px;color:#a4aac6}.save-status.saved{color:#93dec3}.save-status.saving{color:#ffd27a}.save-status.error{color:#ffd3d7;flex-wrap:wrap;background:#3a2634;border:1px solid #6a3a48;border-radius:10px;padding:10px 12px}.save-status.error .retry{margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:#ffb3b9;color:#2a1620;border:0;border-radius:9px;padding:8px 11px;font-weight:800;font-size:12px;min-height:36px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pill.logged{display:inline-flex;align-items:center;gap:5px;background:#255049;border-color:#3a846d;color:#b1f0d2;flex:none}.text-button.subtle{color:#9aa0b8;font-weight:600;font-size:12px;margin-top:14px}.text-button{min-height:36px}.date-btn{position:relative;min-height:62px}.date-btn.today{border-color:#8be4c6}.date-btn.today.selected{box-shadow:0 0 0 2px #8be4c655}.date-btn .mark{position:absolute;top:4px;right:5px;width:15px;height:15px;border-radius:50%;background:#8be4c6;color:#0d1122;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:900}.person-switch{display:flex;gap:8px;margin:14px 0 0}.person-switch button{flex:1;min-height:46px;border-radius:12px;border:1px solid #3e4362;background:#272b45;color:#e2dff8;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px}.person-switch button.active{background:#4d477f;border-color:#978be6}.daily-editor .panel-title-line{align-items:flex-start}.lanes{display:flex;flex-direction:column;gap:26px;margin:30px 0 8px}.lane-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:14px;margin-bottom:30px}.lane-head span{color:#a9b0cb;font-size:12px;white-space:nowrap}.lane-track{position:relative;height:14px;border-radius:99px;background:#383d5a;margin:0 18px}.lane-fill{position:absolute;top:0;bottom:0;left:0;border-radius:99px;transition:width .7s cubic-bezier(.2,.8,.2,1)}.lane.elsa .lane-fill{background:linear-gradient(90deg,#c76d93,#f29baf);box-shadow:0 0 14px #f29baf66}.lane.emil .lane-fill{background:linear-gradient(90deg,#4f8fe0,#87c4ff);box-shadow:0 0 14px #87c4ff66}.lane-check{position:absolute;top:-32px;transform:translate(-50%);font-size:20px;opacity:.4;transition:opacity .4s,transform .4s;line-height:1}.lane-check.passed{opacity:1;transform:translate(-50%) scale(1.12)}.lane-runner{position:absolute;top:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;background:#2a334e;border:2px solid #7973c8;display:flex;align-items:center;justify-content:center;font-size:20px;transition:left .7s cubic-bezier(.2,.8,.2,1);box-shadow:0 6px 18px #0006;z-index:2;line-height:1}.lane.elsa .lane-runner{border-color:#f29baf}.lane.emil .lane-runner{border-color:#87c4ff}.lane.finished .lane-runner{animation:bounce 1.3s ease-in-out infinite;border-color:#8be4c6;box-shadow:0 0 0 4px #8be4c633,0 6px 18px #0006}@keyframes bounce{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-50%,-72%)}}.lane-labels{display:flex;justify-content:space-between;margin:12px 4px 0;font-size:10px;color:#a7adca}.lane-labels span{flex:1;text-align:center}.lane-labels span:first-child{text-align:left}.lane-labels span:last-child{text-align:right}.step-chart{position:relative;display:flex;gap:6px;align-items:flex-end;height:150px;margin-top:22px;padding-top:14px;border-top:1px solid #333a54}.step-chart .goal-line{position:absolute;left:0;right:0;border-top:1px dashed #6b7196;pointer-events:none}.step-chart .goal-line small{position:absolute;right:0;top:-14px;font-size:9px;color:#8f97b3}.step-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0;position:relative;z-index:1}.step-col .bar{width:clamp(14px,55%,34px);border-radius:7px 7px 2px 2px;background:linear-gradient(0deg,#6bcfae,#baaeff);transition:height .5s ease}.step-col.empty .bar{background:#3b4060}.step-col small{font-size:10px;color:#a9b0c7;margin-top:6px}.step-col span{font-size:9px;color:#a9b0c7;white-space:nowrap}.step-col.is-today small{color:#8be4c6;font-weight:800}.reward-desc{min-height:38px}.reward-next{font-size:13px;color:#e8e4ff;margin-top:12px;font-weight:600}.reward-target{display:flex;align-items:center;gap:6px;color:#8be4c6;font-size:12px;font-weight:800;margin:4px 0 8px}.reward-card .bar-track{margin-top:12px}.reward-card.target{border-color:#8be4c6;box-shadow:0 0 0 1px #8be4c655,inset 0 0 30px #2e916312}.reward-bottom button{display:inline-flex;align-items:center;gap:5px;min-height:36px}.celebrate-banner{background:linear-gradient(120deg,#2d5a4e,#3a6a84);border:1px solid #6fc9a8;border-radius:19px;padding:20px;display:flex;align-items:center;gap:16px;margin-bottom:18px}.celebrate-banner span{font-size:40px;line-height:1}.celebrate-banner h3{font-size:19px}.celebrate-banner p{font-size:13px;color:#d7f3e8;margin-top:4px}.countdown{display:inline-flex;align-items:center;gap:8px;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:30px;padding:8px 12px;font-size:12px;font-weight:800;margin-bottom:12px}.week-result.final>span{color:#f29baf}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:200;overflow:hidden}.confetti span{position:absolute;top:-14px;display:block;animation:confetti-fall linear forwards;opacity:.95}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:.75}}.confetti-static{position:fixed;left:50%;top:18%;transform:translate(-50%);font-size:56px;z-index:200;pointer-events:none;animation:fade-out 3s forwards}@keyframes fade-out{0%,70%{opacity:1}to{opacity:0}}.danger-zone{margin-top:18px;padding-top:16px;border-top:1px solid #373e59}.ghost{min-height:44px}.ghost.danger{border-color:#7a3f4b;background:#3a2634;color:#ffb3b9}.ghost.confirm{background:#ffb3b9;color:#2a1620;border-color:#ffb3b9}.button-row{display:flex;flex-wrap:wrap;gap:10px}.button-row .ghost{margin-top:12px}.help{margin-top:16px;font-size:12px;color:#c5c6db}.help summary{cursor:pointer;color:#9dddc3;font-weight:700;min-height:32px;display:flex;align-items:center}.help ul{padding-left:18px;margin:8px 0 0;display:flex;flex-direction:column;gap:6px;line-height:1.5}.toast{align-items:flex-start;line-height:1.45}.toast svg{flex:none;margin-top:1px}.toast.error{background:#4a2630;border-color:#ff9da6;color:#ffe5e8}.toast.celebrate{background:#3b3570;border-color:#b6a7ff;color:#f0ecff}.nav-button:focus-visible,.bottom-nav button:focus-visible{outline:2px solid var(--mint);outline-offset:-2px}.bottom-nav button{min-height:52px}.ring-front.full{stroke:#ffd27a;filter:drop-shadow(0 0 10px #ffd27a88)}.light-button,.primary{min-height:46px}@media(max-width:1100px){.totals-strip{gap:10px}}@media(max-width:760px){.totals-strip{gap:7px}.total-tile{padding:11px 10px 10px}.total-tile strong{font-size:18px}.total-tile strong small{font-size:11px}.total-tile span{font-size:10px}.lane-track{margin:0 14px}.lane-head{margin-bottom:28px}.lane-check{font-size:18px}.step-chart{gap:4px}.quick{font-size:12px;padding:9px 11px}.celebrate-banner{padding:16px;gap:12px}.celebrate-banner span{font-size:32px}.reward-top .countdown{font-size:11px}}@media(max-width:390px){.totals-strip{gap:6px}.total-tile{padding:10px 9px 9px}.total-tile strong{font-size:16px}.total-tile p{font-size:9px;letter-spacing:.08em}.date-btn{min-height:58px}.lane-head span{font-size:11px}}@media(prefers-reduced-motion:reduce){.lane.finished .lane-runner,.spin{animation:none}}.topbar{padding-top:env(safe-area-inset-top);height:calc(72px + env(safe-area-inset-top))}.welcome,.loading{padding-top:calc(35px + env(safe-area-inset-top))}@media(max-width:760px){.topbar{height:calc(63px + env(safe-area-inset-top))}}@media(max-width:520px){.field-grid{grid-template-columns:1fr;gap:4px}.sleep-row button{width:46px}}.panel>p{font-size:14px;color:#d6d8ea;line-height:1.6}.panel>p+p{margin-top:10px}.sidebar-brand img,.brand-mobile img{flex:none;display:block;border-radius:22%;box-shadow:0 6px 18px #0006}.welcome-logo,.loading-logo{display:block;border-radius:24%;box-shadow:0 18px 50px #6a5ad455,0 4px 14px #0008;margin-bottom:6px}.loading-logo{animation:logo-pulse 1.6s ease-in-out infinite}@keyframes logo-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media(prefers-reduced-motion:reduce){.loading-logo{animation:none}}.who-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(100%,430px);margin-top:8px}.who-btn{display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 12px;border-radius:20px;border:1px solid #3e4362;background:#202640;color:#fff;font-weight:800;font-size:16px;min-height:120px}.who-btn span{font-size:44px;line-height:1}.who-btn.elsa:hover,.who-btn.elsa:focus-visible{border-color:#f29baf;background:#3a2640}.who-btn.emil:hover,.who-btn.emil:focus-visible{border-color:#87c4ff;background:#22334f}.import-banner{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(120deg,#2d3a6a,#3b2f6e);border:1px solid #8b85d6;border-radius:19px;padding:18px;margin:0 0 20px}.import-banner>span{font-size:34px;line-height:1}.import-banner h3{font-size:16px}.import-banner p{font-size:13px;color:#d6d3ea;margin-top:4px}.import-banner .primary{margin-top:12px}.code-row{margin-top:6px}.code-row input{letter-spacing:.3em;text-align:center;font-size:20px!important;font-weight:800}.local-logs{margin-top:20px;padding-top:16px;border-top:1px solid #373e59}.local-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;font-size:13px;color:#d6d8ea}.local-row .ghost{margin-top:0}.chip-group .chip{display:inline-flex;align-items:center;gap:6px;min-height:42px}.password-panel{margin-top:4px}
