/* KULTURBRÜCKE Creative Lab — premium glass poster workstation. */
.poster-section { position: relative; isolation: isolate; }
.poster-section::before { position: absolute; z-index: -1; top: 11rem; left: -7rem; width: 25rem; height: 25rem; border-radius: 50%; content: ""; background: radial-gradient(circle, rgb(43 173 236 / 13%), transparent 68%); filter: blur(10px); pointer-events: none; }
.poster-section .section-intro { max-width: 54rem; }
.poster-studio {
  position: relative;
  display: grid;
  grid-template-columns: minmax(19rem, .86fr) minmax(0, 1.14fr);
  align-items: stretch;
  gap: clamp(1rem, 2vw, 1.65rem);
  margin-top: clamp(1.5rem, 3vw, 2.4rem);
  padding: clamp(.8rem, 1.7vw, 1.3rem);
  overflow: hidden;
  border: 1px solid rgb(146 226 255 / 27%);
  border-radius: clamp(1.2rem, 2.3vw, 1.8rem);
  background: radial-gradient(ellipse at 4% 1%, rgb(42 157 222 / 13%), transparent 34%), radial-gradient(ellipse at 97% 100%, rgb(44 147 215 / 11%), transparent 32%), linear-gradient(145deg, rgb(6 27 50 / 94%), rgb(2 14 32 / 98%));
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%), 0 28px 90px rgb(0 6 21 / 34%);
  -webkit-backdrop-filter: blur(22px) saturate(140%);
  backdrop-filter: blur(22px) saturate(140%);
}
.poster-studio::before { position: absolute; top: 0; right: 0; left: 0; height: 1px; content: ""; background: linear-gradient(90deg, transparent, rgb(176 237 255 / 78%), transparent); }
.poster-studio__topbar { display: flex; min-width: 0; grid-column: 1 / -1; align-items: center; justify-content: space-between; gap: 1rem; padding: .5rem .55rem 1.1rem; border-bottom: 1px solid rgb(146 220 255 / 14%); }
.poster-studio__brand { display: flex; min-width: 0; align-items: center; gap: .85rem; }
.poster-studio__brand-mark { display: grid; width: 2.65rem; height: 2.65rem; flex: 0 0 auto; place-items: center; border: 1px solid rgb(155 231 255 / 45%); border-radius: .92rem; color: #d7f7ff; background: linear-gradient(145deg, rgb(87 204 252 / 22%), rgb(9 54 91 / 72%)); box-shadow: inset 0 1px 0 rgb(255 255 255 / 17%), 0 0 28px rgb(69 191 244 / 15%); font-size: 1.45rem; }
.poster-studio__brand-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: .6rem; margin: 0; color: #f4fbff; font-size: .85rem; font-weight: 850; letter-spacing: .14em; }
.poster-studio__brand-title span { color: #7ab9d7; font-size: .57rem; font-weight: 750; letter-spacing: .2em; }
.poster-studio__brand-subtitle { margin: .22rem 0 0; color: #8ecbe4; font-size: .61rem; font-weight: 750; letter-spacing: .16em; }
.poster-studio__specs { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .48rem; }
.poster-studio__specs > span { display: inline-flex; min-height: 1.9rem; align-items: center; gap: .4rem; padding: .35rem .65rem; border: 1px solid rgb(135 211 244 / 20%); border-radius: 999px; color: #b8dced; background: rgb(5 26 48 / 55%); font-size: .59rem; font-weight: 800; letter-spacing: .09em; white-space: nowrap; }
.poster-studio__specs > span:first-child { color: #b7fff1; border-color: rgb(99 235 204 / 25%); background: rgb(24 110 103 / 13%); }
.poster-studio__specs i, .poster-preview-panel__foot i { display: block; width: .42rem; height: .42rem; border-radius: 50%; background: #59edce; box-shadow: 0 0 11px rgb(89 237 206 / 74%); }
.poster-controls { position: relative; display: block; min-width: 0; padding: clamp(1rem, 2vw, 1.6rem); border: 1px solid rgb(138 214 249 / 18%); border-radius: 1.2rem; background: linear-gradient(155deg, rgb(8 34 61 / 77%), rgb(3 20 41 / 88%)); box-shadow: inset 0 1px 0 rgb(255 255 255 / 6%), 0 14px 35px rgb(0 7 23 / 16%); }
.poster-controls::after { position: absolute; top: 1rem; right: 1rem; width: .5rem; height: .5rem; border: 1px solid rgb(126 218 255 / 44%); border-radius: 50%; content: ""; box-shadow: 0 0 12px rgb(76 194 244 / 18%); }
.poster-controls__heading { margin-bottom: 1.4rem; }
.poster-controls__heading-row { display: flex; align-items: center; gap: .85rem; }
.poster-controls__step { display: grid; width: 2.8rem; height: 2.8rem; flex: 0 0 auto; place-items: center; border: 1px solid rgb(125 222 255 / 35%); border-radius: .85rem; color: #c6f3ff; background: linear-gradient(145deg, rgb(51 161 215 / 24%), rgb(4 36 65 / 63%)); box-shadow: inset 0 1px 0 rgb(255 255 255 / 12%); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .85rem; font-weight: 750; }
.poster-controls__step--preview { width: 2.65rem; height: 2.65rem; }
.poster-eyebrow { margin: 0 0 .35rem; color: #8ce4ff; font-size: .63rem; font-weight: 850; letter-spacing: .17em; }
.poster-controls h3, .poster-preview-panel h3 { margin: 0; color: #f5fbff; font-size: clamp(1.35rem, 2.1vw, 1.9rem); font-weight: 800; letter-spacing: -.035em; line-height: 1.12; }
.poster-controls__heading > .poster-controls__heading-row p:last-child { margin: .42rem 0 0; color: #a4c2d6; font-size: .83rem; line-height: 1.55; }
.poster-field { min-width: 0; margin: 0 0 1.1rem; }
.poster-field__topline { display: flex; align-items: baseline; justify-content: space-between; gap: .6rem; margin-bottom: .48rem; }
.poster-field label, .poster-field > label, .poster-option-field legend { display: block; padding: 0; color: #e8f7ff; font-size: .82rem; font-weight: 780; letter-spacing: .01em; }
.poster-counter { color: #7ea8c2; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .68rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.poster-field input[type="text"], .poster-field textarea, .poster-field select {
  display: block; width: 100%; min-width: 0; border: 1px solid rgb(144 220 255 / 24%); border-radius: .82rem; outline: none; padding: .86rem .95rem; color: #f4fbff; background: linear-gradient(135deg, rgb(1 15 33 / 88%), rgb(4 29 51 / 92%)); box-shadow: inset 0 1px 0 rgb(255 255 255 / 4%), 0 5px 18px rgb(0 4 17 / 10%); line-height: 1.55; transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}
.poster-field input[type="text"]:hover, .poster-field textarea:hover, .poster-field select:hover { border-color: rgb(134 221 255 / 43%); }
.poster-field input[type="text"]:focus, .poster-field textarea:focus, .poster-field select:focus { border-color: #7adfff; background: rgb(4 28 50 / 98%); box-shadow: 0 0 0 3px rgb(73 195 241 / 10%), inset 0 1px 0 rgb(255 255 255 / 5%); }
.poster-field textarea { min-height: 6.1rem; resize: vertical; }
.poster-field select { cursor: pointer; }
.poster-field select option { color: #f4fbff; background: #061a31; }
.poster-field input:invalid:not(:focus), .poster-field textarea:invalid:not(:focus) { border-color: rgb(255 178 151 / 80%); }
.poster-field__help { margin: .4rem 0 0; color: #85a8c0; font-size: .72rem; line-height: 1.55; }
.poster-option-field { min-width: 0; margin: 0 0 1.18rem; padding: 0; border: 0; }
.poster-option-field legend { margin-bottom: .58rem; }
.poster-native-source { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.poster-palette-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; }
.poster-palette-option { position: relative; display: grid; min-width: 0; grid-template-columns: 1fr auto; grid-template-rows: 2.6rem auto; gap: .5rem .2rem; padding: .45rem; overflow: hidden; border: 1px solid rgb(135 211 244 / 17%); border-radius: .82rem; color: #dceff9; background: linear-gradient(145deg, rgb(5 27 48 / 82%), rgb(3 18 37 / 88%)); text-align: left; cursor: pointer; transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease; }
.poster-palette-option:hover { transform: translateY(-2px); border-color: rgb(127 224 255 / 49%); }
.poster-palette-option.is-active, .poster-palette-option[aria-pressed="true"] { border-color: rgb(118 223 255 / 74%); background: linear-gradient(145deg, rgb(24 80 111 / 48%), rgb(3 28 51 / 95%)); box-shadow: 0 0 0 1px rgb(106 219 255 / 10%), 0 8px 22px rgb(0 8 24 / 19%); }
.poster-palette-option__swatch { grid-column: 1 / -1; display: block; min-height: 2.6rem; border: 1px solid rgb(255 255 255 / 18%); border-radius: .48rem; box-shadow: inset 0 1px 0 rgb(255 255 255 / 13%); }
.poster-palette-option__swatch--sky { background: radial-gradient(ellipse at 25% 15%, #4a9dcc, transparent 48%), linear-gradient(135deg, #071832, #17628d 55%, #050d20); }
.poster-palette-option__swatch--turquoise { background: radial-gradient(ellipse at 70% 20%, #69dbd0, transparent 45%), linear-gradient(135deg, #063a43, #088d92 54%, #051924); }
.poster-palette-option__swatch--sunset { background: radial-gradient(ellipse at 65% 16%, #ffe4b6, transparent 34%), linear-gradient(135deg, #321d47, #a95775 53%, #0d2947); }
.poster-palette-option__text { display: grid; min-width: 0; gap: .15rem; align-content: center; }
.poster-palette-option__text strong { color: #f0f9ff; font-size: .67rem; font-weight: 790; line-height: 1.25; }
.poster-palette-option__text small { color: #83a9c0; font-size: .57rem; line-height: 1.3; }
.poster-palette-option__check { display: grid; width: 1.08rem; height: 1.08rem; align-self: center; place-items: center; border: 1px solid rgb(145 227 255 / 20%); border-radius: 50%; color: transparent; font-size: .67rem; }
.poster-palette-option[aria-pressed="true"] .poster-palette-option__check { border-color: #9beaff; color: #042239; background: #a3eaff; box-shadow: 0 0 12px rgb(110 222 255 / 31%); }
.poster-style-options { display: grid; gap: .42rem; }
.poster-style-option { display: grid; min-width: 0; grid-template-columns: 4rem minmax(0, 1fr) auto; align-items: center; gap: .75rem; padding: .48rem .58rem; border: 1px solid rgb(135 211 244 / 15%); border-radius: .8rem; color: #dbeefa; background: rgb(3 20 40 / 53%); text-align: left; cursor: pointer; transition: border-color 180ms ease, background 180ms ease, transform 180ms ease; }
.poster-style-option:hover { transform: translateX(2px); border-color: rgb(122 220 255 / 45%); }
.poster-style-option.is-active, .poster-style-option[aria-pressed="true"] { border-color: rgb(126 221 255 / 60%); background: linear-gradient(100deg, rgb(23 83 119 / 45%), rgb(3 25 46 / 80%)); box-shadow: inset 0 1px 0 rgb(255 255 255 / 6%); }
.poster-style-option__art { position: relative; display: block; height: 2.8rem; overflow: hidden; border: 1px solid rgb(197 240 255 / 24%); border-radius: .52rem; background: #061a34; }
.poster-style-option__art::before, .poster-style-option__art::after, .poster-style-option__art i, .poster-style-option__art b { position: absolute; display: block; content: ""; }
.poster-style-option__art--aurora { background: radial-gradient(ellipse at 32% 20%, rgb(76 208 255 / 72%), transparent 46%), linear-gradient(150deg, #0b294c, #0c6e93 55%, #06172d); }
.poster-style-option__art--aurora::before { right: -.2rem; bottom: .25rem; left: -.2rem; height: 1rem; border-top: 2px solid #b8f4ff; border-radius: 50% 50% 0 0; box-shadow: 0 -4px 10px rgb(106 230 255 / 55%); }
.poster-style-option__art--aurora::after { inset: .3rem .35rem; border: 1px solid rgb(222 249 255 / 45%); border-radius: .3rem; }
.poster-style-option__art--orbit { background: radial-gradient(circle at 50% 48%, rgb(110 232 255 / 40%), transparent 52%), linear-gradient(140deg, #06152f, #144d7a, #030e20); }
.poster-style-option__art--orbit::before { inset: .55rem .3rem; border: 1px solid #8eeaff; border-radius: 50%; transform: rotate(-18deg) scaleY(.55); }
.poster-style-option__art--orbit::after { inset: .3rem .65rem; border: 1px solid rgb(169 239 255 / 65%); border-radius: 50%; transform: rotate(30deg) scaleY(.65); }
.poster-style-option__art--editorial { background: linear-gradient(140deg, #0b1a34, #235c7f 55%, #051326); }
.poster-style-option__art--editorial::before { inset: .35rem .38rem; border: 1px solid rgb(231 249 255 / 65%); border-radius: .25rem; background: linear-gradient(120deg, rgb(187 238 255 / 18%), rgb(4 16 36 / 30%)); }
.poster-style-option__art--editorial::after { top: .66rem; left: .65rem; width: 1.3rem; height: .17rem; background: #bcefff; box-shadow: 0 .38rem 0 rgb(188 239 255 / 72%), 0 .76rem 0 rgb(188 239 255 / 40%); }
.poster-style-option__copy { display: grid; min-width: 0; gap: .19rem; }
.poster-style-option__copy strong { color: #eff9ff; font-size: .75rem; font-weight: 780; }
.poster-style-option__copy small { color: #8dafc5; font-size: .65rem; line-height: 1.35; }
.poster-style-option__check { color: transparent; font-size: .9rem; }
.poster-style-option[aria-pressed="true"] .poster-style-option__check { color: #9eebff; }
.poster-toggle { display: flex; align-items: center; gap: .8rem; margin: .45rem 0 1.1rem; cursor: pointer; }
.poster-toggle input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.poster-toggle__visual { position: relative; display: block; width: 2.7rem; min-width: 2.7rem; height: 1.52rem; border: 1px solid rgb(151 226 255 / 38%); border-radius: 999px; background: rgb(3 22 43 / 85%); transition: background-color 180ms ease, border-color 180ms ease; }
.poster-toggle__visual::after { position: absolute; top: .18rem; left: .18rem; width: 1.05rem; height: 1.05rem; border-radius: 50%; background: #aec9d9; content: ""; transition: transform 180ms ease, background-color 180ms ease; }
.poster-toggle input:checked + .poster-toggle__visual { border-color: #67d5ff; background: rgb(23 130 169 / 55%); }
.poster-toggle input:checked + .poster-toggle__visual::after { transform: translateX(1.12rem); background: #e9fbff; box-shadow: 0 0 12px rgb(105 221 255 / 27%); }
.poster-toggle input:focus-visible + .poster-toggle__visual { outline: 3px solid #b8edff; outline-offset: 3px; }
.poster-toggle__copy { display: grid; gap: .12rem; min-width: 0; }
.poster-toggle__copy strong { color: #e8f7ff; font-size: .82rem; }
.poster-toggle__copy small { color: #91b0c5; font-size: .7rem; line-height: 1.5; }
.poster-actions { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: .55rem; padding-top: .85rem; border-top: 1px solid rgb(143 217 249 / 13%); }
.poster-button { display: inline-flex; width: 100%; min-height: 3.05rem; align-items: center; justify-content: center; gap: .55rem; border: 1px solid transparent; border-radius: .82rem; padding: .72rem .8rem; font: inherit; font-size: .83rem; font-weight: 820; text-align: center; cursor: pointer; transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease; }
.poster-button--primary { color: #05223b; background: linear-gradient(112deg, #e6fbff, #9ce8ff 48%, #69d5ff); box-shadow: 0 8px 27px rgb(42 173 229 / 21%), inset 0 1px 0 rgb(255 255 255 / 90%); }
.poster-button--primary:hover { transform: translateY(-2px); box-shadow: 0 12px 31px rgb(42 173 229 / 30%), inset 0 1px 0 rgb(255 255 255 / 90%); }
.poster-button--secondary { border-color: rgb(151 226 255 / 25%); color: #d9effb; background: linear-gradient(140deg, rgb(8 35 62 / 80%), rgb(3 19 38 / 85%)); }
.poster-button--secondary:hover { border-color: rgb(151 226 255 / 59%); background: rgb(16 66 96 / 58%); }
.poster-status { min-height: 2.5em; margin: .82rem 0 0; padding: .7rem .78rem; border: 1px solid rgb(114 215 255 / 15%); border-radius: .72rem; color: #a8e9ff; background: rgb(4 25 46 / 46%); font-size: .75rem; line-height: 1.6; overflow-wrap: anywhere; }
.poster-status.is-error { color: #ffd0b7; border-color: rgb(255 164 137 / 35%); background: rgb(89 31 32 / 23%); }
.poster-export-note { display: flex; align-items: flex-start; gap: .48rem; margin: .7rem 0 0; color: #8aaabd; font-size: .68rem; line-height: 1.6; }
.poster-export-note > span:first-child { color: #a9edff; }
.poster-preview-panel { position: relative; display: flex; min-width: 0; flex-direction: column; padding: clamp(1rem, 1.9vw, 1.6rem); overflow: hidden; border: 1px solid rgb(143 220 255 / 20%); border-radius: 1.2rem; background: radial-gradient(ellipse at 50% 32%, rgb(36 139 201 / 19%), transparent 58%), linear-gradient(160deg, rgb(5 26 49 / 76%), rgb(2 16 33 / 88%)); box-shadow: inset 0 1px 0 rgb(255 255 255 / 6%); }
.poster-preview-panel::before { position: absolute; top: 0; right: 15%; left: 15%; height: 1px; content: ""; background: linear-gradient(90deg, transparent, rgb(153 232 255 / 55%), transparent); }
.poster-preview-panel__topline { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: 1.05rem; }
.poster-preview-panel__heading { display: flex; min-width: 0; align-items: center; gap: .8rem; }
.poster-preview-panel__heading .poster-eyebrow { margin-bottom: .24rem; font-size: .6rem; }
.poster-preview-panel h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); }
.poster-preview-panel__tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .45rem; }
.poster-preview-badge { display: inline-flex; min-height: 1.8rem; align-items: center; gap: .42rem; flex: none; border: 1px solid rgb(117 221 255 / 24%); border-radius: 999px; padding: .3rem .56rem; color: #bfeeff; background: rgb(28 125 162 / 13%); font-size: .59rem; font-weight: 850; letter-spacing: .1em; }
.poster-preview-badge > span:first-child { width: .42rem; height: .42rem; border-radius: 50%; background: #69e8d2; box-shadow: 0 0 10px rgb(105 232 210 / 60%); }
.poster-zoom-button { display: inline-flex; min-height: 1.95rem; align-items: center; gap: .35rem; border: 1px solid rgb(142 222 255 / 26%); border-radius: 999px; padding: .35rem .62rem; color: #d8f4ff; background: rgb(8 35 61 / 68%); font: inherit; font-size: .64rem; font-weight: 760; cursor: pointer; transition: border-color 160ms ease, background 160ms ease, transform 160ms ease; }
.poster-zoom-button:hover { transform: translateY(-1px); border-color: rgb(142 222 255 / 58%); background: rgb(18 69 101 / 75%); }
.poster-preview-stage { position: relative; display: grid; flex: 1; min-height: 0; place-items: center; padding: .6rem 0 .3rem; isolation: isolate; }
.poster-preview-stage::before { position: absolute; z-index: -2; inset: 0; content: ""; background: radial-gradient(ellipse at 50% 42%, rgb(53 175 231 / 16%), transparent 55%), repeating-linear-gradient(0deg, transparent 0 34px, rgb(122 210 249 / 3%) 35px 36px), repeating-linear-gradient(90deg, transparent 0 34px, rgb(122 210 249 / 3%) 35px 36px); mask-image: linear-gradient(180deg, transparent, black 14%, black 80%, transparent); }
.poster-preview-stage__beam { position: absolute; z-index: -1; top: 12%; left: 50%; width: 65%; height: 60%; transform: translateX(-50%); border-radius: 50%; background: rgb(57 172 233 / 10%); filter: blur(55px); }
.poster-preview-stage__floor { position: absolute; z-index: -1; right: 4%; bottom: 3.1rem; left: 4%; height: 3.5rem; border-top: 1px solid rgb(130 222 255 / 25%); border-radius: 50%; background: radial-gradient(ellipse at 50% 0%, rgb(71 191 240 / 16%), transparent 65%); filter: blur(5px); }
.poster-preview { position: relative; width: min(100%, 31.5rem); margin: 0 auto; perspective: 1400px; }
.poster-preview::before { position: absolute; z-index: -1; inset: 5% -2.3% -2.1%; border: 1px solid rgb(174 232 255 / 12%); border-radius: 1rem; content: ""; background: linear-gradient(145deg, rgb(130 219 255 / 6%), rgb(2 15 33 / 25%)); transform: rotateY(-2deg) rotateX(1deg) translateY(6px); box-shadow: 0 24px 60px rgb(0 4 17 / 35%); }
.poster-preview canvas { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; border: 1px solid rgb(173 230 255 / 52%); border-radius: .9rem; background: #071b35; box-shadow: 0 25px 62px rgb(0 5 20 / 42%), 0 0 0 4px rgb(255 255 255 / 2%), 0 0 50px rgb(48 168 220 / 10%); transform: rotateY(-1deg); transition: box-shadow 240ms ease, transform 240ms ease; }
.poster-preview canvas:hover { transform: rotateY(0) translateY(-2px); box-shadow: 0 30px 70px rgb(0 5 20 / 48%), 0 0 0 4px rgb(255 255 255 / 3%), 0 0 62px rgb(48 168 220 / 17%); }
.poster-preview figcaption { margin-top: .7rem; color: #82a9c0; font-size: .68rem; text-align: center; letter-spacing: .035em; }
.poster-preview-panel__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .65rem; margin-top: .95rem; padding-top: .8rem; border-top: 1px solid rgb(142 220 255 / 13%); color: #83a9c0; font-size: .63rem; }
.poster-preview-panel__foot > span:first-child { display: inline-flex; align-items: center; gap: .4rem; color: #a4ddec; }
.poster-preview-panel__foot i { width: .35rem; height: .35rem; }
.poster-preview-dialog { position: fixed; inset: 0; width: 100vw; max-width: none; height: 100vh; height: 100dvh; max-height: none; margin: 0; padding: clamp(.7rem, 2vw, 1.7rem); overflow: auto; border: 1px solid rgb(153 225 255 / 29%); border-radius: 0; color: #edf9ff; background: radial-gradient(ellipse at 50% 15%, rgb(33 115 166 / 28%), transparent 48%), #041326; }
.poster-preview-dialog::backdrop { background: rgb(0 7 19 / 88%); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.poster-preview-dialog[open] { display: grid; place-items: center; }
.poster-preview-dialog__shell { display: grid; width: min(100%, 1100px); min-height: 0; grid-template-rows: auto minmax(0, 1fr) auto; gap: 1rem; margin: auto; }
.poster-preview-dialog__topbar, .poster-preview-dialog__bottom { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.poster-preview-dialog__topbar { padding-bottom: .85rem; border-bottom: 1px solid rgb(145 219 255 / 17%); }
.poster-preview-dialog__topbar h3 { margin: 0; color: #f4fbff; font-size: clamp(1.2rem, 2.5vw, 1.8rem); }
.poster-preview-dialog__close { display: grid; width: 2.8rem; height: 2.8rem; flex: 0 0 auto; place-items: center; border: 1px solid rgb(163 231 255 / 33%); border-radius: 50%; color: white; background: rgb(10 42 68 / 75%); font: inherit; font-size: 1.75rem; cursor: pointer; }
.poster-preview-dialog__canvas-wrap { display: grid; min-height: 0; place-items: center; }
.poster-preview-dialog__canvas-wrap canvas { display: block; width: auto; max-width: min(100%, 58vh); max-height: calc(100dvh - 14rem); height: auto; aspect-ratio: 4 / 5; border: 1px solid rgb(173 230 255 / 42%); border-radius: .8rem; background: #071b35; box-shadow: 0 25px 80px rgb(0 0 0 / 34%), 0 0 55px rgb(40 166 224 / 10%); }
.poster-preview-dialog__bottom { padding-top: .85rem; border-top: 1px solid rgb(145 219 255 / 17%); color: #9dc0d4; font-size: .74rem; }
.poster-preview-dialog__bottom .poster-button { width: auto; min-width: 12rem; }
.poster-field input:focus-visible, .poster-field textarea:focus-visible, .poster-field select:focus-visible, .poster-palette-option:focus-visible, .poster-style-option:focus-visible, .poster-toggle input:focus-visible + .poster-toggle__visual, .poster-button:focus-visible, .poster-zoom-button:focus-visible, .poster-preview-dialog__close:focus-visible { outline: 3px solid #c3f2ff; outline-offset: 3px; }
@media (min-width: 1000px) { .poster-controls, .poster-preview-panel { min-height: 100%; } }
@media (max-width: 1050px) {
  .poster-studio { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: .9rem; padding: .75rem; }
  .poster-controls { padding: 1rem; }
  .poster-preview-panel { padding: 1rem; }
  .poster-studio__specs > span:last-child { display: none; }
  .poster-style-option { grid-template-columns: 3.5rem minmax(0, 1fr) auto; gap: .55rem; }
}
@media (max-width: 820px) {
  .poster-studio { grid-template-columns: minmax(0, 1fr); }
  .poster-studio__topbar { align-items: flex-start; }
  .poster-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 0 1rem; }
  .poster-controls__heading, .poster-option-field, .poster-toggle, .poster-actions, .poster-status, .poster-export-note { grid-column: 1 / -1; }
  .poster-preview { width: min(100%, 29rem); }
  .poster-preview-panel { min-height: auto; }
}
@media (max-width: 560px) {
  .poster-studio { gap: .7rem; padding: .55rem; border-radius: 1.15rem; }
  .poster-studio__topbar { padding: .45rem .4rem .8rem; }
  .poster-studio__brand { gap: .55rem; }
  .poster-studio__brand-mark { width: 2.2rem; height: 2.2rem; border-radius: .72rem; font-size: 1.15rem; }
  .poster-studio__brand-title { gap: .3rem; font-size: .68rem; letter-spacing: .08em; }
  .poster-studio__brand-title span { font-size: .48rem; }
  .poster-studio__brand-subtitle { font-size: .52rem; letter-spacing: .1em; }
  .poster-studio__specs { gap: .25rem; }
  .poster-studio__specs > span { min-height: 1.55rem; padding: .25rem .4rem; font-size: .49rem; }
  .poster-studio__specs > span:nth-child(2) { display: none; }
  .poster-controls { display: block; padding: .82rem; border-radius: .95rem; }
  .poster-controls__heading { margin-bottom: 1.2rem; }
  .poster-controls__step { width: 2.35rem; height: 2.35rem; border-radius: .7rem; }
  .poster-field input[type="text"], .poster-field textarea, .poster-field select { font-size: 16px; }
  .poster-palette-options { gap: .3rem; }
  .poster-palette-option { grid-template-rows: 2rem auto; gap: .35rem .1rem; padding: .32rem; border-radius: .65rem; }
  .poster-palette-option__swatch { min-height: 2rem; }
  .poster-palette-option__text strong { font-size: .61rem; }
  .poster-palette-option__text small { font-size: .51rem; }
  .poster-palette-option__check { width: .9rem; height: .9rem; font-size: .58rem; }
  .poster-style-option { grid-template-columns: 3.5rem minmax(0, 1fr) auto; }
  .poster-actions { grid-template-columns: minmax(0, 1fr); }
  .poster-preview-panel { padding: .78rem; border-radius: .95rem; }
  .poster-preview-panel__topline { align-items: flex-start; }
  .poster-preview-panel__heading { gap: .55rem; }
  .poster-preview-panel__heading .poster-controls__step { width: 2.05rem; height: 2.05rem; }
  .poster-preview-panel__heading .poster-eyebrow { font-size: .51rem; letter-spacing: .11em; }
  .poster-preview-panel h3 { font-size: 1.15rem; }
  .poster-preview-panel__tools { flex-direction: column; align-items: flex-end; }
  .poster-zoom-button { padding: .32rem .46rem; font-size: .58rem; }
  .poster-preview { width: min(100%, 26rem); }
  .poster-preview canvas { border-radius: .7rem; }
  .poster-preview-panel__foot { font-size: .58rem; }
  .poster-preview-dialog { padding: .65rem; }
  .poster-preview-dialog__shell { gap: .65rem; }
  .poster-preview-dialog__canvas-wrap canvas { max-width: min(100%, 72vw); max-height: calc(100dvh - 11rem); }
  .poster-preview-dialog__bottom { align-items: flex-start; flex-direction: column; }
  .poster-preview-dialog__bottom .poster-button { width: 100%; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .poster-section::before, .poster-studio__brand-mark, .poster-palette-option, .poster-style-option, .poster-toggle__visual, .poster-toggle__visual::after, .poster-button, .poster-zoom-button, .poster-preview canvas { animation: none !important; transition: none !important; }
  .poster-button--primary:hover, .poster-palette-option:hover, .poster-style-option:hover, .poster-zoom-button:hover, .poster-preview canvas:hover { transform: none; }
}
@media (forced-colors: active) {
  .poster-studio, .poster-controls, .poster-preview-panel, .poster-palette-option, .poster-style-option, .poster-button, .poster-zoom-button { border: 1px solid CanvasText; }
  .poster-field label, .poster-field__help, .poster-status, .poster-counter, .poster-style-option__copy small { color: CanvasText; }
}
