/* ========== コスラボ styles ========== */
:root{
  --mint:#3fd0c1;
  --mint-dark:#17a897;
  --mint-soft:#eafaf7;
  --ink:#1c2b2b;
  --gray:#8a9a99;
  --line:#eef1f1;
  --bg:#f6f9f9;
  --card:#ffffff;
  --gold:#ffb300;
  --pink:#ff6f8b;
  --rank1:#ffcf3f;
  --rank2:#c7ced4;
  --rank3:#e0a678;
  --shadow:0 4px 18px rgba(20,60,60,.07);
  --maxw:520px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;padding:0;}
body{
  font-family:-apple-system,"Hiragino Sans","Noto Sans JP","Yu Gothic UI",Roboto,sans-serif;
  background:var(--bg); color:var(--ink);
  line-height:1.6; font-size:15px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}

/* レイアウト：中央寄せ・スマホ幅 */
.app{max-width:var(--maxw);margin:0 auto;min-height:100vh;background:var(--bg);position:relative;padding-bottom:76px;}

/* ヘッダー */
.appbar{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
  padding:12px 16px;display:flex;align-items:center;gap:10px;
}
.appbar .logo{font-weight:800;font-size:20px;color:var(--mint-dark);letter-spacing:-.3px;display:flex;align-items:center;gap:8px;}
.appbar .logo .logo-mark{display:inline-flex;}
.appbar .logo .logo-mark svg{display:block;border-radius:8px;}
.appbar .room-btn{
  margin-left:auto;background:linear-gradient(135deg,#bf0000,#ff4d4d);color:#fff;
  font-size:12px;font-weight:700;padding:8px 12px;border-radius:999px;
  display:flex;align-items:center;gap:5px;box-shadow:0 2px 8px rgba(191,0,0,.25);
}
.appbar .rakuten-badge{margin-left:auto;display:flex;align-items:baseline;gap:4px;padding:6px 11px;border-radius:10px;
  background:#bf0000;box-shadow:0 2px 8px rgba(191,0,0,.22);}
.appbar .rakuten-badge .rk-word{color:#fff;font-weight:800;font-size:14px;letter-spacing:-.3px;}
.appbar .rakuten-badge .rk-sub{color:#ffd7d7;font-size:10px;font-weight:700;}

/* セクション見出し */
.section{padding:18px 16px 4px;}
.section h2{font-size:17px;margin:0 0 2px;font-weight:800;letter-spacing:-.3px;}
.section .sub{font-size:12px;color:var(--gray);margin:0 0 12px;}
.section-more{margin-left:auto;font-size:12px;color:var(--mint-dark);font-weight:700;}
.row-head{display:flex;align-items:baseline;padding:18px 16px 10px;}
.row-head h2{font-size:17px;margin:0;font-weight:800;}

/* ヒーロー */
.hero{
  margin:14px 16px 4px;border-radius:20px;overflow:hidden;position:relative;
  background:linear-gradient(135deg,#4fd6c8,#86e5da);color:#fff;padding:22px 20px;
  box-shadow:var(--shadow);
}
.hero h1{font-size:22px;margin:0 0 6px;font-weight:800;line-height:1.35;letter-spacing:-.5px;}
.hero p{margin:0;font-size:13px;opacity:.95;}
.hero .badge{display:inline-block;background:rgba(255,255,255,.25);font-size:11px;padding:4px 10px;border-radius:999px;margin-bottom:10px;font-weight:700;}
.hero .sparkle{position:absolute;right:-10px;bottom:-10px;font-size:96px;opacity:.18;}

/* カテゴリチップ */
.chips{display:flex;gap:8px;overflow-x:auto;padding:12px 16px;scrollbar-width:none;}
.chips::-webkit-scrollbar{display:none;}
.chip{
  flex:0 0 auto;background:var(--card);border:1px solid var(--line);
  border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700;color:var(--gray);
  display:flex;align-items:center;gap:6px;transition:.15s;
}
.chip.active{background:var(--mint);color:#fff;border-color:var(--mint);box-shadow:0 3px 10px rgba(38,198,182,.3);}

/* 横スクロール カード */
.hscroll{display:flex;gap:12px;overflow-x:auto;padding:4px 16px 16px;scrollbar-width:none;}
.hscroll::-webkit-scrollbar{display:none;}
.mini-card{
  flex:0 0 132px;background:var(--card);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);
}
.mini-card .thumb{height:120px;background:var(--mint-soft);display:flex;align-items:center;justify-content:center;font-size:46px;position:relative;}
.mini-card .thumb img{width:100%;height:100%;object-fit:cover;}
.mini-card .rk{position:absolute;top:6px;left:6px;background:#fff;color:var(--mint-dark);font-weight:800;font-size:12px;width:24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);}
.mini-card .info{padding:8px 10px 12px;}
.mini-card .brand{font-size:10px;color:var(--gray);}
.mini-card .name{font-size:12px;font-weight:700;line-height:1.35;height:2.7em;overflow:hidden;}
.mini-card .price{font-size:13px;font-weight:800;margin-top:4px;}

/* ランキング リスト（縦） */
.rank-list{padding:6px 16px 8px;}
.rank-item{
  display:flex;gap:12px;background:var(--card);border-radius:16px;padding:12px;
  margin-bottom:10px;box-shadow:var(--shadow);align-items:center;
}
.rank-badge{
  flex:0 0 34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:16px;color:#fff;background:var(--gray);
}
.rank-badge.r1{background:linear-gradient(135deg,#ffd83f,#ffb300);}
.rank-badge.r2{background:linear-gradient(135deg,#d6dde2,#aeb8bf);}
.rank-badge.r3{background:linear-gradient(135deg,#e6b483,#cf8a52);}
.rank-thumb{flex:0 0 62px;height:62px;border-radius:12px;background:var(--mint-soft);display:flex;align-items:center;justify-content:center;font-size:30px;overflow:hidden;}
.rank-thumb img{width:100%;height:100%;object-fit:cover;}
.rank-body{flex:1;min-width:0;}
.rank-body .brand{font-size:11px;color:var(--gray);}
.rank-body .name{font-size:14px;font-weight:700;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.rank-body .meta{display:flex;align-items:center;gap:8px;margin-top:3px;font-size:12px;color:var(--gray);}
.rank-body .stars{color:var(--gold);font-weight:700;}
.rank-body .price{font-weight:800;color:var(--ink);}
.rank-body .tags{margin-top:5px;display:flex;gap:4px;flex-wrap:wrap;}
.tag{font-size:10px;background:var(--mint-soft);color:var(--mint-dark);padding:2px 7px;border-radius:6px;font-weight:700;}
.rank-actions{display:flex;flex-direction:column;gap:6px;flex:0 0 auto;}
.buy-btn{background:linear-gradient(135deg,#bf0000,#ff4d4d);color:#fff;font-size:11px;font-weight:800;padding:7px 10px;border-radius:10px;white-space:nowrap;box-shadow:0 2px 8px rgba(191,0,0,.22);}
.save-btn{border:1px solid var(--line);border-radius:10px;padding:6px;font-size:16px;background:#fff;}
.save-btn.saved{color:var(--pink);border-color:var(--pink);}

/* 成分検索 */
.search-wrap{padding:14px 16px 4px;}
.search-box{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px;box-shadow:var(--shadow);}
.search-box input{border:none;outline:none;flex:1;font-size:15px;background:transparent;}
.ing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:14px 16px;}
.ing-card{background:var(--card);border-radius:14px;padding:14px;box-shadow:var(--shadow);}
.ing-card .ic{font-size:26px;}
.ing-card .t{font-weight:800;font-size:14px;margin-top:6px;}
.ing-card .d{font-size:11px;color:var(--gray);margin-top:2px;}
.ing-card .cnt{font-size:11px;color:var(--mint-dark);font-weight:700;margin-top:6px;}

/* 診断 */
.diag{padding:16px;}
.diag .q{background:var(--card);border-radius:16px;padding:16px;box-shadow:var(--shadow);margin-bottom:14px;}
.diag .q h3{margin:0 0 10px;font-size:15px;}
.opt-grid{display:flex;flex-wrap:wrap;gap:8px;}
.opt{border:1.5px solid var(--line);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700;color:var(--gray);background:#fff;}
.opt.sel{background:var(--mint);color:#fff;border-color:var(--mint);}
.diag-btn{width:100%;background:var(--mint);color:#fff;font-weight:800;font-size:15px;padding:15px;border-radius:14px;box-shadow:0 4px 14px rgba(38,198,182,.35);}
.diag-btn:disabled{background:#cfe0de;box-shadow:none;}
.result-score{text-align:center;background:var(--card);border-radius:20px;padding:24px;box-shadow:var(--shadow);margin-bottom:14px;}
.result-score .big{font-size:46px;font-weight:800;color:var(--mint-dark);line-height:1;}
.result-score .lbl{font-size:13px;color:var(--gray);margin-top:6px;}

/* 空・ローディング */
.empty{text-align:center;color:var(--gray);padding:40px 20px;font-size:14px;}
.skeleton{background:linear-gradient(90deg,#eef1f1,#f7fafa,#eef1f1);background-size:200% 100%;animation:sk 1.2s infinite;border-radius:16px;height:86px;margin:0 16px 10px;}
@keyframes sk{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.live-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:#bf0000;background:#ffe9e9;padding:3px 9px;border-radius:999px;margin-left:8px;}
.live-pill .blink{width:6px;height:6px;border-radius:50%;background:#bf0000;animation:blink 1.2s infinite;}
@keyframes blink{50%{opacity:.3;}}
.sample-note{font-size:11px;color:var(--gray);background:#fff6e5;border:1px solid #ffe1a8;color:#946200;padding:8px 12px;border-radius:10px;margin:0 16px 8px;}

/* アカウント（ログイン） */
.account{margin:6px 16px 4px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;
  display:flex;align-items:center;gap:12px;box-shadow:var(--shadow);}
.account .acc-info{flex:1;min-width:0;}
.account .acc-info b{font-size:14px;display:block;}
.account .acc-info small{font-size:11.5px;color:var(--gray);}
.acc-photo{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:0 0 auto;}
.acc-photo.ph{display:grid;place-items:center;background:var(--mint-soft);font-size:20px;}
.acc-in{flex:0 0 auto;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);
  border-radius:10px;padding:10px 14px;font-weight:700;font-size:13px;color:#3c4043;box-shadow:0 1px 3px rgba(0,0,0,.08);}
.acc-in svg{display:block;}
.acc-out{flex:0 0 auto;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:12px;font-weight:700;color:var(--gray);background:#fff;}

/* ROOM バナー */
.room-banner{margin:14px 16px;background:linear-gradient(135deg,#bf0000,#ff5a5a);color:#fff;border-radius:18px;padding:16px 18px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 16px rgba(191,0,0,.25);}
.room-banner .rt{flex:1;}
.room-banner .rt b{font-size:15px;}
.room-banner .rt p{margin:2px 0 0;font-size:12px;opacity:.9;}
.room-banner .go{background:#fff;color:#bf0000;font-weight:800;font-size:12px;padding:9px 14px;border-radius:999px;white-space:nowrap;}

/* 詳細モーダル */
.modal{position:fixed;inset:0;z-index:100;display:none;}
.modal.open{display:block;}
.modal .backdrop{position:absolute;inset:0;background:rgba(20,40,40,.45);}
.sheet{
  position:absolute;left:0;right:0;bottom:0;max-width:var(--maxw);margin:0 auto;
  background:var(--bg);border-radius:22px 22px 0 0;max-height:88vh;overflow-y:auto;
  animation:slideup .25s ease;
}
@keyframes slideup{from{transform:translateY(100%);}to{transform:translateY(0);}}
.sheet .close{position:sticky;top:0;text-align:right;padding:12px 16px;font-size:22px;color:var(--gray);background:var(--bg);z-index:2;}
.sheet .hero-img{height:180px;background:var(--mint-soft);display:flex;align-items:center;justify-content:center;font-size:80px;margin:0 16px;border-radius:18px;overflow:hidden;}
.sheet .hero-img img{width:100%;height:100%;object-fit:contain;}
.sheet .d-body{padding:16px;}
.sheet .d-brand{color:var(--gray);font-size:13px;}
.sheet .d-name{font-size:20px;font-weight:800;margin:2px 0 8px;line-height:1.4;}
.sheet .d-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.sheet .d-price{font-size:22px;font-weight:800;}
.sheet .d-sec{background:var(--card);border-radius:14px;padding:14px;margin-bottom:12px;box-shadow:var(--shadow);}
.sheet .d-sec h4{margin:0 0 8px;font-size:13px;color:var(--gray);}
.ing-chip{display:inline-block;background:var(--mint-soft);color:var(--mint-dark);font-size:12px;font-weight:700;padding:5px 10px;border-radius:8px;margin:0 6px 6px 0;}
.d-cta{position:sticky;bottom:0;background:var(--bg);padding:12px 16px 20px;display:flex;gap:10px;}
.d-cta .buy{flex:1;background:linear-gradient(135deg,#bf0000,#ff4d4d);color:#fff;font-weight:800;font-size:16px;padding:15px;border-radius:14px;text-align:center;box-shadow:0 4px 14px rgba(191,0,0,.3);}
.d-cta .room{background:#fff;border:1.5px solid #bf0000;color:#bf0000;font-weight:800;padding:15px 16px;border-radius:14px;}

/* ボトムナビ */
.tabbar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;max-width:var(--maxw);margin:0 auto;
  background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);
  display:flex;padding:6px 0 max(6px,env(safe-area-inset-bottom));
}
.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--gray);font-size:10px;font-weight:700;padding:6px 0;}
.tabbar button .ic{font-size:21px;line-height:1;display:flex;align-items:center;justify-content:center;height:23px;}
.tabbar button .ic svg{display:block;}
.cta-main .ic,.cta-sub .ic{display:inline-flex;align-items:center;justify-content:center;color:var(--mint-dark);}
.cta-main .ic{background:var(--mint-soft);border-radius:12px;padding:9px;}
.cam-ph svg{color:var(--gray);opacity:.7;}
/* OCRボタン */
.ocr-btn{width:100%;margin:-4px 0 14px;background:var(--card);border:1.5px solid var(--mint);color:var(--mint-dark);
  font-weight:800;font-size:13.5px;padding:11px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:7px;}
.ocr-btn:disabled{opacity:.6;}
.ocr-btn svg{display:block;}
.ocr-status{font-size:12px;color:var(--gray);text-align:center;margin:-8px 0 12px;min-height:1em;}
.tabbar button.active{color:var(--mint-dark);}

/* ホームCTA */
.home-cta{padding:14px 16px 4px;}
.cta-main{width:100%;display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);
  border-radius:16px;padding:16px;box-shadow:var(--shadow);text-align:left;}
.cta-main .ic{font-size:28px;flex:0 0 auto;}
.cta-main b{font-size:15px;display:block;}
.cta-main small{font-size:11.5px;color:var(--gray);}
.cta-main .go{margin-left:auto;color:var(--mint-dark);font-weight:800;font-size:20px;}
.cta-main.chat{margin-top:10px;}
.cta-main.chat .chat-ic{font-size:26px;background:#fff3f0;border-radius:12px;padding:8px 9px;}
.cta-row{display:flex;gap:10px;margin-top:10px;}

/* AI相談チャット */
.chat-wrap{display:flex;flex-direction:column;height:calc(100vh - 60px - 62px);}
.chat-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--card);}
.chat-avatar{font-size:24px;background:var(--mint-soft);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;overflow:hidden;}
.chat-avatar svg,.cavatar svg,.chat-ic svg{display:block;}
.chat-title b{font-size:15px;display:block;}
.chat-title small{font-size:11.5px;color:var(--gray);}
.chat-msgs{flex:1;overflow-y:auto;padding:14px 14px 6px;display:flex;flex-direction:column;gap:10px;}
.chat-hero{display:flex;justify-content:center;padding:4px 0 2px;}
.chat-hero svg{display:block;}
.cbubble{display:flex;gap:8px;align-items:flex-end;max-width:88%;}
.cbubble.me{align-self:flex-end;flex-direction:row-reverse;}
.cbubble.ai{align-self:flex-start;}
.cavatar{font-size:18px;flex:0 0 auto;background:var(--mint-soft);border-radius:50%;width:28px;height:28px;display:grid;place-items:center;}
.ctext{padding:10px 13px;border-radius:15px;font-size:14px;line-height:1.6;}
.cbubble.ai .ctext{background:var(--card);border:1px solid var(--line);border-bottom-left-radius:4px;}
.cbubble.me .ctext{background:var(--mint);color:#fff;border-bottom-right-radius:4px;}
.ctext.typing{color:var(--gray);font-style:italic;}
.chat-quick{display:flex;gap:8px;overflow-x:auto;padding:8px 14px;scrollbar-width:none;}
.chat-quick::-webkit-scrollbar{display:none;}
.cq{flex:0 0 auto;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 13px;font-size:12.5px;font-weight:700;color:var(--mint-dark);white-space:nowrap;}
.chat-input{display:flex;gap:8px;padding:8px 14px;border-top:1px solid var(--line);background:var(--card);}
.chat-input input{flex:1;border:1px solid var(--line);border-radius:999px;padding:12px 16px;font-size:15px;background:var(--bg);outline:none;}
.chat-input input:focus{border-color:var(--mint);}
.chat-send{flex:0 0 auto;background:var(--mint);color:#fff;font-weight:800;font-size:14px;padding:0 18px;border-radius:999px;}
.chat-send:disabled{background:#cfe0de;}
.chat-mic{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:var(--card);border:1px solid var(--line);font-size:19px;display:grid;place-items:center;}
.chat-mic.on{background:var(--pink);border-color:var(--pink);color:#fff;animation:micpulse 1.1s ease-in-out infinite;}
@keyframes micpulse{0%,100%{box-shadow:0 0 0 0 rgba(224,69,123,.45);}50%{box-shadow:0 0 0 8px rgba(224,69,123,0);}}
@media (prefers-reduced-motion: reduce){.chat-mic.on{animation:none;}}
.chat-note{font-size:10.5px;color:var(--gray);text-align:center;margin:0;padding:6px 14px 10px;}
.cta-sub{flex:1;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;
  font-weight:700;font-size:13px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;gap:6px;}
.cta-sub .ic{font-size:18px;}

/* 価格比較：国セレクタ */
.ct-chips{display:flex;gap:8px;overflow-x:auto;padding:12px 16px 4px;scrollbar-width:none;}
.ct-chips::-webkit-scrollbar{display:none;}
.ct-chip{flex:0 0 auto;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 13px;
  font-size:13px;font-weight:700;color:var(--gray);white-space:nowrap;}
.ct-chip.active{background:var(--mint);color:#fff;border-color:var(--mint);box-shadow:0 3px 10px rgba(38,198,182,.3);}

/* 価格比較 */
.cmp{padding:14px 16px;}
.cmp-photo{position:relative;height:190px;border-radius:16px;border:2px dashed var(--line);background:var(--mint-soft);
  display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;margin-bottom:14px;}
.cmp-photo.has{border-style:solid;}
.cmp-photo img{width:100%;height:100%;object-fit:cover;}
.cam-ph{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--gray);font-size:13px;font-weight:700;}
.cam-ph span{font-size:38px;}
.photo-x{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.55);
  color:#fff;font-size:14px;display:grid;place-items:center;}
.cmp-field{display:block;margin-bottom:12px;}
.cmp-field span{display:block;font-size:12px;font-weight:700;color:var(--gray);margin-bottom:5px;}
.cmp-field input{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 14px;font-size:15px;
  background:var(--card);outline:none;}
.cmp-field input:focus{border-color:var(--mint);}
.cmp-btn{width:100%;background:var(--mint);color:#fff;font-weight:800;font-size:15px;padding:15px;border-radius:14px;
  box-shadow:0 4px 14px rgba(38,198,182,.35);}
.cmp-btn:disabled{background:#cfe0de;box-shadow:none;}
.fx-note{font-size:11px;color:var(--gray);text-align:center;margin:10px 0 0;}

/* 比較結果カード */
.result-card{margin:4px 16px 20px;background:var(--card);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;padding:16px;}
.rc-head{font-size:14px;font-weight:700;margin-bottom:12px;line-height:1.4;}
.rc-cols{display:flex;align-items:stretch;gap:8px;}
.rc-cols.three{gap:6px;}
.rc-col{flex:1;text-align:center;background:var(--mint-soft);border-radius:14px;padding:14px 6px;position:relative;border:2px solid transparent;}
.rc-cols.three .rc-col{padding:12px 4px;}
.rc-col .flag{font-size:11.5px;font-weight:700;color:var(--gray);display:block;}
.rc-col b{font-size:19px;display:block;margin:4px 0 2px;}
.rc-cols.three .rc-col b{font-size:17px;}
.rc-col small{font-size:10px;color:var(--gray);}
.rc-col.jp{background:#fff4e5;}
.rc-col.az{background:#eaf1ff;}
.rc-col.win{border-color:var(--mint);box-shadow:0 3px 12px rgba(38,198,182,.25);}
.rc-col.win::after{content:"最安";position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:var(--mint);color:#fff;font-size:9.5px;font-weight:800;padding:1px 8px;border-radius:999px;}
.rc-vs{align-self:center;font-weight:800;color:var(--gray);font-size:12px;}
/* Amazon手入力 */
.rc-az-input{margin-top:12px;background:var(--bg);border-radius:12px;padding:11px 12px;}
.rc-az-input>span{font-size:11.5px;font-weight:700;color:var(--gray);display:block;margin-bottom:7px;}
.rc-az-row{display:flex;align-items:center;gap:8px;}
.rc-az-row input{flex:1;min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:15px;background:var(--card);outline:none;}
.rc-az-row input:focus{border-color:var(--mint);}
.rc-az-row .yen{font-size:13px;color:var(--gray);font-weight:700;}
.rc-az-open{background:#232f3e;color:#fff;font-size:12px;font-weight:800;padding:10px 12px;border-radius:10px;white-space:nowrap;}
.rc-buttons{display:flex;gap:8px;margin-top:12px;}
.rc-buttons .rc-buy{flex:1;margin-top:0;}
.rc-buy.amazon{background:linear-gradient(135deg,#ff9900,#e88a00);box-shadow:0 3px 10px rgba(230,138,0,.25);}
.rc-buy.rakuten{background:linear-gradient(135deg,#bf0000,#ff4d4d);}
.rc-verdict{margin-top:12px;border-radius:12px;padding:12px;text-align:center;font-weight:800;font-size:16px;}
.rc-verdict span{display:block;font-size:11.5px;font-weight:600;margin-top:2px;opacity:.85;}
.rc-verdict.good{background:#e2f4ea;color:#12915f;}
.rc-verdict.bad{background:#fdeef0;color:#c53b4f;}
.rc-verdict.warn{background:#fff4e5;color:#a9761a;}
.rc-buy{display:block;text-align:center;margin-top:12px;background:linear-gradient(135deg,#bf0000,#ff4d4d);color:#fff;
  font-weight:800;padding:13px;border-radius:12px;box-shadow:0 3px 10px rgba(191,0,0,.25);}
.rc-draft{width:100%;margin-top:10px;background:var(--card);border:1.5px solid var(--mint);color:var(--mint-dark);
  font-weight:800;padding:13px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:6px;}

/* SNS下書き */
.drafts{padding:12px 16px;}
.draft-card{background:var(--card);border-radius:16px;box-shadow:var(--shadow);padding:14px;margin-bottom:14px;}
.dc-top{display:flex;gap:12px;}
.dc-img{flex:0 0 76px;width:76px;height:76px;border-radius:12px;object-fit:cover;background:var(--mint-soft);}
.dc-img.ph{display:grid;place-items:center;font-size:32px;}
.dc-info{flex:1;min-width:0;}
.dc-badge{display:inline-block;font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:999px;margin-bottom:3px;}
.dc-badge.priv{background:#eef1f1;color:#8a9a99;}
.dc-badge.pub{background:#e2f4ea;color:#12915f;}
.dc-info b{font-size:14px;display:block;line-height:1.35;}
.dc-price{font-size:12.5px;color:var(--ink);margin-top:3px;font-weight:700;}
.dc-verdict{font-size:12px;color:var(--mint-dark);font-weight:700;}
.dc-ts{font-size:10.5px;color:var(--gray);margin-top:2px;}
.dc-cap{width:100%;margin-top:10px;border:1px solid var(--line);border-radius:10px;padding:10px;font-size:12.5px;
  font-family:inherit;resize:vertical;background:var(--bg);color:var(--ink);line-height:1.6;}
.dc-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.dc-actions button{font-size:12px;font-weight:700;padding:8px 10px;border-radius:9px;border:1px solid var(--line);background:#fff;}
.dc-share{background:var(--mint)!important;color:#fff!important;border-color:var(--mint)!important;flex:1;}
.dc-del{margin-left:auto;color:var(--pink);}

/* ヘッダー カート */
.cart-btn{position:relative;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:var(--ink);border:1px solid var(--line);background:var(--card);margin-left:8px;}
.cart-btn .cart-ic svg{display:block;}
.cart-count{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;
  background:var(--pink);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;}
/* room-btnがある時のカート余白調整 */
.appbar .room-btn{margin-left:auto;}
.appbar .room-btn + .cart-btn{margin-left:8px;}

/* 診断：ブランド別 */
.brand-block{margin-bottom:16px;}
.brand-head{display:flex;align-items:center;gap:8px;margin:0 0 8px;}
.brand-head .brand-rank{width:22px;height:22px;border-radius:7px;background:var(--mint);color:#fff;font-weight:800;font-size:12px;display:grid;place-items:center;}
.brand-head b{font-size:15px;}
.brand-head .brand-fit{margin-left:auto;font-size:11px;font-weight:700;color:var(--mint-dark);background:var(--mint-soft);padding:2px 9px;border-radius:999px;}

/* カートシート */
.cart-item{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);}
.cart-thumb{flex:0 0 56px;width:56px;height:56px;border-radius:10px;background:var(--mint-soft);display:flex;align-items:center;justify-content:center;font-size:26px;overflow:hidden;}
.cart-thumb img{width:100%;height:100%;object-fit:cover;}
.cart-body{flex:1;min-width:0;}
.cart-side{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:5px;}
.qty{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:2px 4px;}
.qty button{width:24px;height:24px;font-size:15px;font-weight:800;color:var(--mint-dark);}
.qty span{min-width:16px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;}
.cart-buy{background:linear-gradient(135deg,#bf0000,#ff4d4d);color:#fff;font-size:12px;font-weight:800;padding:7px 12px;border-radius:9px;}
.cart-del{font-size:11px;color:var(--gray);}
.cart-total{display:flex;justify-content:space-between;align-items:center;padding:14px 0 4px;font-size:14px;font-weight:700;}
.cart-total b{font-size:20px;}
.cart-note{font-size:11px;color:var(--gray);margin:2px 0 0;}

/* 商品詳細CTA：カート＋楽天＋Amazon＋保存（全て収益化） */
.d-cta .cart-add{flex:0 0 auto;background:var(--card);border:1.5px solid var(--mint);color:var(--mint-dark);font-weight:800;font-size:18px;padding:14px 13px;border-radius:14px;white-space:nowrap;}
.d-cta .buy{font-size:15px;padding:14px 8px;}
.d-cta .buy.rakuten{background:linear-gradient(135deg,#bf0000,#ff4d4d);}
.d-cta .buy.amazon{background:linear-gradient(135deg,#ff9900,#e88a00);box-shadow:0 4px 14px rgba(230,138,0,.28);}
.cart-buy.az{background:linear-gradient(135deg,#ff9900,#e88a00);}

/* オリジナル商品（アプリ内決済） */
.own-pill{font-size:11px;font-weight:800;color:#5b53e6;background:#eeecff;padding:2px 9px;border-radius:999px;margin-left:6px;}
.own-tag{font-size:10.5px;font-weight:800;color:#5b53e6;background:#eeecff;padding:1px 7px;border-radius:6px;}
.own-note{font-size:10.5px;color:#5b53e6;font-weight:700;}
.rank-item.own{border:1px solid #e6e3ff;}
.buy-btn.stripe{background:linear-gradient(135deg,#635bff,#8a83ff);color:#fff;box-shadow:0 2px 8px rgba(99,91,255,.25);}
.buy-btn.disabled{background:#eef1f1;color:#8a9a99;pointer-events:none;}
.d-cta .buy.stripe{flex:1;background:linear-gradient(135deg,#635bff,#8a83ff);box-shadow:0 4px 14px rgba(99,91,255,.3);}
.d-cta .buy.disabled{flex:1;background:#eef1f1;color:#8a9a99;text-align:center;pointer-events:none;}
.cart-buy.stripe{background:linear-gradient(135deg,#635bff,#8a83ff);}
.cart-buy.disabled{background:#eef1f1;color:#8a9a99;pointer-events:none;}

/* みんなに広める（QR＋インストール＋共有） */
.spread{margin:6px 16px 4px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow);}
.spread-head{display:flex;flex-direction:column;gap:1px;margin-bottom:12px;}
.spread-head b{font-size:15px;}
.spread-head span{font-size:12px;color:var(--gray);}
.spread-body{display:flex;gap:14px;align-items:center;}
.qr-wrap{flex:0 0 auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;line-height:0;}
.qr-wrap #qr img,.qr-wrap #qr canvas{display:block;border-radius:4px;}
.spread-actions{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0;}
.sp-btn{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:12px;font-size:13.5px;font-weight:800;color:var(--ink);}
.sp-btn.install{background:var(--mint);color:#fff;border-color:var(--mint);box-shadow:0 3px 10px rgba(38,198,182,.3);}
.sp-btn.share{background:var(--card);border:1.5px solid var(--mint);color:var(--mint-dark);}
.spread-note{font-size:11px;color:var(--gray);margin:12px 0 0;text-align:center;}

/* トースト */
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%) translateY(10px);background:rgba(20,40,40,.92);
  color:#fff;font-size:13px;font-weight:700;padding:10px 18px;border-radius:999px;opacity:0;pointer-events:none;
  transition:.25s;z-index:200;max-width:90%;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

.view{display:none;}
.view.active{display:block;animation:fade .2s ease;}
@keyframes fade{from{opacity:0;}to{opacity:1;}}
