/* Game constructor: independent from the host board and player controls. */
.gb-dialog,.gb-library-dialog,.gb-question-dialog,.gb-confirm{--gb-bg:#111b24;--gb-panel:#1b2934;--gb-line:#364956;--gb-ink:#f5f3e9;--gb-muted:#9fb2bf;--gb-lime:#dcfa85;color:var(--gb-ink);background:var(--gb-bg);border:1px solid #4b605f;border-radius:20px;padding:0;box-shadow:0 24px 110px #0009;font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.gb-dialog{width:min(1440px,96vw);max-width:96vw;height:min(970px,94svh);max-height:94svh}.gb-dialog[open],.gb-library-dialog[open],.gb-question-dialog[open]{display:flex;flex-direction:column}.gb-dialog::backdrop,.gb-library-dialog::backdrop,.gb-question-dialog::backdrop,.gb-confirm::backdrop{background:#061019d9;backdrop-filter:blur(6px)}.gb-dialog button,.gb-library-dialog button,.gb-question-dialog button,.gb-confirm button{font:inherit;padding:9px 13px;border-radius:9px;border:1px solid #405661;background:#21323e;color:var(--gb-ink);cursor:pointer;transition:background .15s,border-color .15s}.gb-dialog button:hover:not(:disabled),.gb-library-dialog button:hover:not(:disabled),.gb-question-dialog button:hover:not(:disabled),.gb-confirm button:hover:not(:disabled){background:#334b56;border-color:#6c848a}.gb-dialog button:disabled,.gb-library-dialog button:disabled,.gb-question-dialog button:disabled{opacity:.36;cursor:default}.gb-dialog .gb-primary,.gb-library-dialog .gb-primary,.gb-question-dialog .gb-primary,.gb-confirm .gb-primary{background:var(--gb-lime);border-color:var(--gb-lime);color:#1b2a16;font-weight:750}.gb-dialog .gb-primary:hover:not(:disabled),.gb-library-dialog .gb-primary:hover:not(:disabled),.gb-question-dialog .gb-primary:hover:not(:disabled),.gb-confirm .gb-primary:hover:not(:disabled){background:#ecffb8;border-color:#efffc7}.gb-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 29px 20px;border-bottom:1px solid var(--gb-line);flex-shrink:0}.gb-kicker{display:block;font-size:9px;font-weight:750;letter-spacing:1.7px;color:var(--gb-muted);line-height:1.5}.gb-top h2{font-size:28px;letter-spacing:-.8px;line-height:1.2;margin:5px 0 0}.gb-dialog .gb-close,.gb-library-dialog .gb-close,.gb-question-dialog .gb-close{width:38px;height:38px;padding:0;border-radius:50%;font-size:24px;font-weight:350;line-height:1;background:transparent;flex-shrink:0}.gb-dialog label,.gb-library-dialog label,.gb-question-dialog label,.gb-confirm label{display:block;font-size:11px;color:var(--gb-muted);margin:0}.gb-dialog input,.gb-dialog select,.gb-dialog textarea,.gb-library-dialog input,.gb-library-dialog select,.gb-question-dialog input,.gb-question-dialog select,.gb-question-dialog textarea,.gb-confirm input{font:inherit;color:var(--gb-ink);border:1px solid #435b68;border-radius:9px;background:#13212b;width:100%;min-width:0;padding:10px 12px;margin-top:6px}.gb-dialog input:focus,.gb-library-dialog input:focus,.gb-question-dialog input:focus,.gb-question-dialog textarea:focus{border-color:#accc78}.gb-dialog button:focus-visible,.gb-dialog input:focus-visible,.gb-dialog select:focus-visible,.gb-library-dialog button:focus-visible,.gb-library-dialog input:focus-visible,.gb-library-dialog select:focus-visible,.gb-question-dialog button:focus-visible,.gb-question-dialog input:focus-visible,.gb-question-dialog select:focus-visible,.gb-question-dialog textarea:focus-visible{outline:3px solid #ffb17d;outline-offset:3px}.gb-titlebar{display:flex;align-items:center;gap:30px;padding:16px 28px;flex-shrink:0}.gb-titlebar>label{width:42%;max-width:520px}.gb-titlebar input{font-size:20px;font-weight:650;letter-spacing:-.3px;padding:10px 13px}.gb-summary{font-size:12px;color:#b0c1cd;flex:1;text-align:right;font-variant-numeric:tabular-nums}.gb-summary strong{font-size:18px;color:var(--gb-lime);font-weight:750}.gb-summary i{font-style:normal;color:#677f8e;margin:0 6px}.gb-summary small{display:block;margin-top:5px;font-size:10px;color:#859eae}.gb-tools{display:flex;align-items:center;gap:9px;padding:0 28px 19px;flex-shrink:0}.gb-tools button,.gb-tools select{font-size:12px;white-space:nowrap}.gb-tools select{width:auto;max-width:235px;margin:0}.gb-tools .gb-primary span{font-size:10px;border-radius:5px;background:#1729141c;padding:2px 5px;margin-left:5px}.gb-tools-spacer{flex:1}.gb-layout{display:grid;grid-template-columns:208px minmax(0,1fr);min-height:0;flex:1;border-top:1px solid var(--gb-line)}.gb-rounds{padding:20px 12px 18px;overflow:auto;border-right:1px solid var(--gb-line);background:#14212c}.gb-section-label{display:flex;justify-content:space-between;padding:0 9px 12px;font-size:9px;color:#8ea6b7;letter-spacing:1.5px}.gb-section-label b{font-size:10px;letter-spacing:0;font-weight:600}.gb-round{border:1px solid transparent;border-radius:11px;position:relative;margin:0 0 8px;display:flex;align-items:stretch;overflow:hidden}.gb-round>button{flex:1;min-width:0;text-align:left;border:0;background:transparent;padding:12px}.gb-round small{display:block;font-size:8px;letter-spacing:1.4px;color:#91a9b9}.gb-round strong{display:block;font-size:13px;line-height:1.25;margin:5px 0 7px;overflow-wrap:anywhere}.gb-round span{font-size:10px;color:#91a9b9}.gb-round.selected{border-color:#8cab67;background:#263c32}.gb-round.selected strong{color:var(--gb-lime)}.gb-round .gb-order{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:5px}.gb-order button{padding:2px 7px;background:transparent;border-color:transparent;font-size:13px}.gb-add-round{width:100%;font-size:11px!important;background:transparent!important;border-style:dashed!important;padding:11px 5px!important;margin-top:6px}.gb-dialog .gb-workspace{padding:20px 24px 28px;margin:0;width:100%;max-width:none;min-width:0;overflow:auto;background:#101c26}.gb-round-header{display:flex;gap:13px;align-items:end}.gb-round-header>label:first-child{flex:1;min-width:0}.gb-round-header input{font-size:16px;font-weight:650}.gb-round-time{width:100px;flex-shrink:0}.gb-round-header .gb-danger{color:#edb69c;border-color:#795348;background:#372c29;font-size:11px;white-space:nowrap}.gb-round-help{font-size:11px;color:#809aaa;margin:12px 0 22px;line-height:1.5}.gb-themes{display:flex;flex-direction:column;gap:17px}.gb-theme{border:1px solid #3a505d;border-radius:13px;background:#1a2a36;overflow:hidden}.gb-theme>header{display:flex;align-items:center;gap:12px;padding:13px 15px;border-bottom:1px solid #405660;background:#223640}.gb-theme-index{font-size:11px;color:#a6bc87;letter-spacing:.5px}.gb-theme>header>input{flex:1;margin:0;border-color:transparent;background:transparent;padding:3px;font-size:17px;font-weight:700;letter-spacing:-.2px}.gb-theme>header>.gb-order{display:flex;gap:2px}.gb-question-list{padding:3px 13px}.gb-question-row{display:flex;align-items:stretch;border-bottom:1px solid #304754}.gb-question-row:last-child{border-bottom:0}.gb-question-main{display:flex;align-items:center;gap:15px;flex:1;min-width:0;text-align:left;border:0!important;border-radius:0!important;background:transparent!important;padding:13px 4px!important}.gb-question-main:hover{background:#28404b!important}.gb-question-main>b{flex-shrink:0;width:55px;font-size:22px;letter-spacing:-.8px;color:var(--gb-lime);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.1}.gb-question-main>span{flex:1;min-width:0}.gb-question-main strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;font-weight:550;line-height:1.4}.gb-question-main small{display:block;font-size:9px;color:#8fa8b7;margin-top:5px}.gb-question-order{display:flex;align-items:center;gap:1px;padding:0 0 0 7px}.gb-question-order button{border-color:transparent;background:transparent;padding:5px;color:#a2b7c4;font-size:12px}.gb-badge{display:inline-block!important;flex:0 0 auto!important;white-space:nowrap;font-size:8px!important;font-weight:650;letter-spacing:.2px;border:1px solid;border-radius:5px;padding:3px 6px;line-height:1.35;font-style:normal}.gb-badge.ready{color:#bddb97;border-color:#527050;background:#273a2b}.gb-badge.review{color:#f3c29d;border-color:#876441;background:#493725}.gb-badge.custom{color:#b3c7e5;border-color:#566c8b;background:#28364c}.gb-theme>footer{display:flex;align-items:center;gap:8px;padding:11px 13px;border-top:1px solid #324c5a}.gb-theme>footer button{font-size:10px;padding:6px 9px;background:transparent;border-color:#47606d}.gb-theme>footer>span{margin-left:auto;font-size:9px;color:#91a7b4;white-space:nowrap}.gb-add-theme{width:100%;border-style:dashed!important;background:transparent!important;margin-top:18px;color:#bfdda5!important;font-size:13px!important;padding:13px!important}.gb-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #3a4e57;padding:15px 26px;background:#172630;flex-shrink:0}.gb-bottom>div{font-size:11px;color:#a1b7c5}.gb-bottom small{display:block;color:#d5bc9a;font-size:10px;margin-top:4px}.gb-bottom .gb-primary{font-size:13px;padding:12px 19px;white-space:nowrap}.gb-draft-banner{display:flex;align-items:center;gap:10px;background:#393522;border-bottom:1px solid #716440;padding:11px 27px;font-size:12px;color:#ecdba2}.gb-draft-banner>span{flex:1}.gb-draft-banner button{padding:6px 9px;background:#534b2c;border-color:#8b7950;font-size:11px}.gb-alert{color:#ffd0b8;background:#3d2b25;border:1px solid #875744;border-radius:9px;margin:13px 26px 0;padding:10px 13px;font-size:12px;line-height:1.5;white-space:pre-wrap;flex-shrink:0}.gb-empty-state{border:1px dashed #4c6774;border-radius:14px;padding:46px 24px;text-align:center;background:radial-gradient(ellipse at top,#2b433633,transparent 75%)}.gb-empty-state b{display:block;font-size:22px;color:#e6efda;letter-spacing:-.5px}.gb-empty-state p{font-size:13px;color:#94adbd;max-width:430px;margin:12px auto 22px}.gb-library-dialog{width:min(1240px,96vw);max-width:96vw;height:min(920px,93svh);max-height:93svh}.gb-filters{display:grid;grid-template-columns:minmax(200px,2fr) repeat(4,minmax(100px,1fr));gap:8px;padding:17px 22px;border-bottom:1px solid #364c59}.gb-filters input,.gb-filters select{margin:0;font-size:11px;padding:10px}.gb-library-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);flex:1;min-height:0}.gb-library-list{padding:17px 19px 0;overflow:auto;border-right:1px solid #344b59;position:relative}.gb-list-count{font-size:10px;color:#91a9b9;margin:0 0 13px;line-height:1.5}.gb-library-list .gb-catalog-row{width:100%;text-align:left;padding:13px 14px;margin-bottom:9px;background:#1a2c38;border:1px solid #3a5362;border-radius:11px}.gb-library-list .gb-catalog-row.selected{border-color:#bedc86;background:#2b4335}.gb-catalog-meta{display:block;color:#bad490;font-size:10px;margin-bottom:7px}.gb-catalog-row>strong{display:block;font-weight:550;font-size:13px;line-height:1.4;overflow-wrap:anywhere}.gb-catalog-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}.gb-catalog-foot small{font-size:10px;color:#92a9b9}.gb-pagination{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;background:#111b24f5;border-top:1px solid #314653;backdrop-filter:blur(10px)}.gb-pagination button{font-size:11px;padding:6px 11px}.gb-pagination>span{font-size:11px;color:#9cb3c3}.gb-source-detail{padding:24px;overflow:auto;background:#13212c}.gb-source-detail h3{font-size:24px;line-height:1.2;letter-spacing:-.6px;margin:8px 0 13px}.gb-source-status{display:flex;justify-content:space-between;align-items:center;gap:10px}.gb-source-status>b{color:#dcfa85;font-size:16px}.gb-source-question{font-size:16px;line-height:1.45;margin:17px 0;white-space:pre-wrap;overflow-wrap:anywhere}.gb-preview{min-height:90px;margin:13px 0;display:flex;justify-content:center;align-items:center;background:#0c1720;border:1px solid #304958;border-radius:10px;overflow:hidden;padding:8px}.gb-preview img{display:block;max-width:100%;max-height:280px;object-fit:contain;border-radius:5px}.gb-preview audio{max-width:100%;width:100%}.gb-preview video{display:block;max-width:100%;max-height:280px}.gb-text-preview{display:flex;flex-direction:column;align-items:center;font-family:Georgia,serif;font-size:36px;font-style:italic;color:#9bc08a;padding:16px}.gb-text-preview span{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-style:normal;font-size:10px;margin-top:5px;color:#8ca6b6}.gb-catalog-answer{margin:15px 0;padding:12px;border:1px solid #4a624b;border-radius:9px;background:#233328}.gb-catalog-answer summary{color:#ceefa3;font-size:12px;cursor:pointer}.gb-catalog-answer p{font-size:15px;white-space:pre-wrap;margin-top:12px;overflow-wrap:anywhere}.gb-source-warning{font-size:11px;line-height:1.6;white-space:pre-wrap;color:#edcaa8;background:#3a3027;border:1px solid #705a41;border-radius:8px;padding:12px;margin-top:15px}.gb-credit{font-size:10px;color:#8ea8b8;line-height:1.5;overflow-wrap:anywhere}.gb-credit p{margin-top:6px}.gb-credit a{color:#c2dcac}.gb-empty{color:#91a8b8;font-size:13px;line-height:1.6;padding:22px 8px}.gb-library-footer{display:flex;align-items:end;gap:10px;border-top:1px solid #3b5361;padding:14px 21px;flex-shrink:0;background:#192a34}.gb-library-footer>label{flex:1;min-width:170px}.gb-library-footer select{font-size:12px}.gb-library-footer>button{font-size:11px;white-space:nowrap;min-height:39px}.gb-question-dialog{width:min(1000px,95vw);max-width:95vw;max-height:94svh}.gb-question-dialog form{display:flex;flex-direction:column;min-height:0;overflow:auto}.gb-edit-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:25px;padding:24px 27px;overflow:auto;min-height:0}.gb-edit-grid label{margin-bottom:16px}.gb-field-row{display:flex;gap:13px}.gb-field-row>label{flex:1;min-width:0}.gb-question-dialog textarea{font-size:14px;line-height:1.45;resize:vertical}.gb-check{display:flex!important;align-items:center;gap:8px;font-size:12px!important;color:#c6d4cc!important}.gb-question-dialog .gb-check input{display:inline;width:16px;height:16px;margin:0;padding:0;accent-color:#bfdc89;flex-shrink:0}.gb-edit-media{padding:17px;border:1px solid #364e5b;background:#142531;border-radius:13px;min-width:0}.gb-edit-media>button{width:100%;margin-bottom:18px;font-size:12px}.gb-edit-media .gb-preview{min-height:110px}.gb-edit-media .gb-preview img{max-height:230px}.gb-source-note{font-size:11px;color:#90a9b9;line-height:1.5;overflow-wrap:anywhere}.gb-edit-media [data-edit=readiness]{margin-top:13px}.gb-edit-media [data-edit=readiness]>p{font-size:11px;color:#d3ba9b;margin:8px 0 15px;white-space:pre-wrap;line-height:1.5}.gb-edit-footer{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #3b5360;padding:16px 25px;background:#182a35;flex-shrink:0}.gb-fine{font-size:10px;color:#829cae;line-height:1.6;margin-top:17px}.gb-confirm{width:min(480px,94vw);max-width:94vw;padding:25px}.gb-confirm h2{font-size:25px;line-height:1.2;letter-spacing:-.5px}.gb-confirm p{font-size:14px;line-height:1.65;color:#b6c6d0;margin:16px 0 22px;white-space:pre-wrap}.gb-confirm>div,.gb-confirm form>div{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.gb-confirm label{margin-top:14px}.gb-confirm .gb-alert{color:#ffd0b8;margin:14px 0;padding:10px}.gb-dialog [hidden],.gb-library-dialog [hidden],.gb-question-dialog [hidden],.gb-confirm [hidden]{display:none!important}@media(max-width:1050px){.gb-top{padding:20px}.gb-top h2{font-size:24px}.gb-titlebar{padding:15px 20px;gap:15px}.gb-tools{padding:0 20px 16px;flex-wrap:wrap}.gb-tools-spacer{display:none}.gb-tools select{max-width:280px}.gb-layout{grid-template-columns:175px minmax(0,1fr)}.gb-dialog .gb-workspace{padding:17px}.gb-question-main>.gb-badge{display:none!important}.gb-filters{grid-template-columns:2fr 1fr 1fr}.gb-filters input{grid-column:1/3}.gb-library-footer{flex-wrap:wrap;align-items:center}.gb-library-footer>label{width:100%;flex-basis:100%;display:flex;align-items:center;gap:13px}.gb-library-footer>label select{flex:1;width:auto;margin:0}.gb-library-footer>.gb-primary{margin-left:auto}.gb-round-header{flex-wrap:wrap}.gb-round-header .gb-danger{padding:7px 10px}.gb-round-time{width:90px}}@media(max-width:700px){.gb-dialog,.gb-library-dialog,.gb-question-dialog{width:100vw;max-width:100vw;height:100svh;max-height:100svh;border:0;border-radius:0;margin:0}.gb-titlebar{align-items:start;flex-direction:column;gap:10px}.gb-titlebar>label{width:100%;max-width:none}.gb-titlebar input{font-size:18px}.gb-summary{text-align:left;font-size:10px}.gb-summary strong{font-size:15px}.gb-summary small{display:inline;margin-left:8px;font-size:9px}.gb-tools{gap:6px;padding-bottom:14px}.gb-tools button,.gb-tools select{font-size:10px;padding:8px}.gb-tools select{max-width:190px;flex:1}.gb-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.gb-rounds{display:flex;align-items:center;gap:8px;overflow:auto;padding:9px 12px;border-right:0;border-bottom:1px solid #3a505c}.gb-rounds .gb-section-label{display:none}.gb-rounds [data-ref=round-list]{display:flex;gap:7px}.gb-round{min-width:145px;max-width:180px;margin:0}.gb-round>button{padding:8px 10px}.gb-round small{font-size:7px}.gb-round strong{font-size:11px;max-height:28px;overflow:hidden;margin:3px 0}.gb-round span{font-size:8px}.gb-round .gb-order{padding:3px}.gb-round .gb-order button{font-size:10px;padding:1px 4px}.gb-add-round{width:125px;min-width:125px;font-size:10px!important;margin:0}.gb-dialog .gb-workspace{padding:14px}.gb-round-header{gap:8px}.gb-round-header>label:first-child{flex-basis:65%}.gb-round-header input{font-size:14px}.gb-round-header .gb-danger{font-size:10px;flex-basis:auto}.gb-round-help{font-size:10px;margin-bottom:15px}.gb-theme>header{padding:11px 10px;gap:7px}.gb-theme>header>input{font-size:15px}.gb-question-list{padding:2px 9px}.gb-question-main{gap:9px;padding:10px 2px!important}.gb-question-main>b{width:42px;font-size:18px}.gb-question-main strong{font-size:11px}.gb-question-main small{font-size:8px}.gb-question-order{gap:0;padding-left:4px}.gb-question-order button{font-size:10px;padding:6px 4px}.gb-theme>footer{flex-wrap:wrap;gap:6px;padding:9px}.gb-theme>footer button{font-size:9px;padding:6px}.gb-bottom{padding:12px 14px max(12px,env(safe-area-inset-bottom));gap:12px}.gb-bottom>div{font-size:9px}.gb-bottom small{font-size:8px;max-width:190px}.gb-bottom .gb-primary{font-size:11px;padding:12px;white-space:normal}.gb-draft-banner{padding:10px 14px;flex-wrap:wrap;font-size:11px}.gb-draft-banner>span{flex-basis:100%}.gb-alert{margin:10px 14px 0;font-size:11px}.gb-library-body{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,.85fr)}.gb-library-list{padding:12px 14px 0;border-right:0;border-bottom:1px solid #3a4f5c}.gb-source-detail{padding:17px}.gb-source-detail h3{font-size:21px}.gb-source-question{font-size:14px}.gb-source-detail .gb-preview img{max-height:190px}.gb-filters{grid-template-columns:1fr 1fr;gap:6px;padding:12px 14px}.gb-filters input{grid-column:1/-1}.gb-filters select{font-size:10px}.gb-library-footer{padding:11px 14px max(11px,env(safe-area-inset-bottom));gap:6px}.gb-library-footer>button{padding:8px;font-size:9px;min-height:35px;white-space:normal;flex:1}.gb-library-footer>.gb-primary{margin-left:0}.gb-edit-grid{grid-template-columns:1fr;padding:17px;gap:16px}.gb-edit-media{padding:14px}.gb-question-dialog form{overflow:auto}.gb-edit-grid{overflow:visible}.gb-edit-footer{position:sticky;bottom:0;padding:12px 17px max(12px,env(safe-area-inset-bottom));background:#192b36f5}.gb-edit-footer button{font-size:12px}.gb-empty-state{padding:28px 18px}.gb-empty-state b{font-size:19px}.gb-empty-state p{font-size:11px}}@media(prefers-reduced-motion:reduce){.gb-dialog button,.gb-library-dialog button,.gb-question-dialog button,.gb-confirm button{transition:none}}
