:root { --wpca-bg: #0f1117; --wpca-panel: #181b22; --wpca-panel-2: #20242d; --wpca-border: #303641; --wpca-text: #e8ebf0; --wpca-muted: #9aa4b2; --wpca-green: #2fc889; --wpca-red: #f05d6c; --wpca-yellow: #e8b84a; --wpca-blue: #4b8df8; }
/* InternMate injects this global header through wp_head(), before the body tag. This stylesheet only loads on Code Arena routes. */
.hdr-wrap { display: none !important; }
.wpca-app, .wpca-dashboard, .wpca-card { box-sizing: border-box; color: var(--wpca-text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.wpca-app *, .wpca-dashboard *, .wpca-card * { box-sizing: border-box; }
.wpca-app { width: min(1600px, calc(100vw - 24px)); height: max(720px, calc(100vh - 100px)); margin: 0 0 24px 50%; transform: translateX(-50%); overflow: hidden; background: var(--wpca-bg); border: 1px solid var(--wpca-border); border-radius: 12px; box-shadow: 0 18px 60px rgba(0,0,0,.25); }
.wpca-appbar { height: 52px; display: grid; grid-template-columns: minmax(160px, 1fr) minmax(240px, 2fr) minmax(160px, 1fr); align-items: center; padding: 0 16px; border-bottom: 1px solid var(--wpca-border); background: #13161c; }
.wpca-brand { color: var(--wpca-text) !important; text-decoration: none !important; font-weight: 750; display: flex; align-items: center; gap: 9px; }
.wpca-logo { display: inline-grid; place-items: center; width: 30px; height: 30px; color: #0d1512; background: var(--wpca-green); border-radius: 8px; font: 800 12px/1 monospace; }
.wpca-back-arrow { display: inline-grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; color: #0d1512; background: var(--wpca-green); border-radius: 8px; font-size: 18px; line-height: 1; }
.wpca-back-label { display: flex; flex-direction: column; line-height: 1.1; }
.wpca-back-label strong { color: var(--wpca-text); font-size: 13px; }
.wpca-back-label small { margin-top: 3px; color: var(--wpca-muted); font-size: 9px; font-weight: 500; }
.wpca-back-arena:hover .wpca-back-arrow { background: #3bd797; }
.wpca-app-title { overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; font-weight: 650; }
.wpca-app-meta { display: flex; justify-content: flex-end; align-items: center; gap: 10px; font-size: 12px; color: var(--wpca-muted); }
.wpca-workspace { height: calc(100% - 52px); display: grid; grid-template-columns: minmax(330px, 42%) 1fr; gap: 8px; padding: 8px; }
.wpca-pane { min-width: 0; min-height: 0; overflow: hidden; background: var(--wpca-panel); border: 1px solid var(--wpca-border); border-radius: 8px; }
.wpca-problem-pane { display: flex; flex-direction: column; }
.wpca-tabs { display: flex; align-items: center; gap: 4px; }
.wpca-tab, .wpca-console-tab { appearance: none; border: 0; border-bottom: 2px solid transparent; padding: 12px 14px 10px; color: var(--wpca-muted); background: transparent; cursor: pointer; font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1.2; }
.wpca-tab:hover, .wpca-console-tab:hover, .wpca-tab.is-active, .wpca-console-tab.is-active { color: var(--wpca-text); }
.wpca-tab.is-active, .wpca-console-tab.is-active { border-bottom-color: var(--wpca-green); }
.wpca-problem-pane > .wpca-tabs { flex: 0 0 auto; border-bottom: 1px solid var(--wpca-border); background: var(--wpca-panel-2); }
.wpca-scroll { flex: 1; min-height: 0; overflow: auto; scrollbar-color: #454d5a transparent; }
.wpca-description, .wpca-submissions { padding: 24px; color: #d5dae2; font-size: 14px; line-height: 1.7; }
.wpca-description h1 { margin: 0; color: var(--wpca-text); font-size: 24px; line-height: 1.25; }
.wpca-description h2 { margin: 28px 0 10px; color: var(--wpca-text); font-size: 16px; }
.wpca-description p { margin: 0 0 14px; }
.wpca-description code { color: #f2c66d; padding: 2px 5px; background: #242832; border-radius: 4px; }
.wpca-problem-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px; }
.wpca-badge { display: inline-flex; width: fit-content; align-items: center; padding: 4px 9px; border-radius: 999px; text-transform: capitalize; font-size: 12px; font-weight: 700; }
.wpca-easy { color: #37d399; background: rgba(47,200,137,.12); }
.wpca-medium { color: #f1bf54; background: rgba(232,184,74,.13); }
.wpca-hard { color: #ff7b87; background: rgba(240,93,108,.13); }
.wpca-solved-label { color: var(--wpca-green); font-weight: 700; }
.wpca-example { margin: 12px 0; padding: 15px; background: #12151b; border: 1px solid var(--wpca-border); border-radius: 7px; }
.wpca-io { margin-top: 10px; }
.wpca-io > span { display: block; margin-bottom: 4px; color: var(--wpca-muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.wpca-io pre, .wpca-format, .wpca-result-block pre { margin: 0; padding: 10px 12px; overflow: auto; color: #e7ebf1; background: #1d212a; border-radius: 5px; white-space: pre-wrap; font: 13px/1.55 "SFMono-Regular", Consolas, monospace; }
.wpca-explanation { margin: 12px 0 0 !important; }
.wpca-topic-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 28px; }
.wpca-topic-list span { padding: 5px 9px; color: var(--wpca-muted); background: var(--wpca-panel-2); border-radius: 6px; font-size: 12px; }
.wpca-code-pane { display: grid; grid-template-rows: 43px minmax(250px, 1fr) minmax(220px, 38%); }
.wpca-editor-toolbar { display: flex; align-items: center; gap: 12px; padding: 0 10px; background: var(--wpca-panel-2); border-bottom: 1px solid var(--wpca-border); }
.wpca-language { min-width: 140px; height: 30px; padding: 0 28px 0 8px; color: var(--wpca-text); background: #15181f; border: 1px solid var(--wpca-border); border-radius: 5px; font-family: inherit; font-size: 12px; font-weight: 600; }
.wpca-draft-state { flex: 1; color: var(--wpca-muted); font-size: 11px; }
.wpca-reset { border: 0; color: var(--wpca-muted); background: transparent; cursor: pointer; font-family: inherit; font-size: 12px; }
.wpca-reset:hover { color: var(--wpca-text); }
.wpca-editor-wrap { display: grid; grid-template-columns: 52px 1fr; min-height: 0; overflow: hidden; background: #101218; }
.wpca-lines { height: 100%; margin: 0; padding: 14px 11px 40px 0; overflow: hidden; color: #59616e; background: #101218; border-right: 1px solid #1d222b; text-align: right; user-select: none; font: 13px/1.65 "SFMono-Regular", Consolas, monospace; }
.wpca-editor { width: 100%; height: 100%; min-height: 0; margin: 0; padding: 14px 16px 40px; resize: none; outline: 0; color: #e5e9ef; caret-color: var(--wpca-green); background: #101218; border: 0; tab-size: 2; white-space: pre; overflow: auto; font: 13px/1.65 "SFMono-Regular", Consolas, Monaco, monospace; }
.wpca-editor::selection { background: #284d7d; }
.wpca-console { min-height: 0; display: flex; flex-direction: column; border-top: 1px solid var(--wpca-border); background: #161920; }
.wpca-console-head { min-height: 45px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--wpca-border); }
.wpca-actions { display: flex; gap: 8px; padding-right: 10px; }
.wpca-btn { appearance: none; padding: 8px 14px; color: var(--wpca-text); background: #2a2f39; border: 1px solid #3a414d; border-radius: 6px; cursor: pointer; font-family: inherit; font-size: 12px; font-weight: 700; line-height: 1; text-decoration: none !important; }
.wpca-btn:hover { background: #343a46; }
.wpca-btn:disabled { opacity: .5; cursor: wait; }
.wpca-submit { color: #09241a; background: var(--wpca-green); border-color: var(--wpca-green); }
.wpca-submit:hover { background: #3bd797; }
.wpca-console-body { flex: 1; min-height: 0; padding: 12px 15px; overflow: auto; }
.wpca-case-tabs { display: flex; gap: 6px; margin-bottom: 10px; overflow: auto; }
.wpca-case-tab { flex: 0 0 auto; padding: 6px 10px; color: var(--wpca-muted); background: transparent; border: 1px solid var(--wpca-border); border-radius: 5px; cursor: pointer; font-family: inherit; font-size: 12px; }
.wpca-case-tab.is-active { color: var(--wpca-text); background: #292e38; }
.wpca-test-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.wpca-test-fields label { color: var(--wpca-muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.wpca-test-fields textarea { display: block; width: 100%; margin-top: 5px; padding: 9px 10px; resize: vertical; color: var(--wpca-text); background: #101218; border: 1px solid var(--wpca-border); border-radius: 5px; font: 12px/1.45 monospace; }
.wpca-result h3 { margin: 0 0 10px; font-size: 20px; }
.wpca-result .is-pass, .wpca-result-cases .is-pass { color: var(--wpca-green); }
.wpca-result .is-fail, .wpca-result-cases .is-fail { color: var(--wpca-red); }
.wpca-result-dot { display: inline-block; width: 6px; height: 6px; margin-left: 5px; border-radius: 50%; }
.wpca-result-dot.is-pass { background: var(--wpca-green); }
.wpca-result-dot.is-fail { background: var(--wpca-red); }
.wpca-result-meta { display: flex; gap: 16px; margin-bottom: 12px; color: var(--wpca-muted); font-size: 12px; }
.wpca-result-meta .wpca-submission-saved { color: var(--wpca-green); font-weight: 700; }
.wpca-result-block { margin-top: 12px; }
.wpca-result-block > strong { display: block; margin-bottom: 5px; color: var(--wpca-muted); font-size: 11px; text-transform: uppercase; }
.wpca-score-card { display: flex; align-items: baseline; gap: 12px; margin: 8px 0 10px; }
.wpca-score-card strong { color: var(--wpca-text); font-size: 25px; }
.wpca-score-card span { color: var(--wpca-muted); font-size: 12px; }
.wpca-result-cases { display: grid; grid-template-columns: repeat(auto-fill, minmax(125px, 1fr)); gap: 7px; margin-top: 12px; }
.wpca-result-cases > div { display: flex; justify-content: space-between; gap: 8px; padding: 7px 8px; background: #20242d; border-radius: 5px; font-size: 11px; }
.wpca-loading { padding: 25px 0; color: var(--wpca-muted); text-align: center; }
.wpca-error { color: var(--wpca-red); }
.wpca-submission-row { display: grid; grid-template-columns: minmax(110px,1fr) .6fr .8fr .5fr 1.4fr; gap: 8px; align-items: center; padding: 10px 8px; border-bottom: 1px solid var(--wpca-border); font-size: 12px; }
.wpca-status { text-transform: capitalize; }
.wpca-status-accepted { color: var(--wpca-green); }
.wpca-status-wrong_answer { color: var(--wpca-red); }
.wpca-skeleton { display: inline-block; background: linear-gradient(90deg,#242933,#313744,#242933); background-size: 200% 100%; animation: wpca-shimmer 1.3s infinite; border-radius: 4px; }
.wpca-skeleton-title { width: 180px; height: 12px; }
@keyframes wpca-shimmer { to { background-position: -200% 0; } }

.wpca-dashboard { width: min(1120px, 100%); margin: 20px auto; color: #1e2430; }
.wpca-hero { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: 36px 40px; color: var(--wpca-text); background: radial-gradient(circle at 85% 20%, rgba(47,200,137,.24), transparent 26%), linear-gradient(135deg,#161a22,#202631); border-radius: 14px; }
.wpca-hero h1 { margin: 3px 0 8px; color: white; font-size: clamp(28px,4vw,44px); }
.wpca-hero p { margin: 0; color: #aab2bf; }
.wpca-kicker { color: var(--wpca-green); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.wpca-hero-stat { min-width: 120px; padding: 20px; text-align: center; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 12px; }
.wpca-hero-stat strong, .wpca-hero-stat span { display: block; }
.wpca-hero-stat strong { color: white; font-size: 38px; }
.wpca-hero-stat span { color: var(--wpca-muted); font-size: 12px; text-transform: uppercase; }
.wpca-filters { display: flex; gap: 10px; margin: 22px 0 12px; }
.wpca-filters input, .wpca-filters select { min-height: 40px; padding: 0 12px; color: #232a35; background: white; border: 1px solid #d8dde5; border-radius: 7px; }
.wpca-filters input { flex: 1; }
.wpca-filters .wpca-btn { color: white; background: #202631; }
.wpca-problem-list { overflow: hidden; background: white; border: 1px solid #e0e4ea; border-radius: 10px; box-shadow: 0 8px 30px rgba(22,28,38,.06); }
.wpca-list-head, .wpca-problem-row { display: grid; grid-template-columns: 65px minmax(200px,2fr) 130px minmax(120px,1fr); align-items: center; gap: 10px; padding: 12px 18px; }
.wpca-list-head { color: #7a8492; background: #f6f7f9; font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.wpca-problem-row { color: #252c37 !important; border-top: 1px solid #edf0f3; text-decoration: none !important; font-size: 14px; }
.wpca-problem-row:hover { background: #f9fbfc; }
.wpca-status-icon { color: #aab2bd; font-size: 18px; }
.wpca-status-icon.is-solved { color: var(--wpca-green); }
.wpca-topics { overflow: hidden; color: #7a8492; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.wpca-empty { padding: 30px; color: var(--wpca-muted); text-align: center; }
.wpca-empty p { margin: 4px 0 12px; }
.wpca-publish-drafts { display: inline-block; padding: 9px 14px; color: #fff !important; background: #202631; border-radius: 7px; text-decoration: none !important; font-size: 11px; font-weight: 700; }
.wpca-pagination { margin: 18px 0; text-align: center; }
.wpca-pagination .page-numbers { display: inline-block; min-width: 34px; padding: 6px; margin: 2px; color: #333; background: white; border: 1px solid #ddd; border-radius: 5px; text-decoration: none; }
.wpca-pagination .current { color: white; background: #202631; }
.wpca-card { width: min(950px,100%); margin: 20px auto; padding: 24px; color: #252c37; background: white; border: 1px solid #e1e5ea; border-radius: 12px; }
.wpca-table-row { display: grid; grid-template-columns: 80px 1fr 160px; gap: 12px; align-items: center; padding: 12px; color: inherit !important; border-bottom: 1px solid #edf0f3; text-decoration: none !important; }
.wpca-table-row img { margin-right: 9px; border-radius: 50%; vertical-align: middle; }

@media (max-width: 800px) {
  .wpca-app { height: auto; min-height: 0; }
  .wpca-appbar { grid-template-columns: 1fr auto; }
  .wpca-app-title { display: none; }
  .wpca-workspace { height: auto; grid-template-columns: 1fr; }
  .wpca-problem-pane { height: 560px; }
  .wpca-code-pane { height: 720px; }
  .wpca-test-fields { grid-template-columns: 1fr; }
  .wpca-list-head { display: none; }
  .wpca-problem-row { grid-template-columns: 36px 1fr auto; }
  .wpca-problem-row .wpca-topics { display: none; }
  .wpca-hero { padding: 28px 22px; }
  .wpca-filters { flex-wrap: wrap; }
  .wpca-filters input { flex-basis: 100%; }
}
@media (max-width: 520px) {
  .wpca-app { width: calc(100vw - 8px); border-radius: 6px; }
  .wpca-appbar { padding: 0 9px; }
  .wpca-acceptance { display: none; }
  .wpca-description { padding: 18px; }
  .wpca-code-pane { height: 760px; grid-template-rows: 43px minmax(280px,1fr) minmax(290px,42%); }
  .wpca-hero-stat { display: none; }
  .wpca-submission-row { grid-template-columns: 1fr 1fr; }
  .wpca-submission-row time { grid-column: 1/-1; }
}

/* Standalone pages prevent theme post wrappers from breaking application alignment. */
body.wpca-standalone-page { margin: 0; color: #202631; background: #f5f7fa; }
body.wpca-standalone-page > header:not(.wpca-sitebar),
body.wpca-standalone-page #masthead,
body.wpca-standalone-page .site-header:not(.wpca-sitebar),
body.wpca-standalone-page .elementor-location-header { display: none !important; }
.wpca-standalone-page .wpca-standalone-main { width: 100%; min-height: 100vh; margin: 0; padding: 8px; }
.wpca-standalone-problem .wpca-app { width: 100%; height: calc(100vh - 16px); min-height: 620px; margin: 0; transform: none; border-radius: 10px; }
.admin-bar.wpca-standalone-problem .wpca-app { height: calc(100vh - 48px); }
.wpca-standalone-page .wpca-app button,
.wpca-standalone-page .wpca-app select,
.wpca-standalone-page .wpca-app textarea { box-shadow: none; letter-spacing: normal; text-transform: none; }
.wpca-standalone-problem .wpca-workspace { grid-template-columns: minmax(360px, 44%) minmax(480px, 56%); }

/* Global problem library. */
.wpca-sitebar { position: sticky; z-index: 100; top: 0; height: 62px; display: grid; grid-template-columns: 230px 1fr auto; align-items: center; gap: 24px; padding: 0 28px; color: #212631; background: rgba(255,255,255,.96); border-bottom: 1px solid #e6e9ee; box-shadow: 0 1px 8px rgba(25,35,50,.04); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; backdrop-filter: blur(10px); }
.admin-bar .wpca-sitebar { top: 32px; }
.wpca-sitebar *, .wpca-library-main * { box-sizing: border-box; }
.wpca-sitebar a { color: inherit; text-decoration: none; }
.wpca-sitebar-brand { display: flex; align-items: center; gap: 10px; font-size: 16px; }
.wpca-sitebar nav { align-self: stretch; display: flex; align-items: center; gap: 8px; }
.wpca-sitebar nav a { height: 100%; display: inline-flex; align-items: center; padding: 0 14px; color: #687385; border-bottom: 2px solid transparent; font-size: 13px; font-weight: 650; }
.wpca-sitebar nav a:hover, .wpca-sitebar nav a.is-active { color: #171b22; border-bottom-color: var(--wpca-green); }
.wpca-sitebar-user { display: flex; align-items: center; gap: 13px; color: #687385; font-size: 12px; }
.wpca-sitebar-user img { border-radius: 50%; }
.wpca-home-link { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; color: #4f5a69 !important; background: #f4f6f8; border: 1px solid #e3e7ec; border-radius: 7px; font-weight: 700; white-space: nowrap; }
.wpca-home-link:hover { color: #171b22 !important; background: #e9edf1; }
.wpca-home-link > span:first-child { color: var(--wpca-green); font-size: 15px; line-height: 1; }
.wpca-sitebar-user .wpca-login-button { padding: 8px 13px; color: #fff; background: #202631; border: 0; border-radius: 7px; cursor: pointer; font-family: inherit; font-size: 11px; font-weight: 700; }
.wpca-user-chip { display: flex; align-items: center; gap: 9px; color: #2a323e !important; }
.wpca-user-chip > span { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.2; }
.wpca-user-chip strong { max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.wpca-user-chip small { color: #929aa6; font-size: 9px; }
.wpca-library-main { width: 100%; min-height: calc(100vh - 62px); padding: 0; color: #202631; background: #f7f8fa; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.wpca-library-layout { width: min(1480px, 100%); min-height: calc(100vh - 62px); display: grid; grid-template-columns: 220px minmax(560px, 1fr) 280px; gap: 24px; margin: 0 auto; padding: 24px; color: #202631; }
.wpca-library-sidebar { position: sticky; top: 86px; align-self: start; min-width: 0; padding: 8px; color: #4f5a6b; background: #fff; border: 1px solid #e7eaf0; border-radius: 11px; }
.admin-bar .wpca-library-sidebar { top: 118px; }
.wpca-sidebar-section { padding: 8px 0; border-bottom: 1px solid #eff1f4; }
.wpca-sidebar-section:last-child { border: 0; }
.wpca-sidebar-label { display: block; padding: 5px 11px 7px; color: #9aa2af; font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.wpca-sidebar-section a { display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 8px; min-height: 39px; padding: 7px 10px; color: #535e6e !important; border-radius: 7px; text-decoration: none !important; font-size: 13px; font-weight: 600; }
.wpca-sidebar-section a:hover, .wpca-sidebar-section a.is-active { color: #171b22 !important; background: #f0f2f5; }
.wpca-sidebar-section a.is-active { box-shadow: inset 3px 0 var(--wpca-green); }
.wpca-sidebar-section a > span { color: #8b95a3; text-align: center; }
.wpca-sidebar-section a > small { min-width: 22px; padding: 2px 6px; color: #8b95a3; background: #eef1f4; border-radius: 10px; text-align: center; font-size: 10px; }
.wpca-sidebar-topics a > span { color: var(--wpca-green); }
.wpca-library-layout > .wpca-dashboard { width: auto; min-width: 0; margin: 0; color: #202631; }
.wpca-library-heading { display: flex; justify-content: space-between; align-items: flex-end; min-height: 90px; gap: 20px; padding: 4px 4px 20px; }
.wpca-library-heading h1, .wpca-view-heading h1 { margin: 2px 0 5px; color: #171b22; font-size: clamp(27px,3vw,38px); line-height: 1.1; }
.wpca-library-heading p { margin: 0; color: #7d8795; font-size: 13px; }
.wpca-library-progress { display: flex; flex-direction: column; align-items: flex-end; }
.wpca-library-progress span { color: #171b22; font-size: 22px; font-weight: 800; }
.wpca-library-progress small { color: #8a93a0; font-size: 11px; text-transform: uppercase; }
.wpca-topic-pills { display: flex; gap: 8px; padding-bottom: 16px; overflow-x: auto; scrollbar-width: none; }
.wpca-topic-pills::-webkit-scrollbar { display: none; }
.wpca-topic-pills a { flex: 0 0 auto; padding: 7px 12px; color: #5c6675 !important; background: #fff; border: 1px solid #e1e5eb; border-radius: 18px; text-decoration: none !important; font-size: 12px; }
.wpca-topic-pills a:hover, .wpca-topic-pills a.is-active { color: #fff !important; background: #20242c; border-color: #20242c; }
.wpca-topic-pills a span { margin-left: 4px; padding: 1px 5px; color: #8b94a1; background: #eff1f4; border-radius: 8px; font-size: 9px; }
.wpca-filters { display: grid; grid-template-columns: minmax(180px, 1fr) 145px 120px auto; gap: 9px; margin: 0 0 14px; padding: 12px; background: #fff; border: 1px solid #e5e8ed; border-radius: 10px; }
.wpca-filters input, .wpca-filters select { width: 100%; min-height: 38px; margin: 0; padding: 0 11px; color: #29313d; background: #f6f7f9; border: 1px solid #e5e8ed; border-radius: 7px; outline: 0; font-family: inherit; font-size: 12px; }
.wpca-filters input:focus, .wpca-filters select:focus { border-color: #7d8a9c; box-shadow: 0 0 0 2px rgba(47,200,137,.1); }
.wpca-search { position: relative; display: block; }
.wpca-search > span { position: absolute; z-index: 1; top: 6px; left: 10px; color: #8d96a3; font-size: 20px; line-height: 1; }
.wpca-search input { padding-left: 34px; }
.wpca-filter-button { min-height: 38px; padding: 0 16px; color: #fff; background: #202631; border: 0; border-radius: 7px; cursor: pointer; font-family: inherit; font-size: 12px; font-weight: 750; }
.wpca-filter-button:hover { background: #10141a; }
.wpca-library-layout .wpca-problem-list { overflow: hidden; background: #fff; border: 1px solid #e4e7ec; border-radius: 10px; box-shadow: none; }
.wpca-library-layout .wpca-list-head, .wpca-library-layout .wpca-problem-row { grid-template-columns: 56px minmax(230px,1fr) 100px 105px 42px; gap: 8px; padding: 11px 16px; }
.wpca-library-layout .wpca-list-head { color: #929aa6; background: #fafbfc; border: 0; font-size: 10px; }
.wpca-library-layout .wpca-problem-row { position: relative; min-height: 61px; color: #222a35 !important; }
.wpca-library-layout .wpca-problem-row:nth-child(odd) { background: #fbfcfd; }
.wpca-library-layout .wpca-problem-row:hover { background: #f1f6f4; }
.wpca-library-layout .wpca-status-icon { font-size: 17px; text-align: center; }
.wpca-problem-title { min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; column-gap: 7px; }
.wpca-problem-title small { color: #9aa3af; font-size: 11px; }
.wpca-problem-title strong { overflow: hidden; color: #202631; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.wpca-problem-title em { grid-column: 2; overflow: hidden; margin-top: 2px; color: #9aa2ae; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; font-style: normal; font-weight: 500; }
.wpca-rate { color: #747f8e; font-size: 12px; }
.wpca-row-link { position: absolute; z-index: 1; inset: 0 54px 0 0; border-radius: inherit; }
.wpca-save-button, .wpca-bookmark { position: relative; z-index: 2; min-width: 32px; min-height: 30px; padding: 4px 8px; color: #7b8593; background: transparent; border: 1px solid transparent; border-radius: 6px; cursor: pointer; font-family: inherit; font-size: 15px; }
.wpca-save-button:hover, .wpca-bookmark:hover { color: #e0a624; background: #fff8df; border-color: #f3dda0; }
.wpca-save-button.is-saved, .wpca-bookmark.is-saved { color: #e0a624; }
.wpca-bookmark { min-height: 28px; color: var(--wpca-muted); font-size: 11px; }
.wpca-bookmark.is-saved { color: #f2c14f; background: rgba(242,193,79,.09); }
.wpca-library-right { min-width: 0; }
.wpca-side-card { margin-bottom: 14px; padding: 17px; background: #fff; border: 1px solid #e5e8ed; border-radius: 11px; }
.wpca-side-card h3 { margin: 0 0 14px; color: #202631; font-size: 14px; }
.wpca-progress-ring { width: 126px; height: 126px; display: grid; place-items: center; margin: 8px auto 18px; background: conic-gradient(var(--wpca-green) var(--wpca-progress), #e9edf1 0); border-radius: 50%; }
.wpca-progress-ring::before { content: ""; grid-area: 1/1; width: 96px; height: 96px; background: #fff; border-radius: 50%; }
.wpca-progress-ring > div { z-index: 1; grid-area: 1/1; text-align: center; }
.wpca-progress-ring strong, .wpca-progress-ring span { display: block; }
.wpca-progress-ring strong { color: #202631; font-size: 23px; }
.wpca-progress-ring span { color: #8b95a2; font-size: 10px; text-transform: uppercase; }
.wpca-mini-stats { display: grid; gap: 8px; }
.wpca-mini-stats > span { display: grid; grid-template-columns: 10px 1fr auto; align-items: center; gap: 7px; color: #6d7785; font-size: 11px; }
.wpca-mini-stats i { width: 7px; height: 7px; border-radius: 50%; }
.wpca-dot-easy { background: var(--wpca-green); }.wpca-dot-medium { background: var(--wpca-yellow); }.wpca-dot-hard { background: var(--wpca-red); }
.wpca-mini-stats strong { color: #26303c; }
.wpca-side-card-head { display: flex; justify-content: space-between; align-items: center; }
.wpca-side-card-head a { color: #738094 !important; text-decoration: none !important; font-size: 10px; }
.wpca-leader-preview > div { display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 9px; padding: 8px 0; color: #465160; border-top: 1px solid #f0f2f4; font-size: 11px; }
.wpca-leader-preview img { border-radius: 50%; }
.wpca-leader-preview strong { color: var(--wpca-green); }
.wpca-leader-preview p { color: #8b95a2; font-size: 11px; }
.wpca-strength-preview > div { display: grid; grid-template-columns: 1fr auto; gap: 5px 8px; padding: 8px 0; color: #596474; border-top: 1px solid #f0f2f4; font-size: 11px; }
.wpca-strength-preview strong { color: #27313d; }
.wpca-strength-preview i { grid-column: 1/-1; height: 5px; overflow: hidden; background: #e9edf1; border-radius: 4px; }
.wpca-strength-preview i b { display: block; height: 100%; background: var(--wpca-green); border-radius: inherit; }
.wpca-strength-preview p { color: #8b95a2; font-size: 11px; }
.wpca-dashboard-view { grid-column: 2 / 4; }
.wpca-view-heading { padding: 12px 4px 20px; }
.wpca-dashboard-view .wpca-card { width: 100%; max-width: none; margin: 0; }

@media (max-width: 1180px) {
  .wpca-library-layout { grid-template-columns: 210px minmax(520px,1fr); }
  .wpca-library-right { display: none; }
  .wpca-dashboard-view { grid-column: 2; }
}
@media (max-width: 860px) {
  .wpca-sitebar { grid-template-columns: auto 1fr auto; padding: 0 14px; }
  .wpca-sitebar nav { justify-content: center; }
  .wpca-home-link > span:last-child { display: none; }
  .wpca-home-link { padding: 7px 9px; }
  .wpca-library-layout { grid-template-columns: 1fr; padding: 15px; }
  .wpca-library-sidebar { position: static; display: flex; overflow-x: auto; padding: 5px; }
  .wpca-sidebar-section { display: flex; flex: 0 0 auto; padding: 0; border: 0; }
  .wpca-sidebar-label, .wpca-sidebar-topics { display: none; }
  .wpca-sidebar-section a { grid-template-columns: 18px auto; width: auto; white-space: nowrap; }
  .wpca-sidebar-section a > small { display: none; }
  .wpca-dashboard-view { grid-column: 1; }
	.wpca-standalone-problem .wpca-app { height: auto; min-height: 0; }
  .wpca-standalone-problem .wpca-workspace { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .wpca-sitebar { height: 56px; grid-template-columns: 1fr auto; }
  .wpca-sitebar nav { display: none; }
  .wpca-library-main { min-height: calc(100vh - 56px); }
  .wpca-library-layout { padding: 10px; }
  .wpca-library-heading { min-height: 74px; }
  .wpca-library-progress { display: none; }
  .wpca-filters { grid-template-columns: 1fr 1fr; }
  .wpca-search { grid-column: 1 / -1; }
	.wpca-library-layout .wpca-list-head, .wpca-library-layout .wpca-problem-row { grid-template-columns: 42px minmax(150px,1fr) 76px 36px; padding: 10px 8px; }
  .wpca-library-layout .wpca-list-head span:nth-child(3), .wpca-library-layout .wpca-problem-row .wpca-rate { display: none; }
  .wpca-standalone-problem .wpca-app { height: auto; min-height: 0; }
}

/* Per-user progress dashboard. */
.wpca-login-gate { padding: 70px 30px; background: #fff; border: 1px solid #e5e8ed; border-radius: 12px; text-align: center; }
.wpca-login-gate > span { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 14px; color: #fff; background: #202631; border-radius: 50%; font-size: 25px; }
.wpca-login-gate h2 { margin: 0 0 8px; color: #202631; }
.wpca-login-gate p { max-width: 530px; margin: 0 auto 20px; color: #7c8795; font-size: 13px; }
.wpca-login-gate a { display: inline-block; padding: 10px 18px; color: #fff !important; background: var(--wpca-green); border-radius: 7px; text-decoration: none !important; font-weight: 700; }
.wpca-progress-dashboard { display: grid; gap: 16px; }
.wpca-profile-card { display: grid; grid-template-columns: 72px 1fr auto; align-items: center; gap: 16px; padding: 20px; background: linear-gradient(135deg,#1b2028,#29313c); border-radius: 12px; color: #fff; }
.wpca-profile-card img { border-radius: 50%; }
.wpca-profile-card span { color: var(--wpca-green); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.wpca-profile-card h2 { margin: 3px 0; color: #fff; font-size: 23px; }
.wpca-profile-card p { margin: 0; color: #abb4c0; font-size: 11px; }
.wpca-profile-card > a { padding: 8px 12px; color: #e7ebf0 !important; border: 1px solid #4a5461; border-radius: 7px; text-decoration: none !important; font-size: 11px; }
.wpca-stat-grid { display: grid; grid-template-columns: repeat(5,minmax(120px,1fr)); gap: 10px; }
.wpca-stat-grid > div { min-width: 0; padding: 15px; background: #fff; border: 1px solid #e5e8ed; border-radius: 10px; }
.wpca-stat-grid span, .wpca-stat-grid strong, .wpca-stat-grid small { display: block; }
.wpca-stat-grid span { color: #8993a0; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.wpca-stat-grid strong { margin: 5px 0 2px; color: #202631; font-size: 21px; }
.wpca-stat-grid small { overflow: hidden; color: #929aa6; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.wpca-stat-grid small a { color: var(--wpca-green) !important; text-decoration: none !important; }
.wpca-analysis-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.wpca-analysis-card { padding: 18px; background: #fff; border: 1px solid #e5e8ed; border-radius: 11px; }
.wpca-analysis-card h3 { margin: 0 0 16px; color: #202631; font-size: 14px; }
.wpca-analysis-bar { margin: 13px 0; }
.wpca-analysis-bar > div { display: flex; justify-content: space-between; align-items: center; margin-bottom: 7px; }
.wpca-analysis-bar > div strong { color: #596474; font-size: 11px; }
.wpca-analysis-bar > i, .wpca-topic-table a > span:last-child i { display: block; height: 7px; overflow: hidden; background: #e9edf1; border-radius: 5px; }
.wpca-analysis-bar > i b, .wpca-topic-table a > span:last-child i b { display: block; height: 100%; background: var(--wpca-green); border-radius: inherit; }
.wpca-language-usage { display: flex; flex-wrap: wrap; gap: 9px; }
.wpca-language-usage span { min-width: 110px; padding: 10px 12px; color: #7c8794; background: #f5f7f9; border-radius: 8px; font-size: 10px; }
.wpca-language-usage strong { display: block; margin-bottom: 3px; color: #27313d; font-size: 12px; }
.wpca-language-usage p { color: #8b95a2; font-size: 11px; }
.wpca-analysis-heading { display: flex; justify-content: space-between; gap: 20px; }
.wpca-analysis-heading h3 { margin-bottom: 3px; }
.wpca-analysis-heading p { margin: 0 0 16px; color: #9099a5; font-size: 10px; }
.wpca-analysis-heading > span { height: fit-content; padding: 4px 8px; color: #7c8795; background: #f0f2f5; border-radius: 10px; font-size: 10px; }
.wpca-topic-table { overflow: hidden; border: 1px solid #eceef1; border-radius: 8px; }
.wpca-topic-head, .wpca-topic-table > a { display: grid; grid-template-columns: minmax(160px,1fr) 90px 90px minmax(180px,1.2fr); gap: 12px; align-items: center; padding: 10px 13px; }
.wpca-topic-head { color: #929aa6; background: #f7f8fa; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.wpca-topic-table > a { color: #687383 !important; border-top: 1px solid #eef0f3; text-decoration: none !important; font-size: 11px; }
.wpca-topic-table > a:hover { background: #f8fbfa; }
.wpca-topic-table > a strong { color: #27313d; }
.wpca-topic-table a > span:last-child { display: grid; grid-template-columns: minmax(70px,1fr) auto; align-items: center; gap: 8px; }
.wpca-topic-table a > span:last-child em { color: #7e8996; white-space: nowrap; font-size: 9px; font-style: normal; }
.wpca-recent-table > a { display: grid; grid-template-columns: minmax(180px,1fr) 120px 90px 70px 100px; gap: 10px; align-items: center; padding: 10px 6px; color: #687383 !important; border-top: 1px solid #eef0f3; text-decoration: none !important; font-size: 10px; }
.wpca-recent-table > a strong { overflow: hidden; color: #27313d; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.wpca-recent-table time { text-align: right; }
.wpca-recent-table > p { color: #8b95a2; font-size: 11px; }

@media (max-width: 1050px) {
  .wpca-stat-grid { grid-template-columns: repeat(3,1fr); }
  .wpca-topic-head, .wpca-topic-table > a { grid-template-columns: minmax(140px,1fr) 80px 80px minmax(150px,1fr); }
}
@media (max-width: 720px) {
  .wpca-profile-card { grid-template-columns: 56px 1fr; }
  .wpca-profile-card img { width: 56px; height: 56px; }
  .wpca-profile-card > a { grid-column: 1/-1; text-align: center; }
  .wpca-stat-grid { grid-template-columns: 1fr 1fr; }
  .wpca-analysis-grid { grid-template-columns: 1fr; }
  .wpca-topic-table { overflow-x: auto; }
  .wpca-topic-head, .wpca-topic-table > a { min-width: 640px; }
  .wpca-recent-table { overflow-x: auto; }
  .wpca-recent-table > a { min-width: 620px; }
}

/* WordPress authentication prompt. */
body.wpca-modal-open { overflow: hidden; }
.wpca-auth-modal[hidden] { display: none !important; }
.wpca-auth-modal { position: fixed; z-index: 100000; inset: 0; display: grid; place-items: center; padding: 20px; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.wpca-auth-backdrop { position: absolute; inset: 0; background: rgba(10,14,20,.72); backdrop-filter: blur(5px); }
.wpca-auth-dialog { position: relative; z-index: 1; width: min(430px,100%); padding: 34px; color: #202631; background: #fff; border: 1px solid rgba(255,255,255,.25); border-radius: 16px; box-shadow: 0 28px 90px rgba(0,0,0,.3); text-align: center; }
.wpca-auth-close { position: absolute; top: 10px; right: 12px; width: 32px; height: 32px; padding: 0; color: #7f8996; background: transparent; border: 0; border-radius: 50%; cursor: pointer; font-size: 24px; line-height: 1; }
.wpca-auth-close:hover { background: #f0f2f5; }
.wpca-auth-icon { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 15px; color: #0d2119; background: var(--wpca-green); border-radius: 15px; font: 900 18px/1 monospace; }
.wpca-auth-dialog h2 { margin: 0 0 10px; color: #171c24; font-size: 25px; line-height: 1.2; }
.wpca-auth-dialog p { margin: 0 0 22px; color: #748090; font-size: 13px; line-height: 1.6; }
.wpca-auth-signup, .wpca-auth-login { display: block; width: 100%; padding: 12px 15px; border-radius: 8px; text-decoration: none !important; font-size: 12px; font-weight: 750; }
.wpca-auth-signup { color: #09241a !important; background: var(--wpca-green); }
.wpca-auth-signup:hover { background: #3bd797; }
.wpca-auth-login { margin-top: 9px; color: #3e4856 !important; background: #f1f3f6; }
.wpca-auth-login:hover { background: #e7eaf0; }
@media (max-width: 520px) {
  .wpca-auth-dialog { padding: 30px 20px 22px; }
  .wpca-auth-dialog h2 { font-size: 21px; }
  .wpca-user-chip > span { display: none; }
}

/* Full submission history. */
.wpca-submissions-page, .wpca-leaderboard-page { color: #202631; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.wpca-submission-stats { display: grid; grid-template-columns: repeat(5,minmax(120px,1fr)); gap: 10px; margin-bottom: 12px; }
.wpca-submission-stats > div { padding: 15px 16px; background: #fff; border: 1px solid #e4e8ed; border-radius: 10px; }
.wpca-submission-stats span, .wpca-submission-stats strong { display: block; }
.wpca-submission-stats span { color: #8993a0; font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.wpca-submission-stats strong { margin-top: 6px; color: #202631; font-size: 20px; }
.wpca-submission-help { margin: 0 0 12px; padding: 10px 13px; color: #657181; background: #eefaf5; border: 1px solid #d4f1e5; border-radius: 8px; font-size: 11px; }
.wpca-submission-history { display: grid; gap: 10px; }
.wpca-history-item { overflow: hidden; background: #fff; border: 1px solid #e4e8ed; border-radius: 10px; box-shadow: 0 5px 18px rgba(20,30,45,.035); }
.wpca-history-main { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 14px 16px 10px; }
.wpca-history-main > a { display: flex; align-items: baseline; gap: 8px; color: #222b36 !important; text-decoration: none !important; }
.wpca-history-main > a:hover strong { color: #168d64; }
.wpca-history-main > a small { color: #9aa3ae; font-size: 9px; }
.wpca-history-main > .wpca-status { padding: 5px 9px; background: #f1f3f5; border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.wpca-history-main > .wpca-status-accepted { color: #13855f; background: #e8f8f1; }
.wpca-history-main > .wpca-status-wrong_answer, .wpca-history-main > .wpca-status-runtime_error, .wpca-history-main > .wpca-status-compilation_error { color: #d94d5d; background: #fff0f2; }
.wpca-history-metrics { display: grid; grid-template-columns: .7fr .7fr .7fr .8fr .9fr 1.3fr; gap: 8px; padding: 10px 16px; color: #3f4957; background: #f8f9fb; border-top: 1px solid #edf0f3; font-size: 11px; }
.wpca-history-metrics > span, .wpca-history-metrics > time { min-width: 0; }
.wpca-history-metrics small { display: block; margin-bottom: 3px; color: #929ba7; font-size: 8px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.wpca-history-item details { border-top: 1px solid #edf0f3; }
.wpca-history-item summary { padding: 10px 16px; color: #647080; cursor: pointer; font-size: 10px; font-weight: 700; }
.wpca-history-item pre { max-height: 360px; margin: 0; padding: 16px; overflow: auto; color: #e9edf3; background: #11151b; font: 11px/1.65 "SFMono-Regular",Consolas,monospace; white-space: pre; }

/* Global solved-first leaderboard. */
.wpca-leader-hero { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-bottom: 14px; padding: 22px 24px; color: #fff; background: radial-gradient(circle at 86% 15%,rgba(47,200,137,.28),transparent 30%),linear-gradient(135deg,#171c24,#252e39); border-radius: 12px; }
.wpca-leader-hero > div:first-child > span { color: var(--wpca-green); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.wpca-leader-hero h2 { margin: 5px 0; color: #fff; font-size: 25px; }
.wpca-leader-hero p { max-width: 590px; margin: 0; color: #aab4c1; font-size: 11px; }
.wpca-leader-global { display: flex; gap: 8px; }
.wpca-leader-global > div { min-width: 84px; padding: 11px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); border-radius: 9px; text-align: center; }
.wpca-leader-global strong, .wpca-leader-global small { display: block; }
.wpca-leader-global strong { color: #fff; font-size: 18px; }
.wpca-leader-global small { margin-top: 2px; color: #aeb7c3; font-size: 8px; text-transform: uppercase; }
.wpca-rank-table { overflow-x: auto; background: #fff; border: 1px solid #e3e7ec; border-radius: 11px; }
.wpca-rank-head, .wpca-rank-row { min-width: 900px; display: grid; grid-template-columns: 60px minmax(190px,1.4fr) 65px 180px 90px 100px 100px; gap: 10px; align-items: center; padding: 11px 14px; }
.wpca-rank-head { color: #8e98a5; background: #f5f7f9; font-size: 8px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.wpca-rank-row { color: #536071; border-top: 1px solid #edf0f3; font-size: 10px; }
.wpca-rank-row:hover { background: #fafcfb; }
.wpca-rank-row.is-current { background: #effaf5; box-shadow: inset 3px 0 var(--wpca-green); }
.wpca-rank-number { color: #737e8b; font-size: 13px; }
.wpca-rank-row:nth-child(2) .wpca-rank-number { color: #d49a00; }
.wpca-rank-row:nth-child(3) .wpca-rank-number { color: #7f8b9a; }
.wpca-rank-row:nth-child(4) .wpca-rank-number { color: #a96d3a; }
.wpca-rank-user { display: flex; align-items: center; gap: 9px; min-width: 0; }
.wpca-rank-user img { flex: 0 0 40px; border-radius: 50%; }
.wpca-rank-user span, .wpca-rank-user strong, .wpca-rank-user small, .wpca-rank-row > span small { display: block; }
.wpca-rank-user strong { overflow: hidden; color: #222b36; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.wpca-rank-user small, .wpca-rank-row > span small { margin-top: 2px; color: #9ba4af; font-size: 8px; }
.wpca-rank-solved { color: #159368; font-size: 16px; }
.wpca-rank-difficulty { display: flex; gap: 4px; }
.wpca-rank-difficulty span { padding: 3px 6px; border-radius: 999px; font-size: 8px; font-weight: 800; }
.wpca-rank-difficulty .is-easy { color: #168c66; background: #e7f8f1; }
.wpca-rank-difficulty .is-medium { color: #b37a00; background: #fff5d9; }
.wpca-rank-difficulty .is-hard { color: #d54f5e; background: #ffedf0; }
.wpca-complexity-note { margin: 10px 2px 0; color: #8893a1; font-size: 9px; }

/* Code Arena boot animation. */
.wpca-boot-loader { position: fixed; z-index: 2147483000; inset: 0; display: grid; place-items: center; overflow: hidden; padding: 20px; color: #e8edf4; background: radial-gradient(circle at 50% 45%,#17241f 0,#0d1216 45%,#080b0e 100%); font-family: Inter,ui-sans-serif,system-ui,sans-serif; opacity: 1; visibility: visible; transition: opacity .4s ease,visibility .4s ease; animation: wpca-loader-failsafe .4s 4s forwards; }
.wpca-boot-loader.is-leaving { animation: none; opacity: 0; visibility: hidden; pointer-events: none; }
.wpca-boot-loader.is-leaving .wpca-boot-terminal { transform: scale(1.08); filter: blur(5px); opacity: 0; }
.wpca-circuit-grid { position: absolute; inset: -35% -15% -10%; background-image: linear-gradient(rgba(47,200,137,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(47,200,137,.12) 1px,transparent 1px); background-size: 48px 48px; transform: perspective(520px) rotateX(64deg) translateY(18%); transform-origin: center bottom; mask-image: linear-gradient(to top,#000,transparent 72%); animation: wpca-grid-drive 2.6s linear infinite; }
.wpca-scanline { position: absolute; z-index: 3; left: 0; right: 0; top: -8%; height: 2px; background: linear-gradient(90deg,transparent,#37e9aa,transparent); box-shadow: 0 0 22px 5px rgba(47,200,137,.35); opacity: .45; animation: wpca-scan 1.8s linear infinite; pointer-events: none; }
.wpca-code-rain { position: absolute; inset: 0; opacity: .13; color: #35e6a3; font: 700 13px/1.2 monospace; pointer-events: none; }
.wpca-code-rain span { position: absolute; top: -15%; writing-mode: vertical-rl; letter-spacing: 10px; animation: wpca-rain 2.5s linear infinite; }
.wpca-code-rain span:nth-child(1){left:5%;animation-delay:-.4s}.wpca-code-rain span:nth-child(2){left:15%;animation-delay:-1.8s}.wpca-code-rain span:nth-child(3){left:27%;animation-delay:-1s}.wpca-code-rain span:nth-child(4){left:38%;animation-delay:-2.2s}.wpca-code-rain span:nth-child(5){left:49%;animation-delay:-.8s}.wpca-code-rain span:nth-child(6){left:61%;animation-delay:-1.5s}.wpca-code-rain span:nth-child(7){left:72%;animation-delay:-2s}.wpca-code-rain span:nth-child(8){left:82%;animation-delay:-.2s}.wpca-code-rain span:nth-child(9){left:91%;animation-delay:-1.2s}.wpca-code-rain span:nth-child(10){left:97%;animation-delay:-2.4s}
.wpca-boot-terminal { position: relative; z-index: 2; width: min(650px,100%); overflow: hidden; background: rgba(13,18,22,.94); border: 1px solid #2b493e; border-radius: 14px; box-shadow: 0 30px 90px rgba(0,0,0,.55),0 0 60px rgba(47,200,137,.08); transition: transform .42s ease,filter .42s ease,opacity .42s ease; }
.wpca-boot-terminal::before { content:""; position:absolute; z-index:5; top:0; left:-45%; width:45%; height:1px; background:linear-gradient(90deg,transparent,#43e8ad,transparent); box-shadow:0 0 12px #2fc889; opacity:.75; pointer-events:none; animation:wpca-border-hack 1.3s linear infinite; }
.wpca-terminal-top { height: 38px; display: flex; align-items: center; gap: 7px; padding: 0 14px; color: #66766f; background: #141b1f; border-bottom: 1px solid #28332f; font: 10px/1 monospace; }
.wpca-terminal-top i { width: 9px; height: 9px; background: #f05d6c; border-radius: 50%; }.wpca-terminal-top i:nth-child(2){background:#e8b84a}.wpca-terminal-top i:nth-child(3){background:#2fc889}.wpca-terminal-top span{margin-left:6px}
.wpca-terminal-top b { display:flex; align-items:center; gap:5px; margin-left:auto; color:#5adfae; font-size:8px; letter-spacing:.08em; }
.wpca-terminal-top b em { width:6px; height:6px; background:#39dca3; border-radius:50%; box-shadow:0 0 9px #39dca3; animation:wpca-live .6s ease-in-out infinite alternate; }
.wpca-terminal-body { padding: 32px 38px 28px; text-align: center; }
.wpca-cyber-core { position:relative; display:grid; place-items:center; width:92px; height:92px; margin:0 auto 6px; }
.wpca-cyber-core > i { position:absolute; inset:4px; border:1px solid rgba(58,227,169,.32); border-radius:50%; animation:wpca-orbit 3s linear infinite; }
.wpca-cyber-core > i:nth-child(2){inset:12px;border-style:dashed;animation-direction:reverse;animation-duration:2s}.wpca-cyber-core > i:nth-child(3){inset:20px;border-color:rgba(58,227,169,.5);animation-duration:1.3s}
.wpca-boot-logo { z-index:2; display: grid; place-items: center; width: 48px; height: 48px; margin: 0; color: #07130e; background: #2fc889; border-radius: 13px; box-shadow: 0 0 35px rgba(47,200,137,.28); font: 900 17px/1 monospace; animation: wpca-logo-pulse 1s ease-in-out infinite alternate; }
.wpca-boot-loader.is-ready .wpca-cyber-core { filter:drop-shadow(0 0 18px rgba(47,200,137,.8)); }
.wpca-boot-hud { display:flex; justify-content:center; gap:8px; margin:0 0 10px; }
.wpca-boot-hud span { display:flex; align-items:center; gap:5px; padding:4px 7px; color:#759188; background:rgba(47,200,137,.06); border:1px solid rgba(47,200,137,.16); border-radius:999px; font:700 7px/1 monospace; letter-spacing:.05em; }
.wpca-boot-hud i { width:5px; height:5px; background:#2fc889; border-radius:50%; box-shadow:0 0 7px #2fc889; }
.wpca-boot-kicker { color: #41dca0; font-size: 8px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.wpca-terminal-body h1 { position:relative; margin: 7px 0 20px; color: #f1f5f8; font-size: clamp(22px,4vw,31px); }
.wpca-terminal-body h1::before { content:attr(data-text); position:absolute; inset:0; color:#24d99a; opacity:.2; transform:translateX(2px); clip-path:inset(45% 0 38% 0); animation:wpca-glitch .8s steps(2) infinite; }
.wpca-terminal-body h1 b { color: #35d99d; animation: wpca-cursor .55s steps(1) infinite; }
.wpca-boot-code { display: grid; gap: 7px; max-width: 420px; margin: 0 auto 20px; text-align: left; }
.wpca-boot-code span { display: grid; grid-template-columns: 27px 1fr; color: #96aaa1; font: 10px/1.4 monospace; opacity: 0; animation: wpca-code-line .25s ease forwards; }
.wpca-boot-code span:nth-child(2){animation-delay:.3s}.wpca-boot-code span:nth-child(3){animation-delay:.6s}.wpca-boot-code span:nth-child(4){animation-delay:.9s}
.wpca-boot-code i { color: #3d554c; font-style: normal; }.wpca-boot-code code{color:#a9bbb4;background:transparent}
.wpca-boot-progress { position:relative; height: 5px; margin-top:24px; background: #202b27; border-radius: 10px; }
.wpca-boot-progress i { display: block; width: 0; height: 100%; overflow:hidden; background: linear-gradient(90deg,#19a975,#42e6aa); border-radius: inherit; box-shadow: 0 0 14px #2fc889; animation: wpca-boot-progress 1.75s .1s ease forwards; }
.wpca-boot-progress span { position:absolute; right:0; bottom:9px; color:#45dca5; font:800 8px/1 monospace; }
.wpca-terminal-body > p { margin: 10px 0 0; color: #71827b; font: 9px/1.4 monospace; }
@keyframes wpca-rain { to { transform: translateY(130vh); } }
@keyframes wpca-grid-drive { to { background-position:0 48px,48px 0; } }
@keyframes wpca-scan { to { transform:translateY(116vh); } }
@keyframes wpca-border-hack { to { transform:translateX(325%); } }
@keyframes wpca-live { to { opacity:.3; } }
@keyframes wpca-orbit { to { transform:rotate(360deg); } }
@keyframes wpca-glitch { 0%,85%{transform:translateX(2px)} 90%{transform:translateX(-3px)} 95%{transform:translateX(4px)} }
@keyframes wpca-logo-pulse { to { transform: scale(1.06); box-shadow:0 0 48px rgba(47,200,137,.42); } }
@keyframes wpca-cursor { 50% { opacity: 0; } }
@keyframes wpca-code-line { to { opacity:1; transform:translateX(0); } from { opacity:0; transform:translateX(-8px); } }
@keyframes wpca-boot-progress { 0%{width:0} 35%{width:30%} 70%{width:73%} 100%{width:100%} }
@keyframes wpca-loader-failsafe { to { opacity:0;visibility:hidden;pointer-events:none; } }

/* Homepage content reveal; internal Code Arena views remain instant. */
.wpca-arena-home.wpca-home-ready .wpca-sitebar { animation:wpca-home-drop .5s ease both; }
.wpca-arena-home.wpca-home-ready .wpca-library-sidebar { animation:wpca-home-left .55s .08s ease both; }
.wpca-arena-home.wpca-home-ready .wpca-dashboard { animation:wpca-home-rise .58s .13s ease both; }
.wpca-arena-home.wpca-home-ready .wpca-library-right { animation:wpca-home-right .55s .2s ease both; }
@keyframes wpca-home-drop { from{opacity:0;transform:translateY(-18px)} to{opacity:1;transform:none} }
@keyframes wpca-home-left { from{opacity:0;transform:translateX(-25px)} to{opacity:1;transform:none} }
@keyframes wpca-home-rise { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:none} }
@keyframes wpca-home-right { from{opacity:0;transform:translateX(25px)} to{opacity:1;transform:none} }

@media (max-width: 900px) {
  .wpca-submission-stats { grid-template-columns: repeat(3,1fr); }
  .wpca-history-metrics { grid-template-columns: repeat(3,1fr); }
  .wpca-leader-hero { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 600px) {
  .wpca-submission-stats { grid-template-columns: 1fr 1fr; }
  .wpca-history-main { align-items: flex-start; flex-direction: column; }
  .wpca-history-metrics { grid-template-columns: 1fr 1fr; }
  .wpca-leader-global { width: 100%; }
  .wpca-leader-global > div { flex: 1; min-width: 0; }
  .wpca-terminal-body { padding: 28px 20px 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .wpca-code-rain, .wpca-circuit-grid, .wpca-scanline, .wpca-boot-terminal::before, .wpca-cyber-core > i, .wpca-boot-logo, .wpca-boot-code span, .wpca-boot-progress i, .wpca-terminal-body h1::before, .wpca-terminal-top b em, .wpca-arena-home.wpca-home-ready .wpca-sitebar, .wpca-arena-home.wpca-home-ready .wpca-library-sidebar, .wpca-arena-home.wpca-home-ready .wpca-dashboard, .wpca-arena-home.wpca-home-ready .wpca-library-right { animation: none; }
  .wpca-boot-progress i { width: 100%; }
}
