:root{color-scheme:dark;--bg:#141719;--ink:#edece6;--muted:#969d9d;--line:#ffffff20;--gold:#c9b88c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'Segoe UI','Microsoft JhengHei',sans-serif}body:before{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 40%,#34414724,transparent 65%)}#exhibition{min-height:100svh;padding:5.5vh 5vw 3vh;display:flex;flex-direction:column}header{text-align:center}h1{font-size:clamp(19px,2.05vw,38px);font-weight:400;letter-spacing:.08em;margin:17px 0 13px}header p{font-size:clamp(10px,1vw,17px);color:var(--muted);letter-spacing:.13em}.eyebrow{font-size:10px;letter-spacing:.36em;color:var(--gold)}#gallery{margin:auto 0;padding:4vh 0}.works{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3.7vw;max-width:1410px;margin:auto}.artwork{border:0;padding:0;background:none;text-align:left;color:inherit;cursor:pointer;position:relative}.art-frame{aspect-ratio:1;background:#20272c;border:1px solid var(--line);display:flex;align-items:center;transition:transform .4s,box-shadow .4s}.art-frame img{width:100%;height:100%;object-fit:contain}.artwork:hover .art-frame,.artwork.dwelling .art-frame{transform:scale(1.025);box-shadow:0 0 32px #c9b88c16;border-color:#c9b88c75}.art-meta{display:flex;justify-content:space-between;margin:22px 0 0;font-size:11px;letter-spacing:.18em;color:var(--muted)}.art-meta span:last-child{color:var(--gold)}button{font:inherit}button:focus-visible{outline:2px solid var(--gold);outline-offset:8px}.artwork i,[data-dwell] i{position:absolute;bottom:-8px;left:0;height:1px;width:calc(var(--dwell,0)*100%);background:var(--gold)}.instruction{text-align:center;color:#c9ccc7;margin:5vh 0 0;letter-spacing:.13em;font-size:13px}.instruction span,.puzzle-instruction span{display:block;color:var(--muted);font-size:11px;margin-top:10px;letter-spacing:.08em}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:10px;letter-spacing:.16em;color:#737e7f;margin-top:auto}footer b{font-weight:400;margin:0 12px;color:var(--gold)}#camera{position:fixed;right:20px;bottom:62px;width:160px;height:120px;border:1px solid #ffffff24;border-radius:5px;overflow:hidden;background:#161b1e;z-index:10}video{width:100%;height:94px;object-fit:cover;transform:scaleX(-1);position:relative;z-index:1}.camera-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#5b676c;font-size:10px;letter-spacing:.2em}.camera-bottom{height:25px;background:#161b1e;position:absolute;bottom:0;width:100%;z-index:2;display:flex;align-items:center;gap:6px;padding:0 7px;font-size:9px;color:var(--muted)}#camera-status{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#camera-dot{width:4px;height:4px;border-radius:50%;background:#a58a60;flex:none}#camera-retry{margin-left:auto;border:0;color:var(--muted);background:none;cursor:pointer}#puzzle{position:relative;margin-top:2vh}#puzzle[hidden],#gallery[hidden],#complete[hidden]{display:none}.puzzle-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px;letter-spacing:.15em}.puzzle-top button,#complete button{position:relative;border:0;background:none;color:var(--ink);padding:8px 0;cursor:pointer;font-size:12px}small{color:var(--muted);font-size:10px;margin-left:12px}#board{display:block;width:100%;height:60vh;touch-action:none;cursor:grab}#board:active{cursor:grabbing}.puzzle-instruction{text-align:center;font-size:12px;color:#c9ccc7;letter-spacing:.12em;margin:10px 0 25px}#complete{position:absolute;bottom:9vh;left:50%;transform:translateX(-50%);text-align:center;padding:16px 30px;background:#141719ed;border:1px solid var(--line);animation:appear 1s}#complete h2{font-size:23px;font-weight:300;letter-spacing:.15em;margin:0 0 10px}#palm{position:fixed;pointer-events:none;border:1px solid #dccba680;background:#dccba60a;border-radius:50%;z-index:20;transform:translate(-50%,-50%)}@keyframes appear{from{opacity:0;transform:translate(-50%,15px)}to{opacity:1;transform:translate(-50%,0)}}@media(max-width:900px){#exhibition{padding:4vh 4vw 3vh}.art-meta{margin-top:14px;font-size:9px}.works{gap:3vw}#camera{width:110px;height:85px;bottom:50px;right:10px}video{height:60px}footer{font-size:8px}.instruction{font-size:11px}}@media(max-width:600px){h1{line-height:1.7}.works{gap:18px;grid-template-columns:repeat(3,1fr)}#board{height:57vh}.art-meta{letter-spacing:0;font-size:8px}.instruction{max-width:70%;margin:4vh auto}.puzzle-top{font-size:8px}small{display:block;margin:5px 0}footer span:last-child{display:none}}
