.tpl-hero{padding:var(--s8) 0 var(--s6);background:var(--paper-bg)}.tpl-hero h1{font-family:var(--font-display);font-size:clamp(2rem,4.4vw,var(--t-3xl));line-height:1.06;letter-spacing:-.02em;color:var(--ink);margin:0 0 var(--s3);max-width:22ch}.tpl-hero h1 em{font-style:italic;color:var(--pine)}.tpl-sub{max-width:60ch;font-size:var(--t-lg);line-height:1.5;color:var(--ink-2);margin:0}.tpl-gallery{padding:var(--s6) 0 var(--s8)}.tpl-filters{display:flex;flex-wrap:wrap;gap:var(--s1);margin-bottom:var(--s3)}.chip{font:inherit;font-size:var(--t-sm);font-weight:600;padding:var(--s1) var(--s3);border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-2);cursor:pointer}.chip:hover{border-color:var(--pine);color:var(--pine)}.chip.is-on{background:var(--pine);border-color:var(--pine);color:var(--surface)}.chip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.tpl-count{font-size:var(--t-sm);color:var(--ink-3);margin:0 0 var(--s4)}.tpl-more{display:flex;flex-direction:column;align-items:center;gap:var(--s3);padding:var(--s6) 0 var(--s8)}.tpl-more-note{color:var(--ink-3);font-size:var(--t-sm);margin:0}.tpl-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s4)}.tpl-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.tpl-frame{position:relative;width:100%;aspect-ratio:210 / 297;overflow:hidden;background:var(--paper-bg);border-bottom:1px solid var(--line)}.tpl-frame-inner{position:absolute;inset:0 auto auto 0;transform-origin:top left;pointer-events:none}.tpl-frame .ws-tools,.tpl-frame .no-print{display:none!important}.tpl-body{display:flex;flex-direction:column;gap:var(--s1);padding:var(--s3);flex:1}.tpl-meta{display:flex;align-items:center;gap:var(--s2);margin:0;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em}.tpl-group{color:var(--pine);font-weight:700}.tpl-stage{color:var(--ink-3)}.tpl-caps{padding:.5mm 1.6mm;border:1px solid var(--ochre);border-radius:999px;color:var(--ink);font-size:calc(var(--t-xs) * .92);font-weight:600;letter-spacing:.02em;text-transform:none;white-space:nowrap}.tpl-strand{color:var(--ink-3);text-transform:none;letter-spacing:0;font-size:calc(var(--t-xs) * .95)}.tpl-name{font-family:var(--font-display);font-size:var(--t-xl);line-height:1.2;margin:0}.tpl-name a{color:var(--ink);text-decoration:none}.tpl-name a:hover{color:var(--pine);text-decoration:underline;text-underline-offset:2px}.tpl-blurb{margin:0;font-size:var(--t-sm);line-height:1.5;color:var(--ink-2)}.tpl-why{margin:0;font-size:var(--t-xs);line-height:1.5;color:var(--ink-3)}.tpl-cta{display:inline-flex;align-items:center;gap:var(--s1);margin-top:auto;padding-top:var(--s2);font-size:var(--t-sm);font-weight:600;color:var(--pine);text-decoration:none}.tpl-cta:hover{text-decoration:underline;text-underline-offset:2px}.tpl-foot{padding:var(--s8) 0;background:var(--surface-2);border-top:1px solid var(--line)}.tpl-foot h2{font-family:var(--font-display);font-size:var(--t-2xl);margin:0 0 var(--s2);color:var(--ink)}.tpl-foot p{max-width:60ch;margin:0 0 var(--s4);color:var(--ink-2)}@media(max-width:640px){.tpl-hero{padding:var(--s6) 0 var(--s4)}.tpl-grid{grid-template-columns:1fr}}.tpl-search-label{display:block;margin:4mm 0 1.5mm;font-weight:700}.tpl-search-note{margin:1mm 0 0;font-size:.9em}.tpl-words{margin-top:1.4rem;max-width:34rem}.tpl-words label{display:block;font-family:var(--font-ui);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:.45rem}.tpl-words input{width:100%;padding:.6rem .7rem;font-family:var(--font-ui);font-size:.98rem;color:var(--ink);background:#fff;border:1px solid var(--line-strong, var(--line));border-radius:.35rem}.tpl-words-note{margin:.45rem 0 0;font-size:.84rem;color:var(--ink-3)}.theme-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:var(--s4)}.theme-card{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s4);background:var(--surface);display:flex;flex-direction:column;gap:var(--s2)}.theme-card-title{margin:0;font-size:1.05rem;line-height:1.25}.theme-card-meta{margin:0;font-size:.82rem;color:var(--ink-3)}.theme-card-sheets{list-style:none;margin:var(--s2) 0 0;padding:0;display:grid;gap:.15rem}.theme-card-sheets a{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);min-height:34px;padding:0 var(--s2);border-radius:var(--r-sm);color:var(--ink);text-decoration:none;font-size:.9rem}.theme-card-sheets a:hover,.theme-card-sheets a:focus-visible{background:var(--surface-2);color:var(--pine)}
