/* Opt-in presentation layer. Customer templates and Studio renderers never load this file. */
html:not([data-lw-theme="light"]) :is(body.lw-public-home, body.lw-public-work) {
  /* Mirror the shared public dark tokens; do not re-darken Home and Work. */
  --lw-header-glass: rgba(35, 75, 65, .43);
  --lw-card-bg: linear-gradient(145deg, #365e56, #254741 78%);
  --lw-canvas: #203f3c;
  --lw-canvas-deep: #173632;
  --lw-surface: #294b48;
  --lw-surface-soft: #365a53;
  --lw-surface-mint: #396b59;
  --lw-ink: #f2fff7;
  --lw-ink-soft: #e2f6eb;
  --lw-muted: #bcd8cb;
  --lw-muted-strong: #d1e9dd;
  --lw-brand: #8cf2b9;
  --lw-brand-strong: #b5ffdc;
  --lw-line: rgba(185, 241, 213, .24);
  --lw-line-strong: rgba(189, 248, 217, .38);
  --lw-shadow: 0 18px 42px rgba(5, 27, 24, .23);
  --lw-shadow-lift: 0 26px 58px rgba(5, 27, 24, .32);
}
html:not([data-lw-theme="light"]) body.lw-public-home .project .thumb::before { filter: blur(2px) brightness(.72); }
html:not([data-lw-theme="light"]) body.lw-public-home .project .thumb::after { background: radial-gradient(ellipse at 80% 0, var(--portfolio-accent, #70dfab40), transparent 75%), linear-gradient(0deg, #092d2299, transparent 70%); }
body.lw-public-work .luckywork-promo-figure { max-width: 1120px; margin-inline: auto; }
body.lw-public-work .hero { padding-block: clamp(57px, 7vw, 90px) clamp(35px, 5vw, 60px); }
body.lw-public-work .lw-module-shortcuts { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 18px 0 9px; }
body.lw-public-work .lw-module-shortcuts span { margin-right: 6px; color: var(--lw-muted); font-size: 12px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
body.lw-public-work .lw-module-shortcuts a { border: 1px solid var(--lw-line-strong); border-radius: 999px; padding: 9px 13px; background: var(--lw-surface); color: var(--lw-ink-soft); font-size: 13px; font-weight: 700; text-decoration: none; }
body.lw-public-work .lw-module-shortcuts a:is(:hover,:focus-visible) { border-color: var(--lw-brand); color: var(--lw-brand); }
body.lw-public-home .lw-home-paths { padding: 18px 0 65px; }
body.lw-public-home .lw-home-paths__inside { background: linear-gradient(135deg, var(--lw-surface), var(--lw-canvas-deep)); box-shadow: var(--lw-shadow); }
body.lw-public-home .lw-home-paths__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.lw-public-home .lw-home-path { min-height: 225px; }
body.lw-public-home .lw-home-path:is(:hover, :focus-visible) { transform: translateY(-4px); box-shadow: var(--lw-shadow-lift); }
body.lw-public-home #sluzby { padding-block: 60px; }
body.lw-public-home #sluzby .lw-card-polish { min-height: 172px; }

body.lw-public-home .lw-studio-promo,
body.lw-public-home .lw-work-teaser { padding: clamp(70px, 7vw, 105px) 0; scroll-margin-top: 95px; }
body.lw-public-home .lw-studio-promo { background: radial-gradient(ellipse at 92% 22%, rgba(66, 181, 117, .12), transparent 48%), var(--lw-canvas-deep); }
body.lw-public-home .lw-studio-promo__layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: center; gap: clamp(24px, 5vw, 78px); }
body.lw-public-home .lw-studio-promo h2,
body.lw-public-home .lw-work-teaser h2 { margin: 12px 0 20px; font-size: clamp(38px, 5vw, 67px); letter-spacing: -.065em; line-height: 1.04; }
body.lw-public-home .lw-studio-promo h2 span,
body.lw-public-home .lw-work-teaser h2 span { color: var(--lw-brand); }
body.lw-public-home .lw-studio-promo__copy > p,
body.lw-public-home .lw-work-teaser__layout > div:first-child > p { max-width: 570px; color: var(--lw-muted-strong); font-size: 18px; line-height: 1.65; }
body.lw-public-home .lw-studio-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; padding: 0; margin: 30px 0; list-style: none; counter-reset: studio-step; }
body.lw-public-home .lw-studio-steps li { min-width: 0; border-top: 2px solid var(--lw-line-strong); padding-top: 11px; color: var(--lw-ink-soft); font-size: 12px; font-weight: 750; line-height: 1.35; counter-increment: studio-step; }
body.lw-public-home .lw-studio-steps li::before { display: block; margin-bottom: 7px; color: var(--lw-brand); font-size: 11px; letter-spacing: .1em; content: '0' counter(studio-step); }
body.lw-public-home .lw-studio-promo__actions,
body.lw-public-home .lw-work-teaser__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 17px; }
body.lw-public-home .lw-studio-promo__link,
body.lw-public-home .lw-work-teaser__actions > a:not(.cta) { color: var(--lw-brand-strong); font-size: 14px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
body.lw-public-home .lw-studio-promo__copy > small,
body.lw-public-home .lw-work-teaser__layout > div:first-child > small { display: block; margin-top: 18px; color: var(--lw-muted); font-size: 12px; }
body.lw-public-home .lw-studio-promo__previews { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr); align-items: center; gap: 13px; }
body.lw-public-home .lw-studio-promo__previews a { display: block; min-width: 0; overflow: hidden; border: 1px solid var(--lw-line-strong); border-radius: 20px; background: var(--lw-surface); box-shadow: var(--lw-shadow-lift); transition: transform .2s ease, border-color .2s ease; }
body.lw-public-home .lw-studio-promo__previews a:nth-child(2) { transform: translateY(36px); }
body.lw-public-home .lw-studio-promo__previews a:is(:hover, :focus-visible) { border-color: var(--lw-brand); }
body.lw-public-home .lw-studio-promo__previews img { display: block; width: 100%; height: auto; aspect-ratio: 1.3; object-fit: cover; object-position: top; }
body.lw-public-home .lw-studio-promo__previews span { display: block; padding: 12px 14px; color: var(--lw-ink); font-size: 12px; font-weight: 750; }
body.lw-public-home .lw-refined-portfolio__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.lw-public-home .lw-refined-portfolio__grid .project { grid-column: auto; min-width: 0; }
body.lw-public-home .lw-refined-portfolio__grid .project-title { font-size: 20px; }

body.lw-public-home .lw-work-teaser { background: radial-gradient(ellipse at 82% 50%, rgba(42, 167, 109, .12), transparent 50%), var(--lw-canvas); }
body.lw-public-home .lw-work-teaser__layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; gap: clamp(28px, 4vw, 60px); }
body.lw-public-home .lw-work-teaser__visual { min-width: 0; overflow: hidden; margin: 0; border: 1px solid var(--lw-line-strong); border-radius: 23px; background: var(--lw-surface); box-shadow: var(--lw-shadow-lift); }
body.lw-public-home .lw-work-product__scene { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 3; background: #e8e9dc; }
body.lw-public-home .lw-work-product__set { display: block; width: 100%; height: 100%; object-fit: cover; }
body.lw-public-home .lw-work-product__screen { position: absolute; left: 20.15%; top: 16.67%; width: 59.85%; height: 46.4%; object-fit: cover; object-position: top; clip-path: polygon(.9% 0, 100% 0, 100% 100%, 0 100%); }
body.lw-public-home .lw-work-product__badge { position: absolute; top: 20px; left: 20px; display: flex; align-items: center; gap: 7px; border: 1px solid #ffffffa6; border-radius: 999px; padding: 8px 11px; background: #f7fffbd9; color: #174331; font-size: 9px; font-weight: 850; letter-spacing: .05em; backdrop-filter: blur(12px); }
body.lw-public-home .lw-work-product__badge i { width: 6px; height: 6px; border-radius: 50%; background: #108052; box-shadow: 0 0 0 3px #10805216; }
body.lw-public-home .lw-work-product__open { position: absolute; right: 20px; bottom: 20px; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #ffffffa6; border-radius: 50%; background: #f7fffbd9; color: #174331; font-size: 23px; transition: transform .2s ease, background .2s ease; }
body.lw-public-home .lw-work-product__scene:is(:hover, :focus-visible) .lw-work-product__open { transform: translate(2px, -2px); background: #fff; }
body.lw-public-home .lw-work-product__scene:focus-visible { outline: 3px solid var(--lw-brand); outline-offset: -3px; }
body.lw-public-home .lw-work-teaser__visual figcaption { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 21px; }
body.lw-public-home .lw-work-teaser__visual figcaption small { display: block; margin-bottom: 5px; color: var(--lw-brand); font-size: 9px; font-weight: 850; letter-spacing: .08em; }
body.lw-public-home .lw-work-teaser__visual figcaption strong { color: var(--lw-ink); font-size: 14px; font-weight: 750; letter-spacing: -.02em; }
body.lw-public-home .lw-work-product__caption-mark { flex: none; color: var(--lw-muted); font-size: 9px; font-weight: 750; letter-spacing: .06em; }
@media(max-width: 1000px) {
  body.lw-public-home .lw-studio-promo__layout,
  body.lw-public-home .lw-work-teaser__layout { grid-template-columns: 1fr; }
  body.lw-public-home .lw-studio-promo__previews { max-width: 720px; }
  body.lw-public-home .lw-refined-portfolio__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media(max-width: 700px) {
  body.lw-public-home .lw-home-paths__grid,
  body.lw-public-home .lw-refined-portfolio__grid { grid-template-columns: 1fr; }
  body.lw-public-home .lw-home-path { min-height: 170px; }
  body.lw-public-home .lw-studio-promo,
  body.lw-public-home .lw-work-teaser { padding-block: 64px; }
  body.lw-public-home .lw-studio-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.lw-public-home .lw-studio-promo__previews a:nth-child(2) { transform: translateY(16px); }
  body.lw-public-home .lw-work-teaser__layout { gap: 27px; }
  body.lw-public-home .lw-work-product__badge { top: 12px; left: 12px; padding: 7px 9px; font-size: 8px; }
  body.lw-public-home .lw-work-product__open { right: 12px; bottom: 12px; width: 36px; height: 36px; font-size: 20px; }
  body.lw-public-home .lw-work-teaser__visual figcaption { padding: 15px 16px; }
  body.lw-public-home .lw-work-product__caption-mark { display: none; }
}
@media(max-width: 390px) {
  body.lw-public-home .lw-studio-promo__previews { grid-template-columns: 1fr; }
  body.lw-public-home .lw-studio-promo__previews a:nth-child(2) { transform: none; }
}
@media(prefers-reduced-motion: reduce) {
  body.lw-public-home .lw-home-path,
  body.lw-public-home .lw-studio-promo__previews a,
  body.lw-public-home .lw-work-product__open { transition: none; }
}

/* LuckyStudio Cloud: the existing Auth and project APIs remain unchanged. */
body.lw-studio-cloud {
  --cloud-bg: #07120f;
  --cloud-panel: #11221b;
  --cloud-panel-raised: #182e24;
  --cloud-line: rgba(180, 229, 191, .2);
  --cloud-ink: #f3faf5;
  --cloud-muted: #bad0bf;
  --cloud-accent: #84ebad;
  background: radial-gradient(ellipse at 75% 4%, rgba(63, 161, 105, .16), transparent 42%), var(--cloud-bg);
  color: var(--cloud-ink);
  min-height: 100vh;
}
body.lw-studio-cloud[data-lucky-public-identity] > header.topbar {
  padding: 13px max(24px, calc((100vw - 1180px) / 2));
  border-bottom: 1px solid var(--identity-line);
  background: var(--identity-glass);
  color: var(--identity-ink);
  -webkit-backdrop-filter: var(--identity-glass-filter);
  backdrop-filter: var(--identity-glass-filter);
  box-shadow: var(--identity-glass-shadow);
}
body.lw-studio-cloud[data-lucky-public-identity] > header.topbar .brand { color: var(--identity-ink) !important; }
body.lw-studio-cloud[data-lucky-public-identity] > header.topbar .brand span { color: var(--identity-accent) !important; }
body.lw-studio-cloud[data-lucky-public-identity] > header.topbar nav a { color: var(--identity-link); }
body.lw-studio-cloud[data-lucky-public-identity] > header.topbar nav a:is(:hover, :focus-visible) { color: var(--identity-accent); }
body.lw-studio-cloud main { max-width: 1228px; padding: 52px 24px 75px; }
body.lw-studio-cloud main:has(#auth-section:not([hidden])) { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); gap: 30px 48px; align-items: center; }
body.lw-studio-cloud .hero { max-width: 660px; padding: 0; }
body.lw-studio-cloud .hero h1 { font-size: clamp(47px, 5vw, 72px); line-height: 1.04; letter-spacing: -.065em; }
body.lw-studio-cloud .hero h1 em { color: var(--cloud-accent); }
body.lw-studio-cloud .hero > p { max-width: 570px; color: var(--cloud-muted); font-size: 16px; line-height: 1.7; }
body.lw-studio-cloud .eyebrow { color: var(--cloud-accent); }
body.lw-studio-cloud .panel { border-color: var(--cloud-line); border-radius: 22px; padding: clamp(22px, 3vw, 35px); background: linear-gradient(145deg, var(--cloud-panel-raised), var(--cloud-panel)); box-shadow: 0 22px 65px rgba(0, 0, 0, .25), inset 0 1px rgba(255, 255, 255, .05); }
body.lw-studio-cloud #auth-section { max-width: 590px; width: 100%; justify-self: end; }
body.lw-studio-cloud #auth-section h2 { font-size: clamp(27px, 2.7vw, 36px); }
body.lw-studio-cloud .muted { color: var(--cloud-muted); font-size: 13px; }
body.lw-studio-cloud form { max-width: none; }
body.lw-studio-cloud label { color: var(--cloud-ink); }
body.lw-studio-cloud :is(input, select) { min-height: 48px; border-color: var(--cloud-line); background: #091a13; color: var(--cloud-ink); }
body.lw-studio-cloud :is(input, select):focus-visible { outline: 3px solid var(--cloud-accent); outline-offset: 2px; }
body.lw-studio-cloud input::placeholder { color: #a2b8a7; }
body.lw-studio-cloud button { min-height: 45px; border-color: var(--cloud-line); border-radius: 11px; background: #173a29; color: var(--cloud-ink); }
body.lw-studio-cloud button.primary { border-color: #8af2b2; background: #8af2b2; color: #0b2718; box-shadow: 0 8px 23px rgba(110, 229, 154, .12); }
body.lw-studio-cloud button:is(:hover, :focus-visible) { border-color: var(--cloud-accent); }
body.lw-studio-cloud :is(.message, .warning) { border-color: var(--cloud-line); background: #193727; color: var(--cloud-ink); }
body.lw-studio-cloud #service-state { max-width: 570px; }
body.lw-studio-cloud .warning { grid-column: 1 / -1; margin-top: 12px; padding: 16px 19px; color: var(--cloud-muted); }
body.lw-studio-cloud .warning strong { color: var(--cloud-ink); }
body.lw-studio-cloud #projects-section { margin-top: 46px; }
body.lw-studio-cloud .heading { margin-bottom: 22px; }
body.lw-studio-cloud .heading h2 { font-size: clamp(32px, 4vw, 47px); }
body.lw-studio-cloud .project { border-color: var(--cloud-line); background: #0c1d16; }
body.lw-studio-cloud .project:is(:hover, :focus-within) { border-color: var(--cloud-accent); }
body.lw-studio-cloud footer { border-color: var(--cloud-line); color: var(--cloud-muted); }
@media(max-width: 900px) {
  body.lw-studio-cloud main:has(#auth-section:not([hidden])) { grid-template-columns: 1fr; gap: 28px; }
  body.lw-studio-cloud #auth-section { justify-self: stretch; max-width: none; }
}
@media(max-width: 600px) {
  body.lw-studio-cloud[data-lucky-public-identity] > header.topbar { padding: 12px 16px; }
  body.lw-studio-cloud main { padding: 37px 17px 58px; }
  body.lw-studio-cloud .hero h1 { font-size: clamp(41px, 11vw, 55px); }
  body.lw-studio-cloud .panel { padding: 20px; }
  body.lw-studio-cloud .actions button { flex: 1 1 160px; }
}
