@charset "UTF-8";
:root{--ink:#1e303b;--muted:#576772;--blue:#214cdc;--pale:#edf2ff;--line:#d6dcd9;--paper:#f7f7f2;--white:#fff;--green:#356654;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.9 var(--sans);overflow-wrap:break-word}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--blue)}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue);outline-offset:4px}::selection{background:#dce5ff}img,svg{max-width:100%}.wrap{width:min(100%,1200px);padding:0 48px;margin:auto}.skip{position:fixed;top:-100px;left:16px;background:var(--white);padding:12px 20px;z-index:50}.skip:focus{top:12px}
.header{border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:inline-flex;align-items:center;gap:12px;font-size:23px;font-weight:800;letter-spacing:.07em;line-height:1.4;text-decoration:none;white-space:nowrap}.brand-symbol{display:inline-block;position:relative;width:29px;height:35px;border-radius:2px;background:var(--blue);flex-shrink:0}.brand-symbol:before{content:"";position:absolute;height:100%;width:2px;left:6px;background:#a3baff}.brand-symbol:after{content:"";position:absolute;left:12px;right:5px;top:11px;height:8px;border-block:1px solid white}.primary-nav,.header nav{display:flex;gap:25px;align-items:center;flex-wrap:wrap;font-size:13px;font-weight:700}.header nav a{padding:10px 0;text-decoration:none;position:relative}.header nav a:hover,.header nav a[aria-current="page"]{color:var(--blue)}.header nav a[aria-current="page"]:after{content:"";position:absolute;bottom:3px;left:0;right:0;height:2px;background:var(--blue)}
.eyebrow,.note-label{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.14em;line-height:1.6}.home-hero,.intro{display:grid;grid-template-columns:1.15fr 1fr;gap:68px;padding:62px 0 52px;align-items:center}.home-hero h1,.intro h1{font-family:var(--serif);font-size:clamp(38px,4.3vw,56px);line-height:1.45;letter-spacing:.045em;margin:16px 0 22px;font-weight:700}.home-hero .lead,.hero-copy>p,.intro p{color:var(--muted);font-size:15px;line-height:1.9;max-width:450px}.home-actions{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;margin-top:26px}.home-actions>a:not([class]){font-size:14px;color:var(--blue);font-weight:700}.hero-note{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--ink);padding:28px 32px;position:relative}.hero-note:after{content:"";height:24px;width:12px;background:var(--blue);position:absolute;right:24px;top:-4px;clip-path:polygon(0 0,100% 0,100% 100%,50% 76%,0 100%)}.hero-note ol{list-style:none;padding:0;margin:14px 0 18px;counter-reset:notes}.hero-note li{padding:13px 0 13px 38px;position:relative;border-bottom:1px solid var(--line);counter-increment:notes;line-height:1.6}.hero-note li:before{content:counter(notes,decimal-leading-zero);position:absolute;left:0;top:14px;color:var(--blue);font:italic 20px/1.2 Georgia,serif}.hero-note li:last-child{border:0}.hero-note strong{display:block;font-size:15px;letter-spacing:.02em}.hero-note p{font-size:13px;color:var(--muted);margin:4px 0 0}.hero-note>a{font-size:13px;color:var(--blue);font-weight:700}
.button-primary,.button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 19px;border:1px solid var(--blue);border-radius:3px;text-decoration:none;font-size:14px;font-weight:700;line-height:1.6}.button-primary{background:var(--blue);color:white}.button-primary:hover{color:white;background:#1439b7;border-color:#1439b7}.button-secondary{background:transparent;color:var(--ink);border-color:#9ea9ad}.button-secondary:hover{color:var(--blue);border-color:var(--blue);background:var(--white)}button:disabled{opacity:.6;cursor:default}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:18px 0 15px;border-bottom:2px solid var(--ink)}.section-head h2{font-size:23px;letter-spacing:.05em;line-height:1.6;margin:0}.section-head>span,.section-head>p{font-size:12px;color:var(--muted);margin:0}.section-head>a{font-size:13px;color:var(--blue)}.companies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line)}.company-card{display:flex;flex-direction:column;align-items:flex-start;position:relative;padding:30px 28px 32px;border-right:1px solid var(--line)}.company-card:first-child{padding-left:0}.company-card:last-child{border-right:0;padding-right:0}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.index{font:italic 32px/1 Georgia,serif;color:#7b8890}.tag{font-size:10px;color:var(--muted);border:1px solid var(--line);padding:3px 7px;background:var(--white);line-height:1.5}.company-card h3{font-size:25px;letter-spacing:.02em;margin:24px 0 12px;line-height:1.4}.company-card p{font-size:14px;color:var(--muted);margin:0 0 20px}.company-card .question{font-size:13px;color:var(--ink);padding-left:13px;border-left:2px solid var(--blue);margin-bottom:25px}.text-link{font-size:13px;font-weight:700;color:var(--blue);margin-top:auto}.small-section{padding:36px 0 14px}.guide-list{display:grid;grid-template-columns:1fr 1fr;gap:18px 32px;margin:22px 0}.guide-card{display:block;text-decoration:none;border:1px solid var(--line);background:var(--white);padding:25px 27px;transition:border-color .15s}.guide-card:hover{border-color:var(--blue)}.guide-card h3{font-size:19px;line-height:1.65;margin:10px 0}.guide-card p{color:var(--muted);font-size:14px;margin:0}.method-strip{display:flex;align-items:center;gap:30px;padding:26px 28px;border-block:1px solid var(--line);margin-top:30px}.method-strip strong{font-size:14px;white-space:nowrap}.method-strip p{font-size:13px;color:var(--muted);margin:0}.next-step{background:var(--pale);padding:28px 30px;margin-top:36px;border-left:3px solid var(--blue)}.next-step h2{margin-top:0}.next-step p{margin:10px 0}
.breadcrumb{font-size:12px;line-height:1.8;color:var(--muted);padding-top:25px}.article-header{padding:34px 0 29px;border-bottom:2px solid var(--ink)}.article-header h1{font-family:var(--serif);font-size:clamp(30px,3.7vw,45px);line-height:1.55;letter-spacing:.035em;margin:12px 0 15px}.article-header .lead{font-size:16px;max-width:830px;color:var(--muted);margin:0 0 18px;line-height:1.95}.meta{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:12px;color:var(--muted)}.meta a{color:var(--ink)}.article-grid{display:grid;grid-template-columns:190px minmax(0,1fr);gap:58px;padding-top:38px}.toc{position:sticky;top:25px;align-self:start;font-size:13px;line-height:1.7;border-top:3px solid var(--blue);padding-top:14px}.toc p{font-size:11px;color:var(--blue);letter-spacing:.14em;font-weight:700;margin:0 0 12px}.toc a{display:block;padding:10px 0;text-decoration:none;border-bottom:1px solid var(--line)}.toc a:hover{padding-left:4px}.article-body{max-width:800px;min-width:0}.article-body section{margin-bottom:46px}.article-body h2{font-size:23px;letter-spacing:.025em;line-height:1.6;margin:0 0 23px;padding-bottom:14px;border-bottom:1px solid var(--line)}.article-body h3{font-size:18px;line-height:1.6;margin:27px 0 12px}.article-body p{margin:14px 0;line-height:2}.article-body li{margin:9px 0;padding-left:3px}.article-body ul,.article-body ol{padding-left:1.5em}.article-summary{background:var(--white);border:1px solid var(--line);padding:23px 27px;margin-bottom:34px}.article-summary h2{font-size:16px;border:0;padding:0;margin:0 0 12px}.article-summary ul{font-size:14px;margin:0}.article-summary li{margin:5px 0}.fact-label{display:inline-block;font-size:11px;font-weight:700;line-height:1.6;letter-spacing:.04em;color:var(--green);background:#e8f0eb;padding:4px 8px;margin:0 0 8px}.editor-label{color:var(--blue);background:#e7edff}.editor-box{background:#edf1fa;border-left:3px solid var(--blue);padding:23px 26px;margin:24px 0}.editor-box h3:first-child,.editor-box p:first-child{margin-top:0}.editor-box p:last-child,.editor-box ul:last-child{margin-bottom:0}.editor-box p,.editor-box li{font-size:15px}.verified-note,.notice{font-size:13px;color:var(--muted);border:1px solid var(--line);background:var(--white);padding:17px 20px;margin:22px 0}.source-ref{color:var(--blue);font-size:11px;margin-left:5px;white-space:nowrap}.source-list{font-size:13px;line-height:1.8}.source-list li{padding:8px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.source-list small{display:block;color:var(--muted);font-size:11px}.source-list li:target{background:var(--pale);outline:1px solid #b4c4ee}.job-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.job-panel{padding:23px;background:var(--white);border:1px solid var(--line);min-width:0}.job-panel h3{margin-top:0;font-size:19px}.job-panel p,.job-panel li{font-size:14px}.job-panel a{color:var(--blue);font-size:13px}.related-links{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:22px;font-size:14px}.related-links a{color:var(--blue)}.back-link{display:inline-block;font-size:13px;color:var(--blue);margin-top:20px}.wide-guide{max-width:860px;margin:0 auto}.wide-guide .article-body{max-width:none;padding-top:34px}
.table-scroll{overflow-x:auto;margin:24px 0;border:1px solid var(--line);background:var(--white);scrollbar-color:#9aa9b2 transparent}.data-table,.compare-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;line-height:1.9}.data-table th,.data-table td,.compare-table th,.compare-table td{padding:18px 20px;border-bottom:1px solid var(--line);vertical-align:top;min-width:0}.data-table th,.compare-table th{background:#eef0ed;font-weight:700}.data-table tr:last-child td,.compare-table tr:last-child td{border-bottom:0}.data-table td:first-child{font-weight:700}.table-scroll .data-table{min-width:660px}.compare-table{min-width:820px}.compare-table a{color:var(--blue)}.wide-guide .table-scroll .data-table:not(.compare-table){min-width:0}.wide-guide .table-scroll .data-table.compare-table{min-width:820px}.wide-guide .data-table th:first-child{width:7em}.table-hint{font-size:12px;color:var(--muted);margin:12px 0}.condition-list{display:grid;gap:0;margin:20px 0}.condition-list dt{font-weight:700;padding-top:14px}.condition-list dd{margin:3px 0 0;padding-bottom:14px;border-bottom:1px solid var(--line);color:var(--muted);font-size:14px}
.worksheet-form{background:var(--white);border:1px solid var(--line);padding:30px}.worksheet-form fieldset{border:0;margin:0 0 25px;padding:0;min-width:0}.worksheet-form legend{font-size:18px;font-weight:700;margin-bottom:15px}.form-field{margin-bottom:22px}.form-field label,.worksheet-form>label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.worksheet-form input:not([type=radio]):not([type=checkbox]),.worksheet-form select,.worksheet-form textarea{display:block;width:100%;max-width:100%;padding:11px 13px;border:1px solid #a3afb5;border-radius:2px;background:#fff;color:var(--ink);font-size:15px;line-height:1.8}.worksheet-form textarea{min-height:126px;resize:vertical}.form-field small,.form-help{display:block;font-size:12px;color:var(--muted);margin-top:7px}.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:26px 0 12px}.worksheet-form button:not([class]){padding:10px 16px;background:#f5f7fb;border:1px solid #9cabb5;border-radius:3px}.form-status,[role=status]{font-size:13px;color:var(--green);min-height:1.8em}.worksheet-preview{white-space:pre-wrap;overflow-wrap:anywhere}.print-sheet{display:none}.author-box{border-top:1px solid var(--line);padding-top:22px;margin-top:36px;font-size:13px;color:var(--muted)}.author-box strong{color:var(--ink)}.quiet{font-size:13px;color:var(--muted)}
.footer,.site-footer{margin-top:72px;border-top:1px solid var(--line);padding:36px 0 25px;background:#edf0ea;font-size:12px;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:35px}.footer-inner>div{max-width:390px}.footer p,.site-footer p{margin:0 0 10px}.footer strong,.site-footer strong{font-size:17px;color:var(--ink);letter-spacing:.04em}.footer nav,.site-footer nav{display:flex;align-content:flex-start;flex-wrap:wrap;gap:10px 24px;max-width:430px}.footer nav a,.site-footer nav a{white-space:nowrap}.copyright{font-size:11px;border-top:1px solid #d3dad1;margin-top:25px;padding-top:18px}.mobile-only{display:none}
@media(min-width:1400px){.wrap{width:1200px}.home-hero{gap:90px}}
@media(max-width:950px){.wrap{padding:0 32px}.header-inner{gap:20px}.header nav{gap:18px;font-size:12px}.brand{font-size:21px}.home-hero,.intro{gap:35px}.hero-note{padding:25px}.company-card{padding:26px 20px}.article-grid{grid-template-columns:165px minmax(0,1fr);gap:32px}.job-grid{grid-template-columns:1fr}.footer-inner{gap:24px}.tag{font-size:9px}}
@media(max-width:700px){.wrap{padding:0 22px}.header-inner{min-height:0;display:block;padding-top:20px;padding-bottom:14px}.brand{font-size:21px}.brand-symbol{width:25px;height:31px}.brand-symbol:after{left:11px;right:4px;top:10px}.header nav{gap:5px 24px;margin-top:12px;font-size:12px}.header nav a{padding:5px 0}.home-hero,.intro{grid-template-columns:1fr;gap:26px;padding:32px 0 30px}.home-hero h1,.intro h1{font-size:38px;line-height:1.5;margin:12px 0 18px}.hero-copy>p,.home-hero .lead{font-size:14px}.hero-note{padding:22px 23px}.hero-note li{padding-top:11px;padding-bottom:11px}.hero-note li:before{top:12px}.home-actions{margin-top:22px}.section-head{align-items:flex-start;gap:12px}.section-head h2{font-size:20px}.section-head>span{font-size:10px;max-width:110px;padding-top:5px}.companies{grid-template-columns:1fr}.company-card,.company-card:first-child,.company-card:last-child{padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}.company-card:last-child{border-bottom:0}.card-top{justify-content:flex-start;gap:18px}.tag{font-size:11px}.index{font-size:27px}.company-card h3{margin:17px 0 10px;font-size:25px}.company-card p{margin-bottom:16px}.company-card .question{margin-bottom:18px}.small-section{padding:25px 0 8px}.guide-list{grid-template-columns:1fr;gap:14px;margin:18px 0}.guide-card{padding:22px}.guide-card h3{font-size:18px}.method-strip{display:block;padding:22px 0}.method-strip strong{display:block;margin-bottom:8px}.article-header{padding:27px 0 25px}.article-header h1{font-size:30px;line-height:1.65}.article-header .lead{font-size:15px}.article-grid{grid-template-columns:1fr;gap:28px;padding-top:25px}.toc{position:static;display:flex;flex-wrap:wrap;gap:4px 18px;padding:15px 0;border-bottom:1px solid var(--line)}.toc p{width:100%;margin:0 0 6px}.toc a{border:0;padding:4px 0;text-decoration:underline;font-size:12px}.toc a:hover{padding-left:0}.article-body h2{font-size:21px}.article-body p{font-size:15px;line-height:2}.article-body section{margin-bottom:36px}.article-summary{padding:20px}.article-summary h2{font-size:15px}.editor-box{padding:20px}.job-panel{padding:21px}.notice,.verified-note{padding:16px}.meta{font-size:11px;gap:4px 12px}.breadcrumb{padding-top:20px;font-size:11px}.table-scroll .data-table{min-width:620px}.data-table th,.data-table td,.compare-table th,.compare-table td{padding:15px}.wide-guide .data-table th:first-child{width:6em}.worksheet-form{padding:21px 18px}.form-actions{gap:10px}.form-actions>*{flex:1 1 auto}.footer,.site-footer{margin-top:48px;padding:28px 0 24px}.footer-inner{display:block}.footer nav,.site-footer nav{margin-top:22px;gap:8px 19px;max-width:none}.next-step{padding:23px}.mobile-only{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{html{scroll-behavior:auto}body{background:white;font-size:11pt;color:#111}.header,.toc,.footer,.site-footer,.breadcrumb,.form-actions,.skip,.back-link{display:none!important}.wrap{width:100%;max-width:none;padding:0}.article-grid{display:block;padding:0}.article-body{max-width:none}.article-header{padding:0 0 15px}.article-header h1{font-size:23pt}.table-scroll{overflow:visible}.table-scroll .data-table,.compare-table{min-width:0;font-size:9pt}.job-grid{display:block}.job-panel,.editor-box,.article-summary{break-inside:avoid;background:white}.worksheet-form{border:0;padding:0}.worksheet-form textarea{overflow:visible;border:1px solid #aaa;min-height:5em}.print-sheet{display:block;white-space:pre-wrap}.worksheet-form.print-ready{display:none}.source-list{font-size:9pt}a{color:inherit}}.related-links{display:block;margin:40px 0 0;border-top:2px solid var(--ink);padding-top:24px}.related-links>h2{font-size:18px;border:0;margin:0 0 18px;padding:0}.related-links>ul{display:grid;grid-template-columns:1fr 1fr;gap:15px;list-style:none;margin:0;padding:0}.related-links>ul>li{padding:18px 20px;margin:0;border:1px solid var(--line);background:var(--white)}.related-links li a{font-size:14px;font-weight:700;line-height:1.7}.related-links li p{font-size:12px;margin:8px 0 0;color:var(--muted);line-height:1.8}.job-grid section{margin-bottom:0}.hero-note .note-label{margin:0}.hero-note li span{display:block;font-size:13px;color:var(--muted);margin-top:3px}
@media(max-width:700px){.related-links>ul{grid-template-columns:1fr}.table-scroll:has(.compare-table){position:relative}.compare-table th:first-child{min-width:120px}}#download-button{background:var(--blue);color:#fff;border-color:var(--blue);font-weight:700}#download-button:hover{background:#1439b7}#example-button{background:#fff;color:var(--ink);border-color:#9ea9ad;font-weight:400}#example-button:hover{color:var(--blue);border-color:var(--blue)}
@media print{body.printing-sheet>:not(#print-sheet){display:none!important}body.printing-sheet #print-sheet{display:block;padding:0;white-space:normal;color:#111;font-size:11pt}#print-sheet h1{font-size:23pt;line-height:1.3;margin:0 0 22px}#print-sheet h2{font-size:13pt;margin:20px 0 8px;break-after:avoid}#print-sheet p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 16px;line-height:1.8}#print-sheet section{margin-bottom:15px}}
.contact-form{padding:30px;background:var(--white);border:1px solid var(--line);margin:24px 0 34px}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{display:block;width:100%;padding:11px 13px;border:1px solid #a3afb5;border-radius:2px;background:#fff;color:var(--ink);font-size:16px;line-height:1.8}.contact-form textarea{min-height:190px;resize:vertical}.contact-form input[type=checkbox]{width:19px;height:19px;flex-shrink:0;margin:4px 0 0;accent-color:var(--blue)}.required-mark{display:inline-block;margin-left:9px;padding:1px 6px;font-size:10px;font-weight:700;color:var(--blue);background:var(--pale);vertical-align:middle}.contact-form .consent-label{display:flex;gap:11px;align-items:flex-start;font-size:13px;line-height:1.9;font-weight:400;margin:24px 0}.contact-form [hidden]{display:none!important}.contact-form .button-primary{min-width:180px}.contact-form [role=status]{margin:18px 0 0;line-height:1.9}.contact-form [role=status]:empty{display:none}.contact-form [role=status][data-state=error]{padding:12px 15px;background:#fff3ee;border-left:3px solid #b34129;color:#7c2d20}.contact-form [role=status][data-state=success]{padding:12px 15px;background:#edf6ee;border-left:3px solid var(--green);color:#264e3d}#print-sheet>h2:first-child{font-size:23pt;margin:0 0 22px}
@media(max-width:700px){.contact-form{padding:23px 18px}.contact-form .button-primary{width:100%}.contact-form .form-field{margin-bottom:24px}}
.contact-form .required-mark{white-space:nowrap}.contact-form .consent-label .required-mark{flex:none;margin-left:0;align-self:flex-start}

/* Personal notebook: project stories and development notes. */
.article-header h1,.development-entry h3{text-wrap:balance}
.queue-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}.queue-flow>div{position:relative;border:1px solid #cad5e6;background:var(--pale);padding:18px 14px;min-width:0}.queue-flow>div+div:before{content:"→";position:absolute;left:-18px;top:40%;font-size:14px;color:var(--blue)}.queue-flow small{display:block;font-size:10px;color:var(--blue);margin-bottom:8px;letter-spacing:.06em}.queue-flow strong{display:block;font-size:15px}.queue-flow span{display:block;font-size:10px;color:var(--muted);margin-top:6px;line-height:1.8}
@media(max-width:700px){.queue-flow{grid-template-columns:1fr;gap:20px}.queue-flow>div{padding:17px 20px}.queue-flow>div+div:before{content:"↓";left:50%;top:-23px}.queue-flow span{font-size:12px}}
.brand>span:last-child{display:block;font-size:20px;letter-spacing:.045em}.brand small{display:block;font-size:11px;letter-spacing:.1em;margin-bottom:5px}.brand-symbol{height:39px;width:31px}.notebook-hero{display:grid;grid-template-columns:1.45fr 1fr;gap:64px;padding:65px 0 68px;align-items:center}.notebook-hero h1{font-family:var(--serif);font-size:clamp(35px,3.8vw,49px);line-height:1.6;letter-spacing:.025em;margin:18px 0 22px}.notebook-hero .lead{font-size:14px;color:var(--muted);line-height:2.1}.notebook-index{border:1px solid var(--line);border-top:3px solid var(--ink);padding:24px 27px;background:var(--white);box-shadow:5px 5px 0 #eceee6}.notebook-index>a{display:flex;align-items:center;gap:16px;padding:19px 0;border-bottom:1px solid var(--line);text-decoration:none}.notebook-index>a>span{font:italic 25px Georgia,serif;color:var(--blue)}.notebook-index>a>div{flex:1}.notebook-index strong{display:block;font-size:14px}.notebook-index small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.notebook-index b{font-size:15px;font-weight:400}.notebook-index>p{margin:18px 0 0;color:var(--muted);font-size:11px}.notebook-section{margin:0 0 54px;scroll-margin-top:24px}.section-number{color:var(--blue);font:italic 21px Georgia,serif;margin-right:14px}.featured-work{display:grid;grid-template-columns:1.25fr 1fr;gap:42px;align-items:center;padding:34px 0 0}.work-visual{display:block;border:1px solid #c9d3d8;background:white;box-shadow:0 10px 30px #23384d0a;overflow:hidden;text-decoration:none}.window-bar{display:flex;gap:5px;align-items:center;padding:10px 12px;border-bottom:1px solid #dae0e5;background:#f0f2f4}.window-bar i{width:5px;height:5px;border-radius:50%;background:#b8c2ca}.window-bar span{font-size:9px;letter-spacing:.04em;color:#576772;margin:auto}.work-visual img{width:100%;height:auto;display:block}.work-copy h3{font:700 36px/1.3 var(--sans);letter-spacing:-.035em;margin:12px 0 13px}.work-copy .work-tagline{font-family:var(--serif);font-size:25px;color:var(--ink);line-height:1.7;margin:16px 0}.work-copy>p:not(.eyebrow):not(.work-tagline){font-size:13px;color:var(--muted);line-height:2}.feature-tags{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.feature-tags span{font-size:10px;border:1px solid var(--line);padding:3px 8px}.work-copy .text-link{display:inline-block;margin-top:4px}.development-entry{display:grid;grid-template-columns:95px minmax(0,1fr) 180px;gap:26px;padding:31px 0;border-bottom:1px solid var(--line);align-items:start}.entry-date{display:flex;flex-direction:column;gap:7px;font-size:11px;color:var(--muted);padding-top:5px}.entry-date span{color:var(--blue);font-weight:700;font-size:10px;letter-spacing:.08em}.development-entry .eyebrow{margin:0 0 10px}.development-entry h3{font-family:var(--serif);font-size:23px;line-height:1.7;margin:0 0 12px}.development-entry h3 a{text-decoration:none}.development-entry p:not(.eyebrow){font-size:13px;color:var(--muted);margin:0 0 16px;line-height:2}.segment-illustration{background:#e9eef5;border:1px solid #d7e0ec;padding:20px;font:9px/1.4 var(--sans);letter-spacing:.09em;color:#63758b}.segment-illustration>div{display:flex;gap:4px;margin-top:6px}.segment-illustration i,.segment-illustration b{height:11px;background:#c7d3e5;flex:1}.segment-illustration b{background:var(--blue);flex:1.3}.segment-illustration .segment-arrow{display:block;text-align:center;margin:7px 0;color:var(--blue);font-size:14px}.segment-illustration small{display:block;text-align:center;font-size:9px;margin-top:14px;letter-spacing:0}.section-intro{font-size:13px;color:var(--muted);margin:24px 0 0}.research-links{display:flex;flex-wrap:wrap;gap:12px 26px;padding-top:22px;font-size:12px;color:var(--blue)}.notebook-author{border-top:1px solid var(--line);display:flex;gap:25px;max-width:750px;margin:56px auto 0;padding-top:33px}.author-monogram{width:64px;height:64px;background:#e7eadd;border:1px solid #d9decf;display:flex;align-items:center;justify-content:center;flex-shrink:0;font:25px var(--serif);border-radius:50%}.notebook-author h2{font-size:18px;margin:6px 0 12px}.notebook-author p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:2}.notebook-author .eyebrow{margin:0;font-size:10px}.notebook-author a{font-size:12px;color:var(--blue)}
.article-figure{margin:26px 0 30px}.article-figure>a{display:block;border:1px solid var(--line);background:#fff}.article-figure img{display:block;width:100%;height:auto}.article-figure figcaption{font-size:12px;color:var(--muted);line-height:1.9;margin-top:10px}.article-figure .figure-number{display:inline-block;color:var(--blue);font-weight:700;margin-right:8px}.article-body pre{overflow-x:auto;background:#edf0f4;color:#24364a;border:1px solid #d5dde5;border-left:3px solid var(--blue);padding:20px 22px;font:12px/1.85 Consolas,monospace;tab-size:2}.article-body :not(pre)>code{background:#e9edf2;padding:2px 5px;font:13px/1.7 Consolas,monospace;overflow-wrap:anywhere}.article-body .step-label{font-size:11px;color:var(--blue);font-weight:700;letter-spacing:.08em}.article-body .reading-note{font-size:13px;border-left:3px solid var(--blue);padding:12px 18px;background:var(--pale)}.article-body .feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:25px 0}.article-body .feature-grid>div{padding:20px;border:1px solid var(--line);background:white}.article-body .feature-grid h3{font-size:16px;margin:0 0 8px}.article-body .feature-grid p{font-size:13px;margin:0}.article-body .steps>li{margin:20px 0}.article-body .steps strong{display:block}.article-body .steps p{margin:6px 0}.article-body .work-facts{display:grid;grid-template-columns:8em 1fr;border-top:1px solid var(--line);font-size:14px;margin:24px 0}.work-facts dt,.work-facts dd{padding:14px 0;border-bottom:1px solid var(--line);margin:0}.work-facts dt{font-weight:700}.article-body .verification-table{min-width:600px}.article-hero-image{margin:30px 0 0;border:1px solid var(--line)}.article-hero-image img{display:block;width:100%;height:auto}
@media(max-width:950px){.notebook-hero{gap:30px;grid-template-columns:1.2fr 1fr}.notebook-hero h1{font-size:37px}.notebook-index{padding:22px}.featured-work{gap:26px}.work-copy h3{font-size:30px}.work-copy .work-tagline{font-size:22px}.development-entry{grid-template-columns:80px minmax(0,1fr)}.segment-illustration{display:none}.header nav{gap:17px}}
@media(max-width:700px){.brand>span:last-child{font-size:19px}.brand small{font-size:10px}.header nav{gap:5px 18px}.notebook-hero{grid-template-columns:1fr;padding:32px 0 38px;gap:32px}.notebook-hero h1{font-size:clamp(23px,7.2vw,29px);line-height:1.7;margin:14px 0 18px}.notebook-hero .eyebrow{font-size:9px}.notebook-hero .lead{font-size:13px}.desktop-break{display:none}.notebook-hero .home-actions{gap:14px 20px}.notebook-index{padding:22px}.notebook-index>a{padding:15px 0}.notebook-section{margin-bottom:38px}.featured-work{grid-template-columns:1fr;gap:24px;padding-top:24px}.work-copy h3{font-size:32px}.work-copy .work-tagline{font-size:25px}.work-copy .work-tagline br{display:none}.work-copy .eyebrow{margin:0}.development-entry{grid-template-columns:1fr;gap:14px;padding:24px 0}.entry-date{flex-direction:row;gap:14px;align-items:baseline}.development-entry h3{font-size:22px}.section-number{font-size:19px;margin-right:10px}.notebook-author{gap:18px;margin-top:38px;padding-top:27px}.author-monogram{width:43px;height:43px;font-size:20px}.notebook-author h2{font-size:16px}.article-body .feature-grid{grid-template-columns:1fr}.article-body pre{padding:16px;font-size:11px}.article-figure{margin:20px 0 27px}.article-figure figcaption{font-size:11px}.article-body .work-facts{grid-template-columns:6em 1fr;font-size:13px}}
