/* HungaroGames Deluxe: scoped UI, original game layouts retained. */
:root{--dx-accent:#becbb0;--dx-bg:#10181c;--dx-panel:#1b252a;--dx-panel2:#233037;--dx-ink:#f0f0e8;--dx-muted:#acb6b5;--dx-line:#ffffff19;--dx-toolbar:58px;--dx-font:Inter,"Segoe UI",Arial,sans-serif}
.hgdx{scrollbar-color:#53616a #152128;color-scheme:dark;font-family:var(--dx-font);-webkit-font-smoothing:antialiased}
.hgdx body{background-color:#10191f!important;background-image:radial-gradient(ellipse at 20% 15%,color-mix(in srgb,var(--dx-accent) 8%,transparent),transparent 50%),linear-gradient(150deg,#17232a,#0c1419)!important}
.hgdx :focus-visible{outline:2px solid var(--dx-accent)!important;outline-offset:4px}
.hgdx button{cursor:pointer}
#dx-toolbar,#dx-modal,#dx-toast{font-family:var(--dx-font);color:var(--dx-ink);font-size:14px;line-height:1.5;text-align:left;box-sizing:border-box}
#dx-toolbar *,#dx-modal *{box-sizing:border-box;letter-spacing:normal;text-shadow:none}
#dx-toolbar{position:fixed;z-index:999980;inset:0 0 auto;height:var(--dx-toolbar);padding:0 24px;display:flex;align-items:center;gap:24px;background:#131d23f5;border-bottom:1px solid var(--dx-line);backdrop-filter:blur(16px)}
#dx-toolbar svg,#dx-modal svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linejoin:round;stroke-linecap:round;vertical-align:middle;flex-shrink:0}
#dx-toolbar .dx-home{display:flex;align-items:center;gap:9px;color:var(--dx-ink);text-decoration:none;font-size:13px;white-space:nowrap}
#dx-toolbar .dx-current{border-left:1px solid var(--dx-line);padding-left:24px;display:flex;align-items:center;gap:12px;flex:1;min-width:0}
#dx-toolbar .dx-current b{font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
#dx-toolbar .dx-current>span{color:var(--dx-muted);font-size:11px;border:1px solid var(--dx-line);padding:2px 8px;border-radius:5px}
#dx-toolbar .dx-tools{display:flex;align-items:center;gap:5px}
#dx-fps{font-family:monospace;color:#9faead;font-size:10px;min-width:46px;margin-right:12px}
#dx-toolbar .dx-icon,#dx-modal .dx-icon{display:grid;place-items:center;border:1px solid transparent;color:var(--dx-muted);background:transparent;width:35px;height:35px;padding:7px;border-radius:7px;box-shadow:none;transition:background .16s,color .16s;flex-shrink:0}
#dx-toolbar .dx-icon:hover,#dx-modal .dx-icon:hover{background:#ffffff0a;border-color:var(--dx-line);color:white;transform:none;filter:none}
#dx-toolbar .dx-icon[aria-pressed="true"]{color:var(--dx-accent);background:#ffffff0a}
#dx-toolbar .dx-pause{background:var(--dx-accent);color:#142127;margin-left:5px}
#dx-modal{position:fixed;inset:0;z-index:999990;background:#080e14de;backdrop-filter:blur(14px);overflow:auto;display:grid;place-items:center;padding:38px 28px}
#dx-modal[hidden]{display:none!important}
#dx-modal .dx-dialog{width:min(1090px,100%);background:#172127;border:1px solid #ffffff1c;border-radius:17px;box-shadow:0 24px 120px #0007;overflow:hidden}
#dx-modal .dx-modal-top{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;border-bottom:1px solid var(--dx-line)}
#dx-modal .dx-overline{font-size:10px;letter-spacing:2.5px;font-weight:600;color:var(--dx-accent);display:block}
#dx-modal .dx-launch-grid{display:grid;grid-template-columns:1.05fr 1fr;min-height:495px}
#dx-modal .dx-cover{background-position:63% center;background-size:cover;position:relative;min-height:460px;border-right:1px solid var(--dx-line)}
#dx-modal .dx-cover:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#101c28dd)}
#dx-modal .dx-cover-label{position:absolute;z-index:1;bottom:61px;left:32px;right:30px;font-family:Georgia,serif;font-size:30px;line-height:1.25;color:#f2e5c8;max-width:350px;font-style:italic}
#dx-modal .dx-edition{position:absolute;z-index:1;bottom:32px;left:33px;font-size:9px;letter-spacing:2px;color:#ffffff80}
#dx-modal .dx-launch-copy{padding:39px 38px 28px}
#dx-modal h1,#dx-modal h2{color:var(--dx-ink);background:none;-webkit-text-fill-color:initial;letter-spacing:-1.5px;font-family:var(--dx-font);font-weight:600;font-size:39px;line-height:1.1;margin:16px 0 18px;text-shadow:none}
#dx-modal h2{font-size:32px}
#dx-modal .dx-lead{font-size:14px;line-height:1.7;color:#bac3bf;margin:0 0 21px;max-width:410px}
#dx-modal .dx-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 26px}
#dx-modal .dx-tags span{font-size:10px;border:1px solid #ffffff1c;border-radius:5px;padding:4px 9px;color:#d3d8ce}
#dx-modal .dx-mini-stats{display:flex;justify-content:space-between;gap:15px;padding:20px 0;border-top:1px solid var(--dx-line);border-bottom:1px solid var(--dx-line);margin-bottom:22px}
#dx-modal .dx-mini-stats div{display:flex;flex-direction:column;gap:6px}
#dx-modal .dx-mini-stats b{font-size:17px;font-weight:600}
#dx-modal .dx-mini-stats span{font-size:8px;letter-spacing:1.3px;color:#8faaa9}
#dx-modal .dx-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
#dx-modal .dx-btn{display:flex;justify-content:center;align-items:center;gap:9px;background:var(--dx-accent);color:#16232b;border:1px solid transparent;border-radius:8px;padding:13px 17px;font-size:12px;font-weight:600;min-height:45px;box-shadow:none;transition:filter .15s,background .15s;text-decoration:none;line-height:1.2;margin:0;transform:none}
#dx-modal .dx-actions .dx-btn:first-child{grid-column:1/-1}
#dx-modal .dx-btn:hover{filter:brightness(1.1);transform:none;box-shadow:none}
#dx-modal .dx-secondary{background:#ffffff05;border-color:var(--dx-line);color:#dce0d9}
#dx-modal .dx-tertiary{background:none;color:#aab7b2;grid-column:1/-1;font-weight:400;padding:7px;min-height:32px}
#dx-modal .dx-small{color:#8e9a99;font-size:10px;line-height:1.5;margin:16px 0 0}
#dx-modal .dx-dialog-foot{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;border-top:1px solid var(--dx-line);font-size:10px;color:#899d9b;gap:16px}
#dx-modal .dx-dialog-foot i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#9bbf9c;margin-right:6px}
#dx-modal .dx-dialog-foot a{color:#c1cbc1;text-decoration:none;display:flex;align-items:center;gap:8px}
#dx-modal .dx-dialog-foot svg{width:13px;transform:rotate(180deg)}
#dx-modal .dx-settings{padding:32px 42px 37px;max-width:780px;margin:auto}
#dx-modal .dx-muted{color:#a9b6b2;font-size:13px;line-height:1.6}
#dx-modal .dx-option{display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid var(--dx-line);gap:22px;cursor:pointer}
#dx-modal .dx-option>span{font-size:13px;font-weight:500}
#dx-modal .dx-option small{display:block;color:#93a29e;margin-top:4px;font-size:11px;font-weight:400}
#dx-modal select{background:#233239;border:1px solid #ffffff25;border-radius:6px;padding:9px 10px;color:#e6eadf;min-width:160px;font:12px var(--dx-font)}
#dx-modal input[type="range"]{accent-color:var(--dx-accent);width:160px}
#dx-modal input[type="checkbox"]{width:21px;height:21px;accent-color:var(--dx-accent)}
#dx-modal .dx-settings .dx-actions{margin-top:28px;display:flex}
#dx-modal .dx-control-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}
#dx-modal .dx-control-list>div{border:1px solid var(--dx-line);padding:15px;border-radius:7px;background:#ffffff03}
#dx-modal .dx-control-list strong{font-size:12px;color:var(--dx-accent);font-weight:600}
#dx-modal .dx-control-list p{font-size:12px;color:#b4c2ba;line-height:1.6;margin:8px 0 0}
#dx-toast{position:fixed;z-index:1000010;bottom:25px;left:50%;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:#d5dbc7;color:#142329;padding:12px 20px;border-radius:8px;box-shadow:0 6px 28px #0005;max-width:90vw;font-size:12px;transition:.2s}
#dx-toast.show{opacity:1;transform:translate(-50%,0)}
/* Games with their own fixed stages get a true inset, never a covered HUD. */
.dx-desktop body{padding-top:var(--dx-toolbar);box-sizing:border-box}
.dx-desktop[data-game="mohacs"] #stage,.dx-desktop[data-game="zrinyi"] #stage,.dx-desktop[data-game="torda"] #stage{top:var(--dx-toolbar)!important;height:calc(100dvh - var(--dx-toolbar))!important}
.dx-desktop #stage:has(>canvas:only-child){inset:var(--dx-toolbar) 0 0!important}
.dx-desktop .hgs-root,.dx-desktop .hgs-pausebtn{display:none!important}
.dx-desktop button:not([class*="dx-"]),.dx-desktop .btn:not([class*="dx-"]){border-radius:7px!important;box-shadow:none!important;text-shadow:none!important;transition:background .15s,filter .15s,transform .1s}
.dx-desktop button:not([class*="dx-"]):active{transform:translateY(1px)}
.dx-desktop h1:not(#dx-modal h1),.dx-desktop h2:not(#dx-modal h2),.dx-desktop h3:not(#dx-modal h3){text-shadow:none!important}
.dx-desktop input,.dx-desktop select,.dx-desktop textarea{border-radius:6px!important;box-shadow:none!important}
.dx-desktop canvas{image-rendering:auto;box-shadow:none}
.dx-desktop [class*="modal"],.dx-desktop [class*="panel"]{box-shadow:0 12px 42px #0003}
/* Mobile games keep their 450×800 logical world; no stretched circles or targets. */
.dx-mobile body{padding:var(--dx-toolbar) 12px 12px;align-items:center;justify-content:center;overflow:hidden;min-height:100dvh;height:100dvh;box-sizing:border-box}
.dx-mobile #stage{width:min(450px,calc((100dvh - var(--dx-toolbar) - 26px)*.5625));height:auto;max-height:none;display:block;position:relative}
.dx-mobile .topbar,.dx-mobile footer{display:none!important}
.dx-mobile .wrap{width:100%;aspect-ratio:450/800;flex:none;margin:0;border-radius:12px;border:1px solid #ffffff25;box-shadow:0 24px 70px #0005;overflow:hidden}
.dx-mobile canvas{width:100%;height:100%;border-radius:0}
.dx-mobile .layer{padding:18px;overflow:auto}
.dx-mobile .layer .glass{background:#101d28bc;backdrop-filter:blur(8px)}
.dx-mobile .card{background:#182a33f5;border:1px solid #ffffff24;border-radius:12px;padding:23px 19px;width:100%;box-shadow:0 15px 55px #0004;animation:none}
.dx-mobile .card h1{font:600 27px/1.08 var(--dx-font);color:#edf0e4;background:none;-webkit-text-fill-color:initial;letter-spacing:-1px;margin:10px 0}
.dx-mobile .eyebrow{font-size:8px;letter-spacing:2px;color:var(--dx-accent);font-weight:600}
.dx-mobile .card p,.dx-mobile .hint{color:#b2c1bb;line-height:1.6;font-size:11px}
.dx-mobile .chip{padding:5px 8px;font-size:9px;border-radius:5px;background:#ffffff06;font-weight:500}
.dx-mobile .btn{font:600 12px var(--dx-font);padding:13px 9px;background:var(--dx-accent);color:#152630;border-radius:7px;box-shadow:none}
.dx-mobile .btn.ghost{background:transparent;color:#d7ddd5;border:1px solid var(--dx-line)}
.dx-mobile .big{font:600 46px var(--dx-font);letter-spacing:-2px;color:#ecede4;text-shadow:none}
.dx-mobile .rec{font-size:11px;color:var(--dx-accent)}
.dx-mobile #menu.on{display:none!important} /* New common start screen replaces the duplicate mobile menu. */
.dx-mobile .dx-results{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;border-top:1px solid #ffffff1b;margin-top:16px;padding-top:14px}
.dx-mobile .dx-results>div{display:flex;flex-direction:column;gap:5px}
.dx-mobile .dx-results b{font-size:18px;font-weight:600;color:var(--dx-accent)}
.dx-mobile .dx-results span{font-size:8px;color:#a5b7b2;letter-spacing:.8px}
.dx-mobile .dx-round-badge{display:block;padding:7px 10px;font-size:10px;border:1px solid var(--dx-accent);color:var(--dx-accent);margin:13px 0 0;border-radius:6px}
.dx-reduce-motion *, .dx-reduce-motion *:before,.dx-reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.dx-contrast{--dx-muted:#d9e3db;--dx-line:#ffffff5c}
.dx-contrast #dx-toolbar,.dx-contrast #dx-modal .dx-dialog{background:#101c24}
@media(min-width:1000px){.dx-mobile body:before,.dx-mobile body:after{position:fixed;pointer-events:none;max-width:210px;color:#8da19c;font:12px/1.9 var(--dx-font);letter-spacing:1px}
 .dx-mobile body:before{content:"HUNGAROGAMES\A DELUXE COLLECTION";white-space:pre;left:7%;top:44%;font-size:11px;letter-spacing:3px;color:#9cafaa}
 .dx-mobile body:after{content:"Egy jó menethez nem kell más, csak te.\A\A ESC  ·  SZÜNET";white-space:pre-line;right:6%;top:43%;color:#69817d;font-size:12px}}
@media(max-width:700px){:root{--dx-toolbar:52px}#dx-toolbar{padding:0 11px;gap:10px}#dx-toolbar .dx-current{padding-left:10px}#dx-toolbar .dx-current span,#dx-toolbar .dx-home span,#dx-fps{display:none}#dx-toolbar .dx-icon{width:30px;height:32px;padding:6px}#dx-toolbar .dx-tools{gap:1px}#dx-toolbar .dx-current b{font-size:11px}#dx-toolbar [data-dx="sound"],#dx-toolbar [data-dx="favorite"]{display:none}#dx-modal{padding:10px}#dx-modal .dx-modal-top{padding:10px 16px}#dx-modal .dx-overline{font-size:8px;letter-spacing:1.7px}#dx-modal .dx-dialog{border-radius:11px}#dx-modal .dx-launch-grid{grid-template-columns:1fr;min-height:0}#dx-modal .dx-cover{min-height:170px;height:190px;background-position:63% 40%;border-right:none;border-bottom:1px solid var(--dx-line)}#dx-modal .dx-cover-label{font-size:22px;left:20px;bottom:24px;max-width:230px}#dx-modal .dx-edition{display:none}#dx-modal .dx-launch-copy{padding:23px 23px 18px}#dx-modal h1{font-size:29px;line-height:1.1;margin:10px 0}#dx-modal .dx-lead{font-size:12px;margin-bottom:10px}#dx-modal .dx-tags{margin:14px 0}#dx-modal .dx-mini-stats{padding:14px 0;margin-bottom:15px}#dx-modal .dx-mini-stats b{font-size:14px}#dx-modal .dx-dialog-foot{padding:11px 18px;font-size:8px}#dx-modal .dx-small{font-size:9px;margin-top:12px}#dx-modal .dx-settings{padding:23px 20px}#dx-modal .dx-option{gap:10px}#dx-modal select{min-width:125px;max-width:145px}#dx-modal .dx-option small{font-size:10px}#dx-modal .dx-control-list{grid-template-columns:1fr}#dx-modal input[type="range"]{width:115px}.dx-mobile body{padding-bottom:8px}.dx-mobile #stage{width:min(calc(100vw - 16px),calc((100dvh - var(--dx-toolbar) - 12px)*.5625))}}
@media(max-height:680px) and (min-width:701px){#dx-modal{padding:12px}#dx-modal .dx-launch-grid{min-height:0}#dx-modal .dx-cover{min-height:400px}#dx-modal .dx-launch-copy{padding:24px 30px}#dx-modal h1{font-size:31px}#dx-modal .dx-tags{margin-bottom:18px}#dx-modal .dx-mini-stats{padding:14px 0;margin-bottom:16px}}
.hgdx.dx-is-paused body>*:not(#dx-modal):not(#hg-legacy-menu):not(#dx-toolbar),.hgdx.dx-is-paused body>*:not(#dx-modal):not(#hg-legacy-menu):not(#dx-toolbar) *{animation-play-state:paused!important}
