:root{--bg:#f4efe9;--paper:#fffdf9;--paper2:#faf6f0;--ink:#2d2926;--muted:#786f68;--line:#e7ddd3;--wine:#7c3349;--wine2:#5d2638;--wine-soft:#f3e3e7;--sage:#e3eee7;--peach:#f7e4d8;--gold:#c59655;--shadow:0 24px 70px rgba(68,49,42,.12);font-family:"DM Sans",Arial,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;background:var(--bg)}button,input{font:inherit}button{border:0;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(124,51,73,.28);outline-offset:3px}.app{width:min(100%,1280px);min-height:100dvh;margin:0 auto;padding-bottom:calc(92px + env(safe-area-inset-bottom));overflow:hidden;background:var(--paper);box-shadow:var(--shadow)}
.staging-badge{position:fixed;right:14px;bottom:96px;z-index:120;padding:7px 11px;border:1px solid rgba(255,255,255,.55);border-radius:999px;color:#fff;background:#7c3349;box-shadow:0 8px 24px rgba(73,25,45,.24);font-size:10px;font-weight:700;letter-spacing:.12em;pointer-events:none}
.app-header{position:sticky;z-index:20;top:0;height:72px;padding:max(14px,env(safe-area-inset-top)) 18px 10px;display:grid;grid-template-columns:1fr auto 44px;gap:10px;align-items:center;border-bottom:1px solid var(--line);background:rgba(255,253,249,.94);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:baseline;gap:4px;width:max-content;padding:8px 0;background:transparent;letter-spacing:.08em}.brand em{font:italic 500 16px/1 Georgia,serif;color:var(--wine)}.brand span{font-size:13px}.profile-name{min-height:44px;padding:0 8px;background:transparent;font-size:13px;font-weight:500}.profile-name span{color:var(--muted)}.icon-button{width:44px;height:44px;display:grid;place-items:center;border-radius:15px;background:var(--paper2);font-size:20px}
.view{min-height:calc(100dvh - 164px);padding:14px 14px 30px}.page{animation:page-in .25s ease both}@keyframes page-in{from{opacity:0;transform:translateY(7px)}}.eyebrow{margin:0;color:var(--wine);font-size:10px;letter-spacing:.14em;font-weight:600}.serif,h1,h2,h3{font-family:"Fraunces",Georgia,serif;font-weight:500;letter-spacing:-.025em}h1,h2,h3,p{margin-top:0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:26px 4px 12px}.section-head h2{margin:4px 0 0;font-size:28px}.text-link{padding:8px;background:transparent;color:var(--wine);font-size:12px}
.hero{position:relative;min-height:520px;overflow:hidden;border-radius:30px;background:#d6c0ae}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,19,19,.12),transparent 58%)}.hero-top{position:absolute;z-index:2;left:20px;right:20px;top:18px;display:flex;justify-content:space-between;gap:12px;color:#fff;font-size:10px;letter-spacing:.08em;text-shadow:0 1px 10px rgba(0,0,0,.35)}.hero-top span:last-child{text-align:right}.hero-copy{position:absolute;z-index:2;left:18px;top:52px;width:min(68%,360px);padding:20px;border:1px solid rgba(255,255,255,.5);border-radius:24px;background:rgba(255,250,246,.82);backdrop-filter:blur(12px)}.hero-copy h1{margin:9px 0 8px;font-size:clamp(31px,8vw,48px);line-height:.96}.hero-copy p{margin:0;color:#665e58;font-size:12px;line-height:1.5}.weather{position:absolute;z-index:2;right:18px;top:52px;width:104px;min-height:146px;padding:14px;border:1px solid rgba(255,255,255,.45);border-radius:24px;background:rgba(239,232,226,.82);backdrop-filter:blur(10px)}.weather-icon{display:block;width:27px;height:27px;color:var(--wine)}.weather b{display:block;margin-top:7px;font:500 34px/1 Georgia,serif}.weather small{display:block;margin-top:5px;color:#746d67;font-size:9px;line-height:1.25}.weather-source{display:block;margin-top:8px;color:var(--wine);font-size:7px;line-height:1.25;text-decoration:underline;text-underline-offset:2px}.weather button{min-height:28px;margin-top:8px;padding:0;background:transparent;color:var(--wine);font-size:8px;text-decoration:underline;text-underline-offset:2px}.cosmic{position:absolute;z-index:2;left:12px;right:12px;bottom:14px;display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:6px}.cosmic>div{min-height:76px;padding:11px;border:1px solid rgba(255,255,255,.22);border-radius:18px;color:#fff;background:rgba(37,25,30,.86);backdrop-filter:blur(10px)}.cosmic b,.cosmic small{display:block}.cosmic b{margin-bottom:7px;color:#d7c6c7;font-size:8px;letter-spacing:.08em}.cosmic small{font-size:10px;line-height:1.35}
.day-switch{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:14px;padding:5px;border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(70,48,40,.08)}.day-switch button{min-height:70px;border-radius:18px;background:transparent;color:#7c6a5d;font-size:11px}.day-switch button.active{color:#fff;background:var(--wine);box-shadow:0 10px 25px rgba(124,51,73,.2)}.day-switch span,.day-switch small{display:block}.day-switch small{margin-top:5px;font-size:9px}
.home-grid{display:grid;gap:14px}.tasks-card,.module-card,.meal-section{border:1px solid var(--line);border-radius:28px;background:var(--paper2)}.tasks-card{padding:20px}.task-row{display:grid;grid-template-columns:30px 52px minmax(0,1fr) 24px;align-items:center;min-height:64px;border-top:1px solid var(--line);font-size:12px}.task-row:first-of-type{border-top:0}.task-row time{color:var(--wine);font-size:11px}.task-row b{font-weight:500}.task-check{width:24px;height:24px;display:grid;place-items:center;border:1.5px solid #cdbeb5;border-radius:50%;background:#fff}.task-check span{color:transparent!important;font-size:12px}.task-row.completed .task-check{border-color:var(--wine);background:var(--wine)}.task-row.completed .task-check span{color:#fff!important}.task-row.completed .task-copy b{text-decoration:line-through;color:var(--muted)}.task-copy{min-width:0;padding:10px 0;background:transparent;text-align:left}.task-copy b,.task-copy small{display:block}.task-copy small{margin-top:4px;color:var(--muted);font-size:9px}.task-arrow{width:24px;height:38px;background:transparent;color:var(--wine);font-size:17px}.task-empty{min-height:120px;display:grid;place-items:center;align-content:center;gap:8px;color:var(--muted);font-size:11px;text-align:center}.task-empty i{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--wine);background:var(--wine-soft);font-style:normal}.plan-day-button{width:100%;min-height:68px;margin-top:12px;padding:10px 12px;display:grid;grid-template-columns:42px 1fr 24px;align-items:center;gap:10px;border-radius:19px;color:#fff;background:linear-gradient(135deg,var(--wine),var(--wine2));text-align:left}.plan-day-button>i{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.15);font-style:normal;font-size:20px}.plan-day-button b,.plan-day-button small{display:block}.plan-day-button b{font-size:12px}.plan-day-button small{margin-top:3px;color:rgba(255,255,255,.7);font-size:9px}.plan-day-button em{font-style:normal;font-size:18px}
.module-card{position:relative;min-height:310px;overflow:hidden;padding:24px}.module-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.module-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,13,18,.94),rgba(27,13,18,.28) 65%,transparent)}.module-copy{position:relative;z-index:2;width:min(62%,360px);color:#fff}.module-copy .eyebrow{color:#e0b3bd}.module-copy h2{margin:12px 0 9px;color:#fff;font-size:34px;line-height:1}.module-copy p{color:rgba(255,255,255,.72);font-size:12px;line-height:1.55}.module-copy button{margin-top:18px;padding:12px 15px;border-radius:14px;color:var(--wine2);background:#fff}.style-card::after{background:linear-gradient(90deg,rgba(255,252,248,.97) 0 48%,rgba(255,252,248,.22) 76%,transparent)}.style-card .module-copy{color:var(--ink)}.style-card .module-copy h2{color:var(--ink)}.style-card .module-copy p{color:var(--muted)}.style-card .module-copy .eyebrow{color:var(--wine)}.style-card .module-copy button{color:#fff;background:var(--wine)}.sport-card{min-height:230px}.sport-card>img{object-position:right center}.sport-card::after{background:linear-gradient(90deg,#41202b 0 44%,rgba(65,32,43,.25) 74%,transparent)}
.meal-section{padding:20px}.meal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.meal{min-height:190px;overflow:hidden;border-radius:20px;background:#eee}.meal img{width:100%;height:112px;object-fit:cover}.meal div{padding:10px}.meal small,.meal b{display:block}.meal small{color:var(--wine);font-size:8px}.meal b{margin-top:4px;font-size:11px}
.bottom-nav{position:fixed;z-index:30;left:50%;bottom:0;width:min(100%,1280px);height:calc(78px + env(safe-area-inset-bottom));padding:9px 9px max(8px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(6,1fr);gap:4px;transform:translateX(-50%);border-top:1px solid var(--line);background:rgba(255,253,249,.96);backdrop-filter:blur(18px);box-shadow:0 -12px 34px rgba(72,49,40,.09)}.bottom-nav button{min-width:0;min-height:57px;padding:5px 1px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:transparent;color:var(--muted)}.bottom-nav i{font-style:normal;font-size:18px}.bottom-nav span{font-size:9px;white-space:nowrap}.bottom-nav button.active{color:#fff;background:var(--wine);box-shadow:0 9px 22px rgba(91,45,61,.22);transform:translateY(-1px)}.magic-word{font-family:"Segoe Script","Brush Script MT",cursive!important;font-style:italic}
.drawer-backdrop,.sheet-backdrop{position:fixed;z-index:60;inset:0;background:rgba(31,25,23,.4);backdrop-filter:blur(3px);opacity:0;transition:.22s}.drawer-backdrop.open,.sheet-backdrop.open{opacity:1}.drawer{position:fixed;z-index:61;top:0;right:0;bottom:0;width:min(420px,92vw);padding:22px 17px calc(22px + env(safe-area-inset-bottom));overflow:auto;background:var(--paper);box-shadow:-24px 0 54px rgba(47,34,30,.18);transform:translateX(103%);transition:transform .25s ease}.drawer.open{transform:translateX(0)}.drawer>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.drawer>header small{color:var(--wine);font-size:9px;letter-spacing:.13em}.drawer h2{margin:5px 0 0;font-size:28px}.drawer-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.drawer-grid button{min-height:112px;padding:14px;border-radius:22px;background:var(--paper2);text-align:left;display:flex;flex-direction:column;align-items:flex-start}.drawer-grid button>i{font-style:normal;font-size:20px;color:var(--wine)}.drawer-grid b{margin-top:auto;font-size:14px;font-weight:500}.drawer-grid small{margin-top:3px;color:var(--muted);font-size:10px}.drawer-grid button.active{color:#fff;background:var(--wine);box-shadow:0 14px 30px rgba(91,45,61,.22)}.drawer-grid button.active i,.drawer-grid button.active small{color:#fff}.settings-row{width:100%;min-height:67px;margin-top:13px;padding:0 13px;border-radius:19px;display:grid;grid-template-columns:32px 1fr 18px;align-items:center;text-align:left;gap:8px;background:var(--wine-soft)}.settings-row i{font-style:normal;color:var(--wine)}.settings-row b,.settings-row small{display:block}.settings-row b{font-size:13px}.settings-row small{margin-top:3px;color:var(--muted);font-size:10px}
.module-page{display:grid;gap:16px}.module-hero{position:relative;min-height:330px;overflow:hidden;padding:28px;border-radius:30px;background:var(--wine2)}.module-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.module-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,15,23,.92),rgba(35,15,23,.22))}.module-hero>div{position:relative;z-index:2;max-width:520px;color:#fff}.module-hero h1{margin:12px 0;font-size:clamp(38px,8vw,64px);line-height:.95;color:#fff}.module-hero p{max-width:48ch;color:rgba(255,255,255,.74);line-height:1.6}.content-grid{display:grid;gap:12px}.content-card{padding:20px;border:1px solid var(--line);border-radius:24px;background:var(--paper2)}.content-card i{display:grid;width:40px;height:40px;place-items:center;border-radius:14px;background:var(--wine-soft);color:var(--wine);font-style:normal}.content-card h3{margin:14px 0 6px;font-size:21px}.content-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.content-card button{margin-top:15px;color:var(--wine);background:transparent;font-size:12px}.placeholder{min-height:60vh;display:grid;place-items:center;text-align:center}.placeholder>div{max-width:460px}.placeholder i{display:grid;width:74px;height:74px;margin:0 auto 20px;place-items:center;border-radius:25px;background:var(--wine-soft);color:var(--wine);font-style:normal;font-size:30px}.settings-form{display:grid;gap:14px;max-width:700px}.settings-form label{display:grid;gap:7px;color:var(--muted);font-size:11px}.settings-form input{min-height:50px;padding:0 14px;border:1px solid var(--line);border-radius:15px;background:#fff;font-size:14px}.primary-button,.ghost-button{min-height:48px;padding:0 18px;border-radius:15px}.primary-button{color:#fff;background:var(--wine)}.ghost-button{background:transparent;color:var(--muted)}
.sheet{position:fixed;z-index:71;left:50%;bottom:0;width:min(620px,calc(100% - 16px));max-height:92dvh;padding:19px;border-radius:28px 28px 0 0;background:var(--paper);box-shadow:0 -28px 70px rgba(36,24,28,.24);transform:translate(-50%,105%);transition:transform .26s ease}.sheet.open{transform:translate(-50%,0)}.sheet>header{display:grid;grid-template-columns:1fr 44px;align-items:center}.sheet>header>div{display:flex;justify-content:space-between;padding-right:12px}.sheet>header small{color:var(--wine);letter-spacing:.12em}.progress{height:4px;margin-top:14px;border-radius:999px;overflow:hidden;background:var(--line)}.progress i{display:block;width:33.33%;height:100%;background:var(--wine);transition:width .2s}.sheet-body{min-height:280px;padding:26px 4px}.sheet-body h2{margin:9px 0;font-size:34px}.sheet-body p{color:var(--muted);line-height:1.6}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.choice-grid button{min-height:66px;padding:12px;border:1px solid var(--line);border-radius:17px;background:var(--paper2);text-align:left}.choice-grid button.selected{color:#fff;border-color:var(--wine);background:var(--wine)}.sheet>footer{display:flex;justify-content:space-between;gap:8px}.toast{position:fixed;z-index:90;left:50%;bottom:100px;max-width:calc(100% - 30px);padding:11px 15px;border-radius:14px;color:#fff;background:#31282a;box-shadow:0 14px 35px rgba(0,0,0,.2);transform:translate(-50%,18px);opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:359px){.app-header{grid-template-columns:minmax(76px,1fr) auto 42px;padding-inline:12px;gap:5px}.profile-name{max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view{padding-inline:8px}.hero-copy{width:calc(100% - 116px);padding:13px}.hero-copy h1{font-size:26px}.weather{width:86px;padding:11px}.cosmic>div{padding:8px}.bottom-nav{padding-inline:4px}.bottom-nav span{font-size:8px}.drawer-grid{grid-template-columns:1fr}.meal-grid{grid-template-columns:1fr}.meal{display:grid;grid-template-columns:112px 1fr;min-height:112px}.meal img{height:112px}}
@media(min-width:600px){body{padding:24px 24px 105px}.app{border-radius:32px;min-height:calc(100dvh - 48px)}.app-header{height:78px;padding-inline:24px;border-radius:32px 32px 0 0}.view{padding:18px 20px 36px}.home-grid{grid-template-columns:repeat(12,1fr);gap:18px}.hero,.day-switch,.sport-card{grid-column:1/-1}.tasks-card{grid-column:span 7}.magic-card{grid-column:span 5}.style-card{grid-column:span 5}.meal-section{grid-column:span 7}.bottom-nav{width:calc(100% - 48px);max-width:1280px}.content-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){body{padding:30px 32px 110px}.app{border-radius:36px}.app-header{height:84px;padding-inline:32px}.view{padding:22px 28px 44px}.hero{min-height:540px}.hero-copy{left:28px;top:64px;padding:25px}.weather{right:28px;top:64px}.cosmic{left:24px;right:24px;bottom:22px;gap:12px}.bottom-nav{width:calc(100% - 64px)}.module-page{grid-template-columns:1.2fr .8fr}.module-hero{grid-row:span 2;min-height:620px}.module-page .content-grid{grid-template-columns:1fr}.module-page .section-head{align-self:end}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Portrait-aware art direction: keep the face visible instead of hiding it under the cards. */
.hero>img{object-position:center top}
@media(max-width:599px){.hero-copy{width:54%;padding:14px;background:rgba(255,250,246,.7)}.hero-copy h1{font-size:27px}.hero-copy p{font-size:10px;line-height:1.4}.weather{top:238px;background:rgba(239,232,226,.68)}}

/* Settings and data controls share the same production shell. */
.settings-page{max-width:980px;margin:0 auto}.profile-hero{display:flex;align-items:center;gap:16px;padding:12px 4px 24px}.profile-avatar{width:70px;height:70px;display:grid;place-items:center;border-radius:24px;color:#fff;background:linear-gradient(145deg,var(--wine),#b77a89);font:500 23px/1 "Fraunces",serif}.profile-hero h1{margin:4px 0 3px;font-size:36px}.profile-hero span{color:var(--muted);font-size:11px}.settings-layout{display:grid;gap:14px}.settings-block{padding:20px;border:1px solid var(--line);border-radius:26px;background:var(--paper2)}.settings-block>h2{margin:0 0 10px;font-size:23px}.setting-row{width:100%;min-height:68px;padding:10px 4px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;border-top:1px solid var(--line);background:transparent;text-align:left}.setting-row:first-of-type{border-top:0}.setting-row>i{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:var(--wine-soft);color:var(--wine);font-style:normal}.setting-row b,.setting-row small{display:block}.setting-row b{font-size:13px;font-weight:600}.setting-row small{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.35}.setting-row>em{color:var(--wine);font-style:normal}.setting-row.danger b,.setting-row.danger>em{color:#a23f4b}.locale-choice,.theme-choice{display:flex;flex-wrap:wrap;gap:7px}.locale-choice button,.theme-choice button{min-height:40px;padding:0 13px;border:1px solid var(--line);border-radius:13px;background:#fff;font-size:11px}.locale-choice button.active,.theme-choice button.active{color:#fff;border-color:var(--wine);background:var(--wine)}.switch-control{position:relative;width:47px;height:28px}.switch-control input{position:absolute;opacity:0}.switch-control span{position:absolute;inset:0;border-radius:999px;background:#d8d0c9;transition:.2s}.switch-control span::after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.16);transition:.2s}.switch-control input:checked+span{background:var(--wine)}.switch-control input:checked+span::after{transform:translateX(19px)}.transfer-box{margin-top:10px;padding:14px;border-radius:17px;background:#fff}.transfer-code{display:flex;align-items:center;justify-content:space-between;gap:10px}.transfer-code strong{font:600 25px/1 "DM Sans",sans-serif;letter-spacing:.16em;color:var(--wine)}.transfer-box p{margin:8px 0 0;color:var(--muted);font-size:10px}.transfer-import{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.transfer-import input{min-width:0;min-height:45px;padding:0 12px;border:1px solid var(--line);border-radius:13px;text-transform:uppercase;letter-spacing:.12em}.transfer-import button{padding:0 15px;border-radius:13px;color:#fff;background:var(--wine)}.module-settings{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.module-setting{min-height:72px;padding:12px;border-radius:17px;background:#fff;text-align:left}.module-setting b,.module-setting small{display:block}.module-setting b{font-size:12px}.module-setting small{margin-top:4px;color:var(--muted);font-size:9px}.version-label{margin:16px 0 0;color:var(--muted);text-align:center;font-size:10px}
.modal-backdrop{position:fixed;z-index:100;inset:0;padding:18px;display:grid;place-items:center;background:rgba(35,27,30,.46);backdrop-filter:blur(6px)}.data-modal{position:relative;width:min(620px,100%);max-height:88dvh;padding:25px;overflow:auto;border-radius:28px;background:var(--paper);box-shadow:0 28px 75px rgba(35,24,28,.24)}.data-modal h2{margin:7px 45px 12px 0;font-size:31px}.modal-close{position:absolute;right:18px;top:18px}.data-modal pre{max-height:48vh;margin:16px 0;padding:15px;overflow:auto;border-radius:17px;background:#2f272a;color:#f8edf0;font:11px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.modal-note,.data-modal>p{color:var(--muted);font-size:12px;line-height:1.55}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.danger-button{min-height:48px;padding:0 18px;border-radius:15px;color:#fff;background:#a23f4b}
html[data-theme="peach"]{--bg:#f8eee9;--paper:#fffaf6;--paper2:#fcf1eb;--wine:#985a59;--wine2:#663a3b;--wine-soft:#f6dfda}html[data-theme="mint"]{--bg:#eef4f0;--paper:#fbfefa;--paper2:#f1f7f3;--wine:#557561;--wine2:#334d40;--wine-soft:#dfece3}html[data-theme="marsala"]{--bg:#f3ecee;--paper:#fffafb;--paper2:#f8f0f2;--wine:#7c3349;--wine2:#4b202e;--wine-soft:#efdde2}
@media(min-width:760px){.settings-layout{grid-template-columns:1fr 1fr}.settings-block.wide{grid-column:1/-1}}
@media(max-width:480px){.settings-block{padding:16px}.module-settings{grid-template-columns:1fr}.transfer-import{grid-template-columns:1fr}.transfer-import button{min-height:44px}.profile-avatar{width:58px;height:58px;border-radius:19px}.profile-hero h1{font-size:30px}}
[hidden]{display:none!important}.setting-row>input{width:min(300px,42vw);min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:13px;background:#fff}.theme-choice,.locale-choice{justify-content:flex-end}
@media(max-width:599px){.setting-row>input,.setting-row>.theme-choice,.setting-row>.locale-choice{grid-column:2/-1;width:100%}.setting-row>.theme-choice,.setting-row>.locale-choice{justify-content:flex-start}.theme-choice button{flex:1 1 calc(50% - 7px)}}

/* Health is a real local workspace, not a decorative module card. */
.health-landing{display:grid;gap:18px}.health-main-hero{min-height:520px}.health-space{min-width:0}.health-entry{display:flex;flex-direction:column}.health-entry button{margin-top:auto}.health-tool-page{max-width:980px;margin:0 auto}.back-link{margin:2px 0 16px;padding:9px 12px;border-radius:12px;color:var(--wine);background:var(--wine-soft)}.health-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.health-title h1,.health-empty h1{margin:7px 0 9px;font-size:clamp(40px,7vw,66px);line-height:.98}.health-title p,.health-empty>p{max-width:60ch;color:var(--muted);line-height:1.55}.health-empty{max-width:780px;margin:0 auto;padding:28px;border:1px solid var(--line);border-radius:30px;background:var(--paper2);text-align:center}.health-orbit{width:126px;height:126px;margin:0 auto 20px;display:grid;place-items:center;border:14px solid var(--wine-soft);border-right-color:var(--wine);border-radius:50%;transform:rotate(-25deg)}.health-orbit span{font:500 36px/1 "Fraunces",serif;transform:rotate(25deg)}.health-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;text-align:left}.health-form label{display:grid;gap:7px;color:var(--muted);font-size:10px;font-weight:600}.health-form label>span{margin-left:2px}.health-form input,.health-form select,.health-form textarea{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink)}.health-form textarea{min-height:100px;resize:vertical}.health-form .wide{grid-column:1/-1}.health-consent{grid-template-columns:24px 1fr;align-items:center}.health-consent input{min-height:auto;width:20px;height:20px}.health-consent span{font-weight:500;line-height:1.45}.health-disclaimer{display:block;margin:16px auto 0;max-width:760px;color:var(--muted);font-size:10px;line-height:1.5;text-align:center}.health-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.health-stat-grid article{padding:18px;border:1px solid var(--line);border-radius:23px;background:var(--paper2)}.health-stat-grid small,.health-stat-grid b,.health-stat-grid span{display:block}.health-stat-grid small{color:var(--wine);font-size:9px;letter-spacing:.1em}.health-stat-grid b{margin:9px 0 3px;font:500 31px/1 "Fraunces",serif}.health-stat-grid span{color:var(--muted);font-size:10px}.health-panel{margin-top:14px;padding:20px;border:1px solid var(--line);border-radius:27px;background:var(--paper2)}.health-panel>h2{margin-bottom:16px;font-size:28px}.health-panel .section-head{margin:0 0 14px}.health-calendar-week,.health-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.health-calendar-week{margin-bottom:7px;color:var(--muted);font-size:8px;text-align:center}.health-calendar button{position:relative;aspect-ratio:1;min-height:38px;border-radius:12px;background:#fff;color:var(--ink)}.health-calendar button.outside{opacity:.28}.health-calendar button.today{outline:2px solid var(--wine)}.health-calendar button.predicted{background:var(--wine-soft)}.health-calendar button.period{color:#fff;background:var(--wine)}.health-calendar button.logged i{position:absolute;left:50%;bottom:4px;width:4px;height:4px;border-radius:50%;background:currentColor;transform:translateX(-50%)}.calendar-legend{display:flex;gap:16px;margin-top:12px;color:var(--muted);font-size:9px}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:9px;height:9px;border-radius:50%;background:var(--wine)}.calendar-legend i.forecast{background:var(--wine-soft)}.cycle-log-form{display:grid;gap:15px}.cycle-log-form>input{width:min(220px,100%);min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:13px;background:#fff}.cycle-log-form fieldset{min-width:0;padding:0;border:0}.cycle-log-form legend,.note-field span{margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:600}.choice-row{display:flex;flex-wrap:wrap;gap:7px}.choice-row label{position:relative}.choice-row input{position:absolute;opacity:0}.choice-row span{display:block;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:10px}.choice-row input:checked+span{color:#fff;border-color:var(--wine);background:var(--wine)}.note-field{display:grid}.note-field textarea{min-height:88px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;resize:vertical}.medication-add{display:grid;grid-template-columns:1fr 130px auto;gap:8px}.medication-add input{min-width:0;min-height:46px;padding:0 12px;border:1px solid var(--line);border-radius:13px;background:#fff}.medication-add button{padding:0 15px;border-radius:13px;color:#fff;background:var(--wine)}.medication-list{display:grid;gap:8px;margin-top:13px}.medication-list>div{min-height:58px;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:16px;background:#fff}.medication-list label{display:flex;align-items:center;gap:10px}.medication-list input{width:20px;height:20px}.medication-list b,.medication-list small{display:block}.medication-list small{margin-top:3px;color:var(--muted)}.medication-list button{width:36px;height:36px;border-radius:12px;color:#a23f4b;background:#f8e8e9}.medication-list>p,.saved-checkin{margin:0;color:var(--muted);font-size:11px}.saved-checkin{margin-top:15px;color:var(--wine)}.feature-modal>p:not(.eyebrow){font-size:14px;line-height:1.6}.feature-modal>.primary-button{margin-top:15px}
@media(min-width:1024px){.health-landing{grid-template-columns:1.25fr .85fr}.health-main-hero{min-height:720px}.health-space .content-grid{grid-template-columns:1fr}.health-space .section-head{margin-top:24px}}
@media(max-width:599px){.health-main-hero{min-height:520px}.health-title{display:block}.health-title>.ghost-button{margin-top:10px}.health-form,.health-stat-grid{grid-template-columns:1fr}.health-form .wide{grid-column:auto}.health-empty,.health-panel{padding:17px}.health-calendar-week,.health-calendar{gap:3px}.health-calendar button{min-height:35px;border-radius:10px}.medication-add{grid-template-columns:1fr 105px}.medication-add button{grid-column:1/-1;min-height:44px}}

/* Apple-inspired day planner, adapted to the warm My Verse visual system. */
.planner-page{max-width:1180px;margin:0 auto}.planner-hero{padding:10px 4px 24px;display:flex;align-items:end;justify-content:space-between;gap:24px}.planner-hero h1{margin:8px 0 9px;font-size:clamp(42px,7vw,72px);line-height:.92}.planner-hero p{max-width:620px;margin:0;color:var(--muted);font-size:12px;line-height:1.55}.planner-hero .back-link{margin:0 0 18px}.planner-hero-actions{display:flex;gap:8px;flex:0 0 auto}.planner-layout{display:grid;grid-template-columns:minmax(280px,.92fr) minmax(330px,1.12fr) minmax(280px,.96fr);gap:14px;align-items:start}.planner-calendar-card,.planner-day-card,.planner-editor-card{min-width:0;padding:19px;border:1px solid var(--line);border-radius:28px;background:var(--paper2)}.planner-calendar-card{position:sticky;top:106px}.planner-month-head{height:44px;display:grid;grid-template-columns:42px 1fr 42px;align-items:center}.planner-month-head h2{margin:0;text-align:center;text-transform:capitalize;font-size:24px}.planner-month-head button{width:38px;height:38px;border-radius:50%;color:var(--wine);background:#fff;font-size:24px}.planner-weekdays,.planner-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.planner-weekdays{margin:13px 0 7px;color:var(--muted);font-size:8px;text-align:center}.planner-calendar button{position:relative;aspect-ratio:1;min-width:0;border-radius:50%;background:transparent;font-size:11px}.planner-calendar button.outside{opacity:.3}.planner-calendar button.today{color:var(--wine);font-weight:700}.planner-calendar button.today::after{content:"";position:absolute;inset:3px;border:1px solid var(--wine);border-radius:50%}.planner-calendar button.selected{color:#fff;background:var(--wine);box-shadow:0 7px 15px rgba(124,51,73,.22)}.planner-calendar button.selected::after{display:none}.planner-calendar button>i{position:absolute;left:50%;bottom:4px;display:flex;gap:2px;transform:translateX(-50%)}.planner-calendar button>i b{width:3px;height:3px;border-radius:50%;background:var(--wine)}.planner-calendar button.selected>i b{background:#fff}.planner-calendar button>i b.event,.planner-legend i.event{background:#b5754d}.planner-calendar button>i b.task,.planner-legend i.task{background:var(--wine)}.planner-calendar button>i b.reminder,.planner-legend i.reminder{background:#5f7e6e}.planner-legend{margin-top:16px;display:flex;flex-wrap:wrap;gap:9px;color:var(--muted);font-size:8px}.planner-legend span{display:flex;align-items:center;gap:5px}.planner-legend i{width:7px;height:7px;border-radius:50%}.planner-day-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:8px}.planner-day-head h2{margin:6px 0 0;text-transform:capitalize;font-size:28px}.planner-day-head>span{padding:7px 9px;border-radius:999px;color:var(--wine);background:var(--wine-soft);font-size:8px;white-space:nowrap}.planner-timeline .task-row{min-height:72px}.planner-timeline .task-row:first-child{border-top:0}.planner-add-inline{width:100%;min-height:48px;margin-top:12px;border:1px dashed #cdbeb5;border-radius:15px;color:var(--wine);background:transparent}.planner-editor-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.planner-editor-head h2{margin:6px 0 15px;font-size:28px}.planner-editor-head>button{width:38px;height:38px;border-radius:50%;background:#fff;font-size:18px}.planner-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.planner-form label{display:grid;gap:6px;color:var(--muted);font-size:9px;font-weight:600}.planner-form .wide{grid-column:1/-1}.planner-form input,.planner-form select,.planner-form textarea{width:100%;min-width:0;min-height:46px;padding:10px 11px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#fff}.planner-form textarea{min-height:92px;resize:vertical;line-height:1.45}.planner-form .primary-button{margin-top:3px}.planner-editor-card{position:sticky;top:106px}.planner-day-card .task-empty{min-height:260px}
.planner-form .wheel-field{width:100%;min-height:46px;padding:0 11px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#fff;text-align:left}.planner-form .wheel-field b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500}.planner-form .wheel-field i{color:var(--wine);font-style:normal;font-size:15px}.wheel-picker-backdrop[hidden]{display:none}.wheel-picker-backdrop{position:fixed;z-index:140;inset:0;background:rgba(35,27,30,.32);backdrop-filter:blur(5px);opacity:0;transition:opacity .2s}.wheel-picker-backdrop.open{opacity:1}.wheel-picker-sheet{position:absolute;left:50%;bottom:0;width:min(560px,100%);padding:0 18px max(18px,env(safe-area-inset-bottom));border-radius:30px 30px 0 0;background:rgba(255,253,249,.98);box-shadow:0 -24px 70px rgba(42,28,33,.22);transform:translate(-50%,105%);transition:transform .22s ease}.wheel-picker-backdrop.open .wheel-picker-sheet{transform:translate(-50%,0)}.wheel-picker-sheet>header{min-height:78px;display:grid;grid-template-columns:78px 1fr 78px;align-items:center;border-bottom:1px solid var(--line)}.wheel-picker-sheet>header>button{min-height:44px;color:var(--wine);background:transparent;font-size:12px}.wheel-picker-sheet>header>button:last-child{font-weight:700}.wheel-picker-sheet>header>div{text-align:center}.wheel-picker-sheet h2{margin:0;font:500 22px/1.1 "Fraunces",serif}.wheel-picker-sheet header span{display:block;margin-top:5px;color:var(--muted);font-size:9px}.wheel-picker-stage{position:relative;height:244px;display:grid;align-items:center;justify-content:center;gap:8px;overflow:hidden}.wheel-picker-stage.date-wheel{grid-template-columns:78px minmax(142px,1fr) 92px}.wheel-picker-stage.time-wheel{grid-template-columns:110px 16px 110px}.wheel-picker-stage::before{content:"";position:absolute;z-index:0;left:0;right:0;top:98px;height:48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:12px;background:var(--wine-soft);pointer-events:none}.wheel-column-wrap{position:relative;z-index:1;min-width:0}.wheel-column-wrap>small{position:absolute;z-index:2;left:0;right:0;top:7px;color:var(--muted);font-size:8px;text-align:center;pointer-events:none}.wheel-column{height:244px;padding:98px 0;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none;-webkit-mask-image:linear-gradient(transparent,#000 32%,#000 68%,transparent)}.wheel-column::-webkit-scrollbar{display:none}.wheel-column button{width:100%;height:48px;display:block;scroll-snap-align:center;color:var(--ink);background:transparent;font-size:20px;opacity:.28;transition:opacity .12s,transform .12s}.wheel-column button.selected{opacity:1;transform:scale(1.04);font-weight:600}.wheel-colon{position:relative;z-index:2;font:600 22px/1 "DM Sans",sans-serif;text-align:center}.wheel-picker-sheet>p{margin:0;color:var(--muted);font-size:9px;text-align:center}
.wheel-column{touch-action:pan-y}
@media(max-width:1023px){.planner-layout{grid-template-columns:1fr 1.15fr}.planner-editor-card{position:static;grid-column:1/-1}.planner-calendar-card{position:static}}
@media(max-width:680px){.planner-hero{display:block;padding-top:2px}.planner-hero-actions{margin-top:18px}.planner-hero-actions button{flex:1}.planner-layout{grid-template-columns:1fr}.planner-calendar-card,.planner-day-card,.planner-editor-card{padding:16px;border-radius:24px}.planner-editor-card{grid-column:auto}.planner-calendar button{font-size:10px}.planner-day-head{display:block}.planner-day-head>span{display:inline-block;margin-top:9px}.planner-form{grid-template-columns:1fr}.planner-form .wide{grid-column:auto}.planner-page .task-row{grid-template-columns:29px 45px minmax(0,1fr) 22px}.planner-hero h1{font-size:48px}}

/* Magic onboarding: original zodiac orbit rebuilt as crisp UI art. */
.onboarding-art.magic-legacy-art{container-type:inline-size}.onboarding-art.magic-legacy-art::before{content:none!important}.magic-zodiac-wheel[hidden]{display:none}.magic-zodiac-wheel{--orbit-radius:min(145px,40cqi);position:absolute;z-index:1;left:50%;top:46%;width:min(360px,94%);aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.2);border-radius:50%;background:radial-gradient(circle at 50% 48%,rgba(228,171,201,.18),rgba(107,45,79,.08) 48%,transparent 72%);box-shadow:0 28px 70px rgba(11,5,18,.28),inset 0 0 45px rgba(255,221,213,.05)}.zodiac-rings,.zodiac-rings::before,.zodiac-rings::after{position:absolute;border:1px solid rgba(255,255,255,.13);border-radius:50%;content:""}.zodiac-rings{inset:15%}.zodiac-rings::before{inset:22%}.zodiac-rings::after{inset:42%;border-style:dashed}.zodiac-sign{--angle:calc(var(--z)*30deg);position:absolute;z-index:2;left:50%;top:50%;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,226,214,.25);border-radius:12px;color:#ffe3d7;background:linear-gradient(145deg,rgba(150,82,136,.95),rgba(81,44,106,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 9px 20px rgba(20,5,29,.3);font:normal 21px/1 "Times New Roman",serif;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(var(--orbit-radius) * -1)) rotate(calc(var(--angle)*-1))}.zodiac-core{position:absolute;z-index:3;left:50%;top:50%;width:100px;height:100px;display:grid;place-items:center;align-content:center;border:1px solid rgba(255,229,216,.22);border-radius:50%;color:#f8d9cf;background:linear-gradient(145deg,rgba(38,15,49,.9),rgba(90,40,70,.82));box-shadow:0 0 0 11px rgba(255,255,255,.035),0 18px 42px rgba(12,4,18,.32);transform:translate(-50%,-50%)}.zodiac-core b{font:42px/1 Georgia,serif}.zodiac-core small{margin-top:3px;color:#fff;font-size:7px;font-weight:800;letter-spacing:.14em;text-align:center;line-height:1.25}.magic-legacy-art .onboarding-art-copy{z-index:3}
.magic-number-orbit[hidden]{display:none}.magic-number-orbit{position:absolute;z-index:1;left:50%;top:45%;width:min(330px,90%);aspect-ratio:1;border:1px solid rgba(255,255,255,.15);border-radius:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 52px rgba(255,255,255,.025),0 28px 70px rgba(20,5,24,.24)}.magic-number-orbit::before,.magic-number-orbit::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.14);border-radius:50%}.magic-number-orbit::before{inset:16%}.magic-number-orbit::after{inset:34%;border-style:dashed}.magic-number-orbit span,.magic-number-orbit i,.magic-number-orbit b{position:absolute;z-index:2;display:grid;place-items:center;border-radius:50%;font-family:Georgia,serif;font-style:normal}.magic-number-orbit b{left:50%;top:50%;width:min(146px,46cqi);height:min(146px,46cqi);color:#4e2949;background:linear-gradient(145deg,#ffe3cf,#f1c3ca);font-size:clamp(52px,19cqi,75px);box-shadow:0 25px 65px rgba(15,5,22,.3),inset 0 0 0 11px rgba(255,255,255,.26);transform:translate(-50%,-50%)}.magic-number-orbit span{width:52px;height:52px;border:1px solid rgba(255,255,255,.24);color:#fff8f1;background:rgba(255,255,255,.09);font-size:24px}.magic-number-orbit span:nth-child(1){left:7%;top:11%}.magic-number-orbit span:nth-child(2){right:7%;top:16%}.magic-number-orbit span:nth-child(3){left:5%;bottom:13%}.magic-number-orbit span:nth-child(4){right:6%;bottom:10%}.magic-number-orbit i{width:42px;height:42px;color:#f5d3c7;background:rgba(26,9,32,.34);font-size:15px}.magic-number-orbit i:nth-of-type(1){left:2%;top:48%}.magic-number-orbit i:nth-of-type(2){right:2%;top:48%}
.rich-onboarding[data-module="magic"][data-step="1"] .onboarding-form-shell .sheet-body{padding:24px 30px}.rich-onboarding[data-module="magic"][data-step="1"] .onboarding-form-shell .sheet-body>h2{margin:8px 0 8px;font-size:clamp(36px,4vw,48px)}.rich-onboarding[data-module="magic"][data-step="1"] .onboarding-form-shell .sheet-body>p:not(.eyebrow){font-size:11px;line-height:1.45}.magic-number-result{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:10px;margin:12px 0}.magic-number-card,.magic-calculation{min-width:0;min-height:104px;border:1px solid #ead9d1;border-radius:18px}.magic-number-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:11px;align-items:center;padding:12px;background:#f7e9e5}.magic-number-card>span{width:62px;height:62px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#563058;font:32px/1 Georgia,serif}.magic-number-card small,.magic-number-card b{display:block}.magic-number-card small{color:#945f70;font-size:6px;font-weight:800;letter-spacing:.08em}.magic-number-card b{margin:4px 0;font:16px/1.1 Georgia,serif}.magic-number-card p{margin:0;color:var(--muted);font-size:7px;line-height:1.35}.magic-calculation{padding:12px;background:#fff}.magic-calculation span{display:block;margin-bottom:6px;color:#956171;font-size:7px;font-weight:800;letter-spacing:.09em}.magic-calculation b{display:block;font:600 10px/1.45 Arial,sans-serif;word-spacing:1px}.magic-calculation small{display:block;margin-top:6px;color:var(--muted);font-size:7px;line-height:1.35}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-numerology{gap:8px;margin-top:10px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-numerology button{min-height:68px;padding:9px;grid-template-columns:36px minmax(0,1fr) 18px;gap:8px;border-radius:16px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-numerology button>i{width:34px;height:34px;border-radius:11px;font-size:16px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-numerology b{font-size:10px;line-height:1.25}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-numerology small{font-size:7px;line-height:1.25}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-numerology em{width:17px;height:17px;font-size:8px}
@media(max-width:900px) and (min-width:721px){.rich-onboarding[data-module="magic"][data-step="1"] .onboarding-form-shell .sheet-body{padding:20px}.magic-number-result{grid-template-columns:1fr 1fr}.magic-number-card{grid-template-columns:52px minmax(0,1fr);gap:8px;padding:9px}.magic-number-card>span{width:50px;height:50px;font-size:27px}.magic-number-card p,.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-numerology small{display:none}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-numerology button{min-height:60px;grid-template-columns:30px minmax(0,1fr) 16px;padding:7px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-numerology button>i{width:29px;height:29px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-numerology b{font-size:9px}}
@media(max-width:720px){.magic-number-orbit{left:20%;top:51%;width:176px}.magic-number-orbit b{width:72px;height:72px;font-size:38px;box-shadow:0 13px 32px rgba(15,5,22,.28),inset 0 0 0 7px rgba(255,255,255,.25)}.magic-number-orbit span{width:28px;height:28px;font-size:14px}.magic-number-orbit i{width:24px;height:24px;font-size:9px}.rich-onboarding[data-module="magic"][data-step="1"] .onboarding-form-shell .sheet-body{padding:18px 17px}.magic-number-result{grid-template-columns:1fr}.magic-number-card,.magic-calculation{min-height:92px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-numerology{grid-template-columns:1fr}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-numerology small{display:block}}
.magic-tarot-art[hidden]{display:none}.magic-tarot-art{position:absolute;z-index:2;left:50%;top:44%;width:min(330px,92%);display:flex;align-items:center;justify-content:center;gap:9px;transform:translate(-50%,-50%);perspective:900px}.magic-tarot-art article{position:relative;width:calc((100% - 18px)/3);height:174px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px solid #eecbbb;outline:1px solid rgba(255,255,255,.28);outline-offset:-9px;border-radius:16px;color:#fff8f3;background:radial-gradient(circle at 50% 34%,rgba(230,174,205,.32),transparent 23%),linear-gradient(155deg,#6a3d70,#26152f);box-shadow:0 24px 40px rgba(13,5,20,.32);transform:rotate(-5deg) translateY(9px)}.magic-tarot-art article:nth-child(2){z-index:2;height:192px;transform:translateY(-12px) scale(1.03)}.magic-tarot-art article:nth-child(3){transform:rotate(5deg) translateY(9px)}.magic-tarot-art small{position:absolute;top:16px;font-size:8px;letter-spacing:.12em}.magic-tarot-art b{font:44px/1 Georgia,serif}.magic-tarot-art em{position:absolute;bottom:18px;font-size:7px;font-style:normal;font-weight:800;letter-spacing:.08em}
.rich-onboarding[data-module="magic"][data-step="2"] .onboarding-form-shell .sheet-body{padding:21px 28px}.rich-onboarding[data-module="magic"][data-step="2"] .onboarding-form-shell .sheet-body>h2{margin:7px 0 8px;font-size:clamp(36px,4vw,48px)}.rich-onboarding[data-module="magic"][data-step="2"] .onboarding-form-shell .sheet-body>p:not(.eyebrow){font-size:11px;line-height:1.45}.rich-onboarding[data-module="magic"][data-step="2"] .onboarding-question{margin-top:12px}.rich-onboarding[data-module="magic"][data-step="2"] .onboarding-question>b{display:block;font-size:10px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tarot,.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tone{gap:7px;margin-top:7px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tarot button,.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tone button{min-height:58px;padding:7px;grid-template-columns:34px minmax(0,1fr) 17px;gap:7px;border-radius:15px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tarot button>i,.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tone button>i{width:32px;height:32px;border-radius:10px;background:#f0e5ee}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-numerology svg,.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tarot svg,.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tone svg{width:23px;height:23px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-numerology svg .fill,.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tarot svg .fill,.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tone svg .fill{fill:currentColor;stroke:none}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tarot b,.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tone b{font-size:9px;line-height:1.25}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tarot small,.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tone small{font-size:7px;line-height:1.2}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tone{grid-template-columns:repeat(3,minmax(0,1fr))}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tone button{grid-template-columns:29px minmax(0,1fr) 15px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tone button>i{width:28px;height:28px}.rich-onboarding[data-module="magic"][data-step="2"] .onboarding-note{margin:11px 0 0;padding:9px 11px;border-radius:13px;color:var(--muted);background:#f1e9ed;font-size:8px;line-height:1.35}
@media(max-width:900px) and (min-width:721px){.rich-onboarding[data-module="magic"][data-step="2"] .onboarding-form-shell .sheet-body{padding:19px 20px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tarot small,.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tone small{display:none}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tarot button{min-height:54px;grid-template-columns:30px minmax(0,1fr) 15px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tarot button>i{width:29px;height:29px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tone button{min-height:52px;padding:6px;grid-template-columns:25px minmax(0,1fr) 14px;gap:5px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tone button>i{width:25px;height:25px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tone svg{width:19px;height:19px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tone b{font-size:8px}}
@media(max-width:720px){.magic-tarot-art{left:20%;top:51%;width:185px;gap:5px}.magic-tarot-art article{width:58px;height:104px;border-width:2px;border-radius:10px;outline-offset:-6px}.magic-tarot-art article:nth-child(2){height:116px}.magic-tarot-art small{top:10px;font-size:5px}.magic-tarot-art b{font-size:25px}.magic-tarot-art em{bottom:11px;font-size:4px}.rich-onboarding[data-module="magic"][data-step="2"] .onboarding-form-shell .sheet-body{padding:18px 17px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tarot,.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tone{grid-template-columns:1fr}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tarot small,.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-tone small{display:block}}
.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs{gap:12px;margin-top:12px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs button{min-height:88px;grid-template-columns:46px 1fr 22px;padding:12px;border-color:#eadde2;background:#fff}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs button>i{--orb:#8c4667;position:relative;width:42px;height:42px;overflow:hidden;border:0;border-radius:14px;color:var(--orb);background:#f5e8ee;box-shadow:none;font-style:normal}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs button:nth-child(2)>i{--orb:#9a6745;background:#f7eee6}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs button:nth-child(3)>i{--orb:#7d4e85;background:#f1eaf4}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs button:nth-child(4)>i{--orb:#55746c;background:#eaf2ef}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs svg{width:27px;height:27px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;filter:none}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs svg .fill{fill:currentColor;stroke:none}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs button>span b{font-size:12px;line-height:1.3}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs button>span small{max-width:25ch;font-size:9px;line-height:1.35}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs button.selected{border-color:#8c4667;background:#fbf5f8;box-shadow:none}
.onboarding-wheel-field{width:100%;min-height:52px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:#fff;text-align:left}.onboarding-wheel-field b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500}.onboarding-wheel-field i{color:var(--ob-accent);font-style:normal;font-size:16px}
@media(max-width:720px){.magic-zodiac-wheel{left:20%;top:51%;width:176px}.zodiac-sign{width:24px;height:24px;border-radius:8px;font-size:15px;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-76px) rotate(calc(var(--angle)*-1))}.zodiac-core{width:62px;height:62px}.zodiac-core b{font-size:27px}.zodiac-core small{font-size:5px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs button{grid-template-columns:54px 1fr 22px;min-height:94px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs button>i{width:50px;height:50px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs svg{width:29px;height:29px}}

.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs button{min-width:0;grid-template-columns:46px minmax(0,1fr) 22px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs button>span{min-width:0}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs button>span b,.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs button>span small{overflow-wrap:normal;word-break:normal;hyphens:none}
@media(max-width:900px) and (min-width:721px){.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs button{min-height:78px;padding:10px;grid-template-columns:40px minmax(0,1fr) 18px;gap:8px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs button>i{width:38px;height:38px;border-radius:12px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs svg{width:24px;height:24px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs button>span small{display:none}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs button>span b{font-size:11px;line-height:1.3}}
@media(max-width:840px){.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs{grid-template-columns:1fr}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs button>span small{display:block}}
@media(max-width:720px){.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs{grid-template-columns:1fr}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-orbs button{grid-template-columns:54px minmax(0,1fr) 22px}}

/* Full visual onboarding system shared by Magic, Sport, Lifestyle, Nutrition and Health. */
.rich-onboarding{--ob-accent:var(--wine);--ob-soft:var(--wine-soft);top:50%;bottom:auto;width:min(1180px,calc(100% - 34px));height:min(820px,94dvh);max-height:94dvh;padding:0;display:grid;grid-template-columns:minmax(300px,38%) 1fr;overflow:hidden;border-radius:34px;transform:translate(-50%,calc(-50% + 28px)) scale(.985);opacity:0}.rich-onboarding.open{transform:translate(-50%,-50%) scale(1);opacity:1}.rich-onboarding[data-module="magic"]{--ob-accent:#7b3656;--ob-soft:#f0dfe7}.rich-onboarding[data-module="sport"]{--ob-accent:#35594c;--ob-soft:#dce7e1}.rich-onboarding[data-module="lifestyle"]{--ob-accent:#7b553f;--ob-soft:#eee1d7}.rich-onboarding[data-module="nutrition"]{--ob-accent:#a35f54;--ob-soft:#f2dfda}.rich-onboarding[data-module="health"]{--ob-accent:#60796f;--ob-soft:#dfe9e4}.onboarding-art{position:relative;min-height:0;padding:28px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background-size:cover;background-position:center}.onboarding-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,18,19,.08),rgba(24,18,19,.28) 42%,rgba(24,18,19,.88))}.onboarding-brand,.onboarding-art-copy{position:relative;z-index:1}.onboarding-brand{font-size:11px;font-weight:700;letter-spacing:.18em}.onboarding-art-copy small{font-size:9px;font-weight:700;letter-spacing:.14em}.onboarding-art-copy h2{margin:12px 0 10px;color:#fff;font-size:clamp(38px,5vw,58px);line-height:.96}.onboarding-art-copy p{max-width:38ch;color:rgba(255,255,255,.77);font-size:12px;line-height:1.55}.onboarding-art-copy>div{display:flex;flex-wrap:wrap;gap:6px}.onboarding-art-copy span{padding:7px 10px;border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:8px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.onboarding-form-shell{min-width:0;min-height:0;display:grid;grid-template-rows:auto 4px 1fr auto;background:var(--paper)}.onboarding-form-shell>header{height:82px;padding:0 24px;display:grid;grid-template-columns:1fr 44px;align-items:center;border-bottom:1px solid var(--line)}.onboarding-form-shell>header>div{display:flex;justify-content:space-between;padding-right:14px}.onboarding-form-shell>header small{color:var(--ob-accent);font-size:9px;font-weight:700;letter-spacing:.14em}.onboarding-form-shell .progress{margin:0 24px;background:var(--line)}.onboarding-form-shell .progress i{background:var(--ob-accent)}.onboarding-form-shell .sheet-body{min-height:0;padding:38px 34px;overflow:auto}.onboarding-form-shell .sheet-body>.eyebrow{color:var(--ob-accent)}.onboarding-form-shell .sheet-body>h2{max-width:760px;margin:12px 0 12px;font-size:clamp(38px,5vw,60px);line-height:.98}.onboarding-form-shell .sheet-body>p:not(.eyebrow){max-width:720px;color:var(--muted);font-size:13px;line-height:1.6}.onboarding-form-shell>footer{min-height:84px;padding:14px 24px;display:flex;justify-content:space-between;align-items:center;gap:9px;border-top:1px solid var(--line);background:rgba(255,253,249,.94)}.onboarding-form-shell>footer .primary-button{min-width:190px;background:var(--ob-accent)}.onboarding-bullets{display:grid;gap:10px;margin-top:28px}.onboarding-bullets>div{display:flex;align-items:center;gap:12px}.onboarding-bullets b{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;color:#fff;background:var(--ob-accent);font-size:10px}.onboarding-bullets span{font-size:11px}.rich-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:25px}.rich-choice-grid button{position:relative;min-height:86px;padding:12px;display:grid;grid-template-columns:44px 1fr 22px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:19px;background:#fff;text-align:left}.rich-choice-grid button>i{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:var(--ob-accent);background:var(--ob-soft);font-style:normal;font-size:19px}.rich-choice-grid b,.rich-choice-grid small{display:block}.rich-choice-grid b{font-size:12px}.rich-choice-grid small{margin-top:4px;color:var(--muted);font-size:9px}.rich-choice-grid em{width:20px;height:20px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:transparent;font-style:normal;font-size:10px}.rich-choice-grid button.selected{border-color:var(--ob-accent);box-shadow:0 12px 26px color-mix(in srgb,var(--ob-accent) 13%,transparent);background:color-mix(in srgb,var(--ob-soft) 35%,white)}.rich-choice-grid button.selected em{color:#fff;border-color:var(--ob-accent);background:var(--ob-accent)}.onboarding-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.onboarding-fields label{display:grid;gap:7px;color:var(--muted);font-size:10px;font-weight:600}.onboarding-fields label.wide{grid-column:1/-1}.onboarding-fields input{width:100%;min-height:52px;padding:0 14px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink)}.onboarding-summary{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:24px;margin-top:30px;padding:24px;border-radius:26px;background:var(--ob-soft)}.summary-orbit{width:130px;height:130px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--ob-accent) 30%,transparent);border-radius:50%;color:var(--ob-accent);font:500 42px/1 "Fraunces",serif;box-shadow:inset 0 0 0 24px rgba(255,255,255,.45)}.onboarding-summary>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.onboarding-summary span{padding:9px 11px;border-radius:999px;background:rgba(255,255,255,.78);font-size:10px}
.drawer:not(.open),.sheet:not(.open){pointer-events:none;visibility:hidden}.drawer.open,.sheet.open{pointer-events:auto;visibility:visible}
@media(max-width:720px){.rich-onboarding{left:0;top:0;bottom:0;width:100%;height:100dvh;max-height:none;grid-template-columns:1fr;grid-template-rows:210px 1fr;border-radius:0;transform:translateY(100%);opacity:1}.rich-onboarding.open{transform:none}.onboarding-art{padding:18px 20px;background-position:center 28%}.onboarding-brand{font-size:9px}.onboarding-art-copy h2{margin:7px 0 6px;font-size:31px}.onboarding-art-copy p{margin-bottom:8px;font-size:10px;line-height:1.35}.onboarding-art-copy span{padding:5px 8px;font-size:7px}.onboarding-form-shell>header{height:62px;padding:0 15px}.onboarding-form-shell .progress{margin:0 15px}.onboarding-form-shell .sheet-body{padding:22px 17px}.onboarding-form-shell .sheet-body>h2{font-size:36px}.onboarding-form-shell .sheet-body>p:not(.eyebrow){font-size:11px}.onboarding-form-shell>footer{min-height:72px;padding:10px 15px}.onboarding-form-shell>footer .primary-button{min-width:155px}.rich-choice-grid{grid-template-columns:1fr;margin-top:18px}.rich-choice-grid button{min-height:74px}.onboarding-fields{grid-template-columns:1fr}.onboarding-fields label.wide{grid-column:auto}.onboarding-summary{grid-template-columns:1fr;text-align:center}.summary-orbit{width:105px;height:105px;margin:auto}.onboarding-summary>div:last-child{justify-content:center}}

/* Step 4: personal symbols calculated from the birthday. */
.magic-symbol-art[hidden]{display:none}.magic-symbol-art{position:absolute;z-index:2;left:50%;top:43%;width:min(330px,90%);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:16px;transform:translate(-50%,-50%)}.magic-symbol-art article{position:relative;height:194px;padding:20px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);border-radius:72px 72px 24px 24px;color:#f9eee8;background:linear-gradient(165deg,rgba(255,255,255,.18),rgba(255,255,255,.04));box-shadow:0 24px 44px rgba(8,20,19,.3);backdrop-filter:blur(7px)}.magic-symbol-art article:nth-child(2){border-radius:24px 24px 72px 72px;transform:translateY(20px)}.magic-symbol-art small{position:absolute;top:20px;font-size:7px;font-weight:800;letter-spacing:.13em}.magic-symbol-art em{position:absolute;bottom:19px;font-size:10px;font-style:normal;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.magic-symbol-art b{font:56px/1 Georgia,serif}.magic-symbol-art .symbol-emblem{width:82px;height:82px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.34);border-radius:50%;box-shadow:inset 0 0 0 12px rgba(255,255,255,.07)}.magic-symbol-art svg{width:50px;height:50px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rich-onboarding[data-module="magic"][data-step="3"] .onboarding-form-shell .sheet-body{padding:24px 28px}.rich-onboarding[data-module="magic"][data-step="3"] .onboarding-form-shell .sheet-body>h2{margin:7px 0 8px;font-size:clamp(36px,4vw,48px)}.rich-onboarding[data-module="magic"][data-step="3"] .onboarding-form-shell .sheet-body>p:not(.eyebrow){font-size:11px;line-height:1.45}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-symbols{gap:10px;margin-top:14px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-symbols button{min-height:82px;padding:10px;grid-template-columns:42px minmax(0,1fr) 18px;gap:9px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-symbols button>i{width:40px;height:40px;border-radius:13px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-symbols svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-symbols svg .fill{fill:currentColor;stroke:none}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-symbols b{font-size:11px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-symbols small{font-size:8px;line-height:1.25}.magic-symbol-result{display:grid;grid-template-columns:1.18fr .82fr;gap:10px;margin-top:12px}.magic-symbol-calculation,.magic-symbol-note{min-height:92px;padding:13px 14px;border-radius:16px}.magic-symbol-calculation{background:#f1ece7}.magic-symbol-calculation span{display:block;margin-bottom:7px;color:#6c635e;font-size:7px;font-weight:800;letter-spacing:.09em}.magic-symbol-calculation b{display:block;font-size:9px;line-height:1.45}.magic-symbol-calculation small{display:block;margin-top:6px;color:var(--muted);font-size:7px;line-height:1.35}.magic-symbol-note{display:grid;grid-template-columns:24px 1fr;align-items:start;gap:8px;color:#4f5f59;background:#e8efeb;font-size:8px;line-height:1.45}.magic-symbol-note i{width:23px;height:23px;display:grid;place-items:center;border-radius:8px;color:#fff;background:#536d64;font-style:normal}.magic-symbol-note b{font-size:8px}
@media(max-width:900px) and (min-width:721px){.rich-onboarding[data-module="magic"][data-step="3"] .onboarding-form-shell .sheet-body{padding:20px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-symbols button{min-height:72px}.magic-symbol-result{grid-template-columns:1fr}.magic-symbol-note{min-height:68px}}

/* Mobile magic header: illustration and copy get separate columns on every step. */
@media(max-width:720px){.rich-onboarding[data-module="magic"] .onboarding-art.magic-legacy-art{padding:16px;display:grid;grid-template-columns:150px minmax(0,1fr);align-items:end;column-gap:10px}.rich-onboarding[data-module="magic"] .onboarding-brand{position:absolute;z-index:4;left:16px;top:14px}.rich-onboarding[data-module="magic"] .onboarding-art-copy{grid-column:2;min-width:0;align-self:end}.rich-onboarding[data-module="magic"] .onboarding-art-copy>small{font-size:6px;line-height:1.2;letter-spacing:.1em}.rich-onboarding[data-module="magic"] .onboarding-art-copy h2{margin:5px 0 7px;font-size:23px;line-height:1}.rich-onboarding[data-module="magic"] .onboarding-art-copy p{display:none}.rich-onboarding[data-module="magic"] .onboarding-art-copy>div{gap:4px}.rich-onboarding[data-module="magic"] .onboarding-art-copy span{padding:4px 6px;font-size:6px}.rich-onboarding[data-module="magic"] .magic-zodiac-wheel,.rich-onboarding[data-module="magic"] .magic-number-orbit,.rich-onboarding[data-module="magic"] .magic-tarot-art,.rich-onboarding[data-module="magic"] .magic-symbol-art{left:72px;top:53%}.rich-onboarding[data-module="magic"] .magic-zodiac-wheel{width:145px}.rich-onboarding[data-module="magic"] .magic-number-orbit{width:150px}.rich-onboarding[data-module="magic"] .magic-tarot-art{width:166px;gap:5px}.rich-onboarding[data-module="magic"] .magic-tarot-art article{width:calc((100% - 10px)/3);height:86px;border-width:2px;border-radius:10px;outline-offset:-6px}.rich-onboarding[data-module="magic"] .magic-tarot-art article:nth-child(2){height:94px;transform:translateY(-5px) scale(1.02)}.rich-onboarding[data-module="magic"] .magic-tarot-art article:first-child{transform:rotate(-3deg) translateY(4px)}.rich-onboarding[data-module="magic"] .magic-tarot-art article:nth-child(3){transform:rotate(3deg) translateY(4px)}.rich-onboarding[data-module="magic"] .magic-tarot-art small{top:9px;font-size:4px}.rich-onboarding[data-module="magic"] .magic-tarot-art b{font-size:24px}.rich-onboarding[data-module="magic"] .magic-tarot-art em{bottom:9px;font-size:3.5px;letter-spacing:0}.rich-onboarding[data-module="magic"] .magic-symbol-art{width:145px;gap:7px}.rich-onboarding[data-module="magic"] .magic-symbol-art article{height:104px;padding:10px 5px;border-radius:36px 36px 13px 13px}.rich-onboarding[data-module="magic"] .magic-symbol-art article:nth-child(2){border-radius:13px 13px 36px 36px;transform:translateY(7px)}.rich-onboarding[data-module="magic"] .magic-symbol-art small{top:11px;font-size:4px}.rich-onboarding[data-module="magic"] .magic-symbol-art em{bottom:10px;font-size:5px;letter-spacing:.04em}.rich-onboarding[data-module="magic"] .magic-symbol-art b{font-size:33px}.rich-onboarding[data-module="magic"] .magic-symbol-art .symbol-emblem{width:48px;height:48px;box-shadow:inset 0 0 0 7px rgba(255,255,255,.07)}.rich-onboarding[data-module="magic"] .magic-symbol-art svg{width:30px;height:30px}.rich-onboarding[data-module="magic"][data-step="3"] .onboarding-form-shell .sheet-body{padding:18px 17px}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-symbols{grid-template-columns:1fr}.rich-onboarding[data-module="magic"] .rich-choice-grid.magic-symbols button{min-height:74px}.magic-symbol-result{grid-template-columns:1fr}.magic-symbol-note{min-height:68px}}

@media(max-width:720px){.rich-onboarding[data-module="magic"] .magic-zodiac-wheel,.rich-onboarding[data-module="magic"] .magic-number-orbit,.rich-onboarding[data-module="magic"] .magic-tarot-art,.rich-onboarding[data-module="magic"] .magic-symbol-art{left:88px}}
@media(min-width:721px) and (max-height:760px){.rich-onboarding[data-module="magic"] .magic-zodiac-wheel{top:27%;width:280px}.rich-onboarding[data-module="magic"] .magic-number-orbit{top:27%;width:260px}.rich-onboarding[data-module="magic"] .magic-tarot-art,.rich-onboarding[data-module="magic"] .magic-symbol-art{top:27%}}

/* Keep selection requirements visible before validation runs. */
.onboarding-question-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.onboarding-question-head>b{font-size:13px}.onboarding-minimum{flex:0 0 auto;padding:5px 8px;border:1px solid color-mix(in srgb,var(--ob-accent) 22%,transparent);border-radius:999px;color:var(--ob-accent);background:color-mix(in srgb,var(--ob-soft) 55%,white);font-size:9px;font-weight:500;line-height:1;letter-spacing:.01em;text-transform:none;font-variant-numeric:lining-nums tabular-nums}.onboarding-choice-requirement{min-height:25px;margin-top:16px;display:flex;justify-content:flex-end}.onboarding-choice-requirement:empty{display:none}.onboarding-choice-requirement+.rich-choice-grid{margin-top:7px}.onboarding-question-head+.rich-choice-grid{margin-top:7px}
@media(max-width:720px){.onboarding-question-head{align-items:flex-start}.onboarding-question-head>b{line-height:1.3}.onboarding-minimum{padding:5px 7px;font-size:8px}.onboarding-choice-requirement{margin-top:12px}}

/* Server session and consent gate. */
.backend-locked{overflow:hidden}.backend-gate{position:fixed;z-index:1200;inset:0;padding:24px;display:grid;place-items:center;background:rgba(41,24,32,.74);backdrop-filter:blur(16px)}.backend-gate[hidden]{display:none}.backend-gate-card{width:min(680px,100%);max-height:calc(100dvh - 32px);padding:38px;overflow:auto;border:1px solid rgba(111,40,65,.16);border-radius:34px;background:var(--paper);box-shadow:0 34px 90px rgba(33,15,23,.34)}.backend-gate-mark{display:flex;align-items:baseline;gap:7px;color:var(--wine)}.backend-gate-mark span{font:600 25px/1 "Fraunces",serif}.backend-gate-mark b{font-size:10px;letter-spacing:.2em}.backend-gate-card .eyebrow{margin-top:34px}.backend-gate-card h1{max-width:590px;margin:10px 0 14px;font-size:clamp(38px,7vw,62px);line-height:.98}.backend-gate-card>div>p:not(.eyebrow){max-width:58ch;color:var(--muted);font-size:13px;line-height:1.6}.backend-gate-card form{display:grid;gap:16px;margin-top:26px}.backend-gate-card form>img{width:170px;height:64px;border-radius:14px}.backend-gate-card form>label:not(.backend-consent){display:grid;gap:7px}.backend-gate-card form>label>span{color:var(--muted);font-size:10px;font-weight:600}.backend-gate-card form input[type="text"],.backend-gate-card form input[inputmode="numeric"]{width:100%;min-height:54px;padding:0 16px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);font-size:20px;letter-spacing:.18em}.backend-gate-card form>div{display:flex;justify-content:space-between;gap:10px}.backend-gate-error{padding:11px 13px;border:1px solid rgba(143,54,69,.25);border-radius:14px;color:#7d2d42;background:#f8e7e8;font-size:11px}.backend-consent{display:grid;grid-template-columns:22px 1fr;align-items:start;gap:11px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff}.backend-consent input{width:20px;height:20px;accent-color:var(--wine)}.backend-consent span{font-size:11px!important;line-height:1.5}.backend-gate-card>div>.primary-button{margin-top:24px}.backend-gate-card button:focus-visible,.backend-gate-card input:focus-visible{outline:3px solid rgba(124,51,73,.24);outline-offset:2px}
@media(max-width:560px){.backend-gate{padding:0;align-items:stretch}.backend-gate-card{width:100%;max-height:100dvh;padding:26px 20px;border:0;border-radius:0}.backend-gate-card .eyebrow{margin-top:28px}.backend-gate-card h1{font-size:42px}.backend-gate-card form>div{flex-direction:column-reverse}.backend-gate-card form>div button{width:100%}}

/* Live publisher news feed. */
.news-page{display:grid;gap:20px}.news-hero{padding:38px;border:1px solid rgba(111,40,65,.12);border-radius:32px;background:radial-gradient(circle at 86% 15%,rgba(163,107,126,.18),transparent 35%),linear-gradient(135deg,var(--paper),var(--paper2))}.news-hero h1{max-width:760px;margin:10px 0 14px;font-size:clamp(42px,7vw,72px);line-height:.96}.news-hero>p:not(.eyebrow){max-width:62ch;color:var(--muted);font-size:14px;line-height:1.65}.news-hero small{display:block;margin-top:18px;color:var(--muted);font-size:10px}.news-filters{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 5px;scrollbar-width:none}.news-filters::-webkit-scrollbar{display:none}.news-filters button{flex:0 0 auto;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--muted);font-size:11px}.news-filters button.active{border-color:var(--wine);background:var(--wine);color:#fff}.news-filters button:focus-visible,.news-card a:focus-visible{outline:3px solid rgba(124,51,73,.24);outline-offset:3px}.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.news-card{min-width:0;display:flex;flex-direction:column;min-height:280px;padding:24px;border:1px solid var(--line);border-radius:26px;background:var(--paper)}.news-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.news-card-meta span{padding:6px 9px;border-radius:999px;background:var(--wine-soft);color:var(--wine);font-weight:600}.news-card h2{margin:22px 0 12px;font-size:clamp(23px,3vw,32px);line-height:1.06;overflow-wrap:anywhere}.news-card>p{margin:0 0 24px;color:var(--muted);font-size:12px;line-height:1.62}.news-card footer{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}.news-card footer a{color:var(--wine);font-size:10px;text-decoration:none}.news-source{max-width:52%;overflow-wrap:anywhere}.news-read{display:flex;align-items:center;gap:8px;text-align:right;font-weight:600}.news-read span{font-size:16px}.news-notice,.news-legal{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.news-notice{padding:12px 15px;border:1px solid rgba(143,54,69,.2);border-radius:14px;background:#f8eeec}.news-legal{text-align:center}.news-state{padding:42px;border:1px solid var(--line);border-radius:26px;background:var(--paper);text-align:center}.news-state h2{margin:0 0 10px;font-size:30px}.news-state p{margin:0 auto 20px;max-width:52ch;color:var(--muted);line-height:1.6}.news-loading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.news-loading span{grid-column:1/-1;color:var(--muted);font-size:11px}.news-loading i{min-height:250px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(105deg,var(--paper2) 30%,#fff 45%,var(--paper2) 60%);background-size:240% 100%;animation:newsShimmer 1.4s linear infinite}@keyframes newsShimmer{to{background-position:-240% 0}}@media(prefers-reduced-motion:reduce){.news-loading i{animation:none}}
@media(max-width:680px){.news-page{gap:16px}.news-hero{padding:28px 20px;border-radius:24px}.news-hero h1{font-size:44px}.news-grid,.news-loading{grid-template-columns:1fr}.news-card{min-height:250px;padding:20px}.news-card h2{font-size:27px}.news-card footer{align-items:flex-start;flex-direction:column}.news-source{max-width:100%}.news-read{text-align:left}.news-state{padding:32px 20px}}

/* Sport onboarding restores the approved five-athlete visual sequence. */
.rich-onboarding[data-module="sport"]{--ob-accent:#7b2f49;--ob-soft:#f0dfe4}.rich-onboarding[data-module="sport"] .onboarding-art{overflow:hidden}.rich-onboarding[data-module="sport"] .onboarding-art::after{z-index:1;background:linear-gradient(180deg,rgba(38,15,25,.02) 35%,rgba(38,15,25,.38) 63%,rgba(31,12,20,.94) 100%)}.rich-onboarding[data-module="sport"] .onboarding-brand,.rich-onboarding[data-module="sport"] .onboarding-art-copy{z-index:3}.sport-onboarding-visual{position:absolute;z-index:2;inset:58px 18px 190px;display:grid;place-items:center;pointer-events:none}.sport-onboarding-visual[hidden]{display:none}.sport-onboarding-visual>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.sport-onboarding-visual.collage{inset:74px 20px 205px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:3px}.sport-onboarding-visual.collage>img{min-width:0;min-height:0}.sport-onboarding-visual.collage .sport-visual-2,.sport-onboarding-visual.collage .sport-visual-5{transform:translateY(9px)}.sport-onboarding-visual.collage .sport-visual-4{grid-column:2}.rich-onboarding[data-module="sport"] .rich-choice-grid button>i svg,.sport-personal-page svg,.sport-onboarding-plan svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.rich-onboarding[data-module="sport"] .sport-choices{gap:8px;margin-top:8px}.rich-onboarding[data-module="sport"] .sport-choices button{min-height:70px;padding:9px;grid-template-columns:38px minmax(0,1fr) 18px;gap:8px}.rich-onboarding[data-module="sport"] .sport-choices button>i{width:36px;height:36px;border-radius:12px}.rich-onboarding[data-module="sport"] .sport-choices button>i svg{width:22px;height:22px}.rich-onboarding[data-module="sport"] .sport-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:7px}.rich-onboarding[data-module="sport"] .sport-compact button{min-height:62px;padding:8px;grid-template-columns:32px minmax(0,1fr) 17px;gap:7px;border-radius:15px}.rich-onboarding[data-module="sport"] .sport-compact button>i{width:30px;height:30px;border-radius:10px}.rich-onboarding[data-module="sport"] .sport-compact button>i svg{width:19px;height:19px}.rich-onboarding[data-module="sport"] .sport-compact b{font-size:10px}.rich-onboarding[data-module="sport"] .sport-compact small{font-size:7px;line-height:1.25}.rich-onboarding[data-module="sport"] .onboarding-question{margin-top:15px}.rich-onboarding[data-module="sport"] .onboarding-form-shell .sheet-body>h2{font-size:clamp(36px,4.4vw,54px)}.onboarding-fields textarea{width:100%;min-height:92px;padding:13px 14px;resize:vertical;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);font:inherit;line-height:1.45}.onboarding-toggles{display:grid;gap:9px;margin-top:17px}.onboarding-toggle{width:100%;min-height:68px;padding:13px 14px;display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:14px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:left}.onboarding-toggle span b,.onboarding-toggle span small{display:block}.onboarding-toggle span b{font-size:11px}.onboarding-toggle span small{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.35}.onboarding-toggle>i{position:relative;width:42px;height:24px;border-radius:999px;background:#d8d1ce}.onboarding-toggle>i::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(40,20,28,.2);transition:transform .18s ease}.onboarding-toggle.selected{border-color:var(--ob-accent);background:color-mix(in srgb,var(--ob-soft) 35%,white)}.onboarding-toggle.selected>i{background:var(--ob-accent)}.onboarding-toggle.selected>i::after{transform:translateX(18px)}.onboarding-toggle:focus-visible,.rich-onboarding[data-module="sport"] .rich-choice-grid button:focus-visible{outline:3px solid color-mix(in srgb,var(--ob-accent) 25%,transparent);outline-offset:2px}.sport-onboarding-plan{margin-top:18px;padding:20px;border:1px solid color-mix(in srgb,var(--ob-accent) 18%,transparent);border-radius:24px;background:var(--ob-soft)}.sport-onboarding-plan>small{color:var(--ob-accent);font-size:8px;font-weight:700;letter-spacing:.12em}.sport-onboarding-plan>h3{margin:8px 0 6px;font-size:25px}.sport-onboarding-plan>p{margin:0;color:var(--muted);font-size:9px;line-height:1.45}.sport-onboarding-plan>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}.sport-onboarding-plan>div span{padding:10px;border-radius:14px;background:rgba(255,255,255,.72);text-align:center}.sport-onboarding-plan>div b,.sport-onboarding-plan>div em{display:block}.sport-onboarding-plan>div b{font:500 20px/1 "Fraunces",serif}.sport-onboarding-plan>div em{margin-top:3px;color:var(--muted);font-style:normal;font-size:7px}.sport-onboarding-plan>article{margin-top:10px;padding:11px;display:grid;grid-template-columns:38px 1fr;align-items:center;gap:10px;border-radius:15px;background:#fff}.sport-onboarding-plan>article>i{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--ob-accent)}.sport-onboarding-plan>article b,.sport-onboarding-plan>article small{display:block}.sport-onboarding-plan>article b{font-size:10px}.sport-onboarding-plan>article small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.35}

/* Sport uses onboarding answers in the live module. */
.sport-personal-page{display:grid;gap:18px}.sport-personal-hero::after{background:linear-gradient(90deg,rgba(48,19,30,.96) 0 43%,rgba(48,19,30,.3) 73%,transparent)}.sport-profile-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.sport-session-card,.sport-profile-card{min-width:0;padding:24px;border:1px solid var(--line);border-radius:28px;background:var(--paper)}.sport-session-card{background:linear-gradient(145deg,#fff9f6,#f2e2e3)}.sport-session-head{display:flex;align-items:center;gap:13px}.sport-session-head>span{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;color:#fff;background:var(--wine)}.sport-session-head small{color:var(--wine);font-size:8px;font-weight:700;letter-spacing:.12em}.sport-session-head h2{margin:4px 0 0;font-size:28px}.sport-session-card>p{margin:15px 0;color:var(--muted);font-size:11px;line-height:1.55}.sport-session-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:15px}.sport-session-metrics span{padding:11px;border-radius:15px;background:rgba(255,255,255,.72);text-align:center}.sport-session-metrics b,.sport-session-metrics small{display:block}.sport-session-metrics b{font:500 21px/1 "Fraunces",serif}.sport-session-metrics small{margin-top:4px;color:var(--muted);font-size:7px}.sport-profile-card h2{margin:8px 0 14px;font-size:28px}.sport-profile-chips{display:flex;flex-wrap:wrap;gap:7px}.sport-profile-chips span{padding:8px 10px;border-radius:999px;color:#603247;background:#f2e5e9;font-size:9px}.sport-profile-note{margin:18px 0 11px;color:var(--muted);font-size:10px;line-height:1.5}.sport-profile-note b{color:var(--ink)}.sport-consent-state{display:inline-flex;padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:8px}.sport-consent-state.active{border-color:#8aa397;color:#35594c;background:#e8f0ec}.sport-content-grid .content-card>i{color:var(--wine)}

@media(max-width:900px) and (min-width:721px){.rich-onboarding[data-module="sport"] .onboarding-form-shell .sheet-body{padding:24px}.rich-onboarding[data-module="sport"] .sport-choices{grid-template-columns:1fr}.rich-onboarding[data-module="sport"] .sport-choices button{min-height:62px}.sport-profile-layout{grid-template-columns:1fr}}
@media(max-width:720px){.rich-onboarding[data-module="sport"]{grid-template-rows:210px minmax(0,1fr)}.rich-onboarding[data-module="sport"] .onboarding-art{padding:16px;display:grid;grid-template-columns:46% minmax(0,1fr);align-items:end;gap:10px}.rich-onboarding[data-module="sport"] .onboarding-brand{position:absolute;z-index:4;left:16px;top:14px}.rich-onboarding[data-module="sport"] .sport-onboarding-visual{inset:30px 54% 8px 5px}.rich-onboarding[data-module="sport"] .sport-onboarding-visual.collage{inset:42px 54% 10px 4px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr)}.rich-onboarding[data-module="sport"] .onboarding-art-copy{grid-column:2;min-width:0;align-self:end}.rich-onboarding[data-module="sport"] .onboarding-art-copy>small{font-size:6px;line-height:1.2;letter-spacing:.09em}.rich-onboarding[data-module="sport"] .onboarding-art-copy h2{margin:5px 0 7px;font-size:22px;line-height:1}.rich-onboarding[data-module="sport"] .onboarding-art-copy p{display:none}.rich-onboarding[data-module="sport"] .onboarding-art-copy>div{gap:4px}.rich-onboarding[data-module="sport"] .onboarding-art-copy span{padding:4px 6px;font-size:6px}.rich-onboarding[data-module="sport"] .onboarding-form-shell .sheet-body{padding:18px 17px}.rich-onboarding[data-module="sport"] .onboarding-form-shell .sheet-body>h2{font-size:34px}.rich-onboarding[data-module="sport"] .sport-choices,.rich-onboarding[data-module="sport"] .sport-compact{grid-template-columns:1fr}.rich-onboarding[data-module="sport"] .sport-choices button{min-height:68px}.rich-onboarding[data-module="sport"] .sport-compact button{min-height:58px}.sport-onboarding-plan{padding:16px}.sport-onboarding-plan>div{grid-template-columns:repeat(3,minmax(0,1fr))}.sport-onboarding-plan>div span{padding:8px 4px}.sport-onboarding-plan>div b{font-size:17px}.sport-profile-layout{grid-template-columns:1fr}.sport-session-card,.sport-profile-card{padding:20px;border-radius:24px}.sport-session-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.sport-personal-hero .module-copy{width:min(72%,360px)}}
@media(max-width:420px){.rich-onboarding[data-module="sport"] .onboarding-form-shell>footer{gap:7px}.rich-onboarding[data-module="sport"] .onboarding-form-shell>footer .primary-button{min-width:0;flex:1}.sport-session-metrics b{font-size:18px}.sport-session-metrics span{padding:9px 4px}.sport-personal-hero .module-copy{width:78%}}
@media(min-width:721px) and (max-height:760px){.rich-onboarding[data-module="sport"]{height:96dvh;max-height:96dvh}.rich-onboarding[data-module="sport"] .onboarding-form-shell .sheet-body{padding:20px 26px}.rich-onboarding[data-module="sport"] .onboarding-form-shell .sheet-body>h2{margin:7px 0;font-size:39px}.rich-onboarding[data-module="sport"] .sport-choices button{min-height:60px}.rich-onboarding[data-module="sport"] .sport-onboarding-visual{inset:46px 12px 165px}.rich-onboarding[data-module="sport"] .onboarding-art-copy h2{font-size:40px}.rich-onboarding[data-module="sport"] .onboarding-art-copy p{font-size:10px}}
/* Detailed weather: city search and precise 3/7/14-day forecast. */
.weather{color:var(--ink);text-align:left}.weather-source{text-decoration:none}.weather-open-label{display:block;margin-top:8px;color:var(--wine);font-size:8px;font-weight:600}.weather:hover .weather-open-label{text-decoration:underline;text-underline-offset:2px}.weather:focus-visible{outline:3px solid rgba(124,51,73,.35);outline-offset:3px}
.weather-page{display:grid;gap:18px}.weather-page-hero{padding:34px;border:1px solid rgba(111,40,65,.12);border-radius:32px;background:radial-gradient(circle at 85% 8%,rgba(188,140,127,.22),transparent 38%),linear-gradient(145deg,var(--paper),var(--paper2))}.weather-page-hero h1{margin:13px 0 8px;font-size:clamp(44px,8vw,76px);line-height:.94}.weather-page-hero>p:not(.eyebrow){max-width:60ch;color:var(--muted);font-size:13px;line-height:1.6}.weather-city-search{max-width:680px;margin-top:24px}.weather-city-search>label{display:block;margin-bottom:8px;color:var(--wine);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.weather-city-search>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.weather-city-search input{min-width:0;min-height:52px;padding:0 16px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink)}.weather-city-search button{min-height:52px;padding:0 20px;border-radius:16px;color:#fff;background:var(--wine)}
.weather-search-state{margin:12px 0 0;color:var(--muted);font-size:11px}.weather-search-state.error{color:#8a3148}.weather-location-results{max-width:680px;margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.weather-location-results button{min-width:0;min-height:82px;padding:13px 14px;border:1px solid var(--line);border-radius:17px;background:#fff;text-align:left}.weather-location-results button:hover{border-color:rgba(124,51,73,.42);background:var(--wine-soft)}.weather-location-results b,.weather-location-results small,.weather-location-results span{display:block}.weather-location-results b{font-size:13px}.weather-location-results small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.35}.weather-location-results span{margin-top:7px;color:var(--wine);font-size:8px;font-variant-numeric:tabular-nums}
.weather-current{padding:24px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:center;gap:24px;border-radius:28px;color:#fff;background:linear-gradient(135deg,#5f3042,#2e2130)}.weather-current-main{display:flex;align-items:center;gap:18px}.weather-current-main .weather-icon{width:76px;height:76px;color:#f5d8ce}.weather-current-main h2{margin:5px 0 3px;color:#fff;font-size:58px;line-height:1}.weather-current-main p:last-child{margin:0;color:rgba(255,255,255,.72);font-size:12px}.weather-current dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.weather-current dl>div{min-width:0;padding:13px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(255,255,255,.07)}.weather-current dt{color:rgba(255,255,255,.62);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.weather-current dd{margin:5px 0 0;font-size:12px;overflow-wrap:anywhere}
.forecast-periods{width:max-content;max-width:100%;padding:5px;display:flex;gap:5px;border-radius:18px;background:var(--paper2)}.forecast-periods button{min-height:42px;padding:0 18px;border-radius:14px;background:transparent;color:var(--muted);font-size:11px}.forecast-periods button.active{color:#fff;background:var(--wine);box-shadow:0 9px 20px rgba(124,51,73,.18)}
.forecast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.forecast-day{min-width:0;padding:19px;border:1px solid var(--line);border-radius:24px;background:var(--paper2)}.forecast-day header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.forecast-day header small,.forecast-day header b{display:block}.forecast-day header small{color:var(--wine);font-size:9px;font-weight:600;text-transform:uppercase}.forecast-day header b{margin-top:5px;font:500 18px/1.08 "Fraunces",serif}.forecast-day .weather-icon{flex:0 0 auto;width:38px;height:38px;color:var(--wine)}.forecast-temperature{margin:18px 0 15px;display:flex;align-items:baseline;gap:9px}.forecast-temperature strong{font:500 34px/1 "Fraunces",serif}.forecast-temperature span{color:var(--muted);font-size:18px}.forecast-day dl{margin:0;display:grid;gap:8px}.forecast-day dl>div{display:flex;justify-content:space-between;gap:10px;padding-top:8px;border-top:1px solid var(--line);font-size:9px}.forecast-day dt{color:var(--muted)}.forecast-day dd{margin:0;text-align:right;font-weight:600}.weather-attribution{margin:0;color:var(--muted);font-size:9px;text-align:center}.weather-page-state{min-height:300px;padding:40px;display:grid;place-items:center;align-content:center;border:1px solid var(--line);border-radius:28px;background:var(--paper2);text-align:center}.weather-page-state h2{margin:15px 0 8px;font-size:31px}.weather-page-state p{max-width:48ch;margin:0 0 20px;color:var(--muted);line-height:1.55}.weather-loader{width:42px;height:42px;border:3px solid var(--wine-soft);border-top-color:var(--wine);border-radius:50%;animation:weatherSpin .8s linear infinite}@keyframes weatherSpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.weather-loader{animation:none}}
@media(max-width:820px){.weather-current{grid-template-columns:1fr}.forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.weather-page{gap:14px}.weather-page-hero{padding:24px 18px;border-radius:24px}.weather-page-hero h1{font-size:46px}.weather-city-search>div{grid-template-columns:1fr}.weather-city-search button{width:100%}.weather-location-results{grid-template-columns:1fr}.weather-current{padding:20px;border-radius:23px}.weather-current-main .weather-icon{width:58px;height:58px}.weather-current-main h2{font-size:49px}.weather-current dl{grid-template-columns:1fr 1fr}.forecast-periods{width:100%}.forecast-periods button{flex:1;padding:0 9px}.forecast-grid{grid-template-columns:1fr}.forecast-day{padding:18px}.weather-page-state{min-height:250px;padding:30px 18px}}
