:root{--bg: #0a0a0a;--bg-2: #111111;--bg-3: #1a1a1a;--border: #222222;--text: #f0f0f0;--text-dim: #9a9a9a;--text-muted: #767676;--type: max(.82rem, 14px);--accent: #e8341a;--green: #22c55e;--blue: #3b82f6;--witness-bg: #0d0d0d;--server-bg: #0a0f0a;--server-text: #22c55e;--font-mono: "SF Mono", "Fira Mono", "Consolas", monospace;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font:-apple-system-body;font-family:var(--font)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--type);line-height:1.5;overflow:hidden;overscroll-behavior:none;position:relative}.app{display:flex;flex-direction:column;height:var(--app-h, 100svh);max-width:1100px;margin:0 auto;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.app:before{content:"";position:fixed;top:var(--visual-top, 0px);left:0;right:0;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:10;pointer-events:none}.kb-pan .app{position:relative;top:var(--app-y, 0px)}.app-header{display:flex;align-items:center;gap:.7em;padding:calc(1em + env(safe-area-inset-top,0px)) 1.4em 1em;border-bottom:1px solid var(--border);flex-shrink:0}.app-header .persona{font-size:calc(var(--type) * 1.143);font-weight:600;letter-spacing:-.01em}.app-header .role{font-size:calc(var(--type) * .857);color:var(--text-dim)}.app-header .header-text{display:flex;align-items:center;gap:10px}.header-person{display:flex;align-items:center;gap:.7em;flex:1;min-width:0;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.chat-closed .message-input-row{opacity:.5}.chat-closed .identity-icon{filter:grayscale(1);opacity:.7}.messages,.witness-log,.channel-entries,.server-sees-list{overflow-y:auto;overscroll-behavior-y:contain;scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){.messages,.witness-log,.channel-entries,.server-sees-list{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.identity{position:relative;flex-shrink:0;width:2.85em;height:2.85em}.identity-icon{width:100%;height:100%;border-radius:22.5%;display:block;background:var(--bg-3);object-fit:cover}.status-dot{position:absolute;right:-.15em;bottom:-.15em;width:.8em;height:.8em;border-radius:50%;background:var(--text-muted);border:.15em solid var(--bg);transition:background .3s}.status-dot.ready{background:var(--green)}.channel-entry .identity{width:2.4em;height:2.4em}.app-body{display:flex;flex:1;overflow:hidden}.channel-list{width:min(14em,28vw);flex-shrink:0;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.channel-list-header{padding:12px 14px 10px;border-bottom:1px solid var(--border);font-size:calc(var(--type) * .714);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);flex-shrink:0}.channel-entries{padding-bottom:env(safe-area-inset-bottom,0px);flex:1;overflow-y:auto}.channel-empty{padding:20px 14px;font-size:calc(var(--type) * .857);color:var(--text-muted)}.channel-empty-failed{color:var(--accent)}.channel-entry{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .15s}.channel-entry:hover{background:var(--bg-2)}.channel-entry.selected{background:var(--bg-3)}.channel-entry.unread .channel-label{font-weight:700;color:var(--text)}.channel-entry.unread .identity:after{content:"";position:absolute;top:-2px;right:-2px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.channel-entry.established{box-shadow:inset 2px 0 0 var(--green)}.channel-info{min-width:0}.channel-label{font-size:calc(var(--type) * .929);font-weight:500;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-meta{font-size:calc(var(--type) * .786);color:var(--text-muted)}.chat-panel{flex:1;display:flex;flex-direction:column;border-right:1px solid var(--border);overflow:hidden}.messages{flex:1;padding:0 1.4em;--transcript-room: 1.4em;display:flex;flex-direction:column;gap:8px}.messages>.message:first-child{margin-top:var(--transcript-room)}.messages>.message:last-child{margin-bottom:var(--transcript-room)}.chat-empty{color:var(--text-muted);font-size:calc(var(--type) * .929);text-align:center;margin-top:auto;margin-bottom:auto}.message{max-width:72%;padding:8px 12px;border-radius:12px;font-size:calc(var(--type) * 1);line-height:1.4}.message.outgoing{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:3px}.message.incoming{align-self:flex-start;background:var(--bg-3);color:var(--text);border-bottom-left-radius:3px}.message .sender{font-size:calc(var(--type) * .786);opacity:.6;margin-bottom:2px}.message-input-row{display:flex;gap:.6em;padding:1em 1.15em;border-top:1px solid var(--border);flex-shrink:0;padding-bottom:calc(1em + env(safe-area-inset-bottom,0px))}.message-input-row input{flex:1;min-width:0;background:var(--bg-3);border:1px solid var(--border);border-radius:8px;padding:8px 12px;color:var(--text);font-family:var(--font);font-size:max(calc(var(--type) * 1.143),16px);outline:none}.message-input-row input::placeholder{color:var(--text-dim)}.message-input-row input:focus{border-color:#444}.message-input-row input:disabled{background:transparent;border-color:var(--border);cursor:not-allowed}.message-input-row input:disabled::placeholder{color:var(--text-dim)}.message-input-row button{background:var(--accent);border:none;border-radius:8px;padding:8px 16px;color:#fff;font-size:max(calc(var(--type) * 1.143),16px);font-weight:500;cursor:pointer;white-space:nowrap}.message-input-row button:disabled{background:var(--bg-3);color:var(--text-dim);cursor:not-allowed}.witness-panel{width:280px;flex-shrink:0;background:var(--witness-bg);display:flex;flex-direction:column;overflow:hidden}.witness-header{display:flex;align-items:baseline;justify-content:space-between;gap:1em;padding:12px 14px 10px;border-bottom:1px solid var(--border);font-size:calc(var(--type) * .714);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);flex-shrink:0}.witness-log{flex:1;padding:.85em 1em;display:flex;flex-direction:column;gap:6px}.witness-event{font-family:var(--font-mono);font-size:calc(var(--type) * .786);line-height:1.5;color:var(--text-dim);animation:fade-in .25s ease}.witness-event .icon{margin-right:5px}.witness-event .label{color:var(--text);font-weight:500}.witness-event .detail{color:var(--text-dim);word-break:break-all;padding-left:16px}.witness-event.highlight .label{color:var(--green)}.witness-event.key-event .label{color:#a78bfa}.witness-event.encrypt-event .label{color:#f59e0b}.witness-event.decrypt-event .label{color:var(--green)}.server-sees{border-top:1px solid var(--border);flex-shrink:0;background:var(--server-bg)}.server-sees-header{padding:8px 14px 6px;font-size:calc(var(--type) * .714);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#1a4a1a}.server-sees-list{padding:0 14px 10px;display:flex;flex-direction:column;gap:3px;max-height:9.5em;overflow-y:auto}.server-sees-entry{font-family:var(--font-mono);font-size:calc(var(--type) * .714);color:var(--server-text);opacity:.5;word-break:break-all;animation:fade-in .25s ease}.server-sees-entry .msg-label{opacity:.4;margin-right:4px}.waiting-badge{display:inline-block;font-size:calc(var(--type) * .786);color:var(--text-dim);padding:2px 8px;border:1px solid var(--border);border-radius:20px;font-family:var(--font-mono)}.launcher{max-width:480px;margin:80px auto;padding:0 24px}.launcher h1{font-size:calc(var(--type) * 1.571);font-weight:600;letter-spacing:-.02em;margin-bottom:8px}.launcher .tagline{color:var(--text-dim);font-size:calc(var(--type) * 1);margin-bottom:40px;line-height:1.6}.launcher-cards{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.launcher-card{display:block;background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:20px;text-decoration:none;color:var(--text);transition:border-color .15s}.launcher-card:hover{border-color:#444}.launcher-card .card-name{font-size:calc(var(--type) * 1.143);font-weight:600;margin-bottom:4px}.launcher-card .card-role{font-size:calc(var(--type) * .857);color:var(--text-dim);margin-bottom:10px}.launcher-card .card-desc{font-size:calc(var(--type) * .929);color:var(--text-dim);line-height:1.5}.launcher-card.g-card .card-name{color:var(--accent)}.launcher-card.invite-card .card-name{color:#a78bfa}.launcher-instructions{font-size:calc(var(--type) * .857);color:var(--text-muted);border-top:1px solid var(--border);padding-top:20px;line-height:1.7}.launcher-instructions strong{color:var(--text-dim)}@keyframes fade-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.view[hidden]{display:none}.card-resolving{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:calc(32px + env(safe-area-inset-top,0px)) 32px calc(32px + env(safe-area-inset-bottom,0px));text-align:center}.resolving-mark{font-family:var(--font-mono);font-size:calc(var(--type) * 2.429);font-weight:600;letter-spacing:-.04em;color:var(--accent)}.resolving-text{color:var(--text-dim);font-size:calc(var(--type) * 1);max-width:30ch}.claim-screen{flex:1;display:flex;flex-direction:column;justify-content:center;gap:34px;padding:calc(40px + env(safe-area-inset-top,0px)) 28px calc(40px + env(safe-area-inset-bottom,0px));max-width:460px;margin:0 auto;width:100%}.claim-head{display:flex;flex-direction:column;gap:12px}.claim-mark{font-family:var(--font-mono);font-size:calc(var(--type) * 2.143);font-weight:600;letter-spacing:-.04em;color:var(--accent);margin-bottom:6px}.claim-title{font-size:calc(var(--type) * 1.857);font-weight:600;letter-spacing:-.02em;line-height:1.25}.claim-sub{color:var(--text-dim);font-size:calc(var(--type) * 1.071);line-height:1.5}.claim-form{display:flex;flex-direction:column;gap:14px}.claim-label{color:var(--text-dim);font-size:calc(var(--type) * .929)}.claim-input{background:var(--bg-2);border:1px solid var(--border);border-radius:10px;color:var(--text);font-family:var(--font);font-size:calc(var(--type) * 1.143);padding:15px 16px;width:100%;outline:none;transition:border-color .15s ease}.claim-input:focus{border-color:var(--accent)}.claim-input::placeholder{color:var(--text-muted)}.claim-button{background:var(--accent);border:none;border-radius:10px;color:#fff;font-family:var(--font);font-size:calc(var(--type) * 1.143);font-weight:600;padding:16px;cursor:pointer;transition:opacity .15s ease}.claim-button:hover:not(:disabled){opacity:.9}.claim-button:disabled{opacity:.45;cursor:default}.claim-error{color:var(--accent);font-size:calc(var(--type) * .929);line-height:1.4}.claim-error[hidden]{display:none}.claim-foot{color:var(--text-muted);font-size:calc(var(--type) * .893);line-height:1.6}@media (max-width: 768px){.invite-app .app-header{padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px}.app-header .header-text{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;flex:1 1 auto}.app-header{flex-wrap:wrap;row-gap:.5em}.app-header .header-action{flex-shrink:0}.invite-app .witness-panel{display:none}.invite-app .chat-panel{border-right:none}.invite-app .messages{padding:0 16px;--transcript-room: 16px}}.owner-back{background:none;border:none;color:var(--text);font-size:calc(var(--type) * 1.857);line-height:1;padding:0 12px 0 0;cursor:pointer;font-family:var(--font);text-decoration:none;flex-shrink:0}.owner-back[hidden]{display:none}@media (min-width: 769px){.g-app #back{display:none}}@media (max-width: 768px){.g-app .channel-list{width:100%;border-right:none}.g-app .witness-panel{display:none}.g-app .chat-panel{position:absolute;inset:0;background:var(--bg);border-right:none;transform:translate(100%);transition:transform .22s ease}.g-app.channel-open .chat-panel{transform:translate(0)}.g-app .messages{padding:0 16px;--transcript-room: 16px}.g-app .app-header .header-text{flex-direction:column;align-items:flex-start;gap:2px}}@media (max-width: 768px){.invite-app .app-body,.g-app .app-body{position:relative}.g-app.show-witness .witness-panel,.invite-app.show-witness .witness-panel{display:flex;position:absolute;inset:0;z-index:2;width:auto;background:var(--witness-bg);padding-bottom:env(safe-area-inset-bottom,0px)}}#open-witness{display:none}@media (max-width: 768px){#open-witness{display:inline-block}}.witness-close{background:none;border:none;padding:0;color:var(--accent);font-family:var(--font);font-size:calc(var(--type) * .714);font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}@media (min-width: 769px){.witness-close{display:none}}.qr-app .app-header{border-bottom:none}.qr-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.4em;padding:0 1.4em calc(1.6em + env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior-y:contain;text-align:center}.qr-frame{flex-shrink:0;width:min(78vw,46svh,22em);padding:1em;border-radius:1.1em;background:#fff}.qr-code svg{display:block;width:100%;height:auto}.qr-identity{display:flex;align-items:center;gap:.7em;flex-shrink:0;max-width:100%}.qr-identity .identity-icon{width:2.6em;height:2.6em;flex-shrink:0}.qr-alias{font-size:1.15em;font-weight:600;color:var(--text);overflow-wrap:break-word;text-align:left;min-width:0}.qr-body .claim-foot{max-width:26em}.disclosure-stack{flex-shrink:1;min-height:0;max-height:40%;border-bottom:1px solid var(--border);overflow-y:auto;overscroll-behavior-y:contain;background:linear-gradient(var(--bg-2) 40%,rgba(17,17,17,0)) top / 100% 20px no-repeat local,linear-gradient(rgba(17,17,17,0),var(--bg-2) 60%) bottom / 100% 20px no-repeat local,linear-gradient(#00000073,#0000) top / 100% 10px no-repeat scroll,linear-gradient(#0000,#00000073) bottom / 100% 10px no-repeat scroll,var(--bg-2)}.disclosure-stack .disclosure:first-child{padding-top:15px}.disclosure-stack .disclosure:last-child{padding-bottom:15px}.disclosure-stack[hidden]{display:none}.disclosure{display:flex;align-items:flex-start;gap:10px;padding:13px 18px;background:transparent;border-bottom:1px solid var(--border)}.disclosure:last-child{border-bottom:none}.disclosure-text{flex:1;min-width:0}.disclosure-line{font-size:calc(var(--type) * .964);color:var(--text);line-height:1.45}.disclosure-detail{font-size:calc(var(--type) * .893);color:var(--text-dim);line-height:1.5;margin-top:3px}.disclosure-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0;margin-top:7px}.disclosure-resolved .disclosure-line{color:var(--text-dim)}.disclosure-bare{padding-top:9px;padding-bottom:9px}.disclosure-bare .disclosure-dot{margin-top:0}.disclosure-attention{border-left:2px solid var(--accent)}.disclosure-action{background:none;border:none;color:var(--accent);font-family:var(--font);font-size:calc(var(--type) * .893);font-weight:500;padding:6px 0 0;cursor:pointer}.disclosure-action:hover{text-decoration:underline}.disclosure-actions{display:flex;flex-wrap:wrap;gap:0 1.2em}.disclosure-actions .disclosure-action:not(:first-child){color:var(--text-dim)}.disclosure-steps{margin:9px 0 2px;padding-left:18px;color:var(--text-dim);font-size:calc(var(--type) * .893);line-height:1.75}.disclosure-steps[hidden]{display:none}.disclosure-steps li::marker{color:var(--text-muted)}.direction-dot{width:.5em;height:.5em;border-radius:50%;flex-shrink:0;margin-left:auto}.direction-dot.outgoing{background:var(--accent)}.direction-dot.incoming{background:var(--blue)}.header-action{margin-left:auto;text-decoration:none;white-space:nowrap;background:none;border:1px solid var(--border);border-radius:999px;color:var(--text-dim);font-family:var(--font);font-size:.85em;padding:.4em .9em;cursor:pointer;flex-shrink:0;transition:color .15s,border-color .15s}.header-action:hover{color:var(--text);border-color:var(--text-dim)}.header-action~.header-action{margin-left:.4em}.header-action[hidden]{display:none}.account-body>*{flex-shrink:0}.account-body{flex:1;overflow-y:auto;overscroll-behavior-y:contain;display:flex;flex-direction:column;gap:1em;padding:1.6em 1.4em calc(1.6em + env(safe-area-inset-bottom,0px));max-width:30em;margin:0 auto;width:100%}.account-identity{display:flex;flex-direction:column;align-items:center;gap:.9em;padding-bottom:.6em}.account-icon{width:6em;height:6em;border-radius:22.5%;display:block;background:var(--bg-3);object-fit:cover}.account-photo-btn{background:none;border:none;color:var(--accent);font-family:var(--font);font-size:.9em;cursor:pointer;padding:0}.account-section{border-top:1px solid var(--border);padding-top:1.1em;margin-top:.4em}.account-danger{background:none;border:none;color:var(--accent);font-family:var(--font);font-size:.85em;font-weight:500;padding:.7em 0 0;cursor:pointer;text-align:left}.account-danger[hidden]{display:none}.order-preview{display:flex;justify-content:center;padding:.6em 0 1.4em}.order-card-face{position:relative;display:flex;flex-direction:column;justify-content:space-between;width:100%;max-width:20em;aspect-ratio:1.586;padding:1.1em 1.2em;border:1px solid var(--border);border-radius:.85em;background:linear-gradient(150deg,var(--bg-3),var(--bg-2))}.order-card-mark{color:var(--accent);font-size:1.5em;font-weight:700;letter-spacing:-.03em}.order-card-name{color:var(--text);font-size:1.1em;font-weight:600;overflow-wrap:anywhere}.order-preview{position:relative}.order-card-icon{position:absolute;right:1.1em;bottom:2.1em;width:3.2em;height:3.2em;border-radius:22.5%;object-fit:cover;z-index:1}.claim-textarea{resize:none;line-height:1.5}.confirm-actions{display:flex;align-items:center;gap:1em;flex-wrap:wrap;margin-top:1.1em}.confirm-actions>*{margin-top:0}.claim-button-quiet{background:none;border:1px solid var(--border);color:var(--text);margin-top:1.1em}.account-section-head{font-size:.72em;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.6em}html.home,html.home body{height:auto;overflow-y:auto;overscroll-behavior-y:auto}.home{background:var(--bg);color:var(--text)}.home-nav{padding:calc(1.4em + env(safe-area-inset-top,0px)) 1.4em 1.4em}.home-mark{font-size:calc(var(--type) * 1.3);font-weight:600;letter-spacing:-.02em}.home-main{padding:0 1.4em calc(3em + env(safe-area-inset-bottom,0px));max-width:46em;margin:0 auto}.home-hero{padding:2.5em 0 3em}.home-headline{font-size:clamp(calc(var(--type) * 2),9vw,calc(var(--type) * 3.2));line-height:1.08;letter-spacing:-.03em;font-weight:600}.home-sub{margin-top:1em;font-size:calc(var(--type) * 1.15);color:var(--text-dim);line-height:1.5}.home-cta{display:inline-block;margin-top:2em;padding:.85em 1.6em;background:var(--accent);color:#fff;border-radius:999px;font-size:calc(var(--type) * 1.05);font-weight:600;text-decoration:none}.home-cta-note{margin-top:.9em;font-size:calc(var(--type) * .9);color:var(--text-muted)}.home-tiles{display:grid;gap:1.4em;border-top:1px solid var(--border);padding-top:2.5em}@media (min-width: 700px){.home-tiles{grid-template-columns:repeat(3,1fr)}}.home-tile h2{font-size:calc(var(--type) * 1.1);font-weight:600;letter-spacing:-.01em}.home-tile p{margin-top:.6em;font-size:calc(var(--type) * .95);color:var(--text-dim);line-height:1.6}.home-close{border-top:1px solid var(--border);margin-top:2.5em;padding-top:2.5em}.home-line{font-size:calc(var(--type) * 1.05);color:var(--text-dim);line-height:1.6}
