:root{font-family:'Trebuchet MS','Segoe UI',sans-serif;color:#500e62;background:#fff7fc;font-synthesis:none;--line:#e1c3ed;--purple:#9c43ba;--nav:86px;--head:106px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button,select{cursor:pointer}button{border:0}button:disabled{cursor:default;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bd569f;outline-offset:4px}button{touch-action:manipulation}button .icon{pointer-events:none}.icon{width:28px;height:28px;flex-shrink:0;vertical-align:middle}h1,h2{font-family:Georgia,serif;margin:0;font-weight:800}h1{font-size:clamp(27px,3.5vw,52px);white-space:nowrap}h2{font-size:clamp(23px,2.6vw,37px)}h3,p{margin:0}button{background:none}#app{height:100dvh;overflow:hidden;background:radial-gradient(ellipse at 75% 20%,#f8e8f7,transparent 70%),#fff8fb}.topbar{height:var(--head);display:flex;align-items:center;gap:20px;padding:18px 28px;background:#fffbfddd;box-shadow:0 4px 18px #79348b0c;position:relative;z-index:20}.plain{padding:9px;display:flex;align-items:center;justify-content:center}.plain .icon{width:39px;height:39px}.spark{color:#ffb45e;font-size:.55em;vertical-align:middle}.small{font-size:.4em}.pink-spark{color:#f078b3}.searchbox{display:flex;align-items:center;gap:12px;border:2px solid var(--line);border-radius:32px;background:#faf0fc;padding:10px 17px;flex:1;min-width:100px}.searchbox input{border:0;outline:0;background:none;width:100%;min-width:0;font-size:19px}.searchbox input::placeholder{color:#98769f}.soft,select{border:1px solid var(--line);border-radius:19px;padding:11px 18px;background:linear-gradient(140deg,#f7e3ff,#e2baf0);box-shadow:0 2px 0 #c79bdc;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}.balance{background:linear-gradient(135deg,#f9e8ff,#e8c3f2);border:1px solid var(--line);padding:8px 17px;border-radius:40px;white-space:nowrap}.money{display:inline-flex;gap:8px;align-items:center;font-weight:800;font-size:27px;white-space:nowrap}.coin{background:radial-gradient(circle at 30% 25%,#ffeaa0,#ffc631 60%,#e8a11e);border:2px solid #eab43c;outline:1px solid #fff2c1;box-shadow:inset 0 0 0 2px #ffe58a,0 2px 3px #aa6d4030;border-radius:50%;color:#fff1a6;text-shadow:0 1px 1px #a56d1f;font-size:24px;line-height:33px;width:36px;height:36px;text-align:center;flex-shrink:0}.cart-button{position:relative}.badge{position:absolute;top:-3px;right:0;background:#ff658b;border:2px solid #fff;border-radius:50%;min-width:26px;padding:3px;font-size:15px;color:white;font-weight:bold}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--nav);padding:8px 3% max(8px,env(safe-area-inset-bottom));display:flex;background:#fffafff5;border-radius:24px 24px 0 0;box-shadow:0 -2px 12px #72288312;z-index:40}.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:22px;color:#8e29ae;font-size:18px;font-weight:700}.bottom-nav .icon{width:34px;height:34px}.bottom-nav .active{background:linear-gradient(115deg,#f2d5fb,#ebc6f8)}.shop-layout{display:flex;height:calc(100dvh - var(--head) - var(--nav))}.sidebar{display:none;width:285px;flex-shrink:0;border-radius:0 30px 30px 0;background:#fff9fc;box-shadow:4px 0 14px #6e267b12;padding:18px 16px 12px;flex-direction:column;overflow:hidden;z-index:30}.sidebar.open{display:flex}.side-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}.side-title h2{font-size:27px}.side-title .soft{padding:9px;border-radius:16px}.category-list{overflow:auto;display:flex;flex-direction:column;gap:8px;padding-right:5px;scrollbar-width:thin;scrollbar-color:#bd7ed4 #f0e2f6}.category{display:flex;align-items:center;gap:18px;border:1px solid var(--line);background:linear-gradient(120deg,#f9effb,#f1e3f5);border-radius:19px;min-height:57px;text-align:left;padding:10px 15px;font-size:18px;font-weight:bold}.category .icon{width:31px;height:31px}.selected,.category.selected{background:linear-gradient(130deg,#c485db,#9d4cb9);color:white}.scrim{display:none}.shop-main{flex:1;min-width:0;overflow:auto;padding:18px 25px 28px;scrollbar-width:thin;scrollbar-color:#c08ad5 #f2e2f5}.daily-note{display:flex;align-items:center;gap:5px;font-size:13px;color:#9865a5;margin-bottom:15px}.daily-note .icon{width:18px;height:18px}.section-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.result-count{color:#a17aa8;font-size:13px;margin-top:5px}.section-bar select{max-width:180px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product-card{border:1.5px solid var(--line);border-radius:25px;background:linear-gradient(145deg,#fffafd99,#f6e9fa99);overflow:hidden;transition:box-shadow .2s}.product-card:hover{box-shadow:0 8px 22px #89389515}.product-image{width:100%;padding:0;display:block;background:radial-gradient(ellipse,#f3dff3,transparent 72%)}.product-image img{width:100%;height:auto;display:block;object-fit:contain;aspect-ratio:1}.card-info{padding:0 18px 18px}.brand{font-size:12px;letter-spacing:.06em;color:#a379ac;margin-bottom:6px}.card-info h3{font-size:19px;line-height:1.25;min-height:48px}.card-info h3 button{text-align:left;padding:0;font-weight:700}.card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.add{background:linear-gradient(135deg,#cf8ce2,#9f45bb);color:white;box-shadow:0 2px 0 #87359f;border-radius:15px;width:46px;height:46px}.add.in-cart{background:#e6ceed;color:#86499b;box-shadow:none;opacity:1}.filters{display:flex;gap:18px;align-items:end;padding:16px;background:#f4e7f8;border-radius:20px;margin-bottom:20px}.filters[hidden]{display:none}.filters label{display:flex;flex-direction:column;gap:6px;font-size:14px}.filters .check-label{flex-direction:row;align-items:center;align-self:center}.check-label input{accent-color:#9c43ba;width:19px;height:19px}.more{display:flex;margin:25px auto 0}.empty{text-align:center;padding:55px 15px;color:#9b6ba5}.empty>.icon,.placeholder>.icon{width:70px;height:70px;color:#b67ace;margin-bottom:18px}.empty h3{font-size:22px;color:#642475}.empty p{margin:12px 0 23px}.compact{justify-content:space-between}.back-button{white-space:nowrap}.cart-main{height:calc(100dvh - var(--head) - var(--nav));overflow:auto;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,1fr);gap:22px;padding:24px}.cart-items{min-width:0}.cart-items .section-bar h2{font-size:clamp(22px,2.7vw,37px)}.pill{white-space:nowrap;background:#efd4f7;border-radius:24px;padding:9px 17px;font-size:18px;font-weight:700}.cart-item{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:25px;padding:12px;margin-bottom:14px;background:#fff8fd88}.cart-image{width:34%;flex-shrink:0;padding:0;border-right:1px solid #d7b0e7;margin-right:18px}.cart-image img{display:block;width:100%;height:auto;object-fit:contain}.cart-item-info{flex:1;min-width:0}.cart-item h3{font-size:clamp(17px,2.1vw,28px);margin-bottom:10px}.category-chip{display:inline-flex;align-items:center;gap:8px;border-radius:18px;background:#efd9f7;padding:5px 12px;font-size:14px}.category-chip .icon{width:22px;height:22px}.cart-item-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px}.remove{font-size:15px;padding:8px 11px}.remove .icon{width:23px;height:23px}.summary{align-self:start;border:1.5px solid var(--line);border-radius:28px;background:#fffafd99;box-shadow:0 3px 9px #6b267c15;padding:24px}.summary h2{font-size:clamp(24px,2.5vw,36px)}dl{margin:25px 0}dl>div{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:17px 0;font-size:20px}dd{margin:0;font-weight:700}.total{border-top:1px solid #d0a3e2;background:linear-gradient(120deg,#f4dffa,#eed3f7);border-radius:18px;padding:14px;margin:20px -10px;font-size:29px;font-weight:800}.total .money{font-size:33px}.remaining{font-size:17px}.insufficient,.budget-warning{color:#b53d72}.budget-warning{font-size:14px;line-height:1.5;margin-bottom:16px}.checkout{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;border-radius:25px;background:linear-gradient(150deg,#cf82e4,#982bb8 70%,#741b90);box-shadow:inset 0 3px 3px #e4b0f3,0 3px 0 #76208d;color:white;padding:18px 12px;font-size:24px;font-weight:800;line-height:1.1}.checkout .icon{width:45px;height:45px}.checkout-note{text-align:center;font-size:15px;color:#a566b5;margin-top:18px}.placeholder{text-align:center;height:calc(100dvh - var(--head) - var(--nav));overflow:auto;padding:65px 20px}.placeholder p{margin:20px auto;max-width:440px;line-height:1.7;color:#98729f}.profile-money{margin-bottom:25px}#toast{position:fixed;z-index:100;bottom:calc(var(--nav) + 15px);left:50%;transform:translate(-50%,15px);background:#602073;color:white;box-shadow:0 4px 15px #5a236333;padding:13px 20px;border-radius:18px;max-width:90%;width:max-content;font-size:14px;opacity:0;pointer-events:none;transition:.2s}#toast.visible{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid var(--line);border-radius:30px;background:#fff7fc;color:inherit;width:min(800px,94vw);max-height:90dvh;padding:24px;overflow:auto;box-shadow:0 20px 100px #3f12434d}dialog[open]{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}dialog::backdrop{background:#4e235e66;backdrop-filter:blur(3px)}.dialog-close{position:absolute;top:12px;right:12px;padding:8px;z-index:2}.detail-visual img{width:100%;height:auto;display:block}.detail-info{padding-top:30px}.detail-info h2{font-size:29px;margin-bottom:20px}.detail-info>p:not(.brand){font-size:14px;line-height:1.7;color:#98709f;margin:20px 0}.view-switch{display:inline-flex;background:#eedcf3;border-radius:16px;padding:4px}.view-switch button{padding:10px 16px;border-radius:12px}.detail-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
@media(min-width:1500px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar{width:320px}.category{min-height:64px;font-size:21px}}
@media(max-width:1050px){.topbar{gap:12px;padding:14px 18px}.sidebar{width:235px;padding:14px 12px}.side-title h2{font-size:22px}.category{font-size:16px;gap:12px}.shop-main{padding:15px}.product-grid{gap:12px}.card-info{padding:0 12px 13px}.card-info h3{font-size:16px;min-height:40px}.money{font-size:23px}.coin{width:30px;height:30px;font-size:20px;line-height:27px}.cart-main{padding:16px;gap:15px}.summary{padding:18px}.summary dl>div{font-size:17px}.checkout{font-size:21px}.balance{padding:8px 12px}.daily-note span{display:none}}
@media(max-width:759px),(orientation:portrait){:root{--head:142px;--nav:78px}.topbar{display:grid;grid-template-columns:38px 1fr auto 37px;grid-template-rows:55px 47px;padding:8px 14px 15px;gap:8px}.topbar h1{font-size:29px}.topbar h1 .spark{display:none}.plain{padding:4px}.plain .icon{width:30px;height:30px}.balance{padding:6px 10px}.balance .money{font-size:20px;gap:5px}.balance .coin{width:27px;height:27px;line-height:24px;font-size:18px}.searchbox{grid-row:2;grid-column:1/4;height:45px;padding:8px 13px}.searchbox input{font-size:16px}.filter-button{grid-column:4;grid-row:2;padding:8px;border-radius:14px;min-height:43px}.filter-button .icon{width:22px;height:22px}.cart-button{grid-column:4;grid-row:1}.badge{min-width:22px;font-size:12px;top:-4px;right:-4px}.sidebar{position:absolute;top:var(--head);bottom:var(--nav);left:0;width:min(320px,85vw);padding:18px 14px;box-shadow:10px 0 30px #48225725}.side-title h2{font-size:27px}.category{font-size:18px;min-height:57px}.scrim.shown{display:block;position:fixed;inset:var(--head) 0 var(--nav);background:#51276555;z-index:25}.shop-main{padding:12px 13px 25px}.daily-note{font-size:11px;margin-bottom:15px}.daily-note .icon{width:15px;height:15px}.section-bar{margin-bottom:15px;gap:7px}.section-bar h2{font-size:24px}.section-bar select{max-width:125px;padding:9px 8px;font-size:13px;border-radius:14px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.product-card{border-radius:20px}.card-info{padding:0 11px 13px}.card-info h3{font-size:16px;min-height:40px}.brand{font-size:10px}.card-foot{margin-top:8px}.card-foot .money{font-size:22px;gap:5px}.card-foot .coin{width:25px;height:25px;font-size:17px;line-height:22px}.add{width:37px;height:37px;border-radius:12px}.add .icon{width:24px;height:24px}.bottom-nav{padding:7px 9px max(7px,env(safe-area-inset-bottom));border-radius:23px 23px 0 0}.bottom-nav button{font-size:14px;border-radius:20px}.bottom-nav .icon{width:30px;height:30px}.filters{flex-wrap:wrap;padding:12px;gap:12px}.filters label{font-size:13px}.filters select{max-width:180px}.compact{height:78px;grid-template-columns:43px 1fr auto;grid-template-rows:1fr;padding:12px}.compact h1{text-align:center;font-size:30px}.compact .back-button{padding:8px}.compact .back-button span,.compact .cart-button{display:none}.compact~.cart-main,.compact~.placeholder{height:calc(100dvh - 78px - var(--nav))}.cart-main{display:block;padding:15px 12px 25px}.cart-items .section-bar h2{font-size:24px}.pill{font-size:14px;padding:7px 12px}.cart-item{padding:10px;border-radius:21px}.cart-image{width:32%;margin-right:12px}.cart-item h3{font-size:18px;margin-bottom:8px}.category-chip{font-size:12px;padding:4px 9px}.category-chip .icon{width:19px;height:19px}.cart-item-foot{margin-top:10px}.cart-item-foot .money{font-size:22px;gap:5px}.remove{padding:6px 9px;min-height:37px;border-radius:12px;font-size:13px}.remove .icon{width:19px;height:19px}.summary{margin-top:20px;padding:20px;border-radius:23px}.summary h2{font-size:29px}.summary dl>div{font-size:18px}.summary .total{font-size:29px}.summary .remaining{font-size:16px}.checkout{font-size:25px;padding:20px 12px}.checkout-note{font-size:14px}.placeholder{padding-top:45px}dialog[open]{display:block;padding:15px}.detail-visual{width:75%;margin:auto}.detail-info{padding:0 10px 12px}.detail-info h2{font-size:26px;margin-bottom:12px}.detail-info>p:not(.brand){margin:13px 0}.detail-bottom .soft{font-size:14px}#toast{font-size:13px}}
@media(orientation:landscape) and (max-height:550px) and (min-width:760px){:root{--head:72px;--nav:62px}.topbar{padding:8px 17px;gap:10px}.topbar h1{font-size:29px}.searchbox{padding:7px 12px}.searchbox input{font-size:15px}.balance .money{font-size:21px}.plain .icon{width:30px;height:30px}.soft,select{min-height:38px;padding:8px 12px}.sidebar{width:220px;padding:10px}.side-title{margin-bottom:10px}.side-title h2{font-size:22px}.category{min-height:45px;border-radius:15px;padding:7px 12px}.category .icon{width:25px;height:25px}.category-list{gap:6px}.shop-main{padding:10px 15px}.daily-note{display:none}.section-bar{margin-bottom:10px}.section-bar h2{font-size:26px}.result-count{font-size:11px}.product-grid{gap:12px}.product-image img{max-height:185px}.bottom-nav{padding:5px 20px}.bottom-nav button{font-size:14px}.bottom-nav .icon{width:27px;height:27px}.cart-main{padding:12px 16px}.cart-item h3{font-size:19px}.summary h2{font-size:25px}.summary dl{margin:15px 0}.summary dl>div{margin:10px 0}.checkout{font-size:20px}.checkout .icon{width:32px;height:32px}.cart-items .section-bar h2{font-size:25px}dialog[open]{grid-template-columns:.8fr 1.2fr}.detail-info{padding-top:20px}.detail-info h2{font-size:23px}.detail-info>p:not(.brand){margin:10px 0;font-size:12px}}
@media(orientation:landscape) and (max-height:550px) and (min-width:760px){.product-image img{max-height:clamp(95px,calc(100dvh - 280px),185px)}.card-info h3{min-height:20px;font-size:14px}.card-info .brand{font-size:10px;margin-bottom:3px}.card-info{padding:0 10px 9px}.card-foot{margin-top:5px}.card-foot .money{font-size:20px}.add{height:33px;width:33px;border-radius:11px}.side-title h2{font-size:20px;white-space:nowrap}.side-title .soft{padding:5px}.side-title{gap:2px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
