@font-face{font-family:DM Sans;src:url(/fonts/dm-sans.ttf)format("truetype");font-weight:100 1000;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope.ttf)format("truetype");font-weight:200 800;font-style:normal;font-display:swap}:root{color:#17212b;font-synthesis:none;--ink:#102a43;--muted:#61717f;--teal:#087f75;--teal-dark:#06675f;--cream:#fbfcf8;--line:#dce5e1;background:#f4f7f5;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:transform .18s,background-color .18s,border-color .18s,box-shadow .18s,opacity .18s}button:active:not(:disabled){transform:scale(.97)}h1,h2{margin:0;font-family:Manrope,sans-serif}.landing{background:radial-gradient(circle at 15% 20%,#d3eee7,#0000 32%),linear-gradient(130deg,#f7faf5 0 58%,#102a43 58%);grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);align-items:center;gap:clamp(40px,8vw,130px);min-height:100vh;padding:clamp(32px,7vw,100px);display:grid}.hero{max-width:680px;animation:.6s cubic-bezier(.22,1,.36,1) both rise-in}.eyebrow{color:var(--teal);letter-spacing:.16em;font-size:12px;font-weight:700}.hero h1{color:var(--ink);letter-spacing:-.05em;margin:22px 0;font-size:clamp(44px,6vw,82px);line-height:1.02}.hero p{color:var(--muted);max-width:570px;font-size:19px;line-height:1.65}.join-card{background:#fffffffa;border-radius:22px;justify-self:center;width:100%;max-width:480px;padding:28px;animation:.65s cubic-bezier(.22,1,.36,1) 80ms both card-in;box-shadow:0 30px 80px #05182d55}.tabs{background:#edf2ef;border-radius:11px;grid-template-columns:1fr 1fr;margin-bottom:26px;padding:4px;display:grid}.tabs button{color:#68757f;background:0 0;border:0;border-radius:8px;padding:11px;font-weight:600}.tabs button[aria-selected=true]{color:var(--ink);background:#fff;box-shadow:0 2px 8px #102a4315}.field{gap:7px;margin:17px 0;display:grid}.field label{font-size:14px;font-weight:600}.field label span,.field small{color:var(--muted);font-weight:400}.field input,.field select{color:#17212b;background:#fff;border:1px solid #cfdad5;border-radius:9px;outline:none;width:100%;padding:12px 13px;transition:border-color .18s,box-shadow .18s,transform .18s}.field input:focus,.field select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #087f7520}.inline-field{gap:8px;display:flex}.primary{background:var(--teal);color:#fff;border:0;border-radius:10px;width:100%;margin-top:12px;padding:13px 18px;font-weight:700}.primary:hover{background:var(--teal-dark);transform:translateY(-1px);box-shadow:0 8px 18px #087f7530}.primary:disabled{opacity:.55;cursor:wait}.error{color:#a2302b;background:#fff0ef;border-radius:8px;padding:11px;font-size:14px;animation:.25s ease-out both soft-pop}.text-button{color:var(--teal);background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.chat-shell{background:#f7f9f7;grid-template:auto 1fr/260px 1fr;height:100vh;animation:.3s ease-out both fade-in;display:grid;overflow:hidden}.chat-header{color:#fff;z-index:2;background:#102a43;grid-column:1/-1;justify-content:space-between;align-items:center;height:84px;padding:13px 26px;animation:.4s cubic-bezier(.22,1,.36,1) both header-in;display:flex;box-shadow:0 3px 14px #102a4330}.chat-header>div:first-child{grid-template-columns:auto auto;align-items:center;column-gap:25px;display:grid}.brand{border-right:1px solid #ffffff25;grid-row:1/3;padding-right:25px;font-family:Manrope;font-size:18px;font-weight:800}.chat-header h1{font-size:18px}.room-code{color:#adbecd;text-align:left;background:0 0;border:0;padding:0;font-size:12px}.header-actions{align-items:center;gap:18px;display:flex}.connection{align-items:center;gap:7px;font-size:12px;display:flex}.connection:before{content:"";background:#f4a261;border-radius:50%;width:8px;height:8px}.connection.connected:before{background:#58d6a8;animation:2.4s ease-in-out infinite status-pulse;box-shadow:0 0 0 3px #58d6a825}.connection.offline:before{background:#e76f51}.icon-button{color:#fff;background:#ffffff0c;border:1px solid #fff3;border-radius:9px;width:39px;height:39px}.icon-button:hover{background:#ffffff18;border-color:#fff5;transform:rotate(8deg)}.participants{border-right:1px solid var(--line);background:#fbfcfa;grid-row:2;padding:24px 18px;overflow:auto}.participants h2{text-transform:uppercase;letter-spacing:.11em;color:#6b7780;margin:0 8px 20px;font-size:11px}.participants h2 span{background:#e0ebe7;border-radius:10px;margin-left:4px;padding:2px 7px}.participant{border-radius:10px;grid-template-columns:38px 1fr 8px;align-items:center;gap:10px;padding:9px 7px;font-size:14px;font-weight:600;transition:background-color .18s,transform .18s;animation:.3s ease-out both slide-in;display:grid}.participant:hover{background:#f0f6f3;transform:translate(2px)}.participant small{color:#7c8991;margin-top:2px;font-size:11px;font-weight:400;display:block}.avatar{width:36px;height:36px;color:var(--teal);background:#dceee9;border-radius:12px;place-items:center;display:grid}.participant i{background:#adb5bd;border-radius:50%;width:7px;height:7px}.participant i.online{background:#27a877}.conversation{grid-template-rows:1fr auto;min-width:0;display:grid;overflow:hidden}.message-list{padding:28px max(24px,50% - 380px);overflow-y:auto}.message{background:#fff;border:1px solid #e1e9e5;border-radius:13px 13px 13px 4px;width:fit-content;max-width:min(78%,700px);margin:10px auto 10px 0;padding:11px 14px;transition:box-shadow .2s,border-color .2s;animation:.32s cubic-bezier(.22,1,.36,1) both message-in;position:relative;box-shadow:0 3px 12px #102a4308}.message:hover{border-color:#d3e1dc;box-shadow:0 8px 24px #102a4310}.message.own{background:#d9fdd3;border-color:#c5e9bf;border-radius:13px 13px 4px;margin:10px 0 10px auto}.message.own header,.message.own .text-button{color:#397a55}.message header{color:var(--teal);justify-content:space-between;font-size:13px;display:flex}.message time{color:#89949b;font-size:11px}.message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:9px 0;line-height:1.55}.message footer{align-items:center;gap:12px;min-height:16px;display:flex}.translation-state{color:#7b8790;font-size:11px;animation:.2s ease-out both fade-in}.translation-state.failed{color:#b54b42}.empty-chat{text-align:center;color:var(--muted);max-width:370px;margin:18vh auto 0}.empty-chat span{width:52px;height:52px;color:var(--teal);background:#dff1ec;border-radius:18px;place-items:center;margin:auto;font-size:24px;display:grid}.empty-chat h2{color:var(--ink);margin:16px 0 8px;font-size:21px}.composer{border-top:1px solid var(--line);background:#fff;grid-template-columns:1fr 44px;gap:10px;padding:16px max(24px,50% - 380px);display:grid;position:relative}.composer textarea{resize:none;border:1px solid #cfdad5;border-radius:13px;outline:none;min-height:46px;max-height:140px;padding:12px 14px}.send-button{background:var(--teal);color:#fff;border:0;border-radius:13px;font-size:25px}.send-button:hover:not(:disabled){background:var(--teal-dark);transform:translateY(-1px);box-shadow:0 7px 16px #087f7535}.send-button:disabled{opacity:.4}.composer-error{color:#b54b42;grid-column:1/-1;font-size:11px}.modal-backdrop{z-index:10;background:#06172799;place-items:center;padding:20px;animation:.18s ease-out both fade-in;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;width:min(440px,100%);padding:28px;animation:.28s cubic-bezier(.22,1,.36,1) both modal-in;position:relative;box-shadow:0 25px 80px #0006}.close{color:#667;background:0 0;border:0;font-size:27px;position:absolute;top:14px;right:18px}.checkbox{align-items:center;gap:9px;margin:20px 0 7px;font-size:14px;display:flex}.danger-link{color:#a73932;background:0 0;border:0;width:100%;margin-top:17px}.center-state{text-align:center;place-content:center;gap:15px;min-height:100vh;padding:25px;display:grid}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes card-in{0%{opacity:0;transform:translateY(22px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes header-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes message-in{0%{opacity:0;transform:translateY(9px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes soft-pop{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes status-pulse{0%,to{box-shadow:0 0 0 3px #58d6a825}50%{box-shadow:0 0 0 6px #58d6a810}}@media (width<=800px){.landing{background:radial-gradient(circle at 20% 15%,#d3eee7,#0000 30%),#f6f9f6;grid-template-columns:1fr;gap:25px;padding:35px 20px}.hero h1{font-size:42px}.join-card{box-shadow:0 16px 50px #102a4320}.chat-shell{grid-template:auto 1fr/1fr}.participants{display:none}.chat-header{height:76px;padding:11px 14px}.brand{display:none}.chat-header>div:first-child{display:block}.connection{font-size:0}.message-list{padding:15px}.message{max-width:88%}.composer{padding:11px 13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.reply-quote{background:#8881;border-inline-start:3px solid;border-radius:.4rem;min-width:0;margin:.5rem 0;padding:.5rem .75rem}.reply-quote strong,.reply-quote span{overflow-wrap:anywhere;display:block}.reply-quote span{white-space:pre-wrap;max-height:5rem;overflow:auto}.reply-preview{align-items:center;gap:.75rem;padding:0 1rem;display:flex}.reply-preview .reply-quote{flex:1}.room-management{border-top:1px solid #8884;margin-block:1rem;padding-block-start:1rem}.room-management p{font-size:.875rem}.management-participant,.management-confirm{flex-wrap:wrap;align-items:center;gap:.75rem;margin-block:.75rem;display:flex}.management-participant{justify-content:space-between}.management-confirm{border:1px solid #8884;border-radius:.5rem;padding:.75rem}.management-confirm p{width:100%;margin:0}.modal{max-height:90dvh;overflow-y:auto}.message-editor{margin-block:.75rem}.message-editor label{gap:.5rem;display:grid}.message-editor textarea{resize:vertical;width:100%;min-height:5rem}.message-editor>div{gap:1rem;margin-top:.5rem;display:flex}.edited-label{color:var(--muted);font-size:.7rem}.deleted-message{color:var(--muted);font-style:italic}.message-delete-confirm{margin-block:.5rem}.message-delete-confirm button{margin-inline-end:.75rem}.operations-shell{max-width:1100px;margin:0 auto;padding:2rem 1rem}.operations-login{gap:1rem;max-width:440px;display:grid}.operations-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.operations-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1rem;margin-block:1.5rem;display:grid}.operations-grid section{border:1px solid var(--line);border-radius:1rem;padding:1rem}.operations-grid dl{grid-template-columns:1fr auto;gap:.7rem;display:grid}.operations-grid dd{text-align:end;margin:0;font-weight:600}.operations-warnings{border:1px solid #c28c32;border-radius:.75rem;padding:1rem 2rem}.operations-shell table{text-align:start;border-collapse:collapse;width:100%}.operations-shell td,.operations-shell th{border-bottom:1px solid var(--line);padding:.5rem}
