:root{--ac:var(--app-accent);--acs:var(--app-accent-strong);--t:var(--app-text);--m:var(--app-muted);--ln:var(--app-line-subtle);--card:var(--app-card)}
#main_bg{background-image:url(../assets/images/background/miku_gothic.webp);background-size:cover;background-position:center;position:fixed;min-height:100vh;width:100%;z-index:-1}
#panel{font-family: var(--app-font-serif);display:flex;flex-direction:column;overflow-y:auto;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(245,252,249,.62));border:1px solid rgba(255,255,255,.45)}

.cl-title{font-size:20px;color:var(--t);margin-bottom:12px}
.cl-body{display:grid;grid-template-columns:240px 1fr;gap:12px;align-items:stretch;flex:1;min-height:0}
@media(max-width:1000px){.cl-body{grid-template-columns:1fr}}

/* ---- left controls ---- */
.cl-ctrl{display:flex;flex-direction:column;gap:8px;overflow-y:auto}
.cl-block{background:var(--card);border:1px solid var(--ln);border-radius:10px;padding:10px 12px;backdrop-filter:blur(6px)}
.cl-block-head{font-size:13px;font-weight:600;color:var(--t);margin-bottom:8px}
.cl-block-head span{font-weight:400;color:var(--m)}

.cl-drop{border:1px dashed var(--app-line-strong);border-radius:8px;padding:14px 10px;text-align:center;background:linear-gradient(160deg,rgba(255,255,255,.85),rgba(234,248,242,.72));cursor:pointer;display:block;transition:all .22s}
.cl-drop:hover{background:linear-gradient(160deg,rgba(255,255,255,.94),rgba(227,246,239,.78))}
.cl-drop.drag-over{background:linear-gradient(160deg,rgba(227,246,239,.94),rgba(200,240,225,.78));border-color:var(--ac);box-shadow:0 0 0 4px rgba(38,168,132,.15)}
.cl-drop span{font-size:13px;color:var(--t);display:block;margin-bottom:2px}
.cl-drop small{font-size:11px;color:var(--m)}

.cl-row{display:flex;align-items:center;gap:4px;margin-bottom:5px;font-size:12px;color:var(--t)}
.cl-row input[type=number]{width:52px;padding:4px 4px;border:1px solid var(--ln);border-radius:5px;font-size:12px;background:var(--app-surface-input);font-family: var(--app-font-serif);text-align:center;color:var(--t)}
.cl-muted{font-size:11px;color:var(--m)}
.cl-dim{font-size:10px;color:var(--m);margin-top:4px}
.cl-dim b{color:var(--t)}

.cl-chk{display:flex;align-items:center;gap:5px;margin-top:4px;font-size:11px;color:var(--t);cursor:pointer;user-select:none}
.cl-chk input{accent-color:var(--ac)}

.cl-list{max-height:140px;overflow-y:auto;margin-top:8px}
.cl-clear{width:100%;margin-top:6px;padding:5px 0;background:none;border:1px solid var(--ln);border-radius:6px;color:var(--m);font-size:11px;cursor:pointer;font-family: var(--app-font-serif);transition:all .18s}
.cl-clear:hover{background:var(--app-accent-hover);color:var(--acs)}

/* sprite item */
.cl-sprite-item{display:flex;align-items:center;gap:5px;padding:4px 6px;background:rgba(255,255,255,.65);border-radius:5px;margin-bottom:3px;font-size:11px;transition:background .18s}
.cl-sprite-item:hover{background:rgba(255,255,255,.88)}
.cl-sprite-item img{width:24px;height:24px;object-fit:contain;border-radius:3px;background:var(--app-overlay-dark);flex-shrink:0}
.cl-sprite-item .idx{color:var(--ac);font-size:10px;font-weight:700;min-width:18px;flex-shrink:0}
.cl-sprite-item .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--t)}
.cl-sprite-item .size{color:var(--m);font-size:10px;flex-shrink:0}
.cl-sprite-item .remove{padding:1px 6px;background:var(--app-error);color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:10px;flex-shrink:0}
.cl-sprite-item .remove:hover{opacity:.8}

/* ---- right output ---- */
.cl-out{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:6px;background:var(--card);border:1px solid var(--ln);border-radius:12px}
.cl-canvas{background:var(--card);border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;flex:1;min-height:260px;padding:12px}
.cl-canvas canvas{display:block;max-width:100%;max-height:100%;width:auto;height:auto;image-rendering:auto;background:repeating-conic-gradient(#e0e0e0 0% 25%,#fff 0% 50%) 50%/14px 14px}

.cl-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 2px 2px;flex-shrink:0;flex-wrap:wrap}
.cl-foot-r{display:flex;align-items:center;gap:5px;flex-shrink:0}

.cl-btn{padding:6px 14px;background:linear-gradient(135deg,var(--ac),var(--acs));color:#fff;border:none;border-radius:7px;cursor:pointer;font-size:12px;font-family: var(--app-font-serif);transition:all .18s;box-shadow:0 3px 10px rgba(35,126,102,.22)}
.cl-btn:disabled{background:var(--app-line);cursor:not-allowed;box-shadow:none}

.cl-zoom{padding:4px 8px;background:var(--app-accent-hover);color:var(--acs);border:1px solid var(--ln);border-radius:5px;cursor:pointer;font-size:13px;font-family: var(--app-font-serif);line-height:1;transition:all .18s}
.cl-zoom:hover{background:var(--app-accent-pressed)}

.cl-fmt{padding:5px 6px;border:1px solid var(--ln);border-radius:5px;font-size:11px;background:var(--app-surface-input);font-family: var(--app-font-serif);color:var(--t);cursor:pointer}
