/* Original purple studio interface. Carousel artwork is unchanged. */
:root{font-family:Arial,Helvetica,sans-serif;color:#fbf5ff;background:#210747;color-scheme:dark}
body{background:radial-gradient(ellipse at 82% 4%,#9460d366,transparent 48%),radial-gradient(ellipse at 18% 70%,#7436c744,transparent 55%),linear-gradient(135deg,#481194,#260750 65%,#190333);background-attachment:fixed}
.shell{min-height:100vh}
.sidebar{width:242px;background:linear-gradient(165deg,#6c2bc455,#2a085acc);border-right:1px solid #c48ffc35;padding:32px 22px;backdrop-filter:blur(16px)}
.brand{font-family:Arial,sans-serif;font-size:26px;font-weight:900;letter-spacing:-1px;color:#fff}.brand::first-letter{color:#efb3ff}
.sidebar p{color:#d7b9f1;font-size:13px;margin:8px 0 32px}.sidebar button{background:transparent;color:#e9d3ff;border-color:transparent;font-size:14px;border-radius:14px;padding:14px 15px;transition:background .18s,transform .18s}.sidebar button:hover{background:#ad6bef22;border-color:#d099ed66}.sidebar button.active,.sidebar .active{background:linear-gradient(135deg,#a363ed,#7030c6);color:#fff;box-shadow:0 5px 0 #441184,0 12px 28px #18042f55;border:1px solid #d49fff55}
main{max-width:1580px;padding:34px 42px 50px}header{margin-bottom:24px}.eyebrow{color:#e7b7fc;font-weight:700;font-size:11px;letter-spacing:2px}header button{font-size:13px;padding:10px 22px;background:#7440a844;border-color:#dbb0ff44;border-radius:30px}
h1,h2,h3{font-family:Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.04em;color:#fff}h1{font-size:clamp(32px,3.1vw,48px);line-height:1.04;max-width:630px;margin:20px 0 16px}h2{font-size:27px;letter-spacing:-.025em}.panel h2{margin-bottom:12px}p{color:#e0cdeb}
main>section.panel{position:relative;overflow:hidden;border-radius:26px;padding:34px;background:linear-gradient(130deg,#7832c22b,#2f0d5dc9);border:1px solid #dcabff38;box-shadow:0 18px 50px #12032644,inset 0 1px 0 #f3d5ff22}
main>section.panel>h1{position:relative;z-index:1;width:62%;padding-top:10px;margin-right:0;min-height:102px}
main>section.panel>h1::after{content:"";position:absolute;width:320px;height:215px;left:100%;top:-10px;background:url('/assets/purple-studio.svg') center/contain no-repeat;pointer-events:none}
main>section.panel>p:first-of-type{max-width:63%;position:relative;margin-bottom:28px;color:#e8d8f4;font-size:15px}
.panel{background:#33145cbb;border:1px solid #c48eea44;border-radius:20px;box-shadow:0 10px 28px #14032a26}.form-grid{gap:22px}.ideas-panel{border-bottom:1px solid #dab0f138;padding-bottom:24px;margin-bottom:26px}
label{font-size:13px;color:#f1deff;font-weight:700;margin-bottom:9px}input,select,textarea{background:#210943b3;color:#fff;border:1px solid #b480da65;border-radius:12px;min-height:48px;padding:13px 14px;box-shadow:inset 0 2px 5px #13022630}input::placeholder,textarea::placeholder{color:#caaedb}select option{background:#2a0d4f;color:#fff}input:focus,textarea:focus,select:focus{border-color:#e6b3ff;box-shadow:0 0 0 3px #b766e62b}
button{background:linear-gradient(160deg,#7845ad66,#50258088);border:1px solid #c593ef55;border-radius:12px;color:#fff;min-height:46px;padding:12px 17px;font-weight:600;box-shadow:inset 0 1px 0 #ffffff0f;transition:transform .15s,background .15s}button:hover{background:#8043ba;border-color:#f4bcff;transform:translateY(-1px)}button:active{transform:translateY(1px)}button:disabled{transform:none;opacity:.45}
button.primary,.primary{color:#fff;background:linear-gradient(115deg,#b96bea,#8740d2);border:1px solid #e6a8fb88;font-weight:800;letter-spacing:.03em;box-shadow:0 5px 0 #4e1a8b,0 13px 26px #1c033b55}.actions{gap:12px;margin-top:25px}.actions .primary{padding:15px 25px}
.notice{color:#f0ddff;background:#9b67c326;border:1px solid #caa0e044;border-left:3px solid #efabec;border-radius:12px;font-size:13px;padding:16px 18px}.muted{color:#d1b6e2;font-size:12px}.warning{color:#ffd2a0}.badge{background:#9860cc22;border:1px solid #d4a3f055;color:#f0dfff}.selected{background:linear-gradient(135deg,#a15be3,#7540b8)!important;border-color:#efb6ff!important;color:#fff;box-shadow:0 3px 0 #441079}.template-row{gap:9px}.template-row button{min-height:42px}.edit-panel{background:#36155ce6;padding:22px}.slide-list button{background:#46206cbf;border-radius:12px}.slide-canvas{box-shadow:0 16px 44px #12012566;border-radius:8px}.canvas-wrap{max-width:510px}.idea-card{background:#2e1053;border:1px solid #c494eb55;border-radius:16px}.idea-card h3{font-family:Arial,sans-serif;font-size:22px}summary,a{color:#f2b3eb}summary{font-weight:700}.toast{color:#fff;background:#7134ae;border:1px solid #e0acff77;box-shadow:0 12px 40px #1d043f66}.loading{background:#26094feb}.spinner{border-color:#b16ae544;border-top-color:#efaef7}.danger{color:#ffc0d1}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #f3b7ff;outline-offset:3px}input[type=range]{accent-color:#ec9feb}input[type=color]{padding:5px}details{border-bottom:1px solid #ddb1f22b}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#9a63c8;border-radius:8px}::-webkit-scrollbar-track{background:#270a4e}
@media(max-width:1150px){main{padding:28px}.sidebar{width:205px;padding:28px 17px}main>section.panel>h1{width:60%;font-size:35px}main>section.panel>h1::after{width:260px;height:190px}.editor{grid-template-columns:90px minmax(220px,1fr)}.edit-panel{grid-column:1/-1;max-height:none}}
@media(max-width:650px){body{background:radial-gradient(ellipse at 100% 0,#af76df44,transparent 45%),linear-gradient(155deg,#5115a0,#27084f 65%,#20063f)}.sidebar{width:100%;padding:17px 16px 15px;gap:8px;display:flex;border-right:0;border-bottom:1px solid #d7a2f33f;background:#49138577}.brand{font-size:24px;flex:1 1 100%;margin-bottom:8px}.sidebar button{padding:9px 10px;min-height:43px;font-size:11px;background:#9359bf22;border:1px solid #cf9cef44;border-radius:11px}.sidebar p{display:none}main{padding:22px 14px 35px}header{gap:9px;margin-bottom:18px}.eyebrow{font-size:9px;letter-spacing:1.3px}header button{font-size:12px;min-height:43px;padding:9px 17px}main>section.panel{padding:22px 18px;border-radius:22px}main>section.panel>h1{width:100%;font-size:34px;line-height:1.05;padding-top:148px;min-height:0;margin:0 0 14px;max-width:100%}main>section.panel>h1::after{left:50%;transform:translateX(-50%);top:-19px;width:280px;height:165px}main>section.panel>p:first-of-type{max-width:100%;font-size:14px;margin-bottom:20px}.form-grid{gap:20px}.panel{padding:19px}.notice{font-size:12px;padding:13px 14px;margin:18px 0}.ideas-panel{margin-bottom:21px;padding-bottom:18px}.actions .primary{width:100%;font-size:13px;padding:15px 12px}.actions button{flex:1}.template-row button{font-size:12px;padding:9px 12px}.editor{display:grid;grid-template-columns:1fr;gap:20px}.slide-list{display:flex;max-height:none}.slide-list button{min-width:86px;max-width:95px}.edit-panel{grid-column:auto}h2{font-size:25px}.mini-grid{gap:12px}.badge{font-size:10px}.canvas-wrap{width:100%}.auth{margin:18px auto}.auth h1{padding-top:0!important;font-size:30px!important}.auth h1::after{display:none!important}}
@media(prefers-reduced-motion:reduce){button{transition:none}button:hover{transform:none}}
/* New-carousel heading is a sibling of the form. */
main>h1{position:relative;width:62%;min-height:116px;padding-top:8px;margin:18px 0 15px}
main>h1::after{content:"";position:absolute;left:100%;top:-42px;width:330px;height:218px;background:url('/assets/purple-studio.svg') center/contain no-repeat;pointer-events:none}
main>h1+p{position:relative;max-width:62%;font-size:15px;margin-bottom:30px}
@media(max-width:1150px){main>h1{font-size:35px;width:59%}main>h1::after{width:260px;height:190px;top:-30px}main>h1+p{max-width:61%}}
@media(max-width:650px){main>h1{width:100%;max-width:none;font-size:34px;line-height:1.05;padding-top:150px;min-height:0;margin:0 0 14px}main>h1::after{left:50%;transform:translateX(-50%);width:290px;height:183px;top:-24px}main>h1+p{max-width:100%;font-size:14px;margin-bottom:24px}.actions .primary{flex-basis:100%;width:100%}}

.text-color-panel{margin:18px 0;padding:18px;border:1px solid #a78bfa55;border-radius:16px;background:#7c3aed0d}.text-color-panel h3{margin:0 0 8px}.text-color-swatches{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.text-color-swatches button{display:inline-flex;align-items:center;gap:7px;padding:9px 11px}.text-color-swatches button[aria-pressed=true]{outline:2px solid #8b5cf6;outline-offset:2px}.color-dot{width:16px;height:16px;border-radius:50%;border:1px solid #94a3b8;display:inline-block}.text-color-panel input[type=color]{width:100%;height:42px;padding:4px;border-radius:8px;cursor:pointer}

.gallery-upload-panel{margin:18px 0;padding:16px;border:1px solid #a78bfa66;border-radius:16px;background:#7c3aed15}.gallery-upload-panel h3{margin:0 0 12px}.gallery-upload-button{position:relative;display:flex!important;align-items:center;justify-content:center;min-height:52px;background:linear-gradient(135deg,#b16beb,#823bcc);border:1px solid #c084fc;border-radius:12px;color:#fff;font-weight:700;text-align:center;cursor:pointer;overflow:hidden}.gallery-upload-button input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.gallery-upload-button:focus-within{outline:2px solid #facc15;outline-offset:3px}
/* No horizontal browsing on smaller screens: wrap slide thumbnails. */
@media(max-width:650px){.slide-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible!important;max-height:none;gap:8px}.slide-list button{min-width:0;max-width:none;width:100%;padding:8px}.slide-list .thumbnail{max-width:100%;margin:auto}.slide-list p{overflow-wrap:anywhere}.template-row,.actions{flex-wrap:wrap}.editor,.edit-panel,.canvas-wrap{min-width:0}.edit-panel{padding:16px}.text-color-panel,.gallery-upload-panel{padding:14px}.gallery-upload-button{padding:12px 8px}.gallery-upload-button span{font-size:13px}}
@media(max-width:350px){.slide-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{flex-wrap:wrap}.sidebar button{flex:1 1 42%;min-width:0}.brand{flex-basis:100%}.template-row button{padding:8px;font-size:11px}main>h1{font-size:29px}main>h1::after{max-width:100%}.actions button{min-width:0;overflow-wrap:anywhere}.eyebrow{letter-spacing:.6px}}
@media(max-width:650px){.actions button{flex:1 1 130px!important;white-space:normal;word-break:normal;overflow-wrap:normal}.canvas-wrap .actions{display:flex;flex-wrap:wrap;width:100%}.actions select{max-width:100%}}
@media(max-width:350px){.actions button{flex-basis:110px!important;min-width:100px!important;padding:10px 8px}}
/* Dashboard headings do not need the new-carousel illustration. */
main>section.panel:has(h2)+h1{width:100%;max-width:100%;min-height:0;padding-top:0;margin-top:24px}
main>section.panel:has(h2)+h1::after{display:none}
/* Personal dashboard title has no decorative image or narrow hero width. */
main>h1:has(+button.primary){width:100%;max-width:100%;min-height:0;padding-top:0;margin-top:24px}
main>h1:has(+button.primary)::after{display:none}

.download-all-panel{padding:18px;margin:0 0 22px;background:#a45ae328;border:1px solid #d7a4ff66;border-radius:18px}.download-all-panel .download-all{width:100%;font-size:18px;min-height:58px;white-space:normal}.download-all-panel p{font-size:13px;margin:12px 0 0}.download-all-panel{scroll-margin-top:16px}
