/* Custom semantic HTML. Visual references only: shadcn/ui Card and Button.
   https://ui.shadcn.com/docs/components/base/card
   https://ui.shadcn.com/docs/components/base/button */
:root { color-scheme: light; --background:#fafafa; --foreground:#18181b; --card:#fff; --muted:#f4f4f5; --muted-foreground:#62626c; --border:#e4e4e7; --ring:#71717a; --radius:12px; }
* { box-sizing:border-box; }
body { margin:0; background:var(--background); color:var(--foreground); font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:15px; line-height:1.65; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-underline-offset:4px; }
a:focus-visible { outline:3px solid var(--ring); outline-offset:4px; }
header,main,footer { width:min(1120px,100%); margin-inline:auto; padding-inline:clamp(20px,4vw,48px); }
header { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:100px; border-bottom:1px solid var(--border); }
.brand { text-decoration:none; font-size:15px; font-weight:700; letter-spacing:.08em; }
.brand span { display:block; margin-top:3px; font-size:10px; font-weight:500; letter-spacing:.09em; color:var(--muted-foreground); }
header>a:last-child { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 14px; border:1px solid var(--border); border-radius:8px; background:var(--card); font-size:13px; font-weight:500; text-decoration:none; white-space:nowrap; }
header>a:last-child:hover { background:var(--muted); }
.intro { padding:64px 0 44px; }
.eyebrow { margin:0 0 16px; color:var(--muted-foreground); font-size:10px; font-weight:650; letter-spacing:.13em; }
h1 { font-size:clamp(38px,5.6vw,64px); font-weight:600; letter-spacing:-.055em; line-height:1.08; margin:0 0 24px; }
.lead { max-width:540px; color:var(--muted-foreground); font-size:17px; line-height:1.7; margin:0 0 24px; }
.notice { display:inline-block; margin:0; border:1px solid var(--border); background:var(--muted); border-radius:6px; padding:6px 10px; font-size:11px; color:var(--muted-foreground); }
.journal-grid { display:grid; grid-template-columns:minmax(0,1fr) 260px; align-items:start; gap:28px; padding-bottom:64px; }
.section-label { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:40px; margin-bottom:12px; }
.section-label h2 { font-size:14px; font-weight:600; margin:0; letter-spacing:-.015em; }
.section-label>span { font-size:11px; color:var(--muted-foreground); background:var(--muted); border:1px solid var(--border); border-radius:6px; padding:2px 8px; }
article { position:relative; border:1px solid var(--border); border-radius:var(--radius); background:var(--card); padding:28px; box-shadow:0 1px 2px #00000004; }
.card-accent { position:absolute; left:28px; right:28px; top:0; height:2px; background:#71717a; opacity:.35; }
.entry-meta { display:flex; flex-wrap:wrap; gap:12px; align-items:center; font-size:10px; font-weight:500; letter-spacing:.06em; color:var(--muted-foreground); }
.status { color:#52525b; background:var(--muted); border:1px solid var(--border); border-radius:6px; padding:2px 8px; letter-spacing:0; }
h3 { font-size:clamp(24px,3vw,32px); font-weight:550; letter-spacing:-.035em; line-height:1.25; margin:22px 0 12px; }
.summary { color:var(--muted-foreground); margin:0 0 24px; font-size:14px; }
dl { display:grid; grid-template-columns:64px minmax(0,1fr); gap:0 20px; margin:0; border-top:1px solid var(--border); }
dt,dd { padding-block:18px; border-bottom:1px solid var(--border); }
dt { font-size:11px; font-weight:600; color:var(--muted-foreground); }
dd { margin:0; font-size:13px; overflow-wrap:anywhere; }
dt:last-of-type,dd:last-of-type { border-bottom:0; padding-bottom:0; }
aside { margin-top:52px; padding:24px; border:1px solid var(--border); border-radius:var(--radius); background:var(--muted); }
aside .eyebrow { font-size:9px; margin-bottom:12px; }
aside h2 { font-size:20px; line-height:1.35; font-weight:550; letter-spacing:-.025em; margin:0 0 16px; }
aside p:not(.eyebrow) { font-size:12px; color:var(--muted-foreground); margin:0 0 16px; }
aside p:last-child { margin-bottom:0; }
footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; border-top:1px solid var(--border); padding-block:24px 36px; font-size:11px; color:var(--muted-foreground); }
.skip { position:absolute; left:20px; top:-100px; background:var(--card); border:1px solid var(--border); border-radius:6px; padding:10px; z-index:2; }
.skip:focus { top:10px; }
#entries,#method { scroll-margin-top:24px; }
@media(max-width:800px) { .journal-grid { grid-template-columns:minmax(0,1fr); gap:24px; } aside { margin-top:0; } }
@media(max-width:480px) { header { min-height:88px; gap:12px; } header>a:last-child { font-size:11px; padding-inline:10px; } .brand { font-size:13px; } .brand span { font-size:8px; } .intro { padding-top:40px; } article { padding:20px; } .card-accent { left:20px; right:20px; } dl { grid-template-columns:minmax(0,1fr); } dt { padding:16px 0 4px; border:0; } dd { padding:0 0 16px; } dt:last-of-type { padding-bottom:4px; } .journal-grid { padding-bottom:40px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }
@media print { header>a:last-child,.skip,.card-accent { display:none; } body { background:#fff; } header,main,footer { width:100%; padding-inline:0; } .intro { padding-top:24px; } .journal-grid { display:block; } article,aside { break-inside:avoid; box-shadow:none; } aside { margin-top:24px; } }

.preview-note { max-width:540px; margin:12px 0 0; font-size:12px; color:var(--muted-foreground); }
