:root {
  --bg:#f6f5ef;
  --paper:#fffef9;
  --ink:#283d34;
  --muted:#7a7e71;
  --line:#dedfd4;
  --green:#314c3f;
  --green-text:#314c3f;
  --soft:#e8ede3;
  --gold:#ab8051;
  --orange:#ac6536;
  --shadow:0 12px 40px #283d3412;
  color-scheme:light;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:14px;
}
* {
  box-sizing:border-box;
}
body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
}
button,input,select,textarea {
  font:inherit;
}
button,a,input,select,textarea {
  -webkit-tap-highlight-color:transparent;
}
button,a {
  touch-action:manipulation;
}
button {
  cursor:pointer;
}
button:disabled {
  opacity:.45;
  cursor:not-allowed;
}
a {
  color:inherit;
  text-decoration:none;
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:2px solid var(--gold);
  outline-offset:3px;
}
button {
  color:inherit;
}
button,input,select,textarea {
  border:1px solid var(--line);
}
input,textarea,select {
  color:var(--ink);
  background:var(--paper);
  border-radius:6px;
  min-height:42px;
  padding:10px 12px;
}
textarea {
  resize:vertical;
  line-height:1.6;
}
input::placeholder,textarea::placeholder {
  color:var(--muted);
}
h1,h2,h3,p {
  margin:0;
}
h1,h2,h3 {
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
}
button {
  background:var(--paper);
}
[hidden] {
  display:none!important;
}
.skip {
  position:absolute;
  top:-100px;
  left:20px;
  z-index:3000;
  background:var(--paper);
  padding:12px;
}
.skip:focus {
  top:10px;
}
.topbar {
  height:87px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  max-width:1600px;
  margin:auto;
  padding:0 4.5%;
  border-bottom:1px solid var(--line);
}
.brand {
  display:flex;
  align-items:center;
  gap:11px;
  font-family:Georgia,serif;
  font-size:35px;
  letter-spacing:-1.5px;
}
.brand svg {
  width:35px;
  fill:none;
  stroke:var(--ink);
  stroke-width:1.2;
  transform:rotate(-7deg);
}
.brand-dot {
  color:var(--gold);
}
nav {
  display:flex;
  gap:34px;
  align-self:stretch;
  align-items:stretch;
}
nav a {
  display:flex;
  gap:7px;
  align-items:center;
  font-size:13px;
  position:relative;
  color:var(--muted);
}
nav a.active {
  color:var(--ink);
  font-weight:600;
}
nav a.active:after {
  content:"";
  height:2px;
  background:var(--green);
  position:absolute;
  bottom:0;
  left:0;
  right:0;
}
.nav-count {
  font-size:10px;
  background:var(--soft);
  padding:2px 5px;
  border-radius:4px;
}
.top-end {
  display:flex;
  gap:22px;
  align-items:center;
}
.local {
  font-size:11px;
  color:var(--muted);
  white-space:nowrap;
}
.local i,.map-top i {
  display:inline-block;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#7f9572;
  margin-right:5px;
}
.icon-button {
  width:33px;
  height:33px;
  border-radius:50%;
  background:transparent;
  display:inline-grid;
  place-items:center;
  font-size:19px;
}
.view {
  max-width:1600px;
  margin:auto;
}
.hero {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  padding:53px 7% 40px;
  min-height:390px;
  align-items:center;
  gap:35px;
}
.eyebrow {
  font-size:9px;
  font-weight:600;
  letter-spacing:2px;
  line-height:1.8;
}
.hero .eyebrow {
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--muted);
}
.eyebrow>span:empty {
  width:22px;
  height:1px;
  background:var(--gold);
}
.hero h1 {
  font-size:clamp(46px,4.6vw,70px);
  line-height:1.06;
  letter-spacing:-2px;
  margin:18px 0;
}
.hero em {
  font-weight:400;
  color:#6c7d5e;
}
.hero p {
  font-size:13px;
  line-height:1.8;
  color:var(--muted);
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:14px;
  font-size:12px;
  font-weight:600;
}
.hero .text-link {
  margin-top:23px;
  border-bottom:1px solid #b2b8a8;
  padding-bottom:5px;
}
.text-link span {
  font-size:17px;
}
.hero-art {
  height:300px;
  position:relative;
  max-width:520px;
  width:100%;
  justify-self:center;
}
.hero-postcard {
  position:absolute;
  background:#fffdf1;
  padding:10px 10px 8px;
  box-shadow:0 6px 18px #28261b25;
  border:1px solid #ded9c5;
  width:320px;
}
.hero-postcard img {
  display:block;
  width:100%;
  height:184px;
  object-fit:cover;
  filter:sepia(.2);
}
.front-card {
  top:45px;
  left:95px;
  transform:rotate(6deg);
}
.front-card:hover {
  transform:rotate(3deg) translateY(-3px);
}
.hero-postcard span {
  font-family:Georgia,serif;
  display:flex;
  justify-content:space-between;
  gap:8px;
  color:#635c4a;
  font-size:12px;
  padding:9px 2px 1px;
}
.hero-postcard i {
  font-size:10px;
}
.back-card {
  transform:rotate(-9deg);
  top:0;
  left:13px;
}
.postmark {
  width:85px;
  height:85px;
  border:2px double #9a9b8490;
  outline:1px solid #9a9b8450;
  outline-offset:4px;
  position:absolute;
  right:8px;
  top:-8px;
  border-radius:50%;
  text-align:center;
  font-size:8px;
  letter-spacing:1.5px;
  line-height:1.6;
  padding:17px 0;
  transform:rotate(15deg);
  color:#8a8e76;
}
.postmark strong {
  font-size:11px;
  letter-spacing:1.5px;
}
.art-caption {
  font-family:Georgia,serif;
  font-style:italic;
  font-size:12px;
  position:absolute;
  bottom:-4px;
  left:80px;
  color:var(--muted);
}
.art-caption span {
  position:absolute;
  font-size:28px;
  right:-44px;
  top:-19px;
  transform:rotate(12deg);
}
.archive-strip {
  display:flex;
  gap:35px;
  padding:19px 4.5%;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  align-items:center;
  font-size:11px;
  color:var(--muted);
}
.archive-strip strong {
  color:var(--ink);
  font-size:17px;
  font-family:Georgia,serif;
  font-weight:400;
  margin-right:5px;
}
.strip-note {
  border-left:1px solid var(--line);
  padding-left:35px;
}
.archive-label {
  margin-left:auto;
  letter-spacing:1.7px;
  font-size:9px;
  white-space:nowrap;
}
.archive-label span {
  font-size:15px;
  margin-left:10px;
}
.catalog-section {
  padding:38px 4.5% 30px;
}
.section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:24px;
}
.section-heading .eyebrow {
  color:var(--muted);
  font-size:8px;
}
h2 {
  font-size:31px;
  letter-spacing:-.7px;
  line-height:1.2;
}
.section-heading h2 {
  margin-top:6px;
}
.view-toggle,.scan-switch {
  display:flex;
  align-items:center;
  gap:3px;
  background:#ebece3;
  padding:4px;
  border-radius:6px;
}
.view-toggle button,.scan-switch button {
  border:0;
  background:transparent;
  padding:7px 12px;
  font-size:11px;
  border-radius:4px;
  color:var(--muted);
}
.view-toggle button.selected,.scan-switch button.selected {
  background:var(--paper);
  box-shadow:0 1px 4px #0000000d;
  color:var(--ink);
}
.filters {
  display:flex;
  gap:9px;
}
.filters select {
  font-size:11px;
  min-width:0;
  max-width:19%;
  padding-right:22px;
}
.search-box {
  flex:1;
  display:flex;
  align-items:center;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:6px;
  min-width:210px;
  padding:0 12px;
  gap:9px;
}
.search-box svg {
  width:17px;
  fill:none;
  stroke:var(--muted);
  stroke-width:1.5;
  flex-shrink:0;
}
.search-box input {
  padding:10px 0;
  border:0;
  background:transparent;
  font-size:12px;
  min-width:0;
  flex:1;
}
.search-box kbd {
  font-size:10px;
  border:1px solid var(--line);
  color:var(--muted);
  border-radius:3px;
  padding:1px 5px;
}
.results-toolbar {
  display:flex;
  align-items:center;
  gap:20px;
  margin:17px 0;
  font-size:11px;
  color:var(--muted);
  min-height:28px;
}
.results-toolbar b {
  color:var(--ink);
  font-weight:500;
}
.sort-label {
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:6px;
  font-size:10px;
}
.sort-label select {
  padding:0 20px 0 5px;
  border:0;
  background:transparent;
  min-height:25px;
  font-size:11px;
}
.text-button {
  border:0;
  padding:4px;
  background:transparent;
  font-size:11px;
  text-decoration:underline;
  text-underline-offset:4px;
}
.catalog-layout {
  display:grid;
  grid-template-columns:minmax(280px,32%) minmax(0,1fr);
  gap:23px;
  align-items:start;
}
.catalog-layout.no-map {
  grid-template-columns:1fr;
}
.no-map .map-panel {
  display:none;
}
.map-panel {
  position:sticky;
  top:18px;
  border-radius:9px;
  overflow:hidden;
  border:1px solid var(--line);
  height:510px;
  background:#e7eada;
}
#map {
  height:100%;
  background:#e8ebdf;
}
.leaflet-tile-pane {
  filter:saturate(.25) sepia(.12);
}
.leaflet-control-attribution {
  font-size:8px!important;
}
.map-top {
  position:absolute;
  z-index:500;
  top:13px;
  left:13px;
  right:13px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  pointer-events:none;
}
.map-top>span {
  font-size:10px;
  background:var(--paper);
  padding:10px;
  border-radius:5px;
  box-shadow:var(--shadow);
}
.map-top button {
  background:var(--paper);
  pointer-events:auto;
}
.map-caption {
  position:absolute;
  z-index:500;
  bottom:27px;
  left:13px;
  right:13px;
  background:var(--paper);
  padding:12px 14px;
  border-radius:6px;
  box-shadow:var(--shadow);
  font-size:10px;
  pointer-events:none;
}
.map-caption b,.map-caption span {
  display:block;
}
.map-caption b {
  font-weight:500;
  margin-bottom:4px;
}
.map-caption span {
  color:var(--muted);
}
.map-marker {
  display:grid;
  place-items:center;
  background:var(--green);
  color:#fffdf3;
  border:2px solid #fffdf3;
  border-radius:50%;
  box-shadow:0 2px 8px #253d3435;
  font:600 10px system-ui;
  transition:transform .15s;
}
.map-marker.uncertain {
  background:#98a58b;
}
.map-marker:hover {
  transform:scale(1.13);
}
.catalog-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:23px 17px;
}
.no-map .catalog-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.postcard {
  min-width:0;
}
.postcard-button {
  padding:0;
  background:transparent;
  display:block;
  width:100%;
  text-align:left;
  border:0;
}
.card-image {
  height:166px;
  border-radius:6px;
  background:#e9e7dc;
  padding:11px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.card-image img {
  width:100%;
  height:100%;
  object-fit:contain;
  filter:sepia(.07);
  transition:transform .25s;
  box-shadow:0 2px 6px #191c1515;
}
.postcard:hover img {
  transform:scale(1.035);
}
.card-source {
  position:absolute;
  top:8px;
  left:8px;
  background:#fdfcf3e8;
  color:#66725d;
  font-size:8px;
  padding:4px 6px;
  border-radius:3px;
  letter-spacing:.5px;
}
.card-info {
  padding:11px 1px;
}
.card-location {
  font-size:9px;
  letter-spacing:1.2px;
  color:var(--muted);
  text-transform:uppercase;
  margin-bottom:5px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.card-info h3 {
  font-size:19px;
  letter-spacing:-.25px;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.card-info p {
  font-size:10px;
  color:var(--muted);
  margin-top:5px;
  line-height:1.5;
  height:30px;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.card-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:12px;
  border-top:1px solid var(--line);
  padding-top:10px;
  font-size:9px;
  color:var(--muted);
}
.card-bottom strong {
  color:var(--ink);
  font-size:14px;
  font-weight:500;
}
.card-bottom .unsold {
  font-size:10px;
  color:var(--muted);
}
.pagination {
  display:flex;
  justify-content:center;
  gap:16px;
  align-items:center;
  margin:24px 0;
  font-size:11px;
}
.pagination button {
  padding:8px 13px;
  border-radius:5px;
}
.archive-disclaimer {
  display:flex;
  gap:8px;
  margin-top:28px;
  font-size:10px;
  color:var(--muted);
  line-height:1.7;
  border-top:1px solid var(--line);
  padding-top:18px;
}
.site-footer {
  display:flex;
  max-width:1600px;
  margin:30px auto 0;
  padding:25px 4.5%;
  gap:25px;
  align-items:center;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:10px;
}
.footer-brand {
  font-family:Georgia,serif;
  font-size:26px;
  color:var(--ink);
}
.site-footer>span:last-child {
  margin-left:auto;
}
.empty {
  grid-column:1/-1;
  text-align:center;
  padding:70px 20px;
  color:var(--muted);
  border:1px dashed var(--line);
  border-radius:8px;
}
.empty h3 {
  font-size:25px;
  color:var(--ink);
  margin-bottom:12px;
}
.empty p {
  line-height:1.8;
  font-size:12px;
}
.empty button {
  margin-top:20px;
}
.loading {
  opacity:.45;
  pointer-events:none;
}
.skeleton {
  height:230px;
  border-radius:8px;
  background:linear-gradient(90deg,var(--soft),var(--paper),var(--soft));
  background-size:200% 100%;
  animation:shimmer 1.5s infinite;
}
@keyframes shimmer {
  to {
    background-position:-200% 0;
  }
}
.page-heading {
  padding:45px 4.5% 28px;
  display:flex;
  gap:25px;
  align-items:center;
  justify-content:space-between;
}
.page-heading h1 {
  font-size:44px;
  letter-spacing:-1.5px;
  margin:8px 0 10px;
}
.page-heading p {
  font-size:13px;
  color:var(--muted);
  line-height:1.8;
}
.heading-actions {
  display:flex;
  gap:10px;
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 17px;
  border-radius:6px;
  font-size:12px;
  font-weight:500;
  white-space:nowrap;
  min-height:41px;
}
.primary {
  background:var(--green);
  color:#fffdf5;
  border-color:var(--green);
}
.primary:hover {
  filter:brightness(1.1);
}
.secondary {
  background:transparent;
}
.pill {
  font-size:9px;
  letter-spacing:.6px;
  background:var(--soft);
  padding:7px 10px;
  border-radius:4px;
  white-space:nowrap;
}
.work-stats {
  margin:0 4.5%;
  border-bottom:1px solid var(--line);
  display:flex;
  gap:28px;
  align-items:stretch;
}
.work-stats>button {
  border:0;
  background:transparent;
  display:flex;
  gap:10px;
  padding:13px 0;
  font-size:12px;
  color:var(--muted);
  border-bottom:2px solid transparent;
}
.work-stats>button.selected {
  border-bottom-color:var(--green);
  color:var(--ink);
}
.work-stats>button span {
  font-weight:600;
}
.work-export {
  margin-left:auto;
  display:flex;
  align-items:center;
}
.work-export a {
  font-size:11px;
}
.work-layout {
  margin:24px 4.5%;
  display:grid;
  grid-template-columns:215px minmax(0,1fr);
  gap:27px;
  min-height:600px;
}
.queue {
  border-right:1px solid var(--line);
  padding-right:20px;
}
.queue-heading h2 {
  font-family:inherit;
  font-size:12px;
  font-weight:600;
  letter-spacing:0;
  margin-bottom:12px;
}
.queue-heading select {
  font-size:11px;
  width:100%;
  margin-bottom:16px;
  min-height:35px;
  padding:8px;
}
.queue-item {
  display:flex;
  gap:10px;
  text-align:left;
  align-items:center;
  border:1px solid transparent;
  background:transparent;
  width:100%;
  border-radius:6px;
  padding:9px 7px;
  margin:4px 0;
}
.queue-item.selected {
  background:var(--soft);
  border-color:#c7d2bf;
}
.queue-item img {
  flex-shrink:0;
  width:44px;
  height:42px;
  object-fit:contain;
  background:#e3e0d6;
  border-radius:2px;
}
.queue-item>span,.review-title>div,.review-body,.review-columns>* {
  min-width:0;
}
.queue-item strong,.queue-item small,.queue-group,.review-title h2,#review-batch {
  overflow-wrap:anywhere;
}
.queue-item strong {
  font-size:11px;
  line-height:1.4;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-weight:500;
}
.queue-item small {
  font-size:9px;
  color:var(--muted);
  display:block;
  margin-top:5px;
}
.queue-item .dot {
  width:5px;
  height:5px;
  background:var(--orange);
  border-radius:50%;
  display:inline-block;
  margin-right:4px;
}
.queue-group {
  font-size:8px;
  letter-spacing:1px;
  color:var(--muted);
  margin:14px 0 6px;
  text-transform:uppercase;
}
#queue-list {
  max-height:880px;
  overflow-y:auto;
}
.review-title {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 20px;
}
.review-title .eyebrow {
  color:var(--muted);
  font-size:8px;
  letter-spacing:1px;
}
.review-title h2 {
  font-size:25px;
  margin-top:6px;
}
.review-columns {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(270px,1fr);
  gap:28px;
}
.scan-switch {
  background:transparent;
  border-bottom:1px solid var(--line);
  border-radius:0;
  padding:0 0 8px;
  gap:5px;
}
.scan-switch .selected {
  background:var(--soft)!important;
  box-shadow:none!important;
}
.scan-switch a {
  margin-left:auto;
}
.scan-stage {
  background:#e9e7dc;
  background-image:radial-gradient(#c9c7bb 0.5px,transparent .5px);
  background-size:8px 8px;
  width:100%;
  height:300px;
  border:1px solid var(--line);
  border-radius:7px;
  margin:12px 0;
  padding:18px;
  display:grid;
  place-items:center;
  cursor:zoom-in;
}
.scan-stage img {
  width:100%;
  height:100%;
  object-fit:contain;
  min-height:0;
  box-shadow:0 4px 12px #181f1a15;
}
.scan-thumbs {
  display:flex;
  gap:10px;
}
.scan-thumbs button {
  display:flex;
  align-items:center;
  gap:10px;
  padding:5px 10px 5px 5px;
  border-radius:5px;
  font-size:10px;
  background:transparent;
}
.scan-thumbs img {
  width:50px;
  height:35px;
  object-fit:contain;
}
.scan-thumbs .selected {
  border-color:var(--green);
  background:var(--soft);
}
.evidence {
  margin-top:25px;
  font-size:11px;
  line-height:1.8;
  color:var(--muted);
}
.evidence h3 {
  font-family:inherit;
  font-size:11px;
  font-weight:600;
  color:var(--ink);
  margin-bottom:8px;
}
.evidence p {
  margin-bottom:12px;
}
.evidence details {
  padding:12px 0;
  border-top:1px solid var(--line);
}
summary {
  cursor:pointer;
  line-height:1.6;
}
.evidence ul {
  padding-left:15px;
}
.evidence li {
  margin:8px 0;
}
.change-history {
  margin-top:16px;
  font-size:10px;
  color:var(--muted);
  border-top:1px solid var(--line);
  padding-top:12px;
}
.change-history p {
  padding:7px 0;
}
.review-form {
  font-size:11px;
}
.review-form label,.form-dialog form>label {
  display:block;
  margin:15px 0 7px;
  font-size:11px;
  font-weight:500;
}
.review-form input:not([type=checkbox]),.review-form textarea {
  width:100%;
  font-size:12px;
}
.field-title {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
}
.field-title span {
  font-size:9px;
  color:var(--muted);
}
.field-pair {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);
  gap:12px;
}
.field-pair>div,.field-pair input,.field-pair select {
  min-width:0;
}
.field-pair label span {
  color:var(--muted);
  font-weight:400;
}
.review-warning {
  background:#f3ead8;
  color:#8d6736;
  font-size:10px;
  line-height:1.7;
  padding:11px 13px;
  border:1px solid #e8d9bc;
  border-radius:6px;
}
.review-warning strong {
  display:block;
  font-weight:600;
}
.confidence {
  margin-top:15px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.confidence span {
  font-size:9px;
  background:var(--soft);
  padding:5px 7px;
  border-radius:4px;
}
.confidence span.low {
  background:#f3ead8;
  color:#946330;
}
.checkbox {
  display:flex!important;
  gap:9px;
  align-items:start;
  font-weight:400!important;
  font-size:10px!important;
  line-height:1.7;
  margin-top:17px!important;
}
.checkbox input {
  min-height:0;
  margin:3px 0;
  accent-color:var(--green);
}
.save-state {
  font-size:9px;
  color:var(--muted);
  text-align:right;
  min-height:25px;
  padding-top:8px;
}
.review-actions {
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}
.review-actions .button {
  font-size:10px;
  padding:10px 11px;
}
.review-actions .primary {
  margin-left:auto;
}
.keyboard-hint {
  font-size:9px;
  color:var(--muted);
  margin-top:13px;
  text-align:right;
  line-height:1.6;
}
.review-empty {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  color:var(--muted);
  padding:70px 20px;
}
.review-empty>span {
  font-size:45px;
  margin-bottom:15px;
}
.review-empty p {
  margin-top:12px;
  font-size:12px;
}
.audit-view {
  padding-bottom:40px;
}
.audit-metrics {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin:0 4.5% 30px;
}
.audit-metric {
  background:var(--paper);
  border:1px solid var(--line);
  padding:22px;
  border-radius:8px;
}
.audit-metric .number {
  font-family:Georgia,serif;
  font-size:37px;
  display:block;
  margin-bottom:9px;
}
.audit-metric p {
  font-size:11px;
  color:var(--muted);
  line-height:1.7;
}
.audit-metric strong {
  font-weight:600;
  color:var(--ink);
}
.audit-columns {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:25px;
  margin:0 4.5%;
}
.audit-box {
  border:1px solid var(--line);
  padding:25px;
  border-radius:8px;
  background:var(--paper);
}
.audit-box h2 {
  font-size:25px;
  margin-bottom:15px;
}
.audit-box p {
  font-size:12px;
  line-height:1.8;
  color:var(--muted);
  margin:12px 0;
}
.audit-box table {
  border-collapse:collapse;
  font-size:11px;
  width:100%;
  margin:25px 0;
}
.audit-box th,.audit-box td {
  border-bottom:1px solid var(--line);
  padding:12px 5px;
  text-align:left;
}
.audit-box th {
  font-weight:500;
  font-size:10px;
  color:var(--muted);
}
.audit-task {
  border-top:1px solid var(--line);
  padding:15px 0;
  display:flex;
  gap:14px;
  font-size:12px;
}
.audit-task>span {
  font-size:16px;
  color:var(--green-text);
}
.audit-task p {
  margin:5px 0 0;
  font-size:11px;
}
.audit-task strong {
  font-weight:500;
}
.audit-note {
  margin:20px 4.5%;
  font-size:10px;
  color:var(--muted);
  line-height:1.8;
}
dialog {
  background:var(--paper);
  color:var(--ink);
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 20px 90px #0004;
  padding:0;
  max-height:92dvh;
  max-width:calc(100vw - 28px);
}
dialog::backdrop {
  background:#15271e88;
  backdrop-filter:blur(4px);
}
.dialog-close {
  position:absolute;
  right:15px;
  top:15px;
  z-index:10;
  background:var(--paper);
  font-size:25px;
}
.dialog-toolbar {
  position:sticky;
  top:12px;
  height:0;
  z-index:1000;
  pointer-events:none;
}
.dialog-toolbar>.dialog-close {
  top:0;
  right:12px;
  width:44px;
  height:44px;
  pointer-events:auto;
  box-shadow:0 2px 10px #15271e1a;
}
.form-dialog>.dialog-toolbar {
  top:-50px;
  margin-top:-50px;
  margin-bottom:50px;
}
.form-dialog>.dialog-toolbar>.dialog-close {
  right:calc(12px - var(--dialog-padding-x));
}
.detail-dialog {
  width:1060px;
}
.detail-layout {
  display:grid;
  grid-template-columns:1.25fr 1fr;
}
.detail-visuals { min-width:0; }
.detail-images {
  background:#e9e7dc;
  padding:45px 24px 25px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:18px;
}
.detail-images img {
  max-width:100%;
  max-height:285px;
  object-fit:contain;
}
.detail-images figure {
  margin:0;
  text-align:center;
}
.detail-images figcaption {
  font-size:9px;
  color:#7b786b;
  margin-top:8px;
}
.detail-copy {
  padding:64px 32px 30px;
  min-width:0;
}
.detail-copy h2 {
  font-size:34px;
  margin:14px 0;
}
.detail-copy p {
  font-size:12px;
  line-height:1.8;
  color:var(--muted);
  margin-bottom:18px;
}
.detail-price {
  padding:18px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  margin:24px 0;
}
.detail-price strong {
  font-family:Georgia,serif;
  font-size:35px;
  font-weight:400;
  display:block;
  margin:6px 0;
}
.detail-price span {
  font-size:10px;
  color:var(--muted);
}
.detail-tags {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:12px 0 20px;
}
.detail-tags span {
  font-size:9px;
  background:var(--soft);
  padding:5px 8px;
  border-radius:4px;
}
.detail-meta {
  font-size:10px;
  line-height:1.8;
  color:var(--muted);
}
.detail-meta b {
  color:var(--ink);
  font-weight:500;
}
.detail-location {
  margin:22px 0;
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
}
.detail-location-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px;
  padding:12px 14px;
}
.detail-location h3 {
  font-family:inherit;
  font-size:12px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:0;
}
.location-certainty {
  font-size:9px;
  background:var(--soft);
  padding:4px 7px;
  border-radius:4px;
  color:var(--muted);
}
.location-certainty.uncertain {
  color:var(--orange);
}
.detail-map {
  height:190px;
  background:var(--soft);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  isolation:isolate;
}
.detail-location-caption {
  padding:12px 14px;
  font-size:11px;
}
.detail-location-caption b {
  font-weight:500;
}
.detail-location-caption p {
  font-size:10px;
  line-height:1.6;
  margin:5px 0 9px;
}
.detail-location-caption a {
  font-size:10px;
  text-decoration:underline;
  text-underline-offset:3px;
}
.location-evidence { margin:12px 0; }
.location-evidence summary { cursor:pointer;font-size:11px;font-weight:600; }
.location-evidence ul { margin:10px 0;padding-left:17px; }
.location-evidence li { margin:8px 0;overflow-wrap:anywhere; }
.detail-location-caption [role=status] {
  color:var(--orange);
  margin-bottom:0;
}
.detail-location-empty {
  padding:16px;
  background:var(--soft);
}
.detail-location-empty p {
  font-size:11px;
  margin:7px 0 0;
}
.detail-back summary { text-align:center;cursor:pointer;font-size:11px;color:var(--ink);padding:10px; }
.detail-back figure { margin-top:12px; }
.detail-copy .detail-dating { padding:12px 14px;background:var(--soft);font-size:10px;border-radius:6px; }
.detail-dating b { font-size:14px;color:var(--ink); }
.detail-timeline { padding:28px 24px;border-top:1px solid var(--line); }
.detail-timeline h3 { font-size:27px;margin:10px 0 8px; }
.detail-timeline p { font-size:11px;line-height:1.7;color:var(--muted); }
.timeline-heading>p { margin:0; }
.timeline-intro { margin:14px 0 20px; }
.timeline-periods { display:flex;gap:7px;overflow-x:auto;padding:3px 2px 12px;scrollbar-width:thin; }
.timeline-periods button { flex:none;display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:9px 11px;border-radius:5px;font:inherit;font-size:10px;cursor:pointer; }
.timeline-periods small { color:var(--muted); }
.timeline-periods button[aria-pressed=true] { background:var(--green);color:#fffef9;border-color:var(--green); }
.timeline-periods button[aria-pressed=true] small { color:inherit;opacity:.8; }
.timeline-date-note { margin:0 0 22px; }
.timeline-cards { display:flex;gap:14px;overflow-x:auto;padding:5px 3px 14px;scroll-snap-type:x proximity;scrollbar-width:thin; }
.timeline-card { min-width:0;flex:0 0 180px;border-top:1px solid var(--line);padding-top:13px;position:relative;display:flex;flex-direction:column;scroll-snap-align:start; }
.timeline-card::before { content:'';width:7px;height:7px;border-radius:50%;background:var(--green);position:absolute;top:-4px;left:0; }
.timeline-date { min-height:49px; }
.timeline-date b { display:block;font-family:Georgia,serif;font-size:18px;font-weight:400; }
.timeline-date small { display:block;font-size:9px;color:var(--muted);margin:5px 0 8px; }
.timeline-photo { display:block;width:100%;border:1px solid var(--line);border-radius:5px;background:var(--soft);padding:8px;cursor:pointer;height:112px; }
.timeline-photo img { display:block;width:100%;height:100%;object-fit:contain; }
.timeline-card.is-selected .timeline-photo { outline:2px solid var(--green);outline-offset:2px; }
.timeline-card .timeline-description { font-size:10px;line-height:1.5;margin:10px 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }
.timeline-pick { margin-top:auto;min-height:36px;padding:8px 5px;font-size:10px; }
.timeline-pick[aria-pressed=true] { color:var(--ink);border-color:var(--green);background:var(--soft); }
.timeline-current,.timeline-set { font-size:9px;color:var(--muted);margin-top:7px;line-height:1.5; }
.timeline-current { color:var(--green-text); }
.timeline-more { margin-top:20px;width:100%;font-size:11px; }
.timeline-empty { padding:13px;background:var(--soft);border-radius:5px; }
.story-builder { grid-column:1/-1;min-width:0;border-top:1px solid var(--line);padding:32px; }
.story-builder h4 { font:400 30px Georgia,serif;margin:10px 0 6px;text-align:center; }
.story-builder>.eyebrow { text-align:center; }
.story-builder #story-count { margin:0 0 18px;text-align:center;font-size:12px;color:var(--muted); }
.story-frame { max-width:760px;margin:24px auto;padding:12px;background:linear-gradient(100deg,#b39064,#d2b58b 46%,#ba976b);border:1px solid #a48258;box-shadow:0 6px 14px #0002,inset 0 0 0 2px #fff2;border-radius:2px; }
.story-frame.is-dark { background:linear-gradient(100deg,#393630,#545049 46%,#35312b);border-color:#282620; }
.story-mat { padding:32px 24px 20px;background:#f8f4e9;color:#393b31;box-shadow:inset 0 0 8px #0002; }
.story-slots { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.story-slots figure { margin:0;min-width:0; }
.story-picture { height:130px;display:flex;align-items:center;justify-content:center; }
.story-picture img { max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 1px 4px #0003; }
.story-slots figcaption { font-size:9px;margin-top:10px;text-align:center;overflow-wrap:anywhere; }
.story-slot-empty { border:1px dashed #b9b7a7;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:5px; }
.story-slot-empty>span { font:400 22px Georgia,serif;color:#8e907c; }
.story-slot-empty small { font-size:9px;line-height:1.4; }
.story-frame-caption { text-align:center;font:400 18px Georgia,serif;margin-top:20px;overflow-wrap:anywhere; }
.story-frame-caption>span { display:block;font:9px Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:2px;margin-top:5px; }
.story-options { display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;margin:18px 0; }
.story-options>span { font-size:10px;color:var(--muted);margin-right:4px; }
.story-options button { border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);padding:8px 12px;font:inherit;font-size:10px;cursor:pointer; }
.story-options button[aria-pressed=true] { border-color:var(--green);color:var(--ink);background:var(--soft); }
.story-selection { padding:0;list-style:none;margin:0 auto;max-width:760px; }
.story-selection li { display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;line-height:1.5;padding:8px 0;border-bottom:1px solid var(--line); }
.story-selection li>span { min-width:0; }
.story-selection button { border:0;background:none;color:var(--muted);text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer;flex:none;padding:8px 0; }
.story-builder .story-availability { font-size:10px;margin:12px auto 0;max-width:760px;line-height:1.7;color:var(--muted); }
.story-builder .story-date-note { margin:14px auto;max-width:760px;font-size:11px;line-height:1.7;color:var(--muted); }
.story-builder>.button { display:block;max-width:760px;margin:0 auto; }
.story-builder .button:disabled,.timeline-pick:disabled { opacity:.45;cursor:not-allowed; }
@media(max-width:600px) {
  .detail-timeline { padding:24px 18px; }
  .detail-visuals .detail-images { flex-direction:column;align-items:stretch;padding-top:64px; }
  .detail-visuals .detail-images figure { width:100%; }
  .detail-visuals .detail-images img { max-height:260px;width:auto; }
  .timeline-periods button,.story-options button,.story-selection button { min-height:44px; }
  .timeline-pick { min-height:44px; }
  .story-mat { padding:18px 9px 12px; }
  .story-builder { padding:24px 18px; }
  .story-builder h4 { font-size:25px; }
  .story-frame { padding:8px; }
  .story-slots { gap:8px; }
  .story-picture { height:66px; }
  .story-slot-empty { min-height:94px; }
}
.form-dialog {
  --dialog-padding-x:35px;
  width:540px;
  padding:62px var(--dialog-padding-x) 35px;
}
.form-dialog h2 {
  font-size:32px;
  margin:12px 0;
}
.form-dialog>p {
  font-size:12px;
  color:var(--muted);
  line-height:1.8;
}
.form-dialog form>input,.form-dialog form>select {
  width:100%;
  font-size:12px;
}
.drop-zone {
  display:flex!important;
  flex-direction:column;
  align-items:center;
  gap:7px;
  padding:20px 12px;
  border:1px dashed #aebda5;
  background:var(--soft);
  border-radius:7px;
  cursor:pointer;
  text-align:center;
}
.drop-zone>span {
  font-size:24px;
}
.drop-zone input {
  font-size:10px;
  margin-top:7px;
  border:0;
  padding:0;
  min-height:24px;
  max-width:100%;
  background:transparent;
}
.drop-zone small {
  font-weight:400;
  color:var(--muted);
}
.file-rule {
  font-size:10px;
  line-height:1.8;
  color:var(--muted);
  margin:10px 0;
}
.file-preview {
  font-size:11px;
  color:var(--ink);
  line-height:1.8;
}
.wide {
  width:100%;
  margin-top:15px;
}
.muted {
  color:var(--muted);
  font-size:11px;
  line-height:1.8;
  margin:15px 0;
}
.import-example {
  margin:20px 0;
  font-size:11px;
}
pre {
  font-size:10px;
  white-space:pre-wrap;
  line-height:1.8;
  background:var(--soft);
  padding:12px;
  border-radius:5px;
}
#upload-result,#import-result {
  font-size:11px;
  color:var(--orange);
  line-height:1.8;
  margin-top:12px;
}
.toast {
  position:fixed;
  bottom:25px;
  left:50%;
  transform:translateX(-50%);
  z-index:3000;
  background:var(--green);
  color:#fff;
  padding:13px 23px;
  border-radius:7px;
  box-shadow:var(--shadow);
  font-size:12px;
  max-width:90vw;
  text-align:center;
}
.error {
  color:#a54830!important;
}
.image-missing {
  font-size:11px;
  color:var(--muted);
  object-fit:contain!important;
}
:root[data-theme=dark] {
  --bg:#1e2823;
  --paper:#27332b;
  --ink:#e3e8d9;
  --muted:#a1ab98;
  --line:#3c483c;
  --green:#52674d;
  --green-text:#b2c6a3;
  --soft:#333f32;
  --gold:#c59c6c;
  --orange:#e7ac7c;
  color-scheme:dark;
}
.view-toggle {
  background:var(--soft);
}
[data-theme=dark] .card-image,[data-theme=dark] .scan-stage {
  background-color:#4a4b3f;
}
[data-theme=dark] .leaflet-tile-pane {
  filter:saturate(.2) brightness(.65);
}
[data-theme=dark] .hero em {
  color:#a6b990;
}
[data-theme=dark] .detail-images {
  background:#414438;
}
[data-theme=dark] .detail-images figcaption {
  color:#c1c9b7;
}
[data-theme=dark] .error {
  color:#f5ab91!important;
}
@media(min-width:1550px) {
  .card-image {
    height:195px;
  }
  .map-panel {
    height:590px;
  }
  .hero {
    padding-top:60px;
    padding-bottom:50px;
  }
  .hero-art {
    transform:scale(1.1);
  }
}
@media(max-width:1150px) {
  .hero {
    padding-left:5%;
    padding-right:5%;
    gap:15px;
  }
  .hero-art {
    transform:scale(.85);
    transform-origin:center;
  }
  .strip-note {
    display:none;
  }
  .catalog-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .no-map .catalog-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .filters {
    flex-wrap:wrap;
  }
  .filters .search-box {
    flex-basis:100%;
  }
  .filters select {
    flex:1;
    max-width:none;
  }
  .work-layout {
    grid-template-columns:170px minmax(0,1fr);
    gap:18px;
  }
  .review-columns {
    gap:18px;
    grid-template-columns:minmax(0,1fr) minmax(270px,1fr);
  }
  .review-actions .primary {
    margin-left:0;
  }
  .page-heading h1 {
    font-size:36px;
  }
  .work-stats {
    gap:18px;
  }
  .review-title h2 {
    font-size:23px;
  }
  .scan-stage {
    height:240px;
  }
}
@media(max-width:850px) {
  .topbar {
    padding:0 5%;
    gap:15px;
    height:75px;
  }
  .brand {
    font-size:29px;
  }
  .brand svg {
    width:27px;
  }
  nav {
    gap:18px;
  }
  nav a {
    font-size:12px;
  }
  .local {
    display:none;
  }
  .top-end {
    gap:0;
  }
  .hero {
    min-height:355px;
    padding-top:35px;
    padding-bottom:30px;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    overflow:hidden;
  }
  .hero h1 {
    font-size:49px;
  }
  .hero-art {
    transform:scale(.72);
    transform-origin:left center;
    width:430px;
  }
  .hero .eyebrow {
    font-size:8px;
    letter-spacing:1px;
  }
  .hero p {
    font-size:11px;
  }
  .hero-copy {
    z-index:1;
  }
  .hero .text-link {
    font-size:11px;
  }
  .archive-strip {
    gap:22px;
    padding:18px 5%;
  }
  .archive-label {
    display:none;
  }
  .catalog-layout {
    grid-template-columns:minmax(220px,35%) minmax(0,1fr);
    gap:15px;
  }
  .card-image {
    height:130px;
    padding:8px;
  }
  .card-info h3 {
    font-size:17px;
  }
  .catalog-grid {
    gap:15px 12px;
  }
  .map-panel {
    height:460px;
  }
  .work-layout {
    grid-template-columns:150px minmax(0,1fr);
  }
  .review-columns {
    grid-template-columns:1fr;
  }
  .scan-stage {
    height:280px;
  }
  .review-form {
    border-top:1px solid var(--line);
    padding-top:20px;
  }
  .review-title {
    align-items:start;
  }
  .review-title .pill {
    font-size:8px;
    white-space:normal;
  }
  .page-heading {
    align-items:start;
  }
  .heading-actions {
    flex-direction:column;
  }
  .work-export a {
    font-size:10px;
  }
  .work-stats>button {
    font-size:10px;
    gap:5px;
  }
  .audit-metrics {
    grid-template-columns:repeat(2,1fr);
  }
  .audit-columns {
    grid-template-columns:1fr;
  }
  .detail-copy {
    padding:64px 25px 25px;
  }
  .detail-copy h2 {
    font-size:27px;
  }
  .site-footer {
    flex-wrap:wrap;
  }
  .site-footer>span:last-child {
    margin-left:0;
  }
  .no-map .catalog-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:600px) {
  .field-pair {
    grid-template-columns:minmax(0,1fr);
    gap:0;
  }
  .topbar {
    height:auto;
    min-height:100px;
    flex-wrap:wrap;
    padding:14px 5% 0;
    gap:5px;
  }
  .brand {
    font-size:29px;
    order:1;
  }
  .top-end {
    order:2;
    margin-left:auto;
  }
  nav {
    order:3;
    width:100%;
    height:42px;
    gap:27px;
  }
  nav a {
    font-size:12px;
  }
  .hero {
    grid-template-columns:minmax(0,1fr);
    padding:28px 6% 10px;
    gap:0;
  }
  .hero-copy {
    position:relative;
  }
  .hero h1 {
    font-size:clamp(40px,10vw,51px);
    margin:13px 0;
  }
  .hero p {
    font-size:12px;
  }
  .hero-art {
    height:220px;
    width:430px;
    justify-self:start;
    transform:scale(.68);
    transform-origin:left top;
    margin:25px 0 -45px 3%;
  }
  .art-caption {
    display:none;
  }
  .hero .text-link {
    margin-top:17px;
  }
  .archive-strip {
    gap:16px;
    justify-content:space-between;
    font-size:9px;
    padding:16px 5%;
  }
  .archive-strip strong {
    font-size:16px;
    display:block;
    margin-bottom:3px;
  }
  .catalog-section {
    padding:27px 5%;
  }
  .section-heading {
    align-items:center;
    margin-bottom:19px;
    gap:12px;
    flex-wrap:wrap;
  }
  .section-heading h2 {
    font-size:28px;
  }
  .section-heading .eyebrow {
    font-size:7px;
  }
  .view-toggle button {
    font-size:9px;
    padding:7px;
  }
  .filters {
    gap:7px;
  }
  .filters select {
    flex:1 1 40%;
    font-size:10px;
    min-height:38px;
  }
  .search-box input {
    font-size:12px;
  }
  .results-toolbar {
    gap:10px;
    flex-wrap:wrap;
  }
  .sort-label {
    font-size:9px;
  }
  .sort-label select {
    font-size:10px;
  }
  .catalog-layout {
    display:flex;
    flex-direction:column;
    gap:20px;
  }
  .map-panel {
    width:100%;
    position:relative;
    top:0;
    height:265px;
  }
  .map-caption {
    bottom:23px;
    padding:8px 10px;
    font-size:9px;
  }
  .results {
    width:100%;
  }
  .catalog-grid,.no-map .catalog-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:21px 13px;
  }
  .card-image {
    height:135px;
  }
  .card-info h3 {
    font-size:18px;
  }
  .card-bottom {
    font-size:8px;
  }
  .card-bottom strong {
    font-size:13px;
  }
  .card-location {
    font-size:8px;
  }
  .page-heading {
    padding:30px 5% 20px;
    flex-direction:column;
    gap:18px;
  }
  .page-heading h1 {
    font-size:35px;
  }
  .page-heading p {
    font-size:12px;
  }
  .heading-actions {
    flex-direction:row;
    width:100%;
  }
  .heading-actions .button {
    flex:1;
    font-size:11px;
  }
  .work-stats {
    flex-wrap:wrap;
    gap:18px;
    margin:0 5%;
  }
  .work-export {
    width:100%;
    padding-bottom:14px;
    margin-left:0;
  }
  .work-layout {
    display:flex;
    flex-direction:column;
    margin:18px 5%;
    gap:20px;
  }
  .queue {
    border:0;
    padding:0;
  }
  .queue-heading {
    display:flex;
    align-items:center;
    gap:15px;
  }
  .queue-heading select {
    flex:1;
    min-width:0;
  }
  .queue-heading h2 {
    white-space:nowrap;
  }
  #queue-list {
    display:flex;
    gap:7px;
    max-height:104px;
    padding-bottom:7px;
    overflow-x:auto;
  }
  .queue-item {
    min-width:165px;
    max-width:165px;
  }
  .queue-group {
    display:none;
  }
  .review-title {
    padding-top:12px;
    border-top:1px solid var(--line);
  }
  .review-columns {
    gap:20px;
  }
  .scan-stage {
    height:280px;
  }
  .review-actions .primary {
    margin-left:auto;
  }
  .audit-metrics {
    margin:0 5% 20px;
    gap:10px;
  }
  .audit-metric {
    padding:16px;
  }
  .audit-metric .number {
    font-size:30px;
  }
  .audit-metric p {
    font-size:10px;
  }
  .audit-columns {
    margin:0 5%;
    gap:16px;
  }
  .audit-box {
    padding:20px;
  }
  .audit-box th,.audit-box td {
    padding:10px 3px;
    font-size:10px;
  }
  .detail-layout {
    grid-template-columns:1fr;
  }
  .detail-images {
    padding:30px 18px 18px;
    flex-direction:row;
    align-items:center;
  }
  .detail-images figure {
    width:50%;
  }
  .detail-images img {
    width:100%;
    max-height:180px;
  }
  .detail-copy {
    padding:25px;
  }
  .detail-copy h2 {
    font-size:31px;
  }
  .detail-price {
    margin:18px 0;
    padding:12px 0;
  }
  .form-dialog {
    --dialog-padding-x:22px;
    padding:62px var(--dialog-padding-x) 28px;
  }
  .form-dialog h2 {
    font-size:29px;
  }
  .site-footer {
    padding:20px 5%;
    gap:10px 18px;
  }
  .site-footer>span:last-child {
    width:100%;
    font-size:9px;
  }
  .archive-disclaimer {
    font-size:9px;
  }
  .toast {
    font-size:11px;
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}

/* Places, passions and gifts */
.theme-section { padding:28px 0 38px; }
.theme-section h2 { font-family:Georgia,serif;font-size:34px;font-weight:400;margin:12px 0 24px; }
.theme-collections { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px; }
.theme-collection { text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:18px;min-height:130px;transition:background .2s,transform .2s; }
.theme-collection:hover { transform:translateY(-2px);border-color:var(--green); }
.theme-collection[aria-pressed=true] { background:var(--green);color:#fffdf3;border-color:var(--green); }
.theme-symbol { display:block;font:27px Georgia,serif;margin-bottom:12px; }
.theme-collection strong { display:block;font-size:12px;line-height:1.5; }
.theme-collection small { display:block;font-size:10px;margin-top:6px;opacity:.7; }
.theme-tag { padding:5px 9px;border:1px solid var(--line);border-radius:20px;background:var(--soft);color:var(--ink);font-size:10px; }
.discovery-actions { display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 20px; }
.discovery-actions>span { flex:1;min-width:180px;font:italic 17px Georgia,serif; }
.discovery-actions .button { font-size:11px; }
.gift-view,.watch-action-view { max-width:1240px;margin:auto;padding:50px 40px; }
.gift-view h1 { font-family:Georgia,serif;font-size:clamp(38px,5vw,66px);line-height:1.08;font-weight:400; }
.gift-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px; }
.gift-card { min-width:0;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:8px; }
.gift-card .button { max-width:100%;white-space:normal;line-height:1.5;text-align:center; }
.gift-card h2,.gift-card p,.gift-card>strong { overflow-wrap:anywhere; }
.gift-card h2 { font:30px Georgia,serif;margin:14px 0; }
.gift-card p { line-height:1.8; }
.gift-card>strong { font-size:13px; }
.gift-visual { height:210px;background:#e8e6dc;display:flex;align-items:center;justify-content:center;margin-bottom:24px;gap:6px;padding:30px;overflow:hidden; }
.gift-visual img { object-fit:contain;max-width:100%;max-height:100%;box-shadow:0 5px 12px #0003; }
.gift-original img { transform:rotate(-7deg); }
.gift-triptych { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:9px solid #6e6657;padding:16px;background:#f5f1e7; }
.gift-triptych img { width:100%;height:auto;min-width:0; }
.gift-wall img { border:8px solid #403d35;padding:9px;background:#fffaf0; }
.gift-note { display:flex;justify-content:space-between;align-items:center;gap:40px;margin:50px 0;padding:30px;background:var(--soft);border-radius:8px; }
.gift-note h2 { font:30px Georgia,serif;margin:12px 0; }
.gift-note p { max-width:620px;line-height:1.8; }
.gift-note .button { flex-shrink:0; }
.watch-dialog { width:min(720px,calc(100vw - 28px));max-width:720px; }
#watch-map { height:260px;border:1px solid var(--line);border-radius:8px;margin:16px 0; }
.watch-pin { background:var(--green);color:white;border-radius:50%;border:2px solid #fff;display:grid;place-items:center;font-size:20px;box-shadow:0 3px 6px #0004; }
#watch-form label:not(.checkbox) { display:block;margin:12px 0 6px;font-size:12px; }
#watch-form input:not([type=checkbox]),#watch-form select { width:100%;padding:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:5px; }
#watch-result { line-height:1.7;margin-top:18px; }
#watch-mail-inline pre { white-space:pre-wrap;overflow-wrap:anywhere;background:var(--soft);font-size:11px;padding:15px;border-radius:6px; }
.print-designer { margin-top:24px;border-top:1px solid var(--line);padding-top:18px; }
.print-designer summary { cursor:pointer;font-weight:600; }
.print-designer p { font-size:12px;line-height:1.7; }
.print-designer label { display:block;font-size:11px;margin:12px 0 6px; }
.print-designer select { width:100%;padding:10px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:5px; }
.print-wall { display:flex;align-items:center;justify-content:center;min-height:180px;background:#e9e6de;padding:18px;margin-top:16px; }
.single-print-preview { background:#fffaf0;padding:12px;box-shadow:4px 5px 8px #0003;border:6px solid #57534b;display:flex;transition:width .2s,aspect-ratio .2s; }
.single-print-preview.is-canvas { border:0;box-shadow:5px 5px 0 #b7b0a0,8px 8px 12px #0003; }
.single-print-preview img { width:100%;height:100%;min-height:0;object-fit:contain; }
.print-rights { color:var(--muted); }
.print-designer .text-link { display:block;margin-top:14px; }
.dedication-label { display:block;max-width:760px;margin:22px auto;text-align:left;font-size:11px; }
.dedication-label input { display:block;width:100%;margin-top:7px;padding:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:5px; }
#story-dedication-preview { display:block;text-transform:none;font:italic 15px Georgia,serif;letter-spacing:0;margin-top:12px;overflow-wrap:anywhere; }
@media(max-width:1000px){.theme-collections{grid-template-columns:repeat(3,minmax(0,1fr));}.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}.gift-visual{height:170px;padding:18px;}.gift-note{flex-direction:column;align-items:flex-start;}.topbar nav{gap:16px;}}
@media(max-width:650px){.theme-collections{display:flex;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity;}.theme-collection{flex:0 0 155px;scroll-snap-align:start;}.theme-section h2{font-size:29px;}.theme-section{padding-bottom:25px;}.discovery-actions{gap:8px;}.discovery-actions>span{flex-basis:100%;}.discovery-actions .button{flex:1;min-height:44px;}.gift-view,.watch-action-view{padding:24px 18px;}.gift-grid{grid-template-columns:1fr;}.gift-visual{height:220px;}.gift-note{padding:22px;margin:30px 0;}.gift-note .button{white-space:normal;}.topbar nav{gap:14px;}.topbar nav a{font-size:11px;}#watch-map{height:230px;}.watch-dialog{--dialog-padding-x:18px;padding:62px var(--dialog-padding-x) 24px;}#story-dedication-preview{font-size:11px;}}

.watch-suggestions { display:grid;gap:4px;margin:8px 0; }.watch-suggestions button { text-align:left;padding:10px;background:var(--soft);color:var(--ink);border:0;border-radius:4px; }.watch-suggestions small{color:var(--muted);margin-left:8px;}

/* The storefront shares one retail model across the collection and gift views. */
.pricing-ribbon { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 25px;margin:0 0 38px;background:var(--soft);border:1px solid var(--line);border-radius:8px;font-size:12px;line-height:1.7; }
.pricing-ribbon>span { display:block; }
.pricing-ribbon b { font-weight:600;color:var(--green-text); }
.pricing-ribbon-link { font-size:11px;white-space:nowrap;text-decoration:underline;text-underline-offset:4px; }
.store-pricing { margin:0 0 42px; }
.store-pricing h2 { margin:10px 0 24px; }
.price-options { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.price-options article { padding:27px;background:var(--paper);border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;align-items:flex-start; }
.price-options article.price-option-featured { background:var(--soft);border-color:var(--green); }
.price-options article>strong { font:46px Georgia,serif;display:block;margin:18px 0; }
.price-options h3 { font-size:24px;margin-bottom:12px; }
.price-options p { line-height:1.8;font-size:12px;color:var(--muted);margin-bottom:18px; }
.price-options a { margin-top:auto; }
.pricing-note { margin-top:16px;color:var(--muted);font-size:11px;line-height:1.9;max-width:900px; }
.retail-formats { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0 12px; }
.retail-formats button { font-size:11px;line-height:1.6;padding:11px 8px;text-align:left;border-radius:6px; }
.retail-formats b { display:block;font-size:15px;font-weight:500;margin-top:3px; }
.retail-formats button[aria-pressed=true] { border-color:var(--green);background:var(--soft);box-shadow:inset 0 0 0 1px var(--green); }
.detail-price #retail-format-note { font-size:11px;line-height:1.7;margin:0 0 14px;min-height:38px; }
.retail-bundle { display:block;color:var(--ink);background:var(--soft);padding:11px 12px;border-radius:5px;font-size:11px;line-height:1.6; }
.retail-availability { display:block;color:var(--muted);font-size:10px;line-height:1.7;margin-top:13px; }
.detail-price>p { font-size:12px; }
.detail-images.in-gift-frame>figure>.scan-enlarge { display:block;padding:24px;border:10px solid #a58052;outline:1px solid #8e6b3f;background:#fffcf3;box-shadow:0 12px 24px #25281c26; }
.detail-images.in-gift-frame>figure img { display:block;margin:auto;box-shadow:0 0 1px 1px #3c342027; }
.detail-images.in-gift-frame>figure figcaption { margin-top:18px; }
.place-notes { font-size:11px;color:var(--muted);margin:20px 0;line-height:1.8; }
.place-notes summary { cursor:pointer; }
.detail-copy .place-notes p { margin-top:10px;font-size:11px; }
.detail-timeline .timeline-retail { color:var(--ink);font-size:13px;font-weight:600;margin:0 0 10px; }
.owner-tools { margin-left:auto;position:relative; }
.owner-tools summary { cursor:pointer;padding:8px; }
.owner-tools>div { position:absolute;right:0;bottom:35px;width:170px;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);z-index:600; }
.owner-tools a { display:flex;align-items:center;gap:10px;padding:9px; }
.owner-tools a.active { color:var(--ink);font-weight:600; }
@media(max-width:1000px) {
  .pricing-ribbon { flex-wrap:wrap;justify-content:flex-start;gap:10px 30px; }
  .pricing-ribbon-link { margin-left:auto; }
  .price-options article { padding:20px; }
  .price-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .price-options h3 { font-size:22px; }
}
@media(max-width:650px) {
  .pricing-ribbon { display:grid;grid-template-columns:1fr;padding:18px 20px;gap:7px;margin-bottom:28px; }
  .pricing-ribbon-link { margin:4px 0 0; }
  .price-options { grid-template-columns:1fr; }
  .price-options article { padding:24px; }
  .price-options article>strong { margin:14px 0; }
  .store-pricing h2 { font-size:29px; }
  .site-footer { flex-wrap:wrap;gap:14px; }
  .site-footer>span { flex:1; }
  .detail-images.in-gift-frame>figure>.scan-enlarge { padding:16px;border-width:8px; }
}

.card-source.is-selected-value { background:var(--paper);color:var(--orange);border:1px solid var(--gold); }
.detail-copy .selected-price-note { padding:12px;background:var(--soft);border-left:2px solid var(--gold);border-radius:4px;font-size:11px;line-height:1.7; }
.value-details { margin:16px 0 8px;font-size:11px;line-height:1.7; }
.value-details summary { cursor:pointer;color:var(--ink); }
.value-details ul { padding-left:18px;margin:10px 0; }
.detail-copy .value-details p { font-size:10px;margin:8px 0;color:var(--muted); }
.selected-pricing { display:grid;grid-template-columns:1.2fr 1fr;gap:24px;padding:25px;margin:20px 0;background:var(--paper);border:1px solid var(--gold);border-radius:8px; }
.selected-pricing h3 { font-size:25px;margin:8px 0; }
.selected-pricing p { font-size:12px;line-height:1.8;color:var(--muted); }
.selected-pricing strong { display:block;font:26px Georgia,serif;margin:7px 0 12px; }
@media(max-width:650px) { .selected-pricing { grid-template-columns:1fr;gap:10px;padding:22px; } .selected-pricing strong { font-size:24px; } }

/* Progress from the tablet through the cloud identification routine. */
.routine-status{margin:0 4.5% 24px;padding:20px;border:1px solid var(--line,#d8d4cb);border-radius:14px;background:var(--paper,#fffdf8)}
.routine-status h2{font-size:20px;margin:0 0 12px}.routine-batch{padding:12px 0;border-top:1px solid var(--line,#d8d4cb)}
.routine-batch small{display:block;margin-top:5px;color:var(--muted,#6a706a)}.routine-batch p{margin:8px 0;overflow-wrap:anywhere}
.routine-links{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:10px}.routine-links a{font-size:14px;text-decoration:underline}
