:root{--v453-gold:#c8a666;--v453-dark:#130e0b}
.v453-snake-page{margin:0;min-height:100vh;background:radial-gradient(circle at 60% 25%,#24302a,#0a0e11 70%);color:#e9dac3;font:16px/1.5 Georgia,serif}
.v453-game-header{position:relative;z-index:30;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:18px 3vw 0;background:transparent;border:0;box-shadow:none}.v453-game-header a{color:#e7c88e;text-decoration:none;text-shadow:0 2px 9px #000}
.v453-snake-wrap{display:grid;grid-template-columns:minmax(210px,1fr) minmax(290px,540px) minmax(205px,.8fr);align-items:start;gap:clamp(12px,2vw,35px);padding:clamp(15px,3vw,45px);max-width:1500px;margin:auto}
.v453-snake-info h1{font-size:clamp(2.2rem,4vw,4rem);font-weight:500;line-height:1.1;margin:.2em 0 .4em}.v453-kicker{color:var(--v453-gold);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase}
.v453-snake-info p,.v453-leaderboard p{color:#c5b9a7}.v453-stats{display:flex;gap:15px;flex-wrap:wrap;margin:22px 0}.v453-stats div{border:1px solid #8b6c4088;padding:12px 16px;border-radius:9px;min-width:92px}.v453-stats strong{display:block;font-size:2rem;color:#eac885}.v453-snake-wrap button{background:#352619;color:#ffe8b8;border:1px solid #b68d4f;border-radius:8px;padding:10px 14px;cursor:pointer;font-family:inherit}.v453-snake-wrap button:hover{background:#64472c}.v453-snake-wrap button:disabled{opacity:.5;cursor:default}.v453-snake-wrap button.v453-primary{background:#826033;color:#fff}
.v453-game-status{min-height:3em;font-weight:600}.v453-small{font-size:.83rem}.v453-game-stage{position:relative;padding-top:12px}#v453SnakeCanvas{width:100%;height:auto;aspect-ratio:18/14;display:block;border:5px ridge #a5894a;border-radius:8px;box-sizing:border-box;touch-action:none;box-shadow:0 20px 50px #0009}.v453-snake-pad{text-align:center;margin:14px 0}.v453-snake-pad button{min-width:52px;height:45px;font-size:1.25rem}.v453-snake-pad>div{display:flex;justify-content:center;gap:9px;margin-top:5px}.v453-leaderboard{border:1px solid #a58c5978;background:#100f0dd4;padding:18px;border-radius:12px}.v453-leaderboard h2{font-size:1.4rem}.v453-leaderboard li{padding:8px 0;border-bottom:1px solid #8b6c4040}.v453-snake-entry{position:absolute;top:12%;right:6%;z-index:8;color:#e9d7b0;padding:10px;background:#120e0ac9;border:1px solid #ae8b5c;border-radius:6px;text-decoration:none;font:15px Georgia,serif}.v453-snake-entry:hover{filter:brightness(1.4)}.v453-quiz-launch{border:1px solid #cba96c;color:#f7dcab;background:#20170f;padding:11px 16px;margin:8px;border-radius:5px;cursor:pointer}.v453-quiz-launch:hover{background:#57402d}
@media(max-width:1080px){.v453-snake-wrap{grid-template-columns:minmax(0,1fr) minmax(270px,1.3fr)}.v453-leaderboard{grid-column:1/-1}.v453-snake-info h1{font-size:2.6rem}}@media(max-width:670px){.v453-snake-wrap{display:flex;flex-direction:column;padding:16px}.v453-snake-info,.v453-game-stage,.v453-leaderboard{width:100%;box-sizing:border-box}.v453-snake-info h1{font-size:2.3rem}.v453-snake-entry{top:7%;right:3%;font-size:12px;padding:7px}}
/* Vlajkova vyprava */
.v453-flags-page{background:radial-gradient(circle at 75% 28%,#27312a,#0e0b0d 70%);min-height:100vh;color:#efdfc1;font:17px/1.55 Georgia,serif}
.v453-flags-main{max-width:1170px;display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(15px,3vw,48px);margin:35px auto;padding:20px}
.v453-flags-main h1{font-size:clamp(2.4rem,5vw,4.2rem);line-height:1.08;font-weight:normal;margin:10px 0}.v453-flags-main h2{font-size:1.45rem;font-weight:normal}
.v453-flags-intro p{color:#d6c9b0}.v453-peeves{display:flex;gap:12px;align-items:center;margin-top:28px;padding:10px 20px;background:#171a1caa;border:1px solid #765f3f;border-radius:12px}
.v453-peeves img{width:clamp(80px,12vw,155px);max-height:210px;object-fit:contain}.v453-peeves h2{color:#d9b77c}.v453-flags-content{border:1px solid #90704699;background:#0c0d0bd1;border-radius:15px;padding:clamp(15px,2vw,28px)}
.v453-flags-content button{background:#352619;border:1px solid #9c8155;color:#f7e2bc;border-radius:8px;padding:10px 12px;cursor:pointer}.v453-flags-content button:hover{background:#67462b}.v453-flags-content button.v453-primary{background:#6f4a25}
.v453-flag-houses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.v453-flag-pick{display:flex;flex-direction:column;align-items:center;gap:7px;justify-content:space-between;min-height:180px}.v453-flag-pick span{font-size:.78rem}
.v453-pennant{display:flex;flex-direction:column;align-items:center;width:min(100%,145px);padding:12px 10px 25px;background:linear-gradient(#4e382b,#1a1a21);border:2px solid #ad9255;clip-path:polygon(0 0,100% 0,100% 100%,50% 85%,0 100%);box-shadow:inset 0 0 15px #000a}.v453-pennant img{display:block;max-width:85%;height:70px;object-fit:contain}.v453-pennant span{font-size:.74rem;text-align:center;color:#ffe5b0;margin-top:4px}
.v453-flag-answer{border-top:1px solid #7b6c55;margin-top:18px;padding-top:16px}.v453-flag-answer label{display:block;margin:18px 0 6px}.v453-flag-answer form input{display:block;width:100%;max-width:400px;padding:12px 10px;background:#101310;border:1px solid #aa915c;color:#fff9e8;border-radius:6px;font:inherit;margin-bottom:10px}.v453-flag-collection{display:flex;gap:9px;flex-wrap:wrap}.v453-flag-collection .v453-pennant{width:calc(25% - 11px);min-width:92px}
.v453-home-flags{position:absolute;right:2vw;bottom:3vh;z-index:20;border:1px solid #a18858;border-radius:8px;padding:10px;background:#0b0c0de8;text-align:center;max-width:clamp(170px,27vw,330px)}.v453-home-flags strong{font:14px Georgia,serif;color:#e3d0aa}.v453-home-collection{display:flex;gap:3px;margin-top:6px}.v453-home-collection .v453-pennant{width:65px;padding:5px 2px 14px}.v453-home-collection .v453-pennant img{height:38px}.v453-home-collection .v453-pennant span{font-size:9px}
.v453-house-flag{position:absolute;right:16%;bottom:28%;z-index:30;background:transparent;border:0;cursor:pointer;transition:filter .2s,transform .2s}.v453-house-flag .v453-pennant{width:clamp(80px,9vw,150px);min-height:160px}.v453-house-flag:hover{filter:brightness(1.3) drop-shadow(0 0 18px #ffd77b);transform:translateY(-3px)}.house-guest .house-chat-door,.house-guest #switchSpace{display:none!important}
.v453-peeves-link{position:absolute;z-index:25;right:5%;top:20%;width:clamp(80px,9vw,140px);cursor:pointer;filter:drop-shadow(0 0 12px #68a7d066)}.v453-peeves-link img{width:100%;height:auto}.v453-peeves-link:hover{filter:brightness(1.2) drop-shadow(0 0 21px #b1edff)}
@media(max-width:760px){.v453-flags-main{display:block;padding:12px}.v453-flag-houses{grid-template-columns:repeat(3,minmax(0,1fr))}.v453-flag-pick{min-height:140px}.v453-pennant{padding:7px 3px 17px}.v453-pennant img{height:48px}.v453-home-flags{right:2vw;bottom:12vh;max-width:220px}.v453-home-collection .v453-pennant{width:43px}.v453-home-collection .v453-pennant img{height:26px}.v453-home-collection .v453-pennant span{font-size:7px}.v453-peeves-link{top:14%;right:2%}}

/* v453b: původní kolejní vlajky bez umělého rámečku, přirozeně v interiéru. */
.v453-flags-main{grid-template-columns:1.1fr 1fr}
.v453-flags-intro .v453-primary{background:#72522f;color:#ffedcd;border:1px solid #d5b577;border-radius:7px;padding:12px 18px;font:600 16px Georgia,serif;cursor:pointer}
.v453-flags-intro .v453-primary:disabled{opacity:.5}
.v453-peeves-speech{min-height:3rem;color:#e8c995;font-size:1.15rem}
.v453-peeves-route{border-left:2px solid #bd9b60;padding:10px 14px;color:#f4dfb7;background:#191b16cc}
.v453-journey-link{display:inline-block;margin:12px 0;color:#e9cc90;text-decoration:none;border-bottom:1px solid #ac8f59}
.v453-pennant{display:flex;flex-direction:column;align-items:center;clip-path:none;background:none;border:0;box-shadow:none;padding:0;margin:0;width:min(100%,145px)}
.v453-pennant img{width:100%;max-width:100%;height:auto;max-height:190px;object-fit:contain;filter:brightness(.9) drop-shadow(0 7px 8px #000)}
.v453-pennant figcaption{font:600 12px Georgia,serif;text-align:center;color:#e8d4ab;margin-top:4px}
.v453-flag-collection .v453-pennant{width:clamp(75px,10vw,122px);min-width:0}
.v453-home-collection .v453-pennant{width:clamp(45px,6vw,76px);padding:0}
.v453-home-collection .v453-pennant img{height:auto;max-height:90px}
.v453-home-collection .v453-pennant figcaption{font-size:10px}
.v453-house-flag{right:13%;bottom:22%;padding:0;background:transparent;border:0;width:clamp(85px,11vw,165px)}
.v453-house-flag .v453-pennant{width:100%;min-height:0}
.v453-house-flag .v453-pennant img{max-height:250px}
@media(max-width:760px){.v453-flag-collection .v453-pennant{width:80px}.v453-house-flag{right:6%;bottom:25%;width:95px}}
