@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;700&family=DM+Sans:wght@400;500;700&display=swap');
:root{color-scheme:dark;--ink:#f4eee5;--muted:#b5aebe;--gold:#f7bd59;--line:#55415c;--panel:#211b2b}*{box-sizing:border-box}html{background:#100c17}body{margin:0;color:var(--ink);font:16px/1.55 'DM Sans',system-ui,sans-serif;background:radial-gradient(circle at 88% 7%,#402033 0,transparent 29rem),radial-gradient(circle at 0% 85%,#2a253d 0,transparent 32rem),#100c17;min-height:100vh}.site-shell{max-width:760px;min-height:100vh;margin:auto;padding:0 22px;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:24px 0;border-bottom:1px solid #ffffff25}.brand{color:var(--ink);text-decoration:none;font:700 14px/1.2 'Cinzel',serif;letter-spacing:.08em}.brand span{color:var(--gold);font-size:25px;vertical-align:-3px;margin-right:7px}.event-tag,.eyebrow{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.18em}.event-tag{text-align:right;color:#d39eaa}.hero{padding:62px 0 38px}.hero h1,.scene-head h1{font:700 clamp(2.7rem,9vw,5.2rem)/1.08 'Cinzel',Georgia,serif;letter-spacing:-.035em;margin:13px 0 24px}.hero em{font-style:normal;color:var(--gold)}.lead{font-size:1.12rem;color:#d9d2dc;max-width:570px}.panel,.video-card{background:linear-gradient(140deg,#2d2335,#1c1828);border:1px solid var(--line);box-shadow:0 16px 45px #0005;border-radius:18px;padding:28px;margin:20px 0}.panel h2,.rules h2{font:700 1.65rem/1.2 'Cinzel',serif;margin:8px 0 15px}.panel p{color:#d8d1dd}label{display:block;margin:20px 0 8px;font-weight:700}input{width:100%;background:#110e18;color:var(--ink);border:1px solid #816582;border-radius:10px;padding:15px 16px;font:inherit;outline:none}input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #f7bd5930}.button{width:100%;border:0;border-radius:10px;background:var(--gold);color:#241524;font:700 15px 'DM Sans',sans-serif;padding:16px;margin-top:16px;cursor:pointer;display:flex;justify-content:space-between}.button:hover{background:#ffd386}.notice,.error{border-radius:9px;padding:12px 15px}.notice{background:#453047;color:#fff}.error{background:#572a37;color:#ffe1e1!important}.rules{padding:33px 0}.rules ol{padding-left:24px;color:var(--muted)}.rules li{margin:8px 0}footer{margin-top:auto;border-top:1px solid #ffffff25;color:#978d9c;font-size:12px;padding:25px 0}.progress-panel{display:grid;grid-template-columns:1fr auto}.progress-number{color:var(--gold);font:700 2.7rem 'Cinzel',serif}.progress-number span{color:#8f8391;font:500 1rem 'DM Sans',sans-serif}.progress-track{height:7px;background:#52425a;border-radius:9px;grid-column:1/-1;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--gold)}.progress-panel>.eyebrow,.progress-panel>.clue,.progress-panel>.hint,.progress-panel>p{grid-column:1/-1}.clue{font:500 1.25rem/1.5 'Cinzel',serif;color:var(--ink)!important}.hint,.last-step{color:var(--muted);font-size:14px}.finish-time{font:700 2rem 'Cinzel',serif;color:var(--gold)!important}.scene-head{padding:55px 0 15px}.scene-head h1{font-size:clamp(2.3rem,8vw,4.3rem)}.story{color:#ded3dd;font-size:1.1rem}.puzzle h2{font:500 1.25rem/1.5 'DM Sans',sans-serif}.video-card{padding:18px 22px}.text-button{background:none;border:0;color:var(--gold);font:700 15px 'DM Sans',sans-serif;cursor:pointer;padding:0 0 12px}iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:9px}@media(max-width:420px){.site-shell{padding:0 16px}.event-tag{font-size:9px}.panel{padding:22px}.hero{padding-top:43px}}

.rewards{margin:36px 0}.rewards h2{font:700 1.65rem/1.2 'Cinzel',serif}.reward-card{border-color:#977046;margin:14px 0}.reward-card h3{font:700 1.35rem/1.3 'Cinzel',serif;margin:8px 0}.reward-card a{color:var(--gold);font-weight:700}

.mirror-inscription{display:block;margin:24px 0;padding:24px 10px;border:1px solid var(--gold);border-radius:12px;color:var(--gold);font:700 clamp(1.5rem,7vw,2.5rem)/1.25 'Cinzel',serif;letter-spacing:.1em;text-align:center;transform:scaleX(-1)}.mirror-alternative{color:var(--muted);font-size:14px}.mirror-alternative summary{cursor:pointer;text-decoration:underline}.mirror-alternative p{color:var(--ink)}

.pairing-code{font:700 clamp(2rem,9vw,3rem)/1.2 'Cinzel',serif;color:var(--gold)!important;letter-spacing:.18em;text-align:center;padding:10px 0}
