:root{color:#2c2925;background:#f8f4ee;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}html{overflow-x:hidden}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:linear-gradient(180deg,rgba(255,251,246,.95),rgba(248,244,238,.98)),#f8f4ee}button,input{font:inherit}button{border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.page-shell{width:min(100%,430px);min-height:100vh;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 16px 32px}.page-shell.has-selection-bar{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.hero{padding:18px 2px 14px}.eyebrow{margin:0 0 8px;color:#9a7a5e;font-size:11px;font-weight:700;letter-spacing:0}h1{margin:0;color:#26211d;font-size:28px;line-height:1.18;font-weight:700}.subtitle{max-width:320px;margin:10px 0 0;color:#6f665e;font-size:14px;line-height:1.7}.toolbar{position:sticky;top:0;z-index:2;margin:8px -16px 0;padding:12px 16px 14px;background:rgba(248,244,238,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.search-box{display:flex;align-items:center;min-height:48px;padding:0 14px;border:1px solid rgba(129,105,81,.18);border-radius:8px;background:rgba(255,255,255,.78);box-shadow:0 10px 28px #5846300f}.search-box span{flex:0 0 auto;color:#8a735f;font-size:13px;font-weight:700}.search-box input{width:100%;min-width:0;margin-left:12px;border:0;outline:0;background:transparent;color:#2f2a25;font-size:15px}.search-box input::placeholder{color:#b7aaa0}.category-row{display:flex;gap:8px;margin-top:12px;overflow-x:auto;scrollbar-width:none}.category-row::-webkit-scrollbar{display:none}.category-row button{flex:0 0 auto;min-width:58px;height:34px;padding:0 14px;border:1px solid rgba(128,104,80,.18);border-radius:999px;background:rgba(255,255,255,.64);color:#766a60;font-size:13px}.category-row button.active{border-color:#2f2a25;background:#2f2a25;color:#fffaf4}.home-action-button{width:100%;min-height:58px;padding:11px 12px;border:1px solid transparent;border-radius:10px;font-size:15px;font-weight:700;line-height:1.2;box-shadow:0 12px 26px #4739281a}.home-action-button span{display:block;margin-top:5px;font-size:11px;font-weight:600}.guide-action{border-color:#5b7c662e;background:rgba(239,248,241,.82);color:#4f6e5b;box-shadow:0 8px 18px #47392812}.guide-action span{color:#6b8a75}.special-action{border-color:#7d433047;background:linear-gradient(135deg,rgba(255,247,239,.96),rgba(238,191,169,.92)),#f0d0bd;color:#783f2d;box-shadow:0 16px 34px #7d433033}.special-action span{color:#9c674f}.new-sample-action{border-color:#7e694c33;background:linear-gradient(180deg,#fff8ec,#f2e4c9);color:#765d37;box-shadow:0 10px 22px #7e694c1a}.new-sample-action span{color:#9a8053}.full-bottle-action{border-color:#465b6e3d;background:linear-gradient(180deg,#edf6f8,#d6e8ef);color:#334f5e;box-shadow:0 13px 28px #465b6e24}.full-bottle-action span{color:#66808d}.home-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;padding:10px;border:1px solid rgba(126,103,82,.1);border-radius:14px;background:rgba(255,250,244,.52);box-shadow:0 14px 34px #47392814}.home-action-button.primary-action{grid-column:1 / -1;min-height:72px;font-size:18px}.home-action-button.primary-action span{font-size:12px}.home-action-button.secondary-action{grid-column:1 / -1;min-height:68px;font-size:17px;box-shadow:0 14px 30px #465b6e29}.guide-header{padding:18px 2px 10px}.guide-back{min-height:36px;margin-bottom:16px;padding:0 14px;border:1px solid rgba(128,104,80,.18);border-radius:999px;background:rgba(255,255,255,.68);color:#665b52;font-size:13px;font-weight:700}.guide-tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px 0 2px}.guide-tags button{min-height:40px;padding:0 10px;border:1px solid rgba(128,104,80,.16);border-radius:8px;background:rgba(255,255,255,.68);color:#6f6258;font-size:13px;font-weight:700}.guide-tags button.active{border-color:#2f2a25;background:#2f2a25;color:#fffaf4}.list-header{display:flex;align-items:baseline;justify-content:space-between;padding:18px 2px 10px}.list-header p{margin:0;color:#332d28;font-size:18px;font-weight:700}.list-header span{color:#8d8278;font-size:13px}.perfume-list{display:grid;gap:14px}.special-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.perfume-card{overflow:hidden;border:1px solid rgba(126,103,82,.14);border-radius:8px;background:rgba(255,255,255,.82);box-shadow:0 14px 34px #47392814}.image-wrap{aspect-ratio:1 / 1;padding:18px;border-radius:8px 8px 0 0;background:#f8f6f2}.image-wrap img{width:100%;height:100%;display:block;object-fit:contain;border-radius:6px}.image-placeholder{width:100%;height:100%;border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(242,237,229,.78)),#f8f6f2}.card-content{padding:15px 14px 14px}.brand{margin:0 0 5px;color:#9b7253;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}h2{margin:0;color:#2d2722;font-size:20px;line-height:1.32}.notes,.review,.scene{margin:9px 0 0;color:#625951;font-size:14px;line-height:1.65}.notes{color:#4f4741;font-weight:600;white-space:pre-line}.scene{color:#7c6d61}.price-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}.price-tag{min-height:58px;padding:8px 6px;border-radius:8px;background:#f7f0e8;text-align:center}.price-tag span,.price-tag strong{display:block}.price-tag span{color:#887768;font-size:12px;line-height:1.2}.price-tag strong{margin-top:6px;color:#2f2a25;font-size:12px;line-height:1.25;font-weight:700;word-break:keep-all}.add-selection-button{width:100%;min-height:44px;margin-top:12px;border-radius:8px;background:#2f2a25;color:#fffaf4;font-size:14px;font-weight:700}.special-card{border-color:#8e5b3e2e}.special-card .image-wrap{padding:10px}.special-card .card-content{padding:12px 10px}.special-card .brand{margin-bottom:4px;font-size:11px}.special-card h2{min-height:42px;font-size:16px;line-height:1.32;overflow-wrap:anywhere}.special-price-box{display:grid;gap:7px;margin-top:10px}.special-price-box div{min-height:54px;padding:8px 7px;border:1px solid rgba(128,104,80,.14);border-radius:8px;background:#f7f0e8;text-align:center}.special-price-box span,.special-price-box strong{display:block}.special-price-box span{color:#887768;font-size:12px;line-height:1.2}.special-price-box strong{margin-top:6px;color:#2f2a25;font-size:13px;line-height:1.25}.special-price-box .special-price{border-color:#8e5b3e3d;background:#f4e7dc}.special-price-box .special-price strong{color:#8b5d45;font-size:17px}.special-note{margin:10px 0 0;padding:9px 10px;border-radius:8px;background:rgba(142,91,62,.08);color:#7c5e4c;font-size:13px;line-height:1.55}.special-card .add-selection-button{min-height:40px;font-size:13px}.special-unavailable{display:grid;place-items:center;min-height:40px;margin-top:12px;border-radius:8px;background:rgba(47,42,37,.08);color:#8d8278;font-size:13px;font-weight:700}.new-products-grid,.deals-products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.new-product-card,.deal-product-card{box-shadow:0 10px 24px #47392812}.new-product-card .image-wrap,.deal-product-card .image-wrap{padding:9px}.new-product-card .card-content,.deal-product-card .card-content{padding:10px 9px}.new-product-card .brand,.deal-product-card .brand{margin-bottom:4px;font-size:10px;line-height:1.25;overflow-wrap:anywhere}.new-product-card h2,.deal-product-card h2{min-height:40px;font-size:15px;line-height:1.32;overflow-wrap:anywhere}.tag-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.tag-list span{max-width:100%;padding:4px 6px;border-radius:999px;background:rgba(91,124,102,.1);color:#5f7666;font-size:10px;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-sample-price-grid{grid-template-columns:minmax(0,1fr);margin-top:9px}.new-sample-price-grid .price-tag{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:42px;padding:8px 11px;background:#f4e7dc;text-align:left}.new-sample-price-grid .price-tag span,.new-sample-price-grid .price-tag strong{margin:0}.new-sample-price-grid .price-tag strong{color:#8b5d45;font-size:15px}.new-product-card .add-selection-button,.deal-product-card .add-selection-button{min-height:40px;margin-top:10px;font-size:13px}.deal-product-card{border-color:#465b6e29}.deal-product-card .full-bottle-image{background:#f4f7f6}.full-bottle-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:7px}.full-bottle-title-row>div{min-width:0}.deal-product-card .full-bottle-title-row h2{min-height:40px;font-size:15px;overflow-wrap:anywhere}.full-bottle-title-row>span{flex:0 0 auto;margin-top:2px;padding:4px 6px;border-radius:8px;background:rgba(70,91,110,.1);color:#506978;font-size:11px;font-weight:700;line-height:1}.full-bottle-price-row{display:flex;flex-direction:column;gap:4px;margin-top:9px;padding:8px 9px;border-radius:8px;background:#f4e7dc}.full-bottle-price-row .original-price{color:#8b7b6d;font-size:11px;text-decoration:line-through}.full-bottle-price-row strong{color:#8b4e35;font-size:16px;line-height:1.2}.full-bottle-notes{display:grid;gap:4px;margin-top:8px;padding:7px 8px;border:1px solid rgba(126,103,82,.12);border-radius:8px;background:rgba(248,246,242,.72)}.full-bottle-notes:empty{display:none}.full-bottle-note-line{margin:0;color:#5f554d;font-size:11px;line-height:1.45}.compact-notes{max-height:54px;overflow:hidden}.full-bottle-note-line span{color:#8b5d45;font-weight:700}@media (max-width: 360px){.new-products-grid,.deals-products-grid{gap:8px}.new-product-card .card-content,.deal-product-card .card-content{padding:9px 8px}.new-product-card h2,.deal-product-card h2,.deal-product-card .full-bottle-title-row h2{font-size:14px}.price-tag strong{font-size:11px}}.placeholder-page{display:grid;place-items:center;min-height:260px;margin-top:18px;padding:28px 18px;border:1px solid rgba(126,103,82,.14);border-radius:8px;background:rgba(255,250,244,.78);color:#766a60;font-size:15px;line-height:1.7;text-align:center;box-shadow:0 12px 30px #4739280f}.selection-bar{position:fixed;left:50%;bottom:max(14px,env(safe-area-inset-bottom));z-index:10;width:min(calc(100% - 32px),398px);min-height:52px;transform:translate(-50%);border:1px solid rgba(47,42,37,.1);border-radius:999px;background:#2f2a25;color:#fffaf4;font-size:15px;font-weight:700;box-shadow:0 16px 36px #2f2a2538}.back-to-top{position:fixed;right:max(16px,calc((100vw - 430px)/2 + 16px));bottom:calc(86px + env(safe-area-inset-bottom));z-index:11;width:46px;height:46px;border:1px solid rgba(126,103,82,.16);border-radius:999px;background:rgba(255,250,244,.94);color:#3a332d;font-size:20px;font-weight:700;line-height:1;box-shadow:0 12px 30px #47392829;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:flex-end;justify-content:center;padding:0 12px;background:rgba(39,33,28,.28)}.spec-panel,.selection-panel{width:min(100%,430px);max-height:min(88vh,720px);overflow:hidden;border:1px solid rgba(126,103,82,.16);border-radius:16px 16px 0 0;background:#fffaf4;box-shadow:0 -18px 46px #30271e2e}.panel-handle{width:42px;height:4px;margin:10px auto 12px;border-radius:999px;background:rgba(103,84,67,.22)}.spec-panel{padding:0 16px 16px}.spec-header{display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;align-items:center}.sheet-thumb,.selection-thumb{aspect-ratio:1 / 1;border-radius:8px;background:#f8f6f2}.sheet-thumb{padding:8px}.sheet-thumb img,.selection-thumb img{width:100%;height:100%;display:block;object-fit:contain;border-radius:6px}.sheet-thumb .image-placeholder,.selection-thumb .image-placeholder{width:100%;height:100%}.spec-header h3,.selection-detail h3{margin:0;color:#2d2722;font-size:17px;line-height:1.35}.spec-header p:not(.brand){margin:6px 0 0;color:#81756b;font-size:13px;line-height:1.5}.spec-options{display:grid;gap:10px;margin-top:16px}.spec-option{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 14px;border:1px solid rgba(128,104,80,.16);border-radius:8px;background:rgba(248,246,242,.86);color:#2f2a25;text-align:left}.spec-option span{font-size:14px;font-weight:700}.spec-option strong{color:#7d6e61;font-size:13px}.spec-option:disabled{color:#b4a79b;background:rgba(240,234,226,.58);cursor:not-allowed}.sheet-close{width:100%;min-height:44px;margin-top:12px;border-radius:8px;background:rgba(47,42,37,.08);color:#4f4741;font-size:14px;font-weight:700}.selection-panel{display:flex;flex-direction:column;padding:0}.selection-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px 14px;border-bottom:1px solid rgba(126,103,82,.12)}.selection-header p{margin:0;color:#2d2722;font-size:18px;font-weight:700}.selection-header span{display:block;margin-top:4px;color:#81756b;font-size:12px}.selection-header button{min-width:58px;height:34px;border-radius:8px;background:#f2ece4;color:#4f4741;font-size:13px;font-weight:700}.selection-items{display:grid;gap:10px;overflow-y:auto;padding:12px 14px}.selection-item{display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;padding:10px;border:1px solid rgba(126,103,82,.12);border-radius:8px;background:rgba(255,255,255,.74)}.selection-thumb{padding:8px}.selection-detail{min-width:0}.selection-detail .brand{margin-bottom:3px}.selection-meta{display:grid;gap:4px;margin-top:7px;color:#75695f;font-size:12px;line-height:1.35}.selection-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.quantity-stepper{display:grid;grid-template-columns:32px 34px 32px;align-items:center;overflow:hidden;border:1px solid rgba(128,104,80,.16);border-radius:8px;background:#f8f3ec}.quantity-stepper button{height:32px;background:transparent;color:#3a332d;font-size:18px}.quantity-stepper span{color:#2f2a25;font-size:13px;font-weight:700;text-align:center}.remove-button{min-width:44px;height:32px;border-radius:8px;background:rgba(142,91,62,.1);color:#8b5d45;font-size:12px;font-weight:700}.selection-footer{padding:12px 16px calc(16px + env(safe-area-inset-bottom));border-top:1px solid rgba(126,103,82,.12);background:rgba(255,250,244,.96)}.selection-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.selection-summary span{color:#75695f;font-size:13px}.selection-summary strong{color:#2f2a25;font-size:16px}.consult-tip,.screenshot-tip{margin:8px 0 0;color:#81756b;font-size:12px;line-height:1.5}.consult-tip{color:#8b5d45}.clear-button{width:100%;min-height:42px;margin-top:12px;border-radius:8px;background:rgba(47,42,37,.08);color:#4f4741;font-size:14px;font-weight:700}.empty-selection{padding:48px 16px 64px;color:#81756b;font-size:14px;text-align:center}.toast{position:fixed;left:50%;bottom:calc(76px + env(safe-area-inset-bottom));z-index:30;transform:translate(-50%);padding:10px 16px;border-radius:999px;background:rgba(47,42,37,.92);color:#fffaf4;font-size:13px;box-shadow:0 12px 28px #2f2a2538;white-space:nowrap}.empty-state{padding:36px 18px;border:1px solid rgba(126,103,82,.14);border-radius:8px;background:rgba(255,255,255,.68);color:#7b7068;text-align:center}@media (max-width: 360px){.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-item{grid-template-columns:64px minmax(0,1fr)}.selection-actions{align-items:flex-start;flex-direction:column}}
