:root{--ink:#f6efe0;--ink-soft:#f6efe0cc;--night:#0f1440;--gold:#ffd04f;--glass:#0c0e22b3;--serif:"Iowan Old Style", "Palatino", "Georgia", serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;background:#000;margin:0;overflow:hidden}button{font-family:var(--serif);color:var(--ink);background:var(--glass);cursor:pointer;-webkit-backdrop-filter:blur(8px);border:1px solid #f6efe040;border-radius:999px;padding:8px 15px;font-size:15px;transition:background .2s,border-color .2s}button:hover{border-color:#f6efe099}button.active{color:#1a1440;background:#ffd04fe6;border-color:#0000}.hidden{display:none!important}#glide{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}body.looking #subtitle{visibility:hidden}section#places{padding:max(18px, env(safe-area-inset-top)) 16px 24px;background:#0f1440f7;justify-content:flex-start;overflow-y:auto}.places-inner{width:min(640px,100%)}.places-head{z-index:1;background:#0f1440f7;align-items:center;gap:8px;padding:6px 0 12px;display:flex;position:sticky;top:0}.places-head h2{text-align:left;flex:1;margin:0;font-size:26px;font-weight:400}#place-list{flex-direction:column;gap:8px;display:flex}.place-row{text-align:left;-webkit-backdrop-filter:none;border-radius:14px;align-items:center;gap:12px;width:100%;padding:6px 14px 6px 6px;display:flex}.place-row img{object-fit:cover;border-radius:9px;flex:none;width:72px;height:54px}.place-number{border:1px solid #f6efe059;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;display:flex}.place-row.seen .place-number{background:#c2185b;border-color:#c2185b}.place-row.current{border-color:var(--gold);background:#ffd04f1f}.place-row.current .place-number{background:var(--gold);border-color:var(--gold);color:#1a1440}.place-name{font-size:17px;line-height:1.25}.place-painters{color:var(--ink-soft);font-size:13px;font-style:italic;display:block}section#how{z-index:5;background:radial-gradient(circle at 50% 40%,#241f63 0%,#0f1440 70%)}.how-inner{text-align:left;width:min(520px,100%)}.how-inner h2{margin:0 0 14px;font-size:26px;font-weight:400}.how-inner ul{color:var(--ink-soft);flex-direction:column;gap:12px;margin:0 0 22px;padding:0;font-size:16px;line-height:1.4;list-style:none;display:flex}.how-inner b{color:var(--gold);margin-right:4px;font-weight:400}#controls #where{font-variant-numeric:tabular-nums;min-width:62px}#controls #pause{min-width:44px;font-size:14px}.city-card .city-continue{color:var(--gold);margin-top:4px;font-size:12px;display:block}#zoom{z-index:3;flex-direction:column;gap:6px;display:flex;position:fixed;top:50%;right:18px;transform:translateY(-50%)}#zoom button{width:44px;height:44px;padding:0;font-size:22px;line-height:1}#caption{top:max(18px, env(safe-area-inset-top));background:var(--glass);-webkit-backdrop-filter:blur(10px);border-radius:14px;max-width:min(420px,100% - 36px);padding:12px 16px;transition:opacity .8s;position:fixed;left:18px}#caption-place{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-size:12px}#caption-title{margin-top:3px;font-size:20px;font-style:italic}#caption-painter{color:var(--ink-soft);margin-top:2px;font-size:14px}#caption-credit{color:var(--ink-soft);margin-top:4px;font-size:11px}#caption-credit:empty{display:none}#caption-credit a{color:inherit}#pictures{top:max(18px, env(safe-area-inset-top));flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:fixed;right:18px}#pictures .strip-title{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:2px;font-size:12px}#pictures button{padding:6px 13px;font-size:14px}#subtitle{left:16px;right:16px;bottom:calc(86px + env(safe-area-inset-bottom));text-align:center;-webkit-backdrop-filter:blur(6px);text-shadow:0 1px 2px #000c;pointer-events:none;background:#080a1ca8;border-radius:14px;width:fit-content;max-width:min(760px,100% - 32px);margin:0 auto;padding:8px 18px 10px;font-size:clamp(17px,2.3vw,23px);line-height:1.4;transition:opacity .5s;position:fixed}#controls{padding:14px 18px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(#0000,#0000008c);flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}#controls .gap{flex:1}#controls #previous,#controls #next{padding:5px 14px 8px;font-size:22px;line-height:1}#today-handle{cursor:ew-resize;touch-action:none;justify-content:center;align-items:center;width:44px;margin-left:-22px;display:flex;position:fixed;top:0;bottom:0}#today-handle span{color:#1a1440;background:#fff5dbf2;border-radius:999px;padding:5px 10px;font-size:13px;box-shadow:0 2px 10px #0006}#today-credit{right:18px;bottom:calc(66px + env(safe-area-inset-bottom));color:var(--ink-soft);text-align:right;text-shadow:0 1px 2px #000000e6;max-width:50%;font-size:11px;position:fixed}#today-credit a{color:inherit}#map{touch-action:none;background:#e9dcc0;transition:opacity .9s;position:fixed;inset:0;overflow:hidden}#map.fading{opacity:0}#map:not(.hidden):not(.fading)~#caption,#map:not(.hidden):not(.fading)~#subtitle,#map:not(.hidden):not(.fading)~#pictures{visibility:hidden}#map-sheet{transform-origin:0 0;transition:transform 3.2s cubic-bezier(.45,0,.25,1);position:absolute;top:0;left:0}#map-image{filter:sepia(.35)saturate(.9)contrast(1.05);display:block}#map-route{position:absolute;top:0;left:0;overflow:visible}#map-route .route{fill:none;stroke:#c2185b;stroke-linecap:round;stroke-linejoin:round;transition:stroke-dashoffset 3s ease-in-out}#map-route .pin{fill:#ffd04f;stroke:#1a1440;cursor:pointer}#map-route .pin.visited{fill:#c2185b}#map-route .pin-label{fill:#1a1440;font-family:var(--serif);paint-order:stroke;stroke:#fff8e6e6;stroke-linejoin:round;cursor:pointer}#map:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 140px #3c230a8c}#map-label{left:50%;bottom:calc(110px + env(safe-area-inset-bottom));white-space:nowrap;z-index:2;background:#1a1440d9;border-radius:999px;padding:10px 20px;font-size:18px;font-style:italic;position:absolute;transform:translate(-50%)}#map-close{top:max(18px, env(safe-area-inset-top));z-index:2;background:#1a1440d9;position:absolute;right:18px}#title-screen,#end-screen,#credits,#places,#how{text-align:center;z-index:4;background:radial-gradient(circle at 50% 40%,#2a2470 0%,#0f1440 70%);flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}#title-screen{padding-top:max(36px, env(safe-area-inset-top));justify-content:flex-start;overflow-y:auto}.title-head{align-items:center;gap:18px;margin-top:10px;display:flex}.title-head h1{letter-spacing:.04em;text-align:left;margin:0;font-size:46px;font-weight:400}#title-icon{border-radius:22px;width:96px;height:96px;box-shadow:0 12px 40px #00000080}#title-screen .subtitle-line{color:var(--gold);text-align:left;margin:2px 0 0;font-size:19px;font-style:italic}#title-screen .hint,#end-screen p{color:var(--ink-soft);max-width:460px;font-size:16px}#modes{justify-content:center;gap:8px;margin:-4px 0 18px;display:flex}#modes button{min-height:44px;padding:8px 18px}#hold{min-height:44px;margin:-8px auto 18px;padding:8px 18px;font-size:14px;display:block}#hold:before{content:"☐ "}#hold[aria-pressed=true]:before{content:"☑ "}#controls #next.waiting{animation:1.6s ease-in-out infinite waiting}@keyframes waiting{50%{background:var(--gold);color:#1a1440}}@media (prefers-reduced-motion:reduce){#controls #next.waiting{background:var(--gold);color:#1a1440;animation:none}}#modes button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#1a1440}#languages{top:max(16px, env(safe-area-inset-top));gap:6px;display:flex;position:absolute;right:16px}#languages button{padding:5px 12px;font-size:14px}#city-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;width:min(1100px,100%);padding-bottom:30px;display:grid}.region-title{letter-spacing:.08em;text-transform:uppercase;opacity:.75;grid-column:1/-1;margin:18px 0 -4px;font-size:15px;font-weight:600}.city-card{aspect-ratio:4/3;text-align:left;background-position:50%;background-size:cover;border:1px solid #f6efe033;border-radius:18px;padding:0;transition:transform .25s,border-color .25s;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000059}.city-card:hover{border-color:var(--gold);transform:translateY(-3px)}.city-card .city-words{background:linear-gradient(#0000,#080a1ce6);padding:40px 14px 12px;position:absolute;bottom:0;left:0;right:0}.city-card .city-name{font-size:24px;display:block}.city-card .city-title{color:var(--gold);font-size:14px;font-style:italic;display:block}.city-card .city-count{color:var(--ink-soft);margin-top:2px;font-size:12px;display:block}.end-buttons{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}#again{background:var(--gold);color:#1a1440;border:none;margin-top:14px;padding:11px 34px;font-size:19px}#end-screen{background:#0f1440d1}#end-screen h2{margin:0;font-size:34px;font-style:italic;font-weight:400}#credits{background:#0f1440f5;justify-content:flex-start;overflow-y:auto}.credits-inner{text-align:left;-webkit-user-select:text;user-select:text;width:100%;max-width:760px}#credit-list{color:var(--ink-soft);padding-left:18px;font-size:14px;line-height:1.5}#credit-list a{color:var(--gold)}@media (width<=640px){#caption-title{font-size:17px}#pictures{top:auto;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));scrollbar-width:none;flex-flow:row;align-items:center;padding:0 12px;overflow-x:auto}#pictures button{flex:none;font-size:13px}#pictures .strip-title{display:none}#subtitle{bottom:calc(112px + env(safe-area-inset-bottom));font-size:17px}#controls{padding:10px 8px calc(10px + env(safe-area-inset-bottom));flex-wrap:wrap;justify-content:center;gap:6px 4px}#controls .gap{flex-basis:100%;height:0}#controls button{min-width:44px;min-height:44px;padding:6px 12px;font-size:15px}#controls #previous,#controls #next{min-width:56px;padding:2px 12px 6px;font-size:24px}#controls #where{min-width:76px}#controls #pause{min-width:56px}#pictures{bottom:calc(var(--controls-height,114px) + 10px)}#pictures button{min-height:40px}#subtitle{bottom:calc(var(--controls-height,114px) + 62px)}#today-credit{bottom:calc(var(--controls-height,114px) + 58px)}#map-label{bottom:calc(var(--controls-height,114px) + 16px)}#caption-place{font-size:13px}}@media (width<=380px){#controls{gap:6px 3px;padding-left:4px;padding-right:4px}#controls button{padding:6px 8px;font-size:14px}}#reading-bar{background:var(--gold);opacity:.7;border-radius:2px;width:0;height:2px;margin:6px auto 0;display:none}body.reading #reading-bar{display:block}body.reading #subtitle{pointer-events:auto;cursor:pointer}#subtitle-text{display:block}@keyframes reading-time{0%{width:0}to{width:100%}}button:focus-visible,[role=slider]:focus-visible,[role=button]:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:2px}#map-route [role=button]:focus-visible{outline:none}#map-route [role=button]:focus-visible .pin{stroke:var(--gold);stroke-width:6px}@media (prefers-reduced-motion:reduce){#map-sheet,#map-route .route,#map,.city-card,#subtitle{transition-duration:.2s!important}}
