.memories-main .list-head{position:sticky;top:var(--header-h,104px);z-index:30;padding:6px 0 0;margin-bottom:8px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}html[data-theme=dark] .memories-main .list-head{background:rgba(10,11,18,.88)}html[data-theme=light] .memories-main .list-head{background:rgba(245,246,250,.88)}.memories-main .memories-head{padding-top:14px;padding-bottom:12px}.memories-main .memories-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.memories-main .memories-toolbar-actions{display:flex;align-items:center;gap:8px;flex:1;min-width:200px;justify-content:flex-end}.memories-main .memories-shell{display:flex;align-items:stretch}.memories-main .mem-l2{width:280px;flex-shrink:0;position:sticky;top:var(--header-h,104px);height:calc(100dvh - var(--header-h, 104px));overflow-y:auto;background:var(--surface);border-right:1px solid var(--border)}.memories-main .mem-l2-nav{padding:14px 10px;display:flex;flex-direction:column;gap:2px}.memories-main .mem-l2-group+.mem-l2-group{margin-top:10px}.memories-main .mem-l2-parent{display:flex;align-items:center;gap:6px;width:100%;padding:8px 10px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-muted);font-size:12px;font-weight:700;font-family:inherit;letter-spacing:.02em;text-align:left;cursor:pointer;transition:color .15s,background .15s}.memories-main .mem-l2-parent:hover{color:var(--text);background:var(--surface-3)}.memories-main .mem-l2-caret{width:12px;height:12px;flex-shrink:0;transition:transform .15s}.memories-main .mem-l2-parent.expanded .mem-l2-caret{transform:rotate(90deg)}.memories-main .mem-l2-parent-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.memories-main .mem-l2-sub{display:flex;flex-direction:column;gap:2px;padding-left:18px}.memories-main .mem-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text);font-size:13.5px;font-weight:500;font-family:inherit;text-align:left;cursor:pointer;transition:background .15s,color .15s}.memories-main .mem-menu-item:hover{background:var(--surface-3)}.memories-main .mem-menu-item.active{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand);color:var(--brand-light);font-weight:600}.memories-main .mem-menu-item.active:hover{background:var(--brand-soft)}.memories-main .mem-menu-item-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.memories-main .memories-body{flex:1;min-width:0}.memories-main .tab-count{font-size:11px;font-weight:600;color:var(--text-dim);padding:1px 6px;border-radius:9999px;background:var(--surface-3);min-width:18px;text-align:center;flex-shrink:0}.memories-main .mem-menu-item.active .tab-count{color:var(--brand-light);background:var(--brand-soft)}.memories-main .mem-ov{max-width:1000px;margin:0 auto;padding:48px 0 24px}.memories-main .mem-ov-page-title{font-size:26px;font-weight:600;color:var(--text-strong);margin:0 0 28px;letter-spacing:-.01em}.memories-main .mem-ov-cards{display:flex;flex-direction:column;gap:20px}.memories-main .mem-ov-card{padding:30px 34px 26px;background:var(--surface);border:1px solid var(--border);border-radius:18px}.memories-main .mem-ov-card-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.memories-main .mem-ov-icon{width:46px;height:46px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:13px;background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand-light)}.memories-main .mem-ov-icon svg{width:22px;height:22px}.memories-main .mem-ov-title{font-size:19px;font-weight:600;color:var(--text-strong);margin:0;letter-spacing:-.01em}.memories-main .mem-ov-body{font-size:14px;color:var(--text-muted);line-height:1.85;margin:0}.memories-main .mem-ov-cta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--border-soft)}.memories-main .mem-ov-cta-prefix{font-size:12.5px;color:var(--text-dim)}.memories-main .mem-ov-cta-num{color:var(--brand-light);font-weight:700;font-size:14px;padding:0 1px}.memories-main .mem-ov-cta-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 22px;border:none;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--brand-dark),var(--brand-light));color:#fff;font-size:13.5px;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;transition:filter .15s,transform .15s}.memories-main .mem-ov-cta-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.memories-main .mem-ov-cta-btn:active{transform:none}.memories-main .mem-ov-guide-toggle{display:inline-flex;align-items:center;gap:4px;margin-left:auto;background:transparent;border:none;padding:6px 2px;color:var(--text-muted);font-size:12.5px;font-family:inherit;cursor:pointer;transition:color .15s}.memories-main .mem-ov-guide-toggle:hover{color:var(--brand-light)}.memories-main .mem-ov-chevron{width:12px;height:12px;transition:transform .2s}.memories-main .mem-ov-guide-toggle.open .mem-ov-chevron{transform:rotate(180deg)}.memories-main .mem-ov-guide-wrap{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .25s ease,visibility 0s linear .25s}.memories-main .mem-ov-guide-wrap.open{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .25s ease,visibility 0s}.memories-main .mem-ov-guide{overflow:hidden;min-height:0}.memories-main .mem-ov-guide-lead{margin:20px 0 6px;font-size:14.5px;font-weight:600;color:var(--text)}.memories-main .mem-ov-guide-intro{margin:0 0 4px;font-size:14px;color:var(--text-muted);line-height:1.85}.memories-main .mem-ov-guide-blocks{display:flex;flex-direction:column}.memories-main .mem-ov-step{display:flex;gap:14px;padding:16px 0}.memories-main .mem-ov-step+.mem-ov-step{border-top:1px solid var(--border-soft)}.memories-main .mem-ov-step-num{width:28px;height:28px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1.5px solid var(--brand);color:var(--brand-light);background:var(--brand-soft);font-size:13px;font-weight:700;margin-top:2px}.memories-main .mem-ov-step-main{flex:1;min-width:0}.memories-main .mem-ov-step-title{font-size:14.5px;font-weight:600;color:var(--text-strong);margin-bottom:4px}.memories-main .mem-ov-step-body{margin:0;font-size:14px;color:var(--text-muted);line-height:1.85}.memories-main .mem-ov-dedup{margin:6px 0;padding:14px 18px;background:var(--surface-2);border-left:3px solid var(--brand);border-radius:10px}.memories-main .mem-ov-dedup-title{font-size:14px;font-weight:700;color:var(--text-strong);margin-bottom:4px}.memories-main .mem-ov-dedup-body{margin:0;font-size:13.5px;color:var(--text-muted);line-height:1.8}@media (max-width:639px){.memories-main .mem-ov{padding:24px 0 16px}.memories-main .mem-ov-page-title{font-size:22px;margin-bottom:18px}.memories-main .mem-ov-card{padding:22px 20px 18px;border-radius:14px}.memories-main .mem-ov-icon{width:40px;height:40px;border-radius:11px}.memories-main .mem-ov-icon svg{width:19px;height:19px}.memories-main .mem-ov-title{font-size:17px}.memories-main .mem-ov-cta-row{gap:10px}.memories-main .mem-ov-guide-toggle{margin-left:0}}.memories-main .filter-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:10px;margin-bottom:16px;font-size:13px}.memories-main .filter-banner .info{color:var(--brand-light);font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memories-main .filter-banner .back{background:transparent;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;font-family:inherit;padding:4px 10px;border-radius:6px;transition:background .15s,color .15s;flex-shrink:0;white-space:nowrap}.memories-main .filter-banner .back:hover{background:rgba(124,92,255,.18);color:var(--brand-light)}.memories-main .otd-subtitle{margin:-8px 0 14px;font-size:13px;color:var(--text-dim)}.memories-main .photo-thumb.otd-thumb.static{cursor:default}.memories-main .otd-picker{display:flex;align-items:center;gap:8px;margin:-6px 0 12px;font-size:13px;color:var(--text-dim)}.memories-main .otd-picker-select{appearance:none;padding:5px 10px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;cursor:pointer}.memories-main .otd-picker-select:hover{border-color:var(--brand)}.memories-main .category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (min-width:640px){.memories-main .category-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:768px){.memories-main .category-grid{grid-template-columns:repeat(4,1fr)}}.memories-main .category-card{display:block;text-align:left;padding:16px 16px 14px;background:var(--surface);border:1px solid var(--border);border-radius:12px;cursor:pointer;font-family:inherit;color:var(--text);transition:border-color .15s,background .15s,transform .1s}.memories-main .category-card:hover{border-color:var(--brand-line);background:var(--surface-2)}.memories-main .category-card:active{transform:scale(.99)}.memories-main .category-card .cc-icon{font-size:22px;margin-bottom:10px;display:block}.memories-main .category-card .cc-name{font-size:14px;font-weight:600;color:var(--text-strong);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.memories-main .category-card .cc-count{font-size:12px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.memories-main .category-card.locked{cursor:not-allowed;opacity:.55}.memories-main .category-card.locked:hover{border-color:var(--border);background:var(--surface)}.memories-main .category-card.locked:active{transform:none}.memories-main .category-card.is-empty{cursor:default;opacity:.55;border-style:dashed}.memories-main .category-card.is-empty:hover{border-color:var(--border);background:var(--surface)}.memories-main .category-card.is-empty:active{transform:none}.memories-main .category-card.is-empty .cc-icon{filter:grayscale(1)}.memories-main .category-card.is-empty .cc-count{white-space:normal}.memories-main .timeline-list{display:flex;flex-direction:column;gap:10px}.memories-main .timeline-card{display:block;width:100%;text-align:left;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:12px;cursor:pointer;font-family:inherit;color:var(--text);transition:border-color .15s,background .15s,transform .1s}.memories-main .timeline-card:hover{border-color:var(--brand-line);background:var(--surface-2)}.memories-main .timeline-card:active{transform:scale(.995)}.memories-main .timeline-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}.memories-main .timeline-title{font-size:13.5px;font-weight:600;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.memories-main .timeline-meta{font-size:11px;color:var(--text-dim);flex-shrink:0;font-variant-numeric:tabular-nums}.memories-main .timeline-preview{display:flex;gap:4px;margin-bottom:8px;overflow:hidden}.memories-main .timeline-thumb{width:44px;height:44px;flex-shrink:0;border-radius:6px;overflow:hidden;background:var(--surface-3)}.memories-main .timeline-thumb img{width:100%;height:100%;object-fit:cover}.memories-main .timeline-years{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums;letter-spacing:.02em}.memories-main .privacy-hint{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;margin-bottom:14px;font-size:12px;color:var(--text-muted);line-height:1.45}.memories-main .privacy-hint .ph-icon{flex-shrink:0}.memories-main .privacy-hint .ph-text{flex:1;min-width:0}.memories-main .privacy-hint button{background:transparent;border:none;color:var(--brand-light);font-size:11.5px;font-weight:600;cursor:pointer;font-family:inherit;padding:4px 8px;border-radius:6px;transition:background .15s,color .15s;flex-shrink:0;white-space:nowrap}.memories-main .privacy-hint button:hover{background:var(--brand-soft)}.memories-main .calendar-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px;margin-bottom:18px;width:100%;max-width:340px;margin-left:auto;margin-right:auto}.memories-main .cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.memories-main .cal-title{font-size:13px;font-weight:700;color:var(--text-strong);letter-spacing:.01em;display:inline-flex;align-items:center;gap:2px}.memories-main .cal-title-part{border:none;border-radius:7px;background:transparent;color:inherit;font:inherit;padding:3px 7px;cursor:pointer;transition:background .15s,color .15s}.memories-main .cal-title-part:hover{background:var(--surface-2);color:var(--brand-light)}.memories-main .cal-title-part.open{background:var(--brand-soft);color:var(--brand-light)}.memories-main .cal-nav:disabled{opacity:.35;cursor:default}.memories-main .cal-nav:disabled:hover{color:var(--text-muted);border-color:var(--border)}.memories-main .cal-opt-grid{display:grid;gap:4px}.memories-main .cal-opt-grid.months{grid-template-columns:repeat(4,1fr)}.memories-main .cal-opt-grid.years{grid-template-columns:repeat(5,1fr)}.memories-main .cal-opt{height:34px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;padding:0;transition:background .15s,color .15s,border-color .15s}.memories-main .cal-opt:hover{color:var(--brand-light);border-color:var(--brand-line)}.memories-main .cal-opt.active{background:linear-gradient(135deg,var(--brand-dark),var(--brand-light));border-color:transparent;color:#fff;font-weight:700;box-shadow:0 3px 10px rgba(124,92,255,.35)}.memories-main .cal-nav{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:14px;line-height:1;padding-bottom:2px;transition:color .15s,border-color .15s,background .15s}.memories-main .cal-nav:hover{color:var(--brand-light);border-color:var(--brand-line)}.memories-main .cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:3px}.memories-main .cal-weekdays span{text-align:center;font-size:10px;font-weight:600;color:var(--text-dim);padding:1px 0}.memories-main .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.memories-main .cal-day{position:relative;height:30px;display:flex;align-items:center;justify-content:center;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--text);font-family:inherit;font-size:11.5px;cursor:pointer;padding:0;transition:background .15s,color .15s,border-color .15s}.memories-main .cal-day:hover{background:var(--surface-2)}.memories-main .cal-day.empty{cursor:default;pointer-events:none}.memories-main .cal-day.today{border-color:var(--brand-line);color:var(--brand-light);font-weight:700}.memories-main .cal-day.has-photos{font-weight:600}.memories-main .cal-day.has-photos:after{content:"";position:absolute;bottom:3px;left:50%;transform:translateX(-50%);width:3px;height:3px;border-radius:50%;background:var(--brand-light)}.memories-main .cal-day.selected{background:linear-gradient(135deg,var(--brand-dark),var(--brand-light));border-color:transparent;color:#fff;font-weight:700;box-shadow:0 3px 10px rgba(124,92,255,.35)}.memories-main .cal-day.selected:after{background:#fff}.memories-main .year-group{margin-bottom:22px}.memories-main .year-group:last-child{margin-bottom:0}.memories-main .year-head{display:flex;align-items:baseline;gap:8px;margin-bottom:9px}.memories-main .year-label{font-size:13px;font-weight:700;color:var(--text-strong)}.memories-main .year-count{font-size:11px;color:var(--text-dim)}.memories-main .photo-group{margin-bottom:24px}.memories-main .photo-group:last-child{margin-bottom:0}.memories-main .photo-group-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;flex-wrap:wrap}.memories-main .photo-group-date{font-size:13px;font-weight:600;color:var(--text-strong)}.memories-main .photo-group-location{font-size:12px;color:var(--text-muted);display:inline-flex;align-items:center;gap:4px}.memories-main .photo-group-location svg{width:12px;height:12px}.memories-main .photo-group-count{font-size:11px;color:var(--text-dim)}.memories-main .photo-grid{display:grid;gap:6px;grid-template-columns:repeat(4,1fr)}@media (min-width:640px){.memories-main .photo-grid{grid-template-columns:repeat(6,1fr);gap:8px}}@media (min-width:768px){.memories-main .photo-grid{grid-template-columns:repeat(8,1fr)}}.memories-main .photo-thumb{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--surface-3);cursor:pointer;border:2px solid transparent;transition:transform .15s,border-color .15s}.memories-main .photo-thumb:hover{transform:scale(1.03)}.memories-main .photo-thumb img{width:100%;height:100%;object-fit:cover}.memories-main .photo-thumb.selecting:before{content:"";position:absolute;top:6px;left:6px;width:20px;height:20px;border-radius:50%;border:2px solid #fff;background:rgba(0,0,0,.35);z-index:5;backdrop-filter:blur(4px)}.memories-main .photo-thumb.selected{border-color:var(--brand);transform:scale(.95)}.memories-main .photo-thumb.selected:before{background:var(--brand);border-color:var(--brand)}.memories-main .photo-thumb.selected:after{content:"";position:absolute;top:6px;left:6px;width:20px;height:20px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");background-size:14px 14px;background-repeat:no-repeat;background-position:50%;z-index:6}.memories-main .fav-btn{position:absolute;top:5px;right:5px;width:24px;height:24px;border-radius:50%;border:none;background:rgba(0,0,0,.35);color:rgba(255,255,255,.85);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;z-index:7;opacity:0;transition:opacity .15s,background .15s,color .15s,transform .12s;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);line-height:1}.memories-main .fav-btn svg{width:13px;height:13px;display:block}.memories-main .photo-thumb:hover .fav-btn{opacity:1}.memories-main .fav-btn.favorited{opacity:1;color:var(--fav);background:rgba(0,0,0,.55)}html[data-theme=light] .memories-main .fav-btn.favorited{background:rgba(255,255,255,.88)}.memories-main .fav-btn:hover{transform:scale(1.12);background:rgba(0,0,0,.6)}.memories-main .fav-btn:active{transform:scale(.92)}.memories-main .photo-thumb.selecting .fav-btn{display:none}.memories-main .assign-badges{position:absolute;left:4px;bottom:4px;display:flex;gap:3px;flex-wrap:wrap;max-width:calc(100% - 8px);z-index:3;pointer-events:none}.memories-main .assign-badge{font-size:9.5px;font-weight:600;padding:1px 6px;border-radius:9999px;color:#0a0b12;background:var(--brand-light);white-space:nowrap}.memories-main .assign-badge.occasion{background:var(--warn)}.memories-main .assign-badge.birthday{background:#f472b6}.memories-main .assign-badge.contact{background:#34d399}.memories-main .assign-badge.event{background:#60a5fa}.memories-main .photo-pool-actions{position:absolute;top:5px;right:5px;display:flex;gap:4px;align-items:center;z-index:7;opacity:0;transition:opacity .15s}.memories-main .photo-pool-actions:focus-within,.memories-main .photo-thumb:hover .photo-pool-actions{opacity:1}@media (hover:none){.memories-main .photo-pool-actions{opacity:.85}}.memories-main .photo-pool-btn{width:24px;height:24px;border-radius:50%;border:none;background:rgba(0,0,0,.35);color:rgba(255,255,255,.85);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;line-height:1;font-size:13px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.memories-main .photo-pool-btn:hover{background:rgba(0,0,0,.6)}.memories-main .photo-pool-btn svg{display:block}.memories-main .photo-pool-badge{max-width:88px;height:20px;border-radius:9999px;border:none;background:var(--brand-soft);color:var(--brand-light);font-size:10px;font-weight:600;padding:0 8px;cursor:pointer;font-family:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memories-main .photo-pool-badge:hover{background:var(--brand);color:#fff}.memories-main .select-bar{position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--surface);border-top:1px solid var(--border);padding:12px 20px calc(12px + env(safe-area-inset-bottom, 0));box-shadow:0 -8px 24px rgba(0,0,0,.35);transform:translateY(100%);transition:transform .25s cubic-bezier(.2,.9,.3,1)}html[data-theme=light] .memories-main .select-bar{box-shadow:0 -8px 24px rgba(15,23,42,.1)}.memories-main .select-bar.open{transform:translateY(0)}.memories-main .select-bar-inner{max-width:1024px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.memories-main .select-info{font-size:13px;font-weight:600;color:var(--brand-light)}.memories-main .select-actions{display:flex;gap:8px;flex-wrap:wrap}.memories-main .select-actions button{font-family:inherit;cursor:pointer;padding:9px 16px;border-radius:9px;font-size:13px;font-weight:500;transition:all .15s;white-space:nowrap}.memories-main .select-actions .action-primary{background:linear-gradient(90deg,var(--brand-dark),var(--brand-light));border:none;color:#fff}.memories-main .select-actions .action-primary:hover:not(:disabled){filter:brightness(1.08)}.memories-main .select-actions .action-primary:disabled{opacity:.4;cursor:not-allowed}.memories-main .select-actions .action-contact{background:var(--surface-2);border:1px solid var(--brand-line);color:var(--brand-light)}.memories-main .select-actions .action-contact:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand)}.memories-main .select-actions .action-contact:disabled{opacity:.4;cursor:not-allowed}.memories-main .select-actions .action-ghost{background:var(--surface-2);border:1px solid var(--border);color:var(--text)}.memories-main .select-actions .action-ghost:hover:not(:disabled){border-color:var(--brand-line)}.memories-main .select-actions .action-ghost:disabled{opacity:.4;cursor:not-allowed}.memories-main .select-actions .action-fav{background:var(--surface-2);border:1px solid var(--border);color:var(--fav)}.memories-main .select-actions .action-fav:hover:not(:disabled){border-color:var(--fav);background:var(--fav-soft)}.memories-main .select-actions .action-fav:disabled{opacity:.4;cursor:not-allowed}.memories-main .select-actions .action-danger{background:var(--surface-2);border:1px solid rgba(248,113,113,.3);color:var(--neg)}.memories-main .select-actions .action-danger:hover:not(:disabled){background:rgba(248,113,113,.1);border-color:var(--neg)}.memories-main .select-toggle-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:9px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap;flex-shrink:0}.memories-main .select-toggle-btn.active,.memories-main .select-toggle-btn:hover{border-color:var(--brand-line);color:var(--brand-light)}.memories-main .select-toggle-btn.active{background:var(--brand-soft)}@media (max-width:639px){.memories-main .select-toggle-btn span{display:none}.memories-main .select-toggle-btn{padding:8px 10px}.memories-main .memories-shell{flex-direction:column}.memories-main .mem-l2{position:static;width:100%;height:auto;border-right:none;border-bottom:1px solid var(--border)}.memories-main .mem-l2-nav{padding:8px 10px}}.memories-main .search-wrap{position:relative;flex:1;min-width:0;max-width:320px}.memories-main .search-wrap>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-dim);pointer-events:none;width:15px;height:15px}.memories-main .search-wrap input{width:100%;padding:9px 32px 9px 36px;background:var(--surface);border:1px solid var(--border);border-radius:10px;font-size:13px;color:var(--text);outline:none;font-family:inherit;transition:border-color .15s,box-shadow .15s}.memories-main .search-wrap input::placeholder{color:var(--text-dim)}.memories-main .search-wrap input:focus{border-color:var(--brand-line);box-shadow:0 0 0 3px var(--brand-soft)}.memories-main .search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;border:none;background:transparent;color:var(--text-dim);cursor:pointer;padding:0;display:none;align-items:center;justify-content:center;font-size:15px;line-height:1;transition:background .15s,color .15s}.memories-main .search-clear:hover{background:var(--surface-2);color:var(--text)}.memories-main .search-clear.show{display:inline-flex}.memories-main .search-spinner{position:absolute;right:34px;top:50%;transform:translateY(-50%);width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--brand-light);border-radius:50%;animation:memories-spin .7s linear infinite;display:none}.memories-main .search-spinner.show{display:block}@keyframes memories-spin{to{transform:translateY(-50%) rotate(1turn)}}.memories-main .modal-head-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.memories-main .modal-search{position:relative;padding:12px 20px 0;flex-shrink:0}.memories-main .modal-search>svg{position:absolute;left:32px;top:50%;transform:translateY(-50%);color:var(--text-dim);pointer-events:none;width:15px;height:15px;margin-top:6px}.memories-main .modal-search input{width:100%;padding:9px 32px 9px 36px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;font-size:13px;color:var(--text);outline:none;font-family:inherit;transition:border-color .15s,box-shadow .15s}.memories-main .modal-search input::placeholder{color:var(--text-dim)}.memories-main .modal-search input:focus{border-color:var(--brand-line);box-shadow:0 0 0 3px var(--brand-soft)}.memories-main .modal-search .search-clear{right:26px;top:auto;bottom:8px;transform:none}.memories-main .modal-empty{padding:28px 12px;text-align:center;font-size:12.5px;color:var(--text-dim)}.memories-main .preview-fav-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--surface-2)!important;border:1px solid var(--border)!important;color:var(--text-muted)!important;cursor:pointer;padding:0!important;font-size:13px!important;transition:background .15s,border-color .15s,color .15s,transform .1s}.memories-main .preview-fav-btn svg{width:16px;height:16px;display:block}.memories-main .preview-fav-btn:hover{border-color:var(--fav)!important;color:var(--fav)!important}.memories-main .preview-fav-btn:active{transform:scale(.94)}.memories-main .preview-fav-btn.favorited{background:var(--fav-soft)!important;border-color:var(--fav)!important;color:var(--fav)!important}.memories-main .modal-sub{font-size:12px;color:var(--text-muted);margin-bottom:14px;line-height:1.5}.memories-main .modal-foot-right{display:flex;gap:10px}.memories-main .modal-foot .picked-hint{font-size:12px;color:var(--text-dim);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memories-main .btn-ghost{padding:9px 18px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:13.5px;font-weight:500;cursor:pointer;font-family:inherit;transition:border-color .15s}.memories-main .btn-ghost:hover{border-color:var(--brand-line)}.memories-main .pick-list{display:flex;flex-direction:column;gap:2px}.memories-main .pick-item{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:9px;cursor:pointer;transition:background .15s;font-size:13.5px;color:var(--text);user-select:none}.memories-main .pick-item:hover{background:var(--surface-2)}.memories-main .pick-item.picked{background:var(--brand-soft);color:var(--brand-light);font-weight:600}.memories-main .pick-check{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--border);background:var(--surface-2);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.memories-main .pick-item.picked .pick-check{background:var(--brand);border-color:var(--brand);color:#fff}.memories-main .pick-check svg{width:12px;height:12px;display:none}.memories-main .pick-item.picked .pick-check svg{display:block}.memories-main .pick-name-wrap{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.memories-main .pick-name{font-size:13.5px;min-width:0}.memories-main .pick-email,.memories-main .pick-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.memories-main .pick-email{font-size:11px;color:var(--text-dim)}.memories-main .pick-item.picked .pick-email{color:var(--brand-light);opacity:.85}.memories-main .pick-meta{font-size:11.5px;color:var(--text-dim);flex-shrink:0}.memories-main .pick-item.picked .pick-meta{color:var(--brand-light)}.memories-main .pick-item mark{background:rgba(124,92,255,.3);color:inherit;padding:0 1px;border-radius:2px}.memories-main .preview-modal{max-width:720px}.memories-main .preview-img{width:100%;border-radius:10px;overflow:hidden;background:var(--surface-3)}.memories-main .preview-img img{width:100%;display:block;max-height:44vh;object-fit:contain}.memories-main .preview-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font-size:12px;color:var(--text-muted);flex-wrap:wrap}.memories-main .preview-tags{display:flex;gap:6px;flex-wrap:wrap}.memories-main .preview-tag{font-size:11px;padding:2px 8px;border-radius:9999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted)}.memories-main .preview-tag.assigned{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-light)}.memories-main .preview-tag.faved{background:var(--fav-soft);border-color:var(--fav);color:var(--fav)}.memories-main .preview-tag.occasion{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-light)}.memories-main .preview-tag.birthday{background:rgba(244,114,182,.15);border-color:#f472b6;color:#f472b6}.memories-main .preview-tag.contact{background:rgba(52,211,153,.15);border-color:#34d399;color:#34d399}.memories-main .preview-tag.event{background:rgba(96,165,250,.15);border-color:#60a5fa;color:#60a5fa}.memories-main .preview-edit{display:flex;flex-direction:column;gap:6px;margin-top:10px}.memories-main .preview-edit-foot{display:flex;justify-content:flex-end;margin-top:2px}.memories-main .empty-state{padding:60px 20px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:14px}.memories-main .empty-state .emoji{font-size:32px;display:block;margin-bottom:12px;opacity:.55}.memories-main .empty-state .title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:6px}.memories-main .empty-state .desc{font-size:12.5px;color:var(--text-dim);line-height:1.6;max-width:320px;margin:0 auto}.memories-main .assigned-foot-note{margin-top:24px;padding:12px 14px;background:var(--surface-2);border:1px dashed var(--border);border-radius:10px;font-size:12px;color:var(--text-dim);line-height:1.55}.memories-main{padding-bottom:60px}.memories-main .trash-list{display:flex;flex-direction:column;gap:2px}.memories-main .trash-row{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:9px;transition:background .15s}.memories-main .trash-row:hover{background:var(--surface-2)}.memories-main .trash-thumb{width:48px;height:48px;border-radius:8px;object-fit:cover;background:var(--surface-3);flex-shrink:0}.memories-main .trash-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.memories-main .trash-name{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.memories-main .trash-meta{font-size:11.5px;color:var(--text-dim)}.memories-main .trash-restore{padding:6px 14px;border-radius:9999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:12.5px;font-weight:500;cursor:pointer;font-family:inherit;flex-shrink:0;transition:border-color .15s}.memories-main .trash-restore:hover{border-color:var(--brand-line);color:var(--brand-light)}.wm-tab-discover{padding:16px 0 32px}.memories-main .fav-attr-modal .modal-body{display:flex;flex-direction:column;gap:18px}.memories-main .fav-attr-label{font-size:13px;font-weight:600;color:var(--text);margin-bottom:8px}.memories-main .fav-attr-chips{display:flex;flex-wrap:wrap;gap:8px;max-height:168px;overflow-y:auto}.memories-main .fav-attr-chip{padding:6px 12px;border-radius:9999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:12.5px;cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s}.memories-main .fav-attr-chip:hover{border-color:var(--brand-line)}.memories-main .fav-attr-chip.picked{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-light);font-weight:600}.memories-main .fav-attr-anniv-hint{margin:8px 0 0;font-size:12px;color:var(--text-dim);line-height:1.5}.memories-main .prime-pool{padding:16px 0 32px;display:flex;flex-direction:column;gap:4px}.memories-main .prime-pool-row{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:10px;transition:background .15s}.memories-main .prime-pool-row:hover{background:var(--surface-2)}.memories-main .prime-pool-thumb{object-fit:cover}.memories-main .prime-pool-fault,.memories-main .prime-pool-thumb{width:56px;height:56px;border-radius:8px;background:var(--surface-3);flex-shrink:0}.memories-main .prime-pool-fault{display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text-dim);text-align:center;padding:4px;line-height:1.3}.memories-main .prime-pool-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.memories-main .prime-pool-title{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.memories-main .prime-pool-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.memories-main .prime-pool-src{font-size:11px;padding:2px 8px;border-radius:9999px;background:var(--brand-soft);color:var(--brand-light);font-weight:600}.memories-main .prime-pool-lock{color:var(--text-dim)}.memories-main .prime-pool-lock,.memories-main .prime-pool-locked{font-size:11px;padding:2px 8px;border-radius:9999px;background:var(--surface-3)}.memories-main .prime-pool-locked{color:var(--text-muted);border:1px dashed var(--border)}.memories-main .prime-pool-lock-edit{font-size:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);padding:4px 6px;font-family:inherit;max-width:180px}.memories-main .prime-pool-remove{padding:6px 14px;border-radius:9999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:12.5px;cursor:pointer;font-family:inherit;flex-shrink:0;transition:border-color .15s}.memories-main .prime-pool-remove:hover{border-color:var(--brand-line);color:var(--brand-light)}.memories-main .prime-pool-empty{padding:48px 20px;text-align:center;color:var(--text-dim);font-size:13px;line-height:1.7}.memories-main .prime-pool-state{padding:32px 0;text-align:center;color:var(--text-dim);font-size:13px}.memories-main .prime-pool-state.error{color:var(--danger,#d05555)}.memories-main .aic-panel{padding:4px 0 24px}.memories-main .aic-filters{display:inline-flex;gap:4px;padding:3px;border-radius:9999px;background:var(--surface-2);border:1px solid var(--border);margin-bottom:14px}.memories-main .aic-filter-btn{border:0;background:transparent;cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--text-muted);padding:5px 14px;border-radius:9999px;transition:background .15s,color .15s}.memories-main .aic-filter-btn:hover{color:var(--text)}.memories-main .aic-filter-btn.active{background:var(--surface);color:var(--text-strong)}.memories-main .aic-groups{display:flex;flex-direction:column;gap:10px}.memories-main .aic-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:10px 14px}.memories-main .aic-card-head{display:flex;align-items:center;gap:10px}.memories-main .aic-card-title{flex:1;min-width:0;display:flex;align-items:center;gap:8px;border:0;background:transparent;cursor:pointer;font-family:inherit;padding:4px 0;text-align:left;color:var(--text)}.memories-main .aic-emoji{font-size:18px}.memories-main .aic-name{font-size:14.5px;font-weight:700;color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memories-main .aic-count{font-size:12.5px;color:var(--text-dim);flex-shrink:0}.memories-main .aic-toggle{margin-left:auto;font-size:12px;color:var(--text-muted);flex-shrink:0}.memories-main .aic-card-title:hover .aic-toggle{color:var(--brand-light)}.memories-main .aic-confirm-all{flex-shrink:0;border:1px solid var(--brand-line);background:var(--brand-soft);color:var(--brand-light);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:700;padding:6px 14px;border-radius:9999px;transition:filter .15s}.memories-main .aic-confirm-all:hover{filter:brightness(1.12)}.memories-main .aic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-top:10px}.memories-main .aic-thumb{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--surface-2);border:1px solid var(--border)}.memories-main .aic-thumb img{width:100%;height:100%;object-fit:cover;display:block}.memories-main .aic-thumb .photo-fault-tile{position:absolute;inset:0}.memories-main .aic-thumb-pending{position:absolute;inset:0;background:linear-gradient(110deg,var(--surface-2) 30%,var(--surface-3) 50%,var(--surface-2) 70%);background-size:200% 100%;animation:aic-shimmer 1.4s linear infinite}@keyframes aic-shimmer{to{background-position:-200% 0}}.memories-main .aic-thumb-badge{position:absolute;left:4px;bottom:4px;font-size:10px;font-weight:600;color:#fff;background:rgba(0,0,0,.55);padding:2px 6px;border-radius:9999px;pointer-events:none;max-width:calc(100% - 8px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memories-main .aic-thumb-actions{position:absolute;top:4px;right:4px;display:flex;gap:4px}.memories-main .aic-op{width:24px;height:24px;border-radius:9999px;border:0;cursor:pointer;font-size:13px;font-weight:800;line-height:1;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:rgba(0,0,0,.55);transition:background .15s,transform .1s}.memories-main .aic-op:hover{transform:scale(1.08)}.memories-main .aic-op-confirm:hover{background:#2e9e5b}.memories-main .aic-op-reject:hover{background:#d64545}.memories-main .aic-op-undo:hover{background:var(--brand-light)}.memories-main .msr-pending{font-size:12.5px;color:var(--text-dim);padding:2px 2px 10px}.memories-main .msr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px 12px;margin-bottom:18px}.memories-main .msr-item{min-width:0;display:flex;flex-direction:column;gap:6px}.memories-main .msr-thumb{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--surface-2)}.memories-main .msr-thumb img{width:100%;height:100%;object-fit:cover;display:block}.memories-main .msr-thumb .photo-fault-tile{position:absolute;inset:0}.memories-main .msr-thumb-pending{position:absolute;inset:0;background:linear-gradient(110deg,var(--surface-2) 30%,var(--surface) 50%,var(--surface-2) 70%);background-size:200% 100%;animation:msr-shimmer 1.4s infinite}@keyframes msr-shimmer{to{background-position:-200% 0}}.memories-main .msr-chips{display:flex;flex-wrap:wrap;gap:4px}.memories-main .msr-chip{font-size:11px;line-height:1.35;padding:2px 8px;border-radius:9999px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--border);color:var(--text-muted);background:var(--surface)}.memories-main .msr-chip.confirmed{color:var(--brand-light);border-color:var(--brand-line);background:var(--brand-soft)}.memories-main .msr-chip.ocr,.memories-main .msr-chip.person{color:var(--text)}.memories-main .msr-chip.more{color:var(--text-dim)}.memories-main .msr-chip.ai{color:var(--text-muted);border-style:dashed}.memories-main .msr-ai{border-top:1px dashed var(--border);padding-top:14px;margin-top:4px}.memories-main .msr-ai-head{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}.memories-main .msr-ai-title{font-size:14.5px;font-weight:700;color:var(--text-strong)}.memories-main .msr-ai-hint{font-size:12.5px;color:var(--text-dim)}.memories-main .msr-ai-go{border:1px solid var(--brand-line);background:var(--brand-soft);color:var(--brand-light);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:700;padding:7px 16px;border-radius:9999px;transition:filter .15s}.memories-main .msr-ai-go:hover{filter:brightness(1.12)}