/* AI Photo Relighting – scoped (.rl-*), uses the site's theme variables so light/dark and the premium glass look carry over. */
.rl-wrap{max-width:1280px;margin:0 auto;padding:24px 16px 48px}.rl-wrap h1{font-size:clamp(1.6rem,4vw,2.3rem);margin:6px 0 8px}.rl-lead{color:var(--mu);max-width:62ch;margin:0 0 20px}
.rl-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}
.rl-box,.rl-stage{background:var(--gl);border:1px solid var(--bd);border-radius:var(--r);box-shadow:var(--sh);padding:16px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.rl-panel{display:grid;gap:14px;max-height:calc(100vh - var(--nav) - 24px);overflow:auto;position:sticky;top:calc(var(--nav) + 12px);padding-right:2px}
.rl-panel h2,.rl-hist h2,.rl-box>summary{font-size:1rem;margin:0 0 10px;font-weight:700;cursor:default}.rl-box>summary{cursor:pointer;margin:0}.rl-box[open]>summary{margin-bottom:10px}
.rl-dz{display:grid;place-items:center;gap:6px;text-align:center;min-height:380px;border:2px dashed var(--bd);border-radius:calc(var(--r) - 6px);padding:24px;cursor:pointer;transition:border-color .2s,background .2s}
.rl-dz[hidden],[hidden]{display:none!important}.rl-dz:hover,.rl-dz.drag,.rl-dz:focus-visible{border-color:var(--ac);background:color-mix(in srgb,var(--ac) 8%,transparent);outline:0}.rl-dz b{font-size:1.15rem}.rl-dz small,.rl-mu{color:var(--mu)}.rl-mu{font-size:.88rem;margin:8px 0 0}.rl-mu.bad{color:#e5484d}
.rl-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-bottom:12px}.rl-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.rl-wrap button,.rl-wrap select{font:inherit;color:inherit;background:var(--gl2);border:1px solid var(--bd);border-radius:12px;padding:8px 12px;min-height:40px;cursor:pointer}.rl-wrap button:hover:not(:disabled){border-color:var(--ac)}.rl-wrap button:disabled{opacity:.5;cursor:not-allowed}
.rl-wrap button:focus-visible,.rl-wrap input:focus-visible,.rl-wrap select:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
.rl-wrap .rl-pri{background:linear-gradient(135deg,var(--ac),var(--ac2));border:0;color:#fff;font-weight:700}
.rl-seg{display:flex;background:var(--gl2);border:1px solid var(--bd);border-radius:14px;padding:3px}.rl-seg button{border:0;background:none;min-height:34px}.rl-seg .on{background:var(--ac);color:#fff}
.rl-frame{overflow:auto;border-radius:14px;max-height:68vh;background:repeating-conic-gradient(var(--bd) 0 25%,transparent 0 50%) 0 0/16px 16px;touch-action:pan-x pan-y pinch-zoom}.rl-frame:fullscreen{max-height:none;background:#000;display:grid;place-items:center}
.rl-zoom{position:relative;width:100%;line-height:0}.rl-zoom canvas{width:100%;height:auto;display:block}.rl-after{position:absolute;inset:0}.rl-h{position:absolute;top:0;bottom:0;width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.35);pointer-events:none}
.rl-rg{width:100%;margin:14px 0 0;accent-color:var(--ac)}[data-m=side] .rl-zoom{display:grid;grid-template-columns:1fr 1fr;gap:6px}[data-m=side] .rl-after{position:static;clip-path:none!important}[data-m=side] .rl-h{display:none}
.rl-pre{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;max-height:240px;overflow:auto}.rl-pre button{display:flex;gap:8px;align-items:center;text-align:left;font-size:.84rem;padding:6px 8px;min-height:38px}.rl-pre button.on{border-color:var(--ac);box-shadow:0 0 0 2px color-mix(in srgb,var(--ac) 28%,transparent)}.rl-pre i{width:14px;height:14px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
.rl-sl{display:grid;gap:4px;margin:0 0 12px;font-size:.88rem}.rl-sl span{display:flex;justify-content:space-between}.rl-sl output{color:var(--mu);font-variant-numeric:tabular-nums}.rl-sl input{width:100%;accent-color:var(--ac);min-height:28px}
.rl-ck{display:flex;gap:8px;align-items:center;margin:6px 0;min-height:30px}.rl-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rl-two label{display:grid;gap:4px;font-size:.88rem}.rl-cost{margin:12px 0 8px;font-weight:600;font-size:.9rem}
.rl-go{display:flex;gap:8px}.rl-go .rl-pri{flex:1;min-height:46px}.rl-prog{height:6px;border-radius:3px;background:var(--bd);margin-top:10px;overflow:hidden}.rl-prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ac),var(--ac2));transition:width .25s}
.rl-exp{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.rl-exp .rl-pri{grid-column:1/-1}
.rl-hist{margin-top:20px}.rl-hl{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.rl-hl figure{margin:0;border:1px solid var(--bd);border-radius:14px;overflow:hidden;background:var(--gl2)}.rl-hl img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.rl-hl figcaption{padding:10px;display:grid;gap:4px;font-size:.85rem}.rl-hl small{color:var(--mu)}.rl-hl figcaption span{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.rl-hl figcaption button{padding:4px 8px;min-height:32px;font-size:.8rem}
.rl-art{max-width:80ch;margin-top:36px}.rl-art h2{margin-top:28px}.rl-art details{margin:8px 0;padding:10px 14px;border:1px solid var(--bd);border-radius:14px;background:var(--gl)}.rl-art summary{cursor:pointer;font-weight:600}
@media(max-width:1000px){.rl-grid{grid-template-columns:1fr}.rl-panel{position:static;max-height:none;overflow:visible}.rl-dz{min-height:260px}.rl-frame{max-height:58vh}}
@media(max-width:520px){.rl-wrap{padding:16px 10px 40px}.rl-box,.rl-stage{padding:12px}[data-m=side] .rl-zoom{grid-template-columns:1fr}.rl-pre{grid-template-columns:1fr 1fr}.rl-exp{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.rl-prog i,.rl-dz{transition:none}}
/* admin */.rl-adm{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.rl-adm label{display:grid;gap:4px;margin:0 0 10px;font-size:.88rem}.rl-adm input,.rl-adm select{font:inherit;color:inherit;background:var(--gl2);border:1px solid var(--bd);border-radius:10px;padding:8px 10px;min-height:40px}.rl-st{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.rl-st div{border:1px solid var(--bd);border-radius:14px;padding:10px 12px}.rl-st b{display:block;font-size:1.4rem}.rl-tb{width:100%;border-collapse:collapse;font-size:.85rem}.rl-tb td,.rl-tb th{padding:6px;border-bottom:1px solid var(--bd);text-align:left;word-break:break-word}.rl-tbw{overflow:auto;max-height:320px}
