/* Theme Studio */
.ts-panel{position:fixed;top:0;right:0;bottom:0;width:340px;z-index:9998;background:#1a1714;color:#f3ebe2;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto;overflow-x:hidden;box-shadow:-4px 0 30px rgba(0,0,0,.5);font-family:'Sora',sans-serif}
.ts-panel.open{transform:translateX(0)}
.ts-panel::-webkit-scrollbar{width:5px}
.ts-panel::-webkit-scrollbar-track{background:transparent}
.ts-panel::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:3px}
.ts-head{padding:28px 24px 0}
.ts-title{font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:700;letter-spacing:-.5px;color:#f3ebe2}
.ts-sub{font-size:12px;color:rgba(243,235,226,.5);margin-top:4px}
.ts-section{padding:20px 24px 0}
.ts-label{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(243,235,226,.4);margin-bottom:12px}
.ts-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ts-preset{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;border:2px solid transparent;background:rgba(255,255,255,.04);cursor:pointer;transition:all .15s;font-size:12px;font-weight:600;color:#f3ebe2;font-family:'Sora',sans-serif}
.ts-preset:hover{background:rgba(255,255,255,.08)}
.ts-preset.active{border-color:rgba(212,168,69,.5);background:rgba(212,168,69,.08)}
.ts-dots{display:flex;gap:3px;flex-shrink:0}
.ts-dots span{width:10px;height:10px;border-radius:50%}
.ts-divider{height:1px;background:rgba(255,255,255,.06);margin:20px 24px 0}
.ts-color-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.ts-color-swatch{width:40px;height:40px;border-radius:10px;border:2px solid rgba(255,255,255,.08);cursor:pointer;position:relative;flex-shrink:0;overflow:hidden}
.ts-color-swatch input[type=color]{position:absolute;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);border:none;padding:0;cursor:pointer;opacity:0}
.ts-color-hex{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px 14px;color:#f3ebe2;font-size:13px;font-weight:500;font-family:'Space Grotesk',sans-serif;width:130px;outline:none;letter-spacing:.5px}
.ts-color-hex:focus{border-color:rgba(212,168,69,.4)}
.ts-font-select{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 14px;color:#f3ebe2;font-size:13px;font-weight:500;font-family:'Sora',sans-serif;outline:none;margin-bottom:16px;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23888' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.ts-font-select:focus{border-color:rgba(212,168,69,.4)}
.ts-font-select option{background:#1a1714;color:#f3ebe2}
.ts-overlay{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:9997;opacity:0;pointer-events:none;transition:opacity .3s}
.ts-overlay.open{opacity:1;pointer-events:auto}
.ts-bottom{padding:20px 24px 32px}