:root{--card-width-design: 300;--card-height-design: 420;--card-fit: .8;--card-width: 300px;--card-height: 420px;--card-depth: calc(var(--card-width) * .02);--dpr: 1;--pointer-from-center: 0;--pointer-x: 50%;--pointer-y: 50%;--rainbow-x: 50%;--rainbow-y: 50%;--ff-scale: 1.27;--ff-anchor-x: .5;--ff-anchor-y: .5;--ff-offset-x: 0;--ff-offset-y: 0;--ff-nudge-x: 0px;--ff-nudge-y: 0px;--ff-width-mul: 1;--ff-height-mul: 1;--ff-bleed: .14;--ff-z-lift: calc(var(--card-depth) / 2);--z-scale: 1;--z-unit: calc(1px * var(--z-scale));--overlay-shine-z-design: 2;--overlay-nameplate-z-design: 6;--overlay-text-z-design: 3;--plane-eps-design: 1;--z-plane-eps: calc(var(--plane-eps-design) * var(--z-unit));--z-shine: calc(var(--overlay-shine-z-design) * var(--z-unit));--z-nameplate: calc(var(--overlay-nameplate-z-design) * var(--z-unit));--z-text: calc(var(--overlay-text-z-design) * var(--z-unit));--ff-ahead-of-nameplate-design: -1.5;--ff-z-target: calc( (var(--overlay-nameplate-z-design) + var(--ff-ahead-of-nameplate-design)) * var(--z-unit) );--ff-z-boost: calc(var(--ff-z-target) - var(--ff-z-lift));--z-shaderback: calc(.6 * var(--card-depth) - var(--z-plane-eps));--np-top: calc(var(--card-height) * .692857);--np-left: calc(var(--card-width) * .02);--np-width: calc(var(--card-width) * .95);--sized-top: calc(var(--card-height) * .381);--ap-left: calc(var(--card-width) * .25);--np-width-frac: .28;--np-right-frac: .73;--np-bottom-frac: .000004;--np-scale: .6;--edge-left-x: 0px;--edge-left-y: 0px;--edge-left-z: 0px;--edge-right-x: 0px;--edge-right-y: 0px;--edge-right-z: 0px;--edge-top-x: 0px;--edge-top-y: 0px;--edge-top-z: 0px;--edge-bottom-x: 0px;--edge-bottom-y: -1px;--edge-bottom-z: 0px;--bottom-top-percent: 150%;--edge-eps: 0px;--edge-eps-bottom: max(1px, calc(1.2 * var(--z-unit)));--seam: .75px;--edge-blue-dark: #3c3c3c;--edge-blue-light: #5a5a5a;--edge-tilt-bottom: .12deg;--back-font-pw: .034;--back-line-pw: .05;--back-top-ph: .0714286;--backshader-scale: 1;--backshader-tx: 0px;--backshader-ty: 0px;--backshader-rot: 0deg}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;background:linear-gradient(180deg,#efefef,#d6d6d6);overflow:hidden;overscroll-behavior:none;scrollbar-gutter:stable;touch-action:none;-webkit-tap-highlight-color:transparent;background-repeat:no-repeat;background-size:cover;background-image:url(/torrey_pines/BG_Torrey_Pines.webp)}.container{width:100vw;height:100dvh;display:flex;justify-content:center;align-items:center;perspective:4000px;position:relative;background:transparent!important;overflow:clip;z-index:1}#cardWrapper{position:relative;width:var(--card-width);height:var(--card-height);transform-style:preserve-3d;transform-origin:50% 50%;will-change:transform;overflow:visible}.card3D{position:absolute;inset:0;width:100%;height:100%;transform-style:preserve-3d;backface-visibility:visible;transform-origin:50% 50%;overflow:visible}.face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform-style:preserve-3d;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent;transform-origin:50% 50%}.front{background-color:transparent!important;transform:translateZ(calc(var(--card-depth) / 2));overflow:hidden;backface-visibility:visible}.back{background-color:transparent!important;transform:rotateY(180deg) translateZ(calc(var(--card-depth) / 2));backface-visibility:hidden}.face.left,.face.right,.face.top,.face.bottom{background-color:var(--edge-blue-dark)}.face.left{left:50%;top:50%;width:var(--card-depth);height:calc(var(--card-height) + (var(--seam) * 2));z-index:2;backface-visibility:visible;transform:translate(-50%,-50%) rotateY(90deg) translateZ(calc(var(--card-width) / -2 + var(--edge-eps))) translate(var(--edge-left-x)) translateY(var(--edge-left-y)) translateZ(var(--edge-left-z))}.face.right{left:50%;top:50%;width:var(--card-depth);height:calc(var(--card-height) + (var(--seam) * 2));z-index:2;backface-visibility:hidden;transform:translate(-50%,-50%) rotateY(90deg) translateZ(calc(var(--card-width) / 2 + var(--edge-eps))) translate(var(--edge-right-x)) translateY(var(--edge-right-y)) translateZ(var(--edge-right-z))}.face.top{left:50%;top:50%;width:calc(var(--card-width) + (var(--seam) * 2));height:var(--card-depth);z-index:2;backface-visibility:visible;transform:translate(-50%,-50%) rotateX(-90deg) translateZ(calc(var(--card-height) / -2 + var(--edge-eps))) translate(var(--edge-top-x)) translateY(var(--edge-top-y)) translateZ(var(--edge-top-z))}.face.bottom{left:50%;top:50%;width:calc(var(--card-width) + (var(--seam) * 2));height:var(--card-depth);z-index:2;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translate(-50%,-50%) rotateX(calc(90deg + var(--edge-tilt-bottom))) translateZ(calc(-1 * var(--card-height) / 2 - var(--edge-eps-bottom))) translate(var(--edge-bottom-x)) translateY(var(--edge-bottom-y)) translateZ(var(--edge-bottom-z))}.r3f-front-wrapper{position:absolute;inset:0;pointer-events:auto;transform-origin:50% 50%;transform:translateZ(.5px);z-index:8}.r3f-front-wrapper canvas{display:block;position:absolute;inset:0;width:100%;height:100%;background:transparent;max-width:100%;max-height:100%;overflow:clip}.shine-overlay-wrapper{position:absolute;inset:0;transform:translateZ(var(--z-shine));pointer-events:none;z-index:5}.shine-gradient{width:100%;height:100%;background:linear-gradient(120deg,red,#ff5f00,#fa0,#fe0,#cf0,#6f0,#0f9,#0ff,#0af,#05f,#50f,#a0f,#f0a,#f07,#f04 84%,red);background-size:300% 300%;background-repeat:repeat;background-position:var(--rainbow-x, 50%) var(--rainbow-y, 50%);mix-blend-mode:multiply;opacity:0;mask-image:radial-gradient(circle at var(--pointer-x) var(--pointer-y),white 20%,rgba(255,255,255,.5) 50%,transparent 80%);-webkit-mask-image:radial-gradient(circle at var(--pointer-x) var(--pointer-y),white 20%,rgba(255,255,255,.5) 50%,transparent 80%)}.number-wrapper{position:absolute;inset:0;transform-style:preserve-3d;display:flex;align-items:center;justify-content:center;backface-visibility:visible;pointer-events:none;z-index:20}.front-number-wrapper{transform:translateZ(var(--z-text))}.number{font-size:180px;font-weight:900;color:#fff;font-family:Times New Roman,Impact,serif;mix-blend-mode:screen;opacity:.9;backface-visibility:hidden;z-index:21;position:relative}.sized{font-size:39px;font-weight:900;color:#3decff;font-family:Times New Roman,Impact,serif;animation:pulseGlow 2s ease-in-out infinite;mix-blend-mode:screen;opacity:1;backface-visibility:hidden;z-index:21;position:relative;top:var(--sized-top)}.back-number-wrapper{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform:translateZ(var(--z-text))}.back-number-wrapper .number{width:100%;display:flex;justify-content:center;top:34%;left:38%}.back-number-wrapper .sized_two{width:calc(var(--card-width) * .76);margin:0 auto;text-align:center;position:static}.sized_two{font-size:calc(var(--card-width) * var(--back-font-pw));line-height:calc(var(--card-width) * var(--back-line-pw));color:#a7a7a7;font-family:Arial,Helvetica,sans-serif;font-weight:200;mix-blend-mode:normal;opacity:1}.nameplate-overlay-wrapper{position:absolute;transform:translateZ(var(--z-nameplate));pointer-events:none;z-index:10;top:var(--np-top);left:var(--np-left);width:var(--np-width);height:auto}.nameplate-wrapper{position:absolute;bottom:calc(var(--card-height) * var(--np-bottom-frac));right:calc(var(--card-width) * var(--np-right-frac));width:calc(var(--card-width) * var(--np-width-frac));transform:translateZ(var(--z-nameplate)) scale(var(--np-scale));transform-origin:50% 50%;pointer-events:none;z-index:30}.nameplate-svg{width:100%;height:auto;display:block;filter:drop-shadow(0 0 4px rgb(228,228,228));opacity:0}.hitbox{position:absolute;inset:0;z-index:1000;pointer-events:auto;cursor:grab}@media (prefers-reduced-motion: reduce){.face.left,.face.right,.face.top,.face.bottom{position:absolute}.sized{animation:none}}@keyframes pulseGlow{0%,to{text-shadow:0 0 6px rgb(232,0,0),0 0 12px rgb(252,0,0),0 0 20px rgb(243,0,0);filter:brightness(1.2)}50%{text-shadow:0 0 12px rgba(255,0,0,.991),0 0 24px rgb(255,0,0),0 0 32px rgb(255,0,0);filter:brightness(1.6)}}#cardWrapper[data-size=xs] .face.top,#cardWrapper[data-size=xs] .face.bottom{width:calc(var(--card-width) + 1px)}#cardWrapper[data-size=xs] .face.left,#cardWrapper[data-size=xs] .face.right{height:calc(var(--card-height) + 1px)}#cardWrapper[data-size=xs] .face.left,#cardWrapper[data-size=xs] .face.right,#cardWrapper[data-size=xs] .face.top,#cardWrapper[data-size=xs] .face.bottom,.face.left,.face.top,.face.bottom{backface-visibility:visible!important;-webkit-backface-visibility:visible!important}.face.right{backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important}html.ios{--edge-eps: .75px}html.ios .face.front,html.ios .face.back,html.ios .face.left,html.ios .face.top,html.ios .face.bottom,html.ios .face.right{backface-visibility:visible!important;-webkit-backface-visibility:visible!important}.r3f-back-wrapper{position:absolute;inset:0;pointer-events:none;transform-origin:50% 50%;transform:translateZ(-.5px);overflow:hidden}.foil-overlay-back-wrapper{position:absolute;inset:0;pointer-events:none;transform:translateZ(calc(var(--z-shaderback) + 1px));z-index:4;background:transparent;opacity:.75;mix-blend-mode:color-dodge;filter:saturate(1.05) contrast(1.08) brightness(1.02)}.foil-overlay-back-wrapper canvas{background:transparent!important}.card-image-wrapper-two{position:absolute;inset:0;transform:translateZ(var(--z-text));pointer-events:none;z-index:12;mix-blend-mode:none;opacity:1}.card-image{width:100%;height:100%;object-fit:cover;display:block}.color-overlay-wrapper{position:absolute;inset:0;transform:translateZ(calc(var(--z-shaderback) + .5px));pointer-events:none;z-index:2;mix-blend-mode:color;opacity:0}.color-overlay-image{width:100%;height:100%;object-fit:cover;opacity:0;display:block;filter:brightness(1) contrast(1)}.holoswirl-overlay-wrapper{position:absolute;inset:0;transform:translateZ(calc(var(--z-shaderback) + .75px));pointer-events:none;z-index:0;mix-blend-mode:none;opacity:1}.holoswirl-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:none}.r3f-front-overlay-wrapper{position:absolute;inset:0;pointer-events:none;transform-origin:50% 50%;z-index:9;-webkit-mask-image:url(/torrey_pines/r3f_mask.png);mask-image:url(/torrey_pines/r3f_mask.png);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;mask-mode:alpha}.r3f-front-overlay-wrapper canvas{display:block;position:absolute;inset:0;width:100%;height:100%;background:transparent;max-width:100%;max-height:100%;overflow:clip}html.ios .r3f-front-overlay-wrapper{-webkit-mask-image:none!important;mask-image:none!important}.foil-mask-front{position:absolute;inset:0;overflow:hidden;pointer-events:auto}.foil-mask-front canvas{width:100%!important;height:100%!important;display:block}@media (max-width: 768px){:root{--card-width: min(82vw, 320px);--card-height: calc(var(--card-width) * 7 / 5)}}.pattern-button-wrapper{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:2000;pointer-events:none}.pattern-controls{display:inline-flex;align-items:center;gap:10px;pointer-events:auto;padding:6px 10px;border-radius:999px;background:#f5f5f5d9;box-shadow:0 10px 30px #0000002e,0 0 0 1px #ffffffb3;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.pattern-button{border:none;outline:none;padding:8px 14px;border-radius:999px;background:#ffffffe6;box-shadow:0 2px 6px #00000026,0 0 0 1px #00000008;display:inline-flex;align-items:center;gap:6px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:transform .15s ease-out,box-shadow .15s ease-out,background .15s ease-out,opacity .15s ease-out;opacity:.96}.pattern-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003,0 0 0 1px #0000000d;background:#fff;opacity:1}.pattern-button:active{transform:translateY(0) scale(.98);box-shadow:0 1px 4px #00000040,0 0 0 1px #00000012}.pattern-indicator{border-radius:999px;padding:6px 12px;background:#121212e0;box-shadow:0 3px 12px #00000040,0 0 0 1px #ffffff14;display:inline-flex;align-items:center;gap:6px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#f5f5f5}.pattern-label{opacity:.72}.pattern-value{font-weight:600;font-size:10px;padding:2px 8px;border-radius:999px;background:#f5f5f5;color:#111}.pattern-arrow{font-size:11px}@media (max-width: 480px){.pattern-controls{padding:4px 8px;gap:6px}.pattern-button{padding:6px 10px;font-size:9px;letter-spacing:.18em}.pattern-indicator{padding:4px 8px;font-size:9px;letter-spacing:.14em}.pattern-value{padding:2px 6px;font-size:9px}}.tune-dock{position:fixed;left:12px;bottom:12px;z-index:9999;width:min(360px,calc(100vw - 24px));pointer-events:auto;-webkit-user-select:none;user-select:none}.tune-dock.closed .tune-body{display:none}.tune-header{display:flex;gap:8px;align-items:center;padding:10px;border-radius:12px;background:#0a0a0cb8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.tune-toggle,.tune-reset,.tune-tab{appearance:none;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#ffffffeb;border-radius:10px;padding:8px 10px;font-size:12px;line-height:1}.tune-tabs{display:flex;gap:6px;margin-left:auto}.tune-tab.active{background:#ffffff24;border-color:#ffffff38}.tune-body{margin-top:10px;padding:12px;border-radius:12px;background:#0a0a0cb8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.tune-note{font-size:12px;color:#ffffffc7;margin-bottom:10px}.tune-row{margin:10px 0}.tune-row-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;gap:10px}.tune-label{font-size:12px;color:#ffffffe6;display:flex;gap:8px;align-items:baseline}.tune-hint{font-size:11px;color:#ffffff8c}.tune-value{font-size:12px;color:#fffc;font-variant-numeric:tabular-nums}.tune-slider{width:100%}@media (max-width: 768px){.tune-dock{left:10px;right:10px;width:calc(100vw - 20px)}.tune-body{max-height:42vh;overflow:auto}.tune-toggle,.tune-reset,.tune-tab{padding:10px 12px;font-size:12px}}.pattern-button-wrapper{z-index:20000}.pattern-button-wrapper{bottom:calc(28px + env(safe-area-inset-bottom))}@media (max-width: 480px){.tune-dock{bottom:auto;top:calc(10px + env(safe-area-inset-top))}.tune-dock{width:min(340px,calc(100vw - 20px))}}
