/* Contained Build conversation; only the dialog enters the top layer. */
.build-companion{padding:0;border:1px solid #6d6248;border-radius:24px;background:#0c1420;color:#f4f0e2;width:min(720px,calc(100% - 32px));height:min(820px,calc(100dvh - 32px));max-width:none;max-height:none;box-shadow:0 28px 100px #000b;overflow:hidden;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.build-companion:not([open]){display:none}.build-companion::backdrop{background:#01050bc9;backdrop-filter:blur(5px)}
.bc-frame{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.bc-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid #ffffff20;background:linear-gradient(115deg,#182532,#191a2b)}.bc-eyebrow{font-size:10px;letter-spacing:.2em;color:#e4c781;margin:0 0 8px}.bc-header h2{font:normal clamp(23px,4vw,32px)/1.15 Georgia,serif;margin:0}.build-companion button,.build-companion a.bc-primary{min-height:44px;border-radius:12px;border:1px solid #b5bec344;background:#111e2d;color:#f4f0e2;font:inherit;padding:12px 16px;cursor:pointer;text-align:left;line-height:1.4;touch-action:manipulation}.build-companion button:hover{background:#1e3041;border-color:#d8b86a}.build-companion :focus-visible{outline:3px solid #f3d98b;outline-offset:3px}.build-companion .bc-close{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;padding:0;font:32px/1 system-ui;background:#050b13}.bc-body{overflow-y:auto;overscroll-behavior:contain;padding:24px;min-height:0;scroll-behavior:auto}.bc-log{display:flex;flex-direction:column;gap:14px}.bc-log[hidden],.bc-choices[hidden],.bc-review[hidden]{display:none}.bc-bubble{font-size:16px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;max-width:88%;padding:15px 18px;border-radius:18px 18px 18px 4px;background:#192737;border:1px solid #ffffff10;align-self:flex-start}.bc-bubble.user{align-self:flex-end;background:#393624;border-color:#c2a96655;border-radius:18px 18px 4px 18px}.bc-pending{color:#e4c781;letter-spacing:.2em}.bc-choices{padding-top:24px;display:grid;gap:10px}.bc-choices:focus{outline:none}.bc-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.bc-option-grid button[aria-pressed=true]{background:#3e3924;border-color:#e4c781}.build-companion .bc-primary{display:inline-block;background:#ebcf87;color:#131923;border-color:#ebcf87;font-weight:700;text-align:center}.build-companion button:disabled{opacity:.45;cursor:default}.build-companion input,.build-companion textarea,.build-companion select{font:16px/1.5 system-ui;width:100%;min-width:0;background:#080e18;color:#f4f0e2;border:1px solid #b5bec360;border-radius:12px;padding:13px;box-sizing:border-box}.build-companion textarea{min-height:110px;resize:vertical}.bc-error{color:#ffc4b8;font-size:14px;margin:0}.bc-error:empty{display:none}.bc-footer{padding:12px 24px 16px;border-top:1px solid #ffffff20;background:#0a111c}.bc-tools{display:flex;gap:8px;flex-wrap:wrap}.bc-tools button{font-size:13px;padding:9px 12px}.bc-saving{font-size:11px;color:#b1bac7;margin:10px 0 0;line-height:1.5}.bc-review h3{font:normal 28px/1.2 Georgia,serif;margin:0 0 18px}.bc-review dl{margin:0 0 24px;display:grid;grid-template-columns:1fr 2fr;gap:12px;align-items:center}.bc-review dt{color:#c0c7d1;font-size:13px}.bc-review dd{margin:0;min-width:0}.bc-review dd button{width:100%;overflow-wrap:anywhere}.bc-review-actions{display:grid;gap:10px}.bc-review>p,.bc-note{font-size:14px;line-height:1.65;color:#b8c1cd}.bc-review>a,.bc-review>button{margin-top:12px}.bc-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:540px){.build-companion{width:100%;height:100dvh;margin:0;inset:0;border-radius:0;border:0}.bc-header{padding:16px max(16px,env(safe-area-inset-right)) 16px max(16px,env(safe-area-inset-left))}.bc-body{padding:20px 16px}.bc-footer{padding:10px 16px max(12px,env(safe-area-inset-bottom))}.bc-bubble{max-width:94%;font-size:15px}.bc-option-grid{grid-template-columns:1fr}.bc-tools{gap:6px}.bc-tools button{font-size:12px;padding:9px 10px}.bc-review dl{grid-template-columns:1fr;gap:6px}.bc-review dd{margin-bottom:12px}}
@media(max-height:520px){.bc-header{padding:10px 16px}.bc-eyebrow{display:none}.bc-footer{padding:8px 16px}.bc-saving{display:none}}

.bc-select-group{display:block}.bc-option-grid:has([aria-pressed]){grid-template-columns:1fr 1fr}
