:root{--bh-primary:#bd1e25;--bh-on-primary:#fff;--bh-text:#1a1a1a;--bh-muted:#555;--bh-border:#8a8a8a;--bh-bg:#fff;--bh-error:#b3261e;--bh-radius:8px;color:var(--bh-text);background:var(--bh-bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}#app{max-width:640px;margin:0 auto;padding:16px}h1{margin:0 0 8px;font-size:1.25rem}.bh-heading{margin:16px 0 12px;font-size:1.125rem}.bh-heading:focus{outline:none}.bh-header{align-items:center;gap:12px;display:flex}.bh-logo{max-height:40px}.bh-progress,.bh-hint,.bh-legal{color:var(--bh-muted);margin:4px 0;font-size:.875rem}.bh-legal a+a{margin-left:16px}.bh-row{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:480px){.bh-row{grid-template-columns:1fr 1fr}}.bh-field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}label{font-weight:600}input,select,textarea{font:inherit;border:1px solid var(--bh-border);border-radius:var(--bh-radius);background:var(--bh-bg);min-height:44px;color:var(--bh-text);padding:8px 12px}.bh-field--error input,.bh-field--error textarea{border-color:var(--bh-error)}.bh-error,.bh-alert{color:var(--bh-error);margin:0;font-size:.875rem}.bh-alert{border:1px solid var(--bh-error);border-radius:var(--bh-radius);margin:8px 0;padding:8px 12px}.bh-check{align-items:flex-start;gap:8px;margin:8px 0;display:flex}.bh-check input{min-width:24px;min-height:24px;margin-top:2px}.bh-check label{font-weight:400}.bh-status{margin:12px 0}.bh-slots{border:0;margin:0 0 16px;padding:0}.bh-slots legend{margin-bottom:8px;font-weight:600}.bh-slots ul{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}button{font:inherit;border-radius:var(--bh-radius);cursor:pointer;min-width:44px;min-height:44px;padding:8px 16px}button:disabled{opacity:.6;cursor:not-allowed}.bh-slot,.bh-secondary{background:var(--bh-bg);color:var(--bh-text);border:1px solid var(--bh-border)}.bh-slot{font-variant-numeric:tabular-nums;width:100%}.bh-slot:hover:not(:disabled),.bh-secondary:hover:not(:disabled){border-color:var(--bh-primary)}.bh-primary{background:var(--bh-primary);color:var(--bh-on-primary);border:1px solid var(--bh-primary);font-weight:600}.bh-danger{background:var(--bh-bg);color:var(--bh-error);border:1px solid var(--bh-error)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--bh-primary);outline-offset:2px}.bh-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.bh-hold{border-radius:var(--bh-radius);font-variant-numeric:tabular-nums;background:#f4f4f4;padding:8px 12px}.bh-summary{grid-template-columns:max-content 1fr;gap:4px 16px;display:grid}.bh-summary dt{color:var(--bh-muted)}.bh-summary dd{margin:0;font-weight:600}.bh-link{color:var(--bh-text);font-weight:600}button.bh-link{text-align:left;text-underline-offset:3px;background:0 0;border:0;padding:8px 0;text-decoration:underline}.bh-account-button{flex-shrink:0;margin-left:auto}h3{margin:20px 0 8px;font-size:1rem}.bh-notice,.bh-banner,.bh-card{border:1px solid var(--bh-border);border-radius:var(--bh-radius);margin:8px 0;padding:8px 12px}.bh-banner p,.bh-card p{margin:0 0 8px}.bh-list{margin:0;padding:0;list-style:none}.bh-actions--start{justify-content:flex-start}.bh-divider{text-align:center;color:var(--bh-muted);margin:12px 0 4px}.bh-oauth button{width:100%;margin-top:8px}.bh-rating{border:0;margin:0 0 12px;padding:0}.bh-rating legend{margin-bottom:4px;font-weight:600}.bh-rating-stars{gap:4px;display:flex}.bh-star{min-width:44px;min-height:44px;color:var(--bh-border);cursor:pointer;border-radius:var(--bh-radius);justify-content:center;align-items:center;font-size:1.75rem;font-weight:400;line-height:1;display:inline-flex;position:relative}.bh-star input{opacity:0;cursor:pointer;min-height:0;margin:0;position:absolute;inset:0}.bh-star--on{color:var(--bh-text)}.bh-star:has(input:focus-visible){outline:3px solid var(--bh-primary);outline-offset:2px}.bh-stars{letter-spacing:2px;font-size:1.25rem}.bh-review-text{white-space:pre-line}.bh-reply{border-left:3px solid var(--bh-border);padding-left:12px}.bh-reply-label{color:var(--bh-muted);font-size:.875rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
