:root{--ink:#18201d;--muted:#68736e;--paper:#f7f7f3;--card:#fff;--accent:#136f63;--line:#dfe4df;--warn:#9b4b22}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 Inter,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}header{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:28px;padding:0 4vw;position:sticky;top:0;z-index:3}.brand{font:700 22px Georgia,serif;white-space:nowrap}.search{display:flex;flex:1;max-width:720px}.search input{flex:1}.search input,.search select,input,select{padding:11px;border:1px solid var(--line);background:white}.search button,button,.button{background:var(--accent);color:white;border:0;padding:11px 18px;font-weight:700;cursor:pointer}.cart-link{margin-left:auto;font-weight:700}main{max-width:1200px;margin:auto;padding:30px 24px 180px}.hero{background:#163c36;color:white;border-radius:18px;min-height:260px;padding:58px;background-image:linear-gradient(90deg,#163c36 20%,rgba(22,60,54,.65)),url("https://picsum.photos/seed/northstar-market/1200/500");background-size:cover}.hero h1{font:700 48px/1.05 Georgia,serif;max-width:660px;margin:12px 0}.hero p{font-size:18px;max-width:580px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800}.departments{display:flex;gap:9px;overflow:auto;padding:20px 0}.departments a{background:white;border:1px solid var(--line);border-radius:30px;padding:9px 14px;white-space:nowrap}.departments small{color:var(--muted)}.section-title{display:flex;align-items:center;justify-content:space-between}.section-title h2,h2{font-family:Georgia,serif}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}.card img{width:100%;aspect-ratio:4/3;object-fit:cover}.card-body{padding:16px}.card h3{margin:5px 0;font-size:16px}.rating{color:#9a6418}.rating small,.muted{color:var(--muted)}.price{font-size:20px;font-weight:800;margin-top:8px}.stock{font-size:12px;color:var(--accent)}.stock.low{color:var(--warn)}.stock.out,.error{color:#ae2f2f}.compact{grid-template-columns:repeat(4,1fr)}.product-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;margin-bottom:60px}.product-detail>img{width:100%;border-radius:15px}.product-detail h1{font:700 42px Georgia,serif}.large{font-size:30px}.buy{display:flex;gap:12px;align-items:end;margin-top:25px}.buy label{display:flex;flex-direction:column}.buy input{width:80px}.cart-layout{display:grid;grid-template-columns:1fr 360px;gap:35px}.cart-item{display:grid;grid-template-columns:120px 1fr auto;gap:18px;background:white;border-bottom:1px solid var(--line);padding:16px}.cart-item img{width:120px;height:90px;object-fit:cover}.cart-item h3{margin:4px 0}.link{background:none;color:#ae2f2f}.summary{background:white;border:1px solid var(--line);padding:22px;border-radius:12px;height:max-content}.summary p{display:flex;justify-content:space-between}.summary .total{font-size:20px;border-top:1px solid var(--line);padding-top:14px}.confirm{display:block;margin:20px 0}.checkout{width:100%}.notice,.success{padding:12px;background:#dff3ea}.order-status{max-width:700px;background:white;padding:40px;border-radius:14px}.order-status dl{display:grid;grid-template-columns:140px 1fr}.order-status dd{margin:0;overflow-wrap:anywhere}.agent{position:fixed;z-index:4;right:24px;bottom:20px;width:430px;height:500px;min-width:340px;min-height:360px;max-width:calc(100vw - 30px);max-height:calc(100vh - 30px);display:flex;flex-direction:column;resize:both;overflow:hidden;background:#122d29;color:white;border-radius:15px;padding:18px;box-shadow:0 16px 50px #0004}.agent.expanded{width:min(720px,calc(100vw - 40px));height:calc(100vh - 40px)}.agent-heading{display:flex;align-items:center;justify-content:space-between}.agent-heading h2{margin:0}.agent-expand{background:#fff1;border:1px solid #fff3;border-radius:6px;padding:5px 10px;font-size:18px}.agent p{color:#c7d3cf;font-size:13px;margin:6px 0}.agent-response{flex:1;min-height:180px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:#fff1;color:#e8f0ed;padding:12px;margin:8px 0;white-space:pre-wrap}.chat-welcome{color:#b8c8c3}.chat-turn{margin:8px 0;white-space:normal}.chat-turn>span{display:block;margin-bottom:3px;color:#9fb4ae;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.chat-turn>div{padding:9px 11px;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere}.chat-user{margin-left:18%}.chat-user>div{background:#1d7f70}.chat-assistant{margin-right:10%}.chat-assistant>div{background:#fff1}.agent form{display:flex;flex:0 0 auto}.agent input[name=message]{flex:1;min-width:0}.agent form button:disabled{opacity:.6;cursor:wait}.htmx-indicator{display:none;color:#b8c8c3;font-size:12px;padding:0 2px 6px}.htmx-request.htmx-indicator{display:block}.agent-answer a{color:#8de0d2;text-decoration:underline}footer{text-align:center;padding:30px;color:var(--muted)}code{background:#eee;padding:2px 4px;color:#333}@media(max-width:850px){header{height:auto;padding:14px;flex-wrap:wrap}.search{order:3;width:100%}.grid{grid-template-columns:repeat(2,1fr)}.product-detail,.cart-layout{grid-template-columns:1fr}.hero h1{font-size:36px}.agent{right:15px}.summary{position:static}}@media(max-width:520px){.grid{grid-template-columns:1fr}.search select{display:none}.hero{padding:30px}.product-detail h1{font-size:32px}.agent{width:calc(100vw - 30px);min-width:0;resize:vertical}}
