:root{--maroon:#7e1323;--red:#e53935;--cta:#d63c24;--brown:#844e39;--olive:#413b2b;--black:#1a1a1a;--deep:#121212;--charcoal:#2a2a2a;--line:#3a3a3a;--text:#f5f3f0;--muted:#b3aca5;--head:"Montserrat", "Inter", "Poppins", system-ui, sans-serif;--body:"Open Sans", "Lato", "Roboto", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--deep);color:var(--text);margin:0}body{font:16px/1.55 var(--body);-webkit-font-smoothing:antialiased;min-height:100dvh}h1,h2{font-family:var(--head);letter-spacing:.2px;font-weight:700;line-height:1.2}h1{margin:8px 0 6px;font-size:26px}h2{margin:28px 0 10px;font-size:18px}a{color:inherit}p{margin:8px 0 14px}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.row{align-items:center;gap:12px;display:flex}.between{justify-content:space-between}.bar{z-index:5;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:var(--black);border-bottom:1px solid var(--line);align-items:center;gap:12px;display:flex;position:sticky;top:0}.bar-logo img{height:22px;display:block}.bar-back{padding:0 8px 4px 0;font-size:34px;line-height:1;text-decoration:none}.bar-right{margin-left:auto}.page{max-width:680px;padding:20px 18px calc(28px + env(safe-area-inset-bottom));margin:0 auto}.page.narrow{max-width:440px}.page.center{place-items:center;min-height:60dvh;display:grid}.btn{font:600 16px/1 var(--body);color:var(--text);background:var(--charcoal);border:1px solid var(--line);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:14px 18px;text-decoration:none;display:inline-flex}.btn.cta{background:var(--cta);border-color:var(--cta);color:#fff;width:100%}.btn.cta:hover:not(:disabled){background:var(--red)}.btn:disabled{opacity:.5;cursor:default}.btn.small{width:auto;min-height:36px;padding:8px 12px;font-size:14px}.btn.ghost,.btn.ghost-light{background:0 0}.link{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0;text-decoration:underline}.field{margin:16px 0;display:block}.field span{color:var(--muted);margin-bottom:6px;font-size:14px;display:block}input,textarea{width:100%;font:16px/1.5 var(--body);color:var(--text);background:var(--black);border:1px solid var(--line);border-radius:10px;padding:12px 14px}input:focus,textarea:focus{outline:2px solid var(--maroon);border-color:var(--maroon)}input.code{font:700 26px/1 var(--head);letter-spacing:6px;text-align:center}.error{color:#ff8a80}.signin{text-align:left;padding-top:40px}.signin-logo{width:150px;margin:0 auto 8px;display:block}.signin h1{text-align:center}.points{margin:16px 0 24px;padding:0;list-style:none}.points li{background:var(--charcoal);border-left:3px solid var(--maroon);border-radius:8px;margin-bottom:12px;padding:14px 16px}.points p{color:var(--muted);margin:6px 0 0;font-size:15px}.tools{gap:12px;margin-top:18px;display:grid}.tool{background:var(--charcoal);border:1px solid var(--line);border-left:4px solid var(--maroon);border-radius:12px;padding:16px 18px;text-decoration:none;display:block}.tool:active{background:var(--olive)}.tool-title{font:700 17px/1.3 var(--head);align-items:center;gap:8px;display:flex}.tool-blurb{color:var(--muted);margin-top:4px;font-size:14px;display:block}.badge{font:600 11px/1 var(--body);text-transform:uppercase;letter-spacing:.6px;background:var(--brown);border-radius:4px;padding:4px 6px}.card{background:var(--charcoal);border:1px solid var(--line);border-radius:12px;padding:16px}.card.empty{color:var(--muted);margin-top:18px}.saved{gap:10px;display:grid}.saved-item{flex-direction:column;gap:4px;text-decoration:none;display:flex}.foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:36px;padding-top:12px;display:flex}.artifact{margin:12px 0}.artifact dt{text-transform:capitalize;color:var(--muted);font-size:14px;font-weight:600}.artifact dd{margin:2px 0 12px}.page.chat{flex-direction:column;min-height:calc(100dvh - 60px);padding-bottom:0;display:flex}.chat-head{justify-content:space-between;align-items:baseline;display:flex}.thread{flex-direction:column;flex:1;gap:10px;padding:10px 0 16px;display:flex}.thread>div{flex-direction:column;gap:10px;display:flex}.bubble{border-radius:14px;max-width:88%;padding:12px 14px}.bubble.coach{background:var(--charcoal);border-bottom-left-radius:4px;align-self:flex-start}.bubble.me{background:var(--maroon);border-bottom-right-radius:4px;align-self:flex-end;margin-top:10px}.bubble.safety{color:var(--black);border:3px solid var(--red);background:#fff;align-self:stretch;max-width:none}.bubble.safety .btn{margin-top:6px}.hint{color:var(--muted);margin-top:6px;font-size:14px}.composer{background:var(--deep);padding:10px 0 calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);align-items:flex-end;gap:10px;display:flex;position:sticky;bottom:0}.composer textarea{resize:none}.composer .btn.cta{width:auto;min-width:84px}.typing{gap:4px;display:inline-flex}.typing i{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1.2s infinite blink}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.sheet-backdrop{z-index:20;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--black);border-top:3px solid var(--maroon);width:100%;max-width:560px;padding:20px 18px calc(20px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.sheet h2{margin-top:0}.sheet .btn.cta{margin-top:12px}.spinner{border:3px solid var(--line);border-top-color:var(--cta);border-radius:50%;width:34px;height:34px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.choices{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.choice{font:600 15px/1.2 var(--body);color:var(--text);cursor:pointer;border:1px solid var(--maroon);background:0 0;border-radius:999px;min-height:42px;padding:10px 14px}.choice:active,.choice:hover{background:var(--maroon)}
