.portal-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
@media (max-width:960px){.portal-grid{grid-template-columns:1fr;gap:40px}.portal-grid>.frame{order:2}}
.ptabs{display:flex;gap:2px;padding:0 14px;border-bottom:1px solid var(--line2);overflow-x:auto}
.ptabs button{padding:12px;font-size:.86rem;font-weight:500;color:var(--ink2);border-bottom:2px solid transparent;white-space:nowrap}
.ptabs button.on{color:var(--ink);border-color:var(--copper)}
.ptab{display:none;padding:6px 20px 20px}
.ptab.on{display:block;animation:pop .3s both}
.prow{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line2)}
.prow:last-child{border-bottom:0}
.toggle{position:relative;width:46px;height:26px;border-radius:13px;background:var(--taken);transition:background .25s;flex:none;cursor:pointer}
.toggle::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:left .25s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.toggle.on{background:var(--water)}
.toggle.on::after{left:23px}
.steps{list-style:none;counter-reset:s;padding-top:14px}
.steps li{position:relative;padding:0 0 18px 34px;counter-increment:s}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:var(--paper2);border:1px solid var(--line);font-size:.74rem;font-weight:600;display:grid;place-items:center}
.steps li.done::before{content:"✓";background:var(--water);border-color:var(--water);color:#fff}
.steps li.cur::before{background:var(--copper);border-color:var(--copper);color:#fff}
.steps li::after{content:"";position:absolute;left:11px;top:24px;bottom:2px;width:1px;background:var(--line)}
.steps li:last-child::after{display:none}
.flowline{display:grid;grid-template-columns:repeat(4,1fr);margin-top:34px;position:relative}
.flowline::before{content:"";position:absolute;left:12%;right:12%;top:13px;height:1px;background:var(--copper);opacity:.5}
.flowline div{text-align:center;font-size:.88rem;color:var(--ink2);padding:0 6px;position:relative}
.flowline div::before{content:"";display:block;width:27px;height:27px;margin:0 auto 10px;border-radius:50%;background:var(--copper);box-shadow:inset 0 0 0 7px var(--paper2);border:1px solid var(--copper)}
@media (max-width:560px){.flowline{grid-template-columns:repeat(2,1fr);row-gap:22px}.flowline::before{display:none}}
.ask{padding:16px 0 4px}
.choices{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.choice{text-align:left;padding:12px 14px;border-radius:10px;border:1px solid var(--line);font-weight:500;transition:background .2s,border-color .2s}
.choice:hover{background:var(--surface)}
.choice.on{border-color:var(--water);background:var(--water-soft);color:var(--water2);font-weight:600}
#choiceOut{margin-top:14px}
#choiceOut .prow:first-child{border-top:1px solid var(--line2)}
