@import"https://fonts.googleapis.com/css2?family=Chakra+Petch:ital,wght@0,400;0,500;0,600;0,700;1,500&family=Inter:wght@400;500;600;700&display=swap";:root{color:#f4f7ff;background:#05070d;font-family:Inter,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{color:inherit}.app-shell{--panel: rgba(10, 14, 25, .82);--line: rgba(164, 187, 230, .16);position:relative;display:grid;grid-template:"top top top" 72px "loadout stage inspector" minmax(0,1fr) / 300px minmax(420px,1fr) 300px;width:100%;height:100%;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 30%),#05070d}.app-shell>*{min-width:0}.app-shell:before{position:absolute;inset:0;z-index:4;pointer-events:none;content:"";background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(255,255,255,.012) 4px);mix-blend-mode:screen}.topbar{grid-area:top;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line);background:#05070ddb;backdrop-filter:blur(18px)}.brand{display:flex;gap:12px;align-items:center}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--accent);color:var(--accent);font:700 15px/1 Chakra Petch,sans-serif;transform:skew(-8deg);box-shadow:inset 0 0 18px color-mix(in srgb,var(--accent) 16%,transparent)}.brand strong,.brand small,.system-readout span,.system-readout strong{display:block;font-family:Chakra Petch,sans-serif}.brand strong{letter-spacing:.14em}.brand small{margin-top:3px;color:#71809d;font-size:9px;letter-spacing:.18em}.system-readout{text-align:right}.system-readout span{color:#64718a;font-size:8px;letter-spacing:.18em}.system-readout strong{margin-top:4px;color:var(--accent);font-size:11px;letter-spacing:.08em}.panel{z-index:3;min-height:0;background:var(--panel);backdrop-filter:blur(20px)}.loadout-panel{grid-area:loadout;overflow-y:auto;border-right:1px solid var(--line)}.inspector-panel{grid-area:inspector;overflow-y:auto;border-left:1px solid var(--line)}.panel-heading{display:flex;gap:12px;align-items:center;height:68px;padding:0 18px;border-bottom:1px solid var(--line);font-family:Chakra Petch,sans-serif}.panel-heading>span{color:var(--accent);font-size:10px}.panel-heading small{display:block;color:#697793;font-size:8px;letter-spacing:.22em}.panel-heading h2{margin:2px 0 0;font-size:15px;letter-spacing:.12em}.loadout-list{padding:12px}.loadout-card{--card-accent: #fff;position:relative;display:grid;grid-template-columns:26px 1fr 6px;gap:10px;align-items:center;width:100%;min-height:58px;margin-bottom:7px;padding:9px 10px;border:1px solid transparent;background:#ffffff06;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.loadout-card:hover{transform:translate(3px);border-color:#ffffff24}.loadout-card.is-active{border-color:color-mix(in srgb,var(--card-accent) 60%,transparent);background:color-mix(in srgb,var(--card-accent) 9%,transparent)}.loadout-card>i{width:4px;height:30px;background:var(--card-accent);opacity:.3}.loadout-card.is-active>i{opacity:1;box-shadow:0 0 14px var(--card-accent)}.loadout-index{color:#5b6680;font:500 9px/1 Chakra Petch,sans-serif}.loadout-copy strong,.loadout-copy small{display:block;font-family:Chakra Petch,sans-serif}.loadout-copy strong{font-size:12px;letter-spacing:.04em}.loadout-copy small{margin-top:5px;color:#77839b;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.loadout-summary{padding:8px 20px 24px}.class-chip{display:inline-flex;padding:5px 8px;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);color:var(--accent);font:600 8px/1 Chakra Petch,sans-serif;letter-spacing:.2em;text-transform:uppercase}.loadout-summary h1{margin:14px 0 8px;font:600 25px/.95 Chakra Petch,sans-serif;letter-spacing:-.035em;text-transform:uppercase}.loadout-summary p{color:#8c98ad;font-size:11px;line-height:1.6}.stat-grid{display:grid;gap:8px;margin-top:20px}.stat-row{display:grid;grid-template-columns:28px 1fr 24px;gap:8px;align-items:center;font:500 8px/1 Chakra Petch,sans-serif}.stat-row>span{color:#68758d}.stat-row strong{font-size:8px;text-align:right}.stat-track{height:3px;background:#ffffff17}.stat-track i{display:block;height:100%;box-shadow:0 0 8px currentColor}.stage{position:relative;grid-area:stage;min-width:0;min-height:0}.viewer,.viewer canvas,.viewer-grid{position:absolute;inset:0;width:100%;height:100%}.viewer canvas{display:block;cursor:grab;touch-action:none}.viewer canvas:active{cursor:grabbing}.viewer-grid{z-index:1;pointer-events:none;opacity:.17;background-image:linear-gradient(rgba(126,152,202,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(126,152,202,.16) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle at center,black,transparent 72%)}.viewer-hint{position:absolute;z-index:2;top:18px;left:50%;display:flex;gap:18px;color:#bccce97a;font:500 8px/1 Chakra Petch,sans-serif;letter-spacing:.15em;transform:translate(-50%)}.viewer-status{position:absolute;z-index:4;top:50%;left:50%;padding:9px 12px;border:1px solid var(--accent);background:#080b14;color:var(--accent);font:600 9px/1 Chakra Petch,sans-serif;letter-spacing:.15em;transform:translate(-50%,-50%)}.viewer-error{border-color:#ff4b5d;color:#ff4b5d}.stage-title{position:absolute;z-index:2;top:24px;left:24px;pointer-events:none}.stage-title small,.stage-title strong,.stage-title span{display:block;font-family:Chakra Petch,sans-serif}.stage-title small{color:#647089;font-size:8px;letter-spacing:.2em}.stage-title strong{margin-top:6px;font-size:clamp(20px,2.4vw,34px);letter-spacing:-.03em;text-transform:uppercase}.stage-title span{margin-top:5px;color:var(--accent);font-size:9px;letter-spacing:.16em}.assembly-controls{position:absolute;z-index:3;right:18px;bottom:18px;left:18px;padding:10px;border:1px solid var(--line)}.control-row{display:grid;grid-template-columns:1fr;gap:10px;align-items:center}.control-row button{height:30px;border:1px solid rgba(255,255,255,.12);background:#ffffff09;font:600 8px/1 Chakra Petch,sans-serif;letter-spacing:.09em;cursor:pointer}.control-row button:hover,.control-row button.is-active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent)}.control-row label{display:grid;grid-template-columns:94px 1fr;gap:8px;align-items:center;color:#7e8aa1;font:500 8px/1 Chakra Petch,sans-serif;letter-spacing:.1em}input[type=range]{width:100%;height:3px;margin:0;appearance:none;background:#ffffff24}input[type=range]::-webkit-slider-thumb{width:12px;height:12px;appearance:none;border:2px solid #070910;border-radius:0;background:var(--accent);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 65%,transparent)}.component-hero{padding:22px 18px 14px}.component-hero>span{color:var(--accent);font:500 9px/1 Chakra Petch,sans-serif;letter-spacing:.16em;text-transform:uppercase}.component-hero strong{display:block;margin-top:10px;font:600 20px/1 Chakra Petch,sans-serif;text-transform:uppercase}.component-data{display:grid;grid-template-columns:1fr 1fr;margin:0 18px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.component-data>div{min-width:0;padding:11px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.component-data dt{color:#66728a;font:500 7px/1 Chakra Petch,sans-serif;letter-spacing:.12em}.component-data dd{overflow:hidden;margin:6px 0 0;font:600 11px/1 Chakra Petch,sans-serif;text-overflow:ellipsis;white-space:nowrap}.part-list{padding:12px;border-top:1px solid var(--line)}.part-list button{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;width:100%;min-height:42px;padding:8px;border:1px solid transparent;background:transparent;text-align:left;cursor:pointer}.part-list button:hover,.part-list button.is-active{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 7%,transparent)}.part-list span,.part-list small{color:#66728a;font:500 8px/1 Chakra Petch,sans-serif}.part-list strong{font:500 10px/1 Chakra Petch,sans-serif}.empty-inspector{padding:20px;color:#7c879e;font-size:12px}.global-error{position:fixed;z-index:20;right:20px;bottom:20px;padding:12px;border:1px solid #ff4b5d;background:#14080c;color:#ff8290;font-size:11px}.boot-screen{display:grid;place-content:center;width:100%;height:100%;background:#05070d;text-align:center}.boot-mark{color:#9cff1a;font:700 32px/1 Chakra Petch,sans-serif;letter-spacing:.18em}.boot-screen p{margin-top:16px;color:#70809e;font:500 9px/1 Chakra Petch,sans-serif;letter-spacing:.18em}@media(max-width:1050px){.app-shell{grid-template:"top top" 64px "stage stage" minmax(0,1fr) "loadout inspector" 230px / 1fr 1fr}.loadout-panel,.inspector-panel{border-top:1px solid var(--line);border-right:0;border-left:0}.loadout-panel{display:grid;grid-template-columns:1fr 1fr}.loadout-panel .panel-heading,.loadout-summary{display:none}.loadout-list{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:6px;overflow-y:auto}.loadout-card{margin:0}.inspector-panel .panel-heading,.component-hero{padding:12px 16px 2px}.component-hero strong{font-size:16px}.part-list{display:grid;grid-template-columns:1fr 1fr;padding-top:8px}}@media(max-width:680px){html,body{width:100%;height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}#root{width:100%;height:auto;min-height:100%;overflow:visible}.app-shell{grid-template:"top" 58px "stage" minmax(420px,58dvh) "loadout" 86px "inspector" auto / minmax(0,1fr);width:100vw;max-width:100vw;height:auto;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom)}.topbar{padding:0 12px}.system-readout,.viewer-hint{display:none}.loadout-panel{display:block;overflow:hidden}.loadout-list{display:flex;gap:8px;height:100%;padding:8px;overflow-x:auto;overflow-y:hidden;touch-action:pan-x pan-y;scroll-snap-type:x mandatory;scrollbar-width:none}.loadout-list::-webkit-scrollbar,.part-list::-webkit-scrollbar{display:none}.loadout-card{flex:0 0 162px;min-height:48px;scroll-snap-align:start}.stage-title{top:14px;left:14px}.assembly-controls{right:8px;bottom:8px;left:8px;padding:8px}.control-row{grid-template-columns:1fr}.part-list{display:flex;gap:5px;overflow-x:auto;scroll-snap-type:x mandatory;touch-action:pan-x pan-y}.part-list button{flex:0 0 150px;scroll-snap-align:start}.inspector-panel{overflow:visible}.component-hero{padding-top:10px}.component-hero strong{margin-top:7px}.component-data{margin-bottom:12px}.topbar,.assembly-controls,.loadout-panel,.inspector-panel,.component-hero,.component-data{touch-action:pan-y}}@media(pointer:coarse){.loadout-card,.part-list button{min-height:52px}.control-row button{min-height:38px}input[type=range]::-webkit-slider-thumb{width:18px;height:18px}}@media(prefers-reduced-motion:reduce){.loadout-card{transition:none}}
