/* Buba Log documents: AK Forge's existing paper, ink and orange palette. */
:root { color-scheme: light; --paper:#f3f5f5; --ink:#0b0d10; --muted:#4b565d; --line:#cdd3d6; --accent:#b63800; font-family:'Space Grotesk',Arial,sans-serif; background:var(--paper); color:var(--ink); }
* { box-sizing:border-box; }
html { scroll-padding-top:24px; }
body { margin:0; font-size:17px; line-height:1.75; -webkit-font-smoothing:antialiased; }
a { color:var(--accent); text-underline-offset:4px; text-decoration-thickness:1px; overflow-wrap:anywhere; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible,summary:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
::selection { background:#ff580a; color:var(--ink); }
.shell { width:min(1160px,100%); margin-inline:auto; padding-inline:clamp(22px,5vw,64px); }
.skip { position:absolute; top:12px; left:12px; padding:10px 16px; background:var(--ink); color:white; transform:translateY(-160%); }
.skip:focus { transform:none; }
header { background:var(--ink); color:var(--paper); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:88px; padding-block:20px; }
.brand img { display:block; width:150px; height:auto; }
nav { display:flex; gap:24px; flex-wrap:wrap; }
header nav a { color:var(--paper); font-size:15px; padding-block:8px; }
[aria-current=page] { text-decoration-thickness:2px; }
.hero { padding-block:64px 44px; border-bottom:1px solid var(--line); }
h1,h2,h3 { line-height:1.2; letter-spacing:-.025em; }
h1 { font-family:'Oxanium',Arial,sans-serif; font-size:clamp(38px,6vw,68px); font-weight:600; max-width:18ch; margin:0 0 24px; }
.hero p { max-width:62ch; font-size:20px; margin:0; }
.updated { font-size:14px; color:var(--muted); margin-top:24px; }
.layout { display:grid; grid-template-columns:200px minmax(0,1fr); gap:64px; padding-block:48px 80px; }
.contents { font-size:14px; align-self:start; }
.contents h2 { font-size:16px; margin:0 0 16px; }
.contents nav { display:flex; flex-direction:column; gap:12px; }
.contents a { color:var(--muted); }
article { min-width:0; max-width:70ch; }
article h2 { font-size:26px; margin:48px 0 16px; }
article h2:first-child { margin-top:0; }
article > section + section { margin-top:48px; }
.policy { padding-top:40px; border-top:1px solid var(--line); }
.policy h2 { font-size:32px; }
.policy section { margin-top:36px; }
.policy h3 { font-size:23px; margin:0 0 14px; }
p { margin:0 0 18px; }
.contact { padding:26px 0; border-block:1px solid var(--line); margin:0 0 40px; }
.contact h2 { margin:0 0 12px; }
.contact p:last-child { margin-bottom:0; }
.button { display:inline-block; padding:12px 20px; background:var(--ink); color:var(--paper); font-weight:600; text-decoration:none; margin-block:8px 16px; }
.button:hover { background:#303a40; }
details { border-bottom:1px solid var(--line); padding-block:20px; }
summary { font-weight:600; cursor:pointer; font-size:19px; line-height:1.5; }
details p { margin-top:16px; }
details p:last-child { margin-bottom:0; }
footer { border-top:1px solid var(--line); padding-block:28px; font-size:14px; color:var(--muted); }
.footer-inner { display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; }
footer p { margin:0; }
@media(max-width:760px) { .layout { grid-template-columns:1fr; gap:36px; padding-block:32px 56px; } .contents { padding-bottom:28px; border-bottom:1px solid var(--line); } .contents nav { flex-direction:row; gap:12px 22px; } .hero { padding-block:44px 32px; } .hero p { font-size:18px; } .header-inner { gap:16px; flex-wrap:wrap; } nav { gap:20px; } }
@media print { header,.contents,.skip,footer { display:none; } .layout { display:block; } body { background:white; color:black; font-size:12pt; } .shell { padding:0; } a { color:inherit; } details::details-content { content-visibility:visible; } }
