:root{--bg:#071019;--panel:#0f1b28;--text:#f7fafc;--muted:#c2cfdd;--line:#2b4058;--green:#78e5bd;--blue:#7fb1ff;--gold:#ffd166}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6;background:radial-gradient(900px 520px at 95% -5%,#18335a,transparent 55%),var(--bg)}a{color:inherit;text-decoration:none}.wrap{max-width:1240px;margin:auto;padding:0 24px}nav{height:76px;border-bottom:1px solid #203044;display:flex;align-items:center}.brand{font-weight:850;font-size:20px}.brand span{color:var(--green)}main{padding:58px 0 90px}.back{color:var(--blue);font-size:14px}.eyebrow{color:var(--green);font-weight:850;text-transform:uppercase;letter-spacing:.12em;font-size:13px}h1{font-size:clamp(46px,7vw,82px);line-height:1;letter-spacing:-.06em;margin:20px 0 16px}.lede{font-size:21px;color:var(--muted);max-width:850px}.layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:26px;align-items:start}.sidebar{position:sticky;top:22px;border:1px solid var(--line);background:rgba(12,23,34,.9);border-radius:20px;padding:18px}.sidebar h2{font-size:17px;margin:0 0 14px}.sidebar .tree{display:grid;gap:7px}.sidebar details{border-top:1px solid rgba(255,255,255,.08);padding-top:8px}.sidebar summary{cursor:pointer;color:#dbe6f2;font-size:13px;font-weight:800;list-style:none}.sidebar summary::-webkit-details-marker{display:none}.sidebar summary:before{content:'＋';color:var(--green);margin-right:6px}.sidebar details[open] summary:before{content:'－'}.sidebar ul{list-style:none;margin:7px 0 5px;padding-left:18px;display:grid;gap:5px}.sidebar li a{color:var(--muted);font-size:12px}.sidebar li a:hover,.sidebar li a.active{color:var(--green)}.content{min-width:0}.card{background:linear-gradient(180deg,#102032,#0b1622);border:1px solid var(--line);border-radius:22px;padding:28px;margin-bottom:20px}.card h2{font-size:29px;line-height:1.15;margin:0 0 13px}.card h3{font-size:18px;margin:23px 0 6px}.muted{color:var(--muted)}.note{border-left:3px solid var(--green);padding-left:16px;color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.chip{font-size:12px;padding:6px 10px;border:1px solid #38516d;border-radius:999px;color:#dce8f7;background:#0b1723}.video-card video{width:100%;display:block;border-radius:14px;background:#050b12;margin-top:16px}.video-caption{font-size:13px;color:#91a4b8;margin:11px 0 0}.mindmap{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:24px;min-height:540px;padding:42px 20px;background:radial-gradient(circle at center,rgba(120,229,189,.13),transparent 29%),#0b1723;border-radius:22px;border:1px solid var(--line);overflow:hidden}.mindmap:before,.mindmap:after{content:'';position:absolute;left:50%;top:50%;width:30%;height:2px;background:linear-gradient(90deg,rgba(120,229,189,.15),rgba(120,229,189,.7),rgba(120,229,189,.15));transform-origin:left center;z-index:0}.mindmap:before{transform:rotate(23deg)}.mindmap:after{transform:rotate(-23deg)}.hub{grid-column:2;grid-row:1 / 3;align-self:center;justify-self:center;width:240px;height:168px;border:2px solid var(--green);border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:linear-gradient(145deg,#173348,#0d202d);box-shadow:0 0 45px rgba(120,229,189,.16);z-index:2}.hub b{font-size:22px;line-height:1.15}.hub span{color:var(--muted);font-size:13px;margin-top:8px}.map-node{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;min-height:160px;padding:20px 18px;border:1px solid #38516d;border-radius:17px;background:linear-gradient(180deg,#102335,#0b1723);transition:transform .2s,border-color .2s}.map-node:hover{transform:translateY(-3px);border-color:var(--green)}.map-node:nth-child(2){grid-column:1;grid-row:1}.map-node:nth-child(3){grid-column:3;grid-row:1}.map-node:nth-child(4){grid-column:1;grid-row:2}.map-node:nth-child(5){grid-column:3;grid-row:2}.map-node small{color:var(--green);font-weight:850}.map-node b{font-size:18px;margin:5px 0}.map-node span{color:var(--muted);font-size:13px;line-height:1.45}.sample-intro{font-size:18px;color:var(--muted);margin-top:0}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:22px}.step{padding:16px 13px;border:1px solid #38516d;border-radius:15px;background:#07111a}.step b{display:block;color:var(--green);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px}.step strong{display:block;font-size:15px;margin-bottom:6px}.step span{color:var(--muted);font-size:13px;line-height:1.45}.key-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.key{padding:16px;border:1px solid #38516d;border-radius:14px;background:#07111a}.key b{display:block;color:var(--blue);margin-bottom:5px}.key span{color:var(--muted);font-size:14px}.definition{font-size:18px;color:#e8f1fa}.formula{background:#07111a;border:1px solid #29415b;border-radius:14px;padding:16px;overflow:auto;font-family:ui-monospace,monospace;color:#dce8f7}.topic-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.topic-links a{border:1px solid #38516d;border-radius:999px;padding:7px 11px;color:#dce8f7;font-size:13px}.topic-links a:hover{border-color:var(--green);color:var(--green)}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{position:relative;top:auto}.steps{grid-template-columns:1fr 1fr}.mindmap{min-height:0;grid-template-columns:1fr;grid-template-rows:auto}.hub,.map-node:nth-child(2),.map-node:nth-child(3),.map-node:nth-child(4),.map-node:nth-child(5){grid-column:1;grid-row:auto}.hub{order:0;margin:8px auto}.map-node{order:1;min-height:130px}.mindmap:before,.mindmap:after{display:none}}@media(max-width:560px){main{padding-top:38px}.steps,.key-grid{grid-template-columns:1fr}.card{padding:22px}.lede{font-size:18px}}

/* Module 03 · HTTP & APIs pages */
.module03-page .path{margin:0 0 18px;color:var(--muted);font-size:13px;letter-spacing:.02em}.module03-page .path span{color:var(--green)}
.module03-page .hero-label,.module03-page .section-number{color:var(--green);font-size:12px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.module03-page .section-number{display:block;margin-bottom:8px}.module03-page .hero-definition{max-width:820px;font-size:22px;color:#dbe7f4}.module03-page .definition{font-size:21px;color:#fff}.module03-page .analogy-copy{font-size:19px;color:#fff}
.module03-page .part-grid,.module03-page .use-grid,.module03-page .compare-grid{display:grid;gap:12px;margin-top:18px}.module03-page .part-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.module03-page .use-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.module03-page .compare-grid{grid-template-columns:1fr 1fr}.module03-page .part-card,.module03-page .use-card,.module03-page .compare-card{padding:18px;border:1px solid #38516d;border-radius:14px;background:#07111a}.module03-page .part-card strong,.module03-page .use-card strong{display:block;color:#fff;font-size:17px}.module03-page .part-card span,.module03-page .use-card span,.module03-page .compare-card p{display:block;margin-top:6px;color:var(--muted);font-size:14px}.module03-page .compare-card h3{margin:0;color:var(--green);font-size:18px}.module03-page .compare-card p{margin-bottom:0}
.module03-page .visual-flow,.module03-page .connection-flow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:20px}.module03-page .visual-flow span,.module03-page .connection-flow span{padding:12px 14px;border:1px solid #38516d;border-radius:999px;background:#07111a;color:#fff;font-weight:800;text-align:center}.module03-page .visual-flow b,.module03-page .connection-flow b{color:var(--green);font-size:20px}.module03-page .example-url{margin:18px 0 20px;padding:18px 20px;border:1px solid #37665d;border-radius:14px;background:linear-gradient(135deg,rgba(120,229,189,.11),rgba(127,177,255,.07));overflow:auto}.module03-page .example-url code{color:#fff;font:800 18px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}.module03-page .url-parts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.module03-page .url-part{padding:15px;border:1px solid #38516d;border-radius:12px;background:#07111a}.module03-page .url-part code{display:block;color:var(--green);font:800 14px ui-monospace,SFMono-Regular,Menlo,monospace}.module03-page .url-part span{display:block;margin-top:6px;color:var(--muted);font-size:13px}.module03-page .formula-line{margin:18px 0 0;padding:14px 16px;border-left:3px solid var(--green);color:#fff;background:rgba(120,229,189,.07)}
.module03-page .glossary-wrap{overflow-x:auto;margin-top:18px}.module03-page .glossary{width:100%;min-width:860px;border-collapse:collapse;font-size:13px}.module03-page .glossary th,.module03-page .glossary td{padding:12px 11px;border-bottom:1px solid #29415a;text-align:left;vertical-align:top}.module03-page .glossary th{color:var(--green);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.module03-page .glossary td{color:var(--muted)}.module03-page .glossary td:first-child{color:#fff;font-weight:800}.module03-page .remember{border-color:#37665d;background:linear-gradient(135deg,rgba(120,229,189,.11),rgba(127,177,255,.07))}.module03-page .remember p{font-size:20px;color:#fff}.module03-page .topic-sidebar{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch;margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(12,23,34,.72)}.module03-page .topic-sidebar .current{grid-column:1/-1;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1);color:var(--green);font-size:12px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.module03-page .topic-sidebar a{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid #38516d;border-radius:12px;color:#fff}.module03-page .topic-sidebar a:hover{border-color:var(--green)}.module03-page .topic-sidebar a:last-child{text-align:right;align-items:flex-end}.module03-page .topic-sidebar small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.module03-page .direction-key{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:12px;white-space:nowrap}.module03-page .direction-key b{color:var(--green);font-size:21px}
.module03-overview .module-goals,.module03-overview .concept-grid,.module03-overview .topic-grid{display:grid;gap:12px}.module03-overview .module-goals{grid-template-columns:repeat(3,minmax(0,1fr))}.module03-overview .concept-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.module03-overview .topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module03-overview .goal-card,.module03-overview .concept-card,.module03-overview .topic-card{padding:18px;border:1px solid #38516d;border-radius:15px;background:#07111a}.module03-overview .goal-card strong,.module03-overview .concept-card h3,.module03-overview .topic-card strong{display:block;color:#fff}.module03-overview .goal-card span,.module03-overview .concept-card p,.module03-overview .topic-card span{display:block;margin-top:7px;color:var(--muted);font-size:14px}.module03-overview .topic-card{display:flex;flex-direction:column;min-height:132px}.module03-overview .topic-card em{margin-top:auto;padding-top:14px;color:var(--green);font-size:12px;font-style:normal;font-weight:800}.module03-overview .glossary-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid #37665d;border-radius:15px;background:linear-gradient(135deg,rgba(120,229,189,.11),rgba(127,177,255,.07))}.module03-overview .glossary-entry strong{display:block;color:#fff;font-size:18px}.module03-overview .glossary-entry span{display:block;margin-top:5px;color:var(--muted);font-size:14px}.module03-overview .glossary-entry a{flex:0 0 auto;color:var(--green);font-weight:800}
@media(max-width:760px){.module03-page .part-grid,.module03-page .use-grid,.module03-page .compare-grid,.module03-page .url-parts,.module03-overview .module-goals,.module03-overview .concept-grid,.module03-overview .topic-grid{grid-template-columns:1fr}.module03-page .topic-sidebar{grid-template-columns:1fr}.module03-page .topic-sidebar .current{grid-column:auto}.module03-page .topic-sidebar a:last-child{text-align:left;align-items:stretch}.module03-page .direction-key{order:3}.module03-page .visual-flow,.module03-page .connection-flow{flex-direction:column}.module03-page .visual-flow b,.module03-page .connection-flow b{transform:rotate(90deg)}.module03-overview .glossary-entry{align-items:flex-start;flex-direction:column}}
/* Module 03 · HTTP & APIs */
.module03-page h1{font-size:clamp(46px,7vw,82px);line-height:1;letter-spacing:-.06em;margin:20px 0 16px}.module03-page .lede{font-size:21px;color:var(--muted);max-width:850px}.module03-page .module-hero{max-width:920px}.module03-page .module-section{background:linear-gradient(180deg,#102032,#0b1622);border:1px solid var(--line);border-radius:22px;padding:28px;margin-top:20px}.module03-page .module-section h2{font-size:29px;line-height:1.15;margin:0 0 13px}.module03-page .section-lede{color:var(--muted);font-size:17px;max-width:850px}.module03-page .module-goals,.module03-page .concept-grid,.module03-page .topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.module03-page .goal-card,.module03-page .concept-card,.module03-page .topic-card{padding:18px;border:1px solid #38516d;border-radius:14px;background:#07111a}.module03-page .goal-card strong,.module03-page .concept-card strong,.module03-page .topic-card strong{display:block;color:#fff;font-size:17px}.module03-page .goal-card span,.module03-page .concept-card span,.module03-page .topic-card span{display:block;color:var(--muted);font-size:14px;margin-top:7px}.module03-page .flow{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:20px}.module03-page .flow span{padding:11px 14px;border:1px solid #38516d;border-radius:999px;background:#0d1e2d;color:#fff;font-weight:800;text-align:center}.module03-page .flow i{font-style:normal;color:var(--green);font-size:20px}.module03-page .connection-flow{display:flex;align-items:stretch;justify-content:center;gap:8px;margin-top:20px}.module03-page .connection-flow div{display:flex;flex:1 1 0;min-width:0;flex-direction:column;justify-content:center;min-height:88px;padding:15px 12px;border:1px solid #38516d;border-radius:14px;background:#07111a;color:#fff;font-weight:800;text-align:center}.module03-page .connection-flow div:nth-child(5){border-color:var(--green);background:rgba(120,229,189,.08)}.module03-page .connection-flow small{display:block;margin-top:6px;color:var(--muted);font-size:12px;font-weight:400}.module03-page .connection-flow b{align-self:center;flex:0 0 auto;color:var(--green);font-size:18px}.module03-page .topic-card{display:flex;flex-direction:column;min-height:118px}.module03-page .topic-card em{margin-top:auto;padding-top:12px;color:var(--green);font-size:12px;font-style:normal;font-weight:800}.module03-page .glossary-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid #37665d;border-radius:15px;background:linear-gradient(135deg,rgba(120,229,189,.11),rgba(127,177,255,.07))}.module03-page .glossary-entry strong{display:block;color:#fff;font-size:18px}.module03-page .glossary-entry span{display:block;margin-top:5px;color:var(--muted);font-size:14px}.module03-page .glossary-entry a{flex:0 0 auto;color:var(--green);font-weight:800}.module03-page .remember,.post-page .remember{border-color:#37665d;background:linear-gradient(135deg,rgba(120,229,189,.11),rgba(127,177,255,.07))}.module03-page .remember p,.post-page .remember p{font-size:21px;color:#fff}.post-page .path,.module03-glossary .path{margin:0 0 18px;color:var(--muted);font-size:13px;letter-spacing:.02em}.post-page .path span,.module03-glossary .path span{color:var(--green)}.post-page .hero-label,.post-page .section-number,.module03-glossary .hero-label{color:var(--green);font-size:12px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.post-page .hero-definition{max-width:820px;font-size:22px;color:#dbe7f4}.post-page .section-number{display:block;margin-bottom:8px}.post-page .definition{font-size:21px;color:#fff}.post-page .analogy-copy{font-size:19px;color:#fff}.post-page .flow-grid{display:grid;grid-template-columns:1fr 34px 1.25fr 34px 1fr 34px 1fr 34px 1.2fr;align-items:stretch;gap:8px;margin-top:20px}.post-page .flow-grid>div:not(.arrow){display:flex;align-items:center;justify-content:center;min-height:78px;padding:14px;border:1px solid #38516d;border-radius:14px;background:#07111a;color:#fff;text-align:center;font-weight:800}.post-page .flow-grid>div:nth-child(3){border-color:var(--green);background:rgba(120,229,189,.08)}.post-page .arrow{display:grid;place-items:center;color:var(--green);font-size:22px}.post-page .action-grid,.post-page .use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.post-page .use-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.post-page .action-grid>div,.post-page .use-grid>div{padding:18px;border:1px solid #38516d;border-radius:14px;background:#07111a}.post-page .action-grid strong,.post-page .use-grid strong{display:block;color:#fff;font-size:17px}.post-page .action-grid span{display:block;margin-top:6px;color:var(--muted);font-size:14px}.post-page .use-flow{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px}.post-page .use-flow span,.post-page .connection-flow span{padding:12px 14px;border:1px solid #38516d;border-radius:999px;background:#07111a;color:#fff;font-weight:800;text-align:center}.post-page .use-flow b,.post-page .connection-flow b{color:var(--green);font-size:20px}.post-page .request-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.post-page .request-card{padding:20px;border:1px solid #38516d;border-radius:14px;background:#07111a}.post-page .request-card h3{margin:0 0 12px;color:var(--green);font:800 18px ui-monospace,SFMono-Regular,Consolas,monospace}.post-page .request-card p{margin:0;color:var(--muted)}.post-page .connection-flow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:20px}.post-page .connection-flow span{display:inline-block}.post-page .compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.post-page .compare-grid>div{padding:20px;border:1px solid #38516d;border-radius:14px;background:#07111a}.post-page .compare-grid h3{margin:0;color:var(--green);font-size:18px}.post-page .compare-grid p{margin:7px 0 0;color:var(--muted)}.post-page .bottom-line{margin:18px 0 0;padding:14px 16px;border-left:3px solid var(--green);color:#fff;background:linear-gradient(90deg,rgba(120,229,189,.07),transparent)}.post-page .glossary-wrap,.module03-glossary .glossary-wrap{overflow-x:auto;margin-top:18px}.post-page .glossary,.module03-glossary .glossary{width:100%;min-width:860px;border-collapse:collapse;font-size:13px}.post-page .glossary th,.post-page .glossary td,.module03-glossary .glossary th,.module03-glossary .glossary td{padding:12px 11px;border-bottom:1px solid #29415a;text-align:left;vertical-align:top}.post-page .glossary th,.module03-glossary .glossary th{color:var(--green);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.post-page .glossary td,.module03-glossary .glossary td{color:var(--muted)}.post-page .glossary td:first-child,.module03-glossary .glossary td:first-child{color:#fff;font-weight:800}.post-page .topic-sidebar{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch;margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(12,23,34,.72)}.post-page .topic-sidebar .current{grid-column:1/-1;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1);color:var(--green);font-size:12px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.post-page .topic-sidebar a{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid #38516d;border-radius:12px;color:#fff}.post-page .topic-sidebar a:hover{border-color:var(--green)}.post-page .topic-sidebar a:last-child{text-align:right}.post-page .topic-sidebar small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.post-page .direction-key{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:12px;white-space:nowrap}.post-page .direction-key b{color:var(--green);font-size:21px}.module03-glossary .glossary-hero{max-width:860px}.module03-glossary .glossary-hero h1{font-size:clamp(44px,6vw,72px);line-height:1;letter-spacing:-.06em;margin:20px 0 16px}.module03-glossary .glossary-intro{font-size:20px;color:var(--muted);max-width:820px}.module03-glossary .glossary-section{margin-top:20px;padding:26px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,#102032,#0b1622)}.module03-glossary .glossary-section h2{margin:0 0 12px;font-size:26px}.module03-glossary .glossary-caption{color:var(--muted);margin:0}.module03-glossary .glossary-table-wrap{overflow:auto}.module03-glossary .glossary{min-width:860px}.module03-glossary .glossary td:nth-child(2),.module03-glossary .glossary td:nth-child(4){color:#dbe7f4}.module03-glossary .glossary td:nth-child(3){color:var(--muted)}@media(max-width:900px){.module03-page .module-goals,.module03-page .concept-grid,.module03-page .topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.post-page .flow-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.post-page .use-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.module03-page .module-goals,.module03-page .concept-grid,.module03-page .topic-grid,.post-page .flow-grid,.post-page .action-grid,.post-page .use-grid,.post-page .request-cards,.post-page .compare-grid{grid-template-columns:1fr}.module03-page .flow,.post-page .use-flow{flex-direction:column}.module03-page .flow i,.post-page .use-flow b,.post-page .connection-flow b{transform:rotate(90deg)}.module03-page .connection-flow{flex-direction:column}.module03-page .connection-flow b{font-size:0}.module03-page .connection-flow b:after{content:'↓';font-size:18px}.post-page .flow-grid .arrow{font-size:0;min-height:12px}.post-page .flow-grid .arrow:after{content:'↓';font-size:22px}.post-page .topic-sidebar{grid-template-columns:1fr}.post-page .topic-sidebar .current{grid-column:auto}.post-page .topic-sidebar a:last-child{text-align:left}.post-page .direction-key{order:3}.module03-page .glossary-entry{align-items:flex-start;flex-direction:column}}
