.announcement-notice[data-v-b7aeb177]{--focus:#664d03;padding:4px max(32px, env(safe-area-inset-right)) 4px max(32px, env(safe-area-inset-left));color:#664d03;background:#fff3cd;border-bottom:1px solid #e6cc80;flex-shrink:0;align-items:center;gap:8px;display:flex}.announcement-notice p[data-v-b7aeb177]{flex:1;min-width:0;line-height:1.7}.announcement-notice a[data-v-b7aeb177]{min-height:44px;color:inherit;align-items:center;font-weight:600;text-decoration:underline;display:inline-flex}.announcement-close[data-v-b7aeb177]{width:44px;height:44px;color:inherit;background:0 0;border:0;border-radius:4px;flex:0 0 44px;place-items:center;padding:0;font-size:24px;line-height:1;display:grid}.announcement-close[data-v-b7aeb177]:hover{background:#ffe69c}@media (width<=480px){.announcement-notice[data-v-b7aeb177]{padding-right:max(16px, env(safe-area-inset-right));padding-left:max(16px, env(safe-area-inset-left))}}.app-shell--practice[data-v-b241d919]{flex-direction:column;height:100dvh;display:flex}.app-shell--practice>.site-header[data-v-b241d919]{flex-shrink:0}.app-shell--practice>.main-shell[data-v-b241d919]{flex:1;width:100%;height:auto;min-height:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f5f7fa;--header-height:60px;--surface:#fff;--soft:#f1f4f8;--ink:#202936;--muted:#616e7f;--line:#dfe5ed;--accent:#14765d;--accent-hover:#105e4b;--on-accent:#fff;--danger:#a52936;--positive-bg:#e8f3ee;--positive:#176044;--pending-bg:#faf0d7;--pending:#815b11;--negative-bg:#fbeaec;--negative:#a52936;--focus:#338c79;--editor-active:#f3f6fa;--editor-selection:#a8d8cc;--code-keyword:#8540b5;--code-string:#276843;--code-number:#a74f20;--code-comment:#667085;--code-function:#285e9d;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;background:var(--bg);color:var(--ink);font-synthesis:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#101318;--surface:#191e25;--soft:#232a34;--ink:#edf1f7;--muted:#a5afbd;--line:#343d49;--accent:#86d2b4;--accent-hover:#a7e5cb;--on-accent:#10291e;--danger:#ffadb7;--positive-bg:#213f30;--positive:#96dfb4;--pending-bg:#403522;--pending:#f0cd7d;--negative-bg:#42292f;--negative:#ffadb7;--focus:#9adfca;--editor-active:#222a35;--editor-selection:#35695d;--code-keyword:#c6a5ff;--code-string:#a4d5a1;--code-number:#edb68a;--code-comment:#94a3b8;--code-function:#9acbfa}}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:var(--accent);text-underline-offset:3px;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}button:disabled,input:disabled,textarea:disabled,select:disabled{cursor:not-allowed;opacity:.55}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h1,h2,h3,p{margin:0}h1{letter-spacing:0;font-size:clamp(24px,2.3vw,28px);font-weight:650;line-height:1.3}h2{font-size:17px;font-weight:650;line-height:1.5}h3{font-size:14px;font-weight:600}.mono,pre,code,.brand-mark{font-family:var(--mono);font-variant-numeric:tabular-nums}.subtle,.field-hint,.optional{color:var(--muted)}.nowrap{white-space:nowrap}.error,.danger{color:var(--danger)}.notice,.solved{color:var(--positive)}.notice,.inline-alert{background:var(--soft);border-radius:4px;padding:12px 16px}.fit{width:fit-content}.grow{flex:1;min-width:0}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:20;background:var(--surface);padding:12px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:8px}.site-header{background:var(--surface);border-bottom:1px solid var(--line)}.header-inner{max-width:none;height:var(--header-height);align-items:center;gap:32px;margin:auto;padding:0 32px;display:flex}.brand{color:var(--ink);flex-shrink:0;align-items:center;gap:14px;display:flex}.brand:hover{text-decoration:none}.brand-mark{letter-spacing:-.09em;font-size:25px;font-weight:700}.brand-caption{color:var(--muted);border-left:1px solid var(--line);padding-left:14px;font-size:12px}.primary-nav{align-self:stretch;gap:26px;display:flex}.primary-nav a{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;padding-top:2px;font-weight:550;display:flex}.primary-nav a.active{color:var(--ink);border-color:var(--accent)}.primary-nav a:hover{color:var(--ink);text-decoration:none}.account-nav{white-space:nowrap;align-items:center;gap:18px;margin-left:auto;display:flex}.account-name{text-overflow:ellipsis;max-width:110px;overflow:hidden}.quiet-link{color:var(--ink)}.main-shell{max-width:1280px;min-height:calc(100dvh - var(--header-height) - 66px);outline:none;margin:auto;padding:32px}.site-footer{max-width:1216px;color:var(--muted);border-top:1px solid var(--line);gap:16px;margin:auto;padding:18px 0 24px;font-size:12px;display:flex}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.page-heading p{margin-top:10px}.breadcrumb{color:var(--muted);gap:10px;margin-bottom:12px;font-size:12px;display:flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px}.content-panel{padding:24px}.content-panel>h2,.content-panel>.section-title{margin-bottom:20px}.stack{flex-direction:column;gap:22px;display:flex}.section-block{margin-top:34px}.section-title{justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spread{justify-content:space-between}.button{background:var(--accent);min-height:42px;color:var(--on-accent);border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:13px;font-weight:600;line-height:1.5;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.button:hover:not(:disabled){background:var(--accent-hover);text-decoration:none}.button:active:not(:disabled){transform:translateY(1px)}.button.secondary{color:var(--ink);background:var(--surface);border-color:var(--line)}.button.secondary:hover:not(:disabled){background:var(--soft);border-color:var(--muted)}.button.small{min-height:36px;padding:6px 12px}.button.danger{color:var(--danger);background:var(--surface);border-color:var(--line)}.button.danger:hover:not(:disabled){background:var(--negative-bg)}.text-button{color:var(--muted);background:0 0;border:0;min-height:36px;padding:7px 0}.text-button:hover{color:var(--accent)}.text-button.danger{color:var(--danger)}label{flex-direction:column;gap:7px;font-size:13px;font-weight:550;display:flex}input,select,textarea{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:4px;width:100%;min-width:0;padding:10px 12px;font-weight:400;line-height:1.5}input,select{min-height:42px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}textarea{resize:vertical}textarea.mono{font-size:13px;line-height:1.65}input:focus,textarea:focus,select:focus{border-color:var(--focus)}.optional,.field-hint{font-size:12px;font-weight:400}.filter-bar{align-items:end;gap:12px;margin-bottom:20px;padding:16px;display:flex}.filter-bar>label{min-width:150px}.filter-bar .search-field{flex:1;max-width:540px}.filter-bar input[type=number]{max-width:180px}.table-panel{overflow:hidden}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.numeric{text-align:right}th{color:var(--muted);background:var(--soft);white-space:nowrap;font-size:12px;font-weight:500}th,td{border-bottom:1px solid var(--line);vertical-align:middle;padding:16px 20px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--soft)}th.wide{width:35%}.title-cell{min-width:220px;font-size:15px;font-weight:600}.table-heading{border-bottom:1px solid var(--line);padding:18px 20px}.tag{color:var(--muted);background:var(--soft);white-space:nowrap;border-radius:3px;margin:2px 6px 2px 0;padding:2px 7px;font-size:11px;display:inline-block}.badge{white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:12px;font-weight:550;display:inline-block}.badge.positive{color:var(--positive);background:var(--positive-bg)}.badge.pending{color:var(--pending);background:var(--pending-bg)}.badge.negative{color:var(--negative);background:var(--negative-bg)}.badge.muted{color:var(--muted);background:var(--soft)}.pagination{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;font-size:12px;display:flex}.pagination>div{align-items:center;gap:18px;display:flex}.state{text-align:center;color:var(--muted);justify-items:center;gap:18px;padding:60px 24px;display:grid}.state.error{color:var(--danger)}.auth-panel{max-width:420px;margin:32px auto 80px;padding:34px}.auth-panel h1{margin-bottom:28px}.auth-panel .notice{margin-bottom:20px}.auth-bottom{border-top:1px solid var(--line);text-align:center;margin-top:24px;padding-top:20px;font-size:13px}.problem-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:20px;margin:-6px 0 26px;font-size:12px;display:flex}.workspace{grid-template-columns:minmax(0,1.08fr) minmax(340px,1fr);align-items:start;gap:22px;display:grid}.statement{scrollbar-gutter:stable;height:100%;padding:26px;overflow:auto}.statement>h2,.sample>h2{margin-top:28px;margin-bottom:12px}.statement>p:last-child{margin-top:26px}.markdown{overflow-wrap:anywhere;line-height:1.9}.markdown .katex{font-size:1.1em}.markdown .katex-display{max-width:100%;padding:.2em 0;overflow:auto hidden}.markdown .katex-error,.markdown .math-error{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--danger)}.markdown p{margin:12px 0}.markdown h1,.markdown h2,.markdown h3{margin:20px 0 10px}.markdown pre,pre.source-code,pre.diagnostic{background:var(--soft);white-space:pre;border-radius:4px;padding:18px;font-size:13px;line-height:1.7;overflow:auto}.markdown img{max-width:100%}.markdown blockquote{background:var(--soft);color:var(--muted);margin-left:0;padding:4px 18px}.markdown table{display:block;overflow:auto}.markdown code:not(pre code){background:var(--soft);border-radius:3px;padding:2px 5px;font-size:.9em}.sample-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.sample-grid h3{color:var(--muted);margin-bottom:8px;font-size:12px}.sample-grid pre{background:var(--soft);white-space:pre-wrap;overflow-wrap:anywhere;min-height:54px;margin:0;padding:16px;font-size:13px;overflow:auto}.code-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.editor-toolbar,.editor-footer{justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.editor-toolbar{border-bottom:1px solid var(--line)}.editor-toolbar select{width:150px}.code-label{display:block}.code-editor{background:var(--surface);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.editor-mount{flex:1;min-height:0}.editor-language-error{flex-shrink:0;padding:6px 16px;font-size:12px}.code-editor:focus-within{box-shadow:inset 0 0 0 2px var(--focus)}.code-editor .cm-content:focus{outline:none}.editor-footer{border-top:1px solid var(--line);font-size:12px}.code-hint{padding:0 18px 16px}.settings-grid{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.form-row{align-items:end;gap:20px;display:flex}.align-start{align-items:start}.editor-form{max-width:1080px}.sample-edit{border-top:1px solid var(--line);gap:16px;margin-top:20px;padding-top:20px;display:grid}.sample-edit .section-title{margin:0}.submission-summary{padding:26px}dl{flex-wrap:wrap;gap:24px 36px;margin:20px 0 0;display:flex}dt{color:var(--muted);margin-bottom:6px;font-size:12px}dd{margin:0;font-size:13px}.case-message{white-space:pre-wrap;overflow-wrap:anywhere;max-width:500px;font-size:12px}.profile-strip{align-items:center;gap:50px;padding:24px 28px;display:flex}.profile-strip>div{align-items:baseline;gap:16px;display:flex}.metric{font-size:38px;font-weight:600}.profile-strip dl{margin:0}.tabs{border-bottom:1px solid var(--line);gap:28px;margin:0 0 24px;display:flex}.tabs a{color:var(--muted);border-bottom:2px solid #0000;padding:10px 0}.tabs a.selected{color:var(--ink);border-color:var(--accent)}.confirm-control{display:inline-block}dialog{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;max-width:min(460px,100vw - 32px);padding:28px;box-shadow:0 12px 60px #0003}dialog::backdrop{background:#0006}dialog p{white-space:normal;margin:18px 0 26px}dialog .actions{justify-content:flex-end}@media (width<=1100px){.header-inner{gap:24px;padding:0 24px}.brand-caption{display:none}.main-shell{padding:28px 24px}.primary-nav{gap:20px}.site-footer{margin:0 24px}th,td{padding:14px}}@media (width<=800px){:root{--header-height:104px}.workspace,.settings-grid{grid-template-columns:1fr}.code-panel{position:static}.header-inner{flex-wrap:wrap;align-content:start;gap:0 20px;padding-top:10px}.primary-nav{order:3;gap:26px;width:100%;min-height:44px;margin-top:6px;overflow-x:auto}.account-nav{gap:14px}.account-nav .quiet-link{align-items:center;min-height:44px;display:inline-flex}.filter-bar{flex-wrap:wrap}.filter-bar .search-field{min-width:min(100%,240px);max-width:none}.profile-strip{flex-direction:column;align-items:start;gap:20px}}@media (width<=480px){.main-shell{padding:26px 16px}.header-inner{padding-left:16px;padding-right:16px}.account-name{max-width:70px}.account-nav{gap:10px}.account-nav .quiet-link{align-items:center;min-height:44px;display:inline-flex}.brand-mark{font-size:23px}.page-heading{flex-wrap:wrap;margin-bottom:22px}.content-panel,.statement{padding:20px}.form-row{flex-direction:column;align-items:stretch}.sample-grid{grid-template-columns:1fr}.filter-bar>label{flex:1;min-width:0}.filter-bar .search-field{flex-basis:100%}.pagination{gap:8px;padding:14px}.pagination>div{gap:10px}.pagination .button{padding:8px 10px}.auth-panel{margin:14px auto 40px;padding:24px}.button,.button.small,.text-button,input,select{min-height:44px}.main-shell--practice{padding:12px}.editor-status>span:last-child{display:none}.problem-meta{gap:10px 16px}.site-footer{margin:0 16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.site-header{z-index:30;position:relative}.ui-icon{vertical-align:middle;flex-shrink:0;width:18px;height:18px}.brand-dot{color:var(--accent)}.route-host,.route-page{min-width:0}.page-enter-active{transition:opacity .18s ease-out,transform .18s ease-out}.page-leave-active{transition:opacity .1s ease-in}.page-enter-from{opacity:0;transform:translateY(7px)}.page-leave-to{opacity:0}.heading-title{align-items:baseline;gap:14px;display:flex}.result-count{color:var(--muted);font-size:13px}.account-menu{position:relative}.account-trigger{cursor:pointer;align-items:center;gap:10px;min-height:40px;list-style:none;display:flex}.account-trigger::-webkit-details-marker{display:none}.account-trigger>.ui-icon{width:14px;color:var(--muted);transition:transform .15s}.account-menu[open] .account-trigger>.ui-icon{transform:rotate(180deg)}.avatar{background:var(--soft);width:30px;height:30px;color:var(--accent);border:1px solid var(--line);border-radius:50%;place-items:center;font-weight:600;display:grid}.account-popover{background:var(--surface);border:1px solid var(--line);border-radius:10px;width:200px;padding:6px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 8px 30px #0002}.account-popover a,.account-popover button{text-align:left;width:100%;font:inherit;color:var(--ink);background:0 0;border:0;border-radius:5px;padding:10px 12px;display:block}.account-popover a:hover,.account-popover button:hover{background:var(--soft);text-decoration:none}.menu-identity{color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:5px;padding:9px 12px;font-size:12px;display:block}.account-popover .menu-logout{color:var(--danger)}.library-heading{margin-bottom:22px}.library-filters{border-bottom:1px solid var(--line);margin:0;padding:20px}.library-filters .search-field{max-width:none;position:relative}.search-field>.ui-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.search-field:has(>.ui-icon) input{padding-left:40px}.library-filters>label:not(.search-field){min-width:140px;max-width:190px}.problem-table .title-cell>a{color:var(--ink)}.problem-table .title-cell>a:hover{color:var(--accent)}.problem-table .author-cell{font-size:13px}.author-cell a{color:var(--muted)}.problem-tags{flex-wrap:wrap;align-items:baseline;gap:5px;margin-top:5px;font-weight:400;display:flex}.problem-tags:empty{display:none}.problem-tags .tag{background:0 0;margin:0;padding:0;font-size:11px}.problem-tags .tag+.tag:before{content:"·";color:var(--line);margin-right:5px}.more-tags summary{cursor:pointer;color:var(--muted);font-size:11px;list-style:none}.more-tags summary::-webkit-details-marker{display:none}.more-tags[open]{flex-basis:100%}.tag-popover{flex-wrap:wrap;gap:6px;margin-top:5px;display:flex}.problem-table .badge{background:0 0;padding:0}.problem-table th:first-child{width:80px}.problem-table th.wide{width:46%}.main-shell--practice{max-width:none;height:calc(100dvh - var(--header-height));min-height:0;padding:16px 20px 20px;overflow:hidden}.main-shell--practice .route-host,.main-shell--practice .route-page{height:100%}.practice-page{flex-direction:column;height:100%;min-height:0;display:flex}.practice-heading{flex-shrink:0;margin-bottom:12px}.practice-heading h1{font-size:23px}.practice-heading .breadcrumb{margin-bottom:4px}.practice-page>.problem-meta{flex-shrink:0;gap:16px;margin:0 0 14px}.pane-layout{grid-template-columns:minmax(0, var(--pane-ratio)) 12px minmax(0, 1fr);flex:1;min-height:0;display:grid}.pane-side{min-width:0;min-height:0}.pane-divider{cursor:col-resize;touch-action:none;color:var(--muted);border-radius:4px;justify-content:center;align-items:center;display:flex}.pane-divider .ui-icon{width:12px}.pane-divider:hover,.pane-divider:focus-visible{background:var(--soft);color:var(--accent)}.pane-layout.is-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.pane-layout.is-resizing .pane-side{pointer-events:none}.statement .markdown{font-size:16px;line-height:1.85}.statement>.section-title{border-bottom:1px solid var(--line);padding-bottom:16px}.statement .sample{margin-top:28px}.statement .sample h2{margin-top:0}.statement .sample-grid pre{white-space:pre;overflow-wrap:normal}.code-panel form{flex-direction:column;flex:1;min-height:0;display:flex}.editor-toolbar{flex-shrink:0}.editor-toolbar h2{align-items:center;gap:8px;font-size:14px;display:flex}.editor-toolbar h2 .ui-icon{color:var(--muted)}.editor-toolbar select{min-height:34px;padding:6px 10px;font-size:12px}.editor-footer{background:var(--soft);flex-shrink:0}.editor-status{color:var(--muted);flex-direction:column;gap:2px;font-size:11px;display:flex}.code-panel .code-hint{background:var(--soft);padding:8px 16px}.recent-drawer{border-top:1px solid var(--line);flex-shrink:0;font-size:12px}.recent-drawer>summary{cursor:pointer;color:var(--muted);padding:11px 16px}.recent-drawer[open]{max-height:40%;overflow:auto}.recent-drawer .section-title{justify-content:flex-end;margin-bottom:6px;padding:0 16px}.recent-drawer table{font-size:12px}.recent-drawer th,.recent-drawer td{padding:10px 12px}.recent-drawer .state{padding:24px}.mobile-pane-switch{display:none}@media (width<=800px){.account-trigger{min-height:44px}.main-shell--practice{padding:14px}.practice-heading .actions .button{min-height:36px;padding:6px 10px}.practice-heading h1{font-size:20px}.practice-page>.problem-meta{gap:8px 12px;margin-bottom:12px}.mobile-pane-switch{border:1px solid var(--line);background:var(--soft);border-radius:7px;align-self:flex-start;gap:4px;margin-bottom:12px;padding:3px;display:flex}.mobile-pane-switch button{min-height:38px;color:var(--muted);font:inherit;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:6px 20px;display:inline-flex}.mobile-pane-switch button[aria-pressed=true]{color:var(--ink);background:var(--surface);box-shadow:0 1px 3px #0001}.pane-layout{display:block}.pane-divider{display:none}.pane-side{height:100%}.pane-layout[data-active=left] .pane-side--right,.pane-layout[data-active=right] .pane-side--left{display:none}.library-filters>label:not(.search-field){max-width:none}}@media (width<=480px){.main-shell--practice{padding:12px}.practice-heading{gap:10px}.practice-heading .actions .button,.mobile-pane-switch button{min-height:44px}.account-trigger{gap:6px}.account-trigger .account-name{display:none}.account-popover{width:190px}.library-filters{padding:14px}}@media (prefers-reduced-motion:reduce){.page-enter-active,.page-leave-active{transition:none!important}.page-enter-from,.page-leave-to{opacity:1;transform:none}}
