.ctf-page{--ctf-bg: rgba(3, 3, 3, .96);--ctf-panel: rgba(7, 7, 7, .97);--ctf-panel-soft: rgba(12, 12, 12, .98);--ctf-line: #454545;--ctf-line-soft: #2a2a2a;--ctf-line-strong: #f0f0f0;--ctf-text: #f3f3f3;--ctf-muted: #b8b8b8;--ctf-dim: #8e8e8e;--ctf-green: #7ee787;--ctf-yellow: #f2cc60;--ctf-red: #ff7b72;--ctf-blue: #79c0ff;--ctf-purple: #d2a8ff;--difficulty-easy: #7ee787;--difficulty-medium: #f2cc60;--difficulty-hard: #ff7b72;padding:1.5rem 0 5rem;color:var(--ctf-text)}.ctf-page *,.ctf-page *:before,.ctf-page *:after{box-sizing:border-box}.ctf-hero{padding:1.3rem 0 1.6rem;border-bottom:2px solid var(--ctf-line-strong)}.ctf-kicker,.ctf-label{color:#b9b9b9;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.ctf-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end}.ctf-hero h1{margin:.25rem 0 .6rem;font-family:Space Mono,IBM Plex Mono,monospace;font-size:clamp(2.7rem,7vw,5.4rem);line-height:.92;letter-spacing:-.055em;text-transform:uppercase}.ctf-lead{max-width:760px;margin:0;color:#d5d5d5;font-size:.98rem;line-height:1.65}.ctf-live-box{min-width:220px;display:flex;align-items:center;gap:.7rem;border:2px solid var(--ctf-line-strong);padding:.8rem .95rem;background:#060606;box-shadow:4px 4px 0 var(--ctf-line-strong)}.ctf-live-box strong,.ctf-live-box small{display:block}.ctf-live-box small{margin-top:.18rem;color:#aaa;font-size:.68rem}.ctf-live-dot{width:10px;height:10px;flex:0 0 10px;background:var(--ctf-green);box-shadow:0 0 0 3px #7ee7871f}.ctf-actions-top{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.15rem}.ctf-auth-message{margin:.65rem 0 0;color:#b6b6b6;font-size:.8rem}.ctf-button{appearance:none;min-height:40px;border:2px solid #ececec;border-radius:0;background:#080808;color:#f8f8f8;padding:.62rem .86rem;font:inherit;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;transition:background .12s ease,color .12s ease,transform .12s ease,opacity .12s ease,border-color .12s ease}.ctf-button:hover:not(:disabled),.ctf-button:focus-visible:not(:disabled){background:#f5f5f5;color:#050505;transform:translate(-1px,-1px);outline:none}.ctf-button.primary{background:#f5f5f5;color:#050505}.ctf-button.primary:hover:not(:disabled){background:#d6d6d6}.ctf-button.compact{min-height:36px;padding:.48rem .68rem;font-size:.66rem}.ctf-button.danger{border-color:#8a4848;color:#faa}.ctf-button.danger:hover:not(:disabled){background:#faa;border-color:#faa;color:#050505}.ctf-button:disabled{cursor:not-allowed;opacity:.36;transform:none}.ctf-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.35rem;margin-top:1.45rem;align-items:start}.ctf-main-column,.ctf-sidebar{display:grid;gap:1.2rem;min-width:0;align-content:start}.ctf-sidebar{position:static}.ctf-panel{border:2px solid #5a5a5a;background:var(--ctf-panel);padding:1rem;box-shadow:3px 3px #ffffff12}.ctf-panel-heading,.ctf-section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.ctf-panel h2,.ctf-section-heading h2{margin:.18rem 0 0;color:#fff;font-size:1.3rem;text-transform:uppercase}.ctf-score-box{text-align:right}.ctf-score-box strong{display:block;color:#fff;font-size:2.15rem;line-height:1}.ctf-score-box span{color:#aaa;font-size:.68rem}.ctf-progress-meta{display:flex;justify-content:space-between;gap:1rem;margin-top:.9rem;color:#dedede;font-size:.76rem}.ctf-progress-track{height:12px;margin-top:.6rem;border:2px solid #f5f5f5;padding:2px}.ctf-progress-fill{height:100%;background:#f5f5f5;transition:width .25s ease}.ctf-next-level{margin-top:.45rem;color:#aaa;font-size:.7rem}.ctf-scoring-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:.9rem}.ctf-scoring-grid>div{position:relative;overflow:hidden;border:1px solid #565656;padding:.78rem .8rem .78rem .92rem;background:#0b0b0b}.ctf-scoring-grid>div:before{content:"";position:absolute;inset:0 auto 0 0;width:4px}.ctf-scoring-grid .score-easy:before{background:var(--difficulty-easy)}.ctf-scoring-grid .score-medium:before{background:var(--difficulty-medium)}.ctf-scoring-grid .score-hard:before{background:var(--difficulty-hard)}.ctf-scoring-grid .score-easy strong{color:var(--difficulty-easy)}.ctf-scoring-grid .score-medium strong{color:var(--difficulty-medium)}.ctf-scoring-grid .score-hard strong{color:var(--difficulty-hard)}.ctf-scoring-grid strong,.ctf-scoring-grid span{display:block}.ctf-scoring-grid strong{text-transform:uppercase;font-size:.77rem}.ctf-scoring-grid span{color:silver;margin-top:.22rem;font-size:.69rem}.ctf-note{margin:.8rem 0 0;color:#aaa;font-size:.73rem;line-height:1.58}.ctf-howto-panel{padding-bottom:.9rem}.ctf-steps{margin:.78rem 0 0;padding-left:1.15rem;color:#d0d0d0;font-size:.7rem;line-height:1.6}.ctf-challenges-section{margin-top:1.5rem;padding-top:1.25rem;border-top:2px solid #5a5a5a}.ctf-section-heading{margin-bottom:1rem}.ctf-arena-heading{align-items:flex-end}.ctf-arena-note{max-width:720px;margin:.4rem 0 0;color:#a8a8a8;font-size:.7rem;line-height:1.45}.ctf-arena-actions{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;flex-wrap:wrap}.ctf-difficulty-legend{display:flex;flex-wrap:wrap;gap:.35rem}.ctf-diff-key{border:1px solid currentColor;padding:.24rem .42rem;background:#080808;font-size:.57rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.ctf-diff-key.easy{color:var(--difficulty-easy)}.ctf-diff-key.medium{color:var(--difficulty-medium)}.ctf-diff-key.hard{color:var(--difficulty-hard)}.ctf-groups{display:grid;gap:1.6rem}.ctf-category-group{--category-accent: #ddd;--category-soft: rgba(255,255,255,.05);border:2px solid #5c5c5c;background:#040404f0;padding:1rem;box-shadow:4px 4px #ffffff0a}.ctf-category-group[data-category=infra]{--category-accent: #7ee787;--category-soft: rgba(126,231,135,.09)}.ctf-category-group[data-category=forensics-coding]{--category-accent: #79c0ff;--category-soft: rgba(121,192,255,.09)}.ctf-category-group[data-category=crypto]{--category-accent: #f2cc60;--category-soft: rgba(242,204,96,.09)}.ctf-category-group[data-category=web]{--category-accent: #d2a8ff;--category-soft: rgba(210,168,255,.09)}.ctf-category-head{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;margin:-1rem -1rem 1rem;padding:.95rem 1rem .95rem 1.15rem;border-bottom:2px solid #555;background:linear-gradient(90deg,var(--category-soft),#080808 68%)}.ctf-category-head:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--category-accent)}.ctf-category-title{min-width:0}.ctf-category-head h3{margin:0;color:var(--category-accent);font-size:1.22rem;letter-spacing:.035em;text-transform:uppercase}.ctf-category-subtitle{margin-top:.24rem;color:#b2b2b2;font-size:.68rem}.ctf-category-count{border:1px solid var(--category-accent);color:var(--category-accent);padding:.3rem .48rem;font-size:.6rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.ctf-challenge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.ctf-card{--category-accent: #ddd;--difficulty-accent: #bbb;position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #606060;border-top:4px solid var(--difficulty-accent);background:#060606;box-shadow:inset 4px 0 0 var(--category-accent),4px 4px #111;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.ctf-card:hover{border-color:#898989;transform:translateY(-1px)}.ctf-card[data-category=infra]{--category-accent: #7ee787}.ctf-card[data-category=forensics-coding]{--category-accent: #79c0ff}.ctf-card[data-category=crypto]{--category-accent: #f2cc60}.ctf-card[data-category=web]{--category-accent: #d2a8ff}.ctf-card[data-difficulty=easy]{--difficulty-accent: var(--difficulty-easy)}.ctf-card[data-difficulty=medium]{--difficulty-accent: var(--difficulty-medium)}.ctf-card[data-difficulty=hard]{--difficulty-accent: var(--difficulty-hard)}.ctf-card.runtime-wait{border-color:#8e783e;box-shadow:inset 4px 0 0 var(--category-accent),4px 4px #f2cc601f}.ctf-card.runtime-active,.ctf-card.solved{border-color:#548d61;box-shadow:inset 4px 0 0 var(--category-accent),4px 4px #7ee7871f}.ctf-card.runtime-error{border-color:#9c4b48}.ctf-card-top{padding:1.05rem 1.15rem .95rem 1.25rem;border-bottom:1px solid #383838;background:linear-gradient(135deg,rgba(255,255,255,.025),transparent 55%)}.ctf-card-badges{display:flex;flex-wrap:wrap;gap:.38rem;margin-bottom:.72rem}.ctf-badge{border:1px solid #666;padding:.24rem .44rem;background:#0a0a0a;color:#d2d2d2;font-size:.58rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.ctf-badge.easy{border-color:var(--difficulty-easy);color:var(--difficulty-easy);background:#7ee78714}.ctf-badge.medium{border-color:var(--difficulty-medium);color:var(--difficulty-medium);background:#f2cc6014}.ctf-badge.hard{border-color:var(--difficulty-hard);color:var(--difficulty-hard);background:#ff7b7217}.ctf-badge.theme{border-color:var(--category-accent);color:var(--category-accent);background:transparent}.ctf-badge.solved{border-color:var(--ctf-green);color:#061008;background:var(--ctf-green)}.ctf-card h4{margin:0 0 .5rem;color:#fff;font-size:1.17rem;line-height:1.25}.ctf-card-desc{color:#c9c9c9;font-size:.78rem;line-height:1.58;min-height:3.2em}.ctf-card-stats{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #393939;background:#0d0d0d}.ctf-stat{min-width:0;padding:.75rem .85rem}.ctf-stat+.ctf-stat{border-left:1px solid #393939}.ctf-stat strong,.ctf-stat span{display:block}.ctf-stat strong{overflow:hidden;color:#f5f5f5;font-size:.98rem;text-overflow:ellipsis;white-space:nowrap}.ctf-stat:first-child strong{color:var(--difficulty-accent)}.ctf-stat span{margin-top:.14rem;color:#9b9b9b;font-size:.56rem;letter-spacing:.025em;text-transform:uppercase}.ctf-stat.firstblood strong{color:var(--category-accent);font-size:.75rem}.ctf-hint{margin:.85rem 1rem 0;padding:.7rem .78rem;border:1px solid #454545;border-left:4px solid var(--category-accent);background:#101010;color:#d0d0d0;font-size:.7rem;line-height:1.52}.ctf-hint strong{color:var(--category-accent)}.ctf-hint.locked{border-color:#383838;border-left-color:#555;color:#929292;background:#0a0a0a}.ctf-card-body{display:grid;gap:.65rem;padding:.95rem 1rem 1rem;margin-top:auto}.ctf-control-label{color:#a0a0a0;font-size:.59rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.ctf-instance-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.ctf-instance-actions .ctf-button.primary{min-height:44px}.ctf-instance-status{position:relative;min-height:42px;display:flex;align-items:center;padding:.58rem .65rem .58rem 1.65rem;border:1px solid #454545;background:#0c0c0c;color:#b5b5b5;font-size:.7rem;line-height:1.42}.ctf-instance-status:before{content:"";position:absolute;left:.67rem;width:8px;height:8px;background:#777}.ctf-instance-status.good{color:var(--ctf-green);border-color:#3f7249;background:#7ee7870a}.ctf-instance-status.good:before{background:var(--ctf-green)}.ctf-instance-status.bad{color:#ff9e98;border-color:#824542;background:#ff7b720a}.ctf-instance-status.bad:before{background:var(--ctf-red)}.ctf-instance-status.wait{color:#ffe08a;border-color:#7f6d36;background:#f2cc600a}.ctf-instance-status.wait:before{background:var(--ctf-yellow);animation:ctf-pulse 1s steps(2,end) infinite}@keyframes ctf-pulse{50%{opacity:.25}}.ctf-target{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:center;border:2px solid #4f8a5c;background:#08110a;padding:.7rem .75rem;font-size:.72rem}.ctf-target>span{color:var(--ctf-green);font-size:.59rem;font-weight:700;letter-spacing:.07em}.ctf-target code,.ctf-target a{min-width:0;overflow-wrap:anywhere;color:#fff}.ctf-target a{text-decoration:underline}.ctf-access-note{min-height:2.6em;color:#ababab;font-size:.66rem;line-height:1.5}.ctf-access-note:before{content:"ACCESS // ";color:var(--category-accent);font-weight:700}.ctf-flag-zone{display:grid;gap:.4rem;padding-top:.7rem;border-top:1px dashed #484848}.ctf-flag-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.ctf-flag-input{width:100%;min-width:0;min-height:42px;border:2px solid #666;border-radius:0;background:#030303;color:#fff;padding:.58rem .68rem;font:inherit;font-size:.7rem;outline:none}.ctf-flag-input::placeholder{color:#777}.ctf-flag-input:focus{border-color:var(--category-accent)}.ctf-feedback{min-height:1.15em;color:#a0a0a0;font-size:.65rem;line-height:1.38}.ctf-feedback.good{color:var(--ctf-green)}.ctf-feedback.bad{color:#ff9e98}.ctf-feedback.wait{color:#ffe08a}.ctf-ranking{display:grid;margin-top:.75rem}.ctf-ranking-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.62rem 0;border-bottom:1px solid #343434}.ctf-ranking-row:last-child{border-bottom:0}.ctf-rank{color:#9b9b9b;font-weight:700}.ctf-ranking-name{min-width:0;overflow:hidden;color:#e4e4e4;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.ctf-ranking-score{text-align:right}.ctf-ranking-score strong,.ctf-ranking-score small{display:block}.ctf-ranking-score small{color:#909090;font-size:.55rem}.ctf-ranking-row.me .ctf-ranking-name{color:var(--ctf-green)}.ctf-ranking-live{border:1px solid var(--ctf-green);color:var(--ctf-green);padding:.18rem .34rem;font-size:.55rem}.ctf-loading{border:1px dashed #555;padding:1rem;color:#999;font-size:.73rem;background:#050505e6}@media(min-width:1440px){.ctf-overview-grid{grid-template-columns:minmax(0,1fr) 340px}.ctf-card h4{font-size:1.22rem}}@media(max-width:1040px){.ctf-overview-grid{grid-template-columns:1fr}.ctf-sidebar,.ctf-challenge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.ctf-page{padding-top:.7rem}.ctf-hero-grid{grid-template-columns:1fr;align-items:start}.ctf-live-box{min-width:0;box-shadow:none}.ctf-sidebar{grid-template-columns:1fr}.ctf-arena-heading{align-items:flex-start;flex-direction:column}.ctf-arena-actions{justify-content:flex-start}.ctf-challenge-grid,.ctf-scoring-grid{grid-template-columns:1fr}.ctf-card-stats{grid-template-columns:1fr 1fr}.ctf-stat.firstblood{grid-column:1 / -1;border-left:0;border-top:1px solid #393939}.ctf-flag-form{grid-template-columns:1fr}.ctf-category-head{align-items:start}}@media(max-width:520px){.ctf-category-group{padding:.75rem}.ctf-category-head{margin:-.75rem -.75rem .75rem;padding:.8rem .75rem .8rem .95rem}.ctf-category-head h3{font-size:1.05rem}.ctf-card-top{padding:.9rem .9rem .8rem 1rem}.ctf-card-body{padding:.8rem}.ctf-card-stats{grid-template-columns:1fr}.ctf-stat+.ctf-stat{border-left:0;border-top:1px solid #393939}.ctf-stat.firstblood{grid-column:auto}.ctf-instance-actions{grid-template-columns:1fr}}
