/* CSS Tweaker interactive demo. Classes namespaced ctd-. Uses brand.css tokens. */

.ctd-wrap{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
.ctd-wrap.is-full{position:fixed;inset:14px;z-index:9999;box-shadow:0 50px 120px -24px rgba(0,0,0,.85)}

.ctd-bar{display:flex;align-items:center;gap:9px;padding:11px 15px;border-bottom:1px solid var(--line);background:var(--bg-soft)}
.ctd-dots{display:flex;gap:6px}
.ctd-dots i{width:10px;height:10px;border-radius:50%;background:#33415a;display:block}
.ctd-title{font-family:var(--mono);font-size:12.5px;color:var(--text)}
.ctd-bar-actions{margin-left:auto;display:flex;gap:8px}
.ctd-bar-btn{background:transparent;border:1px solid var(--line);color:var(--text);font-family:var(--sans);font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:7px;cursor:pointer;transition:border-color .14s ease,color .14s ease}
.ctd-bar-btn:hover{border-color:var(--gold);color:var(--ink)}

/* stage = the webpage being edited */
.ctd-stage{position:relative;background:#eef1f5;height:620px;overflow:hidden}
.ctd-wrap.is-full .ctd-stage{height:calc(100% - 48px)}
.ctd-hint{position:absolute;top:13px;left:0;right:0;text-align:center;font-size:13px;color:#54607a;font-weight:500;font-family:var(--mono);letter-spacing:.01em;pointer-events:none}

.ctd-sandbox{position:absolute;top:108px;left:66px;width:330px}
.ctd-card{width:100%;box-sizing:border-box}
.ctd-pick{cursor:pointer;outline:2px solid transparent;outline-offset:3px;transition:outline-color .12s ease}
.ctd-pick:hover{outline-color:rgba(240,194,78,.6)}
.ctd-pick.is-selected{outline-color:var(--gold)}
.ctd-headline{margin:0 0 9px;font-family:var(--sans);line-height:1.2}
.ctd-subtext{margin:0 0 18px;font-family:var(--sans);line-height:1.55}
.ctd-btn-el{font-family:var(--sans);border:0;cursor:pointer;display:inline-block;line-height:1}

/* floating, draggable tweaker panel */
.ctd-panel{position:absolute;top:56px;right:52px;width:318px;display:flex;flex-direction:column;
  background:var(--surface);border:1px solid var(--line);border-radius:12px;
  box-shadow:0 26px 64px -18px rgba(0,0,0,.66);max-height:calc(100% - 92px)}
.ctd-phead{display:flex;align-items:center;gap:9px;padding:11px 13px;border-bottom:1px solid var(--line);
  background:var(--bg-soft);border-radius:12px 12px 0 0;cursor:grab;user-select:none;touch-action:none}
.ctd-phead.is-drag{cursor:grabbing}
.ctd-grip{display:grid;grid-template-columns:repeat(2,3px);gap:3px}
.ctd-grip i{width:3px;height:3px;border-radius:50%;background:var(--text-dim);display:block}
.ctd-phead-title{font-family:var(--mono);font-size:12px;color:var(--text)}
.ctd-phead-tag{margin-left:auto;font-size:10px;color:var(--text-dim);font-family:var(--mono);letter-spacing:.06em}
.ctd-pbody{padding:13px;overflow:auto}

.ctd-sel-name{font-family:var(--mono);font-size:11.5px;color:var(--gold);background:rgba(240,194,78,.1);
  border:1px solid rgba(240,194,78,.28);padding:4px 9px;border-radius:6px;display:inline-block;margin-bottom:12px}
.ctd-pick-hint{font-size:12px;color:var(--text-dim);padding:14px 4px;text-align:center}

.ctd-ctrl{display:flex;align-items:center;gap:10px;padding:5px 0}
.ctd-ctrl-label{font-size:11px;color:var(--text);width:60px;flex:none}
.ctd-ctrl-val{font-family:var(--mono);font-size:10px;color:var(--ink);width:44px;text-align:right;flex:none}
.ctd-range{flex:1;min-width:0;-webkit-appearance:none;appearance:none;height:4px;border-radius:3px;background:var(--surface-hi);outline:none}
.ctd-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--gold);cursor:pointer;border:0}
.ctd-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--gold);cursor:pointer;border:0}
.ctd-color{flex:1;min-width:0;height:28px;padding:2px;border:1px solid var(--line);border-radius:6px;background:var(--surface-hi);cursor:pointer}
.ctd-select{flex:1;min-width:0;height:28px;border:1px solid var(--line);border-radius:6px;background:var(--surface-hi);color:var(--ink);font-family:var(--sans);font-size:12px;padding:0 7px;cursor:pointer}

.ctd-hr-label{display:flex;align-items:center;gap:9px;margin:14px 0 10px;font-family:var(--mono);font-size:10px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}
.ctd-hr-label::before,.ctd-hr-label::after{content:"";height:1px;background:var(--line);flex:1}

.ctd-export{font-family:var(--mono);font-size:10.5px;line-height:1.7;color:#c9d3df;background:var(--code);
  border:1px solid var(--line);border-radius:8px;padding:11px;white-space:pre-wrap;word-break:break-word;
  max-height:154px;overflow:auto}
.ctd-export .k{color:var(--gold)}
.ctd-export .o{color:#e0707f}
.ctd-export .n{color:#67d98b}
.ctd-export .c{color:#6b7686}
.ctd-copy{margin-top:10px;width:100%}

/* custom scrollbars, transparent rails, Apple style */
.ctd-pbody,.ctd-export{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}
.ctd-pbody::-webkit-scrollbar,.ctd-export::-webkit-scrollbar{width:10px;height:10px}
.ctd-pbody::-webkit-scrollbar-track,.ctd-export::-webkit-scrollbar-track{background:transparent}
.ctd-pbody::-webkit-scrollbar-thumb,.ctd-export::-webkit-scrollbar-thumb{background:rgba(255,255,255,.17);border-radius:999px;border:3px solid transparent;background-clip:padding-box}
.ctd-pbody::-webkit-scrollbar-thumb:hover,.ctd-export::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.32);background-clip:padding-box}
.ctd-pbody::-webkit-scrollbar-corner,.ctd-export::-webkit-scrollbar-corner{background:transparent}

@media(max-width:720px){
  .ctd-stage{height:auto;padding:18px;display:flex;flex-direction:column;gap:18px}
  .ctd-sandbox,.ctd-panel{position:static;width:100%;max-height:none}
  .ctd-hint{position:static;text-align:left;margin:0}
  .ctd-phead{cursor:default}
}
