:root{--green:#2b4d14;--brass:#9c9732;--cream:#f2efe3;--yellow:#f0d361;--orange:#f2a924;--ink-soft-on-cream:#4f6838;--ink-soft-on-green:#c9d3a8;--shadow-soft:#0a180359;--shadow-deep:#0a18038c;--font-display:"Young Serif", "Mellow Khmer", Georgia, serif;--font-sans:"Figtree", "Mellow Khmer", system-ui, sans-serif;--font-khmer:"Mellow Khmer", "Figtree", sans-serif;--fs-display:clamp(3.5rem, 1.97rem + 6.27vw, 11rem);--fs-h2:clamp(2.25rem, 1.42rem + 3.4vw, 5.5rem);--fs-h3:clamp(1.5rem, 1.25rem + 1.05vw, 2.5rem);--fs-body:clamp(1.0625rem, 1.03rem + .13vw, 1.1875rem);--fs-small:clamp(.8125rem, .8rem + .07vw, .875rem);--lh-display:1;--lh-body:1.55;--lh-khmer:1.6;--track-caps:.08em;--ease-soft:cubic-bezier(.22, 1, .36, 1);--ease-pop:cubic-bezier(.34, 1.56, .64, 1);--dur-pop:.18s;--cols:12;--maxw:1440px;--gutter:16px;--margin:clamp(20px, 5vw, 80px);--radius-photo:clamp(16px, 2vw, 28px);--radius-chip:999px;--section-pad:clamp(72px, 15vh, 180px);--safe-b:env(safe-area-inset-bottom,0px);--safe-r:env(safe-area-inset-right,0px)}@media (width>=768px){:root{--gutter:24px}}@font-face{font-family:Young Serif;src:url(/fonts/YoungSerif-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Figtree;src:url(/fonts/Figtree-Variable.woff2)format("woff2");font-weight:300 900;font-style:normal;font-display:swap}@font-face{font-family:Battambang Toggle;src:url(/fonts/Battambang-Toggle.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Mellow Khmer;src:url(/fonts/Battambang-Regular.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+1780-17FF,U+19E0-19FF,U+200B-200D,U+25CC}@font-face{font-family:Mellow Khmer;src:url(/fonts/Battambang-Bold.woff2)format("woff2");font-weight:700;font-display:swap;unicode-range:U+1780-17FF,U+19E0-19FF,U+200B-200D,U+25CC}@font-face{font-family:Mellow Khmer;src:url(/fonts/Battambang-Black.woff2)format("woff2");font-weight:900;font-display:swap;unicode-range:U+1780-17FF,U+19E0-19FF,U+200B-200D,U+25CC}.t-display,.t-h2,.t-h3{font-family:var(--font-display);font-weight:400;line-height:var(--lh-display);letter-spacing:-.01em;text-wrap:balance}.t-display{font-size:var(--fs-display)}.t-h2{font-size:var(--fs-h2);line-height:1.05}.t-h3{font-size:var(--fs-h3);line-height:1.1}.t-body{font-size:var(--fs-body);line-height:var(--lh-body);text-wrap:pretty;max-width:34em}.t-small{font-size:var(--fs-small);line-height:1.45}.t-caps{font-size:var(--fs-small);letter-spacing:var(--track-caps);text-transform:uppercase;font-weight:700}.t-soft{color:var(--ink-soft-on-cream)}.on-green .t-soft{color:var(--ink-soft-on-green)}.num{font-family:var(--font-sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;font-weight:800;line-height:1}.num__cur{vertical-align:.52em;letter-spacing:0;margin-right:-.03em;font-size:.6em;font-weight:700}.num__cur--k1{margin-right:-.13em}.heart{vertical-align:-.08em;width:.8em;height:.8em;display:inline-block}:lang(km){font-family:var(--font-khmer);line-height:var(--lh-khmer);letter-spacing:0;text-transform:none}:lang(km) .t-display,:lang(km) .t-h2,:lang(km) .t-h3{font-family:var(--font-khmer);letter-spacing:0;text-wrap:wrap;font-weight:900;line-height:1.5}:lang(km) .t-display{font-size:calc(var(--fs-display) * .62)}:lang(km) .t-h2{font-size:calc(var(--fs-h2) * .74)}:lang(km) .t-h3{font-size:calc(var(--fs-h3) * .86)}:lang(km) .t-caps{text-transform:none;letter-spacing:0;font-weight:700;font-size:calc(var(--fs-small) * 1.2);line-height:1.6}:lang(km) .t-body{line-height:1.75;font-size:calc(var(--fs-body) * 1.06)}:lang(km) .t-small{line-height:1.7;font-size:calc(var(--fs-small) * 1.14)}:lang(km) .sticker{font-family:var(--font-khmer);letter-spacing:0;font-weight:900;line-height:1.5}:lang(km) .num,:lang(km) .book,:lang(km) .chip{letter-spacing:0}:lang(km) .book,:lang(km) .chip{font-family:var(--font-khmer);line-height:1.5}:lang(km) .num,:lang(km) .num *{font-family:var(--font-sans);letter-spacing:-.02em;line-height:1}:lang(km) .num{font-weight:800}:lang(km) .num__cur{letter-spacing:0;font-weight:700}.fig{font-family:var(--font-sans);letter-spacing:-.01em;font-variant-numeric:lining-nums;font-size:.94em;font-weight:700}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--cream)}body{background:var(--cream);min-height:100svh;color:var(--green);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,p,figure,ul,ol{margin:0}ul,ol{padding:0;list-style:none}img,video,svg{max-width:100%;display:block}img,video{height:auto}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:6px}.on-green :focus-visible{outline-color:var(--orange)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ground-cream{background:var(--cream);color:var(--green);position:relative}.ground-green{background:var(--green);color:var(--cream)}.ground-gradient{color:var(--green);background:radial-gradient(90% 60% at 15% 10%, var(--yellow) 0%, transparent 60%), radial-gradient(80% 55% at 85% 25%, var(--orange) 0%, transparent 62%), radial-gradient(90% 60% at 30% 80%, var(--brass) 0%, transparent 65%), radial-gradient(100% 70% at 90% 100%, var(--green) 0%, transparent 70%), var(--yellow)}.grain:after{content:"";pointer-events:none;opacity:.09;background:url(/media/bg/grain.png) 0 0/128px 128px;position:absolute;inset:0}.wrap{width:100%;max-width:var(--maxw);padding-inline:var(--margin);margin-inline:auto}.grid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gutter);display:grid}.draft{outline:1.5px dashed var(--green);outline-offset:2px;position:relative}.draft:before{content:"DRAFT · " attr(data-draft);font:700 10px/1.6 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--green);background:var(--yellow);white-space:nowrap;border-radius:4px 4px 0 0;padding:0 6px;position:absolute;bottom:100%;left:0}.draft.is-in{outline-width:1px;outline-style:solid}.draft.is-in:before{content:"IN · " attr(data-draft);background:var(--green);color:var(--cream)}.calm-fade{opacity:0;transition:opacity .2s linear}.calm-fade.is-in{opacity:1}@media (prefers-reduced-motion:reduce){.hdr,.book{transition-property:opacity,visibility!important}}.star{flex:none;display:inline-block;overflow:visible}.star--solid path{fill:currentColor}.star--outline path{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}
