/* Shared Lunet presentation. Existing page paths and content stay intact. */
:root { color-scheme: dark; --lunet-bg: #080c14; --lunet-surface: #101828; --lunet-text: #f0f4ff; --lunet-muted: #b0bdd0; --lunet-accent: #67e8f9; }
.affiliate-impression { display: block; width: 1px; height: 1px; }
html { scroll-padding-top: 6rem; }
body { font-family: 'Inter', 'Noto Sans JP', system-ui, sans-serif; overflow-wrap: anywhere; background-color: var(--lunet-bg); color: var(--lunet-text); }
*, *::before, *::after { box-sizing: border-box; }
:focus-visible { outline: 3px solid #67e8f9; outline-offset: 5px; border-radius: 4px; }
img, video, canvas { max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }
.skip-link { position: fixed; top: 1rem; left: 1rem; z-index: 10000; padding: .75rem 1rem; background: #67e8f9; color: #080c14; border-radius: .5rem; transform: translateY(-200%); }
.skip-link:focus { transform: none; }
.lunet-page-header, .lunet-page-footer { max-width: 72rem; margin: 0 auto; padding: 1.25rem; display: flex; gap: 1rem; align-items: center; justify-content: space-between; font-size: .875rem; }
.lunet-page-header { border-bottom: 1px solid #334155; }
.lunet-page-footer { border-top: 1px solid #334155; margin-top: 3rem; flex-wrap: wrap; }
.lunet-page-header a, .lunet-page-footer a { color: #67e8f9; text-decoration: underline; text-underline-offset: .25em; }
body.lunet-document { background: var(--lunet-bg); color: var(--lunet-text); line-height: 1.85; margin: 0; padding: 0 1rem 2rem; }
.lunet-document .container { max-width: 820px; margin: 2rem auto; padding: clamp(1.25rem, 4vw, 3rem); background: var(--lunet-surface); color: var(--lunet-text); border: 1px solid #334155; border-radius: 1.25rem; box-shadow: none; }
.lunet-document h1, .lunet-document h2, .lunet-document h3, .lunet-document strong { color: var(--lunet-text); }
.lunet-document h1 { font-size: clamp(1.6rem, 4vw, 2.3rem); line-height: 1.4; }
.lunet-document h2 { background: #172338; border-color: #67e8f9; border-radius: .4rem; }
.lunet-document a { color: var(--lunet-accent); text-decoration: underline; text-underline-offset: .2em; }
.lunet-document .meta, .lunet-document .footer { color: var(--lunet-muted); }
.lunet-document p, .lunet-document li { line-height: 1.9; color: var(--lunet-text); }
.lunet-document .app-title, .lunet-document .tagline { color: var(--lunet-muted); }
.lunet-document .info-box, .lunet-document .highlight, .lunet-document .note, .lunet-document .desc-box, .lunet-document .contact-box { background: #172338; color: var(--lunet-text); border-color: #334155; }
.lunet-document { --primary-color: #67e8f9; --border-color: #334155; --text-muted: #b0bdd0; }
.lunet-document .btn { background: #67e8f9; color: #080c14; text-decoration: none; }
.lunet-document .btn-outline { background: transparent; color: #67e8f9; }
.lunet-document table { display: block; max-width: 100%; overflow-x: auto; }
.text-slate-500, .text-gray-500 { color: #a9b8cd; }
@media (max-width: 380px) { .works-grid, .services-grid { grid-template-columns: minmax(0, 1fr); } .contact-email { font-size: .8rem; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  [data-aos], [data-aos].aos-pending { opacity: 1 !important; transform: none !important; }
}
