:root{color-scheme:dark;--bg-0: #06070b;--bg-1: #0b0e15;--bg-2: #111722;--bg-sidebar: #080a10;--line: rgba(148, 163, 184, .12);--text: #dce2ec;--muted: #8b95ad;--accent: #82b5a4;--accent-2: #6d7bff;--accent-2-deep: #4f5dff;--accent-deep: #618f80;--danger: #ff5d73;--danger-deep: #d9485f;--on-accent: #0c1612;--on-danger: #fff7f8;--glow: rgba(109, 123, 255, .08);--hover: rgba(255, 255, 255, .04);--wash: rgba(255, 255, 255, .02);--input-bg: rgba(6, 7, 11, .7);--card: linear-gradient(180deg, rgba(17, 23, 34, .88), rgba(11, 14, 21, .92));--panel: linear-gradient(180deg, rgba(17, 23, 34, .55), rgba(8, 10, 16, .35));--overlay: rgba(4, 6, 10, .72);--chat-bg: #07090f;--chat-user: color-mix(in srgb, var(--accent-2) 18%, #0c111c);--chat-assistant: rgba(255, 255, 255, .03);--code-bg: rgba(0, 0, 0, .35);--table-bg: rgba(0, 0, 0, .28);--table-head: rgba(255, 255, 255, .08);--table-stripe: rgba(255, 255, 255, .04);--sidebar-wash: rgba(130, 181, 164, .06);--orb-a: rgba(109, 123, 255, .28);--orb-b: rgba(130, 181, 164, .14);--grid-line: rgba(148, 163, 184, .06);--shadow: 0 24px 80px rgba(0, 0, 0, .45);--logo: url(/hypercube.svg);--sidebar: 260px;--font: "Outfit", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace}html[data-theme=light]{color-scheme:light;--bg-0: #e8edf5;--bg-1: #f5f7fb;--bg-2: #ffffff;--bg-sidebar: #fbfcfe;--line: rgba(15, 23, 42, .12);--text: #121826;--muted: #5c667a;--accent: #0a7a58;--accent-2: #3a46d4;--accent-2-deep: #2c36b8;--accent-deep: #086348;--danger: #c81e3a;--danger-deep: #a81830;--on-accent: #f4fffb;--on-danger: #fff7f8;--glow: rgba(58, 70, 212, .12);--hover: rgba(15, 23, 42, .05);--wash: rgba(15, 23, 42, .03);--input-bg: rgba(255, 255, 255, .92);--card: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(245, 247, 251, .98));--panel: linear-gradient(180deg, rgba(255, 255, 255, .72), rgba(232, 237, 245, .48));--overlay: rgba(15, 23, 42, .42);--chat-bg: #ffffff;--chat-user: color-mix(in srgb, var(--accent-2) 12%, #ffffff);--chat-assistant: rgba(15, 23, 42, .04);--code-bg: rgba(15, 23, 42, .06);--table-bg: rgba(15, 23, 42, .04);--table-head: rgba(15, 23, 42, .06);--table-stripe: rgba(15, 23, 42, .03);--sidebar-wash: rgba(10, 122, 88, .08);--orb-a: rgba(58, 70, 212, .22);--orb-b: rgba(10, 122, 88, .16);--grid-line: rgba(15, 23, 42, .08);--shadow: 0 24px 80px rgba(15, 23, 42, .1);--logo: url(/hypercube-dark.svg)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;background-color:var(--bg-0)}body{margin:0;color:var(--text);background:radial-gradient(1200px 500px at 80% -10%,var(--glow),transparent 50%),var(--bg-0);font-family:var(--font);-webkit-font-smoothing:antialiased}h1,h2,h3,strong{font-weight:600}h1,h2,p{margin:0}code{font-family:var(--mono);font-size:.86em;color:var(--accent)}button,input{font:inherit}.eyebrow{margin:0;color:var(--accent);font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}.brand-logo{display:block;width:64px;height:64px;flex:none;background:var(--logo) center / contain no-repeat}.brand-logo--sm{width:40px;height:40px}.brand-mark{width:64px;height:72px;display:grid;place-items:center;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(160deg,var(--accent),var(--accent-2));color:var(--on-accent);font-weight:700;letter-spacing:-.05em}.brand-mark--sm{width:40px;height:44px;font-size:.85rem}.field{display:grid;gap:8px;margin-bottom:16px}.field span{color:var(--muted);font-size:.82rem}.field input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--input-bg);color:var(--text);outline:none}.field input:focus{border-color:color-mix(in srgb,var(--accent) 60%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.field input.ng-touched.ng-invalid{border-color:color-mix(in srgb,var(--danger) 70%,var(--line))}.btn-primary,.ghost-btn{border:0;cursor:pointer}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:var(--on-accent);font-weight:600;text-decoration:none}.btn-primary:disabled,.btn-danger:disabled{opacity:.65;cursor:wait}.btn-danger{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--danger),var(--danger-deep));color:var(--on-danger);font-weight:600;cursor:pointer}.modal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.modal-copy{margin:0 0 20px;color:var(--muted)}.ghost-btn{padding:8px 10px;border-radius:10px;background:transparent;color:var(--muted)}.ghost-btn:hover{color:var(--text);background:var(--hover)}.form-error{margin:0 0 12px;color:var(--danger);font-size:.9rem}.page__head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.page__head h1{margin-top:6px;font-size:clamp(2rem,4vw,2.7rem);letter-spacing:-.05em}.page__lede{max-width:28rem;color:var(--muted)}.card{padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--card)}@media(max-width:720px){.page__head{flex-direction:column;align-items:start}}@keyframes chat-work-spin{to{transform:rotate(360deg)}}@keyframes chat-work-pulse{50%{opacity:.4}}.bubble__spin{display:block;width:14px;height:14px;border:2px solid color-mix(in srgb,var(--accent) 28%,transparent);border-top-color:var(--accent);border-radius:50%;animation:chat-work-spin .7s linear infinite}.bubble__upload{display:block;width:16px;height:16px;flex:none;color:var(--accent)}.bubble__upload svg{display:block;width:16px;height:16px;overflow:visible}.bubble__upload-arrow{transform-box:fill-box;transform-origin:center;animation:bubble-upload 1.15s ease-in-out infinite}.bubble__working-copy{animation:chat-work-pulse 1.2s ease-in-out infinite}@keyframes bubble-upload{0%{transform:translateY(3px);opacity:.25}40%{transform:translateY(0);opacity:1}to{transform:translateY(-5px);opacity:0}}.chat-window .bubble :is(p,ul,ol,pre,blockquote,h1,h2,h3,h4,.md-table){margin:0 0 .7em;overflow-wrap:anywhere;line-height:1.55}.chat-window .bubble :is(p,ul,ol,pre,blockquote,h1,h2,h3,h4,.md-table):last-child{margin-bottom:0}.chat-window .bubble :is(h1,h2,h3,h4){font-size:1em;letter-spacing:-.02em}.chat-window .bubble ul,.chat-window .bubble ol{padding-left:1.2em}.chat-window .bubble a{color:var(--accent)}.chat-window .bubble pre{overflow:auto;padding:10px 12px;border-radius:10px;background:var(--code-bg)}.chat-window .bubble :is(code,pre){font-family:var(--mono);font-size:.82em}.chat-window .bubble .md-table{overflow-x:auto;max-width:100%;border:1px solid color-mix(in srgb,var(--muted) 38%,transparent);border-radius:10px;background:var(--table-bg)}.chat-window .bubble table{width:100%;min-width:max-content;border-collapse:collapse;font-size:.88em}.chat-window .bubble th,.chat-window .bubble td{padding:8px 10px;border-right:1px solid color-mix(in srgb,var(--muted) 38%,transparent);border-bottom:1px solid color-mix(in srgb,var(--muted) 38%,transparent);text-align:left;vertical-align:top;overflow-wrap:anywhere}.chat-window .bubble :is(th,td):last-child{border-right:0}.chat-window .bubble tbody tr:last-child :is(th,td){border-bottom:0}.chat-window .bubble th{background:var(--table-head);font-weight:600}.chat-window .bubble tbody tr:nth-child(2n){background:var(--table-stripe)}.chat-window .bubble :is(th,td)[align=center]{text-align:center}.chat-window .bubble :is(th,td)[align=right]{text-align:right}.chat-window__actions{display:flex;align-items:center;gap:8px;margin-left:auto}
