/* r29 extends the game-table material language across the full experience. */
:root{--vv-brass:#d8a64e;--vv-brass-light:#f6d486;--vv-blue-panel:#102a49;--vv-blue-deep:#07182b;--vv-paper:#f3dda8;--vv-paper-light:#fff3ce;--vv-paper-edge:#8a5929}
body::before{z-index:-2;background:linear-gradient(90deg,#0a1830ed,#152b48d9 58%,#172b489c),repeating-linear-gradient(11deg,rgba(255,241,199,.025) 0 1px,transparent 1px 7px),repeating-linear-gradient(101deg,rgba(1,10,24,.04) 0 1px,transparent 1px 9px),url("assets/verse-vibe-gathering-r22.png") 75% center/cover no-repeat;filter:saturate(1.08) contrast(1.04)}
body::after{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 12%,rgba(255,211,118,.12),transparent 28%),radial-gradient(circle at 86% 78%,rgba(1,10,26,.34),transparent 38%),repeating-linear-gradient(3deg,rgba(255,255,255,.018) 0 1px,transparent 1px 5px)}
.home-vista::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:repeating-linear-gradient(8deg,rgba(255,240,190,.035) 0 1px,transparent 1px 6px),radial-gradient(circle at 72% 28%,rgba(255,214,126,.13),transparent 27%),linear-gradient(180deg,transparent 56%,rgba(4,13,27,.24));mix-blend-mode:soft-light}
.section-heading{position:relative;overflow:hidden;padding:1.1rem 1.3rem 1.2rem;background:repeating-linear-gradient(4deg,rgba(255,255,255,.025) 0 1px,transparent 1px 8px),linear-gradient(145deg,#1a3c61,var(--vv-blue-panel));border:1px solid #9e7438;border-radius:15px;box-shadow:inset 0 0 0 2px rgba(255,235,186,.08),0 6px 0 var(--vv-blue-deep),0 16px 30px rgba(3,12,25,.3)}.section-heading::after{content:"";position:absolute;inset:7px;border:1px solid rgba(246,212,134,.15);border-radius:10px;pointer-events:none}.section-heading>*{position:relative;z-index:1}
.setup-card{padding:1rem;background:repeating-linear-gradient(6deg,rgba(255,255,255,.02) 0 1px,transparent 1px 8px),linear-gradient(145deg,#132f51,#091d35);border:1px solid #9e7438;border-radius:18px;box-shadow:inset 0 0 0 2px rgba(247,210,130,.08),0 8px 0 #061425,0 20px 38px rgba(2,10,22,.33)}
.setup-card fieldset,.settings-card,.review-card,.result-row,.handoff-card{color:#382617;background:repeating-linear-gradient(2deg,rgba(102,62,24,.026) 0 1px,transparent 1px 6px),linear-gradient(145deg,var(--vv-paper-light),var(--vv-paper) 72%,#deb879);border:1px solid var(--vv-paper-edge);box-shadow:inset 0 0 0 2px rgba(255,249,222,.58),inset 0 -8px 14px rgba(101,57,22,.08),0 5px 0 #321b0e,0 12px 22px rgba(3,13,25,.24)}
.setup-card fieldset{border-radius:13px}.setup-card legend,.settings-card h2,.review-card h2,.result-row strong{color:#432b17;font-family:Georgia,"Times New Roman",serif}.setup-card .field-help,.setup-card .mode-choice small,.settings-card .toggle small{color:#665039}
.player-count,.player-row,.mode-choice span,.difficulty-row span,.limit-controls label,.settings-card select,.settings-card .toggle,.review-toolbar,.review-card-header,.review-question,.review-actions,.comment-box textarea{background:repeating-linear-gradient(2deg,rgba(92,55,23,.024) 0 1px,transparent 1px 7px),rgba(255,248,220,.68);border-color:#9b7548}
.player-count{border:1px solid #9b7548;border-radius:9px}.player-count button{color:#fff0cc;background:linear-gradient(180deg,#31597f,#132f52);border:1px solid #091a2d;border-radius:7px;box-shadow:inset 0 1px rgba(255,255,255,.2),0 2px 0 #071526}.player-row{border-left:5px solid #76502a;border-radius:8px}.player-row label{color:#634a32}.player-row input,.limit-controls input,.review-toolbar input,.review-toolbar select{color:#322216;background:rgba(255,252,236,.82);border:1px solid #8f6940;border-radius:6px}
.mode-choice span,.difficulty-row span{border:1px solid #997041;border-radius:8px;box-shadow:inset 0 1px rgba(255,255,255,.65),0 3px 0 rgba(76,43,19,.2)}.mode-choice input:checked+span,.difficulty-row input:checked+span{color:#fff1cd;background:repeating-linear-gradient(4deg,rgba(255,255,255,.025) 0 1px,transparent 1px 7px),linear-gradient(145deg,#315a82,var(--vv-blue-panel));border-color:#d3a34c;box-shadow:inset 0 0 0 1px rgba(255,229,166,.2),0 3px 0 #07182b}.mode-choice input:checked+span small{color:#d8e3ee}
.setup-card .primary-button,.settings-card .primary-button,.results-screen .primary-button,.review-screen .primary-button,.review-screen .approve-button{color:#2b190d;background:repeating-linear-gradient(5deg,rgba(91,47,16,.08) 0 1px,transparent 1px 7px),linear-gradient(180deg,#ffd983 0,#efb64f 58%,#c98225 100%);border:1px solid #6b3c15;border-radius:8px;box-shadow:inset 0 2px rgba(255,247,200,.7),inset 0 -2px rgba(107,54,15,.22),0 5px 0 #49250f;text-shadow:0 1px rgba(255,241,195,.72)}
.setup-card .secondary-button,.results-screen .secondary-button,.review-screen .secondary-button,.settings-card .secondary-button{color:#fff0cc;background:repeating-linear-gradient(4deg,rgba(255,255,255,.025) 0 1px,transparent 1px 8px),linear-gradient(145deg,#31597f,var(--vv-blue-panel));border:1px solid #d1a14a;border-radius:8px;box-shadow:inset 0 1px rgba(255,255,255,.2),0 4px 0 #07182b}
.progress-player{position:relative;overflow:hidden;background:repeating-linear-gradient(4deg,rgba(255,255,255,.025) 0 1px,transparent 1px 8px),linear-gradient(145deg,#1a3b61,var(--vv-blue-panel));border-color:#8e6937;border-radius:10px;box-shadow:inset 0 0 0 1px rgba(255,228,164,.09),0 4px 0 #07182b}.progress-player.current{border-color:var(--vv-brass-light);background:repeating-linear-gradient(4deg,rgba(255,255,255,.025) 0 1px,transparent 1px 8px),linear-gradient(145deg,#315a82,#173858);box-shadow:inset 0 -3px #bf8430,0 4px 0 #07182b}
.board-panel{position:relative;overflow:hidden;color:#fff3d5;background:radial-gradient(circle at 11px 11px,#80552b 0 2px,#d9ad63 2.5px 4px,transparent 4.5px),radial-gradient(circle at calc(100% - 11px) 11px,#80552b 0 2px,#d9ad63 2.5px 4px,transparent 4.5px),repeating-linear-gradient(5deg,rgba(255,255,255,.024) 0 1px,transparent 1px 8px),linear-gradient(145deg,#173858,#081c33);border:1px solid #9e7438;border-radius:16px;box-shadow:inset 0 0 0 2px rgba(246,212,134,.09),0 7px 0 #061425,0 18px 34px rgba(2,10,22,.34)}.board-panel::before{content:"";position:absolute;top:0;left:3rem;right:3rem;height:4px;background:repeating-linear-gradient(90deg,var(--vv-brass) 0 19px,#18395c 19px 25px)}.board-panel .panel-heading h2{color:#fff3d5;font-family:Georgia,"Times New Roman",serif}.board-help{color:#cedbea}.segmented{background:rgba(4,17,33,.6);border:1px solid #896735;border-radius:8px}.segmented button{color:#e8e0d1;border-radius:6px}.segmented button[aria-pressed="true"]{color:#2b190d;background:linear-gradient(180deg,#ffd982,#eaaa43);box-shadow:inset 0 1px rgba(255,255,255,.55),0 2px 0 #6b3c15}.board-scroll{padding:.5rem;background:repeating-linear-gradient(5deg,rgba(255,255,255,.018) 0 1px,transparent 1px 7px),rgba(3,14,28,.5);border:1px solid rgba(220,172,85,.35);border-radius:10px;box-shadow:inset 0 6px 14px rgba(0,0,0,.28)}.region-window{border-radius:9px}.region-card{border:2px solid #9c753e;border-radius:9px;box-shadow:0 5px 0 #29160d,0 10px 20px rgba(0,0,0,.3)}.region-title{color:#3b2818;background:repeating-linear-gradient(2deg,rgba(94,56,22,.025) 0 1px,transparent 1px 6px),rgba(255,243,207,.94);border-color:#8f6534;border-radius:7px}.board-legend{margin-top:.65rem;padding:.75rem .35rem .1rem;color:#e7dfcf;border-top:1px solid rgba(222,176,94,.28)}.map-follow{color:#fff0cc;background:linear-gradient(145deg,#31597f,var(--vv-blue-panel));border-color:#c59545;border-radius:7px;box-shadow:0 3px 0 #07182b}
.result-row{border-radius:12px}.result-row:first-child{background:repeating-linear-gradient(2deg,rgba(102,62,24,.03) 0 1px,transparent 1px 6px),linear-gradient(145deg,#fff3ca,#e9c783);border-color:#a66b27;box-shadow:inset 0 0 0 2px rgba(255,249,222,.55),0 6px 0 #5a3215}
.review-toolbar{color:#3a2818;border:1px solid #8c5a29;border-radius:11px;box-shadow:inset 0 0 0 2px rgba(255,249,222,.45),0 5px 0 #321b0e}.review-rail{background:repeating-linear-gradient(4deg,rgba(255,255,255,.025) 0 1px,transparent 1px 8px),linear-gradient(145deg,#173858,#081c33);border-color:#9e7438;border-radius:12px;box-shadow:0 5px 0 #061425}.queue-button.current{color:#2b190d;background:linear-gradient(180deg,#ffd982,#eaaa43);border-color:#704117}.review-card{border-radius:14px}.review-card-header{border:1px solid #a47a45;border-radius:8px}.review-actions{border-top-color:#a47a45}.changes-button,.skip-button{border-radius:7px;box-shadow:0 3px 0 rgba(64,35,18,.32)}
.settings-card{border-radius:14px}.settings-card .toggle{border-top-color:#a47a45}.settings-card>label:not(.toggle){color:#4e351e}
@media(max-width:760px){.section-heading{padding:1rem;border-radius:12px}.setup-card{padding:.7rem;border-radius:14px}.setup-card fieldset{margin-bottom:.85rem;border-radius:11px}.board-panel{border-radius:14px;padding:.72rem}.board-scroll{padding:.35rem}.review-toolbar{box-shadow:0 4px 0 #321b0e}}
body.high-contrast .board-panel,body.high-contrast .setup-card,body.high-contrast .settings-card,body.high-contrast .review-card{border-width:2px}
