/* Extracted from styles.css; original cascade order is preserved by index.html. */
/* Compact time rewind sheet */
#rewindSheet{width:min(460px,calc(100% - 28px));max-height:min(84vh,740px)}
#rewindSheet .rewind-body{max-height:min(82vh,710px);padding:10px 16px calc(20px + env(safe-area-inset-bottom));border-radius:inherit}
#rewindSheet .sheet-handle{margin-bottom:12px}
#rewindSheet .sheet-head{margin-bottom:12px}
#rewindSheet .sheet-head h2{font-size:22px}
#rewindSheet .sheet-head button{width:32px;height:32px;font-size:20px}
#rewindSheet .rewind-toolbar{grid-template-columns:36px 1fr 36px;margin-bottom:7px}
#rewindSheet .rewind-toolbar button{height:34px;border-radius:12px;font-size:20px}
#rewindSheet .rewind-toolbar strong{font-size:14px}
#rewindSheet .rewind-weekdays{gap:3px;margin-bottom:4px}
#rewindSheet .rewind-weekdays span{padding:3px;font-size:9px}
#rewindSheet .rewind-calendar{gap:3px;padding:8px;border-radius:15px}
#rewindSheet .rewind-calendar>span,#rewindSheet .rewind-calendar button{border-radius:9px;font-size:12px}
#rewindSheet .rewind-random-btn{margin:8px 0 12px;padding:10px;border-radius:13px;font-size:12px}
#rewindSheet .rewind-day-header{gap:9px;padding:14px;border-radius:16px}
#rewindSheet .rewind-day-info h3{font-size:17px}
#rewindSheet .rewind-day-info p{font-size:11px}
#rewindSheet .rewind-day-badge{padding:6px 10px;font-size:10px}
#rewindSheet .rewind-day-content{max-height:min(30vh,260px);overflow:auto;margin-top:10px;padding-right:3px;scrollbar-width:thin;scrollbar-color:#ef9db2 #fff3f6}
#rewindSheet .rewind-day-content::-webkit-scrollbar{width:5px}
#rewindSheet .rewind-day-content::-webkit-scrollbar-thumb{background:#ef9db2;border-radius:999px}
#rewindSheet .rewind-section{margin-top:12px}
#rewindSheet .rewind-section h4{margin-bottom:7px;font-size:12px}
#rewindSheet .rewind-section h4 span{width:23px;height:23px;border-radius:8px;font-size:12px}
#rewindSheet .rewind-events,#rewindSheet .rewind-moods,#rewindSheet .rewind-memories{gap:7px}
#rewindSheet .rewind-events article,#rewindSheet .rewind-moods article{gap:10px;padding:11px 12px;border-radius:13px}
#rewindSheet .rewind-memory-card{gap:10px;padding:12px;border-radius:14px}
#rewindSheet .rewind-memory-icon{width:36px;height:36px;border-radius:12px;font-size:17px}
#rewindSheet .rewind-memory-card strong{font-size:13px}
#rewindSheet .rewind-memory-card p{font-size:10px;line-height:1.5}
#rewindSheet .rewind-photo-strip{gap:4px;margin-top:8px}
#rewindSheet .rewind-photo-strip img{border-radius:8px}
#rewindSheet .rewind-empty{padding:28px 18px;border-radius:16px}
@media (min-width:700px){#rewindSheet{margin:auto;border-radius:26px;box-shadow:0 24px 70px rgba(72,48,58,.2)}}
@media (max-width:430px){#rewindSheet{width:calc(100% - 18px);max-height:84vh;margin:auto auto 10px;border-radius:25px 25px 20px 20px}#rewindSheet .rewind-body{max-height:82vh;padding-left:14px;padding-right:14px}#rewindSheet .rewind-day-content{max-height:28vh}}
@media (min-width:700px){#ttsSettingsSheet{margin:auto;border-radius:26px;box-shadow:0 24px 70px rgba(72,48,58,.2)}}@media (max-width:430px){#ttsSettingsSheet{width:calc(100% - 18px);max-height:84vh;margin:auto auto 10px;border-radius:25px 25px 20px 20px}#ttsSettingsSheet .tts-settings-body{max-height:82vh;padding-left:14px;padding-right:14px}}
.trip-ai-hero-right{display:flex;flex-direction:column;align-items:center;gap:10px;flex:none}.trip-ai-hint-btn{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 12px;border:1px solid rgba(255,255,255,.3);border-radius:20px;background:rgba(255,255,255,.12);color:#fff;font-size:9px;font-weight:600;cursor:pointer;transition:.2s;backdrop-filter:blur(4px)}.trip-ai-hint-btn:active{transform:scale(.95)}.trip-ai-hint-btn span{font-size:12px}
.ai-hint-trigger-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:18px;padding:14px 16px;border:1px solid #f0d8de;border-radius:16px;background:linear-gradient(135deg,#fde9ec,#fff5f0);color:#c44d74;font-size:12px;font-weight:700;cursor:pointer;transition:.2s}.ai-hint-trigger-btn:active{transform:scale(.97)}.ai-hint-trigger-btn span{font-size:16px}
.ai-hint-sheet{border:0;border-radius:24px 24px 0 0;max-width:560px;width:100%;padding:0;margin:auto auto 0;max-height:80vh}.ai-hint-dialog-body{padding:20px 20px max(24px,env(safe-area-inset-bottom))}.ai-hint-dialog-desc{display:flex;align-items:flex-start;gap:12px;margin:18px 0 14px;padding:16px;border-radius:16px;background:#fdf6f3;border:1px solid #f5e6e0}.ai-hint-dialog-desc>span{font-size:24px;flex:none}.ai-hint-dialog-desc strong{display:block;font-size:13px;color:var(--ink)}.ai-hint-dialog-desc p{margin:5px 0 0;font-size:11px;color:var(--muted);line-height:1.5}.ai-hint-dialog-input{width:100%;min-height:80px;padding:14px;border:1px solid var(--line);border-radius:14px;background:white;font-size:12px;line-height:1.6;resize:vertical;color:var(--ink)}.ai-hint-dialog-input:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 3px rgba(239,109,143,.1)}
.topbar-right{display:flex;align-items:center;gap:8px}.ai-assistant-btn{display:flex;align-items:center;gap:4px;padding:8px 12px;border:0;border-radius:99px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:11px;font-weight:700;box-shadow:0 4px 14px rgba(102,126,234,.3);transition:.2s;animation:ai-pulse 2.5s ease-in-out infinite}.ai-assistant-btn:active{transform:scale(.95)}.ai-assistant-icon{font-size:14px;line-height:1}.ai-assistant-label{letter-spacing:.5px}@keyframes ai-pulse{0%,100%{box-shadow:0 4px 14px rgba(102,126,234,.3)}50%{box-shadow:0 4px 20px rgba(102,126,234,.5)}}.ai-chat-sheet{border:0;border-radius:24px 24px 0 0;max-width:560px;width:100%;padding:0;margin:auto auto 0;max-height:92vh;height:92vh;display:flex;flex-direction:column}.ai-chat-body{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.ai-chat-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 10px;border-bottom:1px solid var(--line);flex:none}.ai-chat-head-info{display:flex;align-items:center;gap:10px}.ai-chat-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:16px}.ai-chat-head-info small{color:#9c7b9e;font-size:8px;font-weight:800;letter-spacing:1.2px}.ai-chat-head-info h2{font-size:15px;margin:2px 0 0}.ai-chat-head-actions{display:flex;align-items:center;gap:6px}.ai-chat-icon-btn{width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:16px;display:grid;place-items:center;transition:.15s}.ai-chat-icon-btn:active{background:#f5f0f2;transform:scale(.92)}.ai-chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 14px 6px;scrollbar-width:thin;display:flex;flex-direction:column;gap:12px;-webkit-overflow-scrolling:touch}.ai-chat-welcome{text-align:center;padding:40px 20px;color:var(--muted)}.ai-chat-welcome-icon{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:26px;margin-bottom:14px}.ai-chat-welcome h3{font-size:16px;color:var(--ink);margin:0 0 6px}.ai-chat-welcome p{font-size:12px;margin:0;line-height:1.6}.ai-chat-suggestions{display:flex;flex-wrap:wrap;gap:7px;padding:0 14px 8px;flex:none}.ai-chat-suggestions.hidden{display:none}.ai-chat-suggestions button{padding:7px 13px;border:1px solid #e8d8de;border-radius:99px;background:#fffaf9;color:#9c6b7a;font-size:11px;white-space:nowrap;transition:.15s}.ai-chat-suggestions button:active{transform:scale(.95);background:var(--blush)}.ai-chat-msg{display:flex;gap:8px;align-items:flex-start;animation:ai-msg-in .3s ease}.ai-chat-msg.user{justify-content:flex-end}.ai-chat-msg-user-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:3px;max-width:80%}.ai-chat-msg-author{color:#b09fa5;font-size:9px;font-weight:700;padding:0 4px}.ai-chat-msg.user .ai-chat-msg-bubble{max-width:none}.ai-chat-msg-avatar{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:9px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:12px;margin-top:2px}.ai-chat-msg-bubble{max-width:80%;padding:10px 14px;border-radius:16px;font-size:13px;line-height:1.65;word-break:break-word}.ai-chat-msg.user .ai-chat-msg-bubble{background:linear-gradient(135deg,#ef6d8f,#d94d74);color:#fff;border-bottom-right-radius:4px}.ai-chat-msg.assistant .ai-chat-msg-bubble{background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px;color:var(--ink)}.ai-chat-msg.assistant .ai-chat-msg-bubble code{background:#f5f0f2;padding:1px 5px;border-radius:4px;font-size:11px}.ai-chat-msg.assistant .ai-chat-msg-bubble strong{font-weight:700;color:var(--rose-dark)}.ai-chat-msg-content{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:80%}.ai-chat-msg-model{display:inline-block;align-self:flex-start;padding:1px 7px;border-radius:99px;background:linear-gradient(135deg,#f0e8f5,#e8f0fa);color:#7b6ba0;font-size:8px;font-weight:800;letter-spacing:.3px;line-height:1.6;white-space:nowrap}.ai-chat-msg-actions{display:flex;gap:6px;margin-top:2px;opacity:0;transition:opacity .2s}.ai-chat-msg:hover .ai-chat-msg-actions{opacity:1}.ai-chat-action-btn{padding:2px 8px;border:0;border-radius:99px;background:#f5f0f2;color:#9c7b9e;font-size:9px;font-weight:700;cursor:pointer;transition:.15s;white-space:nowrap}.ai-chat-action-btn:active{transform:scale(.92)}.ai-chat-action-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.ai-chat-msg.user .ai-chat-msg-actions{justify-content:flex-end}.ai-chat-edit-input{width:100%;border:1px solid #e8d8de;border-radius:12px;padding:8px 10px;font-size:13px;line-height:1.5;font-family:inherit;resize:none;outline:none;background:#fff;color:var(--ink)}.ai-chat-edit-input:focus{border-color:#d94d74}.ai-chat-msg.streaming .ai-chat-msg-bubble::after{content:"▋";animation:ai-cursor .6s steps(1) infinite;color:var(--rose);margin-left:2px}@keyframes ai-msg-in{from{opacity:0;transform:translateY(8px)}}@keyframes ai-cursor{0%,100%{opacity:1}50%{opacity:0}}.ai-chat-input-area{display:flex;flex-direction:column;gap:0;padding:0 max(14px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);flex:none;background:#fff}.ai-chat-input-toolbar{display:flex;align-items:center;gap:6px;padding:8px 0 4px}.ai-chat-tool-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid #e8d8de;border-radius:99px;background:#fffaf9;color:#9c6b7a;font-size:10px;font-weight:700;transition:.15s;flex:none}.ai-chat-tool-btn:active{transform:scale(.95)}.ai-chat-tool-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(102,126,234,.3)}.ai-chat-tool-icon{font-size:12px;line-height:1}.ai-chat-tool-label{letter-spacing:.3px}.ai-chat-websearch-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid #e8d8de;border-radius:99px;background:#fffaf9;color:#9c6b7a;font-size:10px;font-weight:700;transition:.15s}.ai-chat-websearch-btn:active{transform:scale(.95)}.ai-chat-websearch-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(102,126,234,.3)}.ai-chat-websearch-icon{font-size:12px;line-height:1}.ai-chat-image-previews{display:flex;gap:6px;padding:4px 0 6px;overflow-x:auto;scrollbar-width:none}.ai-chat-image-previews.hidden{display:none}.ai-chat-image-previews::-webkit-scrollbar{display:none}.ai-chat-img-preview{position:relative;flex:none;width:56px;height:56px;border-radius:12px;overflow:hidden;border:1px solid var(--line)}.ai-chat-img-preview img{width:100%;height:100%;object-fit:cover}.ai-chat-img-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:11px;line-height:1;display:grid;place-items:center;cursor:pointer;padding:0}.ai-chat-img-remove:active{transform:scale(.85)}.ai-chat-msg-images{display:flex;flex-wrap:wrap;gap:4px;max-width:220px;justify-content:flex-end}.ai-chat-msg-image{width:64px;height:64px;object-fit:cover;border-radius:10px;border:1px solid var(--line);cursor:pointer;transition:.15s}.ai-chat-msg-image:active{transform:scale(.95)}.ai-chat-input-row{display:flex;align-items:flex-end;gap:8px}.ai-chat-input{flex:1;border:1px solid var(--line);border-radius:16px;padding:10px 14px;font-size:13px;line-height:1.5;resize:none;max-height:120px;background:#fffaf9;color:var(--ink);transition:.15s}.ai-chat-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.ai-chat-send-btn{flex:none;width:40px;height:40px;border:0;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:grid;place-items:center;transition:.15s}.ai-chat-send-btn:active{transform:scale(.9)}.ai-chat-send-btn:disabled{opacity:.4}.ai-chat-typing{display:flex;align-items:center;gap:8px;padding:6px 14px 4px;flex:none}.ai-chat-typing[hidden]{display:none}.ai-chat-typing-dots{display:flex;gap:3px}.ai-chat-typing-dots i{width:6px;height:6px;border-radius:50%;background:#a99ca1;animation:ai-dot 1.2s ease-in-out infinite}.ai-chat-typing-dots i:nth-child(2){animation-delay:.2s}.ai-chat-typing-dots i:nth-child(3){animation-delay:.4s}@keyframes ai-dot{0%,80%,100%{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.ai-chat-typing small{color:var(--muted);font-size:10px}.ai-chat-history-sheet{border:0;border-radius:24px 24px 0 0;max-width:560px;width:100%;padding:0;margin:auto auto 0;max-height:80vh}.ai-chat-history-body{padding:0 16px max(20px,env(safe-area-inset-bottom))}.ai-chat-history-list{display:grid;gap:8px;padding-top:10px}.ai-chat-history-item{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:#fff;transition:.15s}.ai-chat-history-item:active{transform:scale(.98)}.ai-chat-history-item.active{border-color:#667eea;background:#f5f3ff}.ai-chat-history-info{flex:1;min-width:0}.ai-chat-history-info strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-chat-history-info small{color:var(--muted);font-size:10px}.ai-chat-history-actions{flex:none;display:flex;align-items:center;gap:2px}.ai-chat-history-rename{flex:none;border:0;background:transparent;color:#b5a8ac;font-size:13px;padding:4px 6px;transition:.15s}.ai-chat-history-rename:active{transform:scale(.88);color:var(--rose)}.ai-chat-history-del{flex:none;border:0;background:transparent;color:#c9bcc0;font-size:14px;padding:4px}.ai-chat-history-empty{text-align:center;padding:40px 20px;color:var(--muted)}.ai-chat-history-empty span{font-size:32px;display:block;margin-bottom:8px}.ai-chat-history-empty p{font-size:12px;margin:0}
.ai-chat-voice-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:50;animation:voice-overlay-in .2s ease;pointer-events:none}.ai-chat-voice-overlay-inner{display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px 32px;border-radius:20px;background:rgba(255,255,255,.95);box-shadow:0 8px 32px rgba(0,0,0,.2);min-width:160px}.ai-chat-voice-wave{display:flex;gap:4px;align-items:center;height:36px}.ai-chat-voice-wave i{width:4px;height:100%;border-radius:2px;background:linear-gradient(135deg,#667eea,#764ba2);animation:voice-wave 1s ease-in-out infinite}.ai-chat-voice-wave i:nth-child(2){animation-delay:.15s}.ai-chat-voice-wave i:nth-child(3){animation-delay:.3s}.ai-chat-voice-wave i:nth-child(4){animation-delay:.45s}.ai-chat-voice-wave i:nth-child(5){animation-delay:.6s}@keyframes voice-wave{0%,100%{transform:scaleY(.25)}50%{transform:scaleY(1)}}@keyframes voice-overlay-in{from{opacity:0}to{opacity:1}}.ai-chat-voice-overlay-text{font-size:13px;color:#333;font-weight:700;margin:0;text-align:center}.ai-chat-voice-overlay.transcribing .ai-chat-voice-wave i{background:linear-gradient(135deg,#4e8f7b,#76b89a);animation:voice-wave .8s ease-in-out infinite}.ai-chat-voice-overlay.transcribing .ai-chat-voice-overlay-text{color:#4e8f7b}.ai-chat-tool-btn.recording{background:#e74c3c!important;color:#fff!important;border-color:transparent;box-shadow:0 4px 14px rgba(231,76,60,.35)}.ai-chat-tool-btn.recording .ai-chat-tool-icon{animation:recPulse 1s ease-in-out infinite}
.ai-chat-sheet:not([open]),.ai-chat-history-sheet:not([open]),.ai-hint-sheet:not([open]){display:none!important}.ai-chat-sheet[open]{display:flex}@media (min-width:700px){.ai-chat-sheet,.ai-chat-history-sheet{margin:auto;border-radius:28px;max-width:520px}.ai-chat-sheet{height:min(82vh,720px)}}
.app-shell{padding-top:calc(72px + env(safe-area-inset-top))}.topbar{position:fixed;z-index:25;left:50%;top:0;transform:translateX(-50%);width:min(560px,100%);height:calc(72px + env(safe-area-inset-top));padding:max(16px,env(safe-area-inset-top)) 18px 10px;background:rgba(255,252,250,.92);border-bottom:1px solid rgba(228,216,215,.75);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}@media(min-width:700px){.topbar{top:20px;border-radius:32px 32px 0 0}.app-shell{padding-top:calc(72px + env(safe-area-inset-top))}}

/* Keep the fixed header usable on narrow phones. */
.topbar .couple-chip{min-width:0;flex:1}.topbar .couple-chip>span:nth-child(2){min-width:0}.topbar #coupleNames{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-right{flex:none}.topbar .sync-pill em{font-style:normal}.ai-assistant-btn{min-width:54px;justify-content:center}
@media(max-width:430px){.topbar{gap:8px;padding-left:12px;padding-right:12px}.topbar .avatars b{width:30px;height:30px}.topbar .couple-chip{gap:6px}.topbar #coupleNames{max-width:108px;font-size:12px}.topbar-right{gap:5px}.ai-assistant-btn{min-width:46px;padding:8px 9px}.topbar .sync-pill{padding:7px 8px}.topbar .sync-pill #syncText{display:none}}
@media(max-width:350px){.topbar #coupleNames{max-width:78px}.topbar .sync-pill #syncBadge{display:none}}
