:root{--ink:#2f2529;--muted:#71656a;--soft-muted:#8c7d83;--page:#fffdfd;--card:#fff;--rose:#a14f6b;--rose-deep:#843b55;--rose-soft:#f8e9ef;--rose-pale:#fcf4f7;--line:#ecd8e0;--line-strong:#ddb8c6;--danger:#9c4954;--shadow:0 18px 52px #5b35431a}*{box-sizing:border-box}html{background:var(--page);width:100%;color:var(--ink);-webkit-tap-highlight-color:transparent;overscroll-behavior-x:none;overflow-x:hidden}body{background:radial-gradient(circle at 50% -12rem, #fbecf2 0, transparent 28rem), var(--page);width:100%;min-width:0;color:var(--ink);font-family:var(--font-geist-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;overscroll-behavior-x:none;touch-action:pan-y;margin:0;font-size:17px;line-height:1.45;overflow-x:hidden}button,input,textarea{font:inherit}button{color:inherit}button,summary,label{-webkit-tap-highlight-color:transparent}.app-shell{width:100%;min-height:100svh;padding:max(18px, env(safe-area-inset-top)) 16px max(108px, calc(env(safe-area-inset-bottom) + 92px))}.phone-column{width:min(100%,500px);min-width:0;margin:0 auto}.topbar{justify-content:space-between;align-items:flex-start;gap:18px;padding:5px 2px 20px;display:flex}.topbar h1,.section-heading h2,.hero-card h2,.mechanism-card h2,.next-step-card h2,.active-plan-card h2,.plan-intro-card h2,.recommended-plan h2{letter-spacing:-.035em;margin:0}.topbar h1{font-size:clamp(26px,7vw,32px);font-weight:710;line-height:1.1}.eyebrow,.card-kicker{color:var(--rose);letter-spacing:.07em;text-transform:uppercase;margin:0 0 6px;font-size:14px;font-weight:760;line-height:1.25}.info-button{border:1px solid var(--line);background:var(--card);width:46px;height:46px;color:var(--rose-deep);cursor:pointer;border-radius:50%;flex:none;place-items:center;font-size:20px;font-weight:720;display:grid;box-shadow:0 8px 22px #61394812}.view-content{min-width:0;animation:.18s ease-out view-in}@keyframes view-in{0%{opacity:.55;transform:translateY(4px)}}.hero-card,.mechanism-card,.next-step-card,.active-plan-card,.plan-intro-card,.recommended-plan{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:28px}.hero-card{padding:27px 24px 24px;position:relative;overflow:hidden}.hero-card:after{border:24px solid var(--rose-soft);content:"";opacity:.72;border-radius:50%;width:152px;height:152px;position:absolute;top:-54px;right:-46px}.hero-card>*{z-index:1;position:relative}.hero-card h2{max-width:390px;font-family:var(--font-serif), Georgia, serif;font-size:clamp(29px,8vw,38px);font-weight:570;line-height:1.08}.hero-card>p:not(.card-kicker){max-width:420px;color:var(--muted);margin:16px 0 22px;font-size:16px;line-height:1.55}.primary-button,.secondary-button,.quiet-button,.next-button,.back-button{cursor:pointer;border-radius:16px;min-height:54px;font-size:16px;font-weight:730}.primary-button{background:var(--rose);color:#fff;border:0;width:100%;box-shadow:0 12px 26px #a14f6b38}.primary-button:active,.next-button:active{background:var(--rose-deep);transform:scale(.988)}.secondary-button{border:1px solid var(--line-strong);background:var(--rose-pale);color:var(--rose-deep);padding:0 20px}.quiet-button{color:var(--muted);background:0 0;border:0;padding:0 20px}.full-button{width:100%;margin-top:12px}.how-card{border:1px solid var(--line);background:var(--card);border-radius:22px;gap:0;margin-top:14px;display:grid;overflow:hidden}.how-card>div{grid-template-columns:38px 1fr;align-items:center;gap:12px;padding:15px 17px;display:grid}.how-card>div+div{border-top:1px solid var(--line)}.how-card>div>span{background:var(--rose-soft);width:36px;height:36px;color:var(--rose-deep);border-radius:12px;place-items:center;font-size:15px;font-weight:780;display:grid}.how-card p{color:var(--muted);margin:0;font-size:15px;line-height:1.4}.how-card strong{color:var(--ink);margin-bottom:2px;font-size:16px;display:block}.section{padding-top:28px}.section-heading{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:13px;padding:0 2px;display:flex}.section-heading h2{font-size:22px;font-weight:720;line-height:1.2}.section-count{background:var(--rose-soft);min-width:34px;height:34px;color:var(--rose-deep);border-radius:999px;place-items:center;padding:0 9px;font-size:15px;font-weight:760;display:grid}.empty-state{border:1px dashed var(--line-strong);background:#ffffffc7;border-radius:21px;padding:23px 20px}.large-empty{text-align:center;padding:30px 24px}.empty-state h3{margin:0 0 7px;font-size:18px;line-height:1.3}.empty-state p{color:var(--muted);margin:0;font-size:15px;line-height:1.5}.empty-state .secondary-button{margin-top:18px}.entry-list{gap:10px;display:grid}.entry-card{border:1px solid var(--line);background:var(--card);border-radius:20px;min-width:0;padding:17px}.entry-meta{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.entry-meta span{background:var(--rose-soft);color:var(--rose-deep);border-radius:8px;padding:5px 8px;font-size:14px;font-weight:730}.entry-meta strong{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;overflow:hidden}.entry-card h3{margin:0 0 5px;font-size:17px;line-height:1.35}.entry-card>p{color:var(--muted);margin:0;font-size:15px;line-height:1.45}.entry-actions{gap:8px;margin-top:13px;display:flex}.entry-actions button{border:1px solid var(--line);background:var(--rose-pale);min-height:42px;color:var(--rose-deep);border-radius:12px;padding:0 13px;font-size:14px;font-weight:690}.entry-actions .delete-button{color:var(--soft-muted);background:#fff}.period-switch{border:1px solid var(--line);background:#fff;border-radius:17px;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px;display:grid}.period-switch button{min-height:43px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;font-size:14px;font-weight:680}.period-switch button.active{background:var(--rose-soft);color:var(--rose-deep)}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:13px 0 18px;display:grid}.summary-grid>div{border:1px solid var(--line);text-align:center;background:#fff;border-radius:18px;min-width:0;padding:16px 8px}.summary-grid strong{color:var(--rose-deep);font-family:var(--font-serif), Georgia, serif;font-size:28px;line-height:1;display:block}.summary-grid span{color:var(--muted);margin-top:7px;font-size:14px;line-height:1.25;display:block}.progress-card{border:1px solid var(--line);background:#fff;border-radius:21px;padding:19px}.progress-heading{justify-content:space-between;gap:12px;font-size:15px;display:flex}.progress-heading span{color:var(--rose-deep);font-weight:760}.progress-track,.distribution-track{background:#f1e8eb;border-radius:999px;overflow:hidden}.progress-track{height:9px;margin:12px 0}.progress-track i,.distribution-track i{border-radius:inherit;background:var(--rose);height:100%;display:block}.progress-card p,.section-note,.muted-copy{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.mechanism-card{border-color:var(--line-strong);background:radial-gradient(circle at 96% 0, var(--rose-soft), transparent 13rem), white;padding:24px}.mechanism-card h2{font-family:var(--font-serif), Georgia, serif;font-size:29px;font-weight:580;line-height:1.1}.mechanism-card>p:not(.card-kicker){color:var(--muted);margin:13px 0;font-size:16px;line-height:1.52}.evidence-line{background:var(--rose-pale);color:#5f4750;border-radius:14px;padding:13px 14px;font-size:15px;line-height:1.45}.mechanism-card small{color:var(--soft-muted);margin-top:12px;font-size:14px;line-height:1.45;display:block}.analysis-card{border:1px solid var(--line);background:#fff;border-radius:20px;padding:18px}.analysis-card h3{margin:0 0 15px;font-size:17px}.distribution{gap:15px;display:grid}.distribution-heading{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:7px;display:flex}.distribution-heading span{color:#4f4147;max-width:76%;font-size:15px;line-height:1.35}.distribution-heading strong{color:var(--rose-deep);flex:none;font-size:14px}.distribution-track{height:9px}.two-analysis-cards{gap:10px;display:grid}.chain-card{border:1px solid var(--line);background:#fff;border-radius:21px;gap:0;display:grid;overflow:hidden}.chain-step{grid-template-columns:40px 1fr;align-items:center;gap:12px;padding:15px 17px;display:grid;position:relative}.chain-step+.chain-step{border-top:1px solid var(--line)}.chain-step span{background:var(--rose-soft);width:36px;height:36px;color:var(--rose-deep);border-radius:12px;place-items:center;font-size:15px;font-weight:780;display:grid}.chain-step p{margin:0;font-size:15px;line-height:1.4}.connections{gap:9px;display:grid}.connection-row{border:1px solid var(--line);background:#fff;border-radius:18px;padding:17px}.connection-row h3{margin:0 0 9px;font-size:16px}.connection-row>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.connection-row p{background:var(--rose-pale);color:var(--muted);border-radius:12px;margin:0;padding:10px;font-size:14px;line-height:1.4}.connection-row strong{color:var(--ink);margin-top:3px;font-size:15px;display:block}.connection-row>span{color:var(--muted);font-size:14px}.section-note{margin-top:10px;padding:0 3px}.details-card{border:1px solid var(--line);background:#fff;border-radius:19px;margin-top:22px;overflow:hidden}.details-card summary,.info-content summary{color:#4a3940;cursor:pointer;justify-content:space-between;align-items:center;gap:15px;min-height:54px;padding:14px 17px;font-size:15px;font-weight:720;list-style:none;display:flex}.details-card summary:after,.info-content summary:after{color:var(--rose);content:"＋";font-size:20px;font-weight:450}.details-card[open] summary:after,.info-content details[open] summary:after{content:"−"}.detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 14px 14px;display:grid}.detail-metrics>div{background:var(--rose-pale);text-align:center;border-radius:13px;padding:13px 8px}.detail-metrics span{min-height:34px;color:var(--muted);font-size:14px;line-height:1.3;display:block}.detail-metrics strong{color:var(--rose-deep);margin-top:5px;font-size:17px;display:block}.next-step-card,.active-plan-card,.plan-intro-card,.recommended-plan{margin-top:24px;padding:24px}.next-step-card h2,.active-plan-card h2,.plan-intro-card h2,.recommended-plan h2{font-family:var(--font-serif), Georgia, serif;font-size:29px;font-weight:580;line-height:1.12}.next-step-card>p:not(.card-kicker),.active-plan-card>p:not(.card-kicker),.plan-intro-card>p:not(.card-kicker),.recommended-plan>p:not(.eyebrow){color:var(--muted);margin:13px 0 20px;font-size:16px;line-height:1.52}.waiting-line{background:var(--rose-pale);color:#654c56;border-radius:14px;padding:13px 14px;font-size:14px;line-height:1.45}.plan-status{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;padding-bottom:15px;font-size:14px;display:flex}.plan-status span{background:var(--rose-soft);color:var(--rose-deep);border-radius:999px;padding:5px 9px;font-weight:720}.active-plan-card ol,.recommended-plan ol{counter-reset:plan;gap:11px;margin:0;padding:0;list-style:none;display:grid}.active-plan-card li,.recommended-plan li{color:#55474c;counter-increment:plan;min-height:38px;padding-left:46px;font-size:15px;line-height:1.45;position:relative}.active-plan-card li:before,.recommended-plan li:before{background:var(--rose-soft);width:34px;height:34px;color:var(--rose-deep);content:counter(plan);border-radius:11px;place-items:center;font-size:14px;font-weight:760;display:grid;position:absolute;top:0;left:0}.experiment-result{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.experiment-result>div{border:1px solid var(--line);text-align:center;background:#fff;border-radius:16px;padding:15px 8px}.experiment-result strong{color:var(--rose-deep);font-size:24px;line-height:1;display:block}.experiment-result span{color:var(--muted);margin-top:7px;font-size:14px;line-height:1.3;display:block}.comparison-result,.measure-card{border:1px solid var(--line);background:#fff;border-radius:17px;margin-top:12px;padding:16px}.comparison-result p,.measure-card p{color:var(--muted);margin:0;font-size:15px;line-height:1.48}.comparison-result p+p{margin-top:8px}.comparison-result strong{color:var(--ink)}.measure-card h3{margin:0 0 7px;font-size:17px}.experiment-picker{margin-bottom:10px}.experiment-options{gap:8px;padding:0 12px 12px;display:grid}.experiment-options button{border:1px solid var(--line);background:var(--rose-pale);text-align:left;border-radius:14px;min-height:72px;padding:13px}.experiment-options strong,.experiment-options span{display:block}.experiment-options strong{color:var(--rose-deep);font-size:15px}.experiment-options span{color:var(--muted);margin-top:4px;font-size:14px;line-height:1.4}.bottom-nav{z-index:30;left:50%;bottom:max(10px, env(safe-area-inset-bottom));border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffed;border-radius:22px;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:min(100% - 28px,470px);padding:6px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 14px 42px #4b2b3729}.bottom-nav button{min-width:0;min-height:54px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:14px;font-weight:680;display:flex}.bottom-nav button>span{min-height:19px;font-size:19px;line-height:1}.bottom-nav button.active{background:var(--rose-soft);color:var(--rose-deep)}.sheet-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overscroll-behavior:contain;background:#37252c6b;justify-content:center;align-items:flex-end;width:100%;display:flex;position:fixed;inset:0;overflow:hidden}.entry-sheet,.info-sheet{border:1px solid var(--line);background:var(--page);border-bottom:0;border-radius:28px 28px 0 0;flex-direction:column;width:min(100%,540px);min-width:0;max-width:100%;height:min(96dvh,920px);animation:.22s ease-out sheet-in;display:flex;overflow:hidden;box-shadow:0 -22px 80px #3a242c3d}@keyframes sheet-in{0%{opacity:.7;transform:translateY(28px)}}.sheet-header{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdfdf5;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;min-height:72px;padding:12px 16px 10px;display:grid}.sheet-header>div{text-align:center}.sheet-header span{color:var(--soft-muted);font-size:14px;font-weight:650;display:block}.sheet-header h2{margin:1px 0 0;font-size:18px;line-height:1.2}.text-button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-self:start;padding:0 3px;font-size:15px}.text-button-strong{color:var(--rose);justify-self:end;font-weight:740}.step-progress{background:#f0e3e8;flex:none;height:4px}.step-progress i{background:var(--rose);height:100%;transition:width .18s;display:block}.sheet-content,.info-content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-width:0;padding:4px 17px 24px;overflow:hidden auto}.form-section{border:0;border-bottom:1px solid var(--line);min-width:0;margin:0;padding:21px 0;display:block}.form-section legend,.field-label,.scale-heading label{color:#44373c;margin:0 0 12px;font-size:17px;font-weight:730;line-height:1.35;display:block}.field-help{color:var(--muted);margin:-5px 0 13px;font-size:14px;line-height:1.45}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.vertical-choices{gap:9px;display:grid}.choice{border:1px solid var(--line);color:#5f5056;text-align:left;cursor:pointer;background:#fff;border-radius:15px;align-items:center;gap:10px;min-width:0;min-height:54px;padding:11px 12px;font-size:15px;font-weight:640;line-height:1.35;display:flex}.choice:active{transform:scale(.985)}.choice-indicator{background:#fff;border:1.5px solid #cba7b4;border-radius:50%;flex:none;width:18px;height:18px}.choice-active{border-color:var(--rose);background:var(--rose-soft);color:var(--rose-deep);box-shadow:inset 0 0 0 1px #a14f6b12}.choice-active .choice-indicator{border:5px solid var(--rose)}.date-input,.note-input{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:#fff;border-radius:14px;outline:none}.date-input{min-height:52px;padding:10px 12px;font-size:16px}.note-input{resize:vertical;padding:13px;font-size:16px;line-height:1.5}.date-input:focus,.note-input:focus{border-color:var(--rose);box-shadow:0 0 0 3px #a14f6b1c}.scale-field{min-width:0}.scale-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.scale-heading label{max-width:320px;margin-bottom:0}.scale-heading output{background:var(--rose-soft);min-width:57px;color:var(--rose-deep);text-align:center;border-radius:10px;flex:none;padding:6px 8px;font-size:15px;font-weight:770}.scale-field input[type=range]{width:100%;height:44px;accent-color:var(--rose);cursor:pointer;margin:12px 0 0}.scale-numbers{color:var(--soft-muted);grid-template-columns:repeat(11,1fr);margin:-3px 2px 0;font-size:14px;display:grid}.scale-numbers span{text-align:center}.scale-numbers span:first-child{text-align:left}.scale-numbers span:last-child{text-align:right}.scale-labels{color:var(--muted);justify-content:space-between;gap:20px;margin-top:7px;font-size:14px;display:flex}.scale-labels span:last-child{text-align:right}.experiment-question{border:1px solid var(--line);background:var(--rose-pale);border-radius:17px;margin-top:5px;padding-left:13px;padding-right:13px}.sheet-footer{padding:9px 16px max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdfdf7;flex:none}.sheet-footer>p{color:var(--danger);text-align:center;margin:0 0 8px;font-size:14px;font-weight:660}.sheet-footer>div{grid-template-columns:.82fr 1.18fr;gap:9px;display:grid}.back-button{border:1px solid var(--line);color:var(--muted);background:#fff}.back-button:disabled{cursor:default;opacity:.38}.next-button{background:var(--rose);color:#fff;border:0}.info-sheet{height:min(91dvh,820px)}.info-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:15px;min-height:78px;padding:14px 18px;display:flex}.info-header h2{margin:0;font-size:23px}.info-header button{border:1px solid var(--line);background:var(--rose-pale);width:44px;height:44px;color:var(--rose-deep);cursor:pointer;border-radius:50%;place-items:center;font-size:25px;display:grid}.info-content{padding-top:13px}.info-content details{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden}.info-content details+details{margin-top:9px}.info-content details>p,.info-content details>ol{color:var(--muted);margin:0;padding:0 17px 17px;font-size:15px;line-height:1.5}.info-content details>ol{padding-left:38px}.info-content li+li{margin-top:5px}.data-actions{gap:8px;padding:0 14px 15px;display:grid}.data-actions button,.data-actions label{border:1px solid var(--line);background:var(--rose-pale);min-height:48px;color:var(--rose-deep);cursor:pointer;border-radius:13px;justify-content:center;align-items:center;font-size:15px;font-weight:690;display:flex}.data-actions label{position:relative;overflow:hidden}.data-actions input{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.danger-button{width:100%;min-height:48px;color:var(--danger);background:#fff;border:1px solid #9c495440;border-radius:14px;margin-top:18px;font-size:15px;font-weight:690}.toast{z-index:120;left:50%;bottom:max(24px, calc(env(safe-area-inset-bottom) + 14px));color:#fff;white-space:nowrap;background:#3a2d32;border-radius:999px;padding:12px 17px;font-size:15px;font-weight:680;position:fixed;transform:translate(-50%);box-shadow:0 12px 34px #34232947}@media (width>=720px){.app-shell{padding-top:40px}.phone-column{border:1px solid var(--line);background:#fffdfde0;border-radius:38px;padding:28px 28px 96px;box-shadow:0 34px 100px #502e3b1a}.entry-sheet,.info-sheet{border-bottom:1px solid var(--line);border-radius:28px;margin-bottom:3svh}.two-analysis-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-nav{bottom:18px}}@media (width<=370px){.app-shell{padding-left:12px;padding-right:12px}.summary-grid{gap:5px}.summary-grid span,.experiment-result span{font-size:14px}.choice-grid{grid-template-columns:1fr}.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.sheet-content,.info-content{padding-left:13px;padding-right:13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
