:root{color:#302938;font-synthesis:none;text-rendering:optimizelegibility;--ink:#302938;--muted:#696273;--purple:#6b3fa0;--purple-dark:#4b286c;--border:#dfdfe7;--control-border:#91839d;--surface:#fff;--canvas:#f7f7fa;--focus:#613796;--font-editorial:Georgia, "Times New Roman", serif;background:#f7f7fa;font-family:Segoe UI Variable Text,Segoe UI,system-ui,sans-serif;font-size:16px;line-height:1.6}*{box-sizing:border-box}[hidden]{display:none!important}body,h1,h2,h3,p{margin:0}h1,h2,h3{overflow-wrap:anywhere;line-height:1.25}h1,h2{letter-spacing:-.035em}h1{font-family:Segoe UI Variable Display,Segoe UI,system-ui,sans-serif}h1:focus{outline:none}a{color:inherit}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border-radius:7px;min-height:44px;font-weight:600}button:disabled{cursor:default;opacity:.6}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.ui-icon{stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.skip{z-index:20;color:var(--purple-dark);background:#fff;padding:12px 20px;position:fixed;top:12px;left:16px;transform:translateY(calc(-100% - 24px))}.skip:not(:focus){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;overflow:hidden}.skip:focus{transform:translateY(0)}.topbar{border-bottom:1px solid var(--border);align-items:center;gap:36px;max-width:1320px;min-height:88px;margin:auto;padding:0 48px;display:flex}.wordmark{color:var(--ink);letter-spacing:-.06em;align-items:center;gap:8px;font-size:1.6rem;font-weight:720;line-height:1.3;text-decoration:none;display:flex}.wordmark img{object-fit:contain;flex-shrink:0}.wordmark-dot{color:var(--purple)}.tagline{color:var(--muted);font-size:.82rem}.topbar>button{margin-left:auto}.primary,.secondary,.danger{overflow-wrap:anywhere;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:11px 18px;font-size:.875rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.primary{background:var(--purple);border-color:var(--purple);color:#fff}.primary:hover:not(:disabled){background:#59318a;border-color:#59318a}.secondary{border-color:var(--control-border);color:#584b65;background:#fff}.secondary:hover:not(:disabled){border-color:var(--purple);background:#f5f0f9}.danger{color:#a1253d;background:#fff;border-color:#b9576b}.danger:hover:not(:disabled){background:#fff0f3}.text-button{color:var(--purple);background:0 0;border:0;padding:0 5px;font-size:.8125rem;text-decoration:underline}.text-danger{color:#a1253d;background:0 0;border:0;padding:6px 0;font-size:.75rem}main{max-width:1224px;min-height:calc(100svh - 200px);margin:auto;padding:0 48px}main.signed-in-main{max-width:none;min-height:100svh;margin:0;padding:0}.eyebrow{color:#6f587f;font-size:.7rem;font-weight:650}.welcome{grid-template-columns:1.05fr 1fr;align-items:center;gap:64px;min-height:680px;padding:72px 0 88px;display:grid}.welcome-copy{min-width:0}.welcome h1{font-family:var(--font-editorial);letter-spacing:-.055em;overflow-wrap:anywhere;margin:22px 0 26px;font-size:clamp(2.6rem,4.8vw,4.3rem);font-weight:400;line-height:1.13}.welcome h1 span{color:inherit}.intro{color:var(--muted);max-width:440px;margin-bottom:32px;font-size:1.05rem;line-height:1.8}.welcome-caption{color:var(--muted);margin-top:14px;font-size:.8rem}.mascot-stage{isolation:isolate;flex-direction:column;align-items:center;padding:38px 18px;display:flex;position:relative}.mascot-stage:before,.mascot-stage:after{content:"";z-index:-1;background:#eee7f5;border:1px solid #d5c9e4;border-radius:18px;position:absolute;inset:28px 10px;transform:rotate(-7deg)}.mascot-stage:after{background:#f5f1fa;inset:16px 20px;transform:rotate(5deg)}.stage-label{color:#6f587f;text-align:center;font-size:.8125rem}.hero-mascot{object-fit:contain;width:min(100%,340px);height:auto;margin:15px 0}.hand-note{font-family:var(--font-editorial);color:#6f587f;font-size:1.125rem}.app-footer{border-top:1px solid var(--border);max-width:1128px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:auto;padding:24px 0;font-size:.75rem;display:flex}.app-footer>span>span{margin:0 10px}.signed-in-footer{max-width:none;margin:0 40px 0 272px;padding:18px 0}.connection{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status-dot{background:#706578;border-radius:50%;width:6px;height:6px}.status-dot.ready{background:#28703e}.status-dot.offline{background:#a1253d}.account-email{overflow-wrap:anywhere}.dev-notice{color:#59416f;text-align:center;background:#ece5f4;border-bottom:1px solid #d9cce6;padding:7px 20px;font-size:.75rem}.dev-notice span{margin:0 7px}.error{color:#922138;overflow-wrap:anywhere;background:#fff1f4;border:1px solid #c36a7e;border-radius:7px;margin:0 0 22px;padding:16px}.auth-error{margin:24px}.google-signin{color:#1f1f1f;background:#fff;border:1px solid #747775;border-radius:7px;justify-content:center;align-items:center;min-height:44px;padding:11px 24px;font-weight:600;text-decoration:none;display:inline-flex}.google-signin:hover{background:#f1f3f4}@media (width<=1270px){.app-footer{margin-left:48px;margin-right:48px}.signed-in-footer{margin-left:272px;margin-right:40px}}@media (width<=767px){.topbar{flex-wrap:wrap;gap:12px;min-height:76px;padding:12px 20px}.wordmark{font-size:1.4rem}.wordmark img{width:36px;height:36px}.tagline{display:none}main{min-height:calc(100svh - 240px);padding:0 20px}.welcome{grid-template-columns:minmax(0,1fr);gap:0;min-height:0;padding:48px 0 36px}.welcome-copy{max-width:500px}.welcome h1{font-size:clamp(2.6rem,11vw,4rem)}.intro{font-size:1rem}.mascot-stage{width:100%;max-width:380px;margin:auto;padding:40px 10px 20px}.hero-mascot{max-width:250px}.stage-label{text-align:center;font-size:.6rem}.app-footer,.signed-in-footer{flex-direction:column;align-items:flex-start;gap:10px;margin:0 20px;padding:20px 0}.dev-notice{font-size:.7rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
