:root{--tc-green-dark: #005b00;--tc-green-light: #a9d47e;--tc-cream: #f0f0f0;--tc-gray: #4d4d4d;--tc-yellow: #ffd700;--tc-ink: #2a2a2a;--tc-white: #ffffff;--tc-font-body: "Libre Franklin", ui-sans-serif, system-ui, sans-serif;--tc-font-display: "Oswald", "Libre Franklin", sans-serif;--tc-font-doodle: "Caveat", cursive;--tc-border: color-mix(in srgb, var(--tc-green-dark) 22%, transparent);--tc-border-strong: color-mix(in srgb, var(--tc-green-dark) 38%, transparent);--tc-shadow: 3px 3px 0 color-mix(in srgb, var(--tc-green-dark) 14%, transparent);--tc-shadow-soft: 0 .65rem 1.5rem color-mix(in srgb, var(--tc-green-dark) 12%, transparent);--tc-bg-contours: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520' viewBox='0 0 520 520'%3E%3Cg fill='none' stroke='%23005B00' stroke-linecap='round'%3E%3Cpath d='M-60 52 C 70 28 210 76 580 44' stroke-width='1.35' opacity='0.16'/%3E%3Cpath d='M-60 104 C 120 82 240 118 580 96' stroke-width='1.35' opacity='0.16'/%3E%3Cpath d='M-60 156 C 90 132 280 168 580 148' stroke-width='1.35' opacity='0.16'/%3E%3Cpath d='M-60 208 C 150 186 200 226 580 200' stroke-width='1.35' opacity='0.16'/%3E%3Cpath d='M-60 260 C 80 236 320 272 580 252' stroke-width='1.35' opacity='0.16'/%3E%3Cpath d='M-60 312 C 130 288 250 328 580 304' stroke-width='1.35' opacity='0.16'/%3E%3Cpath d='M-60 364 C 100 340 290 378 580 356' stroke-width='1.35' opacity='0.16'/%3E%3Cpath d='M-60 416 C 160 392 220 432 580 408' stroke-width='1.35' opacity='0.16'/%3E%3Cpath d='M-60 78 C 95 64 205 88 580 70' stroke-width='0.85' opacity='0.09'/%3E%3Cpath d='M-60 130 C 110 116 235 142 580 122' stroke-width='0.85' opacity='0.09'/%3E%3Cpath d='M-60 182 C 85 168 265 192 580 174' stroke-width='0.85' opacity='0.09'/%3E%3Cpath d='M-60 234 C 125 220 215 246 580 228' stroke-width='0.85' opacity='0.09'/%3E%3Cpath d='M-60 286 C 95 272 305 296 580 280' stroke-width='0.85' opacity='0.09'/%3E%3Cpath d='M-60 338 C 140 324 255 348 580 332' stroke-width='0.85' opacity='0.09'/%3E%3Cpath d='M-60 390 C 105 376 275 400 580 382' stroke-width='0.85' opacity='0.09'/%3E%3C/g%3E%3C/svg%3E");color:var(--tc-gray);font-family:var(--tc-font-body);background-color:var(--tc-cream);background-image:radial-gradient(circle at 12% 8%,color-mix(in srgb,var(--tc-yellow) 18%,transparent),transparent 42%),radial-gradient(circle at 88% 92%,color-mix(in srgb,var(--tc-green-light) 22%,transparent),transparent 38%),var(--tc-bg-contours);background-size:auto,auto,520px 520px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{border:2px solid var(--tc-green-dark);border-radius:4px;background:var(--tc-green-dark);box-shadow:var(--tc-shadow);color:var(--tc-white);cursor:pointer;font-family:var(--tc-font-display);font-size:.92rem;font-weight:600;letter-spacing:.04em;padding:.7rem 1rem;text-transform:uppercase;transition:background .12s ease,transform 80ms ease,box-shadow .12s ease}button:hover:not(:disabled){background:color-mix(in srgb,var(--tc-green-dark) 82%,var(--tc-green-light))}button:active:not(:disabled){box-shadow:1px 1px color-mix(in srgb,var(--tc-green-dark) 14%,transparent);transform:translate(1px,1px)}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{display:grid;grid-template-columns:minmax(280px,21rem) 1fr minmax(360px,32rem);min-height:100vh;overflow:hidden;position:relative}.app-shell--search{align-items:start;display:flex;justify-content:center;min-height:100vh;overflow:auto;padding:1.5rem 1rem 2.5rem}.app-shell--search .panel-search{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,var(--tc-cream) 42%,transparent);border:1px solid color-mix(in srgb,var(--tc-green-dark) 18%,transparent);border-radius:1.25rem;box-shadow:0 12px 40px color-mix(in srgb,var(--tc-green-dark) 8%,transparent);gap:1.75rem;max-width:72rem;padding:clamp(1.25rem,3vw,2rem);position:relative;width:min(calc(100vw - 3rem),72rem)}.app-shell--search .panel-search>*{position:relative}.home-hero{align-items:flex-end;border-bottom:1px solid color-mix(in srgb,var(--tc-green-dark) 14%,transparent);display:flex;flex-wrap:wrap;gap:1.25rem 2rem;justify-content:space-between;padding-bottom:1.5rem}.home-hero__brand{align-items:center;display:flex;flex-wrap:wrap;gap:.85rem 1rem;min-width:min(100%,16rem)}.home-hero__brand-copy{display:grid;gap:.35rem;min-width:0}.brand-mark{align-items:center;background:var(--tc-green-dark);border-radius:6px;box-sizing:border-box;display:inline-flex;flex-direction:column;flex-shrink:0;gap:.2rem;height:3.1rem;justify-content:center;padding:.3rem;width:3.1rem}.brand-mark:after{background:var(--tc-yellow);border-radius:999px;content:"";flex-shrink:0;height:.32rem;width:64%}.brand-mark__pin{display:block;flex-shrink:0;height:auto;margin:0 auto;max-height:1.65rem;max-width:1.55rem;object-fit:contain;object-position:center;transform:translate(2px);width:auto}.brand-mark--hero{height:clamp(2.85rem,7vw,3.45rem);width:clamp(2.85rem,7vw,3.45rem)}.brand-mark--hero .brand-mark__pin{max-height:1.95rem;max-width:1.85rem;transform:translate(3px)}.brand-mark--hero:after{height:.36rem;width:66%}.brand-mark--scene{height:2.45rem;width:2.45rem}.brand-mark--scene .brand-mark__pin{max-height:1.4rem;max-width:1.3rem;transform:translate(2px)}.brand-mark--scene:after{height:.3rem;width:64%}.brand-mark--proof{height:2.1rem;width:2.1rem}.brand-mark--proof .brand-mark__pin{max-height:1.2rem;max-width:1.15rem;transform:translate(2px)}.brand-mark--proof:after{height:.28rem;width:62%}.home-hero__title{color:var(--tc-green-dark);font-family:var(--tc-font-body);font-size:clamp(1.85rem,4.5vw,2.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.05;margin:0;text-transform:none}.home-hero__title:after{background:linear-gradient(90deg,var(--tc-yellow),color-mix(in srgb,var(--tc-green-light) 65%,var(--tc-yellow)));border-radius:999px;content:"";display:block;height:.28rem;margin-top:.55rem;width:3.25rem}.home-hero__tagline{color:color-mix(in srgb,var(--tc-gray) 88%,var(--tc-green-dark));font-size:1.02rem;font-weight:500;line-height:1.4;margin:0;max-width:28rem}.home-search{display:grid;gap:1.25rem}.home-search__lede{color:color-mix(in srgb,var(--tc-gray) 92%,var(--tc-ink));font-size:1.05rem;line-height:1.55;margin:0;max-width:40rem}.panel-search .home-search__form{gap:1rem}.panel-search .home-search__form label{color:color-mix(in srgb,var(--tc-green-dark) 72%,var(--tc-gray));font-size:.78rem;font-weight:600;gap:.45rem;letter-spacing:.04em;text-transform:uppercase}.panel-search .home-search__form input{background:color-mix(in srgb,var(--tc-white) 88%,transparent);border:1px solid color-mix(in srgb,var(--tc-green-dark) 16%,var(--tc-cream));border-radius:.75rem;box-shadow:inset 0 1px 2px color-mix(in srgb,var(--tc-green-dark) 4%,transparent);font-size:1rem;font-weight:500;letter-spacing:normal;padding:.85rem 1rem;text-transform:none;transition:border-color .14s ease,box-shadow .14s ease}.panel-search .home-search__form input::placeholder{color:color-mix(in srgb,var(--tc-gray) 55%,var(--tc-cream));font-weight:400}.panel-search .home-search__form input:focus-visible{border-color:color-mix(in srgb,var(--tc-green-dark) 55%,var(--tc-green-light));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--tc-green-dark) 4%,transparent),0 0 0 3px color-mix(in srgb,var(--tc-green-light) 45%,transparent)}.panel-search .home-search__submit{border:none;border-radius:.75rem;box-shadow:0 8px 20px color-mix(in srgb,var(--tc-green-dark) 22%,transparent);font-family:var(--tc-font-body);font-size:1rem;font-weight:600;justify-self:start;letter-spacing:normal;min-height:3rem;padding:.8rem 1.75rem;text-transform:none}.panel-search .home-search__submit:hover:not(:disabled){box-shadow:0 10px 24px color-mix(in srgb,var(--tc-green-dark) 28%,transparent)}.panel-search .home-search__submit:active:not(:disabled){box-shadow:0 4px 12px color-mix(in srgb,var(--tc-green-dark) 20%,transparent);transform:translateY(1px)}@media(min-width:720px){.panel-search .home-search__form{align-items:stretch;grid-template-columns:1fr}.panel-search .home-search__lede{grid-column:1 / -1}}.search-intro{color:var(--tc-gray);font-size:.95rem;line-height:1.45;margin:0}.course-search-form{display:grid;gap:.85rem}.course-search-form__query-field{position:relative}.course-search-form__status{color:color-mix(in srgb,var(--tc-gray) 88%,var(--tc-cream));font-size:.82rem;font-weight:500;margin-top:.35rem}.search-empty{color:color-mix(in srgb,var(--tc-gray) 92%,var(--tc-ink));font-size:.95rem;margin:.5rem 0 0}.course-suggest-list{background:var(--tc-white);border:2px solid var(--tc-border-strong);border-radius:4px;box-shadow:0 .65rem 1.5rem #005b0024;left:0;list-style:none;margin:.25rem 0 0;max-height:14rem;overflow:auto;padding:.35rem;position:absolute;right:0;top:100%;z-index:20}.course-suggest-item{background:transparent;border:none;border-radius:4px;box-shadow:none;color:inherit;cursor:pointer;display:grid;font-family:var(--tc-font-body);gap:.1rem;letter-spacing:normal;padding:.45rem .55rem;text-align:left;text-transform:none;width:100%}.course-suggest-item:hover:not(:disabled),.course-suggest-item:focus-visible{background:color-mix(in srgb,var(--tc-green-light) 38%,var(--tc-white));outline:none}.course-suggest-item__name{font-size:.92rem;font-weight:600}.course-suggest-item__loc{color:color-mix(in srgb,var(--tc-gray) 88%,var(--tc-cream));font-size:.78rem}.app-shell--draw{--tc-draw-canvas-ratio: 6;--tc-draw-panel-ratio: 1;--tc-scene-menu-width: min(92vw, 26rem);grid-template-columns:minmax(0,var(--tc-draw-canvas-ratio)fr) minmax(18rem,var(--tc-draw-panel-ratio)fr)}.app-shell--draw.app-shell--text-editor-focus,.app-shell.app-shell--text-editor-focus{grid-template-columns:minmax(0,6fr) minmax(19rem,1.1fr)}.app-shell.app-shell--text-editor-focus .panel-left,.panel-right--text-only .panel-right-default,.panel-right-text-focus{display:none}.panel-right--text-only .panel-right-text-focus{align-content:start;display:grid;gap:1.75rem}.panel{align-content:start;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,var(--tc-white) 94%,var(--tc-cream));border:2px solid var(--tc-border-strong);box-shadow:var(--tc-shadow-soft);display:grid;gap:1rem;max-height:100vh;overflow:auto;padding:1.25rem;position:relative;z-index:2}.panel-left{border-right:2px solid var(--tc-border)}.panel-right{border-left:2px solid var(--tc-border);gap:.65rem;min-width:0;overflow-x:hidden;padding:.85rem .75rem 1rem;z-index:10}.panel-right__header{border-bottom:1px solid var(--tc-border);display:grid;gap:.2rem;margin-bottom:.15rem;padding-bottom:.55rem}.panel-right__title{font-size:.88rem;letter-spacing:.06em;margin:0}.panel-right__title:after{display:none}.panel-right__lede{color:color-mix(in srgb,var(--tc-gray) 82%,var(--tc-green-dark));font-size:.72rem;font-weight:500;line-height:1.35;margin:0}.panel-right-default{display:grid;gap:.45rem;min-width:0;overflow-x:hidden}h1,h2{margin:0}h1{color:var(--tc-green-dark);font-family:var(--tc-font-display);font-size:2rem;font-weight:600;letter-spacing:.06em;line-height:1.05;text-transform:uppercase}h1:after{background:var(--tc-yellow);border-radius:1px;content:"";display:block;height:4px;margin-top:.4rem;width:2.75rem}h2{color:var(--tc-green-dark);font-family:var(--tc-font-display);font-size:1.05rem;font-weight:600;letter-spacing:.04em;margin-top:.4rem;text-transform:uppercase}h3.panel-subheading{border-bottom:2px dashed color-mix(in srgb,var(--tc-green-dark) 28%,transparent);color:var(--tc-green-dark);font-family:var(--tc-font-display);font-size:.78rem;font-weight:600;letter-spacing:.09em;line-height:1.3;margin:0;padding-bottom:.45rem;text-transform:uppercase}.panel-subsection{display:grid;gap:.75rem}.panel-subsection>.panel-subsection{margin-top:1.75rem}.panel-tray{border:1px solid var(--tc-border);border-radius:8px;min-width:0}.panel-tray__summary{align-items:center;cursor:pointer;display:flex;gap:.5rem;justify-content:space-between;list-style:none;padding:.5rem .65rem;-webkit-user-select:none;user-select:none}.panel-tray__summary::-webkit-details-marker{display:none}.panel-tray__heading{color:var(--tc-green-dark);font-family:var(--tc-font-display);font-size:.78rem;font-weight:600;letter-spacing:.09em;line-height:1.3;text-transform:uppercase}.panel-tray__chevron{border-bottom:2px solid var(--tc-green-dark);border-right:2px solid var(--tc-green-dark);flex-shrink:0;height:.45rem;margin-top:-.15rem;transform:rotate(45deg);transition:transform .14s ease;width:.45rem}.panel-tray[open] .panel-tray__chevron{margin-top:.1rem;transform:rotate(-135deg)}.panel-tray__body{border-top:1px dashed var(--tc-border);padding:.6rem .65rem .7rem}.panel-tray__body.panel-subsection{gap:.75rem}label{color:var(--tc-gray);display:grid;font-size:.86rem;font-weight:600;gap:.35rem}input,select{background:var(--tc-white);border:2px solid color-mix(in srgb,var(--tc-green-dark) 16%,var(--tc-cream));border-radius:4px;color:var(--tc-ink);padding:.65rem .75rem;width:100%}input:focus-visible,select:focus-visible{border-color:var(--tc-green-dark);box-shadow:0 0 0 2px color-mix(in srgb,var(--tc-yellow) 55%,transparent);outline:none}input[type=range]{accent-color:var(--tc-green-dark)}.status{background:color-mix(in srgb,var(--tc-green-light) 22%,var(--tc-white));border:2px dashed var(--tc-border-strong);border-radius:4px;color:var(--tc-gray);font-size:.9rem;padding:.75rem}.search-hint{color:var(--tc-gray);font-size:.78rem;line-height:1.35;margin:0}.result-list{display:grid;gap:.65rem}.result-card{background:var(--tc-white);border:2px solid var(--tc-border);border-radius:4px;box-shadow:2px 2px color-mix(in srgb,var(--tc-green-dark) 8%,transparent);color:var(--tc-ink);display:grid;font-family:var(--tc-font-body);gap:.25rem;justify-items:start;letter-spacing:normal;padding:.8rem;text-align:left;text-transform:none;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}.result-card:hover:not(:disabled){background:var(--tc-green-dark);border-color:color-mix(in srgb,var(--tc-yellow) 55%,var(--tc-green-dark));box-shadow:var(--tc-shadow);color:var(--tc-white)}.result-card:hover:not(:disabled) strong{color:var(--tc-white)}.result-card span{color:color-mix(in srgb,var(--tc-gray) 88%,var(--tc-cream));font-size:.82rem;font-weight:500;transition:color .18s ease}.result-card:hover:not(:disabled) span:not(.osm-match-badge){color:color-mix(in srgb,var(--tc-green-light) 88%,var(--tc-white))}.top-courses{display:grid;gap:.85rem;margin-top:.35rem}.top-courses__header{display:grid;gap:.2rem;justify-items:center;text-align:center}.top-courses__header h2{font-size:1.05rem;margin:0}.panel-search .top-courses__header h2{font-family:var(--tc-font-body);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;text-transform:none}.panel-search .top-course-card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:color-mix(in srgb,var(--tc-white) 62%,transparent);border-radius:.75rem}.panel-search .course-suggest-list{background:color-mix(in srgb,var(--tc-white) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.panel-search .result-card{background:color-mix(in srgb,var(--tc-white) 65%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.top-courses__subtitle{color:var(--tc-gray);font-size:.82rem;margin:0}.top-courses-grid{display:grid;gap:.65rem;grid-template-columns:repeat(5,minmax(0,1fr))}.top-course-card{align-items:start;background:color-mix(in srgb,var(--tc-green-light) 18%,var(--tc-white));border:2px solid var(--tc-border);border-radius:4px;box-shadow:2px 2px color-mix(in srgb,var(--tc-green-dark) 8%,transparent);color:var(--tc-ink);cursor:pointer;display:grid;font-family:var(--tc-font-body);gap:.25rem;isolation:isolate;letter-spacing:normal;overflow:hidden;padding:.65rem .7rem;position:relative;text-align:left;text-transform:none;transform:translateY(0) scale(1);transition:background .22s cubic-bezier(.22,1,.36,1),border-color .22s ease,box-shadow .22s cubic-bezier(.22,1,.36,1),color .22s ease,transform .22s cubic-bezier(.22,1,.36,1)}.top-course-card:before{background:linear-gradient(145deg,color-mix(in srgb,var(--tc-yellow) 35%,transparent),transparent 55%);border-radius:inherit;content:"";top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .22s ease;z-index:0}.top-course-card>*{position:relative;z-index:1}.top-course-card:hover:not(:disabled){background:var(--tc-green-dark);border-color:color-mix(in srgb,var(--tc-yellow) 55%,var(--tc-green-dark));box-shadow:0 14px 28px color-mix(in srgb,var(--tc-green-dark) 28%,transparent),0 0 0 2px color-mix(in srgb,var(--tc-yellow) 45%,transparent);color:var(--tc-white);transform:translateY(-5px) scale(1.04);z-index:2}.top-course-card:hover:not(:disabled):before{opacity:1}.top-course-card:active:not(:disabled){box-shadow:0 6px 14px color-mix(in srgb,var(--tc-green-dark) 22%,transparent),0 0 0 2px color-mix(in srgb,var(--tc-yellow) 35%,transparent);transform:translateY(-2px) scale(1.015)}.top-course-card:hover:not(:disabled) .top-course-card__rank,.top-course-card:hover:not(:disabled) .top-course-card__name{color:var(--tc-white)}.top-course-card:hover:not(:disabled) .top-course-card__location{color:color-mix(in srgb,var(--tc-green-light) 88%,var(--tc-white))}.top-course-card:disabled{cursor:wait;opacity:.65}.top-course-card__rank{color:var(--tc-green-dark);font-size:.78rem;font-weight:700;letter-spacing:.02em;transition:color .22s ease}.top-course-card__name{font-size:.88rem;font-weight:600;line-height:1.3;transition:color .22s ease}.top-course-card__location{color:var(--tc-gray);font-size:.76rem;transition:color .22s ease}@media(prefers-reduced-motion:reduce){.top-course-card{transition-duration:.01ms}.top-course-card:hover:not(:disabled),.top-course-card:active:not(:disabled){transform:none}}.scene-wrap{align-items:stretch;cursor:default;z-index:1;background:radial-gradient(circle at 40% 20%,rgba(255,255,255,.95),transparent 25rem),linear-gradient(165deg,color-mix(in srgb,var(--tc-green-light) 42%,var(--tc-cream)),color-mix(in srgb,var(--tc-green-light) 58%,var(--tc-green-dark) 8%));display:flex;flex-direction:column;justify-content:center;min-width:0;overflow:hidden;overscroll-behavior:none;padding:2rem;position:relative;touch-action:none;-webkit-touch-callout:none}.scene-wrap--space-pan{cursor:grab}.scene-wrap--panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.scene-wrap--panning .course-svg{pointer-events:none}.scene-brand{align-items:center;background:color-mix(in srgb,var(--tc-white) 92%,transparent);border:2px solid var(--tc-border-strong);border-radius:4px;box-shadow:0 .5rem 1.25rem #1626141f;color:var(--tc-green-dark);cursor:pointer;display:inline-flex;font-family:var(--tc-font-body);gap:.55rem;left:1.25rem;padding:.55rem .95rem .6rem;position:absolute;text-align:left;text-transform:none;top:1.25rem;z-index:5}.scene-brand__label{display:grid;font-size:clamp(1.45rem,2.4vw,1.75rem);font-weight:700;letter-spacing:-.03em;line-height:1.05}.scene-brand__label:after{background:linear-gradient(90deg,var(--tc-yellow),color-mix(in srgb,var(--tc-green-light) 65%,var(--tc-yellow)));border-radius:999px;content:"";display:block;height:.3rem;margin-top:.42rem;width:3.1rem}.scene-brand:hover:not(:disabled){background:color-mix(in srgb,var(--tc-white) 96%,var(--tc-cream));color:var(--tc-green-dark)}.dev-save-recipe-btn{background:color-mix(in srgb,var(--tc-white) 92%,transparent);border:2px solid var(--tc-border-strong);border-radius:4px;bottom:1.25rem;box-shadow:0 .5rem 1.25rem #1626141f;color:var(--tc-green-dark);cursor:pointer;font-family:var(--tc-font-body);font-size:.95rem;font-weight:600;left:1.25rem;padding:.55rem .85rem;position:absolute;z-index:5}.dev-save-recipe-btn:hover:not(:disabled){background:color-mix(in srgb,var(--tc-white) 96%,var(--tc-cream))}.dev-save-recipe-btn:disabled{cursor:not-allowed;opacity:.55}.place-order-menu{align-items:flex-end;display:flex;flex-direction:column;position:absolute;right:1.25rem;top:1.25rem;z-index:6}.place-order-menu__trigger{align-items:center;background:var(--tc-yellow);border:2px solid color-mix(in srgb,var(--tc-green-dark) 24%,var(--tc-yellow));border-radius:999px;box-shadow:0 .35rem 1rem color-mix(in srgb,var(--tc-green-dark) 12%,transparent);color:var(--tc-green-dark);display:inline-flex;font-family:var(--tc-font-body);font-size:.92rem;font-weight:700;gap:.35rem;letter-spacing:normal;padding:.55rem 1.05rem;text-transform:none}.place-order-menu__trigger:hover:not(:disabled){background:color-mix(in srgb,var(--tc-yellow) 90%,var(--tc-white));border-color:color-mix(in srgb,var(--tc-green-dark) 38%,var(--tc-yellow));box-shadow:0 .45rem 1.1rem color-mix(in srgb,var(--tc-green-dark) 16%,transparent);color:var(--tc-green-dark)}.place-order-menu__trigger:active:not(:disabled){box-shadow:0 .2rem .55rem color-mix(in srgb,var(--tc-green-dark) 10%,transparent);transform:translateY(1px)}.place-order-menu__chevron{font-size:.85em;line-height:1}.place-order-menu__panel{background:var(--tc-white);border:2px solid var(--tc-border-strong);border-radius:8px;box-shadow:0 .75rem 2rem #16261429;display:flex;flex-direction:column;margin-top:.45rem;max-height:min(70vh,32rem);overflow:hidden;width:var(--tc-scene-menu-width)}.place-order-menu__picker{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden;padding:.75rem}.place-order-menu__picker .gelato-print-picker-scroll{flex:1 1 auto;max-height:none;min-height:0}.place-order-menu__section{padding:.65rem .75rem 0}.place-order-menu__picker .gelato-print-picker__lead{display:none}.place-order-menu__section-label{color:var(--tc-green-dark);font-size:.78rem;font-weight:700;letter-spacing:.04em;margin:0 0 .35rem;text-transform:uppercase}.place-order-menu__size-grid{display:grid;gap:.35rem;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}.place-order-menu__size-item{display:contents}.place-order-menu__size-btn{line-height:1.25;min-height:3.6rem;padding-block:.45rem;white-space:normal;width:100%}.place-order-menu__types{display:grid;gap:.35rem;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:.15rem}.place-order-menu__type-btn{line-height:1.25;min-height:2.4rem;white-space:normal}.place-order-menu__empty{margin:0;padding:.75rem}.place-order-menu__footer{background:var(--tc-white);border-top:1px solid var(--tc-border);display:flex;flex-direction:column;gap:.5rem;padding:.75rem}.place-order-menu__export,.place-order-menu__checkout{width:100%}.app-shell--proof{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;height:100dvh;max-height:100dvh;min-height:0;overflow:hidden}.app-shell--proof-preview-open{overflow:hidden}.app-shell--proof+.site-footer{display:none}.proof-page-shell-pass-through{display:contents}.proof-page-shell-pass-through>div{display:contents}.proof-page-shell{background:var(--tc-cream);display:flex;flex:1 1 auto;flex-direction:column;gap:.45rem;min-height:0;overflow-x:hidden;overflow-y:auto;padding:calc(.45rem + env(safe-area-inset-top,0px)) 1rem .45rem}.proof-page-shell:not(.proof-page-shell--expanded){display:grid;gap:.4rem .85rem;grid-template-areas:"brand brand" "intro intro" "copy thumb";grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto minmax(0,auto)}.proof-page-shell--expanded{overflow:hidden;padding:0}.proof-page-shell__brand{align-items:center;color:var(--tc-green-dark);display:flex;font-family:var(--tc-font-body);gap:.5rem;grid-area:brand;line-height:1.1}.proof-page-shell__brand-name{font-size:clamp(1.35rem,4vw,1.55rem);font-weight:700;letter-spacing:.01em}.proof-page-shell__intro{align-items:flex-start;display:flex;flex-direction:column;gap:.3rem;grid-area:intro}.proof-page-shell__title{font-size:1.15rem;line-height:1.2;margin:0}.proof-page-shell__back{border-width:1px;box-shadow:none;font-family:var(--tc-font-body);font-size:.74rem;font-weight:600;letter-spacing:.01em;line-height:1.2;padding:.22rem .5rem;text-transform:none;white-space:nowrap}.proof-page-shell__back:active:not(:disabled){box-shadow:none;transform:translate(1px,1px)}.proof-page-shell__detail{display:contents}.proof-page-shell__copy{align-self:start;grid-area:copy;min-width:0}.proof-page-shell__product{color:var(--tc-muted, #4a5648);font-size:.92rem;line-height:1.45;margin:0}.proof-page-shell__hint{color:var(--tc-muted, #4a5648);font-size:.84rem;line-height:1.4;margin:.45rem 0 0}.proof-page-shell__canvas-host--thumb{align-self:start;background:var(--tc-white);border:2px solid var(--tc-border-strong);border-radius:4px;box-shadow:0 .25rem .65rem #16261414;cursor:pointer;grid-area:thumb;height:auto;max-height:6.5rem;max-width:5.25rem;min-height:0;min-width:0;overflow:hidden;touch-action:manipulation;width:5.25rem}.proof-page-shell__canvas-host--thumb:focus-visible{outline:2px solid var(--tc-green, #2d5a27);outline-offset:3px}.proof-page-shell__canvas-host--expanded{min-height:0}.proof-page-shell__canvas-host--thumb .scene-wrap{height:100%;min-height:0;padding:0;width:100%}.app-shell--proof.app-shell--touch{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;height:100dvh;max-height:100dvh;overflow:hidden}.app-shell--proof.app-shell--touch .scene-wrap--proof-thumbnail{background:transparent!important;justify-content:flex-start!important;max-height:100%!important;min-height:0!important;padding:0!important}.app-shell--proof .proof-page-shell:not(.proof-page-shell--expanded) .proof-page-shell__canvas-host:not(.proof-page-shell__canvas-host--thumb){display:none}.app-shell--proof .scene-wrap{display:flex;flex-direction:column;justify-content:flex-start;min-height:0;overflow:hidden}.app-shell--proof .scene-wrap--proof-thumbnail{background:transparent!important;border:0;box-shadow:none;cursor:inherit;flex:1 1 auto;max-height:100%;max-width:100%;min-height:0!important;touch-action:inherit}.app-shell--proof .scene-wrap--proof-thumbnail .scene-stage{align-items:center;display:flex;flex:1 1 auto;justify-content:center;min-height:0;overflow:hidden;pointer-events:none;touch-action:none}.app-shell--proof .scene-wrap--proof-thumbnail .scene-viewport--proof{align-items:center;display:flex;height:100%;justify-content:center;margin:0;max-height:100%;max-width:100%;padding:0;width:100%}.app-shell--proof .scene-wrap--proof-thumbnail .course-svg--proof{display:block;height:auto!important;max-height:100%;max-width:100%;pointer-events:none;width:auto!important}.app-shell--proof .scene-wrap--proof-expanded{background:var(--tc-white);cursor:grab;top:0;right:0;bottom:0;left:0;max-height:none;max-width:none;padding:calc(.5rem + env(safe-area-inset-top,0px)) .75rem calc(.75rem + env(safe-area-inset-bottom,0px));position:fixed;touch-action:none;z-index:50}.proof-preview-close{align-items:center;background:var(--tc-white);border:2px solid var(--tc-border-strong);border-radius:999px;box-shadow:0 .25rem .65rem #1626141f;color:var(--tc-ink, #162614);cursor:pointer;display:flex;font-family:var(--tc-font-body);font-size:1.35rem;font-weight:700;height:2.5rem;justify-content:center;line-height:1;min-width:2.5rem;padding:0;position:absolute;right:calc(.75rem + env(safe-area-inset-right,0px));top:calc(.5rem + env(safe-area-inset-top,0px));width:2.5rem;z-index:3}.proof-preview-close:focus-visible{outline:2px solid var(--tc-green, #2d5a27);outline-offset:2px}.app-shell--proof .scene-wrap--proof-expanded.scene-wrap--panning{cursor:grabbing}.app-shell--proof .scene-wrap--proof-expanded .scene-stage{flex:1 1 auto;min-height:0;overflow:hidden;touch-action:none}.app-shell--proof .scene-wrap--proof-expanded .proof-page-zoom{flex-shrink:0;margin:.35rem auto 0;position:relative;z-index:2}.app-shell--proof .scene-wrap--proof{cursor:grab;touch-action:none}.app-shell--proof .scene-wrap--proof-thumbnail.scene-wrap--proof{cursor:pointer;touch-action:manipulation}.app-shell--proof .scene-wrap--proof.scene-wrap--panning{cursor:grabbing}.app-shell--proof .scene-stage{flex:1 1 auto;min-height:0;overflow:hidden;touch-action:none}.app-shell--proof .scene-viewport--proof{left:auto;margin:0 auto;padding:.75rem 0 1.25rem;position:relative;top:auto;width:min(100%,56rem)}.app-shell--proof .course-svg--proof{display:block;height:auto!important;max-width:100%;pointer-events:none;width:100%!important}.proof-page-empty{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;margin:0 auto;max-width:28rem;min-height:40vh;padding:2rem 1.25rem;text-align:center}.proof-page-empty p{color:var(--tc-muted, #4a5648);margin:0}.proof-page-header{align-items:flex-start;background:var(--tc-white);border-bottom:1px solid var(--tc-border);display:flex;flex-shrink:0;flex-wrap:wrap;gap:.75rem 1rem;padding:.85rem 1.25rem;z-index:2}.proof-page-header__back{flex-shrink:0;white-space:nowrap}.proof-page-header h1{font-size:1.15rem;margin:0}.proof-page-header__copy p{color:var(--tc-muted, #4a5648);font-size:.92rem;margin:.15rem 0 0}.proof-page-header__layers{display:flex;flex-wrap:wrap;gap:.35rem}.proof-page-header__layer--active{background:color-mix(in srgb,var(--tc-green-light) 35%,white)}.proof-page-footer{background:var(--tc-white);border-top:1px solid var(--tc-border);display:flex;flex-direction:column;flex-shrink:0;gap:.55rem;min-height:0;overflow-y:auto;padding:.6rem 1.25rem calc(.6rem + env(safe-area-inset-bottom,0px));z-index:2}.proof-page-footer__hint{color:var(--tc-muted, #4a5648);font-size:.88rem;line-height:1.45;margin:0}.proof-page-footer__approve{align-items:start;background:color-mix(in srgb,var(--tc-white) 88%,var(--tc-green-light, #d8e8d4));border:1px solid var(--tc-border);border-radius:4px;cursor:pointer;display:grid;gap:.65rem;grid-template-columns:auto minmax(0,1fr);line-height:1.4;margin:0;padding:.55rem .75rem;width:100%}.proof-page-footer__approve input{height:1.1rem;margin-top:.2rem;width:1.1rem}.proof-page-footer__approve-text{display:block;font-size:.92rem;line-height:1.45;min-width:0}.proof-page-footer__checkout{font-size:.86rem;line-height:1.2;padding:.5rem .85rem;width:100%}.proof-page-footer__error{color:#9b1c1c;margin:0}@media(max-width:720px){.proof-page-shell{gap:.35rem .65rem;padding:calc(.4rem + env(safe-area-inset-top,0px)) .85rem .4rem}.proof-page-shell__intro{gap:.25rem}.proof-page-shell__title{font-size:1.05rem}.proof-page-shell__back{font-size:.72rem;padding:.2rem .45rem}.proof-page-shell__product{font-size:.86rem}.proof-page-shell__hint{font-size:.8rem}.proof-page-shell__canvas-host--thumb{max-height:5.75rem;max-width:4.75rem;width:4.75rem}.app-shell--proof .scene-wrap{min-height:0!important;order:0!important}.proof-page-footer{gap:.5rem;padding:.5rem .85rem calc(.55rem + env(safe-area-inset-bottom,0px))}.proof-page-footer__approve{padding:.7rem .75rem}.proof-page-footer__approve-text{font-size:.88rem}.proof-page-zoom{justify-self:stretch;justify-content:center}}.proof-page-zoom{align-items:center;background:color-mix(in srgb,var(--tc-white) 92%,transparent);border:2px solid var(--tc-border-strong);border-radius:4px;box-shadow:0 .35rem .85rem #1626141a;display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;justify-self:center;max-width:100%;padding:.35rem .45rem}.proof-page-zoom button{font-family:var(--tc-font-body);font-size:.88rem;font-weight:700;min-width:2rem;padding:.35rem .5rem;text-transform:none}.proof-page-zoom .scene-zoom-level{font-size:.78rem;min-width:2.75rem}.proof-page-loading{margin:2rem auto;text-align:center}.place-order-flow{top:0;right:0;bottom:0;left:0;position:fixed;z-index:40}.place-order-flow__backdrop{background:#121c1073;border:0;cursor:pointer;top:0;right:0;bottom:0;left:0;margin:0;padding:0;position:absolute}.place-order-flow__dialog{background:var(--tc-white);border:2px solid var(--tc-border-strong);border-radius:8px;box-shadow:0 1rem 2.5rem #1626142e;display:flex;flex-direction:column;left:50%;max-height:min(92vh,56rem);max-width:min(96vw,42rem);overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.place-order-flow__header{align-items:center;border-bottom:1px solid var(--tc-border);display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.25rem}.place-order-flow__header h2{font-size:1.15rem;margin:0}.place-order-flow__body{overflow:auto;padding:1rem 1.25rem 0}.place-order-flow__body--proof{display:flex;flex-direction:column;gap:.75rem}.place-order-flow__error{color:#9b1c1c;margin:0;padding:0 1.25rem}.place-order-flow__footer{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;padding:1rem 1.25rem 1.25rem}.place-order-flow__footer--proof{justify-content:space-between}.place-order-proof__meta{margin:0}.place-order-proof__hint{color:var(--tc-muted, #4a5648);font-size:.92rem;margin:0}.place-order-proof__frame{background:color-mix(in srgb,var(--tc-cream) 70%,white);border:1px solid var(--tc-border);border-radius:6px;max-height:min(48vh,28rem);overflow:auto;padding:.75rem}.place-order-proof__svg{display:block;height:auto;max-width:100%;width:100%}.scene-stage{flex:1 1 auto;min-height:0;min-width:0;overflow:hidden;overscroll-behavior:none;position:relative;touch-action:none;width:100%}.scene-viewport{backface-visibility:hidden;left:0;line-height:0;position:absolute;top:0;touch-action:none;transform-origin:0 0;-webkit-backface-visibility:hidden}.scene-wrap--transforming .scene-viewport{will-change:transform}.scene-wrap--touch.scene-wrap--transforming .course-svg{box-shadow:none}.scene-zoom-controls{align-items:center;background:color-mix(in srgb,var(--tc-white) 92%,transparent);border:2px solid var(--tc-border-strong);border-radius:4px;bottom:1.25rem;box-shadow:0 .5rem 1.25rem #1626141f;display:flex;gap:.45rem;padding:.45rem .6rem;position:absolute;right:1.25rem;z-index:5}.scene-zoom-controls button{font-family:var(--tc-font-body);font-size:.92rem;font-weight:700;min-width:2.25rem;padding:.45rem .65rem;text-transform:none}.scene-zoom-level{color:var(--tc-gray);font-size:.8rem;font-weight:700;min-width:3rem;text-align:center}.course-svg{background:#fff;box-shadow:0 2rem 5rem #16261438;cursor:default;display:block;touch-action:none}.course-svg [data-canvas-background=true]{cursor:default}.canvas-touch-hint{color:color-mix(in srgb,var(--tc-gray) 88%,var(--tc-green-dark));font-size:.82rem;line-height:1.45;margin:.35rem 0 0}.crop-polygon-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin:.65rem 0 .45rem}.crop-polygon-actions .primary-button,.crop-polygon-actions .secondary-button{flex:1 1 calc(33.333% - .45rem);min-width:min(5.5rem,100%);padding:.55rem .85rem}.crop-polygon-guide{margin:0 0 .75rem}.crop-polygon-guide__title{color:var(--tc-green-dark);font-size:.88rem;font-weight:700;margin:0 0 .45rem}.crop-polygon-steps{color:color-mix(in srgb,var(--tc-gray) 88%,var(--tc-green-dark));font-size:.82rem;line-height:1.5;margin:0;padding-left:1.2rem}.crop-polygon-steps li+li{margin-top:.35rem}.canvas-touch-tool-actions{align-items:stretch;flex-direction:column}.scene-wrap--touch .transform-handle circle,.scene-wrap--touch .crop-edit-handle{stroke-width:2px}.transform-handle.move-handle circle:not(.transform-handle-hit),.crop-edit-handle.crop-move-handle{fill:var(--tc-yellow);stroke:color-mix(in srgb,var(--tc-green-dark) 35%,var(--tc-yellow));stroke-width:2px}.transform-handle-hit{fill:transparent;stroke:none}.draggable-drawing,.draggable-text{cursor:pointer;-webkit-user-select:none;user-select:none}.draggable-drawing--selected,.draggable-text--selected{cursor:grab}.draggable-drawing--selected:active,.draggable-text--selected:active{cursor:grabbing}.crop-drawing,.crop-drawing .draggable-drawing,.crop-drawing .draggable-text{cursor:crosshair}.course-svg.crop-drawing .course-layer,.course-svg.crop-drawing .user-shot-paths-layer,.course-svg.crop-drawing .title-layer,.course-svg.crop-drawing .score-layer,.course-svg.crop-drawing .canvas-free-text-layer,.course-svg.crop-drawing .crop-overlay,.course-svg.crop-drawing .crop-edit-overlay{pointer-events:none}.course-svg.crop-drawing--polygon .crop-close-node{pointer-events:auto}.scene-wrap--polygon-crop,.scene-wrap--polygon-crop .course-svg.crop-drawing--polygon,.scene-wrap--polygon-crop .course-svg.crop-drawing--polygon *{cursor:crosshair}.scene-wrap--polygon-crop .course-svg.crop-drawing--polygon .crop-close-node{cursor:pointer}.scene-wrap--polygon-crop.scene-wrap--space-pan,.scene-wrap--polygon-crop.scene-wrap--space-pan .course-svg.crop-drawing--polygon,.scene-wrap--polygon-crop.scene-wrap--space-pan .course-svg.crop-drawing--polygon *,.crop-drawing--polygon,.crop-drawing--polygon *{cursor:crosshair}.crop-drawing--polygon .crop-close-node{cursor:pointer}.scene-wrap--shot-draw,.scene-wrap--shot-draw .course-svg.crop-drawing--shot,.scene-wrap--shot-draw .course-svg.crop-drawing--shot *,.scene-wrap--shot-draw.scene-wrap--space-pan,.scene-wrap--shot-draw.scene-wrap--space-pan .course-svg.crop-drawing--shot,.scene-wrap--shot-draw.scene-wrap--space-pan .course-svg.crop-drawing--shot *,.crop-drawing--shot,.crop-drawing--shot *{cursor:crosshair}.crop-overlay polygon,.crop-overlay rect,.crop-overlay ellipse{fill:color-mix(in srgb,var(--tc-yellow) 18%,transparent);stroke:var(--tc-yellow);stroke-width:1;vector-effect:non-scaling-stroke}.crop-overlay polyline{fill:none;stroke:var(--tc-yellow);stroke-linecap:round;stroke-linejoin:round;stroke-width:1;vector-effect:non-scaling-stroke}.crop-overlay circle{fill:var(--tc-yellow);stroke:none}.crop-overlay .crop-close-node{cursor:pointer;fill:var(--tc-yellow)}.crop-edit-overlay{pointer-events:none}.crop-edit-overlay .crop-edit-handle{pointer-events:auto}.crop-edit-overlay .crop-edit-handle--vertex{cursor:grab}.crop-edit-overlay .crop-edit-handle--vertex:active{cursor:grabbing}.crop-edit-overlay polygon,.crop-edit-overlay rect,.crop-edit-overlay ellipse{fill:color-mix(in srgb,var(--tc-yellow) 10%,transparent);pointer-events:none;stroke:var(--tc-yellow);stroke-width:1;vector-effect:non-scaling-stroke}.crop-move-handle{opacity:.95;stroke:color-mix(in srgb,var(--tc-yellow) 72%,var(--tc-green-dark));stroke-width:1}.course-transform-controls{pointer-events:none}.course-transform-controls rect,.course-transform-controls ellipse,.course-transform-controls polygon,.course-transform-controls line{stroke:var(--tc-yellow);stroke-width:1;vector-effect:non-scaling-stroke}.course-transform-controls rect,.course-transform-controls ellipse,.course-transform-controls polygon{fill:color-mix(in srgb,var(--tc-yellow) 8%,transparent)}.transform-handle{pointer-events:auto}.transform-handle.move-handle,.crop-edit-handle.crop-move-handle{cursor:grab}.transform-handle.rotate-handle{cursor:url(/icons/cursor-rotate.svg) 10 10,grab}.transform-handle.rotate-handle:active{cursor:url(/icons/cursor-rotate.svg) 10 10,grabbing}.transform-handle.scale-handle--nwse,.crop-edit-handle.scale-handle--nwse{cursor:url(/icons/cursor-scale-nwse.svg) 10 10,nwse-resize}.transform-handle.scale-handle--nesw,.crop-edit-handle.scale-handle--nesw{cursor:url(/icons/cursor-scale-nesw.svg) 10 10,nesw-resize}.crop-edit-handle.scale-handle--ew{cursor:url(/icons/cursor-scale-ew.svg) 10 10,ew-resize}.transform-handle.scale-handle--nwse:active,.crop-edit-handle.scale-handle--nwse:active{cursor:url(/icons/cursor-scale-nwse.svg) 10 10,nwse-resize}.transform-handle.scale-handle--nesw:active,.crop-edit-handle.scale-handle--nesw:active{cursor:url(/icons/cursor-scale-nesw.svg) 10 10,nesw-resize}.crop-edit-handle.scale-handle--ew:active{cursor:url(/icons/cursor-scale-ew.svg) 10 10,ew-resize}.transform-handle.move-handle:active,.crop-edit-handle.crop-move-handle:active{cursor:grabbing}.transform-handle circle:not(.transform-handle-hit),.transform-handle rect,.crop-edit-handle{fill:var(--tc-yellow);pointer-events:auto;stroke:none;vector-effect:non-scaling-stroke}.transform-handle circle.transform-handle-hit{fill:transparent;pointer-events:auto;stroke:none}.empty-scene-wrap{align-items:center;display:flex;flex:1 1 auto;justify-content:center;min-height:0;width:100%}.empty-scene{background:#ffffffbd;border:1px solid rgba(255,255,255,.9);border-radius:20px;color:var(--tc-gray);max-width:34rem;padding:2rem;text-align:center;width:min(34rem,calc(100% - 1rem))}.empty-scene h2{margin:0 0 .5rem}.empty-scene p{margin:0}.empty-scene__actions{display:flex;justify-content:center;margin-top:1.25rem}.scene-wrap--empty{align-items:center}.app-shell--draw:not(.app-shell--touch) .scene-wrap--empty{min-height:100vh}.settings-grid{display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.button-row{display:grid;gap:.5rem;grid-template-columns:repeat(4,1fr)}.button-row button{background:color-mix(in srgb,var(--tc-green-light) 32%,var(--tc-white));color:var(--tc-green-dark);font-size:.78rem;padding-inline:.45rem}.layer-button-row{grid-template-columns:1fr 1fr}.crop-geometry-row{grid-template-columns:repeat(3,1fr)}.course-layer-actions-row{grid-template-columns:repeat(2,1fr)}.course-layer-actions-row--editing{grid-template-columns:repeat(3,1fr)}.crop-icon-button{align-items:center;display:inline-flex;justify-content:center;text-transform:none}.crop-action-letter{font-size:1.1rem;font-weight:700;line-height:1}.crop-tool-icon{block-size:1.1rem;inline-size:1.1rem}.visually-hidden{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.secondary-button{background:color-mix(in srgb,var(--tc-green-light) 32%,var(--tc-white));color:var(--tc-green-dark);transition:background .14s ease,border-color .14s ease,color .14s ease}.secondary-button:hover:not(:disabled),.button-row button:hover:not(:disabled):not(.active-tool-button){background:var(--tc-green-dark);border-color:color-mix(in srgb,var(--tc-yellow) 55%,var(--tc-green-dark));color:var(--tc-white)}.button-row button.active-tool-button{background:var(--tc-yellow);border-color:color-mix(in srgb,var(--tc-green-dark) 55%,var(--tc-yellow));color:var(--tc-green-dark)}.active-tool-button{background:var(--tc-yellow);border-color:color-mix(in srgb,var(--tc-green-dark) 55%,var(--tc-yellow));color:var(--tc-green-dark);transition:background .14s ease,border-color .14s ease,color .14s ease}.active-tool-button:hover:not(:disabled),.button-row button.active-tool-button:hover:not(:disabled){background:var(--tc-green-dark);border-color:color-mix(in srgb,var(--tc-yellow) 55%,var(--tc-green-dark));color:var(--tc-white)}.gelato-print-picker-scroll{-webkit-overflow-scrolling:touch;max-height:min(52vh,26rem);min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-right:.15rem;scrollbar-gutter:stable}#canvas-size .panel-tray__body{display:flex;flex-direction:column;min-height:0}.app-shell--draw:not(.app-shell--touch) #canvas-size .gelato-print-picker-scroll{max-height:min(calc(100vh - 14rem),34rem)}.gelato-print-picker{display:grid;gap:.65rem}.gelato-print-picker button.gelato-print-picker__option--selected{background:var(--tc-green-dark);border-color:color-mix(in srgb,var(--tc-yellow) 55%,var(--tc-green-dark));color:var(--tc-white)}.gelato-print-picker button.gelato-print-picker__option--selected:hover:not(:disabled){background:var(--tc-green-dark);border-color:color-mix(in srgb,var(--tc-yellow) 55%,var(--tc-green-dark));color:var(--tc-white)}.gelato-print-picker__lead{color:var(--tc-gray);font-size:.78rem;line-height:1.35;margin:0}.gelato-print-picker__label{color:var(--tc-green-dark);font-size:.72rem;font-weight:600;letter-spacing:.04em;margin:0;text-transform:uppercase}.gelato-print-picker__empty{color:var(--tc-gray);font-size:.8rem;margin:0}.gelato-print-picker__categories,.gelato-print-picker__sizes,.gelato-print-picker__options,.gelato-print-picker__types{grid-template-columns:repeat(2,minmax(0,1fr))}.gelato-print-picker__sizes button{line-height:1.25;min-height:3.6rem;padding-block:.45rem;white-space:normal}.gelato-print-picker__size-label{align-items:center;display:flex;flex-direction:column;gap:.12rem;width:100%}.gelato-print-picker__size-name{font-size:.88rem;font-weight:700;line-height:1.2}.gelato-print-picker__size-units{font-size:.78rem;font-weight:400;line-height:1.2}.gelato-print-picker__types button,.gelato-print-picker__options button{line-height:1.25;min-height:2.4rem;white-space:normal}.gelato-print-picker__summary{color:var(--tc-gray);font-size:.78rem;line-height:1.35;margin:0}.hint-text{color:color-mix(in srgb,var(--tc-gray) 88%,var(--tc-cream));font-size:.82rem;line-height:1.35;margin:-.45rem 0 0}.checkbox-row{align-items:center;display:flex;gap:.6rem}.checkbox-row input{inline-size:auto}.style-list{display:grid;gap:.65rem}.style-row{align-items:center;display:grid;gap:.35rem .4rem;grid-template-columns:minmax(4.5rem,1fr) minmax(0,auto);min-width:0}.style-row.style-row-canvas-background{grid-template-columns:1fr auto}.style-row-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.3rem;justify-content:flex-end;min-width:0}.style-row span{font-size:.88rem;font-weight:700;min-width:0;text-transform:capitalize}.panel-color-match-btn{background:#fff;border:1px solid #c4cdc0;border-radius:5px;color:#3d4a3a;cursor:pointer;flex-shrink:0;font-size:.72rem;font-weight:700;height:1.65rem;line-height:1;min-height:1.65rem;min-width:1.65rem;padding:0;width:1.65rem}.panel-color-match-btn:hover:not(:disabled){background:#f0f3ec}.panel-color-match-btn:disabled{cursor:default;opacity:.4}.app-shell--draw.app-shell--touch .style-row:not(.style-row-canvas-background){align-items:stretch;gap:.28rem 0;grid-template-columns:1fr}.app-shell--draw.app-shell--touch .style-row:not(.style-row-canvas-background)>span{font-size:.82rem;line-height:1.25}.app-shell--draw.app-shell--touch .style-row-controls{gap:.28rem;justify-content:flex-start}.app-shell--draw.app-shell--touch .style-row-controls .select-outline-line-type{font-size:.62rem;max-width:5rem;padding-inline:.2rem;width:5rem}.app-shell--draw.app-shell--touch .style-row-controls .select-outline-dash-scale{font-size:.62rem;width:2.45rem}.app-shell--draw.app-shell--touch .style-row-controls .select-stroke-width{font-size:.62rem;width:2.15rem}.panel-text-block{border:1px solid #dfe7d7;border-radius:12px;display:grid;gap:.75rem;padding:.85rem .95rem}.panel-text-block-disabled{opacity:.55;pointer-events:none}.panel-font-family-stack{display:grid;gap:.45rem}.select-full-width{width:100%}.panel-square-select-grid{align-items:end}.panel-square-select-row{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem}select.select-square-block{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(145deg,rgba(255,255,255,.35),transparent);border:1px solid #b8c4b0;border-radius:10px;box-shadow:inset 0 0 0 1px #fff3;cursor:pointer;font-size:.68rem;font-weight:800;height:3.25rem;line-height:1.1;min-height:3.25rem;padding:.25rem;text-align:center;width:3.25rem}select.select-stroke-width{border-radius:8px;font-size:.68rem;font-weight:700;height:1.65rem;min-height:1.65rem;padding:.15rem .25rem;text-align:center;width:2.35rem}select.select-outline-line-type{border-radius:8px;font-size:.68rem;font-weight:700;height:1.65rem;min-height:1.65rem;max-width:6.5rem;padding:.15rem .35rem;width:6.5rem}select.select-outline-dash-scale{border-radius:8px;font-size:.68rem;font-weight:700;height:1.65rem;min-height:1.65rem;padding:.15rem .25rem;text-align:center;width:2.75rem}select.select-outline-dash-scale:disabled{cursor:not-allowed;opacity:.45}.panel-color-picker{display:inline-flex;position:relative}.panel-color-swatch{border-radius:6px;cursor:pointer;flex-shrink:0;height:1.65rem;min-height:1.65rem;min-width:1.65rem;padding:0;width:1.65rem}.panel-color-swatch:disabled{cursor:not-allowed;opacity:.45}.panel-color-swatch--fill{background:var(--panel-swatch-color, #c9d2c4);border:1px solid rgba(0,91,0,.28);box-shadow:inset 0 0 0 1px #ffffff40}.panel-color-swatch--outline{background:#fff;border:2px solid var(--panel-swatch-color, var(--tc-gray));box-shadow:inset 0 0 0 1px #0000000f}.panel-color-popover{background:#fff;border:1px solid #c9d2c4;border-radius:10px;box-shadow:0 .65rem 1.5rem #005b002e;display:grid;gap:.45rem;padding:.55rem}.panel-color-popover--portal{position:fixed;z-index:10000}.panel-color-wheel{border:1px solid #b8c4b0;border-radius:6px;cursor:pointer;height:2rem;padding:0;width:100%}.panel-color-text-input{border:1px solid #c9d2c4;border-radius:8px;font-family:ui-monospace,monospace;font-size:.78rem;font-weight:600;padding:.4rem .5rem;width:100%}.panel-color-preset-grid{display:grid;gap:.3rem;grid-template-columns:repeat(6,1fr)}.panel-color-preset-swatch{aspect-ratio:1;border:1px solid rgba(0,91,0,.2);border-radius:4px;cursor:pointer;min-height:0;min-width:0;padding:0;width:100%}.panel-color-preset-swatch[aria-selected=true]{box-shadow:0 0 0 2px var(--tc-green-dark);outline:none}.panel-score-table-wrap{max-height:min(22rem,52vh);overflow:auto;width:100%}.export-button{margin-top:.35rem;width:100%}.app-shell--draw .scene-wrap{padding:1.15rem}.score-editor-table{border-collapse:collapse;font-size:.82rem;width:100%}.score-editor-table td{border:1px solid #c9d2c4;padding:.15rem;text-align:center;vertical-align:middle}.score-editor-table td:first-child{text-align:right}.score-editor-table input{border:0;border-radius:6px;min-width:3.5rem;padding:.4rem .45rem;text-align:inherit;width:100%}.score-editor-panel-root{margin-top:.35rem}.score-editor-canvas-hint{margin-bottom:.55rem}.score-edit-focus-badge{background:#e8f0e4;border:1px solid #c4cdc0;border-radius:6px;color:#2a3329;font-size:.82rem;font-weight:600;margin:0;padding:.45rem .55rem}.score-edit-focus-empty{margin:0}.score-foreign-cell-wrap{height:100%;width:100%}.score-foreign-cell-wrap--focused{outline:2px solid rgba(65,112,80,.85);outline-offset:-2px}.score-cell-rich--canvas-focused{min-height:0}.score-editor-hint{font-size:.8rem;line-height:1.35;margin-bottom:.45rem}.score-format-toolbar{align-items:stretch;background:linear-gradient(180deg,#fafbf8,#f1f4ec);border:1px solid #d5dccf;border-radius:8px;box-shadow:inset 0 1px #ffffffa6;display:grid;gap:.4rem .55rem;grid-template-columns:minmax(0,1.35fr) minmax(4.75rem,auto) minmax(6.5rem,1.05fr);margin-bottom:.55rem;padding:.5rem .55rem .45rem}.score-toolbar-group{display:flex;flex-direction:column;gap:.22rem;justify-content:flex-end;min-width:0}.score-toolbar-label{color:#4a5548;font-size:.65rem;font-weight:600;letter-spacing:.03em;line-height:1.2;text-transform:uppercase}.score-toolbar-font-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background-color:#fff;border:1px solid #b8c4b0;border-radius:6px;color:#1f241e;font-size:.78rem;font-weight:500;height:2.05rem;line-height:1.2;max-width:100%;padding:.2rem .4rem;width:100%}.score-toolbar-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background-color:#fff;border:1px solid #b8c4b0;border-radius:6px;color:#1f241e;font-size:.76rem;font-weight:600;height:2.05rem;line-height:1.2;min-width:4.75rem;padding:.2rem .35rem;text-align:center;width:100%}.score-toolbar-group--color{max-width:100%}.score-toolbar-color-row{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem}.score-toolbar-reset-color{background:#fff;border:1px solid #c4cdc0;border-radius:5px;color:#3d4a3a;cursor:pointer;flex-shrink:0;font-size:.68rem;font-weight:600;line-height:1.2;padding:.35rem .45rem;white-space:nowrap}.score-toolbar-reset-color:hover:not(:disabled){background:#f0f3ec}.score-toolbar-reset-color:disabled{cursor:not-allowed;opacity:.45}.score-toolbar-color-wrap .panel-color-swatch{height:1.5rem;min-height:1.5rem;min-width:1.5rem;width:1.5rem}.score-toolbar-group.score-toolbar-align{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:.4rem .55rem;justify-content:flex-start}.score-toolbar-align{border-top:1px solid #dde3d6;grid-column:1 / -1;margin:.1rem 0 0;padding-top:.45rem}.score-toolbar-align .score-toolbar-label{flex-shrink:0;margin-right:.15rem}.score-toolbar-align .score-align-buttons{display:flex;flex-wrap:wrap;gap:.25rem}.score-align-button{background:#fff;border:1px solid #c4cdc0;border-radius:5px;color:#2c332b;cursor:pointer;font-size:.7rem;font-weight:700;line-height:1;min-height:1.85rem;min-width:1.75rem;padding:.3rem .4rem}.score-align-button:hover:not(:disabled){background:#e8ede4}.score-align-button:disabled{cursor:not-allowed;opacity:.45}.score-cell-rich{background:#fff;border:0;border-radius:5px;font-size:.8rem;line-height:1.35;min-height:1.95rem;min-width:2.75rem;outline:none;padding:.32rem .4rem;text-align:inherit;width:100%}.score-cell-rich:focus{box-shadow:0 0 0 2px #41705059}.canvas-free-text-textarea{-webkit-tap-highlight-color:transparent;-webkit-user-modify:read-write;-webkit-user-select:text;background:transparent;border-radius:0;cursor:text;min-height:0;touch-action:manipulation;user-select:text}.canvas-free-text-layer .score-cell-rich,.canvas-free-text-textarea.score-cell-rich{background:transparent;border-radius:0;min-height:0}.canvas-free-text-layer .score-cell-rich:focus,.canvas-free-text-textarea.score-cell-rich:focus{box-shadow:none}.canvas-free-text-textarea:focus{box-shadow:none}.canvas-free-text-textarea--touch{background:transparent;border:0;display:block;min-height:1.5rem}.canvas-free-text-layer foreignObject{overflow:visible}.canvas-free-text-fo-wrap{background:transparent;box-sizing:border-box;height:100%;pointer-events:auto;transform:translateZ(0);width:100%}.canvas-free-text-fo-wrap--readonly{pointer-events:none}.canvas-free-text-touch-overlay{border:2px solid #d4a20c;box-sizing:border-box;pointer-events:auto;touch-action:manipulation;z-index:18}.canvas-free-text-touch-overlay__inner{height:100%}.canvas-title-editor{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;height:100%;justify-content:flex-start;pointer-events:auto;width:100%}.canvas-title-editor textarea{background:transparent;border:0;box-sizing:border-box;line-height:1;margin:0;outline:none;overflow:hidden;padding:0;resize:none;text-align:center;width:100%}.canvas-title-editor textarea:focus{box-shadow:0 0 0 2px #ffd70059}.score-layout-interactive-line{pointer-events:none;stroke:#005b0061;stroke-width:1.35;vector-effect:non-scaling-stroke}.score-layout-interactive-line--subtle{stroke:#005b0042;stroke-dasharray:4 5;stroke-width:1.15}.score-layout-interactive-line--vertical.score-layout-interactive-line--prominent{stroke:#005b00ad;stroke-dasharray:none;stroke-width:3.1}.score-layout-interactive-line--vertical.score-layout-interactive-line--subtle{stroke:#005b0073;stroke-dasharray:none;stroke-width:1.95}.score-layout-interactive-line--horizontal.score-layout-interactive-line--prominent{stroke:#005b009e;stroke-dasharray:none;stroke-width:2.85}.score-layout-interactive-line--horizontal.score-layout-interactive-line--subtle{stroke:#005b0042;stroke-dasharray:4 5;stroke-width:1.15}.score-layout-interactive-line--selected{stroke:var(--tc-yellow)!important;stroke-dasharray:none!important;stroke-width:2.75!important}.score-layout-line-hit{cursor:default;fill:#ffd70012;pointer-events:auto;stroke:none;touch-action:none}.score-layer foreignObject.score-fo-interactive{pointer-events:none}.score-layer foreignObject.score-fo-interactive .score-foreign-cell-wrap{pointer-events:auto}.score-layout-line-hit--vertical{cursor:col-resize}.score-layout-line-hit--vertical:hover{fill:#ffd70038}.score-layout-line-hit--horizontal{cursor:ns-resize}.score-layout-line-hit--horizontal:hover{fill:#ffd70038}.canvas-free-text-style-bar{border-top:1px solid #dde3d6;margin-top:.35rem;padding-top:.45rem}.canvas-free-text-style-toggle[aria-pressed=true]{background:linear-gradient(180deg,#e5ede0,#d4dfcc);border-color:#7a9470;box-shadow:inset 0 1px #ffffffbf}.home-mode-toggle{background:color-mix(in srgb,var(--tc-cream) 55%,transparent);border:1px solid color-mix(in srgb,var(--tc-green-dark) 14%,transparent);border-radius:999px;display:inline-flex;flex-shrink:0;gap:.2rem;padding:.28rem}.home-mode-toggle__btn{background:transparent;border:none;border-radius:999px;box-shadow:none;color:color-mix(in srgb,var(--tc-gray) 90%,var(--tc-green-dark));font-family:var(--tc-font-body);font-size:.9rem;font-weight:600;letter-spacing:normal;padding:.55rem 1.05rem;text-transform:none;transition:background .14s ease,box-shadow .14s ease,color .14s ease}.home-mode-toggle__btn:hover:not(:disabled){background:color-mix(in srgb,var(--tc-white) 55%,transparent);color:var(--tc-green-dark)}.home-mode-toggle__btn:active:not(:disabled){box-shadow:none;transform:none}.home-mode-toggle__btn--active{background:color-mix(in srgb,var(--tc-white) 85%,transparent);box-shadow:0 1px 4px color-mix(in srgb,var(--tc-green-dark) 14%,transparent);color:var(--tc-green-dark)}.home-mode-toggle__btn--active:hover:not(:disabled){background:var(--tc-white);color:var(--tc-green-dark)}.app-shell--search .panel-search:has(.round-import-panel){max-width:72rem;width:min(calc(100vw - 3rem),72rem)}.round-filters{display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.file-upload-label input[type=file]{margin-top:.35rem;width:100%}.file-upload-name{color:var(--tc-gray);font-size:.88rem;margin:0}.round-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}.round-card{align-items:center;background:color-mix(in srgb,var(--tc-green-light) 18%,var(--tc-white));border:2px solid var(--tc-border);border-radius:4px;box-shadow:2px 2px color-mix(in srgb,var(--tc-green-dark) 8%,transparent);color:inherit;display:grid;font-family:var(--tc-font-body);gap:.5rem;grid-template-columns:1fr auto;letter-spacing:normal;padding:.85rem 1rem;text-align:left;text-transform:none;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}.round-card:hover:not(:disabled){background:var(--tc-green-dark);border-color:color-mix(in srgb,var(--tc-yellow) 55%,var(--tc-green-dark));box-shadow:var(--tc-shadow);color:var(--tc-white)}.round-card-meta{display:grid;gap:.2rem}.round-card-date{color:var(--tc-gray);font-size:.82rem;transition:color .18s ease}.round-card-facility{font-size:.95rem;transition:color .18s ease}.round-card-course{color:var(--tc-gray);font-size:.88rem;transition:color .18s ease}.round-card-shots{color:var(--tc-gray);font-size:.8rem;transition:color .18s ease}.round-card-score{font-size:2rem;font-weight:800;line-height:1;min-width:2.5rem;text-align:center;transition:color .18s ease}.round-card:hover:not(:disabled) .round-card-facility,.round-card:hover:not(:disabled) .round-card-score{color:var(--tc-white)}.round-card:hover:not(:disabled) .round-card-date,.round-card:hover:not(:disabled) .round-card-course,.round-card:hover:not(:disabled) .round-card-shots{color:color-mix(in srgb,var(--tc-green-light) 88%,var(--tc-white))}.round-grid-empty,.osm-match-empty{color:var(--tc-gray);font-size:.92rem}.osm-match-panel{display:grid;gap:.75rem}.osm-match-intro{color:var(--tc-gray);font-size:.92rem;margin:0}.osm-match-section{display:grid;gap:.5rem}.osm-match-section-title{color:var(--tc-green-dark);font-size:.95rem;font-weight:700;margin:0}.osm-match-hint{color:var(--tc-gray);font-size:.88rem;margin:0}.osm-match-card{align-items:center;display:grid;gap:.5rem .75rem;grid-template-columns:auto 1fr auto;text-align:left}.osm-match-card--strong{background:#f2f8ef}.osm-match-card--selected{border-color:var(--tc-green-dark);box-shadow:0 0 0 2px #005b0040}.osm-match-card-body{display:grid;gap:.15rem}.osm-match-rank{color:var(--tc-gray);font-size:.85rem;font-weight:700}.osm-match-badge{border-radius:999px;font-size:.72rem;font-weight:700;padding:.2rem .55rem;white-space:nowrap}.osm-match-badge--suggested{background:#e8f0e4;color:var(--tc-green-dark)}.osm-match-badge--selected{background:var(--tc-green-dark);color:#fff}.osm-match-score{color:var(--tc-gray);font-size:.82rem}.osm-match-actions{display:flex;flex-wrap:wrap;gap:.5rem}.shots-layer{pointer-events:none}.shots-layer .shot-segment line{pointer-events:none}.shot-draw-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.shot-draw-hint{margin:0 0 .75rem;font-size:.85rem;color:var(--muted-text, #5a5a5a)}.shot-draw-hint--inline{grid-column:1 / -1;margin:0 0 .35rem}.shot-draw-overlay{pointer-events:none}.shot-draw-overlay polyline{vector-effect:non-scaling-stroke}.shot-path-panel{margin:.5rem 0 .75rem;padding:.65rem .75rem;border:1px solid rgba(0,0,0,.12);border-radius:6px;background:#00000008}.shot-path-panel--editing{border-color:#c41e3a59;background:#c41e3a0f}.shot-path-panel-summary{margin:0 0 .5rem;font-size:.88rem}.user-shot-paths-layer{pointer-events:auto}.user-shot-path-hit-stroke{cursor:pointer;pointer-events:stroke}.user-shot-path-hit-stroke--selected{cursor:pointer}.user-shot-path-selection-line{pointer-events:none;opacity:.85}.user-shot-path-edit-line{pointer-events:none}.user-shot-path-handle{cursor:grab;fill:#fff;stroke:currentColor;stroke-width:2px;vector-effect:non-scaling-stroke}.user-shot-path-handle--selected{cursor:grab;fill:currentColor;stroke:#fff;stroke-width:2px}.user-shot-path-edit .user-shot-path-edit-line{color:var(--shot-edit-color, #c41e3a);stroke:currentColor}.user-shot-path-edit .user-shot-path-handle{color:var(--shot-edit-color, #c41e3a)}.user-shot-path-segment-hit{cursor:copy;pointer-events:stroke}.user-shot-path-add-handle{cursor:copy;fill:#fff;stroke:currentColor;stroke-width:2px;vector-effect:non-scaling-stroke;color:var(--shot-edit-color, #c41e3a)}.user-shot-path-add-handle--armed{fill:#c41e3a33;stroke-width:2.5px}.user-shot-path-segment-tools{pointer-events:auto}@media(max-width:1100px){.app-shell,.app-shell--draw,.app-shell--draw.app-shell--text-editor-focus,.app-shell.app-shell--text-editor-focus{grid-template-columns:1fr;grid-template-rows:auto auto;overflow:auto}.panel{max-height:none}.scene-wrap{min-height:58vh;order:-1}.app-shell--draw .scene-wrap,.app-shell--draw.app-shell--text-editor-focus .scene-wrap{min-height:52vh;order:0}.app-shell--draw .panel-right,.app-shell--draw.app-shell--text-editor-focus .panel-right{border-left:none;border-top:2px solid var(--tc-border);max-height:min(42vh,24rem);order:1;width:100%}.app-shell--draw:not(.app-shell--touch) #canvas-size .gelato-print-picker-scroll{max-height:min(calc(42vh - 5rem),20rem)}.top-courses-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.app-shell--draw.app-shell--touch{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);height:100vh;height:100dvh;overflow:hidden;touch-action:none}.app-shell--draw.app-shell--touch .scene-wrap{justify-content:flex-start;max-height:none;min-height:0;order:0;padding:calc(.65rem + var(--tc-touch-top-chrome) + env(safe-area-inset-top,0px)) .65rem calc(.65rem + var(--tc-touch-pill-row-height) + var(--tc-touch-bottom-gap) + var(--tc-touch-footer-height))}.app-shell--draw.app-shell--touch .scene-stage{flex:1 1 auto;min-height:0}.app-shell--draw.app-shell--touch .scene-wrap.scene-wrap--tool-drawing,.app-shell--draw.app-shell--touch .scene-wrap.scene-wrap--tool-drawing .course-svg.crop-drawing{touch-action:none}.app-shell--draw.app-shell--touch .panel-right--touch-sheet-closed{display:none}.app-shell--draw.app-shell--touch .panel-right--touch-sheet-open{align-content:start;background:var(--tc-white);border:2px solid var(--tc-border-strong);border-radius:8px;bottom:calc(var(--tc-touch-control-bottom) + var(--tc-touch-pill-row-height) + var(--tc-touch-bottom-gap));box-shadow:0 .75rem 2rem #16261429;display:grid;grid-template-rows:auto minmax(0,1fr);left:calc(var(--tc-touch-bar-inset-inline) + env(safe-area-inset-left,0px));max-height:min(52vh,26rem);min-height:0;order:unset;overflow:hidden;padding:0;position:fixed;right:auto;width:var(--tc-scene-menu-width);z-index:20}.app-shell--draw.app-shell--touch .panel-right--touch-sheet-open .panel-right-default,.app-shell--draw.app-shell--touch .panel-right--touch-sheet-open .panel-right-text-focus{-webkit-overflow-scrolling:touch;gap:1.25rem;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0 1rem 1rem}.app-shell--draw.app-shell--touch .panel-right--touch-sheet-open .panel-right-default:has(#canvas-size){display:flex;flex-direction:column;overflow:hidden}.app-shell--draw.app-shell--touch .panel-right--touch-sheet-open #canvas-size.panel-tray--bare,.app-shell--draw.app-shell--touch .panel-right--touch-sheet-open #canvas-size .panel-tray__body{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}.app-shell--draw.app-shell--touch .panel-right--touch-sheet-open #canvas-size .gelato-print-picker-scroll{flex:1 1 auto;max-height:none;min-height:0}.app-shell--draw.app-shell--touch .panel-right--touch-sheet-open .panel-tray--bare{border:none;border-radius:0}.app-shell--draw.app-shell--touch .panel-right--touch-sheet-open .panel-tray--bare .panel-tray__body{border-top:none;padding:0}.app-shell--draw.app-shell--touch .panel-right-text-focus--touch-sheet>h2{display:none}.scene-touch-pill{background:color-mix(in srgb,var(--tc-white) 96%,var(--tc-cream));border:2px solid var(--tc-border-strong);border-radius:999px;box-shadow:0 .5rem 1.5rem color-mix(in srgb,var(--tc-green-dark) 22%,transparent)}.app-shell--draw.app-shell--touch{--tc-touch-bar-inset-block: clamp(.75rem, 3vw, 1rem);--tc-touch-bar-inset-inline: clamp(.75rem, 3vw, 1rem);--tc-touch-bottom-gap: clamp(.55rem, 2.5vw, .85rem);--tc-touch-bottom-track: calc( 100vw - (2 * var(--tc-touch-bar-inset-inline)) - var(--tc-touch-bottom-gap) );--tc-touch-top-chrome: 3.35rem;--tc-touch-footer-height: 2.15rem;--tc-touch-control-bottom: calc( var(--tc-touch-bar-inset-block) + env(safe-area-inset-bottom, 0px) + var(--tc-touch-footer-height) );--tc-touch-customize-share: .38;--tc-touch-zoom-share: .62;--tc-touch-pill-gap: clamp(.22rem, .85vw, .32rem);--tc-touch-pill-padding-block: clamp(.38rem, 1.25vw, .48rem);--tc-touch-pill-padding-inline: clamp(.48rem, 1.5vw, .62rem);--tc-touch-action-font: clamp(.8rem, 2.65vw, .9rem);--tc-touch-chip-font: var(--tc-touch-action-font);--tc-touch-chip-pad-block: clamp(.42rem, 1.4vw, .55rem);--tc-touch-chip-pad-inline: clamp(.62rem, 2.4vw, .88rem);--tc-touch-chip-min-height: clamp(2.3rem, 6.25vw, 2.6rem);--tc-touch-pill-row-height: calc( var(--tc-touch-chip-min-height) + 2 * var(--tc-touch-pill-padding-block) + 4px );--tc-touch-pill-row-gap: clamp(.5rem, 2vw, .65rem);--tc-touch-polygon-stack-offset: calc(var(--tc-touch-pill-row-height) + var(--tc-touch-pill-row-gap));--tc-touch-icon-size: var(--tc-touch-chip-min-height);--tc-touch-icon-font: clamp(.88rem, 3.5vw, 1rem);--tc-touch-meta-font: clamp(.72rem, 2.4vw, .82rem)}.app-shell--draw.app-shell--touch .scene-touch-pill.scene-zoom-controls,.app-shell--draw.app-shell--touch .scene-touch-pill.touch-customize-bar,.app-shell--draw.app-shell--touch .scene-touch-pill.polygon-crop-touch-bar,.app-shell--draw.app-shell--touch .scene-touch-pill.text-box-draw-touch-bar,.app-shell--draw.app-shell--touch .scene-touch-pill.free-text-edit-touch-bar,.app-shell--draw.app-shell--touch .scene-touch-pill.shot-draw-touch-bar,.app-shell--draw.app-shell--touch .scene-touch-pill.shot-edit-touch-bar,.app-shell--draw.app-shell--touch .scene-touch-pill.shot-selected-touch-bar{align-items:center;bottom:var(--tc-touch-control-bottom);box-sizing:border-box;display:flex;flex-shrink:0;gap:var(--tc-touch-pill-gap);min-width:0;overflow:hidden;padding:var(--tc-touch-pill-padding-block) var(--tc-touch-pill-padding-inline);position:fixed;z-index:30}.app-shell--draw.app-shell--touch .scene-touch-pill.scene-zoom-controls{justify-content:flex-end;max-width:calc(var(--tc-touch-bottom-track) * var(--tc-touch-zoom-share));right:calc(var(--tc-touch-bar-inset-inline) + env(safe-area-inset-right,0px));width:max-content}.app-shell--draw.app-shell--touch .scene-zoom-controls button{min-width:0}.app-shell--draw.app-shell--touch .scene-zoom-controls .scene-touch-chip-btn{flex:0 1 auto;max-width:100%;min-width:0;overflow:hidden;padding-block:var(--tc-touch-chip-pad-block);padding-inline:clamp(.5rem,2vw,.72rem);text-overflow:ellipsis}.app-shell--draw.app-shell--touch .scene-zoom-controls .scene-touch-icon-btn,.app-shell--draw.app-shell--touch .scene-zoom-controls button:not(.scene-touch-chip-btn){flex:0 0 auto;min-height:var(--tc-touch-chip-min-height);min-width:var(--tc-touch-chip-min-height)}.app-shell--draw.app-shell--touch .scene-zoom-controls .scene-zoom-level{flex:0 0 auto;min-width:clamp(2rem,7vw,2.35rem)}.app-shell--draw.app-shell--touch .scene-touch-pill.touch-customize-bar{justify-content:stretch;left:calc(var(--tc-touch-bar-inset-inline) + env(safe-area-inset-left,0px));max-width:calc(var(--tc-touch-bottom-track) * var(--tc-touch-customize-share));right:auto;width:max-content}.app-shell--draw.app-shell--touch .scene-touch-pill.polygon-crop-touch-bar,.app-shell--draw.app-shell--touch .scene-touch-pill.text-box-draw-touch-bar,.app-shell--draw.app-shell--touch .scene-touch-pill.free-text-edit-touch-bar,.app-shell--draw.app-shell--touch .scene-touch-pill.shot-draw-touch-bar,.app-shell--draw.app-shell--touch .scene-touch-pill.shot-edit-touch-bar,.app-shell--draw.app-shell--touch .scene-touch-pill.shot-selected-touch-bar{gap:clamp(.35rem,1.4vw,.55rem);justify-content:center;left:50%;max-width:min(calc(100vw - 2 * var(--tc-touch-bar-inset-inline) - 1rem),24rem);padding-inline:clamp(.5rem,1.6vw,.65rem);right:auto;transform:translate(-50%);width:max-content;z-index:31}.app-shell--draw.app-shell--touch.app-shell--polygon-crop-touch .scene-touch-pill.polygon-crop-touch-bar,.app-shell--draw.app-shell--touch.app-shell--text-box-draw-touch .scene-touch-pill.text-box-draw-touch-bar,.app-shell--draw.app-shell--touch.app-shell--text-box-draw-touch .scene-touch-pill.free-text-edit-touch-bar,.app-shell--draw.app-shell--touch.app-shell--shot-draw-touch .scene-touch-pill.shot-draw-touch-bar,.app-shell--draw.app-shell--touch.app-shell--shot-draw-touch .scene-touch-pill.shot-edit-touch-bar,.app-shell--draw.app-shell--touch.app-shell--shot-draw-touch .scene-touch-pill.shot-selected-touch-bar{bottom:calc(var(--tc-touch-control-bottom) + var(--tc-touch-polygon-stack-offset))}.app-shell--draw.app-shell--touch .polygon-crop-touch-bar__status,.app-shell--draw.app-shell--touch .text-box-draw-touch-bar__status,.app-shell--draw.app-shell--touch .shot-draw-touch-bar__status,.app-shell--draw.app-shell--touch .shot-edit-touch-bar__status{color:color-mix(in srgb,var(--tc-gray) 82%,var(--tc-green-dark));flex:0 0 auto;font-size:var(--tc-touch-meta-font);font-weight:600;line-height:1.2;min-width:clamp(1.35rem,4vw,1.65rem);padding-inline:clamp(.2rem,.9vw,.4rem);text-align:center;white-space:nowrap}.app-shell--draw.app-shell--touch .polygon-crop-touch-bar .scene-touch-chip-btn,.app-shell--draw.app-shell--touch .text-box-draw-touch-bar .scene-touch-chip-btn,.app-shell--draw.app-shell--touch .free-text-edit-touch-bar .scene-touch-chip-btn,.app-shell--draw.app-shell--touch .shot-draw-touch-bar .scene-touch-chip-btn,.app-shell--draw.app-shell--touch .shot-edit-touch-bar .scene-touch-chip-btn,.app-shell--draw.app-shell--touch .shot-selected-touch-bar .scene-touch-chip-btn{flex-shrink:0;padding-inline:clamp(.72rem,2.6vw,1rem)}.app-shell--draw.app-shell--touch .polygon-crop-touch-bar__finish:not(:disabled),.app-shell--draw.app-shell--touch .shot-draw-touch-bar__finish:not(:disabled),.app-shell--draw.app-shell--touch .free-text-edit-touch-bar__finish:not(:disabled),.app-shell--draw.app-shell--touch .shot-edit-touch-bar__finish:not(:disabled){background:color-mix(in srgb,var(--tc-green-light) 28%,var(--tc-white));border-color:color-mix(in srgb,var(--tc-green-dark) 35%,var(--tc-border-strong))}.app-shell--draw.app-shell--touch .scene-touch-chip-btn{align-items:center;background:transparent;border:1.5px solid var(--tc-border-strong);border-radius:999px;box-shadow:none;box-sizing:border-box;color:var(--tc-green-dark);display:inline-flex;flex-shrink:0;font-family:var(--tc-font-body);font-size:var(--tc-touch-chip-font);font-weight:700;justify-content:center;line-height:1.1;min-height:var(--tc-touch-chip-min-height);min-width:0;padding:var(--tc-touch-chip-pad-block) var(--tc-touch-chip-pad-inline);text-transform:none;white-space:nowrap}.app-shell--draw.app-shell--touch .scene-touch-chip-btn:hover:not(:disabled),.app-shell--draw.app-shell--touch .scene-touch-chip-btn:active:not(:disabled){background:color-mix(in srgb,var(--tc-green-light) 22%,var(--tc-white));border-color:color-mix(in srgb,var(--tc-green-dark) 32%,var(--tc-border-strong));box-shadow:none;transform:none}.app-shell--draw.app-shell--touch .touch-customize-bar .scene-touch-chip-btn{border-color:transparent;flex:1 1 auto;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis}.app-shell--draw.app-shell--touch .touch-customize-bar .scene-touch-chip-btn:hover:not(:disabled),.app-shell--draw.app-shell--touch .touch-customize-bar .scene-touch-chip-btn:active:not(:disabled){border-color:transparent}.app-shell--draw.app-shell--touch .scene-touch-pill .scene-touch-icon-btn,.app-shell--draw.app-shell--touch .scene-touch-pill button:not(.scene-touch-chip-btn){align-items:center;background:transparent;border:none;border-radius:999px;box-shadow:none;color:var(--tc-green-dark);display:inline-flex;flex-shrink:0;font-size:var(--tc-touch-icon-font);font-weight:700;justify-content:center;line-height:1;min-height:var(--tc-touch-icon-size);min-width:var(--tc-touch-icon-size);padding:clamp(.28rem,1.15vw,.4rem);text-transform:none}.app-shell--draw.app-shell--touch .scene-touch-pill .scene-touch-icon-btn:hover:not(:disabled),.app-shell--draw.app-shell--touch .scene-touch-pill .scene-touch-icon-btn:active:not(:disabled),.app-shell--draw.app-shell--touch .scene-touch-pill button:not(.scene-touch-chip-btn):hover:not(:disabled),.app-shell--draw.app-shell--touch .scene-touch-pill button:not(.scene-touch-chip-btn):active:not(:disabled){background:color-mix(in srgb,var(--tc-green-light) 28%,transparent);box-shadow:none;transform:none}.app-shell--draw.app-shell--touch .scene-touch-pill .scene-zoom-level{color:var(--tc-green-dark);flex-shrink:0;font-size:var(--tc-touch-meta-font);font-weight:700;line-height:1.1;min-width:clamp(2rem,7vw,2.35rem);overflow:hidden;padding:0 clamp(.1rem,.5vw,.18rem);text-align:center;text-overflow:clip;white-space:nowrap}@media(max-width:26.875rem){.app-shell--draw.app-shell--touch{--tc-touch-customize-share: .34;--tc-touch-zoom-share: .66;--tc-touch-pill-gap: clamp(.16rem, .65vw, .24rem);--tc-touch-chip-pad-inline: clamp(.5rem, 2vw, .72rem);--tc-touch-action-font: clamp(.76rem, 2.35vw, .86rem);--tc-touch-meta-font: clamp(.68rem, 2.1vw, .78rem)}.app-shell--draw.app-shell--touch .scene-zoom-controls .scene-touch-chip-btn{padding-inline:clamp(.42rem,1.75vw,.58rem)}}@media(max-width:22.5rem){.app-shell--draw.app-shell--touch{--tc-touch-customize-share: .32;--tc-touch-zoom-share: .68;--tc-touch-chip-min-height: clamp(2.15rem, 6vw, 2.45rem)}}.touch-sheet-header{align-items:center;background:color-mix(in srgb,var(--tc-white) 96%,var(--tc-cream));border-bottom:1px solid var(--tc-border);display:grid;gap:.5rem;grid-template-columns:2.25rem 1fr 2.25rem;padding:.65rem .75rem .55rem;position:sticky;top:0;z-index:2}.touch-sheet-header__title{font-family:var(--tc-font-display);font-size:.92rem;font-weight:600;letter-spacing:.05em;margin:0;text-align:center;text-transform:uppercase}.touch-sheet-header__title:after{display:none}.touch-sheet-header__icon{align-items:center;background:transparent;border:none;box-shadow:none;color:var(--tc-green-dark);cursor:pointer;display:inline-flex;font-family:var(--tc-font-body);font-size:1.35rem;font-weight:700;height:2.25rem;justify-content:center;line-height:1;min-width:2.25rem;padding:0;text-transform:none;width:2.25rem}.touch-sheet-header__icon:hover:not(:disabled),.touch-sheet-header__icon:active:not(:disabled){background:color-mix(in srgb,var(--tc-green-light) 28%,transparent);box-shadow:none;transform:none}.touch-sheet-header__spacer{display:block;height:2.25rem;width:2.25rem}.touch-sheet-header__collapse-icon{border-bottom:2px solid var(--tc-green-dark);border-right:2px solid var(--tc-green-dark);display:block;height:.45rem;margin-top:-.2rem;transform:rotate(45deg);width:.45rem}.touch-sheet-menu{display:grid;gap:.35rem;list-style:none;margin:0;padding:0}.touch-sheet-menu__item{align-items:center;background:color-mix(in srgb,var(--tc-white) 88%,var(--tc-cream));border:1px solid var(--tc-border);border-radius:.65rem;box-shadow:none;color:var(--tc-green-dark);cursor:pointer;display:flex;font-family:var(--tc-font-body);font-size:.95rem;font-weight:600;justify-content:space-between;letter-spacing:normal;min-height:2.85rem;padding:.75rem .85rem;text-align:left;text-transform:none;width:100%}.touch-sheet-menu__item:hover:not(:disabled),.touch-sheet-menu__item:active:not(:disabled){background:color-mix(in srgb,var(--tc-green-light) 24%,var(--tc-white));box-shadow:none;transform:none}.touch-sheet-menu__item:disabled{opacity:.45}.touch-sheet-menu__chevron{color:color-mix(in srgb,var(--tc-green-dark) 72%,var(--tc-gray));font-size:1.15rem;line-height:1}.app-shell--draw.app-shell--touch .scene-brand{font-size:clamp(1.25rem,4.8vw,1.55rem);left:calc(.65rem + env(safe-area-inset-left,0px));padding:.55rem .85rem .62rem;position:fixed;top:calc(.65rem + env(safe-area-inset-top,0px));z-index:30}.app-shell--draw.app-shell--touch .place-order-menu{font-size:.85rem;position:fixed;right:calc(.65rem + env(safe-area-inset-right,0px));top:calc(.65rem + env(safe-area-inset-top,0px));z-index:30}.app-shell--draw.app-shell--touch .place-order-menu__trigger{font-size:var(--tc-touch-action-font);padding:var(--tc-touch-chip-pad-block) var(--tc-touch-chip-pad-inline)}.app-shell--draw.app-shell--touch .course-svg{box-shadow:0 .75rem 2rem #16261424}.app-shell--draw.app-shell--touch+.site-footer{background:color-mix(in srgb,var(--tc-white) 96%,var(--tc-cream));border-top:1px solid var(--tc-border);bottom:0;left:0;margin-top:0;padding:.35rem .65rem calc(.35rem + env(safe-area-inset-bottom,0px));position:fixed;right:0;z-index:25}.app-shell--draw.app-shell--touch+.site-footer .site-footer-attribution{display:none}.app-shell--draw.app-shell--touch+.site-footer .site-footer-nav{flex-wrap:nowrap;font-size:.68rem;gap:.65rem .85rem;-webkit-overflow-scrolling:touch;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x}.app-shell--draw.app-shell--touch .place-order-menu__panel,.app-shell--draw.app-shell--touch .panel-right--touch-sheet-open,.app-shell--draw.app-shell--touch .gelato-print-picker-scroll{touch-action:pan-y}.app-shell--draw.app-shell--touch+.site-footer .site-footer-nav::-webkit-scrollbar{display:none}body:has(.app-shell--draw.app-shell--touch){overflow:hidden;touch-action:none}@media(max-width:639px){.app-shell--search{align-items:stretch;padding:1rem .65rem 2rem}.app-shell--search .panel-search{border-radius:1rem;max-width:none;width:100%}.home-hero{align-items:stretch;flex-direction:column;gap:1rem}.home-mode-toggle{display:grid;grid-template-columns:1fr 1fr;width:100%}.home-mode-toggle__btn{min-height:2.75rem;padding:.7rem .55rem;text-align:center}.panel-search .home-search__form{grid-template-columns:1fr}.panel-search .home-search__form input{font-size:1rem;min-height:2.75rem}.panel-search .home-search__submit{justify-self:stretch;width:100%}.top-courses-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.site-footer{border-top:1px solid #d8dee9;margin-top:auto;padding:1rem 1.25rem 1.5rem;text-align:center;font-size:.875rem;color:#4a5568}.site-footer-attribution{margin:0 0 .5rem}.site-footer-nav{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;justify-content:center}.site-footer-nav a{color:#2b6cb0}.legal-page,.order-page{margin:0 auto;max-width:42rem;padding:1.5rem 1.25rem 2rem}.legal-back{margin:0 0 1rem}.legal-content h2{font-size:1.125rem;margin:1.25rem 0 .5rem}.order-intro{color:#4a5568}.order-section{border:1px solid #e2e8f0;border-radius:8px;margin:1rem 0;padding:1rem}.order-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.order-field--quantity{max-width:14rem}.order-quantity{align-items:stretch;display:flex;gap:.35rem}.order-quantity__step{background:#fff;border:1px solid #cbd5e0;border-radius:6px;color:#2d3748;cursor:pointer;font-size:1.125rem;line-height:1;min-width:2.5rem;padding:.35rem .5rem}.order-quantity__step:hover:not(:disabled){background:#f7fafc;border-color:#a0aec0}.order-quantity__step:disabled{cursor:not-allowed;opacity:.45}.order-quantity__step:focus-visible{outline:2px solid #2f855a;outline-offset:2px}.order-quantity__input{flex:1;min-width:0;text-align:center}.order-grid{display:grid;gap:.5rem;grid-template-columns:1fr 1fr}.order-error{color:#c53030}.order-status{color:#276749}.order-meta{font-size:.875rem;color:#718096}.order-confirmation__headline{font-size:1.125rem;margin:0 0 .5rem}.order-confirmation__summary{border:1px solid #e2e8f0;border-radius:8px;margin:1rem 0;padding:1rem}.order-confirmation__summary-title{font-size:1rem;margin:0 0 .75rem}.order-currency-note{color:#2d3748;font-size:.9375rem;margin:0 0 .75rem}.order-page__cta{display:inline-block;text-decoration:none}.order-print-summary{display:flex;flex-direction:column;gap:.35rem;margin:0}.order-print-summary__course{color:var(--tc-ink, #162614);font-size:1rem;font-weight:600;line-height:1.35;margin:0}.order-print-summary__product{color:var(--tc-muted, #4a5648);font-size:.92rem;line-height:1.45;margin:0}.order-legal-consent{align-items:start;cursor:pointer;display:grid;font-weight:400;gap:.65rem;grid-template-columns:auto minmax(0,1fr);margin:.75rem 0 1rem}.order-legal-consent input[type=checkbox]{accent-color:var(--tc-green-dark);align-self:start;background:transparent;border:none;box-shadow:none;height:1.1rem;margin:.15rem 0 0;padding:0;width:1.1rem}.order-legal-consent__text{display:block;font-size:.92rem;line-height:1.45;min-width:0}.order-shipping-options{border:0;display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0}.order-shipping-option{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:.65rem;padding:.75rem}.order-shipping-option:has(input:checked){background:#fff;border-color:var(--tc-green-dark);box-shadow:inset 0 0 0 1px var(--tc-green-dark)}.order-shipping-option input[type=radio]{accent-color:var(--tc-green-dark);align-self:flex-start;background:transparent;border:none;box-shadow:none;flex-shrink:0;height:1rem;margin:.15rem 0 0;padding:0;width:1rem}.order-shipping-option__body{display:flex;flex:1;gap:.75rem;justify-content:space-between}.order-shipping-option__label{color:#2d3748}.order-shipping-option__price{color:#2d3748;font-variant-numeric:tabular-nums;white-space:nowrap}.order-billing{border-collapse:collapse;margin:.75rem 0 .5rem;width:100%}.order-billing th,.order-billing td{padding:.35rem 0;text-align:left;vertical-align:top}.order-billing td{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.order-billing__detail{color:#718096;font-weight:400}.order-billing__total th,.order-billing__total td{border-top:1px solid #e2e8f0;font-weight:600;padding-top:.5rem}.visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media(max-width:640px){.order-grid{grid-template-columns:1fr}}
