:root,[data-theme=dark]{--bg: #0f0f0f;--bg-base: #0f0f0f;--bg-card: #1a1a1a;--bg-elevated: #242424;--surface: #1a1a1a;--text-primary: #f5f5f5;--text-secondary: #a0a0a0;--accent: #e8b84b;--accent-dim: rgba(232, 184, 75, .15);--border: rgba(255, 255, 255, .08);--radius: 12px;--radius-sm: 8px}[data-theme=light]{--bg: #f5f3ef;--bg-base: #f5f3ef;--bg-card: #ffffff;--bg-elevated: #ece8e0;--surface: #ffffff;--text-primary: #1a1918;--text-secondary: #6b6763;--accent: #b8862a;--accent-dim: rgba(184, 134, 42, .13);--border: rgba(0, 0, 0, .09);--radius: 12px;--radius-sm: 8px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text-primary);min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;outline:none}.trip-picker{margin:.3rem 0 .4rem;padding:.3rem .65rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius, 10px);display:flex;align-items:center;gap:.5rem}.trip-picker-label{font-size:.78rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.trip-picker-select{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:.82rem;font-family:inherit;cursor:pointer;outline:none;min-width:0}.trip-picker-select option{background:var(--bg-elevated, #1e1e2e);color:var(--text-primary)}.trip-picker-clear{background:transparent;border:none;color:var(--text-secondary);font-size:.85rem;cursor:pointer;padding:.1rem .3rem;border-radius:4px;line-height:1;flex-shrink:0}.trip-picker-clear:hover{color:var(--text-primary)}.explore-bar{padding:.4rem .75rem 0}.tts-wrap{position:relative;width:100%}.tts-trigger{width:100%;padding:.25rem .5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:.78rem;font-family:inherit;cursor:pointer;text-align:center;transition:border-color .12s}.tts-trigger--set{color:var(--text-primary);border-color:var(--accent)}.tts-trigger:hover{border-color:var(--accent)}.tts-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:100;border-radius:8px;overflow:hidden;box-shadow:0 4px 20px #0006;animation:ttsDropIn .2s cubic-bezier(.34,1.1,.64,1);transform-origin:top center}@keyframes ttsDropIn{0%{opacity:0;transform:scaleY(.88) translateY(-4px)}to{opacity:1;transform:scaleY(1) translateY(0)}}.tts-picker{position:relative;display:flex;align-items:stretch;height:180px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden;width:100%}.tts-drum{flex:1;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch}.tts-drum::-webkit-scrollbar{display:none}.tts-item,.tts-spacer{height:36px;display:flex;align-items:center;justify-content:center;font-size:.95rem;color:var(--text-primary);scroll-snap-align:center}.tts-spacer{scroll-snap-align:none;pointer-events:none}.tts-colon{display:flex;align-items:center;align-self:center;font-size:1rem;font-weight:600;color:var(--text-primary);padding:0 2px;flex-shrink:0;position:relative;z-index:4;pointer-events:none}.tts-highlight{position:absolute;top:calc(50% - 18px);left:0;right:0;height:36px;background:color-mix(in srgb,var(--accent) 12%,transparent);border-top:1px solid var(--border);border-bottom:1px solid var(--border);pointer-events:none;z-index:2}.tts-fade{position:absolute;left:0;right:0;height:72px;pointer-events:none;z-index:3}.tts-fade--top{top:0;background:linear-gradient(to bottom,var(--bg-card) 15%,transparent)}.tts-fade--bot{bottom:0;background:linear-gradient(to top,var(--bg-card) 15%,transparent)}.city-ac-wrapper{position:relative}.city-ac-input{width:100%;padding:.6rem 1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.95rem;transition:border-color .2s;box-sizing:border-box}.city-ac-input:focus{outline:none;border-color:var(--accent)}.city-ac-input::placeholder{color:var(--text-secondary)}.city-ac-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);list-style:none;margin:0;padding:.25rem 0;z-index:9999;box-shadow:0 8px 24px #00000059;max-height:220px;overflow-y:auto}.city-ac-item{display:flex;align-items:center;gap:.5rem;padding:.55rem .9rem;cursor:pointer;font-size:.9rem;color:var(--text);transition:background .12s}.city-ac-item:hover,.city-ac-item--active{background:var(--bg-base, rgba(255, 255, 255, .06))}.city-ac-icon{font-size:.8rem;flex-shrink:0;opacity:.7}.city-ac-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nudge-backdrop{position:fixed;inset:0;z-index:8000;background:#0000008c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:nudge-fade-in .22s ease}@keyframes nudge-fade-in{0%{opacity:0}to{opacity:1}}.nudge-sheet{position:fixed;bottom:0;left:0;right:0;z-index:8001;background:var(--bg-card);border-top:1px solid var(--border);border-radius:22px 22px 0 0;padding:.6rem 1.5rem 2.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.65rem;box-shadow:0 -12px 48px #0006;animation:nudge-slide-up .28s cubic-bezier(.32,.72,0,1)}@keyframes nudge-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.nudge-handle{width:38px;height:4px;background:var(--border);border-radius:2px;margin-bottom:.4rem;flex-shrink:0}.nudge-icon{font-size:2.2rem;line-height:1}.nudge-headline{font-size:1.2rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.3px}.nudge-body{font-size:.88rem;color:var(--text-secondary);line-height:1.55;margin:0;max-width:300px}.nudge-primary{width:100%;max-width:340px;padding:.85rem 1.5rem;background:var(--accent);color:#1a1a1a;border:none;border-radius:14px;font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;transition:filter .15s,transform .1s;-webkit-tap-highlight-color:transparent;margin-top:.25rem}.nudge-primary:hover{filter:brightness(1.08)}.nudge-primary:active{transform:scale(.98)}.nudge-secondary{background:none;border:none;color:var(--text-secondary);font-family:inherit;font-size:.85rem;cursor:pointer;padding:.2rem .5rem;transition:color .15s}.nudge-secondary:hover{color:var(--text-primary)}.nudge-secondary strong{color:var(--accent)}.attp-wrap{position:relative;display:inline-block}.attp-trigger{background:none;border:none;padding:0;font-family:inherit;font-size:.85rem;font-weight:600;color:var(--accent);cursor:pointer;white-space:nowrap;transition:opacity .15s}.attp-trigger:hover{opacity:.75}.attp-overlay{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:attpFadeIn .22s ease-out}.attp-overlay--closing{animation:attpFadeOut .2s ease-in forwards;pointer-events:none}@keyframes attpFadeIn{0%{opacity:0}to{opacity:1}}@keyframes attpFadeOut{0%{opacity:1}to{opacity:0}}.attp-modal{position:relative;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:28px 28px 24px;width:100%;max-width:420px;max-height:80vh;overflow-y:auto;animation:attpSlideUp .28s cubic-bezier(.34,1.15,.64,1)}.attp-modal--closing{animation:attpSlideDown .2s ease-in forwards}@keyframes attpSlideUp{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes attpSlideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(16px);opacity:0}}.attp-close{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--text-secondary);font-size:1rem;cursor:pointer;padding:4px;line-height:1;transition:color .15s}.attp-close:hover{color:var(--text-primary)}.attp-title{font-size:1.15rem;font-weight:700;margin-bottom:4px}.attp-venue-name{color:var(--text-secondary);font-size:.88rem;margin-bottom:20px}.attp-label{font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #888);margin:0 0 8px}.attp-list{list-style:none;margin:0 0 12px;padding:0;max-height:240px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.attp-item{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:.65rem .9rem;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;transition:background .12s;gap:2px}.attp-list li:last-child .attp-item{border-bottom:none}.attp-item:hover:not(:disabled){background:var(--accent-dim, rgba(255,255,255,.04))}.attp-item:disabled{opacity:.5;cursor:wait}.attp-item-name{font-weight:500;color:var(--text-primary, #222);font-size:.9rem}.attp-item-sub{font-size:.78rem;color:var(--text-secondary, #888)}.attp-back{display:flex;align-items:center;gap:.3rem;width:100%;padding:0 0 .75rem;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;font-weight:600;font-size:.88rem;color:var(--accent, #4a6cf7);text-align:left;margin-bottom:16px;transition:opacity .12s}.attp-back:hover{opacity:.75}.attp-time-row{display:flex;flex-direction:column;gap:.4rem;margin-bottom:16px}.attp-time-label{font-size:.85rem;color:var(--text-secondary, #555);white-space:nowrap;flex-shrink:0}.attp-msg{color:var(--text-secondary, #888);font-size:.88rem;margin:0 0 12px}.attp-msg-sm{color:var(--text-secondary, #aaa);font-size:.85rem;margin:0 0 8px;font-style:italic}.attp-add-day-btn{display:block;width:100%;margin-top:12px;padding:10px 0;background:none;border:1.5px dashed var(--accent, #4a6cf7);border-radius:var(--radius-sm);color:var(--accent, #4a6cf7);font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s}.attp-add-day-btn:hover:not(:disabled){background:var(--accent-dim, rgba(255,255,255,.04))}.attp-add-day-btn:disabled{opacity:.5;cursor:wait}.attp-status{padding:.75rem 1rem;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;margin-bottom:16px;text-align:center}.attp-status.success{background:#eafaf1;color:#1a8a45}.attp-status.exists{background:#fff7e6;color:#b07d1a}.attp-status.error{background:#fdecea;color:#c0392b}.attp-new-trip-btn{display:block;width:100%;margin-top:12px;padding:10px;background:none;border:1.5px dashed var(--border);border-radius:var(--radius-sm);color:var(--accent);font-size:.88rem;font-weight:600;cursor:pointer;text-align:center;transition:background .15s,border-color .15s}.attp-new-trip-btn:hover{background:var(--accent-dim);border-color:var(--accent)}.attp-new-trip-form{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.attp-new-trip-input{background:var(--bg-card, #fff);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;padding:8px 10px;outline:none;font-family:inherit;transition:border-color .15s}.attp-new-trip-input:focus{border-color:var(--accent)}.attp-new-trip-actions{display:flex;gap:8px}.attp-new-trip-save{flex:1;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:8px 10px;font-size:.88rem;font-weight:700;cursor:pointer;transition:opacity .15s}.attp-new-trip-save:disabled{opacity:.5;cursor:default}.attp-new-trip-cancel{background:none;border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);padding:8px 12px;font-size:.88rem;cursor:pointer;transition:border-color .15s}.attp-new-trip-cancel:hover{border-color:var(--text-secondary)}.save-btn{position:absolute;top:.6rem;right:.6rem;background:#0000008c;border:none;border-radius:50%;width:2rem;height:2rem;font-size:1.1rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background .15s,transform .15s;z-index:2}.save-btn:hover{background:#000c;transform:scale(1.1)}.save-btn.saved{color:#ff4d6d;background:#000000b3}.save-note-popup{position:absolute;top:3rem;right:.5rem;z-index:20;width:220px;background:var(--bg-elevated);border:1px solid var(--accent);border-radius:12px;padding:.65rem .75rem .55rem;box-shadow:0 8px 24px #00000080;animation:notePopIn .15s ease}@keyframes notePopIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.save-note-popup-input{width:100%;box-sizing:border-box;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.82rem;font-family:inherit;padding:.4rem .6rem;resize:none;line-height:1.45}.save-note-popup-input:focus{outline:none;border-color:var(--accent)}.save-note-popup-actions{display:flex;gap:.4rem;margin-top:.45rem;justify-content:flex-end}.save-note-popup-save{padding:.28rem .85rem;background:var(--accent);color:#0f0f0f;font-weight:700;font-size:.78rem;border-radius:6px;border:none;cursor:pointer}.save-note-popup-skip{padding:.28rem .65rem;background:transparent;color:var(--text-secondary);font-size:.78rem;border:1px solid var(--border);border-radius:6px;cursor:pointer}.gsearch-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:500;display:flex;flex-direction:column;align-items:center;padding-top:max(72px,env(safe-area-inset-top) + 60px);padding-left:1rem;padding-right:1rem;animation:gsearch-fade-in .15s ease}@keyframes gsearch-fade-in{0%{opacity:0}to{opacity:1}}.gsearch-panel{width:100%;max-width:640px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 24px 64px #0009;overflow:hidden;animation:gsearch-slide-in .18s cubic-bezier(.34,1.1,.64,1);transform-origin:top center;max-height:calc(100dvh - 96px);display:flex;flex-direction:column}@keyframes gsearch-slide-in{0%{opacity:0;transform:translateY(-10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.gsearch-input-row{display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.gsearch-icon{font-size:1.1rem;opacity:.6;flex-shrink:0}.gsearch-input{flex:1;background:none;border:none;outline:none;font-size:1rem;color:var(--text-primary);caret-color:var(--accent)}.gsearch-input::placeholder{color:var(--text-secondary)}.gsearch-clear{background:none;border:none;color:var(--text-secondary);font-size:.9rem;padding:.2rem .4rem;cursor:pointer;border-radius:4px;transition:color .15s;flex-shrink:0}.gsearch-clear:hover{color:var(--text-primary)}.gsearch-results{overflow-y:auto;flex:1}.gsearch-state{padding:2rem 1.25rem;color:var(--text-secondary);font-size:.88rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.gsearch-hint{color:var(--text-secondary);opacity:.7}.gsearch-empty strong{color:var(--text-primary)}.gsearch-error{color:#e06060}.gsearch-spinner{display:inline-block;width:1.2rem;height:1.2rem;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:gsearch-spin .7s linear infinite}@keyframes gsearch-spin{to{transform:rotate(360deg)}}.gsearch-result{display:flex;align-items:center;gap:.85rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);transition:background .12s}.gsearch-result:last-child{border-bottom:none}.gsearch-result:hover{background:#ffffff08}.gsearch-photo{width:56px;height:56px;border-radius:8px;object-fit:cover;flex-shrink:0;background:var(--bg-card)}.gsearch-photo--placeholder{display:flex;align-items:center;justify-content:center;font-size:1.4rem}.gsearch-info{flex:1;min-width:0}.gsearch-name{font-size:.95rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gsearch-meta{display:flex;align-items:center;gap:.5rem;margin-top:.2rem;flex-wrap:wrap}.gsearch-type{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--accent)}.gsearch-rating{font-size:.78rem;color:var(--text-secondary)}.gsearch-address{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.gsearch-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.top-bar{position:fixed;top:0;left:0;right:0;min-height:calc(52px + env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;padding:env(safe-area-inset-top) 1rem 0;background:#0f0f0feb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);z-index:100}.top-bar-logo{position:absolute;left:50%;transform:translate(-50%);font-size:1.15rem;font-weight:700;letter-spacing:-.5px;color:var(--accent);white-space:nowrap;pointer-events:auto}.top-bar-spacer{flex:1;visibility:hidden;pointer-events:none;min-width:0}.top-bar-search-btn{background:none;border:none;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;padding:.25rem;transition:color .2s;-webkit-tap-highlight-color:transparent}.top-bar-search-btn:hover{color:var(--text-primary)}.top-bar-search{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:color .2s;padding:.25rem;-webkit-tap-highlight-color:transparent}.top-bar-search:hover{color:var(--text-primary)}.top-bar-actions{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:1rem;position:relative}.notification-bell{background:none;border:none;position:relative;cursor:pointer;color:var(--text-secondary);padding:.35rem .4rem;transition:color .2s;display:flex;align-items:center;justify-content:center}.notification-bell:hover{color:var(--accent)}.notification-badge{position:absolute;top:.1rem;right:.1rem;background:var(--accent);color:#fff;border-radius:50%;font-size:.7rem;padding:.1rem .4rem;min-width:1.1em;text-align:center;font-weight:700}.notification-dropdown{position:absolute;top:calc(100% + .5rem);right:0;width:300px;max-height:360px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 32px #00000073;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:200;overflow:hidden;display:flex;flex-direction:column;animation:notifDropIn .2s cubic-bezier(.34,1.1,.64,1);transform-origin:top right}@keyframes notifDropIn{0%{opacity:0;transform:scale(.94) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.notification-list{overflow-y:auto;max-height:360px}.notification-item{padding:.75rem 1rem;border-bottom:1px solid var(--border);font-size:.85rem;background:transparent;color:var(--text-primary);display:flex;flex-direction:column;gap:.25rem;transition:background .15s}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:#ffffff0a}.notification-item.unread{background:var(--accent-dim)}.notification-item.unread:hover{background:#e8b84b38}.notification-date{font-size:.72rem;color:var(--text-secondary);align-self:flex-end}.notification-empty{padding:2rem 1rem;text-align:center;color:var(--text-secondary);font-size:.85rem}.bottom-tab-bar{position:fixed;bottom:0;left:0;right:0;height:calc(60px + env(safe-area-inset-bottom));min-height:calc(60px + env(safe-area-inset-bottom));flex-shrink:0;display:flex;background:#0f0f0feb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border);z-index:200;padding-bottom:env(safe-area-inset-bottom);box-sizing:border-box}.tab-item{flex:1;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-secondary);text-decoration:none;background:none;border:none;padding:0;cursor:pointer;transition:color .15s;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;position:relative}.tab-item.active{color:var(--accent)}.tab-item.active .tab-icon{animation:tabIconPop .35s cubic-bezier(.34,1.5,.64,1)}@keyframes tabIconPop{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}.tab-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px}.tab-label{font-size:.65rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.tab-item--new-trip{flex:1}.tab-icon--plus{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--accent);color:#000;margin-bottom:1px;box-shadow:0 2px 10px #0000004d}.tour-backdrop{position:fixed;inset:0;z-index:9000;pointer-events:auto;background:transparent;animation:tour-fade-in .25s ease}.tour-backdrop--dim{background:#000000b8;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}@keyframes tour-fade-in{0%{opacity:0}to{opacity:1}}.tour-spotlight{position:fixed;z-index:9001;border-radius:10px;box-shadow:0 0 0 9999px #000000b8;pointer-events:none;transition:top .32s cubic-bezier(.4,0,.2,1),left .32s cubic-bezier(.4,0,.2,1),width .32s cubic-bezier(.4,0,.2,1),height .32s cubic-bezier(.4,0,.2,1)}.tour-card{position:fixed;z-index:9002;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:1.75rem 1.5rem 1.5rem;width:calc(100% - 2.5rem);max-width:360px;display:flex;flex-direction:column;align-items:center;gap:.65rem;text-align:center;box-shadow:0 24px 60px #0000008c;animation:tour-card-in .32s cubic-bezier(.34,1.3,.64,1)}@keyframes tour-card-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.tour-card-skip{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-secondary);font-size:.8rem;font-family:inherit;cursor:pointer;padding:.2rem .45rem;border-radius:6px;transition:color .15s,background .15s}.tour-card-skip:hover{color:var(--text-primary);background:var(--bg-elevated)}.tour-card-icon{font-size:2.4rem;line-height:1}.tour-card-title{font-size:1.2rem;font-weight:700;color:var(--text-primary);letter-spacing:-.3px;margin:0;line-height:1.25}.tour-card-body{font-size:.88rem;color:var(--text-secondary);line-height:1.55;margin:0;max-width:290px}.tour-card-nav{display:flex;align-items:center;gap:.5rem;width:100%;margin-top:.15rem}.tour-tooltip{position:fixed;z-index:9002;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:.9rem 1rem .8rem;width:284px;box-shadow:0 10px 36px #0000007a;animation:tour-tip-in .25s ease}@keyframes tour-tip-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tour-tooltip-head{display:flex;align-items:center;gap:.45rem;margin-bottom:.4rem}.tour-tooltip-icon{font-size:1.1rem;flex-shrink:0}.tour-tooltip-title{font-size:.95rem;font-weight:700;color:var(--text-primary);flex:1;line-height:1.2}.tour-tooltip-close{background:none;border:none;color:var(--text-secondary);font-size:.78rem;cursor:pointer;padding:.1rem .3rem;border-radius:4px;line-height:1;flex-shrink:0;transition:color .15s}.tour-tooltip-close:hover{color:var(--text-primary)}.tour-tooltip-body{font-size:.83rem;color:var(--text-secondary);line-height:1.5;margin:0 0 .7rem}.tour-tooltip-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.tour-tooltip-nav{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.tour-dots{display:flex;align-items:center;gap:.3rem}.tour-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--border);transition:background .2s,width .2s,border-radius .2s}.tour-dot--active{background:var(--accent);width:16px;border-radius:3px}.tour-btn{font-family:inherit;font-weight:600;border:none;border-radius:9px;cursor:pointer;transition:filter .15s,transform .1s;-webkit-tap-highlight-color:transparent;white-space:nowrap}.tour-btn:active{transform:scale(.96)}.tour-btn--primary{background:var(--accent);color:#1a1a1a;padding:.6rem 1.2rem;font-size:.88rem;flex:1}.tour-btn--primary:hover{filter:brightness(1.08)}.tour-btn--ghost{background:var(--bg-elevated);color:var(--text-secondary);padding:.6rem .9rem;font-size:.88rem}.tour-btn--ghost:hover{background:var(--border);color:var(--text-primary)}.tour-btn--sm{padding:.42rem .85rem;font-size:.82rem;flex:none}.tour-btn--primary.tour-btn--sm{flex:none}.app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.skip-to-content{position:absolute;top:-100%;left:1rem;z-index:9999;padding:.5rem 1rem;background:var(--accent);color:#1a1a1a;font-weight:700;border-radius:0 0 8px 8px;text-decoration:none;font-size:.9rem;transition:top .1s}.skip-to-content:focus{top:0}.main-content{flex:1;padding-top:calc(52px + env(safe-area-inset-top));padding-bottom:calc(60px + env(safe-area-inset-bottom))}.page-transition{animation:pageEnter .22s ease-out}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
