:root{--bm-brand: #643A8B;--bm-brand-web: #814590;--bm-brand-deep: #3B2A66;--bm-brand-soft: #EDE3F2;--bm-brand-tint: #B68DC8;--bm-gradient: linear-gradient(135deg, #814590 0%, #643A8B 45%, #3B2A66 100%);--bm-bg: #FAF8F1;--bm-surface: #FFFFFF;--bm-cream: #F3EEDC;--bm-ink: #1B1B1F;--bm-ink-2: #3A3A42;--bm-muted: #6C6C76;--bm-line: #E2E0D6;--bm-plus: #2E8A5C;--bm-plus-soft: #E2F1E9;--bm-minus: #C3382E;--bm-minus-soft: #F8DEDA;--bm-r-sm: 6px;--bm-r-md: 10px;--bm-r-lg: 14px;--bm-shadow-1: 0 1px 2px rgba(60, 40, 90, 0.06);--bm-shadow-2: 0 4px 10px rgba(60, 40, 90, 0.08);--bm-shadow-brand: 0 10px 30px rgba(100, 58, 139, 0.28);--bm-ease: cubic-bezier(0.22, 1, 0.36, 1)}*{box-sizing:border-box}body{margin:0;background:var(--bm-bg);color:var(--bm-ink);font-family:"PingFang TC", "Microsoft JhengHei", "Noto Sans TC", -apple-system, BlinkMacSystemFont, sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:var(--bm-brand);text-underline-offset:3px}a:hover{color:var(--bm-brand-deep)}.bm-topbar{position:sticky;top:0;z-index:10;background:rgba(255,255,255,0.92);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--bm-line)}body:has(.bmb) .bm-topbar{position:static}.bm-topbar-inner{max-width:960px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.bm-logo{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:var(--bm-ink);text-decoration:none;letter-spacing:-0.01em}.bm-logo img{width:28px;height:28px;display:block}.bm-topbar-links a{margin-left:20px;color:var(--bm-ink-2);text-decoration:none;font-size:15px;font-weight:500}.bm-topbar-links a:hover{color:var(--bm-brand)}.bm-main{max-width:960px;margin:0 auto;padding:28px 16px 80px}h1{font-size:30px;line-height:1.25;letter-spacing:-0.01em;margin:0 0 6px;font-weight:700}h2{font-size:20px;line-height:1.35;margin:36px 0 14px;font-weight:700}.bm-sub{color:var(--bm-muted);margin:0 0 18px}.bm-hero{padding:40px 0 24px}.bm-eyebrow{display:inline-flex;align-items:center;gap:6px;background:var(--bm-brand-soft);color:var(--bm-brand);padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600;margin-bottom:18px}.bm-hero h1{font-size:44px;line-height:1.18;letter-spacing:-0.02em;margin-bottom:18px}.bm-hero h1 .bm-grad{background:var(--bm-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.bm-hero p{color:var(--bm-ink-2);max-width:560px;font-size:17px;margin:0 0 28px}.bm-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.bm-features{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:16px;margin-top:40px}.bm-feature b{display:block;font-size:17px;margin-bottom:4px}.bm-feature span{color:var(--bm-muted);font-size:15px}.bm-card{background:var(--bm-surface);border:1px solid var(--bm-line);border-radius:var(--bm-r-lg);box-shadow:var(--bm-shadow-1);padding:20px;margin-bottom:16px}.bm-nav{display:flex;gap:6px;overflow-x:auto;margin:16px 0 24px;padding:4px;background:var(--bm-cream);border-radius:999px;width:max-content;max-width:100%}.bm-nav a{flex:0 0 auto;padding:7px 16px;border-radius:999px;color:var(--bm-ink-2);text-decoration:none;font-size:15px;font-weight:500;transition:background-color 120ms var(--bm-ease),color 120ms var(--bm-ease)}.bm-nav a:hover{color:var(--bm-brand)}.bm-nav a.is-active{background:var(--bm-surface);color:var(--bm-brand);box-shadow:var(--bm-shadow-1)}.bm-stat{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.bm-stat div{background:var(--bm-surface);border:1px solid var(--bm-line);border-radius:var(--bm-r-lg);padding:12px 18px;min-width:130px}.bm-stat b{display:block;font-size:26px;line-height:1.2;font-variant-numeric:tabular-nums}.bm-stat span{color:var(--bm-muted);font-size:13px}.bm-table-wrap{overflow-x:auto;background:var(--bm-surface);border:1px solid var(--bm-line);border-radius:var(--bm-r-lg);box-shadow:var(--bm-shadow-1)}.bm-card .bm-table-wrap{border:0;box-shadow:none;border-radius:0}table.bm-table{width:100%;border-collapse:collapse}.bm-table th,.bm-table td{padding:12px 14px;border-bottom:1px solid var(--bm-line);text-align:left;vertical-align:middle}.bm-table tbody tr:last-child td{border-bottom:0}.bm-table tbody tr:hover td{background:#FCFBF7}.bm-table th{color:var(--bm-muted);font-weight:600;font-size:13px;white-space:nowrap;background:var(--bm-bg)}.bm-num{text-align:right !important;white-space:nowrap;font-variant-numeric:tabular-nums}.bm-plus{color:var(--bm-plus)}.bm-minus{color:var(--bm-minus)}.bm-void td{color:var(--bm-muted);text-decoration:line-through}.bm-void td .bm-btn{text-decoration:none}.bm-form-row{display:flex;flex-wrap:wrap;gap:14px}.bm-field{display:flex;flex-direction:column;gap:6px;flex:1 1 180px;margin-bottom:14px}.bm-field label,.bm-label{font-size:13px;color:var(--bm-muted);font-weight:500}input[type=text],input[type=number],input[type=date],input[type=time],input[type=email],input[type=tel],input[type=url],input[type=search],input[type=password],select,textarea{font:inherit;font-size:16px;line-height:1.4;min-height:44px;padding:10px 12px;border:1px solid var(--bm-line);border-radius:var(--bm-r-md);background:#fff;color:var(--bm-ink);width:100%;box-sizing:border-box;box-shadow:var(--bm-shadow-1);-webkit-appearance:none;appearance:none;transition:border-color 120ms var(--bm-ease),box-shadow 120ms var(--bm-ease),background-color 120ms var(--bm-ease)}input::placeholder,textarea::placeholder{color:#A3A1AB}input:hover,select:hover,textarea:hover{border-color:var(--bm-brand-tint)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--bm-brand);box-shadow:0 0 0 3px var(--bm-brand-soft)}input:disabled,select:disabled,textarea:disabled,input[readonly],textarea[readonly]{background:var(--bm-bg);color:var(--bm-muted)}select{padding-right:36px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23643A8B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px}input[type=time],input[type=date]{cursor:pointer}input[type=time]::-webkit-calendar-picker-indicator,input[type=date]::-webkit-calendar-picker-indicator{opacity:0.55;cursor:pointer}input[type=file]{font:inherit;font-size:14px;color:var(--bm-muted);max-width:100%}input[type=file]::file-selector-button{font:inherit;font-weight:500;margin-right:12px;padding:8px 16px;border:1px solid var(--bm-line);border-radius:8px;background:#fff;color:var(--bm-ink);cursor:pointer;transition:border-color 120ms var(--bm-ease),color 120ms var(--bm-ease)}input[type=file]::file-selector-button:hover{border-color:var(--bm-brand-tint);color:var(--bm-brand)}input[type=checkbox],input[type=radio]{accent-color:var(--bm-brand);width:18px;height:18px}textarea{font-family:"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;font-size:14px;line-height:1.6}.bm-check{display:inline-flex;align-items:center;gap:8px;margin-right:18px;cursor:pointer}.bm-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-weight:500;padding:10px 22px;border-radius:8px;border:1px solid transparent;background:var(--bm-brand);color:#fff;text-decoration:none;cursor:pointer;transition:background-color 120ms var(--bm-ease),box-shadow 120ms var(--bm-ease),color 120ms var(--bm-ease)}.bm-btn:hover{background:var(--bm-brand-deep);color:#fff}.bm-btn:focus-visible{outline:3px solid var(--bm-brand-tint);outline-offset:2px}.bm-btn:disabled{opacity:0.6;cursor:wait}.bm-btn-lg{padding:13px 28px;font-size:17px;border-radius:9px}.bm-btn-ghost{background:#fff;color:var(--bm-ink);border-color:var(--bm-line)}.bm-btn-ghost:hover{background:#fff;color:var(--bm-brand);border-color:var(--bm-brand-tint)}.bm-btn-danger{background:#fff;border-color:var(--bm-minus-soft);color:var(--bm-minus)}.bm-btn-danger:hover{background:var(--bm-minus-soft);color:var(--bm-minus)}.bm-btn-sm{padding:6px 14px;font-size:14px}.bm-inline-form{display:inline}.bm-pill{display:inline-block;font-size:12px;font-weight:500;padding:2px 10px;border-radius:999px;background:var(--bm-brand-soft);color:var(--bm-brand);margin-left:6px;vertical-align:middle}.bm-pill-muted{background:var(--bm-cream);color:var(--bm-muted)}.bm-empty{color:var(--bm-muted);padding:32px 0;text-align:center}.js-signed-in:not([data-display="none"]){display:none}.bm-roll{display:grid;grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));gap:10px;margin-bottom:8px}.bm-roll-item{border:1px solid var(--bm-line);border-radius:var(--bm-r-md);padding:10px 12px;background:#fff;transition:border-color 120ms var(--bm-ease),background-color 120ms var(--bm-ease)}.bm-roll-item.is-on{border-color:var(--bm-brand-tint);background:#F8F3FA}.bm-roll-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.bm-roll-body{display:none;gap:8px;margin-top:10px}.bm-roll-item.is-on .bm-roll-body{display:flex}.bm-roll-body input[type=number]{width:96px;flex:0 0 auto}.bm-pager{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:20px;color:var(--bm-muted)}.bm-code{font-family:"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;background:var(--bm-brand-soft);color:var(--bm-brand-deep);padding:3px 10px;border-radius:6px;font-weight:600}details.bm-edit{margin-top:10px}details.bm-edit summary:not(.bm-btn){cursor:pointer;color:var(--bm-brand);font-weight:500;font-size:15px}details.bm-edit summary.bm-btn{list-style:none}details.bm-edit summary.bm-btn::-webkit-details-marker{display:none}details.bm-edit .bm-inline-form{margin-top:16px;padding-top:12px;border-top:1px solid var(--bm-line)}details.bm-edit[open] summary{margin-bottom:12px}.bm-oauth{display:flex;flex-direction:column;gap:12px;max-width:340px}.bm-oauth .bm-btn{width:100%}.bm-cover{margin:-8px 0 20px;border-radius:var(--bm-r-lg);overflow:hidden;border:1px solid var(--bm-line);background:var(--bm-cream)}.bm-cover img{display:block;width:100%;height:auto;aspect-ratio:13 / 5.6;object-fit:cover}.bm-team-head{display:flex;align-items:center;gap:16px;margin-bottom:12px}.bm-team-logo{width:72px;height:72px;flex:0 0 auto;border-radius:var(--bm-r-lg);border:1px solid var(--bm-line);background:#fff;object-fit:cover}.bm-team-desc{color:var(--bm-ink-2);margin:4px 0 0;max-width:640px}.bm-schedule-list{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 20px}.bm-schedule-list .bm-pill{margin-left:0;font-size:14px;padding:4px 12px}.bm-schedules{display:flex;flex-direction:column;gap:8px;margin:6px 0 4px}.bm-schedule{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;background:var(--bm-bg);border:1px solid var(--bm-line);border-radius:var(--bm-r-md)}.bm-schedule select{width:108px;flex:0 0 auto}.bm-schedule input[type=time]{width:128px;flex:0 0 auto}.bm-schedule span{color:var(--bm-muted);font-size:14px}.bm-schedule .bm-btn{margin-left:auto}@media (max-width: 480px){.bm-schedule select{width:100%}.bm-schedule input[type=time]{flex:1 1 0;width:auto;min-width:0}}.bm-img-preview{display:block;max-width:100%;margin:4px 0 8px;border-radius:var(--bm-r-md);border:1px solid var(--bm-line);background:var(--bm-cream)}.bm-img-preview[hidden]{display:none}.bm-img-cover{max-height:180px;object-fit:cover}.bm-img-logo{width:96px;height:96px;object-fit:cover}.bm-textarea{font-family:inherit;font-size:16px;line-height:1.6}@media (max-width: 600px){h1{font-size:24px}.bm-hero h1{font-size:32px}.bm-main{padding-top:20px}.bm-topbar-links a{margin-left:14px}.bm-table th,.bm-table td{padding:10px 10px;font-size:15px}}.bmb{width:calc(100vw - 48px);margin-left:calc(50% - 50vw + 24px);display:flex;flex-direction:column;gap:12px}.bmb [hidden]{display:none !important}.bmb-top{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.bmb-ended{margin:0;padding:10px 14px;border-radius:var(--bm-r-md);background:#F7E6D4;color:#B4621B;font-weight:500}.bmb.is-ended .bmb-card{cursor:default}.bmb-back{text-decoration:none;font-weight:500}.bmb-title{font-size:18px;margin-right:auto}.bmb-ctl{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--bm-muted)}.bmb-ctl select{width:auto;min-height:36px;padding-top:4px;padding-bottom:4px}.bmb-sync{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--bm-muted)}.bmb-sync::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--bm-line)}.bmb-sync[data-state="ok"]::before{background:var(--bm-plus)}.bmb-sync[data-state="saving"]::before{background:#D9A21B}.bmb-sync[data-state="error"]{color:var(--bm-minus)}.bmb-sync[data-state="error"]::before{background:var(--bm-minus)}.bmb-body{display:grid;grid-template-columns:minmax(0, 1fr) 280px;gap:14px;align-items:start}.bmb-main{min-width:0;display:flex;flex-direction:column;gap:8px}.bmb-row-label{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--bm-muted);font-weight:500}.bmb-grid{display:grid;grid-template-columns:repeat(var(--cols, 3), minmax(220px, 1fr));gap:10px;overflow-x:auto;padding-bottom:4px}.bmb-court,.bmb-queue{border-radius:var(--bm-r-md);padding:10px;display:flex;flex-direction:column;gap:6px;min-width:0}.bmb-court{background:#E3EFE8;border:1px solid #B9D6C5}.bmb-queue{background:var(--bm-surface);border:1px dashed var(--bm-line)}.bmb-court header,.bmb-queue header{display:flex;align-items:center;gap:8px;min-height:30px}.bmb-court header b,.bmb-queue header b{margin-right:auto}.bmb-timer{font-family:"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;font-size:13px;color:var(--bm-muted);font-variant-numeric:tabular-nums}.bmb-qhandle{cursor:grab;color:var(--bm-muted);padding:0 4px;user-select:none}.bmb-wait{font-size:12px;color:#B4621B}.bmb-pair{display:grid;grid-template-columns:1fr 1fr;gap:6px}.bmb-vs{text-align:center;font-size:11px;color:var(--bm-muted);line-height:1}.bmb-slot{min-height:46px;border-radius:7px;border:1px dashed transparent;display:flex;align-items:stretch}.bmb-slot:has(.bmb-empty){border-color:var(--bm-line);align-items:center;justify-content:center}.bmb-empty{font-size:12px;color:var(--bm-muted)}.bmb-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;min-height:40px;align-content:start}.bmb-list-sm{min-height:28px}.bmb-card{flex:1;min-width:0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:6px;background:var(--bm-surface);border:1px solid var(--bm-line);border-left:4px solid var(--bm-line);border-radius:7px;padding:4px 8px;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:manipulation}.bmb-card.is-m{border-left-color:#3E6FB0}.bmb-card.is-f{border-left-color:#C0497A}.bmb-card.is-cont{outline:2px solid var(--bm-brand);outline-offset:-2px}.bmb-card.is-sel{box-shadow:0 0 0 3px var(--bm-brand-soft);border-color:var(--bm-brand)}.bmb-card.sortable-ghost{opacity:.4}.bmb-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bmb-lv{font-family:"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;font-size:12px;color:var(--bm-muted)}.bmb-meta{grid-column:1 / -1;font-size:11px;color:var(--bm-muted)}.bmb-qgrid{position:relative;display:grid;grid-template-columns:42% 16% 42%;grid-template-rows:48px 36px 48px}.bmb-qgrid>.bmb-slot{position:relative;z-index:1;background:var(--bm-surface);border-radius:7px}.bmb-qgrid>.bmb-slot:nth-of-type(1){grid-area:1 / 1}.bmb-qgrid>.bmb-slot:nth-of-type(2){grid-area:1 / 3}.bmb-qgrid>.bmb-slot:nth-of-type(3){grid-area:3 / 1}.bmb-qgrid>.bmb-slot:nth-of-type(4){grid-area:3 / 3}.bmb-qlines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.bmb-qlines .edge{stroke:var(--bm-line);stroke-width:1.5}.bmb-qlines .edge.hot{stroke:#B4621B;stroke-width:2.5}.bmb-pc{position:absolute;z-index:2;transform:translate(-50%, -50%);box-sizing:border-box;min-width:22px;height:22px;padding:0 5px;border-radius:11px;background:var(--bm-surface);border:1px solid var(--bm-line);color:var(--bm-muted);font:600 12px/20px "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;text-align:center}.bmb-pc.hot{background:#F7E6D4;border-color:#B4621B;color:#B4621B}.bmb-side{display:flex;flex-direction:column;gap:10px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow-y:auto}.bmb-box{background:var(--bm-surface);border:1px solid var(--bm-line);border-radius:var(--bm-r-md);padding:10px;display:flex;flex-direction:column;gap:6px}.bmb-box-h{font-size:12px;color:var(--bm-muted);font-weight:500}.bmb-kv{display:flex;justify-content:space-between;gap:8px;font-size:13px}.bmb-kv span:last-child{font-family:"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace}.bmb-kv.hot{color:#B4621B;font-weight:600}.bmb-toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom, 0px));transform:translate(-50%, 20px);background:var(--bm-ink);color:#fff;padding:8px 16px;border-radius:999px;font-size:14px;opacity:0;pointer-events:none;transition:opacity 160ms, transform 160ms;z-index:50}.bmb-toast.is-on{opacity:1;transform:translate(-50%, 0)}.bmb-side-toggle{display:none}@media (max-width: 1500px){.bmb-body{grid-template-columns:minmax(0, 1fr)}.bmb-side-toggle{display:inline-flex}.bmb-side{position:fixed;top:0;right:0;bottom:0;z-index:40;width:300px;max-width:82vw;max-height:none;padding:12px;background:var(--bm-bg);box-shadow:-8px 0 24px rgba(0,0,0,0.18);transform:translateX(105%);transition:transform 180ms}.bmb.is-side-open .bmb-side{transform:none}}