:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5}*{box-sizing:border-box;margin:0}html,body,#root{min-height:100vh;min-height:100dvh;overflow-x:hidden;color:#e2e8f0;background:#06060e}.bg-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-3;transition:opacity 1.2s ease}.stars{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none}.star{position:absolute;border-radius:50%;background:#fff;animation:twinkle ease-in-out infinite alternate}@keyframes twinkle{0%{opacity:.08}to{opacity:.45}}.glow-orb-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;display:grid;place-items:center}.glow-orb{width:500px;height:500px;border-radius:50%;filter:blur(150px);opacity:.08;transition:background 1.5s ease;animation:orb-breathe 8s ease-in-out infinite}@keyframes orb-breathe{0%,to{transform:scale(1);opacity:.08}50%{transform:scale(1.25);opacity:.14}}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:1.5rem 1.25rem;opacity:0;transform:translateY(20px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);max-width:480px;margin:0 auto}.app.entered{opacity:1;transform:translateY(0)}.app-header{text-align:center;margin-bottom:1.25rem}.logo{font-family:Space Grotesk,Inter,sans-serif;font-size:1.75rem;font-weight:700;letter-spacing:-.04em;color:#f1f5f9}.logo-dot{background:linear-gradient(135deg,#a78bfa,#f472b6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.tagline{font-size:.75rem;font-weight:300;color:#e2e8f04d}.card{width:100%;border-radius:1.25rem;padding:1px;flex:1;background:linear-gradient(160deg,#ffffff1a,#ffffff05 40%,#ffffff0f)}.card-inner{background:#06060ecc;backdrop-filter:blur(40px) saturate(1.2);-webkit-backdrop-filter:blur(40px) saturate(1.2);border-radius:1.25rem;padding:1.75rem 1.5rem}.view{animation:view-in .35s ease}@keyframes view-in{0%{opacity:0;transform:translateY(6px)}}.fade-in{animation:view-in .35s ease}.section-title{font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#e2e8f04d;margin-bottom:1rem;text-align:center}.section-title.small{margin-top:1.25rem;margin-bottom:.75rem}.section-subtitle{font-size:.7rem;color:#e2e8f033;text-align:center;margin-top:-.5rem;margin-bottom:1rem}.divider{height:1px;margin:1.25rem 0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent)}.empty-msg{text-align:center;font-size:.75rem;color:#e2e8f033;padding:1.5rem 0}.mood-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}.mood-grid.compact{gap:.4rem;margin-bottom:.75rem}.mood-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;padding:.65rem .2rem;border:1px solid rgba(255,255,255,.06);border-radius:.9rem;background:#ffffff06;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s ease,border-color .2s ease,box-shadow .3s ease}.mood-btn-emoji{font-size:1.5rem;line-height:1;transition:transform .25s ease}.mood-btn-label{font-size:.5rem;font-weight:600;letter-spacing:.08em;color:#e2e8f04d;text-transform:uppercase}.mood-btn:hover{transform:translateY(-2px) scale(1.03);background:#ffffff0f}.mood-btn:hover .mood-btn-emoji{transform:scale(1.15)}.mood-btn:active{transform:translateY(0) scale(.97)}.mood-btn.active{background:#ffffff14}.mood-btn.sm{padding:.5rem .15rem;border-radius:.7rem}.mood-btn.sm .mood-btn-emoji{font-size:1.2rem}.tag-picker{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0}.tag-btn{display:flex;align-items:center;gap:.25rem;padding:.3rem .55rem;border:1px solid rgba(255,255,255,.06);border-radius:2rem;background:#ffffff05;cursor:pointer;transition:background .2s ease,border-color .2s ease}.tag-btn.active{background:#a78bfa1f;border-color:#a78bfa4d}.tag-icon{font-size:.75rem}.tag-name{font-size:.55rem;font-weight:600;letter-spacing:.05em;color:#e2e8f066;text-transform:uppercase}.log-form{margin-bottom:.5rem}.note-input{width:100%;padding:.7rem .9rem;border-radius:.7rem;resize:none;background:#ffffff08;border:1px solid rgba(255,255,255,.06);color:#e2e8f0;font-family:inherit;font-size:.8rem;outline:none;transition:border-color .2s ease}.note-input::placeholder{color:#e2e8f033}.note-input:focus{border-color:#a78bfa4d}.primary-btn{width:100%;margin-top:.5rem;padding:.65rem;border:1px solid rgba(167,139,250,.2);border-radius:.7rem;cursor:pointer;background:linear-gradient(135deg,#a78bfa26,#f472b61a);color:#c4b5fd;font-family:inherit;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:transform .2s ease,background .3s ease,border-color .3s ease}.primary-btn:hover{transform:translateY(-1px);border-color:#a78bfa59}.primary-btn.sm{width:auto;padding:.4rem 1rem;margin-top:0}.toast{position:fixed;top:1.25rem;left:50%;transform:translate(-50%);padding:.55rem 1.4rem;border-radius:2rem;background:#34d39926;border:1px solid rgba(52,211,153,.25);color:#34d399;font-size:.7rem;font-weight:600;z-index:100;animation:toast-in .3s ease,toast-out .3s ease 1.7s forwards}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}}@keyframes toast-out{to{opacity:0}}.search-bar{display:flex;gap:.5rem;margin-bottom:.75rem}.search-input{flex:1;padding:.5rem .75rem;border-radius:.6rem;background:#ffffff08;border:1px solid rgba(255,255,255,.06);color:#e2e8f0;font-family:inherit;font-size:.75rem;outline:none}.search-input::placeholder{color:#e2e8f033}.search-input:focus{border-color:#a78bfa4d}.filter-select{padding:.5rem;border-radius:.6rem;background:#ffffff08;border:1px solid rgba(255,255,255,.06);color:#e2e8f0;font-family:inherit;font-size:.7rem;outline:none;cursor:pointer}.entry-list{display:flex;flex-direction:column}.entry{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.03)}.entry:last-child{border-bottom:none}.entry-emoji{font-size:1.15rem;flex-shrink:0}.entry-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.entry-meta{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#e2e8f073}.entry-tags{font-size:.7rem}.entry-note{font-size:.75rem;color:#e2e8f04d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-del{background:none;border:none;color:#e2e8f01a;cursor:pointer;font-size:1.1rem;line-height:1;padding:.25rem;transition:color .2s ease}.entry-del:hover{color:#ef4444}.insight-card{background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:.9rem;padding:1rem;margin-bottom:.75rem}.insight-label{font-size:.55rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#e2e8f040;margin-bottom:.75rem}.insight-hint{font-size:.55rem;color:#e2e8f033;margin-top:.5rem;font-style:italic}.river-svg{width:100%;height:70px;display:block}.stat-row{display:flex;gap:.5rem;margin-bottom:.75rem}.stat-pill{flex:1;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.75rem .5rem;border-radius:.75rem;background:#ffffff06;border:1px solid rgba(255,255,255,.04)}.stat-pill-val{font-family:Space Grotesk,sans-serif;font-size:1.35rem;font-weight:700;color:#f1f5f9}.stat-pill-lbl{font-size:.5rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#e2e8f040}.bar-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.45rem}.bar-emoji{font-size:.95rem;flex-shrink:0;width:1.4rem;text-align:center}.bar-track{flex:1;height:6px;border-radius:3px;background:#ffffff0a;overflow:hidden}.bar-fill{height:100%;border-radius:3px;transition:width .7s cubic-bezier(.16,1,.3,1);min-width:3px}.bar-count{font-size:.65rem;font-weight:700;color:#e2e8f059;width:1.5rem;text-align:right}.pattern-grid{display:flex;flex-direction:column;gap:.4rem}.pattern-item{display:flex;align-items:center;gap:.5rem}.pattern-icon{width:1.4rem;height:1.4rem;display:grid;place-items:center;border-radius:.35rem;font-size:.7rem;background:#a78bfa1a;color:#a78bfa}.pattern-text{font-size:.72rem;color:#e2e8f073}.pattern-text strong{color:#e2e8f0b3}.trans-row{display:flex;align-items:center;gap:.4rem;padding:.3rem 0;font-size:.85rem}.trans-arrow{color:#e2e8f026;font-size:.7rem}.trans-count{margin-left:auto;font-size:.6rem;font-weight:700;color:#e2e8f040}.empty-state{text-align:center;padding:3rem 1rem}.empty-icon{font-size:2rem;color:#a78bfa4d;display:block;margin-bottom:.75rem}.empty-title{font-size:.9rem;font-weight:600;color:#e2e8f066;margin-bottom:.25rem}.empty-sub{font-size:.75rem;color:#e2e8f033}.weekly-card{border-color:#a78bfa1a}.weekly-grid{display:flex;gap:.5rem}.weekly-stat{flex:1;text-align:center}.ws-val{display:block;font-family:Space Grotesk,sans-serif;font-size:1.2rem;font-weight:700;color:#f1f5f9}.ws-val.positive{color:#34d399}.ws-val.negative{color:#ef4444}.ws-lbl{font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:#e2e8f040}.weekly-top{font-size:.7rem;color:#e2e8f059;text-align:center;margin-top:.5rem}.breath-wrap{display:flex;flex-direction:column;align-items:center;padding:1rem 0}.breath-circle{width:100px;height:100px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:radial-gradient(circle,#a78bfa33,#a78bfa0d 70%);border:1.5px solid rgba(167,139,250,.2);transition:transform cubic-bezier(.37,0,.63,1),box-shadow .5s ease,border-color .5s ease}.breath-circle.active{border-color:#a78bfa66;box-shadow:0 0 40px #a78bfa26,0 0 80px #a78bfa0d}.breath-count{font-family:Space Grotesk,sans-serif;font-size:1.5rem;font-weight:700;color:#a78bfa}.breath-label{margin-top:1rem;font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:#e2e8f059}.breath-cycles{margin-top:.3rem;font-size:.6rem;color:#34d39980}.aff-card{text-align:center;padding:1.25rem;background:#a78bfa0a;border:1px solid rgba(167,139,250,.1);border-radius:.9rem;margin-top:.75rem}.aff-text{font-size:.85rem;font-style:italic;line-height:1.6;color:#e2e8f08c;margin-bottom:.75rem}.text-btn{background:none;border:none;cursor:pointer;font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#a78bfa80;transition:color .2s ease}.text-btn:hover{color:#a78bfa}.grat-input-row{display:flex;gap:.5rem;margin-bottom:.75rem}.grat-input{flex:1;padding:.5rem .75rem;border-radius:.6rem;background:#ffffff08;border:1px solid rgba(255,255,255,.06);color:#e2e8f0;font-family:inherit;font-size:.75rem;outline:none}.grat-input::placeholder{color:#e2e8f033}.grat-input:focus{border-color:#a78bfa4d}.grat-add{width:2rem;height:2rem;border-radius:.5rem;border:1px solid rgba(167,139,250,.2);background:#a78bfa1a;color:#a78bfa;font-size:1rem;cursor:pointer;display:grid;place-items:center}.grat-list{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.5rem}.grat-item{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.03)}.grat-text{flex:1;font-size:.75rem;color:#e2e8f073}.goal-form{display:flex;align-items:center;gap:.4rem;margin-bottom:.75rem}.goal-num{width:3rem;padding:.5rem;border-radius:.6rem;background:#ffffff08;border:1px solid rgba(255,255,255,.06);color:#e2e8f0;font-family:inherit;font-size:.75rem;outline:none;text-align:center}.goal-unit{font-size:.6rem;color:#e2e8f040}.goal-card{background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:.7rem;padding:.6rem .75rem;margin-bottom:.5rem}.goal-header{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#e2e8f080;margin-bottom:.4rem}.goal-prog{margin-left:auto;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:.7rem;color:#e2e8f099}.goal-bar{height:4px;border-radius:2px;background:#ffffff0a;overflow:hidden}.goal-fill{height:100%;border-radius:2px;transition:width .7s cubic-bezier(.16,1,.3,1)}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.cal-arrow{background:none;border:none;color:#e2e8f066;cursor:pointer;font-size:1.4rem;padding:.25rem .5rem}.cal-arrow:hover{color:#e2e8f0}.cal-title{font-size:.85rem;font-weight:600;color:#e2e8f0b3}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem}.cal-wd{text-align:center;font-size:.6rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#e2e8f033}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.cal-cell{aspect-ratio:1;display:grid;place-items:center;border-radius:.5rem;border:1px solid transparent;font-size:.7rem;color:#e2e8f033;transition:background .2s ease}.cal-cell.today{border-color:#ffffff26}.cal-emoji{font-size:1rem}.cal-day-num{font-size:.7rem}.cal-legend{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:1rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.05)}.legend-item{display:flex;align-items:center;gap:.3rem;font-size:.6rem;color:#e2e8f04d}.legend-dot{width:6px;height:6px;border-radius:50%}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.03)}.setting-row.sub{padding-left:1rem}.setting-label{font-size:.75rem;color:#e2e8f080}.toggle{width:2.5rem;height:1.3rem;border-radius:1rem;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;cursor:pointer;position:relative;transition:background .2s ease,border-color .2s ease}.toggle.on{background:#a78bfa40;border-color:#a78bfa66}.toggle-knob{position:absolute;top:2px;left:2px;width:.9rem;height:.9rem;border-radius:50%;background:#e2e8f0;transition:transform .2s ease}.toggle.on .toggle-knob{transform:translate(1.2rem)}.shortcut-list{display:flex;flex-direction:column;gap:.4rem}.shortcut{display:flex;align-items:center;gap:.5rem;font-size:.7rem;color:#e2e8f059}.shortcut kbd{display:inline-block;padding:.15rem .4rem;border-radius:.3rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);font-family:Space Grotesk,monospace;font-size:.6rem;color:#e2e8f080}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0009;display:grid;place-items:center;padding:1rem;animation:view-in .2s ease}.modal{width:100%;max-width:26rem;border-radius:1.25rem;padding:1.5rem;background:#0c0c18f2;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.modal-actions{display:flex;gap:.5rem;margin-top:1rem}.modal-actions .text-btn{flex:1;padding:.5rem;text-align:center}.modal-actions .primary-btn{flex:1}.onboard{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;gap:2rem;background:#06060e}.onboard-content{max-width:20rem}.onboard-icon{font-size:3rem;display:block;margin-bottom:1rem;color:#a78bfa}.onboard-title{font-family:Space Grotesk,sans-serif;font-size:1.5rem;font-weight:700;color:#f1f5f9;margin-bottom:.5rem}.onboard-sub{font-size:.85rem;color:#e2e8f066;line-height:1.6}.onboard-dots{display:flex;gap:.5rem}.dot{width:6px;height:6px;border-radius:50%;background:#ffffff26;transition:background .3s ease}.dot.active{background:#a78bfa}.onboard .primary-btn{width:12rem}.tabs{display:flex;gap:.15rem;margin-top:1.25rem;width:100%;padding:.3rem;border-radius:.9rem;background:#ffffff08;border:1px solid rgba(255,255,255,.04)}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.4rem .25rem;border:none;border-radius:.6rem;background:transparent;cursor:pointer;transition:background .2s ease}.tab-icon{font-size:.85rem;color:#e2e8f033;transition:color .2s ease}.tab-name{font-size:.4rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#e2e8f026;transition:color .2s ease}.tab.active{background:#ffffff0f}.tab.active .tab-icon{color:#a78bfa}.tab.active .tab-name{color:#e2e8f099}.tab:hover:not(.active){background:#ffffff05}.confetti-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;pointer-events:none;overflow:hidden}.confetti-particle{position:absolute;top:-10px;border-radius:2px;opacity:0;animation:confetti-fall linear forwards}@keyframes confetti-fall{0%{transform:translateY(0) translate(0) rotate(0);opacity:1}80%{opacity:1}to{transform:translateY(100vh) translate(var(--drift)) rotate(var(--rotation));opacity:0}}.greeting{text-align:center;margin-bottom:.75rem}.greeting-text{font-family:Space Grotesk,sans-serif;font-size:1.15rem;font-weight:600;color:#e2e8f0b3}.greeting-sub{font-size:.75rem;color:#e2e8f04d;margin-top:.15rem}.ai-card{border-color:#a78bfa26;background:linear-gradient(135deg,#a78bfa0a,#f472b605)}.ai-insight{font-size:.75rem;color:#e2e8f08c;padding:.3rem 0;line-height:1.5}.ai-insight+.ai-insight{border-top:1px solid rgba(255,255,255,.03)}.celebration-toast{cursor:pointer;background:linear-gradient(135deg,#fbbf2433,#f472b626);border-color:#fbbf244d;color:#fbbf24;font-size:.85rem;padding:.75rem 1.8rem;animation:toast-in .4s cubic-bezier(.34,1.56,.64,1),toast-out .3s ease 3s forwards}@media(max-width:480px){.app{padding:1rem .75rem}.card-inner{padding:1.25rem 1rem}.logo{font-size:1.5rem}.mood-grid{gap:.4rem}.mood-btn-emoji{font-size:1.3rem}.glow-orb{width:300px;height:300px}.breath-circle{width:85px;height:85px}.tab-name{font-size:.35rem}}@media(max-width:360px){.mood-btn-label{display:none}.mood-btn{padding:.5rem .15rem}}
