/* happyten.net — white ground, one accent (#0B3D91), one serif family. Floors: ~/Code/.claude/STYLE.md. Palette and scale: STYLE.md. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,"Times New Roman",serif;font-size:21px;line-height:1.55;color:#1A1A1A;font-feature-settings:"kern","liga","onum"}
#root-wrap{background:#FFFFFF;min-height:100vh}
.wrap{width:min(90%,720px);margin-inline:auto;padding:72px 0 96px}
a{color:#0B3D91;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{text-decoration-thickness:2px}
a:focus-visible{outline:3px solid #0B3D91;outline-offset:4px}
h1,h2,h3{font-weight:600;line-height:1.1;color:#1A1A1A;letter-spacing:-.01em}
h1{font-size:clamp(45px,7vw,60px);margin:0 0 14px}
h2{font-size:clamp(34px,4.5vw,45px);margin:64px 0 16px;padding-top:22px;border-top:1px solid #1A1A1A}
h3{font-size:30px;margin:36px 0 10px;font-weight:600;font-style:italic;letter-spacing:0}
p,li{max-width:66ch}
p{margin:0 0 1.1em}
ul,ol{margin:0 0 1.2em 1.3em}
li{margin:0 0 .45em}
strong{font-weight:700}
em{font-style:italic}
table{border-collapse:collapse;width:100%;margin:8px 0 1.6em;font-size:19px;line-height:1.45}
th,td{text-align:left;vertical-align:top;padding:11px 14px 11px 0;border-bottom:1px solid #D9D9D9}
th{font-weight:600;font-style:italic}
.table-wrap{overflow-x:auto}
code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:18px}
.kicker{font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:#4A4A4A;margin:0 0 36px}
.kicker a{color:#4A4A4A;text-decoration:none}
.kicker a:hover{color:#0B3D91;text-decoration:underline}
/* masthead */
.masthead{padding:0 0 32px;margin:0 0 56px;border-bottom:3px solid #0B3D91}
.masthead h1{font-size:clamp(56px,10vw,84px);margin:0 0 18px;letter-spacing:-.02em}
.masthead .what{font-size:clamp(24px,3.2vw,28px);font-style:italic;line-height:1.35;max-width:30ch;margin:0 0 22px;color:#1A1A1A}
.masthead .contact{font-size:17px;letter-spacing:.12em;text-transform:uppercase;color:#4A4A4A;margin:0}
.masthead .contact a{text-decoration:none;color:#0B3D91}
.masthead .contact a:hover{text-decoration:underline}
/* entry list on the index */
.section-title{font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:#4A4A4A;margin:0 0 28px;border:0;padding:0}
.entries{list-style:none;margin:0;counter-reset:entry}
.entries li{counter-increment:entry;position:relative;padding:26px 0 30px 84px;margin:0;max-width:none;border-top:1px solid #D9D9D9}
.entries li:last-child{border-bottom:1px solid #D9D9D9}
.entries li::before{content:counter(entry,decimal-leading-zero);position:absolute;left:0;top:30px;font-size:22px;color:#0B3D91;letter-spacing:.06em}
.entries .title{font-size:clamp(30px,4vw,36px);font-weight:600;line-height:1.15;display:inline-block;margin:0 0 8px;text-decoration:none;color:#1A1A1A;letter-spacing:-.01em}
.entries .title:hover{color:#0B3D91;text-decoration:underline;text-decoration-thickness:2px}
.entries .q{font-size:21px;font-style:italic;color:#1A1A1A;margin:0 0 10px;max-width:60ch}
.entries .meta{font-size:16px;letter-spacing:.12em;text-transform:uppercase;color:#4A4A4A;margin:0}
.entries .meta b{color:#0B3D91;font-weight:600}
@media(max-width:560px){.entries li{padding-left:0;padding-top:48px}.entries li::before{top:16px}}
/* entry page */
.entry-head{margin:0 0 8px}
.entry-head h1{margin-bottom:18px}
.entry-head .link{font-size:20px;margin:0 0 10px}
.entry-head .stamp{font-size:24px;font-style:italic;line-height:1.4;color:#1A1A1A;margin:0;max-width:34ch}
.proves{margin:72px 0 0;padding:22px 0 0;border-top:3px solid #0B3D91;font-size:21px;color:#1A1A1A;max-width:none}
.proves strong{color:#0B3D91;font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:16px;display:block;margin-bottom:6px}
figure{margin:28px 0 36px}
figure img{max-width:100%;height:auto;display:block}
figcaption{font-size:17px;line-height:1.5;color:#4A4A4A;margin-top:12px;max-width:66ch;font-style:italic}
.fill{background:#FFF3B0;color:#1A1A1A;padding:0 .3em;font-weight:600}
footer{margin-top:96px;padding-top:24px;border-top:1px solid #D9D9D9;font-size:17px;color:#4A4A4A;letter-spacing:.04em}
footer p{margin:0 0 .4em}
