:root {
    --lt-brand: #111827;
    --lt-primary: #2457d6;
    --lt-accent: #d99018;
    --lt-canvas: #f6f7f9;
    --lt-line: #d9dee7;
    --lt-muted: #667085;
    --lt-success: #18864b;
}

html { scroll-behavior: smooth; }
body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
*, *::before, *::after { box-sizing: border-box; }
button, a, input, select, textarea, summary { outline-offset: 3px; }
:focus-visible { outline: 3px solid rgba(36, 87, 214, .34); }

.lt-skip-link { position: fixed; top: 8px; left: 8px; z-index: 120; transform: translateY(-150%); border: 1px solid var(--lt-line); border-radius: 4px; background: #fff; color: var(--lt-primary); padding: 10px 14px; font-size: 14px; font-weight: 800; }
.lt-skip-link:focus { transform: translateY(0); }

.lt-showcase-media, .lt-showcase-copy { transition: opacity .4s cubic-bezier(.22, 1, .36, 1), transform .5s cubic-bezier(.22, 1, .36, 1); }
.lt-showcase.is-switching .lt-showcase-media { opacity: .28; transform: translateY(10px) scale(.985); }
.lt-showcase.is-switching .lt-showcase-copy { opacity: .42; transform: translateX(10px); }
.lt-showcase-video { opacity: 0; transition: opacity .45s ease; }
.lt-showcase-video.is-ready { opacity: 1; }
.lt-showcase-progress { width: 100%; transform: scaleX(0); transform-origin: left center; }
.lt-showcase.is-running .lt-showcase-progress { animation: ltShowcaseProgress 8s linear forwards; }
.lt-showcase.is-paused .lt-showcase-progress { animation-play-state: paused; }
@keyframes ltShowcaseProgress { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.lt-level-modal::backdrop { background: rgba(17, 24, 39, .82); }
.lt-level-modal[open] { display: block; }
body.lt-modal-open { overflow: hidden; }

.lt-prose { min-width: 0; color: #475467; font-size: 15px; line-height: 1.75; }
.lt-prose > section + section { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--lt-line); }
.lt-prose h2 { margin-bottom: 12px; color: var(--lt-brand); font-size: 22px; font-weight: 900; letter-spacing: -.02em; line-height: 1.25; }
.lt-prose p + p { margin-top: 12px; }
.lt-prose ul { margin-top: 12px; padding-left: 20px; list-style: disc; }
.lt-prose li + li { margin-top: 7px; }
.lt-prose a { color: var(--lt-primary); font-weight: 800; text-decoration: underline; }
.lt-prose section { scroll-margin-top: 96px; }
.lt-legal-nav a { display: block; border-top: 1px solid var(--lt-line); color: #475467; padding: 9px 0; font-size: 12px; font-weight: 700; }
.lt-legal-nav a:hover { color: var(--lt-primary); }

.fh-field { position: relative; }
.fh-field label, .fh-field-label { display: block; margin-bottom: 6px; color: var(--lt-brand); font-size: 12px; font-weight: 800; }
.fh-field label span { color: #b42318; }
.fh-field small, .fh-field-label small { color: var(--lt-muted); font-weight: 600; }
.fh-field input[type="text"], .fh-field textarea { width: 100%; border: 1px solid #cbd5e1; border-radius: 4px; background: #fff; color: var(--lt-brand); padding: 11px 12px; font-size: 14px; }
.fh-field textarea { min-height: 100px; resize: vertical; }
.fh-field input:focus, .fh-field textarea:focus { border-color: var(--lt-primary); box-shadow: 0 0 0 2px rgba(36, 87, 214, .13); outline: 0; }
.fh-char-count { margin-top: 4px; color: var(--lt-muted); text-align: right; font-size: 11px; }
.char-count.is-over-limit { color: #b42318; font-weight: 800; }
.fh-upload-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.fh-upload-button { display: inline-flex !important; min-height: 40px; cursor: pointer; align-items: center; gap: 8px; border: 1px solid #cbd5e1; border-radius: 4px; background: #fff; color: var(--lt-primary) !important; padding: 8px 12px; font-size: 12px; font-weight: 800; }
.fh-upload-button:hover { border-color: var(--lt-primary); }
.image-file-name { color: var(--lt-muted); font-size: 12px; }
.image-preview { margin-top: 10px; }
.image-preview img { display: block; max-width: 180px; max-height: 150px; border: 1px solid var(--lt-line); object-fit: contain; }
.image-preview button { margin-top: 6px; color: #b42318; font-size: 11px; font-weight: 800; }
.comment-error, .fh-success-message { margin-top: 12px; border-left: 4px solid #b42318; background: #fef3f2; color: #912018; padding: 10px 12px; font-size: 12px; font-weight: 700; }
.fh-success-message { border-color: var(--lt-success); background: #ecfdf3; color: #067647; }

.fh-comment-item { border: 1px solid var(--lt-line); background: #fff; padding: 16px; }
.comments-stack > .fh-comment-item + .fh-comment-item { margin-top: 16px; }
.fh-comment-meta { display: flex; align-items: center; gap: 10px; }
.fh-avatar { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--lt-primary); color: #fff; font-size: 13px; font-weight: 900; }
.fh-avatar-small { width: 30px; height: 30px; background: #475467; font-size: 11px; }
.fh-comment-meta strong { display: block; color: var(--lt-brand); font-size: 13px; }
.fh-comment-meta strong em { color: var(--lt-muted); font-style: normal; font-weight: 600; }
.fh-comment-meta time { display: flex; align-items: center; gap: 5px; margin-top: 2px; color: #98a2b3; font-size: 10px; }
.fh-comment-text { margin-top: 13px; color: #475467; font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.fh-comment-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.fh-comment-actions button { display: inline-flex; min-height: 34px; align-items: center; gap: 5px; border: 1px solid var(--lt-line); border-radius: 4px; background: #fff; color: var(--lt-muted); padding: 5px 9px; font-size: 11px; font-weight: 800; }
.fh-comment-actions button:hover, .fh-comment-actions .fh-vote-active { border-color: var(--lt-primary); color: var(--lt-primary); }
.fh-comment-image { display: inline-block; margin-top: 12px; }
.fh-comment-image img { max-width: 240px; max-height: 210px; border: 1px solid var(--lt-line); object-fit: contain; }
.replies-list { margin: 15px 0 0 26px; border-left: 3px solid #b9c8ee; padding-left: 13px; }
.fh-reply-item { padding: 13px 0; }
.fh-reply-item + .fh-reply-item { border-top: 1px solid var(--lt-line); }
.reply-form-container { margin-top: 14px; border-top: 1px solid var(--lt-line); background: var(--lt-canvas); padding: 14px; }
.reply-form-container > p { margin-bottom: 12px; color: var(--lt-muted); font-size: 11px; }
.reply-form .fh-field + .fh-field { margin-top: 12px; }
.fh-inline-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.fh-inline-actions button { min-height: 38px; border: 1px solid var(--lt-primary); border-radius: 4px; background: var(--lt-primary); color: #fff; padding: 7px 12px; font-size: 11px; font-weight: 800; }
.fh-inline-actions .cancel-reply-btn { border-color: #cbd5e1; background: #fff; color: #475467; }
.fh-toast { position: fixed; right: 18px; bottom: 18px; z-index: 120; border-radius: 4px; background: var(--lt-brand); color: #fff; padding: 11px 15px; font-size: 12px; font-weight: 800; }

.image-lightbox { position: fixed; inset: 0; z-index: 130; display: none; align-items: center; justify-content: center; background: rgba(17, 24, 39, .9); padding: 20px; }
.image-lightbox.active { display: flex; }
.image-lightbox-content { position: relative; max-width: 92vw; max-height: 90vh; }
.image-lightbox-content img { display: block; max-width: 92vw; max-height: 90vh; background: #fff; object-fit: contain; }
.image-lightbox-close { position: absolute; top: -16px; right: -16px; display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #fff; color: var(--lt-brand); font-size: 24px; line-height: 1; }

.jump-state { display: inline-flex; align-items: center; gap: 7px; border-radius: 4px; padding: 7px 10px; font-size: 11px; font-weight: 800; }
.jump-state.is-success { background: #ecfdf3; color: #067647; }
.jump-state.is-error { background: #fef3f2; color: #b42318; }
.jump-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 6px; color: #fff; font-size: 20px; }
.jump-icon.is-success { background: var(--lt-success); }
.jump-icon.is-error { background: #b42318; }
.jump-progress { height: 5px; overflow: hidden; background: #e2e8f0; }
.jump-progress-bar { width: 100%; height: 100%; background: var(--lt-primary); transform-origin: left; }
@keyframes jumpProgress { from { transform: scaleX(0); } to { transform: scaleX(1); } }

@media (max-width: 639px) { .lt-prose { font-size: 14px; } .lt-prose h2 { font-size: 20px; } .replies-list { margin-left: 10px; padding-left: 10px; } .image-lightbox-close { top: -12px; right: -8px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
