@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#fff0d5;background:#470504;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 22%,#740b06 0,#510503 48%,#390302 100%)}a{color:inherit}button{font:inherit}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #ffdc92;outline-offset:4px}
.institute{min-height:43px;display:flex;align-items:center;justify-content:center;padding:11px 18px;background:#e5ad57;color:#3e0904;text-align:center;text-transform:uppercase;letter-spacing:.22em;font-size:.62rem;font-weight:700}
.masthead{max-width:900px;margin:auto;padding:22px 22px 0;display:flex;align-items:center;justify-content:center}.masthead img{display:block;width:min(100%,760px);height:auto;max-width:100%;object-fit:contain;margin:0 auto}.intro{max-width:900px;margin:auto;padding:18px 22px 22px;text-align:center}.eyebrow{color:#f9ca7b;text-transform:uppercase;letter-spacing:.23em;font-size:.72rem;font-weight:700;margin:0 0 14px}.intro h1{font:400 clamp(2.3rem,5vw,4.3rem)/1.1 'Playfair Display',Georgia,serif;color:#ffe0a5;margin:0 0 16px}.intro>p:last-child{max-width:660px;margin:0 auto;color:#f7ddc0;font-size:.97rem;line-height:1.6}
.service{max-width:1250px;margin:8px auto 32px;padding:16px 0;border-top:1px solid #dfaa65;border-bottom:1px solid #dfaa65;display:flex;align-items:center;justify-content:space-between;gap:24px}.service-facts{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 18px}.service-facts strong{font:600 clamp(1.05rem,1.5vw,1.4rem) 'Playfair Display',Georgia,serif;color:#ffe0a5}.service-facts span{font-size:.81rem}.service-facts small{width:100%;font-size:.68rem;color:#d9b584;letter-spacing:.03em}.ticket-button{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:230px;padding:13px 16px;background:#f8ca79;color:#440905;text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-size:.7rem;font-weight:700;transition:background .2s}.ticket-button:hover{background:#ffe1a4}.ticket-button span{font-size:1.15rem}
.play{max-width:1250px;margin:0 auto;padding:0 0 80px}.game-layout{display:grid;grid-template-columns:minmax(0,700px) minmax(260px,1fr);gap:clamp(25px,4vw,65px);align-items:start}.painting{width:100%;aspect-ratio:2/3;position:relative;background:#fff}.painting img,.painting canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.painting img{object-fit:fill;user-select:none;-webkit-user-drag:none;z-index:2;mix-blend-mode:multiply;pointer-events:none}.painting canvas{cursor:crosshair;touch-action:manipulation;z-index:1;background:#fff}.painting.complete img{display:none}
.paint-tools{position:sticky;top:18px;padding-top:16px;border-top:2px solid #dca450}.tool-top{display:flex;justify-content:space-between;gap:10px;text-transform:uppercase;letter-spacing:.12em;color:#eac18d;font-size:.63rem}.paint-tools h2{font:400 clamp(2rem,3vw,3rem) 'Playfair Display',Georgia,serif;color:#ffe0a5;margin:27px 0 6px}.tool-help{margin:0 0 22px;color:#f0d6bd;font-size:.9rem}.swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.swatch{min-width:0;aspect-ratio:1;border:1px solid #ffe4b4;background:var(--color);cursor:pointer;color:var(--label);font-weight:700;font-size:.75rem;transition:transform .18s,outline .18s}.swatch:hover{transform:translateY(-2px)}.swatch[aria-pressed="true"]{outline:3px solid #f8ce81;outline-offset:3px;transform:translateY(-2px)}.tool-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:17px;border-top:1px solid #b77953;color:#f2d6b0;font-size:.79rem}.tool-bottom button{border:0;background:none;color:#ffe1a0;text-decoration:underline;cursor:pointer;padding:5px}.small-note{font:italic 1.05rem/1.4 'Playfair Display',Georgia,serif;color:#f5d09b;margin:30px 0 0}.share{max-width:1250px;margin:0 auto 65px;padding:19px 0;border-top:1px solid #b77953;display:flex;align-items:center;gap:19px;color:#f5d6ad;font:italic 1rem 'Playfair Display',Georgia,serif}.share button{margin-left:auto;border:1px solid #e8b66d;background:transparent;color:#ffe0a5;padding:11px 15px;cursor:pointer;text-transform:uppercase;letter-spacing:.09em;font:700 .68rem 'DM Sans',Arial,sans-serif}.share button:hover{background:#e8b66d;color:#440905}.share button span{margin-left:12px}.share #share-status{font:500 .7rem 'DM Sans',Arial,sans-serif}.credits{border-top:1px solid #9e5638;padding:23px clamp(20px,5vw,70px) 29px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;max-width:1370px;margin:auto;text-align:center;color:#f5d6ad}.credits div{min-width:0}.credits strong{display:block;margin-bottom:7px;color:#e8b66d;text-transform:uppercase;font-size:.64rem;letter-spacing:.13em}.credits span{display:block;font-size:.73rem;line-height:1.5}
@media(max-width:1300px){.service,.play,.share{margin-left:clamp(18px,4vw,55px);margin-right:clamp(18px,4vw,55px)}}
@media(max-width:760px){.masthead{padding:16px 10px 0}.intro{padding:18px 20px}.intro h1{font-size:clamp(2.15rem,9vw,3.5rem)}.intro>p:last-child{font-size:.88rem}.service{margin:12px 16px 26px;display:block;padding:13px 0}.service-facts{display:block;text-align:center}.service-facts strong,.service-facts span,.service-facts small{display:block}.service-facts strong{font-size:1.08rem}.service-facts span{margin-top:4px}.service-facts small{line-height:1.5;margin-top:5px}.ticket-button{width:100%;margin-top:14px}.play{margin:0;padding:0 14px 65px}.game-layout{display:flex;flex-direction:column;gap:0}.paint-tools{order:0;width:100%;position:sticky;top:0;z-index:4;background:#4b0503;border-top:2px solid #dca450;padding:10px 3px 11px;box-shadow:0 10px 15px #4b0503ed}.paint-tools h2{font-size:1.4rem;margin:5px 0 1px}.tool-help{font-size:.72rem;margin:0 0 7px}.tool-top{font-size:.53rem}.swatches{display:flex;gap:8px;overflow-x:auto;padding:6px 5px 8px;scrollbar-width:thin}.swatch{flex:0 0 42px;width:42px;height:42px;aspect-ratio:auto}.tool-bottom{margin:0;padding:3px 2px 0;border:0;font-size:.68rem}.small-note{display:none}.painting{order:1}.share{margin:0 16px 45px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;text-align:center}.share button{margin:0}.share #share-status{width:100%}.credits{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px;padding:24px 16px}.credits strong{font-size:.59rem}.credits span{font-size:.67rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.ticket-button,.swatch{transition:none}}
.tool-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
#sound-toggle[aria-pressed="false"]{opacity:.72}
#music-toggle[aria-pressed="false"]{opacity:.72}
@media(max-width:760px){.tool-bottom{align-items:flex-start}.tool-actions{gap:9px}}
.timer{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:18px;padding:8px 0;border-bottom:1px solid #b77953;color:#f5d09b;text-transform:uppercase;letter-spacing:.13em;font-size:.65rem}.timer strong{font:600 1.5rem/1 'DM Sans',Arial,sans-serif;letter-spacing:.08em;font-variant-numeric:tabular-nums}.timer.time-low strong{color:#ff887b}.game-over[hidden]{display:none!important}.game-over{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(24px,6vw,70px);text-align:center;background:rgba(50,5,5,.93);color:#ffe6b8}.game-over-eyebrow{font:700 .72rem 'DM Sans',Arial,sans-serif;text-transform:uppercase;letter-spacing:.22em;color:#e9b976}.game-over h2{font:400 clamp(2rem,4vw,3.7rem)/1.12 'Playfair Display',Georgia,serif;max-width:620px;margin:24px auto 12px}.game-over p{font-size:1rem;line-height:1.5}.game-over button{margin-top:22px;padding:14px 20px;border:1px solid #f5c57c;background:#f5c57c;color:#470504;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700;cursor:pointer}.swatch:disabled{cursor:not-allowed;opacity:.55}
@media(max-width:760px){.timer{margin-top:5px;padding:3px 0;font-size:.52rem}.timer strong{font-size:1.1rem}.game-over h2{font-size:clamp(1.7rem,7vw,2.7rem)}}
