.core-draw-ball[data-v-204c3a02]{display:inline-flex;flex-direction:column;align-items:center;gap:6px}.core-draw-ball__value[data-v-204c3a02]{width:44px;height:44px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:3px solid #ef4444;background:#fff;color:#1f2937;font-size:28px;font-weight:700;line-height:1}.core-draw-ball--r[data-v-204c3a02]{border-color:#ef4444}.core-draw-ball--g[data-v-204c3a02]{border-color:#22c55e}.core-draw-ball--b[data-v-204c3a02]{border-color:#3b82f6}.core-draw-ball__meta[data-v-204c3a02]{font-size:14px;color:#1f2937;line-height:1}.core-draw-widget[data-v-0e3a2ba3]{display:flex;flex-direction:column;gap:12px;width:100%;max-width:780px;padding:8px 10px;border-radius:8px;background:#f2f2f2;color:#1f2937}.core-draw-widget__header[data-v-0e3a2ba3]{display:flex;align-items:center;justify-content:space-between;gap:10px}.core-draw-widget__header-title[data-v-0e3a2ba3]{font-size:34px;font-weight:600;line-height:1}.core-draw-widget__header-state[data-v-0e3a2ba3]{color:#1e3a8a;font-size:32px;line-height:1}.core-draw-widget__content[data-v-0e3a2ba3]{display:flex;align-items:center}.core-draw-widget__numbers[data-v-0e3a2ba3]{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.core-draw-widget__number[data-v-0e3a2ba3]{width:68px;height:68px;border-radius:999px;display:inline-flex;justify-content:center;align-items:center;border:4px solid #ef4444;background:#fff;font-size:48px;font-weight:700;line-height:1}.core-draw-widget__number--special[data-v-0e3a2ba3]{border-color:#3b82f6}.core-draw-widget__plus[data-v-0e3a2ba3]{font-size:40px;color:#111827;line-height:1}.core-draw-widget__footer[data-v-0e3a2ba3]{color:#dc2626;font-size:32px;line-height:1}:root{font-family:Fira Sans,Noto Sans SC,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#162033;background:#f5f7fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ink: #162033;--muted: #617087;--soft: #8a97aa;--panel: #ffffff;--panel-2: #f8fafc;--border: #dce4ef;--line: #cfd8e6;--teal: #0f766e;--teal-strong: #0b5f59;--amber: #b7791f;--red: #c2413b;--blue: #245b9f;--shadow: 0 18px 44px rgba(22, 32, 51, .12)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;-webkit-tap-highlight-color:rgba(15,118,110,.18);background:linear-gradient(90deg,rgba(207,216,230,.35) 1px,transparent 1px),linear-gradient(rgba(207,216,230,.35) 1px,transparent 1px),#f5f7fb;background-size:40px 40px}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible{outline:3px solid rgba(15,118,110,.28);outline-offset:2px}#app{min-height:100vh}.dashboard-shell{width:min(1500px,calc(100% - 32px));margin:0 auto;padding:28px 0 40px}.topbar,.control-strip,.add-strip,.lottery-card,.detail-modal{background:#fffffff0;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 22px #16203314}.topbar{display:flex;align-items:stretch;justify-content:space-between;gap:24px;padding:24px;border-top:4px solid var(--teal)}.topbar__right{display:flex;align-items:stretch;gap:10px;min-width:min(670px,100%)}.eyebrow{margin:0 0 6px;color:var(--teal);font-family:Fira Code,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,h3{margin:0;color:var(--ink);letter-spacing:0;text-wrap:balance}h1{font-size:clamp(1.75rem,4vw,3rem);line-height:1.05}h2{font-size:1.08rem;line-height:1.25}h3{font-size:.98rem;line-height:1.3}.topbar__stats{display:grid;grid-template-columns:minmax(180px,1fr) repeat(2,minmax(90px,.5fr));gap:10px;flex:1 1 auto;min-width:0}.stat{display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-height:86px;padding:14px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2)}.stat span,.endpoint-field span,.add-lottery-form span,.detail-summary span{color:var(--muted);font-size:.78rem}.stat strong{overflow-wrap:anywhere;color:var(--ink);font-family:Fira Code,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.12rem}.control-strip,.add-strip{display:grid;align-items:end;gap:14px;margin-top:14px;padding:16px}.control-strip{grid-template-columns:1fr;justify-items:end}.add-strip{grid-template-columns:minmax(160px,.6fr) minmax(180px,1fr) auto}.endpoint-field,.add-lottery-form label{display:flex;flex-direction:column;gap:6px}input{width:100%;min-height:40px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);padding:0 12px}.button-row,.lottery-card__actions{display:flex;flex-wrap:wrap;gap:8px}.btn,.icon-btn{min-height:38px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);padding:0 13px;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.btn:hover,.icon-btn:hover{border-color:var(--teal);transform:translateY(-1px)}.btn--primary{border-color:var(--teal);background:var(--teal);color:#fff}.btn--primary:hover{background:var(--teal-strong);color:#fff}.btn--ghost{background:transparent;color:var(--muted)}.btn--compact{min-height:34px;padding:0 11px;font-size:.82rem}.topbar__settings{align-self:stretch;min-width:84px}.lottery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px;margin-top:14px}.lottery-card{display:flex;flex-direction:column;gap:14px;min-width:0;padding:16px;border-left:4px solid #aeb8c7}.lottery-card--active{border-left-color:var(--teal)}.lottery-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.lottery-card__title{min-width:0}.lottery-card__top-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.lottery-code{margin:0 0 5px;color:var(--soft);font-family:Fira Code,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem}.status-pill{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:5px 10px;color:var(--muted);background:#f8fafc;font-size:.78rem}.status-pill--ready{border-color:#b7791f59;color:var(--amber);background:#b7791f17}.status-pill--opening{border-color:#245b9f59;color:var(--blue);background:#245b9f17}.status-pill--done{border-color:#0f766e59;color:var(--teal);background:#0f766e17}.subscription-switch{display:inline-flex;align-items:center;gap:7px;min-height:34px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);padding:0 10px 0 7px;font-size:.82rem;line-height:1;white-space:nowrap;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.subscription-switch:hover{border-color:var(--teal);transform:translateY(-1px)}.subscription-switch__track{position:relative;display:inline-flex;width:34px;height:20px;border-radius:999px;background:#cbd5e1;transition:background .18s ease}.subscription-switch__thumb{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #16203338;transition:transform .18s ease}.subscription-switch--active{border-color:#0f766e73;background:#0f766e14;color:var(--teal)}.subscription-switch--active .subscription-switch__track{background:var(--teal)}.subscription-switch--active .subscription-switch__thumb{transform:translate(14px)}.widget-frame{min-height:152px;overflow:visible;border:1px solid var(--line);border-radius:6px;background:#f8fafc}.widget-frame .core-draw-widget{max-width:none;min-height:150px;gap:10px;padding:12px;border-radius:6px;background:#f8fafc}.widget-frame .core-draw-widget__header,.widget-frame .core-draw-widget__content,.widget-frame .core-draw-widget__footer{display:block;font-size:inherit;line-height:inherit}.debug-draw-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.debug-draw-title{display:grid;gap:4px;min-width:0}.debug-draw-title span,.debug-draw-footer{color:var(--muted);font-size:.78rem}.debug-draw-title strong{overflow:hidden;color:var(--ink);font-size:1rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.debug-draw-phase{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:4px 9px;color:var(--muted);background:#fff;font-size:.76rem;line-height:1.2;white-space:nowrap}.debug-draw-phase--ready{border-color:#b7791f59;color:var(--amber);background:#b7791f14}.debug-draw-phase--opening{border-color:#245b9f59;color:var(--blue);background:#245b9f14}.debug-draw-phase--done{border-color:#0f766e59;color:var(--teal);background:#0f766e14}.debug-draw-content{display:grid;align-items:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;min-height:44px}.debug-number{display:inline-flex;align-items:center;justify-content:center;justify-self:center;width:min(38px,100%);aspect-ratio:1;border:2px solid #ef4444;border-radius:999px;background:#fff;color:var(--ink);font-family:Fira Code,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.debug-number--special{border-color:#3b82f6}.debug-number--placeholder{border-style:dashed;color:var(--soft)}.debug-draw-footer{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px}.debug-draw-footer span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inactive-state,.empty-state{display:flex;min-height:150px;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:22px;color:var(--muted);text-align:center}.inactive-state strong,.empty-state strong{color:var(--ink)}.meta-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}.meta-list div{min-width:0;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff}.meta-list dt{color:var(--soft);font-size:.74rem}.meta-list dd{margin:5px 0 0;overflow:hidden;color:var(--ink);font-family:Fira Code,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}.error-line{margin:0;border:1px solid rgba(194,65,59,.28);border-radius:6px;background:#c2413b12;color:var(--red);padding:10px;overflow-wrap:anywhere}.lottery-card__actions{margin-top:auto}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:#16203373;overscroll-behavior:contain}.detail-modal{display:flex;flex-direction:column;width:min(1180px,100%);height:min(780px,calc(100vh - 48px));overflow:hidden;background:#fff;box-shadow:var(--shadow)}.settings-modal{display:flex;flex-direction:column;width:min(760px,100%);max-height:min(760px,calc(100vh - 48px));overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}.detail-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px;border-bottom:1px solid var(--border)}.detail-modal__head>div:first-child{min-width:0}.detail-modal__actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.settings-body{display:flex;flex-direction:column;gap:14px;min-height:0;overflow:auto;padding:16px 18px 18px;background:#f8fafc}.settings-section{display:grid;gap:12px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:14px}.settings-section__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.settings-section__head span,.custom-lottery-item span,.settings-empty{color:var(--muted);font-size:.78rem}.add-lottery-form{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(180px,1fr) auto;align-items:end;gap:10px}.custom-lottery-list{display:grid;gap:8px}.custom-lottery-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:6px;background:#f8fafc;padding:10px}.custom-lottery-item div{display:grid;gap:3px;min-width:0}.custom-lottery-item strong,.custom-lottery-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-lottery-item span{font-family:Fira Code,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.settings-empty{border:1px dashed var(--line);border-radius:6px;background:#f8fafc;padding:16px;text-align:center}.icon-btn{width:38px;padding:0;font-size:1.4rem;line-height:1}.detail-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px 18px;border-bottom:1px solid var(--border);background:#f8fafc}.detail-summary div{display:flex;flex-direction:column;gap:5px}.detail-summary strong{overflow-wrap:anywhere;color:var(--ink)}.raw-message-list{display:flex;flex-direction:column;gap:8px;min-height:0;overflow:auto;overscroll-behavior:contain;padding:14px 18px 18px;background:#f8fafc}.raw-message-item{display:grid;grid-template-columns:64px 188px minmax(0,1fr);align-items:start;gap:12px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:12px}.raw-message-id{color:var(--ink);font-family:Fira Code,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem;font-weight:700;line-height:1.45}.raw-message-time{color:var(--muted);font-family:Fira Code,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.45;white-space:nowrap}.raw-message-item code{min-width:0;color:#152033;font-family:Fira Code,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}@media(max-width:980px){.topbar,.control-strip,.add-lottery-form{grid-template-columns:1fr}.topbar{flex-direction:column}.topbar__right{min-width:0}.topbar__stats{grid-template-columns:1fr 1fr}.topbar__stats .stat:first-child{grid-column:1 / -1}}@media(max-width:560px){.dashboard-shell{width:min(100% - 20px,1500px);padding-top:10px}.topbar,.control-strip,.lottery-card{padding:12px}.topbar__stats,.lottery-grid,.meta-list,.detail-summary,.settings-section__head{grid-template-columns:1fr}.topbar__right,.settings-section__head{flex-direction:column}.topbar__settings{align-self:stretch}.lottery-grid,.lottery-card__head,.raw-message-item{grid-template-columns:1fr}.detail-modal__head,.detail-modal__actions{align-items:stretch;flex-direction:column}.raw-message-time{white-space:normal}.lottery-card__head{flex-direction:column;align-items:flex-start}.detail-modal{height:calc(100vh - 20px)}.settings-modal{max-height:calc(100vh - 20px)}.inspector-grid{grid-template-columns:1fr 1fr}.button-row,.lottery-card__actions{flex-direction:column}.btn{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
