@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&family=Fira+Code:wght@400;500&family=Press+Start+2P&display=swap";:root{--brand: #6C5CE7;--brand-ink: #3F2EB4;--brand-wash: #EDEBFF;--subject-html: #F26A4B;--subject-css: #2EC4F1;--subject-js: #FFC244;--subject-art: #E84C88;--subject-math: #7BD86E;--subject-html-wash: #FFEDE6;--subject-css-wash: #E2F7FE;--subject-js-wash: #FFF4D9;--subject-art-wash: #FFE4EE;--subject-math-wash: #E9FAE3;--paper: #F7F1E5;--paper-2: #FFF9EC;--paper-3: #FFFDF5;--ink: #1A1626;--ink-2: #2E2841;--ink-3: #5A536B;--ink-04: rgba(26, 22, 38, .04);--ink-06: rgba(26, 22, 38, .06);--ink-08: rgba(26, 22, 38, .08);--ink-12: rgba(26, 22, 38, .12);--ink-24: rgba(26, 22, 38, .24);--ink-40: rgba(26, 22, 38, .4);--ink-64: rgba(26, 22, 38, .64);--ink-80: rgba(26, 22, 38, .8);--success: var(--subject-math);--success-wash: var(--subject-math-wash);--warning: var(--subject-js);--warning-wash: var(--subject-js-wash);--danger: var(--subject-html);--danger-wash: var(--subject-html-wash);--info: var(--subject-css);--info-wash: var(--subject-css-wash);--boo-bubble: var(--brand-wash);--boo-ink: var(--brand-ink);--you-bubble: var(--paper-3);--you-ink: var(--ink);--font-ui: "Fredoka", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Fira Code", ui-monospace, "SF Mono", Menlo, monospace;--font-pixel: "Press Start 2P", "Fredoka", system-ui, sans-serif;--t-display-size: 48px;--t-display-lh: 1.05;--t-display-weight: 400;--t-h1-size: 32px;--t-h1-lh: 1.15;--t-h1-weight: 700;--t-h2-size: 24px;--t-h2-lh: 1.2;--t-h2-weight: 600;--t-h3-size: 20px;--t-h3-lh: 1.25;--t-h3-weight: 600;--t-h4-size: 16px;--t-h4-lh: 1.3;--t-h4-weight: 600;--t-body-size: 15px;--t-body-lh: 1.5;--t-body-weight: 400;--t-small-size: 13px;--t-small-lh: 1.45;--t-small-weight: 500;--t-mono-size: 14px;--t-mono-lh: 1.55;--t-pixel-size: 12px;--t-pixel-lh: 1.4;--s-0: 0;--s-0\.5: 4px;--s-1: 8px;--s-1\.5: 12px;--s-2: 16px;--s-3: 24px;--s-4: 32px;--s-5: 40px;--s-6: 48px;--s-8: 64px;--s-10: 80px;--s-12: 96px;--r-sm: 4px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-2xl: 24px;--r-pill: 999px;--shadow-pixel: 0 2px 0 0 var(--ink);--shadow-pixel-sm: 0 1px 0 0 var(--ink);--shadow-soft: 0 4px 16px -4px rgba(26, 22, 38, .12);--shadow-soft-lg: 0 12px 32px -8px rgba(26, 22, 38, .18);--shadow-glow-brand: 0 0 0 3px color-mix(in oklch, var(--brand) 40%, transparent);--border-hairline: 1px solid var(--ink-12);--border-strong: 1px solid var(--ink-24);--border-pixel: 2px solid var(--ink);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-step: steps(4, end);--dur-quick: .12s;--dur-base: .18s;--dur-enter: .28s;--dur-celebrate: .6s;--app-max-w: 1280px;--sidebar-w: 240px}body{font-family:var(--font-ui);font-size:var(--t-body-size);line-height:var(--t-body-lh);font-weight:var(--t-body-weight);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,.t-h1{font-family:var(--font-ui);font-size:var(--t-h1-size);line-height:var(--t-h1-lh);font-weight:var(--t-h1-weight);letter-spacing:-.01em;color:var(--ink);margin:0}h2,.t-h2{font-family:var(--font-ui);font-size:var(--t-h2-size);line-height:var(--t-h2-lh);font-weight:var(--t-h2-weight);color:var(--ink);margin:0}h3,.t-h3{font-family:var(--font-ui);font-size:var(--t-h3-size);line-height:var(--t-h3-lh);font-weight:var(--t-h3-weight);color:var(--ink);margin:0}p,.t-body{font-size:var(--t-body-size);line-height:var(--t-body-lh);margin:0}.t-small{font-size:var(--t-small-size);line-height:var(--t-small-lh);font-weight:var(--t-small-weight);color:var(--ink-64)}code,.t-mono{font-family:var(--font-mono);font-size:var(--t-mono-size);line-height:var(--t-mono-lh)}.t-pixel{font-family:var(--font-pixel);font-size:var(--t-pixel-size);line-height:var(--t-pixel-lh);letter-spacing:.02em;text-transform:uppercase}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled,textarea:disabled{cursor:not-allowed;opacity:.72}code,pre{font-family:var(--font-mono)}.hb-icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.hb-icon{width:1em;height:1em;flex:none;fill:currentColor;image-rendering:pixelated;vertical-align:-.125em}.hb-workspace{height:100vh;display:grid;grid-template-rows:auto 1fr;gap:var(--s-2);padding:var(--s-2);background:var(--paper);overflow:hidden}.hb-subscription-workspace{min-height:100vh;height:auto;place-items:center;grid-template-rows:minmax(0,1fr);background:radial-gradient(circle at 18% 18%,var(--subject-js-wash),transparent 30%),radial-gradient(circle at 82% 22%,var(--brand-wash),transparent 28%),var(--paper)}.hb-subscription-card{width:min(100%,520px);display:grid;gap:var(--s-1\.5);padding:var(--s-4);border:var(--border-pixel);border-radius:var(--r-2xl);background:var(--paper-2);box-shadow:var(--shadow-soft-lg),var(--shadow-pixel)}.hb-subscription-mark{width:64px;height:64px;display:grid;place-items:center;border:var(--border-pixel);border-radius:var(--r-xl);background:var(--subject-js);box-shadow:var(--shadow-pixel);color:var(--ink);font-size:32px}.hb-subscription-copy,.hb-subscription-status{color:var(--ink-64)}.hb-subscription-form{display:grid;gap:var(--s-1)}.hb-subscription-label{font-size:var(--t-small-size);font-weight:800}.hb-subscription-form input{min-height:44px;border:var(--border-strong);border-radius:var(--r-lg);padding:0 var(--s-1\.5);background:var(--paper-3);color:var(--ink)}.hb-auth-card{width:min(100%,560px)}.hb-auth-form{gap:var(--s-1)}.hb-auth-mode-row{display:flex;flex-wrap:wrap;gap:var(--s-1);justify-content:space-between}.hb-link-button{border:0;padding:0;background:transparent;color:var(--brand-ink);font-weight:800;text-decoration:underline;text-underline-offset:3px}.hb-auth-divider{display:flex;align-items:center;gap:var(--s-1);color:var(--ink-40);font-size:var(--t-small-size);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.hb-auth-divider:before,.hb-auth-divider:after{content:"";height:1px;flex:1;background:var(--ink-24)}.hb-provider-buttons{display:grid;gap:var(--s-1)}.hb-provider-button{min-height:48px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:var(--s-1);row-gap:2px;border:2px solid var(--ink);border-radius:var(--r-lg);padding:var(--s-1) var(--s-1\.5);background:var(--paper-3);box-shadow:var(--shadow-pixel);color:var(--ink);font-weight:800;text-align:left}.hb-provider-button small{grid-column:2;color:var(--ink-64);font-size:var(--t-small-size);font-weight:700}.hb-brand-mark{width:22px;height:22px}.hb-parent-account-pill{display:grid;gap:2px;padding:var(--s-1);border:var(--border-hairline);border-radius:var(--r-lg);background:var(--paper-3)}.hb-parent-account-pill span{color:var(--ink-64);font-size:var(--t-small-size);font-weight:800}.hb-workspace-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);padding:var(--s-0\.5) var(--s-1)}.hb-workspace-title-row{display:flex;align-items:center;gap:var(--s-2);min-width:0}.hb-workspace-greeting{min-width:0}.hb-service-note{display:flex;align-items:center;gap:var(--s-0\.5);margin-top:var(--s-0\.5);color:var(--ink-64);font-size:var(--t-small-size)}.hb-bit-badge{width:64px;height:64px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:var(--r-lg);background:var(--brand);box-shadow:var(--shadow-pixel);color:var(--paper-2);font-family:var(--font-pixel);font-size:10px}.hb-chat-layout{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,440px);grid-template-rows:minmax(0,1fr);gap:var(--s-2)}.hb-chat-card{min-height:0;border:var(--border-hairline);border-radius:var(--r-2xl);background:var(--paper-2);box-shadow:var(--shadow-soft);display:grid;grid-template-rows:minmax(0,1fr) auto auto auto;overflow:hidden}.hb-message-list{min-height:0;overflow:auto;display:grid;align-content:start;gap:var(--s-2);margin:0;padding:var(--s-3);list-style:none}.hb-message{max-width:760px;display:grid;gap:var(--s-0\.5);padding:var(--s-1\.5);border:var(--border-hairline);border-radius:var(--r-xl)}.hb-message-user{justify-self:end;background:var(--you-bubble);color:var(--you-ink)}.hb-message-assistant{justify-self:start;background:var(--boo-bubble);color:var(--boo-ink)}.hb-message-label{font-size:var(--t-small-size);font-weight:700;color:var(--ink-64)}.hb-thinking-caption{font-size:var(--t-small-size);color:var(--boo-ink);opacity:.85}.hb-thinking-dots{display:inline-flex;align-items:center;gap:5px;height:1.2em}.hb-thinking-dots span{width:7px;height:7px;border-radius:var(--r-pill);background:var(--boo-ink);animation:hb-thinking 1.2s var(--ease-step, ease-in-out) infinite}.hb-thinking-dots span:nth-child(2){animation-delay:.18s}.hb-thinking-dots span:nth-child(3){animation-delay:.36s}@keyframes hb-thinking{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.hb-thinking-dots span{animation:none;opacity:.55}}.hb-message p{margin:0}.hb-message-list-md{margin:0;padding-left:var(--s-2);display:grid;gap:var(--s-0\.5)}.hb-message code{font-family:var(--font-pixel, monospace);font-size:.85em;padding:0 .25em;border-radius:var(--r-sm, 4px);background:var(--paper-3, rgba(0, 0, 0, .08))}.hb-empty-chat{display:grid;place-content:center;justify-items:center;gap:var(--s-1);padding:var(--s-4);text-align:center;color:var(--ink-64)}.hb-empty-greeting{margin:0;font-size:var(--t-h3-size);font-weight:var(--t-h3-weight);line-height:var(--t-h3-lh);color:var(--ink)}.hb-empty-chat .t-small{margin:0;max-width:38ch}.hb-idea-sparks{margin-top:var(--s-2);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-1\.5);width:100%;max-width:460px}.hb-idea-spark{display:flex;align-items:center;gap:var(--s-1);min-height:56px;padding:var(--s-1\.5);border:2px solid var(--ink);border-radius:var(--r-lg);background:var(--paper-3);box-shadow:var(--shadow-pixel);font-family:var(--font-ui);font-weight:600;font-size:var(--t-body-size);color:var(--ink);text-align:left;transition:transform var(--dur-quick) var(--ease-out),box-shadow var(--dur-quick) var(--ease-out),background var(--dur-quick) var(--ease-out)}.hb-idea-spark:hover{background:var(--brand-wash)}.hb-idea-spark:active{transform:translateY(2px);box-shadow:none}.hb-idea-spark:focus-visible{outline:none;box-shadow:var(--shadow-glow-brand)}.hb-idea-spark-icon{width:22px;height:22px;color:var(--brand)}.hb-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-0\.5);border:2px solid var(--ink);border-radius:var(--r-lg);padding:0 var(--s-2);background:var(--paper-3);box-shadow:var(--shadow-pixel);color:var(--ink);font-weight:700;transition:transform var(--dur-quick) var(--ease-out),box-shadow var(--dur-quick) var(--ease-out),filter var(--dur-quick) var(--ease-out)}.hb-button:hover:not(:disabled){filter:brightness(1.05)}.hb-button:active:not(:disabled){transform:translateY(2px);box-shadow:none}.hb-button-primary{background:var(--subject-js)}.hb-button-danger{background:var(--danger)}.hb-button-sm{min-height:32px;padding:0 var(--s-1\.5);font-size:var(--t-small-size)}.hb-composer{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-1);padding:var(--s-2);border-top:var(--border-hairline);background:color-mix(in oklch,var(--paper-2) 88%,transparent)}.hb-composer-field{display:grid;gap:var(--s-1);align-content:start}.hb-composer textarea{min-height:0;height:auto;max-height:30vh;overflow-y:auto;resize:none;border:var(--border-strong);border-radius:var(--r-xl);padding:var(--s-1\.5);background:var(--paper-3);color:var(--ink)}.hb-composer-actions{display:flex;align-items:center;gap:var(--s-1)}.hb-artifact-card{display:grid;gap:var(--s-1);margin-top:var(--s-1);padding:var(--s-1);border:2px solid color-mix(in srgb,var(--boo-ink) 22%,transparent);border-radius:var(--r-lg);background:color-mix(in srgb,var(--paper-2) 82%,white)}.hb-artifact-header{display:flex;align-items:center;gap:var(--s-1);color:var(--boo-ink)}.hb-artifact-kicker{padding:.15rem .45rem;border:var(--border-hairline);border-radius:var(--r-pill);background:var(--brand-wash);font-size:var(--t-small-size);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.hb-artifact-frame{width:100%;min-width:0;border:var(--border-hairline);border-radius:var(--r-md);background:var(--paper-3);display:block}.hb-artifact-status,.hb-artifact-error{margin:0;font-size:var(--t-small-size)}.hb-artifact-error{color:var(--danger)}.hb-artifact-send-strip{min-inline-size:0;margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--s-1);padding:var(--s-1);border:var(--border-hairline);border-radius:var(--r-md);background:var(--paper-3);box-shadow:var(--shadow-pixel)}.hb-artifact-send-strip p{margin:0;color:var(--ink);font-weight:700}.hb-activity-chip{display:flex;align-items:center;justify-content:space-between;gap:var(--s-1\.5);padding:var(--s-1) var(--s-1\.5);border-top:var(--border-hairline);background:var(--paper-3)}.hb-activity-status{display:flex;align-items:center;gap:var(--s-1);min-width:0}.hb-activity-text{min-width:0;display:flex;flex-direction:column;justify-content:center;min-height:calc(2 * var(--t-small-size) * var(--t-small-lh))}.hb-activity-text strong{font-size:var(--t-small-size);line-height:var(--t-small-lh)}.hb-activity-text span{font-size:var(--t-small-size);line-height:var(--t-small-lh);color:var(--ink-64);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hb-activity-dot{flex:none;width:12px;height:12px;border-radius:var(--r-pill);border:2px solid var(--ink)}.hb-activity-chip[data-state=working] .hb-activity-dot{border-color:var(--brand);border-top-color:transparent;animation:hb-spin .8s linear infinite}.hb-activity-chip[data-state=idle] .hb-activity-dot{background:var(--success)}@keyframes hb-spin{to{transform:rotate(360deg)}}.hb-creations-panel{min-height:0;border:var(--border-hairline);border-radius:var(--r-2xl);background:var(--paper-2);box-shadow:var(--shadow-soft);display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}.hb-creations-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-1);padding:var(--s-2);border-bottom:var(--border-hairline);background:repeating-linear-gradient(90deg,var(--ink-06) 0 2px,transparent 2px 24px) bottom / 100% 10px no-repeat,var(--paper-3)}.hb-panel-kicker{margin:0 0 var(--s-0\.5);color:var(--brand-ink);font-family:var(--font-pixel);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.hb-creations-error{margin:var(--s-1) var(--s-2) 0;padding:var(--s-1);border:var(--border-hairline);border-radius:var(--r-lg);background:var(--danger-wash);color:var(--ink);font-size:var(--t-small-size)}.hb-creations-empty{align-self:start;display:grid;place-items:center;gap:var(--s-1);margin:var(--s-2);padding:var(--s-3);border:2px dashed var(--ink-24);border-radius:var(--r-xl);background:var(--paper-3);text-align:center;color:var(--ink-64)}.hb-creations-empty h3{color:var(--ink)}.hb-creations-empty-icon{width:28px;height:28px;color:var(--brand)}.hb-creations-list{min-height:0;overflow:auto;display:grid;align-content:start;gap:var(--s-2);padding:var(--s-2)}.hb-creation-card{display:grid;gap:var(--s-1\.5);padding:var(--s-1\.5);border:var(--border-pixel);border-radius:var(--r-xl);background:var(--paper-3);box-shadow:var(--shadow-pixel)}.hb-creation-card[data-status=working]{background:var(--subject-css-wash)}.hb-creation-card[data-status=ready]{background:var(--success-wash)}.hb-creation-card[data-status=failed]{background:var(--danger-wash)}.hb-creation-card[data-status=review]{background:var(--brand-wash)}.hb-creation-machine{display:grid;grid-template-columns:72px minmax(0,1fr);gap:var(--s-1\.5);align-items:start}.hb-creation-screen{height:64px;display:grid;place-items:center;border:var(--border-pixel);border-radius:var(--r-lg);background:var(--brand-wash)}.hb-creation-screen span{font-family:var(--font-pixel);font-size:20px;color:var(--brand-ink)}.hb-creation-summary{min-width:0;display:grid;gap:var(--s-0\.5)}.hb-creation-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-1)}.hb-creation-title-row h3{min-width:0;overflow:hidden;text-overflow:ellipsis}.hb-creation-summary p,.hb-creation-preview-note{color:var(--ink-64);font-size:var(--t-small-size);line-height:var(--t-small-lh)}.hb-creation-time{color:var(--ink-40)!important}.hb-creation-status{flex:none;display:inline-flex;align-items:center;gap:var(--s-0\.5);min-height:26px;padding:0 var(--s-1);border:var(--border-hairline);border-radius:var(--r-pill);background:var(--paper-2);color:var(--ink);font-size:var(--t-small-size);font-weight:800;white-space:nowrap}.hb-creation-status-dot{width:10px;height:10px;border:2px solid var(--ink);border-radius:var(--r-pill);background:var(--paper-3)}.hb-creation-status[data-status=working] .hb-creation-status-dot{border-color:var(--brand);border-top-color:transparent;animation:hb-spin .8s linear infinite}.hb-creation-status[data-status=ready] .hb-creation-status-dot{background:var(--success)}.hb-creation-status[data-status=failed] .hb-creation-status-dot{background:var(--danger)}.hb-creation-status[data-status=review] .hb-creation-status-dot{background:var(--brand)}.hb-creation-buildbar{position:relative;height:12px;overflow:hidden;border:2px solid var(--ink);border-radius:var(--r-pill);background:var(--paper-3)}.hb-creation-buildbar:before{content:"";position:absolute;inset:0;width:45%;background:var(--subject-js);animation:hb-buildbar 1.2s var(--ease-out) infinite}@keyframes hb-buildbar{0%{transform:translate(-105%)}to{transform:translate(230%)}}.hb-creation-preview-wrap{display:grid;gap:var(--s-1)}.hb-creation-preview{width:100%;height:260px;border:var(--border-pixel);border-radius:var(--r-lg);background:#fff;box-shadow:inset 0 0 0 1px var(--ink-08)}.hb-creation-external-preview,.hb-creation-preview-fallback{min-height:160px;display:flex;align-items:center;justify-content:center;gap:var(--s-1\.5);padding:var(--s-2);border:var(--border-pixel);border-radius:var(--r-lg);background:repeating-linear-gradient(135deg,var(--ink-06) 0 2px,transparent 2px 18px),var(--paper-2);color:var(--ink);text-align:left}.hb-creation-external-preview strong,.hb-creation-external-preview p,.hb-creation-preview-fallback strong,.hb-creation-preview-fallback p{margin:0}.hb-creation-external-preview p,.hb-creation-preview-fallback p{max-width:32ch;color:var(--ink-64);font-size:var(--t-small-size);line-height:var(--t-small-lh)}.hb-creation-preview-fallback>div{display:grid;gap:var(--s-0\.75)}.hb-creation-external-preview-icon{width:28px;height:28px;color:var(--brand)}.hb-creation-actions{display:flex;justify-content:flex-end}.hb-creation-preview-note{margin:0;padding:var(--s-1);border-radius:var(--r-md);background:var(--paper-2)}@media(prefers-reduced-motion:reduce){.hb-creation-status[data-status=working] .hb-creation-status-dot,.hb-creation-buildbar:before{animation:none}}.hb-error{margin:var(--s-1) var(--s-2) 0;padding:var(--s-1) var(--s-1\.5);border:var(--border-hairline);border-radius:var(--r-lg);background:var(--danger-wash);color:var(--ink)}.hb-sr-only{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:920px){.hb-workspace{height:auto;min-height:100vh;overflow:visible}.hb-workspace-header{align-items:flex-start;flex-direction:column}.hb-chat-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(620px,70vh) minmax(520px,auto)}.hb-creations-panel{min-height:520px}}@media(max-width:520px){.hb-idea-sparks,.hb-composer{grid-template-columns:minmax(0,1fr)}.hb-composer-actions{justify-content:flex-end}}.hb-card{border:var(--border-hairline);border-radius:var(--r-2xl);background:var(--paper-2);box-shadow:var(--shadow-soft-lg)}.hb-button-secondary{background:var(--paper-2)}.hb-button[data-active=true]{background:var(--brand);color:var(--paper-2)}.hb-warning{margin:0;padding:var(--s-1) var(--s-1\.5);border:var(--border-hairline);border-radius:var(--r-lg);background:var(--warning-wash);color:var(--ink)}.hb-header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--s-1)}.hb-chat-layout[data-view=gallery]{grid-template-columns:minmax(0,1fr)}.hb-chat-layout[data-view=gallery] .hb-chat-card{display:none}.hb-profile-picker-card,.hb-profile-picker-modal{width:min(100%,720px)}.hb-profile-picker-modal{display:grid;gap:var(--s-2);padding:var(--s-3)}.hb-profile-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s-2)}.hb-profile-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--s-1\.5);min-height:86px;padding:var(--s-1\.5);border:var(--border-pixel);border-radius:var(--r-xl);background:var(--paper-3);box-shadow:var(--shadow-pixel);color:var(--ink);text-align:left}.hb-profile-card[data-active=true]{background:var(--brand-wash)}.hb-profile-card span:last-child{min-width:0;display:grid;gap:2px}.hb-profile-card strong,.hb-profile-card small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hb-profile-avatar{width:52px;height:52px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:var(--r-lg);background:var(--subject-css);font-weight:900}.hb-profile-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,140px);gap:var(--s-1)}.hb-profile-form label{font-weight:800}.hb-profile-form label:nth-of-type(1),.hb-profile-form input:nth-of-type(1),.hb-profile-form label:nth-of-type(3),.hb-profile-form input:nth-of-type(3),.hb-profile-form label:nth-of-type(4),.hb-profile-form textarea,.hb-profile-form button,.hb-profile-form .hb-error{grid-column:1 / -1}.hb-profile-form input,.hb-profile-form textarea{min-height:44px;border:var(--border-strong);border-radius:var(--r-lg);padding:0 var(--s-1\.5);background:var(--paper-3);color:var(--ink)}.hb-profile-form textarea{min-height:84px;padding-top:var(--s-1);resize:vertical}.hb-create-profile-form,.hb-settings-profile-form{padding:var(--s-2);border:var(--border-hairline);border-radius:var(--r-lg);background:var(--paper-3)}.hb-message-image{max-width:min(220px,100%);border:var(--border-pixel);border-radius:var(--r-lg);box-shadow:var(--shadow-pixel)}.hb-composer-chip{position:relative;width:64px;height:64px;border:var(--border-pixel);border-radius:var(--r-lg);box-shadow:var(--shadow-pixel);overflow:hidden}.hb-composer-chip img{width:100%;height:100%;object-fit:cover;display:block}.hb-composer-chip-remove{position:absolute;top:3px;right:3px;width:24px;height:24px;display:grid;place-items:center;padding:0;border:2px solid var(--paper-3);border-radius:var(--r-pill);background:var(--ink);color:var(--paper)}.hb-composer-error{grid-column:1 / -1;margin:0;color:var(--danger);font-size:var(--t-small-size)}.hb-attach{position:relative;display:flex}.hb-attach-button{width:40px;height:40px;display:grid;place-items:center;padding:0;border:2px solid var(--ink);border-radius:var(--r-lg);background:var(--subject-css);box-shadow:var(--shadow-pixel);color:var(--ink)}.hb-attach-button-open{box-shadow:var(--shadow-glow-brand),var(--shadow-pixel)}.hb-attach-scrim{position:fixed;inset:0;z-index:25;border:0;background:transparent}.hb-attach-menu{position:absolute;right:0;bottom:calc(100% + 12px);z-index:26;width:min(240px,calc(100vw - var(--s-3)));display:grid;overflow:hidden;border:var(--border-pixel);border-radius:var(--r-lg);background:var(--paper-3);box-shadow:var(--shadow-soft-lg)}.hb-attach-menu button{min-height:44px;display:flex;align-items:center;gap:var(--s-1);border:0;border-bottom:var(--border-hairline);padding:0 var(--s-1\.5);background:var(--paper-3);color:var(--ink);text-align:left}.hb-attach-menu button:last-child{border-bottom:0}.hb-attach-menu button:hover{background:var(--brand-wash)}.hb-voice{position:relative;display:flex}.hb-mic-button{width:40px;height:40px;display:grid;place-items:center;padding:0;border:2px solid var(--ink);border-radius:var(--r-lg);background:var(--brand-wash);box-shadow:var(--shadow-pixel);color:var(--ink);touch-action:none;-webkit-user-select:none;user-select:none}.hb-mic-button-on{background:var(--danger-wash);box-shadow:var(--shadow-glow-brand),var(--shadow-pixel)}.hb-mic-button:active:not(:disabled){transform:translateY(2px);box-shadow:none}.hb-voice-callout{position:absolute;right:0;bottom:calc(100% + 12px);z-index:24;width:min(280px,calc(100vw - var(--s-4)));display:grid;justify-items:center;gap:var(--s-1);padding:var(--s-1\.5);border:var(--border-pixel);border-radius:var(--r-xl);background:var(--paper-3);box-shadow:var(--shadow-soft-lg),var(--shadow-pixel);color:var(--ink);text-align:center}.hb-voice-callout:after{content:"";position:absolute;right:14px;bottom:-10px;width:16px;height:16px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);background:var(--paper-3);transform:rotate(45deg)}.hb-voice-mic{width:44px;height:44px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:var(--r-pill);background:var(--brand-wash);color:var(--brand-ink);font-size:24px}.hb-voice-status{position:relative;z-index:1;margin:0;max-width:100%;color:var(--ink);font-size:var(--t-small-size);font-weight:800;overflow-wrap:anywhere}.hb-voice-actions{position:relative;z-index:1}.hb-camera-backdrop,.hb-reconnect-backdrop,.hb-handbook-backdrop,.hb-factory-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:var(--s-3);background:color-mix(in oklch,var(--ink) 48%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hb-reconnect-backdrop{z-index:60}.hb-reconnect-card,.hb-camera-sheet{width:min(520px,92vw)}.hb-reconnect-card{display:grid;gap:var(--s-1\.5);padding:var(--s-3)}.hb-reconnect-card .hb-bit-badge{width:56px;height:56px}.hb-reconnect-card p,.hb-reconnect-card h1{margin:0}.hb-camera-sheet{display:grid;gap:var(--s-2);padding:var(--s-2);border:var(--border-pixel);border-radius:var(--r-xl);background:var(--paper-3);box-shadow:var(--shadow-soft-lg)}.hb-camera-stage{display:grid;place-items:center;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--r-lg);background:var(--ink)}.hb-camera-frame{width:100%;height:100%;object-fit:cover}.hb-camera-error{padding:var(--s-2);color:var(--paper);text-align:center}.hb-camera-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--s-1)}.hb-activity-actions{flex:none;display:flex;align-items:center;gap:var(--s-1)}.hb-factory-button,.hb-play-button{flex:none;min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:2px solid var(--ink);border-radius:var(--r-pill);padding:0 var(--s-1\.5);box-shadow:var(--shadow-pixel-sm);color:var(--ink);font-weight:800;font-size:var(--t-small-size)}.hb-factory-button{background:var(--brand);color:var(--paper-2)}.hb-play-button{background:var(--subject-js);text-decoration:none}.hb-factory-badge{min-width:18px;padding:1px 6px;border-radius:var(--r-pill);background:var(--paper-2);color:var(--brand-ink);font-size:11px}.hb-factory-button[data-working=true] .hb-factory-badge{animation:hb-pulse 1.1s ease-in-out infinite}@keyframes hb-pulse{0%,to{opacity:1}50%{opacity:.45}}.hb-bit-badge-sm{width:48px;height:48px}.hb-factory{width:min(760px,100%);max-height:calc(100vh - var(--s-6));display:grid;gap:var(--s-2);overflow:auto;padding:var(--s-3)}.hb-factory-head,.hb-handbook-head,.hb-progress-overlay-head{display:flex;align-items:center;gap:var(--s-2)}.hb-factory-title,.hb-handbook-title{flex:1;min-width:0}.hb-factory-body{display:grid;gap:var(--s-2);min-height:0}.hb-factory-body.is-open{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start}.hb-factory:has(.hb-factory-body.is-open){width:min(1080px,100%)}.hb-factory-floorcol{min-width:0}.hb-factory-floor{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-1\.5);padding:var(--s-2) var(--s-1\.5) var(--s-3);border-radius:var(--r-lg);background:repeating-linear-gradient(90deg,var(--ink-08) 0 2px,transparent 2px 26px) bottom / 100% 14px no-repeat,var(--paper-2)}.hb-factory-station{flex:1 1 150px;max-width:190px;min-width:0;display:flex;flex-direction:column}.hb-factory-ticker{position:relative;align-self:flex-start;max-width:100%;margin-bottom:9px;padding:6px 10px;overflow:hidden;border-radius:var(--r-md);background:var(--ink);color:var(--paper-2);box-shadow:var(--shadow-pixel-sm);font-size:var(--t-small-size);line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.hb-factory-ticker:after{content:"";position:absolute;bottom:-6px;left:16px;border:6px solid transparent;border-top-color:var(--ink);border-bottom:0}.hb-factory-ticker.is-ready{background:var(--success);color:var(--ink)}.hb-factory-ticker.is-ready:after{border-top-color:var(--success)}.hb-factory-machine{display:grid;gap:var(--s-1);padding:var(--s-1\.5);border:var(--border-pixel);border-radius:var(--r-lg);background:var(--paper-3);box-shadow:var(--shadow-pixel);text-align:center}.hb-factory-screen{height:60px;display:grid;place-items:center;border:var(--border-pixel);border-radius:var(--r-md)}.hb-factory-screen-letter{color:var(--ink);font-family:var(--font-pixel);font-size:22px}.hb-factory-name{overflow:hidden;color:var(--ink);font-weight:800;font-size:var(--t-small-size);line-height:1.25;text-overflow:ellipsis}.hb-factory-foot{display:grid;min-height:30px;align-content:center;justify-items:center;gap:7px}.hb-factory-bots{display:flex;flex-wrap:wrap;justify-content:center;row-gap:4px}.hb-factory-bot{width:30px;height:30px;display:grid;place-items:center;padding:0;border:2px solid var(--ink);border-radius:var(--r-md);background:var(--paper-3);box-shadow:var(--shadow-pixel-sm)}.hb-factory-bot:not(:first-child){margin-left:-8px}.hb-factory-bot.is-working{animation:hb-bob 2s var(--ease-step) infinite}@keyframes hb-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.hb-factory-bot.is-open{box-shadow:var(--shadow-glow-brand)}.hb-factory-bot-face{width:18px;height:18px;display:block;border:2px solid var(--ink);border-radius:var(--r-md);box-shadow:inset 5px 5px #ffffff73}.hb-factory-machine .hb-play-button-chip{width:100%}.hb-factory-logbook-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:var(--border-pixel);border-radius:var(--r-pill);background:var(--paper-2);box-shadow:var(--shadow-pixel-sm);color:var(--ink);font-weight:800}.hb-factory-logbook-count{min-width:18px;height:18px;display:inline-grid;place-items:center;padding:0 5px;border-radius:var(--r-pill);background:var(--ink);color:var(--paper-2);font-size:11px}.hb-factory-logpanel{min-width:0;max-height:clamp(240px,60vh,560px);display:flex;flex-direction:column;overflow:hidden;border:var(--border-pixel);border-radius:var(--r-lg);background:var(--paper-2);box-shadow:var(--shadow-pixel)}.hb-factory-logpanel-head{display:flex;align-items:center;gap:var(--s-1);padding:var(--s-1\.5) var(--s-2);border-bottom:var(--border-pixel);background:var(--paper-3)}.hb-factory-logpanel-head strong{flex:1;min-width:0;display:inline-flex;align-items:center;gap:var(--s-0\.5);overflow:hidden;font-size:var(--t-small-size);text-overflow:ellipsis;white-space:nowrap}.hb-factory-logpanel-close{width:28px;height:28px;display:grid;place-items:center;padding:0;border:2px solid var(--ink);border-radius:var(--r-md);background:var(--paper-2);box-shadow:var(--shadow-pixel-sm)}.hb-factory-logpanel-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(116px,.7fr) minmax(0,1.3fr)}.hb-factory-chapters{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:5px;overflow:auto;padding:var(--s-1\.5);border-right:var(--border-pixel);background:var(--paper-3)}.hb-factory-chapter{display:flex;align-items:center;gap:6px;padding:6px 8px;border:2px solid var(--ink);border-radius:var(--r-md);background:var(--paper-2);box-shadow:var(--shadow-pixel-sm);color:var(--ink);text-align:left}.hb-factory-chapter.is-selected{background:var(--ink);color:var(--paper-2)}.hb-factory-swatch{width:12px;height:12px;flex:none;border:2px solid var(--ink);border-radius:var(--r-sm)}.hb-factory-chapter-name{flex:1;min-width:0;overflow:hidden;font-size:var(--t-small-size);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.hb-factory-chapter-count{flex:none;color:var(--ink-64);font-size:11px}.hb-factory-chapter.is-selected .hb-factory-chapter-count{color:var(--paper-2)}.hb-factory-detail{min-width:0;display:grid;align-content:start;gap:var(--s-1);overflow:auto;padding:var(--s-1\.5)}.hb-factory-detail-head{position:sticky;top:0;margin:0;padding-bottom:4px;background:var(--paper-2);font-weight:800;font-size:var(--t-small-size)}.hb-factory-logsteps{display:grid;gap:6px}.hb-step{display:flex;align-items:center;gap:var(--s-1);padding:var(--s-1);border:var(--border-hairline);border-radius:var(--r-md);background:var(--paper-2);font-size:var(--t-small-size)}.hb-step-grow{flex:1;min-width:0;overflow:hidden;color:var(--ink-64);text-overflow:ellipsis;white-space:nowrap}.hb-tool-status{flex:none;padding:2px 8px;border-radius:var(--r-pill);background:var(--ink-06);font-size:var(--t-small-size)}.hb-tool-status-running{background:var(--info-wash)}.hb-tool-status-completed{background:var(--success-wash)}.hb-tool-status-failed{background:var(--danger-wash)}.hb-handbook,.hb-progress-overlay{width:min(760px,100%);max-height:calc(100vh - var(--s-6));display:grid;gap:var(--s-3);overflow:auto;padding:var(--s-3)}.hb-handbook-reach{margin-top:var(--s-0\.5);color:var(--ink-64);font-size:var(--t-small-size)}.hb-handbook-count{padding:var(--s-0\.5) var(--s-1);border-radius:var(--r-pill);background:var(--brand-wash);color:var(--brand-ink);font-family:var(--font-pixel);font-size:10px}.hb-handbook-arcs{display:grid;gap:var(--s-3)}.hb-handbook-arc h3{margin-bottom:var(--s-1);font-size:var(--t-body-size)}.hb-handbook-skills{display:grid;gap:var(--s-1);margin:0;padding:0;list-style:none}.hb-handbook-skill{display:flex;align-items:center;gap:var(--s-1);padding:var(--s-1) var(--s-1\.5);border-radius:var(--r-md);background:var(--paper-3);opacity:.72}.hb-handbook-skill[data-done=true]{background:var(--success-wash);opacity:1}.hb-handbook-skill-label{flex:1;min-width:0}.hb-handbook-skill-state{flex:none;color:var(--ink-64);font-size:var(--t-small-size)}.hb-handbook-skill[data-mastery=fluent] .hb-handbook-skill-state{color:var(--success);font-weight:800}.hb-handbook-memory{padding:var(--s-2);border-radius:var(--r-lg);background:var(--brand-wash)}.hb-markdown-summary{display:grid;gap:var(--s-0\.5);color:var(--ink-2);font-size:var(--t-small-size)}.hb-markdown-summary p,.hb-markdown-summary ul{margin:0}.hb-markdown-summary ul{padding-left:var(--s-2)}.hb-settings{width:min(1040px,100%);height:min(760px,calc(100vh - var(--s-6)));max-height:calc(100vh - var(--s-6));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;padding:0}.hb-settings-head{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-bottom:var(--border-hairline);background:var(--paper-2)}.hb-settings-title-wrap{flex:1;min-width:0;display:flex;align-items:baseline;gap:var(--s-2)}.hb-settings-title-wrap p{margin-left:auto;color:var(--ink-64);font-size:var(--t-small-size)}.hb-settings-title,.hb-progress-overlay-title{display:flex;align-items:center;gap:var(--s-1)}.hb-settings-title .hb-icon,.hb-progress-overlay-title .hb-icon{color:var(--brand)}.hb-settings-layout{min-height:0;display:grid;grid-template-columns:230px minmax(0,1fr);overflow:hidden}.hb-settings-sidebar{min-height:0;display:flex;flex-direction:column;gap:var(--s-0\.5);overflow-y:auto;padding:var(--s-2);border-right:var(--border-hairline);background:var(--paper-2)}.hb-settings-tab{min-height:44px;display:flex;align-items:center;gap:var(--s-1);width:100%;border:0;border-radius:var(--r-lg);padding:0 var(--s-1\.5);background:transparent;color:var(--ink-2);font-weight:800;text-align:left;white-space:nowrap}.hb-settings-tab[aria-selected=true]{background:var(--brand);color:var(--paper-3);box-shadow:var(--shadow-pixel)}.hb-settings-content{min-height:0;overflow-y:auto;padding:var(--s-3)}.hb-settings-panel{display:grid;gap:var(--s-2)}.hb-settings-panel-intro{display:grid;gap:var(--s-0\.5)}.hb-settings-panel-intro p{max-width:64ch;color:var(--ink-64);font-size:var(--t-small-size)}.hb-settings-subhead{display:flex;align-items:center;gap:var(--s-0\.5);margin-top:var(--s-1);color:var(--ink-64);font-family:var(--font-pixel);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.hb-settings-action-list{display:grid;gap:var(--s-1\.5)}.hb-settings-action-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s-1\.5);padding:var(--s-1\.5) var(--s-2);border:var(--border-hairline);border-radius:var(--r-lg);background:var(--paper-3)}.hb-settings-action-icon{width:20px;height:20px;color:var(--brand)}.hb-settings-action-copy{min-width:0;display:grid;gap:2px}.hb-settings-action-copy span{color:var(--ink-64);font-size:var(--t-small-size)}.hb-settings-action-control{min-width:0;display:flex;justify-content:flex-end}.hb-settings-reset-row{align-items:start}.hb-settings-reset-row .hb-reset-conversation{min-width:min(300px,100%)}.hb-speed-control,.hb-reset-confirm{display:grid;gap:var(--s-1);padding:var(--s-1\.5);border:var(--border-hairline);border-radius:var(--r-lg);background:var(--paper-3)}.hb-speed-control-head,.hb-speed-control-ends,.hb-reset-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--s-1)}.hb-speed-control-head label,.hb-speed-control-value{font-weight:800}.hb-speed-control-value{color:var(--brand-ink)}.hb-speed-slider{width:100%;margin:0;accent-color:var(--brand)}.hb-speed-control-ends{color:var(--ink-64);font-size:var(--t-small-size)}.hb-reset-conversation{display:grid;gap:var(--s-1)}.hb-reset-confirm{min-inline-size:0;margin:0}.hb-reset-confirm legend{padding:0;font-weight:800}.hb-reset-kept{color:var(--ink-64)}.hb-reset-actions{flex-wrap:wrap}.hb-reset-actions .hb-button{flex:1 1 150px}.hb-progress-overlay-head{justify-content:space-between}.hb-progress-window{display:grid;gap:var(--s-1);padding:var(--s-2);border-radius:var(--r-md);background:var(--paper-3)}.hb-progress-heading,.hb-progress-summary,.hb-progress-empty{margin:0}.hb-progress-summary,.hb-progress-empty{color:var(--ink-64);font-size:var(--t-small-size)}.hb-progress-arcs{display:grid;gap:var(--s-1\.5)}.hb-progress-arc h4,.hb-progress-roadmap h4,.hb-progress-memory h4{margin:0 0 var(--s-0\.5);color:var(--ink-3);font-size:var(--t-small-size);letter-spacing:.04em;text-transform:uppercase}.hb-progress-arc ul,.hb-progress-roadmap ul{display:grid;gap:var(--s-0\.5);margin:0;padding:0;list-style:none}.hb-progress-skill{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-1);font-size:var(--t-small-size)}.hb-progress-skill-state{flex:none;color:var(--ink-64)}.hb-progress-skill[data-mastery=fluent] .hb-progress-skill-state{color:var(--success);font-weight:800}.hb-progress-roadmap li{color:var(--ink-2);font-size:var(--t-small-size)}@media(prefers-reduced-motion:reduce){.hb-factory-bot.is-working,.hb-factory-button[data-working=true] .hb-factory-badge{animation:none}}@media(max-width:920px){.hb-header-actions{justify-content:flex-start;width:100%}.hb-workspace-title-row{align-items:flex-start}.hb-service-note{flex-wrap:wrap}}@media(max-width:760px){.hb-activity-chip{align-items:stretch;flex-direction:column}.hb-activity-actions{flex-wrap:wrap}.hb-factory-body.is-open,.hb-factory-logpanel-body,.hb-settings-layout{grid-template-columns:minmax(0,1fr)}.hb-factory-logpanel-body{grid-template-rows:auto minmax(0,1fr)}.hb-factory-chapters{max-height:180px;border-right:0;border-bottom:var(--border-pixel)}.hb-settings-action-row{grid-template-columns:auto minmax(0,1fr)}.hb-settings-action-control{grid-column:1 / -1;justify-content:stretch}.hb-settings-action-control .hb-button,.hb-settings-action-control .hb-reset-conversation{width:100%}}@media(max-width:680px){.hb-handbook-backdrop,.hb-factory-backdrop,.hb-camera-backdrop,.hb-reconnect-backdrop{padding:var(--s-1)}.hb-settings{width:100%;height:calc(100vh - var(--s-2));max-height:calc(100vh - var(--s-2))}.hb-settings-head{align-items:flex-start;flex-wrap:wrap;padding:var(--s-1\.5) var(--s-2)}.hb-settings-title-wrap{width:100%;flex-wrap:wrap;gap:var(--s-0\.5) var(--s-1)}.hb-settings-title-wrap p{width:100%;margin-left:0}.hb-settings-sidebar{min-width:0;flex-direction:row;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:var(--border-hairline)}.hb-settings-tab{width:auto;flex:0 0 auto}.hb-settings-content{padding:var(--s-2)}.hb-profile-form{grid-template-columns:minmax(0,1fr)}.hb-progress-overlay-head,.hb-handbook-head,.hb-factory-head{align-items:flex-start;flex-direction:column}}
