:root{--bg:#141414;--fill:#0000004d;--float:#101010c7;--panel-2:#00000040;--border:#333;--border-strong:#111;--field:#333;--text:#eee;--text-dim:#b0b0b0;--accent:#fff6e2;--accent-dim:#fff6e273;--shadow:#0000004d 0px 8px 8px;--float-shadow:0 10px 40px #0000008c;color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Saira,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}a,a:visited{color:var(--accent);text-shadow:1px 1px 3px #00000080;text-decoration:none}a:hover{text-decoration:underline}body.demo{overflow:hidden}body.demo #canvas{background-color:#eee;width:100vw;height:100vh;display:block;position:fixed;inset:0}.hud{z-index:5;background:var(--float);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);box-shadow:var(--float-shadow);border-radius:14px;position:fixed}.hud-title{max-width:min(420px,100vw - 32px);padding:12px 18px;top:16px;left:16px}.hud-title .back{text-transform:uppercase;letter-spacing:1px;font-size:11px}.hud-title h1{letter-spacing:1px;text-transform:uppercase;text-shadow:1px 1px 3px #00000080;margin:4px 0 0;font-size:22px;font-weight:800}.hud-title p{text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin:2px 0 0;font-size:12px}.hud-title .source-link{letter-spacing:.3px;align-items:center;gap:6px;margin-top:8px;font-size:11px;display:inline-flex}.hud-title .source-link[hidden]{display:none}.hud-title .hint{text-transform:none;letter-spacing:.3px;margin-top:8px;font-size:11px}.hud-info{max-width:calc(100vw - 140px);padding:8px 14px;font-size:13px;bottom:16px;left:16px}.hud-info:empty{display:none}.hud-fps{color:var(--text-dim);font-variant-numeric:tabular-nums;padding:6px 12px;font-size:12px;bottom:16px;right:16px}.hud-fps:empty{display:none}.hud-loading{letter-spacing:.04em;padding:10px 20px;font-size:14px;font-weight:600;animation:1.4s ease-in-out infinite hud-loading;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes hud-loading{50%{color:var(--text-dim)}}.panel{z-index:10;background:var(--float);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);width:290px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);box-shadow:var(--float-shadow);border-radius:16px;flex-direction:column;display:flex;position:fixed;top:16px;right:16px}.panel-header{border-bottom:1px solid var(--border);cursor:move;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 10px 10px 18px;display:flex}.panel-title{text-transform:uppercase;letter-spacing:1px;font-size:12px;font-weight:700}.panel-collapse{border:1px solid var(--border);background:var(--field);cursor:pointer;opacity:.85;border-radius:50%;flex:0 0 26px;width:26px;height:26px;position:relative}.panel-collapse:hover{border-color:var(--accent-dim);opacity:1}.panel-collapse:after{content:"";border-left:2px solid var(--text);border-top:2px solid var(--text);width:7px;height:7px;position:absolute;top:55%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.panel.collapsed .panel-collapse:after{top:40%;transform:translate(-50%,-50%)rotate(225deg)}.panel.collapsed{width:auto}.panel.collapsed .panel-header{border-bottom:none}.panel.collapsed .panel-scroll{display:none}.panel-scroll{scrollbar-width:thin;scrollbar-color:var(--border) transparent;padding:14px 14px 2px;overflow-y:auto}.panel-root{border:none;min-width:0;margin:0;padding:0}.section{border:1px solid var(--border);background:var(--panel-2);min-width:0;box-shadow:var(--shadow);border-radius:14px;margin:0 0 12px;padding:10px 14px 4px}.section legend{padding:0 4px}.section-toggle{color:var(--text-dim);font:inherit;text-transform:uppercase;letter-spacing:.8px;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0 2px;font-size:11px;display:flex}.section-toggle:hover{color:var(--accent)}.section-toggle:before{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:5px;height:5px;transition:transform .15s;transform:rotate(45deg)translateY(-2px)}.section.closed .section-toggle:before{transform:rotate(-45deg)}.section.closed{box-shadow:none;background:0 0;border-bottom-color:#0000;padding-bottom:0}.section.closed .section-body{display:none}.control{margin-bottom:12px;display:block}.control-inline{align-items:center;gap:8px;display:flex}.control-label{color:var(--text);justify-content:space-between;gap:8px;font-size:13px;display:flex}.control-value{color:var(--text-dim);font-variant-numeric:tabular-nums}.control>input,.control>select{margin-top:4px}input[type=range]{width:100%;accent-color:var(--accent)}input[type=number],select{background:var(--field);width:100%;color:var(--text);border:1px solid var(--border-strong);opacity:.85;border-radius:14px;padding:6px 10px;font-family:inherit;font-size:13px;font-weight:600}input[type=number]:hover,select:hover,input[type=number]:focus,select:focus{opacity:1;outline:none}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);margin:0}.panel-button{background:var(--field);width:100%;color:var(--text);border:1px solid var(--border-strong);cursor:pointer;opacity:.85;border-radius:10px;margin-bottom:12px;padding:8px;font-family:inherit;font-size:13px;font-weight:600;display:block}.panel-button:hover{border-color:var(--accent-dim);color:var(--accent);opacity:1}body.gallery{background:radial-gradient(circle at 50% 0%, #262626, var(--bg) 70%) fixed}.gallery-main{max-width:1100px;margin:0 auto;padding:24px}.masthead{align-items:center;gap:24px;margin-bottom:24px;display:flex}.masthead-flower{filter:drop-shadow(0 6px 12px #0009);flex:none;width:120px;height:150px}.masthead h1{letter-spacing:2px;text-transform:uppercase;text-shadow:1px 1px 3px #00000080;margin:0;font-size:40px;font-weight:800}.masthead p{text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin:2px 0 0;font-size:12px}.get-it{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.install,.get-link{border:1px solid var(--border);background:var(--panel-2);height:30px;color:var(--text);font:inherit;text-shadow:none;cursor:pointer;border-radius:8px;align-items:center;gap:7px;padding:0 11px;font-size:13px;transition:border-color .15s;display:inline-flex}.install:hover,.get-link:hover{border-color:var(--accent-dim)}.install code{color:var(--accent);font:12px ui-monospace,SFMono-Regular,Consolas,monospace}.install-note{color:var(--text-dim);font-size:11px}.get-it .version{color:var(--text-dim);font-size:12px}.about code{color:var(--text);font:.92em ui-monospace,SFMono-Regular,Consolas,monospace}.canvas-frame{border:1px solid var(--border);height:360px;box-shadow:var(--float-shadow);background:radial-gradient(circle at 50% 30%,#262626,#0d0d0d);border-radius:16px;margin-bottom:24px;position:relative;overflow:hidden}.mission-step{color:#cfd6e6;white-space:nowrap;background:#080a12bf;border:1px solid #ffffff40;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.mission-step.now{color:#fff;border-color:#ffb36b;font-size:13px;box-shadow:0 0 12px #ff8c3c73}.chip-layer{color:#d8f8ff;white-space:nowrap;text-shadow:0 0 8px #3cf0ff99;background:#030a0eb3;border-left:2px solid #3cf0ff;padding:3px 10px;font-size:12px}.volcano-callout{color:#dbe6f5;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid;padding:1px 2px 3px;font-size:11px;font-weight:600;transition:color .3s,opacity .15s}.volcano-callout.now{color:#ffc46b}.cells-poster{color:#2b2b33;background:#f1ece1;flex-direction:column;padding:190px 24px 24px;display:flex;position:fixed;inset:0;overflow:auto}.cells-poster header{text-align:center;max-width:760px;margin:0 auto 4px}.cells-poster h2{letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:clamp(26px,4vw,42px);font-weight:800}.cells-poster header p{color:#6b6b78;margin:2px 0 0;font-size:14px}.cells-pair{flex:1;grid-template-columns:1fr 1fr;gap:16px;min-height:0;display:grid}.cells-pair section{flex-direction:column;min-height:440px;display:flex;position:relative}.cells-pair h3{z-index:1;pointer-events:none;text-align:center;letter-spacing:.06em;text-transform:uppercase;color:#c2456b;margin:0;font-size:clamp(30px,3.6vw,54px);font-weight:800;line-height:1;position:absolute;top:0;left:0;right:0}.cells-pair section:nth-child(2) h3{color:#5b8a2b}.cells-pair canvas{flex:1;width:100%;min-height:0;display:block}@media (width<=900px){.cells-pair{grid-template-columns:1fr}.cells-pair section{min-height:560px}}.cell-callout{white-space:normal;color:#4a4a56;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid;max-width:132px;padding:1px 2px 3px;font-size:11px;font-weight:600;line-height:1.25;transition:color .2s,opacity .15s}.cell-callout.now{color:#d0336a}.hero-caption{color:#9dffb5;pointer-events:none;background:#00000073;border-radius:6px;padding:4px 9px;font:12px ui-monospace,SFMono-Regular,Consolas,monospace;position:absolute;bottom:12px;left:16px}.hero-caption:empty{display:none}.canvas-frame canvas{width:100%;height:100%;display:block}.section-heading{text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);margin:0 0 12px;font-size:11px;font-weight:400}.demo-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:0 0 32px;padding:0;list-style:none;display:grid}.demo-grid a{border:1px solid var(--border);background:var(--panel-2);height:100%;box-shadow:var(--shadow);color:var(--text);text-shadow:none;border-radius:14px;padding:12px 14px;transition:border-color .15s;display:block;overflow:hidden}.demo-grid .thumb{aspect-ratio:16/10;object-fit:cover;background:#0e0e10;border-radius:13px 13px 0 0;width:calc(100% + 28px);height:auto;margin:-12px -14px 10px;display:block}.demo-grid a:hover{border-color:var(--accent-dim);text-decoration:none}.demo-grid .name{text-transform:uppercase;letter-spacing:1px;color:var(--accent);font-size:11px;font-weight:700;display:block}.demo-grid .title{margin-top:2px;font-size:13px;line-height:1.35;display:block}.about{color:var(--text-dim);margin-top:16px;margin-bottom:32px;line-height:1.55}.about b{color:var(--text)}.about-lead{color:var(--text);margin:0 0 16px;font-size:16px}.about-points{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.about-points li{border:1px solid var(--border);background:var(--panel-2);border-radius:14px;padding:12px 14px;font-size:13px}.about-points b{text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.credits{text-align:center;color:var(--text-dim);margin:32px 0 8px;font-size:12px}.credits p{margin:4px 0}@media (width<=600px){.gallery-main{padding:16px}.masthead h1{font-size:30px}.canvas-frame{height:260px}.hud-title{padding:10px 14px}.hud-title h1{font-size:18px}}.demo-label{background:var(--float);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:4px 10px;font-size:13px}.demo-label.row-title{font-weight:600}.demo-label.sample-caption{white-space:pre-line;text-align:center;font-size:12px;line-height:1.25}.demo-tick{color:var(--text-dim);font-size:12px}.json-editor{z-index:5;background:var(--float);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);width:min(400px,100vw - 32px);box-shadow:var(--float-shadow);border-radius:14px;flex-direction:column;gap:8px;padding:10px;display:flex;position:fixed;top:190px;bottom:16px;left:16px}.json-editor textarea{resize:none;border:1px solid var(--border);background:var(--panel-2);min-height:0;color:var(--text);tab-size:2;border-radius:8px;flex:1;padding:8px;font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.json-snippets{flex-wrap:wrap;gap:6px;display:flex}.json-snippets button{border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;border-radius:999px;padding:3px 9px;font-size:12px}.json-snippets button:before{content:"+ ";opacity:.6}.json-snippets button:hover:not(:disabled){border-color:#8fd19e}.json-snippets button:disabled{opacity:.4;cursor:default}.json-snippets button:disabled:before{content:"✓ "}.json-status{color:#8fd19e;margin:0;font-size:12px}.json-status.error{color:#ff8a80}@media (width<=700px){.json-editor{height:40vh;top:auto}}.demo-value{color:var(--text);font-variant-numeric:tabular-nums;background:#101014b3;border-radius:4px;padding:1px 5px;font-size:11px}.demo-legend{z-index:5;background:var(--float);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);color:var(--text);border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;font-size:12px;display:flex;position:fixed;bottom:64px;left:16px}.demo-legend-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;font-size:11px}.demo-legend-item{color:inherit;font:inherit;text-align:left;cursor:default;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}button.demo-legend-item{cursor:pointer}.demo-legend-item.off{opacity:.35}.demo-legend-swatch{border-radius:3px;width:12px;height:12px}.demo-legend-gradient{border-radius:3px;width:140px;height:10px}.demo-legend-scale{color:var(--text-dim);justify-content:space-between;font-size:11px;display:flex}.demo-axis{color:var(--text);font-size:13px;font-weight:600}.demo-tag{color:#fff;background:#2b3240;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.phoria-legend.phoria-legend-bottom-right{bottom:60px}.demo-dashboard{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-auto-rows:minmax(200px,1fr);gap:12px;display:grid;position:fixed;inset:200px 16px 64px;overflow:auto}.demo-chartlab{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));grid-auto-rows:300px}.demo-tile{border:1px solid var(--border);background:#1b1c22;border-radius:12px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.demo-tile h3{color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;margin:0;padding:8px 12px 0;font-size:12px;font-weight:600}.demo-tile canvas{flex:1;width:100%;min-height:0;display:block}.code-panel{z-index:5;background:var(--float);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);max-width:min(640px,100vw - 32px);color:var(--text);border-radius:12px;padding:10px 14px 12px;position:fixed;bottom:16px;left:16px}.spec-panel{width:min(460px,100vw - 32px);height:calc(70vh - 177.8px);bottom:64px;overflow:auto}.code-panel p{letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin:0 0 6px;font-size:11px}.code-panel pre{margin:0;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-x:auto}.bot-readout{letter-spacing:.14em;text-transform:uppercase;pointer-events:none;min-width:190px;padding:12px 16px;font-size:11px;bottom:56px;right:16px}.bot-readout b{letter-spacing:0;color:#3df51f;font-variant-numeric:tabular-nums;margin:6px 6px 8px 0;font:800 38px/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:inline-block}.bot-readout em{color:var(--text-dim);font-style:normal}.bot-readout i{background:#ffffff1f;border-radius:2px;height:4px;display:block;overflow:hidden}.bot-readout s{background:linear-gradient(90deg,#3df51f,#f5c518);width:0;height:100%;display:block}.bot-readout small{color:var(--text-dim);margin-top:8px;font-size:11px;display:block}.engine-callout{color:#e6e9ee;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid;padding:1px 2px 3px;font-size:11px;font-weight:600}.planner-panel{width:260px;max-height:calc(100vh - 140px);color:var(--text);padding:12px;font-size:13px;line-height:1.3;bottom:56px;right:16px;overflow-y:auto}.planner-panel h3{letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:12px}.planner-panel p{color:var(--text-dim);margin:2px 0 10px;font-size:11px}.planner-items{grid-template-columns:1fr 1fr;gap:6px;display:grid}.planner-item{border:1px solid var(--border);color:inherit;font:inherit;text-align:left;cursor:grab;touch-action:none;background:0 0;border-radius:8px;padding:6px 8px;font-size:12px}.planner-item:hover{background:#ffffff14}.planner-item small{color:var(--text-dim);font-size:10px;display:block}.planner-tools{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.planner-tools button{color:#1b1d20;cursor:pointer;background:#ffb000;border:0;border-radius:6px;flex:18%;padding:6px 4px;font:600 11px system-ui,sans-serif}.planner-tools button[data-do=plan]{flex-basis:100%}.planner-tools button:disabled{color:var(--text-dim);cursor:default;background:#ffffff1a}.planner-distance{color:#fff;background:#d4573b;border-radius:3px;padding:1px 5px;font:600 11px system-ui,sans-serif}.skull-callout{white-space:normal;color:#2f2a22;border-bottom:1px solid;max-width:150px;padding:0 2px 2px;font:italic 15px/1.2 Georgia,Times New Roman,serif;transition:color .2s,opacity .15s}.skull-callout.now{color:#b3261e}.skull-credit{color:#8a7f6c;pointer-events:none;font:italic 11px Georgia,Times New Roman,serif;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.skull-tip{max-width:230px}.skull-tip b{display:block}.skull-tip i{opacity:.75;margin-bottom:4px;font-family:Georgia,Times New Roman,serif;display:block}.skull-tip p{white-space:normal;margin:0}.skull-callout{pointer-events:auto;cursor:pointer}.skull-callout:hover{color:#b3261e}.skull-callout.chosen{color:#b3261e;font-weight:700}.colour-poster{color:#2b2b33;background:#f6f4ef;padding:190px 24px 72px;position:fixed;inset:0;overflow:auto}.colour-poster header{text-align:center;max-width:820px;margin:0 auto 12px}.colour-poster h2{letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:clamp(26px,4vw,42px);font-weight:800}.colour-poster header p{color:#6b6b78;margin:4px 0 0;font-size:14px}.colour-grid{grid-template:"hsl rgb"400px"swatches mix"400px/3fr 2fr;gap:16px;display:grid}.colour-grid section{flex-direction:column;min-width:0;min-height:0;display:flex}.colour-hsl{grid-area:hsl}.colour-rgb{grid-area:rgb}.colour-mix{grid-area:mix}.colour-swatches{grid-area:swatches}.colour-grid h3{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:22px;font-weight:800}.colour-grid section>p{color:#6b6b78;max-width:560px;margin:2px 0 4px;font-size:13px;line-height:1.4}.colour-grid canvas{flex:1;width:100%;min-height:0;display:block}@media (width<=1000px){.colour-grid{grid-template:"hsl"420px"rgb"340px"swatches"420px"mix"320px/1fr}}@media (width<=520px){.colour-grid{grid-template-rows:420px 340px 560px 320px}}.colour-hex{color:#2b2b33;background:#ffffffd9;border-radius:3px;padding:1px 4px;font:11px ui-monospace,SFMono-Regular,Consolas,monospace}.colour-row{color:#6b6b78;letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.colour-callout{white-space:normal;color:#4a4a56;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid;max-width:150px;padding:1px 2px 3px;font-size:11px;font-weight:600}.colour-controls{color:#4a4a56;letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:8px 28px;margin:6px 0 2px;font-size:11px;font-weight:600;display:flex}.colour-controls label{align-items:center;gap:10px;display:flex}.colour-controls input[type=range]{appearance:none;cursor:pointer;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:5px;width:220px;height:10px;margin:0}.colour-controls input[type=range]::-webkit-slider-thumb{appearance:none;background:#fff;border:2px solid #2b2b33;border-radius:50%;width:18px;height:18px}.colour-controls input[type=range]::-moz-range-thumb{background:#fff;border:2px solid #2b2b33;border-radius:50%;width:14px;height:14px}.colour-controls output{color:#2b2b33;text-transform:none;min-width:3em;font:12px ui-monospace,SFMono-Regular,Consolas,monospace}.colour-controls select{color:#2b2b33;letter-spacing:.02em;appearance:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%232b2b33' stroke-width='1.5'/%3E%3C/svg%3E") right 9px center no-repeat;border:1px solid #c9c5bb;border-radius:6px;padding:4px 26px 4px 10px;font:600 12px system-ui,sans-serif}.cad-sheet{color:#1d1d22;background:#dcd9d2;padding:190px 24px 72px;position:fixed;inset:0;overflow:auto}.cad-frame{outline-offset:5px;background:#fbfaf7;border:2px solid #1d1d22;outline:1px solid #1d1d22;max-width:1500px;margin:0 auto;padding:14px;box-shadow:0 6px 30px #0000002e}.cad-toolbar{flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:12px;display:flex}.cad-toolbar button{color:#1d1d22;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#fff;border:1.5px solid #1d1d22;border-radius:2px;padding:6px 14px;font:600 12px system-ui,sans-serif}.cad-toolbar button[aria-pressed=true]{color:#fff;background:#1d1d22}.cad-readout{color:#c0392b;margin-left:auto;font:12px ui-monospace,SFMono-Regular,Consolas,monospace}.cad-views{border:1.5px solid #1d1d22;grid-template-rows:380px 380px;grid-template-columns:1fr 1fr;display:grid}.cad-views section{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.cad-views section:nth-child(odd){border-right:1px solid #1d1d22}.cad-views section:nth-child(-n+2){border-bottom:1px solid #1d1d22}.cad-views h4{z-index:1;letter-spacing:.12em;text-transform:uppercase;pointer-events:none;margin:0;font:600 11px system-ui,sans-serif;position:absolute;bottom:8px;left:10px}.cad-views canvas{flex:1;width:100%;min-height:0;display:block}.cad-footer{border:1.5px solid #1d1d22;border-top:0;grid-template-columns:3fr 2fr;display:grid}.cad-bom{border-collapse:collapse;width:100%;font:12px system-ui,sans-serif}.cad-bom th,.cad-bom td{text-align:left;border-bottom:1px solid #1d1d22;border-right:1px solid #1d1d22;padding:4px 8px}.cad-bom th{letter-spacing:.1em;text-transform:uppercase;font-size:10px}.cad-bom tbody tr{cursor:default}.cad-bom tbody tr:hover{background:#fdecd9}.cad-title{grid-template-columns:1fr 1fr;font:600 13px system-ui,sans-serif;display:grid}.cad-title>div{border-bottom:1px solid #1d1d22;border-left:1px solid #1d1d22;padding:4px 8px}.cad-title small{letter-spacing:.1em;text-transform:uppercase;opacity:.6;font-size:9px;font-weight:600;display:block}.cad-title-name{text-transform:uppercase;grid-column:span 2;font-size:16px}.cad-title svg{vertical-align:middle}.cad-dim{color:#1d1d22;background:#fbfaf7;padding:0 3px;font:12px ui-monospace,SFMono-Regular,Consolas,monospace}.cad-section-mark{color:#c0392b;font-weight:700}.cad-measure{color:#c0392b;border:1px solid #c0392b}.cad-part-name{color:#1d1d22;background:#fff;border:1px solid #1d1d22;border-radius:10px;padding:1px 6px;font:600 11px system-ui,sans-serif}@media (width<=1000px){.cad-views{grid-template-rows:repeat(4,360px);grid-template-columns:1fr}.cad-views section:nth-child(odd){border-right:0}.cad-views section:not(:last-child){border-bottom:1px solid #1d1d22}.cad-footer{grid-template-columns:1fr}}.tour-card{z-index:4;-webkit-backdrop-filter:blur(8px);color:#dfe7f1;pointer-events:none;background:#080c12d1;border:1px solid #7fb6ff59;border-left:3px solid #7fb6ff;border-radius:8px;width:260px;padding:12px 14px;position:fixed;top:0;left:0}.tour-card h3{letter-spacing:.08em;text-transform:uppercase;color:#9cc8ff;margin:0 0 4px;font-size:13px}.tour-card p{margin:0;font-size:13px;line-height:1.45}.tour-bar{z-index:5;border:1px solid var(--border);background:var(--float);-webkit-backdrop-filter:blur(12px);border-radius:14px;align-items:center;gap:14px;padding:8px 10px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.tour-bar button{border:1px solid var(--border);width:38px;height:38px;color:var(--text);cursor:pointer;background:0 0;border-radius:50%;font-size:22px;line-height:1}.tour-bar button:hover{background:#7fb6ff26}.tour-now{flex-direction:column;align-items:center;gap:2px;min-width:190px;display:flex}.tour-count{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.tour-now strong{font-size:14px}.tour-dots{gap:6px;margin-top:3px;display:flex}.tour-dots i{cursor:pointer;background:#ffffff40;border-radius:50%;width:7px;height:7px}.tour-dots i.on{background:#7fb6ff}.tour-pin{color:#dfe7f1;text-align:center;background:#080c12d9;border:2px solid #7fb6ff;border-radius:50%;width:22px;height:22px;font:700 11px/18px system-ui,sans-serif;box-shadow:0 0 12px #7fb6ff99}.tour-pin:hover{color:#05070b;background:#7fb6ff}.gun-poster{color:#26282c;background-color:#eeefef;background-image:linear-gradient(#d3d6d8 1px,#0000 1px),linear-gradient(90deg,#d3d6d8 1px,#0000 1px),linear-gradient(#e2e4e5 1px,#0000 1px),linear-gradient(90deg,#e2e4e5 1px,#0000 1px);background-size:80px 80px,80px 80px,16px 16px,16px 16px;padding:206px 24px 72px;position:fixed;inset:0;overflow:auto}.gun-sheet{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 280px;gap:16px;height:100%;min-height:380px;display:grid}.gun-view{flex-direction:column;gap:6px;min-height:0;display:flex}.gun-view canvas{flex:1;width:100%;min-height:0;display:block}.gun-controls{font-variant:small-caps;letter-spacing:.04em;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;font-size:12px;display:flex}.gun-controls button{min-width:92px;color:inherit;font:inherit;cursor:pointer;background:#f7f7f6;border:1.5px solid #26282c;border-radius:3px;padding:5px 12px;font-size:13px}.gun-controls button:hover{background:#fff}.gun-controls label{align-items:center;gap:8px;display:flex}.gun-controls input{accent-color:#26282c;width:140px}.gun-num{color:#26282c;text-shadow:0 0 3px #eeefef,0 0 3px #eeefef;pointer-events:none;font-size:13px;font-style:italic;font-weight:800;transition:color .15s}.gun-num.now{color:#c2711a}.gun-legend{font-variant:small-caps;letter-spacing:.04em;align-self:end;font-size:12px}.gun-legend h2{color:#6c7076;letter-spacing:0;margin:0 0 6px;font-family:Arial Narrow,Roboto Condensed,Helvetica Neue,sans-serif;font-size:30px;font-weight:700;font-stretch:75%}.gun-legend ol{margin:0;padding:0;line-height:1.38;list-style:none}.gun-legend li{break-inside:avoid;cursor:default;border-radius:3px;padding:1px 4px;transition:background .15s,color .15s}.gun-legend li b{text-align:right;font-variant:normal;min-width:2.2em;display:inline-block}.gun-legend li.now{color:#1d1e21;background:#eaa23a}@media (width<=900px){.gun-poster{padding-top:240px}.gun-sheet{grid-template-columns:1fr;height:auto}.gun-view{height:70vh}}.pt-symbol{color:#16161a;text-shadow:0 1px #ffffff59;pointer-events:none;font:700 15px/1 system-ui,sans-serif}.pt-number,.pt-name{color:#16161acc;pointer-events:none;font:600 9px/1 system-ui,sans-serif}.pt-gap{color:var(--text-dim);font:600 10px/1 system-ui,sans-serif}.pt-title{background:var(--float);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:3px 10px;font-size:13px;font-weight:600}.pt-legend{flex-wrap:wrap;justify-content:center;gap:4px 6px;width:max-content;max-width:min(620px,100vw - 340px);padding:10px 12px;font-size:12px;display:flex;bottom:16px;left:50%;transform:translate(-50%)}.pt-legend-ramp{flex-direction:column;align-items:flex-start}.pt-legend button{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:6px;padding:3px 8px;display:inline-flex}.pt-legend button:hover{border-color:var(--border)}.pt-legend button.off{opacity:.35}.pt-legend i{border-radius:3px;width:11px;height:11px}.pt-legend b{text-transform:capitalize;width:100%;font-weight:600}.pt-ramp{background:linear-gradient(90deg,#440154,#3b528b,#21918c,#5ec962,#fde725);border-radius:5px;width:220px;height:10px}.pt-ramp-ends{width:220px;color:var(--text-dim);justify-content:space-between;display:flex}.pt-missing:before{content:"";vertical-align:-1px;background:#3a3a44;border-radius:3px;width:11px;height:11px;margin-right:6px;display:inline-block}.pt-card{width:260px;max-height:calc(100vh - 380px);padding:16px 18px;font-size:13px;bottom:56px;right:16px;overflow:auto}.pt-card-head{background:var(--c);color:#16161a;border-radius:10px;align-items:baseline;gap:10px;padding:10px 12px;display:flex}.pt-card-symbol{font-size:34px;font-weight:800}.pt-card-number{font-size:15px;font-weight:700}.pt-card h2{margin:10px 0 2px;font-size:20px}.pt-card-category{color:var(--text-dim);margin:0 0 10px}.pt-card dl{grid-template-columns:auto 1fr;gap:4px 10px;margin:0 0 12px;display:grid}.pt-card dt{color:var(--text-dim)}.pt-card dd{overflow-wrap:anywhere;margin:0}.pt-card-close{border:1px solid var(--border);background:var(--panel-2);width:100%;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;padding:6px}@media (width<=700px){.pt-card{width:calc(100vw - 32px);max-height:45vh;top:auto;bottom:16px;overflow:auto}}.pt-bar{flex-direction:column;align-items:flex-end;gap:8px;max-width:min(420px,100vw - 32px);padding:8px;display:flex;top:16px;right:16px}.pt-views{gap:4px;display:flex}.pt-views button,.pt-properties button{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:7px 14px;font-size:13px;font-weight:600}.pt-views button:hover,.pt-properties button:hover{color:var(--text);background:#ffffff0f}.pt-views button.now,.pt-properties button.now{color:#16161a;background:var(--accent)}.pt-views .pt-reset{border-color:var(--border);margin-left:4px;padding:7px 10px;font-size:15px;line-height:1}.pt-properties{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:4px;padding-top:8px;display:flex}.pt-properties[hidden]{display:none}.pt-properties button{text-transform:capitalize;padding:5px 10px;font-size:12px;font-weight:500}.phx-bar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;max-width:calc(100vw - 32px);padding:8px;display:flex;top:16px;right:16px}.phx-gap{width:8px}.phx-caption{color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;padding:0 4px 0 6px;font-size:11px;font-weight:600}.phx-bar button{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:7px 14px;font-size:13px;font-weight:600}.phx-bar button:hover{color:var(--text);background:#ffffff0f}.phx-bar .phx-icon svg{display:block}.phx-bar button.now{color:#16161a;background:var(--accent)}.phx-bar .phx-reset{border-color:var(--border);margin-left:4px;padding:7px 10px;font-size:15px;line-height:1}.phx-hit{color:#fff;white-space:nowrap;background:#c8372d;border-radius:6px;padding:2px 7px;font-size:12px;font-weight:700;transition:opacity .6s}.phoria-leader.phx-hit{stroke:#c8372d;fill:#c8372d}.phx-hit.fading{opacity:0}@media (width<=860px){.phx-bar{justify-content:center;top:auto;bottom:92px;left:16px}}@media (width<=520px){.phx-bar{flex-wrap:nowrap;gap:2px;padding:6px}.phx-bar button{padding:7px 9px}.phx-bar .phx-reset{margin-left:2px}.phx-caption{display:none}.phx-gap{background:var(--border);align-self:stretch;width:1px;margin:4px 5px}}.csg-bar{align-items:center;gap:4px;padding:8px;display:flex;top:16px;right:16px}.csg-bar button{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:7px 14px;font-size:13px;font-weight:600}.csg-bar button:hover{color:var(--text);background:#ffffff0f}.csg-bar button.now{color:#16161a;background:var(--accent)}.csg-bar button[data-op].now{color:#fff;background:var(--op)}.csg-bar .csg-icon{padding:5px 9px}.csg-bar .csg-icon svg{display:block}.csg-gap{background:var(--border);align-self:stretch;width:1px;margin:4px 6px}.csg-bar .csg-reset{border-color:var(--border);margin-left:4px;padding:7px 10px;font-size:15px;line-height:1}.csg-tag{color:#fff;letter-spacing:.04em;white-space:nowrap;pointer-events:none;background:#16161ab8;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:600}@media (width<=860px){.csg-bar{justify-content:center;top:auto;bottom:92px;left:16px}}@media (width<=520px){.csg-bar{gap:2px;padding:6px}.csg-bar button{padding:7px;font-size:12px}.csg-bar .csg-icon{padding:5px}.csg-gap{margin:4px 3px}.csg-bar .csg-reset{margin-left:2px}}.nav-bar{align-items:center;gap:4px;padding:8px;display:flex;top:16px;right:16px}.nav-bar button{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:7px 14px;font-size:13px;font-weight:600}.nav-bar button:hover{color:var(--text);background:#ffffff0f}.nav-bar button.now{color:#16161a;background:var(--accent)}.nav-bar .nav-reset{border-color:var(--border);padding:7px 10px;font-size:15px;line-height:1}.nav-name{color:#16161a;white-space:nowrap;background:#ffb000;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700}@media (width<=860px){.nav-bar{inset:auto auto 92px 50%;transform:translate(-50%)}}.cloth-bar{align-items:center;gap:4px;padding:8px;display:flex;top:16px;right:16px}.cloth-bar button{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:7px 14px;font-size:13px;font-weight:600}.cloth-bar button:hover{color:var(--text);background:#ffffff0f}.cloth-bar button.now{color:#16161a;background:var(--accent)}.cloth-gap{background:var(--border);align-self:stretch;width:1px;margin:4px 6px}@media (width<=860px){.cloth-bar{inset:auto auto 92px 50%;transform:translate(-50%)}}.paint-aim{cursor:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cg%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M12%202v7M12%2015v7M2%2012h7M15%2012h7%22%20stroke%3D%22%23000%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%224%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%221.6%22%20fill%3D%22%23000%22%20fill-opacity%3D%22.75%22%2F%3E%3Cpath%20d%3D%22M12%202v7M12%2015v7M2%2012h7M15%2012h7%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%220.8%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E) 12 12,crosshair!important}.paint-bar{flex-wrap:nowrap;align-items:center;gap:4px;max-width:calc(100vw - 32px);padding:6px;display:flex;bottom:72px;left:50%;transform:translate(-50%)}.paint-bar button{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex-shrink:0;padding:7px 12px;font-size:13px;font-weight:600}.paint-bar button:hover{color:var(--text);background:#ffffff0f}.paint-bar button.now{color:#16161a;background:var(--accent)}.paint-bar .paint-swatch{border-radius:50%;padding:4px}.paint-swatch span{border-radius:50%;width:24px;height:24px;display:block;box-shadow:inset 0 0 0 1px #00000059}.paint-bar .paint-swatch.now{box-shadow:0 0 0 2px var(--accent);background:0 0}.paint-bar .paint-clean{border-color:var(--border);padding:7px 10px;font-size:15px;line-height:1}.paint-gap{background:var(--border);flex-shrink:0;align-self:stretch;width:1px;margin:4px}@media (width<=860px){.paint-bar{bottom:92px}}@media (width<=520px){.paint-bar{gap:0;padding:4px;bottom:104px}.paint-bar button{padding:7px;font-size:12px}.paint-bar .paint-swatch{padding:3px}.paint-swatch span{width:20px;height:20px}.paint-gap{margin:4px 3px}}
