:root{--paper: #F3F5FB;--surface: #FFFFFF;--surface-2: #EAEEF9;--ink: #0F1736;--ink-2: #364066;--muted: #59648D;--line: #D9DEEE;--line-strong: #B5BEDB;--primary: #2B45F5;--primary-hover: #1D34D0;--primary-ink: #FFFFFF;--primary-soft: #E3E8FF;--gold: #E79B00;--gold-soft: #FFF0C7;--gold-ink: #6A4500;--easy: #0A9468;--medium: #A97B00;--hard: #DB2468;--ok-soft: #DDF5EA;--bad-soft: #FDE3E8;--warn-soft: #FFEFD6;--code-bg: #0E1530;--code-bg-2: #151E42;--code-line: #232E5C;--code-ink: #E6EAFB;--code-muted: #7682B3;--shadow: 0 1px 2px rgba(15,23,54,.06),0 8px 24px -12px rgba(15,23,54,.18);--shadow-pop: 0 12px 40px -8px rgba(15,23,54,.28);--r-s: 6px;--r: 10px;--r-l: 16px;--font: 'Archivo','Segoe UI',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;--mono: 'JetBrains Mono',ui-monospace,'SF Mono','Cascadia Code',Menlo,Consolas,monospace;--header-h: 60px;color-scheme: light}[data-theme='dark']{--paper: #0A1024;--surface: #121A38;--surface-2: #1A2449;--ink: #E9EDFB;--ink-2: #C5CCEA;--muted: #97A2CA;--line: #27325D;--line-strong: #3B4878;--primary: #8394FF;--primary-hover: #9EACFF;--primary-ink: #0A1024;--primary-soft: #1D2860;--gold: #FFB627;--gold-soft: #3B2F0F;--gold-ink: #FFD88A;--easy: #1FA272;--medium: #BD8B1D;--hard: #E5548A;--ok-soft: #0F3A2E;--bad-soft: #47182A;--warn-soft: #40300F;--code-bg: #070C1D;--code-bg-2: #0E1530;--code-line: #1E2850;--shadow: 0 1px 2px rgba(0,0,0,.3),0 8px 24px -12px rgba(0,0,0,.6);--shadow-pop: 0 12px 40px -8px rgba(0,0,0,.7);color-scheme: dark}*,*::before,*::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;scroll-behavior: smooth}body{margin: 0;background: var(--paper);color: var(--ink);font-family: var(--font);font-size: 16px;line-height: 1.55;-webkit-font-smoothing: antialiased;min-height: 100vh;display: flex;flex-direction: column}h1,h2,h3,h4{font-stretch: 125%;font-weight: 800;line-height: 1.12;letter-spacing: -.012em;margin: 0 0 .5em}h1{font-size: clamp(2.1rem,4.6vw,3.5rem)}h2{font-size: clamp(1.45rem,2.4vw,1.95rem)}h3{font-size: 1.2rem;font-weight: 700}h4{font-size: 1rem;font-weight: 700}p{margin: 0 0 1em}a{color: var(--primary);text-decoration: none}a:hover{text-decoration: underline}button,input,select,textarea{font: inherit;color: inherit}button{cursor: pointer}code{font-family: var(--mono);font-size: .88em;background: var(--surface-2);padding: .12em .38em;border-radius: 4px}hr{border: 0;border-top: 1px solid var(--line);margin: 1.5rem 0}:focus-visible{outline: 2px solid var(--primary);outline-offset: 2px;border-radius: 4px}::selection{background: var(--primary);color: var(--primary-ink)}.ico{flex: none;vertical-align: -.18em}.num{font-variant-numeric: tabular-nums}.muted{color: var(--muted)}.small{font-size: .875rem}.center{text-align: center}.sr{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap}[hidden]{display: none !important}.wrap{width: 100%;max-width: 1200px;margin: 0 auto;padding: 0 24px}.wrap-narrow{max-width: 780px}main{flex: 1}.page{padding-top: 36px;padding-bottom: 72px}.page-head{margin-bottom: 24px}.page-head h1{font-size: clamp(1.9rem,3.4vw,2.6rem)}.page-head p{color: var(--muted);max-width: 64ch;margin: 0}.row{display: flex;align-items: center;gap: 12px;flex-wrap: wrap}.row-between{justify-content: space-between}.grow{flex: 1;min-width: 0}.stack > * + *{margin-top: 16px}.grid-2{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 16px}.grid-3{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 16px}.grid-side{display: grid;grid-template-columns: minmax(0,1fr) 320px;gap: 24px;align-items: start}.site-header{position: sticky;top: 0;z-index: 40;background: var(--surface);border-bottom: 1px solid var(--line)}.site-header .wrap{height: var(--header-h);display: flex;align-items: center;gap: 20px;max-width: 1400px}.brand{display: flex;align-items: center;gap: 10px;font-stretch: 125%;font-weight: 800;font-size: 1.15rem;color: var(--ink);letter-spacing: -.01em}.brand:hover{text-decoration: none}.brand svg{display: block}.brand span{line-height: 1.05;white-space: nowrap}.brand svg{flex: none}.nav{display: flex;gap: 2px;margin-left: 8px}.nav a{padding: 8px 12px;border-radius: var(--r-s);color: var(--ink-2);font-weight: 500;font-size: .95rem}.nav a:hover{background: var(--surface-2);text-decoration: none;color: var(--ink)}.nav a.active{color: var(--primary);background: var(--primary-soft)}.nav .nav-signup{display: none}.header-tools{margin-left: auto;display: flex;align-items: center;gap: 8px}.icon-btn{display: inline-flex;align-items: center;justify-content: center;width: 36px;height: 36px;border: 1px solid transparent;background: transparent;border-radius: var(--r-s);color: var(--ink-2)}.icon-btn:hover{background: var(--surface-2);color: var(--ink)}.search-btn{display: inline-flex;align-items: center;gap: 8px;height: 36px;padding: 0 10px 0 12px;border: 1px solid var(--line);background: var(--paper);border-radius: var(--r-s);color: var(--muted);font-size: .875rem}.search-btn:hover{border-color: var(--line-strong);color: var(--ink)}.kbd{font-family: var(--mono);font-size: .72rem;border: 1px solid var(--line-strong);border-bottom-width: 2px;border-radius: 4px;padding: 0 5px;background: var(--surface);color: var(--muted)}.menu-toggle{display: none}.user-btn{display: flex;align-items: center;gap: 8px;border: 1px solid var(--line);background: var(--surface);padding: 3px 10px 3px 3px;border-radius: 999px;font-weight: 600;font-size: .9rem}.user-btn:hover{border-color: var(--line-strong)}.pts{display: inline-flex;align-items: center;gap: 5px;color: var(--gold-ink);background: var(--gold-soft);border-radius: 999px;padding: 4px 10px;font-weight: 700;font-size: .85rem;font-variant-numeric: tabular-nums}.pts .ico{color: var(--gold)}.dropdown{position: relative}.dropdown-menu{position: absolute;right: 0;top: calc(100% + 8px);min-width: 220px;background: var(--surface);border: 1px solid var(--line);border-radius: var(--r);box-shadow: var(--shadow-pop);padding: 6px;z-index: 50}.dropdown-menu a,.dropdown-menu button{display: flex;align-items: center;gap: 10px;width: 100%;padding: 9px 10px;border: 0;background: none;border-radius: var(--r-s);color: var(--ink);font-size: .93rem;text-align: left}.dropdown-menu a:hover,.dropdown-menu button:hover{background: var(--surface-2);text-decoration: none}.dropdown-menu .sep{height: 1px;background: var(--line);margin: 6px 0}.dropdown-menu .who{padding: 8px 10px 10px;font-size: .85rem;color: var(--muted)}.dropdown-menu .who strong{display: block;color: var(--ink);font-size: .95rem}.announce{background: var(--ink);color: var(--paper);font-size: .9rem;text-align: center;padding: 7px 16px}[data-theme='dark'] .announce{background: var(--primary-soft);color: var(--ink)}.site-footer{border-top: 1px solid var(--line);background: var(--surface);padding: 36px 0 28px;font-size: .92rem;color: var(--muted)}.footer-grid{display: grid;grid-template-columns: 1.6fr repeat(3,1fr);gap: 32px}.footer-grid h4{font-size: .92rem;color: var(--ink);margin-bottom: 10px}.footer-grid ul{list-style: none;margin: 0;padding: 0}.footer-grid li{margin: 6px 0}.footer-grid a{color: var(--muted)}.footer-grid a:hover{color: var(--primary)}.footer-base{margin-top: 28px;padding-top: 18px;border-top: 1px solid var(--line);display: flex;justify-content: space-between;gap: 12px;flex-wrap: wrap}.btn{display: inline-flex;align-items: center;justify-content: center;gap: 8px;height: 40px;padding: 0 16px;border-radius: var(--r-s);border: 1px solid transparent;font-weight: 650;font-size: .95rem;white-space: nowrap;text-decoration: none;transition: background .12s,border-color .12s,transform .06s}.btn:hover{text-decoration: none}.btn:active{transform: translateY(1px)}.btn[disabled]{opacity: .55;cursor: not-allowed}.btn-primary{background: var(--primary);color: var(--primary-ink)}.btn-primary:hover{background: var(--primary-hover)}.btn-ghost{background: transparent;border-color: var(--line-strong);color: var(--ink)}.btn-ghost:hover{background: var(--surface-2)}.btn-soft{background: var(--primary-soft);color: var(--primary)}.btn-soft:hover{filter: brightness(.97)}.btn-gold{background: var(--gold);color: #2A1B00}.btn-gold:hover{filter: brightness(1.05)}.btn-danger{background: var(--hard);color: #fff}.btn-ok{background: var(--easy);color: #fff}[data-theme='dark'] .btn-danger,[data-theme='dark'] .btn-ok{color: #0A1024}.btn-sm{height: 32px;padding: 0 11px;font-size: .86rem}.btn-lg{height: 48px;padding: 0 22px;font-size: 1.02rem}.btn-block{width: 100%}.link-btn{background: none;border: 0;padding: 0;color: var(--primary);font-weight: 600}.link-btn:hover{text-decoration: underline}.field{display: block;margin-bottom: 14px}.field > span,.label{display: block;font-size: .87rem;font-weight: 650;margin-bottom: 5px;color: var(--ink-2)}.field small{display: block;margin-top: 4px;color: var(--muted);font-size: .8rem}.input,.select,.textarea{width: 100%;height: 40px;padding: 0 12px;border: 1px solid var(--line-strong);border-radius: var(--r-s);background: var(--surface);color: var(--ink)}.textarea{height: auto;min-height: 96px;padding: 10px 12px;resize: vertical;line-height: 1.5}.textarea.mono,.input.mono{font-family: var(--mono);font-size: .86rem}.input:focus,.select:focus,.textarea:focus{outline: 2px solid var(--primary);outline-offset: 0;border-color: var(--primary)}.input::placeholder,.textarea::placeholder{color: var(--muted);opacity: .8}.select{appearance: none;padding-right: 32px;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%237682B3' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 11px center}.input-icon{position: relative}.input-icon .ico{position: absolute;left: 11px;top: 50%;transform: translateY(-50%);color: var(--muted);pointer-events: none}.input-icon .input{padding-left: 36px}.form-error{background: var(--bad-soft);color: var(--hard);border-radius: var(--r-s);padding: 9px 12px;font-size: .9rem;font-weight: 550;margin-bottom: 14px}.form-ok{background: var(--ok-soft);color: var(--easy);border-radius: var(--r-s);padding: 9px 12px;font-size: .9rem;font-weight: 550;margin-bottom: 14px}.check{display: flex;gap: 8px;align-items: center;font-size: .92rem}.meter{height: 4px;border-radius: 2px;background: var(--surface-2);margin-top: 6px;overflow: hidden}.meter i{display: block;height: 100%;width: 0;background: var(--hard);transition: width .15s,background .15s}.card{background: var(--surface);border: 1px solid var(--line);border-radius: var(--r);padding: 20px}.card-flush{padding: 0;overflow: hidden}.card h3{margin-bottom: 12px}.card-head{display: flex;align-items: center;justify-content: space-between;gap: 12px;padding: 14px 18px;border-bottom: 1px solid var(--line)}.card-head h3{margin: 0;font-size: 1.02rem}.card-body{padding: 18px}.note{border-left: 3px solid var(--primary);background: var(--primary-soft);padding: 10px 14px;border-radius: 0 var(--r-s) var(--r-s) 0;font-size: .92rem;color: var(--ink-2)}.note-gold{border-color: var(--gold);background: var(--gold-soft);color: var(--gold-ink)}.empty{text-align: center;padding: 40px 20px;color: var(--muted)}.empty h3{color: var(--ink)}.empty .ico{color: var(--line-strong);margin-bottom: 8px}.tag{display: inline-flex;align-items: center;gap: 5px;padding: 2px 9px;border-radius: 999px;background: var(--surface-2);color: var(--ink-2);font-size: .78rem;font-weight: 600;white-space: nowrap}.tag-gold{background: var(--gold-soft);color: var(--gold-ink)}.tag-primary{background: var(--primary-soft);color: var(--primary)}.tag-ok{background: var(--ok-soft);color: var(--easy)}.tag-bad{background: var(--bad-soft);color: var(--hard)}.chip{display: inline-flex;align-items: center;gap: 6px;height: 30px;padding: 0 11px;border-radius: 999px;border: 1px solid var(--line-strong);background: var(--surface);color: var(--ink-2);font-size: .84rem;font-weight: 600}.chip:hover{border-color: var(--primary);color: var(--primary)}.chip[aria-pressed='true']{background: var(--primary);border-color: var(--primary);color: var(--primary-ink)}.chip .count{opacity: .7;font-weight: 500}.chips{display: flex;flex-wrap: wrap;gap: 6px}.seg{display: inline-flex;border: 1px solid var(--line-strong);border-radius: var(--r-s);overflow: hidden;background: var(--surface)}.seg button{border: 0;background: none;padding: 0 13px;height: 38px;font-weight: 600;font-size: .88rem;color: var(--ink-2);border-right: 1px solid var(--line)}.seg button:last-child{border-right: 0}.seg button:hover{background: var(--surface-2)}.seg button[aria-pressed='true']{background: var(--ink);color: var(--paper)}[data-theme='dark'] .seg button[aria-pressed='true']{background: var(--primary);color: var(--primary-ink)}.diff{display: inline-flex;align-items: center;gap: 7px;font-weight: 650;font-size: .88rem;white-space: nowrap;color: var(--ink-2)}.diff-bars{display: inline-flex;align-items: flex-end;gap: 2px;height: 13px}.diff-bars i{width: 4px;border-radius: 1px;background: var(--line-strong)}.diff-bars i:nth-child(1){height: 5px}.diff-bars i:nth-child(2){height: 9px}.diff-bars i:nth-child(3){height: 13px}.diff-easy .diff-bars i.on{background: var(--easy)}.diff-medium .diff-bars i.on{background: var(--medium)}.diff-hard .diff-bars i.on{background: var(--hard)}.avatar{display: inline-flex;align-items: center;justify-content: center;border-radius: 50%;background: hsl(var(--h,230) 62% 46%);color: #fff;font-weight: 700;flex: none;letter-spacing: .01em}.tabs{display: flex;gap: 2px;border-bottom: 1px solid var(--line);overflow-x: auto;scrollbar-width: none}.tabs::-webkit-scrollbar{display: none}.tabs button{border: 0;background: none;padding: 11px 14px;font-weight: 650;font-size: .9rem;color: var(--muted);border-bottom: 2px solid transparent;margin-bottom: -1px;white-space: nowrap;display: inline-flex;align-items: center;gap: 6px}.tabs button:hover{color: var(--ink)}.tabs button[aria-selected='true']{color: var(--primary);border-bottom-color: var(--primary)}.progress{height: 8px;border-radius: 4px;background: var(--surface-2);overflow: hidden}.progress i{display: block;height: 100%;background: var(--primary);border-radius: 4px}.table-wrap{overflow-x: auto}table{border-collapse: collapse;width: 100%}.table th{text-align: left;font-size: .8rem;font-weight: 700;color: var(--muted);padding: 10px 14px;border-bottom: 1px solid var(--line-strong);white-space: nowrap;background: var(--surface)}.table td{padding: 12px 14px;border-bottom: 1px solid var(--line);vertical-align: middle}.table tbody tr:last-child td{border-bottom: 0}.table tbody tr:hover{background: color-mix(in srgb,var(--primary-soft) 45%,transparent)}.table .right{text-align: right}.table a.title{color: var(--ink);font-weight: 600}.table a.title:hover{color: var(--primary)}.table tr.me{background: var(--primary-soft)}.md-table th,.md-table td{border: 1px solid var(--line);padding: 7px 12px;text-align: left;font-size: .92rem}.md-table th{background: var(--surface-2)}.status-ico{display: inline-flex;width: 20px;height: 20px;align-items: center;justify-content: center;border-radius: 50%}.status-solved{background: var(--easy);color: #fff}[data-theme='dark'] .status-solved{color: #0A1024}.status-tried{border: 2px solid var(--medium)}.status-none{border: 2px solid var(--line-strong)}.star-btn{border: 0;background: none;color: var(--line-strong);padding: 4px;border-radius: 4px;display: inline-flex}.star-btn:hover{color: var(--gold)}.star-btn.on{color: var(--gold)}.prose{max-width: 72ch}.prose h2{font-size: 1.35rem;margin-top: 1.6em}.prose h3{font-size: 1.1rem;margin-top: 1.5em}.prose h4{margin-top: 1.3em}.prose > :first-child{margin-top: 0}.prose ul,.prose ol{padding-left: 1.3em;margin: 0 0 1em}.prose li{margin: .3em 0}.prose blockquote{margin: 1.2em 0;padding: 10px 16px;border-left: 3px solid var(--gold);background: var(--gold-soft);color: var(--gold-ink);border-radius: 0 var(--r-s) var(--r-s) 0;font-weight: 550}pre.code{background: var(--code-bg);color: var(--code-ink);border-radius: var(--r);padding: 14px 16px;overflow-x: auto;font-family: var(--mono);font-size: .86rem;line-height: 1.6;margin: 0 0 1em;tab-size: 4}pre.code code{background: none;padding: 0;font-size: inherit;color: inherit}pre.io{background: var(--surface-2);border-radius: var(--r-s);padding: 10px 12px;font-family: var(--mono);font-size: .84rem;line-height: 1.5;overflow-x: auto;margin: 0;white-space: pre;max-height: 220px}.tk-k{color: #A5B4FF}.tk-t{color: #7DD3FC}.tk-s{color: #FFD27A}.tk-n{color: #7EE0C0}.tk-c{color: #6F7BA8;font-style: italic}.tk-f{color: #F5B8D8}.tk-m{color: #FFB86B}.ed{height: 100%;background: var(--code-bg);color: var(--code-ink);font-family: var(--mono);font-size: var(--ed-size,14px);line-height: 1.6;font-variant-ligatures: none}.ed-scroll{height: 100%;overflow: auto;scrollbar-color: var(--code-line) transparent}.ed-inner{display: flex;min-height: 100%;min-width: 100%;width: max-content}.ed-gutter{position: sticky;left: 0;z-index: 2;flex: none;min-width: 46px;padding: 12px 10px 12px 8px;text-align: right;color: var(--code-muted);background: var(--code-bg);white-space: pre;user-select: none;border-right: 1px solid var(--code-line)}.ed-body{position: relative;flex: 1 0 auto}.ed-pre,.ed-ta{margin: 0;padding: 12px 24px 12px 14px;border: 0;font: inherit;line-height: inherit;letter-spacing: 0;white-space: pre;tab-size: 4;font-variant-ligatures: none}.ed-pre{min-height: 100%;pointer-events: none}.ed-pre code{font: inherit;background: none;padding: 0;color: inherit;border-radius: 0}.ed-ta{position: absolute;inset: 0;width: 100%;height: 100%;resize: none;overflow: hidden;background: transparent;color: transparent;caret-color: #fff;outline: none;-webkit-text-fill-color: transparent}.ed-ta::selection{background: rgba(131,148,255,.38);color: transparent;-webkit-text-fill-color: transparent}.ed-ta:focus-visible{outline: none}.ink-panel{background: var(--code-bg);color: var(--code-ink);border-radius: var(--r);overflow: hidden;border: 1px solid var(--code-line)}.ink-bar{display: flex;align-items: center;gap: 8px;padding: 8px 10px;background: var(--code-bg-2);border-bottom: 1px solid var(--code-line);min-height: 48px}.ink-bar .select,.ink-bar .input{background-color: var(--code-bg);border-color: var(--code-line);color: var(--code-ink);height: 32px;font-size: .86rem;width: auto}.ink-bar .icon-btn{color: var(--code-muted);width: 32px;height: 32px}.ink-bar .icon-btn:hover{background: var(--code-line);color: var(--code-ink)}.ink-bar .muted{color: var(--code-muted);font-size: .8rem}.ink-btn{display: inline-flex;align-items: center;gap: 7px;height: 32px;padding: 0 12px;border-radius: var(--r-s);border: 1px solid var(--code-line);background: var(--code-bg);color: var(--code-ink);font-weight: 650;font-size: .86rem}.ink-btn:hover{border-color: var(--code-muted)}.ink-btn[disabled]{opacity: .5;cursor: wait}.ink-btn.run{background: #E6EAFB;color: #0E1530;border-color: #E6EAFB}.ink-btn.submit{background: #2FBF8A;color: #062218;border-color: #2FBF8A}.term{font-family: var(--mono);font-size: .84rem;line-height: 1.55;white-space: pre-wrap;word-break: break-word;padding: 12px 14px;margin: 0;color: var(--code-ink);overflow: auto}.term .err{color: #FF9AA9}.term .dim{color: var(--code-muted)}.term .okc{color: #5BE3A9}.spin{width: 14px;height: 14px;border-radius: 50%;border: 2px solid currentColor;border-right-color: transparent;animation: spin .7s linear infinite;display: inline-block;flex: none}@keyframes spin{to{transform: rotate(360deg)}}#toasts{position: fixed;right: 16px;bottom: 16px;z-index: 100;display: flex;flex-direction: column;gap: 8px;max-width: min(380px,calc(100vw - 32px))}.toast{display: flex;align-items: flex-start;gap: 9px;background: var(--ink);color: var(--paper);padding: 11px 14px;border-radius: var(--r-s);box-shadow: var(--shadow-pop);font-size: .92rem;font-weight: 550;animation: rise .18s ease-out}.toast .ico{margin-top: 2px}.toast-success .ico{color: #5BE3A9}.toast-error .ico{color: #FF9AA9}[data-theme='dark'] .toast{background: #E9EDFB;color: #0A1024}[data-theme='dark'] .toast-success .ico{color: #0B8F63}[data-theme='dark'] .toast-error .ico{color: #D92548}.toast.out{opacity: 0;transition: opacity .25s}@keyframes rise{from{transform: translateY(8px);opacity: 0}}.modal-back{position: fixed;inset: 0;z-index: 90;background: rgba(10,16,36,.55);display: flex;align-items: flex-start;justify-content: center;padding: 8vh 16px 16px;overflow-y: auto}.modal{width: 100%;min-width: 0;max-width: 480px;background: var(--surface);border-radius: var(--r-l);box-shadow: var(--shadow-pop);border: 1px solid var(--line);animation: rise .16s ease-out}.modal-wide{max-width: 760px}.modal-head{display: flex;align-items: center;justify-content: space-between;gap: 12px;padding: 16px 16px 0 22px}.modal-head h2{font-size: 1.25rem;margin: 0}.modal-body{padding: 14px 22px 22px}.modal-actions{display: flex;justify-content: flex-end;gap: 10px;margin-top: 18px;flex-wrap: wrap}.creds{border: 1px solid var(--line);border-radius: var(--r);overflow: hidden;margin: 14px 0}.creds-row{display: grid;grid-template-columns: 92px 1fr auto;align-items: center;gap: 10px;padding: 9px 12px;border-bottom: 1px solid var(--line);font-size: .92rem}.creds-row:last-child{border-bottom: 0}.creds-row span{color: var(--muted);font-size: .84rem}.creds-row b{font-family: var(--mono);font-weight: 500;font-size: .9rem;overflow-wrap: anywhere}.creds-title{padding: 8px 12px;background: var(--surface-2);font-weight: 700;font-size: .84rem;display: flex;justify-content: space-between;align-items: center;gap: 8px;flex-wrap: wrap}.palette-list{max-height: 50vh;overflow: auto;margin: 10px -8px -8px}.palette-list a{display: flex;align-items: center;justify-content: space-between;gap: 12px;padding: 9px 10px;border-radius: var(--r-s);color: var(--ink)}.palette-list a:hover,.palette-list a.sel{background: var(--primary-soft);text-decoration: none}.hero{padding: 56px 0 48px}.hero-grid{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1.05fr);gap: 48px;align-items: center}.hero h1{font-size: clamp(2.4rem,5.4vw,4.1rem);font-stretch: 125%;font-weight: 800;letter-spacing: -.025em;line-height: 1;margin-bottom: 20px}.lead{font-size: 1.15rem;color: var(--ink-2);max-width: 52ch}.hero-cta{display: flex;gap: 12px;flex-wrap: wrap;margin: 26px 0 22px}.hero-facts{list-style: none;padding: 0;margin: 0;display: grid;gap: 8px;color: var(--ink-2);font-size: .95rem}.hero-facts li{display: flex;gap: 10px;align-items: flex-start}.hero-facts .ico{color: var(--easy);margin-top: 3px}.hero-demo{box-shadow: var(--shadow-pop)}.hero-demo .task{padding: 12px 14px;border-bottom: 1px solid var(--code-line);font-size: .9rem;color: var(--code-ink)}.hero-demo .task b{font-stretch: 125%}.hero-demo .task span{color: var(--code-muted)}.hero-demo .ed-host{height: 236px}.hero-result{display: flex;align-items: center;gap: 8px;flex-wrap: wrap;padding: 10px 12px;border-top: 1px solid var(--code-line);background: var(--code-bg-2);min-height: 52px;font-size: .86rem}.pill{display: inline-flex;align-items: center;gap: 6px;padding: 3px 9px;border-radius: 999px;font-family: var(--mono);font-size: .78rem;border: 1px solid var(--code-line);color: var(--code-muted)}.pill.pass{border-color: #2FBF8A;color: #5BE3A9}.pill.fail{border-color: #FF6F86;color: #FF9AA9}.board{background: var(--ink);color: var(--paper)}[data-theme='dark'] .board{background: var(--surface);color: var(--ink);border-block: 1px solid var(--line)}.board .wrap{display: grid;grid-template-columns: repeat(4,1fr)}.board-cell{padding: 26px 20px;border-left: 1px solid rgba(255,255,255,.14)}.board-cell:first-child{border-left: 0;padding-left: 0}.board-cell b{display: block;font-stretch: 125%;font-weight: 800;font-size: clamp(1.9rem,3.4vw,2.7rem);line-height: 1;font-variant-numeric: tabular-nums;letter-spacing: -.02em}.board-cell span{display: block;margin-top: 8px;font-size: .9rem;opacity: .78}.section{padding: 64px 0 0}.section-head{display: flex;align-items: flex-end;justify-content: space-between;gap: 16px;margin-bottom: 22px;flex-wrap: wrap}.section-head h2{margin: 0}.section-head p{margin: 6px 0 0;color: var(--muted);max-width: 60ch}.steps{display: grid;grid-template-columns: repeat(4,1fr);gap: 0;border: 1px solid var(--line);border-radius: var(--r);background: var(--surface);overflow: hidden;counter-reset: step}.step{padding: 22px;border-left: 1px solid var(--line);counter-increment: step}.step:first-child{border-left: 0}.step::before{content: counter(step);display: block;font-stretch: 125%;font-weight: 800;font-size: 2rem;line-height: 1;color: var(--primary);margin-bottom: 14px}.step h3{font-size: 1.02rem;margin-bottom: 6px}.step p{margin: 0;color: var(--muted);font-size: .93rem}.course-card{display: flex;flex-direction: column;gap: 10px;color: var(--ink);transition: border-color .12s,transform .12s}a.course-card:hover{text-decoration: none;border-color: var(--primary);transform: translateY(-2px)}.course-card h3{margin: 0}.course-card p{margin: 0;color: var(--muted);font-size: .93rem;flex: 1}.course-meta{display: flex;gap: 8px;flex-wrap: wrap;align-items: center;font-size: .84rem;color: var(--muted)}.premium-band{margin-top: 64px;background: var(--surface);border-block: 1px solid var(--line);padding: 44px 0}.premium-band .wrap{display: grid;grid-template-columns: minmax(0,1fr) auto;gap: 32px;align-items: center}.price{font-stretch: 125%;font-weight: 800;font-size: 3rem;line-height: 1;letter-spacing: -.02em;font-variant-numeric: tabular-nums}.price small{font-size: 1rem;font-weight: 500;color: var(--muted);font-stretch: 100%;letter-spacing: 0}.daily{border-left: 4px solid var(--gold)}.plist{list-style: none;margin: 0;padding: 0}.plist li{display: grid;grid-template-columns: 28px minmax(0,1fr) auto auto;gap: 12px;align-items: center;padding: 12px 18px;border-bottom: 1px solid var(--line)}.plist li:last-child{border-bottom: 0}.plist a{color: var(--ink);font-weight: 600}.plist .n{color: var(--muted);font-variant-numeric: tabular-nums;font-size: .88rem}.filters{display: grid;gap: 12px;margin-bottom: 16px}.filters-row{display: flex;gap: 10px;flex-wrap: wrap;align-items: center}.filters-row .input-icon{flex: 1 1 260px}.filters-row .select{width: auto;flex: 0 1 170px}.ring-card{text-align: center}.ring{position: relative;width: 132px;height: 132px;margin: 4px auto 14px}.ring svg{transform: rotate(-90deg)}.ring-label{position: absolute;inset: 0;display: flex;flex-direction: column;align-items: center;justify-content: center}.ring-label b{font-stretch: 125%;font-weight: 800;font-size: 1.7rem;line-height: 1;font-variant-numeric: tabular-nums}.ring-label span{font-size: .8rem;color: var(--muted);margin-top: 4px}.bars3{display: grid;gap: 9px;text-align: left}.bars3-row{display: grid;grid-template-columns: 78px 1fr 44px;align-items: center;gap: 8px;font-size: .86rem}.bars3-row .progress{height: 6px}.bars3-row .progress.e i{background: var(--easy)}.bars3-row .progress.m i{background: var(--medium)}.bars3-row .progress.h i{background: var(--hard)}.bars3-row .v{text-align: right;color: var(--muted);font-variant-numeric: tabular-nums}.pager{display: flex;align-items: center;justify-content: space-between;gap: 10px;padding: 12px 14px;border-top: 1px solid var(--line);font-size: .9rem;color: var(--muted)}body.is-workspace .site-footer{display: none}.ws{height: calc(100vh - var(--header-h));height: calc(100dvh - var(--header-h));display: grid;grid-template-columns: var(--split,44%) 8px minmax(0,1fr);background: var(--paper)}.ws-left{display: flex;flex-direction: column;min-width: 0;min-height: 0;background: var(--surface)}.ws-left .tabs{padding: 0 12px;flex: none}.ws-pane{flex: 1;overflow: auto;padding: 20px 22px 32px;min-height: 0}.ws-title{display: flex;align-items: flex-start;justify-content: space-between;gap: 12px;margin-bottom: 10px}.ws-title h1{font-size: 1.5rem;margin: 0;letter-spacing: -.01em}.ws-meta{display: flex;flex-wrap: wrap;gap: 8px 12px;align-items: center;margin-bottom: 18px}.ws-drag{cursor: col-resize;background: var(--line);position: relative}.ws-drag::after{content: '';position: absolute;left: 3px;top: 50%;width: 2px;height: 36px;margin-top: -18px;background: var(--line-strong);border-radius: 1px}.ws-drag:hover,.ws-drag.dragging{background: var(--primary)}.ws-right{display: grid;grid-template-rows: auto minmax(120px,1fr) auto;min-width: 0;min-height: 0;background: var(--code-bg);color: var(--code-ink)}.ws-right .ed-host{min-height: 0;overflow: hidden}.ws-console{border-top: 1px solid var(--code-line);background: var(--code-bg-2);display: flex;flex-direction: column;max-height: 46vh}.ws-console-bar{display: flex;align-items: center;gap: 8px;padding: 8px 10px;flex-wrap: wrap}.ws-console-body{overflow: auto;border-top: 1px solid var(--code-line);min-height: 0}.ctab{border: 0;background: none;color: var(--code-muted);font-weight: 650;font-size: .86rem;padding: 6px 10px;border-radius: var(--r-s)}.ctab:hover{color: var(--code-ink)}.ctab[aria-selected='true']{background: var(--code-line);color: var(--code-ink)}.case-tabs{display: flex;gap: 6px;flex-wrap: wrap;padding: 12px 14px 0}.case-tab{border: 1px solid var(--code-line);background: var(--code-bg);color: var(--code-muted);border-radius: var(--r-s);padding: 4px 10px;font-size: .82rem;font-weight: 600;display: inline-flex;align-items: center;gap: 6px}.case-tab[aria-selected='true']{border-color: var(--code-muted);color: var(--code-ink)}.case-tab.pass{color: #5BE3A9}.case-tab.fail{color: #FF9AA9}.case-body{padding: 12px 14px 16px;display: grid;gap: 10px}.case-body label,.case-body .lbl{font-size: .78rem;color: var(--code-muted);font-weight: 600;display: block;margin-bottom: 4px}.case-body pre,.case-body textarea{background: var(--code-bg);border: 1px solid var(--code-line);border-radius: var(--r-s);padding: 8px 10px;margin: 0;font-family: var(--mono);font-size: .82rem;line-height: 1.5;color: var(--code-ink);white-space: pre-wrap;word-break: break-word;max-height: 160px;overflow: auto;width: 100%}.case-body textarea{min-height: 84px;resize: vertical;white-space: pre}.case-body pre.err{color: #FF9AA9}.verdict{display: flex;align-items: center;gap: 12px;flex-wrap: wrap;padding: 12px 14px;font-weight: 700}.verdict .v{font-stretch: 125%;font-size: 1.15rem;font-weight: 800}.verdict.ok .v{color: #5BE3A9}.verdict.bad .v{color: #FF9AA9}.verdict.warn .v{color: #FFC978}.verdict .sub{color: var(--code-muted);font-weight: 500;font-size: .86rem}.celebrate{animation: pop .5s ease-out}@keyframes pop{0%{transform: scale(.96);opacity: .4}60%{transform: scale(1.015)}100%{transform: none;opacity: 1}}.example{border: 1px solid var(--line);border-radius: var(--r);margin: 0 0 14px;overflow: hidden}.example-head{padding: 8px 14px;background: var(--surface-2);font-weight: 700;font-size: .86rem}.example-body{padding: 12px 14px;display: grid;gap: 8px;font-size: .93rem}.example-body .k{font-weight: 700;color: var(--ink-2);margin-right: 6px}.example-body code{background: none;padding: 0;font-size: .88rem;overflow-wrap: anywhere}details{border: 1px solid var(--line);border-radius: var(--r-s);padding: 0 14px;margin-bottom: 8px;background: var(--surface)}details summary{cursor: pointer;padding: 10px 0;font-weight: 650;font-size: .93rem;list-style-position: inside}details[open] summary{border-bottom: 1px solid var(--line);margin-bottom: 10px}details > :last-child{margin-bottom: 12px}.lock-box{text-align: center;padding: 36px 20px;border: 1px dashed var(--line-strong);border-radius: var(--r);background: var(--surface)}.lock-box .ico{color: var(--gold)}.ws-switch{display: none}.pg{display: grid;grid-template-columns: minmax(0,1.4fr) minmax(0,1fr);gap: 16px;height: calc(100vh - var(--header-h) - 150px);min-height: 460px}.pg .ink-panel{display: flex;flex-direction: column;min-height: 0}.pg .ed-host{flex: 1;min-height: 0}.pg-side{display: grid;grid-template-rows: minmax(0,1fr) minmax(0,1.5fr);gap: 16px;min-height: 0}.pg-side textarea{flex: 1;width: 100%;border: 0;background: transparent;color: var(--code-ink);font-family: var(--mono);font-size: .86rem;padding: 12px 14px;resize: none;outline: none}.pg-side .term{flex: 1}.lesson-list{list-style: none;margin: 0;padding: 0}.lesson-list li{border-bottom: 1px solid var(--line)}.lesson-list li:last-child{border-bottom: 0}.lesson-list a{display: grid;grid-template-columns: 26px minmax(0,1fr) auto;gap: 12px;align-items: center;padding: 14px 18px;color: var(--ink)}.lesson-list a:hover{background: var(--surface-2);text-decoration: none}.lesson-list a.current{background: var(--primary-soft)}.lesson-list b{font-weight: 600}.lesson-layout{display: grid;grid-template-columns: 300px minmax(0,1fr);gap: 28px;align-items: start}.lesson-side{position: sticky;top: calc(var(--header-h) + 20px)}.quiz-opt{display: flex;gap: 10px;align-items: center;width: 100%;text-align: left;padding: 11px 14px;border: 1px solid var(--line-strong);border-radius: var(--r-s);background: var(--surface);margin-bottom: 8px;font-size: .95rem}.quiz-opt:hover{border-color: var(--primary)}.quiz-opt.right{border-color: var(--easy);background: var(--ok-soft)}.quiz-opt.wrong{border-color: var(--hard);background: var(--bad-soft)}.quiz-opt[disabled]{cursor: default}.profile-head{display: flex;gap: 20px;align-items: center;flex-wrap: wrap;margin-bottom: 24px}.profile-head h1{font-size: 1.9rem;margin: 0 0 4px}.profile-facts{display: flex;flex-wrap: wrap;gap: 6px 16px;color: var(--muted);font-size: .92rem}.profile-facts span{display: inline-flex;align-items: center;gap: 6px}.tiles{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: 0;border: 1px solid var(--line);border-radius: var(--r);background: var(--surface);overflow: hidden;margin-bottom: 20px}.tile{padding: 18px 20px;border-left: 1px solid var(--line)}.tile:first-child{border-left: 0}.tile .k{font-size: .84rem;color: var(--muted);display: flex;align-items: center;gap: 6px}.tile .v{font-stretch: 125%;font-weight: 800;font-size: 2rem;line-height: 1.1;margin-top: 6px;font-variant-numeric: tabular-nums;letter-spacing: -.015em}.tile .s{font-size: .82rem;color: var(--muted);margin-top: 2px}.dash-grid{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1.5fr);gap: 20px;margin-bottom: 20px}.heat{overflow-x: auto;padding-bottom: 4px}.heat svg{display: block}.heat rect{rx: 2px}.heat-legend{display: flex;align-items: center;gap: 4px;justify-content: flex-end;font-size: .78rem;color: var(--muted);margin-top: 8px}.heat-legend i{width: 11px;height: 11px;border-radius: 2px;display: inline-block}.hbar{display: grid;grid-template-columns: minmax(90px,150px) 1fr 54px;gap: 10px;align-items: center;font-size: .9rem;margin: 9px 0}.hbar .track{height: 10px;background: var(--surface-2);border-radius: 0 4px 4px 0;overflow: hidden}.hbar .track i{display: block;height: 100%;background: var(--primary);border-radius: 0 4px 4px 0;min-width: 2px}.hbar .v{text-align: right;color: var(--muted);font-variant-numeric: tabular-nums;font-size: .84rem}.badges{display: grid;grid-template-columns: repeat(auto-fill,minmax(150px,1fr));gap: 10px}.badge{border: 1px solid var(--line);border-radius: var(--r);padding: 12px;display: flex;gap: 10px;align-items: flex-start}.badge .ico{color: var(--gold);margin-top: 2px}.badge.locked{opacity: .55}.badge.locked .ico{color: var(--muted)}.badge b{display: block;font-size: .9rem}.badge span{font-size: .8rem;color: var(--muted);line-height: 1.35;display: block}.tip{position: fixed;z-index: 120;pointer-events: none;background: var(--ink);color: var(--paper);font-size: .8rem;padding: 5px 9px;border-radius: 5px;white-space: nowrap;transform: translate(-50%,-130%)}.podium{display: grid;grid-template-columns: repeat(3,1fr);gap: 16px;margin-bottom: 20px}.podium .card{display: flex;gap: 14px;align-items: center}.podium .place{font-stretch: 125%;font-weight: 800;font-size: 2.2rem;line-height: 1;color: var(--line-strong)}.podium .first .place{color: var(--gold)}.podium .card b{display: block}.lb-user{display: flex;align-items: center;gap: 10px;min-width: 0}.lb-user a{color: var(--ink);font-weight: 600}.lb-user small{display: block;color: var(--muted);font-size: .8rem}.rank{font-stretch: 125%;font-weight: 800;font-variant-numeric: tabular-nums}.plans{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 20px;max-width: 860px}.plan{padding: 26px;display: flex;flex-direction: column}.plan.best{border: 2px solid var(--gold)}.plan ul{list-style: none;padding: 0;margin: 18px 0 22px;display: grid;gap: 10px;flex: 1}.plan li{display: flex;gap: 10px;align-items: flex-start;font-size: .95rem}.plan li .ico{margin-top: 3px;color: var(--easy)}.plan li.no{color: var(--muted)}.plan li.no .ico{color: var(--line-strong)}.auth{max-width: 460px;margin: 0 auto}.auth-wide{max-width: 620px}.auth .card{padding: 28px}.auth h1{font-size: 1.8rem}.demo-strip{display: flex;align-items: center;justify-content: space-between;gap: 10px;flex-wrap: wrap;background: var(--gold-soft);color: var(--gold-ink);border-radius: var(--r-s);padding: 10px 12px;font-size: .9rem;margin-bottom: 18px}.admin-grid{display: grid;grid-template-columns: 300px minmax(0,1fr);gap: 20px;align-items: start}.admin-list{max-height: 70vh;overflow: auto}.admin-list button{display: flex;justify-content: space-between;gap: 8px;align-items: center;width: 100%;text-align: left;border: 0;background: none;padding: 10px 14px;border-bottom: 1px solid var(--line);font-size: .9rem}.admin-list button:hover{background: var(--surface-2)}.admin-list button.sel{background: var(--primary-soft);color: var(--primary);font-weight: 650}.rowset{display: grid;gap: 8px}.rowset .r{display: grid;gap: 8px;align-items: start}.rowset .r.p{grid-template-columns: 1fr 140px 36px}.rowset .r.t{grid-template-columns: 1fr 1fr 86px 36px}.status-list{list-style: none;padding: 0;margin: 0}.status-list li{display: grid;grid-template-columns: 150px minmax(0,1fr) auto;gap: 12px;align-items: center;padding: 12px 18px;border-bottom: 1px solid var(--line);font-size: .93rem}.status-list li:last-child{border-bottom: 0}@media (max-width: 1000px){.hero-grid,.grid-side,.dash-grid,.lesson-layout,.admin-grid,.premium-band .wrap{grid-template-columns: minmax(0,1fr)}.lesson-side{position: static}.grid-3{grid-template-columns: repeat(2,minmax(0,1fr))}.steps{grid-template-columns: repeat(2,1fr)}.step:nth-child(3){border-left: 0}.step:nth-child(n+3){border-top: 1px solid var(--line)}.tiles{grid-template-columns: repeat(2,minmax(0,1fr))}.tile:nth-child(3){border-left: 0}.tile:nth-child(n+3){border-top: 1px solid var(--line)}.footer-grid{grid-template-columns: repeat(2,1fr)}.pg{grid-template-columns: minmax(0,1fr);height: auto}.pg .ed-host{height: 380px;flex: none}.pg-side{grid-template-rows: 150px 260px}}@media (max-width: 1180px){.search-btn span,.search-btn .kbd{display: none}.search-btn{padding: 0 10px}.nav a{padding: 8px 9px}.site-header .wrap{gap: 12px}}@media (max-width: 1080px){.nav{display: none;position: absolute;left: 0;right: 0;top: var(--header-h);background: var(--surface);border-bottom: 1px solid var(--line);flex-direction: column;padding: 8px 16px 14px;margin: 0;box-shadow: var(--shadow)}.nav.open{display: flex}.nav .nav-signup{display: block;color: var(--primary);font-weight: 700}.nav a{padding: 12px}.menu-toggle{display: inline-flex}}@media (max-width: 900px){.ws{display: block;height: auto}.ws-drag{display: none}.ws-left,.ws-right{height: calc(100dvh - var(--header-h) - 45px)}.ws[data-view='code'] .ws-left,.ws[data-view='problem'] .ws-right{display: none}.ws-switch{display: grid;grid-template-columns: 1fr 1fr;background: var(--surface);border-bottom: 1px solid var(--line);height: 45px}.ws-switch button{border: 0;background: none;font-weight: 700;color: var(--muted);border-bottom: 2px solid transparent}.ws-switch button[aria-pressed='true']{color: var(--primary);border-bottom-color: var(--primary)}.podium{grid-template-columns: minmax(0,1fr)}.plans{grid-template-columns: minmax(0,1fr)}.hide-m{display: none !important}}@media (max-width: 640px){.wrap{padding: 0 16px}.site-header .wrap{gap: 10px}.site-header .brand{font-size: .92rem;gap: 8px}.site-header .brand span{white-space: normal;max-width: 7.4em}.header-tools .signup-btn{display: none}.modal-back{padding: 16px 12px}.page{padding-top: 24px;padding-bottom: 56px}.hero{padding: 32px 0}.grid-2,.grid-3{grid-template-columns: minmax(0,1fr)}.board .wrap{grid-template-columns: repeat(2,1fr)}.board-cell{padding: 18px 14px}.board-cell:nth-child(3){border-left: 0;padding-left: 0}.board-cell:nth-child(n+3){border-top: 1px solid rgba(255,255,255,.14)}.steps{grid-template-columns: minmax(0,1fr)}.step{border-left: 0;border-top: 1px solid var(--line)}.step:first-child{border-top: 0}.plist li{grid-template-columns: 24px minmax(0,1fr) auto}.plist li .diff{display: none}.rowset .r.t{grid-template-columns: 1fr}.rowset .r.p{grid-template-columns: 1fr 110px 36px}.status-list li{grid-template-columns: minmax(0,1fr) auto}.status-list li .muted{grid-column: 1 / -1}.pts{display: none}.user-btn .name{display: none}.user-btn{padding: 3px}.creds-row{grid-template-columns: 70px 1fr auto}.footer-grid{grid-template-columns: minmax(0,1fr);gap: 20px}.ws-pane{padding: 16px}}@media (max-width: 380px){.site-header .wrap{gap: 6px;padding: 0 10px}.site-header .brand{font-size: .8rem;gap: 6px}.header-tools{gap: 4px}.header-tools .icon-btn,.header-tools .search-btn{width: 32px;padding: 0;justify-content: center}.header-tools .btn-sm{padding: 0 9px}}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration: .01ms !important;transition-duration: .01ms !important;scroll-behavior: auto !important}}
