/* Visual edition 02 — a quiet morning */
:root{--bg:#faf7f2;--ink:#302437;--muted:#746674;--line:#e6ded5;--surface:#f1ebe4;--serif:'DM Serif Display',Georgia,serif;--mauve:#8253b2;--mauve-ink:#68428e;--accent:#dc8a52;--accent-ink:#914b25}
body{background:var(--bg);padding-inline:22px;color:var(--ink)}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{transition:background .2s,transform .2s,box-shadow .2s}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible{outline:3px solid #9463b8;outline-offset:4px}
.app-shell{max-width:760px;gap:25px}header.top{padding:22px 0 18px;background:#faf7f2ed;backdrop-filter:blur(14px);gap:10px}.logo{font-size:36px;letter-spacing:-.075em;font-weight:800}.logo span{margin-left:2px}.logo small{font-size:8px;font-weight:600;letter-spacing:.15em;margin-top:6px}.streak{border:1px solid #e3d7e9;background:#f0e8f3;color:#654d73;padding:9px 12px;font-size:10px;font-weight:500}.streak b{font-size:15px}
.welcome-hero{overflow:hidden;border-radius:25px;background:#eee5dc;position:relative}.hero-landscape{height:250px;position:relative;overflow:hidden}.hero-landscape img{width:100%;height:100%;object-fit:cover;object-position:center 53%;display:block}.hero-landscape:after{content:'';position:absolute;inset:0;background:linear-gradient(#2b1c2b22,transparent 50%)}.hero-date{position:absolute;z-index:1;top:19px;left:20px;color:#fffaf1;background:#30243769;backdrop-filter:blur(14px);font-size:9px;letter-spacing:.15em;font-weight:600;border:1px solid #ffffff55;border-radius:30px;padding:8px 12px}.hero-seal{position:absolute;z-index:1;bottom:18px;right:19px;width:78px;height:78px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#fff8e7eb;transform:rotate(9deg);font-family:var(--serif);font-size:24px;line-height:1.2;border:1px solid #fff8e7;box-shadow:0 4px 18px #30243715}.hero-seal small{font-family:var(--body);font-size:5.5px;letter-spacing:.1em;margin-top:5px}.hero-content{padding:28px 25px 25px;background:#f0e9e1}.hero-content .eyebrow{color:#71576e;letter-spacing:.12em;display:flex;align-items:center;gap:7px;font-size:8px}.hero-content .eyebrow i{width:5px;height:5px;flex:none;border-radius:50%;background:#b7754c}.hero-content h1{font-family:var(--display);font-size:clamp(34px,8.9vw,56px);letter-spacing:-.07em;line-height:1.03;margin:19px 0 16px}.hero-content h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;color:#785583}.hero-content p{font-size:14px;line-height:1.75;color:#746272;margin:0 0 24px}.hero-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;border:0;border-radius:12px;padding:16px 18px;background:#37283f;color:#fffaf2;font-weight:600;font-size:13px}.hero-cta:hover{background:#563f62;box-shadow:0 6px 15px #3024371c}.hero-cta span{font-size:22px;line-height:1}.hero-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:7px;padding-top:13px;font-size:8px;color:#776577}.hero-meta span:first-child:before{content:'✦';margin-right:5px;color:#9c6744}
.manifesto{position:relative;padding:28px 5px 12px;border-bottom:1px solid var(--line);margin-bottom:5px}.manifesto>span:first-child{font-size:8px;font-weight:700;letter-spacing:.17em;color:#8a788a}.manifesto p{font-family:var(--display);font-weight:600;font-size:27px;letter-spacing:-.045em;line-height:1.2;margin:15px 0 24px}.manifesto em{font-family:var(--serif);font-weight:400;color:#805b8b}.manifesto-star{position:absolute;right:5px;bottom:32px;color:#b77a50;font-size:44px}
.block{border-radius:20px;background:#fffdf9;border-color:var(--line);padding:24px;box-shadow:none}.section-heading{display:flex;flex-direction:column;gap:12px}.section-heading h2{font-size:26px;line-height:1.1;letter-spacing:-.045em}.section-heading .eyebrow{color:#87718c;font-size:8px}.section-heading p{margin:0;font-size:13px;color:var(--muted);line-height:1.7}.how-block{background:transparent;border:0;padding:16px 0}.how-block .how{gap:0;margin-top:8px}.how div{padding:19px 0;border-bottom:1px solid var(--line)}.how .n{background:#e9e0ed;width:29px;height:29px;color:#71517f;font-size:12px;border-radius:9px}.how p{font-size:13px;color:var(--muted);line-height:1.65}.how p b{font-size:15px;color:var(--ink);font-weight:600}
.program-block{background:transparent;padding:16px 0;border:0}.prog{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:10px}.prog .program-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:20px 16px;overflow:hidden;min-height:216px;background:#eae1ee;border:1px solid #ded1e6;border-radius:17px}.prog .week-2{background:#f3e0d3;border-color:#ead2c0}.prog .week-3{background:#eedce4;border-color:#e6ccd9}.prog .week-4{background:#e9e0f2;border-color:#d9cbe6}.pw{width:auto;font-size:8px;letter-spacing:.14em;line-height:1.5;color:#6c5177}.pw small{display:block;letter-spacing:0;font-weight:400;margin-top:4px;color:#78677d;font-size:10px}.program-symbol{font-family:Georgia,serif;line-height:1;font-size:36px;color:#9b739c;height:39px}.week-2 .program-symbol{color:#bb835b}.week-3 .program-symbol{color:#b17895}.week-4 .program-symbol{color:#8a65a3}.pt{flex:none;gap:5px}.pt b{font-family:var(--display);font-size:20px;letter-spacing:-.05em}.pt small{font-size:10px;line-height:1.4}.pm{margin-top:auto;font-size:9px;color:#765a80}.rules-block{background:#eee8e0;border:0;padding:25px}.rules-block .section-heading h2{font-family:var(--serif);font-size:29px;font-weight:400;letter-spacing:-.03em}.rules{font-size:13px;line-height:1.8;gap:13px;padding-left:17px}.rules b{font-weight:600}.rules li::marker{color:#ab7857;font-weight:700}.gh{font-size:25px;margin-top:15px}.acc summary b{letter-spacing:-.035em}.acc summary small{font-size:10px}.panel{background:linear-gradient(130deg,#ddd0e6,#efd4d8 65%,#f4ddc5);border:1px solid #e0cedd}.panel .eyebrow{font-size:8px}.panel h2{font-family:var(--serif);font-size:29px;font-weight:400;letter-spacing:-.03em}.panel p{font-size:13px}.btn.go{background:#37283f;border-radius:13px;font-size:14px;box-shadow:none}
.dayhead{gap:12px;padding:19px 0 6px}.dayhead h1{font-family:var(--serif);font-weight:400;letter-spacing:-.05em;font-size:44px}.dayhead .sub{font-size:14px}.eyebrow{font-size:9px}.habit{background:#f2e9de;border:1px solid #e5d6c5;padding:23px}.habit-title b{font-size:23px}.habit .tag{font-size:10px}.habit.done{background:#ece3f3;border-color:#d8c4e7}.detail{font-size:13px;line-height:1.75}.ans.yes:not(.on){background:#d98a57;border-color:#d98a57;color:#302437}.ans.yes.on{background:#7b529f;border-color:#7b529f}.ans{font-size:12px}.timer{font-size:12px;background:#faf7f2}.stepper{font-size:11px;background:#faf7f2}.whycard{background:#f0e6db;border:1px solid #e0cbb8}.whycard .wtext{font-size:13px}.block.gold{border:1px solid #decaaf;background:#f6efe5}.block.verset{background:linear-gradient(130deg,#e6dbed,#f3e0df)}.block>h2{font-size:21px}.strip{gap:8px}.chip{border-color:#e5dcd2;background:#fffcf7}.chip.sel{background:#e9def2;border-color:#c8b1d8}.chip b{font-size:18px}.bilanlink{background:linear-gradient(120deg,#dfd2e9,#eed4d8 70%,#efdbc7);padding:22px}.bilanlink b{font-family:var(--serif);font-weight:400;font-size:25px}.bl-sub{font-size:11px}.cday{border-radius:14px}.cday.full{background:#e6d9ee}.wk{background:#f0e8df}.mood.on{background:#ece1f3;border-color:#a27abf}.bar>div{background:linear-gradient(90deg,#8253b2,#c785a5,#dc8a52)}
nav.tabs{padding:9px 15px max(9px,env(safe-area-inset-bottom));background:#faf7f2f5;border-color:#e5dbd1}nav.tabs .in{max-width:760px;gap:4px}nav.tabs button{font-size:9px;min-height:53px;gap:5px;font-weight:500}nav.tabs button svg{width:19px;height:19px}nav.tabs button[aria-current=page]{background:#eae0ef;color:#6b4489}.toast{background:#f2e6ed;border:1px solid #e0cbe2;box-shadow:0 25px 70px #30243730}
@media(min-width:650px) and (max-width:999px){.welcome-hero{display:grid;grid-template-columns:.9fr 1.1fr}.hero-landscape{height:auto;min-height:390px}.hero-content{padding:30px}.hero-content h1{font-size:40px}.hero-seal{right:16px;bottom:18px}.prog{grid-template-columns:repeat(4,1fr)}.prog .program-card{padding:18px 12px}.pt b{font-size:18px}.hero-meta{font-size:7px}}
@media(min-width:1000px){body{padding-left:calc(36% + 48px);padding-right:48px}.brand-rail{width:36%;padding:42px 38px;background:#5d4355;color:white;isolation:isolate}.rail-landscape{position:absolute;width:100%;height:100%;max-width:none;object-fit:cover;object-position:48% center;inset:0;z-index:-3}.rail-shade{position:absolute;inset:0;background:linear-gradient(180deg,#251e3059 0%,#3022351f 25%,#251d3860 50%,#251b35a3 100%);z-index:-2}.rail-logo{color:#fffbef;letter-spacing:-.075em;font-size:40px}.rail-logo span{color:#ffe2b9;margin-left:1px}.rail-logo i{color:#ffe2b9;font-size:25px;margin-left:13px}.rail-copy{margin-top:auto;margin-bottom:58px}.rail-copy .edition{display:block;color:#f7e6da;font-size:8px;letter-spacing:.14em;font-weight:500;line-height:1.8}.rail-copy h2{font-family:var(--display);font-size:clamp(35px,3.8vw,62px);line-height:1.04;letter-spacing:-.065em;margin:22px 0}.rail-copy h2 em{font-family:var(--serif);font-weight:400;color:#ffe3ce;letter-spacing:-.04em}.rail-copy>p{color:#f5e7e4;font-size:13px;line-height:1.8}.rail-note{display:flex;align-items:center;gap:16px;padding-top:20px;margin-top:25px;border-top:1px solid #ffffff40}.rail-note>span{font-family:var(--serif);font-size:38px;color:#ffe4cb}.rail-note p{font-size:10px;color:#f7e7df;line-height:1.7}.rail-foot{display:flex;justify-content:space-between;gap:10px;font-size:7px;letter-spacing:.1em;border-top:1px solid #ffffff40;padding-top:18px;color:#f7e6dd}.rail-foot span{color:inherit;font-size:inherit}nav.tabs{left:36%;padding-left:48px;padding-right:48px}header.top{padding:27px 0 23px}.hero-landscape{height:260px}.hero-content{padding:30px}.hero-content h1{font-size:49px}.hero-content p{font-size:14px}.hero-cta{max-width:310px}.hero-meta{max-width:310px}.app-shell{padding-bottom:35px}}
@media(min-width:1450px){body{padding-left:calc(36% + 70px);padding-right:70px}.welcome-hero{display:grid;grid-template-columns:.85fr 1.15fr}.hero-landscape{height:auto;min-height:420px}.hero-content{padding:36px 28px}.hero-content h1{font-size:42px}.hero-meta{font-size:7px}.hero-content .eyebrow{font-size:7px}.prog{grid-template-columns:repeat(4,1fr)}.prog .program-card{padding:20px 13px}.pt b{font-size:18px}nav.tabs{padding-left:70px;padding-right:70px}}
@media(max-width:380px){body{padding-inline:16px}.hero-content{padding:25px 20px}.hero-content h1{font-size:34px}.hero-meta{font-size:7px}.prog .program-card{padding:17px 13px;min-height:208px}.pt b{font-size:18px}.manifesto p{font-size:25px}.hero-landscape{height:218px}.logo{font-size:31px}.logo small{font-size:7px}}
@media(prefers-reduced-motion:no-preference){#view>section,#view>.dayhead{animation:reveal .4s ease both}@keyframes reveal{from{opacity:.4;transform:translateY(9px)}to{opacity:1;transform:none}}}
