:root{--bg:#0b1020;--bg2:#121a33;--card:#151e3a;--line:#26325c;--text:#e8ecff;--muted:#9aa5cf;--teal:#2dd4bf;--violet:#a78bfa;--pink:#f472b6;--good:#34d399;--bad:#f87171;--radius:14px;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(1200px 600px at 10% -10%, #2a1f5a55, transparent), radial-gradient(900px 500px at 110% 10%, #0f4d5a44, transparent), var(--bg);min-height:100vh;margin:0}main{min-height:100vh}h1,h2,h3{margin:0 0 .5rem;line-height:1.2}h1{font-size:1.6rem}h2{font-size:1.15rem}h3{margin-top:1rem;font-size:1rem}p{margin:.4rem 0;line-height:1.5}.muted{color:var(--muted)}.fine{color:var(--muted);font-size:.8rem}.center{text-align:center}.mono,code{word-break:break-all;font-family:ui-monospace,Cascadia Code,JetBrains Mono,monospace;font-size:.85rem}.card{background:linear-gradient(180deg, var(--card), var(--bg2));border:1px solid var(--line);border-radius:var(--radius);max-width:760px;margin:1rem auto;padding:1.25rem 1.4rem;box-shadow:0 10px 40px #0006}.card.narrow{max-width:440px;margin-top:12vh}.logo{margin:0 auto .75rem;display:block}form{flex-direction:column;gap:.9rem;margin-top:1rem;display:flex}form.row{flex-direction:row}label{flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;display:flex}small{color:var(--muted);font-weight:400}small.bad{color:var(--bad)}input{background:var(--bg);border:1px solid var(--line);color:var(--text);font:inherit;border-radius:10px;flex:1;padding:.65rem .8rem;font-weight:400}input:focus{outline:2px solid var(--violet);outline-offset:1px}button{background:var(--bg2);color:var(--text);border:1px solid var(--line);font:inherit;cursor:pointer;border-radius:10px;padding:.6rem 1rem;font-weight:600}button:hover:not(:disabled){border-color:var(--violet)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:linear-gradient(90deg, var(--teal), var(--violet) 60%, var(--pink));color:#0b1020;border:none}.error{color:var(--bad);background:#f8717118;border:1px solid #f8717144;border-radius:10px;max-width:760px;margin:.5rem auto;padding:.5rem .75rem}.row{align-items:center;gap:.6rem;display:flex}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1020cc;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex;position:sticky;top:0}.brand{letter-spacing:.02em;align-items:center;gap:.5rem;font-weight:800;display:flex}.who{align-items:center;gap:.6rem;display:flex}.page{padding:.5rem 1rem 2rem}.status{border:1px solid var(--line);border-radius:999px;padding:.2rem .55rem;font-size:.75rem}.status.online{color:var(--good);border-color:#34d39966}.status.connecting{color:var(--violet)}.status.offline,.status.taken{color:var(--bad);border-color:#f8717166}.peer-id{background:var(--bg);border:1px solid var(--line);border-radius:10px;flex:1;padding:.6rem .8rem}.result{border:1px solid var(--line);border-radius:10px;margin-top:1rem;padding:.75rem 1rem}.result.ok{background:#34d39912;border-color:#34d39966}.result.bad{background:#f8717112;border-color:#f8717166}.okText{color:var(--good)}.badText{color:var(--bad)}ul.plain{margin:.5rem 0 0;padding:0;list-style:none}ul.plain li{border-top:1px solid var(--line);padding:.3rem 0}.home{height:100vh;flex-direction:column;height:100dvh;display:flex}.layout{flex:1;grid-template-columns:300px 1fr;min-height:0;display:grid}.sidebar{border-right:1px solid var(--line);background:#0b102099;padding:1rem;overflow-y:auto}.sidebar h3{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:1.25rem 0 .4rem;font-size:.75rem}.main{padding:1rem 1.5rem 2rem;overflow-y:auto}.panel{max-width:760px;margin:0 auto}.panel-head{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.empty{text-align:center;max-width:520px;margin:15vh auto 0}.card.flat{box-shadow:none;max-width:none;margin:.9rem 0}form.add{flex-direction:row;gap:.5rem;margin:0;display:flex}form.add input{min-width:0}.note{color:var(--good);margin:.5rem 0;font-size:.85rem}.note.bad{color:var(--bad)}ul.plain li.req{justify-content:space-between;align-items:center;gap:.5rem;display:flex}ul.contacts li{border-top:none;padding:.1rem 0}button.contact{text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:.6rem;width:100%;padding:.5rem .6rem;font-weight:400;display:flex}button.contact:hover,button.contact.active{background:var(--card);border-color:var(--line)}.names{flex-direction:column;flex:1;min-width:0;display:flex}.names .muted{font-size:.8rem}.dot{background:#4a5378;border-radius:50%;flex:none;width:10px;height:10px}.dot.on{background:var(--good);box-shadow:0 0 8px #34d39999}.badge{border:1px solid var(--line);border-radius:999px;margin-left:.3rem;padding:.1rem .45rem;font-size:.75rem}.badge.good{color:var(--good);border-color:#34d39966}.badge.bad{color:var(--bad);border-color:#f8717166}button.small{padding:.35rem .7rem;font-size:.85rem}button.icon{padding:.3rem .6rem}button.danger{color:var(--bad);border-color:#f8717166}button.wide{width:100%;margin-top:.75rem}.grow{flex:1}.stack{flex-direction:column;gap:.6rem;margin:1rem 0;display:flex}.actions{margin-top:1rem}.center-row{justify-content:center}label.check{flex-direction:row;align-items:center;gap:.5rem;margin:.75rem 0 0;font-weight:400}label.check input{flex:none}.bullets{padding-left:1.2rem;line-height:1.5}.recovery-code{letter-spacing:.06em;text-align:center;background:var(--bg);border:1px dashed var(--violet);word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:12px;margin:1rem 0;padding:1rem;font-family:ui-monospace,Cascadia Code,JetBrains Mono,monospace;font-size:1.35rem}.warn{color:#fbbf24;font-size:.85rem}.safety{letter-spacing:.08em;max-width:34ch;font-family:ui-monospace,Cascadia Code,JetBrains Mono,monospace;font-size:1.05rem;line-height:1.9}.alert{border-radius:var(--radius);background:#f871711a;border:1px solid #f8717188;margin:.75rem 0;padding:.9rem 1.1rem}.confirm{border:1px solid var(--violet);border-radius:10px;padding:.75rem 1rem}ul.devices li{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.status.elsewhere,.status.removed{color:var(--bad)}.small-text{font-size:.85rem}.chat{flex-direction:column;max-width:900px;height:100%;margin:0 auto;display:flex}.chat-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding-bottom:.6rem;display:flex}.messages{flex-direction:column;flex:1;gap:.35rem;padding:1rem .25rem;display:flex;overflow-y:auto}.empty-chat{margin-top:20vh}.day{color:var(--muted);border:1px solid var(--line);border-radius:999px;align-self:center;margin:.75rem 0 .25rem;padding:.15rem .7rem;font-size:.75rem}.msg{flex-direction:column;align-items:flex-start;max-width:72%;display:flex}.msg.mine{align-self:flex-end;align-items:flex-end}.bubble{background:var(--card);border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px 16px 16px 4px;padding:.5rem .8rem;line-height:1.4}.msg.mine .bubble{background:linear-gradient(135deg,#2dd4bf33,#a78bfa40);border-color:#a78bfa55;border-radius:16px 16px 4px}.meta{color:var(--muted);gap:.3rem;margin:.1rem .3rem 0;font-size:.7rem;display:flex}.tick.delivered{color:var(--teal)}.tick.failed{color:var(--bad)}.composer{flex-direction:row;align-items:flex-end;gap:.6rem;margin:.5rem 0 0}.composer textarea{resize:none;field-sizing:content;background:var(--bg);border:1px solid var(--line);min-height:2.6rem;max-height:10rem;color:var(--text);font:inherit;border-radius:12px;flex:1;padding:.65rem .8rem}.composer textarea:focus{outline:2px solid var(--violet);outline-offset:1px}.banner{border:1px solid var(--violet);background:#a78bfa18;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;margin:.6rem 0 0;padding:.6rem .9rem;display:flex}.unread{background:var(--pink);color:#0b1020;border-radius:999px;padding:.05rem .45rem;font-size:.75rem;font-weight:800}.preview{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}button.link{color:var(--violet);background:0 0;border:none;padding:0;font-weight:400;text-decoration:underline}.call-card{z-index:50;text-align:center;background:linear-gradient(180deg, var(--card), var(--bg2));border:1px solid var(--violet);border-radius:var(--radius);width:320px;padding:1.25rem;position:fixed;top:72px;right:1.5rem;box-shadow:0 20px 60px #000a}.avatar{color:#0b1020;background:linear-gradient(135deg, var(--teal), var(--violet), var(--pink));border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto .6rem;font-size:1.6rem;font-weight:800;display:grid}.avatar.ring{animation:1.4s ease-in-out infinite pulse}.avatar.big{width:140px;height:140px;margin:auto;font-size:3.5rem;position:absolute;inset:0}@keyframes pulse{50%{box-shadow:0 0 0 14px #a78bfa22}}.call-stage{inset:var(--topbar-h,57px) 0 0 300px;z-index:40;background:#05080fef;flex-direction:column;display:flex;position:fixed}.call-stage .remote{flex:1;position:relative;overflow:hidden}.call-stage .remote video{object-fit:contain;width:100%;height:100%}.call-stage video.hidden{opacity:0}.call-stage video.self{border:1px solid var(--line);background:#000;border-radius:12px;width:220px;height:auto;position:absolute;bottom:1rem;right:1rem;transform:scaleX(-1)}.call-bar{border-top:1px solid var(--line);background:var(--bg);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.25rem;display:flex}.call-info{flex-direction:column;display:flex}.call-bar button.off{border-color:#fbbf2488}.error.inline{margin:0}.call-notice{z-index:50;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.7rem 1rem;position:fixed;top:72px;right:1.5rem;box-shadow:0 10px 40px #0008}.call-log{color:var(--muted);align-self:center;margin:.3rem 0;font-size:.8rem}.bubble.file{min-width:260px;padding:.6rem}.file-card{flex-direction:column;gap:.4rem;display:flex}.file-preview{border-radius:10px;max-width:360px;max-height:300px;display:block}.file-row{align-items:center;gap:.6rem;display:flex}.file-icon{font-size:1.6rem}.file-meta{flex-direction:column;flex:1;min-width:0;display:flex}.file-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.bar{background:var(--bg);border-radius:999px;height:6px;overflow:hidden}.bar>div{background:linear-gradient(90deg, var(--teal), var(--violet));height:100%;transition:width .2s}.bad-text{color:var(--bad)}button.attach{padding:.5rem .7rem;font-size:1.15rem}.chat.dragging .messages{outline:2px dashed var(--violet);outline-offset:-6px;border-radius:12px}.call-card{width:380px}.call-card .row{flex-wrap:wrap}.call-card button{white-space:nowrap}.notice-bar{background:#a78bfa1f;border-bottom:1px solid #a78bfa55;justify-content:space-between;align-items:center;gap:1rem;margin:0;padding:.6rem 1.25rem;display:flex}.notice-bar.update{background:#2dd4bf1f;border-bottom-color:#2dd4bf66}input,textarea,select{font-size:16px}.sidebar,.main{min-height:0;overflow-y:auto}.main:has(.chat){overflow:hidden}.topbar{padding-top:max(.75rem, env(safe-area-inset-top));gap:.75rem}.who{min-width:0}.me-name{text-overflow:ellipsis;white-space:nowrap;max-width:18ch;overflow:hidden}.chat-head{align-items:center;gap:.6rem}.chat-title{flex:1;min-width:0}.chat-title h2,.chat-title .muted{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.head-actions{flex:none}button.back{padding:.15rem .7rem .35rem;font-size:1.6rem;line-height:1;display:none}.panel-title{align-items:center;gap:.5rem;display:flex}.composer{padding-bottom:env(safe-area-inset-bottom)}.install-hint{background:#fbbf2419;border-bottom:1px solid #fbbf2455;align-items:center;gap:.75rem;padding:.6rem 1rem;font-size:.9rem;line-height:1.4;display:flex}.install-hint>span{flex:1}.section-head{justify-content:space-between;align-items:center;gap:.5rem;margin-top:1.25rem;display:flex}.section-head h3{margin:0}.group-pic{object-fit:cover;border-radius:10px;flex:none;width:34px;height:34px}.group-pic.letter{color:#0b1020;background:linear-gradient(135deg,#5eead4,#a78bfa 60%,#f0abfc);place-items:center;font-weight:700;display:inline-grid}.group-pic.head{width:40px;height:40px}.group-pic.big{border-radius:14px;width:56px;height:56px;font-size:1.5rem}button.keep.on{color:#fde68a;border-color:#fbbf24aa}small.name-note{color:#fde68a;background:#fbbf2414;border:1px solid #fbbf2440;border-radius:8px;margin-top:.35rem;padding:.45rem .6rem;line-height:1.4;display:block}.two-lines{flex-direction:column;min-width:0;display:flex}button.back.always{display:inline-block}.msg .author{color:#a5b4fc;margin:0 0 .2rem .4rem;font-size:.8rem;font-weight:600}.members li{border-bottom:1px solid #ffffff12;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.members .names{flex-wrap:wrap;align-items:baseline;gap:.4rem;min-width:0;display:flex}.role{color:#cbd5e1;border:1px solid #ffffff30;border-radius:999px;padding:.05rem .45rem;font-size:.72rem}.role.leader{color:#fde68a;border-color:#fbbf24aa}.member-actions{flex-wrap:wrap;gap:.35rem}select{font:inherit;color:inherit;background:#0b1222;border:1px solid #ffffff26;border-radius:10px;flex:1;min-width:0;padding:.55rem .7rem;font-size:16px}form.invite{margin-top:.75rem}.badge-level{letter-spacing:.02em;white-space:nowrap;vertical-align:middle;border:1px solid;border-radius:999px;padding:.08rem .45rem;font-size:.7rem;font-weight:700;line-height:1.35;display:inline-block}.badge-level.big{padding:.2rem .7rem;font-size:.95rem}.badge-level.lvlr{color:#f87171}.badge-level.lvl0{color:#cbd5e1}.badge-level.lvl1{color:#60a5fa}.badge-level.lvl2{color:#4ade80}.badge-level.lvl3{color:#fb923c}.badge-level.lvl4{color:#c084fc}.badge-level.lvl5{color:#fbbf24}.standing-head{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.standing-bar{margin-top:.75rem}table.levels{border-collapse:collapse;width:100%;margin-top:.5rem}table.levels td,table.levels th{text-align:left;border-bottom:1px solid #ffffff12;padding:.35rem .4rem}table.levels tr.current{background:#a78bfa18}.break{word-break:break-all}.stats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;margin:.75rem 0;display:grid}.stats>div{background:#0f172a;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;padding:.7rem .8rem;display:flex}.stats strong{font-size:1.2rem}.stats span{color:#94a3b8;font-size:.8rem}.row.between{justify-content:space-between;align-items:center}.row.wrap{flex-wrap:wrap}.people .person-row{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.6rem;padding:.3rem 0;display:flex}.people .person-row .names{flex:1}.people li{display:block}.person-detail{padding:.25rem 0 .6rem 1.2rem}input.amount{width:6rem}input.search{max-width:12rem}.history{margin:.4rem 0 0;padding-left:1rem}.role.status-new{color:#93c5fd;border-color:#60a5fa}.role.status-planned{color:#fde68a;border-color:#fbbf24aa}.role.status-done{color:#86efac;border-color:#4ade80aa}.feedback-files{align-items:center;margin:.5rem 0}textarea{width:100%;font:inherit;color:inherit;resize:vertical;background:#0b1222;border:1px solid #ffffff26;border-radius:10px;padding:.6rem .75rem;font-size:16px}.who button.icon{order:2}.icon-like,.badge-btn{order:1}.badge-btn{cursor:pointer;background:0 0;border:none;padding:0}.icon-like{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:10px;padding:.45rem .55rem;font-size:1.05rem;line-height:1;position:relative}.dot-new{background:#f472b6;border-radius:50%;width:10px;height:10px;position:absolute;top:-3px;right:-3px;box-shadow:0 0 0 2px #0b1020}.release h3{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.release-date{font-size:.85rem;font-weight:400}.release ul{margin:.4rem 0 0;padding-left:1.2rem;line-height:1.5}.owner-message{background:#a78bfa14;border-left:3px solid #a78bfa;border-radius:0 10px 10px 0;margin:.6rem 0 .8rem;padding:.75rem 1rem}.owner-message p{white-space:pre-line;margin:0}.owner-message footer{color:#c4b5fd;margin-top:.4rem;font-weight:600}.gcall-strip li{background:#34d39912;border:1px solid #34d39955;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;margin:.5rem 0;padding:.55rem .75rem;display:flex}.group-stage{background:#05080f;flex-direction:column;display:flex}.tiles{flex:1;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-content:center;gap:.6rem;min-height:0;padding:.75rem;display:grid}.tiles.many{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.tile{aspect-ratio:4/3;background:#0f172a;border:1px solid #ffffff14;border-radius:14px;place-items:center;display:grid;position:relative;overflow:hidden}.tile video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.tile video.hidden{visibility:hidden}.tile .avatar{width:72px;height:72px;font-size:2rem}.tile-name{background:#0008;border-radius:8px;padding:.1rem .45rem;font-size:.85rem;font-weight:600;position:absolute;bottom:.4rem;left:.5rem}.tile-problem{color:#fca5a5;font-size:.8rem;position:absolute;top:.4rem;left:.5rem;right:.5rem}.tiles .waiting{text-align:center;grid-column:1/-1}.call-stage.group-stage video.self{width:200px;bottom:96px}.gcall-notice{z-index:2;background:#1e293bee;border:1px solid #fff2;border-radius:10px;padding:.5rem .9rem;position:absolute;top:.75rem;left:50%;transform:translate(-50%)}@media (max-width:760px){.brand-name,.me-user,.me-name,.owner-btn{display:none}.topbar{padding-left:max(.75rem, env(safe-area-inset-left));padding-right:max(.75rem, env(safe-area-inset-right))}.layout{grid-template-columns:1fr}.layout .main,.layout.detail .sidebar{display:none}.layout.detail .main{display:block}.sidebar{border-right:none;padding:.75rem}.main{padding:.5rem .75rem .75rem}button.back{display:inline-block}.head-actions .label{display:none}.head-actions{gap:.35rem}.head-actions button.small{padding:.4rem .55rem;font-size:1rem}.chat-title h2{font-size:1.05rem}.chat-title .muted{font-size:.8rem}.msg{max-width:86%}.bubble.file{min-width:0}.file-preview{max-width:100%}.card{margin:.75rem;padding:1rem}.card.narrow{margin-top:1.5rem}.card.flat{margin:.75rem 0}.recovery-code{letter-spacing:.03em;font-size:1.05rem}.panel-head{flex-wrap:wrap;gap:.5rem}.banner{flex-direction:column;align-items:stretch}form.row{flex-wrap:wrap}.call-stage{z-index:60;background:#05080f;inset:0}.call-bar .row button{white-space:nowrap;font-size:.95rem}.call-bar{padding:.75rem .75rem max(.75rem, env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:.6rem}.call-bar .row{justify-content:space-between}.call-bar .row button{flex:1;padding:.7rem .4rem}.tiles,.tiles.many{padding:.5rem;padding-top:max(.5rem, env(safe-area-inset-top));grid-template-columns:repeat(2,1fr)}.gcall-strip li{flex-direction:column;align-items:stretch}.call-stage.group-stage video.self{width:96px;top:auto;bottom:150px}.call-stage video.self{width:110px;top:max(.75rem, env(safe-area-inset-top));bottom:auto;right:.75rem}.call-card,.call-notice{width:auto;left:.75rem;right:.75rem;top:max(.75rem, env(safe-area-inset-top))}.install-hint{padding:.6rem .75rem;font-size:.85rem}}
