/* Paper, ink, and the Anita Mostofa palette. Both themes share the same geometry. */
:root{color-scheme:light;--paper:#f7f5f0;--ink:#191919;--muted:#62605e;--line:#d3cfc8;--pink:#fe7dda;--mint:#85e8b9;--panel:#fffefa;--field:#f1eee8;--stroke:#292929;--selected:#f8d9ed;--accent-ink:#191919;--canvas:#e7e4dd;--lavender:#ddd4f0;--soft-mint:#d7f0df}
html[data-theme=dark]{color-scheme:dark;--paper:#171326;--ink:#f4f0e9;--muted:#b9b1c1;--line:#494153;--panel:#211c2d;--field:#2d2739;--stroke:#81748e;--selected:#513047;--accent-ink:#191919;--canvas:#292331;--lavender:#33283e;--soft-mint:#25392f}
body{--content-max-width:1800px;--content-gutter:4%;background:var(--paper);color:var(--ink);font-size:14px;font-weight:400}
body:has(#landing:not([hidden])){background-image:none}
::selection{background:var(--pink);color:#191919}
button,a,select{transition:background-color 120ms ease,color 120ms ease,border-color 120ms ease}
button:hover:not(:disabled),a:hover{filter:none}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
input:focus-visible,select:focus-visible{outline:2px solid var(--ink);outline-offset:-1px}
.skip{background:var(--ink);color:var(--paper)}
header{padding:24px var(--content-gutter);max-width:var(--content-max-width);min-height:96px;gap:24px}
.brand{gap:15px;font-size:18px;letter-spacing:-.055em}
.brand>span{align-self:flex-start;position:relative;top:1px}
.brand-logo{width:57px;height:40px;object-fit:contain}
.brand small{font-size:10px;letter-spacing:.01em;margin-top:6px;color:var(--muted)}
nav{gap:26px;font-size:12px}
nav a:hover{ text-decoration:underline;text-underline-offset:5px}
.primary,.outline,.file-button{border-radius:8px;min-height:40px;padding:10px 16px;font-size:12px;font-weight:400;gap:14px}
.primary{background:var(--pink);color:#191919;border:1px solid #191919}
.primary:hover:not(:disabled){background:#ff9fe4}
.outline,.file-button{background:transparent;border:1px solid var(--stroke);color:var(--ink)}
.outline:hover:not(:disabled),.file-button:hover{background:var(--field)}
.theme-toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 0;font-size:11px;min-height:40px}
.theme-symbol{width:17px;height:17px;border:1px solid var(--ink);border-radius:50%;background:linear-gradient(90deg,var(--ink) 50%,var(--paper) 50%)}
.text-button{color:var(--muted);text-decoration:none;font-size:11px}
.text-button:hover{text-decoration:underline;text-underline-offset:4px;color:var(--ink)}
.eyebrow{font-size:10px;letter-spacing:.12em;font-weight:400;color:var(--muted)}
h1,h2,h3{font-weight:600;letter-spacing:-.05em}
.hero{grid-template-columns:1.1fr 1fr;max-width:var(--content-max-width);min-height:650px;padding:70px var(--content-gutter) 100px;gap:45px;align-items:center}
.hero h1{font-size:clamp(56px,6.2vw,98px);line-height:1.04;letter-spacing:-.07em;margin:28px 0;font-weight:600;max-width:13ch}
.hero h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:1.12em;letter-spacing:-.065em;position:relative;white-space:nowrap;z-index:0}
.hero h1 em:after{content:'';position:absolute;left:0;right:0;height:12px;background:var(--pink);bottom:4px;transform:rotate(-2deg);z-index:-1}
.hero p{max-width:43ch;font-size:16px;line-height:1.7;color:var(--muted);margin:28px 0}
.hero-cta{display:flex;align-items:center;gap:22px;margin-top:32px}
.hero .primary{min-height:54px;padding:13px 20px;font-size:14px;gap:25px;box-shadow:4px 4px 0 #191919}
.hero .primary span{font-size:23px;font-weight:400}
.hero-cta>span{font-size:11px;line-height:1.6;color:var(--muted)}
.hero-art{position:relative;transform:none;padding:20px 18px 20px 20px;isolation:isolate;min-width:0;margin-top:10px}
.art-grid{position:absolute;top:-22px;right:-4px;width:42%;height:41%;background-image:linear-gradient(var(--stroke) 1px,transparent 1px),linear-gradient(90deg,var(--stroke) 1px,transparent 1px);background-size:25px 25px;opacity:.5;z-index:-2}
.art-sheet{position:absolute;inset:45px 3px 3px 45px;background:var(--mint);border:1px solid #191919;border-radius:4px;transform:rotate(5deg);z-index:-1}
.art-selection{position:relative;transform:rotate(-4deg);border:1px solid var(--ink);background:#e8e4f0;padding:0}
#heroCanvas{width:100%;height:auto;display:block;border-radius:0;border:0}
.handle{position:absolute;width:8px;height:8px;border:1px solid var(--ink);background:var(--paper)}
.handle.tl{left:-4px;top:-4px}.handle.tr{right:-4px;top:-4px}.handle.bl{left:-4px;bottom:-4px}.handle.br{right:-4px;bottom:-4px}
.art-cursor{position:absolute;right:-10px;bottom:10px;width:94px;height:auto;object-fit:contain;pointer-events:none;z-index:3;image-rendering:auto;transform:none}
.art-note{position:absolute;bottom:-55px;left:20px;font-size:11px;line-height:1.5;display:block;transform:rotate(-5deg)}
.art-note em{font-family:Georgia,serif;font-size:16px;font-weight:400}
.art-note svg{position:absolute;left:125px;bottom:0;width:100px;height:35px}
.format-strip{max-width:1440px;margin:12px auto 0;padding:24px 0;border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke);display:flex;align-items:center;gap:24px;font-size:13px}
.format-strip i{width:6px;height:6px;background:var(--mint);border:1px solid var(--stroke);border-radius:50%}
.strip-note{margin-left:auto;color:var(--muted);font-size:11px}
.templates,.how,.faq{max-width:var(--content-max-width);padding:85px var(--content-gutter);border-top:0}
.section-top{margin-bottom:35px;align-items:end}
.section-top h2{font-size:clamp(30px,3.1vw,46px);margin-top:12px}
.section-top p{font-size:13px;color:var(--muted)}
.template-grid{gap:26px;align-items:start}
.template-picture{height:255px;border:1px solid var(--stroke);border-radius:18px;background:var(--lavender)}
.template-picture.mint{background:var(--soft-mint)}
.template-picture.lilac{background:#f8d9ed}
html[data-theme=dark] .template-picture.lilac{background:#3d293a}
.template-grid>button:nth-child(2){margin-top:35px}
.mini-grid{width:64%;gap:10px;transform:rotate(-8deg)}
.mini-grid i{border:1px solid #292929;background:#f6f2e9;border-radius:2px;box-shadow:3px 3px 0 #292929}
.mini-grid i:nth-child(3n+2){background:#85e8b9}
.mini-grid i:nth-child(3n+3){background:#fea5e0}
.mini-grid i:after{content:'Aa';font:italic 28px Georgia,serif;letter-spacing:-.04em;top:30%;left:15%;color:#191919}
.mini-grid i:nth-child(3n+2):after{color:#191919;content:'ab.';font:600 18px Montserrat,sans-serif}
.mini-grid.slides{width:84%}
.mini-grid.slides i:after{font-size:20px;top:12%}
.template-title{font-size:20px;font-weight:600;margin-top:20px;letter-spacing:-.04em}
.template-title b{font-weight:400;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--stroke);border-radius:50%}
.template-grid small{font-size:12px;color:var(--muted);display:block;margin-top:6px}
@media(hover:hover) and (pointer:fine){.template-grid>button:hover .template-title b{background:var(--mint);color:#191919}}
.how{gap:90px;padding-top:55px;padding-bottom:70px}
.how h2{font-size:clamp(30px,3.1vw,45px);line-height:1.2}
.how p{font-size:16px;color:var(--muted)}
.how li{gap:20px;padding:20px 0;border-color:var(--line)}
.how li>span{color:var(--ink);font-size:12px}
.how h3{font-size:16px;font-weight:600;letter-spacing:-.02em}
.how li p{font-size:14px;margin-top:7px}
.faq{padding-top:40px;padding-bottom:85px}
.faq h2{font-size:38px;margin-bottom:25px}
.faq details{max-width:100%;padding:22px 0;border-color:var(--line)}
.faq summary{font-size:18px;font-weight:400}
.faq p{font-size:16px;color:var(--muted);line-height:1.7}
footer{max-width:var(--content-max-width);margin-inline:auto;border-top:1px solid var(--stroke);padding:25px var(--content-gutter);font-size:11px;color:var(--muted)}

/* The editor is a work surface: one settings column, one canvas, no nested cards. */
body:has(#studio:not([hidden])) header{border-bottom:1px solid var(--stroke);min-height:76px;padding-top:15px;padding-bottom:15px}
body:has(#studio:not([hidden])) nav>[data-start]{display:none}
#studio{max-width:var(--content-max-width);padding:25px var(--content-gutter) 45px}
.studio-top{align-items:end;gap:25px;margin-bottom:30px}
.studio-top #back{font-size:10px;display:block;padding:0;min-height:24px;margin-bottom:12px}
.studio-top h1{font-size:44px;letter-spacing:-.055em;font-weight:600;margin:0;line-height:1.12}
.studio-top h1 .title-dot{color:var(--ink);position:relative}
.title-dot:after{content:none}
.studio-top p{font-size:12px;color:var(--muted);margin:12px 0 0}
.actions{gap:8px;align-items:center;padding-bottom:3px}
.actions .outline{font-size:11px;min-height:36px;padding:8px 12px}
.actions .primary{font-size:12px;min-height:42px;padding:10px 20px;box-shadow:3px 3px 0 var(--ink)}
.workspace{grid-template-columns:270px minmax(0,1fr);gap:30px;align-items:start}
.controls{position:sticky;top:15px;max-height:calc(100vh - 30px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent;background:var(--panel);border:1px solid var(--stroke);border-radius:12px;padding:23px 21px}
.controls:hover,.controls:focus-within{scrollbar-color:var(--pink) transparent}
@supports selector(::-webkit-scrollbar){
  .controls,.controls:hover,.controls:focus-within{scrollbar-width:auto;scrollbar-color:auto}
  .controls::-webkit-scrollbar{width:8px}
  .controls::-webkit-scrollbar-track{background:transparent;margin-block:12px}
  .controls::-webkit-scrollbar-thumb{min-height:44px;background:var(--line);background-clip:padding-box;border:2px solid transparent;border-radius:20px}
  .controls:hover::-webkit-scrollbar-thumb,.controls:focus-within::-webkit-scrollbar-thumb{background-color:var(--pink)}
  .controls::-webkit-scrollbar-corner{background:transparent}
}
.control-head{padding-bottom:7px}
.control-head h2{font-size:18px;font-weight:600;letter-spacing:-.03em;margin:0 0 5px}
.control-head>span{font-size:10px;color:var(--muted)}
.controls details{padding:19px 0;border-color:var(--line)}
.controls summary{font-size:12px;font-weight:600;list-style:none;margin:0;display:flex;justify-content:space-between;align-items:center}
.controls summary::-webkit-details-marker{display:none}
.controls summary:after{content:'+';font-size:18px;font-weight:400;color:var(--muted)}
.controls details[open]>summary{margin-bottom:15px}
.controls details[open]>summary:after{content:'−'}
.controls label{font-size:11px;color:var(--muted);margin:13px 0 7px}
.controls select{width:100%;border:1px solid var(--line);border-radius:5px;background-color:var(--field);color:var(--ink);font-size:11px;padding:10px 27px 10px 10px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='m1 1 4 4 4-4' stroke='%23808080' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}
.controls select:hover{border-color:var(--stroke)}
.controls #instagramUsername{width:100%;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:5px;background:var(--field);color:var(--ink);font:inherit;font-size:14px;transition:border-color 160ms ease}
.controls #instagramUsername:hover{border-color:var(--stroke)}
@media(max-width:700px){.controls #instagramUsername{font-size:16px}}
.range-row{margin-top:15px}
.range-row label{margin-bottom:9px}
.range-row output{font-size:10px;font-variant-numeric:tabular-nums;background:var(--field);color:var(--ink);border:1px solid var(--line);border-radius:3px;padding:1px 5px;min-width:38px;text-align:center}
.range-row input{appearance:none;background:transparent;height:17px;display:block;width:100%;accent-color:var(--ink)}
.range-row input::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,var(--ink) var(--progress,30%),var(--line) var(--progress,30%))}
.range-row input::-webkit-slider-thumb{appearance:none;width:11px;height:11px;border:1px solid var(--ink);border-radius:50%;background:var(--pink);margin-top:-4.5px}
.range-row input::-moz-range-track{height:2px;background:var(--line)}
.range-row input::-moz-range-progress{height:2px;background:var(--ink)}
.range-row input::-moz-range-thumb{height:10px;width:10px;background:var(--pink);border:1px solid var(--ink)}
.colors input,#shadowColor{background:var(--field);border:1px solid var(--line);height:33px;padding:3px;border-radius:4px;width:100%}
.swatches{gap:11px;align-items:center;flex-wrap:wrap;margin:17px 0 4px}
.swatches button{border:3px solid var(--panel);outline:1px solid var(--line);width:32px;height:32px}
.swatches button:hover,.swatches button[aria-pressed=true]{outline:2px solid var(--ink)}
.solid-swatches .color-add{position:relative;display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border:1px dashed var(--stroke);border-radius:50%;margin:0;padding:0;overflow:hidden;cursor:pointer}
.color-add>span{font-size:22px;line-height:1;pointer-events:none}
.color-add>input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;border:0}
.color-add:focus-within{outline:2px solid var(--ink);outline-offset:3px}
.color-add.custom-selected{outline:2px solid var(--ink);border:3px solid var(--panel)}
.controls .file-button{width:100%;font-size:10px;min-height:34px;margin:15px 0 0;border-color:var(--line);padding:8px 10px}
.hint{font-size:11px;color:var(--muted)}
.shadow-presets{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:16px}
.shadow-presets button{font-size:10px;min-height:30px;padding:6px 8px;border:1px solid var(--line);border-radius:4px}
.shadow-presets button[aria-pressed=true]{background:var(--selected);border-color:var(--stroke)}
.preset-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 16px;border-bottom:0;margin-bottom:16px}
.preset-caption{font-size:11px;font-weight:600;letter-spacing:0;color:var(--ink)}
.preset-buttons{display:flex;gap:3px;flex-wrap:wrap}
.preset-buttons button{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;min-height:34px;border:1px solid transparent;border-radius:5px;font-size:11px;color:var(--muted)}
.preset-buttons button[aria-pressed=true]{background:var(--selected);border-color:var(--stroke);color:var(--ink)}
.preset-buttons button:hover{color:var(--ink);background:var(--field)}
.preset-icon{display:block;width:14px;height:14px;color:currentColor}
.feed-icon{background:repeating-linear-gradient(90deg,currentColor 0 4px,transparent 4px 6px);mask-image:repeating-linear-gradient(0deg,#000 0 6px,transparent 6px 9px)}
.slides-icon{height:10px;border:1px solid currentColor;border-radius:1px}
.grid-icon{background:repeating-linear-gradient(90deg,currentColor 0 4px,transparent 4px 6px);transform:skewY(-16deg)}
.web-icon{border:1px solid currentColor;border-radius:1px;background:linear-gradient(transparent 3px,currentColor 3px 4px,transparent 4px)}
.canvas-panel{padding:15px 16px 0;border:1px solid var(--stroke);border-radius:8px;background:var(--panel)}
.stage-meta{font-size:9px;color:var(--muted);letter-spacing:.08em;margin:0 0 13px}
.stage-meta i{width:5px;height:5px;background:var(--ink);border-radius:0;margin-right:5px}
.stage{border:1px solid var(--line);border-radius:3px;min-height:240px;background-color:var(--canvas);background-image:none}
.stage[data-transparent=true]{background-image:conic-gradient(var(--field) 25%,var(--panel) 0 50%,var(--field) 0 75%,var(--panel) 0);background-size:16px 16px}
.stage canvas{max-height:480px}
.stage.dragover{outline:2px solid var(--ink);outline-offset:3px}
.stage-bottom{font-size:10px;padding:10px 0;color:var(--muted)}
.stage-bottom .text-button{font-size:10px}
.stage-bottom b{font-weight:400;color:var(--ink);margin-left:5px}
#empty{background:var(--panel);color:var(--ink);border:1px solid var(--stroke);border-radius:8px}
#empty h2{font-weight:600;font-size:25px}
.media-panel{background:transparent;border:0;border-radius:0;padding:23px 0 0;margin-top:24px}
.media-head{flex-direction:row;align-items:center;gap:18px}
.media-head h2{font-size:19px;font-weight:600;letter-spacing:-.04em;margin:0}
.media-head h2 span{font-size:10px;font-weight:400;color:var(--muted);margin-left:9px}
.media-head p{font-size:11px;color:var(--muted);margin-top:6px}
.import-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.media-head .file-button,.import-actions .outline{min-height:34px;font-size:10px;padding:8px 11px;border:1px solid var(--stroke)}
.media-sort{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:17px}
.media-sort>span{font-size:10px;color:var(--muted);margin-right:6px}
.media-sort .outline{font-size:10px;min-height:30px;padding:6px 10px;border-color:var(--line);border-radius:4px;gap:5px}
.media-list{position:relative;gap:12px;padding-top:18px;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.media-item img{touch-action:pan-y;user-select:none;-webkit-user-drag:none}
.media-item.is-dragging{opacity:.22}
.media-list.is-reordering{user-select:none;cursor:grabbing}
.media-list.is-reordering img{cursor:grabbing}
.media-drag-ghost{position:fixed;left:0;top:0;margin:0;z-index:1000;pointer-events:none;will-change:transform;cursor:grabbing;opacity:1}
.media-drag-ghost img{outline:2px solid var(--ink);outline-offset:3px}
.media-item{flex-basis:80px}
.media-item img{width:80px;height:90px;border:1px solid var(--stroke);border-radius:3px;background:var(--field)}
.media-item small{width:80px;color:var(--muted);font-size:9px;margin-top:6px}
.media-item .media-tools{justify-content:center;gap:2px}
.media-tools button{background:transparent;border-radius:3px;min-height:28px;min-width:24px;color:var(--ink)}
.media-tools button:hover:not(:disabled){background:var(--selected)}
.media-foot{font-size:9px;color:var(--muted)}
.media-foot .text-button{font-size:10px}
.privacy{font-size:10px;color:var(--muted);margin:20px 0 0;text-align:left}
.privacy>span{display:none}
.import-progress{color:var(--ink);background:var(--soft-mint);padding:12px;font-size:12px;border:1px solid var(--line);border-radius:5px}
#status{background:var(--ink);color:var(--paper);border:1px solid var(--stroke);border-radius:7px;box-shadow:none;font-size:12px}
dialog{background:var(--panel);color:var(--ink);border:1px solid var(--stroke);border-radius:12px;padding:36px;width:calc(100% - 32px);max-width:580px;max-height:calc(100% - 40px);overflow-y:auto}
dialog::backdrop{background:#171326a8}
dialog h2{font-size:32px;font-weight:600;margin:18px 0}
dialog p{font-size:14px;line-height:1.7;color:var(--muted)}
.dialog-close{position:absolute;right:10px;top:8px;font-size:26px;width:44px;height:44px}
#instagramConnection{background:var(--field);border:1px solid var(--line);border-radius:5px;padding:14px;color:var(--ink)}
#instagramForm{display:grid;gap:13px;margin:20px 0}
#instagramForm label{font-size:12px}
#instagramUrl{background:var(--field);border:1px solid var(--stroke);border-radius:5px;color:var(--ink);padding:12px;font-size:14px;width:100%}
#instagramUrl::placeholder{color:var(--muted)}
#instagramError{color:#a52e54}html[data-theme=dark] #instagramError{color:#ffa5cc}

@media(min-width:1550px){.workspace{grid-template-columns:290px minmax(0,1fr);gap:35px}.stage canvas{max-height:580px}.controls{padding:25px}}
@media(max-width:1550px){.format-strip{margin-left:5%;margin-right:5%}}
@media(max-width:1100px){.hero{gap:25px;min-height:580px}.hero h1{font-size:68px}.hero-art{margin-right:6px}.workspace{grid-template-columns:245px minmax(0,1fr);gap:22px}.controls{padding:21px 17px}.media-head{flex-direction:column;align-items:start}.import-actions{justify-content:flex-start}.preset-bar{align-items:start;flex-direction:column;gap:9px}.strip-note{display:none}.template-picture{height:210px}}
@media(max-width:850px){.hero h1{font-size:56px}.hero{padding-top:55px;gap:20px}.studio-top{align-items:start;flex-direction:column;gap:20px}.how{gap:35px}.format-strip{gap:18px;font-size:12px}nav{gap:15px}.template-picture{height:180px}}
@media(max-width:700px){
body{--content-gutter:5%;font-size:16px}header{padding:18px var(--content-gutter);min-height:78px;gap:14px}.brand{font-size:14px;gap:10px}.brand-logo{width:43px;height:30px}.brand small{font-size:9px}nav{gap:12px}nav>a{display:none}nav .outline{display:none}.theme-toggle{min-height:44px;font-size:11px;padding:8px 0}
.hero{grid-template-columns:1fr;min-height:0;padding:40px var(--content-gutter) 85px;gap:55px}.hero h1{font-size:clamp(54px,12vw,79px);margin:23px 0;line-height:1.03}.hero h1 em:after{height:9px}.hero p{font-size:16px;max-width:35ch}.hero .primary{font-size:13px;min-height:50px;padding:11px 16px;gap:15px}.hero-cta{gap:17px}.hero-cta>span{font-size:10px}.hero .eyebrow{font-size:9px;letter-spacing:.08em}.hero-art{margin:0 9px 0 0;padding:8px 15px 15px 8px}.art-grid{right:0;top:-14px;background-size:21px 21px}.art-sheet{inset:30px 7px 1px 24px}.art-cursor{width:74px;height:auto;bottom:8px;right:-6px}.art-note{bottom:-47px;left:12px;font-size:10px}.art-note em{font-size:15px}
.format-strip{flex-wrap:wrap;gap:12px;padding:18px 0;margin:20px 6% 0;font-size:11px}.format-strip i{width:4px;height:4px}.format-strip .strip-note{display:none}
.templates,.how,.faq{padding:50px var(--content-gutter)}.section-top{display:block}.section-top h2{font-size:33px;max-width:16ch}.section-top p{font-size:15px}.template-grid{grid-template-columns:1fr;gap:30px}.template-grid>button:nth-child(2){margin-top:0}.template-picture{height:245px}.template-title{font-size:21px}.template-grid small{font-size:14px}.how{grid-template-columns:1fr;gap:15px}.how h2{font-size:34px}.how li p{font-size:16px}.how h3{font-size:17px}.faq h2{font-size:34px}.faq summary{font-size:18px}.faq p{font-size:16px}footer{font-size:12px}
#studio{padding:24px 5% 35px}.studio-top{margin-bottom:25px;gap:20px}.studio-top h1{font-size:37px}.studio-top #back{font-size:11px;min-height:30px}.studio-top p{font-size:13px}.actions{width:100%;flex-wrap:wrap;gap:7px}.actions .outline,.actions .primary{min-height:44px;font-size:11px;padding:10px 13px}.workspace{display:flex;flex-direction:column;gap:25px}.stage-area{width:100%}.controls{position:static;max-height:none;width:100%;overflow:visible;padding:24px;order:1}.control-head h2{font-size:22px}.control-head>span{font-size:13px}.controls summary{font-size:15px;min-height:30px}.controls label{font-size:14px}.controls select{font-size:16px;min-height:46px}.range-row input{height:34px}.range-row input::-webkit-slider-thumb{height:16px;width:16px;margin-top:-7px}.range-row output{font-size:12px}.controls .file-button{font-size:13px;min-height:46px}.preset-bar{padding-bottom:14px;margin-bottom:14px;gap:12px}.preset-caption{font-size:12px}.preset-buttons{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:5px}.preset-buttons button{justify-content:center;min-height:44px;font-size:12px;padding:9px}.canvas-panel{padding:12px 10px 0;border-radius:6px}.stage-meta{font-size:8px;letter-spacing:.03em}.stage{min-height:200px}.stage canvas{max-height:450px}.stage-bottom{font-size:9px;gap:8px;flex-wrap:wrap}.stage-bottom .text-button{font-size:9px;min-height:38px}.stage-bottom>span:last-child{margin-left:auto}.media-head h2{font-size:21px}.media-head p{font-size:13px}.media-head .file-button,.import-actions .outline{min-height:44px;font-size:12px;padding:9px 12px}.media-sort{gap:7px}.media-sort>span{width:100%;font-size:12px}.media-sort .outline{min-height:44px;font-size:12px;padding:9px 11px}.media-list{gap:15px}.media-item{flex-basis:100px}.media-item img,.media-item small{width:100px}.media-item img{height:115px}.media-item small{font-size:11px}.media-tools button{min-height:44px;min-width:30px;font-size:16px}.media-foot,.media-foot .text-button{font-size:11px}.privacy{font-size:12px}.swatches button,.solid-swatches .color-add{height:40px;width:40px}.shadow-presets button{font-size:12px;min-height:44px;padding:9px}.import-progress{font-size:14px}dialog{padding:30px 22px}dialog h2{font-size:29px}dialog p,#instagramUrl{font-size:16px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

/* Website template silhouettes mirror their composition without device frames. */
.mini-web{position:relative;display:block;width:78%;height:82%;overflow:hidden}.mini-web i{position:absolute;display:block;background:#f7f5f0;border:1px solid #292929;border-radius:8px;box-shadow:4px 5px 0 #292929;overflow:hidden}.mini-web i:before{content:'';display:block;height:12%;margin:10% 9% 8%;background:#85e8b9}.mini-web i:after{content:'';display:block;height:55%;margin:0 9%;background:repeating-linear-gradient(#b6a4d4 0 3px,transparent 3px 13px)}.mini-web i:nth-child(2){background:#fea5e0}.mini-web i:nth-child(3){background:#85e8b9}.mini-web.single i:first-child{inset:12% 6% -30%}.mini-web.single i:not(:first-child){display:none}.mini-web.overlap i:first-child{inset:-20% 0 10% 40%}.mini-web.overlap i:nth-child(2){inset:30% 27% -30% 0}.mini-web.overlap i:nth-child(3){display:none}.mini-web.columns i{top:15%;bottom:-35%;width:28%;left:0}.mini-web.columns i:nth-child(2){left:36%;top:-15%;bottom:0}.mini-web.columns i:nth-child(3){left:72%;top:0;bottom:-15%}.mini-web.responsive i:first-child{inset:12% 12% 15% 0}.mini-web.responsive i:nth-child(2){inset:37% 0 0 67%}.mini-web.responsive i:nth-child(3){display:none}.mini-web.mixed i:first-child{inset:-20% 25% 12% 27%}.mini-web.mixed i:nth-child(2){inset:15% 0 -20% 57%}.mini-web.mixed i:nth-child(3){inset:30% 70% -25% 0}

.wall-picture{background:#263775!important}.wall-picture .mini-grid{width:110%;transform:rotate(-9deg) scale(1.15);gap:13px}.wall-picture .mini-grid i{border:0;border-radius:10px;box-shadow:none}

/* FAQ accordion follows Anita’s homepage: wide rows, fine rules, plus/cross. */
.faq details{max-width:none;padding:0;border-bottom:1px solid var(--line)}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:98px;padding:23px 0;font-size:clamp(21px,2.2vw,34px);line-height:1.35;font-weight:400;letter-spacing:-.025em;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'';flex:0 0 40px;width:40px;height:40px;background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 100% no-repeat;transition:transform 180ms ease}
.faq details[open]>summary::after{transform:rotate(45deg)}
.faq summary:focus-visible{outline:2px solid var(--pink);outline-offset:7px;border-radius:2px}


.faq p{max-width:1150px;font-size:16px;line-height:1.6;color:var(--ink);margin:0;padding:0 64px 28px 0}
@media(max-width:700px){.faq summary{min-height:88px;gap:18px;padding:22px 0;font-size:22px}.faq summary::after{flex-basis:28px;width:28px;height:28px}.faq p{padding:0 0 25px;font-size:15px}}
@media(prefers-reduced-motion:reduce){.faq summary::after{transition:none}}

:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
.accordion-content{overflow:hidden;transition:height 200ms var(--ease-out)}
.accordion-inner{display:flow-root}
.controls details[open]>summary{margin-bottom:0}
.controls .accordion-inner{padding-top:15px}
.controls details[data-expanded=false]>summary:after{content:'+'}
.faq details[data-expanded=false]>summary::after{transform:rotate(0)}
.faq summary::after{transition:transform 200ms var(--ease-out)}
@media(prefers-reduced-motion:reduce){.accordion-content,.faq summary::after{transition:none}}

.brand-group{position:relative;padding-bottom:0}.brand-credit{position:absolute;bottom:2px;left:73px;line-height:1;font-size:10px;color:var(--muted);white-space:nowrap}.brand-credit a,footer strong a{text-underline-offset:3px}.brand-credit a:hover,footer strong a:hover{text-decoration:underline;color:var(--pink)}.template-picture.rendered-template{height:auto;aspect-ratio:4/3;padding:0}.rendered-template canvas{display:block;width:100%;height:100%;object-fit:cover}.template-grid>button:nth-child(2){margin-top:0}

.stage{position:relative}.stage>canvas{touch-action:none;cursor:crosshair}.canvas-editor{position:absolute;pointer-events:none;overflow:hidden;z-index:2}.canvas-editor .editor-handle{pointer-events:all;cursor:nwse-resize;touch-action:none}.canvas-editor .rotation-handle{cursor:grab}.editor-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:4px 0 12px;font-size:12px}.editor-toolbar select{max-width:230px;min-height:36px;background:var(--field);color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:5px}.editor-toolbar button{font-size:11px}.canvas-panel>#editorHint{font-size:11px;line-height:1.6;margin:0 0 14px}.stage>canvas:focus-visible{outline:2px solid var(--pink);outline-offset:3px}

.web-presets{padding:0 0 18px;margin-top:-8px;gap:7px}.web-presets button{border:1px solid var(--line);padding:9px 12px;min-height:46px}.layout-symbol{width:28px;height:28px;flex-shrink:0;fill:var(--panel);stroke:currentColor;stroke-width:1.2;stroke-linejoin:round}.web-presets button[aria-pressed=true] .layout-symbol{fill:var(--selected)}

.faq summary{transition:color 180ms ease}
@media(hover:hover) and (pointer:fine){.faq summary:hover{color:#c9268e}[data-theme="dark"] .faq summary:hover{color:var(--pink)}}
.faq summary:focus-visible{color:#c9268e}[data-theme="dark"] .faq summary:focus-visible{color:var(--pink)}
@media(prefers-reduced-motion:reduce){.faq summary{transition:none}}

.template-title{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}.template-name{min-width:0;text-align:left}.template-title b{flex:0 0 28px;align-self:center;margin:0;padding:0;line-height:1;letter-spacing:normal}.template-title b svg{display:block;width:15px;height:15px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* Preview zoom stays inside the card and reverses smoothly on pointer exit. */
.rendered-template canvas{transform:scale(1);transform-origin:center;transition:transform 200ms var(--ease-out)}
@media(hover:hover) and (pointer:fine){.template-grid>button:hover .rendered-template canvas{transform:scale(1.08)}}
.template-grid>button:focus-visible .rendered-template canvas{transform:scale(1.08)}
@media(prefers-reduced-motion:reduce){.rendered-template canvas{transition:none!important}.template-grid>button:hover .rendered-template canvas,.template-grid>button:focus-visible .rendered-template canvas{transform:none}}

/* The stage itself is the export rectangle, without an extra letterbox. */
.stage{width:min(100%,calc(480px * var(--preview-ratio,1.25)));min-height:0;margin-inline:auto;aspect-ratio:var(--preview-ratio,1.25);display:block}
.stage>canvas{display:block;width:100%;height:auto;max-height:none!important;object-fit:initial}
.rendered-template canvas{height:auto;object-fit:initial}
@media(max-width:700px){.stage{width:min(100%,calc(450px * var(--preview-ratio,1.25)))}}

.stage{border:0;outline:1px solid var(--line)}

.media-item.in-preview img{outline:2px solid #c9268e;outline-offset:3px}.media-item.in-preview small{color:#a91971;font-weight:600}.media-item{padding-top:5px}[data-theme="dark"] .media-item.in-preview small{color:var(--pink)}

/* Readable type and controls at normal browser zoom. */
body{font-size:16px}
nav{font-size:15px;gap:24px}.theme-toggle{font-size:14px}.theme-symbol{width:21px;height:21px}.brand-credit{font-size:12px}
.primary,.outline,.file-button{font-size:14px;min-height:44px}.text-button{font-size:14px}.eyebrow{font-size:12px}.hero p{font-size:18px}.hero-cta>span,.art-note{font-size:13px}.format-strip{font-size:15px}.strip-note,.section-top p{font-size:14px}
.template-title{font-size:22px;line-height:1.4}.template-grid small{font-size:15px;line-height:1.55;margin-top:9px}.template-title b{width:36px;height:36px;flex-basis:36px}.template-title b svg{width:19px;height:19px}
.how h3{font-size:19px}.how li p{font-size:16px}.how li>span{font-size:14px}footer{font-size:14px}
.studio-top #back{font-size:13px;min-height:34px}.studio-top p{font-size:15px}.actions .outline,.actions .primary{font-size:14px;min-height:44px}
.control-head h2{font-size:22px}.control-head>span{font-size:13px}.controls summary{font-size:15px;min-height:32px}.controls summary:after{font-size:24px}.controls label{font-size:14px}.controls select{font-size:14px;min-height:44px}.range-row output{font-size:12px}.range-row input{height:27px}.range-row input::-webkit-slider-thumb{width:15px;height:15px;margin-top:-6.5px}.range-row input::-moz-range-thumb{width:14px;height:14px}.controls .file-button{font-size:13px;min-height:44px}.hint{font-size:13px;line-height:1.6}.shadow-presets button{font-size:13px;min-height:40px;padding:8px 10px}
.preset-caption{font-size:14px}.preset-buttons button{font-size:14px;min-height:44px;gap:9px}.preset-icon{width:20px;height:20px;flex-shrink:0}.slides-icon{height:14px}.layout-symbol{width:32px;height:32px}.web-presets button{min-height:52px}
.editor-toolbar{font-size:14px}.editor-toolbar select{font-size:14px;min-height:44px}.editor-toolbar button{font-size:13px}.canvas-panel>#editorHint{font-size:13px}.stage-meta{font-size:12px;letter-spacing:.03em}.stage-bottom,.stage-bottom .text-button{font-size:12px}.media-head p{font-size:14px}.media-sort>span,.media-sort button{font-size:13px}.media-item small{font-size:12px;line-height:1.5}.media-tools button{min-width:34px;min-height:40px;font-size:19px}.media-foot,.media-foot .text-button,.privacy{font-size:13px}
@media(min-width:1100px){.workspace{grid-template-columns:310px minmax(0,1fr)}}
@media(max-width:700px){.template-title{font-size:22px}.controls select{font-size:16px}.preset-buttons button{font-size:13px}.stage-meta{font-size:11px}.brand-credit{left:65px;font-size:10px}.editor-toolbar{gap:8px}.editor-toolbar select{max-width:100%}.stage-bottom{gap:8px}}

.editor-toolbar label{display:inline-flex;align-items:center;gap:6px}.editor-toolbar input[type=number]{width:80px;padding:7px;border:1px solid var(--line);border-radius:5px;background:var(--field);color:var(--ink);font-size:14px;min-height:42px}.canvas-editor .width-handle{cursor:ew-resize}.canvas-editor .height-handle{cursor:ns-resize}

/* Editor controls never paint an opaque selection surface. */
.canvas-editor{background:transparent;fill:none}.canvas-editor polygon{fill:none!important;pointer-events:none}.canvas-editor line{fill:none;pointer-events:none}.canvas-editor .editor-handle{fill:#fff;stroke:#d52b99}.editor-toolbar button:focus-visible,.editor-toolbar input:focus-visible,.editor-toolbar select:focus-visible{outline:2px solid #d52b99;outline-offset:3px;box-shadow:none}

.magnet-control{cursor:pointer;min-height:44px}.magnet-control input{accent-color:#d52b99;width:18px;height:18px}.canvas-editor text{pointer-events:none}

.controls .project-upload{display:flex;align-items:center;justify-content:flex-start;gap:10px;white-space:normal;text-align:left;color:var(--ink)}.project-upload svg{display:block;width:22px;height:22px;flex:0 0 22px;stroke:currentColor;opacity:1;visibility:visible}.project-upload span{min-width:0}

/* The face presses into its fixed, hard-edged shadow. */
.hero .primary{--button-depth:4px}
.actions .primary{--button-depth:3px}
.hero .primary,.actions .primary{position:relative;box-shadow:var(--button-depth) var(--button-depth) 0 #191919;transform:translate(0,0);transition:transform 160ms var(--ease-out),box-shadow 160ms var(--ease-out),background-color 160ms ease,color 160ms ease,border-color 160ms ease}
.hero .primary::after,.actions .primary::after{content:none}
@media(hover:hover) and (pointer:fine){
  .hero .primary:hover:not(:disabled),.actions .primary:hover:not(:disabled){transform:translate(2px,2px);box-shadow:calc(var(--button-depth) - 2px) calc(var(--button-depth) - 2px) 0 #191919}
}
html[data-input=mouse] .hero .primary:hover:not(:disabled),html[data-input=mouse] .actions .primary:hover:not(:disabled){transform:translate(2px,2px);box-shadow:calc(var(--button-depth) - 2px) calc(var(--button-depth) - 2px) 0 #191919}
.hero .primary:active:not(:disabled),.actions .primary:active:not(:disabled),html[data-input=mouse] .hero .primary:active:not(:disabled),html[data-input=mouse] .actions .primary:active:not(:disabled){transform:translate(var(--button-depth),var(--button-depth));box-shadow:0 0 0 #191919}
@media(prefers-reduced-motion:reduce){
  .hero .primary,.actions .primary{transition:background-color 160ms ease,color 160ms ease,border-color 160ms ease}
  .hero .primary:hover:not(:disabled),.actions .primary:hover:not(:disabled),.hero .primary:active:not(:disabled),.actions .primary:active:not(:disabled),html[data-input=mouse] .hero .primary:hover:not(:disabled),html[data-input=mouse] .actions .primary:hover:not(:disabled){transform:none}
}

/* Hero: a marker, an ordered contact sheet and a small studio seal. */
.hero{padding-bottom:100px;gap:60px}
.hero h1 em{display:inline-block;white-space:nowrap}
.hero h1 em::after{height:.66em;bottom:.04em;left:-.04em;right:-.05em;background:#a1eddb;transform:rotate(-2deg);clip-path:polygon(1% 7%,99% 0,100% 91%,0 100%)}
.hero-art{padding:20px 24px 20px 20px;max-width:490px;justify-self:end;width:100%}
.art-grid{width:175px;height:150px;top:-20px;right:0;background-size:25px 25px;border-right:1px solid var(--stroke);border-bottom:1px solid var(--stroke)}
.art-cursor{width:94px;height:auto;right:-32px;bottom:10px;transform:none;filter:none}
.hero-badge{position:absolute;width:138px;height:138px;left:-47px;bottom:-40px;transform:rotate(-13deg);overflow:visible}
.format-strip{max-width:none;display:flex;flex-wrap:nowrap;margin:12px 0 0;padding:0;gap:0;overflow:hidden}
.format-window{overflow:hidden;flex:1;min-width:0}
.format-track{display:flex;width:max-content;animation:format-travel 38s linear infinite}
.format-group{display:flex;align-items:center;flex-shrink:0;gap:38px;padding:22px 19px;font-size:20px;white-space:nowrap}
.format-group i{display:block;background:none;border:0;border-radius:0;width:auto;height:auto;color:#60ad94;font-size:27px;font-style:normal;line-height:1}
.banner-toggle{align-self:stretch;flex:0 0 65px;background:var(--paper);border-left:1px solid var(--stroke);display:grid;place-items:center}
.banner-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.play-symbol{display:none}
.banner-toggle[aria-pressed=true] .pause-symbol{display:none}.banner-toggle[aria-pressed=true] .play-symbol{display:block}
.format-strip.is-paused .format-track,.format-strip:focus-within .format-track{animation-play-state:paused}
@media(hover:hover) and (pointer:fine){.format-strip:hover .format-track{animation-play-state:paused}}
@keyframes format-travel{to{transform:translateX(-50%)}}
/* Short, composited entrances; artwork starts only after its canvas is ready. */
@keyframes hero-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes sheet-enter{from{opacity:0;transform:translateY(12px) rotate(-4deg)}to{opacity:1;transform:translateY(0) rotate(-4deg)}}
.hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>p,.hero-cta{animation:hero-enter 450ms var(--ease-out) backwards}
.hero-copy>h1{animation-delay:60ms}.hero-copy>p{animation-delay:120ms}.hero-cta{animation-delay:180ms}
.hero-art:not([data-ready=true])>*{opacity:0}
.hero-art[data-ready=true] .art-grid{animation:hero-fade 450ms ease backwards}
.hero-art[data-ready=true] .art-sheet{animation:hero-fade 450ms ease 60ms backwards}
.hero-art[data-ready=true] .art-selection{animation:sheet-enter 500ms var(--ease-out) 120ms backwards}
.hero-art[data-ready=true] .art-cursor{animation:hero-enter 450ms var(--ease-out) 180ms backwards,cursor-drift 4s var(--ease-in-out) 630ms infinite}
@keyframes cursor-drift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(6px,-5px,0)}}
.hero-art[data-ready=true] .hero-badge{animation:badge-enter 450ms var(--ease-out) 240ms backwards}
.template-grid>button.reveal-pending{opacity:0;transform:translateY(12px)}
.template-grid>button.is-revealed{animation:hero-enter 450ms var(--ease-out) var(--entrance-delay,0ms) backwards}
.template-grid>button:focus-visible{opacity:1;transform:none;animation:none}
@media(max-width:1100px) and (min-width:701px){.hero{gap:30px}.hero-badge{width:112px;height:112px;left:-20px}.hero h1{font-size:62px}}
@media(max-width:700px){.hero{gap:60px;padding-bottom:80px}.hero-art{max-width:420px;justify-self:center;margin:0;padding:8px 15px 15px 8px}.hero-badge{width:112px;height:112px;left:-9px;bottom:-35px}.art-cursor{width:74px;height:auto;right:-14px;bottom:8px}.art-grid{width:126px;height:105px;background-size:21px 21px;top:-14px}.format-group{font-size:17px;gap:24px;padding:18px 12px}.banner-toggle{flex-basis:48px}}
@media(prefers-reduced-motion:reduce){.hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>p,.hero-cta,.art-selection,.art-grid,.art-sheet,.art-cursor,.hero-badge{animation:none}.format-track{animation:none}.format-window{overflow-x:auto}.format-group[aria-hidden=true],.banner-toggle{display:none}}

.hero{padding-top:45px;padding-bottom:75px}
.hero-art{max-width:420px}
@media(min-width:1200px){.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(48px,5vw,90px)}.hero-art{max-width:clamp(460px,32vw,560px);justify-self:center}}
html[data-theme=dark] .hero h1 em{color:#171326}
html[data-theme=dark] .hero h1 em::after{height:.98em;bottom:-.03em}
@media(max-width:700px){.hero{padding-top:36px;padding-bottom:75px}.hero-art{max-width:390px}}

@keyframes hero-fade{from{opacity:0}to{opacity:1}}
@keyframes badge-enter{from{opacity:0;transform:translateY(12px) rotate(-13deg) scale(.97)}to{opacity:1;transform:translateY(0) rotate(-13deg) scale(1)}}
@media(prefers-reduced-motion:reduce){.art-sheet,.hero-badge{animation:none}}

/* Keep the preview frame still; only the artwork moves inside its clipping mask. */
.template-picture.rendered-template{position:relative;display:block;overflow:hidden;isolation:isolate}
.template-picture.rendered-template canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;transform:scale(1);transform-origin:50% 50%;transition:transform 250ms var(--ease-out)}
.template-title b{background-color:transparent;transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease}
.template-grid>button:focus-visible .template-title b{background-color:var(--mint);color:#191919}
@media(hover:hover) and (pointer:fine){.template-grid>button:hover .rendered-template canvas{transform:scale(1.09)}}
.file-button,.shadow-presets button,.swatches button,.preset-buttons button,.media-tools button,.banner-toggle,.theme-toggle{transition:background-color 160ms ease,color 160ms ease,border-color 160ms ease}
nav a,.brand-credit a,footer a,.text-button{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:color 160ms ease,text-decoration-color 160ms ease,background-color 160ms ease,border-color 160ms ease}
@media(hover:hover) and (pointer:fine){nav a:hover,.brand-credit a:hover,footer a:hover,.text-button:hover{text-decoration-color:currentColor}}
@media(prefers-reduced-motion:reduce){.template-picture.rendered-template canvas{transition:none;transform:none!important}}

html[data-input=mouse] .template-grid>button:hover .rendered-template canvas{transform:scale(1.09)}
html[data-input=mouse] .template-grid>button:hover .template-title b{background-color:var(--mint);color:#191919}
@media(prefers-reduced-motion:reduce){html[data-input=mouse] .template-grid>button:hover .rendered-template canvas{transform:none!important}}

/* Studio actions: consistent proportions, clear selection, quiet secondary actions. */
#studio .button-icon{display:block;flex:0 0 19px;width:19px;height:19px;pointer-events:none}
#studio .actions{gap:10px;flex-wrap:wrap}
#studio .actions button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 16px;font-size:14px;font-weight:500;border-radius:9px;line-height:1.3}
#studio .actions .outline{border-color:var(--line);background-color:var(--panel)}
#studio button:disabled{opacity:.38;cursor:default}
#studio .preset-buttons{gap:7px}
#studio .preset-buttons button{gap:9px;min-height:46px;padding:10px 13px;border-radius:8px;border-color:var(--line);background-color:transparent;color:var(--muted);font-size:14px;font-weight:500;line-height:1.3}
#studio .preset-buttons button[aria-pressed=true]{background-color:var(--selected);border-color:var(--pink);color:var(--ink)}
#studio .import-actions{gap:8px}
#studio .import-actions .file-button,#studio .import-actions button{gap:8px;min-height:44px;padding:10px 13px;border-radius:8px;border-color:var(--line);font-size:14px;line-height:1.3}
#studio .media-sort .outline{min-height:40px;padding:8px 12px;border-radius:7px;font-size:13px}
#studio button:focus-visible,#studio .file-button:has(+input:focus-visible){outline:2px solid #d52b99;outline-offset:3px}
#studio .editor-toolbar button{border:1px solid var(--line);border-radius:7px;padding:8px 11px;min-height:38px;text-decoration:none;line-height:1.3}
#studio .editor-toolbar button:disabled{border-color:transparent}
html[data-input=mouse] #studio .outline:hover:not(:disabled),html[data-input=mouse] #studio .file-button:hover,html[data-input=mouse] #studio .editor-toolbar button:hover:not(:disabled){background-color:var(--field);border-color:var(--stroke);color:var(--ink)}
html[data-input=mouse] #studio .preset-buttons button:hover:not([aria-pressed=true]){background-color:var(--field);border-color:var(--stroke);color:var(--ink)}
html[data-input=mouse] #studio .preset-buttons button[aria-pressed=true]:hover{background-color:var(--selected);border-color:var(--pink);color:var(--ink)}
@media(max-width:700px){#studio .actions{gap:8px}#studio .actions button{flex:1 1 auto;padding:10px 12px;font-size:13px}#studio .preset-buttons button{padding:10px;font-size:13px}#studio .import-actions{width:100%}#studio .import-actions>*{flex:1 1 auto}}

.print-presets{margin:0 0 20px;display:flex;flex-wrap:wrap;gap:8px}
.social-presets{margin:0 0 20px;display:flex;flex-wrap:wrap;gap:8px}
.editor-settings{margin:0 0 14px;border:0;padding:0}
.editor-settings>summary{display:flex;align-items:center;gap:12px;min-height:44px;padding:7px 8px;list-style:none;border-radius:6px;cursor:pointer;color:var(--muted);font-size:13px;line-height:1.4;transition:background-color 160ms ease,color 160ms ease}
.editor-settings>summary::-webkit-details-marker{display:none}
.editor-settings-label{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;color:var(--ink)}
.editor-settings-label svg,.disclosure-chevron{display:block;flex-shrink:0}
.editor-selection{margin-left:auto;max-width:45%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.disclosure-chevron{transition:transform 200ms var(--ease-out)}
.editor-settings[data-expanded=true] .disclosure-chevron{transform:rotate(180deg)}
.editor-settings>summary:focus-visible{outline:2px solid #d52b99;outline-offset:1px}
.editor-settings .accordion-inner{padding:12px 8px 0}
.editor-settings #editorHint{margin:0 0 14px;font-size:12px;line-height:1.6}
.editor-settings .print-editor-tools{border:0;margin-bottom:8px;padding-bottom:8px}
@media(hover:hover) and (pointer:fine){.editor-settings>summary:hover{background:var(--field);color:var(--ink)}}
html[data-input=mouse] .editor-settings>summary:hover{background:var(--field);color:var(--ink)}
@media(max-width:700px){.editor-settings>summary{gap:8px;padding:6px 2px;font-size:12px;min-height:48px}.editor-settings-label{gap:6px}.editor-selection{max-width:34%}.editor-settings .accordion-inner{padding:12px 2px 0}.editor-settings .editor-toolbar select,.editor-settings .editor-toolbar input{font-size:16px}}
@media(prefers-reduced-motion:reduce){.disclosure-chevron{transition:none}}
.print-editor-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line);font-size:14px}
.print-editor-tools label{display:inline-flex;gap:7px;align-items:center}
.print-editor-tools select,.print-editor-tools input{background:var(--field);border:1px solid var(--line);border-radius:6px;color:var(--ink);padding:9px;font-size:14px;min-height:42px}
.print-editor-tools input{width:76px}.print-editor-tools .hint{flex-basis:100%;margin:0}
#paperColor{width:100%;height:38px;background:var(--field);border:1px solid var(--line);border-radius:5px;padding:3px}
#studio .preset-bar{align-items:flex-start}#studio .preset-bar>.preset-buttons{justify-content:flex-end}
#studio .print-editor-tools button{padding:9px 12px;border:1px solid var(--line);border-radius:6px;text-decoration:none}
@media(max-width:700px){.print-editor-tools label{flex-wrap:wrap}.print-editor-tools select,.print-editor-tools input{font-size:16px}#studio .preset-bar>.preset-buttons{justify-content:start}}

#studio .canvas-panel:has(#printEditorTools:not([hidden])) .editor-toolbar{gap:10px}
#studio .canvas-panel:has(#printEditorTools:not([hidden])):has(#printEditMode option[value=artwork]:checked) .editor-toolbar label:has(#elementWidth),#studio .canvas-panel:has(#printEditorTools:not([hidden])):has(#printEditMode option[value=artwork]:checked) .editor-toolbar label:has(#elementHeight){display:none}
.print-editor-tools .hint{font-size:12px;line-height:1.5}
.print-editor-tools button:focus-visible,.print-editor-tools select:focus-visible,.print-editor-tools input:focus-visible{outline:2px solid #d52b99;outline-offset:2px}

/* Each thumbnail owns a full-width action row; controls never run into neighbours. */
.media-list{gap:16px}
.media-list .media-item{flex:0 0 116px;width:116px;min-width:116px}
.media-list .media-item img{width:116px;height:126px;object-fit:contain;border-radius:5px}
.media-list .media-item small{width:116px;margin-top:8px;font-size:12px;line-height:1.5}
.media-item .media-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%;margin-top:8px}
.media-item .media-tools button{display:grid;place-items:center;min-width:0;width:100%;min-height:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--field);color:var(--ink);transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease,transform 120ms var(--ease-out)}
.media-tools button svg{display:block;width:18px;height:18px;pointer-events:none}
.media-item .media-tools button:disabled{opacity:.25;background:transparent;border-color:transparent;cursor:default}
html[data-input=mouse] .media-item .media-tools button:hover:not(:disabled){background:var(--selected);border-color:var(--pink);color:var(--ink)}
html[data-input=mouse] .media-item .media-tools button[data-action=remove]:hover:not(:disabled){background:var(--pink);border-color:var(--pink);color:#191919}
.media-item .media-tools button:active:not(:disabled){transform:scale(.94)}
#studio .media-item .media-tools button:focus-visible{outline:2px solid #d52b99;outline-offset:2px}

@media(pointer:coarse){.media-list .media-item{flex-basis:140px;min-width:140px;width:140px}.media-list .media-item img,.media-list .media-item small{width:140px}.media-list .media-item img{height:150px}.media-item .media-tools button{min-height:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.media-item .media-tools button:active:not(:disabled){transform:none}}

.controls .shadow-presets{display:grid;grid-template-columns:32px minmax(0,1fr) minmax(0,1.7fr) minmax(0,.85fr);gap:4px}.controls .shadow-presets button{min-width:0;min-height:40px;padding:6px 4px;font-size:12px;line-height:1.2;white-space:nowrap}.controls .shadow-presets .shadow-none{display:grid;place-items:center;padding:0}.shadow-none svg{display:block;pointer-events:none}
.controls .shadow-color-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin:12px 0 0}
.shadow-color-row #shadowColor{display:block;flex:0 0 44px;width:44px;height:44px;padding:5px;border:0;border-radius:50%;background:transparent;cursor:pointer;appearance:none;-webkit-appearance:none}
#shadowColor::-webkit-color-swatch-wrapper{padding:0}
#shadowColor::-webkit-color-swatch{border:1px solid var(--stroke);border-radius:50%}
#shadowColor::-moz-color-swatch{border:1px solid var(--stroke);border-radius:50%}
.shadow-color-row #shadowColor:focus-visible{outline:2px solid #d52b99;outline-offset:-2px}

/* Real background assets, with a quiet gallery and a persistent radio selection. */
.controls .background-library-label{margin:18px 0 12px;font-size:13px;font-weight:500;color:var(--ink)}
.background-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}
.controls .background-section-label{grid-column:1/-1;margin:8px 0 0;color:var(--muted);font-size:12px;font-weight:500;line-height:1.5}
.controls .background-section-label:first-child{margin-top:0}
.controls .background-preset{display:flex;flex-direction:column;position:relative;gap:7px;min-width:0;margin:0;padding:0 0 4px;color:var(--ink);font-size:12px;line-height:1.4;cursor:pointer}
.background-preset-picture{position:relative;display:block;overflow:hidden;border-radius:7px;outline:1px solid var(--line);outline-offset:-1px;transition:outline-color 160ms ease}
.background-preset img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform 220ms var(--ease-out),opacity 160ms ease}
.background-preset-name{display:block;overflow-wrap:anywhere}
.background-preset-check{position:absolute;right:6px;top:6px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--pink);color:#171326;font-size:14px;font-weight:600;opacity:0;transform:scale(.85);transition:opacity 160ms ease,transform 160ms var(--ease-out)}
.background-preset:has(input:checked) .background-preset-picture{outline:2px solid var(--pink);outline-offset:2px}
.background-preset:has(input:checked) .background-preset-check{opacity:1;transform:scale(1)}
.background-preset:has(input:focus-visible){outline:2px solid #d52b99;outline-offset:5px;border-radius:7px}
.background-preset[aria-busy=true] img{opacity:.6}
.controls .background-name{margin:16px 0 12px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.controls .background-upload{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;padding:10px 9px;border-radius:7px;font-size:12px;line-height:1.4;text-align:center}
.background-upload svg{flex:0 0 18px}
html[data-input=mouse] .background-preset:hover img{transform:scale(1.045)}
@media(hover:hover) and (pointer:fine){.background-preset:hover img{transform:scale(1.045)}}
@media(prefers-reduced-motion:reduce){.background-preset img,.background-preset-picture,.background-preset-check{transition:none}.background-preset:hover img{transform:none!important}}

/* Categories stay beside the canvas; their templates unfold in place. */
.category-nav{margin-bottom:28px}
.gradient-colors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gradient-colors:has(#gradientThirdColor:not([hidden])){grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.category-nav h2{font-size:16px;line-height:1.4;letter-spacing:-.025em;margin:0 0 14px}
.category-item+.category-item{margin-top:5px}
#studio .category-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:10px 11px;border:1px solid transparent;border-radius:8px;text-align:left;font-size:14px;font-weight:500;line-height:1.4;color:var(--muted);transition:background-color 160ms ease,color 160ms ease,border-color 160ms ease}
#studio .category-toggle[aria-pressed=true]{background:var(--selected);color:var(--ink);border-color:var(--line)}
.category-chevron{width:16px;height:16px;flex-shrink:0;margin-left:auto;transition:transform 200ms var(--ease-out)}
.category-toggle[aria-expanded=true] .category-chevron{transform:rotate(180deg)}
.category-panel{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows 200ms var(--ease-out),opacity 160ms ease,visibility 0s 200ms}
.category-panel[data-expanded=true]{grid-template-rows:1fr;opacity:1;visibility:visible;transition:grid-template-rows 200ms var(--ease-out),opacity 160ms ease,visibility 0s}
.category-panel-inner{min-height:0;overflow:hidden}
#studio .category-options{display:flex;flex-direction:column;flex-wrap:nowrap;gap:4px;padding:6px 0 12px 12px;width:100%}
#studio .category-options button{justify-content:flex-start;gap:9px;width:100%;min-height:44px;padding:9px 10px;font-size:13px;line-height:1.4;text-align:left;white-space:normal;border-color:transparent}
#studio .category-options button[aria-pressed=true]{border-color:var(--line);background:var(--field)}
.category-options .layout-symbol{width:20px;height:20px}
html[data-input=mouse] #studio .category-toggle:hover{background:var(--field);color:var(--ink)}
@media(max-width:700px){.category-nav{margin-bottom:26px}#studio .category-toggle{min-height:48px}#studio .category-options button{min-height:48px}}
@media(prefers-reduced-motion:reduce){.category-panel,.category-chevron{transition:none}}
@media(prefers-reduced-motion:reduce){
 .hero-art[data-ready=true]>*{animation:none!important}
 .template-grid>button.reveal-pending{transform:none}
 .template-grid>button.is-revealed{animation:hero-fade 160ms ease backwards}
}
