:root{font-family:ui-sans-serif,system-ui,sans-serif;color:#e4e6dc;background:#101c23;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,select,input,textarea{color:inherit;background:#1c2b31;border:1px solid #405257;border-radius:5px}button{padding:9px 12px;cursor:pointer}button:hover{background:#304449}button[aria-pressed=true]{border-color:#f5b95b;background:#40504b}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #f5b95b;outline-offset:3px}header{height:74px;border-bottom:1px solid #304149;display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:18px}.brand{font-size:24px;letter-spacing:-2px;color:#f5b95b;text-decoration:none;display:flex;gap:18px;align-items:center}.brand span,.edition{font-size:9px;letter-spacing:2px;color:#9fb1b3}.brand span{max-width:160px;line-height:1.6}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 370px;height:calc(100dvh - 74px);min-height:650px}.gallery{position:relative;min-width:0;padding:40px 42px 20px;display:flex;flex-direction:column;background:radial-gradient(ellipse at 55% 50%,#263c41,transparent 65%)}.intro{z-index:1;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:3px;color:#f5b95b;margin:0 0 14px}h1{font:clamp(28px,3.6vw,58px)/1.05 Georgia,serif;max-width:720px;font-weight:400;overflow-wrap:anywhere;white-space:pre-wrap;margin:0 0 16px}.intro>p:last-child{font-size:14px;line-height:1.7;color:#a7b9ba}.intro em{color:#e0dfd0}.scene{flex:1;min-height:260px;position:relative;margin-top:-20px}.scene canvas{display:block;width:100%;height:100%;touch-action:pan-y}.viewlabel{position:absolute;bottom:12px;left:0;font-size:8px;letter-spacing:2px;color:#81999c;pointer-events:none}.scene-error{position:absolute;left:15%;top:30%;max-width:70%;padding:20px;border:1px solid #705f47;background:#19252a;color:#e6bf87;line-height:1.6}.caption{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:#9fb6b7;min-height:45px}.caption>span{overflow-wrap:anywhere;min-width:0}.caption label{display:flex;gap:10px;align-items:center}.caption input{width:90px}.counts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #405257;gap:18px;padding-top:16px}.counts>div{border-left:2px solid #405257;padding-left:12px;display:flex;flex-direction:column;gap:5px}.counts strong{font:24px Georgia,serif}.counts span{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#9fb1b3}.status,.warning{font-size:11px;line-height:1.6;margin-top:16px;color:#d6c7a7}.warning{color:#ffa49a}aside{overflow:auto;border-left:1px solid #304149;background:#142129;padding:20px}details{border-bottom:1px solid #304149;padding:15px 0}summary{cursor:pointer;font-size:11px;letter-spacing:1px;color:#c9d2ce;padding-bottom:14px}label{display:flex;flex-direction:column;gap:6px;font-size:10px;color:#a8bab9;margin:7px 0}input,select{padding:7px;min-width:0;max-width:100%}.row{display:flex;gap:7px;flex-wrap:wrap;align-items:end}.row>label{flex:1;min-width:55px}.row>button{font-size:10px;flex:1}.grid{display:grid;grid-template-columns:repeat(24,1fr);gap:1px;background:#23353a;padding:6px;margin-top:10px}.grid button{padding:0;aspect-ratio:1;border:0;background:#1a292e;border-radius:0;min-width:0}.grid .filled{background:#7aaca9}.grid button:hover{background:#f5b95b}.small{font-size:10px;line-height:1.65;color:#8ca4a7}.component{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-bottom:10px}.component>label{flex-direction:row;align-items:center;text-transform:uppercase;font-size:10px;letter-spacing:1px}.component input[type=color]{width:40px;height:26px;padding:2px}.component>.row{width:100%}.component .row input{width:100%}.stack{display:grid;gap:6px;margin-bottom:12px}.stack button{text-align:left;font-size:11px}textarea{width:100%;height:110px;resize:vertical;margin-top:12px;padding:10px;font:11px ui-monospace,monospace}footer{font-size:9px;line-height:1.7;color:#789498;padding:18px 0}footer label{display:flex;flex-direction:row;align-items:center}details[open]>:not(summary){animation:arrive .25s ease-out}@keyframes arrive{0%{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:850px){.workspace{grid-template-columns:1fr;height:auto}.gallery{min-height:85dvh;padding:28px 22px}.scene{min-height:350px}aside{border-left:0;border-top:1px solid #405257}.edition{display:none}header{padding:0 18px}.counts{gap:8px}.caption{flex-wrap:wrap}.grid{max-width:480px}h1{font-size:38px}}
