.contest-page{--contest-ink:#26352f;--contest-muted:#64746b;--contest-green:#315f4b;--contest-line:#e4e8df;--contest-card:#fff;--contest-paper:#f8f8f2;color:var(--contest-ink);background:var(--contest-paper)}
.contest-topbar{position:sticky;top:0;z-index:20;background:rgba(248,248,242,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--contest-line)}
.contest-topbar .is-current{color:var(--contest-green);font-weight:800}
.contest-page main{padding-bottom:3rem}
.contest-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:2rem;align-items:center;padding:clamp(2.2rem,6vw,5rem) 0 4.8rem}
.contest-hero:before,.contest-hero:after{content:"";position:absolute;z-index:0;border-radius:50%;pointer-events:none}
.contest-hero:before{width:310px;height:310px;right:8%;top:-180px;background:#e7efe4}
.contest-hero:after{width:130px;height:130px;right:36%;bottom:5px;background:#f7e7d5;opacity:.8}
.contest-hero-copy,.contest-hero-note,.contest-hero-doodle{position:relative;z-index:1}
.contest-kicker,.section-kicker{display:inline-flex;align-items:center;gap:.55rem;color:#587064;font-size:.79rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.contest-kicker i{width:.55rem;height:.55rem;border-radius:50%;background:#e0a969;box-shadow:0 0 0 5px #f5e7d4}
.contest-hero h1{margin:.9rem 0 1rem;font-size:clamp(2.3rem,5vw,4.25rem);line-height:1.12;letter-spacing:-.045em;color:#24372e}
.contest-hero h1 em{font-style:normal;color:#54816a}
.contest-hero-copy>p{max-width:720px;color:#596c62;font-size:1.04rem;line-height:1.9}
.contest-stats{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}
.contest-stats span{padding:.56rem .85rem;border:1px solid #dfe7dd;border-radius:999px;background:rgba(255,255,255,.75);color:#617267;font-size:.85rem}
.contest-stats b{color:#315f4b;font-size:1rem}
.contest-hero-note{justify-self:end;width:205px;padding:1.3rem;border:1px solid #e5dfd4;border-radius:24px;background:#fffaf1;box-shadow:0 12px 30px #33402e0d;transform:rotate(2deg)}
.note-mark{display:grid;place-items:center;width:2rem;height:2rem;margin-bottom:.7rem;border-radius:50%;background:#d9ead7;color:#2f6847;font-weight:900}
.contest-hero-note b{font-size:1.05rem;line-height:1.55}.contest-hero-note small{display:block;margin-top:.65rem;color:#6b756d;line-height:1.65}
.contest-hero-doodle{position:absolute;left:0;right:0;bottom:1.2rem;display:flex;justify-content:center;gap:.7rem;align-items:center;color:#83958a;font-size:.78rem;letter-spacing:.08em}.contest-hero-doodle span{padding:.35rem .7rem;border:1px dashed #cbd6c9;border-radius:999px;background:#fbfcf8}.contest-hero-doodle i{font-style:normal;color:#dfa96c}
.contest-policy{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:1rem;align-items:center;margin:0 auto 3.8rem;padding:1.2rem 1.35rem;border:1px solid #e0e6dd;border-radius:18px;background:#eef4ea}
.policy-symbol{display:grid;place-items:center;width:35px;height:35px;border-radius:12px;background:#d6e6d1;color:#376048;font-family:Georgia,serif;font-weight:800;font-size:1.25rem}
.contest-policy b{font-size:.96rem}.contest-policy p{margin:.3rem 0 0;color:#617267;font-size:.88rem;line-height:1.7}.contest-policy>a,.method-links a{color:#38664e;font-size:.86rem;font-weight:800;text-decoration:none;white-space:nowrap}.contest-policy>a:hover,.method-links a:hover{text-decoration:underline}
.archive-section,.licensed-practice{margin-bottom:4.2rem;scroll-margin-top:90px}
.contest-heading{margin-bottom:1.5rem}.contest-heading h2{margin:.35rem 0 0;font-size:clamp(1.65rem,3vw,2.25rem);letter-spacing:-.03em}.contest-heading>p{max-width:470px;color:var(--contest-muted);line-height:1.75}
.archive-workspace{display:grid;grid-template-columns:245px minmax(0,1fr);gap:1.3rem;align-items:start}
.archive-filters{position:sticky;top:88px;display:grid;gap:.55rem;padding:1.2rem;border:1px solid var(--contest-line);border-radius:18px;background:var(--contest-card);box-shadow:0 12px 32px #26352f08}
.archive-filters label,.answer-check-form label{margin-top:.3rem;color:#50635a;font-size:.78rem;font-weight:800}
.archive-filters select,.archive-filters input,.answer-entry input{width:100%;min-height:42px;padding:.65rem .75rem;border:1px solid #dce4db;border-radius:10px;background:#fcfdf9;color:#2e4037;font:inherit;font-size:.88rem}
.archive-filters select:focus,.archive-filters input:focus,.answer-entry input:focus{outline:3px solid #dcebd8;border-color:#79a07e}
.archive-filters .button{margin-top:.35rem}.filter-note{margin:.2rem 0 0;color:#77847b;font-size:.75rem;line-height:1.6}
.archive-result-bar,.licensed-result-bar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:0 0 .9rem;color:#7b887f;font-size:.78rem}.archive-result-bar p,.licensed-result-bar p{margin:0;color:#455a4e;font-size:.9rem;font-weight:800}.archive-result-dot,.licensed-result-dot{width:7px;height:7px;border-radius:50%;background:#dfb476}
.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
.archive-card,.contest-question-card{min-width:0;padding:1.2rem;border:1px solid var(--contest-line);border-radius:17px;background:var(--contest-card);box-shadow:0 12px 32px #26352f08}
.archive-card-top,.question-card-meta{display:flex;justify-content:space-between;gap:.6rem;align-items:center;flex-wrap:wrap}.archive-event,.question-card-meta span:first-child{color:#51705c;font-size:.78rem;font-weight:800}
.license-pill{display:inline-flex;padding:.32rem .58rem;border-radius:999px;font-size:.69rem;font-weight:800;line-height:1.3}.is-cleared{background:#e2f0df;color:#286244}.is-pending{background:#fff0dc;color:#9a5b1a}.is-index-only{background:#edf0ec;color:#5e6a60}
.archive-card h3{margin:.85rem 0 .6rem;font-size:1.08rem;line-height:1.45}.archive-facts{display:flex;flex-wrap:wrap;gap:.35rem;margin:.55rem 0 .7rem}.archive-facts span{padding:.3rem .48rem;border-radius:7px;background:#f3f5ef;color:#596a60;font-size:.72rem}
.archive-source,.archive-description,.archive-evidence,.archive-permission{margin:.55rem 0;color:#66746c;font-size:.81rem;line-height:1.65}.archive-source b,.archive-evidence b{color:#485d50}.archive-permission{padding:.55rem .65rem;border-left:3px solid #e4bd86;background:#fffaf2;color:#846b4b}.archive-card-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-top:.9rem}.source-link,.license-link{display:inline-flex;align-items:center;gap:.25rem;color:#356949;font-size:.78rem;font-weight:800;text-decoration:none}.license-link{color:#7b7560}.source-link:hover,.license-link:hover,.question-source-details a:hover,.knowledge-link:hover{text-decoration:underline}.source-link.is-disabled{color:#9b9d94}
.archive-empty{grid-column:1/-1;display:flex;flex-direction:column;gap:.35rem;padding:1.4rem;border:1px dashed #cfd8cd;border-radius:16px;background:#fff;color:#53655a}.archive-empty span{color:#7a867c;font-size:.86rem}
.contest-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.question-card-meta span:last-child{color:#7d877f;font-size:.72rem}.contest-question-card h3{margin:.85rem 0;font-size:1.05rem;line-height:1.45}.original-problem{padding:1rem;border-radius:13px;background:#f7f8f2;color:#34483b;font-size:.97rem;line-height:1.85;white-space:normal}.diagram-note{margin:.5rem 0 0;color:#78847b;font-size:.78rem;line-height:1.6}
.answer-check-form{display:grid;gap:.45rem;margin-top:1rem}.answer-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.answer-entry button{min-width:74px;padding:.65rem .85rem;border:0;border-radius:10px;background:#38654d;color:#fff;font:inherit;font-size:.84rem;font-weight:800;cursor:pointer}.answer-entry button:hover{background:#2c553e}.answer-entry button:focus-visible{outline:3px solid #c7dfc5;outline-offset:2px}.answer-feedback{min-height:1.3rem;margin:.15rem 0 0;color:#a15443;font-size:.82rem}.answer-feedback.is-correct{color:#267243}.answer-feedback.is-incorrect{color:#9b5c3f}
.verified-solution{margin-top:.8rem;padding:.95rem;border:1px solid #dce8d9;border-radius:12px;background:#f5faf2;color:#4b6152;font-size:.83rem;line-height:1.8}.verified-solution[hidden]{display:none}.verified-solution p{margin:.55rem 0}.verified-answer{color:#315d43}.check-note{padding-top:.5rem;border-top:1px solid #e1eadf}.knowledge-points{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.knowledge-points>b{width:100%}.knowledge-link{display:inline-flex;align-items:center;gap:.2rem;padding:.3rem .5rem;border-radius:999px;background:#e7f0e4;color:#366347;font-size:.74rem;font-weight:800;text-decoration:none}
.question-source-details{margin-top:.85rem;border-top:1px solid #edf0eb;color:#6c7970;font-size:.75rem;line-height:1.65}.question-source-details summary{padding:.75rem 0 .25rem;color:#637168;font-weight:800;cursor:pointer}.question-source-details p{margin:.3rem 0}.question-source-details a{color:#356949;font-weight:700}.no-licensed-questions{display:flex;gap:.8rem;align-items:flex-start;padding:1.2rem;border:1px dashed #d5ddd2;border-radius:16px;background:#fff}.no-licensed-questions[hidden]{display:none}.no-licensed-questions b{color:#42584a}.no-licensed-questions p{margin:.3rem 0 0;color:#718075;font-size:.84rem;line-height:1.65}.empty-mark{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:11px;background:#eef3eb;color:#52745c;font-weight:900}
.contest-method{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.5rem;border:1px solid #e5e4d8;border-radius:20px;background:#f0f2e8}.contest-method h2{margin:.35rem 0;font-size:1.4rem}.contest-method p{max-width:760px;margin:0;color:#68756b;font-size:.87rem;line-height:1.7}.method-links{display:grid;gap:.55rem}.contest-footer{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.5rem max(1.2rem,calc((100% - 1120px)/2));border-top:1px solid var(--contest-line);color:#7c887f;font-size:.8rem}.contest-footer .brand{font-size:.9rem}.contest-footer>a:last-child{color:#50705b;text-decoration:none;font-weight:800}.no-script{margin:1rem;padding:1rem;background:#fff0dc;color:#6f4b20}
@media(max-width:850px){.contest-hero{grid-template-columns:minmax(0,1fr) 175px}.contest-hero-note{width:165px}.archive-workspace{grid-template-columns:210px minmax(0,1fr)}.archive-grid,.contest-question-grid{grid-template-columns:1fr}.contest-policy{grid-template-columns:38px minmax(0,1fr)}.contest-policy>a{grid-column:2}}
@media(max-width:620px){.contest-hero{grid-template-columns:1fr;padding-top:2.5rem;padding-bottom:4.4rem}.contest-hero-note{justify-self:start;width:min(100%,260px);margin-top:.15rem;transform:none}.contest-hero:before{right:-120px}.contest-hero-doodle{justify-content:flex-start}.contest-policy{align-items:start;padding:1rem}.archive-workspace{grid-template-columns:1fr}.archive-filters{position:static;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.archive-filters label{grid-column:1/-1}.archive-filters select,.archive-filters input{grid-column:1/-1}.archive-filters .button,.filter-note{grid-column:1/-1}.contest-heading>p{margin-top:.2rem}.contest-method{grid-template-columns:1fr}.method-links{display:flex;flex-wrap:wrap;gap:1rem}.contest-footer{flex-wrap:wrap}.contest-footer>span{order:3;width:100%}.contest-topbar .topnav{gap:.6rem;font-size:.78rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
