:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111810;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;--primary: oklch(.3 .096 140);--primary-deep: oklch(.22 .07 140);--primary-soft: oklch(.94 .025 140);--background: oklch(1 0 0);--surface: oklch(.965 .008 140);--ink: oklch(.2 .02 140);--muted: oklch(.46 .026 140);--line: oklch(.88 .012 140);--accent: oklch(.79 .14 88);--focus: oklch(.68 .15 235)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;min-width:320px;min-height:100vh;overflow-x:clip;background:var(--background)}button,a{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.site-header{min-height:5.25rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem clamp(1.25rem,4vw,4rem);color:#fff;background:var(--primary-deep)}.brand{display:inline-flex;align-items:center;gap:.85rem;color:inherit;text-decoration:none}.brand-mark,.footer-mark{width:2.5rem;height:2.5rem;display:grid;place-items:center;flex:0 0 auto;border:1px solid oklch(1 0 0 / .55);border-radius:50%;font-family:Georgia,Times New Roman,serif;font-size:1.3rem}.brand-name{font-weight:700;letter-spacing:-.01em}.share-trigger{min-height:2.75rem;display:inline-flex;align-items:center;gap:.55rem;padding:.6rem .9rem;border:1px solid oklch(1 0 0 / .42);border-radius:999px;color:#fff;background:transparent;font-size:.82rem;font-weight:800;cursor:pointer;transition:color .18s ease,background .18s ease}.share-trigger:hover{color:var(--primary-deep);background:#fff}.share-trigger svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.share-dialog{width:min(calc(100% - 2rem),28rem);max-height:calc(100dvh - 2rem);padding:0;border:0;border-radius:16px;color:var(--ink);background:var(--background);box-shadow:0 8px 32px #02020247}.share-dialog::backdrop{background:#020202b8}.share-panel{position:relative;padding:1.75rem;text-align:center}.share-panel h2{margin:0 2rem .55rem;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:400;line-height:1.08;letter-spacing:-.025em;text-wrap:balance}.share-panel p{max-width:30ch;margin:0 auto 1.25rem;color:var(--muted);font-size:.94rem;line-height:1.5;text-wrap:pretty}.share-close{position:absolute;top:.75rem;right:.75rem;width:2.75rem;height:2.75rem;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:var(--ink);background:var(--surface);cursor:pointer}.share-close:hover{background:var(--primary-soft)}.share-close svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8}.share-code{width:100%;height:auto;display:block}.intro{position:relative;min-height:20rem;display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;overflow:hidden;padding:clamp(3.5rem,8vw,7.5rem) clamp(1.25rem,6vw,7rem) 3.75rem;color:#fff;background:var(--primary)}.intro:after{content:"";position:absolute;right:-8rem;bottom:-18rem;width:38rem;height:38rem;border:1px solid oklch(1 0 0 / .16);border-radius:50%;box-shadow:0 0 0 5rem #ffffff06,0 0 0 10rem #ffffff05;pointer-events:none}.intro-copy{position:relative;z-index:1;max-width:46rem}.season{margin:0 0 1.2rem;color:var(--accent);font-size:.88rem;font-weight:800;letter-spacing:.12em}.intro h1{max-width:13ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.7rem,7vw,5.75rem);font-weight:400;line-height:.98;letter-spacing:-.035em;text-wrap:balance}.intro-copy>p:last-child{max-width:42rem;margin:1.5rem 0 0;color:#e6eee4;font-size:clamp(1rem,2vw,1.2rem);line-height:1.6;text-wrap:pretty}.course-line{position:relative;z-index:1;display:flex;align-items:flex-end;gap:.45rem;padding-bottom:.4rem}.course-line span{display:block;width:.45rem;border-radius:999px;background:var(--accent)}.course-line span:nth-child(1){height:1.1rem}.course-line span:nth-child(2){height:2.1rem}.course-line span:nth-child(3){height:3.4rem}.menu-layout{width:min(100%,98rem);display:grid;grid-template-columns:minmax(17rem,21rem) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);margin:0 auto;padding:clamp(2.5rem,5vw,5rem) clamp(1.25rem,4vw,4rem) 6rem}.menu-nav{align-self:start}.menu-nav h2{margin:0 0 1rem;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.menu-list{border-top:1px solid var(--line)}.menu-list button{position:relative;width:100%;display:grid;grid-template-columns:2rem 1fr auto;align-items:center;gap:.8rem;min-height:6rem;padding:1rem .5rem;border:0;border-bottom:1px solid var(--line);color:var(--ink);background:transparent;text-align:left;cursor:pointer;transition:background .18s ease,padding .18s ease}.menu-list button:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .2s cubic-bezier(.22,1,.36,1)}.menu-list button:hover{background:var(--surface);padding-inline:.9rem}.menu-list button.active{background:var(--primary-soft);padding-inline:.9rem}.menu-list button.active:after{transform:scaleX(1)}.menu-number{color:var(--muted);font-size:.76rem;font-variant-numeric:tabular-nums}.menu-label{min-width:0;display:flex;flex-direction:column;gap:.25rem}.menu-label strong{font-size:1.04rem}.menu-label small{overflow:hidden;color:var(--muted);font-size:.77rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.page-count{color:var(--muted);font-size:.72rem;white-space:nowrap}.viewer{min-width:0;scroll-margin-top:1.5rem}.viewer-header{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}.viewer-header p{margin:0 0 .4rem;color:var(--primary);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.viewer-header h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3.25rem);font-weight:400;line-height:1;letter-spacing:-.025em}.viewer-header>div>span{display:block;margin-top:.65rem;color:var(--muted)}.download{min-height:3.4rem;display:inline-flex;align-items:center;gap:.75rem;flex:0 0 auto;padding:.7rem 1rem;border:1px solid var(--primary);border-radius:10px;color:var(--primary);text-decoration:none;transition:color .18s ease,background .18s ease}.download:hover{color:#fff;background:var(--primary)}.download svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.download span{display:flex;flex-direction:column;gap:.15rem;font-size:.82rem;font-weight:800}.download small{color:var(--muted);font-size:.67rem;font-weight:500}.download:hover small{color:#e6eee4}.pages{display:flex;flex-direction:column;gap:clamp(1.25rem,3vw,2.25rem);padding:clamp(.6rem,2vw,1.5rem);background:var(--surface)}.pages figure{margin:0;overflow:hidden;background:#fff;box-shadow:0 4px 8px #1118101f}.page-topline{display:flex;justify-content:space-between;padding:.72rem 1rem;border-bottom:1px solid var(--line);color:var(--muted);font-size:.72rem;font-weight:700}.pages img{width:100%;height:auto;display:block;background:#fafafa}footer{display:flex;align-items:center;justify-content:center;gap:1rem;padding:2.25rem 1.25rem;color:#e4eae2;background:var(--primary-deep)}.footer-mark{width:2rem;height:2rem;font-size:1rem}footer p{margin:0;font-size:.8rem}@media(max-width:800px){.site-header{min-height:4.5rem;padding:.75rem 1rem}.brand-name{font-size:.9rem}.share-trigger{min-height:2.5rem;padding:.5rem .75rem}.intro{min-height:17rem;padding:3.5rem 1.25rem 2.5rem}.intro h1{max-width:12ch;font-size:clamp(2.65rem,13vw,4.4rem)}.course-line{display:none}.menu-layout{display:block;padding:0 0 4rem}.menu-nav{padding:1rem 1.25rem .85rem;border-bottom:1px solid var(--line);background:var(--background)}.menu-nav h2{margin:0 0 .65rem}.menu-list{display:flex;gap:.55rem;overflow-x:auto;padding:0 0 .15rem;border:0;scroll-snap-type:x proximity;scrollbar-width:none}.menu-list::-webkit-scrollbar{display:none}.menu-list button{width:auto;min-width:max-content;min-height:3.25rem;display:flex;gap:.6rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:10px;scroll-snap-align:start}.menu-list button:hover,.menu-list button.active{padding-inline:.9rem}.menu-list button.active{border-color:var(--primary)}.menu-list button:after,.menu-label small,.page-count{display:none}.menu-number{color:var(--primary)}.viewer{padding:2.25rem 1rem 0;scroll-margin-top:5.8rem}.viewer-header{align-items:center;margin-bottom:1.25rem}.viewer-header>div>span{font-size:.85rem}.download{width:3.2rem;height:3.2rem;min-height:0;justify-content:center;padding:0;border-radius:50%}.download>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pages{margin-inline:-1rem;padding:.55rem}.page-topline{padding:.6rem .8rem}}@media(max-width:430px){.brand-name{max-width:10rem;line-height:1.15}.brand-mark{width:2.15rem;height:2.15rem}.share-panel{padding:1.5rem}.share-panel h2{font-size:1.8rem}.viewer-header h2{font-size:2.35rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
