:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Apple SD Gothic Neo","Noto Sans KR",sans-serif;color:#252937;background:#f5f6fa;font-synthesis:none;font-size:16px;--accent:#5157b8;--muted:#737887;--line:#e4e6ee}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,input:focus-visible{outline:3px solid #99a1ff;outline-offset:2px}[hidden]{display:none!important}.app{height:100dvh;display:grid;grid-template-columns:330px minmax(0,1fr)}aside{background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.brand{display:flex;align-items:center;gap:12px;padding:26px 22px 22px}.mark{display:grid;place-items:center;width:40px;height:42px;border-radius:10px;background:var(--accent);color:white;font-weight:750;font-size:24px;box-shadow:5px 0 0 #d8daf4}h1{font-size:20px;letter-spacing:-.7px;margin:0}p{margin:0}.brand p{color:var(--muted);font-size:13px;margin-top:4px}.icon{background:none;border:0;color:var(--muted);font-size:25px;padding:5px;margin-left:auto}.sidebar-controls{padding:0 18px}.search,.message-search label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:#f8f9fb}.search span,.message-search span{font-size:22px;color:var(--muted);line-height:1}input{min-width:0}input:not([type=checkbox]){border:0;outline:none;background:none;color:inherit;width:100%;font-size:14px}.filters{display:flex;gap:5px;margin:16px 0}.filters button{border:0;background:none;color:#626878;padding:7px 16px;border-radius:6px;font-size:14px}.filters button.active{background:#e9eafb;color:#424aa4;font-weight:650}.complete{font-size:14px;display:flex;align-items:center;gap:6px;color:#525867}.complete input{accent-color:var(--accent);width:15px;height:15px}.muted{font-size:13px;color:var(--muted);margin:14px 0 10px}.room-list{padding:0 10px 15px;overflow:auto;flex:1}.room{width:100%;border:0;background:none;display:flex;align-items:center;text-align:left;gap:12px;padding:14px 12px;border-radius:9px;margin:2px 0;color:inherit}.room:hover{background:#f5f6fa}.room.selected{background:#edeeff;box-shadow:inset 3px 0 var(--accent)}.room-icon{flex-shrink:0;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#f0f1f6;color:#666c8d;font-size:18px}.room.selected .room-icon{background:#dce0fa;color:#4c55ac}.room-info{min-width:0;flex:1}.room-name{font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:600;word-break:keep-all}.room-info small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.dot{width:6px;height:6px;border-radius:50%;background:#4d987a}.dot.pending{background:#bba365}.dot.failed{background:#be6c66}aside footer{padding:17px 18px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:space-between;font-size:12px;color:var(--muted)}.read-only{color:#6268a7;white-space:nowrap}main{position:relative;min-width:0;min-height:0}.welcome{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.welcome-symbol{font-family:Georgia,serif;font-size:95px;color:#767dc5;background:#e9ebf9;width:110px;height:110px;line-height:150px;border-radius:30px}.welcome h2{font-size:24px;letter-spacing:-1px;margin:28px 0 14px}.welcome p{font-size:16px;color:var(--muted);line-height:1.8}#conversation{height:100%;display:flex;flex-direction:column}.conversation-header{display:flex;align-items:center;gap:15px;padding:24px 34px;background:#fff;border-bottom:1px solid var(--line)}.room-heading{min-width:0;flex:1}.room-heading h2{font-size:19px;line-height:1.4;letter-spacing:-.5px;margin:0;overflow-wrap:anywhere}.room-heading p{font-size:13px;color:var(--muted);margin-top:5px}.badge{font-size:12px;background:#eaf4ef;color:#39725b;border-radius:5px;padding:5px 8px;white-space:nowrap}.message-search{display:flex;align-items:center;gap:8px;padding:12px 34px;background:#fff;border-bottom:1px solid var(--line)}.message-search label{flex:1;max-width:440px;padding:7px 10px}.message-search button{font-size:13px;border:1px solid var(--line);background:white;padding:8px 12px;border-radius:6px;color:#585e71}.chat-scroll{flex:1;overflow:auto;min-height:0;padding:24px 36px;scroll-behavior:auto;background:#f5f6fa}.older{display:block;margin:0 auto 24px;background:white;border:1px solid var(--line);border-radius:20px;padding:9px 20px;font-size:14px;color:var(--accent)}.date-rule{display:flex;align-items:center;justify-content:center;gap:16px;color:#848a99;font-size:12px;margin:22px 0}.date-rule:before,.date-rule:after{content:"";height:1px;background:#e1e4ed;max-width:100px;flex:1}.message{display:flex;align-items:flex-start;gap:12px;margin:18px 0;max-width:900px}.avatar{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#dfe4f5;color:#566399;font-size:13px;font-weight:600}.avatar.tone1{background:#dfece8;color:#427568}.avatar.tone2{background:#eee4d8;color:#89734c}.avatar.tone3{background:#e9e1ef;color:#816091}.message-main{min-width:0}.sender-line{display:flex;align-items:center;gap:9px;margin:0 0 7px 3px}.sender{font-size:13px;font-weight:600}.time{font-size:12px;color:#858b98}.bubble{background:white;border:1px solid #e5e7ef;border-radius:2px 12px 12px 12px;padding:13px 17px;box-shadow:0 1px 2px #25314b04;font-size:16px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap;max-width:760px}.bubble p{white-space:pre-wrap}.bubble .reply{border-left:3px solid #a7addb;background:#f4f5fb;padding:9px 12px;margin:0 0 10px;font-size:13px;line-height:1.55;color:#666c80;white-space:pre-wrap}.reply strong{display:block;color:#515774;margin-bottom:3px}.attachment{display:block;border:1px solid var(--line);padding:8px 12px;border-radius:6px;font-size:13px;margin-top:10px;color:#5d6380;white-space:normal}.event{font-size:12px;text-align:center;color:#8b909f;margin:13px 0;line-height:1.5}.conversation-footer{background:white;border-top:1px solid var(--line);padding:17px 34px;font-size:12px;color:#8a909d;display:flex;justify-content:space-between;gap:16px}.back{display:none;margin:0}.empty{padding:35px 15px;color:var(--muted);font-size:14px;text-align:center;line-height:1.8}#error{position:absolute;bottom:65px;left:24px;right:24px;background:#fff1f0;border:1px solid #e6c9c6;color:#8b4440;padding:14px;border-radius:8px;font-size:14px}@media(min-width:1400px){.chat-scroll{padding-left:7%;padding-right:7%}}@media(max-width:760px){.app{grid-template-columns:280px minmax(0,1fr)}.conversation-header{padding:20px}.message-search{padding:12px 20px}.chat-scroll{padding:16px}.conversation-footer{padding:14px 20px;line-height:1.6}.conversation-footer span{display:none}.badge{display:none}}@media(max-width:600px){.app{display:block}aside{height:100dvh}main{display:none;height:100dvh}body.open aside{display:none}body.open main{display:block}.back{display:block}.message-search{gap:5px}.message-search button{padding:8px}.message-search input{font-size:13px}.bubble{padding:11px 13px}.conversation-header{padding:16px}.message{gap:9px}.brand{padding-top:22px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.search-modes{display:flex;margin:0 0 14px;border-bottom:1px solid var(--line);gap:18px}.search-modes button{border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-size:14px;padding:8px 0 11px;font-weight:600}.search-modes button.active{color:var(--accent);border-bottom-color:var(--accent)}.search-result{display:flex;flex-direction:column;gap:7px;width:100%;border:0;border-bottom:1px solid var(--line);background:white;padding:16px 12px;text-align:left;color:inherit;cursor:pointer}.search-result:hover,.search-result.selected{background:#f0f1ff}.result-room{font-size:14px;font-weight:650;line-height:1.5}.result-meta{font-size:12px;color:var(--muted)}.result-snippet{font-size:14px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.result-open{font-size:12px;color:var(--accent);margin-top:4px}.more-results{border:1px solid var(--line);border-radius:6px;background:white;padding:11px;width:100%;margin:14px 0;color:var(--accent);font-size:14px}mark{background:#ffe9a1;color:inherit;border-radius:2px;padding:0 1px}.message.focused .bubble{border:2px solid #8b92dc;background:#fcfcff;box-shadow:0 0 0 4px #dadefa70}.message.focused .sender:after{content:'검색한 메시지';margin-left:9px;color:var(--accent);font-size:12px;font-weight:500}.logout{border:0;background:none;color:#656cab;font-size:12px;padding:0;white-space:nowrap}.login-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 20% 15%,#e7e9fb 0,transparent 55%),#f5f6fa}.login-card{display:block;width:min(100%,420px);background:#fff;border:1px solid #e3e6f0;border-radius:18px;padding:44px 38px;box-shadow:0 16px 60px #29376c0a}.login-card .mark{margin-bottom:26px}.login-eyebrow{font-size:12px;font-weight:650;letter-spacing:1.6px;color:#858ba7;margin-bottom:10px}.login-card h1{font-size:30px;letter-spacing:-1.3px;margin-bottom:14px}.login-description{font-size:16px;color:#747b8c;line-height:1.7;margin-bottom:30px}.login-card label{display:block;font-size:14px;font-weight:600;margin-bottom:9px}.password-field{display:flex;border:1px solid #d6daea;border-radius:8px;padding:4px 8px;align-items:center;gap:8px}.password-field:focus-within{border-color:#6973c9;box-shadow:0 0 0 3px #6973c91a}.password-field input{font-size:16px;padding:9px 5px;outline:none}.password-field button{border:0;background:none;color:#757d96;font-size:13px;padding:6px}.login-card button[type=submit]{width:100%;border:0;border-radius:8px;background:#515bb8;color:white;padding:14px;margin-top:20px;font-size:16px;font-weight:650}.login-card button[type=submit]:hover{background:#444ea4}.login-note{font-size:12px;color:#9298a6;text-align:center;margin-top:25px}.login-error{font-size:13px;color:#aa4343;line-height:1.5;margin-top:12px}@media(max-width:600px){.login-page main{display:block;height:auto}.login-card{padding:34px 26px}}
