.smack-open{overflow:hidden}
.viewer-carousel{min-width:0;overflow:hidden}
.viewer-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--primary) var(--background);min-width:0;align-items:stretch}
.viewer-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column}
.viewer-slide .viewer-image{flex:1;min-height:0;-webkit-user-drag:none;user-select:none}
.viewer-slide .viewer-image img{-webkit-user-drag:none;user-select:none}
.viewer-slide .viewer-caption{margin-top:auto}
.viewer-pagination{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:7px 14px;border-top:1px solid var(--border);font-size:11px;color:var(--primary)}
.viewer-pagination button{border:1px solid var(--border);width:48px;height:44px;font-size:22px;color:var(--primary)}
.viewer-pagination button:hover{background:var(--primary);color:var(--background)}
.viewer-track:focus-visible{outline:2px solid var(--primary);outline-offset:-3px}
.desktop-nav [data-smack-open]{padding:13px 0;font:inherit;white-space:nowrap}
.desktop-nav [data-smack-open] span{color:#83917c;font-size:10px;margin-right:5px}
.terminal-disclosure nav [data-smack-open]{display:flex;align-items:center;min-height:44px;padding:10px 12px;color:var(--primary);font-size:14px;width:100%;text-align:left}
.terminal-disclosure nav [data-smack-open]:hover{background:#202d1a}
.directory-links>[data-smack-open]{display:grid;grid-template-columns:24px 126px minmax(0,1fr) 15px;align-items:center;gap:10px;min-height:49px;font-size:12px;padding:7px 0;width:100%;text-align:left;color:var(--primary)}
.directory-links>[data-smack-open]:hover,.directory-links>[data-smack-open]:focus-visible{background:#1b2815}
.smack-dialog.native-dialog{padding:0;width:min(760px,calc(100vw - 24px));max-width:760px;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;background:#0b100a;color:var(--foreground);border:1px solid var(--primary);box-shadow:0 24px 100px #000b}
.smack-dialog::backdrop{background:rgba(2,5,2,.91)}
.smack-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--border);padding:16px 20px;background:#131c10}
.smack-eyebrow{color:var(--muted-foreground);font-size:9px;letter-spacing:.15em}
.smack-bar h2{margin:3px 0 0;font-size:clamp(21px,4vw,30px);font-weight:500;letter-spacing:-.05em;line-height:1.2}
.smack-close{align-self:flex-start;width:48px;min-height:44px;color:var(--primary);font-size:19px;border:1px solid var(--border)}
.smack-close:hover{background:var(--primary);color:var(--background)}
.smack-arena{position:relative;height:clamp(260px,54dvh,520px);background:radial-gradient(ellipse at 50% 44%,#172412 0%,#080d07 68%);overflow:hidden}
.smack-arena canvas{display:block;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}
.smack-arena canvas:active{cursor:grabbing}
.smack-arena canvas:focus-visible{outline:2px solid var(--primary);outline-offset:-3px}
.smack-readout,.smack-meter{position:absolute;left:20px;right:20px;display:flex;justify-content:space-between;gap:12px;pointer-events:none;font-size:10px;letter-spacing:.07em}
.smack-readout{top:14px;color:var(--primary)}
.smack-meter{bottom:14px;color:var(--muted-foreground)}
.smack-meter b{color:var(--primary);font-weight:400;font-size:15px;padding-left:8px;font-variant-numeric:tabular-nums}
.smack-bottom{border-top:1px solid var(--border);padding:14px 20px 12px;background:#10170d}
.smack-bottom>p{font-size:11px;line-height:1.6;color:var(--muted-foreground);margin:0 0 12px}
.smack-actions{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:8px}
.smack-actions button{min-height:44px;border:1px solid var(--border);color:var(--primary);font-size:12px}
.smack-actions button:hover,.smack-actions button:active{background:var(--primary);color:var(--background)}
.smack-settings{display:flex;justify-content:space-between;gap:12px;margin-top:6px}
.smack-settings button{min-height:40px;color:var(--muted-foreground);font-size:10px}
.smack-settings button:hover{color:var(--primary)}
.smack-fallback{position:absolute;inset:35% 10% auto;text-align:center;color:var(--primary);font-size:13px}
@media(max-width:1100px){.terminal-header .desktop-nav{display:none}.terminal-header .terminal-menu{display:block}.terminal-header .command-word{display:none}}
@media(max-width:700px){.directory-links>[data-smack-open]{grid-template-columns:20px 112px minmax(0,1fr) 12px;gap:7px;min-height:52px}.smack-bar{padding:13px 14px}.smack-bottom{padding:12px 14px 8px}.smack-readout,.smack-meter{left:14px;right:14px}.smack-readout{font-size:9px}.smack-dialog.native-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}}
@media(prefers-reduced-motion:reduce){.viewer-track{scroll-behavior:auto}}

.smack-dialog.native-dialog{width:min(1020px,calc(100vw - 24px));max-width:1020px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.smack-dialog [hidden]{display:none!important}.smack-dialog button:disabled{opacity:.5;cursor:wait}.smack-dialog button:focus-visible,.smack-dialog summary:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.smack-eyebrow{font-size:12px}.smack-content{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(275px,1fr)}.smack-player{min-width:0}
.smack-champion{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 20px;background:#1a2813;border-bottom:1px solid var(--border);font-size:14px;flex-wrap:wrap}.smack-champion>span{color:var(--muted-foreground);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.smack-champion strong{color:var(--primary);font-size:14px;overflow-wrap:anywhere}
.smack-modes{display:flex;gap:8px;padding:14px 20px 0}.smack-modes button,.smack-periods button{min-height:44px;border:1px solid var(--border);padding:7px 13px;font:inherit;font-size:14px;color:var(--muted-foreground)}.smack-modes [aria-pressed=true],.smack-periods [aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:#091006}
.smack-ranked-form{padding:14px 20px 0}.smack-ranked-form label{display:block;margin-bottom:7px;font-size:14px;color:var(--primary)}.smack-entry{display:flex;gap:8px}.smack-entry input{min-width:0;flex:1;background:#070c06;color:var(--foreground);border:1px solid #63755a;padding:11px 12px;font:inherit;font-size:16px;border-radius:0}.smack-entry input:focus{outline:2px solid var(--primary);outline-offset:2px}.smack-entry button{background:var(--primary);color:#091006;padding:10px 14px;min-height:46px;font:inherit;font-size:14px;font-weight:700;white-space:nowrap}.smack-ranked-form small{font-size:12px;color:var(--muted-foreground);display:block;margin-top:7px;line-height:1.5}
.smack-rank-status{margin:0;padding:12px 20px;font-size:14px;line-height:1.5;min-height:44px;color:var(--primary)}
.smack-arena{height:clamp(260px,38dvh,420px)}.smack-readout,.smack-meter{font-size:12px}.smack-round-time{position:absolute;right:20px;top:42px;display:flex;align-items:baseline;gap:8px;pointer-events:none;color:var(--primary)}.smack-round-time span{font-size:12px;text-transform:uppercase}.smack-round-time b{font-size:25px;font-weight:400;font-variant-numeric:tabular-nums}
.smack-countdown{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;font-size:clamp(36px,10vw,88px);font-weight:700;color:var(--primary);background:radial-gradient(ellipse at center,#0b100ada 0%,#0b100a11 70%);text-align:center}
.smack-time-track{position:absolute;bottom:0;height:3px;left:0;right:0;background:#24301e;pointer-events:none}.smack-time-track span{display:block;height:100%;width:100%;background:var(--primary);transform-origin:left}.smack-dialog[data-rank-mode=free] .smack-time-track{display:none}.smack-dialog[data-rank-urgent] .smack-round-time{color:#ffbd73}.smack-dialog[data-rank-urgent] .smack-time-track span{background:#ffbd73}
.smack-bottom>p{font-size:13px}.smack-actions button{font-size:14px}.smack-settings{flex-wrap:wrap;gap:0 14px}.smack-settings button{font-size:12px;min-height:44px}
.smack-board{border-left:1px solid var(--border);background:#0d150a;min-width:0}.smack-board summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px;min-height:60px;color:var(--primary);font-size:18px}.smack-board summary::-webkit-details-marker{display:none}.smack-board summary>span:last-child{font-size:12px;color:var(--muted-foreground)}.smack-board-content{padding:0 20px 20px}.smack-periods{display:flex;gap:8px}.smack-periods button{flex:1;padding:7px 10px}.smack-personal{font-size:13px;color:var(--primary);line-height:1.6;padding:12px 0;border-bottom:1px dashed var(--border);margin:4px 0 12px}
.smack-scores{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}.smack-scores th{font-size:12px;color:var(--muted-foreground);font-weight:400;text-align:left;padding:10px 0}.smack-scores th:first-child{width:42px}.smack-scores th:last-child{width:46px}.smack-scores td{padding:13px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere;line-height:1.4}.smack-scores td:nth-child(2){padding-right:6px}.smack-scores th:last-child,.smack-scores td:last-child{text-align:right}.smack-scores tr:first-child td{color:var(--primary)}.smack-scores .rank-you{background:#1a2912}.smack-empty{font-size:14px;color:var(--muted-foreground);line-height:1.7;padding:25px 0;margin:0}.smack-board-note{font-size:12px;color:var(--muted-foreground);line-height:1.6;margin:18px 0 8px}.smack-refresh{min-height:44px;font:inherit;font-size:13px;color:var(--primary)}
@media(max-width:740px){.smack-content{display:block}.smack-board{border-left:0;border-top:1px solid var(--border)}.smack-board summary{min-height:54px;padding:14px}.smack-board summary>span:last-child:after{content:' +';color:var(--primary)}.smack-board[open] summary>span:last-child:after{content:' −'}.smack-champion{padding:10px 14px;gap:5px}.smack-modes{padding:12px 14px 0}.smack-ranked-form{padding:12px 14px 0}.smack-rank-status{padding:8px 14px;font-size:13px;min-height:38px}.smack-entry button{padding:9px 11px;font-size:13px}.smack-arena{height:clamp(235px,34dvh,360px)}.smack-round-time{right:14px}.smack-readout{font-size:12px}.smack-board-content{padding:0 14px 14px}.smack-dialog.native-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.smack-champion strong{font-size:13px}.smack-bar h2{font-size:23px}.smack-bottom{padding:10px 14px 4px}.smack-settings button{font-size:12px}.smack-actions button{font-size:13px}}
@media(max-width:370px){.smack-entry{flex-wrap:wrap}.smack-entry input{width:100%;flex-basis:100%}.smack-entry button{width:100%}}
