﻿/* Production forms and responsive extensions retain the supplied Winterclick design. */
.admin-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.admin-panel{padding:24px;margin:16px 0}.admin-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line,#dce1d9)}.admin-row>span{flex:1;min-width:140px}.admin-row .button{padding:8px 12px;font-size:12px}.login-card{max-width:540px;margin:30px auto}.rule-box{padding:20px;margin-top:20px}.rule-box summary{cursor:pointer;font-weight:700}.modal{border:1px solid #d7ddd3;border-radius:12px;background:#f6f4ed;color:#223b32;max-width:min(680px,94vw);width:100%;max-height:90dvh;padding:0}.modal.wide{max-width:min(920px,94vw)}.modal::backdrop{background:#203b3477}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;border-bottom:1px solid #d7ddd3}.modal-head h2{font-size:20px;margin:0}.modal-body{padding:24px;overflow-wrap:anywhere}.modal .form-field{display:flex;flex-direction:column;gap:7px;margin:14px 0}.modal input,.modal select,.modal textarea,.login-card input{font:inherit;color:inherit;padding:10px;border:1px solid #bccdc2;border-radius:6px;background:#fff;max-width:100%;width:100%}.modal input[type=checkbox]{width:auto}.modal fieldset{border:1px solid #d7ddd3;border-radius:6px;padding:12px;margin:14px 0}.form-error{color:#a23528;white-space:pre-wrap}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.media-grid img{width:100%;height:130px;object-fit:contain}.media-grid .button{font-size:12px;margin:4px}.stream-player{aspect-ratio:16/9;background:#e6ede6;border-radius:12px;overflow:hidden;margin-bottom:12px}.stream-player iframe{width:100%;height:100%;border:0}.team-profile{text-align:center;padding:30px}.team-profile>img{max-height:420px;max-width:100%;margin:auto}.photo-preview{max-width:100%;max-height:70vh;object-fit:contain}.audit-item{padding:14px;border-bottom:1px solid #d7ddd3}.audit-json{max-height:350px;overflow:auto;white-space:pre-wrap;font-size:12px;background:#fff;padding:16px}.mini-tabs{display:flex;flex-wrap:wrap;gap:12px;padding:16px 0}.mini-tabs>a{padding:8px 16px;border-radius:6px;background:#e6ece5}.mini-tabs>a.active{background:#2b5945;color:#fff}.match-list{display:flex;flex-direction:column;gap:16px}.match-card{width:100%;text-align:inherit}.table-wrap{overflow-x:auto;max-width:100%}.gallery-photo{margin:0}.gallery-photo figcaption{padding:12px}.phase-enter{animation:reveal .7s ease-out}@keyframes reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}:focus-visible{outline:3px solid #bd6b38;outline-offset:4px}button:disabled{opacity:.55;cursor:wait}main{min-height:55vh}.form-field input[type=file]{max-width:100%}.day-selector button{padding:12px 24px}.day-selector button.active{background:#2b5945;color:#fff}
@media(max-width:768px){.admin-grid,.media-grid{grid-template-columns:1fr}.modal-body,.modal-head{padding:18px}.admin-actions .button{flex:1}.admin-row{gap:8px}.draw-stage{grid-template-columns:1fr}.draw-pool{display:none}.match-team small{display:none}.match-team span{overflow-wrap:anywhere}.match-versus{gap:8px}.match-team{min-width:0}.prototype-strip .container{gap:8px;font-size:10px}.editor-bar .container{flex-wrap:wrap;gap:8px}.page-heading{gap:20px}.team-card h2{overflow-wrap:anywhere}.schedule-item time{font-size:11px}.live-center-grid,.tournament-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

/* Direct tournament administration */
.admin-match{cursor:default;padding:0;overflow:hidden}.match-card-summary{cursor:pointer;display:block}
.card-live-actions,.card-result-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.card-live-actions{padding:16px 20px;border-top:1px solid #dfe5d8;background:#f2f6ed}.live-start{background:#3d7154;color:#fff;border-color:#3d7154}
.inline-result{padding:4px 20px 20px}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.inline-result .form-field,.inline-result fieldset{margin:12px 0}.inline-result .form-field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:14px;line-height:1.5}
.inline-result input,.inline-result textarea,.inline-result select{font:inherit;font-size:16px;width:100%;min-width:0;max-width:100%;padding:11px;border:1px solid #bdcdbf;border-radius:6px;background:#fff;color:#243b3b}.inline-result textarea{min-height:64px}.inline-result input[type=checkbox]{width:auto}
.inline-result fieldset{border:1px solid #d8e0d1;border-radius:8px;padding:8px 12px}.inline-result legend{font-size:14px;font-weight:700;padding:0 6px}.inline-result .detail-note{font-size:13px;line-height:1.6}.inline-result .form-error{font-size:14px}.inline-result[data-dirty=true]{border-left:3px solid #bb7e42;padding-left:17px}
.card-result-actions .button,.card-live-actions .button{font-size:13px;line-height:1.5;white-space:normal}.card-result-actions .text-link{font-size:12px}
.race-controls{border-top:1px solid #d8e0d1;padding:16px 20px}.race-controls>span{display:block;font-size:13px;line-height:1.6;margin-bottom:10px}.race-controls>div{display:flex;flex-wrap:wrap;gap:8px}.race-controls button{font-size:15px;padding:12px 16px}
.tournament-grid{display:grid;gap:24px;align-items:start;grid-template-columns:minmax(0,1.2fr) minmax(340px,1fr)}.tournament-grid>*{min-width:0}.tournament-aside .table-wrap{padding:0}
.data-table{font-variant-numeric:tabular-nums}.data-table th,.ranking-panel .data-table th{font-family:var(--body);font-size:14px;line-height:1.5;padding:16px 12px}.data-table td,.ranking-panel .data-table td{font-family:var(--body);font-size:17px;line-height:1.6;padding:17px 12px}.data-table td:first-child{font-weight:700}.data-table td.total-points{font-size:29px}
.game-card-manage{min-width:0;display:flex;flex-direction:column;gap:12px}.game-card-manage>.game-card{flex:1}.game-card-manage .cover-edit{align-self:stretch}.game-card-art .tournament-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}.game-card-art .game-day{z-index:3}
.upload-drop-zone{position:relative;display:flex;flex-direction:column;gap:10px;justify-content:center;align-items:center;min-height:155px;padding:22px;border:2px dashed #8aab92;border-radius:12px;background:#eef5e9;text-align:center;cursor:pointer}
.upload-drop-zone strong{font-size:17px}.upload-drop-zone span{font-size:15px}.upload-drop-zone small{font-size:12px;line-height:1.6}.upload-drop-zone input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.upload-drop-zone:focus-within,.upload-drop-zone.drag-over{outline:3px solid #b97a3f;outline-offset:3px;background:#e0edd8}
.upload-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;margin:14px 0}.upload-preview figure{margin:0;min-width:0}.upload-preview img{width:100%;height:100px;object-fit:cover;border-radius:6px}.upload-preview figcaption{font-size:12px;overflow-wrap:anywhere;margin-top:6px}.gallery-upload-actions{margin:18px 0}
.draw-toolbar{flex-wrap:wrap}.draw-amateur-pool ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.draw-amateur-pool li{padding:11px;border:1px solid #d6dfce;border-radius:7px;font-size:16px;overflow-wrap:anywhere}.draw-amateur-pool li.selected{background:#e4efcf;border:2px solid #8b9b41;font-weight:800}
.amateur-final{margin:20px 0;padding:25px 14px;border:2px solid #b98943;border-radius:12px;background:#fff1ce;box-shadow:0 5px 0 #d9c190}.amateur-final strong{display:block;font:800 clamp(27px,4vw,44px)/1.2 var(--body);overflow-wrap:anywhere}.amateur-final small{display:block;margin-top:12px;font-size:11px;letter-spacing:.08em;font-weight:800}.amateur-reel{display:none}
.is-revealing .amateur-final,.is-revealing .duo-team,.is-revealing .latest-draw-result{visibility:hidden}.is-revealing .draw-center{position:relative}.is-revealing .amateur-reel{display:flex;align-items:center;justify-content:center;position:absolute;inset:70px 12px auto;min-height:150px;padding:15px;background:#fff1ce;border:3px solid #b98943;border-radius:12px;font:800 clamp(25px,4vw,42px)/1.3 var(--body);animation:draw-roll .18s linear infinite;overflow-wrap:anywhere}
.duo-team .reveal-emblem{width:76px;height:76px}.draw-center .duo-team h2{font-size:32px;line-height:1.2}.duo-team p{font-size:18px;line-height:1.7}.duo-team p span{color:#ad7449;font-weight:800}.reveal-landed .amateur-final{animation:amateur-land .7s cubic-bezier(.2,1.5,.5,1)}.amateur-waiting{margin:22px 0;padding:18px;background:#f3f5e8;border-radius:12px}.amateur-waiting>span{display:block;font-size:55px;animation:draw-await 1s ease-in-out infinite}
@keyframes draw-roll{0%{transform:translateY(-5px);opacity:.6}100%{transform:translateY(5px);opacity:1}}@keyframes amateur-land{0%{transform:scale(.72) rotate(-3deg);opacity:.3}65%{transform:scale(1.08) rotate(1deg)}100%{transform:scale(1);opacity:1}}@keyframes draw-await{50%{transform:translateY(-5px)}}
@media(max-width:1050px){.tournament-grid{grid-template-columns:minmax(0,1fr)}.tournament-aside{grid-row:1}.tournament-aside .data-table{min-width:520px}}
@media(max-width:768px){.result-grid{grid-template-columns:1fr}.inline-result,.race-controls{padding-left:14px;padding-right:14px}.inline-result[data-dirty=true]{padding-left:11px}.card-live-actions{padding:14px}.card-result-actions>.button{flex:1 1 135px}.data-table th,.ranking-panel .data-table th{font-size:13px}.data-table td,.ranking-panel .data-table td{font-size:16px}.draw-amateur-pool{display:block;padding:16px}.draw-amateur-pool ul{flex-direction:row;flex-wrap:wrap;justify-content:center}.draw-amateur-pool li{font-size:14px;padding:8px}.draw-toolbar .button{font-size:12px}.draw-center .duo-team h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.is-revealing .amateur-final,.is-revealing .duo-team,.is-revealing .latest-draw-result{visibility:visible}.is-revealing .amateur-reel{display:none}}
