:root {
  --color-bg:#faf6ef; --color-surface:#fffdf8; --color-text:#302b28;
  --color-muted:#716660; --color-primary:#6c2134; --color-primary-hover:#521627;
  --color-gold:#f3ce80; --color-border:#e4dcd1; --color-success:#286349;
  --color-error:#9f3043; --theme:#af512a; --theme-light:#fff0dd;
  --font-display:'Golos Text',sans-serif; --font-body:'Nunito',sans-serif;
  --text-xs:clamp(.75rem,.72rem + .1vw,.8125rem);
  --text-sm:clamp(.875rem,.83rem + .15vw,.9375rem);
  --text-base:clamp(1rem,.97rem + .15vw,1.0625rem);
  --text-lg:clamp(1.125rem,1rem + .5vw,1.375rem);
  --text-xl:clamp(1.5rem,1.15rem + 1.2vw,2.25rem);
  --text-2xl:clamp(2rem,1.45rem + 2vw,3rem);
  --text-hero:clamp(2rem,1.4rem + 2.7vw,3.75rem);
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem;
  --space-12:3rem; --space-16:4rem; --space-20:5rem; --space-24:6rem;
  --radius-sm:6px; --radius-md:12px; --radius-lg:20px; --radius-xl:28px;
  --ease:cubic-bezier(.16,1,.3,1); --transition:180ms var(--ease);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:var(--space-8);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}
body{font:400 var(--text-base)/1.6 var(--font-body);background:var(--color-bg);color:var(--color-text);min-width:320px}
[hidden]{display:none!important}
img,svg,canvas{display:block;max-width:100%;height:auto}
button,input{font:inherit;color:inherit}
button,a,input,summary{touch-action:manipulation}
button{cursor:pointer;border:0}
button:disabled{cursor:wait}
a{color:inherit;text-underline-offset:4px}
button,a,input,summary{transition:background-color var(--transition),color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition)}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #ba7a29;outline-offset:4px}
h1,h2,h3{font-family:var(--font-display);line-height:1.12;text-wrap:balance;font-weight:700}
h2{font-size:var(--text-2xl);letter-spacing:-.045em}
h3{font-size:var(--text-lg);letter-spacing:-.025em}
p{max-width:70ch;text-wrap:pretty}
.icon{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.skip-link{position:fixed;left:var(--space-4);top:-100px;background:white;padding:var(--space-4);z-index:100}
.skip-link:focus{top:var(--space-4)}
.site-header{max-width:1440px;margin:auto;display:flex;align-items:center;gap:var(--space-10);padding:var(--space-5) var(--space-12);min-height:100px}
.brand{display:block;flex-shrink:0}
.brand img{width:166px;height:54px;object-fit:contain;object-position:left center}
.header-nav{display:flex;gap:var(--space-8);margin-left:auto;font-size:var(--text-sm);font-weight:700}
.header-nav a{text-decoration:none;min-height:44px;display:flex;align-items:center}
.header-nav a:hover{color:var(--color-primary)}
.header-date{font-size:var(--text-xs);line-height:1.5;padding-left:var(--space-8);border-left:1px solid var(--color-border)}
.header-date span{display:block;color:var(--color-muted)}
.header-date strong{font-weight:800;font-size:var(--text-sm)}
.section-wrap{max-width:1264px;margin:auto;padding-inline:var(--space-12)}
.hero{position:relative;max-width:1440px;margin:auto;min-height:610px;overflow:hidden;background:var(--color-primary)}
.hero-art{position:absolute;inset:0 0 0 34%;overflow:hidden}
.hero-art img{height:100%;width:100%;object-fit:cover;object-position:48% center}
.hero-panel{position:relative;z-index:1;width:47%;min-height:610px;padding:var(--space-12);padding-left:max(var(--space-12),calc((100vw - 1264px)/2 + 48px));background:var(--color-primary);color:#fff6e9;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}
.eyebrow{font:700 var(--text-xs)/1.4 var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--color-primary);margin-bottom:var(--space-4)}
.eyebrow.light{color:#f0d4c3}
.program-label{font-size:var(--text-sm);font-weight:700;margin-bottom:var(--space-5);color:var(--color-gold)}
.hero h1{font-size:var(--text-hero);letter-spacing:-.055em;line-height:1.06;max-width:100%;margin-bottom:var(--space-6)}
.hero h1 span{color:var(--color-gold)}
.hero-description{font-size:var(--text-lg);margin-bottom:var(--space-8);line-height:1.5}
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-4);font-weight:800;font-size:var(--text-sm);min-height:56px;padding:var(--space-4) var(--space-6);border:1px solid transparent;border-radius:var(--radius-md);text-decoration:none;line-height:1.4}
.button:hover{transform:translateY(-2px)}
.button:active{transform:translateY(0)}
.button-primary{background:var(--color-primary);color:white}
.button-primary:hover{background:var(--color-primary-hover)}
.button-gold{background:var(--color-gold);color:#48242c}
.button-gold:hover{background:#ffe0a4}
.button-outline{background:transparent;border-color:var(--color-border);color:var(--color-text)}
.button-outline:hover{background:#f0e9df}
.button:disabled{opacity:.7;transform:none}
.button.is-loading .icon{animation:spin 1s linear infinite}
.full{width:100%}
.hero-caption{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-6);font-size:var(--text-xs);color:#efdace;line-height:1.5}
.hero-result{position:absolute;right:var(--space-8);bottom:var(--space-8);background:var(--color-surface);color:var(--color-primary);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);box-shadow:0 4px 24px #2d1a2526}
.hero-result b{display:block;font-family:var(--font-display);font-size:var(--text-lg)}
.intro{padding-block:var(--space-20) var(--space-12)}
.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-12);margin-bottom:var(--space-10)}
.section-description{max-width:430px;color:var(--color-muted)}
.week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}
.destination{padding:var(--space-5);min-width:0;min-height:300px;display:flex;flex-direction:column;position:relative;border-radius:var(--radius-md);border:1px solid #2c21150a;overflow:hidden}
.destination-mexico{background:#f7e4cc;color:#92451f}
.destination-japan{background:#f2dce0;color:#973b51}
.destination-caucasus{background:#dee8dc;color:#365d45}
.destination-russia{background:#dfe6ee;color:#37587d}
.destination-top,.destination-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--text-xs);font-weight:700}
.destination-top b{opacity:.65;letter-spacing:.12em}
.destination .destination-icon{width:74px;height:74px;stroke-width:1.2;margin-block:var(--space-6);align-self:center}
.destination h3{font-size:var(--text-lg);margin-bottom:var(--space-2)}
.destination p{font-size:var(--text-sm);line-height:1.5}
.destination-bottom{border-top:1px dashed currentColor;margin-top:auto;padding-top:var(--space-4);margin-bottom:0;opacity:.8}
.destination>div:nth-of-type(2){margin-bottom:var(--space-6)}
.destination-bottom .icon{width:18px;height:18px}
.prizes{padding-block:var(--space-12) var(--space-20)}
.prize-grid{display:grid;grid-template-columns:1.12fr 1fr 1fr;gap:var(--space-4)}
.prize{border-radius:var(--radius-md);padding:var(--space-6);background:#eee8df;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.prize-main{grid-row:span 2;background:var(--color-primary);color:#fff6e9;min-height:420px;position:relative;overflow:hidden}
.prize-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-8)}
.place{display:inline-flex;font-weight:800;font-size:var(--text-xs);letter-spacing:.04em;white-space:nowrap}
.prize-main .place{color:var(--color-gold)}
.prize .prize-illustration{width:100px;height:100px;color:var(--color-gold);stroke-width:1;margin:auto var(--space-2) var(--space-8)}
.prize h3{font-size:var(--text-xl);margin-top:var(--space-2);margin-bottom:var(--space-3)}
.prize-main h3{font-size:var(--text-2xl)}
.prize-type,.prize-note,.prize-program{font-size:var(--text-sm)}
.prize-note{color:var(--color-muted)}
.prize-main .prize-note{color:#efdace}
.prize-program{color:var(--color-gold);font-weight:800;border-top:1px solid #ffffff26;padding-top:var(--space-5);margin-top:var(--space-6)}
.prize-secondary{min-height:235px}
.prize-small{display:grid;grid-template-columns:auto 1fr;align-content:start;gap:var(--space-4);background:#f1ece4}
.prize-small>.icon{justify-self:end;color:var(--color-primary)}
.prize-small>div{grid-column:1/-1}
.prize-small h3{font-size:var(--text-lg);margin-top:0}
.prize-small p{font-size:var(--text-sm);color:var(--color-muted)}
.fine-print{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-5);max-width:95ch}
.how-section{background:#303d35;color:#fbf5e9}
.how-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--space-24);padding-block:var(--space-16)}
.how-inner>div>p:last-child{margin-top:var(--space-5);color:#d7dfd5;max-width:38ch}
.how-list{list-style:none;display:grid;gap:var(--space-6)}
.how-list li{display:flex;align-items:start;gap:var(--space-5)}
.how-list b{color:#e9c98a;font-size:var(--text-sm);font-family:var(--font-display);padding-top:var(--space-1)}
.how-list p{font-size:var(--text-sm);color:#d7dfd5;margin-top:var(--space-2)}
.registration{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-24);align-items:start;padding-block:var(--space-20)}
.registration-story>p:not(.eyebrow){color:var(--color-muted);margin-top:var(--space-5);max-width:40ch}
.passport-cover{margin:var(--space-12) auto 0;background:var(--color-primary);width:260px;max-width:90%;min-height:330px;padding:var(--space-3);border-radius:6px 22px 22px 6px;transform:rotate(-8deg);box-shadow:8px 11px 0 #e7dac6,14px 24px 30px #4933261f;color:var(--color-gold)}
.passport-cover-inner{border:1px solid #d8b67575;border-radius:2px 12px 12px 2px;min-height:306px;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;padding:var(--space-5);gap:var(--space-4)}
.passport-cover-inner>.icon{width:42px;height:42px}
.passport-cover strong{font:700 var(--text-xl)/1.2 var(--font-display);letter-spacing:.1em}
.passport-cover span,.passport-cover small{font-size:var(--text-xs)}
.passport-cover small{letter-spacing:.06em}
.cover-icons{display:flex;gap:var(--space-4)}
.cover-icons .icon{width:22px;height:22px}
.registration-card{background:var(--color-surface);padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 16px 48px #63433008}
.form-heading{display:flex;justify-content:space-between;align-items:center;color:var(--color-primary);margin-bottom:var(--space-6)}
.form-number{font-size:var(--text-xs);letter-spacing:.08em;font-weight:800}
.registration-card h3{font-size:var(--text-xl)}
.registration-card>p{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-2);margin-bottom:var(--space-6)}
.field{margin-bottom:var(--space-4)}
.field label{font-size:var(--text-sm);font-weight:800;display:block;margin-bottom:var(--space-2)}
.field input{width:100%;padding:var(--space-3) var(--space-4);min-height:52px;border:1px solid #d9d1c7;border-radius:var(--radius-sm);background:#fff;color:var(--color-text);font-size:var(--text-base)}
.field input::placeholder{color:#786e66}
.field input:focus{border-color:var(--color-primary)}
[aria-invalid=true]{border-color:var(--color-error)!important}
.field-error{display:block;color:var(--color-error);font-size:var(--text-xs);margin-top:var(--space-1)}
.field-error:empty{display:none}
.consents{display:grid;gap:var(--space-3);margin-block:var(--space-5)}
.consent-row{display:grid;grid-template-columns:18px 1fr;gap:var(--space-2)}
.consent-row input{accent-color:var(--color-primary);width:18px;height:18px;margin-top:var(--space-1)}
.consent-row label{font-size:var(--text-xs);line-height:1.6;cursor:pointer}
.consent-row .field-error{grid-column:2}
.consent-row a{color:var(--color-primary)}
.form-footer{text-align:center;color:var(--color-muted);font-size:var(--text-xs);margin-top:var(--space-3)}
.recover-toggle{margin-top:var(--space-5);width:100%;font-size:var(--text-xs)!important}
.text-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:700;min-height:44px;background:transparent;color:var(--color-primary);text-decoration:underline;text-underline-offset:4px;padding:var(--space-2) 0}
.text-button:hover{color:var(--color-primary-hover)}
.text-button .icon{width:18px;height:18px}
.honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(100%)}
.inline-error{font-size:var(--text-sm);color:var(--color-error);background:#fff0f0;border-radius:var(--radius-sm);padding:var(--space-3);margin-bottom:var(--space-4)}
.faq{padding-block:0 var(--space-20)}
.faq h2{margin-bottom:var(--space-8);font-size:var(--text-xl)}
.faq details{border-top:1px solid var(--color-border);padding-block:var(--space-4)}
.faq details:last-child{border-bottom:1px solid var(--color-border)}
.faq summary{font-weight:800;list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq details p{color:var(--color-muted);font-size:var(--text-sm);margin-block:var(--space-3);max-width:80ch}
.faq details[open] summary .icon{transform:rotate(180deg)}
.site-footer{border-top:1px solid var(--color-border);display:flex;justify-content:space-between;gap:var(--space-5);font-size:var(--text-xs);color:var(--color-muted);padding:var(--space-8) max(var(--space-6),calc((100vw - 1168px)/2));flex-wrap:wrap}
.demo-banner{background:#ffe5a8;color:#432c1d;padding:var(--space-2) var(--space-5);font-size:var(--text-xs);font-weight:800;text-align:center}
.is-playing .header-nav,.is-playing .header-date{display:none}
.is-playing #homeBtn{margin-left:auto}
.game-scene{position:relative;isolation:isolate;min-height:calc(100dvh - 100px);padding-block:var(--space-8) var(--space-16);background:#42382d}
.scene-backdrop,.scene-shade{position:absolute;inset:0;z-index:-2}
.scene-backdrop{background:center 38%/cover no-repeat;transition:opacity .35s var(--ease);opacity:.9}
.scene-shade{z-index:-1;background:color-mix(in srgb,var(--theme) 45%,#172018);opacity:.53;transition:background-color .5s var(--ease)}
.game-wrap{width:min(1180px,calc(100% - 96px));margin:auto}
.game-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-5);margin-bottom:var(--space-5);padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);color:#fff9f0;background:#25352ce8}
.game-caption{font-size:var(--text-xs);font-weight:800;letter-spacing:.1em}
.score-counter{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);white-space:nowrap}
.score-counter .icon{width:18px;height:18px;color:var(--color-gold)}
.score-counter b{font-family:var(--font-display);font-size:var(--text-lg);font-variant-numeric:tabular-nums}
.game-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-6);align-items:start}
.game-grid>*{min-width:0}
#gameContent:focus{outline:0}
.question-card,.stage-card,.ticket-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-8);animation:card-enter .3s var(--ease);box-shadow:0 16px 50px #16231914}
.question-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}
.question-destination{display:flex;align-items:center;gap:var(--space-3)}
.question-destination>.icon{color:var(--theme);width:36px;height:36px}
.question-destination strong{display:block;font-family:var(--font-display);font-size:var(--text-lg)}
.question-destination small{font-size:var(--text-xs);color:var(--color-muted)}
.difficulty{font-size:var(--text-xs);font-weight:800;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);color:var(--theme);background:var(--theme-light);white-space:nowrap}
.question-dots{display:flex;gap:var(--space-2);margin-bottom:var(--space-6)}
.question-dots i{flex:1;height:4px;background:#e7dfd4;border-radius:2px}
.question-dots i.filled{background:var(--theme)}
.question-dots i.active{background:var(--theme);opacity:.5}
.question-number{font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted);margin-bottom:var(--space-3)}
.question-card h2{font-size:var(--text-xl);line-height:1.27;letter-spacing:-.035em;margin-bottom:var(--space-6)}
.answer-list{display:grid;gap:var(--space-3)}
.answer-button{width:100%;min-height:60px;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid #ded6cb;border-radius:var(--radius-md);background:#fff;text-align:left;font-size:var(--text-base);font-weight:700}
.answer-button .option-letter{border:1px solid #e4dcd0;border-radius:var(--radius-sm);width:30px;height:30px;display:grid;place-items:center;font-size:var(--text-xs);font-weight:800;flex-shrink:0;background:#faf7f1;color:#716660}
.answer-button:hover:not(:disabled){border-color:var(--theme);background:var(--theme-light);transform:translateX(3px)}
.answer-button:disabled{cursor:default;color:var(--color-text)}
.answer-button.is-correct{border-color:#7cab91;background:#edf5ee;color:#235e3f}
.answer-button.is-wrong{border-color:#d9a0a8;background:#fff1f1;color:#8a2e3b}
.answer-button .answer-mark{margin-left:auto;width:20px;height:20px}
.feedback{margin-top:var(--space-5);padding:var(--space-4);border-radius:var(--radius-md);background:#f4eee3;font-size:var(--text-sm)}
.feedback strong{display:block;font-size:var(--text-base);margin-bottom:var(--space-2)}
.feedback p+p{margin-top:var(--space-2)}
.feedback.correct{background:#eaf2e9}
.feedback .correct-answer{font-weight:800}
.question-actions{margin-top:var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.question-actions .text-button{font-size:var(--text-xs)}
.question-footnote{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}
.passport-panel{background:#f4ecde;padding:var(--space-6);border-radius:var(--radius-md);position:sticky;top:var(--space-6)}
.passport-panel-top{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-xs);font-weight:800;letter-spacing:.08em;color:#75654d;margin-bottom:var(--space-6)}
.passport-panel-top .icon{width:20px;height:20px}
.passport-panel h2{font-size:var(--text-lg);letter-spacing:-.02em;line-height:1.3}
.passport-stamps{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5) var(--space-3);margin-block:var(--space-6)}
.passport-stamp{aspect-ratio:1;border:1px dashed #c9bdac;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-1);color:#746652;position:relative;max-width:112px;width:100%;justify-self:center}
.passport-stamp .icon{width:34px;height:34px;stroke-width:1.3}
.passport-stamp span{font-size:var(--text-xs);font-weight:800}
.passport-stamp small{font-size:var(--text-xs)}
.passport-stamp.earned{color:var(--stamp-color);border:2px solid currentColor;transform:rotate(var(--rotation,-8deg));box-shadow:inset 0 0 0 3px #f4ecde,inset 0 0 0 4px currentColor}
.passport-stamp.earned::after{content:"";position:absolute;inset:5px;border:1px dashed currentColor;border-radius:50%;opacity:.4}
.passport-stamp.newly-earned{animation:stamp-in .55s var(--ease)}
.passport-panel>p{font-size:var(--text-xs);line-height:1.6;color:#6c6050}
.passport-panel>.text-button{font-size:var(--text-xs);margin-top:var(--space-3)}
.passport-progress{margin-bottom:var(--space-4)}
.passport-progress>span{font-size:var(--text-xs);font-weight:800}
.progress-track{height:5px;border-radius:4px;background:#ded3c1;margin-top:var(--space-2);overflow:hidden}
.progress-track i{display:block;height:100%;width:0;background:var(--color-primary);transition:width .4s var(--ease)}
.stage-card{min-height:480px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}
.stage-card h2{font-size:var(--text-xl);line-height:1.18;margin-block:var(--space-3) var(--space-5)}
.stage-card>p{color:var(--color-muted);margin-bottom:var(--space-6)}
.stage-card>.button{margin-top:var(--space-6)}
.stage-card .stage-symbol{width:76px;height:76px;color:var(--theme);margin-bottom:var(--space-6);stroke-width:1.1}
.stage-stats{display:flex;gap:var(--space-8);padding-block:var(--space-5);border-block:1px dashed #d4c6b5;width:100%}
.stage-stats b{font-family:var(--font-display);font-size:var(--text-xl);display:block;color:var(--color-primary)}
.stage-stats span{font-size:var(--text-xs);color:var(--color-muted)}
.stage-fineprint{font-size:var(--text-sm);margin-top:var(--space-4);color:var(--color-muted)}
.big-stamp{width:150px;height:150px;color:var(--theme);border:3px double currentColor;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);transform:rotate(-12deg);animation:stamp-in .6s var(--ease);margin-bottom:var(--space-6)}
.big-stamp .icon{width:54px;height:54px;stroke-width:1.2}
.big-stamp b{font-size:var(--text-sm);font-family:var(--font-display)}
.big-stamp small{font-size:var(--text-xs)}
.favorite-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);width:100%;margin-top:var(--space-4)}
.favorite-button{border:1px solid var(--color-border);padding:var(--space-4);display:flex;align-items:center;gap:var(--space-3);text-align:left;background:#fff;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:800}
.favorite-button[aria-pressed=true]{background:#f5e7df;border-color:var(--color-primary);color:var(--color-primary)}
.ticket-card{text-align:left;padding:var(--space-8)}
.ticket-card h2{font-size:var(--text-xl);margin-bottom:var(--space-5)}
.raffle-ticket{background:#f3e3bd;border:1px solid #d8bc7e;padding:var(--space-6);border-radius:var(--radius-md);position:relative;margin-bottom:var(--space-6);overflow:hidden}
.raffle-ticket::before,.raffle-ticket::after{content:"";position:absolute;width:24px;height:24px;background:var(--color-surface);border:1px solid #d8bc7e;border-radius:50%;top:calc(50% - 12px)}
.raffle-ticket::before{left:-13px}.raffle-ticket::after{right:-13px}
.ticket-eyebrow{font-size:var(--text-xs);letter-spacing:.1em;color:#6b4e25;font-weight:800}
.ticket-number{font:800 var(--text-xl)/1.3 var(--font-display);letter-spacing:.015em;color:var(--color-primary);overflow-wrap:anywhere;margin-block:var(--space-4)}
.ticket-bottom{border-top:1px dashed #b69962;padding-top:var(--space-4);display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-xs);color:#6b4e25}
.ticket-bottom b{display:block;color:#493321}
.result-line{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);padding-block:var(--space-3);border-bottom:1px solid var(--color-border)}
.result-line>.icon{color:var(--color-primary)}
.result-line b{margin-left:auto;font-variant-numeric:tabular-nums}
.ticket-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-block:var(--space-6)}
.ticket-actions .button{flex:1;min-width:170px}
.ticket-note{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-4)}
.game-error{margin-top:var(--space-5);padding:var(--space-4);border-radius:var(--radius-md);background:#fff1f1;color:var(--color-error);font-size:var(--text-sm)}
.toast{position:fixed;bottom:var(--space-6);left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:var(--space-3) var(--space-5);background:#303d35;color:white;border-radius:var(--radius-md);z-index:50;font-size:var(--text-sm);text-align:center;box-shadow:0 4px 20px #1a2a2a30}
.confetti-piece{position:fixed;width:8px;height:13px;top:-20px;z-index:100;pointer-events:none;animation:confetti-drop 2.8s ease-in forwards}
.noscript-message{padding:var(--space-5);background:var(--color-gold);color:var(--color-text)}
@keyframes card-enter{from{transform:translateY(8px)}to{transform:translateY(0)}}
@keyframes stamp-in{from{opacity:0;transform:scale(1.55) rotate(-20deg)}to{opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes confetti-drop{to{transform:translateY(110dvh) rotate(560deg);opacity:0}}
@media(min-width:1440px){.hero-panel{padding-left:136px}}
@media(max-width:1100px){
  .site-header{gap:var(--space-6);padding-inline:var(--space-8)}
  .header-nav{gap:var(--space-5)}.header-date{padding-left:var(--space-5)}
  .hero-panel{padding:var(--space-8);width:49%}.hero h1{font-size:var(--text-2xl)}
  .section-wrap{padding-inline:var(--space-8)}.how-inner,.registration{gap:var(--space-12)}
  .game-wrap{width:calc(100% - 64px)}.game-grid{grid-template-columns:minmax(0,1fr) 265px}
  .passport-panel{padding:var(--space-5)}.passport-stamps{gap:var(--space-4) var(--space-2)}
}
@media(max-width:800px){
  .header-date{margin-left:auto}.header-nav{display:none}
  .hero{min-height:560px}.hero-panel{width:52%;min-height:560px}.hero-art{left:32%}.hero h1{font-size:var(--text-2xl)}
  .hero-description{font-size:var(--text-base)}.hero-result{bottom:var(--space-5);right:var(--space-5)}
  .hero-panel .button{padding-inline:var(--space-4);gap:var(--space-2)}
  .section-top{gap:var(--space-8);align-items:start}.section-description{max-width:42%}
  .week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.destination{min-height:270px}
  .prize-grid{grid-template-columns:1fr 1fr}.prize-main{grid-column:1/-1;grid-row:auto;min-height:260px;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
  .prize-main .prize-top{grid-column:1/-1;margin:0}.prize-main .prize-illustration{grid-column:2;grid-row:2/4;justify-self:center;align-self:center;margin:0}
  .prize-main .prize-program{margin:0}.prize-main>div:not(.prize-top){grid-column:1;grid-row:2}
  .prize-secondary{min-height:210px}.how-inner{gap:var(--space-10)}
  .registration{gap:var(--space-8)}.registration-card{padding:var(--space-6)}
  .game-grid{grid-template-columns:minmax(0,1fr)}.passport-panel{position:static;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
  .passport-panel h2{display:none}.passport-panel-top{grid-column:1/-1;margin:0}
  .passport-stamps{grid-column:1/-1;grid-template-columns:repeat(4,1fr);margin:0;gap:var(--space-3)}
  .passport-stamp{max-width:95px}.passport-stamp .icon{width:28px;height:28px}
  .passport-panel>p{grid-column:2;grid-row:3/5}.passport-panel>.text-button{justify-self:start;margin:0}
  .game-wrap{max-width:690px}.game-scene{min-height:100dvh}
}
@media(max-width:600px){
  .site-header{padding:var(--space-4) var(--space-5);min-height:82px;gap:var(--space-4)}
  .brand img{width:134px;height:44px}.header-date{border:0;padding:0;font-size:var(--text-xs);text-align:right}.header-date strong{font-size:var(--text-xs);max-width:160px;display:block}
  .hero{display:flex;flex-direction:column;padding-top:0;background:var(--color-primary);min-height:0;overflow:visible}
  .hero-panel{width:100%;min-height:0;padding:var(--space-8) var(--space-6);order:0;align-items:flex-start}
  .hero h1{font-size:clamp(2rem,8vw,3rem);margin-bottom:var(--space-4);line-height:1.09}
  .hero-panel .eyebrow{margin-bottom:var(--space-3)}.program-label{margin-bottom:var(--space-5)}
  .hero-description{margin-bottom:var(--space-6)}.hero-caption{margin-top:var(--space-4)}
  .hero-art{position:relative;inset:auto;order:1;aspect-ratio:1.65;width:100%}
  .hero-art img{object-position:50% 45%}.hero-result{z-index:2;bottom:var(--space-4);right:var(--space-4);font-size:var(--text-xs);padding:var(--space-2) var(--space-3)}
  .hero-result b{font-size:var(--text-base)}
  .section-wrap{padding-inline:var(--space-5)}
  .intro{padding-top:var(--space-12)}.section-top{display:block;margin-bottom:var(--space-6)}
  .section-description{max-width:none;margin-top:var(--space-5)}
  .destination{padding:var(--space-4);min-height:276px}.destination .destination-icon{width:64px;height:64px;margin-block:var(--space-5)}
  .destination-top{font-size:var(--text-xs)}.destination-top b{display:none}
  .destination h3{font-size:var(--text-base)}.destination p{font-size:var(--text-xs)}
  .destination-bottom{font-size:var(--text-xs)}.destination-bottom .icon{display:none}
  .prizes{padding-top:var(--space-6);padding-bottom:var(--space-12)}
  .prize-grid{gap:var(--space-3)}.prize{padding:var(--space-4)}.prize-main{min-height:230px}
  .prize-main .prize-illustration{width:84px;height:84px}.prize-secondary{min-height:220px}
  .prize h3{font-size:var(--text-lg);overflow-wrap:anywhere}.prize-main h3{font-size:var(--text-xl)}
  .prize-type,.prize-note,.prize-program{font-size:var(--text-xs)}.prize-top{margin-bottom:var(--space-5)}
  .prize-small{grid-column:1/-1;grid-template-columns:60px 24px 1fr;align-items:center}
  .prize-small>.icon{grid-column:2;grid-row:1}.prize-small>div{grid-column:3;grid-row:1}
  .prize-small h3{font-size:var(--text-base);margin-bottom:var(--space-1)}.prize-small p{font-size:var(--text-xs)}
  .how-inner{grid-template-columns:1fr;padding-block:var(--space-12);gap:var(--space-8)}
  .how-inner>div>p:last-child{max-width:none}.registration{grid-template-columns:1fr;padding-block:var(--space-12);gap:var(--space-8)}
  .registration-story>p:not(.eyebrow){max-width:none}.passport-cover{display:none}
  .registration-card{padding:var(--space-6) var(--space-5)}
  .faq{padding-bottom:var(--space-12)}.faq summary{font-size:var(--text-sm)}
  .site-footer{padding:var(--space-6) var(--space-5);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
  .site-footer>span{grid-column:1/-1}.site-footer a{display:flex;align-items:center;min-height:44px}
  .game-wrap{width:calc(100% - 32px)}.game-scene{padding-top:var(--space-4)}
  .game-toolbar{padding:var(--space-3);gap:var(--space-3)}.game-caption{font-size:var(--text-xs);letter-spacing:.03em}
  .score-counter{font-size:var(--text-xs);gap:var(--space-1)}.score-counter .icon{width:16px;height:16px}
  .question-card,.stage-card,.ticket-card{padding:var(--space-5);border-radius:var(--radius-md)}
  .question-top{gap:var(--space-2);margin-bottom:var(--space-5)}.question-destination{gap:var(--space-2)}
  .question-destination>.icon{width:30px;height:30px}.question-destination strong{font-size:var(--text-base)}
  .question-destination small{font-size:var(--text-xs)}.difficulty{font-size:var(--text-xs);padding:var(--space-2)}
  .question-card h2{font-size:var(--text-lg);line-height:1.35;letter-spacing:-.02em}
  .question-dots{gap:var(--space-1)}.answer-button{padding:var(--space-3);gap:var(--space-3);font-size:var(--text-sm);min-height:62px}
  .answer-button .option-letter{width:26px;height:26px}
  .question-actions{align-items:stretch;flex-direction:column-reverse;gap:var(--space-2)}
  .question-actions>.button{width:100%}.question-footnote{font-size:var(--text-xs)}
  .stage-card{min-height:420px}.stage-card>.button{width:100%}.stage-stats{gap:var(--space-6)}
  .passport-panel{padding:var(--space-4);gap:var(--space-3)}
  .passport-stamps{gap:var(--space-2)}.passport-stamp{max-width:80px}
  .passport-stamp .icon{width:26px;height:26px}.passport-stamp span{font-size:var(--text-xs)}.passport-stamp small{display:none}
  .passport-panel>p{font-size:var(--text-xs)}.passport-progress>span{font-size:var(--text-xs)}
  .favorite-grid{grid-template-columns:1fr}.favorite-button{padding:var(--space-3)}
  .raffle-ticket{padding:var(--space-5)}.ticket-number{font-size:var(--text-lg)}.ticket-bottom{gap:var(--space-3)}
  .ticket-actions{flex-direction:column}.ticket-actions .button{min-width:0}
  .big-stamp{align-self:center}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.confetti-piece{display:none}}

  .dubki-prizes {
    --dp-burgundy: #702338;
    --dp-ink: #302a27;
    --dp-cream: #fcf7ee;
    --dp-yellow: #ffe08a;

    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 76px 24px;
    color: var(--dp-ink);
    background:
      radial-gradient(
        ellipse at 5% 5%,
        rgba(255, 208, 116, .24),
        transparent 40%
      ),
      radial-gradient(
        ellipse at 95% 90%,
        rgba(112, 35, 56, .07),
        transparent 38%
      ),
      var(--dp-cream);
    font-family: Arial, Helvetica, sans-serif;
  }

  .dubki-prizes,
  .dubki-prizes * {
    box-sizing: border-box;
  }

  .dubki-prizes__inner {
    max-width: 1280px;
    margin: 0 auto;
  }

  .dubki-prizes__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 36px;
    margin-bottom: 36px;
  }

  .dubki-prizes__eyebrow {
    display: block;
    margin-bottom: 18px;
    color: var(--dp-burgundy);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  .dubki-prizes h2 {
    margin: 0;
    font-size: clamp(34px, 4.3vw, 58px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -.055em;
  }

  .dubki-prizes h2 span {
    color: var(--dp-burgundy);
  }

  .dubki-prizes__intro {
    max-width: 340px;
    margin: 0 0 4px;
    color: #756a60;
    font-size: 17px;
    line-height: 1.65;
  }

  .dubki-prizes__grid {
    display: grid;
    grid-template-columns: 1.08fr 1fr 1fr;
    gap: 18px;
  }

  .dubki-prize {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    padding: 26px;
    border: 1px solid rgba(48, 42, 39, .05);
    border-radius: 28px;
    transition: transform .25s ease, box-shadow .25s ease;
  }

  /* Декоративный круг — без дополнительных изображений */
  .dubki-prize::before {
    content: "";
    position: absolute;
    top: -60px;
    right: -55px;
    width: 190px;
    height: 190px;
    border: 28px solid rgba(255, 255, 255, .28);
    border-radius: 50%;
    pointer-events: none;
  }

  .dubki-prize__top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 38px;
    margin-bottom: 30px;
  }

  .dubki-prize__place {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-height: 34px;
    padding: 7px 13px;
    border: 1px solid rgba(48, 42, 39, .14);
    border-radius: 100px;
    font-size: 13px;
    font-weight: 700;
  }

  .dubki-prize__tag {
    color: var(--dp-yellow);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-align: right;
    text-transform: uppercase;
  }

  .dubki-prize__icon {
    font-size: 34px;
    line-height: 1;
    transform: rotate(8deg);
  }

  .dubki-prize__content {
    position: relative;
    z-index: 1;
    margin-top: auto;
  }

  .dubki-prize__kicker {
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 1.5;
  }

  .dubki-prize h3 {
    margin: 0;
    font-size: clamp(27px, 2.6vw, 38px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.045em;
    overflow-wrap: break-word;
  }

  .dubki-prize__description {
    margin: 14px 0 0;
    font-size: 15px;
    line-height: 1.55;
  }

  .dubki-prize__details {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 20px;
  }

  .dubki-prize__details span {
    padding: 7px 10px;
    border-radius: 9px;
    background: rgba(255, 255, 255, .48);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
  }

  .dubki-prize__date {
    margin: 11px 0 0;
    font-size: 12px;
    line-height: 1.5;
    opacity: .8;
  }

  .dubki-prize__mini-inclusive {
    display: inline-block;
    margin-top: 16px;
    font-size: 12px;
    font-weight: 700;
  }

  /* Главный приз */
  .dubki-prize--main {
    grid-row: span 2;
    padding: 28px;
    color: #fff8eb;
    background: var(--dp-burgundy);
  }

  .dubki-prize--main::before {
    top: 80px;
    right: -110px;
    width: 360px;
    height: 360px;
    border-width: 48px;
    border-color: rgba(255, 224, 138, .07);
  }

  .dubki-prize--main .dubki-prize__place {
    color: var(--dp-yellow);
    border-color: rgba(255, 224, 138, .4);
  }

  .dubki-prize--main h3 {
    font-size: clamp(54px, 5vw, 76px);
  }

  .dubki-prize--main .dubki-prize__details span {
    background: rgba(255, 255, 255, .12);
  }

  .dubki-prize__art {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 155px;
    margin: 0 0 22px;
  }

  .dubki-prize__gift {
    font-size: 104px;
    line-height: 1.2;
    transform: rotate(-10deg);
    filter: drop-shadow(0 15px 14px rgba(0, 0, 0, .15));
  }

  .dubki-prize__spark {
    position: absolute;
    color: var(--dp-yellow);
    line-height: 1;
  }

  .dubki-prize__spark--one {
    top: 12px;
    left: 15%;
    font-size: 36px;
    transform: rotate(12deg);
  }

  .dubki-prize__spark--two {
    right: 14%;
    bottom: 18px;
    font-size: 24px;
    transform: rotate(-12deg);
  }

  .dubki-prize__inclusive {
    margin-top: 24px;
    padding: 16px 12px;
    border-radius: 14px;
    color: var(--dp-burgundy);
    background: var(--dp-yellow);
    font-size: 16px;
    font-weight: 800;
    text-align: center;
    transform: rotate(-2deg);
  }

  /* Цвета остальных подарков */
  .dubki-prize--family {
    min-height: 310px;
    background: #f7d68a;
  }

  .dubki-prize--standard {
    min-height: 310px;
    background: #efbaa6;
  }

  .dubki-prize--day {
    min-height: 220px;
    background: #e5e9bb;
  }

  .dubki-prize--spa {
    min-height: 220px;
    background: #ded3e9;
  }

  .dubki-prize--day h3,
  .dubki-prize--spa h3 {
    font-size: clamp(25px, 2.1vw, 31px);
  }

  .dubki-prizes__note {
    max-width: 850px;
    margin: 24px 0 0;
    color: #7c7268;
    font-size: 12px;
    line-height: 1.7;
  }

  @media (hover: hover) {
    .dubki-prize:hover {
      transform: translateY(-5px);
      box-shadow: 0 18px 36px rgba(74, 36, 34, .12);
    }
  }

  @media (max-width: 1023px) {
    .dubki-prizes {
      padding: 56px 22px;
    }

    .dubki-prizes__header {
      align-items: flex-start;
      flex-direction: column;
      gap: 20px;
    }

    .dubki-prizes__intro {
      max-width: 560px;
    }

    .dubki-prizes__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dubki-prize--main {
      grid-column: 1 / -1;
      grid-row: auto;
      min-height: 380px;
      padding-right: 42%;
    }

    .dubki-prize--main .dubki-prize__art {
      position: absolute;
      top: 100px;
      right: 20px;
      width: 36%;
      height: 200px;
      margin: 0;
    }

    .dubki-prize--main .dubki-prize__top {
      width: 165%;
    }

    .dubki-prize--main .dubki-prize__gift {
      font-size: 125px;
    }
  }

  @media (max-width: 599px) {
    .dubki-prizes {
      padding: 42px 16px;
    }

    .dubki-prizes__header {
      margin-bottom: 26px;
    }

    .dubki-prizes__eyebrow {
      max-width: 270px;
      margin-bottom: 14px;
      font-size: 10px;
    }

    .dubki-prizes h2 {
      font-size: clamp(30px, 8.8vw, 46px);
    }

    .dubki-prizes__intro {
      font-size: 15px;
      line-height: 1.6;
    }

    .dubki-prizes__grid {
      grid-template-columns: minmax(0, 1fr);
      gap: 14px;
    }

    .dubki-prize {
      min-height: auto;
      padding: 23px;
      border-radius: 23px;
    }

    .dubki-prize__top {
      margin-bottom: 24px;
    }

    .dubki-prize--main {
      grid-column: auto;
      padding: 24px;
    }

    .dubki-prize--main .dubki-prize__top {
      width: auto;
    }

    .dubki-prize--main .dubki-prize__art {
      position: relative;
      top: auto;
      right: auto;
      width: 100%;
      height: 135px;
      min-height: 135px;
      margin: 0 0 20px;
    }

    .dubki-prize--main .dubki-prize__gift {
      font-size: 100px;
    }

    .dubki-prize h3 {
      font-size: 34px;
    }

    .dubki-prize--main h3 {
      font-size: 62px;
    }

    .dubki-prize--day h3,
    .dubki-prize--spa h3 {
      font-size: 29px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .dubki-prize {
      transition: none;
    }

    .dubki-prize:hover {
      transform: none;
    }
  }