/* Tower Stack additions to the pinned hosted shell and 1080 x 1920 source. */
html.tt-shell{--accent:#ffd43b;--accent-text:#ffd43b}
html.tt-shell .preview-wrap{background:repeating-conic-gradient(#26354c 0 25%,#172238 0 50%) 0 0/24px 24px}
html.tt-shell .rules{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);color:var(--copy);font-size:15px}
html.tt-shell .rules h3{margin:0 0 8px;color:var(--ink)}
html.tt-shell .rules p{margin:8px 0 0;line-height:1.6}
html.tt-shell .rules a{color:var(--accent-text)}
html.tt-shell .practice-panel .effects{grid-template-columns:repeat(2,minmax(0,1fr))}
html.tt-shell #preview-status{padding:12px 14px;background:var(--raised);border-radius:9px}
html.tt-shell .gift-copy>span{display:flex;align-items:center;gap:7px}
html.tt-shell .gift-copy small{display:block;margin-top:5px;color:var(--copy);font-size:14px;line-height:1.45}
html.tt-shell .tt-core-assigned-gift-icon{flex:0 0 auto;object-fit:contain}
html.tt-shell .gift-actions{justify-content:flex-end}
html.tt-shell .settings-foot>.button-row{margin-top:0}
html.tt-shell .save-settings{min-width:190px}

html.source-page,html.source-page body{width:100%;height:100%;margin:0;overflow:hidden;background:#07112a!important}
body.source{position:fixed;inset:0;display:grid;place-items:center;color:#fff;font-family:Inter,"Segoe UI",sans-serif}
.source #stage{position:relative;width:min(100vw,56.25vh);height:min(100vh,177.777778vw);overflow:hidden;container-type:inline-size;margin:auto}
.source canvas{width:100%;height:100%;display:block;outline:none}
.source noscript{position:absolute;left:20px;top:20px;color:#fff}
.hud{position:absolute;inset:0;pointer-events:none;color:#fff;text-shadow:0 .3cqw .5cqw #001d4b66}
.source-brand{position:absolute;top:4%;left:6%;right:6%;display:flex;justify-content:space-between;font-size:2cqw;font-weight:900;letter-spacing:.2em}
.source-brand span{letter-spacing:.08em;background:#0c173666;padding:.7cqw 1.5cqw;border-radius:10cqw}
#record{position:absolute;top:13%;left:22%;width:56%;border-radius:2.5cqw;padding:2.1cqw 2.6cqw;background:#07132bdd;box-shadow:0 1cqw 3cqw #0003;text-align:center;color:#ffe072;font-weight:950;font-size:3.4cqw;letter-spacing:.06em}
#record b{color:#fff;background:#030b1e77;border-radius:1.5cqw;padding:1cqw 2cqw;margin-left:1.7cqw}
#height{position:absolute;top:20%;width:100%;text-align:center;font-size:14cqw;font-weight:1000;letter-spacing:-.05em;line-height:1.1}
#celebration{position:absolute;top:29%;width:100%;text-align:center;color:#ffe775;font-size:3.4cqw;font-weight:950;letter-spacing:.14em}
#combo{position:absolute;top:33%;width:100%;text-align:center;font-size:2.4cqw;font-weight:850;color:#ffed91}
.rail{position:absolute;top:34%;width:15%;display:grid;gap:2.4cqw;text-align:center}
.rail.left{left:2%}.rail.right{right:2%}
.rail-item{font-size:2.1cqw;font-weight:950;text-transform:uppercase;line-height:1.25;text-shadow:-1px -1px 0 #122039,1px -1px 0 #122039,-1px 1px 0 #122039,1px 1px 0 #122039,0 2px 4px #122039}
.rail-item svg{width:8.2cqw;height:8.2cqw;display:block;margin:0 auto .8cqw;filter:drop-shadow(0 .3cqw .5cqw #00132c66)}
.rail-item b{display:block;font-size:3.1cqw;color:#76ffc6;margin-top:.5cqw}.left .rail-item b{color:#ffacb4}
.rail-item .gift-mark{width:4.4cqw;height:4.4cqw;object-fit:contain;display:block;margin:.35cqw auto 0}
.rail-item .gift-mark[hidden],[data-tt-gift-icons=off] .rail-item .gift-mark{display:none!important}
#credit{position:absolute;top:44%;left:22%;width:56%;padding:1.4cqw 1.8cqw;background:#061329dd;border:1px solid #fff4;border-radius:20cqw;font-size:2.8cqw;font-weight:900;display:flex;gap:1cqw;align-items:center;justify-content:center;overflow:hidden}
#credit[hidden]{display:none}#avatar-shell{position:relative;width:5cqw;height:5cqw;flex:0 0 5cqw;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#6750a4;color:#fff;font-size:2.3cqw}#avatar{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}#avatar:not([src]){display:none}#credit-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#paused{position:absolute;top:49%;left:29%;width:42%;padding:4cqw;background:#081531ed;border:1px solid #ffe072;border-radius:3cqw;text-align:center;font-weight:950;font-size:5cqw}
.source-bottom{position:absolute;bottom:5%;left:13%;width:74%;padding:1.5cqw 1cqw;border-radius:2cqw;background:#071a3bb8;text-shadow:0 1px 2px #000;text-align:center;display:grid;gap:1.5cqw;font-size:2cqw;letter-spacing:.12em}
.source-bottom strong{font-size:2.7cqw}.source-bottom small{font-size:1.6cqw;letter-spacing:0;color:#fff}#hint{font-size:1.8cqw}

@media(max-width:600px){html.tt-shell .modes button{padding-inline:12px}html.tt-shell .practice-panel .effects{grid-template-columns:1fr}}
