:root{color-scheme:light;font:16px/1.45 Segoe UI,system-ui,sans-serif;color:#3e2b3b;background:#f7ede5;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100svh;background:radial-gradient(ellipse at top,#fffaf2 5%,#f1dfd9 88%)}body:has(.midnight){background:radial-gradient(ellipse at top,#382b46,#1d1828 80%)}#app{--ink: #3e2b3b;--muted: #725765;--accent: #633d55;--edge: #ddc3b5;--paper: #fffbf5;--panel: #f6e9df;--gold: #876441;width:min(100%,500px);min-height:100svh;margin-inline:auto;padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));color:var(--ink)}#app.midnight{--ink: #fcf0e5;--muted: #e0cbdc;--accent: #f0cda9;--edge: #786181;--paper: #30243c;--panel: #3c2c48;--gold: #e5bd89}.masthead{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:10px;margin:0 4px 10px}button{font:inherit;color:inherit;min-height:44px;min-width:44px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.wordmark{border:0;background:none;padding:0 6px;overflow-wrap:anywhere;font:600 1.65rem Georgia,serif;color:var(--ink)}.balance{white-space:nowrap;font-size:.84rem;font-weight:650;color:var(--ink);border:1px solid var(--edge);border-radius:999px;padding:6px 12px;background:var(--panel)}.screen{padding:clamp(12px,4vw,23px);background:var(--paper);border:1px solid var(--edge);border-radius:22px;text-align:center;box-shadow:0 14px 36px #48283d12}.eyebrow{margin:2px 0 6px;color:var(--gold);font-size:.72rem;font-weight:750;letter-spacing:.17em;text-transform:uppercase}h1,h2{font:500 clamp(1.8rem,7.5vw,2.55rem)/1.06 Georgia,serif;margin:0}h1:focus{outline:none}h2{font-size:1.38rem;margin-top:22px}.lede,.instruction{color:var(--muted);margin:10px auto 14px;max-width:33ch}.instruction{font-size:.87rem;margin-bottom:9px}.notice{padding:8px 12px;background:var(--paper);border-radius:12px}.caption{margin:0 0 14px;color:var(--muted);font-weight:650}.artwork{position:relative;width:min(100%,385px);aspect-ratio:384 / 300;overflow:hidden;margin-inline:auto;isolation:isolate}.artwork img{position:absolute;object-fit:contain;pointer-events:none}.artwork.reveal .support{width:109.4%;height:auto;left:-4.7%;top:3.3%}.artwork.reveal .nacre{inset:0;width:100%;height:100%;opacity:.34}.artwork.reveal .piece{width:98.2%;height:auto;left:.9%;top:6.9%}.artwork.open .support{height:107.6%;width:auto;left:-13%;top:-3.8%}.artwork.open .piece{width:67.71%;height:58%;left:16.15%;top:29.33%}.artwork.closed img{width:100%;height:100%;inset:0}.portrait{display:block;width:min(78%,255px);height:auto;margin:2px auto -12px}.portrait.small{width:min(62%,190px)}.handoff{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin:12px 0}.handoff .portrait{width:100%;margin:0}blockquote{font:italic 1.22rem/1.38 Georgia,serif;margin:12px auto 20px;max-width:25ch;color:var(--ink)}.reward{font-weight:750;color:var(--gold)}.actions{display:grid;gap:8px}.primary,.secondary{border-radius:12px;padding:8px 12px;font-weight:650}.primary{border:1px solid var(--accent);background:var(--accent);color:var(--paper)}.secondary{border:1px solid var(--edge);background:var(--panel);color:var(--ink)}.primary:disabled,.secondary:disabled{opacity:.5}.turn{display:flex;justify-content:space-between;gap:6px;font-size:.81rem;font-weight:680;margin-bottom:5px}#board{aspect-ratio:360 / 398;position:relative;width:100%}.game-canvas,.stack-buttons{position:absolute;width:100%}.game-canvas{height:100%}.game-canvas canvas{display:block;margin-inline:auto}.stack-buttons{display:flex}.stack-buttons button{flex:1;border:0;border-radius:16px;background:none;min-width:0}.stack-buttons button:enabled:hover{background:#86625616}.stack-buttons button:disabled{background:#4729370c}.puzzle-status{min-height:21px;margin:4px 0;color:var(--muted);font-size:.87rem}.puzzle-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.puzzle-actions .primary{grid-column:span 2}.level-list{list-style:none;padding:0;margin:10px 0 16px;display:grid;gap:6px}.level-list button{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 12px;border-radius:10px;border:1px solid var(--edge);background:var(--panel)}.level-list button:disabled{opacity:.66}.level-list small{white-space:nowrap}.midnight-list button{color:#f7e5e7;background:#44334d;border-color:#6b5275}@media(min-width:720px){#app{padding-top:24px}}@keyframes perla-reveal{0%{opacity:0;transform:translateY(10px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes perla-glow{0%,to{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 13px #f5d7a888)}}.artwork.reveal,.artwork.open,.artwork.closed{animation:perla-reveal .36s ease-out both}.artwork.reveal .piece{animation:perla-glow 1.6s ease-in-out 1 .36s}@media(prefers-reduced-motion:reduce){.artwork.reveal,.artwork.open,.artwork.closed,.artwork.reveal .piece{animation:none}}
