@font-face{font-family:"Inter Variable";src:url("/marca/estilo/inter-latin-wght.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"Fira Code";src:url("/marca/estilo/fira-code-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Fira Code";src:url("/marca/estilo/fira-code-latin-500.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
:root{color-scheme:dark;--rossec-bg:#101419;--rossec-surface:#1a2027;--rossec-raised:#222a32;--rossec-line:#414a54;--rossec-text:#f3f0ea;--rossec-muted:#bbc3ca;--rossec-accent:#f05252;--rossec-good:#9bbfa8;--bg:#101419;--surface:#1a2027;--panel:#1a2027;--line:#414a54;--text:#f3f0ea;--muted:#bbc3ca;--accent:#f05252}
html,body{background:#101419!important;color:#f3f0ea!important}
body{font-family:"Inter Variable",Inter,Arial,sans-serif!important;letter-spacing:-.015em}
button,input,select,textarea{font-family:inherit}
body::before{background-image:linear-gradient(#1d212a44 1px,transparent 1px),linear-gradient(90deg,#1d212a44 1px,transparent 1px)!important;background-size:52px 52px!important;mask-image:linear-gradient(110deg,transparent 38%,#000 100%)!important;opacity:.11!important;animation:none!important}
::selection{background:#f0525255;color:#fff}
:focus-visible{outline:2px solid #f05252!important;outline-offset:3px}

/* Shared platform navigation */
.rossec-core-nav,body.ctf-box header,body.ctf-ir header{background:#101419f5!important;border-bottom:1px solid #303943!important;box-shadow:none!important}
.rossec-core-nav{min-height:66px!important}
main[role=main]{padding-top:66px!important}
.rossec-core-nav .rossec-core-nav-inner{max-width:1280px!important}
.rossec-core-brand-name,.rossec-brand .wordmark,.identity{font-family:"Fira Code",monospace!important;font-weight:500!important;letter-spacing:-.04em!important}
.rossec-core-nav .nav-link,.rossec-core-nav .rossec-hint-sound-toggle,body.ctf-box .nav a,body.ctf-box .hint-sound-toggle,body.ctf-ir .nav a,body.ctf-ir .sound-toggle{color:#b8c0c8!important;font-family:"Fira Code",monospace!important;font-size:.79rem!important;font-weight:400!important;letter-spacing:.01em!important;text-transform:uppercase}
.rossec-core-nav .nav-link:hover,.rossec-core-nav .nav-link:focus-visible,body.ctf-box .nav a:hover,body.ctf-ir .nav a:hover,body.ctf-ir .nav a[aria-current=page]{color:#e8ebf0!important}
.rossec-core-nav .rossec-core-nav-exit,body.ctf-box .nav a:last-child,body.ctf-ir .nav .exit{border:1px solid #2b313d!important;border-radius:0!important;color:#e8ebf0!important;padding:.55rem .75rem!important}
.rossec-core-nav .rossec-core-nav-exit:hover,body.ctf-box .nav a:last-child:hover,body.ctf-ir .nav .exit:hover{border-color:#f05252!important;background:#2b1213!important}
.rossec-core-nav .rossec-hint-sound-toggle[aria-pressed=true],body.ctf-box .hint-sound-toggle[aria-pressed=true],body.ctf-ir .sound-toggle[aria-pressed=true]{color:#f05252!important}
.rossec-core-nav .rossec-hint-sound-toggle[aria-pressed=true]::before,body.ctf-box .hint-sound-toggle[aria-pressed=true]::before{background:#f05252!important;border-color:#f05252!important}

/* Challenges list */
main[role=main] .jumbotron{background:transparent!important;border-bottom:1px solid #1d212a!important;padding:3.2rem 0 2.5rem!important}
main[role=main] .jumbotron .container{max-width:1180px!important;padding-inline:1.35rem!important;text-align:left!important}
main[role=main] .jumbotron h1{font-family:"Fira Code",monospace!important;font-size:clamp(2.5rem,5vw,4.15rem)!important;font-weight:500!important;line-height:1.08!important;letter-spacing:-.07em!important;text-align:left!important;margin:0!important;color:#e8ebf0!important}
main[role=main] .jumbotron h1::before{content:"CTF / 2026";display:block;margin-bottom:.7rem;color:#f05252;font:400 .67rem "Fira Code",monospace;letter-spacing:.13em}
main[role=main]>.container{max-width:1180px!important;padding-inline:1.35rem!important}
main[role=main] .category-header{border-bottom:1px solid #414a54!important;margin-bottom:1rem!important;padding-bottom:.7rem!important}
main[role=main] .category-header h3{font-family:"Fira Code",monospace!important;font-size:.87rem!important;font-weight:500!important;line-height:1.4!important;letter-spacing:.05em!important;text-transform:uppercase;color:#d8b48f!important}
main[role=main] .challenges-row{row-gap:.25rem}
main[role=main] .challenge-button{min-height:122px!important;border:1px solid #414a54!important;border-radius:7px!important;background:#1a2027!important;color:#f3f0ea!important;box-shadow:0 12px 30px #0002!important;transition:border-color .18s,background .18s,transform .18s!important}
main[role=main] .challenge-button:hover,main[role=main] .challenge-button:focus-visible{border-color:#d8b48f!important;background:#222a32!important;transform:translateY(-2px)!important;box-shadow:0 16px 35px #0003!important}
main[role=main] .challenge-button .challenge-inner{padding:.45rem .25rem!important;min-height:88px!important;gap:.75rem!important}
main[role=main] .challenge-button .challenge-inner p{color:#f3f0ea!important;font-family:"Inter Variable",Inter,sans-serif!important;font-size:1.13rem!important;font-weight:570!important;letter-spacing:-.03em!important}
main[role=main] .challenge-button .challenge-inner span{color:#d8b48f!important;font:400 .81rem "Fira Code",monospace!important;letter-spacing:.02em!important}
main[role=main] .challenge-button.challenge-solved{border-color:#759581!important;background:#101813!important}
main[role=main] .challenge-button.challenge-solved .challenge-inner span{color:#9bbfa8!important}

/* Challenge details and hints */
#challenge-window .rossec-challenge-dialog{width:min(720px,calc(100vw - 1.5rem))!important;max-width:720px!important}
#challenge-window .rossec-challenge-modal{border:1px solid #53606b!important;border-radius:7px!important;background:#1a2027!important;box-shadow:0 28px 80px #000b!important}
#challenge-window .rossec-challenge-modal>.modal-body{padding:clamp(1.25rem,3vw,2rem)!important;scrollbar-color:#4a5260 #0e1015!important}
#challenge-window .rossec-challenge-heading{border-bottom-color:#2b313d!important}
#challenge-window .rossec-challenge-heading small,#challenge-window .rossec-hints-heading small,#challenge-window .rossec-challenge-connection>span{color:#d8b48f!important;font:400 .76rem "Fira Code",monospace!important;letter-spacing:.05em!important}
#challenge-window .challenge-name{font-family:"Inter Variable",Inter,sans-serif!important;font-size:clamp(1.7rem,3vw,2.2rem)!important;font-weight:560!important;letter-spacing:-.045em!important}
#challenge-window .challenge-value{background:#2b1213!important;color:#f05252!important;border:1px solid #592d30!important;border-radius:0!important;padding:.4rem .55rem!important}
#challenge-window .challenge-value b,#challenge-window .challenge-value small{color:#f05252!important;font-family:"Fira Code",monospace!important;font-weight:500!important}
#challenge-window .rossec-challenge-close{border-color:#2b313d!important;border-radius:0!important;background:#14171d!important;color:#e8ebf0!important}
#challenge-window .rossec-challenge-close:hover{border-color:#f05252!important;background:#2b1213!important}
#challenge-window .rossec-challenge-meta{color:#c1c7cd!important}
#challenge-window .challenge-tag{border-color:#2b313d!important;border-radius:0!important;background:#14171d!important;color:#99a1b0!important}
#challenge-window .rossec-challenge-tabs{border-bottom-color:#2b313d!important}
#challenge-window .rossec-challenge-tabs .nav-link{font:400 .8rem "Fira Code",monospace!important;letter-spacing:.02em!important;text-transform:uppercase}
#challenge-window .rossec-challenge-tabs .nav-link.active{border-bottom-color:#f05252!important;color:#e8ebf0!important}
#challenge-window .rossec-challenge-tabs .nav-link span{color:#f05252!important}
#challenge-window .challenge-desc,#challenge-window .rossec-hint-body{color:#c1c7cd!important;font-size:1rem!important;line-height:1.65!important}
#challenge-window .rossec-challenge-connection,#challenge-window .rossec-challenge-files,#challenge-window .challenge-hints details{border-color:#414a54!important;border-radius:4px!important;background:#11161c!important}
#challenge-window .rossec-challenge-files a,#challenge-window .tab-pane .table a{color:#f47777!important}
#challenge-window .rossec-hints-heading,#challenge-window .rossec-challenge-submit{border-top-color:#2b313d!important}
#challenge-window .challenge-hints h3,#challenge-window .tab-pane>h3,#challenge-window .rossec-challenge-submit label{font-weight:550!important;color:#e8ebf0!important}
#challenge-window .rossec-hints-explain,#challenge-window .rossec-challenge-submit-header>span{color:#99a1b0!important}
#challenge-window .challenge-hints details[open],#challenge-window .rossec-hint-card[data-hint-cost="0"] details{border-color:#596b62!important}
#challenge-window .challenge-hints summary{font-weight:500!important;color:#e8ebf0!important}
#challenge-window .challenge-hints summary::after{border-color:#f05252!important}
#challenge-window .challenge-hints summary:hover{background:#14171d!important}
#challenge-window .rossec-hint-status{font:400 .64rem "Fira Code",monospace!important;color:#f47777!important}
#challenge-window .rossec-hint-card[data-hint-cost="0"] .rossec-hint-status{color:#9bbfa8!important}
#challenge-window .challenge-input{border-color:#414a54!important;border-radius:4px!important;background:#11161c!important;color:#f3f0ea!important;font:400 .92rem "Fira Code",monospace!important}
#challenge-window .challenge-input:focus{border-color:#f05252!important;box-shadow:0 0 0 2px #f0525233!important}
#challenge-window .challenge-submit{border:1px solid #e8ddd0!important;border-radius:4px!important;background:#e8ddd0!important;color:#171b20!important;font:500 .82rem "Fira Code",monospace!important;letter-spacing:.02em!important;text-transform:uppercase!important}
#challenge-window .challenge-submit:hover{background:#f6eee4!important}
#challenge-window .rossec-challenge-response,#challenge-window .rossec-next-challenge{border-radius:0!important}

/* Shared participant pages */
body.ctf-box,body.ctf-ir{background:radial-gradient(ellipse at 75% 0,#1c2630 0,transparent 36rem),#101419!important;color:#f3f0ea!important}
body.ctf-box .header-inner,body.ctf-ir .header-inner{max-width:1180px!important;min-height:66px!important;padding:.55rem 1.35rem!important}
body.ctf-box .rossec-brand .mark{width:36px!important;height:36px!important}
body.ctf-box main,body.ctf-ir main{max-width:1180px!important;padding:clamp(2rem,4vw,3.5rem) 1.35rem 4rem!important}
body.ctf-box h1,body.ctf-ir h1{font-family:"Inter Variable",Inter,sans-serif!important;font-size:clamp(2.5rem,4.5vw,4rem)!important;font-weight:660!important;line-height:1.12!important;letter-spacing:-.065em!important}
body.ctf-box h2,body.ctf-ir h2{font-family:"Inter Variable",Inter,sans-serif!important;font-weight:550!important;letter-spacing:-.04em!important}
body.ctf-box .page-meta,body.ctf-box .card small,body.ctf-box .field-label,body.ctf-box .flag-panel small,body.ctf-ir .eyebrow,body.ctf-ir .section-title,body.ctf-ir .question-top{font-family:"Fira Code",monospace!important;font-weight:400!important;letter-spacing:.09em!important;text-transform:uppercase}
body.ctf-box .page-meta,body.ctf-box .lead,body.ctf-ir .intro{color:#bbc3ca!important}
body.ctf-box .page-meta .account,body.ctf-box .card small,body.ctf-box .field-label,body.ctf-box .flag-panel small,body.ctf-ir .eyebrow,body.ctf-ir .section-title{color:#d8b48f!important}
body.ctf-box .lead{font-size:1.08rem!important;line-height:1.65!important;max-width:78ch!important}
body.ctf-box .lead strong{color:#e8ebf0!important}
body.ctf-box .cards{gap:1rem!important;margin-top:2.1rem!important}
body.ctf-box .card-row{gap:1rem!important}
body.ctf-box .card,body.ctf-box .alias-panel,body.ctf-box .flag-panel,body.ctf-box .event-clock,body.ctf-ir .sample,body.ctf-ir .question{background:#1a2027!important;border:1px solid #414a54!important;border-radius:7px!important;box-shadow:0 14px 35px #0002!important}
body.ctf-box .card{padding:1.6rem!important}
body.ctf-box .card small{margin-bottom:1rem!important;padding-bottom:.75rem!important;border-bottom-color:#2b313d!important}
body.ctf-box .card h2{font-size:1.75rem!important;margin-bottom:.55rem!important}
body.ctf-box .card .machine-description{color:#c1c7cd!important;font-size:1rem!important;line-height:1.55!important;max-width:48ch!important;margin-bottom:1rem!important}
body.ctf-box .lab-state{font:400 .78rem "Fira Code",monospace!important;letter-spacing:.04em!important;color:#c6ccd1!important}
body.ctf-box .lab-state.healthy::before{background:#9bbfa8!important}
body.ctf-box .lab-state.initializing::before,body.ctf-box .lab-state.stopping::before{background:#f05252!important}
body.ctf-box .card-actions{gap:.5rem!important;margin:1rem 0 0!important}
body.ctf-box .card a.button,body.ctf-box .submit,body.ctf-ir .button,body.ctf-ir button:not(.sound-toggle){display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:.7rem 1rem!important;border:1px solid #e8ddd0!important;border-radius:4px!important;background:#e8ddd0!important;color:#171b20!important;font:500 .8rem "Fira Code",monospace!important;letter-spacing:.025em!important;text-transform:uppercase!important;text-decoration:none!important;transition:background .18s,border-color .18s!important}
body.ctf-box .card a.button:hover,body.ctf-box .submit:hover,body.ctf-ir .button:hover,body.ctf-ir button:hover:not(:disabled):not(.sound-toggle){background:#f6eee4!important;border-color:#f6eee4!important}
body.ctf-box .card-actions .secondary,body.ctf-box .copy-button,body.ctf-ir .extra button{background:#222a32!important;border:1px solid #53606b!important;color:#f0eee9!important}
body.ctf-box .card-actions .secondary:hover,body.ctf-box .copy-button:hover,body.ctf-ir .extra button:hover{background:#303a43!important;border-color:#d8b48f!important}
body.ctf-box .card .button-disabled,body.ctf-box .card code,body.ctf-box .lab-progress,body.ctf-box .alias-panel input,body.ctf-box .flag-form input,body.ctf-ir .question input,body.ctf-ir .extra{background:#11161c!important;border:1px solid #414a54!important;border-radius:4px!important;color:#f0eee9!important}
body.ctf-box .card code,body.ctf-box .flag-form input,body.ctf-ir .sample code,body.ctf-ir .question input{font-family:"Fira Code",monospace!important;font-size:.88rem!important;font-weight:400!important}
body.ctf-box .copy-button{border-radius:4px!important;font:400 .78rem "Fira Code",monospace!important;letter-spacing:.02em!important;text-transform:uppercase!important}
body.ctf-box .ssh-access{border-top-color:#2b313d!important}
body.ctf-box .event-clock{padding:.75rem 1rem!important;margin:1.2rem 0 2rem!important}
body.ctf-box .event-clock span,body.ctf-box .event-clock time{font-family:"Fira Code",monospace!important;font-weight:500!important;color:#e8ebf0!important}
body.ctf-box .event-clock span{font-size:.72rem!important;color:#d8b48f!important}
body.ctf-box .event-clock time{font-size:clamp(1.35rem,3vw,2rem)!important}
body.ctf-box .lab-progress{padding:.8rem!important}
body.ctf-box .lab-progress-track i,body.ctf-box .lab-progress[data-phase=retrying] .lab-progress-track{border-radius:0!important}
body.ctf-box .lab-progress-track i::after,body.ctf-box .lab-progress[data-phase=retrying] .lab-progress-track::after{background:#f05252!important;border-radius:0!important}
body.ctf-box .flag-panel{padding:1.45rem!important}
body.ctf-box .flag-panel h2{font-size:1.6rem!important}
body.ctf-box .shutdown-dialog{width:min(440px,calc(100vw - 2rem));max-width:none;padding:1.6rem;margin:auto;border:1px solid #53606b;border-radius:7px;background:#1a2027;color:#f3f0ea;box-shadow:0 28px 80px #000d}
body.ctf-box .shutdown-dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}
body.ctf-box .shutdown-dialog-label{display:block;margin-bottom:1.05rem;color:#d8b48f;font:400 .75rem "Fira Code",monospace;letter-spacing:.06em}
body.ctf-box .shutdown-dialog h2{margin:0 0 .75rem;font-size:1.5rem;line-height:1.25}
body.ctf-box .shutdown-dialog p{margin:0;color:#c1c7cd;font-size:1rem;line-height:1.6}
body.ctf-box .shutdown-dialog-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:1.55rem}
body.ctf-box .shutdown-dialog-actions button{min-height:44px;padding:.7rem .95rem;border-radius:4px;font:500 .8rem "Fira Code",monospace;letter-spacing:.02em;text-transform:uppercase;cursor:pointer}
body.ctf-box .shutdown-cancel{border:1px solid #53606b;background:#222a32;color:#f0eee9}
body.ctf-box .shutdown-cancel:hover{border-color:#d8b48f;background:#303a43}
body.ctf-box .shutdown-confirm{border:1px solid #f05252;background:#f05252;color:#08090c}
body.ctf-box .shutdown-confirm:hover{border-color:#ff6a6a;background:#ff6a6a}
body.ctf-box .shutdown-dialog-actions button:focus-visible{outline:2px solid #e8ebf0;outline-offset:3px}

/* ColdCase case page */
body.ctf-ir .identity{font-size:.85rem!important}
body.ctf-ir .identity::before{width:36px!important;height:36px!important}
body.ctf-ir .case-head{gap:2rem!important;padding-bottom:2rem!important;border-bottom-color:#414a54!important}
body.ctf-ir .case-head h1{max-width:13ch!important}
body.ctf-ir .intro{font-size:1.1rem!important;line-height:1.7!important;max-width:68ch!important}
body.ctf-ir .case-meta{border-left:2px solid #d8b48f!important;color:#c1c7cd!important;font-size:.95rem!important}
body.ctf-ir .case-meta span{font:400 .74rem "Fira Code",monospace!important;color:#d8b48f!important}
body.ctf-ir .sample{gap:1.2rem!important;padding:1.65rem!important;margin:1.7rem 0 2.1rem!important}
body.ctf-ir .sample h2{font-size:1.65rem!important}
body.ctf-ir .sample p,body.ctf-ir .question p{color:#c1c7cd!important}
body.ctf-ir .sample code{color:#f0d1ad!important}
body.ctf-ir .progress-wrap{margin:2rem 0 .8rem!important}
body.ctf-ir .progress-wrap h2{font-size:1.65rem!important}
body.ctf-ir .progress-wrap p{font:400 .85rem "Fira Code",monospace!important;color:#c1c7cd!important}
body.ctf-ir .progress-track{background:#323c46!important;height:5px!important}
body.ctf-ir .progress-track span{background:#f05252!important}
body.ctf-ir .section-title{margin:2rem 0 .8rem!important;font-size:.82rem!important}
body.ctf-ir .questions{gap:1rem!important}
body.ctf-ir .question{padding:1.65rem!important}
body.ctf-ir .question[data-solved=true]{border-color:#668675!important}
body.ctf-ir .question-top{margin-bottom:.9rem!important;color:#d8b48f!important;font-size:.75rem!important}
body.ctf-ir .question-top .points{color:#c1c7cd!important}
body.ctf-ir .question h2{font-size:1.4rem!important}
body.ctf-ir .question p{font-size:1rem!important;line-height:1.6!important;margin:.65rem 0 1.1rem!important}
body.ctf-ir .question form button{min-height:44px!important}
body.ctf-ir .hints{border-top-color:#2b313d!important}
body.ctf-ir .hints summary{color:#e8ebf0!important;font-weight:500!important}
body.ctf-ir .extra{border-left:2px solid #d8b48f!important;padding:1rem!important;color:#c1c7cd!important}
body.ctf-ir .extra button{min-height:40px!important;font-size:.75rem!important}
body.ctf-ir .feedback{font-weight:550!important}
body.ctf-ir .foot{border-top-color:#2b313d!important;color:#7b8492!important}

/* Administration shares the same type and surfaces as the participant area. */
body.ctf-admin .navbar.bg-dark{background:#08090cf5!important;border-bottom:1px solid #1d212a!important;min-height:66px!important}
body.ctf-admin main[role=main]{padding-top:66px!important}
body.ctf-admin .rossec-admin-brand-label{font-family:"Fira Code",monospace!important;font-size:.82rem!important;font-weight:500!important;letter-spacing:-.04em!important}
body.ctf-admin .rossec-admin-brand-label small{color:#f05252!important;font-family:"Fira Code",monospace!important;font-weight:400!important}
body.ctf-admin .navbar .nav-link{color:#99a1b0!important;font:400 .7rem "Fira Code",monospace!important;letter-spacing:.02em!important;text-transform:uppercase}
body.ctf-admin .navbar .nav-link:hover,body.ctf-admin .navbar .nav-link[aria-current=page]{color:#e8ebf0!important}
body.ctf-admin .navbar .nav-link[aria-current=page]{box-shadow:inset 0 -2px #f05252!important}
body.ctf-admin .navbar .nav-link.rossec-tv-link{color:#f47777!important}
body.ctf-admin .rossec-admin-shell{max-width:1180px!important;padding:clamp(2rem,4vw,3.5rem) 1.35rem 4rem!important}
body.ctf-admin .rossec-admin-eyebrow{color:#f05252!important;font:400 .68rem "Fira Code",monospace!important;letter-spacing:.1em!important}
body.ctf-admin .rossec-admin-hero{border-bottom-color:#2b313d!important}
body.ctf-admin .rossec-admin-hero h1,body.ctf-admin .jumbotron h1{font-family:"Fira Code",monospace!important;font-size:clamp(2.35rem,5vw,3.9rem)!important;font-weight:500!important;line-height:1.12!important;letter-spacing:-.07em!important}
body.ctf-admin .rossec-admin-hero p{color:#99a1b0!important}
body.ctf-admin .rossec-admin-metric,body.ctf-admin .rossec-admin-panel,body.ctf-admin .card,body.ctf-admin .modal-content,body.ctf-admin .list-group-item{background:#0e1015!important;border:1px solid #2b313d!important;border-radius:0!important;box-shadow:none!important}
body.ctf-admin .rossec-admin-metric span,body.ctf-admin .rossec-admin-panel h3{font-family:"Fira Code",monospace!important;font-weight:400!important;color:#99a1b0!important}
body.ctf-admin .rossec-admin-metric b{font-family:"Fira Code",monospace!important;font-weight:500!important;color:#e8ebf0!important}
body.ctf-admin .rossec-admin-panel h2{font-family:"Inter Variable",Inter,sans-serif!important;font-weight:550!important;color:#e8ebf0!important}
body.ctf-admin .rossec-admin-hero .rossec-admin-action,body.ctf-admin .rossec-list-tabs a,body.ctf-admin .rossec-lab-badge{border-radius:0!important}
body.ctf-admin .rossec-admin-hero .rossec-admin-action:hover{border-color:#f05252!important;background:#2b1213!important}
body.ctf-admin .rossec-list-tabs a.active{background:#2b1213!important;border-color:#f05252!important}
body.ctf-admin .rossec-admin-bar,body.ctf-admin .rossec-admin-bar i{border-radius:0!important}
body.ctf-admin .rossec-admin-bar i{background:#f05252!important}
body.ctf-admin .rossec-admin-link:hover{color:#f47777!important}
body.ctf-admin .btn-primary,body.ctf-admin .btn-success{background:#f05252!important;border:1px solid #f05252!important;border-radius:0!important;color:#08090c!important;font:500 .72rem "Fira Code",monospace!important;letter-spacing:.04em!important;text-transform:uppercase}
body.ctf-admin .btn-primary:hover,body.ctf-admin .btn-success:hover{background:#ff6a6a!important;border-color:#ff6a6a!important}
body.ctf-admin .btn-secondary,body.ctf-admin .btn-outline-secondary,body.ctf-admin .form-control,body.ctf-admin .custom-select,body.ctf-admin select,body.ctf-admin textarea{border-radius:0!important;background:#08090c!important;border-color:#2b313d!important;color:#e8ebf0!important}
body.ctf-admin .form-control:focus,body.ctf-admin .custom-select:focus,body.ctf-admin select:focus,body.ctf-admin textarea:focus{border-color:#f05252!important;box-shadow:0 0 0 2px #f0525233!important}
body.ctf-admin .table th{background:#14171d!important;border-color:#2b313d!important;color:#b5bbc5!important}
body.ctf-admin .table td{background:#0e1015!important;border-color:#2b313d!important;color:#e8ebf0!important}
body.ctf-admin .table-hover tbody tr:hover td{background:#14171d!important}

/* Sign-in and access states */
.rossec-login{background:#08090c!important}
.rossec-login h1{font-family:"Fira Code",monospace!important;font-weight:500!important;letter-spacing:-.07em!important}
.rossec-login-card{background:#0e1015!important;border-color:#2b313d!important}
.rossec-login-card h2{font-family:"Inter Variable",Inter,sans-serif!important;font-weight:550!important}
.rossec-login-card input.form-control{background:#08090c!important;border-color:#2b313d!important;color:#e8ebf0!important}
.rossec-login-card input.form-control:focus{border-color:#f05252!important;outline-color:#f0525255!important}
.rossec-login-card input[type=submit]{background:#f05252!important;color:#08090c!important;font:500 .75rem "Fira Code",monospace!important;letter-spacing:.06em!important;text-transform:uppercase!important}
.rossec-login-card input[type=submit]:hover{background:#ff6a6a!important}
.rossec-card-index,.rossec-note b,.rossec-eyebrow{color:#f05252!important;font-family:"Fira Code",monospace!important;font-weight:400!important}
.rossec-error-layout{border-top-color:#2b313d!important}
.rossec-error-index span,.rossec-error-eyebrow{color:#f05252!important;font-family:"Fira Code",monospace!important;font-weight:400!important}
.rossec-error-index strong{color:#2b313d!important;font-family:"Fira Code",monospace!important;font-weight:500!important}
.rossec-error-body h1{font-family:"Fira Code",monospace!important;font-weight:500!important;letter-spacing:-.07em!important}
.rossec-error-body p{color:#99a1b0!important}
.rossec-error-body a{border-color:#2b313d!important;border-radius:0!important;color:#e8ebf0!important;font:500 .72rem "Fira Code",monospace!important;text-transform:uppercase!important}
.rossec-error-body a::after{color:#f05252!important}
.rossec-error-body a:hover{border-color:#f05252!important;background:#2b1213!important}

/* Prize and screen access retain their content and actions. */
body.ctf-prize{background:radial-gradient(circle at 50% 28%,#14171d 0,#08090c 70%)!important}
body.ctf-prize header,body.ctf-screen-login .topbar{background:#08090cf5!important;border-bottom:1px solid #1d212a!important}
body.ctf-prize .header-inner{min-height:66px!important}
body.ctf-prize .brand-label,body.ctf-prize .header-inner nav,body.ctf-prize .eyebrow,body.ctf-screen-login .topbar small,body.ctf-screen-login .eyebrow,body.ctf-screen-login .card-head{font-family:"Fira Code",monospace!important;font-weight:400!important;letter-spacing:.06em!important}
body.ctf-prize .header-inner nav a:hover,body.ctf-prize .header-inner nav button:hover{color:#f47777!important}
body.ctf-prize .eyebrow,body.ctf-screen-login .eyebrow{color:#f05252!important}
body.ctf-prize h1{font-family:"Fira Code",monospace!important;font-weight:500!important;letter-spacing:-.07em!important}
body.ctf-prize .title-top{font-size:clamp(2.8rem,5vw,4.5rem)!important}
body.ctf-prize .title-name{font-size:clamp(3.2rem,6vw,5.8rem)!important}
body.ctf-prize .lead{color:#99a1b0!important}
body.ctf-prize .lead strong{color:#e8ebf0!important}
body.ctf-prize .delivery-panel{background:#0e1015!important;border:1px solid #2b313d!important;border-radius:0!important;box-shadow:none!important}
body.ctf-prize .delivery-panel h2{font-weight:550!important}
body.ctf-prize .preview-notice,body.ctf-prize .winner-audio button{border-radius:0!important}
body.ctf-prize .preview-notice{background:#2b1213!important;border-color:#592d30!important;color:#f47777!important}
body.ctf-prize .winner-audio button{background:#14171d!important;border-color:#2b313d!important;color:#e8ebf0!important}
body.ctf-prize .winner-audio button:hover{border-color:#f05252!important}
body.ctf-screen-login .topbar .shell{min-height:66px!important}
body.ctf-screen-login main.shell{min-height:calc(100vh - 66px)!important}
body.ctf-screen-login h1{font-family:"Fira Code",monospace!important;font-size:clamp(2.7rem,5vw,4.9rem)!important;font-weight:500!important;letter-spacing:-.07em!important}
body.ctf-screen-login h1 span{color:#99a1b0!important}
body.ctf-screen-login .card{background:#0e1015!important;border:1px solid #2b313d!important;border-radius:0!important;box-shadow:none!important}
body.ctf-screen-login .card-head{border-bottom-color:#2b313d!important}
body.ctf-screen-login h2{font-weight:550!important}
body.ctf-screen-login input:not([type=hidden]){background:#08090c!important;border-color:#2b313d!important;border-radius:0!important;color:#e8ebf0!important}
body.ctf-screen-login input:focus-visible{border-color:#f05252!important;box-shadow:0 0 0 2px #f0525233!important}
body.ctf-screen-login button{background:#f05252!important;border-radius:0!important;color:#08090c!important;font:500 .76rem "Fira Code",monospace!important;text-transform:uppercase!important;letter-spacing:.05em!important}
body.ctf-screen-login button:hover{background:#ff6a6a!important}

/* Toasts and compact feedback */
.rossec-hint-toast{background:#14171d!important;border:1px solid #f05252!important;border-radius:0!important;box-shadow:0 18px 50px #0009!important;color:#e8ebf0!important}
.rossec-hint-toast small{color:#f05252!important;font-family:"Fira Code",monospace!important;font-weight:400!important}
.rossec-hint-toast p{color:#99a1b0!important}
.rossec-hint-toast a{color:#f47777!important}
@media(max-width:760px){main[role=main] .jumbotron{padding:2rem 0 1.5rem!important}body.ctf-box .card-row{grid-template-columns:1fr!important}body.ctf-ir .case-head{grid-template-columns:1fr!important}}
@media(max-width:560px){body.ctf-box .header-inner,body.ctf-ir .header-inner{flex-wrap:wrap!important}body.ctf-box .nav,body.ctf-ir .nav{width:100%!important;justify-content:space-between!important;gap:.4rem!important}body.ctf-box .card,body.ctf-ir .question{padding:1.1rem!important}body.ctf-ir .sample{grid-template-columns:1fr!important}body.ctf-ir .sample .button{width:100%!important}body.ctf-ir .question form{flex-direction:column!important}body.ctf-ir .question form button{width:100%!important}}
@media(max-width:450px){body.ctf-box .nav a:nth-child(2){display:inline!important}body.ctf-box .nav a,body.ctf-box .hint-sound-toggle,body.ctf-ir .nav a,body.ctf-ir .sound-toggle{font-size:.7rem!important}body.ctf-box .shutdown-dialog-actions{flex-direction:column-reverse}body.ctf-box .shutdown-dialog-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){main[role=main] .challenge-button,body.ctf-box .submit,body.ctf-ir .button{transition:none!important}}
