.ip{--ip-line-soft:#eeeae2;--ip-surface-2:#fbfaf7;--ip-coral-text:#b04a2a;--ip-coral-soft:#fbede7;--ip-coral-line:#efc6b6;--ip-run-soft:#eef6f1;--ip-amber-soft:#fef6e7;--ip-danger-soft:#fdecea;--ip-next:#fdf5f2;--ip-pre:#1e293b;--ip-pre-fg:#e2e8f0}.ip :is(button,summary,select,input,textarea,a):focus-visible{outline-offset:2px;outline:2px solid #d96a4a}.ip-crumbs{color:#3d4a63;flex-wrap:nowrap;align-items:center;gap:2px;min-width:0;font-size:14px;display:flex}.ip-crumbs a,.ip-crumbs [aria-current]{text-overflow:ellipsis;white-space:nowrap;border-radius:4px;min-width:0;padding:4px 6px;overflow:hidden}.ip-crumbs a{color:#3d4a63;flex:0 auto;text-decoration:none}.ip-crumbs a:hover{color:#1b2a4a;background:#fff}.ip-crumbs [aria-current]{color:#1b2a4a;flex:0 2 auto;font-weight:600}.ip-crumbs .ip-sep{color:#5c6773;flex:none;font-size:15px;line-height:1}.ip-crumbs .ip-back{display:none}@media (width<=640px){.ip-crumbs a:not(.ip-back),.ip-crumbs .ip-sep,.ip-crumbs [aria-current]{display:none}.ip-crumbs .ip-back{color:#1b2a4a;align-items:center;gap:6px;min-height:44px;padding-left:0;font-weight:500;display:inline-flex}}.ip-mark{color:#5c6773;background:#fff;border:1.5px solid #e6e2d8;border-radius:999px;flex-shrink:0;place-items:center;width:20px;height:20px;display:inline-grid}.ip-mark[data-state=solved]{color:#fff;background:#1f7a4d;border-color:#1f7a4d}.ip-mark[data-state=attempted]{background:linear-gradient(90deg,#b45309 50%,#fff 50%);border-color:#b45309}.ip-mark[data-state=locked]{color:var(--ip-coral-text);border-style:dashed}.ip-diff{white-space:nowrap;border-radius:999px;align-items:center;padding:1px 8px;font-size:11.5px;font-weight:600;line-height:1.6;display:inline-flex}.ip-diff[data-d=Easy]{background:var(--ip-run-soft);color:#1f7a4d}.ip-diff[data-d=Easy-Medium]{color:#4f6a2c;background:#f3f2e6}.ip-diff[data-d=Medium]{background:var(--ip-amber-soft);color:#9a4a08}.ip-diff[data-d=Medium-Hard]{color:#a0401c;background:#fcede3}.ip-diff[data-d=Hard]{background:var(--ip-danger-soft);color:#a93226}.ip-pill-plus{border:1px solid var(--ip-coral-line);background:var(--ip-coral-soft);color:var(--ip-coral-text);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.ip-bar{background:#e6e2d8;border-radius:999px;height:4px;display:block;overflow:hidden}.ip-bar>span{background:#d96a4a;border-radius:999px;height:100%;transition:width .3s;display:block}.ip-bar[data-done=true]>span{background:#1f7a4d}.ip-stage>summary{cursor:pointer;list-style:none}.ip-stage>summary::-webkit-details-marker{display:none}.ip-stage-row{background:#fff;border:1px solid #e6e2d8;border-radius:6px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 16px;text-decoration:none;display:grid}.ip-stage-row:hover{border-color:#3d4a63}.ip-stage[open]>summary.ip-stage-row{border-radius:6px 6px 0 0}.ip-stage-row[data-next=true]{border-color:#d96a4a;box-shadow:inset 3px 0 #d96a4a}.ip-stage-num{border:1px solid var(--ip-line-soft);background:#f4f2ec;border-radius:6px;place-items:center;width:36px;height:36px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;display:grid}.ip-stage-num[data-done=true]{color:#fff;background:#1f7a4d;border-color:#1f7a4d}.ip-sheet[open]>summary{border-bottom-color:var(--ip-line-soft);border-radius:6px 6px 0 0}.ip-sheet[open]>summary:hover{border-bottom-color:var(--ip-line-soft)}.ip-sheet>div>.ip-qt-wrap{border-top:0;border-radius:0 0 6px 6px}.ip-chev{color:#5c6773;flex-shrink:0;transition:transform .15s}details[open]>summary .ip-chev{transform:rotate(180deg)}@media (width<=639px){.ip-stage-row{grid-template-columns:36px minmax(0,1fr)}.ip-stage-prog{grid-column:2}}.ip-topics{background:#fff;border:1px solid #e6e2d8;border-radius:6px;margin:0;padding:0;list-style:none;overflow:hidden}.ip-stage>.ip-topics{border-top:0;border-radius:0 0 6px 6px}.ip-topics>li+li{border-top:1px solid var(--ip-line-soft)}.ip-topic-row{grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:48px;padding:12px 16px;text-decoration:none;display:grid}.ip-topic-row:hover{background:var(--ip-surface-2)}.ip-topic-row:hover .ip-topic-name{color:var(--ip-coral-text)}.ip-qt-wrap{background:#fff;border:1px solid #e6e2d8;border-radius:6px;overflow:hidden}table.ip-qt{border-collapse:collapse;width:100%;font-size:13.5px}.ip-qt th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:#5c6773;background:var(--ip-surface-2);border-bottom:1px solid #e6e2d8;padding:8px 12px;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:600}.ip-qt td{border-top:1px solid var(--ip-line-soft);vertical-align:middle;padding:10px 12px}.ip-qt tbody tr:first-child td{border-top:0}.ip-qt td.ip-st{width:44px}.ip-qt td.ip-df{width:8.5rem}.ip-qt td.ip-as{color:#5c6773;width:14rem;font-size:12.5px}.ip-qt a{color:#1b2a4a;font-weight:500;text-decoration:none}.ip-qt a:hover{color:var(--ip-coral-text);text-underline-offset:2px;text-decoration:underline}.ip-qt tr[data-next=true] td{background:var(--ip-next)}.ip-qt .ip-as-label,.ip-qt-wrap[data-compact=true] .ip-qt thead{display:none}.ip-qt-wrap[data-compact=true] .ip-qt tr{-moz-column-gap:8px;border-top:1px solid var(--ip-line-soft);grid-template-columns:28px auto minmax(0,1fr);align-items:center;gap:4px 8px;padding:10px 12px;display:grid}.ip-qt-wrap[data-compact=true] .ip-qt tbody tr:first-child{border-top:0}.ip-qt-wrap[data-compact=true] .ip-qt tr[data-next=true]{background:var(--ip-next)}.ip-qt-wrap[data-compact=true] .ip-qt td{background:0 0;border:0;width:auto;padding:0}.ip-qt-wrap[data-compact=true] .ip-qt td.ip-st{grid-row:span 2;align-self:start;padding-top:1px}.ip-qt-wrap[data-compact=true] .ip-qt td.ip-q{grid-column:2/span 2;line-height:1.4}.ip-qt-wrap[data-compact=true] .ip-qt td.ip-df{grid-column:2}.ip-qt-wrap[data-compact=true] .ip-qt td.ip-as{text-overflow:ellipsis;white-space:nowrap;grid-column:3;font-size:12px;overflow:hidden}.ip-qt-wrap[data-compact=true] .ip-qt .ip-as-label{display:inline}@media (width<=719px){.ip-qt thead{display:none}.ip-qt tr{-moz-column-gap:8px;border-top:1px solid var(--ip-line-soft);grid-template-columns:28px auto minmax(0,1fr);align-items:center;gap:4px 8px;padding:10px 12px;display:grid}.ip-qt tbody tr:first-child{border-top:0}.ip-qt tr[data-next=true]{background:var(--ip-next)}.ip-qt td{border:0;padding:0;background:0 0!important;width:auto!important}.ip-qt td.ip-st{grid-row:span 2;align-self:start;padding-top:1px}.ip-qt td.ip-q{grid-column:2/span 2;line-height:1.4}.ip-qt td.ip-df{grid-column:2}.ip-qt td.ip-as{text-overflow:ellipsis;white-space:nowrap;grid-column:3;font-size:12px;overflow:hidden}.ip-qt .ip-as-label{display:inline}}.ip-prose{color:#24324d;overflow-wrap:break-word;max-width:46rem;font-size:15px;line-height:1.7}.ip-prose h2,.ip-prose h3{color:#1b2a4a;margin:22px 0 8px;font-size:16px;font-weight:600;line-height:1.35}.ip-prose p{margin:8px 0}.ip-prose ul,.ip-prose ol{margin:8px 0 12px;padding-left:22px}.ip-prose ul{list-style:outside}.ip-prose ol{list-style:decimal}.ip-prose li{margin-bottom:4px}.ip-prose code{color:#9a3412;overflow-wrap:anywhere;background:#edeae2;border-radius:4px;padding:1px 5px;font-family:IBM Plex Mono,monospace;font-size:.86em}.ip-prose pre{background:var(--ip-pre);color:var(--ip-pre-fg);white-space:pre;border-radius:8px;margin:10px 0;padding:12px 14px;font-size:12.5px;line-height:1.6;overflow-x:auto}.ip-prose pre code{color:inherit;font-size:inherit;overflow-wrap:normal;background:0 0;padding:0}.ip-prose pre[data-output]{color:#1b2a4a;background:#f4f2ec;border:1px solid #e6e2d8}.ip-prose pre[data-output]:before{content:"Output";letter-spacing:.08em;text-transform:uppercase;color:#5c6773;margin-bottom:4px;font-family:IBM Plex Sans,sans-serif;font-size:10.5px;font-weight:600;display:block}.ip-prose strong{color:#1b2a4a;font-weight:600}.ip-prose table{border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #e6e2d8;border-radius:6px;width:fit-content;max-width:100%;margin:14px 0;font-size:13.5px;line-height:1.5;display:block;overflow-x:auto}.ip-prose th,.ip-prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--ip-line-soft);padding:7px 12px}.ip-prose :is(th,td)+:is(th,td){border-left:1px solid var(--ip-line-soft)}.ip-prose thead th,.ip-prose tr:first-child>th{background:var(--ip-surface-2);color:#1b2a4a;border-bottom-color:#e6e2d8;font-size:12.5px;font-weight:600}.ip-prose tbody th{background:var(--ip-surface-2);font-weight:600}.ip-prose tr:last-child>td,.ip-prose tbody tr:last-child>th{border-bottom:0}.ip-prose caption{caption-side:top;text-align:left;color:#5c6773;border-bottom:1px solid #e6e2d8;padding:6px 12px;font-size:12px}.ip-prose td code,.ip-prose th code{overflow-wrap:normal;white-space:nowrap}.ip-prose img{max-width:100%;height:auto}.ip-prose figure.ck-diagram{text-align:center;background:#fff;border:1px solid #e6e2d8;border-radius:8px;margin:18px 0;padding:14px 14px 10px;overflow-x:auto}.ip-prose figure.ck-diagram img{max-width:100%;height:auto;margin:0 auto;display:block}.ip-prose figure.ck-diagram figcaption{color:#5c6773;text-align:center;margin-top:8px;font-size:12.5px;line-height:1.5;position:sticky;left:0}@media (width<=639px){.ip-prose figure.ck-diagram{padding:10px 10px 8px}.ip-prose figure.ck-diagram img{max-width:max(100%,560px)}.ip-prose th,.ip-prose td{min-width:6.5rem;padding:6px 10px}}.ip-learn>summary{cursor:pointer;list-style:none}.ip-learn>summary::-webkit-details-marker{display:none}.ip-code{background:var(--ip-pre);color:var(--ip-pre-fg);white-space:pre;border-radius:8px;margin:0;padding:12px 14px;font-family:IBM Plex Mono,monospace;font-size:13px;line-height:1.6;overflow-x:auto}.ip-code .t-keyword{color:#c792ea}.ip-code .t-string{color:#c3e88d}.ip-code .t-comment{color:#8b95a7;font-style:italic}.ip-code .t-number{color:#f78c6c}.ip-code .t-function{color:#82aaff}.ip-code .t-type{color:#ffcb6b}.ip-mono{font-family:IBM Plex Mono,monospace}.ip-log{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f2ec;border-radius:4px;max-height:16rem;margin:0;padding:6px 8px;font-family:IBM Plex Mono,monospace;font-size:12px;overflow:auto}.ip-textarea{resize:vertical;color:#1b2a4a;background:#fff;border:1px solid #e6e2d8;border-radius:6px;width:100%;min-height:8rem;padding:10px 12px;font-size:14px;line-height:1.55}.ip-textarea:focus{outline-offset:0;border-color:#0000;outline:2px solid #d96a4a}.ip-textarea[readonly]{background:#fbfaf7}.ip-option{cursor:pointer;background:#fff;border:1px solid #e6e2d8;border-radius:6px;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;min-height:44px;padding:10px 12px;font-size:14px;line-height:1.5;display:grid}.ip-option:hover{border-color:#3d4a63}.ip-option input{accent-color:#1b2a4a;width:16px;height:16px;margin:3px 0 0}.ip-option[data-picked=true]{border-color:#1b2a4a;box-shadow:inset 0 0 0 1px #1b2a4a}.ip-option[data-verdict=right]{background:var(--ip-run-soft);box-shadow:none;border-color:#1f7a4d}.ip-option[data-verdict=wrong]{background:var(--ip-danger-soft);box-shadow:none;border-color:#c0392b}.ip-option .ip-why{color:#5c6773;grid-column:2;margin-top:2px;font-size:12.5px}.ip-option[data-verdict=right] .ip-why{color:#1f7a4d}.ip-option[data-verdict=wrong] .ip-why{color:#a93226}.ip-option code{font-family:IBM Plex Mono,monospace;font-size:.9em}.ip-verdict{border-radius:6px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13.5px;font-weight:600;line-height:1.5;display:flex}.ip-verdict[data-tone=ok]{background:var(--ip-run-soft);color:#1f7a4d}.ip-verdict[data-tone=bad]{background:var(--ip-danger-soft);color:#a93226}.ip-verdict[data-tone=info]{background:var(--ip-amber-soft);color:#1b2a4a;font-weight:500}.ip-rate{color:#1b2a4a;background:#fff;border:1px solid #e6e2d8;border-radius:6px;min-height:44px;padding:8px 14px;font-size:13.5px;font-weight:600}.ip-rate:hover{border-color:#3d4a63}.ip-rate[aria-pressed=true][data-r=knew]{background:var(--ip-run-soft);color:#1f7a4d;border-color:#1f7a4d}.ip-rate[aria-pressed=true][data-r=partly]{background:var(--ip-amber-soft);color:#9a4a08;border-color:#b45309}.ip-rate[aria-pressed=true][data-r=didnot]{background:var(--ip-danger-soft);color:#a93226;border-color:#c0392b}.ip-check{cursor:pointer;background:#fff;border:1px solid #e6e2d8;border-radius:6px;align-items:flex-start;gap:10px;min-height:44px;padding:8px 10px;font-size:14px;display:flex}.ip-check input{accent-color:#1f7a4d;flex-shrink:0;width:16px;height:16px;margin-top:3px}.ip-ws{background:#fff;border:1px solid #e6e2d8;border-radius:8px;overflow:hidden}.ip-ws-body{grid-template-columns:minmax(0,1fr);display:grid}.ip-ws-tabs{background:#fff;border-bottom:1px solid #e6e2d8;gap:2px;padding:6px 8px;display:flex;overflow-x:auto}.ip-ws-tabs button{color:#5c6773;white-space:nowrap;background:0 0;border:0;border-radius:4px;min-height:36px;padding:6px 12px;font-size:13px;font-weight:500}.ip-ws-tabs button[aria-selected=true]{color:#1b2a4a;background:#f4f2ec;font-weight:600}.ip-ws-left{min-width:0}.ip-ws-pad{padding:16px 20px 20px}.ip-ws-right{flex-direction:column;min-width:0;display:flex}.ip-ws-tools{border-bottom:1px solid #e6e2d8;flex-wrap:wrap;align-items:center;gap:6px;min-height:48px;padding:6px 10px;display:flex}.ip-editor{background:#fffffe;border-bottom:1px solid #e6e2d8;height:24rem;min-height:14rem}.ip-results{align-content:start;gap:10px;min-height:6rem;padding:12px;display:grid}.ip-label{text-transform:uppercase;letter-spacing:.08em;color:#5c6773;margin:18px 0 8px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500}.ip-example{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f2ec;border:1px solid #e6e2d8;border-radius:6px;gap:2px;margin-bottom:8px;padding:10px 12px;font-family:IBM Plex Mono,monospace;font-size:12.5px;display:grid}.ip-test{border:1px solid #e6e2d8;border-radius:6px;gap:6px;padding:8px 10px;font-size:12.5px;display:grid}.ip-test[data-status=pass] .ip-test-top{color:#1f7a4d}.ip-test:not([data-status=pass]) .ip-test-top{color:#a93226}.ip-test-top{align-items:center;gap:8px;font-weight:600;display:flex}.ip-test dl{grid-template-columns:max-content minmax(0,1fr);gap:2px 10px;margin:0;display:grid}.ip-test dt{color:#5c6773}.ip-test dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-family:IBM Plex Mono,monospace}@media (width>=1180px){.ip-ws-body{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.ip-ws-left{border-right:1px solid #e6e2d8;max-height:48rem;overflow-y:auto}.ip-ws>.ip-ws-tabs-phone{display:none}.ip-editor{height:26rem}.ip-ws-right .ip-results{max-height:22rem;overflow-y:auto}}@media (width<=1179px){.ip-ws-left>.ip-ws-tabs,.ip-ws[data-pane=desc] .ip-ws-right,.ip-ws[data-pane=code] .ip-ws-left,.ip-ws[data-pane=code] .ip-results,.ip-ws[data-pane=results] .ip-ws-left,.ip-ws[data-pane=results] .ip-editor{display:none}.ip-editor{height:20rem}}.ip-table-wrap{background:#fff;border:1px solid #e6e2d8;border-radius:6px;overflow-x:auto}table.ip-data{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12.5px}table.ip-data caption{text-align:left;background:var(--ip-surface-2);border-bottom:1px solid #e6e2d8;padding:6px 10px;font-family:IBM Plex Mono,monospace;font-size:11.5px;font-weight:600}table.ip-data th,table.ip-data td{text-align:left;border-bottom:1px solid var(--ip-line-soft);white-space:nowrap;padding:5px 10px}table.ip-data th{color:#5c6773;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600}table.ip-data td.ip-null{color:#5c6773;font-style:italic}.ip-dot{background:#e6e2d8;border-radius:999px;width:10px;height:10px}.ip-dot[data-s=cur]{background:#d96a4a}.ip-dot[data-s=solved]{background:#1f7a4d}.ip-dot[data-s=partly],.ip-dot[data-s=wrong]{background:#b45309}.ip-dot[data-s=answered]{background:#3d4a63}.ip-solved{color:#1f7a4d;align-items:center;gap:8px;font-weight:600;display:inline-flex}.ip-solved svg circle{stroke-dasharray:63;stroke-dashoffset:0}.ip-solved svg path{stroke-dasharray:16;stroke-dashoffset:0}.ip-solved[data-fresh=true] svg circle{animation:.5s ease-out both ip-ring}.ip-solved[data-fresh=true] svg path{animation:.3s ease-out .35s both ip-tick}.ip-solved[data-fresh=true] .ip-solved-text{animation:.4s ease-out .3s both ip-rise}@keyframes ip-ring{0%{stroke-dashoffset:63px}to{stroke-dashoffset:0}}@keyframes ip-tick{0%{stroke-dashoffset:16px}to{stroke-dashoffset:0}}@keyframes ip-rise{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ip-solved[data-fresh=true] svg circle,.ip-solved[data-fresh=true] svg path,.ip-solved[data-fresh=true] .ip-solved-text{animation:none}}.ck-embed-workspace{height:calc(100dvh - 8rem);min-height:34rem}@media (width>=640px){.ck-embed-workspace{height:calc(100vh - 10rem);min-height:36rem}}.ip-prose pre[data-run]:before,.ip-prose pre[data-sql]:before{letter-spacing:.08em;text-transform:uppercase;color:#8b95a7;margin-bottom:4px;font-family:IBM Plex Sans,sans-serif;font-size:10.5px;font-weight:600;display:block}.ip-prose pre[data-run]:before{content:attr(data-run)}.ip-prose pre[data-sql]:before{content:"SQL"}.ip-prose pre[data-output][data-result]:before{content:"Result"}.ip-prose pre[data-run]+pre[data-output],.ip-sql-example+div>pre[data-output]:first-child,.ip-prose pre[data-output][data-result]{margin-top:-4px}
