@font-face{font-family:"Malgun Gothic";src:url("/font.ttf") format("truetype");font-display:swap}
:root{--ink:#173c40;--soft:#edf3f0;--green:#28645a;--line:#dde6e2;--muted:#667c77;--gold:#bd8d48}*{box-sizing:border-box}body{margin:0;background:#f5f7f4;color:var(--ink);font-family:"Malgun Gothic",system-ui,sans-serif;font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:10px;padding:10px 14px}button:hover{background:var(--soft)}button:disabled{cursor:wait;opacity:.55}input,textarea,select{border:1px solid var(--line);border-radius:9px;padding:11px;width:100%;background:white;color:var(--ink)}textarea{resize:vertical;line-height:1.65}input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid #4b8a76;outline-offset:2px}label{display:block;font-weight:600;margin-bottom:15px}label input,label select,label textarea{margin-top:7px;font-weight:400}input[type=checkbox]{width:auto;margin-right:8px}h1,h2,h3,p{margin-top:0}h1{font-size:25px;line-height:1.4}h2{font-size:18px}h3{font-size:16px}p{line-height:1.75}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#174e44}.outline{background:transparent;border-color:#8faba1}.muted{color:var(--muted);font-size:12px;line-height:1.75}.eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--muted);font-weight:700}.row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.row h2{margin:0;flex:1}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.card{padding:22px;background:white;border:1px solid var(--line);border-radius:16px;margin-bottom:15px}.card p{white-space:pre-wrap;word-break:break-word}.card small{color:var(--muted)}.auth{max-width:520px;margin:7vh auto;padding:36px}.auth h1{font-size:40px;letter-spacing:-1.5px;margin:28px 0 20px}.auth-brand,.brand{font-size:28px;font-weight:800;letter-spacing:-1px}.brand span,.auth-brand span{color:var(--gold)}.brand small{display:block;font-size:11px;letter-spacing:0;font-weight:400;margin-top:7px;color:var(--muted)}.auth form{margin-top:32px;padding:28px;border:1px solid var(--line);border-radius:18px;background:white}.auth form .row button{flex:1}.app{display:grid;grid-template-columns:216px minmax(350px,1fr) 250px;min-height:100dvh}.app[hidden],.auth[hidden]{display:none}.sidebar{padding:32px 18px;background:#eaf0e9;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:20px;position:sticky;top:0;height:100dvh}.sidebar .eyebrow{margin:6px 0 0}.sidebar nav{display:grid;gap:8px}.sidebar nav button{text-align:left;background:transparent;border-color:transparent;line-height:1.5}.sidebar nav button.active{background:white;border-color:var(--line);font-weight:700}.sidebar-bottom{margin-top:auto;display:grid;gap:10px;font-size:11px;overflow-wrap:anywhere}.main{height:100dvh;display:flex;flex-direction:column;min-width:0}.top{display:flex;align-items:center;justify-content:space-between;padding:27px 30px 17px;background:#f9faf7;border-bottom:1px solid var(--line);gap:15px}.top h1{margin:8px 0 0;font-size:22px}.pill{border:1px solid var(--line);border-radius:20px;padding:9px 12px;font-size:12px;background:white}.tabs{display:flex;gap:4px;padding:12px 25px 0;background:#f9faf7;overflow-x:auto;flex-shrink:0}.tabs button{background:transparent;border:0;border-radius:0;padding:11px 12px;white-space:nowrap;color:var(--muted)}.tabs .active{color:var(--ink);font-weight:700;border-bottom:3px solid var(--green)}.notice{padding:10px 30px;background:#f2eee2;color:#705c39;font-size:11px;line-height:1.6}.content{overflow:auto;padding:25px 30px;flex:1;min-height:0}.people{border-left:1px solid var(--line);padding:32px 18px;background:#fcfcf8;overflow:auto;height:100dvh}.people h2{font-size:14px}.people .row>button{padding:6px 9px;font-size:11px}.person{display:flex;gap:10px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:14px;background:#dcebe4;color:#235c4d;font-weight:800;font-size:14px;flex-shrink:0}.person:nth-child(3n) .avatar{background:#eee4d6;color:#805e32}.person:nth-child(3n+1) .avatar{background:#e2e7ed;color:#496273}.person strong{display:block;margin-bottom:3px}.person small{font-size:10px;color:var(--muted)}.person button{border:0;padding:5px;background:transparent;margin-left:auto}.bubble-row{display:flex;gap:11px;margin-bottom:23px;align-items:flex-start}.bubble-column{max-width:86%;min-width:0}.bubble-name{font-size:12px;font-weight:700;margin:2px 0 7px}.bubble{background:white;border:1px solid var(--line);padding:15px 18px;border-radius:0 15px 15px 15px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}.bubble-row.user{flex-direction:row-reverse}.bubble-row.user .bubble{background:#e3eee7;border-color:#d6e5db;border-radius:15px 0 15px 15px}.bubble-row.user .bubble-name{text-align:right}.bubble-row.system .bubble{background:transparent;font-size:12px;color:var(--muted);border-style:dashed}.bubble-meta{display:flex;gap:8px;align-items:center;font-size:10px;color:var(--muted);margin-top:6px}.bubble-meta button{font-size:10px;padding:2px 6px;border:0;background:transparent}.composer{padding:12px 25px 19px;background:#f9faf7;border-top:1px solid var(--line)}.composer textarea{border:0;background:white;min-height:75px}.composer-bottom{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted);padding-top:8px}.empty{padding:50px 20px;text-align:center;color:var(--muted);line-height:1.9}.stat{font-size:32px;font-weight:800;margin:12px 0}.tag{font-size:10px;border-radius:5px;padding:4px 6px;background:var(--soft);display:inline-block;margin-right:4px}.danger{color:#993f36}.preview{max-width:100%;max-height:330px;border-radius:9px;object-fit:contain}.link{display:inline-block;color:var(--green);text-decoration:underline;margin:9px 12px 9px 0}.list-item{padding:13px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border:0}dialog{width:min(620px,94vw);max-height:88dvh;border:1px solid var(--line);border-radius:18px;padding:26px;color:var(--ink)}dialog::backdrop{background:#19332c77}.modal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-top h2{margin:0}.modal-top button{border:0;padding:4px 10px;font-size:22px}.profile-card{border:1px solid var(--line);padding:14px;border-radius:12px;display:flex;align-items:center;gap:12px}.profile-card input{width:auto}.profile-card strong{display:block;margin-bottom:4px}.profile-card small{color:var(--muted)}#toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);max-width:90vw;padding:12px 22px;background:#173c40;color:white;border-radius:12px;box-shadow:0 8px 25px #0003;z-index:20;display:none;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 inherit}a{color:var(--green)}@media(max-width:1200px){.app{grid-template-columns:190px minmax(320px,1fr)}.people{display:none}}@media(max-width:680px){.app{display:flex;flex-direction:column}.sidebar{position:relative;height:auto;padding:16px;display:block;border:0}.sidebar .brand{font-size:22px;display:inline-block;margin-right:25px}.brand small,.sidebar .eyebrow,.sidebar-bottom{display:none}.sidebar>button{font-size:12px;padding:7px 12px}.sidebar nav{display:flex;overflow:auto;margin-top:13px;gap:5px}.sidebar nav button{font-size:12px;flex-shrink:0;padding:8px}.main{height:calc(100dvh - 130px);min-height:500px}.top{padding:14px 18px}.top h1{font-size:19px}.top .eyebrow{display:none}.tabs{padding:4px 10px 0}.tabs button{font-size:12px;padding:11px}.notice{padding:8px 18px}.content{padding:20px 15px}.composer{padding:10px 15px 16px}.bubble-column{max-width:88%}.avatar{width:32px;height:32px;font-size:11px;border-radius:10px}.bubble{padding:12px 14px}.auth{margin:0 auto;padding:28px 20px}.auth h1{font-size:32px}.auth form{padding:22px}.card{padding:18px}}

@media(max-width:680px){.sidebar-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.sidebar-bottom #who{overflow-wrap:anywhere;font-size:11px}}

.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.video-grid .card{min-width:0}.video-grid video{width:100%;max-height:400px;background:#111}progress{width:100%}.error{color:#b33;overflow-wrap:anywhere}details{margin:14px 0}summary{cursor:pointer;font-weight:600}@media(max-width:760px){.video-grid{grid-template-columns:1fr}}
