/* lane X4: 말 없는 의식. Dark navy glass, gold hairline, cream text. Edge sheet only, never over the middle of play. */
#rt-root{--rt-bg:rgba(12,16,29,.82);--rt-line:rgba(233,184,92,.5);--rt-ink:#efe8d8;--rt-dim:rgba(239,232,216,.62);--rt-gold:#e9b85c}
.rt-pill{position:fixed;z-index:28;left:8px;top:36vh;display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 13px 0 10px;border-radius:999px;background:var(--rt-bg);border:1px solid var(--rt-line);color:var(--rt-ink);font:500 12.5px/1 var(--f-body,system-ui,sans-serif);letter-spacing:.02em;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:0 4px 16px rgba(0,0,0,.35)}
.rt-pill[hidden]{display:none}
.rt-flame{width:9px;height:14px;border-radius:50% 50% 50% 50%/65% 65% 35% 35%;background:radial-gradient(ellipse at 50% 70%,#fff3c4,#ffc65a 55%,rgba(255,150,40,0) 100%);box-shadow:0 0 8px 2px rgba(255,190,90,.55);animation:rt-flick 2.6s ease-in-out infinite}
@keyframes rt-flick{0%,100%{transform:scale(1) rotate(-2deg)}50%{transform:scale(1.08,.94) rotate(2deg)}}

.rt-panel{position:fixed;z-index:26;left:8px;right:66px;top:116px;max-height:min(42vh,calc(50vh - 122px));display:flex;flex-direction:column;border-radius:18px;background:var(--rt-bg);border:1px solid var(--rt-line);color:var(--rt-ink);font:400 13px/1.45 var(--f-body,system-ui,sans-serif);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 10px 36px rgba(0,0,0,.5);overflow:hidden;overscroll-behavior:contain}
.rt-panel[hidden]{display:none}
.rt-head{display:flex;align-items:center;justify-content:space-between;padding:7px 8px 0 14px}
.rt-head b{font:700 15px/1.2 var(--f-display,serif);color:var(--rt-gold);margin-right:8px}
.rt-head small{color:var(--rt-dim);font-size:11px}
.rt-x{width:34px;height:34px;border-radius:50%;border:0;background:none;color:var(--rt-ink);font-size:22px;line-height:1;cursor:pointer;touch-action:manipulation}
.rt-tabs{display:flex;gap:4px;padding:2px 10px 0}
.rt-tabs button{flex:1;height:30px;border-radius:999px;border:1px solid transparent;background:none;color:var(--rt-dim);font:inherit;font-size:12.5px;cursor:pointer;touch-action:manipulation}
.rt-tabs button[aria-selected="true"]{color:var(--rt-ink);border-color:var(--rt-line);background:rgba(233,184,92,.12)}
.rt-body{flex:1;min-height:0;padding:6px 14px 4px;overflow:hidden;display:flex;flex-direction:column}
.rt-page{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.rt-page[hidden]{display:none}
.rt-line{margin:0;text-align:center;font:400 13px/1.4 var(--f-display,serif);color:var(--rt-ink)}
.rt-sub{margin:0;color:var(--rt-dim);font-size:11.5px;min-height:1.2em;text-align:center}
.rt-foot{padding:0 14px 8px;text-align:center}
.rt-foot a{color:var(--rt-gold);font-size:12px;text-decoration:none;border-bottom:1px solid rgba(233,184,92,.4);padding:6px 2px;display:inline-block}
.rt-btn{height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--rt-line);background:rgba(233,184,92,.1);color:var(--rt-ink);font:inherit;font-size:12px;cursor:pointer;touch-action:manipulation}
.rt-row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}

/* 1 kneel */
.rt-pray{position:relative;width:min(140px,22vh);aspect-ratio:1;display:grid;place-items:center}
.rt-breath{position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--rt-line);background:radial-gradient(circle,rgba(233,184,92,.22),rgba(233,184,92,0) 70%);transform:scale(.72);opacity:.35;transition:transform .12s linear,opacity .12s linear;pointer-events:none}
.rt-hold{position:relative;width:62%;aspect-ratio:1;border-radius:50%;border:1.5px solid var(--rt-gold);background:rgba(233,184,92,.14);color:var(--rt-ink);cursor:pointer;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;display:grid;place-items:center;transition:background .3s,transform .3s}
.rt-hold.on{background:rgba(233,184,92,.34);transform:scale(.96)}
.rt-hands{width:34%;height:46%;background:linear-gradient(var(--rt-ink),var(--rt-ink));clip-path:polygon(50% 0,92% 70%,70% 100%,30% 100%,8% 70%);opacity:.85}

/* 2 verse */
.rt-ref{font:700 12px/1 var(--f-display,serif);color:var(--rt-gold);letter-spacing:.08em}
.rt-canvas{position:relative;width:100%;flex:1;min-height:90px;max-height:150px;border-radius:12px;border:1px dashed rgba(239,232,216,.22);background:rgba(255,255,255,.03);overflow:hidden}
.rt-canvas canvas{position:absolute;left:0;top:0;touch-action:none;-webkit-user-select:none;user-select:none}
.rt-bar{width:100%;height:3px;border-radius:2px;background:rgba(239,232,216,.14);overflow:hidden}
.rt-bar i{display:block;height:100%;width:0;background:var(--rt-gold);transition:width .3s}

/* 3 candles */
.rt-candles{display:flex;align-items:flex-end;justify-content:center;gap:clamp(8px,3.2vw,18px);padding:10px 14px;border:0;background:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:84px}
.rt-cd{position:relative;width:14px;height:48px;display:block}
.rt-cd .wx{position:absolute;left:0;right:0;bottom:0;height:34px;border-radius:3px;background:linear-gradient(90deg,#d9cdb2,#f4ecd8 45%,#c9bb9c);opacity:.7}
.rt-cd .fl{position:absolute;left:50%;bottom:34px;width:9px;height:16px;margin-left:-4.5px;border-radius:50% 50% 50% 50%/65% 65% 35% 35%;background:radial-gradient(ellipse at 50% 70%,#fff3c4,#ffc65a 55%,rgba(255,150,40,0));box-shadow:0 0 14px 5px rgba(255,190,90,.55);opacity:0;transform:scale(.3);transition:opacity .5s,transform .5s;transform-origin:50% 100%}
.rt-cd.lit .fl{opacity:1;transform:scale(1);animation:rt-flick 2.4s ease-in-out infinite}
.rt-cd.lit .wx{opacity:1}

/* 4 knots */
.rt-knots{position:relative;width:min(150px,24vh);aspect-ratio:1;touch-action:none;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:50%}
.rt-k{position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;border:1px solid rgba(239,232,216,.4);background:rgba(239,232,216,.06);transition:background .25s,transform .25s}
.rt-k.on{background:var(--rt-gold);border-color:var(--rt-gold)}
.rt-k.now{transform:scale(1.5);box-shadow:0 0 8px 2px rgba(233,184,92,.6)}
.rt-knot-c{position:absolute;inset:18%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;pointer-events:none}
.rt-knot-c b{font:700 22px/1.1 var(--f-display,serif);color:var(--rt-ink);font-variant-numeric:tabular-nums}
.rt-knot-c span{font-size:11.5px;color:var(--rt-dim);line-height:1.3}

/* phones in landscape: between the joystick and the action buttons, right of the screen centre, 29% of the width */
@media (orientation:landscape) and (max-height:500px){
  .rt-panel{left:calc(50% + 10px);right:172px;top:98px;bottom:10px;max-height:none}
  .rt-page{gap:4px}
  .rt-pray{width:min(118px,34vh)}
  .rt-knots{width:min(150px,42vh)}
  .rt-canvas{max-height:120px;min-height:70px}
  .rt-tabs button{font-size:12px}
}
/* desktop: a calm card right of the places column, clear of the bottom HUD */
@media (min-width:861px) and (min-height:501px){
  .rt-panel{left:120px;right:auto;top:136px;bottom:auto;width:340px;max-height:min(42vh,420px)}
}
.rt-canvas #rt-ink{opacity:.5}
@media (prefers-reduced-motion:reduce){.rt-flame,.rt-cd.lit .fl{animation:none}.rt-breath{transition:none}}
/* lane X4: a quiet rite is not the moment for an offer card */
body.rt-open .bl-offer{display:none!important}
/* the panel reaches left of the right-hand column, over the world pill (57x33px at 390x844): like an open sheet, it lets the passive pill step aside */
body.rt-open .world-pill,body.rt-open #world-pill{visibility:hidden}
