.bte-loader{--bte-loader-dot: var(--bte-color-icon-muted, #787878);--bte-loader-value: var(--bte-color-text, #333333);--bte-loader-dot-size: 7px;--bte-loader-gap: 6px;--bte-loader-jump: 6px;--bte-loader-cap-gap: 10px;--bte-loader-grow-from: .6;--bte-loader-period: 1.1s;--bte-loader-stagger: .16s;--bte-loader-t-in: .16s;--bte-loader-t-reveal: .28s;--bte-loader-t-fade: .22s;--bte-loader-t-out: .16s;--bte-loader-ease-out: var(--bte-ease-out, cubic-bezier(.2, .8, .2, 1));--bte-loader-ease-in: var(--bte-ease-in, cubic-bezier(.4, 0, 1, 1));position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;container:bte-loader / size;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);pointer-events:none;font:500 12px/14px system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;opacity:1;transition:opacity var(--bte-loader-t-in) var(--bte-loader-ease-out)}.bte-loader__dots{grid-area:2 / 2;justify-self:center;align-self:center;display:flex;transition:transform var(--bte-loader-t-in) var(--bte-loader-ease-out)}.bte-loader__dot{width:var(--bte-loader-dot-size);height:var(--bte-loader-dot-size);border-radius:50%;background:var(--bte-loader-dot);animation:bte-loader-bounce var(--bte-loader-period) ease-in-out infinite backwards}.bte-loader__dot+.bte-loader__dot{margin-left:var(--bte-loader-gap)}.bte-loader__dot:nth-child(2){animation-delay:var(--bte-loader-stagger)}.bte-loader__dot:nth-child(3){animation-delay:calc(var(--bte-loader-stagger) * 2)}.bte-loader__value{grid-area:3 / 2;justify-self:center;align-self:start;margin-top:var(--bte-loader-cap-gap);opacity:0;transform:scale(var(--bte-loader-grow-from));transform-origin:50% 0;transition:opacity var(--bte-loader-t-fade) var(--bte-loader-ease-out),transform var(--bte-loader-t-reveal) var(--bte-loader-ease-out);color:var(--bte-loader-value);min-width:4ch;text-align:center}.bte-loader[data-state=idle],.bte-loader[data-state=done]{opacity:0;visibility:hidden;transition:opacity var(--bte-loader-t-out) var(--bte-loader-ease-in),visibility 0s linear var(--bte-loader-t-out)}.bte-loader[data-state=idle] .bte-loader__dots,.bte-loader[data-state=done] .bte-loader__dots{transform:scale(.88);transition:transform var(--bte-loader-t-out) var(--bte-loader-ease-in)}.bte-loader[data-state=idle] .bte-loader__dot{animation:none}.bte-loader[data-state=long][data-progress]:not([data-progress=""]) .bte-loader__value,.bte-loader[data-state=done][data-progress]:not([data-progress=""]) .bte-loader__value{opacity:1;transform:none}.bte-loader[data-state=done] .bte-loader__value{transition-delay:var(--bte-loader-t-out)}@container bte-loader (height < 64px){.bte-loader__value{grid-area:2 / 3;justify-self:start;align-self:center;margin:0 0 0 var(--bte-loader-cap-gap);transform-origin:0 50%;text-align:left}}@container bte-loader (height < 24px) or (width < 64px){.bte-loader__dots,.bte-loader__value{display:none}}.bte-loader[data-size=compact] .bte-loader__value{grid-area:2 / 3;justify-self:start;align-self:center;margin:0 0 0 var(--bte-loader-cap-gap);transform-origin:0 50%;text-align:left}.bte-loader[data-size=hidden] .bte-loader__dots,.bte-loader[data-size=hidden] .bte-loader__value{display:none}@keyframes bte-loader-bounce{0%,75%,to{transform:translateY(0);opacity:.4}35%{transform:translateY(calc(var(--bte-loader-jump) * -1));opacity:1}}@keyframes bte-loader-fade{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.bte-loader__dot{animation-name:bte-loader-fade;animation-duration:1.2s}.bte-loader .bte-loader__value,.bte-loader[data-state=idle] .bte-loader__dots,.bte-loader[data-state=done] .bte-loader__dots{transform:none}}:root{--bg: #ffffff;--fg: #1c1e21;--muted: #6b7280;--line: #e5e7eb;--accent: #2563eb;--accent-fg: #ffffff;--hover: #f3f4f6;--radius: 6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;font-size:14px;color:var(--fg)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg)}.canvas{position:relative;height:100%}.canvas__frame{width:100%;height:100%;border:0;display:block}.canvas__configure-btn{position:absolute;top:8px;right:8px;z-index:2}.canvas__loading{position:absolute;top:0;right:0;bottom:0;left:0}.state{height:100%;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center}.state__title{font-size:15px;font-weight:600}.state__text{font-size:13px;color:var(--muted);max-width:360px}.configure{display:flex;flex-direction:column;height:100%;min-width:320px}.configure__head{padding:16px 20px;border-bottom:1px solid var(--line)}.configure__head h1{font-size:16px;margin:0 0 2px;letter-spacing:-.01em}.configure__head p{font-size:13px;color:var(--muted);margin:0}.configure__head h1+.segmented{margin-top:12px}.configure__body{flex:1;overflow:auto;padding:8px 12px;margin:0;border:0;min-width:0}.configure__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-top:1px solid var(--line)}.configure__hint{font-size:12px;color:var(--muted)}.configure__actions{display:flex;gap:8px}.attach{display:flex;flex-direction:column;gap:10px;padding:8px}.attach__pick{align-self:flex-start}.attach__row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#fafafa}.attach__name{font-weight:500;word-break:break-all}.attach__size{margin-left:auto;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.attach__actions{display:flex;gap:8px}.attach__warn{font-size:12px;color:#b54708;background:#fffaeb;border:1px solid #fedf89;border-radius:var(--radius);padding:8px 10px}.attach__error{font-size:12px;color:#b42318;padding:4px 8px}.attach__reading{font-size:12px;color:var(--muted)}.attach__intro,.sheet__intro{font-size:13px;color:var(--muted);margin:0}.segmented{display:inline-flex;padding:2px;gap:2px;border:1px solid var(--line);border-radius:var(--radius);background:#fafafa}.segmented__item{font:inherit;font-size:13px;font-weight:500;color:var(--muted);padding:4px 12px;border:0;border-radius:4px;background:transparent;cursor:pointer}.segmented__item:hover:not(:disabled){color:var(--fg)}.segmented__item:disabled{cursor:default}.segmented__item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.segmented__item--active{background:var(--bg);color:var(--fg);box-shadow:0 1px 2px #0000000a}.sheet{display:flex;flex-direction:column;gap:8px;padding:8px}.field{display:flex;flex-direction:column;gap:4px;margin-top:4px}.field__label{font-size:12px;font-weight:500}.field__input{font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--fg)}.field__input:hover{border-color:#d1d5db}.field__input:focus-visible{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}.field__select{height:32px;padding:0 8px}.field__hint{font-size:12px;color:var(--muted)}.sheet__check{display:flex;align-items:center;gap:12px;margin-top:4px}.sheet__result{font-size:12px}.sheet__ok{color:#067647}.sheet__fail{color:#b42318}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#11182752;padding:16px}.modal__panel{width:660px;max-width:100%;height:520px;max-height:100%;background:var(--bg);border:1px solid var(--line);border-radius:8px;box-shadow:0 1px 3px #00000014;overflow:hidden}.btn{font:inherit;font-size:13px;font-weight:500;padding:6px 12px;border-radius:var(--radius);cursor:pointer;border:1px solid transparent;transition:background .1s ease,border-color .1s ease}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--accent);color:var(--accent-fg)}.btn--primary:hover:not(:disabled){background:#1d4fd7}.btn--secondary{background:var(--bg);border-color:var(--line);color:var(--fg)}.btn--secondary:hover:not(:disabled){background:var(--hover)}.btn--ghost{background:transparent;color:var(--muted)}.btn--ghost:hover:not(:disabled){background:var(--hover);color:var(--fg)}
