/* Old-town shop signs, enamel labels and perforated keepsakes. */
:root[data-theme=city],.card-holder[data-theme=city]{--ink:#372f26;--muted:#726352;--purple:#a43e2e;--purple-soft:#ead5ac;--paper:#efd9a5;--paper-edge:#b2935a;--surface:#fff9e9;--card-edge:#c6aa77;--accent-deep:#672d24;--scene:#e7dfcc;--bg:#eee5ce;--heritage-green:#285348}
html[data-theme=city] body{background-image:radial-gradient(#76654813 .65px,transparent .65px);background-size:5px 5px}
:root[data-theme=city] .brand-symbol{border:3px double #f2d9a1;border-radius:11px;background:#993b2c;box-shadow:0 4px 0 #653322,0 7px 10px #5d452224;transform:rotate(-7deg)}
:root[data-theme=city] .day-tab[aria-current=true]{border:1px solid #b9a27a;background:#fff7dd;color:#433124;box-shadow:inset 0 0 0 3px #fff7dd,inset 0 0 0 4px #d6c3a1,0 4px 0 #c0a677}
:root[data-theme=city] .day-tab[aria-current=true] .day-label>span{color:#726352}
:root[data-theme=city] .day-code{color:#8f382c;font-weight:900}
:root[data-theme=city] .flip-button{background:#285348;color:#fff5d8;box-shadow:inset 0 0 0 1px #ffffff38,0 4px 0 #18372e,0 8px 13px #25433920}
.card-holder[data-theme=city] .card-front{background-color:var(--surface);background-image:repeating-linear-gradient(0deg,#a4885010 0,#a4885010 1px,transparent 1px,transparent 4px)}
.card-holder[data-theme=city] .card-front::after{inset:6px;border:1px solid #cbb98f85;border-radius:calc(var(--radius) - 6px)}
.card-holder[data-theme=city] .card-front::before{content:'';position:absolute;right:18px;bottom:42px;width:40%;height:120px;background:url('./assets/retro-arcade.png') right bottom/contain no-repeat;opacity:.055;pointer-events:none}
.card-holder[data-theme=city] .entry-body,.card-holder[data-theme=city] .card-edge{position:relative}
.card-holder[data-theme=city] .entry-body h2{font-family:'STSong','Songti SC','Noto Serif CJK SC','SimSun','Travel Sans',serif;font-weight:900;letter-spacing:.035em;line-height:1.4;text-shadow:0 1px 0 #fff9e9,.6px 1px 0 #82694b35}
.card-holder[data-theme=city] .entry-meta{align-items:center}.card-holder[data-theme=city] .time{color:#a53f2f;letter-spacing:-.035em;text-shadow:0 1px 0 #fff,0 2px 0 #c38e6666}
.card-holder[data-theme=city] .tag{border:3px double #b29b70;border-radius:7px;background:#fcf3d9;color:#5e5139;font-size:.75rem;box-shadow:1px 2px 0 #c3ad8350}
.card-holder[data-theme=city] .card-edge{position:relative;border-top:2px dashed #baa27a;padding-left:4px;padding-right:4px;font-variant-numeric:tabular-nums;letter-spacing:.035em}
.card-holder[data-theme=city] .card-edge::before,.card-holder[data-theme=city] .card-edge::after{content:'';position:absolute;top:-8px;width:12px;height:12px;border-radius:50%;background:#dacaaa;box-shadow:inset 0 1px 2px #8b754a40}
.card-holder[data-theme=city] .card-edge::before{left:-24px}.card-holder[data-theme=city] .card-edge::after{right:-24px}
.type-heading{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0;max-width:48%}
.card-holder[data-theme=city] .type-art{display:flex;justify-content:center;align-items:flex-start;min-height:140px;height:34%;padding:16px 18px;isolation:isolate;border:1px solid #ad8a4f;border-radius:24px;background-image:repeating-linear-gradient(90deg,#b2965940 0,#b2965940 1px,transparent 1px,transparent 20px)!important;box-shadow:inset 0 0 0 4px #efdcaf,inset 0 0 0 5px #af91535c,0 3px 0 #d2b881}
.card-holder[data-theme=city] .type-art::before{content:'';position:absolute;inset:auto 0 0;height:13px;background:repeating-conic-gradient(#436351 0 25%,#e4cea0 0 50%) 0 0/13px 13px;opacity:.6;z-index:-1}
.card-holder[data-theme=city] .type-word{font-family:'STSong','Songti SC','SimSun','Travel Sans',serif;font-size:2.8rem;font-weight:900;letter-spacing:.015em;line-height:1.15;padding:8px 10px 10px;background:#993c2d;color:#fff2c7;border:4px double #d7b971;border-radius:6px;box-shadow:3px 4px 0 #67402b,5px 7px 11px #69472028;text-shadow:1px 2px 0 #713124;transform:rotate(-5deg)}
.card-holder[data-theme=city] .art-punctuation{color:#ecc96a;margin-left:1px;text-shadow:1px 2px 0 #713124}
.card-holder[data-theme=city] .type-date{font-family:'Travel Round','Travel Sans',sans-serif;font-size:.75rem;background:#ffefc6;border-block:1px dashed #b59662;padding:3px 8px;letter-spacing:.02em;transform:rotate(-3deg);box-shadow:1px 2px 3px #634b2726;white-space:nowrap}
.arcade-art{position:absolute;right:2%;bottom:1%;width:64%;height:97%;object-fit:contain;object-position:right bottom;filter:drop-shadow(1px 6px 3px #3d351f36);pointer-events:none;user-select:none;z-index:1}
.card-holder[data-theme=city][data-compact=compact] .type-art{height:28%;min-height:128px;max-height:148px;padding:11px 15px}
.card-holder[data-theme=city][data-compact=compact] .type-word{font-size:1.8rem;padding:5px 7px 7px}
.card-holder[data-theme=city][data-compact=compact] .type-date{font-size:.6875rem;padding:2px 6px}.card-holder[data-theme=city][data-compact=compact] .type-heading{gap:10px}
.card-holder[data-theme=city][data-compact=minimal] .type-art{display:none}
.card-holder[data-theme=city] .photo-album{background-color:#ddcc9e;background-image:repeating-linear-gradient(90deg,#5f795515 0,#5f795515 1px,transparent 1px,transparent 18px);border:1px solid #a58b59;box-shadow:inset 0 0 0 4px #e5d4a8,0 3px 0 #c5ac75;padding-top:21px;gap:18px}
.card-holder[data-theme=city] .photo-album::before{inset:7px;border:1px solid #a78e555e;border-radius:20px}
.card-holder[data-theme=city] .photo-main{padding:8px 8px 15px;border:3px double #958459;background:#fff8e4;box-shadow:2px 3px 0 #c3ad79,4px 7px 9px #4d412739;transform:rotate(-4deg)}
.card-holder[data-theme=city] .photo-main::before{background:#285348bb;width:29%;left:35%;height:17px;transform:rotate(-5deg)}
.card-holder[data-theme=city] .photo-location{font-family:'STSong','Songti SC','SimSun','Travel Sans',serif;font-size:1.6rem;line-height:1.2;letter-spacing:.05em;color:#fff0bd;background:#913d2e;border:3px double #d4b575;border-radius:5px;padding:6px 8px 8px;box-shadow:2px 3px 0 #663e2b;transform:rotate(2deg);text-shadow:1px 1px 0 #653524}
.photo-date,.photo-shot,.photo-source{font-size:.75rem;line-height:1.4}.photo-source{min-height:30px;padding-block:4px}.photo-gallery-link{font-size:.75rem;line-height:1.4}
.photo-label{position:relative;z-index:2}.place-seal{position:absolute;right:12px;top:-6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:48px;height:48px;line-height:1;border:3px double #98503a;border-radius:50%;background:#f6dfad;box-shadow:1px 3px 0 #81674930;color:#8a4230;transform:rotate(14deg);z-index:3;pointer-events:none}
.place-seal b{font-family:'STSong','Songti SC',serif;font-size:.875rem}.place-seal small{font-size:.5rem;letter-spacing:.03em}.photo-wide .place-seal{display:none}
.card-holder[data-theme=city] .photo-gallery-link{background:#285348;color:#fff1c8;border:1px solid #183c34;border-radius:6px;box-shadow:1px 3px 0 #173d32}
.card-holder[data-theme=city] .tip{border-left:3px solid #a55539;border-radius:3px 12px 12px 3px;background:#f3e6c7}
.card-holder[data-theme=city] .route-flag{border:4px double #d9b570;background:#285348;color:#fff0c4;border-radius:10px;box-shadow:0 3px 0 #1b3e32}
.card-holder[data-theme=city] .route-metrics{border-block:2px dashed #bea276}.card-holder[data-theme=city] .route-stops::before{background:#bca87d}.card-holder[data-theme=city] .route-stops li::before{background:#285348;box-shadow:0 0 0 3px #fff3d5}
.card-holder[data-theme=coast] .type-heading{gap:9px}.card-holder[data-theme=coast] .photo-album{background-image:repeating-linear-gradient(135deg,#fff9 0,#fff9 1px,transparent 1px,transparent 12px)}
.card-holder[data-theme=coast] .place-seal{border-color:#2e7d89;background:#f1fff7;color:#246c75;transform:rotate(-12deg)}
.card-holder[data-theme=coast] .photo-location{letter-spacing:.035em}.card-holder[data-theme=coast] .card-edge{border-top-style:dashed}
.photo-wide .photo-date,.photo-wide .photo-source{font-size:.6875rem}.photo-wide .photo-location{font-size:.875rem}
.card-holder[data-theme=city] .photo-wide .photo-location{font-size:.9375rem;padding:3px 6px;line-height:1.2;letter-spacing:0;white-space:nowrap;transform:none}
@media(max-width:760px){.card-holder[data-theme=city] .type-word{font-size:2.25rem}.card-holder[data-theme=city] .photo-album{gap:15px}.card-holder[data-theme=city] .photo-location{font-size:1.4rem;padding:5px 6px}.card-holder[data-theme=city] .photo-pair .photo-location{font-size:1.25rem}.photo-label{max-width:none}.card-holder[data-theme=city] .entry-body h2{letter-spacing:.02em}}
@media(max-width:370px){.card-holder[data-theme=city][data-compact=compact] .type-word{font-size:1.55rem}.card-holder[data-theme=city] .type-art{padding-left:12px}.card-holder[data-theme=city] .photo-album{gap:11px;padding-inline:12px}.card-holder[data-theme=city] .photo-location{font-size:1.2rem}.place-seal{width:40px;height:40px;right:8px;top:-5px}.photo-date,.photo-shot,.photo-source,.photo-gallery-link{font-size:.6875rem}.card-holder[data-theme=city] .photo-wide .photo-location{font-size:.8125rem}}
@media(max-height:710px){.card-holder[data-theme=city][data-compact=compact] .type-art{min-height:108px;max-height:125px}}
@media(prefers-reduced-motion:reduce){.arcade-art{filter:none}}
