:root{color-scheme:light;--ink:#222735;--muted:#777d8c;--line:#e7e9ef;--accent:#6655dc;--pale:#f1efff;--green:#35b584;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:15px;color:var(--ink);background:#f7f8fb}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:12px;background:var(--accent);color:#fff;padding:12px 18px;font-weight:600}button:disabled{opacity:.45;cursor:wait}input,textarea{border:1px solid var(--line);border-radius:12px;padding:12px;color:var(--ink);background:#fff;min-width:0}input:focus,textarea:focus{outline:2px solid #bdb3ff;outline-offset:1px}button:focus-visible,a:focus-visible{outline:3px solid #a59aff;outline-offset:3px}button:hover{filter:brightness(.97)}[hidden]{display:none!important}.icon{padding:7px;background:transparent;color:inherit;min-width:38px;height:38px;font-size:25px;font-weight:400;line-height:1}.brand-mark{display:grid;place-items:center;width:66px;height:66px;border-radius:20px;background:var(--accent);color:#fff;letter-spacing:-1px;font-size:21px;font-weight:800}.brand-mark.small{width:39px;height:39px;border-radius:12px;font-size:14px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--muted)}.welcome{max-width:440px;margin:10vh auto;padding:30px}.welcome h1{font-size:43px;line-height:1.12;letter-spacing:-1.6px;font-weight:650;margin:26px 0 18px}.intro{font-size:17px;color:var(--muted);line-height:1.6}.welcome form{margin-top:28px}.welcome label{display:block;font-size:13px;font-weight:600;margin-bottom:10px}.code-entry{display:flex;gap:8px}.code-entry input{flex:1;width:100px;letter-spacing:3px;font-size:20px}.hint{font-size:13px;line-height:1.7;color:var(--muted)}#local-machines button{margin-top:14px;width:100%;text-align:left}#login-status{color:#b04a44;line-height:1.5}.shell{height:100dvh;display:grid;grid-template-columns:310px 1fr;max-width:1500px;margin:auto;background:#fff;box-shadow:0 0 100px #22273506}.sidebar{display:flex;flex-direction:column;border-right:1px solid var(--line);padding:24px 16px 12px;background:#fafbfe;min-height:0}.brand{display:flex;align-items:center;gap:11px;padding:0 6px 24px}.brand strong{font-size:18px;letter-spacing:1px}.brand small{display:block;color:var(--muted);font-size:12px}.brand .icon{margin-left:auto}.device{display:flex;align-items:center;gap:10px;background:#eeedf5;color:var(--ink);font-size:12px;letter-spacing:.3px;border-radius:10px;padding:12px;margin:0 6px 20px;text-align:left}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0}.device-menu{margin-left:auto;color:var(--muted)}.device-actions{display:grid;gap:6px;margin:-12px 6px 18px}.device-actions button{font-size:12px;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line)}.search{display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:12px;background:#fff;margin:0 6px 22px}.search span{font-size:25px;color:var(--muted)}.search input{border:0;background:transparent;padding:10px 0;width:100%;font-size:13px}.list-heading{display:flex;justify-content:space-between;padding:0 13px 11px;font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--muted)}#conversations{overflow:auto;flex:1;min-height:0}.chat-row{display:flex;align-items:center;gap:12px;width:100%;padding:13px 10px;margin:2px 0;border-radius:13px;text-align:left;background:transparent;color:var(--ink);font-weight:400}.chat-row.active{background:var(--pale)}.avatar{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#e9eaf0;color:#686a7d;font-size:13px;font-weight:700;flex-shrink:0}.active .avatar{color:var(--accent);background:#e2ddff}.row-label{min-width:0;flex:1}.row-label strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.row-label small{display:block;margin-top:5px;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-time{font-size:10px;color:var(--muted);align-self:flex-start;padding-top:3px}.unread{width:6px;height:6px;border-radius:50%;background:var(--accent);display:block;margin:10px auto 0}.sidebar footer{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding:8px 6px 0;margin-top:12px}.conversation{display:flex;flex-direction:column;min-width:0;min-height:0}.conversation-header{height:92px;padding:24px 34px;display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);flex-shrink:0}.conversation-header h1{font-size:18px;margin:0;letter-spacing:-.3px}.conversation-header p{font-size:12px;color:var(--muted);margin:6px 0 0}#back{display:none}.empty{display:flex;flex:1;flex-direction:column;justify-content:center;align-items:center;padding:32px;text-align:center}.empty-icon{font-size:45px;color:var(--accent);background:var(--pale);width:88px;height:88px;display:grid;place-items:center;border-radius:28px;margin-bottom:15px}.empty h2{font-size:22px;font-weight:600;letter-spacing:-.5px}.empty p{font-size:14px;color:var(--muted)}.timeline{flex:1;min-height:0;overflow:auto;padding:24px 34px;scroll-behavior:auto}.older{display:block;margin:0 auto 24px;background:#f5f5fa;color:var(--muted);font-size:12px}.message-row{display:flex;flex-direction:column;align-items:flex-start;margin:0 0 18px;max-width:82%}.message-row.mine{align-items:flex-end;margin-left:auto}.message-meta{display:flex;gap:9px;align-items:center;font-size:10px;color:var(--muted);padding:0 3px 6px}.message-meta strong{font-size:11px;font-weight:600;color:#62687a}.bubble{padding:12px 16px;background:#f1f3f8;border-radius:4px 17px 17px 17px;line-height:1.6;overflow-wrap:anywhere;max-width:100%;white-space:pre-wrap;font-size:14px}.mine .bubble{background:var(--pale);border-radius:17px 4px 17px 17px;color:#39335d}.bubble.deleted{font-style:italic;color:var(--muted);background:#f7f8fa}.bubble a{color:var(--accent)}.file-card{display:block;white-space:normal;text-decoration:none;border:1px solid #dadbe6;border-radius:9px;padding:10px;margin:6px 0;max-width:100%}.message-actions{display:flex;gap:6px;font-size:10px;color:var(--muted);padding-top:4px}.message-actions button{font-size:10px;background:transparent;color:var(--muted);padding:3px 5px}.composer{padding:15px 28px 12px;border-top:1px solid var(--line);background:#fff}.compose-row{display:flex;align-items:flex-end;gap:8px;padding:8px;background:#f6f7fa;border:1px solid var(--line);border-radius:17px}.compose-row textarea{resize:none;max-height:160px;min-height:42px;flex:1;border:0;background:transparent;padding:11px 2px;line-height:1.5}.send{padding:7px;width:41px;height:41px;border-radius:12px;font-size:25px;font-weight:400;flex-shrink:0}.compose-hint{font-size:10px;color:#9a9eaa;text-align:center;margin:9px 0 0}.notice{font-size:12px;padding:10px 30px;background:#fff3de;color:#815823;line-height:1.5}.attachment{font-size:12px;padding:8px 4px 12px;color:var(--accent)}dialog{border:1px solid var(--line);border-radius:24px;padding:32px;max-width:430px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 25px 100px #12152622}dialog::backdrop{background:#161b3060;backdrop-filter:blur(4px)}dialog h2{font-size:24px;letter-spacing:-.5px}dialog p{line-height:1.6}dialog .close{float:right;margin:-13px -13px 0 0}dialog input,dialog textarea{width:100%}.issued-code{display:block;font-size:38px;font-weight:650;letter-spacing:7px;padding:19px 0;color:var(--accent)}.contacts{margin-top:15px;max-height:50vh;overflow:auto}.contacts button{display:block;width:100%;text-align:left;background:transparent;color:var(--ink);border-bottom:1px solid var(--line);border-radius:0;font-size:13px}.contacts small{display:block;color:var(--muted);font-weight:400;margin-top:5px}#edit-error{color:#b04a44;font-size:13px}
@media(min-width:1200px){.timeline{padding-left:7%;padding-right:7%}.composer{padding-left:6%;padding-right:6%}}
@media(max-width:700px){.shell{grid-template-columns:1fr}.sidebar{border:0;padding:18px 15px 8px}.conversation{display:none}.shell.open-chat .sidebar{display:none}.shell.open-chat .conversation{display:flex}#back{display:block;font-size:34px}.conversation-header{height:76px;padding:12px 14px}.conversation-header h1{font-size:16px}.conversation-header p{font-size:11px}.timeline{padding:20px 15px}.message-row{max-width:90%;margin-bottom:17px}.bubble{font-size:14px;padding:10px 13px}.composer{padding:10px 10px max(10px,env(safe-area-inset-bottom))}.compose-hint{display:none}.notice{padding:10px 16px}.welcome{margin:6vh auto}.welcome h1{font-size:39px}.brand{padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.company-logo{display:block;width:220px;max-width:100%;height:auto}.scan-button{width:100%;margin-top:24px}.secondary{background:#f0f2f6;color:var(--ink)}#camera-box{margin-top:18px;background:#f0f2f6;padding:12px;border-radius:18px}#camera{width:100%;max-height:300px;border-radius:12px;background:#151820;object-fit:cover}.code-entry input{font-size:16px;letter-spacing:1px}.pairing-page{min-height:100dvh;padding:36px 24px;background:radial-gradient(ellipse at 15% 30%,#fff1d4 0,transparent 55%),radial-gradient(ellipse at 90% 80%,#e7eef8 0,transparent 60%),#f8f9fc}.pairing-brand{max-width:1100px;margin:0 auto 30px;display:flex;align-items:center;justify-content:space-between;gap:24px}.pairing-brand span{font-size:12px;letter-spacing:2px;font-weight:700;color:#68768c}.pairing-card{max-width:700px;margin:auto;padding:38px 48px;background:#fff;border:1px solid #e6e9ed;border-radius:28px;box-shadow:0 20px 65px #1728400c;text-align:center}.pairing-card h1{font-size:40px;line-height:1.15;letter-spacing:-1.3px;margin:16px 0}.pairing-card .intro{font-size:16px;max-width:470px;margin:18px auto 26px}.barcode-frame{background:#fff;border:1px solid #dde1e7;border-top:5px solid #efab36;border-radius:16px;padding:20px 24px 16px;max-width:490px;margin:auto}.barcode-label{font-size:11px;letter-spacing:2px;color:#516277;font-weight:700}#pair-barcode{display:block;width:100%;height:110px;margin:16px auto 2px;shape-rendering:crispEdges}.barcode-frame .issued-code{display:block;font-size:19px;letter-spacing:4px;margin:10px 0 0;color:#24354b;font-variant-numeric:tabular-nums}.barcode-status{font-size:13px;color:#5b6d80;min-height:20px}.stamp-policy{font-size:14px;line-height:1.8;font-weight:650;color:#33465e}.stamp-policy span{font-weight:400;color:#7c8796}.pairing-actions{display:flex;justify-content:center;gap:10px;margin-top:25px}.pairing-footer{text-align:center;color:#8893a2;font-size:12px;margin-top:28px}.stamp-device{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:16px 0}.stamp-device small{display:block;margin-top:5px;color:var(--muted);font-size:12px}.stamp-device button{background:#f9e9e7;color:#a13f35;padding:9px 12px}.device-actions p{margin:8px 10px}.welcome h1{margin-top:22px}
@media(max-width:700px){.pairing-page{padding:24px 16px}.pairing-brand{margin-bottom:22px}.pairing-brand .company-logo{width:170px}.pairing-brand span{font-size:9px;letter-spacing:1px}.pairing-card{padding:26px 20px;border-radius:22px}.pairing-card h1{font-size:31px}.barcode-frame{padding:16px 10px}.pairing-actions{flex-direction:column}.company-logo{width:200px}.welcome{padding:26px}.code-entry input{font-size:14px;letter-spacing:0}}.invitation-form{display:grid;gap:10px}.invitation-form label,#invite-result label{font-size:13px;color:var(--muted,#b3b8cb)}.invitation-form select,.invitation-form input,#invite-link{width:100%;min-height:44px;padding:10px;border:1px solid #454a60;border-radius:10px;background:#202431;color:#f1f3fa;font:inherit}.invitation-form p{margin:0 0 8px}.invitations-dialog{width:min(580px,94vw)}#invite-result{margin-top:20px;display:grid;gap:8px}#invite-result[hidden]{display:none}.invite-actions{display:flex;gap:8px;flex-wrap:wrap}#invites-list .stamp-device{align-items:flex-start;flex-wrap:wrap}#invites-list small{max-width:340px}.invitations-dialog h3{margin-top:24px}
