.gr-section{margin: 3rem auto 0 auto;
  padding: 1.5rem;
  color: #484238;
  box-sizing: border-box;
  background-color: #fff;
  align-items: center;
  display: flex;
  flex-direction: column;}
.gr-header{display:flex;align-items:center;justify-content:space-between;gap:32px;width:100%;max-width:1500px;margin-bottom:1.25rem}
.gr-heading-intro{flex:1;min-width:0;text-align:left}
.gr-section .gr-heading-intro h2{text-align:left;font-family:var(--handwriting-font,"Edu VIC WA NT Beginner"),cursive;}
.gr-summary{box-sizing:border-box;flex:0 0 260px;display:flex;flex-direction:column;gap:6px;padding:18px 24px;border:1px solid #dedacb;border-radius:12px;background:#f9f6ee;text-align:center}
.gr-summary strong{font-size:2rem;line-height:1.2;color:#997219}
.gr-summary strong small{font-size:1rem;font-weight:400;margin-left:3px}
.gr-summary>small{font-size:.75rem}
.gr-section h2{font-size:2.3rem;margin:0 0 .75rem}
.gr-intro{max-width:750px;margin:0;line-height:1.6;text-align:left}
.gr-controls{display:flex;justify-content:flex-end;gap:.5rem;margin-bottom:.75rem}
.gr-controls[hidden],.gr-more[hidden]{display:none!important}
.gr-controls button{width:42px;height:42px;border:1px solid #aaa58c;border-radius:50%;background:#fff;color:#484238;cursor:pointer}
.gr-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px;align-items:stretch;width:100%;max-width:1500px;box-sizing:border-box}
.gr-track::-webkit-scrollbar,.gr-dialog::-webkit-scrollbar{display:none}
.gr-card{position:relative;box-sizing:border-box;flex:0 0 calc((100% - 48px)/4);min-width:0;height:305px;display:flex;flex-direction:column;padding:16px;border:1px solid #dedacb;border-radius:12px;background:#fff;scroll-snap-align:start;overflow:hidden}
.gr-card h3{font-size:1.08rem;line-height:1.4;margin:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.gr-context{font-size:.85rem;line-height:1.4;margin:.3rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gr-stars{color:#997219;font-size:1.2rem;margin:.7rem 0;letter-spacing:2px}
.gr-preview{font-size:.95rem;line-height:1.55;margin:0;white-space:pre-line;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;flex-shrink:0}
.gr-language{font-size:.68rem;line-height:1.3;margin-bottom:4px;color:#696257}
.gr-more{align-self:flex-start;margin-top:.4rem;padding:0;background:none;border:0;text-decoration:underline;color:inherit;font:inherit;font-size:.85rem;cursor:pointer}
.gr-source{margin-top:auto;padding-top:.5rem;align-self:flex-end;font-size:.8rem;color:#66552e;text-align:right}
.gr-write{text-align:center;margin:1.5rem 0 0}
.gr-write a{display:inline-block;padding:12px 26px;background:#c8c62f;border-radius:25px;color:#353421;text-decoration:none;font-weight:600}
.gr-dialog{position:fixed;inset:0;margin:auto;box-sizing:border-box;width:min(600px,calc(100% - 24px));max-height:85dvh;overflow:auto;scrollbar-width:none;border:1px solid #dedacb;border-radius:14px;padding:28px;color:#484238;background:#fff}
.gr-dialog::backdrop{background:rgba(0,0,0,.55)}
.gr-dialog h2{padding-right:28px;overflow-wrap:anywhere}
.gr-close{position:absolute;right:12px;top:10px;border:0;background:transparent;color:inherit;font-size:28px;cursor:pointer;width:36px;height:36px}
.gr-full-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}
.gr-dialog label{display:block;margin:14px 0}
.gr-dialog input:not([type=checkbox]),.gr-dialog textarea{display:block;box-sizing:border-box;width:100%;padding:10px;border:1px solid #aaa;border-radius:5px;font:inherit}
.gr-dialog textarea{resize:vertical}
.gr-inline{display:inline-block;margin:3px}
.gr-table-wrap{overflow-x:auto}.gr-admin{padding:24px}.gr-admin table{width:100%;border-collapse:collapse}.gr-admin td,.gr-admin th{padding:12px;text-align:left;border-bottom:1px solid #ddd}
.gr-section :focus-visible,.gr-dialog :focus-visible{outline:3px solid #74632e;outline-offset:3px}
.gr-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){.gr-card{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:600px){.gr-section{padding:18px;margin:2rem auto}.gr-header{flex-direction:column;align-items:stretch;gap:18px}.gr-summary{flex-basis:auto;width:100%}.gr-card{flex-basis:100%;height:290px}.gr-preview{-webkit-line-clamp:2}.gr-dialog{padding:22px}}
@media(prefers-reduced-motion:reduce){.gr-track{scroll-behavior:auto}}
