:root{--bg:#0c1610;--bg2:#142219;--surface:#1b2c21;--surface2:#243729;--ink:#e5f4e8;--muted:#9ab7a0;--green:#65db86;--edge:#36503d;--red:#e77171;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);color-scheme:dark}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overscroll-behavior:none}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.hidden{display:none!important}.small{font-size:13px;color:#b7c9ba}.micro{color:var(--muted);font-size:11px}.caution{color:#ffc5ae}.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:18px;background:radial-gradient(circle at 15% 10%,#1a3521,transparent 60%),#0b120e}.auth-box{width:min(420px,100%);border:1px solid var(--edge);background:#142119;border-radius:22px;padding:26px;box-shadow:0 20px 90px #0006}.brand-mark{text-align:center;font-weight:900;letter-spacing:-1.5px;font-size:37px}.brand-mark span:last-child{color:var(--green)}.brand-dot{color:var(--green);font-size:19px;vertical-align:middle;margin-right:5px;text-shadow:0 0 12px var(--green)}.subtitle{text-align:center;color:#7cc28e;font-size:11px;letter-spacing:3px;margin:3px 0 20px}.auth-tabs{display:flex;gap:5px;background:#09140d;padding:4px;border-radius:12px;margin-bottom:17px}.auth-tabs button{border:0;background:transparent;color:#adbfb0;flex:1;padding:10px;border-radius:10px}.auth-tabs button.active{background:#31563b;color:#effff1}.form-stack{display:flex;flex-direction:column;gap:12px}.form-stack label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#c5d9ca;font-weight:600}.form-stack input,.add-contact input,.compose textarea,.dialog-card input{background:#0a170e;border:1px solid #3a5a43;color:white;border-radius:10px;outline:0;padding:12px;min-width:0}.form-stack input:focus,.compose textarea:focus,.dialog-card input:focus{border-color:#80e99d}.primary{border:1px solid #68de88;background:#5fcf7e;color:#08230f;font-weight:900;border-radius:10px;padding:11px 14px;min-height:42px}.secondary{border:1px solid #45654d;background:#1e3226;color:#dbeee0;border-radius:10px;padding:11px 14px}.text-button{border:0;background:transparent;color:#92dda1;padding:7px}.auth-note{text-align:center;font-size:10px;color:#809687;margin-top:20px}.shell{display:flex;flex-direction:column;height:100dvh;min-height:0;background:#101b14}.topbar{height:55px;flex:0 0 55px;display:flex;justify-content:space-between;align-items:center;padding:0 15px;border-bottom:1px solid #2d4734;background:#0e1e13}.top-brand{font-size:21px;font-weight:700;letter-spacing:-.8px}.top-brand b{color:var(--green)}.beta{font-size:9px;color:#9ddfaf;border:1px solid #52765a;vertical-align:middle;border-radius:4px;padding:2px 4px;letter-spacing:1px}.header-actions{display:flex;align-items:center;gap:7px}.connection{color:#e99e89;font-size:11px;margin-right:6px}.connection.online{color:#80e9a0}.icon-button,.soft-button{border:1px solid #395340;border-radius:9px;background:#1a3121;color:#cfead4;min-width:36px;height:35px;font-size:19px}.workspace{display:flex;flex:1;min-height:0}.sidebar{width:248px;flex:0 0 248px;background:#13231a;border-right:1px solid #33503b;display:flex;flex-direction:column}.side-head{padding:15px 15px 11px;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:1px;color:#a4d1b1}.side-head small{color:#8fac94;font-size:11px}.add-contact{display:flex;gap:4px;padding:0 10px 11px}.add-contact input{min-width:0;flex:1;padding:9px;font-size:13px}.add-contact button{background:#456d4f;color:white;border:0;border-radius:8px;width:38px;font-size:22px}.contacts{flex:1;overflow:auto}.contact{width:100%;padding:12px;border:0;border-bottom:1px solid #223d2a;background:transparent;color:#d9efdf;text-align:left;display:flex;gap:10px;align-items:center}.contact.active{background:#2c4834;border-left:3px solid #8deb9f;padding-left:9px}.avatar{flex:0 0 32px;border-radius:50%;height:32px;display:grid;place-items:center;background:#355942;color:#e3f4e8;font-weight:700}.contact-meta{display:flex;flex-direction:column;gap:2px}.contact-meta small{color:#8fae98;font-size:11px}.side-foot{padding:10px;text-align:center;font-size:9px;letter-spacing:1px;color:#6b8d76}.conversation{position:relative;display:flex;flex-direction:column;flex:1;min-width:0;background:radial-gradient(circle at 80% 10%,#1c3422,transparent 65%),#0c1510}.chat-head{height:64px;flex:0 0 64px;border-bottom:1px solid #2c4130;padding:8px 15px;display:flex;align-items:center;gap:8px;justify-content:space-between}.peer-info{display:flex;flex-direction:column;gap:2px;min-width:0}.peer-info b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.peer-info small{font-size:11px;color:#9ab69e}.modes{display:flex;gap:4px;margin-left:auto}.mode-btn{font-size:10px;letter-spacing:.7px;font-weight:800;border:1px solid #4d6151;color:#a7c2ae;border-radius:7px;padding:10px 8px;background:#15291c}.mode-btn.on{color:#0b260f;background:#68da83;border-color:#68da83}.mode-btn.cipher-on{background:#bb6565;color:white;border-color:#de7f7f}.mode-btn.matrix-on{background:#6543a5;color:white;border-color:#9272d6}.key-alert{background:#3b231b;color:#ffe2b5;padding:10px;display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:12px}.key-alert button{background:#f3bb75;border:0;border-radius:7px;padding:6px;font-weight:700;color:#39220c}.chat-scroller{flex:1;overflow-y:auto;position:relative;min-height:0}.messages{display:flex;flex-direction:column;padding:18px 18px 30px;gap:12px;min-height:100%}.empty{margin:auto;text-align:center;color:#71967b;font-size:13px}.bubble{display:flex;flex-direction:column;max-width:78%;width:max-content;min-width:100px;padding:9px 12px;border:1px solid #3a5740;border-radius:15px 15px 15px 3px;background:#1e3224;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.45}.bubble.own{align-self:flex-end;background:#31513a;border-color:#476c50;border-radius:15px 15px 3px 15px}.bubble.selected{outline:2px solid #89e6a3;background:#3d6748}.bubble-content{min-height:20px}.bubble-meta{display:flex;justify-content:flex-end;gap:7px;align-items:center;font-size:9px;color:#a5c6af;margin-top:5px}.bubble-meta .read{color:#87f2a4}.bubble input[type=checkbox]{align-self:flex-start}.smi{width:22px;height:22px;vertical-align:middle;margin:0 2px}.chat-actions{display:flex;align-items:center;justify-content:space-between;padding:5px 12px;border-top:1px solid #2b4432;background:#112018;min-height:43px}.left-actions{display:flex;gap:5px}.soft-button{height:31px;min-width:34px;font-size:18px}.soft-button.danger{color:#ffafaf}.select-actions{display:flex;gap:5px;align-items:center}.select-actions button{background:#355741;color:#d8efe0;border:0;padding:7px;font-size:10px;border-radius:5px}.compose{display:flex;padding:9px 12px;gap:8px;background:#102017}.compose textarea{resize:none;flex:1;min-height:43px;max-height:100px;font-size:14px;line-height:19px;overflow:auto}.send-btn{width:50px;min-width:50px;border-radius:11px;border:0;background:#70dd8d;color:#05200c;font-size:22px}.footer-strip{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:4px 12px;background:#0e1c13;border-top:1px solid #203c29;font-size:9px;color:#789b81}.smile-picker{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;padding:8px 12px;background:#1c3424;border-top:1px solid #4a7852}.smile-picker button{border:0;background:transparent;padding:4px}.smile-picker img{width:27px;height:27px}.matrix-cover{position:absolute;inset:0;background:#000;z-index:5;overflow:hidden}.matrix-cover canvas{width:100%;height:100%;display:block}.matrix-title{position:absolute;left:0;right:0;top:30%;display:flex;flex-direction:column;align-items:center;gap:15px;pointer-events:none;text-shadow:0 0 14px #0c0}.matrix-title strong{color:#92ff95;letter-spacing:2px;font-size:15px}.matrix-title span{color:#8bc08f;letter-spacing:3px;font-size:11px}.matrix-title button{pointer-events:auto;padding:12px 18px;background:#0e3219;color:#a2f7a9;border:1px solid #66d97b;border-radius:8px;font-weight:800}.dialog-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:#000b}.dialog-card{width:min(385px,100%);border:1px solid #64836b;border-radius:16px;background:#183020;padding:22px;box-shadow:0 20px 90px black}.dialog-card h2{margin:0 0 10px;font-size:19px}.dialog-card p{font-size:13px;line-height:1.5;color:#b8d8be}.dialog-card input{width:100%;margin-bottom:8px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.toast{position:fixed;left:50%;bottom:70px;transform:translateX(-50%);background:#294831;color:#e4f3e8;border:1px solid #78a786;border-radius:9px;padding:12px 16px;z-index:50;box-shadow:0 5px 30px #0009;text-align:center;font-size:13px;max-width:90vw}.mobile-only{display:none}
@media(max-width:680px){.topbar{height:49px;flex-basis:49px}.sidebar{position:absolute;z-index:10;top:49px;bottom:0;left:0;box-shadow:6px 0 28px #0006;width:82%;max-width:300px;transform:translateX(-103%);transition:transform .2s}.sidebar.visible{transform:none}.mobile-only{display:block}.chat-head{height:62px;flex-basis:62px;padding:6px 8px}.peer-info b{font-size:13px}.mode-btn{font-size:9px;padding:8px 5px}.messages{padding:12px 10px 25px}.bubble{max-width:88%}.smile-picker{grid-template-columns:repeat(6,1fr)}.footer-strip{font-size:8px}.connection{font-size:10px}.header-actions{gap:4px}.brand-mark{font-size:32px}.auth-box{padding:20px}.auth-screen{align-items:start;padding-top:max(24px,env(safe-area-inset-top))}}

/* miniM: accessible PIN setup/change control */
.pin-button{border:1px solid #5f936b;border-radius:8px;background:#21442b;color:#b8f2c5;height:35px;padding:0 9px;font-size:12px;font-weight:800;white-space:nowrap}
.pin-button:hover{background:#32633d}

/* 0.3.4: trvalé upozornění, proč nejde odesílat */
.chat-help{display:flex;gap:9px;align-items:center;justify-content:space-between;padding:9px 12px;color:#e3f6e8;background:#294034;border-bottom:1px solid #57785f;font-size:12px;line-height:1.35}
.chat-help button{flex:0 0 auto;border:1px solid #8cce9b;border-radius:7px;padding:8px 7px;background:#2d6340;color:white;font-size:10px;font-weight:700}
@media(max-width:680px){.chat-help{flex-direction:column;align-items:stretch}.chat-help button{align-self:flex-end}}

/* Compact notification + sound controls on older, small phones. */
@media(max-width:680px){.topbar{padding:0 6px}.top-brand{font-size:16px}.beta{font-size:8px;letter-spacing:0;padding:1px}.header-actions{gap:2px}.header-actions .icon-button{min-width:29px;width:29px;height:30px;font-size:16px}.header-actions .pin-button{height:30px;padding:0 4px;font-size:10px}.topbar .connection{display:none}}
@media(max-width:360px){.top-brand{font-size:14px}.beta{font-size:7px}.header-actions .icon-button{min-width:26px;width:26px;height:28px;font-size:15px}}

/* 0.4.0 — subtle decorative binary rain, never blocks chat interaction */
.matrix-chat-background{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:0;opacity:.65}
.messages{position:relative;z-index:1}
.smile-picker{grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:6px;max-height:185px;overflow-y:auto;align-content:start}
.smile-picker button{border:1px solid #34513d;background:#13281b;border-radius:9px;min-height:38px;display:flex;align-items:center;justify-content:center}
.smile-picker button:hover,.smile-picker button:focus-visible{background:#2c5136;border-color:#76da8a}
.smile-picker img{width:32px;height:32px;image-rendering:auto;object-fit:contain}
.smi{width:29px;height:29px;object-fit:contain;vertical-align:middle;image-rendering:auto}
@media(max-width:680px){.smile-picker{grid-template-columns:repeat(6,minmax(0,1fr));max-height:170px}.smile-picker button{min-height:40px}}
@media(prefers-reduced-motion:reduce){.matrix-chat-background{display:none}}
