.ba-widget, .ba-dialog { --ba-cream: #f3eee3; --ba-gold: #e3c292; --ba-muted: #c2baaa; --ba-line: #e3c29238; font-family: "Malgun Gothic", "Apple SD Gothic Neo", system-ui, sans-serif; }
.ba-widget { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; color: var(--ba-cream); font-size: 12px; }
.ba-widget *, .ba-dialog * { box-sizing: border-box; }
.ba-widget button, .ba-dialog button, .ba-dialog input { font: inherit; }
.ba-widget button, .ba-dialog button { cursor: pointer; }
.ba-widget button:focus-visible, .ba-dialog button:focus-visible, .ba-dialog input:focus-visible { outline: 2px solid #edc792; outline-offset: 4px; }
.ba-button { min-height: 38px; padding: 7px 15px; border: 1px solid #ad8860; background: #cba77a; color: #241d14; font-weight: 800 !important; white-space: nowrap; }
.ba-button:hover { background: #efd0a1; }
.ba-button-subtle { color: #e0d2bd; background: transparent; border-color: #bfa07842; }
.ba-button-subtle:hover { background: #bfa07814; color: #ffe4ba; }
.ba-identity { display: grid; text-align: right; line-height: 1.45; margin-right: 3px; max-width: 170px; }
.ba-identity strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.ba-identity small { color: var(--ba-muted); font-size: 10px; }
.ba-waiting { padding: 8px 0; color: var(--ba-muted); }
.ba-widget-status:not(:empty) { flex-basis: 100%; max-width: 270px; color: #f1b8a2; font-size: 11px; }
.ba-retry { border: 0; padding: 2px; color: #d6bea0; background: transparent; text-decoration: underline; text-underline-offset: 3px; font-size: 10px !important; }
.ba-dialog { color-scheme: dark; position: fixed; width: min(500px, calc(100% - 32px)); max-height: calc(100dvh - 40px); padding: 31px 34px 26px; margin: auto; color: var(--ba-cream); background: radial-gradient(ellipse at 100% 0, #4e382638, transparent 65%), #1d1e19; border: 1px solid #a88861; box-shadow: 0 28px 100px #0009; overflow-y: auto; }
.ba-dialog::backdrop { background: #080b09c9; backdrop-filter: blur(6px); }
.ba-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.ba-eyebrow { margin: 0; color: var(--ba-gold); font-size: 10px; font-weight: 800; letter-spacing: .17em; }
.ba-close { margin: -10px -10px -10px 0; width: 38px; height: 38px; background: none; color: #d4c1a7; border: 0; font: 28px/1 Georgia, serif !important; }
.ba-close:hover { color: white; background: #ffffff08; }
.ba-dialog h2 { margin: 0; font: 700 clamp(25px, 5vw, 32px)/1.35 "Noto Serif KR", "Batang", Georgia, serif; letter-spacing: -.06em; }
.ba-description { margin: 12px 0 24px; color: var(--ba-muted); font-size: 12px; line-height: 1.8; word-break: keep-all; }
.ba-form { display: grid; gap: 16px; }
.ba-field { display: grid; gap: 6px; }
.ba-field label, .ba-classes legend { color: #ede1ce; font-size: 12px; font-weight: 700; }
.ba-field input { width: 100%; min-height: 44px; padding: 11px 12px; border: 1px solid #aa91704f; border-radius: 0; background: #111510; color: #fff1db; font-size: 14px; }
.ba-field input:hover { border-color: #aa91708c; }
.ba-hint { color: #b3aa99; font-size: 10px; line-height: 1.5; }
.ba-classes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 0; padding: 0; border: 0; }
.ba-classes legend { margin-bottom: 8px; }
.ba-class-choice { position: relative; display: flex; align-items: center; gap: 7px; padding: 12px 8px; border: 1px solid #a88b6354; background: #151711; cursor: pointer; }
.ba-class-choice:has(input:checked) { background: #5c42273d; border-color: #d1ab71; }
.ba-class-choice input { flex-shrink: 0; width: 14px; height: 14px; margin: 0; accent-color: #d7b688; }
.ba-class-choice span { display: grid; gap: 4px; }
.ba-class-choice strong { font-size: 12px; }
.ba-class-choice small { color: #b9ad99; font-size: 9px; line-height: 1.4; word-break: keep-all; }
.ba-form-error { margin: 0; color: #ffc1ac; font-size: 12px; line-height: 1.7; }
.ba-form-error:empty { display: none; }
.ba-submit { width: 100%; min-height: 47px; padding: 12px; border: 1px solid #d5b183; background: #cba77a; color: #241d14; font-weight: 800 !important; font-size: 13px !important; }
.ba-submit:hover { background: #efd0a1; }
.ba-widget button:disabled, .ba-dialog button:disabled { opacity: .55; cursor: wait; }
.ba-switch { margin: 22px 0 0; padding-top: 18px; border-top: 1px solid var(--ba-line); color: #bbb09e; text-align: center; font-size: 11px; }
.ba-switch button { padding: 4px; color: #e4c394; background: none; border: 0; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 600px) { .ba-dialog { padding: 24px 21px; } .ba-widget { gap: 6px; } .ba-button { padding-inline: 11px; } .ba-class-choice { flex-direction: column; gap: 8px; text-align: center; padding: 12px 4px; } }
@media (prefers-reduced-motion: reduce) { .ba-dialog::backdrop { backdrop-filter: none; } }
