[hidden]{display:none!important}
*{box-sizing:border-box}body{margin:0;background:#e9e9e7;color:#222;font:14px system-ui,-apple-system,Arial}button,input,select{font:inherit}button,.upload{cursor:pointer;border:1px solid #c5c5c5;border-radius:6px;background:white;padding:9px 11px;color:#222}button:hover,.upload:hover{background:#eee}.primary,.login button{background:#202020;color:white;width:100%;border-color:#202020}.danger{color:#a31f1f;width:100%;margin-top:8px}.subtle{background:#333;color:#eee;border-color:#555}.login{min-height:100vh;display:grid;place-items:center}.login form{background:white;padding:36px;border-radius:12px;display:grid;gap:15px;min-width:min(90vw,350px)}.login h1{margin:0;letter-spacing:2px}.login input{padding:12px}.error{color:#ad2222}header{height:60px;background:#222;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px;gap:12px}header strong{letter-spacing:2px}header span{color:#bbb}.headright{display:flex;align-items:center;gap:8px}nav{background:white;display:flex;gap:5px;padding:10px;overflow:auto;border-bottom:1px solid #ddd}nav button{white-space:nowrap}nav button.active{background:#222;color:white}main{display:grid;grid-template-columns:minmax(0,1fr) 310px;height:calc(100vh - 111px)}.workspace{min-width:0;display:flex;flex-direction:column}.workspacehead,.bottom{padding:10px 15px;display:flex;gap:16px;align-items:center;justify-content:space-between;background:#f7f7f7}.workspacehead span,.hint{color:#666;font-size:12px}.scroll{flex:1;overflow:auto;position:relative;touch-action:pan-x pan-y;background:#c8c8c8}.stage{position:relative;overflow:hidden;background:#d9d7d2;box-shadow:0 2px 20px #888;margin:35px;user-select:none}.wallbg{position:absolute;inset:0;background-size:100% 100%;background-repeat:repeat-x}.frame{position:absolute;border:solid #222;background:#fafafa;box-shadow:2px 3px 5px #0005;cursor:grab;touch-action:none;display:grid;place-items:center;overflow:hidden}.frame img{width:100%;height:100%;object-fit:cover;pointer-events:none}.frame.selected{outline:3px solid #3987e4;outline-offset:3px}.frame .label{position:absolute;bottom:0;background:#0009;color:#fff;font-size:10px;padding:2px 4px}.rulerline{position:absolute;top:0;bottom:0;border-left:1px dashed #0005;pointer-events:none}.rulerline span{background:#fff9;font-size:11px;padding:2px}.bottom{justify-content:flex-start;flex-wrap:wrap}.bottom input{vertical-align:middle}aside{background:white;overflow:auto;padding:18px;border-left:1px solid #ccc}h2{font-size:15px;margin:20px 0 10px;border-bottom:1px solid #ddd;padding-bottom:7px}h2:first-child{margin-top:0}h3{font-size:13px}label{display:block;font-size:12px;color:#555;margin-bottom:9px}label input:not([type=file]):not([type=range]),label select{display:block;width:100%;padding:8px;margin-top:4px;border:1px solid #ccc;border-radius:4px;color:#222;background:white}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:10px}.upload{display:block;text-align:center;margin:9px 0;font-size:13px;color:#222}.info{padding:10px;background:#f1f1f1;border-radius:5px;font-size:12px;line-height:1.7}.library{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.library button{padding:2px;overflow:hidden}.library img{width:100%;height:65px;object-fit:cover;display:block}.library small{font-size:9px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#selectedPanel{border-top:1px solid #ddd;margin-top:12px}@media(max-width:800px){main{display:flex;flex-direction:column;height:auto}.scroll{height:55vh;flex:none}.stage{margin:20px}.workspacehead{flex-wrap:wrap}aside{border-left:0}.headright #status{display:none}header{padding:0 8px}.headright button{font-size:11px;padding:7px}nav{position:sticky;top:0;z-index:3}}
.library-item{position:relative;min-width:0}.library-item>button:first-child{width:100%;height:100%}.library .library-delete{position:absolute;right:3px;top:3px;width:24px;height:24px;padding:0;border-radius:50%;background:#a31f1f;color:#fff;border:1px solid #fff;font-size:20px;line-height:20px;z-index:1}.library .library-delete:hover{background:#7c1111}
