/* r44 owner: retained and consolidated into the shared R45 route architecture. */
.contest-page { --contest-good: var(--cyan); --contest-warn: var(--dawn); }
.contest-hero { padding: clamp(4rem,9vw,8rem) 0 clamp(3rem,6vw,5rem); border-bottom:1px solid var(--line); background:radial-gradient(circle at 80% 20%,rgba(var(--violet-rgb),.17),transparent 34rem),var(--bg); }
.contest-shell { width:var(--shell); margin-inline:auto; }
.contest-kicker,.contest-meta,.contest-status,.contest-hash { font-family:var(--font-mono); }
.contest-kicker { margin:0 0 .8rem; color:var(--signal); font-size:.76rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.contest-hero h1,.contest-section h2 { font-family:var(--font-display); text-transform:uppercase; letter-spacing:-.03em; line-height:.86; }
.contest-hero h1 { max-width:15ch; margin:0; font-size:clamp(3rem,9vw,8rem); }
.contest-section h2 { max-width:20ch; margin:.15rem 0 1rem; font-size:clamp(2.2rem,5.8vw,5.4rem); }
.contest-boundary { max-width:50rem; margin:1.5rem 0 0; padding-left:1rem; border-left:.3rem solid var(--signal); font-size:clamp(1.12rem,2.4vw,1.7rem); font-weight:760; }
.contest-notice { padding:1rem; border:1px solid rgba(var(--dawn-rgb),.55); border-radius:var(--radius-xs); background:rgba(var(--dawn-rgb),.09); }
.contest-section { padding:clamp(3rem,7vw,6rem) 0; border-bottom:1px solid var(--line); }
.contest-section--soft { background:var(--bg-soft); }
.contest-lede { max-width:70ch; color:var(--muted); font-size:clamp(1rem,1.7vw,1.2rem); }
.contest-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) auto; gap:1rem; align-items:end; margin:1.4rem 0; padding:1.2rem; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--surface); }
.contest-controls label,.contest-validator label { display:grid; gap:.4rem; font-weight:760; }
.contest-controls select,.contest-validator textarea,.contest-validator input { width:100%; min-height:2.8rem; padding:.7rem .8rem; border:1px solid var(--line-strong); border-radius:var(--radius-xs); background:var(--surface-2); color:var(--text); font:inherit; }
.contest-validator textarea { min-height:16rem; font-family:var(--font-mono); font-size:.82rem; resize:vertical; }
.contest-button,.contest-page button { display:inline-flex; align-items:center; min-height:2.8rem; padding:.7rem 1rem; border:1px solid var(--text); border-radius:var(--radius-xs); background:var(--text); color:var(--bg); font-weight:800; text-decoration:none; cursor:pointer; }
.contest-button--ghost { background:transparent; color:var(--text); }
.contest-button:hover,.contest-page button:hover { border-color:var(--signal); background:var(--signal); color:#fff; }
.contest-page a:focus-visible,.contest-page button:focus-visible,.contest-page select:focus-visible,.contest-page textarea:focus-visible,.contest-page input:focus-visible,.contest-page summary:focus-visible { outline:3px solid var(--cyan); outline-offset:4px; }
.contest-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap:1rem; margin-top:1.25rem; }
.contest-card,.contest-receipt-head { padding:clamp(1rem,2vw,1.5rem); border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--surface); box-shadow:var(--shadow); }
.contest-card h3 { margin-top:0; }
.contest-role { border-left:.35rem solid var(--violet); }
.contest-meta { color:var(--muted); font-size:.71rem; letter-spacing:.07em; text-transform:uppercase; }
.contest-receipt-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; align-items:start; }
.contest-status { display:inline-flex; align-items:center; gap:.4rem; width:fit-content; padding:.3rem .55rem; border:1px solid currentColor; border-radius:999px; font-size:.68rem; font-weight:800; text-transform:uppercase; }
.contest-status::before { content:""; width:.45rem; height:.45rem; border-radius:50%; background:currentColor; }
.contest-status--good { color:var(--contest-good); }.contest-status--warn { color:var(--contest-warn); }
.contest-facts { display:grid; grid-template-columns:minmax(11rem,.35fr) 1fr; margin-top:1.2rem; border-top:1px solid var(--line); }
.contest-facts dt,.contest-facts dd { margin:0; padding:.7rem .8rem; border-bottom:1px solid var(--line); }.contest-facts dt { color:var(--muted); font-weight:760; }
.contest-chain { display:grid; gap:.75rem; padding:0; list-style:none; counter-reset:contest-step; }
.contest-chain li { counter-increment:contest-step; position:relative; padding:1rem 1rem 1rem 3.8rem; border:1px solid var(--line); border-radius:var(--radius-xs); background:var(--surface); }
.contest-chain li::before { content:counter(contest-step,decimal-leading-zero); position:absolute; left:1rem; top:1rem; display:grid; place-items:center; width:2rem; aspect-ratio:1; border:1px solid var(--signal); border-radius:50%; color:var(--signal); font:800 .7rem var(--font-mono); }
.contest-hash { overflow-wrap:anywhere; padding:.7rem; border:1px solid var(--line); border-radius:var(--radius-xs); background:var(--bg-soft); color:var(--muted); font-size:.73rem; line-height:1.5; }
.contest-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1rem; }.contest-print-json { display:none; white-space:pre-wrap; }
.contest-validator-output { display:block; min-height:5rem; padding:1rem; border:1px solid var(--line-strong); border-radius:var(--radius-xs); background:#020204; color:#f6f7f9; white-space:pre-wrap; font:.8rem/1.5 var(--font-mono); }
.contest-faq details { padding:.8rem 0; border-top:1px solid var(--line); }.contest-faq summary { cursor:pointer; font-weight:800; }.contest-faq p { max-width:72ch; color:var(--muted); }
@media(max-width:52rem){.contest-controls,.contest-receipt-head{grid-template-columns:1fr}.contest-controls button{justify-self:start}.contest-facts{grid-template-columns:1fr}.contest-facts dt{padding-bottom:.2rem;border-bottom:0}.contest-facts dd{padding-top:.2rem}}
@media(prefers-reduced-motion:reduce){.contest-page *,.contest-page *::before,.contest-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.contest-card,.contest-receipt-head,.contest-chain li{border:2px solid CanvasText;box-shadow:none}}
@media print{.contest-controls,.contest-validator,.contest-actions{display:none!important}.contest-hero,.contest-section{padding:1rem 0;background:#fff!important;color:#000!important}.contest-card,.contest-receipt-head,.contest-chain li{break-inside:avoid;background:#fff!important;color:#000!important;box-shadow:none;border-color:#777}.contest-print-json{display:block}.contest-page p,.contest-page li,.contest-page dd,.contest-page dt,.contest-page .contest-meta,.contest-page .contest-hash{color:#000!important}}
