:root{--bg:#000;--bg-frame:#050304;--bg-card:#0b0708;--bg-card-alt:#0e090a;--bg-input:#000;--bg-sunken:#070405;--border:#6b1f29;--border-dim:#3d141a;--border-hair:#2a0e12;--card-bg:#0c0c0c;--card-bg-hover:#141414;--card-edge:#3a3a3a;--card-edge-hover:#8a8a8a;--edge:#ff2a3d;--red:#ff2a3d;--red-dim:#c41a2b;--red-soft:#ff8a94;--text:#ddd3d3;--text-bright:#fff5f5;--text-dim:#ab9d9e;--text-dimmer:#948688;--link:#ff5c6c;--link-visited:#e07aff;--green:#3dff6e;--amber:#ffc233;--flag-bg:#03120a;--amber-bg:#ffc23314;--subhead-bg:#16070a;--subhead-fg:#ff8a94;--titlebar:#9c1222;--titlebar-fg:#fff;--nav-idle:#ddd3d3;--tag-fg:#ddd3d3;--scrim:#000c;--date-glyph:invert(1);--me-bg:#1f080c;--glow:0 0 6px #ff2a3da6;--backdrop:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' shape-rendering='crispEdges'%3E%3Cg fill='%23fff'%3E%3Crect x='7' y='12' width='1' height='1' opacity='.7'/%3E%3Crect x='61' y='5' width='1' height='1' opacity='.4'/%3E%3Crect x='38' y='41' width='2' height='2' opacity='.8'/%3E%3Crect x='83' y='30' width='1' height='1' opacity='.6'/%3E%3Crect x='19' y='70' width='1' height='1' opacity='.5'/%3E%3Crect x='70' y='78' width='1' height='1' opacity='.8'/%3E%3Crect x='52' y='90' width='1' height='1' opacity='.35'/%3E%3C/g%3E%3Cg fill='%23ff2a3d'%3E%3Crect x='89' y='60' width='1' height='1' opacity='.9'/%3E%3Crect x='27' y='27' width='1' height='1' opacity='.6'/%3E%3Cpath d='M9 50h1v1H9zM8 51h3v1H8zM9 52h1v1H9z' opacity='.8'/%3E%3C/g%3E%3C/svg%3E"), radial-gradient(ellipse at top, #1a0509, #000 70%);--backdrop-size:96px 96px, 100% 100%;--shadow-edge:6px 6px 0 #000000bf;--shadow-slab:none;--shadow-ctrl:none}*{box-sizing:border-box}html{scrollbar-color:var(--card-edge) transparent}body{background-color:var(--bg);background-image:var(--backdrop);background-size:var(--backdrop-size);min-height:100vh;color:var(--text);background-attachment:fixed;margin:0;font-family:Space Mono,monospace;display:flow-root}a{color:var(--link)}a:visited{color:var(--link-visited)}a:hover{color:var(--red)}::selection{background:var(--red);color:#fff}:focus-visible{outline:2px dashed var(--red);outline-offset:2px}.heading{font-family:Space Mono,monospace;font-weight:700}.site{--site-gap:24px;max-width:1317px;min-height:calc(100vh - 2 * var(--site-gap));margin:var(--site-gap) auto;background:var(--bg-frame);border:1px solid var(--border);outline:1px solid var(--border-dim);outline-offset:4px;flex-direction:column;display:flex;position:relative}@media (width<=1377px){.site{--site-gap:12px;margin:var(--site-gap)}}@media (width<=640px){.site{--site-gap:0px;border:none;outline:none;margin:0}}.page{z-index:5;margin:0 auto;padding:28px 24px 36px;position:relative}@media (width<=640px){.page{padding:20px 16px 28px}}.page-note{border:1px dashed var(--border);background:var(--bg-sunken);max-width:100%;color:var(--text-dim);border-top:none;margin:-28px 0 0;padding:12px 12px 9px;font-size:14px;line-height:1.6;position:relative}.page-note-caret{color:var(--red);font-size:11px;font-weight:700;line-height:1;position:absolute;top:-3px;transform:translate(-50%)}@media (width<=640px){.page-note{margin-top:-20px}}.page-subtitle{color:var(--text-dimmer);letter-spacing:.08em;text-transform:lowercase;margin-top:16px;font-size:11px}.page-subtitle:before{content:"// ";color:var(--red)}.panel-head,.table-head{--text-bright:var(--titlebar-fg);--text:var(--titlebar-fg);--text-dim:#fffc;--text-dimmer:#fffc;--red:#ffd0d5;--glow:none}.site>main{flex:1}.site-header{border-bottom:1px solid var(--border)}.masthead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 28px;padding:22px 24px 16px;display:flex}.brand{min-width:0;color:var(--red);grid-template-columns:auto auto;align-items:center;column-gap:14px;text-decoration:none;display:grid}.brand:visited,.brand:hover{color:var(--red);background:0 0}.brand>div{display:contents}.brand-mark{width:auto;height:56px;image-rendering:pixelated;flex:none;grid-row:1;display:block;transform:translateY(9px)}.brand-ascii{color:var(--red);white-space:pre;grid-column:2;margin:0;font-family:Space Mono,monospace;font-size:clamp(8px,2.5vw,15px);line-height:1.12}.brand-tag{letter-spacing:.32em;color:var(--text-dim);grid-column:2;margin-top:8px;font-size:11px;display:block}.status-box{border:1px dashed var(--border);background:var(--bg-sunken);width:max-content;max-width:100%;color:var(--text);flex-direction:column;flex:none;gap:8px;padding:10px 12px;font-size:12px;line-height:1.5;text-decoration:none;display:flex}.status-box:visited{color:var(--text)}.status-box:hover,.status-box.active{border-color:var(--red);border-style:solid}.status-box:hover .status-prompt b{color:var(--red)}.status-prompt{color:var(--text-dimmer);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.status-prompt b{color:var(--text-bright)}.status-host{color:var(--text-dim)}.status-cmd{color:var(--text)}.status-dollar{color:var(--red);font-weight:700}.status-line{align-items:center;gap:12px;display:flex}.nav{border-top:1px solid var(--border-dim);flex-wrap:wrap;align-items:center;gap:6px 14px;padding:9px 24px;font-size:13px;display:flex}@media (width<=640px){.masthead,.nav{padding-left:16px;padding-right:16px}.brand-mark{display:none}.brand{grid-template-columns:0 auto;column-gap:0}}.navlink,.navlink:visited{color:var(--nav-idle);cursor:pointer;white-space:nowrap;text-decoration:none}.navlink:before{content:"[";color:var(--text-dimmer)}.navlink:after{content:"]";color:var(--text-dimmer)}.navlink:hover{color:var(--red);background:0 0;text-decoration:underline}.navlink.active,.navlink.active:visited{color:var(--red)}.navlink.active:before{content:"[>";color:var(--red)}.navlink.active:after{color:var(--red)}.points-pill{text-align:center;color:var(--text-bright);white-space:nowrap;flex:1;font-size:24px;font-weight:700;line-height:1}.points-unit{color:var(--text-dimmer);font-size:12px;font-weight:400}.avatar{background:var(--bg-card);border:1px solid var(--border);flex:none;width:44px;height:44px;display:block;overflow:hidden}.avatar-img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;display:block}.row-avatar{border:1px solid var(--border);background:var(--bg-card);flex:none;width:24px;height:24px;overflow:hidden}.site-footer{border-top:1px solid var(--border);text-align:center;color:var(--text-dim);padding:20px 24px 24px;font-size:11px;line-height:1.8}.badges{flex-wrap:wrap;justify-content:center;gap:8px;max-width:820px;margin-bottom:14px;margin-left:auto;margin-right:auto;display:flex}.b88,.b88-img{zoom:1.4}@media (width<=640px){.b88,.b88-img{zoom:1}.badges{gap:4px}}.b88-img{flex:none;width:88px;height:31px;display:block}.b88-img img{image-rendering:pixelated;display:block}a.b88-img:hover{outline:1px solid var(--red);outline-offset:1px}.b88{--face:#1a1a1a;--ink:#e6e6e6;--cell:#0a0a0a;--cell-ink:var(--red);box-sizing:border-box;background:var(--face);width:88px;height:31px;color:var(--ink);image-rendering:pixelated;-webkit-font-smoothing:none;border:1px solid #000;flex:none;font-family:Silkscreen,Space Mono,monospace;font-size:8px;line-height:1;text-decoration:none;display:flex;position:relative;overflow:hidden;box-shadow:inset 1px 1px #ffffff59,inset -1px -1px #0009}.b88:visited,.b88:hover{color:var(--ink)}.b88:hover{outline:1px solid var(--red);outline-offset:1px}.b88-icon{background:var(--cell);width:25px;color:var(--cell-ink);flex:none;justify-content:center;align-items:center;margin:2px 0 2px 2px;font-size:8px;display:flex;box-shadow:inset 1px 1px #0009}.b88-icon img{width:auto;height:19px;image-rendering:pixelated}.b88-text{white-space:nowrap;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:0 2px;display:flex}.b88-red{--face:#9c1222;--ink:#fff}.b88-dark{--face:#141414;--cell-ink:#e6e6e6}.b88-grey{--face:#3a3a3a;--cell:#1a1a1a;--cell-ink:#bbb}.b88-green{--face:#0c2a14;--ink:#9ff2b4;--cell:#04120a;--cell-ink:#3dff6e}.avatar-picker{flex-direction:column;align-items:center;gap:10px;display:flex}.avatar-edit{border:1px solid var(--edge);cursor:pointer;background:var(--red);width:76px;height:76px;box-shadow:var(--shadow-ctrl);flex:none;padding:0;position:relative;overflow:hidden}.avatar-edit:disabled{cursor:progress}.avatar-edit-img{object-fit:cover;width:100%;height:100%;display:block}.avatar-edit-overlay{letter-spacing:.1em;text-transform:lowercase;color:#fff;opacity:0;background:#0d0b0cb8;justify-content:center;align-items:center;font-size:10px;font-weight:700;transition:opacity .12s;display:flex;position:absolute;inset:0}.avatar-edit:hover .avatar-edit-overlay,.avatar-edit:focus-visible .avatar-edit-overlay,.avatar-edit:disabled .avatar-edit-overlay{opacity:1}@media (prefers-reduced-motion:reduce){.avatar-edit-overlay{transition:none}}.avatar-remove{color:var(--text-dimmer);letter-spacing:.08em;text-transform:lowercase;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:10px;font-weight:700;text-decoration:underline}.avatar-remove:hover{color:var(--red)}.avatar-status{color:var(--text-dimmer);text-align:center;max-width:150px;font-size:11px;line-height:1.4}.avatar-status-error{color:var(--red)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{letter-spacing:.04em;text-transform:lowercase;cursor:pointer;border:1px solid var(--red);background:var(--bg);color:var(--red);box-shadow:none;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-family:Space Mono,monospace;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:translate(1px,1px)}.btn:hover:not(:disabled){border-color:var(--red);background:var(--red);color:#000;box-shadow:var(--glow)}.btn-outline{border-color:var(--border);color:var(--text)}.btn-small{padding:3px 8px;font-size:11px}.btn-small:active:not(:disabled){transform:translate(1px,1px)}.btn:before{content:"["}.btn:after{content:"]"}.tier-tabs,.admin-tabs{flex-wrap:wrap;gap:0;display:flex}.admin-tabs{margin-top:22px}.pill{letter-spacing:.03em;text-transform:lowercase;cursor:pointer;border:1px solid var(--border);color:var(--text-dim);background:var(--bg);padding:4px 10px;font-family:Space Mono,monospace;font-size:12px;font-weight:700}.tier-tabs .pill+.pill,.admin-tabs .pill+.pill{margin-left:-1px}.pill:hover:not(:disabled):not(.active){color:var(--red)}.pill.active{background:var(--red);color:#000;border-color:var(--red);z-index:1;position:relative}.admin-tabs .pill,.admin-tabs .pill:hover{text-decoration:none}.admin-badge{letter-spacing:.06em;text-transform:lowercase;color:var(--red);border:1px dashed var(--red);padding:2px 8px;font-size:11px;font-weight:700}.grid{gap:22px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (width<=900px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.category-section+.category-section-split{margin-top:32px}.category-heading:before{content:"::";color:var(--text-dimmer)}.category-heading{align-items:center;gap:10px;margin-bottom:16px;display:flex}.category-heading-name{letter-spacing:.04em;color:var(--red);font-family:Space Mono,monospace;font-size:15px;font-weight:700}.card{border:1px solid var(--card-edge);background:var(--card-bg);padding:14px}.card.solved{border-color:var(--green);border-style:dashed}.card:hover{border-color:var(--card-edge-hover);background:var(--card-bg-hover)}.ascii-frame,.ascii-frame.solved{--rule-color:var(--card-edge-hover);background:0 0;border:none;flex-direction:column;min-width:0;padding:0;display:flex;position:relative}.ascii-frame,.ascii-frame.rank-silver{--r-tl-plain:"|=";--r-tr-plain:"=|";--r-tl:"|=--=[ ";--r-name-end:" ]=";--r-fill:"------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------";--r-fill-hover:"=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";--r-points-open:"=( ";--r-points-close:" )=";--r-tr:"|";--r-bl:"|=";--r-br:"=|";--r-side:var(--gen-pipes)}.ascii-frame.rank-bronze{--r-tl-plain:"+-";--r-tr-plain:"-+";--r-tl:"+----[ ";--r-name-end:" ]-";--r-fill:"------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------";--r-fill-hover:"- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ";--r-points-open:"-( ";--r-points-close:" )-";--r-tr:"+";--r-bl:"+-";--r-br:"-+";--r-side:var(--gen-pipes)}.ascii-frame.rank-gold{--r-tl-plain:"/=";--r-tr-plain:"=\\";--r-tl:"/=-=:[ ";--r-name-end:" ]:=";--r-fill:"================================================================================================================================================================================================================================================";--r-fill-hover:"=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:";--r-points-open:":( ";--r-points-close:" ):=";--r-tr:"\\";--r-bl:"\\=";--r-br:"=/";--r-side:var(--gen-pipes)}.ascii-frame.rank-juicer{--r-tl-plain:"╔═♦══";--r-tr-plain:"══♦═╗";--rule-color:var(--text-bright);--r-tl:"╔═♦══╡ ";--r-name-end:" ╞═";--r-fill:"════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════";--r-fill-hover:"♦═══════════════♦═══════════════♦═══════════════♦═══════════════♦═══════════════♦═══════════════♦═══════════════♦═══════════════♦═══════════════♦═══════════════♦═══════════════♦═══════════════♦═══════════════♦═══════════════♦═══════════════♦═══════════════♦═══════════════♦═══════════════♦═══════════════♦═══════════════";--r-points-open:"╡ ";--r-points-close:" ╞";--r-tr:"══♦═╗";--r-fill-bottom:"════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════";--r-bl:"╚═♦══";--r-br:"══♦═╝";--r-side:var(--gen-juicer-side-0)}.ascii-frame.rank-juicer.solved{--rule-color:var(--green)}.ascii-frame.rank-juicer.interactive:hover{--rule-color:var(--red)}.ascii-frame.rank-juicer .rule,.ascii-frame.rank-juicer:before,.ascii-frame.rank-juicer:after,.ascii-frame.rank-juicer .rule .card-points:before,.ascii-frame.rank-juicer .rule .card-points:after{font-family:Noto Sans Mono,monospace}.ascii-frame.rank-juicer:before,.ascii-frame.rank-juicer:after{opacity:.7;line-height:1}.ascii-frame.writeup.rank-bronze{--r-tl:"+----{ ";--r-name-end:" }-"}.ascii-frame.writeup,.ascii-frame.writeup.rank-silver{--r-tl:"|=--={ ";--r-name-end:" }="}.ascii-frame.writeup.rank-gold{--r-tl:"/=-=:{ ";--r-name-end:" }:="}.ascii-frame.writeup.rank-juicer{--r-tl:"╔═♦══┤ ";--r-name-end:" ├═";--r-points-open:"┤ ";--r-points-close:" ├"}.ascii-frame.rank-deck{--r-tl-plain:"|~";--r-tr-plain:"~|";--r-tl:"|~";--r-name-end:"";--r-fill:"~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-";--r-fill-hover:"-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~";--r-points-open:"~( ";--r-points-close:" )~";--r-tr:"~|";--r-bl:"|~";--r-br:"~|";--r-side:var(--gen-pipes)}.ascii-frame.untitled .rule-top .rule-fill:before{content:none}.ascii-frame.untitled .rule-top:before{content:var(--r-tl-plain)}.ascii-frame.untitled .rule-top:after{content:var(--r-tr-plain)}.deck-title{color:var(--text-dim);padding-top:6px;font-size:15px;font-weight:700}.deck-title .deck-link,.deck-title .deck-link:visited{color:#fff}.deck-title .deck-link:hover{color:var(--red)}.home-frame{max-width:860px;margin:0 auto}.home-frame .frame-body{padding:20px 28px 16px}.profile-grid,.profile-section{margin-top:26px}.profile .frame-body{padding:12px 22px 10px}.profile-id-body{flex-wrap:wrap;align-items:center;gap:28px;display:flex}.profile-facts{flex:1;grid-template-columns:max-content 1fr;gap:4px 18px;margin:0;font-size:13px;display:grid}.profile-facts dt{color:var(--text-dimmer)}.profile-facts dt:after{content:":"}.profile-facts dd{color:var(--text-bright);margin:0;font-weight:700}.profile-bars{color:var(--text);margin:0;font-family:Space Mono,monospace;font-size:12px;line-height:1.9;overflow-x:auto}.profile-writeups{flex-direction:column;gap:12px;display:flex}.profile-empty{padding:6px 0}.profile-log{border-collapse:collapse;width:100%;font-size:12px}.profile-log td{border-bottom:1px dashed var(--border-dim);vertical-align:baseline;padding:6px 12px 6px 0}.profile-log tr:last-child td{border-bottom:none}.profile-log-date,.profile-log-cat{color:var(--text-dimmer);white-space:nowrap}.profile-log-name{width:100%;color:var(--text-bright)}.profile-log-blood{color:var(--text-dim)}.profile-log-points{text-align:right;color:var(--green);white-space:nowrap;padding-right:0;font-weight:700}.profile-token .token-panel{box-shadow:none;background:0 0;border:none;margin:0;padding:0}.profile-token .token-head .field-label{visibility:hidden}.scoreboard-frame{margin-top:30px}.scoreboard-frame .frame-body{padding:12px 20px 10px}.scoreboard-frame .table{background:0 0;border:none}.scoreboard-frame .table-head{color:var(--text-dimmer);border-bottom:1px solid var(--border);background:0 0}.auth-page{justify-content:center;padding-top:70px;padding-bottom:110px;display:flex}.auth-frame .frame-body{padding:22px 30px 18px}.deck-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:4px 0;display:flex}.deck-meta{color:var(--text-dim);font-size:12px}.deck-actions{gap:8px;display:flex}.deck-link,.deck-link:visited{color:inherit;text-decoration:none}.deck-link:hover{color:var(--red);text-decoration:underline}.deck-video{width:100%;margin:10px 0 4px;display:block}.writeup-card.empty{opacity:.72}.chall-card.writeup-card .card-desc{flex:none;height:3em;overflow:hidden}.wu-author{color:var(--text);font-weight:700}.ascii-frame.rank-juicer .rule-top:before{margin-right:1px}.ascii-frame.rank-juicer .frame-body{padding-left:40px;padding-right:40px}.ascii-frame.rank-juicer .frame-flourish.left:before,.ascii-frame.rank-juicer .frame-flourish.right:before{white-space:pre;color:var(--rule-color);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.8;font-family:Noto Sans Mono,monospace;font-size:13px;line-height:1.1;position:absolute;bottom:1.2em}.ascii-frame.rank-juicer .frame-flourish.left:before{content:"◊\a ╰─♦";left:1ch}.ascii-frame.rank-juicer .frame-flourish.right:before{content:"  ◊\a ♦─╯";right:1ch}.ascii-frame.rank-juicer.interactive:hover .frame-flourish.left:before{animation:.7s step-end infinite juicer-twinkle-l}.ascii-frame.rank-juicer.interactive:hover .frame-flourish.right:before{animation:.7s step-end infinite juicer-twinkle-r}.ascii-frame.rank-juicer.interactive:hover:before,.ascii-frame.rank-juicer.interactive:hover:after{animation:.45s step-end infinite juicer-studs}.ascii-frame.rank-juicer.interactive:hover:after{animation-direction:reverse}.ascii-frame.rank-juicer.interactive:hover .rule-bottom .rule-fill:after{content:var(--r-fill-hover);animation:1.2s steps(16,end) infinite reverse rule-spark}@keyframes juicer-twinkle-l{50%{content:"♦\a ╰─◊"}}@keyframes juicer-twinkle-r{50%{content:"  ♦\a ◊─╯"}}@keyframes juicer-studs{0%{content:var(--gen-juicer-side-0)}33%{content:var(--gen-juicer-side-2)}66%{content:var(--gen-juicer-side-1)}}.ascii-frame.rank-juicer .rule-bottom{position:relative}.ascii-frame.rank-juicer .rule-bottom .rule-fill:before{content:"╡♦◊♦╞";z-index:1;background:linear-gradient(var(--frame-fill,var(--bg-frame)) 50%, var(--bg-frame) 50%);position:absolute;left:50%;transform:translate(-50%)}.ascii-frame.rank-juicer.interactive:hover .rule-top .rule-fill:after{animation:1.2s steps(16,end) infinite rule-spark}@keyframes rule-spark{to{transform:translate(-16ch)}}.ascii-frame:before,.ascii-frame:after{content:var(--r-side);white-space:pre;width:1ch;color:var(--rule-color);opacity:.35;pointer-events:none;-webkit-user-select:none;user-select:none;line-height:1.15;position:absolute;top:1.3em;bottom:1.3em;overflow:hidden}.ascii-frame:before{left:0}.ascii-frame:after{content:var(--r-side-right,var(--r-side));right:0}.chall-card .card-desc{flex:1}.ascii-frame{cursor:default}.ascii-frame.interactive{cursor:pointer}.frame-body{z-index:1;flex-direction:column;flex:1;min-height:0;padding:0 16px 0 22px;display:flex;position:relative}.chall-card .card-desc-markdown{height:4.5em}.ascii-frame.chall-card,.ascii-frame.deck-card{--frame-fill:#141414;--fill-top:12.5px;--fill-bottom:10.5px;--fill-side:4px;background:linear-gradient(var(--frame-fill), var(--frame-fill)) no-repeat var(--fill-side) var(--fill-top) / calc(100% - 2 * var(--fill-side)) calc(100% - var(--fill-top) - var(--fill-bottom))}.chall-card .card-desc.compact{color:#cbc1c2}.chall-card .card-meta,.chall-card .card-meta.blood{color:var(--text-dim)}.chall-card .card-hover-meta,.chall-card .card-meta.blood{visibility:hidden}.chall-card:hover .card-hover-meta,.chall-card:hover .card-meta.blood{visibility:visible}.chall-card .tag-box:not(.accent){color:#cbc1c2;border-color:#555}.ascii-frame.deck-card{--fill-top:10.5px;--fill-bottom:10.5px}.deck-meta{color:var(--text)}.ascii-frame.chall-card.rank-juicer{--fill-top:12px;--fill-bottom:9px}.ascii-frame.chall-card:hover{--frame-fill:#1a1a1a}.chall-card .card-stats{flex-wrap:nowrap;min-width:0;min-height:20px;margin:6px 0}.ascii-frame:before,.ascii-frame:after,.rule,.rule .card-points:before,.rule .card-points:after{font-family:Courier New,Menlo,Consolas,DejaVu Sans Mono,Liberation Mono,monospace;font-size:13px}.rule{min-width:0;color:var(--rule-color);-webkit-user-select:none;user-select:none;align-items:baseline;line-height:1.4;display:flex}.rule:before,.rule:after,.rule-fill:before,.rule-fill:after{white-space:pre;pointer-events:none;flex:none}.rule-top:before{content:var(--r-tl)}.rule-top:after{content:var(--r-tr)}.rule-bottom{margin-top:6px}.rule-bottom:before{content:var(--r-bl)}.rule-bottom:after{content:var(--r-br)}.rule-fill{flex:1;width:0;min-width:4ch;display:flex;overflow:hidden}.rule-top .rule-fill:before{content:var(--r-name-end);z-index:1;background:linear-gradient(var(--bg-frame) var(--fill-split,100%), var(--frame-fill,var(--bg-frame)) var(--fill-split,100%));position:relative}.ascii-frame.chall-card .rule-top{--fill-split:50%}.rule-fill:after{content:var(--r-fill)}.rule-bottom .rule-fill:after{content:var(--r-fill-bottom,var(--r-fill))}.rule .card-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;margin:0;font-family:Space Mono,monospace;font-size:15px;overflow:hidden}.rule .card-points{color:var(--text-bright);flex:none;font-family:Space Mono,monospace;font-size:14px;font-weight:700;line-height:1}.rule .card-points.solved{color:var(--green)}.rule .card-points:before{content:var(--r-points-open)}.rule .card-points:after{content:var(--r-points-close)}.rule .card-points:before,.rule .card-points:after{color:var(--rule-color);white-space:pre;font-weight:400}.ascii-frame.solved{--rule-color:var(--green)}.ascii-frame.interactive:hover{--rule-color:var(--red)}.ascii-frame.interactive:hover .rule-fill:after{content:var(--r-fill-hover);animation:.4s step-end infinite rule-march}@keyframes rule-march{50%{transform:translate(-1ch)}}@media (prefers-reduced-motion:reduce){.ascii-frame.interactive:hover .rule-fill:after,.ascii-frame.rank-juicer.interactive:hover .rule-top .rule-fill:after,.ascii-frame.rank-juicer.interactive:hover .rule-bottom .rule-fill:after,.ascii-frame.rank-juicer.interactive:hover:before,.ascii-frame.rank-juicer.interactive:hover:after,.ascii-frame.rank-juicer.interactive:hover .frame-flourish.left:before,.ascii-frame.rank-juicer.interactive:hover .frame-flourish.right:before{animation:none}}.tag-box{border:1px solid var(--card-edge);color:var(--text-dim);padding:0 6px;font-size:11px;font-weight:700;display:inline-block}.tag-box.accent{border-color:var(--green);color:var(--green)}.card-solved{color:var(--green);white-space:nowrap;font-size:11px;font-weight:700}.card-name{color:var(--text-bright);margin-bottom:8px;font-size:17px;font-weight:700}.card-desc{color:var(--text);min-height:40px;font-size:12px;line-height:1.5}.card-desc.compact{min-height:0;color:var(--text-dim)}.card-desc.compact :is(a,code,strong,em){color:inherit;font-weight:inherit;background:0 0;border:none;padding:0;text-decoration:none}.chall-card .card-meta.blood{color:var(--text-dim)}.card-stats{flex-wrap:wrap;align-items:center;gap:4px 12px;margin-bottom:8px;display:flex}.card-stats-end{align-items:center;gap:12px;min-width:0;margin-left:auto;display:flex}.chall-card .card-stats>.tag-box,.card-stats-end>:not(.blood){flex:none}.card-stats-end>.blood{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.card-points{color:var(--text-bright);font-family:Space Mono,monospace;font-size:26px;font-weight:700;line-height:1}.card-points.solved{color:var(--green)}.card-meta{color:var(--text-dimmer);align-items:center;gap:12px;font-size:11px;font-weight:700;display:flex}.card-meta .blood,.card-meta.blood{color:var(--red)}.stat-tile{border:1px solid var(--border);background:var(--bg-card);padding:16px}.stat-tile .value{color:var(--red);font-family:Space Mono,monospace;font-size:28px;font-weight:700;line-height:1}.stat-tile .label{letter-spacing:.1em;text-transform:lowercase;color:var(--text-dimmer);margin-top:10px;font-size:10px;font-weight:700}.mono-dim{color:var(--text-dimmer);font-size:12px}.center{text-align:center}.loading,.error-text,.empty-text{text-align:center;color:var(--text-dimmer);padding:40px;font-size:13px}.error-text{color:var(--red)}.panel{border:1px solid var(--border);background:var(--bg-card)}.panel-head{background:var(--titlebar);color:var(--titlebar-fg);letter-spacing:.04em;text-transform:lowercase;justify-content:space-between;align-items:center;gap:12px;padding:4px 10px;font-size:12px;font-weight:700;display:flex}.panel-row{border-bottom:1px dashed var(--border-dim);padding:14px 16px}.panel-row:last-child{border-bottom:none}.table{border:1px solid var(--border);background:var(--bg-card);overflow:hidden}.table-row{border-bottom:1px dashed var(--border-dim);grid-template-columns:70px 1.6fr .9fr .7fr;align-items:center;padding:8px 12px;font-size:13px;display:grid}.table-row:last-child{border-bottom:none}.table-head{letter-spacing:.04em;text-transform:lowercase;color:var(--titlebar-fg);background:var(--titlebar);border-bottom:1px solid var(--border);font-size:12px;font-weight:700}.table-row.me{background:var(--me-bg);box-shadow:inset 3px 0 0 var(--red)}.rank{color:var(--text-dim);font-family:Space Mono,monospace;font-size:16px;font-weight:700;line-height:1}.rank.lead,.table-row.me .rank{color:var(--red)}.table-row:hover:not(.table-head){background:var(--me-bg)}.table-row.table-challs{grid-template-columns:minmax(0,1.25fr) minmax(0,.65fr) minmax(0,.5fr) minmax(0,.5fr) minmax(0,1.6fr) minmax(0,1fr) minmax(0,.45fr) minmax(0,.95fr);align-items:start;gap:14px}@media (width<=1200px){.table:has(.table-challs){overflow-x:auto}.table-row.table-challs{min-width:1180px}}.table-row.table-teams{grid-template-columns:minmax(0,1.3fr) minmax(0,1.25fr) minmax(0,.6fr) minmax(0,1.5fr) minmax(0,.45fr) minmax(0,.45fr) minmax(0,.45fr) minmax(0,.7fr);align-items:center;gap:14px}@media (width<=1200px){.table:has(.table-teams){overflow-x:auto}.table-row.table-teams{min-width:1080px}}.table-row.table-challs.table-head,.table-row.table-teams.table-head,.table-row.table-subs.table-head{background:var(--subhead-bg);color:var(--subhead-fg);font-size:10px}.admin-team{align-items:center;gap:10px;min-width:0;display:flex}.admin-team-name{overflow-wrap:anywhere;flex-direction:column;min-width:0;font-weight:700;display:flex}.admin-team-id{color:var(--text-dimmer);overflow-wrap:anywhere;margin-top:4px;font-size:11px;font-weight:400}.admin-team-email{color:var(--text-dim);overflow-wrap:anywhere;font-size:12px}.admin-solves{white-space:nowrap}.admin-solves-total{color:var(--text-dimmer);font-size:11px}.admin-hidden,.admin-ban{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.hide-challenge,.ban-team,.change-tag,.change-score,.view-submissions,.revoke-solve{border:1px solid var(--border);color:var(--text-dim);letter-spacing:.08em;text-transform:lowercase;cursor:pointer;background:0 0;padding:2px 7px;font-family:inherit;font-size:10px;font-weight:700;line-height:1.6}.hide-challenge:hover:not(:disabled),.ban-team:hover:not(:disabled),.change-tag:hover:not(:disabled),.change-score:hover:not(:disabled),.change-division:hover:not(:disabled),.release-challenge:hover:not(:disabled),.view-submissions:hover:not(:disabled),.revoke-solve:hover:not(:disabled){border-color:var(--red);background:var(--red);color:#fff}.hide-challenge:disabled,.ban-team:disabled,.change-tag:disabled,.change-score:disabled,.change-division:disabled,.release-challenge:disabled,.view-submissions:disabled,.revoke-solve:disabled{cursor:not-allowed;opacity:.55}.ban-team.banned,.hide-challenge.hidden{color:var(--red)}.revoke-solve{color:var(--red);justify-content:center;align-items:center;padding:3px;display:inline-flex}.revoke-solve svg{display:block}.table-row.table-challs:not(.table-head){row-gap:8px}.table-row.table-challs:not(.table-head)>:nth-child(5){grid-area:2/5}.table-row.table-challs:not(.table-head)>:nth-child(6){grid-area:1/5}.table-row.table-challs:not(.table-head)>:nth-child(7){grid-area:1/6}.table-row.table-challs:not(.table-head)>:nth-child(8){grid-area:1/7}.table-row.table-challs:not(.table-head)>:nth-child(9){grid-area:1/8}.table-challs>:nth-child(5) .hide-challenge{white-space:nowrap}.table-challs>:nth-child(5) .hide-challenge:hover:not(:disabled){border-color:var(--green);background:var(--green);color:#fff}.table-challs>:nth-child(5)>form{align-self:stretch;margin:0}.table-challs>:nth-child(5) input{border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--green);padding:5px 8px;font-family:Space Mono,monospace;font-size:12px;line-height:1.5}.table-challs>:nth-child(5) input::placeholder{color:var(--text-dimmer)}.table-challs>:nth-child(5) input:focus{border-color:var(--green);outline:none}.admin-chall-id{color:var(--text-dimmer);overflow-wrap:anywhere;margin-top:4px;font-size:11px;font-weight:400;display:block}.admin-cell-empty{color:var(--text-dimmer)}.admin-flags{flex-direction:column;gap:6px;min-width:0;display:flex}.admin-flag{color:var(--green);background:var(--flag-bg);border:2px solid var(--green);overflow-wrap:anywhere;padding:4px 8px;font-family:Space Mono,monospace;font-size:12px}.admin-flag-computed{color:var(--text-dimmer);background:var(--bg-input);border-color:var(--border);font-style:italic}.admin-flag-secret{text-align:left;cursor:pointer;width:100%;line-height:1.5;display:block}.admin-flag-secret:hover{background:var(--green);color:#fff}.admin-flag-secret code{font-family:inherit;font-size:inherit;color:inherit}.admin-tags{flex-wrap:wrap;gap:6px;display:flex}.chip-tag{border-width:2px;padding:1px 7px;font-size:10px}.admin-release-pending{letter-spacing:.08em;color:var(--text-dimmer);margin-top:4px;font-size:10px;display:block}.admin-release{min-width:0;display:block}.admin-release-state{overflow-wrap:anywhere;color:var(--text-dim);display:block}.admin-release-state.scheduled{color:var(--amber)}.admin-division{min-width:0;color:var(--text-dim)}.change-division,.release-challenge{text-align:left;border:1px solid var(--border);color:var(--text-dim);font-family:inherit;font-size:inherit;cursor:pointer;overflow-wrap:anywhere;background:0 0;padding:3px 7px;display:inline-block}.change-division:hover:not(:disabled) *,.release-challenge:hover:not(:disabled) *{color:#fff}.division-options{flex-direction:column;gap:8px;margin-top:18px;display:flex}.division-option{border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--text);text-align:left;cursor:pointer;align-items:baseline;gap:10px;padding:10px 12px;font-family:inherit;font-size:13px;display:flex}.division-option:hover:not(:disabled),.division-option:focus-visible{border-color:var(--red);background:var(--me-bg)}.division-option.current,.division-option:disabled{cursor:default;border-color:var(--border);color:var(--text-dim);background:0 0}.division-name{color:inherit;font-weight:700}.division-key{color:var(--text-dimmer);font-size:11px}.division-current{color:var(--text-dimmer);letter-spacing:.08em;margin-left:auto;font-size:10px;font-weight:700}.division-orphan{border:1px solid var(--amber);background:var(--amber-bg);color:var(--amber);margin-top:16px;padding:10px 12px;font-size:12px;line-height:1.6}.division-orphan .division-key{color:var(--amber)}.admin-points{align-items:flex-start;min-width:0;display:flex}.admin-points-static{color:var(--text-dim)}.change-score{white-space:nowrap}.points-form{margin:0}.points-fields{align-items:flex-end;gap:10px;margin-top:18px;display:flex}.points-field{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.points-label{color:var(--text-dimmer);letter-spacing:.08em;text-transform:lowercase;font-size:10px;font-weight:700}.points-input{border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--text);text-align:center;padding:11px 12px;font-family:Space Mono,monospace;font-size:15px}.points-input:focus{border-color:var(--amber);outline:none}.points-input::placeholder{color:var(--text-dimmer)}.points-arrow{color:var(--text-dimmer);padding-bottom:13px;font-size:13px}.points-preview{color:var(--text-dim);margin-top:14px;font-size:12px;line-height:1.6}.points-key{color:var(--text-bright);font-family:Space Mono,monospace}.points-key-next{color:var(--amber)}.schedule-input{border:1px solid var(--border);width:100%;color:var(--text);background:var(--bg-input);padding:11px 12px;font-family:Space Mono,monospace;font-size:13px}.schedule-input:focus{border-color:var(--red);outline:none}.schedule-input::-webkit-calendar-picker-indicator{filter:var(--date-glyph);opacity:.55;cursor:pointer}.schedule-input::-webkit-calendar-picker-indicator:hover{opacity:1}.schedule-preview{color:var(--text-dim);min-height:34px;margin-top:14px;font-size:12px;line-height:1.6}.schedule-note{color:var(--amber);margin-top:4px;display:block}.matrix-scroll{border:1px solid var(--border);background:var(--bg-card);overflow-x:auto}.matrix{border-collapse:separate;border-spacing:0;font-size:12px}.matrix-team{z-index:1;background:var(--bg-card-alt);border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;width:220px;min-width:220px;height:34px;padding:0 14px;font-weight:400;position:sticky;left:0}.matrix-team-inner{align-items:center;gap:10px;display:flex}.matrix-team-rank{width:26px;color:var(--text-dimmer);flex-shrink:0;font-size:11px}.matrix-team-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:1;overflow:hidden}.matrix-team-score{color:var(--red);flex-shrink:0;font-size:11px;font-weight:700}.matrix tr.me .matrix-team{background:var(--me-bg);box-shadow:inset 4px 0 0 var(--red)}.matrix tbody tr:hover .matrix-team,.matrix tr.me .matrix-cell{background:var(--me-bg)}.matrix-corner{z-index:2;border-bottom:none;height:auto}.matrix-corner-label{letter-spacing:.1em;text-transform:lowercase;color:var(--text-dimmer);font-size:10px;font-weight:700}.matrix-chall,.matrix-points,.matrix-cell{text-align:center;width:44px;min-width:44px}.group-start{border-left:1px solid var(--border)}.matrix-chall.group-start,.matrix-points.group-start{border-left:none}.matrix-chall{vertical-align:bottom;height:120px;padding:0;font-weight:400;position:relative}.matrix-chall-name{transform-origin:0;white-space:nowrap;letter-spacing:.02em;font-size:11px;position:absolute;bottom:8px;left:50%;transform:rotate(-45deg)}.matrix-points{height:26px;color:var(--text-dim);padding:0;font-size:11px;font-weight:400}.matrix-cat{white-space:nowrap;height:30px;padding:0 10px;font-family:Space Mono,monospace;font-size:11px;font-weight:700;overflow:hidden}.matrix-cat-label{text-overflow:ellipsis;display:block;overflow:hidden}.matrix-cell{border-bottom:1px solid var(--border);height:34px;padding:0}.matrix-dot{border:1px solid var(--border);vertical-align:middle;width:11px;height:11px;display:inline-block}.matrix-flag{color:var(--text-bright);vertical-align:middle;display:inline-block}.matrix-flag.first{color:var(--red)}.matrix-tail{width:96px;min-width:96px;padding:0}.field{margin-bottom:14px}.field-label:before{content:"> ";color:var(--red)}.field-label{letter-spacing:.04em;text-transform:lowercase;color:var(--text-dim);margin-bottom:6px;font-size:11px;font-weight:700}.field input,.field textarea{border:1px solid var(--border);width:100%;color:var(--text);background:var(--bg-input);padding:8px 10px;font-family:Space Mono,monospace;font-size:13px}.field textarea{resize:vertical;min-height:90px}.field input::placeholder,.field textarea::placeholder{color:var(--text-dimmer)}.field input:focus,.field textarea:focus{border-color:var(--red);box-shadow:var(--glow);outline:none}.modal-backdrop{z-index:60;background:var(--scrim);justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.challenge-modal-backdrop{padding:80px 40px 40px}.modal{border:1px solid var(--border);outline:1px dashed var(--border-dim);outline-offset:4px;background:var(--bg-frame);width:560px;max-width:100%;box-shadow:var(--shadow-edge)}.challenge-modal{flex-direction:column;width:720px;max-height:calc(100vh - 120px);display:flex}.modal-header{border-bottom:1px dashed var(--border);justify-content:flex-start;align-items:center;gap:10px;padding:10px 12px 10px 16px;font-size:13px;font-weight:700;display:flex}.modal-header:before{content:"::";color:var(--red)}.modal-header>.modal-close{margin-left:auto}.modal-body{padding:20px}.challenge-modal .modal-body{min-height:0;overflow-y:auto}.modal-frame{--modal-zoom:1.25;max-width:calc(100% / var(--modal-zoom));max-height:calc((100vh - 120px) / var(--modal-zoom));zoom:var(--modal-zoom);display:flex}@media (width<=700px){.modal-frame{--modal-zoom:1}}.modal-frame.challenge-modal{width:720px}.modal-frame.writeup-modal{width:860px}.modal-frame>.ascii-frame{background:var(--bg-frame);min-width:0;box-shadow:var(--shadow-edge);flex:1}.modal-frame .frame-body{padding-bottom:4px}.modal-frame .modal-body{flex:1;min-height:0;padding:16px 0 12px;overflow:hidden auto}.modal-frame.writeup-modal .modal-body{max-height:min(calc(70vh / var(--modal-zoom)), 720px)}.modal-meta{color:var(--text-dim);margin-top:4px;font-size:11px}.frame-close{font:inherit;color:var(--rule-color);cursor:pointer;background:0 0;border:none;flex:none;margin:0 .5ch;padding:0}.frame-close:before{content:"["}.frame-close:after{content:"]"}.frame-close:hover{color:var(--red)}@media (width<=700px){.challenge-modal-backdrop{padding:72px 16px 16px}.challenge-modal{max-height:calc(100vh - 88px)}}.modal-views{position:relative}.modal-view-hidden{visibility:hidden}.modal-view-overlay{padding-right:12px;position:absolute;inset:0;overflow:hidden auto}.modal-wide{width:860px}.modal-wide .modal-body{max-height:min(70vh,720px);overflow-y:auto}.modal-confirm{width:440px}.modal .btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.modal-close{font:inherit;color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-size:0;font-weight:400}.modal-close:before{content:"[x]";font-size:13px}.modal-close:hover:not(:disabled){color:var(--red)}.modal-close:disabled{cursor:not-allowed;opacity:.5}.modal-subs{flex-direction:column;width:min(1180px,100%);max-height:100%;display:flex}.sub-body{flex:1;min-height:0;padding-top:16px;overflow-y:auto}.sub-team{align-items:center;gap:10px;min-width:0;display:flex}.sub-team-name{overflow-wrap:anywhere;flex-direction:column;min-width:0;font-weight:700;display:flex}.sub-facts{flex-wrap:wrap;align-items:center;gap:8px;padding:16px 22px 0;display:flex}.sub-facts-spacer{flex:1}.sub-facts-count{letter-spacing:.08em;text-transform:lowercase;color:var(--text-dimmer);white-space:nowrap;font-size:10px;font-weight:700}.sub-chip-alarm{color:var(--red);border-color:var(--red)}.sub-controls{flex-wrap:wrap;align-items:center;gap:10px;padding:16px 22px 0;display:flex}.sub-pills{flex-wrap:wrap;gap:0;display:flex}.sub-pills .pill+.pill{margin-left:-2px}.pill-small{letter-spacing:.04em;border-width:2px;padding:5px 11px;font-size:10px}.sub-search{border:1px solid var(--border);background:var(--bg-input);min-width:180px;color:var(--text);flex:1;padding:6px 9px;font-family:Space Mono,monospace;font-size:11px}.sub-search::placeholder{color:var(--text-dimmer)}.sub-search:focus{border-color:var(--red);outline:none}.table-row.table-subs{cursor:pointer;border-bottom-width:2px;grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr) minmax(0,.5fr) minmax(0,.8fr) minmax(0,1.7fr) minmax(0,.7fr) min-content;align-items:start;gap:12px}.table-row.table-subs.table-head{cursor:default}.table-row.table-subs.open{background:var(--me-bg)}.table:has(.table-subs){overflow-x:auto}.table-row.table-subs{min-width:980px}.sub-sort{font:inherit;letter-spacing:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.sub-sort:hover{text-decoration:underline}.sub-sort.active{text-underline-offset:3px;text-decoration:underline}.sub-time{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.sub-chall{overflow-wrap:anywhere;flex-direction:column;min-width:0;font-size:12px;display:flex}.sub-kind{letter-spacing:.08em;color:var(--text-dimmer);white-space:nowrap;font-size:10px}.sub-ip{color:var(--text-dim);overflow-wrap:anywhere;font-size:12px}.sub-result{letter-spacing:.06em;flex-direction:column;gap:4px;font-size:10px;font-weight:700;display:flex}.sub-result-good{color:var(--green)}.sub-result-alarm{color:var(--red)}.sub-result-warn{color:var(--amber)}.sub-result-dim{color:var(--text-dimmer)}.sub-result-soft{color:var(--red-soft)}.sub-cheated{letter-spacing:0;color:var(--text-dimmer);overflow-wrap:anywhere;font-size:10px;font-weight:400}.sub-flag{border:1px solid var(--border);background:var(--bg-input);color:var(--text-dim);overflow-wrap:anywhere;padding:4px 8px;font-family:Space Mono,monospace;font-size:12px}.sub-flag-flag.sub-flag-good{color:var(--green);background:var(--flag-bg);border-color:var(--green)}.sub-flag-flag.sub-flag-alarm{color:var(--red);border-color:var(--red)}.sub-flag-flag.sub-flag-warn{color:var(--amber);border-color:var(--amber)}.sub-flag-inputs,.sub-flag-none{color:var(--text-dimmer);border-color:var(--border);background:0 0;font-style:italic}.sub-detail{border-bottom:1px solid var(--border);background:var(--bg-sunken);padding:4px 20px 18px}.sub-detail-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 20px;margin:0 0 14px;display:grid}.sub-detail-grid dt{letter-spacing:.08em;text-transform:lowercase;color:var(--text-dimmer);font-size:10px;font-weight:700}.sub-detail-grid dd{color:var(--text);overflow-wrap:anywhere;margin:4px 0 0;font-size:12px}.sub-detail-label{letter-spacing:.08em;text-transform:lowercase;color:var(--text-dimmer);margin-bottom:6px;font-size:10px;font-weight:700}.sub-detail-json{border:1px solid var(--border);background:var(--bg-input);color:var(--text-dim);white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;margin:0;padding:12px;font-family:Space Mono,monospace;font-size:11px;line-height:1.6;overflow:auto}.sub-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:16px 22px;display:flex}.sub-range{letter-spacing:.08em;text-transform:lowercase;color:var(--text-dimmer);font-size:10px;font-weight:700}.sub-fetching{color:var(--red)}.sub-pager{gap:8px;display:flex}.sub-pager .btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.chip{color:var(--text-dim);border:1px solid var(--border);align-items:center;gap:6px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.chip-size{color:var(--text-dimmer);font-weight:400}.chip:hover:not(:disabled){border-color:var(--red);color:var(--red)}.dot{width:7px;height:7px}.md{color:var(--text);overflow-wrap:break-word;font-size:13px;line-height:1.75}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md h1,.md h2,.md h3,.md h4{color:var(--red);margin:26px 0 10px;font-family:Space Mono,monospace;font-weight:700;line-height:1.3}.md h1{font-size:20px}.md h2:before{content:"## ";color:var(--text-dimmer)}.md h2{font-size:17px}.md h3,.md h4{font-size:15px}.md p{margin:0 0 14px}.md ul,.md ol{margin:0 0 14px;padding-left:22px}.md ul{list-style:none}.md ul>li:before{content:"*";color:var(--red);margin-left:-16px;margin-right:8px}.md li{margin-bottom:6px}.md a{color:var(--link);text-underline-offset:3px;text-decoration:underline}.md code{background:var(--bg-sunken);border:1px dashed var(--border-dim);color:var(--green);padding:0 4px;font-family:Space Mono,monospace;font-size:12px}.md pre{border:1px solid var(--border);color:#3dff6e;background:#000;margin:0 0 16px;padding:12px 14px;overflow-x:auto}.md pre code{color:inherit;background:0 0;border:none;padding:0;font-size:12px;line-height:1.6}.md blockquote{border-left:1px solid var(--red);color:var(--text-dimmer);margin:0 0 16px;padding:2px 0 2px 16px}.md table{border-collapse:collapse;margin:0 0 16px;font-size:12px;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--border);text-align:left;padding:7px 12px}.md th{color:var(--titlebar-fg);background:var(--titlebar);font-weight:700}.md img{border:1px solid var(--border);max-width:100%;margin:4px 0 16px}.md hr{border:none;border-top:1px dashed var(--border);margin:22px 0}.card-desc-markdown{color:inherit;max-height:4.5em;font-size:12px;line-height:1.5;overflow:hidden}.md.card-desc-markdown>*{margin-top:0;margin-bottom:0}.md.card-desc-markdown>*+*{margin-top:.25em}.card-desc-markdown h1,.card-desc-markdown h2,.card-desc-markdown h3,.card-desc-markdown h4{font-family:inherit;font-size:inherit;line-height:inherit}.card-desc-markdown ul,.card-desc-markdown ol{padding-left:18px}.card-desc-markdown pre{padding:4px 6px}.card-desc-markdown code,.card-desc-markdown pre code{font-size:inherit;line-height:inherit}.challenge-description{color:var(--text);font-size:13px;line-height:1.7}.md-boundary{letter-spacing:.14em;text-transform:lowercase;color:var(--red);align-items:center;gap:14px;margin:28px 0 22px;font-size:10px;font-weight:700;display:flex}.md-boundary:before,.md-boundary:after{content:"";border-top:1px dashed var(--red);flex:1}.md-preview-label{letter-spacing:.14em;text-transform:lowercase;color:var(--text-dimmer);margin-bottom:14px;font-size:10px;font-weight:700}.locked-panel{border:1px dashed var(--border);background:var(--bg-card);text-align:center;margin-top:28px;padding:28px 22px}textarea.md-editor{resize:vertical;tab-size:2;border:1px solid var(--border);background:var(--bg-sunken);width:100%;min-height:320px;color:var(--text);padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.7}textarea.md-editor:focus{border-color:var(--red);outline:none}.md-preview{border:1px solid var(--border);background:var(--bg-sunken);min-height:320px;padding:18px}.md-dropzone{border:1px dashed var(--red);background:var(--me-bg);letter-spacing:.1em;text-transform:lowercase;color:var(--text-bright);pointer-events:none;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:absolute;inset:0}.writeup-row{text-align:left;width:100%;color:inherit;border:none;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;padding:16px 8px;font-family:inherit}.writeup-row:hover{background:var(--me-bg)}.notice{border:1px solid var(--border);margin-top:12px;padding:12px 14px;font-size:12px;line-height:1.6}.notice-warn{color:var(--amber);border-color:var(--amber);background:var(--amber-bg)}.check-badge{border:1px solid var(--red);width:56px;height:56px;color:var(--red);justify-content:center;align-items:center;margin:0 auto 16px;font-size:26px;display:flex}.writeup-row-wrap{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;display:flex}.writeup-row-wrap .writeup-row{border-bottom:none;flex:1}.vote{border:1px solid var(--border);min-width:44px;color:var(--text-dim);cursor:pointer;background:0 0;flex-direction:column;align-items:center;gap:2px;margin-top:16px;padding:6px 4px;font-family:inherit;font-size:12px;font-weight:700;display:flex}.vote:hover:not(:disabled){border-color:var(--red);color:var(--red)}.vote.voted{border-color:var(--edge);background:var(--red);color:#fff}.vote:disabled{cursor:not-allowed;opacity:.55}.vote-arrow{font-size:10px;line-height:1}.delete-writeup{border:1px solid var(--red-dim);min-width:44px;color:var(--red-dim);cursor:pointer;background:0 0;justify-content:center;align-items:center;margin-top:16px;padding:6px 4px;font-family:inherit;font-size:19px;line-height:1;display:flex}.delete-writeup:hover:not(:disabled){border-color:var(--red);background:var(--red);color:#fff}.delete-writeup:disabled{cursor:not-allowed;opacity:.55}.sort-bar{border-bottom:1px solid var(--border);gap:18px;margin-bottom:12px;display:flex}.sort-tab{letter-spacing:.08em;text-transform:lowercase;color:var(--text-dimmer);cursor:pointer;background:0 0;border:none;border-bottom:1px solid #0000;margin-bottom:-3px;padding:0 0 8px;font-family:inherit;font-size:11px;font-weight:700}.sort-tab.active{color:var(--red);border-bottom-color:var(--red)}.my-writeup{border:1px solid var(--border);background:var(--bg-card);padding:18px}.my-writeup.compact{border:none;border-bottom:1px solid var(--border);box-shadow:none;background:0 0;padding:12px 0}.tab-bar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.tab-group{gap:0;display:flex}.tab-group .pill+.pill{margin-left:-1px}.tab-divider{background:var(--border);align-self:stretch;width:3px;min-height:24px}.pill-mine{color:var(--text);border-style:dashed;align-items:center;gap:8px;display:inline-flex;position:relative}.pill-mine:hover{border-color:var(--red);color:var(--red)}.pill-mine.active{color:#fff;border-style:solid}.pill-icon{font-size:9px}.pill-count{background:var(--border);min-width:18px;color:var(--tag-fg);text-align:center;padding:0 5px;font-size:10px;line-height:1.6}.pill-mine.active .pill-count{color:var(--red);background:#fff}.pill-alert{background:var(--amber);width:9px;height:9px;position:absolute;top:-4px;right:-4px}.token-panel{border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-slab);margin-top:24px;padding:20px}.token-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.token-actions{gap:8px;display:flex}.token-value{border:1px solid var(--border);background:var(--bg-input);padding:11px 12px;overflow-x:auto}.token-value code{color:var(--text);white-space:nowrap;font-family:Space Mono,monospace;font-size:12px}.token-mask{letter-spacing:.18em;color:var(--text-dimmer);-webkit-user-select:none;user-select:none;font-size:12px}.token-note{color:var(--text-dimmer);margin-top:12px;font-size:11px;line-height:1.7}.token-note strong{color:var(--text-dim);font-weight:700}.token-note-warn{color:var(--amber)}.grade-writeup{flex-direction:column;gap:10px;margin-top:16px;display:flex}.grade-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.grade-label{letter-spacing:.04em;text-transform:lowercase;min-width:120px;font-size:11px;font-weight:700}.grade-options{flex-wrap:wrap;display:flex}.grade-options .pill+.pill{margin-left:-1px}.grade-submit{align-self:flex-start}.grade-submit:disabled{cursor:not-allowed;opacity:.55}.grade-error{color:var(--red);margin:0;font-size:12px}.writeup-score{letter-spacing:.04em;color:var(--red);white-space:nowrap;font-size:11px;font-weight:700}.admin-page .panel,.admin-page .table,.admin-page .stat-tile{border-color:var(--border-dim);background:var(--bg-card)}.admin-page .panel-head,.admin-page .table-head{color:var(--text-dimmer);border-bottom:1px solid var(--border);text-transform:lowercase;background:0 0}.admin-page .panel-head{justify-content:flex-start;padding:10px 16px;font-size:11px}.admin-page .panel-head:before{content:"::";color:var(--red)}.admin-page .panel-head>:last-child:not(:first-child){margin-left:auto}.admin-page .table-row:not(.table-head){border-bottom-color:var(--border-hair)}.admin-page .table-row:not(.table-head):hover{background:var(--bg-card-alt)}.admin-page .stat-tile .label{text-transform:lowercase;letter-spacing:.04em;margin-top:0}.admin-page .stat-tile .value{color:var(--text-bright)}.admin-page .admin-release-state{text-transform:lowercase;letter-spacing:.04em}.admin-page .chip,.admin-page .chip-tag{border-width:1px;border-color:var(--border-dim);color:var(--text-dim)}.admin-page :is(.hide-challenge,.ban-team,.change-tag,.change-score,.change-division,.release-challenge,.view-submissions){border-color:var(--border-dim);text-transform:lowercase;letter-spacing:.02em}.admin-page .admin-flag{border-width:1px;border-color:color-mix(in srgb, var(--green) 45%, transparent);background:0 0}.admin-page .table-challs>:nth-child(5) input,.admin-page .field input,.admin-page .field textarea{border-color:var(--border-dim)}.admin-page .table-challs>:nth-child(5) input:focus,.admin-page .field input:focus,.admin-page .field textarea:focus{border-color:var(--red);box-shadow:none}.pill.pill-data{text-transform:none}
