:root { --fg:#141414; --dim:#8a8a8a; --line:#ececec; --bg:#fff; --soft:#f6f6f6; --danger:#b3261e; }
* { box-sizing:border-box; }
body { margin:0; font:14px/1.5 "Pretendard", -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif; color:var(--fg); background:var(--bg); letter-spacing:-.01em; }
a { color:inherit; text-decoration:none; }
h1 { font-size:22px; margin:0; letter-spacing:-.03em; }
h2 { font-size:15px; margin:0 0 8px; letter-spacing:-.02em; }
small, .dim { color:var(--dim); font-size:12px; font-weight:normal; }
.error { color:var(--danger); margin:0; }
.empty { color:var(--dim); padding:60px 0; text-align:center; }
input, textarea, select, button { font:inherit; color:inherit; }
.btn { display:inline-block; background:var(--fg); color:#fff; border:0; padding:7px 14px; font-weight:600; cursor:pointer; white-space:nowrap; }
.btn:hover { opacity:.85; }
button.link { background:none; border:0; padding:0; color:#555; cursor:pointer; }
button.link:hover { color:var(--fg); }
button.link.on { color:var(--fg); font-weight:600; }
.danger { color:var(--danger) !important; }

/* 머리 */
.top { display:flex; align-items:center; gap:28px; padding:14px 28px; border-bottom:1px solid var(--line); position:sticky; top:0; background:rgba(255,255,255,.96); backdrop-filter:blur(6px); z-index:10; }
.logo { display:flex; align-items:center; gap:8px; font-weight:800; font-size:18px; letter-spacing:-.03em; }
.logo .mark { width:22px; height:16px; background:var(--fg); position:relative; }
.logo .mark::before, .logo .mark::after { content:""; position:absolute; left:3px; right:3px; height:2px; background:repeating-linear-gradient(90deg,#fff 0 2px,transparent 2px 4px); }
.logo .mark::before { top:2px; } .logo .mark::after { bottom:2px; }
.top nav { display:flex; gap:20px; color:#555; }
.top nav a:hover, .top nav a.on { color:var(--fg); }
.top nav a.on { font-weight:600; }
.search { flex:1; max-width:420px; margin:0 0 0 auto; display:flex; align-items:center; gap:8px; border:1px solid var(--line); background:var(--soft); padding:0 12px; color:var(--dim); }
.search input { flex:1; border:0; background:none; padding:7px 0; outline:none; min-width:0; }
.me { display:flex; gap:14px; align-items:center; }
.me form { margin:0; }
.me .ghost, .uname { color:#555; }

main { max-width:1440px; margin:0 auto; padding:24px 28px 80px; }

/* 필터 */
.filterbar { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:10px; }
.sel { border:1px solid #d9d9d9; padding:0 0 0 12px; display:flex; gap:6px; align-items:center; height:34px; }
.sel small { color:var(--dim); }
.sel select { border:0; background:none; padding:0 8px 0 0; height:32px; cursor:pointer; outline:none; width:150px; min-width:0; }
.sel.set { border-color:var(--fg); padding-right:12px; gap:10px; }
.sel b { font-weight:600; }
.sel .x { color:var(--dim); }
.sort { margin-left:auto; color:#555; }
.sort b { color:var(--fg); }
.sort a:hover { color:var(--fg); }
.combos { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:24px; font-size:12px; color:var(--dim); align-items:center; }
.combos a { border:1px solid var(--line); padding:3px 9px; color:#444; }
.combos a:hover { border-color:var(--fg); }
.result { display:flex; align-items:baseline; gap:10px; margin:14px 0 16px; flex-wrap:wrap; }
.result span { color:var(--dim); }

/* 사진 격자 — 원본 비율 그대로 */
.masonry { columns:4 280px; column-gap:18px; }
.item { break-inside:avoid; margin-bottom:22px; display:block; }
.ph { width:100%; height:auto; display:block; background:var(--soft); }
.item:hover .ph { filter:brightness(.94); }
.item .meta { display:flex; justify-content:space-between; gap:8px; padding-top:7px; font-size:12px; }
.item .combo { min-width:0; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.item .who { color:var(--dim); white-space:nowrap; }
.pager { display:flex; gap:20px; justify-content:center; padding:24px 0; }

/* 글 보기 */
.view { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:40px; align-items:start; }
.view.nophoto { grid-template-columns:minmax(0,760px); }
.stage .ph { margin-bottom:14px; max-height:92vh; width:auto; max-width:100%; margin-left:auto; margin-right:auto; }
.side { position:sticky; top:84px; }
.crumb { color:var(--dim); font-size:12px; margin-bottom:8px; }
.side h1 { margin-bottom:8px; line-height:1.3; }
.author { display:flex; gap:8px; align-items:center; color:#555; font-size:13px; margin-bottom:22px; }
.author .av { width:24px; height:24px; background:#e4e4e4; border-radius:50%; display:grid; place-items:center; font-size:11px; color:#666; }
.author .dot { color:#ccc; }
.gearcard { border-top:2px solid var(--fg); }
.gearrow { display:grid; grid-template-columns:44px 1fr auto; gap:8px; padding:11px 0; border-bottom:1px solid var(--line); align-items:baseline; }
.gearrow:hover b { text-decoration:underline; }
.gearrow i { font-style:normal; color:var(--dim); font-size:12px; }
.gearrow b { font-weight:600; }
.gearrow span { color:var(--dim); font-size:12px; }
.notes { margin:18px 0 22px; font-size:13px; color:#333; }
.notes dl { display:grid; grid-template-columns:70px 1fr; gap:4px 8px; margin:0 0 12px; }
.notes dt { color:var(--dim); }
.notes dd { margin:0; }
.notes .text { white-space:pre-wrap; }
.cta { display:block; text-align:center; border:1px solid var(--fg); padding:10px; font-weight:600; margin:22px 0 18px; }
.cta:hover { background:var(--fg); color:#fff; }
.acts { display:flex; gap:16px; font-size:13px; margin-top:18px; }
.acts form { margin:0; }

.strip h2 { margin:44px 0 4px; }
.strip p { color:var(--dim); margin:0 0 12px; font-size:13px; }
.row { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.row .ph { aspect-ratio:1/1; object-fit:cover; }
.row a:hover .ph { filter:brightness(.94); }
.row .cap { font-size:12px; padding-top:5px; font-weight:600; }
.row .cap span { display:block; font-weight:normal; color:var(--dim); }

.comments { max-width:760px; margin-top:44px; border-top:1px solid var(--line); padding-top:20px; }
.c { padding:12px 0; border-bottom:1px solid var(--line); }
.c b { font-weight:600; margin-right:8px; }
.c small { color:var(--dim); }
.c p { margin:4px 0 0; white-space:pre-wrap; }
.cform { display:flex; gap:8px; margin-top:14px; }
.cform textarea { flex:1; border:1px solid #d9d9d9; padding:9px 12px; resize:vertical; }

/* 목록형 게시판 */
.head { display:flex; align-items:baseline; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
.head .btn { margin-left:auto; }
.list { width:100%; border-collapse:collapse; border-top:2px solid var(--fg); }
.list td { padding:10px 4px; border-bottom:1px solid var(--line); }
.list a:hover { text-decoration:underline; }
.list .cnt { color:var(--dim); font-size:12px; }
.list .u, .list .d { color:var(--dim); font-size:12px; white-space:nowrap; width:1%; padding-left:20px; }

/* 쓰기·로그인 */
.write, .auth { max-width:720px; margin:0 auto; display:flex; flex-direction:column; gap:16px; }
.auth { max-width:360px; margin-top:40px; }
.f { display:flex; flex-direction:column; gap:6px; font-weight:600; }
.f small { font-weight:normal; }
.write input:not([type=radio]), .write textarea, .write select, .auth input { padding:8px 10px; border:1px solid #d9d9d9; border-radius:0; background:var(--bg); font-weight:normal; }
.tabs { display:flex; border:1px solid var(--fg); align-self:flex-start; }
.tabs input { display:none; }
.tabs span { display:block; padding:6px 16px; cursor:pointer; }
.tabs input:checked + span { background:var(--fg); color:#fff; }
fieldset { border:0; border-top:2px solid var(--fg); padding:12px 0 0; margin:0; display:flex; flex-direction:column; gap:8px; }
legend { padding:0 8px 0 0; font-weight:600; }
.gearpick { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.gearpick > span:first-child { width:48px; color:var(--dim); font-size:13px; }
.gearpick select, .gearpick > input { flex:1; min-width:200px; }
.newgear { display:none; gap:6px; flex-basis:100%; padding-left:56px; }
.newgear input { flex:1; min-width:0; }
.write .btn, .auth .btn { align-self:flex-start; padding:10px 28px; }
.auth .meta { color:var(--dim); font-size:13px; }
.auth .meta a { text-decoration:underline; }

/* 장비 도감 */
.gearcols { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:32px; }
.gearcols h2 { border-bottom:2px solid var(--fg); padding-bottom:8px; }
.gearcols ul { list-style:none; margin:0; padding:0; }
.gearcols li { padding:6px 0; border-bottom:1px solid var(--line); display:flex; gap:8px; align-items:baseline; }
.gearcols li a:hover { text-decoration:underline; }
.gearcols .cnt { color:var(--dim); font-size:12px; margin-left:auto; }
.gearcols .dim { font-size:14px; color:#aaa; }
form.inline { display:inline; }

@media (max-width:900px) {
  .top { padding:12px 16px; gap:10px 14px; flex-wrap:wrap; }
  .top nav { order:3; width:100%; gap:16px; }
  .search { order:4; max-width:none; flex-basis:100%; margin:0; }
  .me { margin-left:auto; }
  .me .ghost, .uname { display:none; }
  main { padding:16px 16px 80px; }
  .masonry { columns:2; column-gap:10px; }
  .item { margin-bottom:14px; }
  .item .who { display:none; }
  .view { grid-template-columns:1fr; gap:20px; }
  .side { position:static; }
  .row { grid-template-columns:repeat(3,1fr); gap:8px; }
  .sort { margin-left:0; width:100%; }
  html, body { overflow-x:hidden; }
  .sel { flex:1 1 100%; min-width:0; }
  .sel.set { justify-content:space-between; }
  .sel.set b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .sel select { flex:1; width:auto; }
  .combos { flex-wrap:nowrap; overflow-x:auto; white-space:nowrap; margin:0 -16px 16px; padding:0 16px; scrollbar-width:none; }
  .combos::-webkit-scrollbar { display:none; }
  .list .d { display:none; }
}

/* 외부 사진 출처 */
.credit { font-size:13px; color:#555; margin-bottom:22px; line-height:1.7; }
.credit b { color:var(--fg); font-weight:600; }
.credit a { text-decoration:underline; text-underline-offset:2px; }
.foot { max-width:1440px; margin:0 auto; padding:24px 28px 40px; border-top:1px solid var(--line); color:var(--dim); font-size:12px; line-height:1.7; }
@media (max-width:900px) { .foot { padding:20px 16px 32px; } }

/* 필름·디지털 탭 */
.typetabs { display:flex; gap:22px; margin-bottom:16px; border-bottom:1px solid var(--line); }
.typetabs a { padding:4px 0 10px; color:#777; font-size:15px; border-bottom:2px solid transparent; margin-bottom:-1px; }
.typetabs a.on { color:var(--fg); font-weight:700; border-color:var(--fg); }
.typetabs a:hover { color:var(--fg); }
.tag { font-size:13px; color:var(--dim); font-weight:normal; letter-spacing:0; }
.gearrow em { font-style:normal; color:var(--dim); font-size:12px; font-weight:normal; margin-left:6px; }

/* 글쓰기: 브랜드 → 모델 */
.gearpick .lab { width:48px; color:var(--dim); font-size:13px; }
.gearpick .brandsel { flex:0 0 180px; min-width:0; }
.gearpick .modelsel { flex:1; min-width:180px; }
.newgear { padding-left:56px; }
@media (max-width:600px) { .gearpick .brandsel { flex:1 1 100%; } .gearpick .modelsel { flex:1 1 100%; } .newgear { padding-left:0; } }
.sel.model { border-left-style:dashed; }

/* 글 보기: 사진 밑 이야기·해시태그 */
.view.nophoto .mainc { max-width:760px; }
.caption { max-width:860px; margin:18px auto 0; }
.view.nophoto .caption { margin:0; }
.caption .who { display:flex; gap:10px; align-items:center; margin-bottom:14px; }
.caption .av { width:36px; height:36px; border-radius:50%; background:var(--fg); color:#fff; display:grid; place-items:center; font-weight:700; font-size:14px; flex:none; }
.caption .who b { display:block; font-weight:700; }
.caption .who small { display:block; color:var(--dim); font-size:12px; }
.caption .who small a { color:#555; }
.caption .who small a:hover { text-decoration:underline; }
.caption h1 { font-size:24px; line-height:1.35; margin:0 0 8px; }
.caption .text { white-space:pre-wrap; margin:0 0 12px; font-size:15px; line-height:1.7; color:#222; }
.tags { display:flex; flex-wrap:wrap; gap:4px 10px; margin:6px 0 10px; }
.tags a { color:#1f4fd6; font-size:14px; }
.tags a.own { color:#1f4fd6; font-weight:600; }
.tags a:hover { text-decoration:underline; }
.caption .credit { font-size:12px; color:var(--dim); margin:8px 0 0; }
.caption .credit a { text-decoration:underline; text-underline-offset:2px; }
.side { padding-top:4px; }
.tags.preview { margin:-8px 0 0; min-height:20px; }
.tags.preview span { color:#1f4fd6; font-size:13px; }

/* 가입·로그인 */
.authwrap { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(360px,440px); gap:56px; align-items:stretch; min-height:calc(100vh - 180px); }
.authphoto { position:relative; background:#ddd center/cover no-repeat; min-height:560px; display:block; }
.authphoto .shot { position:absolute; left:0; right:0; bottom:0; padding:40px 22px 18px; color:#fff;
  background:linear-gradient(transparent, rgba(0,0,0,.55)); display:flex; flex-direction:column; gap:2px; }
.authphoto .shot b { font-size:15px; } .authphoto .shot small { opacity:.85; font-size:12px; }
form.auth { max-width:none; margin:0; align-self:center; display:flex; flex-direction:column; gap:14px; padding:12px 0; }
.auth h1 { font-size:28px; letter-spacing:-.04em; }
.auth .lead { margin:-4px 0 6px; color:#555; line-height:1.6; }
.social { display:flex; flex-direction:column; gap:8px; }
.soc { height:46px; border:1px solid #d9d9d9; background:#fff; font-weight:600; cursor:not-allowed; position:relative; }
.soc.kakao { background:#fee500; border-color:#fee500; color:#191600; }
.soc:disabled { opacity:.55; }
.soc i { font-style:normal; font-weight:normal; font-size:11px; margin-left:6px; opacity:.8; }
.or { display:flex; align-items:center; gap:12px; color:var(--dim); font-size:12px; }
.or::before, .or::after { content:""; flex:1; border-top:1px solid var(--line); }
.fld { display:flex; flex-direction:column; gap:5px; position:relative; }
.fld > span { font-size:13px; font-weight:600; }
.fld input { height:46px; padding:0 14px; border:1px solid #d9d9d9; font-size:15px; background:#fff; outline:none; }
.fld input:focus { border-color:var(--fg); }
.fld small { color:var(--dim); font-size:12px; }
.fld em, .agree-err { color:var(--danger); font-style:normal; font-size:12px; }
.fld.bad input { border-color:var(--danger); }
.fld .peek { position:absolute; right:10px; top:31px; height:30px; border:0; background:none; color:#777; font-size:12px; cursor:pointer; }
.agree { display:flex; gap:8px; align-items:flex-start; font-size:13px; color:#444; line-height:1.5; cursor:pointer; }
.agree input { margin-top:3px; width:16px; height:16px; accent-color:var(--fg); }
.agree a { text-decoration:underline; }
.agree.bad span { color:var(--danger); }
.btn.big { height:50px; font-size:15px; width:100%; margin-top:4px; }
.switch { text-align:center; color:#555; margin:0; font-size:13px; }
.switch a { color:var(--fg); font-weight:700; text-decoration:underline; }
@media (max-width:900px) {
  .authwrap { grid-template-columns:1fr; gap:24px; min-height:0; }
  .authphoto { min-height:220px; }
}
.doc { max-width:720px; margin:0 auto; line-height:1.75; }
.doc h1 { margin-bottom:4px; } .doc h2 { margin:28px 0 6px; } .doc ul { padding-left:20px; margin:0; }

/* 브랜드 로고 (흑백) · 로고 없는 브랜드는 첫 글자 배지 */
.blogo { display:inline-grid; place-items:center; width:18px; height:18px; flex:none; vertical-align:-4px; margin-right:6px; }
.blogo img { width:16px; height:16px; display:block; }
.blogo.ini { border:1.5px solid var(--fg); font-size:10px; font-weight:800; line-height:1; width:17px; height:17px; }
.blogo.none { visibility:hidden; }
.gearrow b { display:flex; align-items:center; flex-wrap:wrap; }
/* 로고 브랜드 선택 */
.bpick { position:relative; display:inline-block; }
.bpbtn { display:flex; align-items:center; gap:0; height:32px; padding:0 8px 0 0; border:0; background:none; cursor:pointer; min-width:130px; text-align:left; }
.bpbtn .t { flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bpbtn .car { color:var(--dim); font-size:11px; margin-left:8px; }
.bplist { position:absolute; left:-12px; top:calc(100% + 2px); z-index:30; background:#fff; border:1px solid var(--fg); min-width:240px;
  max-height:360px; overflow:auto; box-shadow:0 8px 24px rgba(0,0,0,.12); padding:4px 0; }
.bplist button { display:flex; align-items:center; width:100%; padding:7px 12px; border:0; background:none; text-align:left; cursor:pointer; font-size:14px; }
.bplist button:hover { background:var(--soft); }
.bplist button.on { font-weight:700; }
.gearpick .bpick { flex:0 0 200px; border:1px solid #d9d9d9; padding:0 0 0 10px; height:38px; display:flex; align-items:center; }
.gearpick .bpbtn { width:100%; height:36px; }
.gearpick .bplist { left:-1px; }
@media (max-width:600px) { .gearpick .bpick { flex:1 1 100%; } }
/* 글자형 로고(Sony·Fujifilm 등)는 가로로 길다 — 높이 기준으로 */
.blogo:not(.ini) { width:auto; min-width:18px; }
.blogo img { width:auto; height:13px; max-width:58px; }
/* 글 보기: 큰 사진은 칸 너비까지 */
.stage .ph { width:100%; height:auto; max-height:88vh; object-fit:contain; }
/* 로고를 그림 영역에 맞게 잘랐으므로: 정사각형 로고는 15px, 가로로 긴 글자형은 높이 11px */
.blogo img { height:15px; max-width:64px; }
.blogo img.wide { height:10px; }

/* 장비 페이지 */
.gearhead { margin-bottom:18px; }
.gearhead h1 { font-size:28px; display:flex; align-items:center; margin:4px 0; }
.gearhead h1 .blogo { margin-right:10px; }
.gearhead h1 .blogo img { height:22px; } .gearhead h1 .blogo img.wide { height:16px; }
.gearhead h1 .blogo.ini { width:24px; height:24px; font-size:13px; }
.gearhead .dim { margin:0; }
.pals { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-top:12px; font-size:12px; color:var(--dim); }
.pals a { border:1px solid var(--line); padding:3px 9px; color:#333; display:inline-flex; align-items:center; }
.pals a:hover { border-color:var(--fg); }
.pals small { color:var(--dim); margin-left:4px; }
.talkwrap { max-width:820px; }
.talkform { display:flex; flex-direction:column; gap:8px; padding:14px; border:1px solid var(--line); margin-bottom:18px; }
.talkform input[name=title], .talkform textarea { border:1px solid #d9d9d9; padding:9px 12px; }
.talkform .btn { align-self:flex-end; }
.kinds { display:flex; gap:0; border:1px solid var(--fg); align-self:flex-start; }
.kinds input { display:none; } .kinds span { display:block; padding:4px 14px; cursor:pointer; font-size:13px; }
.kinds input:checked + span { background:var(--fg); color:#fff; }
.talklist { list-style:none; margin:0; padding:0; border-top:2px solid var(--fg); }
.talklist li a { display:flex; align-items:baseline; gap:8px; padding:12px 2px; border-bottom:1px solid var(--line); }
.talklist li a:hover b { text-decoration:underline; }
.talklist b { font-weight:600; }
.talklist small { margin-left:auto; color:var(--dim); font-size:12px; white-space:nowrap; }
.badge { font-style:normal; font-size:11px; padding:1px 6px; border:1px solid var(--fg); white-space:nowrap; }
.badge.qna { background:var(--fg); color:#fff; }
.talklist .empty { padding:30px 0; }
.gotogear { margin-left:6px; text-decoration:underline; text-underline-offset:3px; }
/* 언어 전환 */
.langs { display:flex; gap:0; border:1px solid var(--line); font-size:11px; }
.langs a { padding:3px 7px; color:var(--dim); }
.langs a.on { background:var(--fg); color:#fff; }
/* 로고: Lens + swirl 이 s 하나를 나눠 쓴다 — Lens 는 굵게, wirl 은 가늘게 */
.logo .wm { font-weight:400; letter-spacing:-.02em; }
.logo .wm b { font-weight:800; }

/* 프로필 사진 */
.av { border-radius:50%; background:var(--fg); color:#fff; display:inline-grid; place-items:center; font-weight:700; overflow:hidden; flex:none; vertical-align:middle; }
.av img { width:100%; height:100%; object-fit:cover; display:block; }
.me .uname { display:flex; align-items:center; gap:7px; color:var(--fg); }
.me .uname:hover span { text-decoration:underline; }
.caption .who a:hover { text-decoration:underline; }
/* 프로필 */
.profhead { display:flex; gap:28px; align-items:center; margin:8px 0 28px; }
.profhead h1 { font-size:28px; }
.profhead h1 small { font-size:15px; color:var(--dim); font-weight:normal; margin-left:6px; }
.profhead .bio { margin:6px 0; white-space:pre-wrap; color:#333; max-width:560px; }
.pstats { margin:6px 0 12px; color:#555; } .pstats b { color:var(--fg); }
.ghostbtn { background:#fff; color:var(--fg); border:1px solid var(--fg); }
.bag { border-top:2px solid var(--fg); padding-top:14px; margin-bottom:28px; }
.bag h2 { margin-bottom:12px; }
.bagcols { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:8px 28px; }
.bagcols h3 { font-size:12px; color:var(--dim); font-weight:600; margin:0 0 6px; }
.bagitem { display:flex; align-items:center; padding:8px 10px; border:1px solid var(--line); margin-bottom:6px; }
.bagitem:hover { border-color:var(--fg); }
.bagitem > span:not(.blogo) { flex:1; } .bagitem small { color:var(--dim); font-size:12px; }
.bagempty { margin:0 0 24px; }
/* 설정 */
.settings { display:grid; grid-template-columns:180px minmax(0, 640px); gap:48px; }
.snav { position:sticky; top:84px; align-self:start; display:flex; flex-direction:column; gap:2px; }
.snav a { padding:7px 10px; color:#555; } .snav a:hover { background:var(--soft); color:var(--fg); }
.snav .toprof { margin-top:12px; font-size:13px; text-decoration:underline; }
.sbody section { border-top:2px solid var(--fg); padding:16px 0 32px; scroll-margin-top:84px; }
.sbody h2 small { font-size:12px; color:var(--dim); font-weight:normal; margin-left:6px; }
.sbody h3 { font-size:14px; margin:14px 0 4px; }
.sform { display:flex; flex-direction:column; gap:12px; margin-bottom:10px; }
.sform .btn { align-self:flex-start; }
.sform textarea { border:1px solid #d9d9d9; padding:10px 14px; font-size:15px; resize:vertical; }
.fld small { font-weight:normal; }
.ferr { color:var(--danger); font-style:normal; font-size:12px; }
.okmsg { background:var(--soft); padding:10px 14px; border-left:3px solid var(--fg); }
.avrow { display:flex; gap:16px; align-items:center; }
.avrow > div { display:flex; flex-direction:column; gap:6px; }
.filebtn { border:1px solid var(--fg); padding:6px 12px; cursor:pointer; font-size:13px; align-self:flex-start; }
.mybag { list-style:none; padding:0; margin:0 0 12px; }
.mybag li { display:flex; align-items:center; gap:4px; padding:8px 0; border-bottom:1px solid var(--line); }
.mybag li > span:not(.blogo) { flex:1; } .mybag li i { font-style:normal; color:var(--dim); font-size:12px; margin-right:8px; }
.mybag form { margin:0; }
.gearadd { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.gearadd select { height:38px; border:1px solid #d9d9d9; padding:0 8px; min-width:120px; }
.gearadd .bpick { border:1px solid #d9d9d9; height:38px; padding-left:10px; display:flex; align-items:center; }
.danger-btn { background:var(--danger); }
@media (max-width:900px) {
  .settings { grid-template-columns:1fr; gap:12px; } .snav { position:static; flex-direction:row; flex-wrap:wrap; }
  .profhead { gap:16px; } .profhead .av { width:64px !important; height:64px !important; }
}
.albumtag { font-size:12px; color:#555; margin:0 0 6px; }
a.soc { display:flex; align-items:center; justify-content:center; text-decoration:none; color:inherit; cursor:pointer; }
a.soc:hover { border-color:var(--fg); }
.socnote { font-size:11px; color:var(--dim); margin:-4px 0 0; line-height:1.5; }
.socnote a { text-decoration:underline; }
