:root{color-scheme:light;--ink:#251f21;--muted:#585254;--line:#eae9ea;--teal:#246450;--sand:#f4efec}*{box-sizing:border-box}body{margin:0;background:var(--sand);color:var(--ink);font:16px/1.55 system-ui,sans-serif}main{max-width:1160px;margin:auto;padding:40px 28px}h1{font:400 48px/1.15 Georgia,serif;letter-spacing:-.035em;margin:10px 0}h2{font:400 25px/1.3 Georgia,serif;margin:0 0 14px}h3{font-size:17px;margin:18px 0 8px}p{margin:8px 0 16px}.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--teal)}.notice{background:#f2f7f5;border-left:3px solid var(--teal);padding:14px;font-size:14px;overflow-wrap:anywhere}.privacy{margin:24px 0;font-size:14px}.layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:22px}section{background:white;padding:24px;margin-bottom:22px;border-radius:12px}label{display:block;font-size:14px;font-weight:600;margin:10px 0 7px}textarea,input,select{width:100%;font:inherit;padding:12px;border:1px solid #aba6a8;border-radius:5px;background:white;color:var(--ink);min-width:0}textarea{resize:vertical}button{font:600 14px/1.4 system-ui;cursor:pointer;min-height:44px;padding:11px 15px;border:1px solid var(--teal);border-radius:5px;background:var(--teal);color:white;white-space:normal}button.quiet{background:white;color:var(--teal)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #72a899;outline-offset:3px}.actions{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap}.actions input{flex:1;min-width:120px}.muted,footer{color:var(--muted);font-size:14px}hr{border:0;border-top:1px solid var(--line);margin:20px 0}.cue{border-top:1px solid var(--line);padding:12px 0}.host{font-family:monospace;overflow-wrap:anywhere}.check{display:flex;align-items:flex-start;gap:12px;padding:10px 0;font-weight:400;font-size:15px}.check input{width:20px;flex:none;margin-top:3px;accent-color:var(--teal)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.case{width:100%;text-align:left;margin:5px 0;overflow-wrap:anywhere}.case.active{border-width:2px;background:#f2f7f5}#trace{padding-left:20px;font-size:13px;color:var(--muted);overflow-wrap:anywhere}#answer{padding:12px 0;overflow-wrap:anywhere}#error{color:#a8222c}footer{border-top:1px solid #d9d1cc;padding:22px 0}#practice,#practiced,#ask{margin-top:12px}[hidden]{display:none!important}@media(max-width:760px){main{padding:24px 16px}.layout{display:block}section{padding:20px}h1{font-size:38px}h2{font-size:23px}}@media(max-width:360px){main{padding:18px 12px}section{padding:16px}h1{font-size:33px}.actions{align-items:stretch}.actions button{flex:1}}

.skip{position:absolute;left:12px;top:-100px;background:white;color:var(--teal);padding:12px;z-index:10}.skip:focus{top:10px}dialog{color:var(--ink);background:white;border:1px solid var(--line);border-radius:12px;width:min(580px,calc(100% - 24px));max-height:90vh;padding:22px}dialog::backdrop{background:rgba(37,31,33,.35)}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4efec;padding:14px;max-height:40vh;overflow:auto;font:13px/1.5 monospace}button:disabled{opacity:.5;cursor:not-allowed}

#answer{white-space:pre-line}
.fit{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:12px}.fit p{font-size:14px;margin:4px 0 0}.tool{font:12px/1.6 monospace;background:#f2f7f5;border:1px solid var(--line);border-radius:4px;padding:4px 8px;color:var(--teal)}@media(max-width:760px){.fit{grid-template-columns:1fr}}

.stepper{list-style:none;display:flex;gap:8px;margin:0 0 18px;padding:0}
.stepper li{flex:1;text-align:center;font-size:13px;font-weight:600;color:var(--muted);background:white;border:1px solid var(--line);border-radius:999px;padding:8px 4px}
.stepper li[aria-current="step"]{background:var(--teal);color:white;border-color:var(--teal)}
.stepper li.done{color:var(--teal);border-color:var(--teal)}
.never{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.never span{font-size:12px;font-weight:600;color:var(--teal);background:#f2f7f5;border:1px solid #cfe0da;border-radius:999px;padding:4px 10px}
.bubble{border-radius:14px;padding:12px 14px;margin:10px 0;max-width:92%;overflow-wrap:anywhere}
.bubble.you{background:#efe9f5;margin-left:auto;text-align:right;font-size:14px}
.bubble.bot{background:#f2f7f5;border-left:3px solid var(--teal)}
.cue .ic{font-size:20px;margin-right:6px}
.alldone{background:#f2f7f5;border:1px solid #cfe0da;border-radius:8px;padding:10px 12px;font-weight:600;color:var(--teal)}
#breathe{position:fixed;inset:0;background:rgba(37,31,33,.45);display:flex;align-items:center;justify-content:center;z-index:50;pointer-events:none}
.bcard{background:white;border-radius:16px;padding:28px 32px;max-width:340px;text-align:center;pointer-events:auto;box-shadow:0 8px 40px rgba(0,0,0,.25)}
.bcircle{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:radial-gradient(circle,#7fb5a5,#246450);animation:breathe 3.2s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(.72)}50%{transform:scale(1.08)}}
@media (prefers-reduced-motion:reduce){.bcircle{animation:none}}
