:root{color-scheme:dark;--gold:#f9cf85;--cream:#fff3db;--red:#a93124;--ink:#180a0b;--line:#be7e3d;--w:420px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#080405;color:var(--cream);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-tap-highlight-color:transparent}
button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid #fff3b1;outline-offset:3px}
.phone{position:relative;isolation:isolate;width:min(100%,var(--w));min-height:100svh;margin:auto;padding:env(safe-area-inset-top) 11px max(9px,env(safe-area-inset-bottom));overflow:hidden;background:#0d0807;box-shadow:0 0 26px #0009}
.background{position:absolute;inset:0;z-index:-3;background:linear-gradient(to bottom,rgba(10,2,3,.94) 0%,rgba(17,4,5,.91) 11%,rgba(25,6,7,.78) 30%,rgba(20,4,5,.26) 55%,rgba(15,5,6,.42) 100%),url('assets/peklo.webp') center 50% / cover no-repeat}
.fire-layer{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden;mix-blend-mode:screen;opacity:.6;filter:blur(1px)}
.torch{position:absolute;top:36%;width:36px;height:128px;background:radial-gradient(ellipse at 50% 65%,#ffdb7938,transparent 54%),radial-gradient(ellipse at 50% 45%,#ff66002c,transparent 55%);animation:burn 2.35s ease-in-out infinite alternate}.torch.left{left:-14px}.torch.right{right:-17px;animation-delay:-1.1s}.embers{position:absolute;inset:0;background:radial-gradient(1px 2px at 12% 23%,#ffb45177,transparent),radial-gradient(1px 2px at 80% 32%,#ffb451aa,transparent),radial-gradient(2px 2px at 58% 52%,#ff8a2e66,transparent);animation:embers 4.4s infinite ease-in-out alternate}
@keyframes burn{0%{transform:scale(.7, .92) translateY(5px);opacity:.4}100%{transform:scale(1.3,1.13) translateY(-6px);opacity:1}}@keyframes embers{from{transform:translateY(5px);opacity:.35}to{transform:translateY(-17px);opacity:1}}
.header{height:58px;display:flex;align-items:center;justify-content:space-between;gap:7px}.logo{flex:1;min-width:0}.logo strong{font:900 clamp(18px,5.4vw,24px) Georgia,serif;color:var(--gold);letter-spacing:-.45px;text-shadow:0 2px 5px #150400,0 0 20px #fd6c204b;white-space:nowrap}.logo small{display:block;font-size:9px;letter-spacing:1.4px;color:#eed0aa;font-weight:800;margin-top:1px}.soul{flex:none;min-width:69px;border:1px solid #b98648a9;border-radius:13px;padding:3px 6px;text-align:center;background:#160909dd;line-height:1.05}.soul span{display:block;font-size:8px;color:#eab97b;font-weight:800}.soul b{font-size:21px;color:#fff0bd;font-weight:900}.soul small{font-size:9px;color:#c89f75}.menuBtn{flex:none;border-radius:50%;width:37px;height:37px;font-size:20px;color:#ffdea3;background:#29140fed;border:1px solid #b9874d}
.top-actions{margin:4px 0 6px}.beginner{display:block;width:100%;border:1px solid #edb774;color:#3e190d;background:linear-gradient(180deg,#ffe19d,#c98836);padding:8px;border-radius:13px;font-size:12px;font-weight:900;box-shadow:0 3px 12px #0007}
.opponents{display:grid;grid-template-columns:1fr 1fr;gap:9px;position:relative;z-index:3}.opponent{text-align:center;position:relative;min-width:0}.opponent img{display:block;width:100%;height:clamp(120px,31vh,178px);object-fit:cover;object-position:center 27%;border:1px solid #b87842;border-radius:13px;box-shadow:0 7px 15px #080304e0}.opponent.winning img{box-shadow:0 0 0 2px #f6d274,0 0 24px #eeb66c99}.opponent.fading img{filter:sepia(.42) grayscale(.35) brightness(.7)}.micro-cards{height:21px;display:flex;justify-content:center;align-items:start;margin-top:-17px;position:relative;z-index:4;pointer-events:none}.micro-cards i{width:12px;height:19px;margin-left:-2px;transform:rotate(var(--r));border:1px solid #e8c8a5;border-radius:2px;background:repeating-linear-gradient(45deg,#0d3e58 0px,#0d3e58 3px,#376e82 4px,#193e58 6px);box-shadow:0 2px 5px #0008}.opp-name{font:900 18px Georgia,serif;color:#ffdda8;text-shadow:0 2px 2px #000;line-height:1.1}.opp-name span{color:#dd623e}.opponent small{font-size:11px;color:#ffe4b2;font-weight:800}
.statusline{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:6px;background:#140a0bd9;border:1px solid #b980476a;border-radius:12px;padding:6px 9px;font-size:10px;font-weight:800;letter-spacing:.25px;position:relative;z-index:3}.statusline #phaseLabel{color:#ffe2ab}.statusline #scoreLabel{white-space:nowrap;color:#f7c482}
.play-area{position:relative;height:clamp(185px,29svh,285px);min-height:185px;z-index:2}.trump-chip{position:absolute;top:10px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#220d0bdb;color:#ffe7b2;border:1px solid #c48849;border-radius:18px;font-size:11px;padding:5px 11px;font-weight:900;z-index:7}.trick-card{position:absolute;width:clamp(60px,17vw,80px);aspect-ratio:246/392;transition:transform .22s;z-index:4}.trick-card img{display:block;width:100%;height:100%;object-fit:cover;border-radius:5px;box-shadow:0 4px 15px #000b;border:2px solid #ffe4ba}.trick-card .who{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;color:#ffe3aa;text-shadow:0 2px 3px #000;font-weight:900}.card-l{top:24%;left:16%;transform:rotate(-10deg)}.card-r{top:24%;right:16%;transform:rotate(10deg)}.card-b{top:46%;left:50%;transform:translateX(-50%) rotate(-1deg)}.table-note{position:absolute;left:14px;right:14px;bottom:6px;padding:7px;border:1px solid #ae68398a;background:#17080bdc;color:#ffdaa3;font-size:12px;font-weight:800;text-align:center;border-radius:13px;text-shadow:0 1px 3px #000;z-index:7;min-height:30px}.table-action{position:absolute;z-index:10;top:24%;left:0;right:0;display:flex;justify-content:center;gap:6px;flex-wrap:wrap;pointer-events:none}.table-action>*{pointer-events:auto}.suitbtn{border-radius:9px;border:1px solid #f4c78b;background:linear-gradient(#563123,#2d120e);color:#fff1d8;padding:10px 12px;min-width:65px;font-size:13px;font-weight:900;box-shadow:0 3px 7px #000b}.table-action .action-heading{flex-basis:100%;color:#ffe3a9;text-align:center;font-size:13px;font-weight:900;text-shadow:0 2px 4px #000;background:#1c080be8;margin:0 18px 3px;border-radius:9px;padding:7px}
.hand-label{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:11px;margin:3px 4px;color:#ffefcd;position:relative;z-index:5}.hand-label b{font-weight:900}.hand-label span{font-size:10px;color:#fdd28f;font-weight:800}.hand-zone{position:relative;z-index:5;width:100%;height:clamp(118px,19svh,162px);display:flex;align-items:center;justify-content:center;overflow:visible;touch-action:pan-y;padding:9px 2px 13px}.own-card{width:var(--cardWidth,74px);aspect-ratio:246/392;flex:none;position:relative;margin-left:var(--margin,0px);transform:translateY(var(--lift,0px)) rotate(var(--angle,0deg));transition:transform .13s,filter .13s;transform-origin:bottom center;cursor:pointer;background:#f6eadd;border-radius:6px;box-shadow:0 3px 8px #000b;user-select:none}.own-card:first-child{margin-left:0}.own-card img{display:block;width:100%;height:100%;border-radius:5px;border:2px solid #e5d1a9}.own-card.selected{--lift:-19px!important;filter:drop-shadow(0px 0px 6px #ffdf7a);z-index:18!important}.own-card.playable{box-shadow:0 0 0 2px #f8ca68,0 0 12px #ffc36899}.own-card.inactive{filter:brightness(.48) saturate(.65);cursor:not-allowed;opacity:1}.own-card:active{transform:translateY(-12px) rotate(0)}.own-card:focus-visible{outline:3px solid #fff3aa}
.bottom-action{position:relative;z-index:6;display:flex;gap:8px;min-height:45px}.primaryBtn,.secondaryBtn{width:100%;border:1px solid #ecc38c;border-radius:12px;padding:10px 9px;font-weight:950;font-size:13px;box-shadow:0 3px 8px #0009;color:#2b1108;background:linear-gradient(#ffe9a8,#c98e47)}.secondaryBtn{background:#281412;color:#ffdfae;border-color:#ae7447}.primaryBtn:disabled{opacity:.45;filter:grayscale(.7)}.footnote{text-align:center;color:#d8b18f;font-size:9px;padding:5px}
.coach{position:fixed;left:50%;top:clamp(245px,37svh,360px);transform:translateX(-50%);width:min(calc(100vw - 35px),355px);z-index:25;border:2px solid #f4ce83;border-radius:18px;padding:10px 12px;background:linear-gradient(135deg,#422016f8,#1d0a0dfb);box-shadow:0 14px 35px #000c}.coach-title{font-weight:900;color:#ffe1a7;font-size:15px}.coach p{font-size:12px;line-height:1.4;margin:5px 0 9px}.coach-footer{display:flex;align-items:center;gap:7px;justify-content:space-between}.coach-footer button{background:#ad7536;color:#fff1d8;border:1px solid #eeb975;border-radius:9px;font-size:11px;font-weight:800;padding:6px}.coach-footer #coachClose{background:#2b1817}
.overlay{position:fixed;inset:0;z-index:40;background:#090406e8;display:flex;align-items:center;justify-content:center;padding:14px;backdrop-filter:blur(4px)}.modal-box{background:linear-gradient(145deg,#51291a,#1f0e0d 67%);width:min(100%,400px);max-height:91dvh;overflow-y:auto;padding:17px 15px;border:2px solid #d99f55;border-radius:21px;box-shadow:0 20px 50px #000b;color:#f8e2c2}.modal-box h2{font:900 26px Georgia,serif;text-align:center;color:#ffe3a4;margin:2px 0 13px}.modal-box p{font-size:13px;line-height:1.5}.modal-box label{display:block;font-size:12px;margin:8px 0 5px;color:#ffe6bc;font-weight:850}.modal-box input[type=text]{width:100%;padding:10px 12px;border:1px solid #af895f;border-radius:10px;background:#1b0e0f;color:white}.modal-box .modal-close{float:right;background:#281014;border:1px solid #c1874e;color:#ffdaaa;border-radius:50%;width:30px;height:30px}.modal-box a{color:#ffe3a5}.menu-links{display:grid;gap:8px;margin:10px 0}.menu-links a,.menu-links button,.menu-links summary{display:block;text-align:left;text-decoration:none;padding:12px 13px;border:1px solid #c48a4da6;background:#2c1715;border-radius:12px;color:#ffebcb;font-size:14px;font-weight:850}.menu-links details{background:#180c0db8;border-radius:12px}.menu-links details>div{padding:10px}.menu-links details button,.menu-links details a{width:100%;margin:6px 0;font-size:12px}.stat-lines{display:grid;gap:8px;font-size:13px;background:#18090a9c;border-radius:10px;padding:12px;margin:8px 0}.result-avatar{display:block;width:128px;height:128px;object-fit:cover;border:3px solid #ddab67;border-radius:50%;margin:6px auto 12px}.result-title{font:900 26px Georgia,serif;text-align:center;color:#ffe1a0}.result-score{text-align:center;color:#f2c999;font-weight:900;font-size:20px}.toast{position:fixed;bottom:27%;left:50%;transform:translateX(-50%);width:min(93vw,390px);text-align:center;z-index:80;border:1px solid #f8d18d;border-radius:13px;padding:11px 15px;background:#1b0b0ce9;font-size:14px;font-weight:800;color:#ffe5ac;box-shadow:0 8px 23px #000c}
.loader{position:fixed;inset:0;z-index:100;background:#16090c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}.loader-logo{font:900 29px Georgia,serif;color:#ffd799;text-shadow:0 0 22px #ed4f4f}.loader p{font-size:13px;color:#e9c3a5}.loading-track{width:75%;height:10px;background:#3d231c;border-radius:18px;overflow:hidden}.loading-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#bb3b1f,#f4ca65);transition:width .15s}.loader small{color:#ffd2a2}
.hidden{display:none!important}@media (max-width:355px){.phone{padding-left:7px;padding-right:7px}.logo strong{font-size:17px}.soul{min-width:58px}.soul b{font-size:17px}.opponent img{height:128px}.statusline{font-size:9px}.play-area{height:190px}.hand-zone{height:112px}.beginner{font-size:11px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

@media (max-height:740px){.header{height:49px}.beginner{padding:6px}.top-actions{margin:2px 0 5px}.opponent img{height:124px}.statusline{margin-top:4px;padding:5px 8px}.play-area{height:175px;min-height:175px}.hand-zone{height:115px;padding-top:4px}.own-card{box-shadow:0 2px 5px #000b}.bottom-action{min-height:39px}.bottom-action button{padding:8px}.footnote{font-size:8px}.coach{top:29svh}}

/* v2: přehledné mobilní karty, 2 řady u 8 až 12 karet */
.hand-zone.two-row{
  display:grid;
  grid-template-columns:repeat(var(--hand-cols,5),minmax(0,1fr));
  align-items:start;
  justify-items:center;
  align-content:start;
  column-gap:4px;
  row-gap:9px;
  height:auto;
  min-height:0;
  padding:7px 1px 12px;
  overflow:visible;
  touch-action:pan-y;
}
.hand-zone.two-row .own-card{
  display:block;
  width:min(100%,var(--cardWidth,70px));
  min-width:0;
  height:auto;
  margin-left:0!important;
  padding:0;
  border:0;
  aspect-ratio:246/392;
  transform:translateY(var(--lift,0px));
  transform-origin:center center;
}
.hand-zone.two-row .own-card.selected{--lift:-6px!important;}
.hand-zone.two-row .own-card:active{transform:translateY(-5px)}
.hand-zone.two-row .own-card img{width:100%;height:100%;object-fit:fill;}
/* O něco menší fotografie a hrací plocha ponechají místo dvěma řadám. */
.phone.dense-hand .opponent img{height:clamp(110px,22svh,155px)}
.phone.dense-hand .play-area{height:clamp(155px,22svh,215px);min-height:155px}
.phone.dense-hand .trick-card{width:clamp(52px,15vw,72px)}
.beginner-choice{
  position:relative;z-index:6;
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin:6px 0 2px;padding:7px 8px;
  border:1px solid #bc844d96;border-radius:12px;
  background:#1a0a0ae9;color:#ffe2b0;
  font-size:11px;font-weight:800;
}
.beginner-choice-buttons{display:flex;gap:5px;flex:none}
.beginner-choice .beginner,.beginner-choice .skip-beginner{
  display:inline-flex;align-items:center;justify-content:center;
  width:auto;min-height:34px;margin:0;padding:6px 9px;
  border-radius:9px;font-size:11px;font-weight:900;
}
.beginner-choice .skip-beginner{border:1px solid #b98d5a;background:#3a201a;color:#ffdea7}
.beginner-choice.hidden{display:none!important}
@media(max-width:360px){
  .beginner-choice{font-size:10px;gap:4px;padding:5px}
  .beginner-choice .beginner,.beginner-choice .skip-beginner{padding:5px 7px;font-size:10px}
  .hand-zone.two-row{column-gap:3px;row-gap:6px}
}

/* V3: v dvouřadém rozložení mají karty skutečně o 30 % menší rozměr než ve V2.
   Zachováno čtení celé karty a každá karta vlastní dotykovou oblast. */
.hand-zone.two-row{justify-items:center;grid-auto-rows:min-content;row-gap:8px}
.hand-zone.two-row .own-card{width:var(--cardWidth,49px);max-width:100%;touch-action:manipulation}
.hand-zone.two-row .own-card img{border-width:1.5px}
.statusline #scoreLabel{max-width:60%;overflow:hidden;text-overflow:ellipsis}


/* V4 – volba trumfů úplně nahoře, ještě před portréty soupeřů. */
.phase-guide{
  position:relative;z-index:8;
  margin:0 0 8px;padding:7px 8px 8px;
  background:linear-gradient(180deg,#37160ff5,#19090cf5);
  border:1px solid #e5a354;border-radius:13px;
  box-shadow:0 0 15px #ef721840,inset 0 1px #ffddb537;
}
.phase-guide-title{color:#ffe2a3;text-align:center;font-weight:950;font-size:12px;letter-spacing:.15px;line-height:1.35;margin-bottom:6px}
.phase-guide-title strong{color:#ffbd54;font-size:12px}
.phase-guide-options{display:grid;grid-template-columns:repeat(var(--suit-count,4),minmax(0,1fr));gap:5px}
.phase-guide-options:empty{display:none}
.phase-guide-options .suitbtn{
  width:100%;min-width:0;min-height:39px;padding:5px 2px;
  border:1.5px solid #f2bf69;border-radius:9px;
  color:#fff1d6;font-size:10px;line-height:1.2;
  background:linear-gradient(180deg,#66321b,#2c100d);
  box-shadow:0 0 0 1px #ffbd5714,0 3px 8px #000b;
  animation:choose-trump-pulse 2s ease-in-out infinite;
  animation-delay:var(--delay,0ms);
}
.phase-guide-options .suitbtn .suit-symbol{display:block;font-size:23px;line-height:1.1;margin-bottom:2px;filter:drop-shadow(0 1px 2px #000)}
.phase-guide-options .suitbtn:active{transform:translateY(2px) scale(.96);background:#85502e}
.phase-guide-options .suitbtn:focus-visible{outline:3px solid #fff9ca;outline-offset:2px}
.phase-guide-options .suitbtn.red .suit-symbol{color:#ff7770}
.phase-guide-options .suitbtn.black .suit-symbol{color:#d8efd7}
.phase-guide-hint{font-size:10px;text-align:center;color:#fbd9a6;font-weight:700}
@keyframes choose-trump-pulse{
  0%,100%{border-color:#c88c45;box-shadow:0 2px 5px #000b;filter:brightness(1)}
  38%{border-color:#ffe3a1;box-shadow:0 0 0 2px #f5b95b66,0 0 16px #fa862a91;filter:brightness(1.22)}
  55%{border-color:#e5ad65;box-shadow:0 0 0 1px #ffd69855;filter:brightness(1.08)}
}
/* V4 – správné poměry historických karet 246 × 392 bez deformace. */
.hand-zone .own-card{
  appearance:none;display:block;padding:0;border:0;
  min-width:0;min-height:0;height:auto;
  aspect-ratio:246 / 392;
  line-height:0;overflow:visible;
}
.hand-zone .own-card img{
  display:block;width:100%;height:auto;aspect-ratio:246 / 392;
  object-fit:contain;max-width:100%;border-radius:5px;
}
.hand-zone.two-row .own-card{
  height:auto;aspect-ratio:246 / 392;
  max-width:100%;
}
.hand-zone.two-row .own-card img{height:auto;aspect-ratio:246 / 392;object-fit:contain}
@media(max-width:355px){.phase-guide{padding:6px}.phase-guide-title{font-size:11px}.phase-guide-options .suitbtn{font-size:9px;min-height:36px}}
@media(prefers-reduced-motion:reduce){.phase-guide-options .suitbtn{animation:none;border-color:#f6ce82;box-shadow:0 0 0 1px #b98846}}


/* V5 – obě řady tvoří jednu úhlednou, vycentrovanou skupinu.
   Dřívější sloupce 1fr roztahovaly pět menších karet až k okrajům.
   Pevná šířka sloupců se počítá z aktuální skutečné šířky karty. */
.hand-zone.two-row{
  grid-template-columns:repeat(var(--hand-cols,5),var(--hand-card-width,49px));
  justify-content:center;
  justify-items:center;
  column-gap:4px;
  row-gap:6px;
  width:100%;
}
.hand-zone.two-row .own-card{width:var(--hand-card-width,49px);max-width:100%;}
@media(max-width:355px){.hand-zone.two-row{column-gap:3px;row-gap:5px}}


/* V6 — trumfy zpět na hrací stůl; zářivý efekt tlačítek z V4 zachován. */
.table-action:has([data-suit]){top:24%;padding:0 3px;gap:6px;align-items:center}
.table-action:has([data-suit]) .action-heading{
  flex-basis:100%;margin:0 9px 2px;padding:8px 4px;
  border:1px solid #c88448;border-radius:10px;
  background:#1c080bec;color:#ffe2aa;box-shadow:0 2px 7px #0009;
}
.table-action:has([data-suit]) .action-heading strong{color:#ffc86f}
.table-action .suitbtn[data-suit]{
  flex:0 1 76px;min-width:60px;min-height:52px;
  padding:6px 4px 5px;white-space:nowrap;
  font-size:11px;line-height:1.12;
  border:1.5px solid #f2bf69;border-radius:9px;
  color:#fff1d6;background:linear-gradient(180deg,#66321b,#2c100d);
  animation:choose-trump-pulse 2s ease-in-out infinite;
  animation-delay:var(--delay,0ms);
}
.table-action .suitbtn .suit-symbol{
  display:block;font-size:23px;line-height:1.1;margin-bottom:2px;
  filter:drop-shadow(0 1px 2px #000);
}
.table-action .suitbtn.red .suit-symbol{color:#ff7770}
.table-action .suitbtn.black .suit-symbol{color:#d8efd7}
.table-action .suitbtn:active{transform:translateY(2px) scale(.97);background:#85502e}
.table-action .suitbtn:focus-visible{outline:3px solid #fff9ca;outline-offset:2px}
@media(max-width:355px){.table-action:has([data-suit]){gap:4px}.table-action .suitbtn[data-suit]{flex-basis:70px;min-width:56px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.table-action .suitbtn[data-suit]{animation:none;box-shadow:0 0 0 1px #b98846}}

/* V11: mobilní pekelné video / fallback portrét pro výsledek a úvod. */
.cinematic{position:fixed;left:50%;top:0;bottom:0;transform:translateX(-50%);width:min(100%,420px);max-width:100vw;z-index:110;background:#0b0304;isolation:isolate;overflow:hidden;touch-action:manipulation}
.cinema-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.cinema-poster{z-index:0}
.cinema-film{z-index:1;opacity:0;transition:opacity .25s ease-out;pointer-events:none}
.cinema-film.playing{opacity:1}
.cinema-shade{position:absolute;z-index:2;inset:0;background:linear-gradient(to bottom,rgba(12,2,4,.67),transparent 24%,transparent 67%,rgba(10,1,3,.82) 100%);pointer-events:none}
.cinema-heading{position:absolute;left:15px;right:100px;top:max(18px,env(safe-area-inset-top));z-index:3;font:900 19px Georgia,serif;color:#ffdb95;text-shadow:0 2px 8px #000,0 0 20px #180100}
.cinema-skip{position:absolute;right:12px;top:max(13px,env(safe-area-inset-top));z-index:4;border:1px solid #f3d19d;border-radius:22px;background:#210b0dcc;color:#fff0d0;font-size:12px;font-weight:800;padding:10px 12px;min-height:38px}
.cinema-bottom{position:absolute;z-index:3;left:20px;right:20px;bottom:max(30px,calc(env(safe-area-inset-bottom) + 22px));text-align:center;text-shadow:0 3px 10px #000,0 1px 3px #000}
.cinema-message{font:900 clamp(23px,7vw,34px) Georgia,serif;color:#ffdb9b;line-height:1.13}
.cinema-sub{color:#fff0d8;font-size:13px;font-weight:800;margin-top:10px}
@media (prefers-reduced-motion:reduce){.cinema-film{transition:none}}

/* V12: závazky a schvalování v mobilním zobrazení */
.bottom-action{flex-wrap:wrap;align-items:stretch;justify-content:center}
.bottom-action>button[data-reply],.bottom-action>button[data-contract]{width:calc(50% - 4px);min-height:43px;font-size:11px}
.bottom-action>button[data-reply="ok"]{width:100%;font-size:13px}
.contract-prompt{width:100%;text-align:center;font-size:12px;color:#ffe0a2;font-weight:900;background:#19090df2;border:1px solid #a86d40;border-radius:10px;padding:8px}
.contract-prompt small{display:block;font-size:10px;font-weight:600;margin-top:3px;color:#f6c896}
.contract-switch{width:100%;text-align:center;background:#1b0c0edc;border:1px solid #bc874b;border-radius:10px;padding:6px 5px;margin:3px 0}
.contract-switch span{display:block;font-size:10px;font-weight:900;color:#ffe3b5;margin-bottom:5px}
.contract-switch>div{display:flex;gap:5px}
.contract-switch button{flex:1;min-width:0;padding:8px 2px;color:#f9d7a0;border:1px solid #98683e;border-radius:8px;background:#28120f;font-size:11px;font-weight:900}
.contract-switch button.active{color:#2d130a;background:#ffda85;border-color:#fff1c0;box-shadow:0 0 9px #eea44f}
@media(max-width:350px){.bottom-action>button[data-contract]{font-size:10px;padding:8px 2px}}

/* V13 – stejné rozbalovací menu jako v Prší a Rychlíku */
.header{position:relative;z-index:90}.menu-holder{position:relative;z-index:100}
.game-menu[hidden]{display:none!important}
.game-menu{position:fixed;top:calc(env(safe-area-inset-top) + 55px);right:max(10px,calc((100vw - 420px)/2 + 11px));width:min(330px,calc(100vw - 20px));max-height:calc(100dvh - 75px);overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(145deg,#40231d,#190b0e);border:2px solid #c69257;border-radius:16px;box-shadow:0 18px 44px #000e;padding:12px;z-index:110}
.game-menu .menu-caption{font:900 16px Georgia,serif;text-align:center;color:#ffdf9e;margin:3px 0 10px}
.game-menu button,.game-menu input{font:inherit}
.game-menu .variant-menu{margin:5px 0 8px;border:1px solid #bfa46c85;border-radius:10px;background:#3c261f;color:#fff4d7;overflow:hidden}
.game-menu .variant-menu summary{padding:12px 13px;cursor:pointer;list-style:none;font-weight:850;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.game-menu .variant-menu summary::-webkit-details-marker{display:none}
.game-menu .variant-menu[open] summary{background:#5a3429}
.game-menu .variant-links{padding:6px;display:grid;gap:5px;background:#1b0b0c}
.game-menu .variant-links a,.game-menu .variant-links .menu-option,.game-menu .menu-option{display:block;width:100%;padding:12px 13px;border:1px solid #bfa46c85;border-radius:9px;color:#ffebcb;text-decoration:none;font-weight:800;font-size:13px;background:#35201b;text-align:left;min-height:43px;cursor:pointer}
.game-menu .variant-links a[aria-current=page]{color:#fff5b7;background:#6d3525}
.game-menu .variant-links a:hover,.game-menu .menu-option:hover{background:#64402e}
.game-menu .menu-results-link{display:block;padding:12px 13px;margin:6px 0 8px;border-radius:10px;background:#452b1d;color:#ffe2a1;text-decoration:none;font-weight:900;font-size:14px;border:1px solid #bfa46c85}
.game-menu .variant-links label{font-size:12px;font-weight:800;color:#f1cfab}
.game-menu .variant-links .file-label{border:1px solid #bfa46c85;border-radius:9px;padding:12px 13px;cursor:pointer;background:#35201b;min-height:42px}
.game-menu .variant-links input[type=text]{width:100%;border-radius:8px;border:1px solid #a27453;background:#210e0d;padding:10px;color:white;font-size:14px}
.game-menu .menu-stat,.game-menu .profile-message{font-size:11px;line-height:1.4;color:#f3dcb7;margin:4px}
.result-board-link{display:block;text-align:center;text-decoration:none;margin:8px 0}
.own-card.hinted{outline:4px solid #ffe47f;outline-offset:2px;filter:drop-shadow(0 0 12px #ffd06d)!important;z-index:30!important}
@media(max-width:355px){.game-menu{top:calc(env(safe-area-inset-top) + 49px)}}

/* V14 – výukový režim, jemná vysvětlivka pod kartami, školy a příklady */
.live-tip{position:relative;z-index:6;display:flex;align-items:center;gap:7px;padding:7px 9px;margin:3px 0;border-radius:11px;background:#220e0fed;border:1px solid #ba874c;color:#ffe5b7;line-height:1.3;font-size:11px}
.live-tip span{flex:1;min-width:0}
.live-tip button{flex:none;background:#eab66d;border:1px solid #ffdda2;color:#2a120a;font-weight:900;padding:8px 9px;border-radius:8px;font-size:10px;cursor:pointer}
.help-detail{border-left:3px solid #ffce77;border-radius:4px;background:#271416;padding:11px;margin:10px 0;font-size:12px;line-height:1.5;color:#ffdeb0}
.school-link{display:block;text-align:center;border:1px solid #e6ba79;border-radius:12px;background:#362119;color:#ffe9bd!important;font-weight:900;font-size:12px;text-decoration:none;padding:11px;margin:12px 0}
.modal-box h3{color:#ffdb95;font-size:15px;margin:16px 0 4px}
.rules-intro{background:#3b1e18;border-left:3px solid #ffcb6a;padding:10px;font-size:12px;line-height:1.5;border-radius:5px}
.rules-rank{border:1px solid #b98552;border-radius:10px;background:#20100c;margin:7px 0;padding:9px;display:grid;gap:7px;text-align:center}
.rules-rank b{color:#ffdfae;font-size:11px}.rules-rank span{font-weight:900;color:#fff8e3;font-size:12px;line-height:1.65}
.rules-note{font-size:11px!important;color:#f0ba9c}
.beginner-choice-buttons a.beginner{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-align:center}
@media(max-height:690px){.live-tip{font-size:10px;padding:5px}.live-tip button{padding:5px 7px}}
