:root{--bg: #0c1016;--bg-rail: #0f141c;--bg-raise: #131a24;--bg-card: #172030;--bg-hover: #1c2738;--line: rgba(140, 165, 205, .14);--line-strong: rgba(140, 165, 205, .26);--text: #e7edf6;--muted: #8794a8;--bronco: #ff9f43;--turbo: #35d0ff;--gobilda: #f3c316;--danger: #ff6b6b;--ok: #5ee39b;--team: var(--bronco);--team-soft: rgba(255, 159, 67, .14);font-size:16px;color-scheme:dark}[data-team=turbobots]{--team: var(--turbo);--team-soft: rgba(53, 208, 255, .14)}[data-team=broncobots]{--team: var(--bronco);--team-soft: rgba(255, 159, 67, .14)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:Avenir Next,Avenir,Segoe UI,Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}button:disabled{cursor:default}a{color:inherit}:focus-visible{outline:2px solid var(--team);outline-offset:2px}.bronco{color:var(--bronco)}.turbo{color:var(--turbo)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.55rem 1rem;border-radius:10px;font-weight:600;font-size:.9rem;white-space:nowrap;transition:background .15s ease,border-color .15s ease,filter .15s ease}.btn-primary{background:linear-gradient(90deg,var(--bronco),var(--turbo));color:#0c1016}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-primary:disabled{opacity:.45}.btn-ghost{border:1px solid var(--line);background:#8ca5cd0f}.btn-ghost:hover:not(:disabled){border-color:var(--line-strong);background:#8ca5cd1f}.btn-block{width:100%;padding:.75rem 1rem;font-size:1rem}.text-input{width:100%;padding:.7rem .9rem;border-radius:10px;border:1px solid var(--line);background:var(--bg-raise);color:var(--text);font:inherit;outline:none}.text-input::placeholder{color:#5d6a7e}.text-input:focus{border-color:var(--turbo);box-shadow:0 0 0 3px #35d0ff24}.form-error{color:var(--danger);font-size:.86rem;font-weight:600}.loading{padding:4rem 0;text-align:center;color:var(--muted);letter-spacing:.2em;text-transform:uppercase;font-size:.85rem}.loading.full{height:100%;display:grid;place-items:center;padding:1.5rem}.unreachable{display:grid;gap:1rem;justify-items:center;letter-spacing:0;text-transform:none;font-size:1rem}.auth-page{height:100%;overflow-y:auto;display:grid;place-items:center;padding:1.5rem 1rem;background:radial-gradient(900px 480px at 12% -5%,rgba(255,159,67,.16),transparent 60%),radial-gradient(900px 520px at 92% 105%,rgba(53,208,255,.15),transparent 60%),var(--bg)}.auth-card{width:min(400px,100%);padding:2.2rem 1.9rem 1.6rem;border-radius:20px;border:1px solid var(--line);background:#131a24db;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;box-shadow:0 24px 60px #00000073}.auth-title{margin-top:.7rem;font-size:1.9rem;letter-spacing:-.02em}.auth-tagline{margin:.35rem 0 1.5rem;color:var(--muted);font-size:.95rem}.auth-card form{display:grid;gap:.5rem;text-align:left}.field-label{margin-top:.55rem;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.field-hint{font-size:.8rem;color:var(--muted)}.code-input{font-family:ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.16em}.code-input::placeholder{font-family:Avenir Next,Avenir,Segoe UI,system-ui,sans-serif;letter-spacing:0}.pin-input{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}.pin-input input{width:100%;padding:.75rem 0;border-radius:12px;border:1px solid var(--line);background:var(--bg-raise);color:var(--text);font:inherit;font-size:1.4rem;text-align:center;outline:none}.pin-input input:focus{border-color:var(--turbo);box-shadow:0 0 0 3px #35d0ff24}.auth-card .form-error{margin-top:.4rem}.auth-card .btn-block{margin-top:.9rem}.auth-switch{margin-top:1.1rem;color:var(--muted);font-size:.9rem}.auth-switch:hover{color:var(--text);text-decoration:underline}.app{height:100%;height:100dvh;display:flex;flex-direction:column}.topbar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;height:56px;padding:0 1rem;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));border-bottom:1px solid var(--line);background:var(--bg-rail)}.brand{display:flex;align-items:center;gap:.6rem;min-width:0}.brand-name{font-size:1.2rem;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.me{display:flex;align-items:center;gap:.6rem;min-width:0}.me-text{display:grid;line-height:1.2;min-width:0}.me-name{font-weight:700;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-team{font-size:.72rem;color:var(--team);font-weight:600}.signout{padding:.4rem .75rem;font-size:.82rem;margin-left:.3rem}.avatar{flex:none;display:grid;place-items:center;border-radius:50%;color:#fff;font-weight:800;-webkit-user-select:none;user-select:none}.split{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pane{min-width:0;min-height:0}.chat-pane{container:chat / inline-size;display:grid;grid-template-columns:200px minmax(0,1fr);border-right:1px solid var(--line)}.rail{display:flex;flex-direction:column;gap:.35rem;min-height:0;overflow-y:auto;padding:.9rem .6rem;background:var(--bg-rail);border-right:1px solid var(--line)}.team-title{padding:.15rem .5rem .5rem;font-size:1.1rem;font-weight:800;letter-spacing:-.01em;color:var(--team)}.team-switch{display:grid;gap:.3rem;margin-bottom:.4rem}.team-tab{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.5rem .65rem;border-radius:10px;border:1px solid var(--line);font-weight:700;font-size:.92rem;color:var(--muted);text-align:left;transition:color .15s ease,background .15s ease,border-color .15s ease}.team-tab:hover{color:var(--text);background:#8ca5cd12}.team-tab.active{color:var(--team);background:var(--team-soft);border-color:color-mix(in srgb,var(--team) 45%,transparent)}.rail-label{padding:.6rem .5rem .2rem;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.channel-list{display:grid;gap:2px}.channel{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem .6rem;border-radius:8px;color:var(--muted);font-weight:600;font-size:.94rem;text-align:left;transition:color .12s ease,background .12s ease}.channel svg{flex:none}.channel-name{flex:1;min-width:0}.channel:hover{color:var(--text);background:#8ca5cd14}.channel.unread{color:var(--text)}.channel.active{color:var(--team);background:var(--team-soft)}.unread-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--text)}.rail-online{margin-top:.6rem;padding-top:.3rem;border-top:1px solid var(--line)}.rail-online ul{list-style:none;display:grid;gap:1px}.rail-online li{display:flex;align-items:center;gap:.5rem;padding:.3rem .55rem;font-size:.86rem;color:var(--text)}.online-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.you{font-size:.68rem;color:var(--muted)}.rail-online li.is-coach .online-name{font-weight:600}.coach-badge{position:relative;overflow:hidden;flex-shrink:0;display:inline-flex;align-items:center;gap:.22rem;margin-left:auto;padding:.14rem .45rem .14rem .36rem;border-radius:999px;font-size:.6rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0c1016;background:linear-gradient(100deg,var(--bronco),#ffd27a 48%,var(--turbo));box-shadow:0 0 0 1px #ffffff2e inset,0 0 10px #ff9f4347,0 0 10px #35d0ff38}.coach-badge:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.65) 50%,transparent 65%);transform:translate(-120%);animation:coach-shine 4.5s ease-in-out infinite}@keyframes coach-shine{0%,70%{transform:translate(-120%)}to{transform:translate(120%)}}.presence-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--ok)}.thread{display:flex;flex-direction:column;min-width:0;min-height:0}.thread-head{flex:none;display:flex;align-items:center;gap:.7rem;padding:.7rem 1rem;border-bottom:1px solid var(--line)}.thread-icon{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--team-soft);color:var(--team)}.thread-titles{flex:1;min-width:0}.thread-titles h2{font-size:1rem;line-height:1.25}.thread-titles p{font-size:.8rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-online{flex:none;display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--muted)}.thread-online.offline{color:var(--gobilda)}.messages{flex:1;min-height:0;overflow-y:auto;padding:.6rem 0 .9rem;overscroll-behavior:contain}.thread-note{min-height:100%;display:grid;place-content:center;justify-items:center;gap:.5rem;padding:1.5rem;text-align:center;color:var(--muted);font-size:.92rem}.thread-note-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--team-soft);color:var(--team);margin-bottom:.3rem}.thread-note-title{color:var(--text);font-weight:700;font-size:1.05rem}.thread-start{padding:.9rem 1rem .3rem;font-size:.82rem;color:var(--muted)}.earlier{display:flex;margin:.4rem auto .6rem;padding:.4rem .9rem;font-size:.82rem}.day-divider{display:flex;align-items:center;gap:.75rem;margin:.9rem 1rem .3rem;font-size:.72rem;font-weight:700;color:var(--muted)}.day-divider:before,.day-divider:after{content:"";flex:1;height:1px;background:var(--line)}.msg{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:.75rem;padding:.2rem 2.6rem .2rem 1rem;margin-top:.7rem}.msg.grouped{margin-top:0}.msg:hover{background:#8ca5cd0d}.msg-gutter{display:flex;justify-content:center}.msg-gutter-time{align-self:center;font-size:.62rem;color:var(--muted);white-space:nowrap;opacity:0}.msg:hover .msg-gutter-time{opacity:1}.msg-meta{display:flex;align-items:baseline;gap:.5rem;line-height:1.3}.msg-author{font-weight:700;font-size:.94rem}.msg-meta time{font-size:.72rem;color:var(--muted)}.msg-body{font-size:.95rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.msg-body a{color:var(--turbo)}.msg-delete{position:absolute;top:.15rem;right:.7rem;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--bg-card);color:var(--muted);opacity:0}.msg:hover .msg-delete,.msg-delete:focus-visible{opacity:1}.msg-delete:hover{color:var(--danger);border-color:#ff6b6b73}@media(hover:none){.msg-delete{opacity:.55}}.composer{flex:none;display:grid;gap:.4rem;padding:0 1rem 1rem}.composer-box{display:flex;align-items:flex-end;gap:.5rem;padding:.4rem .4rem .4rem .9rem;border-radius:14px;border:1px solid var(--line);background:var(--bg-raise);transition:border-color .15s ease}.composer-box:focus-within{border-color:color-mix(in srgb,var(--team) 60%,transparent)}.composer textarea{flex:1;min-width:0;max-height:160px;padding:.45rem 0;border:none;outline:none;resize:none;background:none;color:var(--text);font:inherit;font-size:.95rem;line-height:1.4}.composer textarea::placeholder{color:#5d6a7e}.chars-left{align-self:center;font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.chars-left.low{color:var(--danger)}.send-btn{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--team);color:#0c1016;transition:filter .15s ease,opacity .15s ease}.send-btn:hover:not(:disabled){filter:brightness(1.1)}.send-btn:disabled{opacity:.35}@container chat (max-width: 560px){.chat-pane{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.rail{flex-direction:row;align-items:center;gap:.5rem;overflow-x:auto;overflow-y:hidden;padding:.5rem .75rem;border-right:none;border-bottom:1px solid var(--line);scrollbar-width:none}.rail-label,.rail-online{display:none}.team-title{padding:0 .35rem 0 0;font-size:.95rem;white-space:nowrap}.team-switch{display:flex;margin:0;padding-right:.5rem;border-right:1px solid var(--line)}.team-tab{padding:.4rem .65rem;font-size:.84rem;white-space:nowrap}.channel-list{display:flex;gap:.3rem}.channel{width:auto;padding:.4rem .7rem;font-size:.86rem;white-space:nowrap;border-radius:999px}}.tools-pane{container:tools / inline-size;overflow-y:auto;display:grid;align-content:center;padding:2rem 1.5rem;background:radial-gradient(520px 360px at 100% 0%,rgba(53,208,255,.09),transparent 65%),radial-gradient(520px 380px at 0% 100%,rgba(255,159,67,.09),transparent 65%),var(--bg)}.tools-inner{width:min(660px,100%);margin:0 auto}.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.tools-title{margin-top:.3rem;font-size:2rem;letter-spacing:-.02em}.tools-sub{margin-top:.3rem;color:var(--muted)}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.6rem}.tile{--tint: var(--text);position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:1.1rem;min-height:210px;padding:1.2rem;border-radius:18px;border:1px solid var(--line);background:linear-gradient(160deg,var(--bg-card),var(--bg-raise));color:var(--text);text-align:left;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.tile:hover,.tile:focus-visible{transform:translateY(-3px);border-color:color-mix(in srgb,var(--tint) 55%,transparent);box-shadow:0 14px 34px color-mix(in srgb,var(--tint) 16%,transparent)}.tile:focus-visible{outline-color:var(--tint)}.tile-onshape{--tint: #5aa9ff}.tile-github{--tint: #e7edf6}.tile-inventory{--tint: var(--gobilda)}.tile-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:18px;background:color-mix(in srgb,var(--tint) 14%,transparent);color:var(--tint)}.tile-text{display:grid;gap:.2rem;margin-top:auto}.tile-name{font-size:1.15rem;font-weight:700}.tile-blurb{font-size:.84rem;color:var(--muted);line-height:1.35}.tile-go{position:absolute;top:1.05rem;right:1.05rem;color:var(--muted);transition:color .18s ease}.tile:hover .tile-go{color:var(--tint)}@container tools (max-width: 520px){.tiles{grid-template-columns:minmax(0,1fr);gap:.75rem}.tile{flex-direction:row;align-items:center;min-height:0;padding:.9rem 2.6rem .9rem .9rem}.tile-icon{flex:none;width:60px;height:60px;border-radius:15px}.tile-text{margin-top:0}.tile-go{top:50%;transform:translateY(-50%)}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;background:var(--bg)}.overlay-bar{flex:none;display:flex;align-items:center;gap:.7rem;height:56px;padding:0 1rem;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));border-bottom:1px solid var(--line);background:var(--bg-rail)}.overlay-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f3c31624;color:var(--gobilda)}.overlay-bar h2{flex:1;font-size:1.05rem}.overlay-close{padding:.4rem .8rem;font-size:.85rem}.overlay-frame{flex:1;width:100%;border:none;background:#fff}.overlay-note{flex:1;display:grid;place-content:center;justify-items:center;gap:.8rem;color:var(--muted)}.mobile-nav{display:none}@media(max-width:860px){.split{grid-template-columns:minmax(0,1fr)}.app[data-half=chat] .tools-pane,.app[data-half=tools] .chat-pane{display:none}.chat-pane{border-right:none}.tools-pane{align-content:start;padding:1.5rem 1rem}.mobile-nav{flex:none;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);background:var(--bg-rail);padding-bottom:env(safe-area-inset-bottom)}.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem 0 .45rem;font-size:.72rem;font-weight:600;color:var(--muted)}.mobile-nav button.active{color:var(--team)}.signout span,.me-team{display:none}.composer{padding:0 .75rem .75rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important}.coach-badge:after{animation:none}}
