.chat-memory{padding:8px 16px;border-top:1px solid var(--line);font-size:12px;flex-shrink:0}
.chat-memory[hidden]{display:none}.chat-memory summary{cursor:pointer;color:var(--gold);font-weight:600}
.chat-memory>small{display:block;margin-block:5px;color:var(--muted);font-size:10px}
.chat-memory-suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.chat-memory button,.archive-controls button,.archive-map-card button{background:transparent;color:inherit;border:1px solid var(--line);padding:8px 12px;border-radius:8px;cursor:pointer}
.chat-memory-suggestions button{text-align:start;max-width:100%;min-height:52px;overflow-wrap:anywhere;display:flex;flex-direction:column;gap:3px}
.chat-memory-suggestions button:hover,.chat-memory-suggestions button:focus-visible{border-color:var(--gold);background:var(--soft)}
.chat-memory-suggestions button small{color:var(--gold);font-size:10px}.chat-memory-suggestions button span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.4}
.chat-memory>button{margin-top:6px;font-size:10px;padding:5px 8px;color:var(--muted)}
.archive-intro,.archive-date-note{font-size:12px;line-height:1.8;margin-block:0 14px;color:var(--muted)}
.archive-map-card{margin-block:9px;background:var(--panel);border-radius:10px;overflow:hidden}
.archive-map-card .archive-select{display:grid;grid-template-columns:94px minmax(0,1fr);align-items:stretch;width:100%;padding:0;text-align:start;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink)}
.archive-select:hover,.archive-select:focus-visible,.archive-select[aria-pressed=true]{border-color:var(--gold);outline-offset:3px}
.archive-select[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--gold)}
.archive-select:disabled{cursor:progress;opacity:.75}
.archive-select img{display:block;width:94px;height:100%;min-height:96px;max-height:132px;object-fit:contain;background:var(--soft);padding:6px;box-sizing:border-box}
.archive-card-info{display:flex;flex-direction:column;gap:5px;padding:9px 11px;min-width:0}
.archive-card-info strong{font-size:15px;line-height:1.5}.archive-card-info small{font-size:10px;color:var(--muted)}
.archive-card-book{line-height:1.3}
.archive-card-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:11px;line-height:1.6;color:var(--muted)}
.archive-card-action{color:var(--gold);font-size:12px}.archive-section-title{font-size:15px;margin-block:20px 12px}
.archive-map-overlay{position:absolute;z-index:4;inset-inline:14px;bottom:14px;max-width:560px;margin-inline:auto;padding:12px 15px;border:1px solid var(--gold);border-radius:10px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}
.archive-map-overlay[hidden]{display:none}.archive-map-overlay>strong{display:block;padding-inline-end:28px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.archive-overlay-close{position:absolute;inset-inline-end:5px;top:2px;border:0;background:transparent;color:inherit;min-width:36px;min-height:36px;font-size:24px;cursor:pointer}
.archive-overlay-status{font-size:11px;line-height:1.5;color:var(--muted);margin:6px 0}
.archive-map-overlay>small{display:block;font-size:9px;color:var(--muted);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.archive-overlay-tools{display:flex;align-items:center;gap:14px}.archive-overlay-tools label{display:flex;align-items:center;gap:8px;flex:1;min-width:0;font-size:11px}.archive-overlay-tools input{width:100%;min-width:40px;accent-color:var(--gold)}
.archive-overlay-tools button{font-size:11px;border:1px solid var(--line);border-radius:6px;padding:7px 10px;background:transparent;color:var(--ink);cursor:pointer}
.has-archive .map-coverage-note{display:none}.atlas-map-page .has-archive .map-stage-bottom{bottom:155px}
.archive-folio-backdrop{position:fixed;inset:0;z-index:79;background:#061512cc;backdrop-filter:blur(5px)}.archive-folio-backdrop[hidden]{display:none}
.archive-folio{position:fixed;z-index:80;top:50%;left:50%;transform:translate(-50%,-50%);width:min(94vw,1400px);height:min(94dvh,1000px);box-sizing:border-box;display:flex;flex-direction:column;gap:9px;padding:16px;border:1px solid var(--gold);border-radius:12px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow);overflow:hidden}
.archive-folio[hidden]{display:none}.archive-folio strong{padding-inline-end:44px;line-height:1.4}.archive-folio-view{flex:1;min-height:0;display:flex;overflow:auto;scrollbar-width:none;align-items:safe center;justify-content:safe center;background:#0a1714;border:1px solid var(--line);border-radius:6px}.archive-folio-view::-webkit-scrollbar{display:none}.archive-folio img{display:block;flex:none;max-width:none;max-height:none;margin:auto;object-fit:contain}.archive-folio-controls{display:flex;align-items:center;gap:6px}.archive-folio-controls button{min-width:38px;min-height:38px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:var(--soft);font-size:17px}.archive-folio-controls button:disabled{opacity:.45;cursor:default}.archive-folio-controls span{margin-inline-start:auto;color:var(--muted);font-size:11px}.archive-folio p{font-size:12px;line-height:1.6;margin:0;color:var(--ink)}.archive-folio small{font-size:10px;color:var(--muted)}
.archive-folio-close{position:absolute;inset-inline-end:5px;top:4px;min-width:36px;min-height:36px;border:0;background:transparent;color:inherit;font-size:24px;cursor:pointer}
@media(min-width:901px){.archive-map-overlay{bottom:84px}.atlas-map-page .has-archive .map-stage-bottom{bottom:225px}}
@media(max-width:900px){.atlas-map-page .map-workspace.archive-map-open{grid-template-rows:minmax(440px,calc(100svh - 290px)) 76px}.atlas-map-page .map-stage.has-archive{height:max(440px,calc(100svh - 290px));min-height:440px;max-height:none}}
.map-stage-tabs{flex-wrap:wrap;max-width:100%}.map-pane-tabs{flex-wrap:wrap}
@media(max-width:600px){.map-stage-tabs button{padding:8px;font-size:11px}.chat-memory{padding:6px 10px}}
@media(max-width:600px){.archive-folio{width:calc(100% - 16px);height:calc(100dvh - 16px);padding:11px}.archive-folio strong{font-size:14px}.archive-folio p{font-size:11px}.archive-folio-controls span{font-size:9px}}
