:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #0a0a0f;--surface: #14141f;--surface2: #1a1a2e;--border: rgba(255, 255, 255, .08);--text: #f0eef6;--text-dim: rgba(255, 255, 255, .5);--accent: #c084fc;--accent-dim: rgba(192, 132, 252, .15);--pink: #f472b6;--pink-dim: rgba(244, 114, 182, .12);--gradient: linear-gradient(135deg, #c084fc 0%, #f472b6 100%)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text)}.app{min-height:100vh;display:flex;flex-direction:column;max-width:480px;margin:0 auto;position:relative}.onboard{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;animation:fadeUp .6s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.onboard-emoji{font-size:4rem;margin-bottom:1rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.onboard h1{font-size:2.2rem;font-weight:700;letter-spacing:-.03em;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.onboard-sub{color:var(--text-dim);font-size:.95rem;margin-bottom:2.5rem;max-width:280px}.onboard-form{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:300px}.onboard-form label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);text-align:left}.onboard-form input{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:.85rem 1rem;color:var(--text);font-size:1rem;outline:none;transition:border-color .2s}.onboard-form input:focus{border-color:var(--accent)}.btn-primary{background:var(--gradient);border:none;border-radius:.75rem;padding:.85rem 1rem;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s;margin-top:.5rem}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-primary:not(:disabled):hover{opacity:.9}.btn-primary:not(:disabled):active{transform:scale(.98)}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:#0a0a0fcc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.top-title{font-weight:700;font-size:1.1rem;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.top-sub{font-size:.8rem;color:var(--text-dim)}.content{flex:1;padding:1.25rem 1.25rem 5rem;overflow-y:auto}.screen{animation:fadeUp .35s ease}.screen h2{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.25rem}.screen-sub{color:var(--text-dim);font-size:.85rem;margin-bottom:1.5rem}.section-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);margin:1.5rem 0 .75rem}.empty-text{color:var(--text-dim);font-size:.85rem;font-style:italic}.hint{color:var(--text-dim);font-size:.75rem;text-align:center;margin-top:1rem}.hero-card{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:2rem 1.5rem;text-align:center}.hero-emoji{font-size:3rem;margin-bottom:.5rem;animation:pulse 2.5s ease-in-out infinite}.hero-card h2{font-size:1.4rem;font-weight:700;margin-bottom:.25rem}.hero-status{color:var(--accent);font-size:.9rem;font-weight:500;margin-bottom:1rem}.hero-vibes{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.vibe-chip{background:var(--accent-dim);border:1px solid rgba(192,132,252,.2);border-radius:2rem;padding:.3rem .75rem;font-size:.75rem;font-weight:500}.vibe-chip.dim{background:var(--surface2);border-color:var(--border);color:var(--text-dim)}.add-moment{display:flex;gap:.5rem;margin-bottom:1.25rem}.add-moment input{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:.75rem 1rem;color:var(--text);font-size:.9rem;outline:none;transition:border-color .2s}.add-moment input:focus{border-color:var(--accent)}.btn-add{background:var(--gradient);border:none;border-radius:.75rem;width:3rem;font-size:1.3rem;color:#fff;cursor:pointer;transition:opacity .2s;flex-shrink:0}.btn-add:hover{opacity:.85}.moment-list{display:flex;flex-direction:column;gap:.5rem}.moment-card{display:flex;align-items:center;gap:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:.85rem 1rem;transition:border-color .2s}.moment-card:hover{border-color:#ffffff1f}.moment-card.mini{padding:.7rem .85rem}.moment-emoji{font-size:1.3rem;flex-shrink:0}.moment-body{flex:1;min-width:0}.moment-text{font-size:.9rem;font-weight:500}.moment-date{font-size:.7rem;color:var(--text-dim);margin-top:.15rem}.btn-remove{background:none;border:none;color:var(--text-dim);font-size:1.2rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s;flex-shrink:0}.btn-remove:hover{color:var(--pink)}.vibe-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.vibe-card{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1.25rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;transition:all .25s ease}.vibe-card:hover{border-color:#ffffff26;background:var(--surface2)}.vibe-card.active{background:var(--accent-dim);border-color:var(--accent);box-shadow:0 0 20px #c084fc1a}.vibe-card-emoji{font-size:1.8rem}.vibe-card-label{font-size:.85rem;font-weight:500}.boundary-list{display:flex;flex-direction:column;gap:.5rem}.boundary-item{display:flex;align-items:center;gap:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:.85rem 1rem;color:var(--text);font-size:.9rem;cursor:pointer;transition:all .2s;text-align:left}.boundary-item:hover{border-color:#ffffff1f}.boundary-item.active{background:var(--pink-dim);border-color:var(--pink)}.boundary-check{width:1.25rem;height:1.25rem;border:1.5px solid var(--text-dim);border-radius:.35rem;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--pink);flex-shrink:0;transition:all .2s}.boundary-item.active .boundary-check{border-color:var(--pink);background:var(--pink-dim)}.boundary-chips{display:flex;flex-wrap:wrap;gap:.5rem}.boundary-chip{background:var(--pink-dim);border:1px solid rgba(244,114,182,.2);border-radius:2rem;padding:.3rem .75rem;font-size:.75rem;font-weight:500}.label-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem}.label-card{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1.25rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;transition:all .25s ease}.label-card:hover{border-color:#ffffff26;background:var(--surface2)}.label-card.active{background:var(--accent-dim);border-color:var(--accent);box-shadow:0 0 20px #c084fc1a}.label-emoji{font-size:1.8rem}.label-text{font-size:.85rem;font-weight:500;text-align:center}.label-result{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1.5rem;animation:fadeUp .3s ease}.label-result-emoji{font-size:2.5rem;display:block;margin-bottom:.5rem}.label-result p{font-size:.95rem}.label-result strong{color:var(--accent)}.label-whisper{color:var(--text-dim);font-size:.8rem;font-style:italic;margin-top:.5rem}.bottom-nav{display:flex;justify-content:space-around;padding:.5rem .75rem;padding-bottom:max(.5rem,env(safe-area-inset-bottom));background:#0a0a0fe6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border);position:fixed;bottom:0;left:0;right:0;z-index:10}.nav-item{display:flex;flex-direction:column;align-items:center;gap:.15rem;background:none;border:none;color:var(--text-dim);cursor:pointer;padding:.35rem .75rem;border-radius:.5rem;transition:all .2s;-webkit-tap-highlight-color:transparent}.nav-item.active{color:var(--accent)}.nav-item:hover{color:var(--text)}.nav-icon{font-size:1.2rem}.nav-label{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}
