.contest-shell{padding-top:42px;padding-bottom:72px;min-height:60vh}
.contest-shell h1{font-size:clamp(30px,4vw,48px);line-height:1.12;margin:12px 0 16px}
.contest-shell h2{font-size:clamp(23px,2.4vw,30px);margin:12px 0;line-height:1.2}
.contest-shell h3{font-size:21px;margin:10px 0}.contest-shell p{line-height:1.65}
.contest-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 26px}
.contest-heading>div{min-width:0}.contest-heading h1,.contest-heading h2,.drawing-card h3{overflow-wrap:anywhere}
.contest-heading p{color:var(--color-muted,#617087);max-width:760px}
.account-layout{display:grid;grid-template-columns:248px minmax(0,1fr);align-items:start;gap:28px}
.account-sidebar{display:flex;flex-direction:column;gap:8px;padding:8px;background:#f1f2f3;border-radius:18px}
.account-sidebar a{display:block;padding:14px 18px;border-radius:12px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.account-sidebar a:hover{background:#e5e7eb}.account-sidebar a[aria-current]{background:#ffbd08;color:#171512;box-shadow:0 3px 8px #0000000d}
.account-sidebar__label{display:block;margin:10px 10px 0;padding-top:14px;border-top:1px solid #d8dade;color:#617087;font-size:11px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.account-content{min-width:0}.account-content>:first-child{margin-top:0}
.account-content .contest-grid,.account-content .drawing-grid,.account-content .tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.account-content .schedule-form{grid-template-columns:minmax(0,1fr)}.account-content .schedule-card--load,.account-content .schedule-card--rules{grid-column:auto;grid-row:auto}
.account-content .schedule-builder__intro{flex-direction:column;align-items:stretch}.account-content .schedule-source-note{flex-basis:auto}
.contest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}
.contest-card,.contest-panel{border:1px solid #e3e5e8;border-radius:22px;background:#fff;padding:26px}
.contest-panel{margin:24px 0}.contest-panel--accent{background:#fff7d3;border-color:#edda99}.contest-empty{padding:44px;grid-column:1/-1}.contest-empty .button{margin-top:20px}
.contest-badge{display:inline-block;background:#f0f1f3;padding:7px 12px;border-radius:20px;font-size:13px;font-weight:700}
.contest-badge--open{background:#e4f4e5;color:#216130}.contest-badge--closed{background:#eaf0ff;color:#263d6d}
.contest-form{display:grid;gap:18px;margin-top:20px}.contest-form>.button{justify-self:start}.contest-form .field,.account-security .field{display:grid;gap:8px}
.contest-form .field__input{width:100%;min-width:0}.contest-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contest-modes{border:0;padding:0;display:grid;gap:12px;min-width:0}.contest-modes legend{font-weight:700;margin-bottom:10px}
.contest-mode{display:flex;align-items:flex-start;gap:12px;border:1px solid #ddd;border-radius:14px;padding:16px;cursor:pointer}
.contest-mode:has(input:checked){border-color:#da9d00;background:#fff9e7}.contest-mode input,.contest-check input{flex:0 0 auto;width:18px;height:18px;margin-top:3px;accent-color:#ac7500}
.contest-mode small{display:block;margin-top:5px;color:#59677e;font-size:14px;line-height:1.5}.contest-check{display:flex;gap:12px;align-items:flex-start;line-height:1.6}
.contest-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px}.contest-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.contest-stats>div{padding:22px;border-radius:18px;background:#f4f5f7;display:grid;gap:7px}.contest-stats strong{font-size:30px}.contest-stats span{color:#59677e}
.contest-note,.contest-ticket-ready{padding:18px 22px;border-radius:14px;background:#f0f4fa;margin:20px 0}.contest-ticket-ready{background:#e4f4e5}
.drawing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:24px}.drawing-card{overflow:hidden;border:1px solid #e3e5e8;border-radius:20px;background:#fff}
.drawing-card img{display:block;width:100%;height:260px;object-fit:contain;background:#f5f4f0;padding:12px}.drawing-card__body{padding:20px}.drawing-card__body>.button{margin-top:16px}
.drawing-card .contest-form{margin-top:4px}.drawing-votes{display:block;color:#215d32;margin:12px 0}
.entry-description{overflow-wrap:anywhere;white-space:normal}.drawing-card details{margin:14px 0}.drawing-card summary{cursor:pointer;font-weight:650}.drawing-card .field{min-width:0}
.exhibit-placeholder{min-height:200px;padding:28px;display:flex;flex-direction:column;justify-content:center;gap:14px;background:#fff7d3;color:#263d6d;overflow-wrap:anywhere}.exhibit-placeholder span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#755222}.exhibit-placeholder strong{font-size:25px;line-height:1.25}.exhibit-placeholder--detail{min-height:300px;border-radius:20px}.exhibit-placeholder--detail p{margin:0}
.drawing-detail{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);align-items:start;gap:28px}.drawing-detail__art{width:100%;max-height:78vh;object-fit:contain;background:#f5f4f0;padding:18px;border-radius:20px}
.drawing-detail .contest-panel{margin-top:0}.ballot-code-input{font-family:monospace;letter-spacing:.04em;text-transform:uppercase}.upload-preview{max-width:320px;max-height:240px;border-radius:12px;object-fit:contain}
.account-security{max-width:760px}.contest-panel summary{font-weight:700;font-size:20px;cursor:pointer}
.vk-qr{display:inline-flex;flex-direction:column;align-items:center;gap:10px;width:210px;max-width:100%}
.vk-qr__frame{position:relative;width:100%;aspect-ratio:1;box-sizing:border-box;padding:12px;border:1px solid #edda99;border-radius:18px;background:#fff;box-shadow:0 14px 28px #263d6d12;overflow:hidden}
.vk-qr__frame:before{content:'';position:absolute;inset:6px;border:2px solid #ffbd0847;border-radius:14px;pointer-events:none}
.vk-qr__code{position:relative;width:100%;height:100%;border-radius:12px;background:#fff;overflow:hidden}.vk-qr__svg{display:block;width:100%;height:100%;border-radius:inherit}
.vk-qr__caption{color:#5f7488;font-size:12px;font-weight:700;line-height:1.35;text-align:center}.vk-qr__error{padding:25px;color:#a73547;background:#fff0f2}
.contest-print{background:#e8e9eb;color:#171512;font-family:'Segoe UI',Arial,sans-serif;margin:0}.contest-print *{box-sizing:border-box}.contest-print [hidden]{display:none!important}
.print-toolbar{max-width:1000px;margin:20px auto;padding:20px}.print-toolbar button{background:#ffbd08;border:0;border-radius:10px;padding:14px 20px;font:inherit;cursor:pointer;margin-left:18px}
.contest-print>main{max-width:210mm;margin:0 auto}.drawing-poster{background:#fff;padding:14mm;width:210mm;height:293mm;margin-bottom:10mm;display:flex;flex-direction:column;overflow:hidden}
.drawing-poster header span,.ballot-card>div>span{font-size:11px;letter-spacing:.12em;color:#59677e}.drawing-poster h1{font-size:25px;margin:8px 0 15px;overflow-wrap:anywhere}
.poster-art{width:100%;flex:1;min-height:0;object-fit:contain}.drawing-poster footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:15px}
.drawing-poster footer>div:first-child{flex:1;min-width:0;overflow-wrap:anywhere}.drawing-poster .vk-qr{width:47mm;flex-shrink:0}.drawing-poster h2{font-size:22px;margin:8px 0}.drawing-poster p{font-size:14px}
.ballot-grid{display:grid;grid-template-columns:1fr;background:#fff;padding:8mm}.ballot-card{border:1px dashed #98a4b2;padding:6mm;height:66mm;display:flex;gap:10px;align-items:center;justify-content:space-between;break-inside:avoid;overflow:hidden}
.ballot-card>div:first-child{min-width:0}.ballot-card h2{font-size:15px;margin:8px 0;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ballot-card p{font-size:11px;line-height:1.4;max-width:115mm}.ballot-code{font:bold 19px monospace}.ballot-card .vk-qr{width:43mm;flex-shrink:0}
@media(max-width:900px){.account-layout{grid-template-columns:minmax(0,1fr);gap:24px}.contest-grid,.drawing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drawing-detail{grid-template-columns:1fr}}
@media(max-width:600px){.contest-shell{padding-top:26px}.contest-heading{align-items:flex-start;flex-direction:column;gap:14px}.contest-grid,.drawing-grid,.contest-fields,.account-content .contest-grid,.account-content .drawing-grid,.account-content .tools-grid{grid-template-columns:1fr}.contest-panel,.contest-card{padding:20px}.account-sidebar a{padding:12px 14px;font-size:14px}.contest-stats{gap:6px}.contest-stats>div{padding:12px}.contest-stats strong{font-size:22px}.contest-stats span{font-size:12px}.drawing-card img{height:280px}}
@media print{.account-layout{display:block}.account-sidebar{display:none}}

.admin-view{min-width:0}.admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.admin-heading h2{margin-top:4px}.admin-heading p:last-child{margin:0;color:#617087}.admin-live-note{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:#edf8f0;color:#216130;font-size:13px;font-weight:700;white-space:nowrap}.admin-live-note i,.admin-status.is-online:before{width:8px;height:8px;border-radius:50%;background:#2b9a52;box-shadow:0 0 0 4px #2b9a5218;content:''}.admin-filters{display:grid;grid-template-columns:minmax(220px,1fr) 220px auto;align-items:end;gap:14px;padding:18px;border:1px solid #e3e5e8;border-radius:18px;background:#fff}.admin-message{min-height:25px;color:#617087}.admin-table-scroll{overflow-x:auto;border:1px solid #e3e5e8;border-radius:18px;background:#fff}.admin-users-table table{width:100%;border-collapse:collapse;min-width:900px}.admin-users-table th,.admin-users-table td{padding:15px 16px;border-bottom:1px solid #edf0f2;text-align:left;vertical-align:middle}.admin-users-table th{color:#617087;background:#f7f8f9;font-size:12px;letter-spacing:.05em;text-transform:uppercase}.admin-users-table tr:last-child td{border-bottom:0}.admin-users-table td:first-child strong,.admin-users-table td span,.admin-users-table td small{display:block}.admin-users-table td small{margin-top:4px;color:#617087;font-size:12px}.admin-users-table td:last-child{text-align:right}.admin-status{display:inline-flex!important;align-items:center;gap:7px;font-weight:700}.admin-status.is-online{color:#216130}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:20px}.admin-dialog{width:min(680px,calc(100% - 32px));max-height:calc(100vh - 40px);padding:0;border:0;border-radius:22px;box-shadow:0 28px 90px #10182838;overflow:auto}.admin-dialog::backdrop{background:#17203373;backdrop-filter:blur(3px)}.admin-dialog__head{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;padding:24px 26px 18px;border-bottom:1px solid #e3e5e8;background:#fff}.admin-dialog__head h2{margin:5px 0 0}.admin-dialog__close{width:40px;height:40px;border:0;border-radius:50%;background:#f1f2f3;font-size:28px;line-height:1;cursor:pointer}.admin-user-form,.admin-recovery-tools{display:grid;gap:16px;padding:24px 26px}.admin-recovery-tools{border-top:1px solid #e3e5e8}.admin-recovery-tools h3,.admin-recovery-tools p{margin:0}.admin-secret{display:flex;align-items:end;gap:10px;padding:14px;border-radius:14px;background:#fff8d8}.admin-secret .field{flex:1;min-width:0}.admin-dialog>.admin-message{padding:0 26px 24px}.admin-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.admin-stat-card{display:grid;gap:5px;padding:20px;border:1px solid #e3e5e8;border-radius:18px;background:#fff}.admin-stat-card strong{font-size:clamp(25px,3vw,36px);line-height:1}.admin-stat-card span{color:#617087;font-size:13px}.admin-chart-panel{margin-top:22px}.admin-chart-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.admin-chart-heading h3{margin:4px 0}.admin-chart-heading>span{color:#617087;font-size:12px}.admin-chart{display:flex;align-items:end;height:260px;gap:8px;margin-top:28px;padding-top:28px;border-bottom:1px solid #dfe3e8}.admin-chart__column{display:flex;flex:1;height:100%;min-width:12px;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px}.admin-chart__column>span{color:#617087;font-size:11px}.admin-chart__column>i{display:block;width:min(30px,80%);min-height:2px;border-radius:8px 8px 2px 2px;background:linear-gradient(#ffbd08,#f59a00)}.admin-chart__column>small{padding:7px 0;color:#617087;font-size:10px}
@media(max-width:1120px){.admin-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.admin-heading,.admin-chart-heading{align-items:flex-start;flex-direction:column}.admin-filters{grid-template-columns:1fr}.admin-filters .button{width:100%}.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dialog__head,.admin-user-form,.admin-recovery-tools{padding-left:20px;padding-right:20px}.admin-secret{align-items:stretch;flex-direction:column}.admin-chart{gap:3px}.admin-chart__column>small{font-size:9px}}
@media print{@page{size:A4;margin:0}.print-toolbar{display:none}.contest-print{background:white;print-color-adjust:exact;-webkit-print-color-adjust:exact}.drawing-poster{margin:0;break-after:page}.drawing-poster:last-child{break-after:auto}.vk-qr__frame{box-shadow:none}.ballot-grid{display:block;padding:8mm}.ballot-card{margin:0;break-inside:avoid}}
.exhibit-print-grid{background:white}.exhibit-label{width:210mm;height:148mm;padding:10mm 12mm;display:flex;flex-direction:column;gap:5mm;border-bottom:1px dashed #98a4b2;break-inside:avoid;color:#263d6d;overflow-wrap:anywhere}
.exhibit-label header span{font-size:11px;letter-spacing:.12em;color:#755222}.exhibit-label h1{font-size:17px;line-height:1.25;margin:6px 0 0}.exhibit-label h2{font-size:23px;line-height:1.2;margin:0 0 10px}.exhibit-label__content{display:flex;align-items:center;gap:8mm;flex:1;min-height:0}.exhibit-label__content>section{flex:1;min-width:0}.exhibit-label .vk-qr{width:47mm;flex-shrink:0}.exhibit-label .entry-description{font-size:13px;line-height:1.4;margin:10px 0 0}.exhibit-label__author{font-size:13px;color:#755222;margin:0}.exhibit-label footer{font-size:12px;line-height:1.4;border-top:1px solid #edda99;padding-top:4mm}.exhibit-label footer p{margin:4px 0 0}
@media print{.exhibit-label:nth-child(even){break-after:page;border-bottom:0}.exhibit-label:last-child{break-after:auto}}
.exhibit-label{--label-scale:1}.exhibit-label h1{font-size:calc(17px * var(--label-scale))}.exhibit-label h2{font-size:calc(23px * var(--label-scale))}.exhibit-label .entry-description,.exhibit-label__author{font-size:calc(13px * var(--label-scale))}
.exhibition-map{margin:24px 0}.exhibition-map__stage{position:relative;overflow:hidden;border-radius:18px;background:#f0f1f3;line-height:0;isolation:isolate;scroll-margin-top:100px}.exhibition-map__stage>img{display:block;width:100%;height:auto;user-select:none}.exhibition-map__overlay{position:absolute;inset:0;width:100%;height:100%}.exhibition-map__status{min-height:1.7em;color:#755222}
.exhibition-hotspot{fill:#ffbd0814;stroke:#ffbd08;stroke-width:2;cursor:pointer;transition:fill .15s,stroke .15s}.exhibition-hotspot:hover,.exhibition-hotspot:focus,.exhibition-hotspot.is-active{fill:#ffbd0866;stroke:#263d6d;stroke-width:4;outline:none}.exhibition-hotspot:focus{stroke-dasharray:7 3}
[data-map-editor] .exhibition-map__stage{cursor:crosshair;touch-action:manipulation}[data-map-editor] .exhibition-hotspot{pointer-events:none;fill:#263d6d18;stroke:#617087}[data-map-editor] .exhibition-hotspot.is-editing{visibility:hidden}.exhibition-outline{fill:#ffbd0844;stroke:#263d6d;stroke-width:3;pointer-events:none}[data-region-points] circle{fill:#fff;stroke:#263d6d;stroke-width:2;pointer-events:none}.exhibition-cursor{fill:#263d6d;stroke:#fff;stroke-width:2;pointer-events:none}.exhibition-cursor[hidden]{display:none}.exhibition-region-form .contest-actions{margin-top:0}.exhibition-clear-form{padding-top:14px;border-top:1px solid #e3e5e8}.exhibition-map__stage:focus-visible{outline:3px solid #a66b00;outline-offset:4px}
.exhibition-list{margin-top:32px}.exhibition-entry{display:flex;align-items:flex-start;gap:24px;margin:18px 0;padding:24px;border:2px solid #e3e5e8;border-radius:20px;background:#fff;scroll-margin-top:100px;transition:border-color .15s,background .15s}.exhibition-entry.is-selected,.exhibition-entry:focus{border-color:#d69800;background:#fffbee;outline:none}.exhibition-entry.has-vote{border-color:#263d6d}.exhibition-entry__body{flex:1;min-width:0;cursor:pointer}.exhibition-entry__body h3{overflow-wrap:anywhere;margin-top:0}.exhibition-entry__author{color:#755222;overflow-wrap:anywhere}.exhibition-entry__photo{width:140px;height:140px;object-fit:contain;border-radius:12px;background:#f5f4f0}.exhibition-entry__vote{width:260px;flex-shrink:0}.exhibition-entry__vote .contest-form{margin-top:0}.exhibition-entry__vote small{display:block;color:#617087;line-height:1.5;margin-top:10px}.exhibition-unmapped{font-size:13px;color:#617087}.exhibition-like-form .button{width:100%}
@media(max-width:760px){.exhibition-entry{flex-direction:column;padding:18px;gap:14px}.exhibition-entry__vote{width:100%}.exhibition-entry__photo{width:100%;height:180px}.exhibition-map__stage{border-radius:12px}.exhibition-entry__body{width:100%}}
.exhibition-hotspot.is-active{fill:#ff79002e;stroke:#ff7900;stroke-width:4;stroke-dasharray:none}.exhibition-hotspot.is-attention{animation:exhibition-attention .8s ease-in-out .25s 3}
@keyframes exhibition-attention{0%,100%{fill:#ff79002e}50%{fill:#ff790080}}
@media(prefers-reduced-motion:reduce){.exhibition-hotspot,.exhibition-entry{transition:none}.exhibition-hotspot.is-attention{animation:none}}
[data-region-point]{cursor:grab;touch-action:none;outline:none}.exhibition-point__hit{fill:transparent;pointer-events:all;touch-action:none}.exhibition-point__dot{fill:#fff;stroke:#263d6d;stroke-width:2;pointer-events:none}[data-region-point]:hover .exhibition-point__dot,[data-region-point]:focus .exhibition-point__dot,[data-region-point].is-dragging .exhibition-point__dot{fill:#ffbd08;stroke-width:3}[data-map-editor] .exhibition-map__stage.is-dragging-point,[data-region-point].is-dragging{cursor:grabbing}
