.tw{gap:clamp(10px,2cqh,16px)}.tw-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:flex-end;gap:12px;width:min(100%,760px,140cqh);padding-bottom:10px;display:flex}.tw-status{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;padding-bottom:3px;font-size:10.5px;font-weight:500;overflow:hidden}.tw-status.win{color:var(--win)}.tw-status.loss{color:var(--loss)}.tw-now{font-family:var(--display);color:var(--gold-3);flex:none;align-items:baseline;gap:10px;font-size:clamp(24px,5cqh,34px);font-weight:600;line-height:1;display:flex}.tw-now.loss{color:var(--loss)}.tw-now small{font-family:var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);font-size:9.5px;font-weight:500}.tw-body{flex:1 1 0;justify-content:center;width:100%;min-height:0;display:flex}.tw-tower{--tw-side:92px;border-radius:0 0 var(--radius-sm) var(--radius-sm);background:linear-gradient(180deg, #090d1866, var(--bg));border:1px solid #ffc53d52;border-top:0;flex-direction:column;width:min(100%,760px,140cqh);height:100%;padding:0 clamp(10px,2cqw,18px) clamp(10px,2cqh,16px);display:flex;position:relative}.tw-cap{flex:none;width:calc(100% + 2*clamp(10px,2cqw,18px) + 2px);height:clamp(14px,3.4cqh,24px);margin:0 calc(-1*clamp(10px,2cqw,18px) - 1px);display:block;overflow:visible}.tw-rows{flex-direction:column-reverse;flex:1 1 0;gap:clamp(4px,1cqh,8px);min-height:0;padding-top:clamp(4px,1cqh,8px);display:flex}.tw-base{border-top:1px solid #ffc53d52;flex:none;height:0;margin:clamp(8px,1.6cqh,12px) calc(-1*clamp(10px,2cqw,18px)) 0}.tw-row{grid-template-columns:40px minmax(0, 1fr) var(--tw-side);border:1px solid #0000;border-radius:3px;flex:1 1 0;align-items:center;gap:clamp(8px,1.6cqw,14px);min-height:0;padding:3px 8px;transition:border-color .3s,background .3s,opacity .3s;display:grid}.tw-row.now{border-color:var(--gold);background:var(--gold-soft)}.tw-lv{font-family:var(--display);color:var(--dim);text-align:center;letter-spacing:.04em;font-size:clamp(14px,2.6cqh,19px);font-weight:600;line-height:1}.tw-mult{letter-spacing:.04em;text-align:right;color:var(--muted);white-space:nowrap;font-size:clamp(11.5px,2.1cqh,14px);font-weight:500}.tw-row.now .tw-lv,.tw-row.now .tw-mult{color:var(--gold-3)}.tw-row.done .tw-lv{color:var(--gold-2)}.tw-row.done .tw-mult{color:var(--win)}.tw-row.lost .tw-mult{color:var(--loss);text-decoration:line-through;text-decoration-thickness:1px}.tw-tiles{gap:clamp(6px,1.4cqw,12px);height:100%;min-height:0;display:grid}.tw-tile{border:1px solid var(--line-2);background:var(--panel-2);border-radius:3px;place-items:center;min-width:0;height:100%;min-height:0;padding:0;transition:background .2s,border-color .2s,opacity .3s,transform 80ms;display:grid;position:relative;overflow:hidden}.tw-tile:disabled{cursor:default}.tw-tile:focus-visible{outline:1px solid var(--gold-3);outline-offset:2px}.tw-row.now .tw-tile:active:not(:disabled){transform:translateY(1px)}.tw-row.now .tw-tile:not(:disabled):after{content:"";border:1px solid var(--gold-2);opacity:.55;pointer-events:none;width:6px;height:6px;transition:opacity .2s,border-color .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.tw-row.now .tw-tile:hover:not(:disabled):after{opacity:1;border-color:var(--gold-3)}.tw-row.now .tw-tile:hover:not(:disabled){border-color:var(--gold-2);background:#202c46}.tw-row.ahead .tw-tile,.tw-tower.idle .tw-tile{opacity:.45}.tw-tile.pending{border-color:var(--gold);animation:.9s ease-in-out infinite tw-wait}@keyframes tw-wait{50%{background:#1c263d}}.tw-face{pointer-events:none;display:block;position:absolute;inset:9% 8%}.tw-face svg{width:100%;height:100%;display:block}.tw-tile.open .tw-face{animation:.35s both tw-face}@keyframes tw-face{0%{opacity:0;transform:scale(.86)translateY(3px)}}.tw-tile.open.ghost .tw-face{animation-duration:.45s;animation-delay:80ms}.tw-tile.trap.hit{animation:.4s both tw-hit}@keyframes tw-hit{30%{transform:translate(-2px)}60%{transform:translate(2px)}}.tw-tower.won:after{content:"";pointer-events:none;background:linear-gradient(100deg, transparent 42%, color-mix(in srgb, var(--gold-3) 8%, transparent) 50%, transparent 58%);width:300%;animation:1.2s ease-in-out both tw-sweep;position:absolute;top:0;bottom:0;left:0;transform:translate(-66.67%)}.tw-tower.won.w2:after{background-image:linear-gradient(100deg, transparent 42%, color-mix(in srgb, var(--gold-3) 12%, transparent) 50%, transparent 58%);animation-iteration-count:2}.tw-tower.won.w3:after{background-image:linear-gradient(100deg, transparent 42%, color-mix(in srgb, var(--gold-3) 16%, transparent) 50%, transparent 58%);animation-iteration-count:3}.tw-tower.won .tw-row.done .tw-tile.safe:not(.ghost){border-color:var(--gold)}@keyframes tw-sweep{0%{transform:translate(-66.67%)}to{transform:translate(0)}}.tw-tile.safe{background:#0f1421;border-color:#ffc53d99}.tw-tile.trap.hit{background:var(--ruby-2);border-color:var(--loss)}.tw-tile.ghost{background:var(--bg-2);border-color:var(--line);opacity:.55}.tw-tile.ghost .tw-face{transform:scale(.82)}.tw-tower.over .tw-row.rest{opacity:.6}.tw-tower.over .tw-row.rest .tw-tile.ghost{opacity:.42}.tw-stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tw-stats>div{border-radius:var(--radius-sm);background:var(--bg-2);border:1px solid var(--line);flex-direction:column;gap:1px;min-width:0;padding:7px 11px;display:flex}.tw-stats span{letter-spacing:.12em;white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase;color:var(--muted);font-size:9.5px;font-weight:500;overflow:hidden}.tw-stats b{font-family:var(--display);white-space:nowrap;text-overflow:ellipsis;font-size:19px;font-weight:600;line-height:1.1;overflow:hidden}.tw-stats b.gold{color:var(--gold-3)}.tw-random{width:100%}@container (width<=520px){.tw-tower{--tw-side:66px}.tw-row{grid-template-columns:26px minmax(0, 1fr) var(--tw-side);gap:8px;padding:2px 5px}.tw-tiles{gap:6px}.tw-mult{letter-spacing:0;font-size:11.5px}.tw-now small{display:none}}@media (width<=900px){.tw{--o-mh:500px}}@media (prefers-reduced-motion:reduce){.tw-tile.open .tw-face,.tw-tile.pending,.tw-tile.trap.hit,.tw-tower.won:after{animation:none!important}}.o-seg.tw-seg button{letter-spacing:.08em;font-size:10.5px}@media (width<=900px){.tw{--o-mh:clamp(480px, calc(100svh - 212px), 560px)}.tw-stats span{letter-spacing:.06em;font-size:12px}.tw-status{font-size:12px}.o-seg.tw-seg button{letter-spacing:.04em;font-size:12px}.tw-now small{letter-spacing:.08em;font-size:12px}.tw-rows{gap:3px;padding-top:4px}.tw-row{padding:1px 6px}}.tw-tower.won{overflow-clip-margin:2px;overflow:clip}@media (width<=900px) and (height<=520px) and (orientation:landscape){.tw{--o-mh:540px}}
