:root{
  --bg:#f5f7fb;--card:#fff;--ink:#172033;--muted:#758195;--line:#e8edf5;
  --blue:#123a72;--blue2:#0c2c58;--green:#12a66a;--gold:#d6a23a;--red:#ec5b5b;
  --shadow:0 14px 38px rgba(17,38,72,.10);--radius:20px;--radius-sm:14px;
}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic","Segoe UI",Arial,sans-serif}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.muted{color:var(--muted);font-size:12px}.mobile{max-width:480px;margin:0 auto;min-height:100vh;background:linear-gradient(180deg,#f7f9fd 0%,#fff 45%,#f5f7fb 100%);padding-bottom:92px}.admin-layout{display:flex;min-height:100vh}.sidebar{width:238px;background:#0f2544;color:#fff;padding:24px 18px;position:fixed;top:0;bottom:0}.content{margin-left:238px;flex:1;padding:26px}.brand{font-weight:900;letter-spacing:.2px}.brand .mark{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,#fff,#dce8ff);color:var(--blue);margin-right:8px}.logo{font-size:28px;font-weight:900;letter-spacing:-.6px}.tag{font-size:13px;color:rgba(255,255,255,.82);line-height:1.55}.hero{background:linear-gradient(135deg,#0e2b55 0%,#123a72 62%,#215b96 100%);color:#fff;padding:22px 20px 28px;border-bottom-left-radius:32px;border-bottom-right-radius:32px;box-shadow:var(--shadow)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.partner-chip{display:inline-flex;gap:8px;align-items:center;margin-top:12px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.14);font-size:13px}.hero-balance{margin-top:24px}.hero-balance small{display:block;color:rgba(255,255,255,.75)}.hero-balance strong{font-size:40px;letter-spacing:-1px}.level-box{margin-top:16px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:14px}.progress{height:9px;background:rgba(255,255,255,.22);border-radius:999px;overflow:hidden;margin-top:10px}.progress i{display:block;height:100%;background:linear-gradient(90deg,#f7cc68,#12d883);border-radius:999px}.shell{padding:18px}.section-head{display:flex;align-items:center;justify-content:space-between;margin:18px 2px 10px}.section-head h3,.section-head h2{margin:0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:0 8px 22px rgba(20,40,70,.06)}.stat span{font-size:12px;color:var(--muted)}.stat b{display:block;font-size:22px;margin-top:8px;letter-spacing:-.4px}.stat .icon{font-size:24px}.notice{display:flex;gap:10px;align-items:center;background:#fff8e8;border:1px solid #ffe6aa;border-radius:var(--radius);padding:14px 16px;color:#77510a;margin:14px 0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 28px rgba(20,40,70,.07);padding:16px;margin:12px 0}.product-card{overflow:hidden;padding:0}.product-card .product-img{height:210px;width:100%;object-fit:cover;background:#eef2f8}.product-body{padding:15px}.product-title{font-size:16px;font-weight:800;line-height:1.45;margin:0 0 8px}.price-row{display:flex;align-items:center;justify-content:space-between;margin:10px 0}.price{font-size:22px;font-weight:900}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 10px;background:#eef5ff;color:#174a86;font-size:12px;font-weight:700}.pill.green{background:#e9fbf2;color:#087a4d}.pill.gold{background:#fff6dc;color:#95670c}.btn{border:0;background:linear-gradient(135deg,var(--blue),#1f62a2);color:#fff;padding:12px 16px;border-radius:15px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;box-shadow:0 8px 18px rgba(18,58,114,.18)}.btn.full{width:100%}.btn.secondary{background:#fff;color:var(--blue);border:1px solid var(--line);box-shadow:none}.btn.green{background:linear-gradient(135deg,#0f9b63,#16c983)}.btn.danger{background:linear-gradient(135deg,#d94c4c,#fa7171)}.copyrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.copyrow .btn{padding:10px 12px;min-height:40px;font-size:13px}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding:8px 6px 10px;z-index:10}.nav a{text-align:center;font-size:11px;color:#687487;font-weight:700}.nav a.active{color:var(--blue)}.rank{display:flex;align-items:center;gap:12px}.rank.podium{background:linear-gradient(135deg,#fff,#fff7df);border-color:#f6dc94}.no{width:38px;height:38px;border-radius:14px;background:#f2f5fa;display:grid;place-items:center;font-weight:900}.avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#eef2f8}.wallet-card{background:linear-gradient(135deg,#102a52,#1e65a8);color:#fff;border-radius:26px;padding:22px;box-shadow:var(--shadow);margin:12px 0}.wallet-card small{color:rgba(255,255,255,.7)}.wallet-card strong{display:block;font-size:38px;margin-top:8px}.form{display:grid;gap:12px}.input,textarea,select{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px 14px;font-size:15px;outline:none}textarea{min-height:98px;resize:vertical}.field label{display:block;font-size:12px;color:var(--muted);font-weight:700;margin:0 0 6px}.auth{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#0e2b55,#f5f7fb 56%,#fff);padding:22px}.auth-card{width:100%;max-width:430px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.65);border-radius:30px;padding:26px;box-shadow:var(--shadow)}.auth-title{margin:12px 0 4px;font-size:28px;font-weight:900}.google-ready{width:100%;margin:14px 0;background:#f4f6fa;color:#7d8796;border:1px dashed #ccd4df;box-shadow:none}.table{width:100%;border-collapse:separate;border-spacing:0 10px}.table th{font-size:12px;color:var(--muted);text-align:left;padding:0 10px}.table td{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 10px}.table td:first-child{border-left:1px solid var(--line);border-radius:14px 0 0 14px}.table td:last-child{border-right:1px solid var(--line);border-radius:0 14px 14px 0}.admin-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 9px 24px rgba(20,40,70,.06);margin:14px 0}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.menu a{display:block;color:rgba(255,255,255,.78);padding:12px 14px;border-radius:14px;margin:6px 0}.menu a:hover,.menu a.active{background:rgba(255,255,255,.12);color:#fff}.page-title{font-size:28px;font-weight:900;margin:0 0 4px}.toast{position:fixed;left:50%;bottom:88px;transform:translateX(-50%);background:#172033;color:#fff;border-radius:999px;padding:12px 16px;font-size:13px;z-index:99;box-shadow:var(--shadow)}@media (min-width:760px){.mobile{box-shadow:0 0 0 1px var(--line)}.product-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.product-list .card{margin:0}.auth-card{max-width:480px}}@media (max-width:760px){.admin-layout{display:block}.sidebar{position:static;width:auto}.content{margin:0;padding:18px}.table-wrap{overflow:auto}.hero-balance strong{font-size:34px}}

.order-card{position:relative}.receipt-img{border-radius:16px;border:1px solid var(--line);max-height:220px;object-fit:cover;width:100%;background:#eef2f8}.flow{display:flex;align-items:center;gap:5px;margin:14px 0;overflow:auto}.flow span{white-space:nowrap;font-size:11px;font-weight:800;color:#9aa5b5;background:#f2f5fa;border-radius:999px;padding:7px 9px}.flow span.on{color:#fff;background:linear-gradient(135deg,#123a72,#16a66a)}.flow i{height:2px;min-width:14px;background:#d9e0eb}.modal{position:fixed;inset:0;background:rgba(9,22,42,.48);z-index:100;display:grid;place-items:center;padding:18px}.modal-card{background:#fff;border-radius:24px;padding:20px;max-width:440px;width:100%;box-shadow:0 24px 60px rgba(0,0,0,.25);max-height:86vh;overflow:auto}.bank-box{white-space:pre-wrap;background:#f5f7fb;border:1px solid var(--line);border-radius:16px;padding:14px;font-size:13px;line-height:1.6}.danger-note{background:#fff0f0;border-color:#ffc7c7;color:#9e2d2d}.hero .tag b{color:#fff}

.toolbar{display:flex;gap:10px;flex-wrap:wrap}.content .admin-card:first-child{margin-top:0}.sidebar .brand{color:#fff}.sidebar .tag{color:rgba(255,255,255,.78)}.sidebar .menu{display:grid;gap:6px}.sidebar .menu a{font-size:14px}.table .copyrow{margin-top:0}.content .page-title{font-size:26px}.field textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px 14px;font-size:15px;outline:none;min-height:98px;resize:vertical}
.time-cell{white-space:nowrap;min-width:156px;font-variant-numeric:tabular-nums}
.btn.secondary.active{background:linear-gradient(135deg,var(--blue),#1f62a2);color:#fff;border-color:transparent;box-shadow:0 8px 18px rgba(18,58,114,.18)}
.shipping-page{background:#f7f8fb}.shipping-topbar{height:58px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:0 18px;background:#fff;border-bottom:1px solid #edf1f6;position:sticky;top:0;z-index:5}.shipping-topbar h1{margin:0;text-align:center;font-size:18px;font-weight:800;color:#1f2430}.shipping-back{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:22px;color:#2a3550}.shipping-spacer{width:32px;height:32px}.shipping-shell{padding-top:14px}.shipping-shortcut{display:flex;align-items:center;justify-content:space-between;background:#f4f6fa;border:1px solid #e4e8ef;border-radius:14px;padding:14px 16px;font-size:14px;font-weight:700;color:#31374a;margin-bottom:14px}.shipping-arrow{font-size:20px;color:#98a3b5}.shipping-family{background:#fff;border:1px solid #e7ecf3;border-radius:20px;padding:18px;box-shadow:0 10px 28px rgba(20,40,70,.05)}.shipping-family.selected{border-color:#bed7ff;box-shadow:0 0 0 3px rgba(45,112,214,.08)}.shipping-family-head{display:flex;align-items:flex-start;gap:12px}.shipping-radio,.ship-option-radio{width:20px;height:20px;border-radius:50%;border:2px solid #cfd8e8;display:inline-block;position:relative;flex:0 0 auto;background:#fff}.shipping-radio.on,.ship-option-radio.on{border-color:#1f73e8;background:#1f73e8}.shipping-radio.on::after,.ship-option-radio.on::after{content:'';position:absolute;inset:4px;border-radius:50%;background:#fff}.shipping-family h2{margin:0 0 6px;font-size:22px;line-height:1.2;color:#20283a}.shipping-tags{display:flex;gap:8px;flex-wrap:wrap}.shipping-tags span{font-size:12px;font-weight:700;color:#6e7789}.shipping-dropoff{margin-top:18px}.shipping-dropoff-label{font-size:12px;color:#7a869b;font-weight:700;margin-bottom:10px}.shipping-stores{display:flex;gap:8px;flex-wrap:wrap}.store-pill{min-width:54px;height:38px;border-radius:12px;border:1px solid #e6ebf2;background:#fff;display:grid;place-items:center;font-size:11px;font-weight:800;color:#374056;box-shadow:0 6px 14px rgba(28,48,88,.04)}.shipping-options{margin-top:16px;border-top:1px solid #eef2f7}.ship-option{width:100%;border:0;border-bottom:1px solid #eef2f7;background:#fff;padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;color:#1f2430}.ship-option:last-child{border-bottom:0;padding-bottom:4px}.ship-option-main{display:flex;align-items:center;gap:12px;min-width:0}.ship-icon{display:inline-block;position:relative;flex:0 0 auto}.ship-icon-flat{width:52px;height:34px;border:2px solid #444f66;border-radius:7px;background:linear-gradient(180deg,#faf7ef,#f0e5cc)}.ship-icon-flat::before{content:'';position:absolute;left:8px;right:8px;top:9px;height:2px;background:#c8b48a}.ship-icon-flat::after{content:'';position:absolute;top:4px;bottom:4px;left:16px;width:2px;background:#d5c29a}.ship-icon-compact{width:48px;height:34px;border-radius:8px;background:linear-gradient(180deg,#f8eed8,#ead6ad);border:2px solid #5e5b55}.ship-icon-compact::before{content:'';position:absolute;left:8px;right:8px;top:11px;height:2px;background:#cfb381}.ship-icon-compact::after{content:'';position:absolute;left:22px;top:5px;bottom:5px;width:2px;background:#d8be91}.ship-icon-box{width:40px;height:40px;border-radius:8px;background:linear-gradient(180deg,#f9ecd0,#e8d09e);border:2px solid #615741;transform:rotate(-2deg)}.ship-icon-box::before{content:'';position:absolute;left:7px;right:7px;top:16px;height:2px;background:#cfb27b}.ship-icon-box::after{content:'';position:absolute;top:6px;bottom:6px;left:18px;width:2px;background:#cfb27b}.ship-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.ship-copy strong{font-size:18px;line-height:1.25}.ship-copy small{font-size:12px;color:#7b8495}.ship-price,.ship-price-box{flex:0 0 auto;text-align:right}.ship-price{font-size:21px;font-weight:900;color:#1f2430}.ship-help{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;color:#2469da;font-size:12px;font-weight:800;margin-top:4px}.ship-help-icon{width:16px;height:16px;border-radius:50%;border:1px solid #b8cdf3;display:inline-grid;place-items:center;font-size:11px;line-height:1;color:#2469da}.ship-option.active .ship-copy strong,.ship-option.active .ship-price{color:#144fa7}.shipping-placeholder{margin-top:16px;min-height:126px;background:#fff;border:1px dashed #d7dee8;border-radius:20px;padding:18px}.shipping-placeholder-title{font-size:18px;font-weight:800;color:#b3bccb}
.shipping-rule-note{margin-top:16px;padding:12px 14px;border-radius:14px;background:#fff8e7;border:1px solid #f4dba2;color:#8a6420;font-size:13px;line-height:1.6}
.shipping-metrics{margin-top:10px;font-size:12px;color:#79859a;line-height:1.6}
.ship-option.disabled{opacity:.38;cursor:not-allowed}
.ship-option.disabled .ship-price,.ship-option.disabled .ship-copy strong{color:#9aa5b7}
.ship-reason{display:block;color:#c26b6b}
.shipping-confirm{margin-top:18px}
.nav.nav-jp{padding:10px 10px 12px;gap:4px}
.nav.nav-jp a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;color:#111;font-weight:500}
.nav.nav-jp a.active{color:#111}
.nav.nav-jp a span:last-child{letter-spacing:.02em}
.nav-ic{width:30px;height:30px;display:grid;place-items:center;position:relative}
.nav-ic svg{width:28px;height:28px;stroke:#111;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.nav-ic rect,.nav-ic circle,.nav-ic path{vector-effect:non-scaling-stroke}
.nav-home svg path,.nav-bag svg path,.nav-profile svg path,.nav-profile svg circle,.nav-orders svg rect,.nav-orders svg path,.nav-wallet svg circle,.nav-wallet svg path{fill:none}
.nav.nav-jp a.active .nav-wallet svg circle,.nav.nav-jp a.active .nav-wallet svg path{stroke:#eb5a5a}
.nav-check{position:absolute;top:-1px;right:-2px;width:14px;height:14px;border-radius:50%;background:#ff6b73;color:#fff;display:grid;place-items:center;font-size:9px;font-weight:800;line-height:1;opacity:0;transform:scale(.8);transition:opacity .16s ease,transform .16s ease}
.nav.nav-jp a.active .nav-check{opacity:1;transform:scale(1)}
.market-hero{background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%);color:#16213a;border-bottom:1px solid #edf1f6;box-shadow:none;border-radius:0 0 24px 24px;padding:18px 18px 20px}.market-hero .tag{color:#6c7890}.market-hero .partner-chip{background:#f3f6fa;color:#19355f}.market-hero .hero-balance small{color:#7b8599}.market-hero .btn.secondary{background:#f7f9fc}.market-brandline{display:flex;align-items:center;gap:10px;margin-bottom:8px}.market-brand-icon{width:30px;height:30px;object-fit:contain;flex:0 0 auto}.market-brand-lockup{height:26px;width:auto;object-fit:contain}.market-title{font-size:24px;letter-spacing:0}
.admin-thumb{width:64px;height:64px;border-radius:12px;object-fit:cover;border:1px solid var(--line);background:#eef2f8}
.profile-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 12px 30px rgba(20,40,70,.06);padding:18px;margin:14px 0}.profile-top{display:flex;gap:14px;align-items:center}.profile-avatar{width:74px;height:74px;border-radius:26px;object-fit:cover;background:#eef2f8;border:1px solid #e5eaf2}.profile-name{font-size:22px;font-weight:900;line-height:1.2;margin:0 0 6px}.profile-id{font-size:12px;color:#7b8497}.profile-meta{display:grid;gap:10px;margin-top:16px}.meta-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-top:1px solid #eef2f7;padding-top:10px}.meta-row:first-child{border-top:0;padding-top:0}.meta-label{font-size:12px;color:#7b8497}.meta-value{font-size:14px;font-weight:700;color:#1d2640;text-align:right;word-break:break-all}.menu-list{display:grid;gap:10px}.menu-link{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #e7ecf3;border-radius:18px;padding:15px 16px;color:#24304a;font-weight:800;box-shadow:0 8px 18px rgba(20,40,70,.04)}.menu-link small{display:block;font-size:12px;color:#7b8497;font-weight:600;margin-top:4px}.menu-arrow{font-size:18px;color:#9aa6b7}.subtle-title{font-size:13px;color:#7b8497;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin:18px 4px 10px}.avatar-uploader{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.avatar-uploader label{margin:0}
.pr-card{border:1px solid #dfe4ec;border-radius:16px;background:#fff;padding:8px 12px 7px;display:grid;gap:4px;box-shadow:0 6px 14px rgba(20,40,70,.03)}.pr-card-label{font-size:10px;color:#98a2b3;line-height:1}.pr-card-title{font-size:13px;font-weight:800;color:#24304a;line-height:1.15}.pr-card-btn{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 12px;border-radius:999px;background:#275ea8;color:#fff;font-size:11px;font-weight:800;max-width:220px}.pr-card-note{font-size:7px;color:#98a2b3;line-height:1.2}
.fold-toggle{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:#fff;border:1px solid #dfe6f0;border-radius:16px;padding:12px 16px;font-size:13px;font-weight:800;color:#21426f;box-shadow:0 8px 18px rgba(20,40,70,.04);cursor:pointer;margin-top:10px}.fold-toggle .arrow{font-size:14px;transition:transform .2s ease}.fold-toggle.open .arrow{transform:rotate(180deg)}.list-stack .card{margin:10px 0}
.market-note{font-size:12px;color:#7c8799;margin:2px 2px 10px}.product-tabs{margin-bottom:10px}.product-tab-row{margin:4px 0 8px}.product-tabs .btn{min-width:112px;min-height:40px;padding:9px 13px;border-radius:16px}.product-card-fold{cursor:pointer}.product-sticky-row{position:sticky;top:0;background:#fff;z-index:2;padding-bottom:6px}.product-detail.is-hidden{display:none}.product-meta{margin-top:10px}
.product-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 12px}.product-gallery-item{border:1px solid var(--line);background:#eef2f8;border-radius:12px;padding:0;overflow:hidden;aspect-ratio:1/1;cursor:pointer}.product-gallery-item img{width:100%;height:100%;object-fit:cover}
.mercari-card{border-radius:14px;box-shadow:0 6px 18px rgba(20,40,70,.05);border-color:#edf1f6;background:#fff}
.mercari-media{position:relative;background:#f2f3f5}
.product-gallery-preview{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:2px;margin:0;padding:0;aspect-ratio:1.45;border-radius:14px 14px 0 0;overflow:hidden;background:#eef1f5}
.product-gallery-preview .product-gallery-item{border:0;border-radius:0;aspect-ratio:auto;min-width:0;min-height:0}
.product-gallery-preview .product-gallery-item:first-child{grid-row:span 2}
.product-gallery-preview .product-gallery-item:nth-child(n+4){display:none}
.mercari-price{position:absolute;left:0;bottom:12px;background:rgba(18,19,22,.82);color:#fff;font-size:20px;font-weight:900;line-height:1;padding:8px 13px 8px 12px;border-radius:0 999px 999px 0;letter-spacing:.01em}
.mercari-photo-count{position:absolute;right:10px;top:10px;background:rgba(18,19,22,.72);color:#fff;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}
.mercari-sold{position:absolute;inset:0;display:grid;place-items:center;background:rgba(255,255,255,.68);color:#d44444;font-size:24px;font-weight:900;letter-spacing:.04em}
.mercari-caption{font-size:12px;color:#737d90;font-weight:700;line-height:1.5}
.mercari-card .product-body{padding:12px 12px 14px}.mercari-card .product-title{font-size:14px;font-weight:700;line-height:1.42;margin-bottom:6px;color:#222936}.mercari-card .price-row{margin:6px 0 0}.mercari-card .pill{font-size:11px;padding:4px 8px}.mercari-card .product-detail{border-top:1px solid #eef2f7;margin-top:10px;padding-top:10px}
.photo-viewer-open{overflow:hidden}
.photo-viewer{position:fixed;inset:0;background:#090909;color:#fff;z-index:200;display:grid;grid-template-rows:auto 1fr auto auto;max-width:480px;margin:0 auto;left:0;right:0}
.photo-viewer-top{height:54px;display:grid;grid-template-columns:54px 1fr 54px;align-items:center;padding:0 8px;background:linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,0))}
.photo-viewer-close{width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:30px;line-height:1;display:grid;place-items:center;cursor:pointer}
.photo-viewer-count{grid-column:2;text-align:center;font-size:13px;font-weight:800;color:rgba(255,255,255,.92)}
.photo-viewer-stage{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden}
.photo-viewer-main{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;background:#090909}
.photo-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:58px;border:0;border-radius:999px;background:rgba(0,0,0,.34);color:#fff;font-size:42px;line-height:1;display:grid;place-items:center;cursor:pointer}
.photo-viewer-nav.prev{left:8px}.photo-viewer-nav.next{right:8px}
.photo-viewer-thumbs{display:flex;gap:8px;overflow:auto;padding:10px 12px;background:#111}
.photo-viewer-thumbs button{width:58px;height:58px;flex:0 0 auto;border:2px solid transparent;border-radius:8px;overflow:hidden;padding:0;background:#222;cursor:pointer}
.photo-viewer-thumbs button.active{border-color:#fff}
.photo-viewer-thumbs img{width:100%;height:100%;object-fit:cover}
.photo-viewer-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;background:#111;border-top:1px solid rgba(255,255,255,.08)}
.photo-viewer-actions .btn{box-shadow:none}
@media (hover:hover){.btn:hover{filter:brightness(.98);transform:translateY(-1px);box-shadow:0 10px 22px rgba(18,58,114,.2)}.menu-link:hover{border-color:#d5deea;box-shadow:0 12px 24px rgba(20,40,70,.08);transform:translateY(-1px)}.pr-card-btn:hover{filter:brightness(1.03);transform:translateY(-1px)}}
.menu-link{transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.pr-card{padding:7px 10px 6px;gap:3px}
.pr-card-title{line-height:1.1}
.pr-card-btn{min-height:26px;transition:filter .16s ease,transform .16s ease}
.pr-card-note{line-height:1.15}
.product-card-fold.expanded{box-shadow:0 14px 30px rgba(20,40,70,.08)}
.product-sticky-row{top:12px;background:linear-gradient(180deg,#fff 88%,rgba(255,255,255,.92) 100%)}
.empty-guide{line-height:1.7}

/* User home commercial polish */
.home-brand-hero{
  padding:22px 20px 24px;
  background:linear-gradient(180deg,#fffaf6 0%,#f7fbff 58%,#ffffff 100%);
  border-bottom:1px solid #e9eef6;
  border-radius:0 0 30px 30px;
  color:#19233a;
  box-shadow:0 12px 30px rgba(64,86,118,.08);
}
.home-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:12px}
.brand-lockup{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.brand-copy{min-width:0;flex:1;display:flex;align-items:center;padding-top:0}
.brand-mark{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(180deg,#fffdf8 0%,#f5efe2 100%);box-shadow:0 10px 22px rgba(83,93,112,.12);border:1px solid #ece6d9;flex:0 0 auto;overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand-wordmark{display:block;height:23px;width:auto;object-fit:contain;max-width:min(100%,190px);margin:0}.home-brand-hero .logo{font-size:23px;line-height:1.1;letter-spacing:0;color:#19233a;white-space:normal}
.hero-copy{margin:18px 0 0;max-width:420px;color:#526075;font-size:14px;line-height:1.75}
.home-hero-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.home-brand-hero .partner-chip{margin-top:0;background:#fff;border:1px solid #e5ebf4;color:#29405f;box-shadow:0 6px 14px rgba(44,64,92,.06)}
.home-brand-hero .btn.secondary{background:#fff;border-color:#dfe7f2;color:#244c7d;border-radius:999px;box-shadow:0 8px 18px rgba(48,77,116,.08)}.home-session-btn{min-width:96px;min-height:54px;padding:10px 14px;align-self:start}
.home-shell{padding-top:16px}
.home-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.home-feature-card{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid #e8edf5;border-radius:18px;padding:15px;box-shadow:0 10px 24px rgba(34,55,86,.06);min-height:116px}
.home-feature-card h2{font-size:15px;margin:0 0 6px;color:#1f2a42}
.home-feature-card p{margin:0;color:#667287;font-size:12px;line-height:1.6}
.feature-icon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;font-weight:900;color:#244b79;background:#eef6fb;flex:0 0 auto}
.notice-card .feature-icon{background:#fff2df;color:#9a6625}
.learning-card .feature-icon{background:#e9f8f0;color:#16734d}
.home-section-head{align-items:flex-end;margin-top:20px}
.section-subtitle{margin:5px 0 0;color:#758195;font-size:12px;line-height:1.5}
.platform-nav{margin-bottom:12px}
.platform-tab-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 14px}
.platform-tab{border:1px solid #e5ebf3;background:#fff;border-radius:18px;padding:13px 14px;text-align:left;cursor:pointer;min-height:76px;box-shadow:0 8px 18px rgba(31,53,84,.05);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;position:relative;overflow:hidden}
.platform-tab::after{content:'';position:absolute;inset:auto 12px 10px 12px;height:3px;border-radius:999px;background:rgba(18,58,114,.12);transition:opacity .18s ease,transform .18s ease;opacity:.45}
.platform-tab-name{display:block;font-size:15px;font-weight:900;color:#1d2941;line-height:1.2}
.platform-tab-note{display:block;margin-top:7px;font-size:11px;color:#758195;line-height:1.35;font-weight:700}
.platform-tab.active{border-color:transparent;box-shadow:0 14px 30px rgba(34,61,96,.12);transform:translateY(-1px)}
.platform-tab.active .platform-tab-name,.platform-tab.active .platform-tab-note{color:#19304f}
.platform-mercari{background:linear-gradient(135deg,#fff 0%,#fff4f2 100%)}
.platform-yahoo{background:linear-gradient(135deg,#fff 0%,#f2f6ff 100%)}
.platform-rakuma{background:linear-gradient(135deg,#fff 0%,#f1fbf5 100%)}
.platform-mercari::after{background:#f0a59a}.platform-yahoo::after{background:#9db8ef}.platform-rakuma::after{background:#8bd0a7}
@media (hover:hover){.platform-tab:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(34,61,96,.13);border-color:#d7e0eb}.platform-tab:hover::after{opacity:1;transform:scaleX(1.02)}}
@media (max-width:390px){.home-info-grid,.platform-tab-grid{grid-template-columns:1fr}.home-brand-hero .logo{font-size:21px}.hero-copy{font-size:13px}.home-feature-card{min-height:auto}.brand-wordmark{height:20px;max-width:150px}.home-session-btn{min-width:90px;min-height:48px;padding:8px 12px}}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:8px}.auth-brand-icon{width:44px;height:44px;border-radius:14px;object-fit:cover;box-shadow:0 8px 18px rgba(34,61,96,.12)}.auth-brand-lockup{height:28px;width:auto;object-fit:contain;max-width:250px}
.line-support-fab{position:fixed;right:16px;bottom:116px;z-index:60;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:8px 16px 8px 10px;border-radius:999px;background:#06c755;color:#fff;box-shadow:0 14px 26px rgba(6,199,85,.28);border:1px solid rgba(255,255,255,.24);max-width:calc(100vw - 28px);user-select:none;-webkit-user-select:none;touch-action:none;transition:box-shadow .16s ease,transform .16s ease,filter .16s ease;will-change:transform,right,bottom}
.line-support-fab.dragging{cursor:grabbing;box-shadow:0 18px 34px rgba(6,199,85,.36);transition:none}
.line-support-icon{width:28px;height:28px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:0 0 auto;overflow:hidden}
.line-support-icon svg{width:100%;height:100%;display:block}
.line-support-copy{display:flex;flex-direction:column;justify-content:center;min-width:0}
.line-support-copy strong{font-size:12px;line-height:1.1;white-space:nowrap;font-weight:900;letter-spacing:.01em}
.line-support-copy small{display:none}
@media (hover:hover){.line-support-fab:hover{filter:brightness(1.02);transform:translateY(-1px)}}
@media (max-width:390px){.line-support-fab{padding:8px 14px 8px 10px;min-height:44px}.line-support-copy strong{font-size:11px}}
.invite-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 12px 30px rgba(20,40,70,.06)}
.invite-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.invite-head h2{margin:0 0 6px;font-size:20px;line-height:1.25}
.invite-head p{margin:0;color:#6f7b8f;font-size:13px;line-height:1.6}
.invite-code-box{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#f9fbff,#f6f9ff);border:1px solid #dfe8f6;margin-bottom:14px}
.invite-code-box span{font-size:12px;color:#6f7b8f;font-weight:700}
.invite-code-box strong{font-size:28px;line-height:1;font-weight:900;letter-spacing:.08em;color:#17355f}
.invite-field-label{display:block;font-size:12px;color:#6f7b8f;font-weight:800;margin:0 0 6px}
.invite-link-row{display:block}
.invite-link-input{font-size:13px;color:#24304a;background:#fbfcfe}
.invite-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.invite-actions .btn{width:100%;box-shadow:none}
.google-ready{width:100%;margin:14px 0;padding:10px 14px;background:#fff;color:#202124;border:1px solid #1f1f1f;border-radius:4px;box-shadow:none;justify-content:flex-start;gap:12px;font-weight:700;letter-spacing:0}
.google-ready .google-mark{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px}
.google-ready .google-mark svg{width:20px;height:20px;display:block}
.google-ready:hover{background:#fff;border-color:#000}
.google-ready:active{transform:translateY(0)}
.line-share-btn{background:linear-gradient(135deg,#06c755,#00b14d)}
.invite-summary-grid{margin-top:14px}
.invite-referral-list{display:grid;gap:12px}
.invite-referral-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 10px 24px rgba(20,40,70,.05)}
.invite-referral-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.invite-referral-top strong{display:block;font-size:15px;color:#1d2941}
.invite-referral-meta{margin-top:4px;font-size:12px;color:#778297;line-height:1.5;word-break:break-all}
.invite-referral-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid #eef2f7}
.invite-referral-stats span{display:block;font-size:11px;color:#7a869a}
.invite-referral-stats b{display:block;margin-top:5px;font-size:14px;color:#1d2941}
.invite-rule-list{display:grid;gap:10px}
.invite-rule-item{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fbfcfe;border:1px solid #e6ebf4;border-radius:18px;padding:14px 15px}
.invite-rule-item strong{display:block;font-size:14px;color:#1d2941}
.invite-rule-item small{display:block;margin-top:4px;font-size:11px;color:#7b8799}
.invite-rule-item b{font-size:20px;color:#174a86;letter-spacing:-.02em}
@media (max-width:390px){.invite-actions,.invite-referral-stats{grid-template-columns:1fr}.invite-code-box{display:grid}.invite-code-box strong{font-size:24px}}
