@charset "UTF-8";:root{color-scheme:light;--bg: #f7f8fa;--surface: #ffffff;--surface-muted: #f0f3f4;--text: #1d2935;--text-soft: #566371;--text-faint: #7b8794;--border: #dfe5e8;--border-strong: #c7d0d5;--accent: #0f766e;--accent-strong: #0b5f59;--accent-soft: #e3f2ef;--warning: #b45309;--warning-soft: #fff4df;--danger: #b42318;--shadow: 0 12px 36px rgba(25, 39, 52, .06);--code-bg: #f1f4f5;--code-text: #23313b;--inline-code-bg: #e9eef0;--header-bg: rgba(247, 248, 250, .94)}:root[data-theme=dark]{color-scheme:dark;--bg: #12181c;--surface: #192126;--surface-muted: #202b31;--text: #e7edf0;--text-soft: #abb9c0;--text-faint: #84939c;--border: #2f3c43;--border-strong: #425159;--accent: #66c8bb;--accent-strong: #8fe0d5;--accent-soft: #173b3a;--warning: #f4b75f;--warning-soft: #3d2d18;--danger: #ff8b82;--shadow: 0 16px 42px rgba(0, 0, 0, .22);--code-bg: #10171b;--code-text: #e2eaed;--inline-code-bg: #29353b;--header-bg: rgba(18, 24, 28, .94)}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth;background:var(--bg)}body{min-width:320px;margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:15px;line-height:1.65;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-strong)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:3px}.shell{width:min(1180px,100% - 40px);margin:0 auto}.narrow-shell{width:min(820px,100% - 40px)}.skip-link{position:fixed;z-index:20;top:12px;left:12px;padding:8px 12px;border-radius:6px;background:var(--text);color:var(--bg);transform:translateY(-160%);transition:transform .14s ease}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;z-index:10;top:0;border-bottom:1px solid color-mix(in srgb,var(--border) 75%,transparent);background:var(--header-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;min-height:66px;gap:30px}.brand{color:var(--text);font-size:1.14rem;font-weight:760;letter-spacing:.08em}.brand:hover{color:var(--accent)}.site-nav{display:flex;align-self:stretch;align-items:center;gap:4px;margin-right:auto}.site-nav a{display:inline-flex;align-items:center;align-self:stretch;padding:0 13px;border-bottom:2px solid transparent;color:var(--text-soft);font-size:.94rem;font-weight:560}.site-nav a:hover,.site-nav a.is-active{border-bottom-color:var(--accent);color:var(--text)}.theme-toggle{display:inline-grid;width:36px;height:36px;place-items:center;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text-soft);cursor:pointer;line-height:1;transition:border-color .16s ease,color .16s ease,transform .16s ease}.theme-toggle:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.site-main{min-height:calc(100vh - 132px);padding:54px 0 78px}.site-footer{border-top:1px solid var(--border);color:var(--text-faint);font-size:.83rem}.site-footer .shell{display:flex;gap:10px;padding:22px 0}.footer-separator{color:var(--border-strong)}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:35px}.page-heading-simple{display:block;margin-bottom:28px}.eyebrow{margin:0 0 7px;color:var(--accent);font-size:.76rem;font-weight:760;letter-spacing:.15em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}.page-heading h1,.problem-heading h1{margin-bottom:8px;color:var(--text);font-size:clamp(1.9rem,4vw,2.7rem);font-weight:750;letter-spacing:0;line-height:1.2}.page-lead{max-width:620px;margin-bottom:0;color:var(--text-soft);font-size:1rem}.heading-count{display:flex;align-items:baseline;gap:7px;flex:0 0 auto;color:var(--text-faint)}.heading-count strong{color:var(--text);font-size:1.7rem;font-weight:700}.contest-list{display:grid;gap:14px}.contest-card{padding:23px 25px 20px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow)}.contest-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.contest-card-heading-copy{min-width:0}.contest-slug{margin-bottom:5px;color:var(--text-faint);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.77rem;letter-spacing:.04em}.contest-card h2{margin:0;font-size:1.3rem;line-height:1.35}.contest-card h2 a{color:var(--text)}.contest-card h2 a:hover{color:var(--accent-strong)}.contest-status{display:inline-flex;flex:0 0 auto;align-items:center;min-height:27px;padding:3px 9px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.76rem;font-weight:700;line-height:1.2;white-space:nowrap}.contest-status-upcoming{border-color:color-mix(in srgb,var(--warning) 35%,var(--border));background:var(--warning-soft);color:var(--warning)}.contest-status-archived{border-color:var(--border);background:var(--surface-muted);color:var(--text-soft)}.contest-description{max-width:760px;margin:15px 0 17px;color:var(--text-soft)}.contest-card-meta,.contest-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 18px;margin:0}.contest-card-meta dt,.contest-meta dt{margin-bottom:3px;color:var(--text-faint);font-size:.74rem;font-weight:650}.contest-card-meta dd,.contest-meta dd{margin:0;color:var(--text);overflow-wrap:anywhere}.contest-card-tags{grid-column:span 2}.contest-card-link{display:inline-flex;margin-top:19px;color:var(--accent-strong);font-size:.88rem;font-weight:700}.contest-card-link:after{content:" →";padding-left:3px}.contest-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:25px}.contest-heading-main{min-width:0}.contest-heading h1{max-width:850px;margin-bottom:8px;color:var(--text);font-size:clamp(1.9rem,4vw,2.7rem);font-weight:750;line-height:1.2}.contest-meta{margin-bottom:38px;padding:18px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.contest-problems{margin-bottom:40px;padding:20px 22px 22px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow)}.section-heading{display:flex;align-items:baseline;gap:13px;margin-bottom:13px}.section-heading .eyebrow{margin-bottom:0}.section-heading h2{margin:0;font-size:1.14rem}.contest-problem-list{display:grid;gap:5px;margin:0;padding:0;list-style:none}.contest-problem-list li{display:flex;align-items:baseline;gap:12px;min-width:0;padding:9px 0;border-top:1px solid var(--border)}.contest-problem-index{flex:0 0 25px;color:var(--text-faint);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;text-align:right}.contest-problem-link{display:flex;flex-wrap:wrap;align-items:baseline;gap:9px;min-width:0}.contest-problem-label{color:var(--accent-strong);font-weight:700}.contest-problem-title{color:var(--text-soft);overflow-wrap:anywhere}.contest-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:52px}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:17px}.search-form{display:flex;align-items:center;width:min(620px,100%);min-height:43px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface);transition:border-color .16s ease,box-shadow .16s ease}.search-form:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent)}.search-icon{padding-left:13px;color:var(--text-faint);font-size:1.3rem;line-height:1}.search-form input{min-width:0;flex:1;padding:10px;border:0;outline:0;background:transparent;color:var(--text)}.search-form input::placeholder{color:var(--text-faint)}.search-clear{padding:3px 8px;color:var(--text-faint);font-size:.86rem}.search-submit{min-height:43px;padding:0 17px;border:0;border-left:1px solid var(--border);border-radius:0 6px 6px 0;background:var(--surface-muted);color:var(--text);cursor:pointer;font-weight:650}.search-submit:hover{background:var(--accent-soft);color:var(--accent-strong)}.results-summary{margin:0;color:var(--text-faint);font-size:.86rem;white-space:nowrap}.table-wrap{overflow:auto;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow)}.problem-table{width:100%;min-width:770px;border-collapse:collapse}.problem-table th,.problem-table td{padding:14px 16px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.problem-table th{background:var(--surface-muted);color:var(--text-soft);font-size:.78rem;font-weight:700;letter-spacing:.04em;white-space:nowrap}.problem-table tbody tr:last-child td{border-bottom:0}.problem-table tbody tr:hover{background:color-mix(in srgb,var(--accent-soft) 38%,var(--surface))}.problem-id{width:92px;color:var(--text-faint);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.86rem}.problem-id a{color:var(--text-soft)}.problem-id a:hover{color:var(--accent)}.problem-title-cell{min-width:260px}.problem-title-link{display:inline-block;color:var(--text);font-weight:650}.problem-title-link:hover{color:var(--accent-strong)}.status-note,.metadata-warning,.tag{display:inline-flex;align-items:center;border-radius:4px;line-height:1.3}.status-note{margin-left:9px;padding:3px 6px;background:var(--warning-soft);color:var(--warning);font-size:.7rem;white-space:nowrap}.metadata-warning{flex:0 0 auto;padding:5px 8px;background:var(--warning-soft);color:var(--warning);font-size:.78rem;font-weight:650}.tag-list{display:flex;flex-wrap:wrap;gap:5px}.tag{padding:3px 7px;background:var(--surface-muted);color:var(--text-soft);font-size:.75rem}.muted{color:var(--text-faint)}.limit-cell{min-width:140px;color:var(--text-soft);font-size:.83rem;white-space:nowrap}.empty-state{padding:75px 20px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);text-align:center}.empty-state-mark{display:block;margin-bottom:7px;color:var(--accent);font-family:ui-monospace,monospace;font-size:2rem}.empty-state h2{margin-bottom:5px;font-size:1.15rem}.empty-state p{margin-bottom:0;color:var(--text-soft)}.pagination{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:25px}.pagination-page,.pagination-arrow,.pagination-ellipsis{display:inline-grid;min-width:34px;height:34px;place-items:center;border:1px solid transparent;border-radius:5px;color:var(--text-soft);font-size:.86rem}.pagination-page:hover,.pagination-arrow:hover{border-color:var(--border-strong);background:var(--surface);color:var(--accent)}.pagination-page.is-current{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:700}.pagination-arrow{border-color:var(--border);background:var(--surface);font-size:1.15rem}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:30px;color:var(--text-faint);font-size:.84rem}.breadcrumbs a{color:var(--text-soft)}.breadcrumbs a:hover{color:var(--accent)}.problem-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:27px}.problem-heading h1{max-width:850px;margin-bottom:0}.problem-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 18px;margin:0 0 39px;padding:18px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.problem-meta div{min-width:0}.problem-meta-wide{grid-column:span 2}.problem-meta dt{margin-bottom:3px;color:var(--text-faint);font-size:.75rem;font-weight:650}.problem-meta dd{margin:0;color:var(--text);overflow-wrap:anywhere}.external-link{font-weight:600}.problem-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:52px}.markdown-body{min-width:0;color:var(--text);font-size:1rem;line-height:1.85;overflow-wrap:anywhere}.markdown-body>:first-child{margin-top:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{color:var(--text);font-weight:720;line-height:1.35;scroll-margin-top:90px}.markdown-body h1{margin:0 0 22px;font-size:1.9rem}.markdown-body h2{margin:43px 0 15px;padding-bottom:7px;border-bottom:1px solid var(--border);font-size:1.38rem}.markdown-body h3{margin:29px 0 10px;font-size:1.1rem}.markdown-body h4{margin:23px 0 8px;font-size:1rem}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body blockquote,.markdown-body table,.markdown-body .code-block,.markdown-body .sample-group,.markdown-body .admonition{margin:0 0 18px}.markdown-body ul,.markdown-body ol{padding-left:1.55rem}.markdown-body li+li{margin-top:4px}.markdown-body blockquote{padding:7px 18px;border-left:3px solid var(--accent);background:var(--surface-muted);color:var(--text-soft)}.markdown-body hr{margin:30px 0;border:0;border-top:1px solid var(--border)}.markdown-body strong{color:var(--text);font-weight:720}.markdown-body code:not(pre code){padding:.15em .35em;border-radius:4px;background:var(--inline-code-bg);color:var(--code-text);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.88em}.code-block{overflow:hidden;border:1px solid var(--border);border-radius:6px;background:var(--code-bg)}.code-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:34px;padding:4px 8px 4px 13px;border-bottom:1px solid var(--border);color:var(--text-faint);font-size:.72rem}.code-language{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:lowercase}.code-copy-button{padding:3px 7px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-soft);cursor:pointer;font-size:.76rem}.code-copy-button:hover{border-color:var(--border-strong);color:var(--accent)}.code-block pre{max-width:100%;margin:0;padding:15px 16px;overflow-x:auto;color:var(--code-text);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.87rem;line-height:1.65;-moz-tab-size:4;tab-size:4}.code-block code{font-family:inherit}.code-block .token.comment,.code-block .token.prolog,.code-block .token.doctype,.code-block .token.cdata{color:#718096}.code-block .token.punctuation{color:#64748b}.code-block .token.property,.code-block .token.tag,.code-block .token.boolean,.code-block .token.number,.code-block .token.constant,.code-block .token.symbol{color:#9f1239}.code-block .token.selector,.code-block .token.attr-name,.code-block .token.string,.code-block .token.char,.code-block .token.builtin{color:#166534}.code-block .token.operator,.code-block .token.entity,.code-block .token.url,.code-block .language-css .token.string,.code-block .style .token.string{color:#9a3412}.code-block .token.atrule,.code-block .token.attr-value,.code-block .token.keyword{color:#1d4ed8}.code-block .token.function,.code-block .token.class-name{color:#7c3aed}.code-block .token.regex,.code-block .token.important,.code-block .token.variable{color:#a16207}:root[data-theme=dark] .code-block .token.comment,:root[data-theme=dark] .code-block .token.prolog,:root[data-theme=dark] .code-block .token.doctype,:root[data-theme=dark] .code-block .token.cdata{color:#82939c}:root[data-theme=dark] .code-block .token.punctuation{color:#b4c1c7}:root[data-theme=dark] .code-block .token.property,:root[data-theme=dark] .code-block .token.tag,:root[data-theme=dark] .code-block .token.boolean,:root[data-theme=dark] .code-block .token.number,:root[data-theme=dark] .code-block .token.constant,:root[data-theme=dark] .code-block .token.symbol{color:#fda4af}:root[data-theme=dark] .code-block .token.selector,:root[data-theme=dark] .code-block .token.attr-name,:root[data-theme=dark] .code-block .token.string,:root[data-theme=dark] .code-block .token.char,:root[data-theme=dark] .code-block .token.builtin{color:#86efac}:root[data-theme=dark] .code-block .token.operator,:root[data-theme=dark] .code-block .token.entity,:root[data-theme=dark] .code-block .token.url,:root[data-theme=dark] .code-block .language-css .token.string,:root[data-theme=dark] .code-block .style .token.string{color:#fdba74}:root[data-theme=dark] .code-block .token.atrule,:root[data-theme=dark] .code-block .token.attr-value,:root[data-theme=dark] .code-block .token.keyword{color:#93c5fd}:root[data-theme=dark] .code-block .token.function,:root[data-theme=dark] .code-block .token.class-name{color:#d8b4fe}:root[data-theme=dark] .code-block .token.regex,:root[data-theme=dark] .code-block .token.important,:root[data-theme=dark] .code-block .token.variable{color:#facc15}.sample-group{padding:13px 15px 1px;border:1px solid var(--border);border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent-soft) 34%,var(--surface))}.sample-group .code-block{border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.admonition{padding:12px 16px 2px;border-left:3px solid var(--accent);background:var(--accent-soft)}.admonition-warning,.admonition-danger{border-left-color:var(--warning);background:var(--warning-soft)}.admonition-title{margin-bottom:7px;color:var(--text);font-size:.86rem;font-weight:720}.md-image{display:block;max-width:100%;height:auto;margin:18px auto;border-radius:4px}.md-image-missing{display:block;margin:16px 0;padding:9px 12px;border:1px dashed var(--border-strong);border-radius:5px;color:var(--text-faint);font-size:.84rem;text-align:center}.markdown-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;border:1px solid var(--border);font-size:.91rem}.markdown-body th,.markdown-body td{min-width:100px;padding:8px 11px;border:1px solid var(--border);text-align:left}.markdown-body th{background:var(--surface-muted);font-weight:700}.markdown-body input[type=checkbox]{accent-color:var(--accent)}.problem-toc{position:sticky;top:91px;max-height:calc(100vh - 120px);overflow-y:auto}.toc-details summary{margin-bottom:9px;color:var(--text-soft);cursor:pointer;font-size:.79rem;font-weight:750;letter-spacing:.06em;list-style:none;text-transform:uppercase}.toc-details summary::-webkit-details-marker{display:none}.toc-details summary:after{content:"−";float:right;color:var(--text-faint)}.toc-details:not([open]) summary:after{content:"+"}.toc-details nav{display:grid;gap:2px;border-left:1px solid var(--border)}.toc-link{display:block;padding:5px 10px;border-left:2px solid transparent;color:var(--text-faint);font-size:.79rem;line-height:1.45}.toc-link.is-subheading{padding-left:20px;font-size:.75rem}.toc-link:hover,.toc-link.is-active{border-left-color:var(--accent);color:var(--accent-strong)}.pdf-viewer{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow)}.pdf-viewer-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-bottom:1px solid var(--border)}.pdf-viewer-heading h2{margin:0;font-size:1rem}.pdf-viewer iframe{display:block;width:100%;height:min(78vh,980px);min-height:560px;border:0;background:#fff}.pdf-fallback{margin:0;padding:13px 18px;border-top:1px solid var(--border);color:var(--text-soft);font-size:.82rem}.content-error,.error-page{padding:48px 30px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow)}.content-error h2,.error-page h1{margin-bottom:8px;font-size:1.25rem}.content-error p,.error-lead{margin-bottom:0;color:var(--text-soft)}.about-content{padding-top:3px}.about-content h2{margin:35px 0 10px;color:var(--text);font-size:1.2rem}.about-content h2:first-child{margin-top:0}.about-content p{color:var(--text-soft)}.error-page{text-align:center}.error-code{margin-bottom:5px;color:var(--accent);font-family:ui-monospace,monospace;font-size:.84rem;font-weight:750;letter-spacing:.14em}.primary-link{display:inline-flex;margin-top:21px;padding:9px 15px;border-radius:5px;background:var(--accent);color:#fff;font-weight:650}.primary-link:hover{background:var(--accent-strong);color:#fff}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media (max-width: 900px){.problem-layout,.contest-layout{display:block}.problem-toc{position:static;max-height:none;margin-top:38px;padding-top:15px;border-top:1px solid var(--border)}.toc-details:not([open]){padding-bottom:0}.problem-meta,.contest-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 680px){.shell,.narrow-shell{width:min(100% - 28px,820px)}.header-inner{min-height:59px;gap:17px}.site-nav{gap:0}.site-nav a{padding:0 8px;font-size:.86rem}.theme-toggle{width:33px;height:33px}.site-main{padding:38px 0 57px}.page-heading{display:block;margin-bottom:25px}.heading-count{margin-top:14px}.list-toolbar{display:block;margin-bottom:15px}.search-form{width:100%}.results-summary{margin-top:11px;font-size:.8rem}.problem-table th,.problem-table td{padding:12px 13px}.problem-table th:nth-child(3),.problem-table td:nth-child(3),.problem-table th:nth-child(4),.problem-table td:nth-child(4){display:none}.problem-table,.problem-title-cell{min-width:0}.status-note{display:table;margin:5px 0 0}.problem-heading,.contest-heading{display:block;margin-bottom:22px}.contest-heading .contest-status{margin-top:13px}.contest-card{padding:19px 17px 17px}.contest-card-heading{display:block}.contest-card-heading .contest-status{margin-top:11px}.metadata-warning{margin-top:12px}.problem-meta{gap:12px;margin-bottom:30px;padding:14px 0}.problem-meta-wide{grid-column:span 2}.contest-card-meta,.contest-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.contest-card-tags{grid-column:span 2}.contest-problems{margin-bottom:32px;padding:17px 15px 18px}.markdown-body{font-size:.96rem}.markdown-body h2{margin-top:35px;font-size:1.25rem}.markdown-body h3{font-size:1.05rem}.pdf-viewer-heading{align-items:flex-start;flex-direction:column}.pdf-viewer iframe{min-height:67vh;height:72vh}.content-error,.error-page{padding:38px 20px}.pagination{gap:2px}.pagination-page,.pagination-arrow,.pagination-ellipsis{min-width:31px;height:31px}}
