.diag{--diag-bg:#0a0907;--diag-panel:#14110d;--diag-text:#faf7f0;--diag-muted:#faf7f09e;--diag-line:#faf7f024;--diag-accent:var(--brand-yellow);--diag-accent-glow:color-mix(in srgb, var(--brand-yellow) 52%, #fff);--diag-accent-dark:color-mix(in srgb, var(--brand-yellow) 78%, #000);--diag-on-accent:#151004;background:var(--diag-bg);min-height:100dvh;color:var(--diag-text);font-family:var(--font-hub), Arial, sans-serif;-webkit-tap-highlight-color:transparent;flex-direction:column;font-size:16px;line-height:1.5;display:flex;position:relative;overflow-x:clip}.diag *,.diag :before,.diag :after{box-sizing:border-box}.diag a{color:inherit;text-decoration:none}.diag :focus-visible{outline:2px solid var(--diag-accent-glow);outline-offset:3px}.diag:before{content:"";pointer-events:none;background:radial-gradient(60% 70% at 50% 0%, color-mix(in srgb, var(--diag-accent) 26%, transparent), transparent 70%), radial-gradient(#faf7f017 1px, transparent 1.5px) 0 0 / 24px 24px;height:420px;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 30%,#0000);mask-image:linear-gradient(#000 30%,#0000)}.diag-header{width:100%;max-width:680px;padding:calc(18px + env(safe-area-inset-top)) max(20px, env(safe-area-inset-left)) 0;margin:0 auto;position:relative}.diag-back{letter-spacing:.12em;text-transform:uppercase;min-height:48px;color:var(--diag-muted);align-items:center;gap:8px;font-size:12px;font-weight:600;font-stretch:112%;display:inline-flex}.diag-title{letter-spacing:-.01em;text-transform:uppercase;margin:14px 0 0;font-size:clamp(30px,8.6vw,46px);font-weight:800;font-stretch:125%;line-height:.95}.diag-title span{display:block}.diag-silver{color:#f6f1ec}.diag-outline{color:var(--diag-accent)}@supports ((-webkit-background-clip:text) or (background-clip:text)){.diag-silver{background:linear-gradient(#fff 0%,#f6f1ec 45%,#b8afa6 100%);color:#0000;-webkit-background-clip:text;background-clip:text}}@supports (-webkit-text-stroke:1px #000){.diag-outline{color:#0000;-webkit-text-stroke:1.2px var(--diag-accent)}}.diag-subtitle{max-width:34ch;font-family:var(--font-hub-serif), Georgia, serif;color:color-mix(in srgb, var(--diag-accent) 70%, #fff);margin:14px 0 0;font-size:clamp(19px,5.2vw,24px);font-style:italic;line-height:1.18}.diag-chat{width:100%;max-width:680px;padding:22px max(20px, env(safe-area-inset-left)) 0;flex-direction:column;flex:1;margin:0 auto;display:flex;position:relative}.diag-progress{background:var(--diag-line);height:2px;overflow:hidden}.diag-progress span{background:var(--diag-accent);transform-origin:0;height:100%;transition:transform .5s cubic-bezier(.25,.1,.2,1);display:block}.diag-log{flex-direction:column;flex:1;gap:10px;padding:22px 0 28px;display:flex}.diag-bubble{border-radius:16px;max-width:86%;margin:0;padding:12px 16px;font-size:16px;line-height:1.45;animation:.35s cubic-bezier(.25,.1,.2,1) both diag-in}.diag-bubble--bot{border:1px solid var(--diag-line);background:var(--diag-panel);border-bottom-left-radius:4px;align-self:flex-start}.diag-bubble--user{background:linear-gradient(180deg, var(--diag-accent-glow), var(--diag-accent) 60%, var(--diag-accent-dark));color:var(--diag-on-accent);border-bottom-right-radius:4px;align-self:flex-end;font-weight:600}.diag-typing{align-items:center;gap:5px;display:inline-flex}.diag-typing span{background:var(--diag-muted);border-radius:50%;width:6px;height:6px;animation:1.1s ease-in-out infinite diag-dot}.diag-typing span:nth-child(2){animation-delay:.15s}.diag-typing span:nth-child(3){animation-delay:.3s}.diag-typing em{color:var(--diag-muted);margin-left:8px;font-size:14px;font-style:normal}.diag-composer{margin:0 calc(-1 * max(20px, env(safe-area-inset-left)));padding:14px max(20px, env(safe-area-inset-left)) calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--diag-line);background:color-mix(in srgb, var(--diag-bg) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;bottom:0}.diag-choices{flex-direction:column;gap:8px;margin-top:6px;animation:.35s cubic-bezier(.25,.1,.2,1) both diag-in;display:flex}.diag-choice{border:1px solid color-mix(in srgb, var(--diag-accent) 42%, transparent);background:color-mix(in srgb, var(--diag-accent) 7%, transparent);width:100%;min-height:52px;color:var(--diag-text);font:inherit;text-align:left;cursor:pointer;border-radius:10px;align-items:center;padding:10px 16px;font-size:15.5px;font-weight:500;line-height:1.25;transition:background-color .2s,border-color .2s,transform .15s;display:flex}.diag-choice:hover{border-color:var(--diag-accent);background:color-mix(in srgb, var(--diag-accent) 16%, transparent)}.diag-choice:active{transform:scale(.985)}.diag-form{gap:10px;display:flex}.diag-input{border:1px solid var(--diag-line);background:var(--diag-panel);min-width:0;min-height:52px;color:var(--diag-text);font:inherit;border-radius:10px;flex:1;padding:0 16px;font-size:16px}.diag-input::placeholder{color:#faf7f06b}.diag-input:focus-visible{border-color:var(--diag-accent);outline:none}.diag-send{background:linear-gradient(180deg, var(--diag-accent-glow), var(--diag-accent) 55%, var(--diag-accent-dark));width:52px;height:52px;color:var(--diag-on-accent);cursor:pointer;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .2s;display:flex}.diag-send svg{width:22px;height:22px}.diag-send:disabled{opacity:.35;cursor:default}.diag-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.diag-result{border:1px solid color-mix(in srgb, var(--diag-accent) 45%, transparent);background:radial-gradient(70% 60% at 85% 0%, color-mix(in srgb, var(--diag-accent) 20%, transparent), transparent), var(--diag-panel);border-radius:12px;margin-top:10px;padding:22px 20px 20px;animation:.6s cubic-bezier(.25,.1,.2,1) both diag-in;box-shadow:0 24px 48px -24px #000000e6}.diag-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--diag-muted);align-items:center;gap:8px;margin:0;font-size:11.5px;font-weight:600;font-stretch:112%;display:flex}.diag-eyebrow span{color:var(--diag-accent);font-size:8.5px}.diag-result-title{font-family:var(--font-hub-serif), Georgia, serif;margin:12px 0 0;padding-bottom:.08em;font-size:clamp(32px,9vw,44px);font-style:italic;font-weight:400;line-height:1.02}.diag-result-desc{color:var(--diag-muted);margin:8px 0 0;font-size:15.5px}.diag-result-list{border-top:1px solid var(--diag-line);flex-direction:column;gap:16px;margin:20px 0 0;padding-top:18px;display:flex}.diag-result-list dt{letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb, var(--diag-accent) 80%, #fff);font-size:11.5px;font-weight:600;font-stretch:112%}.diag-result-list dd{margin:5px 0 0;font-size:16px;line-height:1.5}.diag-actions{flex-direction:column;gap:10px;margin-top:22px;display:flex}.diag-cta{background:linear-gradient(180deg, var(--diag-accent-glow) 0%, var(--diag-accent) 52%, var(--diag-accent-dark) 100%);min-height:54px;box-shadow:inset 0 1px 0 #ffffff80, inset 0 -1px 0 #00000047, 0 12px 28px -12px color-mix(in srgb, var(--diag-accent) 75%, transparent);letter-spacing:.11em;text-align:center;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:8px 20px;font-size:13.5px;font-weight:700;font-stretch:112%;line-height:1.2;transition:transform .3s cubic-bezier(.25,.1,.2,1);display:flex}.diag .diag-cta{color:var(--diag-on-accent)}.diag-cta:hover,.diag-cta:active{transform:scale(1.02)}.diag-cta--ghost{border:1px solid color-mix(in srgb, var(--diag-accent) 55%, transparent);box-shadow:none;background:0 0}.diag .diag-cta--ghost{color:var(--diag-text)}.diag-error{border:1px solid #e0645f;border-radius:10px;flex-direction:column;gap:10px;padding:16px;display:flex}.diag-error p{margin:0}.diag-off{width:100%;max-width:680px;padding:28px max(20px, env(safe-area-inset-left)) 60px;color:var(--diag-muted);margin:0 auto;position:relative}.diag-off .diag-cta{margin-top:22px}@media (min-width:768px){.diag-header{padding-top:40px}.diag-actions{flex-direction:row}.diag-actions .diag-cta{flex:1}.diag-choices{grid-template-columns:1fr 1fr;display:grid}.diag-composer{margin:0;padding-inline:0}}@keyframes diag-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes diag-dot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.diag *,.diag :before,.diag :after{transition:none!important;animation:none!important}}
