
:root{
  --ink:#161616;
  --muted:#696969;
  --line:#ececf1;
  --soft:#fafafa;
  --card:#fff;
  --pink:#ff00a8;
  --pink-soft:#fff0fa;
  --cyan:#00d7e9;
  --yellow:#ffec00;
  --shadow:0 16px 40px rgba(0,0,0,.06);
  --radius:18px;
  --bg-pattern-tile-width:260px;
  --side-pattern-width:13px;
  /* Both side images are 204 x 8655; use one complete tile per loop. */
  --side-pattern-tile-height:calc(var(--side-pattern-width) * 8655 / 204);
}
*{box-sizing:border-box}
html{min-height:100%;scroll-behavior:smooth}
html::before{
  content:"";
  position:fixed;
  inset:-35%;
  z-index:0;
  pointer-events:none;
  background-image:url('/images/redesign/ptn2b.png');
  background-size:var(--bg-pattern-tile-width) auto;
  background-repeat:repeat;
  opacity:.08;
  transform:rotate(-12deg);
  transform-origin:center;
  animation:bgPatternDrift 90s linear infinite;
}
body{
  margin:0;
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  background:#fff;
  letter-spacing:.02em;
  padding-bottom:0;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
body::before,body::after{
  content:"";
  position:fixed;
  top:calc(0px - var(--side-pattern-tile-height));
  bottom:0;
  width:var(--side-pattern-width);
  background-size:100% var(--side-pattern-tile-height);
  background-repeat:repeat-y;
  opacity:.75;
  pointer-events:none;
  z-index:0;
  will-change:transform;
}
body::before{left:24px;background-image:url('/images/side-oshibaco-pink-left.webp');animation:sidePatternSlide 105.056s linear infinite}
body::after{right:24px;background-image:url('/images/side-oshibaco-pink-right.webp');animation:sidePatternSlide 115.562s linear infinite reverse}
@keyframes bgPatternDrift{
  from{background-position:0 0}
  to{background-position:var(--bg-pattern-tile-width) 0}
}
@keyframes sidePatternSlide{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(0,var(--side-pattern-tile-height),0)}
}
.site-header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.header-inner{
  max-width:1120px;
  margin:0 auto;
  min-height:82px;
  padding:14px 20px;
  display:grid;
  grid-template-columns:190px 1fr auto;
  gap:22px;
  align-items:center;
}
.logo img{height:44px;width:auto;object-fit:contain}
.global-nav{display:flex;justify-content:center;gap:28px;font-size:14px;font-weight:700;white-space:nowrap}
.global-nav a{padding:10px 4px;border-bottom:2px solid transparent}
.global-nav a[aria-current="page"],.global-nav a:hover{border-color:var(--pink);color:var(--pink)}
.header-actions{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700}
.icon-link{border:1px solid var(--line);border-radius:999px;padding:9px 12px;background:#fff}
.icon-link:hover{border-color:var(--pink);color:var(--pink)}
.icon-link.active,.icon-link[aria-current="page"]{background:#111;border-color:#111;color:#fff;box-shadow:0 8px 18px rgba(0,0,0,.12)}
.main{position:relative;z-index:1;flex:1 0 auto;width:100%;max-width:1120px;margin:0 auto;padding:28px 20px 80px}
.breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:12px;margin:4px 0 22px}
.breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.hero{display:block;border:1px solid #cfd1d8;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);background:#fff;margin-bottom:0;padding:6px}
.hero img{width:100%;height:auto;object-fit:contain;border-radius:18px;background:#fff}
.quick-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 44px}
.quick-nav a{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;font-weight:800;box-shadow:0 8px 20px rgba(0,0,0,.04)}
.quick-nav a::after{content:"→";color:var(--pink);font-weight:900}
.section{margin-top:44px}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px;gap:16px}
.section-title{margin:0;font-size:26px;line-height:1.1;font-weight:900;letter-spacing:.04em}
.section-title small{display:block;margin-top:8px;font-size:11px;color:var(--pink);letter-spacing:.18em;font-weight:900}
.more{font-size:12px;font-weight:900;color:var(--pink);letter-spacing:.08em}
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card-grid.three{grid-template-columns:repeat(4,1fr)}
.visual-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.04);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.visual-card:hover{transform:translateY(-2px);border-color:#ffd3f0;box-shadow:0 16px 34px rgba(255,0,168,.10)}
.visual-card-media{position:relative;background:#f7f7f7;aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden}
.visual-card-media.wide{aspect-ratio:16/9}
.visual-card-media img{width:100%;height:100%;object-fit:cover}
.visual-card-media.contain img{object-fit:contain;padding:8px;background:#fff}
.visual-badge{position:absolute;left:10px;top:10px;z-index:2;background:var(--pink);color:#fff;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:900;line-height:1;box-shadow:0 6px 16px rgba(255,0,168,.22)}
.visual-badge.sub{background:#111}
.visual-card-body{padding:12px 13px 14px}
.visual-card-title{font-size:14px;font-weight:800;line-height:1.45;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px}
.visual-card-price{font-size:14px;font-weight:900;margin-top:8px;color:#111}
.visual-card-meta{display:flex;justify-content:space-between;align-items:center;margin-top:10px;gap:10px;font-size:11px;color:var(--muted)}
.visual-card-link{font-size:12px;color:var(--pink);font-weight:900}
.banner-link{display:block;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.04)}
.banner-link img{width:100%;height:auto}
.oshilot-banner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.oshilot-banner-card{position:relative;display:block;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.04);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.oshilot-banner-card:hover{transform:translateY(-2px);border-color:#ffd3f0;box-shadow:0 16px 34px rgba(255,0,168,.10)}
.oshilot-banner-card img{width:100%;height:auto;object-fit:contain;background:#fff}
.oshilot-banner-name{padding:11px 14px 13px;font-size:13px;font-weight:900;line-height:1.4}
.oshilot-info-banner{display:grid;place-items:center;max-width:none;margin-left:auto;margin-right:auto;background:transparent;box-shadow:none;border:0;border-radius:0;overflow:visible}
.oshilot-info-banner img{width:auto;max-width:100%;height:108px;object-fit:contain}
.footer{border-top:1px solid var(--line);background:#fafafa;position:relative;z-index:1;flex-shrink:0}
.footer-inner{max-width:1120px;margin:0 auto;padding:34px 20px 42px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start}
.footer h2{font-size:14px;margin:0 0 12px;letter-spacing:.12em}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 18px;font-size:12px;color:#555}
.footer-brand{font-size:12px;color:#777;text-align:right}
.international-footer-banner{grid-column:1/-1;display:block;width:min(741px,100%);margin:6px auto 0}
.international-footer-banner img{width:100%;height:auto}
.bottom-nav{display:none}
.page-title{font-size:30px;margin:0 0 4px;font-weight:900;letter-spacing:.04em}
.page-title small{display:block;margin-top:8px;color:var(--pink);font-size:12px;letter-spacing:.16em}
.page-head{margin-bottom:26px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.tools{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}
.search{flex:1;min-width:210px;border:1px solid var(--line);border-radius:999px;padding:12px 16px;background:#fff;outline:none}
.search:focus{border-color:var(--pink);box-shadow:0 0 0 4px var(--pink-soft)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-size:12px;font-weight:900;cursor:pointer;color:#333}
.chip.active,.chip:hover{background:#111;color:#fff;border-color:#111}
.pagination{display:flex;justify-content:center;gap:8px;margin:32px 0 0}
.pagination a,.pagination span{width:36px;height:36px;border-radius:999px;border:1px solid var(--line);display:grid;place-items:center;font-size:13px;font-weight:800;background:#fff}.pagination .current{background:#111;color:#fff;border-color:#111}
.product-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:34px;align-items:start}
.gallery{display:grid;grid-template-columns:86px minmax(0,1fr);gap:14px}
.thumbs{display:flex;flex-direction:column;gap:10px}.thumb{border:2px solid transparent;background:#fff;border-radius:13px;padding:4px;cursor:pointer;overflow:hidden}.thumb.active{border-color:var(--pink)}.thumb img{aspect-ratio:1/1;object-fit:cover;border-radius:10px}.main-image{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.main-image img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff}
.buy-box{position:sticky;top:104px;border:1px solid var(--line);border-radius:22px;background:#fff;padding:20px;box-shadow:var(--shadow)}
.product-name{font-size:22px;font-weight:900;line-height:1.35;margin:0 0 10px}.price{font-size:24px;font-weight:900;margin:0 0 16px}.tax{font-size:12px;color:var(--muted);font-weight:700}.mini-info{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 18px}.mini-info div{background:#fafafa;border:1px solid var(--line);border-radius:12px;padding:10px}.mini-info span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.mini-info b{font-size:12px}
.selector-block{border-top:1px solid var(--line);padding-top:16px;margin-top:14px}.label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.label-row h3{font-size:14px;margin:0;font-weight:900}.required{font-size:11px;background:#111;color:#fff;border-radius:999px;padding:4px 7px;font-weight:900}.options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.option{border:2px solid var(--line);background:#fff;border-radius:14px;padding:13px 8px;font-weight:900;cursor:pointer}.option:hover,.option[aria-pressed="true"]{border-color:var(--pink);background:var(--pink-soft);color:#c60082}.stock{display:block;font-size:10px;color:var(--muted);font-weight:700;margin-top:4px}.qty-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}.qty button{width:38px;height:38px;border:0;background:#fff;font-weight:900;cursor:pointer}.qty span{min-width:34px;text-align:center;font-weight:900}.size-link,.link-button{border:0;background:none;color:var(--pink);font-size:12px;font-weight:900;cursor:pointer;padding:0}.cart-button{width:100%;border:0;border-radius:16px;background:#111;color:#fff;padding:16px 18px;margin-top:18px;font-weight:900;cursor:pointer}.cart-button:disabled{background:#e6e6e6;color:#999;cursor:not-allowed}.secure-note{font-size:11px;color:#777;text-align:center;margin:12px 0 0}.detail-accordion{margin-top:22px;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.detail-accordion details{border-top:1px solid var(--line)}.detail-accordion details:first-child{border-top:0}.detail-accordion summary{cursor:pointer;padding:16px 18px;font-weight:900;list-style:none}.detail-accordion summary::-webkit-details-marker{display:none}.detail-accordion summary::after{content:"＋";float:right;color:var(--pink)}.detail-accordion details[open] summary::after{content:"−"}.detail-accordion .detail-body{padding:0 18px 18px;color:#444;line-height:1.75;font-size:13px}.detail-list{margin:0;padding-left:1.1em}.redesign-modal{position:fixed;inset:0;background:rgba(0,0,0,.48);display:none;place-items:center;z-index:40;padding:22px}.redesign-modal.open{display:grid}.modal-panel{width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;padding:18px;box-shadow:0 24px 80px rgba(0,0,0,.25)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.modal-head h2{margin:0;font-size:18px}.redesign-close{border:0;background:#111;color:#fff;width:34px;height:34px;border-radius:999px;cursor:pointer}.cart-added{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:center}.cart-added img{width:92px;height:92px;object-fit:contain;border:1px solid var(--line);border-radius:14px}.cart-added h3{font-size:16px;margin:0 0 6px}.cart-added p{margin:3px 0;font-size:13px}.modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.redesign-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;border:1px solid var(--line);background:#fff;padding:11px 16px;font-size:13px;font-weight:900}.redesign-btn.primary{background:#111;color:#fff;border-color:#111}.redesign-btn.pink{background:var(--pink);color:#fff;border-color:var(--pink)}.redesign-btn.block{width:100%;border-radius:14px}.status{display:inline-flex;align-items:center;border-radius:999px;background:#f5f5f5;padding:5px 9px;font-size:11px;font-weight:900;color:#555}.status.pink{background:var(--pink-soft);color:#c60082}.status.blue{background:#eafcff;color:#007d8b}.status.dark{background:#111;color:#fff}.account-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.account-tile{border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px;box-shadow:0 10px 24px rgba(0,0,0,.04);min-height:116px;display:flex;flex-direction:column;justify-content:space-between}.tile-icon{font-size:26px}.tile-title{font-weight:900}.tile-num{font-size:20px;font-weight:900;color:var(--pink)}.dashboard{display:grid;grid-template-columns:2fr 1fr;gap:20px}.panel{border:1px solid var(--line);border-radius:20px;background:#fff;padding:18px;box-shadow:0 10px 28px rgba(0,0,0,.04)}.panel h2{font-size:18px;margin:0 0 14px}.order-card{display:grid;grid-template-columns:88px 1fr auto;gap:14px;align-items:center;border-top:1px solid var(--line);padding:14px 0}.order-card:first-of-type{border-top:0;padding-top:0}.order-img{width:88px;height:88px;object-fit:contain;border-radius:14px;border:1px solid var(--line);background:#fff}.order-main h3{font-size:14px;margin:0 0 7px;line-height:1.4}.order-main p{font-size:12px;color:#666;margin:4px 0}.side-menu{display:grid;gap:8px}.side-menu a{border:1px solid var(--line);border-radius:14px;padding:13px 14px;font-size:13px;font-weight:900;background:#fff;display:flex;justify-content:space-between}.side-menu a::after{content:"→";color:var(--pink)}.two-col{display:grid;grid-template-columns:260px 1fr;gap:18px}.message-list,.thread{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.04);overflow:hidden}.message-item{padding:14px;border-bottom:1px solid var(--line);display:block}.message-item.active{background:var(--pink-soft)}.message-item h3{font-size:13px;margin:0 0 6px}.message-item p{font-size:12px;margin:0;color:#777}.thread-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.thread-head h2{font-size:16px;margin:0}.chat{padding:18px;display:grid;gap:12px;background:#fcfcfc}.bubble{max-width:78%;border-radius:16px;padding:12px 14px;font-size:13px;line-height:1.6}.bubble.admin{background:#fff;border:1px solid var(--line)}.bubble.user{background:#111;color:#fff;justify-self:end}.reply{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px;border-top:1px solid var(--line);background:#fff}.reply input{border:1px solid var(--line);border-radius:999px;padding:11px 14px}.cart-layout{display:grid;grid-template-columns:1fr 320px;gap:22px}.cart-row{display:grid;grid-template-columns:100px 1fr auto;gap:16px;align-items:center;border:1px solid var(--line);border-radius:20px;background:#fff;padding:14px;box-shadow:0 8px 20px rgba(0,0,0,.04)}.cart-row img{width:100px;height:100px;object-fit:contain;border-radius:14px;border:1px solid var(--line)}.cart-row h3{font-size:15px;margin:0 0 8px}.cart-row p{font-size:12px;color:#666;margin:4px 0}.summary{border:1px solid var(--line);border-radius:20px;background:#fff;padding:18px;box-shadow:var(--shadow);height:max-content}.summary-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.summary-row.total{border-bottom:0;font-weight:900;font-size:17px}.oshilot-visual{border-radius:24px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:28px}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.step{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;text-align:center}.step b{display:block;color:var(--pink);font-size:12px;margin-bottom:7px}.step span{font-size:13px;font-weight:900}.placeholder-card{background:linear-gradient(135deg,#fff 0%,#fff2fb 45%,#eaffff 100%);display:grid;place-items:center;text-align:center;color:#111;font-weight:900}.placeholder-card span{font-size:13px;padding:16px}.help-list{border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden}.help-list details{border-top:1px solid var(--line)}.help-list details:first-child{border-top:0}.help-list summary{padding:16px 18px;cursor:pointer;font-weight:900}.help-list p{margin:0;padding:0 18px 18px;font-size:13px;color:#555;line-height:1.8}
@media (max-width:1180px){body::before,body::after{display:none}.header-inner,.main,.footer-inner{max-width:100%}}
@media (max-width:880px){
  .oshilot-banner-grid{grid-template-columns:1fr;gap:14px}
  body{padding-bottom:70px}.header-inner{grid-template-columns:1fr auto;min-height:70px}.global-nav{display:none}.logo img{height:38px}.header-actions .icon-link:first-child{display:none}.main{padding:22px 16px 64px}.quick-nav{grid-template-columns:1fr}.card-grid,.card-grid.three{grid-template-columns:repeat(2,1fr);gap:12px}.section-title{font-size:22px}.footer-inner{grid-template-columns:1fr;text-align:left}.footer-brand{text-align:left}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding:6px 6px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -12px 30px rgba(0,0,0,.06)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;font-size:10px;font-weight:900;color:#555}.bottom-nav a span{font-size:18px}.bottom-nav a.active{color:var(--pink)}.product-layout{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.thumbs{flex-direction:row;order:2;overflow:auto}.thumb{min-width:72px}.buy-box{position:static}.mini-info{grid-template-columns:1fr 1fr}.account-grid{grid-template-columns:repeat(2,1fr)}.dashboard,.two-col,.cart-layout{grid-template-columns:1fr}.order-card{grid-template-columns:72px 1fr}.order-img{width:72px;height:72px}.order-card .redesign-btn{grid-column:1/-1}.thread{min-height:520px}.cart-row{grid-template-columns:82px 1fr}.cart-row img{width:82px;height:82px}.cart-row .price{grid-column:1/-1;font-size:18px}.timeline{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:520px){.card-grid,.card-grid.three{grid-template-columns:1fr 1fr}.visual-card-title{font-size:12px;min-height:35px}.visual-card-body{padding:10px}.visual-card-price{font-size:13px}.page-title{font-size:25px}.tools{display:block}.search{width:100%;margin-bottom:10px}.options{grid-template-columns:1fr 1fr}.modal-actions .redesign-btn{width:100%}.cart-added{grid-template-columns:72px 1fr}.cart-added img{width:72px;height:72px}.account-grid{gap:10px}.account-tile{padding:14px;min-height:104px}.timeline{grid-template-columns:1fr 1fr}}

/* Oshilot detail */
.oshilot-detail-hero{display:block;border:1px solid #cfd1d8;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);background:#fff;margin-bottom:28px;padding:6px}
.oshilot-detail-hero img{width:100%;height:auto;border-radius:18px}
.oshilot-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:34px;align-items:start}
.oshilot-gallery{display:grid;gap:14px}
.lot-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;overflow:auto}
.lot-thumbs .thumb{min-width:0}
.lot-buy-box .status{margin-bottom:12px}
.lot-info-list{display:grid;gap:8px;margin-top:14px}
.lot-info-list div{border:1px solid var(--line);border-radius:12px;background:#fafafa;padding:10px 12px}
.lot-info-list span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px;font-weight:800}
.lot-info-list b{display:block;font-size:12px;line-height:1.45}
.lot-actions{display:grid;gap:10px;margin-top:16px}
.prize-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.prize-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px;box-shadow:0 10px 28px rgba(0,0,0,.04)}
.prize-rank{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:12px;font-weight:900;color:var(--muted)}
.prize-rank img{width:52px;height:52px;object-fit:contain}
.rank-letter{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#111;color:var(--pink);font-size:34px;font-weight:900;line-height:1}
.prize-img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:14px}
.prize-placeholder{aspect-ratio:1/1;border:1px solid var(--line);border-radius:14px}
.prize-card h3{font-size:14px;line-height:1.45;margin:11px 0 0;font-weight:900}
@media (max-width:880px){.oshilot-detail-layout{grid-template-columns:1fr}.prize-grid{grid-template-columns:repeat(2,1fr)}.lot-thumbs{grid-template-columns:repeat(5,72px)}}
@media (max-width:520px){.prize-grid{grid-template-columns:1fr 1fr;gap:12px}.prize-card{padding:10px}.prize-rank img,.rank-letter{width:44px;height:44px}.rank-letter{font-size:28px}.prize-card h3{font-size:12px}}


/* TOP oshilot count / current-site-like banner cards */
.oshilot-banner-card .oshilot-placeholder{aspect-ratio:16/9;min-height:auto}
@media (min-width:881px){.oshilot-banner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Oshilot detail v4: closer to current Oshikuji detail */
.oshilot-detail-page{padding-bottom:120px}
.lot-gallery-section{border:1px solid var(--line);border-radius:24px;background:#fff;padding:16px;box-shadow:var(--shadow);margin:0 0 34px}
.lot-main-image{border-radius:18px;background:#fff;border:1px solid var(--line);overflow:hidden;display:grid;place-items:center;min-height:420px}
.lot-main-image img{width:100%;max-height:640px;object-fit:contain;background:#fff;transition:opacity .22s ease,transform .22s ease}
.lot-main-image img.is-changing{opacity:.35;transform:scale(.985)}
.lot-thumb-strip{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;margin-top:12px}
.lot-thumb{border:2px solid transparent;border-radius:12px;background:#fff;padding:3px;cursor:pointer;overflow:hidden;transition:border-color .16s ease,transform .16s ease}
.lot-thumb:hover,.lot-thumb.active{border-color:var(--pink);transform:translateY(-1px)}
.lot-thumb img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:9px;background:#fff}
.lot-info-section{border:1px solid var(--line);border-radius:24px;background:#fff;padding:24px;box-shadow:var(--shadow);margin:0 0 42px}
.lot-info-head h1{font-size:28px;line-height:1.35;margin:0 0 18px;font-weight:900}
.lot-info-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lot-info-table div{border:1px solid var(--line);border-radius:16px;background:#fafafa;padding:14px 16px}.lot-info-table dt{font-size:12px;color:var(--muted);font-weight:900;margin-bottom:6px}.lot-info-table dd{margin:0;font-size:14px;line-height:1.55;font-weight:900}.lot-info-table small{font-size:11px;color:#777;font-weight:700}
.lot-ticket-row{display:grid;grid-template-columns:150px 1fr 1fr;gap:12px;align-items:center;margin-top:18px}.lot-qty{height:50px;justify-content:space-between}.lot-payment{font-size:12px;color:#666;line-height:1.6;margin:14px 0 0}
.lot-prize-section{margin-top:0}.lot-prize-list{display:grid;gap:18px}.lot-prize{display:grid;grid-template-columns:96px minmax(260px,380px) 1fr;gap:20px;align-items:center;border:1px solid var(--line);border-radius:22px;background:#fff;padding:18px;box-shadow:0 10px 28px rgba(0,0,0,.04)}
.lot-rank{display:grid;justify-items:center;gap:8px;font-size:14px;font-weight:900;color:#111}.lot-rank img{width:72px;height:72px;object-fit:contain}.lot-rank span{display:inline-block;border-radius:999px;background:#111;color:#fff;font-size:12px;padding:5px 10px}
.lot-prize-media{display:grid;gap:8px}.lot-prize-main,.lot-mini-image{border:1px solid var(--line);background:#fff;border-radius:16px;cursor:pointer;overflow:hidden;padding:0}.lot-prize-main img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff}.prize-mini-list{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.lot-mini-image img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#fff}
.lot-prize-body h2{font-size:20px;line-height:1.45;margin:0 0 10px;font-weight:900}.lot-prize-body p{font-size:13px;line-height:1.8;margin:0;color:#4b4b4b}.prize-size{font-weight:900;color:#222!important;margin-top:8px!important}
.reveal-item{opacity:0;transform:translateY(22px);transition:opacity .56s ease,transform .56s ease}.reveal-item.is-shown,.reveal-item.is-visible{opacity:1;transform:translateY(0)}
.lot-sticky-cta{position:fixed;left:50%;bottom:20px;z-index:80;width:min(760px,calc(100% - 36px));transform:translate(-50%,18px);opacity:0;pointer-events:none;display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 18px 48px rgba(0,0,0,.14);padding:10px 12px 10px 20px;backdrop-filter:blur(14px);transition:opacity .24s ease,transform .24s ease}.oshilot-detail-page .lot-sticky-cta,.lot-sticky-cta.show{opacity:1;pointer-events:auto;transform:translate(-50%,0)}.lot-sticky-cta b{display:block;font-size:13px;line-height:1.4}.lot-sticky-cta span{display:block;font-size:12px;color:#666;margin-top:2px;font-weight:900}
@media (max-width:880px){.lot-main-image{min-height:300px}.lot-thumb-strip{grid-template-columns:repeat(6,74px);overflow:auto}.lot-info-table{grid-template-columns:1fr}.lot-ticket-row{grid-template-columns:1fr}.lot-prize{grid-template-columns:68px 1fr;align-items:start}.lot-rank img{width:58px;height:58px}.lot-prize-media{grid-column:1/-1;order:2}.lot-prize-body{grid-column:2;order:1}.lot-sticky-cta{bottom:82px;border-radius:22px}}
@media (max-width:520px){.lot-gallery-section,.lot-info-section{padding:12px;border-radius:18px}.lot-main-image{min-height:240px}.lot-info-head h1{font-size:22px}.lot-prize{gap:12px;padding:12px}.lot-prize-body h2{font-size:16px}.prize-mini-list{grid-template-columns:repeat(3,1fr)}.lot-sticky-cta{width:calc(100% - 20px);padding:10px}.lot-sticky-cta .redesign-btn{padding:10px 12px}}
@media (prefers-reduced-motion:reduce){html::before,body::before,body::after{animation:none!important}.reveal-item,.lot-sticky-cta,.lot-main-image img,.lot-thumb{transition:none!important}.reveal-item{opacity:1;transform:none}}

/* Current-site alignment overrides */
.creator-feature-banners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 30px}
.creator-hero-slider{position:relative;display:block;border:1px solid #cfd1d8;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);background:#fff;margin:0 0 18px;padding:6px}
.creator-slide{display:block;opacity:0;pointer-events:none;position:absolute;inset:6px;transition:opacity .45s ease}
.creator-slide.active{opacity:1;pointer-events:auto;position:relative;inset:auto}
.creator-slide img{width:100%;height:auto;object-fit:contain;border-radius:18px;background:#fff}
.creator-slider-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:7px;pointer-events:none}
.creator-slider-dots span{width:7px;height:7px;border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.creator-slider-dots span.active{background:var(--pink)}
.text-link{color:var(--pink);font-weight:900;text-decoration:underline;text-underline-offset:3px}
.oshilot-visual{display:block;background:#fff}
.oshilot-visual img{width:100%;height:auto}
.oshilot-detail-hero img{width:100%;height:auto;object-fit:contain;background:#fff}
.lot-gallery-section{padding:12px;margin-bottom:28px}
.lot-main-image{min-height:0}
.lot-info-section{padding:26px 28px}
.lot-info-table{gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.lot-info-table div{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:#fff}
.lot-ticket-row{grid-template-columns:140px 1fr 1fr}
.lot-payment{border-top:1px solid var(--line);padding-top:14px}
.lot-prize-list{gap:14px}
.lot-prize{border-radius:12px;box-shadow:none}
@media (max-width:880px){
  .creator-feature-banners{grid-template-columns:1fr;gap:14px}
  .lot-ticket-row{grid-template-columns:1fr}
}

/* Denser spacing */
.header-inner{min-height:70px;padding:10px 20px}
.logo img{height:38px}
.main{padding:18px 20px 48px}
.breadcrumb{margin:0 0 12px}
.section{margin-top:28px}
.section-head{margin-bottom:12px}
.section-title small,.page-title small{margin-top:5px}
.page-head{margin-bottom:16px}
.card-grid{gap:12px}
.visual-card-body{padding:9px 10px 11px}
.visual-card-title{min-height:34px;line-height:1.35}
.visual-card-meta{margin-top:7px}
.visual-card-price{margin-top:6px}
.oshilot-banner-grid{gap:12px}
.section-oshilot-top .oshilot-banner-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.oshilot-info-hero{margin-top:0}
.oshilot-info-hero{height:120px;display:grid;place-items:center}
.oshilot-info-hero img{width:auto;max-width:100%;height:108px;object-fit:contain}
.oshilot-banner-name{padding:8px 10px 10px}
.creator-feature-banners{gap:12px;margin-bottom:18px}
.creator-hero-slider{margin-bottom:16px;padding:4px}
.creator-slide{inset:4px}
.footer-inner{padding:24px 20px 28px}
.oshilot-detail-page{padding-bottom:132px}
.oshilot-detail-hero{margin-bottom:16px;padding:4px}
.lot-gallery-section{padding:8px;margin-bottom:18px}
.lot-thumb-strip{gap:6px;margin-top:8px}
.lot-thumb{border-radius:9px;padding:2px}
.lot-info-section{padding:18px 20px;margin-bottom:26px}
.lot-info-head h1{font-size:25px;margin-bottom:12px}
.lot-info-table div{padding:10px 12px}
.lot-info-table dt{margin-bottom:3px}
.lot-ticket-row{gap:8px;margin-top:12px}
.lot-payment{margin-top:10px;padding-top:10px}
.lot-prize-list{gap:10px}
.lot-prize{gap:14px;padding:12px;grid-template-columns:78px minmax(220px,320px) 1fr}
.lot-rank{gap:5px}
.lot-rank img{width:58px;height:58px}
.lot-prize-body h2{font-size:18px;margin-bottom:6px}
.lot-prize-body p{line-height:1.6}
.prize-mini-list{gap:6px}
@media (max-width:880px){
  .main{padding:16px 14px 52px}
  .section{margin-top:24px}
  .card-grid,.card-grid.three{gap:10px}
  .creator-feature-banners,.oshilot-banner-grid{gap:10px}
  .creator-hero-slider{border-radius:18px}
  .creator-slide img{border-radius:14px}
  .section-oshilot-top .oshilot-banner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lot-gallery-section,.lot-info-section{border-radius:16px}
  .lot-prize{gap:10px;padding:10px;grid-template-columns:58px 1fr}
  .lot-rank img{width:48px;height:48px}
}

/* Creator detail and status states */
.creator-detail-head{margin-bottom:18px}
.creator-profile{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:18px;align-items:center;margin-top:12px}
.creator-profile-image{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.creator-profile-image img{width:100%;height:auto}
.creator-profile-body{border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px;box-shadow:0 10px 28px rgba(0,0,0,.04)}
.creator-profile-body h2{font-size:24px;margin:0 0 10px;font-weight:900}
.creator-profile-body p{font-size:14px;line-height:1.75;margin:5px 0;color:#444}
.is-closed{filter:brightness(.68);opacity:.86}
.is-closed:hover{filter:brightness(.78);opacity:.92}
.is-open{filter:none;opacity:1}
@media (max-width:880px){
  .creator-profile{grid-template-columns:1fr;gap:12px}
  .creator-profile-body{padding:14px}
}

/* Oshilot detail split layout */
.lot-detail-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:20px;
  align-items:start;
  margin-bottom:28px;
}
.lot-detail-summary .lot-gallery-section,
.lot-detail-summary .lot-info-section{
  margin:0;
}
.lot-detail-summary .lot-info-section{
  position:sticky;
  top:86px;
  align-self:start;
}
.lot-detail-summary .lot-info-table{
  grid-template-columns:1fr;
}
.lot-detail-summary .lot-ticket-row{
  grid-template-columns:1fr;
  gap:8px;
}
.lot-detail-summary .lot-thumb-strip{
  grid-template-columns:none;
  grid-auto-flow:column;
  grid-auto-columns:72px;
  overflow-x:auto;
  padding-bottom:2px;
}
.lot-detail-summary .lot-payment{
  font-size:12px;
}
.lot-prize-main,
.lot-mini-image,
#mainProductImage{
  cursor:zoom-in;
}
.image-lightbox{
  position:fixed;
  inset:0;
  z-index:60;
  display:none;
  place-items:center;
  padding:22px;
  background:rgba(0,0,0,.72);
}
.image-lightbox.open{
  display:grid;
}
.image-lightbox-panel{
  position:relative;
  width:fit-content;
  max-width:100%;
  max-height:92vh;
  display:grid;
  place-items:center;
}
.image-lightbox-panel img{
  max-width:100%;
  max-height:92vh;
  object-fit:contain;
  border-radius:12px;
  background:#fff;
  box-shadow:0 24px 80px rgba(0,0,0,.32);
}
.image-lightbox-close{
  position:absolute;
  top:-14px;
  right:-14px;
  z-index:1;
  width:38px;
  height:38px;
  border:0;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.oshilot-about-hero{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  gap:18px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  padding:18px;
  box-shadow:var(--shadow);
}
.oshilot-about-hero img{
  width:100%;
  height:auto;
  object-fit:contain;
}
.oshilot-about-copy{
  border-left:4px solid var(--pink);
  padding-left:18px;
}
.oshilot-about-copy p{
  margin:6px 0;
  font-size:22px;
  line-height:1.55;
  font-weight:900;
}
.oshilot-guide-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.oshilot-guide-grid.trade{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.oshilot-guide-card{
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  padding:12px;
  box-shadow:0 10px 28px rgba(0,0,0,.04);
}
.oshilot-guide-card img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:contain;
  background:#fafafa;
  border:1px solid var(--line);
  border-radius:12px;
}
.oshilot-guide-card h3{
  margin:10px 0 6px;
  font-size:15px;
  line-height:1.35;
  font-weight:900;
}
.oshilot-guide-card p,
.oshilot-trade-intro p{
  margin:0;
  color:#4b4b4b;
  font-size:13px;
  line-height:1.7;
  font-weight:700;
}
.oshilot-image-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.oshilot-image-row img{
  width:100%;
  height:auto;
  object-fit:contain;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,.04);
}
.oshilot-trade-intro{
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  padding:14px 16px;
  margin-bottom:14px;
}
.description-actions{
  justify-content:center;
}
@media (max-width:880px){
  .lot-detail-summary{
    grid-template-columns:1fr;
    gap:14px;
    margin-bottom:22px;
  }
  .lot-detail-summary .lot-info-section{
    position:static;
  }
  .lot-detail-summary .lot-thumb-strip{
    grid-auto-columns:68px;
  }
  .image-lightbox{
    padding:12px;
  }
  .image-lightbox-close{
    top:8px;
    right:8px;
  }
  .oshilot-about-hero,
  .oshilot-guide-grid,
  .oshilot-guide-grid.trade,
  .oshilot-image-row{
    grid-template-columns:1fr;
  }
  .oshilot-about-copy{
    border-left:0;
    border-top:4px solid var(--pink);
    padding-left:0;
    padding-top:12px;
  }
  .oshilot-about-copy p{
    font-size:18px;
  }
}

/* Oshilot prize images */
.lot-prize{
  grid-template-columns:64px minmax(360px,520px) 1fr;
  align-items:start;
}
.lot-prize-media{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
}
.lot-prize-main,
.lot-mini-image{
  min-width:0;
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.lot-prize-main:hover,
.lot-mini-image:hover{
  border-color:var(--pink);
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(255,0,168,.12);
}
.lot-prize-main img,
.lot-mini-image img{
  width:100%;
  aspect-ratio:1/1;
  min-height:0;
  padding:8px;
  object-fit:contain;
  background:#fff;
}
.prize-mini-list{
  display:contents;
}
@media (max-width:880px){
  .lot-prize{
    grid-template-columns:58px 1fr;
  }
  .lot-prize-media{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:520px){
  .lot-prize-media{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .lot-prize.reveal-item:not(.is-shown){
    opacity:.18;
    transform:translateY(18px) scale(.995);
  }
}

/* Scroll reactions for Oshilot detail */
.lot-prize.reveal-item{
  transform:translateY(34px) scale(.985);
  transition:opacity .58s ease,transform .58s cubic-bezier(.2,.8,.2,1),box-shadow .58s ease,border-color .58s ease;
}
.lot-prize.reveal-item.is-shown{
  opacity:1;
  transform:translateY(0) scale(1);
}
.lot-prize.reveal-item.is-visible{
  transform:translateY(0) scale(1);
  border-color:#ffc2eb;
  box-shadow:0 18px 42px rgba(255,0,168,.12);
}
.lot-prize.reveal-item.is-visible .lot-rank img{
  animation:rankPop .52s cubic-bezier(.2,.8,.2,1) both;
}
.lot-prize.reveal-item.is-visible .lot-prize-main,
.lot-prize.reveal-item.is-visible .lot-mini-image{
  animation-duration:.82s;
  animation-fill-mode:both;
  animation-delay:var(--lot-item-delay,0ms);
}
.lot-prize.reveal-item.is-visible.rank-motion-flip .lot-prize-main,
.lot-prize.reveal-item.is-visible.rank-motion-flip .lot-mini-image{
  animation-name:lotFlip;
  backface-visibility:visible;
}
.lot-prize.reveal-item.is-visible.rank-motion-rubber-band .lot-prize-main,
.lot-prize.reveal-item.is-visible.rank-motion-rubber-band .lot-mini-image{
  animation-name:lotRubberBand;
}
.lot-prize.reveal-item.is-visible.rank-motion-swing .lot-prize-main,
.lot-prize.reveal-item.is-visible.rank-motion-swing .lot-mini-image{
  animation-name:lotSwing;
  transform-origin:top center;
}
.lot-prize.reveal-item.is-visible.rank-motion-bounce .lot-prize-main,
.lot-prize.reveal-item.is-visible.rank-motion-bounce .lot-mini-image{
  animation-name:lotBounce;
}
.lot-prize.reveal-item.is-visible.rank-motion-zoom-in .lot-prize-main,
.lot-prize.reveal-item.is-visible.rank-motion-zoom-in .lot-mini-image{
  animation-name:lotZoomIn;
}
.lot-prize.reveal-item.is-visible.rank-motion-pulse .lot-prize-main,
.lot-prize.reveal-item.is-visible.rank-motion-pulse .lot-mini-image{
  animation-name:lotPulse;
}
.lot-prize.reveal-item.is-visible.rank-motion-rotate-in .lot-prize-main,
.lot-prize.reveal-item.is-visible.rank-motion-rotate-in .lot-mini-image{
  animation-name:lotRotateIn;
  transform-origin:center;
}
@keyframes rankPop{
  0%{transform:scale(.82);opacity:.55}
  70%{transform:scale(1.08);opacity:1}
  100%{transform:scale(1)}
}
@keyframes lotFlip{
  0%{transform:perspective(420px) rotateY(-360deg);animation-timing-function:ease-out}
  40%{transform:perspective(420px) translateZ(90px) rotateY(-190deg);animation-timing-function:ease-out}
  50%{transform:perspective(420px) translateZ(90px) rotateY(-170deg);animation-timing-function:ease-in}
  80%{transform:perspective(420px) scale3d(.95,.95,.95);animation-timing-function:ease-in}
  100%{transform:perspective(420px)}
}
@keyframes lotRubberBand{
  0%{transform:scale3d(1,1,1)}
  30%{transform:scale3d(1.25,.75,1)}
  40%{transform:scale3d(.75,1.25,1)}
  50%{transform:scale3d(1.15,.85,1)}
  65%{transform:scale3d(.95,1.05,1)}
  75%{transform:scale3d(1.05,.95,1)}
  100%{transform:scale3d(1,1,1)}
}
@keyframes lotSwing{
  20%{transform:rotate3d(0,0,1,15deg)}
  40%{transform:rotate3d(0,0,1,-10deg)}
  60%{transform:rotate3d(0,0,1,5deg)}
  80%{transform:rotate3d(0,0,1,-5deg)}
  100%{transform:rotate3d(0,0,1,0deg)}
}
@keyframes lotBounce{
  0%,20%,53%,80%,100%{transform:translate3d(0,0,0);animation-timing-function:cubic-bezier(.215,.61,.355,1)}
  40%,43%{transform:translate3d(0,-22px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}
  70%{transform:translate3d(0,-11px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}
  90%{transform:translate3d(0,-4px,0)}
}
@keyframes lotPulse{
  0%{transform:scale3d(1,1,1)}
  50%{transform:scale3d(1.07,1.07,1.07)}
  100%{transform:scale3d(1,1,1)}
}
@keyframes lotRotateIn{
  0%{opacity:0;transform:rotate3d(0,0,1,-180deg) scale(.72)}
  60%{opacity:1;transform:rotate3d(0,0,1,10deg) scale(1.04)}
  100%{opacity:1;transform:rotate3d(0,0,1,0deg) scale(1)}
}
@keyframes lotZoomIn{
  0%{opacity:0;transform:scale3d(.35,.35,.35)}
  55%{opacity:1}
  100%{opacity:1;transform:scale3d(1,1,1)}
}
@media (prefers-reduced-motion:reduce){
  .lot-prize.reveal-item.is-visible .lot-rank img,
  .lot-prize.reveal-item.is-visible .lot-prize-main,
  .lot-prize.reveal-item.is-visible .lot-mini-image{animation:none!important}
}

/* Oshilot trade */
.trade-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:18px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  padding:14px;
  box-shadow:var(--shadow);
}
.trade-hero img{
  width:100%;
  height:auto;
  object-fit:contain;
  border-radius:12px;
  background:#fff;
}
.trade-hero h1{
  margin:0 0 10px;
  font-size:24px;
  line-height:1.35;
  font-weight:900;
}
.trade-hero p{
  margin:5px 0;
  color:#444;
  font-size:14px;
  line-height:1.6;
  font-weight:800;
}
.trade-stepper{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin:18px 0 12px;
}
.trade-stepper span{
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  padding:10px 12px;
  text-align:center;
  font-size:13px;
  font-weight:900;
  color:#777;
}
.trade-stepper span.active{
  border-color:var(--pink);
  background:var(--pink);
  color:#fff;
}
.trade-summary{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:10px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  padding:12px;
  box-shadow:0 10px 28px rgba(0,0,0,.04);
}
.trade-summary div{
  display:grid;
  gap:3px;
}
.trade-summary span,
.trade-note{
  color:#666;
  font-size:12px;
  line-height:1.55;
  font-weight:800;
}
.trade-summary b{
  font-size:14px;
  line-height:1.4;
}
.trade-rank-list{
  display:grid;
  gap:14px;
}
.trade-rank-row{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:12px;
  align-items:start;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  padding:12px;
}
.trade-rank-icon{
  width:64px;
  height:64px;
  object-fit:contain;
}
.trade-item-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.trade-item-card{
  position:relative;
  display:grid;
  gap:8px;
  border:2px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:8px;
  cursor:pointer;
  text-align:left;
  transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.trade-item-card:hover,
.trade-item-card.selected{
  border-color:var(--pink);
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(255,0,168,.12);
}
.trade-item-card.is-owned{
  border-color:#ffb5e8;
  background:#fff7fc;
}
.trade-item-card.is-unowned{
  background:#f4f4f4;
  border-color:#d7d7d7;
  filter:saturate(.45) brightness(.96);
  color:#666;
}
.trade-item-card.is-unowned img{
  opacity:.72;
}
.trade-item-card.is-unowned:hover,
.trade-item-card.is-unowned.selected{
  filter:saturate(.75) brightness(1);
  color:#333;
}
.trade-owned-label{
  position:absolute;
  top:8px;
  right:8px;
  z-index:2;
  border-radius:999px;
  padding:4px 8px;
  font-size:10px;
  font-weight:900;
  box-shadow:0 6px 14px rgba(0,0,0,.08);
}
.trade-owned-label.owned{
  background:var(--pink);
  color:#fff;
}
.trade-owned-label.unowned{
  background:#f0f0f0;
  color:#555;
}
.trade-item-card.is-disabled{
  opacity:.42;
  filter:brightness(.9);
  cursor:not-allowed;
}
.trade-item-card.is-disabled:hover{
  border-color:var(--line);
  transform:none;
  box-shadow:none;
}
.trade-item-card img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:contain;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
.trade-item-card b{
  font-size:12px;
  line-height:1.45;
  min-height:34px;
}
.trade-count{
  position:absolute;
  top:8px;
  left:8px;
  z-index:1;
  border-radius:999px;
  background:#111;
  color:#fff;
  padding:4px 8px;
  font-size:10px;
  font-weight:900;
}
.trade-confirm{
  display:grid;
  grid-template-columns:1fr 52px 1fr;
  gap:14px;
  align-items:center;
}
.trade-confirm-card{
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  padding:14px;
  text-align:center;
  box-shadow:0 10px 28px rgba(0,0,0,.04);
}
.trade-confirm-card span{
  display:block;
  color:#666;
  font-size:12px;
  font-weight:900;
  margin-bottom:8px;
}
.trade-confirm-card img{
  width:100%;
  max-height:320px;
  object-fit:contain;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.trade-confirm-card b{
  display:block;
  margin-top:10px;
  font-size:15px;
  line-height:1.45;
}
.trade-arrow{
  text-align:center;
  color:var(--pink);
  font-size:34px;
  font-weight:900;
}
.trade-complete{
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  padding:28px;
  text-align:center;
  box-shadow:var(--shadow);
}
.trade-complete h2{
  margin:0 0 10px;
  font-size:26px;
  font-weight:900;
}
.trade-complete p{
  margin:0 0 18px;
  color:#555;
  font-size:14px;
  line-height:1.7;
  font-weight:800;
}
@media (max-width:880px){
  .trade-hero,
  .trade-summary,
  .trade-confirm{
    grid-template-columns:1fr;
  }
  .trade-stepper{
    grid-template-columns:repeat(2,1fr);
  }
  .trade-rank-row{
    grid-template-columns:48px 1fr;
  }
  .trade-rank-icon{
    width:44px;
    height:44px;
  }
  .trade-item-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .trade-arrow{
    transform:rotate(90deg);
  }
}

/* Oshilot collection */
.collection-history-head{
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(320px,1.22fr);
  gap:22px;
  align-items:center;
  border-bottom:1px solid var(--line);
  padding:12px 0 18px;
}
.collection-history-banner img{
  width:100%;
  height:auto;
  object-fit:contain;
  border-radius:10px;
  background:#fff;
}
.collection-history-body h1{
  margin:0 0 10px;
  font-size:28px;
  line-height:1.35;
  font-weight:900;
}
.collection-history-body p{
  margin:6px 0;
  color:#333;
  font-size:15px;
  line-height:1.6;
  font-weight:800;
}
.collection-alert{
  color:#e60033;
  font-weight:900;
}
.collection-trade-row{
  display:grid;
  grid-template-columns:minmax(180px,14em) 1fr;
  gap:18px;
  align-items:center;
  margin-top:14px;
}
.x-post-button{
  margin-top:10px;
  background:#111;
  border-color:#111;
  color:#fff;
}
.post-preview{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fafafa;
  padding:14px;
  font-weight:800;
  line-height:1.7;
}
.post-preview p{
  margin:0 0 8px;
}
.post-preview p:last-child{
  margin-bottom:0;
}
.redesign-btn.disabled,
.redesign-btn:disabled{
  background:#8f8f8f;
  border-color:#8f8f8f;
  color:#111;
  cursor:default;
  pointer-events:none;
}
.debug-toggle{
  margin-top:10px;
  border-style:dashed;
  color:#555;
}
.debug-toggle:disabled{
  opacity:.7;
  pointer-events:none;
}
.collection-actions{
  margin-top:14px;
}
.collection-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.collection-stats div{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:12px 14px;
  box-shadow:0 10px 28px rgba(0,0,0,.04);
}
.collection-stats span{
  display:block;
  color:#666;
  font-size:12px;
  font-weight:900;
  margin-bottom:5px;
}
.collection-stats b{
  font-size:18px;
  font-weight:900;
}
.collection-rank-list{
  display:grid;
  gap:12px;
}
.collection-rank-row{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:12px;
  align-items:start;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  padding:12px;
}
.collection-item-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.collection-item-card{
  position:relative;
  display:grid;
  gap:7px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:8px;
  opacity:.46;
  filter:brightness(.92);
}
.collection-item-card.is-owned{
  opacity:1;
  filter:none;
  border-color:#ffd1ef;
  box-shadow:0 10px 26px rgba(255,0,168,.08);
}
.collection-item-card img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:contain;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
.collection-item-card b{
  font-size:12px;
  line-height:1.4;
  min-height:34px;
}
.collection-item-card audio{width:100%;max-width:100%;}
.collection-item-grid.trade-pair{grid-template-columns:repeat(2,minmax(0,1fr));max-width:700px;margin-inline:auto;}
.collection-item-card small{
  color:#777;
  font-size:11px;
  font-weight:900;
}
.trade-count.empty{
  background:#999;
}

/* Readability frames */
.product-layout > section,
.buy-box,
.cart-layout > section,
.summary,
.dashboard > .panel,
.help-list,
.lot-gallery-section,
.lot-info-section,
.detail-accordion,
.trade-hero,
.trade-stepper,
.trade-summary,
.trade-section,
.trade-confirm-card,
.trade-complete,
.collection-history-head,
.collection-rank-list,
.legal-panel{
  border:2px solid var(--pink);
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 12px 32px rgba(255,0,168,.08);
}
.product-layout > section,
.trade-section,
.legal-panel{
  padding:16px;
}
.cart-layout > section{
  padding:14px;
}
.collection-rank-list{
  padding:12px;
}
.collection-history-head{
  padding:16px;
  border-bottom:2px solid var(--pink);
}
.detail-accordion,
.help-list{
  overflow:hidden;
}
.legal-panel{
  line-height:1.85;
  font-size:14px;
  color:#333;
}
.legal-panel h2{
  margin:24px 0 8px;
  font-size:18px;
  line-height:1.45;
}
.legal-panel h2:first-child{
  margin-top:0;
}
.legal-panel h3{
  margin:18px 0 6px;
  font-size:15px;
}
.legal-panel p,
.legal-panel ul{
  margin:0 0 12px;
}
.legal-panel ul{
  padding-left:1.2em;
}
.legal-table{
  width:100%;
  border-collapse:collapse;
  margin:10px 0 16px;
  font-size:13px;
}
.legal-table th,
.legal-table td{
  border:1px solid var(--line);
  padding:8px 10px;
  text-align:left;
  vertical-align:top;
}
.legal-table th{
  width:34%;
  background:#fafafa;
}
.contact-form{
  display:grid;
  gap:14px;
  margin-top:18px;
}
.contact-form label{
  display:grid;
  gap:7px;
  font-weight:900;
}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  padding:11px 13px;
}
.contact-check{
  grid-template-columns:auto 1fr;
  align-items:center;
  justify-content:start;
}
@media (max-width:880px){
  .collection-history-head,
  .collection-trade-row{
    grid-template-columns:1fr;
  }
  .collection-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .collection-rank-row{
    grid-template-columns:48px 1fr;
  }
  .collection-item-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .product-layout > section,
  .trade-section,
  .legal-panel{
    padding:12px;
  }
}

@media (max-width:880px){
  .oshilot-detail-page,
  .lot-detail-summary,
  .lot-detail-summary .lot-gallery-section,
  .lot-detail-summary .lot-info-section,
  .lot-main-image,
  .lot-thumb-strip,
  .lot-info-table,
  .lot-ticket-row{
    min-width:0;
    max-width:100%;
  }
  .lot-detail-summary{
    width:100%;
    grid-template-columns:minmax(0,1fr);
    overflow:hidden;
  }
  .lot-detail-summary .lot-gallery-section,
  .lot-detail-summary .lot-info-section{
    width:100%;
    overflow:hidden;
  }
  .lot-main-image img{
    width:100%;
    max-width:100%;
  }
  .lot-detail-summary .lot-thumb-strip{
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:64px;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }
  .lot-info-table dd,
  .lot-payment,
  .lot-payment a,
  .lot-info-head h1{
    overflow-wrap:anywhere;
    word-break:break-word;
  }
}

@media (max-width:520px){
  .lot-detail-summary .lot-thumb-strip{
    grid-auto-columns:56px;
  }
}
