:root{--surface:rgba(18,22,42,.72);--surface-strong:#14182d;--soft-line:rgba(255,255,255,.08);--glow:0 28px 80px rgba(0,0,0,.35)}
html{scroll-behavior:smooth}body{background:radial-gradient(900px 600px at 12% -10%,rgba(169,138,255,.16),transparent 64%),radial-gradient(800px 620px at 95% 12%,rgba(102,225,232,.12),transparent 60%),linear-gradient(145deg,#070912,#0b0d1b 50%,#090b16);background-attachment:fixed}.noise{opacity:.1}
/* Plovoucí navigace */
.topbar{position:sticky;top:16px;z-index:50;width:min(1380px,calc(100% - 32px));height:64px;margin:16px auto 0;padding:0 14px 0 21px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(12,15,29,.72);box-shadow:0 18px 55px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.05);backdrop-filter:blur(22px) saturate(145%)}.brand{display:flex;align-items:center;font-size:13px;letter-spacing:.28em}.brand-mark{width:36px;height:36px;background:linear-gradient(145deg,rgba(102,225,232,.16),rgba(169,138,255,.12));border:1px solid rgba(102,225,232,.45);box-shadow:0 0 28px rgba(102,225,232,.15)}.top-actions{gap:3px;align-items:center;flex-wrap:nowrap}.top-text-button{appearance:none;border:0;background:transparent;color:#9ba1bd;border-radius:999px;padding:10px 13px;font-size:11px;font-weight:600;white-space:nowrap;transition:.18s}.top-text-button:hover{background:rgba(255,255,255,.07);color:#fff}.top-actions #profileBtn{background:rgba(102,225,232,.1);color:var(--cyan);padding-inline:16px}.icon-button{border:0;background:rgba(255,255,255,.06);width:38px;height:38px;transition:.18s}.icon-button:hover{background:rgba(102,225,232,.13);color:var(--cyan);transform:rotate(6deg)}.nav-toggle{display:none;border:0;background:rgba(255,255,255,.07);color:#fff;border-radius:50%;width:40px;height:40px;font-size:18px}
/* Landing bez blokového dashboardu */
.landing{min-height:calc(100vh - 96px);padding-top:70px;gap:70px}.hero-copy h1{font-weight:600;letter-spacing:-.075em;text-wrap:balance}.hero-copy h1 em{-webkit-text-stroke:0;color:#8f94ae;background:linear-gradient(90deg,#9399b5,#d8dbed);-webkit-background-clip:text;background-clip:text;color:transparent}.lead{color:#9fa5c0}.actions{gap:9px;flex-wrap:wrap}.primary,.secondary{border-radius:999px;padding:15px 22px}.primary{border:0;background:linear-gradient(110deg,#75edf0,#68cbd8);box-shadow:0 12px 35px rgba(102,225,232,.19)}.secondary{border:1px solid var(--soft-line);background:rgba(255,255,255,.035)}.secondary:hover{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.14)}.public-lobbies{border:0;margin-top:48px;padding:0}.lobbies-head{margin-bottom:12px}.lobby-list{display:flex;gap:8px;overflow-x:auto;padding:3px 3px 10px}.lobby-row{flex:0 0 min(360px,88vw);border:0;border-radius:18px;background:rgba(255,255,255,.045);padding:14px 17px;box-shadow:inset 0 1px rgba(255,255,255,.04)}.lobby-row:hover{background:rgba(102,225,232,.08);box-shadow:inset 0 0 0 1px rgba(102,225,232,.3)}.how{border:0;background:rgba(255,255,255,.025);border-radius:18px;padding:18px 20px}.hero-orbit{filter:saturate(.82)}.world{box-shadow:inset -25px -25px 60px rgba(0,0,0,.5),0 25px 75px rgba(0,0,0,.35)}
/* Formuláře a modaly */
dialog{border:1px solid rgba(255,255,255,.1);border-radius:26px;background:rgba(14,17,32,.94);box-shadow:0 40px 120px rgba(0,0,0,.65);backdrop-filter:blur(30px)}dialog::backdrop{background:rgba(3,4,11,.72);backdrop-filter:blur(12px)}dialog input,dialog select,.profile-card textarea,.forum-thread textarea{border:0!important;border-radius:13px!important;background:rgba(255,255,255,.055)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);padding:14px 16px!important}dialog input:focus,dialog select:focus,.profile-card textarea:focus,.forum-thread textarea:focus{box-shadow:inset 0 0 0 1px rgba(102,225,232,.55),0 0 0 4px rgba(102,225,232,.07);outline:0}.dialog-close{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.05)}
/* Obecné plochy */
.screen{padding-top:54px}.lobby-card,.ending-card,.profile-card{border:0;border-radius:32px;background:linear-gradient(145deg,rgba(23,28,51,.86),rgba(12,15,29,.9));box-shadow:var(--glow),inset 0 1px rgba(255,255,255,.05)}.lobby-card{overflow:hidden;position:relative}.lobby-card::before,.ending-card::before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(102,225,232,.08);filter:blur(12px);right:-130px;top:-160px}.room-code{border:0;border-radius:18px;background:rgba(0,0,0,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}.player-slots{gap:8px}.slot{border:0;border-radius:16px;background:rgba(255,255,255,.04)}
/* Herní režim */
.game-head{padding:12px 18px;border-radius:22px;background:rgba(15,18,35,.58);backdrop-filter:blur(16px);box-shadow:inset 0 1px rgba(255,255,255,.04)}.timeline-card,.mission-card{border:0;border-radius:22px;background:rgba(18,22,42,.62);box-shadow:inset 0 1px rgba(255,255,255,.045),0 18px 50px rgba(0,0,0,.22);backdrop-filter:blur(18px)}.legend{border-color:rgba(255,255,255,.06)}.board-shell{filter:drop-shadow(0 26px 40px rgba(0,0,0,.35))}.board{border:0;border-radius:18px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)}.cell{border-color:rgba(255,255,255,.035)}.mission-card .tip,.private-clue{border:0;border-radius:14px;background:rgba(0,0,0,.18)}.private-clue{box-shadow:inset 3px 0 var(--violet)}.signal-chat{border:0;border-radius:20px;background:rgba(18,22,42,.58);box-shadow:inset 0 1px rgba(255,255,255,.04)}.signal-buttons button{border:0;border-radius:999px;background:rgba(255,255,255,.055);padding:9px 13px}.signal-buttons button:hover{background:rgba(102,225,232,.13)}.signal{border:0;background:rgba(255,255,255,.045)}.dpad button{border:0;border-radius:12px;background:rgba(255,255,255,.075)}
/* Editor a komunitní obsah */
.editor-head,.forum-head,.panel-head{padding:0 8px}.editor-tools,.community-maps .map-rating{border:0;border-radius:22px;background:rgba(18,22,42,.64);box-shadow:inset 0 1px rgba(255,255,255,.04)}.editor-board{border-radius:20px}.editor-palette button{border:0;border-radius:999px}.editor-palette button.active{background:rgba(102,225,232,.12);box-shadow:inset 0 0 0 1px rgba(102,225,232,.35)}.community-section{border:0}.map-rating{border:0!important;border-radius:18px!important;background:rgba(255,255,255,.04)!important}.stars button{transition:.16s}.stars button:hover{transform:translateY(-2px) scale(1.08)}
/* Fórum jako konverzace, ne tabulka */
.forum-layout{gap:14px}.forum-layout>div:first-child{border:0;border-radius:24px;background:rgba(18,22,42,.54);box-shadow:inset 0 1px rgba(255,255,255,.04)}.forum-topic{border:0;border-radius:17px;background:transparent}.forum-topic:hover{background:rgba(255,255,255,.045)}.forum-topic.selected{border:0;background:linear-gradient(110deg,rgba(102,225,232,.13),rgba(169,138,255,.07));box-shadow:none}.forum-topic.selected::after{content:"→";color:var(--cyan)}.forum-thread{border:0;border-radius:26px;background:rgba(18,22,42,.66);box-shadow:var(--glow),inset 0 1px rgba(255,255,255,.04)}.forum-post{border-color:rgba(255,255,255,.055)}.forum-post.op{background:linear-gradient(110deg,rgba(102,225,232,.07),transparent)}
/* Profil, historie, notifikace */
.profile-avatar{border:0;box-shadow:0 0 0 8px color-mix(in srgb,var(--avatar) 8%,transparent),0 18px 45px rgba(0,0,0,.28)}.profile-stats{gap:3px;padding:5px;border-radius:20px;background:rgba(0,0,0,.16)}.profile-stats span{background:transparent}.history-list{gap:6px}.history-list article{border:0;border-radius:18px;background:rgba(18,22,42,.6);padding:17px 20px;transition:.18s}.history-list article:hover{background:rgba(25,30,55,.76);transform:translateY(-1px)}.history-list article.unread{border:0;background:linear-gradient(110deg,rgba(102,225,232,.1),rgba(18,22,42,.62))}.history-result{border:0;border-radius:999px;background:rgba(255,255,255,.05)}
/* Administrace s lehčí hierarchií */
.admin-counts{gap:6px}.admin-counts span{border:0;border-radius:20px;background:rgba(18,22,42,.58);box-shadow:inset 0 1px rgba(255,255,255,.04)}.admin-grid{gap:12px}.admin-grid section{border:0;border-radius:24px;background:rgba(18,22,42,.58);box-shadow:inset 0 1px rgba(255,255,255,.04)}.admin-grid section>h2{background:rgba(17,21,41,.92);border-color:rgba(255,255,255,.05);backdrop-filter:blur(15px)}.admin-row{border-color:rgba(255,255,255,.05);border-radius:12px;padding-inline:8px}.admin-row:hover{background:rgba(255,255,255,.025)}.admin-row button{border:0;border-radius:999px;background:rgba(255,255,255,.06);padding:7px 10px}.admin-row button:hover{background:rgba(102,225,232,.12)}
/* Wiki sjednocená s aplikací */
.wiki-nav{border:0!important;border-radius:22px!important;background:rgba(18,22,42,.62)!important;box-shadow:inset 0 1px rgba(255,255,255,.04)}.wiki-nav a{border-color:rgba(255,255,255,.045)!important}.wiki-content>section{border-color:rgba(255,255,255,.07)!important}.wiki-grid article,.wiki-content table,.wiki-content details{border-color:rgba(255,255,255,.07)!important;border-radius:16px;background:rgba(18,22,42,.55)!important}.wiki-callout{border:0!important;border-radius:16px;box-shadow:inset 3px 0 var(--cyan)}
@media(max-width:760px){.topbar{top:8px;margin-top:8px;width:calc(100% - 16px);height:58px;padding:0 8px 0 13px}.nav-toggle{display:grid;place-items:center;margin-left:auto}.top-actions{display:none;position:absolute;right:0;top:68px;width:min(280px,calc(100vw - 20px));max-width:none;max-height:70vh;overflow:auto;flex-direction:column;align-items:stretch;padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:22px;background:rgba(12,15,29,.96);box-shadow:0 25px 70px rgba(0,0,0,.55);backdrop-filter:blur(24px)}.top-actions.open{display:flex}.top-actions .top-text-button,.top-actions #forumBtn,.top-actions #profileBtn,.top-actions #authBtn,.top-actions #historyBtn,.top-actions #notificationsBtn,.top-actions #adminBtn{display:block!important;width:100%;text-align:left;font-size:12px;padding:12px 14px}.top-actions .hidden{display:none!important}.top-actions .icon-button{width:100%;border-radius:14px}.landing{padding-top:45px}.hero-copy h1{font-size:54px}.how{background:transparent;padding-inline:0}.screen{padding-top:35px}.game-head{border-radius:18px}.mission-card{border-radius:20px}.forum-layout>div:first-child,.forum-thread{border-radius:20px}.admin-grid section{border-radius:20px}.lobby-card,.ending-card,.profile-card{border-radius:24px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}

/* Jemnější společný jazyk napříč aplikací a navigace i pro menší notebooky. */
::selection{background:rgba(102,225,232,.25);color:#fff}
*{scrollbar-width:thin;scrollbar-color:rgba(169,138,255,.35) transparent}
button,a,input,select,textarea{transition:border-color .18s,background .18s,color .18s,box-shadow .18s,transform .18s}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.screen{width:min(1440px,100%);margin-inline:auto}
.panel-head h1,.forum-head h1,.editor-head h1{letter-spacing:-.045em}
.leave-button.compact{border:0;border-radius:999px;background:rgba(255,111,125,.07);color:#d49aa3;text-decoration:none}
.leave-button.compact:hover{background:rgba(255,111,125,.14);color:#fff}

@media(max-width:1100px){
  .topbar{top:10px;margin-top:10px;width:calc(100% - 20px);height:60px;padding:0 9px 0 15px}
  .nav-toggle{display:grid;place-items:center;margin-left:auto}
  .top-actions{display:none;position:absolute;right:0;top:70px;width:min(300px,calc(100vw - 20px));max-width:none;max-height:72vh;overflow:auto;flex-direction:column;align-items:stretch;padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:22px;background:rgba(12,15,29,.96);box-shadow:0 25px 70px rgba(0,0,0,.55);backdrop-filter:blur(24px)}
  .top-actions.open{display:flex}
  .top-actions .top-text-button,.top-actions #forumBtn,.top-actions #profileBtn,.top-actions #authBtn,.top-actions #historyBtn,.top-actions #notificationsBtn,.top-actions #adminBtn{display:block!important;width:100%;text-align:left;font-size:12px;padding:12px 14px}
  .top-actions .hidden{display:none!important}
  .top-actions .icon-button{width:100%;border-radius:14px}
}

@media(max-width:760px){.hero-copy h1{font-size:clamp(43px,15vw,54px)}}
