/* Usurp games: game frame, overlays, hub cards and ad slots. */
.gm-top{max-width:980px;margin:0 auto;padding:14px 16px 6px;text-align:center}
.gm-top h1{font-size:clamp(22px,4.6vw,34px);line-height:1.15;margin:0}
.gm-top p{color:var(--muted);font-size:16px;margin:4px 0 0}
.ug-wrap{position:relative}
.ug{position:relative;margin:8px auto 0;width:min(100% - 16px, calc((100vh - 190px) * .75));width:min(100% - 16px, calc((100svh - 190px) * .75));aspect-ratio:3/4;
  background:#0c0a08;border:1px solid var(--gold-deep);box-shadow:0 0 0 3px #0c0a08,0 0 0 4px #3a2e1f,0 14px 44px rgba(0,0,0,.65);overflow:hidden;
  user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
@supports not (aspect-ratio:3/4){.ug{height:0;padding-bottom:133.33%}}
.ug canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}
.ug-wrap:fullscreen{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000;padding:8px}
.ug-wrap:fullscreen .ug{margin:0;width:min(100%, calc((100vh - 64px) * .75))}
.ug-wrap:-webkit-full-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000;padding:8px}
.ug-wrap:-webkit-full-screen .ug{margin:0;width:min(100%, calc((100vh - 64px) * .75))}
.ug-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px auto 0;width:min(100% - 16px, calc((100vh - 190px) * .75));width:min(100% - 16px, calc((100svh - 190px) * .75))}
.ug-wrap:fullscreen .ug-bar{width:min(100%, calc((100vh - 64px) * .75))}
.ug-bestl{font-family:var(--serif);font-size:13px;letter-spacing:.1em;color:var(--muted)}
.ug-bar-r{display:flex;gap:8px;margin-left:auto}
.ug-tb{width:40px;height:40px;display:grid;place-items:center;color:var(--gold-2);background:#120e0a;border:1px solid #5a4523;cursor:pointer;padding:0}
.ug-tb svg{width:22px;height:22px}
.ug-tb:hover{border-color:var(--gold)}
.ug-tb:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}
.ug-ov{position:absolute;inset:0;z-index:3;display:flex;align-items:flex-start;justify-content:center;padding:16px;overflow:auto;overscroll-behavior:contain;
  background:radial-gradient(ellipse at center,rgba(12,10,8,.62),rgba(12,10,8,.9));animation:ugfade .25s ease}
.ug-ov[hidden]{display:none!important}
@keyframes ugfade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.ug-ov{animation:none}}
.ug-card{margin:auto;width:100%;max-width:400px;text-align:center;padding:18px 16px 16px;background:linear-gradient(180deg,rgba(42,32,20,.94),rgba(20,16,12,.96));border:1px solid var(--gold-deep);box-shadow:0 10px 40px rgba(0,0,0,.6)}
.ug-k{font-family:var(--serif);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0}
.ug-t{font-family:var(--serif-d);font-weight:900;color:var(--gold-2);font-size:clamp(22px,5.4vw,30px);line-height:1.15;margin:6px 0 4px}
.ug-big{font-family:var(--serif-d);font-weight:900;font-size:clamp(46px,13vw,68px);line-height:1;color:#fff3cf;margin:6px 0 0;text-shadow:0 0 24px rgba(255,190,80,.35)}
.ug-sub{color:var(--muted);font-size:16px;margin:4px 0 0}
.ug-lines{list-style:none;margin:10px 0 0;padding:0;font-size:16px;color:var(--text)}
.ug-lines li{padding:2px 0}
.ug-howto{text-align:left;font-size:16px;color:var(--text);margin:10px auto 0;max-width:330px;padding-left:20px}
.ug-howto li{margin:3px 0}
.ug-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px}
.ug-btns .btn{min-width:140px}
.ug-crest,.house-bn{display:flex;align-items:center;gap:12px;text-align:left;text-decoration:none;color:var(--text);margin-top:14px;padding:10px 12px;border:1px solid #3a2e1f;background:#120e0a}
.ug-crest:hover,.house-bn:hover{border-color:var(--gold-deep)}
.hb-art{flex:none;width:44px;height:56px;display:block}
.hb-art svg{width:100%;height:100%}
.hb-t{display:flex;flex-direction:column;min-width:0;flex:1}
.hb-t b{font-family:var(--serif);color:var(--gold-2);font-size:15px;line-height:1.25}
.hb-t span{font-size:14px;color:var(--muted);line-height:1.3}
.ug-crest .btn,.house-bn .btn{flex:none;padding:10px 12px;font-size:12px;min-height:0}
@media(max-width:420px){.ug-crest .btn{display:none}}
.ug-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* information under the game */
.gm-info{max-width:860px;margin:26px auto 0;padding:0 16px}
.gm-info h2{font-size:clamp(22px,4vw,28px);margin:0 0 8px}
.gm-info ul,.gm-info ol{padding-left:22px;margin:8px 0}
.gm-info li{margin:4px 0}
.gm-keys{display:grid;gap:10px;grid-template-columns:1fr;margin:10px 0}
@media(min-width:640px){.gm-keys{grid-template-columns:1fr 1fr}}
.gm-keys div{border:1px solid #3a2e1f;background:#120e0a;padding:10px 14px}
.gm-keys b{display:block;font-family:var(--serif);color:var(--gold-2);font-size:14px;letter-spacing:.08em;text-transform:uppercase}
/* ad slot: kept well below the game so a tap meant for the game can never land on it */
.ad-slot{max-width:760px;margin:44px auto 10px;padding:0 16px;min-height:96px}
.ad-slot .ad-lbl{display:block;font-family:var(--serif);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#7d6f57;text-align:center;margin-bottom:4px}
.ad-slot.ad-net{min-height:120px}
.ad-slot .sponsor img{margin:0 auto;height:auto}
.ad-slot .house-bn{margin:0}
.ad-sell{font-size:13px;color:#7d6f57;text-align:center;margin:6px 0 0}
.ad-sell a{color:#a8997c}
/* hub */
.gm-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));max-width:1100px;margin:18px auto 0;padding:0 16px}
.gm-card{display:flex;flex-direction:column;text-decoration:none;color:var(--text);background:#120e0a;border:1px solid #3a2e1f;transition:transform .15s ease,border-color .15s ease}
.gm-card:hover{transform:translateY(-3px);border-color:var(--gold-deep)}
.gm-card img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;background:#0c0a08}
.gm-card .gc-t{padding:12px 14px 14px}
.gm-card b{display:block;font-family:var(--serif-d);font-weight:900;color:var(--gold-2);font-size:20px;line-height:1.2}
.gm-card span{display:block;font-size:15px;color:var(--muted);margin-top:4px;line-height:1.35}
.gm-card em{display:inline-block;margin-top:8px;font-style:normal;font-family:var(--serif);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.gm-more{max-width:1100px;margin:34px auto 0;padding:0 16px}
.gm-more h2{text-align:center}
.gm-more .gm-grid{padding:0;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.gm-more .gm-card b{font-size:16px}
@media(prefers-reduced-motion:reduce){.gm-card{transition:none}.gm-card:hover{transform:none}}
.ug-choices{display:grid;gap:8px;margin-top:14px}
.ug-choice{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:12px 14px;min-height:56px;background:#17120d;border:1px solid #5a4523;color:var(--text);font:inherit;cursor:pointer}
.ug-choice:hover,.ug-choice:focus-visible{border-color:var(--gold-2);background:#2a2015;outline:none}
.ug-choice b{font-family:var(--serif);color:var(--gold-2);font-size:16px;letter-spacing:.04em}
.ug-choice span{font-size:15px;color:var(--muted);line-height:1.3}
.sponsor-card{display:block;margin-top:12px;border:1px solid #3a2e1f}
.sponsor-card img{width:100%;height:auto}
/* phones held sideways: the header scrolls away and the game takes the full height */
@media (orientation:landscape) and (max-height:540px){
  body.ug-page .site-head{position:relative}
  .gm-top{padding:6px 16px 0}.gm-top h1{font-size:18px}.gm-top p{display:none}
  .ug,.ug-bar{width:min(100% - 16px, calc((100vh - 64px) * .75));width:min(100% - 16px, calc((100svh - 64px) * .75))}
  .ug-bar{margin-top:4px}
}
/* small game boxes (phones held sideways, short windows): a compact card so the start button is always in view */
.ug.ug-small .ug-ov{padding:8px}
.ug.ug-small .ug-card{padding:10px 10px 12px}
.ug.ug-small .ug-howto{display:none}
.ug.ug-small .ug-crest{margin-top:8px;padding:6px 8px}
.ug.ug-small .ug-crest .hb-t span{display:none}
.ug.ug-small .ug-crest .hb-art{width:24px;height:30px}
.ug.ug-small .ug-res .ug-lines li:nth-child(n+3){display:none}
.ug.ug-tiny .ug-crest,.ug.ug-tiny .ug-res .ug-lines li:nth-child(n+2){display:none}
.ug.ug-small .ug-t{font-size:19px;margin:2px 0}
.ug.ug-small .ug-big{font-size:40px;margin:2px 0 0}
.ug.ug-small .ug-sub,.ug.ug-small .ug-lines{font-size:14px}
.ug.ug-small .ug-btns{margin-top:10px;gap:8px}
.ug.ug-small .ug-btns .btn{min-width:0;padding:10px 14px;font-size:12px}
.ug.ug-small .ug-choice{min-height:0;padding:8px 10px}
.ug.ug-small .ug-choice span{font-size:13px}
.ug-rot{display:none;font-size:13px;color:var(--muted)}
@media (orientation:landscape) and (max-height:540px){.ug-rot{display:inline}.ug-bestl{display:none}}
/* results cards: compact on phones so the score, both buttons and the crest link all fit in the game */
.ug-res{padding:14px 14px 12px}
.ug-res .ug-t{font-size:clamp(20px,4.8vw,27px)}
.ug-res .ug-big{font-size:clamp(42px,11vw,60px);margin-top:2px}
.ug-res .ug-lines{margin-top:6px;font-size:15px;line-height:1.35}
.ug-res .ug-btns{margin-top:12px;gap:8px;flex-wrap:nowrap}
.ug-res .ug-btns .btn{min-width:0;flex:1 1 0;padding:12px 8px;font-size:12px;letter-spacing:.08em;line-height:1.2}
.ug-res .ug-crest{margin-top:10px;padding:8px 10px;gap:10px}
.ug-res .hb-art{width:30px;height:38px}
@media (max-width:480px){.ug-res .ug-crest .hb-t span{display:none}}
/* hub on phones: two games per row, so all four are on the first screen or two */
@media (max-width:560px){
  #games .gm-grid{grid-template-columns:1fr 1fr;gap:10px;padding:0 10px}
  #games .gm-card .gc-t{padding:8px 10px 10px}
  #games .gm-card b{font-size:16px}
  #games .gm-card span{font-size:13px}
  #games .gm-card em{margin-top:6px;font-size:11px}
}
/* embed code box on game pages and /games/embed.html */
.gm-embed{max-width:860px;margin:22px auto 0;padding:0 16px}
.gm-embed details{border:1px solid #3a2e1f;background:#120e0a;padding:0 14px}
.gm-embed summary{cursor:pointer;padding:12px 0;font-family:var(--serif);color:var(--gold-2);letter-spacing:.06em}
.gm-embed details[open] summary{border-bottom:1px solid #3a2e1f;margin-bottom:10px}
.ge-box{margin:10px 0 14px}
.ge-box textarea{width:100%;min-height:118px;resize:vertical;font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#e8dcc0;background:#0c0a08;border:1px solid #5a4523;padding:10px;box-sizing:border-box}
.ge-box textarea:focus{outline:2px solid var(--gold-2);outline-offset:1px}
.ge-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:8px}
.ge-row .btn{min-width:150px}
.ge-games{display:grid;gap:16px;max-width:980px;margin:18px auto 0;padding:0 16px}
.ge-game{display:grid;gap:14px;grid-template-columns:120px 1fr;align-items:start;border:1px solid #3a2e1f;background:#120e0a;padding:14px}
.ge-game img{width:120px;height:auto;aspect-ratio:3/4;object-fit:cover;background:#0c0a08}
.ge-game h3{font-family:var(--serif-d);font-weight:900;color:var(--gold-2);font-size:20px;margin:0 0 4px}
.ge-game p{margin:0;color:var(--muted)}
@media(max-width:560px){.ge-game{grid-template-columns:1fr}.ge-game img{width:96px}}
.ge-prev{max-width:520px;margin:14px auto 0;padding:0 16px;text-align:center}
.ge-frame{position:relative;display:grid;place-items:center;width:100%;max-width:480px;height:min(724px,calc(100vw * 1.42));margin:12px auto 0;background:#0c0a08;border:1px solid #3a2e1f;overflow:hidden}
.ge-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.ge-frame .btn{position:relative}
.ge-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ge-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.ge-tabs button{font:inherit;font-size:14px;padding:8px 12px;color:var(--text);background:#17120d;border:1px solid #5a4523;cursor:pointer}
.ge-tabs button[aria-pressed="true"]{border-color:var(--gold-2);color:var(--gold-2)}
.ge-steps{display:grid;gap:10px;grid-template-columns:1fr;margin:10px 0}
@media(min-width:720px){.ge-steps{grid-template-columns:1fr 1fr}}
.ge-steps div{border:1px solid #3a2e1f;background:#120e0a;padding:10px 14px}
.ge-steps b{display:block;font-family:var(--serif);color:var(--gold-2);font-size:14px;letter-spacing:.08em;text-transform:uppercase}
/* the embed page itself (inside someone else's iframe): the game fills the frame */
html.ue,html.ue body{height:100%;margin:0;background:#0c0a08;overflow:hidden}
body.ug-embed{display:flex;flex-direction:column;min-height:100%}
.ue-main{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;padding-top:4px}
body.ug-embed .ug{margin:0 auto;width:min(100% - 8px, calc((100vh - 84px) * .75))}
body.ug-embed .ug-bar{width:min(100% - 8px, calc((100vh - 84px) * .75));margin:6px auto 0}
body.ug-embed .ug-rot{display:none!important}
body.ug-embed .ug-bestl{display:inline!important}
.ue-by{display:block;flex:none;text-align:center;font-size:12px;line-height:1.3;padding:4px 8px 6px;color:#a8997c;text-decoration:none;font-family:var(--serif);letter-spacing:.04em}
.ue-by b{color:var(--gold-2);font-weight:700}
.ue-by:hover b{text-decoration:underline}
/* rails beside the game on wide screens: house content (more games, Crest Studio) until an ad network is on */
.gm-stage{display:block}
.ad-rail{display:none}
@media(min-width:1180px){
  .gm-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,640px) minmax(0,1fr);align-items:start;gap:20px;max-width:1400px;margin:0 auto;padding:0 16px}
  .ad-rail{display:block;position:sticky;top:76px;width:300px;max-width:100%;margin:8px 0 0;padding:0;min-height:250px}
  .gm-stage>.ad-rail:first-child{justify-self:end}
  .gm-stage>.ad-rail:last-child{justify-self:start}
  .ad-rail.ad-net{min-height:600px}
}
.ad-rail .house-bn{flex-direction:column;text-align:center;padding:16px 14px}
.ad-rail .house-bn .hb-art{width:88px;height:112px}
.ad-rail .house-bn .hb-t{align-items:center}
.ad-rail .house-bn .btn{margin-top:4px}
.rail-games{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rail-games .ad-lbl{grid-column:1/-1;margin:0}
.rail-games a{display:block;text-decoration:none;color:var(--gold-2);font-family:var(--serif);font-size:12px;letter-spacing:.06em;text-align:center;line-height:1.25}
.rail-games img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border:1px solid #3a2e1f;margin-bottom:3px;display:block}
.rail-games a:hover img{border-color:var(--gold-deep)}
/* share row under each game */
.gm-share{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 10px;max-width:860px;margin:14px auto 0;padding:0 16px}
.gm-share span{font-family:var(--serif);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.gm-share a,.gm-share button{font:inherit;font-size:15px;line-height:1;padding:9px 12px;color:var(--gold-2);background:#120e0a;border:1px solid #5a4523;text-decoration:none;cursor:pointer}
.gm-share a:hover,.gm-share button:hover{border-color:var(--gold)}
.gm-share a:focus-visible,.gm-share button:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}
@media(max-width:420px){.gm-share span{flex-basis:100%;text-align:center;margin:0}}
.ug-help{font-family:var(--serif-d);font-weight:900;font-size:20px;line-height:1}
.ug-rules{text-align:left;margin:10px auto 0;max-width:360px;font-size:15px;line-height:1.4}
.ug-rules li{margin:4px 0}
.ug-rules b{color:var(--gold-2)}
/* rules diagrams on the Viking chess page */
.rules-figs{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin:12px 0 0}
.rules-figs figure{margin:0;background:#120e0a;border:1px solid #3a2e1f;padding:10px;text-align:center}
.rules-figs svg{width:100%;max-width:212px;height:auto;display:block;margin:0 auto}
.rules-figs figcaption{font-size:15px;line-height:1.35;margin-top:8px;text-align:left}
.rules-figs b{color:var(--gold-2)}
/* The Usurper: lobby, council and result panels over the game */
.us-pan{position:absolute;inset:0;z-index:4;display:flex;align-items:flex-start;justify-content:center;padding:12px;overflow:auto;overscroll-behavior:contain;background:radial-gradient(ellipse at center,rgba(12,10,8,.86),rgba(12,10,8,.96));animation:ugfade .2s ease}
.us-pan[hidden]{display:none!important}
.us-card{margin:auto;width:100%;max-width:420px;text-align:center;padding:16px 14px;background:linear-gradient(180deg,rgba(42,32,20,.95),rgba(20,16,12,.97));border:1px solid var(--gold-deep);box-shadow:0 10px 40px rgba(0,0,0,.6)}
.us-lbl{display:block;text-align:left;font-family:var(--serif);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:12px 0 4px}
.us-in{width:100%;box-sizing:border-box;font:inherit;font-size:16px;color:var(--text);background:#0e0b08;border:1px solid #5a4523;padding:10px 12px;border-radius:0}
.us-in:focus{outline:2px solid var(--gold-2);outline-offset:1px}
.us-codein{text-align:center;font-family:var(--serif-d);font-size:28px;letter-spacing:.3em;text-transform:uppercase;margin-top:12px}
.us-share{margin-top:10px;padding:10px;border:1px dashed #6b5430;background:#120e0a}
.us-share p{margin:0;font-family:var(--serif);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.us-code{display:block;font-family:var(--serif-d);font-size:40px;letter-spacing:.25em;color:#fff3cf;margin:2px 0 8px}
.us-row{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap}
.us-row .btn{min-width:0;padding:10px 14px;font-size:13px}
.us-fill{margin-top:10px;font-size:15px;color:var(--muted)}
.us-fill b{font-family:var(--serif-d);font-size:22px;color:#fff3cf;min-width:30px}
.us-plist{list-style:none;margin:12px 0 0;padding:0;text-align:left;max-height:220px;overflow:auto}
.us-plist li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid #2c2318;font-size:16px}
.us-plist li span{margin-left:auto;font-size:13px;color:var(--muted)}
.us-dot{display:inline-block;flex:none;width:14px;height:14px;border-radius:50%;border:2px solid rgba(0,0,0,.5);vertical-align:-2px;margin-right:4px}
.us-cd{margin:10px 0 0;color:var(--text);font-size:15px}
.us-note{margin:10px 0 0;font-size:14px;color:var(--muted);line-height:1.4}
.us-council{width:100%;max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:8px;min-height:100%}
.us-ch{text-align:center;padding:4px 0}
.us-why{margin:4px 0 0;font-size:16px;color:#fff3cf;line-height:1.35}
.us-tm{margin:2px 0 0;font-size:13px;color:var(--gold)}
.us-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
.us-pc{display:flex;align-items:center;gap:4px;flex-wrap:wrap;text-align:left;font:inherit;font-size:14px;color:var(--text);background:#16110c;border:1px solid #3a2e1f;padding:8px;min-height:44px;cursor:pointer}
.us-pc b{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:62%}
.us-pc em{font-style:normal;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-left:auto}
.us-pc.sel{border-color:var(--gold-2);background:#2a2014;box-shadow:0 0 0 1px var(--gold-2) inset}
.us-pc.dead{opacity:.45;cursor:default;text-decoration:line-through}
.us-pc.mate em{color:#ff7a6b}
.us-acts,.us-quick{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center}
.us-acts .btn{min-width:0;padding:10px 14px;font-size:13px}
.us-acts .us-note{margin:0;width:100%;text-align:center}
.us-q{font:inherit;font-size:13px;color:var(--text);background:#120e0a;border:1px solid #5a4523;padding:8px 10px;min-height:40px;cursor:pointer}
.us-q:hover,.us-pc:hover{border-color:var(--gold)}
.us-sel{font:inherit;font-size:13px;color:var(--text);background:#120e0a;border:1px solid #5a4523;padding:8px;min-height:40px}
.us-log{flex:1;min-height:110px;max-height:200px;overflow:auto;background:#0e0b08;border:1px solid #2c2318;padding:6px 8px;text-align:left}
.us-log p{margin:3px 0;font-size:14px;line-height:1.35}
.us-log i{color:var(--gold)}
.us-say{display:flex;gap:6px}
.us-say .btn{min-width:0;padding:10px 14px}
.us-res .us-big{font-family:var(--serif-d);font-weight:900;font-size:26px;color:#9fe0b4;margin:8px 0 0}
.us-res .us-big.red{color:#ff7a6b}
@media(max-width:420px){.us-grid{grid-template-columns:1fr 1fr}.us-pc{font-size:13px;padding:6px}}
/* optional cloud save: the strip under each game and its dialog */
.ua-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;max-width:760px;margin:14px auto 0;padding:10px 14px;border:1px solid #3a2e1f;background:#120e0a}
.ua-t{display:flex;flex-direction:column;flex:1 1 260px;min-width:0}
.ua-t b{font-family:var(--serif);color:var(--gold-2);font-size:15px}
.ua-t span{font-size:14px;color:var(--muted);line-height:1.35}
.ua-b{display:flex;flex-wrap:wrap;gap:8px}
.ua-b .btn,.ua-row .btn{min-width:0;padding:10px 14px;font-size:13px}
#games>.ua-bar,.ua-bar+section{margin-bottom:14px}
.ua-dlg{position:fixed;inset:0;margin:auto;height:fit-content;max-height:calc(100vh - 32px);overflow:auto;border:1px solid var(--gold-deep);background:linear-gradient(180deg,#2a2014,#14100c);color:var(--text);padding:0;max-width:min(460px,calc(100vw - 32px));width:100%;box-shadow:0 20px 60px rgba(0,0,0,.7)}
.ua-dlg::backdrop{background:rgba(6,5,4,.75)}
.ua-in{position:relative;padding:22px 18px 18px;text-align:center}
.ua-x{position:absolute;top:6px;right:8px;width:40px;height:40px;font-size:26px;line-height:1;background:none;border:0;color:var(--muted);cursor:pointer}
.ua-code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:clamp(14px,4.3vw,22px);letter-spacing:.02em;white-space:nowrap;color:#fff3cf;background:#0e0b08;border:1px dashed #6b5430;padding:12px 8px;margin:10px 0;user-select:all;word-break:break-all}
.ua-note{font-size:14px;color:var(--muted);line-height:1.45;margin:8px 0}
.ua-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px}
.ua-input{text-align:center;font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.05em;text-transform:uppercase;margin-top:6px}
.ua-done{margin-top:14px;width:100%}
.us-sp{display:block;margin-top:4px}.us-sp img{display:block;width:100%;height:auto}
.us-note a{color:var(--gold-2)}
