/* One optional digital collection, using the existing Faithful palette and type. */
.play-shell{width:min(960px,calc(100% - 32px));margin-inline:auto}
.play-hero{min-height:0;padding:62px 0 34px;background:linear-gradient(120deg,#102632,#07131c)}
.play-hero h1{font-size:clamp(46px,7vw,72px);line-height:1.05;letter-spacing:-.035em}
.play-hero .lead{max-width:620px;font-size:18px;color:#ddd7d0}
.play-hero .crumbs{font-size:14px;letter-spacing:.02em;text-transform:none}
.play-content{padding:28px 0 64px}
.play-card{border:1px solid #65563f;border-radius:8px;background:#0d202b;overflow:hidden}
#play-stage{min-height:385px;padding:32px 36px;text-align:center}
#play-stage>div{max-width:560px;margin-inline:auto}
#play-stage h2{margin:12px 0 14px;font:500 clamp(30px,5vw,42px)/1.12 var(--serif);color:#f0e5d3;letter-spacing:-.02em}
#play-stage p{font-size:17px;line-height:1.6;color:#c9d2d5;margin:14px auto 22px;max-width:480px}
#play-stage .eyebrow{color:#ff9a38;font-size:14px;letter-spacing:.1em;margin:0 0 12px}
#play-stage .play-small,.play-small{font-size:14px;line-height:1.6;color:#b4c3c9}
.play-emblem{display:inline-flex;align-items:center;justify-content:center;width:100px;height:100px;border-radius:50%;border:1px solid #6f8b87;background:#163d3e;color:#a6ddd2}
.play-emblem svg{width:52px;height:52px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.color-orange .play-emblem,.play-emblem.golden{background:#38281b;border-color:#b47a3a;color:#ffb95e}
.color-purple .play-emblem{background:#2b233b;border-color:#9273af;color:#d7b7ee}
.color-cream .play-emblem{background:#293238;border-color:#a59d88;color:#f0e5d3}
.play-card .button,.play-card .button-quiet{min-height:48px;min-width:48px;padding:12px 20px;font-size:16px;line-height:1.35;white-space:normal}
.play-card .button,.play-reset-confirmation .button{background:linear-gradient(#b44d17,#90350f);color:#fff;border-color:#f2a764}
.play-card button:focus-visible,.play-card a:focus-visible,.play-card summary:focus-visible{outline:3px solid #f8c078;outline-offset:4px}
#play-stage h2:focus{outline:none}
.play-collection{padding:24px 30px;border-top:1px solid #425660;background:#0a1a24}
.play-progress-area{padding:22px 30px;border-bottom:1px solid #425660;background:#0a1a24}
.play-progress-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.play-progress-row strong{font-size:17px;color:#f0e5d3}
.play-progress-row progress{appearance:none;width:100%;height:10px;border:0;border-radius:10px;overflow:hidden;background:#314550;accent-color:#ff9a38}
.play-progress-row progress::-webkit-progress-bar{background:#314550}
.play-progress-row progress::-webkit-progress-value{background:#ff9a38}
.play-progress-row progress::-moz-progress-bar{background:#ff9a38}
.play-collection details>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:#e7d8bf;font-size:16px;font-weight:700;list-style:revert}
.play-collection details>summary:after{content:'+';margin-left:auto;font-size:24px;font-weight:400}
.play-collection details[open]>summary:after{content:'−'}
.ghost-stamps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:16px 0 0;gap:12px}
.ghost-stamp{min-width:0;min-height:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 6px;border:1px solid #425660;border-radius:5px;color:#bac5ca;text-align:center;font-size:14px;line-height:1.4}
.ghost-stamp svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ghost-stamp.is-collected{border-color:#799f8b;background:#16322e;color:#ecedda}
.play-meta{padding:22px 0 0}
.play-meta p{color:#b4c3c9;font-size:14px;line-height:1.65;margin:0 0 14px}
.play-meta a{color:#ffac60;text-decoration:underline;text-underline-offset:3px}
.play-reset{padding:0;margin-top:18px}
.play-reset .button-quiet{font-size:14px;min-height:44px;padding:10px 14px}
.play-reset-confirmation{padding:16px;background:#152934;border:1px solid #566a72;border-radius:5px}
.play-reset-confirmation p{font-size:16px;color:#ecdfcc}
.play-reset-confirmation .action-row{gap:12px}
.play-unavailable .button-quiet{margin-right:8px;margin-bottom:8px}
.play-status{color:#d9e9df;font-size:16px;line-height:1.5;margin:18px 0 0}
.play-status:empty{display:none}
.play-persistence{padding:14px 16px;background:#332a1a;border:1px solid #927249;border-radius:5px;color:#f2dfc3!important}
@media(max-width:600px){.play-hero{padding:42px 0 26px}.play-hero .lead{font-size:17px}.play-content{padding:18px 0 42px}#play-stage{min-height:365px;padding:28px 20px}.play-collection{padding:20px}.ghost-stamps{gap:8px}.ghost-stamp{font-size:14px;min-height:96px}.play-reset-confirmation .action-row>button{flex:1}.play-emblem{width:88px;height:88px}.play-emblem svg{width:46px;height:46px}}
@media(max-width:359px){.play-shell{width:calc(100% - 24px)}#play-stage{padding-inline:16px}.play-collection{padding-inline:16px}.ghost-stamps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.play-card *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

#play-stage>div#hunt-world{max-width:none;text-align:left}
.hunt-mode-choice,.hunt-toolbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px}
.hunt-toolbar{justify-content:space-between;margin-bottom:14px;color:#f0e5d3}
#play-stage #hunt-location{font-size:15px;text-align:left;margin:8px 0 16px;max-width:none;min-height:24px}
#hunt-map{position:relative;margin:16px 0;border:1px solid #52737b;border-radius:8px;overflow:hidden;background:#102c35}
.ghost-map-schematic{height:390px;overflow:auto;position:relative;background:radial-gradient(ellipse at 30% 70%,#254337,#102632 75%)}
.ghost-map-surface{width:100%;height:100%;position:relative;transform-origin:0 0}
.ghost-map-surface>svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}
.ghost-map-surface polyline{stroke:#8fa8a0;stroke-width:1.3;fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ghost-map-pin{position:absolute;transform:translate(-50%,-50%);width:48px!important;height:48px!important;min-width:48px!important;padding:10px!important;border-radius:50%;background:#613411!important;border:2px solid #ffb95e!important;color:#ffe1a2!important;z-index:3;cursor:pointer}
.ghost-map-pin svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2}
.ghost-google-canvas{height:390px;width:100%}
.ghost-google-canvas .ghost-map-pin{position:relative;transform:none}
.ghost-map-pin.is-found{background:#193e37!important;border-color:#8fbaaa!important;color:#cee8df!important}
.ghost-map-pin.is-selected{outline:3px solid #f6e1bb;outline-offset:3px}
.ghost-player-dot{position:absolute;width:14px;height:14px;background:#a5eee6;border:3px solid #fff;border-radius:50%;transform:translate(-50%,-50%);z-index:4;pointer-events:none}
.ghost-map-zoom{position:sticky;bottom:12px;left:12px;width:max-content;display:flex;gap:6px;z-index:5;margin:0 12px 12px}
.ghost-map-zoom button{min-width:44px;min-height:44px;background:#10232e;color:#fff;border:1px solid #90a7af;border-radius:5px;font-size:22px}
#play-stage .ghost-map-credit{font-size:12px;margin:0;padding:9px 12px;background:#071923;max-width:none;text-align:left;color:#d0dcd9}
.ghost-map-credit a{color:#f8cb8a;text-decoration:underline}
#hunt-list summary{display:flex;align-items:center;min-height:44px;font-weight:700;color:#f0e5d3;cursor:pointer}
#hunt-list ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
#hunt-list button{display:flex;align-items:center;gap:8px;width:100%;text-align:left}
#hunt-list button span{margin-left:auto;font-size:13px}
#hunt-list button svg{width:20px;height:20px;fill:none;stroke:currentColor}
.hunt-garden{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:24px 12px;border-radius:10px;background:radial-gradient(ellipse at 60% 50%,#244838,#102632 80%)}
.garden-ghost{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:142px;border:1px solid #a18b62;border-radius:50% 50% 20% 20%;background:#112b32;color:#f5dfbb;padding:16px 8px;font-size:18px;cursor:pointer}
.garden-ghost svg{width:42px;height:42px;stroke:#ffb95e;fill:none;stroke-width:1.8}
.garden-ghost small{font-size:13px;color:#c8d9d4}
.garden-ghost.is-found{background:#1c3e36;color:#b4d5c7;border-color:#5c8e7a}
.hunt-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px auto;max-width:480px}
.hunt-card{min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:2px solid #887454;border-radius:8px;color:#f6e2c2;background:#1b323d;cursor:pointer;font-size:15px}
.hunt-card svg{width:34px;height:34px;fill:none;stroke:#ffb95e;stroke-width:1.8}
.hunt-card.is-open{background:#25483e;border-color:#a6c6b2}
.hunt-card:disabled,.garden-ghost:disabled{opacity:1;cursor:default}
#hunt-encounter>button{margin:6px}
.hunt-pairs{color:#f2e7d2;display:block}
#hunt-nearby{padding-top:12px;text-align:center}
#play-stage #hunt-nudge{margin:-6px 0 16px;max-width:none;padding:12px 16px;border:1px solid #b47a3a;border-radius:8px;background:#38281b;color:#ffd9a8;font-size:16px;font-weight:600;text-align:left}
#hunt-nearby .button.is-nudged{box-shadow:0 0 0 3px #ffb95e}
.play-card [hidden]{display:none!important}
@media(max-width:600px){#play-stage:has(#hunt-world){padding:22px 14px}.ghost-map-schematic,.ghost-google-canvas{height:340px}.hunt-garden{gap:10px;padding:18px 8px;grid-template-columns:repeat(2,minmax(0,1fr))}.garden-ghost{min-height:125px}.hunt-cards{gap:8px}.hunt-card{min-height:95px;font-size:14px}#hunt-list ul{grid-template-columns:1fr}.hunt-toolbar{font-size:15px}.hunt-toolbar .button-quiet{padding:10px 12px}.hunt-mode-choice>*{width:100%}}
