*{box-sizing:border-box}body{margin:0;background:#fbf7ee;color:#25456a;font-family:ui-rounded,'PingFang SC',sans-serif}button,input,select{font:inherit}button{cursor:pointer;background:#fffaf3;color:#25456a;border:1px solid #e8d7bf;border-radius:11px;padding:10px 14px;min-height:44px}button:hover{background:#ffecd9}button:disabled{cursor:default;opacity:.45}input,select{width:100%;border:1px solid #e8d7bf;background:#fffdf8;border-radius:10px;padding:12px;color:#25456a}label{display:block;margin:20px 0 8px;font-size:14px;font-weight:600}#letter{font-size:32px;text-align:center}button:focus-visible,input:focus-visible{outline:2px solid #d9752a;outline-offset:2px}.hint{font-size:13px;line-height:1.8;color:#897969;margin:20px 0}.secondary,#settings-panel button{width:100%;margin:8px 0}#canvas-area{height:100%;display:flex;flex-direction:column;min-height:350px;background:#fffcf6;border:1px solid #eadfce;border-radius:22px;padding:18px 22px}.frame-canvas-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}#canvas-title{font-family:PF,sans-serif;color:#a85824;font-size:28px;font-weight:400;margin:8px 0}#view-modes{flex-shrink:0}#stage{position:relative;flex:1;min-height:260px}#drawing,#model-view{position:absolute;inset:0;width:100%;height:100%}#drawing{touch-action:none}#drawing [data-item]{cursor:grab}#drawing [data-handle]{cursor:nwse-resize}#drawing [data-handle=rotate]{cursor:crosshair}#loading-indicator{position:absolute;bottom:12px;left:10px;right:10px;pointer-events:none}.under-stage{display:flex;align-items:center;justify-content:space-between;min-height:34px}#dimensions{font-size:12px;color:#897969}#error{color:#b13b28;font-size:13px;line-height:1.5}#error:empty{display:none}#palette{display:grid;grid-template-columns:1fr 1fr;gap:12px}#palette label{margin:0;border:1px solid #eadfce;border-radius:12px;padding:14px;font-size:13px}#palette input{height:52px;padding:0;border:0;background:none;margin:10px 0}#palette span{font-size:12px}#item-color-row{grid-column:1/3}.swatches{display:flex;gap:12px;margin:22px 0}.swatches button{width:42px;height:42px;min-height:42px;border-radius:50%;padding:0}.item-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.item-list button[aria-pressed=true]{background:#ffe2c3}.motif-categories{display:flex;gap:6px;overflow-x:auto;margin:12px 0}.motif-categories button{flex-shrink:0;font-size:12px;padding:6px 9px}.motif-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.motif-card{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;padding:10px 4px}.motif-card img{max-width:100%}.motif-search{margin-top:12px}.shared-motif-picker>.ze-add-content{width:100%}.help{font-size:12px;line-height:1.6}.zl-editor[data-editor=lamp]{--zl-accent:#cc712b;--zl-accent-soft:#ffdfbb;--zl-ink:#25456a;--zl-paper:#fbf7ee}.zl-editor[data-editor=lamp] .zl-inspector{background:#fffaf3}.zl-editor[data-editor=lamp] .zl-stage{padding:12px}.zl-editor[data-editor=lamp] .zl-title,.zl-editor[data-editor=lamp] .zl-panel-title{color:#ac5c24}html body .zl-editor[data-editor=lamp] .zl-tool[aria-selected=true]{background:#ffdfbb!important;color:#ac5c24}html body .zl-editor[data-editor=lamp] .ze-view-modes button[aria-pressed=true]{background:#cf782f!important;color:white!important}html body .zl-editor[data-editor=lamp] #download{background:#ffd7a7!important;color:#7b411d!important;border-color:#edb67a!important}html body .zl-editor[data-editor=lamp] .ze-add-content{background:#ffdfbb!important;color:#9b5223!important}#boot{text-align:center;padding:80px 20px}dialog{border:1px solid #e8d7bf;border-radius:20px;background:#fffcf6;color:#25456a;max-width:600px;width:90%}dialog::backdrop{background:#25201955}.dialog-head{display:flex;align-items:center;justify-content:space-between}#works-list button{display:block;width:100%;margin:10px 0;text-align:left}[hidden]{display:none!important}
@media(max-width:760px){#canvas-area{padding:10px;border-radius:15px}.frame-canvas-toolbar{flex-direction:column;gap:4px}#canvas-title{font-size:21px;margin:2px}#stage{min-height:180px}#view-modes button{font-size:12px;padding:6px 9px}.zl-editor[data-editor=lamp] .zl-stage{padding:6px}#dimensions{font-size:11px}.under-stage{min-height:24px}#error{font-size:11px}#palette{gap:8px}}
/* Match CSS size to the stage; the drawing buffer still uses devicePixelRatio. */
#model-view{overflow:hidden}#model-view canvas{display:block;width:100%;height:100%}

.lamp-editions{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:18px 0}.lamp-editions button{padding:9px 4px;font-size:13px}.lamp-editions small{display:block;font-size:10px;margin-top:5px}.lamp-editions button[aria-pressed=true]{background:#ffdfbb;border-color:#cc712b}#settings-panel fieldset{border:0;padding:8px 0 20px;margin:0;border-bottom:1px solid #eadfce}#settings-panel legend{color:#ac5c24;font-family:PF,sans-serif;font-size:21px}#settings-panel label{margin:12px 0 7px}.lamp-check{display:flex;align-items:center;gap:10px}.lamp-check input{width:20px;height:20px}.lamp-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}#settings-panel .hint{margin:12px 0}#settings-panel output{font-size:12px}#drawing [data-hardware]{cursor:grab}#lamp-fit-result[data-status=collision]{color:#b13b28}#lamp-fit-result[data-status=envelope-fits]{color:#357057}

/* Each size card has a name row and one unbroken dimensions row. */
.zl-editor[data-editor=lamp] .lamp-editions{grid-template-columns:repeat(3,minmax(0,1fr))}.zl-editor[data-editor=lamp] .lamp-editions button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;padding:12px 2px}.zl-editor[data-editor=lamp] .lamp-editions button>span{display:block;white-space:nowrap}.zl-editor[data-editor=lamp] .lamp-editions small{display:block;white-space:nowrap;font-size:10px;line-height:1.5;margin:0;letter-spacing:-.2px}

#boot{position:fixed;inset:0;z-index:10000;background:#fbf7ee;overflow:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}#boot .zm-art{display:block;flex:none;width:160px;height:160px;margin:0;pointer-events:none}#boot p{margin:0;font:15px/1.7 "PingFang SC",sans-serif}
