:root{--red:#e21c2a;--ink:#15171a;--muted:#777b82;--bg:#f3f1ed}
*{box-sizing:border-box}body{margin:0;background:#d8d7d4;font-family:"DM Sans",sans-serif;color:var(--ink)}
.shell{width:min(1180px,100%);height:min(780px,100vh);margin:max(0px,calc((100vh - 780px)/2)) auto;background:white;display:grid;grid-template-columns:44% 56%;overflow:hidden;box-shadow:0 25px 80px #1113}
.story{position:relative;background:#17191c;color:white;padding:45px 54px;overflow:hidden}.story:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 80%,#e21c2a88,transparent 34%),linear-gradient(130deg,transparent 55%,#ffffff0b);pointer-events:none}
.brand{position:relative;z-index:2;width:min(100%,270px)}.brand img{display:block;width:100%;height:auto;object-fit:contain}
.story-copy{position:relative;z-index:2;margin-top:120px}.eyebrow{font-size:11px;letter-spacing:3px;color:#aaa}.story h1{font:800 47px/1.05 Montserrat;margin:18px 0}.story h1 i{color:var(--red);font-style:normal}.story p{color:#b9bbc0;line-height:1.65;max-width:380px}.proof{display:flex;gap:20px;font-size:11px;color:#cacdd0;margin-top:35px}
.runner{position:absolute;width:310px;height:310px;border:60px solid #ffffff08;border-radius:50%;right:-80px;bottom:-60px}
.chat{display:grid;grid-template-rows:86px 1fr auto 72px 22px;background:#f8f8f7;min-height:0}.chat header{display:flex;align-items:center;padding:0 30px;background:white;border-bottom:1px solid #eee}.avatar{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:white;font:800 21px Montserrat;position:relative}.avatar span{position:absolute;width:11px;height:11px;background:#29b865;border:2px solid white;border-radius:50%;right:0;bottom:0}.chat h2{font-size:16px;margin:0 0 3px 12px}.chat header p{font-size:11px;color:#8a8d91;margin:0 0 0 12px}.online{display:inline-block;width:6px;height:6px;background:#29b865;border-radius:50%}.chat header button{margin-left:auto;border:0;background:#f4f4f4;border-radius:50%;width:36px;height:36px;font-size:20px;cursor:pointer}
.messages{padding:22px 30px;overflow:auto;display:flex;flex-direction:column;gap:12px}.messages>*{flex-shrink:0}.date{text-align:center;color:#aaa;font-size:9px;letter-spacing:2px;margin-bottom:6px}.msg{max-width:78%;font-size:14px;line-height:1.5;padding:13px 16px;border-radius:5px 18px 18px 18px;background:white;box-shadow:0 3px 14px #00000008;animation:up .25s ease}.msg.user{margin-left:auto;background:var(--ink);color:white;border-radius:18px 5px 18px 18px}.time{display:block;font-size:8px;color:#aaa;text-align:right;margin-top:4px}
.web-sources{max-width:78%;margin-top:-7px;padding:0 4px;font-size:11px;line-height:1.45;color:#6d7177}.web-sources-title{display:block;margin-bottom:3px;font-weight:700;letter-spacing:.03em}.web-sources ul{display:flex;flex-wrap:wrap;gap:5px 12px;margin:0;padding:0;list-style:none}.web-sources li{min-width:0;max-width:100%}.web-sources a{display:inline-block;max-width:100%;overflow-wrap:anywhere;vertical-align:bottom;color:#555b63;text-decoration:underline;text-decoration-color:#aeb2b7;text-underline-offset:2px}.web-sources a:hover{color:var(--red);text-decoration-color:currentColor}.web-sources a:focus-visible{border-radius:3px;outline:2px solid var(--red);outline-offset:3px}
.bundle-summary{border:1px solid #e8e8e6;border-left:4px solid var(--red);border-radius:14px;background:#fff;padding:12px 14px;box-shadow:0 5px 18px #00000009}.bundle-summary.over-budget{border-left-color:#d18b19}.bundle-summary-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.bundle-summary h3{margin:0;font:700 13px Montserrat}.bundle-status{border-radius:999px;background:#fce9eb;color:#b6111d;padding:4px 8px;font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.bundle-summary.over-budget .bundle-status{background:#fff2dd;color:#8a5705}.bundle-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 0}.bundle-totals div{min-width:0;border-radius:9px;background:#f6f6f5;padding:7px 8px}.bundle-totals dt{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.bundle-totals dd{margin:2px 0 0;font-size:12px;font-weight:800}.bundle-note{margin:8px 0 0;color:#777b82;font-size:8px}
.typing{background:white;width:60px;padding:14px;border-radius:5px 16px 16px 16px}.typing i{display:inline-block;width:6px;height:6px;background:#aaa;border-radius:50%;margin:0 2px;animation:pulse 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:2px 0 8px}.card{background:white;min-width:0;border-radius:16px;overflow:hidden;border:1px solid #eee;box-shadow:0 7px 22px #0000000b}.photo{height:180px;background:#f1f1f1;position:relative;overflow:hidden}.product-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#f1f1f1;z-index:1}.photo-fallback{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:5px;color:#aaa}.photo-fallback b{font:italic 800 34px Montserrat;color:#e21c2a55}.photo-fallback small{font-size:8px}.photo.image-unavailable .product-image{display:none}.tag{position:absolute;z-index:2;top:9px;left:9px;background:var(--red);color:white;border-radius:10px;padding:4px 7px;font-size:8px;font-weight:700}.option{position:absolute;z-index:2;top:9px;right:9px;background:#15171ae8;color:#fff;border-radius:10px;padding:4px 7px;font-size:7px;font-weight:700;letter-spacing:.5px}.source{position:absolute;z-index:2;right:8px;bottom:8px;background:#fff;color:#333;border-radius:10px;padding:4px 7px;font-size:7px;font-weight:700;box-shadow:0 2px 8px #0002}.card-body{padding:12px}.card .brandname{font-size:8px;color:#999;letter-spacing:1.5px}.card h3{font-size:12px;margin:5px 0;min-height:30px}.card p{font-size:9px;color:#777;line-height:1.35;min-height:25px}.price{font-weight:800;font-size:15px}.old{text-decoration:line-through;color:#aaa;font-size:10px;margin-left:5px}.card a{display:block;background:var(--ink);color:white;text-align:center;text-decoration:none;border-radius:9px;padding:8px;margin-top:9px;font-size:10px;font-weight:700}
.bundle-item{border-color:#f1c7cb}.bundle-slot{position:absolute;z-index:2;left:8px;bottom:8px;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#15171ae8;color:#fff;border-radius:10px;padding:4px 7px;font-size:7px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.quantity-total{display:block;margin-top:3px;color:#62666d;font-size:9px;font-weight:700}
.quick{display:flex;gap:8px;overflow:auto;padding:9px 30px}.quick button{white-space:nowrap;border:1px solid #e3e3e3;background:white;border-radius:18px;padding:8px 13px;font:500 10px "DM Sans";cursor:pointer}.quick button:hover{border-color:var(--red);color:var(--red)}
form{margin:8px 30px 0;background:white;border:1px solid #e5e5e5;border-radius:16px;display:flex;align-items:center;padding:7px}form input{border:0;outline:0;flex:1;padding:10px;font:13px "DM Sans"}.plus{border:0;background:none;font-size:22px;color:#999}.send{border:0;background:var(--red);color:white;border-radius:10px;width:39px;height:39px;cursor:pointer}.disclaimer{text-align:center;color:#aaa;font-size:8px}
@keyframes pulse{50%{opacity:.25;transform:translateY(-2px)}}@keyframes up{from{opacity:0;transform:translateY(7px)}}
@media(max-width:760px){.shell{height:100dvh;margin:0;display:block}.story{display:none}.chat{height:100dvh}.messages{padding:18px}.quick{padding:8px 18px}form{margin:6px 18px 0}.msg,.web-sources{max-width:88%}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.photo{height:145px}}
@media(max-width:480px){.bundle-totals{grid-template-columns:1fr}.bundle-summary-header{align-items:flex-start;flex-direction:column;gap:6px}}
@media(max-width:420px){.cards{grid-template-columns:1fr}.photo{height:220px}}
