.tl{--tl-paper-rgb:251, 247, 236;--tl-paper-strong:#fbf7ec;--tl-ink:#5e5449;--tl-ink-soft:#7b6a4f;--tl-line:#7b6a4f52;--tl-accent:#a2543f;--tl-shadow:0 1px 0 #5e544924, 0 4px 9px -5px #5e54494d;flex-direction:column;gap:12px;width:100%;display:flex}html[data-lamp=on] .tl{--tl-paper-rgb:52, 42, 28;--tl-paper-strong:#342a1c;--tl-ink:#f2e6cd;--tl-ink-soft:#d6c5a2;--tl-line:#e0c79652;--tl-accent:#d08a5e;--tl-shadow:0 1px 0 #0006, 0 4px 9px -5px #00000080}html[data-lamp=on] :is(.tl-flash,.tl-swipehint,.tl-assist,.tl-turnhint){background:rgba(var(--tl-paper-rgb), .94)}html[data-lamp=on] :is(.tl-flash span,.tl-swipehint,.tl-assist,.tl-turnhint){color:var(--tl-ink-soft)}html[data-lamp=on] .tl-flash strong{color:var(--tl-ink)}.tl-hud{color:var(--tl-ink-soft);justify-content:space-between;align-items:center;gap:14px;font-size:.95rem;display:flex}.tl-side{align-items:baseline;gap:6px;display:inline-flex}.tl-side strong{font-variant-numeric:tabular-nums;color:var(--tl-ink);margin:0 .15em;font-size:1.5rem}.tl-side.is-turn strong{color:var(--tl-accent)}.tl-streak{color:var(--tl-accent);letter-spacing:.06em;background:#a2543f24;border-radius:999px;padding:1px 8px;font-size:.75rem;font-style:normal;animation:.4s tl-windpop}.tl-windbox{flex-direction:column;align-items:center;gap:4px;min-width:128px;animation:.5s tl-windpop;display:flex}@keyframes tl-windpop{0%{opacity:.35;transform:translateY(-3px)}60%{opacity:1;transform:translateY(1px)}to{transform:none}}.tl-windrow{color:var(--tl-ink-soft);align-items:baseline;gap:6px;font-size:.82rem;display:flex}.tl-windword{letter-spacing:.08em}.tl-windarrow{color:var(--tl-accent);font-size:1.05rem;animation:1.5s ease-in-out infinite tl-blow-r}.tl-windarrow[data-dir=l]{animation-name:tl-blow-l}@keyframes tl-blow-r{0%,to{opacity:.55;transform:translate(-2px)}50%{opacity:1;transform:translate(3px)}}@keyframes tl-blow-l{0%,to{opacity:.55;transform:translate(2px)}50%{opacity:1;transform:translate(-3px)}}.tl-windbar{background:#7b6a4f2e;border-radius:999px;width:100%;height:3px;display:block;position:relative;overflow:hidden}.tl-windbar i{background:linear-gradient(270deg,#c0674b,#c0674b73);transition:width .4s;display:block;position:absolute;top:0;bottom:0;right:50%}.tl-windbar i[data-dir=r]{background:linear-gradient(90deg,#c0674b,#c0674b73);left:50%;right:auto}.tl-winddrift{color:var(--tl-ink-soft);opacity:.85;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.75rem}.tl-court{aspect-ratio:16/10;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;border-radius:4px;width:min(100%,128vh);margin:0 auto;position:relative;overflow:hidden;box-shadow:0 1px #5e544929,0 6px 12px -6px #5e544947,0 26px 44px -28px #5e54496b}@media (width<=640px){.tl-court{aspect-ratio:4/3;width:100%}}.tl-court:active{cursor:grabbing}.tl-canvas{width:100%;height:100%;display:block}.tl-flash{text-align:center;pointer-events:none;background:#fbf7eceb;border-radius:3px;flex-direction:column;align-items:center;gap:3px;padding:8px 20px;animation:.4s tl-flash-in;display:flex;position:absolute;top:12%;left:50%;transform:translate(-50%);box-shadow:0 6px 14px -10px #5e5449b3}.tl-flash strong{color:#5e5449;letter-spacing:.06em;font-size:1.05rem;font-weight:600}.tl-flash span{color:#8a7355;font-variant-numeric:tabular-nums;font-size:.76rem}@keyframes tl-flash-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.tl-swipehint{color:#8a7355;pointer-events:none;background:#fbf7ecc7;border-radius:999px;align-items:center;gap:8px;padding:5px 14px;font-size:.78rem;display:flex;position:absolute;bottom:6%;right:6%}.tl-swipearrow{border-top:1.6px solid #a2543f;border-right:1.6px solid #a2543f;width:9px;height:9px;animation:1.6s ease-in-out infinite tl-swipeup;display:block;transform:rotate(-45deg)}@keyframes tl-swipeup{0%,to{opacity:.4;transform:translateY(3px)rotate(-45deg)}50%{opacity:1;transform:translateY(-3px)rotate(-45deg)}}.tl-assist{color:#8a7355;letter-spacing:.04em;pointer-events:none;background:#fbf7ecb3;border-radius:999px;padding:4px 12px;font-size:.75rem;position:absolute;bottom:6%;left:4%}.tl-assist[data-assist=none]{color:#a2543f}.tl-overlay{text-align:center;background:rgba(var(--tl-paper-rgb), .9);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex;position:absolute;inset:0}.tl-overlay h2{color:var(--tl-ink);margin:0;font-size:clamp(1.1rem,2.2vw,1.4rem);font-weight:600}.tl-sub{max-width:40ch;color:var(--tl-ink-soft);margin:0;font-size:.85rem;line-height:1.7}.tl-rules{text-align:left;max-width:46ch;color:var(--tl-ink-soft);margin:0;padding:0 0 0 1.3em;font-size:.82rem;line-height:1.85}.tl-rules b{color:var(--tl-ink);font-weight:600}.tl-levels{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.tl-level{background:var(--tl-paper-strong);min-width:150px;color:var(--tl-ink);text-align:left;cursor:pointer;box-shadow:var(--tl-shadow);border:none;border-radius:2px;flex-direction:column;gap:3px;padding:10px 16px;font-size:.9rem;transition:transform .25s;display:flex}.tl-level:hover,.tl-level:focus-visible{transform:translateY(-2px)}.tl-level__name{font-weight:600}.tl-level__note{color:var(--tl-ink-soft);font-size:.75rem;line-height:1.5}.tl-level--ghost{box-shadow:inset 0 0 0 1px var(--tl-line);color:var(--tl-ink-soft);background:0 0;align-items:center}.tl-turnhint{color:#7b6a4f;background:#fbf7ece0;border-radius:2px;padding:6px 16px;font-size:.84rem;position:absolute;bottom:8%;left:50%;transform:translate(-50%)}.tl-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.tl-hint{color:var(--tl-ink-soft);opacity:.9;margin:0;font-size:.78rem;line-height:1.7}.tl-toggle{box-shadow:inset 0 0 0 1px var(--tl-line);color:var(--tl-ink-soft);cursor:pointer;background:0 0;border:none;border-radius:2px;padding:5px 12px;font-size:.75rem}.tl-toggle[aria-pressed=true]{background:#7b6a4f1f}@media (width<=640px){.tl-hud{font-size:.85rem}.tl-windbox{min-width:96px}.tl-winddrift{font-size:.75rem}}@media (prefers-reduced-motion:reduce){.tl-level,.tl-windbar i{transition:none}.tl-level:hover{transform:none}.tl-windbox,.tl-windarrow,.tl-swipearrow,.tl-flash,.tl-streak{animation:none}}@media (width<=640px){.tl-court.is-menu{aspect-ratio:auto}.tl-court.is-menu .tl-canvas{position:absolute;inset:0}.tl-court.is-menu .tl-overlay{min-height:380px;padding:22px;position:relative}}
