.icp-wrap{max-width:1164px;margin:0 auto;padding:0 64px}.icp-hero{border-bottom:1px solid var(--ic-line);padding:72px 0 40px}.icp-hero-in{flex-direction:column;align-items:flex-start;gap:18px;max-width:760px;display:flex}.icp-crumbs{font:500 12px var(--ic-mono);color:var(--ic-ink-3);letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;gap:6px 10px;display:flex}.icp-crumbs>*+:before{content:"/";color:var(--ic-line-2);margin-right:10px}.ic-root .icp-crumbs a{color:var(--ic-ink-3)}.ic-root .icp-crumbs a:hover{color:var(--ic-ink)}.icp-h1{font:800 48px/1.08 var(--ic-sans);letter-spacing:-.025em;text-wrap:balance;color:var(--ic-ink);margin:0}.icp-byline{font:500 12px var(--ic-mono);color:var(--ic-ink-3);letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;gap:6px 18px;display:flex}.ic-root .icp-byline a{color:var(--ic-ink);text-decoration:underline;-webkit-text-decoration-color:var(--ic-line-2);text-decoration-color:var(--ic-line-2);text-underline-offset:3px}.icp-lede{font:400 19px/1.55 var(--ic-sans);color:var(--ic-ink-2);text-wrap:pretty;max-width:720px}.icp-lede p{margin:0}.icp-lede p+p{margin-top:12px}.icp-lede strong{color:var(--ic-ink);font-weight:700}.ic-root .icp-lede a{color:var(--ic-ink);text-decoration:underline;-webkit-text-decoration-color:var(--ic-line-2);text-decoration-color:var(--ic-line-2);text-underline-offset:3px}.icp-notice{border:1px solid var(--ic-line-2);background:var(--ic-cell);max-width:720px;font:400 14px/1.55 var(--ic-sans);color:var(--ic-ink-2);border-radius:8px;margin:0;padding:14px 16px}.icp-notice b{color:var(--ic-ink)}.icp-grid{grid-template-columns:minmax(0,720px) 300px;justify-content:space-between;gap:64px;padding-top:48px;padding-bottom:72px;display:grid}.icp-grid-wide{grid-template-columns:minmax(0,1fr)}.icp-main{min-width:0}.icp-rail{flex-direction:column;align-self:start;gap:28px;display:flex;position:sticky;top:24px}.icp-jump ol{border-left:1px solid var(--ic-line);max-height:38vh;margin:10px 0 0;padding:0;list-style:none;overflow-y:auto}.icp-jump li a{font:500 14px/1.4 var(--ic-sans);border-left:1px solid #0000;margin-left:-1px;padding:6px 0 6px 14px;display:block}.ic-root .icp-jump li a{color:var(--ic-ink-2)}.ic-root .icp-jump li a:hover{color:var(--ic-ink);border-left-color:var(--ic-ink)}.icp-contents{border-top:1px solid var(--ic-line);border-bottom:1px solid var(--ic-line);margin:0 0 24px;display:none}.icp-contents summary{cursor:pointer;font:500 12px var(--ic-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ic-ink-2);padding:14px 0}.icp-contents ol{font:500 15px/1.5 var(--ic-sans);margin:0 0 14px;padding-left:20px}.icp-contents li{padding:3px 0}.ic-root .icp-contents a{color:var(--ic-ink)}.icp-offer{background:var(--ic-cell);border:1px solid var(--ic-line);border-radius:8px;flex-direction:column;gap:10px;padding:22px;display:flex}.icp-offer-h{font:700 18px/1.3 var(--ic-sans);color:var(--ic-ink);margin:0}.icp-offer-b{font:400 14px/1.55 var(--ic-sans);color:var(--ic-ink-2);margin:0}.icp-offer-actions{flex-direction:column;gap:8px;margin-top:4px;display:flex}.icp-offer-inline{margin:0 0 32px;display:none}.icp-body{font:400 17px/1.6 var(--ic-sans);color:var(--ic-ink-2)}.icp-body>:first-child{margin-top:0}.icp-body p{text-wrap:pretty;margin:0 0 1.15em}.icp-body h2{font:800 32px/1.15 var(--ic-sans);letter-spacing:-.02em;color:var(--ic-ink);border-top:1px solid var(--ic-line);text-wrap:pretty;margin:56px 0 16px;padding-top:28px;scroll-margin-top:24px}.icp-body>h2:first-child,.icp-body>.icp-sec:first-child>h2,.icp-body .soro-article>h2:first-child{border-top:0;margin-top:0;padding-top:0}.icp-body .soro-article>p:first-child{color:var(--ic-ink);font-size:1.06em}.icp-body .icp-cover{object-fit:contain;background:var(--ic-cell);width:100%;max-height:260px;margin:0 0 28px}.icp-body h3{font:700 20px/1.3 var(--ic-sans);color:var(--ic-ink);margin:32px 0 8px;scroll-margin-top:24px}.icp-body h4{font:700 17px/1.4 var(--ic-sans);color:var(--ic-ink);margin:24px 0 6px}.icp-body strong,.icp-body b{color:var(--ic-ink);font-weight:700}.ic-root .icp-body a{color:var(--ic-ink);text-decoration:underline;-webkit-text-decoration-color:var(--ic-line-2);text-decoration-color:var(--ic-line-2);text-underline-offset:3px}.ic-root .icp-body a:hover{-webkit-text-decoration-color:var(--ic-ink);text-decoration-color:var(--ic-ink)}.ic-root .icp-body a.ic-btn{text-decoration:none}.ic-root .icp-body a.ic-btn-primary,.ic-root .icp-body a.ic-btn-primary:hover{color:#fff}.icp-body ul,.icp-body ol{margin:0 0 1.15em;padding-inline-start:1.3em}.icp-body li{margin:0 0 .45em}.icp-body li::marker{color:var(--ic-ink-3)}.icp-body blockquote{border-left:1px solid var(--ic-line-2);color:var(--ic-ink-2);margin:1.6em 0;padding:2px 0 2px 20px}.icp-body hr{border:0;border-top:1px solid var(--ic-line);margin:40px 0}.icp-body img{border:1px solid var(--ic-line);border-radius:6px;max-width:100%;height:auto;margin:1.6em 0;display:block}.icp-body code,.icp-body kbd{font:500 .88em var(--ic-mono);background:var(--ic-cell);border:1px solid var(--ic-line);color:var(--ic-ink);border-radius:4px;padding:.1em .35em}.icp-body pre{font:400 13px/1.65 var(--ic-mono);background:var(--ic-cell);border:1px solid var(--ic-line);white-space:pre-wrap;color:var(--ic-ink);border-radius:6px;margin:0 0 1.15em;padding:16px;overflow-x:auto}.icp-body pre code{font-size:inherit;background:0 0;border:0;padding:0}.icp-body>table,.icp-body .soro-article>table{max-width:100%;display:block;overflow-x:auto}.icp-body table{border-collapse:collapse;font:400 15px/1.5 var(--ic-sans);margin:0 0 1.15em}.icp-body th{font:500 11px/1.4 var(--ic-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ic-ink-3);background:var(--ic-sheet);text-align:left;border-bottom:1px solid var(--ic-line);white-space:nowrap;padding:12px 16px}.icp-body td{border-bottom:1px solid var(--ic-line);vertical-align:top;color:var(--ic-ink-2);padding:14px 16px}.icp-body tr:last-child td{border-bottom:0}.icp-body td.icp-num,.icp-body .icp-num{font-family:var(--ic-mono);color:var(--ic-ink);white-space:nowrap}.icp-table{border:1px solid var(--ic-line);background:var(--ic-cell);border-radius:8px;margin:0 0 1.15em;overflow-x:auto}.icp-table table{width:100%;margin:0}.icp-table td:first-child{color:var(--ic-ink);font-weight:600}.icp-note{font:400 13px/1.55 var(--ic-sans);color:var(--ic-ink-3)}.icp-sec{margin:0}.icp-rows{border-top:1px solid var(--ic-line);margin:0 0 1.15em}.icp-row{border-bottom:1px solid var(--ic-line);grid-template-columns:minmax(0,1fr);gap:16px;padding:22px 0;display:grid}.icp-rows-num .icp-row{grid-template-columns:44px minmax(0,1fr)}.icp-row-n{font:500 13px/1.9 var(--ic-mono);color:var(--ic-ink-3)}.icp-body .icp-row-t{font:700 18px/1.35 var(--ic-sans);letter-spacing:0;border:0;margin:0 0 6px;padding:0}.icp-row-b{font-size:16px}.icp-row-b>:last-child{margin-bottom:0}.icp-row .ic-label{margin-bottom:4px;display:block}.icp-chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.icp-chips .ic-btn{white-space:normal;text-align:left;height:auto;min-height:32px;padding:6px 12px}.icp-faq{border-top:1px solid var(--ic-line)}.icp-faq-row{border-bottom:1px solid var(--ic-line);padding:20px 0}.icp-body .icp-faq-row h3{font:700 17px/1.4 var(--ic-sans);margin:0 0 6px}.icp-faq-row p{margin:0;font-size:16px}.icp-cite{background:var(--ic-cell);border:1px solid var(--ic-line);border-radius:8px;padding:18px 20px;font-size:15px}.icp-cite p{margin:0}.icp-cite .ic-label{margin-bottom:6px;display:block}.icp-after{flex-direction:column;gap:48px;max-width:1164px;padding-bottom:72px;display:flex}.icp-after>*{max-width:848px}.icp-related h2{font:800 24px/1.2 var(--ic-sans);letter-spacing:-.015em;color:var(--ic-ink);margin:0 0 14px}.icp-related ul{border-top:1px solid var(--ic-line);margin:0;padding:0;list-style:none}.icp-related li{border-bottom:1px solid var(--ic-line);justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;display:flex}.ic-root .icp-related li a{font:700 17px/1.35 var(--ic-sans);color:var(--ic-ink)}.ic-root .icp-related li a:hover{color:var(--ic-accent-ink)}.icp-related .ic-meta{flex:none}.icp-pillar{border:1px solid var(--ic-line);background:var(--ic-cell);border-radius:8px;flex-direction:column;gap:6px;padding:22px;display:flex}.icp-pillar-t{font:700 20px/1.3 var(--ic-sans);color:var(--ic-ink)}.icp-pillar-b{font:400 15px/1.55 var(--ic-sans);color:var(--ic-ink-2)}.icp-author{border-top:1px solid var(--ic-line);align-items:flex-start;gap:20px;padding-top:28px;display:flex}.icp-author img{object-fit:cover;border:1px solid var(--ic-line);border-radius:999px;flex:none;width:64px;height:64px}.icp-author-n{font:700 18px var(--ic-sans);color:var(--ic-ink);margin:4px 0 6px}.icp-author-b{font:400 15px/1.55 var(--ic-sans);color:var(--ic-ink-2);margin:0 0 8px}.ic-root .icp-author a{color:var(--ic-ink);text-decoration:underline;-webkit-text-decoration-color:var(--ic-line-2);text-decoration-color:var(--ic-line-2);text-underline-offset:3px}.icp-author-l{font:500 12px var(--ic-mono);letter-spacing:.06em;text-transform:uppercase}.icp-final{text-align:center;border-top:1px solid var(--ic-line);padding:88px 64px;position:relative;overflow:hidden}.icp-final-in{flex-direction:column;align-items:center;gap:18px;max-width:760px;margin:0 auto;display:flex}.icp-final-h{font:800 40px/1.12 var(--ic-sans);letter-spacing:-.02em;color:var(--ic-ink);text-wrap:balance;margin:0}.icp-final-b{font:400 17px/1.55 var(--ic-sans);color:var(--ic-ink-2);text-wrap:pretty;margin:0}.icp-final-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.icp-center{justify-content:center}.icp-hatchband{background-image:repeating-linear-gradient(135deg,transparent 0 9px,var(--ic-line)9px 10px);opacity:.7;height:56px;position:absolute;bottom:0;left:0;right:0}.icp-sticky{transition:transform .2s}.icp-sticky-hidden{transform:translateY(110%)}.icp-hub-row{border-bottom:1px solid var(--ic-line);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:6px 24px;padding:20px 0;display:grid}.icp-hub-row:first-child{border-top:1px solid var(--ic-line)}.ic-root .icp-hub-row>a{font:700 18px/1.35 var(--ic-sans);color:var(--ic-ink);text-decoration:none}.ic-root .icp-hub-row>a:hover{color:var(--ic-accent-ink)}.icp-hub-row p{font:400 15px/1.55 var(--ic-sans);color:var(--ic-ink-2);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;grid-column:1/-1;margin:0;display:-webkit-box;overflow:hidden}.icp-hub-row .ic-meta{white-space:nowrap;justify-content:flex-end}.icp-hub-list,.icp-body .icp-hub-list{margin:0;padding:0;list-style:none}.icp-body .icp-hub-list li{margin:0}.icp-topics{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:1023px){.icp-wrap{padding:0 32px}.icp-grid{grid-template-columns:minmax(0,1fr);gap:0}.icp-rail{display:none}.icp-contents{display:block}.icp-offer-inline{display:flex}}@media (max-width:640px){.icp-wrap{padding:0 20px}.icp-hero{padding:32px 0 24px}.icp-hero-in{gap:14px}.icp-h1{font-size:30px}.icp-lede{font-size:16px}.icp-grid{padding-top:24px;padding-bottom:40px}.icp-body{font-size:16px}.icp-body h2{margin-top:40px;padding-top:22px;font-size:22px}.icp-body h3{font-size:18px}.icp-offer{padding:18px}.icp-offer-inline{margin-bottom:24px}.icp-rows-num .icp-row{grid-template-columns:30px minmax(0,1fr);gap:10px}.icp-after{gap:32px;padding-bottom:40px}.icp-related li{flex-direction:column;gap:4px}.icp-author{gap:14px}.icp-author img{width:48px;height:48px}.icp-final{padding:48px 20px 88px}.icp-final-h{font-size:26px}.icp-final-b{font-size:15px}.icp-final-actions{flex-direction:column;width:100%}.icp-final-actions .ic-btn{width:100%}.icp-hub-row{grid-template-columns:minmax(0,1fr)}.icp-hub-row .ic-meta{justify-content:flex-start}}.icp-filter{flex-direction:column;gap:8px;max-width:420px;margin:0 0 20px;display:flex}.icp-az{flex-wrap:wrap;gap:6px;display:flex}.icp-az>*{width:32px;height:32px;font:600 12px var(--ic-mono);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.ic-root .icp-az a{border:1px solid var(--ic-line-2);background:var(--ic-cell);color:var(--ic-ink)}.ic-root .icp-az a:hover{border-color:var(--ic-ink)}.icp-az span{color:var(--ic-line-2)}.icp-letter{scroll-margin-top:24px}.icp-body .icp-letter h2{font:500 13px var(--ic-mono);letter-spacing:.1em;color:var(--ic-ink-3);border:0;margin:40px 0 0;padding:0 0 10px}.icp-body .icp-letter:first-child h2{margin-top:0}.icp-letter .icp-hub-row:first-child{border-top:1px solid var(--ic-line)}.icp-narrow{max-width:720px}.icp-cite a{word-break:break-all}.icp-cells{border:1px solid var(--ic-line);background:var(--ic-cell);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.icp-cells>p{border-bottom:1px solid var(--ic-line);margin:0;padding:20px 22px;font-size:15px}.icp-cells>p:nth-child(odd){border-right:1px solid var(--ic-line)}.icp-cells>p:nth-last-child(-n+2){border-bottom:0}@media (max-width:640px){.icp-cells{grid-template-columns:minmax(0,1fr)}.icp-cells>p:nth-child(odd){border-right:0}.icp-cells>p:nth-last-child(-n+2){border-bottom:1px solid var(--ic-line)}.icp-cells>p:last-child{border-bottom:0}}.icp-datagrid table{min-width:760px}.icp-datagrid td{white-space:nowrap;padding:12px 16px}.icp-datagrid td:first-child{font-weight:500}.icp-datagrid tbody tr:hover td{background:var(--ic-cell-2)}.icp-body .icp-datagrid th{padding:0}.icp-sort{all:unset;box-sizing:border-box;cursor:pointer;width:100%;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;align-items:center;gap:4px;padding:12px 16px;display:flex}.icp-sort:hover{color:var(--ic-ink)}.icp-sort:focus-visible{outline:2px solid var(--ic-accent);outline-offset:-2px}.icp-r{text-align:right}.icp-r .icp-sort{justify-content:flex-end}.icp-body td.icp-dim{color:var(--ic-ink-3)}.icp-body td.icp-strong{color:var(--ic-ink);font-weight:600}.icp-bar-cell{align-items:center;gap:10px;display:inline-flex}.icp-bar{background:var(--ic-line);border-radius:999px;width:64px;height:6px;display:inline-block;overflow:hidden}.icp-bar>span{background:var(--ic-ink);height:100%;display:block}.ict-panel{background:var(--ic-cell);border:1px solid var(--ic-line);font-family:var(--ic-sans);border-radius:8px;margin:0 0 8px;padding:24px}.ict-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;display:grid}.ict-field{flex-direction:column;gap:6px;display:flex}.ict-label{font:600 14px var(--ic-sans);color:var(--ic-ink)}.ict-hint{font:400 13px/1.45 var(--ic-sans);color:var(--ic-ink-3)}.ict-input{gap:0;padding:0}.ict-input input{min-width:0;height:100%;font:500 15px var(--ic-mono);color:var(--ic-ink);appearance:textfield;background:0 0;border:0;outline:0;flex:1;padding:0 14px}.ict-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ict-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ict-suffix{font:500 13px var(--ic-mono);color:var(--ic-ink-3);padding:0 14px}.ict-results{border-top:1px solid var(--ic-line);flex-direction:column;gap:16px;margin-top:28px;padding-top:24px;display:flex}.ict-result-row{font:400 14px var(--ic-sans);color:var(--ic-ink-2);justify-content:space-between;align-items:baseline;gap:12px;display:flex}.ict-result-row b{font:800 22px var(--ic-sans);letter-spacing:-.02em;color:var(--ic-ink)}.ict-track{background:var(--ic-sheet);border:1px solid var(--ic-line);border-radius:999px;height:10px;margin-top:6px;overflow:hidden}.ict-track>div{border-radius:999px;height:100%;transition:width .2s}.ict-bar-1{background:var(--ic-line-2)}.ict-bar-2{background:var(--ic-ink-3)}.ict-bar-3{background:var(--ic-ink)}.ict-note{background:var(--ic-sheet);border-radius:8px;flex-direction:column;align-items:flex-start;gap:12px;margin-top:24px;padding:18px 20px;display:flex}.ict-note p{font:400 15px/1.55 var(--ic-sans);color:var(--ic-ink-2);margin:0}.ict-note strong{color:var(--ic-ink)}.ict-note .ic-btn{white-space:normal;text-align:center;height:auto;min-height:40px}.ict-scroll{overflow-x:auto}.ict-matrix{border-collapse:collapse;width:100%;font:400 14px var(--ic-sans)}.icp-body .ict-matrix th,.icp-body .ict-matrix td{vertical-align:top;text-transform:none;letter-spacing:0;white-space:normal;background:0 0;border-bottom:0;padding:6px}.ict-matrix tbody tr{border-top:1px solid var(--ic-line)}.icp-body .ict-matrix .ict-th{font:500 11px var(--ic-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ic-ink-3);text-align:left;padding-top:18px}.icp-body .ict-matrix .ict-sticky-col{z-index:1;background:var(--ic-cell);position:sticky;left:0}.ict-col{min-width:168px}.ict-colhead{align-items:center;gap:4px;display:flex}.ic-input.ict-input-sm{height:36px;padding:0 10px;font-size:14px;font-weight:600}.ic-input.ict-you{background:var(--ic-accent-soft);border-color:var(--ic-accent);color:var(--ic-accent-ink)}.ict-remove{flex:none;width:32px;padding:0}.ict-dim{width:132px;font:600 14px var(--ic-sans);color:var(--ic-ink);background:0 0;border:0;outline:0;padding:8px 0}.ict-dim:focus{text-decoration:underline;-webkit-text-decoration-color:var(--ic-accent);text-decoration-color:var(--ic-accent)}textarea.ic-input.ict-cell{min-height:60px;padding:8px 10px;font-size:14px}.ict-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}@media (max-width:640px){.ict-panel{padding:16px}.ict-fields{grid-template-columns:minmax(0,1fr)}}@media print{.ic-nav,.ic-footer,.icp-hero,.icp-final,.ic-sticky,.ict-actions,.ict-note{display:none!important}}.icc-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.icc-phase+.icc-phase{margin-top:32px}.icp-body h3.icc-phase-h{font:500 12px var(--ic-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ic-ink-3);margin:0 0 10px}.icc-list{border:1px solid var(--ic-line);background:var(--ic-cell);border-radius:8px;overflow:hidden}.icc-item{border-bottom:1px solid var(--ic-line);cursor:pointer;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.icc-item:last-child{border-bottom:0}.icc-item input{width:16px;height:16px;accent-color:var(--ic-ink);flex:none;margin-top:4px}.icc-t{font:600 15px/1.45 var(--ic-sans);color:var(--ic-ink);display:block}.icc-done .icc-t{color:var(--ic-ink-3);text-decoration:line-through}.icc-n{font:400 14px/1.55 var(--ic-sans);color:var(--ic-ink-2);margin-top:4px;display:block}.icp-body .icp-datagrid th{white-space:normal;vertical-align:bottom}.icp-datagrid .icp-sort,.icp-datagrid td{padding:12px}
