.mvc-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;gap:12px;align-items:center;padding-block:28px;border-bottom:1px solid var(--line)}.mvc-flow div{display:grid;gap:5px;padding:16px;background:var(--ink);color:white}.mvc-flow span{color:var(--lime);font:8px var(--font-geist-mono)}.mvc-flow strong{font-size:12px}.mvc-flow b{color:var(--violet-deep);font-weight:400}.project-tree{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;align-items:start;margin:55px 0 10px;padding:32px;border:1px solid var(--line);background:#e9e8e1}.project-tree h2{margin:8px 0 15px;font-size:30px;letter-spacing:-.04em}.project-tree p:not(.kicker){color:var(--muted);line-height:1.6}.project-tree .terminal{margin:0;box-shadow:none}.project-tree pre{font-size:10px;line-height:1.7}.responsibility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px}.responsibility-grid div{display:grid;gap:7px;padding:22px;border:1px solid var(--line);background:#fff}.responsibility-grid small{display:grid;place-items:center;width:28px;height:28px;background:var(--violet);color:white;font:800 10px var(--font-geist-mono)}.responsibility-grid span{color:var(--muted);font-size:11px}.architecture-note{display:grid;grid-template-columns:240px 1fr;margin-top:30px;border:1px solid var(--line)}.architecture-note>*{padding:14px 17px;border-top:1px solid var(--line)}.architecture-note>:nth-child(-n+2){border-top:0}.architecture-note code{color:var(--violet-deep);font-size:10px}.architecture-note span{font-size:12px}.public-map{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin-top:30px}.public-map span{padding:15px;border:1px solid var(--line);background:#e9e8e1;font:10px var(--font-geist-mono)}.public-map span:nth-of-type(n+3){grid-column:3}.public-map b{grid-row:1/4;grid-column:2;color:var(--violet-deep)}.engine-boundary{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin-top:30px}.engine-boundary div{display:grid;gap:10px;padding:22px;border:1px solid var(--line);background:#fff}.engine-boundary div:last-child{background:var(--ink);color:white}.engine-boundary code{font-size:10px;color:var(--violet-deep)}.engine-boundary div:last-child code{color:var(--lime)}.architecture-deep-course{margin:82px 0}.architecture-deep-course>h2{max-width:680px;margin:10px 0 18px;font-size:clamp(36px,4vw,52px);line-height:1;letter-spacing:-.045em}.deep-course-intro{max-width:720px;margin:0 0 42px;color:#555a68;font-size:16px;line-height:1.8}.deep-course-part{position:relative;padding:42px 42px 42px 82px;border:1px solid var(--line);border-top:0;background:#f4f3ed}.deep-course-part:first-of-type{border-top:1px solid var(--line)}.deep-course-part>span{position:absolute;left:24px;top:48px;color:var(--violet-deep);font:750 10px var(--font-geist-mono)}.deep-course-part h3{margin:0 0 20px;font-size:29px;letter-spacing:-.035em}.deep-course-part>p{margin:14px 0;color:#555a68;font-size:15px;line-height:1.82}.deep-course-part .section-lead{color:var(--ink);font-size:17px;font-weight:650}.understanding-check{margin-top:26px;padding:20px 22px;border-top:3px solid var(--lime);background:var(--ink);color:white}.understanding-check strong{color:var(--lime);font-size:12px}.understanding-check p{margin:8px 0 0;color:#d6d8df;font-size:13px;line-height:1.7}@media(max-width:900px){.mvc-flow{grid-template-columns:1fr auto 1fr auto 1fr}.engine-boundary,.project-tree{grid-template-columns:1fr}}@media(max-width:620px){.mvc-flow{display:flex;overflow-x:auto}.mvc-flow div{min-width:105px}.project-tree{margin-inline:calc(var(--pad) * -1);padding:25px var(--pad)}.architecture-note,.responsibility-grid{grid-template-columns:1fr}.architecture-note>*{border-top:1px solid var(--line)!important}.architecture-note>:first-child{border-top:0!important}.public-map{grid-template-columns:1fr}.public-map b{display:none}.public-map span,.public-map span:nth-of-type(n+3){grid-column:1}.engine-boundary{grid-template-columns:1fr}.deep-course-part{padding:30px 22px}.deep-course-part>span{position:static;display:block;margin-bottom:12px}}