{"version":3,"file":"GlassMode.Js3b71__.mjs","names":["useState","useCallback"],"sources":["https:/framerusercontent.com/modules/ds0XZpYBYDvkAjU3ThsP/iEb0RxRBHIRuaH2Q76SJ/GlassMode.js"],"sourcesContent":["/**\n * Experimental \"Liquid Glass\" mode for the whole site.\n *\n * Two roles, one file:\n *  - Section: the Home card. Demo GIF/video on the left; the switch and three\n *    environment thumbnails on the right.\n *  - Runtime: an invisible instance in the Default layout template. It re-applies\n *    the stored choice on every page, and while glass is on it shows a small\n *    floating pill (\"Reset layout\" when sections were rearranged, \"Turn off\").\n *\n * While glass is on, sections can also be spun (drag sideways) and rearranged\n * (drag up/down); see \"spatial gestures\" below.\n *\n * How the glass is applied (no canvas changes needed):\n *  1. A fixed environment photo is placed behind the page (z-index -1 under <body>).\n *  2. Framer's own stylesheets are read from the CSSOM, the same way GlassNav's theme\n *     mirror does it. Every rule that paints a background with a surface token\n *     (surface-page / primary / secondary / tertiary) is re-emitted under\n *     html[data-glass-mode]. Primary and secondary surfaces become frosted glass,\n *     and page and tertiary become clear. Inline variant styles are caught with\n *     [style*=\"background-color: var(--token-…\"] selectors.\n *  3. The dark-theme token values are mirrored under html[data-glass-mode] body,\n *     so text is light on the darkened glass whatever the light/dark setting is.\n *  4. Section cards (direct children of each page's \"Main\" frame) get rounded,\n *     floating-window corners and a drop shadow.\n * Turning it off removes the attribute, and everything falls back to the normal CSS.\n */import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{startTransition,useCallback,useEffect,useState}from\"react\";import{createPortal}from\"react-dom\";const tok=(id,fallback)=>`var(--token-${id}, ${fallback})`;// Token ids mirror WorkTokens.tsx (imports across code files fail typecheck).\nconst T={page:\"0bfe53a7-7e5b-4320-9597-62945aa370d6\",primary:\"929072e6-7da2-493e-9f97-79666cdf310a\",secondary:\"feb1b638-055c-413e-9b01-e705558b6518\",tertiary:\"b519ae44-30b4-4c32-80e6-52ad6c226c12\",borderStrong:\"ec7c3cc3-df02-4099-a292-a166aefd8086\",borderSubtle:\"60fcc247-beda-4b34-b2cd-ad20033d0f7b\"};const INK=tok(\"a79602e8-01ca-44f1-b8af-271ff1b7e22c\",\"#090909\")// Text Primary\n;const BODY=tok(\"c26b0d66-e63e-48eb-be43-e871c86878fb\",\"#555\")// Text Body\n;const MUTED=tok(\"a0a1af44-9b2d-4d4b-9f94-e5b5c506a197\",\"#606060\")// Text Muted\n;const ORANGE=tok(\"be679d6f-7e76-410a-b748-4e1a0a93c4b6\",\"#6A233F\")// Pantone 6308 C (accent)\n;const SURFACE2=tok(T.secondary,\"#F5F5F3\");const RULE=tok(T.tertiary,\"#E8E5E0\");const FONT=`\"Google Sans\", \"Google Sans Text\", Inter, system-ui, sans-serif`;const ATTR=\"data-glass-mode\";const STYLE_ID=\"glass-mode-css\";const ENV_ID=\"glass-mode-env\";const EVENT=\"glassmode:change\";const KEY_ON=\"glass-mode\";const KEY_ENV=\"glass-mode-env\";// ---- persistence ----------------------------------------------------------\nfunction readStored(){try{return{on:window.localStorage.getItem(KEY_ON)===\"on\",env:window.localStorage.getItem(KEY_ENV)};}catch{return{on:false,env:null};}}function writeStored(on,env){try{window.localStorage.setItem(KEY_ON,on?\"on\":\"off\");if(env)window.localStorage.setItem(KEY_ENV,env);}catch{}}// ---- CSSOM scan -------------------------------------------------------------\n// Split a selector list on top-level commas only (keeps :is(a, b) intact).\nfunction splitSelectors(list){const out=[];let depth=0;let cur=\"\";for(const ch of list){if(ch===\"(\"||ch===\"[\")depth++;else if(ch===\")\"||ch===\"]\")depth--;if(ch===\",\"&&depth===0){out.push(cur.trim());cur=\"\";}else cur+=ch;}if(cur.trim())out.push(cur.trim());return out;}function isBodySelector(sel){return splitSelectors(sel).includes(\"body\");}function tokenDecls(style){let out=\"\";for(let i=0;i<style.length;i++){const prop=style[i];if(prop.indexOf(\"--token-\")===0)out+=prop+\":\"+style.getPropertyValue(prop)+\";\";}return out;}function scanSheets(){const surfaces={page:[],primary:[],secondary:[],tertiary:[]};let dark=\"\";let ruleCount=0;const visit=(rules,inDark)=>{for(const rule of Array.from(rules)){ruleCount++;const sr=rule;if(sr.selectorText&&sr.style){if(isBodySelector(sr.selectorText)){if(inDark)dark+=tokenDecls(sr.style);continue;}const bg=sr.style.getPropertyValue(\"background-color\")+sr.style.getPropertyValue(\"background\");if(bg.indexOf(\"--token-\")===-1)continue;for(const key of Object.keys(surfaces)){if(bg.indexOf(T[key])!==-1){for(const s of splitSelectors(sr.selectorText)){if(/^(html|body|:root)\\b/.test(s))continue;// This component's own controls paint with surface\n// tokens too; glassing them would erase the switch.\nif(s.indexOf(\".gm-\")!==-1)continue;surfaces[key].push(s);}}}continue;}const gr=rule;if(gr.cssRules){const cond=gr.conditionText??gr.media?.mediaText??\"\";const dk=inDark||/prefers-color-scheme/.test(cond)&&/dark/.test(cond);visit(gr.cssRules,dk);}}};let sheetCount=0;// Framer's preview attaches some styles as adopted sheets, which never show\n// up in document.styleSheets.\nconst sheets=[...Array.from(document.styleSheets),...Array.from(document.adoptedStyleSheets??[])];for(const sheet of sheets){const owner=sheet.ownerNode?.id;if(owner===STYLE_ID||owner===\"glass-mode-order\")continue;let rules=null;try{rules=sheet.cssRules;}catch{continue;}if(!rules)continue;sheetCount++;visit(rules,false);}for(const key of Object.keys(surfaces))surfaces[key]=Array.from(new Set(surfaces[key]));return{dark,surfaces,signature:sheetCount+\":\"+ruleCount};}// GlassNav's dark palette, so the nav pill matches the dark glass.\nconst NAV_DARK=`--gn-glass-bg:rgba(22,22,26,0.5);--gn-border:rgba(255,255,255,0.12);--gn-border-top:rgba(255,255,255,0.22);--gn-shadow:0 1px 0 rgba(255,255,255,0.12) inset,0 10px 34px rgba(0,0,0,0.35);--gn-ink:rgba(255,255,255,0.92);--gn-muted:rgba(255,255,255,0.6);--gn-hamburger:rgba(255,255,255,0.78);--gn-divider:rgba(255,255,255,0.16);--gn-logo:#F7FAFC;--gn-menu-bg:rgba(34,34,39,0.6);--gn-menu-border:rgba(255,255,255,0.12);--gn-menu-border-top:rgba(255,255,255,0.2);--gn-menu-shadow:0 1px 0 rgba(255,255,255,0.1) inset,0 16px 40px rgba(0,0,0,0.45);--gn-hover:rgba(255,255,255,0.08);--gn-track:rgba(0,0,0,0.3);--gn-track-inset:inset 0 1px 3px rgba(0,0,0,0.5),inset 0 0 0 0.5px rgba(255,255,255,0.06);--gn-thumb:rgba(255,255,255,0.13);--gn-thumb-border:rgba(255,255,255,0.2);--gn-thumb-shadow:0 1px 0 rgba(255,255,255,0.14) inset,0 3px 10px rgba(0,0,0,0.5);`;// ---- readability ------------------------------------------------------------\n// Glass text palette. Every text token is pinned here rather than relying on the\n// CSSOM scan alone, because Framer's preview does not expose the dark-mode block\n// the scan reads. DARK_FALLBACK comes first, then the scanned dark values, then\n// GLASS_TEXT, so the glass values always win.\n//\n// The weakest rung (Text Subtle, rgb 205, L 0.61) needs a backdrop of luminance\n// at most 0.097 (sRGB ~86) for 4.5:1. GLASS_TARGET is that limit, and the glass\n// tint below is solved per environment photo so the backdrop never exceeds it.\nconst DARK_FALLBACK={\"4ba2d6a9-9bc8-4382-956b-2022dcbca343\":\"rgb(190, 190, 190)\",\"d1c9b501-1067-46c2-9c19-e2fd8e332863\":\"rgba(0, 0, 0, 0.75)\",\"be679d6f-7e76-410a-b748-4e1a0a93c4b6\":\"rgb(176, 74, 115)\",\"252e7180-f656-4c8b-9724-9ea623d94641\":\"rgb(150, 168, 214)\",\"ecbaf61a-9faf-4a4e-a9a2-779b7f0ac834\":\"rgba(48, 46, 44, 0.55)\",\"04047ba8-0673-49b2-9e7b-0315e62086a5\":\"rgba(255, 255, 255, 0.18)\",\"75d776ec-d7db-4170-8196-03e6826e0270\":\"rgba(240, 238, 236, 0.9)\",\"b5cf3260-cc9f-4a6e-8ee4-ac0343e59daf\":\"rgba(255, 255, 255, 0.12)\",\"b3af0fdc-e4cc-4ecc-af3f-7891c60e7a55\":\"rgb(210, 210, 210)\",\"bcf438f6-3767-47c9-919b-dcc2040e838e\":\"rgb(64, 35, 46)\",\"f8ed2657-2938-412b-9fd1-ea637366dae4\":\"rgb(232, 166, 191)\",\"1c242fcb-3c90-458d-bf95-9c4f7c174063\":\"rgb(34, 40, 58)\",\"666aeb02-d4c6-4e8e-9326-ad129b6c1173\":\"rgb(165, 182, 226)\",\"7720d717-7ec4-41d5-b3cb-426b88982ea2\":\"rgb(46, 36, 58)\",\"59e634d1-54cb-471e-99eb-e6bef5d91e48\":\"rgb(198, 162, 232)\",\"03ca4765-4fc0-4702-8500-5157e6a51601\":\"rgb(28, 46, 44)\",\"a14839b5-e906-413f-9c0d-de3b50061a98\":\"rgb(120, 210, 198)\",\"f00134cd-008e-49b6-9646-2cd49a5dd6e8\":\"rgb(28, 28, 28)\",\"020d4c29-21e9-401b-9a71-ac56dd689c4c\":\"rgb(100, 100, 98)\",\"45003cb1-769b-4a8d-a9dc-94887803ea2b\":\"rgba(0, 0, 0, 0.6)\"};const GLASS_TEXT={\"a79602e8-01ca-44f1-b8af-271ff1b7e22c\":\"rgb(255, 255, 255)\",\"4ba2d6a9-9bc8-4382-956b-2022dcbca343\":\"rgb(235, 235, 235)\",\"c26b0d66-e63e-48eb-be43-e871c86878fb\":\"rgb(222, 222, 222)\",\"a0a1af44-9b2d-4d4b-9f94-e5b5c506a197\":\"rgb(212, 212, 212)\",\"35f49ea6-45c2-404d-bb44-ef570d4317de\":\"rgb(205, 205, 205)\",\"790ee7a1-9ea5-4c6f-89da-b93361fb95b3\":\"rgb(242, 190, 208)\",[T.tertiary]:\"rgba(255, 255, 255, 0.16)\",[T.borderStrong]:\"rgba(255, 255, 255, 0.24)\",[T.borderSubtle]:\"rgba(255, 255, 255, 0.14)\"};const decls=map=>Object.entries(map).map(([id,v])=>`--token-${id}:${v};`).join(\"\");const GLASS_RGB=[28,28,32]// tint under the primary glass, sRGB\n;const GLASS_TARGET=86// max backdrop sRGB value under glass text (see above)\n;const ALPHA_MIN=.4;const ALPHA_MAX=.9;const ALPHA_FALLBACK=.78// used when a photo can't be measured (CORS)\n;// Brightness the glass has to cover: the brightest cell of the photo once\n// downsampled to 48x30 (a stand-in for the 36px blur: each cell spans ~50px on a\n// 2400px photo) and darkened by the env scrim. Max rather than a percentile, so a\n// bright window behind a card can't drop the text under 4.5:1.\n// Measured 2026-10-14: Living Room 0.686, Alpine Lake 0.662, Desert Dusk 0.40.\nfunction measureAlpha(url){return new Promise(resolve=>{const img=new Image;img.crossOrigin=\"anonymous\";img.onload=()=>{try{const w=48;const h=30;const c=document.createElement(\"canvas\");c.width=w;c.height=h;const ctx=c.getContext(\"2d\",{willReadFrequently:true});if(!ctx)return resolve(ALPHA_FALLBACK);ctx.imageSmoothingQuality=\"high\";ctx.drawImage(img,0,0,w,h);const px=ctx.getImageData(0,0,w,h).data;let p=0;for(let y=0;y<h;y++){const scrim=1-(.12+.26*y/(h-1));for(let x=0;x<w;x++){const i=(y*w+x)*4;p=Math.max(p,(.2126*px[i]+.7152*px[i+1]+.0722*px[i+2])*scrim);}}const base=.2126*GLASS_RGB[0]+.7152*GLASS_RGB[1]+.0722*GLASS_RGB[2];const a=p<=GLASS_TARGET?ALPHA_MIN:(p-GLASS_TARGET)/(p-base);resolve(Math.min(ALPHA_MAX,Math.max(ALPHA_MIN,a)));}catch{resolve(ALPHA_FALLBACK);}};img.onerror=()=>resolve(ALPHA_FALLBACK);img.src=url;});}const alphaCache={};function applyAlpha(url){const set=a=>document.documentElement.style.setProperty(\"--gm-a\",a.toFixed(3));if(alphaCache[url]!=null)return set(alphaCache[url]);set(ALPHA_FALLBACK);measureAlpha(url).then(a=>{alphaCache[url]=a;if(readStored().env===url||!readStored().env)set(a);});}const GLASS_PRIMARY=`background-color:rgba(${GLASS_RGB.join(\",\")},var(--gm-a,${ALPHA_FALLBACK}))!important;`+\"-webkit-backdrop-filter:blur(36px) saturate(1.7)!important;\"+\"backdrop-filter:blur(36px) saturate(1.7)!important;\"+\"box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),inset 0 0 0 1px rgba(255,255,255,0.05)!important;\";// Containers can carry text too, so they get the same guaranteed tint, slightly\n// lighter so nested primary cards still read as a step up.\nconst GLASS_SECONDARY=`background-color:rgba(36,36,40,var(--gm-a,${ALPHA_FALLBACK}))!important;`+\"-webkit-backdrop-filter:blur(24px) saturate(1.5)!important;\"+\"backdrop-filter:blur(24px) saturate(1.5)!important;\";const CLEAR=\"background-color:transparent!important;\";function buildCss(scan){const G=`html[${ATTR}]`;const scope=sels=>sels.map(s=>`${G} ${s}`);const inline=id=>`${G} [style*=\"background-color: var(--token-${id}\"]`;const block=(sels,body)=>sels.length?sels.join(\",\")+\"{\"+body+\"}\":\"\";return[// Glass text palette. Set on every element, not just body: if Framer\n// defines tokens on a wrapper below body, a body-only override is shadowed.\n`@property --gm-a{syntax:\"<number>\";inherits:true;initial-value:${ALPHA_FALLBACK}}`,`${G}{transition:--gm-a .7s ease}`,`${G} body,${G} body *{${decls(DARK_FALLBACK)}${scan.dark}${decls(GLASS_TEXT)}color-scheme:dark}`,// Body must stay clear: an in-flow body background paints over the\n// z-index:-1 environment layer, so the dark fallback lives on <html>.\n`${G}{background:#0d0d0f!important}${G} body{background:transparent!important}`,block([...scope(scan.surfaces.page),...scope(scan.surfaces.tertiary),inline(T.page),inline(T.tertiary)],CLEAR),block([...scope(scan.surfaces.secondary),inline(T.secondary)],GLASS_SECONDARY),block([...scope(scan.surfaces.primary),inline(T.primary)],GLASS_PRIMARY),// Section cards float like visionOS windows.\n`${G} [data-framer-name=\"Main\"]{background-color:transparent!important}`,// :not(#gm) lifts specificity above Framer's class chains, which the\n// surface rules above also inherit.\n`${G} [data-framer-name=\"Main\"]>*:not(#gm){border-radius:28px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,0.22),0 24px 60px rgba(0,0,0,0.28)!important}`,`${G} [data-gn-root]{${NAV_DARK}}`,// Environment layer + the off pill.\n`#${ENV_ID}{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .6s ease}`,`${G} #${ENV_ID}{opacity:1}`,`#${ENV_ID}>div{position:absolute;inset:0;background-size:cover;background-position:center;transition:opacity .7s ease}`,`#${ENV_ID}::after{content:\"\";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.12),rgba(0,0,0,0.38))}`,// Spatial gestures: grab cursor, let the browser keep vertical panning on\n// touch, a deeper shadow while lifted, and the back face of a turned window\n// (mirrored back with scaleX(-1) so its label reads from behind).\n`${G} [data-framer-name=\"Main\"]>*{cursor:grab;touch-action:pan-y}`,`html[data-gm-dragging],html[data-gm-dragging] *{cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important}`,`${G} [data-framer-name=\"Main\"]>[data-gm-lifted]:not(#gm){box-shadow:inset 0 1px 0 rgba(255,255,255,0.26),0 40px 90px rgba(0,0,0,0.45)!important}`,// A turned-over window rests at 180deg (inline transforms during a drag\n// override this). Its back face takes the clicks, so the hidden, mirrored\n// links underneath can't be hit by accident.\n`${G} [data-framer-name=\"Main\"]>[data-gm-flipped]:not([data-gm-turning]){transform:perspective(1400px) rotateY(180deg)}`,`${G} [data-framer-name=\"Main\"]>[data-gm-back]::after,${G} [data-framer-name=\"Main\"]>[data-gm-flipped]:not([data-gm-turning])::after{content:attr(data-gm-label) \"\\\\A\\\\A\" \"Drag sideways to turn back\";white-space:pre-line;text-align:center;padding:24px;box-sizing:border-box;position:absolute;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;transform:scaleX(-1);background:rgba(28,28,32,0.9);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);color:rgba(255,255,255,0.85);font:600 13px/1.4 ${FONT};letter-spacing:.08em;text-transform:uppercase;border-radius:inherit;pointer-events:auto}`].join(\"\\n\");}// ---- spatial gestures -------------------------------------------------------\n// Glass mode only. Each section card (a direct child of a page's \"Main\" stack)\n// behaves like a visionOS window:\n//  - drag sideways: the card turns in 3D with the pointer. On release it springs\n//    back to the front, or completes a full turn if flicked hard. Past 90 degrees\n//    the back of the window shows: a frosted panel with the section's name.\n//  - drag up/down: the card lifts and the others make room. The new order is\n//    applied with CSS `order` on the flex stack (the DOM is never moved, so React\n//    stays in charge) and saved per page in localStorage.\n// On touch, a sideways swipe spins, and press-and-hold then drag rearranges, so\n// ordinary vertical scrolling still scrolls.\nconst CARD_SEL='[data-framer-name=\"Main\"] > *';const ORDER_ID=\"glass-mode-order\";const ORDER_EVENT=\"glassmode:order\";const KEY_ORDER=\"glass-mode-order:\";// Never start a drag on something that has its own pointer behaviour.\nconst SKIP='a,button,input,textarea,select,label,video,audio,canvas,iframe,[role=\"button\"],[role=\"switch\"],[role=\"slider\"],[contenteditable=\"true\"],[data-gm-nodrag]';const DEG_PER_PX=.5;const LOCK_PX=7;const HOLD_MS=380;function orderKey(){return KEY_ORDER+window.location.pathname;}function readOrder(){try{const v=JSON.parse(window.localStorage.getItem(orderKey())||\"null\");return Array.isArray(v)?v:null;}catch{return null;}}function writeOrder(order){try{if(order)window.localStorage.setItem(orderKey(),JSON.stringify(order));else window.localStorage.removeItem(orderKey());}catch{}}// Sections left turned over, per page: DOM indices of Main's children.\nconst KEY_FLIP=\"glass-mode-flip:\";function readFlips(){try{const v=JSON.parse(window.localStorage.getItem(KEY_FLIP+window.location.pathname)||\"[]\");return Array.isArray(v)?v:[];}catch{return[];}}function writeFlips(flips){try{const key=KEY_FLIP+window.location.pathname;if(flips.length)window.localStorage.setItem(key,JSON.stringify(flips));else window.localStorage.removeItem(key);}catch{}}function cardLabel(card){// The back of a window is labelled with the section's first heading; layer\n// names like \"About Drew Hero\" aren't meant for visitors.\nconst heading=card.querySelector(\"h1,h2,h3\")?.textContent?.trim()||\"\";card.setAttribute(\"data-gm-label\",heading.length>48?heading.slice(0,47)+\"…\":heading);}// Mark stored flips on the live cards. Attributes (not :nth-child CSS) so a drag\n// can tell a turned-over card apart and start from 180 degrees. Framer re-renders\n// cards on navigation, so the poll re-applies this.\nfunction syncFlips(){const flips=readFlips();document.querySelectorAll('[data-framer-name=\"Main\"]').forEach(main=>{Array.from(main.children).forEach((c,i)=>{const el=c;const on=flips.includes(i);if(on===el.hasAttribute(\"data-gm-flipped\"))return;if(on){cardLabel(el);el.setAttribute(\"data-gm-flipped\",\"\");}else el.removeAttribute(\"data-gm-flipped\");});});}let lastCustom=null;function hasCustomLayout(){return!!readOrder()||readFlips().length>0;}function announceLayout(){const custom=hasCustomLayout();if(custom===lastCustom)return;lastCustom=custom;window.dispatchEvent(new CustomEvent(ORDER_EVENT,{detail:{custom}}));}// Rebuilt by the 900ms poll too, so the right page's layout follows navigation.\nfunction installOrderCss(){syncFlips();announceLayout();const order=readOrder();const css=order?order.map((dom,pos)=>`html[${ATTR}] [data-framer-name=\"Main\"]>:nth-child(${dom+1}){order:${pos}}`).join(\"\"):\"\";let el=document.getElementById(ORDER_ID);if(!el){el=document.createElement(\"style\");el.id=ORDER_ID;document.head.appendChild(el);}if(el.textContent===css&&el.dataset.path===window.location.pathname)return;el.textContent=css;el.dataset.path=window.location.pathname;}// Reset layout: original order, and every turned-over window turns back.\nfunction resetOrder(){const flipped=Array.from(document.querySelectorAll('[data-framer-name=\"Main\"]>[data-gm-flipped]'));writeOrder(null);writeFlips([]);flipped.forEach(card=>{card.setAttribute(\"data-gm-turning\",\"\");animateTurn(card,180,0,0,()=>{card.removeAttribute(\"data-gm-flipped\");card.removeAttribute(\"data-gm-turning\");card.removeAttribute(\"data-gm-back\");card.style.transform=\"\";});});installOrderCss();}let drag=null;let gesturesOn=false;let suppressClick=false;const reducedMotion=()=>typeof window!==\"undefined\"&&!!window.matchMedia&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;function save(d,el){if(d.saved.has(el))return;d.saved.set(el,{transform:el.style.transform,transition:el.style.transition,zIndex:el.style.zIndex,willChange:el.style.willChange});}function restore(d){d.saved.forEach((s,el)=>{el.style.transform=s.transform;el.style.transition=s.transition;el.style.zIndex=s.zIndex;el.style.willChange=s.willChange;el.removeAttribute(\"data-gm-lifted\");el.removeAttribute(\"data-gm-back\");el.removeAttribute(\"data-gm-turning\");if(!el.hasAttribute(\"data-gm-flipped\"))el.removeAttribute(\"data-gm-label\");});}// While a card is turned over, the CSS holds it at 180deg; inline transforms\n// set during a drag replace that, so they carry the rotation along.\nconst turned=c=>c.hasAttribute(\"data-gm-flipped\")?\" perspective(1400px) rotateY(180deg)\":\"\";function setAngle(card,a){card.style.transform=`perspective(1400px) rotateY(${a}deg)`;card.toggleAttribute(\"data-gm-back\",Math.cos(a*Math.PI/180)<0);}function lock(d,axis){d.axis=axis;window.clearTimeout(d.holdTimer);window.getSelection()?.removeAllRanges();document.documentElement.setAttribute(\"data-gm-dragging\",axis);try{d.card.setPointerCapture(d.pointerId);}catch{}if(axis===\"x\"){cardLabel(d.card);d.base=d.angle=d.card.hasAttribute(\"data-gm-flipped\")?180:0;save(d,d.card);d.card.setAttribute(\"data-gm-turning\",\"\");setAngle(d.card,d.base);d.card.style.transition=\"none\";d.card.style.willChange=\"transform\";d.card.style.zIndex=\"30\";return;}// Reorder: measure every visible card in its current visual order.\nd.cards=Array.from(d.main.children).filter(c=>c.getBoundingClientRect().height>0).sort((a,b)=>a.getBoundingClientRect().top-b.getBoundingClientRect().top);d.rects=d.cards.map(c=>{const r=c.getBoundingClientRect();return{top:r.top+window.scrollY,h:r.height};});d.from=d.to=d.cards.indexOf(d.card);d.gap=parseFloat(getComputedStyle(d.main).rowGap)||10;d.cards.forEach(c=>{save(d,c);c.style.willChange=\"transform\";c.style.transition=c===d.card?\"none\":\"transform .28s cubic-bezier(.2,.8,.2,1)\";});d.card.style.zIndex=\"30\";d.card.setAttribute(\"data-gm-lifted\",\"\");if(d.touch&&navigator.vibrate)navigator.vibrate(8);autoScroll(d);}function updateReorder(d){const dy=d.clientY+window.scrollY-d.pageY0;const r=d.rects[d.from];const center=r.top+r.h/2+dy;let to=d.from;for(let j=0;j<d.cards.length;j++){const mid=d.rects[j].top+d.rects[j].h/2;if(j<d.from&&center<mid)to=Math.min(to,j);if(j>d.from&&center>mid)to=Math.max(to,j);}d.to=to;const shift=r.h+d.gap;d.cards.forEach((c,j)=>{if(c===d.card){c.style.transform=`translateY(${dy}px) scale(1.015)${turned(c)}`;return;}const s=d.from<j&&j<=to?-shift:to<=j&&j<d.from?shift:0;c.style.transform=s?`translateY(${s}px)${turned(c)}`:\"\";});}// Scroll the page while a card is held near the top or bottom edge.\nfunction autoScroll(d){const step=()=>{if(drag!==d||d.axis!==\"y\")return;const edge=90;const y=d.clientY;let v=0;if(y<edge)v=-((edge-y)/edge)*16;else if(y>window.innerHeight-edge)v=(y-(window.innerHeight-edge))/edge*16;if(v){window.scrollBy(0,v);updateReorder(d);}d.raf=requestAnimationFrame(step);};d.raf=requestAnimationFrame(step);}// Spring a card's rotation from `a` (moving at v0 deg/ms) to `target`.\nfunction animateTurn(card,a,v0,target,done){if(reducedMotion())return done();let v=v0*1e3// deg/s\n;let last=performance.now();const k=170;const c=19;const step=now=>{const dt=Math.min(.032,(now-last)/1e3);last=now;v+=(-k*(a-target)-c*v)*dt;a+=v*dt;if(Math.abs(a-target)<.3&&Math.abs(v)<6)return done();setAngle(card,a);requestAnimationFrame(step);};requestAnimationFrame(step);}function finishFlip(d){const card=d.card;// Where a flick would carry it, rounded to the nearest half turn: it rests\n// face-up or turned over, and stays turned over until flipped back or reset.\nconst projected=d.angle+d.vel*180;const target=Math.round(projected/180)*180;const flipped=Math.abs(target/180)%2===1;animateTurn(card,d.angle,d.vel,target,()=>{const i=Array.from(d.main.children).indexOf(card);const flips=readFlips().filter(n=>n!==i);writeFlips(flipped?[...flips,i]:flips);card.toggleAttribute(\"data-gm-flipped\",flipped);restore(d);announceLayout();});}function finishReorder(d){cancelAnimationFrame(d.raf);const{cards,from,to,main}=d;if(from===to||reducedMotion()){if(from!==to)commitOrder(cards,from,to,main);if(from===to){d.card.style.transition=\"transform .3s cubic-bezier(.2,.8,.2,1)\";d.card.style.transform=\"\";window.setTimeout(()=>restore(d),320);}else restore(d);return;}// FLIP: note where everything is drawn now, apply the new order, then\n// animate each card from its old spot to its new one.\nconst before=new Map(cards.map(c=>[c,c.getBoundingClientRect().top]));commitOrder(cards,from,to,main);cards.forEach(c=>{c.style.transition=\"none\";c.style.transform=\"\";});cards.forEach(c=>{const delta=before.get(c)-c.getBoundingClientRect().top;c.style.transform=delta?`translateY(${delta}px)${turned(c)}`:\"\";});void main.offsetHeight;cards.forEach(c=>{c.style.transition=\"transform .34s cubic-bezier(.2,.8,.2,1)\";c.style.transform=\"\";});d.card.removeAttribute(\"data-gm-lifted\");window.setTimeout(()=>restore(d),360);}function commitOrder(cards,from,to,main){const next=cards.slice();const[moved]=next.splice(from,1);next.splice(to,0,moved);const all=Array.from(main.children);const visible=next.map(c=>all.indexOf(c));const rest=all.map((_,i)=>i).filter(i=>!visible.includes(i));writeOrder([...visible,...rest]);installOrderCss();}function onPointerDown(e){if(drag||e.button!==0||!document.documentElement.hasAttribute(ATTR))return;const target=e.target;if(!target||target.closest(SKIP))return;const card=target.closest(CARD_SEL);if(!card||!card.parentElement)return;const touch=e.pointerType!==\"mouse\";const d={card,main:card.parentElement,pointerId:e.pointerId,touch,x0:e.clientX,y0:e.clientY,pageY0:e.clientY+window.scrollY,axis:null,holdTimer:0,saved:new Map,base:0,angle:0,vel:0,lastX:e.clientX,lastT:e.timeStamp,cards:[],rects:[],from:0,to:0,gap:10,clientY:e.clientY,raf:0};if(touch)d.holdTimer=window.setTimeout(()=>{if(drag===d&&!d.axis)lock(d,\"y\");},HOLD_MS);drag=d;}function onPointerMove(e){const d=drag;if(!d||e.pointerId!==d.pointerId)return;const dx=e.clientX-d.x0;const dy=e.clientY-d.y0;d.clientY=e.clientY;if(!d.axis){const ax=Math.abs(dx);const ay=Math.abs(dy);if(Math.max(ax,ay)<LOCK_PX)return;if(ax>ay)lock(d,\"x\");else if(d.touch){// A vertical swipe before the hold fires is a scroll: let it go.\nwindow.clearTimeout(d.holdTimer);drag=null;return;}else lock(d,\"y\");}if(d.axis===\"x\"){const angle=d.base+dx*DEG_PER_PX;const dt=Math.max(1,e.timeStamp-d.lastT);d.vel=.7*d.vel+.3*((angle-d.angle)/dt);d.lastT=e.timeStamp;d.angle=angle;setAngle(d.card,angle);}else updateReorder(d);}function onPointerUp(e){const d=drag;if(!d||e.pointerId!==d.pointerId)return;drag=null;window.clearTimeout(d.holdTimer);document.documentElement.removeAttribute(\"data-gm-dragging\");if(!d.axis)return;suppressClick=true;window.setTimeout(()=>suppressClick=false,0);if(d.axis===\"x\"){// A stale velocity (pointer held still before release) shouldn't fling.\nif(e.timeStamp-d.lastT>80)d.vel=0;finishFlip(d);}else finishReorder(d);}function onClickCapture(e){if(!suppressClick)return;e.preventDefault();e.stopPropagation();suppressClick=false;}// Once a held card is being dragged on touch, stop the page from scrolling.\nfunction onTouchMove(e){if(drag&&drag.axis)e.preventDefault();}function enableGestures(){if(gesturesOn)return;gesturesOn=true;document.addEventListener(\"pointerdown\",onPointerDown,true);window.addEventListener(\"pointermove\",onPointerMove,{passive:true});window.addEventListener(\"pointerup\",onPointerUp);window.addEventListener(\"pointercancel\",onPointerUp);document.addEventListener(\"click\",onClickCapture,true);document.addEventListener(\"touchmove\",onTouchMove,{passive:false});}function disableGestures(){if(!gesturesOn)return;gesturesOn=false;if(drag){restore(drag);drag=null;}document.documentElement.removeAttribute(\"data-gm-dragging\");document.removeEventListener(\"pointerdown\",onPointerDown,true);window.removeEventListener(\"pointermove\",onPointerMove);window.removeEventListener(\"pointerup\",onPointerUp);window.removeEventListener(\"pointercancel\",onPointerUp);document.removeEventListener(\"click\",onClickCapture,true);document.removeEventListener(\"touchmove\",onTouchMove);}// ---- apply ------------------------------------------------------------------\nlet lastSignature=\"\";let pollId=0;function installCss(){const scan=scanSheets();if(scan.signature===lastSignature&&document.getElementById(STYLE_ID))return;lastSignature=scan.signature;let el=document.getElementById(STYLE_ID);if(!el){el=document.createElement(\"style\");el.id=STYLE_ID;document.head.appendChild(el);}el.textContent=buildCss(scan);}function setEnvironment(url){let layer=document.getElementById(ENV_ID);if(!layer){layer=document.createElement(\"div\");layer.id=ENV_ID;layer.setAttribute(\"aria-hidden\",\"true\");document.body.prepend(layer);}if(!url)return;const current=layer.lastElementChild;if(current&&current.dataset.src===url)return;const next=document.createElement(\"div\");next.dataset.src=url;next.style.backgroundImage=`url(\"${url}\")`;next.style.opacity=current?\"0\":\"1\";layer.appendChild(next);if(current){requestAnimationFrame(()=>next.style.opacity=\"1\");const olds=Array.from(layer.children).filter(c=>c!==next);window.setTimeout(()=>olds.forEach(o=>o.remove()),800);}}function applyGlass(on,env){if(typeof document===\"undefined\")return;const root=document.documentElement;if(on){installCss();setEnvironment(env);if(env)applyAlpha(env);installOrderCss();root.setAttribute(ATTR,\"\");enableGestures();// Framer injects page CSS on client-side navigation; rescan when it changes.\nif(!pollId)pollId=window.setInterval(()=>{installCss();installOrderCss();},900);}else{disableGestures();root.removeAttribute(ATTR);if(pollId){window.clearInterval(pollId);pollId=0;}}}function setGlass(on,env){writeStored(on,env);applyGlass(on,env);window.dispatchEvent(new CustomEvent(EVENT,{detail:{on,env}}));}function useGlassState(isStatic){const[state,setState]=useState({on:false,env:null});useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;const stored=readStored();startTransition(()=>setState(stored));const onChange=e=>{const d=e.detail;startTransition(()=>setState({on:d.on,env:d.env}));};window.addEventListener(EVENT,onChange);return()=>window.removeEventListener(EVENT,onChange);},[isStatic]);return state;}const DEFAULT_ENVS=[{name:\"Living Room\",image:{src:\"https://images.unsplash.com/photo-1600210492493-0946911123ea?crop=entropy&cs=srgb&fm=jpg&q=85&w=2400\",alt:\"Living room with a sofa and tall windows\"}},{name:\"Alpine Lake\",image:{src:\"https://images.unsplash.com/photo-1559310589-2673bfe16970?crop=entropy&cs=srgb&fm=jpg&q=85&w=2400\",alt:\"Turquoise lake below snow-capped mountains\"}},{name:\"Desert Dusk\",image:{src:\"https://images.unsplash.com/photo-1768207750853-adfafdc6bbc8?crop=entropy&cs=srgb&fm=jpg&q=85&w=2400\",alt:\"Sand dunes under a sunset sky\"}}];const VIDEO_EXT=/\\.(mp4|webm|mov|m4v)(\\?|#|$)/i;const SECTION_CSS=`\n.gm-root{container-type:inline-size;width:100%;font-family:${FONT};color:${INK}}\n.gm-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:48px;align-items:center}\n@container (max-width:760px){.gm-grid{grid-template-columns:minmax(0,1fr);gap:32px}}\n.gm-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}\n.gm-thumb{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:8px;min-width:0}\n.gm-thumb:focus-visible .gm-thumb-img{outline:2px solid ${ORANGE};outline-offset:3px}\n.gm-thumb-img{position:relative;aspect-ratio:4/3;border-radius:4px;overflow:hidden;background:${SURFACE2};box-shadow:0 0 0 1px ${RULE};transition:box-shadow .2s ease, transform .2s ease}\n.gm-thumb:hover .gm-thumb-img{transform:translateY(-2px)}\n.gm-thumb[aria-pressed=\"true\"] .gm-thumb-img{box-shadow:0 0 0 2px ${ORANGE}}\n.gm-thumb-img img{width:100%;height:100%;object-fit:cover;display:block}\n.gm-switch{all:unset;box-sizing:border-box;cursor:pointer;flex:none;position:relative;width:52px;height:32px;border-radius:999px;background:${RULE};transition:background .25s ease}\n.gm-switch[aria-checked=\"true\"]{background:${ORANGE}}\nhtml[${ATTR}] .gm-switch{background:rgba(255,255,255,0.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.18)}\nhtml[${ATTR}] .gm-switch[aria-checked=\"true\"]{background:${ORANGE};box-shadow:none}\n.gm-switch:focus-visible{outline:2px solid ${ORANGE};outline-offset:3px}\n.gm-knob{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,0.22);transition:transform .32s cubic-bezier(.3,1.4,.5,1)}\n.gm-switch[aria-checked=\"true\"] .gm-knob{transform:translateX(20px)}\n@media (prefers-reduced-motion:reduce){.gm-knob,.gm-switch,.gm-thumb-img{transition:none}}\n`;function DemoMedia({src}){const frame={position:\"relative\",width:\"100%\",aspectRatio:\"16 / 10\",borderRadius:4,overflow:\"hidden\",background:SURFACE2,boxShadow:`0 0 0 1px ${RULE}`};if(!src){return /*#__PURE__*/_jsxs(\"div\",{style:{...frame,boxShadow:\"none\",border:`1.5px dashed ${tok(T.borderSubtle,\"#999\")}`,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",gap:12,textAlign:\"center\",padding:24,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"32\",height:\"32\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:MUTED,strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m6.2 5.3 3.1 3.9\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m12.4 3.4 3.1 4\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:15,fontWeight:500,color:INK},children:\"Demo GIF goes here\"}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:13,color:MUTED,maxWidth:280,lineHeight:1.4},children:\"Add a GIF or video of glass mode in the Demo property.\"})]});}return /*#__PURE__*/_jsx(\"div\",{style:frame,children:VIDEO_EXT.test(src)?/*#__PURE__*/_jsx(\"video\",{src:src,autoPlay:true,muted:true,loop:true,playsInline:true,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}}):/*#__PURE__*/_jsx(\"img\",{src:src,alt:\"Recording of the site in Liquid Glass mode\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}})});}function OffPill({onOff}){const[custom,setCustom]=useState(false);useEffect(()=>{setCustom(hasCustomLayout());const on=e=>setCustom(!!e.detail?.custom);window.addEventListener(ORDER_EVENT,on);return()=>window.removeEventListener(ORDER_EVENT,on);},[]);const pillButton={all:\"unset\",cursor:\"pointer\",padding:\"8px 14px\",borderRadius:999,background:\"rgba(255,255,255,0.14)\",fontWeight:500};return /*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(\"div\",{role:\"region\",\"aria-label\":\"Liquid Glass mode\",style:{position:\"fixed\",left:\"50%\",bottom:20,transform:\"translateX(-50%)\",zIndex:50,display:\"flex\",alignItems:\"center\",gap:12,padding:\"8px 8px 8px 18px\",borderRadius:999,background:\"rgba(30,30,36,0.5)\",WebkitBackdropFilter:\"blur(28px) saturate(1.8)\",backdropFilter:\"blur(28px) saturate(1.8)\",border:\"1px solid rgba(255,255,255,0.16)\",boxShadow:\"inset 0 1px 0 rgba(255,255,255,0.18), 0 12px 32px rgba(0,0,0,0.3)\",fontFamily:FONT,color:\"rgba(255,255,255,0.92)\",fontSize:14,whiteSpace:\"nowrap\"},children:[/*#__PURE__*/_jsx(\"span\",{children:\"Liquid Glass\"}),custom?/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:resetOrder,style:{...pillButton,background:\"transparent\"},children:\"Reset layout\"}):null,/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:onOff,style:pillButton,children:\"Turn off\"})]}),document.body);}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function GlassMode(props){const{role=\"section\",title=\"Liquid Glass\",description=\"Turn every surface on this site into frosted glass, floating in a room of your choosing, the way it might look through Apple Vision Pro.\",environmentLabel=\"Environment\",footnote=\"Experimental. Once on, drag a section sideways to spin it, or up and down to rearrange the page.\",demo}=props;const envs=[props.env1,props.env2,props.env3].map((e,i)=>({name:e?.name||DEFAULT_ENVS[i].name,image:e?.image?.src?e.image:DEFAULT_ENVS[i].image}));const isStatic=useIsStaticRenderer();const{on,env}=useGlassState(isStatic);const selected=Math.max(0,envs.findIndex(e=>e.image.src===env));// The runtime instance applies the stored choice on every page load.\nuseEffect(()=>{if(isStatic||role!==\"runtime\"||typeof window===\"undefined\")return;const stored=readStored();if(stored.on)applyGlass(true,stored.env||envs[0].image.src);},[isStatic,role]);const toggle=useCallback(()=>{if(isStatic)return;setGlass(!on,envs[selected].image.src);},[isStatic,on,selected,envs]);const pick=useCallback(i=>{if(isStatic)return;const url=envs[i].image.src;if(on)setGlass(true,url);else{writeStored(false,url);window.dispatchEvent(new CustomEvent(EVENT,{detail:{on:false,env:url}}));}},[isStatic,on,envs]);if(role===\"runtime\"){return /*#__PURE__*/_jsx(\"div\",{style:{...props.style,width:1,height:1,overflow:\"hidden\"},\"aria-hidden\":!on,children:!isStatic&&on&&typeof document!==\"undefined\"?/*#__PURE__*/_jsx(OffPill,{onOff:()=>setGlass(false,env)}):null});}return /*#__PURE__*/_jsxs(\"div\",{className:\"gm-root\",style:{...props.style,position:\"relative\",height:\"auto\"},children:[/*#__PURE__*/_jsx(\"style\",{children:SECTION_CSS}),/*#__PURE__*/_jsxs(\"div\",{className:\"gm-grid\",children:[/*#__PURE__*/_jsx(DemoMedia,{src:demo}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:28,minWidth:0},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:12},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:16},children:[/*#__PURE__*/_jsx(\"span\",{id:\"gm-title\",style:{fontSize:24,fontWeight:500,letterSpacing:\"-0.03em\",lineHeight:1.15},children:title}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",role:\"switch\",\"aria-checked\":on,\"aria-labelledby\":\"gm-title\",className:\"gm-switch\",onClick:toggle,children:/*#__PURE__*/_jsx(\"span\",{className:\"gm-knob\"})})]}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontSize:16,lineHeight:1.45,letterSpacing:\"-0.015em\",color:BODY},children:description})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:12},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:13,fontWeight:600,letterSpacing:\"0.06em\",textTransform:\"uppercase\",color:MUTED},children:environmentLabel}),/*#__PURE__*/_jsx(\"div\",{className:\"gm-thumbs\",role:\"group\",\"aria-label\":environmentLabel,children:envs.map((e,i)=>/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"gm-thumb\",\"aria-pressed\":i===selected,onClick:()=>pick(i),children:[/*#__PURE__*/_jsx(\"span\",{className:\"gm-thumb-img\",children:/*#__PURE__*/_jsx(\"img\",{src:e.image.src,srcSet:e.image.srcSet,sizes:\"160px\",alt:\"\",loading:\"lazy\"})}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:14,letterSpacing:\"-0.01em\",color:i===selected?INK:BODY,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:e.name})]},i))})]}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontSize:13,lineHeight:1.4,color:MUTED},children:footnote})]})]})]});}const envControl=n=>({type:ControlType.Object,title:`Environment ${n}`,hidden:p=>p.role===\"runtime\",controls:{name:{type:ControlType.String,title:\"Name\",defaultValue:DEFAULT_ENVS[n-1].name},image:{type:ControlType.ResponsiveImage,title:\"Background\"}}});addPropertyControls(GlassMode,{role:{type:ControlType.Enum,title:\"Role\",options:[\"section\",\"runtime\"],optionTitles:[\"Section\",\"Runtime\"],defaultValue:\"section\",displaySegmentedControl:true,description:\"Runtime goes in the layout template: it keeps glass on across pages.\"},demo:{type:ControlType.File,title:\"Demo\",allowedFileTypes:[\"gif\",\"mp4\",\"webm\",\"mov\",\"png\",\"jpg\",\"jpeg\",\"webp\"],hidden:p=>p.role===\"runtime\"},env1:envControl(1),env2:envControl(2),env3:envControl(3),title:{type:ControlType.String,title:\"Title\",defaultValue:\"Liquid Glass\",hidden:p=>p.role===\"runtime\"},description:{type:ControlType.String,title:\"Description\",displayTextArea:true,defaultValue:\"Turn every surface on this site into frosted glass, floating in a room of your choosing, the way it might look through Apple Vision Pro.\",hidden:p=>p.role===\"runtime\"},environmentLabel:{type:ControlType.String,title:\"Env. Label\",defaultValue:\"Environment\",hidden:p=>p.role===\"runtime\"},footnote:{type:ControlType.String,title:\"Footnote\",displayTextArea:true,defaultValue:\"Experimental. Once on, drag a section sideways to spin it, or up and down to rearrange the page.\",hidden:p=>p.role===\"runtime\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GlassMode\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GlassMode.map"],"mappings":"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"}