@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700&display=swap";:root{--bg:#f7f3ea;--card:#fff;--line:#e8e1d2;--text:#141414;--muted:#857c6c;--accent:#9a7630;--accent-soft:#f3ead3;--shadow:0 1px 3px #0000000f;--danger:#b42318;--good:#1f6f6b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{touch-action:manipulation}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:16px/1.5 Be Vietnam Pro,system-ui,sans-serif}button,input{font:inherit;color:inherit}a{color:var(--accent)}h1{margin:0;font-size:26px;line-height:1.2}h2{margin:0 0 4px;font-size:20px}.muted{color:var(--muted);font-size:14px}.error{color:var(--danger)}.hint{color:var(--danger);margin:-8px 0 0;font-size:14px}.shell{flex-direction:column;gap:16px;max-width:560px;margin:0 auto;padding:20px 16px 120px;display:flex}.head{flex-direction:column;gap:4px;padding:8px 4px 0;display:flex}.steps{gap:6px;margin:0;padding:0;list-style:none;display:flex}.steps li{flex:1}.steps button{text-align:left;border:0;border-top:3px solid var(--line);width:100%;color:var(--muted);cursor:pointer;background:0 0;padding:8px 0 0;font-size:13px;font-weight:500}.steps button:disabled{cursor:default}.steps .on button{border-color:var(--accent);color:var(--accent)}.steps .past button{color:var(--text);border-color:#c9ae76}.card{background:var(--card);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;gap:14px;padding:18px;display:flex}.list{flex-direction:column;gap:8px;display:flex}.option{text-align:left;background:var(--card);border:1.5px solid var(--line);cursor:pointer;border-radius:14px;align-items:center;gap:12px;width:100%;min-height:60px;padding:12px 14px;display:flex}.option.on{border-color:var(--accent);background:var(--accent-soft)}.option .grow{flex-direction:column;flex:1;display:flex}.option .price{font-weight:600}.option .desc{color:#3a3a3c;font-size:14px}.cat{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin:6px 0 0;font-size:15px}.about{gap:12px}.about .text{white-space:pre-line;margin:4px 0 0}.about .clamp{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.about summary{cursor:pointer;min-height:32px;font-weight:600}.hours{border-collapse:collapse;width:100%;margin-top:6px;font-size:15px}.hours th{text-align:left;color:var(--muted);padding:3px 0;font-weight:500}.hours td{text-align:right;padding:3px 0}.hours tr.today th,.hours tr.today td{color:var(--text);font-weight:700}.status{margin:2px 0 0;font-size:14px;font-weight:600}.status.open{color:#1e7b45}.status.closed{color:#b3261e}.links{flex-wrap:wrap;gap:8px;display:flex}.links a{border:1px solid var(--line);border-radius:999px;align-items:center;min-height:40px;padding:0 14px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.box{border:2px solid var(--line);color:#fff;border-radius:7px;flex:none;place-items:center;width:24px;height:24px;font-size:14px;font-weight:700;display:grid}.option.on .box{background:var(--accent);border-color:var(--accent)}.avatar{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.daystrip{align-items:center;gap:6px;min-width:0;display:flex}.daystrip .nav{border:1px solid var(--line);background:var(--card);cursor:pointer;width:36px;height:36px;color:var(--text);border-radius:50%;flex:none;font-size:20px;line-height:1;display:none}.daystrip .days{flex:1;min-width:0;margin:0}.days{padding-right:32px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000)}.title{flex-direction:column;gap:2px;display:flex}.title h2,.title p{margin:0}.timegroups{flex-direction:column;gap:14px;display:flex}.days{scroll-snap-type:x proximity;gap:8px;margin:0 -4px;padding-bottom:6px;display:flex;overflow-x:auto}.day{border:2px solid var(--line);background:var(--card);cursor:pointer;scroll-snap-align:start;border-radius:14px;flex-direction:column;flex:none;align-items:center;width:68px;padding:10px 0;font-size:13px;display:flex}.day strong{font-size:15px}.day.on{border-color:var(--accent);background:var(--accent);color:#fff}.day.off{color:#c7c7cc;background:#fafafa;text-decoration:line-through}.day.off.on{color:#fff;background:#86868b;border-color:#86868b}.offday{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:22px 8px;display:flex}.offday strong{font-size:17px}.offday .secondary{min-height:46px;color:var(--text);cursor:pointer;background:#f3eee3;border:0;border-radius:12px;padding:0 18px;font-size:15px;font-weight:600}.times{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.time{border:2px solid var(--line);background:var(--card);cursor:pointer;border-radius:12px;min-height:48px;font-weight:500}.time.on{border-color:var(--accent);background:var(--accent);color:#fff}.footer{z-index:5;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;border-radius:0 0 18px 18px;align-items:center;gap:12px;margin:0 -18px -18px;display:flex;position:sticky;bottom:0;box-shadow:0 -6px 16px #0000000a}.panel>.footer{box-shadow:var(--shadow);border:0;border-radius:18px;margin:0}.footer .muted{color:var(--text);flex:1;font-size:15px;font-weight:500}.primary{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:14px;min-height:52px;padding:0 24px;font-size:17px;font-weight:600}.primary:disabled{cursor:default;background:#d9b3c2}form{flex-direction:column;gap:14px;display:flex}.row{gap:12px;display:flex}.row label{flex:1;min-width:0}label{color:var(--muted);flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}input:not([type=checkbox]){border:1px solid var(--line);background:var(--card);min-height:52px;color:var(--text);border-radius:12px;padding:0 14px;font-size:17px}input:focus-visible,button:focus-visible{outline-offset:2px;outline:3px solid #d9c08a}.consent{color:var(--text);flex-direction:row;align-items:flex-start;gap:10px;font-weight:400}.consent input{width:22px;height:22px;accent-color:var(--accent);flex:none;margin:1px 0 0}.summary{background:var(--accent-soft);border-radius:14px;margin:0;padding:12px 14px}.done{text-align:center;align-items:center;padding:32px 20px}.done .check{background:var(--good);color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;font-size:34px;display:grid}.big{margin:0;font-size:20px;font-weight:600}.done p{margin:0}@media (width<=380px){.row{flex-direction:column}}.seg button,.tabs button,.chip{border:2px solid var(--line);background:var(--card);cursor:pointer;border-radius:12px;min-height:48px;font-weight:600}.tabs button.on,.chip.on{border-color:var(--accent);background:var(--accent);color:#fff}.tabs{gap:8px;display:flex;overflow-x:auto}.tabs button{flex:none;padding:0 16px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{min-height:44px;padding:0 16px}.chip:disabled{opacity:.35;cursor:default}.gallery{scroll-snap-type:x mandatory;gap:8px;margin:0 -4px;padding:0 4px 4px;display:flex;overflow-x:auto}.gallery button{cursor:pointer;scroll-snap-align:start;background:0 0;border:0;flex:none;padding:0}.gallery img{object-fit:cover;border-radius:14px;width:132px;height:132px;display:block}.lightbox{z-index:10;color:#fff;background:#140e10eb;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex;position:fixed;inset:0}.lightbox img{border-radius:12px;max-width:100%;max-height:80vh}.lightbox p{margin:0}.lightbox .close{color:#fff;cursor:pointer;background:#ffffff26;border:0;border-radius:50%;width:44px;height:44px;font-size:20px;position:absolute;top:12px;right:12px}.btn{border:1px solid var(--line);background:var(--card);min-height:48px;color:var(--text);cursor:pointer;border-radius:24px;justify-content:center;align-items:center;width:100%;margin:12px 0;font-weight:700;text-decoration:none;display:flex}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.stamps-card{background:var(--accent);color:#fff;border:none}.stamps-card .row{justify-content:space-between;margin-bottom:12px;display:flex}.stamps{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px;display:grid}.stamp{aspect-ratio:1;border:2px dashed #fff9;border-radius:50%;justify-content:center;align-items:center;font-size:13px;display:flex}.stamp.on{color:var(--accent);background:#fff;border:none;font-size:20px;font-weight:700}.reward{background:var(--good);color:#fff;text-align:center;border:none}.reward .gift{font-size:44px}.reward .small{opacity:.85;font-size:13px}.qr-row{align-items:center;gap:14px;flex-direction:row!important}.qr-row p{margin:4px 0 0}.qr-row .qr{flex:none;width:84px}.qr-row .qr svg{width:100%;height:auto;display:block}.loy{gap:14px;padding-bottom:40px}.loy .head h1{font-size:24px}.loy .card{border-radius:16px;gap:4px;padding:14px 16px}.loy .card h2{margin:0;font-size:16px}.loy .card p{margin:0;line-height:1.45}.loy .btn{min-height:46px;margin:6px 0 0}.loy>.btn{margin:0}.loy .stamps-card{border-radius:18px;gap:12px;padding:16px}.loy .stamps-card .row{margin:0;font-size:14px;font-weight:600}.loy .stamps{margin:0}.loy .stamps-card p{font-size:15px}.loy .reward{align-items:center;gap:10px;padding:20px}.loy .reward h2.big{font-size:22px}.loy .reward .gift{font-size:44px;line-height:1}.loy .qr-row{gap:12px}.loy .qr-row .qr{width:64px}.page{max-width:560px;margin:0 auto;padding-bottom:40px}.side{background:var(--card)}.side-more{display:none}.hero{background:var(--card);position:relative}.hero .cover{background:linear-gradient(135deg,#eadfc6,#cdb27a 60%,#9a7630) 50%/cover no-repeat;height:150px}.hero .logo{background:var(--accent);color:#fff;border:3px solid #fff;border-radius:50%;place-items:center;width:64px;height:64px;font:700 28px Georgia,serif;display:grid;position:absolute;top:118px;left:18px;box-shadow:0 2px 8px #00000026}.hero-text{flex-direction:column;gap:2px;padding:40px 18px 12px;display:flex}.hero-text h1{letter-spacing:-.4px;font-size:24px}.hero .cover.plain{background:radial-gradient(circle at 18% 30%, #ffffff29, transparent 38%), radial-gradient(circle at 88% 85%, #ffffff1a, transparent 32%), radial-gradient(#ffffff21 1.4px, transparent 1.6px) 0 0 / 16px 16px, linear-gradient(135deg, #b8476f, var(--accent) 55%, #6e1f3c)}.hero-actions{gap:8px;margin-top:10px;display:flex}.hero-actions a{min-height:42px;color:var(--text);background:#f3eee3;border-radius:12px;flex:1;place-items:center;font-size:15px;font-weight:600;text-decoration:none;display:grid}.hero-actions a:first-child{background:var(--accent-soft);color:var(--accent)}.ptabs{background:var(--card);border-bottom:1px solid var(--line);z-index:6;padding:0 10px;display:flex;position:sticky;top:0}.ptabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2.5px solid #0000;flex:1;padding:12px 0 10px;font-size:15px;font-weight:600}.ptabs button.on{color:var(--accent);border-color:var(--accent)}.panel{flex-direction:column;gap:14px;padding:16px;display:none}.panel.show{display:flex}.h{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px;font-size:12px;font-weight:700}.people{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.seg{background:#f3eee3;border-radius:10px;align-items:center;gap:4px;padding:3px;display:flex}.seg .muted{padding:0 8px 0 6px;font-size:13px;font-weight:600}.seg button{color:#6e6e73;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;min-width:40px;min-height:34px;font-weight:600}.seg button.on{color:var(--text);background:#fff;box-shadow:0 1px 2px #0000001f}.cats{scrollbar-width:none;gap:8px;margin:0 -18px;padding:2px 40px 4px 18px;display:flex;overflow-x:auto}.cats.more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 48px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 48px),#0000)}.catchip{cursor:pointer;white-space:nowrap;background:#f3eee3;border:0;border-radius:20px;flex:none;align-items:center;gap:6px;min-height:38px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.catchip.on{background:var(--accent);color:#fff}.catchip.on em{color:var(--accent);background:#fff}.catchip em{background:var(--accent);color:#fff;border-radius:9px;padding:0 6px;font-size:11px;font-style:normal;line-height:18px}.svcs .option{border-width:0 0 1px;border-radius:0;min-height:56px;padding:12px 2px}.svcs .option:last-child{border-bottom:0}.svcs .option.on{background:0 0}.svcs .option .desc{color:#3a3a3c;font-size:14px;line-height:1.4}.grid-photos{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.grid-photos button{cursor:pointer;background:0 0;border:0;padding:0}.grid-photos img{aspect-ratio:1;object-fit:cover;border-radius:10px;width:100%;display:block}.about .links a{background:#f3eee3;border:0}@media (width>=900px){.page{grid-template-columns:420px minmax(0,744px);justify-content:center;align-items:start;gap:0;max-width:1188px;padding:24px;display:grid}.main{min-width:0}.daystrip .nav{place-items:center;display:grid}.side{box-shadow:var(--shadow);border-radius:18px;flex-direction:column;max-height:calc(100vh - 48px);display:flex;position:sticky;top:24px;overflow:hidden}.side .hero{flex:none}.side-more{flex-direction:column;gap:0;min-height:0;display:flex;overflow-y:auto}.side-more .card{box-shadow:none;border-top:1px solid var(--line);border-radius:0}.hero .cover{height:190px}.hero .logo{top:158px}.main{padding-left:24px}.ptabs,.mobile-only{display:none!important}.main .panel{padding:0;display:flex}.main .hero{display:none}}.about .addr{color:var(--text);margin:0;font-size:16px}.about .visit .muted{margin:0}@media (width>=900px){.side-more .about .visit{display:none}}.smallnote{margin:-6px 0 0;font-size:13px}.manage .card{gap:12px}.manage .primary,.manage .btn{width:100%;margin:0}.mhead{align-items:center;gap:10px;padding:4px 4px 0;font-size:17px;display:flex}.mlogo{background:var(--accent);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;font-weight:800;display:flex}.appt{background:var(--accent-soft);border-left:4px solid var(--accent);border-radius:12px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.appt strong{font-size:17px}.appt.gone{border-color:var(--muted);background:#f3eee3}.appt.gone strong{color:var(--muted);text-decoration:line-through}.okmsg{color:#1e7a4f;background:#e3f4ec;border-radius:12px;margin:0;padding:10px 12px;font-weight:600}.link.danger{color:#c4314b;padding:10px;font-size:16px}.primary.danger{background:#c4314b}.confirmbox,.move{flex-direction:column;gap:10px;display:flex}.confirmbox{border-top:1px solid var(--line);padding-top:12px}.fine{text-align:center;font-size:12px}.ci .card{gap:14px}.ci .card h1{font-size:24px}.primary.wide{width:100%}.ci-tabs{flex-direction:column;gap:8px;display:flex}.ci-tab{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;min-height:52px;padding:0 14px;font-weight:600;display:flex}.ci-tab.on{border-color:var(--accent)}.ci-tab .muted{font-weight:500}.ci-stamps{background:var(--accent-soft);text-align:left;border-radius:14px;flex-direction:column;gap:4px;width:100%;padding:12px 14px;display:flex}.ci-stamps span{color:#3a3a3c;font-size:14px}.ci-stamps .bar{background:#fff;border-radius:4px;height:8px;margin-top:4px;overflow:hidden}.ci-stamps .bar span{background:var(--accent);border-radius:4px;height:100%;display:block}.ci .done .btn{margin:0}.ci-svcs{flex-direction:column;gap:10px;padding:2px 0 4px;display:flex}.ci-svcs .cats{margin:0 -18px}.ci-svcs .link{align-self:flex-end}.chip.sm{border-width:1.5px;border-radius:10px;min-height:38px;padding:0 12px;font-size:14px}.ci-tab .ci-val{text-overflow:ellipsis;white-space:nowrap;text-align:right;max-width:60%;overflow:hidden}.tech-search{width:100%;font:inherit;border:1px solid var(--line);color:var(--text);background:#fff;border-radius:12px;padding:12px 14px;font-size:16px}.tech-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.tech-tile{border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:12px 6px;font-size:14px;display:flex}.tech-tile strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tech-tile.on{border-color:var(--accent);background:var(--accent-soft)}@media (width>=700px){.tech-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
