/* 지당하다 v4 — 아이보리·피치 디자인 시스템 */
:root{
  --bg:#fffaf6;--surface:#fff;--text:#202126;--muted:#6c6f78;--line:#ece7e2;
  --primary:#ff6b45;--primary2:#ff906d;--accent:#b3400f;
  --brand:#7c3aed;--brand2:#c084fc;--ink:#1d1e22;
  --shadow:0 15px 38px rgba(75,55,42,.08)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#fffdfb,#fff5ed);font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;color:var(--text);font-size:14px}
a{text-decoration:none;color:inherit}
button,input,select{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:8px}

.app{max-width:470px;margin:auto;min-height:100vh;background:rgba(255,250,246,.95);padding-bottom:86px;box-shadow:0 0 60px rgba(70,50,38,.08)}

/* 헤더 */
.header{position:sticky;top:0;z-index:20;padding:14px 17px 11px;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.headrow{display:flex;justify-content:space-between;align-items:center}
.brand{font-size:27px;font-weight:950;letter-spacing:-1.6px}
.brand .b1{background:linear-gradient(120deg,#6d28d9,#a855f7 55%,#d8b4fe);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand .b2{color:var(--ink)}
.headicons{font-size:20px}
.location{margin-top:3px;color:var(--muted);font-size:12px}

/* 히어로 */
.hero{margin:14px 16px;padding:22px;border-radius:26px;background:linear-gradient(135deg,#fff0e7,#ffd9c7 58%,#fff0e7);box-shadow:var(--shadow)}
.hero .pill{display:inline-block;background:rgba(255,255,255,.8);padding:6px 10px;border-radius:999px;color:var(--accent);font-size:12px;font-weight:900}
.hero h1{margin:11px 0 7px;font-size:27px;line-height:1.22;letter-spacing:-1px}
.hero p{margin:0;color:#805a4d;font-size:13px;line-height:1.55}
.mbar{height:6px;border-radius:99px;background:rgba(255,255,255,.85);margin-top:11px;overflow:hidden}
.mbar i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#ffb27d);border-radius:99px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}
.stats div{background:rgba(255,255,255,.72);padding:10px;border-radius:15px}
.stats strong{display:block;font-size:19px}
.stats small{color:#8a6b60;font-size:12px}

/* 티커 */
.ticker{overflow:hidden;margin:0 0 13px;background:#2b2320;color:#ffe9db;font-size:12px;font-weight:800;padding:9px 0;white-space:nowrap}
.tk{display:inline-block;animation:tkm 45s linear infinite}
.tk a,.tk span{margin:0 15px;color:inherit}
@keyframes tkm{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.tk{animation:none}}

/* 카테고리 그리드 */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:2px 16px 15px}
.cat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:0 6px 20px rgba(65,48,37,.04);min-height:44px}
.cat span{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;font-size:20px}
.cat b{display:block;margin-top:7px;font-size:13px}
.cat small{color:var(--muted);font-size:12px}

/* 레일 */
.rail{padding:2px 0 6px}
.rail-head{display:flex;justify-content:space-between;align-items:baseline;padding:8px 18px 9px}
.rail-head h2{margin:0;font-size:18px}
.rail-head a{color:var(--muted);font-size:12px;font-weight:800;padding:8px 0}
.rail-row{display:flex;gap:10px;overflow-x:auto;padding:2px 16px 14px;scrollbar-width:none}
.rail-row::-webkit-scrollbar{display:none}
.rcard{flex:0 0 158px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:11px;box-shadow:0 6px 20px rgba(65,48,37,.05)}
.rcard .rvis{display:grid;place-items:center;height:72px;border-radius:13px;margin-bottom:8px}
.rcard b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.35;min-height:35px}
.rcard .badges{margin-top:6px}
.rcard .price{display:block;margin-top:6px}

/* 남은 시간 링 */
.ring{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand) calc(var(--p)*1%),rgba(255,255,255,.6) 0);box-shadow:0 3px 10px rgba(124,58,237,.18)}
.ring i{width:38px;height:38px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:20px;font-style:normal;filter:drop-shadow(0 2px 3px rgba(60,40,90,.22))}
.rvis .ring{width:52px;height:52px}
.rvis .ring i{width:43px;height:43px;font-size:23px}

/* 배지 */
.badges{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.tb{font-size:12px;padding:4px 8px;border-radius:999px;font-weight:900;background:linear-gradient(135deg,#ffe3d3,#ffd2b8);color:var(--accent)}
.tb.soon{background:linear-gradient(135deg,#ff4d2e,#ff7a45);color:#fff;animation:pulse 1.4s ease-in-out infinite}
.tb.ended{background:#e8e6e3;color:#8b8e96;animation:none}
@keyframes pulse{50%{opacity:.65}}
@media (prefers-reduced-motion: reduce){.tb.soon{animation:none}}
.vb{font-size:12px;font-style:normal;padding:4px 8px;border-radius:999px;background:#eaf6ee;color:#1f7a3f;font-weight:800}
.vb.new{background:#f2f0ee;color:#77706b}
.cb{font-size:12px;font-style:normal;padding:4px 8px;border-radius:999px;background:#fff0e9;color:#a84a30;font-weight:900}
.disc{font-style:normal;font-size:12px;font-weight:900;color:#ff4d2e;background:#ffece5;padding:3px 7px;border-radius:999px;margin-left:5px}

/* 리스트 카드 */
.list{display:flex;flex-direction:column;gap:10px;padding:0 16px}
.lcard{display:grid;grid-template-columns:92px 1fr;gap:12px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:12px;box-shadow:0 8px 24px rgba(67,49,37,.05)}
.lcard .visual{border-radius:15px;padding:8px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:96px}
.lcard .visual small{font-size:11px;font-weight:900;color:#5f4a3f}
.lcard h3{margin:6px 0 3px;font-size:15px;line-height:1.35}
.lcard .loc{margin:0;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lcard .price{margin-top:6px;display:flex;align-items:baseline;gap:6px}
.lcard .price strong{font-size:16px}
.lcard .price s{font-size:12px;color:#aaa}
.lcard.is-ended{filter:grayscale(1);opacity:.55}
.free,.budget{color:#1f7a3f}
.qty{display:flex;align-items:center;gap:7px;margin-top:7px}
.qbar{flex:1;height:5px;border-radius:99px;background:#f2ece6;overflow:hidden}
.qbar i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#ffb27d)}
.qty em,.qmeta{font-style:normal;color:var(--muted);font-size:12px;font-weight:700}
.qmeta{display:inline-block;margin-top:7px}

/* 탐색 */
.explore{padding-top:8px}
.exp-tools{padding:4px 16px 9px}
.exp-tools input{width:100%;border:1px solid var(--line);border-radius:15px;padding:13px 14px;background:#fff;min-height:44px}
.chips{display:flex;gap:7px;overflow-x:auto;padding:0 16px 10px;scrollbar-width:none;align-items:center}
.chips::-webkit-scrollbar{display:none}
.chip{flex-shrink:0;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-size:13px;font-weight:800;color:#6c6f78;min-height:42px}
.chip.on{background:#25262b;color:#fff;border-color:#25262b}
.chips select{flex-shrink:0;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 12px;font-size:13px;font-weight:800;color:#6c6f78;min-height:42px}
.count{margin:2px 0 10px;padding:0 18px;color:var(--muted);font-size:13px;font-weight:800}
.more{display:block;width:calc(100% - 32px);margin:12px 16px;border:1px solid var(--line);background:#fff;border-radius:15px;padding:13px;font-weight:900;color:#6c6f78;min-height:48px}
.empty{margin:8px 16px;padding:30px;text-align:center;background:#fff;border:1px dashed #e5d8cd;border-radius:22px;color:var(--muted);font-size:13px;line-height:1.8}

/* 상세 */
.detail{padding-bottom:20px}
.back{display:inline-block;margin:10px 16px 4px;color:var(--muted);font-weight:900;font-size:13px;padding:8px 6px}
.dhero{margin:6px 16px;border-radius:24px;min-height:150px;display:flex;align-items:center;justify-content:center;gap:16px}
.dem{font-size:64px}
.dhero .ring{width:58px;height:58px}
.dhero .ring i{width:48px;height:48px;font-size:14px;font-weight:900}
.dbody{padding:14px 20px 8px}
.dbody h1{margin:9px 0 4px;font-size:22px;line-height:1.3;letter-spacing:-.5px}
.dbody .loc{margin:0 0 10px;color:var(--muted);font-size:13px}
.pricebox{display:flex;align-items:baseline;gap:8px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px 15px;margin-bottom:12px}
.pricebox strong{font-size:21px}
.pricebox s{color:#aaa;font-size:13px}
.desc{color:#4c4e55;font-size:14px;line-height:1.65;margin:0 0 13px}
.rows{background:#fff;border:1px solid var(--line);border-radius:16px;padding:5px 15px;margin-bottom:10px}
.row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}
.row:last-child{border-bottom:none}
.row span{color:var(--muted)}
.row b{text-align:right}
.ctabar{position:sticky;bottom:86px;display:flex;gap:8px;padding:10px 16px;background:linear-gradient(180deg,transparent,rgba(255,250,246,.97) 30%)}
.ghost{flex:0 0 auto;border:1px solid var(--line);border-radius:15px;padding:12px 13px;background:#fff;font-size:13px;font-weight:900;min-height:48px}
.ghost[disabled]{opacity:.45;cursor:not-allowed}
.okbtn{border-color:#bfe3cb;color:#1f7a3f}
.primary{flex:1;display:flex;align-items:center;justify-content:center;border:none;border-radius:15px;padding:12px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;text-align:center;font-size:14px;font-weight:900;min-height:48px}
.primary[disabled]{background:#d9d5d1;color:#8b8e96;cursor:not-allowed}
.primary.done{background:linear-gradient(135deg,#2f9e57,#5cc283)}
.primary.big{width:calc(100% - 32px);margin:14px 16px}

/* 예약 확인 */
.checkout h1{margin:8px 18px 10px;font-size:21px}
.cobox{margin:0 16px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px}
.cobox>b{font-size:15px}
.cobox .rows{border:none;padding:0;margin:8px 0 0}
.conote{margin:12px 0 0;padding:11px;background:#fff8f3;border-radius:12px;color:#805a4d;font-size:12px;line-height:1.6}

/* 내 지당 */
.mypage h1{margin:14px 18px 4px;font-size:22px}
.warn{margin:6px 16px;padding:11px;background:#fff8dd;border-radius:12px;color:#7a5c00;font-size:12px;line-height:1.6}
.mysec{padding:6px 0 2px}
.mysec h2{margin:10px 18px 9px;font-size:16px}
.myempty{margin:0 16px;padding:22px;text-align:center;background:#fff;border:1px dashed #e5d8cd;border-radius:18px;color:var(--muted);font-size:13px;line-height:1.7}
.bk{margin:0 16px 10px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px}
.bkhead{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bkhead a{font-weight:900;font-size:14px}
.stchip{font-size:12px;font-weight:900;padding:4px 9px;border-radius:999px}
.stchip.ok{background:#eaf6ee;color:#1f7a3f}
.stchip.wait{background:#fff3da;color:#9a6b00}
.stchip.done{background:#e9f0ff;color:#2d5bd0}
.stchip.off{background:#f0eeec;color:#8b8e96}
.qrbox{display:flex;align-items:center;gap:12px;margin-top:11px;background:#fffdf9;border:1px dashed #e8d9cc;border-radius:14px;padding:11px 13px}
.qr{font-size:34px}
.qrbox b{font-size:19px;letter-spacing:1.5px}
.qrbox small{color:var(--muted);font-size:12px}
.bkacts{display:flex;gap:8px;margin-top:11px}
.bk.off .qrbox{opacity:.5}

/* 무JS 정적 콘텐츠 */
.jsnote{margin:0 16px 12px;padding:11px 13px;background:#fff;border:1px dashed #e5d8cd;border-radius:14px;color:var(--muted);font-size:12px;line-height:1.6}
.ssec{padding:0 16px 8px}
.ssec h2{font-size:18px;margin:10px 2px 10px}
.ssec h2 small{color:var(--muted);font-size:12px;font-weight:700}
.scard{margin-bottom:10px;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(67,49,37,.05)}
.scard summary{list-style:none;display:grid;grid-template-columns:60px 1fr 16px;gap:11px;padding:12px;cursor:pointer;align-items:center}
.scard summary::-webkit-details-marker{display:none}
.svis{height:60px;border-radius:13px;display:grid;place-items:center;font-size:28px}
.stime{font-size:12px;font-weight:900;color:var(--accent)}
.scopy h3{margin:4px 0 3px;font-size:14px;line-height:1.35}
.scopy p{margin:0;color:var(--muted);font-size:12px}
.chev{color:var(--muted)}
.scard[open] .chev{transform:rotate(180deg)}
.sbody{padding:12px 14px;border-top:1px solid var(--line);background:#fffdfb}
.sbody p{margin:0 0 6px;color:#4c4e55;font-size:13px;line-height:1.6}
.sseller{color:var(--muted)!important;font-size:12px!important}

/* 하단 내비게이션 */
.bottom{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,470px);display:flex;justify-content:space-around;padding:8px 4px 9px;background:rgba(255,255,255,.97);border-top:1px solid var(--line);backdrop-filter:blur(15px);z-index:25}
.bottom a{text-align:center;color:#888b93;font-size:12px;font-weight:800;min-width:60px;padding:4px 0}
.bottom span{display:block;font-size:20px;margin-bottom:1px}
.bottom a.on{color:var(--primary)}

/* 토스트 */
.toast{position:fixed;left:50%;bottom:98px;transform:translateX(-50%);background:#2b2320;color:#ffe9db;font-size:13px;font-weight:800;padding:12px 18px;border-radius:999px;z-index:40;box-shadow:0 10px 30px rgba(0,0,0,.25);max-width:88vw;text-align:center}

@media(min-width:700px){body{padding:20px 0}.app{border-radius:30px;overflow:hidden}.header{top:20px}}

/* ===== v4.1 이모지·비주얼 폴리시 ===== */
.lcard .visual,.rcard .rvis,.svis,.dhero,.cat span{background-image:radial-gradient(circle at 28% 18%,rgba(255,255,255,.85),rgba(255,255,255,0) 62%)}
.dem,.svis,.cat span,.my .emoji{filter:drop-shadow(0 4px 8px rgba(60,40,90,.18))}
.lcard .visual{border:1px solid rgba(255,255,255,.7)}
.chip.on{background:linear-gradient(135deg,#6d28d9,#9333ea);border-color:#7c3aed}
.count{color:#7c3aed}
.hero .pill{color:#6d28d9;background:rgba(255,255,255,.85)}
.rail-head h2,.mysec h2,.ssec h2{letter-spacing:-.4px}
.bottom a.on{color:#7c3aed}
.stchip.wait{background:#f3ecff;color:#6d28d9}
.tk a:hover{text-decoration:underline}
/* 자정 마감 상태 */
.closed{margin:14px 16px;padding:26px 22px;border-radius:26px;text-align:center;background:linear-gradient(160deg,#231c33,#3b2a5e 70%,#4c1d95);color:#efe7ff;box-shadow:var(--shadow)}
.closed .moon{font-size:52px;filter:drop-shadow(0 6px 12px rgba(0,0,0,.4))}
.closed h1{margin:10px 0 6px;font-size:24px;letter-spacing:-.5px}
.closed p{margin:0;color:#cdbdf2;font-size:13px;line-height:1.65}
.closed .bigcount{margin:14px 0 4px;font-size:34px;font-weight:950;letter-spacing:1px}
.closed .mbar{background:rgba(255,255,255,.18)}
.closed .mbar i{background:linear-gradient(90deg,#a855f7,#f0abfc)}
.preview-rail .rcard{opacity:.92}
.pv-time{display:inline-block;margin-top:6px;font-size:12px;font-weight:900;color:#6d28d9;background:#f3ecff;padding:4px 8px;border-radius:999px}
.rail-sub{margin:-6px 18px 8px;color:var(--muted);font-size:12px}

/* ===== v4.2 내비 아이콘 + 10초 등록 ===== */
.bottom svg{width:22px;height:22px;display:block;margin:0 auto 3px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.bottom a{font-size:11px}
.postbtn .plus{width:47px;height:47px;border-radius:50%;background:linear-gradient(135deg,#6d28d9,#a855f7);display:grid;place-items:center;margin:-20px auto 3px;box-shadow:0 8px 20px rgba(124,58,237,.38);border:3px solid #fff}
.postbtn .plus svg{stroke:#fff;margin:0;width:20px;height:20px}
.postbtn{color:#6d28d9!important}
.post{padding:6px 16px 20px}
.post h1{margin:12px 2px 4px;font-size:22px}
.postsub{margin:0 2px 14px;color:var(--muted);font-size:13px;line-height:1.6}
.post form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px}
.post label{display:block;margin:13px 2px 6px;font-size:12px;font-weight:900;color:#55575e}
.post label:first-child{margin-top:0}
.post input,.post select{width:100%;border:1px solid var(--line);border-radius:13px;padding:12px 13px;background:#fffdfb;min-height:44px}
.post .chips{padding:0;overflow-x:visible;flex-wrap:wrap}
.post .chip{min-height:40px;padding:8px 12px}
.post .primary.big{width:100%;margin:18px 0 0}
.mine-tag{font-size:12px;font-style:normal;padding:4px 8px;border-radius:999px;background:#f3ecff;color:#6d28d9;font-weight:900}
.postnote{margin:12px 2px 0;color:var(--muted);font-size:12px;line-height:1.6}

/* ===== v4.3 시인성 재설계: 배지를 줄이고 시간을 키운다 ===== */
.lcard,.rcard,.cat,.scard{box-shadow:none;border:1.5px solid #e7e0d8}
.tmain{display:block;font-weight:900;font-size:16px;color:var(--accent);letter-spacing:-.3px;line-height:1.25}
.tmain.soon{color:#e8330f}
.tmain.ended{color:#8b8e96}
.tmain em{font-style:normal;font-size:12px;color:var(--muted);font-weight:700;letter-spacing:0}
.rcard .tmain{font-size:14px;margin-top:5px}
.rcard .tmain em{display:none}
.lcard h3{font-size:16px;color:var(--ink);margin-top:5px}
.lcard .price strong{font-size:18px;color:var(--ink)}
.mine-tag{margin-left:6px}
.midbox{margin-top:13px;background:rgba(255,255,255,.78);border-radius:18px;padding:13px 16px}
.midbox small{font-size:12px;font-weight:900;color:#805a4d}
.midbox strong{display:block;font-size:32px;font-weight:950;letter-spacing:-1.2px;color:var(--ink);margin:3px 0 9px}
.midbox .mbar{margin-top:0}
.statline{margin:12px 2px 0;font-size:14.5px;color:#805a4d;font-weight:700}
.statline b{color:var(--ink);font-weight:950;font-size:16px}
.statline b.hot{color:#e8330f}
.rail-head h2{font-size:20px}
.timebox{background:#fff7f2;border:1.5px solid #ffd9c4;border-radius:16px;padding:13px 16px;margin-bottom:11px}
.timebox small{display:block;font-size:12.5px;font-weight:800;color:#8a6b60}
.timebox strong{display:block;font-size:27px;font-weight:950;letter-spacing:-.8px;color:var(--accent);margin:2px 0 9px}
.timebox.soon{background:#fff1ec;border-color:#ffb8a0}
.timebox.soon strong{color:#e8330f}
.timebox.ended{background:#f4f2f0;border-color:#e3dfdb}
.timebox.ended strong{color:#8b8e96;font-size:21px}
.timebox .mbar{background:#ffe4d4;margin-top:0}
.timebox.ended .mbar{background:#e7e4e1}
.exp-sticky{position:sticky;top:63px;z-index:15;background:rgba(255,250,246,.97);backdrop-filter:blur(12px);padding-top:5px;margin-top:-5px}
.pricebox{border-width:1.5px}
.rows{border-width:1.5px}

/* ===== v5 박스리스 에디토리얼: 상자 대신 여백·타이포·헤어라인 ===== */
:root{--fill:#f5efe8;--hair:#efe8df}
.header{border-bottom:none}
.hero{margin:0 0 2px;border-radius:0;background:linear-gradient(180deg,#ffe9da,#fff3e9 70%,rgba(255,250,246,0));box-shadow:none;padding:18px 20px 20px}
.hero .pill{background:transparent;padding:0;color:#a3765f;font-size:13px}
.hero h1{font-size:28px}
.midbox{background:transparent;padding:0;margin-top:14px;border-radius:0}
.midbox strong{font-size:37px;margin:3px 0 10px}
.midbox .mbar{background:rgba(255,255,255,.9);height:5px;max-width:340px}
.statline{margin-top:10px}
.cats{display:flex;overflow-x:auto;gap:2px;padding:6px 10px 12px;scrollbar-width:none}
.cats::-webkit-scrollbar{display:none}
.cat{border:none!important;background:transparent;box-shadow:none;text-align:center;min-width:82px;padding:6px 4px;border-radius:16px}
.cat span{width:56px;height:56px;border-radius:50%;font-size:26px;margin:0 auto}
.cat b{margin-top:8px;font-size:12.5px}
.cat small{font-size:11px}
.rcard{border:none!important;background:transparent;padding:0;flex:0 0 148px}
.rcard .rvis{height:108px;border-radius:22px;margin-bottom:9px}
.rcard b{min-height:auto}
.rail-head a{color:#7c3aed}
.list{padding:0 20px;gap:0}
.lcard{border:none!important;border-bottom:1.5px solid var(--hair)!important;border-radius:0;background:transparent;padding:15px 0;grid-template-columns:88px 1fr}
.list .lcard:last-child{border-bottom:none!important}
.lcard .visual{border-radius:20px;border:none}
.count{padding:0 22px}
.more{border:none;background:transparent;color:#7c3aed;font-weight:900}
.empty,.myempty{border:none;background:transparent}
.exp-tools input{border:none;background:var(--fill);border-radius:999px}
.chip{border:none;background:var(--fill)}
.chips select{border:none;background:var(--fill)}
.dhero{margin:4px 20px 0;border-radius:26px}
.timebox{background:transparent;border:none;padding:0;margin:2px 0 14px}
.timebox strong{font-size:30px}
.timebox .mbar{background:#f3e6da;height:5px}
.timebox.soon{background:transparent;border:none}
.timebox.ended{background:transparent;border:none}
.pricebox{border:none;background:transparent;padding:0;margin:0 0 12px}
.pricebox strong{font-size:24px}
.rows{border:none;background:transparent;padding:0;margin-bottom:14px}
.row{padding:12px 0;border-bottom:1.5px solid var(--hair);font-size:13.5px}
.ghost{border:none;background:var(--fill)}
.ghost[disabled]{opacity:.45}
.cobox{border:none;background:transparent;padding:4px 2px}
.conote{background:var(--fill)}
.bk{border:none;background:#faf5ef;border-radius:24px}
.qrbox{border:none;background:#fff;border-radius:16px}
.warn{background:#fff3d6}
.post form{border:none;background:transparent;padding:0}
.post input,.post select{border:none;background:var(--fill);border-radius:14px}
.postnote{background:transparent}
.closed{border-radius:28px}
@media(min-width:700px){.hero{border-radius:0}}
.lcard .visual small{white-space:nowrap;font-size:10px;letter-spacing:-.4px}
.rcard .price s{display:none}
.rcard .price{display:flex;align-items:center;gap:5px;flex-wrap:nowrap}
.rcard .price strong{font-size:15px}
.tk{font-weight:700}

/* ===== v5.1 마감 폴리시 ===== */
.vis-deal{background:linear-gradient(145deg,#ffe9da,#ffceb2)}
.vis-slot{background:linear-gradient(145deg,#efe7ff,#dbc9fa)}
.vis-together{background:linear-gradient(145deg,#e3f7ea,#c5ebd5)}
.vis-used{background:linear-gradient(145deg,#e4f0ff,#cbdefb)}
.vis-event{background:linear-gradient(145deg,#ffe7f2,#fac9df)}
.vis-request{background:linear-gradient(145deg,#fff6d8,#f7e5a8)}
.headicons{display:flex;gap:4px}
.hicon{border:none;background:transparent;padding:8px;border-radius:12px;color:#55575e;min-height:auto}
.hicon svg{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hicon:active{background:var(--fill)}
.viewin{animation:viewin .26s cubic-bezier(.2,.7,.3,1)}
@keyframes viewin{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
.lcard,.rcard,.cat,.chip,.primary,.ghost,.more,.postbtn .plus{transition:transform .12s ease,opacity .12s ease}
.lcard:active,.rcard:active,.cat:active{transform:scale(.975)}
.primary:active,.ghost:active,.chip:active,.more:active{transform:scale(.96)}
.postbtn .plus:active{transform:scale(.9)}
@media (prefers-reduced-motion: reduce){.viewin{animation:none}.lcard,.rcard,.cat,.chip,.primary,.ghost,.more,.postbtn .plus{transition:none}}
.midbox strong,.timebox strong,.bigcount,.tmain,.count{font-variant-numeric:tabular-nums}
.ticker{-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);background:#241d2e}
.ring i{width:40px;height:40px}
.rvis .ring i{width:46px;height:46px}
.dhero .ring i{width:51px;height:51px}

/* ===== v5.2 모바일 대응 + 컴러 타이포 + 근처 ===== */
.bottom{padding-bottom:calc(9px + env(safe-area-inset-bottom))}
.app{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
.toast{bottom:calc(98px + env(safe-area-inset-bottom))}
.ctabar{bottom:calc(86px + env(safe-area-inset-bottom))}
body{color:#3a3440}
.lcard h3,.dbody h1,.rcard b{color:#332e3d}
.rail-head h2,.mysec h2,.post h1,.mypage h1,.checkout h1,.near h1{color:#46335c}
.lcard .loc,.dbody .loc{color:#8b7a70}
.hl{background:linear-gradient(120deg,#6d28d9,#a855f7 60%,#c084fc);-webkit-background-clip:text;background-clip:text;color:transparent}
.hlv{color:#7c3aed}
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 2px;padding:8px 12px 14px;overflow:visible}
.cat{min-width:0;padding:8px 2px}
.cat span{width:58px;height:58px;font-size:27px}
.cat b{font-size:13.5px;font-weight:900;color:#3a3440;margin-top:9px}
.cat small{font-size:11.5px;color:#7c3aed;font-weight:800}
@media(max-width:400px){
  .hero h1{font-size:24px}
  .midbox strong{font-size:31px}
  .cat span{width:52px;height:52px;font-size:24px}
  .cat b{font-size:12.5px}
  .brand{font-size:25px}
  .lcard{grid-template-columns:80px 1fr}
  .tmain{font-size:15px}
}
.near{padding:6px 20px 20px}
.nearsub{margin:2px 0 4px;color:#6f6678;font-size:13.5px;line-height:1.6}
.nearsub b{color:#7c3aed}
.nlabel{display:block;margin:16px 0 8px;font-size:13px;font-weight:900;color:#55575e}
.near .chips{padding:0;flex-wrap:wrap}
.near input[type=range]{width:100%;accent-color:#7c3aed;height:34px}
.near .primary.big{width:100%;margin:14px 0 0}
.nearnote{margin:12px 0 4px;padding:11px 13px;background:var(--fill);border-radius:14px;color:#6f6678;font-size:12px;line-height:1.6}
.near .mysec{padding:8px 0 0}
.near .mysec h2{margin:10px 0 8px}
.near .list{padding:0}
.location{display:inline-block;padding:2px 0;font-weight:700;color:#8b7a70}

/* ===== v5.3 컴팩트 상단 + 무JS 정적 버전을 앱과 동일 구성으로 ===== */
.hero.slim{padding:10px 18px 12px;margin:0;background:linear-gradient(180deg,#ffeee1,rgba(255,250,246,0));border-radius:0}
.h1line{margin:0;font-size:clamp(14px,4.3vw,17.5px);font-weight:950;letter-spacing:-.5px;color:#332e3d;white-space:nowrap;overflow:hidden}
.midline{margin:6px 0 8px;font-size:12.5px;color:#8a6b60;font-weight:700;white-space:nowrap;overflow:hidden}
.midline b{color:#46335c;font-variant-numeric:tabular-nums}
.midline b.hot{color:#e8330f}
.mbar.slim{height:4px;margin:0;background:#ffe4d2;max-width:none}
.cats{padding-top:8px;padding-bottom:8px}
.cat{padding:6px 2px}
.cat span{width:52px;height:52px;font-size:24px}
.ticker{margin:4px 0 10px}
.stitle{margin:12px 18px 4px;font-size:clamp(14px,4.3vw,17.5px);font-weight:950;letter-spacing:-.5px;color:#332e3d;white-space:nowrap;overflow:hidden}
.stitle .hl,.stitle b{background:linear-gradient(120deg,#6d28d9,#a855f7 60%,#c084fc);-webkit-background-clip:text;background-clip:text;color:transparent}
.ssec{padding:0 16px 6px;scroll-margin-top:72px}
.shead{display:flex;justify-content:space-between;align-items:baseline;margin:6px 2px 9px}
.shead h2{margin:0;font-size:18px;color:#46335c}
.shead h2 small{color:#7c3aed;font-size:12px;font-weight:800}
.shead a{color:#7c3aed;font-size:12px;font-weight:900;padding:6px 0}
#static:has(.ssec:target) .ssec:not(:target){display:none}
.jsnote-min{margin:6px 18px 18px;color:#aaa29a;font-size:11.5px;text-align:center;line-height:1.6}
.scard{margin-bottom:9px;border-radius:18px}

/* ===== v5.4 카테고리 압축: 원형 그리드 → 알약 2줄 ===== */
.cats{display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px 10px;overflow:visible}
.cat{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-width:0;padding:6px 11px 6px 7px;background:#fff;border-radius:999px;border:1px solid var(--hair)!important;text-align:left}
.cat span{width:26px;height:26px;font-size:15px;border-radius:50%;margin:0}
.cat b{margin:0;font-size:12.5px;font-weight:900;white-space:nowrap}
.cat small{font-size:11px;color:#7c3aed;font-weight:900}
.cat:active{transform:scale(.95)}
@media(max-width:400px){.cat{padding:5px 9px 5px 6px}.cat b{font-size:12px}.cat span{width:24px;height:24px;font-size:14px}}

/* ============ v6 상용 앱 폴리시: 흰 바탕 · 단색 · 절제 ============ */
:root{--brandS:#6f2fd4;--urgent:#ff6f0f;--urgentHot:#f23c1f;--inkk:#191922;--gray:#8e8e93;--fill2:#f4f3f6;--hair2:#ececf0}
body{background:#efeef2;color:#3c3c43}
.app{background:#fff;box-shadow:none}
.header{background:rgba(255,255,255,.96)}
.brand .b1{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--brandS);-webkit-text-fill-color:var(--brandS)}
.hl,.stitle b{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--brandS);-webkit-text-fill-color:var(--brandS)}
.location{color:var(--gray);font-weight:600;font-size:12px}
.hero.slim{background:#fff;padding:12px 18px 10px}
.h1line,.stitle{color:var(--inkk);font-weight:800;letter-spacing:-.4px}
.midline{color:var(--gray)}
.midline b{color:var(--inkk)}
.midline b.hot{color:var(--urgentHot)}
.mbar.slim{background:var(--fill2)}
.mbar.slim i,.mbar i{background:var(--brandS)}
.cats{gap:7px;padding:6px 16px 12px}
.cat{background:#fff;border:1px solid var(--hair2)!important;padding:8px 13px;gap:6px;border-radius:12px}
.cat b{color:#3c3c43;font-weight:700;font-size:13px}
.cico{display:grid;place-items:center;width:17px;height:17px;color:#6e6e76}
.cico svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cat span.cico{background:none;width:17px;height:17px;border-radius:0}
.ticker{background:#fff;color:var(--gray);border-top:1px solid var(--hair2);border-bottom:1px solid var(--hair2);font-weight:600;font-size:12px;padding:8px 0;margin:0 0 4px;-webkit-mask-image:none;mask-image:none}
.vis-deal,.vis-slot,.vis-together,.vis-used,.vis-event,.vis-request{background:var(--fill2);background-image:none}
.lcard .visual,.rcard .rvis,.svis,.dhero{background-image:none}
.lcard .visual small{color:#8e8e93;font-weight:700}
.ring{background:conic-gradient(var(--brandS) calc(var(--p)*1%),#e5e3ea 0);box-shadow:none}
.ring i{filter:none}
.dem,.svis,.my .emoji{filter:none}
.rail-head h2,.mysec h2,.post h1,.mypage h1,.checkout h1,.near h1,.shead h2{color:var(--inkk);font-weight:800}
.rail-head h2{font-size:17px}
.rail-head a,.shead a{color:var(--gray);font-weight:700}
.rail-sub{color:#b0b0b6}
.lcard h3,.rcard b,.dbody h1{color:var(--inkk);font-weight:650}
.lcard h3{font-size:15px}
.lcard .loc,.dbody .loc{color:var(--gray)}
.lcard .price strong,.pricebox strong{color:var(--inkk)}
.tmain{font-size:13.5px;color:var(--urgent);font-weight:800}
.tmain.soon{color:var(--urgentHot)}
.tmain.ended{color:#b0b0b6}
.tmain em{color:#b0b0b6}
.disc{background:none;padding:0;color:var(--urgentHot);font-weight:800;margin-left:2px}
.free,.budget{color:var(--inkk)}
.price s{color:#c7c7cc}
.qty em,.qmeta{color:var(--gray)}
.qbar{background:var(--fill2)}
.qbar i{background:var(--urgent)}
.vb{background:var(--fill2);color:var(--gray);font-weight:700}
.vb.new{background:var(--fill2);color:#b0b0b6}
.cb{background:var(--fill2);color:var(--gray);font-weight:700}
.mine-tag{background:#efe8fc;color:var(--brandS)}
.lcard{border-bottom:1px solid var(--hair2)!important}
.list{padding:0 18px}
.count{color:var(--gray);font-weight:700}
.primary{background:var(--brandS);box-shadow:none}
.primary.done{background:#1fa14d}
.primary[disabled]{background:#e5e3ea;color:#b0b0b6}
.ghost{background:var(--fill2);color:#3c3c43;font-weight:700}
.postbtn .plus{background:var(--brandS);box-shadow:0 4px 12px rgba(111,47,212,.28);border:3px solid #fff}
.postbtn{color:var(--brandS)!important}
.bottom{background:rgba(255,255,255,.98)}
.bottom a{color:#a9a9b0}
.bottom a.on{color:var(--brandS)}
.chip{background:var(--fill2);color:#55555e;font-weight:700}
.chip.on{background:var(--inkk);color:#fff}
.chips select{background:var(--fill2);color:#55555e}
.exp-tools input{background:var(--fill2)}
.exp-sticky{background:rgba(255,255,255,.97)}
.timebox strong{font-size:22px;color:var(--urgent)}
.timebox.soon strong{color:var(--urgentHot)}
.timebox .mbar{background:var(--fill2)}
.timebox .mbar i{background:var(--urgent)}
.row{border-bottom:1px solid var(--hair2);color:#3c3c43}
.row span{color:var(--gray)}
.bk{background:#fafafa}
.qrbox{background:#fff;border:1px solid var(--hair2)}
.qrbox b{color:var(--inkk)}
.stchip.ok{background:#e8f6ec;color:#1fa14d}
.stchip.wait{background:#f1ebfd;color:var(--brandS)}
.stchip.done{background:#e9f0ff;color:#2d5bd0}
.warn{background:#fff7e0;color:#8a6d00}
.conote,.nearnote,.postnote{background:var(--fill2);color:var(--gray)}
.post input,.post select{background:var(--fill2)}
.post label,.nlabel{color:#55555e}
.nearsub{color:var(--gray)}
.nearsub b,.hlv{color:var(--brandS)}
.near input[type=range]{accent-color:var(--brandS)}
.empty,.myempty{color:#b0b0b6}
.jsnote-min{color:#c0c0c6}
.statline{display:none}
.scard{border:1px solid var(--hair2)}
.stime{color:var(--urgent)}
.scopy h3{color:var(--inkk)}
.scopy p,.sseller{color:var(--gray)!important}
.shead h2 small{color:#b0b0b6}
.hicon{color:#3c3c43}
:focus-visible{outline-color:var(--brandS)}

/* ===== v6.1 카테고리 컴러 타일 (이름 + 설명 2줄) ===== */
.cats{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 16px 12px}
.cat{display:flex;align-items:center;gap:10px;border:none!important;border-radius:16px;padding:12px}
.ctxt{min-width:0}
.ctxt b{display:block;font-size:14px;font-weight:800;color:#26262e;white-space:nowrap;margin:0}
.ctxt small{display:block;margin-top:2.5px;font-size:11px;color:rgba(38,38,46,.52);font-weight:650;white-space:nowrap}
.cat .cico{width:37px;height:37px;flex:0 0 37px;background:#fff;border-radius:13px;display:grid;place-items:center;box-shadow:0 1px 4px rgba(20,10,40,.06)}
.cat .cico svg{width:19px;height:19px;stroke-width:2}
.cat-deal{background:#FFF0E6}.cat-deal .cico{color:#F4640E}
.cat-slot{background:#EFEBFF}.cat-slot .cico{color:#6F3FF5}
.cat-together{background:#E6F6EC}.cat-together .cico{color:#119C51}
.cat-used{background:#E8F1FF}.cat-used .cico{color:#2A7BEF}
.cat-event{background:#FFE9F2}.cat-event .cico{color:#E5457F}
.cat-request{background:#FFF6DC}.cat-request .cico{color:#D28E00}
@media(max-width:360px){.ctxt b{font-size:13px}.ctxt small{font-size:10.5px}.cat{padding:10px}}

/* ===== v6.2 티커: 밝은 형광 민트 ===== */
.ticker{background:#C9FFE9;color:#067A52;border-top:none;border-bottom:none;font-weight:800}
.tk a,.tk span{color:#067A52}

/* ===== v6.3 카드 슬롯: 카테고리별 초연한 파스텔 틴트 ===== */
.lcard{border:none!important;border-radius:18px;padding:13px;margin-bottom:9px}
.list{gap:0}
.ct-deal{background:#FFF8F2}.ct-deal .visual,.ct-deal .rvis,.ct-deal .svis{background:#FFEDDF}
.ct-slot{background:#F8F6FF}.ct-slot .visual,.ct-slot .rvis,.ct-slot .svis{background:#ECE6FF}
.ct-together{background:#F2FBF5}.ct-together .visual,.ct-together .rvis,.ct-together .svis{background:#E1F5E9}
.ct-used{background:#F4F8FF}.ct-used .visual,.ct-used .rvis,.ct-used .svis{background:#E3EFFF}
.ct-event{background:#FFF5F9}.ct-event .visual,.ct-event .rvis,.ct-event .svis{background:#FFE4F0}
.ct-request{background:#FFFBEE}.ct-request .visual,.ct-request .rvis,.ct-request .svis{background:#FFF3D4}
.rcard.ct-deal,.rcard.ct-slot,.rcard.ct-together,.rcard.ct-used,.rcard.ct-event,.rcard.ct-request{padding:9px;border-radius:18px}
.scard{border:none}
.sbody{background:rgba(255,255,255,.55)}

/* ===== v7 로그인·채팅·사진 ===== */
.loginbar{display:block;background:#F3EBFF;color:#4a2f7a;border-radius:14px;padding:13px 16px;font-size:13.5px;font-weight:700;margin:4px 0 14px;text-decoration:none}
.loginbar b{color:#6f2fd4}
.login input{width:100%;box-sizing:border-box}
.kakao{display:block;width:100%;margin-top:10px;background:#FEE500;color:#191600;border:none;border-radius:14px;font-weight:800;font-size:15px;padding:14px;cursor:pointer}
.ghost.big{display:block;width:100%;margin-top:10px;padding:13px;border-radius:14px}
.ppreview{display:block;max-width:100%;max-height:220px;border-radius:14px;margin:8px 0 2px;object-fit:cover}
.rptbtn.ctc{color:#6f2fd4}
.phimg{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.visual.hasph,.rvis.hasph{padding:0;overflow:hidden}
.visual.hasph small{position:absolute;left:6px;bottom:6px;background:rgba(255,255,255,.88);border-radius:8px;padding:2px 7px;margin:0}
.visual.hasph{position:relative}
.dhero.hasph{padding:0;overflow:hidden;height:230px}
.dphoto{width:100%;height:100%;object-fit:cover;display:block}
.acctrow{display:flex;align-items:center;gap:8px;margin:6px 0 10px}
.acctrow input{flex:1;min-width:0;border:1.5px solid #eceaf2;border-radius:12px;padding:10px 12px;font-size:14px;font-weight:700}
.acctrow .ghost{white-space:nowrap}
.acctrow .ghost.off{color:#a0a0a8}
.chatlink{display:block;background:#F3EBFF;color:#6f2fd4;border-radius:12px;padding:12px 14px;font-weight:800;font-size:14px;text-decoration:none;text-align:center}
.chavatar{width:38px;height:38px;border-radius:50%;background:#6f2fd4;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:15px;flex:none}
.chlist{display:flex;flex-direction:column;gap:6px;padding:0 16px}
.chrow{display:flex;align-items:center;gap:11px;background:#fff;border:1.5px solid #f0eef5;border-radius:16px;padding:12px 14px;text-decoration:none;color:inherit}
.chmain{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.chmain b{font-size:14.5px}
.chrole{font-style:normal;font-weight:700;font-size:11px;color:#6f2fd4;background:#F3EBFF;border-radius:7px;padding:1px 6px;margin-left:4px}
.chtitle{color:#9a97a3;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chlast{color:#55525e;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chtime{color:#b6b3bf;font-size:11.5px;flex:none}
.chatroom{display:flex;flex-direction:column;height:calc(100vh - 190px);min-height:340px;padding:0 16px}
.chhead{display:flex;align-items:center;gap:10px;padding:6px 2px 10px;border-bottom:1.5px solid #f0eef5}
.chhead .back{font-size:19px;text-decoration:none;color:#333;padding:4px 8px;margin:0}
.chwho{flex:1;min-width:0}
.chwho b{display:block;font-size:15px}
.chwho small{display:block;color:#9a97a3;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chgo{flex:none;font-size:12.5px;font-weight:800;color:#6f2fd4;text-decoration:none;background:#F3EBFF;border-radius:10px;padding:7px 10px}
.chmsgs{flex:1;overflow-y:auto;padding:14px 4px;display:flex;flex-direction:column;gap:8px}
.msg{max-width:78%;display:flex;flex-direction:column;gap:2px}
.msg .mb{padding:10px 13px;border-radius:16px;font-size:14px;line-height:1.45;word-break:break-word;white-space:pre-wrap}
.msg small{color:#b6b3bf;font-size:10.5px;padding:0 4px}
.msg.them{align-self:flex-start}
.msg.them .mb{background:#f2f0f7;color:#222;border-bottom-left-radius:6px}
.msg.me{align-self:flex-end;align-items:flex-end}
.msg.me .mb{background:#6f2fd4;color:#fff;border-bottom-right-radius:6px}
.chinput{display:flex;gap:8px;padding:10px 0 2px;border-top:1.5px solid #f0eef5}
.chinput input{flex:1;min-width:0;border:1.5px solid #eceaf2;border-radius:22px;padding:12px 16px;font-size:14px}
.chinput .primary{border-radius:22px;padding:0 18px;border:none;cursor:pointer}
