:root{color-scheme:light;--paper:#f7f6f2;--ink:#252c29;--muted:#747b73;--line:#dcded6;--green:#314e40}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}header,footer{display:flex;justify-content:space-between;align-items:center;margin:0 5vw}header{height:100px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:2px;color:var(--muted)}.wordmark{color:var(--ink);font:22px Georgia,serif;letter-spacing:5px;text-decoration:none}.wordmark span{font:10px sans-serif;letter-spacing:1px;vertical-align:super}main{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr);min-height:calc(100svh - 170px)}.viewer{position:relative;min-height:620px}#stage{width:100%;height:100%;position:absolute;touch-action:none}canvas{display:block;width:100%;height:100%}.label{position:absolute;top:36px;left:5vw;font-size:10px;letter-spacing:2px;color:var(--muted);pointer-events:none}.dot{display:inline-block;width:5px;height:5px;background:var(--green);border-radius:50%;margin-right:9px}#status{position:absolute;bottom:86px;text-align:center;width:100%;font-size:11px;color:var(--muted);pointer-events:none}.toolbar{position:absolute;bottom:28px;width:100%;display:flex;justify-content:center;gap:8px}button{min-height:44px;padding:0 17px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:24px;cursor:pointer;font:12px inherit}button:hover,button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}:focus-visible{outline:2px solid var(--green);outline-offset:4px}aside{align-self:center;padding:65px 5vw 65px 30px}.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--muted);margin-bottom:26px}h1{font-family:Georgia,"Songti SC",serif;font-size:clamp(28px,3vw,45px);font-weight:400;letter-spacing:2px;margin:0 0 19px}.subtitle{font-size:13px;letter-spacing:2px;color:var(--muted)}.rule{height:1px;background:var(--line);margin:38px 0 23px}dl{font-size:12px}dl>div{display:flex;justify-content:space-between;gap:20px;margin:22px 0}dt{color:var(--muted)}dd{margin:0;text-align:right}.note,.gesture{font-size:11px;line-height:1.9;color:var(--muted)}.note{margin-top:34px}.gesture{white-space:pre-line;margin-top:26px}footer{height:70px;border-top:1px solid var(--line);font-size:10px;letter-spacing:1px;color:var(--muted)}@media(max-width:760px){header{height:72px;font-size:9px;letter-spacing:0}.wordmark{font-size:19px}main{display:block;min-height:0}.viewer{min-height:480px;height:58svh;max-height:650px}aside{padding:28px 7vw 35px}.eyebrow{margin-bottom:18px}h1{font-size:32px}.rule{margin:28px 0 20px}.label{top:22px}button{padding:0 14px}.toolbar{bottom:18px}#status{bottom:73px}footer{font-size:9px}.note{margin-top:26px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
shopar-3d{display:block;position:relative;width:100%;height:100%;--shopar-3d-loading-fg:var(--green)}
.parameter-fields{display:flex;gap:16px;margin-top:28px}.parameter-fields label{display:grid;gap:8px;flex:1;min-width:0;font-size:11px;color:var(--muted)}.parameter-fields input{width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--line);background:transparent;border-radius:4px;font:16px inherit;color:var(--ink)}.parameter-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.parameter-actions button{font-size:11px;padding:0 13px}#parameterError{font-size:12px;color:#a12d2d;line-height:1.6}.note{margin-top:20px}
[hidden]{display:none!important}button:disabled{opacity:.45;cursor:default}

.logo-field{display:grid;gap:10px;margin:18px 0;font-size:12px}.logo-field input{max-width:100%;min-width:0}.logo-field span{overflow-wrap:anywhere}

.cut-field{display:grid;gap:8px;margin-top:28px;font-size:13px;color:var(--ink)}
.cut-field select{width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);font:inherit;font-size:16px}
.cut-field+.parameter-fields{margin-top:16px}
