/* Local mechanism styles. Palette and reading typography come from the
   bundled shared appearance layer; no animation is required to read a state. */
.attention-figure,.attention-lab{min-width:0}
.home-intro>div,.article{min-width:0}
.article pre{max-width:100%;overflow:auto;padding:18px;background:var(--wash);font:14px/1.7 ui-monospace,Consolas,monospace}
.article pre code{background:none;padding:0;white-space:pre-wrap;overflow-wrap:anywhere}
.math-display:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.math-display .katex-display{width:max-content;min-width:100%}
.attention-number{font-family:ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.025em}
.attention-figure-lead{font:14px/1.7 var(--sans);margin:0 0 20px}
.attention-table{width:100%;max-width:100%;border-collapse:collapse;table-layout:auto;font:13px/1.6 var(--sans);font-variant-numeric:tabular-nums}
.attention-table caption{text-align:left;font:12px/1.6 var(--sans);color:var(--quiet);margin-bottom:14px}
.attention-table th,.attention-table td{padding:13px 9px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.attention-table thead th{font-weight:normal;color:var(--quiet);font-size:11px;line-height:1.5;padding-top:4px;padding-bottom:10px}
.attention-table tbody th{font-weight:bold}
.attention-table th:first-child,.attention-table td:first-child{padding-left:0}
.attention-table th:last-child,.attention-table td:last-child{padding-right:0}
.attention-cell-label{display:none}
.attention-token-index{display:block;color:var(--quiet);font:10px/1.6 var(--sans);font-weight:normal;margin-top:3px}
.attention-probability{display:grid;grid-template-columns:42px minmax(35px,1fr);gap:9px;align-items:center;min-width:100px}
.attention-probability-number{font-variant-numeric:tabular-nums}
.attention-track{display:block;height:7px;width:100%;background:var(--figure-subtle);border-right:1px solid var(--diagram-guide)}
.attention-track>span{display:block;height:100%;background:var(--ink)}
.attention-static-sum{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font:14px/1.6 var(--sans);padding-top:22px;margin:0 0 10px}
.attention-static-sum strong{font-size:18px}
.attention-lab{background:var(--lab-surface);scroll-margin-top:95px}
.attention-lab .truth-label{max-width:570px;margin-bottom:18px}
.attention-prompt{font:15px/1.7 var(--sans);margin-bottom:24px}
.attention-controls{border-top:1px solid var(--line);padding-top:24px;margin:0 0 26px;font:13px/1.6 var(--sans)}
.js .attention-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 28px}
.attention-controls>label{display:block;min-width:0;font-weight:bold}
.attention-controls output{float:right;font-variant-numeric:tabular-nums;font-weight:normal;padding-left:9px}
.attention-controls select{display:block;width:100%;font-size:14px;min-height:44px;margin:10px 0 7px}
.attention-controls input[type=range]{display:block;width:100%;height:32px;margin:9px 0 3px;accent-color:var(--ink);cursor:pointer}
.attention-control-note{display:block;font:11px/1.6 var(--sans);color:var(--quiet);margin-top:5px}
.attention-checkbox>span:first-child{display:flex;align-items:center;min-height:44px;gap:8px}
.attention-checkbox input{height:20px;width:20px;accent-color:var(--ink);flex:none;margin:0;cursor:pointer}
.attention-controls button{font-size:12px;min-height:44px;justify-self:start;grid-column:1/-1}
.attention-query{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:20px 0;border-top:1px solid var(--line);font:14px/1.65 var(--sans)}
.attention-query p{margin:0}
.attention-query .attention-number{display:inline-block;margin-left:9px}
.attention-kicker{display:block;font:10px/1.6 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--quiet);margin-bottom:6px}
.attention-calculation{font-size:11px}
.attention-calculation th,.attention-calculation td{padding:13px 6px}
.attention-calculation .attention-probability{grid-template-columns:35px minmax(20px,1fr);gap:6px;min-width:70px}
.attention-mask-label{font-size:10px;line-height:1.4}
.attention-blocked .attention-mask-label{border-bottom:1px dashed var(--control-border)}
.attention-blocked .attention-track{background:transparent;border:1px dashed var(--diagram-guide);height:7px}
.attention-output{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:2px solid var(--ink);padding:22px 0 18px;font:15px/1.5 var(--sans)}
.attention-output small{font:11px/1.6 var(--sans);color:var(--quiet)}
.attention-output strong{font-size:23px;line-height:1.3;font-weight:normal}
.attention-observation{font:14px/1.7 var(--sans);margin:0 0 16px}
.attention-rounding{font:11px/1.7 var(--sans);color:var(--quiet);margin:0 0 22px}
.attention-comparisons{border-top:1px solid var(--line);padding-top:24px;margin-top:26px}
.attention-comparisons h4{font:20px/1.35 var(--serif);font-weight:normal;margin:0 0 12px}
.attention-comparisons>p{font:12px/1.7 var(--sans);margin:0 0 18px}
.attention-fallback{font-size:11px}
.attention-fallback tbody th{max-width:160px}
.attention-fallback small{display:block;font:10px/1.5 var(--sans);font-weight:normal;color:var(--quiet);margin-top:5px}
.attention-fallback .attention-weight-vector{white-space:normal}
.attention-mask-table{border-collapse:collapse;width:100%;table-layout:fixed;font:13px/1.6 var(--sans)}
.attention-mask-table caption{text-align:left;color:var(--quiet);font:12px/1.6 var(--sans);margin-bottom:17px}
.attention-mask-table th,.attention-mask-table td{border:1px solid var(--line);padding:16px 9px;text-align:center;vertical-align:middle}
.attention-mask-table th{font-weight:normal}
.attention-mask-table tbody th{font-weight:bold}
.attention-mask-table thead th:first-child{font-size:11px;color:var(--quiet)}
.attention-mask-table .mask-allowed{background:var(--wash)}
.attention-mask-table .mask-blocked{color:var(--quiet)}
.attention-mask-table td span{display:block;font-size:20px;line-height:1.2;margin-bottom:4px}
.attention-block-diagram{max-width:420px;margin:8px auto 20px}
.attention-diagram .attention-block{fill:var(--paper);stroke:var(--ink);stroke-width:1.2}
.attention-diagram .attention-norm{fill:var(--wash);stroke:var(--ink);stroke-width:1.2}
.attention-diagram .attention-add{fill:var(--paper);stroke:var(--ink);stroke-width:1.4}
.attention-diagram .attention-arrow{stroke:var(--ink);stroke-width:1.5;fill:none}
.attention-diagram .attention-residual{stroke:var(--diagram-flow);stroke-width:1.8;fill:none}
.attention-diagram .attention-block-label{font:18px var(--sans);fill:var(--ink)}
.attention-diagram .attention-block-small{font:12px var(--sans);fill:var(--quiet)}
.attention-diagram .attention-residual-label{font:italic 20px var(--serif);fill:var(--quiet)}
.attention-diagram .attention-plus{font:23px var(--sans);fill:var(--ink)}
.attention-diagram .attention-cover-eyebrow{font:10px var(--sans);letter-spacing:1.4px;fill:var(--quiet)}
.attention-diagram .attention-cover-heading{font:19px var(--serif);fill:var(--ink)}
.attention-diagram .attention-cover-token{font:15px var(--sans);fill:var(--ink)}
.attention-diagram .attention-cover-number{font:14px ui-monospace,Consolas,monospace;fill:var(--ink)}
.attention-diagram .attention-cover-track{stroke:var(--figure-subtle);stroke-width:7}
.attention-diagram .attention-cover-weight{stroke:var(--ink);stroke-width:7}
.attention-diagram .attention-cover-footnote{font:10px var(--sans);fill:var(--quiet)}
.print-edition .interactive-only,.print-edition .attention-controls{display:none!important}
.print-edition .attention-lab{break-inside:auto}
@media(max-width:1100px){
  .attention-calculation{font-size:11px}
  .attention-calculation th,.attention-calculation td{padding-left:4px;padding-right:4px}
  .attention-calculation .attention-probability{min-width:61px;grid-template-columns:32px minmax(20px,1fr);gap:4px}
}
@media(max-width:650px){
  .attention-table{font-size:12px}
  .attention-table th,.attention-table td{padding-left:5px;padding-right:5px}
  .attention-table .attention-probability{min-width:75px;grid-template-columns:36px minmax(28px,1fr);gap:5px}
  .attention-query{grid-template-columns:1fr;gap:12px}
  .attention-query .attention-number{margin-left:5px}
  .attention-output{flex-direction:column;align-items:flex-start;gap:10px}
  .attention-output strong{font-size:23px}
  .attention-lab .attention-calculation,.attention-lab .attention-fallback{display:block;width:100%}
  .attention-lab .attention-calculation caption,.attention-lab .attention-fallback caption{display:block}
  .attention-lab .attention-calculation thead,.attention-lab .attention-fallback thead{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .attention-lab .attention-calculation tbody,.attention-lab .attention-fallback tbody{display:block}
  .attention-lab .attention-calculation tr,.attention-lab .attention-fallback tr{display:block;padding:13px 0;border-top:1px solid var(--line)}
  .attention-lab .attention-calculation td,.attention-lab .attention-fallback td{display:grid;grid-template-columns:minmax(95px,.85fr) minmax(0,1fr);gap:9px;width:100%;padding:5px 0;border:0;font-size:12px}
  .attention-lab .attention-calculation tbody th,.attention-lab .attention-fallback tbody th{display:block;max-width:none;border:0;padding:0 0 9px;font-size:14px}
  .attention-lab .attention-calculation .attention-token-index{display:inline;margin-left:9px}
  .attention-lab .attention-cell-label{display:block;color:var(--quiet);font-weight:normal;font-size:11px}
  .attention-lab .attention-calculation .attention-probability{min-width:0;grid-template-columns:39px minmax(20px,1fr);gap:7px}
  .attention-lab .attention-fallback .attention-weight-vector{line-height:1.7}
  .attention-calculation .attention-number,.attention-fallback .attention-number{font-size:11px}
  .attention-fallback small{font-size:11px;max-width:240px}
  .attention-mask-table{font-size:11px}
  .attention-mask-table th,.attention-mask-table td{padding:11px 4px}
  .attention-static-sum{flex-wrap:wrap;font-size:13px}
}
@media(max-width:480px){
  h1,.home-intro h1,.print-section>h1{font-size:40px;overflow-wrap:break-word}
  .js .attention-controls{grid-template-columns:minmax(0,1fr);gap:21px}
  .attention-controls output{font-size:13px}
  .attention-controls>label{font-size:12px}
  .attention-control-note{font-size:11px}
  .attention-projections,.attention-mixture{display:block;width:100%}
  .attention-projections caption,.attention-mixture caption{display:block}
  .attention-projections thead,.attention-mixture thead{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .attention-projections tbody,.attention-mixture tbody{display:block}
  .attention-projections tr,.attention-mixture tr{display:block;padding:13px 0;border-top:1px solid var(--line)}
  .attention-projections tbody th,.attention-mixture tbody th{display:block;padding:0 0 9px;border:0;font-size:14px}
  .attention-projections .attention-token-index{display:inline;margin-left:9px}
  .attention-projections td,.attention-mixture td{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px;width:100%;padding:5px 0;border:0;font-size:12px}
  .attention-projections .attention-cell-label,.attention-mixture .attention-cell-label{display:block;color:var(--quiet);font-size:11px}
  .attention-mixture .attention-probability{min-width:0;grid-template-columns:39px minmax(20px,1fr);gap:7px}
  .attention-mask-table{font-size:10px}
  .attention-mask-table th,.attention-mask-table td{padding:10px 3px}
  .attention-mask-table td span{font-size:17px}
  .attention-mask-table thead th:first-child{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .attention-lab *,.attention-figure *{animation:none!important;transition:none!important}
}
@media print{
  .interactive-only,.js .attention-controls{display:none!important}
  .attention-lab{break-inside:auto;border-color:var(--line);padding:16px;margin:24px 0}
  .attention-lab .attention-controls{display:none!important}
  .attention-figure{break-inside:avoid}
  .attention-table tr,.attention-mask-table tr{break-inside:avoid}
  .attention-comparisons{break-inside:auto}
  .attention-block-diagram{max-width:270px}
  .attention-table{font-size:10px}
  .attention-calculation{font-size:9px}
  .attention-output strong{font-size:19px}
}
