:root{--bg: #0b0d0f;--fg: #cfd2d4;--accent: #4ade80;--warn: #d4a017;--dim: #525862;--panel: rgba(11, 13, 15, .85);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--bg);color:var(--fg);overflow:hidden}#app{width:100vw;height:100vh}#app canvas{display:block}.hidden{display:none!important}#station-panel,#site-panel{position:fixed;bottom:40px;left:50%;transform:translate(-50%);max-width:640px;width:calc(100vw - 48px);padding:14px 18px;background:var(--panel);border:1px solid var(--dim);border-radius:2px;font-size:13px;line-height:1.5;color:var(--fg)}#site-panel{top:40px;bottom:auto}.btn-row{display:flex;gap:10px;flex-wrap:wrap}button{font-family:inherit;font-size:12px;letter-spacing:.14em;color:var(--accent);background:transparent;border:1px solid var(--accent);padding:6px 16px;cursor:pointer;transition:background .1s ease}button:hover:not(:disabled){background:#4ade801a}button:active:not(:disabled){background:#4ade8033}button:disabled{opacity:.5;cursor:wait}#return-btn{color:var(--warn);border-color:var(--warn)}#return-btn:hover:not(:disabled){background:#d4a0171a}#return-btn:active:not(:disabled){background:#d4a01733}#last-signal,#site-info,#mutations-list,#station-progress{margin:12px 0 0;padding:0;font-family:inherit;font-size:12px;line-height:1.65;color:var(--fg);white-space:pre-wrap;word-break:break-word}#station-progress{color:var(--accent)}#station-progress:empty{display:none}#mutations-list:empty{display:none}#mutations-list{color:var(--accent);border-top:1px dashed var(--dim);padding-top:8px}#mutation-overlay{position:fixed;inset:0;background:#030405bf;display:flex;align-items:center;justify-content:center;z-index:20;padding:24px}.mutation-panel{max-width:880px;width:100%;background:var(--panel);border:1px solid var(--warn);padding:24px}.mutation-title{font-size:13px;letter-spacing:.18em;color:var(--warn);text-align:center;margin-bottom:20px}.mutation-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.mutation-card{display:flex;flex-direction:column;gap:10px;padding:16px;background:transparent;border:1px solid var(--dim);color:var(--fg);font-family:inherit;cursor:pointer;text-align:left;letter-spacing:normal;transition:border-color .12s ease,background .12s ease}.mutation-card:hover:not(:disabled){border-color:var(--warn);background:#d4a0170f}.mutation-card .mutation-name{font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--warn)}.mutation-card .mutation-desc{font-size:12px;color:var(--fg);line-height:1.5}#workshop-overlay{position:fixed;inset:0;background:#030405bf;display:flex;align-items:center;justify-content:center;z-index:20;padding:24px}.workshop-panel{max-width:720px;width:100%;background:var(--panel);border:1px solid var(--accent);padding:24px}.workshop-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.workshop-title{font-size:13px;letter-spacing:.18em;color:var(--accent)}#workshop-close-btn{font-size:11px;padding:4px 10px;color:var(--dim);border-color:var(--dim)}.workshop-scrap{font-size:12px;color:var(--accent);margin-bottom:14px}.workshop-cards{display:grid;gap:10px}.workshop-card{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:12px 14px;background:transparent;border:1px solid var(--dim);color:var(--fg);font-family:inherit;font-size:12px;letter-spacing:normal;text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease}.workshop-card:hover:not(:disabled){border-color:var(--accent);background:#4ade800f}.workshop-card:disabled{cursor:not-allowed;opacity:.55}.workshop-card .card-name{font-weight:600;letter-spacing:.06em;color:var(--accent)}.workshop-card .card-cost{align-self:center;color:var(--warn);font-size:12px;letter-spacing:.04em}.workshop-card .card-desc{grid-column:1 / -1;color:var(--fg);line-height:1.5}.workshop-card .card-tier{grid-column:1 / -1;color:var(--dim);font-size:11px}.workshop-tabs{display:flex;gap:8px;margin-bottom:14px;border-bottom:1px solid var(--dim);padding-bottom:8px}.workshop-tab{font-family:inherit;font-size:11px;letter-spacing:.14em;padding:4px 12px;background:transparent;border:1px solid var(--dim);color:var(--dim);cursor:pointer}.workshop-tab:hover{color:var(--fg);border-color:var(--fg)}.workshop-tab.active{color:var(--accent);border-color:var(--accent);background:#4ade8014}.workshop-equipped{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}.slot-card{padding:10px 12px;border:1px solid var(--dim);background:#ffffff05;font-size:12px;line-height:1.5}.slot-card .slot-name{color:var(--warn);font-size:11px;letter-spacing:.14em;margin-bottom:4px}.slot-card .slot-empty{color:var(--dim);font-style:italic}.slot-card .slot-part-name{color:var(--fg);font-weight:600}.slot-card .slot-part-desc{color:var(--dim);font-size:11px}.slot-card .unequip-btn{margin-top:6px;font-size:10px;padding:3px 8px;color:var(--dim);border-color:var(--dim)}.workshop-inventory{display:grid;grid-template-columns:1fr;gap:8px;max-height:45vh;overflow-y:auto;padding-right:4px}.part-card{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:10px 12px;border:1px solid var(--dim);background:transparent;font-size:12px;color:var(--fg)}.part-card .part-name{color:var(--fg);font-weight:600}.part-card .part-tag{color:var(--dim);font-size:11px;letter-spacing:.08em}.part-card .part-desc{grid-column:1 / -1;color:var(--dim);font-size:11px;line-height:1.5}.part-card .part-actions{grid-column:1 / -1;display:flex;gap:8px;margin-top:4px}.part-card .part-actions button{font-size:10px;padding:3px 10px;letter-spacing:.1em}.part-card .scrap-btn{color:var(--warn);border-color:var(--warn)}.part-card .scrap-btn:hover:not(:disabled){background:#d4a01714}.part-card.equipped{border-color:var(--accent)}.part-card.equipped .part-tag{color:var(--accent)}#last-signal:empty:before{content:"no signals received";color:var(--dim);font-style:italic}#beta-banner{position:fixed;top:0;left:0;right:0;padding:4px 10px;font-size:11px;letter-spacing:.04em;color:var(--dim);background:#0000008c;border-bottom:1px solid rgba(212,160,23,.25);display:flex;gap:12px;align-items:center;justify-content:center;pointer-events:none;z-index:20}#beta-banner .beta-tag{color:var(--warn);font-weight:700;letter-spacing:.1em}#beta-banner .beta-text{opacity:.85}#beta-banner #discord-link,#beta-banner #report-btn{pointer-events:auto;background:transparent;border:1px solid rgba(212,160,23,.35);color:var(--fg);padding:2px 8px;font:inherit;font-size:10px;letter-spacing:.1em;text-decoration:none;cursor:pointer;border-radius:2px}#beta-banner #discord-link:hover,#beta-banner #report-btn:hover{border-color:var(--warn);color:var(--warn)}#report-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:30}.report-panel{width:min(560px,92vw);background:var(--panel);border:1px solid var(--dim);padding:16px;display:flex;flex-direction:column;gap:10px}.report-header{display:flex;align-items:center;justify-content:space-between}.report-title{font-weight:700;letter-spacing:.08em;color:var(--fg)}.report-header button{background:transparent;color:var(--dim);border:1px solid var(--dim);padding:2px 8px;font:inherit;font-size:11px;cursor:pointer;border-radius:2px}.report-hint{color:var(--dim);font-size:11px;line-height:1.5}#report-text{width:100%;min-height:140px;background:#00000080;color:var(--fg);border:1px solid var(--dim);padding:8px;font:inherit;font-size:13px;resize:vertical}#report-text:focus{outline:none;border-color:var(--accent)}.report-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}#report-status{font-size:11px;color:var(--dim)}#report-status.error{color:#f87171}#report-status.ok{color:var(--accent)}#report-submit-btn{background:transparent;color:var(--accent);border:1px solid var(--accent);padding:4px 12px;font:inherit;font-size:12px;letter-spacing:.1em;cursor:pointer;border-radius:2px}#report-submit-btn:disabled{opacity:.5;cursor:not-allowed}#settings-btn{position:fixed;top:34px;right:10px;width:30px;height:30px;padding:0;font-size:18px;line-height:1;color:var(--dim);background:#00000073;border:1px solid var(--dim);border-radius:2px;cursor:pointer;z-index:15;display:flex;align-items:center;justify-content:center}#settings-btn:hover{color:var(--fg);border-color:var(--fg)}#settings-overlay{position:fixed;inset:0;background:#000000c7;display:flex;align-items:center;justify-content:center;z-index:30}.settings-panel{width:min(560px,92vw);max-height:80vh;overflow-y:auto;background:var(--panel);border:1px solid var(--dim);padding:16px 18px;display:flex;flex-direction:column;gap:16px}.settings-header{display:flex;align-items:center;justify-content:space-between}.settings-title{font-weight:700;letter-spacing:.12em}.settings-header button{background:transparent;color:var(--dim);border:1px solid var(--dim);padding:2px 8px;font:inherit;font-size:11px;cursor:pointer;border-radius:2px}.settings-section{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid rgba(82,88,98,.3)}.settings-section:last-child{border-bottom:none;padding-bottom:0}.settings-section-title{font-size:11px;letter-spacing:.16em;color:var(--dim)}.settings-hint{font-size:11px;color:var(--dim);line-height:1.5}.settings-hint code{background:#0006;padding:1px 4px;border-radius:2px;color:var(--fg)}.settings-zoom-row{display:flex;align-items:center;gap:8px}.settings-zoom-row button{background:transparent;color:var(--fg);border:1px solid var(--dim);padding:4px 10px;font:inherit;font-size:13px;cursor:pointer;border-radius:2px;min-width:36px}.settings-zoom-row button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.settings-zoom-row button:disabled{opacity:.4;cursor:not-allowed}#settings-zoom-value{min-width:56px;text-align:center;color:var(--fg)}.settings-about{display:flex;flex-direction:column;gap:4px;font-size:12px;user-select:text}.settings-about>div{display:flex;gap:10px}.settings-about .k{min-width:80px;color:var(--dim);letter-spacing:.05em;flex-shrink:0}.settings-about>div>span:last-child{word-break:break-all}.settings-section.settings-danger{border:1px solid rgba(248,113,113,.35);padding:10px 12px;border-radius:2px}.settings-danger .settings-section-title{color:#f87171}#settings-reset-btn,#settings-reset-confirm-btn,#settings-reset-cancel-btn{background:transparent;color:#f87171;border:1px solid #f87171;padding:4px 12px;font:inherit;font-size:12px;letter-spacing:.08em;cursor:pointer;border-radius:2px}#settings-reset-btn:hover:not(:disabled),#settings-reset-confirm-btn:hover:not(:disabled){background:#f871711f}#settings-reset-btn:disabled,#settings-reset-confirm-btn:disabled{opacity:.4;cursor:not-allowed}#settings-reset-cancel-btn{color:var(--dim);border-color:var(--dim)}.settings-reset-confirm-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}#settings-reset-input{flex:1;min-width:100px;background:#00000080;color:var(--fg);border:1px solid var(--dim);padding:4px 8px;font:inherit;font-size:12px;letter-spacing:.1em}#settings-reset-input:focus{outline:none;border-color:#f87171}#settings-reset-status{font-size:11px;color:var(--dim)}#settings-reset-status.ok{color:var(--accent)}#settings-reset-status.error{color:#f87171}#status{position:fixed;bottom:8px;left:8px;padding:4px 8px;font-size:12px;color:var(--dim);background:#0006;border-radius:2px;pointer-events:none;z-index:10}#status.connected{color:var(--accent)}#status.error{color:#f87171}
