@import url('/fonts.css');
:root{--ink:#203a42;--muted:#687578;--paper:#f8f7f3;--line:#e1e4df;--coral:#c65842;--teal:#2c625c;--gold:#f4ce75;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}button{border:0;background:none;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #dd9d39;outline-offset:3px}input,textarea,select{width:100%;min-width:0;border:1px solid #d5dcd8;border-radius:10px;background:white;color:var(--ink);padding:12px 14px}textarea{min-height:100px;resize:vertical}input:focus,textarea:focus{border-color:var(--teal)}label{display:block;font-size:13px;font-weight:650}label input,label textarea,label select{margin-top:6px}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-weight:500;font-size:clamp(32px,4vw,50px);line-height:1.15;letter-spacing:-1.5px;margin-bottom:12px}h2{font-size:28px;letter-spacing:-.8px;line-height:1.2}h3{font-size:19px;line-height:1.25;margin-bottom:7px}.muted{color:var(--muted)}.header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 5vw;background:#fffcf8;border-bottom:1px solid var(--line);position:relative;z-index:2}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--serif);font-size:28px;line-height:1}.brand-mark{width:48px;height:48px;display:grid;place-content:center;background:var(--ink);border-radius:14px;color:white;font-size:32px;letter-spacing:-5px;padding-right:5px;transform:rotate(-5deg)}.brand-mark span{color:var(--gold)}.brand-small{display:block;font-family:system-ui;font-size:9px;letter-spacing:3px;margin-top:7px}.header nav{display:flex;gap:20px}.header nav button{font-size:14px;font-weight:600;padding:12px 0}.header-actions{display:flex;gap:12px;align-items:center}.icon-btn{font-size:27px}.bag-btn{border:1px solid var(--line);border-radius:30px;padding:10px 16px;font-size:14px}.bag-btn span{margin-left:6px;background:var(--ink);color:white;border-radius:50%;padding:2px 6px;font-size:11px}.account-btn{font-size:14px;font-weight:600}main{max-width:1440px;margin:auto;padding:50px 5vw 70px;min-height:70vh}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:36px}.page-heading p:last-child{color:var(--muted);margin-bottom:0}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;margin-bottom:14px;color:var(--teal)}.search{display:flex;align-items:center;gap:7px;background:white;border:1px solid var(--line);border-radius:30px;padding:0 15px;width:300px;flex-shrink:0}.search input{border:0;background:none;margin:0;font-size:13px;padding:12px 0}.search span{font-size:25px}.welcome-strip{background:#e7eeea;border:1px solid #d9e4dc;border-radius:20px;padding:24px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}.welcome-strip h2{font-family:var(--serif);font-weight:500;margin-bottom:5px}.welcome-strip p{margin:0;font-size:14px;color:#50635d}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 22px;border-radius:12px;font-size:14px;font-weight:650;text-decoration:none;transition:background .2s,transform .2s}.primary{background:var(--ink);color:#fff}.primary:hover{background:#355761;transform:translateY(-1px)}.secondary{background:white;border:1px solid var(--line)}.full{width:100%}.section-top{display:flex;justify-content:space-between;align-items:center;margin:32px 0 20px}.section-top h2{font-family:var(--serif);font-weight:500;margin:0}.section-top span{font-size:13px;color:var(--muted)}.shops{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.shop-card{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .2s,box-shadow .2s}.shop-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px #18352a0c}.shop-art{height:180px;position:relative;background:#eee1d3;overflow:hidden;margin:10px 10px 0;border-radius:10px;--shop:#bc7665}.shop-card:nth-child(2) .shop-art{background:#e1e8dd;--shop:#729381}.shop-card:nth-child(3) .shop-art{background:#e5e3f1;--shop:#8a82ab}.shop-card:nth-child(4) .shop-art{background:#f1e8cb;--shop:#bd9e4e}.shop-card:nth-child(5) .shop-art{background:#dce9ee;--shop:#6b91a1}.awning{position:absolute;top:36px;left:14%;right:14%;height:38px;background:repeating-linear-gradient(90deg,var(--shop,#bd7665) 0 18px,#fff5e8 18px 36px);border-radius:7px 7px 10px 10px;transform:perspective(100px) rotateX(8deg);box-shadow:0 5px 0 #0000000c;z-index:1}.window-icon{position:absolute;top:70px;left:20%;height:70px;width:40%;border:4px solid #fffaf0;border-radius:3px;background:#ffffff55;display:grid;place-content:center;color:var(--shop);font-size:30px}.shop-door{position:absolute;top:70px;right:20%;height:88px;width:20%;background:var(--shop);border:4px solid #fffaf0;border-radius:3px}.shop-info{padding:18px}.badge{display:inline-block;font-size:10px;font-weight:650;letter-spacing:.3px;border-radius:20px;background:#f1f3ef;color:#637368;padding:4px 9px;margin-bottom:11px}.shop-info p{color:var(--muted);font-size:12px;line-height:1.6;margin:0}.shop-info button{margin-top:14px;width:100%}.shop-image{width:100%;height:180px;object-fit:cover;display:block}.empty{border:1px dashed #cfd8d2;border-radius:18px;text-align:center;padding:42px 24px;background:#ffffff55}.empty-icon{font-size:35px;display:block;color:var(--teal);margin-bottom:10px}.empty h3{font-family:var(--serif);font-size:26px;font-weight:500}.empty p{font-size:14px;color:var(--muted);max-width:400px;margin:0 auto 20px}.category-row{display:flex;gap:10px;overflow:auto;padding-bottom:15px}.chip{border:1px solid var(--line);padding:8px 17px;border-radius:30px;white-space:nowrap;font-size:13px;background:white}.chip.active{background:var(--ink);color:white}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.product-card{position:relative;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.product-card img{width:100%;height:220px;object-fit:cover}.product-body{padding:18px}.product-body p{font-size:12px;color:var(--muted)}.product-body strong{display:block;margin:12px 0}.favorite{position:absolute;right:12px;top:12px;background:white;border-radius:50%;width:36px;height:36px;font-size:23px;box-shadow:0 2px 10px #0001}.panel{background:white;border:1px solid var(--line);border-radius:20px;padding:30px;max-width:850px;margin:0 auto}.panel p{color:var(--muted)}.panel form{display:grid;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.price{font-size:54px;font-weight:700;letter-spacing:-2px}.price span{font-size:16px;font-weight:400;letter-spacing:0}.membership-panel{max-width:650px;background:linear-gradient(120deg,#f5f8f2,#fff);padding:40px}.membership-panel ul{padding-left:20px;line-height:2}.member-label{font-size:12px;color:var(--teal);font-weight:700;letter-spacing:2px}.order-row{padding:16px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;justify-content:space-between}.order-row img{width:60px;height:60px;object-fit:cover;border-radius:8px}.order-row .details{flex:1}.order-row h3{font-size:15px}.order-row p{font-size:12px;margin:0}.order-row input{width:65px}.vendor-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.saved-state{color:var(--teal)}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 5vw;color:var(--muted);font-size:12px}footer div{display:flex;gap:20px}.locked{filter:blur(7px);user-select:none;pointer-events:none}.gate{position:fixed;z-index:5;inset:100px 0 0;background:#f5f4ee77;display:flex;align-items:flex-start;justify-content:center;padding:28px 20px;overflow:auto;backdrop-filter:blur(2px)}.gate[hidden]{display:none}.auth-card{display:grid;grid-template-columns:240px 410px;max-width:100%;background:#fffefb;border:1px solid #fff;border-radius:24px;overflow:hidden;box-shadow:0 25px 100px #17302b24;flex-shrink:0}.auth-art{position:relative;background:#e7eee7;min-height:570px;overflow:hidden}.auth-art:before{content:'';position:absolute;width:280px;height:280px;border-radius:50%;background:#f5d88c;left:-30px;top:140px}.mini-shop{position:absolute;top:235px;left:33px;width:174px;height:150px;background:#fff9ee;border-radius:8px;box-shadow:0 15px 25px #30422b15;transform:rotate(-4deg)}.mini-shop .awning{top:-20px;left:-10px;right:-10px;height:50px;background:repeating-linear-gradient(90deg,#c37661 0 24px,#fff6e7 24px 48px)}.shop-window{position:absolute;inset:45px 25px 20px;background:#e0e9df;border-radius:4px;display:grid;place-content:center;font-family:var(--serif);font-size:60px;letter-spacing:-7px}.shop-window span span{color:#bd7665}.art-star{position:absolute;top:90px;left:40px;font-size:55px;color:#c57c43}.art-dot{position:absolute;width:35px;height:35px;right:28px;bottom:100px;border-radius:50%;background:#c37661}.art-caption{position:absolute;bottom:35px;left:25px;right:25px;text-align:center;font-family:var(--serif);font-size:23px}.auth-content{padding:28px 34px}.auth-tabs{display:flex;gap:22px;margin-bottom:22px;border-bottom:1px solid var(--line)}.auth-tabs button{font-size:13px;padding:0 0 12px;color:var(--muted)}.auth-tabs button.selected{color:var(--ink);border-bottom:2px solid var(--ink);font-weight:700}.auth-content h2{font-family:var(--serif);font-size:30px;font-weight:500;margin-bottom:8px}.auth-content>.muted{font-size:13px;margin-bottom:20px}.auth-content form{display:grid;gap:12px}.auth-content input{padding:10px 12px;font-size:14px}.password-field{position:relative}.password-field input{padding-right:58px}.password-field button{position:absolute;right:8px;top:15px;font-size:11px;font-weight:650}.form-status{font-size:12px;color:#a23a2c;margin:0;min-height:0}.form-status:empty{display:none}.auth-note{font-size:11px;color:var(--muted);margin:15px 0 10px}.fine{font-size:10px;color:var(--muted);margin-bottom:0}.fine button{text-decoration:underline;padding:0;font-size:inherit}.auth-card.login .signup-field{display:none}.auth-card.login .auth-art{min-height:440px}.auth-card.login .mini-shop{top:170px}dialog{border:1px solid var(--line);border-radius:22px;padding:35px;width:min(560px,calc(100% - 24px));max-height:90dvh;color:var(--ink);background:#fffefb}dialog::backdrop{background:#122d3280;backdrop-filter:blur(3px)}dialog h2{padding-right:30px}dialog p{font-size:14px}.close{position:absolute;right:14px;top:12px;width:36px;height:36px;border-radius:50%;background:#edf0eb;font-size:25px}.dialog-image{width:100%;max-height:300px;object-fit:cover;border-radius:12px;margin-bottom:20px}#toast{position:fixed;z-index:20;left:50%;bottom:22px;transform:translateX(-50%);max-width:90vw;background:var(--ink);color:#fff;padding:13px 22px;border-radius:12px;box-shadow:0 5px 30px #0002;font-size:13px}.hidden,[hidden]{display:none!important}@media(min-width:1500px){.gate{align-items:center;padding-bottom:50px}}@media(max-width:1000px){.shops{grid-template-columns:repeat(3,1fr)}.header nav{gap:12px}.header{gap:15px;padding:0 4vw}.header-actions{gap:8px}.products{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.header{height:80px}.brand{font-size:24px;gap:8px}.brand-mark{width:39px;height:39px;font-size:28px}.brand-small{font-size:8px;letter-spacing:2px}.header nav{display:none}.account-btn{font-size:12px}.bag-btn{padding:7px 10px;font-size:12px}.icon-btn{font-size:23px}.header-actions{gap:4px}main{padding:30px 20px 45px}.page-heading{display:block;margin-bottom:25px}.search{width:100%;margin-top:22px}.shops{grid-template-columns:repeat(2,1fr);gap:12px}.shop-art{height:150px}.shop-info{padding:13px}.shop-info h3{font-size:16px}.shop-info p{font-size:11px}.shop-art .awning{top:30px}.window-icon,.shop-door{top:64px}.shop-door{height:70px}.window-icon{height:55px}.welcome-strip{padding:20px;display:block}.welcome-strip h2{font-size:25px}.welcome-strip button{margin-top:15px}.products{grid-template-columns:repeat(2,1fr);gap:12px}.product-card img{height:170px}.product-body{padding:12px}.product-body h3{font-size:15px}.gate{inset:80px 0 0;padding:20px 16px;align-items:flex-start}.auth-card{display:block;width:410px}.auth-art{display:none}.auth-content{padding:25px}.auth-content h2{font-size:30px}.panel{padding:22px}.form-row{grid-template-columns:1fr}.membership-panel{padding:28px}.price{font-size:46px}footer{flex-wrap:wrap;padding:24px 20px;gap:18px}footer div{gap:14px}.section-top h2{font-size:24px}}@media(max-height:650px) and (min-width:701px){.gate{padding:18px}.auth-art{min-height:540px}.auth-content{padding:20px 30px}.auth-content form{gap:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:420px){.header{height:112px;display:grid;grid-template-columns:1fr;padding:12px 20px;gap:12px}.brand{justify-self:center;font-size:23px}.brand-mark{width:32px;height:32px;font-size:25px}.brand-small{margin-top:5px}.header-actions{justify-content:space-between;width:100%}.bag-btn{padding:4px 12px}.icon-btn{font-size:23px}.account-btn{font-size:12px}.gate{inset:112px 0 0}.auth-content{padding:22px 20px}.auth-content h2{font-size:27px}.shops,.products{gap:10px}.shop-art{height:125px;margin:7px 7px 0}.shop-info{padding:10px}.shop-art .awning{left:7%;right:7%;top:24px;height:29px}.window-icon{top:51px;left:13%;height:45px}.shop-door{top:51px;right:13%;height:60px}.section-top span{font-size:11px}}@media(max-width:300px){.shops,.products{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.auth-content{padding:18px 14px}.gate{padding:14px 10px}.auth-content h2{font-size:23px}.auth-tabs{gap:15px}.panel{padding:16px}main{padding-left:14px;padding-right:14px}.order-row{flex-wrap:wrap}}
.shops{grid-template-columns:repeat(3,1fr)}.shop-card:nth-child(6) .shop-art{background:#f0dfdf;--shop:#b67d88}@media(max-width:700px){.shops{grid-template-columns:repeat(2,1fr)}}@media(max-width:300px){.shops{grid-template-columns:1fr}}

fieldset{border:1px solid #d6deda;border-radius:12px;padding:14px;margin:12px 0;min-width:0}legend{font-weight:700;padding:0 6px}.auth-content{max-height:85vh;overflow-y:auto}.signup-field[hidden],fieldset[hidden]{display:none}select{max-width:100%}

.order-chat-launch{position:fixed;right:20px;bottom:20px;z-index:30;border-radius:50px;background:#235c55;color:white;padding:14px 20px;box-shadow:0 5px 24px #0003}.order-chat{position:fixed;right:16px;bottom:80px;width:min(350px,calc(100vw - 32px));height:min(460px,65vh);background:white;z-index:31;border:1px solid #ccd8d4;border-radius:18px;padding:16px;box-shadow:0 12px 40px #0003;display:flex;flex-direction:column;gap:10px}.order-chat[hidden]{display:none}.chat-messages{overflow:auto;flex:1}.chat-message{padding:10px;background:#f2f5f3;border-radius:12px;margin:8px 0;overflow-wrap:anywhere}.order-chat textarea{width:100%;min-height:55px}.chat-heading{display:flex;justify-content:space-between}
