:root{color-scheme:light;--ink:#27231f;--muted:#817d78;--line:#d9d5cf}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#fff;color:var(--ink)}body{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}button,input{font:inherit}button{cursor:pointer}a,button,input{outline-offset:5px}a{color:inherit}.page{min-height:100svh;display:flex;flex-direction:column}.masthead{height:130px;min-height:130px;position:relative;display:flex;align-items:center;justify-content:center}.brand{width:110px;display:block}.brand img{width:100%;height:auto;display:block;filter:none}.languages{position:absolute;top:44px;right:4%;display:flex;gap:15px}.languages button{font-size:12px;background:none;border:0;padding:5px 0;color:var(--muted);letter-spacing:.04em}.languages button[aria-pressed=true]{color:var(--ink);border-bottom:1px solid var(--ink)}.stage{flex:1;display:flex;align-items:center;justify-content:center;padding:12px 5% 25px;min-height:0}.artwork{display:block;width:auto;max-width:100%;height:auto;max-height:64svh;object-fit:contain}footer{padding:30px 6% 24px;text-align:center}nav{display:flex;justify-content:center;align-items:center;gap:38px;flex-wrap:wrap}.text-link{background:none;border:0;border-radius:0;padding:6px 0;color:#58544f;font-size:13px;letter-spacing:.04em;line-height:1.6;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px;transition:color .18s,text-decoration-color .18s}.text-link:hover,.text-link:focus-visible{color:#151310;text-decoration-color:currentColor}.signature{font-size:11px;letter-spacing:.18em;color:#9a958e;margin:20px 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{width:min(560px,calc(100% - 36px));max-height:calc(100svh - 48px);padding:0;border:1px solid #ece9e4;color:var(--ink);background:#fff;overflow:auto;box-shadow:0 12px 80px #00000015}dialog::backdrop{background:#ffffffbd;backdrop-filter:blur(7px)}.panel{position:relative;padding:46px 42px 36px}.close{position:absolute;right:17px;top:12px;background:none;border:0;width:34px;height:34px;font-size:28px;line-height:1;color:#77716a}.overline{font-size:11px;letter-spacing:.17em;color:var(--muted);margin:0 0 18px}h2{font-size:26px;line-height:1.25;font-weight:400;margin:0 0 24px}p{margin:0 0 20px}.panel>p:not(.overline){color:#6d675f;font-size:16px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0 24px;padding-top:22px;border-top:1px solid var(--line)}.facts dt{font-size:12px;color:var(--muted)}.facts dd{font-size:16px;margin:7px 0 0}.panel-action{color:var(--ink);text-decoration-color:var(--line)}label{display:block;font-size:13px;margin:19px 0 5px;color:#625c54}input{display:block;width:100%;padding:12px 0;background:none;border:0;border-bottom:1px solid #bdb7ae;border-radius:0;color:var(--ink);font-size:16px}input:focus{border-bottom-color:var(--ink)}.form-note{font-size:12px;line-height:1.6;color:var(--muted);margin:22px 0}.button{width:100%;background:var(--ink);color:white;border:1px solid var(--ink);border-radius:0;padding:15px 12px;font-size:14px;line-height:1.4}.button:hover{background:#494036}.button:disabled{opacity:.5;cursor:wait}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#form-status{font-size:13px;margin:15px 0 0;color:#63513d}.intro{margin-bottom:25px}@media(min-width:1600px){.masthead{height:145px;min-height:145px}.artwork{max-height:65svh}footer{padding-bottom:30px}}@media(max-width:600px){.masthead{height:115px;min-height:115px}.brand{width:92px}.languages{top:26px;right:6%;gap:12px}.languages button{font-size:11px}.stage{padding:10px 5%;align-items:center}.artwork{width:100%;height:auto;max-height:65svh}footer{padding:25px 6% 30px}nav{gap:15px 25px}.text-link{font-size:12px}.signature{margin-top:18px;font-size:10px}.panel{padding:44px 25px 30px}h2{font-size:23px}.panel>p:not(.overline){font-size:16px}.facts{grid-template-columns:1fr 1fr;gap:16px}}@media(max-height:600px) and (min-width:601px){.masthead{height:85px;min-height:85px}.brand{width:75px}.languages{top:24px}.artwork{max-height:58svh}footer{padding:10px 5% 14px}.signature{margin-top:8px}}@media(prefers-reduced-motion:reduce){.text-link{transition:none}} 

.story-copy{color:#6d675f;font-size:16px}.story-copy p{margin:0 0 20px}.story-copy strong{font-weight:600;color:var(--ink)}
/* Raise the two navigation links while preserving the artwork placement. */
footer nav{position:relative;top:-24px}
@media(max-width:600px){footer nav{top:calc(-1 * clamp(54px,11svh,96px))}}
@media(max-height:600px) and (min-width:601px){footer nav{top:-12px}}

/* Immersive story and purchase scenes. */
#story-panel,#request-panel{width:100%;height:100svh;max-width:none;max-height:none;margin:0;border:0;overflow-y:auto;background:#252b31;isolation:isolate;padding:clamp(28px,5vh,64px) 5%;overscroll-behavior:contain}
#story-panel::before,#request-panel::before{content:"";position:fixed;inset:0;z-index:-1;background-size:cover;background-repeat:no-repeat;background-position:center;pointer-events:none}
#story-panel::before{background-image:linear-gradient(90deg,rgba(12,24,37,.05),rgba(12,24,37,.24)),url('assets/story-architecture-v2.webp')}
#request-panel::before{background-image:url('assets/request-scene-v2.webp');background-position:35% center}
#story-panel .panel,#request-panel .panel{width:min(100%,490px);margin-left:auto;background:rgba(255,253,249,.96);padding:42px 38px 34px;box-shadow:0 12px 60px #0003}
#story-panel .panel{width:min(100%,550px)}
#story-panel h2{font-size:29px;max-width:430px}
#story-panel .close,#request-panel .close{position:fixed;top:14px;right:14px;z-index:5;width:38px;height:38px;border-radius:50%;background:#fff;color:#29231f;box-shadow:0 2px 12px #0002}
#request-panel .panel{margin-top:max(0px,calc((100svh - 680px)/2))}
@media(max-width:700px){
#story-panel,#request-panel{padding:0 18px 24px;background:#eae4dc}
#story-panel::before,#request-panel::before{height:42svh;bottom:auto;position:absolute}
#story-panel::before{background-position:center 35%}
#request-panel::before{background-position:22% center}
#story-panel .panel,#request-panel .panel{position:relative;width:100%;margin:34svh auto 0;padding:30px 24px;box-shadow:0 8px 40px #0002;background:#fffdf9}
#story-panel h2{font-size:25px}
#story-panel .close,#request-panel .close{top:12px;right:12px}
}
.artwork-source{display:contents}
/* Desktop glass surfaces. */
@media(min-width:701px){
#story-panel .panel,#request-panel .panel{background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.04)),rgba(17,25,34,.65);-webkit-backdrop-filter:blur(28px) saturate(145%);backdrop-filter:blur(28px) saturate(145%);border:1px solid rgba(255,255,255,.42);border-radius:26px;box-shadow:inset 0 1px 0 rgba(255,255,255,.48),inset 1px 0 0 rgba(255,255,255,.13),0 20px 70px rgba(0,0,0,.28);color:#fff;--ink:#fff;--muted:rgba(255,255,255,.76);--line:rgba(255,255,255,.24)}
#story-panel .story-copy,#story-panel .panel>p,#request-panel .panel>p,#request-panel label,#request-panel #form-status{color:rgba(255,255,255,.92)}
#story-panel .overline,#request-panel .overline,#request-panel .form-note{color:rgba(255,255,255,.76)}
#story-panel .story-copy strong,#story-panel .text-link,#request-panel input{color:#fff}
#request-panel input{border-bottom-color:rgba(255,255,255,.45)}
#request-panel input::placeholder{color:rgba(255,255,255,.66);opacity:1}
#request-panel input:focus{border-bottom-color:#fff}
#request-panel .button{background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.7);border-radius:12px;color:#252b31;box-shadow:inset 0 1px 0 #fff}
#request-panel .button:hover{background:#fff}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){#story-panel .panel,#request-panel .panel{background:rgba(25,32,41,.94)}}
}
.mobile-scene,.mobile-scene-close{display:none}
/* Portrait photographs and glass cards are scoped to mobile only. */
@media(max-width:700px){
.masthead{height:110px;min-height:110px}
.stage{padding:0 5%}
.artwork{width:auto;height:calc(100svh - 240px);max-height:none;max-width:100%;object-fit:contain}
footer{padding:18px 6% max(52px,env(safe-area-inset-bottom));}
footer nav{top:0;gap:12px 24px}
#story-panel,#request-panel{padding:0 16px 32px;background:#18232c;scroll-padding-top:24px}
#story-panel::before,#request-panel::before{position:fixed;inset:0;height:100svh;background-position:center;background-size:cover}
#story-panel::before{background-image:linear-gradient(#0717241a,#07172433),url('assets/mobile-story.jpeg')}
#request-panel::before{background-image:url('assets/mobile-request.jpeg')}
#story-panel .panel,#request-panel .panel{width:100%;margin:28svh auto 0;padding:32px 24px;background:linear-gradient(145deg,#ffffff2b,#ffffff0a),#111922a6;-webkit-backdrop-filter:blur(24px) saturate(145%);backdrop-filter:blur(24px) saturate(145%);border:1px solid #ffffff6b;border-radius:24px;box-shadow:inset 0 1px 0 #ffffff7a,0 16px 50px #0004;color:#fff;--ink:#fff;--muted:#ffffffc2;--line:#ffffff3d}
#request-panel .panel{margin-top:58svh}
#story-panel .story-copy,#story-panel .panel>p,#request-panel .panel>p,#request-panel label,#request-panel #form-status{color:#ffffffeb}
#story-panel .overline,#request-panel .overline,#request-panel .form-note{color:#ffffffc2}
#story-panel .story-copy strong,#story-panel .text-link,#request-panel input{color:#fff}
#request-panel input{border-bottom-color:#ffffff73}
#request-panel input::placeholder{color:#ffffffb3;opacity:1}
#request-panel input:focus{border-bottom-color:#fff}
#request-panel .button{background:#fffffff0;border:1px solid #ffffffb3;border-radius:12px;color:#252b31}
#story-panel .close,#request-panel .close{position:absolute;top:10px;right:10px;width:32px;height:32px}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){#story-panel .panel,#request-panel .panel{background:#192029f0}}
}
/* Mobile alternative: complete photograph above the glass content. */
@media(max-width:700px){
#story-panel,#request-panel{padding-top:16px}
#story-panel::before,#request-panel::before{filter:blur(34px) brightness(.55);transform:scale(1.08)}
.mobile-scene{display:block;width:100%;height:62svh;object-fit:contain;position:relative;z-index:0}
#story-panel .panel,#request-panel .panel{margin:20px auto 0;padding:30px 24px}
#story-panel .panel .close,#request-panel .panel .close{display:none}
#story-panel .mobile-scene-close,#request-panel .mobile-scene-close{display:block;position:fixed;top:12px;right:12px;z-index:10}
}

/* Authenticity page: existing scene, typography and glass surface. */
.verify-body{background:#18232c}
.verify-body .masthead{background:#fff}
.verification-page{flex:1;position:relative;isolation:isolate;display:flex;align-items:center;justify-content:flex-end;padding:48px 5%;background:#18232c}
.verification-page::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0c18251a,#0c18254d),url('assets/request-scene-v2.webp') 35% center/cover}
.verification-page .panel{width:min(100%,520px);background:linear-gradient(145deg,#ffffff2b,#ffffff0a),#111922c9;-webkit-backdrop-filter:blur(28px) saturate(145%);backdrop-filter:blur(28px) saturate(145%);border:1px solid #ffffff6b;border-radius:26px;box-shadow:inset 0 1px 0 #ffffff7a,0 20px 70px #0004;color:#fff;--ink:#fff;--muted:#ffffffc2;--line:#ffffff3d}
.verification-page h1{font-size:29px;line-height:1.25;font-weight:400;margin:0 0 24px}
.verification-page .panel>p,.verification-page label,.verification-page input{color:#ffffffeb}
.verification-page input{border-bottom-color:#ffffff73;font-size:14px;letter-spacing:.035em}
.verification-page input::placeholder{color:#ffffffa8;opacity:1;font-size:12px;letter-spacing:0}
.verification-page input:focus{border-bottom-color:#fff}
.verification-page input[aria-invalid=true]{border-bottom-color:#ffb59d}
.verification-page .code-hint{font-size:10px;color:#ffffffb3;margin:8px 0 24px;letter-spacing:.025em}
.verification-page .button{background:#fffffff0;border:1px solid #ffffffb3;border-radius:12px;color:#252b31}
.verification-page .button:hover{background:#fff}
.verification-page .text-link{color:#fff}
.verification-page .form-note{color:#ffffffc2;font-size:12px;margin-bottom:14px}
#verify-status:empty{display:none}
#verify-status{margin-top:24px;border-top:1px solid var(--line);padding-top:20px;font-size:15px}
#verify-status p{margin:0}
#verify-status[data-state=found]>p:first-child{color:#a4dbb8;font-size:18px;line-height:1.45;font-weight:500}
#verify-status[data-state=found]>p:first-child::before{content:"";display:inline-block;width:6px;height:11px;margin:0 14px 2px 3px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.verification-page .panel{background:#192029f5}}
@media(max-width:700px){
 .verification-page{padding:32px 16px;align-items:flex-start;justify-content:center}
 .verification-page::before{background-image:linear-gradient(#07172480,#071724b3),url('assets/mobile-request.jpeg');background-position:center}
 .verification-page .panel{padding:30px 24px;border-radius:24px}
 .verification-page h1{font-size:25px}
 .verification-page input{font-size:16px;letter-spacing:0}
 .verification-page .facts{grid-template-columns:1fr}
}


.verification-page #verify-status + .text-link{margin-top:18px}

/* A new game, presented as a sticker at the first image. */
.stage{position:relative}
.game-sticker{position:absolute;left:7%;top:2px;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:0;text-decoration:none;transform:rotate(-7deg);transition:transform .2s;filter:drop-shadow(0 5px 8px #58321c24)}
.game-sticker-new{position:relative;z-index:1;margin:0 0 -5px 12px;padding:3px 10px;background:#fff7e8;border:1px solid #eaa264;border-radius:5px;color:#8a421d;font-size:9px;font-weight:700;letter-spacing:.16em;line-height:1.4;transform:rotate(4deg)}
.game-sticker-label{display:flex;align-items:center;gap:14px;padding:13px 18px;background:#ee792b;border:2px solid #fff5e5;border-radius:10px;color:#fff9ed;font-size:15px;font-weight:700;letter-spacing:.045em;line-height:1.2;box-shadow:inset 0 0 0 1px #b6542529}
.game-sticker-label>span{font-size:22px;line-height:1}
.game-sticker:hover,.game-sticker:focus-visible{transform:rotate(-3deg) translateY(-2px)}
@media(max-width:700px){.game-sticker{left:7%;top:-14px}.game-sticker-label{padding:11px 14px;font-size:13px;gap:12px}.game-sticker-new{font-size:8px;padding:3px 8px}}
