:root {
  color-scheme: dark;
  --al-ink: var(--sv-color-text, #f5f2ea);
  --al-muted: var(--sv-color-text-muted, rgba(245, 242, 234, .62));
  --al-faint: var(--sv-color-text-faint, rgba(245, 242, 234, .38));
  --al-line: var(--sv-color-border, rgba(245, 242, 234, .12));
  --al-paper: var(--sv-color-canvas, #050505);
  --al-panel: var(--sv-color-surface, #101010);
  --al-panel-strong: var(--sv-color-surface-strong, #151515);
  --al-accent: var(--sv-color-brand);
}
*, *::before, *::after { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; }
html { scrollbar-width: none; }
html::-webkit-scrollbar, body::-webkit-scrollbar { width: 0; height: 0; display: none; }
body.has-app-rail { padding-left: var(--app-rail-width, 64px); color: var(--al-ink); background: var(--al-paper); font-family: var(--sv-font-sans); }
body::before { content: none; }
.al-shell { position: relative; width: min(1580px, 100%); margin: 0 auto; padding: 34px 38px 64px; }
.al-header { display: flex; justify-content: space-between; align-items: end; gap: 26px; }
.al-kicker, .al-section-head p, .al-dialog-header p, .al-similar p { margin: 0 0 9px; color: var(--al-accent); font-size: 10px; font-weight: 900; letter-spacing: .19em; }
.al-header h1 { margin: 0; font-size: var(--sv-font-size-title, 1.75rem); font-weight: 600; line-height: 1.28; letter-spacing: -0.01em; }
.al-subtitle { margin: 15px 0 0; color: var(--al-muted); font-size: 13px; }
.al-header-actions { display: flex; gap: 9px; }
.al-ghost-action, .al-index-action, .al-scan-action { height: 43px; border: 1px solid var(--al-line); border-radius: 999px; padding: 0 19px; display: inline-flex; align-items: center; justify-content:center; gap:8px; color: inherit; background: rgba(255,255,255,.035); font: inherit; font-size: 12px; font-weight: 800; text-decoration: none; cursor: pointer; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.al-ghost-action:hover { border-color: var(--sv-color-border-soft); background: rgba(255,255,255,.07); }
.al-index-action { color:var(--al-muted); border-color:var(--al-line); background:rgba(255,255,255,.035); }
.al-index-action:hover:not(:disabled) { transform:translateY(-1px); border-color:var(--sv-color-border-soft); background:rgba(255,255,255,.07); }
.al-index-action:disabled { opacity: .55; cursor: wait; }
.al-scan-action { border-color:var(--al-accent); color:var(--sv-color-on-brand,#050505); background:var(--al-accent); box-shadow:none; }
.al-scan-action span { font: 400 18px/1 var(--sv-font-sans); }
.al-scan-action:hover:not(:disabled) { transform:translateY(-1px); background:var(--sv-color-brand-hover); }
.al-scan-action:disabled { opacity:.58; cursor:wait; }
.al-scan-action .is-spinning { animation:al-spin .85s linear infinite; }
.al-scan-task { position:relative; min-height:86px; margin:24px 0 -6px; padding:16px 116px 18px 19px; display:grid; grid-template-columns:minmax(260px,1fr) auto; align-items:center; gap:24px; overflow:hidden; border:1px solid rgba(var(--sv-brand-rgb),.28); border-radius:17px; background:linear-gradient(105deg,rgba(var(--sv-brand-rgb),.075),rgba(255,255,255,.018) 56%,rgba(255,255,255,.03)); box-shadow:inset 0 1px rgba(255,255,255,.025); }
.al-scan-task[hidden] { display:none; }
.al-scan-task__state { min-width:0; display:flex; align-items:center; gap:14px; }
.al-scan-task__state > span { flex:0 0 auto; width:10px; height:10px; border-radius:50%; background:var(--al-accent); box-shadow:0 0 0 7px rgba(var(--sv-brand-rgb),.09); animation:al-pulse 1s infinite; }
.al-scan-task__state > span.is-still { animation:none; }
.al-scan-task__state small,.al-scan-task__state strong,.al-scan-task__state p { display:block; }
.al-scan-task__state small { color:var(--al-accent); font-size:7px; font-weight:900; letter-spacing:.17em; }
.al-scan-task__state strong { margin-top:6px; font: 700 15px/1.2 var(--sv-font-sans); }
.al-scan-task__state p { max-width:680px; margin:5px 0 0; overflow:hidden; color:var(--al-faint); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.al-scan-task__facts { display:flex; gap:22px; }
.al-scan-task__facts span { color:var(--al-faint); font-size:8px; white-space:nowrap; }
.al-scan-task__facts b { display:block; margin-bottom:5px; color:var(--al-ink); font: 500 18px/1 var(--sv-font-sans); font-variant-numeric:tabular-nums; }
.al-scan-task > button { position:absolute; top:24px; right:20px; min-height:34px; border:1px solid var(--al-line); border-radius:999px; padding:0 13px; color:var(--al-muted); background:rgba(0,0,0,.22); font:inherit; font-size:9px; font-weight:800; cursor:pointer; }
.al-scan-task > button[hidden] { display:none; }
.al-scan-task__track { position:absolute; left:0; right:0; bottom:0; height:3px; overflow:hidden; background:rgba(255,255,255,.045); }
.al-scan-task__track span { display:block; width:34%; height:100%; background:var(--al-accent); animation:al-scan-flow 1.45s cubic-bezier(.4,0,.2,1) infinite; }
.al-scan-task.is-complete .al-scan-task__track span,.al-scan-task.is-error .al-scan-task__track span { animation:none; }
.al-scan-task.is-error { border-color:rgba(255,105,105,.3); }
.al-scan-task.is-error .al-scan-task__state > span,.al-scan-task.is-error .al-scan-task__track span { background:#ff8d8d; }
.al-overview { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); margin: 30px 0 18px; border: 1px solid var(--al-line); border-radius: 22px; background: rgba(255,255,255,.028); overflow: hidden; box-shadow: inset 0 1px 0 rgba(255,255,255,.025); }
.al-overview article { min-height: 104px; padding: 18px 22px; border-right: 1px solid var(--al-line); }
.al-overview article:last-of-type { border: 0; }
.al-overview span, .al-overview small { display: block; color: var(--al-muted); font-size: 10px; font-weight: 800; }
.al-overview strong { display: inline-block; margin: 10px 7px 0 0; font-family: var(--sv-font-sans); font-size: 31px; line-height: 1; }
.al-overview small { display: inline; }
.al-progress-track { position: absolute; height: 3px; left: 0; right: 0; bottom: 0; background: rgba(255,255,255,.045); }
.al-progress-track span { display: block; width: 0; height: 100%; background: var(--al-accent); transition: width .4s ease; }
.al-tabs { display: flex; gap: 7px; margin: 18px 0 34px; }
.al-tabs button { min-height: 34px; border: 0; border-radius: 999px; padding: 0 14px; color: var(--al-muted); background: transparent; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; transition: color .18s ease, background .18s ease; }
.al-tabs button.is-active { color: var(--sv-color-on-brand, #050505); background: var(--al-accent); }
.al-tabs button:disabled { opacity: .48; cursor: default; }
.al-tabs i { margin-left: 4px; font-size: 8px; font-style: normal; }
.al-section-head { display: flex; justify-content: space-between; align-items: end; margin-bottom: 15px; }
.al-section-head h2 { margin: 0; font-family: var(--sv-font-sans); font-size: 25px; }
.al-section-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; color: var(--al-muted); font-size: 11px; }
.al-section-meta button { min-height: 31px; border: 1px solid var(--al-line); border-radius: 999px; padding: 0 12px; color: var(--al-muted); background: rgba(255,255,255,.025); font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; }
.al-section-meta button:hover, .al-section-meta button.is-active { border-color: rgba(var(--sv-brand-rgb),.38); color: var(--al-accent); background: rgba(var(--sv-brand-rgb),.06); }
.al-date-filter { min-height: 31px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--al-line); border-radius: 999px; padding: 0 10px 0 12px; color: var(--al-faint); background: rgba(255,255,255,.025); font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.al-date-filter[hidden] { display: none; }
.al-date-filter select { min-width: 148px; max-width: min(260px, 42vw); border: 0; outline: 0; color: var(--al-ink); background: transparent; font: inherit; font-size: 10px; font-weight: 800; letter-spacing: .02em; color-scheme: dark; cursor: pointer; }
.al-grid { display: grid; grid-template-columns: repeat(3, minmax(260px, 1fr)); gap: 18px; }
.al-card-shell { position: relative; min-width: 0; }
.al-card { position: relative; width: 100%; min-width: 0; border: 1px solid var(--al-line); border-radius: 21px; padding: 10px; color: inherit; background: rgba(255,255,255,.032); text-align: left; cursor: pointer; box-shadow: 0 20px 48px rgba(0,0,0,.24); transition: transform .25s cubic-bezier(.16,1,.3,1), border-color .25s, background .25s, box-shadow .25s; }
.al-card:hover { transform: translateY(-4px) rotate(-.25deg); border-color: rgba(var(--sv-brand-rgb),.34); background: rgba(255,255,255,.05); box-shadow: 0 28px 64px rgba(0,0,0,.42); }
.al-card.is-place { background: linear-gradient(145deg, rgba(var(--sv-brand-rgb),.045), rgba(255,255,255,.026) 44%); }
.al-card.is-place .al-contact-sheet { box-shadow: inset 0 0 0 1px rgba(var(--sv-brand-rgb),.12); }
.al-card.is-linked { background:linear-gradient(145deg,rgba(var(--sv-brand-rgb),.075),rgba(255,255,255,.026) 48%); }
.al-card.is-linked .al-contact-sheet { grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(2,1fr); box-shadow:inset 0 0 0 1px rgba(var(--sv-brand-rgb),.18); }
.al-card.is-linked .al-contact-sheet img:first-child { grid-row:auto; }
.al-contact-sheet { width:100%; aspect-ratio:1; display:grid; grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(2,1fr); gap:4px; border-radius:14px; overflow:hidden; background:var(--sv-color-canvas-raised); }
.al-contact-sheet img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.92) contrast(1.02); }
.al-contact-sheet img:only-child { grid-column:1 / 3; grid-row:1 / 3; }
.al-card-copy { display: flex; justify-content: space-between; gap: 14px; align-items: end; padding: 15px 7px 8px; }
.al-card-copy p { margin: 0 0 6px; color: var(--al-accent); font-size: 9px; font-weight: 900; letter-spacing: .13em; }
.al-card-copy h3 { margin: 0; font-family: var(--sv-font-sans); font-size: 20px; }
.al-card-copy span { flex: 0 0 auto; color: var(--al-muted); font: 700 11px var(--sv-font-sans); }
.al-card-copy .al-card-tags { display: block; margin-top: 7px; color: var(--al-muted); font: 700 9px var(--sv-font-sans, sans-serif); letter-spacing: .04em; }
.al-confidence { position: absolute; top: 20px; left: 20px; border: 1px solid var(--sv-color-border); border-radius: 999px; padding: 6px 9px; color: var(--sv-color-text); background: rgba(5,5,5,.74); backdrop-filter: blur(8px); font-size: 9px; font-weight: 800; }
.al-card-actions { position: absolute; z-index: 2; top: 20px; right: 20px; display: flex; gap: 6px; opacity: 1; transform: none; }
.al-card-actions button { min-height: 29px; border: 1px solid var(--sv-color-border-strong); border-radius: 999px; padding: 0 11px; color: var(--sv-color-text); background: rgba(5,5,5,.74); backdrop-filter: blur(8px); font: inherit; font-size: 9px; font-weight: 800; cursor: pointer; transition: color .18s ease, border-color .18s ease; }
.al-card-actions button:hover { border-color: rgba(var(--sv-brand-rgb),.5); color: var(--al-accent); }
.al-empty { grid-column: 1 / -1; min-height: 320px; display: grid; place-content: center; justify-items: center; border: 1px dashed rgba(245,242,234,.16); border-radius: 24px; color: var(--al-muted); text-align: center; }
.al-empty strong { color: var(--al-ink); font: 700 24px var(--sv-font-sans); }
.al-empty p { max-width: 420px; line-height: 1.7; }
.al-empty small { max-width: 460px; color: var(--al-faint); font-size: 10px; line-height: 1.6; }
.al-empty-pin { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 17px; border: 1px solid rgba(var(--sv-brand-rgb),.28); border-radius: 50%; color: var(--al-accent); background: rgba(var(--sv-brand-rgb),.06); font: 400 26px var(--sv-font-sans); box-shadow: 0 0 46px rgba(var(--sv-brand-rgb),.08); }
.al-search-workspace { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr); gap: 14px; }
.al-semantic-search { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(250px,.85fr) minmax(330px,1.15fr) auto; align-items: center; gap: 24px; border: 1px solid rgba(var(--sv-brand-rgb),.24); border-radius: 22px; padding: 24px 26px; background: linear-gradient(110deg, rgba(var(--sv-brand-rgb),.07), rgba(255,255,255,.018) 55%); }
.al-semantic-search p { margin: 0 0 7px; color: var(--al-accent); font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.al-semantic-search strong, .al-semantic-search span { display: block; }
.al-semantic-search strong { color: var(--al-ink); font: 700 19px var(--sv-font-sans); }
.al-semantic-search span { margin-top: 6px; color: var(--al-muted); font-size: 10px; }
.al-semantic-search label { display: flex; min-width: 0; border: 1px solid var(--sv-color-border); border-radius: 999px; padding: 4px; background: var(--sv-color-canvas-raised); box-shadow: inset 0 0 0 1px rgba(0,0,0,.3); }
.al-semantic-search input { min-width: 0; flex: 1; border: 0; padding: 0 14px; outline: 0; color: var(--al-ink); background: transparent; font: inherit; font-size: 12px; }
.al-semantic-search input::placeholder { color: var(--al-faint); }
.al-semantic-search label button, .al-semantic-index { min-height: 38px; border: 0; border-radius: 999px; padding: 0 17px; color: var(--sv-color-on-brand,#050505); background: var(--al-accent); font: inherit; font-size: 10px; font-weight: 900; cursor: pointer; }
.al-semantic-search button:disabled, .al-semantic-search input:disabled { cursor: not-allowed; opacity: .45; }
.al-semantic-index { border: 1px solid rgba(var(--sv-brand-rgb),.38); color: var(--al-accent); background: rgba(var(--sv-brand-rgb),.07); }
.al-semantic-search code, .al-semantic-search em { justify-self: end; color: var(--al-faint); font-size: 9px; font-style: normal; }
.al-semantic-search code { border: 1px solid var(--al-line); border-radius: 8px; padding: 8px 10px; color: var(--al-muted); background: rgba(0,0,0,.28); }
.al-search-drop { position: relative; min-height: 270px; display: flex; align-items: center; justify-content: center; flex-direction: column; border: 1px dashed rgba(245,242,234,.24); border-radius: 22px; overflow: hidden; color: var(--al-muted); background: rgba(255,255,255,.025); text-align: center; cursor: pointer; transition: border-color .2s ease, background .2s ease; }
.al-search-drop:hover, .al-search-drop:focus-within { border-color: var(--sv-color-border-strong, var(--sv-color-border-strong)); background: rgba(255,255,255,.035); }
.al-search-drop input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.al-search-orbit { width: 66px; height: 66px; display: grid; place-items: center; margin-bottom: 18px; border: 1px solid rgba(var(--sv-brand-rgb),.48); border-radius: 50%; color: var(--al-accent); background: rgba(var(--sv-brand-rgb),.055); font: 300 38px/1 var(--sv-font-sans); box-shadow: 0 0 62px rgba(var(--sv-brand-rgb),.1); transform: rotate(-12deg); }
.al-search-drop strong { color: var(--al-ink); font: 700 24px var(--sv-font-sans); }
.al-search-drop p { max-width: 440px; margin: 10px 20px 6px; font-size: 12px; line-height: 1.65; }
.al-search-drop small { color: var(--al-faint); font-size: 9px; letter-spacing: .04em; }
.al-search-readout { min-height: 270px; display: flex; flex-direction: column; justify-content: center; border: 1px solid var(--al-line); border-radius: 22px; padding: 30px; background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.018)); }
.al-search-readout p, .al-search-query p { margin: 0 0 12px; color: var(--al-accent); font-size: 9px; font-weight: 900; letter-spacing: .17em; }
.al-search-readout > strong { color: var(--al-ink); font: 700 43px/1 var(--sv-font-sans); }
.al-search-readout > strong i { color: var(--al-faint); font-size: 15px; font-style: normal; }
.al-search-readout > span { margin-top: 9px; color: var(--al-muted); font-size: 11px; }
.al-search-readout > div { height: 3px; margin: 26px 0 18px; overflow: hidden; background: rgba(255,255,255,.07); }
.al-search-readout > div b { display: block; height: 100%; background: var(--al-accent); }
.al-search-readout button { align-self: start; min-height: 35px; border: 1px solid rgba(var(--sv-brand-rgb),.44); border-radius: 999px; padding: 0 14px; color: var(--al-accent); background: rgba(var(--sv-brand-rgb),.06); font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; }
.al-search-readout em { color: var(--al-faint); font-size: 10px; font-style: normal; }
.al-search-query { grid-column: 1 / -1; display: grid; grid-template-columns: 92px 1fr; align-items: center; gap: 18px; margin-top: 18px; border: 1px solid var(--al-line); border-radius: 16px; padding: 10px; background: rgba(255,255,255,.025); }
.al-search-query[hidden] { display: none; }
.al-search-query img { width: 92px; height: 72px; border-radius: 10px; object-fit: cover; background: var(--al-panel-strong); }
.al-search-query.is-text img { background: radial-gradient(circle, rgba(var(--sv-brand-rgb),.28) 0 2px, transparent 3px), radial-gradient(circle, rgba(var(--sv-brand-rgb),.12), transparent 62%); }
.al-search-query p { margin-bottom: 6px; }
.al-search-query strong { display: block; overflow: hidden; color: var(--al-ink); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.al-search-query span { display: block; margin-top: 5px; color: var(--al-muted); font-size: 10px; }
.al-search-results { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 8px; }
.al-search-result { position: relative; min-width: 0; aspect-ratio: 1; border: 1px solid var(--al-line); border-radius: 14px; overflow: hidden; color: var(--al-ink); background: var(--al-panel); text-decoration: none; transition: transform .2s ease, border-color .2s ease; }
.al-search-result:hover { transform: translateY(-3px); border-color: rgba(var(--sv-brand-rgb),.38); }
.al-search-result > img { width: 100%; height: 100%; object-fit: cover; }
.al-search-result::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, var(--sv-color-canvas)); }
.al-search-badge { position: absolute; z-index: 2; top: 9px; left: 9px; border: 1px solid var(--sv-color-border-strong); border-radius: 999px; padding: 5px 7px; color: var(--sv-color-text); background: rgba(5,5,5,.72); backdrop-filter: blur(7px); font-size: 8px; font-weight: 800; }

.al-smart-overview { grid-column:1 / -1; }
.al-smart-intro { min-height:92px; padding:18px 21px; display:flex; justify-content:space-between; align-items:center; gap:24px; border:1px solid var(--al-line); border-left:3px solid var(--al-accent); background:linear-gradient(100deg,rgba(var(--sv-brand-rgb), .07),rgba(255,255,255,.01) 55%); }
.al-smart-intro span,.al-smart-result-head span { color:var(--al-accent); font-size:8px; font-weight:900; letter-spacing:.17em; }
.al-smart-intro h3,.al-smart-result-head h3 { margin:9px 0 0; font-size:20px; }
.al-smart-intro p { max-width:390px; margin:0; color:var(--al-muted); font-size:11px; line-height:1.7; text-align:right; }
.al-smart-categories { margin-top:12px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.al-smart-categories > .al-smart-empty { grid-column:1 / -1; }
.al-smart-categories button { position:relative; min-height:116px; padding:16px; overflow:hidden; border:1px solid var(--al-line); border-radius:0; background:var(--sv-color-surface); color:var(--al-ink); text-align:left; cursor:pointer; transition:transform .18s ease,border-color .18s ease; }
.al-smart-categories button:hover { transform:translateY(-2px); border-color:rgba(var(--sv-brand-rgb), .42); }
.al-smart-categories button.is-active { border-color:var(--al-accent); box-shadow:inset 0 -3px var(--al-accent); background:linear-gradient(145deg,rgba(var(--sv-brand-rgb), .12),var(--sv-color-surface) 70%); }
.al-smart-categories img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.22; filter:saturate(.7) contrast(1.15); }
.al-smart-categories button::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--sv-color-canvas),rgba(7,7,7,.28)); }
.al-smart-categories button > * { position:relative; z-index:1; }
.al-smart-categories span { display:block; color:var(--sv-color-text-muted); font-size:7px; font-weight:900; letter-spacing:.15em; }
.al-smart-categories strong { display:block; margin-top:11px; font-size:15px; }
.al-smart-categories b { display:block; margin-top:16px; color:var(--al-accent); font-size:20px; font-weight:500; }
.al-smart-categories b i { margin-left:8px; color:var(--sv-color-text-faint); font-size:8px; font-style:normal; }
.al-smart-years { margin:18px 0 30px; display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.al-smart-years > span { margin-right:8px; color:var(--sv-color-text-faint); font-size:8px; font-weight:900; letter-spacing:.13em; }
.al-smart-years button { min-height:31px; padding:0 11px; border:1px solid var(--al-line); border-radius:999px; background:transparent; color:var(--sv-color-text-muted); font-size:9px; font-weight:800; cursor:pointer; }
.al-smart-years button.is-active { border-color:var(--al-accent); background:var(--al-accent); color:#101408; }
.al-smart-years i { margin-left:5px; opacity:.62; font-size:7px; font-style:normal; }
.al-smart-result-head { margin-bottom:13px; display:flex; justify-content:space-between; align-items:end; gap:20px; }
.al-smart-result-head p { margin:0; color:var(--sv-color-text-faint); font-size:9px; }
.al-smart-folder-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.al-smart-folder { min-width:0; overflow:hidden; border:1px solid var(--al-line); color:var(--al-ink); background:var(--sv-color-surface-subtle); text-decoration:none; transition:border-color .18s ease,transform .18s ease; }
.al-smart-folder:hover { transform:translateY(-2px); border-color:rgba(var(--sv-brand-rgb), .48); }
.al-smart-folder__cover { position:relative; width:100%; aspect-ratio:1; display:grid; grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(2,1fr); gap:1px; overflow:hidden; background:var(--sv-color-surface-strong); }
.al-smart-folder__cover img { width:100%; height:100%; object-fit:cover; min-width:0; min-height:0; }
.al-smart-folder__cover img:only-of-type { grid-column:1 / -1; grid-row:1 / -1; }
.al-smart-folder__cover > b { grid-column:1/-1; grid-row:1/-1; display:grid; place-items:center; color:var(--sv-color-text-faint); font-size:13px; letter-spacing:.1em; }
.al-smart-folder__cover em { position:absolute; left:10px; top:10px; padding:6px 8px; border:1px solid var(--sv-color-border-strong); background:rgba(4,4,4,.78); color:var(--sv-color-text); font-size:8px; font-style:normal; font-weight:900; backdrop-filter:blur(8px); }
.al-smart-folder__copy { min-height:83px; padding:13px 14px; display:flex; justify-content:space-between; align-items:center; gap:14px; }
.al-smart-folder__copy > span { min-width:0; }
.al-smart-folder__copy small { display:block; color:var(--sv-color-text-muted); font-size:8px; }
.al-smart-folder__copy strong { display:block; margin-top:7px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.al-smart-folder__copy code { display:block; max-width:260px; margin-top:7px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--sv-color-text-faint); font-size:7px; }
.al-smart-folder__copy > b { flex:0 0 auto; color:var(--al-accent); font-size:22px; font-weight:500; }
.al-smart-folder__copy > b i { margin-left:3px; color:var(--sv-color-text-faint); font-size:8px; font-style:normal; }

/* Smart category hierarchy: concept index → dated folder albums → photo preview. */
.al-smart-categories { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.al-smart-categories button { aspect-ratio:1.48; min-height:0; padding:0; isolation:isolate; animation:al-smart-card-in .38s both; animation-delay:calc(var(--category-order,0) * 45ms); }
.al-smart-categories button::after { z-index:1; background:linear-gradient(180deg,rgba(3,3,3,.05) 18%,var(--sv-color-canvas) 100%); }
.al-smart-categories img { z-index:0; opacity:.82; filter:saturate(.86) contrast(1.05); }
.al-smart-category__index { position:absolute!important; z-index:2!important; top:14px; left:15px; color:var(--sv-color-text)!important; font: 500 11px/1 var(--sv-font-sans); }
.al-smart-category__copy { position:absolute!important; z-index:2!important; left:16px; right:110px; bottom:17px; }
.al-smart-category__copy small { display:block; color:var(--al-accent); font-size:7px; font-weight:900; letter-spacing:.16em; }
.al-smart-category__copy strong { margin-top:7px; color:var(--sv-color-text); font: 700 22px/1.1 var(--sv-font-sans); }
.al-smart-category__copy em { display:block; margin-top:7px; overflow:hidden; color:var(--sv-color-text-muted); font-size:9px; font-style:normal; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; }
.al-smart-categories button > b { position:absolute; z-index:2; right:15px; bottom:17px; margin:0; color:var(--al-accent); font: 500 21px/1 var(--sv-font-sans); text-align:right; }
.al-smart-categories button > b i { display:block; margin:6px 0 0; color:var(--sv-color-text-muted); font:700 7px/1 var(--sv-font-sans,sans-serif); }
.al-smart-category-head { min-height:106px; padding:18px 20px; display:grid; grid-template-columns:170px 1fr auto; gap:25px; align-items:center; border:1px solid var(--al-line); border-left:3px solid var(--al-accent); background:linear-gradient(105deg,rgba(var(--sv-brand-rgb),.07),rgba(255,255,255,.012)); }
.al-smart-category-head > button { min-height:36px; border:1px solid var(--al-line); border-radius:999px; color:var(--al-muted); background:rgba(255,255,255,.025); font:inherit; font-size:10px; font-weight:800; cursor:pointer; }
.al-smart-category-head div span { color:var(--al-accent); font-size:9px; font-weight:900; letter-spacing:.14em; }
.al-smart-category-head h3 { margin:8px 0 0; color:var(--al-muted); font-size:11px; font-weight:500; }
.al-smart-category-head > b { color:var(--al-accent); font: 500 29px/1 var(--sv-font-sans); text-align:right; }
.al-smart-category-head > b i { display:block; margin-top:7px; color:var(--al-faint); font:700 8px/1 var(--sv-font-sans,sans-serif); font-style:normal; }
.al-smart-folder { padding:0; font:inherit; text-align:left; cursor:pointer; }
.al-smart-folder__cover { height:auto; }
.al-smart-folder__copy { color:var(--al-ink); }
@keyframes al-smart-card-in { from { opacity:0; transform:translateY(10px); } }

.al-media-home { display:flex; flex-direction:column; gap:28px; }
.al-media-section__head { display:flex; flex-wrap:wrap; align-items:end; gap:10px 16px; margin-bottom:12px; }
.al-media-section__head span { color:var(--al-accent); font-size:8px; font-weight:900; letter-spacing:.16em; }
.al-media-section__head strong { margin-right:auto; font: 700 18px/1 var(--sv-font-sans); }
.al-media-section__head small { color:var(--al-faint); font-size:9px; }
.al-media-section__head button { min-height:32px; border:1px solid var(--al-line); border-radius:999px; padding:0 14px; color:var(--al-muted); background:rgba(255,255,255,.03); font:inherit; font-size:10px; font-weight:800; cursor:pointer; }
.al-media-section__head button:hover { border-color:rgba(var(--sv-brand-rgb),.4); color:var(--al-accent); }
.al-media-folders-note { margin:0; color:var(--al-faint); font-size:10px; line-height:1.6; }
.al-media-fixed, .al-media-content { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.al-media-content { grid-template-columns:repeat(4,minmax(0,1fr)); }
.al-media-card { position:relative; min-width:0; min-height:168px; overflow:hidden; border:1px solid var(--al-line); border-radius:18px; padding:0; color:inherit; background:var(--sv-color-surface-subtle); text-align:left; cursor:pointer; animation:al-smart-card-in .38s both; animation-delay:calc(var(--category-order,0) * 40ms); transition:transform .2s ease,border-color .2s ease; }
.al-media-card:hover { transform:translateY(-3px); border-color:rgba(var(--sv-brand-rgb),.42); }
.al-media-card.is-fixed { background:linear-gradient(160deg,rgba(var(--sv-brand-rgb),.06),var(--sv-color-surface-subtle) 55%); }
.al-media-card__sheet { position:absolute; inset:0; display:grid; grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(2,1fr); gap:1px; background:var(--sv-color-surface-strong); }
.al-media-card__sheet img { width:100%; height:100%; object-fit:cover; min-width:0; min-height:0; opacity:.88; }
.al-media-card__sheet img:only-of-type { grid-column:1/-1; grid-row:1/-1; }
.al-media-card__sheet .al-media-empty-cover, .al-media-card__sheet > b { grid-column:1/-1; grid-row:1/-1; display:grid; place-items:center; color:var(--sv-color-text-faint); font-size:12px; letter-spacing:.12em; }
.al-media-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,3,3,.08) 30%,var(--sv-color-canvas) 100%); pointer-events:none; }
.al-media-card__copy, .al-media-card > b { position:relative; z-index:1; }
.al-media-card__copy { position:absolute; left:14px; right:70px; bottom:14px; }
.al-media-card__copy small { display:block; color:var(--al-accent); font-size:7px; font-weight:900; letter-spacing:.14em; }
.al-media-card__copy strong { display:block; margin-top:6px; color:var(--sv-color-text); font: 700 20px/1.1 var(--sv-font-sans); }
.al-media-card__copy em { display:block; margin-top:6px; color:var(--sv-color-text-muted); font-size:9px; font-style:normal; }
.al-media-card > b { position:absolute; right:14px; bottom:14px; color:var(--al-accent); font: 500 20px/1 var(--sv-font-sans); }
.al-media-card > b i { display:block; margin-top:5px; color:var(--sv-color-text-muted); font:700 7px/1 var(--sv-font-sans,sans-serif); font-style:normal; text-align:right; }
.al-media-placeholder { grid-column:1/-1; min-height:110px; padding:22px 24px; border:1px dashed var(--al-line); border-radius:16px; background:rgba(255,255,255,.02); }
.al-media-placeholder strong { display:block; font-size:14px; }
.al-media-placeholder p { margin:8px 0 0; color:var(--al-muted); font-size:11px; line-height:1.6; }
.al-media-timeline { display:flex; flex-wrap:wrap; gap:8px; }
.al-media-chip { min-height:52px; border:1px solid var(--al-line); border-radius:14px; padding:10px 14px; display:inline-flex; align-items:center; gap:12px; color:inherit; background:rgba(255,255,255,.03); font:inherit; cursor:pointer; animation:al-smart-card-in .3s both; animation-delay:calc(var(--category-order,0) * 30ms); }
.al-media-chip:hover { border-color:rgba(var(--sv-brand-rgb),.4); background:rgba(var(--sv-brand-rgb),.06); }
.al-media-chip strong { font: 700 14px/1 var(--sv-font-sans); }
.al-media-chip b { color:var(--al-accent); font: 500 16px var(--sv-font-sans); }
.al-media-chip b i { margin-left:3px; color:var(--al-faint); font:700 8px/1 var(--sv-font-sans,sans-serif); font-style:normal; }
.al-media-events { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.al-media-card.is-event { min-height:150px; }
.al-results-hero { display:flex; align-items:end; justify-content:space-between; gap:28px; padding:6px 0 2px; }
.al-results-hero > div > span,.al-time-toolbar > div > span { color:var(--al-accent); font-size:8px; font-weight:900; letter-spacing:.16em; }
.al-results-hero h3 { margin:7px 0 0; font: 700 clamp(28px,3vw,42px)/1 var(--sv-font-sans); letter-spacing:-.03em; }
.al-results-hero p { margin:9px 0 0; color:var(--al-faint); font-size:10px; font-variant-numeric:tabular-nums; }
.al-results-tabs { min-width:420px; display:grid; grid-template-columns:repeat(3,1fr); padding:4px; border:1px solid var(--al-line); border-radius:14px; background:rgba(255,255,255,.018); }
.al-results-tabs button { min-height:39px; border:0; border-radius:10px; color:var(--al-faint); background:transparent; font:750 11px/1 var(--sv-font-sans,sans-serif); cursor:pointer; transition:color .18s ease,background .18s ease,transform .18s ease; }
.al-results-tabs button:hover { color:var(--al-ink); background:rgba(255,255,255,.045); }
.al-results-tabs button:active { transform:translateY(1px); }
.al-results-tabs button.is-current { color:#080808; background:var(--al-accent); }
.al-results-tabs button:focus-visible,.al-purpose-card:focus-visible,.al-time-rail button:focus-visible,.al-time-day__head:focus-visible,.al-time-masonry button:focus-visible { outline:2px solid var(--al-accent); outline-offset:2px; }

.al-purpose-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.al-purpose-card { position:relative; aspect-ratio:1.08; min-width:0; overflow:hidden; border:1px solid var(--al-line); border-radius:18px; padding:0; color:var(--al-ink); background:var(--sv-color-surface); text-align:left; cursor:pointer; animation:al-smart-card-in .38s both; animation-delay:calc(var(--category-order,0) * 35ms); transition:transform .2s ease,border-color .2s ease; }
.al-purpose-card:hover { transform:translateY(-3px); border-color:rgba(var(--sv-brand-rgb),.52); }
.al-purpose-card > img { position:absolute; inset:0; width:100%; height:62%; object-fit:cover; filter:saturate(.82) contrast(1.04); }
.al-purpose-card::after { content:""; position:absolute; inset:25% 0 0; background:linear-gradient(180deg,transparent 0,var(--sv-color-surface-subtle) 47%,var(--sv-color-surface-subtle) 100%); pointer-events:none; }
.al-purpose-card.is-review::after { background:linear-gradient(180deg,transparent 0,rgba(31,29,17,.94) 47%,#111006 100%); }
.al-purpose-card__empty { position:absolute; inset:0 0 38%; display:grid; place-items:center; color:var(--al-faint); font-size:8px; letter-spacing:.14em; }
.al-purpose-card__copy,.al-purpose-card > b { position:absolute; z-index:1; left:16px; right:16px; }
.al-purpose-card__copy { bottom:48px; }
.al-purpose-card__copy small { display:block; color:var(--al-accent); font-size:7px; font-weight:900; letter-spacing:.15em; }
.al-purpose-card__copy strong { display:block; margin-top:7px; overflow:hidden; color:var(--sv-color-text); font: 700 21px/1.08 var(--sv-font-sans); text-overflow:ellipsis; white-space:nowrap; }
.al-purpose-card__copy em { display:block; margin-top:7px; overflow:hidden; color:var(--sv-color-text-muted); font-size:8px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.al-purpose-card > b { bottom:15px; color:var(--al-accent); font: 500 16px/1 var(--sv-font-sans); font-variant-numeric:tabular-nums; }
.al-purpose-card > b i { margin-left:6px; color:var(--sv-color-text-muted); font:700 7px/1 var(--sv-font-sans,sans-serif); font-style:normal; }
.al-purpose-support { display:grid; grid-template-columns:150px 1fr; gap:18px; align-items:center; padding:17px 0; border-top:1px solid var(--al-line); border-bottom:1px solid var(--al-line); }
.al-purpose-support__head span,.al-purpose-support__head strong,.al-purpose-support__head small { display:block; }
.al-purpose-support__head span { color:var(--al-accent); font-size:7px; font-weight:900; letter-spacing:.15em; }
.al-purpose-support__head strong { margin-top:6px; font: 700 17px/1 var(--sv-font-sans); }
.al-purpose-support__head small { margin-top:6px; color:var(--al-faint); font-size:8px; }
.al-purpose-quick { display:flex; flex-wrap:wrap; gap:7px; }
.al-purpose-quick button { min-width:112px; min-height:49px; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto auto; align-items:center; gap:3px 12px; border:1px solid var(--al-line); border-radius:11px; padding:8px 11px; color:var(--al-ink); background:rgba(255,255,255,.022); text-align:left; cursor:pointer; }
.al-purpose-quick button:hover { border-color:rgba(var(--sv-brand-rgb),.4); }
.al-purpose-quick small { grid-column:1/-1; color:var(--al-faint); font-size:6px; font-weight:900; letter-spacing:.12em; }
.al-purpose-quick strong { font-size:10px; }
.al-purpose-quick b { color:var(--al-accent); font: 500 14px var(--sv-font-sans); }
.al-scene-tags { color:var(--al-muted); }
.al-scene-tags summary { width:max-content; cursor:pointer; font-size:9px; font-weight:800; }
.al-scene-tags summary span { margin-left:8px; color:var(--al-faint); font-weight:500; }
.al-scene-tags > div { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.al-scene-tags button { min-height:30px; border:1px solid var(--al-line); border-radius:8px; padding:0 10px; color:var(--al-muted); background:transparent; font:inherit; font-size:8px; cursor:pointer; }
.al-scene-tags button b { margin-left:8px; color:var(--al-accent); font-weight:700; }

.al-time-view { display:flex; flex-direction:column; gap:16px; }
.al-time-toolbar { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:14px 16px; border-top:1px solid var(--al-line); border-bottom:1px solid var(--al-line); }
.al-time-toolbar strong { display:block; margin-top:6px; font: 700 18px/1 var(--sv-font-sans); }
.al-time-toolbar p { margin:7px 0 0; color:var(--al-faint); font-size:9px; }
.al-time-toolbar label { display:flex; align-items:center; gap:9px; color:var(--al-faint); font-size:8px; font-weight:800; }
.al-time-toolbar select { min-width:150px; height:38px; border:1px solid var(--al-line); border-radius:10px; padding:0 35px 0 12px; color:var(--al-ink); background:var(--sv-color-surface); font:700 10px var(--sv-font-sans,sans-serif); cursor:pointer; color-scheme:dark; }
.al-time-toolbar select option { background:var(--sv-color-surface); color:var(--sv-color-text); }
.al-time-layout { display:grid; grid-template-columns:150px minmax(0,1fr); gap:28px; align-items:start; }
.al-time-rail { position:sticky; top:14px; display:flex; flex-direction:column; padding-left:16px; border-left:1px solid var(--al-line); }
.al-time-rail button { position:relative; min-height:57px; border:0; padding:8px 6px 8px 15px; color:var(--al-faint); background:transparent; text-align:left; cursor:pointer; }
.al-time-rail button::before { content:""; position:absolute; left:-20px; top:23px; width:7px; height:7px; border:1px solid #555; border-radius:50%; background:var(--sv-color-canvas-raised); }
.al-time-rail button.is-active { color:var(--al-ink); }
.al-time-rail button.is-active::before { border-color:var(--al-accent); background:var(--al-accent); box-shadow:0 0 0 4px rgba(var(--sv-brand-rgb),.09); }
.al-time-rail button span,.al-time-rail button b { display:block; }
.al-time-rail button span { font:700 11px/1.2 var(--sv-font-sans,sans-serif); }
.al-time-rail button b { margin-top:5px; color:var(--al-faint); font-size:8px; font-weight:600; }
.al-time-stream { min-width:0; display:flex; flex-direction:column; gap:30px; }
.al-time-loading { min-height:240px; display:grid; place-content:center; gap:7px; border:1px dashed var(--al-line); border-radius:16px; color:var(--al-muted); text-align:center; }
.al-time-loading b { font-size:12px; }
.al-time-loading span { color:var(--al-faint); font-size:9px; }
.al-time-day { min-width:0; }
.al-time-day__head { width:100%; min-height:42px; display:flex; align-items:center; gap:9px; border:0; padding:0 1px 9px; color:var(--al-ink); background:transparent; text-align:left; cursor:pointer; }
.al-time-day__head span { font: 700 19px/1 var(--sv-font-sans); }
.al-time-day__head b { color:var(--al-accent); font-size:9px; font-weight:800; }
.al-time-day__head i { margin-left:auto; color:var(--al-faint); font-size:8px; font-style:normal; }
.al-time-day__head:hover i { color:var(--al-accent); }
.al-time-masonry {
  position:relative;
  display:block;
  width:100%;
  min-height:48px;
}
.al-time-masonry > button {
  display:block;
  overflow:hidden;
  border:0;
  border-radius:7px;
  padding:0;
  background:var(--sv-color-surface-strong);
  cursor:pointer;
  box-sizing:border-box;
}
.al-time-masonry > button img { width:100%; height:auto; display:block; filter:saturate(.9); transition:transform .25s ease,filter .25s ease; }
.al-time-masonry > button:hover img { transform:scale(1.015); filter:saturate(1); }
.al-time-masonry .al-media-placeholder { padding:24px 12px; }
.al-smart-detail > footer { gap:10px; flex-wrap:wrap; }
#alSmartDetailLoadMore { min-height:37px; border:1px solid rgba(var(--sv-brand-rgb),.45); border-radius:999px; padding:0 16px; color:var(--al-accent); background:rgba(var(--sv-brand-rgb),.08); font:inherit; font-size:9px; font-weight:800; cursor:pointer; }
#alSmartDetailLoadMore[hidden] { display:none; }
#alSmartDetailLoadMore:disabled { opacity:.55; cursor:wait; }
.al-settings-body > footer { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:22px; padding-top:16px; border-top:1px solid var(--al-line); }
.al-settings-footer-actions { display:flex; gap:8px; }
#alRetagButton { border-color:rgba(255,180,80,.35); color:#ffc56d; }

@media (max-width: 1000px) {
  .al-media-fixed { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .al-media-content { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .al-media-events { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .al-media-fixed, .al-media-content, .al-media-events { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .al-media-section__head { align-items:flex-start; flex-direction:column; }
}


.al-smart-detail { width:min(1180px,94vw); max-width:none; max-height:90vh; padding:0; overflow:hidden; border:1px solid rgba(245,242,234,.18); border-radius:22px; color:var(--al-ink); background:var(--sv-color-canvas); box-shadow:0 45px 130px rgba(0,0,0,.82); }
.al-smart-detail::backdrop { background:rgba(0,0,0,.84); backdrop-filter:blur(8px); }
.al-smart-detail > header { min-height:92px; padding:19px 22px; display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid var(--al-line); background:linear-gradient(100deg,rgba(var(--sv-brand-rgb),.06),transparent); }
.al-smart-detail > header > div:first-child { min-width:0; flex:1 1 auto; }
.al-smart-detail > header p { margin:0; color:var(--al-accent); font-size:8px; font-weight:900; letter-spacing:.15em; }
.al-smart-detail > header h2 { margin:7px 0 0; font: 700 25px/1.1 var(--sv-font-sans); }
.al-smart-detail > header span { display:block; margin-top:7px; overflow:hidden; color:var(--al-muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.al-smart-detail-tools { max-width:520px; display:flex; align-items:flex-start; justify-content:flex-end; gap:8px; flex:0 1 auto; flex-wrap:wrap; }
.al-smart-detail-tool { min-height:34px; padding:0 12px; border:1px solid var(--al-line); border-radius:999px; color:var(--al-muted); background:rgba(255,255,255,.03); font:inherit; font-size:9px; font-weight:800; cursor:pointer; white-space:nowrap; }
.al-smart-detail-tool.is-active { color:#0a0a0a; background:var(--al-accent); border-color:var(--al-accent); }
.al-smart-detail-tool.is-danger { color:#ffb4a8; border-color:rgba(255,120,100,.35); }
.al-smart-detail-tool.is-danger:disabled { opacity:.45; cursor:not-allowed; }
.al-smart-detail > header #alSmartDetailClose { width:38px; height:38px; border:1px solid var(--al-line); border-radius:50%; color:var(--al-muted); background:rgba(255,255,255,.03); font-size:23px; cursor:pointer; padding:0; min-height:0; }
.al-smart-detail-grid { max-height:calc(90vh - 160px); min-height:360px; padding:10px; overflow:auto; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:4px; align-content:start; }
.al-smart-detail-grid.is-selecting button,.al-smart-detail-grid.is-selecting a { outline:2px solid transparent; outline-offset:-2px; }
.al-smart-detail-grid.is-selecting .is-picked { outline-color:var(--al-accent); }
.al-smart-detail-grid .al-pick-mark { position:absolute; top:6px; left:6px; width:18px; height:18px; border:1.5px solid rgba(255,255,255,.7); border-radius:4px; background:rgba(0,0,0,.45); opacity:0; pointer-events:none; }
.al-smart-detail-grid.is-selecting .al-pick-mark { opacity:1; }
.al-smart-detail-grid .is-picked .al-pick-mark { background:var(--al-accent); border-color:var(--al-accent); }
.al-smart-detail-grid .is-picked .al-pick-mark::after { content:""; position:absolute; left:5px; top:2px; width:5px; height:9px; border:solid #0a0a0a; border-width:0 2px 2px 0; transform:rotate(45deg); }
.al-smart-detail-grid a,.al-smart-detail-grid button { position:relative; aspect-ratio:1; overflow:hidden; padding:0; border:0; color:var(--sv-color-text); background:var(--sv-color-surface); font:inherit; text-decoration:none; cursor:pointer; }
.al-smart-detail-grid img { width:100%; height:100%; object-fit:contain; background:var(--sv-color-canvas-raised); transition:transform .2s ease; }
.al-smart-detail-grid a:hover img,.al-smart-detail-grid button:hover img { transform:scale(1.035); }
.al-smart-detail-grid a span,.al-smart-detail-grid button span { position:absolute; left:6px; right:6px; bottom:6px; overflow:hidden; padding:4px 5px; color:var(--sv-color-text); background:rgba(0,0,0,.62); font-size:7px; text-overflow:ellipsis; white-space:nowrap; opacity:0; }
.al-smart-detail-grid a:hover span,.al-smart-detail-grid button:hover span { opacity:1; }
.al-smart-detail-grid .is-video { display:grid; place-items:center; }
.al-smart-detail-grid .is-video b { color:var(--al-accent); font-size:13px; }
.al-smart-detail-loading { grid-column:1/-1; min-height:330px; display:flex; justify-content:center; align-items:center; gap:11px; color:var(--al-muted); font-size:10px; }
.al-smart-detail-loading span { width:8px; height:8px; border-radius:50%; background:var(--al-accent); animation:al-pulse 1s infinite; }
.al-smart-detail > footer { min-height:68px; padding:12px 18px; display:flex; justify-content:space-between; align-items:center; gap:18px; border-top:1px solid var(--al-line); }
.al-smart-detail > footer span { color:var(--al-faint); font-size:9px; }
.al-smart-detail > footer button { min-height:37px; border:1px solid var(--al-line); border-radius:999px; padding:0 14px; color:var(--al-muted); background:rgba(255,255,255,.035); font:inherit; font-size:9px; font-weight:800; cursor:pointer; }
.al-smart-photo[hidden] { display:none; }
.al-smart-photo {
  position:fixed;
  z-index:2600;
  inset:0;
  display:grid;
  place-items:center;
  padding:18px;
  box-sizing:border-box;
  background:transparent;
}
.al-smart-photo__backdrop {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:rgba(3,3,3,.72);
  cursor:zoom-out;
}
.al-smart-photo__panel {
  position:relative;
  z-index:1;
  width:min(1280px, calc(100vw - 56px));
  height:min(780px, calc(100dvh - 70px));
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(340px,.7fr);
  overflow:hidden;
  border:1px solid var(--sv-color-border);
  border-radius:8px;
  background:var(--sv-color-canvas);
  box-shadow:0 34px 120px rgba(0,0,0,.58);
}
.al-smart-photo__close {
  position:absolute;
  z-index:4;
  top:12px;
  right:12px;
  width:36px;
  height:36px;
  border:0;
  border-radius:50%;
  color:var(--al-ink);
  background:rgba(0,0,0,.36);
  font:300 24px/1 sans-serif;
  cursor:pointer;
}
.al-smart-photo__close:hover,.al-smart-photo__close:focus-visible {
  color:var(--al-accent);
  outline:none;
}
.al-smart-photo__image {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  height:100%;
  overflow:hidden;
  background:var(--sv-color-canvas);
}
.al-smart-photo__image > img {
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  transition:filter .22s ease,opacity .22s ease;
}
.al-smart-photo__image > img.is-loading-detail { filter:blur(2px); opacity:.84; }
.al-smart-photo__counter {
  position:absolute;
  z-index:2;
  top:12px;
  left:12px;
  max-width:calc(100% - 72px);
  padding:5px 10px;
  border-radius:999px;
  color:var(--sv-color-text);
  background:rgba(0,0,0,.48);
  font-size:10px;
  font-variant-numeric:tabular-nums;
}
.al-smart-photo__nav {
  position:absolute;
  z-index:3;
  top:50%;
  width:40px;
  height:52px;
  border:1px solid var(--sv-color-border-strong);
  border-radius:10px;
  color: var(--sv-color-text);
  background:rgba(0,0,0,.52);
  font:500 18px/1 sans-serif;
  cursor:pointer;
  transform:translateY(-50%);
  transition:border-color .18s ease,color .18s ease,opacity .18s ease;
}
.al-smart-photo__nav.is-prev { left:10px; }
.al-smart-photo__nav.is-next { right:10px; }
.al-smart-photo__nav:hover,.al-smart-photo__nav:focus-visible { border-color:var(--al-accent); color:var(--al-accent); outline:none; }
.al-smart-photo__nav:disabled { opacity:.18; cursor:default; }
.al-smart-photo__side {
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:24px 24px 18px;
  border-left:1px solid var(--sv-color-border-soft);
  background:var(--sv-color-surface-strong);
}
.al-smart-photo__info {
  display:flex;
  flex:1;
  flex-direction:column;
  min-height:0;
  overflow:auto;
  scrollbar-width:none;
}
.al-smart-photo__info::-webkit-scrollbar { display:none; }
.al-smart-photo__kicker {
  margin:0;
  color:var(--al-accent);
  font-size:8px;
  font-weight:900;
  letter-spacing:.14em;
}
.al-smart-photo__info h3 {
  margin:10px 0 8px;
  color:var(--sv-color-text);
  font: 600 22px/1.25 var(--sv-font-sans);
  word-break:break-word;
}
.al-smart-photo__meta {
  margin:0 0 18px;
  color:var(--sv-color-text-muted);
  font-size:10px;
  word-break:break-word;
}
.al-smart-photo__rating-section { margin:0 0 18px; }
.al-smart-photo__rating {
  display:flex;
  gap:4px;
  align-items:center;
}
.al-smart-photo__rating button {
  width:34px;
  height:34px;
  border:0;
  border-radius:8px;
  padding:0;
  color:var(--sv-color-text-faint);
  background:rgba(255,255,255,.04);
  font-size:18px;
  line-height:1;
  cursor:pointer;
  transition:color .15s ease, background .15s ease, transform .15s ease;
}
.al-smart-photo__rating button.is-active { color:#f4bd18; background:rgba(244,189,24,.12); }
.al-smart-photo__rating button:hover,.al-smart-photo__rating button:focus-visible {
  color:#f4bd18;
  transform:translateY(-1px);
  outline:none;
}
.al-smart-photo__rating-hint {
  margin:8px 0 0;
  color:var(--sv-color-text-faint);
  font-size:9px;
  line-height:1.45;
}
.al-time-masonry > button { position:relative; }
.al-time-masonry > button .al-star-badge {
  position:absolute;
  z-index:2;
  left:6px;
  bottom:6px;
  min-height:18px;
  padding:0 6px;
  border-radius:999px;
  color:#111;
  background:rgba(244,189,24,.92);
  font-size:9px;
  font-weight:800;
  line-height:18px;
  letter-spacing:.02em;
  pointer-events:none;
}
.al-time-masonry > button .al-media-kind-badge {
  position:absolute;
  z-index:2;
  top:6px;
  left:6px;
  min-height:18px;
  padding:0 6px;
  border-radius:999px;
  color: var(--sv-color-text);
  background:rgba(0,0,0,.62);
  font-size:8px;
  font-weight:800;
  font-style:normal;
  line-height:18px;
  letter-spacing:.06em;
  pointer-events:none;
}
.al-time-masonry > button .al-media-kind-badge.is-raw { background:rgba(80,120,255,.78); }
.al-time-masonry > button .al-media-kind-badge + .al-media-kind-badge { left:58px; }
.al-event-stream-view .al-time-toolbar-filters {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex:0 1 auto;
  max-width:min(520px, 100%);
}
.al-event-stream-view .al-time-toolbar label.al-event-star-filter,
.al-event-stream-view .al-time-toolbar label.al-event-format-filter {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  border:1px solid var(--al-line);
  border-radius:8px;
  padding:0 10px;
  color:var(--al-muted);
  background:var(--sv-color-surface-strong);
  font-size:10px;
}
.al-event-stream-view .al-time-toolbar .al-event-batch-toggle {
  min-height:36px;
  border:1px solid rgba(190,214,188,.45);
  border-radius:8px;
  padding:0 16px;
  color:#111412;
  background:#bed6bc;
  font:inherit;
  font-size:11px;
  font-weight:800;
  letter-spacing:.02em;
  cursor:pointer;
  white-space:nowrap;
}
.al-event-stream-view .al-time-toolbar .al-event-batch-toggle:hover {
  background:#d0e3ce;
}
.al-event-stream-view .al-time-toolbar .al-event-batch-toggle.is-active {
  color:var(--sv-color-text);
  border-color:rgba(255,120,120,.45);
  background:rgba(122,28,28,.42);
}
.al-event-stream-view .al-time-toolbar label.al-event-star-filter select,
.al-event-stream-view .al-time-toolbar label.al-event-format-filter select {
  border:0;
  outline:0;
  min-width:118px;
  color:var(--sv-color-text);
  background:var(--sv-color-surface-strong);
  font:inherit;
  font-size:10px;
  font-weight:750;
  cursor:pointer;
  color-scheme: dark;
}
.al-event-stream-view .al-time-toolbar label.al-event-star-filter select option,
.al-event-stream-view .al-time-toolbar label.al-event-format-filter select option {
  background:var(--sv-color-surface-strong);
  color:var(--sv-color-text);
}
.al-smart-photo__info section { margin:0 0 16px; }
.al-smart-photo__info h4 {
  margin:0 0 10px;
  color:var(--sv-color-text-muted);
  font-size:8px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.al-smart-photo__info dl { margin:0; display:grid; gap:12px; }
.al-smart-photo__info dl > div { min-width:0; }
.al-smart-photo__info dt {
  margin:0 0 4px;
  color:var(--sv-color-text-faint);
  font-size:8px;
  font-weight:750;
}
.al-smart-photo__info dd {
  margin:0;
  color:var(--sv-color-text);
  font-size:12px;
  line-height:1.45;
  word-break:break-word;
}
.al-smart-photo__info > small {
  display:block;
  margin-top:auto;
  padding-top:16px;
  color:var(--sv-color-text-faint);
  font-size:9px;
  line-height:1.55;
}
.al-smart-photo__foot {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--sv-color-border-soft);
}
.al-smart-photo__ghost,.al-smart-photo__primary {
  min-height:34px;
  border-radius:8px;
  padding:0 12px;
  font:inherit;
  font-size:10px;
  font-weight:750;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.al-smart-photo__ghost {
  border:1px solid var(--sv-color-border-strong);
  color:var(--sv-color-text);
  background:transparent;
}
.al-smart-photo__primary {
  border:1px solid rgba(var(--sv-brand-rgb),.45);
  color:#111;
  background:var(--al-accent);
}
.al-smart-photo__create {
  margin-left:auto;
  min-width:104px;
  gap:7px;
  box-shadow:0 8px 24px rgba(var(--sv-brand-rgb),.12);
}
.al-smart-photo__create span { font-size:13px; line-height:1; }
.al-smart-photo__primary[hidden],.al-smart-photo__ghost[hidden] { display:none; }
.al-smart-photo__primary:disabled,.al-smart-photo__ghost:disabled { opacity:.45; cursor:wait; }
.al-create-picker {
  width:min(1010px,calc(100vw - 32px));
  max-height:min(820px,calc(100dvh - 32px));
  padding:0;
  overflow:hidden;
  border:1px solid var(--sv-color-border);
  border-radius:16px;
  color:var(--sv-color-text);
  background:var(--sv-color-surface-subtle);
  box-shadow:0 36px 120px rgba(0,0,0,.72);
}
.al-create-picker::backdrop { background:rgba(0,0,0,.78); backdrop-filter:blur(9px); }
.al-create-picker__panel { display:flex; max-height:min(820px,calc(100dvh - 32px)); flex-direction:column; }
.al-create-picker__header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:24px 26px 18px;
  border-bottom:1px solid var(--sv-color-border-soft);
}
.al-create-picker__header span { color:var(--al-accent); font-size:9px; font-weight:900; letter-spacing:.16em; }
.al-create-picker__header h2 { margin:7px 0 5px; font-size:23px; line-height:1.2; letter-spacing:-.02em; }
.al-create-picker__header p { margin:0; color:var(--sv-color-text-muted); font-size:11px; }
.al-create-picker__header > button {
  width:34px;
  height:34px;
  flex:0 0 auto;
  border:1px solid var(--sv-color-border);
  border-radius:9px;
  color:var(--sv-color-text-muted);
  background:rgba(255,255,255,.025);
  font:300 20px/1 sans-serif;
  cursor:pointer;
}
.al-create-picker__header > button:hover,.al-create-picker__header > button:focus-visible { border-color:var(--al-accent); color:var(--al-accent); outline:0; }
.al-create-picker__source {
  display:flex;
  align-items:center;
  gap:12px;
  margin:18px 26px 0;
  padding:10px;
  border:1px solid var(--sv-color-border-soft);
  border-radius:11px;
  background:rgba(255,255,255,.025);
}
.al-create-picker__source img { width:48px; height:58px; flex:0 0 auto; border-radius:7px; object-fit:contain; background:var(--sv-color-canvas); }
.al-create-picker__source div { min-width:0; }
.al-create-picker__source span,.al-create-picker__source strong,.al-create-picker__source small { display:block; }
.al-create-picker__source span { color:var(--al-accent); font-size:8px; font-weight:850; letter-spacing:.08em; }
.al-create-picker__source strong { margin-top:5px; overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.al-create-picker__source small { margin-top:3px; overflow:hidden; color:var(--sv-color-text-muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.al-create-picker__filters { display:flex; gap:22px; margin:12px 26px 0; border-bottom:1px solid var(--sv-color-border-soft); }
.al-create-picker__filters button {
  position:relative;
  min-height:38px;
  padding:0;
  border:0;
  color:var(--sv-color-text-muted);
  background:transparent;
  font:inherit;
  font-size:10px;
  font-weight:750;
  cursor:pointer;
}
.al-create-picker__filters button::after { content:""; position:absolute; right:0; bottom:-1px; left:0; height:2px; background:transparent; }
.al-create-picker__filters button.is-active { color:var(--sv-color-text); }
.al-create-picker__filters button.is-active::after { background:var(--al-accent); }
.al-create-picker__grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  min-height:250px;
  padding:16px 26px 24px;
  overflow:auto;
  scrollbar-width:thin;
}
.al-create-case {
  min-width:0;
  padding:0;
  overflow:hidden;
  border:1px solid var(--sv-color-border-soft);
  border-radius:11px;
  color:inherit;
  background:var(--sv-color-surface-strong);
  text-align:left;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.al-create-case:hover,.al-create-case:focus-visible { transform:translateY(-2px); border-color:rgba(var(--sv-brand-rgb),.42); outline:0; box-shadow:0 18px 38px rgba(0,0,0,.28); }
.al-create-case__media { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:var(--sv-color-canvas-raised); }
.al-create-case__media img,.al-create-case__media video { display:block; width:100%; height:100%; object-fit:cover; }
.al-create-case__media > span { position:absolute; top:8px; left:8px; padding:4px 7px; border-radius:5px; color:var(--sv-color-text); background:rgba(4,6,4,.72); font: 800 8px/1 var(--sv-font-mono); letter-spacing:.08em; }
.al-create-case__body { display:block; padding:11px 12px 12px; }
.al-create-case__body small,.al-create-case__body strong,.al-create-case__body em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.al-create-case__body small { color:var(--al-accent); font-size:8px; font-weight:800; }
.al-create-case__body strong { margin-top:6px; font-size:12px; line-height:1.35; }
.al-create-case__body em { margin-top:7px; color:var(--sv-color-text-muted); font-size:9px; font-style:normal; }
.al-create-picker__empty { grid-column:1/-1; min-height:220px; display:grid; place-items:center; align-content:center; gap:11px; color:var(--sv-color-text-muted); font-size:11px; }
.al-create-picker__empty span { width:8px; height:8px; border-radius:50%; background:var(--al-accent); animation:al-pulse 1s infinite; }
.al-create-picker__empty a { color:var(--al-accent); text-decoration:none; }
.al-create-picker__footer { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:52px; padding:10px 26px; border-top:1px solid var(--sv-color-border-soft); color:var(--sv-color-text-muted); font-size:9px; }
.al-create-picker__footer a { color:var(--sv-color-text-muted); text-decoration:none; }
.al-create-picker__footer a:hover { color:var(--al-accent); }
@media (max-width:900px) {
  .al-smart-photo { padding:12px; }
  .al-smart-photo__panel {
    width:min(100%, calc(100vw - 24px));
    height:auto;
    max-height:min(92dvh, 900px);
    grid-template-columns:1fr;
    overflow:auto;
  }
  .al-smart-photo__image { min-height:48dvh; max-height:70dvh; height:auto; }
  .al-smart-photo__side { border-left:0; border-top:1px solid var(--sv-color-border-soft); }
  .al-create-picker__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .al-create-picker__footer { align-items:flex-start; flex-direction:column; gap:4px; }
}
.al-smart-pager { margin-top:18px; display:flex; justify-content:center; align-items:center; gap:12px; }
.al-smart-pager button { min-height:36px; padding:0 14px; border:1px solid var(--al-line); border-radius:999px; color:var(--al-muted); background:rgba(255,255,255,.025); font:inherit; font-size:9px; font-weight:800; cursor:pointer; }
.al-smart-pager button:disabled { opacity:.3; cursor:default; }
.al-smart-pager span { color:var(--al-faint); font-size:9px; }
.al-search-badge.is-exact { color: var(--sv-color-on-brand, #050505); border-color: var(--al-accent); background: var(--al-accent); }
.al-search-badge.is-near { border-color: rgba(var(--sv-brand-rgb),.55); color: var(--al-accent); }
.al-search-badge.is-semantic { border-color: rgba(var(--sv-brand-rgb),.55); color: var(--al-accent); }
.al-search-copy { position: absolute; z-index: 2; left: 12px; right: 12px; bottom: 11px; }
.al-search-copy strong, .al-search-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.al-search-copy strong { font-size: 11px; }
.al-search-copy small { margin-top: 4px; color: var(--sv-color-text-muted); font-size: 8px; }
.al-search-loading { grid-column: 1 / -1; min-height: 140px; display: flex; align-items: center; justify-content: center; gap: 12px; color: var(--al-muted); font-size: 11px; }
.al-search-loading span { width: 9px; height: 9px; border-radius: 50%; background: var(--al-accent); animation: al-pulse 1s infinite; }
.al-search-empty { min-height: 190px; }
.al-dialog { width: min(1180px, calc(100vw - 40px)); max-height: calc(100vh - 40px); padding: 0; border: 1px solid var(--al-line); border-radius: 25px; color: var(--al-ink); background: var(--sv-color-surface-subtle); box-shadow: 0 44px 110px rgba(0,0,0,.72); }
.al-dialog::backdrop { background: rgba(0,0,0,.78); backdrop-filter: blur(8px); }
.al-dialog-shell { padding: 25px; }
.al-dialog-header { display: flex; justify-content: space-between; align-items: start; gap: 20px; margin-bottom: 18px; }
.al-dialog-header h2 { margin: 0; font: 700 31px var(--sv-font-sans); }
.al-dialog-header span { display: block; margin-top: 7px; color: var(--al-muted); font-size: 11px; }
.al-dialog-header button { width: 39px; height: 39px; border: 1px solid var(--al-line); border-radius: 50%; color: var(--al-ink); background: rgba(255,255,255,.03); font-size: 24px; cursor: pointer; }
.al-dialog-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; max-height: 62vh; overflow: auto; scrollbar-width: none; }
.al-dialog-grid::-webkit-scrollbar { display: none; }
.al-asset { position: relative; aspect-ratio: 1; border: 0; border-radius: 10px; padding: 0; overflow: hidden; background: var(--al-panel-strong); cursor: pointer; }
.al-asset img { width: 100%; height: 100%; object-fit: cover; }
.al-asset span { position: absolute; left: 8px; bottom: 8px; border-radius: 999px; padding: 5px 8px; color: var(--sv-color-text); background: rgba(24,21,18,.72); opacity: 0; transform: translateY(5px); transition: .18s ease; font-size: 9px; font-weight: 800; }
.al-asset:hover span { opacity: 1; transform: none; }
.al-similar { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--al-line); }
.al-similar[hidden] { display: none; }
.al-similar header { display: flex; justify-content: space-between; align-items: end; margin-bottom: 10px; }
.al-similar h3 { margin: 0; font: 700 21px var(--sv-font-sans); }
.al-similar header button { border: 0; color: var(--al-muted); background: transparent; font: inherit; font-size: 10px; cursor: pointer; }
#alSimilarGrid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; }
.al-similar-item { position: relative; aspect-ratio: 1; border-radius: 8px; overflow: hidden; background: var(--al-panel-strong); }
.al-similar-item img { width: 100%; height: 100%; object-fit: cover; }
.al-similar-item span { position: absolute; right: 5px; bottom: 5px; border-radius: 99px; padding: 4px 6px; color: var(--sv-color-text); background: rgba(20,18,15,.72); font-size: 8px; }
.al-detail-modal { position: fixed; z-index: 1800; inset: 0; display: grid; place-items: center; padding: 24px; }
.al-detail-modal[hidden] { display: none; }
.al-detail-backdrop { position: absolute; inset: 0; border: 0; background: rgba(0,0,0,.82); backdrop-filter: blur(10px); cursor: default; }
.al-detail-panel { position: relative; width: min(720px, calc(100vw - 32px)); max-height: calc(100vh - 42px); overflow: auto; scrollbar-width: none; border: 1px solid rgba(245,242,234,.16); border-radius: 26px; color: var(--al-ink); background: var(--sv-color-surface-elevated, #1a1a1a); box-shadow: 0 48px 140px rgba(0,0,0,.82); animation: al-detail-in .24s cubic-bezier(.16,1,.3,1); }
.al-detail-panel::-webkit-scrollbar { display: none; }
.al-detail-head { position: sticky; z-index: 3; top: 0; display: flex; align-items: center; justify-content: space-between; padding: 24px 28px 18px; border-bottom: 1px solid var(--al-line); background: var(--sv-color-surface-subtle); backdrop-filter: blur(14px); }
.al-detail-head p { margin: 0 0 7px; color: var(--al-accent); font-size: 9px; font-weight: 900; letter-spacing: .2em; }
.al-detail-head h2 { margin: 0; font: 700 29px var(--sv-font-sans); }
.al-detail-close { width: 38px; height: 38px; border: 1px solid var(--al-line); border-radius: 50%; color: var(--al-muted); background: rgba(255,255,255,.025); font-size: 24px; line-height: 1; cursor: pointer; }
#alDetailForm { padding: 22px 28px 28px; }
.al-detail-summary { display: grid; grid-template-columns: 108px 1fr; align-items: center; gap: 18px; margin-bottom: 24px; }
.al-detail-cover { width:108px; aspect-ratio:1; display:grid; grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(2,1fr); gap:2px; border:1px solid var(--al-line); border-radius:12px; padding:4px; overflow:hidden; background:var(--sv-color-canvas); }
.al-detail-cover img { width: 100%; height: 100%; min-height: 0; border-radius: 6px; object-fit: cover; }
.al-detail-summary span, .al-detail-summary small { display: block; color: var(--al-muted); font-size: 10px; }
.al-detail-summary strong { display: block; margin: 7px 0; font: 700 19px var(--sv-font-sans); }
.al-detail-field { display: block; margin-top: 18px; }
.al-detail-field > span, .al-detail-tags legend { display: flex; align-items: baseline; justify-content: space-between; width: 100%; margin-bottom: 8px; color: var(--al-ink); font-size: 11px; font-weight: 900; }
.al-detail-field i, .al-detail-tags i { color: var(--al-faint); font-size: 9px; font-style: normal; font-weight: 500; }
.al-detail-field input, .al-detail-field textarea, #alTagInput { width: 100%; border: 1px solid var(--al-line); border-radius: 13px; outline: 0; padding: 12px 14px; color: var(--al-ink); background: rgba(255,255,255,.025); font: inherit; font-size: 12px; line-height: 1.65; transition: border-color .18s, background .18s; }
.al-detail-field textarea { resize: vertical; min-height: 112px; }
.al-ai-title-hint { display: block; margin-top: 8px; color: var(--al-accent); font-size: 9px; line-height: 1.55; }
.al-ai-title-hint[hidden] { display: none; }
.al-detail-field input:focus, .al-detail-field textarea:focus, #alTagInput:focus { border-color: rgba(var(--sv-brand-rgb),.5); background: rgba(var(--sv-brand-rgb),.035); }
.al-detail-tags { min-width: 0; margin: 20px 0 0; border: 0; padding: 0; }
.al-tag-presets, .al-tag-editor { display: flex; flex-wrap: wrap; gap: 7px; }
.al-tag-presets button, .al-tag-editor button { min-height: 29px; border: 1px solid var(--al-line); border-radius: 999px; padding: 0 11px; color: var(--al-muted); background: rgba(255,255,255,.025); font: inherit; font-size: 10px; cursor: pointer; }
.al-tag-presets button.is-selected, .al-tag-editor button { border-color: rgba(var(--sv-brand-rgb),.4); color: var(--al-accent); background: rgba(var(--sv-brand-rgb),.07); }
.al-tag-editor { margin: 10px 0; }
.al-tag-editor button::after { content: " ×"; color: var(--al-faint); }
#alTagInput { margin-top: 2px; }
.al-detail-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--al-line); }
.al-detail-foot > span { display: flex; gap: 8px; }
.al-detail-foot button { min-height: 38px; border: 1px solid var(--al-line); border-radius: 999px; padding: 0 17px; color: var(--al-muted); background: rgba(255,255,255,.025); font: inherit; font-size: 10px; font-weight: 900; cursor: pointer; }
.al-detail-foot .al-detail-save { border-color: var(--al-accent); color: var(--sv-color-on-brand,#050505); background: var(--al-accent); }
.al-detail-foot .al-detail-delete { border-color: rgba(255,98,98,.28); color: #ff9d9d; background: rgba(255,70,70,.045); }
.al-detail-safe { margin: 10px 0 0; color: var(--al-faint); font-size: 9px; text-align: right; }
body.al-modal-open { overflow: hidden; }
@keyframes al-detail-in { from { opacity: 0; transform: translateY(12px) scale(.985); } }
.al-toast { position: fixed; z-index: 1300; right: 28px; bottom: 26px; display: flex; gap: 10px; align-items: center; padding: 13px 17px; border: 1px solid var(--al-line); border-radius: 999px; color: var(--al-ink); background: var(--sv-color-surface); box-shadow: 0 20px 50px rgba(0,0,0,.5); font-size: 11px; }
.al-toast[hidden] { display: none; }
.al-toast span { width: 8px; height: 8px; border-radius: 50%; background: var(--al-accent); animation: al-pulse 1s infinite; }
.al-tag-progress { position:relative; min-height:72px; margin:18px 0 -4px; padding:14px 110px 16px 18px; display:flex; align-items:center; overflow:hidden; border:1px solid rgba(var(--sv-brand-rgb),.22); border-radius:16px; background:rgba(255,255,255,.03); }
.al-tag-progress[hidden] { display:none; }
.al-tag-progress small { display:block; color:var(--al-accent); font-size:7px; font-weight:900; letter-spacing:.16em; }
.al-tag-progress strong { display:block; margin-top:5px; font: 700 14px/1.2 var(--sv-font-sans); }
.al-tag-progress p { margin:4px 0 0; color:var(--al-faint); font-size:9px; }
.al-tag-progress > button { position:absolute; top:20px; right:16px; min-height:32px; border:1px solid var(--al-line); border-radius:999px; padding:0 12px; color:var(--al-muted); background:rgba(0,0,0,.22); font:inherit; font-size:9px; font-weight:800; cursor:pointer; }
.al-tag-progress__track { position:absolute; left:0; right:0; bottom:0; height:3px; background:rgba(255,255,255,.045); }
.al-tag-progress__track span { display:block; height:100%; width:0; background:var(--al-accent); transition:width .35s ease; }
.al-settings { width:min(560px, calc(100vw - 24px)); max-height:calc(100vh - 32px); overflow:auto; border:1px solid var(--al-line); border-radius:22px; padding:0; color:var(--al-ink); background:var(--sv-color-surface-subtle); box-shadow:0 28px 80px rgba(0,0,0,.55); }
.al-settings::backdrop { background:rgba(0,0,0,.55); }
.al-settings > header { display:flex; justify-content:space-between; align-items:start; gap:16px; padding:22px 24px 0; }
.al-settings > header p { margin:0 0 8px; color:var(--al-accent); font-size:9px; font-weight:900; letter-spacing:.16em; }
.al-settings > header h2 { margin:0; font: 700 24px/1 var(--sv-font-sans); }
.al-settings > header button { width:34px; height:34px; border:1px solid var(--al-line); border-radius:999px; color:var(--al-muted); background:transparent; font-size:18px; cursor:pointer; }
.al-settings-body { padding:18px 24px 24px; }
.al-settings-lead { margin:0 0 18px; color:var(--al-muted); font-size:12px; line-height:1.6; }
.al-settings-switch { display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start; margin:0 0 14px; padding:12px 14px; border:1px solid var(--al-line); border-radius:14px; background:rgba(255,255,255,.02); cursor:pointer; }
.al-settings-switch input { margin-top:3px; }
.al-settings-switch strong { display:block; font-size:13px; }
.al-settings-switch small { display:block; margin-top:4px; color:var(--al-faint); font-size:10px; line-height:1.5; }
.al-settings-hw { margin:16px 0; padding:14px 16px; border:1px solid rgba(var(--sv-brand-rgb),.2); border-radius:14px; background:rgba(var(--sv-brand-rgb),.05); }
.al-settings-hw p { margin:0 0 6px; color:var(--al-accent); font-size:8px; font-weight:900; letter-spacing:.14em; }
.al-settings-hw strong { display:block; font-size:14px; }
.al-settings-hw span { display:block; margin-top:6px; color:var(--al-muted); font-size:11px; line-height:1.5; }
.al-event-title-settings { margin:16px 0; padding:15px; border:1px solid var(--al-line); border-radius:16px; background:linear-gradient(145deg,rgba(var(--sv-brand-rgb),.045),rgba(255,255,255,.012)); }
.al-event-title-settings > header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:13px; }
.al-event-title-settings > header small,.al-event-title-settings > header strong { display:block; }
.al-event-title-settings > header small { color:var(--al-accent); font-size:7px; font-weight:900; letter-spacing:.15em; }
.al-event-title-settings > header strong { margin-top:6px; font: 700 16px/1.1 var(--sv-font-sans); }
.al-event-title-settings > header > span { flex:0 0 auto; padding:6px 9px; border:1px solid var(--al-line); border-radius:999px; color:var(--al-muted); background:var(--sv-color-canvas-raised); font-size:8px; font-weight:800; }
.al-event-title-settings > header > span.is-ready { border-color:rgba(var(--sv-brand-rgb),.42); color:var(--al-accent); }
.al-event-title-settings .al-settings-switch { margin-bottom:9px; background:rgba(0,0,0,.18); }
.al-event-title-local { padding:10px 12px; border-left:2px solid var(--al-line); color:var(--al-faint); font-size:10px; line-height:1.55; }
.al-event-title-local.is-ready { border-color:var(--al-accent); color:var(--al-muted); }
.al-cloud-title-option { margin-top:10px!important; border-color:rgba(236,183,73,.24)!important; background:rgba(236,183,73,.035)!important; }
.al-cloud-title-option[hidden] { display:none!important; }
.al-cloud-title-option strong { color:#e9c980; }
.al-settings-field { display:block; margin-top:8px; }
.al-settings-field > span { display:flex; justify-content:space-between; margin-bottom:10px; font-size:11px; font-weight:800; }
.al-settings-field i { color:var(--al-faint); font-style:normal; font-weight:500; font-size:9px; }
.al-settings-concurrency { display:grid; grid-template-columns:1fr auto auto; gap:10px; align-items:center; }
.al-settings-concurrency input[type=range] { width:100%; }
.al-settings-concurrency b { min-width:1.2em; font: 700 20px var(--sv-font-sans); color:var(--al-accent); }
.al-settings-concurrency button { min-height:32px; border:1px solid var(--al-line); border-radius:999px; padding:0 12px; color:var(--al-muted); background:rgba(255,255,255,.03); font:inherit; font-size:10px; font-weight:800; cursor:pointer; white-space:nowrap; }
.al-settings-hint { min-height:2.4em; margin:12px 0 0; color:var(--al-faint); font-size:10px; line-height:1.5; }
.al-settings-body > footer { display:flex; justify-content:flex-end; gap:8px; margin-top:22px; padding-top:16px; border-top:1px solid var(--al-line); }
.al-settings-body > footer button { min-height:38px; border:1px solid var(--al-line); border-radius:999px; padding:0 18px; color:var(--al-muted); background:rgba(255,255,255,.03); font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.al-settings-body > footer .al-settings-save { border-color:var(--al-accent); color:var(--sv-color-on-brand,#050505); background:var(--al-accent); }
@keyframes al-pulse { 50% { opacity: .4; transform: scale(1.5); } }
@keyframes al-spin { to { transform:rotate(360deg); } }
@keyframes al-scan-flow { from { transform:translateX(-110%); } to { transform:translateX(300%); } }
@media (max-width: 1000px) { .al-grid { grid-template-columns: repeat(2, 1fr); } .al-smart-categories { grid-template-columns:repeat(2,minmax(0,1fr)); } .al-smart-folder-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .al-scan-task { grid-template-columns:1fr; padding-right:96px; gap:12px; } }
@media (max-width: 1000px) { .al-semantic-search { grid-template-columns: 1fr; gap: 14px; } .al-semantic-search code, .al-semantic-search em { justify-self: start; } .al-search-results { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .al-shell { padding: 24px 14px 50px; } .al-header { align-items: start; flex-direction: column; } .al-header-actions { width:100%; flex-wrap:wrap; } .al-header-actions > * { flex:1; } .al-scan-task { padding:16px 16px 20px; } .al-scan-task__facts { gap:16px; } .al-scan-task > button { position:static; justify-self:start; } .al-overview { grid-template-columns: 1fr 1fr; } .al-overview article:nth-child(2) { border-right: 0; } .al-overview article:nth-child(-n+2) { border-bottom: 1px solid var(--al-line); } .al-grid { grid-template-columns: 1fr; } .al-dialog-grid { grid-template-columns: repeat(2, 1fr); } #alSimilarGrid { grid-template-columns: repeat(3, 1fr); } .al-search-workspace { grid-template-columns: 1fr; } .al-search-drop, .al-search-readout { min-height: 220px; } .al-search-results { grid-template-columns: repeat(2, minmax(0, 1fr)); } .al-smart-intro,.al-smart-result-head { align-items:flex-start; flex-direction:column; } .al-smart-intro p { text-align:left; } .al-smart-categories,.al-smart-folder-grid { grid-template-columns:1fr; } .al-smart-category-head { grid-template-columns:1fr; gap:14px; } .al-smart-category-head > b { text-align:left; } .al-smart-detail { width:calc(100vw - 16px); max-height:calc(100vh - 16px); border-radius:18px; } .al-smart-detail-grid { grid-template-columns:repeat(3,minmax(0,1fr)); max-height:calc(100vh - 175px); } .al-smart-detail > footer span { display:none; } .al-detail-modal { padding: 8px; } .al-detail-panel { width: calc(100vw - 16px); max-height: calc(100vh - 16px); border-radius: 20px; } .al-detail-head, #alDetailForm { padding-left: 18px; padding-right: 18px; } .al-detail-foot { align-items: stretch; flex-direction: column-reverse; } .al-detail-foot > span, .al-detail-foot button { width: 100%; } .al-detail-safe { text-align: left; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

/* 2026-09-07 folder-first pass: less dashboard, more photo browser. */
.al-shell { width:min(1480px,100%); padding-top:28px; }
.al-header { align-items:center; }
.al-kicker { margin-bottom:7px; font-size:8px; letter-spacing:.15em; }
.al-header h1 { font-size:clamp(38px,3.1vw,52px); line-height:1; }
.al-subtitle { max-width:620px; margin-top:11px; color:var(--al-faint); font-size:12px; }
.al-header-actions { align-items:center; }
.al-header-actions .al-ghost-action,.al-header-actions .al-index-action { border-color:transparent; background:transparent; }
.al-header-actions .al-index-action { padding-inline:12px; font-size:10px; }
.al-overview { margin:22px 0 12px; border-radius:15px; background:rgba(255,255,255,.018); }
.al-overview article { min-height:74px; padding:13px 18px; }
.al-overview span,.al-overview small { font-size:8px; }
.al-overview strong { margin-top:8px; font-size:23px; }
.al-tabs { margin:12px 0 24px; border-bottom:1px solid var(--al-line); }
.al-tabs button { min-height:41px; border-radius:0; padding:0 13px; }
.al-tabs button.is-active { color:var(--al-ink); background:transparent; box-shadow:inset 0 -2px var(--al-accent); }
.al-tabs button:focus-visible,.al-folder-open:focus-visible,.al-folder-workflow button:focus-visible,.al-folder-bulk button:focus-visible { outline:2px solid var(--al-accent); outline-offset:2px; }
.al-section-head { margin-bottom:13px; }
.al-section-head p { margin-bottom:6px; font-size:8px; }
.al-section-head h2 { font-size:22px; }
.al-grid { display:block; }
body[data-album-kind="event"] .al-grid,
body[data-album-kind="place"] .al-grid,
body[data-album-kind="linked"] .al-grid { display:grid; grid-template-columns:repeat(3,minmax(260px,1fr)); }
body[data-album-kind="event"] .al-contact-sheet { aspect-ratio:16 / 10; max-height:42vh; }
.al-tag-progress { min-height:60px; margin-top:16px; border-radius:13px; }
body.al-folder-home .al-overview,
body.al-folder-home .al-section-head,
body.al-folder-home #alIndexButton { display:none; }
body.al-results-home .al-section-head { display:none; }
body.al-folder-home .al-tabs { margin-top:17px; margin-bottom:18px; }
body.al-folder-home .al-tag-progress { min-height:48px; margin:13px 0 0; padding-block:9px; }
body.al-folder-home .al-tag-progress > button { top:8px; }

.al-folder-inbox { display:flex; flex-direction:column; gap:14px; }
.al-root-inbox { display:flex; flex-direction:column; gap:14px; }
.al-root-head { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:4px 0 11px; border-bottom:1px solid var(--al-line); }
.al-root-head span { color:var(--al-accent); font-size:8px; font-weight:900; letter-spacing:.13em; }
.al-root-head strong { display:block; margin-top:7px; color:var(--al-ink); font-size:22px; line-height:1.05; }
.al-root-head p,.al-root-guidance { margin:6px 0 0; color:var(--al-faint); font-size:10px; }
.al-root-head > button { min-height:34px; border:1px solid var(--al-line); border-radius:9px; padding:0 13px; color:var(--al-muted); background:transparent; font:inherit; font-size:9px; font-weight:800; cursor:pointer; }
.al-root-guidance { margin:0; padding:0 1px; }
.al-root-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.al-root-card { position:relative; min-width:0; overflow:hidden; border:1px solid var(--al-line); border-radius:14px; background:var(--sv-color-surface-subtle); transition:border-color .18s ease,transform .18s ease; }
.al-root-card:hover { border-color:var(--sv-color-border-strong); transform:translateY(-1px); }
.al-root-card.is-selected { border-color:var(--al-accent); background:rgba(var(--sv-brand-rgb),.035); box-shadow:inset 0 0 0 1px rgba(var(--sv-brand-rgb),.15); }
.al-root-check { position:absolute; z-index:4; top:17px; left:17px; width:25px; height:25px; display:grid; place-items:center; cursor:pointer; }
.al-root-check input { position:absolute; opacity:0; pointer-events:none; }
.al-root-check span { width:23px; height:23px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.55); border-radius:6px; color:transparent; background:rgba(0,0,0,.64); font-size:11px; font-weight:900; transition:.16s ease; }
.al-root-check input:focus-visible + span { outline:2px solid var(--al-accent); outline-offset:2px; }
.al-root-check input:checked + span { border-color:var(--al-accent); color:#080808; background:var(--al-accent); }
.al-root-main { width:100%; display:block; padding:0; border:0; color:inherit; background:transparent; font:inherit; text-align:left; cursor:pointer; }
.al-root-cover { width:100%; aspect-ratio:1.5; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:1px; overflow:hidden; background:var(--sv-color-surface-strong); }
.al-root-cover img { width:100%; height:100%; min-width:0; min-height:0; object-fit:cover; filter:saturate(.84); }
.al-root-cover img:only-of-type { grid-column:1/-1; grid-row:1/-1; }
.al-root-cover b { grid-column:1/-1; grid-row:1/-1; display:grid; place-items:center; color:var(--al-faint); font-size:8px; letter-spacing:.1em; }
.al-root-copy { min-width:0; display:block; padding:13px 14px 10px; }
.al-root-copy small,.al-root-copy code { display:block; overflow:hidden; color:var(--al-faint); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.al-root-copy strong { display:block; margin:5px 0; overflow:hidden; color:var(--al-ink); font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.al-root-copy code { font-family: var(--sv-font-mono); }
.al-root-copy > span { display:flex; gap:12px; margin-top:10px; }
.al-root-copy > span b { color:var(--al-accent); font-size:9px; }
.al-root-copy > span i { color:var(--al-faint); font-size:8px; font-style:normal; }
.al-root-arrow { display:block; padding:0 14px 12px; color:var(--al-faint); font-size:8px; font-weight:800; text-align:right; white-space:nowrap; }
.al-root-actions { display:flex; justify-content:flex-end; gap:6px; padding:9px 10px 10px; border-top:1px solid var(--sv-color-border-soft); }
.al-root-card.is-batch .al-root-actions { visibility:hidden; }
.al-root-actions button { min-height:29px; border:1px solid var(--al-line); border-radius:8px; padding:0 10px; color:var(--al-muted); background:rgba(255,255,255,.02); font:inherit; font-size:8px; font-weight:800; cursor:pointer; }
.al-root-actions button:hover { color:var(--al-ink); border-color:var(--sv-color-border-soft); }
.al-root-actions button.is-danger { color:#f2a097; }
.al-root-actions button:disabled { opacity:.58; cursor:wait; }
.al-folder-root-back { align-self:flex-start; }
.al-root-bulk { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:10px 12px 10px 16px; border:1px solid var(--al-line); border-radius:12px; background:rgba(255,255,255,.018); }
.al-root-bulk.is-active { border-color:rgba(var(--sv-brand-rgb),.34); background:rgba(var(--sv-brand-rgb),.035); }
.al-root-bulk p { margin:0; }
.al-root-bulk p strong,.al-root-bulk p span { display:block; }
.al-root-bulk p strong { color:var(--al-ink); font-size:11px; }
.al-root-bulk p span { margin-top:4px; color:var(--al-faint); font-size:8px; }
.al-root-bulk > div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.al-root-bulk button { min-height:33px; border:1px solid var(--al-line); border-radius:8px; padding:0 11px; color:var(--al-muted); background:rgba(255,255,255,.025); font:inherit; font-size:8px; font-weight:800; cursor:pointer; }
.al-root-bulk button:disabled { opacity:.32; cursor:not-allowed; }
.al-root-bulk button.is-danger { color:#f2a097; }
.al-root-bulk button.is-primary { border-color:var(--al-accent); color:var(--sv-color-on-brand,#050505); background:var(--al-accent); }
.al-smart-modebar { min-height:46px; display:flex; align-items:center; gap:5px; padding:5px; border:1px solid var(--al-line); border-radius:11px; background:rgba(255,255,255,.018); }
.al-smart-modebar button { min-height:34px; border:0; border-radius:7px; padding:0 13px; color:var(--al-faint); background:transparent; font:inherit; font-size:9px; font-weight:850; cursor:pointer; transition:color .18s ease,background .18s ease; }
.al-smart-modebar button:hover,.al-smart-modebar button.is-active { color:var(--al-ink); background:rgba(255,255,255,.07); }
.al-smart-modebar button.is-current { color:#090909; background:var(--al-accent); }
.al-smart-modebar span { margin-right:auto; padding-left:8px; color:var(--al-faint); font-size:8px; }
.al-folder-workflow { display:grid; grid-template-columns:minmax(260px,1fr) auto; align-items:center; gap:24px; padding:14px 17px; border:1px solid var(--al-line); border-radius:15px; background:rgba(255,255,255,.02); }
.al-folder-workflow span { color:var(--al-accent); font-size:8px; font-weight:900; letter-spacing:.12em; }
.al-folder-workflow strong { display:block; margin-top:6px; font:650 20px/1.1 var(--sv-font-sans,sans-serif); }
.al-folder-workflow p { margin:6px 0 0; color:var(--al-faint); font-size:10px; }
.al-folder-workflow__steps { display:none; align-items:center; gap:9px; color:var(--al-faint); font-size:9px; }
.al-folder-workflow__steps b { font-weight:700; }
.al-folder-workflow__steps b.is-current { color:var(--al-ink); }
.al-folder-workflow__steps i { color:var(--sv-color-text-faint); font-style:normal; }
.al-folder-workflow > button,.al-inline-back { min-height:34px; border:1px solid var(--al-line); border-radius:10px; padding:0 13px; color:var(--al-muted); background:transparent; font:inherit; font-size:10px; font-weight:800; cursor:pointer; }
.al-folder-workflow > button:hover,.al-inline-back:hover { border-color:rgba(var(--sv-brand-rgb),.38); color:var(--al-accent); }
.al-inline-back { align-self:flex-start; }
.al-folder-years { display:flex; flex-wrap:wrap; gap:5px; }
.al-folder-years button { min-height:31px; border:0; border-radius:8px; padding:0 10px; color:var(--al-faint); background:transparent; font:inherit; font-size:9px; font-weight:750; cursor:pointer; }
.al-folder-years button:hover,.al-folder-years button.is-active { color:var(--al-ink); background:rgba(255,255,255,.055); }
.al-folder-years i { margin-left:5px; color:var(--al-faint); font-style:normal; font-size:8px; }
.al-folder-bulk { min-height:60px; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:11px 13px 11px 17px; border:1px solid var(--al-line); border-radius:13px; background:var(--sv-color-canvas-raised); transition:border-color .2s ease,background .2s ease; }
.al-folder-bulk.is-active { border-color:rgba(var(--sv-brand-rgb),.32); background:rgba(var(--sv-brand-rgb),.035); }
.al-folder-bulk p { margin:0; }
.al-folder-bulk p strong,.al-folder-bulk p span { display:block; }
.al-folder-bulk p strong { font-size:12px; }
.al-folder-bulk p span { margin-top:4px; color:var(--al-faint); font-size:9px; }
.al-folder-bulk > div { display:flex; gap:7px; }
.al-folder-bulk button { min-height:35px; border:1px solid var(--al-line); border-radius:9px; padding:0 13px; color:var(--al-muted); background:rgba(255,255,255,.025); font:inherit; font-size:9px; font-weight:800; cursor:pointer; }
.al-folder-bulk button:disabled { opacity:.35; cursor:not-allowed; }
.al-folder-bulk button.is-primary { border-color:var(--al-accent); color:var(--sv-color-on-brand,#050505); background:var(--al-accent); }
.al-folder-bulk button.is-danger { color:#ffaaa0; }
.al-folder-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.al-folder-card { position:relative; min-width:0; overflow:hidden; border:1px solid var(--al-line); border-radius:14px; background:var(--sv-color-surface-subtle); transition:transform .2s ease,border-color .2s ease,background .2s ease; }
.al-folder-card:hover { transform:translateY(-2px); border-color:var(--sv-color-border-strong); }
.al-folder-card.is-selected { border-color:var(--al-accent); background:rgba(var(--sv-brand-rgb),.035); box-shadow:inset 0 0 0 1px rgba(var(--sv-brand-rgb),.18); }
.al-folder-check { position:absolute; z-index:4; top:10px; left:10px; width:25px; height:25px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:7px; background:rgba(4,4,4,.7); backdrop-filter:blur(7px); cursor:pointer; }
.al-folder-check input { position:absolute; opacity:0; }
.al-folder-check span { color:transparent; font-size:13px; }
.al-folder-check:has(input:checked) { border-color:var(--al-accent); background:var(--al-accent); }
.al-folder-check:has(input:checked) span { color:#080808; }
.al-folder-open { width:100%; padding:0; border:0; color:inherit; background:transparent; font:inherit; text-align:left; cursor:pointer; }
.al-folder-cover { position:relative; width:100%; aspect-ratio:1.62; display:grid; grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(2,1fr); gap:1px; overflow:hidden; background:var(--sv-color-surface-strong); }
.al-folder-cover::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(5,5,5,.62)); pointer-events:none; }
.al-folder-cover img { width:100%; height:100%; min-width:0; min-height:0; object-fit:cover; filter:saturate(.88); }
.al-folder-cover img:only-of-type { grid-column:1/-1; grid-row:1/-1; }
.al-folder-cover > b { grid-column:1/-1; grid-row:1/-1; display:grid; place-items:center; color:var(--al-faint); font-size:10px; letter-spacing:.12em; }
.al-folder-cover em { position:absolute; z-index:2; right:9px; top:9px; padding:5px 7px; border-radius:6px; color:#080808; background:var(--al-accent); font-size:7px; font-style:normal; font-weight:900; }
.al-folder-copy { display:block; padding:12px 13px 13px; }
.al-folder-copy small,.al-folder-copy code { display:block; overflow:hidden; color:var(--al-faint); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.al-folder-copy strong { display:block; margin-top:6px; overflow:hidden; color:var(--al-ink); font-size:13px; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.al-folder-copy code { margin-top:5px; font-family: var(--sv-font-mono); }
.al-folder-copy > span { margin-top:11px; display:flex; align-items:center; justify-content:space-between; }
.al-folder-copy > span b { color:var(--al-accent); font-size:11px; }
.al-folder-copy > span i { color:var(--al-faint); font-size:8px; font-style:normal; }
.al-smart-pager { display:flex; justify-content:center; align-items:center; gap:12px; padding-top:10px; }
.al-smart-pager button { min-height:33px; border:1px solid var(--al-line); border-radius:9px; padding:0 13px; color:var(--al-muted); background:transparent; font:inherit; font-size:9px; cursor:pointer; }
.al-smart-pager span { color:var(--al-faint); font-size:9px; }
.al-smart-pager button:disabled { opacity:.35; }

@media (max-width:1200px) { .al-folder-grid,.al-root-list { grid-template-columns:repeat(3,minmax(0,1fr)); } .al-folder-workflow { grid-template-columns:1fr auto; } .al-folder-workflow__steps { display:none; } }
@media (max-width:850px) { .al-folder-grid,.al-root-list { grid-template-columns:repeat(2,minmax(0,1fr)); } .al-folder-bulk,.al-root-bulk { align-items:flex-start; flex-direction:column; } .al-folder-bulk > div,.al-root-bulk > div { width:100%; flex-wrap:wrap; justify-content:flex-start; } .al-folder-bulk button { flex:1; } .al-smart-modebar { align-items:flex-start; flex-wrap:wrap; } .al-smart-modebar span { width:100%; order:3; } body[data-album-kind="event"] .al-grid,body[data-album-kind="place"] .al-grid,body[data-album-kind="linked"] .al-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .al-folder-workflow { grid-template-columns:1fr; } .al-folder-grid,.al-root-list { grid-template-columns:1fr; } .al-overview { grid-template-columns:1fr 1fr; } .al-smart-detail-tools { flex-wrap:wrap; justify-content:flex-end; } .al-root-arrow { display:none; } .al-root-head { align-items:flex-start; flex-direction:column; } .al-smart-photo__nav { width:34px; } .al-smart-photo__nav.is-prev { left:8px; } .al-smart-photo__nav.is-next { right:8px; } body[data-album-kind="event"] .al-grid,body[data-album-kind="place"] .al-grid,body[data-album-kind="linked"] .al-grid { grid-template-columns:1fr; } }

@media (max-width:1320px) {
  .al-purpose-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .al-results-hero { align-items:flex-start; flex-direction:column; }
  .al-results-tabs { width:100%; min-width:0; }
  .al-purpose-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .al-purpose-support { grid-template-columns:1fr; }
  .al-time-layout { grid-template-columns:112px minmax(0,1fr); gap:18px; }
}
@media (max-width:700px) {
  .al-purpose-grid { grid-template-columns:1fr; }
  .al-purpose-card { aspect-ratio:1.35; }
  .al-time-toolbar { align-items:flex-start; flex-direction:column; }
  .al-time-toolbar-filters { width:100%; justify-content:stretch; }
  .al-time-toolbar label,.al-time-toolbar select { width:100%; }
  .al-time-layout { grid-template-columns:1fr; }
  .al-time-rail { position:static; overflow-x:auto; flex-direction:row; padding:0 0 8px; border-left:0; border-bottom:1px solid var(--al-line); }
  .al-time-rail button { flex:0 0 120px; padding-left:8px; }
  .al-time-rail button::before { display:none; }
  .al-time-day__head i { display:none; }
}

/* 2026-09-07 memory-first final pass — GPT-Image design reference. */
:root {
  --al-paper: var(--sv-color-canvas);
  --al-panel: var(--sv-color-surface);
  --al-panel-strong: var(--sv-color-surface-strong);
  --al-ink: var(--sv-color-text);
  --al-muted: var(--sv-color-text-muted);
  --al-faint: var(--sv-color-text-faint);
  --al-line: var(--sv-color-border);
  --al-accent: var(--sv-color-brand);
}
body.has-app-rail {
  background: var(--sv-color-canvas);
}
body::before {
  opacity:.14;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
}
.al-shell { width:min(1510px,100%); padding:22px 40px 72px; }
.al-overview[hidden],.al-section-head[hidden] { display:none !important; }
.al-header { min-height:68px; align-items:center; padding-bottom:16px; border-bottom:1px solid var(--al-line); }
.al-brandline { min-width:0; display:flex; align-items:center; gap:18px; }
.al-header h1 { flex:0 0 auto; font-size: var(--sv-font-size-title, 1.75rem); font-weight: 600; line-height: 1.28; letter-spacing: -0.01em; }
.al-memory-count { margin:0; padding-left:18px; border-left:1px solid var(--al-line); color:var(--al-faint); font-size:11px; }
.al-memory-count span { color:var(--al-muted); }
.al-header-actions { gap:6px; }
.al-header-actions [hidden] { display:none !important; }
.al-back-action,.al-manage-action,.al-scan-action {
  min-height:36px; display:inline-flex; align-items:center; justify-content:center; gap:7px;
  border:0; border-radius:9px; padding:0 12px; color:var(--al-muted); background:transparent;
  font:inherit; font-size:10px; font-weight:760; text-decoration:none; cursor:pointer;
  transition:color .2s ease,background .2s ease,transform .2s ease;
}
.al-back-action:hover,.al-manage-action:hover { color:var(--al-ink); background:rgba(255,255,255,.045); }
.al-scan-action { border:0; color:var(--al-ink); background:transparent; box-shadow:none; }
.al-scan-action span { width:20px; height:20px; display:grid; place-items:center; border:1px solid rgba(var(--sv-brand-rgb),.72); border-radius:50%; color:var(--al-accent); font: 500 15px/1 var(--sv-font-sans); }
.al-scan-action:hover:not(:disabled) { color:var(--al-accent); background:rgba(var(--sv-brand-rgb),.035); transform:none; }
.al-memory-nav { min-height:62px; align-items:stretch; gap:42px; margin:0 0 30px; border-bottom:0; }
.al-memory-nav button { position:relative; min-height:62px; padding:0; border-radius:0; color:var(--al-faint); background:transparent; font-size:12px; font-weight:630; }
.al-memory-nav button::after { content:""; position:absolute; left:0; right:0; bottom:10px; height:2px; background:var(--al-accent); transform:scaleX(0); transform-origin:left; transition:transform .22s cubic-bezier(.2,.8,.2,1); }
.al-memory-nav button:hover { color:var(--al-muted); }
.al-memory-nav button.is-active { color:var(--al-ink); background:transparent; box-shadow:none; }
.al-memory-nav button.is-active::after { transform:scaleX(1); }
.al-tag-progress { max-width:none; min-height:42px; margin:8px 0 12px; padding:8px 84px 9px 14px; border-radius:8px; background:rgba(255,255,255,.018); }
.al-tag-progress > div:first-child { display:flex; align-items:center; gap:10px; min-width:0; }
.al-tag-progress small { display:none; }
.al-tag-progress strong { flex:0 0 auto; margin:0; font-size:11px; }
.al-tag-progress p { min-width:0; margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.al-tag-progress > button { top:6px; right:10px; min-height:29px; }
.al-scan-task { margin:10px 0 18px; border-radius:10px; background:rgba(var(--sv-brand-rgb),.035); }
.al-grid { min-height:420px; }

.al-results-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,390px); align-items:end; gap:48px; margin:0 0 24px; }
.al-results-hero > div > span,.al-memory-themes > header span,.al-people-view > header span { color:var(--al-accent); font-size:8px; font-weight:900; letter-spacing:.16em; }
.al-results-hero h2,.al-people-view h2 { margin:9px 0 0; font: 500 clamp(34px,3.6vw,54px)/1.02 var(--sv-font-sans); letter-spacing:-.05em; }
.al-results-hero p,.al-people-view header p { margin:11px 0 0; color:var(--al-faint); font-size:10px; }
.al-results-hero > p { max-width:380px; margin:0 0 3px; color:var(--al-muted); font-size:11px; line-height:1.75; text-wrap:pretty; }
.al-memory-hero { width:min(100%,980px); grid-template-columns:minmax(0,1fr) auto; margin:4px auto 30px; }
.al-memory-hero > p { max-width:330px; }
.al-memory-movie { width:min(100%,980px); display:grid; grid-template-columns:minmax(460px,580px) minmax(230px,280px); align-items:center; gap:clamp(38px,6vw,70px); margin:0 auto; }
.al-memory-slideshow { min-width:0; }
.al-memory-slideshow__stage { position:relative; width:100%; aspect-ratio:1/1; overflow:hidden; border:1px solid var(--sv-color-border-soft); border-radius:20px; background:var(--sv-color-surface); box-shadow:0 30px 80px rgba(0,0,0,.28); isolation:isolate; }
.al-memory-slideshow__frame { width:100%; height:100%; }
.al-memory-slideshow__frame.is-forward.is-entering { animation:al-memory-frame-forward .68s cubic-bezier(.2,.75,.2,1) both; }
.al-memory-slideshow__frame.is-backward.is-entering { animation:al-memory-frame-backward .68s cubic-bezier(.2,.75,.2,1) both; }
.al-memory-frame { position:relative; width:100%; height:100%; display:block; overflow:hidden; border:0; padding:0; color:var(--al-ink); background:var(--sv-color-surface-strong); text-align:left; cursor:pointer; }
.al-memory-frame:focus-visible { outline:2px solid var(--al-accent); outline-offset:-5px; }
.al-memory-frame__visual,.al-memory-frame__shade { position:absolute; inset:0; display:grid; place-items:center; overflow:hidden; }
.al-memory-frame__visual b { color:var(--al-faint); font: 500 16px var(--sv-font-sans); }
.al-memory-frame__ambient { position:absolute; inset:-8%; width:116%; height:116%; object-fit:cover; filter:blur(46px) saturate(.55) brightness(.31); transform:scale(1.08); opacity:.88; }
.al-memory-frame__stack { position:absolute; z-index:1; top:15%; width:45%; height:68%; border:7px solid rgba(239,237,226,.68); border-radius:4px; object-fit:cover; opacity:.28; box-shadow:0 20px 42px rgba(0,0,0,.42); }
.al-memory-frame__stack.is-prev { left:5%; transform:rotate(-5deg) translateY(3%); }
.al-memory-frame__stack.is-next { right:13%; transform:rotate(4deg) translateY(-1%); }
.al-memory-frame__mat { position:absolute; z-index:2; inset:10% 17% 11% 9%; display:grid; place-items:center; padding:12px; border:1px solid var(--sv-color-border); border-radius:6px; background:var(--sv-color-photo-mat); box-shadow:0 26px 58px rgba(0,0,0,.58); transform:rotate(-.6deg); overflow:hidden; }
.al-memory-frame__photo { width:100%; height:100%; display:block; object-fit:contain; background:var(--sv-color-surface-strong); filter:saturate(.88) contrast(1.015); transform:scale(1.002); transition:filter .45s ease; animation:al-memory-photo-drift 5.8s ease-in-out both; }
.al-memory-frame:hover .al-memory-frame__photo { filter:saturate(.98) contrast(1.025); }
.al-memory-frame__shade { z-index:3; background:linear-gradient(180deg,rgba(5,5,4,.18),transparent 24%,transparent 70%,rgba(5,5,4,.48)); pointer-events:none; }
.al-memory-frame__badge { position:absolute; z-index:6; top:26px; left:28px; display:flex; align-items:center; gap:7px; color:var(--sv-color-text); font-size:8px; font-weight:720; letter-spacing:.06em; pointer-events:none; }
.al-memory-frame__badge i { width:5px; height:5px; border-radius:50%; background:var(--al-accent); box-shadow:0 0 0 4px rgba(var(--sv-brand-rgb),.12); }
.al-memory-frame__sequence { position:absolute; z-index:6; left:28px; bottom:26px; display:flex; align-items:center; gap:8px; color:var(--sv-color-text-muted); font: 500 9px/1 var(--sv-font-mono); pointer-events:none; }
.al-memory-frame__sequence i { width:28px; height:1px; background:rgba(245,243,234,.38); }
.al-memory-story-progress { position:absolute; z-index:8; top:18px; left:22px; right:82px; display:flex; gap:5px; }
.al-memory-story-progress button { position:relative; min-width:0; flex:1; height:10px; display:flex; align-items:center; border:0; padding:4px 0; background:transparent; cursor:pointer; }
.al-memory-story-progress button::before { content:""; width:100%; height:2px; border-radius:2px; background:rgba(255,255,255,.2); }
.al-memory-story-progress button i { position:absolute; left:0; width:0; height:2px; border-radius:2px; background:var(--al-accent); pointer-events:none; }
.al-memory-story-progress button.is-complete::before { background:var(--al-accent); }
.al-memory-slideshow__stage.is-timing .al-memory-story-progress button.is-active i { animation:al-memory-progress 5.8s linear forwards; }
.al-memory-slideshow__stage.is-paused .al-memory-story-progress button.is-active i,.al-memory-slideshow__stage.is-paused .al-memory-frame__photo { animation-play-state:paused; }
.al-memory-filmstrip { position:absolute; z-index:8; top:54px; right:18px; bottom:54px; width:48px; display:flex; flex-direction:column; gap:7px; overflow-y:auto; padding:0 3px; scrollbar-width:none; }
.al-memory-filmstrip::-webkit-scrollbar { display:none; }
.al-memory-filmstrip button { flex:0 0 52px; width:42px; height:52px; overflow:hidden; border:1px solid transparent; border-radius:4px; padding:2px; background:rgba(5,5,4,.28); cursor:pointer; opacity:.42; transition:opacity .2s ease,border-color .2s ease,transform .16s ease; }
.al-memory-filmstrip button:hover { opacity:.78; }
.al-memory-filmstrip button.is-active { border-color:var(--al-accent); opacity:1; }
.al-memory-filmstrip button:focus-visible { outline:2px solid var(--al-accent); outline-offset:2px; opacity:1; }
.al-memory-filmstrip button:active { transform:scale(.95); }
.al-memory-filmstrip img { width:100%; height:100%; display:block; border-radius:2px; object-fit:cover; }
.al-memory-slideshow__footer { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 4px; border-bottom:1px solid var(--al-line); }
.al-memory-slideshow__status { display:grid; grid-template-columns:7px auto; align-items:center; gap:4px 8px; }
.al-memory-slideshow__status > i { grid-row:1/3; width:6px; height:6px; border-radius:50%; background:var(--al-accent); }
.al-memory-slideshow__status b { color:var(--al-ink); font: 600 9px/1 var(--sv-font-mono); font-variant-numeric:tabular-nums; }
.al-memory-slideshow__status em { color:var(--al-faint); font-size:8px; font-style:normal; }
.al-memory-slideshow__transport { display:flex; align-items:center; gap:7px; }
.al-memory-slideshow__transport button { min-width:36px; height:34px; border:0; border-radius:50%; padding:0 9px; color:var(--al-muted); background:rgba(255,255,255,.04); font: 500 13px/1 var(--sv-font-sans); cursor:pointer; transition:color .2s ease,background .2s ease,transform .16s ease; }
.al-memory-slideshow__transport button.is-primary { min-width:78px; display:flex; align-items:center; justify-content:center; gap:7px; border-radius:18px; color:var(--al-ink); background:rgba(var(--sv-brand-rgb),.11); }
.al-memory-slideshow__transport button em { font:inherit; font-size:9px; font-style:normal; font-weight:700; }
.al-memory-slideshow__transport button:hover,.al-memory-slideshow__transport button:focus-visible { color:var(--sv-color-text); background:rgba(255,255,255,.1); outline:none; }
.al-memory-slideshow__transport button:active { transform:scale(.95); }
.al-memory-movie__info { min-width:0; padding:8px 0; }
.al-memory-movie__info > span { color:var(--al-accent); font-size:8px; font-weight:900; letter-spacing:.16em; }
.al-memory-movie__info h3 { margin:13px 0 0; font: 500 clamp(28px,2.8vw,42px)/1.08 var(--sv-font-sans); letter-spacing:-.045em; text-wrap:balance; }
.al-memory-movie__info time { display:block; margin-top:17px; color:var(--al-muted); font-size:10px; }
.al-memory-movie__info > p { margin:7px 0 0; color:var(--al-faint); font-size:9px; }
.al-memory-movie__info > div { display:grid; gap:8px; margin-top:30px; }
.al-memory-movie__info button { min-height:39px; border:1px solid var(--al-line); border-radius:9px; padding:0 13px; color:var(--al-muted); background:transparent; font:inherit; font-size:9px; font-weight:760; text-align:left; cursor:pointer; transition:color .2s ease,border-color .2s ease,background .2s ease,transform .16s ease; }
.al-memory-movie__info button.is-primary { border-color:var(--al-accent); color:#0a0a08; background:var(--al-accent); }
.al-memory-movie__info button i { margin-right:8px; font-size:8px; font-style:normal; }
.al-memory-movie__info button:hover,.al-memory-movie__info button:focus-visible { color:var(--al-ink); border-color:var(--sv-color-border-soft); outline:none; }
.al-memory-movie__info button.is-primary:hover,.al-memory-movie__info button.is-primary:focus-visible { color:#0a0a08; border-color:var(--sv-color-brand-hover); background:var(--sv-color-brand-hover); }
.al-memory-movie__info button:active { transform:scale(.98); }
.al-memory-movie__info > small { display:block; margin-top:22px; color:var(--al-faint); font-size:8px; line-height:1.65; }
.al-memory-movie__info > small i { width:5px; height:5px; display:inline-block; margin-right:7px; border-radius:50%; background:#65b27a; }
@keyframes al-memory-frame-forward { from { opacity:.28; transform:translateX(14px) scale(1.012); } to { opacity:1; transform:translateX(0) scale(1); } }
@keyframes al-memory-frame-backward { from { opacity:.28; transform:translateX(-14px) scale(1.012); } to { opacity:1; transform:translateX(0) scale(1); } }
@keyframes al-memory-photo-drift { from { transform:scale(1.002) translate3d(-.3%,0,0); } to { transform:scale(1.045) translate3d(.7%,-.5%,0); } }
@keyframes al-memory-progress { from { width:0; } to { width:100%; } }
.al-memory-themes { margin-top:58px; padding-top:23px; border-top:1px solid var(--al-line); }
.al-memory-themes > header { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:13px; }
.al-memory-themes > header p { margin:0; color:var(--al-faint); font-size:9px; }
.al-memory-themes > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:34px; }
.al-memory-themes button { min-height:77px; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto auto; align-content:center; gap:5px 18px; border:0; border-bottom:1px solid var(--al-line); padding:13px 0; color:var(--al-ink); background:transparent; text-align:left; cursor:pointer; transition:border-color .2s ease,color .2s ease; }
.al-memory-themes button:hover { border-color:rgba(var(--sv-brand-rgb),.58); }
.al-memory-themes button span { font-size:13px; font-weight:650; }
.al-memory-themes button small { color:var(--al-faint); font-size:8px; }
.al-memory-themes button b { grid-column:2; grid-row:1/3; align-self:center; color:var(--al-muted); font: 500 17px var(--sv-font-sans); }
.al-memory-review { width:100%; min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:24px; border:0; border-bottom:1px solid var(--al-line); padding:10px 0; color:var(--al-muted); background:transparent; text-align:left; cursor:pointer; }
.al-memory-review span strong,.al-memory-review span small { display:block; }
.al-memory-review span strong { color:var(--al-ink); font-size:11px; }
.al-memory-review span small { margin-top:5px; color:var(--al-faint); font-size:8px; }
.al-memory-review > b { color:var(--al-faint); font-size:10px; }
.al-memory-empty { min-height:58vh; display:grid; place-items:center; text-align:center; }
.al-memory-empty > div { max-width:580px; }
.al-memory-empty span { color:var(--al-accent); font-size:8px; font-weight:900; letter-spacing:.16em; }
.al-memory-empty h2 { margin:13px 0 0; font: 500 clamp(34px,4vw,58px)/1.08 var(--sv-font-sans); letter-spacing:-.05em; text-wrap:balance; }
.al-memory-empty p { margin:18px auto 0; max-width:480px; color:var(--al-muted); font-size:12px; line-height:1.8; }
.al-memory-empty button { min-height:40px; margin-top:24px; border:0; border-radius:9px; padding:0 18px; color:#0a0a08; background:var(--al-accent); font:inherit; font-size:10px; font-weight:850; cursor:pointer; }
.al-memory-empty small { display:block; margin-top:15px; color:var(--al-faint); font-size:8px; }

.al-time-toolbar { padding-bottom:22px; border-bottom:1px solid var(--al-line); }
.al-time-toolbar strong { font: 500 clamp(28px,3vw,42px)/1.05 var(--sv-font-sans); letter-spacing:-.045em; }
.al-time-toolbar p { max-width:520px; }
.al-time-toolbar label { border-radius:8px; background:rgba(255,255,255,.025); }
.al-time-layout { grid-template-columns:130px minmax(0,1fr); gap:44px; }
.al-time-rail { border-left-color:var(--sv-color-border-soft); }
.al-time-day { padding-bottom:34px; }
.al-time-day__head { border-bottom-color:var(--sv-color-border-soft); }
.al-time-day__head span { font: 500 20px var(--sv-font-sans); }
.al-time-masonry > button { border-radius:8px; }

.al-people-view { max-width:1040px; }
.al-people-view > header { max-width:660px; margin-bottom:42px; }
.al-people-view header p { font-size:11px; line-height:1.7; }
.al-people-preview { width:100%; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr) auto; align-items:end; gap:28px; border:0; padding:0; color:var(--al-ink); background:transparent; text-align:left; cursor:pointer; }
.al-people-preview__cover { aspect-ratio:16/9; display:grid; grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(2,1fr); gap:2px; overflow:hidden; border-radius:14px; background:var(--sv-color-surface-strong); }
.al-people-preview__cover img { width:100%; height:100%; object-fit:cover; filter:saturate(.75); }
.al-people-preview__cover img:only-child { grid-column:1/-1; grid-row:1/-1; }
.al-people-preview > span:nth-child(2) small,.al-people-preview > span:nth-child(2) strong,.al-people-preview > span:nth-child(2) em { display:block; }
.al-people-preview > span:nth-child(2) small { color:var(--al-accent); font-size:8px; }
.al-people-preview > span:nth-child(2) strong { margin-top:8px; font: 500 25px var(--sv-font-sans); }
.al-people-preview > span:nth-child(2) em { margin-top:9px; color:var(--al-faint); font-size:9px; font-style:normal; }
.al-people-preview > b { color:var(--al-muted); font: 500 17px var(--sv-font-sans); }
.al-people-boundary { margin:22px 0 0; padding-top:15px; border-top:1px solid var(--al-line); color:var(--al-faint); font-size:9px; }

.al-source-guide { min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--al-line); }
.al-source-guide p { margin:0; color:var(--al-muted); font-size:10px; }
.al-source-guide button,.al-root-head nav button { min-height:32px; border:0; border-radius:8px; padding:0 11px; color:var(--al-muted); background:rgba(255,255,255,.035); font:inherit; font-size:9px; font-weight:760; cursor:pointer; }
.al-root-head nav { display:flex; gap:6px; }
.al-root-head { padding-top:0; padding-bottom:18px; }
.al-root-head span { color:var(--al-accent); }
.al-root-head strong { margin-top:9px; font: 500 29px/1.08 var(--sv-font-sans); }
.al-root-list,.al-folder-grid { gap:14px; }
.al-root-card,.al-folder-card { border-color:var(--sv-color-border-soft); border-radius:12px; background:var(--sv-color-surface); }
.al-root-card:hover,.al-folder-card:hover { border-color:var(--sv-color-border-strong); }
.al-root-actions { border-top-color:var(--sv-color-border-soft); }
.al-folder-workflow { border:0; border-bottom:1px solid var(--al-line); border-radius:0; padding:4px 0 17px; background:transparent; }
.al-folder-workflow strong { font: 500 25px/1.1 var(--sv-font-sans); }

.al-event-title-editor { display:flex; gap:7px; max-width:520px; margin-top:12px; }
.al-event-title-editor[hidden] { display:none; }
.al-event-title-editor input { min-width:0; flex:1; height:35px; border:1px solid var(--al-line); border-radius:8px; padding:0 11px; outline:0; color:var(--al-ink); background:rgba(255,255,255,.035); font:inherit; font-size:11px; }
.al-event-title-editor input:focus { border-color:rgba(var(--sv-brand-rgb),.55); }
.al-event-title-editor button { min-height:35px; border:0; border-radius:8px; padding:0 13px; color:#080806; background:var(--al-accent); font:inherit; font-size:9px; font-weight:850; cursor:pointer; }
.al-smart-detail { background:var(--sv-color-surface-subtle); }
.al-smart-detail-grid { gap:5px; }
.al-smart-detail-grid a,.al-smart-detail-grid button { border-radius:6px; background:var(--sv-color-surface-strong); }

body[data-album-kind="place"] .al-section-head { margin:0 0 26px; }
body[data-album-kind="place"] .al-section-head p { color:var(--al-accent); }
body[data-album-kind="place"] .al-section-head h2 { font: 500 38px var(--sv-font-sans); }
body[data-album-kind="place"] .al-grid { grid-template-columns:repeat(3,minmax(260px,1fr)); gap:22px; }
body[data-album-kind="place"] .al-card { border:0; border-radius:14px; padding:0; background:transparent; box-shadow:none; }
body[data-album-kind="place"] .al-card:hover { transform:translateY(-2px); background:transparent; box-shadow:none; }
body[data-album-kind="place"] .al-contact-sheet { border-radius:12px; }
body[data-album-kind="place"] .al-card-copy { padding:13px 1px 0; }

@media (max-width:1000px) {
  .al-memory-movie { grid-template-columns:minmax(420px,1fr) 240px; gap:32px; }
  .al-memory-themes > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .al-people-preview { grid-template-columns:minmax(0,1fr) 250px; }
  .al-people-preview > b { display:none; }
}
@media (max-width:700px) {
  .al-shell { padding:16px 15px 48px; }
  .al-header { align-items:flex-start; }
  .al-brandline { align-items:flex-start; flex-direction:column; gap:8px; }
  .al-memory-count { padding-left:0; border-left:0; }
  .al-header-actions { width:auto; }
  .al-back-action { display:none; }
  .al-scan-action,.al-manage-action { padding-inline:8px; }
  .al-memory-nav { gap:28px; margin-bottom:28px; overflow-x:auto; }
  .al-memory-nav button { flex:0 0 auto; }
  .al-results-hero { grid-template-columns:1fr; gap:16px; }
  .al-results-hero > p { max-width:540px; }
  .al-memory-movie { grid-template-columns:1fr; gap:26px; }
  .al-memory-slideshow__stage { min-height:0; aspect-ratio:1/1; border-radius:14px; }
  .al-memory-frame__mat { inset:11% 11% 20%; }
  .al-memory-frame__badge { top:14px; left:14px; }
  .al-memory-frame__sequence { left:16px; bottom:76px; }
  .al-memory-story-progress { top:11px; left:14px; right:14px; }
  .al-memory-filmstrip { top:auto; right:12px; bottom:12px; left:66px; width:auto; height:52px; flex-direction:row; overflow-x:auto; overflow-y:hidden; padding:3px 0; }
  .al-memory-filmstrip button { flex-basis:42px; height:46px; }
  .al-memory-slideshow__footer { min-height:62px; }
  .al-memory-movie__info { padding:0 2px; }
  .al-memory-movie__info > div { grid-template-columns:1fr 1fr; margin-top:22px; }
  .al-memory-themes { margin-top:38px; }
  .al-memory-themes > div { grid-template-columns:1fr; }
  .al-time-layout { gap:18px; }
  .al-people-preview { grid-template-columns:1fr; }
  .al-people-preview > span:nth-child(2) { padding-top:12px; }
  .al-source-guide { align-items:flex-start; flex-direction:column; padding-bottom:12px; }
  .al-root-head nav { width:100%; }
  .al-root-head nav button { flex:1; }
  body[data-album-kind="place"] .al-grid { grid-template-columns:1fr; }
}

/* Continuous event stream: months are landmarks, scrolling is the primary navigation. */
body.al-photo-open { overflow:hidden; }
.al-event-stream-view .al-time-toolbar { padding:4px 0 30px; }
.al-event-stream-view .al-time-toolbar > div { max-width:680px; }
.al-event-stream-view .al-time-toolbar > div > span { display:block; margin-bottom:10px; color:var(--al-accent); font-size:8px; font-weight:900; letter-spacing:.16em; }
.al-event-stream-view .al-time-toolbar p { margin-top:12px; color:var(--al-faint); font-size:10px; line-height:1.75; }
.al-event-stream-view .al-time-layout { grid-template-columns:132px minmax(0,1fr); gap:46px; padding-top:28px; }
.al-event-stream-view .al-time-rail { top:22px; max-height:calc(100vh - 44px); overflow:auto; scrollbar-width:none; }
.al-event-stream-view .al-time-rail::-webkit-scrollbar { display:none; }
.al-event-stream-view .al-time-rail button { flex:0 0 auto; }
.al-event-month { scroll-margin-top:20px; }
.al-event-month + .al-event-month { margin-top:64px; }
.al-event-month > header { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:17px; padding-bottom:10px; border-bottom:1px solid var(--sv-color-border-soft); }
.al-event-month > header span { color:var(--al-ink); font: 500 23px/1.1 var(--sv-font-sans); letter-spacing:-.025em; }
.al-event-month > header b { color:var(--al-faint); font-size:8px; font-weight:650; }
.al-event-feed-day { display:grid; grid-template-columns:72px minmax(0,1fr); gap:24px; padding:22px 0 48px; }
.al-event-feed-day { content-visibility:auto; contain-intrinsic-size:auto 760px; }
.al-event-date { align-self:start; display:grid; grid-template-columns:1fr; color:var(--al-faint); }
.al-event-date time { color:var(--al-ink); font: 500 31px/1 var(--sv-font-sans); letter-spacing:-.05em; }
.al-event-date span { margin-top:7px; font-size:8px; line-height:1.55; }
.al-event-day-body { min-width:0; }
.al-event-day-body > header { min-height:36px; display:flex; align-items:start; justify-content:space-between; gap:18px; margin-bottom:12px; }
.al-event-day-body > header > button:first-child { min-width:0; display:flex; align-items:baseline; gap:10px; border:0; padding:0; color:var(--al-ink); background:transparent; text-align:left; cursor:zoom-in; }
.al-event-day-body > header > button:first-child strong { overflow:hidden; font: 500 18px/1.25 var(--sv-font-sans); text-overflow:ellipsis; white-space:nowrap; }
.al-event-day-body > header > button:first-child span { flex:0 0 auto; color:var(--al-accent); font-size:8px; font-weight:800; }
.al-event-edit { flex:0 0 auto; border:0; padding:3px 0; color:var(--al-faint); background:transparent; font:inherit; font-size:8px; cursor:pointer; }
.al-event-edit:hover,.al-event-edit:focus-visible { color:var(--al-ink); outline:none; }
.al-event-actions { display:flex; align-items:center; gap:12px; flex:0 0 auto; }
.al-event-importance { border:0; padding:2px 0; color:var(--al-faint); background:transparent; font:inherit; font-size:14px; line-height:1; cursor:pointer; }
.al-event-importance:hover,.al-event-importance:focus-visible { color:var(--al-ink); outline:none; }
.al-event-importance[data-importance="important"],.al-event-importance[data-importance="anniversary"] { color:var(--al-accent); }
.al-event-untitled { flex:0 0 auto; margin-left:6px; color:var(--al-faint); font: 500 9px/1 var(--sv-font-sans); letter-spacing:.04em; }
.al-on-this-day { width:min(100%,980px); margin:0 auto 28px; }
.al-on-this-day > header { display:flex; align-items:baseline; gap:12px; margin:0 0 14px; }
.al-on-this-day > header span { color:var(--al-accent); font-size:8px; font-weight:900; letter-spacing:.16em; }
.al-on-this-day > header strong { color:var(--al-ink); font: 500 18px/1.2 var(--sv-font-sans); }
.al-on-this-day__rail { display:flex; gap:12px; overflow-x:auto; padding-bottom:4px; scrollbar-width:thin; }
.al-on-this-day__rail > button { flex:0 0 auto; width:168px; display:grid; gap:8px; border:1px solid var(--al-line); padding:12px; color:var(--al-ink); background:rgba(255,255,255,.02); text-align:left; cursor:pointer; }
.al-on-this-day__rail > button:hover,.al-on-this-day__rail > button:focus-visible { border-color:rgba(var(--sv-brand-rgb),.45); outline:none; }
.al-on-this-day__rail b { font: 700 22px/1 var(--sv-font-mono); letter-spacing:-.04em; }
.al-on-this-day__thumbs { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; min-height:42px; }
.al-on-this-day__thumbs img,.al-on-this-day__thumbs i { width:100%; aspect-ratio:1; object-fit:cover; background:rgba(255,255,255,.04); }
.al-on-this-day__rail small { color:var(--al-faint); font-size:10px; }
.al-for-you { width:min(100%,980px); margin:0 auto 32px; }
.al-for-you__hero { margin:0 0 18px; }
.al-for-you__hero span { display:block; color:var(--al-accent); font-size:8px; font-weight:900; letter-spacing:.16em; }
.al-for-you__hero strong { display:block; margin-top:8px; color:var(--al-ink); font: 500 22px/1.15 var(--sv-font-sans); letter-spacing:-.03em; }
.al-for-you__hero p { margin:8px 0 0; color:var(--al-faint); font-size:12px; line-height:1.6; }
.al-for-you__section + .al-for-you__section { margin-top:22px; padding-top:18px; border-top:1px solid var(--al-line); }
.al-for-you__section > header { display:flex; align-items:baseline; gap:10px; margin:0 0 12px; }
.al-for-you__section > header span { color:var(--al-accent); font-size:8px; font-weight:900; letter-spacing:.14em; }
.al-for-you__section > header strong { color:var(--al-ink); font: 500 16px/1.2 var(--sv-font-sans); }
.al-for-you__hide { margin-left:auto; border:0; padding:4px 0; color:var(--al-faint); background:transparent; font:inherit; font-size:10px; cursor:pointer; }
.al-for-you__hide:hover,.al-for-you__hide:focus-visible { color:var(--al-ink); outline:none; }
.al-for-you__rail { display:flex; gap:12px; overflow-x:auto; padding-bottom:4px; scrollbar-width:thin; }
.al-for-you__card { flex:0 0 auto; width:200px; display:grid; gap:8px; border:1px solid var(--al-line); padding:12px; color:var(--al-ink); background:rgba(255,255,255,.02); text-align:left; cursor:pointer; }
.al-for-you__card:hover,.al-for-you__card:focus-visible { border-color:rgba(var(--sv-brand-rgb),.45); outline:none; }
.al-for-you__thumbs { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; min-height:48px; }
.al-for-you__thumbs img,.al-for-you__thumbs i { width:100%; aspect-ratio:1; object-fit:cover; background:rgba(255,255,255,.04); }
.al-for-you__card b { overflow:hidden; font: 600 14px/1.25 var(--sv-font-sans); text-overflow:ellipsis; white-space:nowrap; }
.al-for-you__card em { color:var(--al-muted); font: 500 11px/1.45 var(--sv-font-sans); font-style:normal; }
.al-for-you__card small { color:var(--al-faint); font-size:10px; }
.al-important-events { width:min(100%,980px); margin:28px auto 0; }
.al-important-events > header { display:grid; gap:4px; margin:0 0 14px; }
.al-important-events > header span { color:var(--al-accent); font-size:8px; font-weight:900; letter-spacing:.16em; }
.al-important-events > header strong { color:var(--al-ink); font: 500 18px/1.2 var(--sv-font-sans); }
.al-important-events > header p { margin:0; color:var(--al-faint); font-size:12px; }
.al-important-events > div { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:10px; }
.al-important-events button { display:grid; grid-template-columns:56px minmax(0,1fr); gap:12px; align-items:center; border:1px solid var(--al-line); padding:10px; color:var(--al-ink); background:transparent; text-align:left; cursor:pointer; }
.al-important-events button:hover,.al-important-events button:focus-visible { border-color:rgba(var(--sv-brand-rgb),.45); outline:none; }
.al-important-events img,.al-important-events i { width:56px; height:56px; object-fit:cover; background:rgba(255,255,255,.04); }
.al-important-events span { min-width:0; display:grid; gap:4px; }
.al-important-events b { overflow:hidden; font: 500 13px/1.3 var(--sv-font-sans); text-overflow:ellipsis; white-space:nowrap; }
.al-important-events small { color:var(--al-faint); font-size:11px; }
.al-event-day-body .al-time-masonry > button { margin:0; }
.al-time-masonry.is-loading {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:8px;
  align-items:start;
  height:auto !important;
}
.al-time-masonry.is-loading > span {
  position:static !important;
  inset:auto !important;
  width:auto !important;
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:8px;
  background:linear-gradient(100deg,var(--sv-color-surface) 20%,var(--sv-color-surface-elevated) 42%,var(--sv-color-surface) 66%);
  background-size:220% 100%;
  opacity:.55;
  animation:al-photo-skeleton 1.4s ease-in-out infinite;
}
.al-time-masonry.is-loading > span img { width:100%; height:auto; display:block; filter:saturate(.5); }
.al-event-photo-sentinel {
  position:absolute;
  left:0;
  right:0;
  top:100%;
  display:block;
  width:100%;
  height:2px;
  margin:0;
  pointer-events:none;
}
.al-event-retry { width:100%; min-height:64px; border:1px dashed var(--sv-color-border); border-radius:8px; color:var(--al-muted); background:rgba(255,255,255,.018); font:inherit; font-size:9px; cursor:pointer; }
.al-event-stream-sentinel { min-height:110px; display:flex; align-items:center; justify-content:center; gap:10px; color:var(--al-faint); font-size:9px; }
.al-event-stream-sentinel span { width:6px; height:6px; border-radius:50%; background:var(--al-accent); box-shadow:0 0 0 0 rgba(var(--sv-brand-rgb),.35); animation:al-event-pulse 1.5s ease-out infinite; }
.al-event-stream-sentinel.is-complete span { display:none; }
.al-event-stream-sentinel b { font-weight:650; }
@keyframes al-event-pulse { 70% { box-shadow:0 0 0 8px rgba(var(--sv-brand-rgb),0); } 100% { box-shadow:0 0 0 0 rgba(var(--sv-brand-rgb),0); } }
@keyframes al-photo-skeleton { 0% { background-position:100% 0; } 100% { background-position:-120% 0; } }

@media (max-width:1100px) {
  .al-time-masonry.is-loading { grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media (max-width:700px) {
  .al-event-stream-view .al-time-layout { grid-template-columns:1fr; gap:20px; padding-top:18px; }
  .al-event-stream-view .al-time-rail { position:sticky; top:0; z-index:5; max-height:none; flex-direction:row; padding:8px 0; border:0; background:var(--sv-color-canvas-raised); backdrop-filter:blur(16px); }
  .al-event-stream-view .al-time-rail button { flex:0 0 112px; min-height:43px; }
  .al-event-feed-day { grid-template-columns:52px minmax(0,1fr); gap:13px; padding-bottom:34px; }
  .al-event-date time { font-size:25px; }
  .al-time-masonry.is-loading { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .al-event-day-body > header { align-items:flex-start; }
}

@media (prefers-reduced-motion:reduce) {
  .al-memory-slideshow__frame.is-entering,.al-memory-slideshow__stage.is-timing .al-memory-story-progress button.is-active i,.al-memory-frame__photo,.al-time-masonry.is-loading > span { animation:none; }
}

/* Reuse gallery batch-bar look for local album selection */
.hidden { display: none !important; }
.sv-batch-bar {
  position: fixed;
  z-index: 420;
  left: 50%;
  bottom: max(24px, env(safe-area-inset-bottom));
  display: flex;
  align-items: center;
  gap: 12px;
  width: max-content;
  max-width: calc(100vw - 40px);
  padding: 10px 12px 10px 14px;
  border: 1px solid rgba(190, 214, 188, 0.2);
  border-radius: 16px;
  background: var(--sv-color-surface-strong);
  font-size: 0.84rem;
  box-shadow: 0 20px 70px rgba(0, 0, 0, 0.55), inset 0 1px rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(20px) saturate(115%);
  transform: translateX(-50%);
  animation: sv-batch-bar-in 220ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* BEST MOMENTS — approved memory-film homepage */
.al-header,
.al-header h1,
.al-header-actions > * {
  font-family: var(--sv-font-sans);
}
.al-header h1 {
  font-size:18px;
  font-weight:620;
  letter-spacing:-.025em;
}
.al-header {
  min-height:64px;
  display:grid;
  grid-template-columns:auto minmax(220px,1fr) auto;
  align-items:center;
  gap:34px;
  padding-bottom:0;
}
.al-brandline { gap:14px; }
.al-memory-count {
  padding-left:14px;
  font-size:9px;
}
.al-header > .al-memory-nav {
  min-height:64px;
  display:flex;
  align-items:stretch;
  gap:35px;
  margin:0;
}
.al-header > .al-memory-nav button {
  min-height:64px;
  font-size:11px;
  font-weight:560;
}
.al-header > .al-memory-nav button::after { bottom:0; }
.al-header-actions { justify-self:end; }
.al-header-actions > * {
  height:34px;
  min-height:34px;
  padding-inline:10px;
  font-size:9px;
  font-weight:600;
}
.al-header-actions .al-scan-action span { width:18px; height:18px; font-size:13px; }
.al-memory-home {
  width:min(100%,1420px);
  margin:0 auto;
}
.al-memory-hero {
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:48px;
  margin:30px 0 22px;
}
.al-memory-hero h2 {
  margin:0;
  color:var(--al-ink);
  font: 520 clamp(43px,3.6vw,58px)/.94 var(--sv-font-sans);
  letter-spacing:-.055em;
}
.al-memory-hero > div > p {
  margin:12px 0 0;
  color:var(--al-muted);
  font-size:12px;
}
.al-memory-hero > div > small {
  display:block;
  margin-top:7px;
  color:var(--al-faint);
  font-size:9px;
}
.al-memory-frequency {
  min-width:270px;
  display:grid;
  grid-template-columns:auto 160px;
  align-items:center;
  gap:7px 16px;
  color:var(--al-muted);
  font-size:10px;
  font-weight:650;
}
.al-memory-frequency select {
  width:160px;
  height:38px;
  border:1px solid var(--sv-color-border-strong);
  border-radius:9px;
  padding:0 34px 0 14px;
  outline:0;
  color:var(--al-ink);
  background:var(--sv-color-surface);
  font: 650 11px/1 var(--sv-font-sans);
  color-scheme:dark;
  cursor:pointer;
  transition:border-color .2s ease,background .2s ease;
}
.al-memory-frequency select:hover,.al-memory-frequency select:focus-visible { border-color:rgba(var(--sv-brand-rgb),.58); background:var(--sv-color-surface-strong); }
.al-memory-frequency select:disabled { cursor:wait; opacity:.55; }
.al-memory-frequency small {
  grid-column:1/-1;
  justify-self:end;
  color:var(--al-faint);
  font-size:9px;
  font-weight:500;
}
.al-memory-movie {
  position:relative;
  width:100%;
  min-height:545px;
  display:grid;
  grid-template-columns:minmax(520px,1.28fr) minmax(330px,.72fr);
  align-items:center;
  gap:clamp(42px,5vw,72px);
  overflow:hidden;
  margin:0;
  padding:20px clamp(28px,3vw,48px) 20px clamp(22px,3vw,42px);
  border:1px solid var(--sv-color-border-soft);
  border-radius:16px;
  box-sizing:border-box;
  background: var(--sv-color-surface, #101010);
  box-shadow:0 36px 90px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.025);
}
.al-memory-slideshow {
  width:min(100%,520px);
  min-width:0;
  justify-self:center;
}
.al-memory-slideshow__stage {
  position:relative;
  width:100%;
  aspect-ratio:1/1;
  overflow:hidden;
  border:1px solid var(--sv-color-border-soft);
  border-radius:13px;
  background:var(--sv-color-surface);
  box-shadow:0 30px 74px rgba(0,0,0,.36);
  isolation:isolate;
}
.al-memory-video-stage {
  display:grid;
  place-items:center;
  cursor:pointer;
}
.al-memory-video-stage__ambient {
  position:absolute;
  inset:-12%;
  z-index:0;
  width:124%;
  height:124%;
  object-fit:cover;
  opacity:.32;
  filter:blur(58px) saturate(.7) brightness(.5);
  transform:scale(1.04);
}
.al-memory-video-stage video {
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  background:transparent;
}
.al-memory-frame { background:var(--sv-color-surface); }
.al-memory-frame__ambient {
  inset:-12%;
  width:124%;
  height:124%;
  filter:blur(54px) saturate(.62) brightness(.32);
  opacity:.92;
}
.al-memory-frame__stack {
  top:16%;
  width:48%;
  height:70%;
  border:1px solid var(--sv-color-border-soft);
  border-radius:9px;
  opacity:.32;
  filter:saturate(.75) brightness(.72);
}
.al-memory-frame__stack.is-prev { left:7%; transform:rotate(-7deg) translateY(3%); }
.al-memory-frame__stack.is-next { right:7%; transform:rotate(7deg) translateY(1%); }
.al-memory-frame__mat {
  inset:4% auto;
  left:50%;
  width:auto;
  height:92%;
  aspect-ratio:2/3;
  padding:5px;
  border-radius:9px;
  border:1px solid var(--sv-color-border);
  background:var(--sv-color-photo-mat);
  transform:translateX(-50%);
  box-shadow:0 28px 64px rgba(0,0,0,.58),inset 0 0 0 1px rgba(0,0,0,.8);
}
.al-memory-frame__photo {
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:5px;
  background:var(--sv-color-surface);
  filter:saturate(.9) contrast(1.01);
  transform:none;
  animation:none;
}
.al-memory-frame:hover .al-memory-frame__photo { filter:saturate(.96) contrast(1.02); }
.al-memory-frame__shade { background:linear-gradient(180deg,rgba(5,5,4,.08),transparent 24%,transparent 74%,rgba(5,5,4,.24)); }
.al-memory-frame__sequence { left:17px; bottom:15px; }
.al-memory-movie__info {
  min-width:0;
  width:100%;
  max-width:390px;
  padding:4px 4px 0 0;
}
.al-memory-movie__status {
  width:max-content;
  min-height:28px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--sv-color-border);
  border-radius:999px;
  padding:0 12px;
  color:var(--al-muted) !important;
  font-size:9px !important;
  font-weight:650 !important;
  letter-spacing:.02em !important;
}
.al-memory-movie__status i { width:7px; height:7px; border-radius:50%; background:var(--al-accent); box-shadow:0 0 16px rgba(var(--sv-brand-rgb),.44); }
.al-memory-movie__eyebrow {
  display:block;
  margin-top:28px;
  color:var(--al-muted);
  font-size:10px;
  letter-spacing:.08em;
}
.al-memory-movie__info h3 {
  margin:14px 0 0;
  color:var(--al-ink);
  font: 590 clamp(25px,2vw,32px)/1.15 var(--sv-font-sans);
  letter-spacing:-.035em;
}
.al-memory-movie__info time { margin-top:15px; font-size:11px; }
.al-memory-movie__info > p { margin-top:8px; font-size:10px; }
.al-memory-movie__info .al-memory-movie__note { max-width:36em; margin-top:13px; color:var(--al-muted); line-height:1.65; }
.al-memory-movie__info > .al-memory-slideshow__transport {
  display:flex;
  grid-template-columns:none;
  align-items:center;
  justify-content:flex-start;
  gap:18px;
  margin-top:27px;
}
.al-memory-movie__info > .al-memory-slideshow__transport button {
  width:30px;
  min-width:30px;
  height:30px;
  min-height:30px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  padding:0;
  color:var(--al-muted);
  background:transparent;
  font:650 10px/1 var(--sv-font-sans,sans-serif);
  text-align:center;
}
.al-memory-movie__info > .al-memory-slideshow__transport button svg {
  width:16px;
  height:16px;
  display:block;
  overflow:visible;
  fill:currentColor;
  stroke:currentColor;
  stroke-width:1.25;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.al-memory-movie__info > .al-memory-slideshow__transport button.is-primary {
  width:44px;
  min-width:44px;
  height:44px;
  min-height:44px;
  color:#10120b;
  background:var(--al-accent);
  box-shadow:0 0 0 1px rgba(var(--sv-brand-rgb),.26),0 10px 28px rgba(var(--sv-brand-rgb),.12);
}
.al-memory-movie__info > .al-memory-slideshow__transport button:hover,.al-memory-movie__info > .al-memory-slideshow__transport button:focus-visible { color:var(--al-ink); background:rgba(255,255,255,.07); }
.al-memory-movie__info > .al-memory-slideshow__transport button.is-primary:hover,.al-memory-movie__info > .al-memory-slideshow__transport button.is-primary:focus-visible { color:#080905; background:var(--sv-color-brand-hover); }
.al-memory-movie__info > .al-memory-timeline {
  display:grid;
  grid-template-columns:auto minmax(80px,1fr) auto;
  align-items:center;
  gap:10px;
  margin-top:18px;
}
.al-memory-timeline > b { color:var(--al-muted); font: 550 9px/1 var(--sv-font-mono); font-variant-numeric:tabular-nums; }
.al-memory-timeline > i { height:2px; border-radius:2px; background:rgba(255,255,255,.18); }
.al-memory-timeline > input[type="range"] {
  width:100%;
  height:12px;
  margin:0;
  border:0;
  padding:0;
  outline:0;
  appearance:none;
  background:transparent;
  cursor:pointer;
}
.al-memory-timeline > input[type="range"]::-webkit-slider-runnable-track {
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--al-accent) 0 var(--memory-progress,0%),rgba(255,255,255,.18) var(--memory-progress,0%) 100%);
}
.al-memory-timeline > input[type="range"]::-webkit-slider-thumb {
  width:8px;
  height:8px;
  margin-top:-3px;
  border:0;
  border-radius:50%;
  appearance:none;
  background:#f2f2ec;
  box-shadow:0 0 0 3px rgba(255,255,255,.08);
}
.al-memory-timeline > input[type="range"]::-moz-range-track { height:2px; border:0; background:rgba(255,255,255,.18); }
.al-memory-timeline > input[type="range"]::-moz-range-progress { height:2px; background:var(--al-accent); }
.al-memory-timeline > input[type="range"]::-moz-range-thumb { width:8px; height:8px; border:0; border-radius:50%; background:#f2f2ec; }
.al-memory-timeline .al-memory-story-progress {
  position:static;
  display:flex;
  min-width:0;
  gap:3px;
}
.al-memory-timeline .al-memory-story-progress button { height:12px; padding:5px 0; }
.al-memory-timeline .al-memory-story-progress button::before,.al-memory-timeline .al-memory-story-progress button i { height:2px; }
.al-memory-timeline .al-memory-story-progress button.is-active::before { background:linear-gradient(90deg,var(--al-accent) 0 38%,rgba(255,255,255,.2) 38% 100%); }
.al-memory-movie__info > .al-memory-timeline .al-memory-story-progress button {
  min-width:0;
  min-height:12px;
  height:12px;
  border:0;
  border-radius:0;
  padding:5px 0;
  background:transparent;
  box-shadow:none;
}
.al-memory-movie__info > .al-memory-timeline .al-memory-story-progress button i { margin:0; }
.al-memory-movie.is-timing .al-memory-story-progress button.is-active i { animation:al-memory-progress 5.8s linear forwards; }
.al-memory-movie.is-paused .al-memory-story-progress button.is-active i { animation-play-state:paused; }
.al-memory-movie__actions {
  display:flex !important;
  align-items:center;
  justify-content:flex-start;
  gap:14px !important;
  margin-top:22px !important;
}
.al-memory-movie__actions > span { margin-left:auto; }
.al-memory-movie__actions > button {
  min-height:34px;
  border-color:var(--sv-color-border);
  padding:0 12px;
  font-size:9px;
}
.al-memory-movie__actions > span { display:flex; align-items:center; gap:7px; color:var(--al-faint); }
.al-memory-movie__actions > span i { width:5px; height:5px; border-radius:50%; background:var(--al-accent); }
.al-memory-movie__actions > span b { font: 600 9px/1 var(--sv-font-mono); }
.al-memory-movie__boundary {
  display:block;
  margin-top:17px;
  color:var(--al-faint);
  font-size:8px;
  line-height:1.6;
}
.al-memory-library { margin-top:22px; }
.al-memory-library > header {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:13px;
}
.al-memory-library h3 { margin:0; color:var(--al-ink); font:600 16px/1 var(--sv-font-sans,sans-serif); letter-spacing:.02em; }
.al-memory-library header p { margin:6px 0 0; color:var(--al-faint); font-size:9px; }
.al-memory-library header button { border:0; padding:5px 0; color:var(--al-accent); background:transparent; font:650 9px/1 var(--sv-font-sans,sans-serif); cursor:pointer; }
.al-memory-library header button span { margin-left:8px; }
.al-memory-library__rail {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:16px;
}
.al-memory-film-card {
  min-width:0;
  display:block;
  border:0;
  padding:0 0 9px;
  color:var(--al-ink);
  background:transparent;
  text-align:left;
  cursor:pointer;
  transition:transform .22s ease,color .22s ease;
}
.al-memory-film-card:hover,.al-memory-film-card:focus-visible { color:var(--sv-color-text); transform:translateY(-2px); outline:none; }
.al-memory-film-card__cover {
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  display:block;
  overflow:hidden;
  border:1px solid var(--sv-color-border-soft);
  border-radius:8px;
  background:var(--sv-color-surface-strong);
  transition:border-color .2s ease,box-shadow .2s ease;
}
.al-memory-film-card.is-active .al-memory-film-card__cover { border-color:var(--al-accent); box-shadow:0 0 0 1px rgba(var(--sv-brand-rgb),.16); }
.al-memory-film-card__cover img { width:100%; height:100%; display:block; object-fit:cover; filter:saturate(.78) brightness(.7); transition:filter .22s ease,transform .35s ease; }
.al-memory-film-card:hover img,.al-memory-film-card:focus-visible img,.al-memory-film-card.is-active img { filter:saturate(.92) brightness(.82); }
.al-memory-film-card:hover img { transform:scale(1.025); }
.al-memory-film-card__cover > i {
  position:absolute;
  inset:50% auto auto 50%;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid var(--sv-color-border-strong);
  border-radius:50%;
  color:var(--sv-color-text);
  background:rgba(5,5,4,.54);
  font-size:9px;
  font-style:normal;
  transform:translate(-50%,-50%);
  backdrop-filter:blur(7px);
}
.al-memory-film-card__cover > em { position:absolute; top:8px; left:8px; color:var(--sv-color-text); font-size:7px; font-style:normal; letter-spacing:.04em; }
.al-memory-film-card__copy {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:4px 10px;
  padding:9px 2px 0;
}
.al-memory-film-card__copy time { grid-column:1/-1; color:var(--al-faint); font-size:8px; }
.al-memory-film-card__copy b { min-width:0; overflow:hidden; color:inherit; font-size:10px; font-weight:620; text-overflow:ellipsis; white-space:nowrap; }
.al-memory-film-card__copy small { color:var(--al-muted); font: 500 8px/1 var(--sv-font-mono); }
.al-memory-themes { margin-top:50px; }

@media (max-width:1100px) {
  .al-header { grid-template-columns:auto 1fr; gap:0 24px; }
  .al-header-actions { grid-column:2; grid-row:1; }
  .al-header > .al-memory-nav { grid-column:1/-1; grid-row:2; min-height:52px; }
  .al-header > .al-memory-nav button { min-height:52px; }
  .al-memory-movie { grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr); gap:34px; }
  .al-memory-slideshow { width:min(100%,470px); }
  .al-memory-library__rail { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:780px) {
  .al-header { display:flex; align-items:flex-start; gap:12px; }
  .al-header > .al-memory-nav { width:100%; order:3; min-height:48px; }
  .al-header > .al-memory-nav button { min-height:48px; }
  .al-header-actions { width:100%; }
  .al-memory-hero { grid-template-columns:1fr; gap:20px; }
  .al-memory-hero h2 { font-size:clamp(39px,12vw,56px); }
  .al-memory-frequency { min-width:0; width:100%; grid-template-columns:1fr 150px; }
  .al-memory-frequency small { justify-self:start; }
  .al-memory-movie { min-height:0; grid-template-columns:1fr; gap:27px; padding:14px 14px 24px; }
  .al-memory-slideshow { width:min(100%,520px); }
  .al-memory-movie__info { width:100%; max-width:none; padding:0 4px; }
  .al-memory-movie__eyebrow { margin-top:22px; }
  .al-memory-slideshow__transport { margin-top:22px; }
  .al-memory-library__rail { grid-template-columns:repeat(6,190px); overflow-x:auto; padding:1px 1px 8px; scrollbar-width:none; }
  .al-memory-library__rail::-webkit-scrollbar { display:none; }
  .al-memory-themes { margin-top:38px; }
}
.sv-batch-summary,
.sv-batch-actions,
.sv-batch-selection-actions { display: flex; align-items: center; }
.sv-batch-summary { gap: 8px; white-space: nowrap; }
.sv-batch-summary strong { font-size: 0.8rem; font-weight: 650; color: var(--al-ink, #f5f5f4); }
.sv-batch-pulse {
  width: 7px; height: 7px; border-radius: 50%;
  background: #a7c4a6;
  box-shadow: 0 0 0 5px rgba(167, 196, 166, 0.1);
}
.sv-batch-divider { width: 1px; height: 22px; flex: 0 0 auto; background: rgba(255, 255, 255, 0.1); }
.sv-batch-actions { gap: 6px; }
.sv-batch-action,
.sv-batch-link {
  min-height: 32px; border: 0; border-radius: 9px;
  color: var(--sv-color-text); background: transparent; cursor: pointer;
  transition: color 160ms ease, background 160ms ease, transform 160ms ease;
}
.sv-batch-action {
  padding: 0 12px;
  border: 1px solid var(--sv-color-border-soft);
  background: rgba(255, 255, 255, 0.035);
}
.sv-batch-action--danger {
  color: #ffb7b7;
  border-color: rgba(255, 105, 105, 0.28);
  background: rgba(122, 28, 28, 0.18);
}
.sv-batch-action:hover,
.sv-batch-link:hover { color: var(--sv-color-text); background: rgba(255, 255, 255, 0.1); transform: translateY(-1px); }
.sv-batch-action--danger:hover {
  color: var(--sv-color-text); border-color: rgba(255, 120, 120, 0.5); background: rgba(172, 42, 42, 0.42);
}
.sv-batch-selection-actions { gap: 2px; }
.sv-batch-link { padding: 0 8px; font-size: 0.77rem; }
.sv-batch-action:disabled,
.sv-batch-link:disabled { opacity: 0.4; pointer-events: none; }
@keyframes sv-batch-bar-in {
  from { opacity: 0; transform: translate(-50%, 12px) scale(0.98); }
  to { opacity: 1; transform: translate(-50%, 0) scale(1); }
}
@media (max-width: 760px) {
  .sv-batch-bar {
    right: 12px; bottom: 14px; left: 12px; gap: 8px;
    width: auto; max-width: none; overflow-x: auto; padding: 9px 10px; transform: none;
  }
  .sv-batch-divider:last-of-type,
  .sv-batch-selection-actions { display: none; }
}

.al-time-view.is-selecting .al-time-masonry > button {
  outline: 2px solid transparent;
  outline-offset: -2px;
}
.al-time-view.is-selecting .al-time-masonry > button .al-pick-mark {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 3;
  width: 18px;
  height: 18px;
  border: 1.5px solid rgba(255, 255, 255, 0.7);
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.45);
  opacity: 1;
  pointer-events: none;
}
.al-time-view.is-selecting .al-time-masonry > button.is-picked {
  outline-color: var(--al-accent);
}
.al-time-view.is-selecting .al-time-masonry > button.is-picked .al-pick-mark {
  background: var(--al-accent);
  border-color: var(--al-accent);
}
.al-time-view.is-selecting .al-time-masonry > button.is-picked .al-pick-mark::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 5px;
  height: 9px;
  border: solid #0a0a0a;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.al-time-masonry > button .al-pick-mark { display: none; }
.al-time-view.is-selecting .al-time-masonry > button .al-pick-mark { display: block; }

/* Event search and model-generated shared tags. */
.al-event-stream-view .al-event-search {
  width:min(250px,26vw);
  min-height:34px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  border:1px solid var(--sv-color-border);
  border-radius:999px;
  padding:0 9px 0 12px;
  background:rgba(255,255,255,.025);
  transition:border-color .18s ease,background .18s ease;
}
.al-event-stream-view .al-event-search:focus-within { border-color:var(--sv-color-border-soft); background:rgba(255,255,255,.045); }
.al-event-search > span { color:var(--al-faint); font: 500 16px/1 var(--sv-font-sans); transform:translateY(-1px); }
.al-event-search input {
  width:100%;
  min-width:0;
  border:0;
  outline:0;
  color:var(--al-ink);
  background:transparent;
  font: 560 9px/1.2 var(--sv-font-sans);
}
.al-event-search input::placeholder { color:var(--al-faint); }
.al-event-stream-view .al-event-search input:focus,
.al-event-stream-view .al-event-search input:focus-visible {
  outline:none;
  box-shadow:none;
}
.al-event-search button {
  width:20px;
  height:20px;
  border:0;
  border-radius:50%;
  padding:0;
  color:var(--al-muted);
  background:rgba(255,255,255,.07);
  font:500 14px/18px var(--sv-font-sans,sans-serif);
  cursor:pointer;
}
.al-event-search button:hover { color:var(--al-ink); background:rgba(255,255,255,.12); }
.al-time-rail.is-searching { opacity:.28; pointer-events:none; }
.al-event-heading { min-width:0; }
.al-event-heading > button { min-width:0; display:flex; align-items:baseline; gap:10px; border:0; padding:0; color:var(--al-ink); background:transparent; text-align:left; cursor:zoom-in; }
.al-event-heading > button strong { overflow:hidden; color:var(--al-ink); font: 500 18px/1.25 var(--sv-font-sans); letter-spacing:-.025em; text-overflow:ellipsis; white-space:nowrap; }
.al-event-heading > button span { flex:0 0 auto; color:var(--al-accent); font-size:8px; font-weight:800; }
.al-event-shared-tags { display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; }
.al-event-shared-tags span { border:1px solid var(--sv-color-border-soft); border-radius:999px; padding:3px 7px; color:var(--al-faint); background:rgba(255,255,255,.018); font-size:8px; line-height:1; }

@media (max-width:780px) {
  .al-event-stream-view .al-event-search { width:100%; }
}

/* Refined album chrome: quiet controls, one type system, no bright utility fill. */
.al-header-actions .al-scan-action {
  border:0;
  color:var(--al-muted);
  background:transparent;
  box-shadow:none;
}
.al-header-actions .al-scan-action:hover:not(:disabled) {
  color:var(--al-ink);
  background:rgba(255,255,255,.045);
}
.al-event-stream-view .al-time-toolbar {
  min-height:0;
  align-items:flex-end;
  padding:26px 0 24px;
  border-top:0;
  border-bottom:1px solid var(--sv-color-border-soft);
}
.al-event-stream-view .al-time-toolbar > div:first-child { max-width:560px; }
.al-event-stream-view .al-time-toolbar > div > span {
  margin-bottom:9px;
  color:var(--al-muted);
  font: 650 9px/1 var(--sv-font-sans);
  letter-spacing:.13em;
}
.al-event-stream-view .al-time-toolbar strong {
  margin:0;
  color:var(--al-ink);
  font: 540 clamp(31px,2.8vw,42px)/1.06 var(--sv-font-sans);
  letter-spacing:-.045em;
}
.al-event-stream-view .al-time-toolbar p {
  margin-top:9px;
  font-size:10px;
  line-height:1.55;
}
.al-event-stream-view .al-time-toolbar-filters { gap:7px; max-width:none; }
.al-event-stream-view .al-time-toolbar label.al-event-star-filter,
.al-event-stream-view .al-time-toolbar label.al-event-format-filter {
  min-height:34px;
  gap:7px;
  border-color:var(--sv-color-border-soft);
  border-radius:999px;
  padding:0 8px 0 12px;
  color:var(--al-faint);
  background:rgba(255,255,255,.025);
  font-size:9px;
  font-weight:560;
}
.al-event-stream-view .al-time-toolbar label.al-event-star-filter select,
.al-event-stream-view .al-time-toolbar label.al-event-format-filter select {
  min-width:84px;
  padding-inline:3px;
  color:var(--al-ink);
  background:transparent;
  font-size:9px;
  font-weight:600;
}
.al-event-stream-view .al-time-toolbar .al-event-batch-toggle {
  min-height:34px;
  border:1px solid var(--sv-color-border);
  border-radius:999px;
  padding:0 13px;
  color:var(--al-muted);
  background:rgba(255,255,255,.025);
  font-size:9px;
  font-weight:600;
  letter-spacing:0;
}
.al-event-stream-view .al-time-toolbar .al-event-batch-toggle:hover {
  border-color:var(--sv-color-border-soft);
  color:var(--al-ink);
  background:rgba(255,255,255,.055);
}
.al-event-stream-view .al-time-toolbar .al-event-batch-toggle.is-active {
  border-color:rgba(var(--sv-brand-rgb),.42);
  color:var(--al-accent);
  background:rgba(var(--sv-brand-rgb),.055);
}
.al-event-stream-view .al-time-layout { padding-top:22px; }
.al-event-month > header span,
.al-event-day-body > header > button:first-child strong {
  font-family: var(--sv-font-sans);
  letter-spacing:-.025em;
}

@media (max-width:780px) {
  .al-event-stream-view .al-time-toolbar { align-items:flex-start; padding-top:20px; }
  .al-event-stream-view .al-time-toolbar-filters { width:100%; justify-content:flex-start; }
}
