.aes-page{--teal-soft:#d5ebe6;--copper-soft:#f5e5d7;--surface:#fffefa;--copper-ink:#8c4f22;--ease:cubic-bezier(.16, 1, .3, 1);--sentence-h:7.2rem;--detail-text-h:20.8rem;--word-detail-h:30rem;--readout-h:4.2rem;--output-h:4.8rem;--cipher-h:4.2rem;--dd-h:4.4rem;line-height:1.55}.aes-page h1,.aes-page h2,.aes-page h3{font-weight:800}.aes-page .visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.aes-page .mono{font-family:var(--mono);overflow-wrap:anywhere}.aes-page .visually-hidden table{height:32rem}.aes-page #aes-block-label{display:block}.aes-page #aes-use-output{min-height:3.4rem}.aes-page .aes-hero-art{border:1px solid var(--night-line);background:var(--night-deep);margin:0;padding:clamp(1rem,3vw,1.75rem)}.aes-page .hero-state{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.aes-page .hero-state span{aspect-ratio:1;border:1px solid var(--night-line);color:var(--mint);font:500 clamp(1rem, 3.4vw, 1.9rem)/1 var(--mono);background:#122a30;place-items:center;display:grid}.aes-page .hero-state span:nth-child(4n+1){color:var(--copper-on-night)}.aes-page .aes-hero-art figcaption{color:var(--on-night-soft);font:.74rem/1.4 var(--mono);margin-top:.9rem}.aes-page .aes-section{padding:clamp(3rem,6vw,5.5rem) 0}.aes-page .aes-section.is-dark{background:var(--night);color:var(--on-night);--paper:var(--night);--ink:var(--on-night);--ink-soft:var(--on-night-soft);--line:var(--night-line);--surface:var(--night-deep);--teal:var(--mint);--teal-soft:#173a37;--copper:var(--copper-on-night);--copper-soft:#3d2a19;--copper-ink:var(--copper-on-night)}.aes-page .aes-title{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem 3rem;margin-bottom:1.5rem;display:flex}.aes-page .aes-title h2{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,4vw,3.3rem);line-height:1}.aes-page .aes-caveat{color:var(--copper-ink);font:500 .8rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;margin:0}.aes-page .aes-prose{max-width:var(--lab-measure);color:var(--ink-soft);margin:0 0 2rem;font-size:1.05rem}.aes-page .aes-caption{max-width:var(--lab-measure);color:var(--ink-soft);margin:0 0 1.25rem;font-size:1rem;line-height:1.6}.aes-page .aes-step{border:1px solid var(--line);background:var(--surface);margin-top:1.75rem;padding:clamp(1.1rem,3vw,1.75rem)}.aes-page .aes-step h3{letter-spacing:-.03em;margin:0 0 .6rem;font-size:clamp(1.3rem,2.6vw,1.75rem);line-height:1.15}.aes-page .aes-sub{letter-spacing:-.02em;margin:2rem 0 .5rem;font-size:1.15rem;font-weight:800}.aes-page .aes-readout{min-height:var(--readout-h);color:var(--ink);font:500 .85rem/1.5 var(--mono);margin:1rem 0 0}.aes-page .aes-step .aes-controls,.aes-page .aes-step .player,.aes-page .aes-step .detail{background:var(--paper)}.aes-page .aes-hero-art .hero-cap-hex{opacity:.8;margin-top:.3rem;display:block}.aes-page .aes-noscript{border:1px dashed var(--line);color:var(--ink-soft);padding:1rem}.aes-page .step-n{color:var(--teal);font:500 .74rem/1 var(--mono);margin-right:.5rem}.aes-page .aes-grid{grid-template-columns:minmax(16rem,21rem) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.aes-page .aes-controls{border:1px solid var(--line);border-top:4px solid var(--teal);background:var(--surface);gap:1.2rem;padding:1.35rem;display:grid}.aes-page .seg{border:0;min-width:0;margin:0;padding:0}.aes-page .seg legend{margin-bottom:.6rem;padding:0;font-size:.95rem;font-weight:700}.aes-page .seg-row{border:1px solid var(--ink);display:grid}.aes-page .seg-2{grid-template-columns:repeat(2,1fr)}.aes-page .seg-3{grid-template-columns:repeat(3,1fr)}.aes-page .seg-item{cursor:pointer;display:block;position:relative}.aes-page .seg-item+.seg-item{border-left:1px solid var(--ink)}.aes-page .seg-item input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.aes-page .seg-item span{min-height:2.75rem;font:500 .88rem/1 var(--mono);letter-spacing:.04em;place-items:center;transition:background-color .15s,color .15s;display:grid}.aes-page .seg-item:hover span{background:var(--teal-soft)}.aes-page .seg-item input:checked+span{background:var(--ink);color:var(--paper)}.aes-page .seg-item input:focus-visible+span{outline:2px solid var(--teal);outline-offset:4px}.aes-page .field{gap:.4rem;min-width:0;display:grid}.aes-page .field-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.aes-page .field-head label{flex:1;min-width:0}.aes-page .field-head label,.aes-page .drive-controls>label,.aes-page .lba-side>label{font-size:.95rem;font-weight:700}.aes-page .field-sub{color:var(--ink-soft);margin-top:.35rem;font-size:.82rem}.aes-page .field input[type=text],.aes-page .drive-controls input,.aes-page .lba-side input{border:1px solid var(--ink);background:var(--paper);width:100%;min-height:44px;color:var(--ink);font:500 .88rem/1.3 var(--mono);border-radius:0;padding:.55rem .65rem}.aes-page .hex-input{letter-spacing:.02em}.aes-page input[aria-invalid]{box-shadow:inset 4px 0 0 var(--copper);border-color:var(--copper)!important}.aes-page .field-error{min-height:2.7em;color:var(--copper-ink);font:500 .76rem/1.35 var(--mono);margin:0}.aes-page .mini-btn{border:1px solid var(--line);color:var(--teal);font:500 .74rem/1.2 var(--mono);cursor:pointer;background:0 0;padding:.3rem .55rem}.aes-page .mini-btn:hover{border-color:var(--teal);background:var(--teal-soft)}.aes-page .ctrl-val{min-height:2.6em;color:var(--ink-soft);font:500 .78rem/1.3 var(--mono);display:block}.aes-page input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:1.6rem;margin:0}.aes-page input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--teal), var(--copper));height:4px}.aes-page input[type=range]::-moz-range-track{background:linear-gradient(90deg, var(--teal), var(--copper));height:4px}.aes-page input[type=range]::-webkit-slider-thumb{border:2px solid var(--ink);background:var(--paper);appearance:none;border-radius:0;width:1.05rem;height:1.45rem;margin-top:-.6rem}.aes-page input[type=range]::-moz-range-thumb{border:2px solid var(--ink);background:var(--paper);border-radius:0;width:.8rem;height:1.2rem}.aes-page input[type=range]:focus-visible{outline:2px solid var(--teal);outline-offset:4px}.aes-page .btn-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.aes-page .lab-btn{border:1px solid var(--ink);min-height:44px;color:var(--ink);font:500 .8rem/1.25 var(--mono);cursor:pointer;background:0 0;padding:.55rem .7rem;transition:background-color .15s,color .15s,transform .1s}.aes-page .lab-btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--ink);color:var(--paper)}.aes-page .lab-btn:active:not(:disabled){transform:translateY(1px)}.aes-page .lab-btn:disabled,.aes-page .lab-btn[aria-disabled=true]{border-color:var(--line);color:var(--ink-soft);opacity:.6;cursor:not-allowed}.aes-page .lab-btn.is-accent{border-color:var(--teal);background:var(--teal);color:var(--paper);grid-column:1/-1}.aes-page .lab-btn.is-accent:hover:not(:disabled){background:var(--ink);border-color:var(--ink)}.aes-page .lab-btn.is-wide{border-style:dashed;grid-column:1/-1}.aes-page .lab-btn.is-danger{border-color:var(--copper);color:var(--copper-text)}.aes-page .lab-btn.is-danger:hover:not(:disabled){background:var(--copper);color:var(--night-deep)}.aes-page .is-dark .lab-btn.is-danger{border-color:var(--copper-on-night);color:var(--copper-on-night)}.aes-page .lab-btn[aria-pressed=true]{background:var(--ink);color:var(--paper)}.aes-page .share-status{min-height:1.3em;color:var(--teal);font:500 .75rem/1.3 var(--mono);margin:-.6rem 0 0}.aes-page .aes-stage{gap:1.25rem;min-width:0;display:grid}.aes-page .player{border:1px solid var(--line);background:var(--surface);padding:1.1rem 1.25rem 1.2rem}.aes-page .player-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:.6rem;display:flex}.aes-page .frame-label{min-width:0;min-height:3.9em;font:500 .95rem/1.3 var(--mono);flex:1;margin:0}.aes-page .player-buttons{gap:.4rem;display:flex}.aes-page .player-buttons .lab-btn{min-width:4.8rem}.aes-page .sentence{min-height:var(--sentence-h);margin:.75rem 0 0;font-size:1rem}.aes-page .aes-visual{min-width:0}.aes-page .state-box.is-idle{visibility:hidden}.aes-page .states{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.aes-page .state-box{min-width:0}.aes-page .state-title{font:500 .78rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .45rem}.aes-page .state-hint{color:var(--teal);letter-spacing:0;text-transform:none}.aes-page .state-grid{gap:4px;display:grid}.aes-page .grid-row{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.aes-page .byte{aspect-ratio:1;border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);font:500 clamp(.8rem, 2.2vw, 1.15rem)/1 var(--mono);transition:background-color .25s var(--ease), color .25s var(--ease);place-items:center;padding:0;display:grid}.aes-page .state-grid.is-key .byte{background:var(--copper-soft);border-color:#0000}.aes-page .state-grid.is-live .byte{cursor:pointer}.aes-page .state-grid.is-live .byte:hover{border-color:var(--teal)}.aes-page .byte.is-changed{background:var(--teal-soft)}.aes-page .byte.is-selected{outline:3px solid var(--copper);outline-offset:-3px}.aes-page #aes-word-detail{min-height:var(--word-detail-h)}.aes-page .detail{border-left:4px solid var(--copper);background:var(--surface);min-width:0;padding:1.1rem 1.25rem}.aes-page .detail-text{min-height:var(--detail-text-h)}.aes-page .detail-title{letter-spacing:-.01em;margin:0 0 .5rem;font-size:1.05rem}.aes-page .detail-line{margin:0 0 .6rem}.aes-page .detail-note{color:var(--ink-soft);margin:.6rem 0 0;font-size:.86rem}.aes-page .detail-math{font:500 .86rem/1.4 var(--mono);grid-template-columns:minmax(0,max-content) minmax(0,1fr);gap:.3rem 1.25rem;margin:.5rem 0 0;display:grid}.aes-page .detail-math dt{color:var(--ink-soft);overflow-wrap:anywhere}.aes-page .detail-math dd{overflow-wrap:anywhere;margin:0}.aes-page .detail-math dd:last-of-type{color:var(--teal);font-weight:700}.aes-page .sbox-wrap{margin-top:1rem;transition:opacity .2s;overflow-x:auto}.aes-page .sbox-wrap.is-idle{opacity:.35}.aes-page .sbox{table-layout:fixed;border-collapse:collapse;width:100%;font:.68rem/1 var(--mono)}.aes-page .sbox caption{color:var(--ink-soft);text-align:left;margin-bottom:.45rem;font-size:.74rem}.aes-page .sbox th,.aes-page .sbox td{text-align:center;padding:.28rem .2rem}.aes-page .sbox th{color:var(--ink-soft);font-weight:500}.aes-page .sbox td{color:var(--ink-soft);opacity:.75}.aes-page .sbox .is-hit{background:var(--copper);color:var(--night-deep);opacity:1;font-weight:700}.aes-page .output{min-height:var(--output-h);border:1px dashed var(--line);font:500 .9rem/1.4 var(--mono);overflow-wrap:anywhere;margin:0;padding:.8rem 1rem}.aes-page .output-label{min-width:8.5em;color:var(--copper-ink);letter-spacing:.08em;text-transform:uppercase;margin-right:.75rem;font-size:.76rem;display:inline-block}.aes-page .schedule-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.aes-page .schedule-wrap{min-height:51rem;overflow-x:auto}.aes-page .schedule{border-collapse:collapse;width:100%;font:.82rem/1.2 var(--mono)}.aes-page .schedule th{color:var(--ink-soft);text-align:left;padding:.4rem .5rem;font-weight:500}.aes-page .schedule td{padding:2px}.aes-page .schedule tr.is-current th{color:var(--copper-text)}.aes-page .schedule tr.is-current .word{border-color:var(--copper)}.aes-page .word{border:1px solid var(--line);background:var(--surface);width:100%;min-height:44px;color:var(--ink);text-align:left;font:inherit;cursor:pointer;padding:.3rem .45rem;display:grid}.aes-page .word:hover{border-color:var(--teal)}.aes-page .word[aria-pressed=true]{background:var(--ink);color:var(--paper)}.aes-page .word-index{color:var(--ink-soft);font-size:.68rem}.aes-page .word[aria-pressed=true] .word-index{color:inherit;opacity:.75}.aes-page .word.is-rcon{box-shadow:inset 3px 0 0 var(--copper)}.aes-page .word.is-sub{box-shadow:inset 3px 0 0 var(--teal)}.aes-page .aval-grid{grid-template-columns:minmax(15rem,20rem) minmax(0,1fr);align-items:start;gap:1.75rem;display:grid}.aes-page .aval-controls{gap:1.2rem;display:grid}.aes-page .aval-figure{min-width:0;margin:0}.aes-page .aval-figure figcaption{min-height:2.8em;color:var(--ink-soft);margin-top:.5rem;font-size:.84rem}.aes-page .aval-chart-host{min-width:0;min-height:210px;box-shadow:inset 0 0 0 1px var(--line);background:var(--paper)}.aes-page .aval-chart{display:block}.aes-page .aval-chart .grid{stroke:var(--line);stroke-width:1px}.aes-page .aval-chart .axis{stroke:var(--ink);stroke-width:1px}.aes-page .aval-chart .half{stroke:var(--copper);stroke-width:1.5px;stroke-dasharray:5 4}.aes-page .aval-chart .half-label{fill:var(--copper);font:500 12px var(--mono)}.aes-page .aval-chart .tick{fill:var(--ink-soft);font:12px var(--mono)}.aes-page .aval-chart .axis-title{fill:var(--ink);font:500 12px var(--mono)}.aes-page .aval-chart .aval-line{fill:none;stroke:var(--teal);stroke-width:2.5px}.aes-page .aval-chart .aval-dot{fill:var(--surface);stroke:var(--teal);stroke-width:2px}.aes-page .strip-title{min-height:2.8em;color:var(--ink-soft);font:500 .76rem/1.35 var(--mono);margin:0}.aes-page .bitstrip{grid-template-columns:repeat(32,1fr);gap:2px;display:grid}.aes-page .bit{aspect-ratio:1;background:var(--line)}.aes-page .bit.is-diff{background:var(--copper)}.aes-page .pics{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.aes-page .pics figure{min-width:0;margin:0}.aes-page .pic{aspect-ratio:128/36;width:100%;height:auto;image-rendering:pixelated;border:1px solid var(--line);display:block}.aes-page .pic-layout{gap:1.25rem;display:grid}.aes-page .pic-layout .seg{max-width:18rem}.aes-page .pics figcaption{color:var(--ink-soft);font:500 .76rem/1.3 var(--mono);margin-top:.45rem}.aes-page .lba-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.aes-page .lba-side{border:1px solid var(--line);gap:.35rem;min-width:0;padding:1rem;display:grid}.aes-page .lba-side .mono{min-height:var(--cipher-h);color:var(--ink);margin:0;font-size:.8rem}.aes-page .lba-side .mono-tweak{min-height:2.7rem}.aes-page .mono-label{color:var(--ink-soft);font:500 .72rem/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;margin:.5rem 0 0}.aes-page .drive-grid{grid-template-columns:minmax(14rem,19rem) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.aes-page .drive-controls{gap:.55rem;display:grid}.aes-page .drive-controls .btn-grid{margin-bottom:.75rem}.aes-page .drive-readout{gap:.3rem;margin:0;display:grid}.aes-page .drive-readout dt{color:var(--ink-soft);font:500 .72rem/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;margin-top:.6rem}.aes-page .drive-readout dt:first-child{margin-top:0}.aes-page .drive-readout dd{min-height:var(--dd-h);margin:0;font-size:.84rem}.aes-page .aes-terms-title{letter-spacing:-.02em;margin:1.5rem 0 0;font-size:1.15rem;font-weight:800}.aes-page .aes-terms{grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:.6rem 1.5rem;margin:0;display:grid}.aes-page .aes-terms dt{font-weight:700}.aes-page .aes-terms dfn{font-style:normal}.aes-page .aes-terms dd{color:var(--ink-soft);margin:0;line-height:1.6}@media (width<=1100px){.aes-page .schedule-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=960px){.aes-page{--sentence-h:5.4rem;--detail-text-h:17.2rem;--word-detail-h:19.5rem;--output-h:3.6rem;--cipher-h:5.4rem}.aes-page .aes-grid,.aes-page .aval-grid,.aes-page .schedule-grid,.aes-page .drive-grid{grid-template-columns:minmax(0,1fr)}.aes-page .aes-hero-art{max-width:26rem}.aes-page .aes-terms{grid-template-columns:minmax(0,1fr);gap:.15rem}.aes-page .aes-terms dd{margin-bottom:.6rem}}@media (width<=640px){.aes-page .frame-label{min-height:3.9em}.aes-page .schedule{table-layout:fixed}.aes-page .schedule th{padding:.2rem;font-size:.62rem}.aes-page .word{padding:.25rem .2rem;font-size:clamp(.55rem,2.6vw,.82rem)}.aes-page .word-index{font-size:.55rem}.aes-page{--sentence-h:11.6rem;--detail-text-h:37rem;--word-detail-h:39.5rem;--readout-h:8.2rem;--output-h:6.2rem;--dd-h:6.9rem}.aes-page .states{gap:.6rem}.aes-page .state-grid,.aes-page .grid-row{gap:2px}.aes-page .pics,.aes-page .lba-grid,.aes-page .detail-math{grid-template-columns:minmax(0,1fr)}.aes-page .detail-math dd{margin-bottom:.35rem}.aes-page .player-buttons{width:100%}.aes-page .player-buttons .lab-btn{flex:1;min-width:0}}@media (width>=64rem){.aes-page [id]{scroll-margin-top:6rem}}@media (prefers-reduced-motion:reduce){.aes-page *,.aes-page :before,.aes-page :after{transition-duration:0s!important;animation-duration:0s!important}}
