.artifact-overlay{z-index:10000;perspective:2000px;background:#0006;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.artifact-frame{max-width:500px;width:95%;padding:0;background:none;animation:artifact-rise 1.2s cubic-bezier(.16,1,.3,1) both}.artifact-paper{background:linear-gradient(165deg,#ffffff0d,#0a0a14f2 40%,#050508);border:1px solid rgba(255,255,255,.08);padding:60px 40px;color:var(--uni-text);box-shadow:0 40px 100px #000c;position:relative;min-height:600px;display:flex;flex-direction:column;border-radius:4px}.artifact-header{display:flex;align-items:center;gap:12px;margin-bottom:60px;color:#999;font-size:10px;letter-spacing:.3em;text-transform:uppercase}.artifact-uni-dot{width:6px;height:6px;background:#fff;border-radius:50%;box-shadow:0 0 10px #ffffff80}.artifact-title{font-family:var(--font-display);font-size:28px;font-weight:800;letter-spacing:.05em;margin-bottom:30px;color:#fff}.artifact-divider{width:40px;height:1px;background:#ddd;margin-bottom:40px}.artifact-lyrics{font-family:var(--font);font-size:17px;line-height:1.8;color:var(--uni-text-dim);flex:1;white-space:pre-line;font-weight:300}.artifact-footer{margin-top:60px;border-top:1px solid #eee;padding-top:30px}.artifact-names{font-size:14px;font-weight:600;margin-bottom:4px}.artifact-names span{color:#999;font-weight:400;margin:0 4px}.artifact-date{font-size:12px;color:#999;margin-bottom:12px}.artifact-serial{font-family:monospace;font-size:9px;color:#ccc;letter-spacing:.1em}.artifact-actions{display:flex;justify-content:center;gap:12px;margin-top:30px}@keyframes artifact-rise{0%{transform:translateY(100px) rotateX(20deg) scale(.9);opacity:0}to{transform:translateY(0) rotateX(0) scale(1);opacity:1}}@media print{.artifact-actions,.atmosphere-canvas,.chat-page,.presence-pulse,.audio-toggle{display:none!important}.artifact-paper{box-shadow:none;padding:0;min-height:auto}}:root{--uni-void: #050508;--uni-deep: #0a0a12;--uni-surface: #0f0f1a;--uni-surface-2: #141420;--uni-glass: rgba(255, 255, 255, .03);--uni-glass-border: rgba(255, 255, 255, .06);--uni-glass-hover: rgba(255, 255, 255, .08);--uni-glass-strong: rgba(255, 255, 255, .1);--uni-text: #EAEAEA;--uni-text-bright: #F5F5F7;--uni-text-dim: rgba(234, 234, 234, .55);--uni-text-muted: rgba(234, 234, 234, .3);--uni-chrome: #7A7A7A;--uni-chrome-dim: #6A6A6A;--uni-accent-1: #EAEAEA;--uni-accent-2: #AAAAAA;--uni-gradient: linear-gradient(135deg, var(--uni-accent-1), var(--uni-accent-2));--emo-valentine: #ff2d55;--emo-valentine-bg: rgba(255, 45, 85, .08);--emo-happy: #ffd700;--emo-happy-bg: rgba(255, 215, 0, .06);--emo-sad: #5b86e5;--emo-sad-bg: rgba(91, 134, 229, .06);--emo-love: #ff6b9d;--emo-love-bg: rgba(255, 107, 157, .06);--emo-angry: #ff4444;--emo-angry-bg: rgba(255, 68, 68, .06);--emo-excited: #36d1dc;--emo-excited-bg: rgba(54, 209, 220, .06);--emo-playful: #a8e063;--emo-playful-bg: rgba(168, 224, 99, .06);--emo-tender: #c084fc;--emo-tender-bg: rgba(192, 132, 252, .06);--emo-neutral: #888888;--emo-neutral-bg: rgba(136, 136, 136, .04);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--ease: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Space Grotesk", var(--font);--scene-1: #0d0d18;--scene-2: #0a0f1a;--bell-dawn: #f5f5f7;--bell-dusk: #c0c0cf;--bell-dim: 1;--moral-entropy: 0;--atmosphere-clarity: 1;--aura-dispersion: 60px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden;font-family:var(--font);background:var(--uni-void);color:var(--uni-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.atmosphere-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:auto;z-index:0;filter:brightness(.5) contrast(1.1) saturate(1.1) blur(12px);will-change:transform;transform:translateZ(0)}@keyframes breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.92}}.breathe-sync{animation:breathe 3.333s ease-in-out infinite}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px var(--glow-color, rgba(255, 215, 0, .2))}50%{box-shadow:0 0 40px var(--glow-color, rgba(255, 215, 0, .4)),0 0 80px var(--glow-color, rgba(255, 215, 0, .15))}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.06)}28%{transform:scale(1)}42%{transform:scale(1.04)}56%{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}10%{transform:translate(-2px)}20%{transform:translate(2px)}30%{transform:translate(-2px)}40%{transform:translate(2px)}50%{transform:translate(0)}}@keyframes shimmer{0%{transform:translate(-100%) skew(-15deg)}to{transform:translate(200%) skew(-15deg)}}@keyframes liquid-drift{0%,to{background-position:0% 50%;opacity:.8}50%{background-position:100% 50%;opacity:1}}@keyframes ripple{0%{transform:scale(1);opacity:.6}to{transform:scale(1.8);opacity:0}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes manifestoGhostIn{0%{opacity:0;transform:translateY(24px) scale(.98);filter:blur(12px);letter-spacing:.1em}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0);letter-spacing:normal}}.fade-in{animation:fadeIn .8s var(--ease) forwards}.fade-slide-up{animation:fadeSlideUp .8s var(--ease) forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.spinner{width:40px;height:40px;border:2px solid rgba(255,255,255,.1);border-left-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes aurora{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes orbit{0%{transform:rotate(0) translate(120px) rotate(0)}to{transform:rotate(360deg) translate(120px) rotate(-360deg)}}@keyframes wordmarkGlow{0%,to{text-shadow:0 0 30px rgba(102,126,234,.3),0 0 60px rgba(118,75,162,.15)}50%{text-shadow:0 0 50px rgba(102,126,234,.5),0 0 100px rgba(118,75,162,.25)}}@keyframes typePulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes ethereal-float{0%,to{opacity:.3;transform:translateY(0);letter-spacing:.25em}50%{opacity:.5;transform:translateY(-1px);letter-spacing:.3em}}.ethereal-text{font-family:var(--font-display);font-size:9px;text-transform:uppercase;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.3);pointer-events:none;animation:ethereal-float 6s ease-in-out infinite;-webkit-user-select:none;user-select:none}button.ethereal-text{pointer-events:auto;-webkit-user-select:auto;user-select:auto}@keyframes bell-breathe{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.35);opacity:1}}@keyframes bell-think{0%,to{transform:scale(.9)}50%{transform:scale(1.4)}}@keyframes bell-orbit-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bell-listen-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes bell-glow-burst{0%{transform:scale(1);stroke-opacity:0;stroke-width:2px}20%{transform:scale(1.2);stroke-opacity:.8;stroke-width:3px}to{transform:scale(3);stroke-opacity:0;stroke-width:.5px}}.bell-dot-wrap{display:flex;align-items:center;justify-content:center;pointer-events:none;flex-shrink:0}.bell-dot-svg{overflow:visible}.bell-orbit{opacity:0;transition:opacity .6s var(--ease);transform-origin:60px 60px}.bell-glow-ring{stroke-opacity:0;transform-origin:60px 60px}.bell-core{transition:all .6s var(--ease);transform-origin:60px 60px}.bell-idle .bell-core{animation:bell-breathe 3.333s ease-in-out infinite}.bell-thinking .bell-core{animation:bell-think 3s ease-in-out infinite}.bell-generating .bell-core{animation:bell-breathe 2s ease-in-out infinite}.bell-generating .bell-orbit{opacity:.12;animation:bell-orbit-spin 8s linear infinite;transform-origin:60px 60px}.bell-listening .bell-core{animation:bell-listen-pulse 2s ease-in-out infinite;opacity:.6}.bell-glow .bell-core{animation:bell-breathe 2s ease-in-out infinite}.bell-glow .bell-glow-ring{animation:bell-glow-burst 1.5s ease-out forwards}.bell-dot-header{width:36px;height:36px;margin:-8px -4px;display:inline-flex}.bell-dot-header .bell-dot-wrap,.bell-dot-header .bell-dot-svg{width:36px!important;height:36px!important}.bell-dot-inline{width:20px;height:20px;display:inline-flex;vertical-align:middle;margin-right:4px}.bell-dot-inline .bell-dot-wrap,.bell-dot-inline .bell-dot-svg{width:20px!important;height:20px!important}.app{height:100%;width:100%;position:relative;overflow:hidden;transition:filter .8s var(--ease)}.app.bell-active{filter:brightness(.95)}.scene-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(135deg,var(--scene-1),var(--uni-void),var(--scene-2));background-size:400% 400%;animation:aurora 40s ease infinite;transition:--scene-1 5s var(--ease),--scene-2 5s var(--ease)}.scene-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 20%,rgba(102,126,234,.08) 0%,transparent 60%),radial-gradient(ellipse at 70% 80%,rgba(118,75,162,.06) 0%,transparent 50%);pointer-events:none}.atmosphere-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;filter:blur(calc(var(--moral-entropy) * 15px)) brightness(calc(1 - var(--moral-entropy) * .2));transition:filter 2s var(--ease)}.welcome{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1;padding:24px;animation:fadeIn 1s var(--ease)}.welcome-content{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:100vw;opacity:0;transition:opacity 1s var(--ease);position:relative;z-index:2;margin:0 auto;text-align:center}.manifesto-view{background:radial-gradient(circle at center,rgba(234,234,234,.03) 0%,transparent 70%)}.manifesto-content{width:100%}.manifesto-lines p{text-shadow:0 0 20px rgba(255,255,255,.1)}.manifesto-lines p:first-child{font-weight:500;letter-spacing:-.01em;color:#fff}.wordmark{font-family:var(--font-display);font-size:clamp(48px,10vw,80px);font-weight:900;letter-spacing:.15em;text-indent:.15em;background:var(--uni-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:wordmarkGlow 4s ease-in-out infinite,breathe 6s ease-in-out infinite;margin:2vh auto 8px;-webkit-user-select:none;user-select:none;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.tagline{font-size:clamp(16px,3vw,20px);color:var(--uni-text);text-align:center;max-width:420px;line-height:1.6;letter-spacing:.02em;margin-bottom:12px;animation:fadeSlideUp 1s var(--ease) .3s both}.tagline em{color:var(--uni-accent-1);font-style:normal;font-weight:600}.btn-reflect-base{display:inline-flex;align-items:center;justify-content:center;padding:10px 24px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-full);font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:all .4s var(--ease);position:relative;background:#ffffff08;color:var(--uni-text);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);-webkit-box-reflect:below 2px linear-gradient(transparent,transparent 40%,rgba(255,255,255,.15));overflow:hidden}.btn-reflect-base:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-2px)}.btn-reflect-primary{background:#fff;color:#000;border:none;-webkit-box-reflect:below 2px linear-gradient(transparent,transparent 30%,rgba(255,255,255,.25))}.btn-reflect-primary:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 3s infinite;pointer-events:none}.btn-reflect-primary:hover{background:#fdfdfd;box-shadow:0 0 30px #ffffff40,inset 0 0 10px #0000000d}.btn-reflect-sm{padding:8px 16px;font-size:9px}.wordmark-reflect{font-family:var(--font-display);font-size:clamp(60px,15vw,120px);font-weight:900;letter-spacing:.15em;text-indent:.15em;color:#fff;line-height:1;text-transform:none;font-style:normal!important;margin:0 auto;text-align:center;-webkit-box-reflect:below 4px linear-gradient(transparent,transparent 20%,rgba(255,255,255,.2));filter:drop-shadow(0 0 15px rgba(255,255,255,.1));display:flex;justify-content:center;width:100%}.hero-actions{display:flex;flex-direction:column;align-items:center;gap:12px;animation:fadeSlideUp 1s var(--ease) .6s both}.hero-tagline{font-size:clamp(14px,2vw,18px);letter-spacing:.3em;text-transform:uppercase;color:var(--uni-text);opacity:.6;margin-bottom:6vh;font-weight:300}.founder-cta{font-family:var(--font-display);font-size:10px;letter-spacing:.15em;color:var(--uni-text-muted);opacity:.5;transition:all .3s var(--ease);cursor:pointer}.founder-cta:hover{opacity:1;color:var(--uni-text)}.lead-tagline{margin-top:60px;font-size:9px;letter-spacing:.4em;color:var(--uni-text-muted);opacity:.3;text-transform:uppercase}.glass-card{background:#0f0f1ab3;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);padding:40px;width:100%;max-width:440px;position:relative;overflow:hidden;box-shadow:0 20px 50px #0006,inset 0 0 0 1px #ffffff08}.glass-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.03) 0%,transparent 50%);pointer-events:none;animation:liquid-drift 10s infinite alternate}.auth-page{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1;padding:24px;animation:fadeSlideUp .6s var(--ease)}.auth-page .wordmark{font-size:36px;margin-bottom:4px}.auth-subtitle{color:var(--uni-text-muted);font-size:13px;margin-bottom:32px}.auth-tabs{display:flex;gap:0;margin-bottom:24px;background:var(--uni-glass);border-radius:var(--radius-full);padding:3px;border:1px solid var(--uni-glass-border)}.auth-tab{flex:1;padding:10px 24px;border:none;border-radius:var(--radius-full);background:transparent;color:var(--uni-text-muted);font-family:var(--font);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s var(--ease)}.auth-tab.active{background:var(--uni-gradient);color:#fff;box-shadow:0 2px 12px #667eea4d}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:var(--radius-full);font-family:var(--font);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s var(--ease);border:1px solid transparent;gap:8px}.btn-primary{background:#fff;color:#000;border:none}.btn-glass{background:var(--uni-glass);border:1px solid var(--uni-glass-border);color:var(--uni-text);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.btn-sm{padding:8px 16px;font-size:12px}.btn:hover{transform:translateY(-1px);filter:brightness(1.1)}.btn:active{transform:translateY(0)}.input-group{margin-bottom:16px}.input-group label{display:block;font-size:12px;font-weight:500;color:var(--uni-text-dim);margin-bottom:6px;letter-spacing:.05em;text-transform:uppercase}.input{width:100%;padding:14px 16px;background:#ffffff0a;border:1px solid var(--uni-glass-border);border-radius:var(--radius-full);color:var(--uni-text);font-family:var(--font);font-size:15px;outline:none;transition:all .3s var(--ease)}.input:focus{border-color:var(--uni-accent-1);box-shadow:0 0 0 3px #667eea26;background:#ffffff0f}.input::placeholder{color:var(--uni-text-muted)}.error-msg{color:var(--emo-angry);font-size:13px;margin-bottom:12px;text-align:center}.pairing-page{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1;padding:24px;animation:fadeSlideUp .6s var(--ease)}.my-code{font-family:var(--font-display);font-size:40px;font-weight:800;letter-spacing:.3em;background:var(--uni-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:12px 0 8px;-webkit-user-select:all;user-select:all}.code-hint{font-size:13px;color:var(--uni-text-muted);margin-bottom:32px}.divider{display:flex;align-items:center;gap:16px;width:100%;max-width:400px;margin:24px 0;color:var(--uni-text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--uni-glass-border)}.chat-page{height:100%;display:flex;flex-direction:column;position:relative;z-index:1}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#05050899;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.04);z-index:10;position:relative}.bell-gravitation-well{position:fixed;left:50%;top:72px;transform:translate(-50%);z-index:5;pointer-events:none;transition:all 1s var(--ease)}.chat-header-center-phantom{flex:1;display:flex;justify-content:center;pointer-events:none}.chat-header-left{display:flex;align-items:center;gap:12px}.chat-back{background:none;border:none;color:var(--uni-chrome);font-size:18px;cursor:pointer;padding:4px;transition:color .3s}.chat-back:hover{color:var(--uni-text)}.chat-partner-name{font-weight:500;font-size:14px;color:var(--uni-text-dim)}.chat-mood-dot{display:none}.chat-header-actions{display:flex;gap:8px}.messages-container{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;display:flex;flex-direction:column;gap:4px;scroll-behavior:smooth}.messages-container::-webkit-scrollbar{width:4px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background:var(--uni-glass-border);border-radius:4px}.msg-row{display:flex;animation:fadeSlideUp .4s var(--ease-bounce);max-width:85%}.msg-row.sent{align-self:flex-end;justify-content:flex-end}.msg-row.received{align-self:flex-start;justify-content:flex-start}.msg-row.uni-msg{align-self:center;max-width:70%}.bubble{padding:12px 16px;border-radius:20px;position:relative;max-width:100%;word-wrap:break-word;line-height:1.6;font-size:15px;color:var(--uni-text);transition:all .5s var(--ease)}.bubble.sent{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-bottom-right-radius:6px}.bubble.received{background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-bottom-left-radius:6px}.neural-layers{display:flex;flex-direction:column;gap:16px}.neural-node{display:flex;align-items:center;gap:16px;padding:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-md);position:relative;overflow:hidden}.neural-node.active .node-icon{background:var(--uni-text-bright);color:#000;box-shadow:0 0 15px #fff3}.neural-node.simulated{opacity:.4;filter:grayscale(1)}.node-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#ffffff1a;font-family:var(--font-display);font-weight:800;font-size:14px}.node-info h4{font-size:13px;margin:0;color:#fff;letter-spacing:.05em}.node-info p{font-size:10px;margin:4px 0 0;color:#ffffff80;text-transform:uppercase;letter-spacing:.1em}.node-pulse{position:absolute;right:16px;width:8px;height:8px;background:#0f8;border-radius:50%;box-shadow:0 0 10px #0f8;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}to{transform:scale(1);opacity:1}}.bubble.uni{background:transparent;border:none;border-radius:var(--radius-full);font-size:13px;font-style:italic;color:var(--uni-chrome);padding:8px 20px;text-align:center;--aura-intensity: 0}.bubble.uni:after{display:none!important}.bubble.uni:before{content:none}.bubble{padding:12px 18px;border-radius:var(--radius-lg);font-size:15px;line-height:1.5;position:relative;max-width:100%;word-wrap:break-word;background:#ffffff04;animation:bubble-pop .5s var(--ease-bounce),bubble-float 8s ease-in-out infinite;transform-origin:center bottom;backdrop-filter:blur(calc(var(--atmosphere-clarity) * 4px));-webkit-backdrop-filter:blur(calc(var(--atmosphere-clarity) * 4px));border:1px solid rgba(255,255,255,.03);color:var(--uni-text);--aura-color: transparent;--aura-intensity: .2;transition:all 1s var(--ease);animation:bubble-float 6s ease-in-out infinite}@keyframes bubble-float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-3px) rotate(1deg)}66%{transform:translateY(1px) rotate(-1deg)}}@keyframes bubble-melt{0%{border-radius:12px 18px;transform:scale(1) skew(0)}33%{border-radius:20px 8px 15px 12px;transform:scale(1.03,.97) skew(1deg)}66%{border-radius:8px 25px 10px 20px;transform:scale(.97,1.03) skew(-1deg)}to{border-radius:12px 18px;transform:scale(1) skew(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-2px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,-2px)}}@keyframes warp{0%,to{transform:scale(1) rotate(0);filter:blur(0px)}50%{transform:scale(1.05) rotate(.5deg);filter:blur(1px)}}@keyframes bubble-pop{0%{transform:scale(.95);opacity:0}50%{transform:scale(1.05);opacity:1}to{transform:scale(1);opacity:1}}.bubble[data-sentiment=happy]{--aura-color: var(--emo-happy)}.bubble[data-sentiment=sad]{--aura-color: var(--emo-sad)}.bubble[data-sentiment=love]{--aura-color: var(--emo-love)}.bubble[data-sentiment=angry]{--aura-color: var(--emo-angry);animation:bubble-melt 3s ease-in-out infinite,shake .4s ease-in-out infinite;--aura-intensity: .8}.bubble[data-sentiment=love]{--aura-color: var(--emo-love);animation:warp 6s ease-in-out infinite;--aura-intensity: .6}.bubble[data-sentiment=excited]{--aura-color: var(--emo-excited);animation:shake .2s ease-in-out infinite;--aura-intensity: .9}.bubble[data-sentiment=excited]{--aura-color: var(--emo-excited)}.bubble[data-sentiment=playful]{--aura-color: var(--emo-playful)}.bubble[data-sentiment=tender]{--aura-color: var(--emo-tender)}.bubble:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;background:radial-gradient(circle at center,var(--aura-color) 30%,transparent 100%);opacity:0;filter:blur(20px);z-index:-1;border-radius:inherit;transform:scale(.9);transition:opacity 2s var(--ease),transform 3s var(--ease);pointer-events:none}.msg-row.archived .bubble:after{opacity:0!important;transform:scale(.8)}.msg-row.archived .bubble{border-color:transparent;background:transparent;transform:scale(.98)}.bubble[data-effect=glow]:after,.bubble[data-effect=pulse]:after,.bubble[data-effect=float]:after,.bubble[data-effect=heartbeat]:after,.bubble[data-effect=ripple]:after,.bubble[data-effect=breathe]:after{opacity:var(--aura-intensity)}.bubble[data-effect=glow]:after{animation:glow-pulse 4s ease-in-out infinite}.bubble[data-effect=pulse]:after{animation:aura-expand 3s ease-in-out infinite}.bubble[data-effect=heartbeat]:after{animation:heartbeat 1.5s ease-in-out infinite;--aura-intensity: .35}.bubble[data-effect=shake]{animation:shake .6s ease-in-out}@keyframes aura-expand{0%,to{transform:scale(1);opacity:var(--aura-intensity)}50%{transform:scale(1.4);opacity:calc(var(--aura-intensity) * 1.5)}}.bubble[data-effect=float]{animation:float 4s ease-in-out infinite}.bubble[data-effect=breathe]:after{animation:breathe 5s ease-in-out infinite;--aura-intensity: .15}.bubble[data-sentiment=happy]{background:var(--emo-happy-bg);border-color:#ffd70033}.bubble[data-sentiment=love]{background:var(--emo-love-bg);border-color:#ff6b9d33}.bubble[data-sentiment=valentine]{background:var(--emo-valentine-bg);border-color:#ff2d5533}.bubble[data-sentiment=sad]{background:var(--emo-sad-bg);border-color:#5b86e533}.bubble[data-sentiment=angry]{background:var(--emo-angry-bg);border-color:#f443}.bubble[data-sentiment=excited]{background:var(--emo-excited-bg);border-color:#36d1dc33}.bubble[data-sentiment=playful]{background:var(--emo-playful-bg);border-color:#a8e06333}.bubble[data-sentiment=tender]{background:var(--emo-tender-bg);border-color:#c084fc33}.msg-time{font-size:10px;color:var(--uni-chrome-dim);margin-top:4px;padding:0 4px}.msg-row.sent .msg-time{text-align:right}.input-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#05050899;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.04)}.input-bar .input{flex:1;border-radius:var(--radius-full);padding:12px 20px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--uni-text);font-family:var(--font);font-size:14px;outline:none;transition:all .3s var(--ease)}.photo-btn{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--uni-chrome);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease);flex-shrink:0}.photo-btn:hover{background:#ffffff14;color:var(--uni-text)}.image-preview-wrap{position:absolute;bottom:100%;left:16px;padding:8px;background:#050508cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-md);margin-bottom:8px;display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.1);animation:slideUp .3s var(--ease-bounce)}.image-preview{width:60px;height:60px;border-radius:var(--radius-sm);object-fit:cover}.clear-preview{background:#ffffff1a;border:none;color:#fff;width:20px;height:20px;border-radius:50%;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center}.bubble.image-bubble{padding:4px;max-width:250px;overflow:hidden}.bubble.image-bubble img,.bubble.image-bubble .bubble-video{width:100%;border-radius:calc(var(--radius-md) - 4px);display:block;cursor:pointer;transition:opacity .3s var(--ease)}.bubble.image-bubble img:hover,.bubble.image-bubble .bubble-video:hover{opacity:.9}.send-btn{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--uni-chrome);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease);flex-shrink:0}.send-btn:hover{background:#ffffff14;color:var(--uni-text)}.send-btn:active{transform:scale(.95)}.send-btn:disabled{opacity:.2;cursor:not-allowed;transform:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#040408d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .4s var(--ease);padding:24px}.memory-card{width:100%;max-width:380px;border-radius:var(--radius-lg);overflow:hidden;animation:slideUp .6s var(--ease-bounce);position:relative;border:1px solid rgba(255,255,255,.1);box-shadow:0 50px 120px #000000f2}.memory-card-inner{background:var(--uni-surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:40px 30px;text-align:center;color:var(--uni-text)}.memory-card-header{font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--uni-chrome-dim);margin-bottom:30px}.memory-card-quote{font-size:18px;font-weight:300;line-height:1.6;color:var(--uni-text);margin-bottom:24px;font-style:italic}.memory-card-date{font-size:12px;color:var(--uni-text-muted)}.memory-card-title{font-family:var(--font-display);font-size:22px;font-weight:700;background:var(--uni-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.memory-card-actions{display:flex;gap:8px;margin-top:16px;justify-content:center}.empty-chat{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--uni-text-muted);gap:12px;animation:fadeIn 1s var(--ease);padding:24px;text-align:center}.empty-chat .wordmark{font-size:32px;opacity:.4}.spinner{width:24px;height:24px;border:2px solid var(--uni-glass-border);border-top-color:var(--uni-accent-1);border-radius:50%;animation:spin .8s linear infinite}.typing-indicator{display:flex;gap:4px;align-items:center;padding:8px 16px}.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--uni-text-muted);animation:typePulse 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.toast{position:fixed;bottom:120px;left:50%;transform:translate(-50%);background:#0f0f1ad9;border:1px solid rgba(255,255,255,.08);padding:12px 28px;border-radius:var(--radius-full);font-size:13px;font-weight:500;color:var(--uni-text);z-index:10000;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 10px 30px #00000080,inset 0 0 0 1px #ffffff08;animation:fadeSlideUp .4s var(--ease-bounce);white-space:nowrap;pointer-events:none}@media(max-width:480px){.glass-card{padding:24px 20px}.msg-row{max-width:90%}.bubble{font-size:14px;padding:10px 14px}.wordmark{font-size:clamp(40px,12vw,60px)}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--uni-glass-border);border-radius:4px}.onboarding-page{height:100%;display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}.onboarding-dot{padding-top:60px;padding-bottom:20px;display:flex;justify-content:center}.onboarding-messages{flex:1;overflow-y:auto;width:100%;max-width:480px;padding:0 24px 24px;display:flex;flex-direction:column;gap:20px}.onboarding-msg{display:flex;flex-direction:column;align-items:center;animation:fadeSlideUp .8s var(--ease) both;margin-bottom:24px}.onboarding-label{font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--uni-chrome);margin-bottom:6px}.onboarding-text{font-size:16px;line-height:1.8;color:var(--uni-text);font-weight:300;max-width:520px;text-align:center}.onboarding-future{text-align:center;animation:fadeSlideUp .8s var(--ease) both;margin-top:8px}.onboarding-future-title{font-size:11px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--uni-chrome);margin-bottom:12px}.onboarding-future-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.onboarding-future-card{padding:8px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-full);font-size:12px;color:var(--uni-text-dim);animation:fadeSlideUp .6s var(--ease) both}.onboarding-actions{padding:32px 24px;display:flex;justify-content:center;flex-shrink:0;width:100%;position:relative;z-index:100;background:linear-gradient(to top,var(--uni-void) 40%,transparent)}.onboarding-nav{display:flex;align-items:center;gap:24px;width:100%;max-width:440px;justify-content:space-between}.onboarding-skip{background:none;border:none;color:var(--uni-text-muted);font-size:11px;cursor:pointer;letter-spacing:.15em;text-transform:uppercase;padding:12px 0;transition:all .3s var(--ease);font-family:var(--font-display);border-bottom:1px solid transparent}.onboarding-skip:hover{color:var(--uni-text);border-bottom-color:var(--uni-text-muted)}@keyframes heart-float{0%{transform:translateY(0) scale(1) rotate(0);opacity:0}10%{opacity:.6}90%{opacity:.3}to{transform:translateY(-100vh) scale(.5) rotate(45deg);opacity:0}}.hearts-float{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.heart{position:absolute;bottom:-20px;color:var(--emo-love);font-size:20px;animation:heart-float linear infinite;filter:blur(2px);opacity:.15}.h1{left:10%;animation-duration:12s;animation-delay:0s;font-size:16px}.h2{left:30%;animation-duration:15s;animation-delay:-3s;font-size:22px}.h3{left:55%;animation-duration:11s;animation-delay:-7s;font-size:14px}.h4{left:75%;animation-duration:14s;animation-delay:-2s;font-size:18px}.h5{left:90%;animation-duration:13s;animation-delay:-5s;font-size:12px}.welcome-content{display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:100%;width:100%;max-width:100vw;padding:4vh 0 5vh;opacity:0;transition:opacity 1s var(--ease);position:relative;z-index:2;text-align:center}.welcome-content.visible{opacity:1}.welcome-bell{display:flex;flex-direction:column;align-items:center;margin-bottom:20px;position:relative}.bell-label{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--uni-chrome);margin-top:12px;opacity:.6}.tagline-container{display:flex;flex-direction:column;align-items:center;text-align:center}.sub-tagline{text-align:center;line-height:1.4;margin-bottom:40px;color:var(--uni-text-dim);animation:fadeSlideUp 1s var(--ease) .4s both}.vday-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;background:#ff6b9d1a;border:1px solid rgba(255,107,157,.2);border-radius:var(--radius-full);font-size:12px;font-weight:500;color:var(--emo-love);letter-spacing:.05em;margin-bottom:28px;animation:breathe 3s ease-in-out infinite}.vday-timer{display:flex;justify-content:center;align-items:center;gap:32px;width:100%;margin:40px auto;animation:fadeSlideUp 1s var(--ease) .8s both}@keyframes fade-float-up{0%{opacity:0;transform:translateY(20px)}15%{opacity:1;transform:translateY(0)}85%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.fade-float-up{animation:fade-float-up 3s ease-in-out forwards}.timer-unit{display:flex;flex-direction:column;align-items:center;min-width:48px}.timer-val{font-family:var(--font-display);font-size:28px;font-weight:700;color:var(--uni-text);line-height:1}.timer-label{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--uni-chrome);margin-top:4px}.btn-glow{box-shadow:0 4px 24px #ff6b9d26,0 0 60px #ff6b9d0f}.btn-glow:hover{box-shadow:0 8px 40px #ff6b9d40,0 0 80px #ff6b9d1a}.welcome-features{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:32px;max-width:480px;animation:fadeSlideUp 1s var(--ease) 1s both}.feature-pill{padding:8px 16px;background:var(--uni-glass);border:1px solid var(--uni-glass-border);border-radius:var(--radius-full);font-size:12px;color:var(--uni-text-dim);white-space:nowrap;transition:all .3s var(--ease)}.feature-pill:hover{background:var(--uni-glass-hover);color:var(--uni-text);transform:translateY(-1px)}.music-player{max-width:340px!important;padding:24px!important}.player-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.player-header h3{font-family:var(--font-display);font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--uni-text-dim);flex:1}.resonance-dot-active{width:8px;height:8px;background:var(--emo-love);border-radius:50%;box-shadow:0 0 10px var(--emo-love);animation:heartbeat 2s infinite}.close-btn{background:none;border:none;color:var(--uni-chrome);font-size:24px;cursor:pointer;line-height:1}.currently-playing{background:#ffffff08;border:1px solid var(--uni-glass-border);border-radius:var(--radius-md);padding:16px;margin-bottom:24px;text-align:center}.currently-playing .label{font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:var(--uni-chrome);display:block;margin-bottom:8px}.track-title{font-size:16px;font-weight:600;color:var(--uni-text);margin-bottom:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-list{max-height:240px;overflow-y:auto;margin-bottom:24px;padding-right:4px}.list-label{font-size:10px;text-transform:uppercase;color:var(--uni-chrome-dim);margin-bottom:12px;letter-spacing:.1em}.song-item{display:flex;align-items:center;padding:12px;border-radius:var(--radius-sm);background:#ffffff05;margin-bottom:8px;cursor:pointer;transition:all .3s;border:1px solid transparent}.song-item:hover{background:#ffffff0d;border-color:var(--uni-glass-border)}.song-info{flex:1;min-width:0}.song-name{font-size:13px;font-weight:500;color:var(--uni-text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-meta{font-size:10px;color:var(--uni-chrome-dim);margin-top:2px}.vault-download-btn{font-size:14px;cursor:pointer;text-decoration:none;opacity:.4;transition:opacity .3s}.vault-download-btn:hover{opacity:1}.song-item:hover .play-indicator{opacity:.6}.upload-section .btn{font-size:12px;font-weight:500;letter-spacing:.05em}.bell-raised{transform:translateY(-12vh);animation:bell-orbital-float 20s ease-in-out infinite;position:relative;z-index:10}@keyframes bell-orbital-float{0%{transform:translateY(-12vh)}25%{transform:translate(45px,calc(-12vh - 15px))}50%{transform:translate(-15px,calc(-12vh - 50px))}75%{transform:translate(-50px,calc(-12vh - 20px))}to{transform:translateY(-12vh)}}.song-list::-webkit-scrollbar{width:4px}.song-list::-webkit-scrollbar-thumb{background:var(--uni-glass-border);border-radius:4px}.welcome-bell{display:flex;flex-direction:column;align-items:center;margin:32px 0;position:relative}.bell-label{font-family:var(--font-display);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--uni-chrome);margin-top:-10px;opacity:.8}.bell-shadow{position:absolute;bottom:10px;width:40px;height:10px;background:radial-gradient(ellipse at center,rgba(255,255,255,.05) 0%,transparent 70%);filter:blur(5px);z-index:-1}.tagline-container{margin-bottom:32px}.tagline{font-size:28px;font-weight:300;line-height:1.2;margin-bottom:12px;color:#fff}.sub-tagline{font-size:14px;color:var(--uni-text-dim);line-height:1.6;max-width:280px;margin:0 auto}::selection{background:#667eea4d;color:var(--uni-text)}.audio-toggle{position:absolute;bottom:24px;left:24px;display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--uni-glass);border:1px solid var(--uni-glass-border);border-radius:var(--radius-full);cursor:pointer;z-index:100;transition:all .3s var(--ease);animation:fadeIn 1s var(--ease) 1.5s both}.audio-toggle:hover{background:var(--uni-glass-hover);transform:scale(1.02)}.audio-toggle span{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--uni-text-dim)}.resonance-dot{width:6px;height:6px;background:var(--uni-text-muted);border-radius:50%;transition:all .5s var(--ease)}.audio-toggle.playing .resonance-dot{background:var(--emo-love);box-shadow:0 0 12px var(--emo-love);animation:heartbeat 1.666s ease-in-out infinite}.resonance-active{background:#000;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;z-index:9999}.resonance-spark{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;box-shadow:0 0 100px 40px #fff,0 0 200px 80px var(--emo-happy),0 0 400px 120px var(--emo-love);animation:spark-explode 2.5s cubic-bezier(.16,1,.3,1) forwards}.resonance-text{font-family:var(--font-display);font-size:32px;letter-spacing:.5em;color:#fff;opacity:0;animation:fade-in-out-resonance 2.5s ease-in-out forwards;text-shadow:0 0 20px rgba(255,255,255,.5)}.resonance-subtext{font-size:12px;color:var(--uni-text-muted);text-transform:uppercase;letter-spacing:.3em;margin-top:20px;opacity:0;animation:fade-in-out-resonance 2.5s ease-in-out .2s forwards}@keyframes spark-explode{0%{transform:scale(.1);opacity:0}10%{transform:scale(1);opacity:1}30%{transform:scale(30);opacity:.8;filter:blur(50px)}to{transform:scale(60);opacity:0;filter:blur(100px)}}.presence-pulse{position:fixed;bottom:0;left:0;right:0;height:2px;background:var(--emo-love);box-shadow:0 0 20px 2px var(--emo-love);opacity:0;transform:translateY(2px);transition:all 2s var(--ease);z-index:5;pointer-events:none}.presence-pulse.active{opacity:.25;transform:translateY(0);animation:breathe 3.333s ease-in-out infinite}.cgei-watermark{position:fixed;bottom:8px;width:100%;text-align:center;font-family:monospace;font-size:8px;letter-spacing:.4em;color:var(--uni-text-muted);opacity:.2;pointer-events:none;z-index:1;text-transform:uppercase}.marginalia{position:fixed;font-family:monospace;font-size:8px;color:var(--uni-text-muted);opacity:.3;letter-spacing:.1em;pointer-events:none;z-index:10;text-transform:uppercase}.marginalia.top-left{top:12px;left:16px;text-align:left}.marginalia.top-right{top:12px;right:16px;text-align:right}.marginalia.bottom-left{bottom:12px;left:16px;text-align:left}.marginalia.bottom-right{bottom:12px;right:16px;text-align:right}@keyframes fade-in-out-resonance{0%,to{opacity:0;transform:translateY(10px)}20%,80%{opacity:1;transform:translateY(0)}}@media(max-width:600px){.welcome-content{justify-content:space-between;padding-top:5vh;padding-bottom:5vh}.wordmark{font-size:clamp(40px,12vw,56px);margin-top:2vh}.welcome-bell{margin:20px 0}.tagline{font-size:16px;padding:0 10px}.welcome-actions{position:relative;z-index:10;width:100%;margin-top:20px}.vday-timer{transform:scale(.9);margin:10px 0}.chat-bottom{padding-bottom:env(safe-area-inset-bottom,20px)}.chat-input-wrap{margin:0 12px 12px}.glass-card{padding:24px 16px}}.onboarding-btn-next{background:var(--uni-gradient);border:none;color:#fff;padding:14px 32px;border-radius:99px;cursor:pointer;font-weight:600;transition:all .3s var(--ease);box-shadow:0 4px 15px #667eea4d;margin-top:20px}.onboarding-btn-next:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea80}.msg-row.resonance-event{justify-content:center;margin:16px 0;width:100%}.resonance-pill{display:flex;align-items:center;gap:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:8px 20px;border-radius:var(--radius-full);cursor:pointer;transition:all .3s var(--ease);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.resonance-pill:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-2px);box-shadow:0 4px 15px #0003}.resonance-pill .icon{font-size:14px;opacity:.8}.resonance-pill .text{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--uni-text-dim);font-weight:500}.resonance-vault{width:100%;max-width:440px;height:600px;max-height:80vh;display:flex;flex-direction:column;padding:0!important;overflow:hidden;animation:slideUp .6s var(--ease-bounce)}.vault-header{display:flex;align-items:center;justify-content:space-between;padding:24px 30px;border-bottom:1px solid rgba(255,255,255,.05)}.vault-title-wrap{display:flex;align-items:center;gap:12px}.vault-tabs{display:flex;padding:0 20px;gap:4px;border-bottom:1px solid rgba(255,255,255,.05)}.vault-tab{padding:12px 20px;background:transparent;border:none;color:var(--uni-text-muted);font-family:var(--font);font-size:13px;font-weight:500;cursor:pointer;position:relative;transition:all .3s var(--ease)}.vault-tab.active{color:var(--uni-text)}.vault-tab.active:after{content:"";position:absolute;bottom:0;left:20px;right:20px;height:2px;background:var(--uni-gradient)}.vault-content-scroll{flex:1;overflow-y:auto;padding:30px}.song-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-md);margin-bottom:12px;cursor:pointer;transition:all .3s var(--ease)}.song-item:hover{background:#ffffff14;transform:translateY(-2px)}.song-info{flex:1}.song-name{font-size:14px;font-weight:500;color:var(--uni-text);margin-bottom:2px}.song-meta{font-size:11px;color:var(--uni-text-dim)}.song-actions{display:flex;align-items:center;gap:12px}.vault-download-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border-radius:50%;text-decoration:none;font-size:14px;transition:all .3s var(--ease)}.vault-download-btn:hover{background:var(--uni-gradient);transform:scale(1.1)}.play-indicator{font-size:10px;opacity:.5}.vault-content-scroll::-webkit-scrollbar{width:4px}.vault-content-scroll::-webkit-scrollbar-thumb{background:#ffffff0d;border-radius:4px}.empty-state{text-align:center;color:var(--uni-text-dim);font-size:13px;margin-top:40px;font-style:italic}.memory-item-preview,.artifact-item-preview{display:flex;align-items:center;gap:16px;padding:16px;background:#04040833;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-md);margin-bottom:12px;cursor:pointer;transition:all .3s var(--ease)}.memory-item-preview:hover,.artifact-item-preview:hover{background:#ffffff0f;transform:translateY(-2px)}.memory-mood-dot{width:8px;height:8px;border-radius:50%}.memory-info,.artifact-info{flex:1}.memory-name,.artifact-name{font-size:14px;font-weight:500;margin-bottom:2px;color:var(--uni-text)}.memory-date,.artifact-meta{font-size:11px;color:var(--uni-text-dim)}.vault-footer{padding:20px;text-align:center;background:#0003}.sub-modal{background:#0006;z-index:1100}@keyframes bell-breathe{0%,to{transform:scale(1);opacity:.1}50%{transform:scale(1.15);opacity:.2}}.heartbeat-agency label{font-family:var(--font-display);font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--uni-text-muted)}.heartbeat-agency span{font-family:var(--font-display);font-size:11px;font-weight:700;color:var(--uni-accent-1)}.heartbeat-agency input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:120px;height:2px;background:var(--uni-glass-strong);border-radius:1px;outline:none}.heartbeat-agency input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:8px;height:8px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 0 10px #fff6;transition:transform .2s var(--ease)}.heartbeat-agency input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.5)}
