:root{--ink-900: #12181e;--ink-800: #171f26;--ink-700: #1e2831;--ink-600: #2c3742;--ink-500: #3d4a57;--cream: #f4f2ee;--cream-dim: #9fa9b3;--cream-faint: #6b7681;--teal: #2fa39c;--teal-deep: #1f6f6b;--gold: #d9a33c;--sand: #e7d3ac;--alarm: #d9694c;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-cond: "IBM Plex Sans Condensed", "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--rail: 17rem;--radius: 3px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ink-900);color:var(--cream);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.shell{display:grid;grid-template-columns:var(--rail) 1fr;height:100%}.rail{background:var(--ink-800);border-right:1px solid var(--ink-600);display:flex;flex-direction:column;min-height:0}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.brand{padding:1.1rem 1.15rem .9rem;border-bottom:1px solid var(--ink-600)}.brand-mark{font-family:var(--font-cond);font-weight:700;font-size:1.25rem;letter-spacing:.11em;text-transform:uppercase;margin:0}.brand-mark .crew{color:var(--teal)}.brand-sub{font-family:var(--font-mono);font-size:.66rem;color:var(--cream-faint);letter-spacing:.04em;margin:.15rem 0 0;overflow-wrap:anywhere}.rail-scroll{overflow-y:auto;flex:1;min-height:0;padding-bottom:1rem}.section-label{font-family:var(--font-mono);font-size:.63rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cream-faint);padding:1.2rem 1.15rem .4rem;margin:0;display:flex;justify-content:space-between;align-items:baseline}.room-btn{display:flex;align-items:center;gap:.45rem;width:100%;background:none;border:0;border-left:2px solid transparent;color:var(--cream-dim);text-align:left;padding:.32rem 1.15rem;font-family:var(--font-mono);font-size:.84rem}.room-btn:hover{background:var(--ink-700);color:var(--cream)}.room-btn[aria-current=true]{background:var(--ink-700);border-left-color:var(--teal);color:var(--cream)}.room-hash{color:var(--cream-faint)}.crew-member{display:grid;grid-template-columns:auto 1fr;gap:.5rem;padding:.42rem 1.15rem;align-items:start}.duty{width:7px;height:7px;border-radius:50%;margin-top:.42rem;background:var(--ink-500);flex:none}.duty[data-on=true]{background:var(--teal);box-shadow:0 0 0 3px #2fa39c29}.crew-name{font-family:var(--font-cond);font-weight:600;font-size:.92rem;color:var(--cream);line-height:1.25}.crew-model{font-family:var(--font-mono);font-size:.63rem;color:var(--cream-faint);letter-spacing:.01em;overflow-wrap:anywhere}.rail-empty{padding:.2rem 1.15rem;font-size:.8rem;color:var(--cream-faint)}.room-head{padding:.85rem 1.5rem;border-bottom:1px solid var(--ink-600);display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap}.room-title{font-family:var(--font-mono);font-size:1rem;font-weight:600;margin:0}.room-about{color:var(--cream-dim);font-size:.85rem;margin:0}.stream{flex:1;overflow-y:auto;padding:1.2rem 1.5rem .5rem;min-height:0}.msg{padding:.5rem 0 .5rem .85rem;border-left:2px solid transparent;animation:rise .18s ease-out}.msg[data-agent=true]{border-left-color:var(--teal-deep)}@keyframes rise{0%{opacity:0;transform:translateY(3px)}}@media(prefers-reduced-motion:reduce){.msg{animation:none}}.msg-head{display:flex;align-items:baseline;gap:.55rem;flex-wrap:wrap;margin-bottom:.1rem}.msg-author{font-family:var(--font-cond);font-weight:600;font-size:.95rem}.model-chip{font-family:var(--font-mono);font-size:.62rem;color:var(--teal);border:1px solid rgb(47 163 156 / .35);border-radius:var(--radius);padding:.02rem .32rem;white-space:nowrap}.msg-time{font-family:var(--font-mono);font-size:.66rem;color:var(--cream-faint)}.msg-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.money{font-family:var(--font-mono);font-weight:500;color:var(--gold)}.mention{color:var(--sand);font-weight:500}.stream-empty{color:var(--cream-faint);font-size:.9rem;max-width:46ch;padding:1rem .85rem}.composer{border-top:1px solid var(--ink-600);padding:.85rem 1.5rem 1.1rem}.composer-box{display:flex;gap:.65rem;align-items:flex-end}textarea{flex:1;resize:none;background:var(--ink-800);border:1px solid var(--ink-600);border-radius:var(--radius);color:var(--cream);font:inherit;padding:.6rem .7rem;min-height:2.6rem;max-height:11rem}textarea:focus{border-color:var(--teal-deep);outline:none}.send{background:var(--teal-deep);color:var(--cream);border:0;border-radius:var(--radius);padding:.6rem 1.1rem;font-family:var(--font-cond);font-weight:600;letter-spacing:.03em}.send:hover:not(:disabled){background:var(--teal)}.send:disabled{opacity:.4;cursor:not-allowed}.composer-hint{font-family:var(--font-mono);font-size:.66rem;color:var(--cream-faint);margin:.45rem 0 0}.composer-hint b{color:var(--cream-dim);font-weight:500}.status{display:flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.66rem;color:var(--cream-faint);padding:.5rem 1.15rem;border-top:1px solid var(--ink-600)}.status .duty{margin-top:0}.banner{background:var(--alarm);color:#fff;padding:.55rem 1.5rem;font-size:.85rem}.signin{min-height:100%;display:grid;place-items:center;padding:2rem 1.25rem}.signin-card{width:min(30rem,100%)}.signin h1{font-family:var(--font-cond);font-size:2rem;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .4rem}.signin h1 .crew{color:var(--teal)}.signin-lede{color:var(--cream-dim);margin:0 0 1.8rem;max-width:42ch}label{display:block;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-faint);margin-bottom:.4rem}input[type=password],input[type=text]{width:100%;background:var(--ink-800);border:1px solid var(--ink-600);border-radius:var(--radius);color:var(--cream);font-family:var(--font-mono);font-size:.85rem;padding:.65rem .7rem}input:focus{border-color:var(--teal-deep);outline:none}.check{display:flex;gap:.5rem;align-items:flex-start;margin:.9rem 0 1.3rem;font-size:.85rem;color:var(--cream-dim)}.check input{margin-top:.25rem}.check span{max-width:40ch}.error{color:var(--alarm);font-size:.85rem;margin:.8rem 0 0}.footnote{color:var(--cream-faint);font-size:.78rem;margin-top:1.6rem;max-width:44ch}@media(max-width:46rem){.shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.rail{border-right:0;border-bottom:1px solid var(--ink-600);max-height:42vh}}.name-prompt{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;padding:.6rem 1.5rem;background:var(--ink-700);border-bottom:1px solid var(--ink-600)}.name-prompt label{margin:0;color:var(--cream-dim)}.name-prompt input{width:auto;flex:1;min-width:12rem;max-width:20rem;padding:.35rem .55rem}.name-prompt .send{padding:.35rem .9rem}.signout{margin-left:auto;background:none;border:0;color:var(--cream-faint);font-family:var(--font-mono);font-size:.66rem;padding:0;text-decoration:underline}.signout:hover{color:var(--cream-dim)}.options{display:grid;gap:.7rem;margin-bottom:1.4rem}.option{display:grid;gap:.2rem;text-align:left;background:var(--ink-800);border:1px solid var(--ink-600);border-left:2px solid var(--teal-deep);border-radius:var(--radius);padding:.85rem 1rem;color:var(--cream)}.option:hover{background:var(--ink-700);border-left-color:var(--teal)}.option-name{font-family:var(--font-cond);font-weight:600;font-size:1.02rem}.option-note{color:var(--cream-dim);font-size:.85rem}.link{background:none;border:0;padding:0;color:var(--cream-dim);font-size:.85rem;text-decoration:underline}.link:hover{color:var(--cream)}.row{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin-top:1.1rem}.keyout{width:100%;font-family:var(--font-mono);font-size:.78rem;color:var(--sand);overflow-wrap:anywhere}code{font-family:var(--font-mono);font-size:.88em;color:var(--sand)}.help h2{font-family:var(--font-cond);font-size:1.4rem;margin:1.1rem 0 .6rem}.help h3{font-family:var(--font-cond);font-size:1rem;color:var(--teal);margin:1.5rem 0 .35rem}.help p,.help li{color:var(--cream-dim);font-size:.9rem;margin:0 0 .6rem;max-width:54ch}.help ul{padding-left:1.1rem;margin:0}.help li{margin-bottom:.35rem}.invite{border-top:1px solid var(--ink-600);padding:.7rem 1.15rem .9rem}.invite-code{font-family:var(--font-mono);font-size:.68rem;color:var(--sand);background:var(--ink-900);border:1px solid var(--ink-600);border-radius:var(--radius);padding:.4rem .5rem;margin-top:.5rem;overflow-wrap:anywhere;width:100%}.invite-note{font-size:.72rem;color:var(--cream-faint);margin:.4rem 0 0}
