.site-header p, main p, .site-footer p, dialog p{
 text-align:justify;
 text-align-last:start;
 text-justify:inter-word;
 -webkit-hyphens:auto;
 hyphens:auto;
}
.article-card .card-bottom{align-items:flex-start;flex-direction:column;gap:12px}
.article-card .card-bottom span:first-child{max-width:100%}
.article-card .card-bottom .abstract-link{display:inline-flex;align-items:center;gap:13px;font-size:11px;line-height:1.5;border-bottom:1px solid var(--line);padding-bottom:5px}
.article-card .card-bottom .abstract-link:hover{color:var(--accent);border-color:var(--accent)}
.article-card .card-bottom .abstract-link span{font-size:18px}
.reader-continue{font-family:var(--sans);margin-top:10px}
.reader-copy .contribution-note{font:400 11px/1.7 var(--sans);color:var(--muted);margin-top:12px;margin-bottom:0}
.original-abstract{overflow-wrap:break-word}
.code-callout{padding:56px 0;display:grid;grid-template-columns:1.5fr 1fr;gap:85px;border-bottom:1px solid var(--line)}
.code-callout h2{font-size:47px;letter-spacing:-.04em;margin:15px 0 19px}
.code-callout p{max-width:490px;font-size:14px;line-height:1.8;color:var(--muted)}
.code-callout-actions{border-left:1px solid var(--line);padding-left:45px;align-self:center;display:flex;flex-direction:column;align-items:flex-start}
.code-callout-actions>.eyebrow{margin-bottom:17px}
.code-callout-actions .button.text{margin-top:12px;font-size:11px;gap:35px}
.code-callout-actions p{font-size:10px;margin-top:15px}
.code-download-section{display:grid;grid-template-columns:1.35fr 1fr;gap:90px;align-items:center;padding:15px 0 60px}
.code-download-copy h2{font-size:46px;letter-spacing:-.04em;margin:17px 0 23px}
.code-download-copy>p{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:16px}
.code-details{margin:27px 0}
.code-buttons{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.code-download-copy .code-note{font-size:11px;line-height:1.7;margin-top:20px;max-width:510px}
.code-document-preview{background:var(--sage);padding:33px 30px 24px;align-self:start}
.code-document-preview img{height:440px;width:auto;margin:auto;max-width:100%;object-fit:contain;box-shadow:5px 10px 20px #163c3220}
.code-document-preview figcaption{text-align:center;font-size:10px;color:var(--muted);margin-top:22px}
.code-app-section{background:var(--sage);padding:42px 45px;margin-bottom:65px}
.code-app-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:end;padding-bottom:30px}
.code-app-heading h2{font-size:45px;letter-spacing:-.04em;margin-top:15px}
.code-app-heading{grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:55px}
.code-app-heading>div>p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:20px;max-width:570px}
.app-brand{display:block;width:220px;justify-self:center}
.app-brand img{width:100%;height:auto}
.app-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:8px;align-items:start}
.app-screen-button{display:block;width:100%;padding:0;border:1px solid #c3cdbc;border-radius:12px;overflow:hidden;background:var(--paper);box-shadow:0 7px 20px #163c320a;text-align:left}
.app-screen-button:hover{border-color:var(--ink)}
.app-screen-button img{display:block;width:100%;height:auto}
.app-screen-zoom{display:block;font-size:10px;letter-spacing:.03em;padding:10px 13px;border-top:1px solid var(--line);text-align:right}
.app-gallery figcaption{padding-top:18px}
.app-gallery figcaption h3{font-size:27px;letter-spacing:-.025em;margin-top:7px}
.app-gallery-note{font-size:11px;line-height:1.7;color:var(--muted);margin:21px 0 35px}
.app-screen-dialog{width:min(560px,calc(100% - 32px));max-height:94vh;padding:20px 24px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.app-screen-dialog::backdrop{background:#10251ee0}
.app-screen-dialog .dialog-head{margin-bottom:12px}
.app-screen-dialog figure img{width:auto;height:auto;max-width:100%;max-height:calc(94vh - 130px);margin:auto}
.app-screen-dialog figcaption{font:400 22px/1.3 var(--serif);margin-top:12px;text-align:center}
.code-app-heading>p{font:400 23px/1.5 var(--serif);color:#526451;max-width:400px}
.code-features{display:grid;grid-template-columns:repeat(2,1fr);gap:32px 55px;padding-top:8px}
.code-features article{border-top:1px solid #bac5b4;padding-top:20px}
.code-features h3{font-size:29px;letter-spacing:-.025em;margin:12px 0}
.code-features p{font-size:13px;line-height:1.8;color:var(--muted);max-width:460px}
.code-app-bottom{display:grid;grid-template-columns:auto 1fr;gap:35px;align-items:center;margin-top:35px;padding-top:26px;border-top:1px solid #bac5b4}
.code-app-bottom>p{font-size:11px;line-height:1.8;color:var(--muted)}
.code-app-bottom>p a{text-decoration:underline;text-underline-offset:3px}
.nav-links{gap:25px}
.issue-actions{display:flex;align-items:center;gap:18px 24px;flex-wrap:wrap;margin-top:22px}
.issue-actions .pdf-download{margin:0}
.issue-access-label{margin-top:23px}
.issue-access-note{font-size:14px;line-height:1.8;color:var(--muted);max-width:540px;margin-top:18px}
.archive-download{display:flex;width:fit-content;gap:20px;align-items:center;font-size:11px;margin-top:14px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:5px}
.archive-download:hover{color:var(--accent);border-color:var(--accent)}
.archive-note>a{display:inline-block;margin-top:12px;border-bottom:1px solid var(--line)}
.contents-note{font-size:12px;color:var(--muted);margin-top:25px;line-height:1.8}
.issue-description{font:400 24px/1.5 var(--serif);color:var(--muted)}
.forthcoming{padding:38px 45px 43px;background:var(--sage);margin-bottom:35px;max-width:850px}
.forthcoming h2{font-size:44px;letter-spacing:-.035em;margin:14px 0 20px}
.forthcoming p{font-size:14px;line-height:1.8;color:var(--muted);max-width:650px;margin-bottom:16px}
.forthcoming .button{margin-top:7px}
.access-options .price-card{display:flex;flex-direction:column}
.access-value{font:400 39px/1.15 var(--serif);letter-spacing:-.035em;margin:27px 0 21px}
.access-options .price-card .button{margin-top:auto}
.access-options .price-card>p:last-of-type{margin-bottom:24px}
.faq p a{text-decoration:underline;text-underline-offset:3px}
.rules-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:80px;align-items:start;padding-bottom:65px}
.rules-copy section{padding:28px 0;border-top:1px solid var(--line)}
.rules-copy section:first-child{border-top:0;padding-top:0}
.rules-copy h2{font-size:34px;letter-spacing:-.03em;margin:13px 0 22px}
.rules-copy p{font-size:15px;line-height:1.85;color:var(--muted);margin-bottom:16px}
.rules-copy p:last-child{margin-bottom:0}
.rules-copy a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.rules-aside{position:sticky;top:25px}
.rules-aside .button{display:flex}
@media(max-width:1100px){.nav-links{gap:19px}.code-download-section{gap:40px}.code-callout{gap:45px}.code-app-heading{gap:35px}.code-app-section{padding:35px}.code-document-preview{padding:27px 22px 22px}.code-document-preview img{height:390px}}
@media(max-width:960px){
 .code-app-heading{grid-template-columns:minmax(0,1fr) 170px;gap:25px}.app-brand{width:170px}
 .app-gallery{gap:18px}.app-gallery figcaption h3{font-size:23px}
 .rules-layout{gap:35px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
 .access-value{font-size:33px}
 .nav{min-height:58px;position:relative;gap:12px}.menu-button{display:flex;margin-left:-10px}
 .menu-lines{display:block;width:19px;height:12px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);position:relative}
 .menu-lines:after{content:'';position:absolute;left:0;right:0;top:5px;height:1px;background:var(--ink)}
 .nav-links{display:none;position:absolute;top:58px;left:-20px;right:-20px;padding:10px 20px 20px;background:var(--paper);border-bottom:1px solid var(--ink);z-index:10;box-shadow:0 15px 20px #163c3210}
 .nav-links.open{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .nav-links>a{min-height:46px;border-bottom:1px solid var(--line);font-size:14px}.nav-links>a.active:after{display:none}
 .code-callout{gap:35px}.code-callout h2{font-size:40px}.code-callout-actions{padding-left:28px}
 .code-download-copy h2{font-size:38px}.code-app-heading h2{font-size:39px}.code-app-heading>p{font-size:21px}.code-app-bottom{grid-template-columns:1fr;gap:18px}.code-app-bottom .button{width:fit-content}
}
@media(max-width:640px){
 .code-app-heading .app-brand{width:160px;justify-self:start;grid-row:1}
 .app-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;padding:0 2px 15px;margin:5px -2px 0}
 .app-gallery figure{flex:0 0 85%;max-width:310px;scroll-snap-align:start}
 .app-gallery figcaption h3{font-size:27px}.app-gallery-note{margin:13px 0 27px}
 .app-screen-dialog{padding:16px}.app-screen-dialog .eyebrow{font-size:9px}
 .rules-layout{grid-template-columns:1fr;gap:30px;padding-bottom:40px}.rules-aside{position:static}
 .rules-copy h2{font-size:31px}.rules-copy p{font-size:14px}
 .forthcoming{padding:27px 24px;margin-bottom:25px}.forthcoming h2{font-size:37px}
 .access-value{font-size:39px}.archive-download{font-size:10px;gap:13px}
 .issue-actions{gap:15px}.issue-actions .button{font-size:11px;padding:15px 17px}
 .code-callout{grid-template-columns:1fr;gap:27px;padding:37px 0}.code-callout h2{font-size:40px}
 .code-callout-actions{padding:23px 0 0;border-left:0;border-top:1px solid var(--line)}
 .code-download-section{grid-template-columns:1fr;gap:25px;padding:4px 0 38px}.code-download-copy h2{font-size:39px}
 .code-buttons{gap:17px}.code-document-preview{padding:25px 25px 20px}.code-document-preview img{height:340px}
 .code-app-section{padding:26px 23px;margin-bottom:40px}.code-app-heading{grid-template-columns:1fr;gap:20px;padding-bottom:25px}
 .code-app-heading h2{font-size:36px}.code-app-heading>p{font-size:21px}.code-features{grid-template-columns:1fr;gap:25px}
 .code-features h3{font-size:29px}.code-app-bottom{margin-top:28px}.code-app-bottom .button{max-width:100%;font-size:11px;padding:14px 16px;gap:13px}
 .reader-continue{width:100%;font-size:11px;padding:15px 17px}
}
