:root{--blue:#2878f3;--mint:#20bea0;--ink:#24334a;--muted:#7d8da3;--line:#dce6f2;--soft:#f4f8ff}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#f8fbff;font-family:Inter,Pretendard,"Noto Sans KR",system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{display:grid;grid-template-columns:270px 1fr;min-height:100vh}aside{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:34px 26px;background:#eaf2ff}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.brand>i{display:grid;width:48px;height:48px;place-items:center;border-radius:18px;color:#fff;background:linear-gradient(145deg,#55d7be,#12a88b);font-style:normal;font-size:28px}.brand strong{font-size:23px;line-height:.95}.brand strong span{color:var(--blue)}.brand>b{padding:6px 10px;border-radius:18px;color:#fff;background:var(--blue);font-size:11px}.new-session{margin-top:52px;padding:21px;border:0;border-radius:19px;color:var(--blue);background:#fff;font-weight:800}.privacy{margin-top:38px;padding:25px;border-radius:20px;background:#fff}.privacy small,.question-guide small,.settings-panel header small{color:var(--mint);font-weight:800;letter-spacing:.16em}.privacy h2{font-size:22px}.privacy p{color:var(--muted);font-size:12px;line-height:1.75}.server-ready{display:flex;align-items:center;gap:10px;margin-top:18px;padding:15px;border:1px solid #cbddf3;border-radius:15px}.server-ready>i{width:10px;height:10px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 7px #20bea019}.server-ready span{display:flex;flex-direction:column}.server-ready b{color:#159f84;font-size:11px;letter-spacing:.1em}.server-ready small{color:#8291a6}aside>footer{margin-top:auto;color:#91a2b8;font-size:9px;letter-spacing:.17em}.shell{width:min(1180px,calc(100% - 48px));margin:auto;padding:25px 0 45px}.shell nav{display:flex;justify-content:space-between;color:#7f8ea2;font-size:11px;letter-spacing:.12em}.shell nav button,.session-bar button,.logs button{padding:8px 13px;border:1px solid var(--line);border-radius:9px;color:#607188;background:#fff}.hero{display:flex;justify-content:space-between;align-items:center;min-height:300px;padding:42px 5%}.hero small{color:var(--blue);font-weight:800}.hero h1{margin:25px 0 15px;font-size:clamp(42px,5.5vw,72px);line-height:1.1}.hero h1 em{color:var(--mint);font-style:normal}.hero p{color:var(--muted)}.mascot{position:relative;display:grid;width:180px;height:180px;place-items:center;border-radius:50%;background:linear-gradient(145deg,#baf4ea,#3ecab0);box-shadow:0 25px 60px #3d8dcf30}.mascot>b{display:grid;width:90px;height:90px;place-items:center;border-radius:50%;color:#228f7d;background:#fff;font-size:25px}.mascot>span{position:absolute;right:-25px;top:15px;padding:15px;border-radius:20px;color:#fff;background:var(--blue)}.pipeline{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--line);gap:1px}.pipeline>div{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;padding:17px;background:#fff}.pipeline i{grid-row:1/3;color:#9aabc0;font:11px ui-monospace,monospace}.pipeline b{font-size:13px}.pipeline span{color:#8d9caf;font-size:11px}.pipeline>div.active{background:#eaf4ff}.pipeline>div.active span{color:var(--blue)}.pipeline>div.done{background:#ecfbf6}.pipeline>div.done span{color:#159d82}.session-bar{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:12px 16px;border:1px solid var(--line);border-radius:13px;background:#fff}.session-bar>div{display:flex;align-items:center;gap:13px}.session-bar small{color:#95a5b9;letter-spacing:.13em}.session-bar code{font-size:11px}.session-bar b{padding:5px 9px;border-radius:8px;color:#168e76;background:#e5f8f2;font-size:10px}.chat-card{overflow:hidden;margin-top:10px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 22px 55px #3965a517}.conversation{height:320px;overflow:auto;padding:25px;background:linear-gradient(#fff,#fbfdff)}.empty{display:grid;height:100%;place-content:center;text-align:center;color:var(--muted)}.empty strong{color:#42526a}.empty span{margin-top:7px;font-size:12px}.bubble{max-width:78%;margin:10px 0;padding:14px 16px;border-radius:16px;line-height:1.6}.bubble small{display:block;margin-bottom:5px;color:#8290a3;font-size:9px;letter-spacing:.12em}.bubble.user{margin-left:auto;color:#fff;background:linear-gradient(135deg,#2675f5,#438cf8);border-bottom-right-radius:4px}.bubble.assistant{background:#eef2f7;border-bottom-left-radius:4px}.waiting{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:max-content}.waiting small{width:100%}.dots{display:inline-flex;gap:4px}.dots i{width:6px;height:6px;border-radius:50%;background:var(--blue);animation:dot 1.1s infinite}.dots i:nth-child(2){animation-delay:.16s}.dots i:nth-child(3){animation-delay:.32s}@keyframes dot{0%,70%,100%{opacity:.2;transform:translateY(0)}35%{opacity:1;transform:translateY(-4px)}}.caption{padding:12px 25px;border-top:1px solid var(--line);color:var(--muted);background:#fbfcfe;font-size:12px}.question-guide{padding:17px 24px;border-top:1px solid var(--line);background:#f7faff}.question-guide header{display:flex;gap:12px;align-items:baseline}.question-guide header strong{font-size:14px}.question-guide>div{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:11px}.question-guide p{margin:0;padding:13px;border:1px solid var(--line);border-radius:13px;color:#53637a;background:#fff;font-size:12px;line-height:1.5}.question-guide i{color:var(--blue);font-style:normal;font-weight:800}.voice-control{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;padding:22px 25px;border-top:3px solid var(--mint)}#meter{width:100%;height:60px}.voice-control>button{display:grid;width:76px;height:76px;place-items:center;border:0;border-radius:50%;background:linear-gradient(145deg,#7ddcca,#36bea5);box-shadow:0 0 0 11px #31bea416}.voice-control>button span{width:16px;height:16px;border-radius:50%;background:#fff}.voice-control>button.recording{background:#ff6571;animation:pulse 1.3s infinite}.voice-control>div{display:flex;flex-direction:column}.voice-control small{margin-top:5px;color:var(--muted)}.error{min-height:20px;color:#d94e60;text-align:center;font-size:12px}.logs{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#102034}.logs header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;color:#d7e6f6}.logs header b{font:10px ui-monospace,monospace;letter-spacing:.12em}.logs header button{color:#9eb2c8;background:transparent}#log{height:210px;overflow:auto;padding:12px 16px;color:#91a8bf;font:11px/1.8 ui-monospace,monospace}.log-row{display:grid;grid-template-columns:75px 80px 1fr auto;gap:9px;border-bottom:1px solid #1c3249}.log-row b{color:#6ed8b9}.log-row.error b,.log-row.error span{color:#ff8490}.log-row em{color:#688198;font-style:normal}.layer[hidden],.voice-mode[hidden],.question-guide[hidden]{display:none}.layer{position:fixed;z-index:10;inset:0}.backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:#1c345968}.settings-panel{position:absolute;top:0;right:0;width:min(580px,100%);height:100%;overflow:auto;padding:24px;background:#fff;box-shadow:-20px 0 60px #18375f2a}.settings-panel>header{display:flex;justify-content:space-between}.settings-panel>header button{border:0;background:none;font-size:28px}.settings-panel fieldset{display:grid;gap:12px;margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:16px}.settings-panel legend{display:flex;gap:10px}.settings-panel legend i{color:var(--blue);font-style:normal}.settings-panel legend span,.settings-panel label{display:flex;flex-direction:column;gap:6px}.settings-panel legend small{color:var(--muted)}.settings-panel input,.settings-panel select,.settings-panel textarea{padding:10px;border:1px solid var(--line);border-radius:9px}.settings-panel fieldset>p{color:var(--muted);font-size:11px}.segments{display:grid;grid-template-columns:1fr 1fr;gap:7px}.segments label{position:relative}.segments input{position:absolute;opacity:0}.segments span{padding:11px;border:1px solid var(--line);border-radius:9px;text-align:center}.segments input:checked+span{color:var(--blue);border-color:var(--blue);background:#eef5ff}.settings-panel .check{flex-direction:row}.settings-panel>footer{display:flex;justify-content:flex-end;gap:9px;padding:20px 0}.settings-panel>footer button{padding:11px 18px;border:1px solid var(--line);border-radius:10px}.settings-panel>footer button:last-child{color:#fff;background:var(--blue)}.voice-mode{position:fixed;z-index:20;inset:0;display:grid;grid-template-rows:auto 1fr auto;color:#fff;background:radial-gradient(circle at center,#1d5270,#071a2d 65%)}.voice-mode>header,.voice-mode>footer{display:flex;justify-content:space-between;padding:25px}.voice-mode button{padding:11px 18px;border:1px solid #ffffff44;border-radius:22px;color:#fff;background:#ffffff12}.voice-mode>main{display:grid;place-items:center;align-content:center;gap:14px;text-align:center}.orb{position:relative;display:grid;width:190px;height:190px;place-items:center}.orb i{position:absolute;inset:0;border:1px solid #67ead0;border-radius:50%;animation:orb 2s infinite}.orb i:nth-child(2){animation-delay:1s}.orb span{width:95px;height:95px;border-radius:50%;background:linear-gradient(145deg,#67ead0,#297df1);box-shadow:0 0 70px #58dbcf80}@keyframes orb{to{opacity:0;transform:scale(1.5)}}.voice-mode>footer{align-items:center}@keyframes pulse{50%{box-shadow:0 0 0 20px #ff657116}}@media(max-width:800px){.app{display:block}aside{position:static;height:auto;padding:16px}.privacy,.server-ready,aside>footer{display:none}.new-session{margin:15px 0 0;padding:14px}.shell{width:calc(100% - 24px)}.hero{min-height:230px;padding:25px 2%}.hero h1{font-size:40px}.mascot{display:none}.pipeline{grid-template-columns:1fr 1fr}.conversation{height:280px}.question-guide>div{grid-template-columns:1fr}.voice-control{grid-template-columns:1fr;text-align:center}.voice-control>div{align-items:center}#meter{display:none}.log-row{grid-template-columns:60px 65px 1fr}.log-row em{display:none}}
