/* Presentation layer only. Component defaults stay deliberately adaptable. */
body{background-image:radial-gradient(var(--r-border) .65px,transparent .65px);background-size:24px 24px}
main>nav{border:1px solid var(--r-border);border-radius:18px;padding:calc(1rem * var(--r-density)) calc(1.2rem * var(--r-density));background:var(--r-surface);box-shadow:0 6px 0 color-mix(in srgb,var(--r-border) 30%,transparent)}
main>nav>a{text-decoration:none;font-size:calc(.8rem * var(--r-font-scale));font-weight:600}main>nav .r-button{border-radius:99px}
main>h1{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:500;font-size:clamp(calc(3rem * var(--r-font-scale)),8vw,calc(6.5rem * var(--r-font-scale)));line-height:1.04;letter-spacing:-.055em;max-width:900px;text-wrap:balance}
main>h1:after{content:'✳';display:inline-block;color:var(--r-focus,var(--r-accent));font:normal .7em Georgia;margin-inline-start:.2em;vertical-align:top;animation:r-emblem-turn 22s linear infinite}
main>p.text-muted{max-width:680px;font-size:calc(1.1rem * var(--r-font-scale));line-height:1.7}
main>p.text-sm{font-size:calc(.7rem * var(--r-font-scale));letter-spacing:.17em;font-weight:700}
#palette-gallery{counter-reset:palette;gap:calc(1.5rem * var(--r-density));padding-block:calc(1rem * var(--r-density));align-items:start}
#palette-gallery>.r-card{counter-increment:palette;position:relative;isolation:isolate;overflow:hidden;min-height:250px;border-radius:26px 26px 7px 26px;padding:calc(1.5rem * var(--r-density));border:1px solid var(--r-border);box-shadow:0 7px 0 color-mix(in srgb,var(--r-border) 50%,transparent);transition:transform .25s ease,box-shadow .25s ease}
#palette-gallery>.r-card:before{content:counter(palette,decimal-leading-zero);position:absolute;right:calc(1rem * var(--r-density));top:calc(-.9rem * var(--r-density));font:italic calc(6.5rem * var(--r-font-scale)) Georgia,serif;letter-spacing:-.1em;color:var(--r-accent);opacity:.17;z-index:-1;pointer-events:none}
#palette-gallery>.r-card:after{content:'';position:absolute;right:-18px;bottom:68px;width:70px;height:70px;border:1px solid var(--r-accent);border-radius:50%;opacity:.35;pointer-events:none;z-index:-1}
#palette-gallery>.r-card:nth-child(3n+2){border-radius:7px 26px 26px 26px}
#palette-gallery>.r-card:nth-child(3n){border-radius:26px 7px 26px 26px}
#palette-gallery h2{max-width:80%;font-size:calc(1.5rem * var(--r-font-scale));line-height:1.15;letter-spacing:-.045em}
#palette-gallery p{font:calc(.7rem * var(--r-font-scale)) Consolas,monospace;text-transform:uppercase;letter-spacing:.07em}
#palette-gallery .r-button{margin-top:calc(.3rem * var(--r-density));border-radius:99px;justify-content:space-between;font-size:calc(.8rem * var(--r-font-scale));padding:calc(.7rem * var(--r-density)) calc(1rem * var(--r-density))}
#palette-gallery .r-button:after{content:'↗';font-size:calc(1.3rem * var(--r-font-scale));line-height:1}
#palette-gallery [aria-hidden=true]>span{border-radius:50%;width:28px!important;height:28px!important;box-shadow:0 0 0 3px var(--r-surface);margin-inline-end:-5px}
#palette-gallery>.r-card:has([aria-pressed=true]){outline:2px solid var(--r-accent);outline-offset:5px}
#palette-gallery>.r-card:has([aria-pressed=true]) .r-button:after{content:'✓'}
main>section.r-card{border-radius:24px;background:var(--r-surface)}
pre{font-size:calc(.8rem * var(--r-font-scale));line-height:1.8}
@media(hover:hover){#palette-gallery>.r-card:hover{transform:translateY(-6px) rotate(-.6deg);box-shadow:0 13px 0 color-mix(in srgb,var(--r-border) 40%,transparent)}}
@media(min-width:600px){#palette-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}#palette-gallery>.r-card:nth-child(even){margin-top:calc(1.8rem * var(--r-density))}}
@media(min-width:1050px){#palette-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}#palette-gallery>.r-card:nth-child(even){margin-top:0}#palette-gallery>.r-card:nth-child(3n+2){margin-top:calc(2.5rem * var(--r-density))}}
@keyframes r-emblem-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){main>h1:after{animation:none}#palette-gallery>.r-card{transition:none}}
