:root{color:#f8fafc;background:#0f172a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{width:100%;height:100%;min-height:100%;overscroll-behavior:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;overflow:hidden}#root{width:100%;min-height:100vh;min-height:100dvh}#root,.app-shell,.bridge-table-canvas,.bridge-table-canvas canvas{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.bridge-table-canvas canvas{-webkit-user-drag:none}button,select{font:inherit}.app-shell{min-height:100vh;padding:22px}.toolbar{display:flex;gap:18px;justify-content:space-between;align-items:center;margin-bottom:18px}.toolbar h1{margin:0 0 4px;font-size:24px}.toolbar p,.event-panel p{margin:0;color:#cbd5e1}.controls{display:flex;gap:12px;align-items:end}.controls label{display:grid;gap:6px;color:#cbd5e1;font-size:13px}.controls select,.controls button{height:38px;border:1px solid #334155;border-radius:10px;background:#1e293b;color:#f8fafc;padding:0 12px}.controls button{cursor:pointer;background:#2563eb;border-color:#2563eb;font-weight:700}.layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;min-height:calc(100vh - 116px)}.table-workspace{display:grid;gap:18px;min-width:0}.table-workspace-single{grid-template-columns:minmax(0,1fr)}.table-workspace-sideBySide{grid-template-columns:repeat(2,minmax(0,1fr))}.bridge-table-canvas{height:min(78vh,820px);min-height:680px;border-radius:24px;overflow:hidden;background:radial-gradient(circle at center,#ffffff14,#00000026);box-shadow:0 20px 80px #00000059}.bridge-table-canvas canvas{display:block;width:100%;height:100%}.event-panel{border:1px solid #334155;background:#0f172abf;border-radius:18px;padding:18px}.event-panel h2{margin:0 0 8px;font-size:18px}.learning-instruction{margin-top:14px;border:1px solid #7dd3c7;border-radius:10px;background:#0d948838;padding:10px;color:#f8fafc;font-weight:800}.event-panel ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}.event-panel li{border:1px solid #334155;border-radius:12px;background:#111827;padding:10px;color:#dbeafe;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}@media (max-width: 960px){.toolbar,.controls{align-items:stretch;flex-direction:column}.layout,.table-workspace-sideBySide{grid-template-columns:1fr}.bridge-table-canvas{height:62vh;min-height:560px}}@media (max-width: 560px){#root{height:100vh;height:100dvh;min-height:0}.app-shell{padding:0;height:100%;min-height:0;overflow:hidden}.toolbar{display:none}.toolbar h1{font-size:16px}.toolbar p{display:none}.controls{display:grid;grid-template-columns:1fr;gap:8px}.desktop-action{display:none}.controls select,.controls button{height:34px;border-radius:4px;padding:0 10px}.layout{gap:0;min-height:auto;height:100%}.table-workspace,.table-workspace-sideBySide{grid-template-columns:1fr;gap:0;height:100%;min-height:0}.table-workspace-sideBySide .bridge-table-canvas:not(:first-child){display:none}.bridge-table-canvas{height:100%;min-height:0;border-radius:0;box-shadow:none}.event-panel{display:none}}@media (orientation: landscape) and (max-height: 560px){#root{height:100vh;height:100dvh;min-height:0}.app-shell{padding:0;height:100%;min-height:0;overflow:hidden}.toolbar,.event-panel{display:none}.layout{gap:0;min-height:auto;height:100%;grid-template-columns:1fr}.table-workspace,.table-workspace-sideBySide{grid-template-columns:1fr;gap:0;height:100%;min-height:0}.table-workspace-sideBySide .bridge-table-canvas:not(:first-child){display:none}.bridge-table-canvas{height:100%;min-height:0;border-radius:0}}
