.chat-page{padding-block:var(--space-6)0}.chat-page>.chat-header,.chat-page>.chat{max-width:780px;margin-inline:auto}.chat{padding:var(--space-5);border:2px solid transparent;border-radius:var(--radius-card);background:linear-gradient(var(--ashes-surface),var(--ashes-surface))padding-box,var(--ashes-gradient)border-box}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.chat-header .eyebrow{margin:0}.chat-header h1{margin:2px 0 0;font-size:clamp(1.5rem,1.1rem + 1.4vw,1.75rem);letter-spacing:-.02em;text-wrap:balance}.chat-new{flex:none;padding-block:calc(var(--space-2) - 1px)}.chat-new .icon{width:16px;height:16px}.chat-save{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)var(--space-5);margin-bottom:var(--space-5);padding:var(--space-4)var(--space-5);background:var(--ashes-surface-soft);border-radius:14px}.chat-save[hidden]{display:none}.chat-save__title{margin:0;font-size:var(--text-small);font-weight:700}.chat-save__note{margin:2px 0 0;font-size:var(--text-caption);color:var(--ashes-text-muted);max-width:34rem}.chat-save__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chat-save__actions .button{min-height:40px;padding-block:var(--space-1)}.chat-log{display:flex;flex-direction:column;gap:var(--space-5);min-height:14rem;margin-bottom:var(--space-4)}.chat-bubble{display:flex;gap:var(--space-3);align-items:flex-start;max-width:100%}.chat-bubble__body{flex:1;min-width:0}.chat-bubble--user{display:block;align-self:flex-end;max-width:520px;padding:var(--space-3)var(--space-4);color:var(--action-foreground);background:var(--action-background);border-radius:20px 20px 6px 20px}.chat-bubble--bot .chat-answer>p:first-child{padding-top:6px}.chat-bubble--error .chat-answer{padding:var(--space-3)var(--space-4);background:var(--ashes-surface);border:1px solid var(--ashes-border-strong);border-radius:14px}.chat-bubble--error .chat-answer>p:first-child{padding-top:0}.chat-avatar{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(90deg,var(--ashes-gold) 50%,var(--ashes-blue) 50%)}.chat-avatar::after{content:"";width:18px;height:18px;background:var(--ashes-ink);-webkit-mask:var(--check)center/contain no-repeat;mask:var(--check)center/contain no-repeat;--check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 4 10-10'/%3E%3C/svg%3E")}.chat-answer>:first-child{margin-top:0}.chat-answer>:last-child{margin-bottom:0}.chat-answer p{margin:0 0 var(--space-3);overflow-wrap:anywhere}.chat-answer ul{margin:0 0 var(--space-3);padding-left:1.25rem}.chat-answer strong{font-weight:700}.chat-table-wrap{margin:var(--space-3)0;overflow-x:auto;background:var(--ashes-surface);border:1px solid var(--ashes-border);border-radius:12px}.chat-table{width:100%;border-collapse:collapse;font-size:var(--text-small);font-variant-numeric:tabular-nums}.chat-table th,.chat-table td{padding:var(--space-2)var(--space-3);text-align:left;white-space:nowrap;border-bottom:1px solid var(--ashes-border)}.chat-table th{font-size:var(--text-caption);font-weight:600;background:var(--ashes-surface-soft)}.chat-table tr:last-child td{border-bottom:0}.chat-table .record-number{text-align:right}.chat-feedback{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.chat-fb{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;color:var(--ashes-ink);background:var(--ashes-surface);border:1px solid var(--ashes-border-strong);border-radius:12px;transition:background var(--motion-fast)}.chat-fb:hover{background:var(--ashes-surface-soft)}.chat-fb__icon{width:20px;height:20px;background:currentColor;-webkit-mask:var(--thumb)center/contain no-repeat;mask:var(--thumb)center/contain no-repeat}.chat-fb--good{--thumb:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10v12'/%3E%3Cpath d='M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z'/%3E%3C/svg%3E")}.chat-fb--bad{--thumb:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 14V2'/%3E%3Cpath d='M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z'/%3E%3C/svg%3E")}.chat-fb-done{display:inline-block;padding:var(--space-3)0;font-size:var(--text-small);color:var(--ashes-text-muted)}.chat-retry{margin-top:var(--space-1)}.chat-starters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.chat-starters__label{font-size:var(--text-small);color:var(--ashes-text-muted);margin-right:var(--space-1)}.chat .chip{cursor:pointer}.chat-loading{min-height:32px;margin-bottom:var(--space-2)}.chat-form{position:sticky;bottom:var(--space-3);z-index:2;display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:6px 6px 6px var(--space-5);border:2px solid transparent;border-radius:999px;box-shadow:0 12px 32px rgb(23 28 34/6%);background:linear-gradient(var(--ashes-surface),var(--ashes-surface))padding-box,var(--ashes-gradient)border-box}.chat-form input[type=text]{flex:1;min-width:0;min-height:46px;padding:0;font-size:1rem;text-overflow:ellipsis;background:0 0;border:0}.chat-form input[type=text]:focus-visible{outline:none;box-shadow:none}.chat-form:focus-within{border-width:4px;padding:4px 4px 4px calc(var(--space-5) - 2px)}.chat-send{flex:none;display:grid;place-items:center;width:46px;height:46px;padding:0;color:var(--action-foreground);background:var(--action-background);border:0;border-radius:50%;cursor:pointer;transition:background var(--motion-fast)}.chat-send:hover{background:#30363d}.chat-send:disabled{background:var(--ashes-text-muted);cursor:progress}.chat-send .icon{width:20px;height:20px}.chat-caution{margin:var(--space-3)0 0;text-align:center;font-size:var(--text-caption);color:var(--ashes-text-muted)}@media(max-width:560px){.chat-page{padding-block:var(--space-4)0}.chat{padding:var(--space-3)}.chat-header{margin-bottom:var(--space-3)}.chat-header h1{font-size:1.125rem}.chat-save{padding:var(--space-3)var(--space-4)}.chat-save__actions{width:100%}.chat-save__actions .button{flex:1}.chat-new{width:44px;min-height:44px;padding:0}.chat-new__label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.chat-log{gap:var(--space-4)}.chat-avatar{width:30px;height:30px}.chat-avatar::after{width:15px;height:15px}.chat-bubble--user{max-width:82%;padding:11px 16px;font-size:var(--text-small);border-radius:18px 18px 5px 18px}.chat-answer{font-size:var(--text-small)}.chat-table th,.chat-table td{padding:var(--space-2)}.chat-starters{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--space-3) * -1);padding-inline:var(--space-3)}.chat-starters .chip{flex:none;white-space:nowrap}.chat-starters__label{display:none}.chat-form{bottom:var(--space-2);padding-left:var(--space-4)}.chat-send{width:44px;height:44px}.chat-caution{font-size:11px}}.chat-dialog{width:min(440px,calc(100% - 2 * var(--space-4)));padding:var(--space-5);color:var(--ashes-ink);border:2px solid transparent;border-radius:var(--radius-card);background:linear-gradient(var(--ashes-surface),var(--ashes-surface))padding-box,var(--ashes-gradient)border-box;box-shadow:0 24px 60px rgb(23 28 34/.25)}.chat-dialog::backdrop{background:rgb(23 28 34/.55)}.chat-dialog__title{margin:0;font-size:1.25rem}.chat-dialog__text{margin:0;font-size:var(--text-small);color:var(--ashes-text-muted)}.chat-match{font-weight:600;color:var(--ashes-ink)}.chat-chip{display:inline-block;padding:2px var(--space-3);font-size:var(--text-caption);font-weight:700;letter-spacing:.04em;color:var(--ashes-ink);border-radius:var(--radius-pill);background:var(--ashes-surface-soft);border:1px solid var(--ashes-border)}.chat-chip--australia{background:var(--ashes-gold-tint);border-color:var(--ashes-gold)}.chat-chip--england{background:var(--ashes-blue-tint);border-color:var(--ashes-blue)}.chat-bubble--user{position:relative;margin-bottom:26px}.chat-copy{position:absolute;right:4px;top:100%;margin-top:4px;display:grid;place-items:center;width:24px;height:24px;padding:0;color:var(--ashes-text-muted);background:0 0;border:0;border-radius:6px;cursor:pointer;opacity:.75}.chat-copy:hover,.chat-copy:focus-visible{opacity:1;background:var(--ashes-surface-soft)}.chat-copy__icon{width:16px;height:16px;background:currentColor;-webkit-mask:var(--copy-icon)center/contain no-repeat;mask:var(--copy-icon)center/contain no-repeat;--copy-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='14' height='14' x='8' y='8' rx='2'/%3E%3Cpath d='M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2'/%3E%3C/svg%3E")}.chat-copy.is-done .chat-copy__icon{--copy-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}@property --trace{syntax: "<angle>"; inherits: false; initial-value: 360deg; }@keyframes trace-border{from{--trace:0deg}to{--trace:360deg}}.field{--trace:360deg;display:block;width:100%;min-height:48px;padding:calc(var(--space-3) - 2px)var(--space-4);font-size:1rem;line-height:1.5;color:var(--ashes-ink);border:2px solid transparent;border-radius:var(--radius-control);background:linear-gradient(var(--ashes-surface),var(--ashes-surface))padding-box,conic-gradient(from 0,transparent 0 var(--trace),var(--ashes-border) var(--trace) 360deg)border-box,var(--ashes-gradient)border-box}textarea.field{min-height:9rem;resize:vertical}.field:focus-visible{border-width:3px;padding:calc(var(--space-3) - 3px)calc(var(--space-4) - 1px)}select.field:focus-visible{padding-right:calc(var(--space-7) - 1px)}.field::placeholder{color:var(--ashes-text-muted);opacity:1}.field:disabled{color:var(--ashes-text-muted);background:linear-gradient(var(--ashes-surface-soft),var(--ashes-surface-soft))padding-box,var(--ashes-border-strong)border-box;cursor:not-allowed}select.field{appearance:none;padding-right:var(--space-7);background-image:linear-gradient(var(--ashes-surface),var(--ashes-surface)),var(--ashes-gradient),linear-gradient(45deg,transparent 50%,var(--ashes-ink) 50%),linear-gradient(135deg,var(--ashes-ink) 50%,transparent 50%);background-origin:padding-box,border-box,padding-box,padding-box;background-clip:padding-box,border-box,padding-box,padding-box;background-position:0 0,0 0,calc(100% - 20px)55%,calc(100% - 14px)55%;background-size:100% 100%,100% 100%,6px 6px,6px 6px;background-repeat:no-repeat}.form{display:grid;gap:var(--space-5)}.form__row{display:grid;align-content:start;gap:var(--space-2)}.form__row label{font-size:var(--text-small);font-weight:600}.form__hint{margin:0;font-size:var(--text-caption);color:var(--ashes-text-muted)}.form__optional{font-weight:400;color:var(--ashes-text-muted)}.form__split{display:grid;align-items:start;gap:var(--space-5)}@media(min-width:700px){.form__split{grid-template-columns:1fr 1fr}}.form__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-4)}.form__actions .htmx-indicator{order:-1}.form__counter{margin:0;font-size:var(--text-caption);color:var(--ashes-text-muted)}.field[aria-invalid=true]{outline:2px solid var(--ashes-red);outline-offset:2px}.form__trap{position:absolute;left:-1e4px;top:auto;width:1px;height:1px;overflow:hidden}.form-note{margin:0;padding:var(--space-3)var(--space-4);font-size:var(--text-small);font-weight:500;border-left:4px solid;border-radius:0 var(--radius-control)var(--radius-control)0;background:var(--ashes-surface-soft)}.form-note--ok{border-color:var(--ashes-green)}.form-note--error{border-color:var(--ashes-red)}@media(prefers-reduced-motion:no-preference){input.field:focus,textarea.field:focus{animation:trace-border .8s cubic-bezier(.4,0,.2,1)1}}