/* Color Temperature Visualizer (resources/color-temperature.html) */
.cct-sec{background:var(--deep);color:#fff;padding:56px 0 64px}
.cct{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.cct-defs{position:absolute;width:0;height:0;overflow:hidden}
.cct-ctl{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.cct-seg{display:inline-flex;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:3px;gap:2px}
.cct-seg button,.cct-cmp{font:inherit;font-size:.84rem;font-weight:600;color:rgba(255,255,255,.75);background:transparent;border:0;border-radius:999px;padding:8px 16px;cursor:pointer;min-height:38px}
.cct-seg button:hover{color:#fff}
.cct-seg button.on{background:#fff;color:var(--deep)}
.cct-cmp{border:1px solid rgba(255,255,255,.28);display:inline-flex;align-items:center;gap:10px;color:#fff}
.cct-cmp .sw{width:30px;height:16px;border-radius:999px;background:rgba(255,255,255,.2);position:relative;transition:background .2s}
.cct-cmp .sw:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .2s}
.cct-cmp[aria-pressed=true] .sw{background:var(--sky)}
.cct-cmp[aria-pressed=true] .sw:after{transform:translateX(14px)}
.cct button:focus-visible,.cct-zone:focus-visible{outline:2px solid var(--sky);outline-offset:2px}
.cct-stage{position:relative;margin:0;aspect-ratio:16/9;overflow:hidden;border-radius:6px;background:#0b0f14;box-shadow:0 30px 80px -30px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.06)}
.cct-layer{position:absolute;inset:0}
.cct-layer img{width:100%;height:100%;object-fit:cover;display:block}
.cct-a img{filter:url(#cct-fa)}.cct-b img{filter:url(#cct-fb)}
.cct-b{display:none}
.cct.is-cmp .cct-b{display:block}
.cct.is-cmp .cct-a{clip-path:inset(0 calc(100% - var(--split,50%)) 0 0)}
.cct-tag{position:absolute;top:14px;left:14px;display:flex;align-items:baseline;gap:8px;padding:7px 12px 7px 10px;border-radius:999px;background:rgba(7,22,36,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:.8rem;color:rgba(255,255,255,.85);pointer-events:none;z-index:3}
.cct-tag b{font-size:.95rem;color:#fff;font-weight:700;display:inline-flex;align-items:center;gap:7px}
.cct-tag b:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--ca,#fff);box-shadow:0 0 10px var(--ca,#fff)}
.cct-tag-b{left:auto;right:14px;display:none}.cct-tag-b b:before{background:var(--cb,#fff);box-shadow:0 0 10px var(--cb,#fff)}
.cct.is-cmp .cct-tag-b{display:flex}
.cct-split{position:absolute;top:0;bottom:0;left:var(--split,50%);width:0;display:none;z-index:2;pointer-events:none}
.cct-split:before{content:"";position:absolute;top:0;bottom:0;left:-1px;width:2px;background:rgba(255,255,255,.9);box-shadow:0 0 12px rgba(0,0,0,.4)}
.cct-split span{position:absolute;top:50%;left:-19px;width:38px;height:38px;margin-top:-19px;border-radius:50%;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.35)}
.cct-split span:before,.cct-split span:after{content:"";position:absolute;top:13px;border:6px solid transparent}
.cct-split span:before{left:5px;border-right-color:var(--deep)}.cct-split span:after{right:5px;border-left-color:var(--deep)}
.cct.is-cmp .cct-split{display:block}
.cct-split-in{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;display:none;z-index:4}
.cct.is-cmp .cct-split-in{display:block}
.cct-split-in:focus-visible+*{outline:none}
.cct.is-cmp .cct-stage:focus-within .cct-split span{outline:2px solid var(--sky);outline-offset:3px}
.cct-scale{margin-top:22px}
.cct-track{position:relative;height:44px}
.cct-track:before{content:"";position:absolute;left:0;right:0;top:15px;height:14px;border-radius:999px;background:var(--grad,linear-gradient(90deg,#ff8a1f,#fff,#cfdcff));box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.cct-ticks i{position:absolute;top:31px;width:1px;height:7px;background:rgba(255,255,255,.45)}
.cct-range{position:absolute;inset:0;width:100%;height:44px;margin:0;background:transparent;-webkit-appearance:none;appearance:none;pointer-events:none}
.cct-range:focus{outline:none}
.cct-range::-webkit-slider-runnable-track{height:44px;background:transparent}
.cct-range::-moz-range-track{height:44px;background:transparent}
.cct-range::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:30px;height:30px;margin-top:7px;border-radius:50%;background:var(--tc,#fff);border:3px solid #fff;box-shadow:0 2px 12px rgba(0,0,0,.45),0 0 0 1px rgba(7,22,36,.5);cursor:grab}
.cct-range::-moz-range-thumb{pointer-events:auto;width:24px;height:24px;border-radius:50%;background:var(--tc,#fff);border:3px solid #fff;box-shadow:0 2px 12px rgba(0,0,0,.45),0 0 0 1px rgba(7,22,36,.5);cursor:grab}
.cct-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--deep),0 0 0 5px var(--sky)}
.cct-range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--deep),0 0 0 5px var(--sky)}
.cct-rb{display:none}.cct.is-cmp .cct-rb{display:block}
.cct-rb::-webkit-slider-thumb{border-radius:6px}.cct-rb::-moz-range-thumb{border-radius:6px}
.cct-zlab{position:relative;height:18px;margin-top:4px;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.cct-zlab span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.cct-stops{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px}
.cct-stops-l{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-right:4px}
.cct-stop{font:inherit;font-size:.8rem;font-weight:600;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:6px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;min-height:34px}
.cct-stop:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sc,#fff)}
.cct-stop:hover{border-color:rgba(255,255,255,.4)}
.cct-stop.on{background:#fff;color:var(--deep);border-color:#fff}
.cct-panel{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:26px 26px 22px;display:grid;gap:22px}
.cct.is-cmp .cct-panel{gap:0}
.cct.is-cmp .cct-read-b{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;margin-top:20px}
.cct-eb{display:inline-flex;align-items:center;gap:8px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6);font-weight:600}
.cct-eb .dot{width:10px;height:10px;border-radius:50%;background:var(--ca,#fff);box-shadow:0 0 12px var(--ca,#fff)}
.cct-read-b .cct-eb .dot{background:var(--cb,#fff);box-shadow:0 0 12px var(--cb,#fff);border-radius:3px}
.cct-k{margin:6px 0 0;font-size:3.4rem;line-height:1;font-weight:300;letter-spacing:-.04em}
.cct-k b{font-weight:500}
.cct-name{margin:6px 0 2px;font-size:1.15rem;font-weight:600;color:var(--ca,#fff)}
.cct-read-b .cct-name{color:var(--cb,#fff)}
.cct-mood{margin:0;color:rgba(255,255,255,.72);font-size:.93rem}
.cct-read h3{margin:18px 0 8px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:600}
.cct-uses{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.cct-uses li{font-size:.82rem;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.08)}
.cct-avail{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.88rem}
.cct-avail a{color:#fff;text-decoration:none;display:flex;justify-content:space-between;gap:10px;padding:9px 12px;border:1px solid rgba(255,255,255,.12);border-radius:4px}
.cct-avail a:hover{border-color:var(--sky)}
.cct-avail a:after{content:"\2192";color:var(--sky)}
.cct-avail .none{color:rgba(255,255,255,.6)}
.cct.is-cmp .cct-read h3,.cct.is-cmp .cct-avail{display:none}
.cct.is-cmp .cct-k{font-size:2.4rem}
.cct.is-cmp .cct-uses{margin-top:12px}
.cct-note{margin:22px 0 0;font-size:.82rem;color:rgba(255,255,255,.5);max-width:760px}
.cct-guide-head{max-width:720px;margin-bottom:32px}
.cct-guide-head p{color:var(--mute);margin:10px 0 0}
.cct-zones{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.cct-zone{font:inherit;text-align:left;background:#fff;border:1px solid var(--line);border-radius:6px;padding:0 0 16px;cursor:pointer;display:flex;flex-direction:column;gap:2px;overflow:hidden;color:var(--ink);transition:border-color .2s,transform .2s}
.cct-zone:hover{border-color:var(--navy);transform:translateY(-2px)}
.cct-zone i{display:block;height:56px;background:var(--zc,#fff);margin-bottom:12px;box-shadow:inset 0 -1px 0 var(--line)}
.cct-zone b,.cct-zone span,.cct-zone em{padding:0 14px}
.cct-zone b{font-size:.98rem}
.cct-zone span{font-size:.8rem;color:var(--navy);font-weight:600}
.cct-zone em{font-style:normal;font-size:.82rem;color:var(--mute);margin-top:6px;line-height:1.45}
.cct-more{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0 0}
@media (max-width:1100px){.cct{grid-template-columns:1fr}.cct-panel{grid-template-columns:1fr}.cct.is-cmp .cct-panel{grid-template-columns:1fr 1fr;gap:24px}.cct.is-cmp .cct-read-b{border-top:0;padding-top:0;margin-top:0;border-left:1px solid rgba(255,255,255,.1);padding-left:24px}.cct-zones{grid-template-columns:repeat(3,1fr)}}
@media (max-width:620px){.cct-sec{padding:28px 0 40px}.cct-stage{aspect-ratio:4/3}.cct-zlab{font-size:.56rem;letter-spacing:.06em}.cct-zlab span:nth-child(odd){top:0}.cct-zlab span:nth-child(even){top:14px}.cct-zlab{height:30px}.cct-k{font-size:2.8rem}.cct.is-cmp .cct-k{font-size:1.9rem}.cct-panel{padding:20px}.cct.is-cmp .cct-panel{gap:14px}.cct.is-cmp .cct-read-b{padding-left:14px}.cct-zones{grid-template-columns:1fr 1fr}.cct-tag{font-size:.7rem;top:10px;left:10px}.cct-tag-b{left:auto;right:10px}.cct-stops-l{display:none}.cct-stops{gap:5px}.cct-stop{font-size:.74rem;padding:4px 8px;gap:5px;min-height:32px}.cct-stop:before{width:7px;height:7px}.cct-tag span{display:none}.cct-seg button{padding:8px 12px}.cct-more .btn{width:100%}}
@media (prefers-reduced-motion:reduce){.cct-zone,.cct-cmp .sw,.cct-cmp .sw:after{transition:none}}
.cct-track:before{left:15px;right:15px}
