:root{--navy:#13243a;--navy-2:#203b5c;--orange:#ee6b2f;--orange-soft:#fff1e9;--bg:#f3f5f8;--card:#fff;--text:#182230;--muted:#6c7786;--line:#e3e7ec;--shadow:0 12px 36px rgba(20,37,60,.08);font-family:Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif;color:var(--text);background:var(--bg);font-size:16px}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app{min-height:100vh;display:grid;grid-template-columns:240px minmax(440px,720px) 300px;justify-content:center;gap:32px;padding:0 28px}.sidebar{position:sticky;top:0;height:100vh;padding:30px 0 26px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--navy);color:white;font-size:.88rem;font-weight:900;letter-spacing:-.04em;box-shadow:inset 0 -4px 0 var(--orange)}.brand-mark.large{width:72px;height:72px;border-radius:18px;font-size:1.35rem;background:white;color:var(--navy);box-shadow:inset 0 -6px 0 var(--orange)}.brand b{display:block;font-size:1.08rem}.brand small{display:block;font-size:.65rem;letter-spacing:.13em;color:var(--muted);margin-top:2px}.sidebar nav{margin-top:54px;display:grid;gap:8px}.nav-item{border:0;background:transparent;color:#667384;display:flex;align-items:center;gap:13px;width:100%;padding:13px 14px;border-radius:12px;text-align:left;font-weight:700}.nav-item span{display:grid;place-items:center;width:22px;height:22px;font-size:1.1rem}.nav-item:hover,.nav-item.active{background:white;color:var(--navy);box-shadow:0 8px 20px rgba(20,37,60,.06)}.nav-item.active span{color:var(--orange)}.side-footer{margin-top:auto}.user-mini{border-top:1px solid var(--line);margin-top:12px;padding:20px 8px 0;display:flex;align-items:center;gap:10px}.user-mini b,.user-mini small{display:block}.user-mini small{font-size:.76rem;color:var(--muted);margin-top:3px}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#dbe4ed;color:var(--navy);font-weight:900;flex:none}.mobile-header,.bottom-nav{display:none}main{padding:36px 0 90px}.content-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:25px}.content-header h1{font-size:1.8rem;margin:.3rem 0 0;letter-spacing:-.04em}.eyebrow{font-size:.7rem;font-weight:900;letter-spacing:.15em;color:var(--orange)}.primary,.secondary{border:0;border-radius:11px;padding:12px 18px;font-weight:800}.primary{background:var(--navy);color:white;box-shadow:0 8px 18px rgba(19,36,58,.18)}.primary:hover{background:var(--navy-2)}.primary span{color:#ff9d67}.secondary{background:#eef1f4;color:var(--text)}.wide{width:100%;padding:14px}.notice-strip{background:linear-gradient(120deg,var(--navy),var(--navy-2));color:white;border-radius:16px;padding:17px 20px;margin-bottom:16px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow)}.notice-strip b{font-size:.76rem;background:var(--orange);padding:5px 8px;border-radius:6px}.notice-strip span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.feed{display:grid;gap:16px}.post-card{background:var(--card);border:1px solid rgba(218,224,231,.85);border-radius:18px;overflow:hidden;box-shadow:0 4px 18px rgba(22,35,52,.035)}.post-card>header{display:flex;align-items:center;padding:20px 22px 8px;gap:11px}.post-avatar{background:var(--navy);color:white}.post-who{min-width:0}.post-who b,.post-who small{display:block}.post-who small{font-size:.76rem;color:var(--muted);margin-top:3px}.post-badge{font-size:.72rem;background:var(--orange-soft);color:#c74c17;font-weight:900;padding:4px 8px;border-radius:6px;margin-left:auto}.icon-button{border:0;background:transparent;font-size:1.25rem;color:var(--muted);border-radius:8px;padding:6px}.delete-post{margin-left:4px}.post-content{padding:10px 22px 14px}.post-content h2{font-size:1.12rem;margin:3px 0 8px;letter-spacing:-.025em}.post-content p{white-space:pre-wrap;line-height:1.7;margin:0;color:#313d4c}.attachments{padding:0 22px 14px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.attachments:empty{display:none}.attachment{background:#f4f6f8;border:1px solid var(--line);border-radius:11px;padding:10px 12px;display:flex;align-items:center;gap:9px;color:var(--text);text-decoration:none;font-size:.85rem;font-weight:700;overflow:hidden}.attachment span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment.image{grid-column:span 2;padding:0;overflow:hidden}.attachment.image img{width:100%;max-height:420px;object-fit:cover;display:block}.post-meta{padding:0 22px 12px;color:var(--muted);font-size:.78rem}.post-actions{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}.post-actions button{border:0;background:white;padding:13px;color:var(--muted);font-weight:800}.post-actions button:hover{background:#f7f8fa}.post-actions .liked{color:var(--orange)}.comments{background:#f8f9fb;border-top:1px solid var(--line);padding:14px 22px 18px}.comment-list{display:grid;gap:11px}.comment{display:flex;gap:9px;font-size:.88rem}.comment b{margin-right:7px}.comment small{color:var(--muted)}.comment p{margin:3px 0 0;line-height:1.45}.comment-form{display:flex;gap:8px;margin-top:12px}.comment-form input{flex:1;border:1px solid var(--line);background:white;border-radius:22px;padding:10px 14px;min-width:0}.comment-form button{border:0;background:transparent;color:var(--orange);font-weight:900}.rightbar{padding-top:111px}.welcome-card,.quick-card{background:white;border-radius:18px;padding:22px;border:1px solid var(--line);box-shadow:0 4px 18px rgba(22,35,52,.03)}.welcome-card{background:var(--navy);color:white;position:relative;overflow:hidden}.welcome-card:after{content:"MJ";position:absolute;right:-14px;bottom:-28px;font-size:6rem;font-weight:1000;color:rgba(255,255,255,.04)}.welcome-card h2{font-size:1.25rem;line-height:1.45;margin:10px 0 22px}.welcome-card p{font-size:.8rem;color:#bdc8d5;margin:0}.quick-card{margin-top:14px}.quick-card h3{font-size:.95rem;margin:0 0 10px}.quick-card p{font-size:.83rem;line-height:1.55;color:var(--muted)}.storage-note{font-size:.74rem;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);color:#536174}.storage-note span{color:#20a56b;font-size:.65rem;margin-right:4px}.empty{background:white;border:1px dashed #ccd3dc;border-radius:18px;padding:64px 24px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--text);font-size:1.05rem;margin-bottom:8px}.skeleton{height:220px;border-radius:18px;background:linear-gradient(90deg,#fff,#edf0f4,#fff);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{to{background-position:-200% 0}}dialog{border:0;padding:0;background:transparent;max-width:min(92vw,620px);width:100%}dialog::backdrop{background:rgba(10,20,34,.68);backdrop-filter:blur(3px)}.dialog-card{background:white;border-radius:20px;padding:25px;box-shadow:var(--shadow);max-height:90vh;overflow:auto}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px}.dialog-head h2{margin:5px 0 0;font-size:1.4rem}.dialog-card label{display:grid;gap:7px;font-size:.85rem;font-weight:800;margin:14px 0}.dialog-card input,.dialog-card textarea,.dialog-card select,.auth-card input{border:1px solid #d8dee6;border-radius:10px;padding:12px 13px;outline:none;background:white}.dialog-card input:focus,.dialog-card textarea:focus,.dialog-card select:focus,.auth-card input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(32,59,92,.1)}.dialog-card textarea{resize:vertical;line-height:1.55}.muted{font-weight:400;color:var(--muted)}.file-drop{border:1px dashed #bfc8d3;border-radius:12px;padding:14px}.file-drop input{border:0;padding:0}.file-drop span{color:var(--navy)}.file-drop small{font-weight:400;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.member-form{display:grid;grid-template-columns:1fr 1fr;gap:9px}.member-form input,.member-form select{min-width:0}.member-list{margin-top:22px;border-top:1px solid var(--line)}.member-row{display:flex;align-items:center;gap:10px;padding:13px 2px;border-bottom:1px solid var(--line)}.member-row div{flex:1}.member-row b,.member-row small{display:block}.member-row small{color:var(--muted);font-size:.76rem;margin-top:3px}.role{font-size:.72rem;font-weight:800;color:var(--navy);background:#edf2f7;padding:5px 8px;border-radius:6px}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(330px,1fr) minmax(400px,560px);background:white}.auth-brand{position:relative;background:var(--navy);color:white;padding:8vh 8vw;overflow:hidden}.auth-brand>p{font-size:.7rem;letter-spacing:.22em;font-weight:800;color:#9fb0c4;margin-top:26px}.auth-brand h1{font-size:clamp(2rem,4.2vw,4.4rem);line-height:1.13;letter-spacing:-.055em;margin:18vh 0 0;position:relative;z-index:1}.auth-pattern{position:absolute;width:42vw;height:42vw;right:-12vw;bottom:-18vw;border:8vw solid rgba(255,255,255,.035);border-radius:50%}.auth-pattern:after{content:"";position:absolute;width:9vw;height:9vw;background:var(--orange);border-radius:50%;left:-5vw;top:4vw;opacity:.9}.auth-card{align-self:center;padding:8vw;max-width:560px;width:100%}.auth-card h2{font-size:1.7rem;margin:10px 0}.auth-card>p{color:var(--muted);line-height:1.5;margin:0 0 30px}.auth-card label{display:grid;gap:7px;font-size:.84rem;font-weight:800;margin:15px 0}.form-note{font-size:.78rem!important;text-align:center;margin:20px 0 0!important}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:#182230;color:white;padding:11px 16px;border-radius:10px;font-size:.85rem;z-index:100;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1100px){.app{grid-template-columns:220px minmax(440px,700px)}.rightbar{display:none}}
@media(max-width:760px){.app{display:block;padding:0;min-height:100svh}.sidebar{display:none}.mobile-header{height:66px;padding:11px 16px;display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.mobile-header .brand-mark{width:36px;height:36px}.mobile-header .avatar{border:0}main{padding:24px 15px 100px}.content-header{align-items:center;margin-bottom:18px}.content-header h1{font-size:1.45rem}.content-header .eyebrow,.content-header .primary{display:none}.notice-strip{border-radius:13px}.post-card{border-radius:14px}.post-card>header{padding:17px 16px 7px}.post-content{padding:9px 16px 13px}.attachments{padding:0 16px 13px}.post-meta{padding:0 16px 11px}.comments{padding:13px 16px 16px}.comment-avatar{display:none}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;height:68px;background:white;border-top:1px solid var(--line);z-index:20;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{border:0;background:transparent;color:#7d8794;font-size:.69rem;font-weight:700;display:grid;place-items:center;align-content:center;gap:3px}.bottom-nav button span{font-size:1.1rem}.bottom-nav .active{color:var(--navy)}.bottom-nav .compose-fab{width:52px;height:52px;border-radius:50%;background:var(--orange);color:white;font-size:1.7rem;display:block;align-self:center;justify-self:center;box-shadow:0 7px 18px rgba(238,107,47,.35);margin-top:-22px}.auth-shell{display:block;background:var(--bg);padding:24px 15px;min-height:100svh}.auth-brand{border-radius:18px;min-height:210px;padding:25px}.auth-brand .brand-mark{width:54px;height:54px}.auth-brand>p{margin-top:16px}.auth-brand h1{font-size:1.8rem;margin:34px 0 0}.auth-pattern{width:260px;height:260px;right:-90px;bottom:-100px;border-width:55px}.auth-card{background:white;border-radius:18px;padding:24px;margin:-18px auto 0;position:relative;max-width:520px}.member-form{grid-template-columns:1fr}.attachments{grid-template-columns:1fr}.attachment.image{grid-column:auto}}
