.hub-join{background:var(--bg);min-height:100vh;color:var(--fg);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);overflow-x:hidden}.jn-brand{align-items:center;gap:8px;margin-bottom:28px;display:flex}.jn-brand .sb-mark{background:var(--fg);width:26px;height:26px;color:var(--bg);font-family:var(--font-display);border-radius:7px;justify-content:center;align-items:center;font-size:17px;display:inline-flex}.jn-brand .sb-wordmark{letter-spacing:-.03em;font-size:17px;font-weight:700}.jn-brand .sb-wordmark em{color:var(--accent);font-style:normal}.jn-pill{border:1px solid var(--border);background:var(--bg-elev-2);height:24px;font-family:var(--font-mono);color:var(--fg-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 9px;font-size:11px;display:inline-flex}.jn-pill[data-tone=warn]{color:var(--warn);background:var(--warn-soft);border-color:#0000}.jn-pill[data-tone=ok]{color:var(--ok);background:var(--ok-soft);border-color:#0000}.jn-pill[data-tone=danger]{color:var(--danger);background:var(--danger-soft);border-color:#0000}.jn-title{font-family:var(--font-display);letter-spacing:-.015em;margin:0 0 8px;font-size:clamp(28px,3vw,36px);font-weight:400;line-height:1.08}.jn-title em{color:var(--fg-muted);font-style:italic}.jn-lead{color:var(--fg-muted);max-width:560px;margin:0 0 26px;font-size:14.5px;line-height:1.55}.jn-lead strong{color:var(--fg);font-weight:600}.jn-hint{color:var(--fg-subtle);font-size:12.5px;line-height:1.5}.jn-hint kbd{font-family:var(--font-mono);border:1px solid var(--border-strong);color:var(--fg-muted);background:var(--bg-elev-2);border-radius:4px;padding:1px 5px;font-size:10.5px}.jn-error{background:var(--danger-soft);color:var(--danger);border-radius:8px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;line-height:1.45;display:flex}.hub-app .jn-linkbtn{color:var(--fg);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:12.5px;font-weight:600;text-decoration:underline}.hub-app .jn-linkbtn:disabled{color:var(--fg-faint);cursor:default;text-decoration:none}.jn-rows{border:1px solid var(--border);background:var(--bg-elev-1);border-radius:10px;overflow:hidden}.jn-row{border-bottom:1px solid var(--border-light);align-items:center;gap:12px;padding:11px 14px;font-size:13.5px;display:flex}.jn-row:last-child{border-bottom:none}.jn-row .ic{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.jn-row[data-tone=ok] .ic{background:var(--ok-soft);color:var(--ok)}.jn-row[data-tone=lock] .ic{background:var(--bg-elev-2);color:var(--fg-faint)}.jn-row[data-tone=lock]{color:var(--fg-subtle)}.jn-row[data-tone=pending] .ic{background:var(--warn-soft);color:var(--warn)}.jn-row .t{flex:1;min-width:0}.jn-row .t small{color:var(--fg-subtle);font-size:12px;display:block}.jn-row .m{font-family:var(--font-mono);color:var(--fg-faint);white-space:nowrap;font-size:11px}.jn-row .x{width:24px;height:24px;color:var(--fg-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.jn-row .x:hover{background:var(--bg-elev-2);color:var(--fg)}@keyframes jn-pulse{0%,to{opacity:.6;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.jn-card{border:1px solid var(--border);background:var(--bg);border-radius:12px;padding:16px}.jn-card-head{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-subtle);align-items:center;gap:6px;margin-bottom:10px;font-size:10.5px;display:flex}.jn-card p{color:var(--fg-muted);margin:0;font-size:13px;line-height:1.55}.jn-card ul{flex-direction:column;gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.jn-card li{color:var(--fg);align-items:center;gap:8px;display:flex}.jn-card li .m{font-family:var(--font-mono);color:var(--fg-faint);margin-left:auto;font-size:11px}.jn-card li[data-off=true]{color:var(--fg-faint)}.jn-blank{text-align:center;max-width:560px;margin:80px auto;padding:0 24px}.jn-blank .jn-title{margin-bottom:12px}.ch-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.ch-scopes{flex-wrap:wrap;gap:6px;display:flex}.ch-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:28px;display:grid}.ch-side{flex-direction:column;gap:14px;display:flex;position:sticky;top:24px}.ch-rec{border:1px solid var(--border);background:var(--bg-elev-1);color:inherit;transition:border-color var(--dur-fast);border-radius:10px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:8px;padding:11px 14px;text-decoration:none;display:grid}.ch-rec:hover{border-color:var(--border-strong)}.ch-rec .ic{background:color-mix(in srgb,var(--k-video)14%,transparent);width:34px;height:34px;color:var(--k-video);border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.ch-rec-title{color:var(--fg);font-size:14px;font-weight:500}.ch-rec-sub{color:var(--fg-subtle);margin-top:2px;font-size:12px}.ch-rec .m{font-family:var(--font-mono);color:var(--fg-faint);font-size:11px}.ch-empty{border:1px dashed var(--border-strong);color:var(--fg-subtle);text-align:center;border-radius:10px;padding:20px;font-size:13px}.acc-seg{border:1px solid var(--border-strong);background:var(--bg-elev-1);border-radius:8px;align-self:flex-start;max-width:100%;display:inline-flex;overflow:hidden}.hub-app .acc-seg button{border:none;border-right:1px solid var(--border);height:32px;font:inherit;color:var(--fg-muted);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast),color var(--dur-fast);background:0 0;border-radius:0;flex-shrink:0;padding:0 12px;font-size:12.5px}.hub-app .acc-seg button:last-child{border-right:none}.hub-app .acc-seg button:hover{color:var(--fg);background:var(--bg-elev-2)}.hub-app .acc-seg button[data-active=true]{background:var(--bg-elev-2);color:var(--fg);box-shadow:inset 0 -2px 0 var(--accent);font-weight:600}.hub-app .acc-seg button:focus-visible{outline:2px solid var(--fg);outline-offset:-2px}.acc-textarea{border:1px solid var(--border-strong);background:var(--bg-elev-1);width:100%;min-height:80px;color:var(--fg);font:inherit;resize:vertical;border-radius:8px;padding:10px 12px;font-size:13px}.acc-textarea:focus{border-color:var(--fg);outline:none}.acc-input{border:1px solid var(--border-strong);background:var(--bg-elev-1);height:36px;color:var(--fg);font:inherit;border-radius:8px;width:100%;min-width:0;padding:0 12px;font-size:13px}.acc-input:focus{border-color:var(--fg);outline:none}.acc-input::placeholder{color:var(--fg-faint)}.hub-app .acc-form .hsel[data-variant=field]{border-radius:8px;min-height:36px;font-size:13px}.acc-clients{flex-wrap:wrap;gap:6px;display:flex}.hub-app .acc-cl{text-align:left;overflow-wrap:anywhere;border:1px solid var(--border-strong);background:var(--bg-elev-1);max-width:100%;min-height:30px;line-height:1.3;font:inherit;color:var(--fg-muted);cursor:pointer;transition:border-color var(--dur-fast),color var(--dur-fast),background var(--dur-fast);border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:12.5px;display:inline-flex}.hub-app .acc-cl:hover{border-color:var(--fg-faint);color:var(--fg)}.hub-app .acc-cl[data-on=true]{border-color:var(--fg);background:var(--bg-elev-2);color:var(--fg);font-weight:500}.hub-app .acc-cl:focus-visible{outline:2px solid var(--fg);outline-offset:2px}@media (max-width:960px){.ch-grid{grid-template-columns:1fr}.ch-side{position:static}}.hub-sign{overflow-x:hidden}.sg{max-width:768px;margin:0 auto;padding:20px 24px 150px}.sg-top{align-items:center;gap:16px;min-width:0;padding:4px 0 18px;display:flex}.sg-top .jn-brand{flex-shrink:0;margin-bottom:0}.sg-top-mid{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:10px;min-width:0;display:flex}.sg-top-title{font-family:var(--font-display);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:17px;font-weight:500;overflow:hidden}.sg-top-who{font-family:var(--font-mono);color:var(--fg-subtle);white-space:nowrap;flex-shrink:0;font-size:11px}.sg-intro{border:1px solid var(--border);background:var(--bg-elev-1);border-radius:10px;flex-direction:column;gap:4px;margin-bottom:16px;padding:14px 18px;font-size:13.5px;line-height:1.55;display:flex}.sg-intro strong{color:var(--fg)}.sg-banner{background:var(--bg-elev-2);color:var(--fg);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:14px 18px;font-size:13.5px;line-height:1.5;display:flex}.sg-banner .ic{background:var(--fg);width:30px;height:30px;color:var(--bg);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sg-banner[data-tone=ok]{background:var(--ok-soft)}.sg-banner[data-tone=ok] .ic{background:var(--ok);color:var(--on-status)}.sg-banner[data-tone=danger]{background:var(--danger-soft)}.sg-banner[data-tone=danger] .ic{background:var(--danger);color:var(--on-status)}.sg-banner[data-tone=warn]{background:var(--warn-soft)}.sg-banner[data-tone=warn] .ic{background:var(--warn);color:var(--on-status)}.sg-banner>div{flex:240px;min-width:0}.sg-banner strong{margin-bottom:2px;font-weight:600;display:block}.sg-banner .btn{flex-shrink:0}.sg-secure{color:var(--fg-subtle);align-items:flex-start;gap:8px;margin-top:8px;font-size:12px;line-height:1.45;display:flex}.sg-secure svg{flex-shrink:0;margin-top:2px}.sg-sheet{background:var(--bg-elev-1);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:6px;min-width:0;padding:48px 56px 56px}.sg-doc-body{flex-direction:column;gap:6px;display:flex}.sg-md{color:var(--fg);overflow-wrap:anywhere;font-size:14.5px;line-height:1.65}.sg-md h1{font-family:var(--font-display);letter-spacing:-.015em;border-bottom:1px solid var(--fg);margin:0 0 18px;padding-bottom:14px;font-size:32px;font-weight:500;line-height:1.1}.sg-md h2{letter-spacing:-.005em;margin:26px 0 8px;font-size:16px;font-weight:600}.sg-md h3{margin:18px 0 6px;font-size:14px;font-weight:600}.sg-md p{margin:0 0 12px}.sg-md ul,.sg-md ol{margin:0 0 12px;padding-left:22px}.sg-md li{list-style:inherit;margin:3px 0;display:list-item}.sg-md ul li{list-style:outside}.sg-md ol li{list-style:decimal}.sg-md blockquote{border-left:3px solid var(--warn);background:var(--warn-soft);color:var(--fg-muted);border-radius:0 8px 8px 0;margin:0 0 12px;padding:8px 14px;font-size:13px}.sg-md blockquote p{margin:0}.sg-md hr{border:none;border-top:1px solid var(--border);margin:18px 0}.sg-md strong{font-weight:600}.sg-md code{font-family:var(--font-mono);background:var(--bg-elev-2);border-radius:4px;padding:1px 5px;font-size:12.5px}.sg-md table{border-collapse:collapse;margin:0 0 12px;font-size:13px}.sg-md th,.sg-md td{border:1px solid var(--border);text-align:left;padding:6px 10px}.sg-field-slot{margin:4px 0 10px}.sg-fld{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-direction:column;gap:6px;min-width:0;max-width:520px;padding:10px 12px;display:flex}.sg-fld.is-mine{background:var(--bg-elev-1);border-color:var(--border-strong)}.sg-fld.is-mine[data-filled=false][data-required=true]{border-color:var(--fg)}.sg-fld.is-mine[data-filled=true]{border-color:var(--border-strong)}.sg-fld-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-subtle);font-size:10.5px}.sg-fld-label .req{color:var(--danger);margin-left:3px}.sg-fld-value{color:var(--fg);min-height:20px;font-size:14.5px}.sg-fld-meta{font-family:var(--font-mono);color:var(--fg-faint);font-size:10.5px}.sg-input{border:1px solid var(--border-strong);background:var(--bg-elev-1);height:40px;font:inherit;color:var(--fg);border-radius:6px;width:100%;min-width:0;padding:0 12px;font-size:14px}.sg-input:focus{border-color:var(--fg);outline:none}.sg-input::placeholder{color:var(--fg-faint)}.sg-fld-check{cursor:default;flex-direction:row;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5}.sg-fld-check.is-mine{cursor:pointer}.sg-fld-check input{width:18px;height:18px;accent-color:var(--fg);flex-shrink:0;margin:2px 0 0}.sg-fld-check .sg-fld-meta{margin-left:auto}.sg-check-box{border:1px solid var(--border-strong);width:17px;height:17px;color:var(--fg);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:inline-flex}.sg-fld-check[data-filled=true] .sg-check-box{background:var(--fg);color:var(--bg);border-color:var(--fg)}.sg-sigbox{border:1px dashed var(--border-strong);background:var(--bg-elev-1);border-radius:8px;justify-content:center;align-items:center;height:88px;padding:6px;display:flex;position:relative;overflow:hidden}.sg-sigbox.is-btn{cursor:pointer;font:inherit;color:inherit;transition:border-color var(--dur-fast),background var(--dur-fast);width:100%}.sg-sigbox.is-btn:hover{border-color:var(--fg)}.sg-sigbox.is-btn:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.sg-sigbox img{object-fit:contain;max-width:100%;max-height:100%}.sg-sig-cta{color:var(--fg);align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:inline-flex}.sg-fld-sig.is-mine[data-filled=false] .sg-sigbox{border-color:var(--fg);background:var(--bg)}.sg-sig-pending{color:var(--fg-faint);font-size:12.5px;font-style:italic}.sg-sig-name{color:var(--fg);font-family:Snell Roundhand,Brush Script MT,Segoe Script,cursive;font-size:26px}.sg-hash{border-top:1px solid var(--border);font-family:var(--font-mono);color:var(--fg-subtle);word-break:break-all;margin-top:28px;padding-top:14px;font-size:10.5px;line-height:1.6}.sg-hash code{color:var(--fg-muted)}.sg-bar{background:var(--bg-elev-1);border-top:1px solid var(--border);box-shadow:var(--shadow-md);z-index:40;position:fixed;bottom:0;left:0;right:0}.sg-bar-inner{flex-direction:column;gap:10px;max-width:768px;margin:0 auto;padding:12px 24px 14px;display:flex}.sg-bar-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sg-bar-row .spacer{flex:1}.sg-bar-row .btn[data-variant=primary]{height:40px}.sg-bar-row .btn[data-tone=danger]{color:var(--danger);border-color:var(--danger)}.sg-consent{color:var(--fg-muted);cursor:pointer;align-items:flex-start;gap:10px;font-size:12.5px;line-height:1.5;display:flex}.sg-consent input{width:16px;height:16px;accent-color:var(--fg);flex-shrink:0;margin:2px 0 0}.sg-consent[data-on=true]{color:var(--fg)}.sg-pad{width:min(720px,94vw);padding:0;overflow:hidden}.sg-pad-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 12px;display:flex}.hub-app .sg-x{width:32px;height:32px;color:var(--fg-subtle);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.hub-app .sg-x:hover{background:var(--bg-elev-2);color:var(--fg)}.sg-pad-body{padding:18px}.sg-canvas-wrap{border:1px solid var(--border-strong);background:var(--sig-paper);border-radius:10px;position:relative;overflow:hidden}.sg-canvas{touch-action:none;cursor:crosshair;width:100%;height:auto;display:block}.sg-canvas-line{border-top:1px solid var(--gyo-paper-300);pointer-events:none;position:absolute;bottom:38px;left:32px;right:32px}.sg-canvas-hint{text-align:center;color:var(--gyo-paper-400);pointer-events:none;font-size:12px;position:absolute;bottom:12px;left:0;right:0}.sg-typed-preview{border:1px solid var(--border-strong);background:var(--sig-paper);height:110px;color:var(--sig-ink);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;margin-top:12px;padding:0 20px;font-size:44px;display:flex;overflow:hidden}.sg-pad-foot{border-top:1px solid var(--border);background:var(--bg);align-items:center;gap:10px;padding:12px 18px;display:flex}.sg-pad-foot .spacer{flex:1}.my-ag .jn-row{min-height:52px}.my-ag .jn-row .t small{margin-top:1px}@media (max-width:720px){.sg{padding:14px 16px 190px}.sg-sheet{padding:28px 22px 36px}.sg-top{flex-wrap:wrap;gap:8px 14px;padding-bottom:12px}.sg-top-mid{justify-content:flex-start}.sg-top-who{display:none}.sg-md h1{font-size:26px}.sg-md{font-size:14px}.sg-fld{max-width:none}}@media (max-width:520px){.sg{padding:12px 16px 210px}.sg-sheet{padding:24px 16px 32px}.sg-banner{padding:12px 14px}.sg-banner .btn{flex:100%;justify-content:center;height:44px}.sg-bar-inner{padding:12px 16px 14px}.sg-bar-row .btn[data-variant=primary]{flex:100%;order:3;justify-content:center;height:44px}.sg-bar-row .jn-hint{text-align:right;flex:1}.sg-bar-row .acc-input{flex:100%;height:40px}.sg-bar-row .btn[data-size=sm]{flex:1;justify-content:center;height:40px}.sg-sigbox.is-btn{height:96px}.sg-input{height:44px}.hub-sign .modal-backdrop{padding:3vh 10px 10px}.sg-pad{width:100%}.sg-pad-head{padding:12px 14px 10px}.sg-pad-body{padding:12px}.sg-pad-foot{flex-wrap:wrap;gap:8px;padding:10px 12px}.sg-pad-foot .jn-hint{flex:100%}.sg-pad-foot .btn{flex:1;justify-content:center;height:40px}.sg-typed-preview{height:90px;font-size:36px}.sg-canvas-line{bottom:30px;left:20px;right:20px}}.hub-app .btn.is-danger{color:var(--danger)}.hub-app .btn[data-variant=secondary].is-danger{border-color:var(--danger)}.hub-app .btn.is-danger:hover{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}.hub-join .rbj-top .jn-brand{flex-shrink:0;gap:8px;margin:0}.hub-join .rbj-top .jn-brand .sb-mark{border-radius:6px;width:24px;height:24px;font-size:15px}.hub-join .rbj-top .jn-brand .sb-wordmark{color:var(--rb-ink);font-size:16px}.hub-join .rbj-top .ctx{border-left:1px solid var(--rb-rule);margin-left:2px;padding-left:12px;line-height:18px}.hub-join .rbj-avatar{letter-spacing:.02em;color:var(--rb-ink);justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.hub-join .rbj-body--single{grid-template-columns:minmax(0,1fr);max-width:620px}.hub-join .rbj-signed-as{border-top:1px solid var(--rb-hairline);margin-top:36px;padding-top:14px}.hub-join .rbj-signed-as b{color:var(--rb-body);overflow-wrap:anywhere;font-weight:500}@media (max-width:900px){.hub-join .rbj-body{grid-template-columns:minmax(0,1fr)}.hub-join .rbj-rail{min-width:0}}@media (max-width:720px){.hub-app.hub-join .rbj-panel .rb-input,.hub-app.hub-join .rbj-panel .rb-textarea{font-size:16px}.hub-app.hub-join .rbj-panel .hsel[data-variant=field]{min-height:44px;font-size:16px}.hub-join .rbj-top .ctx{font-size:var(--rb-fs-small)}.hub-join .rbj-foot .rb-link{padding:10px 0}.hub-join .rbj-body--single{padding-top:28px}.hub-sign .sg-top-title{display:none}.hub-sign .sg-top-mid{justify-content:flex-end}.hub-sign .sg-input,.hub-sign .acc-input{font-size:16px}}@media (max-width:600px){.hub-app.hub-sign .modal-backdrop:not(.hub-dialog-backdrop){align-items:flex-end;padding:0}.hub-app.hub-sign .modal.sg-pad,.hub-app.hub-sign .modal.sg-pad[data-size]{border-top:1px solid var(--border);height:auto;max-height:100dvh;padding-top:0;padding-bottom:env(safe-area-inset-bottom);border-radius:14px 14px 0 0}}@media (max-width:720px){.hub-auth .auth-page .auth-field input{height:44px;font-size:16px}.hub-auth .auth-page .auth-google,.hub-auth .auth-page .auth-form .btn{height:44px}}.sg-decline-label{color:var(--fg-muted);font-size:12.5px;line-height:1.5}.hub-sign .sg-bar-row .sg-decline-input{flex:220px;height:40px}@media (max-width:520px){.hub-sign .sg-bar-row .sg-decline-input{flex:100%;height:44px}}.hub-join .rbj-panel .rb-field .rb-link{padding:8px 2px}.hub-join .rbj-q{border:none;min-width:0;margin:0 0 22px;padding:0}.hub-join .rbj-q-prompt{float:left;width:100%;color:var(--rb-ink);grid-template-columns:22px minmax(0,1fr);gap:6px;padding:0 0 8px;font-weight:500;line-height:1.45;display:grid}.hub-join .rbj-q-prompt+*{clear:both}.hub-join .rbj-q-prompt .n{color:var(--rb-muted);font-variant-numeric:tabular-nums;font-weight:400}
