:root {
  --paper: #eef2f8;
  --ink: #202d47;
  --muted: #737e91;
  --blue: #4b61d1;
  --blue-dark: #374dbb;
  --blue-soft: #e9edff;
  --teal: #287568;
  --line: rgba(97, 117, 149, .14);
  --glass: rgba(255, 255, 255, .68);
  --shadow: 0 8px 35px rgba(51, 69, 111, .045), inset 0 1px 0 rgba(255,255,255,.92);
  --sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  --display: "Songti SC", "Noto Serif CJK SC", "STSong", serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 14px/1.6 var(--sans); }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; color: inherit; }
button:disabled { cursor: not-allowed; opacity: .45; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { outline-offset: 4px; }
:focus-visible { outline: 2px solid var(--blue); }
button { border: 0; background: none; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin: 0; }
h1 { font-size: 29px; font-weight: 600; letter-spacing: -.9px; line-height: 1.35; }
h2 { font-size: 18px; font-weight: 600; letter-spacing: -.4px; }
h3 { font-size: 15px; font-weight: 600; }
small { font-size: 11px; }
svg.icon { width: 19px; height: 19px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.icon-slot { display: inline-flex; align-items: center; }
.ambient { position: fixed; z-index: -1; pointer-events: none; filter: blur(70px); border-radius: 50%; }
.ambient-one { width: 620px; height: 620px; left: -180px; top: -180px; background: #d9e3f9; opacity: .68; }
.ambient-two { width: 680px; height: 680px; right: -260px; top: 160px; background: #dce9e7; opacity: .53; }
.glass { background: var(--glass); border: 1px solid rgba(255,255,255,.85); box-shadow: var(--shadow); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); }
.app-shell { max-width: 1920px; margin: auto; display: grid; grid-template-columns: 208px minmax(0,1fr); min-height: 100vh; transition: grid-template-columns .28s cubic-bezier(.2,.8,.2,1); }
.sidebar { position: sticky; z-index: 20; top: 18px; margin: 18px 0 18px 18px; border-radius: 22px; height: calc(100vh - 36px); padding: 25px 15px 13px; display: flex; flex-direction: column; }
.sidebar-header { display: flex; align-items: center; }
.sidebar-header .brand { min-width: 0; padding: 0; gap: 8px; }
.sidebar-toggle { position: absolute; top: 50%; right: -14px; z-index: 3; display: grid; place-items: center; width: 28px; height: 28px; transform: translateY(-50%); border: 1px solid #d5dff1; border-radius: 50%; background: #fafdff; color: #627398; box-shadow: 0 4px 12px #42577d24; cursor: pointer; }
.sidebar-toggle:hover { background: #e6ebfc; color: #3e56ba; }
.sidebar-toggle:focus-visible { outline: 2px solid #4e61d2; outline-offset: 2px; }
.sidebar-toggle .icon { width: 15px; height: 15px; transform: rotate(180deg); transition: transform .28s ease; }
.sidebar .nav-link { gap: 8px; padding-left: 10px; padding-right: 10px; }
.sidebar .nav-text { white-space: nowrap; }
.sidebar .nav-count { padding: 0 4px; font-size: 9px; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 12px; }
.brand-mark { width: 39px; height: 39px; border-radius: 12px; background: linear-gradient(135deg, #4c65d4, #3149ac); display: grid; grid-template-columns: 1fr 1fr; padding: 10px; gap: 5px; box-shadow: 0 5px 10px #5267c425; }
.brand-mark i { border: 1.5px solid white; border-radius: 1px; }
.brand strong { display: block; font: 600 25px/1.1 var(--display); letter-spacing: 2px; }
.brand small { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; letter-spacing: 1px; }
.workspace-label { margin: 30px 8px 17px; padding: 11px 7px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 7px; font-size: 11px; color: #68738b; }
.workspace-dot { width: 6px; height: 6px; background: #68839a; border-radius: 50%; }
.workspace-label .tag { margin-left: auto; }
.nav-group-label { font-size: 10px; color: #8591a5; padding: 8px 14px; margin-top: 6px; }
.nav-link { display: flex; align-items: center; gap: 12px; padding: 12px 14px; margin: 3px 0; border: 1px solid transparent; border-radius: 11px; color: #657188; font-size: 13px; transition: background .18s,color .18s; }
.nav-link:hover { background: #ffffffb5; color: var(--ink); }
.nav-link.active { background: #e6ebfc; border-color: #c8d3f780; color: #3e56ba; font-weight: 600; box-shadow: inset 0 1px 0 #ffffffa6; }
.nav-link .nav-count { font-size: 10px; margin-left: auto; color: #798ba7; background: #ffffff70; padding: 0 7px; border-radius: 5px; }
.curation-jobs-summary { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; padding: 18px 22px; }
.curation-jobs-summary > div { display: flex; align-items: baseline; gap: 12px; }
.curation-jobs-summary strong { font-size: 23px; color: #455cc5; }
.curation-jobs-summary span { color: var(--muted); font-size: 12px; }
.curation-job-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.curation-job-card { min-width: 0; padding: 20px 22px; }
.curation-job-top,.curation-job-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.curation-job-top small,.curation-job-footer small { color: var(--muted); font-size: 11px; }
.curation-job-card h2 { margin: 15px 0 7px; font-size: 18px; color: var(--ink); overflow-wrap: anywhere; }
.curation-job-card p { min-height: 26px; color: #687895; font-size: 12px; }
.curation-job-footer { margin-top: 18px; }
.curation-job-progress { height: 6px; border-radius: 6px; background: #e6ebf6; overflow: hidden; margin: 16px 0 4px; }
.curation-job-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#6378df,#75c1b1); }
.pdf-download-status{display:flex;align-items:flex-start;gap:14px;margin:0 0 18px;padding:16px 18px;border:1px solid #cddcf2;border-radius:15px;background:linear-gradient(110deg,#f7faff,#eef5ff);color:#283c64}
.pdf-download-status[hidden]{display:none}
.pdf-download-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:11px;background:#e1eafa;color:#4a62ca}
.pdf-download-copy{flex:1;min-width:0}.pdf-download-copy strong{display:block;font-size:13px}.pdf-download-copy p{margin:4px 0 0;font-size:11px;line-height:1.6;color:#637695}
.pdf-download-track{height:5px;margin-top:11px;border-radius:9px;overflow:hidden;background:#dbe5f4}.pdf-download-track span{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#7187ed,#62b8ad);transition:width .2s ease}
.pdf-download-track.indeterminate span{width:34%;animation:pdf-download-scan 1.8s ease-in-out infinite}
.pdf-download-status.done{border-color:#b9dfcf;background:#f2faf6}.pdf-download-status.done .pdf-download-icon{background:#d7f0e3;color:#2b8a65}
.pdf-download-status.error{border-color:#efc9be;background:#fff8f5}.pdf-download-status.error .pdf-download-icon{background:#fbe4dc;color:#b65b44}
@keyframes pdf-download-scan{0%{transform:translateX(-110%)}100%{transform:translateX(310%)}}
@media(prefers-reduced-motion:reduce){.pdf-download-track.indeterminate span{animation:none;width:100%;opacity:.5}}
@media (max-width: 800px) { .curation-job-list { grid-template-columns: 1fr; } }
.sidebar-bottom { margin-top: auto; }
.library-note { display: flex; gap: 8px; padding: 17px 9px 21px; color: #7c89a0; }
.library-note svg { width: 17px; }
.library-note strong { color: #67768d; font-size: 10px; font-weight: 500; }
.library-note p { font-size: 9px; margin-top: 4px; }
.profile { width: 100%; display: flex; align-items: center; text-align: left; gap: 9px; padding: 13px 9px 6px; border-top: 1px solid var(--line); }
.avatar { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #e7ecf5; color: #627398; font-size: 12px; }
.profile strong { display: block; font-size: 11px; font-weight: 500; }
.profile small { display: block; font-size: 9px; color: var(--muted); }
.profile .icon-slot { margin-left: auto; color: #8d99ab; }
.main-shell { min-width: 0; padding: 0 34px; }
.topbar { height: 80px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.breadcrumb { display: flex; align-items: center; gap: 10px; font-size: 11px; color: #8691a2; }
.breadcrumb svg { width: 13px; }
.breadcrumb strong { font-weight: 500; color: #536177; }
.topbar-actions { display: flex; gap: 18px; align-items: center; }
.mobile-account { display: none !important; }
.preview-tag { font-size: 10px; color: #75869a; display: inline-flex; align-items: center; gap: 6px; }
.preview-tag span { width: 5px; height: 5px; background: #718bb9; border-radius: 50%; }
.icon-button { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: #ffffff70; flex-shrink: 0; }
.icon-button:hover { background: white; color: var(--blue); }
#main { padding-top: 27px; min-height: calc(100vh - 128px); outline: none; }
.page-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 23px; }
.page-head p { color: var(--muted); font-size: 12px; margin-top: 7px; }
.eyebrow { font-size: 10px; color: #798aaa; display: block; letter-spacing: 1.2px; margin-bottom: 8px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 16px; font-size: 12px; border-radius: 10px; border: 1px solid #ccd4e2; background: #ffffffb0; white-space: nowrap; min-height: 40px; transition: background .2s,transform .2s; }
.btn:hover { background: white; transform: translateY(-1px); }
.btn svg { width: 16px; height: 16px; }
.btn.primary { color: white; background: var(--blue); border-color: var(--blue); box-shadow: 0 5px 11px #4b61d126; }
.btn.primary:hover { background: var(--blue-dark); }
.btn.dark { color: white; background: #26354d; border-color: #26354d; }
.btn.ghost { background: none; border-color: transparent; }
.btn.small { padding: 6px 11px; min-height: 31px; font-size: 11px; }
.btn.danger { color: #a04f5b; }
.text-link { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: #5a6eb3; padding: 5px 0; }
.text-link svg { width: 13px; }
.button-row { display: flex; gap: 9px; align-items: center; flex-wrap: wrap; }
.panel { border-radius: 17px; padding: 22px; }
.section-heading { display: flex; justify-content: space-between; align-items: center; margin: 25px 0 16px; gap: 12px; }
.section-heading p { font-size: 11px; color: var(--muted); margin-top: 4px; }
.hero-grid { display: grid; grid-template-columns: minmax(0,1.85fr) minmax(255px,1fr); gap: 18px; }
.hero { position: relative; border-radius: 18px; overflow: hidden; min-height: 337px; background: #526d78; isolation: isolate; }
.hero > img { width: 100%; height: 100%; position: absolute; object-fit: cover; object-position: center; z-index: -2; }
.hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(12,34,50,.77),rgba(21,46,63,.26) 90%); z-index: -1; }
.hero-copy { padding: 31px 31px 26px; color: white; }
.hero .eyebrow { color: #dfebf1; font-size: 9px; letter-spacing: 1px; }
.hero h2 { font: 500 35px/1.5 var(--display); letter-spacing: 1px; margin: 16px 0 11px; }
.hero p { font-size: 11px; line-height: 1.85; color: #e2e9ed; }
.hero .btn { margin-top: 24px; background: #ffffffea; border: 1px solid #fff; color: #33485d; box-shadow: 0 4px 20px #142e4230; }
.hero-caption { position: absolute; bottom: 20px; right: 23px; font-size: 9px; color: #eaf1f3; display: flex; align-items: center; gap: 6px; }
.hero-caption svg { width: 12px; }
.quick-start { display: flex; flex-direction: column; padding: 23px; }
.quick-start h2 { font-size: 16px; }
.quick-start > p { font-size: 11px; color: var(--muted); margin: 5px 0 21px; }
.field label, label.field > span { display: block; font-size: 11px; color: #5f6b83; margin-bottom: 7px; }
.field input, .field select, .field textarea, input.control, select.control, textarea.control { width: 100%; border: 1px solid #d6deeb; border-radius: 9px; background: #ffffffb5; color: var(--ink); padding: 10px 12px; min-height: 40px; }
textarea { resize: vertical; }
input::placeholder, textarea::placeholder { color: #98a2b4; }
.quick-start .field { margin-bottom: 15px; }
.quick-start .btn { width: 100%; margin-top: auto; }
.quick-start .quiet { text-align: center; margin-top: 9px; font-size: 9px; color: #8b97ac; }
.archive-progress { margin-top: 18px; padding: 20px 24px; border-radius: 17px; }
.archive-progress-head,.archive-progress-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.archive-progress-head h2 { font-size: 17px; }
.archive-progress p,.archive-progress-foot { color: #68768e; font-size: 11px; }
.archive-progress-lead { margin: 9px 0 16px; }
.archive-progress-lead strong { color: #344cb0; font-size: 15px; }
.archive-state { border-radius: 99px; padding: 5px 10px; background: #eef1f7; color: #61708b; font-size: 10px; white-space: nowrap; }
.archive-state.running { background: #e4f3ec; color: #2e7b5b; }
.archive-state.waiting { background: #fff0d7; color: #9a6918; }
.archive-progress-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 17px; }
.archive-progress-grid > div { padding: 11px 14px; border: 1px solid #e4eaf3; border-radius: 11px; background: #fff9; }
.archive-progress-grid small { display: block; color: #8190a5; font-size: 10px; }
.archive-progress-grid strong { font-size: 19px; font-weight: 600; color: #263854; }
.archive-track { height: 7px; overflow: hidden; border-radius: 99px; background: #e6ebf4; }
.archive-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#6177dc,#63bca5); transition: width .5s ease; }
.archive-progress-foot { margin-top: 9px; }
.archive-library-note { margin: 0 0 16px; padding: 10px 14px; border-radius: 10px; background: #eaf0fa; color: #64738c; font-size: 11px; }
.archive-library-note a { color: #435dbb; margin-left: 5px; }
@media (max-width: 650px) { .archive-progress { padding: 18px; } .archive-progress-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .archive-progress-foot { align-items: flex-start; } }
.stat-strip { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 20px; padding: 19px 8px; border-radius: 15px; }
.stat-cell { display: flex; gap: 13px; align-items: center; padding: 0 21px; border-right: 1px solid var(--line); }
.stat-cell:last-child { border: none; }
.stat-icon { color: #7086ba; width: 35px; height: 35px; border-radius: 10px; background: #ebeff9; display: grid; place-items: center; }
.stat-cell small { display: block; color: #8792a5; font-size: 10px; }
.stat-cell strong { font-size: 23px; letter-spacing: -.8px; font-weight: 550; line-height: 1.4; }
.stat-cell strong.stat-source { font-size: 17px; letter-spacing: 0; }
.stat-cell strong em { font-size: 10px; font-style: normal; font-weight: 400; color: #8e99a9; margin-left: 6px; }
.exhibition-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
.collection-card { padding: 7px; border-radius: 16px; text-align: left; width: 100%; display: block; transition: transform .2s,box-shadow .2s; }
.collection-card:hover { transform: translateY(-3px); box-shadow: 0 10px 22px #42547412; }
.collection-cover { height: 144px; position: relative; overflow: hidden; border-radius: 11px; background: #dbe2ec; }
.collection-cover img { width: 100%; height: 100%; object-fit: cover; }
.collection-cover::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,#16264088); }
.collection-cover .cover-label { position: absolute; z-index: 1; color: white; bottom: 12px; left: 14px; font: 500 21px/1.4 var(--display); }
.collection-cover .tag { position: absolute; z-index: 1; right: 10px; top: 10px; color: white; background: #ffffff22; border: 1px solid #ffffff5a; backdrop-filter: blur(10px); }
.collection-body { padding: 12px 10px 8px; display: flex; justify-content: space-between; align-items: center; }
.collection-body h3 { font-size: 12px; }
.collection-body p { font-size: 10px; color: var(--muted); margin-top: 4px; }
.collection-body > svg { color: #8b9db9; width: 17px; }
.workflow-strip { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); padding: 21px 0 5px; margin-top: 24px; color: #79889e; }
.workflow-step { display: flex; align-items: center; gap: 9px; font-size: 10px; }
.workflow-step b { font-size: 10px; color: #7183a9; font-weight: 500; }
.workflow-strip > svg { width: 13px; opacity: .45; }
.tag { font-size: 10px; background: #e9edf7; color: #697a9c; border-radius: 5px; padding: 3px 7px; display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.tag.tiny { font-size: 9px; padding: 1px 5px; }
.tag.green { background: #e2f0e9; color: #397c6a; }
.tag.amber { background: #f7edda; color: #9d792b; }
.tag.blue { background: #e6ecfc; color: #5f73b9; }
.search-panel { padding: 18px; border-radius: 15px; margin-bottom: 21px; }
.search-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.search-panel-head .text-link { padding-top: 6px; }
.search-modes { display: flex; gap: 8px; flex-wrap: wrap; margin: 2px 0 10px; }
.search-modes .chip { padding: 6px 12px; font-size: 11px; }
.search-description { color: #74839b; font-size: 11px; margin-bottom: 15px; }
.match-evidence { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 8px; }
.match-evidence .tag { font-size: 9px; }
.candidate-note { font-size: 10px; color: #8693a7; line-height: 1.8; margin: -3px 0 15px; }
.result-timing { color: #93a0b4; font-size: 9px; margin-left: 10px; }
.search-loading { min-height: 260px; border-radius: 15px; text-align: center; padding: 65px 20px; }
.search-loading h3 { font-size: 13px; margin-top: 15px; }
.search-loading p { font-size: 11px; color: #8d99ae; margin-top: 8px; }
.search-spinner { display: inline-block; width: 23px; height: 23px; border: 2px solid #d6dff4; border-top-color: #5f79c7; border-radius: 50%; animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.segmented { display: inline-flex; gap: 3px; background: #e9edf5; padding: 3px; border-radius: 9px; margin-bottom: 15px; }
.segmented button { padding: 7px 14px; border-radius: 7px; color: #7a879d; font-size: 11px; display: inline-flex; align-items: center; gap: 6px; }
.segmented button svg { width: 14px; height: 14px; }
.segmented button.active { background: white; color: #4a60b7; box-shadow: 0 2px 5px #59688312; }
.search-row { display: flex; gap: 10px; }
.search-input { position: relative; flex: 1; }
.search-input svg { position: absolute; top: 12px; left: 13px; color: #8e9cb3; width: 17px; }
.search-input input { padding-left: 40px; height: 43px; }
.search-hints { margin-top: 13px; display: flex; align-items: center; gap: 9px; flex-wrap: wrap; font-size: 10px; color: #8d97aa; }
.chip { padding: 4px 10px; background: #edf1f8; border: 1px solid #e0e6f1; color: #7385a4; border-radius: 6px; font-size: 10px; }
.chip:hover, .chip.active { background: #e6ecfb; color: #4764bb; border-color: #b8c6ee; }
.catalog-layout { display: grid; grid-template-columns: 165px minmax(0,1fr); gap: 20px; }
.filters { border-radius: 14px; padding: 16px; align-self: start; position: sticky; top: 20px; }
.filters h3 { font-size: 11px; margin: 3px 0 13px; }
.filter-group + .filter-group { border-top: 1px solid var(--line); padding-top: 16px; margin-top: 16px; }
.filter-choice { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 7px 0; color: #7f8c9f; font-size: 10px; text-align: left; }
.filter-choice.active { color: #4965b5; font-weight: 600; }
.filter-choice span { font-size: 9px; font-weight: 400; }
.results-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 14px; }
.results-heading p { font-size: 11px; color: #7e8aa0; }
.results-heading strong { color: #4b5c79; font-weight: 600; }
.results-heading select { font-size: 10px; border: none; background: none; color: #7a88a0; padding: 5px; }
.image-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.image-card { position: relative; border-radius: 13px; padding: 6px; background: #ffffffb8; border: 1px solid #ffffff; box-shadow: 0 4px 10px #56648605; overflow: hidden; }
.image-open { display: block; width: 100%; padding: 0; text-align: left; }
.image-frame { height: 161px; border-radius: 9px; overflow: hidden; background: #e6ebf2; }
.image-frame img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.image-open:hover img { transform: scale(1.035); }
.image-body { padding: 10px 7px 5px; }
.image-body .caption { font-size: 11px; line-height: 1.65; color: #445674; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 36px; }
.image-body .meta { display: flex; align-items: center; justify-content: space-between; gap: 5px; margin-top: 9px; font-size: 9px; color: #9aa3b3; }
.image-body .meta .tag { font-size: 8px; padding: 2px 5px; }
.image-select { position: absolute; top: 14px; right: 14px; min-width: 54px; height: 29px; padding: 0 7px; border: 1px solid #fff9; border-radius: 7px; background: #fffffff0; backdrop-filter: blur(9px); color: #4961b9; display: flex; align-items: center; justify-content: center; gap: 3px; font-size: 10px; font-weight: 600; box-shadow: 0 2px 8px #172b6040; }
.image-select svg { width: 14px; height: 14px; }
.image-select.selected { background: var(--blue); color: white; border-color: var(--blue); }
.pagination { display: flex; justify-content: center; align-items: center; gap: 9px; margin-top: 23px; color: #8290a7; font-size: 11px; }
.selection-bar { position: sticky; bottom: 17px; padding: 12px 16px; border-radius: 12px; margin-top: 18px; display: flex; justify-content: space-between; align-items: center; background: #fdfdffff; box-shadow: 0 8px 25px #36496119; font-size: 11px; border: 1px solid #d4def3; z-index: 5; }
.empty-state { padding: 55px 20px; text-align: center; color: #8794a8; border: 1px dashed #cbd5e7; border-radius: 15px; }
.empty-state > svg { width: 33px; height: 33px; margin-bottom: 12px; }
.empty-state h3 { color: #62728b; margin-bottom: 6px; }
.empty-state p { font-size: 11px; margin-bottom: 18px; }
.steps { display: flex; gap: 0; margin-bottom: 26px; }
.step { flex: 1; display: flex; align-items: center; gap: 9px; color: #93a0b5; font-size: 11px; position: relative; }
.step:not(:last-child)::after { content: ''; flex: 1; height: 1px; background: #d7deeb; margin: 0 22px; }
.step-number { width: 27px; height: 27px; border-radius: 50%; display: grid; place-items: center; background: #e4e9f3; color: #8e9ab0; font-size: 11px; }
.step.active { color: #4b62ba; font-weight: 600; }
.step.active .step-number, .step.complete .step-number { background: #4b61d1; color: white; }
.curation-layout { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(250px,1fr); gap: 20px; align-items: start; }
.form-panel { padding: 25px; }
.panel-title { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }
.panel-title .icon-slot { color: #7489c5; width: 33px; height: 33px; display: grid; place-items: center; background: #edf0fc; border-radius: 10px; }
.form-panel .field { margin-bottom: 21px; }
.field-hint { font-size: 10px; color: #929caf; margin-top: 7px; }
.prompt-field-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
.prompt-field-head label { margin: 0; }
.prompt-field textarea { min-height: 132px; resize: vertical; line-height: 1.8; background: #fffdfc; }
.prompt-optimize { flex: none; padding: 8px 12px; border: 1px solid #b7c5ee; background: #edf1ff; color: #4059b5; font-size: 11px; box-shadow: none; }
.prompt-optimize:hover { background: #e3eaff; border-color: #8fa5e2; }
.prompt-optimize:disabled { opacity: .65; cursor: wait; }
.prompt-optimize:focus-visible, .prompt-field textarea:focus-visible { outline: 2px solid #5269d8; outline-offset: 2px; }
@media (max-width: 650px) { .prompt-field-head { align-items: flex-start; } .prompt-optimize { padding: 8px 9px; } }
.field-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.source-choices { display: flex; flex-wrap: wrap; gap: 7px; }
.curation-advanced { border: 1px solid var(--line); border-radius: 14px; padding: 13px 16px; margin: 18px 0; }
.advanced-toggle { display: flex; align-items: center; gap: 9px; cursor: pointer; color: var(--primary); font-weight: 650; }
.advanced-toggle input { accent-color: var(--primary); }
.advanced-fields { margin-top: 18px; }
.advanced-fields[hidden] { display: none; }
.source-choice { font-size: 11px; padding: 9px 12px; border: 1px solid #d5ddeb; border-radius: 9px; background: #ffffffb0; color: #78869e; }
.source-choice.active { background: #eef1ff; border-color: #a6b6e7; color: #4d65bd; }
.order-choices { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.order-choice { border: 1px solid #d8e0ed; border-radius: 10px; padding: 13px 10px; text-align: left; color: #7d8ba4; background: #ffffff80; }
.order-choice.active { border-color: #9eaee3; background: #ecf0fe; color: #4e65b5; box-shadow: inset 0 0 0 1px #bdc8ed40; }
.order-choice svg { width: 18px; margin-bottom: 8px; }
.order-choice b { display: block; font-size: 11px; font-weight: 500; }
.order-choice small { display: block; margin-top: 4px; font-size: 9px; line-height: 1.6; color: #94a0b5; }
.aside-note { padding: 23px; margin-bottom: 18px; }
.aside-note > h3 { font-size: 13px; margin-bottom: 12px; }
.aside-note p { color: #8895a9; font-size: 11px; line-height: 1.9; }
.aside-note .mini-photo { width: 100%; height: 127px; border-radius: 10px; object-fit: cover; margin: 16px 0 10px; }
.note-list { list-style: none; padding: 0; margin: 16px 0 0; }
.note-list li { display: flex; gap: 8px; font-size: 10px; color: #8794a8; margin-top: 11px; }
.note-list svg { width: 14px; height: 14px; color: #6c9c93; margin-top: 2px; }
.prototype-note { border-left: 2px solid #b6c4e7; padding: 9px 12px; background: #e9eef850; color: #8593ab; font-size: 10px; line-height: 1.8; border-radius: 0 8px 8px 0; }
.form-footer { border-top: 1px solid var(--line); padding-top: 20px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.form-footer span { font-size: 10px; color: #909baf; }
.outline-header { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.outline-header p { margin-top: 4px; font-size: 11px; color: var(--muted); }
.quota-summary { padding: 16px 0; display: flex; justify-content: space-between; align-items: center; gap: 15px; font-size: 11px; color: #8291a7; }
.quota-summary strong { font-size: 18px; color: #536bc2; }
.chapter-row { display: grid; grid-template-columns: 26px minmax(0,1fr) 72px 28px; align-items: start; gap: 12px; border: 1px solid #dbe2ef; background: #ffffff7a; border-radius: 11px; padding: 14px 12px; margin-bottom: 11px; }
.chapter-index { color: #b1b9c8; font-size: 17px; font-family: Georgia,serif; margin-top: 8px; }
.chapter-row input { width: 100%; border: 1px solid #d6deeb; border-radius: 7px; padding: 7px 9px; background: #ffffffa0; min-width: 0; font-size: 12px; }
.chapter-row textarea { width: 100%; border: none; background: transparent; color: #8b97ab; font-size: 10px; padding: 6px 0 0; min-height: 40px; }
.chapter-quota label { display: block; font-size: 9px; color: #8e99ad; margin-bottom: 3px; }
.chapter-actions { display: flex; flex-direction: column; gap: 3px; }
.chapter-actions button { padding: 2px; color: #a0acc0; }
.chapter-actions svg { width: 15px; height: 15px; }
.chapter-actions button:hover { color: var(--blue); }
.notice { border: 1px solid #e3d5ae; border-radius: 12px; background: #fcf7e9; padding: 16px; margin-bottom: 19px; font-size: 11px; color: #8f793e; display: flex; gap: 10px; align-items: start; }
.notice p { font-size: 10px; margin-top: 5px; line-height: 1.8; }
.curation-progress{display:flex;align-items:center;gap:18px;min-height:108px;margin-bottom:21px;padding:17px 20px;border-radius:17px;background:linear-gradient(110deg,#f9fbffec,#eef4ffdf 65%,#f8fbffeb);border-color:#dfe8f7;box-shadow:0 13px 30px #314d8410,inset 0 1px 0 #fff}
.curation-progress-mark{position:relative;flex:none;width:64px;height:64px;border-radius:15px;overflow:hidden;background:linear-gradient(150deg,#223b64,#496da1);box-shadow:0 8px 18px #233c6440}
.curation-progress-mark::before{content:"";position:absolute;inset:9px;border:1px solid #ffffff42;border-radius:9px}
.curation-progress-mark span{position:absolute;top:19px;width:18px;height:26px;border:1px solid #fff9;border-radius:3px;background:linear-gradient(160deg,#e7f4f9b8,#9fc7df82);box-shadow:0 2px 5px #142b4a60;animation:curation-frames 3.6s ease-in-out infinite}
.curation-progress-mark span:nth-child(1){left:13px;transform:rotate(-13deg);animation-delay:-2.4s}.curation-progress-mark span:nth-child(2){left:23px;transform:rotate(3deg);animation-delay:-1.2s}.curation-progress-mark span:nth-child(3){left:33px;transform:rotate(15deg)}
.curation-progress-main{flex:1;min-width:0;max-width:650px}.curation-progress-kicker{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:1px;color:#6480a3;margin-bottom:3px}.curation-live-dot{width:6px;height:6px;border-radius:50%;background:#4e8cba;box-shadow:0 0 0 3px #4e8cba22;animation:curation-pulse 1.8s ease-in-out infinite}
.curation-progress-main strong{display:block;color:#253b62;font-size:15px;font-weight:600;line-height:1.45}.curation-progress-main p{margin:3px 0 9px;color:#7c8ba2;font-size:10px;line-height:1.5}
.curation-progress-track{position:relative;max-width:490px;height:4px;border-radius:99px;overflow:hidden;background:#dce7f4}.curation-progress-track::after{content:"";position:absolute;inset:0 auto 0 0;width:34%;border-radius:99px;background:linear-gradient(90deg,#6f9acb,#4b61d1,#8bbacf);box-shadow:0 0 9px #6079bc66;animation:curation-scan 2.8s ease-in-out infinite}
.curation-progress-track.measured{height:7px;max-width:580px}.curation-progress-track.measured::after{display:none}.curation-progress-track-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#81b6d6,#5068d7);transition:width .35s ease}.curation-progress-stage.failed{background:linear-gradient(110deg,#fffaf0,#f7f9ff);border-color:#ebdfc5}.curation-progress-stage.failed .curation-progress-mark,.curation-progress-stage.failed::after,.curation-progress-stage.failed .curation-live-dot{animation:none}.curation-failure>div{flex:1}.curation-failure strong{font-size:12px}.curation-failure .button-row{margin-top:11px}
.btn.curation-cancel{flex:none;margin-left:auto;min-height:35px;padding:7px 14px;border:1px solid #cbd8e9;border-radius:999px;background:#ffffffbd;color:#526782;font-size:11px;font-weight:500;box-shadow:0 2px 7px #344c7010}.btn.curation-cancel:hover{background:#fff;border-color:#9aabc7;color:#273c5f;transform:none}.btn.curation-cancel:focus-visible{outline-offset:3px}
@keyframes curation-frames{0%,100%{opacity:.65;translate:0 1px}50%{opacity:1;translate:0 -3px}}@keyframes curation-pulse{0%,100%{opacity:.55;scale:1}50%{opacity:1;scale:1.2}}@keyframes curation-scan{0%{transform:translateX(-110%)}50%{transform:translateX(175%)}100%{transform:translateX(360%)}}
@media(max-width:650px){.curation-progress{gap:12px;padding:14px;flex-wrap:wrap}.curation-progress-mark{width:52px;height:52px}.curation-progress-mark span{top:13px}.curation-progress-main{flex-basis:calc(100% - 64px)}.btn.curation-cancel{margin-left:64px}.curation-progress-track{max-width:none}}
.upload-layout { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(240px,1fr); gap: 20px; align-items: start; }
.dropzone { position: relative; border: 1px dashed #a7b9dd; background: #f7f9ff99; border-radius: 14px; padding: 48px 22px 35px; text-align: center; transition: background .2s; }
.dropzone.dragging { background: #e4ebff; border-color: var(--blue); }
.upload-symbol { width: 51px; height: 51px; display: grid; place-items: center; background: #eaf0ff; color: #637bc6; border: 1px solid #d6e0fa; box-shadow: 0 4px 10px #4b61d110; border-radius: 15px; margin: 0 auto 17px; }
.upload-symbol svg { width: 24px; height: 24px; }
.dropzone h3 { font-size: 14px; }
.dropzone p { color: #93a0b6; font-size: 11px; margin: 8px 0 18px; }
.dropzone small { display: block; color: #9aa5b6; margin-top: 16px; font-size: 9px; }
.upload-file-list { margin-top: 20px; }
.upload-file { display: flex; gap: 12px; align-items: center; padding: 13px 0; border-bottom: 1px solid var(--line); }
.upload-file img { width: 51px; height: 44px; object-fit: cover; border-radius: 7px; }
.file-icon { width: 51px; height: 44px; display: grid; place-items: center; border-radius: 7px; background: #e9edf7; color: #7b8caf; }
.upload-file .file-text { flex: 1; min-width: 0; }
.file-text strong { font-size: 11px; font-weight: 500; display: block; overflow-wrap: anywhere; }
.file-text small { color: #91a0b6; font-size: 9px; }
.upload-file .icon-button { width: 27px; height: 27px; }
.table-wrap { overflow: auto; }
table { border-collapse: collapse; width: 100%; text-align: left; font-size: 11px; }
th { font-weight: 500; font-size: 10px; color: #96a1b5; padding: 13px 12px; border-bottom: 1px solid var(--line); white-space: nowrap; }
td { padding: 17px 12px; border-bottom: 1px solid var(--line); color: #73839d; }
td strong { font-size: 11px; font-weight: 500; color: #455773; }
.table-empty { text-align: center; padding: 50px 10px; color: #97a1b5; }
.progress-track { height: 4px; background: #e4eaf5; border-radius: 5px; margin: 9px 0; overflow: hidden; }
.progress-track span { display: block; width: 100%; height: 100%; background: #8397d8; }
.saved-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
.saved-card { border-radius: 15px; padding: 7px; overflow: hidden; }
.saved-card img { width: 100%; height: 155px; object-fit: cover; border-radius: 10px; }
.saved-cover-empty { height: 155px; display: grid; place-items: center; border-radius: 10px; background: #edf2fb; color: #7586a5; }
.saved-body { padding: 15px 10px 10px; }
.saved-body h3 { font-size: 13px; margin-bottom: 6px; }
.saved-body p { font-size: 10px; color: #93a0b6; }
.saved-body .button-row { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--line); }
.exhibition-preview { border-radius: 17px; overflow: hidden; background: #fff; box-shadow: var(--shadow); }
.exhibition-preview:fullscreen { overflow: auto; border-radius: 0; }
.exhibit-cover { position: relative; padding: 48px 42px; min-height: 320px; color: white; isolation: isolate; }
.exhibit-cover > img { position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; z-index: -2; }
.exhibit-cover::after { position: absolute; inset: 0; content: ''; background: linear-gradient(90deg,#152a48c7,#293d5950); z-index: -1; }
.exhibit-cover h1 { font: 500 38px/1.5 var(--display); letter-spacing: 1px; max-width: 80%; margin: 18px 0; }
.exhibit-cover p { font-size: 11px; opacity: .85; }
.exhibit-content { padding: 32px 42px; }
.preface { color: #748198; font-size: 12px; line-height: 2.1; max-width: 780px; }
.exhibit-chapter { padding-top: 29px; margin-top: 26px; border-top: 1px solid #e8edf4; }
.exhibit-chapter .chapter-label { font: 500 11px/1.5 Georgia,serif; color: #9aa9c0; margin-bottom: 9px; }
.exhibit-chapter h2 { font: 500 24px/1.5 var(--display); }
.exhibit-chapter > p { font-size: 11px; color: #93a0b3; margin: 7px 0 18px; }
.exhibit-chapter .image-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.exhibit-chapter .image-card { border: 1px solid #e7ecf4; }
.exhibit-chapter .image-frame { height: 175px; }
.exhibition-preview .exhibit-chapter .image-frame img { object-fit: contain; }
.exhibition-preview .exhibit-chapter .image-open:hover img { transform: none; }
.exhibition-preview .image-open:focus-visible { outline: none; }
.exhibition-preview .image-open:focus-visible .image-frame { box-shadow: inset 0 0 0 2px #7d8eaa; }
.export-format-choice { display: inline-flex; align-items: center; gap: 8px; color: #60708c; font-size: 12px; }
.export-format-choice select { min-height: 38px; padding: 0 30px 0 11px; border: 1px solid #ccd4e2; border-radius: 9px; background: #fff; color: #263854; }
.photo-drag-handle { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; margin: 0 0 9px; border-radius: 8px; background: #e9eefb; color: #405a9a; font-size: 11px; cursor: grab; user-select: none; }
.photo-drag-handle:active { cursor: grabbing; }
.editable-photo.dragging-photo { opacity: .45; }
.editable-photo.drag-target { outline: 2px dashed #4b61d1; outline-offset: 5px; border-radius: 10px; }
#overlay-root .photo-viewer-backdrop { padding: 0; background: #0d1728; backdrop-filter: none; -webkit-backdrop-filter: none; }
#overlay-root .dialog.photo-viewer-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: none; padding: 0; overflow: hidden; border: 0; border-radius: 0; background: #111b2c; box-shadow: none; animation: none; }
#overlay-root .photo-viewer { display: grid; grid-template-columns: minmax(0,1fr) clamp(340px,28vw,440px); grid-template-rows: 68px minmax(0,1fr); width: 100%; height: 100%; }
.photo-viewer-head { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; min-width: 0; padding: 0 24px 0 32px; border-bottom: 1px solid #ffffff17; background: #111b2c; color: #f6f8fd; }
.photo-viewer-headline { display: flex; align-items: center; gap: 24px; min-width: 0; }
.photo-viewer-brand { flex: none; color: #9caed2; font-size: 11px; font-weight: 600; letter-spacing: 1px; }
.photo-viewer-chapter { overflow: hidden; color: #e6ebf8; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.photo-viewer-head-actions { display: flex; align-items: center; gap: 26px; flex: none; }
.photo-viewer-head-actions strong { color: #f6f8fd; font-size: 19px; font-variant-numeric: tabular-nums; font-weight: 600; }
.photo-viewer-head-actions strong span { color: #8293b1; font-size: 12px; font-weight: 400; }
.photo-viewer-close { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #ffffff2c; border-radius: 10px; color: #e2e8f4; font-size: 25px; line-height: 1; }
.photo-viewer-close:hover { background: #ffffff16; }
.photo-viewer-stage { position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 0; overflow: hidden; padding: 30px 72px; background: radial-gradient(circle at 50% 46%,#26344c 0,#131e30 58%,#0d1728 100%); }
.photo-viewer-stage img { width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain; }
.photo-viewer-arrow { position: absolute; top: 50%; display: grid; place-items: center; width: 46px; height: 58px; transform: translateY(-50%); border: 1px solid #ffffff24; border-radius: 11px; background: #ffffff13; color: #fff; font-size: 38px; line-height: 1; transition: background .16s,border-color .16s; }
.photo-viewer-arrow.previous { left: 14px; }
.photo-viewer-arrow.next { right: 14px; }
.photo-viewer-arrow:hover:not(:disabled) { border-color: #ffffff61; background: #ffffff2b; }
.photo-viewer-arrow:disabled { opacity: .24; }
.photo-viewer-info { display: flex; flex-direction: column; min-height: 0; overflow-y: auto; padding: 34px 34px 26px; background: #f7f9fd; color: #1d2c47; }
.photo-viewer-info section + section { margin-top: 28px; padding-top: 27px; border-top: 1px solid #dce3ef; }
.photo-viewer-eyebrow { display: block; margin-bottom: 12px; color: #6177aa; font-size: 10px; font-weight: 700; letter-spacing: 1.1px; }
.photo-viewer-info h2 { font: 600 26px/1.45 var(--display); letter-spacing: .2px; }
.photo-viewer-info .photo-viewer-chapter-description { margin-top: 12px; color: #52617a; font-size: 12px; line-height: 1.85; white-space: pre-wrap; }
.photo-viewer-info .photo-viewer-caption { color: #283850; font-size: 13px; line-height: 1.9; overflow-wrap: anywhere; white-space: pre-wrap; }
.photo-viewer-info .photo-viewer-meta { display: block; margin-top: 28px; padding-top: 17px; border-top: 1px solid #dce3ef; color: #6c7d9a; font-size: 11px; line-height: 1.7; }
.photo-viewer-info .photo-viewer-hint { margin-top: auto; padding-top: 30px; color: #8795ad; font-size: 11px; }
@media(max-width:800px){#overlay-root .photo-viewer{grid-template-columns:minmax(0,1fr);grid-template-rows:58px minmax(0,1fr) minmax(180px,34dvh)}.photo-viewer-head{padding:0 16px}.photo-viewer-brand{display:none}.photo-viewer-head-actions{gap:12px}.photo-viewer-stage{padding:10px 46px}.photo-viewer-arrow{width:34px;height:46px;font-size:30px}.photo-viewer-arrow.previous{left:5px}.photo-viewer-arrow.next{right:5px}.photo-viewer-info{padding:19px 22px 24px}.photo-viewer-info h2{font-size:20px}.photo-viewer-info section+section{margin-top:18px;padding-top:18px}}
.account-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.account-grid .field { margin-bottom: 17px; }
.app-footer { display: flex; justify-content: space-between; align-items: center; color: #a0aabe; font-size: 9px; padding: 25px 0 18px; }
.overlay-backdrop { position: fixed; inset: 0; background: #25364c55; backdrop-filter: blur(6px); z-index: 50; display: flex; justify-content: center; align-items: center; padding: 25px; }
.dialog { width: min(560px,100%); max-height: 90vh; overflow: auto; border-radius: 20px; background: #f5f7fceF; border: 1px solid #fff; box-shadow: 0 25px 90px #1b2d4f44; padding: 26px; }
.dialog-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 16px; }
.dialog p { font-size: 12px; color: #7d8aa1; line-height: 1.9; }
.dialog .field { margin-top: 16px; }
.dialog .button-row { margin-top: 23px; justify-content: flex-end; }
.duplicate-dialog{width:min(760px,100%)}
.duplicate-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.duplicate-group{margin-top:18px}.duplicate-group h3{font-size:14px;color:#26385b}
.duplicate-choice{display:grid;gap:8px;align-content:start;padding:12px;border:1px solid #d8e1f1;border-radius:14px;background:#fff;min-width:0}
.duplicate-choice img{width:100%;height:150px;object-fit:contain;background:#f0f3f9;border-radius:9px}
.duplicate-choice p{margin:0;max-height:4.4em;overflow:auto;overflow-wrap:anywhere}
.duplicate-choice .btn{justify-self:start}
@media(max-width:560px){.duplicate-choices{grid-template-columns:1fr}}
.detail-dialog { width: min(1050px,100%); padding: 0; display: grid; grid-template-columns: minmax(0,1.4fr) minmax(280px,1fr); }
.detail-photo { background: #e7ecf2; min-height: 460px; display: flex; align-items: center; justify-content: center; padding: 20px; }
.detail-photo img { max-height: 65vh; width: 100%; object-fit: contain; }
.detail-info { padding: 26px; }
.detail-info .caption { font-size: 13px; color: #546680; line-height: 1.9; margin: 20px 0; }
.detail-rows { border-top: 1px solid var(--line); padding-top: 15px; }
.detail-row { display: grid; grid-template-columns: 68px 1fr; font-size: 11px; margin: 12px 0; gap: 8px; }
.detail-row dt { color: #96a1b4; }
.detail-row dd { margin: 0; color: #667a98; overflow-wrap: anywhere; }
.toast { position: fixed; left: 50%; transform: translate(-50%,12px); bottom: 28px; border: 1px solid #fff; background: #26364ef2; color: #fff; box-shadow: 0 8px 30px #25375225; padding: 11px 20px; border-radius: 12px; font-size: 12px; opacity: 0; transition: opacity .2s,transform .2s; z-index: 100; pointer-events: none; max-width: min(600px,90vw); }
.toast.show { opacity: 1; transform: translate(-50%,0); }
.loading-state { text-align: center; color: #8c99b0; padding: 100px 20px; }
.loading-dot { display: inline-block; width: 8px; height: 8px; background: #9aaade; border-radius: 50%; margin-right: 8px; }
.skip-link { position: fixed; top: -50px; left: 15px; z-index: 200; background: white; padding: 10px 20px; }
.skip-link:focus { top: 15px; }
[hidden] { display: none !important; }
@media (min-width: 1550px) { .main-shell { padding: 0 48px; } .hero { min-height: 385px; } .hero-copy { padding: 38px; } .hero h2 { font-size: 43px; } .hero p { font-size: 13px; } .image-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } .image-frame { height: 190px; } .collection-cover { height: 185px; } }
@media (max-width: 1150px) { .app-shell { grid-template-columns: 200px minmax(0,1fr); } .main-shell { padding: 0 24px; } .sidebar { padding-left: 10px; padding-right: 10px; margin-left: 12px; } .brand { padding: 0 8px; gap: 9px; } .hero-grid { grid-template-columns: minmax(0,1.4fr) minmax(235px,1fr); } .hero-copy { padding: 27px 22px; } .hero h2 { font-size: 30px; } .stat-cell { padding: 0 12px; gap: 8px; } .stat-icon { width: 29px; height: 29px; } .catalog-layout { grid-template-columns: 140px minmax(0,1fr); gap: 14px; } .image-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .curation-layout { grid-template-columns: minmax(0,1.5fr) minmax(210px,1fr); } .panel { padding: 18px; } .order-choice { padding: 10px 7px; } .saved-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 900px) { .app-shell { grid-template-columns: 78px minmax(0,1fr); } .sidebar { padding: 20px 8px 12px; margin-left: 10px; border-radius: 18px; } .brand { padding: 0; justify-content: center; } .brand > span:last-child,.workspace-label,.nav-group-label,.nav-text,.nav-count,.library-note,.profile > span:not(.avatar) { display: none; } .brand-mark { width: 35px; height: 35px; padding: 8px; } #navigation { margin-top: 30px; } .nav-link { padding: 12px 0; justify-content: center; margin-bottom: 10px; } .profile { justify-content: center; padding: 15px 0 2px; } .hero-grid { grid-template-columns: 1.5fr 1fr; } .hero h2 { font-size: 29px; } .hero { min-height: 335px; } .hero-caption { font-size: 8px; } .collection-cover { height: 120px; } .collection-cover .cover-label { font-size: 18px; } .stat-cell { padding: 0 10px; } .stat-icon { display: none; } .curation-layout,.upload-layout { grid-template-columns: 1fr; } .curation-aside { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; } .aside-note { margin: 0; } .account-grid { grid-template-columns: 1fr; } }
@media (max-width: 650px) { .app-shell { display: block; } .sidebar { position: fixed; top: auto; bottom: 10px; left: 10px; right: 10px; height: 62px; margin: 0; padding: 5px; border-radius: 17px; z-index: 30; background: #f8faffee; } .brand,.sidebar-bottom { display: none; } #navigation { display: flex; margin: 0; justify-content: space-around; } .nav-link { flex: 1; padding: 8px 3px; margin: 0; flex-direction: column; gap: 2px; border-radius: 11px; } .nav-link .nav-text { display: block; font-size: 8px; font-weight: 500; } .nav-link svg { width: 18px; height: 18px; } .main-shell { padding: 0 17px; } .topbar { height: 61px; } .topbar-actions { gap: 9px; } .preview-tag { font-size: 8px; } .breadcrumb { font-size: 9px; gap: 5px; } .breadcrumb > span:first-child { display: none; } .breadcrumb > .icon-slot { display: none; } #main { padding-top: 21px; } .page-head { margin-bottom: 18px; gap: 10px; } h1 { font-size: 24px; } .page-head p { font-size: 10px; line-height: 1.8; } .page-head .btn { padding: 9px 11px; font-size: 10px; } .eyebrow { font-size: 9px; } .hero-grid { grid-template-columns: 1fr; gap: 13px; } .hero { min-height: 305px; } .hero-copy { padding: 24px; } .hero h2 { font-size: 31px; } .hero-caption { right: 16px; bottom: 17px; } .quick-start { padding: 20px; } .quick-start .field { margin-bottom: 12px; } .quick-start > p { margin-bottom: 15px; } .stat-strip { grid-template-columns: repeat(2,1fr); gap: 16px 0; padding: 17px 6px; margin-top: 15px; } .stat-cell { padding: 0 17px; } .stat-cell:nth-child(2) { border: none; } .stat-icon { display: grid; width: 30px; height: 30px; } .stat-cell strong { font-size: 21px; } .stat-cell small { font-size: 9px; } .exhibition-grid { grid-template-columns: 1fr; gap: 11px; } .collection-cover { height: 158px; } .collection-cover .cover-label { font-size: 23px; } .workflow-strip { flex-wrap: wrap; gap: 15px; padding-top: 17px; } .workflow-step { font-size: 9px; gap: 5px; } .workflow-strip > svg { width: 10px; } .workflow-strip > svg:last-of-type { display: none; } .app-footer { padding-bottom: 93px; font-size: 8px; } .search-row { flex-wrap: wrap; } .search-input { flex-basis: calc(100% - 75px); } .search-row > select { width: 100%; } .catalog-layout { display: block; } .filters { position: static; display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; padding: 12px; } .filter-group { width: 100%; } .filter-group + .filter-group { display: none; } .filters h3 { margin: 0 0 7px; } .filter-choices { display: flex; gap: 9px; flex-wrap: wrap; } .filter-choice { width: auto; gap: 6px; padding: 3px 5px; } .image-grid { gap: 10px; } .image-frame { height: 134px; } .image-body { padding: 8px 4px 5px; } .image-body .caption { font-size: 10px; min-height: 33px; } .image-body .meta { font-size: 8px; } .image-body .meta .tag { font-size: 7px; } .image-select { top: 11px; right: 11px; width: 23px; height: 23px; } .selection-bar { bottom: 81px; padding: 10px; font-size: 10px; } .selection-bar .btn { padding: 7px 9px; font-size: 10px; } .steps { margin-bottom: 22px; } .step { gap: 5px; font-size: 9px; } .step-number { width: 23px; height: 23px; } .step:not(:last-child)::after { margin: 0 8px; } .curation-aside { grid-template-columns: 1fr; } .form-panel { padding: 18px; } .panel-title { margin-bottom: 20px; } .field-pair { gap: 10px; } .order-choice small { font-size: 8px; } .chapter-row { grid-template-columns: 17px minmax(0,1fr) 53px 21px; gap: 7px; padding: 11px 9px; } .chapter-index { font-size: 14px; } .chapter-row input { padding: 7px; font-size: 11px; } .outline-header { align-items: start; } .upload-layout { gap: 15px; } .dropzone { padding: 35px 16px; } .saved-grid { grid-template-columns: 1fr; } .exhibit-cover { padding: 35px 24px; min-height: 285px; } .exhibit-cover h1 { font-size: 31px; max-width: 100%; } .exhibit-content { padding: 24px 18px; } .exhibit-chapter .image-grid { grid-template-columns: 1fr; } .exhibit-chapter .image-frame { height: 200px; } .detail-dialog { display: block; } .detail-photo { min-height: 190px; padding: 14px; } .detail-photo img { max-height: 34vh; } .detail-info { padding: 20px; } .overlay-backdrop { padding: 13px; } .dialog { padding: 21px; } .detail-dialog { padding: 0; } .toast { bottom: 88px; } }
@media (max-width: 650px) {
  .mobile-account { display: inline-flex !important; }
  .page-head { flex-wrap: wrap; align-items: flex-start; }
  .page-head > .button-row { width: 100%; gap: 6px; }
  .page-head > .button-row .btn { flex: 1; }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
@media print { body { background: white; } .sidebar,.topbar,.app-footer,.page-head,.steps,.button-row,.prototype-note,.toast,.ambient,.notice,.curation-progress { display: none !important; } .app-shell { display: block; } .main-shell,#main { padding: 0; } .exhibition-preview { box-shadow: none; border-radius: 0; } .exhibit-cover { break-after: page; print-color-adjust: exact; -webkit-print-color-adjust: exact; } .exhibit-content { padding: 25px; } .exhibit-chapter { break-before: page; } .exhibit-chapter .image-grid { grid-template-columns: 1fr 1fr; } .image-card { break-inside: avoid; } .image-select { display: none; } .image-frame img { object-fit: contain; } .image-body .caption { display: block; overflow: visible; } }

.editor-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:16px 0;flex-wrap:wrap}
.editor-chapter-nav{position:sticky;top:8px;z-index:12;display:flex;gap:8px;overflow-x:auto;padding:8px;margin:10px 0 16px;border:1px solid var(--line);border-radius:16px;background:rgba(247,250,255,.94);box-shadow:0 8px 24px rgba(24,48,90,.08);backdrop-filter:blur(16px)}
.editor-chapter-link{display:flex;align-items:center;gap:7px;max-width:230px;min-width:125px;padding:9px 11px;border:1px solid #dce5f4;border-radius:11px;background:#fff;color:var(--ink);text-align:left;font:inherit;cursor:pointer}
.editor-chapter-link:hover,.editor-chapter-link:focus-visible{border-color:#6579d7;background:#edf1ff;outline:none}
.editor-chapter-link.overview{min-width:auto;font-weight:700}
.editor-chapter-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.editor-chapter-link b{color:#5064c5;font-size:11px}
.editor-chapter-link small{margin-left:auto;color:#5b6b83;white-space:nowrap;font-size:10px}
.editor-chapter-link small.short{color:#a26420}
.editor-chapter-dock{position:fixed;left:50%;bottom:18px;z-index:18;transform:translateX(-50%);display:flex;align-items:center;gap:7px;width:min(480px,calc(100vw - 36px));padding:7px;border:1px solid #d5dff0;border-radius:15px;background:rgba(250,252,255,.96);box-shadow:0 12px 35px #253f7429;backdrop-filter:blur(16px)}
.editor-chapter-dock select{min-width:0;flex:1;border:0;background:transparent;color:var(--ink);font-size:12px;padding:8px;cursor:pointer}
.editor-chapter-dock button{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:9px;background:#eaf0ff;color:#475fc1}
.editor-chapter-dock button:hover{background:#dce6ff}
.editor-chapter-dock button:disabled{opacity:.35}
.editor-chapter-dock svg{width:15px;height:15px}
#main:has(.editor-chapter-dock){padding-bottom:85px}
.editor-shortage{margin:0 0 14px}
#editor-overview,.editor-chapter{scroll-margin-top:82px}
.editor-chapter{margin-top:22px}
.editor-chapter-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line);color:#60718d;font-size:11px}
.editor-chapter-switch .button-row{gap:5px}
.editor-chapter-heading{display:grid;grid-template-columns:40px minmax(0,1fr) 115px;gap:18px;align-items:start}
.editor-chapter-fields input,.editor-chapter-fields textarea{width:100%;margin-bottom:10px}
.photo-edit-controls{padding:9px 0;display:grid;gap:7px}
.photo-edit-controls .button-row{justify-content:space-between;gap:3px}
.photo-edit-controls select{max-width:115px;font-size:12px;padding:5px;min-height:30px}
.chapter-candidates{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}
.chapter-candidates h3{font-size:15px;margin:0 0 4px}
.chapter-candidates .candidate-note{margin:0 0 12px}
.candidate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:12px}
.candidate-card{border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.72);padding:7px;min-width:0}
.candidate-card .btn{width:100%;justify-content:center;margin-top:7px}
.candidate-preview{width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;color:var(--ink)}
.candidate-preview img{width:100%;height:120px;object-fit:contain;background:#edf2f8;border-radius:9px}
.candidate-preview span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:11px;line-height:1.5;margin:6px 3px 0}
.review-dialog{width:min(1120px,calc(100vw - 40px));max-width:none}
.review-material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:24px 0}
.review-material{min-width:0;border:1px solid var(--line);border-radius:18px;padding:18px;background:rgba(255,255,255,.72);display:grid;gap:9px}
.review-material>img{width:100%;height:220px;object-fit:contain;background:#edf2f8;border-radius:10px}
.review-material>strong{overflow-wrap:anywhere}.review-material small{line-height:1.6;color:var(--muted)}
.review-material .field{margin:0}.review-material .field-pair{gap:10px}
.review-include{display:flex;gap:9px;align-items:center;margin:8px 0;font-size:13px}
.review-include input{width:17px;min-height:17px;height:17px}
.review-action-panel{border-top:1px solid var(--line);padding-top:20px;margin-top:16px}
@media(max-width:700px){.editor-chapter-heading{grid-template-columns:30px minmax(0,1fr)}.editor-chapter-heading .chapter-quota{grid-column:2}.review-material-grid{grid-template-columns:1fr}.review-dialog{width:calc(100vw - 20px);padding:18px}.photo-edit-controls .button-row{flex-wrap:wrap}.editor-toolbar .button-row{flex-wrap:wrap}}

/* Account gate and team account forms follow the existing glass panels. */
.auth-gated .sidebar,.auth-gated .topbar-actions{display:none}
.auth-gated .app-shell{grid-template-columns:minmax(0,1fr)}
.auth-gated #main{max-width:1260px;margin:0 auto;padding:48px 32px}
.login-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center;min-height:75vh}
.login-story{padding:48px 18px}
.login-story h1{font-size:clamp(38px,4.8vw,64px);line-height:1.35;letter-spacing:-2px;margin:24px 0}
.login-story p{max-width:440px;color:var(--text-muted,#677488);font-size:16px;line-height:1.9}
.login-features{margin-top:38px;color:#698784;font-size:13px;letter-spacing:2px}
.login-card{padding:36px;box-shadow:0 24px 80px #536b8320}
.login-card h2{font-size:25px;margin:18px 0 10px}
.login-card>p{color:#64748b;line-height:1.8;margin-bottom:22px}
.login-card .btn{width:100%;margin-top:8px}
.auth-error{color:#a33540;font-size:13px;line-height:1.7;margin:12px 0}
#account-form select,#account-form input,#password-form input,#login-form input{width:100%;box-sizing:border-box}
.login-card small{font-size:12px;line-height:1.7;color:#627286;overflow-wrap:anywhere;display:block;margin-top:8px}
.login-captcha-row{display:flex;gap:12px;align-items:stretch}
.login-captcha-row input{min-width:0;flex:1;letter-spacing:2px;text-transform:uppercase}
.captcha-refresh{width:176px;height:58px;flex:none;overflow:hidden;border:1px solid #d4def0;border-radius:11px;background:#f0f5ff;color:#52678c;cursor:pointer}
.captcha-refresh img{display:block;width:100%;height:100%;object-fit:cover}
.captcha-refresh img[hidden],.captcha-refresh span[hidden]{display:none}
.captcha-refresh:focus-visible{outline:3px solid #7086ed;outline-offset:2px}
@media(max-width:440px){.captcha-refresh{width:132px}.login-captcha-row{gap:8px}}
@media(max-width:760px){.auth-gated #main{padding:22px 20px}.login-layout{grid-template-columns:1fr;gap:16px;min-height:auto}.login-story{padding:8px 2px}.login-story h1{font-size:34px;margin:14px 0;letter-spacing:-1px}.login-story p{font-size:14px}.login-features{margin-top:16px;font-size:11px}.login-card{padding:24px}.login-card h2{font-size:23px}}

/* Team maintenance keeps the archive's quiet glass and clear time labels. */
.backup-status{display:flex;gap:16px;padding:20px 24px;margin-bottom:24px;border:1px solid #c6ded9;border-radius:18px;background:#edf7f1;color:var(--teal)}
.backup-status.pending{background:#fff8e9;border-color:#ecdcb8;color:#866b33}
.backup-status>span{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:50%;background:#ffffff80}
.backup-status p{margin:3px 0 0;font-size:13px}.backup-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:24px}
.backup-layout h2{margin:10px 0 22px}.backup-policy .field-pair{gap:20px}.backup-unit{display:flex;align-items:center;gap:12px}
.backup-unit input{min-width:0;width:100%}.backup-unit span{color:var(--muted)}
.backup-manual>p{color:var(--muted);line-height:1.85}.backup-manual>.btn{margin:14px 0 12px}
.backup-scope{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0;border-top:1px solid var(--line);padding-top:20px;color:var(--ink)}
.backup-scope span::before{content:'✓';color:var(--teal);margin-right:9px}.backup-section{margin-top:24px}
.backup-section td{vertical-align:top}.backup-section td small{display:inline-block;line-height:1.8;overflow-wrap:anywhere}
.backup-section .button-row{flex-wrap:wrap;white-space:nowrap}.backup-section .btn{font-size:12px}
.backup-dialog-actions{margin-top:26px;justify-content:flex-end}.backup-restore-time{font-family:var(--display);font-size:26px;margin:20px 0 12px}
.backup-restore-warning{padding:16px;border-left:3px solid #b8615a;background:#f8eae780;margin-top:20px;line-height:1.8}
.btn.backup-danger{background:#994a43;color:white}.btn.backup-danger:hover{background:#7d3732}
#backup-policy-feedback{color:var(--teal);font-size:13px;margin:12px 0 0}
@media(max-width:850px){.backup-layout{grid-template-columns:1fr}.backup-status{padding:16px}.backup-section .results-heading{align-items:flex-start;gap:12px;flex-direction:column}}

/* Live service and storage indicators share the existing archive panels. */
.system-overview{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}
.system-card{min-width:0}.system-card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.system-card h2{margin:0}.system-state{display:flex;gap:8px;align-items:center;white-space:nowrap;font-size:12px;color:#7a7180}
.system-state i{width:7px;height:7px;border-radius:50%;background:currentColor}.system-state.healthy{color:var(--teal)}.system-state.error{color:#994a43}.system-state.starting,.system-state.maintenance{color:#8b712e}
.system-message{color:var(--muted);margin:14px 0 20px}.system-stat-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.system-stat-pair small,.system-stat-pair strong{display:block}.system-stat-pair small{color:var(--muted);font-size:12px}
.system-stat-pair strong{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;margin-top:6px}.system-stat-pair em{font-size:12px;font-weight:400;font-style:normal;margin-left:6px}
.system-checks{display:grid;gap:8px;margin:22px 0;color:var(--muted);font-size:12px}.system-checks b{color:var(--ink);font-weight:500;margin-left:8px}
.system-diagnostics{border-top:1px solid var(--line);padding-top:14px;font-size:12px}.system-diagnostics summary,.system-alert-history summary{cursor:pointer;color:var(--blue)}
.system-diagnostics p{color:var(--muted);line-height:1.8}.system-sampled{display:block;margin-top:16px;color:var(--muted);font-size:11px}
.system-volume{margin:18px 0 20px}.system-volume-title{display:flex;justify-content:space-between;gap:12px;font-size:12px}.system-volume-title span{color:var(--teal)}
.system-disk-number{font-size:28px;font-variant-numeric:tabular-nums;margin:12px 0 9px}.system-disk-number small{font-size:12px;color:var(--muted);margin-left:12px}
.system-disk-track{height:7px;border-radius:6px;background:#dfe6ec;overflow:hidden}.system-disk-track i{display:block;height:100%;background:#659b8d;border-radius:6px}
.system-volume.warning .system-disk-track i{background:#ba9544}.system-volume.critical .system-disk-track i{background:#b0655c}
.system-volume.warning .system-volume-title span{color:#937528}.system-volume.critical .system-volume-title span{color:#994a43}
.system-volume>p{font-size:12px;color:var(--muted);margin:8px 0}.system-alert-section{margin-bottom:24px}
.system-alert-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}
.system-alert-row:last-child{border:0}.system-alert-heading{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.system-alert-row p{margin:8px 0;overflow-wrap:anywhere}.system-alert-row small,.system-suggestion{font-size:12px;color:var(--muted)}
.system-alert-history{margin-top:18px}.system-no-alerts,.system-loading{color:var(--muted);padding:14px 0}
.system-alert-banner{margin:18px 40px 0;padding:16px 20px;border:1px solid #e6c2ba;background:#fff1eb;border-radius:14px;display:flex;gap:20px;align-items:center;justify-content:space-between;color:#91483e}
.system-alert-banner p{margin:4px 0 0;font-size:12px;overflow-wrap:anywhere}.system-alert-banner .btn{white-space:nowrap;flex-shrink:0}
.system-alert-button{position:relative}.system-alert-button span:last-child{position:absolute;right:-4px;top:-5px;min-width:17px;height:17px;padding:0 3px;background:#994a43;color:white;font-size:10px;border-radius:10px}
.system-alert-banner[hidden],.system-alert-button[hidden]{display:none}
.notification-summary{display:flex;align-items:center;flex-wrap:wrap;gap:20px;color:var(--muted);margin:0 0 22px;font-size:12px}
.notification-summary b{color:var(--blue);font-size:21px;margin-right:5px}.notification-summary span:last-child{margin-left:auto}
.notification-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(340px,1.15fr);gap:22px;align-items:start}
.notification-inbox{padding:10px;max-height:calc(100vh - 230px);overflow:auto}.notification-message{display:block;width:100%;border:1px solid transparent;border-radius:13px;padding:18px;background:transparent;text-align:left;color:var(--ink);font:inherit;cursor:pointer}
.notification-message+.notification-message{margin-top:5px}.notification-message:hover{background:#edf1fb}.notification-message.selected{border-color:#a2b2f2;background:#eef2ff;box-shadow:inset 3px 0 var(--blue)}
.notification-message:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.notification-message-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.notification-message.unread strong::before{content:'';display:inline-block;width:7px;height:7px;background:var(--blue);border-radius:50%;margin-right:9px}
.notification-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.8;margin:10px 0}.notification-message small{color:var(--muted);font-size:11px}
.notification-detail{min-height:320px}.notification-detail h2{margin:14px 0 18px}.notification-detail>p{line-height:1.9;overflow-wrap:anywhere}.notification-next-step{margin:24px 0;padding:18px 20px;background:#eef3f8;border-left:3px solid #9eafe8;border-radius:0 12px 12px 0}.notification-next-step h3{font-size:13px;margin:0 0 8px}.notification-next-step p{font-size:13px;line-height:1.9;margin:0}
.storage-locations{font-size:12px;margin:14px 0;color:var(--muted)}.storage-locations summary{cursor:pointer;color:var(--blue)}.storage-locations code{display:block;font-size:11px;overflow-wrap:anywhere;margin:5px 0 12px}
.maintenance-focus{outline:2px solid #899de9;outline-offset:5px;scroll-margin-top:28px}
.topbar-actions{position:relative;z-index:60}
.notification-popover{position:absolute;top:calc(100% + 12px);right:50px;width:min(400px,calc(100vw - 34px));border:1px solid #dce3f1;border-radius:17px;background:#fbfcfffa;backdrop-filter:blur(22px);box-shadow:0 18px 55px #263c632b;overflow:hidden;animation:notification-popover-in .14s ease-out}
.notification-popover[hidden]{display:none}.notification-popover-heading{display:flex;justify-content:space-between;align-items:center;padding:15px 17px 10px}.notification-popover-heading h2{font-size:15px;margin:0}.notification-popover-heading small{font-size:11px;color:var(--muted);font-weight:400;margin-left:8px}
.notification-popover-tabs{display:flex;gap:8px;padding:0 14px 10px;border-bottom:1px solid var(--line)}.notification-popover-tabs button{border:0;background:transparent;border-radius:8px;padding:7px 15px;color:var(--muted);font:inherit;font-size:12px;cursor:pointer}.notification-popover-tabs button[aria-pressed=true]{background:#eaf0ff;color:var(--blue);font-weight:600}
.notification-popover-list{max-height:min(460px,calc(100vh - 210px));overflow-y:auto;overscroll-behavior:contain;padding:6px}.notification-popover-message{display:block;width:100%;border:0;border-radius:11px;background:transparent;padding:14px;text-align:left;font:inherit;color:var(--ink);cursor:pointer}.notification-popover-message:hover{background:#edf2fc}.notification-popover-message-head{display:flex;align-items:center;gap:10px}.notification-popover-message-head strong{font-size:13px;overflow-wrap:anywhere}.notification-popover-message.unread strong::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--blue);margin-right:8px}.notification-popover-message-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:10px;color:var(--muted)}.notification-popover-message-foot span{color:var(--blue)}
.notification-popover-empty,.notification-popover-warning{padding:18px;margin:0;color:var(--muted);font-size:12px;line-height:1.8}.notification-popover-warning{padding:10px 18px;background:#fff6e7;color:#8b6e30}.notification-popover button:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
@keyframes notification-popover-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.notification-popover{animation:none}}
@media(max-width:650px){.notification-popover{position:fixed;top:62px;left:12px;right:12px;width:auto}}
@media(max-width:850px){.notification-layout{grid-template-columns:1fr}.notification-inbox{max-height:360px}.notification-summary span:last-child{margin-left:0}}
.email-section{margin-bottom:24px}.email-section h2{margin:8px 0 0}.email-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px}
.email-config-grid>div{min-width:0}.email-host-fields{grid-template-columns:minmax(0,1fr) 110px}.email-clear-password{display:flex!important;align-items:center;gap:8px;margin-top:10px;font-size:12px!important;color:var(--muted)}
.email-config-grid .field{min-width:0}.email-config-grid input,.email-config-grid select,.email-config-grid textarea{min-width:0;max-width:100%}
.email-clear-password input{width:auto!important}.email-delivery-details{border-top:1px solid var(--line);margin-top:26px;padding-top:18px}.email-delivery-details summary{cursor:pointer;color:var(--blue);font-size:13px}
.email-section td{overflow-wrap:anywhere}.email-section .auth-error{max-width:360px}.email-section textarea{resize:vertical}
.image-evidence{border-top:1px solid var(--line);padding-top:18px;margin:20px 0}.image-evidence p{font-size:12px;line-height:1.8;margin:12px 0;overflow-wrap:anywhere}
.pending-evidence{border:1px solid #e8d8b2;border-radius:12px;background:#fffaf0d9;padding:14px}.pending-evidence h3{font-size:13px;color:#80601c}.pending-evidence .tag{background:#fff0cb;color:#775618}
.evidence-tags{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.image-evidence summary,.review-analysis summary{cursor:pointer;font-size:12px;color:var(--blue)}.ocr-text{white-space:pre-wrap}
.review-analysis{border-top:1px solid var(--line);padding-top:12px}.review-analysis textarea{min-width:0;resize:vertical}.review-analysis .field{margin-top:12px}
.analysis-dialog{max-width:760px}.analysis-photo{max-height:360px;object-fit:contain;margin:16px auto}.analysis-dialog .field{margin:18px 0}.analysis-dialog .field textarea{resize:vertical}
.analysis-dialog .button-row{margin:16px 0}.analysis-dialog .field-hint{line-height:1.8;overflow-wrap:anywhere}
@media(max-width:850px){.email-config-grid{grid-template-columns:1fr;gap:0}.email-section .results-heading{gap:14px;align-items:flex-start}}
@media(max-width:850px){.system-overview{grid-template-columns:1fr}.system-alert-banner{margin:12px 24px 0}}
@media(max-width:520px){.system-alert-row{flex-direction:column;gap:10px}.system-alert-banner{margin:12px 16px 0;align-items:flex-start;flex-direction:column;gap:12px}.system-card-heading{gap:10px}.system-disk-number small{display:block;margin:4px 0 0}}

/* The curation agent is an editorial companion, not a second page. */
.agent-launch{position:fixed;right:24px;bottom:22px;z-index:80;padding:11px 17px;border-radius:999px;color:white;background:#263a62;box-shadow:0 12px 30px #24375a40;font-size:13px}
.agent-launch span{margin-left:5px}.agent-panel{position:fixed;right:20px;bottom:20px;z-index:80;width:min(390px,calc(100vw - 32px));height:min(700px,calc(100vh - 40px));border-radius:20px;overflow:hidden;display:flex;flex-direction:column;background:#f8faffed;box-shadow:0 22px 70px #26354d3b;border:1px solid #fff}
.agent-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:19px 19px 16px;color:white;background:linear-gradient(135deg,#243961,#405987 70%,#536f88)}
.agent-head small{font-size:10px;letter-spacing:1.4px;color:#c8d9ee}.agent-head h2{font:500 20px/1.4 var(--display);margin-top:5px}.agent-head .icon-button{border-color:#ffffff4d;color:white;background:#ffffff24;font-size:21px}
.agent-context{display:flex;flex-wrap:wrap;gap:6px;padding:12px 17px 5px}.agent-context span{border-radius:999px;background:#e8eef8;color:#52627c;padding:4px 8px;font-size:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agent-focus{display:flex;align-items:center;gap:9px;padding:6px 17px 12px;border-bottom:1px solid var(--line);font-size:11px;color:#70809b}.agent-focus select{flex:1;min-width:0;max-width:250px;padding:5px 8px;border:1px solid #d4deed;border-radius:8px;background:white;color:#36496b;font-size:11px}
.agent-photo-focus{display:flex;align-items:center;gap:9px;margin:0 13px 8px;padding:9px;border:1px solid #d9e3f5;border-radius:11px;background:#f1f5fc;color:#52627c;font-size:11px}.agent-photo-focus img{width:48px;height:48px;flex:none;object-fit:cover;border-radius:7px}.agent-photo-focus div{display:grid;gap:3px;min-width:0;flex:1}.agent-photo-focus strong{font-size:11px;color:#314d81}.agent-photo-focus span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5}.agent-photo-focus button{align-self:flex-start;color:#7589a9;font-size:17px}.agent-dialogue{flex:1;min-height:0;overflow-y:auto;padding:16px 17px 18px;display:flex;flex-direction:column;gap:11px;}
.agent-message{max-width:93%;font-size:12px;line-height:1.65;padding:10px 12px;border-radius:12px;background:#eef2f8;color:#3d4e66;overflow-wrap:anywhere}.agent-message.user{margin-left:auto;background:#e7ecfb;color:#344a91}.agent-message b{display:block;font-size:10px;margin-bottom:3px;color:#7886a4}.agent-progress{padding:10px 12px;border:1px solid #bdcbea;border-radius:12px;color:#4664a0;background:#f0f4fd;font-size:12px}
.agent-error,.agent-warning{padding:9px 11px;border-radius:10px;background:#fff6e8;color:#815e30;font-size:11px;line-height:1.6}.agent-error{background:#fff0ed;color:#9a5148}
.agent-compose{border-top:1px solid var(--line);background:#ffffffbf;padding:12px 15px 15px}.agent-examples{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px}.agent-examples button{flex-shrink:0;border:1px solid #d6dfed;border-radius:999px;padding:4px 9px;color:#5f7096;font-size:10px;background:#f7f9fc}
.agent-compose textarea{width:100%;resize:vertical;min-height:66px;max-height:150px;padding:10px 12px;border:1px solid #cdd8ea;border-radius:11px;background:white;color:var(--ink);font-size:12px}.agent-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.agent-compose-actions small{color:#8390a3;font-size:10px}
.agent-proposal{border:1px solid #d7e1ee;border-radius:13px;padding:13px;background:#fff}.agent-proposal h3{font:500 17px var(--display)}.agent-proposal>p{font-size:11px;color:#627087;margin:7px 0 12px;line-height:1.65}.agent-queries{display:flex;gap:5px;flex-wrap:wrap;color:#64748e;font-size:10px;margin-bottom:11px}.agent-queries span{border-radius:5px;background:#edf2fa;padding:2px 5px}
.agent-queries input{width:100%;border:1px solid #d8e2ef;border-radius:7px;padding:5px 7px;font-size:11px;color:#3b4f70;background:#f8fafd}
.agent-change{display:flex;align-items:flex-start;gap:7px;border-top:1px solid var(--line);padding:11px 0;cursor:pointer}.agent-change>input{margin-top:3px}.agent-change-body{display:grid;gap:5px;min-width:0;flex:1;font-size:11px;line-height:1.6}.agent-change-body strong{font-weight:600;color:#263957}.agent-change-body del{color:#8c92a0;max-height:70px;overflow:hidden}.agent-change-body ins{color:#2a5c65;text-decoration:none;background:#eaf6f3;padding:6px;border-radius:7px;max-height:125px;overflow:auto}.agent-change-body small{color:#7a899e;line-height:1.5}
.agent-change-image{display:flex;gap:9px;align-items:center}.agent-change-image img{width:58px;height:48px;object-fit:cover;border-radius:6px}.agent-change-image span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.agent-evidence{border:1px solid #e0e8f1;border-radius:8px;padding:7px 9px;background:#f7f9fd;color:#52637d}.agent-evidence summary{cursor:pointer;font-size:11px}.agent-evidence>div{border-top:1px solid #e3e9f1;margin-top:8px;padding-top:8px}.agent-evidence p{font-size:10px;line-height:1.6;overflow-wrap:anywhere;margin:4px 0}
.agent-proposal-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.agent-proposal .agent-warning{margin-top:7px}.agent-panel .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.agent-head-actions{display:flex;gap:7px}.agent-head-actions .icon-button{width:34px;height:34px;display:grid;place-items:center}.agent-settings{display:grid;gap:8px;padding:12px 17px;background:#eef3fa;border-bottom:1px solid #dce5f1;color:#344a68;font-size:11px}.agent-settings strong{font-size:12px}.agent-settings label{display:flex;align-items:center;gap:7px;cursor:pointer}.agent-settings input{accent-color:#4d61c9}.agent-order-diff{display:grid;gap:5px}.agent-order-diff del,.agent-order-diff ins{overflow-wrap:anywhere;max-height:none}.agent-applied{padding:11px 12px;border:1px solid #b4d8cc;border-radius:11px;background:#e9f7f0;color:#276450;font-size:12px;font-weight:600}
.agent-order-preview{display:flex;gap:5px;overflow-x:auto;padding:4px 0 8px}.agent-order-preview>span{flex:0 0 48px;display:grid;gap:2px}.agent-order-preview img{width:48px;height:40px;object-fit:cover;border-radius:5px}.agent-order-preview small{font-size:9px;color:#6c7a91;text-align:center}
.agent-applying{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:#f8faffd9;backdrop-filter:blur(9px);color:#344d7f}.agent-applying strong{font:500 19px var(--display)}.agent-applying small{font-size:11px;color:#6d7d9b}.agent-applying-orbit{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#dce9ff 60%,#bacded);box-shadow:0 0 0 10px #e1e9fa9c,0 12px 28px #637bb04d;color:#4d64bb;font-size:29px;animation:agent-orbit 1.8s ease-in-out infinite}.agent-updated{animation:agent-updated 2.2s ease-out}.agent-updated .editable-photo{animation:agent-photo-rise .7s ease-out both}
@keyframes agent-orbit{50%{transform:rotate(20deg) scale(1.1);box-shadow:0 0 0 18px #dce9fa63,0 16px 35px #637bb058}}@keyframes agent-updated{0%{box-shadow:0 0 0 0 #6684deaa;background:#e8efffff}40%{box-shadow:0 0 0 10px #6684de33;background:#f2f6ff}100%{box-shadow:none}}@keyframes agent-photo-rise{from{transform:translateY(8px);opacity:.7}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.agent-applying-orbit,.agent-updated,.agent-updated .editable-photo{animation:none}}
@media(max-width:760px){.agent-panel{right:8px;bottom:8px;width:calc(100vw - 16px);height:min(680px,calc(100vh - 16px))}.agent-launch{right:12px;bottom:12px}}

/* Curation workbench: keep the exhibition and chapter images visually primary. */
.editor-agent-hint{margin:0 0 14px;padding:11px 15px;border:1px solid #dce6f5;border-radius:12px;background:#f7faff;color:#596d91;font-size:11px;line-height:1.7}
.editor-settings{margin:11px 0 18px;border:1px solid #e0e8f4;border-radius:12px;background:#f8faff}
.editor-settings summary{padding:12px 15px;cursor:pointer;color:#465b7c;font-size:12px;font-weight:600}
.editor-settings[open]{padding:0 15px 15px}.editor-settings[open] summary{padding-left:0}
.editor-settings .field-pair{margin-top:4px}
.remote-detail-trigger{display:block;position:relative;width:100%;text-align:left;border-radius:9px;overflow:hidden}
.remote-detail-trigger img{width:100%;display:block}.remote-detail-trigger span{position:absolute;right:7px;bottom:7px;padding:4px 8px;border-radius:7px;color:#fff;background:#24395bc9;font-size:10px;opacity:0;transition:opacity .2s}
.remote-detail-trigger:hover span,.remote-detail-trigger:focus-visible span{opacity:1}
.replacement-dialog{width:min(980px,calc(100vw - 28px))}.replacement-dialog .dialog-head{align-items:start}
.replacement-current{display:flex;align-items:center;gap:13px;padding:12px;border-radius:12px;background:#edf3fb;margin-bottom:15px}
.replacement-current img{width:112px;height:82px;object-fit:contain;background:#dfe8f3;border-radius:8px;flex:none}
.replacement-current p{min-width:0;max-height:85px;overflow:auto;color:#415271;font-size:11px;line-height:1.55}
.replacement-dialog .search-row{margin:0 0 15px}.replacement-dialog .search-row .control{flex:1;min-width:160px}
.replacement-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:49vh;overflow:auto;padding:3px}
.replacement-card{display:flex;flex-direction:column;gap:5px;text-align:left;background:#fff;border:1px solid #dbe4f0;border-radius:11px;padding:7px;color:#324360;transition:transform .2s,border-color .2s,box-shadow .2s}
.replacement-card:hover,.replacement-card:focus-visible{transform:translateY(-2px);border-color:#667fd5;box-shadow:0 7px 18px #4567a326}
.replacement-card.chosen{border-color:#5365d9;box-shadow:0 0 0 2px #5365d933,0 6px 15px #4557a524;background:#f1f4ff}
.replacement-card img{width:100%;height:108px;object-fit:contain;background:#e9eef6;border-radius:7px}
.replacement-card span{font-size:10px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.replacement-card small{margin-top:auto;color:#74829a;font-size:9px}
.replacement-compare{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.replacement-compare>div{min-width:0;border:1px solid #dce5f0;background:#f7faff;padding:10px;border-radius:12px}
.replacement-compare img{width:100%;height:170px;object-fit:contain;background:#e8eef6;border-radius:8px;margin-bottom:8px}
.replacement-compare b{font-size:12px;color:#344b75}.replacement-compare p{max-height:90px;overflow:auto}
.curation-progress-stage{position:relative;overflow:hidden;min-height:142px;padding:24px 28px;border-color:#cbd9ee;background:radial-gradient(circle at 12% 50%,#dae8ff 0,#f7faff 35%,#eef6fb 100%)}
.curation-progress-stage::after{content:"";position:absolute;inset:0;width:32%;pointer-events:none;background:linear-gradient(90deg,transparent,#ffffffa8,transparent);transform:skewX(-20deg) translateX(-120%);animation:curation-light 4.4s ease-in-out infinite}
.curation-progress-stage .curation-progress-mark{width:82px;height:82px;border-radius:23px;box-shadow:0 0 0 7px #8fb3e321,0 11px 25px #2d53884a;animation:curation-mark-breathe 3.2s ease-in-out infinite}
.curation-progress-stage .curation-progress-mark span{top:29px}.curation-progress-stage .curation-progress-mark span:nth-child(1){left:23px}.curation-progress-stage .curation-progress-mark span:nth-child(2){left:33px}.curation-progress-stage .curation-progress-mark span:nth-child(3){left:43px}
.curation-progress-stage .curation-progress-main strong{font-size:18px}.curation-progress-stage .curation-progress-main p{font-size:11px}
.agent-thinking{display:flex;align-items:center;gap:12px;min-height:72px;background:linear-gradient(115deg,#eef4ff,#f7faff 65%,#e8f3f6);box-shadow:inset 0 1px #fff}
.agent-thinking-mark{display:grid;place-items:center;flex:none;width:39px;height:39px;border-radius:13px;color:#536ad1;background:#fff;box-shadow:0 0 0 4px #7594d221,0 5px 14px #4e6ca326;font-size:20px;animation:agent-thinking 2s ease-in-out infinite}
.agent-thinking span:last-child{display:grid;gap:3px}.agent-thinking small{font-size:10px;color:#8092af}
.editor-field-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}.editor-field-head>span,.editor-field-head>label{font-size:11px;color:#667999}.editor-field-head .btn{padding:4px 8px;white-space:nowrap}
.agent-thinking{position:relative;overflow:hidden;isolation:isolate;border-color:#aebfea;background:linear-gradient(120deg,#eef3ff 15%,#e5ecfc 50%,#eef7fb 85%);box-shadow:inset 0 1px #fff,0 9px 25px #7293c01e}
.agent-thinking::after{content:"";position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,transparent,#6681d8,#6fc7b6,transparent);background-size:220% 100%;animation:agent-scan 2.6s linear infinite}
.agent-thinking-mark{position:relative;width:53px;height:53px;border-radius:50%;background:radial-gradient(circle,#fff 14%,#e8eeff 60%,#dce8fc);box-shadow:0 0 0 5px #5f80c71b,0 8px 22px #5370a731;animation:agent-halo 3s ease-in-out infinite}
.agent-thinking-mark i{position:absolute;inset:3px;border:1px solid #7795d28c;border-radius:50%;animation:agent-ring 3s linear infinite}.agent-thinking-mark i:nth-child(2){inset:9px;border-color:#7bc4c49e;animation-duration:2.4s;animation-direction:reverse}.agent-thinking-mark i:nth-child(3){inset:16px;border-color:#9eafe1aa;animation-duration:3.8s}.agent-thinking-mark b{position:relative;z-index:1;font-size:22px;font-weight:400;color:#4e65c0}.agent-thinking-copy{min-width:0}.agent-thinking-copy strong{font-size:12px;color:#344d81}.agent-thinking-copy small{line-height:1.5}
@keyframes agent-ring{to{transform:rotate(360deg)}}@keyframes agent-halo{50%{box-shadow:0 0 0 10px #5f80c70e,0 12px 27px #5370a73d}}@keyframes agent-scan{to{background-position:-220% 0}}
@media(prefers-reduced-motion:reduce){.agent-thinking::after,.agent-thinking-mark,.agent-thinking-mark i{animation:none}}
.agent-sending{font-size:11px;color:#6679a2;animation:agent-sending-pulse 1.4s ease-in-out infinite}
.agent-applied .text-link{margin-left:5px;color:#255d74;text-decoration:underline}
.agent-launch.busy{animation:agent-launch-pulse 2s ease-in-out infinite}
@keyframes agent-launch-pulse{50%{box-shadow:0 0 0 10px #7290df33,0 15px 32px #24375a55}}
@keyframes curation-light{50%{transform:skewX(-20deg) translateX(320%)}100%{transform:skewX(-20deg) translateX(320%)}}
@keyframes curation-mark-breathe{50%{transform:scale(1.05);box-shadow:0 0 0 15px #8fb3e319,0 14px 31px #2d538857}}
@keyframes agent-thinking{50%{transform:rotate(18deg) scale(1.13);box-shadow:0 0 0 9px #7594d219,0 8px 18px #4e6ca332}}
@keyframes agent-sending-pulse{50%{opacity:.4}}
@media(max-width:760px){.replacement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.curation-progress-stage{padding:16px}.curation-progress-stage .curation-progress-mark{width:58px;height:58px}.curation-progress-stage .curation-progress-mark span{top:16px}.curation-progress-stage .curation-progress-mark span:nth-child(1){left:10px}.curation-progress-stage .curation-progress-mark span:nth-child(2){left:20px}.curation-progress-stage .curation-progress-mark span:nth-child(3){left:30px}}
@media(prefers-reduced-motion:reduce){.curation-progress-stage::after,.curation-progress-stage .curation-progress-mark,.agent-thinking-mark,.agent-launch.busy,.agent-sending{animation:none}.replacement-card{transition:none}}
.bureau-grid{margin-top:18px}
.bureau-grid .image-card{min-width:0}
.bureau-grid .image-body .meta span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bureau-grid .image-frame img{width:100%;height:100%;object-fit:contain}
.chapter-sources,.chapter-remote{margin:10px 0 18px;padding:12px 15px;border:1px solid #dbe4f0;border-radius:14px;background:#f7f9fdd9}
.chapter-sources summary,.chapter-remote summary{cursor:pointer;color:#324b78;font-size:12px;font-weight:650}
.curation-source-list{list-style:none;padding:0;margin:12px 0;display:grid;gap:10px}
.curation-source-list li{padding:11px;border:1px solid #e2e8f1;border-radius:10px;background:#fff}
.curation-source-list small{display:block;color:#72819a;margin:5px 0}
.curation-source-list blockquote{margin:7px 0 0;padding-left:10px;border-left:3px solid #9db0e5;color:#33415c;font-size:12px;line-height:1.7}
.chapter-remote-body{padding-top:12px}.chapter-remote-body .search-row{display:flex;gap:9px}.chapter-remote-body .search-row input{flex:1;min-width:0}
.chapter-remote-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:12px;margin:14px 0}
.chapter-remote-card{display:flex;flex-direction:column;gap:7px;padding:9px;border:1px solid #e2e8f1;border-radius:12px;background:#fff;min-width:0}
.chapter-remote-card img{width:100%;height:112px;object-fit:contain;background:#eef2f8;border-radius:7px}
.chapter-remote-card p{font-size:11px;line-height:1.5;min-height:35px;margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.chapter-remote-card small{color:#76849a;font-size:10px}.chapter-remote-card .btn{margin-top:auto}
.chapter-remote-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:11px;color:#65758c}
.sentence-trace{display:grid;gap:10px;margin:12px 0}.sentence-trace-row{padding:10px 12px;border:1px solid #e2e8f1;border-radius:10px;background:#fff}
.sentence-trace-row>p{margin:0 0 7px;color:#344761;font-size:12px;line-height:1.7}.sentence-trace-row>.tag{font-size:10px}
.bureau-article-list{display:grid;gap:14px;margin-top:18px}
.bureau-article-list article{padding:22px}
.bureau-article-list h3{margin:10px 0}
.bureau-article-list p{line-height:1.8}
.bureau-article-content{white-space:pre-wrap;line-height:1.85;max-height:55vh;overflow:auto;margin:20px 0}
.bureau-combined{margin-top:28px;padding-top:24px;border-top:1px solid rgba(79,101,152,.18)}
.bureau-combined .results-heading{align-items:center;gap:12px}

.editable-photo .image-card{transition:outline-color .18s,box-shadow .18s}
.editable-photo .image-frame{position:relative}
.agent-photo-selected-label{display:none;position:absolute;top:12px;right:12px;padding:7px 10px;border-radius:8px;background:#4356c8;color:#fff;font-size:12px;font-weight:600;line-height:1.3;box-shadow:0 3px 12px #243b7840;pointer-events:none}
.editable-photo.agent-photo-selected .image-card{outline:3px solid #5365d9;outline-offset:3px;box-shadow:0 0 0 7px #5365d91f,0 8px 24px #4356c82b}
.agent-photo-selected .agent-photo-selected-label{display:block}
@media(prefers-reduced-motion:reduce){.editable-photo .image-card{transition:none}}

.sentence-review-help{margin-top:10px;color:#576b87;font-size:12px;line-height:1.8}
.sentence-review-help ul{margin:5px 0;padding-left:20px}.sentence-review-help p{margin:5px 0 0}
.source-original-quote{background:#fff0a8;color:inherit;border-radius:3px;padding:2px 0}

.archive-publication{margin:16px 0;padding:16px 18px;border:1px solid #d9e2fb;border-radius:12px;background:#f4f7ff}
.archive-publication-heading,.archive-analysis-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.archive-publication-heading>b{font-size:22px;color:#4e60cf}
.archive-publication>.archive-track{margin:12px 0}.archive-publication small{display:block;color:#697b99;line-height:1.8}
.archive-current-batch{margin:10px 0;color:#516685;font-size:12px}.archive-current-batch>.archive-track{height:4px;margin:6px 0}
.archive-analysis-heading{margin:16px 0 10px;font-size:12px;color:#71809c}.archive-analysis-heading>strong{color:#51617d}

/* Real tool activity accompanying the existing generation stage. */
.generation-activity{border-radius:18px;margin:-6px 0 22px;border:1px solid #d6e0f1;overflow:hidden}
.generation-activity-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:16px 20px;border:0;background:transparent;color:#30466b;text-align:left;cursor:pointer;font:inherit;font-weight:600}
.generation-activity-toggle small{font-weight:400;color:#7184a5;margin-left:10px}
.generation-activity-symbol{display:inline-grid;place-items:center;background:#e8edff;color:#4f61d9;width:25px;height:25px;border-radius:8px;margin-right:5px}
.generation-activity-list{max-height:320px;overflow:auto;border-top:1px solid #e0e7f3;padding:6px 20px 14px}
.generation-activity-row{display:flex;gap:12px;padding:13px 0;position:relative}
.generation-activity-row+.generation-activity-row{border-top:1px solid #e5ebf5}
.generation-activity-node{flex:0 0 23px;height:23px;display:grid;place-items:center;border-radius:50%;color:#448c7f;background:#e1f2ec;font-size:13px}
.generation-activity-row.running .generation-activity-node{color:#5263dc;background:#e9edff;box-shadow:0 0 0 4px #e9edff55;animation:activity-breathe 1.5s ease-in-out infinite}
.generation-activity-row.error .generation-activity-node,.generation-activity-row.interrupted .generation-activity-node{color:#9b7430;background:#fcf0d8}
.generation-activity-content{min-width:0;flex:1}
.generation-activity-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}
.generation-activity-heading strong{font-size:13px;color:#30466b}
.generation-activity-heading>span,.generation-activity-content small{font-size:11px;color:#7c8eaa}
.generation-activity-content p{margin:5px 0 0;font-size:12px;line-height:1.7;color:#607595;overflow-wrap:anywhere}
.generation-activity-content .generation-activity-query{color:#3e567d;font-family:ui-monospace,monospace;border-left:2px solid #a2b0e9;padding-left:8px}
.generation-activity-content ul{margin:7px 0 0;padding-left:17px;font-size:12px;line-height:1.7;color:#607595}
.generation-activity-sources a{color:#4d62bd;text-decoration:underline;text-underline-offset:3px}
.generation-web-choice{display:flex;gap:8px;align-items:center;margin:15px 0 5px;font-size:13px}
@keyframes activity-breathe{50%{box-shadow:0 0 0 7px #e9edff00}}
@media(prefers-reduced-motion:reduce){.generation-activity-row.running .generation-activity-node{animation:none}}
@media(max-width:640px){.generation-activity-toggle{padding:13px}.generation-activity-toggle small{display:block;margin:4px 0 0}.generation-activity-list{padding:4px 12px 12px;max-height:280px}}

@media (min-width: 901px) {
  body.sidebar-collapsed .app-shell { grid-template-columns: 74px minmax(0,1fr); }
  body.sidebar-collapsed .sidebar { padding: 20px 8px 12px; margin-left: 10px; }
  body.sidebar-collapsed .sidebar-header { justify-content: center; }
  body.sidebar-collapsed .sidebar-header .brand { justify-content: center; }
  body.sidebar-collapsed .sidebar-header .brand > span:last-child,
  body.sidebar-collapsed .workspace-label,
  body.sidebar-collapsed .nav-group-label,
  body.sidebar-collapsed .nav-text,
  body.sidebar-collapsed .nav-count,
  body.sidebar-collapsed .library-note,
  body.sidebar-collapsed .profile > span:not(.avatar) { display: none; }
  body.sidebar-collapsed #navigation { margin-top: 30px; }
  body.sidebar-collapsed .nav-link { justify-content: center; padding: 12px 0; }
  body.sidebar-collapsed .profile { justify-content: center; padding: 15px 0 2px; }
  body.sidebar-collapsed .sidebar-toggle .icon { transform: none; }
}
@media (min-width: 651px) {
  .sidebar .nav-link { position: relative; }
  .sidebar .nav-link::after { content: attr(data-tooltip); position: absolute; left: calc(100% + 12px); top: 50%; z-index: 5; transform: translate(-5px,-50%); padding: 7px 11px; border-radius: 8px; background: #30436c; color: white; box-shadow: 0 7px 20px #26395f38; font-size: 12px; font-weight: 500; white-space: nowrap; pointer-events: none; opacity: 0; visibility: hidden; transition: opacity .16s ease, transform .16s ease, visibility .16s ease; }
  body.sidebar-collapsed .sidebar .nav-link:is(:hover,:focus)::after { opacity: 1; visibility: visible; transform: translate(0,-50%); }
}
@media (max-width: 1150px) and (min-width: 901px) { .app-shell { grid-template-columns: 190px minmax(0,1fr); } }
@media (max-width: 900px) { .sidebar-toggle { display: none; } .sidebar .nav-link { padding-left: 0; padding-right: 0; } .sidebar .nav-link:is(:hover,:focus)::after { opacity: 1; visibility: visible; transform: translate(0,-50%); } }
@media (max-width: 650px) { .sidebar .nav-link { padding-left: 3px; padding-right: 3px; } }
@media (prefers-reduced-motion: reduce) { .app-shell, .sidebar-toggle .icon, .sidebar .nav-link::after { transition: none; } }
