.ttw-cfg{--esp:#3B2A21;--roast:#241811;--cream:#EFE6D8;--cream2:#E3D6C2;--line:#C9B79F;
  display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:start;
  background:var(--cream);color:var(--esp);padding:24px;border-radius:14px;
  font-family:'Karla',system-ui,sans-serif;font-size:16px;line-height:1.5;}
@media(max-width:860px){.ttw-cfg{grid-template-columns:1fr;}}

.ttw-stagewrap{background:var(--cream2);border-radius:12px;padding:16px;}
#ttwStage{width:100%;height:auto;display:block;touch-action:none;cursor:grab;}
#ttwStage:active{cursor:grabbing;}
.ttw-hint{margin:10px 4px 0;font-size:13px;color:#6B5546;text-align:center;}

.ttw-h{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#6B5546;margin:22px 0 10px;font-weight:700;}
.ttw-panel .ttw-h:first-child{margin-top:0;}

.ttw-upload{display:block;border:1.5px dashed var(--line);border-radius:12px;padding:18px;text-align:center;cursor:pointer;transition:border-color .15s;}
.ttw-upload:hover{border-color:var(--esp);}
.ttw-upload .ic{display:block;font-size:22px;line-height:1;}
.ttw-upload span:not(.ic){display:block;font-size:15px;margin-top:6px;font-weight:600;}
.ttw-upload small{color:#8A7462;font-size:12px;}
#ttwFile{display:none;}

.ttw-ctrl{margin-top:12px;}
.ttw-ctrl label{display:flex;justify-content:space-between;font-size:14px;font-weight:600;margin-bottom:4px;}
.ttw-ctrl input[type=range]{width:100%;accent-color:var(--esp);}

.ttw-swatches{display:flex;flex-wrap:wrap;gap:10px;}
.ttw-sw{width:34px;height:34px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;}
.ttw-sw.edition{border-color:var(--cream);outline:2px solid var(--esp);}
.ttw-sw.active{border-color:var(--esp);transform:scale(1.12);}
.ttw-sw:focus-visible{outline:3px solid var(--esp);outline-offset:2px;}

.ttw-pick{display:flex;align-items:center;gap:10px;margin-top:12px;}
.ttw-pick input[type=color]{width:44px;height:36px;border:1.5px solid var(--line);border-radius:8px;background:none;padding:2px;cursor:pointer;}
#ttwHex{font-weight:700;font-size:15px;}
.ttw-badge{display:none;background:var(--esp);color:var(--cream);font-size:12px;font-weight:700;padding:3px 10px;border-radius:99px;}

.ttw-check{display:flex;align-items:center;gap:8px;margin-top:14px;font-weight:600;font-size:15px;cursor:pointer;}
.ttw-check input{accent-color:var(--esp);width:17px;height:17px;}

.ttw-actions{display:flex;gap:12px;margin-top:22px;}
.ttw-btn{flex:1;border:none;border-radius:9px;padding:13px 16px;font-size:16px;font-weight:700;cursor:pointer;
  background:var(--esp);color:var(--cream);font-family:inherit;}
.ttw-btn:hover{background:var(--roast);}
.ttw-btn:disabled{opacity:.6;cursor:wait;}
.ttw-btn.ghost{background:transparent;color:var(--esp);border:2px solid var(--esp);flex:0 0 auto;}
.ttw-btn.ghost:hover{background:var(--cream2);}
.ttw-btn:focus-visible{outline:3px solid var(--esp);outline-offset:2px;}

.ttw-status{min-height:1.4em;margin:10px 0 0;font-size:14px;font-weight:600;}
.ttw-small{margin-top:14px;font-size:13px;color:#6B5546;}
