:root{--contest-accent: #604960;--contest-accent-dark: #4a374a;--contest-rule: #ddd;--contest-muted: #666;--contest-soft: #f7f7f5;--contest-danger: #a5322a;--contest-ok: #2c6e49;--contest-radius: 4px;--calendar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E")}.contest-nav{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding-bottom:8px;margin-bottom:14px;border-bottom:1px solid var(--contest-rule)}.contest-nav .spacer{margin-left:auto}.contest-nav a.active{font-weight:700}ol.placed{list-style:none;padding-left:0}ol.placed .place{font-weight:700}.contest-actions{display:flex;flex-wrap:wrap;gap:14px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0}@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.gallery-grid{grid-template-columns:1fr}}.gallery-grid figure{margin:0}.gallery-grid a{display:block;overflow:hidden;border-radius:var(--contest-radius);box-shadow:0 2px 4px #0000001a}.gallery-grid img{display:block;width:100%;height:200px;object-fit:cover;transition:filter .2s,opacity .25s ease-in}.gallery-grid a img:not([data-loaded]){opacity:0}.gallery-grid a:hover img,.gallery-grid a:focus-visible img{filter:brightness(1.08)}.gallery-grid figcaption{padding:6px 2px 0;line-height:1.4}.gallery-grid figcaption .who{display:block;color:var(--contest-muted)}.badge{display:inline-block;background:var(--contest-accent);color:#fff;border-radius:10px;padding:0 7px;margin-right:4px;font-weight:700}.lightbox{position:fixed;inset:0;background:#000000e6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;padding:24px}.lightbox img{max-width:100%;max-height:80vh;object-fit:contain;transition:opacity .25s ease-in}.lightbox img:not([data-loaded]){opacity:0;min-width:40vw;min-height:40vh}.lightbox .caption{color:#fff;margin-top:12px;text-align:center}.lightbox .who{color:#ccc}.lightbox button.close{position:absolute;top:12px;right:16px;background:none;border:0;color:#fff;font-size:2em;cursor:pointer;line-height:1}.lightbox button.nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1f;border:0;color:#fff;font-size:2em;padding:8px 14px;cursor:pointer}.lightbox button.prev{left:12px}.lightbox button.next{right:12px}.auth{max-width:24em;margin:0 auto}.auth .card{margin-top:12px}.card{margin:16px 0}.card.soft{background:var(--contest-soft);border-radius:var(--contest-radius);padding:14px 16px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.hint{color:var(--contest-muted)}.error{color:var(--contest-danger);font-weight:700}.notice{border-left:4px solid var(--contest-accent);background:var(--contest-soft);padding:10px 14px;margin:14px 0}.notice.warn{border-left-color:#b8860b}.notice.good{border-left-color:var(--contest-ok)}.pill{display:inline-block;padding:1px 8px;border-radius:10px;border:1px solid var(--contest-rule)}.pill.pending{background:#fff8e1;border-color:#e0c66a}.pill.approved{background:#e8f3ec;border-color:#9cc5ac}.pill.rejected{background:#fbeceb;border-color:#d9a9a4}.tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--contest-rule);margin:18px 0 0}.tabs a{padding:6px 12px;text-decoration:none;border:1px solid transparent;border-bottom:none;border-radius:var(--contest-radius) var(--contest-radius) 0 0}.tabs a.active{border-color:var(--contest-rule);background:var(--contest-soft);font-weight:700;margin-bottom:-1px}.review-grid{display:grid;grid-template-columns:160px 1fr;gap:14px;align-items:start;padding:14px 0;border-bottom:1px solid var(--contest-rule)}.review-grid img{width:100%;border-radius:var(--contest-radius)}@media(max-width:560px){.review-grid{grid-template-columns:1fr}}.contest-table{width:100%;border-collapse:collapse;margin:12px 0}.contest-table th,.contest-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--contest-rule);vertical-align:top}.contest-table th{background:var(--contest-soft)}.contest-table tr.removing td{color:var(--contest-muted);background:var(--contest-soft)}.date-field{display:flex;align-items:center;gap:8px}.date-field input.flatpickr-input{width:auto;min-width:15em}.date-field{position:relative}.date-field .flatpickr-calendar.open{z-index:20}#content .date-field .calendar-toggle{position:relative;align-self:stretch;width:34px;padding:0}#content .date-field .calendar-toggle:before{content:"";position:absolute;inset:0;background:currentColor;-webkit-mask:var(--calendar-icon) center / 17px 17px no-repeat;mask:var(--calendar-icon) center / 17px 17px no-repeat}.rich-text-loading{height:calc(8em + 42px);border:1px solid #c4bfad;border-radius:var(--contest-radius);background:#fff;margin-bottom:4px}.member-search{max-width:320px;margin-bottom:14px}.member-head,.member{display:grid;grid-template-columns:minmax(110px,1.2fr) minmax(130px,1.4fr) 105px 48px 216px;gap:10px;align-items:center}.member-head{padding:6px 8px;background:var(--contest-soft);border-bottom:1px solid var(--contest-rule);font-weight:700}.member{padding:8px;border-bottom:1px solid var(--contest-rule)}.member.is-disabled{opacity:.55}#content .member .field{display:block;margin:0;font-weight:400}.member .field-label{display:none}.member input,.member select{width:100%;max-width:none;margin:0}.member .count{text-align:right;color:var(--contest-muted);font-variant-numeric:tabular-nums}.member-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.member-actions button{padding:3px 9px;font-size:.92em}@media(max-width:760px){.member-head{display:none}.member{grid-template-columns:1fr;gap:6px;padding:12px 0}.member .field-label{display:block;font-weight:700;margin-bottom:2px}.member .count{text-align:left}.member .count .field-label{display:inline;margin-right:4px}.member-actions{justify-content:flex-start}}.contest-list{list-style:none;padding:0;margin:12px 0}.contest-list li{padding:7px 0;border-bottom:1px solid var(--contest-rule);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.new-contest{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:12px 0}#content .new-contest input{width:6em;margin:0}.contest-list .row-admin{margin-left:auto;display:flex;align-items:center;gap:12px;color:var(--contest-muted)}.upload-bar{width:100%;max-width:30em;height:14px;border:1px solid var(--contest-rule);border-radius:var(--contest-radius);background:#fff;appearance:none}.upload-bar::-webkit-progress-bar{background:#fff;border-radius:var(--contest-radius)}.upload-bar::-webkit-progress-value{background:var(--contest-accent);border-radius:var(--contest-radius)}.upload-bar::-moz-progress-bar{background:var(--contest-accent);border-radius:var(--contest-radius)}.gallery-grid figure.entry{position:relative}.gallery-grid figure.entry img{border-radius:var(--contest-radius)}#content .entry-remove{position:absolute;top:6px;right:6px;z-index:1;width:26px;height:26px;padding:0 0 2px;display:flex;align-items:center;justify-content:center;line-height:0;font-size:20px;border-radius:50%;background:var(--contest-danger);border-color:var(--contest-danger);color:#fff;opacity:.85}#content .entry-remove:hover:not(:disabled){background:#8c2a23;border-color:#8c2a23;opacity:1}
