@font-face{font-family:'ASG Outfit';src:url('/fonts/asg-outfit.ttf') format('truetype');font-weight:100 900;font-display:swap}
/* Theme.swift: Outfit, ink on white, quiet washes, continuous corners. */
.asg-joris{--ink:#111;--canvas:#fff;--card:#fff;--muted:#11111194;--faint:#1111116b;--line:#11111114;--wash:#1111110f;position:fixed;inset:0;z-index:2147483500;display:flex;flex-direction:column;isolation:isolate;overflow:hidden;background:var(--canvas);color:var(--ink);font:400 16px/1.45 'ASG Outfit','SF Pro Display',-apple-system,sans-serif;animation:j-open .3s cubic-bezier(.16,1,.3,1)}html[data-asg-theme=dark] .asg-joris{--ink:#f2f1ee;--canvas:#101010;--card:#191918;--muted:#f2f1ee94;--faint:#f2f1ee6b;--line:#ffffff1a;--wash:#f2f1ee0f}.asg-joris[hidden]{display:none!important}body.asg-joris-full{overflow:hidden}body.asg-joris-full #asgc-fab{visibility:hidden!important}.asg-joris *{box-sizing:border-box}.asg-joris :is(h1,h2,h3,p){margin:0;font-family:inherit;color:inherit}.asg-joris :is(button,input,textarea,select){font-family:inherit;color:inherit}.asg-joris button{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:14px;font-weight:700;line-height:1.3;transition:background .18s,transform .18s}.asg-joris button:hover{background:var(--wash)}.asg-joris button:active{transform:scale(.97)}.asg-joris button:disabled{opacity:.4;cursor:wait}.asg-joris :is(button,input,textarea,select):focus-visible{outline:2px solid #EF6F49;outline-offset:3px}.joris-face{display:block;object-fit:contain;flex-shrink:0;border-radius:0;background:none}.joris-icon{display:inline-flex;width:18px;height:18px;flex-shrink:0}.joris-icon svg{width:100%;height:100%}.joris-glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 75% 0%,#ef6f490b,transparent 50%),radial-gradient(ellipse at 15% 100%,#5db89e08,transparent 45%);pointer-events:none}.joris-header{display:flex;align-items:center;gap:16px;padding:16px 22px;padding-top:max(16px,env(safe-area-inset-top));background:var(--canvas);border-bottom:1px solid var(--line)}.joris-controls{display:flex;gap:8px}.joris-controls button,.joris-header>[data-history]{width:40px;min-height:40px;height:40px;padding:0;border:0;background:var(--wash)}.joris-brand{display:grid;grid-template-columns:36px 1fr;column-gap:10px;line-height:1.25;flex:1}.joris-brand .joris-face{grid-row:1/3;align-self:center}.joris-brand strong{font-size:17px;font-weight:700;letter-spacing:-.2px}.joris-brand small{font-size:13px;font-weight:500;color:var(--muted);margin-top:2px}.joris-layout{display:flex;flex:1;min-height:0}.joris-sidebar{width:250px;flex-shrink:0;padding:22px 16px;border-right:1px solid var(--line);background:var(--canvas);overflow:auto}.joris-sidebar [data-history-actions]{display:flex;gap:8px;flex-wrap:wrap}.joris-sidebar [data-history-actions] button{background:var(--ink);color:var(--canvas);border:0}.joris-sidebar [data-history-actions] button:last-child{background:transparent;color:var(--muted);font-size:12px;padding:8px}.joris-sidebar nav{display:grid;gap:6px;margin:24px 0}.joris-sidebar nav button{display:block;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:0;background:transparent;border-radius:14px;font-size:14px;font-weight:500}.joris-sidebar nav button.selected{background:var(--wash);font-weight:700}.joris-sidebar>small{display:block;color:var(--faint);font-size:12px;line-height:1.4}.joris-main{display:flex;flex-direction:column;flex:1;min-width:0;height:100%;max-width:850px;margin:0 auto;padding:10px 22px}.joris-context{text-align:center;font-size:12px;color:var(--faint);padding:0 0 8px}.joris-transcript{flex:1;min-height:0;overflow:auto;padding:10px 0;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}.joris-transcript::before{content:'';flex:1 0 0}.joris-transcript>*{flex-shrink:0}.joris-welcome{padding:0 0 10px;animation:j-arrive .35s both}.joris-speech-row{display:flex;align-items:flex-start;gap:10px;padding-right:10px}.joris-speech-row>.joris-face{width:28px;height:28px;margin-top:2px}.joris-speech{flex:1;min-width:0;padding:12px 16px;border:1px solid var(--line);border-radius:6px 20px 20px 20px;background:var(--card);white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.45}.continuation .joris-face{visibility:hidden}.continuation .joris-speech{border-top-left-radius:20px}.joris-greeting h1{font-size:20px;font-weight:800;letter-spacing:-.3px;line-height:1.3;margin-bottom:3px}.joris-greeting p{font-size:16px}.joris-greeting .joris-face{animation:j-greet .65s ease-out 1}.joris-eyebrow{font-size:11.5px!important;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;color:var(--faint)!important;margin:16px 0 10px!important}.joris-starters,.joris-chips{display:flex;flex-wrap:wrap;gap:8px}.joris-starters button,.joris-chips button{min-height:36px;padding:8px 12px;font-size:14px;font-weight:700}.joris-starters .joris-icon{width:14px;height:14px}.joris-chips{margin-top:10px}.joris-message{width:100%;animation:j-arrive .2s both}.joris-message.user{align-self:flex-end;width:fit-content;max-width:calc(100% - 32px);padding:10px 16px;background:var(--ink);color:var(--canvas);border-radius:20px;font-weight:500}.joris-text{white-space:pre-wrap;overflow-wrap:anywhere}.joris-message>button{margin:10px 0 0 38px}.joris-composer{display:flex;align-items:flex-end;gap:6px;padding:4px 4px 4px 16px;background:var(--card);border:1px solid var(--line);border-radius:26px;flex-shrink:0;margin-top:6px}.joris-composer textarea{resize:none;flex:1;min-width:0;min-height:44px;max-height:132px;padding:11px 0;background:transparent;border:0;font:400 16px/1.4 'ASG Outfit',sans-serif}.joris-composer textarea::placeholder{color:var(--faint)}.joris-composer textarea:focus-visible{outline:none}.joris-composer:focus-within{border-color:var(--muted)}.joris-composer button{width:44px;min-height:44px;padding:0;background:var(--ink);color:var(--canvas);border:0}.joris-composer button:hover{background:var(--ink);opacity:.8}.joris-composer .joris-icon{width:22px;height:22px}.joris-footnote{font-size:11px!important;color:var(--faint)!important;text-align:center;padding:8px 0 2px}.joris-card{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:0 5px 18px #0000000f;margin:10px 0;overflow:hidden;padding:0 16px 16px}.joris-artifact-head{display:flex;align-items:center;gap:8px;margin:0 -16px 16px;padding:10px 16px;background:#1d4ed80d;border-bottom:1px solid var(--line);font-size:11.5px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase}.joris-artifact-head .joris-icon{color:#1D4ED8;padding:5px;background:#1d4ed821;width:24px;height:24px;border-radius:7px}.joris-card[data-kind=email] .joris-artifact-head{background:#b423180d}.joris-card[data-kind=email] .joris-icon{color:#B42318;background:#b4231821}.joris-card h3{font-size:20px;font-weight:800;letter-spacing:-.3px;margin-bottom:6px}.joris-card p{font-size:13px;color:var(--muted)}.joris-card pre{white-space:pre-wrap;overflow-wrap:anywhere;font:400 16px/1.45 'ASG Outfit',sans-serif;margin:16px 0}.joris-card>button,.joris-seller-flow>button[type=submit]{background:var(--ink);color:var(--canvas);border:0;width:100%;min-height:48px;font-size:16px}.joris-completed{border-top:1px solid var(--line);margin-top:12px!important;padding-top:12px;color:#1A7F37!important;font-weight:700}.joris-completed::before{content:'✓';display:inline-block;margin-right:8px}.joris-seller-flow{margin:0 10px 0 38px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:6px 20px 20px 20px}.joris-seller-flow h2{font-size:20px;font-weight:800;letter-spacing:-.3px;margin-bottom:16px}.joris-seller-flow input,.joris-seller-flow select{display:block;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--wash);font-size:16px;margin-bottom:12px}.joris-seller-flow>button:last-child{margin-top:8px;width:100%;border:0;background:transparent;color:var(--muted)}.joris-thinking .joris-speech{color:var(--muted);font-size:15px}.is-thinking .joris-brand .joris-face,.joris-thinking .joris-face{animation:j-work 1.5s ease-in-out infinite}.asg-joris .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#asgc-fab.joris-launcher{position:fixed;right:28px;bottom:28px;width:60px;height:60px;padding:8px!important;display:flex;align-items:center;justify-content:center;border:1px solid #11111114!important;border-radius:50%;background:#ffffffed!important;box-shadow:0 8px 28px #0000001a!important;backdrop-filter:blur(20px);z-index:2147483000;cursor:pointer}#asgc-fab.joris-launcher .joris-face{width:44px;height:44px}html[data-asg-theme=dark] #asgc-fab.joris-launcher{background:#191918ed!important;border-color:#ffffff1a!important}.asg-joris[data-mode=mini]{inset:auto 22px 22px auto;width:400px;height:min(560px,calc(100dvh - 40px));border:1px solid var(--line);border-radius:28px;box-shadow:0 18px 65px #00000029}.asg-joris[data-mode=mini] .joris-sidebar,.asg-joris[data-mode=mini] [data-history]{display:none}.asg-joris[data-mode=mini] .joris-header{padding:12px 16px;gap:10px}.asg-joris[data-mode=mini] .joris-controls{gap:6px}.asg-joris[data-mode=mini] .joris-controls button{width:32px;min-height:32px;height:32px}.asg-joris[data-mode=mini] .joris-brand{grid-template-columns:28px 1fr;column-gap:8px}.asg-joris[data-mode=mini] .joris-brand .joris-face{width:28px;height:28px}.asg-joris[data-mode=mini] .joris-brand small{font-size:11px}.asg-joris[data-mode=mini] .joris-main{padding:10px 16px}@keyframes j-open{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}@keyframes j-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes j-greet{0%,100%{transform:none}35%{transform:translateY(-5px) rotate(-6deg)}65%{transform:rotate(5deg)}}@keyframes j-work{50%{transform:translateY(-3px) rotate(4deg)}}@media(max-width:760px){.joris-header{padding:10px 16px;gap:10px}.joris-controls{gap:6px}.joris-brand small{font-size:12px}.joris-sidebar{display:none;position:absolute;inset:70px auto 0 0;z-index:2;width:250px;box-shadow:10px 0 40px #0000000f}.show-history .joris-sidebar{display:block}.joris-main{padding:10px 16px}.asg-joris[data-mode=mini]{width:min(400px,calc(100vw - 24px));right:12px;bottom:calc(12px + env(safe-area-inset-bottom));height:min(520px,calc(100dvh - 100px))}}@media(prefers-reduced-motion:reduce){.asg-joris,.asg-joris *{animation:none!important;scroll-behavior:auto!important}}

.asg-joris{background:color-mix(in srgb,var(--canvas) 86%,transparent);backdrop-filter:blur(28px)}.joris-sidebar{background:color-mix(in srgb,var(--canvas) 80%,transparent)}

/* Larger floating workspace on desktop; the mobile footprint stays within the viewport. */
@media(min-width:761px){.asg-joris[data-mode=mini]{width:520px;height:min(700px,calc(100dvh - 44px))}}
.joris-email-body{white-space:pre-wrap;overflow-wrap:anywhere;font:400 16px/1.45 'ASG Outfit',sans-serif;margin:16px 0;min-height:44px;border-radius:8px}.joris-email-body[contenteditable=plaintext-only]{cursor:text}.joris-email-body:focus{outline:2px solid #ef6f4980;outline-offset:6px}.joris-edit-hint{font-size:12px!important;color:var(--faint)!important;margin-top:10px!important}

textarea.joris-email-body{display:block;width:100%;resize:none;border:0;background:transparent;color:var(--ink);padding:0;overflow:hidden;cursor:text}


.joris-header .joris-new-button{width:40px;min-height:40px;height:40px;padding:0;border:0;background:var(--wash);flex-shrink:0}.asg-joris[data-mode=mini] .joris-new-button{width:32px;min-height:32px;height:32px}.joris-new-chat .joris-welcome{animation:joris-fresh-arrive .42s cubic-bezier(.16,1,.3,1) both}.joris-new-chat .joris-starters button{animation:joris-fresh-chip .4s cubic-bezier(.16,1,.3,1) both}.joris-new-chat .joris-starters button:nth-child(2){animation-delay:40ms}.joris-new-chat .joris-starters button:nth-child(3){animation-delay:80ms}.joris-new-chat .joris-starters button:nth-child(4){animation-delay:120ms}.joris-new-chat .joris-starters button:nth-child(5){animation-delay:160ms}@keyframes joris-fresh-arrive{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes joris-fresh-chip{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
