:root{color:#172d24;font-synthesis:none;--green:#184c3b;--line:#dfe6dc;--muted:#69796f;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);background:#f6f7f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:var(--green);background:#e7eee4;border:0;border-radius:12px;padding:11px 16px;font-weight:650}button:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:wait}button.primary{background:var(--green);color:#fff}button.danger{color:#9c352e;background:#f7e8e5}button.ghost{background:0 0}button.icon{min-width:42px;padding:10px;font-size:20px}input,textarea,select{border:1px solid var(--line);color:#172d24;background:#fff;border-radius:12px;outline:none;padding:13px}input:focus,textarea:focus,select:focus{border-color:#427a60;box-shadow:0 0 0 3px #a5cbb433}input{min-width:0}label{margin:20px 0 8px;font-size:13px;font-weight:650;display:block}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.5px;margin-bottom:10px;font-size:40px}h2{letter-spacing:-.6px;font-size:23px}small,.muted{color:var(--muted)}small{line-height:1.5}.row{align-items:center;gap:10px;display:flex}.spread{justify-content:space-between}.stack{gap:12px;display:grid}.grow{flex:1}.brand{width:48px;height:48px}.welcome{min-height:100dvh;padding:calc(30px + var(--safe-top)) 20px calc(30px + var(--safe-bottom));place-items:center;display:grid}.welcome-card{width:min(100%,440px)}.welcome-card>.brand{width:66px;height:66px;margin-bottom:30px}.welcome-card form{margin:30px 0}.welcome-card input,.welcome-card form>.primary{width:100%}.welcome-card .tagline{color:var(--muted);font-size:18px;line-height:1.55}.joke{color:#738075;border-top:1px solid var(--line);margin-top:36px;padding-top:22px;font-size:12px;line-height:1.6}.joke button{text-align:left;background:0 0;padding:0;font-size:12px;text-decoration:underline}.app-shell{border-inline:1px solid var(--line);background:#fff;grid-template-columns:310px 1fr;max-width:1500px;height:100dvh;margin:auto;display:grid}aside{border-right:1px solid var(--line);padding-top:var(--safe-top);background:#f6f7f3;flex-direction:column;min-height:0;display:flex}.side-head{padding:24px 20px 20px}.side-head h2{margin:0}.profile{color:var(--muted);margin:0 20px 24px;font-size:13px}.groups{flex:1;padding:0 10px;overflow:auto}.group{text-align:left;background:0 0;align-items:center;gap:12px;width:100%;margin:3px 0;padding:14px 12px;display:flex}.group.selected{background:#e3edde}.group strong{margin-bottom:4px;font-size:14px;display:block}.group small{font-size:12px}.avatar{background:#dbe8d5;border-radius:14px;flex:none;place-items:center;width:42px;height:42px;font-size:18px;font-weight:750;display:grid}.side-bottom{padding:15px 20px calc(15px + var(--safe-bottom));color:var(--muted);border-top:1px solid var(--line);font-size:11px}.side-bottom .row{margin-bottom:12px}.chat{min-width:0;min-height:0;padding-top:var(--safe-top);flex-direction:column;display:flex}.chat-head{border-bottom:1px solid var(--line);min-height:82px;padding:17px 26px}.chat-head h2{margin-bottom:3px;font-size:18px}.chat-head small{font-size:12px}.back{display:none}.empty{text-align:center;height:100%;color:var(--muted);place-content:center;padding:32px;display:grid}.empty .brand{width:60px;height:60px;margin:0 auto 22px}.empty h2{color:#244936}.messages{overscroll-behavior:contain;flex:1;padding:24px 28px;overflow:auto}.bubble{overflow-wrap:anywhere;white-space:pre-wrap;background:#f1f4ee;border-radius:4px 17px 17px;width:-moz-fit-content;width:fit-content;max-width:78%;margin:0 0 15px;padding:12px 15px;font-size:14px;line-height:1.55}.bubble.own{background:#e2efdc;border-radius:17px 4px 17px 17px;margin-left:auto}.bubble .author{color:#48735b;margin-bottom:5px;font-size:11px;font-weight:750;display:block}.bubble .meta{text-align:right;color:#75846f;white-space:normal;margin-top:6px;font-size:10px;display:block}.bubble img{object-fit:contain;border-radius:8px;max-width:100%;max-height:300px;margin:6px 0;display:block}.file{white-space:normal;background:#ffffff80;border-radius:10px;align-items:center;gap:12px;padding:12px;display:flex}.file span{text-overflow:ellipsis;max-width:230px;overflow:hidden}.composer{padding:12px 24px calc(12px + var(--safe-bottom));border-top:1px solid var(--line);background:#fff}.compose-row{align-items:flex-end;gap:9px;display:flex}.composer textarea{resize:none;flex:1;min-height:46px;max-height:140px;line-height:1.5}.composer .send{min-width:46px;height:46px}.composer-foot{color:var(--muted);padding:6px 3px 0;font-size:10px}.pending-file{background:#f1f4ed;border-radius:12px;align-items:center;gap:12px;margin-bottom:8px;padding:8px;font-size:12px;display:flex}.lock-banner{color:#735d1a;background:#fff6d9;padding:12px 22px;font-size:13px;line-height:1.5}.keyboard{background:#edf1e9;border-radius:12px;margin:10px -12px -3px;padding:6px 3px}.key-row{justify-content:center;gap:4px;margin:4px 0;display:flex}.key{background:#fff;border-radius:6px;flex:1;min-width:0;padding:12px 0;font-size:15px;font-weight:500;box-shadow:0 1px 1px #bbc4b7}.key.wide{flex:1.7}.key.space{flex:5}.keyboard-label{text-align:center;color:var(--muted);padding:3px;font-size:9px}dialog{color:#172d24;border:none;border-radius:23px;width:min(92vw,480px);max-height:88dvh;padding:28px;box-shadow:0 20px 100px #152e2455}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#10251e66}dialog .actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}dialog input,dialog textarea,dialog select{width:100%}dialog p{color:var(--muted);font-size:14px;line-height:1.6}dialog .member{border-bottom:1px solid var(--line);padding:12px 0}dialog .member small{display:block}.code{word-break:break-all;-webkit-user-select:all;user-select:all;background:#f1f4ed;border-radius:12px;padding:14px;font-family:ui-monospace,monospace;font-size:12px;line-height:1.8}.notice{color:#746129;background:#fff6dd;border-radius:12px;padding:14px;font-size:12px;line-height:1.6}.badge{background:#e4ecde;border-radius:6px;padding:3px 7px;font-size:10px;font-weight:700;display:inline-block}.status-dot{background:#50835b;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}#toast{left:50%;bottom:calc(22px + var(--safe-bottom));color:#fff;z-index:100;background:#173e2e;border-radius:12px;max-width:90vw;padding:13px 20px;font-size:13px;display:none;position:fixed;transform:translate(-50%);box-shadow:0 4px 20px #0002}.error{color:#a44138;font-size:13px;line-height:1.5}.spinner{animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:720px){.app-shell{border:0;grid-template-columns:1fr}.app-shell.has-chat aside,.app-shell:not(.has-chat) .chat{display:none}.back{display:block}.chat-head{min-height:72px;padding:12px 14px}.messages{padding:18px 14px}.composer{padding:10px 12px calc(10px + var(--safe-bottom))}.bubble{max-width:89%}.side-head{padding-top:24px}.keyboard{margin-inline:-6px}.welcome h1{font-size:35px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}.language-picker{margin-inline-start:auto;max-width:100%;margin-bottom:20px;font-size:13px;display:block}.expiry-picker{border-radius:6px;max-width:120px;margin:0 5px;padding:3px 5px;font-size:11px}.composer-foot{flex-wrap:wrap;align-items:center;gap:3px;display:flex}aside{border-right:0;border-inline-end:1px solid var(--line)}.group{text-align:start}.bubble.own{margin-left:0;margin-inline-start:auto}.bubble .meta{text-align:end}.side-head h2{font-size:18px;line-height:1.15}.side-head .brand{flex-shrink:0;width:36px;height:36px}.row .grow{min-width:0}dialog .actions{flex-wrap:wrap}.code{text-align:left;direction:ltr;unicode-bidi:isolate}bdi{unicode-bidi:isolate}.keyboard{direction:ltr}[dir=rtl] .keyboard{direction:rtl}.keyboard-label{direction:inherit}[dir=rtl] .back{transform:scaleX(-1)}.bubble audio,.pending-file audio{width:260px;max-width:100%;height:42px;margin:8px 0;display:block}.composer textarea{min-width:0}.composer .mic{width:42px;min-width:38px;height:46px;font-size:18px}.recording-time{font-variant-numeric:tabular-nums;color:#9c352e!important;font-size:24px!important}.pending-file .grow{min-width:0}.pin-input{letter-spacing:.5em;text-align:center;caret-color:#0000;font-size:26px}.pin-keypad{grid-template-columns:repeat(3,1fr);gap:10px;max-width:300px;margin:14px auto;display:grid}.pin-key{min-height:50px;font-size:23px}.pin-key:nth-child(10){grid-column:2}.app-hidden #app,.app-hidden #dialog,.app-hidden #toast{visibility:hidden!important}.own-username{color:var(--muted);margin-top:3px;font-size:11px;display:block}.profile{overflow-wrap:anywhere;font-weight:600}.group-pin{width:min(380px,100%);margin:auto;padding:24px}.group-pin input,.group-pin>button{width:100%}.side-bottom .row{flex-wrap:wrap}.pin-fields{gap:12px;min-width:0;display:flex}.pin-fields>label{flex:1;min-width:0}.pin-fields input{width:100%;display:block}.pin-screen{height:100dvh;padding:calc(14px + var(--safe-top)) max(18px,env(safe-area-inset-left,0px)) calc(14px + var(--safe-bottom));background:#f6f7f3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.pin-panel{flex-direction:column;gap:10px;width:min(100%,420px);height:100%;min-height:0;max-height:720px;display:flex}.pin-heading{flex:none;grid-template-columns:32px 1fr;align-items:center;column-gap:10px;display:grid}.pin-heading .brand{width:32px;height:32px}.pin-heading h1{letter-spacing:-.7px;margin:0;font-size:26px;line-height:1.15}.pin-heading p{color:var(--muted);grid-column:1/-1;margin:8px 0 0;font-size:13px;line-height:1.35}.pin-form{flex-direction:column;flex:1;gap:8px;min-height:0;margin:0;display:flex}.pin-screen label,.pin-dialog label{margin:0;font-size:12px;line-height:1.35}.pin-screen .pin-input,.pin-dialog .pin-input{letter-spacing:.2em;height:46px;margin-top:4px;padding:8px;font-size:22px}.pin-screen .pin-keypad,.pin-dialog .pin-keypad{flex:1;grid-template-rows:repeat(4,minmax(0,1fr));gap:8px;width:min(100%,310px);max-width:none;min-height:0;max-height:264px;margin:6px auto}.pin-screen .pin-key,.pin-dialog .pin-key{touch-action:manipulation;min-height:0;padding:0;font-size:24px}.pin-screen .notice,.pin-dialog .notice{flex:none;margin:0;padding:9px 11px;font-size:12px;line-height:1.35}.pin-screen .error{flex:none;min-height:16px;margin:0;font-size:12px;line-height:1.3}.pin-screen .primary{flex:none;min-height:44px}.pin-recovery{flex:none;min-height:40px;padding:8px}.pin-dialog[open]{width:100%;max-width:none;height:100dvh;max-height:none;padding:calc(16px + var(--safe-top)) max(20px,calc((100vw - 420px)/2)) calc(16px + var(--safe-bottom));background:#f6f7f3;border-radius:0;flex-direction:column;gap:10px;margin:0;display:flex;position:fixed;inset:0;overflow:hidden}.pin-dialog h2{margin:0;font-size:26px}.pin-dialog .actions{flex-wrap:nowrap;flex:none;margin:0}.pin-dialog .actions button{flex:1;min-height:44px}@media (max-height:600px){.pin-screen{padding-top:calc(8px + var(--safe-top));padding-bottom:calc(8px + var(--safe-bottom))}.pin-panel,.pin-form,.pin-dialog[open]{gap:6px}.pin-heading h1{font-size:23px}.pin-heading p{margin-top:5px;font-size:12px}.pin-screen .pin-keypad,.pin-dialog .pin-keypad{gap:6px;margin-block:2px}.pin-screen .notice,.pin-dialog .notice{padding:6px 8px;font-size:11px}}@media (max-height:480px) and (min-width:500px){.pin-panel{width:100%;max-width:740px}.pin-heading p{display:none}.pin-form{grid-template-rows:auto 1fr auto auto;grid-template-columns:1fr 1fr;column-gap:24px;display:grid}.pin-form .pin-fields{grid-area:1/1}.pin-form .pin-keypad{grid-area:1/2/5/3;height:100%;max-height:none;margin:0 auto}.pin-form .notice{grid-area:2/1;align-self:center}.pin-form .error{grid-area:3/1}.pin-form>.primary{grid-area:4/1}.pin-recovery{top:calc(8px + var(--safe-top));font-size:12px;position:absolute;inset-inline-end:18px}.pin-heading{padding-inline-end:140px}.pin-dialog[open]{grid-template-rows:auto auto 1fr auto;grid-template-columns:1fr 1fr;column-gap:24px;padding-inline:24px;display:grid}.pin-dialog h2{grid-area:1/1}.pin-dialog .pin-fields{grid-area:2/1}.pin-dialog .pin-keypad{grid-area:1/2/5/3;height:100%;max-height:none;margin:0 auto}.pin-dialog .notice{grid-area:3/1;align-self:center}.pin-dialog .actions{grid-area:4/1}}body.pin-modal-open{width:100%;height:100dvh;position:fixed;inset:0;overflow:hidden}.logout{min-height:44px}.side-bottom>.logout{width:100%;margin-bottom:14px;font-size:14px;display:block}
