:root{--bg:#090909;--panel:#141414;--panel2:#1f1f1f;--line:#303030;--text:#f2f2f2;--muted:#aaa;--blue:#1f76ff;--red:#ff3858;--green:#25c76a;--yellow:#ffd43b;--purple:#a78bfa;--radius:18px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:16px}body{overflow-x:hidden}button,input,select,textarea{font:inherit}button{border:1px solid #3a3a3a;background:#242424;color:var(--text);padding:12px 16px;border-radius:12px;cursor:pointer;transition:.15s;white-space:nowrap}button:hover{background:#303030;transform:translateY(-1px)}button.primary{background:#eee;color:#111;border-color:#eee}button.ghost,button.secondary{background:transparent}button.danger{background:#7c2730;border-color:#a33;color:#fff}input,select,textarea{width:100%;border:1px solid #383838;background:#151515;color:var(--text);border-radius:12px;padding:13px 14px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1f76ff22}textarea{resize:vertical}a{color:inherit;text-decoration:none}header{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;background:#0c0c0ced;backdrop-filter:blur(8px);z-index:10}.brand{display:flex;align-items:center;gap:14px;font-weight:900;font-size:30px}.brand.big{font-size:34px;justify-content:center}.logo{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:10px;background:#15446e;color:#ffd33d;font-weight:900}.avatar,.bubble{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#252525;border:1px solid #3b3b3b}.hamb{display:none}nav{display:flex;align-items:center;gap:26px;color:#bbb}main{display:grid;grid-template-columns:300px 1fr;min-height:calc(100vh - 72px)}aside{border-right:1px solid var(--line);padding:28px 24px;position:sticky;top:72px;height:calc(100vh - 72px);background:#0d0d0d;z-index:9}aside button,.sideLink{width:100%;display:flex;align-items:center;gap:10px;background:transparent;border:0;text-align:left;margin:6px 0;padding:14px;border-radius:12px;color:#eee}.sideLink:hover,aside button:hover,aside button.active{background:#252525;transform:none}aside hr{border:0;border-top:1px solid var(--line);margin:22px 0}.tip{border:1px solid var(--line);background:#151515;border-radius:14px;color:#bbb;padding:14px;margin-top:20px;line-height:1.4}.mad{position:absolute;bottom:28px;left:24px;font-size:26px;font-weight:900}.content{padding:34px;min-width:0}.screen{animation:fade .18s ease}.hidden{display:none!important}@keyframes fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.loginShell{min-height:calc(100vh - 140px);display:grid;place-items:center}.loginCard{width:min(460px,100%);background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:0 20px 80px #0008}.loginCard input,.loginCard button{margin-top:12px}.toolbar,.titleRow,.row,.actionRow{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.toolbar{margin:18px 0}.toolbar input{max-width:220px}.panel,.card,.adminBox{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.stats{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:14px;margin:20px 0}.stats>div{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px}.stats b{display:block;color:#bbb}.stats span{font-size:26px;font-weight:800}.setCheckLine{display:flex;gap:12px;align-items:flex-start;background:#1c1c1c;border:1px solid #303030;border-radius:14px;padding:14px;margin:10px 0;cursor:pointer}.setCheckLine input{width:auto;margin-top:3px}.setCheckLine small{display:block;color:#aaa;margin-top:4px}.titleRow{justify-content:space-between;margin-bottom:22px}.pill{display:inline-flex;padding:8px 12px;border-radius:999px;background:#292929;margin:4px}.grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(380px,1.8fr) minmax(300px,.9fr);gap:22px;align-items:stretch}.card{min-height:510px}.card.chat,.miniChat{display:flex;flex-direction:column}.wide{min-width:0}.player,.score{display:flex;justify-content:space-between;gap:12px;align-items:center;border:2px solid #353535;background:#1d1d1d;border-radius:16px;padding:18px;margin:12px 0}.pname{display:flex;align-items:center;gap:12px}.player.blue,.score.blue{border-color:var(--blue)}.player.red,.score.red{border-color:var(--red)}.player.green,.score.green{border-color:var(--green)}.player.yellow,.score.yellow{border-color:var(--yellow)}.player.purple,.score.purple{border-color:var(--purple)}.hearts{color:#ff4a65;letter-spacing:2px}.ready{color:var(--green);font-size:24px}.setRow,.leaderRow,.adminSetCard,.questionItem{display:flex;justify-content:space-between;gap:14px;align-items:center;background:#1b1b1b;border-bottom:1px solid #303030;padding:16px;border-radius:12px;margin:8px 0}.setRow b{background:#252525;border:1px solid #3b3b3b;border-radius:99px;padding:6px 10px}.bottom{margin-top:auto;padding-top:18px}.msg{background:#242424;border-radius:12px;padding:12px 14px;margin:8px 0;color:#ddd;overflow-wrap:anywhere}#chat,#playChat{flex:1;overflow:auto;min-height:260px}.chatInput{display:flex;gap:10px;margin-top:12px}.chatInput button{width:62px}.gameLayout{display:grid;grid-template-columns:280px minmax(380px,1fr) 300px;gap:22px;height:calc(100vh - 130px);min-height:620px}.scoreCol,.miniChat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;overflow:auto}.mapWrap{position:relative;background:radial-gradient(circle at center,#181818,#070707);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-height:560px}#map{position:absolute;inset:0}.region{position:absolute;border:3px solid #555;border-radius:35% 45% 38% 42%;background:#161616;display:grid;place-items:center;text-align:center;color:#bbb;box-shadow:inset 0 0 30px #0008;transition:.25s}.region.blue{background:#13376d99;border-color:var(--blue)}.region.red{background:#6d182599;border-color:var(--red)}.region.green{background:#145c3599;border-color:var(--green)}.region.yellow{background:#6d5b1399;border-color:var(--yellow)}.region.purple{background:#4b357899;border-color:var(--purple)}.questionBox{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(680px,90%);background:#171717ee;border:1px solid #3a3a3a;border-radius:18px;padding:28px;box-shadow:0 30px 100px #000}.questionBox.pop{animation:pop .25s ease}@keyframes pop{from{transform:translate(-50%,-50%) scale(.96);opacity:.5}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.questionBox small{color:#aaa}.questionBox h2{font-size:24px;line-height:1.35}.ans{width:100%;margin:8px 0;background:#242424}.ans:disabled{opacity:.55}.timer{height:12px;border-radius:99px;background:#2a2a2a;overflow:hidden;margin-top:16px}.timer span{display:block;height:100%;background:#eee;transition:width .35s linear}.attackFx{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:120px;font-weight:900;pointer-events:none;animation:fx .65s ease forwards}.attackFx.good{color:var(--green)}.attackFx.bad{color:var(--red)}@keyframes fx{to{opacity:0;transform:translate(-50%,-50%) scale(1.6)}}.toast{position:fixed;right:22px;bottom:22px;background:#eee;color:#111;padding:14px 18px;border-radius:12px;box-shadow:0 10px 40px #0008;opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s;z-index:30}.toast.show{opacity:1;transform:none}.adminPanel{max-width:1400px}.adminGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.adminBox{margin-bottom:18px}.adminList,.questionList{max-height:420px;overflow:auto}.questionItem small,.adminSetCard small{display:block;color:#aaa;margin-top:5px;line-height:1.4}.tiny button{padding:8px 10px}.adminForm{align-items:stretch}
@media(max-width:1200px){main{grid-template-columns:240px 1fr}.grid{grid-template-columns:1fr 1fr}.grid .chat{grid-column:1/-1;min-height:280px}.gameLayout{grid-template-columns:220px 1fr}.miniChat{grid-column:1/-1;min-height:260px}.card{min-height:auto}}
@media(max-width:900px){header{padding:0 14px}.brand{font-size:23px}.hamb{display:block;padding:8px 12px}nav a{display:none}main{display:block}.content{padding:16px}aside{position:fixed;left:-280px;top:72px;width:280px;transition:.22s;height:calc(100vh - 72px);box-shadow:20px 0 60px #0008}aside.open{left:0}.mad{position:static;margin-top:30px}.toolbar,.titleRow{align-items:stretch}.toolbar>*{width:100%;max-width:none}.stats{grid-template-columns:1fr 1fr}.grid,.gameLayout,.adminGrid{grid-template-columns:1fr;height:auto;min-height:0}.card,.scoreCol,.miniChat{min-height:auto}.mapWrap{min-height:70vh}.questionBox{width:94%;padding:18px}.questionBox h2{font-size:19px}.titleRow>div,.actionRow button{width:100%}.setRow,.leaderRow,.adminSetCard,.questionItem{align-items:flex-start;flex-direction:column}.row{flex-direction:column;align-items:stretch}.row>*{width:100%}}
@media(max-width:520px){body{font-size:14px}header{height:64px}.logo{width:34px;height:34px}.avatar{width:36px;height:36px}aside{top:64px;height:calc(100vh - 64px)}main{min-height:calc(100vh - 64px)}.content{padding:10px}.panel,.card,.adminBox,.loginCard{padding:16px;border-radius:14px}.stats{grid-template-columns:1fr}.player,.score{padding:13px;flex-direction:column;align-items:flex-start}.mapWrap{min-height:620px}.region span{font-size:11px}.chatInput{gap:6px}.chatInput button{width:48px;padding:10px}}


/* 2026 UI fix: lepší hra, jasné hostitel ovládání, bot button */
body{background:linear-gradient(135deg,#08090d 0%,#10131b 45%,#080808 100%)}
header{box-shadow:0 10px 40px #0005}.content{background:radial-gradient(circle at 70% 15%,#23345e22,transparent 28%),radial-gradient(circle at 20% 80%,#274e3520,transparent 25%)}
button.primary{background:linear-gradient(135deg,#ffffff,#cfd8ff);box-shadow:0 10px 35px #8aa2ff22}button.warn{background:#3a2d16;border-color:#8d6a1d;color:#ffe0a3}.botBtn{background:linear-gradient(135deg,#243b2d,#163d2c);border-color:#2ec06f;color:#ddffe9;font-weight:800}.hostOnly{outline:1px solid #ffffff10}.amHost .titleRow:after{content:'HOSTITEL';position:absolute;right:36px;top:92px;background:#263e2e;color:#a8ffcc;border:1px solid #36c879;border-radius:999px;padding:7px 12px;font-weight:900;font-size:12px;letter-spacing:.08em}.titleRow{position:relative}.gameLayout{grid-template-columns:300px minmax(460px,1fr) 320px}.scoreCol,.miniChat,.mapWrap,.card,.panel{box-shadow:0 18px 60px #0006}.mapWrap{background:radial-gradient(circle at center,#1c2431,#0a0b0f 65%,#050505);border-color:#2d3445}.mapTitle{position:absolute;left:20px;top:18px;z-index:2;color:#ddd;background:#111a;border:1px solid #ffffff18;border-radius:999px;padding:9px 14px;font-weight:900;backdrop-filter:blur(8px)}.region{backdrop-filter:blur(2px);box-shadow:inset 0 0 28px #fff1,0 10px 30px #0008}.region:hover{transform:scale(1.035);z-index:3}.questionBox{background:linear-gradient(180deg,#20222bee,#121318f4);border-color:#ffffff22}.ans{display:flex;justify-content:flex-start;text-align:left;border-color:#ffffff16}.ans:hover{background:#30394b}.timer span{background:linear-gradient(90deg,#69f0ae,#fff176,#ff8a80)}.sideLink{border:0}.debugBadge{display:inline-flex;border:1px solid #555;border-radius:999px;padding:5px 9px;color:#bbb}.leaderRow:nth-child(1){border-color:#ffd43b}.leaderRow:nth-child(2){border-color:#bfc7d5}.leaderRow:nth-child(3){border-color:#cd7f32}
@media(max-width:900px){.amHost .titleRow:after{position:static;display:inline-flex;margin:6px 0}.gameLayout{grid-template-columns:1fr}.actionRow{display:grid;grid-template-columns:1fr 1fr}.actionRow button{width:100%}.mapTitle{left:12px;top:12px}.region{border-width:2px}.region span{font-size:12px}.questionBox{top:56%;}}
@media(max-width:520px){.actionRow{grid-template-columns:1fr}.gameLayout{gap:12px}.mapWrap{min-height:560px}.questionBox{width:96%;padding:14px}.ans{padding:10px 12px}.scoreCol{max-height:260px}}
