/* Vol7 UX: one token set, scoped to Vol7 surfaces. */
:root{--v7-surface:#08251c;--v7-panel:#123d2e;--v7-text:#fff2df;--v7-action:#d7f77c;--v7-line:#75917a;--v7-success:#d7f77c;--v7-warning:#ffc980;--v7-error:#ff9eaa;--v7-font:Arial,sans-serif}
.v7-player-root,.vol7-host,.v7-answer,.v7-round-guide{font-family:var(--v7-font)!important;color:var(--v7-text);font-variant-numeric:tabular-nums}
.v7-player-root .v7-phone,.v7-player-root .g6-phone{background:var(--v7-surface);padding:16px;line-height:1.45;overflow-wrap:anywhere}
.v7-player-root .g6-phone h2,.v7-player-root .v7-phone h2{font-family:var(--v7-font)!important;font-size:26px!important;line-height:1.15!important;letter-spacing:-.02em}
.v7-player-root .qq{font:700 24px/1.25 var(--v7-font)!important}
.v7-player-root input,.v7-player-root textarea{box-sizing:border-box;width:100%;font:20px/1.4 var(--v7-font);min-height:52px;scroll-margin:20vh 0}
.v7-player-root .b{min-height:52px;font-family:var(--v7-font)!important;white-space:normal;overflow-wrap:anywhere}
.v7-player-root .b:focus-visible,.vol7-host button:focus-visible,.vol7-host input:focus-visible{outline:3px solid var(--v7-text);outline-offset:3px}
.v7-player-root .v7-submit,.v7-player-root [data-primary-submit]{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));z-index:5;box-shadow:0 0 0 8px var(--v7-surface);width:100%}
.v7-rating{border:0;padding:0;margin:16px 0;min-width:0}.v7-rating legend{font:700 18px/1.3 var(--v7-font);margin-bottom:8px}.v7-rating>div{display:flex;gap:8px}.v7-rating .b{flex:1;background:var(--v7-panel)!important;color:var(--v7-text)!important;border:1px solid var(--v7-line)!important}
.v7-rating .b[aria-pressed=true]{background:var(--v7-action)!important;color:var(--v7-surface)!important;border:3px solid var(--v7-text)!important}
.v7-send-status{padding:12px;border:1px solid var(--v7-line);margin:16px 0;font-size:18px}.v7-send-status.error{color:var(--v7-error)}.v7-send-status.saved{color:var(--v7-success)}
body.vol7-host{max-width:1280px!important;background:var(--v7-surface)}
.vol7-host #hostControls{position:sticky;bottom:0;z-index:20;background:var(--v7-surface);padding:12px 0 max(8px,env(safe-area-inset-bottom));display:grid;gap:8px;border-top:1px solid var(--v7-line);flex-shrink:0}
.vol7-host #next{min-height:64px;font:700 clamp(18px,4vw,28px)/1.15 var(--v7-font);width:100%;box-shadow:none}
.vol7-host #bot button,.vol7-host #v7UndoSticky{min-height:48px;font:700 16px/1.2 var(--v7-font);padding:12px;background:var(--v7-panel);color:var(--v7-text);border:1px solid var(--v7-line)}
.vol7-host #msg[data-kind=saved]{color:var(--v7-success)}.vol7-host #msg[data-kind=pending]{color:var(--v7-warning)}.vol7-host #msg[data-kind=error]{color:var(--v7-error)}
.vol7-host #extra{display:flex;flex-direction:column;flex-wrap:nowrap;flex-shrink:0;min-width:0;width:100%}.vol7-host .v7-admin{width:100%;min-width:0;margin:0;padding:16px;border-color:var(--v7-line)}
.v7-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.v7-team-row{min-width:0;border:1px solid var(--v7-line);padding:16px;background:var(--v7-panel);text-align:left}.v7-team-row[hidden]{display:none}
.v7-team-row h3{font:700 22px/1.2 var(--v7-font);overflow-wrap:anywhere;margin:0 0 8px}.v7-team-row p{margin:8px 0;overflow-wrap:anywhere;font-size:17px}.v7-team-row strong{display:block;font-size:26px;color:var(--v7-action)}
.vol7-host #extra .v7-team-row button{width:100%;min-height:56px;font-size:18px;margin-top:12px}.vol7-host #extra .v7-team-row .v7-edit-time{min-height:44px;background:transparent;color:var(--v7-text);font-size:15px;border-color:var(--v7-line)}
.v7-team-row.is-finished{border:2px solid var(--v7-action)}.v7-ready-count{font-size:18px}.vol7-host #v7-team-search{width:100%;box-sizing:border-box;min-height:52px;background:var(--v7-panel);color:var(--v7-text);font:18px var(--v7-font);padding:12px;border:1px solid var(--v7-line)}
.vol7-host dialog{font-family:var(--v7-font)}.vol7-host dialog button{padding:12px;min-height:52px}.vol7-host #v7TimeSave{background:var(--v7-action);color:var(--v7-surface)}
body .v7-answer.v7-quiz{display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto;gap:2vh;height:100vh;min-height:0;padding:2vh 3vw!important;overflow:hidden}
.v7-answer header{display:flex;justify-content:space-between;font-size:1.3vw;letter-spacing:.1em}.v7-answer .g6-kicker{display:flex;justify-content:space-between;font-size:2vw}
.v7-answer-content{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:3vw}.v7-answer-no-image .v7-answer-content{grid-template-columns:1fr}
.v7-answer-main{align-self:center;min-width:0}.v7-answer-label{font-size:1.8vw;color:var(--v7-action);margin:0 0 2vh}.v7-answer h1.g6-win{font:900 clamp(40px,4.5vw,96px)/1.08 var(--v7-font)!important;letter-spacing:-.035em;color:var(--v7-action)!important;background:none!important;margin:0;overflow-wrap:break-word}
.v7-answer-why{font:400 clamp(20px,1.8vw,36px)/1.35 var(--v7-font);margin:3vh 0 0}.v7-answer figure{margin:0;min-height:0;display:flex;flex-direction:column;background:#f5efdc;color:var(--v7-surface);padding:1vh}.v7-answer figure img{width:100%;height:0;flex:1;min-height:0;object-fit:contain}.v7-answer figcaption{text-align:center;font-size:1.4vw;padding:.6vh}
.v7-answer-scores{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1vw;position:relative;padding-top:1vh;border-top:1px solid var(--v7-line)}.v7-answer-scores>div{font-size:1.6vw;line-height:1.1;min-width:0;overflow-wrap:anywhere}.v7-answer-scores strong{display:block;font-size:2.2vw;color:var(--v7-action);padding-top:.5vh}.v7-answer-scores small{position:absolute;right:0;bottom:100%;font-size:1.1vw}
body:has(.v7-answer) .mo-burst,body:has(.v7-answer) .mo-flash{display:none!important}
body:has(.v7-player-root) .pm-p,body:has(.v7-player-root) #iceFx{display:none!important}
.v7-round-guide{position:absolute;left:3vw;right:3vw;bottom:12vh;background:#08251cf5;border:1px solid var(--v7-line);padding:2vh 2vw;display:grid;grid-template-columns:2fr 1fr;gap:1vh 2vw;box-shadow:0 -3vh 6vh #08251c99}
.v7-round-guide>strong{grid-column:1/-1;color:var(--v7-action);font-size:3vw;line-height:1.05}.v7-round-guide ol{margin:1vh 0;padding-left:2vw;font-size:1.7vw;line-height:1.35}.v7-round-guide p{font-size:1.6vw;line-height:1.3;margin:1vh 0}.v7-round-guide>b{font-size:1.5vw;grid-column:1/-1;color:var(--v7-action)}
body .v7-quiz .g6-poster h1{font-size:clamp(36px,3.8vw,80px)!important}body .v7-quiz .g6-options>div{font-size:clamp(26px,2.3vw,48px)!important}
.v7-stage .v7-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex:1;align-content:center}.v7-results>div{min-width:0;font-size:1.8vw;overflow-wrap:anywhere}.v7-result-pages{font-size:1.6vw;color:var(--v7-action)}
.v7-quiz.ux-round-done{display:flex!important;flex-direction:column;gap:1.5vh;overflow:hidden}.v7-quiz.ux-round-done h1{font:900 4vw/1.1 var(--v7-font);margin:0}.v7-quiz.ux-round-done>p{font-size:1.6vw;margin:0}.v7-quiz.ux-round-done .ux-done-scores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5vw;flex:1;min-height:0}.v7-quiz.ux-round-done .ux-done-scores>div{padding:1.5vh 1vw;border:1px solid var(--v7-line);font-size:1.8vw;overflow-wrap:anywhere}.v7-quiz.ux-round-done .ux-done-scores b{display:block;font-size:4vw;color:var(--v7-action)}.v7-quiz.ux-round-done .ux-done-scores small{font-size:1.5vw}
.v7-scoreboard{position:absolute;inset:0;background:var(--v7-surface);color:var(--v7-text);padding:3vh 3vw;display:flex;flex-direction:column;gap:2vh;font-family:var(--v7-font);text-align:left}.v7-scoreboard header{display:flex;justify-content:space-between;font-size:1.4vw}.v7-scoreboard h1{font:900 5vw/1 var(--v7-font);color:var(--v7-action);margin:0}.v7-scoreboard>p{font-size:1.7vw;margin:0}.v7-board-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:1.5vw;flex:1;min-height:0}.v7-board-grid article{border:1px solid var(--v7-line);padding:2vh 1.5vw;min-width:0;display:flex;flex-direction:column;justify-content:center}.v7-board-grid small{font-size:1.3vw;color:var(--v7-action)}.v7-board-grid h2{font:700 2vw/1.15 var(--v7-font);overflow-wrap:anywhere;margin:1vh 0}.v7-board-grid b{font:900 5vw/1 var(--v7-font);color:var(--v7-action)}.v7-board-grid span{font-size:1.2vw;margin-top:.5vh}
@media(max-width:800px){.v7-team-grid{grid-template-columns:1fr 1fr}.vol7-host .v7-admin{padding:10px}.v7-team-row{padding:12px}.v7-team-row h3{font-size:19px}}
@media(max-width:480px){.v7-team-grid{grid-template-columns:1fr}.vol7-host #st .nm{font-size:24px}.vol7-host #st .nx{font-size:15px}.vol7-host #hostReadyRows{max-height:25vh}}
@media(prefers-reduced-motion:reduce){body:has(.v7-quiz) .mo-wipe,body:has(.v7-stage) .mo-wipe,body:has(.v7-answer) .mo-burst,body:has(.v7-quiz) .mo-flash{display:none!important}.v7-player-root *,.vol7-host *,.v7-quiz *,.v7-stage *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.diff-board{position:relative;width:100%;margin:12px 0;touch-action:manipulation}.diff-board img{display:block;width:100%;height:auto}.diff-mark{position:absolute;border:3px solid #ff557c;border-radius:50%;width:9%;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;box-sizing:border-box}.diff-match-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2vh;overflow:auto}.diff-match-grid article{border:2px solid #dafa80;padding:2vh;background:#173c2c}.diff-match-grid strong{font-size:2.4vw}.diff-match-grid span{padding:0 15px}.ice-options{display:grid;grid-template-columns:1fr 1fr;gap:2vh}.ice-options article{background:#173c2c;padding:3vh;font-size:2.5vw;border:1px solid #dafa80}.ice-options strong{display:block;color:#dafa80;font-size:4vw}.diff-phone button{min-height:50px}

/* Difference puzzle: readable inspect mode, server-counted marking mode */
.diff-phone{--diff-good:#d7f77c;--diff-bad:#ff557c}.diff-scroll{overflow:auto;overscroll-behavior:contain;border:1px solid #d7f77c55;border-radius:12px;touch-action:pan-x pan-y}.diff-scroll.zoomed{height:clamp(180px,30dvh,300px)}.diff-scroll .diff-board{margin:0;max-width:none;touch-action:pan-x pan-y}.diff-board img{pointer-events:none;user-select:none;-webkit-user-drag:none}.diff-mark{width:32px;height:32px;font:bold 22px/26px Arial;text-align:center;color:#08251c;background:var(--diff-bad);border:2px solid white}.diff-mark.correct{background:var(--diff-good)}.diff-tools{background:#173c2c;padding:12px;border:1px solid #d7f77c55;border-radius:12px}.diff-tools strong{font-size:18px;color:var(--diff-good)}.diff-tools p{font-size:14px;line-height:1.45}.diff-tool-row{display:flex;gap:8px;flex-wrap:wrap}.diff-tool-row button{min-width:48px;min-height:48px;margin:0;flex:1}.diff-tool-row [aria-pressed=true]{outline:2px solid var(--diff-good)}.diff-board.mark-mode{cursor:crosshair}.diff-phone h3{margin:12px 0 6px;font-size:15px}

.diff-tool-row button.b{width:auto!important;padding:8px!important;font:700 16px/1.2 Arial!important;height:48px!important;min-height:48px!important;white-space:nowrap}.diff-tool-row button:last-child{flex-basis:100%}.diff-phone h2{font-size:26px!important}.diff-tools p{margin:8px 0}.diff-tools small{display:block;margin-top:8px}

.diff-phone>small{display:block!important}.diff-phone>h2{display:block!important;clear:both;margin:4px 0 8px!important}.diff-scroll.zoomed{height:auto;max-height:30dvh}.diff-tool-row button.b{margin:0!important}.diff-tools .diff-tool-row{gap:8px!important}.diff-phone>p{margin:4px 0 8px}

/* Difference overview first; zoom panels scroll on touch and mouse drag. */
.diff-scroll.zoomed{height:30dvh;max-height:30dvh}.diff-scroll .diff-board{flex-shrink:0}.diff-scroll.zoomed .diff-board:not(.mark-mode){cursor:grab}.diff-scroll.zoomed .diff-board:not(.mark-mode):active{cursor:grabbing}

.diff-tool-row button.b{white-space:nowrap!important;word-break:normal!important}

.diff-tool-row button.b:first-child{min-width:90px!important;flex:1.5!important}

body.atman .w3p.v7-player-root .diff-phone{height:auto!important;max-height:none!important;overflow:visible!important;flex-shrink:0!important}
