@font-face { font-family: "Onest"; src: url("assets/fonts/onest-cyrillic-ext.woff2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; }
@font-face { font-family: "Onest"; src: url("assets/fonts/onest-cyrillic.woff2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: "Onest"; src: url("assets/fonts/onest-latin-ext.woff2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Onest"; src: url("assets/fonts/onest-latin.woff2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

:root { --navy:#071d35; --navy-2:#0d3456; --blue:#174f75; --copper:#eb9a5d; --cinnamon:#bd704a; --cream:#fffaf2; --paper:#f3eee6; --ink:#092844; --muted:#627487; --line:#d9d1c6; --red:#ef2d38; --sky:#71caf2; }
* { box-sizing: border-box; }
html { min-width: 320px; overflow-x: hidden; }
body { min-height: 100vh; margin: 0; overflow-x: hidden; color: var(--cream); background: radial-gradient(circle at 82% 10%,rgba(67,133,178,.34),transparent 32%),linear-gradient(130deg,#061a30 0%,#0a2b49 58%,#164f77 100%); font-family:"Onest",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
body::before { content:""; position:fixed; inset:0; opacity:.22; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:52px 52px; mask-image:radial-gradient(circle at 75% 20%,#000,transparent 70%); }
button,input,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
.skip-link { position:fixed; z-index:100; top:10px; left:10px; padding:10px 14px; color:white; background:var(--navy); transform:translateY(-150%); }
.skip-link:focus { transform:none; }

.profile-header { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:28px; position:relative; z-index:3; width:min(calc(100% - 48px),1240px); min-height:76px; margin:18px auto 0; padding:10px 16px; border:1px solid rgba(255,255,255,.14); border-radius:19px; background:rgba(5,25,47,.76); box-shadow:0 16px 44px rgba(0,0,0,.18); backdrop-filter:blur(18px); }
.back-link { display:inline-flex; align-items:center; gap:8px; color:#dbe6ed; font-size:11px; font-weight:800; text-decoration:none; white-space:nowrap; }
.back-link span { color:var(--copper); font-size:17px; }
.profile-brands { display:flex; align-items:center; justify-content:center; min-width:0; }
.profile-brands i { width:1px; height:32px; margin:0 18px; background:rgba(255,255,255,.2); }
.school-mark { width:22px; height:38px; object-fit:contain; }
.chessopen-mark { width:110px; height:auto; }
.draft-state { display:inline-flex; align-items:center; gap:8px; color:#afc1cf; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.draft-state i { width:7px; height:7px; border-radius:50%; background:var(--sky); box-shadow:0 0 0 5px rgba(113,202,242,.11); }

.profile-shell { position:relative; z-index:1; width:min(calc(100% - 48px),1180px); margin:0 auto; padding:74px 0 70px; }
.profile-intro { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:36px 60px; align-items:end; }
.profile-intro > .eyebrow { grid-column:1 / -1; margin-bottom:-12px; }
.eyebrow { display:inline-flex; align-items:center; gap:11px; margin:0; color:#c4d3df; font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.eyebrow span { display:block; width:9px; height:9px; border-radius:50%; background:var(--cinnamon); box-shadow:0 0 0 5px rgba(189,112,74,.14); }
.profile-intro h1 { max-width:760px; margin:0; font-size:clamp(54px,6vw,82px); font-weight:800; line-height:.94; letter-spacing:-.07em; text-wrap:balance; }
.profile-intro h1 em { color:var(--copper); font-style:normal; }
.profile-intro > p:not(.eyebrow) { max-width:630px; margin:24px 0 0; color:#c5d3de; font-size:16px; line-height:1.65; }
.league-note { display:grid; grid-template-columns:64px 1fr; align-items:center; gap:18px; padding:22px; border:1px solid rgba(255,255,255,.15); border-radius:20px; background:rgba(5,23,43,.58); box-shadow:0 18px 40px rgba(0,0,0,.13); }
.league-note-piece { display:grid; place-items:center; width:64px; aspect-ratio:1; border:1px solid rgba(255,255,255,.16); border-radius:16px; color:var(--navy); background:var(--copper); font-family:Georgia,serif; font-size:38px; box-shadow:0 12px 24px rgba(0,0,0,.15); }
.league-note p { margin:0; }
.league-note b,.league-note p span { display:block; }
.league-note b { font-size:13px; line-height:1.35; }
.league-note p span { margin-top:7px; color:#aebfce; font-size:10px; line-height:1.45; }

.game-card { display:grid; grid-template-columns:310px minmax(0,1fr); gap:0; min-height:610px; margin-top:48px; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:30px; background:var(--cream); box-shadow:0 32px 80px rgba(0,0,0,.26); }
.game-visual { display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; padding:38px; color:white; background:radial-gradient(circle at 30% 18%,rgba(235,154,93,.24),transparent 30%),linear-gradient(150deg,#173f61,#071d35 78%); }
.game-visual::after { content:""; position:absolute; right:-105px; bottom:-105px; width:270px; height:270px; border:1px solid rgba(255,255,255,.14); border-radius:50%; box-shadow:0 0 0 28px rgba(255,255,255,.025),0 0 0 56px rgba(255,255,255,.018); }
.mini-board { display:grid; grid-template-columns:repeat(4,1fr); position:relative; z-index:1; aspect-ratio:1; overflow:hidden; border:7px solid rgba(255,250,242,.92); border-radius:9px; box-shadow:0 24px 45px rgba(0,0,0,.26); transform:rotate(-4deg); }
.mini-board span { background:#d59a70; transition:background .35s ease,filter .35s ease; }
.mini-board span:nth-child(2),.mini-board span:nth-child(4),.mini-board span:nth-child(5),.mini-board span:nth-child(7) { background:#154b73; }
.mini-board span.is-passed { filter:brightness(.72); }
.mini-board span.is-current { background:var(--copper); box-shadow:inset 0 0 0 4px rgba(255,255,255,.48); }
.mini-board b { position:absolute; top:6%; left:6%; z-index:2; color:#061b31; font-family:Georgia,serif; font-size:68px; line-height:1; filter:drop-shadow(5px 6px 0 rgba(38,83,117,.55)); transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.game-visual > p { position:relative; z-index:1; margin:35px 0 0; }
.game-visual > p span,.game-visual > p strong { display:block; }
.game-visual > p span { color:#9eb5c7; font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.game-visual > p strong { margin-top:7px; color:var(--copper); font-size:24px; letter-spacing:-.04em; }

.form-panel { min-width:0; padding:36px 40px 32px; color:var(--ink); }
.progress-head > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.progress-head b { color:var(--cinnamon); font-size:13px; }
.progress-track { height:5px; margin-top:11px; overflow:hidden; border-radius:10px; background:#e4ddd4; }
.progress-track i { display:block; width:12.5%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--cinnamon),var(--copper)); transition:width .35s ease; }
.move-map { display:grid; grid-template-columns:repeat(8,1fr); gap:6px; margin:22px 0 28px; }
.move-map button { display:grid; place-items:center; min-width:0; aspect-ratio:1; padding:0; border:1px solid #ddd3c6; border-radius:10px; color:#8d8174; background:#fffdfa; font-size:10px; font-weight:800; cursor:pointer; transition:transform .2s ease,border-color .2s ease,color .2s ease,background .2s ease; }
.move-map button:hover { transform:translateY(-2px); border-color:var(--cinnamon); }
.move-map button.is-current { color:white; border-color:var(--cinnamon); background:var(--cinnamon); box-shadow:0 8px 18px rgba(189,112,74,.2); }
.move-map button.is-complete { color:var(--ink); border-color:#bad6e7; background:#edf7fb; }

.question-stage { min-height:320px; animation:question-in .32s ease; }
.question-kicker { margin:0 0 9px; color:var(--cinnamon); font-size:10px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.question-stage h2 { max-width:700px; margin:0; font-size:clamp(30px,3.3vw,45px); font-weight:800; line-height:1.02; letter-spacing:-.055em; text-wrap:balance; }
.question-help { max-width:680px; margin:15px 0 24px; color:var(--muted); font-size:13px; line-height:1.55; }
.field-label { display:block; color:#455c70; font-size:11px; font-weight:800; }
.text-input,.textarea-input { display:block; width:100%; margin-top:9px; border:1px solid #d7cdbf; border-radius:15px; color:var(--ink); background:#fff; outline:none; transition:border-color .2s ease,box-shadow .2s ease; }
.text-input { min-height:58px; padding:0 17px; }
.textarea-input { min-height:150px; resize:vertical; padding:16px 17px; line-height:1.55; }
.text-input:focus,.textarea-input:focus { border-color:var(--cinnamon); box-shadow:0 0 0 4px rgba(189,112,74,.11); }
.rating-field { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:end; }
.rating-field .field-label { min-width:0; }
.rating-field .text-input { overflow:hidden; text-overflow:ellipsis; }
.inline-toggle { min-height:58px; padding:0 17px; border:1px solid #d7cdbf; border-radius:15px; color:var(--ink); background:#fff; font-size:11px; font-weight:800; cursor:pointer; white-space:nowrap; }
.inline-toggle.is-active { color:white; border-color:var(--cinnamon); background:var(--cinnamon); }
.search-link { display:inline-flex; align-items:center; gap:7px; margin-top:12px; color:var(--cinnamon); font-size:11px; font-weight:800; text-decoration:none; }

.choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.choice { position:relative; }
.choice input { position:absolute; opacity:0; pointer-events:none; }
.choice label { display:flex; align-items:center; min-height:58px; height:100%; padding:13px 14px 13px 48px; border:1px solid #ded5c9; border-radius:14px; background:linear-gradient(145deg,#fffefa,#fff9f1); color:#314c63; cursor:pointer; transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease; }
.choice label::before { content:""; position:absolute; left:16px; top:50%; width:18px; height:18px; border:1.5px solid #b7aea3; border-radius:50%; background:white; transform:translateY(-50%); }
.choice.checkbox label::before { border-radius:5px; }
.choice label:hover { border-color:#bf9b62; transform:translateY(-2px); box-shadow:0 8px 18px rgba(64,46,27,.07); }
.choice input:focus-visible + label { outline:3px solid rgba(113,202,242,.48); outline-offset:2px; }
.choice input:checked + label { border-color:var(--cinnamon); background:#fff1e6; box-shadow:0 8px 18px rgba(189,112,74,.1); }
.choice input:checked + label::before { border:5px solid var(--cinnamon); }
.choice.checkbox input:checked + label::before { border:0; background:var(--cinnamon); box-shadow:inset 0 0 0 5px var(--cinnamon); }
.choice.checkbox input:checked + label::after { content:"✓"; position:absolute; left:20px; top:50%; color:white; font-size:12px; font-weight:900; transform:translateY(-54%); }

.form-error { margin:0 0 16px; padding:12px 14px; border-radius:12px; color:#a72d1b; background:#fff0ec; font-size:12px; }
.reply-optin { margin:-8px 0 20px; padding:16px; border:1px solid #ddcfbf; border-radius:17px; background:linear-gradient(135deg,#fff9ef,#edf8fd); }
.reply-optin[hidden],.reply-email[hidden] { display:none; }
.reply-consent { display:grid; grid-template-columns:22px minmax(0,1fr); gap:12px; align-items:start; color:var(--ink); cursor:pointer; }
.reply-consent input { width:20px; height:20px; margin:1px 0 0; accent-color:var(--cinnamon); cursor:pointer; }
.reply-consent strong,.reply-consent small { display:block; }
.reply-consent strong { font-size:13px; line-height:1.35; }
.reply-consent small { margin-top:4px; color:var(--muted); font-size:11px; line-height:1.45; }
.reply-consent small a { color:var(--cinnamon); font-weight:800; }
.privacy-consent { margin-top:14px; padding-top:14px; border-top:1px solid rgba(95,84,72,.16); }
.reply-email { margin-top:14px; }
.reply-email .text-input { min-height:52px; background:#fff; }
.form-actions { display:flex; justify-content:flex-end; gap:10px; padding-top:22px; border-top:1px solid #e3dbd1; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:49px; padding:0 19px; border:1px solid transparent; border-radius:13px; font-weight:800; text-decoration:none; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.button:hover { transform:translateY(-2px); }
.button:disabled { opacity:.6; cursor:wait; transform:none; }
.button-primary { color:var(--navy); background:var(--copper); box-shadow:0 12px 24px rgba(235,154,93,.18); }
.button-ghost { margin-right:auto; color:var(--muted); border-color:#d9d0c5; background:transparent; }
.button-light { color:var(--ink); border-color:#d9d0c5; background:white; }
.button[hidden] { display:none; }

.profile-result { position:relative; min-height:490px; padding:9px 0 0; }
.result-piece { position:absolute; top:-42px; right:0; margin:0; color:rgba(189,112,74,.09); font-family:Georgia,serif; font-size:190px; line-height:1; pointer-events:none; }
.profile-result h2 { position:relative; max-width:600px; margin:16px 0 0; font-size:clamp(34px,4vw,52px); line-height:.98; letter-spacing:-.06em; }
.profile-result > p:not(.eyebrow):not(.result-piece):not(.privacy-note) { position:relative; max-width:620px; color:var(--muted); line-height:1.55; }
.profile-result .result-code { display:inline-flex; align-items:center; gap:9px; margin:8px 0 0; padding:7px 10px; border:1px solid #d9d0c5; border-radius:10px; font-size:10px; text-transform:uppercase; }
.profile-result .result-code strong { color:var(--cinnamon); font-size:11px; letter-spacing:.04em; }
.profile-result pre { max-height:220px; overflow:auto; margin:24px 0 18px; padding:17px; border:1px solid #ddd3c6; border-radius:14px; color:#28445b; background:#fffdfa; font:12px/1.55 "Onest",Arial,sans-serif; white-space:pre-wrap; }
.result-actions { display:flex; flex-wrap:wrap; gap:9px; }
.text-button { padding:0 10px; border:0; color:var(--cinnamon); background:transparent; font-size:11px; font-weight:800; cursor:pointer; }
.privacy-note { margin-top:18px; color:#7f8e9a; font-size:10px; }

.profile-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; width:min(calc(100% - 48px),1180px); min-height:88px; margin:0 auto; border-top:1px solid rgba(255,255,255,.14); color:#aebfce; font-size:10px; }
.profile-footer nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px 18px; }
.profile-footer a { color:#dfe9ef; font-weight:800; text-decoration:none; }
.profile-footer a:hover,.profile-footer a:focus-visible { color:#72eaff; }
.profile-footer span { color:var(--copper); }
.noscript { position:fixed; right:16px; bottom:16px; left:16px; z-index:20; margin:0; padding:14px; border-radius:12px; color:#3b2719; background:#ffe0c6; text-align:center; }
.website-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

@keyframes question-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }

@media (max-width:900px) {
  .profile-header { grid-template-columns:auto 1fr; }
  .profile-brands { justify-content:flex-end; }
  .draft-state { display:none; }
  .profile-intro { grid-template-columns:1fr; }
  .profile-intro > .eyebrow { margin-bottom:0; }
  .league-note { max-width:560px; }
  .game-card { grid-template-columns:240px minmax(0,1fr); }
  .game-visual { padding:28px; }
  .mini-board b { font-size:55px; }
  .form-panel { padding:31px 28px 28px; }
}

@media (max-width:700px) {
  .profile-header { width:calc(100% - 24px); min-height:62px; margin-top:10px; padding:8px 10px; border-radius:15px; }
  .back-link { font-size:0; }
  .back-link span { font-size:22px; }
  .profile-brands i { margin-inline:9px; height:28px; }
  .school-mark { width:18px; height:32px; }
  .chessopen-mark { width:88px; }
  .profile-shell { width:calc(100% - 24px); padding:48px 0 42px; }
  .profile-intro h1 { font-size:clamp(46px,13.2vw,62px); }
  .profile-intro > p:not(.eyebrow) { font-size:14px; }
  .league-note { grid-template-columns:58px 1fr; padding:17px; }
  .league-note-piece { width:58px; font-size:34px; }
  .game-card { display:block; margin-top:30px; border-radius:22px; }
  .game-visual { display:grid; grid-template-columns:94px 1fr; align-items:center; gap:17px; padding:18px; }
  .mini-board { width:94px; border-width:4px; transform:rotate(-3deg); }
  .mini-board b { font-size:28px; filter:drop-shadow(2px 3px 0 rgba(38,83,117,.55)); }
  .game-visual > p { margin:0; }
  .game-visual > p strong { font-size:20px; }
  .form-panel { padding:23px 17px 20px; }
  .move-map { gap:4px; margin:18px 0 24px; }
  .move-map button { border-radius:8px; font-size:9px; }
  .question-stage { min-height:350px; }
  .question-stage h2 { font-size:clamp(31px,9vw,40px); }
  .choice-grid { grid-template-columns:1fr; gap:8px; }
  .choice label { min-height:53px; }
  .rating-field { grid-template-columns:1fr; }
  .inline-toggle { min-height:48px; }
  .form-actions { position:sticky; z-index:5; bottom:0; margin:0 -6px; padding:12px 6px 0; background:linear-gradient(transparent,var(--cream) 22%); }
  .button { min-height:48px; padding-inline:15px; font-size:12px; }
  .result-actions { display:grid; grid-template-columns:1fr 1fr; }
  .result-actions .text-button { grid-column:1 / -1; min-height:40px; }
  .profile-footer { width:calc(100% - 24px); flex-direction:column; align-items:flex-start; justify-content:center; gap:8px; padding:22px 0; }
  .profile-footer nav { justify-content:flex-start; gap:4px 14px; }
}

@media (max-width:390px) {
  .profile-intro h1 { font-size:45px; }
  .league-note { grid-template-columns:48px 1fr; gap:13px; }
  .league-note-piece { width:48px; border-radius:13px; font-size:29px; }
  .form-actions { gap:7px; }
  .button { padding-inline:12px; font-size:11px; }
  .result-actions { grid-template-columns:1fr; }
  .result-actions .text-button { grid-column:auto; }
}

@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }

/* Friendly 8–16 theme: energetic, clear and still recognisably ChessOpen. */
:root { --blue:#176fa8; --copper:#ff9b54; --cinnamon:#c66743; --paper:#f6f1e9; --muted:#5d7184; --sky:#79d4ff; --mint:#65d6b3; --violet:#8884eb; --sun:#ffd166; }
body { background:radial-gradient(circle at 88% 8%,rgba(121,212,255,.28),transparent 27%),radial-gradient(circle at 8% 34%,rgba(255,155,84,.18),transparent 24%),linear-gradient(135deg,#092846 0%,#0e4f7c 58%,#1776aa 100%); }
body::before { opacity:.22; background-size:58px 58px; }
body::after { content:""; position:fixed; inset:0; opacity:.55; pointer-events:none; background:radial-gradient(circle at 6% 14%,var(--sun) 0 5px,transparent 6px),radial-gradient(circle at 92% 31%,var(--mint) 0 7px,transparent 8px),radial-gradient(circle at 83% 73%,var(--copper) 0 4px,transparent 5px),radial-gradient(circle at 13% 82%,var(--sky) 0 6px,transparent 7px); }

.profile-header { border-color:rgba(255,255,255,.58); border-radius:22px; background:rgba(255,250,242,.93); box-shadow:0 18px 46px rgba(3,24,44,.2); }
.back-link { min-height:42px; padding:0 13px; border-radius:13px; color:var(--ink); background:#edf6fb; }
.profile-brands i { background:rgba(9,40,68,.16); }
.draft-state { min-height:40px; padding:0 13px; border-radius:13px; color:#466276; background:#e8f8f3; letter-spacing:.06em; }
.draft-state i { width:8px; height:8px; background:var(--mint); box-shadow:0 0 0 5px rgba(101,214,179,.16); }

.profile-shell { padding-top:62px; }
.profile-intro { gap:28px 58px; }
.profile-intro h1 { max-width:820px; font-weight:850; letter-spacing:-.065em; }
.profile-intro h1 em { color:var(--sun); text-shadow:0 7px 24px rgba(255,209,102,.12); }
.profile-intro-copy { max-width:700px; }
.profile-intro-copy > p { margin:0; color:#e2edf4; font-size:16px; line-height:1.65; text-wrap:pretty; }
.mission-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.mission-chips span { display:inline-flex; align-items:center; gap:7px; min-height:38px; padding:0 13px; border:1px solid rgba(255,255,255,.19); border-radius:999px; color:#eaf4fa; background:rgba(255,255,255,.09); font-size:10px; font-weight:800; backdrop-filter:blur(9px); }
.mission-chips b { color:var(--sun); font-size:13px; }
.league-note { grid-template-columns:70px 1fr; border-color:rgba(255,255,255,.5); border-radius:24px; color:var(--ink); background:rgba(255,250,242,.95); box-shadow:0 20px 44px rgba(3,24,44,.2); transform:rotate(1deg); }
.league-note-piece { width:70px; border:0; border-radius:20px; background:linear-gradient(145deg,var(--sun),var(--copper)); font-size:42px; box-shadow:0 12px 24px rgba(198,103,67,.22); transform:rotate(-5deg); }
.league-note b { font-size:15px; }
.league-note p span { color:var(--muted); font-size:11px; }

.game-card { grid-template-columns:320px minmax(0,1fr); min-height:620px; margin-top:46px; border:5px solid rgba(255,255,255,.78); border-radius:34px; box-shadow:0 34px 90px rgba(3,24,44,.28); }
.game-visual { background:radial-gradient(circle at 28% 17%,rgba(255,209,102,.34),transparent 29%),radial-gradient(circle at 90% 82%,rgba(101,214,179,.22),transparent 26%),linear-gradient(150deg,#1b78ad,#0a3158 78%); }
.game-visual::before { content:"ВАШ МАРШРУТ"; position:absolute; top:25px; left:28px; z-index:1; padding:8px 11px; border:1px solid rgba(255,255,255,.25); border-radius:999px; color:#dff4ff; background:rgba(4,31,56,.28); font-size:8px; font-weight:850; letter-spacing:.14em; }
.mini-board { border-width:8px; border-radius:17px; transform:rotate(-3deg); }
.mini-board span { background:#ffd08b; }
.mini-board span:nth-child(2),.mini-board span:nth-child(4),.mini-board span:nth-child(5),.mini-board span:nth-child(7) { background:#ff8f56; }
.mini-board span.is-current { background:var(--mint); box-shadow:inset 0 0 0 5px rgba(255,255,255,.6); }
.game-visual > p span { color:#c9e9fa; }
.game-visual > p strong { color:var(--sun); font-size:27px; }

.form-panel { padding:38px 42px 32px; background:linear-gradient(145deg,#fffdf8,#fff7eb); }
.progress-head b { color:var(--cinnamon); font-size:14px; }
.progress-track { height:10px; background:#e7dfd5; box-shadow:inset 0 1px 2px rgba(9,40,68,.08); }
.progress-track i { background:linear-gradient(90deg,var(--copper),var(--sun),var(--mint)); box-shadow:0 0 14px rgba(255,155,84,.3); }
.move-map { gap:8px; margin:24px 0 30px; }
.move-map button { border-width:2px; border-radius:50%; background:#fff; box-shadow:0 5px 12px rgba(9,40,68,.06); font-weight:850; }
.move-map button.is-current { color:var(--navy); border-color:var(--copper); background:var(--sun); box-shadow:0 8px 20px rgba(255,155,84,.27); transform:translateY(-3px) scale(1.06); }
.move-map button.is-complete { color:var(--navy); border-color:var(--mint); background:#dff8f0; }
.question-kicker { display:inline-flex; margin-bottom:11px; padding:7px 10px; border-radius:999px; color:#175174; background:#e4f5fd; font-size:9px; }
.question-help { font-size:14px; }
.field-label { font-size:12px; }
.text-input { min-height:62px; padding-inline:18px; font-size:16px; }
.textarea-input { font-size:15px; }
.inline-toggle { min-height:62px; border-width:2px; border-radius:17px; }
.choice label { min-height:66px; padding:14px 16px 14px 51px; border-width:2px; border-radius:18px; background:#fff; color:#23445f; font-size:13px; font-weight:700; }
.choice:nth-child(4n+1) label { background:#fff9eb; }
.choice:nth-child(4n+2) label { background:#eef8fd; }
.choice:nth-child(4n+3) label { background:#f0fbf7; }
.choice:nth-child(4n+4) label { background:#f5f2ff; }
.choice label:hover { border-color:var(--copper); transform:translateY(-3px); box-shadow:0 10px 22px rgba(64,46,27,.09); }
.choice input:checked + label { border-color:var(--copper); background:#fff0df; box-shadow:0 10px 22px rgba(255,155,84,.15); }
.button { min-height:54px; padding-inline:21px; border-radius:16px; font-weight:850; }
.button-primary { color:var(--navy); background:linear-gradient(135deg,var(--sun),var(--copper)); box-shadow:0 12px 24px rgba(255,155,84,.23); }
.form-error { border:1px solid #ffc3b8; border-radius:15px; font-size:13px; }
.profile-result h2 { color:var(--ink); }
.profile-result pre { border-width:2px; border-radius:18px; background:#fff; }

@media (max-width:900px) {
  .game-card { grid-template-columns:250px minmax(0,1fr); }
  .profile-intro { gap:24px; }
  .league-note { transform:none; }
}

@media (max-width:700px) {
  .profile-header { border-radius:18px; }
  .back-link { min-width:42px; padding:0; justify-content:center; }
  .profile-shell { padding-top:42px; }
  .profile-intro h1 { font-size:clamp(43px,12.5vw,58px); }
  .profile-intro-copy > p { font-size:14px; }
  .mission-chips { gap:6px; }
  .mission-chips span { min-height:34px; padding-inline:10px; font-size:9px; }
  .league-note { grid-template-columns:58px 1fr; border-radius:20px; }
  .league-note-piece { width:58px; font-size:35px; }
  .game-card { margin-top:28px; border-width:3px; border-radius:25px; }
  .game-visual { grid-template-columns:88px 1fr; padding:46px 18px 18px; }
  .game-visual::before { top:13px; left:17px; }
  .mini-board { width:88px; border-width:5px; border-radius:12px; }
  .form-panel { padding:24px 17px 20px; }
  .move-map { grid-template-columns:repeat(8,38px); gap:7px; overflow-x:auto; margin:18px -2px 25px; padding:3px 2px 9px; scrollbar-width:none; }
  .move-map::-webkit-scrollbar { display:none; }
  .move-map button { width:38px; }
  .question-stage { min-height:365px; }
  .question-stage h2 { font-size:clamp(30px,8.8vw,39px); }
  .choice label { min-height:60px; font-size:13px; }
  .form-actions { margin-inline:-2px; padding:14px 2px 0; background:linear-gradient(transparent,#fff8ed 25%); }
  .button { min-height:52px; }
}

@media (max-width:390px) {
  .profile-brands i { margin-inline:7px; }
  .school-mark { width:17px; }
  .chessopen-mark { width:82px; }
  .profile-intro h1 { font-size:42px; }
  .league-note { grid-template-columns:50px 1fr; padding:15px; }
  .league-note-piece { width:50px; font-size:30px; }
  .league-note b { font-size:13px; }
  .mission-chips span:last-child { width:100%; justify-content:center; }
  .form-actions { display:grid; grid-template-columns:auto 1fr; }
  .button-primary { width:100%; }
}

@media (prefers-reduced-motion:reduce) { .league-note,.mini-board,.move-map button.is-current { transform:none; } }

/* Embedded in the landing-page modal: keep the game itself and remove duplicate chrome. */
.is-embedded .profile-header,
.is-embedded .profile-footer,
.is-embedded .skip-link { display:none; }
.is-embedded .profile-shell { width:min(1120px,calc(100% - 34px)); padding-top:24px; padding-bottom:34px; }
.is-embedded .profile-intro { margin-top:0; }

@media (max-width:700px) {
  .is-embedded .profile-shell { width:min(100% - 22px,1120px); padding-top:16px; padding-bottom:24px; }
  .is-embedded .profile-intro h1 { font-size:clamp(36px,11vw,48px); }
}

/* One-screen arena mode inside the landing modal. */
html.is-embedded {
  --navy:#06192c;
  --navy-2:#0a2c48;
  --blue:#1478a7;
  --copper:#ff8c5b;
  --cinnamon:#ff6e4a;
  --cream:#f7fbff;
  --ink:#f7fbff;
  --muted:#9db5c6;
  --sky:#4ee8ff;
  --mint:#4ee8ff;
  --violet:#8b5cff;
  --sun:#ffb36b;
  height:100%;
  overflow:hidden;
  color-scheme:dark;
}
.is-embedded body {
  height:100%;
  min-height:0;
  overflow:hidden;
  color:#f7fbff;
  background:
    radial-gradient(circle at 83% 8%,rgba(78,232,255,.15),transparent 27%),
    radial-gradient(circle at 13% 88%,rgba(139,92,255,.13),transparent 28%),
    #041523;
}
.is-embedded body::before {
  opacity:.34;
  background-image:radial-gradient(circle,rgba(78,232,255,.28) 1px,transparent 1.35px);
  background-size:24px 24px;
  mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);
}
.is-embedded body::after { display:none; }
.is-embedded .profile-shell {
  display:block;
  width:100%;
  height:100%;
  margin:0;
  padding:12px;
}
.is-embedded .profile-intro { display:none; }
.is-embedded .game-card {
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(78,232,255,.46);
  border-radius:18px;
  background:rgba(4,21,35,.94);
  box-shadow:0 18px 60px rgba(0,0,0,.38),0 0 30px rgba(78,232,255,.08);
}
.is-embedded .game-visual {
  justify-content:flex-end;
  min-height:0;
  padding:72px 24px 28px;
  border-right:1px solid rgba(78,232,255,.24);
  background:
    radial-gradient(circle at 24% 20%,rgba(255,140,91,.22),transparent 26%),
    linear-gradient(165deg,#0b3555,#061a2d 74%);
}
.is-embedded .game-visual::before {
  top:22px;
  left:22px;
  color:#bfefff;
  border-color:rgba(78,232,255,.28);
  border-radius:4px;
  background:rgba(78,232,255,.06);
}
.is-embedded .game-visual::after {
  right:-95px;
  bottom:-120px;
  border-color:rgba(78,232,255,.16);
  box-shadow:0 0 0 28px rgba(78,232,255,.018),0 0 0 56px rgba(139,92,255,.018);
}
.is-embedded .mini-board {
  width:142px;
  margin:auto;
  border:5px solid rgba(248,251,255,.94);
  border-radius:10px;
  box-shadow:8px 10px 0 rgba(139,92,255,.22),0 18px 38px rgba(0,0,0,.35);
  transform:rotate(-3deg);
}
.is-embedded .mini-board span { background:#ff9163; }
.is-embedded .mini-board span:nth-child(2),
.is-embedded .mini-board span:nth-child(4),
.is-embedded .mini-board span:nth-child(5),
.is-embedded .mini-board span:nth-child(7) { background:#174f75; }
.is-embedded .mini-board span.is-current { background:#4ee8ff; box-shadow:inset 0 0 0 4px rgba(255,255,255,.55); }
.is-embedded .mini-board b { font-size:39px; filter:drop-shadow(3px 4px 0 rgba(78,232,255,.28)); }
.is-embedded .game-visual > p { margin:22px 0 0; }
.is-embedded .game-visual > p span { color:#8ebbd0; }
.is-embedded .game-visual > p strong { color:#ff9b68; font-size:22px; }
.is-embedded .form-panel {
  position:relative;
  display:grid;
  grid-template-rows:auto auto auto minmax(0,1fr);
  min-width:0;
  min-height:0;
  height:100%;
  padding:20px 26px 18px;
  color:#f7fbff;
  background:
    linear-gradient(rgba(78,232,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(78,232,255,.025) 1px,transparent 1px),
    linear-gradient(150deg,rgba(8,38,63,.98),rgba(4,21,35,.98));
  background-size:28px 28px,28px 28px,auto;
}
.is-embedded .progress-head > div:first-child { color:#8eb2c6; }
.is-embedded .progress-head b { color:#ff9b68; }
.is-embedded .progress-track { height:6px; margin-top:8px; background:rgba(255,255,255,.09); box-shadow:none; }
.is-embedded .progress-track i { background:linear-gradient(90deg,#ff8c5b,#ff5f76,#8b5cff,#4ee8ff); box-shadow:0 0 14px rgba(78,232,255,.3); }
.is-embedded .move-map {
  gap:7px;
  margin:13px 0 15px;
}
.is-embedded .move-map button {
  aspect-ratio:auto;
  min-height:44px;
  border:1px solid rgba(78,232,255,.22);
  border-radius:4px;
  color:#7fa6b9;
  background:rgba(78,232,255,.035);
  box-shadow:none;
}
.is-embedded .move-map button:hover { border-color:#4ee8ff; }
.is-embedded .move-map button.is-current {
  color:#051521;
  border-color:#4ee8ff;
  background:#4ee8ff;
  box-shadow:0 0 18px rgba(78,232,255,.34);
  transform:translateY(-2px);
}
.is-embedded .move-map button.is-complete {
  color:#d9f9ff;
  border-color:rgba(139,92,255,.7);
  background:rgba(139,92,255,.17);
}
.is-embedded #profile-form {
  display:grid;
  grid-template-rows:minmax(0,1fr) auto auto auto;
  min-height:0;
}
.is-embedded .question-stage {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:0;
  padding-bottom:8px;
  overflow:visible;
}
.is-embedded .question-kicker {
  margin-bottom:7px;
  padding:6px 9px;
  border:1px solid rgba(78,232,255,.24);
  border-radius:3px;
  color:#9cf1ff;
  background:rgba(78,232,255,.07);
}
.is-embedded .question-stage h2 {
  max-width:760px;
  color:#f8fbff;
  font-size:clamp(28px,3vw,42px);
}
.is-embedded .question-help {
  max-width:760px;
  margin:9px 0 14px;
  color:#9db5c6;
  font-size:12px;
  line-height:1.45;
}
.is-embedded .field-label { color:#b9d0dd; }
.is-embedded .text-input,
.is-embedded .textarea-input,
.is-embedded .inline-toggle {
  color:#f8fbff;
  border:1px solid rgba(78,232,255,.3);
  border-radius:7px;
  background:rgba(3,18,31,.72);
}
.is-embedded .text-input { min-height:52px; }
.is-embedded .textarea-input { min-height:112px; max-height:128px; resize:none; }
.is-embedded .text-input::placeholder,
.is-embedded .textarea-input::placeholder { color:#6f91a4; }
.is-embedded .text-input:focus,
.is-embedded .textarea-input:focus { border-color:#4ee8ff; box-shadow:0 0 0 3px rgba(78,232,255,.12),0 0 22px rgba(78,232,255,.1); }
.is-embedded .inline-toggle { min-height:52px; }
.is-embedded .inline-toggle.is-active { color:#06192c; border-color:#ff8c5b; background:#ff8c5b; }
.is-embedded .search-link { color:#67eaff; }
.is-embedded .choice-grid { gap:8px; }
.is-embedded .choice label,
.is-embedded .choice:nth-child(4n+1) label,
.is-embedded .choice:nth-child(4n+2) label,
.is-embedded .choice:nth-child(4n+3) label,
.is-embedded .choice:nth-child(4n+4) label {
  min-height:52px;
  padding:10px 13px 10px 43px;
  color:#dceaf1;
  border:1px solid rgba(78,232,255,.22);
  border-radius:7px;
  background:rgba(255,255,255,.035);
}
.is-embedded .choice label::before { left:14px; border-color:#6f91a4; background:#071d35; }
.is-embedded .choice label:hover { border-color:#4ee8ff; background:rgba(78,232,255,.07); box-shadow:0 0 18px rgba(78,232,255,.08); transform:none; }
.is-embedded .choice input:checked + label {
  color:#fff;
  border-color:#ff8c5b;
  background:linear-gradient(100deg,rgba(255,140,91,.18),rgba(139,92,255,.12));
  box-shadow:0 0 18px rgba(255,140,91,.1);
}
.is-embedded .choice input:checked + label::before { border-color:#ff8c5b; }
.is-embedded .reply-optin {
  margin:8px 0 0;
  padding:11px 13px;
  border-color:rgba(139,92,255,.42);
  border-radius:8px;
  color:#f7fbff;
  background:rgba(139,92,255,.09);
}
.is-embedded .reply-consent { color:#f7fbff; }
.is-embedded .reply-consent small { color:#93adbd; }
.is-embedded .reply-email { color:#b9d0dd; }
.is-embedded .reply-email .text-input { min-height:46px; background:rgba(3,18,31,.72); }
.is-embedded .form-error { margin:8px 0 0; padding:9px 12px; color:#ffd8d0; border:1px solid rgba(255,110,74,.42); background:rgba(255,110,74,.12); }
.is-embedded .form-actions {
  gap:9px;
  padding-top:12px;
  border-color:rgba(78,232,255,.16);
}
.is-embedded .button {
  min-height:46px;
  border-radius:5px;
  font-size:11px;
  letter-spacing:.02em;
}
.is-embedded .button-primary {
  color:#06131f;
  border-color:#ff8c5b;
  background:linear-gradient(135deg,#ff714f,#ffb36b);
  box-shadow:0 0 20px rgba(255,140,91,.2);
}
.is-embedded .button-ghost,
.is-embedded .button-light { color:#c8dbe5; border-color:rgba(78,232,255,.28); background:rgba(78,232,255,.05); }
.is-embedded .profile-result { min-height:0; overflow:hidden; padding:2px 0 0; }
.is-embedded .profile-result h2 { margin-top:9px; color:#f8fbff; font-size:clamp(30px,3.4vw,43px); }
.is-embedded .profile-result > p:not(.eyebrow):not(.result-piece):not(.privacy-note) { color:#9db5c6; }
.is-embedded .profile-result pre { max-height:180px; margin:14px 0 12px; color:#cce4ef; border-color:rgba(78,232,255,.22); background:rgba(3,18,31,.66); }
.is-embedded .text-button { color:#67eaff; }
.is-embedded .privacy-note { color:#7695a7; }
.clear-draft {
  justify-self:end;
  margin:8px 0 0;
  padding:4px 0;
  border:0;
  color:#6c8292;
  background:none;
  font:800 9px/1.3 "Onest",Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:underline;
  text-decoration-color:rgba(108,130,146,.45);
  text-underline-offset:4px;
  cursor:pointer;
}
.clear-draft:hover,
.clear-draft:focus-visible { color:#ff9b68; text-decoration-color:currentColor; }
.is-embedded .clear-draft { color:#8eb2c6; }
.quest-trail { display:none; }

@media (max-width:900px) {
  .is-embedded .game-card { grid-template-columns:150px minmax(0,1fr); }
  .is-embedded .game-visual { padding-inline:16px; }
  .is-embedded .mini-board { width:112px; }
  .is-embedded .game-visual > p strong { font-size:18px; }
  .is-embedded .form-panel { padding-inline:20px; }
}

@media (max-width:700px) {
  .is-embedded .profile-shell { width:100%; height:100%; padding:8px; }
  .is-embedded .game-card { display:block; height:100%; border-radius:12px; }
  .is-embedded .game-visual { display:none; }
  .is-embedded .form-panel { height:100%; padding:15px 14px 12px; grid-template-rows:auto auto auto auto; align-content:start; }
  .is-embedded .move-map { grid-template-columns:repeat(8,minmax(32px,1fr)); gap:5px; overflow:visible; margin:11px 0 13px; padding:0; }
  .is-embedded .move-map button { width:auto; min-height:44px; font-size:8px; }
  .is-embedded #profile-form { display:flex; flex-direction:column; justify-content:flex-start; }
  .is-embedded .question-stage { flex:0 0 auto; min-height:0; justify-content:flex-start; padding-top:8px; }
  .is-embedded .question-stage h2 { font-size:clamp(27px,8vw,36px); }
  .is-embedded .question-help { margin:7px 0 11px; font-size:11px; }
  .is-embedded .choice-grid { grid-template-columns:1fr 1fr; gap:6px; }
  .is-embedded .choice label,
  .is-embedded .choice:nth-child(4n+1) label,
  .is-embedded .choice:nth-child(4n+2) label,
  .is-embedded .choice:nth-child(4n+3) label,
  .is-embedded .choice:nth-child(4n+4) label { min-height:48px; padding:8px 9px 8px 37px; font-size:11px; }
  .is-embedded .choice label::before { left:11px; width:16px; height:16px; }
  .is-embedded .choice.checkbox input:checked + label::after { left:15px; }
  .is-embedded .textarea-input { min-height:92px; max-height:108px; }
  .is-embedded .rating-field { grid-template-columns:minmax(0,1fr) auto; }
  .is-embedded .inline-toggle { padding-inline:10px; font-size:9px; }
  .is-embedded .form-actions { position:static; margin:0; padding:10px 0 0; background:none; }
  .is-embedded .button { min-height:44px; padding-inline:13px; }
  .is-embedded .quest-trail {
    position:relative;
    right:auto;
    bottom:auto;
    left:auto;
    display:block;
    margin-top:14px;
    padding:10px 12px 13px;
    border:1px solid rgba(78,232,255,.2);
    border-radius:8px;
    background:linear-gradient(90deg,rgba(78,232,255,.055),rgba(139,92,255,.07));
    pointer-events:none;
  }
  .is-embedded .quest-trail p {
    display:flex;
    justify-content:space-between;
    gap:10px;
    margin:0;
    color:#81a9bc;
    font-size:8px;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  .is-embedded .quest-trail p b { color:#cde9f4; }
  .is-embedded .quest-trail-line {
    position:relative;
    display:grid;
    grid-template-columns:repeat(8,1fr);
    align-items:center;
    margin-top:10px;
  }
  .is-embedded .quest-trail-line::before {
    position:absolute;
    top:50%;
    right:1%;
    left:1%;
    height:2px;
    content:"";
    background:linear-gradient(90deg,#ff8c5b,#ff5f76,#8b5cff,#4ee8ff);
    transform:translateY(-50%);
  }
  .is-embedded .quest-trail-line span {
    position:relative;
    z-index:1;
    width:7px;
    height:7px;
    justify-self:center;
    border:2px solid #0a2940;
    border-radius:50%;
    background:#89bfd2;
  }
  .is-embedded .quest-trail-line i {
    position:absolute;
    z-index:2;
    top:50%;
    left:0;
    display:grid;
    width:28px;
    height:28px;
    place-items:center;
    color:#061522;
    border:2px solid #d7fbff;
    border-radius:50%;
    background:#4ee8ff;
    box-shadow:0 0 16px rgba(78,232,255,.42);
    font-size:17px;
    font-style:normal;
    line-height:1;
    transform:translate(-50%,-50%);
    transition:left .34s cubic-bezier(.2,.8,.2,1);
  }
  .is-embedded body[data-step="6"] .quest-trail,
  .is-embedded body[data-step="7"] .quest-trail { display:none; }
}

@media (max-width:440px) {
  .is-embedded .move-map { grid-template-columns:repeat(4,minmax(44px,1fr)); }
  .is-embedded .choice-grid { grid-template-columns:1fr; }
  .is-embedded .choice label,
  .is-embedded .choice:nth-child(4n+1) label,
  .is-embedded .choice:nth-child(4n+2) label,
  .is-embedded .choice:nth-child(4n+3) label,
  .is-embedded .choice:nth-child(4n+4) label { min-height:48px; }
  .is-embedded .question-stage h2 { font-size:clamp(25px,7.5vw,31px); }
  .is-embedded .question-kicker { padding-block:5px; font-size:8px; }
  .is-embedded .reply-consent small { display:none; }
  .is-embedded .reply-optin { padding:9px 10px; }
}

@media (max-height:620px) {
  .is-embedded .profile-shell { padding:6px; }
  .is-embedded .form-panel { padding-top:12px; padding-bottom:10px; }
  .is-embedded .move-map { margin-block:8px 10px; }
  .is-embedded .move-map button { min-height:44px; }
  .is-embedded .question-help { margin-block:6px 9px; }
  .is-embedded .choice label,
  .is-embedded .choice:nth-child(4n+1) label,
  .is-embedded .choice:nth-child(4n+2) label,
  .is-embedded .choice:nth-child(4n+3) label,
  .is-embedded .choice:nth-child(4n+4) label { min-height:42px; }
  .is-embedded .form-actions { padding-top:8px; }
  .is-embedded .button { min-height:40px; }
  .is-embedded .quest-trail { display:none; }
}

@media (min-width:701px) {
  .is-embedded #profile-form {
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
  }
  .is-embedded .question-stage {
    flex:0 0 auto;
    justify-content:flex-start;
    padding-top:8px;
    padding-bottom:0;
  }
  .is-embedded .form-actions { margin-top:10px; }
  .is-embedded .textarea-input { min-height:84px; max-height:84px; }
  .is-embedded .quest-trail {
    position:absolute;
    right:26px;
    bottom:18px;
    left:26px;
    display:block;
    padding:11px 15px 14px;
    border:1px solid rgba(78,232,255,.2);
    border-radius:8px;
    background:linear-gradient(90deg,rgba(78,232,255,.055),rgba(139,92,255,.07));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
    pointer-events:none;
  }
  .is-embedded .quest-trail p {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0;
    color:#81a9bc;
    font-size:9px;
    font-weight:800;
    letter-spacing:.11em;
    text-transform:uppercase;
  }
  .is-embedded .quest-trail p b { color:#cde9f4; }
  .is-embedded .quest-trail-line {
    position:relative;
    display:grid;
    grid-template-columns:repeat(8,1fr);
    align-items:center;
    margin-top:11px;
  }
  .is-embedded .quest-trail-line::before {
    position:absolute;
    top:50%;
    right:1%;
    left:1%;
    height:2px;
    content:"";
    background:linear-gradient(90deg,#ff8c5b,#ff5f76,#8b5cff,#4ee8ff);
    box-shadow:0 0 12px rgba(78,232,255,.2);
    transform:translateY(-50%);
  }
  .is-embedded .quest-trail-line span {
    position:relative;
    z-index:1;
    width:7px;
    height:7px;
    justify-self:center;
    border:2px solid #0a2940;
    border-radius:50%;
    background:#89bfd2;
    box-shadow:0 0 0 1px rgba(78,232,255,.35);
  }
  .is-embedded .quest-trail-line i {
    position:absolute;
    z-index:2;
    top:50%;
    left:0;
    display:grid;
    width:30px;
    height:30px;
    place-items:center;
    color:#061522;
    border:2px solid #d7fbff;
    border-radius:50%;
    background:#4ee8ff;
    box-shadow:0 0 18px rgba(78,232,255,.48);
    font-size:18px;
    font-style:normal;
    line-height:1;
    transform:translate(-50%,-50%);
    transition:left .34s cubic-bezier(.2,.8,.2,1);
  }
  .is-embedded body[data-step="7"] .quest-trail { display:none; }
  .is-embedded body[data-step="7"] .question-stage { padding-top:0; }
  .is-embedded body[data-step="7"] .reply-optin { margin-top:4px; padding-block:9px; }
  .is-embedded body[data-step="7"] .form-actions { margin-top:4px; padding-top:8px; }
}

@media (max-height:440px) and (orientation:landscape) {
  .is-embedded .profile-shell { padding:4px; }
  .is-embedded .game-card { border-radius:8px; }
  .is-embedded .form-panel { padding:8px 12px 6px; }
  .is-embedded .progress-head > div:first-child { font-size:8px; }
  .is-embedded .progress-head b { font-size:11px; }
  .is-embedded .progress-track { height:4px; margin-top:3px; }
  .is-embedded .move-map { gap:4px; margin:5px 0 7px; }
  .is-embedded .move-map button { min-height:26px; font-size:7px; }
  .is-embedded #profile-form { display:flex; flex-direction:column; justify-content:flex-start; }
  .is-embedded .question-stage { flex:0 0 auto; justify-content:flex-start; padding:0; overflow:visible; }
  .is-embedded .question-kicker,
  .is-embedded .question-help { display:none; }
  .is-embedded .question-stage h2 { font-size:23px; line-height:1; }
  .is-embedded .field-label { font-size:8px; }
  .is-embedded .text-input,
  .is-embedded .inline-toggle { min-height:36px; margin-top:3px; padding-inline:10px; font-size:11px; }
  .is-embedded .textarea-input { min-height:38px; max-height:38px; margin-top:3px; padding:8px 10px; font-size:11px; line-height:1.25; }
  .is-embedded .choice-grid { gap:4px; }
  .is-embedded .choice label,
  .is-embedded .choice:nth-child(4n+1) label,
  .is-embedded .choice:nth-child(4n+2) label,
  .is-embedded .choice:nth-child(4n+3) label,
  .is-embedded .choice:nth-child(4n+4) label { min-height:34px; padding:6px 8px 6px 34px; font-size:10px; }
  .is-embedded .choice label::before { left:9px; width:15px; height:15px; }
  .is-embedded .choice.checkbox input:checked + label::after { left:13px; font-size:10px; }
  .is-embedded .reply-optin { grid-template-columns:minmax(0,1fr) minmax(210px,.85fr); align-items:end; gap:8px; margin:4px 0 0; padding:6px 8px; }
  .is-embedded .reply-consent { grid-template-columns:18px minmax(0,1fr); gap:7px; align-items:center; }
  .is-embedded .reply-consent input { width:17px; height:17px; }
  .is-embedded .reply-consent strong { font-size:10px; line-height:1.2; }
  .is-embedded .reply-consent small { display:none; }
  .is-embedded .reply-email { margin:0; }
  .is-embedded .reply-email .text-input { min-height:34px; }
  .is-embedded .form-actions { margin-top:4px; padding-top:4px; }
  .is-embedded .button { min-height:34px; padding-inline:12px; font-size:9px; }
}

.is-embedded .privacy-consent { grid-column:1 / -1; margin-top:4px; padding-top:5px; }
.is-embedded .reply-consent.privacy-consent small { display:block; margin-top:2px; font-size:8px; line-height:1.3; }
.is-embedded .profile-result .result-code { border-color:rgba(78,232,255,.28); color:#93adbd; }
