.mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;margin:55px 0 85px}.mosaic-card{grid-column:span 6;display:flex;flex-direction:column;overflow:hidden;border-top:2px solid #cbc4b950;background:#1b1f26}.mosaic-card:hover{border-color:#ffb782}.mosaic-card.wide{grid-column:span 12}.mosaic-card.narrow,.mosaic-card.span5{grid-column:span 5}.mosaic-card.broad,.mosaic-card.span7{grid-column:span 7}.mosaic-card.span8{grid-column:span 8}.mosaic-card.span4{grid-column:span 4}.tile-art{height:315px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#232c35}.tile-art>img{width:100%;height:100%;object-fit:cover}.tile-art.paper{background:#f1efe8;padding:20px}.tile-art.paper>img{object-fit:contain}.tile-art.wordmark{background:#f2f1e9}.tile-art.wordmark img{object-fit:contain;width:95%}.tile-art.code{background:#ccdadc;color:#192535}.tile-art.state{background:#e3dccb}.tile-code{color:#233347;font:clamp(18px,2vw,25px)/1.8 monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-width:88%}.tile-info{padding:29px 30px 34px;position:relative}.tile-info small{padding-right:36px;font-size:18px;color:#d3c2aa;line-height:1.45;display:block}.tile-info h2{font-size:32px;font-weight:500;letter-spacing:-.8px;margin:16px 28px 14px 0;line-height:1.13}.tile-info p{font-size:18px;line-height:1.55;color:#c6cbd0;margin:0;max-width:700px}.tile-info>b{position:absolute;right:23px;top:25px;font-weight:400;font-size:28px}.chamber-art,.transit-art{width:95%;height:90%}.artifact-top{display:flex;flex-wrap:wrap;gap:26px;margin:30px 0 45px}.artifact-top a{font-size:20px;border-bottom:1px solid #ffc18e66;padding-bottom:9px;color:#ffd0a7}.artifact{max-width:1230px;margin:auto;padding:150px 6% 70px}.artifact-back{display:inline-block;margin-bottom:45px}.artifact .course-label{font-size:18px;color:#d6bfa3}.artifact h1{font-size:clamp(48px,6vw,80px);font-weight:500;letter-spacing:-2px;line-height:1.08;margin:24px 0 28px}.artifact-intro{font-size:23px;line-height:1.6;max-width:900px;color:#d0d2d6;margin-bottom:24px}.artifact-metrics{display:flex;gap:35px;margin:45px 0 55px;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.artifact-metrics>div{flex:1}.artifact-metrics strong{font-size:38px;font-weight:500;display:block;margin-bottom:12px;color:#ffd0a0}.artifact-metrics span{font-size:18px;color:#ccd0d5;line-height:1.45;display:block}.case-figure{margin:50px 0}.case-figure .image-link{display:block;padding:20px;background:#f1efe8}.case-figure img{display:block;max-width:100%;max-height:780px;object-fit:contain;margin:auto}.case-figure figcaption{font-size:18px;color:#c2c6cd;line-height:1.5;margin-top:22px;max-width:880px}.case-figure.dark .image-link{background:#21252c;padding:0;overflow:hidden}.brand-figure{background:#f2f1e9;padding:30px}.brand-figure img{max-height:240px}.case-figure canvas{width:100%;height:340px;display:block}.artifact-copy{max-width:900px;margin:65px 0}.artifact-copy h2{font-size:36px;font-weight:500;letter-spacing:-.6px;margin-bottom:24px}.artifact-copy p{font-size:21px;line-height:1.65;color:#cbd0d6}.artifact-copy code{font-size:18px;color:#f5debe}.artifact-copy .boundary{font-size:18px;line-height:1.5;display:block;color:#b8c2cc;border-left:2px solid #e5af7755;padding-left:22px}.artifact footer,.listing footer{margin-top:80px}.game-state>div{background:#e3dccb;height:360px;display:flex;justify-content:center}.game-state svg{max-width:700px;height:100%}.course-section{padding:75px 0;border-top:2px solid #d6b99288;scroll-margin-top:105px}.course-section>.course-code{font-size:19px;color:#ffc49a;margin-bottom:20px}.course-section>h2{font-size:clamp(36px,4vw,56px);font-weight:500;letter-spacing:-1.4px;line-height:1.1;margin:0 0 28px;max-width:900px}.course-intro{font-size:22px;color:#ced0d5;line-height:1.55;max-width:900px;margin-bottom:28px}.lab-grid{display:grid;grid-template-columns:1fr;gap:34px}.approximation{border-top:1px solid var(--line);padding:40px 0 28px;scroll-margin-top:110px}.approximation h2{font-size:32px;font-weight:500;margin:0 0 16px}.approximation>p{font-size:20px;line-height:1.5;color:#c1c8d0;margin-bottom:25px;max-width:900px}.approximation canvas{width:100%;height:310px;display:block}.math-formula{text-align:center;overflow-x:auto;padding:22px 4px 30px}.approximation math{font-size:31px;color:#efe3d3}.lab-controls{max-width:600px;margin:18px auto 0}.lab-controls label{display:flex;justify-content:space-between;font-size:20px;color:#d4d9dd}.lab-controls output{color:#ffbd87}.lab-legend{font-size:18px;color:#c1c8d0;text-align:center;margin:25px 0 10px}.hex-visual{background:#e0dad0;display:flex;flex-direction:column;align-items:center;padding:30px}.hex-visual svg{width:100%;height:430px}.hex-visual polygon{stroke:#e0dad0;stroke-width:4}.hex-visual text{fill:#202331;font-size:21px;font-family:'DM Sans',sans-serif;text-anchor:middle;dominant-baseline:central;pointer-events:none}.hex-visual #hex-coordinate{font:18px monospace;color:#223449}.hex-cell{cursor:pointer}.hex-cell:hover polygon,.hex-cell:focus polygon{fill:#ffe2ba}.hex-cell:focus{outline:none}.hex-cell:focus polygon{stroke:#243546;stroke-width:3}.ecdsa-primitives{padding:35px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;border-bottom:1px solid var(--line);margin:40px 0}.ecdsa-primitives div{font-size:21px;color:#d0d7db;line-height:1.6}.ecdsa-primitives b{display:block;font-size:26px;font-weight:500;color:#ffd0a0;margin-bottom:15px}.ecdsa-primitives code{font-size:18px;color:#c9d4de}.artifact-demo{padding:35px 0;margin:50px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.artifact-demo h2{font-weight:500;font-size:34px}.artifact-demo .signature-status{font-size:20px;color:#d7dfe3;padding:22px 0}.artifact-demo #signature-value{font:18px/1.6 monospace;display:block;overflow-wrap:anywhere;color:#c4d3dd;max-width:850px}.artifact-demo .demo-caption{font-size:18px;line-height:1.5;color:#b8c6cf;max-width:850px}.artifact-demo .transaction{display:flex;align-items:center;gap:30px;font-size:21px;color:#e0d6c6;margin:30px 0;flex-wrap:wrap}.artifact-demo .transaction input{background:#202834;color:#f6e6cf;border:1px solid #b39b7c;padding:10px;width:110px;font-size:22px}.artifact-demo .signature-status.valid{color:#a3d8aa}.artifact-demo .signature-status.invalid{color:#f4a38d}@media(max-width:900px){.mosaic-card,.mosaic-card.wide,.mosaic-card.narrow,.mosaic-card.broad,.mosaic-card.span4,.mosaic-card.span5,.mosaic-card.span7,.mosaic-card.span8{grid-column:span 6}.mosaic-card.wide,.mosaic-card.span8{grid-column:span 12}.ecdsa-primitives{grid-template-columns:1fr}}@media(max-width:600px){.mosaic{gap:28px;margin-top:40px}.mosaic-card,.mosaic-card.wide,.mosaic-card.narrow,.mosaic-card.broad,.mosaic-card.span4,.mosaic-card.span5,.mosaic-card.span7,.mosaic-card.span8{grid-column:span 12}.tile-art{height:280px}.tile-info{padding:27px 24px}.tile-info h2{font-size:32px}.tile-info p{font-size:19px}.tile-info small{font-size:18px}.tile-code{font-size:20px}.artifact{padding:120px 6% 60px}.artifact-back{margin-bottom:40px}.artifact h1{font-size:46px;letter-spacing:-1.4px}.artifact-intro,.course-intro{font-size:21px}.artifact-metrics{flex-wrap:wrap;gap:25px}.artifact-metrics>div{min-width:130px}.artifact-metrics strong{font-size:33px}.artifact-copy{margin:45px 0}.artifact-copy h2{font-size:32px}.artifact-copy p{font-size:20px}.case-figure .image-link{padding:8px}.case-figure figcaption{font-size:18px}.approximation canvas{height:280px}.approximation math{font-size:25px}.approximation>p{font-size:19px}.approximation h2{font-size:29px}.course-section{padding:60px 0}.course-section>h2{font-size:38px}.lab-controls label{font-size:20px}.lab-legend{font-size:18px}.artifact-top{gap:20px}.artifact-top a{font-size:19px}.hex-visual{padding:15px}.hex-visual svg{height:310px}.hex-visual #hex-coordinate{font-size:18px}.artifact-demo h2{font-size:30px}.artifact-demo .transaction{font-size:20px;gap:20px}}

.brand-figure svg{display:block;width:min(100%,620px);height:auto;max-height:240px;margin:auto}.artifact .course-label,.course-section>.course-code{font-size:21px}
