:root{--ink:#17332e;--muted:#7a8882;--green:#235c48;--lime:#d5eac4;--line:#e7ebe4;--paper:#fbfcf8;--sans:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:14px}button,input,textarea{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.brand{display:flex;align-items:center;gap:11px;font-size:27px;font-weight:650;letter-spacing:-1px}.brand:first-letter{color:var(--green)}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--muted)}h1,h2,p{margin:0}h1{font-size:38px;font-weight:500;letter-spacing:-1.8px;line-height:1.4}h2{font-size:25px;font-weight:600;letter-spacing:-.8px}p{line-height:1.9;color:var(--muted)}.auth-shell{min-height:100dvh;display:grid;grid-template-columns:1.15fr 1fr}.brand-story{background:#e8eee3;padding:48px 60px;display:flex;flex-direction:column;justify-content:space-between;min-height:760px}.brand-story h1{margin:22px 0}.brand-story p{color:#6d7f70}.brand-story small{color:#7b8979;font-size:11px}.orbit{height:210px;position:relative;margin-top:25px}.orb{position:absolute;padding:18px 25px;background:#f9fbf6;border-radius:20px 20px 20px 4px;box-shadow:0 8px 28px #26492b09}.one{top:25px;left:20px;transform:rotate(-6deg)}.two{top:105px;left:105px;background:var(--green);color:white;transform:rotate(4deg)}.three{right:25px;top:10px;font-size:50px;background:var(--lime);border-radius:100%;width:100px;height:100px;display:grid;place-items:center}.auth-form{max-width:420px;width:100%;align-self:center;justify-self:center;padding:35px}.badge{display:inline-block;background:#edf1e9;color:#71816c;font-size:10px;letter-spacing:1px;border-radius:6px;padding:7px 9px}.auth-form h2{margin:30px 0 8px}.auth-form form{margin-top:30px}label{display:block;font-size:12px;font-weight:600;margin-bottom:19px}input{display:block;width:100%;border:1px solid #dce3d8;border-radius:9px;background:white;padding:14px;margin-top:9px;color:var(--ink)}input:focus,textarea:focus{outline:2px solid #a8c6a5;outline-offset:2px}.primary{background:var(--green);color:white;padding:13px 22px;border-radius:9px;font-weight:550}.primary:hover{background:#184b39}.auth-form .primary{width:100%;margin-top:8px}.text-button{padding:12px 0;color:var(--muted);font-size:12px}.note{font-size:11px;border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.workspace{height:100dvh;display:grid;grid-template-columns:220px 320px 1fr;overflow:hidden}.sidebar{background:#f0f3eb;padding:30px 18px;display:flex;flex-direction:column;border-right:1px solid var(--line)}.sidebar .brand{padding:0 12px}.space-label{font-size:9px;letter-spacing:1.8px;color:#97a28f;margin:55px 14px 17px}.nav{padding:15px;border-radius:9px;text-align:left;width:100%;margin-bottom:8px;font-size:13px}.nav.selected{background:#dfe8d8;color:#2d533d;font-weight:600}.nav span{float:right;background:#f8faf4;border-radius:5px;padding:1px 6px}.sidebar-bottom{margin-top:auto;display:flex;gap:10px;align-items:center;padding:18px 4px 0;border-top:1px solid #dfe6d8}.avatar{width:38px;height:38px;display:grid;place-items:center;background:#e4ecdf;border-radius:50%;font-size:15px;font-weight:600;flex-shrink:0}.sidebar-bottom strong,.chat-header strong{font-size:13px;display:block}.sidebar-bottom small,.chat-header small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.sidebar-bottom button{margin-left:auto}.contact-panel{border-right:1px solid var(--line);position:relative;padding:33px 20px 70px;background:#fff}.contact-panel header{display:flex;align-items:center;justify-content:space-between}.contact-panel h2{margin-top:10px}.round{font-size:25px;width:35px;height:35px;border:1px solid var(--line);border-radius:50%;font-weight:300}.subtle{font-size:11px;margin:16px 0 30px}.person{width:100%;display:flex;align-items:center;padding:15px 12px;border-radius:10px;gap:12px;text-align:left;margin-bottom:6px}.person.active{background:#edf2e7}.person:hover{background:#f3f6ef}.person div:last-child{min-width:0;flex:1}.person strong{display:block;font-size:13px}.person small{display:block;font-size:11px;color:var(--muted);margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending{border:1px solid var(--line);padding:14px;border-radius:10px;margin-bottom:12px}.pending p{font-size:12px}.pending button{font-size:11px;margin-top:8px;color:var(--green);font-weight:bold}.empty-small{font-size:12px;line-height:2;color:#99a392;margin-top:45px;text-align:center}.contact-panel footer{font-size:9px;color:#8b9686;position:absolute;bottom:25px;left:22px}.status-dot{display:inline-block;width:5px;height:5px;background:#82a475;border-radius:50%;margin-right:5px}.chat-panel{min-width:0}.welcome{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.welcome-symbol{width:85px;height:85px;border:1px solid #dce4d3;background:#edf2e6;display:grid;place-items:center;font-size:48px;border-radius:26px;margin-bottom:30px;font-weight:200}.welcome h1{font-size:30px;margin:20px 0 15px}.welcome p{font-size:13px}.welcome button{margin-top:25px;font-size:12px}.connection-note{margin-top:60px;color:#98a18f;font-size:10px}#conversation{height:100%;display:flex;flex-direction:column}.chat-header{display:flex;align-items:center;gap:12px;padding:24px 34px;border-bottom:1px solid var(--line);background:#fff}.chat-header button{margin-left:auto}.messages{flex:1;overflow-y:auto;padding:30px 35px}.message{max-width:75%;margin-bottom:22px;width:fit-content}.message.mine{margin-left:auto}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;padding:12px 17px;background:#eaf0e4;border-radius:15px 15px 15px 3px;font-size:13px}.mine .bubble{background:var(--green);color:white;border-radius:15px 15px 3px 15px}.message small{display:block;color:#8e998a;font-size:10px;margin:8px 3px}.mine small{text-align:right}.confirm{font-size:10px;color:var(--green);text-decoration:underline}.message-date{font-size:10px;color:#a0a798;text-align:center;margin:0 0 30px}#compose{margin:0 30px 25px;padding:17px;background:white;border:1px solid #dfe6d7;border-radius:14px}textarea{resize:vertical;width:100%;border:0;background:none;color:var(--ink);line-height:1.7}#compose div{display:flex;justify-content:space-between;align-items:center;margin-top:9px}#compose span{font-size:9px;color:#98a18f}#compose button{padding:10px 17px;font-size:12px}dialog{width:440px;max-width:calc(100% - 32px);border:1px solid var(--line);border-radius:20px;padding:30px;color:var(--ink);box-shadow:0 30px 100px #16332e33}dialog::backdrop{background:#19332e55;backdrop-filter:blur(3px)}dialog h2{margin:14px 0}dialog p{font-size:12px;margin-bottom:20px}dialog .dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.secondary{padding:12px 20px;border:1px solid var(--line);border-radius:9px;background:#fff}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:20px 0}details{padding:17px;border:1px solid var(--line);border-radius:9px;font-size:12px;margin-bottom:12px}summary{cursor:pointer}details p{margin-top:15px}#dev-token{font-size:11px;border:1px solid var(--line);padding:10px;margin-top:14px;overflow-wrap:anywhere}.danger{color:#a25d54}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#17332e;color:white;padding:14px 22px;border-radius:12px;box-shadow:0 10px 40px #17332e25;max-width:90%;font-size:13px;z-index:10}@media(max-width:1050px){.workspace{grid-template-columns:170px 260px 1fr}.sidebar{padding:25px 12px}.brand-story{padding:40px 35px}h1{font-size:31px}}@media(max-width:760px){.brand-story{display:none}.auth-shell{grid-template-columns:1fr}.workspace{grid-template-columns:74px 1fr}.sidebar{padding:25px 10px}.sidebar .brand{font-size:24px;padding:0}.sidebar .brand span,.space-label,.sidebar-bottom div:not(.avatar){display:none}.nav{font-size:0;padding:16px 8px}.nav:first-letter{font-size:18px}.nav span{font-size:10px;float:none}.sidebar-bottom{justify-content:center;flex-direction:column}.sidebar-bottom button{margin-left:0;min-width:38px;min-height:38px}.chat-panel{display:none}.workspace.chat-open .contact-panel{display:none}.workspace.chat-open .chat-panel{display:block}.chat-header{padding:20px}.messages{padding:20px}#compose{margin:0 15px 15px}.message{max-width:90%}.chat-header strong::before{content:'‹ ';font-size:18px}.chat-header{cursor:pointer}.contact-panel{padding:30px 20px}.connection-note{line-height:1.8}}
