/* PRÉLUDE Beauty Concierge v1 — site typography and existing purchase paths untouched */
#prelude-concierge{--pc-wine:#6f3d4c;--pc-ink:#433338;--pc-border:#e6d8d4;--pc-cream:#fffcf8;--pc-rose:#f8eeee;position:relative;z-index:165;font-family:'Noto Sans JP',sans-serif;font-size:13px;color:var(--pc-ink)}
#prelude-concierge *,#prelude-concierge *::before,#prelude-concierge *::after{box-sizing:border-box}
#prelude-concierge button,#prelude-concierge input{font:inherit}
#prelude-concierge .pc-launch{position:fixed;right:17px;bottom:78px;z-index:165;border:1px solid #caaeb3;background:linear-gradient(130deg,#774956,#5b3343);color:white;display:flex;gap:9px;align-items:center;padding:11px 17px 11px 14px;border-radius:50px;box-shadow:0 8px 28px rgba(73,34,50,.24);cursor:pointer;transition:transform .2s,box-shadow .2s}
#prelude-concierge .pc-launch:hover{transform:translateY(-3px);box-shadow:0 13px 30px rgba(73,34,50,.28)}
#prelude-concierge .pc-launch b{font-size:12px;letter-spacing:.06em;font-weight:600}#prelude-concierge .pc-launch .pc-spark{font-size:19px;line-height:1}
#prelude-concierge .pc-panel{position:fixed;right:17px;bottom:139px;z-index:166;width:min(416px,calc(100vw - 24px));height:min(680px,calc(100dvh - 165px));min-height:320px;display:flex;flex-direction:column;overflow:hidden;background:var(--pc-cream);border:1px solid #ddc4c6;border-radius:19px;box-shadow:0 22px 68px rgba(54,37,40,.26);color:var(--pc-ink)}
#prelude-concierge [hidden]{display:none!important}
#prelude-concierge .pc-head{display:flex;align-items:center;gap:10px;padding:18px 16px;background:linear-gradient(125deg,#764c58,#63404b);color:#fff;min-height:80px}
#prelude-concierge .pc-emblem{width:38px;height:38px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center;flex:none;font:23px 'Cormorant Garamond',serif}
#prelude-concierge .pc-head-copy{flex:1;min-width:0}
#prelude-concierge .pc-title{font:600 18px/1.15 'Cormorant Garamond','Shippori Mincho',serif;letter-spacing:.05em}
#prelude-concierge .pc-subtitle{font-size:10px;letter-spacing:.08em;color:#f4e1e4;margin-top:7px}
#prelude-concierge .pc-close{background:transparent;color:white;border:0;min-width:38px;min-height:38px;font-size:26px;font-weight:200;cursor:pointer}
#prelude-concierge .pc-messages{flex:1;overflow:auto;padding:17px 14px;overscroll-behavior:contain;scrollbar-color:#d7c0bc transparent;scrollbar-width:thin}
#prelude-concierge .pc-msg{max-width:91%;border-radius:16px;padding:12px 14px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:13px}
#prelude-concierge .pc-msg.pc-assistant{background:#f5eeeb;border:1px solid #e9d9d3;border-top-left-radius:4px;margin-right:auto}
#prelude-concierge .pc-msg.pc-user{background:#eadddf;border:1px solid #dbc6cb;border-top-right-radius:4px;margin-left:auto}
#prelude-concierge .pc-recommend{margin:0 0 16px 0;padding-top:2px}
#prelude-concierge .pc-rec-label{font:500 11px/1.5 'Noto Sans JP',sans-serif;letter-spacing:.08em;color:#75545f;margin-bottom:9px}
#prelude-concierge .pc-product{display:flex;flex-direction:column;gap:0;padding:10px;border:1px solid var(--pc-border);background:#fff;margin:0 0 10px;border-radius:12px;min-height:105px;color:var(--pc-ink)}
#prelude-concierge .pc-product-top{display:flex;gap:10px;align-items:center;text-decoration:none!important;color:var(--pc-ink)!important;min-height:76px}
#prelude-concierge .pc-product-top img{width:76px;height:76px;object-fit:contain;border-radius:8px;background:#f9f4f0;flex:none}
#prelude-concierge .pc-product-text{min-width:0;flex:1}
#prelude-concierge .pc-brand{font:500 10px 'Noto Sans JP',sans-serif;color:#876672;line-height:1.4}
#prelude-concierge .pc-product-name{font-size:11px;font-weight:600;line-height:1.5;margin-top:4px;overflow-wrap:anywhere}
#prelude-concierge .pc-product-hint{font-size:10px;color:#855464;margin-top:6px;display:block}
#prelude-concierge .pc-product-buy{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.5;font-size:12px;font-weight:600;min-height:46px;padding:10px 11px;margin-top:8px;border-radius:7px;background:#754854;color:#fff!important;text-decoration:none!important}
#prelude-concierge .pc-product-buy:hover{background:#59303d}
#prelude-concierge .pc-product-notice{font-size:9px;line-height:1.6;color:#887b7f;margin-top:6px;display:block}
#prelude-concierge .pc-chips{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 15px}
#prelude-concierge .pc-chip{background:#fff;border:1px solid #d9bdc3;border-radius:100px;padding:8px 11px;color:#694550;font-size:11px;line-height:1.4;cursor:pointer;text-align:left}
#prelude-concierge .pc-chip:hover,#prelude-concierge .pc-chip:focus-visible{background:#f6e8ec}
#prelude-concierge .pc-compose{border-top:1px solid var(--pc-border);padding:12px 13px 13px;background:#fff}
#prelude-concierge .pc-form{display:flex;gap:7px;align-items:center}
#prelude-concierge .pc-input{width:100%;min-width:0;flex:1;background:#fffdfb;border:1px solid #d7c5c5;border-radius:30px;min-height:43px;padding:10px 14px;color:#433338;font-size:12px;outline-offset:2px}
#prelude-concierge .pc-send{border:0;border-radius:50%;background:#734855;color:#fff;height:42px;width:42px;flex:none;font-size:20px;cursor:pointer}
#prelude-concierge .pc-send:disabled{background:#b5a3a9;cursor:wait}
#prelude-concierge .pc-footnote{font-size:9px;color:#887f7e;line-height:1.65;margin-top:9px}
#prelude-concierge .pc-footnote a{color:#75545f;text-decoration:underline}
#prelude-concierge .pc-typing{font-size:11px;color:#927c80;padding:0 4px 10px}
#prelude-concierge :focus-visible{outline:2px solid #ac6d83;outline-offset:2px}
@media(max-width:760px){#prelude-concierge .pc-launch{right:12px;bottom:calc(86px + env(safe-area-inset-bottom));padding:11px 15px}
#prelude-concierge .pc-panel{right:9px;bottom:calc(140px + env(safe-area-inset-bottom));width:calc(100vw - 18px);height:min(660px,calc(100dvh - 180px));border-radius:16px}
#prelude-concierge .pc-messages{padding:14px 12px}#prelude-concierge .pc-head{padding:13px 15px;min-height:75px}}
@media(max-height:590px){#prelude-concierge .pc-panel{bottom:4px;height:calc(100dvh - 8px)}#prelude-concierge .pc-launch{bottom:16px}}
@media(prefers-reduced-motion:reduce){#prelude-concierge .pc-launch{transition:none}}
