/* Portal glass tap — the styles the script expects. The stage is the box's parent. */
.gt-stage{position:relative;overflow:hidden;isolation:isolate;display:grid;place-items:center;background:#060409}
.gt-gl,.gt-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.gt-canvas{filter:blur(var(--gt-blur,2.5px))}
.gt-box{position:relative;cursor:pointer;appearance:none;margin:0;color:#FBF6EA;font:inherit;-webkit-tap-highlight-color:transparent}
.gt-box:focus-visible{outline:2px solid #C2CCE5;outline-offset:6px}
/* frosted: the Portal OS card look, with a thin spectrum on the top edge */
.gt-frosted{background:rgba(14,10,18,.46);backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15);
  border:1px solid rgba(251,246,234,.11);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.gt-frosted::before{content:"";position:absolute;left:12%;right:12%;top:-1px;height:1px;pointer-events:none;opacity:.75;
  background:linear-gradient(90deg,transparent,#FF3B2F 14%,#FF8A1F 26%,#FFE14A 38%,#3DFF8A 50%,#45D4FF 62%,#2F7BFF 74%,#8A5CFF 86%,transparent)}
/* clear: the box itself is a lens (the glass program draws the bend; this is just the rim) */
.gt-clear{background:rgba(6,4,9,.08);border:1px solid rgba(255,255,255,.45);text-shadow:0 1px 10px rgba(0,0,0,.75);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -1px 0 rgba(255,255,255,.2),0 10px 30px rgba(0,0,0,.25)}
.gt-press{animation:gt-press .5s ease-out}
@keyframes gt-press{0%{transform:scale(1)}18%{transform:scale(.975)}100%{transform:scale(1)}}
/* fallback rings, used when there is no picture or no graphics card */
.gt-frame{position:absolute;left:0;top:0;pointer-events:none;box-sizing:border-box;opacity:0;border:1px solid rgba(255,255,255,.42);
  background:linear-gradient(165deg,rgba(255,255,255,.2) 0%,rgba(255,255,255,.04) 30%,rgba(255,255,255,0) 55%,rgba(190,210,255,.07) 100%);
  backdrop-filter:blur(2.5px) saturate(1.7) brightness(1.18);-webkit-backdrop-filter:blur(2.5px) saturate(1.7) brightness(1.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(255,255,255,.18);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude}
.gt-in{position:absolute;inset:4px;border:1px solid rgba(255,255,255,.34)}
.gt-rim{position:absolute;left:14%;right:14%;top:0;height:1px;opacity:.75;background:linear-gradient(90deg,transparent,#FF3B2F 14%,#FFE14A 38%,#3DFF8A 50%,#45D4FF 62%,#8A5CFF 86%,transparent)}
@media (prefers-reduced-motion:reduce){.gt-press{animation:none}}
