:root{--app-max-width: 430px;--timeline-empty-space: 48px;--timeline-emblem: 80px;--timeline-avatar: 32px;--timeline-image-height: 320px;--home-bg: #141116;--home-surface: #201b22;--home-text: #f5eae5;--home-muted: #b5a4af;--home-rose: #efa99e;--home-rose-soft: rgba(239, 169, 158, .12);--home-line: #483039;--home-hero: radial-gradient(ellipse at 50% 0%, #54303b 0%, #2c2029 65%, #241b23 100%);--home-note: #30232b;--home-xs: 4px;--home-sm: 8px;--home-md: 16px;--home-lg: 24px;--home-radius: 22px;--bg: #141116;--surface: #201b22;--surface-2: #2a2330;--text: #f5eae5;--text-2: #b5a4af;--primary: #efa99e;--primary-2: #f6c0b6;--primary-soft: rgba(239, 169, 158, .14);--on-primary: #241a20;--glow: 0 0 12px rgba(239, 169, 158, .35);--accent: #F78C6C;--accent-soft: rgba(247, 140, 108, .14);--border: #3a2c35;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--shadow-1: 0 1px 3px rgba(0, 0, 0, .4);--shadow-2: 0 6px 20px rgba(0, 0, 0, .55);--danger: #FF5555;--danger-soft: rgba(255, 85, 85, .14);--gallery-stage: radial-gradient(ellipse at 50% 46%, #2c2129 0%, #1a131b 55%, #0a0709 100%);--gallery-stage-scrim: radial-gradient(ellipse at 50% 46%, rgba(44, 33, 41, .84) 0%, rgba(26, 19, 27, .93) 55%, rgba(10, 7, 9, .96) 100%);--gallery-chrome: rgba(32, 26, 36, .62);--gallery-chrome-strong: rgba(46, 37, 50, .92);--gallery-bar: rgba(18, 14, 20, .9);--font: -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-display: "LXGW WenKai Screen", "Kaiti SC", "STKaiti", "KaiTi", var(--font);--t-fast: .15s;--t-med: .22s;--ease: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.22, 1.35, .32, 1);--scrim: rgba(10, 7, 12, .58);--hit: 44px;--nav-h: 62px;--nav-bg: rgba(28, 23, 30, .94);--nav-line: rgba(245, 234, 229, .07);--nav-shadow: 0 -4px 18px rgba(0, 0, 0, .28);--nav-muted: #978793;--nav-pill: rgba(239, 169, 158, .16);--nav-glow: 0 4px 14px rgba(239, 169, 158, .18);--scrollbar-thumb: #322a38;--scrollbar-thumb-hover: #4a3d49;--aurora-deep: #17121c;--aurora-violet: #3a2340;--aurora-rose: #54303b;--rose-deep: #e08a7e;--rose-glow: 0 10px 26px rgba(239, 169, 158, .3);--fx-ember-core: rgba(246, 192, 182, .85);--fx-ember-halo: rgba(239, 169, 158, .28);--fx-ember-rgb: 246, 192, 182;--login-card-bg: linear-gradient(160deg, rgba(45, 33, 46, .82), rgba(26, 20, 28, .9));--login-card-line: rgba(239, 169, 158, .17);--login-btn-text: #2b1d24;--letter-paper: #f6ede1;--letter-ink: #3a2d33;--glass-blur: blur(18px) saturate(1.1);--glass-blur-lg: blur(20px) saturate(1.2);--glass-sidebar: rgba(32, 27, 34, .72);--ambient-glow: rgba(239, 169, 158, .07);--card-edge: inset 0 1px 0 rgba(245, 234, 229, .05);--card-lift: 0 2px 10px rgba(0, 0, 0, .22);--card-shadow: var(--card-edge), var(--card-lift);--rise-dur: .42s;--rise-step: 45ms;--hero-dur: .6s;--hero-quote-delay: .2s;--fs-display: 30px;--fs-hero: 26px;--fs-title: 25px;--fs-heading: 22px;--fs-section: 19px;--fs-lead: 17px;--fs-body-xl: 16px;--fs-body-lg: 15px;--fs-body: 14px;--fs-label: 13px;--fs-note: 12px;--fs-meta: 11px;--lh-tight: 1.2;--lh-snug: 1.35;--lh-copy: 1.7;--lh-body: 1.8;--lh-loose: 2;--ls-tight: .02em;--ls-wide: .05em;--ls-meta: .1em;--ls-body: .01em;--press-scale: .97;--press-lift: 1px;--press-photo: .99;--photo-in-dur: .32s;--photo-in-scale: 1.02;--photo-edge: inset 0 0 0 1px rgba(245, 234, 229, .07)}::selection{background:#efa99e52}@media(prefers-reduced-motion:reduce){:root{--rise-step: 0ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{width:100%;max-width:var(--app-max-width);margin-inline:auto;transform:translate(0);font-family:var(--font);font-size:var(--fs-body);letter-spacing:var(--ls-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow:hidden}h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;cursor:pointer}button,.pressable{transition:transform var(--t-fast) var(--ease)}button:active,.pressable:active{transform:translateY(var(--press-lift))}input,textarea{font-family:inherit;font-size:inherit;color:var(--text)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--r-sm)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}@media(hover:hover){::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-sm);color:var(--text-2);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}@media(hover:hover){.icon-btn:hover{background:var(--primary-soft);color:var(--primary)}}.icon-btn:active{background:var(--primary-soft);color:var(--primary);transform:scale(var(--press-scale))}.icon-btn.danger:active{background:var(--danger-soft);color:var(--danger)}@media(hover:hover){.icon-btn.danger:hover{background:var(--danger-soft);color:var(--danger)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--hit);padding:8px 14px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--fs-label);transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}@media(hover:hover){.btn:hover{border-color:var(--primary);color:var(--primary)}}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:600}@media(hover:hover){.btn.primary:hover{background:var(--primary-2);border-color:var(--primary-2);color:var(--on-primary);box-shadow:var(--glow)}}.btn.primary:active{box-shadow:none;filter:brightness(1.06)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}@media(hover:hover){.btn.danger:hover{background:#e04848;border-color:#e04848;color:#fff}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skeleton-block{border-radius:var(--home-radius);background:linear-gradient(90deg,var(--home-surface) 25%,var(--home-note) 37%,var(--home-surface) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s var(--ease) infinite}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.swap{display:grid;grid-template-columns:minmax(0,1fr)}.swap>*{grid-area:1 / 1;min-width:0}.swap.fill{flex:1;min-height:0;grid-template-rows:minmax(0,1fr)}.tab-fwd-enter-active,.tab-back-enter-active{transition:opacity .18s var(--ease),transform .18s var(--ease)}.tab-fwd-leave-active,.tab-back-leave-active{transition:opacity .13s var(--ease)}.tab-fwd-enter-from{opacity:0;transform:translate(10px)}.tab-back-enter-from{opacity:0;transform:translate(-10px)}.tab-fwd-leave-to,.tab-back-leave-to{opacity:0}.swap-enter-active{transition:opacity .2s var(--ease)}.swap-leave-active{transition:opacity .18s var(--ease)}.swap-enter-from,.swap-leave-to{opacity:0}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.rise-item{animation:rise-in var(--rise-dur) var(--ease) backwards;animation-delay:calc(var(--i, 0) * var(--rise-step))}.ambient{background-color:var(--home-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23grain)' opacity='0.05'/%3E%3C/svg%3E"),radial-gradient(115% 55% at 50% -8%,var(--ambient-glow),transparent 70%);background-size:160px 160px,100% 100%;background-repeat:repeat,no-repeat;background-position:0 0,50% 0}.rule-soft{border-top:0;background-image:linear-gradient(90deg,transparent,var(--home-line) 18%,var(--home-line) 82%,transparent);background-size:100% 1px;background-repeat:no-repeat;background-position:top}.photo-in{opacity:0;transform:scale(var(--photo-in-scale));transition:opacity var(--photo-in-dur) var(--ease),transform var(--photo-in-dur) var(--ease)}.photo-in.is-on{opacity:1;transform:none}.sidebar[data-v-eb6fcb24]{position:fixed;top:0;left:0;bottom:0;z-index:160;width:min(300px,85vw);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;transform:translate(-100%);transition:transform var(--t-med) var(--ease);box-shadow:var(--shadow-2)}.sidebar.open[data-v-eb6fcb24]{transform:translate(0)}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.sidebar[data-v-eb6fcb24]{background:var(--glass-sidebar);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}}.brand[data-v-eb6fcb24]{display:flex;align-items:center;gap:8px;padding:10px 8px 10px 16px;min-height:56px;border-bottom:1px solid var(--border)}.brand-icon[data-v-eb6fcb24]{color:var(--primary);flex-shrink:0}.brand-name[data-v-eb6fcb24]{font-size:var(--fs-body-lg);font-weight:600;flex:1}.brand-add[data-v-eb6fcb24]{flex-shrink:0;width:var(--hit);height:var(--hit)}.trip-list[data-v-eb6fcb24]{padding:8px;display:flex;flex-direction:column;gap:2px}.empty-hint[data-v-eb6fcb24]{padding:16px 8px;color:var(--text-2);font-size:var(--fs-label);line-height:var(--lh-copy)}.trip-row[data-v-eb6fcb24],.page-row[data-v-eb6fcb24]{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:var(--r-sm);cursor:pointer;position:relative;transition:background var(--t-fast) var(--ease);min-height:var(--hit)}.page-row[data-v-eb6fcb24]{padding-left:34px;min-height:var(--hit)}.trip-row[data-v-eb6fcb24]:active,.page-row[data-v-eb6fcb24]:active{background:#ffffff0d}@media(hover:hover){.trip-row[data-v-eb6fcb24]:hover,.page-row[data-v-eb6fcb24]:hover{background:#ffffff0d}}.trip-row.active .row-title[data-v-eb6fcb24]{font-weight:650;color:var(--text)}.row-chevron[data-v-eb6fcb24]{color:var(--text-2);flex-shrink:0;transition:transform var(--t-fast) var(--ease)}.trip-row .row-icon[data-v-eb6fcb24]{color:var(--text-2)}.trip-row.active .row-icon[data-v-eb6fcb24]{color:var(--primary)}.page-row.active[data-v-eb6fcb24]{background:var(--primary-soft)}.page-row.active[data-v-eb6fcb24]:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:2px;background:var(--primary)}.page-row.active .row-title[data-v-eb6fcb24]{color:var(--primary);font-weight:600}.row-icon[data-v-eb6fcb24]{color:var(--primary);flex-shrink:0}.row-icon.sub[data-v-eb6fcb24]{color:var(--text-2)}.row-title[data-v-eb6fcb24]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-label)}.page-row .row-title[data-v-eb6fcb24]{font-size:var(--fs-label)}.row-date[data-v-eb6fcb24]{font-size:var(--fs-meta);color:var(--text-2);flex-shrink:0}.row-actions[data-v-eb6fcb24]{display:inline-flex;align-items:center;gap:0;flex-shrink:0}.icon-btn.sm[data-v-eb6fcb24]{width:40px;height:40px}.rename-input[data-v-eb6fcb24]{width:100%;padding:4px 6px;border:1px solid var(--primary);border-radius:var(--r-sm);font-size:var(--fs-label);background:var(--surface)}.rename-input[data-v-eb6fcb24]:focus{outline:none}.inline-form[data-v-eb6fcb24]{margin:8px;padding:10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);display:flex;flex-direction:column;gap:8px}.inline-form input[data-v-eb6fcb24]{padding:9px 10px;min-height:var(--hit);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-body);background:var(--surface)}.inline-form input[data-v-eb6fcb24]:focus{outline:none;border-color:var(--primary)}.inline-form-actions[data-v-eb6fcb24]{display:flex;gap:8px;justify-content:flex-end}.page-form[data-v-eb6fcb24]{margin:4px 8px 8px 22px}.mode-seg[data-v-eb6fcb24]{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:2px}.mode-seg button[data-v-eb6fcb24]{flex:1;min-height:40px;font-size:var(--fs-label);border-radius:4px;color:var(--text-2);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.mode-seg button.on[data-v-eb6fcb24]{background:var(--surface-2);color:var(--primary);font-weight:500}.topbar[data-v-38ea1272]{height:52px;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 8px;background:var(--surface);border-bottom:1px solid var(--border)}.menu-btn[data-v-38ea1272]{width:var(--hit);height:var(--hit);flex-shrink:0;color:var(--text)}.topbar>.actions .icon-btn[data-v-38ea1272]{width:var(--hit);height:var(--hit)}.title-area[data-v-38ea1272]{flex:1;display:flex;align-items:baseline;gap:8px;min-width:0}.breadcrumb[data-v-38ea1272]{font-size:var(--fs-body-lg);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb.muted[data-v-38ea1272]{color:var(--text-2);font-weight:400}.page-date[data-v-38ea1272]{font-size:var(--fs-note);color:var(--accent);background:var(--accent-soft);padding:2px 8px;border-radius:10px;flex-shrink:0}.save-status[data-v-38ea1272]{flex-shrink:0;display:flex;justify-content:flex-end}.status[data-v-38ea1272]{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-label);color:var(--text-2)}.status .dot[data-v-38ea1272]{width:7px;height:7px;border-radius:50%}.status.dirty .dot[data-v-38ea1272]{background:var(--accent)}.status.dirty[data-v-38ea1272]{color:var(--accent)}.status.saved .dot[data-v-38ea1272]{background:var(--primary)}.status.error .dot[data-v-38ea1272]{background:var(--danger)}.status.error[data-v-38ea1272]{color:var(--danger)}.retry-btn[data-v-38ea1272]{font-size:var(--fs-note);color:var(--danger);text-decoration:underline;padding:12px 4px}.actions[data-v-38ea1272]{display:flex;align-items:center;gap:6px;flex-shrink:0}.mode-btn[data-v-38ea1272]{display:inline-flex;align-items:center;gap:5px;min-height:40px;padding:4px 10px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg);color:var(--text-2);font-size:var(--fs-label);flex-shrink:0;transition:color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}@media(hover:hover){.mode-btn[data-v-38ea1272]:hover{color:var(--primary);border-color:var(--primary)}}.mode-label[data-v-38ea1272]{white-space:nowrap}@media(max-width:400px){.mode-label[data-v-38ea1272]{display:none}}.segmented[data-v-38ea1272]{display:flex;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);padding:2px}.segmented button[data-v-38ea1272]{display:inline-flex;align-items:center;gap:5px;min-height:40px;padding:4px 10px;font-size:var(--fs-label);border-radius:4px;color:var(--text-2);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.segmented button.on[data-v-38ea1272]{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-1);font-weight:500}.fade-enter-active[data-v-38ea1272],.fade-leave-active[data-v-38ea1272]{transition:opacity var(--t-fast) var(--ease)}.fade-enter-from[data-v-38ea1272],.fade-leave-to[data-v-38ea1272]{opacity:0}.gallery[data-v-3b081156]{flex-shrink:0;display:flex;flex-direction:column;background:var(--bg);border-bottom:1px solid var(--border);overflow:hidden;position:relative}.gallery[data-v-3b081156]:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.g-inner[data-v-3b081156]{width:100%;max-width:1000px;margin:0 auto;padding:0 12px}.collapsed-bar[data-v-3b081156]{display:flex;align-items:center;justify-content:space-between;height:44px}.collapsed-label[data-v-3b081156]{font-size:var(--fs-label);color:var(--text-2)}.empty-zone[data-v-3b081156]{flex:1;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;position:relative;border:1px dashed transparent;border-radius:var(--r-md);margin:8px 12px;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}@media(hover:hover){.empty-zone[data-v-3b081156]:hover{background:var(--primary-soft)}}.empty-zone[data-v-3b081156]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.empty-icon[data-v-3b081156]{color:var(--text-2)}.empty-title[data-v-3b081156]{font-size:var(--fs-label);color:var(--text)}.empty-hint[data-v-3b081156]{font-size:var(--fs-note);color:var(--text-2);margin-top:2px}.gallery.drag-over .empty-zone[data-v-3b081156]{border-color:var(--primary);background:var(--primary-soft)}.drop-hint.compact[data-v-3b081156]{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px dashed var(--primary);border-radius:var(--r-md);background:var(--primary-soft);display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:var(--fs-label);pointer-events:none}.g-toolbar[data-v-3b081156]{height:48px;flex-shrink:0;display:flex;align-items:center;gap:6px}.g-toolbar .icon-btn[data-v-3b081156]{width:var(--hit);height:var(--hit)}.g-toolbar .icon-btn[data-v-3b081156]:disabled{opacity:.35}.g-title[data-v-3b081156]{font-size:var(--fs-label);font-weight:600;white-space:nowrap}.g-counter[data-v-3b081156]{font-size:var(--fs-note);color:var(--text-2);background:var(--surface);border:1px solid var(--border);padding:1px 8px;border-radius:10px;white-space:nowrap;flex-shrink:0}.g-spacer[data-v-3b081156]{flex:1}.g-body[data-v-3b081156]{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;padding-bottom:12px}.g-stage-row[data-v-3b081156]{flex:none;height:clamp(220px,36vh,340px);width:100%}.g-stage-wrap[data-v-3b081156]{width:100%;height:100%;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;position:relative;touch-action:pan-y}.nav-btn[data-v-3b081156]{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:var(--hit);height:var(--hit);border-radius:50%;border:1px solid var(--border);background:#141a2299;color:#ffffffd9;display:flex;align-items:center;justify-content:center;transition:color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}@media(hover:hover){.nav-btn[data-v-3b081156]:hover:not(:disabled){color:var(--primary);background:#141a22d9}}.nav-btn[data-v-3b081156]:active:not(:disabled){transform:translateY(calc(-50% + var(--press-lift)))}.nav-btn[data-v-3b081156]:disabled{opacity:.35;cursor:default}.nav-btn[data-v-3b081156]:first-child{left:8px}.nav-btn[data-v-3b081156]:last-of-type{right:8px}.g-stage[data-v-3b081156]{flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%}.main-img[data-v-3b081156]{width:100%;height:100%;object-fit:contain;cursor:zoom-in;display:block}.img-enter-active[data-v-3b081156]{transition:opacity .18s var(--ease)}.img-leave-active[data-v-3b081156]{transition:opacity 90ms var(--ease)}.img-enter-from[data-v-3b081156],.img-leave-to[data-v-3b081156]{opacity:0}.stage-broken[data-v-3b081156]{flex-direction:column;gap:8px;color:var(--text-2);font-size:var(--fs-label);padding:16px;min-width:200px;min-height:120px}.broken-name[data-v-3b081156]{font-size:var(--fs-note);opacity:.7}.drop-hint[data-v-3b081156]{position:absolute;top:0;right:0;bottom:0;left:0;border:2px dashed var(--primary);border-radius:var(--r-md);background:var(--primary-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--primary);font-size:var(--fs-label);pointer-events:none;z-index:2}.g-info[data-v-3b081156]{flex-shrink:0;width:100%;display:flex;flex-direction:column;gap:8px;min-height:0}.g-caption[data-v-3b081156]{display:flex;align-items:flex-start;gap:6px;min-height:22px;font-size:var(--fs-label);color:var(--text-2)}.caption-text[data-v-3b081156]{flex:0 1 auto;min-width:0;line-height:var(--lh-copy);overflow-wrap:anywhere;margin:0}.caption-text.clamped[data-v-3b081156]{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.caption-controls[data-v-3b081156]{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.caption-more[data-v-3b081156]{font-size:var(--fs-note);color:var(--primary);padding:6px 8px;border-radius:4px}@media(hover:hover){.caption-more[data-v-3b081156]:hover{background:var(--primary-soft)}}.caption-edit[data-v-3b081156]{width:36px;height:36px}.caption-add[data-v-3b081156]{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-label);color:var(--text-2);padding:8px 12px;border:1px dashed var(--border);border-radius:var(--r-sm);transition:color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}@media(hover:hover){.caption-add[data-v-3b081156]:hover{color:var(--primary);border-color:var(--primary)}}.caption-input[data-v-3b081156]{flex:1;width:100%;padding:6px 8px;border:1px solid var(--primary);border-radius:var(--r-sm);background:var(--surface);font-size:var(--fs-label);line-height:var(--lh-copy);resize:vertical;min-height:52px;color:var(--text)}.caption-input[data-v-3b081156]:focus{outline:none}.caption-actions[data-v-3b081156]{display:flex;align-items:center;gap:6px;flex-shrink:0}.caption-status[data-v-3b081156]{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-meta);color:var(--text-2);transition:opacity var(--t-fast) var(--ease)}.caption-status.saved[data-v-3b081156]{color:var(--primary)}.caption-status.error[data-v-3b081156]{color:var(--danger)}.btn.mini[data-v-3b081156]{min-height:36px;padding:4px 12px;font-size:var(--fs-note)}.g-thumbs[data-v-3b081156]{flex-shrink:0;overflow-x:auto;overflow-y:hidden}.thumbs-inner[data-v-3b081156]{display:flex;gap:6px;height:64px;width:max-content;min-width:100%}.thumb[data-v-3b081156]{position:relative;width:72px;height:56px;flex-shrink:0;border-radius:var(--r-sm);overflow:hidden;cursor:pointer;border:2px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:center;transition:border-color var(--t-fast) var(--ease),filter var(--t-fast) var(--ease);filter:brightness(.8)}.thumb img[data-v-3b081156]{max-width:100%;max-height:100%;object-fit:contain;display:block}.thumb[data-v-3b081156]:active{filter:brightness(1)}@media(hover:hover){.thumb[data-v-3b081156]:hover{filter:brightness(1)}}.thumb.on[data-v-3b081156]{border-color:var(--primary);filter:brightness(1)}.thumb.broken[data-v-3b081156]{color:var(--text-2)}.thumb-remove[data-v-3b081156]{position:absolute;top:0;right:0;width:28px;height:28px;border-radius:0 0 0 8px;background:#0000008c;color:#fff;display:flex;align-items:center;justify-content:center}@media(hover:hover){.thumb-remove[data-v-3b081156]:hover{background:var(--danger)}}.thumb.uploading[data-v-3b081156]{border-style:dashed;cursor:default;flex-direction:column;gap:4px;filter:none}.upload-progress[data-v-3b081156]{width:70%;height:4px;border-radius:2px;background:var(--border);overflow:hidden}.upload-progress .bar[data-v-3b081156]{height:100%;background:var(--primary);transition:width var(--t-fast) linear}.upload-pct[data-v-3b081156]{font-size:var(--fs-meta);color:var(--text-2)}.upload-fail[data-v-3b081156]{font-size:var(--fs-meta);color:var(--danger)}.upload-fail-actions[data-v-3b081156]{display:flex;gap:4px}.mini-btn[data-v-3b081156]{width:26px;height:26px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--text-2);background:var(--surface);border:1px solid var(--border)}@media(hover:hover){.mini-btn[data-v-3b081156]:hover{color:var(--primary);border-color:var(--primary)}}.thumb-enter-active[data-v-3b081156],.thumb-leave-active[data-v-3b081156]{transition:opacity var(--t-med) var(--ease),transform var(--t-med) var(--ease)}.thumb-enter-from[data-v-3b081156],.thumb-leave-to[data-v-3b081156]{opacity:0;transform:scale(.85)}.lightbox[data-v-88414936]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:170;background:var(--gallery-stage-scrim);display:flex;align-items:center;justify-content:center}.viewport[data-v-88414936]{position:absolute;top:0;right:0;bottom:60px;left:0;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:grab;touch-action:none}.viewport.dragging[data-v-88414936]{cursor:grabbing}.lb-media[data-v-88414936]{position:relative;width:fit-content;max-width:88%;-webkit-user-select:none;user-select:none;transition:transform 80ms linear;box-shadow:0 8px 40px #00000080;border-radius:var(--r-sm);overflow:hidden}.lb-low[data-v-88414936]{display:block;max-width:88vw;max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);width:auto;height:auto}.lb-high[data-v-88414936]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .25s var(--ease)}.lb-high.on[data-v-88414936]{opacity:1}.lb-toolbar[data-v-88414936]{position:absolute;top:14px;right:16px;display:flex;gap:6px;background:var(--gallery-chrome);padding:4px;border-radius:var(--r-md);border:1px solid var(--border)}.lb-nav[data-v-88414936]{position:absolute;top:calc(50% - 30px);transform:translateY(-50%);width:var(--hit);height:var(--hit);border-radius:50%;background:var(--gallery-chrome);border:1px solid var(--border);color:#fff;display:flex;align-items:center;justify-content:center;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.lb-nav[data-v-88414936]:active{transform:translateY(calc(-50% + var(--press-lift)))}@media(hover:hover){.lb-nav[data-v-88414936]:hover{background:var(--gallery-chrome-strong);color:var(--primary)}}.lb-nav.prev[data-v-88414936]{left:16px}.lb-nav.next[data-v-88414936]{right:16px}.lb-captionbar[data-v-88414936]{position:absolute;left:0;right:0;bottom:0;height:60px;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 24px;background:var(--gallery-bar);border-top:1px solid var(--border)}.lb-counter[data-v-88414936]{color:var(--text-2);font-size:var(--fs-label);flex-shrink:0}.lb-caption[data-v-88414936]{color:var(--text);font-size:var(--fs-label);max-width:calc(min(100vw,var(--app-max-width))*.7);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-caption[data-v-88414936]:first-child:last-child{color:var(--text-2)}.icon-btn.light[data-v-88414936]{color:#ffffffd9;width:var(--hit);height:var(--hit)}@media(hover:hover){.icon-btn.light[data-v-88414936]:hover{background:#ffffff26;color:var(--primary)}}.lb-enter-active[data-v-88414936],.lb-leave-active[data-v-88414936]{transition:opacity .2s var(--ease)}.lb-enter-from[data-v-88414936],.lb-leave-to[data-v-88414936]{opacity:0}.lightbox.closing[data-v-88414936]{opacity:0;transition:opacity .22s var(--ease)}.lb-fly[data-v-88414936]{position:fixed;z-index:175;overflow:hidden;pointer-events:none;visibility:hidden;will-change:transform;background:var(--gallery-stage)}.lb-fly img[data-v-88414936]{width:100%;height:100%;object-fit:cover;display:block}.lb-img-enter-active[data-v-88414936]{transition:opacity .18s var(--ease)}.lb-img-leave-active[data-v-88414936]{transition:opacity .1s var(--ease)}.lb-img-enter-from[data-v-88414936],.lb-img-leave-to[data-v-88414936]{opacity:0}.overlay[data-v-71b059a4]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;display:flex;align-items:center;justify-content:center}.dialog[data-v-71b059a4]{width:400px;max-width:calc(min(100vw,var(--app-max-width)) - 48px);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:20px}.dialog-title[data-v-71b059a4]{font-size:var(--fs-body-lg);font-weight:600;margin-bottom:10px}.dialog-message[data-v-71b059a4]{font-size:var(--fs-label);color:var(--text-2);line-height:var(--lh-copy);margin-bottom:18px}.dialog-actions[data-v-71b059a4]{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.dialog-enter-active[data-v-71b059a4],.dialog-leave-active[data-v-71b059a4]{transition:opacity .2s var(--ease)}.dialog-enter-from[data-v-71b059a4],.dialog-leave-to[data-v-71b059a4]{opacity:0}.dialog-enter-active .dialog[data-v-71b059a4]{transition:transform .2s var(--ease)}.dialog-enter-from .dialog[data-v-71b059a4]{transform:scale(.96)}.toasts[data-v-fbca1bc1]{position:fixed;top:12px;left:16px;right:16px;z-index:300;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast[data-v-fbca1bc1]{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:var(--fs-label);padding:9px 16px;border-radius:var(--r-md);box-shadow:var(--shadow-2);max-width:100%}.toast.success svg[data-v-fbca1bc1]{color:var(--primary)}.toast.error[data-v-fbca1bc1]{background:var(--danger)}.toast-enter-active[data-v-fbca1bc1],.toast-leave-active[data-v-fbca1bc1]{transition:opacity .2s var(--ease),transform .2s var(--ease)}.toast-enter-from[data-v-fbca1bc1],.toast-leave-to[data-v-fbca1bc1]{opacity:0;transform:translateY(-12px)}.login-wrap[data-v-3e031aaf]{position:relative;height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--home-md);padding:24px;overflow:hidden;background:var(--aurora-deep);color:var(--home-text)}.aurora[data-v-3e031aaf]{position:absolute;top:-22%;right:-22%;bottom:-22%;left:-22%;filter:blur(64px);pointer-events:none}.aurora span[data-v-3e031aaf]{position:absolute;border-radius:50%;opacity:.55;will-change:transform}.aurora .a[data-v-3e031aaf]{width:120%;height:44%;top:-6%;left:-24%;background:radial-gradient(closest-side,var(--aurora-violet),transparent 72%);animation:drift-a-3e031aaf 26s ease-in-out infinite alternate}.aurora .b[data-v-3e031aaf]{width:130%;height:52%;bottom:-10%;right:-30%;background:radial-gradient(closest-side,var(--aurora-rose),transparent 70%);animation:drift-b-3e031aaf 32s ease-in-out infinite alternate}.aurora .c[data-v-3e031aaf]{width:84%;height:34%;top:40%;left:16%;background:radial-gradient(closest-side,var(--home-note),transparent 70%);animation:drift-c-3e031aaf 38s ease-in-out infinite alternate}@keyframes drift-a-3e031aaf{to{transform:translate(7%,9%) scale(1.14)}}@keyframes drift-b-3e031aaf{to{transform:translate(-8%,-7%) scale(1.1)}}@keyframes drift-c-3e031aaf{to{transform:translate(-6%,8%) scale(1.18)}}.fireflies[data-v-3e031aaf]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.login-card[data-v-3e031aaf]{position:relative;width:100%;max-width:340px;background:var(--login-card-bg);border:1px solid var(--login-card-line);border-radius:26px;box-shadow:0 24px 70px #00000080,inset 0 1px #f5eae50f;-webkit-backdrop-filter:var(--glass-blur-lg);backdrop-filter:var(--glass-blur-lg);padding:32px 26px 26px;display:flex;flex-direction:column;gap:14px;animation:card-in-3e031aaf .72s var(--ease-spring) both}@keyframes card-in-3e031aaf{0%{opacity:0;transform:translateY(28px) scale(.95)}to{opacity:1;transform:none}}.brand[data-v-3e031aaf]{text-align:center;margin-bottom:6px}.brand-badge[data-v-3e031aaf]{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:20px;background:linear-gradient(140deg,var(--primary-2),var(--rose-deep) 80%);color:var(--login-btn-text);box-shadow:var(--rose-glow)}.brand-title[data-v-3e031aaf]{font-family:var(--font-display);font-size:var(--fs-heading);font-weight:400;letter-spacing:var(--ls-meta);margin-top:12px}.brand-sub[data-v-3e031aaf]{font-size:var(--fs-label);color:var(--home-muted);letter-spacing:var(--ls-wide);margin-top:5px}.paused-hint[data-v-3e031aaf]{font-size:var(--fs-label);color:var(--accent);background:var(--accent-soft);border-radius:var(--r-md);padding:8px 12px;text-align:center;line-height:var(--lh-copy)}.field-label[data-v-3e031aaf]{display:block;font-size:var(--fs-label);color:var(--home-muted);margin-bottom:6px;letter-spacing:var(--ls-wide)}.field input[data-v-3e031aaf]{width:100%;height:46px;padding:0 14px;font-size:var(--fs-body-lg);color:var(--home-text);background:#1411168c;border:1px solid var(--border);border-radius:13px;outline:none;transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.field input[data-v-3e031aaf]::placeholder{color:var(--nav-muted)}.field input[data-v-3e031aaf]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.submit-btn[data-v-3e031aaf]{height:48px;margin-top:4px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:14px;background:linear-gradient(135deg,var(--primary-2) 0%,var(--primary) 55%,var(--rose-deep) 100%);color:var(--login-btn-text);font-size:var(--fs-body-lg);font-weight:600;letter-spacing:var(--ls-wide);box-shadow:var(--rose-glow);transition:filter var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}@media(hover:hover){.submit-btn[data-v-3e031aaf]:hover:not(:disabled){filter:brightness(1.06)}}.submit-btn[data-v-3e031aaf]:active:not(:disabled){transform:translateY(var(--press-lift)) scale(.985);filter:brightness(1.06)}.submit-btn[data-v-3e031aaf]:disabled{opacity:.5;cursor:default}.footnote[data-v-3e031aaf]{position:relative;display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-meta);letter-spacing:var(--ls-meta);color:var(--home-muted)}.footnote svg[data-v-3e031aaf]{color:var(--home-rose)}.overlay[data-v-d58d73fe]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:180;background:var(--scrim);display:flex;align-items:flex-end;justify-content:center}.panel[data-v-d58d73fe]{width:100%;max-width:420px;max-height:88dvh;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg) var(--r-lg) 0 0;padding:18px 18px 24px;display:flex;flex-direction:column;gap:18px}.panel-head[data-v-d58d73fe]{display:flex;align-items:center;justify-content:space-between}.panel-title[data-v-d58d73fe]{font-size:var(--fs-body-xl);font-weight:600}.icon-btn[data-v-d58d73fe]{width:var(--hit);height:var(--hit);display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--r-md);color:var(--text-2);cursor:pointer}@media(hover:hover){.icon-btn[data-v-d58d73fe]:hover{color:var(--text);background:var(--surface-2)}}.section[data-v-d58d73fe]{display:flex;flex-direction:column;gap:10px}.section-title[data-v-d58d73fe]{display:flex;align-items:center;gap:6px;font-size:var(--fs-label);font-weight:600;color:var(--text-2)}.user-row[data-v-d58d73fe]{display:flex;align-items:baseline;gap:8px}.user-name[data-v-d58d73fe]{font-size:var(--fs-lead);font-weight:600}.user-sub[data-v-d58d73fe]{font-size:var(--fs-label);color:var(--text-2)}.device-list[data-v-d58d73fe]{list-style:none;display:flex;flex-direction:column;gap:8px}.device[data-v-d58d73fe]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px}.device-name[data-v-d58d73fe]{display:flex;align-items:center;gap:6px;font-size:var(--fs-body)}.device-meta[data-v-d58d73fe]{display:block;font-size:var(--fs-note);color:var(--text-2);margin-top:3px}.tag[data-v-d58d73fe]{font-size:var(--fs-meta);padding:1px 7px;border-radius:999px}.tag.current[data-v-d58d73fe]{background:var(--primary-soft);color:var(--primary)}.tag.trusted[data-v-d58d73fe]{display:inline-flex;align-items:center;gap:3px;background:var(--accent-soft);color:var(--accent)}.pw-input[data-v-d58d73fe]{height:var(--hit);padding:0 12px;font-size:var(--fs-body-lg);color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);outline:none}.pw-input[data-v-d58d73fe]:focus{border-color:var(--primary)}.hint[data-v-d58d73fe]{font-size:var(--fs-note);color:var(--text-2)}.btn[data-v-d58d73fe]{min-height:var(--hit);display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border-radius:var(--r-md);font-size:var(--fs-body);cursor:pointer;border:1px solid var(--border);background:var(--surface-2);color:var(--text);transition:border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}@media(hover:hover){.btn.ghost[data-v-d58d73fe]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}}.btn[data-v-d58d73fe]:disabled{opacity:.5;cursor:default}.btn.danger[data-v-d58d73fe]{background:var(--danger-soft);border-color:transparent;color:var(--danger)}.panel-enter-active[data-v-d58d73fe],.panel-leave-active[data-v-d58d73fe]{transition:opacity var(--t-med) var(--ease)}.panel-enter-active .panel[data-v-d58d73fe]{transition:transform var(--t-med) var(--ease)}.panel-enter-from[data-v-d58d73fe],.panel-leave-to[data-v-d58d73fe]{opacity:0}.panel-enter-from .panel[data-v-d58d73fe]{transform:translateY(12px)}@media(prefers-reduced-motion:reduce){.panel-enter-active[data-v-d58d73fe],.panel-leave-active[data-v-d58d73fe],.panel-enter-active .panel[data-v-d58d73fe],.btn[data-v-d58d73fe],.icon-btn[data-v-d58d73fe]{transition:none}}.overlay[data-v-2fb6485d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:180;background:var(--scrim);display:flex;align-items:flex-end;justify-content:center}.panel[data-v-2fb6485d]{width:100%;max-width:420px;max-height:88dvh;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg) var(--r-lg) 0 0;padding:18px 18px 24px;display:flex;flex-direction:column;gap:14px}.panel-head[data-v-2fb6485d]{display:flex;align-items:center;justify-content:space-between}.panel-title[data-v-2fb6485d]{display:flex;align-items:center;gap:6px;font-size:var(--fs-body-xl);font-weight:600}.icon-btn[data-v-2fb6485d]{width:var(--hit);height:var(--hit);display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--r-md);color:var(--text-2);cursor:pointer}@media(hover:hover){.icon-btn[data-v-2fb6485d]:hover{color:var(--text);background:var(--surface-2)}}.hint[data-v-2fb6485d]{font-size:var(--fs-note);color:var(--text-2);line-height:var(--lh-copy)}.empty[data-v-2fb6485d]{font-size:var(--fs-label);color:var(--text-2);padding:8px 2px}.group[data-v-2fb6485d]{display:flex;flex-direction:column;gap:8px}.group-title[data-v-2fb6485d]{font-size:var(--fs-label);font-weight:600;color:var(--text-2);padding:0 2px}.item-list[data-v-2fb6485d]{list-style:none;display:flex;flex-direction:column;gap:8px}.item[data-v-2fb6485d]{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px}.item-main[data-v-2fb6485d]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.item-title[data-v-2fb6485d]{font-size:var(--fs-body);overflow-wrap:anywhere}.item-meta[data-v-2fb6485d]{font-size:var(--fs-note);color:var(--text-2)}.item-note[data-v-2fb6485d]{flex-shrink:0;font-size:var(--fs-meta);color:var(--text-2);opacity:.8}.btn[data-v-2fb6485d]{min-height:var(--hit);display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border-radius:var(--r-md);font-size:var(--fs-body);cursor:pointer;border:1px solid var(--border);background:var(--surface-2);color:var(--text);flex-shrink:0;transition:border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.btn.ghost[data-v-2fb6485d]{color:var(--primary)}@media(hover:hover){.btn.ghost[data-v-2fb6485d]:hover:not(:disabled){border-color:var(--primary)}}.btn[data-v-2fb6485d]:disabled{opacity:.5;cursor:default}.spinner[data-v-2fb6485d]{animation:spin-2fb6485d .9s linear infinite}@keyframes spin-2fb6485d{to{transform:rotate(360deg)}}.panel-enter-active[data-v-2fb6485d],.panel-leave-active[data-v-2fb6485d]{transition:opacity var(--t-med) var(--ease)}.panel-enter-active .panel[data-v-2fb6485d]{transition:transform var(--t-med) var(--ease)}.panel-enter-from[data-v-2fb6485d],.panel-leave-to[data-v-2fb6485d]{opacity:0}.panel-enter-from .panel[data-v-2fb6485d]{transform:translateY(12px)}@media(prefers-reduced-motion:reduce){.panel-enter-active[data-v-2fb6485d],.panel-leave-active[data-v-2fb6485d],.panel-enter-active .panel[data-v-2fb6485d],.btn[data-v-2fb6485d],.icon-btn[data-v-2fb6485d],.spinner[data-v-2fb6485d]{transition:none;animation:none}}.bottom-nav[data-v-df7fa9e3]{position:fixed;left:0;right:0;bottom:0;z-index:140;height:var(--nav-h);display:flex;background:var(--nav-bg);border-top:1px solid var(--nav-line);box-shadow:var(--nav-shadow);padding-bottom:env(safe-area-inset-bottom,0)}.nav-pill[data-v-df7fa9e3]{position:absolute;top:0;left:0;width:25%;height:100%;display:flex;justify-content:center;pointer-events:none}.pill-block[data-v-df7fa9e3]{position:relative;margin-top:7px;width:56px;height:32px;border-radius:999px;background:var(--nav-pill)}.pill-block[data-v-df7fa9e3]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:var(--nav-glow)}.tab[data-v-df7fa9e3]{position:relative;z-index:1;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;padding-top:7px;gap:2px;min-height:var(--hit);color:var(--nav-muted);transition:color var(--t-fast) var(--ease)}.tab.on[data-v-df7fa9e3]{color:var(--home-rose)}.tab-iconbox[data-v-df7fa9e3]{height:32px;display:flex;align-items:center;justify-content:center}.tab-icon[data-v-df7fa9e3]{transition:transform var(--t-fast) var(--ease)}.tab.on .tab-icon[data-v-df7fa9e3]{transform:translateY(-2px)}.tab[data-v-df7fa9e3]:active{transform:none}.tab:active .tab-icon[data-v-df7fa9e3]{transform:scale(.92)}.tab.on:active .tab-icon[data-v-df7fa9e3]{transform:translateY(-2px) scale(.92)}.tab-label[data-v-df7fa9e3]{font-size:var(--fs-meta);line-height:var(--lh-tight)}.tab.on .tab-label[data-v-df7fa9e3]{font-weight:500}.tab[data-v-df7fa9e3]:focus-visible{outline:2px solid var(--home-rose);outline-offset:-2px;border-radius:var(--r-sm)}@media(prefers-reduced-motion:reduce){.tab[data-v-df7fa9e3],.tab-icon[data-v-df7fa9e3]{transition:none}.tab.on .tab-icon[data-v-df7fa9e3],.tab:active .tab-icon[data-v-df7fa9e3],.tab.on:active .tab-icon[data-v-df7fa9e3]{transform:none}}.ceremony[data-v-ad9fa2c0]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:185;background:#0a070ce6;display:flex;align-items:center;justify-content:center;padding:var(--home-md);max-width:var(--app-max-width);margin-inline:auto}.ceremony-enter-active[data-v-ad9fa2c0],.ceremony-leave-active[data-v-ad9fa2c0]{transition:opacity .26s var(--ease)}.ceremony-enter-from[data-v-ad9fa2c0],.ceremony-leave-to[data-v-ad9fa2c0]{opacity:0}.close-btn[data-v-ad9fa2c0]{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:var(--hit);height:var(--hit);border-radius:50%;color:#f5eae5bf}@media(hover:hover){.close-btn[data-v-ad9fa2c0]:hover{color:var(--home-text)}}.phase-hint[data-v-ad9fa2c0]{color:var(--home-muted);font-size:var(--fs-body)}.sealed-stage[data-v-ad9fa2c0],.opening-stage[data-v-ad9fa2c0]{display:flex;flex-direction:column;align-items:center;gap:var(--home-md)}.envelope[data-v-ad9fa2c0]{position:relative;width:240px;height:160px;border:none;background:none;padding:0;perspective:600px;cursor:pointer}.env-back[data-v-ad9fa2c0]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;background:linear-gradient(160deg,#3a2c35,#241b23);box-shadow:0 18px 44px #00000080}.env-paper[data-v-ad9fa2c0]{position:absolute;left:10px;right:10px;top:10px;height:calc(100% - 20px);border-radius:6px;background:var(--letter-paper)}.env-pocket[data-v-ad9fa2c0]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;background:linear-gradient(200deg,#46323d,#2b2029);clip-path:polygon(0 32%,50% 68%,100% 32%,100% 100%,0 100%)}.env-flap[data-v-ad9fa2c0]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px 10px 0 0;background:linear-gradient(180deg,#553d47,#3a2c35);clip-path:polygon(0 0,100% 0,50% 62%);transform-origin:top center;transition:transform .55s var(--ease);z-index:2}.seal[data-v-ad9fa2c0]{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(140deg,var(--primary-2),var(--rose-deep));color:var(--login-btn-text);box-shadow:var(--rose-glow);z-index:3;transition:opacity .3s var(--ease),transform .3s var(--ease)}@media(hover:hover){.sealed-stage .envelope:hover .env-flap[data-v-ad9fa2c0]{transform:rotateX(14deg)}}.sealed-title[data-v-ad9fa2c0]{font-family:var(--font-display);font-size:var(--fs-section);letter-spacing:var(--ls-meta);color:var(--home-text)}.sealed-hint[data-v-ad9fa2c0]{font-size:var(--fs-label);color:var(--home-muted);letter-spacing:var(--ls-meta)}.skip-link[data-v-ad9fa2c0]{min-height:var(--hit);padding:0 var(--home-md);font-size:var(--fs-label);color:var(--home-muted);text-decoration:underline;text-underline-offset:4px}.envelope.opening[data-v-ad9fa2c0]{cursor:default}.env-flap.open[data-v-ad9fa2c0]{transform:rotateX(168deg);z-index:1}.env-pocket.dim[data-v-ad9fa2c0]{opacity:.92}.seal.gone[data-v-ad9fa2c0]{opacity:0;transform:translate(-50%,-50%) scale(.6)}.env-paper.rise[data-v-ad9fa2c0]{animation:paper-rise-ad9fa2c0 .8s var(--ease-spring) .18s both}@keyframes paper-rise-ad9fa2c0{0%{transform:translateY(0) scale(1)}55%{transform:translateY(-84px) scale(1.04)}to{transform:translateY(-60px) scale(1.02)}}.reading-stage[data-v-ad9fa2c0]{width:100%;display:flex;justify-content:center;animation:paper-in-ad9fa2c0 .45s var(--ease-spring) both}@keyframes paper-in-ad9fa2c0{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}.letter-paper[data-v-ad9fa2c0]{position:relative;width:100%;max-width:380px;max-height:76vh;max-height:76dvh;overflow-y:auto;background:linear-gradient(180deg,#ffffff80,#fff0 120px),var(--letter-paper);border-radius:14px;box-shadow:0 30px 80px #0000008c;padding:26px 22px 20px;display:flex;flex-direction:column;gap:var(--home-md)}.stamp[data-v-ad9fa2c0]{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:30px;height:34px;border-radius:4px;border:1.5px dashed rgba(58,45,51,.35);color:var(--rose-deep);transform:rotate(6deg)}.paper-body[data-v-ad9fa2c0]{font-family:var(--font-display);font-size:var(--fs-body-xl);line-height:var(--lh-loose);color:var(--letter-ink);white-space:pre-wrap;overflow-wrap:anywhere;padding-right:30px}.paper-sign[data-v-ad9fa2c0]{font-family:var(--font-display);font-size:var(--fs-body-lg);color:var(--letter-ink);text-align:right;opacity:.9}.paper-date[data-v-ad9fa2c0]{font-size:var(--fs-meta);color:#3a2d338c;text-align:right;font-variant-numeric:tabular-nums}.keep-btn[data-v-ad9fa2c0]{align-self:center;display:inline-flex;align-items:center;min-height:var(--hit);padding:0 var(--home-lg);border-radius:999px;background:#3a2d3314;color:var(--letter-ink);font-size:var(--fs-label);font-weight:500}@media(hover:hover){.keep-btn[data-v-ad9fa2c0]:hover{background:#3a2d3324}}.route-status[data-v-b25ec647]{flex:1;padding:var(--home-lg);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--home-md);background:var(--home-bg);color:var(--home-text);text-align:center}.route-status h1[data-v-b25ec647]{font-size:var(--fs-heading)}.route-status p[data-v-b25ec647]{color:var(--home-muted);line-height:var(--lh-body)}.route-status .btn[data-v-b25ec647]{color:var(--home-rose);background:var(--home-note);border-color:var(--home-line)}.app[data-v-b25ec647]{height:100vh;height:100dvh;overflow:hidden}.scrim[data-v-b25ec647]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:var(--scrim)}.scrim-enter-active[data-v-b25ec647],.scrim-leave-active[data-v-b25ec647]{transition:opacity var(--t-med) var(--ease)}.scrim-enter-from[data-v-b25ec647],.scrim-leave-to[data-v-b25ec647]{opacity:0}.main[data-v-b25ec647]{height:100%;display:flex;flex-direction:column;overflow:hidden;padding-bottom:var(--nav-h)}.empty-main[data-v-b25ec647]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-2);font-size:var(--fs-body)}.empty-icon[data-v-b25ec647]{color:var(--primary);opacity:.5}.page-enter-active[data-v-b25ec647]{transition:opacity .16s var(--ease),transform .16s var(--ease)}.page-leave-active[data-v-b25ec647]{transition:opacity 90ms var(--ease)}.page-enter-from[data-v-b25ec647]{opacity:0;transform:translateY(4px)}.page-leave-to[data-v-b25ec647]{opacity:0}.modal-overlay[data-v-b25ec647]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;display:flex;align-items:center;justify-content:center}.modal[data-v-b25ec647]{width:420px;max-width:calc(min(100vw,var(--app-max-width)) - 48px);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:20px}.modal-title[data-v-b25ec647]{font-size:var(--fs-body-lg);font-weight:600;margin-bottom:10px}.modal-message[data-v-b25ec647]{font-size:var(--fs-label);color:var(--text-2);line-height:var(--lh-copy);margin-bottom:18px}.modal-actions[data-v-b25ec647]{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.dialog-enter-active[data-v-b25ec647],.dialog-leave-active[data-v-b25ec647]{transition:opacity .2s var(--ease)}.dialog-enter-from[data-v-b25ec647],.dialog-leave-to[data-v-b25ec647]{opacity:0}.dialog-enter-active .modal[data-v-b25ec647]{transition:transform .2s var(--ease)}.dialog-enter-from .modal[data-v-b25ec647]{transform:scale(.96)}.auth-leave-active[data-v-b25ec647]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;transition:opacity .3s var(--ease),transform .3s var(--ease)}.auth-leave-to[data-v-b25ec647]{opacity:0;transform:scale(1.045)}
