/* Home-page glass study. Table anchor by default; optional mobile tilt physics. */
.home-marble{position:absolute;margin:0;padding:0;border:0;background:transparent;appearance:none;border-radius:50%;z-index:1;pointer-events:auto;isolation:isolate;cursor:pointer}
.home-marble:focus-visible:not([data-pointer-focus]):not([aria-expanded="true"]){outline:2px solid #00e5e5;outline-offset:5px}
.home-marble-glass{pointer-events:none}
.home-marble[hidden]{display:none!important}
.home-marble::before{content:"";position:absolute;left:7%;top:91%;width:91%;height:15%;border-radius:50%;background:radial-gradient(ellipse,rgba(12,12,22,.65),rgba(20,17,28,.3) 42%,transparent 72%);filter:blur(2px);transform:rotate(5deg);z-index:-1}
.home-marble-glass{position:absolute;inset:0;overflow:hidden;border-radius:50%;background:rgba(190,206,226,.035)}
.home-marble canvas{position:absolute;inset:0;width:100%;height:100%}
.home-marble-inclusions{opacity:.76}
.home-marble-ambient{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,transparent 61%,rgba(164,186,210,.025) 77%,rgba(191,207,226,.17) 92%,rgba(173,192,216,.08) 98%,transparent 100%)}
.home-marble-reflection{position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse at 29% 22%,rgba(255,247,239,.75),rgba(255,228,222,.13) 7%,transparent 17%),radial-gradient(ellipse at 71% 78%,rgba(178,214,239,.23),transparent 25%),linear-gradient(135deg,rgba(244,190,204,.13),transparent 47%)}
.home-marble-info-orbit{position:absolute;left:50%;top:50%;width:42.5%;height:42.5%;transform:translate3d(-50%,-50%,0);transform-origin:50% 50%;transform-style:preserve-3d;will-change:transform}
/* Shared badge styling and ra-info-badge-pulse; rotation belongs to the outer layer. */
.home-marble-info{box-sizing:border-box;width:100%;height:100%;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,229,229,.8);border-radius:50%;background:rgba(17,27,29,.75);color:#00e5e5;font:400 clamp(13px,1.5vw,25px)/1 Georgia,serif;text-align:center;box-shadow:0 0 9px rgba(0,229,229,.25)}
.home-marble-coin{position:absolute;inset:0;border-radius:50%;transform-style:preserve-3d}
.home-marble-coin .home-marble-info{position:absolute;inset:0;backface-visibility:hidden;background:rgba(17,27,29,.9)}
.home-marble-coin-front{transform:translateZ(calc(var(--coin-depth) / 2))}
.home-marble-coin-back{transform:rotateY(180deg) translateZ(calc(var(--coin-depth) / 2))}
.home-marble-coin-edge{position:absolute;left:50%;top:50%;width:calc(var(--coin-radius) * .201);height:var(--coin-depth);background:linear-gradient(to bottom,#75e6df,#168b91 45%,#005f66 70%,#61cac9);transform:translate(-50%,-50%) rotateZ(var(--facet)) translateY(calc(-1 * var(--coin-radius))) rotateX(90deg);backface-visibility:hidden}
/* No global touch interception: the mobile ribbon and home scrolling still work. */
.home-marble-rolling{position:fixed;z-index:2147483002;will-change:transform}
.home-marble-rolling::before{left:5%;top:7%;width:95%;height:95%;transform:translate(3px,4px);background:radial-gradient(circle,rgba(12,12,22,.28) 45%,transparent 72%);filter:blur(2px)}
.home-marble-tilt{--marble-safe-top:env(safe-area-inset-top,0px);--marble-safe-bottom:env(safe-area-inset-bottom,0px);position:fixed;left:50%;right:auto;transform:translateX(-50%);text-align:center;box-sizing:border-box;width:max-content;bottom:max(12px,env(safe-area-inset-bottom));z-index:60;max-width:calc(100vw - 24px);padding:0;border-radius:0;background:transparent;color:#f6f7f6;font:400 12px/1.35 "IBM Plex Sans",sans-serif;box-shadow:none}
.home-marble-tilt[hidden]{display:none!important}
.home-marble-tilt>div{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}
.home-marble-tilt button{min-height:44px;padding:7px 12px;border:1px solid rgba(194,222,222,.35);border-radius:22px;background:rgba(23,29,31,.38);color:#f5ffff;font-family:inherit;font-size:12px;font-weight:400;line-height:1.2;touch-action:manipulation}
.home-marble-tilt button:disabled{opacity:.6}
.home-marble-tilt button:focus-visible{outline:2px solid #00e5e5;outline-offset:3px}
.home-marble-tilt p{margin:6px auto 0;max-width:270px;padding:8px 12px;border-radius:8px;background:rgba(23,29,31,.9)}
.home-marble-tilt [hidden]{display:none!important}


.home-marble-tilt output{display:block;margin:0;color:#c0eeeb;text-shadow:0 1px 4px #000;white-space:nowrap;font-variant-numeric:tabular-nums}
.home-marble-tilt output[hidden]{display:none}

.home-marble-dialog .home-marble-tip{color:#00e5e5;font-style:italic}

/* Compact bottom controls; instructions live in the site introduction. */
.home-marble-tilt [data-tilt]{position:static;min-width:96px;opacity:1;transition:opacity .4s ease;background:rgba(23,29,31,.38);box-shadow:0 1px 6px #0002}
.home-marble-tilt [data-tilt][aria-pressed="true"]{opacity:1}
.home-marble-tilt [data-tilt]:active{opacity:1}

/* Touch activation must not leave a keyboard ring around the rolling glass. */
.home-marble{-webkit-tap-highlight-color:transparent}
.home-marble[data-pointer-focus],.home-marble[aria-expanded="true"]{outline:none}

.home-marble-tilt [data-reset]{min-width:44px;color:#c5d6d6;border-color:transparent;background:rgba(23,29,31,.2)}

/* Opted-in rolling glass owns its drag gesture; other page gestures stay available. */
.home-marble-rolling{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}
.home-marble-rolling.home-marble-grabbed{cursor:grabbing}
