*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif;color:#f5f5f7;background:#111 url('bg.webp') center/cover fixed no-repeat;min-height:100vh}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:0}
.wrap{position:relative;z-index:1;max-width:560px;margin:0 auto;padding:16px 14px 40px}
.intro h1{font-size:26px;margin:8px 0}
.intro p{line-height:1.7;font-size:14px}
.tabs{display:flex;gap:8px;margin:16px 0}
.tab{flex:1;padding:12px;border-radius:10px;border:1px solid #888;background:rgba(30,30,35,.85);color:#fff;font-size:16px;cursor:pointer}
.tab.active{background:#e6007e;border-color:#e6007e;font-weight:700}
.hidden{display:none!important}
.desc{font-size:14px;line-height:1.7}
.big-head{font-size:22px;margin:22px 0 10px}
.step-head{font-size:15px;font-weight:700;margin:14px 0 6px;cursor:pointer}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.chip{padding:8px 14px;border-radius:999px;border:1px solid #aaa;background:rgba(40,40,48,.9);color:#fff;cursor:pointer;font-size:14px}
.chip.sel{background:#e6007e;border-color:#e6007e;font-weight:700}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.tile{border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;background:#222;padding:0}
.tile.sel{border-color:#e6007e}
.tile img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.noimage{display:flex;align-items:center;justify-content:center;aspect-ratio:3/4;background:#333;color:#bbb;font-size:12px;width:100%}
.thumb{width:64px;border-radius:6px;cursor:pointer}
.thumb-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.preview img{width:110px;border-radius:8px}
.field-label{display:block;margin:14px 0 4px;font-size:14px;font-weight:700}
input[type=text],input[type=url],input[type=password],textarea{width:100%;padding:10px;border-radius:8px;border:1px solid #888;background:rgba(20,20,25,.9);color:#fff;font-size:15px}
.check-row{display:flex;gap:8px;align-items:center;margin:12px 0;font-size:15px}
.error{color:#ff8fa3;font-size:13px}
.primary-btn{width:100%;padding:14px;margin-top:16px;border:none;border-radius:10px;background:#e6007e;color:#fff;font-size:17px;font-weight:700;cursor:pointer}
.sub-btn{padding:9px 14px;border-radius:8px;border:1px solid #aaa;background:rgba(40,40,48,.9);color:#fff;cursor:pointer}
.mode-switch{display:flex;gap:8px}
.mode-btn{flex:1;padding:10px;border-radius:8px;border:1px solid #aaa;background:rgba(40,40,48,.9);color:#fff;cursor:pointer}
.mode-btn.active{background:#e6007e;border-color:#e6007e;font-weight:700}
.msg{font-size:14px;min-height:1.2em}
.card{background:rgba(25,25,32,.92);border:1px solid #555;border-radius:12px;padding:12px;margin-bottom:12px}
.card .labels{font-size:13px;line-height:1.6;word-break:break-all}
.badge{display:inline-block;background:#0e7c86;color:#fff;border-radius:6px;padding:2px 8px;font-size:12px;margin:2px 4px 2px 0}
.badge.mail{background:#555}
.badge.mutual{background:#b8860b}
.teal-note{color:#4fd8e0;font-size:13px;font-weight:700}
.exchange{display:flex;gap:8px;align-items:flex-start}
.exchange .side{flex:1;min-width:0}
.exchange .arrow{align-self:center;font-size:20px}
.pager{display:flex;gap:10px;align-items:center;justify-content:center;margin:12px 0;font-size:14px}
.pager button{padding:8px 14px;border-radius:8px;border:1px solid #aaa;background:rgba(40,40,48,.9);color:#fff;cursor:pointer}
.del-form{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.del-form input{flex:1;min-width:110px}
.mercari-wrap{position:relative;text-align:center;margin:22px 0}
.mercari-btn{display:inline-flex;gap:8px;align-items:center;background:#fff;color:#111;text-decoration:none;border-radius:999px;padding:10px 18px;font-weight:700;font-size:14px}
.mercari-badge{background:#2e8b57;color:#fff;border-radius:50%;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-size:13px}
.mercari-pr{position:absolute;right:calc(50% - 150px);bottom:-14px;font-size:10px;color:#ccc}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:50;cursor:pointer}
.modal img{width:76vw;max-width:430px;border-radius:10px}
.footer{margin-top:30px;font-size:13px;line-height:1.8;color:#ddd}
a.xlink{color:#7cc7ff}
.region-head{width:100%;font-size:13px;color:#ccc;margin:6px 0 2px;font-weight:700}
