:root{font-family:"Microsoft YaHei",sans-serif;color:#243d35;background:#f3f5f1;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid #d8e1d8;background:white;color:#355347;padding:10px 15px;border-radius:9px;font-size:13px}button:hover{background:#eef4ea}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #81b99b;outline-offset:3px}a{color:#396e56;text-decoration:none}.primary{background:#347b59;color:white;border-color:#347b59}.primary:hover{background:#286447}.admin-header{height:86px;padding:0 32px;border-bottom:1px solid #dde4db;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:25px;color:#347b59}.brand>span{font-size:18px;font-weight:bold;color:#243d35}.brand small{display:block;font-size:11px;font-weight:normal;letter-spacing:2px;color:#829487;margin-top:5px}.admin-header>div{display:flex;align-items:center;gap:20px;font-size:13px}main{padding:28px 32px;max-width:1600px;margin:auto}h1{font-size:26px;margin:0 0 8px}h2{font-size:19px;margin:0}p{line-height:1.8}.muted{color:#819082;font-size:13px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.page-heading p{margin:0}.manager-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px}.pattern-library,.editor,.login-card{border:1px solid #dee5da;border-radius:16px;background:white;box-shadow:0 6px 25px #30452c05}.pattern-library{padding:16px;height:calc(100vh - 220px);min-height:380px;display:flex;flex-direction:column;gap:14px}.library-tools{display:flex;gap:8px}.library-tools input{width:100%;min-width:0}.pattern-list{overflow:auto;display:flex;flex-direction:column;gap:8px}.template-row{display:flex;text-align:left;gap:12px;align-items:center;width:100%;padding:12px}.template-row[aria-current=true]{border-color:#347b59;background:#edf4e9;box-shadow:inset 3px 0 #347b59}.template-mini{display:grid;width:52px;height:52px;flex-shrink:0;gap:1px;align-content:center}.template-mini i{min-height:3px}.template-row b{font-size:13px}.template-row small{display:block;color:#819082;font-size:11px;line-height:1.8}.editor{overflow:hidden}.editor-head{padding:20px 24px;border-bottom:1px solid #e6eadf;display:flex;justify-content:space-between;align-items:center;gap:12px}.save-state{font-size:12px;color:#8a947e}.editor-body{padding:22px 24px}.form-row{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#667d6a}.field input{width:100%}input{border:1px solid #d6dfd2;border-radius:8px;background:white;padding:11px 12px;color:#263e30;min-width:0}.name-field{flex:1;min-width:160px}.enabled-toggle[aria-pressed=true]{background:#e6f1e5;border-color:#a6c6a8;color:#33653e}.tier-options,.paint-options{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 20px}.tier-options button[aria-pressed=true]{background:#347b59;border-color:#347b59;color:white}.section-label{font-size:12px;color:#667d6a;display:block;margin-top:20px}.dimensions input{width:65px}.dimensions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.paint-options{align-items:center;margin-bottom:12px}.paint-choice{display:flex;align-items:center;gap:7px;padding:8px 10px}.paint-choice i{display:block;width:16px;height:16px;border:1px solid #adbaaa;border-radius:4px}.paint-choice[aria-pressed=true]{outline:2px solid #4a8661;outline-offset:1px;background:#eef5e9}.color-custom{display:flex;gap:8px}.color-custom input{width:100px;padding:8px}.canvas-bar{margin:20px 0 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.canvas-bar p{margin:0;font-size:13px}.canvas-actions{display:flex;gap:8px}.canvas-actions button{padding:7px 10px}.canvas-wrap{background:#edf0e9;border-radius:12px;padding:24px;overflow:auto;max-height:650px;border:1px solid #e1e7db}.edit-grid{display:grid;gap:4px;max-width:680px;margin:auto;user-select:none;touch-action:pan-y}.edit-cell{aspect-ratio:1;padding:0;border:1px solid #bfcdbb;border-radius:3px;min-width:20px;min-height:20px;box-shadow:inset 0 0 0 1px #ffffff60}.edit-cell[data-empty=true]{background:repeating-linear-gradient(135deg,#fff,#fff 5px,#e6ebdf 5px,#e6ebdf 6px)!important;border-style:dashed}.edit-cell:hover{outline:2px solid #347b59;outline-offset:0;filter:brightness(.95)}.editor-note{margin:16px 0 0;padding:12px 14px;border-radius:8px;background:#f5f7f0;font-size:12px;color:#7a8a74;line-height:1.8}.empty-editor{padding:80px 30px;text-align:center}.login-card{max-width:420px;margin:65px auto;padding:32px}.login-card h1{font-size:23px}.login-card .field{margin:20px 0}.login-card button{width:100%;margin-top:8px}.login-card .error{font-size:13px;color:#a14638;min-height:20px}#adminToast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;background:#243f32;color:white;padding:12px 20px;border-radius:10px;z-index:20;display:none;font-size:13px}#adminToast.visible{display:block}.admin-entry{font-size:13px}.loading{color:#7f927f}.conflict{padding:12px;background:#fff2da;border:1px solid #e2cca1;border-radius:8px;color:#896527;font-size:13px}.editor-head .actions{display:flex;gap:8px;align-items:center}.is-disabled{opacity:.6}@media(max-width:850px){.manager-layout{grid-template-columns:1fr}.pattern-library{height:230px;min-height:0}.pattern-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}main{padding:20px 14px}.admin-header{height:76px;padding:0 16px}.brand>span{font-size:15px}.admin-header>div{gap:10px}.page-heading{align-items:flex-start}.editor-head,.editor-body{padding:16px}.editor-head{flex-wrap:wrap}.canvas-wrap{padding:12px}.edit-grid{min-width:var(--grid-min)}.page-heading p{font-size:12px}.page-heading h1{font-size:23px}.canvas-bar{align-items:flex-start}.save-state{display:block}.color-custom{flex-wrap:wrap}.login-card{margin:30px auto}}
.discard-backdrop{position:fixed;inset:0;background:#19382855;backdrop-filter:blur(3px);display:grid;place-items:center;z-index:30;padding:20px}.discard-dialog{padding:26px;border-radius:16px;background:white;max-width:420px;width:100%;box-shadow:0 20px 70px #18382233}.discard-dialog>div{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
/* 玩法管理中心 */
#adminApp.hub-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:32px;max-width:1700px}.hub-sidebar{background:#fff;border:1px solid #e0e6da;border-radius:14px;padding:18px 12px;height:calc(100vh - 145px);position:sticky;top:20px;overflow:auto}.hub-sidebar small{display:block;color:#8b9b89;font-size:10px;letter-spacing:2px;margin:10px 12px 14px}.hub-sidebar button{width:100%;display:flex;align-items:center;text-align:left;gap:11px;border:0;background:transparent;padding:12px;margin:3px 0;color:#637569}.hub-sidebar button span{width:20px;text-align:center;font-size:19px}.hub-sidebar button.active{background:#e7f0e3;color:#2f6349;font-weight:bold}.nav-off{width:5px;height:5px;border-radius:50%;background:#bdc6b6;margin-left:auto}.hub-content{min-width:0}.hub-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:5px 0 26px}.hub-eyebrow{color:#84957f;font-size:11px;letter-spacing:1px}.hub-heading h1{margin:12px 0 8px;font-size:28px}.hub-heading p{margin:0}.hub-workbench{background:white;padding:12px 16px;border:1px solid #dce5d6;border-radius:9px;font-size:12px;white-space:nowrap}.hub-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:32px}.hub-stats article{background:#fff;border:1px solid #dce5d5;border-radius:13px;padding:19px 22px}.hub-stats span{display:block;color:#809078;font-size:12px}.hub-stats b{display:block;font-size:30px;margin-top:12px}.hub-stats small{font-size:12px;font-weight:normal;color:#82927b}.hub-section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.hub-section-heading p{margin:6px 0 0}.hub-section-heading>button:not(.primary){border:0;background:transparent;color:#5d7c5c}.game-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.game-card{border:1px solid #dae3d4;border-radius:14px;padding:22px;text-align:left;background:white;min-width:0}.game-card:hover{background:#fff;border-color:#8eb18c;box-shadow:0 7px 25px #355e3d09}.game-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.game-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;font-size:26px;background:#f0f2eb;color:#7c8972}.game-symbol.rose{background:#f5e6eb;color:#c487a1}.game-symbol.sage{background:#e2efdf;color:#609169}.state-pill{display:inline-block;white-space:nowrap;background:#f0f2eb;color:#8c9681;padding:5px 9px;font-size:10px;border-radius:6px;vertical-align:middle;font-weight:normal}.state-pill.on{color:#4b7d52;background:#eaf3e4}.game-card h2{font-size:17px;margin:19px 0 9px}.game-card p{font-size:12px;color:#8a9681;min-height:42px;margin:0;line-height:1.7}.game-card-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0e7;margin-top:20px;padding-top:16px;font-size:11px;gap:10px}.game-card-foot span{color:#94a08b}.game-card-foot b{font-weight:normal;color:#42734d}.hub-tabs{display:flex;gap:20px;border-bottom:1px solid #dce3d5;margin-bottom:24px}.hub-tabs button{border:0;background:transparent;border-radius:0;padding:10px 4px 15px;color:#85927c}.hub-tabs button[aria-current=page]{color:#315f44;border-bottom:2px solid #347b59;font-weight:bold}.settings-panel{padding:25px;background:white;border:1px solid #dce4d4;border-radius:14px}.settings-panel>.field{margin:22px 0;max-width:700px}.settings-panel textarea{font:inherit;border:1px solid #d6dfd2;border-radius:9px;padding:12px;color:#263e30;resize:vertical}.settings-panel .field{font-size:12px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.settings-grid .full{grid-column:1/-1}.settings-grid fieldset{border:0;padding:0;margin:0}.settings-grid legend{font-size:12px;color:#667d6a;margin-bottom:10px}.config-radio-options{display:flex;flex-wrap:wrap;gap:8px}.config-radio-options label{cursor:pointer}.config-radio-options input{position:absolute;opacity:0;width:1px;height:1px}.config-radio-options span{display:block;padding:10px 14px;border:1px solid #d9e2d1;border-radius:8px;font-size:12px}.config-radio-options input:checked+span{border-color:#75a07a;background:#edf4e8;color:#376042}.config-radio-options input:focus-visible+span{outline:2px solid #75a07a}.check-row{display:flex;gap:10px;align-items:center;font-size:13px;margin:24px 0}.check-row input{appearance:none;width:20px;height:20px;padding:0;border-radius:5px;cursor:pointer;flex-shrink:0}.check-row input:checked{background:#347b59;border-color:#347b59;position:relative}.check-row input:checked:after{content:'✓';display:block;color:#fff;text-align:center;line-height:19px}.check-row input:disabled{background:#e9ede4;cursor:default}.settings-foot{border-top:1px solid #e8ecdf;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.settings-foot p{font-size:12px;color:#a36141;margin:0}.package-table-wrap{overflow:auto}.package-table{border-collapse:collapse;width:100%;font-size:12px;min-width:570px}.package-table th{color:#8d9a83;font-weight:normal;text-align:left;padding:15px 12px;background:#f6f8f2}.package-table td{padding:17px 12px;border-bottom:1px solid #ecf0e6}.package-table small{display:block;color:#95a18d;font-size:11px;margin-top:7px}.package-table button{padding:7px 12px}.hub-content .manager-layout{grid-template-columns:220px minmax(0,1fr)}.hub-content .page-heading h1{font-size:21px}.hub-content .pattern-library{height:550px;min-height:0}.hub-content .editor-body{padding:18px}.hub-content .editor-head{padding:18px}.hub-content .dimensions{gap:8px}.hub-content .dimensions small{width:100%}@media(max-width:1100px){.game-cards{grid-template-columns:repeat(2,minmax(0,1fr))}#adminApp.hub-layout{grid-template-columns:175px minmax(0,1fr);gap:20px}.hub-content .manager-layout{grid-template-columns:1fr}.hub-content .pattern-library{height:210px}.hub-content .pattern-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media(max-width:700px){#adminApp.hub-layout{grid-template-columns:1fr;gap:16px}.hub-sidebar{position:static;height:auto;display:flex;overflow:auto;gap:6px;padding:8px;white-space:nowrap}.hub-sidebar small{display:none}.hub-sidebar button{width:auto;margin:0;flex-shrink:0;padding:9px}.hub-sidebar button span{font-size:16px;width:16px}.hub-stats{gap:9px;margin-bottom:24px}.hub-stats article{padding:15px 10px}.hub-stats span{font-size:10px}.hub-stats b{font-size:24px}.hub-stats small{font-size:10px}.game-cards{grid-template-columns:1fr}.hub-heading{gap:10px;margin-bottom:20px}.hub-heading h1{font-size:24px}.hub-heading p{font-size:12px}.settings-panel{padding:18px}.settings-grid{grid-template-columns:1fr}.hub-tabs{gap:18px}.hub-tabs button{font-size:12px}.hub-workbench{padding:9px;font-size:11px}.hub-section-heading{align-items:flex-start}.hub-section-heading h2{font-size:17px}.hub-section-heading .primary{font-size:11px;padding:9px}.game-card p{min-height:0}}
/* 取色盘与完整画布 */
.color-dialog{border:0;border-radius:18px;padding:22px;max-width:360px;width:calc(100vw - 32px);color:#243d35;background:#fff;box-shadow:0 25px 90px #10291d55;z-index:100}.color-dialog::backdrop{background:#19382866;backdrop-filter:blur(3px)}.color-dialog header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.color-dialog header button{border:0;font-size:22px;padding:3px 9px}.color-sv{position:relative;height:200px;border-radius:9px;touch-action:none;cursor:crosshair;border:1px solid #dde4d5}.color-sv i{position:absolute;width:16px;height:16px;border:2px solid white;outline:1px solid #0006;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.color-hue{position:relative;height:22px;background:linear-gradient(to right,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00);border-radius:12px;margin:20px 7px;cursor:crosshair;touch-action:none}.color-hue i{position:absolute;top:-3px;height:28px;width:12px;border:3px solid white;outline:1px solid #0006;border-radius:8px;transform:translateX(-50%);pointer-events:none}.color-preview{display:flex;gap:12px;align-items:center}.color-preview span{width:42px;height:42px;border:1px solid #d4dece;border-radius:10px}.color-preview p{font-size:12px;color:#819082}.color-dialog footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e6ecdf;margin-top:18px;padding-top:18px}.color-picker-trigger{display:flex;align-items:center;gap:8px}.color-picker-trigger i{width:20px;height:20px;border:1px solid #b4c2ad;border-radius:50%}.pattern-settings{border:1px solid #e0e7d8;border-radius:10px;margin-bottom:12px;background:#f9faf5}.pattern-settings summary{display:flex;align-items:center;gap:12px;padding:12px;cursor:pointer;list-style:none;font-size:12px}.pattern-settings summary::-webkit-details-marker{display:none}.pattern-settings summary span{color:#8a9681}.pattern-settings summary em{margin-left:auto;color:#5f7d5a;font-style:normal;white-space:nowrap}.pattern-settings-body{padding:8px 14px 16px}.pattern-settings .section-label{margin-top:12px}.pattern-settings .tier-options{margin-bottom:12px}.editor-body>.section-label{margin-top:0}.editor-body>.paint-options{margin:10px 0;gap:7px}.canvas-bar{margin:8px 0 12px;flex-wrap:wrap}.canvas-actions{flex-wrap:wrap;align-items:center;gap:6px}.canvas-actions button{padding:7px 9px}.canvas-actions #canvasZoom{min-width:58px;font-size:11px;text-align:center;color:#7c8d73}.canvas-wrap{height:clamp(320px,50vh,600px);max-height:none;min-height:0;padding:16px;display:flex;overflow:auto;align-items:flex-start}.edit-grid{max-width:none;min-width:0!important;gap:3px;margin:auto;flex:none;grid-auto-rows:minmax(0,1fr)}.edit-cell{min-width:0;min-height:0;border-radius:2px;aspect-ratio:auto}.editor.is-expanded{position:fixed;inset:12px;z-index:60;display:flex;flex-direction:column;border-radius:14px;box-shadow:0 15px 80px #13311d66;background:#fff}.editor.is-expanded .editor-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto}.editor.is-expanded .canvas-wrap{flex:1;height:auto;min-height:150px}.editor.is-expanded .editor-head{flex-shrink:0}.editor.is-expanded .editor-note{margin-top:10px;padding:7px 12px;flex-shrink:0}.discard-backdrop{z-index:80}@media(max-width:700px){.pattern-settings summary{gap:6px;flex-wrap:wrap}.pattern-settings summary b{font-size:13px}.pattern-settings summary span{font-size:11px}.pattern-settings summary em{font-size:11px}.canvas-wrap{height:380px;padding:10px}.editor-head .actions{flex-wrap:wrap}.editor-head .actions button{padding:8px 10px;font-size:11px}.canvas-actions button{font-size:11px;padding:6px 8px}.editor.is-expanded{inset:5px}.editor.is-expanded .editor-body{padding:10px}.editor.is-expanded .editor-note{display:none}.editor.is-expanded .paint-options{max-height:125px;overflow:auto;flex-shrink:0}.editor.is-expanded .pattern-settings{flex-shrink:0}}
.template-mini{display:flex;align-items:center;justify-content:center;gap:0}.template-pixels{display:grid;gap:1px;flex-shrink:0}.template-mini i{min-height:0;min-width:0}
.color-picker-trigger{order:-1;border-color:#8aaf8d;background:#f0f6eb}
/* BINGO逐格配置 */
.bingo-manager{background:#fff;border:1px solid #dde6dc;border-radius:14px;overflow:hidden}.bingo-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid #e5ebe1}.bingo-editor-heading h2{margin:0 0 8px;font-size:20px}.bingo-editor-heading p{margin:0;font-size:12px;line-height:1.7}
.bingo-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;min-width:0}.bingo-board-pane{padding:22px;min-width:0;background:#f7f9f4}.bingo-editor-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;font-size:13px}.bingo-grid-wrap{overflow:auto}.bingo-editor-grid{display:grid;grid-template-columns:24px repeat(11,minmax(0,1fr));gap:3px;width:100%;max-width:800px;margin:auto;align-items:center}.bingo-grid-axis{text-align:center;color:#8d9b83;font-size:11px}.bingo-edit-cell{aspect-ratio:1;min-width:0;border:1px solid #d7e1ce;border-radius:5px;background:#fff;display:flex;gap:1px;align-items:center;justify-content:center;padding:3px;overflow:hidden}.bingo-edit-cell img{width:100%;height:100%;min-width:0;object-fit:contain;flex:1}.bingo-edit-cell.empty{background:#eef2e9;border-style:dashed}.bingo-edit-cell.active{outline:3px solid #317b5b;outline-offset:-2px;border-color:#317b5b;background:#eff8e8}.bingo-empty-mark{color:#b4c2ab;font-size:18px}.bingo-board-hint{font-size:12px;line-height:1.8;margin:18px 0 0}
.bingo-picker-pane{padding:20px;border-left:1px solid #e0e8db;min-width:0}.bingo-cell-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.bingo-cell-heading h3{font-size:16px;margin:0}.bingo-cell-heading button{font-size:12px}.bingo-picker-pane p{font-size:12px;line-height:1.7}.bingo-cell-slots{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bingo-cell-slots>div{position:relative;min-width:0}.bingo-slot{width:100%;min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:11px;padding:14px 6px 8px}.bingo-slot img{width:52px;height:52px;object-fit:contain}.bingo-slot.active{background:#eef6e8;border-color:#57926a}.bingo-slot-remove{position:absolute;right:2px;top:2px;border:0;background:transparent;min-height:24px;padding:0 6px;color:#a27f71}.bingo-palette-heading{display:flex;align-items:center;justify-content:space-between;margin:22px 0 12px}.bingo-palette-heading h3{margin:0;font-size:16px}.bingo-palette-heading span{font-size:12px;color:#8a987f}.bingo-palette-tabs{display:flex;gap:6px;margin-bottom:10px}.bingo-palette-tabs button{font-size:12px}.bingo-palette-tabs button[aria-pressed=true]{background:#eaf4e3;color:#377b4f;border-color:#9cbc8d}#bingoItemSearch{width:100%;padding:12px;border:1px solid #d9e3d2;border-radius:8px;font:inherit;font-size:13px}.bingo-item-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:350px;overflow:auto;overscroll-behavior:contain;margin-top:12px;align-content:start;scrollbar-gutter:stable}.bingo-item-palette button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:7px 4px;min-width:0;font-size:11px;line-height:1.6}.bingo-item-palette img{width:100%;height:52px;object-fit:contain}.bingo-item-palette span{overflow-wrap:anywhere}
.bingo-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-top:1px solid #e1e8dc;background:#fff;position:sticky;bottom:0;z-index:2}.bingo-editor-footer>div:last-child{display:flex;gap:8px;flex-shrink:0}#bingoSaveState{font-size:12px;color:#7b8d70}#bingoEditorMessage{font-size:12px;margin:5px 0 0;line-height:1.7;color:#477a49}.bingo-editor-fullscreen{position:fixed;inset:14px;z-index:30;overflow:auto;box-shadow:0 0 0 30px #183a2770}.bingo-editor-fullscreen .bingo-editor-layout{grid-template-columns:minmax(0,1fr) 380px}.bingo-editor-fullscreen .bingo-item-palette{max-height:calc(100dvh - 460px)}
@media(max-width:1100px){.bingo-editor-layout,.bingo-editor-fullscreen .bingo-editor-layout{grid-template-columns:minmax(0,1fr)}.bingo-picker-pane{border-left:0;border-top:1px solid #e0e8db}.bingo-item-palette{grid-template-columns:repeat(auto-fill,minmax(95px,1fr))}.bingo-cell-slots{max-width:380px}.bingo-editor-heading,.bingo-editor-footer{padding:16px}.bingo-board-pane{padding:16px}.bingo-editor-heading{align-items:flex-start}.bingo-editor-heading>button{flex-shrink:0}.bingo-editor-grid{gap:2px;grid-template-columns:18px repeat(11,minmax(0,1fr))}.bingo-edit-cell{padding:1px;border-radius:2px}.bingo-editor-footer{flex-wrap:wrap}.bingo-editor-fullscreen{inset:6px}}
@media(min-width:1101px){.bingo-editor-fullscreen .bingo-editor-grid{max-width:clamp(200px,calc(100dvh - 340px),800px)}}
/* KEYCARD QUALITY GLOW: generated by work/keycard-glow.mjs */
img[data-keycard-grade="3"]{background:radial-gradient(ellipse at 50% 58%,rgba(68,151,234,.48) 0%,rgba(68,151,234,.24) 38%,rgba(68,151,234,.07) 65%,transparent 82%);filter:drop-shadow(0 0 2px rgba(68,151,234,.65));border-radius:4px}
img[data-keycard-grade="4"]{background:radial-gradient(ellipse at 50% 58%,rgba(158,90,225,.48) 0%,rgba(158,90,225,.24) 38%,rgba(158,90,225,.07) 65%,transparent 82%);filter:drop-shadow(0 0 2px rgba(158,90,225,.65));border-radius:4px}
img[data-keycard-grade="5"]{background:radial-gradient(ellipse at 50% 58%,rgba(235,179,49,.48) 0%,rgba(235,179,49,.24) 38%,rgba(235,179,49,.07) 65%,transparent 82%);filter:drop-shadow(0 0 2px rgba(235,179,49,.65));border-radius:4px}
img[data-keycard-grade="6"]{background:radial-gradient(ellipse at 50% 58%,rgba(236,86,91,.48) 0%,rgba(236,86,91,.24) 38%,rgba(236,86,91,.07) 65%,transparent 82%);filter:drop-shadow(0 0 2px rgba(236,86,91,.65));border-radius:4px}
/* END KEYCARD QUALITY GLOW */

/* 后台导航收拢：玩法列表是配置入口，概览只显示状态。 */
.hub-sidebar-clean{display:flex;flex-direction:column;justify-content:space-between}.hub-nav-note{padding:20px 12px 8px;color:#91a08b;font-size:11px;line-height:1.9;border-top:1px solid #edf0e8;margin-top:30px}.hub-breadcrumb{border:0;background:transparent;padding:0;color:#78916c;font-size:12px}.hub-breadcrumb:hover{color:#2f674a;background:transparent}.hub-list-toolbar{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:0 0 20px}.hub-search{display:flex;flex-direction:column;gap:7px;min-width:200px;max-width:420px;flex:1;color:#74836b;font-size:11px}.hub-search input{font:inherit;font-size:13px;padding:12px 14px;width:100%;background:#fff}.hub-filter{display:flex;gap:4px;background:#eaf0e5;padding:4px;border-radius:9px}.hub-filter button{border:0;background:transparent;padding:8px 14px;color:#859479;font-size:12px;white-space:nowrap}.hub-filter button[aria-pressed=true]{background:#fff;color:#386745;box-shadow:0 2px 5px #3b573a0c;font-weight:600}.hub-game-list{display:flex;flex-direction:column;gap:12px}.hub-game-row{display:grid;grid-template-columns:minmax(170px,1fr) auto auto;align-items:center;gap:22px;background:#fff;border:1px solid #dfe6d9;border-radius:13px;padding:22px 24px;min-width:0}.hub-game-identity{display:flex;gap:14px;align-items:center;min-width:0}.hub-game-identity>div{min-width:0}.hub-game-identity h2{margin:0 0 7px;font-size:17px;overflow-wrap:anywhere}.hub-game-identity p{margin:0;color:#87977e;font-size:12px}.hub-game-identity .game-symbol{width:42px;height:42px;font-size:23px;flex-shrink:0}.game-symbol.game-fill{background:#f7e8ed;color:#bf8096}.game-symbol.game-bingo{background:#e9f2e3;color:#6b9660}.game-symbol.game-cafe{background:#fbf0df;color:#b88b4d}.game-symbol.game-gomoku{background:#eaedf3;color:#7a8c9f}.game-symbol.game-redeem{background:#f0e9f5;color:#987dac}.game-symbol.game-cat{background:#f6efd9;color:#b59b51}.hub-game-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hub-game-actions button{padding:9px 13px;font-size:12px;white-space:nowrap}.hub-game-actions .hub-action-main{border-color:#a7bfa1;color:#356643;background:#f1f7ec}.hub-game-actions .hub-action-plain{border-color:transparent;background:transparent;color:#829276}.hub-empty{padding:35px 20px;text-align:center;font-size:13px;color:#8a987f;background:#fff;border-radius:12px;line-height:1.8}.hub-overview-actions{border:1px solid #dee6d5;background:#fff;border-radius:14px;padding:25px}.hub-overview-actions h2{font-size:17px;margin:0 0 12px}.hub-overview-actions>button,.hub-overview-actions>a{display:flex;width:100%;justify-content:space-between;align-items:center;text-align:left;padding:20px 0;border:0;border-bottom:1px solid #ebeee4;border-radius:0;background:transparent;color:#3b6645;font-size:13px;gap:20px}.hub-overview-actions>button:hover,.hub-overview-actions>a:hover{background:#f8faf4}.hub-overview-actions>a:last-child{border-bottom:0}.hub-overview-actions span{font-size:12px;color:#8b9a80}.hub-form-section{border-top:1px solid #e5eadd;padding:22px 0}.hub-form-section h3{font-size:15px;color:#3e6346;margin:0 0 14px}.hub-form-section .settings-grid{margin:0;gap:20px}.hub-form-section>.check-row{margin:0}.hub-sticky-save{position:sticky;bottom:0;background:#fff;z-index:3;box-shadow:0 -10px 20px #fff;padding:16px 0}.hub-recipe-details{padding:0;overflow:hidden}.hub-recipe-details summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:16px 18px;background:#f6f8f0;font-size:13px}.hub-recipe-details summary::-webkit-details-marker{display:none}.hub-recipe-details summary>span{font-size:11px;color:#8a987e;line-height:1.8;flex:1;min-width:160px}.hub-recipe-details summary>em{font-size:11px;color:#5b8152;font-style:normal}.hub-recipe-details[open] summary{border-bottom:1px solid #e1e8d6}.hub-recipe-body{padding:18px}.hub-recipe-body>.settings-grid{margin-top:20px}.hub-tabs{gap:26px}.hub-tabs button{font-size:13px}
@media(max-width:1100px){.hub-game-row{grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:20px}.hub-game-actions{grid-column:1/-1;padding-top:14px;border-top:1px solid #eef1e7}.hub-game-actions .hub-action-plain{margin-left:auto}}
@media(max-width:700px){.hub-sidebar-clean{display:flex;flex-direction:row;justify-content:flex-start}.hub-sidebar-clean>div:first-child{display:flex;gap:6px}.hub-nav-note{display:none}.hub-search{min-width:0;max-width:none;flex-basis:100%}.hub-list-toolbar{gap:10px;margin-bottom:16px}.hub-filter{width:100%;justify-content:space-between}.hub-filter button{flex:1}.hub-game-row{padding:17px;gap:13px}.hub-game-identity{gap:10px}.hub-game-identity h2{font-size:15px}.hub-game-identity p{font-size:11px}.hub-game-actions{gap:5px}.hub-game-actions button{padding:8px 9px;font-size:11px}.hub-tabs{gap:16px;overflow-x:auto;white-space:nowrap}.hub-tabs button{flex-shrink:0}.hub-overview-actions{padding:18px}.hub-overview-actions>button,.hub-overview-actions>a{align-items:flex-start;flex-direction:column;gap:8px}.hub-form-section{padding:20px 0}.hub-recipe-details summary{padding:13px}.hub-recipe-details summary>span{min-width:130px}.hub-recipe-body{padding:14px}.hub-sticky-save{gap:12px}.hub-sticky-save p{font-size:11px}}
.settings-panel .hub-recipe-details{padding:0;margin-bottom:12px}
