@font-face{font-family:'Osli Emoji';src:url('fonts/OsliEmoji.ttf') format('truetype');font-display:swap;unicode-range:U+1F000-1FAFF,U+2600-27BF}:root{font-family:'Segoe UI',Arial,'Osli Emoji',sans-serif}
/* Rozšíření původního vzhledu OslíCampu. Původní společný styl zůstává v style.css. */
select{width:100%;border:1px solid var(--line);background:#111d35;color:var(--text);border-radius:8px;padding:12px;font:inherit;margin-top:7px}option{background:#111d35}fieldset{border:0;padding:0;margin:22px 0}legend{font-weight:700;margin-bottom:12px}summary{cursor:pointer}button,input,select,textarea,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8edbca;outline-offset:4px}small{line-height:1.5}.energy-strip{font-variant-numeric:tabular-nums;color:#a5e7cb;font-weight:700;margin-right:18px}.cms-block{white-space:normal}.cms-small{font-size:14px!important}.cms-medium{font-size:20px!important}.cms-large{font-size:clamp(24px,3vw,42px)!important}.cms-italic{font-style:italic}.cms-bold{font-weight:800}.cms-align-center{text-align:center}.cms-align-left{text-align:left}.cms-align-right{text-align:right}.button .cms-block{margin:0}.footer-motto.cms-block{margin:0}
.player-world{display:grid;grid-template-columns:minmax(220px,32%) 1fr;gap:25px;align-items:stretch}.character-panel{text-align:center;background:linear-gradient(145deg,#1e3150,#14233c);display:flex;align-items:center;flex-direction:column;position:relative;overflow:hidden;padding:25px}.character-panel>.badge{letter-spacing:2px;font-size:10px;margin-bottom:18px}.player-character{width:100%;height:360px;object-fit:contain;border-radius:18px;background:#fff;box-shadow:0 12px 30px #0003}.character-panel h2{margin:20px 0 6px;font-size:30px;overflow-wrap:anywhere}.character-panel .text-link{font-size:13px}.character-placeholder{height:330px;display:grid;place-items:center;font-size:150px;color:var(--gold)}.player-overview{display:grid;gap:18px}.player-overview .treasury-panel{display:grid;grid-template-columns:1.2fr .8fr;min-height:280px}.player-overview .treasury-content{padding:28px 0 26px 30px}.player-overview .treasury-panel>.chest-art{align-self:center;width:100%;padding-right:16px}.player-overview .balance-number{font-size:clamp(42px,5vw,70px)}.player-overview .wallet-totals{grid-column:1/-1}.player-overview .treasury-content .button{font-size:12px;padding:10px 16px}.energy-panel{display:flex;justify-content:space-between;gap:25px;align-items:center;background:linear-gradient(115deg,#142d30,#122238);border-color:#4b92794a}.energy-panel>div:first-child{flex:1}.energy-panel h2{font-size:34px;margin:8px 0 12px}.energy-panel h2 .muted{font-size:22px}.energy-panel progress{width:100%;accent-color:#90d6b1;margin-bottom:2px}.energy-panel progress::-webkit-progress-value{background:#90d6b1}.energy-panel p{font-size:12px;margin:8px 0 0}.energy-panel small{display:block;text-align:center;font-size:10px;color:var(--muted);margin-top:10px}.treasure-shortcut{display:flex;align-items:center;gap:18px;padding:20px 24px}.treasure-shortcut>span:first-child{font-size:32px}.treasure-shortcut>span:last-child{margin-left:auto;color:var(--gold);font-size:24px}.treasure-shortcut h3{font-size:18px;margin:0 0 5px}.treasure-shortcut p{font-size:12px;color:var(--muted);margin:0}
.achievement-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.achievement{background:linear-gradient(160deg,#192843,#111e34);border:1px solid var(--line);border-radius:16px;text-align:center;padding:24px 15px;display:flex;flex-direction:column;align-items:center}.achievement img{width:100px;height:100px;object-fit:contain;margin-bottom:16px}.achievement.locked img{filter:grayscale(1);opacity:.35}.achievement.locked{background:#101b30}.achievement.earned{border-color:#d7b66866;box-shadow:inset 0 1px 0 #fff1}.achievement h3{font-size:16px;margin:0 0 8px}.achievement p{font-size:12px;line-height:1.65;color:var(--muted);flex:1;margin:0 0 15px}.achievement .medal-count{font-size:11px}.achievement.earned .medal-count{color:#a7ddba}.achievement-symbol{display:grid;place-items:center;width:100px;height:100px;font-size:46px;margin-bottom:16px}.character-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px}.character-choices label{position:relative;margin:0}.character-choices input{position:absolute;opacity:0;width:1px;height:1px}.character-choices label>span{display:flex;align-items:center;flex-direction:column;border:2px solid var(--line);border-radius:14px;padding:8px;background:#102037;cursor:pointer;transition:border-color .15s}.character-choices img{height:135px;width:100%;object-fit:contain;background:#fff;border-radius:9px}.character-choices strong{padding:8px 0 2px}.character-choices input:checked+span{border-color:var(--gold);box-shadow:0 0 0 2px #efc66e33}.character-choices input:checked+span strong:before{content:'✓ ';color:var(--gold)}.character-choices input:focus-visible+span{outline:3px solid #8edbca;outline-offset:4px}.check-label{flex-wrap:wrap}.check-label a{text-decoration:underline;color:var(--gold)}.check-label input{flex-shrink:0}.danger-panel{border-color:#d981814a}.danger{background:#6e3140;color:#ffeced;border-color:#b45b6d}.danger-text{color:#f4b0ae!important}.delete-item-form{margin-top:25px;border-top:1px solid var(--line);padding-top:12px}.secret-code{font-family:ui-monospace,monospace;letter-spacing:.08em;font-size:clamp(13px,2.4vw,18px);line-height:1.9;overflow-wrap:anywhere}.deletion-banner{display:block}.mini-medals{display:flex;flex-wrap:wrap;gap:4px;max-width:290px}.mini-medals button,.mini-medals>span{border:0;padding:2px;background:transparent;border-radius:6px;font-size:24px;display:inline-grid;place-items:center;min-width:36px;min-height:40px}.mini-medals img{height:36px;width:36px;object-fit:contain}.mini-medals button:hover{background:#efc66e22}.rules-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}.rules-layout p{line-height:1.8;color:#bdc9db;font-size:14px}.release-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px}.release-columns li{font-size:14px;color:#bdc9db;line-height:1.8;margin-bottom:10px}.release-history h2{margin-top:18px}
.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.admin-tabs a{padding:11px 18px;background:#13213a;border:1px solid var(--line);border-radius:9px;font-size:13px;color:#c4cfe0}.admin-tabs a[aria-current]{border-color:var(--gold);background:#efc66e16;color:var(--gold)}.admin-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:start}.admin-item{padding:18px}.admin-item>summary{list-style:none;display:flex;align-items:center;gap:12px}.admin-item>summary::-webkit-details-marker{display:none}.admin-item>summary strong{font-size:14px;display:block;overflow-wrap:anywhere}.admin-item>summary small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.admin-thumb{height:64px;width:64px;flex-shrink:0;background:#f9f7ef;border-radius:10px;overflow:hidden;display:grid;place-items:center;color:#33415c;font-size:24px}.admin-thumb img{width:100%;height:100%;object-fit:contain}.edit-hint{font-size:10px;color:var(--gold);margin-left:auto}.admin-item form{margin-top:22px}.admin-item[open]{grid-column:auto}.admin-item .image-preview{display:block;max-width:100%;width:100%;height:180px;object-fit:contain;background:#fff;border-radius:9px;margin:18px 0}.admin-item .image-preview[hidden]{display:none}.admin-item .image-editor{border:1px dashed #8ca0bf55;border-radius:10px;padding:12px;margin:16px 0}.image-editor input{width:100%;min-width:0}.image-editor label{font-size:11px}.image-editor small{font-size:10px;display:block}.admin-item textarea{min-height:86px}.admin-item label{font-size:12px}.admin-item .form-error{font-size:12px}.admin-item form>.button{width:100%}#new-item{max-width:670px;scroll-margin-top:20px}.admin-players{min-width:1100px}.admin-players small{display:block;font-size:10px;color:var(--muted)}.admin-players td{font-size:12px}.admin-players th{font-size:10px}.admin-players .badge{font-size:10px;white-space:nowrap}.mini-character{height:38px;width:28px;object-fit:contain;vertical-align:middle;background:#fff;border-radius:4px;margin-right:7px}.wide-dialog{width:min(950px,96vw);max-width:950px}.wide-dialog .actions{margin:20px 0}.coin-adjust{border:1px solid var(--line);padding:15px;border-radius:10px;margin:25px 0}.coin-adjust form{padding-top:16px}.text-editor-list{display:grid;gap:12px}.text-editor-list summary{display:flex;gap:20px;justify-content:space-between;font-size:14px}.text-editor-list summary span{color:var(--muted);font-size:12px;max-width:60%}.text-editor-list form{margin-top:22px}.search-form select{margin-top:0;width:180px;font-size:12px}.table-wrap{overscroll-behavior-x:contain}
.card-inner{transition:transform .18s ease-out}.game-card.requesting{transform:scale(.97);filter:brightness(1.15)}.game-card.requesting .card-back{box-shadow:0 0 0 3px #efc66e}.card-front img{width:100%;height:100%;object-fit:contain}.game-card.matched .card-front{opacity:.8}.game-page .game-clock{display:inline!important}.game-page .coin-strip-inner>div{gap:12px}.game-page .energy-strip{margin-right:0}.game-toolbar .cms-block{margin:0;line-height:1.2;max-width:220px;font-size:15px!important}.game-toolbar .cms-large{font-size:17px!important}
@media(max-width:1050px){.admin-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.player-world{grid-template-columns:30% 1fr;gap:18px}.player-character{height:325px}.energy-panel{gap:16px;padding:22px}.energy-panel .button{font-size:12px;padding:12px}.player-overview .treasury-content{padding-left:22px}.achievement-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.player-world{grid-template-columns:1fr}.character-panel{display:grid;grid-template-columns:120px 1fr;padding:18px;column-gap:25px;text-align:left}.character-panel>.badge{grid-column:2;align-self:end;justify-self:start;margin:0}.player-character{grid-column:1;grid-row:1/4;height:160px;width:120px;border-radius:12px}.character-panel h2{grid-column:2;align-self:center;margin:0;font-size:27px}.character-panel .text-link{grid-column:2;align-self:start}.character-placeholder{grid-column:1;grid-row:1/4;height:150px;font-size:90px}.achievement img,.achievement-symbol{width:80px;height:80px}.achievement-grid{gap:10px}.achievement{padding:18px 10px}.achievement h3{font-size:14px}.achievement p{font-size:11px}.player-overview .treasury-panel{min-height:250px}.player-overview .treasury-content .eyebrow{font-size:9px}.energy-strip{margin-right:0}.coin-strip-inner>div{gap:10px}.rules-layout,.release-columns{grid-template-columns:1fr}.admin-tabs{gap:6px}.admin-tabs a{padding:10px 14px;font-size:12px}.search-form{flex-wrap:wrap}.search-form input{flex:1;min-width:150px}.search-form select{flex:1;min-width:160px}.text-editor-list summary{display:block}.text-editor-list summary span{display:block;max-width:100%;margin-top:8px}.game-toolbar{gap:6px}.game-stats{gap:8px}.game-toolbar .cms-block{max-width:150px;font-size:12px!important}}
@media(max-width:480px){.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.energy-panel{display:block}.energy-panel>div+div{margin-top:17px}.energy-panel .button{width:100%}.energy-panel small{font-size:10px}.admin-gallery{grid-template-columns:1fr}.admin-item>summary strong{font-size:15px}.admin-tabs a{padding:9px 12px}.player-overview .treasury-content{padding-left:18px}.player-overview .treasury-panel{grid-template-columns:1.35fr .65fr}.player-overview .treasury-panel>.chest-art{padding-right:5px}.player-overview .balance-number{font-size:51px}.player-overview .balance-caption{font-size:10px}.player-overview .wallet-totals>div{padding:0 12px}.character-choices img{height:120px}.game-toolbar>div:first-child{flex-basis:100%;display:flex;justify-content:space-between}.game-toolbar>div:first-child .muted{display:none}.game-stats{flex:1;justify-content:space-between}.game-controls{width:auto;justify-content:flex-end}.game-controls .button{padding:5px 8px;font-size:9px;min-height:30px}.game-controls #sound-button{max-width:80px}.game-notice{font-size:9px;max-height:30px;overflow:auto}.game-page .coin-strip-inner>a{font-size:9px}.game-page .energy-strip{font-size:9px}.game-page .wallet-link{font-size:9px}.game-toolbar .cms-block{max-width:100%}.game-page .game-toolbar>div:first-child strong{font-size:11px!important}.secret-code{letter-spacing:.025em}.coin-strip-inner>div{gap:7px}}
@media(max-height:520px) and (orientation:landscape){.game-toolbar>div:first-child{flex-basis:auto;display:block;flex:0 1 auto}.game-stats{flex:0 1 auto}.game-page .game-controls{width:auto}.game-toolbar .cms-block{max-width:160px}.game-main{padding-bottom:44px}.game-page .game-notice{max-height:15px}}
@media(prefers-reduced-motion:reduce){.card-inner{transition:none}}

button.text-link{border:0;background:transparent;padding:4px 0;text-align:left}.admin-tabs+.section-heading .muted{font-size:13px;line-height:1.7;max-width:780px}.admin-tabs+.section-heading>.button{flex-shrink:0}.admin-item form .check-label input{width:auto}
