#ui{font-family:system-ui,sans-serif}.menu{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#1b1d22}.panel{width:min(420px,92vw);padding:24px;background:#262a31;border-radius:10px;box-shadow:0 8px 30px #0008;display:flex;flex-direction:column;gap:12px}.panel h1{margin:0;font-size:32px;letter-spacing:1px}.panel .sub{margin:0 0 4px;color:#aab;font-size:14px}.panel label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#bbc}.panel input{padding:8px 10px;font-size:16px;border:1px solid #444b57;border-radius:6px;background:#14161a;color:#fff}.row{display:flex;gap:8px}.row>*{flex:1}button{padding:10px 14px;font-size:16px;border:0;border-radius:6px;background:#d7262b;color:#fff;cursor:pointer}button.secondary{background:#3a404b}button:disabled{opacity:.5;cursor:default}.banner{padding:8px 10px;border-radius:6px;background:#5a1d20;color:#ffd6d6;font-size:14px}.code{font-size:40px;font-weight:700;letter-spacing:8px;text-align:center;font-family:monospace}.roster{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.roster li{display:flex;align-items:center;gap:10px;padding:6px 8px;background:#1e2127;border-radius:6px}.dot{width:14px;height:14px;border-radius:50%;border:1px solid #0006;flex:none}.face{color:#aab;margin-left:auto}.hint{color:#aab;font-size:13px;text-align:center}.credits{margin:4px 0 0;font-size:11px;color:#889;text-align:center}.credits a{color:inherit}.screen{display:flex;gap:16px;align-items:flex-start;justify-content:center;max-height:100%;overflow-y:auto;padding:8px;box-sizing:border-box}.screen-side,.screen-col{display:flex;flex-direction:column;gap:16px}.screen-col>.flair-card{width:calc(min(420px,92vw) + 48px)}.controls{width:min(420px,92vw);padding:16px 18px;background:#262a31;border-radius:10px;box-shadow:0 8px 30px #0008;font-size:13px;color:#dde}.controls h2{margin:0 0 8px;font-size:18px}.controls table{border-collapse:collapse;width:100%}.controls td{padding:3px 6px 3px 0;vertical-align:top}.controls td:first-child{white-space:nowrap}.controls kbd{padding:1px 6px;border-radius:4px;background:#14161a;border:1px solid #444b57;font-family:monospace}.controls .tip{margin:8px 0 0;color:#aab}@media (max-width: 700px){.screen{flex-direction:column;align-items:center;justify-content:flex-start}}[hidden]{display:none!important}#ui{pointer-events:none}.menu{pointer-events:auto}.hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.crosshair{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#fff;box-shadow:0 0 0 1.5px #0009}.prompt{position:absolute;left:50%;top:calc(50% + 28px);transform:translate(-50%);white-space:pre;font-size:18px;font-weight:600;color:#fff;text-shadow:0 1px 3px #000,0 0 8px #000a}.prompt:empty{display:none}.toasts{position:absolute;left:50%;top:16px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px}.toast{padding:6px 14px;border-radius:6px;background:#000a;color:#fff;font-size:15px;animation:toast-fade 3.5s forwards}@keyframes toast-fade{0%{opacity:0;transform:translateY(-6px)}8%,80%{opacity:1;transform:none}to{opacity:0}}.vitals{position:absolute;left:18px;bottom:18px;display:flex;flex-direction:column;gap:6px;width:min(240px,40vw)}.bar{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#fff;text-shadow:0 1px 2px #000}.bar-label{width:50px}.bar .track{flex:1;height:10px;border-radius:5px;background:#0008;box-shadow:0 0 0 1px #0006;overflow:hidden}.bar .fill{height:100%;width:100%;border-radius:5px;transition:width .15s linear}.bar.health .fill{background:#e0403a}.bar.armor .fill{background:#7fb2e6}.throw-charge{position:absolute;left:50%;top:calc(50% + 58px);transform:translate(-50%);width:min(160px,40vw);height:8px;border-radius:4px;background:#0008;box-shadow:0 0 0 1px #0006;overflow:hidden}.throw-charge .fill{height:100%;width:0;background:linear-gradient(90deg,#f2c230,#e0403a)}.heave-call{position:absolute;left:50%;top:30%;transform:translate(-50%);font-size:54px;font-weight:800;letter-spacing:1px;color:#fff;text-shadow:0 2px 6px #000,0 0 18px #000a;white-space:nowrap}.heave-call.shout{color:#f2c230;font-size:68px}.out-label{position:absolute;left:50%;bottom:64px;transform:translate(-50%);padding:8px 16px;border-radius:8px;background:#000a;color:#fff;font-size:17px;font-weight:600;max-width:90vw;text-align:center}.hint-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:16px 22px;border-radius:10px;background:#000b;color:#fff;font-size:16px;line-height:1.6;text-align:center;white-space:pre-line}.hint-overlay .controls{margin:10px auto 0;padding:10px 4px 0;background:none;box-shadow:none;text-align:left;white-space:normal;line-height:1.35}.hint-text{font-size:20px;font-weight:700}.cpr-box{position:absolute;left:50%;top:50%;width:0;height:0}.cpr-target,.cpr-ring{position:absolute;left:0;top:0;width:64px;height:64px;border-radius:50%;box-sizing:border-box;transform:translate(-50%,-50%)}.cpr-target{border:3px solid #fff;box-shadow:0 0 10px #000a}.cpr-ring{border:3px solid #e0403a;opacity:.9}.cpr-text{position:absolute;left:0;top:70px;transform:translate(-50%);white-space:nowrap;font-weight:700;color:#fff;text-shadow:0 2px 6px #000,0 0 12px #000a}.call-card{position:absolute;left:50%;top:14%;transform:translate(-50%);width:min(520px,calc(100vw - 32px));padding:14px 20px 16px;border-radius:10px;background:#14161ae6;border-left:5px solid #d7262b;box-shadow:0 8px 30px #0008;color:#fff;pointer-events:none}.call-card.in{animation:card-in .35s ease-out}.call-card-head{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#f2c230}.call-card p{margin:6px 0 0;font-size:19px;line-height:1.4}@keyframes card-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.report{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:16px;background:#0007;pointer-events:none}.report-panel{width:min(640px,100%);max-height:100%;overflow-y:auto;padding:20px 22px;background:#262a31;border-radius:10px;box-shadow:0 8px 30px #0008;color:#eef;display:flex;flex-direction:column;gap:12px;pointer-events:auto}.report-panel h1{margin:0;font-size:32px}.report-panel h2{margin:0 0 4px;font-size:14px;letter-spacing:1px;text-transform:uppercase;color:#aab}.report-cols{display:flex;gap:16px;flex-wrap:wrap}.report-cols section{flex:1 1 220px}.report-cols table{width:100%;border-collapse:collapse;font-size:15px}.report-cols td{padding:3px 0}.report-cols td:last-child{text-align:right;font-variant-numeric:tabular-nums}.awards{display:flex;flex-direction:column;gap:2px}.award{display:grid;grid-template-columns:130px 80px 1fr;gap:8px;align-items:baseline;font-size:13px;line-height:1.25}.award-name{color:#ffd34d;font-weight:700}.award-cap{color:#cfd3e0}.report-pay{display:flex;justify-content:space-between;align-items:baseline;padding:8px 12px;border-radius:6px;background:#1e2127;font-size:16px}.report-pay strong{font-size:24px;color:#7fd18b;font-variant-numeric:tabular-nums}.report-pay strong.neg{color:#ff8a80}.report-complaints{font-size:15px;color:#ffd6a0}.letters{display:flex;flex-wrap:wrap;gap:14px;padding:12px;border-radius:8px;background:#6b4f33;box-shadow:inset 0 0 0 4px #4d3824}.letter{position:relative;flex:1 1 170px;max-width:100%;padding:16px 12px 10px;background:#fbf6e3;color:#2a2620;font-family:Georgia,serif;font-size:14px;line-height:1.4;box-shadow:0 3px 8px #0006;transform:rotate(-1.5deg)}.letter:nth-child(2n){transform:rotate(1.2deg);background:#f4f0ff}.letter:nth-child(3n){transform:rotate(-.6deg);background:#eef8ec}.letter p{margin:0}.letter .pin{position:absolute;left:50%;top:-6px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#d7262b;box-shadow:0 2px 3px #0008}.tip-strip{position:absolute;left:50%;bottom:112px;transform:translate(-50%);max-width:min(560px,86vw);padding:7px 14px;border-radius:8px;background:#000a;color:#ffe9a8;font-size:15px;line-height:1.35;text-align:center;pointer-events:none}.tip-strip[hidden]{display:none}.call-status{position:absolute;left:50%;top:14%;transform:translate(-50%);max-width:min(560px,calc(100vw - 32px));padding:7px 14px;border-radius:8px;background:#000a;color:#f2c230;font-size:16px;font-weight:700;line-height:1.35;text-align:center;pointer-events:none}.call-status[hidden]{display:none}.ready-label{position:absolute;left:50%;bottom:64px;transform:translate(-50%);padding:6px 14px;border-radius:8px;background:#000a;color:#7fd18b;font-size:15px;font-weight:600;white-space:nowrap}.settings-panel{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:#262a31;border-radius:10px;box-shadow:0 8px 30px #0008;font-size:13px;color:#dde;pointer-events:auto}.settings-panel.floating{position:absolute;right:16px;bottom:16px;z-index:1}.settings-panel label{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-panel input{margin:0;accent-color:#d7262b;cursor:pointer}.settings-panel input[type=range]{width:130px}.settings-panel .check{justify-content:flex-start;gap:8px}.settings-panel .check input{order:-1}.settings-panel button{padding:5px 10px;font-size:13px;background:#3a404b}.settings-panel hr{width:100%;margin:2px 0;border:0;border-top:1px solid #3a3f48}.flair-card{width:min(420px,92vw);padding:16px 18px;background:#262a31;border-radius:10px;box-shadow:0 8px 30px #0008;font-size:13px;color:#dde;box-sizing:border-box}.flair-card h2{margin:0 0 8px;font-size:18px}.flair-card canvas{display:block;border-radius:8px;background:#14161a}.flair-card .hint{margin:4px 0 10px}.flair-row{margin-top:8px}.flair-label{margin-bottom:4px;color:#bbc}.flair-card .chips{display:flex;flex-wrap:wrap;gap:6px}.flair-card .chip{padding:4px 9px;font-size:12px;background:#3a404b}.flair-card .chip.on{background:#d7262b}.flair-card .swatch{width:26px;height:26px;padding:0;border:0;border-radius:4px;outline:2px solid transparent}.flair-card .swatch.on{outline-color:#fff}.roster .flair{color:#aab;font-size:12px;margin-left:auto}.roster .face+.flair{margin-left:0}.station{width:min(640px,92vw);max-height:80vh;overflow-y:auto;box-sizing:border-box;padding:16px 18px;background:#262a31;border-radius:10px;box-shadow:0 8px 30px #0008;color:#eef;display:flex;flex-direction:column;gap:14px;pointer-events:auto}.station[hidden],.station [hidden]{display:none}.station h2{margin:0;font-size:24px}.station h3{margin:0 0 6px;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:#aab}.station h4{margin:8px 0 4px;font-size:12px;color:#aab}.station button{cursor:pointer}.station button:disabled{cursor:default;opacity:.55}.station-wait{color:#aab;font-style:italic}.station-stats{font-size:15px;color:#dde;font-variant-numeric:tabular-nums}.probation{margin-top:4px;padding:3px 8px;border-radius:6px;background:#5a3a12;color:#ffd6a0;font-size:13px;display:inline-block}.station-warn{margin-top:6px;padding:6px 10px;border-radius:6px;background:#5a1f1f;color:#ffb4ab;font-size:13px}.offers{display:flex;flex-wrap:wrap;gap:10px}.offer{flex:1 1 170px;padding:10px 12px;border-radius:8px;background:#1e2127;cursor:pointer;display:flex;flex-direction:column;gap:3px;font-size:13px}.offer:hover{background:#2a2f38}.offer.next{outline:2px solid #f2c230}.offer-alarm{color:#ff7a2f;font-size:13px;margin-top:2px}.offer-time{color:#9bb6ff;font-size:13px;margin-top:2px}.offer-stars{color:#f2c230;font-size:16px}.offer-address{font-weight:700;font-size:15px}.offer-building,.offer-reported{color:#bbc}.offer-pay{color:#7fd18b}.offer-allowance{color:#aab}.offer-challenge{color:#ffd6a0}.offer-votes{display:flex;gap:4px;min-height:12px}.dot{width:12px;height:12px;border-radius:50%;display:inline-block;box-shadow:0 0 0 1px #0008}.offer-next{align-self:flex-start;padding:1px 8px;border-radius:6px;background:#f2c230;color:#222;font-weight:700;font-size:12px}.station .hint{color:#aab;font-size:13px}.station .letter{color:#2a2620}.letter.chief{border-left:4px solid #d7262b}.letter.dispatch{border-left:4px solid #2f7de1}.letter-meta{margin-top:6px;font-size:11px;color:#776f60;font-family:sans-serif}.shop-item{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid #333943}.shop-icon{font-size:22px;width:30px;text-align:center}.shop-info{flex:1;min-width:0}.shop-name{font-weight:600}.shop-blurb{font-size:12px;color:#aab}.shop-confirm{font-size:13px;color:#ffd6a0}.station-log{margin-top:8px;font-size:12px;color:#aab}.shop-note{margin-top:8px;color:#ffb4ab;font-size:13px}.crew-host{display:flex;flex-direction:column;gap:6px;margin-top:8px}.crew-code,.crew-import{width:100%;box-sizing:border-box;min-height:48px;font-family:monospace;font-size:12px}.crew-name{box-sizing:border-box}.crew-error{color:#ffb4ab;font-size:13px}.perf-readout{position:absolute;left:8px;top:8px;z-index:2;padding:4px 8px;border-radius:6px;background:#000a;color:#dfe;font:12px/1.4 ui-monospace,Consolas,monospace;white-space:pre;pointer-events:none}
