:root{--ink:#473b49;--muted:#8b7d88;--pink:#bd738d;--paper:#fbf8f5;--line:#eee5e9;--lav:#eee8f6}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Khmer OS",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0}button:focus-visible,a:focus-visible{outline:3px solid #b498cc;outline-offset:3px}button{transition:transform .18s,background .18s}button:active{transform:scale(.97)}a{color:#96627a}h1,h2,h3,p{margin:0}h1{font:500 38px/1.2 Georgia,serif;letter-spacing:-1px}h2{font:500 26px/1.3 Georgia,serif}h3{font-size:16px;font-weight:600}small,.muted{color:var(--muted)}small{font-size:12px}.shell{max-width:1160px;margin:auto;padding:30px 36px 110px}.brand{font:italic 38px Georgia;color:#a36983;letter-spacing:-2px}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px}.brand span{font:11px sans-serif;letter-spacing:2px;display:block;color:var(--muted);margin-top:8px}.lang{border:1px solid var(--line);border-radius:30px;padding:8px 14px;background:white;max-width:145px}.greeting{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:27px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:700;color:var(--pink);margin-bottom:10px}.grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}.card{background:#fff;border:1px solid var(--line);padding:25px;border-radius:24px;margin-bottom:20px;box-shadow:0 8px 35px #68506804}.hero{background:linear-gradient(125deg,#f7e4e9,#f2eafa);position:relative;overflow:hidden;min-height:275px;display:flex;align-items:center;gap:25px}.hero p{margin:12px 0;max-width:280px}.orb{width:155px;height:155px;flex-shrink:0;border:1px solid #fff9;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at 35% 25%,#fff9,#eac3d880);box-shadow:0 0 0 13px #fff3,0 0 0 26px #fff2}.orb strong{font:48px Georgia}.orb small{color:#936783}.btn{background:var(--pink);color:white;border-radius:14px;padding:12px 20px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.light{background:#fff9;color:#87556e}.btn.outline{background:transparent;border:1px solid var(--line);color:var(--ink)}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.stack>*+*{margin-top:16px}.section{margin:27px 0 16px}.pill{display:inline-block;background:#f6edf1;color:#a56580;border-radius:20px;padding:6px 12px;font-size:12px}.goals .row{padding:15px 0;border-bottom:1px solid #f3edf0}.goals .row:last-child{border-bottom:0}.check{height:27px;width:27px;border-radius:50%;border:1px solid #dccbd4;background:white;flex-shrink:0}.check.yes{background:#baa8cb;color:white;border-color:#baa8cb}.iconbox{height:44px;width:44px;display:grid;place-items:center;background:#f8eff2;border-radius:15px;font-size:23px;flex-shrink:0}.grow{flex:1}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:15px}.metrics .card{padding:20px}.big{font:32px Georgia;margin:8px 0}.waterdrops{letter-spacing:5px;color:#b5bfd9;font-size:23px}.moods{display:flex;gap:10px;justify-content:space-between;margin-top:20px}.moods button{background:#fbf7f9;border-radius:16px;padding:10px 5px;flex:1;font-size:27px}.moods button small{display:block;font-size:10px}.selected{box-shadow:inset 0 0 0 2px #bc849e!important;background:#f5e6ed!important}.nav{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);display:flex;background:#fffc;backdrop-filter:blur(20px);border:1px solid #eee5e9;box-shadow:0 8px 35px #5b3d5b12;padding:8px;border-radius:24px;z-index:5;max-width:95%;width:550px}.nav button{background:transparent;flex:1;border-radius:17px;padding:9px 5px;font-size:11px}.nav b{display:block;font-size:21px;font-weight:400;line-height:1.5}.nav .active{background:#f3e7ed;color:#a15f7d}.banner{background:#efedf6;border-radius:18px;padding:19px;display:flex;gap:15px;margin-bottom:20px}.banner p{font-size:13px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;text-align:center;margin-top:20px}.calendar button{aspect-ratio:1;background:#faf7f9;border-radius:50%;position:relative}.calendar button.period{background:#edc8d6}.calendar button.pred{border:1px dashed #c88da4;background:#fff5f8}.calendar button.today{font-weight:bold;text-decoration:underline}.calendar button.logged:after{content:'•';position:absolute;bottom:-3px;left:45%;color:#8b6daa}.field{display:block;margin:15px 0}.field span{display:block;margin-bottom:6px;font-size:13px}input,textarea,select{border:1px solid #e6dce3;background:#fff;border-radius:12px;padding:12px;width:100%;color:var(--ink)}input[type=checkbox]{width:20px;height:20px;accent-color:var(--pink)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips button{padding:9px 15px;border-radius:20px;background:#f8f3f6}.progress{height:7px;border-radius:10px;background:#f2e9ed;overflow:hidden;margin:12px 0}.progress i{height:100%;display:block;background:#c99ab0;border-radius:10px}.notice{font-size:12px;color:#887b85;margin-top:15px}.welcome{max-width:600px;margin:4vh auto}.welcome .hero{justify-content:center;min-height:190px;margin-top:20px}.welcome h1{font-size:42px;margin:25px 0 12px}.modecards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.modecards button{padding:20px 8px;border-radius:16px;background:#f6f0f5;border:1px solid var(--line)}.modecards b{display:block;font-size:25px;margin-bottom:7px}#toast{position:fixed;left:50%;bottom:115px;transform:translateX(-50%);background:#55465d;color:white;padding:10px 22px;border-radius:20px;z-index:10;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90%}#toast.show{opacity:1}.bars{display:flex;align-items:end;gap:10px;height:140px;padding-top:20px}.bar{flex:1;text-align:center;font-size:10px;color:var(--muted)}.bar i{display:block;background:#d5bfdc;border-radius:8px 8px 3px 3px;min-height:2px}.workart{height:140px;border-radius:18px;background:linear-gradient(130deg,#e8e4f3,#f8ece9);display:grid;place-items:center;margin-bottom:18px}.workart svg{height:115px;width:160px}.timer{font:64px Georgia;text-align:center;margin:20px}.danger{color:#ab5063}.full{width:100%}footer{text-align:center;font-size:12px;color:var(--muted);margin-top:20px}.animate{animation:appear .3s ease}@keyframes appear{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.shell{padding:22px 20px 120px}.top{margin-bottom:27px}.brand{font-size:32px}.brand span{font-size:9px}.grid{grid-template-columns:1fr;gap:0}h1{font-size:32px}.greeting{align-items:start}.greeting .pill{font-size:10px}.card{padding:21px}.hero{min-height:245px;gap:20px}.orb{width:115px;height:115px;box-shadow:0 0 0 9px #fff3,0 0 0 18px #fff2}.orb strong{font-size:39px}.hero h2{font-size:25px}.hero p{font-size:13px}.nav{bottom:0;max-width:100%;width:100%;border-radius:22px 22px 0 0;padding-bottom:max(12px,env(safe-area-inset-bottom))}.moods button small{font-size:9px}.welcome{margin:0}.welcome h1{font-size:35px}.modecards button{font-size:12px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.recovery-panel{background:#f7f2f9;padding:18px;border-radius:18px}.history-row{width:100%;background:transparent;padding:16px 0;border-bottom:1px solid var(--line);text-align:left}.history-row:last-child{border:0}button:disabled{opacity:.45;cursor:not-allowed}.field input:focus,.field textarea:focus{outline:2px solid #c49bb1;outline-offset:2px}

/* Full composition, without cropping the figure on small cards. */
.workart{height:auto;aspect-ratio:3/2;overflow:hidden;background:#fbf4ec}.workart .mindful-art{width:100%;height:100%;display:block;object-fit:contain;border-radius:inherit}

.line-icon{width:23px;height:23px;vertical-align:middle;display:inline-block}.nav b{height:29px}.privacy-pill{display:flex;align-items:center;gap:5px;white-space:nowrap}.privacy-pill .line-icon{width:15px}.chapter-detail{padding:0 20px 23px;margin-top:-5px}.hero{margin-bottom:12px}.hero .orb{flex-shrink:0}.quick-check .moods{margin-bottom:20px}.quick-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:18px 0}.mini-stat{padding:15px;border-radius:18px;background:#faf5f7;display:grid;gap:9px;text-align:center;min-width:0}.mini-stat>span{font-size:13px;display:flex;align-items:center;justify-content:center;gap:5px}.mini-stat strong{font-size:24px}.mini-stat input{text-align:center;padding:5px;min-height:44px;font-size:22px;width:100%;background:#fff9}.stepper{background:white;width:36px;height:44px;border-radius:12px;font-size:22px;flex-shrink:0}.calendar{gap:6px}.calendar button{min-height:36px}.calendar button.selected{outline:2px solid #835371;outline-offset:2px;box-shadow:none!important}.calendar button.period{background:#edc8d6!important}.calendar button.pred{background:repeating-linear-gradient(135deg,#fff9fc,#fff9fc 4px,#f4e4ed 4px,#f4e4ed 7px)!important;border:2px dashed #b57190}.calendar-key{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0;font-size:11px;color:var(--muted)}.calendar-key span{display:flex;align-items:center;gap:6px}.calendar-key i{width:13px;height:13px;display:inline-block;border-radius:4px}.key-period{background:#edc8d6}.key-pred{border:1px dashed #b57190}.key-log{background:#8b6daa;width:5px!important;height:5px!important;border-radius:50%!important}fieldset{border:0;padding:0;margin:0;min-width:0}fieldset>*+*{margin-top:16px}fieldset:disabled{opacity:.5}.session-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.session-controls .btn{flex:1;min-height:48px}.session-card{max-width:650px;margin:auto}.session-card .eyebrow{margin-top:25px}.session-card h2,.session-card .eyebrow{text-align:center}.session-complete{max-width:540px;margin:auto;text-align:center;padding:35px}.complete-mark{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;background:#e9e3f2;color:#89639d;font-size:36px}.safety-card summary{cursor:pointer;font-weight:600}.safety-card a{display:inline-block;margin-top:12px}.quick-check .btn{min-height:48px}@media(max-width:720px){.greeting{flex-wrap:wrap;gap:10px}.privacy-pill{font-size:10px}.hero{min-height:240px}.hero .orb{width:100px;height:100px}.hero h2{font-size:24px}.quick-fields{gap:10px}.mini-stat{padding:12px 9px}.mini-stat .row{gap:4px}.stepper{width:32px}.session-controls .btn{font-size:13px;padding:11px 12px}input,select,textarea{font-size:16px}.top .lang{font-size:14px}.calendar button{font-size:14px}.chapter-detail{padding-left:8px;padding-right:8px}}@media(max-width:360px){.shell{padding-left:14px;padding-right:14px}.hero{padding:18px}.hero .orb{width:85px;height:85px}.hero h2{font-size:21px}}
/* Luna Studio — V1.3 visual and sensory system */
:root{--ink:#443540;--muted:#7d6c78;--pink:#a6607b;--paper:#fcf8f5;--line:#eee3e8;--shadow:0 12px 40px -25px #71466345;--ease:cubic-bezier(.22,.8,.3,1)}
body{background:radial-gradient(ellipse at 90% 0,#f1e9f5 0,transparent 45%),var(--paper);-webkit-font-smoothing:antialiased}h1{letter-spacing:-1.3px}h2{letter-spacing:-.55px}p{overflow-wrap:anywhere}.shell{max-width:1160px;padding-top:28px}.top{padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:30px}.brand{font-size:43px}.brand span{font-size:9px;letter-spacing:2.4px}.lang{background:#ffffffa6;border-color:#e8dbe3;box-shadow:0 3px 10px #57364804}.greeting{margin-bottom:28px}.greeting h1{font-size:38px;line-height:1.3}.greeting .muted{margin-top:7px}.greeting-flower{display:inline-block;margin-left:12px;color:#bd95ae;font-size:29px;vertical-align:middle}.eyebrow{color:#915d78;letter-spacing:1.6px;font-size:10px}.card{border-color:#eee4e9;border-radius:26px;box-shadow:var(--shadow);background:#fffc}.btn{min-height:46px;border-radius:16px;box-shadow:0 6px 15px -8px #9d5b7c66;transition:transform .2s var(--ease),background .2s,box-shadow .2s}.btn.outline{box-shadow:none;background:#ffffff80}.btn:active,.stepper:active,.round-action:active{transform:scale(.95)}.text-btn{background:transparent;color:#9c6480;font-size:23px;min-width:44px;min-height:44px;border-radius:50%}.home-primary{display:grid;grid-template-columns:1.12fr 1fr;gap:24px;align-items:stretch}.home-secondary{display:grid;grid-template-columns:1.12fr 1fr;gap:24px}.chapter-card{position:relative;isolation:isolate;background:linear-gradient(135deg,#f6e0e7 0%,#ece5f5 100%);padding:26px;border:1px solid #fff;border-radius:28px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:20px}.chapter-card:before{content:'';position:absolute;width:280px;height:280px;border:1px solid #ffffff80;border-radius:50%;right:-95px;top:-115px;z-index:-1}.chapter-top{margin-bottom:28px}.chapter-top .pill{background:#ffffff85;display:flex;gap:8px;align-items:center;color:#82566e}.chapter-top .pill svg{width:17px;height:17px}.chapter-main{display:grid;grid-template-columns:1fr 156px;align-items:center;gap:12px}.chapter-main h2{font-size:32px;max-width:220px;line-height:1.18}.chapter-main p{margin-top:17px;font-size:13px;color:#806778}.chapter-main strong{font-weight:600;color:#644356}.chapter-ring{width:156px;height:156px;position:relative;display:grid;place-items:center;filter:drop-shadow(0 6px 10px #b58ca515)}.chapter-ring>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.ring-track,.ring-value{fill:none;stroke-width:4}.ring-track{stroke:#ffffffaa}.ring-value{stroke:#b27997;stroke-linecap:round;transition:stroke-dasharray .65s var(--ease)}.chapter-ring>div{text-align:center;border-radius:50%;width:125px;height:125px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 30% 10%,#fff9,#f1d8e94d)}.chapter-ring strong{font:52px/1.1 Georgia,serif;color:#77536b}.chapter-ring small{font-size:11px;color:#86677a}.chapter-ring span{font-size:10px;color:#86677a;margin-top:3px}.chapter-card .chapter-detail{padding:0;margin:22px 0}.chapter-card .chapter-detail>.progress{display:none}.chapter-card .notice{font-size:11px;margin-top:6px;color:#806879}.chapter-card>.btn{background:#ffffffb0;color:#80566f;box-shadow:none;border:1px solid #fff;margin-top:4px}.quick-check{margin-bottom:20px;padding:26px;display:flex;flex-direction:column;justify-content:center}.quick-check h2{font-size:25px}.quick-check .eyebrow{margin-bottom:4px}.quick-check .notice{margin-top:9px}.moods{gap:7px;margin-top:20px}.moods button{background:transparent;padding:9px 3px 5px;border:1px solid transparent;border-radius:18px;min-width:0;font-size:13px;position:relative}.moods button.selected{box-shadow:none!important;border-color:#dab4c7;background:#faf0f5!important}.moods button small{font-size:10px;color:#786371;margin-top:7px}.mood-face{display:block;width:43px;height:43px;margin:0 auto;transition:transform .3s var(--ease);color:#ecd8cf}.mood-great{color:#f4dcb6}.mood-good{color:#eddbce}.mood-okay{color:#dee4d8}.mood-low{color:#e1dfeb}.mood-tired{color:#d4d9e9}.mood-dot{display:block;width:4px;height:4px;border-radius:50%;margin:6px auto 0;background:transparent}.selected .mood-dot{background:#ad7292}.moods button.selected .mood-face{transform:translateY(-3px) rotate(-4deg)}.quick-fields{margin:5px 0 18px}.mini-stat{background:#f7f3f8;border:1px solid #f0e9f1;border-radius:20px}.mini-stat:first-child{background:#f3f5fa;border-color:#e9edf5}.mini-stat>.row{min-height:44px}.mini-stat strong{font-family:Georgia,serif;font-size:27px}.mini-stat input{border:0;box-shadow:none;background:#fff9}.mini-stat input:focus{outline:2px solid #bc99af}.mini-stat>span .line-icon{width:17px;height:17px;color:#9f7f99}.stepper{color:#97728d;border:1px solid #ede6ef;font-size:20px}.section{margin-top:18px}.home-secondary h2{font-size:26px}.goal-overview{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;padding:0 0 16px}.goal-overview>strong{font:28px Georgia;color:#825a75}.goal-overview>strong small{font:14px sans-serif}.goal-overview>span{font-size:12px;color:var(--muted)}.goal-segments{grid-column:1/-1;display:flex;gap:6px;margin-top:10px}.goal-segments i{height:5px;flex:1;background:#f0e7ef;border-radius:10px;transition:background .3s}.goal-segments i.filled{background:#b69ac5}.iconbox{background:#f5eef5;color:#a47c96;border-radius:16px}.goals .row:nth-child(2) .iconbox{background:#edf1f7;color:#8b9cba}.goals h3{font-size:14px}.check{width:36px;height:36px;font-size:18px;border-color:#e4d8e2}.check.yes{background:#a58cb6;border-color:#a58cb6;box-shadow:0 3px 8px #a58cb622}.movement-teaser{padding:9px;overflow:hidden}.movement-teaser .workart{border-radius:20px;margin:0}.teaser-copy{padding:18px 15px;display:flex;justify-content:space-between;align-items:center;gap:12px}.teaser-copy .eyebrow{font-size:9px}.teaser-copy h3{font:23px Georgia;margin-top:4px}.round-action{width:46px;height:46px;border-radius:50%;background:#f0e6ee;color:#95647f;font-size:25px}.care-drawer{border:1px solid var(--line);border-radius:22px;padding:5px 22px;background:#fff7;margin:10px 0 20px}.care-drawer>summary{cursor:pointer;list-style:none;display:flex;gap:12px;align-items:center;font-size:14px;padding:17px 0}.care-drawer>summary::-webkit-details-marker{display:none}.care-drawer>summary span{margin-left:auto;font-size:22px}.care-drawer[open]>summary span{transform:rotate(45deg)}.care-drawer>.grid{padding-top:12px}.care-drawer .card{background:#fff9}.nav{border-radius:27px;background:#fffef9e8;border:1px solid #ffffff;box-shadow:0 12px 45px #5c3b5620,0 0 0 1px #eee3eb80;padding:7px;width:520px;backdrop-filter:blur(22px)}.nav button{border-radius:21px;padding:10px 5px;position:relative;color:#8c7b87}.nav button.active{background:#efe4ee;color:#875d7c}.nav button .line-icon{width:23px;height:23px;transition:transform .3s var(--ease)}.nav button.active .line-icon{transform:translateY(-2px)}.nav button.active:after{content:'';height:3px;width:12px;border-radius:3px;background:#b286a3;position:absolute;left:calc(50% - 6px);bottom:4px}.field span{font-weight:500;color:#6e5868}input,select,textarea{border-color:#e6dce4;transition:border-color .2s,box-shadow .2s}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #c19bb5;outline-offset:2px}.chips button{border:1px solid #f0e6ed;min-height:42px}.calendar button{border-radius:15px}.calendar button.today{text-decoration:none;border:1px solid #c9adc1}.calendar button.selected{outline-offset:0;background:#f4e5ef!important}.progress i{background:linear-gradient(90deg,#bf9cb6,#aa98c7);transition:width .5s var(--ease)}.bar i{background:linear-gradient(#c2a6ce,#e0cfe6)}.experience-card{background:linear-gradient(140deg,#fff,#f5edf7)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0;border-bottom:1px solid #eee4ec;cursor:pointer}.setting-row>span{display:grid;gap:6px}.setting-row strong{font-size:14px}.setting-row small{font-size:12px;line-height:1.6}.switch[type=checkbox]{appearance:none;width:48px;height:28px;padding:0;flex-shrink:0;border:0;border-radius:20px;background:#dcd2dc;position:relative;transition:background .2s}.switch:before{content:'';position:absolute;width:22px;height:22px;top:3px;left:3px;border-radius:50%;background:white;box-shadow:0 2px 5px #64445b25;transition:transform .25s var(--ease)}.switch:checked{background:#ad88a7}.switch:checked:before{transform:translateX(20px)}input[type=range]{accent-color:#a77d9c;padding:0;border:0;min-height:36px;background:transparent}.completion-halo{position:relative;width:130px;height:120px;margin:auto}.completion-halo .complete-mark{position:absolute;left:26px;top:12px;background:linear-gradient(135deg,#ede3f3,#f5e2eb);color:#9979a7}.completion-halo>i{position:absolute;width:8px;height:8px;background:#d5b3ce;border-radius:50%;left:10px;top:20px}.completion-halo>i:nth-child(2){left:112px;top:30px;background:#d5d8bc}.completion-halo>i:nth-child(3){left:15px;top:95px;background:#e9c9ba}.completion-halo>i:nth-child(4){left:110px;top:90px}.session-controls{position:sticky;bottom:110px;padding:10px;border:1px solid #eee4ec;border-radius:22px;background:#fffc;backdrop-filter:blur(12px)}#toast{border:1px solid #ffffff33;background:#6b5266ee;backdrop-filter:blur(15px);font-size:13px;box-shadow:0 8px 25px #604b5c26;padding:13px 23px;bottom:115px;border-radius:18px}.touch-bloom{position:fixed;pointer-events:none;z-index:99;width:20px;height:20px;border-radius:50%;background:#b790ae35;margin:-10px 0 0 -10px;animation:touch-bloom .55s ease-out forwards}.animate{animation:page-in .4s var(--ease)}@keyframes page-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes touch-bloom{to{opacity:0;transform:scale(3.3)}}@keyframes ring-reveal{from{opacity:0;stroke-dasharray:0 100}to{opacity:1}}@keyframes petal-in{from{opacity:0;transform:scale(.3) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes icon-in{from{transform:translateY(4px) scale(.85)}to{transform:translateY(-2px) scale(1)}}html[data-motion=on] .animate .ring-value{animation:ring-reveal .9s var(--ease)}html[data-motion=on] .completion-halo>i{animation:petal-in .6s var(--ease) both}html[data-motion=on] .completion-halo>i:nth-child(2){animation-delay:.08s}html[data-motion=on] .completion-halo>i:nth-child(3){animation-delay:.16s}html[data-motion=on] .completion-halo>i:nth-child(4){animation-delay:.24s}html[data-motion=on] .nav .active .line-icon{animation:icon-in .35s var(--ease)}@media(hover:hover){.btn:hover{box-shadow:0 8px 18px -7px #9d5b7c50;transform:translateY(-1px)}.moods button:hover .mood-face{transform:translateY(-3px)}.history-row:hover{background:#faf3f8}.text-btn:hover{background:#f3e7f0}}@media(max-width:720px){.shell{padding:20px 18px 135px}.top{padding-bottom:18px;margin-bottom:25px}.brand{font-size:37px}.brand span{font-size:8px;letter-spacing:1.3px}.greeting h1{font-size:31px}.greeting .muted{font-size:13px}.greeting-flower{font-size:24px}.greeting .privacy-pill{display:none}.home-primary,.home-secondary{display:block}.chapter-card{padding:22px;margin-bottom:20px;border-radius:27px}.chapter-top{margin-bottom:20px}.chapter-main{grid-template-columns:1fr 136px;gap:8px}.chapter-main h2{font-size:30px}.chapter-ring{width:136px;height:136px}.chapter-ring>div{width:108px;height:108px}.chapter-ring strong{font-size:45px}.chapter-card .chapter-detail{margin:18px 0}.quick-check{padding:22px}.quick-check h2{font-size:25px}.mood-face{width:42px;height:42px}.moods button small{font-size:10px}.quick-check .moods{margin-bottom:18px}.nav{bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 28px);max-width:480px;border-radius:25px;padding:6px}.nav button{font-size:10px;padding:9px 3px;border-radius:20px}.nav b{height:27px}.section h2,.home-secondary h2{font-size:25px}.card{padding:22px}.movement-teaser{padding:8px}.chapter-card .eyebrow{font-size:9px;letter-spacing:.8px}.care-drawer{padding-left:18px;padding-right:18px}.session-controls{bottom:102px}.session-controls .btn{font-size:12px;padding:10px 8px}.experience-card .eyebrow{font-size:9px}}@media(max-width:360px){.shell{padding-left:14px;padding-right:14px}.chapter-card{padding:18px}.chapter-main{grid-template-columns:1fr 114px}.chapter-main h2{font-size:27px}.chapter-ring{width:114px;height:114px}.chapter-ring>div{width:90px;height:90px}.chapter-ring strong{font-size:37px}.mood-face{width:36px;height:36px}.quick-check{padding:18px}.quick-check h2{font-size:23px}.mini-stat{padding:10px 7px}.nav button{font-size:9px}}html[lang=km] h1,html[lang=km] h2{font-family:-apple-system,BlinkMacSystemFont,'Khmer OS',sans-serif;line-height:1.55;letter-spacing:0}html[lang=km] .chapter-main h2{font-size:24px}html[lang=km] .eyebrow{letter-spacing:0}html[lang=km] .moods button small{font-size:10px}html[lang=zh] h1,html[lang=zh] h2{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;letter-spacing:0;line-height:1.4}html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.touch-bloom{display:none}}
/* V1.4 history and descriptive insights */
.period-history form{padding:16px 0 22px}.period-timeline{border-top:1px solid var(--line);padding-top:8px;max-height:440px;overflow:auto}.period-row{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid #f1e9ee}.period-row:last-child{border:0}.period-marker{width:10px;height:10px;border-radius:50%;background:#d9abc0;flex-shrink:0;margin-top:8px;box-shadow:0 0 0 5px #f8edf3}.period-row strong{font-size:14px}.period-row .notice{margin-top:5px}.period-actions{display:flex;gap:16px;margin-top:8px}.text-link{background:none;padding:7px 0;font-size:12px;color:#90687f;min-height:36px}.text-link.danger{color:#a95869}.method-note{margin-top:20px;border-top:1px solid var(--line);padding-top:16px;font-size:13px}.method-note summary{cursor:pointer;font-weight:600}.insights-panel>.section{margin-top:30px;flex-wrap:wrap}.range-control{display:flex;gap:3px;padding:4px;background:#f0e9f1;border-radius:15px}.range-control button{padding:9px 12px;border-radius:12px;font-size:12px;background:transparent;min-height:40px}.range-control .active{background:#fff;color:#8b627e;box-shadow:0 2px 7px #75506310}.insight-coverage{display:flex;gap:14px;align-items:center;padding:18px 0 24px}.insight-coverage strong{font:26px Georgia;color:#866079;white-space:nowrap}.insight-coverage span{font-size:12px;color:var(--muted)}.insight-number{font:42px Georgia;margin:15px 0 5px;color:#7b5c79}.sleep-chart{height:130px;display:flex;align-items:end;gap:3px;margin-top:25px}.sleep-column{flex:1;min-width:1px;height:100%;display:flex;align-items:end}.sleep-column i{display:block;width:100%;border-radius:6px 6px 2px 2px;background:linear-gradient(#b5a1ca,#dcd1e6)}.sleep-column i.missing{background:#eee8ed}.sleep-values{max-height:230px;overflow:auto;padding-top:10px}.sleep-values .row{padding:8px 0;border-bottom:1px solid var(--line);font-size:12px}.distribution-row{display:flex;align-items:center;gap:13px;margin-top:17px}.distribution-row .mood-face{width:34px;height:34px;margin:0}.distribution-row .row{font-size:12px}.distribution-row .progress{margin:6px 0;height:5px}.symptom-frequency{display:flex;align-items:center;gap:16px;margin-top:18px;font-size:13px}.symptom-frequency>span{width:105px;flex-shrink:0}.symptom-frequency .progress{margin:0}.symptom-frequency strong{font-size:12px;white-space:nowrap}@media(max-width:720px){.insight-coverage{align-items:start}.range-control button{padding:8px 11px}.symptom-frequency{gap:10px}.symptom-frequency>span{width:95px}.sleep-chart{gap:2px}}
