.identity-grid-wrap{padding:0 1px 20px}.identity-prompt{text-align:center;margin:0 0 12px;font-size:15px}.pokemon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pokemon-cell{min-width:0;padding:5px 3px 4px;aspect-ratio:1/1;border:1px solid #d4c4a1;border-radius:9px;background:#fff9eced;box-shadow:0 2px 0 #d8c9ad;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:#594d39}.pokemon-cell:disabled{cursor:default}.pokemon-sprite{display:block;width:76%;height:72%;object-fit:contain;image-rendering:pixelated}.pokemon-sprite.silhouette{filter:grayscale(1) brightness(0) opacity(.72)}.pokemon-label{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.2}.pokemon-modal[hidden]{display:none!important}.pokemon-modal:not([hidden]){position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:#201b16a6}.pokemon-dialog{width:min(100%,390px);min-height:190px;display:grid;grid-template-columns:1fr 1.1fr;gap:14px;align-items:center;padding:16px;background:#fff8e9;border:3px solid #715b3d;border-radius:15px;box-shadow:0 8px 0 #493922}.pokemon-preview{min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px}.pokemon-preview img{width:min(100%,145px);height:130px;object-fit:contain;image-rendering:pixelated}.pokemon-preview b{text-align:center;font-size:15px}.pokemon-form{min-width:0}.pokemon-form .input{margin:0 0 10px}.pokemon-form .identity-confirm{width:100%;margin:0}@media(max-width:360px){.pokemon-grid{gap:5px}.pokemon-cell{padding:3px}.pokemon-label{font-size:10px}.pokemon-dialog{gap:9px;padding:12px}.pokemon-preview img{height:110px}}
.identity-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;color:#75694f;font-size:11px}.identity-actions button{border:1px solid #bca77e;border-radius:15px;background:#fff8e9;color:#57452e;padding:5px 10px;font:inherit;cursor:pointer;white-space:nowrap}.admin-form{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;margin:0 0 10px}.admin-form .input{min-width:0;margin:0;padding:7px;font-size:12px}.admin-form .btn{padding:7px 10px;font-size:12px}.cancel-claim{display:block;width:100%;margin:9px 0 0;background:#f2d4c5;color:#623b2f;box-shadow:0 3px 0 #d9b3a1}.claim-readonly{font-size:11px;color:#806a50;text-align:center;margin:8px 0 0}.pokemon-form .cancel-claim[hidden],.pokemon-form .claim-readonly[hidden]{display:none}

.admin-form[hidden]{display:none!important}

.cover-admin-hotspot{position:absolute;z-index:9;top:env(safe-area-inset-top);right:0;width:56px;height:56px;padding:0;border:0;border-radius:0;background:transparent;opacity:0;cursor:pointer;outline:none}.cover-admin-hotspot:focus-visible{outline:2px solid #493922;outline-offset:-4px}.admin-login-overlay[hidden]{display:none!important}.admin-login-overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:#201b16a6}.admin-login-card{position:relative;width:min(100%,350px);padding:25px 20px 20px;background:#fff8e9;border:3px solid #715b3d;border-radius:15px;box-shadow:0 8px 0 #493922}.admin-login-card h2{text-align:center;margin:0 0 15px}.admin-login-card .input{margin:6px 0}.admin-login-close{position:absolute;top:5px;right:8px;width:32px;height:32px;border:0;background:transparent;color:#594831;font-size:24px;cursor:pointer}

/* Public, score-free top-three display */
.screen#rank{padding:14px 4px 32px}.podium-intro{text-align:center;margin:0 0 14px}.podium-status{text-align:center;color:#7c725c;font-size:13px;margin:24px 0}.podium-board{display:grid;gap:14px}.podium-first{display:block}.podium-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.podium-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0;background:#fff9ec;border:2px solid #d4c4a1;border-radius:16px;box-shadow:0 4px 0 #d8c9ad;padding:12px 9px 13px}.podium-card.first{padding:15px 14px 16px;background:#fff8e5;border-color:#c6a860}.podium-rank-image{display:block;width:min(100%,170px);height:auto;aspect-ratio:240/92;object-fit:contain}.podium-card.first .podium-rank-image{width:min(70%,220px)}.podium-pokemon-art{display:block;width:104px;height:104px;object-fit:contain;margin:3px auto}.podium-card.first .podium-pokemon-art{width:148px;height:148px}.podium-name{max-width:100%;overflow-wrap:anywhere;text-align:center;font-size:16px;font-weight:750;color:#463b2b}.podium-card:not(.first) .podium-name{font-size:14px}.podium-empty{padding:25px 15px;border:1px dashed #c6b893;border-radius:13px;text-align:center;color:#80745b;background:#fff9ecb8}
/* Admin-only scoreboard */
.screen#adminPanel{padding:14px 2px 32px}.admin-panel-heading{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;margin-bottom:12px}.admin-panel-heading h1{font-size:24px;margin:0}.admin-panel-heading .eyebrow{font-size:9px}.admin-panel-heading .muted{margin:5px 0 0}.admin-panel-heading .btn{padding:8px 9px;font-size:12px;white-space:nowrap}.admin-score-guide{padding:9px 11px;margin:0 0 11px;background:#f2e6c8;border-radius:9px;color:#68573e;font-size:12px;line-height:1.45}.admin-scoreboard{display:grid;gap:9px}.admin-score-card{padding:9px 10px;background:#fff9ec;border:1px solid #d8c9a9;border-radius:11px;box-shadow:0 2px 0 #e1d5bd}.admin-score-card-top{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:7px;padding-bottom:7px;border-bottom:1px solid #e7dcc6}.admin-score-art{width:42px;height:42px;object-fit:contain}.admin-score-identity{min-width:0;display:grid}.admin-score-identity strong{font-size:14px}.admin-score-identity span{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#74684f}.admin-total{display:grid;text-align:right;line-height:1.15}.admin-total strong{font-size:17px;color:#526442}.admin-total span,.admin-total small{font-size:10px;color:#81765f}.admin-score-columns{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:8px}.admin-score-cell{min-width:0;padding:6px;background:#f8f1e2;border-radius:8px}.admin-score-cell-label{display:flex;justify-content:space-between;gap:4px;align-items:center;font-size:11px}.admin-score-cell-label strong{font-size:14px}.admin-score-entry{display:flex;gap:4px;margin-top:5px}.admin-score-entry input{min-width:0;width:100%;padding:6px 4px;border:1px solid #d5c6a6;border-radius:6px;background:white;font:inherit;font-size:12px}.admin-score-entry button{flex:0 0 auto;padding:5px 7px;border:0;border-radius:6px;background:#657b56;color:white;font-size:11px;font-weight:700}.admin-score-entry button:disabled{opacity:.4}.admin-unclaimed .admin-score-art{filter:grayscale(1) opacity(.45)}.admin-unclaimed .admin-score-identity span{color:#9a907b}.admin-no-rank{color:#948a76!important}

.admin-preview-banner{margin:0 0 10px;padding:9px 11px;border:1px dashed #b78b38;border-radius:9px;background:#fff2c9;color:#725418;font-size:12px;font-weight:700}.admin-preview-banner[hidden],#adminPreviewButton[hidden]{display:none!important}

.cancel-claim-overlay[hidden]{display:none!important}.cancel-claim-overlay{position:fixed;inset:0;z-index:35;display:grid;place-items:center;padding:20px;background:#201b16a8}.cancel-claim-dialog{width:min(100%,340px);padding:22px 18px 18px;text-align:center;background:#fff8e9;border:3px solid #715b3d;border-radius:15px;box-shadow:0 7px 0 #493922}.cancel-claim-dialog h2{font-size:19px;margin:0 0 8px}.cancel-claim-warning{margin:0 0 18px;color:#c13d35;font-size:15px;font-weight:800}.cancel-claim-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.cancel-claim-actions .btn{min-width:0;margin:0;padding:10px 6px;font-size:13px}.cancel-claim-danger{background:#bd5148;color:white;box-shadow:0 3px 0 #85332d}

.cancel-claim-explain{margin:0 0 5px;color:#685b47;font-size:13px}

.pokemon-dialog.pokemon-modal-view-only{grid-template-columns:1fr;place-items:center;width:min(100%,220px);min-height:190px}.pokemon-dialog.pokemon-modal-view-only .pokemon-preview{width:100%;justify-content:center}.pokemon-dialog.pokemon-modal-view-only .pokemon-form{display:none}

/* Full-viewport backgrounds shared across interface screens */
html{background:#e9e3d3}body{background:transparent;isolation:isolate}body::before{content:'';position:fixed;top:0;left:50%;width:min(440px,100vw);height:100svh;transform:translateX(-50%);z-index:-1;pointer-events:none;background-position:center center;background-size:cover;background-repeat:no-repeat}
body:has(#tasks.active)::before{background-image:url('assets/1-0-bg.png')}
body:has(#rank.active)::before{background-image:linear-gradient(#203b2844,#203b2844),url('assets/1-0-bg.png')}
body:has(#taskDetail.active)::before{background-image:linear-gradient(rgba(255,248,232,.55),rgba(255,248,232,.68)),url('assets/menu-bg.png')}
body:has(#message.active)::before{background-image:url('assets/1-0-bg.png')}
.phone:has(#tasks.active),.phone:has(#rank.active){background:transparent;box-shadow:none}
.screen#tasks,.screen#rank,.screen#taskDetail,.screen#message{background:transparent!important}

/* One fixed position for the shared back button on every screen */
.phone .top{transform:none!important}
.phone .top #backBtn{position:fixed!important;top:calc(env(safe-area-inset-top) + 9px)!important;left:calc(50% - min(220px,50vw) + 18px)!important;z-index:50!important;width:40px!important;height:40px!important;margin:0!important;padding:0!important;transform:none!important;pointer-events:auto!important}
