:root{--bg: #eef7f4;--ink: #17363a;--muted: #5f7577;--line: #d6e6e2;--teal: #1d6f72;--teal-soft: #e7f4f2;--card: #fdfefe;font-family:Arial,Helvetica Neue,sans-serif}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}button{font:inherit}.page{min-height:100dvh;padding:20px 16px 32px}.wrap{max-width:1160px;margin:0 auto}.top{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line)}.logo{font-weight:700;font-size:14px;color:var(--teal);letter-spacing:-.2px}.logo b{color:var(--ink)}.top__right{font-size:10px;color:var(--muted)}.h1{font-size:21px;font-weight:700;margin:20px 0 8px;letter-spacing:-.2px}.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px 12px}.panel__meta{display:flex;justify-content:space-between;align-items:center}.kicker{font-size:9px;font-weight:700;letter-spacing:.8px;color:var(--teal)}.progress{display:flex;gap:2px}.seg{width:7px;height:3px;padding:0;border:0;border-radius:2px;background:#cfe0dd;cursor:pointer;transition:background .25s,width .25s;position:relative}.seg:after{content:"";position:absolute;inset:-6px -1px}.seg--done{background:#8fbfbb}.seg--on{width:18px;background:var(--teal)}.viewport{position:relative;overflow:hidden;touch-action:pan-y}.stage{will-change:transform,opacity}.h2{font-size:15px;margin:8px 0 3px;outline:none}.desc{font-size:10.5px;color:var(--muted);margin:0;line-height:1.45;min-height:30px}.diagram{position:relative;min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 0}.diagram__glow{position:absolute;inset:0 8%;background:radial-gradient(ellipse at center,rgba(29,111,114,.07),transparent 65%);pointer-events:none}.row{display:flex;gap:8px;justify-content:center;position:relative}.node{width:140px;border-radius:6px;padding:6px 8px;text-align:center;background:#fff;position:relative;transition:box-shadow .2s,border-color .2s}.row .node:only-child{width:140px}.node__title{font-size:9px;font-weight:700}.node__sub{font-size:7.5px;color:var(--muted);margin-top:2px;line-height:1.3}.node--prior{border:1px solid var(--line);opacity:.65}.node--active{border:1.5px solid var(--teal);box-shadow:0 0 0 3px #1d6f7214,0 4px 14px #1d6f721f;background:#fbfefd}.connectors{display:flex;justify-content:center;gap:8px;position:relative}.conn{display:flex;flex-direction:column;align-items:center;width:140px}.conn__line{width:1px;height:6px;background:#9cc4c0}.conn__line--arrow{position:relative}.conn__line--arrow:after{content:"";position:absolute;left:-3px;bottom:-3px;border:3.5px solid transparent;border-top-color:#9cc4c0;border-bottom:0}.conn__label{font-size:7px;font-weight:700;color:var(--teal);padding:2px 0}.toolbar{display:flex;align-items:center;gap:8px;padding-top:10px}.toolbar .btn--text{margin-left:auto}.btn{border:1px solid transparent;border-radius:999px;font-size:10px;font-weight:700;padding:6px 13px;cursor:pointer;transition:background .2s,color .2s,opacity .2s,transform .15s}.btn:focus-visible,.seg:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.btn:disabled{opacity:.4;cursor:default}.btn--ghost{background:#fff;border-color:var(--line);color:var(--ink)}.btn--ghost:not(:disabled):hover{background:var(--teal-soft)}.btn--primary{background:var(--teal);color:#f2faf7}.btn--primary:hover{background:#175d60}.btn--primary:active{transform:translateY(1px)}.btn--text{background:transparent;color:var(--ink)}.btn--text:not(:disabled):hover{color:var(--teal)}.foot{font-size:8.5px;color:var(--muted);margin:8px 2px}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(4px)}}@keyframes risePrior{0%{opacity:0;transform:translateY(4px)}to{opacity:.65}}@media(max-width:480px){.h1{font-size:18px}.node,.conn,.row .node:only-child{width:132px}.diagram{min-height:240px}}@media(min-width:900px){.page{padding-top:32px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.node__btn{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:3px;width:100%;border-radius:4px}.node__btn:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.node__chev{color:var(--teal);transition:transform .2s;flex:none}.node__chev--open{transform:rotate(180deg)}.node:hover{box-shadow:0 6px 16px #1d6f7224}.node--selected{border-color:#0f5457;box-shadow:0 0 0 3px #1d6f7233,0 6px 16px #1d6f7229}.node__pulse{position:absolute;inset:-1.5px;border-radius:7px;border:1.5px solid var(--teal);pointer-events:none;animation:pulse 2.4s ease-out 1s infinite}@keyframes pulse{0%{opacity:.55;transform:scale(1)}70%,to{opacity:0;transform:scale(1.08)}}.conn--dim .conn__label{color:var(--muted)}.conn__track{position:relative;width:1px;height:14px;background:#dcebe8;display:block}.conn__fill{position:absolute;inset:0;background:#9cc4c0;transform-origin:top;display:block}.conn__track--arrow:after{content:"";position:absolute;left:-3px;bottom:-3px;border:3.5px solid transparent;border-top-color:#9cc4c0;border-bottom:0}.conn__dot{position:absolute;left:-2px;top:0;width:5px;height:5px;border-radius:50%;background:var(--teal);opacity:0;animation:travel 2.2s ease-in-out infinite}@keyframes travel{0%{opacity:0;transform:translateY(-2px)}20%{opacity:1}80%{opacity:1}to{opacity:0;transform:translateY(12px)}}.diagram__hint{font-size:8px;color:var(--muted);margin:10px 0 0;text-align:center}.rail{height:2px;background:#e1eeeb;border-radius:2px;margin-top:8px;overflow:hidden}.rail__fill{display:block;height:100%;background:linear-gradient(90deg,#8fbfbb,var(--teal));border-radius:2px}.seg{overflow:hidden}.seg__timer{position:absolute;inset:0;background:#8fd0c8;transform-origin:left;animation:timer linear both}@keyframes timer{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.btn:not(:disabled):active{transform:scale(.96)}.btn--icon{display:inline-flex;align-items:center;gap:4px;background:var(--teal-soft);color:var(--teal)}.btn--icon:not(:disabled):hover{background:#d6ece8}.swipe-hint{font-size:7.5px;color:var(--muted);margin:6px 0 0;text-align:right}@media(prefers-reduced-motion:reduce){.conn__dot,.node__pulse,.seg__timer{display:none}}@media(min-width:700px){.page{padding:24px 32px}.top{padding-bottom:14px}.logo{font-size:24px}.top__right{font-size:16px}.h1{font-size:clamp(28px,2.7vw,36px);line-height:1.2;margin:20px 0 16px}.panel{border-radius:18px;padding:22px 30px 18px}.kicker{font-size:14px;letter-spacing:1.2px}.progress{gap:6px}.seg{width:15px;height:6px}.seg--on{width:32px}.rail{height:4px;margin-top:14px}.h2{font-size:clamp(24px,2.3vw,30px);line-height:1.2;margin:18px 0 8px}.desc{font-size:18px;line-height:1.5;min-height:54px;color:#415f62}.diagram{min-height:clamp(220px,calc(100dvh - 505px),460px);padding:28px 0}.row,.connectors{gap:20px}.node,.conn,.row .node:only-child{width:clamp(240px,26vw,330px)}.node{border-radius:12px;padding:18px 20px}.node__title{font-size:20px;line-height:1.3}.node__sub{font-size:16px;line-height:1.4;color:#415f62;margin-top:5px}.node__btn{gap:10px;min-height:30px}.node__chev{width:18px;height:18px}.node__pulse{border-radius:13px}.conn__track{width:2px;height:20px}.conn__label{font-size:14px;line-height:1.3;padding:5px 0;text-align:center}.conn__dot{width:6px;height:6px}.diagram__hint{font-size:14px;margin-top:16px}.toolbar{gap:14px;padding-top:14px}.btn{font-size:17px;padding:12px 24px;min-height:46px}.btn--icon{gap:8px}.btn--icon svg{width:17px;height:17px}.swipe-hint{font-size:12px;margin-top:10px}.foot{font-size:13px;line-height:1.5;margin:12px 2px 0}}@media(min-width:700px)and (max-width:900px){.page,.panel{padding:20px}.node,.conn,.row .node:only-child{width:235px}.node__title{font-size:18px}}.process-overview{list-style:none;margin:0;padding:24px 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:34px 26px}.process-overview__item{position:relative;grid-column:var(--column);grid-row:var(--row);min-width:0}.process-overview__card{width:100%;height:100%;min-height:128px;padding:14px 10px;border:1.5px solid #77aaa6;border-radius:12px;background:#f1faf7;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;transition:background .2s,box-shadow .2s}.process-overview__card:hover{background:#e0f2ed;box-shadow:0 4px 16px #1d6f7220}.process-overview__card:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.process-overview__number{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border-radius:50%;background:var(--teal);color:#fff;font-size:14px;font-weight:700}.process-overview__title{font-size:clamp(15px,1.45vw,19px);font-weight:700;line-height:1.3}.process-overview__arrow{position:absolute;right:-24px;top:50%;transform:translateY(-50%);color:var(--teal);font-size:26px}.process-overview__item:nth-child(5) .process-overview__arrow{inset:auto auto -31px 50%;transform:translate(-50%)}.process-overview__item--return .process-overview__arrow{left:-24px;right:auto}.panel--overview .desc{min-height:0}.voice-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.voice-controls .btn{display:inline-flex;align-items:center;gap:7px}.voice-controls .btn[aria-pressed=true]{background:var(--teal);color:#fff}.voice-status{font-size:12px;color:#415f62}.voice-error{font-size:14px;color:#9b3028;margin:8px 0}@media(min-width:700px){.voice-controls .btn{font-size:14px;min-height:38px;padding:8px 16px}.voice-status{font-size:14px}}@media(min-width:700px)and (max-height:800px){.process-overview{padding:16px 0;gap:28px 26px}.process-overview__card{min-height:106px;padding:10px;gap:6px}.process-overview__number{width:22px;height:22px;font-size:13px}.process-overview__title{font-size:17px;line-height:1.2}.process-overview__item:nth-child(5) .process-overview__arrow{bottom:-28px}.panel--overview .toolbar{padding-top:8px}}@media(max-width:699px){.process-overview{grid-template-columns:1fr 1fr;gap:24px 16px;padding:20px 0}.process-overview__item{grid-column:auto;grid-row:auto}.process-overview__card{min-height:125px;padding:12px}.process-overview__title{font-size:14px}.process-overview__arrow{display:none}}
