:root{--bg:#F3F5F9;--card:#fff;--ink:#141821;--sub:#5B6475;--mute:#8C94A3;--line:#E4E8EF;--pri:#2457F5;--pri2:#E8EEFF;--ok:#12A150;--warn:#E8A317;--dan:#E5484D;--kakao:#FEE500;--r:16px;
  --safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 "Pretendard","Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif;-webkit-text-size-adjust:100%}
button,input,select,textarea{font:inherit;color:inherit}
input,select,textarea{font-size:16px} /* iOS: no zoom on focus */
a{color:var(--pri);text-decoration:none}
.top{position:sticky;top:0;z-index:20;background:rgba(243,245,249,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:calc(10px + var(--safe-t)) 16px 10px;display:flex;align-items:center;gap:10px}
.top h1{flex:1;margin:0;font-size:20px;font-weight:800;letter-spacing:-.3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top .who{font-size:12px;color:var(--sub);text-align:right;line-height:1.3}
main{padding:4px 16px calc(96px + var(--safe-b));max-width:760px;margin:0 auto}
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fff;border-top:1px solid var(--line);display:flex;padding:6px 6px calc(6px + var(--safe-b))}
.tabs button{all:unset;flex:1;text-align:center;font-size:11px;color:var(--mute);padding:4px 0;cursor:pointer}.tabs button b{display:block;font-size:21px;line-height:1.25;font-weight:400}
.tabs button[aria-current=true]{color:var(--pri);font-weight:700}
@media(min-width:900px){.tabs{left:50%;transform:translateX(-50%);max-width:760px;border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0}}
.card{background:var(--card);border-radius:var(--r);padding:16px;margin:0 0 12px;box-shadow:0 1px 2px rgba(20,24,33,.04)}
.card h2{margin:0 0 4px;font-size:17px}.card h3{margin:0 0 8px;font-size:15px}
.sub{color:var(--sub);font-size:13.5px;margin:0}.mute{color:var(--mute);font-size:12.5px}
.sec{font-size:13px;font-weight:700;color:var(--sub);margin:18px 4px 8px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grow{flex:1;min-width:0}
.btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 16px;border-radius:12px;background:#EEF1F6;color:var(--ink);font-weight:700;font-size:15px;text-align:center}
.btn.pri{background:var(--pri);color:#fff}.btn.ok{background:var(--ok);color:#fff}.btn.dan{background:#FDECEC;color:var(--dan)}.btn.k{background:var(--kakao);color:#3A1D1D}.btn.ghost{background:transparent;color:var(--pri);padding:0 8px}
.btn.sm{min-height:36px;padding:0 12px;font-size:13.5px;border-radius:10px}.btn.block{display:flex;width:100%}.btn:disabled{opacity:.45;cursor:default}
.ic{all:unset;cursor:pointer;width:44px;height:44px;border-radius:50%;display:inline-grid;place-items:center;font-size:19px;background:#EEF1F6;flex:0 0 auto}.ic.call{background:#E3F6EA;color:var(--ok)}.ic.k{background:var(--kakao)}
.field{display:block;margin:0 0 12px}.field>span{display:block;font-size:13px;font-weight:700;color:var(--sub);margin:0 0 6px}
.in{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;outline:none}.in:focus{border-color:var(--pri);box-shadow:0 0 0 3px var(--pri2)}
textarea.in{min-height:84px;resize:vertical}
.seg{display:flex;background:#E9EDF3;border-radius:12px;padding:3px;gap:3px}.seg button{all:unset;flex:1;text-align:center;padding:9px 4px;border-radius:9px;font-size:14px;font-weight:700;color:var(--sub);cursor:pointer}.seg button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{all:unset;cursor:pointer;padding:8px 13px;border-radius:999px;background:#EEF1F6;font-size:13.5px;font-weight:600}.chip[aria-pressed=true]{background:var(--ink);color:#fff}
.list{display:flex;flex-direction:column}.li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.li:last-child{border-bottom:0}
.li .t{font-weight:700}.li .s{font-size:13px;color:var(--sub)}.av{width:42px;height:42px;border-radius:50%;background:var(--pri2);color:var(--pri);display:grid;place-items:center;font-weight:800;flex:0 0 auto}
.badge{display:inline-block;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;background:#EEF1F6;color:var(--sub);vertical-align:1px}.badge.warn{background:#FFF4DB;color:#9A6400}.badge.ok{background:#E3F6EA;color:#0E7A3C}.badge.dan{background:#FDECEC;color:var(--dan)}.badge.pri{background:var(--pri2);color:var(--pri)}
.ins{display:flex;align-items:center;gap:10px}
.empty{text-align:center;color:var(--mute);padding:26px 10px;font-size:14px}
.fab{position:fixed;right:18px;bottom:calc(84px + var(--safe-b));z-index:25;width:58px;height:58px;border-radius:50%;background:var(--pri);color:#fff;font-size:30px;border:0;box-shadow:0 8px 20px rgba(36,87,245,.35);cursor:pointer}
@media(min-width:900px){.fab{right:calc(50% - 360px)}}
.sheet-bg{position:fixed;inset:0;background:rgba(10,14,22,.42);z-index:50;display:flex;align-items:flex-end;justify-content:center;animation:fd .15s}
.sheet{background:#fff;width:100%;max-width:640px;max-height:92vh;overflow:auto;border-radius:22px 22px 0 0;padding:10px 18px calc(18px + var(--safe-b));animation:up .2s ease-out}
.sheet .grab{width:42px;height:5px;border-radius:3px;background:#D6DBE3;margin:2px auto 12px}.sheet h2{margin:0 0 14px;font-size:19px}
@keyframes up{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}@keyframes fd{from{opacity:0}}
.toast{position:fixed;left:50%;bottom:calc(92px + var(--safe-b));transform:translateX(-50%);background:#141821;color:#fff;padding:11px 16px;border-radius:12px;font-size:14px;z-index:90;max-width:88vw;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.auth{max-width:440px;margin:0 auto;padding:calc(36px + var(--safe-t)) 18px 40px}.auth .brand{font-size:28px;font-weight:900;letter-spacing:-.6px}.auth .brand i{font-style:normal;color:var(--pri)}
.tree .u{display:flex;align-items:center;gap:8px;padding:11px 0;border-bottom:1px solid var(--line)}.tree .u .n{flex:1;min-width:0;font-weight:700}.tree .u.hq .n{font-size:15.5px}.tree .u.branch{padding-left:18px}.tree .u.team{padding-left:38px;font-weight:500}
.lv{font-size:11px;font-weight:800;padding:2px 7px;border-radius:6px}.lv.hq{background:#1F2A44;color:#fff}.lv.branch{background:var(--pri2);color:var(--pri)}.lv.team{background:#EEF1F6;color:var(--sub)}
/* calendar */
.cal-h{display:flex;align-items:center;gap:6px;margin:4px 0 8px}.cal-h b{flex:1;font-size:19px}
.cal{display:grid;grid-template-columns:repeat(7,1fr);background:#fff;border-radius:var(--r);overflow:hidden}
.cal .dow{font-size:11.5px;text-align:center;padding:7px 0;color:var(--mute);font-weight:700;border-bottom:1px solid var(--line)}.cal .dow:first-child{color:var(--dan)}.cal .dow:last-child{color:var(--pri)}
.cal .d{min-height:66px;border-bottom:1px solid #F0F2F6;border-right:1px solid #F0F2F6;padding:3px 2px;cursor:pointer;overflow:hidden}.cal .d:nth-child(7n){border-right:0}
.cal .d .n{font-size:12.5px;font-weight:700;display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;margin:0 0 1px 1px}.cal .d.out{background:#FAFBFC}.cal .d.out .n{color:#C3C9D3}
.cal .d.sun .n{color:var(--dan)}.cal .d.sat .n{color:var(--pri)}.cal .d.today .n{background:var(--ink);color:#fff}.cal .d.sel{background:#F2F6FF}
.cal .e{font-size:10.5px;line-height:1.35;border-radius:4px;padding:0 3px;margin:1px 0;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal .more{font-size:10px;color:var(--mute);padding-left:2px}
.agenda .it{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer}.agenda .it:last-child{border:0}.agenda .bar{width:5px;border-radius:3px;flex:0 0 auto}
.agenda .tm{width:58px;flex:0 0 auto;font-size:12.5px;color:var(--sub);font-variant-numeric:tabular-nums}
.c-blue{background:#3B6CF6}.c-green{background:#17A55B}.c-orange{background:#F08A24}.c-red{background:#E5484D}.c-purple{background:#8B5CF6}.c-pink{background:#E2559B}.c-teal{background:#0EA5A9}.c-gray{background:#7B8494}
.cdot{width:30px;height:30px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--line);cursor:pointer}.cdot[aria-pressed=true]{box-shadow:0 0 0 2px var(--ink)}
.switch{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px}.switch input{width:46px;height:28px;accent-color:var(--pri)}
.hint{background:#F4F7FF;border-radius:12px;padding:11px 13px;font-size:13px;color:#33415C;line-height:1.6}.warnbox{background:#FFF7E6;color:#7A5200}
.pw{font:800 22px ui-monospace,monospace;letter-spacing:2px;background:#F4F7FF;border-radius:12px;padding:12px;text-align:center;margin:8px 0}

/* ── v2 디자인: 로고 · 히어로 · 퀵메뉴 · 광고 · 라운지 */
:root{--grad:linear-gradient(135deg,#2457F5 0%,#4F7BFF 55%,#7A5CFF 100%);--sh:0 1px 2px rgba(20,24,33,.04),0 6px 20px rgba(20,24,33,.05)}
body{background:radial-gradient(1200px 400px at 50% -200px,#E3EAFF 0%,rgba(227,234,255,0) 70%),var(--bg);background-attachment:fixed}
.top{background:rgba(243,245,249,.86)}
.card{box-shadow:var(--sh);border:1px solid rgba(228,232,239,.7)}
.tabs{box-shadow:0 -6px 20px rgba(20,24,33,.05)}
.tabs button{font-size:10.5px;position:relative}.tabs button b{font-size:20px}
.tabs button[aria-current=true]::before{content:"";position:absolute;top:-6px;left:28%;right:28%;height:3px;border-radius:0 0 3px 3px;background:var(--pri)}
.logo{position:relative;overflow:hidden;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:14px;color:#fff;flex:0 0 auto;background:var(--c,#7B8494)}
.logo em{font-style:normal}.logo img{position:absolute;inset:5px;width:calc(100% - 10px);height:calc(100% - 10px);object-fit:contain}
.logo.img{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}.logo.img em{visibility:hidden}
.logo.big{width:48px;height:48px;border-radius:14px;font-size:18px}
.hero{display:flex;align-items:center;gap:6px;background:var(--grad);color:#fff;border-radius:20px;padding:18px 14px 18px 18px;margin:2px 0 12px;box-shadow:0 10px 28px rgba(36,87,245,.25);overflow:hidden;position:relative}
.hero::after{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.08)}
.hero h2{margin:0 0 4px;font-size:19px;letter-spacing:-.3px}.hero p{margin:0 0 10px;font-size:13.5px;opacity:.92;line-height:1.5}
.hero .illu{width:118px;flex:0 0 auto;position:relative;z-index:1}.hero.lounge{background:linear-gradient(135deg,#1F2A44,#3B4B78 60%,#5B4BB7)}
.hero.mod{background:linear-gradient(135deg,#0E7A3C,#17A55B 60%,#38C793)}.hero.ads{background:linear-gradient(135deg,#E8731A,#F59E0B 60%,#F7C948)}
.btn.wh{background:#fff;color:var(--pri)}.hero.lounge .btn.wh{color:#1F2A44}
.illu.sm{width:120px;display:block;margin:0 auto 6px}
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 12px}
.quick button{all:unset;cursor:pointer;background:#fff;border-radius:16px;padding:12px 4px 10px;text-align:center;font-size:12px;font-weight:700;color:var(--sub);box-shadow:var(--sh);border:1px solid rgba(228,232,239,.7)}
.quick button b{display:block;font-size:24px;line-height:1.3;font-weight:400;margin-bottom:2px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 12px}.stats div{background:#fff;border-radius:14px;padding:10px 6px;text-align:center;font-size:11.5px;color:var(--sub);box-shadow:var(--sh)}
.stats b{display:block;font-size:17px;color:var(--ink)}
/* 광고 */
.ad-slot{margin:0 0 12px}.ad-slot:empty{display:none}
.ad{display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:12px 14px;color:inherit;box-shadow:var(--sh);border:1px solid rgba(228,232,239,.7);overflow:hidden}
.ad.has-img{flex-direction:column;align-items:stretch;padding:0;gap:0}.ad.has-img img{width:100%;aspect-ratio:2/1;object-fit:cover;display:block}.ad.has-img .ad-txt{padding:10px 14px 12px}
.ad .ad-txt{flex:1;min-width:0}.ad b{display:block;font-size:15px}.ad .s{font-size:12.5px;color:var(--sub);margin-top:2px}
.ad-tag{display:inline-block;font-size:10.5px;font-weight:800;color:var(--mute);border:1px solid var(--line);border-radius:5px;padding:0 5px;margin-bottom:3px}
.ad-cta{display:inline-block;margin-top:6px;font-size:13px;font-weight:700;color:var(--pri)}
.ad.house{background:repeating-linear-gradient(135deg,#FAFBFF 0 10px,#F3F6FF 10px 20px);border:1.5px dashed #C9D7FF;box-shadow:none}.ad-mega{font-size:26px}
.adth{width:64px;height:32px;object-fit:cover;border-radius:6px;flex:0 0 auto}
/* 라운지 */
.chips.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:-16px;margin-right:-16px;padding:0 16px}.chips.scroll::-webkit-scrollbar{display:none}.chips.scroll .chip{flex:0 0 auto;background:#fff;box-shadow:var(--sh)}
.chips.scroll .chip[aria-pressed=true]{background:var(--ink)}
.post{all:unset;box-sizing:border-box;display:block;width:100%;cursor:pointer;background:#fff;border-radius:16px;padding:14px 16px;margin:0 0 10px;box-shadow:var(--sh);border:1px solid rgba(228,232,239,.7)}
.pm{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--mute);flex-wrap:wrap}.pm .bd{font-weight:800;color:var(--pri);background:var(--pri2);border-radius:6px;padding:1px 7px}
.pt{display:block;font-size:16px;margin:7px 0 3px;letter-spacing:-.2px}.ps{margin:0;font-size:13.5px;color:var(--sub);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pf{display:flex;gap:14px;align-items:center;margin-top:9px;font-size:12.5px;color:var(--mute);font-weight:600}
.pd-t{font-size:19px;margin:10px 0 8px;letter-spacing:-.3px}.pd-b{white-space:pre-wrap;line-height:1.7;font-size:15px;word-break:break-word}
.pd-a{margin:16px 0 12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.btn.liked{background:#FDECEC;color:var(--dan)}
.cm{padding:10px 0;border-bottom:1px solid #F0F2F6}.cm.op .cm-h b{color:var(--pri)}.cm-h{display:flex;gap:8px;align-items:center;font-size:13px}.cm-b{white-space:pre-wrap;font-size:14.5px;margin-top:3px;word-break:break-word}
.lnk{all:unset;cursor:pointer;font-size:12px;color:var(--mute);margin-left:auto}.lnk+.lnk{margin-left:8px}
.cm-in{position:sticky;bottom:calc(-18px - var(--safe-b));background:#fff;display:flex;gap:8px;align-items:flex-end;padding:10px 0 4px;margin-top:6px}.cm-in textarea{min-height:48px}
.rules p{margin:0 0 12px;font-size:14px;line-height:1.6}
.lnk-row{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;width:100%;cursor:pointer;padding:14px 2px;border-bottom:1px solid var(--line);font-weight:600}
/* 로그인 화면 */
.auth-hero{background:var(--grad);border-radius:22px;padding:18px;margin:0 0 18px;display:flex;align-items:center;color:#fff;box-shadow:0 10px 28px rgba(36,87,245,.25)}
.auth-hero ul{list-style:none;margin:0;padding:0;font-size:13.5px;line-height:1.9;flex:1}.auth-hero .illu{width:120px;flex:0 0 auto}
.seg button{white-space:nowrap}.row>.seg[style*="flex:0 0 auto"] button{padding:9px 10px}
.cm-in .btn{white-space:nowrap;flex:0 0 auto}
