:root{--ink:#263b48;--muted:#73818a;--bg:#fbfaf7;--card:#fff;--line:#e8e5de;--accent:#527e91;--accent2:#dfecef;--soft:#f0f5f3;--beige:#f5efe6;--brown:#665b53}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button{cursor:pointer}main{max-width:520px;margin:auto;min-height:100dvh;padding:22px 20px calc(46px + env(safe-area-inset-bottom))}.brand{font-size:12px;letter-spacing:.16em;margin-bottom:34px;color:#536a77}.screen{animation:fade .18s ease}.eyebrow{font-size:12px;color:var(--muted);letter-spacing:.08em}.title{font-size:27px;line-height:1.48;margin:8px 0 16px;letter-spacing:.02em}.lead{line-height:1.9;color:#53636c}.btn,.choice{width:100%;min-height:54px;border:0;border-radius:17px;padding:15px 18px;font-size:16px;margin-top:12px;background:var(--accent);color:#fff}.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.choice{background:#fff;color:var(--ink);border:1px solid var(--line);text-align:left}.choice:active,.mood:active,.tag:active{transform:scale(.99)}.progress{display:flex;gap:6px;margin:8px 0 30px}.dot{height:5px;flex:1;background:#e8e6e0;border-radius:5px}.dot.on{background:#88aeb4}.field{width:100%;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff;font-size:16px;color:var(--ink);outline:none}.field:focus{border-color:#9eb8c1;box-shadow:0 0 0 3px #e9f1f3}.note{min-height:140px;resize:vertical;line-height:1.7}.small{font-size:13px;color:var(--muted);line-height:1.7}.moods{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:24px 0}.mood{border:1px solid var(--line);background:#fff;border-radius:20px;padding:13px 8px 11px;text-align:center;font-size:13px;color:var(--ink);min-height:112px}.mood:nth-child(3){grid-column:1/-1;width:calc(50% - 5px);justify-self:center}.mii{width:56px;height:62px;margin:0 auto 6px;position:relative;transform-origin:center top}.mii .head,.mii .hair,.mii .cowlick,.mii .eye,.mii .mouth,.mii .body{transform-origin:0 0}.mii{--ms:.8}.mii>.head,.mii>.hair,.mii>.cowlick,.mii>.eye,.mii>.mouth,.mii>.body{zoom:.8}.head{position:absolute;left:10px;top:8px;width:50px;height:48px;border:2px solid var(--brown);border-radius:47% 53% 48% 52%;background:#fffdf9}.hair{position:absolute;left:9px;top:3px;width:52px;height:25px;border-top:5px solid var(--brown);border-radius:50% 52% 30% 25%;transform:rotate(-2deg)}.cowlick{position:absolute;left:35px;top:-1px;width:12px;height:13px;border-left:2px solid var(--brown);border-radius:70% 0 0 0;transform:rotate(34deg)}.eye{position:absolute;top:26px;width:4px;height:5px;background:var(--brown);border-radius:50%}.eye.l{left:24px}.eye.r{right:24px}.mouth{position:absolute;left:50%;transform:translateX(-50%);top:39px;width:14px;height:6px;border-bottom:2px solid var(--brown);border-radius:0 0 14px 14px}.body{position:absolute;left:20px;top:53px;width:30px;height:21px;border:2px solid var(--brown);border-bottom:0;border-radius:13px 13px 5px 5px;background:#fffdf9}.mii.neutral .mouth{height:0;width:10px;border-radius:0}.mii.tired{transform:rotate(3deg)}.mii.tired .mouth,.mii.hard .mouth{border-bottom:0;border-top:2px solid var(--brown);border-radius:14px 14px 0 0;top:42px}.mii.tired:after{content:"ふぅ";position:absolute;right:-4px;top:24px;font-size:10px;color:#9aa7ad}.mii.hard{transform:translateY(4px) scale(.94)}.mii.hard .head{top:13px}.mii.hard .body{top:56px;height:16px}.mii.good{transform:translateY(-2px)}.mii.good:after{content:"✦";position:absolute;right:2px;top:10px;color:#93aaa0;font-size:15px}.mii.ok .mouth{width:10px}.tags{display:flex;flex-wrap:wrap;gap:10px}.tag{border:1px solid var(--line);background:#fff;border-radius:999px;padding:12px 15px;color:var(--ink)}.tag.sel{background:var(--soft);border-color:#9dbab5}.card{background:#fff;border:1px solid var(--line);border-radius:19px;padding:18px;margin:14px 0}.timeline{display:flex;gap:8px;overflow-x:auto;padding:10px 1px 14px}.day{min-width:58px;text-align:center}.day .mini{transform:scale(.62);margin:-10px auto -13px}.day.missed{padding-top:27px;color:#a6adb0}.check{display:flex;gap:10px;align-items:flex-start;margin:12px 0}.check input{margin-top:5px}.divider{height:1px;background:var(--line);margin:24px 0}.daypill{display:inline-block;background:var(--beige);border-radius:999px;padding:8px 12px;margin-bottom:9px;font-size:12px;color:#6e6a65}.hero-mii{margin:24px auto 8px;transform:scale(1.05);height:76px}.support-mii{margin:20px auto 2px;transform:scale(.92);height:62px}.finish-mark{display:flex;align-items:flex-end;justify-content:center;gap:10px;margin:24px auto 6px;min-height:68px}.finish-mark .mii{margin:0}.sprout{font-size:28px;line-height:1;color:#789b7d;transform:rotate(-38deg);display:inline-block;margin-bottom:8px}.center{text-align:center}.tagline{text-align:center;font-size:12px;color:#8a969b;letter-spacing:.08em;margin-top:20px}@keyframes fade{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}@media(min-width:700px){main{padding-top:46px}.title{font-size:31px}.moods{grid-template-columns:repeat(5,1fr)}.mood:nth-child(3){grid-column:auto;width:auto}.mood{min-height:112px}}
/* Ver.0.4: softer, less clinical */
:root{--bg:#fbf8f3;--card:#fffdf9;--line:#e9e2d8;--accent:#5f8e9c;--accent2:#e8f1ef;--soft:#edf5ef;--beige:#f7eee2;--brown:#71655d}
main{padding-left:22px;padding-right:22px}.brand{opacity:.78}.lead{color:#5e6d73}.btn{box-shadow:0 5px 16px rgba(70,95,100,.07)}.choice{background:#fffdf9;border-color:transparent;box-shadow:0 2px 10px rgba(90,78,65,.055)}
.promise-list{display:grid;gap:10px;margin:18px 0 24px}.promise-item{background:#fffdf9;border-radius:18px;padding:16px 17px;box-shadow:0 2px 12px rgba(90,78,65,.05)}.promise-item b{font-size:14px;line-height:1.55}.promise-item p{font-size:13px;line-height:1.75;color:var(--muted);margin:6px 0 0}
.mood{border:0;box-shadow:0 2px 12px rgba(90,78,65,.055);background:#fffdf9;min-height:124px}.mood:nth-child(1){background:#fff4ec}.mood:nth-child(2){background:#f1f6ed}.mood:nth-child(3){background:#f8f3e9}.mood:nth-child(4){background:#edf4f7}.mood:nth-child(5){background:#f2f0f6}
.mii{width:62px;height:72px;margin:0 auto 5px;position:relative;transform-origin:center bottom}.mii .head{position:absolute;left:8px;top:4px;width:46px;height:45px;border:2px solid var(--brown);border-radius:48%;background:#fffdf9}.mii .eye{position:absolute;top:23px;width:4px;height:5px;background:var(--brown);border-radius:50%}.mii .eye.l{left:22px}.mii .eye.r{left:39px}.mii .brow{position:absolute;top:17px;width:8px;border-top:1.5px solid var(--brown);border-radius:50%}.mii .brow.l{left:19px}.mii .brow.r{left:37px}.mii .mouth{position:absolute;left:27px;top:34px;width:10px;height:5px;border-bottom:2px solid var(--brown);border-radius:0 0 10px 10px}.mii .body{position:absolute;left:18px;top:49px;width:27px;height:21px;border:2px solid var(--brown);border-bottom:0;border-radius:14px 14px 5px 5px;background:#fffdf9}.mii .arm{position:absolute;top:55px;width:12px;border-top:2px solid var(--brown)}.mii .arm.l{left:12px;transform:rotate(18deg)}.mii .arm.r{left:39px;transform:rotate(-18deg)}
.mii.good{transform:translateY(-3px) rotate(-1deg)}.mii.good .mouth{width:13px;left:25px;height:7px}.mii.good .arm.l{transform:rotate(-28deg);top:51px}.mii.good .arm.r{transform:rotate(28deg);top:51px}.mii.good:after{content:'✦';position:absolute;right:-1px;top:9px;color:#92b5aa;font-size:13px}
.mii.ok .mouth{width:9px}.mii.neutral .mouth{height:0;width:9px;border-radius:0}.mii.neutral .brow{opacity:.65}
.mii.tired{transform:translateY(3px) rotate(4deg)}.mii.tired .brow.l{transform:rotate(10deg)}.mii.tired .brow.r{transform:rotate(-10deg)}.mii.tired .mouth,.mii.hard .mouth{border-bottom:0;border-top:2px solid var(--brown);border-radius:10px 10px 0 0;top:38px}.mii.tired .body{top:52px}.mii.tired .arm{top:59px}.mii.tired:after{content:'ふぅ';position:absolute;right:-7px;top:27px;font-size:9px;color:#9aa7ad}
.mii.hard{transform:translateY(7px) scale(.93)}.mii.hard .head{top:8px}.mii.hard .body{top:52px;height:17px}.mii.hard .arm.l{left:19px;top:58px;transform:rotate(34deg)}.mii.hard .arm.r{left:33px;top:58px;transform:rotate(-34deg)}.mii.hard .brow.l{transform:rotate(14deg)}.mii.hard .brow.r{transform:rotate(-14deg)}
.hero-mii{transform:scale(.9);height:72px}.support-mii{transform:scale(.82);height:58px}.finish-mark .mii{transform:scale(.86)}
.card{border:0;box-shadow:0 2px 12px rgba(90,78,65,.05)}
/* Ver.0.5: official Mii artwork supplied by the project */
.mii{display:none!important}
.mii-img{display:block;width:100%;height:auto;object-fit:contain;border-radius:18px}
.hero-mii .mii-img,.support-mii .mii-img{width:116px;margin:0 auto}
.moods .mood .mii-img{width:100%;max-width:132px;margin:0 auto 7px}
.mini .mii-img{width:58px;margin:0 auto}
.finish-mark .mii-img{width:104px;margin:0 auto}
.dev-tools{margin-top:26px;padding-top:18px;border-top:1px solid #ebe5dc;text-align:center}
.dev-tools span{display:block;font-size:12px;color:#938b82;margin-bottom:8px}
.text-btn{appearance:none;border:0;background:transparent;color:#607b83;text-decoration:underline;text-underline-offset:4px;font:inherit;font-size:14px;padding:8px;cursor:pointer}
/* Ver.0.6: official Mii image assets */
.mii-img{width:100%;height:100%;object-fit:contain;display:block;background:transparent}
.mood .mii-img{width:74px;height:88px;margin:0 auto 6px}
.hero-mii .mii-img,.support-mii .mii-img{width:96px;height:112px;margin:auto}
.mini .mii-img{width:46px;height:54px;margin:auto}

/* v0.7 embedded mii assets */
.mood .mii-img{display:block;width:78px;height:96px;object-fit:cover;object-position:center 45%;margin:0 auto 8px;border-radius:14px}.hero-mii .mii-img,.support-mii .mii-img{display:block;width:92px;height:112px;object-fit:cover;object-position:center 45%;margin:auto;border-radius:16px}.mini .mii-img{display:block;width:46px;height:56px;object-fit:cover;object-position:center 45%;margin:auto;border-radius:10px}.finish-mark .mii-img{display:block;width:88px;height:108px;object-fit:cover;object-position:center 45%;margin:auto;border-radius:16px}

/* Ver.0.7 FINAL CHECK — Mii placement + transparent artwork */
.mii-img{background:transparent!important;border-radius:0!important;object-fit:contain!important;object-position:center!important}
.hero-mii{height:118px!important;margin:24px auto 20px!important;transform:none!important;display:flex;align-items:center;justify-content:center;overflow:visible}
.hero-mii .mii-img{width:92px!important;height:116px!important;margin:0 auto!important}
.support-mii{height:108px!important;margin:20px auto 18px!important;transform:none!important;display:flex;align-items:center;justify-content:center}
.support-mii .mii-img{width:86px!important;height:106px!important;margin:0 auto!important}
.mood{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-top:12px}
.report-theme h2{font-size:19px}.report-theme h3{font-size:15px;margin-top:20px}.report-timeline .day{border-radius:12px;padding:5px 2px}.report-timeline .theme-day{background:var(--soft)}.missing-mark{height:48px;padding-top:13px;color:var(--muted)}.support-copy{font-size:13px;line-height:1.8;color:#53636c;border-top:1px solid var(--line);padding-top:14px}.choice.selected{background:var(--soft);border-color:#88aeb4}.screen [hidden]{display:none}.report-theme .timeline{margin-left:-8px;margin-right:-8px}
.mood .mii-img{width:78px!important;height:94px!important;margin:0 auto 7px!important}
.mini{height:60px;display:flex;align-items:center;justify-content:center}
.mini .mii-img{width:48px!important;height:58px!important;margin:0 auto!important}
.finish-mark{min-height:104px!important;align-items:center!important}
.finish-mark .mii-img{width:78px!important;height:98px!important;margin:0!important}
@media(max-width:390px){.hero-mii .mii-img{width:84px!important;height:106px!important}.mood .mii-img{width:70px!important;height:86px!important}.mood{font-size:12px}}

/* Phase 3 report finishing pass */
.report-timeline-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px 3px;margin:12px 0 16px;padding:0;overflow:visible}
.report-timeline-grid .day{min-width:0;width:auto;border-radius:11px;padding:5px 1px}
.report-timeline-grid .small{font-size:10px;white-space:nowrap}
.report-timeline-grid .mini{height:43px;margin:-3px auto -4px;transform:none}
.report-timeline-grid .mini .mii-img{width:36px!important;height:43px!important}
.report-timeline-grid .missing-mark{height:43px;padding-top:10px}
.report-summary>.report-theme{padding:4px 0 18px;border-bottom:1px solid var(--line)}
.report-summary>.report-theme:last-of-type{border-bottom:0}
.report-summary h3{font-size:15px;margin-top:20px}
.report-chart{margin:18px 0 8px}
.chart-direction{font-size:12px;color:var(--muted);line-height:1.4}
.chart-up{text-align:left;margin-bottom:4px}.chart-down{text-align:left;margin-top:4px}
.chart-canvas{position:relative;width:100%;aspect-ratio:320/174;background:#fffdf9;border-radius:15px}
.chart-canvas svg{display:block;width:100%;height:100%;overflow:visible}
.chart-axis{stroke:#d8d5ce;stroke-width:1}
.chart-line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.chart-point{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;border:4px solid #fffdf9;border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--accent);padding:0}
.chart-point[data-day="1"]{left:3.75%}.chart-point[data-day="2"]{left:10.87%}.chart-point[data-day="3"]{left:17.98%}.chart-point[data-day="4"]{left:25.10%}.chart-point[data-day="5"]{left:32.21%}.chart-point[data-day="6"]{left:39.33%}.chart-point[data-day="7"]{left:46.44%}.chart-point[data-day="8"]{left:53.56%}.chart-point[data-day="9"]{left:60.67%}.chart-point[data-day="10"]{left:67.79%}.chart-point[data-day="11"]{left:74.90%}.chart-point[data-day="12"]{left:82.02%}.chart-point[data-day="13"]{left:89.13%}.chart-point[data-day="14"]{left:96.25%}
.chart-point[data-level="4"]{top:10.34%}.chart-point[data-level="3"]{top:32.18%}.chart-point[data-level="2"]{top:54.02%}.chart-point[data-level="1"]{top:75.86%}
.chart-point:focus-visible{outline:3px solid #b8d0d6;outline-offset:3px}
.chart-dates{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));margin:2px 0 0;font-size:9px;color:var(--muted)}
.chart-dates span{text-align:center;white-space:nowrap;min-height:18px}
@media(min-width:700px){.report-timeline-grid{gap:9px 6px}.report-timeline-grid .small{font-size:11px}}
/* Phase 4: HOME keeps one clear connection action and three quiet, discoverable support links. */
.connect-card{margin:2.4rem 0 1.2rem;padding:1.4rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.connect-card .btn{margin-top:.75rem}.home-support-links{display:grid;gap:0;margin:0 0 1.2rem;padding:2px 0 0}.home-aux-link{display:block;width:100%;padding:11px 8px;text-align:left;color:#607b83;font-size:14px;line-height:1.55}
.safety-steps{padding:1rem 1rem 1rem 2rem;background:var(--card);border-radius:18px;line-height:1.8}.screen a.btn{display:block;text-decoration:none;text-align:center}
@media(max-width:390px){.connect-card{padding:1rem}.home-aux-link{padding:10px 4px;font-size:13px}.safety-steps{font-size:.95rem}}
