@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/oswald-latin-700-normal-vy6hmKSr.woff2)format("woff2"),url(/assets/oswald-latin-700-normal-UmC9Ev9x.woff)format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/oswald-cyrillic-700-normal-BO0IwMyy.woff2)format("woff2"),url(/assets/oswald-cyrillic-700-normal-DxuP1Pb9.woff)format("woff")}@font-face{font-family:Cousine;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cousine-latin-400-normal-BhCTjpdJ.woff2)format("woff2"),url(/assets/cousine-latin-400-normal-D0CzircV.woff)format("woff")}@font-face{font-family:Cousine;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cousine-cyrillic-400-normal-DaHhUWxZ.woff2)format("woff2"),url(/assets/cousine-cyrillic-400-normal-D7Mp9hmd.woff)format("woff")}@font-face{font-family:Cousine;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cousine-latin-700-normal-CwJ0o97b.woff2)format("woff2"),url(/assets/cousine-latin-700-normal-BO_dhHEP.woff)format("woff")}@font-face{font-family:Cousine;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cousine-cyrillic-700-normal-BkkUdX_g.woff2)format("woff2"),url(/assets/cousine-cyrillic-700-normal-BEGCXyFC.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff)format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-700-normal-CuDiGg7c.woff2)format("woff2"),url(/assets/playfair-display-latin-700-normal-Bc_1Q1cG.woff)format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-cyrillic-700-normal-Dw3uKy19.woff2)format("woff2"),url(/assets/playfair-display-cyrillic-700-normal-Dk1mTcxf.woff)format("woff")}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-700-italic-CB566L-e.woff2)format("woff2"),url(/assets/playfair-display-latin-700-italic-DgrU7w_p.woff)format("woff")}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/playfair-display-cyrillic-700-italic-DNZWWj68.woff2)format("woff2"),url(/assets/playfair-display-cyrillic-700-italic-Bs5sqlIY.woff)format("woff")}@font-face{font-family:PT Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-serif-latin-400-normal-Cx0mQj7e.woff2)format("woff2"),url(/assets/pt-serif-latin-400-normal-DIu_lRW0.woff)format("woff")}@font-face{font-family:PT Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-serif-cyrillic-400-normal-B-euljER.woff2)format("woff2"),url(/assets/pt-serif-cyrillic-400-normal-D8jOFnDU.woff)format("woff")}@font-face{font-family:PT Serif;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/pt-serif-latin-700-normal-Bsuo9jes.woff2)format("woff2"),url(/assets/pt-serif-latin-700-normal-BnJLcJ8K.woff)format("woff")}@font-face{font-family:PT Serif;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/pt-serif-cyrillic-700-normal-DvVvs_4R.woff2)format("woff2"),url(/assets/pt-serif-cyrillic-700-normal-BeN6CUoB.woff)format("woff")}@font-face{font-family:PT Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/pt-serif-latin-400-italic-zg5EJ2cW.woff2)format("woff2"),url(/assets/pt-serif-latin-400-italic-Hdd9Jed5.woff)format("woff")}@font-face{font-family:PT Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/pt-serif-cyrillic-400-italic-Bicg0I0x.woff2)format("woff2"),url(/assets/pt-serif-cyrillic-400-italic-CGr2MaNX.woff)format("woff")}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/golos-text-latin-400-normal-Coi1FYaD.woff2)format("woff2"),url(/assets/golos-text-latin-400-normal-DOuJOmdK.woff)format("woff")}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/golos-text-cyrillic-400-normal-C7us6pn1.woff2)format("woff2"),url(/assets/golos-text-cyrillic-400-normal-BwL4n7Pb.woff)format("woff")}:root{--bg:#1b1610;--section:#2c2418;--section-raised:#3a3022;--text:#e8dcbc;--hint:#b8a884;--link:#e8a57a;--accent:#d9604d;--xp:#dcb65e;--button:#8f2a1c;--button-text:#f8ecd2;--danger:#ef7d6c;--separator:#e8dcbc47;--success:#93c493;--easy:#93c493;--medium:#e0b35c;--hard:#ef7d6c;--insane:#c9a9f0;--gold:#e0b93d;--silver:#c9d3de;--bronze:#e39a6b;--rank-gold:#e0b93d;--code-bg:#120e09;--code-text:#e8dcbc;--input-bg:#14100a;--radius:0;--radius-sm:0;--font:"Cousine", ui-monospace, Menlo, Consolas, monospace;--head:"Oswald", "Arial Narrow", sans-serif;--mono:"Cousine", ui-monospace, Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=terminal]{--bg:#0b100c;--section:#111812;--section-raised:#1b271f;--text:#c8f0d0;--hint:#8fb89c;--link:#5ee6c5;--accent:#58e07f;--xp:#f2b84b;--button:#58e07f;--button-text:#0b100c;--danger:#ff7a70;--separator:#3d5945;--success:#58e07f;--easy:#58e07f;--medium:#f2b84b;--hard:#ff7a70;--insane:#5ee6c5;--gold:#f2d24b;--rank-gold:#f2d24b;--code-bg:#111812;--code-text:#f2e6c0;--input-bg:#0b100c;--radius:0;--radius-sm:0;--font:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--head:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=noir]{--bg:#0f0e10;--section:#18171a;--section-raised:#252327;--text:#ebe7df;--hint:#b4b0a8;--link:#ff8a7f;--accent:#ee5a4f;--xp:#ee5a4f;--button:#c93a30;--button-text:#fff;--danger:#ff8a7f;--separator:#57534d;--success:#9fd8b0;--easy:#9fd8b0;--medium:#e8c37a;--hard:#ff8a7f;--insane:#cdb2ff;--gold:#e8c37a;--rank-gold:#e8c37a;--code-bg:#1d1b1e;--code-text:#f4f1ea;--input-bg:#0f0e10;--radius:0;--radius-sm:0;--font:"PT Serif", Georgia, serif;--head:"Playfair Display", Georgia, serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font:16px/1.4 var(--font);-webkit-tap-highlight-color:transparent;margin:0}button{font:inherit;color:inherit}.app{min-height:var(--tg-viewport-stable-height,100vh);padding-bottom:calc(64px + env(safe-area-inset-bottom))}.content{max-width:640px;margin:0 auto}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.back{color:var(--link);cursor:pointer;background:0 0;border:0;margin:12px 16px 0;padding:0}.screen{flex-direction:column;gap:12px;padding:16px;display:flex}.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:32px 16px;display:flex}.title{letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-size:26px;font-weight:700}.subtitle{font:600 12px var(--mono);color:var(--hint);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px}.hint{color:var(--hint);margin:0;font-size:14px}.section{background:var(--section);border:1px solid var(--separator);border-radius:var(--radius);padding:14px 16px}.list{margin:0;padding:0;list-style:none}.list>li+li{border-top:1px solid var(--separator)}.row,.score-row{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:12px 16px;display:flex}.row{cursor:pointer}.row.locked .row-title{color:var(--hint)}.row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.row-title{overflow-wrap:anywhere;font-weight:600}.row-sub{color:var(--hint);font-size:13px}.row-points{font:600 14px var(--mono);white-space:nowrap;color:var(--accent)}.score-row.me{background:color-mix(in srgb, var(--accent) 10%, transparent);box-shadow:inset 2px 0 0 var(--accent)}.rank{width:30px;height:30px;font:700 13px var(--mono);color:var(--hint);background:var(--section-raised);border-radius:9px;flex:none;place-items:center;display:grid}.rank-1{color:#231a00;background:var(--rank-gold)}.rank-2{color:#1a2027;background:var(--silver)}.rank-3{color:#2b1405;background:var(--bronze)}.badges{flex-wrap:wrap;gap:6px;display:flex}.badges:empty{display:none}.badge{border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.badge-trial{background:color-mix(in srgb, var(--button) 18%, transparent);color:var(--accent)}.badge-blood{background:color-mix(in srgb, var(--gold) 18%, transparent);color:var(--gold)}.badge-solved{background:color-mix(in srgb, var(--success) 18%, transparent);color:var(--success)}.badge-archive,.badge-lock{background:color-mix(in srgb, var(--hint) 20%, transparent);color:var(--text)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border-radius:var(--radius);border:1px solid var(--separator);background:var(--section);color:var(--text);cursor:pointer;flex:none;padding:6px 14px}.chip.active{border-color:var(--button);background:var(--button);color:var(--button-text);font-weight:600}.banner{text-align:left;border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 7%, var(--section));cursor:pointer;flex-direction:column;gap:2px;padding:12px 16px;display:flex}.banner span{color:var(--hint);font-size:14px}.button{border-radius:var(--radius-sm);background:var(--button);width:100%;color:var(--button-text);cursor:pointer;border:0;padding:12px 16px;font-weight:700;display:block}.button.secondary{background:var(--section-raised);color:var(--text);font-weight:600}.button:disabled{background:var(--section-raised);color:var(--hint);cursor:default}.input{border-radius:var(--radius-sm);border:1px solid var(--separator);background:var(--input-bg);width:100%;color:var(--text);font:15px var(--mono);padding:12px}.input:focus{outline:2px solid var(--button);outline-offset:-1px}.flag-form{flex-direction:column;gap:10px;display:flex}.flag-form .subtitle{margin:0}.message{margin:0;font-weight:600}.message p{margin:0 0 8px}.message.success{color:var(--success)}.message.error,.error-box p{color:var(--danger)}.error-box,.locked-box,.success-box{flex-direction:column;gap:10px;display:flex}.error-box p,.locked-box p,.success-box p{margin:0}.hints{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hint-text{margin:0}.hint-text .markdown{display:inline}.hint-text .markdown>p{margin:0;display:inline}.markdown{overflow-wrap:anywhere}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown a{color:var(--link)}.markdown code,.markdown pre{font-family:var(--mono);background:var(--code-bg);color:var(--code-text)}.markdown code{padding:2px 6px}.markdown pre{padding:10px;overflow-x:auto}.stats{text-align:center;grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.stats>div{flex-direction:column;display:flex}.stat-value{font:700 24px var(--mono);color:var(--accent)}.plain{margin:0 0 12px;padding-left:20px}.tabbar{background:var(--bg);border-top:1px solid var(--separator);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--hint);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0;font-size:12px;display:flex}.tab.active{color:var(--accent);font-weight:600}.spinner{border:3px solid var(--separator);border-top-color:var(--button);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.field{flex-direction:column;gap:4px;display:flex}.text-input{font:15px/1.4 var(--font)}.textarea{resize:vertical;min-height:72px;font:14px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}select.input{font:inherit}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.check{align-items:center;gap:8px;display:flex}.check input{width:18px;height:18px;accent-color:var(--button)}.link-button{color:var(--link);cursor:pointer;text-align:left;background:0 0;border:0;align-self:flex-start;padding:0}.link-button.danger{color:var(--danger)}.subform{border-radius:var(--radius-sm);background:var(--bg);flex-direction:column;gap:8px;padding:10px;display:flex}.admin-item{border-bottom:1px solid var(--separator);overflow-wrap:anywhere;flex-direction:column;gap:2px;padding:8px 0;display:flex}.file-label{text-align:center}.file-button{text-align:left;overflow-wrap:anywhere}.tariffs{border:0;flex-direction:column;gap:8px;min-width:0;margin:0;display:flex}.tariffs legend{float:left;width:100%;padding:0}.tariff{border-radius:var(--radius-sm);border:1px solid var(--separator);cursor:pointer;align-items:center;gap:10px;padding:10px 12px;display:flex}.tariff.selected{border-color:var(--button);background:color-mix(in srgb, var(--button) 8%, transparent)}.tariff input{accent-color:var(--button)}.link-button.inline{text-decoration:underline;display:inline}.terms{border-radius:var(--radius-sm);background:var(--bg);white-space:pre-line;margin:0;padding:10px;font-size:14px}.section>p:first-child{margin-top:0}.section>p:last-child{margin-bottom:0}.brand{font:700 12px var(--mono);letter-spacing:.08em;color:var(--hint);margin:0}.brand b{color:var(--accent)}.progress{flex-direction:column;gap:8px;display:flex}.progress-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.progress-value{font:700 18px var(--mono);color:var(--xp)}.progress-track{background:var(--section-raised);border-radius:3px;height:6px;display:block;overflow:hidden}.progress-fill{background:var(--xp);border-radius:3px;height:100%;display:block}.cards{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.card{border:1px solid var(--separator);border-radius:var(--radius);background:var(--section);text-align:left;cursor:pointer;align-items:center;gap:12px;width:100%;padding:13px 14px;display:flex}.card:active{background:var(--section-raised)}.card.locked{background:0 0;border-style:dashed}.card.locked .row-title{color:var(--hint)}.card.solved .row-points{color:var(--success)}.signal{flex:none;align-items:flex-end;gap:3px;height:22px;display:inline-flex}.signal span{background:var(--section-raised);border-radius:2px;width:5px}.signal span:first-child{height:8px}.signal span:nth-child(2){height:12px}.signal span:nth-child(3){height:17px}.signal span:nth-child(4){height:22px}.signal span.on{background:var(--level)}.signal.easy{--level:var(--easy)}.signal.medium{--level:var(--medium)}.signal.hard{--level:var(--hard)}.signal.insane{--level:var(--insane)}.icon{vertical-align:-.12em;flex:none;width:1em;height:1em}.tab .icon{font-size:22px}.detail-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.detail-points{font:700 14px var(--mono);color:var(--accent)}.flag-form:focus-within{border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.input:focus{outline-color:var(--accent)}.theme-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.theme-option{border:1px solid var(--separator);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex-direction:column;align-items:center;gap:8px;padding:12px 4px;font-size:13px;display:flex}.theme-option[aria-pressed=true]{border-color:var(--accent);font-weight:700}.theme-swatch{border:1px solid var(--separator);border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.theme-swatch span{border-radius:50%;width:14px;height:14px}.segments{border:1px solid var(--separator);border-radius:var(--radius);background:var(--section);grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.segment{border-radius:var(--radius-sm);color:var(--hint);cursor:pointer;background:0 0;border:0;padding:9px 6px;font-weight:600}.segment.active{background:var(--section-raised);color:var(--text)}.segment-count{font:600 12px var(--mono);color:var(--hint)}.segment.active .segment-count{color:var(--accent)}.fold{border:1px solid var(--separator);border-radius:var(--radius);background:var(--section)}.fold-head{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:14px;display:flex}.fold-head .row-title{flex:1;min-width:0}.fold-meta{font:600 13px var(--mono);color:var(--accent);flex:none}.fold-arrow{color:var(--hint);flex:none;transition:transform .15s;display:inline-flex}.fold-arrow.open{transform:rotate(180deg)}.fold-body{flex-direction:column;gap:10px;padding:0 10px 10px;display:flex}.fold .card{background:var(--bg)}.fold .card.locked{background:0 0}.fold .fold{background:var(--bg)}.arc{flex-direction:column;gap:8px;display:flex}.lock-reason{color:var(--medium)}.reward-xp{color:var(--xp)}.story{border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.prologue{border-left:2px solid var(--accent);color:var(--hint);padding-left:10px;font-size:14px}.old-price{color:var(--hint);font-weight:400}.promo-code{font:700 16px var(--mono);color:var(--accent);overflow-wrap:anywhere}.cards>.admin-item{border-bottom:1px solid var(--separator);gap:6px;padding:14px 16px}.tab{justify-content:center;min-height:52px;font-size:13px}:is(button:focus-visible,a:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.title{font-family:var(--head)}.stats{text-align:left}:root:not([data-theme=terminal],[data-theme=noir]) .title{text-transform:uppercase;letter-spacing:.03em;font-size:40px;font-weight:700;line-height:1}:root:not([data-theme=terminal],[data-theme=noir]) .subtitle{font:700 15px var(--head);color:var(--text);letter-spacing:.04em}:root:not([data-theme=terminal],[data-theme=noir]) .section,:root:not([data-theme=terminal],[data-theme=noir]) .story{border:0}:root:not([data-theme=terminal],[data-theme=noir]) .segments{background:0 0;border:0;gap:18px;padding:0;display:flex}:root:not([data-theme=terminal],[data-theme=noir]) .segment{color:var(--text);border-bottom:3px solid #0000;padding:8px 0;font-weight:400}:root:not([data-theme=terminal],[data-theme=noir]) .segment.active{border-color:var(--text);background:0 0;font-weight:700}:root:not([data-theme=terminal],[data-theme=noir]) .segment-count,:root:not([data-theme=terminal],[data-theme=noir]) .segment.active .segment-count{font:inherit;color:inherit}:root:not([data-theme=terminal],[data-theme=noir]) .chip{border-color:var(--text);background:0 0}:root:not([data-theme=terminal],[data-theme=noir]) .chip.active{background:var(--text);border-color:var(--text);color:var(--bg)}:root:not([data-theme=terminal],[data-theme=noir]) .fold{border:0;margin-top:18px;position:relative}:root:not([data-theme=terminal],[data-theme=noir]) .fold:before{content:"";background:inherit;clip-path:polygon(0 0,84% 0,100% 100%,0 100%);width:104px;height:16px;position:absolute;top:-16px;left:0}:root:not([data-theme=terminal],[data-theme=noir]) .fold-head .row-title{font:700 22px/1.1 var(--head);text-transform:uppercase;letter-spacing:.02em}:root:not([data-theme=terminal],[data-theme=noir]) .fold-meta{color:var(--text)}:root:not([data-theme=terminal],[data-theme=noir]) .fold-body{gap:0;padding:0}:root:not([data-theme=terminal],[data-theme=noir]) .fold .fold{background:var(--section-raised);margin:18px 10px 10px}:root:not([data-theme=terminal],[data-theme=noir]) .prologue{color:var(--text);border:0;padding:0 14px 12px}:root:not([data-theme=terminal],[data-theme=noir]) .cards{gap:0}:root:not([data-theme=terminal],[data-theme=noir]) .card,:root:not([data-theme=terminal],[data-theme=noir]) .fold .card,:root:not([data-theme=terminal],[data-theme=noir]) .card.locked,:root:not([data-theme=terminal],[data-theme=noir]) .fold .card.locked{border:0;border-top:1px dashed var(--hint);background:0 0}:root:not([data-theme=terminal],[data-theme=noir]) .card:active{background:var(--section-raised)}:root:not([data-theme=terminal],[data-theme=noir]) .signal{display:none}:root:not([data-theme=terminal],[data-theme=noir]) .row-points,:root:not([data-theme=terminal],[data-theme=noir]) .card.solved .row-points{color:var(--xp)}:root:not([data-theme=terminal],[data-theme=noir]) .badge{border-radius:0}:root:not([data-theme=terminal],[data-theme=noir]) .badge-solved{border:2px solid var(--accent);color:var(--accent);font:700 11px var(--head);letter-spacing:.08em;text-transform:uppercase;background:0 0;padding:1px 6px;display:inline-block;transform:rotate(-4deg)}:root:not([data-theme=terminal],[data-theme=noir]) .progress-track{border:1px solid var(--text);background:0 0;border-radius:0;height:8px}:root:not([data-theme=terminal],[data-theme=noir]) .progress-fill{background:var(--text);border-radius:0}:root:not([data-theme=terminal],[data-theme=noir]) .progress-value,:root:not([data-theme=terminal],[data-theme=noir]) .stat-value{color:var(--text);font-family:var(--head)}:root:not([data-theme=terminal],[data-theme=noir]) .button{font:700 16px var(--head);letter-spacing:.06em;text-transform:uppercase}:root:not([data-theme=terminal],[data-theme=noir]) .button.secondary{border:2px solid var(--text);color:var(--text);font:700 14px var(--font);letter-spacing:0;text-transform:none;background:0 0}:root:not([data-theme=terminal],[data-theme=noir]) .input{border:2px solid var(--text)}:root:not([data-theme=terminal],[data-theme=noir]) .banner{border-color:var(--text)}:root:not([data-theme=terminal],[data-theme=noir]) .tabbar{border-top:1px solid var(--separator);background:#120e09}:root:not([data-theme=terminal],[data-theme=noir]) .tab{color:var(--hint);font-weight:700}:root:not([data-theme=terminal],[data-theme=noir]) .tab.active{color:var(--gold)}:root[data-theme=terminal] .brand:before{content:"pocket@ctf:~$ " / "";color:var(--hint)}:root[data-theme=terminal] .brand{letter-spacing:0}:root[data-theme=terminal] .title{letter-spacing:0;font-size:22px}:root[data-theme=terminal] .title:before{content:"$ " / "";color:var(--accent)}:root[data-theme=terminal] .subtitle{font:700 13px var(--mono);color:var(--accent);text-transform:none;letter-spacing:0}:root[data-theme=terminal] .subtitle:before{content:"$ cat " / ""}:root[data-theme=terminal] .section,:root[data-theme=terminal] .story{background:0 0;border:0;padding:0}:root[data-theme=terminal] .screen{gap:16px}:root[data-theme=terminal] .segments{background:0 0;border:0;gap:8px;padding:0}:root[data-theme=terminal] .segment{border:1px solid var(--separator);min-height:44px;font-weight:400}:root[data-theme=terminal] .segment.active{background:var(--accent);border-color:var(--accent);color:var(--button-text);font-weight:700}:root[data-theme=terminal] .segment.active .segment-count{color:inherit}:root[data-theme=terminal] .fold{background:0 0;border:0}:root[data-theme=terminal] .fold-head{padding:8px 0}:root[data-theme=terminal] .fold-head .row-title:before{content:"$ cd " / "";color:var(--accent)}:root[data-theme=terminal] .fold-body{gap:8px;padding:0}:root[data-theme=terminal] .fold .fold{background:0 0}:root[data-theme=terminal] .prologue{border:0;padding:0}:root[data-theme=terminal] .cards{gap:0}:root[data-theme=terminal] .card,:root[data-theme=terminal] .fold .card,:root[data-theme=terminal] .card.locked,:root[data-theme=terminal] .fold .card.locked{border:0;border-bottom:1px dotted var(--separator);background:0 0;padding:8px 0}:root[data-theme=terminal] .card:active{background:var(--section-raised)}:root[data-theme=terminal] .signal{display:none}:root[data-theme=terminal] .card:before{content:"[>]" / "";color:var(--xp);flex:none;font-weight:700}:root[data-theme=terminal] .card.solved:before{content:"[x]" / "";color:var(--success)}:root[data-theme=terminal] .card.locked:before{content:"[#]" / "";color:var(--hint)}:root[data-theme=terminal] .badge{background:0 0;border-radius:0;padding:0}:root[data-theme=terminal] .badge:before{content:"#" / ""}:root[data-theme=terminal] .progress-track{background:repeating-linear-gradient(90deg, var(--separator) 0 7px, transparent 7px 10px);border-radius:0;height:12px}:root[data-theme=terminal] .progress-fill{background:repeating-linear-gradient(90deg, var(--xp) 0 7px, transparent 7px 10px);border-radius:0}:root[data-theme=terminal] .button.secondary{border:1px solid var(--accent);color:var(--accent);background:0 0}:root[data-theme=terminal] .button:disabled{border:1px solid var(--separator);background:0 0}:root[data-theme=terminal] .input{border-color:var(--accent)}:root[data-theme=terminal] .stat-value{color:var(--text)}:root[data-theme=terminal] .tabbar{counter-reset:tab;background:var(--section);border-color:var(--separator)}:root[data-theme=terminal] .tab{counter-increment:tab;flex-direction:row}:root[data-theme=terminal] .tab:before{content:counter(tab) ":" / ""}:root[data-theme=terminal] .tab.active{background:var(--accent);color:var(--button-text);font-weight:700}:root[data-theme=noir] .brand,:root[data-theme=noir] .subtitle{letter-spacing:.14em;text-transform:uppercase;color:var(--hint);font:400 11px Golos Text,sans-serif}:root[data-theme=noir] .brand b{color:var(--accent)}:root[data-theme=noir] .title{letter-spacing:0;font-size:42px;font-weight:700;line-height:1.02}:root[data-theme=noir] .section,:root[data-theme=noir] .story{border:0;border-top:1px solid var(--separator);background:0 0;padding:12px 0 0}:root[data-theme=noir] .story .markdown{font-size:16px;font-style:italic}:root[data-theme=noir] .segments{border:0;border-bottom:1px solid var(--separator);background:0 0;gap:20px;padding:0;display:flex}:root[data-theme=noir] .segment{border-bottom:2px solid #0000;min-height:44px;margin-bottom:-1px;padding:0;font:400 14px Golos Text,sans-serif}:root[data-theme=noir] .segment.active{border-color:var(--accent);background:0 0}:root[data-theme=noir] .segment-count,:root[data-theme=noir] .segment.active .segment-count{font:inherit;color:inherit}:root[data-theme=noir] .chip{background:0 0;font:400 13px Golos Text,sans-serif}:root[data-theme=noir] .chip.active{background:var(--text);border-color:var(--text);color:var(--bg)}:root[data-theme=noir] .fold{border:0;border-top:1px solid var(--separator);background:0 0}:root[data-theme=noir] .fold-head{padding:14px 0}:root[data-theme=noir] .fold-head .row-title{font:italic 700 25px/1.12 var(--head)}:root[data-theme=noir] .fold-meta{color:var(--hint);font:400 12px Golos Text,sans-serif}:root[data-theme=noir] .fold-body{gap:10px;padding:0}:root[data-theme=noir] .fold .fold{background:0 0}:root[data-theme=noir] .prologue{border:0;padding:0;font-style:italic}:root[data-theme=noir] .cards{counter-reset:scene;gap:0}:root[data-theme=noir] .cards>li{counter-increment:scene}:root[data-theme=noir] .card,:root[data-theme=noir] .fold .card,:root[data-theme=noir] .card.locked,:root[data-theme=noir] .fold .card.locked{border:0;border-top:1px solid var(--section-raised);background:0 0;padding:11px 0}:root[data-theme=noir] .card:before{content:counter(scene) / "";width:22px;font:italic 700 19px var(--head);color:var(--hint);flex:none}:root[data-theme=noir] .card:not(.solved,.locked):before{color:var(--accent)}:root[data-theme=noir] .card.solved .row-title{color:var(--hint)}:root[data-theme=noir] .signal{display:none}:root[data-theme=noir] .row-title{font-weight:700}:root[data-theme=noir] .row-points,:root[data-theme=noir] .card.solved .row-points{font:400 12px Golos Text,sans-serif}:root[data-theme=noir] .badge{background:0 0;border-radius:0;padding:0;font:400 12px Golos Text,sans-serif}:root[data-theme=noir] .progress-track{background:var(--separator);border-radius:0;height:2px}:root[data-theme=noir] .progress-fill{background:var(--accent);border-radius:0}:root[data-theme=noir] .progress-value{color:var(--hint);font:400 13px Golos Text,sans-serif}:root[data-theme=noir] .stat-value{font:700 32px/1.05 var(--head);color:var(--text)}:root[data-theme=noir] .button{letter-spacing:.03em;font:400 15px Golos Text,sans-serif}:root[data-theme=noir] .button.secondary{border:1px solid var(--text);background:0 0}:root[data-theme=noir] .input:not(.text-input,.textarea,select){border:0;border-bottom:1px solid var(--text);padding-inline-start:0;padding-inline-end:0}:root[data-theme=noir] .tabbar{border-color:var(--separator)}:root[data-theme=noir] .tab{font-family:Golos Text,sans-serif;font-weight:400}:root[data-theme=noir] .tab.active{font-weight:400}
