:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#2d4056;background:#f7f4ee}
*{box-sizing:border-box}body{margin:0}button,a{font:inherit}a{color:inherit}button{cursor:pointer}
[hidden]{display:none!important}button:focus-visible,a:focus-visible,.viewport:focus-visible,[role=button]:focus-visible{outline:3px solid #e7a273;outline-offset:3px}
.page{max-width:1600px;padding:15px clamp(14px,2.8vw,44px) 25px;margin:auto}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0 18px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-icon{background:#34465b;color:#a4d2c4;border-radius:12px;padding:10px;font-size:24px}.brand strong{display:block;letter-spacing:-.065em;font-size:1.4rem}.brand strong span{color:#de8677}.brand small{display:block;font-size:.68rem;color:#778994}.toplinks{display:flex;gap:9px;flex-wrap:wrap}.toplinks a{padding:10px 13px;text-decoration:none;font-size:.78rem;border:1px solid #dfe2dd;border-radius:11px;background:#fffdf9;font-weight:750}.toplinks a:hover{background:#edf8ef}
.intro{display:flex;justify-content:space-between;align-items:end;gap:26px;margin:13px 0 22px}.eyebrow{font-size:.7rem;letter-spacing:.14em;font-weight:850;color:#a8736b}.intro h1{font-size:clamp(2.5rem,5.2vw,4.9rem);line-height:1.08;margin:8px 0;letter-spacing:-.08em}.intro h1 em{font-style:normal;color:#408e7c}.intro p{font-size:.89rem;max-width:680px;line-height:1.6;color:#71828b;margin:0}.progress{min-width:225px;border:1px solid #dce6dc;border-radius:15px;background:#fffefa;padding:15px}.progress strong{font-size:1.65rem;letter-spacing:-.05em}.progress strong small{font-size:.72rem;color:#6c8482;font-weight:700;letter-spacing:0}.progress>small{color:#71828b;font-size:.68rem;font-weight:700}.track{height:7px;background:#ebf0ea;overflow:hidden;border-radius:12px;margin:9px 0}.track span{display:block;height:100%;width:0;background:linear-gradient(90deg,#69bba8,#8dc8a6);transition:width .3s}
.frame{border:1px solid #dae0d9;border-radius:21px;overflow:hidden;background:#fffdf9;box-shadow:0 17px 44px #344d4620}.controls{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 17px;flex-wrap:wrap}.control-title{display:grid;gap:4px}.control-title strong{font-size:.89rem}.control-title small{font-size:.68rem;color:#7d8e91}.filters,.zones{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin}.filters button,.zones button{border:1px solid #dce5df;background:#f6f9f4;color:#526e67;padding:9px 12px;border-radius:10px;white-space:nowrap;font-size:.71rem;font-weight:770;min-height:37px}.filters button[aria-pressed=true],.zones button[aria-current=true]{background:#ddf4e7;border-color:#81b9a5;color:#286d59}.zones{padding:10px 16px;background:#f5f8f3;border-top:1px solid #e5eae5;border-bottom:1px solid #e5eae5}.zones button{flex:1}
.viewport{height:630px;overflow:auto hidden;overscroll-behavior-inline:contain;scrollbar-color:#a9cabb #f4f7f1}.viewport svg{display:block;width:3964px;height:630px;max-width:none}.mural-object{cursor:pointer;outline:none;transition:opacity .2s}.mural-object:hover .art{filter:brightness(1.08)}.art{filter:url(#softShadow)}.mural-object .focus{display:none}.mural-object:focus-visible .focus{display:block}.mural-object.arrived{animation:arrive .7s ease both}@keyframes arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.label-text{font-size:35px;font-weight:800;letter-spacing:-.045em;fill:#4c7774}.label-small{font-size:18px;fill:#72928f;font-weight:700}.bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 17px}.bottom p{margin:0;color:#72878a;font-size:.73rem;line-height:1.5}.bottom a,.dialogActions a{background:#377e6d;color:white;border-radius:10px;text-decoration:none;padding:11px 15px;font-weight:800;white-space:nowrap;font-size:.8rem}.bottom a:hover,.dialogActions a:hover{background:#2d6b59}.footnote{font-size:.74rem;line-height:1.7;color:#7c8b8d;margin:15px 4px 30px}footer{display:flex;gap:10px;font-size:.65rem;letter-spacing:.08em;font-weight:750;color:#8b9493}footer span{color:#ce8275}
dialog{width:min(93vw,490px);max-height:92vh;overflow-y:auto;border:1px solid #d8e3db;border-radius:19px;padding:25px;background:#fffdfa;color:#2d4056;box-shadow:0 23px 70px #18283e4d}dialog::backdrop{background:#24384ba8;backdrop-filter:blur(4px)}dialog .close{position:absolute;right:13px;top:13px;border:1px solid #dfe6e0;background:#f8faf8;width:37px;height:37px;border-radius:9px;font-size:24px}.close:hover{background:#e9f4ed}dialog h2{font-size:1.8rem;letter-spacing:-.045em;margin:11px 40px 5px 0}dialog p{font-size:.78rem;color:#71828b;line-height:1.5;margin:6px 0}.detailArt{display:grid;place-items:center;background:#f7f4ec;border-radius:14px;margin:15px 0;padding:12px}.detailArt svg{width:min(100%,320px);height:auto}.skills{font-weight:700}.dialogActions{display:grid;gap:8px}.dialogActions a,.dialogActions button{text-align:center;min-height:44px}.dialogActions button{background:#eff5ee;border:1px solid #d9e5dc;border-radius:9px;color:#4d7066;font-weight:750}
@media(max-width:760px){.page{padding:10px 12px 20px}.topbar{align-items:flex-start}.toplinks a{font-size:.66rem;padding:8px}.brand strong{font-size:1.15rem}.brand-icon{padding:8px;font-size:19px}.intro{align-items:start;gap:9px}.intro h1{font-size:clamp(2.3rem,9vw,3.4rem)}.intro p{font-size:.75rem}.progress{min-width:110px;padding:10px}.progress strong{font-size:1.25rem}.progress strong small{display:block;font-size:.61rem}.progress>small{font-size:.58rem}.controls{padding:12px;align-items:stretch}.filters{width:100%}.zones{padding:8px}.zones button{flex:none}.viewport{height:525px}.viewport svg{width:3305px;height:525px}.bottom{padding:11px}.bottom p{font-size:.67rem}.bottom a{font-size:.68rem;padding:9px}.footnote{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}