*{box-sizing:border-box;margin:0;padding:0}:root{--font-main:"M PLUS Rounded 1c", "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}body,html{width:100%;height:100%;font-family:var(--font-main);color:#333;-webkit-font-smoothing:antialiased;touch-action:manipulation;background-color:#1a1a2e;overflow:hidden}#app{justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:relative}.scene-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.scene-layer{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.background-layer{z-index:1;transition:background 1.5s ease-in-out}.background-layer.time-morning{background:linear-gradient(#ff9a8b 0%,#ff6a88 40%,#ff99ac 70%,#fbd786 100%)}.background-layer.time-day{background:linear-gradient(#3a7bd5 0%,#3a6073 20%,#6dd5ed 60%,#e0f2fe 100%)}.background-layer.time-evening{background:linear-gradient(#4a154b 0%,#b82e5b 35%,#eb6841 70%,#f8b195 100%)}.background-layer.time-night{background:linear-gradient(#090a0f 0%,#121a2a 40%,#1b2838 75%,#223a54 100%)}.celestial-body{border-radius:50%;transition:transform 1.2s cubic-bezier(.34,1.56,.64,1),opacity 1s ease-in-out;position:absolute}.sun{background:radial-gradient(circle,#fff7ad 0%,#ffa07a 80%,#ffa07a00 100%);width:95px;height:95px;top:7%;right:12%;box-shadow:0 0 45px #ffeb3bb3,0 0 90px #ff980066}.moon{background:radial-gradient(circle at 35% 35%,#fff 0%,#f0f4f8 60%,#d9e2ec 100%);width:75px;height:75px;top:8%;right:14%;box-shadow:0 0 30px #fffc,0 0 70px #badaff66}.stars-container{opacity:0;width:100%;height:65%;transition:opacity 1.5s ease-in-out;position:absolute;top:0;left:0}.time-night .stars-container{opacity:1}.star{animation:twinkle var(--duration,3s) infinite ease-in-out var(--delay,0s);background-color:#fff;border-radius:50%;position:absolute}@keyframes twinkle{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;filter:drop-shadow(0 0 4px #fff);transform:scale(1.3)}}.landscape-svg{pointer-events:none;width:100%;height:45%;position:absolute;bottom:0;left:0}.weather-layer{z-index:2;overflow:hidden}.rain-drop{width:2px;height:24px;animation:fall-rain var(--speed,.7s) linear infinite;background:linear-gradient(#fff0,#c8e6ffd9);border-radius:1px;position:absolute}@keyframes fall-rain{0%{opacity:0;transform:translateY(-30px)translate(0)}20%{opacity:1}to{opacity:.2;transform:translateY(105vh)translate(-20px)}}.snow-flake{filter:blur(.5px);animation:fall-snow var(--speed,4s) linear infinite, sway-snow var(--sway-speed,3s) ease-in-out infinite alternate;background-color:#fffffff2;border-radius:50%;position:absolute}@keyframes fall-snow{0%{opacity:0;transform:translateY(-20px)}15%{opacity:.9}to{opacity:.3;transform:translateY(105vh)}}@keyframes sway-snow{0%{margin-left:-15px}to{margin-left:15px}}.cloud-group{opacity:0;width:100%;height:35%;transition:opacity 1.5s ease-in-out;position:absolute;top:5%}.cloud-group.visible{opacity:.85}.cloud-shape{filter:blur(8px);animation:drift-cloud var(--duration,60s) linear infinite;background:#ffffffbf;border-radius:50px;position:absolute}@keyframes drift-cloud{0%{transform:translate(-250px)}to{transform:translate(110vw)}}.room-layer{z-index:3}.room-floor{background:linear-gradient(#d2a679 0%,#b8865a 30%,#8c5836 100%);border-top:5px solid #e8c49e;width:100%;height:32%;position:absolute;bottom:0;left:0;box-shadow:0 -8px 24px #00000040}.room-rug{background:radial-gradient(#fff0e6 0%,#ffd6ba 70%,#fca789 100%);border:3px dashed #ffb39699;border-radius:50%;width:min(480px,86vw);height:85px;position:absolute;bottom:18%;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #00000026}.pet-layer{z-index:4;justify-content:center;align-items:flex-end;padding-bottom:148px;display:flex}.pet-wrapper{pointer-events:auto;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:flex-end;width:min(270px,72vw);height:min(285px,76vw);display:flex;position:relative}.pet-svg-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.pet-svg{filter:drop-shadow(0 12px 22px #00000024);width:100%;height:100%;overflow:visible}.pet-body-group{transform-origin:100px 180px;animation:3.6s ease-in-out infinite alternate pet-breathe}.pet-head-group{transform-origin:100px 140px;animation:3.6s ease-in-out infinite alternate pet-head-bob}@keyframes pet-breathe{0%{transform:scale(1)translateY(0)}to{transform:scale(1.035,1.02)translateY(-3px)}}@keyframes pet-head-bob{0%{transform:translateY(0)rotate(0)}to{transform:translateY(-4px)rotate(.8deg)}}.pet-tail-group{transform-origin:140px 160px;animation:2.8s ease-in-out infinite alternate tail-wag}@keyframes tail-wag{0%{transform:rotate(-4deg)}to{transform:rotate(8deg)}}.ear-group{transition:transform .4s cubic-bezier(.34,1.56,.64,1)}#eye-left-g,#eye-right-g,#brow-left,#brow-right,#pet-mouth,#blush-left,#blush-right{transition:transform .3s cubic-bezier(.25,1,.5,1),opacity .3s ease-in-out}.pet-jump{animation:.65s cubic-bezier(.34,1.56,.64,1) pet-tap-jump}@keyframes pet-tap-jump{0%{transform:translateY(0)scale(1)}30%{transform:translateY(-28px)scale(1.08,.94)}60%{transform:translateY(-12px)scale(.96,1.04)}85%{transform:translateY(2px)scale(1.02,.98)}to{transform:translateY(0)scale(1)}}.pet-ground-shadow{transform-origin:100px 206px;transition:transform .65s cubic-bezier(.34,1.56,.64,1),opacity .65s}.ui-layer{z-index:10;pointer-events:none;flex-direction:column;justify-content:space-between;padding:10px 14px;display:flex}.top-bar{pointer-events:auto;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.top-bar-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.status-pill{-webkit-backdrop-filter:blur(14px);color:#2c3e50;white-space:nowrap;background:#ffffffc7;border:1px solid #ffffffa6;border-radius:30px;align-items:center;gap:6px;padding:6px 14px;font-size:.84rem;font-weight:700;display:flex;box-shadow:0 4px 15px #00000014}.status-sep{opacity:.3}.btn-icon-circle{-webkit-backdrop-filter:blur(14px);cursor:pointer;background:#fffc;border:1px solid #ffffffa6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 12px #00000014}.btn-icon-circle:hover{background:#fff;transform:rotate(20deg)scale(1.08)}.btn-lang-switch{color:#2563eb;cursor:pointer;white-space:nowrap;background:#fffc;border:1px solid #ffffffa6;border-radius:20px;align-items:center;gap:4px;padding:6px 12px;font-size:.8rem;font-weight:800;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 12px #00000014}.btn-lang-switch:hover{background:#fff;transform:translateY(-1px)}.floating-popup{pointer-events:auto;-webkit-backdrop-filter:blur(16px);background:#ffffffc2;border:1.5px solid #fffc;border-radius:20px;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 8px 24px #0000001a}.care-popup{z-index:20;width:min(540px,94vw);padding:8px 14px;position:absolute;top:50px;left:50%;transform:translate(-50%)}.care-popup-card{flex-direction:column;gap:4px;display:flex}.care-top-row{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.care-pet-badge{flex-shrink:0;align-items:center;gap:4px;display:flex}.pet-name{color:#1e293b;font-size:.92rem;font-weight:800}.pet-mood-badge{font-size:1.1rem}.care-mini-meters{flex:1;align-items:center;gap:10px;min-width:120px;display:flex}.mini-meter-item{flex-direction:column;flex:1;gap:2px;display:flex}.mini-label{color:#64748b;white-space:nowrap;font-size:.68rem;font-weight:700}.mini-track{background:#00000014;border-radius:4px;width:100%;height:5px;overflow:hidden}.progress-fill{border-radius:4px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.fill-primary{background:linear-gradient(90deg,#4facfe,#00f2fe)}.fill-warning{background:linear-gradient(90deg,#f96,#ff5e62)}.fill-sleepy{background:linear-gradient(90deg,#a18cd1,#fbc2eb)}.care-mini-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.care-mini-btn{font-family:var(--font-main);color:#334e68;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #00000014;border-radius:12px;align-items:center;gap:3px;padding:4px 8px;font-size:.74rem;font-weight:800;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 5px #0000000a}.care-mini-btn:hover{color:#1d4ed8;border-color:#3b82f6;transform:translateY(-1px);box-shadow:0 4px 10px #3b82f633}.care-message-banner{color:#2b6cb0;text-align:center;background:#ebf8ffe6;border-radius:8px;padding:4px 8px;font-size:.76rem;font-weight:700;display:none}.care-message-banner.visible{display:block}.bottom-ui-group{z-index:50;pointer-events:none;flex-direction:column;gap:6px;width:min(540px,94vw);display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.debug-popup{padding:6px 12px}.debug-popup-card{flex-direction:column;gap:4px;display:flex}.control-row{scrollbar-width:none;align-items:center;gap:6px;display:flex;overflow-x:auto}.control-row-flex{scrollbar-width:none;justify-content:space-between;align-items:center;gap:8px;display:flex;overflow-x:auto}.control-sub-group{align-items:center;gap:4px;display:flex}.control-row-label{color:#64748b;text-transform:uppercase;flex-shrink:0;font-size:.68rem;font-weight:800}.control-btn-group{flex-wrap:nowrap;align-items:center;gap:3px;display:flex}.btn-mini-pill{color:#334e68;font-family:var(--font-main);cursor:pointer;white-space:nowrap;background:#0000000d;border:none;border-radius:8px;padding:3px 7px;font-size:.72rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-mini-pill:hover{background:#0000001a;transform:translateY(-1px)}.btn-mini-pill.active{color:#fff;background:#3b82f6;box-shadow:0 2px 6px #3b82f659}.chat-input-container{pointer-events:auto;width:100%}.chat-input-bar{-webkit-backdrop-filter:blur(20px);background:#ffffffe0;border:1.5px solid #ffffffe6;border-radius:35px;align-items:center;padding:5px 6px 5px 16px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 8px 25px #00000024}.chat-input-bar:focus-within{background:#fff;border-color:#3b82f6;transform:translateY(-1px);box-shadow:0 10px 30px #3b82f64d}.chat-input{font-family:var(--font-main);color:#1e293b;background:0 0;border:none;flex:1;min-width:0;font-size:.88rem;font-weight:600}.chat-input::placeholder{color:#94a3b8;font-weight:500}.chat-input:focus{outline:none}.btn-chat-send{color:#fff;font-family:var(--font-main);cursor:pointer;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:25px;flex-shrink:0;align-items:center;gap:4px;padding:7px 14px;font-size:.82rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 3px 10px #2563eb59}.btn-chat-send:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.btn-chat-send:disabled{opacity:.5;cursor:not-allowed;transform:none}.speech-bubble{-webkit-backdrop-filter:blur(16px);opacity:0;pointer-events:none;z-index:30;background:#fffffff0;border:2px solid #fff;border-radius:20px;align-items:center;gap:8px;width:max-content;max-width:min(360px,92vw);padding:10px 14px;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;bottom:240px;left:50%;transform:translate(-50%)translateY(10px)scale(.9);box-shadow:0 12px 35px #00000029}.speech-bubble:after{content:"";border-top:10px solid #fffffff0;border-left:10px solid #0000;border-right:10px solid #0000;width:0;height:0;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.speech-bubble.visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)scale(1)}.bubble-content-wrap{flex-direction:column;gap:5px;width:100%;display:flex}.bubble-main-row{align-items:center;gap:6px;display:flex}.bubble-icon{flex-shrink:0;font-size:1.15rem}.bubble-sound-text{color:#1e293b;font-size:.95rem;font-weight:800}.bubble-translation-box{background:#eef2ffeb;border:1px solid #c7d2fed9;border-radius:10px;align-items:flex-start;gap:5px;padding:5px 8px;display:flex}.trans-badge{color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:5px;flex-shrink:0;margin-top:1px;padding:2px 5px;font-size:.62rem;font-weight:800}.trans-text{color:#312e81;font-size:.82rem;font-weight:600;line-height:1.3}.bubble-text{color:#2d3748;font-size:.88rem;font-weight:700;line-height:1.35}.thinking-dots span{animation:1.4s infinite both blinkDots}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes blinkDots{0%,80%,to{opacity:0}40%{opacity:1}}.modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:100;background:#0f172a66;justify-content:center;align-items:flex-start;width:100vw;height:100vh;padding:50px 14px 14px;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.modal-card{background:#fff;border-radius:22px;flex-direction:column;width:min(520px,96vw);max-height:56vh;animation:.3s cubic-bezier(.34,1.56,.64,1) slideDown;display:flex;overflow:hidden;box-shadow:0 16px 45px #00000038}@keyframes slideDown{0%{opacity:0;transform:translateY(-25px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-header{border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.modal-title{color:#1a202c;align-items:center;gap:6px;font-size:1rem;font-weight:800;display:flex}.btn-close{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.95rem;font-weight:700;transition:background .2s;display:flex}.btn-close:hover{color:#0f172a;background:#e2e8f0}.modal-body{flex-direction:column;gap:14px;padding:16px 18px;display:flex;overflow-y:auto}.settings-section{flex-direction:column;gap:6px;display:flex}.section-title{color:#334e68;font-size:.88rem;font-weight:800}.section-header-flex{justify-content:space-between;align-items:center;display:flex}.section-hint{color:#627d98;font-size:.76rem;line-height:1.35}.section-hint a{color:#3182ce;text-decoration:underline}.toggle-row{justify-content:space-between;align-items:center;padding:2px 0;display:flex}.toggle-label{color:#334e68;font-size:.84rem;font-weight:700}.switch{width:44px;height:22px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#cbd5e1;transition:all .3s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;width:16px;height:16px;transition:all .3s;position:absolute;bottom:3px;left:3px;box-shadow:0 2px 4px #0003}input:checked+.slider{background-color:#3b82f6}input:checked+.slider:before{transform:translate(22px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.voice-controls-row{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}.control-col{flex-direction:column;gap:3px;display:flex}.sub-label{color:#64748b;font-size:.72rem;font-weight:700}.range-slider{accent-color:#3b82f6;width:100%}.model-list{flex-direction:column;gap:6px;display:flex}.model-option{cursor:pointer;background:#fafafa;border:1.5px solid #e2e8f0;border-radius:10px;align-items:flex-start;gap:8px;padding:8px 10px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.model-option:hover{background:#fff;border-color:#cbd5e1}.model-option.selected{background:#eff6ff;border-color:#3b82f6}.model-option input[type=radio]{accent-color:#3b82f6;margin-top:2px}.model-info{flex-direction:column;flex:1;gap:2px;display:flex}.model-header{justify-content:space-between;align-items:center;display:flex}.model-name{color:#1e293b;font-size:.84rem;font-weight:700}.model-desc{color:#64748b;margin:0;font-size:.72rem}.badge{border-radius:6px;padding:2px 5px;font-size:.64rem;font-weight:700}.badge-free{color:#15803d;background:#dcfce7}.badge-pay{color:#b91c1c;background:#fee2e2}.badge-registered{color:#0369a1;background:#e0f2fe}.badge-unregistered{color:#64748b;background:#f1f5f9}.input-with-action{gap:6px;display:flex}.text-input{font-family:var(--font-main);border:1px solid #cbd5e1;border-radius:8px;flex:1;padding:7px 10px;font-size:.84rem}.text-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f626}.test-feedback{min-height:16px;font-size:.76rem;font-weight:700}.text-info{color:#2563eb}.text-success{color:#16a34a}.text-error{color:#dc2626}.modal-footer{background:#f8fafc;border-top:1px solid #edf2f7;justify-content:flex-end;gap:8px;padding:10px 18px;display:flex}.btn-primary{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:10px;padding:7px 16px;font-size:.84rem;font-weight:700;transition:all .2s;box-shadow:0 2px 6px #3b82f640}.btn-primary:hover{background:#2563eb;transform:translateY(-1px)}.btn-secondary{color:#334155;cursor:pointer;background:#e2e8f0;border:none;border-radius:10px;padding:7px 12px;font-size:.84rem;font-weight:700;transition:all .2s}.btn-secondary:hover{background:#cbd5e1}.btn-pill{color:#334e68;font-family:var(--font-main);cursor:pointer;white-space:nowrap;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:18px;justify-content:center;align-items:center;gap:4px;font-size:.82rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 1px 3px #0000000d}.btn-pill:hover{color:#1e293b;background:#fff;border-color:#94a3b8;transform:translateY(-1px)}.btn-pill.active{color:#fff;background:#3b82f6;border-color:#2563eb;box-shadow:0 2px 8px #3b82f659}@media (width<=640px){.ui-layer{padding:8px 10px}.status-pill{gap:3px;padding:4px 8px;font-size:.72rem}.care-popup{padding:6px 10px;top:44px}.pet-name{font-size:.84rem}.care-mini-btn{padding:3px 6px;font-size:.7rem}.care-mini-btn .btn-text{font-size:.68rem}.bottom-ui-group{gap:4px;bottom:8px}.debug-popup{padding:4px 8px}.btn-mini-pill{padding:2px 5px;font-size:.66rem}.pet-layer{padding-bottom:140px}.pet-wrapper{width:min(230px,66vw);height:min(245px,70vw)}.speech-bubble{max-width:90vw;padding:8px 10px;bottom:225px}.chat-input-bar{padding:4px 6px 4px 12px}.btn-chat-send{padding:6px 10px;font-size:.76rem}}body.labels-never .btn-text,body.labels-never .control-row-label{display:none!important}body.labels-never .btn-mini-pill{padding:4px 6px;font-size:.85rem}body.labels-never .care-mini-btn{padding:5px 8px;font-size:.85rem}@media (width<=640px){body.labels-auto .btn-text,body.labels-auto .control-row-label{display:none!important}body.labels-auto .btn-mini-pill{padding:3px 6px;font-size:.82rem}body.labels-auto .care-mini-btn{padding:4px 8px;font-size:.82rem}body.labels-auto .mini-meter-item{min-width:60px}}.btn-memory-open{color:#d946ef;background:#ffffffe6;border-color:#d946ef4d;font-weight:800}.btn-memory-open:hover{color:#c026d3;background:#fff;border-color:#d946ef;box-shadow:0 4px 12px #d946ef40}.memory-modal-card{flex-direction:column;max-width:620px;max-height:85vh;display:flex}.memory-modal-body{flex-direction:column;gap:12px;padding:12px 18px 6px;display:flex;overflow:hidden}.memory-filters{scrollbar-width:thin;align-items:center;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.btn-filter-pill{font-family:var(--font-main);color:#475569;cursor:pointer;white-space:nowrap;background:#f1f5f9e6;border:1px solid #00000014;border-radius:14px;padding:5px 11px;font-size:.76rem;font-weight:700;transition:all .2s}.btn-filter-pill:hover{color:#0f172a;background:#fff;border-color:#94a3b8}.btn-filter-pill.active{color:#fff;background:linear-gradient(135deg,#ec4899,#8b5cf6);border-color:#0000;box-shadow:0 2px 8px #ec48994d}.memory-timeline{scrollbar-width:thin;flex-direction:column;gap:12px;max-height:52vh;padding:10px 4px 10px 0;display:flex;overflow-y:auto}.memory-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 20px;display:flex}.memory-empty-icon{opacity:.7;font-size:2.5rem}.memory-empty-text{color:#64748b;margin:0;font-size:.88rem;font-weight:700}.memory-item{align-items:flex-start;gap:10px;animation:.25s ease-out fadeIn;display:flex}.memory-item-user{flex-direction:row-reverse}.memory-avatar{background:#f1f5f9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;display:flex;box-shadow:0 2px 6px #0000000f}.memory-item-user .memory-avatar{background:#e0e7ff}.memory-item-assistant .memory-avatar{background:#fdf2f8}.memory-bubble-wrap{flex-direction:column;gap:3px;max-width:80%;display:flex}.memory-item-user .memory-bubble-wrap{align-items:flex-end}.memory-meta{color:#64748b;align-items:center;gap:6px;font-size:.7rem;display:flex}.memory-role{color:#334155;font-weight:800}.memory-emotion-tag{background:#f1f5f9d9;border:1px solid #0000000d;border-radius:8px;padding:1px 6px;font-size:.68rem;font-weight:700}.memory-time{opacity:.75}.memory-bubble{word-break:break-word;border-radius:16px;padding:9px 13px;font-size:.85rem;line-height:1.45;box-shadow:0 2px 8px #0000000a}.memory-item-user .memory-bubble{color:#fff;background:linear-gradient(135deg,#3b82f6,#6366f1);border-top-right-radius:4px}.memory-item-assistant .memory-bubble{color:#1e293b;background:#fff;border:1px solid #00000014;border-top-left-radius:4px}.memory-modal-footer{border-top:1px solid #0000000f;justify-content:space-between;align-items:center;padding:12px 18px 16px;display:flex}.btn-clear-history{color:#dc2626;cursor:pointer;background:#fef2f2e6;border:1px solid #dc262633;border-radius:12px;padding:7px 14px;font-size:.78rem;font-weight:700;transition:all .2s}.btn-clear-history:hover{background:#fee2e2;border-color:#dc2626}@keyframes particle-float{0%{opacity:1;transform:translateX(var(--particle-x,0px)) translateY(0) scale(1)}60%{opacity:.85;transform:translateX(calc(var(--particle-x,0px) * 1.2)) translateY(-55px) scale(1.25)}to{opacity:0;transform:translateX(calc(var(--particle-x,0px) * 1.4)) translateY(-95px) scale(.8)}}.pet-particle{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:20;font-size:1.4rem;line-height:1;animation:.9s ease-out forwards particle-float;position:absolute;bottom:55%;left:50%;transform:translate(-50%)}.pet-layer.multi-pet-layer{justify-content:center;align-items:flex-end;gap:min(20px,4vw);display:flex;position:relative}.pet-wrapper.pet-primary{z-index:5;transition:all .5s cubic-bezier(.34,1.56,.64,1);transform:translateY(0)scale(1)}.pet-wrapper.pet-secondary{z-index:4;opacity:.95;filter:brightness(.96);transition:all .5s cubic-bezier(.34,1.56,.64,1);transform:translateY(-14px)scale(.82)}.pet-layer.action-nuzzle .pet-primary{transform:translate(35px)scale(1)rotate(-3deg)}.pet-layer.action-nuzzle .pet-secondary{transform:translate(-35px)translateY(-14px)scale(.82)rotate(4deg)}.pet-layer.action-chase .pet-primary{animation:1.2s ease-in-out infinite alternate pet-chase-primary}.pet-layer.action-chase .pet-secondary{animation:1.2s ease-in-out infinite alternate pet-chase-secondary}@keyframes pet-chase-primary{0%{transform:translate(-40px)scale(1)}to{transform:translate(20px)scale(1)}}@keyframes pet-chase-secondary{0%{transform:translate(-20px)translateY(-14px)scale(.82)}to{transform:translate(40px)translateY(-14px)scale(.82)}}.pet-layer.action-sync_sleep .pet-primary{transform:translateY(8px)scale(.98)}.pet-layer.action-sync_sleep .pet-secondary{transform:translateY(-6px)scale(.82)}.pet-layer.action-jealousy .pet-secondary{z-index:6;animation:.5s ease-in-out pet-tap-jump;transform:translate(-45px)translateY(-4px)scale(.92)}.social-actions-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-top:8px;display:grid}.btn-social-action{color:#374151;cursor:pointer;text-align:left;background:#f3f4f6d9;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px;font-size:.88rem;font-weight:700;transition:all .2s}.btn-social-action:hover{color:#6d28d9;background:#ede9fe;border-color:#8b5cf6;transform:translateY(-2px)}.offline-stories-list{flex-direction:column;gap:8px;margin-top:8px;display:flex}.offline-story-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:flex-start;gap:12px;padding:10px 14px;display:flex}.offline-story-emoji{font-size:1.5rem;line-height:1}.offline-story-content{flex:1}.offline-story-header{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.offline-story-title{color:#1e293b;font-size:.92rem;font-weight:800}.offline-story-time{color:#64748b;font-size:.76rem;font-weight:600}.offline-story-desc{color:#475569;margin:0;font-size:.84rem;line-height:1.4}.btn-social-open{color:#6d28d9;background:#f5f3ffe6;border:1px solid #c4b5fdb3}.btn-social-open:hover{background:#ede9fe}.pet-eye-contact-active{animation:1.8s ease-in-out infinite alternate pet-eye-contact-pulse}@keyframes pet-eye-contact-pulse{0%{filter:drop-shadow(0 12px 22px #ff69b440);transform:scale(1)}to{filter:drop-shadow(0 16px 28px #ff69b473);transform:scale(1.025)}}.memory-nav-tabs{background:#f1f5f9;border-radius:14px;gap:4px;margin:10px 16px 4px;padding:4px;display:flex}.memory-nav-tab{color:#64748b;cursor:pointer;white-space:nowrap;text-align:center;background:0 0;border:none;border-radius:10px;flex:1;padding:8px 10px;font-size:.85rem;font-weight:700;transition:all .2s}.memory-nav-tab.active{color:#3b82f6;background:#fff;box-shadow:0 2px 8px #00000014}.episodes-container,.relationship-container{flex-direction:column;gap:12px;padding:8px 4px;display:flex}.episodes-list{flex-direction:column;gap:10px;display:flex}.episode-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:6px;padding:14px 16px;transition:transform .15s;display:flex;box-shadow:0 2px 6px #00000008}.episode-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.episode-card-header{justify-content:space-between;align-items:center;display:flex}.episode-badge{color:#2563eb;background:#eff6ff;border-radius:12px;padding:3px 8px;font-size:.78rem;font-weight:700}.episode-time{color:#94a3b8;font-size:.76rem}.episode-title{color:#1e293b;margin:0;font-size:.96rem;font-weight:800}.episode-desc{color:#475569;margin:0;font-size:.86rem;line-height:1.45}.episode-footer{margin-top:4px;display:flex}.episode-emotion-tag{color:#64748b;background:#f8fafc;border-radius:8px;padding:2px 8px;font-size:.75rem}.relationship-card{background:#fff;border:1px solid #fed7aa;border-radius:16px;flex-direction:column;gap:16px;padding:18px 20px;display:flex;box-shadow:0 4px 14px #fb923c14}.relationship-hero{align-items:center;gap:12px;display:flex}.relationship-heart{font-size:2rem;animation:1.6s ease-in-out infinite heart-bounce}@keyframes heart-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.relationship-level-name{color:#ea580c;margin:0;font-size:1.05rem;font-weight:800}.bond-meter-wrapper{flex-direction:column;gap:6px;display:flex}.bond-meter-header{color:#475569;justify-content:space-between;font-size:.84rem;font-weight:700;display:flex}.bond-meter-val{color:#ea580c;font-weight:800}.bond-meter-bar{background:#fde047;border-radius:8px;width:100%;height:12px;overflow:hidden}.bond-meter-fill{background:linear-gradient(90deg,#f97316 0%,#ef4444 100%);border-radius:8px;height:100%;transition:width .5s ease-out}.relationship-stats-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.rel-stat-box{text-align:center;background:#fff7ed;border:1px solid #ffedd5;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;display:flex}.rel-stat-icon{font-size:1.3rem}.rel-stat-val{color:#9a3412;font-size:1rem;font-weight:800}.rel-stat-label{color:#7c2d12;font-size:.72rem;font-weight:700}.relationship-note{color:#475569;background:#f8fafc;border-radius:10px;padding:10px 12px;font-size:.8rem;line-height:1.4}.pet-glance-ignore{animation:1.2s ease-in-out forwards pet-glance-ignore-anim}@keyframes pet-glance-ignore-anim{0%{transform:rotate(0)scale(1)}25%{transform:rotate(-5deg)scale(1.02)}55%{transform:rotate(8deg)translate(12px)scale(.98)}to{transform:rotate(6deg)translate(10px)scale(.98)}}.pet-hesitating{animation:1.8s ease-in-out pet-hesitate-anim}@keyframes pet-hesitate-anim{0%{transform:rotate(0)}20%{transform:rotate(-6deg)translateY(-3px)}45%{transform:rotate(6deg)translateY(-2px)}70%{transform:rotate(-3deg)translateY(0)}to{transform:rotate(0)translateY(0)}}.pet-flee-hiding{opacity:.65;filter:grayscale(.25)blur(.3px);pointer-events:none;transition:all .75s cubic-bezier(.2,.9,.3,1.2)!important;transform:translate(min(130px,22vw))translateY(-18px)scale(.72)!important}.pet-fleeing{animation:.8s ease-in-out forwards pet-flee-retreat}@keyframes pet-flee-retreat{0%{transform:scale(1)translate(0)}30%{transform:scale(.92)translate(-15px)rotate(-6deg)}to{transform:translate(min(130px,22vw))translateY(-18px)scale(.72)}}.pet-sleeping{transition:all .8s;transform:translateY(8px)scale(.97)}.pet-grumpy{animation:.9s ease-in-out pet-grump-puff}@keyframes pet-grump-puff{0%,to{transform:scale(1)}35%{transform:scale(1.06)rotate(-4deg)}65%{transform:scale(.97)rotate(4deg)}}.ambient-presence-container{pointer-events:none;z-index:15;justify-content:center;width:auto;max-width:90vw;display:flex;position:absolute;bottom:84px;left:50%;transform:translate(-50%)}.ambient-presence-pill{-webkit-backdrop-filter:blur(10px);color:#475569;background:#ffffffe0;border:1px solid #e2e8f0d9;border-radius:20px;align-items:center;gap:8px;padding:6px 16px;font-size:.85rem;font-weight:700;animation:4.2s ease-in-out forwards ambient-fade-in-out;display:inline-flex;box-shadow:0 4px 18px #00000014}@keyframes ambient-fade-in-out{0%{opacity:0;transform:translateY(12px)scale(.95)}15%{opacity:1;transform:translateY(0)scale(1)}80%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-8px)scale(.96)}}.ambient-presence-emoji{font-size:1.1rem}.care-organic-container{flex-direction:column;gap:4px;display:flex}.care-organic-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.care-organic-badge{color:#334155;background:#f1f5f9e6;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:5px;padding:4px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.care-organic-badge.mood-independent{color:#6b21a8;background:#f3e8ff;border-color:#d8b4fe}.care-organic-badge.mood-sleepy{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.care-organic-badge.mood-overwhelmed{color:#991b1b;background:#fef2f2;border-color:#fecaca}.care-organic-badge.mood-friendly{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.care-hiding-alert{color:#e11d48;background:#fff1f2;border:1px solid #fecdd3;border-radius:10px;align-items:center;gap:6px;padding:3px 8px;font-size:.78rem;font-weight:800;animation:1.5s infinite pulse-hiding;display:inline-flex}@keyframes pulse-hiding{0%,to{opacity:1}50%{opacity:.6}}.status-mode-selector{gap:8px;margin-top:8px;display:flex}.btn-status-mode{color:#475569;cursor:pointer;text-align:center;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;flex:1;padding:8px 12px;font-size:.84rem;font-weight:700;transition:all .2s}.btn-status-mode.active{color:#15803d;background:#f0fdf4;border-color:#22c55e;box-shadow:0 2px 6px #22c55e26}
