/* QUEM É?! v9 — Pixel Space Arcade; original responsive foundations + pixel design system */
:root{--ink:#304E61;--paper:#F7F1E7;--muted:#6D8790;--peach:#F0A28E;--coral:#DE777A;--mint:#A6D9C7;--ocean:#5A9DB6;--sun:#F6C67E;--lav:#C5BCE4;--soft-shadow:0 14px 38px rgba(58,93,99,.09);font-family:'Nunito',system-ui,sans-serif;color:var(--ink)}
*{box-sizing:border-box}html,body{height:100%;margin:0;width:100%;overflow:hidden}body{background:#CFE9D9}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.48}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #375D81;outline-offset:3px}h1,h2,h3,p{margin-top:0}#app{height:100dvh;width:100%;overflow:hidden}#app>div{height:100%}#toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%,18px);z-index:500;max-width:min(92vw,460px);width:max-content;background:#34596A;color:white;border-radius:19px;padding:13px 20px;font-size:13px;font-weight:800;box-shadow:var(--soft-shadow);opacity:0;pointer-events:none;transition:.18s}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.ok{background:#367D78}.boot{min-height:100dvh;display:grid;place-items:center;font-size:24px;font-weight:900}
.site-shell,.room-shell,.game-screen,.admin-shell{display:flex;flex-direction:column;min-height:0;height:100dvh;overflow:hidden;background:linear-gradient(160deg,#E8F5E8 0%,#F9F1E7 58%,#F7E8D5 100%);position:relative}
.site-shell:before,.room-shell:before,.game-screen:before{content:'';position:absolute;z-index:0;left:-86px;top:-96px;width:230px;height:230px;background:#D6EEE3;border-radius:47% 53% 46% 54%;pointer-events:none}.site-shell:after,.room-shell:after,.game-screen:after{content:'';position:absolute;right:-80px;bottom:-120px;width:245px;height:245px;background:#FAE3BE;border-radius:50%;pointer-events:none}
.app-scroll,.lobby-scroll,.admin-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;position:relative;z-index:1}.app-scroll{display:flex;justify-content:center}.home-area{height:100%;width:100%;max-width:1140px;min-height:0;padding:15px 20px;display:flex;align-items:center;justify-content:center}.home-grid.flat-home{width:100%;height:min(100%,800px);min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.home-hero-flat{width:100%;flex:1;min-height:0;max-height:510px;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column}.hero-illustration{display:block;width:min(95%,490px);height:min(74%,345px);object-fit:contain;position:relative;z-index:1}.flat-wordmark{position:relative;z-index:2;margin-top:-32px;display:flex;justify-content:center;align-items:baseline;gap:9px;line-height:.95;color:#31546A;white-space:nowrap}.flat-wordmark span{font:900 clamp(52px,12vw,84px)/1 'Fredoka',system-ui,sans-serif;letter-spacing:-.065em}.flat-wordmark em{font:900 clamp(51px,11vw,80px)/1 'Fredoka',system-ui,sans-serif;letter-spacing:-.08em;color:#E16F76;font-style:normal}.hero-orbit{position:absolute;pointer-events:none;border-radius:50%}.orbit-a{width:80px;height:80px;background:#F9D6C2;left:9%;top:17%;opacity:.65}.orbit-b{width:40px;height:40px;background:#F5CF91;right:11%;bottom:17%}.hero-spark{position:absolute;z-index:2;line-height:1}.spark-a{color:#E38C85;left:12%;top:31%;font-size:36px}.spark-b{color:#E6AC63;right:13%;top:23%;font-size:33px}.flat-home-form{width:min(100%,400px);display:flex;flex-direction:column;gap:11px;flex:none;align-items:stretch;position:relative;z-index:2;padding:2px 0 8px}.home-strapline{font-weight:900;font-size:20px;text-align:center;margin:0 0 10px;color:#3F6672}.home-support{text-align:center;font-size:12px;font-weight:800;color:#77959B;margin:8px 0 0}.flat-home-form .field{margin-bottom:0}.flat-home-form .panel-title{text-align:center;margin:0 0 8px}.flat-home-form .entry-back{align-self:flex-start}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:47px;padding:11px 20px;border:0;border-radius:18px;font-size:15px;font-weight:900;line-height:1.1;transition:transform .14s,filter .14s,background .14s;color:var(--ink);background:#E7E7D9;text-decoration:none;white-space:normal;text-align:center}.btn:not(:disabled):active{transform:scale(.97)}.btn:not(:disabled):hover{filter:brightness(1.04)}.btn-primary{background:#E8797C;color:#fff}.btn-cyan{background:#8CC6C8;color:#264B61}.btn-yellow{background:#F4C77D;color:#385565}.btn-violet{background:#A5A8D7;color:#243F58}.btn-ghost{background:#F1EEE6;color:#59727D}.btn-sm{min-height:33px;padding:8px 12px;font-size:12px;border-radius:12px}.btn .ui-icon{height:19px;width:19px}.flat-home-form>.btn{width:100%;height:55px;border-radius:19px;font-size:16px}.flat-home-form>.btn.btn-cyan{background:#88CAC3}.entry-back{border:0;background:transparent;color:var(--ink);font-weight:900;display:inline-flex;gap:5px;align-items:center;padding:4px 0}.entry-back svg{width:18px}.panel-title,.section-title{font:800 24px/1.15 'Fredoka',system-ui,sans-serif;letter-spacing:-.018em;margin:0 0 12px;color:#315267}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:11px}.field label,.tiny-label,.summary-label{font-size:11px;font-weight:900;color:#708A92;letter-spacing:.02em;text-transform:uppercase}.text-input{display:block;width:100%;min-width:0;min-height:44px;padding:11px 14px;color:#2E5368;background:#FCFBF5;border:0;border-radius:14px;font-size:14px;outline:0}.text-input::placeholder{color:#9BADAE}.text-input:focus{box-shadow:0 0 0 3px #B0D9D2}textarea.text-input{min-height:82px;resize:vertical}.ui-icon{vertical-align:middle;flex-shrink:0}
.site-head{flex:none;height:58px;min-height:0;padding:9px 15px 2px;display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative;z-index:3;max-width:1100px;width:100%;margin:0 auto}.logo-small{font:900 25px/1 'Fredoka',system-ui,sans-serif;letter-spacing:-.05em;color:#386780;white-space:nowrap}.logo-small span{color:#E77C7B}.header-right{display:flex;align-items:center;gap:7px;min-width:0}.head-tag{background:#FFFCF4;padding:7px 11px;border-radius:13px;font-size:12px;font-weight:900;min-width:0;max-width:min(50vw,270px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-action{width:40px;min-width:40px;height:40px;border-radius:14px;border:0;background:#FFFBF4;color:#4C7180;display:inline-grid;place-items:center;line-height:1;font-size:23px;font-weight:800}.icon-action:active{transform:scale(.96)}.icon-action .ui-icon{width:19px;height:19px}
/* Lobby */
.lobby-scroll{padding:8px 13px 14px}.lobby-wrap{width:min(100%,970px);margin:0 auto;display:grid;grid-template-columns:minmax(240px,.76fr) minmax(0,1.24fr);gap:14px;align-items:start}.lobby-side{display:flex;flex-direction:column;gap:12px}.panel{background:rgba(255,255,255,.85);padding:18px;border:0;border-radius:27px;box-shadow:0 8px 25px rgba(55,92,101,.045)}.room-code-panel{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#B7E2DC;box-shadow:none;min-height:97px}.room-code{font:900 clamp(26px,4vw,39px)/1 'Fredoka',system-ui,sans-serif;letter-spacing:.025em;color:#295C74;overflow-wrap:anywhere}.code-buttons{display:flex;gap:5px;flex-wrap:nowrap;align-items:center}.code-buttons .icon-action{background:rgba(255,255,255,.62);color:#32677D;width:36px;min-width:36px;height:36px;border-radius:13px}.code-buttons .icon-action:nth-child(2){background:#EFD1BA}.code-buttons .icon-action:nth-child(3){background:#D5D0F0}.code-buttons .ui-icon{width:18px;height:18px}.section-inline,.theme-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.section-inline .section-title,.theme-header .section-title{margin:0}.sticker,.mini-tag{border:0;background:#F9DEAB;border-radius:12px;padding:6px 10px;white-space:nowrap;font-size:11px;font-weight:900;color:#6C634A}.players-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.player-row{min-width:0;min-height:56px;background:#EFF6F1;border-radius:17px;padding:8px;display:flex;align-items:center;gap:8px}.player-row:nth-child(2n){background:#FBEFEB}.player-no,.avatar{background:var(--avatar-bg,#8BCAC0);color:#36566A;border:0;display:grid;place-items:center;flex:none;font-size:20px;font-weight:900;font-family:'Fredoka',sans-serif;width:35px;height:35px;border-radius:13px}.player-name{min-width:0;flex:1;overflow-wrap:anywhere;font-size:12px;font-weight:900;line-height:1.2}.player-name small{display:block;font-size:10px;color:#729095;font-weight:800}.player-row .mini-tag{padding:3px 5px;background:#F7C575}.player-row .icon-action{height:26px;width:26px;min-width:26px;border-radius:8px;font-size:17px;background:#F8D9D5}
.theme-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px}.theme-card{position:relative;display:flex;align-items:flex-end;justify-content:space-between;overflow:hidden;min-height:124px;padding:15px 11px 12px;text-align:left;border:0;border-radius:25px;background:#F2E5CF;isolation:isolate;transition:transform .14s,filter .14s}.theme-card:active{transform:scale(.98)}.theme-card:disabled{opacity:.45}.theme-tone-0{background:#F6CBC4}.theme-tone-1{background:#B8DADA}.theme-tone-2{background:#F7DCAD}.theme-tone-3{background:#C9CAE9}.theme-tone-4{background:#C5E1D1}.theme-tone-5{background:#F0D2BD}.theme-card.custom{background:#E5E7D8}.theme-card:before{content:'';position:absolute;right:-19px;top:-40px;width:122px;height:122px;border-radius:45% 55% 53% 47%;background:rgba(255,255,255,.38);z-index:-1}.theme-card:after{content:'';position:absolute;left:-20px;bottom:-74px;width:142px;height:115px;border-radius:50%;background:rgba(255,255,255,.22);z-index:-1}.theme-card.selected{filter:saturate(1.12);transform:translateY(-2px)}.theme-illustration{position:absolute;right:1px;top:1px;width:87px;height:87px;opacity:.94}.theme-illustration .category-art{width:100%;height:100%}.theme-meta{display:flex;flex-direction:column;gap:3px;position:relative;z-index:2;min-width:0;max-width:93%}.theme-name{font:800 clamp(14px,3vw,19px)/1.12 'Fredoka',sans-serif;letter-spacing:-.025em;overflow-wrap:anywhere;color:#335363}.theme-qty{font-size:11px;color:#51727C;font-weight:800}.theme-check{position:absolute;right:9px;bottom:10px;border-radius:50%;background:#418475;color:#fff;width:25px;height:25px;display:grid;place-items:center;font-weight:900}.custom-art{display:grid;place-items:center;font-size:72px;color:#8CADA5}.choice-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px}.choice-controls .btn{margin-left:auto}.count-stepper{display:flex;align-items:center;gap:0;background:#F1F5EC;border-radius:15px;overflow:hidden;height:41px}.count-stepper button{border:0;background:#D8E9DE;color:#3A6B75;font-size:21px;font-weight:900;width:40px;height:100%}.count-stepper input{border:0;background:none;width:51px;text-align:center;font-weight:900;color:#2E5368;font-size:17px;appearance:textfield;outline:0}.count-stepper input::-webkit-inner-spin-button{appearance:none}.time-config{margin-top:16px;padding-top:12px}.comic-time-heading{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:900}.flat-svg-icon{flex:none;display:block}.comic-time-heading svg{height:34px;width:34px}.time-options{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.time-opt{border:0;border-radius:13px;background:#F0F2ED;color:#65828A;font-size:13px;font-weight:900;min-width:49px;min-height:37px;padding:7px 10px}.time-opt.selected{background:#7EBEAF;color:#244F5F}.round-comic-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.summary-tile{background:#C7E5D9;min-height:125px;border-radius:22px;padding:13px;display:flex;flex-direction:column;align-items:start;gap:4px;justify-content:end;position:relative;overflow:hidden}.summary-tile:before{content:'';position:absolute;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.26);right:-30px;top:-40px}.summary-tile strong{font:800 clamp(17px,3.4vw,25px)/1.1 'Fredoka',sans-serif;overflow-wrap:anywhere;position:relative;z-index:1}.summary-tile>span:not(.summary-label){font-size:12px;font-weight:900}.summary-tile.time-summary{background:#F4D5B5}.time-summary .flat-svg-icon{width:42px;height:42px}.lobby-bottom{position:relative;z-index:3;display:flex;justify-content:center;padding:8px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(0deg,#F7F1E7 70%,transparent)}.lobby-bottom .btn{width:min(100%,470px);min-height:50px}.lobby-bottom .sticker{padding:12px 20px}
/* Partida */
.game-screen .site-head{height:49px;padding-top:5px}.game-top{flex:none;display:flex;gap:9px;align-items:stretch;padding:4px 12px 6px;position:relative;z-index:2;max-width:1000px;width:100%;margin:0 auto}.turn-banner{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:#B9E0D5;border-radius:22px;padding:10px 12px;min-height:64px}.turn-icon{width:37px;height:37px;border-radius:14px;display:grid;place-items:center;flex:none;background:#FFF4E2;color:#DE777A;font:900 24px 'Fredoka',sans-serif}.turn-copy{min-width:0}.turn-heading{font:800 clamp(17px,3.9vw,24px)/1.1 'Fredoka',sans-serif;overflow-wrap:anywhere;letter-spacing:-.02em}.turn-hint{font-size:11px;font-weight:900;color:#648289}.clock-box{flex:none;min-width:76px;padding:8px 13px;background:#F8D9B1;border-radius:21px;display:flex;align-items:center;justify-content:center;gap:1px;color:#33566B}.clock-number{font:900 clamp(27px,7vw,37px)/1 'Fredoka',sans-serif;font-variant-numeric:tabular-nums}.clock-unit{font:900 13px 'Nunito',sans-serif;align-self:end;padding-bottom:5px}.clock-box.urgent{background:#E98585;color:#fff}.game-players{flex:none;display:flex;gap:7px;padding:2px 12px 9px;max-width:1000px;width:100%;margin:0 auto;min-height:63px;overflow-x:auto;scrollbar-width:none;position:relative;z-index:2}.game-players::-webkit-scrollbar{display:none}.p-chip{min-width:0;flex:1 0 0;min-height:53px;display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.8);border-radius:16px;padding:7px;position:relative}.p-chip.active{background:#F8D7B8}.p-chip.ranked{background:#C8E8D7}.p-chip.me{box-shadow:inset 0 0 0 0 transparent}.p-chip .avatar{background:var(--a-color,#BCE1D5);border-radius:12px;width:31px;height:35px;font-size:19px}.p-info{min-width:0;flex:1}.p-name{font-size:11px;font-weight:900;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p-identity{font-size:10px;color:#637D86;font-weight:800;line-height:1.15;margin-top:3px;max-height:27px;overflow:hidden;overflow-wrap:anywhere}
.board-wrap{flex:1;min-height:0;display:flex;flex-direction:column;max-width:1000px;width:calc(100% - 24px);margin:0 auto;position:relative;z-index:2;background:rgba(255,255,255,.83);border-radius:25px;padding:11px 8px 8px;overflow:hidden}.board-heading{flex:none;display:flex;align-items:center;gap:6px;padding:0 7px 8px;min-height:30px}.board-heading h2{font:900 17px/1 'Fredoka',sans-serif;letter-spacing:-.015em;margin:0 auto 0 0;color:#345A6A}.board-turn-status{font-size:9px;font-weight:900;color:#637F8E;background:#EAF3EC;border-radius:10px;padding:6px 7px;white-space:nowrap}.board-turn-status.editable{color:#316C62;background:#D2EEE4}.board-stats{font-size:11px;font-weight:900;background:#E8E3EF;border-radius:9px;padding:6px 8px;color:#63728B}.board-scroll{min-height:0;flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#C1DCD6 transparent;overscroll-behavior:contain}.board-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(101px,1fr);gap:7px;align-content:start;padding:2px 1px 5px}.item-card{border:0;background:#E8DBCB;border-radius:18px;min-width:0;min-height:100px;overflow:hidden;position:relative;padding:0;transition:opacity .14s,transform .14s}.item-card:not(:disabled):active{transform:scale(.96)}.item-ink{width:100%;height:100%;display:flex;flex-direction:column;position:relative;min-height:100px}.card-art{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:8px 4px;text-align:center;background:#F1DEC2;isolation:isolate}.card-art:before{content:'';position:absolute;z-index:-1;right:-24%;top:-48%;width:114%;height:110%;border-radius:52%;background:rgba(255,255,255,.36)}.card-art:after{content:'';position:absolute;z-index:-1;width:85%;height:40%;border-radius:50%;background:rgba(255,255,255,.26);left:-25%;bottom:-8%;transform:rotate(-12deg)}.flat-tone-0 .card-art{background:#F1C4BB}.flat-tone-1 .card-art{background:#BCDECF}.flat-tone-2 .card-art{background:#F1D7A2}.flat-tone-3 .card-art{background:#C4CDEA}.flat-tone-4 .card-art{background:#ABD4DB}.flat-tone-5 .card-art{background:#E8CAD9}.card-art img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.card-fullname{font:900 13px/1.08 'Nunito',system-ui,sans-serif;letter-spacing:-.015em;color:#365765;overflow-wrap:anywhere;word-break:normal;position:relative;z-index:1}.card-fullname.medium{font-size:12px}.card-fullname.long{font-size:11px}.card-fullname.ultra{font-size:10px}.item-card.with-image .card-art{min-height:65px}.card-title{background:#FFF9F0;color:#466271;padding:5px 4px 6px;font-size:10px;font-weight:900;line-height:1.09;text-align:center;overflow-wrap:anywhere;display:block;min-height:29px}.item-card.eliminated .item-ink{opacity:.36;filter:grayscale(.75)}.item-card.eliminated:after{content:'×';position:absolute;inset:0;display:grid;place-items:center;background:rgba(50,93,95,.09);font:900 69px/1 'Fredoka',sans-serif;color:#E27072;pointer-events:none}.item-card:disabled{opacity:1}.item-card:disabled .item-ink{opacity:1}.item-card:disabled.eliminated .item-ink{opacity:.36}.board-locked .item-card{cursor:default}
.game-actions{position:relative;z-index:3;flex:none;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:8px 12px calc(11px + env(safe-area-inset-bottom));max-width:1000px;width:100%;margin:0 auto}.game-actions .btn{min-height:54px;border-radius:17px;font-size:15px;gap:8px}.game-actions .btn .flat-svg-icon{height:26px;width:26px}.game-actions .btn-primary{background:#E8777E}.game-actions .btn-yellow{background:#F1C17A}
/* Ranking */
.end-cover{background:linear-gradient(155deg,#D4EDE1,#F9F1E5 65%,#F5DCC7)}.end-screen{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;flex:1;min-height:0;overflow-y:auto;padding:4px 18px calc(15px + env(safe-area-inset-bottom));width:min(100%,620px);margin:0 auto}.finish-illustration{position:relative;text-align:center;flex:none;height:210px;width:100%}.finish-illustration img{height:175px;max-width:100%}.end-banner{font:900 clamp(46px,11vw,70px)/1 'Fredoka',sans-serif;color:#36627A;margin:-27px 0 0;position:relative;z-index:2;letter-spacing:-.055em}.end-banner span{color:#E5797E}.end-names{width:100%;display:flex;flex-direction:column;gap:8px;overflow:auto;flex:1;min-height:0;margin-top:9px;padding:0 1px}.result-row{display:grid;grid-template-columns:39px minmax(0,1fr) minmax(0,36%);gap:8px;align-items:center;background:#EDF1E8;border-radius:18px;min-height:52px;padding:10px 12px}.result-row.winner{background:#F5CF8F}.result-row:nth-child(2){background:#D3E5E7}.result-row:nth-child(3){background:#EAD8D3}.result-row strong{font:900 22px 'Fredoka',sans-serif}.result-person{font-size:13px;font-weight:900;overflow-wrap:anywhere;line-height:1.1}.result-row small{font-size:11px;font-weight:800;color:#6B8490;text-align:right;overflow-wrap:anywhere;line-height:1.12}.end-actions{width:100%;flex:none;display:grid;grid-template-columns:1fr;gap:8px;margin-top:15px}.end-actions .btn{width:100%;min-height:46px}.ready-count{font-size:11px;font-weight:900;opacity:.8}
/* Modal */
.overlay{position:fixed;inset:0;z-index:100;background:rgba(39,69,78,.46);display:flex;align-items:center;justify-content:center;padding:17px;backdrop-filter:blur(6px)}.modal{display:flex;flex-direction:column;max-width:min(100%,440px);width:100%;max-height:min(94dvh,730px);overflow:hidden;background:#FCF8EE;border:0;border-radius:29px;box-shadow:0 24px 70px rgba(28,57,69,.2);padding:19px;gap:0}.modal-wide{max-width:min(100%,610px)}.bubble-title{font:900 clamp(23px,5vw,30px)/1.12 'Fredoka',sans-serif;color:#3B6172;letter-spacing:-.025em;text-align:center;margin:0 0 13px}.modal-body{min-height:0;overflow:auto;padding:4px 1px 13px;font-weight:700;color:#536F79}.modal-body p{font-size:14px;line-height:1.4}.modal-foot{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:8px 0 0;flex:none}.modal-foot>.btn{flex:1;min-width:100px}.modal-foot:has(.guess-result-track){display:flex;flex-direction:column;gap:10px}.modal-foot:has(.guess-result-track) .btn{width:100%}.guess-result-track{width:100%;height:5px;border-radius:20px;background:#E3E8DF;overflow:hidden}.guess-result-track>div{background:#78BCAF;height:100%;width:100%;transition:width .1s linear}.guess-confirm-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:150px;padding:15px 12px;margin:0 auto 4px;border-radius:21px;background:#DFEDE4}.guess-confirm-card strong{font:900 clamp(23px,5.5vw,30px)/1.12 'Fredoka',sans-serif;color:#335A6D;text-align:center;overflow-wrap:anywhere}.guess-confirm-card img{max-height:160px;max-width:min(100%,180px);object-fit:contain;border-radius:15px}.guess-result-art{position:relative;width:134px;height:134px;margin:5px auto;background:#F6D4A4;border-radius:43% 57% 54% 46%;display:grid;place-items:center}.guess-result-art.no{background:#D6E7EE}.result-symbol{font:900 96px/1 'Fredoka',sans-serif;color:#DF7F74}.guess-result-art.no .result-symbol{color:#6FA1B9}.guess-result-label{text-align:center;font:900 25px 'Fredoka',sans-serif;color:#3F6474}.guess-list{max-height:min(43dvh,300px);overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.guess-opt{border:0;background:#E8EFE7;color:#335468;border-radius:14px;min-height:49px;display:flex;align-items:center;gap:8px;text-align:left;font-size:12px;font-weight:900;padding:7px;overflow-wrap:anywhere}.guess-opt.selected{background:#A9D8C9}.guess-thumb{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;flex:none;background:#D9DED5;font-size:18px;overflow:hidden}.guess-thumb img{width:100%;height:100%;object-fit:cover}.qr-target{display:grid;place-items:center;min-height:210px;background:white;border-radius:20px;margin:9px auto 13px;padding:15px;width:max-content;max-width:100%}.notice{background:#DFEDE6;padding:13px;border-radius:16px;font-size:13px;font-weight:800}.custom-grid{display:grid;grid-template-columns:1fr;gap:7px;margin-top:12px}.custom-item{display:flex;align-items:center;gap:7px;background:#EEF3E9;border-radius:14px;padding:7px}.custom-num{font-size:11px;font-weight:900;min-width:20px;text-align:center}.custom-name{flex:1}.img-picker{width:40px;height:40px;border-radius:12px;flex:none;background:#F4DFD0;position:relative;display:grid;place-items:center;overflow:hidden;font-size:18px}.img-picker img{width:100%;height:100%;object-fit:cover}.img-picker input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.del-item{width:33px;height:35px;border:0;background:#F3D7D4;border-radius:10px;color:#AA5C63;font-size:20px;font-weight:900}.custom-options{display:flex;gap:7px;margin-top:12px}
/* Admin */
.admin-shell{background:#EDF4EE}.admin-scroll{padding:15px;position:relative;z-index:2}.admin-wrap{max-width:970px;margin:auto}.admin-grid{display:grid;grid-template-columns:260px 1fr;gap:13px}.admin-cat{display:flex;align-items:center;gap:8px;padding:10px 12px;margin:5px 0;background:#EEF5EF;border-radius:14px;cursor:pointer}.admin-cat.active{background:#BEE3D6}.admin-cat strong{flex:1;min-width:0;overflow-wrap:anywhere}.admin-item-list{display:grid;gap:7px;max-height:46dvh;overflow:auto;margin-top:12px}.admin-item{display:flex;align-items:center;gap:10px;background:#F2F3EE;border-radius:14px;padding:7px;min-width:0}.admin-item img{width:44px;height:44px;object-fit:cover;border-radius:12px}.admin-item-name{flex:1;min-width:0;overflow-wrap:anywhere;font-size:13px;font-weight:900}.admin-item-actions{display:flex;gap:4px}.subcopy{font-size:13px;font-weight:700;color:#799097}.theme-header{margin-bottom:10px}
@media(max-width:760px){.lobby-wrap{grid-template-columns:1fr}.lobby-side{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.lobby-side>.panel{min-width:0}.room-code-panel{flex-direction:column;justify-content:center}.room-code{font-size:26px}.code-buttons .icon-action{width:35px}.players-list{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.admin-item-list{max-height:none}}
@media(max-width:520px){.home-area{padding:12px 22px}.home-grid.flat-home{gap:0}.home-hero-flat{flex:1;max-height:490px}.hero-illustration{width:min(104%,420px);height:min(77%,330px)}.flat-wordmark{margin-top:-31px}.flat-wordmark span{font-size:clamp(51px,14vw,76px)}.flat-wordmark em{font-size:clamp(50px,13vw,75px)}.flat-home-form{width:100%;max-width:360px;padding:0}.flat-home-form>.btn{height:52px}.home-strapline{font-size:19px;margin-bottom:8px}.site-head{height:49px;padding:7px 12px 2px}.logo-small{font-size:22px}.head-tag{font-size:10px;padding:6px 9px}.icon-action{height:35px;width:35px;min-width:35px;border-radius:11px}.lobby-scroll{padding:8px 10px 12px}.lobby-side{display:flex;gap:10px}.lobby-side>.panel{padding:11px 13px}.room-code-panel{flex-direction:row;min-height:67px}.room-code{font-size:29px}.panel{padding:14px;border-radius:22px}.players-list{margin-top:8px}.section-title{font-size:21px}.theme-card{min-height:113px;border-radius:20px;padding:12px 10px}.theme-list{gap:9px}.theme-illustration{height:77px;width:77px}.theme-name{font-size:16px}.choice-controls{gap:7px}.choice-controls .btn{min-height:39px}.game-top{padding:3px 9px 5px}.turn-banner{min-height:56px;padding:8px 9px;border-radius:17px}.turn-icon{width:31px;height:31px;font-size:21px;border-radius:11px}.turn-heading{font-size:16px}.clock-box{min-width:69px;border-radius:16px;padding:6px 9px}.clock-number{font-size:29px}.game-players{padding:2px 9px 6px;min-height:58px;gap:5px}.p-chip{padding:5px;gap:4px;min-height:48px;border-radius:13px}.p-chip .avatar{width:27px;height:28px;font-size:16px;border-radius:9px}.p-name{font-size:10px}.p-identity{font-size:9px;max-height:25px}.board-wrap{width:calc(100% - 18px);border-radius:20px;padding:9px 6px 6px}.board-grid{grid-auto-rows:minmax(96px,1fr);gap:6px}.item-card,.item-ink{min-height:96px}.item-card{border-radius:14px}.card-fullname{font-size:12px}.card-fullname.medium{font-size:11px}.card-fullname.long{font-size:10px}.card-fullname.ultra{font-size:9px}.card-title{font-size:9px;padding:4px 2px;min-height:26px}.board-heading{padding:0 5px 7px}.board-heading h2{font-size:16px}.board-turn-status{font-size:8px;padding:5px}.game-actions{padding:7px 9px calc(9px + env(safe-area-inset-bottom));gap:8px}.game-actions .btn{min-height:50px;font-size:13px}.game-actions .flat-svg-icon{width:25px;height:25px}.finish-illustration{height:195px}.finish-illustration img{height:160px}.end-screen{padding:1px 13px calc(13px + env(safe-area-inset-bottom))}.end-banner{font-size:51px}.end-actions{gap:7px;margin-top:10px}}
@media(max-width:350px){.home-area{padding:8px 15px}.flat-wordmark span{font-size:49px}.flat-wordmark em{font-size:48px}.home-support{font-size:10px}.hero-illustration{height:min(75%,295px)}.home-strapline{font-size:16px}.flat-home-form>.btn{height:45px}.theme-list{gap:7px}.theme-card{min-height:106px}.theme-name{font-size:14px}.p-chip .avatar{display:none}.board-grid{gap:4px;grid-auto-rows:minmax(88px,1fr)}.item-card,.item-ink{min-height:88px}.card-fullname{font-size:11px}.card-fullname.medium{font-size:10px}.card-fullname.long{font-size:9px}.card-fullname.ultra{font-size:8px}.board-turn-status{font-size:7.5px}.game-actions .btn{font-size:12px}}
@media(orientation:landscape) and (max-height:580px){.home-grid.flat-home{flex-direction:row;max-width:880px;gap:22px}.home-hero-flat{flex:1;height:100%;max-height:100%}.hero-illustration{height:78%;width:100%}.flat-wordmark{margin-top:-23px}.flat-wordmark span{font-size:clamp(40px,6vw,64px)}.flat-wordmark em{font-size:clamp(40px,5.6vw,60px)}.flat-home-form{width:42%;max-width:350px}.flat-home-form>.btn{height:43px;min-height:43px}.home-strapline{font-size:17px}.home-support{font-size:11px}.site-head{height:37px;padding:3px 10px 0}.game-screen .site-head{height:36px}.logo-small{font-size:19px}.icon-action{height:31px;width:31px;min-width:31px}.head-tag{padding:5px 9px}.game-top{padding:2px 10px 4px}.turn-banner{min-height:40px;padding:4px 10px;border-radius:13px}.turn-icon{height:30px;width:30px}.clock-box{padding:3px 9px;min-width:58px;border-radius:13px}.clock-number{font-size:22px}.game-players{min-height:46px;padding:0 10px 4px}.p-chip{min-height:40px;padding:3px 7px}.board-wrap{width:calc(100% - 20px);padding:6px}.board-heading{padding-bottom:4px;min-height:22px}.board-grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(72px,1fr)}.item-card,.item-ink{min-height:72px}.game-actions{padding:4px 10px calc(5px + env(safe-area-inset-bottom))}.game-actions .btn{min-height:39px}.game-actions .flat-svg-icon{width:21px;height:21px}.finish-illustration{height:125px}.finish-illustration img{height:113px}.end-banner{font-size:43px;margin-top:-18px}.end-names{gap:5px}.result-row{min-height:40px}.end-actions{grid-template-columns:repeat(3,1fr);gap:7px}.end-actions .btn{min-height:39px;font-size:12px}.modal{max-height:96dvh;padding:12px}.modal-body{padding-bottom:6px}.guess-result-art{height:88px;width:88px}.result-symbol{font-size:66px}.guess-list{max-height:40dvh}}

/* ===== v9: PIXEL SPACE ARCADE ===== */
:root{--ink:#f8f8ff;--paper:#0b1134;--muted:#b6b3e6;--mint:#38f68f;--sun:#ffcc37;--lav:#b44dff;--deep:#030826;--frame:#9153ff;--cyan:#5ff5ff;--hot:#ff4f9b;--pixel:'Pixelify Sans','Courier New',monospace;--arcade:'Press Start 2P','Courier New',monospace;font-family:var(--pixel);color:var(--ink)}
body{background:var(--deep);color:#f9f8ff;font-family:var(--pixel)}
button,input,textarea{font-family:var(--pixel)}
button:focus-visible,input:focus-visible{outline:2px solid #6bfaff;outline-offset:3px}
.site-shell,.room-shell,.game-screen,.admin-shell{background:#050a2b url('bg-mobile.png') center center/cover no-repeat;color:#fff}
.site-shell:before,.site-shell:after,.room-shell:before,.room-shell:after,.game-screen:before,.game-screen:after{display:none}
@media (orientation:landscape){.site-shell,.room-shell,.game-screen{background-image:url('bg-desktop.png')}}
.pixel-brand{display:block;max-width:100%;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 7px 0 #061342a9)}
.site-head{height:64px;min-height:64px;max-width:1050px;gap:8px;padding:8px 14px 4px}
.logo-small{width:clamp(105px,26vw,190px);height:49px;display:flex;align-items:center;flex:none}
.logo-small .pixel-brand{width:100%;max-height:48px}
.head-tag{background:#080f39;border:2px solid #7d55ff;border-bottom-color:#c794ff;box-shadow:inset 0 0 0 2px #18265f,3px 4px #05051e;clip-path:polygon(5px 0,calc(100% - 5px) 0,100% 5px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px),0 5px);border-radius:0;color:#66f7ff;font:700 10px var(--arcade);max-width:47vw;padding:12px 8px}
.icon-action{border:2px solid #8b54ff;border-radius:0;color:#fff;background:#171348;width:40px;height:40px;box-shadow:inset 0 0 0 2px #4135a1,3px 3px #080c2a;clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px),0 4px)}
.icon-action .ui-icon{width:19px;height:19px}
/* Retro 8-bit button with a light band and offset pixel-shadow */
.btn{background:#251856;color:#fff;border:2px solid #9964ff;border-top-color:#dfb4ff;border-radius:0;box-shadow:inset 0 3px 0 #5b389d,inset 0 -4px 0 #0b0839,0 5px 0 #070625;clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px);text-shadow:none;font:700 clamp(13px,3vw,18px)/1.25 var(--pixel);letter-spacing:.2px;border-radius:0;min-height:48px;padding:10px 12px}
.btn:not(:disabled):active{transform:translateY(3px);box-shadow:inset 0 2px 0 #5b389d,0 2px #070625}
.btn-primary,.btn-cyan{background:#38ef87;color:#071633;border-color:#91ffd5;border-bottom-color:#057b50;box-shadow:inset 0 4px #74ffb4,inset 0 -5px #139d60,0 5px #06102b}
.btn-yellow{background:#ffca31;color:#10102d;border-color:#fff5ad;border-bottom-color:#f87337;box-shadow:inset 0 4px #ffe885,inset 0 -5px #ff8f38,0 5px #06102b}
.btn-violet{background:#9c49ef;color:white;border-color:#e6aeff;border-bottom-color:#6c27bf;box-shadow:inset 0 4px #c16cff,inset 0 -5px #6f29bb,0 5px #06102b}
.btn-ghost{background:#1e1c55;color:#eee7ff;border-color:#8952d9;box-shadow:inset 0 3px #41398e,inset 0 -4px #101033,0 5px #05051a}
.btn-sm{font:700 12px var(--pixel);min-height:34px;padding:6px 10px;border-radius:0}
.panel,.board-wrap,.modal{background:linear-gradient(150deg,#080e38f5,#080b2ff5);border:3px solid #8b60ff;border-top-color:#e2a1ff;border-radius:0;box-shadow:0 0 0 3px #10114a,inset 0 0 0 2px #21165d,0 9px 0 #05051e;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px)}
.panel-title,.section-title{color:#6df6ff;font:700 clamp(15px,2.5vw,22px)/1.35 var(--pixel);letter-spacing:.5px;text-shadow:2px 3px #09478e}
.field label,.tiny-label,.summary-label,.subcopy{color:#c4b5ff;font:700 12px var(--pixel);letter-spacing:.2px}
.text-input{background:#070b2e;color:#fff;border:2px solid #7853cf;border-radius:0;box-shadow:inset 0 2px #0f1254;min-height:44px;outline:0;font:700 16px var(--pixel)}
.text-input::placeholder{color:#9994be}
.text-input:focus{box-shadow:0 0 0 2px #33fff0,inset 0 2px #0f1254}
.entry-back{color:#a6eeff;text-transform:uppercase;font:700 13px var(--pixel)}
.sticker,.mini-tag{background:#ffcd3f;color:#161131;border:0;border-radius:0;padding:5px 8px;font:700 12px var(--pixel)}
/* Home keeps artwork's mystery block visually embedded inside background */
.pixel-home{background-image:url('bg-mobile.png');background-size:cover;background-position:50% 50%}
.home-area{padding:0 17px 5vh;max-width:100%;align-items:center}
.home-grid.flat-home{height:100%;max-height:830px;max-width:610px;justify-content:flex-start;gap:0;padding:0}
.home-hero-flat{flex:1 1 auto;max-height:none;justify-content:flex-start;padding-top:max(11px,4vh);height:auto}
.home-hero-flat .home-logo{width:min(94%,620px);height:auto;max-height:39vh;object-fit:contain;flex:none}
.home-subtitle{text-align:center;margin:7px 0 0;color:#6bf2ff;font:700 clamp(13px,3.7vw,21px)/1.3 var(--pixel);text-shadow:0 3px #0b3d89}
.flat-home-form{width:min(100%,490px);gap:13px;margin-top:auto;padding:0 5px max(1vh,8px);background:transparent}
.flat-home-form>.btn{min-height:58px;font:700 clamp(17px,4.8vw,24px)/1 var(--pixel)}
.flat-home-form .panel-title{color:#72f7ff;text-align:center;font-size:23px;margin:5px 0}
.flat-home-form .field label{color:#b8d4ff}
.flat-home-form .entry-back{margin-bottom:0}
/* Lobbies: host settings + separated player waiting visual */
.lobby-scroll{padding:7px 14px 15px}
.lobby-wrap{gap:14px;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:start}
.lobby-side{gap:12px}
.room-code-panel{background:#070e35;flex-direction:row;min-height:78px}
.room-code{font:700 clamp(23px,4vw,32px)/1.15 var(--arcade);color:#66fbff;letter-spacing:0;text-shadow:2px 3px #1c6bb0}
.code-buttons .icon-action{border-color:#7955e8;background:#211363;border-radius:0;color:#80fff5}
.players-list{grid-template-columns:1fr;gap:7px}
.player-row{min-height:61px;background:#091238;border:1px solid #28307f;border-radius:0;color:#fff;padding:7px 9px}
.player-row:nth-child(2n){background:#0a1236}
.player-row.vacant{opacity:.72}
.player-no,.avatar{width:47px;height:47px;padding:0;border:2px solid #ffc84b;border-radius:0;display:grid;place-items:center;background:#11164d;font:700 19px var(--pixel);overflow:hidden}
.player-no.empty{border:2px dashed #7371b7;color:#ae73ff;font:900 30px var(--pixel)}
.pixel-avatar{display:block;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}
.player-name{font:700 18px/1.15 var(--pixel);color:#fdfcff;white-space:normal;overflow-wrap:anywhere}
.player-name small{font-size:11px;color:#8ef6aa}.player-name small.ready{color:#39f998;font-size:12px}
.player-row .icon-action{border-color:#d65085;color:#ff9aaf;background:#2b103d}
.theme-list{gap:9px;margin-top:10px}
.theme-card{border:2px solid #7750d9;border-top-color:#bd8cff;border-radius:0;background:#101640;min-height:115px;padding:8px;box-shadow:inset 0 2px #3c328b,0 3px #080823;clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px);color:#fff}
.theme-card:before,.theme-card:after{display:none}
.theme-card.selected{border-color:#ffe557;background:#27214b;box-shadow:0 0 0 2px #f6ca31,inset 0 0 15px #a85a5b66}
.theme-card .theme-illustration{position:absolute;top:10px;left:10px;width:55px;height:55px;display:grid;place-items:center;background:transparent}
.theme-card .theme-emoji{font-size:34px;image-rendering:pixelated}
.theme-card .theme-meta{z-index:1;text-align:left}
.theme-card .theme-name{color:#fbf9ff;font:700 16px/1.1 var(--pixel)}
.theme-card .theme-qty{font:700 11px var(--pixel);color:#a5a6ee}
.theme-card .theme-check{background:#ffcc3d;color:#081031;border-radius:0}
.theme-card.custom{background:#15134a}
.choice-controls{margin:10px 0;padding:12px 0 5px;border-top:1px solid #48459d}
.count-stepper{border:2px solid #8055d9;background:#0b0d39;border-radius:0;box-shadow:0 3px #090723}
.count-stepper button{background:#9b49ff;color:#fff;border-radius:0;font:900 19px var(--pixel)}
.count-stepper input{color:#fff;background:transparent;font-family:var(--arcade);font-size:13px}
.time-config{border-top:2px solid #473b8e;margin-top:10px;padding-top:12px}
.comic-time-heading{font:700 18px var(--pixel);color:#66faff}
.comic-time-heading .flat-svg-icon{width:30px;height:30px}
.time-options{gap:6px;margin-top:8px}
.time-opt{background:#181542;color:#fff;border:2px solid #7451d5;border-radius:0;padding:8px 9px;font:700 14px var(--pixel);min-width:45px}
.time-opt.selected{background:#ffce36;color:#090f32;border-color:#ffed8e;box-shadow:0 3px #ef8248}
.lobby-bottom{background:transparent;padding:10px 15px calc(14px + env(safe-area-inset-bottom));max-width:650px;margin:auto;width:100%}
.lobby-bottom .btn{width:100%;min-height:60px;font:700 clamp(18px,4vw,24px) var(--pixel)}
.waiting-screen{background-image:url('bg-mobile.png')}
.wait-center{display:flex;flex-direction:column;align-items:center;width:min(100%,600px);margin:0 auto;padding:15px 20px 20px;min-height:0;height:100%;overflow:auto;gap:11px;justify-content:space-around}
.wait-logo{width:min(70%,360px);height:auto;max-height:120px;flex:none}
.wait-ufo{width:125px;height:115px;position:relative;display:flex;align-items:center;justify-content:center;margin:3px 0 0;filter:drop-shadow(0 5px 14px #02ffe3a2)}
.wait-ufo:before{content:'';position:absolute;top:18px;left:16px;width:94px;height:47px;border-radius:50%;background:linear-gradient(#38f9ff 20%,#1677dc 50%,#3edabf 68%,#06375f 95%);box-shadow:0 -15px #263ca2,0 -19px 0 -3px #53e4ee;transform:skewX(-6deg)}
.wait-ufo:after{content:'';position:absolute;top:63px;left:37px;width:53px;height:52px;background:linear-gradient(#20f9ac80,transparent);clip-path:polygon(0 0,100% 0,100% 100%,0 100%);filter:blur(3px)}
.wait-ufo span{position:relative;z-index:1;color:#ffe14a;font:900 36px var(--pixel);margin-top:14px}
.wait-center h1{text-align:center;font:700 clamp(26px,6vw,39px)/1.1 var(--pixel);text-shadow:3px 4px #26269b;color:#fff;margin:0}
.wait-center>p{text-align:center;font:700 14px var(--pixel);color:#83f6fb;margin:0}
.wait-players{width:100%;display:flex;flex-direction:column;gap:7px;min-height:0;overflow-y:auto}
.wait-player{display:flex;align-items:center;gap:10px;background:#070f38eb;border:2px solid #7050db;padding:6px 8px;color:white;font:700 20px var(--pixel);min-height:48px}
.wait-player:nth-child(2n){border-color:#39a7f1}
.wait-player .wait-portrait{width:42px;height:42px;flex:none;border:2px solid #f9b748}
.wait-player>span{flex:1;overflow-wrap:anywhere}
.wait-player small.ready{color:#39ff9a;font:700 18px var(--pixel)}
.wait-loading{display:flex;flex-direction:column;gap:8px;width:90%;max-width:420px;color:#53f4ff;text-align:center;font:700 17px var(--pixel)}
.wait-progress{height:21px;background:#0e1042;border:2px solid #8a58ed;padding:2px}
.wait-progress i{display:block;height:100%;width:55%;background:repeating-linear-gradient(115deg,#46f899 0 11px,#19bd93 11px 20px);animation:loading-loop 2.4s ease-in-out infinite alternate}
@keyframes loading-loop{from{width:9%}to{width:100%}}
.wait-center .entry-back{margin-top:0}
/* Game board: no typed questions, shared realtime turns, locked outside own turn */
.game-screen .site-head{height:55px;min-height:55px}
.game-top{padding:2px 11px 7px;gap:9px}
.turn-banner{background:#070e35ed;border:2px solid #8454f5;box-shadow:inset 0 0 0 2px #20266b;border-radius:0;padding:6px 11px;min-height:48px}
.turn-heading{font:700 clamp(15px,3.3vw,22px) var(--pixel);color:#fff}
.turn-hint{color:#50f898;font:700 12px var(--pixel)}
.clock-box{background:#0d1038;border:2px solid #8761fc;border-radius:0;padding:5px 9px;min-width:68px;color:#ffce30;box-shadow:0 3px #070521}
.clock-number{font:700 clamp(22px,5.8vw,31px)/1 var(--pixel)}
.clock-unit{font:700 12px var(--pixel)}.clock-box.urgent{background:#ff4589;color:#fff}
.game-players{gap:6px;padding:3px 12px 8px;min-height:56px}
.p-chip{background:#090c34e8;color:#fff;border:2px solid #3c3a94;border-radius:0;min-height:53px;gap:5px;padding:5px;box-shadow:none}
.p-chip.active{border-color:#ffdc32;background:#241b52;box-shadow:0 0 0 1px #f9b82c,0 0 10px #ffc32e75}
.p-chip.ranked{border-color:#22d7a0}.p-chip .avatar{width:34px;height:34px;border:1px solid #8c60f8;border-radius:0;flex:none}
.p-name{font:700 12px var(--pixel);color:#fff}.p-identity{font:700 10px/1.05 var(--pixel);color:#b5aee9}
.board-wrap{background:#070b30ec;border:3px solid #9a64ff;border-radius:0;box-shadow:inset 0 0 0 3px #33276e,0 0 0 2px #05062b,0 0 16px #7645d24b;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);width:calc(100% - 24px);padding:10px 8px 7px}
.board-heading h2{font:700 18px var(--pixel);color:#64efff}
.board-turn-status{font:700 10px var(--pixel);background:#2b235b;color:#c4bbff;border-radius:0;padding:5px 7px}
.board-turn-status.editable{background:#0a563d;color:#44ff9d}
.board-stats{font:700 11px var(--pixel);color:#ffd34f;background:#211c53;border-radius:0;padding:6px}
.board-scroll{scrollbar-color:#7656c3 transparent}
.board-grid{gap:7px;grid-auto-rows:minmax(100px,1fr)}
.item-card{background:#222059;border:2px solid #a36cff;border-radius:0;box-shadow:inset 0 2px #ecacff,0 3px #050521;min-height:92px;overflow:hidden;clip-path:polygon(5px 0,calc(100% - 5px) 0,100% 5px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px),0 5px)}
.item-ink{min-height:93px}.card-art{background:#ee5b9e;padding:5px 3px}
.card-art:before,.card-art:after{display:none}
.flat-tone-0 .card-art{background:#f65291}.flat-tone-1 .card-art{background:#7050db}.flat-tone-2 .card-art{background:#ffb448}.flat-tone-3 .card-art{background:#35a0d8}.flat-tone-4 .card-art{background:#36b989}.flat-tone-5 .card-art{background:#b65bc7}
.card-fullname{font:700 13px/1.05 var(--pixel);color:#fff;text-shadow:1px 2px #17123e;overflow-wrap:anywhere}.card-fullname.medium{font-size:12px}.card-fullname.long{font-size:11px}.card-fullname.ultra{font-size:10px}
.card-title{font:700 11px/1.08 var(--pixel);background:#f7f5f6;color:#131635;padding:3px 2px;min-height:24px}
.item-card.eliminated .item-ink{opacity:.4;filter:grayscale(.8)}
.item-card.eliminated:after{color:#ff316d;background:#10133b26;font:900 68px var(--pixel);text-shadow:2px 3px #11112d}
.board-locked .item-card{cursor:not-allowed}
.game-actions{gap:10px;padding:7px 12px calc(12px + env(safe-area-inset-bottom))}
.game-actions .btn{min-height:55px;font:700 20px var(--pixel)}
.game-actions .btn-primary{background:#34f28c;color:#061030}
.game-actions .btn-yellow{background:#ffcc3b;color:#0a1030}
.game-actions .flat-svg-icon{color:#151432}
/* Dialogs, popup in dark pixel frame, 5sec result timer remains JS-controlled */
.overlay{background:#04051acb;backdrop-filter:blur(5px)}
.modal{background:#090d35;border:3px solid #b475ff;border-top-color:#e9bdff;box-shadow:0 0 0 3px #241569,0 20px 35px #000a;border-radius:0;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px);padding:20px}
.bubble-title{color:#5cf6ff;font:700 clamp(18px,4vw,25px)/1.25 var(--pixel);margin-bottom:12px;text-transform:uppercase;text-shadow:2px 2px #1f45a3}
.bubble-title:empty{display:none}
.modal-body{color:#f8f5ff;font:700 15px var(--pixel);padding:3px 0 13px}
.modal-body p{font:700 14px/1.25 var(--pixel);color:#e1ddff}
.modal-foot{padding-top:7px;gap:11px}
.modal-foot>.btn{min-height:46px}
.modal-foot .btn-ghost{background:#ff4b86;color:#fff;border-color:#ffa8c2;box-shadow:inset 0 4px #ff80ad,inset 0 -4px #c62165,0 4px #030425}
.guess-confirm-card{background:transparent;border-radius:0;padding:15px 10px;gap:11px}
.guess-confirm-card strong{color:#fefaff;font:700 clamp(20px,5vw,27px) var(--pixel)}
.guess-confirm-card img{border:3px solid #8e62e6;border-radius:0;max-height:175px;image-rendering:auto}
.guess-opt{border:2px solid #3e3988;color:#fff;background:#101642;border-radius:0;font:700 14px var(--pixel);padding:8px}
.guess-opt.selected{border-color:#f8d343;background:#252153}
.guess-thumb{border-radius:0;background:#20164a;color:#ffb4f0}
.guess-list{gap:7px}
.guess-result-track{background:#28285b;height:8px;border-radius:0}
.guess-result-track>div{background:#4dffb2}
.pixel-result-title{font:700 clamp(39px,11vw,65px)/.97 var(--pixel);text-align:center;letter-spacing:1px;margin:23px 0 17px;text-shadow:0 5px #075734}
.pixel-result-title.yes{color:#45ff97}.pixel-result-title.no{color:#ff4a80;text-shadow:0 5px #682042}
.guess-result-label{font:700 21px var(--pixel);color:#eae6ff}
.notice,.custom-item,.img-picker{background:#1b1b53;color:#f7f3ff;border-radius:0}
.qr-target{border-radius:0}
/* Game results */
.end-cover{background-image:url('bg-mobile.png');background-size:cover}
.end-screen{width:min(100%,610px);gap:6px;padding:2px 16px 15px}
.finish-illustration{height:auto;min-height:108px;display:flex;align-items:center;justify-content:center;flex-direction:column;flex:none}
.pixel-cup{font-size:48px;line-height:1.05;filter:drop-shadow(0 6px #6a3dbb)}
.end-banner{color:#59f7ff;font:700 clamp(32px,7vw,52px) var(--pixel);letter-spacing:0;text-shadow:3px 4px #19529b;margin:0}
.end-banner span{color:#f9c845}
.end-names{background:#070e37ef;border:3px solid #9367ff;box-shadow:inset 0 0 0 3px #26216a,0 0 0 2px #080b2d;margin:10px 2px 0;padding:12px 10px;gap:7px;min-height:0}
.result-row{background:#0b113b;min-height:52px;border:1px solid #393988;border-radius:0;padding:8px;grid-template-columns:42px minmax(0,1fr) minmax(0,37%)}
.result-row.winner{background:#171848;border-color:#ffe45b}.result-row:nth-child(2),.result-row:nth-child(3){background:#0b113b}
.result-row strong{font:700 22px var(--pixel);color:#ffcf45}.result-row:nth-child(2) strong{color:#b8cbff}.result-row:nth-child(3) strong{color:#ef925f}
.result-person{font:700 17px var(--pixel);color:#fff}.result-row small{color:#9eaef0;font:700 11px var(--pixel)}
.end-actions{gap:10px;margin-top:10px}
.end-actions .btn{font:700 19px var(--pixel);min-height:52px}
/* admin uses same style, login kept protected by existing Supabase Auth */
.admin-shell{background:#080c2e url('bg-desktop.png') center/cover no-repeat}
.admin-cat,.admin-item{background:#10153f;color:#fff;border:1px solid #47408c;border-radius:0}
.admin-cat.active{background:#25205c;border-color:#e9b13e}
.subcopy{color:#c2b4eb}
.toast{background:#221045;color:#fff;border:2px solid #9b6dff;border-radius:0;box-shadow:0 5px #05051b}
/* portrait and landscape */
@media(max-width:760px){.lobby-wrap{grid-template-columns:1fr}.lobby-side{display:flex}.room-code-panel{flex-direction:row}.players-list{grid-template-columns:1fr}.theme-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.home-area{padding:0 15px max(12px,5vh)}.home-hero-flat{padding-top:3vh;max-height:none}.home-hero-flat .home-logo{width:min(96%,410px);max-height:35vh}.home-subtitle{font-size:clamp(13px,4vw,17px)}.flat-home-form{gap:11px}.flat-home-form>.btn{height:53px;min-height:53px}.site-head{height:56px;min-height:56px;padding:5px 10px}.logo-small{width:115px;height:43px}.logo-small .pixel-brand{max-height:42px}.head-tag{font-size:9px;padding:8px 5px}.icon-action{width:33px;min-width:33px;height:33px}.lobby-scroll{padding:5px 11px}.lobby-side>.panel{padding:11px 12px}.panel{padding:13px;border-width:2px}.room-code-panel{min-height:64px}.room-code{font-size:clamp(18px,5vw,27px)}.section-title{font-size:18px}.players-list{grid-template-columns:1fr;gap:5px}.player-row{min-height:51px;padding:5px}.player-no{height:39px;width:39px}.player-name{font-size:16px}.theme-card{min-height:101px;padding:7px}.theme-card .theme-illustration{height:40px;width:40px}.theme-card .theme-emoji{font-size:29px}.theme-card .theme-name{font-size:15px}.theme-list{gap:7px}.theme-card.custom .theme-name{font-size:15px}.lobby-bottom{padding:6px 12px calc(12px + env(safe-area-inset-bottom))}.lobby-bottom .btn{min-height:48px}.wait-center{padding:10px 17px 15px;gap:5px}.wait-logo{max-height:90px}.wait-ufo{transform:scale(.75);margin:-5px 0 -13px}.wait-center h1{font-size:clamp(23px,7vw,34px)}.wait-center>p{font-size:12px}.wait-player{min-height:42px;font-size:16px}.wait-player .wait-portrait{width:35px;height:35px}.wait-loading{font-size:14px}.game-screen .site-head{height:49px;min-height:49px}.game-top{padding:2px 9px 5px}.turn-banner{min-height:45px;padding:4px 8px}.turn-heading{font-size:clamp(14px,4vw,18px)}.clock-box{min-width:60px;padding:4px 6px}.clock-number{font-size:26px}.game-players{padding:2px 9px 6px;min-height:48px;gap:4px}.p-chip{min-height:44px;padding:3px;gap:4px}.p-chip .avatar{height:28px;width:28px}.p-name{font-size:11px}.p-identity{font-size:9px;line-height:1}.board-wrap{padding:8px 5px 5px;width:calc(100% - 16px)}.board-heading{padding:0 3px 6px}.board-heading h2{font-size:15px}.board-turn-status{font-size:9px;padding:4px}.board-grid{gap:5px;grid-auto-rows:minmax(94px,1fr)}.item-card,.item-ink{min-height:90px}.card-fullname{font-size:12px}.card-fullname.medium{font-size:11px}.card-fullname.long{font-size:10px}.card-fullname.ultra{font-size:9px}.card-title{min-height:23px;font-size:10px}.game-actions{padding:6px 9px calc(10px + env(safe-area-inset-bottom));gap:7px}.game-actions .btn{min-height:48px;font-size:17px}.game-actions .flat-svg-icon{width:21px;height:21px}.end-screen{padding:0 13px 15px}.finish-illustration{min-height:85px}.pixel-cup{font-size:42px}.end-banner{font-size:32px}.end-names{margin-top:5px;padding:8px;gap:5px}.result-row{min-height:43px;padding:5px}.result-person{font-size:15px}.end-actions{margin-top:5px;gap:7px}.end-actions .btn{font-size:16px;min-height:47px}.modal{padding:14px}.modal-body{padding-bottom:8px}}
@media(max-width:350px){.home-subtitle{font-size:11px}.home-hero-flat .home-logo{max-height:31vh}.flat-home-form>.btn{height:45px;min-height:45px;font-size:15px}.p-chip .avatar{display:none}.game-players{min-height:39px}.p-chip{min-height:38px}.board-grid{gap:4px;grid-auto-rows:minmax(82px,1fr)}.item-card,.item-ink{min-height:82px}.card-title{font-size:9px}.game-actions .btn{font-size:15px}}
@media(orientation:landscape) and (max-height:580px){.pixel-home{background-image:url('bg-desktop.png')}.home-grid.flat-home{flex-direction:row;max-width:1000px;gap:18px;align-items:center}.home-hero-flat{width:58%;height:100%;flex:1;padding-top:0;justify-content:center}.home-hero-flat .home-logo{width:min(100%,490px);max-height:44vh}.home-subtitle{font-size:clamp(13px,2.3vw,20px)}.flat-home-form{width:38%;margin:0;padding:0}.site-head,.game-screen .site-head{height:37px;min-height:37px}.logo-small{height:33px;width:91px}.logo-small .pixel-brand{max-height:31px}.game-top{padding:1px 9px 3px}.turn-banner{min-height:35px}.clock-box{padding:2px 7px}.clock-number{font-size:20px}.game-players{min-height:38px;padding-bottom:3px}.p-chip{min-height:35px}.p-chip .avatar{width:27px;height:27px}.board-wrap{padding:5px}.board-grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(69px,1fr)}.item-card,.item-ink{min-height:68px}.board-heading{min-height:18px;padding-bottom:2px}.game-actions{padding:3px 9px calc(5px + env(safe-area-inset-bottom))}.game-actions .btn{min-height:37px;font-size:14px}.end-banner{font-size:29px}.finish-illustration{min-height:60px}.pixel-cup{font-size:25px}.end-actions{grid-template-columns:repeat(3,1fr)}.end-actions .btn{min-height:38px;font-size:13px}.modal{max-height:95dvh;padding:11px}.wait-center{flex-direction:column;gap:3px}.wait-logo{max-height:47px}.wait-ufo{display:none}.wait-center h1{font-size:22px}.wait-players{flex-direction:row;flex-wrap:wrap;max-height:80px}.wait-player{flex:1 1 25%;min-width:140px}.wait-loading{max-width:260px}.lobby-scroll{overflow-y:auto}.lobby-wrap{grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr)}}
@media(prefers-reduced-motion:reduce){.wait-progress i{animation:none;width:55%}}

/* =============================================================
   QUEM É?! v10 — improvements approved for the Pixel Space UI
   ============================================================= */
/* Home: source artwork carries central, enlarged mystery block. Logo and actions remain real DOM controls. */
.pixel-home{background:#040d37 url('bg-home-v10.png') center / cover no-repeat!important}
.home-hero-flat{padding-top:clamp(9px,3vh,26px)!important}
.home-hero-flat .home-logo{max-height:clamp(80px,20dvh,170px)!important;width:min(94%,600px)}
.flat-home-form{padding-bottom:max(10px,env(safe-area-inset-bottom))}
@media (orientation:landscape) and (max-height:580px){.pixel-home{background-image:url('bg-home-desktop-v10.png')!important}}

/* Header and room share buttons: identical dark-blue arcade keycaps with cyan icons. */
.room-code-panel .icon-action,.code-buttons .icon-action{background:#111b55!important;color:#6af4ff!important;border:3px solid #4361cd!important;box-shadow:inset 0 3px #779afa,inset 0 -3px #0a103a,0 3px #020724!important;clip-path:polygon(5px 0,calc(100% - 5px) 0,100% 5px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px),0 5px)}
.room-code-panel .icon-action .ui-icon{stroke:#80f5ff}

/* Shared character sprites and small golden host badge. */
.player-row .player-no{cursor:default}
.avatar-clickable{cursor:pointer!important;position:relative;outline-offset:3px}
.avatar-clickable:focus-visible{outline:3px solid #ffde56}
.avatar-clickable::after{content:'✎';position:absolute;right:0;bottom:0;background:#1d1b63;color:#ffd453;font:700 9px var(--pixel);padding:0 2px;pointer-events:none}
.host-crown{width:23px;height:22px;object-fit:contain;image-rendering:pixelated;flex:none;filter:drop-shadow(0 2px 1px #050622)}
.player-row>.host-crown{margin-right:4px}
.avatar-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}
.avatar-pick{position:relative;background:#141a55;border:3px solid #6252c4;min-width:0;padding:4px;aspect-ratio:1;box-shadow:inset 0 2px #b48cff,0 4px #060820}
.avatar-pick.selected{border-color:#ffda54;background:#27275d;box-shadow:0 0 0 2px #ffd244,0 4px #070821}
.avatar-pick .pixel-avatar{width:100%;height:100%;object-fit:cover}
.avatar-pick span{position:absolute;right:0;bottom:0;color:#041a2a;background:#48f394;font:700 18px var(--pixel);padding:0 4px}
.avatar-note{text-align:center;font-size:11px}

/* Categories: compact searchable rows; arbitrary number of categories in an internal scroller. */
.theme-search-label{display:flex;align-items:center;gap:8px;background:#091238;border:2px solid #473995;box-shadow:inset 0 2px #2d3273;margin-top:7px;padding:0 10px;min-height:40px;color:#74eafa;font:700 18px var(--pixel)}
.theme-search-label input{font:700 15px var(--pixel);min-width:0;width:100%;background:transparent;color:white;border:0;outline:0;min-height:35px}
.theme-search-label input::placeholder{color:#9da8e1}
.theme-list,.theme-list:has(.theme-card){display:flex!important;flex-direction:column!important;gap:0!important;margin-top:7px!important;max-height:min(38dvh,320px)!important;min-height:115px;overflow-y:auto;overflow-x:hidden;background:#080f35;border:2px solid #4a42a4;padding:2px;scrollbar-width:thin;scrollbar-color:#6a52ba #11133e}
.theme-list .theme-card{display:flex!important;flex-direction:row!important;align-items:center!important;gap:11px!important;min-height:53px!important;height:auto!important;width:100%;padding:8px 10px!important;clip-path:none!important;background:#0b133c!important;border:0!important;border-bottom:1px solid #363c88!important;box-shadow:none!important;transform:none!important;text-align:left;isolation:auto}
.theme-list .theme-card:disabled{opacity:.38}
.theme-list .theme-card.selected{background:#232162!important;box-shadow:inset 4px 0 #f9d74f!important}
.theme-list .theme-card.custom{background:#161543!important}
.theme-pixel-icon{height:31px;width:31px;flex:none;object-fit:contain;image-rendering:pixelated}
.theme-list .theme-meta{flex:1;display:flex;min-width:0;flex-direction:column;align-items:flex-start;max-width:none}
.theme-list .theme-name{font:700 18px var(--pixel)!important;color:white!important;line-height:1.15}
.theme-list .theme-qty{font:700 11px var(--pixel);color:#9fa8db}
.theme-arrow{color:#9878f4;font:700 28px var(--pixel);align-self:center}
.theme-list .selected .theme-arrow{color:#ffd648}
.catalog-empty{color:#b9b7ee;font:700 13px var(--pixel);padding:12px}
/* Quantity and turn options */
.count-stepper{border:0!important;gap:3px;box-shadow:none!important;overflow:visible!important;background:transparent!important}
.count-stepper button{height:41px;min-width:42px;border:3px solid #9e76ff!important;background:linear-gradient(#b35bff,#7c34e8)!important;color:white;box-shadow:inset 0 3px #ce9cfa,inset 0 -3px #6725be,0 4px #030521;clip-path:polygon(5px 0,calc(100% - 5px) 0,100% 5px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px),0 5px)}
.count-stepper input{background:#0b103d!important;border:2px solid #5746af!important;height:41px;min-width:56px}
.time-clock-img{display:block;width:33px;height:33px;object-fit:contain;image-rendering:pixelated;flex:none}
.time-options{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px!important}
.time-opt{width:100%;min-width:0!important;font-size:clamp(10px,2.7vw,14px)!important;padding:7px 1px!important}
.time-opt.time-infinite{grid-column:1/-1;min-height:42px;display:flex;align-items:center;justify-content:center;gap:11px;border:3px solid #a46cf7;background:linear-gradient(#ab53fc,#7933ec);color:white;box-shadow:inset 0 3px #ce90ff,inset 0 -3px #5e21ae,0 4px #030522;font-size:15px!important}
.time-opt.time-infinite img{width:31px;height:23px;object-fit:contain;image-rendering:pixelated}
.time-opt.time-infinite.selected{color:#151330;background:#ffd344;border-color:#fff29d;box-shadow:inset 0 3px #fff28d,inset 0 -3px #e38a21,0 4px #070622}

/* Waiting lobby: new UFO background is art only; live UI stays editable. */
.waiting-screen{background-image:url('bg-waiting.png')!important;background-position:center!important;background-size:cover!important}
.wait-center{width:min(100%,590px);padding:14px 12px calc(14px + env(safe-area-inset-bottom));justify-content:space-between!important;gap:9px!important;overflow-y:auto}
.wait-logo{width:min(76%,340px)!important;max-height:100px!important;margin-top:0}
.wait-ufo{display:none!important} /* UFO is already painted in bg-waiting.png */
.wait-hint{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:12vh;min-height:85px;gap:9px;text-align:center}
.wait-hint h1{font:700 clamp(23px,6.8vw,35px)/1.15 var(--pixel);color:#fff;text-shadow:3px 3px #3b4e9b}
.wait-hint p{color:#71f9ff;font:700 12px var(--pixel)}
.wait-players{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:6px;min-height:76px;overflow:visible;margin-top:auto}
.wait-player{border:0!important;background:transparent!important;padding:0!important;display:flex!important;flex-direction:column!important;align-items:center;gap:5px;min-width:0;min-height:0!important}
.wait-player .wait-portrait{width:100%!important;max-width:58px;aspect-ratio:1;height:auto!important;position:relative;display:block;border:3px solid #8260e6;box-shadow:0 4px #040b2b;padding:2px;background:#17113c}
.wait-player .wait-portrait .pixel-avatar{display:block;aspect-ratio:1;object-fit:cover}
.wait-player .wait-portrait .host-crown{position:absolute;top:-18px;left:calc(50% - 12px);z-index:2;height:21px;width:24px;overflow:visible}
.wait-player>span{display:block;font:700 clamp(10px,2.7vw,14px)/1.05 var(--pixel);color:#fff;text-align:center;overflow-wrap:anywhere;max-width:100%}
.wait-loading{width:min(96%,420px);margin-top:auto;gap:7px}
.wait-leave{background:#f04467!important;color:white!important;border:3px solid #ff98af!important;box-shadow:inset 0 4px #ff8199,inset 0 -4px #b91e4d,0 5px #060521!important;width:min(94%,420px);font:700 17px var(--pixel)!important;min-height:52px!important;flex:none}

/* Main game. Turn label is just text, timer is a strong 8-bit HUD. */
.turn-banner{background:none!important;border:none!important;box-shadow:none!important;padding:4px 0!important;min-height:0!important;flex:1}
.turn-heading{font:700 clamp(17px,4.6vw,23px) var(--pixel);color:#fff;text-shadow:2px 3px #14265d}
.clock-box{border:4px solid #a36dff!important;box-shadow:inset 0 3px #ebd4ff,inset 0 -4px #332280,0 4px #02062b,0 0 14px #8256ff66!important;min-width:85px;background:#0e103e!important;padding:6px 8px!important;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px)}
.clock-box.urgent{border-color:#ff799b!important;color:#ff627b!important}
.board-wrap{flex:1!important;min-height:0!important}
.board-scroll{display:flex;flex-direction:column}
.board-grid{width:100%;flex:1;grid-template-rows:repeat(var(--board-rows,5),minmax(0,1fr));grid-auto-rows:minmax(0,1fr)!important;min-height:max(100%,calc(var(--board-rows,5) * 93px + (var(--board-rows,5) - 1) * 5px));align-content:stretch!important}
.item-card{border:4px solid #0c0b32!important;outline:2px solid #a37dff;outline-offset:-3px;box-shadow:inset 0 3px #ffefff,0 4px #050622!important;clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px)}
.item-card::before{content:'';position:absolute;z-index:3;inset:3px;pointer-events:none;box-shadow:inset 0 3px #ffffff5c,inset 0 -4px #15103d61}
/* Guessing all items stays available including those X-marked on the normal board. */
.board-guess-mode .item-card .item-ink{filter:grayscale(1) brightness(.68)!important;opacity:.8!important}
.board-guess-mode .item-card.guess-selected{border-color:#ffda57!important;outline-color:#fff2a5;box-shadow:0 0 0 2px #f9d65f,0 0 18px #ffde7d66!important}
.board-guess-mode .item-card.guess-selected .item-ink{filter:none!important;opacity:1!important}
.board-guess-mode .item-card:after{display:none}
.btn-danger{background:#fb3e69!important;color:#fff!important;border-color:#ff9db4!important;box-shadow:inset 0 4px #ff829e,inset 0 -4px #be204e,0 5px #02051e!important}

/* Result dialog: double-layer beveled pixel frame and atmospheric star field. */
.modal:has(.pixel-result-view){max-width:min(93vw,410px);padding:9px!important;border:5px solid #a86bff!important;box-shadow:0 0 0 3px #1b1262,0 0 0 7px #4b399d,inset 0 0 0 4px #dfc0ff,0 18px 40px #000d!important;clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px)}
.modal:has(.pixel-result-view) .modal-body{padding:0!important}
.pixel-result-view{min-height:255px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#07123f url('result-stars.png') center/cover no-repeat;border:3px solid #302778;padding:17px 8px 13px}
.pixel-result-view.result-wrong{filter:saturate(.65)}
.pixel-result-title{font-size:clamp(30px,8vw,47px)!important;margin:0!important}
.result-picked{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;text-align:center;max-width:95%}
.result-picked img{height:100px;max-width:145px;object-fit:contain;border:4px solid #e8d0ff;image-rendering:auto;box-shadow:0 5px #090b36}
.result-picked strong{font:700 15px var(--pixel);color:white;overflow-wrap:anywhere;text-shadow:2px 2px #070a28}
.result-mystery{font:700 50px var(--pixel);color:#fbd159}
.pixel-result-view.result-wrong .result-mystery{color:#b78bb2}
.guess-result-label{font-size:15px!important;text-align:center;margin:0;color:#fff!important}
.modal:has(.pixel-result-view) .modal-foot{display:flex;flex-direction:column;gap:7px;padding:8px 1px 1px!important}
.modal:has(.pixel-result-view) .modal-foot .btn{width:100%}

/* Shorter ranking panel; rows separated only by pixel-thin rules. */
.end-screen{justify-content:flex-start;overflow-y:auto}
.finish-illustration{min-height:80px!important;max-height:92px}
.pixel-cup{font-size:34px!important}
.end-names{flex:0 1 auto!important;max-height:min(42dvh,325px);overflow-y:auto;border:3px solid #8c61ff!important;background:#070e38ed;gap:0!important;padding:9px 10px!important;margin-bottom:12px}
.end-names .result-row{background:transparent!important;border:0!important;border-bottom:1px solid #383876!important;border-radius:0!important;display:grid;grid-template-columns:30px 35px minmax(0,1fr) minmax(0,34%);align-items:center;gap:7px;padding:8px 3px!important;min-height:49px}
.end-names .result-row:last-child{border-bottom:0!important}
.rank-tile{display:grid;place-items:center;background:#7a62c9;color:#080c33!important;font:700 13px var(--pixel)!important;height:29px;min-width:29px;border:2px solid #aa94ef;image-rendering:pixelated}
.result-row.winner .rank-tile{background:#ffda4d;color:#111339!important;border-color:#fff1a5}
.result-row:nth-child(2) .rank-tile{background:#c5d4f5}
.result-row:nth-child(3) .rank-tile{background:#f3a364}
.result-avatar{height:35px;width:35px;display:block;border:2px solid #7861c9}
.result-person{font-size:clamp(12px,3.6vw,17px)!important;line-height:1.1}
.result-row small{text-align:right;line-height:1.15;font-size:clamp(9px,2.7vw,12px)!important;color:#bfc6fb!important;overflow-wrap:anywhere}
.end-actions{margin-top:auto!important;gap:8px}

@media(max-width:520px){
  .theme-list,.theme-list:has(.theme-card){max-height:clamp(130px,26dvh,240px)!important}
  .theme-list .theme-card{min-height:47px!important;padding:6px 8px!important}
  .theme-list .theme-name{font-size:15px!important}
  .theme-pixel-icon{height:27px;width:27px}
  .wait-center{padding:8px 11px calc(12px + env(safe-area-inset-bottom));gap:5px!important}
  .wait-logo{max-height:73px!important}
  .wait-hint{margin-top:13vh;gap:5px}
  .wait-hint h1{font-size:clamp(22px,6vw,30px)}
  .wait-loading{font-size:12px}
  .board-grid{min-height:max(100%,calc(var(--board-rows,5) * 80px + (var(--board-rows,5) - 1) * 5px))}
  .clock-box{min-width:75px!important;padding:3px 5px!important}
  .finish-illustration{min-height:65px!important}
  .end-names{max-height:36dvh}
}
@media(max-width:350px){
  .wait-portrait{max-width:45px!important}
  .wait-player>span{font-size:10px}
  .theme-search-label input{font-size:13px}
  .time-opt.time-infinite{font-size:12px!important}
  .board-grid{min-height:max(100%,calc(var(--board-rows,5) * 73px + (var(--board-rows,5) - 1) * 4px))}
  .end-names .result-row{grid-template-columns:27px 29px minmax(0,1fr) minmax(0,31%);gap:4px}
  .result-avatar{height:29px;width:29px}
}
@media(orientation:landscape) and (max-height:580px){
  .waiting-screen{background-image:url('bg-waiting.png')!important}
  .wait-hint{margin-top:1vh;min-height:0}
  .wait-center{max-width:850px;gap:3px!important}
  .wait-logo{max-height:48px!important}
  .wait-players{width:min(65%,560px);min-height:45px}
  .wait-player .wait-portrait{max-width:43px}
  .wait-loading{max-width:280px}
  .wait-leave{min-height:35px!important;font-size:13px!important}
  .board-grid{min-height:max(100%,calc(var(--board-rows,5) * 68px + (var(--board-rows,5) - 1) * 4px));grid-template-columns:repeat(7,minmax(0,1fr))}
  .end-names{max-height:38dvh}
  .finish-illustration{max-height:49px!important;min-height:47px!important}
  .pixel-cup{display:none}
}
/* Keep the live waiting copy BELOW the background UFO instead of covering its saucer. */
.wait-center{position:relative}
.wait-hint{position:absolute!important;top:43%;left:8px;right:8px;margin-top:0!important;z-index:2;pointer-events:none}
@media (max-width:350px){.wait-hint{top:40%}}
@media (orientation:landscape) and (max-height:580px){.wait-hint{position:relative!important;top:auto;margin-top:0!important}}
.pixel-trophy{width:50px;height:49px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 3px #40218c)}
@media(max-width:520px){.pixel-trophy{height:38px;width:39px}}
/* Waiting screen layered like an arcade title scene, with non-overlapping live UI. */
.waiting-screen .wait-players{position:absolute;top:56%;left:10px;right:10px;width:auto;margin:0}
.waiting-screen .wait-loading{position:absolute;left:5%;right:5%;bottom:92px;width:90%;max-width:none;margin:0}
.waiting-screen .wait-leave{position:absolute;left:5%;bottom:calc(12px + env(safe-area-inset-bottom));width:90%;max-width:none}
@media (max-width:350px){.waiting-screen .wait-players{top:56%}.waiting-screen .wait-loading{bottom:75px}.waiting-screen .wait-leave{bottom:calc(7px + env(safe-area-inset-bottom));min-height:43px!important}}
@media (orientation:landscape) and (max-height:580px){.waiting-screen .wait-players{position:relative;top:auto;left:auto;right:auto;width:min(95%,620px);margin:auto}.waiting-screen .wait-loading{position:relative;bottom:auto;left:auto;right:auto;max-width:300px}.waiting-screen .wait-leave{position:relative;left:auto;bottom:auto;width:min(80%,350px)}}
