:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;background:#0f1115;color:#d8dce3}*{box-sizing:border-box}body{margin:0}.panel{display:grid;grid-template-columns:300px 1fr;height:100vh}aside{padding:20px;border-right:1px solid #23262d;overflow-y:auto}h1{margin:0 0 20px;font-size:16px;font-weight:600;letter-spacing:.02em}label{display:block;margin-bottom:14px}.name{display:block;margin-bottom:4px;font-size:12px;color:#9aa2b1}.hint{display:block;margin-top:3px;font-size:11px;line-height:1.4;color:#5f6674}input{width:100%;padding:6px 8px;border:1px solid #2b2f38;border-radius:4px;background:#171a20;color:inherit;font:inherit}input:focus{outline:none;border-color:#4d7ea8}.actions{display:flex;gap:8px;margin:18px 0}button{padding:7px 14px;border:1px solid #2b2f38;border-radius:4px;background:#1c2029;color:inherit;font:inherit;cursor:pointer}button:hover:not(:disabled){border-color:#4d7ea8}button:disabled{opacity:.5;cursor:default}button.active{background:#2c4a63;border-color:#4d7ea8}.stats{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;padding-top:14px;border-top:1px solid #23262d;font-size:12px}.stats dt{color:#5f6674}.stats dd{margin:0;font-variant-numeric:tabular-nums}.legend{margin:14px 0 0;padding:14px 0 0;border-top:1px solid #23262d;list-style:none;font-size:12px}.legend li{display:flex;align-items:center;gap:8px;margin-bottom:4px}.legend i{width:12px;height:12px;border:1px solid #00000055;border-radius:2px}.saved{padding:8px 10px;border:1px solid #2f5c3a;border-radius:4px;background:#16241a;color:#9fd0ab;font-size:12px}.presets{display:grid;gap:6px;margin-bottom:14px}.presets button{text-align:left}.presets button strong{display:block;margin-bottom:2px}.presets button .hint{margin:0}.row-inline{display:flex;align-items:flex-end;gap:8px}.row-inline label{flex:1}.worlds{margin-top:18px;padding-top:14px;border-top:1px solid #23262d}.worlds h2{margin:0 0 10px;font-size:12px;font-weight:600;color:#9aa2b1;text-transform:uppercase;letter-spacing:.06em}.world{margin-bottom:10px;padding:8px 10px;border:1px solid #23262d;border-radius:4px;background:#14171d}.world.active{border-color:#2f5c3a;background:#14201a}.world .row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.world .row:last-child{margin:6px 0 0}.world button{padding:4px 8px;font-size:11px}.badge.muted{background:#23262d;color:#9aa2b1}.badge{padding:1px 6px;border-radius:3px;background:#2f5c3a;color:#cfe9d6;font-size:10px;letter-spacing:.04em}code{padding:1px 4px;border-radius:3px;background:#1c2029;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.error{padding:8px 10px;border:1px solid #6b2f2f;border-radius:4px;background:#2a1717;color:#e0a0a0;font-size:12px}main{display:flex;flex-direction:column;min-width:0}nav{display:flex;gap:6px;padding:12px 16px;border-bottom:1px solid #23262d}.map{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:16px;background:#0a0c0f}canvas{max-width:100%;max-height:100%;image-rendering:pixelated}.shell{display:flex;flex-direction:column;height:100vh}.shell .panel{height:auto;flex:1;min-height:0}nav.top{display:flex;align-items:center;gap:16px;padding:0 16px;height:44px;border-bottom:1px solid #23262d;background:#12151b;flex:none}nav.top .brand{font-weight:600;letter-spacing:.02em;color:#e6e9ef}nav.top a{color:#9aa2b1;text-decoration:none;font-size:13px;padding:4px 0;border-bottom:2px solid transparent}nav.top a:hover{color:#d8dce3}nav.top a.active{color:#e6e9ef;border-bottom-color:#4d7fd6}nav.top .spacer{flex:1}nav.top .who{font-size:12px;color:#5f6674}.loading{padding:40px;color:#5f6674}.login{display:grid;place-items:center;height:100vh}.login form{width:300px;padding:24px;border:1px solid #23262d;border-radius:8px;background:#12151b}.dashboard{padding:24px;overflow-y:auto}.dashboard header{display:flex;align-items:baseline;gap:12px;margin-bottom:20px}.dashboard h1{margin:0}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:20px}.card{padding:14px 16px;border:1px solid #23262d;border-radius:8px;background:#12151b}.card.wide{grid-column:span 2}.card .label{display:block;font-size:12px;color:#9aa2b1}.card .figure{display:block;margin:6px 0 2px;font-size:28px;font-weight:600;color:#e6e9ef;font-variant-numeric:tabular-nums}.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-bottom:12px}.panel-box{padding:14px 16px;border:1px solid #23262d;border-radius:8px;background:#12151b}.panel-box h2{margin:0 0 10px;font-size:13px;font-weight:600;color:#9aa2b1}.recent{list-style:none;margin:0;padding:0}.recent li{display:flex;align-items:baseline;gap:8px;padding:6px 0;border-bottom:1px solid #1b1e25}.recent li:last-child{border-bottom:none}.recent strong{color:#d8dce3}.recent li button{margin-left:auto}.recent .badge{margin-left:6px}a{color:#6f9ee8}.dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#3c434f;vertical-align:middle}.dot.online{background:#7fd18b}.pair{display:grid;grid-template-columns:1fr 1fr;gap:6px}select{width:100%;padding:6px 8px;border:1px solid #2b2f38;border-radius:4px;background:#0f1115;color:#d8dce3;font:inherit}.recent li button.active{border-color:#4d7fd6;color:#e6e9ef}.split.one{grid-template-columns:1fr}.holding{margin-top:14px;padding-top:10px;border-top:1px solid var(--line, rgba(255, 255, 255, .12))}.stock{list-style:none;margin:6px 0 0;padding:0}.stock li{display:flex;align-items:center;gap:10px;padding:4px 0}.stock li .name{min-width:120px}.stock li strong{min-width:48px;text-align:right;font-variant-numeric:tabular-nums}.stock li .icon{width:18px;text-align:center}.stock-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px}.stock-list li{display:flex;align-items:baseline;gap:6px}.stock-list .name{opacity:.8}.stock-list strong{font-variant-numeric:tabular-nums}.stock-edit{margin:6px 0 0;padding:3px 8px;border:1px solid #2b3340;border-radius:4px;background:none;color:#9aa2b1;font:inherit;font-size:12px;cursor:pointer}.stock-edit:hover{color:#d8dce3;border-color:#3d4756}.godmode{margin-top:4px;padding:7px 12px;border:1px solid #7a5a2b;border-radius:5px;background:#e8c07a1a;color:#e8c07a;font:inherit;cursor:pointer}.godmode:hover:not(:disabled){background:#e8c07a2e}.godmode:disabled{opacity:.55;cursor:default}.settlement{color:#e8c07a}.models{display:grid;grid-template-columns:200px minmax(0,1fr) 260px;gap:12px;align-items:start}@media (max-width: 1100px){.models{grid-template-columns:1fr}}.viewer-box{padding:0;overflow:hidden}.viewer{width:100%;height:520px}.files{list-style:none;margin:0;padding:0;max-height:520px;overflow-y:auto}.files li button,.points li button{width:100%;text-align:left;background:none;border:none;color:inherit;padding:5px 8px;border-radius:6px;cursor:pointer;font:inherit}.files li button:hover,.points li button:hover{background:#1b2029}.files li button.chosen,.points li.chosen>button{background:#232b36;color:#fff}.kind{margin-bottom:14px}.kind h3{margin:0 0 6px;font-size:13px;text-transform:lowercase}.points{list-style:none;margin:0 0 8px;padding:0}.points li{display:flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums;font-size:12px}.points li button.drop{width:auto;flex:0 0 auto;opacity:.5}.points li button.drop:hover{opacity:1;color:#ff8b8b}.modes{display:flex;gap:4px;margin-bottom:8px}.modes button.chosen{background:#232b36;color:#fff}.compose-new{display:flex;gap:4px;margin:6px 0}.compose-new input,.compose-new select{flex:1;min-width:0}.part-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;font-size:12px}.part-fields label{display:flex;flex-direction:column;gap:2px}.part-fields input{width:100%}.inline-check{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.inline-check input{width:auto}.inline-check .hint{flex-basis:100%}.recent li.code-row{flex-wrap:wrap}.code-uses{flex-basis:100%}.code-uses ul{list-style:none;margin:4px 0 0;padding-left:12px}.code-uses summary{cursor:pointer}
