:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,sans-serif;color:#0e1925;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;--primary: oklch(.588 .158 241.966);--primary-dark: oklch(.49 .15 242);--surface: oklch(.96 .012 235);--muted: oklch(.46 .035 250);--line: oklch(.88 .018 240)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#fff}button{font:inherit}.auth-page,.loading-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#f4f9fd,#fff)}.auth-card{width:min(100%,420px);padding:36px 28px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 55px #1c304114}.cloud-mark,.empty-cloud{position:relative;width:78px;height:48px;margin:0 auto 24px}.cloud-mark span,.empty-cloud span{position:absolute;display:block;border-radius:999px;background:var(--primary)}.cloud-mark span:nth-child(1),.empty-cloud span:nth-child(1){width:45px;height:45px;left:0;bottom:0}.cloud-mark span:nth-child(2),.empty-cloud span:nth-child(2){width:58px;height:58px;left:22px;bottom:0}.cloud-mark span:nth-child(3),.empty-cloud span:nth-child(3){width:42px;height:42px;right:0;bottom:0}.eyebrow{margin:0 0 10px;color:var(--primary);font-size:.75rem;font-weight:750;letter-spacing:.14em}h1,h2,p{margin-top:0}h1{margin-bottom:14px;font-size:clamp(2rem,9vw,3.2rem);line-height:1.05;letter-spacing:-.045em}h2{margin-bottom:8px;font-size:1.2rem}.lede{color:var(--muted);line-height:1.55}.button{min-height:44px;border:0;border-radius:10px;padding:0 18px;font-weight:650;cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease}.button:focus-visible{outline:3px solid oklch(.75 .12 242);outline-offset:3px}.google-button{display:inline-flex;width:100%;align-items:center;justify-content:center;gap:10px;margin-top:16px;color:#fff;background:var(--primary)}.google-button:hover{background:var(--primary-dark)}.google-g{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;color:#4285f4;background:#fff;font-size:.9rem;font-weight:800}.status-message{margin:16px 0 0;color:#a12f2f;font-size:.9rem;line-height:1.45}.fine-print{margin:24px 0 0;color:var(--muted);font-size:.78rem}.loading-page{gap:12px;color:var(--muted)}.loading-mark{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.loading-page p{margin:0}.app-page{min-height:100vh;background:linear-gradient(180deg,#f4f9fd,#fff 58%)}.topbar{display:flex;min-height:72px;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);background:#ffffffd9}.brand-lockup{display:flex;align-items:center;gap:9px;font-size:1.05rem;font-weight:750;letter-spacing:-.02em}.brand-dot{width:12px;height:12px;border-radius:50%;background:var(--primary);box-shadow:7px 0 #63b7f3}.account-actions{display:flex;align-items:center;gap:10px}.account-name{display:none;color:var(--muted);font-size:.88rem}.text-button{min-height:36px;padding:0 10px;color:var(--primary-dark);background:transparent}.text-button:hover{background:var(--surface)}.workspace{width:min(100%,920px);margin:0 auto;padding:56px 20px 80px}.workspace-heading{max-width:620px}.workspace-heading h1{font-size:clamp(2.2rem,8vw,4.6rem)}.empty-graph{display:grid;justify-items:center;margin-top:44px;padding:38px 20px 54px;text-align:center;border:1px dashed oklch(.78 .045 240);border-radius:16px;background:#ffffffb8;overflow:hidden}.cloud-mascot{width:min(100%,250px);height:190px;margin:0 auto 4px}.cloud-mascot canvas{display:block;width:100%;height:100%}.empty-graph .empty-cloud{transform:scale(.85);margin-bottom:14px;opacity:.75}.empty-graph p{max-width:360px;color:var(--muted);line-height:1.5}.empty-graph .button{color:var(--muted);background:var(--surface);cursor:not-allowed}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:640px){.auth-card{padding:48px 44px}.topbar{padding-inline:40px}.account-name{display:inline}.workspace{padding-inline:40px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;transition-duration:1ms!important}}
