/* Shared interaction layout. Each edition supplies its own art direction. */
@font-face{font-family:Road Sans;src:url("./assets/body-latin.woff2") format("woff2");font-style:normal;font-weight:400 800;font-display:swap}
@font-face{font-family:Road Sans;src:url("./assets/body-latin-ext.woff2") format("woff2");font-style:normal;font-weight:400 800;font-display:swap;unicode-range:U+0100-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020-20AB,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Road Sans;src:url("./assets/body-cyrillic.woff2") format("woff2");font-style:normal;font-weight:400 800;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Road Display;src:url("./assets/display.woff2") format("woff2");font-style:normal;font-weight:400 900;font-display:swap}
:root{font-family:"Road Sans","Trebuchet MS",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
body{min-height:100svh;padding:34px 24px;background:var(--page-art,var(--bg));color:var(--ink);align-items:center}
button,input,a{-webkit-tap-highlight-color:transparent}
button{transition:background .18s,border-color .18s,transform .18s,box-shadow .18s}
button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.game{position:relative;width:100%;max-width:1320px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow,0 24px 90px #0003);animation:arrival .5s ease-out both}
.topbar{height:72px;padding:0 30px;background:transparent;border-bottom:1px solid var(--line);gap:14px}
.site-brand{display:flex;align-items:center;gap:11px;min-width:0;text-decoration:none;color:var(--ink)}
.brand-symbol{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border:1px solid var(--accent);color:var(--accent);border-radius:50%;font-size:13px;font-weight:800;letter-spacing:-1px}
.brand-name{display:flex;flex-direction:column;gap:3px;min-width:0}
.brand-name strong{font-size:12px;letter-spacing:.04em}
.brand-name small{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.topbar-right{gap:12px;flex-shrink:0}
.topbar-right .help{height:36px;border:0;padding:0 10px;border-radius:6px;background:transparent;color:var(--muted);font-size:11px;font-weight:600}
.help:hover{color:var(--ink);background:var(--surface)}
.balance{height:38px;min-width:145px;gap:10px;border:1px solid var(--line);border-radius:var(--small-radius);background:var(--surface);color:var(--ink);font-size:13px}
.coin{color:var(--on-accent);background:var(--accent);width:18px;height:18px;font-size:11px}
.menu-icon,.network-brand{display:none}
.titlebar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 32px 28px}
.edition{margin:0 0 9px;display:flex;align-items:center;gap:10px;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.edition-number{display:inline-block;font-variant-numeric:tabular-nums;opacity:.65}
.edition-line{width:28px;height:1px;background:currentColor;opacity:.55}
.wordmark{font-family:"Road Display",Georgia,serif;font-size:clamp(38px,4.8vw,64px);font-weight:700;line-height:1;letter-spacing:-.025em;text-shadow:none;color:var(--ink)}
.egg{width:.72em;height:.85em;vertical-align:-.025em;background:var(--accent);box-shadow:inset -3px -2px 0 #0002}
.title-aside{text-align:right;align-self:flex-end;padding-bottom:3px;flex-shrink:0}
.title-aside p{margin:0 0 9px;font-size:12px;font-weight:500;color:var(--muted)}
.route-tag{display:inline-flex;align-items:center;gap:8px;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink)}
.route-tag i{width:22px;height:1px;background:var(--accent);position:relative}
.route-tag i:after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-top:1px solid var(--accent);border-right:1px solid var(--accent);transform:rotate(45deg)}
.scene{height:342px;margin:0 22px;border:1px solid var(--line);border-radius:var(--scene-radius,var(--small-radius));background:var(--scene-bg) url("./assets/scene.svg?v=9") center center/cover no-repeat;isolation:isolate}
.demo-label{left:18px;top:15px;padding:6px 9px;border:1px solid var(--scene-line,#ffffff30);border-radius:4px;background:var(--label-bg,#101820b3);color:var(--scene-ink,#fff);font-size:9px;font-weight:700;letter-spacing:.08em;text-shadow:none;backdrop-filter:blur(6px)}
.demo-dot{width:5px;height:5px;background:var(--accent);box-shadow:none}
.scene-sign{position:absolute;right:19px;top:19px;z-index:1;display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--scene-ink,#fff);opacity:.65}
.scene-sign:before{content:"";width:20px;height:20px;border:1px solid currentColor;border-radius:50%;background:linear-gradient(90deg,transparent 47%,currentColor 48% 52%,transparent 53%)}
.step-token{top:30%;border:1px solid var(--token-edge);border-radius:var(--token-radius,50%);background:var(--token-bg);color:var(--token-ink);font-family:var(--token-font,"Road Sans",sans-serif);font-size:clamp(16px,1.8vw,25px);font-weight:800;letter-spacing:-.04em;box-shadow:var(--token-shadow,0 7px 0 #0003,0 12px 24px #0002);text-shadow:none;overflow:visible}
.step-token:before{inset:6px;border:1px solid var(--token-edge);border-radius:inherit;opacity:.5}
.step-token:after{content:"";position:absolute;left:50%;top:calc(100% + 13px);width:3px;height:24px;background:var(--token-edge);opacity:.4}
.step-token.current{background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 20%,transparent),0 9px 20px #0003;text-shadow:none}
.step-token.current:before{border-color:currentColor;opacity:.3}
.step-token.lost{background:#ac304e;color:#fff;border-color:#ee7893;box-shadow:0 6px 0 #5f1c30}
.step-token.passed{opacity:.6;filter:none}
.chicken{bottom:5%;filter:drop-shadow(0 8px 5px #0005)}
.scene-message{top:54px;max-width:85%;text-align:center;font-size:13px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:var(--small-radius)}
.control-wrap{padding:22px 30px 18px;background:transparent}
.controls{grid-template-columns:minmax(195px,.85fr) minmax(265px,1.3fr) minmax(275px,1.1fr);align-items:stretch;gap:26px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.field-label{display:block;margin:0 0 10px;font-size:10px;color:var(--muted);font-weight:600;letter-spacing:.045em}
.stake-entry{height:42px;padding:4px;grid-template-columns:42px 1fr 42px;border:1px solid var(--line);border-radius:var(--small-radius);background:var(--surface)}
.stake-entry button{height:30px;font-size:10px;box-shadow:none;background:var(--panel);color:var(--muted);border:1px solid var(--line);border-radius:calc(var(--small-radius) * .65)}
.stake-entry input{height:30px;color:var(--ink);font-size:15px;font-weight:700}
.quick-bets{gap:6px;margin-top:7px}
.quick-bets button{height:30px;font-size:10px;font-weight:600;border:1px solid var(--line);border-radius:calc(var(--small-radius) * .65);background:transparent;color:var(--muted);box-shadow:none}
.quick-bets button:hover:not(:disabled),.stake-entry button:hover:not(:disabled){background:var(--surface);border-color:var(--accent);color:var(--ink)}
.difficulty-heading{height:auto;min-height:24px;padding:0;gap:8px;align-items:flex-start;font-size:10px;color:var(--muted);font-weight:600}
.difficulty-heading span:last-child{font-size:9px;color:var(--muted);font-weight:400;text-align:right}
.difficulty-options{height:42px;padding:4px;gap:2px;border:1px solid var(--line);border-radius:var(--small-radius);background:var(--surface)}
.difficulty-options button{height:32px;font-size:10px;font-weight:600;border-radius:calc(var(--small-radius) * .65);color:var(--muted)}
.difficulty-options button:hover:not(:disabled){color:var(--ink)}
.difficulty-options button.selected{background:var(--accent);color:var(--on-accent);box-shadow:none}
.mode-note{display:flex;align-items:center;gap:7px;margin:12px 0 0;color:var(--muted);font-size:9px;line-height:1.4}
.mode-note:before{content:"↗";color:var(--accent);font-size:14px}
.action-area{gap:9px;align-self:end;grid-template-columns:1fr 1.1fr}
.action-area button{height:80px;border:1px solid var(--line);border-radius:var(--button-radius,var(--small-radius));font-size:20px;font-weight:800;text-shadow:none;box-shadow:none}
.play{background:var(--accent);color:var(--on-accent)!important;animation:none!important;position:relative;overflow:hidden}
.play:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 6px 20px color-mix(in srgb,var(--accent) 20%,transparent)}
.play:after{content:"↗";display:inline-block;margin-left:12px;font-size:22px;font-weight:400;transition:transform .2s}
.play:hover:after{transform:translate(2px,-2px)}
.cashout{background:var(--surface);color:var(--ink)!important}
.cashout span{font-size:10px;font-weight:600;letter-spacing:.025em}
.cashout strong{font-size:20px;margin-top:5px}
.action-area button:disabled{opacity:.42;filter:none}
.play:active:not(:disabled),.cashout:active:not(:disabled){transform:translateY(2px);box-shadow:none}
.status-row{gap:12px;flex-wrap:wrap;margin-top:20px;padding:14px 0 0;border-top:1px solid var(--line);font-size:9px;color:var(--muted);line-height:1.5}
.status-row #status{max-width:48%}
.status-row button,.status-actions a{padding:0;font-size:9px;text-decoration:none;color:var(--muted)}
.status-actions{gap:15px}
.status-row button:hover,.status-actions a:hover{color:var(--ink);text-decoration:underline}
.balance-change{color:var(--muted);font-size:9px}
.balance-change.positive{color:var(--profit,#6edfa0)}.balance-change.negative{color:var(--loss,#fa99a2)}
dialog{background:var(--panel);color:var(--ink);border-color:var(--line);border-radius:var(--radius);padding:24px}
dialog h2{font-family:"Road Display",Georgia,serif;font-size:30px;font-weight:600}
dialog p,.close{color:var(--ink)}dialog p{font-size:13px;line-height:1.75}
.dialog-ok{background:var(--accent);color:var(--on-accent);border-radius:var(--small-radius);min-height:44px}
dialog::backdrop{background:#061014ba;backdrop-filter:blur(5px)}
@keyframes arrival{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@media(min-width:1200px){body[data-layout="rail"] .game{display:grid;grid-template-columns:minmax(0,1fr) 308px}body[data-layout="rail"] .topbar,body[data-layout="rail"] .titlebar{grid-column:1/-1}body[data-layout="rail"] .scene{height:420px;margin:0 0 24px 22px}body[data-layout="rail"] .control-wrap{padding:0 22px 22px}body[data-layout="rail"] .controls{display:flex;flex-direction:column;gap:22px}body[data-layout="rail"] .action-area{width:100%}body[data-layout="rail"] .status-row{gap:8px;margin-top:15px}body[data-layout="rail"] .status-row #status{max-width:100%}body[data-layout="rail"] .status-actions{justify-content:space-between;width:100%}body[data-layout="rail"] .mode-note{margin-top:10px}body[data-layout="rail"] .step-token{top:34%;font-size:19px}}
@media(max-width:1099px){body{padding:20px 14px}.controls{gap:18px;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.2fr)}.action-area{grid-column:1/-1;grid-template-columns:1fr 1.5fr}.action-area button{height:54px}.cashout{flex-direction:row;gap:12px}.cashout strong{margin:0}.titlebar{padding:24px 26px}.scene{height:320px}.control-wrap{padding:20px 26px 16px}.status-row{margin-top:16px}}
@media(max-width:600px){body{padding:12px 8px;align-items:flex-start}.game{border-radius:var(--radius);border:1px solid var(--line)}.topbar{height:60px;padding:0 14px;gap:8px}.brand-symbol{width:28px;height:28px;font-size:10px}.site-brand{gap:7px}.brand-name strong{font-size:9px;letter-spacing:0}.brand-name small{font-size:7px;letter-spacing:.09em}.topbar-right{gap:4px}.topbar-right .help{width:28px;height:34px;font-size:0;padding:0}.help::first-letter{font-size:17px}.balance{min-width:94px;height:32px;font-size:10px;gap:7px;padding:0 8px}.coin{width:14px;height:14px;font-size:9px}.titlebar{padding:22px 16px 20px;gap:10px;display:block}.edition{font-size:8px;letter-spacing:.16em;margin-bottom:9px}.edition-line{width:20px}.wordmark{font-size:43px;letter-spacing:-.025em}.title-aside{display:flex;justify-content:space-between;align-items:center;text-align:left;margin-top:12px;padding:0;gap:12px}.title-aside p{font-size:9px;margin:0}.route-tag{font-size:7px;letter-spacing:.08em;gap:6px;white-space:nowrap}.scene{height:280px;margin:0 10px;background-position:28% center}.demo-label{font-size:7px;left:10px;top:10px;letter-spacing:.04em;padding:5px 6px}.scene-sign{right:11px;top:12px;font-size:7px;gap:5px}.scene-sign:before{width:13px;height:13px}.step-token{top:29%;font-size:20px;border-width:1px}.step-token:before{inset:5px}.step-token:after{height:20px}.chicken{width:77px;bottom:5%}.scene-message{font-size:11px;top:45px}.control-wrap{padding:16px 16px 14px}.controls{display:grid;grid-template-columns:1fr;gap:16px}.stake-area{order:0}.difficulty-area{order:1}.action-area{order:2;grid-column:auto;grid-template-columns:1fr 1.35fr;gap:8px}.field-label{margin-bottom:8px;font-size:10px}.stake-entry{height:40px}.quick-bets{margin-top:6px;gap:6px}.quick-bets button{height:32px;font-size:10px}.difficulty-heading{min-height:23px;font-size:10px}.difficulty-heading span:last-child{font-size:9px}.difficulty-options{height:42px}.difficulty-options button{font-size:10px}.mode-note{margin-top:8px;font-size:9px}.action-area button{height:56px;font-size:17px}.cashout{flex-direction:column;gap:3px}.cashout span{font-size:8px}.cashout strong{font-size:17px}.play:after{font-size:19px;margin-left:10px}.status-row{font-size:8px;gap:8px;margin-top:16px;padding-top:12px}.status-row #status{max-width:100%;width:100%}.balance-change{font-size:8px}.status-actions{width:100%;justify-content:space-between;padding-top:4px}.status-row button,.status-actions a{font-size:8px}dialog{padding:16px}.game{animation-duration:.3s}}
@media(max-width:359px){.brand-symbol{display:none}.wordmark{font-size:36px}.title-aside p{font-size:8px}.route-tag{font-size:6px}.scene-sign{display:none}.topbar{padding-inline:12px}.titlebar{padding-inline:14px}.control-wrap{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.game{animation:none}*,*:before,*:after{scroll-behavior:auto!important}}
