:root{--bg1:#2b2144;--bg2:#3d2b5f;--card:rgba(255,255,255,0.08);--card-border:rgba(255,255,255,0.14);--accent:#ffb7d5;--accent2:#a6e8ff;--gold:#ffd76e;--xp:linear-gradient(90deg,#a6f5c8,#58d6a0);--text:#f5efff;--muted:#bfa8d9;--pixel:"Press Start 2P",monospace;--body:"Quicksand",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:var(--body);color:var(--text);background:linear-gradient(160deg,var(--bg1) 0,var(--bg2) 55%,#4a3468 100%);min-height:100vh}a{color:var(--accent2);text-decoration:none}.pixel{font-family:var(--pixel)}.card{background:var(--card);border:2px solid var(--card-border);border-radius:18px;padding:18px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;border-radius:14px;border:2px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:var(--text);font-weight:700;font-size:15px;cursor:pointer;transition:transform .15s ease,background .2s ease}.btn:hover{transform:translateY(-2px) scale(1.02);background:rgba(255,255,255,.2)}.btn.primary{background:linear-gradient(135deg,#ff9ec4,#b79bff);border-color:#fff3}.btn.small{padding:6px 12px;font-size:13px;border-radius:10px}.btn.danger{background:rgba(255,120,120,.25);border-color:rgba(255,120,120,.4)}.bar{height:14px;border-radius:999px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.15);overflow:hidden}.bar>div{height:100%;border-radius:999px;transition:width .6s cubic-bezier(.22,1,.36,1)}.bar.xp>div{background:var(--xp)}.bar.stat>div{background:linear-gradient(90deg,#9ed2ff,#7aa8ff)}.quest{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;border:2px solid var(--card-border);background:rgba(255,255,255,.06);transition:background .2s,transform .15s}.quest:hover{transform:translateX(2px);background:rgba(255,255,255,.1)}.quest.done{opacity:.65}.quest.done .quest-title{text-decoration:line-through}.quest .check{width:30px;height:30px;border-radius:10px;border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;flex-shrink:0;transition:transform .15s}.quest .check:hover{transform:scale(1.1)}.quest.done .check{background:var(--accent);color:#4a2b52}@keyframes cat-run{0%{left:-80px;transform:scaleX(1)}49.9%{transform:scaleX(1)}50%{left:calc(100% + 80px);transform:scaleX(1)}50.1%{left:calc(100% + 80px);transform:scaleX(-1)}to{left:-80px;transform:scaleX(-1)}}.cat-run{position:fixed;bottom:6px;left:-80px;width:56px;image-rendering:pixelated;animation:cat-run 22s linear infinite;z-index:5;pointer-events:none;opacity:.95}.cat-run.c2{bottom:34px;animation-duration:31s;animation-delay:-12s;width:42px}.cat-run.c3{bottom:18px;animation-duration:40s;animation-delay:-25s;width:34px;opacity:.8}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.floaty{animation:floaty 3s ease-in-out infinite}@keyframes pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}.pop{animation:pop .45s cubic-bezier(.22,1,.36,1)}@keyframes sparkle{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-90px) scale(.4);opacity:0}}.sparkle{position:absolute;font-size:20px;animation:sparkle 1.2s ease-out forwards;pointer-events:none}.modal-back{position:fixed;inset:0;background:rgba(20,10,35,.7);display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:linear-gradient(160deg,#4a3468,#6b4a9e);border:3px solid var(--gold);border-radius:22px;padding:34px 44px;text-align:center;animation:pop .5s cubic-bezier(.22,1,.36,1)}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:760px){.grid2{grid-template-columns:1fr}}.stat-row{display:flex;margin:8px 0}.stat-row .label{width:46px;font-family:var(--pixel);font-size:10px;color:var(--accent)}.stat-row .bar{flex:1 1}.stat-row .val{width:34px;text-align:right;font-weight:700;font-size:14px}.quote-text{font-size:17px;line-height:1.55;font-style:italic}.quote-author{margin-top:10px;color:var(--gold);font-weight:700}.google-tasks-card{margin-bottom:20px}.google-tasks-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.google-tasks-title{font-size:11px;color:var(--accent2)}.google-tasks-empty,.google-tasks-subtitle{color:var(--muted);font-size:12px;line-height:1.5}.google-tasks-subtitle{margin-top:7px}.google-task-buckets{display:grid;grid-gap:14px;gap:14px;margin-top:14px}.google-task-bucket-title{color:var(--gold);font-weight:700;font-size:12px;letter-spacing:.03em}.google-task-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.google-task{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 12px;border:1px solid var(--card-border);border-radius:12px;background:rgba(255,255,255,.045)}.google-task.completed{opacity:.68}.google-task-check{flex:0 0 22px;color:var(--accent2);font-size:20px;border:0;background:transparent;padding:0;cursor:pointer;line-height:1}.google-task.completed .google-task-check{color:var(--gold)}.google-task-copy{min-width:0;flex:1 1}.google-task-name{overflow-wrap:anywhere;font-weight:700}.google-task.completed .google-task-name{text-decoration:line-through}.google-task-meta{margin-top:3px;color:var(--muted);font-size:11px}.google-task-status{flex:0 0 auto;padding:3px 7px;border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.google-task-status.pending{color:var(--accent2);background:rgba(166,232,255,.12)}.google-task-status.done{color:var(--gold);background:rgba(255,215,110,.12)}.xp-chip{font-family:var(--pixel);font-size:10px;background:rgba(255,215,110,.18);border:1px solid rgba(255,215,110,.4);padding:4px 8px;border-radius:8px;color:var(--gold);margin-left:auto;flex-shrink:0}.streak-flame{font-size:22px;margin-right:6px}input.text{background:rgba(0,0,0,.3);border:2px solid var(--card-border);border-radius:10px;color:var(--text);padding:10px 12px;font-family:var(--body);font-size:15px;outline:none}input.text:focus{border-color:var(--accent)}select.text{background:rgba(0,0,0,.3);border:2px solid var(--card-border);border-radius:10px;color:var(--text);padding:10px 12px;font-family:var(--body);font-size:15px;outline:none}.cat-breathe{transform-origin:center;animation:cat-breathe 4s ease-in-out infinite}@keyframes cat-breathe{0%,to{transform:scaleY(1) scaleX(1)}50%{transform:scaleY(1.06) scaleX(.97)}}.cat-tail-flick{transform-origin:13px 9px;animation:tail-flick 5s ease-in-out infinite}@keyframes tail-flick{0%,60%,to{transform:rotate(0deg)}70%{transform:rotate(-14deg)}80%{transform:rotate(8deg)}90%{transform:rotate(-6deg)}}.cat-tail-sleep{animation:tail-sleep 7s ease-in-out infinite;transform-origin:13px 9px}@keyframes tail-sleep{0%,to{transform:rotate(0deg)}50%{transform:rotate(-5deg)}}.cat-blink{transform-origin:center;animation:blink 5.2s infinite}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.08)}}.cat-head-sleep{transform-origin:7.5px 6px;animation:head-sleep 6s ease-in-out infinite}@keyframes head-sleep{0%,to{transform:translateY(.15px)}50%{transform:translateY(.45px)}}.cat-head-awake{transform-origin:7.5px 7px;animation:head-tilt 9s ease-in-out infinite}@keyframes head-tilt{0%,70%,to{transform:rotate(0deg)}78%{transform:rotate(-7deg)}88%{transform:rotate(5deg)}}.cat-zzz{animation:zzz-float 3.4s ease-in-out infinite;opacity:0}@keyframes zzz-float{0%{opacity:0;transform:translate(0) scale(.7)}25%{opacity:1}to{opacity:0;transform:translate(1.8px,-2.6px) scale(1.25)}}.hero-bob{transform-origin:7px 16px;animation:hero-bob 3.6s ease-in-out infinite}@keyframes hero-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-.55px)}}.hero-cape{transform-origin:7px 9px;animation:cape-sway 4.4s ease-in-out infinite}@keyframes cape-sway{0%,to{transform:skewX(0deg) translateX(0)}50%{transform:skewX(-2.4deg) translateX(-.25px)}}.stat-row{position:relative;display:grid;grid-template-columns:92px 1fr 34px;align-items:center;grid-gap:10px;gap:10px;padding:6px 4px;border-radius:10px}.stat-row:hover{background:rgba(255,255,255,.045)}.stat-tip{position:absolute;left:96px;top:100%;z-index:30;background:rgba(20,16,34,.96);border:1px solid var(--card-border);color:#e8e2ff;font-size:12px;line-height:1.45;padding:8px 12px;border-radius:10px;width:230px;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease;box-shadow:0 8px 24px rgba(0,0,0,.45)}.stat-row:hover .stat-tip{opacity:1;transform:translateY(0)}.stat-emoji{margin-right:6px}.breath-stage{position:relative;height:260px;display:grid;place-items:center;margin:10px 0 18px}.breath-circle{width:130px;height:130px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#a78bfa,#6d5bd0);box-shadow:0 0 40px rgba(139,109,255,.45),0 0 90px rgba(139,109,255,.18);transition:transform 3.9s ease-in-out}.breath-ring{position:absolute;border-radius:50%;border:2px solid rgba(167,139,250,.35);animation:ring-pulse 7.8s ease-in-out infinite}.breath-ring.r2{animation-delay:1.3s}.breath-ring.r3{animation-delay:2.6s}@keyframes ring-pulse{0%{width:140px;height:140px;opacity:.7}50%{width:230px;height:230px;opacity:0}to{width:140px;height:140px;opacity:0}}.breath-label{font-size:17px;font-weight:700;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5)}.breath-count{font-size:13px;color:var(--muted);margin-top:6px;text-align:center}.breath-presets{display:flex;gap:8px;justify-content:center;margin:12px 0;flex-wrap:wrap}.breath-done{text-align:center}.breath-done .big{font-size:52px;margin:8px 0}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px;margin:16px 0}.summary-tile{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:14px;text-align:center}.summary-tile .num{font-size:26px;font-weight:800;color:var(--gold)}.summary-tile .lbl{font-size:12px;color:var(--muted);margin-top:4px}.share-card{text-align:center;padding:26px}.share-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}.spark{display:flex;align-items:flex-end;gap:3px;height:64px;margin-top:10px}.spark .b{flex:1 1;background:linear-gradient(180deg,var(--accent2),var(--accent));border-radius:3px 3px 0 0;min-height:3px}.streak-flame{display:inline-block;animation:flame-pop 1.6s ease-in-out infinite}@keyframes flame-pop{0%,to{transform:scale(1) rotate(-2deg)}50%{transform:scale(1.18) rotate(3deg)}}.confetti{position:fixed;top:-12px;z-index:90;font-size:18px;animation:confetti-fall linear forwards}@keyframes confetti-fall{to{transform:translateY(105vh) rotate(540deg);opacity:.6}}@media (prefers-reduced-motion:reduce){.breath-ring,.cat-blink,.cat-breathe,.cat-head-awake,.cat-head-sleep,.cat-tail-flick,.cat-tail-sleep,.cat-zzz,.confetti,.hero-bob,.hero-cape,.streak-flame{animation:none!important}}.streak-banner{display:flex;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;background:linear-gradient(90deg,rgba(255,158,107,.16),rgba(255,215,110,.08));border:1px solid rgba(255,158,107,.35);border-radius:12px;width:-moz-fit-content;width:fit-content}.streak-num{font-size:22px;font-weight:800;color:var(--gold)}.streak-word{font-size:13px;color:var(--muted)}.bonus-chip{margin-left:6px;font-size:11px;background:rgba(255,215,110,.18);border:1px solid var(--gold);color:var(--gold);border-radius:999px;padding:2px 10px}.streak-pips{display:flex;gap:6px;margin-top:8px}.streak-pips .pip{width:18px;height:8px;border-radius:4px;background:rgba(255,255,255,.09)}.streak-pips .pip.lit{background:linear-gradient(90deg,#ffb46e,var(--gold));box-shadow:0 0 8px rgba(255,180,110,.5)}.dashboard-tabs{display:flex;gap:8px;margin:0 0 16px;padding:5px;border:1px solid var(--card-border);border-radius:14px;background:rgba(255,255,255,.04)}.dashboard-tab{flex:1 1;border:0;border-radius:10px;padding:10px 12px;color:var(--muted);background:transparent;font:inherit;font-weight:700;cursor:pointer}.dashboard-tab.active{color:var(--text);background:rgba(255,255,255,.12);box-shadow:0 3px 12px rgba(0,0,0,.16)}.dashboard-header{gap:10px}@media (max-width:640px){.calendar-controls,.calendar-heading-row,.calendar-period-row,.calendar-topbar{align-items:flex-start;flex-direction:column}.calendar-topbar{align-items:stretch}.calendar-provider-status{justify-content:flex-end}.calendar-view-tabs{width:100%}.calendar-view-tab{flex:1 1;padding-inline:6px}.calendar-nav{width:100%;justify-content:space-between}.calendar-event{grid-template-columns:58px minmax(0,1fr)}.event-provider{grid-column:2}.month-cell{min-height:78px;padding:4px}.month-weekday{padding:5px 3px;font-size:10px}.event-pill{font-size:9px}.calendar-legend{align-self:stretch}.dashboard-header{flex-wrap:wrap}.dashboard-header>div:last-child{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.grid2{grid-template-columns:1fr!important}.hero-panel{flex-direction:column;align-items:flex-start!important}.stat-row{grid-template-columns:72px 1fr 30px}.stat-tip{left:8px;right:8px;width:auto}.summary-grid{grid-template-columns:repeat(2,1fr)!important}.breath-presets .btn{padding:8px 14px}.share-btns .btn{padding:10px 16px}.google-tasks-header{align-items:stretch;flex-direction:column}.google-tasks-header .btn{align-self:flex-start}.google-task{align-items:flex-start;flex-wrap:wrap}.google-task-status{margin-left:32px}}.event-suggestions{margin-top:14px;padding:12px;background:rgba(255,255,255,.035);border-radius:12px}.event-item{padding:8px 10px}.event-link{color:var(--accent2);white-space:nowrap;font-size:11.5px}.calendar-page{max-width:1100px;margin:0 auto;padding:28px 20px 90px}.calendar-controls,.calendar-heading-row,.calendar-period-row,.calendar-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.calendar-heading-row{margin:24px 0 18px}.calendar-title{color:var(--accent);margin:0;font-size:22px}.calendar-status{color:var(--muted);margin:8px 0 0;font-size:13px}.calendar-legend,.calendar-provider-status{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.calendar-shell{padding:16px}.calendar-view-tabs{display:flex;gap:4px;padding:4px;border-radius:12px;background:rgba(255,255,255,.05)}.calendar-view-tab{border:0;border-radius:9px;padding:8px 14px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.calendar-view-tab.active{color:var(--text);background:rgba(255,255,255,.14)}.calendar-nav{display:flex;gap:6px}.calendar-period-row{margin:20px 0 14px}.calendar-period-row h2{margin:0;font-size:18px}.provider-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px}.provider-dot.google{background:#6fd7ff;box-shadow:0 0 8px rgba(111,215,255,.45)}.provider-dot.microsoft{background:#b79bff;box-shadow:0 0 8px rgba(183,155,255,.45)}.provider-dot.muted{background:rgba(255,255,255,.22)}.agenda-list{display:grid;grid-gap:18px;gap:18px}.agenda-day{border-top:1px solid var(--card-border);padding-top:12px}.agenda-day.today{border-top-color:var(--gold)}.agenda-day-heading{display:flex;align-items:baseline;gap:10px;margin-bottom:8px;color:var(--muted)}.agenda-day-heading span{font-weight:700;color:var(--text)}.agenda-day-heading b{font-size:13px}.agenda-day-heading em{color:var(--gold);font-size:11px;font-style:normal}.agenda-empty{color:var(--muted);font-size:12px;padding:8px 0}.calendar-event{display:grid;grid-template-columns:72px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:11px 12px;margin:6px 0;border-left:4px solid var(--accent2);border-radius:10px;background:rgba(255,255,255,.045);color:var(--text);text-decoration:none}.calendar-event.microsoft{border-left-color:#b79bff}.calendar-event:hover{background:rgba(255,255,255,.1)}.event-time{color:var(--muted);font-size:12px;font-weight:700}.event-time small{display:block;margin-top:3px;font-weight:400}.event-details{min-width:0;display:grid;grid-gap:4px;gap:4px}.event-details b,.event-details span{overflow-wrap:anywhere}.event-details span{color:var(--muted);font-size:12px}.event-provider{color:var(--accent2);font-size:11px;white-space:nowrap}.calendar-event.microsoft .event-provider{color:#c9b6ff}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--card-border);border-left:1px solid var(--card-border)}.month-weekday{padding:8px;color:var(--muted);font-size:11px;font-weight:700}.month-cell,.month-weekday{border-right:1px solid var(--card-border);border-bottom:1px solid var(--card-border)}.month-cell{min-height:110px;padding:7px;overflow:hidden}.month-cell.today{background:rgba(255,215,110,.08)}.month-cell.empty{background:rgba(0,0,0,.08)}.month-date{color:var(--muted);font-size:12px;font-weight:700;margin-bottom:5px}.event-pill{padding:4px 5px;margin:3px 0;border-left:3px solid var(--accent2);border-radius:5px;background:rgba(111,215,255,.11);color:var(--text);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-pill.microsoft{border-left-color:#b79bff;background:rgba(183,155,255,.12)}.event-pill span{color:var(--muted);margin-right:3px}.more-events{color:var(--gold);font-size:10px;margin-top:4px}.calendar-empty{color:var(--muted);padding:22px 0 8px;text-align:center}.cat-tail-g{transform-origin:15px 14px;animation:cat-tail-flick-kf 5s ease-in-out infinite}@keyframes cat-tail-flick-kf{0%,65%,to{transform:rotate(0)}75%{transform:rotate(-15deg)}85%{transform:rotate(9deg)}}.cat-tail-sleep-g{transform-origin:15px 14px;animation:cat-tail-sleep-kf 7s ease-in-out infinite}@keyframes cat-tail-sleep-kf{0%,to{transform:rotate(0)}50%{transform:rotate(-6deg)}}.cat-eyes{animation:cat-eye-blink 5.2s infinite;transform-origin:10px 7px}@keyframes cat-eye-blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.12)}}.cat-breathe{transform-origin:10px 15px;animation:cat-breathe-kf 4s ease-in-out infinite}@keyframes cat-breathe-kf{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.04)}}.quest{gap:12px;padding:14px 16px}.quest-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.xp-chip{white-space:nowrap}.event-item{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.04);color:#e8e2ff;text-decoration:none;font-size:12.5px;transition:background .15s ease}.event-item:hover{background:rgba(143,123,255,.14)}.event-item.ticked{border-color:var(--gold);background:rgba(255,215,110,.09)}.event-tick{display:flex;gap:10px;align-items:flex-start;cursor:pointer;flex:1 1;min-width:0}.event-tick input[type=checkbox]{margin-top:3px;accent-color:var(--gold);width:16px;height:16px;cursor:pointer}@media (max-width:640px){.event-item{flex-direction:column;align-items:flex-start}.quest-actions{flex-direction:column;align-items:flex-end;gap:6px}}.hero-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.hero-card>*{min-width:0;width:100%}.hero-card>:first-child{min-height:218px}.hero-card .stat-row{width:100%;min-width:0;margin:8px 0;padding:6px 0}.hero-card .stat-row .label{width:64px;flex:0 0 64px}.hero-card .stat-row .bar{min-width:0}.hero-card .stat-row .val{flex:0 0 34px}.quest{width:100%;min-width:0}.quest>div:nth-child(2){min-width:0;overflow-wrap:anywhere}.quest-actions{margin-left:auto;padding-left:8px}@media (max-width:760px){.hero-card{grid-template-columns:minmax(0,1fr)}.hero-card>:first-child{min-height:0}}.hero-card{padding:20px;gap:20px}.hero-card>:first-child,.hero-card>:nth-child(2){padding:14px;border-radius:14px;min-width:0}.hero-card>:first-child{background:rgba(255,255,255,.025)}.hero-card>:nth-child(2){background:rgba(0,0,0,.08)}.hero-card .bar.xp,.hero-card .streak-banner{margin-left:0;margin-right:0}.auth-loading{min-height:100vh;display:grid;place-items:center;align-content:center;grid-gap:14px;gap:14px;color:var(--muted)}.auth-loading-cat{font-size:56px;animation:auth-loading-bob 1.8s ease-in-out infinite}@keyframes auth-loading-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (max-width:760px){.hero-card{padding:14px;gap:12px}.hero-card>:first-child,.hero-card>:nth-child(2){padding:12px}}@media (max-width:400px){.hero-card{overflow:hidden}.hero-card>:first-child{display:flex;gap:10px;align-items:flex-start}.hero-card>:first-child>:first-child{flex:0 0 92px}.hero-card>:first-child>:last-child{min-width:0}.hero-card .pixel{font-size:10px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.streak-banner{max-width:100%;gap:4px;padding:7px 8px}.streak-num{font-size:19px}.streak-word{font-size:11px}.bonus-chip{font-size:9px;padding:2px 5px;margin-left:2px}.streak-pips{gap:3px}.streak-pips .pip{width:13px}}