/* Expectation Index */
.ix-hero{padding-bottom:28px}
.ix-hero .sub{font-family:var(--f-display);font-style:italic;font-size:1.2rem;color:var(--dawn-soft);margin:0 0 .4em}
.ix-block{padding-top:32px}
#index-app{max-width:720px;margin:0 auto;scroll-margin-top:80px}
.ix-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:clamp(20px,5vw,36px);display:grid;gap:16px}
.ix-label{font-weight:600;font-size:.98rem;display:block}
#index-app textarea,#index-app input:not([type=checkbox]){font:inherit;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);width:100%}
.ix-start{justify-self:start}
.lens{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px;gap:3px;justify-self:start;background:var(--bg)}
.lens button{border:0;background:transparent;color:var(--text);font:inherit;font-size:.92rem;padding:8px 14px;border-radius:999px;cursor:pointer;min-height:38px}
.lens button[aria-pressed="true"]{background:var(--night);color:#fff}
.progress{display:grid;grid-template-columns:repeat(11,1fr);gap:4px}
.progress i{height:6px;border-radius:3px;background:var(--line)}
.progress i.done{background:var(--water)}
.progress i.now{background:var(--dawn)}
.ix-count{margin:0;color:var(--muted);font-size:.95rem}
.ix-el{font-size:clamp(2.2rem,7vw,3.4rem);margin:0}
.ix-q{font-size:1.25rem;line-height:1.45;margin:0}
.opts{display:grid;gap:8px;grid-template-columns:1fr}
@media (min-width:560px){.opts{grid-template-columns:repeat(5,1fr)}}
.opts button{min-height:54px;border:1.5px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:600 1rem var(--f-body);cursor:pointer;padding:10px}
.opts button:hover{border-color:var(--water)}
.opts button[aria-checked="true"]{background:var(--water);border-color:var(--water);color:#fff}
.ix-nav{min-height:48px}

.shared-banner{background:var(--night);color:#fff;border-radius:18px;padding:22px 24px;margin-bottom:16px}
.shared-banner .q{font-family:var(--f-display);font-size:1.7rem;line-height:1.2;margin:0 0 .3em}
.shared-banner .muted{color:#C9D3E2;margin:0}

.ix-result{display:grid;gap:28px}
.ix-score-wrap{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;background:var(--night);color:#fff;border-radius:18px;padding:24px clamp(18px,4vw,32px)}
.ix-score-wrap .ix-count{color:#C9D3E2}
.ix-score{font-family:var(--f-display);font-weight:700;font-size:clamp(5rem,20vw,8.5rem);line-height:.9;margin:0}
.ix-stage{font-family:var(--f-display);font-size:clamp(1.6rem,5vw,2.3rem);color:var(--dawn-soft);margin:0}
.result-ditch{width:100%;height:auto}
.water-fill{transform-box:fill-box;transform-origin:bottom;animation:rise 1.8s cubic-bezier(.3,.7,.2,1) .2s both}
@media (prefers-reduced-motion: reduce){.water-fill{animation:none}}
@media (max-width:520px){.ix-score-wrap{grid-template-columns:1fr}}
.ix-two{display:grid;gap:24px;grid-template-columns:1fr}
@media (min-width:640px){.ix-two{grid-template-columns:1fr 1.3fr}}
.ix-two h3,.ix-dig h3,.ix-share h3,.ix-next h3{font-size:1.5rem}
.verse{font-family:var(--f-display);font-style:italic;font-size:1.08rem;color:var(--muted)}
.ix-dig{border-top:3px solid var(--water);padding-top:18px}
.ix-dig ol{margin:0 0 12px;padding-left:1.4em}
.ix-dig li{padding:6px 0}
.ix-dig label{display:inline;cursor:pointer}
.ix-dig input{width:18px;height:18px;vertical-align:-3px;margin-right:6px;accent-color:var(--water)}
.ix-share,.ix-next{border-top:1px solid var(--line);padding-top:20px;display:grid;gap:12px}
.ix-share .btn,.ix-next .btn{min-height:44px;padding:10px 18px}
.ix-mail{margin-top:8px}
.ix-score{font-variant-numeric:lining-nums}
.ix-stage{margin-top:.15em}
.ix-share{border-top:0;padding-top:0}
.ix-result a.more{font-weight:600;color:var(--water)}
