/* Grove Workbench. One shared geometry; project skins supply visual data only. */
:root{--family-font:"Segoe UI",sans-serif;--family-font-display:"Segoe UI Variable Display","Segoe UI",sans-serif;--family-text-small:.875rem;--family-text-body:.9375rem;--family-text-h1:1.75rem;--family-text-h2:1.125rem;--family-text-h3:1rem;--family-reading-width:68ch;--family-width:1440px;--family-radius:3px;--family-columns:3;--family-background:#17191d;--family-surface:#21242a;--family-text:#e4e6eb;--family-dominant:#c6cbd4;--family-secondary:#b7a7db;--family-navigation:#21242a;--family-navigationText:#e4e6eb;--family-identitySurface:#edf4f8;--family-on-dominant:#17191d;--family-on-secondary:#17191d;--family-surface-ink:#e4e6eb;--family-space-1:.375rem;--family-space-2:.625rem;--family-space-3:.75rem;--family-space-4:1rem;--family-touch:36px;--family-gutter:16px}
:root,.studio-preview,.foundation-sample{--family-line:color-mix(in srgb,var(--family-text) 22%,var(--family-surface));--family-hover:color-mix(in srgb,var(--family-text) 9%,var(--family-surface));--family-muted:var(--family-text)}
*{box-sizing:border-box}[hidden]{display:none!important}html{scrollbar-gutter:stable}body{isolation:isolate}button,input,select,textarea{font:inherit;touch-action:manipulation}h1,h2,h3{font-family:var(--family-font-display);font-weight:600;line-height:1.2;letter-spacing:-.015em}h1{font-size:var(--family-text-h1)}h2{font-size:var(--family-text-h2)}h3{font-size:var(--family-text-h3)}small{font-size:var(--family-text-small)}
.family-page{display:block;margin:0;min-height:100vh;background:var(--family-background);color:var(--family-text);font:var(--family-text-body)/1.5 var(--family-font);--color-text:var(--family-text);--color-muted:var(--family-text);--color-ink:var(--family-text);--color-bg:var(--family-surface);--color-cream:var(--family-surface);--color-cream-2:var(--family-surface);--color-bg-2:var(--family-surface);--color-accent:var(--family-dominant);--color-line:var(--family-line);--max-w:var(--family-width)}
.family-page{position:relative}
.family-artwork{position:absolute;top:64px;left:210px;right:0;height:clamp(680px,calc((100vw - 210px)*.75),1050px);overflow:hidden;pointer-events:none;z-index:0;opacity:var(--art-opacity,1)}
.family-artwork img{display:block;width:100%;height:100%;object-fit:var(--art-desktop-fit,cover);object-position:var(--art-desktop-position,right top);transform:scale(var(--art-desktop-scale,1));transform-origin:var(--art-desktop-position,right top)}
.family-artwork[data-family-artwork="overlay"]{z-index:1}.family-artwork[data-desktop-visible="false"]{display:none}
.family-header{position:relative;height:64px;z-index:20;color:var(--family-navigationText);font:var(--family-text-body)/1.5 var(--family-font)}
.family-header-inner{min-width:0}.family-brand{position:fixed;left:0;top:0;width:210px;height:190px;padding:18px 25px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:var(--family-navigation);color:inherit;text-decoration:none;border-right:1px solid color-mix(in srgb,var(--family-navigationText) 18%,var(--family-navigation));font-weight:600;line-height:1.3}
.family-mark{display:block;width:100%;padding:5px;background:var(--family-identitySurface);border-radius:var(--family-radius)}.family-mark img{display:block;width:100%;height:138px;object-fit:contain}.family-header[data-has-logo="true"] .family-brand-name{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.family-topbar{position:fixed;left:210px;right:0;top:0;height:64px;background:var(--family-navigation);display:flex;align-items:stretch;gap:16px;padding:0 22px;border-bottom:1px solid color-mix(in srgb,var(--family-navigationText) 18%,var(--family-navigation))}
.family-projects,.family-utilities{display:flex;gap:4px;align-items:center;min-width:0}.family-projects{overflow-x:auto}.family-project-choice{position:relative;display:flex;align-items:center;min-height:44px;padding:8px 14px;white-space:nowrap;color:inherit;text-decoration:none;font-size:14px}.family-project-choice[aria-current="true"]{font-weight:600;background:var(--family-navigation-hover,var(--family-navigation));box-shadow:inset 0 -2px var(--family-dominant)}
.family-utilities{margin-left:auto;gap:12px;flex-shrink:0}.family-utilities a{display:inline-flex;align-items:center;min-height:44px;gap:6px;padding:5px 8px;color:inherit;text-decoration:none;font-size:14px}.family-account-link{border:1px solid color-mix(in srgb,var(--family-navigationText) 24%,var(--family-navigation));border-radius:3px}.cart-count{padding:0 4px}.cart-count[data-empty="true"]{display:none}
.family-menu{position:fixed;top:190px;bottom:0;left:0;width:210px;padding:10px 14px 20px;overflow-y:auto;background:var(--family-navigation);border-right:1px solid color-mix(in srgb,var(--family-navigationText) 18%,var(--family-navigation))}.family-nav{display:flex;flex-direction:column;gap:4px;min-width:0}.family-nav a{display:flex;align-items:center;min-height:42px;padding:8px 12px;border-left:2px solid transparent;overflow-wrap:anywhere;color:inherit;text-decoration:none;font-size:14px}.family-nav a[aria-current="page"]{border-left-color:var(--family-dominant);background:var(--family-navigation-hover,var(--family-navigation));font-weight:600}.family-header a:hover{background-color:var(--family-navigation-hover,var(--family-navigation))}.family-header .family-brand:hover{background:var(--family-navigation)}.family-menu-toggle{display:none}
.family-page>.family-main{position:relative;z-index:2;width:auto;max-width:1120px;margin:28px 28px 24px 244px;padding:0;container-type:inline-size}.family-main{min-width:0;color:var(--family-text);font:var(--family-text-body)/1.5 var(--family-font)}@media(min-width:701px){html[data-art-treatment="framed"][data-theme-desktop-surround="true"] .family-page>.family-main{margin-right:clamp(170px,21vw,330px)}}.family-main>.family-content-group,.family-main>.family-section,.family-opening{padding:22px 26px;background:var(--family-surface);margin:0 0 calc(18px * var(--family-section-space,1));max-width:none;width:auto}.family-main>.family-content-group>.container{padding:0;margin:0;max-width:none}.family-opening-copy{padding:0}.family-heading,.family-opening .family-heading{font:600 var(--family-text-h1)/1.17 var(--family-font-display);letter-spacing:-.025em;margin:0 0 10px}.family-page .family-heading{font-family:Georgia,serif;font-weight:400;font-size:32px;letter-spacing:-.02em}.family-page-heading{margin:0 0 12px;text-align:left}.family-page-heading p,.family-opening p{margin:0;max-width:var(--family-reading-width)}.family-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.family-main p,.family-main li{overflow-wrap:anywhere}.family-main :is(.prose,.family-content-group)>p,.family-main :is(ul,ol,blockquote){max-width:var(--family-reading-width)}.family-main :is(ul,ol){padding-inline-start:1.5rem}.family-main li+li{margin-top:.375rem}.family-main blockquote{margin-inline:0;padding-left:1rem;border-left:2px solid var(--family-line)}.family-main img{max-width:100%}.family-main a{color:var(--family-surface-ink);text-underline-offset:3px}.family-main:focus{outline:none}
:is(.family-button,.family-page .btn){display:inline-flex;align-items:center;justify-content:center;min-height:var(--family-touch);padding:6px 11px;border:1px solid var(--family-dominant);border-radius:var(--family-radius);background:var(--family-dominant);color:var(--family-on-dominant);font:600 var(--family-text-small)/1.4 var(--family-font);text-decoration:none;cursor:pointer}.family-page .family-button{color:var(--family-on-dominant)}.family-brand-name{overflow-wrap:anywhere}.family-button:disabled{opacity:.65;cursor:default}.family-page .family-button-secondary{background:var(--family-surface);color:var(--family-text);border-color:var(--family-line)}.family-button:hover{filter:brightness(.94)}.family-text-link{display:inline-flex;align-items:center;min-height:var(--family-touch);font-size:var(--family-text-small)}
.family-section-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap;margin-bottom:10px}.family-section-heading h2{margin:0;font-size:18px}.family-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:10px 0 0}.family-product{display:flex;flex-direction:column;min-width:0;background:transparent;border:0}.family-product-image{aspect-ratio:4/3;background:var(--family-surface);display:grid;place-items:center}.family-product-image img{width:100%;height:100%;object-fit:contain}.family-product-body{display:flex;flex-direction:column;align-items:start;gap:6px;padding:10px 0}.family-product-body :is(h2,h3,p){margin:0}.family-product-title{font-size:16px;line-height:1.3}.family-product-description,.family-product-note{font-size:14px;max-width:52ch;white-space:pre-line}.family-price{font-variant-numeric:tabular-nums;font-weight:600}.family-product-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto}.family-product-feedback{font-size:13px}.family-product-status:empty{display:none}.family-product-grid:not(:has(.family-product-image)){grid-template-columns:1fr;gap:0}.family-product-grid:not(:has(.family-product-image)) .family-product-body{display:grid;grid-template-columns:minmax(0,1fr) auto auto;padding:12px 0;border-top:1px solid var(--family-line)}.family-product-grid:not(:has(.family-product-image)) .family-price{grid-column:2;grid-row:1;text-align:right}.family-product-grid:not(:has(.family-product-image)) :is(.family-product-description,.family-product-note){grid-column:1 / span 2}.family-product-grid:not(:has(.family-product-image)) .family-product-actions{grid-column:3;grid-row:1 / span 2;align-self:center}
.family-footer{position:relative;z-index:2;max-width:1120px;margin:0 28px 20px 244px;padding:12px 16px;background:var(--family-surface);color:var(--family-text);font-size:13px}.family-footer-inner{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.family-footer-inner p{margin:0}.family-footer-links{display:flex;gap:12px}.family-footer a{color:var(--family-surface-ink);display:inline-flex;align-items:center;min-height:var(--family-touch)}.family-editor-link{margin-left:auto}@media(min-width:701px){html[data-art-treatment="framed"][data-theme-desktop-surround="true"] .family-footer{margin-right:clamp(170px,21vw,330px)}}.family-content-row{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid var(--family-line)}.family-content-row img{width:140px;height:105px;object-fit:cover}.family-content-row h2{margin:0 0 6px}.family-content-row p{max-width:65ch;margin:6px 0}.family-body-text{white-space:pre-line;overflow-wrap:anywhere}.family-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0}.family-photo-grid figure{margin:0}.family-photo-grid img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain}.family-photo-grid figcaption{font-size:14px;margin-top:6px}.family-article>p{max-width:68ch;line-height:1.65}
.family-skip{position:fixed;left:16px;top:-100px;z-index:100;padding:10px;background:var(--family-surface);color:var(--family-text)}.family-skip:focus{top:8px}.family-page :focus-visible,.studio-preview :focus-visible{outline:3px solid currentColor;outline-offset:3px}.family-route-status{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:90;max-width:calc(100vw - 32px);padding:10px 14px;background:var(--family-surface);color:var(--family-text);border:1px solid var(--family-line)}.remember-choice{display:flex;align-items:center;gap:8px}.remember-choice input[type=checkbox]{width:20px;height:20px;min-height:20px}.managed-page-preview{max-width:100%;padding:12px;background:var(--family-surface);color:var(--family-text)}.content-form details{margin-block:8px;padding:10px 0;border-top:1px solid var(--family-line)}.content-form summary{cursor:pointer;font-weight:600}
.family-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(420px,100%);max-width:100%;height:100dvh;max-height:100dvh;padding:24px;border:0;border-left:1px solid var(--family-line);background:var(--family-surface);color:var(--family-text)}.family-drawer::backdrop{background:#07111eb3}.family-drawer[open]{animation:family-drawer-in .18s ease-out}.family-drawer-close{display:flex;justify-content:flex-end;margin-bottom:20px}.family-drawer img{max-width:100%;max-height:300px;object-fit:contain}@keyframes family-drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(max-width:1050px) and (min-width:701px){.family-page>.family-main,.family-footer{margin-left:234px}.family-main>.family-content-group,.family-main>.family-section,.family-opening{padding:18px 20px}.family-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.family-product-grid:not(:has(.family-product-image)) .family-product-body{grid-template-columns:minmax(0,1fr) auto}.family-product-grid:not(:has(.family-product-image)) .family-product-actions{grid-column:1/-1;grid-row:auto}}
@media(max-width:700px){
 :root{--family-touch:44px;--family-gutter:12px}
 .family-header{position:sticky;top:0;height:auto;background:var(--family-navigation);border-bottom:1px solid color-mix(in srgb,var(--family-navigationText) 18%,var(--family-navigation));max-height:100dvh;overflow:auto}
 .family-header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0;padding:6px 12px}
 .family-header .family-brand{position:static;width:auto;height:auto;min-height:60px;flex-direction:row;justify-content:start;padding:0;border:0;gap:10px;min-width:0;font-size:14px}
 .family-header .family-mark{width:58px;flex:0 0 58px;padding:2px}.family-header .family-mark img{height:56px}
 .family-header[data-has-logo="true"] .family-brand-name{position:static;width:auto;height:auto;clip-path:none;overflow:visible}
 .family-topbar{display:contents}.family-menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6px 12px;background:var(--family-navigation);color:var(--family-navigationText);border:1px solid color-mix(in srgb,var(--family-navigationText) 35%,var(--family-navigation));border-radius:3px;grid-row:1;grid-column:2;cursor:pointer}
 .family-projects{display:none;grid-column:1/-1;grid-row:2;padding-top:8px;flex-wrap:wrap;overflow:visible;border-top:1px solid color-mix(in srgb,var(--family-navigationText) 20%,var(--family-navigation))}.family-project-choice{white-space:normal;overflow-wrap:anywhere;padding:8px 10px;min-width:0}
 .family-menu{display:none;position:static;width:auto;padding:8px 0;grid-column:1/-1;grid-row:3;border:0;overflow:visible}.family-nav{gap:2px}.family-nav a{min-height:44px;padding:8px 10px}
 .family-utilities{display:none;grid-column:1/-1;grid-row:4;margin:0;padding:8px 0;border-top:1px solid color-mix(in srgb,var(--family-navigationText) 20%,var(--family-navigation));flex-wrap:wrap}
 .family-header[data-menu-open="true"] :is(.family-projects,.family-utilities){display:flex}.family-header[data-menu-open="true"] .family-menu{display:block}
 .family-page>.family-main,html[data-art-treatment="framed"][data-theme-phone-surround="true"] .family-page>.family-main{margin:18px 12px 12px}
 html[data-art-treatment="framed"][data-theme-phone-surround="true"] .family-page>.family-main{margin-top:110px}
 .family-footer,html[data-art-treatment="framed"][data-theme-phone-surround="true"] .family-footer{margin:12px}
 .family-page .family-heading{font-size:28px}.family-content-row{flex-direction:column}.family-content-row img{width:100%;height:180px}.family-product-grid{grid-template-columns:1fr}.family-editor-link{margin-left:0}
 .family-artwork{display:block;left:0;top:72px;height:400px}.family-artwork img{object-fit:var(--art-phone-fit,cover);object-position:var(--art-phone-position,right top);transform:scale(var(--art-phone-scale,1));transform-origin:var(--art-phone-position,right top)}.family-artwork[data-phone-visible="false"]{display:none}
 .cart-table,.cart-table tbody{display:block}.cart-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.cart-table tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;border-bottom:1px solid var(--family-line)}.cart-table tbody tr td{display:block;min-width:0;padding:0;text-align:left;border:0}.cart-table tbody tr td:first-child{grid-column:1/-1}.cart-table td[data-label]::before{content:attr(data-label);display:block;font-weight:600;margin-bottom:5px}
}
@media(pointer:coarse){:root{--family-touch:44px}}@media(prefers-reduced-motion:reduce){.family-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.family-artwork[data-family-artwork="surround"]{mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 64px),transparent 100%)}
.family-main,.family-main [id]{scroll-margin-top:88px}
.family-header[data-has-logo="false"] .family-brand{font-size:21px;text-align:left;align-items:flex-start}
@media(max-width:700px){.family-header[data-menu-open="true"] .family-projects[data-multiple="false"]{display:none}.family-header[data-has-logo="false"] .family-brand{font-size:16px;align-items:center}}

/* Feature views may have their own internal grid; keep its reading surface solid. */
.family-page>.family-main[data-view^="game"]{background:var(--family-surface);padding:22px 26px}
@media(max-width:700px){.family-page>.family-main[data-view^="game"]{padding:18px 20px}}
