:root{
  --bg:#003d20;--bg2:#086b38;--bg3:#0a7c42;--panel:#eff9ef;--panel2:#d8efd9;
  --green:#0b6a39;--green2:#064d29;--green3:#093f25;--text:#102417;--muted:#6c7f70;
  --tile:#efbd70;--tile2:#f7d69d;--danger:#b42318;
  --tw:#ef3340;--dw:#ff93a9;--tl:#116bc4;--dl:#8fc9f2;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--text)}
body{background:linear-gradient(150deg,var(--bg),var(--bg2));background-attachment:fixed}
.landing{display:grid;place-items:center;min-height:100vh;padding:24px}.auth-card,.panel{background:rgba(244,252,244,.97);border:1px solid rgba(255,255,255,.45);box-shadow:0 20px 60px rgba(0,0,0,.18);border-radius:22px}.auth-card{width:min(480px,100%);padding:44px}.brand{font-size:48px;font-weight:900;letter-spacing:-2px;color:#0a5b31}.brand.small{font-size:27px;color:white;letter-spacing:-1px}.tagline{font-size:18px;color:#52695a;margin:4px 0 30px}.stack{display:grid;gap:14px}.stack label{display:grid;gap:6px;font-weight:700}input,select{width:100%;border:1px solid #bdd7c2;background:white;border-radius:12px;padding:13px 14px;font:inherit;color:var(--text);outline:none}input:focus,select:focus{border-color:#1a844a;box-shadow:0 0 0 3px rgba(26,132,74,.12)}button{border:0;border-radius:13px;padding:12px 17px;font:inherit;font-weight:800;cursor:pointer;transition:.15s transform,.15s opacity,.15s filter}button:hover{filter:brightness(1.04)}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.55;filter:none}.primary{background:linear-gradient(180deg,#14884b,#0a5d32);color:white}.secondary{background:#cce8d0;color:#0a5a31}.error,.floating-error{color:#fff;background:var(--danger);border-radius:10px;padding:0}.error:not(:empty),.floating-error:not(:empty){padding:10px 14px}.floating-error{position:fixed;right:18px;bottom:18px;z-index:30}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,60px);color:white;border-bottom:1px solid rgba(255,255,255,.18);background:rgba(1,45,24,.76);backdrop-filter:blur(12px)}.user-chip{background:rgba(255,255,255,.12);padding:10px 14px;border-radius:999px}.lobby-grid{max-width:1100px;margin:34px auto;padding:0 20px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.panel{padding:24px}.panel h1,.panel h2,.panel h3{margin-top:0}.panel hr{border:0;border-top:1px solid #d6e6d8;margin:25px 0}.room-list{display:grid;gap:10px}.room-row{display:flex;align-items:center;justify-content:space-between;text-align:left;background:#e1f2e3;color:#12391f}.room-row span{display:grid;gap:3px}.room-row small,.player-row small{display:block;color:#718276;font-weight:500}.muted{color:#718276}

/* GAME */
.game-page{min-width:320px;background:radial-gradient(circle at 55% 0%,#0d8448 0,#086838 35%,#034c29 72%,#02371e 100%)}
.room-code{font-size:15px;color:#dff3e5}.game-layout{max-width:1700px;margin:14px auto;padding:0 14px 24px;display:grid;grid-template-columns:270px minmax(620px,1fr) 250px;gap:14px;align-items:stretch}.left-rail,.right-rail{display:flex;flex-direction:column;gap:14px}.players-panel{padding:20px}.player-row{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #dce8de}.avatar{width:36px;height:36px;border-radius:50%;background:#d1ead6;display:grid;place-items:center}.bot-controls{display:flex;gap:8px;margin-top:15px}.bot-controls select{min-width:0}.compact-chat{padding:18px;display:flex;flex-direction:column;min-height:520px;flex:1}.chat-title{display:flex;justify-content:space-between;align-items:center}.chat-title h2{margin:0}.chat-title span{font-size:12px;color:#388758}.chat-messages{flex:1;overflow:auto;min-height:340px;max-height:620px;padding-right:4px}.chat-line{position:relative;padding:9px 0 11px;border-bottom:1px solid #e0ebe1;display:grid;gap:2px}.chat-line strong{font-size:14px}.chat-line span{padding-right:44px;overflow-wrap:anywhere}.chat-line small{position:absolute;right:0;top:9px;color:#8a9b8e}.chat-line.system{color:#667b69;font-style:italic}.chat-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.chat-form input{padding:11px}.chat-form button{min-width:46px;padding:10px}

.game-stage{background:linear-gradient(180deg,#075f34 0,#064a2a 100%);border:1px solid rgba(255,255,255,.16);box-shadow:0 22px 65px rgba(0,0,0,.22);border-radius:22px;padding:18px;color:white;min-width:0}.game-topline{display:grid;grid-template-columns:1fr 280px;gap:12px;margin-bottom:14px}.status-card,.timer-card{background:rgba(1,51,27,.7);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px 18px}.status-card{display:grid;gap:4px}.status-card strong{font-size:22px}.status-card span{color:#c9e6d2}.timer-card{text-align:center}.timer-card strong{font-size:38px;line-height:1;letter-spacing:1px}.timer-track{height:9px;background:rgba(0,0,0,.28);border-radius:20px;overflow:hidden;margin-top:10px}.timer-track i{display:block;width:0;height:100%;background:#61c879;border-radius:20px;transition:width .25s linear}

.word-board{width:min(100%,760px);aspect-ratio:1/1;margin:0 auto;display:grid;grid-template-columns:repeat(15,1fr);grid-template-rows:repeat(15,1fr);border:3px solid #073c23;background:#0a6b3b;box-shadow:0 8px 28px rgba(0,0,0,.35);user-select:none}.board-cell{position:relative;border:1px solid rgba(230,255,235,.34);display:grid;place-items:center;background:#0a6b3b;min-width:0;min-height:0}.board-cell:hover{background:#107948}.board-cell.tw{background:var(--tw)}.board-cell.dw{background:var(--dw)}.board-cell.tl{background:var(--tl)}.board-cell.dl{background:var(--dl)}.board-cell.center:not(.occupied):not(.proposed):after{content:'★';font-size:clamp(13px,2vw,26px);color:#173424}.premium-label{font-size:clamp(7px,.68vw,11px);font-weight:900;line-height:1;text-align:center;color:white;text-shadow:0 1px 1px rgba(0,0,0,.12)}.board-cell.dl .premium-label{color:#075295}.board-cell.dw .premium-label{color:#a61c38}.board-cell.occupied,.board-cell.proposed{background:#0a6b3b}.board-tile{width:88%;height:88%;border-radius:6px;background:linear-gradient(145deg,var(--tile2),var(--tile));color:#111;box-shadow:0 2px 4px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;font-size:clamp(12px,1.55vw,27px);font-weight:900;position:relative;letter-spacing:-1px}.board-tile small{position:absolute;right:4px;bottom:2px;font-size:clamp(6px,.6vw,10px);font-weight:700}.board-cell.proposed .board-tile{outline:3px solid #f5f8b5;cursor:pointer}.board-cell.valid-target{box-shadow:inset 0 0 0 3px rgba(255,255,255,.55)}

.rack-area{width:min(100%,760px);margin:12px auto 0;background:#054626;border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:12px 14px 14px}.rack-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.rack-head strong{font-size:14px}.rack-head span{font-size:12px;color:#b9dbc4}.rack{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px}.rack-tile{flex:0 0 52px;height:52px;border:0;border-radius:7px;background:linear-gradient(145deg,var(--tile2),var(--tile));color:#111;box-shadow:0 3px 6px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.55);font-size:23px;font-weight:900;position:relative;padding:0;cursor:grab}.rack-tile small{position:absolute;right:5px;bottom:3px;font-size:10px}.rack-tile.selected{outline:4px solid #eaff91;transform:translateY(-3px)}.rack-tile.used{visibility:hidden}.rack-empty{color:#b9dbc4;font-size:13px}

.right-rail .panel{padding:16px}.controls-panel{display:grid;gap:10px;background:rgba(5,75,40,.95);border-color:rgba(255,255,255,.14)}.big-action{font-size:18px;min-height:62px}.control-action{font-size:16px;min-height:52px}.submission-status{font-size:13px;line-height:1.35;color:#d6efde;min-height:0}.info-panel h3{margin-bottom:12px}.legend{display:flex;align-items:center;gap:9px;margin:9px 0;font-size:13px}.swatch{width:30px;height:30px;border-radius:5px;display:grid;place-items:center;font-size:10px;font-weight:900;color:white}.swatch.tw{background:var(--tw)}.swatch.dw{background:var(--dw);color:#a61c38}.swatch.tl{background:var(--tl)}.swatch.dl{background:var(--dl);color:#075295}.swatch.center{background:#f0c276;color:#263427;font-size:16px}.notice-panel{background:#fff1c9;color:#473a16;font-size:13px}.notice-panel strong{display:block;margin-bottom:5px}.notice-panel p{margin:0;line-height:1.35}
.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);opacity:0;background:#112b19;color:white;padding:12px 18px;border-radius:12px;transition:.2s;pointer-events:none;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:1180px){.game-layout{grid-template-columns:230px minmax(520px,1fr)}.right-rail{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr}.game-topline{grid-template-columns:1fr 220px}}
@media(max-width:860px){.lobby-grid,.game-layout{grid-template-columns:1fr}.topbar{height:64px}.brand.small{font-size:23px}.auth-card{padding:30px 22px}.left-rail{display:grid;grid-template-columns:1fr 1fr}.compact-chat{min-height:300px}.chat-messages{min-height:190px;max-height:300px}.right-rail{grid-column:auto;grid-template-columns:1fr}.game-topline{grid-template-columns:1fr 180px}.word-board,.rack-area{width:100%}.rack{gap:7px}.rack-tile{flex-basis:44px;height:44px;font-size:19px}}
@media(max-width:620px){.left-rail{grid-template-columns:1fr}.game-stage{padding:8px;border-radius:14px}.game-topline{grid-template-columns:1fr 120px;gap:7px}.status-card,.timer-card{padding:10px}.status-card strong{font-size:17px}.timer-card strong{font-size:27px}.premium-label{font-size:5px}.board-tile{border-radius:3px;font-size:12px}.rack-area{padding:8px}.rack{gap:4px}.rack-tile{flex:1 1 0;min-width:0;height:39px;font-size:16px}.rack-head span{display:none}.panel{border-radius:16px}}

/* v0.3 – TESZT / véglegesítés */
.test-action{background:linear-gradient(180deg,#f4c85e,#d99b22);color:#20301f;box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.final-warning{font-size:12px;line-height:1.35;color:#cce8d3;background:rgba(0,0,0,.16);border-radius:10px;padding:9px 10px}
.submission-status{padding-top:2px}
.submission-status.tested{color:#ffe6a5}
.submission-status.dirty{color:#ffd7a3}
.submission-status.final{color:#bff2cb;font-weight:800}
.board-cell.proposed .board-tile{cursor:grab}
.board-cell.proposed .board-tile:active{cursor:grabbing}
.controls-panel .big-action[disabled]{opacity:.6}

.player-row.ready{box-shadow:inset 3px 0 0 rgba(193,230,141,.9)}
.player-row.ready small{color:#bfe69a}

/* v0.6 – ékezetes és többjegyű lapkák tipográfiája */
.board-tile{letter-spacing:0}
.board-tile.multi-letter{font-size:clamp(10px,1.18vw,21px);letter-spacing:-.7px}
.rack-tile{letter-spacing:0}
.rack-tile.multi-letter{font-size:18px;letter-spacing:-.7px}
@media(max-width:620px){
  .board-tile.multi-letter{font-size:9px}
  .rack-tile.multi-letter{font-size:13px}
}


/* v0.8 – fejlesztői tesztpanel */
.dev-panel{background:#dff2e3;color:#173b24;display:grid;gap:9px;font-size:12px}
.dev-panel strong{font-size:14px}.dev-panel p{margin:0;line-height:1.35;color:#4e6c57}
.dev-panel input{padding:10px 11px;border-radius:9px;font-weight:700;letter-spacing:.3px}
.dev-panel button{padding:10px 12px}.dev-links{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:2px}
.dev-links a{color:#08683b;font-weight:800;text-decoration:none}.dev-links a:hover{text-decoration:underline}

/* v0.9.5 – mobil app-nézet + touch-first játék */
.mobile-chat-toggle,.mobile-chat-backdrop{display:none}

@media (max-width: 620px){
  html,body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}
  body.game-page{position:fixed;inset:0;min-width:0;height:100dvh;overflow:hidden;touch-action:none}
  .game-page .topbar{
    height:42px;padding:env(safe-area-inset-top) 10px 0;
    box-sizing:content-box;background:rgba(1,45,24,.94);backdrop-filter:none;
  }
  .game-page .brand.small{font-size:18px;letter-spacing:-.5px}
  .game-page .room-code{font-size:11px;white-space:nowrap}
  .game-layout{
    position:absolute;left:0;right:0;top:calc(42px + env(safe-area-inset-top));bottom:0;
    margin:0;padding:4px 5px calc(70px + env(safe-area-inset-bottom));display:block;overflow:hidden;
  }
  .left-rail{display:block}
  .players-panel{display:none!important}
  .compact-chat{
    display:flex;position:fixed;z-index:220;left:10px;right:10px;bottom:calc(78px + env(safe-area-inset-bottom));
    height:min(62dvh,460px);min-height:0;padding:14px;border-radius:18px;
    transform:translateY(calc(100% + 110px));opacity:0;pointer-events:none;
    transition:transform .2s ease,opacity .2s ease;box-sizing:border-box;
  }
  body.mobile-chat-open .compact-chat{transform:translateY(0);opacity:1;pointer-events:auto;touch-action:auto}
  .compact-chat .chat-messages{min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}
  .compact-chat .chat-form,.compact-chat input,.compact-chat button{touch-action:manipulation}
  .mobile-chat-backdrop{position:fixed;inset:0;z-index:210;background:rgba(0,24,12,.45)}
  body.mobile-chat-open .mobile-chat-backdrop{display:block}
  .mobile-chat-toggle{
    display:grid;position:fixed;z-index:230;right:10px;bottom:calc(76px + env(safe-area-inset-bottom));
    width:48px;height:48px;padding:0;border-radius:50%;place-items:center;font-size:22px;
    background:#eff8f0;color:#164b2d;box-shadow:0 7px 22px rgba(0,0,0,.32);touch-action:manipulation;
  }
  .mobile-chat-badge{
    position:absolute;right:-3px;top:-4px;min-width:19px;height:19px;padding:0 5px;box-sizing:border-box;
    border-radius:999px;background:#d92d20;color:#fff;border:2px solid #eff8f0;font:800 10px/15px Arial,sans-serif;
  }
  .game-stage{
    height:100%;padding:4px;border:0;border-radius:0;box-shadow:none;background:transparent;
    display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:4px;overflow:hidden;
  }
  .game-topline{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:5px;margin:0;min-height:42px}
  .status-card,.timer-card{padding:5px 8px;border-radius:10px;min-width:0}
  .status-card{gap:0;align-content:center}
  .status-card strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .status-card span{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .timer-card{display:grid;align-content:center;padding-bottom:5px}
  .timer-card strong{font-size:21px}
  .timer-track{height:5px;margin-top:3px}
  .word-board{
    width:min(calc(100vw - 10px), calc(100dvh - 190px));max-width:100%;max-height:100%;
    align-self:center;justify-self:center;margin:0;border-width:2px;touch-action:none;
  }
  .board-cell{touch-action:none}
  .board-cell:hover{background:#0a6b3b}
  .board-cell.tw:hover{background:var(--tw)}.board-cell.dw:hover{background:var(--dw)}
  .board-cell.tl:hover{background:var(--tl)}.board-cell.dl:hover{background:var(--dl)}
  .board-cell.tap-target{box-shadow:inset 0 0 0 2px rgba(240,255,175,.72)}
  .board-cell.proposed.selected-proposal .board-tile{outline:3px solid #fff178;transform:scale(.92);z-index:3}
  .board-tile{font-size:clamp(10px,3vw,13px)}
  .board-tile.multi-letter{font-size:clamp(7px,2.15vw,10px)}
  .premium-label{font-size:clamp(4px,1.25vw,6px)}
  .rack-area{width:100%;margin:0;padding:4px 5px 5px;border-radius:10px;box-sizing:border-box}
  .rack-head{margin:0 0 3px;min-height:13px}
  .rack-head strong{font-size:10px}.rack-head span{display:none}
  .rack{min-height:48px;gap:5px;justify-content:center}
  .rack-tile{
    flex:1 1 0;max-width:54px;height:46px;min-width:0;border-radius:7px;font-size:20px;
    touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
  }
  .rack-tile.multi-letter{font-size:14px}
  .rack-tile.selected{outline:3px solid #f4ff7a;transform:translateY(-3px) scale(1.04)}
  .rack-tile.used{visibility:hidden}
  .right-rail{display:block;position:fixed;z-index:180;left:5px;right:5px;bottom:calc(5px + env(safe-area-inset-bottom));pointer-events:none}
  .right-rail>.panel:not(.controls-panel){display:none!important}
  .controls-panel{
    pointer-events:auto;margin:0;padding:4px;background:rgba(4,61,32,.96);border-radius:12px;
    display:grid;grid-template-columns:1fr 1fr auto auto;gap:4px;align-items:stretch;box-shadow:0 -4px 18px rgba(0,0,0,.24)
  }
  .controls-panel .big-action,.controls-panel .control-action{min-height:50px;padding:7px 8px;font-size:14px;border-radius:9px}
  #startGame{grid-column:1/-1}
  #testMove{grid-column:1}
  #submitMove{grid-column:2}
  #clearMove,#shuffleRack{width:46px;font-size:0;padding:0}
  #clearMove::before{content:'⌫';font-size:21px}#shuffleRack::before{content:'↻';font-size:22px}
  #finalWarning{display:none!important}
  #submissionStatus{position:fixed;left:8px;right:66px;bottom:calc(61px + env(safe-area-inset-bottom));padding:0;min-height:0;font-size:10px;line-height:1.15;text-shadow:0 1px 2px #032a17;pointer-events:none}
  .toast{bottom:calc(132px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px);box-sizing:border-box;text-align:center}
  .drag-ghost{
    position:fixed;z-index:500;width:48px;height:48px;border-radius:8px;pointer-events:none;
    background:linear-gradient(145deg,var(--tile2),var(--tile));color:#111;box-shadow:0 8px 24px rgba(0,0,0,.42);
    display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;transform:translate(-50%,-50%) scale(1.08);
  }
  .drag-ghost small{position:absolute;right:5px;bottom:3px;font-size:9px}
}

/* v0.9.6 – mobil lobby: fix app-nézet, lapozás nélkül */
.mobile-lobby-tabs{display:none}

@media (max-width:620px){
  html,body{width:100%;height:100%;margin:0}
  body.lobby-page{
    position:fixed;inset:0;height:100dvh;min-width:0;overflow:hidden;
    overscroll-behavior:none;background:linear-gradient(165deg,#004425,#086738);
  }
  .lobby-page .topbar{
    height:58px;padding:env(safe-area-inset-top) 14px 0;box-sizing:content-box;
    background:rgba(1,45,24,.96);backdrop-filter:none;
  }
  .lobby-page .brand.small{font-size:22px;letter-spacing:-.8px}
  .lobby-page .user-chip{padding:8px 11px;font-size:13px;white-space:nowrap;max-width:58vw;overflow:hidden;text-overflow:ellipsis}

  .mobile-lobby-tabs{
    display:grid;grid-template-columns:1fr 1fr;gap:4px;
    position:absolute;z-index:5;left:10px;right:10px;top:calc(68px + env(safe-area-inset-top));
    padding:4px;border-radius:14px;background:rgba(0,49,26,.78);box-shadow:0 6px 20px rgba(0,0,0,.16)
  }
  .mobile-lobby-tab{
    min-height:42px;padding:8px 10px;border-radius:10px;background:transparent;color:#dff2e4;font-size:14px
  }
  .mobile-lobby-tab.active{background:#eff9ef;color:#0a5b31;box-shadow:0 2px 8px rgba(0,0,0,.18)}

  .lobby-grid{
    position:absolute;left:0;right:0;top:calc(120px + env(safe-area-inset-top));bottom:0;
    display:block;margin:0;padding:8px 10px calc(10px + env(safe-area-inset-bottom));overflow:hidden;max-width:none
  }
  .lobby-grid>.panel{
    display:none;height:100%;margin:0;padding:16px;border-radius:18px;overflow:hidden;
    box-shadow:0 12px 32px rgba(0,0,0,.18)
  }
  .lobby-grid>.panel.mobile-active{display:flex;flex-direction:column}
  .lobby-grid .panel h1{font-size:27px;line-height:1.05;margin:0 0 13px}
  .lobby-grid .panel h2{font-size:17px;margin:0 0 8px}
  .lobby-grid .panel hr{margin:14px 0 12px}

  .lobby-grid .stack{gap:9px}
  .lobby-grid .stack label{gap:4px;font-size:13px}
  .lobby-grid input,.lobby-grid select{min-height:46px;padding:9px 11px;border-radius:11px;font-size:16px}
  .lobby-grid button.primary,.lobby-grid button.secondary{min-height:48px;padding:10px 12px;font-size:15px}
  .fixed-rack-field{display:none!important}

  .lobby-create-panel .stack{flex:1;display:grid;grid-template-rows:auto auto auto auto auto;align-content:start}
  .lobby-create-panel button.primary{margin-top:3px}

  .lobby-join-panel .stack{flex:0 0 auto}
  .lobby-join-panel #rooms{
    min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;padding-right:2px
  }
  .lobby-join-panel .room-list{gap:7px}
  .lobby-join-panel .room-row{min-height:54px;padding:9px 10px;border-radius:11px}
  .lobby-join-panel .room-row strong{font-size:14px}
  .lobby-join-panel .room-row small{font-size:10px;line-height:1.2}
  .lobby-join-panel .room-row>b{font-size:12px;margin-left:8px}

  .lobby-page .floating-error{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));text-align:center;z-index:30}
}

@media (max-width:380px),(max-height:690px) and (max-width:620px){
  .lobby-page .topbar{height:50px}
  .lobby-page .brand.small{font-size:19px}
  .lobby-page .user-chip{font-size:12px;padding:7px 9px}
  .mobile-lobby-tabs{top:calc(58px + env(safe-area-inset-top))}
  .lobby-grid{top:calc(108px + env(safe-area-inset-top));padding-top:5px}
  .lobby-grid>.panel{padding:12px}
  .lobby-grid .panel h1{font-size:23px;margin-bottom:9px}
  .lobby-grid .stack{gap:6px}
  .lobby-grid input,.lobby-grid select{min-height:42px;padding:7px 10px}
  .lobby-grid button.primary,.lobby-grid button.secondary{min-height:44px}
}

/* v0.9.6.1 – lobby betöltési hiba / retry */
.rooms-retry{width:100%;min-height:64px;padding:12px;border:1px dashed #a9cdb2;border-radius:12px;background:#f4fbf5;color:#315d3e;text-align:left;font:inherit;line-height:1.35;cursor:pointer}
.rooms-retry strong{color:#08713e}
.room-row[disabled]{opacity:.62;pointer-events:none}


/* v0.9.7 – egységes klikk–klikk + rack-visszarakás + mobil robotvezérlés */
.move-hint{display:inline;color:#d9efdf!important;font-weight:700}
.rack-area{transition:box-shadow .15s,border-color .15s;cursor:default}
.rack-area:has(.rack-tile.selected),
.rack-area.rack-return-target{border-color:#eaff91;box-shadow:0 0 0 2px rgba(234,255,145,.22)}
.board-cell.tap-target{cursor:pointer;box-shadow:inset 0 0 0 2px rgba(240,255,175,.46)}
.board-cell.proposed.selected-proposal .board-tile{outline:4px solid #fff178;transform:scale(.94);z-index:3}
.mobile-bot-controls{display:none}

@media (max-width:620px){
  .rack-head{display:block;text-align:center;margin:0 0 2px;min-height:15px}
  .rack-head strong,#rackHint{display:none!important}
  .rack-head .move-hint{display:block!important;font-size:9px;line-height:1.15;color:#cde8d5!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rack-area{padding:3px 4px 4px}
  .rack{min-height:46px}
  .mobile-bot-controls{
    grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:stretch;
    padding:0;margin:0 0 1px
  }
  .mobile-bot-controls select{min-width:0;min-height:42px;padding:7px 9px;border-radius:9px;font-size:13px}
  .mobile-bot-controls button{min-height:42px;padding:7px 12px;border-radius:9px;font-size:13px;white-space:nowrap}
  .mobile-bot-controls.active{display:grid}
}


/* v0.9.8 – mobil alsó vezérlősáv véglegesítése */
@media (max-width:620px){
  /* A játék alján csak két fix sor maradjon: rack + vezérlők. */
  .game-layout{
    padding-bottom:calc(62px + env(safe-area-inset-bottom));
  }
  .game-stage{
    grid-template-rows:auto minmax(0,1fr) auto;
    gap:3px;
  }

  /* A hosszú mobil súgó és az állandó teszt-státusz ne foglaljon helyet. */
  .rack-head{display:none!important}
  #submissionStatus{display:none!important}

  .rack-area{
    margin:0;
    padding:3px 4px 4px;
    min-height:52px;
    border-radius:10px;
  }
  .rack{
    min-height:45px;
    height:45px;
    gap:4px;
    justify-content:space-between;
  }
  .rack-tile{
    height:43px;
    max-width:none;
    flex:1 1 0;
    font-size:19px;
  }
  .rack-tile.multi-letter{font-size:13px}

  /* A tábla mindig a valóban megmaradó helyből gazdálkodjon. */
  .word-board{
    width:min(calc(100vw - 10px), calc(100dvh - 214px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
    max-width:100%;
    max-height:100%;
  }

  /* Egyetlen kompakt vezérlősor. */
  .right-rail{
    left:5px;right:5px;
    bottom:calc(4px + env(safe-area-inset-bottom));
  }
  .controls-panel{
    min-height:54px;
    padding:4px;
    grid-template-columns:minmax(0,1.08fr) minmax(0,1.08fr) 48px 48px;
    gap:4px;
  }
  .controls-panel .big-action,
  .controls-panel .control-action{
    min-height:46px;
    height:46px;
    padding:6px 7px;
    font-size:14px;
  }
  #clearMove,#shuffleRack{width:48px}
  #clearMove::before{font-size:20px}
  #shuffleRack::before{font-size:21px}

  /* A chat ne lógjon rá sem a betűkre, sem a gombokra. */
  .mobile-chat-toggle{
    width:42px;height:42px;
    right:8px;
    bottom:calc(112px + env(safe-area-inset-bottom));
    font-size:19px;
  }
  .compact-chat{
    bottom:calc(66px + env(safe-area-inset-bottom));
  }
  .toast{
    bottom:calc(118px + env(safe-area-inset-bottom));
  }
}

@media (max-width:380px),(max-height:690px) and (max-width:620px){
  .game-layout{padding-bottom:calc(58px + env(safe-area-inset-bottom))}
  .rack-area{min-height:48px}
  .rack{height:41px;min-height:41px}
  .rack-tile{height:39px;font-size:17px}
  .controls-panel{min-height:50px}
  .controls-panel .big-action,.controls-panel .control-action{height:42px;min-height:42px}
  .word-board{
    width:min(calc(100vw - 10px), calc(100dvh - 196px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
  }
  .mobile-chat-toggle{bottom:calc(103px + env(safe-area-inset-bottom))}
}

/* v0.9.9 – mobil alsó zóna: ne fedje egymást a rack és a vezérlősáv */
@media (max-width:620px){
  /* A fő játékrész valódi, zárt app-layout legyen. A vezérlősáv most már
     saját sort kap, nem lebeg rá a rackre. */
  .game-layout{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:minmax(0,1fr) auto;
    position:absolute;
    left:0;right:0;
    top:calc(42px + env(safe-area-inset-top));
    bottom:0;
    height:auto;
    margin:0;
    padding:4px 5px max(4px,env(safe-area-inset-bottom));
    box-sizing:border-box;
    overflow:hidden;
    gap:3px;
  }

  /* A bal oldali mobil elemek (chat) fixen lebegnek, ezért ne kérjenek
     külön helyet a gridből. */
  .left-rail{
    position:absolute;
    inset:0;
    width:0;height:0;
    overflow:visible;
    pointer-events:none;
  }
  .compact-chat{pointer-events:none}
  body.mobile-chat-open .compact-chat{pointer-events:auto}

  .game-stage{
    grid-column:1;
    grid-row:1;
    min-width:0;
    min-height:0;
    height:auto;
    overflow:hidden;
    display:grid;
    grid-template-rows:auto minmax(0,1fr) 52px;
    gap:3px;
  }

  /* A tábla a középső sávon belül marad, és nem tolhatja rá a racket
     a kezelősávra. */
  .word-board{
    width:min(calc(100vw - 10px), calc(100dvh - 206px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
    max-width:100%;
    max-height:100%;
    align-self:center;
    justify-self:center;
    margin:0;
  }

  /* Betűsor: saját fix sor, teljesen látható lapkákkal. */
  .rack-area{
    align-self:stretch;
    min-height:52px;
    height:52px;
    padding:3px 4px 4px;
    overflow:visible;
    position:relative;
    z-index:2;
  }
  .rack{
    height:45px;
    min-height:45px;
    overflow:visible;
  }
  .rack-tile{
    height:43px;
  }

  /* A vezérlők a fő layout második sora: nincs több fixed overlay. */
  .right-rail{
    grid-column:1;
    grid-row:2;
    position:static;
    left:auto;right:auto;bottom:auto;
    width:100%;
    min-width:0;
    pointer-events:auto;
    z-index:4;
    display:block;
  }
  .controls-panel{
    width:100%;
    min-height:54px;
    margin:0;
    padding:4px;
    box-sizing:border-box;
    grid-template-columns:minmax(0,1.08fr) minmax(0,1.08fr) 48px 48px;
    gap:4px;
    border-radius:12px;
    box-shadow:0 -3px 12px rgba(0,0,0,.18);
  }
  .controls-panel .big-action,
  .controls-panel .control-action{
    height:46px;
    min-height:46px;
    margin:0;
  }

  /* Chat mindig a két alsó kezelősor FÖLÖTT marad. */
  .mobile-chat-toggle{
    right:8px;
    bottom:calc(116px + env(safe-area-inset-bottom));
  }
  .compact-chat{
    bottom:calc(62px + env(safe-area-inset-bottom));
  }
  .toast{
    bottom:calc(122px + env(safe-area-inset-bottom));
  }
}

@media (max-width:380px),(max-height:690px) and (max-width:620px){
  .game-stage{grid-template-rows:auto minmax(0,1fr) 48px}
  .rack-area{height:48px;min-height:48px}
  .rack{height:41px;min-height:41px}
  .rack-tile{height:39px;font-size:17px}
  .controls-panel{min-height:50px}
  .controls-panel .big-action,.controls-panel .control-action{height:42px;min-height:42px}
  .word-board{
    width:min(calc(100vw - 10px), calc(100dvh - 190px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
  }
  .mobile-chat-toggle{bottom:calc(105px + env(safe-area-inset-bottom))}
}

/* v0.9.10 – mobil várólista + chat a fejlécben */
.topbar-actions{display:flex;align-items:center;gap:8px;min-width:0}
.mobile-waiting-players{display:none}
.remove-bot{width:28px;height:28px;min-width:28px;padding:0;border-radius:50%;background:#dcefe0;color:#0b6a3a;font-size:20px;line-height:1}

@media (max-width:620px){
  .game-page .topbar{gap:8px}
  .topbar-actions{margin-left:auto;gap:6px}
  .game-page .room-code{font-size:10px;max-width:130px;overflow:hidden;text-overflow:ellipsis}
  .mobile-chat-toggle{
    display:grid;position:relative;right:auto;bottom:auto;inset:auto;
    width:34px;height:34px;min-width:34px;padding:0;border-radius:50%;
    place-items:center;font-size:17px;background:#eff8f0;color:#164b2d;
    box-shadow:none;touch-action:manipulation;
  }
  .mobile-chat-badge{right:-4px;top:-5px}

  .mobile-waiting-players.active{
    display:grid;grid-column:1/-1;gap:3px;margin:0 0 2px;padding:3px 4px;
    background:rgba(255,255,255,.06);border-radius:9px;
  }
  .mobile-waiting-players .player-row{
    min-height:32px;padding:3px 5px;border-radius:7px;background:rgba(255,255,255,.06);
    grid-template-columns:24px minmax(0,1fr) auto;gap:6px;color:#fff;
  }
  .mobile-waiting-players .player-row .avatar{font-size:16px}
  .mobile-waiting-players .player-row strong{font-size:12px;color:#fff}
  .mobile-waiting-players .player-row small{font-size:9px;color:#cde8d5}
  .mobile-waiting-players .remove-bot{width:26px;height:26px;min-width:26px;font-size:18px}

  .controls-panel:has(.mobile-waiting-players.active){
    grid-template-columns:minmax(0,1fr);
  }
  .controls-panel:has(.mobile-waiting-players.active) #startGame{grid-column:1/-1}
  .controls-panel:has(.mobile-waiting-players.active) .mobile-bot-controls{grid-column:1/-1}
}

/* v0.9.12 – JAVÍTOTT desktop átrendezés: vezérlők alul, chat jobb oldalon */
@media (min-width: 1181px) {
  .game-layout {
    max-width: 1760px;
    grid-template-columns: 270px minmax(650px, 1fr) 310px;
    grid-template-areas:
      "players stage chat"
      "legend controls chat";
    gap: 14px;
    align-items: start;
  }

  /* A két rail burkolója ne foglaljon külön grid-cellát: a paneljeik kerüljenek a fő gridbe. */
  .left-rail,
  .right-rail {
    display: contents;
  }

  .players-panel { grid-area: players; }
  .game-stage { grid-area: stage; }
  .info-panel { grid-area: legend; }

  /* CHAT: teljes jobb oldali oszlop. */
  .compact-chat {
    grid-area: chat;
    min-height: 0;
    height: 100%;
    max-height: none;
    align-self: stretch;
  }
  .compact-chat .chat-messages {
    min-height: 560px;
    max-height: none;
  }

  /* VEZÉRLŐK: közvetlenül a tábla/betűsor alatt. */
  .controls-panel {
    grid-area: controls;
    display: grid;
    grid-template-columns: minmax(160px, 1.2fr) minmax(160px, 1.2fr) minmax(110px, .75fr) minmax(110px, .75fr);
    gap: 10px;
    padding: 12px 14px;
    margin: 0;
    border-radius: 18px;
    align-items: stretch;
    box-shadow: 0 14px 38px rgba(0,0,0,.18);
  }

  #startGame { grid-column: 1 / -1; }
  #testMove { grid-column: 1; }
  #submitMove { grid-column: 2; }
  #clearMove { grid-column: 3; }
  #shuffleRack { grid-column: 4; }

  .controls-panel .big-action,
  .controls-panel .control-action {
    min-height: 56px;
    margin: 0;
    font-size: 16px;
  }
  #testMove,
  #submitMove { font-size: 18px; }

  /* Desktopon nincs KÉSZ-figyelmeztető doboz / confirm. */
  #finalWarning { display: none !important; }
  #submissionStatus {
    grid-column: 1 / -1;
    min-height: 18px;
    padding: 0 2px;
    margin: 0;
  }

  .mobile-waiting-players,
  .mobile-bot-controls { display: none !important; }

  #dictNotice { grid-column: 1; grid-row: 3; }
  .dev-panel { grid-column: 3; grid-row: 3; }
}

/* v0.9.13 – rendezett desktop szerkezet: bal infó, közép játék+vezérlők, jobb chat */
.center-column{min-width:0}

@media (min-width:1181px){
  .game-layout{
    max-width:1760px;
    grid-template-columns:270px minmax(650px,1fr) 310px;
    gap:14px;
    align-items:start;
  }

  .left-rail,.right-rail{
    display:flex;
    flex-direction:column;
    gap:14px;
    min-width:0;
  }

  .center-column{
    display:flex;
    flex-direction:column;
    gap:14px;
    min-width:0;
  }

  .game-stage{width:100%}

  /* Bal oldalon a magyarázat közvetlenül a játékosok alatt marad. */
  .info-panel{padding:18px 20px}

  /* A chat csak saját kártyamagasságot kap; alatta ismét a zöld oldalháttér látszik. */
  .compact-chat{
    flex:0 0 auto;
    height:620px;
    min-height:0;
    max-height:calc(100vh - 118px);
    padding:18px;
    align-self:stretch;
  }
  .compact-chat .chat-messages{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
  }

  /* Vezérlők közvetlenül a középső játékkártya alatt. */
  .controls-panel{
    width:100%;
    display:grid;
    grid-template-columns:minmax(160px,1.25fr) minmax(160px,1.25fr) minmax(110px,.72fr) minmax(110px,.72fr);
    gap:10px;
    padding:12px 14px;
    margin:0;
    border-radius:18px;
    align-items:stretch;
    box-shadow:0 14px 38px rgba(0,0,0,.18);
  }
  #startGame{grid-column:1/-1}
  #testMove{grid-column:1}
  #submitMove{grid-column:2}
  #clearMove{grid-column:3}
  #shuffleRack{grid-column:4}
  .controls-panel .big-action,.controls-panel .control-action{
    min-height:56px;
    margin:0;
    font-size:16px;
  }
  #testMove,#submitMove{font-size:18px}
  #finalWarning{display:none!important}
  #submissionStatus{
    grid-column:1/-1;
    min-height:18px;
    padding:0 2px;
    margin:0;
  }

  .mobile-waiting-players,.mobile-bot-controls{display:none!important}
}

/* Köztes desktop/tablet: ne omoljon össze az új wrapperszerkezet. */
@media (min-width:621px) and (max-width:1180px){
  .game-layout{grid-template-columns:230px minmax(520px,1fr);align-items:start}
  .left-rail{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:14px}
  .center-column{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:14px;min-width:0}
  .right-rail{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:14px}
  .compact-chat{min-height:320px;max-height:460px}
  .controls-panel{display:grid;grid-template-columns:1fr 1fr auto auto;gap:10px}
}

/* Mobilon a v0.9.10-es app-layout marad: a wrapper ne vegyen el külön helyet. */
@media (max-width:620px){
  .center-column{display:contents}
  .left-rail{display:contents!important}
  .right-rail{display:contents!important;position:static!important}

  .players-panel,.info-panel,.right-rail>.notice-panel,.right-rail>.dev-panel{display:none!important}

  .game-stage{
    grid-column:1;
    grid-row:1;
  }
  .controls-panel{
    grid-column:1;
    grid-row:2;
    position:static!important;
    left:auto!important;right:auto!important;bottom:auto!important;
    width:100%;
    pointer-events:auto;
  }

  .compact-chat{
    display:flex!important;
    position:fixed!important;
    z-index:220;
    left:10px;right:10px;
    bottom:calc(62px + env(safe-area-inset-bottom));
    height:min(62dvh,460px);
    min-height:0;
    transform:translateY(calc(100% + 110px));
    opacity:0;
    pointer-events:none;
  }
  body.mobile-chat-open .compact-chat{
    transform:translateY(0);
    opacity:1;
    pointer-events:auto;
  }
}

/* v0.9.14 – desktop dark side panels: a világos admin-kártyák megszüntetése */
@media (min-width:1181px){
  .left-rail .panel,
  .right-rail .compact-chat{
    background:linear-gradient(180deg,rgba(4,78,42,.96),rgba(3,64,35,.96));
    border:1px solid rgba(169,231,188,.16);
    box-shadow:0 14px 36px rgba(0,0,0,.16);
    color:#f4fff7;
  }

  .left-rail .panel h2,
  .left-rail .panel h3,
  .right-rail .compact-chat h2,
  .right-rail .compact-chat h3{
    color:#fff;
  }

  .players-panel .player-row{
    border-bottom-color:rgba(212,244,221,.12);
  }
  .players-panel .player-row strong{
    color:#fff;
  }
  .players-panel .player-row small{
    color:#b9d9c3;
  }
  .players-panel .avatar{
    background:rgba(218,242,224,.14);
    border:1px solid rgba(255,255,255,.08);
  }

  .info-panel .legend{
    color:#e9f7ed;
  }

  .compact-chat .chat-title span{
    color:#81d89a;
  }
  .compact-chat .chat-line{
    border-bottom-color:rgba(221,246,228,.12);
    color:#effaf2;
  }
  .compact-chat .chat-line.system{
    color:#c0dbc8;
  }
  .compact-chat .chat-line small{
    color:#9cc2a7;
  }
  .compact-chat .chat-form{
    padding-top:2px;
  }
  .compact-chat .chat-form input{
    background:#f7fbf8;
    color:#173822;
    border-color:#bcd7c3;
  }
  .compact-chat .chat-form input::placeholder{
    color:#7d9684;
  }

  /* Ne legyenek világos oldalsó tömbök / háttércsíkok a panelek körül. */
  .left-rail,
  .right-rail{
    background:transparent;
  }
}


/* v0.9.15 – mobil chat megnyitás Safari/iPhone javítás */
.chat-title-actions{display:flex;align-items:center;gap:8px}
.mobile-chat-close{display:none}

@media (max-width:620px){
  /* A fejléc-chat gomb kapjon biztos saját hitboxot minden réteg fölött. */
  .mobile-chat-toggle{
    position:relative!important;
    z-index:1002!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent;
  }

  /* A panelt külön osztállyal is nyitjuk, ne csak a body állapotától függjön. */
  .compact-chat{
    z-index:1001!important;
    left:8px!important;
    right:8px!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    height:min(46dvh,420px)!important;
    max-height:420px!important;
    padding:12px!important;
    border-radius:18px 18px 14px 14px!important;
    transform:translateY(calc(100% + 40px))!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    touch-action:auto!important;
    transition:transform .18s ease,opacity .18s ease,visibility 0s linear .18s!important;
  }
  body.mobile-chat-open .compact-chat,
  .compact-chat.mobile-open{
    transform:translateY(0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition:transform .18s ease,opacity .18s ease!important;
  }

  .mobile-chat-backdrop{
    position:fixed!important;
    inset:0!important;
    z-index:1000!important;
    background:rgba(0,24,12,.50)!important;
    pointer-events:auto!important;
  }
  .mobile-chat-backdrop[hidden]{display:none!important}
  .mobile-chat-backdrop.open{display:block!important}

  .mobile-chat-close{
    display:grid;
    place-items:center;
    width:30px;height:30px;min-width:30px;
    padding:0;border:0;border-radius:50%;
    background:rgba(255,255,255,.12);color:#fff;
    font:700 22px/1 Arial,sans-serif;
    touch-action:manipulation;
  }
  .compact-chat .chat-title{flex:0 0 auto}
  .compact-chat .chat-messages{min-height:0!important;max-height:none!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
  .compact-chat .chat-form{flex:0 0 auto}
}

/* v0.9.16 – mobil chat: a korábbi right-rail panel-elrejtés felülírása
   A v0.9.5 szabály (.right-rail > .panel:not(.controls-panel)) display:none!important-tal
   elrejtette a compact-chat panelt is. Mobilon a chatnek mindig renderelhetőnek kell maradnia;
   a nyitott/zárt állapotot opacity/transform/visibility kezeli. */
@media (max-width:620px){
  .right-rail > .compact-chat{
    display:flex!important;
  }
}


/* v0.9.17 – iOS Safari chat portal: a panel body-szintre kerül, így nem ragad a game-layout stacking contextjébe */
@media (max-width:620px){
  body.game-page > .compact-chat{
    display:flex!important;
    position:fixed!important;
    z-index:2147483001!important;
    left:8px!important;
    right:8px!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    width:auto!important;
    height:min(46dvh,420px)!important;
    max-height:420px!important;
    box-sizing:border-box!important;
  }
  body.game-page > .mobile-chat-backdrop{z-index:2147483000!important}
}


/* =========================================================
   v0.9.20 – Szózóna lobby arculat (desktop-first)
   ========================================================= */
.lobby-hero,.lobby-tip{display:none}
.lobby-card-head>p{display:none}
.lobby-card-head>div:last-child>p{margin:5px 0 0;color:#688072;font-size:14px;line-height:1.45}
.lobby-card-icon{display:none}
.public-room-head{display:block}
.public-room-eyebrow,.room-count{display:none}
.lobby-rule-note small{display:block}

@media (min-width:861px){
  body.lobby-page{
    min-height:100vh;
    background:
      radial-gradient(circle at 15% 10%,rgba(75,190,106,.18),transparent 28%),
      radial-gradient(circle at 85% 86%,rgba(75,190,106,.10),transparent 24%),
      linear-gradient(145deg,#004b29 0%,#006335 52%,#07552f 100%);
  }
  .lobby-page .topbar{
    height:82px;
    padding:0 clamp(34px,4vw,70px);
    background:rgba(0,47,26,.83);
    border-bottom:1px solid rgba(255,255,255,.13);
    box-shadow:0 12px 35px rgba(0,0,0,.08);
  }
  .lobby-page .brand.small{font-size:30px;letter-spacing:-1.4px}
  .lobby-page .topbar .lobby-topbar-brand{display:none!important;}
  .lobby-page .user-chip{
    padding:11px 17px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.09);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  }
  .lobby-hero{
    max-width:1180px;
    margin:34px auto 25px;
    padding:0 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    color:#fff;
  }
  .lobby-hero__copy{max-width:770px}
  .lobby-kicker{
    display:inline-flex;
    padding:7px 11px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:#d6f2dc;
    font-size:11px;
    font-weight:900;
    letter-spacing:.14em;
  }
  .lobby-hero h1{
    margin:13px 0 8px;
    color:#fff;
    font-size:42px;
    line-height:1.02;
    letter-spacing:-1.7px;
  }
  .lobby-hero p{
    margin:0;
    max-width:720px;
    color:rgba(242,255,245,.79);
    font-size:16px;
    line-height:1.55;
  }
  .lobby-hero__logo{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;padding-right:4px}
  .lobby-hero__logo img{display:block;width:auto;height:96px;max-width:min(360px,28vw);object-fit:contain;filter:drop-shadow(0 16px 24px rgba(0,0,0,.16));}

  .lobby-grid{
    max-width:1180px;
    margin:0 auto;
    padding:0 20px;
    gap:24px;
    grid-template-columns:1fr 1fr;
    align-items:stretch;
  }
  .lobby-grid>.panel{
    position:relative;
    min-height:520px;
    padding:30px;
    border-radius:27px;
    overflow:hidden;
    background:linear-gradient(180deg,rgba(255,253,247,.99),rgba(248,244,232,.99));
    border:1px solid rgba(242,221,177,.72);
    box-shadow:0 22px 55px rgba(0,31,16,.20);
  }
  .lobby-grid>.panel:before{
    content:"";
    position:absolute;left:0;right:0;top:0;height:5px;
    background:linear-gradient(90deg,#8fd59e,#1c9b50,#67bd7d);
  }
  .lobby-card-head{
    display:flex;
    align-items:flex-start;
    gap:14px;
    margin-bottom:24px;
  }
  .lobby-card-head>div:last-child{min-width:0}
  .lobby-card-head>div:last-child>p{display:block}
  .lobby-card-head h1{
    margin:0!important;
    font-size:30px;
    line-height:1.05;
    letter-spacing:-.7px;
    color:#102c19;
  }
  .lobby-card-icon{
    display:grid;
    place-items:center;
    flex:0 0 48px;
    width:48px;height:48px;
    border-radius:15px;
    color:#0b6434;
    background:#f7eedb;
    border:1px solid #c2dfc9;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
    font-size:28px;
    font-weight:500;
    line-height:1;
  }
  .lobby-card-icon--key{font-size:31px;transform:none}
  .lobby-grid .stack{gap:16px}
  .lobby-grid .stack label{gap:7px;color:#153421;font-size:14px}
  .lobby-grid input,.lobby-grid select{
    min-height:54px;
    padding:12px 15px;
    border-radius:15px;
    border-color:#c5dbc9;
    box-shadow:inset 0 1px 2px rgba(0,0,0,.015);
  }
  .lobby-grid input:focus,.lobby-grid select:focus{
    border-color:#2d9d57;
    box-shadow:0 0 0 4px rgba(45,157,87,.11);
  }
  .lobby-grid button.primary,.lobby-grid button.secondary{
    min-height:53px;
    border-radius:15px;
    font-size:16px;
  }
  .lobby-grid button.primary{
    margin-top:2px;
    background:linear-gradient(180deg,#15944e,#08723a);
    box-shadow:0 10px 20px rgba(14,118,59,.18);
  }
  .lobby-grid button.secondary{
    background:#efe4c9;
    color:#075d30;
  }
  .lobby-rule-note{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border:1px solid #cee1d1;
    border-radius:15px;
    background:rgba(255,255,255,.48);
    color:#365744;
  }
  .lobby-rule-note__tiles{
    display:grid;place-items:center;
    flex:0 0 42px;width:42px;height:42px;
    border-radius:10px;
    background:linear-gradient(145deg,#ffdc98,#f0c26c);
    border:1px solid #ddb15c;
    color:#19351f;
    font-size:19px;
  }
  .lobby-rule-note strong{display:block;color:#153421;font-size:14px}
  .lobby-rule-note small{margin-top:2px;color:#6a8072;font-size:12px;font-weight:500;line-height:1.25}
  .lobby-grid .panel hr{margin:23px 0 20px;border-color:#e8dcc5}
  .public-room-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:13px}
  .public-room-head h2{margin:2px 0 0!important;font-size:22px;color:#153421}
  .public-room-eyebrow{display:block;color:#6d8575;font-size:10px;font-weight:900;letter-spacing:.13em}
  .room-count{display:inline-flex;padding:6px 9px;border-radius:999px;background:#f3ead8;color:#6b624f;font-size:11px;font-weight:800}
  .room-list{gap:9px}
  .room-row{
    min-height:64px;
    padding:11px 13px;
    border:1px solid #cee3d2;
    border-radius:15px;
    background:rgba(255,255,255,.64);
    box-shadow:0 3px 9px rgba(0,0,0,.025);
  }
  .room-row:hover{background:#fff;transform:translateY(-1px)}
  .room-row strong{font-size:15px;color:#153421}
  .room-row b{padding:6px 8px;border-radius:9px;background:#f5ecd9;color:#0a6635;font-size:12px;letter-spacing:.04em}
  .lobby-empty{
    min-height:190px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:22px;
    border:1px dashed #bdd7c3;
    border-radius:19px;
    background:rgba(255,255,255,.40);
    text-align:center;
  }
  .lobby-empty__tiles{display:flex;margin-bottom:14px;padding-left:6px}
  .lobby-empty__tiles span{
    width:37px;height:39px;margin-left:-5px;display:grid;place-items:center;
    border-radius:7px;background:#f5cc7c;border:1px solid #ddb15c;
    color:#19351f;font-weight:900;box-shadow:0 5px 9px rgba(0,0,0,.08)
  }
  .lobby-empty__tiles span:nth-child(2){transform:translateY(-4px) rotate(3deg)}
  .lobby-empty strong{color:#173a25;font-size:17px}
  .lobby-empty p{margin:5px 0 0;color:#718276;font-size:13px}
  .rooms-retry{width:100%;min-height:74px;background:#f6eedf;color:#174228}
  .lobby-tip{
    max-width:1140px;
    margin:17px auto 35px;
    padding:13px 17px;
    display:flex;
    align-items:center;
    gap:11px;
    color:rgba(245,255,247,.82);
    border:1px solid rgba(255,255,255,.12);
    border-radius:15px;
    background:rgba(0,46,25,.25);
    font-size:13px;
  }
  .lobby-tip strong{
    padding:5px 8px;border-radius:999px;background:#f2c755;color:#3c2b00;font-size:11px;text-transform:uppercase;letter-spacing:.06em
  }
}

@media (max-width:860px){
  .lobby-hero,.lobby-tip{display:none!important}
  .lobby-page .topbar .lobby-topbar-brand{display:flex!important;}
  .lobby-card-head>div:last-child>p,.lobby-card-icon{display:none!important}
  .lobby-card-head{display:block;margin:0}
  .public-room-head{display:block;margin:0}
  .public-room-eyebrow,.room-count{display:none!important}
  .lobby-rule-note.fixed-rack-field{display:none!important}
}

/* v0.9.22 – iOS/Safari drag hardening */
@media (hover:none), (pointer:coarse){
  .rack-tile,.board-tile{
    -webkit-user-drag:none!important;
    user-drag:none!important;
    -webkit-touch-callout:none!important;
  }
}


/* v0.9.23 - Szózóna logo */
.brand-logo{display:flex;align-items:center;line-height:0;}
.brand-logo img{display:block;width:auto;height:48px;max-width:min(420px,46vw);object-fit:contain;}
@media (max-width:767px){
  .brand-logo img{height:38px;max-width:52vw;}
}

/* v0.9.29 - dark forest lobby cards */
@media (min-width:861px){
  .lobby-page .lobby-grid>.panel{
    background:linear-gradient(180deg,#0d5134 0%,#0a472e 100%);
    border:1px solid rgba(120,205,151,.34);
    box-shadow:0 22px 48px rgba(0,31,17,.28),inset 0 1px 0 rgba(255,255,255,.045);
    color:#eef8f1;
  }
  .lobby-page .lobby-grid>.panel:before{
    background:linear-gradient(90deg,#78c995 0%,#d9bd74 52%,#78c995 100%);
    opacity:.72;
  }
  .lobby-page .lobby-card-head h1,
  .lobby-page .lobby-card-head h2,
  .lobby-page .public-room-head h2,
  .lobby-page .stack label{
    color:#f5fbf6;
  }
  .lobby-page .lobby-card-head p,
  .lobby-page .public-room-eyebrow,
  .lobby-page .room-row small,
  .lobby-page .lobby-rule-note small{
    color:#b9d6c4;
  }
  .lobby-page .lobby-card-icon{
    background:#174f37;
    border-color:#36775a;
    color:#f3cf77;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  }
  .lobby-page .lobby-rule-note{
    background:#123f2d;
    border-color:#2d654b;
    color:#f4f9f5;
  }
  .lobby-page .lobby-rule-note__tiles{
    background:linear-gradient(145deg,#f7d487,#e7b85d);
    border-color:#c8923a;
    color:#153a27;
  }
  .lobby-page .lobby-grid input,
  .lobby-page .lobby-grid select{
    background:#fbfdfb;
    border-color:#a9cdb6;
    color:#153425;
  }
  .lobby-page .lobby-grid input:focus,
  .lobby-page .lobby-grid select:focus{
    border-color:#7dcc99;
    box-shadow:0 0 0 3px rgba(125,204,153,.16);
  }
  .lobby-page .secondary{
    background:#d3e8d8;
    color:#0b5730;
  }
  .lobby-page .panel hr{border-color:rgba(195,224,204,.18)}
  .lobby-page .room-row{
    background:#123f2d;
    border:1px solid #2d654b;
    color:#f5faf6;
    box-shadow:none;
  }
  .lobby-page .room-row:hover{background:#174a35}
  .lobby-page .room-row strong{color:#ffffff}
  .lobby-page .room-count{
    background:#174a35;
    border:1px solid #2c654a;
    color:#cde5d4;
  }
}

/* v0.9.30 – layered green lobby + pastel green form fields, desktop & mobile */
body.lobby-page{
  background:
    radial-gradient(circle at 18% 12%,rgba(74,171,111,.10),transparent 28%),
    radial-gradient(circle at 86% 82%,rgba(62,145,97,.08),transparent 26%),
    linear-gradient(145deg,#002f1d 0%,#004229 48%,#003822 100%)!important;
}

.lobby-page .lobby-grid>.panel{
  background:linear-gradient(180deg,#145f42 0%,#0d5037 100%)!important;
  border:1px solid rgba(139,211,164,.38)!important;
  box-shadow:
    0 22px 48px rgba(0,20,12,.34),
    0 0 0 1px rgba(255,255,255,.025) inset,
    0 1px 0 rgba(255,255,255,.06) inset!important;
  color:#eef8f1!important;
}

.lobby-page .lobby-grid>.panel:before{
  background:linear-gradient(90deg,#82d19d 0%,#d7bd72 50%,#82d19d 100%)!important;
  opacity:.82!important;
}

.lobby-page .lobby-card-head h1,
.lobby-page .lobby-card-head h2,
.lobby-page .public-room-head h2,
.lobby-page .stack label{
  color:#f5fbf7!important;
}

.lobby-page .lobby-card-head p,
.lobby-page .public-room-eyebrow,
.lobby-page .room-row small,
.lobby-page .lobby-rule-note small{
  color:#c0ddca!important;
}

.lobby-page .lobby-grid input,
.lobby-page .lobby-grid select{
  background:#dbeadf!important;
  border:1px solid #8eb89a!important;
  color:#153b28!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.48)!important;
}

.lobby-page .lobby-grid input::placeholder{
  color:#6a8473!important;
  opacity:1;
}

.lobby-page .lobby-grid input:focus,
.lobby-page .lobby-grid select:focus{
  background:#e4f0e7!important;
  border-color:#99d2aa!important;
  box-shadow:0 0 0 3px rgba(153,210,170,.20), inset 0 1px 0 rgba(255,255,255,.55)!important;
}

.lobby-page .lobby-card-icon{
  background:#1b6b4a!important;
  border-color:#3e8564!important;
  color:#f2cd72!important;
}

.lobby-page .lobby-rule-note{
  background:#1a6849!important;
  border-color:#3c8362!important;
  color:#f4fbf6!important;
}

.lobby-page .room-row{
  background:#1a6849!important;
  border:1px solid #3b8261!important;
  color:#f5fbf7!important;
  box-shadow:0 7px 16px rgba(0,25,15,.12)!important;
}
.lobby-page .room-row:hover{background:#207354!important}
.lobby-page .room-row strong{color:#ffffff!important}
.lobby-page .room-row b{
  background:#d6e9db!important;
  color:#0a5b32!important;
}

.lobby-page .secondary{
  background:#b9d9c1!important;
  color:#0b5730!important;
  border:1px solid rgba(255,255,255,.10)!important;
}

.lobby-page .room-count{
  background:#1c694a!important;
  border:1px solid #3d8262!important;
  color:#d5eadb!important;
}

.lobby-page .panel hr{border-color:rgba(205,235,214,.18)!important}

@media (min-width:861px){
  .lobby-page .topbar{
    background:#002d1c!important;
    border-bottom-color:rgba(125,194,149,.16)!important;
  }
  .lobby-hero{
    color:#fff;
  }
}

@media (max-width:860px){
  body.lobby-page{
    background:
      radial-gradient(circle at 20% 6%,rgba(81,175,117,.12),transparent 30%),
      linear-gradient(165deg,#002f1d 0%,#00452b 58%,#003721 100%)!important;
  }
  .lobby-page .topbar{
    background:#002d1c!important;
    border-bottom:1px solid rgba(133,202,157,.16)!important;
  }
  .mobile-lobby-tabs{
    background:#073b29!important;
    border:1px solid rgba(113,190,140,.22);
  }
  .mobile-lobby-tab{
    color:#cce4d3!important;
  }
  .mobile-lobby-tab.active{
    background:#bcdcc5!important;
    color:#0b5531!important;
    box-shadow:0 3px 10px rgba(0,0,0,.16)!important;
  }
  .lobby-grid>.panel{
    background:linear-gradient(180deg,#145f42 0%,#0d5037 100%)!important;
    border:1px solid rgba(139,211,164,.36)!important;
    box-shadow:0 14px 34px rgba(0,19,11,.34)!important;
  }
  .lobby-grid .panel h1,
  .lobby-grid .panel h2,
  .lobby-grid .stack label{
    color:#f5fbf7!important;
  }
  .lobby-grid input,
  .lobby-grid select{
    background:#dbeadf!important;
    border-color:#8eb89a!important;
    color:#153b28!important;
  }
  .lobby-join-panel .room-row{
    background:#1a6849!important;
    border-color:#3b8261!important;
  }
  .rooms-retry{
    background:#dbeadf!important;
    border-color:#8eb89a!important;
    color:#214b34!important;
  }
}

/* v0.9.31 – Chat: rendszerüzenetek és játékosüzenetek erősebb elkülönítése */
.compact-chat .chat-messages{
  display:flex;
  flex-direction:column;
  gap:9px;
  padding:8px 2px 8px 0;
}
.compact-chat .chat-line{
  position:relative;
  display:block;
  width:92%;
  padding:10px 12px 11px;
  border:1px solid rgba(181,226,195,.20);
  border-radius:14px 14px 14px 5px;
  background:rgba(19,119,64,.38);
  color:#f3fff6;
  box-shadow:0 4px 10px rgba(0,0,0,.07);
}
.compact-chat .chat-line strong{
  display:block;
  padding-right:48px;
  margin-bottom:4px;
  color:#fff;
  font-size:13px;
  font-style:normal;
}
.compact-chat .chat-line span{
  display:block;
  padding-right:0;
  color:#eefaf1;
  line-height:1.42;
  font-style:normal;
}
.compact-chat .chat-line small{
  top:10px;
  right:11px;
  color:#9fc9aa;
  font-size:11px;
}
.compact-chat .chat-line.system{
  width:100%;
  padding:10px 12px 11px 14px;
  border:1px solid rgba(239,205,118,.24);
  border-left:4px solid #e9c35f;
  border-radius:10px;
  background:rgba(2,54,29,.58);
  color:#c7ddcd;
  box-shadow:none;
  font-style:normal;
}
.compact-chat .chat-line.system strong{
  display:inline-flex;
  align-items:center;
  width:auto;
  margin:0 0 5px;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(233,195,95,.15);
  border:1px solid rgba(233,195,95,.24);
  color:#f0d785;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.compact-chat .chat-line.system span{
  color:#bdd4c4;
  font-size:13px;
  line-height:1.4;
}
.compact-chat .chat-line.system small{
  color:#7fa98b;
}

@media (max-width:620px){
  .compact-chat .chat-messages{
    gap:8px;
    padding:8px 1px 10px 0;
  }
  .compact-chat .chat-line{
    width:88%;
    padding:9px 11px 10px;
    border-radius:14px 14px 14px 5px;
  }
  .compact-chat .chat-line.system{
    width:100%;
    padding:9px 10px 10px 12px;
    border-left-width:4px;
    border-radius:10px;
  }
  .compact-chat .chat-line.system strong{
    font-size:9px;
  }
  .compact-chat .chat-line.system span{
    font-size:12px;
  }
}


/* v0.9.32 – lobby cleanup: no hero logo, default 2 players, lighter 7 közös betű label */
@media (min-width:861px){
  .lobby-page .lobby-hero{
    justify-content:flex-start;
  }
  .lobby-page .lobby-hero__copy{
    max-width:900px;
  }
  .lobby-page .lobby-hero__logo{
    display:none!important;
  }
}

.lobby-page .lobby-rule-note strong{
  color:#f3fbf6!important;
}
.lobby-page .lobby-rule-note small{
  color:#cfe6d7!important;
}
.lobby-page .lobby-rule-note__tiles{
  box-shadow:0 3px 8px rgba(0,0,0,.12);
}


/* v0.9.33 – full Szózóna hero logo retained, empty-state S-Z-Ó motif removed */
.lobby-page .lobby-rule-note strong{color:#f3fbf6!important;}
.lobby-page .lobby-rule-note small{color:#cfe6d7!important;}
.lobby-page .lobby-empty.no-logo{
  min-height:190px;
  justify-content:center;
  gap:8px;
  padding:28px 22px;
}
.lobby-page .lobby-empty.no-logo strong{
  color:#f5fbf7!important;
  font-size:18px;
}
.lobby-page .lobby-empty.no-logo p{
  margin:0;
  color:#c6ddd0!important;
  font-size:13px;
}
@media (max-width:860px){
  .lobby-page .lobby-empty.no-logo{min-height:150px;padding:22px 18px;}
}


/* v0.9.34 – restore full Szózóna hero logo on desktop */
@media (min-width:861px){
  .lobby-page .lobby-hero{
    justify-content:space-between;
    align-items:flex-start;
  }
  .lobby-page .lobby-hero__copy{
    max-width:760px;
  }
  .lobby-page .lobby-hero__logo{
    display:flex!important;
    align-items:center;
    justify-content:flex-end;
    flex:0 0 auto;
    padding-right:4px;
  }
  .lobby-page .lobby-hero__logo img{
    display:block;
    width:auto;
    height:96px;
    max-width:min(360px,28vw);
    object-fit:contain;
    filter:drop-shadow(0 16px 24px rgba(0,0,0,.16));
  }
}

/* v0.9.36 – account / login / registration */
.auth-page{background:radial-gradient(circle at 20% 10%,rgba(88,187,124,.14),transparent 30%),linear-gradient(145deg,#002f1d,#00452b 58%,#003721);}
.auth-card-wide{width:min(520px,100%);padding:34px;}
.auth-logo{display:block;width:min(330px,82%);height:auto;margin:0 auto 18px;object-fit:contain;}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin:20px 0 18px;padding:5px;background:#dceadf;border-radius:14px;}
.auth-tab{background:transparent;color:#315d43;padding:10px 8px;border-radius:10px;}
.auth-tab.active{background:#0b6c3a;color:white;box-shadow:0 4px 10px rgba(0,0,0,.12);}
.auth-pane{display:none}.auth-pane.active{display:block}.auth-form{gap:12px}.auth-form label{color:#173822}
.auth-or{display:flex;align-items:center;gap:10px;margin:15px 0;color:#7a8e7e;font-size:12px}.auth-or:before,.auth-or:after{content:"";height:1px;background:#d1dfd4;flex:1}
.google-auth-button{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #cbd9ce;border-radius:13px;background:#fff;color:#183b25;font-weight:800;text-decoration:none;box-shadow:0 4px 10px rgba(0,0,0,.05)}
.google-auth-button:before{content:"G";display:grid;place-items:center;width:25px;height:25px;margin-right:9px;border-radius:50%;background:#fff;border:1px solid #d7dfd9;color:#4285f4;font-weight:900}
.auth-small-note,.auth-google-note{margin:12px 0 0;color:#607565;font-size:12px;line-height:1.4}.auth-server-error{margin-bottom:12px!important}
.auth-footer-links{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.auth-footer-links a{color:#0b6c3a;font-weight:800;text-decoration:none}
.account-card h1{margin:0 0 8px}.account-summary{display:grid;gap:7px;padding:17px;border-radius:14px;background:#deecdf}.registered-badge{color:#087843;font-weight:800;font-size:13px}
.user-session-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.account-kind{display:inline-flex;margin-left:7px;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.13);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.topbar-link,.game-account-link{color:#d9eee0;text-decoration:none;font-size:12px;font-weight:800;padding:7px 9px;border-radius:9px;border:1px solid rgba(255,255,255,.12)}.topbar-link:hover,.game-account-link:hover{background:rgba(255,255,255,.08)}
@media(max-width:767px){.auth-card-wide{padding:24px 18px}.auth-tabs{gap:3px}.auth-tab{font-size:12px;padding:9px 4px}.user-session-actions{gap:5px}.topbar-link{font-size:0;padding:7px}.topbar-link[href="logout.php"]:after{content:"↪";font-size:17px}.topbar-link[href="account.php"]:after{content:"+";font-size:17px}.account-kind{display:none}.game-account-link{display:none}}


/* v0.9.37 – auth UI polish */
.auth-tabs{
  gap:8px;
  padding:6px;
  background:#d7e7db;
  border:1px solid #c7dbcd;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.04);
}
.auth-tab{
  color:#2f5c41;
  font-weight:900;
  border:1px solid transparent;
  transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.auth-tab:hover{
  background:#edf5ef;
  border-color:#c8dccd;
  color:#17482d;
}
.auth-tab.active{
  background:#0b7040;
  color:#fff;
  border-color:#075d34;
  box-shadow:0 6px 14px rgba(4,76,39,.20);
}
.google-auth-button{
  position:relative;
  min-height:52px;
  border:1px solid #c8d6cc;
  border-radius:12px;
  background:#fff;
  color:#1f2d24;
  font-weight:700;
  box-shadow:0 2px 5px rgba(0,0,0,.08);
}
.google-auth-button:hover{
  background:#f8faf9;
  box-shadow:0 3px 8px rgba(0,0,0,.10);
}
.google-auth-button:before{display:none!important;}
.google-g{
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  margin-right:12px;
  border:1px solid #d8ded9;
  border-radius:50%;
  background:#fff;
  font:900 18px/1 Arial,sans-serif;
  color:#4285f4;
}
.auth-page .tagline{
  margin:6px 0 22px;
}
.auth-logo{
  margin-bottom:14px;
}

@media(max-width:767px){
  body.auth-page{
    align-items:start;
    padding:14px 12px 20px;
  }
  .auth-card-wide{
    margin-top:10px;
    padding:20px 16px 22px;
    border-radius:20px;
  }
  .auth-logo{
    width:min(280px,78%);
    margin:0 auto 8px;
  }
  .auth-page .tagline{
    margin:2px 0 14px;
    font-size:16px;
    line-height:1.35;
  }
  .auth-tabs{
    margin:12px 0 14px;
    gap:5px;
    padding:5px;
  }
  .auth-tab{
    font-size:13px;
    padding:10px 5px;
  }
  .google-auth-button{
    min-height:50px;
    font-size:15px;
  }
}


/* v0.9.41 – active game resume */
.lobby-user-actions{display:flex;align-items:center;gap:10px;margin-left:auto;}
.resume-game-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border-radius:999px;background:#d8eddf;color:#07572f;font-size:13px;font-weight:900;text-decoration:none;border:1px solid rgba(255,255,255,.18);box-shadow:0 4px 12px rgba(0,0,0,.10);}
.resume-game-link:hover{background:#eef8f1;color:#064a29;}
@media(max-width:860px){
  .lobby-user-actions{gap:7px;}
  .resume-game-link{min-height:34px;padding:7px 10px;font-size:11px;}
}


/* v0.9.42 – grds-only spectator mode */
.spectator-badge{display:inline-flex;align-items:center;margin-left:8px;padding:4px 7px;border-radius:999px;background:#f1c85a;color:#3d2b00;font-size:10px;font-weight:900;letter-spacing:.08em;vertical-align:middle}
.spectator-status{color:#d9eadf!important;font-weight:700}
body.game-page.spectator-mode .controls-panel{min-height:0}


/* v0.9.43 – grds DEV oldalak: közvetlen aktív-játék betekintő */
.dev-spectator-widget{
  margin:18px 0 22px;
  padding:16px;
  border:1px solid rgba(122,190,146,.25);
  border-radius:16px;
  background:#0d4e36;
  color:#f4fbf6;
  box-shadow:0 10px 24px rgba(0,28,17,.16);
}
.dev-spectator-widget__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.dev-spectator-widget__head h2{
  margin:0 0 3px;
  color:#fff;
  font-size:18px;
}
.dev-spectator-widget__head .muted{color:#bcd9c6}
.dev-spectator-all{
  flex:0 0 auto;
  padding:8px 10px;
  border-radius:10px;
  background:#d9eadf;
  color:#0b5730;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
}
.dev-spectator-list{
  display:grid;
  gap:8px;
}
.dev-spectator-room{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border:1px solid rgba(152,211,171,.22);
  border-radius:12px;
  background:#155f43;
  color:#fff;
  text-decoration:none;
}
.dev-spectator-room:hover{background:#1a6d4d}
.dev-spectator-room span{min-width:0}
.dev-spectator-room strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff;
  font-size:14px;
}
.dev-spectator-room small{
  display:block;
  margin-top:2px;
  color:#c4dfcd;
  font-size:11px;
}
.dev-spectator-room b{
  padding:5px 7px;
  border-radius:999px;
  font-size:9px;
  letter-spacing:.08em;
}
.dev-spectator-room b.is-playing{background:#f1ca68;color:#3c2b00}
.dev-spectator-room b.is-waiting{background:#b9d9c1;color:#0b5730}
.dev-spectator-room em{
  font-style:normal;
  font-size:12px;
  font-weight:900;
  color:#f7d47d;
}
.dev-spectator-empty{
  padding:14px;
  border-radius:11px;
  background:#155f43;
  color:#c5dfce;
  font-size:13px;
}
@media(max-width:760px){
  .dev-spectator-widget{padding:12px}
  .dev-spectator-widget__head{align-items:center}
  .dev-spectator-room{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .dev-spectator-room em{
    grid-column:1/-1;
    padding-top:3px;
  }
}


/* v0.9.45 – mobil fiókmenü */
.desktop-session-links{display:flex;align-items:center;gap:8px}
.mobile-account-menu{display:none;position:relative}
.mobile-account-menu summary{
  list-style:none;
  display:grid;
  place-items:center;
  width:36px;height:36px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.mobile-account-menu summary::-webkit-details-marker{display:none}
.mobile-account-menu[open] summary{background:rgba(255,255,255,.15)}
.mobile-account-menu__panel{
  position:absolute;
  right:0;
  top:44px;
  z-index:10050;
  width:210px;
  padding:8px;
  border:1px solid rgba(158,216,177,.28);
  border-radius:14px;
  background:#0b4b33;
  box-shadow:0 14px 34px rgba(0,0,0,.32);
}
.mobile-account-menu__user{
  display:grid;
  gap:2px;
  padding:9px 10px 10px;
  margin-bottom:4px;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.mobile-account-menu__user strong{color:#fff;font-size:14px}
.mobile-account-menu__user small{color:#bad8c4;font-size:11px}
.mobile-account-menu__panel>a{
  display:block;
  padding:11px 10px;
  border-radius:9px;
  color:#edf8f0;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
}
.mobile-account-menu__panel>a:hover,
.mobile-account-menu__panel>a:active{background:#176445}
.mobile-account-menu__panel>a.logout-link{
  margin-top:4px;
  border-top:1px solid rgba(255,255,255,.10);
  color:#ffd5d5;
}

@media(max-width:767px){
  .desktop-session-links{display:none!important}
  .mobile-account-menu{display:block}
  .lobby-page .user-session-actions{gap:7px}
  .lobby-page .user-chip{
    max-width:calc(100vw - 150px);
  }
  .game-page .game-account-link{display:none!important}
  .game-page .topbar-actions{overflow:visible}
  .game-page .mobile-account-menu{order:2}
  .game-page .mobile-chat-toggle{order:3}
  .game-page .room-code{order:1}
}


/* v0.9.46 – mobil pontsáv + parti végi rangsor */
.mobile-score-strip{display:none}

.final-ranking-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:10px 18px;
  border:1px solid #d7b85c;
  border-radius:12px;
  background:linear-gradient(180deg,#f3cf74,#dfb753);
  color:#153722;
  font-weight:900;
  box-shadow:0 7px 16px rgba(0,0,0,.14);
}

.final-ranking-backdrop{
  position:fixed;
  inset:0;
  z-index:20000;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(0,28,17,.72);
  backdrop-filter:blur(5px);
}
.final-ranking-backdrop[hidden]{display:none!important}
.final-ranking-modal{
  position:relative;
  width:min(520px,100%);
  max-height:min(760px,calc(100dvh - 36px));
  overflow:auto;
  padding:30px;
  border:1px solid rgba(140,211,164,.42);
  border-radius:24px;
  background:linear-gradient(180deg,#145f42,#0b4933);
  color:#f4fbf6;
  box-shadow:0 28px 70px rgba(0,0,0,.40);
}
.final-ranking-close{
  position:absolute;
  top:12px;
  right:12px;
  width:36px;height:36px;min-width:36px;
  padding:0;
  border-radius:50%;
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:24px;
}
.final-ranking-kicker{
  color:#f1cd72;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
}
.final-ranking-modal h2{
  margin:5px 0 5px;
  color:#fff;
  font-size:32px;
}
.final-ranking-reason{
  margin:0 0 20px;
  color:#c8dfd0;
  font-size:13px;
}
.final-ranking-list{
  display:grid;
  gap:9px;
}
.final-ranking-row{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:68px;
  padding:11px 14px;
  border:1px solid rgba(163,216,180,.20);
  border-radius:15px;
  background:#176044;
}
.final-ranking-row.place-1{
  border-color:rgba(240,203,105,.60);
  background:linear-gradient(135deg,#1b6a4a,#285f3f);
  box-shadow:0 8px 18px rgba(0,0,0,.14);
}
.final-ranking-place{
  display:grid;
  place-items:center;
  width:42px;height:42px;
  border-radius:50%;
  background:rgba(255,255,255,.09);
  color:#f7d77e;
  font-size:21px;
  font-weight:900;
}
.final-ranking-player{min-width:0}
.final-ranking-player strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff;
  font-size:16px;
}
.final-ranking-player small{
  display:block;
  margin-top:3px;
  color:#bad5c3;
  font-size:11px;
}
.final-ranking-score{
  display:grid;
  justify-items:end;
  min-width:64px;
}
.final-ranking-score strong{
  color:#fff;
  font-size:23px;
  line-height:1;
}
.final-ranking-score small{
  margin-top:3px;
  color:#c3ddcb;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.final-ranking-footer{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:20px;
}
.final-ranking-footer>a,
.final-ranking-footer>button{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  text-decoration:none;
  font-weight:900;
}
.final-ranking-lobby{
  background:#c9dfcf;
  color:#0b5531;
}

@media(max-width:620px){
  .mobile-score-strip{
    display:flex;
    gap:6px;
    width:100%;
    min-width:0;
    overflow-x:auto;
    scrollbar-width:none;
    padding:2px 1px 6px;
    -webkit-overflow-scrolling:touch;
  }
  .mobile-score-strip::-webkit-scrollbar{display:none}
  .mobile-score-chip{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:7px;
    min-width:92px;
    max-width:150px;
    height:31px;
    padding:0 9px;
    border:1px solid rgba(184,224,196,.20);
    border-radius:999px;
    background:#0a4b32;
    color:#dcefe2;
    box-shadow:0 2px 5px rgba(0,0,0,.10);
  }
  .mobile-score-chip.leader{border-color:rgba(242,204,105,.52)}
  .mobile-score-chip span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:10px;
    font-weight:800;
  }
  .mobile-score-chip strong{
    margin-left:auto;
    color:#fff;
    font-size:13px;
  }

  .game-stage{
    grid-template-rows:auto auto minmax(0,1fr) auto;
  }

  .final-ranking-action{
    grid-column:1/-1;
    width:100%;
  }

  .final-ranking-backdrop{
    align-items:end;
    padding:0;
  }
  .final-ranking-modal{
    width:100%;
    max-height:88dvh;
    padding:24px 16px calc(18px + env(safe-area-inset-bottom));
    border-radius:22px 22px 0 0;
  }
  .final-ranking-modal h2{font-size:27px}
  .final-ranking-row{
    grid-template-columns:42px minmax(0,1fr) auto;
    min-height:62px;
    padding:9px 11px;
  }
  .final-ranking-place{width:36px;height:36px;font-size:18px}
  .final-ranking-player strong{font-size:14px}
  .final-ranking-score strong{font-size:20px}
  .final-ranking-footer{grid-template-columns:1fr}
}


/* v0.9.49 – mobil végeredmény szinkron / Safari biztosíték */
.final-ranking-backdrop.is-open{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
html.final-ranking-open,
html.final-ranking-open body{
  overscroll-behavior:none;
}
@media(max-width:620px){
  .final-ranking-backdrop.is-open{
    position:fixed!important;
    inset:0!important;
    z-index:2147483000!important;
    width:100vw!important;
    height:100dvh!important;
  }
  .final-ranking-modal{
    max-height:92dvh;
    padding-bottom:calc(18px + env(safe-area-inset-bottom));
  }
}


/* v0.9.57 – lezárt játék archívum + replay */
.archive-page,.replay-page{background:#063f29;color:#edf8f0;min-height:100vh}
.archive-wrap{max-width:1180px;margin:0 auto;padding:28px 18px 60px}
.archive-hero{padding:24px 0}.archive-kicker,.replay-kicker{font-size:11px;font-weight:900;letter-spacing:.14em;color:#e7c65c}
.archive-hero h1{margin:5px 0 8px;font-size:34px}.archive-hero p{max-width:760px;color:#bfd6c7}
.archive-list{display:grid;gap:12px}.archive-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:#0b5338}
.archive-card-main{display:flex;align-items:center;justify-content:space-between;gap:28px;flex:1}.archive-room{font-size:11px;font-weight:900;color:#f0cd6d}.archive-card h2{margin:4px 0;font-size:18px}.archive-card p{margin:0;color:#bdd5c5;font-size:12px}
.archive-scoreline{display:flex;flex-wrap:wrap;gap:8px}.archive-scoreline span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.08);font-size:12px}.archive-replay-button{display:inline-flex;align-items:center;justify-content:center;padding:11px 14px;border-radius:12px;background:#e9c75f;color:#173a26;text-decoration:none;font-weight:900}.archive-empty{padding:30px;border-radius:18px;background:#0b5338}

.replay-layout{max-width:1500px;margin:14px auto;padding:0 14px 30px;display:grid;grid-template-columns:minmax(620px,1fr) 310px;grid-template-areas:"board side" "timeline timeline";gap:14px}
.replay-board-panel{grid-area:board;background:#0b5338;border-radius:18px;padding:14px;border:1px solid rgba(255,255,255,.10)}
.replay-side{grid-area:side;display:grid;gap:14px;align-content:start}.replay-timeline-panel{grid-area:timeline;background:#0b5338;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:14px}
.replay-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.replay-head h1{margin:3px 0 0}.replay-board{margin:0 auto}.replay-rack-box{margin-top:12px;padding:12px;border-radius:14px;background:rgba(0,0,0,.12)}.replay-rack{margin-top:8px}
.replay-score-row,.replay-sub-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}.replay-score-row:last-child,.replay-sub-row:last-child{border-bottom:0}.replay-sub-row>div{display:grid;gap:3px;min-width:0}.replay-sub-row small{color:#bad1c0;white-space:normal}.replay-sub-row.winner{background:rgba(235,199,93,.09);margin:0 -8px;padding:10px 8px;border-radius:10px}.replay-sub-score{font-weight:900;color:#f0d171;white-space:nowrap}
.replay-timeline-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.replay-timeline-panel input[type=range]{width:100%}.replay-ticks{display:flex;gap:5px;overflow-x:auto;padding-top:8px}.replay-ticks button{min-width:32px;height:32px;padding:0;border-radius:50%;background:#d7e8db;color:#17472d;font-weight:900}.replay-ticks button.active{background:#e8c65f;color:#173a26}

@media(max-width:820px){
  .archive-wrap{padding:16px 10px 40px}.archive-card{display:grid}.archive-card-main{display:grid;gap:10px}.archive-replay-button{width:100%}
  .replay-page{overflow:auto}.replay-layout{display:grid;grid-template-columns:1fr;grid-template-areas:"board" "timeline" "side";padding:8px;gap:8px}
  .replay-board-panel{padding:8px}.replay-side{display:grid;grid-template-columns:1fr}.replay-timeline-panel{position:sticky;bottom:0;z-index:20;border-radius:14px}
  .replay-board{width:min(calc(100vw - 24px),calc(100dvh - 300px));height:auto}
}


/* v0.9.58 – grds teljes archívum */
.archive-dev-badge{
  display:inline-flex;
  align-items:center;
  margin-top:10px;
  padding:7px 10px;
  border:1px solid rgba(239,201,91,.38);
  border-radius:999px;
  background:rgba(239,201,91,.10);
  color:#f0d276;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
}


/* v0.9.59 – aktív játék visszalépés desktopon is */
.active-game-link{
  border-color:rgba(239,201,91,.42)!important;
  color:#f4d778!important;
}
.active-game-banner{
  max-width:1180px;
  margin:0 auto 14px;
  padding:11px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid rgba(239,201,91,.34);
  border-radius:14px;
  background:rgba(239,201,91,.10);
}
.active-game-banner>div{display:grid;gap:2px}
.active-game-banner strong{color:#fff;font-size:14px}
.active-game-banner span{color:#c7ddce;font-size:11px}
.active-game-banner a{
  flex:0 0 auto;
  padding:9px 12px;
  border-radius:10px;
  background:#e8c85f;
  color:#173b27;
  text-decoration:none;
  font-weight:900;
  font-size:12px;
}
@media(max-width:767px){
  .active-game-banner{
    margin:8px 10px;
    padding:9px 10px;
  }
  .active-game-banner a{padding:8px 10px}
}


/* v0.9.60 – bal felső Szózóna logó visszavisz a lobbyba */
.brand-home-link{
  text-decoration:none;
  cursor:pointer;
}
.brand-home-link img{
  display:block;
}


/* v0.9.62 – replay beadások olvasható kártyák */
.replay-side .panel{
  background:#0b5338!important;
  color:#edf8f0!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:none!important;
}
.replay-side .panel h2{
  color:#fff!important;
  margin:0 0 12px;
  font-size:20px;
}
.replay-score-row{
  color:#edf8f0!important;
}
.replay-score-row span,
.replay-score-row strong{
  color:#edf8f0!important;
}
.replay-submissions-panel{
  padding:14px!important;
}
.replay-sub-card{
  display:grid;
  gap:8px;
  padding:12px;
  margin-bottom:10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:13px;
  background:#08482f;
}
.replay-sub-card:last-child{margin-bottom:0}
.replay-sub-card.winner{
  border-color:rgba(238,201,94,.62);
  background:linear-gradient(135deg,#11583b,#174f34);
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}
.replay-sub-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.replay-sub-player{
  display:grid;
  gap:4px;
  min-width:0;
}
.replay-sub-player strong{
  color:#fff!important;
  font-size:14px;
}
.replay-winner-badge{
  width:max-content;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(239,203,100,.14);
  color:#f1d476;
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.replay-sub-word{
  padding:8px 9px;
  border-radius:9px;
  background:rgba(255,255,255,.06);
  color:#d9eee0;
  font-size:13px;
  font-weight:800;
  line-height:1.35;
}
.replay-sub-word.valid{
  color:#fff;
}
.replay-sub-word.invalid{
  color:#b8cec0;
  font-weight:700;
}
.replay-sub-score{
  color:#f1d476!important;
  font-size:15px;
  font-weight:900;
  white-space:nowrap;
}
.replay-empty-sub{
  padding:12px;
  border-radius:10px;
  background:rgba(255,255,255,.05);
  color:#bfd5c7;
  font-size:12px;
}
@media(max-width:820px){
  .replay-side .panel{padding:12px!important}
  .replay-sub-card{padding:11px}
  .replay-sub-word{font-size:12px}
}


/* v0.9.63 – mobilon csak a tényleges játékoldal fix.
   Minden más oldal normálisan görgethető. */
@media (max-width:620px){
  html{
    min-height:100%;
    height:auto;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:auto;
  }

  body:not(.game-page){
    position:static!important;
    inset:auto!important;
    width:100%;
    height:auto!important;
    min-height:100dvh;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:auto!important;
    touch-action:auto!important;
  }

  /* A lobby korábbi app-szerű fix nézetét normál dokumentumfolyamra tesszük. */
  body.lobby-page{
    position:static!important;
    height:auto!important;
    min-height:100dvh;
    overflow-y:auto!important;
  }

  .lobby-page .topbar{
    position:sticky;
    top:0;
    z-index:60;
  }

  .lobby-page .lobby-hero{
    position:static!important;
  }

  .lobby-page .mobile-lobby-tabs{
    position:sticky!important;
    top:calc(58px + env(safe-area-inset-top))!important;
    left:auto!important;
    right:auto!important;
    margin:8px 10px;
    z-index:50;
  }

  .lobby-page .lobby-grid{
    position:static!important;
    inset:auto!important;
    top:auto!important;
    bottom:auto!important;
    margin:0!important;
    padding:8px 10px calc(18px + env(safe-area-inset-bottom))!important;
    overflow:visible!important;
    max-width:none;
  }

  .lobby-page .lobby-grid>.panel{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }

  .lobby-page .lobby-grid>.panel.mobile-active{
    display:flex;
  }

  .lobby-page .lobby-join-panel #rooms{
    max-height:none!important;
    overflow:visible!important;
  }

  /* Archívum, replay, auth és egyéb nem-game oldalak is teljes oldalon görgethetők. */
  .archive-page,
  .replay-page,
  .landing,
  .auth-page{
    overflow-y:auto!important;
    min-height:100dvh;
  }

  .archive-page .topbar,
  .replay-page .topbar{
    position:sticky;
    top:0;
    z-index:60;
  }

  /* A replay timeline többé ne ragadjon az aljára, az egész oldal görgessen természetesen. */
  .replay-timeline-panel{
    position:static!important;
  }

  /* A játékoldal marad változatlanul fix app-nézet. */
  body.game-page{
    position:fixed!important;
    inset:0!important;
    height:100dvh!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
}


/* v0.9.64 – mobil replay: teljesen viewporton belül, nincs vízszintes kilógás */
@media (max-width:820px){
  .replay-page{
    width:100%;
    max-width:100vw;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }

  .replay-page .topbar{
    width:100%;
    max-width:100vw;
    box-sizing:border-box;
    padding-left:12px;
    padding-right:12px;
    gap:8px;
  }

  .replay-page .brand-logo{
    flex:0 0 auto;
    min-width:0;
  }

  .replay-page .brand-logo img{
    max-width:150px;
    height:auto;
  }

  .replay-page .topbar-actions{
    min-width:0;
    gap:6px;
    overflow:hidden;
  }

  .replay-page .room-code{
    min-width:0;
    max-width:150px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:12px;
  }

  .replay-page .topbar-link{
    flex:0 0 auto;
    font-size:11px!important;
    padding:7px 9px!important;
  }

  .replay-layout{
    width:100%;
    max-width:100vw;
    min-width:0;
    margin:0!important;
    padding:10px!important;
    box-sizing:border-box;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:
      "board"
      "timeline"
      "side"!important;
    gap:10px!important;
  }

  .replay-board-panel,
  .replay-side,
  .replay-timeline-panel{
    width:100%;
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
  }

  .replay-board-panel{
    padding:10px!important;
    overflow:hidden;
  }

  .replay-head{
    width:100%;
    min-width:0;
    align-items:center;
    gap:8px;
  }

  .replay-head>div{
    min-width:0;
    flex:1 1 auto;
  }

  .replay-head h1{
    font-size:clamp(24px,7vw,34px);
    line-height:1.05;
    overflow-wrap:anywhere;
  }

  #replayPlay{
    flex:0 0 auto;
    min-width:44px;
    max-width:116px;
    padding:10px 12px;
    white-space:nowrap;
  }

  /* A játékoldal mobil .word-board szabályai a replayre ne terjedjenek át. */
  .replay-page .replay-board{
    display:grid;
    width:min(100%,560px)!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    margin:8px auto 0!important;
    align-self:auto!important;
    justify-self:auto!important;
    touch-action:auto!important;
    box-sizing:border-box;
  }

  .replay-page .replay-board .board-cell{
    min-width:0!important;
    min-height:0!important;
    touch-action:auto!important;
  }

  .replay-page .replay-board .board-tile{
    font-size:clamp(8px,2.7vw,13px)!important;
  }

  .replay-page .replay-board .board-tile.multi,
  .replay-page .replay-board .board-tile.multi-letter{
    font-size:clamp(6px,2vw,10px)!important;
  }

  .replay-rack-box{
    width:100%;
    min-width:0;
    box-sizing:border-box;
    padding:10px!important;
    overflow:hidden;
  }

  /* Replay rack: pontosan 7 egyforma oszlop, soha ne lógjon ki jobbra. */
  .replay-page .replay-rack{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:5px!important;
    width:100%;
    min-width:0;
    min-height:0!important;
    height:auto!important;
    justify-content:stretch!important;
  }

  .replay-page .replay-rack .rack-tile{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    aspect-ratio:1/1;
    padding:0!important;
    margin:0!important;
    display:grid;
    place-items:center;
    font-size:clamp(14px,4.7vw,21px)!important;
    box-sizing:border-box;
  }

  .replay-page .replay-rack .rack-tile.multi{
    font-size:clamp(10px,3.5vw,15px)!important;
  }

  .replay-timeline-panel{
    position:static!important;
    overflow:hidden;
    padding:11px!important;
  }

  .replay-timeline-meta{
    min-width:0;
    align-items:flex-start;
  }

  #replayTimelineWinner{
    min-width:0;
    text-align:right;
    overflow-wrap:anywhere;
  }

  .replay-ticks{
    max-width:100%;
    overflow-x:auto;
    overscroll-behavior-x:contain;
  }

  .replay-side{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
  }

  .replay-side .panel{
    width:100%;
    min-width:0;
    box-sizing:border-box;
  }
}

@media (max-width:430px){
  .replay-page .topbar{
    height:58px;
  }

  .replay-page .brand-logo img{
    max-width:122px;
  }

  .replay-page .room-code{
    max-width:118px;
    font-size:11px;
  }

  .replay-page .topbar-link{
    padding:6px 7px!important;
    font-size:10px!important;
  }

  .replay-layout{
    padding:7px!important;
  }

  .replay-board-panel{
    padding:8px!important;
    border-radius:14px;
  }

  .replay-head h1{
    font-size:27px;
  }

  #replayPlay{
    max-width:54px;
    width:54px;
    height:46px;
    padding:0;
    overflow:hidden;
    font-size:0;
  }

  #replayPlay::first-letter{
    font-size:20px;
  }
}

@media (max-width:430px){
  #replayPlay .replay-play-label{display:none}
  #replayPlay .replay-play-icon{font-size:20px;line-height:1}
}


/* v0.9.65 – mobil replay: jelezze, hogy a lépés részletei lejjebb vannak */
.replay-details-hint{
  display:none;
}

@media (max-width:820px){
  .replay-details-hint{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    margin-top:10px;
    padding:12px 14px;
    border-radius:14px;
    border:1px solid rgba(231,198,92,.35);
    background:linear-gradient(180deg, rgba(231,198,92,.18), rgba(231,198,92,.10));
    color:#fff6cf;
    font-weight:800;
    letter-spacing:.01em;
    box-shadow:0 8px 20px rgba(0,0,0,.16);
  }

  .replay-details-hint-icon{
    display:inline-flex;
    width:24px;
    height:24px;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    font-size:16px;
    animation:replayHintBounce 1.6s ease-in-out infinite;
  }

  .replay-details-hint-text{
    font-size:13px;
    line-height:1.25;
    text-align:center;
  }
}

@media (max-width:430px){
  .replay-details-hint{
    margin-top:8px;
    padding:10px 12px;
    border-radius:12px;
  }

  .replay-details-hint-text{
    font-size:12px;
  }
}

@keyframes replayHintBounce{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(3px); }
}


/* v0.9.67 – grds súgó / top tippek */
.dev-hint-action{min-height:52px;background:linear-gradient(180deg,#f1cf66,#d9ae35);color:#26432f;font-weight:900}
.dev-hint-backdrop{position:fixed;inset:0;z-index:2147482500;display:grid;place-items:center;padding:18px;background:rgba(0,24,13,.72);backdrop-filter:blur(5px)}
.dev-hint-backdrop[hidden]{display:none!important}
.dev-hint-modal{position:relative;width:min(520px,calc(100vw - 28px));max-height:min(720px,calc(100dvh - 36px));overflow:auto;padding:22px;border:1px solid rgba(240,205,105,.32);border-radius:20px;background:#0c5138;color:#edf8f0;box-shadow:0 24px 70px rgba(0,0,0,.42)}
.dev-hint-close{position:absolute;top:10px;right:10px;width:38px;height:38px;padding:0;border-radius:50%;background:rgba(255,255,255,.10);color:#fff;font-size:24px}
.dev-hint-kicker{margin-bottom:5px;color:#f0cd69;font-size:10px;font-weight:900;letter-spacing:.13em}.dev-hint-modal h2{margin:0 42px 5px 0;color:#fff;font-size:26px}.dev-hint-meta{margin:0 0 14px;color:#bdd7c6;font-size:12px}.dev-hint-list{display:grid;gap:8px}
.dev-hint-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid rgba(255,255,255,.10);border-radius:13px;background:#155f43}.dev-hint-row:first-child{border-color:rgba(240,205,105,.58);background:linear-gradient(135deg,#176747,#285e3e)}
.dev-hint-rank{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.09);color:#f3d577;font-weight:900}.dev-hint-word{display:grid;gap:3px;min-width:0}.dev-hint-word strong{color:#fff;font-size:17px;overflow-wrap:anywhere}.dev-hint-word small{color:#bcd7c5;font-size:10px}.dev-hint-score{display:grid;justify-items:end;color:#f3d577;font-size:21px;font-weight:900;line-height:1}.dev-hint-score small{margin-top:3px;color:#c6ddce;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.dev-hint-loading,.dev-hint-empty{padding:16px;border-radius:12px;background:rgba(255,255,255,.06);color:#c7ddcf;font-size:13px;line-height:1.4}.dev-hint-note{margin:12px 0 0;color:#9fc3ac;font-size:10px;line-height:1.4}
@media(max-width:620px){.dev-hint-action{grid-column:1/-1;min-height:38px!important;padding:6px 10px!important;font-size:12px!important}.dev-hint-backdrop{align-items:end;padding:0}.dev-hint-modal{width:100%;max-width:none;max-height:78dvh;padding:18px 14px calc(16px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0}.dev-hint-modal h2{font-size:22px}.dev-hint-row{padding:10px}.dev-hint-word strong{font-size:15px}.dev-hint-score{font-size:19px}}


/* v0.9.68 – grds súgó: tipp kattintásra felkerül a táblára */
.dev-hint-row{
  width:100%;
  text-align:left;
  color:inherit;
  font:inherit;
  cursor:pointer;
  transition:transform .12s ease, filter .12s ease, border-color .12s ease;
}
.dev-hint-row:hover{
  filter:brightness(1.08);
  border-color:rgba(240,205,105,.48);
}
.dev-hint-row:active{
  transform:scale(.992);
}
.dev-hint-row:focus-visible{
  outline:3px solid rgba(241,205,105,.75);
  outline-offset:2px;
}


/* v0.9.69 – visszafogott GRDS Tipp gomb */
.dev-hint-dock{
  display:grid;
  gap:8px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(206,235,214,.16);
}
.dev-hint-caption{
  color:#a8cbb4;
  font-size:11px;
  line-height:1.35;
}
.dev-hint-action{
  border:1px solid rgba(180,228,196,.18);
  background:linear-gradient(180deg,rgba(25,114,70,.96),rgba(17,91,56,.96));
  color:#eef9f1;
  font-weight:800;
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}
.dev-hint-action:hover{
  filter:brightness(1.03);
}
.dev-hint-action:disabled{
  opacity:.62;
  cursor:wait;
}
.dev-hint-action--sidebar{
  width:100%;
  min-height:44px;
  justify-content:center;
}
.dev-hint-action--mobile{
  display:none;
}

@media (min-width:621px){
  .dev-hint-action--mobile{display:none !important;}
}

@media (max-width:620px){
  .dev-hint-action--sidebar,
  .dev-hint-dock{
    display:none !important;
  }
  .dev-hint-action--mobile{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    min-width:0;
    min-height:34px !important;
    padding:7px 12px !important;
    margin-top:2px;
    justify-self:end;
    grid-column:1 / -1;
    border-radius:999px;
    font-size:12px !important;
    line-height:1;
    background:rgba(211,241,221,.09);
    border:1px solid rgba(199,229,208,.16);
    color:#cfe7d8;
    box-shadow:none;
    opacity:.92;
  }
  .dev-hint-action--mobile:hover,
  .dev-hint-action--mobile:active{
    filter:none;
    background:rgba(211,241,221,.12);
  }
}


/* v0.9.70 – szómagyarázat */
.board-cell.word-inspectable{
  cursor:help;
}
.board-cell.word-inspectable:hover{
  box-shadow:inset 0 0 0 2px rgba(244,218,124,.38);
}

.word-explain-backdrop{
  position:fixed;
  inset:0;
  z-index:2147483200;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(0,24,13,.72);
  backdrop-filter:blur(5px);
}
.word-explain-backdrop[hidden]{display:none!important}
.word-explain-modal{
  position:relative;
  width:min(560px,calc(100vw - 28px));
  max-height:min(760px,calc(100dvh - 36px));
  overflow:auto;
  padding:22px;
  border:1px solid rgba(238,204,105,.26);
  border-radius:22px;
  background:#0b5137;
  color:#edf8f0;
  box-shadow:0 26px 80px rgba(0,0,0,.45);
}
.word-explain-close{
  position:absolute;
  top:10px;
  right:10px;
  width:38px;
  height:38px;
  padding:0;
  border-radius:50%;
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:24px;
}
.word-explain-kicker{
  color:#efce6e;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}
.word-explain-modal h2{
  margin:5px 44px 14px 0;
  color:#fff;
  font-size:28px;
}
.word-explain-choices{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 14px;
}
.word-explain-choices button{
  padding:8px 12px;
  border-radius:999px;
  background:#dcebdd;
  color:#17462e;
}
.word-explain-body{
  display:grid;
  gap:12px;
}
.word-explain-loading,
.word-explain-error,
.word-explain-choice-note{
  padding:14px;
  border-radius:12px;
  background:rgba(255,255,255,.06);
  color:#c8ddcf;
}
.word-meaning-card,
.word-validity-card{
  padding:14px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.09);
  background:#0f6042;
}
.word-meaning-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.word-meaning-head>div{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.word-meaning-word{
  color:#fff;
  font-size:22px;
}
.word-usage-label{
  padding:4px 8px;
  border-radius:999px;
  background:rgba(238,204,105,.13);
  color:#efd67e;
  font-size:10px;
  font-weight:900;
}
.word-definition{
  margin:10px 0 0;
  color:#eff9f1;
  font-size:15px;
  line-height:1.5;
}
.word-definition--missing{
  color:#b9d3c2;
  font-style:italic;
}
.word-source-note{
  display:block;
  margin-top:8px;
  color:#9fc2ad;
}
.word-review-status{
  flex:0 0 auto;
  padding:4px 8px;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}
.word-review-status.approved{
  background:rgba(96,197,123,.15);
  color:#9be3af;
}
.word-review-status.check{
  background:rgba(238,189,70,.14);
  color:#f2d37c;
}
.word-validity-card{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:11px;
  background:#0a472f;
}
.word-validity-card.valid{
  border-color:rgba(102,205,132,.26);
}
.word-validity-icon{
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(101,208,131,.14);
  color:#9ae2ae;
  font-size:20px;
  font-weight:900;
}
.word-validity-copy{
  display:grid;
  gap:3px;
}
.word-validity-copy>span{
  color:#9fc4ad;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.word-validity-copy strong{
  color:#fff;
  font-size:15px;
}
.word-validity-copy p{
  margin:0;
  color:#c8ddd0;
  font-size:12px;
  line-height:1.4;
}
.word-meta-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.word-meta-grid>div{
  display:grid;
  gap:3px;
  padding:10px;
  border-radius:11px;
  background:rgba(255,255,255,.055);
}
.word-meta-grid span{
  color:#93b9a2;
  font-size:9px;
  text-transform:uppercase;
}
.word-meta-grid strong{
  color:#edf8f0;
  font-size:12px;
}
.word-tech-details{
  padding:9px 10px;
  border-radius:10px;
  background:rgba(0,0,0,.12);
  color:#a9c9b5;
  font-size:10px;
}
.word-tech-details summary{
  cursor:pointer;
  font-weight:800;
}
.word-tech-details code{
  display:block;
  margin-top:7px;
  color:#efd67b;
}
.word-tech-details small{
  display:block;
  margin-top:4px;
}
.word-explain-dev{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.11);
}
.word-explain-dev summary{
  cursor:pointer;
  color:#c2d9ca;
  font-size:11px;
  font-weight:900;
}
.word-explain-dev label{
  display:grid;
  gap:5px;
  margin-top:10px;
  color:#b9d1c1;
  font-size:10px;
  font-weight:800;
}
.word-explain-dev textarea,
.word-explain-dev input{
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.14);
  background:#e7f2e8;
  color:#153d29;
  border-radius:10px;
  padding:10px 11px;
  font:inherit;
}
.word-explain-dev-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
}
.word-review-ok{
  background:#187b49;
  color:#fff;
}
.word-review-flag{
  background:#876c1d;
  color:#fff7d6;
}

@media(max-width:620px){
  .word-explain-backdrop{
    place-items:end stretch;
    padding:0;
  }
  .word-explain-modal{
    width:100%;
    max-width:none;
    max-height:76dvh;
    box-sizing:border-box;
    padding:18px 14px calc(16px + env(safe-area-inset-bottom));
    border-radius:22px 22px 0 0;
  }
  .word-explain-modal h2{
    font-size:24px;
  }
  .word-meta-grid{
    grid-template-columns:1fr;
  }
  .word-definition{
    font-size:14px;
  }
  .board-cell.word-inspectable:hover{
    box-shadow:none;
  }
}


/* v0.9.71 – replay szómagyarázat */
.replay-page .board-cell.word-inspectable{
  cursor:help;
}
.replay-page .board-cell.word-inspectable:hover .board-tile{
  outline:2px solid rgba(244,216,117,.62);
  outline-offset:1px;
}
@media(max-width:620px){
  .replay-page .board-cell.word-inspectable{
    cursor:pointer;
  }
}


/* v0.9.72 – replay szómagyarázat kattintás javítás */
.replay-page .board-cell.word-inspectable .board-tile{
  transition:outline-color .12s ease, transform .12s ease;
}
.replay-page .board-cell.word-inspectable:active .board-tile{
  transform:scale(.94);
  outline:2px solid rgba(244,216,117,.78);
}


/* v0.9.74 – szómagyarázat státuszok és egyértelmű DEV akciók */
.word-dictionary-decision{
  display:grid;
  gap:4px;
  padding:12px 14px;
  border-radius:13px;
  border:1px solid transparent;
}
.word-dictionary-decision strong{
  font-size:12px;
  letter-spacing:.04em;
}
.word-dictionary-decision span{
  font-size:11px;
  line-height:1.4;
}
.word-dictionary-decision.denied{
  background:rgba(158,34,49,.28);
  border-color:rgba(255,111,126,.32);
  color:#ffd9dd;
}
.word-dictionary-decision.allowed{
  background:rgba(54,153,87,.20);
  border-color:rgba(116,222,144,.26);
  color:#d8f7df;
}
.word-validity-card.denied{
  border-color:rgba(255,104,121,.25);
  background:#4f2430;
}
.word-validity-card.denied .word-validity-icon{
  background:rgba(255,104,121,.14);
  color:#ffd0d5;
  font-size:16px;
}
.word-explain-dev-help{
  margin:9px 0 0;
  color:#a9c7b4;
  font-size:9px;
  line-height:1.45;
}
.word-explain-dev-help strong{
  color:#d8eadf;
}
.word-explain-dev-actions button{
  min-height:42px;
}


/* v0.9.75 – látható DEV mentési eredmény */
.word-explain-dev-status{
  min-height:0;
  margin-top:9px;
  padding:0;
  border-radius:9px;
  font-size:10px;
  line-height:1.4;
  font-weight:800;
}
.word-explain-dev-status.saving,
.word-explain-dev-status.success,
.word-explain-dev-status.error{
  padding:8px 10px;
}
.word-explain-dev-status.saving{
  background:rgba(255,255,255,.07);
  color:#c9ddd0;
}
.word-explain-dev-status.success{
  background:rgba(77,190,107,.13);
  border:1px solid rgba(100,218,132,.18);
  color:#b8ecc6;
}
.word-explain-dev-status.error{
  background:rgba(190,54,67,.18);
  border:1px solid rgba(255,108,124,.20);
  color:#ffd0d5;
}


/* v0.9.77 – Játékszabály / tudásbázis */
.help-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 14% 0%,rgba(38,126,77,.24),transparent 32rem),
    #063f29;
  color:#eaf6ed;
}
.help-topbar{position:sticky;top:0;z-index:80}
.help-wrap{
  width:min(1120px,calc(100% - 28px));
  margin:0 auto;
  padding:36px 0 70px;
}
.help-hero{
  padding:20px 0 26px;
  max-width:900px;
}
.help-kicker{
  color:#efcc66;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
}
.help-hero h1{
  margin:8px 0 12px;
  color:#fff;
  font-size:clamp(34px,5vw,58px);
  line-height:1;
  letter-spacing:-.03em;
}
.help-hero p{
  max-width:850px;
  margin:0;
  color:#bfd8c7;
  font-size:17px;
  line-height:1.55;
}
.help-toc{
  position:sticky;
  top:88px;
  z-index:30;
  display:flex;
  gap:7px;
  overflow-x:auto;
  padding:9px;
  margin:0 0 18px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:15px;
  background:rgba(4,69,39,.92);
  backdrop-filter:blur(12px);
  scrollbar-width:none;
}
.help-toc::-webkit-scrollbar{display:none}
.help-toc a{
  flex:0 0 auto;
  padding:8px 10px;
  border-radius:9px;
  color:#d7eadc;
  text-decoration:none;
  font-size:11px;
  font-weight:800;
}
.help-toc a:hover{background:rgba(255,255,255,.08);color:#fff}
.help-section{
  scroll-margin-top:145px;
  margin-top:14px;
  padding:24px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:21px;
  background:linear-gradient(180deg,#0b573b,#084a32);
  box-shadow:0 14px 35px rgba(0,0,0,.12);
}
.help-section-head{
  display:flex;
  gap:13px;
  align-items:flex-start;
  margin-bottom:20px;
}
.help-section-head>span{
  display:grid;
  place-items:center;
  flex:0 0 36px;
  height:36px;
  border-radius:10px;
  background:rgba(238,202,96,.13);
  color:#efd06f;
  font-size:10px;
  font-weight:900;
}
.help-section-head h2{margin:0;color:#fff;font-size:27px}
.help-section-head p{margin:4px 0 0;color:#a9cbb5;font-size:12px}
.help-quick-grid,.help-score-formula,.help-premiums,.help-robot-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.help-quick-grid article,.help-robot-grid article{
  padding:15px;
  border-radius:14px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.07);
}
.help-quick-grid strong,.help-robot-grid strong{color:#fff}
.help-quick-grid p,.help-robot-grid p{margin:6px 0 0;color:#bcd4c4;font-size:12px;line-height:1.45}
.help-prose{max-width:900px}
.help-prose h3,.help-section>h3{margin:20px 0 6px;color:#fff;font-size:17px}
.help-prose h3:first-child{margin-top:0}
.help-prose p,.help-muted{
  margin:0 0 11px;
  color:#c0d7c7;
  font-size:13px;
  line-height:1.6;
}
.help-prose strong{color:#fff}
.help-example{
  margin-top:16px;
  padding:14px;
  border:1px solid rgba(239,204,101,.20);
  border-radius:14px;
  background:rgba(239,204,101,.08);
}
.help-example>span{
  color:#efd16e;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}
.help-example>div{margin-top:7px;color:#fff;line-height:1.55}
.help-example p{margin:7px 0 0;color:#c4d8ca;font-size:12px}
.help-example.compact{margin-top:12px}
.help-score-formula>div{
  display:grid;
  gap:4px;
  padding:15px;
  border-radius:14px;
  background:#073f2b;
}
.help-score-formula small{
  color:#efd171;
  font-weight:900;
}
.help-score-formula strong{color:#fff}
.help-score-formula span{color:#adcab8;font-size:11px;line-height:1.4}
.help-rule-callout{
  margin:12px 0 18px;
  padding:13px 15px;
  border-radius:13px;
  background:rgba(238,201,83,.10);
  color:#f9e9af;
}
.help-rule-callout p{margin:4px 0 0;color:#d6dfc3;font-size:12px}
.help-premiums{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.help-premiums>div{
  display:grid;
  justify-items:start;
  gap:6px;
  padding:12px;
  border-radius:13px;
  background:rgba(255,255,255,.05);
}
.help-premiums strong{color:#fff;font-size:12px}
.help-premiums p{margin:0;color:#a9c5b2;font-size:10px;line-height:1.35}
.help-score-calculator label{
  display:block;
  margin-bottom:7px;
  color:#d9ebde;
  font-size:11px;
  font-weight:900;
}
.help-score-calculator>div{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
}
.help-score-calculator input{
  background:#e8f3e9;
  border-color:#b8d8c0;
}
.help-calc-error{
  margin-top:12px;
  padding:12px;
  border-radius:11px;
  background:rgba(177,50,66,.25);
  color:#ffd7dc;
}
.help-calc-result{
  margin-top:14px;
  padding:15px;
  border:1px solid rgba(239,204,101,.18);
  border-radius:16px;
  background:#073e2a;
}
.help-calc-word{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.help-calc-word span{color:#fff;font-size:25px;font-weight:900}
.help-calc-word strong{color:#f0d16f;font-size:22px}
.help-tile-breakdown{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:13px 0;
}
.help-tile{
  position:relative;
  display:grid;
  place-items:center;
  min-width:44px;
  height:44px;
  padding:0 5px;
  border-radius:7px;
  background:linear-gradient(145deg,var(--tile2),var(--tile));
  color:#111;
  box-shadow:0 3px 6px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.6);
  font-size:18px;
  font-weight:900;
}
.help-tile small{
  position:absolute;
  right:4px;
  bottom:2px;
  font-size:8px;
}
.help-calc-math{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.help-calc-math span{
  display:grid;
  gap:3px;
  padding:9px;
  border-radius:9px;
  background:rgba(255,255,255,.055);
  color:#a9c5b2;
  font-size:9px;
  text-transform:uppercase;
}
.help-calc-math strong{color:#fff;font-size:13px;text-transform:none}
.help-calc-footnote{margin:9px 0 0;color:#9ebda9;font-size:10px;line-height:1.45}
.help-letter-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.help-letter-card{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  padding:8px;
  border-radius:11px;
  background:rgba(255,255,255,.05);
}
.help-letter-tile{
  position:relative;
  display:grid;
  place-items:center;
  flex:0 0 39px;
  height:39px;
  border-radius:6px;
  background:linear-gradient(145deg,var(--tile2),var(--tile));
  color:#111;
  font-size:15px;
  font-weight:900;
}
.help-letter-tile small{
  position:absolute;
  right:3px;
  bottom:1px;
  font-size:7px;
}
.help-letter-card>div{display:grid;gap:1px;min-width:0}
.help-letter-card strong{color:#fff;font-size:11px}
.help-letter-card>div small{color:#9dbba7;font-size:8px}
.help-faq{display:grid;gap:7px}
.help-faq details{
  padding:12px 13px;
  border-radius:12px;
  background:rgba(255,255,255,.05);
}
.help-faq summary{cursor:pointer;color:#fff;font-size:12px;font-weight:800}
.help-faq p{margin:8px 0 0;color:#b7d0c0;font-size:11px;line-height:1.5}
.help-footer-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:14px;
  padding:22px;
  border-radius:19px;
  background:#e6f0e6;
  color:#17452d;
}
.help-footer-cta strong{font-size:20px}
.help-footer-cta p{margin:4px 0 0;max-width:700px;font-size:11px;color:#587162}
.help-cta-button{display:inline-flex;text-decoration:none;padding:11px 15px;border-radius:11px;white-space:nowrap}
.auth-public-help{justify-content:center;margin-top:8px}
.auth-public-help a{font-weight:800}

@media(max-width:820px){
  .help-wrap{width:min(100% - 18px,1120px);padding:14px 0 40px}
  .help-hero{padding:12px 3px 18px}
  .help-hero p{font-size:14px}
  .help-toc{top:66px;margin-bottom:10px}
  .help-section{padding:16px;border-radius:17px}
  .help-section-head h2{font-size:22px}
  .help-premiums{grid-template-columns:repeat(2,minmax(0,1fr))}
  .help-letter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .help-calc-math{grid-template-columns:1fr}
}
@media(max-width:520px){
  .help-topbar{height:58px;padding:0 10px}
  .help-topbar .brand-logo img{max-width:132px}
  .help-topbar .topbar-link{padding:6px 8px;font-size:10px}
  .help-toc{top:62px}
  .help-quick-grid,.help-score-formula,.help-robot-grid{grid-template-columns:1fr}
  .help-premiums{grid-template-columns:1fr 1fr}
  .help-letter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .help-score-calculator>div{grid-template-columns:1fr}
  .help-score-calculator button{width:100%}
  .help-calc-word{align-items:flex-start;flex-direction:column}
  .help-footer-cta{align-items:stretch;flex-direction:column}
  .help-cta-button{justify-content:center}
}

/* help oldalak mobilon mindig görgethetők */
@media(max-width:620px){
  body.help-page{
    position:static!important;
    height:auto!important;
    min-height:100dvh;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    touch-action:auto!important;
  }
}


/* v0.9.78 – Jolly / üres lapka */
.rack-tile.jolly{
  background:linear-gradient(145deg,#f7e8ba,#e7c879);
  border:2px dashed rgba(27,66,43,.42);
}
.rack-tile.jolly>span:empty::after{
  content:"";
  display:block;
  width:18px;height:18px;
  border-radius:50%;
  border:2px dashed rgba(25,63,40,.35);
}
.rack-tile.jolly small{
  right:auto!important;left:50%;transform:translateX(-50%);
  bottom:3px!important;font-size:6px!important;letter-spacing:.05em;
}
.board-tile.jolly-used{
  outline:2px dashed rgba(76,54,11,.48);
  outline-offset:-3px;
}
.jolly-picker-backdrop{
  position:fixed;inset:0;z-index:2147483250;
  display:grid;place-items:center;padding:18px;
  background:rgba(0,24,13,.74);backdrop-filter:blur(5px);
}
.jolly-picker-backdrop[hidden]{display:none!important}
.jolly-picker{
  position:relative;width:min(560px,calc(100vw - 28px));
  max-height:min(720px,calc(100dvh - 36px));overflow:auto;
  padding:22px;border:1px solid rgba(238,204,105,.30);
  border-radius:22px;background:#0b5137;color:#edf8f0;
  box-shadow:0 26px 80px rgba(0,0,0,.45);
}
.jolly-picker-close{
  position:absolute;right:10px;top:10px;width:38px;height:38px;padding:0;
  border-radius:50%;background:rgba(255,255,255,.10);color:#fff;font-size:24px;
}
.jolly-picker-kicker{color:#efce6e;font-size:10px;font-weight:900;letter-spacing:.14em}
.jolly-picker h2{margin:5px 42px 5px 0;color:#fff;font-size:26px}
.jolly-picker>p{margin:0 0 14px;color:#bcd4c4;font-size:12px;line-height:1.45}
.jolly-picker-tiles{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.jolly-picker-tiles button{
  display:grid;place-items:center;gap:2px;min-width:0;aspect-ratio:1/1;padding:4px;
  border-radius:10px;background:linear-gradient(145deg,var(--tile2),var(--tile));
  color:#13261a;box-shadow:0 3px 8px rgba(0,0,0,.2);
}
.jolly-picker-tiles strong{font-size:17px}
.jolly-picker-tiles small{font-size:7px;color:#385442}
@media(max-width:620px){
  .jolly-picker-backdrop{place-items:end stretch;padding:0}
  .jolly-picker{
    width:100%;max-width:none;max-height:70dvh;box-sizing:border-box;
    border-radius:22px 22px 0 0;padding:18px 13px calc(16px + env(safe-area-inset-bottom));
  }
  .jolly-picker-tiles{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
}



/* v0.9.91 – help: még szebb, játékszerűbb betűérték-kártyák */
.help-letter-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:14px;
  margin-top:14px;
}
.help-letter-card{
  position:relative;
  display:grid;
  grid-template-columns:56px 1fr;
  align-items:center;
  gap:12px;
  min-width:0;
  padding:14px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.045));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 10px 24px rgba(0,0,0,.17), inset 0 1px 0 rgba(255,255,255,.05);
  overflow:hidden;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.help-letter-card::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right, rgba(240,209,111,.10), transparent 38%);
  pointer-events:none;
}
.help-letter-card:hover{
  transform:translateY(-2px);
  border-color:rgba(240,209,111,.24);
  box-shadow:0 14px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06);
}
.help-letter-tile{
  position:relative;
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border-radius:12px;
  background:linear-gradient(145deg,var(--tile2),var(--tile));
  color:#111;
  font-size:24px;
  font-weight:900;
  letter-spacing:-.5px;
  box-shadow:0 4px 0 rgba(0,0,0,.18), 0 10px 16px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.45);
}
.help-letter-tile small{
  position:absolute;
  right:5px;
  bottom:3px;
  font-size:9px;
  font-weight:900;
  color:#47331a;
}
.help-letter-card>div{
  position:relative;
  z-index:1;
  display:grid;
  gap:4px;
  min-width:0;
}
.help-letter-card strong{
  color:#fff;
  font-size:15px;
  line-height:1.1;
}
.help-letter-card>div small{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(0,0,0,.14);
  color:#c9dbc8;
  font-size:10px;
  line-height:1.1;
}

@media(max-width:860px){
  .help-letter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .help-letter-card{grid-template-columns:48px 1fr;padding:12px;border-radius:16px}
  .help-letter-tile{width:48px;height:48px;font-size:20px}
}
@media(max-width:520px){
  .help-letter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .help-letter-card{padding:10px;gap:10px}
  .help-letter-card strong{font-size:13px}
  .help-letter-card>div small{font-size:9px;padding:4px 7px}
}

/* v0.9.78 – tudásbázis: egyszerű betűértéklista + Jolly */
.help-letter-values{display:flex;flex-wrap:wrap;gap:7px}
.help-letter-values span{
  padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.06);
  color:#d7e8dc;font-size:12px;
}
.help-letter-values strong{color:#fff;font-size:14px}
.help-jolly-rule{
  display:grid;grid-template-columns:58px minmax(0,1fr);gap:13px;align-items:center;
  margin-top:16px;padding:14px;border-radius:14px;
  border:1px solid rgba(239,204,101,.22);background:rgba(239,204,101,.08);
}
.help-jolly-icon{
  position:relative;display:grid;place-items:center;width:54px;height:54px;
  border-radius:9px;background:linear-gradient(145deg,#f7e8ba,#e7c879);
  border:2px dashed rgba(27,66,43,.38);color:#173d28;
}
.help-jolly-icon>span{
  width:18px;height:18px;border-radius:50%;border:2px dashed rgba(25,63,40,.35);
}
.help-jolly-icon small{
  position:absolute;bottom:3px;font-size:6px;font-weight:900;letter-spacing:.05em;
}
.help-jolly-rule strong{color:#fff}
.help-jolly-rule p{margin:4px 0 0;color:#bdd4c4;font-size:11px;line-height:1.5}


/* v0.9.97 – GRDS Tipp teljesen rejtve */
.dev-hint-dock,
.dev-hint-caption,
[data-dev-hint-trigger]{
  display:none!important;
}
.dev-secret-hint-trigger{
  cursor:default;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
}


/* v0.9.99 – rejtett Tipp hosszú nyomás */
.room-code.dev-secret-hint-trigger{
  cursor:default;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
  touch-action:manipulation;
}


/* v1.0.00 – legutóbbi körgyőztes szó kiemelése */
.board-cell.latest-winning-word{
  z-index:2;
}
.board-cell.latest-winning-word .board-tile{
  outline:2px solid rgba(244,210,102,.95);
  outline-offset:-1px;
  box-shadow:
    0 2px 4px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.55),
    0 0 0 2px rgba(244,210,102,.18),
    0 0 12px rgba(244,210,102,.34);
}
.board-cell.latest-winning-word .board-tile::after{
  content:'';
  position:absolute;
  inset:2px;
  border-radius:4px;
  border:1px solid rgba(255,247,201,.42);
  pointer-events:none;
}

@media(max-width:620px){
  .board-cell.latest-winning-word .board-tile{
    outline-width:2px;
    box-shadow:
      0 1px 3px rgba(0,0,0,.34),
      inset 0 1px 0 rgba(255,255,255,.5),
      0 0 0 1px rgba(244,210,102,.24),
      0 0 7px rgba(244,210,102,.42);
  }
  .board-cell.latest-winning-word .board-tile::after{
    inset:1px;
    border-radius:2px;
  }
}


/* v1.0.01 – a legutóbbi győztes szó kiemelése ~20 mp után elhalványul */
.board-cell.latest-winning-word-fading .board-tile{
  animation:latestWinningWordFade 3s ease forwards;
}
.board-cell.latest-winning-word-fading .board-tile::after{
  animation:latestWinningWordInnerFade 3s ease forwards;
}
@keyframes latestWinningWordFade{
  from{
    outline-color:rgba(244,210,102,.95);
    box-shadow:
      0 2px 4px rgba(0,0,0,.38),
      inset 0 1px 0 rgba(255,255,255,.55),
      0 0 0 2px rgba(244,210,102,.18),
      0 0 12px rgba(244,210,102,.34);
  }
  to{
    outline-color:rgba(244,210,102,0);
    box-shadow:
      0 2px 4px rgba(0,0,0,.38),
      inset 0 1px 0 rgba(255,255,255,.55),
      0 0 0 0 rgba(244,210,102,0),
      0 0 0 rgba(244,210,102,0);
  }
}
@keyframes latestWinningWordInnerFade{
  from{border-color:rgba(255,247,201,.42)}
  to{border-color:rgba(255,247,201,0)}
}


/* v1.0.02 – Jolly lapka finom megkülönböztetése a 7 betű között */
.rack-tile.jolly{
  background:linear-gradient(180deg,#ece7f6 0%,#d8cdea 100%);
  border-color:#a89bc5;
  box-shadow:
    0 2px 4px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.72);
}
.rack-tile.jolly:hover{
  background:linear-gradient(180deg,#f1edf9 0%,#ded5ef 100%);
}
.rack-tile.jolly.selected{
  border-color:#8978ad;
  box-shadow:
    0 0 0 2px rgba(122,99,166,.28),
    0 3px 7px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.76);
}


/* v1.0.03 – Jolly a Súgó betűkártyái között ugyanazt a levendulás tónust kapja,
   mint a játékos 7 betűje között. */
.help-letter-tile.jolly,
.letter-value-tile.jolly,
.letter-card.jolly{
  background:linear-gradient(180deg,#ece7f6 0%,#d8cdea 100%);
  border-color:#a89bc5;
  box-shadow:
    0 4px 9px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.72);
}


/* v1.0.04 – a Súgóban ténylegesen megjelenő Jolly ikon
   ugyanazt a levendulás tónust kapja, mint a játékbeli Jolly. */
.help-jolly-icon{
  background:linear-gradient(180deg,#ece7f6 0%,#d8cdea 100%)!important;
  border-color:#a89bc5!important;
  color:#352d4b!important;
  box-shadow:
    0 2px 4px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.72);
}
.help-jolly-icon>span{
  border-color:rgba(89,72,124,.38)!important;
}


/* v1.0.07 – a legutóbbi szó kiemelése egyértelműbb, de továbbra is visszafogott */
.board-cell.latest-winning-word .board-tile{
  outline:3px solid #f4d266!important;
  outline-offset:-1px;
  box-shadow:
    0 2px 4px rgba(0,0,0,.38),
    inset 0 0 0 2px rgba(255,246,190,.72),
    0 0 0 2px rgba(244,210,102,.28),
    0 0 14px rgba(244,210,102,.58)!important;
}


/* v1.0.08 – legutóbbi győztes szó: fehér pulzálás
   A korábbi arany keretet vizuálisan felülírjuk. */
.board-cell.latest-winning-word .board-tile{
  outline:2px solid rgba(255,255,255,.92)!important;
  outline-offset:-1px;
  animation:latestWinningWordPulse 1.15s ease-in-out infinite!important;
  box-shadow:
    0 2px 4px rgba(0,0,0,.34),
    inset 0 0 0 1px rgba(255,255,255,.72),
    0 0 7px rgba(255,255,255,.55)!important;
}
.board-cell.latest-winning-word .board-tile::after{
  border-color:rgba(255,255,255,.58)!important;
}

@keyframes latestWinningWordPulse{
  0%,100%{
    filter:brightness(1);
    outline-color:rgba(255,255,255,.72);
    box-shadow:
      0 2px 4px rgba(0,0,0,.34),
      inset 0 0 0 1px rgba(255,255,255,.55),
      0 0 5px rgba(255,255,255,.38);
  }
  50%{
    filter:brightness(1.22);
    outline-color:rgba(255,255,255,1);
    box-shadow:
      0 2px 4px rgba(0,0,0,.34),
      inset 0 0 0 2px rgba(255,255,255,.9),
      0 0 12px rgba(255,255,255,.9);
  }
}

/* 20 mp után a pulzálás leáll és 3 mp alatt kifakul. */
.board-cell.latest-winning-word-fading .board-tile{
  animation:latestWinningWordWhiteFade 3s ease forwards!important;
}
.board-cell.latest-winning-word-fading .board-tile::after{
  animation:latestWinningWordInnerWhiteFade 3s ease forwards!important;
}

@keyframes latestWinningWordWhiteFade{
  from{
    filter:brightness(1.12);
    outline-color:rgba(255,255,255,.88);
    box-shadow:
      0 2px 4px rgba(0,0,0,.34),
      inset 0 0 0 1px rgba(255,255,255,.72),
      0 0 8px rgba(255,255,255,.62);
  }
  to{
    filter:brightness(1);
    outline-color:rgba(255,255,255,0);
    box-shadow:
      0 2px 4px rgba(0,0,0,.38),
      inset 0 1px 0 rgba(255,255,255,.55),
      0 0 0 rgba(255,255,255,0);
  }
}
@keyframes latestWinningWordInnerWhiteFade{
  from{border-color:rgba(255,255,255,.58)}
  to{border-color:rgba(255,255,255,0)}
}

@media(max-width:620px){
  .board-cell.latest-winning-word .board-tile{
    outline-width:2px!important;
    animation-duration:1.05s!important;
  }
}

/* v1.0.11 – játékosi szójelentés */
.word-report-bar{margin-top:12px;padding:10px 11px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.035);display:flex;align-items:center;gap:10px}
.word-report-button{flex:0 0 auto;padding:8px 10px;border:1px solid rgba(239,190,107,.28);border-radius:9px;background:rgba(239,190,107,.10);color:#f2d38c;font-size:11px;font-weight:850;cursor:pointer}
.word-report-button:hover:not(:disabled){background:rgba(239,190,107,.17)}
.word-report-button:disabled{cursor:default;opacity:.78}
.word-report-status{color:#9fb9a8;font-size:10px;line-height:1.4}
@media(max-width:620px){.word-report-bar{align-items:stretch;flex-direction:column;gap:7px}.word-report-button{width:100%;min-height:40px}}


/* v1.0.14 – a Jelentés gomb közvetlenül a szó mellett jelenik meg */
.word-explain-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 42px 0 0;
}
.word-explain-title-row h2{
  margin:0;
  min-width:0;
}
.word-report-button--header{
  flex:0 0 auto;
  min-height:34px;
  padding:7px 10px;
  border:1px solid rgba(239,190,107,.34);
  border-radius:9px;
  background:rgba(239,190,107,.12);
  color:#f1d48a;
  font-size:10px;
  font-weight:900;
  letter-spacing:.01em;
}
.word-report-button--header:hover:not(:disabled){
  background:rgba(239,190,107,.20);
  border-color:rgba(239,190,107,.48);
}
.word-report-status--header{
  margin:5px 42px 10px 0;
  color:#91ad9a;
  font-size:9px;
  line-height:1.35;
}
@media(max-width:620px){
  .word-explain-title-row{
    gap:8px;
    margin-right:34px;
  }
  .word-report-button--header{
    min-height:32px;
    padding:6px 8px;
    font-size:9px;
  }
  .word-report-status--header{
    margin-right:34px;
    font-size:8.5px;
  }
}


/* AI szómagyarázat jelölése */
.word-ai-label{
  display:inline-flex;
  align-items:center;
  margin-left:.45rem;
  padding:.18rem .48rem;
  border-radius:999px;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.02em;
  color:#f3d56a;
  background:rgba(243,213,106,.10);
  border:1px solid rgba(243,213,106,.25);
  vertical-align:middle;
}

/* v1.20 – belépés utáni játékközpont / több játékra előkészített lobby */
body.lobby-page{
  background:
    radial-gradient(circle at 72% -10%,rgba(35,143,92,.22),transparent 34%),
    linear-gradient(160deg,#013d2c 0%,#063f2f 46%,#022f24 100%);
  color:#f2f8f4;
}
.game-hub{
  width:min(1240px,calc(100% - 40px));
  margin:0 auto;
  padding:34px 0 48px;
}
.game-hub-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:22px;
}
.game-hub-kicker,.selected-game-kicker{
  display:block;
  margin-bottom:7px;
  color:#e8cb67;
  font-size:11px;
  font-weight:950;
  letter-spacing:.14em;
}
.game-hub-hero h1{
  margin:0;
  color:#fff;
  font-size:clamp(34px,4.4vw,58px);
  line-height:.98;
  letter-spacing:-.045em;
}
.game-hub-hero p{
  max-width:720px;
  margin:12px 0 0;
  color:#a7c7b5;
  font-size:16px;
  line-height:1.5;
}
.game-hub-user{
  min-width:190px;
  padding:13px 16px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.035);
  text-align:right;
}
.game-hub-user small,.game-hub-user span{display:block;color:#85a995;font-size:11px}
.game-hub-user strong{display:block;margin:2px 0;color:#fff;font-size:17px}

.game-picker{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:16px;
}
.game-choice{
  position:relative;
  min-height:220px;
  padding:20px 22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(17,88,63,.94),rgba(8,66,48,.96));
  box-shadow:0 14px 34px rgba(0,0,0,.15);
}
.game-choice.is-active{
  border-color:rgba(238,207,101,.42);
  box-shadow:0 16px 38px rgba(0,0,0,.18),inset 0 0 0 1px rgba(238,207,101,.08);
}
.game-choice.is-active:after{
  content:'';
  position:absolute;
  right:-60px;
  bottom:-95px;
  width:240px;
  height:240px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(233,204,104,.12),transparent 67%);
  pointer-events:none;
}
.game-choice.is-coming{
  background:linear-gradient(145deg,rgba(17,69,54,.88),rgba(9,55,44,.92));
  border-style:dashed;
  opacity:.86;
}
.game-choice-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.game-choice-status,.game-choice-check{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  font-size:9px;
  font-weight:950;
  letter-spacing:.07em;
}
.game-choice-status.playable{background:rgba(90,202,119,.14);border:1px solid rgba(90,202,119,.24);color:#bcecc8}
.game-choice-status.coming{background:rgba(232,203,103,.12);border:1px solid rgba(232,203,103,.22);color:#f0d77a}
.game-choice-check{background:rgba(255,255,255,.05);color:#d3e8dc}
.game-choice-brand{display:flex;align-items:center;height:62px;margin:18px 0 11px}
.game-choice-brand img{display:block;width:auto;height:51px;max-width:100%;object-fit:contain}
.game-choice-name{
  margin:25px 0 12px;
  color:#fff;
  font-size:36px;
  font-weight:950;
  letter-spacing:-.04em;
}
.game-choice p{max-width:680px;margin:0;color:#bbd3c5;font-size:13px;line-height:1.5}
.game-choice-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}
.game-choice-meta span{
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:#cfe2d7;
  font-size:9px;
  font-weight:800;
}

.selected-game-section{
  margin-top:22px;
  padding:20px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:22px;
  background:rgba(4,58,43,.72);
  box-shadow:0 18px 42px rgba(0,0,0,.12);
}
.selected-game-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:12px}
.selected-game-head h2{margin:0;color:#fff;font-size:29px;letter-spacing:-.03em}
.selected-game-head p{margin:5px 0 0;color:#93b5a2;font-size:13px}
.selected-game-badge{
  flex:0 0 auto;
  padding:8px 11px;
  border-radius:999px;
  background:rgba(232,203,103,.11);
  border:1px solid rgba(232,203,103,.18);
  color:#ead477;
  font-size:9px;
  font-weight:950;
  letter-spacing:.07em;
}
.game-hub .active-game-banner{max-width:none;margin:14px 0 0}
.game-hub .lobby-grid{
  max-width:none;
  margin:14px 0 0;
  padding:0;
  gap:14px;
}
.game-hub .lobby-grid>.panel{box-shadow:none}
.game-hub .lobby-tip{max-width:none;margin:12px 0 0}

@media(max-width:860px){
  .game-hub{width:min(100% - 24px,760px);padding:22px 0 34px}
  .game-hub-hero{align-items:flex-start}
  .game-hub-user{display:none}
  .game-picker{grid-template-columns:1fr}
  .game-choice{min-height:190px}
  .selected-game-head{align-items:flex-start}
}
@media(max-width:620px){
  .game-hub{width:100%;padding:16px 10px calc(28px + env(safe-area-inset-bottom))}
  .game-hub-hero{margin:0 4px 16px}
  .game-hub-hero h1{font-size:34px}
  .game-hub-hero p{font-size:13px;line-height:1.4}
  .game-picker{gap:10px}
  .game-choice{min-height:0;padding:15px;border-radius:16px}
  .game-choice-brand{height:48px;margin:13px 0 8px}
  .game-choice-brand img{height:40px}
  .game-choice-name{margin:17px 0 8px;font-size:29px}
  .game-choice p{font-size:12px}
  .game-choice-meta{margin-top:12px}
  .selected-game-section{margin-top:12px;padding:12px;border-radius:17px}
  .selected-game-head{margin:1px 2px 7px}
  .selected-game-head h2{font-size:24px}
  .selected-game-head p{font-size:11px}
  .selected-game-badge{display:none}
  .selected-game-kicker{font-size:9px}
  .game-hub .mobile-lobby-tabs{margin:8px 0!important;top:calc(58px + env(safe-area-inset-top))!important}
  .game-hub .lobby-grid{padding:0!important;margin:0!important}
}


/* v1.23 – kívánatosabb, prémiumabb lobby megjelenés */
body.lobby-page{
  background:
    radial-gradient(circle at 12% 12%,rgba(232,203,103,.08),transparent 24%),
    radial-gradient(circle at 86% 8%,rgba(50,173,111,.16),transparent 28%),
    radial-gradient(circle at 82% 72%,rgba(20,118,82,.20),transparent 34%),
    linear-gradient(160deg,#022d22 0%,#053a2c 38%,#03281f 100%);
}
.lobby-page .topbar{
  position:sticky;top:0;z-index:50;
  background:rgba(1,42,29,.72);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 10px 30px rgba(0,0,0,.12);
}
.game-hub{padding:42px 0 64px}
.game-hub-hero{
  position:relative;
  align-items:stretch;
  padding:28px 30px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(6,76,55,.74),rgba(3,58,43,.76));
  box-shadow:0 24px 60px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.04);
  overflow:hidden;
}
.game-hub-hero:before{
  content:'';position:absolute;inset:-2px auto auto 55%;width:380px;height:380px;border-radius:50%;
  background:radial-gradient(circle,rgba(232,203,103,.14),transparent 64%);pointer-events:none;
}
.game-hub-hero > div:first-child{position:relative;z-index:1}
.game-hub-kicker{color:#f0d67e}
.game-hub-hero h1{font-size:clamp(42px,5.4vw,74px);line-height:.92}
.game-hub-hero p{font-size:18px;max-width:760px;color:#bfd9cb}
.game-hub-glance{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.game-hub-glance span{
  display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);color:#ecf7f0;
  font-size:12px;font-weight:800;letter-spacing:.01em;backdrop-filter:blur(4px)
}
.game-hub-user{
  position:relative;z-index:1;min-width:220px;display:flex;flex-direction:column;justify-content:flex-end;
  padding:18px 18px 16px;border-radius:22px;background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)
}
.game-hub-user small,.game-hub-user span{font-size:12px;color:#a5c4b4}.game-hub-user strong{font-size:34px;letter-spacing:-.04em;line-height:1.02}

.game-picker{margin-top:18px;gap:18px}
.game-choice{
  min-height:260px;padding:24px 24px 22px;border-radius:26px;
  background:linear-gradient(155deg,rgba(17,97,69,.92),rgba(8,64,48,.96));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 46px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.04);
}
.game-choice.is-active{transform:translateY(-2px);border-color:rgba(238,207,101,.42);box-shadow:0 22px 58px rgba(0,0,0,.2), inset 0 0 0 1px rgba(238,207,101,.09)}
.game-choice.is-active:after{right:-40px;bottom:-80px;width:260px;height:260px;background:radial-gradient(circle,rgba(233,204,104,.18),transparent 67%)}
.game-choice.is-coming{background:linear-gradient(155deg,rgba(12,70,53,.88),rgba(7,54,43,.92));opacity:.95}
.game-choice.is-coming:before{
  content:'HAMAROSAN';position:absolute;top:24px;right:-44px;padding:9px 52px;transform:rotate(38deg);
  background:#d9bf59;color:#173122;font-size:12px;font-weight:950;letter-spacing:.14em;box-shadow:0 8px 22px rgba(0,0,0,.18)
}
.game-choice-status,.game-choice-check{min-height:30px;padding:0 12px;font-size:10px}
.game-choice-brand{height:74px;margin:26px 0 14px}.game-choice-brand img{height:60px}
.game-choice-name{font-size:52px;margin:46px 0 14px}
.game-choice p{font-size:15px;color:#cae0d4;line-height:1.6}
.game-choice-meta{gap:9px;margin-top:22px}.game-choice-meta span{padding:8px 11px;font-size:10px;background:rgba(255,255,255,.065)}

.selected-game-section{
  margin-top:26px;padding:24px;border-radius:28px;background:linear-gradient(160deg,rgba(4,60,45,.82),rgba(3,53,40,.86));
  border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 62px rgba(0,0,0,.17)
}
.selected-game-head{margin-bottom:16px}.selected-game-head h2{font-size:36px}.selected-game-head p{font-size:15px;color:#a9c6b7}
.selected-game-badge{padding:10px 14px;font-size:10px;background:rgba(232,203,103,.15);border-color:rgba(232,203,103,.25);color:#f0db8d}
.selected-game-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.selected-game-strip>div{
  padding:15px 16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)
}
.selected-game-strip strong{display:block;color:#fff;font-size:15px;margin-bottom:4px}
.selected-game-strip span{display:block;color:#93b5a4;font-size:12px;line-height:1.45}
.game-hub .active-game-banner{padding:15px 17px;border-radius:18px;background:rgba(232,203,103,.10);border:1px solid rgba(232,203,103,.18)}
.game-hub .active-game-banner a{background:#e8cb67;color:#173122;border-radius:12px;padding:10px 14px;font-weight:900}

.game-hub .lobby-grid{gap:18px;margin-top:18px}
.lobby-page .game-hub .lobby-grid>.panel{
  position:relative;padding:28px;border-radius:26px;overflow:hidden;
  background:linear-gradient(180deg,rgba(18,120,79,.16),rgba(7,86,61,.16)), linear-gradient(150deg,rgba(255,255,255,.05),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 44px rgba(0,0,0,.14)
}
.lobby-page .game-hub .lobby-grid>.panel:before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(140deg,rgba(255,255,255,.045),transparent 34%), radial-gradient(circle at 110% -10%,rgba(232,203,103,.12),transparent 38%);
}
.lobby-page .game-hub .lobby-grid>.panel>*{position:relative;z-index:1}
.lobby-card-head{margin-bottom:18px}
.lobby-card-icon{width:54px;height:54px;border-radius:18px;background:linear-gradient(180deg,#1e8f59,#176740);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 10px 24px rgba(0,0,0,.14);font-size:28px}
.lobby-card-icon--key{background:linear-gradient(180deg,#d6b851,#ae8d24);color:#173122}
.lobby-card-head h1{font-size:44px;line-height:.96;letter-spacing:-.04em;color:#fff}
.lobby-card-head p{font-size:15px;color:#b7d2c5}
.lobby-page .game-hub .stack{gap:16px}
.lobby-page .game-hub .stack label{gap:8px;color:#d8ece2;font-size:14px;font-weight:900}
.lobby-page .game-hub .lobby-grid input,
.lobby-page .game-hub .lobby-grid select{
  min-height:58px;padding:16px 18px;border-radius:16px;border:1px solid rgba(255,255,255,.10);
  background:rgba(244,251,246,.92);color:#123121;box-shadow:inset 0 1px 0 rgba(255,255,255,.55)
}
.lobby-page .game-hub .lobby-grid input::placeholder{color:#6e8379}
.lobby-page .game-hub .lobby-grid input:focus,
.lobby-page .game-hub .lobby-grid select:focus{border-color:#e8cb67;box-shadow:0 0 0 4px rgba(232,203,103,.12)}
.lobby-page .game-hub .lobby-grid button.primary,
.lobby-page .game-hub .lobby-grid button.secondary{
  min-height:58px;border-radius:16px;font-size:19px;letter-spacing:-.02em;box-shadow:0 14px 30px rgba(0,0,0,.14)
}
.lobby-page .game-hub .lobby-grid button.primary{background:linear-gradient(180deg,#23b566,#178548);color:#fff}
.lobby-page .game-hub .lobby-grid button.secondary{background:linear-gradient(180deg,#e0efdf,#cfe7d1);color:#0b542e}
.lobby-rule-note{
  padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07)
}
.lobby-rule-note__tiles{width:52px;height:52px;border-radius:14px;background:#f0c964;color:#173122;box-shadow:0 10px 20px rgba(0,0,0,.16)}
.lobby-rule-note strong{display:block;color:#fff;font-size:17px}.lobby-rule-note small{display:block;color:#9cb9ab;font-size:13px}
.lobby-page .game-hub .panel hr{margin:22px 0 18px;border-color:rgba(255,255,255,.09)}
.public-room-eyebrow{font-size:11px;color:#f0d67e;letter-spacing:.14em}.public-room-head h2{font-size:36px;color:#fff}
.room-count{padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-size:12px;font-weight:900;color:#dbefe4}
.room-list{gap:12px}
.room-row{
  padding:16px 17px;border-radius:16px;background:rgba(237,247,238,.94);border:1px solid rgba(255,255,255,.35);box-shadow:0 10px 24px rgba(0,0,0,.08)
}
.room-row button{min-height:42px;border-radius:12px;background:linear-gradient(180deg,#16894b,#0d6637);color:#fff}
#rooms.room-list{min-height:220px}
#rooms.room-list:empty::before,
.room-list.muted-empty::before{
  content:'Jelenleg nincs nyitott szoba\A Légy te az első, és indíts egy új partit!';white-space:pre-line;
  display:grid;place-items:center;text-align:center;min-height:220px;padding:22px;border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));border:1px dashed rgba(255,255,255,.16);color:#ecf7f0;font-size:18px;font-weight:850
}
.lobby-tip{
  display:flex;align-items:center;gap:14px;padding:15px 18px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.06)
}
.lobby-tip strong{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:32px;padding:0 10px;border-radius:999px;background:#e8cb67;color:#173122;font-size:12px;letter-spacing:.06em}
.lobby-tip span{color:#cfe3d9;font-size:14px}
.lobby-bottom-note{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.lobby-bottom-note>div{padding:17px 18px;border-radius:20px;background:rgba(255,255,255,.038);border:1px solid rgba(255,255,255,.06)}
.lobby-bottom-note small{display:block;margin-bottom:6px;color:#f0d67e;font-size:10px;font-weight:950;letter-spacing:.12em}.lobby-bottom-note strong{display:block;color:#fff;font-size:19px;margin-bottom:4px}.lobby-bottom-note span{color:#9bb8aa;font-size:13px;line-height:1.45}

@media(max-width:860px){
  .game-hub{width:min(100% - 24px,820px);padding:22px 0 38px}
  .game-hub-hero{padding:22px 22px 20px;border-radius:22px}
  .game-hub-hero h1{font-size:42px}
  .game-hub-hero p{font-size:15px}
  .game-hub-glance{margin-top:14px}
  .game-choice{min-height:220px}
  .game-choice-name{font-size:42px;margin-top:34px}
  .selected-game-strip{grid-template-columns:1fr}
  .lobby-page .game-hub .lobby-grid>.panel{padding:20px;border-radius:22px}
  .lobby-card-head h1{font-size:34px}
  .public-room-head h2{font-size:28px}
  .lobby-bottom-note{grid-template-columns:1fr}
}
@media(max-width:620px){
  .game-hub{width:100%;padding:14px 10px calc(28px + env(safe-area-inset-bottom))}
  .game-hub-hero{padding:16px 14px 14px;border-radius:18px;margin:0 2px 14px}
  .game-hub-hero h1{font-size:36px}
  .game-hub-hero p{font-size:13px}
  .game-hub-glance span{min-height:30px;padding:0 11px;font-size:11px}
  .game-picker{gap:10px}
  .game-choice{padding:16px;border-radius:18px;min-height:0}
  .game-choice-brand{height:54px;margin:15px 0 9px}.game-choice-brand img{height:42px}
  .game-choice-name{font-size:34px;margin:24px 0 10px}
  .game-choice p{font-size:13px}
  .selected-game-section{padding:14px;border-radius:20px}
  .selected-game-head h2{font-size:28px}
  .selected-game-strip>div{padding:13px 14px}
  .lobby-page .game-hub .lobby-grid>.panel{padding:14px;border-radius:18px}
  .lobby-card-icon{width:46px;height:46px;border-radius:14px;font-size:24px}
  .lobby-card-head h1{font-size:28px}
  .lobby-card-head p{font-size:13px}
  .lobby-page .game-hub .lobby-grid input,
  .lobby-page .game-hub .lobby-grid select,
  .lobby-page .game-hub .lobby-grid button.primary,
  .lobby-page .game-hub .lobby-grid button.secondary{min-height:50px;font-size:16px;border-radius:14px}
  .public-room-head h2{font-size:24px}
  .lobby-tip{padding:12px 13px;align-items:flex-start}
  .lobby-tip span,.lobby-bottom-note span{font-size:12px}
}

/* v1.24 – színesebb, játékdobozos / gyerekszobás lobby */
body.lobby-page{
  background:
    radial-gradient(circle at 8% 14%,rgba(246,199,96,.16),transparent 24%),
    radial-gradient(circle at 92% 12%,rgba(124,188,255,.12),transparent 26%),
    radial-gradient(circle at 82% 78%,rgba(214,143,208,.12),transparent 30%),
    linear-gradient(155deg,#073b2e 0%,#0a4937 42%,#073529 100%);
}
.lobby-page .topbar{
  background:rgba(5,55,41,.86);
  border-bottom:1px solid rgba(255,255,255,.10);
}

.game-hub-hero{
  background:
    linear-gradient(130deg,rgba(255,255,255,.08),rgba(255,255,255,.025)),
    linear-gradient(145deg,#17694f 0%,#125943 56%,#0f4f3b 100%);
  border-color:rgba(255,255,255,.10);
  box-shadow:0 18px 44px rgba(0,0,0,.15);
}
.game-hub-hero:before{
  width:320px;height:320px;right:-70px;left:auto;top:-90px;
  background:radial-gradient(circle,rgba(246,199,96,.23),transparent 66%);
}
.game-hub-hero:after{
  content:'';position:absolute;left:-24px;bottom:-26px;width:150px;height:150px;border-radius:36px;
  background:linear-gradient(135deg,rgba(125,190,255,.18),rgba(214,143,208,.12));
  transform:rotate(18deg);pointer-events:none;
}
.game-hub-kicker{color:#ffd56c}
.game-hub-glance span:nth-child(1){background:#f2c963;color:#2a432f;border-color:#ffdf87}
.game-hub-glance span:nth-child(2){background:#8fd6c0;color:#173d32;border-color:#b8eadb}
.game-hub-glance span:nth-child(3){background:#cbb8ea;color:#3c3152;border-color:#dfd0f4}
.game-hub-user{
  background:linear-gradient(160deg,rgba(255,247,218,.12),rgba(255,255,255,.035));
  border-color:rgba(255,225,137,.16)
}

.game-picker{gap:20px}
.game-choice{
  border-radius:30px;
  box-shadow:0 16px 34px rgba(0,0,0,.12);
}
.game-choice.is-active{
  background:
    radial-gradient(circle at 88% 82%,rgba(255,218,111,.18),transparent 28%),
    linear-gradient(145deg,#1f7d5c 0%,#17684e 100%);
  border:2px solid rgba(246,199,96,.65);
}
.game-choice.is-active:before{
  content:'';position:absolute;right:26px;top:82px;width:78px;height:78px;border-radius:24px;
  background:linear-gradient(135deg,#f5c85c,#eaa75e);opacity:.22;transform:rotate(14deg)
}
.game-choice.is-coming{
  background:
    radial-gradient(circle at 84% 78%,rgba(213,151,211,.14),transparent 28%),
    linear-gradient(145deg,#315f72 0%,#284f61 100%);
  border:2px dashed rgba(179,220,239,.28);
}
.game-choice.is-coming:before{
  background:#f3c75f;color:#314031;box-shadow:0 8px 20px rgba(0,0,0,.12)
}
.game-choice-status.playable{background:#a8e0b7;color:#1d4a2d;border-color:#c8eccf}
.game-choice-status.coming{background:#ffe294;color:#55431d;border-color:#ffe9af}
.game-choice-check{background:#d7f0e0;color:#205136}
.game-choice-meta span:nth-child(1){background:#f4cf72;color:#32432d}
.game-choice-meta span:nth-child(2){background:#97d7c5;color:#22463b}
.game-choice-meta span:nth-child(3){background:#cbb9e9;color:#433457}
.game-choice.is-coming .game-choice-meta span{background:#b6dbe8;color:#29414c}

.selected-game-section{
  background:
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018)),
    #0f5a43;
  border-color:rgba(255,255,255,.09)
}
.selected-game-badge{background:#f4ca62;color:#34422f;border-color:#f9dc8f}
.selected-game-strip>div:nth-child(1){background:#f4d477;border-color:#f7df9a}
.selected-game-strip>div:nth-child(2){background:#9bdac8;border-color:#bee9dc}
.selected-game-strip>div:nth-child(3){background:#cbb9e9;border-color:#dfd2f3}
.selected-game-strip>div strong{color:#263c30}
.selected-game-strip>div span{color:#40594c}

.lobby-page .game-hub .lobby-grid>.panel{
  border-radius:28px;
  box-shadow:0 16px 34px rgba(0,0,0,.12)
}
.lobby-page .game-hub .lobby-grid>.lobby-create-panel{
  background:
    linear-gradient(140deg,rgba(255,255,255,.13),rgba(255,255,255,.035)),
    #196b50;
  border-color:rgba(255,211,106,.32);
}
.lobby-page .game-hub .lobby-grid>.lobby-join-panel{
  background:
    linear-gradient(140deg,rgba(255,255,255,.11),rgba(255,255,255,.035)),
    #285f72;
  border-color:rgba(165,216,235,.30);
}
.lobby-card-icon{background:#f3c85e;color:#304331;box-shadow:0 8px 18px rgba(0,0,0,.12)}
.lobby-card-icon--key{background:#cbb9e9;color:#44365b}
.lobby-card-head p{color:#d5e8de}
.lobby-join-panel .lobby-card-head p{color:#d8e8ef}

.lobby-page .game-hub .lobby-grid input,
.lobby-page .game-hub .lobby-grid select{
  background:#fff8e8;
  border-color:#f1e5c7;
  color:#213d31;
  box-shadow:0 6px 16px rgba(0,0,0,.06)
}
.lobby-page .game-hub .lobby-grid input:focus,
.lobby-page .game-hub .lobby-grid select:focus{border-color:#f1c75f;box-shadow:0 0 0 4px rgba(241,199,95,.18)}
.lobby-page .game-hub .lobby-grid button.primary{
  background:linear-gradient(180deg,#f1c65c,#dfa83f);color:#2f402f
}
.lobby-page .game-hub .lobby-grid button.secondary{
  background:linear-gradient(180deg,#b9e5d7,#99d5c3);color:#1b4d3e
}
.lobby-rule-note{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.12)}
.lobby-rule-note__tiles{background:#ffdd78;color:#2f402f}
.lobby-rule-note small{color:#d1e6da}
.lobby-join-panel .lobby-rule-note small{color:#d7e7ed}
.public-room-eyebrow{color:#ffd56c}
.room-count{background:#b7ddea;color:#284551;border-color:#d6edf5}
#rooms.room-list{border-radius:24px}
.room-row{background:#fff8e9;border-color:#f2e7cd}
.room-row button{background:linear-gradient(180deg,#7fcbb6,#5fb79d);color:#173b30}

.lobby-tip{background:#f0d274;border-color:#f6e09d}
.lobby-tip strong{background:#6cc0a5;color:#143d31}
.lobby-tip span{color:#34473b}
.lobby-bottom-note>div:nth-child(1){background:#cbb9e9;border-color:#dfd1f2}
.lobby-bottom-note>div:nth-child(2){background:#8fd4c1;border-color:#b7e7d9}
.lobby-bottom-note small{color:#4f4560}
.lobby-bottom-note strong{color:#263d32}
.lobby-bottom-note span{color:#42584d}

/* apró, játékos színkódok */
.game-hub-hero h1::after{content:' ●';color:#f4c95f;font-size:.42em;vertical-align:top}
.selected-game-head h2::after{content:' ✦';color:#f1c75f;font-size:.55em;vertical-align:middle}

@media(max-width:620px){
  .game-hub-hero h1::after{display:none}
  .selected-game-strip{gap:9px}
  .selected-game-strip>div{border-radius:15px}
  .lobby-bottom-note>div{border-radius:16px}
}


/* v1.25 – GoGame színek + egyszerűbb, játékosabb lobby */
.lobby-page.hidden,.hidden{display:none !important;}
.lobby-page{--gg-red:#f15867;--gg-yellow:#f2c84f;--gg-teal:#2cc8bf;--gg-purple:#a885ef;--gg-blue:#3a9ff8;--gg-cream:#fff7df;--gg-green:#0a5138;--gg-green-2:#147454;}
body.lobby-page{background:radial-gradient(circle at 15% 20%, rgba(58,159,248,.12), transparent 28%),radial-gradient(circle at 85% 18%, rgba(242,200,79,.12), transparent 26%),radial-gradient(circle at 78% 74%, rgba(168,133,239,.10), transparent 28%),linear-gradient(160deg,#043325 0%,#07523d 45%,#033326 100%);}
.game-hub{padding:28px 0 54px;}
.game-hub-hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;padding:28px 30px;border-radius:34px;background:linear-gradient(140deg,rgba(255,255,255,.13),rgba(255,255,255,.07));border:1px solid rgba(255,255,255,.09);box-shadow:0 24px 60px rgba(0,0,0,.16);}
.game-hub-kicker{color:#ffd666;}
.game-hub-hero h1{font-size:clamp(46px,5vw,72px);margin:0 0 8px;}
.game-hub-hero p{max-width:760px;color:#def0e5;font-size:17px;}
.game-hub-glance span:nth-child(1){background:rgba(242,200,79,.95);color:#1d3c2b;border-color:rgba(242,200,79,.95)}
.game-hub-glance span:nth-child(2){background:rgba(44,200,191,.9);color:#0c403b;border-color:rgba(44,200,191,.9)}
.game-hub-glance span:nth-child(3){background:rgba(168,133,239,.9);color:#322552;border-color:rgba(168,133,239,.9)}
.game-hub-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;border-radius:28px;background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.1);}
.game-hub-brand img{display:block;max-width:100%;height:auto;filter:drop-shadow(0 12px 18px rgba(0,0,0,.18));}
.game-hub-brand small{margin-top:10px;font-size:13px;font-weight:900;letter-spacing:.12em;color:#fff0bf;}
.game-picker{margin-top:18px;display:grid;grid-template-columns:1.2fr 1fr;gap:18px;}
.game-choice{position:relative;text-align:left;padding:24px;border-radius:30px;border:2px solid rgba(255,255,255,.12);background:linear-gradient(155deg,rgba(27,134,87,.92),rgba(19,112,72,.94));box-shadow:0 16px 36px rgba(0,0,0,.14);}
.game-choice:hover{transform:translateY(-2px);}
.game-choice .game-choice-check{background:rgba(255,255,255,.84);color:#1c6847;}
.game-choice[data-game-choice="szozona"]{background:linear-gradient(135deg,rgba(28,146,103,.96),rgba(17,122,85,.97));}
.game-choice[data-game-choice="szozona"]:before{content:'';position:absolute;right:34px;bottom:26px;width:86px;height:86px;border-radius:26px;background:rgba(242,200,79,.24);transform:rotate(18deg);}
.game-choice.is-active{border-color:rgba(242,200,79,.92);box-shadow:0 0 0 4px rgba(242,200,79,.12),0 20px 46px rgba(0,0,0,.18);}
.game-choice.is-coming{background:linear-gradient(135deg,rgba(74,116,158,.98),rgba(56,96,133,.98));border-style:dashed;}
.game-choice.is-coming:before{background:linear-gradient(180deg,#f2c84f,#e7ba36);color:#163627;}
.game-choice p{font-size:16px;color:#ebf7f0;}
.game-choice-meta span:nth-child(1){background:#f2c84f;color:#1c3f2d;}
.game-choice-meta span:nth-child(2){background:#b8ece7;color:#194440;}
.game-choice-meta span:nth-child(3){background:#d7c3ff;color:#433a67;}
.selected-game-placeholder{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding:18px 20px;border-radius:24px;background:rgba(255,255,255,.08);border:1px dashed rgba(255,255,255,.16);color:#e9f7ef;}
.selected-game-placeholder strong{font-size:21px;color:#fff;}
.selected-game-placeholder span{font-size:14px;color:#d2e6da;}
.selected-game-section{margin-top:20px;padding:22px;border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 44px rgba(0,0,0,.14);}
.selected-game-head p{color:#d6e8de;font-size:15px;}
.selected-game-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;}
.selected-game-strip>div{padding:16px;border-radius:18px;border:1px solid rgba(255,255,255,.08);}
.selected-game-strip>div:nth-child(1){background:rgba(242,200,79,.95);}
.selected-game-strip>div:nth-child(2){background:rgba(184,236,231,.95);}
.selected-game-strip>div:nth-child(3){background:rgba(215,195,255,.95);}
.selected-game-strip strong,.selected-game-strip span{color:#173627 !important;}
.selected-game-badge{background:#f2c84f;color:#173627;border:none;}
.lobby-grid{gap:20px;margin-top:12px;}
.lobby-page .game-hub .lobby-grid>.panel{background:linear-gradient(180deg,rgba(26,123,84,.88),rgba(18,109,73,.92));border:2px solid rgba(208,240,220,.14);border-radius:28px;box-shadow:0 18px 42px rgba(0,0,0,.15);}
.lobby-page .game-hub .lobby-grid>.panel:before{background:none;}
.lobby-card-head p{color:#d8ece2;font-size:14px;}
.lobby-card-icon{background:rgba(255,255,255,.08);color:#ffd05d;border:1px solid rgba(255,255,255,.1);}
.lobby-card-icon--key{background:rgba(255,255,255,.08);color:#ffd05d;}
.lobby-page .game-hub .lobby-grid input,.lobby-page .game-hub .lobby-grid select{background:#f5f8f3;border-color:#d6e3d6;color:#173627;}
.lobby-page .game-hub .lobby-grid button.primary{background:linear-gradient(180deg,#25b85f,#17914a);}
.lobby-page .game-hub .lobby-grid button.secondary{background:linear-gradient(180deg,#d6ead7,#bfdac2);color:#0b5a31;}
.public-room-eyebrow{color:#ffe082;}
.room-count{background:rgba(255,255,255,.08);}
#rooms.room-list:empty::before,.room-list.muted-empty::before{background:rgba(255,255,255,.10);border:1px dashed rgba(255,255,255,.18);}
.lobby-tip{margin-top:16px;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1);}
.lobby-tip strong{background:#f2c84f;color:#173627;}
@media(max-width:960px){.game-hub-hero{grid-template-columns:1fr}.game-picker{grid-template-columns:1fr}.game-hub-brand{order:-1;min-height:160px}.selected-game-strip{grid-template-columns:1fr}}
@media(max-width:620px){.game-hub{padding:14px 10px 30px}.game-hub-hero{padding:18px 16px;border-radius:24px}.game-hub-hero h1{font-size:38px}.game-hub-hero p{font-size:14px}.game-hub-glance{gap:8px}.game-hub-glance span{font-size:11px}.selected-game-placeholder{display:block}.selected-game-placeholder span{display:block;margin-top:6px}.game-choice{padding:18px;border-radius:22px}.selected-game-section{padding:14px;border-radius:20px}}

/* === GoGame kid-room lobby v1.26 === */
body.lobby-page{
  background:
    radial-gradient(circle at 14% 18%, rgba(255,226,121,.22), transparent 18%),
    radial-gradient(circle at 88% 16%, rgba(255,131,120,.12), transparent 16%),
    linear-gradient(180deg,#9ed8ff 0 118px,#f8efe2 118px 100%);
  color:#17304e;
}
body.lobby-page:before{
  content:"";
  position:fixed;
  inset:118px 0 0;
  background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 180px);
  pointer-events:none;
}
.lobby-page .topbar{
  width:min(calc(100% - 28px), 1560px);
  margin:16px auto 0;
  padding:14px 18px;
  border-radius:26px;
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(27,54,92,.08)!important;
  box-shadow:0 16px 34px rgba(42,61,95,.10)!important;
  backdrop-filter: blur(10px);
  color:#24385d;
}
.lobby-page .brand-home-link img{height:56px!important;width:auto!important;max-width:none!important}
.lobby-page .user-session-actions{gap:10px;flex-wrap:wrap;justify-content:flex-end}
.lobby-page .user-chip{
  background:#ffffff!important;
  color:#25385d!important;
  border:1px solid rgba(51,88,134,.12)!important;
  border-radius:999px!important;
  padding:10px 16px!important;
  box-shadow:0 8px 22px rgba(48,77,117,.08);
}
.lobby-page .account-kind{background:#40c9a2!important;color:#fff!important}
.lobby-page .topbar-link{
  background:#edf4fb!important;
  color:#24385d!important;
  border:1px solid rgba(67,100,145,.08)!important;
  border-radius:999px!important;
  min-height:42px;
  padding:0 16px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.lobby-page .topbar-link:hover{background:#e3effd!important;color:#1d3152!important}
.lobby-page .topbar-link:last-child{background:#f56f74!important;color:#fff!important;border-color:#f56f74!important}
.lobby-page .mobile-account-menu summary{background:#edf4fb!important;color:#24385d!important}

.game-hub{
  width:min(calc(100% - 28px), 1560px);
  padding:22px 0 64px;
}
.game-hub-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:26px;
  align-items:center;
  padding:38px 36px;
  border-radius:40px;
  background:linear-gradient(180deg,#fef9ef 0%,#fef4e8 100%);
  border:1px solid rgba(204,171,109,.35);
  box-shadow:0 20px 50px rgba(74,72,64,.12);
  overflow:hidden;
}
.game-hub-hero:before,
.game-hub-hero:after{
  content:"";
  position:absolute;
  border-radius:50%;
  z-index:0;
}
.game-hub-hero:before{width:220px;height:220px;left:-80px;top:96px;background:rgba(108,208,196,.28)}
.game-hub-hero:after{width:280px;height:180px;right:90px;top:30px;background:rgba(255,255,255,.86);filter:blur(0.2px);border-radius:160px}
.game-hub-copy,.game-hub-scene{position:relative;z-index:1}
.game-hub-kicker{color:#d3a124!important;letter-spacing:.16em}
.game-hub-hero h1{
  margin:10px 0 8px;
  color:#19356d;
  font-size:clamp(58px,7vw,96px);
  line-height:.95;
  letter-spacing:-.05em;
}
.game-hub-hero h1:after{
  content:"";
  display:inline-block;
  width:14px;height:14px;border-radius:50%;
  background:#f7cb55;
  margin-left:8px;margin-bottom:18px;
  vertical-align:middle;
}
.game-hub-hero p{
  max-width:740px;
  color:#37537a;
  font-size:19px;
  line-height:1.45;
  margin:0;
}
.game-hub-glance{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.game-hub-glance span{
  min-height:52px;
  border-radius:999px;
  padding:0 22px;
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:900;
  font-size:15px;
  border:none!important;
  box-shadow:0 10px 20px rgba(52,74,96,.10);
}
.game-hub-glance span:nth-child(1){background:#ffd650;color:#29395d}
.game-hub-glance span:nth-child(2){background:#88e0c1;color:#17494d}
.game-hub-glance span:nth-child(3){background:#ffa2af;color:#632a46}

.game-hub-scene{
  min-height:260px;
  display:grid;
  grid-template-columns:1fr 120px;
  grid-template-rows:1fr 1fr;
  gap:16px;
  align-items:end;
}
.game-hub-scene .scene-poster,
.game-hub-scene .scene-note{
  background:#fff1d8;
  border:4px solid #d59d48;
  border-radius:16px;
  box-shadow:0 14px 24px rgba(103,76,42,.14);
  color:#4f4a44;
  font-weight:900;
  letter-spacing:.03em;
}
.scene-poster{
  justify-self:center;
  align-self:center;
  width:180px;
  min-height:210px;
  display:flex;align-items:center;justify-content:center;
  text-align:center;
  line-height:1.18;
  font-size:21px;
}
.scene-dino{
  width:84px;height:84px;
  border-radius:32px 32px 28px 28px;
  background:linear-gradient(180deg,#8de17f,#58b65c);
  box-shadow:inset -8px -10px 0 rgba(0,0,0,.08),0 14px 20px rgba(58,130,71,.18);
  justify-self:start;
  position:relative;
}
.scene-dino:before{content:"";position:absolute;right:-14px;top:24px;border-left:18px solid #f4c25e;border-top:10px solid transparent;border-bottom:10px solid transparent;transform:rotate(8deg)}
.scene-dino:after{content:"";position:absolute;left:14px;top:20px;width:10px;height:10px;border-radius:50%;background:#17304e;box-shadow:16px 0 0 #17304e}
.scene-cup{
  width:88px;height:98px;border-radius:18px 18px 24px 24px;background:#ffffff;justify-self:end;position:relative;
  box-shadow:0 14px 20px rgba(58,84,112,.12);
}
.scene-cup:before{content:"";position:absolute;right:-20px;top:28px;width:24px;height:28px;border:6px solid #fff;border-left:none;border-radius:0 18px 18px 0}
.scene-cup:after{content:":)";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:900;color:#2a5673;font-size:24px}
.scene-note{
  width:110px;
  min-height:156px;
  padding:18px 12px;
  font-size:17px;
  line-height:1.2;
  text-align:center;
  justify-self:end;
}

.game-picker{margin-top:20px;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.game-choice{
  min-height:302px;
  border-radius:34px;
  padding:34px 30px 26px;
  border:4px solid #f1dfb8;
  box-shadow:0 18px 38px rgba(89,79,57,.12);
  transform:none!important;
}
.game-choice:after{display:none!important}
.game-choice--szozona{background:linear-gradient(180deg,#28d0af,#1fba8c)!important;color:#fff}
.game-choice--szozona:before{content:"";position:absolute;right:26px;bottom:28px;width:106px;height:106px;background:rgba(255,255,255,.16);border-radius:28px;transform:rotate(18deg)}
.game-choice--szoforgato{background:linear-gradient(180deg,#fb7e84,#ee5e6c)!important;color:#fff}
.game-choice--szoforgato:before{content:"";position:absolute;right:-26px;top:-10px;width:110px;height:110px;background:#f3ce51;transform:rotate(45deg);border-radius:14px}
.game-choice.is-coming{opacity:1}
.game-choice-top{position:relative;z-index:1}
.game-choice-status,.game-choice-check{
  min-height:40px;padding:0 18px;border-radius:999px;font-size:13px;font-weight:900;
}
.game-choice-status.playable{background:#eaf8ef!important;color:#356753!important;border:none!important}
.game-choice-status.coming{background:#fff1b6!important;color:#58492a!important;border:none!important}
.game-choice-check{background:rgba(255,255,255,.84)!important;color:#2e5359!important;border:none!important}
.game-choice-brand{height:80px;margin:32px 0 20px;position:relative;z-index:1}
.game-choice-brand img{height:66px;filter:drop-shadow(0 10px 10px rgba(16,61,58,.18))}
.game-choice-name{
  position:relative;z-index:1;
  font-size:70px;
  line-height:.96;
  color:#fff;
  margin:42px 0 16px;
  letter-spacing:-.04em;
}
.game-choice p{position:relative;z-index:1;font-size:18px;line-height:1.45;color:rgba(255,255,255,.96);max-width:680px}
.game-choice-meta{position:relative;z-index:1;gap:12px;margin-top:26px}
.game-choice-meta span{
  background:rgba(255,246,215,.9)!important;
  color:#244561!important;
  border:none!important;
  border-radius:999px;
  padding:10px 18px;
  font-size:14px;
  font-weight:900;
}
.game-choice--szozona .game-choice-meta span:nth-child(2){background:#d8eefc!important}
.game-choice--szozona .game-choice-meta span:nth-child(3){background:#dcc7ff!important}
.game-choice--szoforgato .game-choice-meta span{background:#dbeafe!important;color:#314970!important}

.selected-game-placeholder{
  margin-top:20px;
  background:#fffef9;
  border:2px dashed #ead7ab;
  border-radius:30px;
  padding:26px 34px;
  box-shadow:0 16px 28px rgba(93,81,55,.08);
  color:#23426a;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px 22px;
  align-items:center;
}
.selected-game-placeholder:before{content:"💡";font-size:44px;grid-row:1 / span 2}
.selected-game-placeholder strong{font-size:26px;color:#18356d}
.selected-game-placeholder span{font-size:18px;color:#66799d}

.selected-game-section{
  margin-top:22px;
  background:linear-gradient(180deg,#ffffff 0,#f6fbfb 100%);
  border:1px solid rgba(75,109,136,.10);
  border-radius:34px;
  box-shadow:0 18px 36px rgba(74,90,108,.10);
  padding:28px;
}
.selected-game-head h2{color:#173567;font-size:44px}
.selected-game-head p{color:#52718d;font-size:18px}
.selected-game-badge{
  background:#ffd95a;color:#37466b;border:none;border-radius:999px;padding:12px 20px;font-weight:900
}
.selected-game-strip{margin-top:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.selected-game-strip>div{
  background:#fff;
  border:1px solid rgba(77,113,151,.10);
  border-radius:22px;
  padding:18px 18px 16px;
  box-shadow:0 10px 24px rgba(77,99,123,.08);
}
.selected-game-strip>div:nth-child(1){background:#ffe082}
.selected-game-strip>div:nth-child(2){background:#caece2}
.selected-game-strip>div:nth-child(3){background:#d6c7f1}
.selected-game-strip strong{color:#1f3557}
.selected-game-strip span{color:#48627f}
.game-hub .active-game-banner{background:#fff4cb;border:1px solid #efd26b}
.game-hub .active-game-banner a{background:#1db57a;color:#fff}

.lobby-page .game-hub .lobby-grid{gap:22px;margin-top:20px}
.lobby-page .game-hub .lobby-grid>.panel{
  background:linear-gradient(180deg,#ffffff 0,#f8fcfb 100%)!important;
  border:1px solid rgba(75,109,136,.12)!important;
  border-radius:28px!important;
  box-shadow:0 16px 32px rgba(80,100,122,.10)!important;
  padding:24px!important;
}
.lobby-page .game-hub .lobby-grid>.panel:before{display:none!important}
.lobby-page .game-hub .lobby-card-head h1,
.lobby-page .game-hub .public-room-head h2{color:#19356d!important;font-size:28px!important}
.lobby-page .game-hub .lobby-card-head p,
.lobby-page .game-hub .public-room-eyebrow,
.lobby-page .game-hub .stack label,
.lobby-page .game-hub .room-row small,
.lobby-page .game-hub .lobby-rule-note small{color:#5d7994!important}
.lobby-page .game-hub .lobby-card-icon{
  background:#fff6d8!important;color:#c98b11!important;border:2px solid #f3d77e!important;box-shadow:none!important
}
.lobby-page .game-hub .stack label{font-size:14px;font-weight:900;color:#35506f!important}
.lobby-page .game-hub .lobby-grid input,
.lobby-page .game-hub .lobby-grid select{
  background:#fff!important;
  color:#204060!important;
  border:2px solid #dbe7ef!important;
  border-radius:18px!important;
  min-height:58px!important;
  box-shadow:none!important;
}
.lobby-page .game-hub .lobby-grid input::placeholder{color:#7d92a6}
.lobby-page .game-hub .lobby-grid input:focus,
.lobby-page .game-hub .lobby-grid select:focus{border-color:#79d5ca!important;box-shadow:0 0 0 4px rgba(121,213,202,.2)!important}
.lobby-page .game-hub .lobby-grid button.primary,
.lobby-page .game-hub .lobby-grid button.secondary{
  min-height:58px!important;
  border-radius:18px!important;
  font-size:17px!important;
  box-shadow:none!important;
}
.lobby-page .game-hub .lobby-grid button.primary{background:#1fb57b!important;color:#fff!important}
.lobby-page .game-hub .lobby-grid button.secondary{background:#d7efd9!important;color:#1d5f40!important}
.lobby-page .game-hub .lobby-rule-note{
  background:#ecfaf6!important;
  border:2px solid #cbeae1!important;
  border-radius:20px!important;
}
.lobby-page .game-hub .lobby-rule-note__tiles{background:#ffd464!important;color:#22445e!important}
.lobby-page .game-hub .lobby-rule-note strong{color:#1d4263!important}
.lobby-page .game-hub .lobby-tip{
  margin-top:16px;
  background:#fffdf6;
  border:1px dashed #ecd18b;
  border-radius:22px;
  color:#566e83;
}
.lobby-page .game-hub .lobby-tip strong{background:#ffd552;color:#5c4e2a;border-radius:999px;padding:6px 12px}
.lobby-page .game-hub .room-count{background:#f1f6fb!important;color:#2d5474!important;border:none!important}
.lobby-page .game-hub .room-row{
  background:#ffffff!important;
  border:1px solid rgba(79,111,144,.12)!important;
  color:#234867!important;
  border-radius:18px!important;
}
.lobby-page .game-hub .room-row:hover{background:#f0f8fb!important}
.lobby-page .game-hub .room-row strong{color:#173767!important}
.lobby-page .game-hub .room-row b{background:#eef4fb;color:#284966;border-radius:12px;padding:7px 10px}
.lobby-page .game-hub .lobby-empty.no-logo{
  background:#f7fbff!important;
  border:2px dashed #d7e6ef!important;
  color:#597594!important;
}
.lobby-page .game-hub .lobby-empty.no-logo strong{color:#18356d!important}

@media (max-width: 1120px){
  .game-hub-hero{grid-template-columns:1fr;padding:30px 24px}
  .game-hub-scene{min-height:0;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto;align-items:end}
  .scene-poster{width:100%;min-height:140px;font-size:18px}
  .scene-note{width:100%;min-height:140px;font-size:16px}
  .game-choice-name{font-size:54px}
  .selected-game-strip{grid-template-columns:1fr}
}
@media (max-width: 820px){
  .lobby-page .topbar{width:calc(100% - 16px);padding:12px 12px;border-radius:20px}
  .lobby-page .brand-home-link img{height:48px!important}
  .game-hub{width:calc(100% - 12px);padding:14px 0 34px}
  .game-hub-hero{padding:22px 18px;border-radius:26px}
  .game-hub-hero h1{font-size:52px}
  .game-hub-hero p{font-size:16px}
  .game-picker{grid-template-columns:1fr}
  .game-choice{min-height:0;padding:22px 18px;border-radius:26px}
  .game-choice-brand{height:58px;margin:18px 0 14px}.game-choice-brand img{height:48px}
  .game-choice-name{font-size:42px;margin-top:20px}
  .game-choice p{font-size:15px}
  .selected-game-placeholder{grid-template-columns:1fr;padding:20px 18px;border-radius:22px}
  .selected-game-placeholder:before{display:none}
  .selected-game-placeholder strong{font-size:22px}
  .selected-game-placeholder span{font-size:15px}
  .selected-game-section{padding:18px;border-radius:24px}
}
@media (max-width: 620px){
  body.lobby-page{background:linear-gradient(180deg,#9ed8ff 0 80px,#f8efe2 80px 100%)}
  .game-hub-hero h1{font-size:42px}
  .game-hub-glance span{min-height:42px;padding:0 14px;font-size:13px}
  .game-hub-scene{display:none}
  .game-choice-meta span{font-size:12px;padding:8px 13px}
  .lobby-page .game-hub .lobby-grid>.panel{padding:16px!important;border-radius:22px!important}
}

/* ==== GoGame pastel lobby v1.27 ==== */
body.lobby-page{
  --gg-bg-dark:#00553d;
  --gg-bg-deep:#004733;
  --gg-cream:#f8f2e8;
  --gg-navy:#1f3f88;
  --gg-text:#3d4e61;
  --gg-yellow:#f4cd45;
  --gg-mint:#7fe0c8;
  --gg-mint-strong:#2fd0b3;
  --gg-pink:#fb7f96;
  --gg-lila:#caa8f2;
  --gg-card-green:#2fcaa7;
  --gg-card-coral:#f66f82;
  background:
    radial-gradient(circle at 15% 10%, rgba(37,209,179,.10), transparent 18%),
    radial-gradient(circle at 82% 70%, rgba(244,205,69,.10), transparent 18%),
    linear-gradient(180deg, var(--gg-bg-deep) 0%, var(--gg-bg-dark) 100%);
  color:var(--gg-text);
}

.lobby-page .topbar{
  width:min(1280px,calc(100% - 28px));
  height:auto;
  min-height:74px;
  margin:18px auto 0;
  padding:14px 18px;
  border-radius:28px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:0 20px 40px rgba(0,0,0,.15);
  color:#2d3c59;
  position:sticky;
  top:10px;
  z-index:80;
}
.lobby-page .gogame-header-brand{display:flex!important;align-items:center;min-width:190px}
.lobby-page .gogame-header-brand img{display:block;max-width:250px;width:100%;height:auto;object-fit:contain}
.lobby-page .user-chip{
  background:#edf2ff;
  color:#384b72;
  border:1px solid rgba(31,63,136,.08);
  font-weight:800;
}
.lobby-page .account-kind{background:#56d6b6;color:#fff}
.lobby-page .topbar-link,
.lobby-page .game-account-link{
  color:#34507f;
  background:#eef3fb;
  border:1px solid rgba(52,80,127,.08);
  padding:10px 14px;
  border-radius:999px;
  font-size:14px;
}
.lobby-page .topbar-link[href="logout.php"]{background:#f56d77;color:#fff;border-color:transparent}
.lobby-page .topbar-link:hover{background:#dfeafb;color:#213765}
.lobby-page .topbar-link[href="logout.php"]:hover{background:#ef5d68;color:#fff}

.lobby-page .game-hub{
  width:min(1280px,calc(100% - 28px));
  padding:22px 0 50px;
}
.lobby-page .game-hub-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);
  gap:24px;
  margin:0 0 22px;
  padding:34px 34px 30px;
  border-radius:34px;
  overflow:hidden;
  background:linear-gradient(180deg,#faf5ec 0%, #f7f0e4 100%);
  box-shadow:0 24px 55px rgba(0,0,0,.18);
}
.lobby-page .game-hub-hero:before{
  content:"";
  position:absolute;
  left:-42px;top:48px;
  width:210px;height:210px;
  border-radius:50%;
  background:rgba(183,222,218,.55);
}
.lobby-page .game-hub-hero:after{
  content:"";
  position:absolute;
  right:190px;top:44px;
  width:16px;height:16px;border-radius:50%;
  background:#f1bf3e;
}
.lobby-page .game-hub-copy{position:relative;z-index:2;padding-top:10px}
.lobby-page .game-hub-kicker{
  color:#e1a62b;
  font-size:15px;
  font-weight:900;
  letter-spacing:.14em;
}
.lobby-page .game-hub-hero h1{
  margin:14px 0 10px;
  font-size:82px;
  line-height:.95;
  letter-spacing:-.05em;
  color:var(--gg-navy);
  text-shadow:0 2px 0 rgba(255,255,255,.4);
}
.lobby-page .game-hub-hero p{
  margin:0;
  font-size:22px;
  color:#51637a;
  max-width:760px;
}
.lobby-page .game-hub-glance{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:26px;
}
.lobby-page .pill,
.lobby-page .game-hub-glance span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:12px 24px;
  border-radius:999px;
  font-weight:900;
  font-size:16px;
  color:#213765;
  box-shadow:0 10px 18px rgba(0,0,0,.08);
}
.lobby-page .pill-yellow{background:#f5ce44}
.lobby-page .pill-mint{background:#8be0ca}
.lobby-page .pill-lila{background:#d5b5f5}

.lobby-page .game-hub-scene{
  position:relative;
  min-height:318px;
}
.lobby-page .game-hub-scene img{
  position:absolute;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 12px 18px rgba(0,0,0,.12));
}
.lobby-page .scene-poster{right:136px;top:16px;width:180px}
.lobby-page .scene-dino{right:48px;top:118px;width:110px}
.lobby-page .scene-cup{right:20px;bottom:6px;width:128px}
.lobby-page .scene-note{right:0;top:176px;width:126px}
.lobby-page .scene-lamp{right:-4px;top:8px;width:155px}

.lobby-page .game-picker{
  grid-template-columns:minmax(0,1fr) minmax(340px,.86fr);
  gap:20px;
}
.lobby-page .game-choice{
  position:relative;
  min-height:345px;
  overflow:hidden;
  border-radius:34px;
  padding:26px 34px;
  border:3px solid #f1e4c6;
  background:linear-gradient(180deg,#32ceb0 0%, #1fb595 100%);
  box-shadow:0 22px 42px rgba(0,0,0,.14);
  text-align:left;
}
.lobby-page .game-choice:hover{transform:translateY(-2px)}
.lobby-page .game-choice.is-active{
  border-color:#f0db8a;
  box-shadow:0 22px 42px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.18);
}
.lobby-page .game-choice.is-active:after{display:none}
.lobby-page .game-choice--szozona:before{
  content:"";
  position:absolute;
  right:32px;bottom:44px;
  width:88px;height:88px;border-radius:26px;
  background:rgba(181,217,101,.38);
  transform:rotate(16deg);
}
.lobby-page .game-choice--szoforgato{
  background:linear-gradient(180deg,#f88597 0%, #f36b7d 100%);
  border-color:#f6e2a8;
}
.lobby-page .game-choice--szoforgato:after{
  content:"HAMAROSAN";
  position:absolute;
  right:-44px;top:22px;
  width:190px;
  text-align:center;
  padding:11px 0;
  background:#f4cd45;
  color:#213765;
  font-weight:900;
  letter-spacing:.12em;
  transform:rotate(39deg);
  box-shadow:0 10px 20px rgba(0,0,0,.14);
}
.lobby-page .game-choice-top{position:relative;z-index:2}
.lobby-page .game-choice-status,
.lobby-page .game-choice-check,
.lobby-page .game-choice-meta span{
  border:none;
  color:#23416a;
}
.lobby-page .game-choice-status.playable,
.lobby-page .game-choice-check{
  background:rgba(255,255,255,.84);
}
.lobby-page .game-choice-status.coming{background:#fff0b4;color:#664c00}
.lobby-page .game-choice-brand{height:88px;margin:34px 0 14px;position:relative;z-index:2}
.lobby-page .game-choice-brand img{height:62px}
.lobby-page .game-choice-name{margin:78px 0 10px;font-size:72px;line-height:.95;color:#fff}
.lobby-page .game-choice p{
  position:relative;z-index:2;
  color:#f8fffb;
  font-size:19px;
  font-weight:700;
  max-width:600px;
}
.lobby-page .game-choice-meta{position:relative;z-index:2;margin-top:26px}
.lobby-page .game-choice-meta span{
  background:#f3e8b9;
  color:#29476f;
  font-weight:900;
  padding:10px 16px;
  border-radius:999px;
}
.lobby-page .game-choice--szozona .game-choice-meta span:nth-child(2){background:#d9ebff}
.lobby-page .game-choice--szozona .game-choice-meta span:nth-child(3){background:#dfcef7}
.lobby-page .game-choice--szoforgato .game-choice-meta span{background:#dbe6ff}
.lobby-page .game-choice-art{
  position:absolute;
  right:16px;bottom:20px;
  width:190px;
  z-index:1;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.14));
}

.lobby-page .selected-game-placeholder,
.lobby-page .selected-game-section{
  background:#fbf7f0;
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 24px 55px rgba(0,0,0,.16);
}
.lobby-page .selected-game-placeholder{
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:22px;
  border-radius:28px;
  padding:24px 30px;
  color:#29476f;
}
.lobby-page .selected-game-placeholder__icon{
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:#fff6cc;font-size:24px;flex:0 0 auto
}
.lobby-page .selected-game-placeholder strong{display:block;font-size:26px;line-height:1.05;color:#1f3f88}
.lobby-page .selected-game-placeholder span{display:block;margin-top:4px;font-size:18px;color:#6c7d92}

.lobby-page .selected-game-section{
  margin-top:22px;
  border-radius:30px;
  padding:28px;
  color:#29476f;
}
.lobby-page .selected-game-kicker{color:#df9e1b}
.lobby-page .selected-game-head h2{color:#1f3f88;font-size:56px}
.lobby-page .selected-game-head p{color:#60748f;font-size:18px}
.lobby-page .selected-game-badge{
  background:#f4cd45;
  color:#24456e;
  padding:12px 20px;
  border-radius:999px;
  font-weight:900;
}
.lobby-page .selected-game-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:22px 0 14px;
}
.lobby-page .selected-game-strip>div{
  background:#fff;
  border-radius:22px;
  padding:20px 18px;
  box-shadow:0 12px 22px rgba(0,0,0,.07);
}
.lobby-page .selected-game-strip>div:nth-child(1){background:#f2d470}
.lobby-page .selected-game-strip>div:nth-child(2){background:#bce8df}
.lobby-page .selected-game-strip>div:nth-child(3){background:#d9c7ef}
.lobby-page .selected-game-strip strong{display:block;color:#2c3b56;font-size:18px}
.lobby-page .selected-game-strip span{display:block;margin-top:4px;color:#49596d;font-size:15px}

.lobby-page .lobby-grid{max-width:none;padding:0;margin:18px 0 0}
.lobby-page .lobby-grid>.panel{
  background:linear-gradient(180deg,#218457 0%, #176e47 100%);
  color:#fff;
  border-radius:32px;
  border:2px solid rgba(255,238,200,.3);
  box-shadow:0 18px 36px rgba(0,0,0,.14);
}
.lobby-page .lobby-grid>.panel:before{display:none}
.lobby-page .lobby-card-head h1,
.lobby-page .lobby-card-head h2,
.lobby-page .public-room-head h2,
.lobby-page .stack label{color:#fff!important}
.lobby-page .lobby-card-head p,
.lobby-page .public-room-eyebrow,
.lobby-page .room-row small,
.lobby-page .lobby-rule-note small{color:#d1eadc!important}
.lobby-page .lobby-card-icon{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  color:#f6cb4b;
}
.lobby-page .lobby-grid input,
.lobby-page .lobby-grid select{
  background:#f3f5ef;
  color:#274366;
  border:none;
  min-height:56px;
  border-radius:18px;
  font-weight:800;
}
.lobby-page .lobby-grid input::placeholder{color:#8094a7}
.lobby-page .lobby-grid input:focus,
.lobby-page .lobby-grid select:focus{box-shadow:0 0 0 4px rgba(255,255,255,.12)}
.lobby-page .lobby-rule-note{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
}
.lobby-page .lobby-rule-note__tiles{
  background:#f6cb4b;
  color:#23446b;
}
.lobby-page .primary{
  background:linear-gradient(180deg,#1ec36f,#179f5a);
  color:#fff;
  min-height:58px;
  border-radius:18px;
}
.lobby-page .secondary{
  background:#c7e5c7;
  color:#0f5c31;
  min-height:58px;
  border-radius:18px;
}
.lobby-page .panel hr{border-color:rgba(255,255,255,.12)!important}
.lobby-page .room-count{
  background:rgba(255,255,255,.08);
  color:#fff;
}
.lobby-page .room-row{
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  border-radius:18px;
}
.lobby-page .room-row:hover{background:rgba(255,255,255,.14)!important}
.lobby-page .room-row strong,
.lobby-page .room-row b{color:#fff!important}
.lobby-page .lobby-empty.no-logo{
  background:rgba(255,255,255,.1);
  color:#fff;
  border:1px dashed rgba(255,255,255,.24);
}
.lobby-page .lobby-tip{
  max-width:none;
  margin-top:14px;
  background:rgba(255,255,255,.1);
  color:#f8fff9;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
}
.lobby-page .lobby-tip strong{
  background:#f4cd45;
  color:#29476f;
  border-radius:999px;
  padding:6px 10px;
}
.lobby-page .active-game-banner{
  max-width:none;
  background:#edf4ff;
  color:#26456f;
}
.lobby-page .active-game-banner strong{color:#1f3f88}
.lobby-page .active-game-banner a{background:#1f3f88;color:#fff;border-radius:999px;padding:11px 16px;text-decoration:none}

@media (max-width: 980px){
  .lobby-page .topbar{width:calc(100% - 18px);padding:12px 14px}
  .lobby-page .gogame-header-brand{min-width:140px}
  .lobby-page .gogame-header-brand img{max-width:185px}
  .lobby-page .topbar-link{padding:8px 10px;font-size:12px}
  .lobby-page .game-hub{width:calc(100% - 18px)}
  .lobby-page .game-hub-hero{grid-template-columns:1fr;padding:26px 22px 24px}
  .lobby-page .game-hub-hero h1{font-size:58px}
  .lobby-page .game-hub-hero p{font-size:18px}
  .lobby-page .game-hub-scene{min-height:220px}
  .lobby-page .scene-poster{right:100px;width:150px}
  .lobby-page .scene-note{width:96px;top:128px}
  .lobby-page .scene-lamp{width:130px}
  .lobby-page .scene-cup{width:102px}
  .lobby-page .scene-dino{top:108px;width:92px}
  .lobby-page .game-picker{grid-template-columns:1fr}
  .lobby-page .game-choice{min-height:290px;padding:22px 22px}
  .lobby-page .game-choice-name{font-size:54px;margin-top:52px}
  .lobby-page .selected-game-head h2{font-size:40px}
  .lobby-page .selected-game-strip{grid-template-columns:1fr}
}

@media (max-width: 640px){
  .lobby-page .topbar{
    width:calc(100% - 12px);
    margin-top:10px;
    border-radius:20px;
    padding:10px 12px;
  }
  .lobby-page .game-hub{width:calc(100% - 12px);padding-top:12px}
  .lobby-page .game-hub-hero{border-radius:24px;padding:22px 16px 18px}
  .lobby-page .game-hub-kicker{font-size:12px}
  .lobby-page .game-hub-hero h1{font-size:40px}
  .lobby-page .game-hub-hero p{font-size:15px}
  .lobby-page .game-hub-glance{gap:10px;margin-top:18px}
  .lobby-page .pill,.lobby-page .game-hub-glance span{min-height:42px;padding:9px 14px;font-size:13px}
  .lobby-page .game-hub-scene{min-height:150px}
  .lobby-page .scene-poster{right:58px;top:8px;width:108px}
  .lobby-page .scene-dino{right:6px;top:82px;width:64px}
  .lobby-page .scene-cup{right:2px;bottom:0;width:72px}
  .lobby-page .scene-note{right:-2px;top:88px;width:62px}
  .lobby-page .scene-lamp{right:-10px;top:-4px;width:86px}
  .lobby-page .game-choice{min-height:240px;border-radius:24px;padding:18px 18px}
  .lobby-page .game-choice-brand{height:58px;margin:18px 0 8px}
  .lobby-page .game-choice-brand img{height:42px}
  .lobby-page .game-choice-name{font-size:42px}
  .lobby-page .game-choice p{font-size:15px}
  .lobby-page .game-choice-meta span{padding:8px 12px;font-size:12px}
  .lobby-page .game-choice-art{width:116px;right:10px;bottom:14px}
  .lobby-page .selected-game-placeholder{padding:18px 16px;border-radius:20px}
  .lobby-page .selected-game-placeholder strong{font-size:22px}
  .lobby-page .selected-game-placeholder span{font-size:14px}
  .lobby-page .selected-game-section{padding:18px 14px;border-radius:22px}
  .lobby-page .selected-game-head h2{font-size:31px}
  .lobby-page .selected-game-head p{font-size:14px}
  .lobby-page .lobby-grid>.panel{border-radius:22px}
  .lobby-page .lobby-grid input,
  .lobby-page .lobby-grid select,
  .lobby-page .primary,
  .lobby-page .secondary{min-height:48px;border-radius:14px}
}


/* v1.28 – mockup-closer playful GoGame lobby */

body.lobby-page{
  --gg-blue:#243f8f;
  --gg-blue-soft:#dff1ff;
  --gg-cream:#fbf6ee;
  --gg-cream-2:#f6efe3;
  --gg-floor:#f3dcb4;
  --gg-green:#2ec9b1;
  --gg-green-dark:#22b39d;
  --gg-pink:#f77588;
  --gg-pink-dark:#f05f75;
  --gg-yellow:#ffd84e;
  --gg-lilac:#cbb7ff;
  --gg-mint:#8fe4cb;
  --gg-shadow:0 18px 42px rgba(56,69,109,.14);
  background:
    linear-gradient(180deg,#bfe7ff 0 96px,#dff2ff 96px 180px,#f8f0e1 180px calc(100% - 180px),#efcf9a calc(100% - 180px) 100%) !important;
  color:#2b3f64 !important;
  min-height:100vh;
}

.lobby-page .topbar{
  max-width:1540px;
  margin:18px auto 24px;
  padding:14px 22px 14px 18px;
  height:auto;
  border:none;
  border-radius:30px;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 10px 30px rgba(48,64,103,.12), inset 0 1px 0 rgba(255,255,255,.7);
  backdrop-filter:none;
  color:var(--gg-blue);
  position:relative;
  z-index:20;
  display:flex;
  align-items:center;
  gap:22px;
}
.lobby-page .topbar-left{display:flex;align-items:center;gap:24px;min-width:0;flex:1 1 auto;}
.lobby-page .topbar .lobby-topbar-brand{display:flex!important;align-items:center;flex:0 0 auto;}
.lobby-page .gogame-header-brand img{height:72px;max-width:260px;display:block;object-fit:contain;}
.lobby-page .gogame-header-tagline{
  font-size:18px;font-weight:800;letter-spacing:-.02em;color:#31467d;white-space:nowrap;
  display:flex;align-items:center;gap:18px;
}
.lobby-page .gogame-header-tagline::after{
  content:"";width:14px;height:14px;border-radius:50%;background:#f7cd43;
  box-shadow:18px 6px 0 0 #ffd95c;
  opacity:.95;
}
.lobby-page .user-session-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto;}
.lobby-page .desktop-session-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.lobby-page .user-chip{
  background:#ffffff;padding:11px 16px;border-radius:999px;font-size:17px;font-weight:800;
  color:#31467d;box-shadow:inset 0 0 0 2px rgba(36,63,143,.06);
}
.lobby-page .account-kind{background:#60dbb2;color:#ffffff;padding:5px 10px;border-radius:999px;font-size:12px;margin-left:8px;}
.lobby-page .topbar-link{
  background:#e8f2fb;color:#31467d;border:1px solid rgba(82,117,167,.12);padding:12px 18px;border-radius:999px;
  font-weight:800;font-size:16px;text-decoration:none;box-shadow:0 3px 0 rgba(255,255,255,.75) inset;
}
.lobby-page .topbar-link:hover{background:#f1f7fd;filter:none;transform:none;}
.lobby-page .topbar-link:last-child{background:#f77682;color:#fff;}

.lobby-page .game-hub{
  max-width:1600px;margin:0 auto;padding:0 18px 130px;position:relative;z-index:1;
}
.lobby-page .game-hub > *{position:relative;z-index:1;}
.lobby-page .hub-decor{position:absolute;z-index:0;pointer-events:none;user-select:none;}
.lobby-page .hub-decor--books-left{left:-14px;top:112px;width:170px;filter:drop-shadow(0 16px 20px rgba(60,82,133,.12));}
.lobby-page .hub-decor--books-right{right:18px;bottom:-24px;width:175px;filter:drop-shadow(0 16px 20px rgba(60,82,133,.12));}
.lobby-page .hub-decor--toybox{
  left:0;bottom:24px;width:150px;height:116px;border-radius:24px;background:linear-gradient(180deg,#78bcff,#4a92ed);
  box-shadow:var(--gg-shadow);display:block;
}
.lobby-page .hub-decor--toybox::before{
  content:"";position:absolute;left:18px;right:18px;top:-18px;height:32px;border-radius:18px 18px 8px 8px;
  background:linear-gradient(180deg,#98d2ff,#72bbff);box-shadow:0 8px 14px rgba(48,81,148,.18);
}
.lobby-page .hub-decor--toybox::after{
  content:"";position:absolute;left:18px;bottom:16px;width:22px;height:22px;border-radius:50%;background:#ffe15e;
  box-shadow:42px -3px 0 0 #7be07e, 66px 12px 0 0 #b98cff;
}
.lobby-page .toybox-face{position:absolute;right:24px;top:55px;font-size:34px;color:#fff;font-weight:900;line-height:1;transform:rotate(-8deg);} 
.lobby-page .toybox-star{position:absolute;left:18px;bottom:13px;font-size:26px;color:#ffd34d;}
.lobby-page .toybox-ball{display:none;}

.lobby-page .game-hub-hero{
  display:grid;grid-template-columns:minmax(0,1.2fr) 400px;gap:30px;align-items:end;
  padding:58px 42px 34px;border-radius:44px;overflow:hidden;position:relative;
  min-height:430px;margin-bottom:22px;
  background:linear-gradient(180deg,#d8f1ff 0 150px,#fbf6ee 150px 100%) !important;
  box-shadow:0 25px 60px rgba(68,89,130,.12);
  border:1px solid rgba(255,255,255,.8);
}
.lobby-page .game-hub-hero::before{
  content:"";position:absolute;left:-50px;top:46px;width:190px;height:190px;border-radius:50%;background:rgba(193,231,224,.55);
}
.lobby-page .game-hub-hero::after{
  content:"";position:absolute;left:240px;right:320px;top:58px;height:132px;background:
    radial-gradient(circle at 18% 70%,#fff 0 42px,transparent 43px),
    radial-gradient(circle at 40% 52%,#fff 0 56px,transparent 57px),
    radial-gradient(circle at 64% 68%,#fff 0 46px,transparent 47px),
    radial-gradient(circle at 83% 57%,#fff 0 38px,transparent 39px);
  opacity:.9;pointer-events:none;
}
.lobby-page .game-hub-copy{padding:16px 0 8px;position:relative;z-index:2;}
.lobby-page .game-hub-kicker{font-size:26px;letter-spacing:.12em;font-weight:900;color:#d7a52a;}
.lobby-page .game-hub-copy h1{
  font-size:82px;line-height:.95;margin:18px 0 20px;color:#213f8f;letter-spacing:-.05em;
  text-shadow:0 4px 0 rgba(255,255,255,.55);
}
.lobby-page .game-hub-copy h1::after{content:"•";color:#f6c646;margin-left:10px;}
.lobby-page .game-hub-copy p{margin:0;max-width:780px;font-size:26px;line-height:1.35;color:#4a5f87;font-weight:600;}
.lobby-page .game-hub-glance{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;}
.lobby-page .pill{display:inline-flex;align-items:center;min-height:58px;padding:0 28px;border-radius:999px;font-weight:900;font-size:18px;box-shadow:0 8px 18px rgba(80,104,156,.10);}
.lobby-page .pill-yellow{background:#ffd64e;color:#2f3d64;}
.lobby-page .pill-mint{background:#9ce6cf;color:#234b5b;}
.lobby-page .pill-lila{background:#d7bcff;color:#4b4371;}

.lobby-page .game-hub-scene{
  height:100%;min-height:310px;position:relative;align-self:stretch;justify-self:stretch;
}
.lobby-page .game-hub-scene::before{
  content:"";position:absolute;right:24px;top:12px;width:220px;height:230px;border-radius:24px;background:linear-gradient(180deg,#86c9ff,#c6ecff 58%,#fef4e7 58%);
  box-shadow:inset 0 0 0 10px rgba(255,255,255,.28), 0 18px 38px rgba(61,95,155,.10);
}
.lobby-page .game-hub-scene::after{
  content:"";position:absolute;left:0;right:0;bottom:16px;height:18px;border-radius:20px;background:linear-gradient(180deg,#f3d3a2,#e7bf82);
  box-shadow:0 -2px 0 rgba(255,255,255,.35) inset;
}
.lobby-page .scene-poster{position:absolute;right:116px;top:34px;width:168px;z-index:2;}
.lobby-page .scene-lamp{position:absolute;right:0;top:38px;width:150px;z-index:3;}
.lobby-page .scene-dino{position:absolute;right:88px;bottom:52px;width:96px;z-index:3;}
.lobby-page .scene-cup{position:absolute;right:4px;bottom:50px;width:112px;z-index:3;}
.lobby-page .scene-note{position:absolute;right:20px;bottom:6px;width:100px;z-index:4;}

.lobby-page .game-picker{
  display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px;
}
.lobby-page .game-choice{
  min-height:330px;border-radius:34px;padding:26px 28px 28px;position:relative;overflow:hidden;
  text-align:left;border:5px solid rgba(255,249,236,.92);box-shadow:var(--gg-shadow);isolation:isolate;
  display:flex;flex-direction:column;gap:18px;justify-content:flex-start;
}
.lobby-page .game-choice::before{content:"";position:absolute;inset:auto 26px 26px auto;width:138px;height:138px;border-radius:34px;background:rgba(255,238,170,.22);z-index:-1;transform:rotate(18deg);}
.lobby-page .game-choice--szozona{
  background:radial-gradient(circle at 26% 18%,rgba(255,255,255,.15) 0 52px,transparent 53px),linear-gradient(135deg,#29d2bd,#1fbc9f);
  color:#fff;
}
.lobby-page .game-choice--szoforgato{
  background:radial-gradient(circle at 24% 12%,rgba(255,255,255,.13) 0 70px,transparent 71px),linear-gradient(135deg,#fa7d8f,#ef627a);
  color:#fff;
}
.lobby-page .game-choice-top{display:flex;align-items:center;justify-content:space-between;gap:18px;}
.lobby-page .game-choice-status,.lobby-page .game-choice-check{
  display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:999px;font-size:16px;font-weight:900;
  background:#f4faef;color:#385466;
}
.lobby-page .game-choice-status.coming{background:#fff4bf;color:#5a4d26;}
.lobby-page .game-choice-brand img{height:74px;width:auto;object-fit:contain;display:block;}
.lobby-page .game-choice-name{font-size:66px;line-height:.95;font-weight:900;letter-spacing:-.04em;margin-top:22px;position:relative;z-index:2;}
.lobby-page .game-choice p{margin:0;max-width:540px;font-size:22px;line-height:1.35;font-weight:800;color:rgba(255,255,255,.96);position:relative;z-index:2;}
.lobby-page .game-choice-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:auto;position:relative;z-index:2;}
.lobby-page .game-choice-meta span{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:999px;background:#f7edb1;color:#2c3b67;font-weight:900;font-size:16px;}
.lobby-page .game-choice-meta span:nth-child(2){background:#dfeefe;}
.lobby-page .game-choice-meta span:nth-child(3){background:#e2cef8;color:#47386a;}
.lobby-page .game-choice-art--abc{position:absolute;right:28px;bottom:18px;width:164px;z-index:1;filter:drop-shadow(0 12px 16px rgba(54,84,119,.22));}
.lobby-page .game-choice--szoforgato .game-choice-meta span{background:#d9e8ff;color:#304777;}
.lobby-page .game-choice--szoforgato::after{
  content:"HAMAROSAN";position:absolute;top:16px;right:-42px;width:190px;height:54px;background:#f5cf47;color:#23376f;
  display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:.06em;transform:rotate(39deg);box-shadow:0 10px 16px rgba(74,59,20,.14);
}
.lobby-page .game-choice--szoforgato.is-coming{opacity:1;cursor:default;pointer-events:none;}
.lobby-page .game-choice--szoforgato .game-choice-name::after{
  content:"S  Z  Ó";position:absolute;right:38px;top:22px;font-size:34px;font-weight:900;letter-spacing:.18em;background:#fff4df;color:#263760;padding:18px 16px;border-radius:22px;box-shadow:0 12px 20px rgba(58,72,111,.18);transform:rotate(-11deg);
}
.lobby-page .game-choice--szoforgato p{max-width:460px;}

.lobby-page .selected-game-placeholder{
  margin-top:6px;border-radius:34px;background:#fffdf8;padding:26px 36px;display:flex;align-items:center;justify-content:center;gap:22px;
  box-shadow:0 18px 42px rgba(61,84,133,.10);border:1px solid rgba(255,255,255,.9);
  min-height:132px;color:#284181;
}
.lobby-page .selected-game-placeholder__icon{
  width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#fff1b7;font-size:28px;box-shadow:0 8px 16px rgba(102,82,18,.12);
}
.lobby-page .selected-game-placeholder strong{display:block;font-size:26px;line-height:1.1;color:#1d3e88;}
.lobby-page .selected-game-placeholder span{display:block;margin-top:8px;font-size:22px;color:#6b7ea5;}
.lobby-page .selected-game-placeholder::after{
  content:"Jó játékot!  ☺";margin-left:auto;font-size:28px;font-weight:900;color:#2c4a90;transform:rotate(-6deg);
}
.lobby-page .selected-game-placeholder.hidden{display:none!important;}

.lobby-page .selected-game-section{
  margin-top:20px;background:rgba(255,251,243,.88);padding:28px;border-radius:34px;box-shadow:0 18px 42px rgba(61,84,133,.10);
}
.lobby-page .selected-game-section.hidden{display:none!important;}
.lobby-page .selected-game-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;color:#1d3f88;}
.lobby-page .selected-game-kicker{display:block;font-size:16px;font-weight:900;letter-spacing:.15em;color:#d4a22c;margin-bottom:8px;}
.lobby-page .selected-game-head h2{font-size:56px;line-height:.95;margin:0 0 10px;color:#1d3f88;}
.lobby-page .selected-game-head p{font-size:22px;color:#657aa2;margin:0;}
.lobby-page .selected-game-badge{background:#f5d85e;color:#32477b;border-radius:999px;padding:14px 20px;font-weight:900;white-space:nowrap;}
.lobby-page .selected-game-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0 26px;}
.lobby-page .selected-game-strip > div{border-radius:20px;padding:18px 20px;box-shadow:0 8px 18px rgba(60,83,132,.08);}
.lobby-page .selected-game-strip > div:nth-child(1){background:#f2d36b;color:#2c3c66;}
.lobby-page .selected-game-strip > div:nth-child(2){background:#bfe9de;color:#2a4a5f;}
.lobby-page .selected-game-strip > div:nth-child(3){background:#d7c4f6;color:#53467b;}
.lobby-page .selected-game-strip strong{display:block;font-size:24px;margin-bottom:8px;}
.lobby-page .selected-game-strip span{display:block;font-size:18px;line-height:1.35;opacity:.9;}
.lobby-page .active-game-banner{background:#eef5ff;border:1px solid #d2def2;color:#2e477d;}
.lobby-page .mobile-lobby-tabs{display:none;}

.lobby-page .lobby-grid{max-width:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.lobby-page .lobby-grid > .panel{
  padding:30px;border-radius:30px;background:linear-gradient(180deg,#27a96d 0%,#1b915b 100%)!important;
  border:4px solid rgba(255,248,236,.95)!important;box-shadow:var(--gg-shadow);color:#fff!important;overflow:hidden;
}
.lobby-page .lobby-grid > .panel:before{display:none!important;}
.lobby-page .lobby-card-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px;}
.lobby-page .lobby-card-icon{width:50px;height:50px;border-radius:16px;background:rgba(255,255,255,.08)!important;border:2px solid rgba(255,255,255,.18)!important;color:#ffd04c!important;display:grid;place-items:center;font-size:30px;flex:0 0 auto;}
.lobby-page .lobby-card-head h1,.lobby-page .lobby-card-head h2{font-size:30px;margin:0 0 6px;color:#fff!important;}
.lobby-page .lobby-card-head p{font-size:19px;color:rgba(255,255,255,.84)!important;margin:0;}
.lobby-page .lobby-grid .stack label,.lobby-page .public-room-head h2{color:#fff!important;font-size:17px;font-weight:800;}
.lobby-page .lobby-grid input,.lobby-page .lobby-grid select{
  background:#f5faf5!important;border:2px solid rgba(177,217,191,.9)!important;border-radius:18px;color:#2f4b46!important;min-height:58px;padding:14px 16px;
  box-shadow:0 3px 0 rgba(255,255,255,.58) inset!important;
}
.lobby-page .lobby-grid button.primary,.lobby-page .lobby-grid button.secondary{
  min-height:60px;border-radius:18px;font-size:20px;font-weight:900;
}
.lobby-page .lobby-grid button.primary{background:#8fe5cc;color:#184f43;}
.lobby-page .lobby-grid button.secondary{background:#d8efff;color:#224782;}
.lobby-page .lobby-rule-note{background:rgba(255,255,255,.10)!important;border:2px solid rgba(255,255,255,.14)!important;border-radius:20px;color:#fff;padding:14px 16px;}
.lobby-page .lobby-rule-note__tiles{background:#ffd04f!important;color:#264066!important;border:none!important;}
.lobby-page .public-room-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px;}
.lobby-page .public-room-eyebrow{color:#fff9d0!important;font-weight:900;letter-spacing:.12em;}
.lobby-page .room-count{background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;}
.lobby-page .room-list{display:grid;gap:12px;}
.lobby-page .room-row{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:18px;padding:16px 18px;color:#fff!important;}
.lobby-page .room-row b{background:#fff7d2!important;color:#2e4778!important;}
.lobby-page .room-row small{color:rgba(255,255,255,.76)!important;}
.lobby-page .lobby-empty{background:rgba(255,255,255,.24);border-color:rgba(255,255,255,.28);}
.lobby-page .lobby-empty strong,.lobby-page .lobby-empty p{color:#fff;}
.lobby-page .lobby-tip{display:none;}
.lobby-page .floating-error{background:#ed6678;color:#fff;}

@media (max-width:1280px){
  .lobby-page .gogame-header-tagline{display:none;}
  .lobby-page .game-hub-copy h1{font-size:68px;}
  .lobby-page .game-hub-copy p{font-size:22px;}
  .lobby-page .game-hub-hero{grid-template-columns:minmax(0,1fr) 320px;}
  .lobby-page .selected-game-strip{grid-template-columns:1fr;}
  .lobby-page .hub-decor--books-left{width:140px;left:-8px;top:138px;}
  .lobby-page .hub-decor--books-right{width:146px;}
}

@media (max-width:860px){
  body.lobby-page{background:linear-gradient(180deg,#c2e7ff 0 70px,#f7efe1 70px 100%)!important;}
  .lobby-page .topbar{margin:10px 10px 16px;padding:10px 12px;border-radius:20px;gap:12px;}
  .lobby-page .topbar-left{gap:10px;flex:1;min-width:0;}
  .lobby-page .gogame-header-brand img{height:44px;max-width:160px;}
  .lobby-page .gogame-header-tagline{display:none;}
  .lobby-page .user-chip{font-size:12px;padding:8px 10px;}
  .lobby-page .desktop-session-links{display:none!important;}
  .lobby-page .mobile-account-menu{display:block;}
  .lobby-page .game-hub{padding:0 10px 50px;}
  .lobby-page .hub-decor{display:none!important;}
  .lobby-page .game-hub-hero{grid-template-columns:1fr;padding:28px 18px 20px;border-radius:28px;min-height:auto;gap:14px;}
  .lobby-page .game-hub-hero::after{left:80px;right:40px;top:34px;height:90px;opacity:.8;}
  .lobby-page .game-hub-copy h1{font-size:52px;margin:10px 0 12px;}
  .lobby-page .game-hub-copy p{font-size:20px;max-width:none;}
  .lobby-page .game-hub-kicker{font-size:17px;}
  .lobby-page .pill{min-height:44px;padding:0 18px;font-size:14px;}
  .lobby-page .game-hub-scene{min-height:180px;}
  .lobby-page .game-hub-scene::before{width:140px;height:150px;right:0;top:8px;}
  .lobby-page .scene-poster{width:104px;right:64px;top:22px;}
  .lobby-page .scene-lamp{width:84px;right:-6px;top:24px;}
  .lobby-page .scene-dino{width:58px;right:54px;bottom:32px;}
  .lobby-page .scene-cup{width:72px;right:-4px;bottom:32px;}
  .lobby-page .scene-note{width:66px;right:6px;bottom:2px;}
  .lobby-page .game-picker{grid-template-columns:1fr;gap:14px;}
  .lobby-page .game-choice{min-height:250px;padding:18px 18px 20px;border-radius:24px;}
  .lobby-page .game-choice-brand img{height:50px;}
  .lobby-page .game-choice-name{font-size:52px;margin-top:4px;}
  .lobby-page .game-choice p{font-size:18px;max-width:none;}
  .lobby-page .game-choice-meta span{min-height:36px;padding:0 14px;font-size:14px;}
  .lobby-page .game-choice-art--abc{width:102px;right:12px;bottom:10px;}
  .lobby-page .game-choice--szoforgato .game-choice-name::after{display:none;}
  .lobby-page .selected-game-placeholder{padding:16px 18px;gap:14px;min-height:auto;flex-wrap:wrap;justify-content:flex-start;}
  .lobby-page .selected-game-placeholder strong{font-size:22px;}
  .lobby-page .selected-game-placeholder span{font-size:17px;}
  .lobby-page .selected-game-placeholder::after{display:none;}
  .lobby-page .selected-game-section{padding:18px;border-radius:24px;}
  .lobby-page .selected-game-head{display:block;}
  .lobby-page .selected-game-head h2{font-size:42px;}
  .lobby-page .selected-game-head p{font-size:18px;}
  .lobby-page .selected-game-badge{display:inline-flex;margin-top:12px;}
  .lobby-page .lobby-grid{grid-template-columns:1fr;gap:16px;}
  .lobby-page .lobby-grid > .panel{padding:18px;border-radius:24px;}
  .lobby-page .mobile-lobby-tabs{display:flex;margin:0 0 14px;}
}

/* v1.30 – mockup-hűbb hero: kék fal + nagy puha felhő */
.lobby-page .game-hub-hero{
  background:
    linear-gradient(90deg, rgba(255,255,255,.06), rgba(255,255,255,0)),
    linear-gradient(180deg,#9edcff 0%,#8fd4fb 100%) !important;
  min-height:430px;
  border:1px solid rgba(255,255,255,.75);
  overflow:hidden;
}

/* nagy fehér felhő a cím mögött, a mockuphoz közelebb */
.lobby-page .game-hub-hero::before{
  content:"" !important;
  position:absolute !important;
  left:58px !important;
  top:74px !important;
  width:760px !important;
  height:270px !important;
  border-radius:150px !important;
  background:#fffdf8 !important;
  box-shadow:
    120px -44px 0 18px #fffdf8,
    270px -12px 0 34px #fffdf8,
    410px -58px 0 12px #fffdf8,
    540px -14px 0 30px #fffdf8,
    650px 34px 0 4px #fffdf8 !important;
  opacity:.98 !important;
  transform:none !important;
  z-index:0 !important;
  pointer-events:none !important;
}

/* a korábbi pontszerű pseudo ne zavarjon */
.lobby-page .game-hub-hero::after{
  content:"" !important;
  position:absolute !important;
  left:auto !important;
  right:300px !important;
  top:122px !important;
  width:190px !important;
  height:92px !important;
  border-radius:90px !important;
  background:rgba(255,255,255,.94) !important;
  opacity:1 !important;
  box-shadow:86px 10px 0 18px rgba(255,255,255,.94) !important;
  z-index:0 !important;
  pointer-events:none !important;
}

.lobby-page .game-hub-copy{
  position:relative !important;
  z-index:2 !important;
  padding:24px 0 14px 48px !important;
}
.lobby-page .game-hub-copy h1{
  color:#183a84 !important;
  text-shadow:none !important;
}
.lobby-page .game-hub-copy p{
  color:#36527c !important;
}
.lobby-page .game-hub-kicker{
  color:#d69c17 !important;
}

/* jobb oldali szobadíszlet kapjon fal/ablak érzetet */
.lobby-page .game-hub-scene{
  z-index:2 !important;
}
.lobby-page .game-hub-scene::before{
  width:260px !important;
  height:265px !important;
  right:4px !important;
  top:4px !important;
  border-radius:10px !important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.23) 0 8px,transparent 8px calc(50% - 4px),rgba(255,255,255,.35) calc(50% - 4px) calc(50% + 4px),transparent calc(50% + 4px) calc(100% - 8px),rgba(255,255,255,.23) calc(100% - 8px)),
    linear-gradient(180deg,rgba(255,255,255,.18) 0 8px,transparent 8px calc(50% - 4px),rgba(255,255,255,.32) calc(50% - 4px) calc(50% + 4px),transparent calc(50% + 4px) calc(100% - 8px),rgba(255,255,255,.18) calc(100% - 8px)),
    linear-gradient(180deg,#a9e1ff,#82cdf7 58%,#bfe8aa 58%,#a6dc91 100%) !important;
  box-shadow:inset 0 0 0 10px #f3c47b,0 16px 28px rgba(64,95,135,.12) !important;
}
.lobby-page .game-hub-scene::after{
  right:-20px !important;
  left:auto !important;
  bottom:18px !important;
  width:335px !important;
  height:24px !important;
  border-radius:0 !important;
  background:linear-gradient(180deg,#e8b56f,#d79b4e) !important;
  box-shadow:0 5px 0 #c8873f !important;
}

/* dekorok levegősebben, mockup-szerű elrendezésben */
.lobby-page .scene-poster{right:150px !important;top:20px !important;width:154px !important;z-index:4 !important;}
.lobby-page .scene-lamp{right:-6px !important;top:24px !important;width:156px !important;z-index:5 !important;}
.lobby-page .scene-dino{right:88px !important;bottom:56px !important;width:92px !important;z-index:5 !important;}
.lobby-page .scene-cup{right:-8px !important;bottom:48px !important;width:106px !important;z-index:5 !important;}
.lobby-page .scene-note{right:-26px !important;bottom:-8px !important;width:94px !important;z-index:6 !important;}

/* bal oldali könyvkupac jobban látszódjon */
.lobby-page .hub-decor--books-left{
  left:-58px !important;
  top:126px !important;
  width:190px !important;
  z-index:2 !important;
}

@media (max-width:1280px){
  .lobby-page .game-hub-hero::before{
    left:30px !important;
    top:86px !important;
    width:610px !important;
    height:240px !important;
    box-shadow:
      90px -36px 0 12px #fffdf8,
      220px -8px 0 28px #fffdf8,
      350px -50px 0 8px #fffdf8,
      470px -10px 0 22px #fffdf8 !important;
  }
  .lobby-page .game-hub-copy{padding-left:28px !important;}
}

@media (max-width:860px){
  .lobby-page .game-hub-hero{
    background:linear-gradient(180deg,#9edcff 0%,#8fd4fb 100%) !important;
  }
  .lobby-page .game-hub-hero::before{
    left:16px !important;
    top:64px !important;
    width:86% !important;
    height:190px !important;
    border-radius:100px !important;
    box-shadow:70px -24px 0 8px #fffdf8,180px -2px 0 18px #fffdf8 !important;
  }
  .lobby-page .game-hub-hero::after{display:none !important;}
  .lobby-page .game-hub-copy{padding:18px 8px 8px !important;}
}


/* v1.31 – kompakt mobil GoGame fiókmenü */
@media (max-width:860px){
  body.lobby-page{overflow-x:hidden;}
  .lobby-page .topbar{
    overflow:visible!important;
    align-items:center!important;
  }
  .lobby-page .user-session-actions{
    position:relative;
    flex:0 0 auto;
    gap:8px!important;
    flex-wrap:nowrap!important;
  }
  .lobby-page .user-chip{
    max-width:165px!important;
    min-height:40px;
    padding:8px 12px!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:13px!important;
  }
  .lobby-page .mobile-account-menu{
    display:block!important;
    position:relative;
    z-index:10060;
  }
  .lobby-page .mobile-account-menu summary{
    width:42px!important;
    height:42px!important;
    border:none!important;
    border-radius:50%!important;
    background:#eef4fb!important;
    color:#27436f!important;
    font-size:23px!important;
    box-shadow:inset 0 0 0 1px rgba(47,74,117,.05)!important;
  }
  .lobby-page .mobile-account-menu[open] summary{
    background:#ddeaf8!important;
  }
  .lobby-page .mobile-account-menu__panel{
    position:absolute!important;
    top:50px!important;
    right:0!important;
    width:178px!important;
    max-width:calc(100vw - 24px)!important;
    padding:7px!important;
    border:1px solid rgba(44,70,110,.10)!important;
    border-radius:17px!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 16px 38px rgba(37,55,87,.20)!important;
    backdrop-filter:blur(12px);
    overflow:hidden;
  }
  .lobby-page .mobile-account-menu__user{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:8px!important;
    padding:8px 9px 9px!important;
    margin:0 0 4px!important;
    border-bottom:1px solid #e8eef5!important;
  }
  .lobby-page .mobile-account-menu__user strong{
    color:#223b68!important;
    font-size:13px!important;
    line-height:1.1;
    max-width:92px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .lobby-page .mobile-account-menu__user small{
    display:inline-flex!important;
    align-items:center;
    min-height:22px;
    padding:0 7px;
    border-radius:999px;
    background:#dff6ee;
    color:#347461!important;
    font-size:9px!important;
    font-weight:900;
    white-space:nowrap;
  }
  .lobby-page .mobile-account-menu__panel>a{
    display:flex!important;
    align-items:center;
    min-height:34px!important;
    padding:7px 9px!important;
    border-radius:10px!important;
    color:#2d4773!important;
    text-decoration:none!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1.15!important;
  }
  .lobby-page .mobile-account-menu__panel>a:hover,
  .lobby-page .mobile-account-menu__panel>a:active{
    background:#edf4fb!important;
  }
  .lobby-page .mobile-account-menu__panel>a.logout-link{
    margin-top:4px!important;
    padding-top:8px!important;
    border-top:1px solid #e8eef5!important;
    color:#d75361!important;
    background:#fff3f4!important;
  }
}

@media (max-width:430px){
  .lobby-page .topbar{
    padding:9px 10px!important;
    gap:8px!important;
  }
  .lobby-page .topbar-left{min-width:0!important;}
  .lobby-page .gogame-header-brand img{
    height:40px!important;
    max-width:145px!important;
  }
  .lobby-page .user-chip{
    max-width:148px!important;
    font-size:12px!important;
    padding:7px 10px!important;
  }
  .lobby-page .account-kind{display:none!important;}
  .lobby-page .mobile-account-menu summary{
    width:40px!important;
    height:40px!important;
  }
}


/* v1.32 – DEV tesztbetűk eltávolítva; csak fejlesztői linkek */
.dev-panel-links-only{gap:7px;padding:14px 16px}.dev-panel-links-only>strong{margin-bottom:2px}.dev-panel-links-only .dev-links{margin-top:0}


/* v1.33 – top menu finomhangolás + játékoldali DEV panel eltüntetve vizuálisan */

.lobby-page .user-chip,
.lobby-page .topbar-link,
.game-page .game-account-link,
.game-page .room-code{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1.1;
}

.lobby-page .user-chip{
  min-height:56px;
  background:#f4f6fb;
  box-shadow:inset 0 0 0 2px rgba(36,63,143,.08);
}

.lobby-page .topbar-link{
  min-height:56px;
  padding:12px 20px;
  background:#dde8f6;
  border-color:rgba(82,117,167,.18);
  box-shadow:0 3px 0 rgba(255,255,255,.65) inset;
}

.lobby-page .topbar-link:hover{
  background:#d2e0f3;
}

.lobby-page .topbar-link:last-child{
  background:#f77682;
}

.lobby-page .active-game-link{
  background:#d8e4f4;
}

.game-page .dev-panel,
.game-page .dev-panel-links-only{
  display:none !important;
}

@media (max-width:860px){
  .lobby-page .user-chip{
    min-height:46px;
    padding:8px 12px;
  }
}


/* v1.34 – auth overlay scene + GoGame login */
body.auth-page{
  position:relative;
  overflow-x:hidden;
  padding:24px;
  background:linear-gradient(180deg,#ace1ff 0 120px,#efe5d6 120px 100%);
}
.auth-scene{
  position:fixed;
  inset:0;
  z-index:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 10% 20%, rgba(255,255,255,.95) 0 10%, transparent 10.5%),
    linear-gradient(180deg,#afe0ff 0 132px,#efe5d6 132px 100%);
}
.auth-scene::before{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:130px;
  background:linear-gradient(180deg,#f0d39d 0%, #e5bd7e 100%);
}
.auth-scene::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 15% 80%, rgba(75,167,255,.28) 0 70px, transparent 71px),
    radial-gradient(circle at 85% 78%, rgba(255,205,73,.32) 0 90px, transparent 91px),
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.55) 0 30%, transparent 30.5%);
  pointer-events:none;
}
.auth-scene-topbar,
.auth-scene-hero,
.auth-scene-cards{
  width:min(1500px, calc(100% - 48px));
  margin-inline:auto;
  position:relative;
  z-index:1;
}
.auth-scene-topbar{
  margin-top:26px;
  padding:14px 26px;
  border-radius:30px;
  background:rgba(255,255,255,.88);
  box-shadow:0 12px 35px rgba(42,84,128,.14);
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:28px;
}
.auth-scene-brand{height:74px;width:auto;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(0,0,0,.12));}
.auth-scene-nav,.auth-scene-user{font-weight:900;color:#243f8f;font-size:24px;}
.auth-scene-nav{justify-self:center;}
.auth-scene-user{background:#fff;border-radius:999px;padding:12px 22px;box-shadow:inset 0 0 0 2px rgba(36,63,143,.08);font-size:22px;}
.auth-scene-hero{
  margin-top:26px;
  min-height:440px;
  padding:60px 54px;
  border-radius:40px;
  background:linear-gradient(180deg,#d0ecff 0 36%, #f4ecdf 36% 100%);
  box-shadow:0 25px 60px rgba(42,84,128,.14);
  display:grid;
  grid-template-columns:minmax(0,1.15fr) 320px;
  gap:24px;
}
.auth-scene-cloud{
  position:absolute; left:180px; top:48px; width:720px; height:255px; border-radius:120px;
  background:#fff; opacity:.95; filter:blur(0.2px);
}
.auth-scene-copy,.auth-scene-side{position:relative; z-index:1;}
.auth-scene-kicker{display:inline-block;margin-bottom:18px;color:#dda11e;font-weight:900;letter-spacing:.12em;font-size:28px;}
.auth-scene-copy h1{margin:0;color:#203d8f;font-size:92px;line-height:.95;letter-spacing:-.04em;font-weight:900;max-width:760px;}
.auth-scene-copy p{margin:22px 0 24px;color:#344d87;font-size:30px;font-weight:500;max-width:760px;}
.auth-scene-pills{display:flex;flex-wrap:wrap;gap:16px;}
.auth-scene-pills span{display:inline-flex;align-items:center;justify-content:center;padding:16px 28px;border-radius:999px;font-weight:900;font-size:24px;color:#243f8f;box-shadow:0 8px 22px rgba(0,0,0,.08);}
.auth-scene-pills span:nth-child(1){background:#ffd74e;}
.auth-scene-pills span:nth-child(2){background:#90ebc8;}
.auth-scene-pills span:nth-child(3){background:#f9a1ad;}
.auth-scene-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:18px;}
.auth-scene-poster,.auth-scene-note{background:#fff6e9;color:#2f4378;border:5px solid #d89b2d;border-radius:18px;box-shadow:0 14px 30px rgba(0,0,0,.14);font-weight:900;text-align:center;}
.auth-scene-poster{width:210px;padding:28px 16px;font-size:28px;line-height:1.08;}
.auth-scene-note{width:132px;padding:18px 12px;font-size:20px;line-height:1.15;align-self:flex-end;transform:translateX(8px);}
.auth-scene-cards{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.scene-card{position:relative;min-height:300px;border-radius:34px;padding:38px 40px;box-shadow:0 22px 50px rgba(0,0,0,.13);border:6px solid rgba(255,255,255,.65);overflow:hidden;}
.scene-card::before,.scene-card::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.15);}
.scene-card::before{width:160px;height:160px;left:90px;top:-40px;}
.scene-card::after{width:120px;height:120px;right:44px;bottom:26px;transform:rotate(24deg);border-radius:28px;}
.scene-card-play{background:linear-gradient(135deg,#2fd0bf,#29bf95);}
.scene-card-soon{background:linear-gradient(135deg,#f97787,#ef6273);}
.scene-badge{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:999px;background:rgba(255,255,255,.9);font-weight:900;color:#294067;font-size:20px;}
.scene-card-title{margin:46px 0 18px;font-size:72px;line-height:.95;font-weight:900;color:#fff8ef;letter-spacing:-.03em;text-shadow:0 3px 0 rgba(0,0,0,.08);}
.scene-card p{margin:0;color:#fff8ef;font-size:32px;font-weight:700;max-width:560px;}
.auth-scene-overlay{
  position:fixed;
  inset:0;
  z-index:1;
  background:rgba(5,25,26,.44);
  backdrop-filter:blur(9px) saturate(.92);
}
.auth-card-wide{
  position:relative;
  z-index:2;
  width:min(560px, calc(100% - 32px));
  padding:34px;
  background:rgba(249,252,249,.93);
  border:1px solid rgba(255,255,255,.62);
  box-shadow:0 28px 70px rgba(0,0,0,.26);
}
.auth-logo{width:min(320px,78%);margin:0 auto 16px;filter:drop-shadow(0 10px 16px rgba(0,0,0,.12));}
.auth-page .tagline{margin:6px 0 22px;text-align:center;color:#5c6e66;font-size:17px;}
@media(max-width:1200px){
  .auth-scene-copy h1{font-size:72px;}
  .auth-scene-copy p{font-size:24px;}
  .auth-scene-pills span{font-size:20px;padding:14px 22px;}
  .scene-card-title{font-size:58px;}
  .scene-card p{font-size:26px;}
}
@media(max-width:860px){
  .auth-scene-topbar,
  .auth-scene-hero,
  .auth-scene-cards{width:min(100% - 24px, 1200px);}
  .auth-scene-topbar{grid-template-columns:auto 1fr;gap:14px;padding:12px 16px;}
  .auth-scene-nav{display:none;}
  .auth-scene-user{justify-self:end;font-size:16px;padding:10px 14px;}
  .auth-scene-brand{height:52px;}
  .auth-scene-hero{grid-template-columns:1fr;padding:34px 28px;min-height:auto;}
  .auth-scene-cloud{left:28px;top:54px;width:min(82vw,480px);height:190px;}
  .auth-scene-copy h1{font-size:50px;max-width:420px;}
  .auth-scene-kicker{font-size:20px;margin-bottom:12px;}
  .auth-scene-copy p{font-size:19px;margin:12px 0 18px;max-width:400px;}
  .auth-scene-pills span{font-size:16px;padding:12px 16px;}
  .auth-scene-side{display:none;}
  .auth-scene-cards{grid-template-columns:1fr;gap:16px;}
  .scene-card{min-height:210px;padding:24px 26px;}
  .scene-card-title{margin-top:28px;font-size:42px;}
  .scene-card p{font-size:20px;}
  .auth-scene::before{height:100px;}
}
@media(max-width:560px){
  body.auth-page{padding:14px;}
  .auth-scene-topbar,.auth-scene-hero,.auth-scene-cards{width:calc(100% - 12px);}
  .auth-scene-hero{padding:26px 20px 30px;border-radius:28px;}
  .auth-scene-copy h1{font-size:38px;}
  .auth-scene-copy p{font-size:17px;}
  .auth-scene-pills{gap:10px;}
  .auth-scene-pills span{font-size:14px;padding:10px 14px;}
  .scene-card{min-height:180px;padding:18px 18px 22px;border-radius:24px;}
  .scene-badge{font-size:14px;padding:8px 14px;}
  .scene-card-title{font-size:34px;}
  .scene-card p{font-size:17px;}
  .auth-scene-overlay{backdrop-filter:blur(7px) saturate(.92);}
  .auth-card-wide{width:min(100%, 560px);padding:22px 18px 24px;border-radius:22px;}
  .auth-logo{width:min(250px,76%);margin-bottom:10px;}
  .auth-page .tagline{font-size:15px;margin-bottom:16px;}
}


/* v1.34 – header collision fix */
@media (max-width:1680px){
  .lobby-page .gogame-header-tagline{display:none!important;}
}
.lobby-page .topbar-left{overflow:hidden;}
.lobby-page .gogame-header-tagline{flex:0 1 auto;min-width:0;overflow:hidden;}
\n\n/* v1.39 – GoGame lobby: Amőba + Torpedó kártyák */
.lobby-page .game-choice--amoba{
  background:
    radial-gradient(circle at 84% 18%,rgba(255,255,255,.16) 0 58px,transparent 59px),
    linear-gradient(135deg,#8a71e8,#6e56d6);
  color:#fff;
}
.lobby-page .game-choice--torpedo{
  background:
    radial-gradient(circle at 18% 14%,rgba(146,214,240,.18) 0 66px,transparent 67px),
    linear-gradient(135deg,#2e7eb6 0%,#1f669c 45%,#144f80 100%);
  color:#fff;
}
.lobby-page .game-choice--amoba.is-coming,
.lobby-page .game-choice--torpedo.is-coming{
  opacity:1;cursor:default;pointer-events:none;
}
.lobby-page .game-choice--amoba::after,
.lobby-page .game-choice--torpedo::after{
  content:"HAMAROSAN";position:absolute;top:16px;right:-42px;width:190px;height:54px;
  background:#f5cf47;color:#23376f;display:flex;align-items:center;justify-content:center;
  font-weight:900;letter-spacing:.06em;transform:rotate(39deg);box-shadow:0 10px 16px rgba(74,59,20,.14);
}
.lobby-page .game-choice--amoba .game-choice-meta span{background:#efe3ff;color:#4d3d79;}
.lobby-page .game-choice--amoba .game-choice-meta span:nth-child(2){background:#d9f2ff;color:#31516b;}
.lobby-page .game-choice--torpedo .game-choice-meta span{background:#d8f2ff;color:#244f73;}
.lobby-page .game-choice--torpedo .game-choice-meta span:nth-child(2){background:#fff0b7;color:#5d4c1d;}
.lobby-page .game-choice-miniart{position:absolute;right:28px;bottom:24px;z-index:1;filter:drop-shadow(0 12px 16px rgba(26,43,84,.18));}
.lobby-page .amoba-miniart{
  width:148px;height:148px;border-radius:28px;background:rgba(255,255,255,.92);padding:10px;
  display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:4px;
  transform:rotate(-6deg);
}
.lobby-page .amoba-miniart span{
  display:grid;place-items:center;border:3px solid rgba(92,79,166,.17);border-radius:10px;
  color:#7458d4;font-size:31px;font-weight:900;line-height:1;
}
.lobby-page .amoba-miniart span:nth-child(even){color:#ec6d85;}
.lobby-page .torpedo-miniart{
  width:154px;height:154px;border-radius:50%;background:rgba(12,58,96,.42);border:4px solid rgba(196,236,251,.9);
  overflow:hidden;transform:rotate(7deg);
}
.lobby-page .torpedo-miniart::before,.lobby-page .torpedo-miniart::after{
  content:"";position:absolute;background:rgba(221,245,255,.46);
}
.lobby-page .torpedo-miniart::before{left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);}
.lobby-page .torpedo-miniart::after{top:50%;left:0;right:0;height:2px;transform:translateY(-50%);}
.lobby-page .radar-ring{position:absolute;border:2px solid rgba(221,245,255,.5);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);}
.lobby-page .radar-ring--1{width:94px;height:94px;}
.lobby-page .radar-ring--2{width:48px;height:48px;}
.lobby-page .radar-line{position:absolute;left:50%;top:50%;width:64px;height:3px;border-radius:3px;background:#9ff4d1;transform-origin:0 50%;transform:rotate(-32deg);box-shadow:0 0 10px rgba(159,244,209,.75);}
.lobby-page .radar-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#ffd75b;box-shadow:0 0 0 4px rgba(255,215,91,.17);}
.lobby-page .radar-dot--1{right:31px;top:43px;}
.lobby-page .radar-dot--2{left:32px;bottom:38px;background:#ff8ea1;}
.lobby-page .ship-mark{position:absolute;left:54px;bottom:20px;color:#e8fbff;font-size:30px;transform:rotate(-12deg);}
@media(max-width:720px){
  .lobby-page .game-choice-miniart{right:18px;bottom:16px;transform:scale(.78);transform-origin:right bottom;}
}

/* v1.40 – Szózóna kártya: középsötét okkersárga */
.lobby-page .game-choice--szozona{
  background:
    radial-gradient(circle at 26% 18%,rgba(255,247,214,.14) 0 52px,transparent 53px),
    linear-gradient(135deg,#bd8d2f 0%,#aa771f 58%,#94631a 100%)!important;
  color:#fffdf6;
  box-shadow:0 20px 42px rgba(113,77,20,.22), var(--gg-shadow);
}
.lobby-page .game-choice--szozona::before{
  background:rgba(255,226,139,.18)!important;
}
.lobby-page .game-choice--szozona .game-choice-status,
.lobby-page .game-choice--szozona .game-choice-check{
  background:#fff3c9;
  color:#5b4216;
}
.lobby-page .game-choice--szozona p{
  color:#fffaf0;
}
.lobby-page .game-choice--szozona .game-choice-meta span{
  background:#fff0b5;
  color:#523d17;
}
.lobby-page .game-choice--szozona .game-choice-meta span:nth-child(2){
  background:#f7df9b!important;
  color:#513d18;
}
.lobby-page .game-choice--szozona .game-choice-meta span:nth-child(3){
  background:#ead08b!important;
  color:#493713;
}

/* v1.41 – Szózóna: szózónakompatibilis zöld lobby-kártya */
.lobby-page .game-choice--szozona{
  background:
    radial-gradient(circle at 40% 19%,rgba(181,244,184,.16) 0 54px,transparent 55px),
    radial-gradient(circle at 74% 70%,rgba(116,220,156,.12) 0 68px,transparent 69px),
    linear-gradient(135deg,#11784d 0%,#0f6b46 56%,#0c583b 100%)!important;
  color:#f7fff8;
  box-shadow:0 20px 42px rgba(8,73,47,.28),var(--gg-shadow);
}
.lobby-page .game-choice--szozona::before{
  background:rgba(144,231,184,.14)!important;
}
.lobby-page .game-choice--szozona .game-choice-status,
.lobby-page .game-choice--szozona .game-choice-check{
  background:#eef8f0;
  color:#1f5b3b;
}
.lobby-page .game-choice--szozona p{color:#f2fff5;}
.lobby-page .game-choice--szozona .game-choice-meta span{
  background:#f6efc3;
  color:#284e38;
}
.lobby-page .game-choice--szozona .game-choice-meta span:nth-child(2){
  background:#d9f0df!important;
  color:#24533a;
}
.lobby-page .game-choice--szozona .game-choice-meta span:nth-child(3){
  background:#dff3ea!important;
  color:#22513d;
}
/* A Szózóna csempés logó maradjon hangsúlyos, de neutrálisabb tónussal */
.lobby-page .game-choice--szozona .game-choice-brand{
  height:96px;
  margin:28px 0 12px;
}
.lobby-page .game-choice--szozona .game-choice-brand img{
  height:78px;
  width:auto;
  filter:drop-shadow(0 8px 0 rgba(6,66,43,.18)) drop-shadow(0 12px 12px rgba(5,41,28,.16));
}
@media(max-width:720px){
  .lobby-page .game-choice--szozona .game-choice-brand{height:62px;margin:16px 0 8px;}
  .lobby-page .game-choice--szozona .game-choice-brand img{height:48px;}
}


/* v1.42 – lobby finomhangolás: nagyobb Szózóna logó + új Szóforgató betűgrafika */
.lobby-page .game-choice--szozona .game-choice-brand img{
  height:88px;
  filter:drop-shadow(0 8px 10px rgba(104,67,0,.14));
}
.lobby-page .game-choice--szoforgato .game-choice-name::after{
  content:none!important;
  display:none!important;
}
.lobby-page .game-choice--szoforgato .szoforgato-miniart{
  position:absolute;
  right:34px;
  bottom:42px;
  width:190px;
  height:132px;
  z-index:1;
  pointer-events:none;
}
.lobby-page .game-choice--szoforgato .szoforgato-miniart span{
  position:absolute;
  width:62px;
  height:72px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#fffaf0,#ffefcf);
  color:#263760;
  font-size:34px;
  line-height:1;
  font-weight:950;
  box-shadow:0 12px 22px rgba(66,68,103,.20), inset 0 -5px 0 rgba(220,173,91,.18);
  border:2px solid rgba(255,255,255,.85);
}
.lobby-page .game-choice--szoforgato .szoforgato-miniart span:nth-child(1){left:0;top:32px;transform:rotate(-12deg)}
.lobby-page .game-choice--szoforgato .szoforgato-miniart span:nth-child(2){left:58px;top:13px;transform:rotate(4deg)}
.lobby-page .game-choice--szoforgato .szoforgato-miniart span:nth-child(3){left:116px;top:30px;transform:rotate(12deg)}
.lobby-page .game-choice--szoforgato .szoforgato-miniart i{
  position:absolute;
  right:58px;
  bottom:-4px;
  width:54px;
  height:54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#ffd95e;
  color:#314970;
  font-style:normal;
  font-size:34px;
  font-weight:900;
  box-shadow:0 9px 18px rgba(89,67,28,.18);
  transform:rotate(-8deg);
}
@media (max-width: 760px){
  .lobby-page .game-choice--szozona .game-choice-brand img{height:78px;}
  .lobby-page .game-choice--szoforgato .szoforgato-miniart{right:18px;bottom:24px;transform:scale(.88);transform-origin:bottom right;}
}

/* v1.43 – GoGame Amőba: 15×15, 5 egy sorban */
.lobby-page a.game-choice{text-decoration:none;box-sizing:border-box}
.lobby-page .game-choice--amoba.is-playable{cursor:pointer;pointer-events:auto;transition:transform .16s ease,box-shadow .16s ease}
.lobby-page .game-choice--amoba.is-playable:hover{transform:translateY(-3px);box-shadow:0 22px 38px rgba(56,61,118,.19)}
.lobby-page .game-choice--amoba.is-playable::after{display:none}
.lobby-page .game-choice--amoba .game-choice-status.playable{background:#eef9e9;color:#2b694b}
.lobby-page .game-choice--amoba .game-choice-check{background:rgba(255,255,255,.88);color:#4d3d79}

.amoba-page{margin:0;min-height:100vh;background:linear-gradient(180deg,#dff4ff 0 170px,#fff7e7 170px 100%);color:#17356d;font-family:Inter,ui-rounded,"Nunito",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.amoba-page *{box-sizing:border-box}
.amoba-topbar{width:min(1180px,calc(100% - 28px));min-height:76px;margin:22px auto 0;padding:10px 18px;border-radius:26px;background:rgba(255,255,255,.95);box-shadow:0 10px 28px rgba(49,82,120,.12);display:flex;align-items:center;justify-content:space-between;gap:18px;position:relative;z-index:10}
.amoba-gogame img{display:block;width:142px;height:auto}
.amoba-top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.amoba-top-actions>a,.amoba-user-chip,.amoba-room-code{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:999px;background:#edf3fb;color:#213e73;text-decoration:none;font-weight:850}
.amoba-user-chip{background:#fff3c3}
.amoba-shell{width:min(1180px,calc(100% - 28px));margin:18px auto 44px}
.amoba-hero{min-height:210px;padding:28px 38px;border-radius:30px;background:linear-gradient(135deg,#7b65e3,#5949c6);color:white;box-shadow:0 16px 34px rgba(78,67,160,.17);display:flex;align-items:center;justify-content:space-between;gap:28px;overflow:hidden;position:relative}
.amoba-hero::before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.08);right:-90px;top:-110px}
.amoba-kicker{display:inline-block;font-size:14px;font-weight:950;letter-spacing:.12em;color:#fff0a9;margin-bottom:8px}
.amoba-hero h1{font-size:clamp(44px,6vw,78px);line-height:.98;letter-spacing:-.045em;margin:0 0 18px}
.amoba-hero p{font-size:20px;line-height:1.45;font-weight:700;max-width:680px;margin:0;color:rgba(255,255,255,.92)}
.amoba-rule-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.amoba-rule-pills span{padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.92);color:#493aa0;font-weight:900}
.amoba-hero-board{width:245px;min-width:245px;height:120px;display:grid;grid-template-columns:repeat(5,1fr);gap:7px;align-items:center;transform:rotate(-5deg)}
.amoba-hero-board i{font-style:normal;display:grid;place-items:center;aspect-ratio:1;border-radius:18px;background:#fff;font-size:44px;font-weight:1000;box-shadow:0 10px 15px rgba(25,24,77,.2)}
.amoba-hero-board .x{color:#6b51db}.amoba-hero-board .o{color:#ef708d}
.amoba-active-banner{margin:18px 0;padding:18px 22px;border-radius:22px;background:#fff1a9;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 8px 22px rgba(102,83,22,.1)}
.amoba-active-banner div{display:flex;flex-direction:column;gap:3px}.amoba-active-banner a{background:#284f99;color:#fff;text-decoration:none;font-weight:900;padding:11px 18px;border-radius:999px}
.amoba-lobby-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.amoba-panel{background:#fff;border:3px solid rgba(255,255,255,.8);border-radius:30px;padding:26px;box-shadow:0 15px 34px rgba(57,79,102,.12)}
.amoba-panel-head{display:flex;gap:14px;align-items:center;margin-bottom:22px}.amoba-panel-head>span{width:52px;height:52px;border-radius:17px;background:#e9e4ff;color:#6550cf;display:grid;place-items:center;font-size:28px;font-weight:900}.amoba-panel h2{margin:0;font-size:28px}.amoba-panel p{margin:3px 0 0;color:#64718a;font-weight:650}
.amoba-form{display:grid;gap:14px}.amoba-form label{display:grid;gap:7px;font-weight:900;color:#294572}.amoba-form input,.amoba-form select{width:100%;border:2px solid #dfe7f2;background:#fbfdff;border-radius:16px;padding:13px 14px;font:inherit;color:#17356d;outline:none}.amoba-form input:focus,.amoba-form select:focus{border-color:#755dd7;box-shadow:0 0 0 4px rgba(117,93,215,.12)}
.amoba-primary,.amoba-secondary,.amoba-ghost{border:0;border-radius:16px;padding:13px 18px;font:inherit;font-weight:950;cursor:pointer}.amoba-primary{background:#6550cf;color:#fff}.amoba-secondary{background:#27bca5;color:#fff}.amoba-ghost{background:#eaf0f8;color:#294572}.amoba-primary:disabled,.amoba-secondary:disabled{opacity:.55;cursor:wait}
.amoba-public-head{display:flex;justify-content:space-between;align-items:end;margin:26px 0 10px;border-top:1px solid #e8edf4;padding-top:20px}.amoba-public-head small{font-weight:900;color:#8773dc;letter-spacing:.1em}.amoba-public-head h3{margin:3px 0 0;font-size:21px}.amoba-public-head>span{font-weight:900;background:#edf4ff;border-radius:999px;padding:7px 11px}
.amoba-room-list{display:grid;gap:9px}.amoba-room-row{width:100%;border:0;background:#f4f7fb;border-radius:16px;padding:13px 15px;display:flex;justify-content:space-between;align-items:center;text-align:left;color:#294572;cursor:pointer}.amoba-room-row:hover{background:#ece9ff}.amoba-room-row span{display:grid;gap:2px}.amoba-room-row strong{font-size:16px}.amoba-room-row small{color:#748096}.amoba-room-row b{letter-spacing:.09em}.amoba-empty{padding:22px;border-radius:16px;background:#f7f9fc;color:#738095;display:grid;gap:4px;text-align:center}.amoba-error{min-height:24px;color:#c5384e;font-weight:850;text-align:center;margin:14px 0}

.amoba-game-topbar{margin-bottom:16px}.amoba-game-title{display:flex;flex-direction:column;align-items:center}.amoba-game-title strong{font-size:24px}.amoba-game-title span{font-size:13px;font-weight:800;color:#6c7890}
.amoba-game-shell{width:min(1120px,calc(100% - 20px));margin:0 auto 32px}
.amoba-scorebar{display:grid;grid-template-columns:1fr minmax(250px,.9fr) 1fr;gap:14px;align-items:stretch;margin-bottom:14px}
.amoba-player,.amoba-turn-card{background:#fff;border-radius:24px;padding:15px 18px;box-shadow:0 9px 24px rgba(60,81,108,.1);display:flex;align-items:center;gap:13px;min-height:88px;border:3px solid transparent}
.amoba-player-o{justify-content:flex-end;text-align:right}.amoba-symbol{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;font-size:42px;font-weight:1000;line-height:1}.amoba-player-x .amoba-symbol{background:#ece8ff;color:#654ed3}.amoba-player-o .amoba-symbol{background:#ffe7ed;color:#e85d7c}.amoba-player small{display:block;font-size:11px;font-weight:950;letter-spacing:.09em;color:#8993a8}.amoba-player strong{font-size:20px}.amoba-player.is-me{border-color:#f0d053}.amoba-player.is-turn{box-shadow:0 0 0 4px rgba(110,88,218,.13),0 10px 24px rgba(60,81,108,.11)}
.amoba-turn-card{flex-direction:column;justify-content:center;text-align:center;gap:3px;background:#17356d;color:#fff}.amoba-turn-card small{color:#bdd1f6;font-weight:850}.amoba-turn-card strong{font-size:22px}.amoba-turn-card span{font-size:13px;color:#e0e9fa;font-weight:650}
.amoba-board-wrap{background:#fff;border-radius:30px;padding:16px;box-shadow:0 16px 36px rgba(57,79,102,.14);overflow:hidden}
.amoba-board{width:min(82vh,850px);max-width:100%;aspect-ratio:1;margin:0 auto;display:grid;grid-template-columns:repeat(15,1fr);grid-template-rows:repeat(15,1fr);gap:2px;background:#d7c79e;border:4px solid #b99d5c;padding:3px;border-radius:18px;user-select:none;touch-action:manipulation}
.amoba-cell{min-width:0;min-height:0;border:0;border-radius:5px;background:#fff8df;color:#17356d;padding:0;display:grid;place-items:center;font-size:clamp(15px,3vw,35px);font-weight:1000;line-height:1;cursor:pointer;position:relative;transition:background .1s ease,transform .08s ease}
.amoba-cell:hover:not(:disabled){background:#fff0a8;transform:scale(.94)}.amoba-cell:disabled{cursor:default}.amoba-cell.is-x{color:#6650d5}.amoba-cell.is-o{color:#ea6481}.amoba-cell.is-last::after{content:"";position:absolute;inset:9%;border:3px solid #f0bb1f;border-radius:50%;pointer-events:none}.amoba-cell.is-win{background:#fff09a;animation:amobaWinPulse .8s ease-in-out infinite alternate}.amoba-cell.is-win::after{border-color:#ff9f1c}.amoba-board.is-busy{opacity:.78}
@keyframes amobaWinPulse{to{box-shadow:inset 0 0 0 3px #fff,0 0 12px rgba(244,176,20,.6)}}
.amoba-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:14px 18px;border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 8px 22px rgba(57,79,102,.09)}.amoba-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:#5e6d86;font-weight:750;font-size:13px}.amoba-legend i{font-style:normal;font-size:20px;font-weight:1000}.legend-x{color:#6550cf}.legend-o{color:#e85d7c}.amoba-actions{display:flex;gap:8px}.hidden{display:none!important}

@media(max-width:760px){
 .amoba-topbar{width:calc(100% - 16px);margin-top:8px;min-height:60px;border-radius:20px;padding:8px 10px}.amoba-gogame img{width:105px}.amoba-user-chip{display:none}.amoba-top-actions>a,.amoba-room-code{min-height:36px;padding:0 11px;font-size:12px}.amoba-shell{width:calc(100% - 16px);margin-top:10px}.amoba-hero{min-height:auto;padding:28px 22px;border-radius:28px}.amoba-hero-board{display:none}.amoba-hero h1{font-size:50px}.amoba-hero p{font-size:16px}.amoba-lobby-grid{grid-template-columns:1fr}.amoba-panel{padding:20px;border-radius:24px}
 .amoba-game-title{display:none}.amoba-game-shell{width:calc(100% - 8px)}.amoba-scorebar{grid-template-columns:1fr 1fr;gap:7px}.amoba-turn-card{grid-column:1/-1;grid-row:1;padding:9px 12px;min-height:62px;border-radius:17px}.amoba-player{min-height:66px;padding:8px 9px;border-radius:17px}.amoba-symbol{width:39px;height:39px;border-radius:12px;font-size:31px}.amoba-player strong{font-size:15px}.amoba-player small{font-size:9px}.amoba-board-wrap{padding:5px;border-radius:16px}.amoba-board{width:100%;gap:1px;padding:2px;border-width:3px;border-radius:10px}.amoba-cell{border-radius:2px;font-size:min(5.1vw,27px)}.amoba-cell.is-last::after{border-width:2px}.amoba-controls{margin-top:7px;padding:10px;border-radius:16px;align-items:stretch;flex-direction:column}.amoba-legend{font-size:11px;gap:8px}.amoba-actions{width:100%}.amoba-actions button{flex:1;padding:11px 10px;font-size:13px}
}


/* v1.44 – Amőba robot ellenfél */
.amoba-bot-hint{display:grid;gap:4px;padding:12px 14px;border-radius:14px;background:#fff4cf;border:1px solid #e7c66d;color:#5b4612}
.amoba-bot-hint strong{font-size:13px}
.amoba-bot-hint span{font-size:12px;line-height:1.35}
.amoba-player.is-bot{box-shadow:inset 0 0 0 2px rgba(124,76,190,.18)}
.amoba-player.is-bot small:after{content:' · BOT';color:#7c4cbe;font-weight:900}


/* v1.45 – Amőba parti chat */
.amoba-play-layout{
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:18px;
  align-items:stretch;
}
.amoba-play-layout .amoba-board-wrap{min-width:0;margin:0}
.amoba-chat-panel{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(67,84,120,.14);
  border-radius:22px;
  box-shadow:0 12px 34px rgba(44,59,88,.10);
  padding:14px;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.amoba-chat-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:2px 2px 12px;border-bottom:1px solid #e8e6ee}
.amoba-chat-head>div{display:grid;gap:2px}
.amoba-chat-head small{font-size:10px;font-weight:900;letter-spacing:.12em;color:#8c769d}
.amoba-chat-head strong{font-size:17px;color:#27324c}
.amoba-chat-head>span{font-size:11px;font-weight:800;color:#34865b;background:#e4f5e9;padding:5px 8px;border-radius:999px}
.amoba-chat-messages{
  flex:1;
  min-height:300px;
  max-height:560px;
  overflow:auto;
  padding:10px 2px;
  display:flex;
  flex-direction:column;
  gap:8px;
  overscroll-behavior:contain;
}
.amoba-chat-empty{margin:auto;text-align:center;color:#9b98a5;font-size:13px}
.amoba-chat-line{
  align-self:flex-start;
  max-width:92%;
  background:#f0eef5;
  border-radius:13px 13px 13px 4px;
  padding:8px 10px;
  color:#343247;
  overflow-wrap:anywhere;
}
.amoba-chat-line.mine{
  align-self:flex-end;
  background:#fff0c8;
  border-radius:13px 13px 4px 13px;
}
.amoba-chat-line>div{display:flex;align-items:center;gap:8px;margin-bottom:3px}
.amoba-chat-line strong{font-size:11px;color:#72657d}
.amoba-chat-line small{font-size:9px;color:#a09aaa}
.amoba-chat-line>span{font-size:13px;line-height:1.35}
.amoba-chat-form{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:7px;padding-top:10px;border-top:1px solid #e8e6ee}
.amoba-chat-form input{min-width:0;padding:10px 11px;border-radius:12px}
.amoba-chat-send{padding:0;min-width:42px;border-radius:12px;background:#d9773e;color:#fff;font-size:17px}

@media(max-width:900px){
  .amoba-play-layout{grid-template-columns:1fr}
  .amoba-chat-panel{min-height:260px}
  .amoba-chat-messages{min-height:150px;max-height:220px}
}


/* v1.47 – Amőba visszajátszható archívum */
.amoba-archive-shell,.amoba-replay-shell{width:min(1180px,calc(100% - 28px));margin:28px auto 60px}
.amoba-archive-hero{background:rgba(255,255,255,.9);border-radius:24px;padding:28px 30px;margin-bottom:18px;box-shadow:0 12px 30px rgba(43,57,89,.08)}
.amoba-archive-hero h1{margin:5px 0 7px;color:#163568;font-size:clamp(30px,4vw,48px)}
.amoba-archive-hero p{margin:0;color:#66728c}
.amoba-archive-list{display:grid;gap:12px}
.amoba-archive-card{background:#fff;border-radius:20px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 9px 25px rgba(43,57,89,.08)}
.amoba-archive-card-main{display:flex;align-items:center;gap:16px;min-width:0}
.amoba-archive-symbols{display:flex;gap:3px;font-size:24px;font-weight:1000}.amoba-archive-symbols .x{color:#6853d9}.amoba-archive-symbols .o{color:#f25d83}
.amoba-archive-code{font-size:10px;font-weight:900;letter-spacing:.12em;color:#9b819e}
.amoba-archive-card h2{margin:3px 0;font-size:19px;color:#223765}.amoba-archive-card h2 small{font-size:12px;color:#9ca4b6}
.amoba-archive-card p{margin:0;font-size:12px;color:#8b93a4}
.amoba-archive-replay{white-space:nowrap;text-decoration:none;background:#1d4079;color:#fff;font-weight:900;border-radius:13px;padding:11px 15px}
.amoba-archive-empty{background:#fff;border-radius:20px;padding:35px;text-align:center;display:grid;gap:7px;color:#66728c}.amoba-archive-empty strong{color:#243c6c;font-size:20px}

.amoba-replay-head{display:flex;align-items:end;justify-content:space-between;gap:20px;background:#fff;border-radius:22px;padding:20px 24px;margin-bottom:16px}
.amoba-replay-head h1{margin:4px 0 2px;color:#1d4079}.amoba-replay-head p{margin:0;color:#7c8497}
.amoba-replay-head-actions{display:flex;align-items:end;gap:10px}.amoba-replay-head-actions label{font-size:11px;font-weight:900;color:#6f7890}.amoba-replay-head-actions select{margin-top:4px;padding:9px 11px}
.amoba-replay-main{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px}
.amoba-replay-main .amoba-board-wrap{margin:0}
.amoba-replay-side{display:flex;flex-direction:column;gap:12px}
.amoba-replay-step,.amoba-replay-result,.amoba-replay-nav{background:#fff;border-radius:18px;padding:17px;box-shadow:0 9px 25px rgba(43,57,89,.07)}
.amoba-replay-step,.amoba-replay-result{display:grid;gap:5px}.amoba-replay-step small,.amoba-replay-result small{font-size:10px;font-weight:900;letter-spacing:.1em;color:#947b9b}.amoba-replay-step strong,.amoba-replay-result strong{font-size:23px;color:#1d4079}.amoba-replay-step span{font-size:13px;color:#69738a}
.amoba-replay-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}.amoba-replay-nav button{padding:10px;background:#edf2fa;color:#254474}
.amoba-replay-timeline{background:#fff;border-radius:18px;padding:15px 18px;margin-top:16px}.amoba-replay-timeline input{width:100%;accent-color:#d9773e}.amoba-replay-timeline div{display:flex;justify-content:space-between;font-size:11px;color:#8c93a2;margin-top:4px}
.amoba-replay-page .amoba-cell{cursor:default}
@media(max-width:850px){
  .amoba-replay-main{grid-template-columns:1fr}
  .amoba-replay-side{display:grid;grid-template-columns:1fr 1fr}.amoba-replay-nav{grid-column:1/-1}
  .amoba-replay-head{align-items:stretch;flex-direction:column}.amoba-replay-head-actions{align-items:end}
}
@media(max-width:620px){
  .amoba-archive-shell,.amoba-replay-shell{width:calc(100% - 14px);margin:10px auto 25px}
  .amoba-archive-card{align-items:stretch;flex-direction:column}.amoba-archive-replay{text-align:center}
  .amoba-replay-side{grid-template-columns:1fr}.amoba-replay-nav{grid-column:auto}
  .amoba-replay-head-actions{display:grid;grid-template-columns:1fr auto}.amoba-replay-head-actions label{min-width:0}
}


/* v1.50 – Amőba robot spinner + győzelmi animáció */
.amoba-status-line{display:flex;align-items:center;justify-content:center;gap:9px;min-height:29px}
.amoba-bot-spinner{
  width:20px;height:20px;border-radius:50%;
  border:3px solid rgba(255,255,255,.28);
  border-top-color:#ffd45c;
  border-right-color:#ffd45c;
  animation:amobaBotSpin .7s linear infinite;
  flex:0 0 20px;
}
.amoba-turn-card.is-bot-thinking{
  background:linear-gradient(135deg,#17356d,#294e92);
  box-shadow:0 0 0 4px rgba(255,212,92,.12),0 9px 24px rgba(60,81,108,.12);
}
.amoba-cell.is-pending{background:#fff1a8;animation:amobaPendingPulse .55s ease-in-out infinite alternate}
@keyframes amobaBotSpin{to{transform:rotate(360deg)}}
@keyframes amobaPendingPulse{to{box-shadow:inset 0 0 0 3px rgba(255,191,38,.55)}}

.amoba-victory-fx{
  position:fixed;inset:0;z-index:9999;pointer-events:none;
  opacity:0;visibility:hidden;overflow:hidden;
  display:grid;place-items:center;
  background:radial-gradient(circle at center,rgba(255,239,158,.28),rgba(255,255,255,0) 48%);
  transition:opacity .18s ease,visibility .18s ease;
}
.amoba-victory-fx.show{opacity:1;visibility:visible}
.amoba-victory-burst{
  position:absolute;width:min(62vw,620px);aspect-ratio:1;border-radius:50%;
  background:repeating-conic-gradient(from 0deg,rgba(255,213,74,.22) 0 7deg,rgba(255,255,255,0) 7deg 15deg);
  transform:scale(.25) rotate(-20deg);opacity:0;
}
.amoba-victory-fx.show .amoba-victory-burst{animation:amobaBurst .8s cubic-bezier(.18,.8,.25,1) forwards}
.amoba-victory-badge{
  position:relative;display:flex;align-items:center;gap:12px;
  padding:18px 28px;border-radius:999px;
  background:linear-gradient(135deg,#ffcf3b,#ff9c2f);
  color:#17356d;border:5px solid #fff;
  box-shadow:0 20px 60px rgba(95,65,0,.28);
  transform:scale(.4) rotate(-7deg);opacity:0;
}
.amoba-victory-badge strong{font-size:clamp(24px,4vw,48px);font-weight:1000;letter-spacing:.03em}
.amoba-victory-icon{font-size:clamp(27px,4.5vw,52px);animation:amobaStarSpin .9s ease-in-out}
.amoba-victory-fx.show .amoba-victory-badge{animation:amobaBadgePop 2.35s cubic-bezier(.2,.8,.22,1) forwards}
.amoba-victory-fx.is-loss .amoba-victory-badge{
  background:linear-gradient(135deg,#ece8ff,#d9d1ff);
  color:#4c3db4;
}
.amoba-victory-fx.is-loss .amoba-victory-icon{display:none}
.amoba-confetti{
  position:absolute;top:-8vh;left:var(--x);
  font-style:normal;font-size:18px;color:#ffb223;
  text-shadow:0 1px 0 rgba(255,255,255,.7);
  transform:scale(var(--scale));
  animation:amobaConfettiFall var(--dur) var(--d) cubic-bezier(.18,.64,.34,1) forwards;
}
.amoba-confetti:nth-of-type(3n){color:#6650d5}
.amoba-confetti:nth-of-type(4n){color:#ea6481}
.amoba-confetti:nth-of-type(5n){color:#26bda6}

@keyframes amobaBurst{
  0%{transform:scale(.2) rotate(-25deg);opacity:0}
  45%{opacity:1}
  100%{transform:scale(1.25) rotate(8deg);opacity:0}
}
@keyframes amobaBadgePop{
  0%{transform:scale(.35) rotate(-8deg);opacity:0}
  13%{transform:scale(1.08) rotate(2deg);opacity:1}
  22%,72%{transform:scale(1) rotate(0);opacity:1}
  100%{transform:scale(.88) translateY(-28px);opacity:0}
}
@keyframes amobaStarSpin{50%{transform:scale(1.3) rotate(180deg)}100%{transform:rotate(360deg)}}
@keyframes amobaConfettiFall{
  0%{transform:translate3d(0,-8vh,0) rotate(0) scale(var(--scale));opacity:0}
  10%{opacity:1}
  100%{transform:translate3d(calc((50vw - var(--x)) * .15),112vh,0) rotate(var(--rot)) scale(var(--scale));opacity:.92}
}

@media(max-width:760px){
  .amoba-bot-spinner{width:16px;height:16px;border-width:2px;flex-basis:16px}
  .amoba-victory-badge{padding:14px 20px;border-width:4px}
}


/* v1.51 – játékonkénti al-lobbyk */
.szozona-subpage{
  min-height:100vh;
  background:linear-gradient(180deg,#d9f1ff 0 155px,#fff6df 155px 100%);
  color:#173568;
}
.game-sub-topbar{max-width:1180px;margin:18px auto 0}
.szozona-sub-shell{width:min(1180px,calc(100% - 28px));margin:18px auto 55px}
.szozona-sub-hero{
  min-height:210px;border-radius:30px;padding:28px 38px;
  background:
    radial-gradient(circle at 91% 12%,rgba(255,255,255,.14) 0 115px,transparent 116px),
    linear-gradient(135deg,#e0a000,#ca8200);
  color:#fff;display:grid;grid-template-columns:minmax(0,1fr) 390px;align-items:center;gap:20px;
  box-shadow:0 16px 36px rgba(124,83,0,.15);overflow:hidden;position:relative;
}
.szozona-sub-kicker{font-size:13px;font-weight:1000;letter-spacing:.1em;color:#fff1a8}
.szozona-sub-logo img{width:min(300px,68%);height:auto;margin:8px 0 4px;filter:drop-shadow(0 4px 4px rgba(95,58,0,.2))}
.szozona-sub-hero h1{font-size:clamp(26px,3.5vw,42px);margin:3px 0 6px;line-height:1.02}
.szozona-sub-hero p{font-size:16px;font-weight:700;line-height:1.55;max-width:680px;margin:0}
.szozona-sub-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.szozona-sub-pills span{background:#fff3ce;color:#644700;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:900}
.szozona-sub-tiles{display:flex;align-items:center;justify-content:center;gap:6px;transform:rotate(-4deg)}
.szozona-sub-tiles i{
  width:46px;height:50px;border-radius:8px;background:#fff2c7;color:#173f2c;
  border:2px solid #f7d272;box-shadow:0 5px 0 #a76500,0 9px 20px rgba(76,42,0,.16);
  display:grid;place-items:center;font-style:normal;font-weight:1000;font-size:25px;
}
.szozona-active-banner{margin:18px 0 0}
.szozona-sub-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.szozona-room-panel{padding:25px}
.szozona-primary,.szozona-secondary{width:100%;color:#fff}
.szozona-primary{background:linear-gradient(180deg,#e5a300,#c98400)}
.szozona-secondary{background:#28b9a6}
.szozona-rule-note{display:flex;align-items:center;gap:12px;padding:11px 12px;background:#fff5d6;border:1px solid #eed38a;border-radius:13px;color:#5f4a14}
.szozona-rule-note>b{width:38px;height:38px;border-radius:11px;background:#e6a100;color:#fff;display:grid;place-items:center;font-size:18px}
.szozona-rule-note>span{display:grid;gap:2px}.szozona-rule-note small{font-size:11px;color:#7c6a3e}
.szozona-sub-tip{margin-top:16px;background:#fff;border-radius:16px;padding:13px 16px;display:flex;gap:12px;color:#66728b;box-shadow:0 8px 20px rgba(50,65,90,.05)}
.szozona-sub-tip strong{color:#173568}
.szozona-mobile-tabs{display:none}

/* Amőba játékszabály */
.amoba-help-shell{width:min(1080px,calc(100% - 28px));margin:26px auto 55px}
.amoba-help-hero{
  padding:34px 38px;border-radius:28px;
  background:linear-gradient(135deg,#765ae4,#5c49cc);color:#fff;
  box-shadow:0 14px 32px rgba(79,61,163,.14);
}
.amoba-help-hero h1{font-size:clamp(34px,5vw,58px);margin:6px 0 8px}
.amoba-help-hero p{margin:0;font-size:16px;font-weight:700;opacity:.94}
.amoba-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}
.amoba-help-grid article{background:#fff;border-radius:20px;padding:22px;box-shadow:0 9px 24px rgba(54,64,92,.07)}
.amoba-help-grid article>span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eee9ff;color:#654ed4;font-size:11px;font-weight:1000}
.amoba-help-grid h2{margin:10px 0 6px;color:#173568;font-size:20px}.amoba-help-grid p{margin:0;color:#68738c;line-height:1.55}
.amoba-help-note{margin-top:15px;background:#fff5cf;border:1px solid #ecd175;border-radius:18px;padding:17px 20px;color:#665218}
.amoba-help-note p{margin:4px 0 0}

@media(max-width:850px){
  .szozona-sub-hero{grid-template-columns:1fr;padding:30px}.szozona-sub-tiles{justify-content:flex-start}
  .szozona-sub-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .game-sub-topbar{margin:0;border-radius:0}
  .szozona-sub-shell{width:calc(100% - 14px);margin:8px auto 25px}
  .szozona-sub-hero{padding:24px 20px;border-radius:22px;min-height:0}
  .szozona-sub-logo img{width:240px;max-width:85%}
  .szozona-sub-tiles{gap:3px;transform:none}.szozona-sub-tiles i{width:38px;height:42px;font-size:18px}
  .szozona-mobile-tabs{display:grid}
  .szozona-sub-grid [data-lobby-panel]{display:none}
  .szozona-sub-grid [data-lobby-panel].mobile-active{display:block}
  .szozona-sub-tip{display:grid}
  .amoba-help-grid{grid-template-columns:1fr}
  .amoba-help-shell{width:calc(100% - 14px);margin:10px auto 25px}
  .amoba-help-hero{padding:25px 20px}
}


/* v1.52 – kompaktabb játékaloldali hero-k */
.amoba-hero h1{font-size:clamp(42px,5.2vw,72px);line-height:.98;margin:6px 0 12px}
.amoba-hero p{margin:0;font-size:16px;line-height:1.45;max-width:690px}
.amoba-rule-pills{margin-top:18px}
.amoba-hero-board i{min-height:52px}
@media(max-width:850px){
  .amoba-hero,.szozona-sub-hero{min-height:0}
}
@media(max-width:620px){
  .amoba-hero{padding:22px 20px;border-radius:22px}
  .amoba-hero h1{font-size:40px}
  .amoba-hero-board{width:190px;min-width:190px;height:86px}
  .szozona-sub-hero{padding:22px 20px}
}


/* v1.53 – Amőba komplett játékélmény */
.amoba-watch-head{margin-top:22px;padding-top:18px;border-top:1px solid #eeeaf3}
.amoba-watch-row{text-decoration:none}
.amoba-watch-row>b{color:#6d55d8}
.amoba-move-timer{display:inline-flex;align-items:center;justify-content:center;margin-top:5px;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.13);font-size:11px;font-weight:900;color:#fff}
.amoba-move-timer.is-low{background:#ffdf77;color:#7a3200;animation:amobaTimerPulse .55s ease-in-out infinite alternate}
@keyframes amobaTimerPulse{to{transform:scale(1.06)}}

.amoba-quick-reactions{display:flex;gap:5px;flex-wrap:wrap;padding:8px 0 2px}
.amoba-quick-reactions button{min-width:34px;padding:5px 7px;border-radius:10px;background:#f3effb;color:#433a68;font-size:15px}
.amoba-spectator-note{margin-top:10px;padding:10px;border-radius:12px;background:#f2f4f8;color:#7d8390;font-size:12px;text-align:center}

.amoba-end-stats{
  width:min(1180px,100%);margin:12px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px
}
.amoba-end-stats>div{background:#fff;border-radius:17px;padding:14px 17px;box-shadow:0 8px 22px rgba(42,57,88,.06);display:grid;gap:3px}
.amoba-end-stats small{font-size:9px;font-weight:1000;letter-spacing:.12em;color:#9b7ba1}
.amoba-end-stats strong{font-size:22px;color:#1d4079}.amoba-end-stats span{font-size:11px;color:#7e8798}
.amoba-control-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}

.amoba-cell.is-win{position:relative;overflow:hidden;animation:amobaWinCellPulse .7s ease-in-out infinite alternate}
.amoba-cell.is-win:after{content:'';position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.9) 50%,transparent 65%);animation:amobaWinSweep 1.05s linear infinite}
@keyframes amobaWinCellPulse{to{box-shadow:inset 0 0 0 4px #ffd34c,0 0 18px rgba(255,189,38,.65)}}
@keyframes amobaWinSweep{from{transform:translateX(-85%) rotate(10deg)}to{transform:translateX(85%) rotate(10deg)}}

.amoba-stats-shell{width:min(1100px,calc(100% - 28px));margin:26px auto 55px}
.amoba-rating-hero{background:linear-gradient(135deg,#7258df,#5545c4);color:#fff;border-radius:26px;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;gap:22px}
.amoba-rating-hero>div:first-child{display:grid;gap:3px}.amoba-rating-hero small{font-weight:1000;letter-spacing:.12em;color:#fff1a7}.amoba-rating-hero strong{font-size:54px;line-height:1}.amoba-rating-hero span{font-size:12px}
.amoba-rating-record{display:flex;gap:10px;flex-wrap:wrap}.amoba-rating-record span{background:rgba(255,255,255,.13);padding:10px 13px;border-radius:14px}.amoba-rating-record b{font-size:20px;margin-right:4px}
.amoba-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.amoba-stats-card{background:#fff;border-radius:22px;padding:22px;box-shadow:0 9px 25px rgba(43,57,89,.07)}.amoba-stats-card h2{margin:0 0 14px;color:#1d4079}
.amoba-bot-stat-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #eeeaf2}.amoba-bot-stat-row span{font-size:11px;color:#7f8797}.amoba-bot-stat-row>b{font-size:12px;color:#684fcb}
.amoba-ranking{display:grid;max-height:470px;overflow:auto}.amoba-ranking>div{display:grid;grid-template-columns:28px 1fr 60px 70px;gap:8px;padding:9px 7px;border-bottom:1px solid #edf0f5;align-items:center}.amoba-ranking>div.is-me{background:#fff4cb;border-radius:10px}.amoba-ranking small{color:#8a91a0}
@media(max-width:760px){
  .amoba-end-stats,.amoba-stats-grid{grid-template-columns:1fr}
  .amoba-rating-hero{align-items:flex-start;flex-direction:column}
}


/* v1.61 – Szózóna játékos statisztika */
.szozona-stats-topbar{max-width:1180px}
.szozona-stats-shell{width:min(1100px,calc(100% - 28px));margin:26px auto 55px}
.szozona-stats-hero{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:28px 32px;border-radius:26px;color:#fff;
  background:
    radial-gradient(circle at 91% 8%,rgba(255,255,255,.13) 0 100px,transparent 101px),
    linear-gradient(135deg,#e6a000,#c98200);
  box-shadow:0 14px 30px rgba(137,87,0,.14)
}
.szozona-stats-hero-main{display:grid;gap:3px}
.szozona-stats-hero-main small{font-size:12px;font-weight:1000;letter-spacing:.13em;color:#fff1b3}
.szozona-stats-hero-main strong{font-size:58px;line-height:1;letter-spacing:-.04em}
.szozona-stats-hero-main span{font-size:13px;font-weight:800;color:#fff6d8}
.szozona-stats-record{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.szozona-stats-record span{display:flex;align-items:baseline;gap:6px;padding:11px 14px;border-radius:15px;background:rgba(255,255,255,.17);font-size:12px;font-weight:800}
.szozona-stats-record b{font-size:22px}

.szozona-stats-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
.szozona-stats-mini-grid>div{display:grid;gap:4px;padding:16px 18px;border-radius:17px;background:#fff;box-shadow:0 9px 24px rgba(54,64,92,.06)}
.szozona-stats-mini-grid small{font-size:9px;font-weight:1000;letter-spacing:.11em;color:#b18216}
.szozona-stats-mini-grid strong{font-size:27px;color:#173568}
.szozona-stats-mini-grid span{font-size:11px;color:#818b9d}

.szozona-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.szozona-stats-card{background:#fff;border-radius:22px;padding:22px;box-shadow:0 9px 25px rgba(43,57,89,.07);min-width:0}
.szozona-stats-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.szozona-stats-card-head small{font-size:9px;font-weight:1000;letter-spacing:.12em;color:#b18216}
.szozona-stats-card-head h2{margin:3px 0 0;color:#173568;font-size:22px}
.szozona-stats-card-head a{color:#b17800;text-decoration:none;font-size:11px;font-weight:900}
.szozona-stats-empty{padding:22px;border-radius:14px;background:#f8f9fc;color:#7e899c;text-align:center}

.szozona-recent-games{display:grid}
.szozona-recent-games>a{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:11px 5px;border-bottom:1px solid #edf0f5;text-decoration:none}
.szozona-recent-games>a:hover{background:#fffaf0}
.szozona-recent-badge{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#eef1f6;color:#7a8798;font-weight:900}
.szozona-recent-badge.win{background:#fff0b9;color:#9a6900}
.szozona-recent-games strong{display:block;color:#173568;font-size:13px}
.szozona-recent-games small{display:block;margin-top:2px;color:#8a94a4;font-size:9px}
.szozona-recent-games b{color:#b07800;font-size:14px}

.szozona-ranking{display:grid;max-height:430px;overflow:auto}
.szozona-ranking>div{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;padding:10px 7px;border-bottom:1px solid #edf0f5}
.szozona-ranking>div.is-me{background:#fff3c9;border-radius:11px}
.szozona-ranking>div>span{color:#919bab;font-size:11px}
.szozona-ranking strong{color:#173568;font-size:12px}
.szozona-ranking b{color:#b17800;font-size:12px}
.szozona-ranking small{grid-column:2/4;color:#8a94a4;font-size:9px}

@media(max-width:760px){
  .szozona-stats-hero{align-items:flex-start;flex-direction:column}
  .szozona-stats-record{justify-content:flex-start}
  .szozona-stats-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .szozona-stats-shell{width:calc(100% - 14px);margin:10px auto 25px}
  .szozona-stats-hero{padding:22px 20px;border-radius:22px}
  .szozona-stats-hero-main strong{font-size:46px}
  .szozona-stats-mini-grid{grid-template-columns:1fr}
  .szozona-stats-record span{padding:9px 11px}
}


/* v1.62 – Torpedó: óceánkék / navy arculat */
.lobby-page .game-choice--torpedo{box-shadow:inset 0 0 0 1px rgba(189,229,246,.16)}

/* v1.63 – Torpedó kártya világosabb, élénkebb óceánkék */

/* v1.64 – Torpedó kártya RAL 5022 (Night blue) hangolás */
.lobby-page .game-choice--torpedo{
  background:
    radial-gradient(circle at 18% 14%, rgba(116,134,192,.18) 0 66px, transparent 67px),
    radial-gradient(circle at 72% 72%, rgba(92,144,220,.12) 0 88px, transparent 89px),
    linear-gradient(135deg, #2d3b78 0%, #253467 48%, #222d5a 100%) !important;
  color:#fff;
  box-shadow:0 20px 42px rgba(19,28,62,.24), inset 0 0 0 1px rgba(189,229,246,.16), var(--gg-shadow);
}
.lobby-page .game-choice--torpedo::before{
  background:rgba(131,166,232,.12) !important;
}
.lobby-page .game-choice--torpedo .game-choice-status,
.lobby-page .game-choice--torpedo .game-choice-check{
  background:#fff4c2;
  color:#4b3f14;
}
.lobby-page .game-choice--torpedo .game-choice-meta span{
  background:#e0ecff;
  color:#233c72;
}
.lobby-page .game-choice--torpedo .game-choice-meta span:nth-child(2){
  background:#fff1b7;
  color:#5d4c1d;
}
.lobby-page .game-choice--torpedo .torpedo-miniart{
  background:rgba(13,31,72,.40);
  border-color:rgba(214,234,255,.92);
}
.lobby-page .game-choice--torpedo .radar-line{background:#89f3d0; box-shadow:0 0 10px rgba(137,243,208,.72)}


/* v1.65 – játszható Torpedó */
.torpedo-page{margin:0;min-height:100vh;background:linear-gradient(180deg,#dff4ff 0 160px,#fff7e7 160px 100%);color:#21365f;font-family:Inter,ui-rounded,"Nunito",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.torpedo-page *{box-sizing:border-box}.torpedo-topbar{width:min(1180px,calc(100% - 28px));min-height:76px;margin:22px auto 0;padding:10px 18px;border-radius:26px;background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(49,82,120,.12);display:flex;align-items:center;justify-content:space-between;gap:18px}.torpedo-gogame img{width:142px;display:block}.torpedo-top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.torpedo-top-actions>a,.torpedo-user-chip,.torpedo-room-chip{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:999px;background:#edf3fb;color:#213e73;text-decoration:none;font-weight:850}.torpedo-user-chip{background:#fff3c3}.torpedo-room-chip{background:#e7efff}.torpedo-shell,.torpedo-game-shell{width:min(1180px,calc(100% - 28px));margin:18px auto 44px}.torpedo-hero{min-height:220px;padding:32px 38px;border-radius:30px;background:radial-gradient(circle at 83% 22%,rgba(116,134,192,.18) 0 72px,transparent 73px),linear-gradient(135deg,#2d3b78,#253467 50%,#222d5a);color:white;display:grid;grid-template-columns:1fr 300px;align-items:center;gap:20px;box-shadow:0 16px 34px rgba(26,35,77,.18)}.torpedo-hero>div:first-child>span{color:#fff0a8;font-size:12px;font-weight:1000;letter-spacing:.12em}.torpedo-hero h1{font-size:clamp(38px,5vw,62px);margin:7px 0 9px;line-height:1}.torpedo-hero p{max-width:700px;margin:0;font-weight:700;line-height:1.5}.torpedo-pills{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.torpedo-pills b{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.16);font-size:11px}.torpedo-hero-radar{width:190px;height:190px;border:4px solid rgba(213,237,255,.85);border-radius:50%;justify-self:center;position:relative;background:rgba(12,30,70,.25)}.torpedo-hero-radar:before,.torpedo-hero-radar:after{content:"";position:absolute;background:rgba(215,245,255,.32)}.torpedo-hero-radar:before{left:50%;top:0;bottom:0;width:2px}.torpedo-hero-radar:after{top:50%;left:0;right:0;height:2px}.torpedo-hero-radar i{position:absolute;left:50%;top:50%;border:2px solid rgba(215,245,255,.32);border-radius:50%;transform:translate(-50%,-50%)}.torpedo-hero-radar i:nth-child(1){width:140px;height:140px}.torpedo-hero-radar i:nth-child(2){width:92px;height:92px}.torpedo-hero-radar i:nth-child(3){width:45px;height:45px}.torpedo-hero-radar strong{position:absolute;left:50%;top:50%;font-size:42px;transform:translate(-50%,-50%);color:#8ff0cf}.torpedo-active{margin:18px 0 0;padding:14px 17px;border-radius:16px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:12px}.torpedo-active div{display:grid}.torpedo-active span{font-size:11px;color:#7c8798}.torpedo-active a{padding:9px 12px;border-radius:10px;background:#253467;color:#fff;text-decoration:none;font-weight:900}.torpedo-lobby-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.torpedo-panel{background:#fff;border-radius:24px;padding:25px;box-shadow:0 10px 28px rgba(50,67,105,.08)}.torpedo-panel-head{display:flex;gap:13px;align-items:center;margin-bottom:18px}.torpedo-panel-head>span{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#e7e9ff;color:#5e4ed4;font-size:25px;font-weight:900}.torpedo-panel-head h2{margin:0;color:#173568}.torpedo-panel-head p{margin:3px 0 0;color:#748197;font-size:12px}.torpedo-form{display:grid;gap:13px}.torpedo-form label{display:grid;gap:6px;color:#173568;font-size:12px;font-weight:900}.torpedo-form input,.torpedo-form select{width:100%;min-height:49px;border:2px solid #dde6f1;border-radius:14px;padding:0 14px;background:#fbfcfe;color:#173568;font:inherit}.torpedo-primary,.torpedo-secondary,.torpedo-ghost{min-height:46px;border:0;border-radius:13px;padding:0 15px;font-weight:950;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.torpedo-primary{background:linear-gradient(135deg,#2d3b78,#253467);color:#fff}.torpedo-secondary{background:#2cb8a7;color:#fff}.torpedo-ghost{background:#edf1f7;color:#38506f}.torpedo-primary:disabled{opacity:.45;cursor:not-allowed}.torpedo-public-head{display:flex;justify-content:space-between;align-items:end;margin-top:22px;padding-top:17px;border-top:1px solid #edf0f5}.torpedo-public-head small{color:#7c68dd;font-weight:1000;letter-spacing:.12em}.torpedo-public-head h3{margin:4px 0 0}.torpedo-public-head>span{padding:6px 9px;border-radius:999px;background:#eef2fb;font-size:11px;font-weight:900}.torpedo-room-list{display:grid;gap:7px;margin-top:10px}.torpedo-room-row{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:12px;border:0;border-radius:12px;background:#f7f9fc;text-align:left;color:#173568;cursor:pointer}.torpedo-room-row span{display:grid}.torpedo-room-row small{color:#8490a2}.torpedo-room-row b{color:#5546c8}.torpedo-empty{padding:20px;border-radius:13px;background:#f7f9fc;text-align:center;color:#7b879a;display:grid;gap:3px}.torpedo-error{color:#b8414c;font-weight:800;text-align:center}.hidden{display:none!important}
.torpedo-game-title{display:grid;text-align:center}.torpedo-game-title strong{font-size:20px}.torpedo-game-title span{font-size:11px;color:#70809b}.torpedo-status-card{padding:18px 22px;border-radius:20px;background:linear-gradient(135deg,#2d3b78,#253467);color:#fff;display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px}.torpedo-status-card small{color:#ffe89d;font-size:10px;font-weight:1000;letter-spacing:.12em}.torpedo-status-card h1{margin:4px 0 3px;font-size:26px}.torpedo-status-card p{margin:0;color:#dfe8ff;font-size:12px}.torpedo-turn-badge{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.14);font-weight:900}.torpedo-placement{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.torpedo-board-wrap{background:#fff;border-radius:22px;padding:18px;box-shadow:0 10px 26px rgba(43,58,91,.08)}.torpedo-board-wrap h2{margin:0 0 12px}.torpedo-board-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:10px}.torpedo-board-head small{color:#7b68d8;font-weight:1000;letter-spacing:.1em;font-size:9px}.torpedo-board-head h2{margin:3px 0 0}.torpedo-board-head>span{font-size:11px;font-weight:900;color:#647590}.torpedo-board{display:grid;grid-template-columns:42px repeat(10,minmax(34px,1fr));aspect-ratio:11/11;max-width:690px;margin:auto;border:4px solid #203467;border-radius:22px;padding:6px;background:linear-gradient(135deg,#2d3b78,#253467);box-shadow:inset 0 0 0 2px rgba(133,202,239,.28),0 14px 30px rgba(31,49,97,.15);overflow:hidden}.torpedo-coord{display:grid;place-items:center;color:#f1f6ff;font-weight:950;font-size:13px}.torpedo-cell{position:relative;border:1px solid rgba(116,211,246,.9);background:linear-gradient(135deg,rgba(11,109,173,.52),rgba(31,126,185,.48));color:#fff;font-size:20px;font-weight:1000;cursor:pointer;min-width:0}.torpedo-cell:hover{background:rgba(69,172,223,.7)}.torpedo-cell.ship{background:linear-gradient(135deg,#9db2c3,#dbe8ef);box-shadow:inset 0 0 0 2px rgba(255,255,255,.6);color:#18365e}.torpedo-cell.preview{background:#78d9c5!important}.torpedo-cell.preview-bad{background:#f27f87!important}.torpedo-cell.miss{background:rgba(31,106,162,.5);color:#dcefff}.torpedo-cell.hit,.torpedo-cell.sunk{background:#d8515c;color:#fff}.torpedo-cell.sunk{box-shadow:inset 0 0 0 3px #ffbc57}.torpedo-cell.sunk-ship{background:#7d8997}.torpedo-dock{background:#fff;border-radius:22px;padding:20px;box-shadow:0 10px 26px rgba(43,58,91,.08)}.torpedo-dock-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.torpedo-dock-head small{color:#7b68d8;font-weight:1000;letter-spacing:.12em}.torpedo-dock-head h2{margin:3px 0 0}.torpedo-rotate{border:0;border-radius:12px;padding:10px 12px;background:#fff0b7;color:#564413;font-weight:950;cursor:pointer}.torpedo-fleet-list{display:grid;gap:8px;margin:15px 0}.torpedo-ship-card{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:11px;border:2px solid #e6ebf2;border-radius:13px;background:#fafbfe;color:#173568;text-align:left;cursor:pointer}.torpedo-ship-card span{display:grid}.torpedo-ship-card small{color:#8692a4}.torpedo-ship-card i{font-style:normal;color:#3a5c8a;letter-spacing:1px}.torpedo-ship-card.selected{border-color:#6e5bd7;background:#f0edff}.torpedo-ship-card.placed{opacity:.55}.torpedo-placement-actions{display:grid;gap:8px}.torpedo-placement-tip{font-size:11px;line-height:1.5;color:#758399}.ready-lock{pointer-events:none;opacity:.65}.torpedo-battle{display:grid;grid-template-columns:1fr 1fr;gap:18px}.torpedo-game-actions{display:flex;justify-content:center;margin-top:12px}.torpedo-end{margin-top:14px;padding:18px 20px;border-radius:18px;background:#fff;box-shadow:0 8px 20px rgba(42,57,88,.06);display:flex;justify-content:space-between;align-items:center;gap:16px}.torpedo-end small{color:#7b68d8;font-weight:1000;letter-spacing:.12em}.torpedo-end h2{margin:3px 0;color:#173568}.torpedo-end p{margin:0;color:#7a8799}.torpedo-help{width:min(1060px,calc(100% - 28px));margin:24px auto 50px}.torpedo-help-hero{padding:28px 32px;border-radius:25px;background:linear-gradient(135deg,#2d3b78,#253467);color:#fff}.torpedo-help-hero>span{color:#fff0a8;font-weight:1000;letter-spacing:.12em}.torpedo-help-hero h1{font-size:42px;margin:5px 0}.torpedo-help-hero p{margin:0}.torpedo-help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px}.torpedo-help-grid article{background:#fff;border-radius:18px;padding:20px;box-shadow:0 8px 22px rgba(42,57,88,.06)}.torpedo-help-grid article>b{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#e8e8ff;color:#5d4fc8}.torpedo-help-grid h2{margin:9px 0 5px}.torpedo-help-grid p{margin:0;color:#6f7d92;line-height:1.5}
@media(max-width:900px){.torpedo-lobby-grid,.torpedo-placement,.torpedo-battle{grid-template-columns:1fr}.torpedo-hero{grid-template-columns:1fr}.torpedo-hero-radar{display:none}.torpedo-board{max-width:650px}.torpedo-dock{order:-1}}@media(max-width:620px){.torpedo-topbar{margin:0;border-radius:0}.torpedo-top-actions>a{padding:0 10px}.torpedo-shell,.torpedo-game-shell{width:calc(100% - 12px);margin:8px auto 25px}.torpedo-hero{padding:24px 20px;border-radius:22px;min-height:0}.torpedo-status-card{align-items:flex-start;flex-direction:column}.torpedo-board-wrap{padding:9px;border-radius:15px}.torpedo-board{grid-template-columns:28px repeat(10,minmax(24px,1fr));padding:3px;border-width:3px;border-radius:15px}.torpedo-coord{font-size:10px}.torpedo-cell{font-size:15px}.torpedo-help-grid{grid-template-columns:1fr}.torpedo-game-title{display:none}}

.lobby-page .game-choice--torpedo.is-playable{pointer-events:auto;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.lobby-page .game-choice--torpedo.is-playable:hover{transform:translateY(-3px)}.lobby-page .game-choice--torpedo.is-playable::after{display:none}.lobby-page .game-choice--torpedo .game-choice-status.playable{background:#eef9e9;color:#2b694b}.lobby-page .game-choice--torpedo .game-choice-check{background:#fff3c9;color:#5a4311}

/* v1.66 – Torpedó: a referenciafotó RAL 5022 / Night Blue tónusához igazítva.
   Referencia háttér mintaszín: RGB(34,45,90) = #222D5A. */
.lobby-page .game-choice--torpedo{
  background:
    radial-gradient(circle at 18% 14%, rgba(116,134,192,.15) 0 66px, transparent 67px),
    radial-gradient(circle at 72% 72%, rgba(100,137,205,.10) 0 88px, transparent 89px),
    linear-gradient(135deg, #2b3970 0%, #263363 38%, #222d5a 68%, #1f294f 100%) !important;
  color:#fff;
  box-shadow:0 20px 42px rgba(18,26,57,.24), inset 0 0 0 1px rgba(191,218,242,.14), var(--gg-shadow);
}
.lobby-page .game-choice--torpedo::before{background:rgba(126,153,214,.11)!important}
.lobby-page .game-choice--torpedo .torpedo-miniart{background:rgba(15,28,64,.42);border-color:rgba(216,234,250,.92)}

/* A Torpedó saját oldalai is ugyanazt a Night Blue alapszínt használják. */
.torpedo-hero,
.torpedo-status-card,
.torpedo-help-hero{
  background:
    radial-gradient(circle at 83% 22%, rgba(116,134,192,.14) 0 72px, transparent 73px),
    linear-gradient(135deg,#2b3970 0%,#263363 42%,#222d5a 100%) !important;
}
.torpedo-primary{background:linear-gradient(135deg,#2b3970,#222d5a)!important}
.torpedo-active a{background:#222d5a!important}
.torpedo-board{
  border-color:#222d5a!important;
  background:linear-gradient(135deg,#2b3970,#222d5a)!important;
}

/* === Torpedó board fidelity pass === */
.torpedo-board{
  position:relative;
  max-width:760px;
  padding:12px;
  gap:0;
  border:4px solid #264b86;
  border-radius:28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0) 18%),
    radial-gradient(circle at 25% 18%, rgba(104,198,255,.18), transparent 24%),
    radial-gradient(circle at 76% 66%, rgba(89,170,255,.13), transparent 28%),
    linear-gradient(180deg, #0e4f9d 0%, #0a4388 45%, #093b7a 100%);
  box-shadow:
    inset 0 0 0 2px rgba(138,220,255,.28),
    inset 0 12px 30px rgba(255,255,255,.06),
    0 16px 30px rgba(27,51,97,.18);
}
.torpedo-coord{
  font-size:15px;
  color:#f5fbff;
  text-shadow:0 1px 0 rgba(8,31,70,.45);
}
.torpedo-coord.corner{position:relative}
.torpedo-coord.corner::before,
.torpedo-coord.corner::after{
  content:'⚓';
  position:absolute;
  font-size:20px;
  color:#57b2ff;
  line-height:1;
}
.torpedo-coord.corner::before{top:8px;left:10px}
.torpedo-coord.corner::after{right:10px;bottom:8px;transform:rotate(180deg)}
.torpedo-cell{
  position:relative;
  margin:-1px 0 0 -1px;
  border:1px solid rgba(101,210,255,.7);
  border-radius:0;
  background:rgba(255,255,255,.015);
  overflow:hidden;
  aspect-ratio:1/1;
  font-size:21px;
  text-shadow:0 1px 0 rgba(0,0,0,.2);
}
.torpedo-cell::selection{background:transparent}
.torpedo-cell:hover{background:rgba(112,205,255,.08)}
.torpedo-cell::after{pointer-events:none}
.torpedo-cell.ship{
  background:rgba(255,255,255,.02);
  color:transparent;
}
.torpedo-cell.ship::before{
  content:'';
  position:absolute;
  inset:11% 8%;
  background:linear-gradient(180deg, #f4f8fc 0%, #dfe7ef 48%, #b2c0cf 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    inset 0 -1px 0 rgba(67,89,121,.26),
    0 1px 1px rgba(14,36,74,.18);
}
.torpedo-cell.ship::after{
  content:'';
  position:absolute;
  background:rgba(77,98,130,.33);
  border-radius:999px;
}
.torpedo-cell.ship-h.ship-head::before{border-radius:999px 8px 8px 999px}
.torpedo-cell.ship-h.ship-tail::before{border-radius:8px 999px 999px 8px}
.torpedo-cell.ship-h.ship-mid::before{border-radius:7px}
.torpedo-cell.ship-v.ship-head::before{border-radius:999px 999px 8px 8px}
.torpedo-cell.ship-v.ship-tail::before{border-radius:8px 8px 999px 999px}
.torpedo-cell.ship-v.ship-mid::before{border-radius:7px}
.torpedo-cell.ship-h::after{left:32%;right:32%;top:34%;height:32%}
.torpedo-cell.ship-v::after{top:32%;bottom:32%;left:34%;width:32%}
.torpedo-cell.ship-h.ship-head::after{left:42%;right:24%}
.torpedo-cell.ship-h.ship-tail::after{left:24%;right:42%}
.torpedo-cell.ship-v.ship-head::after{top:42%;bottom:24%}
.torpedo-cell.ship-v.ship-tail::after{top:24%;bottom:42%}
.torpedo-cell.preview{background:rgba(74,214,184,.12)!important}
.torpedo-cell.preview-bad{background:rgba(242,127,135,.18)!important}
.torpedo-cell.preview-ship::before{background:linear-gradient(180deg,#bff6ec 0%,#89e4d0 100%)}
.torpedo-cell.preview-bad::before{background:linear-gradient(180deg,#f7c2c7 0%,#f299a3 100%)}
.torpedo-cell.miss{color:#d7efff;background:rgba(255,255,255,.035)}
.torpedo-cell.hit,.torpedo-cell.sunk{color:#fff}
.torpedo-cell.hit::before{background:linear-gradient(180deg,#ff9b89 0%,#e05663 100%)}
.torpedo-cell.sunk::before{background:linear-gradient(180deg,#ff8d6f 0%,#d83b49 100%)}
.torpedo-cell.sunk{box-shadow:inset 0 0 0 2px #ffd06b}
.torpedo-cell.sunk-ship::before{background:linear-gradient(180deg,#9aa8b7 0%,#78879a 100%)}

.torpedo-fleet-list{display:grid;gap:10px;margin:15px 0}
.torpedo-ship-card{
  align-items:center;
  min-height:76px;
  background:#fbfcfe;
}
.torpedo-ship-card i{display:flex;align-items:center;justify-content:flex-end;min-width:100px}
.torpedo-ship-glyph{display:inline-flex;gap:3px;align-items:center}
.torpedo-ship-glyph .seg{
  display:block;
  width:18px;
  height:12px;
  background:linear-gradient(180deg,#cfd9e7 0%,#91a6c2 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.torpedo-ship-glyph .seg-1{border-radius:999px 3px 3px 999px}
.torpedo-ship-glyph .seg:last-child{border-radius:3px 999px 999px 3px}
.torpedo-ship-glyph .seg:not(.seg-1):not(:last-child){border-radius:3px}
.torpedo-ship-card.selected{
  border-color:#4768cd;
  background:linear-gradient(180deg,#f4f6ff 0%,#eef2ff 100%);
  box-shadow:0 6px 18px rgba(71,104,205,.12);
}
.torpedo-ship-card.placed{
  opacity:1;
  background:#f6f8fb;
}
.torpedo-ship-card.placed strong{color:#7b889e}
.torpedo-ship-card.selected strong{color:#233c72}
.torpedo-rotate{background:#fff0b7;color:#564413;box-shadow:0 8px 18px rgba(204,176,62,.18)}

@media(max-width:620px){
  .torpedo-board{padding:7px;border-radius:18px}
  .torpedo-coord{font-size:11px}
  .torpedo-cell{font-size:16px}
  .torpedo-ship-glyph .seg{width:12px;height:8px}
}

/* === v1.68 – Mockup-hű óceántábla + folyamatos hajósziluettek === */
.torpedo-board{
  display:block!important;
  position:relative!important;
  width:100%;
  max-width:760px;
  aspect-ratio:1/1!important;
  padding:0!important;
  border:0!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:url('images/torpedo-board-ocean.png') center/100% 100% no-repeat!important;
  box-shadow:0 16px 32px rgba(20,45,91,.20)!important;
}
.torpedo-grid-overlay{
  position:absolute;
  left:11.35%;
  top:9.7%;
  width:77.85%;
  height:79.2%;
  display:grid;
  grid-template-columns:repeat(10,1fr);
  grid-template-rows:repeat(10,1fr);
  z-index:2;
}
.torpedo-cell{
  position:relative;
  z-index:2;
  width:100%;height:100%;
  min-width:0;
  margin:0!important;
  padding:0;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff;
  cursor:pointer;
  overflow:visible;
}
.torpedo-cell:hover{background:rgba(115,216,255,.13)!important}
.torpedo-cell.preview{background:rgba(75,219,185,.17)!important}
.torpedo-cell.preview-bad{background:rgba(255,103,112,.18)!important}
.torpedo-cell.miss{
  background:rgba(255,255,255,.05)!important;
  color:#e6f6ff!important;
  font-size:28px!important;
  text-shadow:0 1px 8px rgba(0,0,0,.25);
}
.torpedo-cell.hit,.torpedo-cell.sunk{
  z-index:5;
  background:rgba(212,57,71,.22)!important;
  color:#fff!important;
  font-size:30px!important;
  text-shadow:0 2px 8px rgba(91,15,24,.55);
}
.torpedo-cell.sunk{box-shadow:inset 0 0 0 2px rgba(255,210,99,.8)!important}
.torpedo-coord{display:none!important}

.torpedo-ship-silhouette{
  position:relative;
  z-index:3;
  align-self:center;
  justify-self:stretch;
  pointer-events:none;
  overflow:visible;
  filter:drop-shadow(0 3px 3px rgba(8,25,57,.28));
}
.torpedo-ship-silhouette.horizontal{height:58%;margin:0 5%}
.torpedo-ship-silhouette.vertical{width:58%;height:auto;justify-self:center;align-self:stretch;margin:5% 0}
.torpedo-ship-silhouette::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,#f6f9fc 0%,#d9e3ec 52%,#a6b6c7 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(69,88,116,.28);
}
.torpedo-ship-silhouette.horizontal::before{border-radius:999px 18px 18px 999px;clip-path:polygon(0 50%,8% 12%,91% 12%,100% 50%,91% 88%,8% 88%)}
.torpedo-ship-silhouette.vertical::before{border-radius:18px 18px 999px 999px;clip-path:polygon(50% 0,88% 8%,88% 91%,50% 100%,12% 91%,12% 8%)}
.torpedo-ship-silhouette .ship-deck,
.torpedo-ship-silhouette .ship-tower,
.torpedo-ship-silhouette .ship-bow,
.torpedo-ship-silhouette .ship-stern{position:absolute;display:block}
.torpedo-ship-silhouette.horizontal .ship-deck{left:18%;right:19%;top:30%;height:40%;border-radius:999px;background:#8fa1b7}
.torpedo-ship-silhouette.horizontal .ship-tower{left:48%;top:18%;width:12%;height:64%;border-radius:6px;background:#6f8198;box-shadow:8px 0 0 rgba(111,129,152,.55)}
.torpedo-ship-silhouette.horizontal .ship-bow{left:8%;top:39%;width:10%;height:22%;border-radius:999px;background:#778ba3}
.torpedo-ship-silhouette.horizontal .ship-stern{right:8%;top:38%;width:8%;height:24%;border-radius:4px;background:#778ba3}
.torpedo-ship-silhouette.vertical .ship-deck{top:18%;bottom:19%;left:30%;width:40%;border-radius:999px;background:#8fa1b7}
.torpedo-ship-silhouette.vertical .ship-tower{top:48%;left:18%;height:12%;width:64%;border-radius:6px;background:#6f8198;box-shadow:0 8px 0 rgba(111,129,152,.55)}
.torpedo-ship-silhouette.vertical .ship-bow{top:8%;left:39%;height:10%;width:22%;border-radius:999px;background:#778ba3}
.torpedo-ship-silhouette.vertical .ship-stern{bottom:8%;left:38%;height:8%;width:24%;border-radius:4px;background:#778ba3}
.torpedo-ship-silhouette.preview{opacity:.78}
.torpedo-ship-silhouette.preview::before{background:linear-gradient(180deg,#cbfff4 0%,#7fe4cd 100%)}
.torpedo-ship-silhouette.is-sunk{opacity:.58;filter:grayscale(.5) drop-shadow(0 3px 3px rgba(8,25,57,.22))}
.torpedo-ship-silhouette.is-sunk::before{background:linear-gradient(180deg,#8e9baa 0%,#6c7888 100%)}

@media(max-width:620px){
  .torpedo-board{border-radius:18px!important}
  .torpedo-cell.miss{font-size:20px!important}
  .torpedo-cell.hit,.torpedo-cell.sunk{font-size:22px!important}
  .torpedo-ship-silhouette.horizontal{height:62%;margin:0 3%}
  .torpedo-ship-silhouette.vertical{width:62%;margin:3% 0}
}


/* === v1.69 – Torpedó: pontos cella-rács, RAL 5022 óceán, új hajóprofil === */
.torpedo-board{
  display:grid!important;
  grid-template-columns:48px repeat(10,minmax(0,1fr))!important;
  grid-template-rows:48px repeat(10,minmax(0,1fr))!important;
  position:relative!important;
  width:100%!important;
  max-width:760px!important;
  aspect-ratio:1/1!important;
  padding:10px!important;
  gap:0!important;
  border:4px solid #31447f!important;
  border-radius:26px!important;
  overflow:hidden!important;
  background:
    linear-gradient(rgba(34,45,90,.74),rgba(34,45,90,.74)),
    url('images/torpedo-board-ocean.png') center/cover no-repeat!important;
  box-shadow:
    inset 0 0 0 2px rgba(112,193,235,.20),
    0 16px 32px rgba(24,35,74,.20)!important;
}
.torpedo-grid-overlay{display:none!important}
.torpedo-coord{
  display:grid!important;
  place-items:center!important;
  color:#f4f7ff!important;
  font-size:14px!important;
  font-weight:950!important;
  text-shadow:0 1px 2px rgba(7,17,48,.55);
  user-select:none;
}
.torpedo-coord.corner{
  position:relative;
}
.torpedo-coord.corner::before{
  content:'⚓';
  color:#69b8e8;
  font-size:20px;
  opacity:.9;
}
.torpedo-cell{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(85,204,247,.72)!important;
  border-radius:0!important;
  background:rgba(20,89,148,.28)!important;
  color:#fff!important;
  overflow:visible!important;
  cursor:default;
  touch-action:manipulation;
}
.torpedo-cell:hover{
  background:rgba(84,177,220,.20)!important;
}
.torpedo-board.enemy .torpedo-cell.is-target{
  cursor:crosshair!important;
}
.torpedo-board.enemy.can-fire .torpedo-cell.is-target:hover{
  background:rgba(123,221,255,.30)!important;
  box-shadow:inset 0 0 0 2px rgba(197,243,255,.42);
}
.torpedo-cell.preview{
  background:rgba(88,215,185,.18)!important;
}
.torpedo-cell.preview-bad{
  background:rgba(255,95,110,.22)!important;
}
.torpedo-cell.miss{
  background:rgba(255,255,255,.04)!important;
  color:#e4f6ff!important;
  font-size:28px!important;
}
.torpedo-cell.hit,
.torpedo-cell.sunk{
  background:rgba(209,61,75,.22)!important;
  color:#fff!important;
  font-size:28px!important;
  z-index:5!important;
}
.torpedo-cell.sunk{
  box-shadow:inset 0 0 0 2px rgba(255,209,100,.85)!important;
}

/* A hajó közvetlenül a cellákban él, ezért soha nem tud elcsúszni a rácshoz képest. */
.torpedo-cell.ship::before{
  content:'';
  position:absolute;
  z-index:2;
  background:linear-gradient(180deg,#eef3f7 0%,#c5d0db 58%,#8ea0b4 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -1px 0 rgba(48,67,94,.25),
    0 2px 3px rgba(8,25,57,.24);
  pointer-events:none;
}
.torpedo-cell.ship::after{
  content:'';
  position:absolute;
  z-index:3;
  background:#71849a;
  box-shadow:0 0 0 1px rgba(255,255,255,.15);
  pointer-events:none;
}

/* vízszintes hajótest */
.torpedo-cell.ship-h::before{
  left:-1px;right:-1px;top:25%;bottom:25%;
}
.torpedo-cell.ship-h.ship-head::before{
  left:8%;border-radius:999px 4px 4px 999px;
  clip-path:polygon(0 50%,24% 7%,100% 7%,100% 93%,24% 93%);
}
.torpedo-cell.ship-h.ship-mid::before{border-radius:2px}
.torpedo-cell.ship-h.ship-tail::before{
  right:8%;border-radius:4px 16px 16px 4px;
  clip-path:polygon(0 7%,82% 7%,100% 25%,100% 75%,82% 93%,0 93%);
}
.torpedo-cell.ship-h::after{
  left:27%;right:27%;top:37%;height:26%;border-radius:999px;
}
.torpedo-cell.ship-h.ship-head::after{left:45%;right:18%}
.torpedo-cell.ship-h.ship-tail::after{left:18%;right:45%}

/* függőleges hajótest */
.torpedo-cell.ship-v::before{
  top:-1px;bottom:-1px;left:25%;right:25%;
}
.torpedo-cell.ship-v.ship-head::before{
  top:8%;border-radius:999px 999px 4px 4px;
  clip-path:polygon(50% 0,93% 24%,93% 100%,7% 100%,7% 24%);
}
.torpedo-cell.ship-v.ship-mid::before{border-radius:2px}
.torpedo-cell.ship-v.ship-tail::before{
  bottom:8%;border-radius:4px 4px 16px 16px;
  clip-path:polygon(7% 0,93% 0,93% 82%,75% 100%,25% 100%,7% 82%);
}
.torpedo-cell.ship-v::after{
  top:27%;bottom:27%;left:37%;width:26%;border-radius:999px;
}
.torpedo-cell.ship-v.ship-head::after{top:45%;bottom:18%}
.torpedo-cell.ship-v.ship-tail::after{top:18%;bottom:45%}

/* hajótípusok: finom profilkülönbség */
.torpedo-cell.ship-key-carrier::before{top:21%;bottom:21%}
.torpedo-cell.ship-v.ship-key-carrier::before{left:21%;right:21%;top:-1px;bottom:-1px}
.torpedo-cell.ship-key-submarine::before{top:31%;bottom:31%}
.torpedo-cell.ship-v.ship-key-submarine::before{left:31%;right:31%;top:-1px;bottom:-1px}
.torpedo-cell.ship-key-destroyer::after{opacity:.75}
.torpedo-cell.preview-ship::before{
  background:linear-gradient(180deg,#c8fff3 0%,#84e7d0 100%)!important;
}
.torpedo-cell.preview-ship::after{
  background:#4fae9d!important;
}
.torpedo-cell.sunk-ship::before{
  background:linear-gradient(180deg,#9aa7b5 0%,#6f7e90 100%)!important;
  filter:grayscale(.4);
}
.torpedo-cell.hit::before,
.torpedo-cell.sunk::before{
  filter:saturate(.65) brightness(.83);
}

/* listaikonok is hajóformát kapnak */
.torpedo-ship-glyph{gap:0!important}
.torpedo-ship-glyph .seg{
  width:18px!important;height:10px!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#c9d4e1,#8ea2ba)!important;
}
.torpedo-ship-glyph .seg:first-child{
  border-radius:999px 2px 2px 999px!important;
  clip-path:polygon(0 50%,32% 0,100% 0,100% 100%,32% 100%);
}
.torpedo-ship-glyph .seg:last-child{
  border-radius:2px 10px 10px 2px!important;
}

@media(max-width:620px){
  .torpedo-board{
    grid-template-columns:30px repeat(10,minmax(0,1fr))!important;
    grid-template-rows:30px repeat(10,minmax(0,1fr))!important;
    padding:6px!important;
    border-width:3px!important;
    border-radius:18px!important;
  }
  .torpedo-coord{font-size:10px!important}
  .torpedo-cell.miss,.torpedo-cell.hit,.torpedo-cell.sunk{font-size:19px!important}
}


/* === v1.70 Torpedó vizuális tuning === */
.torpedo-board{
  background:
    linear-gradient(rgba(34,45,90,.56),rgba(34,45,90,.56)),
    url('images/torpedo-board-ocean.png') center/cover no-repeat!important;
  border-color:#31447f!important;
  box-shadow:inset 0 0 0 2px rgba(122,213,255,.22),0 16px 34px rgba(22,32,66,.20)!important;
}
.torpedo-crosshair{
  position:absolute;
  z-index:24;
  pointer-events:none;
  opacity:0;
  transition:opacity .08s ease;
}
.torpedo-crosshair-h{
  left:8px;
  right:8px;
  top:var(--cross-y, -999px);
  height:2px;
  transform:translateY(-50%);
  background:linear-gradient(90deg, rgba(255,255,255,.05), rgba(168,234,255,.95) 14%, rgba(255,255,255,.95) 50%, rgba(168,234,255,.95) 86%, rgba(255,255,255,.05));
  box-shadow:0 0 12px rgba(122,225,255,.72);
}
.torpedo-crosshair-v{
  top:8px;
  bottom:8px;
  left:var(--cross-x, -999px);
  width:2px;
  transform:translateX(-50%);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(168,234,255,.95) 14%, rgba(255,255,255,.95) 50%, rgba(168,234,255,.95) 86%, rgba(255,255,255,.05));
  box-shadow:0 0 12px rgba(122,225,255,.72);
}
.torpedo-board.crosshair-on .torpedo-crosshair{opacity:1}
.torpedo-cell.crosshair-cell{
  z-index:25!important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.98), 0 0 0 2px rgba(127,221,255,.55), 0 0 18px rgba(127,221,255,.48)!important;
}
.torpedo-board.enemy.can-fire .torpedo-cell.is-target:hover{
  background:rgba(119,203,242,.20)!important;
}

/* Feltűnőbb találatok és bombatölcsér */
.torpedo-cell.miss,
.torpedo-cell.hit,
.torpedo-cell.sunk{
  font-size:0!important;
}
.torpedo-cell.miss::before,
.torpedo-cell.miss::after,
.torpedo-cell.hit::before,
.torpedo-cell.hit::after,
.torpedo-cell.sunk::before,
.torpedo-cell.sunk::after{
  content:'';
  position:absolute;
  pointer-events:none;
}
.torpedo-cell.miss::before{
  inset:18%;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 48%, rgba(5,14,29,.98) 0 24%, rgba(35,57,87,.96) 25% 38%, rgba(147,227,255,.58) 39% 44%, rgba(17,31,52,.98) 45% 56%, rgba(182,239,255,.24) 57% 64%, transparent 65%);
  box-shadow:0 0 0 2px rgba(181,235,255,.20), 0 0 16px rgba(0,0,0,.20);
}
.torpedo-cell.miss::after{
  inset:8%;
  border-radius:50%;
  background:
    radial-gradient(circle at 30% 32%, rgba(255,255,255,.48) 0 2px, transparent 3px),
    radial-gradient(circle at 74% 62%, rgba(255,255,255,.30) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 42% 76%, rgba(255,255,255,.25) 0 1.5px, transparent 2.5px);
}
.torpedo-cell.hit::before,
.torpedo-cell.sunk::before{
  inset:6%;
  border-radius:50%;
  background:
    radial-gradient(circle, #fff8d9 0 12%, #ffd257 13% 24%, #ff8b4c 25% 43%, #de434f 44% 61%, rgba(222,67,79,.12) 62% 100%);
  box-shadow:0 0 22px rgba(255,101,68,.72);
}
.torpedo-cell.hit::after,
.torpedo-cell.sunk::after{
  content:'✹';
  inset:0;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:28px;
  font-weight:900;
  text-shadow:0 0 10px rgba(255,75,54,.88), 0 2px 0 rgba(111,20,21,.72);
}
.torpedo-cell.sunk::before{
  box-shadow:0 0 0 2px rgba(255,222,121,.9), 0 0 28px rgba(255,199,87,.72);
}
.torpedo-cell.sunk::after{
  content:'✸';
  color:#fff6cc;
  text-shadow:0 0 10px rgba(255,192,64,.95), 0 2px 0 rgba(93,55,0,.65);
}

/* Meggyőzőbb felülnézeti hajók */
.torpedo-cell.ship::before{
  background:linear-gradient(180deg, #f6fbff 0%, #d9e2eb 50%, #a0b1c3 100%)!important;
  border:1px solid rgba(103,117,136,.35);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(58,72,94,.22),
    0 2px 4px rgba(8,25,57,.22)!important;
}
.torpedo-cell.ship::after{
  background:linear-gradient(180deg,#8194aa 0%,#617286 100%)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.20), 0 1px 1px rgba(16,31,51,.22)!important;
}
.torpedo-cell.ship-h.ship-head::before{
  left:5%!important;
  right:-1px!important;
  clip-path:polygon(0 50%,20% 6%,100% 6%,100% 94%,20% 94%)!important;
}
.torpedo-cell.ship-h.ship-tail::before{
  left:-1px!important;
  right:5%!important;
  clip-path:polygon(0 6%,80% 6%,100% 24%,100% 76%,80% 94%,0 94%)!important;
}
.torpedo-cell.ship-v.ship-head::before{
  top:5%!important;
  bottom:-1px!important;
  clip-path:polygon(50% 0,94% 20%,94% 100%,6% 100%,6% 20%)!important;
}
.torpedo-cell.ship-v.ship-tail::before{
  top:-1px!important;
  bottom:5%!important;
  clip-path:polygon(6% 0,94% 0,94% 80%,74% 100%,26% 100%,6% 80%)!important;
}
.torpedo-cell.ship-key-carrier.ship-h::after{left:18%!important;right:18%!important;top:32%!important;height:36%!important;border-radius:9px!important}
.torpedo-cell.ship-key-carrier.ship-v::after{top:18%!important;bottom:18%!important;left:32%!important;width:36%!important;border-radius:9px!important}
.torpedo-cell.ship-key-battleship.ship-h::after{left:27%!important;right:27%!important;top:36%!important;height:28%!important}
.torpedo-cell.ship-key-battleship.ship-v::after{top:27%!important;bottom:27%!important;left:36%!important;width:28%!important}
.torpedo-cell.ship-key-cruiser::after{background:linear-gradient(180deg,#7386a0,#5a6a80)!important}
.torpedo-cell.ship-key-submarine::before{background:linear-gradient(180deg,#e1e7ee 0%,#b5c1ce 56%,#8b9aae 100%)!important}
.torpedo-cell.ship-key-submarine.ship-h::after{left:35%!important;right:35%!important;top:40%!important;height:20%!important;border-radius:999px!important}
.torpedo-cell.ship-key-submarine.ship-v::after{top:35%!important;bottom:35%!important;left:40%!important;width:20%!important;border-radius:999px!important}
.torpedo-cell.ship-key-destroyer::before{filter:saturate(1.02) brightness(1.02)}
.torpedo-cell.preview-ship::before{background:linear-gradient(180deg,#dbfff7 0%,#95eed9 100%)!important;border-color:rgba(56,135,120,.26)!important}
.torpedo-cell.preview-ship::after{background:linear-gradient(180deg,#69baa9,#449787)!important}

@media(max-width:620px){
  .torpedo-crosshair-h{left:6px;right:6px}
  .torpedo-crosshair-v{top:6px;bottom:6px}
  .torpedo-cell.hit::after,.torpedo-cell.sunk::after{font-size:22px}
}


/* === v1.71 Torpedó: elsüllyedt hajó effekt === */
@keyframes torpedoSmokeDrift {
  0% { transform: translateY(2px) scale(.92); opacity: .58; }
  50% { transform: translateY(-4px) scale(1.03); opacity: .82; }
  100% { transform: translateY(-9px) scale(1.12); opacity: .22; }
}

.torpedo-cell.sunk,
.torpedo-cell.sunk-ship {
  background: linear-gradient(180deg, rgba(41,31,58,.88) 0%, rgba(23,20,32,.96) 100%) !important;
  box-shadow:
    inset 0 0 0 2px rgba(255,198,79,.95),
    inset 0 0 18px rgba(0,0,0,.42),
    0 0 18px rgba(255,173,73,.16) !important;
}

/* fekete / sötét sziluett */
.torpedo-cell.sunk::before,
.torpedo-cell.sunk-ship::before {
  content: '' !important;
  position: absolute;
  inset: 13% 16%;
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(76,81,95,.98) 0%, rgba(33,37,47,.98) 38%, rgba(12,15,23,.99) 100%) !important;
  border: 1px solid rgba(205,217,233,.18);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 -1px 0 rgba(0,0,0,.45),
    0 2px 6px rgba(0,0,0,.28);
}

/* füst */
.torpedo-cell.sunk::after,
.torpedo-cell.sunk-ship::after {
  content: '' !important;
  position: absolute;
  left: 8%;
  right: 4%;
  top: -14%;
  bottom: 18%;
  pointer-events: none;
  background:
    radial-gradient(circle at 22% 74%, rgba(68,68,76,.88) 0 10%, rgba(104,104,114,.54) 11% 18%, transparent 19%),
    radial-gradient(circle at 34% 48%, rgba(86,86,94,.82) 0 12%, rgba(137,137,147,.46) 13% 20%, transparent 21%),
    radial-gradient(circle at 51% 26%, rgba(74,74,81,.70) 0 14%, rgba(140,140,150,.34) 15% 24%, transparent 25%),
    radial-gradient(circle at 65% 16%, rgba(66,66,73,.50) 0 10%, rgba(126,126,136,.22) 11% 18%, transparent 19%),
    radial-gradient(circle at 80% 40%, rgba(58,58,64,.48) 0 9%, rgba(120,120,132,.20) 10% 18%, transparent 19%);
  filter: blur(.2px);
  animation: torpedoSmokeDrift 1.8s ease-in-out infinite alternate;
  opacity: .78;
}

/* maradjon látszódó találatjel a teljesen elsüllyedt hajón is */
.torpedo-cell.sunk[data-result="sunk"] {
  color: transparent !important;
}
.torpedo-cell.sunk[data-result="sunk"] > * { opacity: 0; }
.torpedo-cell.sunk[data-result="sunk"]::marker { color: transparent; }

/* saját táblán az elsüllyedt hajó legyen egyértelműbb */
.torpedo-cell.sunk-ship {
  outline: 2px solid rgba(255,191,84,.92);
  outline-offset: -2px;
}

/* ha elsüllyedt, a találat X is kapjon kontrasztos felső réteget */
.torpedo-cell.sunk[data-result="sunk"] .torpedo-hit-glyph,
.torpedo-cell.sunk[data-result="sunk"] .torpedo-sunk-glyph { display:none; }
.torpedo-cell.sunk[data-result="sunk"]::selection { background: transparent; }

/* felülírjuk a korábbi, túl világos sunk effekteket */
.torpedo-cell.sunk[data-result="sunk"]::before {
  z-index: 1;
}
.torpedo-cell.sunk[data-result="sunk"]::after {
  z-index: 3;
}
.torpedo-cell.sunk[data-result="sunk"] {
  position: relative;
}
.torpedo-cell.sunk[data-result="sunk"]:not(.ship-head):not(.ship-tail) {
  border-color: rgba(255,191,84,.85) !important;
}

/* külön kis becsapódási fény, hogy a süllyedt részek se legyenek unalmasak */
.torpedo-cell.sunk[data-result="sunk"] span,
.torpedo-cell.sunk-ship span { display:none !important; }
.torpedo-cell.sunk[data-result="sunk"] .dummy,
.torpedo-cell.sunk-ship .dummy { display:none !important; }
.torpedo-cell.sunk[data-result="sunk"]::part(hit) { display:none; }
.torpedo-cell.sunk[data-result="sunk"] .x{display:none;}

.torpedo-cell.sunk[data-result="sunk"] .overlay,
.torpedo-cell.sunk-ship .overlay { display:none !important; }

/* opcionális felső kereszt jelzés pseudo rétegként */
.torpedo-cell.sunk[data-result="sunk"]::before,
.torpedo-cell.sunk-ship::before {
  z-index: 2;
}
.torpedo-cell.sunk[data-result="sunk"]::after,
.torpedo-cell.sunk-ship::after {
  z-index: 4;
}
.torpedo-cell.sunk[data-result="sunk"] {
  isolation: isolate;
}
.torpedo-cell.sunk[data-result="sunk"]:where(*)::selection { background: transparent; }

/* plusz X jel a süllyedt ellenfél-hajón */
.torpedo-cell.sunk[data-result="sunk"] .torpedo-sunk-x { display:none; }
.torpedo-cell.sunk[data-result="sunk"] {
  text-shadow: none !important;
}
.torpedo-cell.sunk[data-result="sunk"]::before,
.torpedo-cell.sunk[data-result="sunk"]::after,
.torpedo-cell.sunk-ship::before,
.torpedo-cell.sunk-ship::after { pointer-events:none; }
.torpedo-cell.sunk[data-result="sunk"] {
  font-size: 0 !important;
}
.torpedo-cell.sunk[data-result="sunk"]::before {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 -1px 0 rgba(0,0,0,.45),
    0 2px 6px rgba(0,0,0,.28),
    0 0 0 1px rgba(255,210,122,.20);
}
.torpedo-cell.sunk[data-result="sunk"] .none { display:none; }

/* a becsapódás jele */
.torpedo-cell.sunk[data-result="sunk"] > .torpedo-hit,
.torpedo-cell.sunk-ship > .torpedo-hit { display:none !important; }
.torpedo-cell.sunk[data-result="sunk"]::selection { color: transparent; }

.torpedo-cell.sunk[data-result="sunk"]::before,
.torpedo-cell.sunk-ship::before {
  background:
    linear-gradient(180deg, rgba(84,89,103,.98) 0%, rgba(39,42,52,.99) 44%, rgba(15,16,23,.99) 100%) !important;
}

/* kis fehér/piros X overlay a süllyedt ellenfél szegmenseken */
.torpedo-cell.sunk[data-result="sunk"]::after {
  background:
    radial-gradient(circle at 22% 74%, rgba(68,68,76,.88) 0 10%, rgba(104,104,114,.54) 11% 18%, transparent 19%),
    radial-gradient(circle at 34% 48%, rgba(86,86,94,.82) 0 12%, rgba(137,137,147,.46) 13% 20%, transparent 21%),
    radial-gradient(circle at 51% 26%, rgba(74,74,81,.70) 0 14%, rgba(140,140,150,.34) 15% 24%, transparent 25%),
    linear-gradient(45deg, transparent 45%, rgba(255,244,244,.98) 45%, rgba(255,244,244,.98) 50%, transparent 50%, transparent 55%, rgba(255,244,244,.98) 55%, rgba(255,244,244,.98) 60%, transparent 60%),
    linear-gradient(-45deg, transparent 45%, rgba(255,244,244,.98) 45%, rgba(255,244,244,.98) 50%, transparent 50%, transparent 55%, rgba(255,244,244,.98) 55%, rgba(255,244,244,.98) 60%, transparent 60%),
    radial-gradient(circle at 80% 40%, rgba(58,58,64,.48) 0 9%, rgba(120,120,132,.20) 10% 18%, transparent 19%);
  background-repeat: no-repeat;
  background-size: auto, auto, auto, 54% 54%, 54% 54%, auto;
  background-position: center center;
}


/* === v1.72 Torpedó: erősebb elsüllyedt effekt (füst + parázs) === */
@keyframes torpedoBurnPulse {
  0% { box-shadow: inset 0 0 0 2px rgba(255,187,82,.96), inset 0 0 18px rgba(0,0,0,.42), 0 0 10px rgba(255,136,40,.18); }
  50% { box-shadow: inset 0 0 0 2px rgba(255,210,104,.98), inset 0 0 22px rgba(0,0,0,.48), 0 0 18px rgba(255,136,40,.28); }
  100% { box-shadow: inset 0 0 0 2px rgba(255,173,70,.94), inset 0 0 18px rgba(0,0,0,.42), 0 0 12px rgba(255,136,40,.20); }
}

@keyframes torpedoSmokeHeavy {
  0% { transform: translateY(2px) scale(.95); opacity: .78; }
  50% { transform: translateY(-4px) scale(1.03); opacity: .94; }
  100% { transform: translateY(-10px) scale(1.12); opacity: .36; }
}

.torpedo-cell.sunk,
.torpedo-cell.sunk-ship {
  animation: torpedoBurnPulse 1.6s ease-in-out infinite;
}

.torpedo-cell.sunk::before,
.torpedo-cell.sunk-ship::before {
  background:
    linear-gradient(180deg, rgba(89,96,110,.98) 0%, rgba(43,47,58,.99) 40%, rgba(14,16,24,.99) 100%) !important;
  border-color: rgba(255,214,132,.20);
}

.torpedo-cell.sunk::after,
.torpedo-cell.sunk-ship::after {
  content: '' !important;
  position: absolute;
  inset: -18% -6% 6% -6%;
  pointer-events: none;
  background:
    radial-gradient(circle at 24% 76%, rgba(58,58,66,.96) 0 12%, rgba(104,104,114,.58) 13% 21%, transparent 22%),
    radial-gradient(circle at 40% 46%, rgba(72,72,80,.92) 0 12%, rgba(140,140,150,.54) 13% 22%, transparent 23%),
    radial-gradient(circle at 58% 20%, rgba(64,64,74,.84) 0 11%, rgba(136,136,148,.42) 12% 20%, transparent 21%),
    radial-gradient(circle at 74% 38%, rgba(54,54,62,.72) 0 9%, rgba(124,124,136,.28) 10% 18%, transparent 19%),
    radial-gradient(circle at 34% 86%, rgba(255,176,68,.90) 0 5%, rgba(255,118,30,.54) 6% 10%, transparent 11%),
    radial-gradient(circle at 49% 77%, rgba(255,205,96,.88) 0 4%, rgba(255,112,24,.50) 5% 9%, transparent 10%),
    radial-gradient(circle at 66% 84%, rgba(255,165,62,.84) 0 5%, rgba(255,96,18,.46) 6% 10%, transparent 11%),
    linear-gradient(45deg, transparent 44%, rgba(255,246,246,.98) 44%, rgba(255,246,246,.98) 49%, transparent 49%, transparent 51%, rgba(255,246,246,.98) 51%, rgba(255,246,246,.98) 56%, transparent 56%),
    linear-gradient(-45deg, transparent 44%, rgba(255,246,246,.98) 44%, rgba(255,246,246,.98) 49%, transparent 49%, transparent 51%, rgba(255,246,246,.98) 51%, rgba(255,246,246,.98) 56%, transparent 56%);
  background-repeat: no-repeat;
  background-size: auto, auto, auto, auto, auto, auto, auto, 56% 56%, 56% 56%;
  background-position: center center;
  opacity: .95;
  animation: torpedoSmokeHeavy 1.7s ease-in-out infinite alternate;
  z-index: 4;
}

/* saját táblán kevésbé legyen X-es, inkább füstös elsüllyedt hajó */
.torpedo-own-board .torpedo-cell.sunk-ship::after,
.torpedo-board--own .torpedo-cell.sunk-ship::after,
.board-own .torpedo-cell.sunk-ship::after {
  background:
    radial-gradient(circle at 24% 76%, rgba(58,58,66,.96) 0 12%, rgba(104,104,114,.58) 13% 21%, transparent 22%),
    radial-gradient(circle at 40% 46%, rgba(72,72,80,.92) 0 12%, rgba(140,140,150,.54) 13% 22%, transparent 23%),
    radial-gradient(circle at 58% 20%, rgba(64,64,74,.84) 0 11%, rgba(136,136,148,.42) 12% 20%, transparent 21%),
    radial-gradient(circle at 74% 38%, rgba(54,54,62,.72) 0 9%, rgba(124,124,136,.28) 10% 18%, transparent 19%),
    radial-gradient(circle at 34% 86%, rgba(255,176,68,.92) 0 5%, rgba(255,118,30,.58) 6% 10%, transparent 11%),
    radial-gradient(circle at 49% 77%, rgba(255,205,96,.90) 0 4%, rgba(255,112,24,.54) 5% 9%, transparent 10%),
    radial-gradient(circle at 66% 84%, rgba(255,165,62,.88) 0 5%, rgba(255,96,18,.48) 6% 10%, transparent 11%);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto;
}


/* === v1.73 Torpedó: elsüllyedt ellenséges hajó sziluett + várakozás badge fix === */
#torpedoEnemyBoard .torpedo-cell.revealed-sunk {
  background: rgba(18,54,103,.20) !important;
  box-shadow: inset 0 0 0 2px rgba(245,186,74,.88), inset 0 0 18px rgba(10,18,33,.28) !important;
}
#torpedoEnemyBoard .torpedo-cell.revealed-sunk::before {
  content: '' !important;
  position: absolute;
  z-index: 2;
  background: linear-gradient(180deg,#2d323c 0%, #171a22 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 2px 7px rgba(0,0,0,.28);
  opacity: .96;
}
#torpedoEnemyBoard .torpedo-cell.revealed-sunk.ship-h.ship-head::before {
  inset: 20% 2% 20% 10%;
  border-radius: 999px 8px 8px 999px;
  clip-path: polygon(0 50%, 13% 14%, 100% 14%, 100% 86%, 13% 86%);
}
#torpedoEnemyBoard .torpedo-cell.revealed-sunk.ship-h.ship-mid::before {
  inset: 20% 0;
  border-radius: 8px;
}
#torpedoEnemyBoard .torpedo-cell.revealed-sunk.ship-h.ship-tail::before {
  inset: 20% 10% 20% 2%;
  border-radius: 8px 999px 999px 8px;
  clip-path: polygon(0 14%, 87% 14%, 100% 50%, 87% 86%, 0 86%);
}
#torpedoEnemyBoard .torpedo-cell.revealed-sunk.ship-v.ship-head::before {
  inset: 10% 20% 2% 20%;
  border-radius: 999px 999px 8px 8px;
  clip-path: polygon(50% 0, 86% 13%, 86% 100%, 14% 100%, 14% 13%);
}
#torpedoEnemyBoard .torpedo-cell.revealed-sunk.ship-v.ship-mid::before {
  inset: 0 20%;
  border-radius: 8px;
}
#torpedoEnemyBoard .torpedo-cell.revealed-sunk.ship-v.ship-tail::before {
  inset: 2% 20% 10% 20%;
  border-radius: 8px 8px 999px 999px;
  clip-path: polygon(14% 0, 86% 0, 86% 87%, 50% 100%, 14% 87%);
}
#torpedoEnemyBoard .torpedo-cell.revealed-sunk::after {
  content: '' !important;
  position: absolute;
  inset: -10% -6% 4% -6%;
  z-index: 4;
  pointer-events: none;
  background:
    radial-gradient(circle at 26% 72%, rgba(70,72,78,.86) 0 12%, rgba(138,140,147,.34) 13% 20%, transparent 21%),
    radial-gradient(circle at 44% 38%, rgba(56,58,64,.76) 0 11%, rgba(124,126,134,.28) 12% 19%, transparent 20%),
    radial-gradient(circle at 66% 22%, rgba(54,56,62,.62) 0 9%, rgba(114,116,124,.18) 10% 17%, transparent 18%),
    radial-gradient(circle at 52% 82%, rgba(255,194,74,.88) 0 4%, rgba(255,122,24,.46) 5% 9%, transparent 10%);
  opacity: .88;
  animation: torpedoSmokeHeavy 1.7s ease-in-out infinite alternate;
}
#torpedoEnemyBoard .torpedo-cell.revealed-sunk span,
#torpedoEnemyBoard .torpedo-cell.revealed-sunk .torpedo-hit-glyph,
#torpedoEnemyBoard .torpedo-cell.revealed-sunk .torpedo-sunk-glyph,
#torpedoEnemyBoard .torpedo-cell.revealed-sunk .x,
#torpedoEnemyBoard .torpedo-cell.revealed-sunk .overlay {
  display: none !important;
}
#torpedoEnemyBoard .torpedo-cell.revealed-sunk.ship-h.ship-mid:not(.ship-head):not(.ship-tail),
#torpedoEnemyBoard .torpedo-cell.revealed-sunk.ship-v.ship-mid:not(.ship-head):not(.ship-tail) {
  box-shadow: inset 0 0 0 2px rgba(245,186,74,.88), inset 0 0 18px rgba(10,18,33,.28) !important;
}


/* === v1.74 Torpedó: vége-effekt, egységes találatjel, mobil pályaváltó === */
.torpedo-status-card{position:relative;overflow:hidden}
.torpedo-status-card > *{position:relative;z-index:2}
.torpedo-end-fx{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1;opacity:0}
.torpedo-end-fx.play{opacity:1}
.torpedo-end-fx span{position:absolute;left:var(--x);bottom:-16px;width:var(--size);height:var(--size);border-radius:50%;opacity:0;animation:torpedoEndBurst 1.45s ease-out var(--delay) forwards;background:radial-gradient(circle at 35% 35%, rgba(255,255,255,.95) 0 16%, rgba(255,239,150,.95) 17% 45%, rgba(255,170,84,.86) 46% 68%, rgba(255,130,55,0) 69% 100%)}
.torpedo-end-fx.defeat span{background:radial-gradient(circle at 35% 35%, rgba(255,255,255,.55) 0 15%, rgba(163,192,223,.85) 16% 44%, rgba(72,109,163,.7) 45% 67%, rgba(36,49,83,0) 68% 100%)}
.torpedo-status-card.end-victory{animation:torpedoStatusPulse 1s ease}
.torpedo-status-card.end-defeat{animation:torpedoStatusShake .9s ease}
.torpedo-battle.finish-victory .torpedo-board-wrap{animation:torpedoBoardWin .75s ease}
.torpedo-battle.finish-defeat .torpedo-board-wrap{animation:torpedoBoardLose .75s ease}

.torpedo-impact{position:absolute;inset:0;z-index:8;pointer-events:none;display:block!important}
.torpedo-impact::before,
.torpedo-impact::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.torpedo-impact::before{width:74%;height:74%;border-radius:50%;background:radial-gradient(circle, rgba(255,255,255,.98) 0 11%, rgba(255,237,176,.96) 12% 20%, rgba(255,118,118,.95) 21% 40%, rgba(203,34,51,.90) 41% 58%, rgba(203,34,51,0) 59% 100%);filter:drop-shadow(0 0 8px rgba(255,121,121,.5))}
.torpedo-impact::after{width:86%;height:86%;background:conic-gradient(from 0deg, transparent 0 7%, rgba(255,255,255,.98) 7% 10%, transparent 10% 17%, rgba(255,214,154,.96) 17% 20%, transparent 20% 27%, rgba(255,255,255,.98) 27% 30%, transparent 30% 37%, rgba(255,214,154,.96) 37% 40%, transparent 40% 47%, rgba(255,255,255,.98) 47% 50%, transparent 50% 57%, rgba(255,214,154,.96) 57% 60%, transparent 60% 67%, rgba(255,255,255,.98) 67% 70%, transparent 70% 77%, rgba(255,214,154,.96) 77% 80%, transparent 80% 87%, rgba(255,255,255,.98) 87% 90%, transparent 90% 100%);clip-path:circle(45% at 50% 50%);opacity:.95}
.torpedo-impact.is-sunk{filter:drop-shadow(0 0 12px rgba(255,188,87,.56))}
.torpedo-impact.is-sunk::before{background:radial-gradient(circle, rgba(255,255,255,.98) 0 10%, rgba(255,244,187,.96) 11% 18%, rgba(255,149,114,.95) 19% 37%, rgba(214,67,72,.92) 38% 56%, rgba(214,67,72,0) 57% 100%)}

#torpedoEnemyBoard .torpedo-cell.revealed-sunk .torpedo-impact,
#torpedoEnemyBoard .torpedo-cell.revealed-sunk .torpedo-impact::before,
#torpedoEnemyBoard .torpedo-cell.revealed-sunk .torpedo-impact::after{display:block!important;opacity:1!important}
#torpedoEnemyBoard .torpedo-cell.revealed-sunk::after{opacity:.68}

.torpedo-mobile-switch{display:none}

@media(max-width:900px){
  .torpedo-mobile-switch{display:flex;gap:8px;margin:0 0 12px}
  .torpedo-mobile-switch button{flex:1;min-height:44px;border:0;border-radius:14px;background:#edf3fb;color:#27416f;font-weight:900;transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;box-shadow:0 6px 16px rgba(35,57,97,.08)}
  .torpedo-mobile-switch button.is-active{background:linear-gradient(135deg,#2d3b78,#253467);color:#fff;transform:translateY(-1px);box-shadow:0 12px 22px rgba(37,52,103,.18)}
  .torpedo-battle{display:block}
  .torpedo-battle-wrap{display:none;opacity:0;transform:translateY(8px)}
  .torpedo-battle[data-mobile-view="own"] #torpedoOwnWrap,
  .torpedo-battle[data-mobile-view="enemy"] #torpedoEnemyWrap{display:block;animation:torpedoBoardSwap .22s ease both}
}

@keyframes torpedoEndBurst{
  0%{transform:translateY(0) scale(.55);opacity:0}
  18%{opacity:1}
  100%{transform:translateY(-115px) scale(1.18);opacity:0}
}
@keyframes torpedoStatusPulse{
  0%{box-shadow:0 0 0 rgba(255,226,111,0),0 16px 34px rgba(26,35,77,.18)}
  35%{box-shadow:0 0 0 12px rgba(255,226,111,.18),0 22px 42px rgba(26,35,77,.22)}
  100%{box-shadow:0 0 0 rgba(255,226,111,0),0 16px 34px rgba(26,35,77,.18)}
}
@keyframes torpedoStatusShake{
  0%,100%{transform:translateX(0)}
  18%{transform:translateX(-4px)}
  36%{transform:translateX(5px)}
  54%{transform:translateX(-3px)}
  72%{transform:translateX(2px)}
}
@keyframes torpedoBoardWin{
  0%{transform:scale(.985);filter:brightness(.96)}
  45%{transform:scale(1.01);filter:brightness(1.05)}
  100%{transform:scale(1);filter:brightness(1)}
}
@keyframes torpedoBoardLose{
  0%{transform:scale(1);filter:saturate(1)}
  45%{transform:scale(.992);filter:saturate(.9)}
  100%{transform:scale(1);filter:saturate(1)}
}
@keyframes torpedoBoardSwap{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}

/* === v1.75 Torpedó: enemy hit silhouette + hangsúlyos mobil pályaváltás === */
#torpedoEnemyBoard .torpedo-cell.revealed-hit{
  box-shadow:inset 0 0 0 1px rgba(255,214,118,.72), 0 0 12px rgba(255,117,117,.14)!important;
}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship{
  position:absolute;
  z-index:3;
  pointer-events:none;
  display:block;
  background:linear-gradient(180deg,#eef3f7 0%,#c7d1db 52%,#8b9caf 100%);
  border:1px solid rgba(89,103,123,.38);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92), inset 0 -1px 0 rgba(45,57,76,.25), 0 1px 3px rgba(8,25,57,.24);
  opacity:.95;
}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship::after{
  content:'';
  position:absolute;
  background:linear-gradient(180deg,#7d91a8 0%,#617185 100%);
  box-shadow:0 0 0 1px rgba(255,255,255,.15);
  border-radius:999px;
}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.is-h{left:5%;right:5%;top:26%;bottom:26%;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.is-h.seg-head{clip-path:polygon(0 50%,19% 7%,100% 7%,100% 93%,19% 93%);border-radius:999px 6px 6px 999px;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.is-h.seg-mid{border-radius:6px;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.is-h.seg-tail{clip-path:polygon(0 7%,81% 7%,100% 24%,100% 76%,81% 93%,0 93%);border-radius:6px 14px 14px 6px;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.is-h::after{left:28%;right:28%;top:33%;height:34%;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.is-h.seg-head::after{left:44%;right:18%;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.is-h.seg-tail::after{left:18%;right:44%;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.is-v{top:5%;bottom:5%;left:26%;right:26%;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.is-v.seg-head{clip-path:polygon(50% 0,93% 19%,93% 100%,7% 100%,7% 19%);border-radius:999px 999px 6px 6px;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.is-v.seg-mid{border-radius:6px;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.is-v.seg-tail{clip-path:polygon(7% 0,93% 0,93% 81%,74% 100%,26% 100%,7% 81%);border-radius:6px 6px 14px 14px;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.is-v::after{top:28%;bottom:28%;left:33%;width:34%;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.is-v.seg-head::after{top:44%;bottom:18%;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.is-v.seg-tail::after{top:18%;bottom:44%;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.is-unknown{inset:20%;border-radius:999px;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.is-unknown::after{left:32%;right:32%;top:32%;bottom:32%;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.ship-key-carrier.is-h{top:22%;bottom:22%;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.ship-key-carrier.is-v{left:22%;right:22%;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.ship-key-submarine.is-h{top:31%;bottom:31%;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.ship-key-submarine.is-v{left:31%;right:31%;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-impact{z-index:8!important;}

@media(max-width:900px){
  .torpedo-mobile-switch{
    position:sticky;
    top:8px;
    z-index:35;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:10px;
    margin:0 0 14px;
    border-radius:18px;
    background:rgba(255,255,255,.94);
    box-shadow:0 14px 28px rgba(31,49,97,.16), 0 0 0 1px rgba(89,136,203,.10);
    backdrop-filter:blur(8px);
  }
  .torpedo-mobile-switch button{
    min-height:48px;
    font-size:15px;
    border-radius:15px;
    box-shadow:0 8px 18px rgba(35,57,97,.10);
  }
  .torpedo-mobile-switch button.is-active{
    background:linear-gradient(135deg,#2d3b78,#253467);
    color:#fff;
    box-shadow:0 14px 24px rgba(37,52,103,.22), 0 0 0 2px rgba(155,214,255,.18);
    animation:torpedoMobileButtonPulse .45s ease;
  }
  .torpedo-mobile-view-hint{
    grid-column:1/-1;
    min-height:44px;
    padding:10px 14px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    font-weight:950;
    letter-spacing:.01em;
    color:#173568;
    background:linear-gradient(180deg,#edf4ff 0%,#dee9fb 100%);
    box-shadow:inset 0 0 0 1px rgba(87,120,173,.12);
  }
  .torpedo-mobile-view-hint.view-enemy{
    background:linear-gradient(180deg,#fff0cf 0%,#ffe0a6 100%);
    color:#6d4300;
  }
  .torpedo-mobile-view-hint.view-own{
    background:linear-gradient(180deg,#dff6ff 0%,#cbe9ff 100%);
    color:#17456e;
  }
  .torpedo-battle.mobile-view-animate .torpedo-mobile-view-hint{
    animation:torpedoMobileHintFlash .5s ease;
  }
  .torpedo-battle[data-mobile-view="own"] #torpedoOwnWrap,
  .torpedo-battle[data-mobile-view="enemy"] #torpedoEnemyWrap{
    animation:torpedoBoardSwapStrong .42s cubic-bezier(.2,.7,.2,1) both!important;
  }
}

@keyframes torpedoBoardSwapStrong{
  0%{opacity:0;transform:translateY(20px) scale(.955);filter:brightness(.88)}
  60%{opacity:1;transform:translateY(-2px) scale(1.01);filter:brightness(1.05)}
  100%{opacity:1;transform:translateY(0) scale(1);filter:brightness(1)}
}
@keyframes torpedoMobileHintFlash{
  0%{transform:scale(.98);box-shadow:inset 0 0 0 1px rgba(87,120,173,.12),0 0 0 rgba(118,201,255,0)}
  45%{transform:scale(1.015);box-shadow:inset 0 0 0 1px rgba(87,120,173,.16),0 0 0 10px rgba(118,201,255,.14)}
  100%{transform:scale(1);box-shadow:inset 0 0 0 1px rgba(87,120,173,.12),0 0 0 rgba(118,201,255,0)}
}
@keyframes torpedoMobileButtonPulse{
  0%{transform:scale(.98)}
  55%{transform:scale(1.03)}
  100%{transform:scale(1)}
}


/* === v1.76 Torpedó: jól látható enemy hit-sziluett === */
#torpedoEnemyBoard .torpedo-cell.revealed-hit{
  background:linear-gradient(180deg, rgba(116,52,84,.72) 0%, rgba(74,34,67,.74) 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(255,219,122,.82), 0 0 0 1px rgba(255,122,122,.18), 0 0 18px rgba(255,117,117,.18)!important;
}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship{
  z-index:10!important;
  opacity:1!important;
  background:linear-gradient(180deg,#f3f7fb 0%,#d8e1ea 46%,#99a8b9 100%)!important;
  border:2px solid rgba(82,96,118,.55)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96), inset 0 -1px 0 rgba(28,40,56,.26), 0 3px 8px rgba(10,25,50,.30)!important;
  filter:drop-shadow(0 1px 1px rgba(7,18,34,.28));
}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship::after{
  background:linear-gradient(180deg,#8799ad 0%,#66778a 100%)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.18), inset 0 1px 0 rgba(255,255,255,.20)!important;
}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.is-h{left:4%!important;right:4%!important;top:22%!important;bottom:22%!important;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.is-v{top:4%!important;bottom:4%!important;left:22%!important;right:22%!important;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship.is-unknown{inset:14%!important;border-radius:16px!important;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-impact{z-index:14!important;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-impact::before{width:78%!important;height:78%!important;}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-impact::after{width:90%!important;height:90%!important;}


/* === v1.77 Torpedó: eredménykártya + enemy hit finomhangolás === */
.torpedo-result-overlay{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:22px;background:rgba(10,16,34,.38);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .24s ease}
.torpedo-result-overlay.hidden{display:none}
.torpedo-result-overlay.show{opacity:1;pointer-events:auto}
.torpedo-result-card{position:relative;width:min(520px,calc(100vw - 28px));border-radius:28px;padding:24px 24px 22px;background:linear-gradient(180deg,#ffffff 0%,#f7f9ff 100%);box-shadow:0 24px 80px rgba(16,31,67,.24),0 8px 24px rgba(16,31,67,.12);color:#193566;transform:translateY(22px) scale(.92);opacity:0;transition:transform .34s cubic-bezier(.2,.84,.22,1),opacity .26s ease;border:1px solid rgba(208,220,245,.86);overflow:hidden}
.torpedo-result-overlay.show .torpedo-result-card{transform:translateY(0) scale(1);opacity:1}
.torpedo-result-overlay.is-victory .torpedo-result-card::before,
.torpedo-result-overlay.is-defeat .torpedo-result-card::before{content:'';position:absolute;inset:0 auto auto 0;width:100%;height:7px;background:linear-gradient(90deg,#ffcf4d 0%,#ff9a46 55%,#f36a6a 100%)}
.torpedo-result-overlay.is-defeat .torpedo-result-card::before{background:linear-gradient(90deg,#93b3e7 0%,#6284c1 55%,#394f83 100%)}
.torpedo-result-card small{display:block;color:#7b68d8;font-size:11px;font-weight:1000;letter-spacing:.14em;margin-bottom:8px}
.torpedo-result-card h2{margin:0 0 8px;font-size:40px;line-height:1;color:#173568}
.torpedo-result-card p{margin:0;color:#61738d;font-size:15px;line-height:1.45}
.torpedo-result-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.torpedo-result-stats span{display:inline-flex;align-items:center;min-height:42px;padding:10px 14px;border-radius:999px;background:#eef3ff;color:#28426d;font-weight:900;box-shadow:inset 0 0 0 1px rgba(184,198,230,.75)}
.torpedo-result-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.torpedo-result-close{position:absolute;right:14px;top:12px;border:0;background:#eef3ff;color:#2b4370;width:36px;height:36px;border-radius:999px;font-size:24px;line-height:1;cursor:pointer;font-weight:700}
body.torpedo-result-open{overflow:hidden}
@media(max-width:640px){
  .torpedo-result-card{padding:22px 18px 18px;border-radius:22px}
  .torpedo-result-card h2{font-size:33px}
  .torpedo-result-actions{flex-direction:column-reverse}
  .torpedo-result-actions .torpedo-primary,
  .torpedo-result-actions .torpedo-ghost{width:100%;justify-content:center}
}

#torpedoEnemyBoard .torpedo-cell.revealed-hit{background:linear-gradient(180deg, rgba(128,57,92,.58) 0%, rgba(91,42,84,.63) 100%)!important;box-shadow:inset 0 0 0 1px rgba(255,219,122,.86),0 0 0 1px rgba(255,120,120,.10),0 0 18px rgba(255,106,106,.14)!important}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship{background:linear-gradient(180deg,#f6f9fc 0%,#dfe7ef 48%,#adbaca 100%)!important;border:2px solid rgba(131,146,167,.58)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.96), inset 0 -1px 0 rgba(46,62,85,.18), 0 2px 7px rgba(9,22,43,.24)!important;opacity:1!important}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship::after{background:linear-gradient(180deg,#8fa0b3 0%,#738499 100%)!important;box-shadow:0 0 0 1px rgba(255,255,255,.18), inset 0 1px 0 rgba(255,255,255,.2)!important}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-impact{z-index:16!important;filter:drop-shadow(0 0 10px rgba(255,118,118,.45))}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-impact::before{width:80%!important;height:80%!important}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-impact::after{width:94%!important;height:94%!important;opacity:1!important}



/* === v1.78 Torpedó: koordináták rendbe, kisebb találati tűz, fekete enemy sunk sziluett === */
.torpedo-board{
  grid-template-columns:44px repeat(10,minmax(0,1fr))!important;
  grid-template-rows:44px repeat(10,minmax(0,1fr))!important;
}
.torpedo-coord{
  display:grid!important;
  place-items:center!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:0!important;
  color:#f6f9ff!important;
  text-shadow:none!important;
  opacity:.98;
  transform:none!important;
}
.torpedo-coord-top{padding-top:1px}
.torpedo-coord-left{padding-left:1px}
.torpedo-coord.corner::before{
  content:'⚓'!important;
  position:static!important;
  font-size:16px!important;
  color:#71c4ef!important;
  opacity:.92!important;
}
.torpedo-coord.corner::after{display:none!important;content:none!important}

@media(max-width:620px){
  .torpedo-board{
    grid-template-columns:28px repeat(10,minmax(0,1fr))!important;
    grid-template-rows:28px repeat(10,minmax(0,1fr))!important;
  }
  .torpedo-coord{font-size:9px!important}
}

/* kisebb, visszafogottabb találati effekt */
.torpedo-impact::before{
  width:56%!important;
  height:56%!important;
  background:radial-gradient(circle, rgba(255,255,255,.98) 0 12%, rgba(255,237,176,.95) 13% 22%, rgba(255,126,92,.92) 23% 39%, rgba(202,50,60,.86) 40% 54%, rgba(202,50,60,0) 55% 100%)!important;
  filter:drop-shadow(0 0 6px rgba(255,121,121,.34))!important;
}
.torpedo-impact::after{
  width:72%!important;
  height:72%!important;
  opacity:.9!important;
  clip-path:circle(42% at 50% 50%)!important;
}
.torpedo-impact.is-sunk{filter:drop-shadow(0 0 8px rgba(255,188,87,.36))!important}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-impact,
#torpedoOwnBoard .torpedo-cell.hit .torpedo-impact,
#torpedoOwnBoard .torpedo-cell.sunk .torpedo-impact{
  z-index:14!important;
}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-impact::before,
#torpedoOwnBoard .torpedo-cell.hit .torpedo-impact::before,
#torpedoOwnBoard .torpedo-cell.sunk .torpedo-impact::before{
  width:58%!important;height:58%!important;
}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-impact::after,
#torpedoOwnBoard .torpedo-cell.hit .torpedo-impact::after,
#torpedoOwnBoard .torpedo-cell.sunk .torpedo-impact::after{
  width:74%!important;height:74%!important;
}

/* Matròz oldali találat legyen közelebb a saját pályához, de ne túl nagy */
#torpedoEnemyBoard .torpedo-cell.revealed-hit{
  background:linear-gradient(180deg, rgba(117,58,90,.52) 0%, rgba(89,46,82,.56) 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(255,214,122,.74),0 0 12px rgba(255,106,106,.10)!important;
}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship{
  background:linear-gradient(180deg,#edf2f7 0%,#d9e1ea 52%,#aab7c7 100%)!important;
  border:1px solid rgba(118,132,154,.55)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92), inset 0 -1px 0 rgba(46,62,85,.16), 0 2px 5px rgba(9,22,43,.18)!important;
}
#torpedoEnemyBoard .torpedo-cell.revealed-hit .torpedo-hit-ship::after{
  background:linear-gradient(180deg,#8899ad 0%,#6f8096 100%)!important;
}

/* elsüllyedt ellenfél hajó: fekete sziluett, jól látható alak */
#torpedoEnemyBoard .torpedo-cell.revealed-sunk{
  background:rgba(21,44,85,.28)!important;
  box-shadow:inset 0 0 0 2px rgba(245,186,74,.92), inset 0 0 16px rgba(7,12,22,.34)!important;
}
#torpedoEnemyBoard .torpedo-cell.revealed-sunk .torpedo-impact{display:none!important}
#torpedoEnemyBoard .torpedo-cell.revealed-sunk::before{
  opacity:1!important;
  background:linear-gradient(180deg,#3a3f49 0%, #1d2027 48%, #090b0f 100%)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), inset 0 -1px 0 rgba(0,0,0,.50), 0 2px 7px rgba(0,0,0,.34)!important;
}
#torpedoEnemyBoard .torpedo-cell.revealed-sunk.ship-h.ship-head::before{
  inset:21% 2% 21% 8%!important;
  border-radius:999px 8px 8px 999px!important;
  clip-path:polygon(0 50%, 17% 10%, 100% 10%, 100% 90%, 17% 90%)!important;
}
#torpedoEnemyBoard .torpedo-cell.revealed-sunk.ship-h.ship-mid::before{
  inset:21% 0!important;
  border-radius:6px!important;
}
#torpedoEnemyBoard .torpedo-cell.revealed-sunk.ship-h.ship-tail::before{
  inset:21% 8% 21% 2%!important;
  border-radius:8px 999px 999px 8px!important;
  clip-path:polygon(0 10%, 84% 10%, 100% 50%, 84% 90%, 0 90%)!important;
}
#torpedoEnemyBoard .torpedo-cell.revealed-sunk.ship-v.ship-head::before{
  inset:8% 21% 2% 21%!important;
  border-radius:999px 999px 8px 8px!important;
  clip-path:polygon(50% 0, 90% 17%, 90% 100%, 10% 100%, 10% 17%)!important;
}
#torpedoEnemyBoard .torpedo-cell.revealed-sunk.ship-v.ship-mid::before{
  inset:0 21%!important;
  border-radius:6px!important;
}
#torpedoEnemyBoard .torpedo-cell.revealed-sunk.ship-v.ship-tail::before{
  inset:2% 21% 8% 21%!important;
  border-radius:8px 8px 999px 999px!important;
  clip-path:polygon(10% 0, 90% 0, 90% 84%, 50% 100%, 10% 84%)!important;
}
#torpedoEnemyBoard .torpedo-cell.revealed-sunk::after{
  inset:-7% -5% 6% -5%!important;
  background:
    radial-gradient(circle at 24% 74%, rgba(60,62,68,.82) 0 10%, rgba(122,124,130,.24) 11% 18%, transparent 19%),
    radial-gradient(circle at 42% 42%, rgba(54,56,62,.70) 0 9%, rgba(112,114,122,.20) 10% 16%, transparent 17%),
    radial-gradient(circle at 61% 22%, rgba(50,52,58,.52) 0 8%, rgba(108,110,118,.14) 9% 15%, transparent 16%),
    radial-gradient(circle at 50% 82%, rgba(255,186,68,.72) 0 3%, rgba(255,110,18,.32) 4% 7%, transparent 8%)!important;
  opacity:.72!important;
}

/* === v1.79 – Torpedó játékoldal a jóváhagyott mockup alapján === */
.torpedo-game-page{
  min-height:100vh;
  background:
    radial-gradient(circle at top center, rgba(17,109,185,.28), transparent 34%),
    linear-gradient(180deg, #05142a 0%, #031126 45%, #02101f 100%) !important;
  color:#eef8ff;
}
.torpedo-game-page .torpedo-topbar--game,
.torpedo-game-page .torpedo-game-shell--mockup{
  width:min(860px, calc(100% - 18px));
}
.torpedo-game-page .torpedo-topbar--game{
  margin:10px auto 0;
  min-height:76px;
  padding:10px 14px;
  border-radius:24px;
  background:rgba(4,24,49,.72);
  border:1px solid rgba(66,179,255,.25);
  box-shadow:0 10px 30px rgba(0,0,0,.28), inset 0 0 0 1px rgba(170,231,255,.06);
}
.torpedo-game-page .torpedo-nav-icon,
.torpedo-game-page .torpedo-icon-link{
  width:48px;height:48px;border-radius:15px;display:grid;place-items:center;
  color:#d9f4ff;text-decoration:none;font-size:24px;font-weight:900;
  background:linear-gradient(180deg, rgba(17,102,169,.95), rgba(5,63,120,.95));
  box-shadow:inset 0 0 0 1px rgba(117,219,255,.35), 0 8px 20px rgba(0,0,0,.22);
}
.torpedo-game-page .torpedo-game-title--hero strong{
  font-size:clamp(30px, 7vw, 56px);
  line-height:1;
  color:#f5fdff;
  letter-spacing:.04em;
  text-shadow:0 0 18px rgba(95,204,255,.45);
}
.torpedo-game-page .torpedo-game-title--hero span{
  font-size:13px;
  color:#9fe6ff;
  font-weight:800;
}
.torpedo-game-page .torpedo-top-actions--icons{gap:8px;}
.torpedo-game-page .torpedo-room-chip{
  min-height:48px;
  padding:0 14px;
  background:rgba(15,44,86,.9);
  color:#bfeaff;
  border:1px solid rgba(117,219,255,.2);
}
.torpedo-game-page .torpedo-game-shell--mockup{
  margin:10px auto 26px;
  display:grid;
  gap:12px;
}
.torpedo-game-page .torpedo-status-card--game{
  position:relative;
  margin:0;
  padding:14px 18px;
  border-radius:22px;
  background:rgba(4,27,52,.76) !important;
  border:1px solid rgba(66,179,255,.26);
  box-shadow:0 14px 34px rgba(0,0,0,.22), inset 0 0 0 1px rgba(170,231,255,.05);
}
.torpedo-game-page .torpedo-status-copy small{color:#73cfff;}
.torpedo-game-page .torpedo-status-card--game h1{font-size:28px;color:#f8fcff;}
.torpedo-game-page .torpedo-status-card--game p{font-size:13px;color:#caebff;}
.torpedo-game-page .torpedo-turn-badge{
  background:linear-gradient(180deg, rgba(90,74,30,.95), rgba(62,44,14,.95));
  color:#fff2c7;
  border:1px solid rgba(255,223,136,.18);
  box-shadow:inset 0 0 0 1px rgba(255,245,207,.05);
}
.torpedo-game-page .torpedo-card,
.torpedo-game-page .torpedo-board-wrap,
.torpedo-game-page .torpedo-dock,
.torpedo-game-page .torpedo-end{
  background:rgba(4,27,52,.76) !important;
  border:1px solid rgba(66,179,255,.26);
  box-shadow:0 14px 32px rgba(0,0,0,.22), inset 0 0 0 1px rgba(170,231,255,.05);
  color:#eef8ff;
}
.torpedo-game-page .torpedo-placement{grid-template-columns:minmax(0,1fr) 300px;gap:12px;}
.torpedo-game-page .torpedo-board-head small,
.torpedo-game-page .torpedo-dock-head small,
.torpedo-game-page .torpedo-end small{color:#7cd3ff;}
.torpedo-game-page .torpedo-board-head h2,
.torpedo-game-page .torpedo-dock-head h2,
.torpedo-game-page .torpedo-end h2,
.torpedo-game-page .torpedo-board-wrap h2{color:#f8fcff;}
.torpedo-game-page .torpedo-board-head>span,
.torpedo-game-page .torpedo-placement-tip,
.torpedo-game-page .torpedo-end p{color:#b9ddf1;}
.torpedo-game-page .torpedo-battle{display:grid;grid-template-columns:1fr;gap:12px;}
.torpedo-game-page .torpedo-battle-lower{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:12px;align-items:stretch;}
.torpedo-game-page .torpedo-card--enemy .torpedo-board-head{margin-bottom:8px;}
.torpedo-game-page .torpedo-card--enemy .torpedo-board-head h2,
.torpedo-game-page .torpedo-card--own .torpedo-board-head h2{font-size:17px;}
.torpedo-game-page .torpedo-card--enemy .torpedo-board-head>span{font-size:12px;}

.torpedo-game-page .torpedo-board{
  display:grid !important;
  grid-template-columns:34px repeat(10, minmax(0, 1fr));
  grid-template-rows:34px repeat(10, minmax(0, 1fr));
  width:100%;
  max-width:none !important;
  aspect-ratio:1 / 1 !important;
  padding:12px !important;
  gap:0 !important;
  border-radius:24px !important;
  border:1px solid rgba(77,189,255,.24) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,0) 20%),
    radial-gradient(circle at 18% 14%, rgba(78,191,255,.16), transparent 26%),
    linear-gradient(180deg, rgba(6,63,115,.96) 0%, rgba(5,53,99,.98) 45%, rgba(4,43,82,.99) 100%),
    url('images/torpedo-board-ocean.png') center/cover no-repeat !important;
  box-shadow:inset 0 0 0 1px rgba(167,232,255,.12), 0 12px 28px rgba(0,0,0,.18) !important;
  overflow:hidden;
}
.torpedo-game-page .torpedo-card--own .torpedo-board{grid-template-columns:26px repeat(10, minmax(0, 1fr));grid-template-rows:26px repeat(10, minmax(0, 1fr));padding:10px !important;border-radius:20px !important;}
.torpedo-game-page .torpedo-coord{
  display:grid !important;
  place-items:center;
  font-size:11px !important;
  font-weight:900;
  color:#d5f4ff !important;
  text-shadow:0 1px 0 rgba(0,0,0,.3);
}
.torpedo-game-page .torpedo-coord.corner::before,
.torpedo-game-page .torpedo-coord.corner::after{display:none !important;}
.torpedo-game-page .torpedo-cell{
  margin:0 !important;
  min-width:0;
  min-height:0;
  border:1px solid rgba(102,206,255,.45) !important;
  background:rgba(255,255,255,.02) !important;
  color:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible;
  cursor:default;
}
.torpedo-game-page .torpedo-board.enemy.can-fire .torpedo-cell.is-target{cursor:pointer;}
.torpedo-game-page .torpedo-board.enemy.can-fire .torpedo-cell.is-target:hover{background:rgba(95,213,255,.11) !important;}
.torpedo-game-page .torpedo-cell.preview{background:rgba(76,231,184,.16) !important;}
.torpedo-game-page .torpedo-cell.preview-bad{background:rgba(255,103,112,.18) !important;}
.torpedo-game-page .torpedo-cell.ship::before,
.torpedo-game-page .torpedo-cell.ship::after{z-index:2;}
.torpedo-game-page .torpedo-cell.miss{background:rgba(255,255,255,.04) !important;}
.torpedo-game-page .torpedo-cell.miss::before,
.torpedo-game-page .torpedo-cell.miss::after,
.torpedo-game-page .torpedo-cell.hit::before,
.torpedo-game-page .torpedo-cell.hit::after,
.torpedo-game-page .torpedo-cell.sunk::before,
.torpedo-game-page .torpedo-cell.sunk::after{z-index:4;}
.torpedo-game-page .torpedo-cell.is-selected-target{background:rgba(255,90,73,.12) !important;box-shadow:inset 0 0 0 2px rgba(255,109,84,.7) !important;}
.torpedo-game-page .torpedo-cell.crosshair-cell{box-shadow:inset 0 0 0 2px rgba(255,116,84,.55) !important;}
.torpedo-game-page .torpedo-crosshair{opacity:0;pointer-events:none;position:absolute;z-index:3;}
.torpedo-game-page .torpedo-crosshair-h{left:12px;right:12px;height:1px;top:var(--cross-y);background:rgba(255,102,76,.58);box-shadow:0 0 12px rgba(255,102,76,.45);}
.torpedo-game-page .torpedo-crosshair-v{top:12px;bottom:12px;width:1px;left:var(--cross-x);background:rgba(255,102,76,.58);box-shadow:0 0 12px rgba(255,102,76,.45);}
.torpedo-game-page .torpedo-board.crosshair-on .torpedo-crosshair{opacity:1;}
.torpedo-game-page .torpedo-impact.is-hit,
.torpedo-game-page .torpedo-impact.is-sunk{z-index:6;}

.torpedo-game-page .torpedo-fleet-card{padding:16px;display:grid;grid-template-rows:auto 1fr;gap:10px;}
.torpedo-game-page .torpedo-fleet-status{display:grid;gap:10px;align-content:start;}
.torpedo-game-page .torpedo-fleet-row{display:grid;gap:8px;padding:10px 12px;border-radius:16px;background:rgba(8,40,72,.68);border:1px solid rgba(97,188,255,.14);}
.torpedo-game-page .torpedo-fleet-row-main{display:flex;align-items:center;gap:10px;min-width:0;}
.torpedo-game-page .torpedo-fleet-copy{display:grid;min-width:0;}
.torpedo-game-page .torpedo-fleet-copy strong{font-size:13px;color:#f4fbff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.torpedo-game-page .torpedo-fleet-copy small{font-size:11px;color:#a9d7ef;}
.torpedo-game-page .torpedo-fleet-glyph{display:inline-flex;align-items:center;min-width:72px;}
.torpedo-game-page .torpedo-fleet-health{display:flex;gap:6px;flex-wrap:wrap;}
.torpedo-game-page .torpedo-fleet-health span{width:16px;height:16px;border-radius:4px;border:1px solid rgba(94,201,255,.6);background:rgba(6,33,61,.8);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);}
.torpedo-game-page .torpedo-fleet-health span.is-hit{background:linear-gradient(180deg,#ff8c70,#eb4b5f);border-color:rgba(255,152,122,.85);}
.torpedo-game-page .torpedo-fleet-row.is-sunk{opacity:.72;}
.torpedo-game-page .torpedo-fleet-empty{margin:0;color:#caebff;}

.torpedo-game-page .torpedo-legend-card{display:flex;flex-wrap:wrap;gap:14px;padding:14px 16px;align-items:center;justify-content:flex-start;}
.torpedo-game-page .torpedo-legend-item{display:inline-flex;align-items:center;gap:8px;color:#d9f4ff;font-size:14px;font-weight:800;}
.torpedo-game-page .torpedo-legend-swatch{position:relative;width:24px;height:24px;border-radius:6px;background:rgba(255,255,255,.03);border:1px solid rgba(102,206,255,.45);flex:0 0 auto;}
.torpedo-game-page .torpedo-legend-swatch.is-water{background:rgba(255,255,255,.03);}
.torpedo-game-page .torpedo-legend-swatch.is-miss::before{content:'';position:absolute;inset:5px;border-radius:50%;background:radial-gradient(circle at 35% 35%, #ffffff 0%, #d7efff 55%, #98cde7 100%);}
.torpedo-game-page .torpedo-legend-swatch.is-hit::before,
.torpedo-game-page .torpedo-legend-swatch.is-hit::after,
.torpedo-game-page .torpedo-legend-swatch.is-target::before,
.torpedo-game-page .torpedo-legend-swatch.is-target::after{content:'';position:absolute;left:50%;top:50%;width:16px;height:2px;background:#ff6a4f;border-radius:999px;transform-origin:center;}
.torpedo-game-page .torpedo-legend-swatch.is-hit::before{transform:translate(-50%,-50%) rotate(45deg);}
.torpedo-game-page .torpedo-legend-swatch.is-hit::after{transform:translate(-50%,-50%) rotate(-45deg);}
.torpedo-game-page .torpedo-legend-swatch.is-target::before{transform:translate(-50%,-50%) rotate(0deg);width:14px;}
.torpedo-game-page .torpedo-legend-swatch.is-target::after{transform:translate(-50%,-50%) rotate(90deg);width:14px;}
.torpedo-game-page .torpedo-legend-swatch.is-target{box-shadow:inset 0 0 0 2px rgba(255,109,84,.6);}
.torpedo-game-page .torpedo-legend-swatch.is-ship::before{content:'';position:absolute;left:3px;right:3px;top:7px;bottom:7px;border-radius:999px;background:linear-gradient(180deg,#e8eef5 0%,#b4c0cf 100%);}

.torpedo-game-page .torpedo-battle-actions{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,.85fr);gap:12px;}
.torpedo-game-page .torpedo-fire-button,
.torpedo-game-page .torpedo-surrender-button{
  min-height:72px;
  border-radius:22px;
  font-size:18px;
  letter-spacing:.01em;
}
.torpedo-game-page .torpedo-fire-button{background:linear-gradient(180deg,#1c92ff 0%,#0b5fae 100%) !important;box-shadow:inset 0 0 0 1px rgba(165,228,255,.22), 0 12px 26px rgba(0,0,0,.2);}
.torpedo-game-page .torpedo-fire-button:disabled{background:linear-gradient(180deg,#496e8b 0%,#29455f 100%) !important;color:#bed8e7 !important;opacity:.86;}
.torpedo-game-page .torpedo-surrender-button{background:rgba(7,46,86,.85) !important;color:#eef8ff !important;}
.torpedo-game-page .torpedo-ghost,
.torpedo-game-page .torpedo-secondary,
.torpedo-game-page .torpedo-primary{border-radius:16px;}
.torpedo-game-page .torpedo-rotate{background:#6e5320;color:#fff2c7;}
.torpedo-game-page .torpedo-ship-card,
.torpedo-game-page .torpedo-form input,
.torpedo-game-page .torpedo-form select{background:rgba(8,40,72,.7);border-color:rgba(97,188,255,.18);color:#eef8ff;}
.torpedo-game-page .torpedo-ship-card small{color:#b3daef;}
.torpedo-game-page .torpedo-ship-card.selected{background:rgba(17,87,157,.44);border-color:rgba(111,214,255,.48);}
.torpedo-game-page .torpedo-ship-card.placed{opacity:.82;}
.torpedo-game-page .torpedo-error{color:#ffc7cb;}

@media (max-width: 760px){
  .torpedo-game-page .torpedo-topbar--game,
  .torpedo-game-page .torpedo-game-shell--mockup{width:calc(100% - 14px);}
  .torpedo-game-page .torpedo-topbar--game{padding:10px 10px;gap:10px;}
  .torpedo-game-page .torpedo-room-chip{display:none;}
  .torpedo-game-page .torpedo-game-title--hero strong{font-size:clamp(26px, 9vw, 44px);}
  .torpedo-game-page .torpedo-status-card--game{padding:12px 14px;}
  .torpedo-game-page .torpedo-status-card--game h1{font-size:22px;}
  .torpedo-game-page .torpedo-placement{grid-template-columns:1fr;}
  .torpedo-game-page .torpedo-board{grid-template-columns:30px repeat(10,minmax(0,1fr));grid-template-rows:30px repeat(10,minmax(0,1fr));padding:10px !important;}
  .torpedo-game-page .torpedo-card--own .torpedo-board{grid-template-columns:22px repeat(10,minmax(0,1fr));grid-template-rows:22px repeat(10,minmax(0,1fr));padding:8px !important;}
  .torpedo-game-page .torpedo-coord{font-size:10px !important;}
  .torpedo-game-page .torpedo-battle-lower{grid-template-columns:minmax(0,1.1fr) minmax(118px,.9fr);gap:10px;}
  .torpedo-game-page .torpedo-fleet-card{padding:12px;}
  .torpedo-game-page .torpedo-fleet-row{padding:8px;gap:6px;}
  .torpedo-game-page .torpedo-fleet-glyph{min-width:56px;transform:scale(.84);transform-origin:left center;}
  .torpedo-game-page .torpedo-fleet-copy strong{font-size:12px;}
  .torpedo-game-page .torpedo-fleet-copy small{font-size:10px;}
  .torpedo-game-page .torpedo-fleet-health{gap:4px;}
  .torpedo-game-page .torpedo-fleet-health span{width:13px;height:13px;}
  .torpedo-game-page .torpedo-legend-card{gap:10px;padding:12px;}
  .torpedo-game-page .torpedo-legend-item{font-size:12px;gap:6px;}
  .torpedo-game-page .torpedo-battle-actions{grid-template-columns:minmax(0,1.45fr) minmax(0,.9fr);}
  .torpedo-game-page .torpedo-fire-button,
  .torpedo-game-page .torpedo-surrender-button{min-height:62px;font-size:16px;}
}

/* === v1.80 hotfix – Szózóna mobil lobby tabok mindig láthatók === */
@media (max-width:620px){
  body.szozona-subpage{
    height:auto !important;
    min-height:100dvh !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
  }
  .szozona-subpage .szozona-mobile-tabs{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:4px !important;
    position:static !important;
    inset:auto !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    margin:10px 0 12px !important;
    padding:4px !important;
    z-index:auto !important;
    border-radius:14px !important;
    background:rgba(7,59,41,.96) !important;
    border:1px solid rgba(113,190,140,.22) !important;
    box-shadow:0 6px 20px rgba(0,0,0,.14) !important;
  }
  .szozona-subpage .szozona-mobile-tabs .mobile-lobby-tab{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:0 !important;
    min-height:44px !important;
    margin:0 !important;
    padding:8px 10px !important;
    border:0 !important;
    border-radius:10px !important;
    background:transparent !important;
    color:#dff2e4 !important;
    font-size:14px !important;
    font-weight:900 !important;
    cursor:pointer !important;
  }
  .szozona-subpage .szozona-mobile-tabs .mobile-lobby-tab.active{
    background:#eff9ef !important;
    color:#0a5b31 !important;
    box-shadow:0 2px 8px rgba(0,0,0,.18) !important;
  }
  .szozona-subpage .szozona-sub-grid{
    margin-top:0 !important;
  }
  .szozona-subpage .szozona-sub-grid [data-lobby-panel]{
    display:none !important;
  }
  .szozona-subpage .szozona-sub-grid [data-lobby-panel].mobile-active{
    display:block !important;
  }
}

/* v1.79 – GoGame lobby: Malom + Ki nevet a végén, a jóváhagyott mockup szerint */
.lobby-page .game-choice--malom{
  background:
    radial-gradient(circle at 26% 18%,rgba(255,255,255,.14) 0 58px,transparent 59px),
    radial-gradient(circle at 78% 68%,rgba(255,238,199,.12) 0 72px,transparent 73px),
    linear-gradient(135deg,#b08af2 0%,#9070df 52%,#785ac9 100%)!important;
  color:#fff;
}
.lobby-page .game-choice--kinevet{
  background:
    radial-gradient(circle at 34% 16%,rgba(255,255,255,.13) 0 64px,transparent 65px),
    linear-gradient(135deg,#79c9f8 0%,#55b1ee 52%,#3b97dc 100%)!important;
  color:#fff;
}
.lobby-page .game-choice--malom.is-coming,
.lobby-page .game-choice--kinevet.is-coming{
  opacity:1!important;
  cursor:default!important;
  pointer-events:none!important;
}
.lobby-page .game-choice--malom::after,
.lobby-page .game-choice--kinevet::after{
  content:none!important;
}
.lobby-page .game-choice--malom .game-choice-check,
.lobby-page .game-choice--kinevet .game-choice-check{
  background:rgba(255,255,255,.90)!important;
  color:#405083!important;
}
.lobby-page .game-choice--malom .game-choice-status.coming,
.lobby-page .game-choice--kinevet .game-choice-status.coming{
  background:#fff4bf!important;
  color:#5a4d26!important;
}
.lobby-page .game-choice--malom .game-choice-meta span,
.lobby-page .game-choice--kinevet .game-choice-meta span{
  background:#fff2bc!important;
  color:#34446e!important;
}
.lobby-page .game-choice--malom .game-choice-meta span:nth-child(2){background:#e9dcff!important;color:#57467d!important}
.lobby-page .game-choice--malom .game-choice-meta span:nth-child(3){background:#d9e9ff!important;color:#36547a!important}
.lobby-page .game-choice--kinevet .game-choice-meta span:nth-child(2){background:#e4f3ff!important;color:#36547a!important}
.lobby-page .game-choice--kinevet .game-choice-meta span:nth-child(3){background:#d8ecff!important;color:#2f557d!important}

.lobby-page .malom-miniart{
  right:28px!important;bottom:18px!important;width:190px;height:160px!important;border-radius:24px!important;
  background:linear-gradient(145deg,#eab96f,#bd7b37)!important;border:4px solid rgba(255,240,210,.76)!important;
  transform:rotate(5deg)!important;box-shadow:0 14px 24px rgba(78,50,32,.18)!important;
}
.lobby-page .malom-miniart::before,.lobby-page .malom-miniart::after{display:none!important}
.lobby-page .malom-miniart .mill-line{position:absolute;border:4px solid #6f4322;border-radius:2px;inset:auto}
.lobby-page .malom-miniart .mill-line--outer{left:17px;top:16px;width:150px;height:124px}
.lobby-page .malom-miniart .mill-line--middle{left:42px;top:36px;width:100px;height:84px}
.lobby-page .malom-miniart .mill-line--inner{left:67px;top:56px;width:50px;height:44px}
.lobby-page .malom-miniart .mill-piece{position:absolute;width:18px;height:18px;border-radius:50%;background:#2d3036;border:2px solid #17191d;box-shadow:0 3px 5px rgba(0,0,0,.30)}
.lobby-page .malom-miniart .mill-piece.light{background:#fff7e8;border-color:#e5d7c2}
.lobby-page .malom-miniart .p1{left:8px;top:7px}.lobby-page .malom-miniart .p2{right:8px;top:7px}.lobby-page .malom-miniart .p3{left:32px;top:70px}.lobby-page .malom-miniart .p4{right:32px;top:70px}.lobby-page .malom-miniart .p5{left:81px;top:47px}.lobby-page .malom-miniart .p6{left:81px;bottom:7px}.lobby-page .malom-miniart .p7{right:7px;bottom:7px}.lobby-page .malom-miniart .p8{left:7px;bottom:7px}

 .lobby-page .kinevet-miniart{
  right:16px!important;bottom:10px!important;width:228px;height:180px!important;border-radius:26px!important;
  background:transparent!important;border:0!important;overflow:visible!important;transform:none!important;
}
.lobby-page .kinevet-miniart::before,.lobby-page .kinevet-miniart::after{display:none!important}
.lobby-page .kinevet-orb{position:absolute;border-radius:50%;background:rgba(255,255,255,.14);z-index:0;filter:blur(.2px)}
.lobby-page .kinevet-orb--1{right:112px;top:12px;width:74px;height:74px}
.lobby-page .kinevet-orb--2{right:28px;bottom:42px;width:92px;height:92px;background:rgba(255,255,255,.10)}
.lobby-page .kinevet-book{position:absolute;right:-2px;bottom:-3px;width:92px;height:28px;border-radius:0 0 14px 14px;z-index:1;
  background:linear-gradient(135deg,#39a7ff 0%,#1f77dc 68%,#155cbc 100%);box-shadow:0 10px 14px rgba(45,88,156,.24)}
.lobby-page .kinevet-book::before{content:"";position:absolute;left:-8px;top:4px;bottom:4px;width:14px;border-radius:10px 0 0 10px;background:linear-gradient(180deg,#7ec3ff,#2a86ea)}
.lobby-page .kinevet-book::after{content:"JÁTÉK";position:absolute;left:18px;top:4px;color:#fff6b0;font-size:12px;font-weight:900;letter-spacing:.04em}
.lobby-page .kinevet-board{position:absolute;right:18px;bottom:18px;width:164px;height:110px;border-radius:24px;transform:rotate(-18deg);z-index:2;
  background:linear-gradient(135deg,#ffe88b 0%,#ffd85a 48%,#f0c53a 100%);border:4px solid rgba(255,255,255,.82);
  box-shadow:0 16px 24px rgba(55,92,161,.22)}
.lobby-page .kinevet-board::before{content:"";position:absolute;inset:10px;border-radius:16px;opacity:.95;
  background:
    radial-gradient(circle at 10% 16%, rgba(255,255,255,.92) 0 7px, transparent 8px),
    radial-gradient(circle at 35% 16%, rgba(255,255,255,.92) 0 7px, transparent 8px),
    radial-gradient(circle at 60% 16%, rgba(255,255,255,.92) 0 7px, transparent 8px),
    radial-gradient(circle at 85% 16%, rgba(255,255,255,.92) 0 7px, transparent 8px),
    radial-gradient(circle at 10% 50%, rgba(255,255,255,.92) 0 7px, transparent 8px),
    radial-gradient(circle at 35% 50%, rgba(255,255,255,.92) 0 7px, transparent 8px),
    radial-gradient(circle at 60% 50%, rgba(255,255,255,.92) 0 7px, transparent 8px),
    radial-gradient(circle at 85% 50%, rgba(255,255,255,.92) 0 7px, transparent 8px),
    radial-gradient(circle at 10% 84%, rgba(255,255,255,.92) 0 7px, transparent 8px),
    radial-gradient(circle at 35% 84%, rgba(255,255,255,.92) 0 7px, transparent 8px),
    radial-gradient(circle at 60% 84%, rgba(255,255,255,.92) 0 7px, transparent 8px),
    radial-gradient(circle at 85% 84%, rgba(255,255,255,.92) 0 7px, transparent 8px),
    linear-gradient(90deg, transparent 0 9%, rgba(255,255,255,.55) 9% 10.6%, transparent 10.6% 34%, rgba(255,255,255,.55) 34% 35.6%, transparent 35.6% 58%, rgba(255,255,255,.55) 58% 59.6%, transparent 59.6% 82%, rgba(255,255,255,.55) 82% 83.6%, transparent 83.6%),
    linear-gradient(transparent 0 15%, rgba(255,255,255,.55) 15% 16.8%, transparent 16.8% 47%, rgba(255,255,255,.55) 47% 48.8%, transparent 48.8% 78%, rgba(255,255,255,.55) 78% 79.8%, transparent 79.8%);
}
.lobby-page .kinevet-board::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;border-radius:50%;transform:translate(-50%,-50%);background:#74c971;box-shadow:0 0 0 5px rgba(255,255,255,.65)}
.lobby-page .kinevet-miniart .pawn{position:absolute;width:29px;height:40px;border-radius:50% 50% 36% 36%;box-shadow:0 8px 12px rgba(0,0,0,.22);z-index:4;
  background:linear-gradient(180deg, rgba(255,255,255,.3), rgba(255,255,255,0) 42%), var(--pawn-color)}
.lobby-page .kinevet-miniart .pawn::before{content:"";position:absolute;left:6px;top:-10px;width:17px;height:17px;border-radius:50%;background:inherit;box-shadow:0 2px 4px rgba(0,0,0,.16)}
.lobby-page .kinevet-miniart .pawn::after{content:"";position:absolute;left:5px;right:5px;bottom:3px;height:8px;border-radius:12px;background:rgba(0,0,0,.08)}
.lobby-page .pawn-red{--pawn-color:#ea4d46;right:112px;bottom:56px}
.lobby-page .pawn-green{--pawn-color:#3cb969;right:76px;bottom:88px}
.lobby-page .pawn-yellow{--pawn-color:#e9bc20;right:26px;bottom:92px}
.lobby-page .pawn-blue{--pawn-color:#2f7ee8;right:34px;bottom:40px}
.lobby-page .kinevet-die{position:absolute;right:78px;bottom:10px;width:52px;height:52px;border-radius:14px;background:#fff9ee;border:3px solid #eadfca;transform:rotate(12deg);box-shadow:0 10px 15px rgba(0,0,0,.20);z-index:5}
.lobby-page .kinevet-die::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:#202c47;transform:translate(-50%,-50%);box-shadow:-15px -15px 0 #202c47,15px -15px 0 #202c47,-15px 15px 0 #202c47,15px 15px 0 #202c47,15px 0 0 #202c47}
.lobby-page .kinevet-die::after{content:"";position:absolute;inset:8px;border-radius:10px;box-shadow:inset 0 10px 12px rgba(255,255,255,.55)}
.lobby-page .kinevet-die em{display:none}
@media(max-width:860px){
  .lobby-page .malom-miniart{right:12px!important;bottom:8px!important;transform:rotate(5deg) scale(.72)!important;transform-origin:right bottom!important}
  .lobby-page .kinevet-miniart{right:6px!important;bottom:0!important;transform:scale(.68)!important;transform-origin:right bottom!important}
}


/* v2.28 – GoGame lobby: Sakk mustár / meleg aranybarna kártya */
.lobby-page .game-choice--sakk{
  background:
    radial-gradient(circle at 50% 18%,rgba(255,243,214,.12) 0 58px,transparent 59px),
    radial-gradient(circle at 84% 72%,rgba(232,194,116,.14) 0 68px,transparent 69px),
    linear-gradient(135deg,#c89034 0%,#a96822 55%,#7c4518 100%)!important;
  color:#fffaf0;
}
.lobby-page .game-choice--sakk.is-coming{opacity:1!important;cursor:default!important;pointer-events:none!important}
.lobby-page .game-choice--sakk::after{content:none!important}
.lobby-page .game-choice--sakk .game-choice-check{background:#fff7e4!important;color:#6b451f!important}
.lobby-page .game-choice--sakk .game-choice-status.coming{background:#f8e8bd!important;color:#6a451d!important}
.lobby-page .game-choice--sakk .game-choice-meta span{background:#fff2d1!important;color:#704b22!important}
.lobby-page .game-choice--sakk .game-choice-meta span:nth-child(2){background:#f7e6bd!important;color:#68431f!important}
.lobby-page .game-choice--sakk .game-choice-meta span:nth-child(3){background:#f2dba8!important;color:#65411d!important}
.lobby-page .sakk-miniart{
  right:4px!important;bottom:-2px!important;width:245px;height:190px!important;
  overflow:visible!important;transform:none!important;filter:drop-shadow(0 14px 18px rgba(18,58,36,.20))!important;
  pointer-events:none!important;
}
.lobby-page .sakk-graphic-img{
  position:absolute;right:0;bottom:0;width:100%;height:100%;object-fit:contain;object-position:right bottom;
  display:block;user-select:none;-webkit-user-drag:none;
}
@media(max-width:860px){
  .lobby-page .sakk-miniart{right:-4px!important;bottom:-4px!important;transform:scale(.66)!important;transform-origin:right bottom!important}
}


/* v1.58 – Amőba lobby card synced to violet identity */
.lobby-page .game-choice--amoba{
  background:
    radial-gradient(circle at 87% 16%,rgba(255,255,255,.12) 0 92px,transparent 93px),
    radial-gradient(circle at 79% 83%,rgba(88,221,210,.10) 0 78px,transparent 79px),
    linear-gradient(135deg,#6f49d3 0%,#8f4fb1 48%,#c25b8d 100%);
  color:#fff;
  box-shadow:0 16px 30px rgba(53,24,92,.18);
}
.lobby-page .game-choice--amoba.is-playable:hover{box-shadow:0 24px 40px rgba(62,31,104,.24)}
.lobby-page .game-choice--amoba .game-choice-status.playable{
  background:#fff0bf;
  color:#5b4430;
}
.lobby-page .game-choice--amoba .game-choice-check{
  background:rgba(255,255,255,.92);
  color:#5a4274;
}
.lobby-page .game-choice--amoba .game-choice-meta span{
  background:#fff0bf!important;
  color:#5a421f!important;
}
.lobby-page .game-choice--amoba .game-choice-meta span:nth-child(2){
  background:#efe3ff!important;
  color:#5a4278!important;
}
.lobby-page .game-choice--amoba .game-choice-meta span:nth-child(3){
  background:#f3cf72!important;
  color:#4a360f!important;
}
.lobby-page .game-choice--amoba .amoba-miniart{
  width:154px;
  height:154px;
  border-radius:30px;
  background:rgba(255,255,255,.95);
  border:1px solid rgba(255,255,255,.42);
  box-shadow:0 12px 24px rgba(57,25,94,.20);
  gap:5px;
  transform:rotate(-7deg);
}
.lobby-page .game-choice--amoba .amoba-miniart span{
  border-color:rgba(114,86,187,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
.lobby-page .game-choice--amoba .amoba-miniart span:nth-child(odd){color:#8361ef;}
.lobby-page .game-choice--amoba .amoba-miniart span:nth-child(even){color:#f06e8d;}


/* v2.29 – Szózóna váró: egyértelmű robotválasztás és közös rajt */
.game-page .bot-controls{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  margin-top:16px;
  padding:12px;
  border:1px solid rgba(19,111,62,.16);
  border-radius:14px;
  background:linear-gradient(180deg,#f5fbf6,#edf7ef);
}
.game-page .bot-controls-copy{display:grid;gap:2px;color:#154b2b}
.game-page .bot-controls-copy strong{font-size:14px}
.game-page .bot-controls-copy span{font-size:11px;line-height:1.3;color:#5a7664}
.game-page .bot-controls select{width:100%;min-height:44px;border-radius:10px}
.game-page .bot-add-button{width:100%;min-height:44px;justify-content:center;background:#dff1e3;color:#0d5b31;border-color:#b9ddc3;font-weight:900}
.game-page .bot-add-button:hover{background:#ccebd4}

.game-page .waiting-start-zone{
  display:none;
  gap:12px;
  align-items:center;
  grid-template-columns:minmax(220px,1fr) minmax(270px,380px);
  padding:16px 18px;
  border:2px solid #f1cc67;
  border-radius:18px;
  background:linear-gradient(135deg,#fff7d7 0%,#ffe7a2 100%);
  box-shadow:0 12px 30px rgba(26,76,43,.16);
  color:#4f3a09;
}
.game-page .waiting-start-zone.active{display:grid}
.game-page .waiting-start-copy{display:grid;gap:4px}
.game-page .waiting-start-copy strong{font-size:19px;line-height:1.15;color:#4b3505}
.game-page .waiting-start-copy span{font-size:13px;line-height:1.35;color:#765b1c}
.game-page .waiting-start-zone #startGame{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:66px;
  margin:0;
  border:0;
  border-radius:14px;
  background:linear-gradient(180deg,#ffb323,#e98a00);
  color:#fff;
  font-size:18px;
  font-weight:1000;
  letter-spacing:.02em;
  box-shadow:0 8px 18px rgba(187,105,0,.28);
}
.game-page .waiting-start-zone #startGame:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.03)}
.game-page .waiting-start-zone #startGame:disabled{background:#d8d4c7;color:#777267;box-shadow:none;opacity:1;cursor:not-allowed}
.game-page .waiting-start-zone #startGame.is-ready{background:#258753;color:#fff}
.game-page .waiting-start-countdown{grid-column:1/-1;display:grid;gap:6px}
.game-page .waiting-start-countdown[hidden]{display:none!important}
.game-page .waiting-start-countdown-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:900;color:#6b4b05}
.game-page .waiting-start-countdown-head strong{font-size:16px;color:#b76500}
.game-page .waiting-start-track{height:12px;border-radius:999px;overflow:hidden;background:rgba(105,70,0,.15);box-shadow:inset 0 1px 2px rgba(0,0,0,.12)}
.game-page .waiting-start-track i{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff9d00,#ffcf42);transition:width .2s linear}
.game-page .player-row.ready small{color:#21824b;font-weight:800}

.game-page .mobile-bot-copy{display:none}

@media(max-width:860px){
  .game-page .waiting-start-zone{grid-template-columns:1fr;padding:13px}
  .game-page .waiting-start-zone #startGame{min-height:58px}
  .game-page .waiting-start-countdown{grid-column:auto}
}
@media(max-width:620px){
  .game-page .controls-panel:has(.mobile-waiting-players.active){display:grid!important;gap:8px!important}
  .game-page .mobile-bot-controls.active{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:7px!important;
    padding:10px!important;
    border-radius:12px!important;
    background:#edf8ef!important;
    border:1px solid #c9e7d0!important;
  }
  .game-page .mobile-bot-copy{display:grid;grid-column:1/-1;gap:1px;color:#154b2b}
  .game-page .mobile-bot-copy strong{font-size:13px}
  .game-page .mobile-bot-copy span{font-size:11px;color:#5b7664}
  .game-page .mobile-bot-controls select{min-width:0!important;width:100%!important}
  .game-page .mobile-bot-controls button{white-space:nowrap!important}
  .game-page .waiting-start-zone{
    grid-column:1/-1!important;
    padding:11px!important;
    gap:8px!important;
    border-radius:13px!important;
  }
  .game-page .waiting-start-copy strong{font-size:15px}
  .game-page .waiting-start-copy span{font-size:11px}
  .game-page .waiting-start-zone #startGame{height:auto!important;min-height:52px!important;font-size:15px!important}
  .game-page .waiting-start-track{height:9px}
}

.lobby-page .pill-robot{background:#fff0a7!important;color:#49370b!important;border-color:#ffe47a!important}

/* v2.30 – váró finomítás + tartós TESZT eredménysáv */
.game-page .waiting-start-zone{
  grid-template-columns:minmax(0,1fr) minmax(260px,360px);
  gap:14px 18px;
  padding:16px 18px;
  border:1px solid rgba(255,211,94,.28);
  border-left:5px solid #f3c44e;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(4,62,34,.98),rgba(7,91,49,.98));
  box-shadow:0 14px 32px rgba(0,0,0,.18);
  color:#fff;
}
.game-page .waiting-start-copy strong{font-size:19px;color:#fff}
.game-page .waiting-start-copy span{font-size:13px;color:#cfe8d7}
.game-page .waiting-start-zone #startGame{
  min-height:64px;
  border-radius:13px;
  background:linear-gradient(180deg,#ffc84e,#efa20f);
  color:#173a25;
  box-shadow:0 8px 20px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.45);
}
.game-page .waiting-start-zone #startGame:disabled{
  background:#375e49;color:#9eb5a6;border:1px solid rgba(255,255,255,.08);box-shadow:none
}
.game-page .waiting-start-zone #startGame.is-ready{background:linear-gradient(180deg,#7bd897,#42aa68);color:#08371f}
.game-page .waiting-start-countdown-head{color:#dceee2}
.game-page .waiting-start-countdown-head strong{color:#ffd36b}
.game-page .waiting-start-track{height:10px;background:rgba(0,0,0,.28)}
.game-page .waiting-start-track i{background:linear-gradient(90deg,#f4b323,#ffe284)}

.game-page .submission-status{
  display:none;
  grid-column:1/-1;
  min-height:44px;
  align-items:center;
  padding:10px 16px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(2,47,25,.82);
  color:#d9eee0;
  font-size:15px;
  font-weight:850;
  line-height:1.25;
  box-shadow:inset 4px 0 0 #6aaa7b;
}
.game-page .submission-status:not(:empty){display:flex}
.game-page .submission-status.tested{
  background:linear-gradient(90deg,#f3bf3d 0,#ffd66b 100%);
  border-color:#ffe39a;color:#3d3109;box-shadow:0 7px 16px rgba(0,0,0,.14),inset 5px 0 0 #fff2b5
}
.game-page .submission-status.dirty{
  background:#6f4b18;border-color:#b98940;color:#fff0c8;box-shadow:inset 5px 0 0 #efb84c
}
.game-page .submission-status.final{
  background:#bfe9c9;border-color:#daf4df;color:#0b542e;box-shadow:inset 5px 0 0 #45a969
}

@media(max-width:620px){
  .game-page .waiting-start-zone{grid-template-columns:1fr!important;padding:12px!important;border-left-width:4px!important}
  .game-page .waiting-start-zone #startGame{min-height:54px!important}
  .game-page #submissionStatus{
    display:none!important;
    position:static!important;
    grid-column:1/-1!important;
    left:auto!important;right:auto!important;bottom:auto!important;
    min-height:36px!important;padding:7px 10px!important;margin:0!important;
    border-radius:9px!important;font-size:12px!important;line-height:1.2!important;
    text-shadow:none!important;pointer-events:none!important
  }
  .game-page #submissionStatus:not(:empty){display:flex!important}
}
@media(min-width:621px){
  .game-page .game-stage > .waiting-start-zone{margin:0 0 14px}
}

/* v2.31 – GoGame lobby hero stabilizálás: a dekoráció nem lóghat a szövegre */
@media (min-width: 1101px){
  .lobby-page .game-hub-hero{
    grid-template-columns:minmax(0, 1fr) 360px !important;
    gap:42px !important;
    align-items:center !important;
    min-height:410px !important;
    padding:42px 38px 34px 52px !important;
  }
  .lobby-page .game-hub-copy{
    min-width:0 !important;
    max-width:760px !important;
    padding:0 !important;
    align-self:center !important;
  }
  .lobby-page .game-hub-copy h1{
    font-size:clamp(58px,5.2vw,78px) !important;
    line-height:.96 !important;
    margin:14px 0 16px !important;
  }
  .lobby-page .game-hub-copy p{
    max-width:720px !important;
    font-size:22px !important;
    line-height:1.38 !important;
  }
  .lobby-page .game-hub-glance{
    margin-top:24px !important;
    gap:10px !important;
  }
  .lobby-page .pill{
    min-height:48px !important;
    padding:0 20px !important;
    font-size:15px !important;
  }
  .lobby-page .game-hub-scene{
    width:360px !important;
    min-width:360px !important;
    height:320px !important;
    min-height:320px !important;
    justify-self:end !important;
    align-self:center !important;
    overflow:hidden !important;
    contain:layout paint !important;
  }
  .lobby-page .game-hub-scene::before{
    width:250px !important;
    height:245px !important;
    right:22px !important;
    top:18px !important;
  }
  .lobby-page .game-hub-scene::after{
    width:320px !important;
    right:0 !important;
    bottom:18px !important;
  }
  .lobby-page .scene-poster{right:150px !important;top:34px !important;width:138px !important;}
  .lobby-page .scene-lamp{right:12px !important;top:38px !important;width:134px !important;}
  .lobby-page .scene-dino{right:100px !important;bottom:62px !important;width:82px !important;}
  .lobby-page .scene-cup{right:20px !important;bottom:48px !important;width:94px !important;}
  .lobby-page .scene-note{right:8px !important;bottom:4px !important;width:82px !important;}

  /* A lebegő könyvkupac korábban ráült a hero szövegére. */
  .lobby-page .hub-decor--books-left,
  .lobby-page .hub-decor--books-right{
    display:none !important;
  }

  /* A felhő csak a szöveg mögött maradjon, ne nyúljon át a dekorációs oszlopba. */
  .lobby-page .game-hub-hero::before{
    left:34px !important;
    top:76px !important;
    width:min(650px, calc(100% - 470px)) !important;
    height:245px !important;
    box-shadow:
      86px -34px 0 10px #fffdf8,
      205px -5px 0 24px #fffdf8,
      326px -44px 0 8px #fffdf8,
      445px -8px 0 18px #fffdf8 !important;
  }
  .lobby-page .game-hub-hero::after{
    display:none !important;
  }
}

@media (min-width:861px) and (max-width:1100px){
  .lobby-page .game-hub-hero{
    grid-template-columns:minmax(0,1fr) 285px !important;
    gap:22px !important;
    padding:34px 26px 28px 32px !important;
    min-height:380px !important;
  }
  .lobby-page .game-hub-copy{padding:0 !important;min-width:0 !important;}
  .lobby-page .game-hub-copy h1{font-size:56px !important;}
  .lobby-page .game-hub-copy p{font-size:18px !important;max-width:590px !important;}
  .lobby-page .game-hub-scene{width:285px !important;min-width:285px !important;overflow:hidden !important;contain:layout paint !important;}
  .lobby-page .hub-decor--books-left,.lobby-page .hub-decor--books-right{display:none !important;}
  .lobby-page .game-hub-hero::after{display:none !important;}
}


/* v2.32 – Szózóna finomítás: sötét robotdoboz + középre zárt TESZT sáv */
.game-page .bot-controls{
  background:linear-gradient(180deg,rgba(7,96,52,.97),rgba(4,67,37,.99))!important;
  border:1px solid rgba(149,219,172,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 22px rgba(0,0,0,.16)!important;
}
.game-page .bot-controls-copy{color:#eef9f1!important}
.game-page .bot-controls-copy strong{color:#ffffff!important}
.game-page .bot-controls-copy span{color:#c9e3d1!important}
.game-page .bot-controls select,
.game-page .mobile-bot-controls select{
  background:#f2dfb5!important;
  border:1px solid #d7b56a!important;
  color:#173a25!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45)!important;
}
.game-page .bot-add-button,
.game-page #mobileAddBot{
  background:linear-gradient(180deg,#ffd66a,#efb12a)!important;
  color:#173a25!important;
  border:0!important;
  box-shadow:0 8px 18px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.4)!important;
}
.game-page .bot-add-button:hover,
.game-page #mobileAddBot:hover{background:linear-gradient(180deg,#ffde82,#f4bb3a)!important}

@media(max-width:620px){
  .game-page .mobile-bot-controls.active{
    background:linear-gradient(180deg,rgba(7,96,52,.97),rgba(4,67,37,.99))!important;
    border:1px solid rgba(149,219,172,.18)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 22px rgba(0,0,0,.16)!important;
  }
  .game-page .mobile-bot-copy{color:#eef9f1!important}
  .game-page .mobile-bot-copy strong{color:#ffffff!important}
  .game-page .mobile-bot-copy span{color:#c9e3d1!important}
}

.game-page .submission-status{
  justify-content:center!important;
  text-align:center!important;
  min-height:30px!important;
  padding:5px 14px!important;
  border-radius:999px!important;
  font-size:15px!important;
  font-weight:1000!important;
  letter-spacing:.01em!important;
  box-shadow:none!important;
}
.game-page .submission-status.tested{
  background:#f4c84f!important;
  border:1px solid #ffd97f!important;
  color:#111111!important;
  box-shadow:0 5px 12px rgba(0,0,0,.12)!important;
}
.game-page .submission-status.dirty{
  background:#7a5220!important;
  border:1px solid #b88844!important;
  color:#fff2ca!important;
  box-shadow:0 5px 12px rgba(0,0,0,.10)!important;
}
.game-page .submission-status.final{
  background:#bfe9c9!important;
  border:1px solid #daf4df!important;
  color:#0b542e!important;
  box-shadow:0 5px 12px rgba(0,0,0,.08)!important;
}
@media(max-width:620px){
  .game-page #submissionStatus{
    justify-content:center!important;
    text-align:center!important;
    min-height:28px!important;
    padding:4px 10px!important;
    border-radius:999px!important;
    font-size:12px!important;
  }
}


/* v2.33 – váró overlay, teljes szobás rajt és gyorsuló csík */
.game-page .game-stage{position:relative!important}
.game-page .waiting-overlay{
  position:absolute;
  left:18px;
  right:18px;
  top:104px;
  bottom:18px;
  display:none;
  align-items:center;
  justify-content:center;
  border-radius:22px;
  background:rgba(0,36,20,.48);
  backdrop-filter:blur(3px);
  z-index:4;
}
.game-page .waiting-overlay.active{display:flex}
.game-page .waiting-overlay-card{
  width:min(560px,calc(100% - 28px));
  padding:24px 24px 20px;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(3,67,37,.98),rgba(6,94,52,.98));
  border:1px solid rgba(196,238,208,.18);
  box-shadow:0 20px 46px rgba(0,0,0,.28);
  display:grid;
  justify-items:center;
  text-align:center;
  gap:10px;
}
.game-page .waiting-overlay-spinner{
  width:76px;height:76px;border-radius:50%;
  display:grid;place-items:center;
  background:radial-gradient(circle at 30% 30%,#ffefb0,#f2c75d 62%,#d79c21 100%);
  color:#173a25;font-size:36px;font-weight:900;
  box-shadow:0 10px 24px rgba(0,0,0,.2);
  animation:waitingHourglassSpin 1.8s linear infinite;
}
.game-page .waiting-overlay-card strong{font-size:30px;line-height:1.05;color:#fff}
.game-page .waiting-overlay-card span{font-size:18px;line-height:1.35;color:#d8eadf;max-width:460px}
.game-page .waiting-overlay-count{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:110px;min-height:42px;padding:0 18px;
  border-radius:999px;background:#f4c84f;color:#111;font-size:23px;font-weight:1000;
}
@keyframes waitingHourglassSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

.game-page .waiting-start-zone.is-hurry .waiting-start-track i,
.game-page .waiting-start-countdown.is-hurry .waiting-start-track i{
  background:linear-gradient(90deg,#ffe57f,#ffd14c 30%,#ff9b0f 70%,#ffe9a2)!important;
  box-shadow:0 0 12px rgba(255,215,95,.45);
  animation:airRushPulse .32s linear infinite;
}
@keyframes airRushPulse{
  0%{filter:brightness(1);transform:translateX(0)}
  50%{filter:brightness(1.1);transform:translateX(1px)}
  100%{filter:brightness(1);transform:translateX(0)}
}

@media(max-width:620px){
  .game-page .waiting-overlay{left:8px;right:8px;top:76px;bottom:8px;border-radius:14px}
  .game-page .waiting-overlay-card{width:calc(100% - 18px);padding:18px 14px 16px;border-radius:18px;gap:8px}
  .game-page .waiting-overlay-spinner{width:60px;height:60px;font-size:28px}
  .game-page .waiting-overlay-card strong{font-size:22px}
  .game-page .waiting-overlay-card span{font-size:14px}
  .game-page .waiting-overlay-count{min-width:88px;min-height:36px;font-size:20px}
}


/* v2.36 – játék közbeni játékszabály modal */
.game-page .game-help-button{
  appearance:none;
  border:0;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font:inherit;
  font-weight:850;
  cursor:pointer;
}
.game-page .game-help-button:hover{background:rgba(255,255,255,.15)}
.game-page .mobile-rules-button{
  width:100%;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  padding:10px 12px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.game-rules-backdrop{
  position:fixed;
  inset:0;
  z-index:10050;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,24,14,.74);
  backdrop-filter:blur(8px);
}
.game-rules-backdrop.is-open{display:flex}
.game-rules-modal{
  width:min(1120px,96vw);
  height:min(88vh,900px);
  display:grid;
  grid-template-rows:auto 1fr;
  overflow:hidden;
  border-radius:24px;
  background:#f7f3e8;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 30px 80px rgba(0,0,0,.36);
}
.game-rules-modal-head{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 18px 14px 24px;
  background:linear-gradient(135deg,#06482a,#08703e);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.game-rules-modal-head>div{display:grid;gap:2px}
.game-rules-modal-head span{font-size:11px;font-weight:1000;letter-spacing:.14em;text-transform:uppercase;color:#f4c84f}
.game-rules-modal-head strong{font-size:24px;line-height:1}
.game-rules-close{
  width:46px;height:46px;padding:0;border:0;border-radius:50%;
  background:rgba(255,255,255,.12);color:#fff;font-size:30px;line-height:1;cursor:pointer
}
.game-rules-close:hover{background:rgba(255,255,255,.22)}
.game-rules-frame{width:100%;height:100%;border:0;background:#f7f3e8}
html.game-rules-open,html.game-rules-open body{overflow:hidden!important}
.help-page.help-embedded{min-height:100vh;background:#f7f3e8!important}
.help-page.help-embedded .help-wrap{margin-top:0!important;padding-top:22px!important;padding-bottom:36px!important}
.help-page.help-embedded .help-hero{margin-top:0!important}
@media(max-width:620px){
  .game-rules-backdrop{padding:0}
  .game-rules-modal{width:100vw;height:100dvh;max-height:none;border-radius:0}
  .game-rules-modal-head{min-height:62px;padding:10px 12px 10px 16px}
  .game-rules-modal-head strong{font-size:20px}
  .game-rules-close{width:40px;height:40px;font-size:26px}
  .help-page.help-embedded .help-wrap{padding-top:12px!important}
}


/* v2.37 – több robot + sötétzöld játékszabály modal */
.help-page.help-embedded{
  min-height:100vh!important;
  background:
    radial-gradient(circle at 14% 0%,rgba(38,126,77,.24),transparent 32rem),
    #063f29!important;
  color:#eaf6ed!important;
}
.game-rules-frame{background:#063f29!important}
.game-rules-modal{background:#063f29!important}
.help-page.help-embedded .help-wrap{background:transparent!important}


/* v2.51 – GoGame lobby: Mesterlogika arany/sárga kártya */
.lobby-page .game-choice--mesterlogika{
  background:
    radial-gradient(circle at 82% 20%,rgba(255,246,195,.20) 0 70px,transparent 71px),
    radial-gradient(circle at 26% 72%,rgba(255,221,128,.14) 0 66px,transparent 67px),
    linear-gradient(135deg,#f0c84c 0%,#dca52d 54%,#bd7a1b 100%)!important;
  color:#fffaf0;
  box-shadow:0 20px 42px rgba(116,76,15,.24),var(--gg-shadow);
}
.lobby-page .game-choice--mesterlogika.is-coming{opacity:1!important;cursor:default!important;pointer-events:none!important}
.lobby-page .game-choice--mesterlogika::after{content:none!important}
.lobby-page .game-choice--mesterlogika .game-choice-check{background:#fff7e2!important;color:#6f4b12!important}
.lobby-page .game-choice--mesterlogika .game-choice-status.coming{background:#fff0bf!important;color:#7a5615!important}
.lobby-page .game-choice--mesterlogika p{color:#fff9ee!important;max-width:68%}
.lobby-page .game-choice--mesterlogika .game-choice-meta span{background:#fff2cb!important;color:#6c4a17!important}
.lobby-page .game-choice--mesterlogika .game-choice-meta span:nth-child(2){background:#efe5ff!important;color:#654b83!important}
.lobby-page .game-choice--mesterlogika .game-choice-meta span:nth-child(3){background:#e5f4ff!important;color:#31506f!important}
.lobby-page .mesterlogika-miniart{
  right:8px!important;bottom:2px!important;width:238px;height:184px!important;overflow:visible!important;
  filter:drop-shadow(0 16px 18px rgba(93,64,12,.18))!important;transform:none!important;pointer-events:none!important;
}
.lobby-page .mesterlogika-miniart .ml-board{
  position:absolute;right:0;bottom:0;width:220px;height:152px;border-radius:28px;transform:rotate(-12deg);
  background:linear-gradient(145deg,#f0ca7c 0%,#d79e45 58%,#ba7724 100%);
  border:4px solid rgba(255,248,227,.88);box-shadow:0 16px 28px rgba(92,62,17,.25);
}
.lobby-page .mesterlogika-miniart .ml-board::before{
  content:"";position:absolute;left:18px;top:16px;width:138px;height:118px;border-radius:20px;
  background:linear-gradient(180deg,rgba(255,248,227,.45),rgba(255,255,255,.18));
  box-shadow:inset 0 0 0 2px rgba(115,73,18,.18);
}
.lobby-page .mesterlogika-miniart .ml-board::after{
  content:"";position:absolute;right:18px;top:16px;width:32px;height:118px;border-radius:16px;
  background:linear-gradient(180deg,rgba(255,248,227,.45),rgba(255,255,255,.18));
  box-shadow:inset 0 0 0 2px rgba(115,73,18,.16);
}
.lobby-page .mesterlogika-miniart .ml-peg,.lobby-page .mesterlogika-miniart .ml-pin{position:absolute;border-radius:50%;display:block}
.lobby-page .mesterlogika-miniart .ml-peg{width:24px;height:24px;box-shadow:0 5px 10px rgba(0,0,0,.18), inset 0 3px 5px rgba(255,255,255,.4)}
.lobby-page .mesterlogika-miniart .peg-red{background:#ff6464}.lobby-page .mesterlogika-miniart .peg-blue{background:#5db4ff}.lobby-page .mesterlogika-miniart .peg-green{background:#67cb70}.lobby-page .mesterlogika-miniart .peg-purple{background:#8d6cff}.lobby-page .mesterlogika-miniart .peg-yellow{background:#ffd653}.lobby-page .mesterlogika-miniart .peg-pink{background:#ff8ec0}.lobby-page .mesterlogika-miniart .peg-teal{background:#57d3c1}.lobby-page .mesterlogika-miniart .peg-orange{background:#ff9b4b}
.lobby-page .mesterlogika-miniart .p1{left:34px;top:28px}.lobby-page .mesterlogika-miniart .p2{left:66px;top:28px}.lobby-page .mesterlogika-miniart .p3{left:98px;top:28px}.lobby-page .mesterlogika-miniart .p4{left:130px;top:28px}
.lobby-page .mesterlogika-miniart .p5{left:50px;top:68px}.lobby-page .mesterlogika-miniart .p6{left:82px;top:68px}.lobby-page .mesterlogika-miniart .p7{left:114px;top:68px}.lobby-page .mesterlogika-miniart .p8{left:146px;top:68px}
.lobby-page .mesterlogika-miniart .ml-pin{width:10px;height:10px;box-shadow:0 2px 4px rgba(0,0,0,.18)}
.lobby-page .mesterlogika-miniart .pin-white{background:#fffdf7;border:1px solid rgba(80,60,16,.14)}
.lobby-page .mesterlogika-miniart .pin-dark{background:#2c3656}
.lobby-page .mesterlogika-miniart .w1{right:27px;top:34px}.lobby-page .mesterlogika-miniart .d1{right:15px;top:34px}.lobby-page .mesterlogika-miniart .w2{right:27px;top:48px}.lobby-page .mesterlogika-miniart .d2{right:15px;top:48px}
.lobby-page .mesterlogika-miniart .d3{right:27px;top:76px}.lobby-page .mesterlogika-miniart .w3{right:15px;top:76px}
@media(max-width:860px){
  .lobby-page .game-choice--mesterlogika p{max-width:100%}
  .lobby-page .mesterlogika-miniart{right:-4px!important;bottom:-4px!important;transform:scale(.68)!important;transform-origin:right bottom!important}
}

/* v2.53 – Mesterlogika kártya: új PNG illusztráció a mockup alapján */
.lobby-page .game-choice--mesterlogika .mesterlogika-miniart{
  right:-6px!important;
  bottom:-8px!important;
  width:270px!important;
  height:205px!important;
  overflow:visible!important;
  filter:drop-shadow(0 16px 24px rgba(93,64,12,.22))!important;
  transform:none!important;
  pointer-events:none!important;
}
.lobby-page .game-choice--mesterlogika .mesterlogika-graphic-img{
  position:absolute;
  right:0;
  bottom:0;
  width:100%;
  height:auto;
  display:block;
}
@media (max-width: 860px){
  .lobby-page .game-choice--mesterlogika .mesterlogika-miniart{
    right:-8px!important;
    bottom:-10px!important;
    width:206px!important;
    height:158px!important;
    transform:none!important;
  }
}

/* v2.60 – Mesterlogika játszható */
.lobby-page .game-choice--mesterlogika.is-playable{cursor:pointer!important;pointer-events:auto!important;text-decoration:none!important}
.lobby-page .game-choice--mesterlogika.is-playable:hover{transform:translateY(-3px)}

/* v2.83 – Malom pilot: diófa/réz lobby-kártya a jóváhagyott design alapján */
.lobby-page .game-choice--malom{
  background:
    radial-gradient(circle at 78% 18%,rgba(239,194,116,.14) 0 68px,transparent 69px),
    radial-gradient(circle at 20% 80%,rgba(255,255,255,.06) 0 74px,transparent 75px),
    linear-gradient(135deg,#6f4429 0%,#4d2d1c 56%,#332016 100%)!important;
  color:#fff6e6!important;
  box-shadow:0 20px 42px rgba(54,31,18,.28),var(--gg-shadow)!important;
}
.lobby-page .game-choice--malom .game-choice-check{background:#f1dfc3!important;color:#4b2e1d!important}
.lobby-page .game-choice--malom .game-choice-status.playable{background:#dfb96f!important;color:#3b2617!important}
.lobby-page .game-choice--malom .game-choice-meta span{background:#f0dfc1!important;color:#4b2e1c!important}
.lobby-page .game-choice--malom .game-choice-meta span:nth-child(2){background:#d9c39f!important;color:#4f3422!important}
.lobby-page .game-choice--malom .game-choice-meta span:nth-child(3){background:#efe4d1!important;color:#573825!important}
.lobby-page .malom-miniart{background:linear-gradient(145deg,#7e5335,#5a3825)!important;border-color:rgba(236,205,154,.58)!important;box-shadow:0 15px 28px rgba(25,13,7,.35)!important}
.lobby-page .malom-miniart .mill-line{border-color:#d6b06c!important;border-width:3px!important}
.lobby-page .malom-miniart .mill-bridge{position:absolute;background:#d6b06c;display:block;z-index:0}
.lobby-page .malom-miniart .mill-bridge--top{width:3px;height:22px;left:93px;top:16px}
.lobby-page .malom-miniart .mill-bridge--bottom{width:3px;height:22px;left:93px;bottom:16px}
.lobby-page .malom-miniart .mill-bridge--left{height:3px;width:26px;left:17px;top:78px}
.lobby-page .malom-miniart .mill-bridge--right{height:3px;width:26px;right:17px;top:78px}
.lobby-page .malom-miniart .mill-piece{z-index:2}
/* Malom miniart topológia-korrekció: a három négyzet csak az oldalfelezőkön kapcsolódik, a középpont üres. */
.lobby-page .malom-miniart .mill-bridge--top{height:42px!important;top:16px!important}
.lobby-page .malom-miniart .mill-bridge--bottom{height:42px!important;bottom:16px!important}
.lobby-page .malom-miniart .mill-bridge--left{width:51px!important;left:17px!important}
.lobby-page .malom-miniart .mill-bridge--right{width:51px!important;right:17px!important}
