:root{--paper:#F6F3EE;--ink:#1C2430;--accent:#1F6F5C;--muted:#5d6672;--line:rgba(28,36,48,.16)}
*{box-sizing:border-box;margin:0}
body{background:var(--paper);color:var(--ink);font:400 16px/1.48 "Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.serif{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif}
.mark{font-family:"Iowan Old Style",Palatino,Georgia,serif;font-size:32px;font-weight:500;letter-spacing:-.02em;line-height:1.15;display:inline-flex;min-height:44px;align-items:center}
.prev{position:relative;overflow:hidden;background:#e9e3d8}
.prev img{width:100%;height:100%;object-fit:cover;display:block}
/* Toggle: pill switch */
.t-toggle{background:#e9e3d8}
.t-toggle::before{content:"";position:absolute;left:30%;right:30%;top:36%;bottom:36%;border-radius:999px;background:#1F6F5C}
.t-toggle::after{content:"";position:absolute;right:31.5%;top:38.5%;bottom:38.5%;aspect-ratio:1;border-radius:50%;background:#F6F3EE}
/* Range: track with thumb */
.t-range{background:#1C2430}
.t-range::before{content:"";position:absolute;left:18%;right:18%;top:calc(50% - 1px);height:2px;background:linear-gradient(90deg,#1F6F5C 0 60%,#8d978f 60%)}
.t-range::after{content:"";position:absolute;left:calc(18% + 64% * .6);top:50%;width:13%;aspect-ratio:1;border-radius:50%;background:#F6F3EE;transform:translate(-50%,-50%)}
/* Date Field: field with a caret */
.t-date{background:#dfe6e1}
.t-date::before{content:"";position:absolute;left:18%;right:18%;top:36%;bottom:36%;border-radius:6px;background:#F6F3EE;border:1px solid #1C2430}
.t-date::after{content:"";position:absolute;left:27%;top:43%;bottom:43%;width:2px;background:#1F6F5C}
/* Card: hairline editorial card */
.t-card{background:#e7dfcf}
.t-card::before{content:"";position:absolute;left:26%;right:26%;top:20%;bottom:20%;border:1px solid #1C2430;border-radius:8px;background:linear-gradient(#1C2430,#1C2430) 18% 30%/40% 6% no-repeat,linear-gradient(#8d978f,#8d978f) 18% 50%/64% 4% no-repeat,linear-gradient(#8d978f,#8d978f) 18% 62%/50% 4% no-repeat}
/* Press: button mid-press */
.t-press{background:#1C2430}
.t-press::before{content:"";position:absolute;left:28%;right:28%;top:41%;bottom:29%;border-radius:999px;background:#185a4a}
.t-press::after{content:"";position:absolute;left:28%;right:28%;top:37%;bottom:33%;border-radius:999px;background:#1F6F5C;transform:translateY(5%) scale(.98)}
/* Snow Hill: river bend */
.t-snow{background:#dfe6e1}
.t-snow::before{content:"";position:absolute;inset:-20% -10%;background:radial-gradient(ellipse 60% 35% at 30% 70%,transparent 58%,#1F6F5C 59%,#1F6F5C 62%,transparent 63%),radial-gradient(ellipse 55% 30% at 72% 32%,transparent 58%,#1F6F5C 59%,#1F6F5C 62%,transparent 63%)}
/* Friday Night: scoreboard grid, one green cell */
.t-score{background:#1C2430}
.t-score::before{content:"";position:absolute;inset:18% 14%;background:linear-gradient(#1F6F5C,#1F6F5C) 66.6% 50%/33.4% 33.4% no-repeat,repeating-linear-gradient(90deg,#F6F3EE 0 1px,transparent 1px 33.3%),repeating-linear-gradient(#F6F3EE 0 1px,transparent 1px 33.3%);border-right:1px solid #F6F3EE;border-bottom:1px solid #F6F3EE}
/* Page Turn: folded corner */
.t-turn{background:#e7dfcf}
.t-turn::before{content:"";position:absolute;left:28%;right:28%;top:20%;bottom:20%;background:linear-gradient(225deg,transparent 0 22%,#F6F3EE 22%);border:1px solid #1C2430;border-width:0 0 1px 1px}
.t-turn::after{content:"";position:absolute;right:28%;top:20%;width:13%;aspect-ratio:1;background:linear-gradient(45deg,#1F6F5C 50%,transparent 50%)}
