.x-sw{display:inline-block;width:11px;height:11px;border-radius:50%;background:var(--c);flex:none;margin-right:6px;vertical-align:middle}
.x-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:12px;overflow-wrap:anywhere}
.x-hd{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;justify-content:space-between;margin-bottom:8px}
.x-hd b{color:var(--head)}
.x-hd select{max-width:100%;font:inherit;padding:4px 6px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text)}
.x-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.x-row>div:not(.x-qty):not(.x-bar){flex:1;min-width:0;overflow-wrap:anywhere}
.x-row small{display:block;color:var(--muted);font-size:.78rem}
.x-row b{color:var(--head)}
.x-n{min-width:34px;text-align:right}
.x-due{border-left:3px solid var(--o);padding-left:8px}
.x-qty{display:flex;align-items:center;gap:6px;flex:none}
.x-qty button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--bg2);color:var(--head);font-weight:700;cursor:pointer}
.x-qty button:disabled{opacity:.35;cursor:default}
.x-qty span{min-width:20px;text-align:center;font-weight:700;color:var(--head)}
.x-foot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-top:10px}
.x-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.x-st{font-size:.72rem;padding:2px 9px;border-radius:99px;background:var(--bg2);color:var(--muted);font-weight:600}
.x-st.on{background:var(--o);color:var(--deep)}
.x-good{color:var(--o);font-weight:700}
.x-bar{height:8px;background:var(--bg2);border-radius:99px;overflow:hidden;flex:0 1 120px;min-width:60px}
.x-bar i{display:block;height:100%;background:var(--c,var(--o));transition:width .4s}
.x-web{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card);margin-bottom:12px}
.x-url{background:var(--bg2);padding:6px 10px;font-size:.72rem;color:var(--muted);overflow-wrap:anywhere}
.x-in{padding:12px}
.x-form{display:grid;gap:8px}
.x-form input,.x-form select,.x-form textarea,.x-r2 select{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);font:inherit;box-sizing:border-box}
.x-form label select{margin-top:4px}
.x-r2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.x-r3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.x-map{position:relative;width:100%;aspect-ratio:4/5;max-height:430px;margin:10px 0;background:var(--bg2);border:1px solid var(--line);border-radius:12px;overflow:hidden;color:var(--muted)}
.x-map svg{position:absolute;inset:0;width:100%;height:100%}
.x-pin{position:absolute;transform:translate(-50%,-100%);border:0;background:none;font-size:22px;line-height:1;padding:0;cursor:pointer;z-index:2;transition:transform .2s}
.x-pin.x-off{opacity:.3;filter:grayscale(1)}
.x-pin.x-sel{transform:translate(-50%,-100%) scale(1.35);z-index:3}
.x-lbl{position:absolute;transform:translate(-50%,3px);font-size:.6rem;color:var(--muted);white-space:nowrap;pointer-events:none}
.x-you{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--o);border:3px solid var(--card);transform:translate(-50%,-50%);box-shadow:0 0 0 6px rgba(255,122,0,.25);z-index:4}
.x-pop{border-color:var(--o)}
.x-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.x-chips span{font-size:.7rem;padding:2px 8px;border-radius:99px;background:var(--bg2);color:var(--text)}
.x-sms{background:var(--bg2);border-radius:16px 16px 16px 4px;padding:10px 12px;font-size:.85rem;max-width:320px;color:var(--text);overflow-wrap:anywhere}
.x-tbl{width:100%;border-collapse:collapse;font-size:.85rem;margin:6px 0}
.x-tbl td{padding:6px 4px;border-top:1px solid var(--line);color:var(--text);overflow-wrap:anywhere}
.x-tbl td:last-child{text-align:right;white-space:nowrap}
.x-tbl .x-best td{color:var(--o);font-weight:700}
.x-gift{border:2px dashed var(--o);border-radius:12px;padding:12px;color:var(--head);background:var(--bg2);overflow-wrap:anywhere}
.x-gift small{color:var(--muted)}
.x-rep{margin-top:10px}
@media (max-width:560px){.x-r2,.x-r3{grid-template-columns:minmax(0,1fr)}.x-row{flex-wrap:wrap}.x-bar{flex:1 1 100%}.x-map{max-height:380px}.x-foot .btn{width:100%}}
