.opus-article.article-container{--opus-paper:#131515;--opus-ink:#e8e8e3;--opus-muted:#a3aaa7;--opus-line:#343a37;--opus-accent:#24c7be;background:var(--opus-paper);color:var(--opus-ink);font-family:var(--font-geist-sans),sans-serif;min-height:100vh}.opus-article *{box-sizing:border-box}.opus-article a{text-decoration:none}.opus-article a:focus-visible,.opus-article summary:focus-visible{outline:2px solid var(--opus-accent);outline-offset:5px}.opus-article ::selection{color:#fff;background:#24c7be40}.opus-progress{background:var(--opus-line);z-index:60;height:2px;position:fixed;inset:0 0 auto}.opus-progress>div{background:var(--opus-accent);height:100%}.opus-skip{z-index:70;background:var(--opus-paper);color:var(--opus-ink);padding:12px;position:fixed;top:-80px;left:16px}.opus-skip:focus{top:12px}.opus-main{max-width:1096px;margin-left:232px;padding:56px 64px 48px}.opus-nav{border-right:1px solid var(--opus-line);background:var(--opus-paper);z-index:40;width:232px;padding:64px 24px;position:fixed;top:0;bottom:0}.opus-nav-title{color:var(--opus-ink);font-size:19px;font-weight:600}.opus-nav ol{margin:48px 0 0;padding:0;list-style:none}.opus-nav li{margin-bottom:24px}.opus-nav li a{color:var(--opus-muted);gap:12px;font-size:13px;line-height:1.6;transition:color .15s;display:flex}.opus-nav li span{font-family:var(--font-geist-mono),monospace;padding-top:2px;font-size:11px}.opus-nav li a:hover,.opus-nav li a[aria-current]{color:var(--opus-accent)}.opus-mobile-contents{display:none}.opus-home{color:var(--opus-muted);font-size:14px}.opus-home:hover,.opus-end a:hover{color:var(--opus-accent)}.opus-byline{color:var(--opus-muted);flex-wrap:wrap;gap:12px 24px;margin:56px 0 24px;font-size:13px;display:flex}.opus-byline span:first-child{color:var(--opus-ink)}.opus-header{max-width:720px}.opus-header h1{text-align:center;letter-spacing:-.045em;color:var(--opus-accent);margin:0;font-size:46px;font-weight:600}.opus-header h1>span{color:var(--opus-ink);letter-spacing:-.03em;margin-top:10px;font-size:27px;font-weight:450;line-height:1.3;display:block}.opus-header-rule{background:var(--opus-line);height:1px;margin:28px 0 36px}.opus-prose{color:#d4d8d4;text-wrap:pretty;max-width:720px;font-size:18px;line-height:1.85}.opus-prose p{margin:0 0 28px}.opus-prose section{scroll-margin-top:48px}.opus-prose h2{border-top:1px solid var(--opus-line);color:var(--opus-ink);letter-spacing:-.035em;margin:64px 0 28px;padding-top:24px;font-size:28px;font-weight:550;line-height:1.3}.opus-prose h3{color:var(--opus-ink);letter-spacing:-.025em;margin:40px 0 24px;font-size:23px;font-weight:550;line-height:1.4}.opus-theses{margin:0 0 28px;padding-left:1.4em;list-style:decimal}.opus-theses li{margin-bottom:10px;padding-left:6px}.opus-cover{width:min(100%,440px);margin:24px auto 20px}.opus-cover img{width:100%;height:auto;display:block}.opus-byline{justify-content:center;margin:24px 0 0}.opus-figure{text-wrap:initial;margin:40px 0;font-size:14px;line-height:1.6}.opus-figure figcaption{border-top:1px solid var(--opus-line);color:var(--opus-muted);gap:14px;margin-top:24px;padding-top:16px;font-size:12px;line-height:1.65;display:flex}.opus-figure figcaption>span{font-family:var(--font-geist-mono),monospace;color:var(--opus-accent)}.opus-process-label{color:var(--opus-muted);margin-bottom:20px;font-size:13px}.opus-linear{grid-template-columns:repeat(4,1fr);gap:24px;margin:0 0 36px;padding:0;list-style:none;display:grid}.opus-linear-earlier{grid-template-columns:repeat(5,1fr)}.opus-linear li{border:1px solid var(--opus-line);text-align:center;border-radius:3px;flex-direction:column;justify-content:center;padding:12px 6px;font-size:13px;display:flex;position:relative}.opus-linear li:not(:last-child):after{content:"→";color:var(--opus-muted);position:absolute;top:50%;right:-20px;transform:translateY(-50%)}.opus-linear .opus-intent-step{color:var(--opus-accent);background:#172722;border-color:#42665a}.opus-linear-integrated li{border-color:#42665a}.opus-embedded-intent{color:var(--opus-accent);background:#172722;border-top:1px solid #42665a;margin:10px -6px -12px;padding:8px 4px;font-size:11px;display:block}.opus-end{border-top:1px solid var(--opus-line);max-width:720px;color:var(--opus-muted);flex-wrap:wrap;gap:16px 28px;margin-top:56px;padding-top:24px;font-size:13px;display:flex}.opus-end>span{color:var(--opus-ink);margin-right:auto}@media (min-width:1440px){.opus-main{margin-left:calc(50vw - 488px)}}@media (max-width:1100px){.opus-main{padding:48px 40px}.opus-nav{width:208px;padding-inline:20px}.opus-main{margin-left:208px}}@media (max-width:800px){.opus-nav{border-right:0;border-bottom:1px solid var(--opus-line);justify-content:space-between;align-items:center;width:auto;height:54px;padding:14px 24px;display:flex;inset:2px 0 auto}.opus-nav-title{font-size:15px}.opus-nav>ol{display:none}.opus-mobile-contents{font-size:13px;display:block}.opus-mobile-contents summary{cursor:pointer;color:var(--opus-muted)}.opus-mobile-contents ol{background:var(--opus-paper);border-bottom:1px solid var(--opus-line);margin:0;padding:24px;position:absolute;top:53px;left:0;right:0}.opus-mobile-contents li:last-child{margin-bottom:0}.opus-main{margin-left:0;max-width:768px;margin-inline:auto;padding:88px 24px 40px}.opus-header h1{font-size:40px}.opus-header h1>span{font-size:25px}.opus-prose section{scroll-margin-top:80px}}@media (max-width:480px){.opus-prose{font-size:17px;line-height:1.8}.opus-header h1>span{font-size:23px}.opus-byline{gap:8px 16px;font-size:12px}.opus-cover{margin:20px auto 16px}.opus-prose h2{margin-top:48px;font-size:25px}.opus-linear{gap:14px}.opus-linear li{padding-inline:3px;font-size:11px}.opus-linear li:not(:last-child):after{right:-12px}.opus-embedded-intent{margin-inline:-3px;font-size:10px}.opus-end{gap:16px}}@media print{.opus-nav,.opus-progress,.opus-home,.opus-skip,.opus-end,.opus-cover{display:none}.opus-article.article-container{--opus-paper:#fff;--opus-ink:#171717;--opus-muted:#555;--opus-line:#ccc;--opus-accent:#08756f}.opus-main{max-width:none;margin:0;padding:0}.opus-prose{color:#171717;max-width:none;font-size:11pt}.opus-figure{break-inside:avoid}.opus-header h1>span{font-size:36pt}}
