.theory-deep-dive{margin-top:56px}.reading-intro{display:grid;grid-template-columns:150px 1fr 1fr;grid-gap:22px;gap:22px;align-items:end;padding-bottom:22px;border-bottom:var(--border-w) solid var(--color-border)}.reading-intro>span{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--color-brand-subtle-fg)}.reading-intro h3{margin:0;font-size:25px;line-height:1.2}.reading-intro p{margin:0;color:var(--color-fg-muted);line-height:1.6}.theory-module{border-bottom:var(--border-w) solid var(--color-border)}.theory-module summary{display:grid;grid-template-columns:58px 1fr auto;grid-gap:18px;gap:18px;align-items:center;padding:24px 0;cursor:pointer;list-style:none}.theory-module summary::-webkit-details-marker{display:none}.theory-module summary>span{font:700 14px var(--font-mono);color:var(--color-brand)}.theory-module summary small,.theory-module summary strong{display:block}.theory-module summary small{margin-bottom:5px;color:var(--color-fg-muted);font-size:10px;font-weight:700;letter-spacing:.08em}.theory-module summary strong{font-size:19px}.theory-module summary>b{font-size:25px;font-weight:400;transition:transform .2s ease}.theory-module[open] summary>b{transform:rotate(45deg)}.theory-module__content{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:50px;gap:50px;padding:4px 0 38px 76px}.theory-copy p{margin:0 0 16px;color:var(--color-fg-muted);font-size:16px;line-height:1.75}.theory-copy aside{padding:16px 18px;border-left:4px solid var(--color-brand);background:var(--color-brand-subtle);color:var(--color-brand-subtle-fg);line-height:1.55}.theory-copy aside strong{display:block;margin-bottom:4px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.theory-module dl{margin:0}.theory-module dl div{padding:13px 0;border-bottom:var(--border-w-hairline) solid var(--color-border)}.theory-module dt{margin-bottom:4px;font-weight:800}.theory-module dd{margin:0;color:var(--color-fg-muted);font-size:13px;line-height:1.5}.practice-studio{width:min(1220px,calc(100% - 32px));max-width:1220px}.practice-block{margin-top:42px;padding-top:36px;border-top:var(--border-w) solid var(--color-border)}.practice-block>header{display:grid;grid-template-columns:130px 1fr;grid-gap:20px;gap:20px;margin-bottom:24px}.practice-block>header>span{color:var(--color-brand-subtle-fg);font-size:11px;font-weight:800;letter-spacing:.1em}.practice-block header h3{margin:0 0 7px;font-size:24px}.practice-block header p{max-width:760px;margin:0;color:var(--color-fg-muted);line-height:1.6}.bug-layout{display:grid;grid-template-columns:1fr 1fr;grid-gap:26px;gap:26px}.bug-code{overflow:auto;margin:0;padding:24px;border:var(--border-w) solid var(--color-border);background:var(--color-surface-sunken);color:var(--color-fg);font:13px/1.75 var(--font-mono)}.bug-options{display:flex;flex-direction:column;gap:10px}.bug-options button{display:flex;gap:12px;align-items:center;padding:14px;border:var(--border-w) solid var(--color-border);background:var(--color-surface);color:var(--color-fg);font:600 13px var(--font-body);text-align:left;cursor:pointer}.bug-options button>span{display:grid;place-items:center;flex:none;width:28px;height:28px;background:var(--color-surface-sunken);font:700 12px var(--font-mono)}.bug-options button.is-correct{background:var(--color-success-subtle);color:var(--color-success-fg)}.bug-options button.is-wrong{background:var(--color-danger-subtle);color:var(--color-danger-fg)}.bug-options>p{margin:4px 0 0;font-size:12px;line-height:1.55}.code-workshop{display:grid;grid-template-columns:1.25fr .75fr;border:var(--border-w) solid var(--color-border)}.code-workshop textarea{min-height:300px;padding:24px;resize:vertical;border:0;border-right:var(--border-w) solid var(--color-border);background:var(--color-surface-sunken);color:var(--color-fg);font:13px/1.7 var(--font-mono);outline-offset:-4px}.workshop-review{padding:24px;background:var(--color-surface)}.workshop-review>p{margin:0 0 15px;font-size:10px;font-weight:800;letter-spacing:.1em}.workshop-review ul{padding:0;margin:0 0 20px;list-style:none}.workshop-review li{display:flex;gap:9px;padding:10px 0;border-bottom:var(--border-w-hairline) solid var(--color-border);color:var(--color-fg-muted);font-size:12px}.workshop-review li.is-pass{color:var(--color-success-fg)}.workshop-review li.is-pending{color:var(--color-warning-fg)}.workshop-review small{display:block;margin-top:14px;color:var(--color-fg-muted);line-height:1.5}.reflection-block>textarea{width:100%;box-sizing:border-box;padding:18px;resize:vertical;border:var(--border-w) solid var(--color-border);background:var(--color-surface);color:var(--color-fg);font:15px/1.65 var(--font-body)}.reflection-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.reflection-footer>span{color:var(--color-fg-muted);font-size:11px}.saved-note{padding:12px 15px;background:var(--color-success-subtle);color:var(--color-success-fg);font-size:12px}.challenge-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.challenge-card{padding:22px;border:var(--border-w) solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}.challenge-card>div{display:flex;justify-content:space-between;color:var(--color-brand-subtle-fg);font:700 10px var(--font-mono);letter-spacing:.08em}.challenge-card h4{margin:22px 0 10px;font-size:19px}.challenge-card>p{min-height:76px;color:var(--color-fg-muted);font-size:13px;line-height:1.6}.challenge-card ul{padding:0;margin:18px 0 0;list-style:none}.challenge-card li{padding:10px 0;border-top:var(--border-w-hairline) solid var(--color-border)}.challenge-card label{display:flex;gap:9px;align-items:flex-start;cursor:pointer;font-size:12px;line-height:1.45}.challenge-card input{margin-top:2px;accent-color:var(--color-brand)}.example-steps{padding:0;margin:22px 0;list-style:none;counter-reset:example-step}.example-steps li{position:relative;padding:10px 0 10px 34px;border-top:var(--border-w-hairline) solid var(--color-border);color:var(--color-fg-muted);font-size:12px;line-height:1.5;counter-increment:example-step}.example-steps li:before{position:absolute;left:0;content:counter(example-step,decimal-leading-zero);color:var(--color-brand-subtle-fg);font:700 10px var(--font-mono)}@media(max-width:900px){.reading-intro,.theory-module__content{grid-template-columns:1fr}.theory-module__content{padding-left:0}.bug-layout,.code-workshop{grid-template-columns:1fr}.code-workshop textarea{border-right:0;border-bottom:var(--border-w) solid var(--color-border)}.challenge-grid{grid-template-columns:1fr}.challenge-card>p{min-height:0}}@media(max-width:600px){.practice-block>header{grid-template-columns:1fr;gap:8px}.theory-module summary{grid-template-columns:38px 1fr auto}.theory-module__content{gap:24px}.reading-intro h3{font-size:21px}}.practice-page{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:74px 0 90px;box-sizing:border-box}.practice-hero{display:grid;grid-template-columns:190px 1.15fr .85fr;grid-gap:26px;gap:26px;align-items:end;padding-bottom:34px;border-bottom:var(--border-w) solid var(--color-border)}.practice-hero>span{color:var(--color-brand-subtle-fg);font:700 11px var(--font-mono);letter-spacing:.1em}.practice-hero h1{margin:0;font:700 clamp(36px,5vw,62px)/1.02 var(--font-display);letter-spacing:-.05em}.practice-hero p{margin:0;color:var(--color-fg-muted);font-size:16px;line-height:1.65}.practice-tabs{position:-webkit-sticky;position:sticky;top:64px;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);margin:34px 0 0;border:var(--border-w) solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-md)}.practice-tabs button{min-width:0;padding:15px 18px;border:0;border-right:var(--border-w-hairline) solid var(--color-border);background:transparent;color:var(--color-fg);font-family:var(--font-body);text-align:left;cursor:pointer}.practice-tabs button:last-child{border-right:0}.practice-tabs button:hover{background:var(--color-surface-sunken)}.practice-tabs button[aria-selected=true]{background:var(--color-brand);color:var(--color-fg-on-brand)}.practice-tabs small,.practice-tabs strong{display:block}.practice-tabs strong{margin-bottom:3px;font-size:13px}.practice-tabs small{opacity:.75;font-size:10px;line-height:1.3}.practice-stage{min-width:0;padding-top:10px}.practice-pane{min-width:0}.practice-block--first{margin-top:24px}.practice-submit{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:18px}.practice-submit>span{margin-right:auto;color:var(--color-fg-muted);font-size:11px}.practice-feedback{display:grid;grid-template-columns:190px 1fr;grid-gap:20px;gap:20px;margin-top:16px;padding:18px;border:var(--border-w) solid var(--color-border);background:var(--color-surface-sunken)}.practice-feedback>div span,.practice-feedback>div strong{display:block}.practice-feedback>div strong{font-size:19px}.practice-feedback>div span{margin-top:3px;color:var(--color-fg-muted);font-size:10px}.practice-feedback>p{margin:0;line-height:1.55}.practice-feedback>ul{grid-column:2;padding:0;margin:0;list-style:none}.practice-feedback li{display:flex;gap:8px;padding:7px 0;border-top:var(--border-w-hairline) solid;font-size:12px}.practice-feedback.is-success{background:var(--color-success-subtle);color:var(--color-success-fg)}.practice-feedback.is-warning{background:var(--color-warning-subtle);color:var(--color-warning-fg)}.practice-feedback.is-info{background:var(--color-info-subtle);color:var(--color-info-fg)}.practice-feedback.is-error{display:block;background:var(--color-danger-subtle);color:var(--color-danger-fg)}.bug-options button.is-selected,.quick-question button.is-selected{background:var(--color-brand-subtle);color:var(--color-brand-subtle-fg);box-shadow:inset 4px 0 0 var(--color-brand)}.object-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin-top:28px;border:var(--border-w) solid var(--color-border);background:var(--color-surface)}.object-tabs button{display:flex;align-items:center;gap:9px;padding:13px 16px;border:0;border-right:var(--border-w-hairline) solid var(--color-border);background:transparent;color:var(--color-fg);font:700 13px var(--font-body);cursor:pointer}.object-tabs button:last-child{border-right:0}.object-tabs button[aria-selected=true]{background:var(--color-brand-subtle)}.object-tabs button>span{display:grid;place-items:center;width:24px;height:24px;background:var(--color-surface-sunken);font:700 10px var(--font-mono)}.object-tabs button>b{margin-left:auto;color:var(--color-success-fg)}.java-editor{min-width:0;max-width:100%;border:var(--border-w) solid var(--color-border);box-shadow:var(--shadow-sm);overflow:hidden}.java-editor .cm-editor{font:13px/1.65 var(--font-mono)}.java-editor .cm-editor,.java-editor .cm-scroller{min-width:0;max-width:100%}.java-editor .cm-content{padding:14px 0}.java-editor .cm-focused{outline:2px solid var(--color-focus-ring);outline-offset:-2px}kbd{padding:2px 5px;border:var(--border-w-hairline) solid var(--color-border);background:var(--color-surface-sunken);box-shadow:var(--shadow-xs);font:11px var(--font-mono)}.guide-exercise-tabs{display:grid;grid-template-columns:repeat(4,1fr);margin-top:24px;border:var(--border-w) solid var(--color-border);background:var(--color-surface)}.guide-exercise-tabs button{display:flex;gap:10px;align-items:center;min-width:0;padding:14px 16px;border:0;border-right:var(--border-w-hairline) solid var(--color-border);background:transparent;color:var(--color-fg);cursor:pointer;text-align:left}.guide-exercise-tabs button:last-child{border-right:0}.guide-exercise-tabs button[aria-selected=true]{background:var(--color-brand);color:var(--color-fg-on-brand)}.guide-exercise-tabs span{display:grid;flex:0 0 25px;place-items:center;height:25px;border:var(--border-w-hairline) solid;font:700 10px var(--font-mono)}.guide-exercise-tabs strong{overflow:hidden;font-size:13px;text-overflow:ellipsis}.guide-exercise-tabs b{margin-left:auto}.guide-brief{margin-top:18px;border:var(--border-w) solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}.guide-brief>header{display:grid;grid-template-columns:190px 1fr;grid-gap:20px;gap:20px;padding:22px;border-bottom:var(--border-w-hairline) solid var(--color-border)}.guide-brief>header span{color:var(--color-brand-subtle-fg);font:700 10px var(--font-mono);letter-spacing:.08em}.guide-brief h3{margin:0;font-size:23px}.guide-context{padding:22px}.guide-context p{max-width:900px;margin:0;color:var(--color-fg-muted);line-height:1.65}.guide-context p+p{margin-top:12px}.guide-columns{display:grid;grid-template-columns:1fr 1fr;border-top:var(--border-w-hairline) solid var(--color-border)}.guide-columns section{min-width:0;padding:20px 22px}.guide-columns section+section{border-left:var(--border-w-hairline) solid var(--color-border);background:var(--color-surface-sunken)}.guide-columns h4{margin:0 0 12px;font-size:12px;text-transform:uppercase;letter-spacing:.07em}.guide-columns ul{padding-left:20px;margin:0}.guide-columns li{margin:8px 0;color:var(--color-fg-muted);font-size:13px;line-height:1.5}.guide-file-tabs{display:flex;max-width:100%;margin-top:20px;overflow-x:auto;border:var(--border-w) solid var(--color-border);border-bottom:0;background:var(--color-surface-sunken)}.guide-file-tabs button{flex:0 0 auto;min-width:180px;padding:12px 16px;border:0;border-right:var(--border-w-hairline) solid var(--color-border);background:transparent;color:var(--color-fg);cursor:pointer;text-align:left}.guide-file-tabs button[aria-selected=true]{background:var(--color-surface);box-shadow:inset 0 -3px 0 var(--color-brand)}.guide-file-tabs span{display:block;margin-bottom:3px;color:var(--color-fg-subtle);font:700 9px var(--font-mono);letter-spacing:.09em}.guide-practice .java-editor{border-top-width:var(--border-w-hairline)}.page,body,html{max-width:100%;overflow-x:hidden;overflow-x:clip}.backend-lesson,.bug-layout,.challenge-grid,.code-workshop,.guided-example,.lesson-hero,.lesson-section,.practice-page,.practice-stage,.quiz-grid,.request-console,.simulator,.theory-module__content{min-width:0;max-width:100%}.backend-lesson pre,.practice-page pre{max-width:100%;box-sizing:border-box}@media(max-width:800px){.practice-hero{grid-template-columns:1fr}.practice-tabs{grid-template-columns:repeat(2,1fr);position:static}.practice-tabs button{border-bottom:var(--border-w-hairline) solid var(--color-border)}.practice-tabs button:nth-child(2n){border-right:0}.practice-tabs button:last-child{grid-column:1/-1;border-bottom:0}.guide-exercise-tabs{grid-template-columns:repeat(2,1fr)}.guide-exercise-tabs button{border-bottom:var(--border-w-hairline) solid var(--color-border)}.guide-exercise-tabs button:nth-child(2n){border-right:0}.guide-exercise-tabs button:nth-last-child(-n+2){border-bottom:0}.guide-brief>header,.guide-columns{grid-template-columns:1fr}.guide-columns section+section{border-left:0;border-top:var(--border-w-hairline) solid var(--color-border)}.practice-feedback{grid-template-columns:1fr}.practice-feedback>ul{grid-column:auto}}@media(max-width:520px){.practice-page{width:calc(100% - 24px);padding-top:48px}.practice-tabs{grid-template-columns:1fr}.practice-tabs button{grid-column:auto!important;border-right:0;border-bottom:var(--border-w-hairline) solid var(--color-border)!important}.practice-tabs button:last-child{border-bottom:0!important}.guide-exercise-tabs,.object-tabs{grid-template-columns:1fr}.guide-exercise-tabs button,.object-tabs button{border-right:0;border-bottom:var(--border-w-hairline) solid var(--color-border)}.guide-exercise-tabs button:last-child,.object-tabs button:last-child{border-bottom:0}.guide-exercise-tabs button:nth-last-child(2){border-bottom:var(--border-w-hairline) solid var(--color-border)}.guide-brief>header,.guide-columns section,.guide-context{padding:16px}.guide-file-tabs button{min-width:155px}.practice-submit{align-items:stretch;flex-direction:column}.practice-submit .btn{width:100%}.practice-feedback{padding:14px}}body:has(.backend-lesson) .site-header{background:var(--color-bg);border-bottom:var(--border-w) solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}body:has(.backend-lesson) .site-header__inner{max-width:1180px;height:64px}body:has(.backend-lesson) .site-header__logo{font-size:19px;text-transform:uppercase;letter-spacing:-.02em}body:has(.backend-lesson) .site-header__nav a{font-size:12px;font-weight:700}.backend-lesson{background:var(--color-bg)}.lesson-hero{min-height:650px}.lesson-hero:before{content:"01";position:absolute;right:-20px;top:24px;color:var(--color-brand-subtle);font:700 clamp(150px,22vw,300px)/1 var(--font-display);letter-spacing:-.1em;pointer-events:none}.lesson-hero>*{position:relative;z-index:1}.example-label,.lesson-eyebrow,.section-kicker{width:-moz-fit-content;width:fit-content;padding-bottom:5px;border-bottom:3px solid var(--color-accent);color:var(--color-brand-subtle-fg)}.lesson-hero h1{max-width:760px;font-weight:700;letter-spacing:-.055em}.lesson-hero__copy>p{border-left:4px solid var(--color-brand);padding-left:18px}.lesson-hero .btn,.lesson-summary .btn{border:var(--border-w) solid var(--color-border);box-shadow:var(--shadow-sm)}.lesson-hero .btn:hover,.lesson-summary .btn:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-md)}.lesson-meta li{padding-right:18px;border-right:var(--border-w-hairline) solid var(--color-border)}.lesson-hero__visual{transform:none}.mini-window{border-width:var(--border-w);box-shadow:var(--shadow-xl)}.lesson-sticker{right:-12px;transform:none;border-width:var(--border-w);box-shadow:var(--shadow-md)}.lesson-section{width:min(1180px,calc(100% - 40px));padding:86px 0;border-top:var(--border-w) solid var(--color-border)}.section-number{border:var(--border-w) solid var(--color-border);box-shadow:var(--shadow-sm)}.section-heading h2{font-weight:700;letter-spacing:-.04em}.concept-grid{gap:16px}.concept-card{border-width:var(--border-w);box-shadow:none}.concept-card.is-active,.concept-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.concept-card.is-active{background:var(--color-brand-subtle)}.concept-card:nth-child(2n)>span{background:var(--color-info-subtle);color:var(--color-info-fg)}.concept-card:nth-child(3n)>span{background:var(--color-success-subtle);color:var(--color-success-fg)}.guided-example,.lesson-summary,.quick-question,.request-flow,.simulator{border-width:var(--border-w);box-shadow:var(--shadow-md)}.request-flow{background:var(--color-surface)}.flow-node{border-width:var(--border-w);box-shadow:var(--shadow-sm)}.flow-node--server,.flow-node--server small{color:var(--color-fg-on-brand)}.flow-node--server small{opacity:.8}.example-tabs button{border-width:var(--border-w);box-shadow:none}.example-tabs button[aria-selected=true]{box-shadow:var(--shadow-sm)}.guided-example{background:var(--color-surface)}.code-window,.response-viewer{border-width:var(--border-w);box-shadow:var(--shadow-lg)}.lab-section{width:100%;max-width:none;margin:0;padding-inline:max(20px,calc((100% - 1180px)/2));background:var(--color-brand-subtle)}.endpoint-list button.is-selected{border-color:var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}.request-builder{border-width:var(--border-w)}.request-builder button{border-left-width:var(--border-w)}.practice-studio{margin-block:34px;padding:64px 38px;border:var(--border-w) solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-lg)}.quick-question,.quick-question button{box-shadow:none}.quick-question button:hover{background:var(--color-brand-subtle)}.lesson-footer{border-top:var(--border-w) solid var(--color-border)}@media(max-width:600px){.lesson-section{width:calc(100% - 28px)}.practice-studio{width:calc(100% - 24px);padding:48px 18px}.lesson-hero:before{opacity:.55}.lesson-meta li{border:0}.lab-section{width:100%;padding-inline:14px}}@media(prefers-reduced-motion:reduce){.backend-lesson *,.backend-lesson :after,.backend-lesson :before{animation:none!important;transition:none!important}}