.treasure-page{max-width:1380px;margin:auto;padding:38px 24px 70px;color:var(--ink,#273a37)}.treasure-intro{text-align:center;max-width:760px;margin:0 auto 26px}.treasure-intro h1{font:clamp(38px,5vw,65px)/1.12 Georgia,serif;margin:16px 0}.treasure-intro p{font-size:17px;line-height:1.7}.treasure-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.treasure-lane{min-width:0;text-align:center}.treasure-art{width:100%;aspect-ratio:1/2;border-radius:18px 18px 0 0;background-image:url(treasure/day-closed.webp);background-size:300% 100%;background-repeat:no-repeat}.treasure-lane:nth-child(2) .treasure-art{background-position:50% 0}.treasure-lane:nth-child(3) .treasure-art{background-position:100% 0}.treasure-lane.is-open .treasure-art{background-image:url(treasure/day-open.webp);box-shadow:inset 0 -90px 55px -30px #50f5bc66}.treasure-page[data-scene=night] .treasure-art{background-image:url(treasure/night-closed.webp)}.treasure-page[data-scene=night] .is-open .treasure-art{background-image:url(treasure/night-open.webp)}.treasure-copy{border:1px solid #bb9f6866;border-top:4px solid #826742;border-radius:0 0 10px 10px;padding:25px 18px;background:#fff8e9;color:#273a37;min-height:330px}.treasure-copy h2{font:28px Georgia,serif;margin:18px 0}.treasure-copy h3{font-size:17px;margin:12px 0}.treasure-copy p{line-height:1.7}.treasure-status{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:1px}.treasure-status::before{content:'';width:10px;height:10px;border-radius:50%;background:#a08250;flex-shrink:0}.treasure-status.active::before{background:#398056}.treasure-status.found::before{background:#b95748}.treasure-copy .button{display:block;width:100%;margin-top:12px;white-space:normal;background:#244e49;color:#fff;border:1px solid #244e49;min-height:46px;padding:12px;border-radius:6px;text-decoration:none;cursor:pointer}.treasure-copy label{display:block;text-align:left;font-size:13px}.treasure-copy input{box-sizing:border-box;width:100%;padding:12px;border:1px solid #997d55;border-radius:7px;font:inherit;background:#fff;color:#273a37}.treasure-winners{padding:18px 8px}.treasure-winners h3{font:21px Georgia}.treasure-winners li{margin:10px 0;text-align:left}.treasure-winners p{font-size:13px}.treasure-reference{margin:16px auto;padding:12px;background:#ebdfc5;border-radius:10px}.treasure-reference img{display:block;max-width:100%;width:110px;height:95px;object-fit:contain;margin:auto}.treasure-reference figcaption{font-size:12px;margin-top:6px}.treasure-rules{max-width:760px;margin:32px auto;padding:22px;border:1px solid #98784566;border-radius:12px;line-height:1.7}.treasure-note{min-height:24px;text-align:center}.treasure-join{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;margin:20px 0 30px}.treasure-join label{display:flex;align-items:center;gap:8px}.treasure-claim{max-width:650px;margin:25px auto;padding:24px;border:2px solid #8b6840;border-radius:12px;background:#fff8e8;color:#3b3029}.treasure-claim label{display:block;margin:12px 0}.treasure-claim input,.treasure-claim textarea{box-sizing:border-box;display:block;width:100%;padding:10px;font:inherit}.treasure-claim button{padding:12px 20px}.treasure-page [hidden]{display:none!important}.treasure-lane.is-activated .treasure-copy{box-shadow:0 0 22px #56cfaf55;border-color:#35977c}.treasure-page[data-scene=night] .treasure-copy{background:#162f36;color:#f2e5cd}.treasure-page[data-scene=night] .treasure-reference{background:#23464c}.treasure-page[data-scene=night] .treasure-copy .button{background:#b28b4e;color:#101e22;border-color:#d6b176}.treasure-page[data-scene=night] .treasure-status.active::before{background:#aeeacd}.treasure-page button:focus-visible,.treasure-page a:focus-visible,.treasure-page input:focus-visible{outline:3px solid #dba746;outline-offset:3px}@media(max-width:1050px){.treasure-board{grid-template-columns:1fr;max-width:440px;margin:auto}.treasure-page{padding:22px 16px}.treasure-copy{min-height:0}}



.treasure-note:empty{display:none}

/* Keep code entry on the beach and share the three card row heights. */
.treasure-lane{display:flex;flex-direction:column}.treasure-copy{flex:1}.treasure-scene{position:relative;min-width:0}.treasure-code{position:absolute;left:7%;right:7%;bottom:18px;margin:0;color:#38291b}.treasure-code-row{display:flex;gap:6px;padding:5px;background:#fff8e9ed;border:1px solid #8e6a3b;border-radius:9px;box-shadow:0 4px 15px #241b2440}.treasure-code input{min-width:0;width:100%;box-sizing:border-box;border:0;border-radius:5px;background:#fffaf2;color:#38291b;font:inherit;font-size:16px;line-height:1.2;padding:10px}.treasure-code button{flex-shrink:0;border:1px solid #244e49;border-radius:5px;background:#244e49;color:#fff;font:inherit;font-size:13px;font-weight:700;padding:10px 13px;cursor:pointer;min-height:44px}.treasure-code input:disabled{opacity:1;-webkit-text-fill-color:#6c5c48}.treasure-code button:disabled{background:#66563f;border-color:#66563f;cursor:default}.treasure-code p{display:table;margin:5px auto 0;padding:2px 7px;border-radius:4px;background:#fff8e9eb;color:#38291b;font-size:11px;line-height:1.35}.treasure-code-unlocked{padding:12px;border:1px solid #abdfbb;border-radius:8px;background:#244e49ed;color:#fff8e9;font-weight:700;box-shadow:0 0 20px #56cfaf66}.treasure-page[data-scene=night] .treasure-code-row{background:#162f36ed;border-color:#c39f68}.treasure-page[data-scene=night] .treasure-code p{background:#162f36ed;color:#f2e5cd}
@supports(grid-template-rows:subgrid){@media(min-width:1051px){.treasure-board{row-gap:0}.treasure-lane{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}}}
@media(max-width:1050px){.treasure-code{bottom:12px}.treasure-board{row-gap:26px}}

/* Keep the original compact banner height; photos retain their real proportions. */
body[data-page="marble-hunts"] .treasure-intro{display:grid;grid-template-columns:minmax(130px,200px) minmax(0,1fr) minmax(130px,200px);align-items:center;gap:24px;max-width:none;min-height:0;padding-top:0;margin-bottom:26px}
body[data-page="marble-hunts"] .treasure-studio-mark{position:static;display:block;width:145px;max-width:100%;justify-self:center}
body[data-page="marble-hunts"] .treasure-studio-mark img{display:block;width:100%;height:auto;object-fit:contain}
body[data-page="marble-hunts"] .treasure-intro-copy{min-width:0;transform:none;padding-top:0;align-self:auto}body[data-page="marble-hunts"] .treasure-intro h1{font-size:clamp(36px,4.6vw,65px);margin:0;text-shadow:none}
body[data-page="marble-hunts"] .treasure-intro p{margin:14px auto 0;max-width:760px;text-wrap:pretty;text-shadow:none}
body[data-page="marble-hunts"] .treasure-marble-spill{position:static;display:block;opacity:.88;width:160px;max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain;justify-self:center;border-radius:0;box-shadow:none;-webkit-mask-image:radial-gradient(ellipse at center,#000 70%,#000c 90%,transparent 100%);mask-image:radial-gradient(ellipse at center,#000 70%,#000c 90%,transparent 100%)}
@media(min-width:721px) and (max-width:1050px){body[data-page="marble-hunts"] .treasure-intro{grid-template-columns:110px minmax(0,1fr) 120px;gap:20px}body[data-page="marble-hunts"] .treasure-studio-mark{width:110px}body[data-page="marble-hunts"] .treasure-marble-spill{width:120px}body[data-page="marble-hunts"] .treasure-intro h1{font-size:40px}body[data-page="marble-hunts"] .treasure-intro p{font-size:15px}}
@media(max-width:720px){body[data-page="marble-hunts"] .treasure-intro{grid-template-columns:44px minmax(0,1fr) 50px;gap:12px 8px;max-width:440px;margin-bottom:26px}body[data-page="marble-hunts"] .treasure-studio-mark{width:44px;grid-column:1;grid-row:1}body[data-page="marble-hunts"] .treasure-marble-spill{width:50px;grid-column:3;grid-row:1}body[data-page="marble-hunts"] .treasure-intro-copy{display:contents}body[data-page="marble-hunts"] .treasure-intro h1{grid-column:2;grid-row:1;font-size:clamp(25px,6.8vw,36px);margin:0;text-shadow:none}body[data-page="marble-hunts"] .treasure-intro p{grid-column:1/-1;grid-row:2;font-size:16px;margin:0;text-shadow:none}}

/* Photos follow the selected period only; Dark View changes page colors. */
.treasure-page[data-crew=striped] .treasure-art{background-image:url(treasure/striped-sunset-closed.webp)}
.treasure-page[data-crew=striped] .is-open .treasure-art{background-image:url(treasure/striped-sunset-open.webp)}
/* Readable text and controls in every scene, including sunset and Dark View. */
.treasure-rules{background:var(--panel-solid,#f6f0e5);border-color:var(--line);color:var(--ink)}
.treasure-intro,.treasure-winners,.treasure-note{color:var(--ink)}
.treasure-page .treasure-rules .button.primary,.treasure-page .treasure-claim button{background:#244e49;color:#fff;border:1px solid #244e49}
.treasure-page[data-tone=dark] .treasure-rules .button.primary{background:#d6b176;color:#172c32;border-color:#d6b176}
.treasure-copy :is(h2,h3,p),.treasure-reference figcaption,.treasure-claim :is(h2,p,label){color:inherit}
.treasure-claim{color-scheme:light}.treasure-claim :is(input,textarea){background:#fff;color:#273a37;border:1px solid #897450;border-radius:5px}
.treasure-claim a{color:#244e49;text-decoration:underline}.treasure-claim button{border-radius:6px;cursor:pointer}

body[data-page="marble-hunts"] .site-footer :is(.footer-copy,.footer-nav a,.footer-bottom){color:var(--ink)}

/* Switch text and backdrop together, avoiding low-contrast flashes between scenes. */
body[data-page="marble-hunts"]{transition:none}

/* The uploaded reference rests on the stand inside the available chest. */
.treasure-chest-object{position:absolute;left:81.65%;top:72.3%;width:10.5%;aspect-ratio:1;margin:0;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 2px 3px #0008)}
.treasure-chest-object img{display:block;width:100%;height:100%;object-fit:contain}
.treasure-lane[data-lane=insider] .treasure-chest-object{left:52.8%}
.treasure-lane[data-lane=code] .treasure-chest-object{left:37.1%}
.treasure-chest-object figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

body[data-page="marble-hunts"] .treasure-intro h1{font-size:clamp(26px,3.4vw,46px)}

/* Keep the opening explanation smaller while preserving readable contrast. */
.treasure-copy .treasure-opening-note{font-size:13px;line-height:1.6;margin:12px auto 20px;max-width:34em}.treasure-copy .treasure-audience{font-size:14px;line-height:1.6}
