:root{color-scheme:dark;--void: #07070a;--charcoal: #101014;--gilt: #c9a66b;--gilt-dim: #7a6238;--local: #7eb8c9;--ink: #e8dcc8;--frame: rgba(201, 166, 107, .35);--hairline: rgba(201, 166, 107, .55);font-family:Cormorant Garamond,Georgia,serif;background:var(--void);color:var(--ink)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--gilt) 22%,var(--void)) var(--void)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track,*::-webkit-scrollbar-corner{background:var(--void)}*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--gilt) 22%,var(--void));border:1px solid var(--void);border-radius:2px}*::-webkit-scrollbar-thumb:hover{background:var(--gilt)}*::-webkit-scrollbar-button{display:none;width:0;height:0}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden;background:radial-gradient(ellipse at center,#121218 0%,var(--void) 70%)}button,input,select{font:inherit;color:inherit;background:#16161c;border:1px solid var(--frame);border-radius:2px}button{cursor:pointer;padding:.35rem .7rem;letter-spacing:.04em;text-transform:uppercase;font-size:.75rem}button:hover,button.active{border-color:var(--gilt);color:var(--gilt)}.plate{width:100%;height:100%;display:grid;grid-template-rows:auto 1fr auto;padding:.75rem 1rem .5rem;gap:.5rem}.plate-header{border-bottom:1px solid var(--hairline);padding-bottom:.4rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.journal{font-family:Cinzel,serif;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gilt)}.caption{font-size:.9rem;opacity:.85;font-style:italic}.viewports{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;min-height:0}.solo-plan .viewports,.solo-oblique .viewports{grid-template-columns:1fr}.viewport{position:relative;min-height:0;border:1px solid var(--frame);background:linear-gradient(var(--hairline),var(--hairline)) top left / 18px 1px no-repeat,linear-gradient(var(--hairline),var(--hairline)) top left / 1px 18px no-repeat,linear-gradient(var(--hairline),var(--hairline)) top right / 18px 1px no-repeat,linear-gradient(var(--hairline),var(--hairline)) top right / 1px 18px no-repeat,linear-gradient(var(--hairline),var(--hairline)) bottom left / 18px 1px no-repeat,linear-gradient(var(--hairline),var(--hairline)) bottom left / 1px 18px no-repeat,linear-gradient(var(--hairline),var(--hairline)) bottom right / 18px 1px no-repeat,linear-gradient(var(--hairline),var(--hairline)) bottom right / 1px 18px no-repeat,radial-gradient(ellipse at center,#16161e,#0a0a0c 70%)}.viewport-glow{position:absolute;top:0;right:0;bottom:0;left:0;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--plate-glow, #7eb6ff) 55%,transparent)) drop-shadow(0 0 28px color-mix(in srgb,var(--plate-accent, #f0c14a) 32%,transparent))}.viewport-glow.is-sparse,.viewport-glow.is-plan{filter:none}.viewport-glow:after{content:"";pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 58%,rgba(0,0,0,.4) 100%)}.viewport canvas{width:100%!important;height:100%!important;background:transparent}.plan-svg-host{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.plan-svg-host.is-panning{cursor:grabbing}.plan-svg-camera{position:absolute;top:0;right:0;bottom:0;left:0}.solo-plan .plan-svg-host svg,.plan-svg-host svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;overflow:hidden}.plan-svg-host .mb-layer{transform-box:view-box;transform-origin:500px 500px}.plan-svg-host .mb-select-overlay{pointer-events:none}.plan-svg-host .mb-select-overlay :is(path,circle,ellipse,line,polyline,polygon,rect){stroke:var(--plate-accent, #f0c14a);stroke-opacity:.95;vector-effect:non-scaling-stroke;stroke-width:2.25}.plan-svg-host .mb-select-overlay :is(path,circle,ellipse,line,polyline,polygon,rect)[fill=none]{fill:none}.plan-svg-host .mb-select-overlay :is(path,circle,ellipse,line,polyline,polygon,rect)[fill]:not([fill=none]){fill:color-mix(in srgb,var(--plate-accent, #f0c14a) 18%,transparent)}.plan-svg-host .mb-select-overlay text{fill:color-mix(in srgb,var(--plate-accent, #f0c14a) 70%,transparent);stroke:none}.viewport-label{position:absolute;top:.55rem;left:.7rem;z-index:2;font-family:Cinzel,serif;font-size:.68rem;letter-spacing:.16em;color:var(--gilt);pointer-events:none}.viewport-modes{position:absolute;top:.4rem;right:.5rem;z-index:2;display:flex;gap:.2rem}.viewport-modes button{padding:.18rem .45rem;font-size:.62rem;letter-spacing:.1em}.scale-bar{position:absolute;bottom:.5rem;right:.7rem;z-index:2;font-size:.65rem;letter-spacing:.08em;color:var(--gilt-dim);pointer-events:none}.scale-bar span{transition:color .14s linear}.plate-footer{display:grid;gap:.45rem;border-top:1px solid var(--hairline);padding-top:.45rem}.catalog{display:flex;gap:.45rem;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding-bottom:.2rem}.mini-plate{flex:0 0 auto;width:108px;display:grid;gap:.2rem;padding:.25rem;background:#0e0e12;text-align:left;text-transform:none;letter-spacing:0;font-size:.65rem;color:var(--ink)}.mini-plate.active{outline:1px solid var(--gilt)}.mini-plate.local{outline:1px solid var(--local);border-color:color-mix(in srgb,var(--local) 55%,transparent);color:var(--local)}.mini-plate.local.active{outline:2px solid var(--local);color:var(--local)}.mini-thumb{width:100%;aspect-ratio:1;background:#050508;overflow:hidden}.mini-thumb>div{width:100%;height:100%}.controls{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.controls label{display:flex;align-items:center;gap:.35rem;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gilt-dim)}.controls label:has(input:disabled){opacity:.45}.controls input:disabled{cursor:not-allowed}.clips{display:flex;gap:.25rem}.drawer{position:fixed;top:0;right:0;width:min(440px,96vw);height:100%;background:#0a0a0ee6;border-left:1px solid var(--hairline);padding:0;overflow:hidden;z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;flex-direction:column}.drawer-head{display:flex;justify-content:space-between;align-items:center;flex:0 0 auto;padding:1rem 1rem .5rem}.drawer h2,.drawer h3{font-family:Cinzel,serif;font-weight:500;letter-spacing:.08em;color:var(--gilt);margin:0 0 .5rem}.drawer h4{margin:.35rem 0 .15rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gilt-dim)}.accordion{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0 1rem .65rem}.accordion-panel{flex:0 0 auto;min-height:0;display:flex;flex-direction:column;margin:0;overflow:hidden}.accordion-panel.open{flex:1 1 0}.accordion-panel>h3{margin:0;flex:0 0 auto;position:relative;z-index:1;background:#0a0a0ef5}.accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:transparent;border:none;border-bottom:1px solid var(--hairline);border-radius:0;padding:.55rem .1rem;font-family:Cinzel,serif;font-weight:500;letter-spacing:.08em;text-transform:none;font-size:.95rem;color:var(--gilt);text-align:left}.accordion-trigger:hover,.accordion-trigger.active{color:var(--gilt);border-color:var(--gilt)}.accordion-panel.open .accordion-trigger{border-color:var(--gilt)}.accordion-chevron{font-size:.72rem;opacity:.7}.accordion-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;display:grid;gap:.45rem;align-content:start;grid-auto-rows:max-content;padding:.55rem 0 .7rem}.accordion-panel.fill .accordion-body{display:flex;flex-direction:column}.drawer section:not(.accordion-panel){margin-bottom:1.1rem;display:grid;gap:.45rem}.drawer label,.palette-field{display:grid;gap:.2rem;font-size:.8rem}.palette-picker{position:relative}.palette-trigger{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.45rem;width:100%;text-transform:none;letter-spacing:0;text-align:left;font-size:.82rem;padding:.28rem .4rem}.palette-trigger-copy,.palette-legend,.palette-option{display:grid;grid-template-columns:minmax(4.8rem,1fr) auto;align-items:center;gap:.35rem;min-width:0}.palette-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-chevron{font-size:.7rem;opacity:.7}.palette-menu{margin-top:.2rem;max-height:16.5rem;overflow:auto;background:#121218;border:1px solid var(--frame);border-radius:2px}.palette-legend{position:sticky;top:0;z-index:1;padding:.35rem .4rem .3rem;background:#1a1a22;border-bottom:1px solid var(--hairline);font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;color:var(--gilt-dim)}.palette-legend-name{min-width:0}.palette-trigger .palette-swatches{grid-template-columns:repeat(4,1.2rem)}.palette-legend-channel{display:grid;justify-items:center;gap:.1rem;width:3.05rem;text-align:center;line-height:1.2}.palette-legend-channel strong{font-weight:600;color:var(--gilt)}.palette-legend-channel em{font-style:normal;text-transform:none;letter-spacing:0;font-size:.64rem;opacity:.9}.palette-swatches{display:grid;grid-template-columns:repeat(4,3.05rem);justify-items:center;gap:0}.palette-swatch{width:1.05rem;height:1.05rem;border:1px solid color-mix(in srgb,var(--ink) 28%,transparent);border-radius:2px;box-shadow:inset 0 0 0 1px #00000040}.palette-option{cursor:pointer;border:0;border-radius:0;background:transparent;padding:.32rem .4rem;font-size:.82rem;-webkit-user-select:none;user-select:none}.palette-option.is-active,.palette-option:hover{background:color-mix(in srgb,var(--gilt) 14%,transparent);border-color:transparent;color:inherit}.palette-option.is-selected .palette-name{color:var(--gilt)}.drawer textarea{min-height:4.2rem;resize:vertical;font-family:ui-monospace,Consolas,monospace;font-size:.72rem;padding:.35rem}.drawer-actions{display:flex;flex-wrap:wrap;gap:.35rem}.new-circle-form{display:grid;grid-template-columns:1fr auto auto;gap:.35rem;flex:1 1 100%}.new-circle-form input{min-width:0;text-transform:none;letter-spacing:0}.drawer-actions button:disabled{opacity:.4;cursor:default}.layer-add{display:grid;grid-template-columns:1fr auto auto;gap:.35rem;flex:0 0 auto}.layer-list{list-style:none;margin:0;padding:0;display:grid;gap:.25rem;overflow:auto;flex:1 1 auto;min-height:0}.layer-list li{display:grid;grid-template-columns:auto 1fr auto;gap:.25rem;align-items:center}.layer-list button{display:flex;justify-content:space-between;gap:.5rem;text-transform:none;letter-spacing:0;font-size:.72rem}.layer-list .vis-toggle{display:grid;place-items:center;justify-content:center;width:1.65rem;min-width:1.65rem;height:1.65rem;padding:0;gap:0;color:var(--ink)}.vis-toggle.is-hidden{opacity:.42}.vis-toggle.is-visible .eye-slash{display:none}.eye-icon{width:.95rem;height:.95rem;display:block;overflow:visible}.eye-outline,.eye-slash{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.eye-pupil{fill:currentColor}.layer-list button.active{background:color-mix(in srgb,var(--gilt) 14%,transparent)}.layer-list em{opacity:.55;font-style:normal}.layer-name-input{width:100%;min-width:0;font-size:.72rem;letter-spacing:0;text-transform:none}.path-import{display:grid;gap:.35rem}.path-import-row{display:grid;grid-template-columns:1fr auto;gap:.35rem}.path-import-error{margin:0;color:#e08080;font-size:.72rem}.layer-side{display:flex;align-items:center;gap:.2rem}.layer-tools{display:flex;gap:.12rem}.layer-tools button{padding:.12rem .32rem;font-size:.65rem}.layer-tools button:disabled{opacity:.35;cursor:default}.slider-num{display:grid;grid-template-columns:1fr 4.4rem;gap:.35rem;align-items:center}.color-row{display:grid;grid-template-columns:2.2rem 1fr;gap:.35rem;align-items:center}.color-row input[type=color]{width:100%;height:1.85rem;padding:0;border:1px solid var(--frame);background:transparent}.check-row{display:flex;align-items:center;gap:.4rem}.check-row input[type=checkbox]{width:1rem;height:1rem;margin:0;accent-color:var(--gilt);flex:0 0 auto}.glyph-bank{display:flex;flex-wrap:wrap;gap:.18rem;max-height:7.5rem;min-height:min-content;overflow:auto;padding:.2rem 0}.glyph-bank button{padding:.12rem .32rem;text-transform:none;letter-spacing:0;font-size:.82rem;min-width:1.55rem}.axis-row{display:grid;grid-template-columns:2rem 1fr 1fr;gap:.35rem;align-items:end}.motion-editor{display:grid;gap:.45rem}.hint{font-size:.75rem;opacity:.7;line-height:1.35}@media(max-width:900px){.viewports{grid-template-columns:1fr}.plate-header{flex-direction:column;align-items:flex-start}}
