[hidden]{display:none!important}:root{--bo-bg: #0e1117;--bo-surface: #161b22;--bo-surface-2: #1c2230;--bo-border: #2a313c;--bo-text: #e6edf3;--bo-text-dim: #9aa4b2;--bo-accent: #3b82f6;--bo-accent-fg: #ffffff;--bo-danger: #f0616d;--bo-danger-bg: #2a1518;--bo-radius: 8px;--bo-rail-w: 208px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media(prefers-color-scheme:light){:root{--bo-bg: #f6f8fa;--bo-surface: #ffffff;--bo-surface-2: #f0f3f6;--bo-border: #d0d7de;--bo-text: #1f2328;--bo-text-dim: #656d76;--bo-danger-bg: #ffebe9}}*{box-sizing:border-box}body{margin:0;background:var(--bo-bg);color:var(--bo-text);font-size:14px;line-height:1.5}.bo-app-login,.bo-login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.bo-login-form{width:320px;max-width:100%;background:var(--bo-surface);border:1px solid var(--bo-border);border-radius:var(--bo-radius);padding:28px 24px;display:flex;flex-direction:column;gap:14px}.bo-login-title{margin:0;font-size:18px}.bo-login-sub{margin:-8px 0 8px;color:var(--bo-text-dim);font-size:13px}.bo-label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--bo-text-dim)}.bo-input{background:var(--bo-surface-2);border:1px solid var(--bo-border);border-radius:6px;padding:9px 11px;color:var(--bo-text);font-size:14px}.bo-input:focus{outline:2px solid var(--bo-accent);outline-offset:-1px}.bo-btn{margin-top:4px;background:var(--bo-accent);color:var(--bo-accent-fg);border:none;border-radius:6px;padding:10px;font-size:14px;font-weight:600;cursor:pointer}.bo-btn[disabled]{opacity:.6;cursor:default}.bo-error{background:var(--bo-danger-bg);border:1px solid var(--bo-danger);color:var(--bo-danger);border-radius:6px;padding:8px 11px;font-size:13px}.bo-shell{display:grid;grid-template-columns:var(--bo-rail-w) 1fr;min-height:100vh}.bo-rail{background:var(--bo-surface);border-right:1px solid var(--bo-border);padding:18px 12px;display:flex;flex-direction:column;gap:4px}.bo-brand{font-weight:700;font-size:15px;padding:0 8px}.bo-rail-sub{color:var(--bo-text-dim);font-size:12px;padding:0 8px 14px}.bo-nav-link{display:block;padding:8px 10px;border-radius:6px;color:var(--bo-text-dim);text-decoration:none;font-size:13px}.bo-nav-link:hover{background:var(--bo-surface-2);color:var(--bo-text)}.bo-nav-link.is-active{background:var(--bo-surface-2);color:var(--bo-text);font-weight:600}.bo-main{display:flex;flex-direction:column;min-width:0}.bo-header{height:52px;border-bottom:1px solid var(--bo-border);display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:0 20px}.bo-identity{color:var(--bo-text-dim);font-size:13px}.bo-logout{background:transparent;border:1px solid var(--bo-border);color:var(--bo-text);border-radius:6px;padding:6px 12px;font-size:13px;cursor:pointer}.bo-logout:hover{background:var(--bo-surface-2)}.bo-host{padding:24px;min-width:0}.bo-page-title{margin:0 0 8px;font-size:20px}.bo-page-note{margin:4px 0;color:var(--bo-text-dim)}.bo-page-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}.bo-link{background:none;border:none;color:var(--bo-accent);cursor:pointer;font-size:14px;padding:0;text-align:left}.bo-link:hover{text-decoration:underline}.bo-mono,.bo-pre{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px}.bo-table{width:100%;border-collapse:collapse;margin:8px 0 20px;overflow-x:auto}.bo-table th,.bo-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--bo-border);font-size:13px}.bo-table th{color:var(--bo-text-dim);font-weight:600}.bo-badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;border:1px solid var(--bo-border)}.bo-badge-on{color:#3fb950;border-color:#23502c}.bo-badge-off{color:var(--bo-text-dim)}.bo-card{background:var(--bo-surface);border:1px solid var(--bo-border);border-radius:var(--bo-radius);padding:16px 18px;margin:14px 0}.bo-card-title{margin:0 0 12px;font-size:15px}.bo-form-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.bo-form-row .bo-input{flex:1 1 160px;min-width:140px}.bo-form-row .bo-btn{flex:0 0 auto;margin-top:0}.bo-form-status{margin-top:10px}.bo-facts{display:grid;grid-template-columns:180px 1fr;gap:6px 16px;margin:0}.bo-fact-label{color:var(--bo-text-dim);font-size:13px}.bo-fact-value{margin:0;font-size:13px;word-break:break-word}.bo-game-editor{border-top:1px solid var(--bo-border);padding-top:14px;margin-top:14px}.bo-game-editor:first-of-type{border-top:none;padding-top:0;margin-top:0}.bo-game-title{margin:0 0 10px;font-size:14px}.bo-textarea{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;resize:vertical;width:100%}.bo-pre{background:var(--bo-surface-2);border:1px solid var(--bo-border);border-radius:6px;padding:10px;margin:0;overflow-x:auto;white-space:pre-wrap}.bo-ok{background:#3fb9501f;border:1px solid #23502c;color:#3fb950;border-radius:6px;padding:8px 11px;font-size:13px}.bo-modal-overlay{position:fixed;inset:0;background:#0000008c;display:grid;place-items:center;padding:24px;z-index:50}.bo-modal{background:var(--bo-surface);border:1px solid var(--bo-border);border-radius:var(--bo-radius);padding:22px 24px;width:460px;max-width:100%}.bo-modal-title{margin:0 0 8px;font-size:16px}.bo-key-reveal{display:block;background:var(--bo-surface-2);border:1px solid var(--bo-border);border-radius:6px;padding:12px;margin:12px 0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px;word-break:break-all;user-select:all}.bo-modal-actions{display:flex;justify-content:flex-end}.bo-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px}.bo-btn-secondary{background:var(--bo-surface-2);color:var(--bo-text);border:1px solid var(--bo-border)}.bo-report-results{margin-top:16px}.bo-num{text-align:right;font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.bo-total-row td{font-weight:600;border-top:2px solid var(--bo-border)}.bo-error-cell{max-width:20ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bo-danger, #b42318);font-size:.85em}.bo-btn-danger{background:var(--bo-danger);color:#fff;border:none}.bo-row-clickable{cursor:pointer}.bo-row-clickable:hover td{background:var(--bo-surface-2)}
