.sd-shell [hidden]{display:none!important}.sd-step,.sd-console,.sd-final,#sd-sql-code,#sd-how{scroll-margin-top:calc(var(--nav-h) + 20px)}.sd-shell{gap:56px;padding-top:28px;padding-bottom:80px;display:grid}.sd-shell>*,.sd-grid>*,.sd-step-list>li{min-width:0}.sd-chevron{width:12px;height:12px;color:var(--text-3);transition:transform var(--dur-med) var(--ease-out);flex:none}details[open]>summary>.sd-chevron{transform:rotate(180deg)}.sd-shell summary{cursor:pointer;list-style:none}.sd-shell summary::-webkit-details-marker{display:none}.sd-hero{align-items:center;gap:40px;display:grid}@media (width>=1024px){.sd-hero{grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:64px}}.sd-crumb{margin-bottom:22px}.sd-hero h1{font-size:var(--fs-h1);letter-spacing:-.035em;text-wrap:balance;line-height:1.04}.sd-sub{max-width:46ch;color:var(--text-2);font-size:var(--fs-lead);text-wrap:pretty;margin-top:20px;line-height:1.55}.sd-facts{flex-wrap:wrap;gap:10px 26px;margin-top:24px;list-style:none;display:flex}.sd-facts li{color:var(--text-2);font-size:var(--fs-body-sm);align-items:center;gap:9px;display:inline-flex}.sd-facts svg{color:var(--accent-text)}.sd-hero-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.sd-case{border:1px solid var(--border-strong);border-radius:0 var(--radius-lg) var(--radius-lg);background:var(--bg-panel);box-shadow:0 40px 90px -40px var(--shadow-deep);margin-top:32px;padding:26px 28px 0;position:relative}.sd-case-tab{border:1px solid var(--border-strong);border-radius:var(--radius) var(--radius) 0 0;background:var(--bg-panel);color:var(--accent-text);font-family:var(--mono);font-size:var(--fs-mono-sm);border-bottom:0;padding:7px 18px 6px;position:absolute;bottom:calc(100% - 1px);left:-1px}.sd-stamp{border-radius:var(--radius-sm);color:var(--syn-amber);font-family:var(--mono);font-size:var(--fs-mono-sm);border:2px solid;padding:3px 10px 4px;font-weight:600;line-height:1.3;position:absolute;top:22px;right:22px;transform:rotate(-6deg)}.sd-stamp-closed,.sd-case[data-solved=true] .sd-stamp-open{display:none}.sd-case[data-solved=true] .sd-stamp{color:var(--syn-green)}.sd-case[data-solved=true] .sd-stamp-closed{display:inline}.sd-case-meta{color:var(--text-3);font-family:var(--mono);font-size:var(--fs-mono-xs);padding-right:110px}.sd-case h2{font-size:var(--fs-title);margin:8px 0 10px;line-height:1.25}.sd-case-lead{color:var(--text-2);font-size:var(--fs-body-sm);line-height:1.6}.sd-case-task{font-size:var(--fs-body-sm);margin-top:18px;font-weight:500}.sd-record{margin-top:10px}.sd-record-row{border-top:1px dashed var(--border-strong);justify-content:space-between;align-items:center;gap:16px;min-height:38px;display:flex}.sd-record dt{color:var(--text-3);font-size:var(--fs-body-sm);align-items:baseline;gap:12px;display:flex}.sd-record-num{min-width:1.4em;color:var(--text-faint);font-family:var(--mono);font-size:var(--fs-mono-xs)}.sd-record dd{font-family:var(--mono);font-size:var(--fs-mono);text-align:right}.sd-redact{width:calc(var(--chars) * 1ch + 6px);background:color-mix(in srgb, var(--text-3) 45%, transparent);border-radius:2px;height:13px;display:block}.sd-record-value{color:var(--syn-green);overflow-wrap:anywhere}.sd-record-row:not([data-state=solved]) .sd-record-value,.sd-record-row[data-state=solved] .sd-redact{display:none}.sd-record-row[data-state=open] dt{color:var(--text)}.sd-record-row[data-state=open] .sd-record-num{color:var(--accent-text)}.sd-record-row[data-state=open] .sd-redact{background:color-mix(in srgb, var(--accent) 55%, transparent)}.sd-record-row[data-state=solved] dt{color:var(--text-2)}.sd-dossier{border-top:1px solid var(--border);margin:10px -28px 0;padding:0 28px}.sd-dossier summary{min-height:48px;color:var(--accent-text);font-size:var(--fs-body-sm);align-items:center;gap:8px;display:flex}.sd-dossier summary:hover{color:var(--text)}.sd-dossier p{color:var(--text-2);font-size:var(--fs-body-sm);margin-bottom:16px;line-height:1.65}.sd-grid{align-items:start;gap:28px;display:grid}@media (width>=1024px){.sd-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}.sd-steps-head{flex-wrap:wrap;align-items:baseline;gap:6px 16px;display:flex}.sd-steps-head h2{font-size:var(--fs-title);letter-spacing:-.01em;flex:auto}.sd-steps-count{color:var(--text-3);font-family:var(--mono);font-size:var(--fs-mono-sm)}.sd-steps-count b{color:var(--text);font-weight:500}.sd-link-btn{min-height:32px;color:var(--text-3);font-size:var(--fs-caption);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.sd-link-btn:hover{color:var(--coral-text)}.sd-meter{--gap:4px;appearance:none;background:var(--border);width:100%;height:6px;color:var(--syn-green);mask:repeating-linear-gradient(90deg, var(--bg) 0 calc((100% + var(--gap)) / var(--steps) - var(--gap)), transparent 0 calc((100% + var(--gap)) / var(--steps)));border:0;margin:12px 0 16px;display:block}.sd-meter::-webkit-progress-bar{background:var(--border)}.sd-meter::-webkit-progress-value{background:var(--syn-green);transition:width var(--dur-open) var(--ease-out)}.sd-meter::-moz-progress-bar{background:var(--syn-green)}.sd-step-list{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-panel);list-style:none;overflow:hidden}.sd-step{--node:30px;--node-x:18px;--node-y:28px;--rail-in:var(--border-strong);--rail-out:var(--border-strong);--rail-done:color-mix(in srgb, var(--syn-green) 55%, var(--bg-panel));--indent:calc(var(--node-x) + var(--node) + 14px);position:relative}.sd-step+.sd-step{border-top:1px solid var(--border)}.sd-step:before{content:"";top:-1px;bottom:0;left:calc(var(--node-x) + var(--node) / 2 - 1px);background:linear-gradient(var(--rail-in) 0 var(--node-y), var(--rail-out) 0);width:2px;position:absolute}.sd-step:first-child:before{top:var(--node-y);background:var(--rail-out)}.sd-step:last-child:before{height:calc(var(--node-y) + 1px);bottom:auto}.sd-step[data-state=solved]{--rail-out:var(--rail-done)}.sd-step[data-state=solved]+.sd-step{--rail-in:var(--rail-done)}.sd-step[data-state=open]{background:var(--surface)}.sd-step-summary{padding:16px 18px 16px var(--node-x);align-items:flex-start;gap:14px;display:flex}.sd-step-summary:focus-visible{outline-offset:-3px}.sd-step:not([data-state=locked]) .sd-step-summary:hover{background:var(--surface-hover)}.sd-step[data-state=locked] .sd-step-summary{cursor:default}.sd-step-num{width:var(--node);height:var(--node);border:1px solid var(--border-strong);background:var(--bg-panel);color:var(--text-3);font-family:var(--mono);font-size:var(--fs-mono-sm);border-radius:50%;flex:none;place-items:center;margin-top:-3px;display:grid;position:relative}.sd-step-check{width:12px;height:12px;display:none}.sd-step[data-state=open] .sd-step-num{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--bg-panel));color:var(--accent-text);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 14%, transparent)}.sd-step[data-state=solved] .sd-step-num{border-color:color-mix(in srgb, var(--syn-green) 60%, transparent);background:color-mix(in srgb, var(--syn-green) 16%, var(--bg-panel));color:var(--syn-green)}.sd-step[data-state=solved] .sd-step-digit{display:none}.sd-step[data-state=solved] .sd-step-check{display:block}.sd-step-heading{flex:auto;gap:5px;min-width:0;display:grid}.sd-step-title{font-size:var(--fs-body-lg);font-weight:500;line-height:1.35}.sd-step-meta{font-family:var(--mono);font-size:var(--fs-mono-xs);flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.sd-step-status{color:var(--accent-text)}.sd-step-found{background:var(--green-soft);color:var(--syn-green);border-radius:5px;padding:1px 7px}.sd-step[data-state=solved] .sd-step-status{color:var(--text-3)}.sd-step[data-state=locked] :is(.sd-step-title,.sd-step-status){color:var(--text-faint)}.sd-step-chevron{margin-top:7px}.sd-step:not([data-state=solved]) .sd-step-found,.sd-step[data-state=locked] :is(.sd-step-chevron,.sd-step-body),.sd-step:not([data-state=solved])>.sd-after{display:none}.sd-step-body{padding:2px 22px 22px var(--indent)}.sd-brief{max-width:62ch;color:var(--text-2);font-size:var(--fs-body);line-height:1.65}.sd-to-console{min-height:40px;color:var(--accent-text);font-size:var(--fs-body-sm);align-items:center;gap:6px;margin-top:2px;display:inline-flex}.sd-needs{color:var(--text-3);font-family:var(--mono);font-size:var(--fs-mono-xs);flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px;display:flex}.sd-needs a,.sd-skill-list a{border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:32px;color:var(--accent-text);font-family:var(--mono);font-size:var(--fs-mono-sm);align-items:center;padding:4px 10px;display:inline-flex}.sd-needs a:hover,.sd-skill-list a:hover{border-color:var(--accent);background:var(--accent-soft)}.sd-hint{margin-top:10px}.sd-hint summary{min-height:40px;color:var(--text-2);font-size:var(--fs-body-sm);align-items:center;gap:8px;display:inline-flex}.sd-hint summary:hover{color:var(--text)}.sd-hint summary svg{color:var(--syn-amber)}.sd-hint p{border-radius:var(--radius);background:var(--well);color:var(--text-2);font-size:var(--fs-body-sm);padding:12px 14px;line-height:1.6}.sd-answer{border-top:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:14px;padding-top:16px;display:flex}.sd-answer label{flex:200px;gap:7px;display:grid}.sd-answer-label{color:var(--text-3);font-size:var(--fs-caption)}.sd-answer input{border:1px solid var(--border-strong);background:var(--well);width:100%;min-width:0;height:46px;color:var(--text);font-family:var(--mono);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);border-radius:9px;padding:0 14px;font-size:16px}.sd-answer input::placeholder{color:var(--text-faint)}.sd-answer input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.sd-answer input[aria-invalid=true]{border-color:var(--syn-coral);animation:sd-shake .32s var(--ease-out)}@keyframes sd-shake{25%{transform:translate(-5px)}60%{transform:translate(4px)}}.sd-feedback{font-size:var(--fs-body-sm);flex-basis:100%}.sd-feedback[data-state=right]{color:var(--syn-green)}.sd-feedback[data-state=wrong]{color:var(--coral-text)}.sd-solution{margin-top:16px}.sd-solution-label{color:var(--text-3);font-size:var(--fs-caption);margin-bottom:8px}.sd-solution-code{font-family:var(--mono);padding:14px 16px;font-size:13px;line-height:1.6;overflow-x:auto}.sd-load{margin-top:10px}.sd-after{margin:-4px 22px 18px var(--indent);border-left:2px solid var(--syn-green);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--green-soft);color:var(--text-2);font-size:var(--fs-body-sm);padding:11px 14px;line-height:1.6}.sd-storage-note{color:var(--text-3);font-size:var(--fs-caption);margin-top:12px}.sd-storage-note[data-state=failed],.sd-noscript{color:var(--coral-text)}.sd-main .sd-console{border-color:var(--border-strong);flex-direction:column;display:flex}@media (width>=1024px){.sd-main .sd-console{top:calc(var(--nav-h) + 16px);max-height:calc(100dvh - var(--nav-h) - 32px);position:sticky}.sd-main .sd-console:has(.pg-sql-table:not([hidden])){height:calc(100dvh - var(--nav-h) - 32px)}.sd-console:has(.pg-sql-table:not([hidden])) .pg-sql-output{min-height:160px}.sd-console:has(.pg-sql-table:not([hidden])) .sd-query-help,.sd-main .sd-back,.sd-to-console{display:none}}.sd-console-bar{color:var(--text-3);font-size:var(--fs-mono-xs);flex-wrap:wrap;row-gap:6px}.sd-console-bar h2{color:var(--text);font-family:var(--ui);margin-left:4px;font-size:14.5px;font-weight:500}.sd-console-meta{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-left:auto;display:inline-flex}.sd-console-ro{background:var(--well);color:var(--text-2);border-radius:5px;align-items:center;gap:6px;padding:2px 8px;display:inline-flex}.sd-console-ro svg{width:10px;height:10px}.sd-ide{--ide-pad:16px;min-height:0;padding:var(--ide-pad);flex:auto;gap:12px;overflow-y:auto}.sd-console .pg-presets{gap:6px 8px}.sd-console :is(.pg-presets-label,.pg-preset){letter-spacing:0}.sd-console .pg-preset{min-height:34px}.sd-console .pg-sql-editor{border-color:var(--border-subtle);flex:none}.sd-console [data-sql-code]{min-height:188px}@media (width>=1024px) and (height<=820px){.sd-console [data-sql-code]{min-height:128px}}.sd-console .pg-sql-actions{gap:10px 16px}.sd-console .pg-sql-actions .btn svg{width:12px;height:12px}.sd-kbd{color:var(--text-3);font-family:var(--mono);font-size:var(--fs-mono-xs)}.sd-kbd kbd{border:1px solid var(--border-strong);background:var(--surface-raised);min-width:22px;color:var(--text-2);font:inherit;text-align:center;border-bottom-width:2px;border-radius:5px;padding:1px 6px;display:inline-block}.sd-query-help,.sd-schema-help{color:var(--text-3);font-size:var(--fs-caption);line-height:1.5}.sd-console .pg-sql-output{background:var(--bg-panel);flex:auto;grid-template-rows:auto minmax(0,1fr);grid-template-columns:auto minmax(0,1fr);align-items:stretch;min-height:auto;display:grid}.sd-console .pg-sql-output[data-state=failed]{border-color:color-mix(in srgb, var(--syn-coral) 45%, transparent)}.sd-console .pg-sql-table{border-radius:var(--radius-sm);overscroll-behavior:contain;grid-column:1/-1;max-height:60vh;overflow:auto}@media (width>=1024px){.sd-console:has(.pg-sql-table:not([hidden])) .pg-sql-table{max-height:none}}.sd-console .pg-sql-table table{border-collapse:separate;border-spacing:0;min-width:100%}.sd-console .pg-sql-table :is(th,td){border:0;border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:7px 12px}.sd-console .pg-sql-table td.is-long{white-space:normal;overflow-wrap:anywhere;min-width:16rem}.sd-console .pg-sql-table th{z-index:1;position:sticky;top:0}.sd-console .pg-sql-table tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--surface-raised) 55%, transparent)}.sd-console .pg-sql-table tbody tr:hover td{background:var(--surface-hover)}.sd-tables{margin:4px calc(-1 * var(--ide-pad)) calc(-1 * var(--ide-pad));border-top:1px solid var(--border-subtle);background:var(--bg-panel);flex:none}.sd-tables>summary{min-height:46px;color:var(--text-2);font-family:var(--mono);font-size:var(--fs-mono-sm);align-items:center;gap:10px;padding:0 16px;display:flex}.sd-tables>summary:hover{color:var(--text)}.sd-tables>summary .sd-chevron{margin-left:auto}.sd-tables-count{background:var(--surface-raised);color:var(--text-3);font-size:var(--fs-mono-xs);border-radius:999px;padding:0 7px}.sd-tables-body{padding:0 16px 16px}.sd-console .sd-schema{overscroll-behavior:contain;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;max-height:320px;margin:10px 0 12px;display:grid;overflow-y:auto}.sd-console .sd-schema li{border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--surface);grid-template-columns:minmax(0,1fr) auto;align-content:start;gap:4px 10px;padding:10px 12px;display:grid}.sd-table-query{min-height:30px;color:var(--accent-text);cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:8px;padding:0;display:inline-flex}.sd-table-query:hover code{background:color-mix(in srgb, var(--accent) 28%, transparent)}.sd-schema .pg-schema-count{font-size:var(--fs-mono-xs);align-self:center}.sd-table-note,.sd-schema .pg-schema-columns{grid-column:1/-1}.sd-table-note{color:var(--text-2);font-size:var(--fs-caption);line-height:1.45}.sd-schema .pg-schema-columns{color:var(--text-3);font-size:var(--fs-mono-xs);overflow-wrap:anywhere}.sd-final{border:1px solid color-mix(in srgb, var(--syn-green) 40%, var(--border));border-radius:var(--radius-lg);background:var(--bg-panel);padding:32px 34px;position:relative}.sd-final h2{font-size:var(--fs-h2-sm);letter-spacing:-.02em;padding-right:150px;line-height:1.1}.sd-epilogue p{max-width:70ch;color:var(--text-2);margin-top:14px;line-height:1.65}.sd-final-stamp{color:var(--syn-green);font-size:var(--fs-mono-lg);border-width:3px;padding:6px 14px;top:30px;right:34px;transform:rotate(-8deg)}@media (prefers-reduced-motion:no-preference){.sd-final:not([hidden]) .sd-final-stamp{animation:sd-stamp .45s var(--ease-out) .2s both}}@keyframes sd-stamp{0%{opacity:0;transform:rotate(-8deg)scale(1.8)}}.sd-final .cs-share{margin-top:22px}.sd-final-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.sd-about{border-top:1px solid var(--border);gap:44px 56px;padding-top:44px;display:grid}@media (width>=900px){.sd-about{grid-template-columns:repeat(3,minmax(0,1fr))}.sd-how{grid-column:1/-1}}.sd-about h2{font-size:var(--fs-title);letter-spacing:-.01em;margin-bottom:14px}.sd-about p{color:var(--text-2);font-size:var(--fs-body-sm);line-height:1.6}.sd-about p+p{margin-top:10px}.sd-how-list{counter-reset:sd-how;gap:18px 32px;margin:4px 0 18px;list-style:none;display:grid}.sd-how-list li{min-height:32px;color:var(--text-2);font-size:var(--fs-body);counter-increment:sd-how;padding:4px 0 0 48px;line-height:1.55;position:relative}.sd-how-list li:before{content:counter(sd-how);border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--bg));width:32px;height:32px;color:var(--accent-text);font-family:var(--mono);font-size:var(--fs-mono);border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0}@media (width>=900px){.sd-how-list{grid-template-columns:repeat(3,minmax(0,1fr))}.sd-how-list li{padding:46px 0 0}.sd-how-list li:not(:last-child):after{content:"";background:var(--border-strong);height:1px;position:absolute;top:16px;left:44px;right:-20px}}.sd-skill-list{flex-wrap:wrap;gap:8px;margin-bottom:14px;list-style:none;display:flex}.sd-next-list{border-top:1px solid var(--border);list-style:none}.sd-next-list li{border-bottom:1px solid var(--border);color:var(--text-3);font-size:var(--fs-body-sm);padding:12px 30px 12px 0;line-height:1.5;position:relative}.sd-next-list a{color:var(--text);font-weight:500}.sd-next-list a:after{content:"";position:absolute;inset:0}.sd-next-list li:hover a{color:var(--accent-text)}.sd-next-arrow{width:12px;height:12px;color:var(--text-3);position:absolute;top:50%;right:4px;transform:translateY(-50%)}.sd-next-list li:hover .sd-next-arrow{color:var(--accent-text)}@media (width<=1023px){.sd-step[data-state=locked]{display:none}}@media (width<=600px){.sd-shell{gap:40px;padding-top:16px}.sd-case{padding:22px 18px 0}.sd-case .sd-stamp{background:var(--bg-panel);top:-15px;right:14px}.sd-case-meta{padding-right:0}.sd-console-meta{margin-left:0}.sd-dossier{margin-inline:-18px;padding-inline:18px}.sd-step{--node:26px;--node-x:14px;--node-y:26px}.sd-step-body{padding-right:16px}.sd-after{margin-right:16px}.sd-answer>button{width:100%}.sd-ide{--ide-pad:12px}.sd-console .pg-sql-actions .btn{flex:auto}.sd-final{padding:76px 20px 26px}.sd-final h2{padding-right:0}.sd-final-stamp{top:24px;left:20px;right:auto}}@media (pointer:coarse){.sd-kbd{display:none}.sd-needs a,.sd-skill-list a,.sd-console .pg-preset,.sd-table-query{min-height:44px}}
