@font-face{font-display:swap;font-family:Space Grotesk;font-style:normal;font-weight:400;src:url(/build/fonts/space-grotesk-latin-400-normal.e4486ff0.woff2) format("woff2"),url(/build/fonts/space-grotesk-latin-400-normal.9a79ff92.woff) format("woff")}@font-face{font-display:swap;font-family:Space Grotesk;font-style:normal;font-weight:500;src:url(/build/fonts/space-grotesk-latin-500-normal.2641fa82.woff2) format("woff2"),url(/build/fonts/space-grotesk-latin-500-normal.b49ceea0.woff) format("woff")}@font-face{font-display:swap;font-family:Space Grotesk;font-style:normal;font-weight:600;src:url(/build/fonts/space-grotesk-latin-600-normal.8ff7300c.woff2) format("woff2"),url(/build/fonts/space-grotesk-latin-600-normal.ebac80b1.woff) format("woff")}@font-face{font-display:swap;font-family:Space Grotesk;font-style:normal;font-weight:700;src:url(/build/fonts/space-grotesk-latin-700-normal.da60da10.woff2) format("woff2"),url(/build/fonts/space-grotesk-latin-700-normal.06b64ac5.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(/build/fonts/jetbrains-mono-latin-400-normal.d04352f2.woff2) format("woff2"),url(/build/fonts/jetbrains-mono-latin-400-normal.1fef352a.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(/build/fonts/jetbrains-mono-latin-500-normal.bb50084b.woff2) format("woff2"),url(/build/fonts/jetbrains-mono-latin-500-normal.b6ddca26.woff) format("woff")}:root{--ink:#16130f;--ink-2:#3d3833;--muted:#7a736b;--faint:#9a938a;--hair:#f0ede8;--rule:#e4e0da;--field:#d8d3cb;--paper:#fff;--ground:#f1f1f1;--wash:#faf8f5;--chip:#f1eee9;--accent:#ff7401;--accent-dark:#d95f00;--danger:#c0392b;--radius:10px;--radius-sm:6px;--sans:"Space Grotesk","Helvetica Neue",Helvetica,sans-serif;--mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace}*,:after,:before{box-sizing:border-box}html{height:100%}body{background:var(--ground);display:flex;flex-direction:column;font-family:var(--sans);font-size:14px;line-height:1.45;margin:0;min-height:100%;-webkit-font-smoothing:antialiased}a,body{color:var(--ink)}a{text-decoration:none}a:hover{color:var(--accent-dark)}h1{font-size:27px;font-weight:700;letter-spacing:-.015em;margin:0}.mono{font-family:var(--mono)}.truncate{text-overflow:ellipsis}.truncate,.visually-hidden{overflow:hidden;white-space:nowrap}.visually-hidden{height:1px;position:absolute;width:1px;clip:rect(0 0 0 0)}.brand-rule{background:var(--accent);flex-shrink:0;height:4px}.masthead{background:var(--paper);border-bottom:1px solid var(--rule);flex-shrink:0}.masthead__inner{align-items:center;display:flex;flex-wrap:wrap;gap:20px;margin:0 auto;max-width:1170px;min-height:60px;padding:8px 24px}.masthead__logo{align-items:center;display:flex;flex-shrink:0}.masthead__logo img{display:block;height:35px;width:152px}.masthead__nav{align-items:center;display:flex;flex-grow:1;gap:4px}.masthead__link{border-radius:var(--radius-sm);color:var(--ink-2);font-size:13px;font-weight:600;padding:7px 12px}.masthead__link.is-current{background:var(--chip);color:var(--ink)}.masthead__user{border-left:1px solid var(--rule);flex-shrink:0;gap:10px;padding-left:18px}.avatar,.masthead__user{align-items:center;display:flex}.avatar{background:var(--accent);border-radius:50%;color:var(--paper);font-size:11px;font-weight:700;height:26px;justify-content:center;width:26px}.masthead__name{color:var(--ink-2);font-size:13px}.icon-button{align-items:center;background:none;border:0;border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;display:flex;padding:5px}.icon-button:hover{background:var(--chip);color:var(--ink)}.page{flex-grow:1;margin:0 auto;max-width:1170px;padding:26px 24px 48px;width:100%}.page__head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:18px}.page__sub{color:var(--muted);font-size:13px;margin:5px 0 0}.breadcrumb{font-size:12.5px;gap:8px;margin-bottom:14px}.breadcrumb,.breadcrumb a{align-items:center;color:var(--muted);display:flex}.breadcrumb a{gap:5px}.breadcrumb a:hover{color:var(--accent-dark)}.breadcrumb span.breadcrumb__sep{color:#c9c2b8}.breadcrumb span.breadcrumb__here{color:var(--ink-2)}.field{background:var(--paper);border:1px solid var(--field);border-radius:var(--radius-sm);color:var(--ink);font-family:inherit;font-size:13px;height:38px;padding:0 12px}.field::placeholder{color:var(--faint)}.field:focus{border-color:var(--accent);outline:2px solid rgba(255,116,1,.35);outline-offset:-1px}select.field{cursor:pointer;padding-right:30px}.search{align-items:center;display:flex;flex-shrink:0}.search .field{border-radius:var(--radius-sm) 0 0 var(--radius-sm);border-right:0;height:34px;width:232px}.btn{align-items:center;background:none;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:600;gap:7px;height:38px;justify-content:center;padding:0 18px;white-space:nowrap}.btn--accent{background:var(--accent);color:var(--paper)}.btn--accent:hover{background:var(--accent-dark);color:var(--paper)}.btn--ink{background:var(--ink);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--paper);height:34px;padding:0 14px}.btn--ink:hover{background:#000;color:var(--paper)}.btn--plain{background:var(--paper);border-color:var(--field)}.btn--plain:hover{background:var(--wash);border-color:#b5aea4}.btn--danger{background:var(--paper);border-color:var(--rule);color:var(--danger);padding:0;width:38px}.btn--danger:hover{background:#fdf2f0;border-color:#e6b8b1;color:var(--danger)}.btn--big{font-size:14.5px;height:46px}.alert{align-items:flex-start;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-sm);display:flex;font-size:13.5px;gap:10px;margin:16px auto 0;max-width:1122px;padding:12px 14px}.alert--success{background:#eff8f2;border-color:#b6d7c3;color:#1d4c33}.alert--danger{background:#fdf2f0;border-color:#e6b8b1;color:#8c2b1e}.alert__body{flex-grow:1}.alert__close{background:none;border:0;color:inherit;cursor:pointer;font-size:18px;line-height:1;opacity:.5}.alert__close:hover{opacity:1}.panel{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden}.plist__head,.plist__row{align-items:center;display:grid;gap:16px;grid-template-columns:84px minmax(0,1fr) 132px 132px 34px;padding:0 20px}.plist__head{background:var(--wash);border-bottom:1px solid var(--rule);color:var(--muted);font-size:10px;font-weight:600;height:38px;letter-spacing:.09em;text-transform:uppercase}.plist__row{border-bottom:1px solid var(--hair);min-height:46px}.plist__row:last-child{border-bottom:0}.plist__row:hover{background:var(--wash)}.plist__row:hover .plist__name{color:var(--accent-dark)}.plist__id{color:var(--faint);font-family:var(--mono);font-size:12px}.plist__name{font-size:14.5px;font-weight:500}.plist__date{color:var(--muted);font-family:var(--mono);font-size:12px}.plist__chevron{color:#c9c2b8;display:flex;justify-content:flex-end}.plist__title{align-items:baseline;display:flex;gap:8px;min-width:0}.tag{background:var(--chip);border-radius:4px;color:var(--muted);flex-shrink:0;font-size:11px;font-weight:500;padding:2px 7px}.plist__empty{color:var(--muted);padding:40px 20px;text-align:center}.pager{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-top:20px}.pager__count{color:var(--muted);font-family:var(--mono);font-size:12px;margin:0}.pager__links{flex-wrap:wrap;gap:5px}.pager__link,.pager__links{align-items:center;display:flex}.pager__link{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-sm);font-size:12.5px;gap:6px;height:32px;justify-content:center;min-width:32px;padding:0 9px}.pager__link:hover{border-color:#b5aea4}.pager__link--num{font-family:var(--mono)}.pager__link--current{background:var(--ink);border-color:var(--ink);color:var(--paper);font-weight:500}.pager__link--current:hover{color:var(--paper)}.pager__link--off{opacity:.45;pointer-events:none}.pager__gap{color:#b5aea4;padding:0 4px}.segmented{align-items:center;background:#e8e4de;border-radius:8px;display:flex;gap:2px;padding:3px}.segmented__option{border-radius:var(--radius-sm);color:var(--ink-2);font-size:12.5px;font-weight:500;padding:6px 14px}.segmented__option.is-current{background:var(--paper);box-shadow:0 1px 2px rgba(22,19,15,.08);color:var(--ink);font-weight:600}.uploader{align-items:center;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;padding:12px}.uploader__file{flex-shrink:0}.uploader__file input[type=file]{color:var(--muted);font-family:inherit;font-size:13px;max-width:320px}.uploader__file input[type=file]::file-selector-button{background:var(--wash);border:1px dashed #c9c2b8;border-radius:7px;color:var(--ink);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;height:38px;margin-right:10px;padding:0 14px}.uploader__file input[type=file]::file-selector-button:hover{border-color:var(--accent);color:var(--accent-dark)}.uploader__comment{flex-grow:1;min-width:220px}.uploader__comment .field{width:100%}.build-grid{align-items:stretch;display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.build{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden}.build__top{align-items:flex-start;display:flex;gap:11px;padding:14px 14px 12px}.build__icon{background:var(--chip);border-radius:10px;flex-shrink:0;height:42px;object-fit:cover;width:42px}.build__ident{flex-grow:1;min-width:0}.build__bundle{font-family:var(--mono);font-size:12.5px;font-weight:500;margin-bottom:4px}.build__badges{flex-wrap:wrap;gap:6px}.badge,.build__badges{align-items:center;display:flex}.badge{background:var(--chip);border-radius:4px;color:#5b5349;font-size:10.5px;font-weight:600;gap:4px;letter-spacing:.03em;padding:2px 6px}.badge--ios{background:#e9eef8;color:#2c3e62}.badge--android{background:#e6f1ea;color:#245239}.build__version{padding:0 14px 12px}.build__version-line{align-items:baseline;display:flex;gap:10px;justify-content:space-between}.build__number{font-family:var(--mono);font-size:18px;font-weight:500;letter-spacing:-.01em}.build__size{color:var(--muted);flex-shrink:0}.build__server,.build__size{font-family:var(--mono);font-size:11.5px}.build__server{color:var(--faint);margin-top:3px}.build__message{flex-grow:1;padding:0 14px 14px}.build__message p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--ink-2);font-size:13px;line-height:1.45;margin:0;overflow:hidden;text-wrap:pretty}.build__meta{align-items:center;border-top:1px solid var(--hair);color:var(--muted);display:flex;font-size:11.5px;gap:10px;padding:10px 14px}.build__author{flex-grow:1;min-width:0}.build__ref{flex-shrink:0;gap:4px;max-width:108px}.build__actions,.build__ref{align-items:center;display:flex}.build__actions{background:#fdfcfa;border-top:1px solid var(--hair);gap:8px;padding:12px 14px}.build__actions .btn--accent{flex-grow:1}.build__actions form{display:flex}.empty{color:var(--muted);padding:56px 20px;text-align:center}.empty p{margin:0}.signin{align-items:center;display:flex;flex-direction:column;flex-grow:1;gap:30px;justify-content:center;padding:48px 24px}.signin__logo{display:block;height:52px;width:224px}.signin__card{background:var(--paper);border:1px solid var(--rule);border-radius:12px;box-shadow:0 1px 2px rgba(22,19,15,.04),0 12px 32px -16px rgba(22,19,15,.14);max-width:388px;padding:32px 32px 28px;text-align:center;width:100%}.signin__card h1{font-size:21px}.signin__lede{color:var(--muted);font-size:13.5px;line-height:1.5;margin:8px 0 24px;text-wrap:pretty}.signin__google{align-items:center;background:var(--paper);border:1px solid var(--field);border-radius:8px;display:flex;font-size:14.5px;font-weight:600;gap:11px;height:46px;justify-content:center;transition:background .12s,border-color .12s}.signin__google:hover{background:var(--wash);border-color:#b5aea4;color:var(--ink)}.signin__note{align-items:flex-start;border-top:1px solid var(--hair);display:flex;gap:9px;margin-top:22px;padding-top:18px;text-align:left}.signin__note svg{flex-shrink:0;margin-top:1px}.signin__note p{color:var(--faint);font-size:12px;line-height:1.45;margin:0}.signin__note strong{color:var(--muted);font-weight:600}.signin__foot{color:#a9a29a;font-size:12px;margin:0}.install{align-items:center;display:flex;flex-direction:column;flex-grow:1;padding:34px 24px 48px}.install__logo{display:block;height:39px;margin-bottom:26px;width:168px}.install__card{background:var(--paper);border:1px solid var(--rule);border-radius:12px;max-width:640px;overflow:hidden;width:100%}.install__head{align-items:center;border-bottom:1px solid var(--hair);display:flex;gap:16px;padding:22px 24px}.install__icon{background:var(--chip);border-radius:14px;flex-shrink:0;height:62px;object-fit:cover;width:62px}.install__ident{flex-grow:1;min-width:0}.install__ident h1{font-size:22px}.install__facts{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:7px}.install__version{font-family:var(--mono);font-size:13px;font-weight:500}.install__size{color:var(--muted);font-family:var(--mono);font-size:12px}.install__body{display:grid;gap:28px;grid-template-columns:208px minmax(0,1fr);padding:24px}.install__qr{align-items:center;display:flex;flex-direction:column;gap:10px}.install__qr a{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);display:block;padding:10px}.install__qr img{display:block;height:166px;width:166px}.install__qr p{color:var(--faint);font-size:11.5px;margin:0;text-align:center}.install__detail{min-width:0}.install__message{color:var(--ink-2);font-size:14px;line-height:1.5;margin:0 0 14px;text-wrap:pretty}.install__rows{margin-bottom:18px}.install__row{align-items:center;border-bottom:1px solid var(--hair);color:var(--faint);display:grid;gap:11px;grid-template-columns:20px minmax(0,1fr);padding:9px 0}.install__row:last-child{border-bottom:0}.install__row span{color:var(--ink-2);font-size:12.5px}.install__row span.mono{font-family:var(--mono)}.install__buttons{display:flex;flex-direction:column;gap:9px}.install__buttons .btn{font-size:15px;height:48px}.install__buttons .btn--plain{font-size:13.5px;height:44px}.install__foot{color:#a9a29a;font-size:11.5px;margin:18px 0 0;max-width:420px;text-align:center;text-wrap:pretty}@media(max-width:900px){.build-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plist__head,.plist__row{grid-template-columns:64px minmax(0,1fr) 108px 34px}.plist__head>:nth-child(4),.plist__row>:nth-child(4){display:none}.install__body{grid-template-columns:minmax(0,1fr)}.install__qr{order:2}}@media(max-width:640px){.masthead__inner{gap:12px}.masthead__nav{order:3;width:100%}.search{order:4;width:100%}.search .field{flex-grow:1;width:auto}.masthead__user{margin-left:auto}.page{padding:20px 16px 40px}.build-grid{grid-template-columns:minmax(0,1fr)}.plist__head,.plist__row{gap:10px;grid-template-columns:minmax(0,1fr) 34px;padding:0 14px}.plist__head>:first-child,.plist__head>:nth-child(3),.plist__row>:first-child,.plist__row>:nth-child(3){display:none}}