:root { color-scheme: light; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing: border-box; }
html { background: #f4f1ea; min-height: 100%; }
body { background: radial-gradient(circle at 85% 0, rgba(155,77,45,.12), transparent 28rem), #f4f1ea; color: #171a17; margin: 0; min-height: 100vh; min-height: 100svh; }
button, input { font: inherit; }
button { touch-action: manipulation; }
[hidden] { display: none !important; }
.lpe-capture-app { margin: 0 auto; max-width: 48rem; min-height: 100vh; min-height: 100svh; padding: env(safe-area-inset-top) max(1rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); }
.lpe-capture-app--full { max-width: 64rem; }
.lpe-capture-app__header { align-items: center; display: flex; justify-content: space-between; min-height: 4.25rem; padding: .5rem 0; }
.lpe-capture-app__brand { color: #1c211d; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.lpe-capture-app__intro { padding: clamp(1.25rem, 5vw, 2.5rem) 0 1.4rem; }
.lpe-capture-app__eyebrow { color: #9b4d2d; font-size: .7rem; font-weight: 800; letter-spacing: .13em; margin: 0 0 .65rem; text-transform: uppercase; }
.lpe-capture-app h1 { font-size: clamp(1.75rem, 7vw, 3.1rem); letter-spacing: -.045em; line-height: 1.05; margin: 0; }
.lpe-capture-app__intro > p:last-child, .lpe-capture-app__empty > p { color: #60645e; font-size: .95rem; line-height: 1.6; margin: .9rem 0 0; max-width: 58ch; }
.lpe-capture-app__recorder { background: #fff; border: 1px solid #d9d6cd; border-radius: 18px; box-shadow: 0 18px 60px rgba(22,24,22,.08); display: grid; gap: 1rem; padding: clamp(.75rem, 3vw, 1.25rem); }
.lpe-capture-app__stage { background: #111; border-radius: 12px; margin-inline: auto; overflow: hidden; position: relative; width: 100%; }
.lpe-capture-app__stage video { aspect-ratio: 16 / 9; background: #111; display: block; height: auto; object-fit: contain; width: 100%; }
.lpe-capture-app__stage.is-portrait { max-width: min(100%, 25rem); }
.lpe-capture-app__stage.is-portrait video { aspect-ratio: 9 / 16; }
.lpe-capture-app__stage.is-front video.is-live { transform: scaleX(-1); }
.lpe-capture-app__badge, .lpe-capture-app__timer { background: rgba(15,16,15,.76); border-radius: 999px; color: #fff; font-size: .7rem; font-weight: 750; padding: .45rem .65rem; position: absolute; top: .65rem; }
.lpe-capture-app__badge { left: .65rem; }
.lpe-capture-app__badge::before { background: #f05c4b; border-radius: 50%; content: ""; display: inline-block; height: .5rem; margin-right: .4rem; width: .5rem; }
.lpe-capture-app__timer { right: .65rem; }
.lpe-capture-app__countdown { align-items: center; background: rgba(15,16,15,.66); color: #fff; display: flex; font-size: clamp(4rem, 24vw, 7rem); font-weight: 850; inset: 0; justify-content: center; position: absolute; }
.lpe-capture-app__prompt { background: #faf9f6; border: 1px solid #dedbd3; border-radius: 10px; display: grid; gap: .45rem; padding: .8rem .9rem; }
.lpe-capture-app__prompt > span { color: #6b6e68; font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.lpe-capture-app__prompt p { font-size: .95rem; font-weight: 680; line-height: 1.45; margin: 0; }
.lpe-capture-app__prompt > div { display: flex; gap: .35rem; justify-content: flex-end; }
.lpe-capture-app__prompt button { align-items: center; background: #fff; border: 1px solid #d9d6cd; border-radius: 50%; color: #1c211d; cursor: pointer; display: inline-flex; height: 2.25rem; justify-content: center; width: 2.25rem; }
.lpe-capture-app__prompt button:disabled { opacity: .3; }
.lpe-capture-app__meter { background: #e5e2da; border-radius: 999px; height: .35rem; overflow: hidden; }
.lpe-capture-app__meter span { background: #47845a; display: block; height: 100%; transform: scaleX(.03); transform-origin: left; transition: transform 80ms linear; }
.lpe-capture-app__actions { display: grid; gap: .55rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lpe-capture-app__actions button, .lpe-capture-app__send, .lpe-capture-app__return { background: #fff; border: 1px solid #cfcac0; border-radius: 9px; color: #1c211d; cursor: pointer; font-weight: 760; min-height: 3.25rem; padding: .7rem 1rem; }
.lpe-capture-app__actions .is-primary, .lpe-capture-app__send { background: #1c211d; border-color: #1c211d; color: #fff; grid-column: 1 / -1; }
.lpe-capture-app__actions .is-stop { background: #963929; border-color: #963929; color: #fff; grid-column: 1 / -1; }
.lpe-capture-app__file { border-top: 1px solid #e1ded6; color: #5e625d; display: grid; font-size: .76rem; gap: .5rem; padding-top: 1rem; }
.lpe-capture-app__file input { max-width: 100%; }
.lpe-capture-app__file input::file-selector-button { background: #faf9f6; border: 1px solid #d9d6cd; border-radius: 7px; color: #1c211d; font: inherit; font-weight: 700; margin-right: .65rem; min-height: 2.75rem; padding: .55rem .7rem; }
.lpe-capture-app__status { color: #60645e; font-size: .82rem; line-height: 1.45; margin: 0; min-height: 1.2em; }
.lpe-capture-app__status.is-error { color: #902f20; font-weight: 650; }
.lpe-capture-app__status.is-success { color: #28603a; font-weight: 700; }
.lpe-capture-app__transfer { background: #faf9f6; border-radius: 9px; padding: .8rem; }
.lpe-capture-app__transfer div { display: flex; font-size: .75rem; justify-content: space-between; margin-bottom: .5rem; }
.lpe-capture-app__transfer progress { accent-color: #9b4d2d; display: block; width: 100%; }
.lpe-capture-app__send { width: 100%; }
.lpe-capture-app__return { background: #1c211d; border-color: #1c211d; color: #fff; width: 100%; }
.lpe-capture-app__send:disabled { cursor: wait; opacity: .65; }
.lpe-capture-app__footer { color: #686b66; display: grid; font-size: .7rem; gap: .35rem; line-height: 1.45; padding: 1rem .25rem; }
.lpe-capture-app__footer a { color: inherit; }
.lpe-capture-app__empty { align-items: flex-start; background: #fff; border: 1px solid #d9d6cd; border-radius: 18px; display: flex; flex-direction: column; margin-top: 8vh; padding: clamp(1.5rem, 6vw, 3rem); }
.lpe-capture-app__empty-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.5rem; }
.lpe-capture-app__empty-actions a { background: #1c211d; border: 1px solid #1c211d; border-radius: 8px; color: #fff; font-weight: 750; padding: .8rem 1rem; text-decoration: none; }
.lpe-capture-app__empty-actions a.is-secondary { background: transparent; color: #1c211d; }
.lpe-capture-app__full { min-width: 0; }
.lpe-capture-app__footer--full { align-items: center; display: flex; flex-wrap: wrap; justify-content: space-between; padding-inline: .5rem; }
.lpe-capture-app__mark { align-items: center; background: #9b4d2d; border-radius: 50%; color: #fff; display: flex; height: 3.25rem; justify-content: center; margin-bottom: 1.25rem; width: 3.25rem; }
.lpe-capture-app :focus-visible { outline: 3px solid #d6784f; outline-offset: 3px; }
@media (max-width: 520px) {
    .lpe-capture-app--full { padding-inline: 0; }
    .lpe-capture-app--full .lpe-capture-app__header { padding-inline: 1rem; }
    .lpe-capture-app--full .lpe-submission { border-left: 0; border-radius: 0; border-right: 0; }
    .lpe-capture-app--full .lpe-submission__header { padding-inline: 1rem; }
    .lpe-capture-app--full .lpe-capture-app__footer { padding-inline: 1rem; }
    .lpe-capture-app__intro { padding-top: .8rem; }
    .lpe-capture-app__recorder { border-left: 0; border-radius: 14px; border-right: 0; margin-inline: -.35rem; }
    .lpe-capture-app__stage.is-portrait { max-width: calc(67svh * .5625); }
    .lpe-capture-app__actions { grid-template-columns: 1fr; }
    .lpe-capture-app__actions button { grid-column: 1 !important; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }

