:root{--paper:#f1f2ee;--ink:#272d28;--muted:#5e685f;--green:#344d3f;--panel:#e5e8e1;--line:#cbd0c7}.intro{padding:42px 0 28px;grid-template-columns:1.1fr 1fr}.intro h1{font-size:clamp(2.5rem,4vw,4rem);max-width:650px}.gallery-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 24px;font-size:.875rem}.gallery-tools p{margin:0;color:var(--muted)}.generated-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:42px 24px}.generated-direction{min-width:0}.generated-direction figure{margin:0}.art-link{display:block;text-decoration:none;aspect-ratio:9/16;background:#d5d8d1}.art-link:hover{outline:2px solid var(--green);outline-offset:5px}.choice-line{margin-top:16px}.choice-line h2{font-size:1.05rem;line-height:1.3;font-weight:550;letter-spacing:-.025em;margin:0 0 9px;display:flex;gap:10px;align-items:baseline}.choice-line h2>span{font-size:.8rem;color:var(--muted);font-weight:400}.pick{font-size:.82rem;display:inline-flex;align-items:center;gap:8px;min-height:36px;cursor:pointer}.pick input{accent-color:var(--green);width:17px;height:17px;margin:0}.pick input:disabled{cursor:default}.generated-direction figcaption>p{font-size:.85rem;line-height:1.65;color:var(--muted);margin:9px 0 14px}.art-links{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.8rem}.art-links a{min-height:30px}.direction-extension{margin-top:12px}.direction-extension summary{font-size:.8rem;cursor:pointer;min-height:44px;padding:10px 0;color:var(--green)}.direction-extension p,.direction-extension li{font-size:.85rem;line-height:1.65;color:var(--muted)}.direction-extension ul{padding-left:18px}.study-note{font-style:italic}.generated-direction:has(input:checked) .art-link{outline:3px solid #344d3f;outline-offset:5px}.spec p{max-width:65ch}.spec a{font-size:.875rem}@media(max-width:1050px){.generated-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 24px}}@media(max-width:800px){.intro{grid-template-columns:1fr;gap:20px}.intro h1{font-size:2.9rem}.gallery-tools{align-items:start;flex-direction:column;gap:10px}.generated-direction figcaption>p{font-size:.95rem}.choice-line h2{font-size:1.2rem}.pick,.art-links,.direction-extension summary{font-size:.9rem}}@media(max-width:450px){.generated-grid{grid-template-columns:1fr}.intro h1{font-size:2.6rem}.generated-direction{max-width:480px}.masthead{gap:8px}.nav{gap:14px}.nav a{font-size:.8rem}.gallery-tools{font-size:.9rem}}
