/* تايه — a full-screen street view, a small map that grows, and a result card. Jalsah palette, no borrowed look. */
.g-tayeh{--game:var(--teal)}
.ty-pill{display:inline-block;padding:5px 13px;border-radius:99px;background:var(--sunk);color:var(--auth);font-size:12px;font-weight:700}
.ty-hint{font-size:13px;color:var(--muted)}
.ty-best b{color:var(--auth)}
.ty-code-input{text-align:center;letter-spacing:5px;text-transform:uppercase}
.ty-setting{border:0;padding:0;margin:3px 0 14px;min-width:0}.ty-setting legend{font-size:14px;font-weight:700;margin-bottom:8px}
.ty-setting>div{display:flex;gap:6px;flex-wrap:wrap}
.ty-choice{font:inherit;flex:1;min-height:40px;border-radius:9px;background:var(--sunk);color:var(--auth);border:1px solid var(--line);padding:6px 9px;font-weight:700;white-space:nowrap;font-size:13px;cursor:pointer}
.ty-choice[aria-pressed=true]{background:var(--auth);color:var(--clarity)}
.ty-lobby{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.ty-room{text-align:center}.ty-room .joinQr{margin-inline:auto}.ty-room .joinQr svg{max-width:180px}
.ty-room-code{display:block;font-family:var(--display);font-size:32px;letter-spacing:6px;color:var(--auth);margin:6px 0}
.ty-roster{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px;text-align:right}
.ty-roster li{display:flex;align-items:center;gap:9px;padding:9px 12px;background:var(--sunk);border-radius:10px}
.ty-roster li>b{flex:1;overflow-wrap:anywhere;font-size:14px}.ty-roster small{font-size:11px;font-weight:400;color:var(--muted)}
.ty-roster strong{font-variant-numeric:tabular-nums;font-size:17px}.ty-roster em{font-size:12px;font-style:normal;color:#45623A;margin-inline-start:9px}
.ty-dot{width:28px;height:28px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--c,#6B4E45);color:#fff;font-size:12px;font-weight:700}
@media (max-width:760px){.ty-lobby{grid-template-columns:1fr}}

/* ---------- play: everything sits over the street view ---------- */
body.ty-playing{overflow:hidden}
body.ty-playing .game-editorial{display:none}
.ty-play{position:fixed;inset:0;z-index:80;background:#1d1a1b;color:#F4EADA;font-family:var(--body);overflow:hidden}
.ty-view,.ty-viewer{position:absolute;inset:0}
.ty-view{z-index:0}
/* MapillaryJS adds its own class with position:relative; keep the viewer filling the screen. */
.ty-view>.ty-viewer{position:absolute;inset:0;width:100%;height:100%}
.ty-viewer .mapillary-js{background:#1d1a1b}
.ty-hud{position:absolute;inset:12px 12px auto 12px;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;pointer-events:none;z-index:5}
.ty-hud-group{display:flex;gap:6px;flex-wrap:wrap;align-items:stretch;pointer-events:auto}
.ty-brand{font-family:var(--kufi,var(--display));font-size:20px;padding:6px 14px;border-radius:12px;background:#55202A;color:#F4EADA;display:flex;align-items:center;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.ty-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:74px;padding:5px 12px;border-radius:12px;background:rgba(29,26,27,.74);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#F4EADA;border:1px solid rgba(244,234,218,.16);font:inherit;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.ty-chip small{font-size:10px;opacity:.75}.ty-chip b{font-size:18px;font-variant-numeric:tabular-nums;color:#F5D758}
.ty-btn{cursor:pointer;font-weight:700;font-size:13px;min-height:44px}.ty-btn:hover{background:rgba(85,32,42,.9)}
.ty-clock.urgent b{color:#ff8a80}
.ty-status{position:absolute;top:76px;inset-inline-start:12px;display:flex;gap:4px;align-items:center;padding:6px 10px;border-radius:12px;background:rgba(29,26,27,.74);z-index:5}
.ty-status span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;background:rgba(244,234,218,.15);color:#F4EADA;border:2px solid var(--c)}
.ty-status span.on{background:var(--c)}.ty-status small{margin-inline-start:6px;font-size:12px}
.ty-credit{position:absolute;bottom:6px;inset-inline-start:12px;margin:0;font-size:10px;opacity:.7;z-index:4;pointer-events:none}
.ty-err{position:absolute;top:80px;left:50%;transform:translateX(-50%);z-index:9;max-width:90vw}
.ty-view-note{position:absolute;inset:0;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;font-size:17px;z-index:3;background:rgba(29,26,27,.55);text-align:center;padding:20px}
.ty-view-error{background:#2a2224}.ty-view-error .btn{min-width:180px}
.ty-spinner{width:34px;height:34px;border-radius:50%;border:4px solid rgba(244,234,218,.25);border-top-color:#D9B772;animation:ty-spin .9s linear infinite}
@keyframes ty-spin{to{transform:rotate(360deg)}}
.ty-tv-note{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:center;padding:12px 20px;border-radius:14px;background:rgba(29,26,27,.8);font-size:18px;z-index:5}

/* the guess map: small in a corner, larger on hover or once a pin is down */
.ty-guess{position:absolute;bottom:22px;inset-inline-end:16px;width:300px;display:flex;flex-direction:column;gap:8px;z-index:6;transition:width .18s ease}
.ty-guess-map{height:200px;border-radius:14px;overflow:hidden;border:3px solid rgba(244,234,218,.9);box-shadow:0 6px 24px rgba(0,0,0,.35);transition:height .18s ease;background:#e8e2d6;opacity:.82}
.ty-guess:hover,.ty-guess:focus-within{width:min(560px,calc(100vw - 32px))}
.ty-guess:hover .ty-guess-map,.ty-guess:focus-within .ty-guess-map{height:min(400px,calc(100vh - 180px));opacity:1}
.ty-leaflet{width:100%;height:100%}
.ty-guess-btn{width:100%;min-height:50px;font-size:17px;border-radius:12px;background:#55202A;color:#F4EADA;border:0;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.ty-guess-btn[disabled]{background:rgba(29,26,27,.82);color:rgba(244,234,218,.75);cursor:default}
.ty-guess-btn.ghost{background:rgba(29,26,27,.82);color:#F4EADA;border:1px solid rgba(244,234,218,.3)}
.ty-wait{margin:0;padding:12px;border-radius:12px;background:rgba(29,26,27,.82);text-align:center;font-size:14px}
.ty-map-toggle{display:none}

/* markers */
.ty-marker{background:none;border:0}
.ty-pin span{display:grid;place-items:center;width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--c,#A32B38);border:3px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.4);color:#fff;font:700 11px var(--body)}
.ty-pin span:not(:empty)::first-letter{display:inline-block}
.ty-truth span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#F5D758;border:3px solid #55202A;color:#55202A;font:700 13px var(--body);box-shadow:0 2px 8px rgba(0,0,0,.4)}

/* reveal and summary */
.ty-result-map{position:absolute;inset:0;z-index:0}
.ty-guess-map{position:relative;z-index:0}
.ty-reveal .leaflet-top,.ty-over .leaflet-top{top:72px}
.ty-reveal .ty-leaflet,.ty-over .ty-leaflet{height:100%}
.ty-card{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);width:min(580px,calc(100vw - 24px));max-height:min(62vh,640px);overflow:auto;background:#FFF8E9;color:#231F20;border-radius:18px;padding:20px 22px;box-shadow:0 10px 40px rgba(0,0,0,.35);z-index:6;text-align:center;border:2px solid #D9B772}
.ty-card .ty-pill{background:#F4EADA;color:#55202A}
.ty-card h2{font-family:var(--kufi,var(--display));font-size:30px;color:#55202A;margin:10px 0 2px}
.ty-card h2 small{font-size:16px;color:#6B4E45}
.ty-place{margin:8px 0 0;font-size:15px;color:#6B4E45}.ty-place b{color:#231F20}
.ty-distance{margin:4px 0 10px;font-size:16px}.ty-distance b{color:#A32B38}
.ty-bar{height:12px;border-radius:99px;background:#EADBC0;overflow:hidden;margin:8px 0}.ty-bar i{display:block;height:100%;background:linear-gradient(90deg,#D9B772,#A32B38);border-radius:inherit}
.ty-points{display:block;font-size:22px;color:#55202A;font-variant-numeric:tabular-nums}
.ty-ranking,.ty-rounds{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:6px;text-align:right}
.ty-ranking li,.ty-rounds li{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#F4EADA;border-radius:10px;font-size:14px}
.ty-ranking li b,.ty-rounds li b{flex:1;overflow-wrap:anywhere}
.ty-ranking .ty-dot{width:14px;height:14px}
.ty-ranking strong,.ty-rounds strong{font-variant-numeric:tabular-nums;color:#55202A;min-width:52px;text-align:left}
.ty-round-n{width:24px;height:24px;border-radius:50%;background:#F5D758;border:2px solid #55202A;display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}
.ty-card .ty-roster li{background:#F4EADA}
.ty-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.ty-actions .btn{min-height:50px;font-size:17px}
.ty-credit-line{margin:12px 0 0;font-size:11px;color:#6B4E45}.ty-credit-line a{color:#55202A}
.ty-play .leaflet-control-attribution{font-size:10px}
.ty-play .ty-hud .ty-chip,.ty-play .ty-hud .ty-brand{min-height:44px}

/* phones: the map opens as a sheet */
@media (max-width:720px){
 .ty-brand{display:none}
 .ty-chip{min-width:60px;padding:4px 9px}.ty-chip b{font-size:16px}
 .ty-hud{inset:8px 8px auto 8px}
 .ty-status{top:64px;inset-inline-start:8px}
 .ty-guess,.ty-guess:hover,.ty-guess:focus-within{inset:auto 10px 14px 10px;width:auto;flex-direction:row;flex-wrap:wrap}
 .ty-guess .ty-guess-map{display:none}
 .ty-map-toggle{display:block;flex:1;min-height:50px;border-radius:12px;border:1px solid rgba(244,234,218,.35);background:rgba(29,26,27,.85);color:#F4EADA;font:700 16px var(--body)}
 .ty-guess .ty-guess-btn,.ty-guess .ty-wait{flex:1.4;width:auto}
 .ty-guess.open{inset:0;background:#1d1a1b;padding:10px;gap:10px;align-content:flex-start;flex-direction:column;flex-wrap:nowrap}
 .ty-guess.open .ty-guess-map{display:block;flex:1;height:auto;opacity:1;border-width:2px}
 .ty-guess.open .ty-map-toggle,.ty-guess.open .ty-guess-btn,.ty-guess.open .ty-wait{flex:none;width:100%}
 .ty-card{bottom:10px;padding:16px;max-height:58vh}.ty-card h2{font-size:24px}
 .ty-tv-note{font-size:15px;width:calc(100vw - 24px);justify-content:center}
}
