:root{--paper:#f6f2e8;--ink:#172d43;--red:#d9432f;--muted:#65717a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.8 'Noto Sans SC',system-ui,sans-serif}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer;border:1px solid #c8c8bc;background:transparent;color:var(--ink);padding:9px 16px;border-radius:5px}button:hover,a:hover{color:var(--red)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ef9e33;outline-offset:3px}header{display:flex;align-items:center;justify-content:space-between;padding:25px 5%;border-bottom:1px solid #d6d4ca}.brand{font-size:22px;font-weight:900;letter-spacing:1px}.brand span{display:block;font-size:9px;letter-spacing:2px}nav{display:flex;gap:28px;align-items:center;font-size:13px}main>section{padding:64px 5%}.hero{position:relative;display:grid;grid-template-columns:1.1fr 1fr;min-height:580px;padding-top:60px;padding-bottom:100px;overflow:hidden}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;color:var(--red)}h1{font-size:clamp(42px,5.1vw,76px);line-height:1.25;letter-spacing:-2px;margin:24px 0}h1 span{color:var(--red)}.intro{color:#56636a;font-size:15px}.primary{display:inline-block;background:var(--red);color:white;padding:13px 24px;margin-top:18px;border-radius:3px}.primary:hover{background:var(--ink);color:white}.fine,.note{font-size:11px;color:var(--muted)}.hero-art{align-self:center;position:relative;background:#e7e6d9;border-radius:50%;aspect-ratio:1.3;transform:rotate(-6deg);display:flex;align-items:center;background-image:repeating-linear-gradient(0deg,transparent,transparent 37px,#cbd0c42e 38px)}.hero-art svg{width:110%;filter:drop-shadow(0 20px 8px #172d4320)}.stamp{position:absolute;right:0;top:0;background:#e8b84e;border-radius:50%;padding:22px;text-align:center;font-size:12px;z-index:1;transform:rotate(15deg)}.ticket{position:absolute;bottom:0;left:5%;right:5%;border-top:1px solid #bfc4bd;border-bottom:1px solid #bfc4bd;padding:16px 0;display:flex;gap:30px;font-size:12px;align-items:center}.ticket b{color:var(--red)}.ticket a{margin-left:auto}.route{display:flex;justify-content:space-between;padding-top:28px;padding-bottom:28px;background:var(--ink);color:#fff;gap:20px}.route p{margin:0;font-size:12px;color:#aabac4}.route b{color:#eea33c;padding-right:14px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.section-head>span{font-size:12px;color:var(--muted)}h2{font-size:32px;line-height:1.4;margin:10px 0}h3{font-size:21px;line-height:1.5}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.search{background:#fff9;border:1px solid #d7d6cc;padding:8px 14px;min-width:290px}.search input{background:none;border:0;width:90%;outline:0}.filters{display:flex;gap:5px;flex-wrap:wrap}.filters button{border:0;padding:8px 14px;border-radius:20px;font-size:12px}.filters .active{background:var(--ink);color:white}#results{font-size:11px;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.card{padding:0;text-align:left;border:0;border-radius:0;background:none;position:relative;display:flex;flex-direction:column}.art{height:175px;width:100%;background:#e3e9e4;display:flex;align-items:center;overflow:hidden;position:relative}.card:nth-child(4n+2) .art{background:#efe0cd}.card:nth-child(4n+3) .art{background:#dce4e8}.card:nth-child(4n) .art{background:#e8e3d9}.art svg{width:100%;height:100%;transition:transform .3s}.card:hover svg{transform:translateX(7px)}.tag{font-size:10px;letter-spacing:1px;color:var(--red);margin-top:12px}.card h3{margin:4px 0;font-size:19px}.card p{font-size:12px;color:#5e6b72;margin:0 0 12px}.card .explore{font-size:11px;border-top:1px solid #d3d4ca;padding-top:8px;width:100%;margin-top:auto}.lab{background:#e7e9df}.lab>p:not(.eyebrow){color:var(--muted)}.experiments{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:35px}.experiments article{background:var(--paper);padding:24px}.number{font-size:11px;color:var(--red)}.engine{height:150px;background:#dbe2dc;width:120px;margin:15px auto;position:relative;border:8px solid var(--ink);border-top:3px dashed var(--red);overflow:hidden}.engine #piston{position:absolute;width:100%;height:40px;background:#7f929e;bottom:10px;border-top:5px solid var(--ink);transition:bottom .4s}.engine #gas{height:100%;background:#e8b84e66}.engine>span{position:absolute;top:10px;left:10px;font-size:12px}.controls{display:flex;gap:5px;flex-wrap:wrap}.controls button{font-size:11px;padding:6px 8px}.experiments article>p{min-height:58px;font-size:12px}.gears{height:150px;display:flex;align-items:center;justify-content:center;line-height:1;color:var(--red)}.gears span{font-size:75px;display:block;animation:spin 2s linear infinite}.gears span+span{font-size:120px;animation-direction:reverse;margin-left:-12px;color:var(--ink)}@keyframes spin{to{transform:rotate(360deg)}}label{display:block;font-size:12px}input[type=range]{width:100%;accent-color:var(--red);margin:16px 0}select{display:block;padding:8px;width:100%;background:var(--paper);border:1px solid #aeb9b8;margin:10px 0}.distance{display:flex;height:38px;margin:35px 0 20px;font-size:10px;color:white;max-width:100%}.distance>div{padding:6px;min-width:30px;background:#c78139;transition:width .3s}.distance>div+div{background:var(--red)}.quiz{display:grid;grid-template-columns:2fr 1fr;gap:60px;border-top:1px solid #bfc4bd;padding-top:30px}#quizProgress{font-size:11px;color:var(--red)}#answers{display:grid;grid-template-columns:1fr 1fr;gap:10px}#answers button{text-align:left;padding:15px}#answers .chosen{background:var(--ink);color:white}#feedback{min-height:40px;font-size:13px}aside{background:#e5b849;padding:30px}aside>span{font-size:10px;letter-spacing:2px}aside p{font-size:13px}aside b{display:block;margin:20px 0}aside button{font-size:11px}.sources{border-top:1px solid #c9cdc3}.sources>p{max-width:850px;font-size:13px;color:var(--muted)}.sources>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px;margin-top:25px}.sources a{border-bottom:1px solid #cccfc5;padding-bottom:10px}footer{padding:35px 5%;background:var(--ink);color:white;display:flex;gap:30px;align-items:center;flex-wrap:wrap;font-size:12px}footer a{margin-left:auto}footer p{width:100%;font-size:10px;color:#b8c5cc}dialog{border:0;background:var(--paper);color:var(--ink);max-width:730px;width:calc(100% - 28px);max-height:90vh;padding:35px}dialog::backdrop{background:#102437aa}#close{position:absolute;right:12px;top:12px;z-index:2;background:var(--paper)}dialog .art{height:230px;margin-top:15px}dialog h2{margin-top:15px}dialog p{font-size:14px}dialog h3{font-size:16px;color:var(--red)}.detail-fact{border-left:3px solid var(--red);padding-left:16px}.empty{grid-column:1/-1;padding:40px;background:#e5e7df}.saved{color:var(--red)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gears span{animation:none}.art svg,#piston{transition:none}}@media(max-width:900px){nav{gap:12px}.gallery{grid-template-columns:repeat(2,1fr)}.experiments{grid-template-columns:1fr}.experiments article{display:block}.hero{grid-template-columns:1.1fr 1fr}.hero-art{min-width:0}.route{font-size:12px}.quiz{gap:25px}}@media(max-width:600px){header{padding:18px 5%;display:block}.brand{font-size:20px}nav{margin-top:15px;justify-content:space-between;gap:7px;font-size:11px}nav button{padding:5px 8px;font-size:11px}main>section{padding:40px 5%}.hero{display:block;padding-bottom:100px}h1{font-size:47px}.hero-art{margin:25px 10px 15px;height:210px;aspect-ratio:auto}.stamp{padding:15px;font-size:10px}.hero-art svg{height:230px}.intro{font-size:13px}.fine{font-size:10px}.ticket{gap:12px;font-size:10px}.ticket span{max-width:110px}.ticket a{font-size:10px}.route{display:grid;grid-template-columns:1fr 1fr;padding:20px 5%}.route p{display:none}.route div:last-child{grid-column:1/-1}.section-head{display:block}.section-head>span{display:block}h2{font-size:27px}.toolbar{gap:10px}.search{width:100%;min-width:0}.filters{gap:0}.filters button{padding:6px 12px}.gallery{gap:22px 14px}.art{height:125px}.card h3{font-size:17px}.card p{font-size:11px}.quiz{grid-template-columns:1fr}#answers{grid-template-columns:1fr}.sources>div{grid-template-columns:1fr}footer{gap:14px}footer span{width:100%}footer a{margin-left:0}dialog{padding:24px}dialog .art{height:180px}}

.exhibit-sources{display:grid;gap:5px;margin:20px 0;font-size:11px}.exhibit-sources a{border-bottom:1px solid #ccc;padding-bottom:4px}
.photo{background:#d9dedb!important}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.card:hover .photo img{transform:scale(1.04)}.photo-label{font-size:9px;color:#5d696e;line-height:1.5;display:block;margin-top:6px}.hero-art{border-radius:5px;transform:rotate(-3deg);aspect-ratio:1.25;background:none;overflow:visible}.hero-art>img{width:100%;height:100%;object-fit:cover;border:8px solid #fff;box-shadow:0 16px 35px #172d4320}.hero-credit{position:absolute;bottom:-37px;font-size:9px;line-height:1.5;color:var(--muted)}.credits{grid-column:1/-1;background:#e9e9df;padding:20px;margin-top:20px}.credits p{font-size:11px}.credits a{padding:0;border:0;text-decoration:underline}html[lang=en] h1{font-size:clamp(38px,4.7vw,68px);letter-spacing:-1.5px}html[lang=en] .brand{font-size:18px}html[lang=en] .card h3{font-size:18px}html[lang=en] .card .tag{font-size:9px}.engine>span{font-size:10px}.photo-label:empty{display:none}@media(max-width:600px){.hero-art{height:225px;margin-bottom:50px}.hero-art>img{border-width:5px}.hero-credit{bottom:-32px}.hero .eyebrow{font-size:9px}.hero h1{font-size:43px}html[lang=en] .hero h1{font-size:43px}html[lang=en] .brand{font-size:18px}html[lang=en] nav{font-size:10px;gap:4px}html[lang=en] nav button{font-size:10px;padding:5px}html[lang=en] .ticket span{max-width:100px}.hero{padding-bottom:110px}.photo-label{font-size:8px}html[lang=en] .card h3{font-size:16px}}
.detail-lang{position:absolute;right:64px;top:12px;font-size:11px;background:var(--paper);z-index:2}.mechanism svg{width:100%;height:100%}
