: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}.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)}@media (max-width:640px){.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}}.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}.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}}