.tr-shell{padding:28px 0}.tr-hero{text-align:center;margin:16px auto 24px}.tr-hero h1{font-size:clamp(2rem,5vw,3.6rem);margin:8px 0;color:#eb4770}.tr-panel{background:#202630;color:#eef3fb;border:1px solid #556079;border-radius:18px;padding:22px;margin:18px 0;box-shadow:0 10px 26px #0002}.tr-panel h2{color:#fff;margin-top:0}.tr-panel a{color:#94c7ff}.tr-panel .button{color:inherit}.tr-panel ol{padding-left:24px;line-height:1.75}.tr-panel li{margin:4px 0}.tr-hud{display:flex;justify-content:space-around;gap:12px;flex-wrap:wrap;font-size:1.4rem;font-weight:700;padding:8px 0 16px}.tr-arena{height:min(60vw,460px);min-height:290px;position:relative;overflow:hidden;border:4px solid #fb6088;border-radius:22px;background:radial-gradient(circle at center,#293a64,#12192b 75%);touch-action:manipulation;user-select:none}.tr-arena:before{content:'';position:absolute;inset:0;opacity:.12;background:linear-gradient(90deg,transparent 95%,#fff 96%),linear-gradient(transparent 95%,#fff 96%);background-size:45px 45px;pointer-events:none}.tr-arena #tr-instructions,.tr-over{position:absolute;left:0;right:0;top:42%;text-align:center;font-size:clamp(1.2rem,3vw,2.3rem);font-weight:800;color:#fff;padding:12px}.tr-arena small{font-size:1rem;line-height:2}.tr-target{position:absolute;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:50%;height:clamp(42px,8vw,68px);width:clamp(42px,8vw,68px);font-size:1.7rem;color:white;box-shadow:0 0 24px currentColor;cursor:pointer;animation:tr-pop .14s ease-out}.tr-target:disabled{opacity:.5}.tr-green{background:#129c6a}.tr-blue{background:#247de8}.tr-gold{background:#eab72b}.tr-red{background:#e13b59}.tr-diamond{background:#af65ef}.tr-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:16px auto}.tr-actions button{min-width:180px}#tr-status{text-align:center;min-height:2rem}#tr-challenge-form{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}#tr-challenge-form[hidden]{display:none}#tr-challenge-form select{background:#fff;color:#111;border-radius:8px;padding:10px;min-width:180px}.tr-boards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.tr-boards .tr-panel{margin:0}@keyframes tr-pop{from{transform:translate(-50%,-50%) scale(.4)}to{transform:translate(-50%,-50%) scale(1)}}@media(max-width:600px){.tr-panel{padding:14px}.tr-arena{min-height:370px}.tr-hud{font-size:1.1rem}}

/* Rules use the same shapes and colours as the actual target renderer. */
.tr-rule-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:18px 0 14px}
.tr-rule-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;border:1px solid #657187;border-radius:12px;background:#161c27;padding:14px 8px;min-width:0}
.tr-rule-item strong{font-size:.96rem;color:#fff}
.tr-rule-item small{font-size:.86rem;font-weight:800;color:#8ff3ac}
.tr-rule-item.tr-rule-avoid{border:2px solid #e13b59}
.tr-rule-item.tr-rule-avoid small{color:#ff9bac}
.tr-rule-symbol{display:grid;place-items:center;width:62px;height:62px;border:3px solid #fff;border-radius:50%;color:#fff;font-size:1.7rem;font-weight:700;box-shadow:0 0 16px currentColor}
@media(max-width:420px){.tr-rule-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Rev297: searchable member challenge picker. */
#tr-challenge-form[hidden]{display:none!important}
#tr-challenge-form{display:block;max-width:620px;margin:20px auto;padding:16px;border:1px solid #64748b;border-radius:12px;background:#202630;color:#fff}
#tr-member-search{width:100%;min-height:44px;padding:12px;border-radius:8px;background:#fff;color:#111;font-size:16px}
#tr-member-help{font-size:.9rem;margin:8px 0;color:#dae2ef}
#tr-member-results{display:grid;gap:6px;margin:10px 0;max-height:300px;overflow:auto}
.tr-member-result{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:8px 12px;border:1px solid #66748b;border-radius:10px;background:#303b4e;color:#fff;cursor:pointer;min-height:54px}
.tr-member-result[aria-pressed="true"]{border:2px solid #ef7797;background:#5b344c}
.tr-member-result img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#fff}
.tr-member-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.tr-member-controls button:disabled{opacity:.5;cursor:not-allowed}

/* Rev299: level selector and gradually moving advanced targets. */
.tr-level-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.tr-level-controls select{min-width:120px;padding:9px;border-radius:9px}
.tr-level-controls span{font-size:.9rem}
.tr-target.tr-moving{animation:tr-drift .7s ease-in-out infinite alternate}
@keyframes tr-drift{from{transform:translate(-12px,-6px)}to{transform:translate(12px,6px)}}
@media(prefers-reduced-motion:reduce){.tr-target.tr-moving{animation:none}}
