.spoon-defs { position: absolute; width: 0; height: 0; overflow: hidden; }

.spoon-link {
  display: inline-flex; vertical-align: middle; border-radius: 50%; line-height: 0;
  text-decoration: none; transition: transform .12s ease;
  -webkit-tap-highlight-color: transparent;
}
.spoon-link:hover { transform: scale(1.06); }
.spoon-link:focus-visible { outline: 2px solid #4b8ff5; outline-offset: 2px; }

.spoon { display: inline-block; vertical-align: middle; flex: none; }
.spoon .plate { fill: #111a26; }
.spoon .seg { fill: none; stroke-width: 2.3; stroke-linecap: round; }
.spoon .seg-off { stroke: #28344a; }

.t-dirt    .plate { fill: #231a12; }
.t-dirt    .seg-on { stroke: #B5793D; }
.t-dirt    .body { fill: url(#gDirt); }

.t-plastic .plate { fill: #161d26; }
.t-plastic .seg-on { stroke: #7C8794; }
.t-plastic .body { fill: #5A6673; }

.t-silver  .plate { fill: #1b2532; }
.t-silver  .seg-on { stroke: #DCE7F2; }
.t-silver  .body { fill: #EDF3F9; }

.t-gold    .plate { fill: #2b2210; }
.t-gold    .seg-on { stroke: #FFC63D; }
.t-gold    .body { fill: url(#gGold); }

.t-diamond .plate { fill: #0d2331; }
.t-diamond .seg-on { stroke: #7FE0FF; }
.t-diamond .body { fill: url(#gDiamond); }
.t-diamond .facet { fill: none; stroke: #fff; stroke-width: .75; opacity: .55; }

.t-hidden .plate {
  fill: none; stroke: #33405a; stroke-width: 2.2; stroke-dasharray: 4 3;
}
.t-hidden .body { fill: #3a4761; }

/* 운영진 — 이어진 링 + 순환하는 홀로그램 */
.t-admin .plate { fill: #141026; }
.t-admin .ring  { fill: none; stroke: url(#gHolo); stroke-width: 2.3; }
.t-admin .body  { fill: url(#gHolo); }
.t-admin { animation: spoon-holo 7s linear infinite; }
@keyframes spoon-holo { to { filter: hue-rotate(360deg); } }

.sweep { animation: spoon-sweep 3.4s cubic-bezier(.5, 0, .5, 1) infinite; }
@keyframes spoon-sweep {
  0%, 58% { transform: translateX(-26px); }
  100%    { transform: translateX(46px); }
}
@media (prefers-reduced-motion: reduce) {
  .sweep { animation: none; transform: translateX(8px); }
  .t-admin { animation: none; }
  .spoon-link:hover { transform: none; }
}
