/* Albion space-inspired identity. Shared chrome is separate from the tool engines. */
@font-face{font-family:AlbionEditorial;src:url('games/jigsaw-puzzle/assets/fonts/cormorant-garamond-latin.woff2') format('woff2');font-weight:300 700;font-display:swap}
body.site-v2{--paper:#090e1b;--ink:#edf3fd;--muted:#a5b3cb;--line:#29344b;--accent:#96d9f8;--max-width:1240px;background:var(--paper);color:var(--ink);color-scheme:dark;font-family:'Segoe UI Variable Text','Segoe UI',system-ui,sans-serif}
.site-v2 [hidden]{display:none!important}
.site-v2 a:focus-visible,.site-v2 button:focus-visible,.site-v2 summary:focus-visible,.site-v2 input:focus-visible{outline:2px solid #a7baff;outline-offset:5px}
.site-v2 ::selection{background:#334777;color:#edf3fd}
.site-v2 .site-header{position:sticky;top:0;left:auto;transform:none;width:100%;min-height:84px;display:flex;justify-content:space-between;gap:28px;padding:16px max(5vw,calc((100vw - 1240px)/2));border:0;border-bottom:1px solid var(--line);border-radius:0;background:rgba(9,14,27,.94);color:var(--ink);box-shadow:none;backdrop-filter:blur(12px)}
.site-v2 .site-header.is-scrolled{background:rgba(9,14,27,.98);box-shadow:none}
.site-v2 .brand-mark{width:143px;height:auto;padding:0;background:none;border-radius:0;flex-shrink:0}
.site-v2 .site-nav{gap:22px;justify-content:flex-end;margin-left:auto;align-items:center}
.site-v2 .site-nav a{font-size:13px;font-weight:500;letter-spacing:0;min-height:40px;display:inline-flex;align-items:center;padding:4px 0;border:0;border-radius:0;color:#b3bed2;background:transparent;white-space:nowrap}
.site-v2 .site-nav a:hover,.site-v2 .site-nav a[aria-current=page]{color:#d2eaff;background:none;box-shadow:inset 0 -1px currentColor}
.site-v2 .site-nav a::after{display:none}
.site-v2 .header-action{display:inline-flex;align-items:center;gap:14px;min-height:42px;border:1px solid #4a6387;border-radius:3px;padding:9px 16px;font-size:13px;background:transparent;color:var(--ink);white-space:nowrap}
.site-v2 .header-action:hover{background:#1c2c47}
.site-v2 .menu-toggle{background:none;border:1px solid var(--line);border-radius:2px;display:none;min-width:44px;min-height:44px}
.site-v2 .menu-toggle span{background:var(--ink)}
.site-v2 .mobile-menu{position:fixed;top:83px;left:0;right:0;width:100%;max-height:calc(100dvh - 83px);overflow:auto;background:var(--paper);color:var(--ink);padding:20px 6vw 28px;border:0;border-bottom:1px solid var(--line);border-radius:0;transform:none;box-shadow:0 20px 35px #00000055;z-index:30}
.site-v2 .mobile-menu a{display:block;padding:12px 0;color:var(--ink);border-radius:0;font-size:17px;background:none}
.site-v2 .mobile-menu a[aria-current=page]{color:var(--accent);text-decoration:underline;text-underline-offset:6px}
.site-v2 .mobile-menu-action{border-top:1px solid var(--line);margin-top:12px}
.studio-main{width:min(90%,1240px);margin:auto}
.studio-main h1,.studio-main h2,.studio-main h3,.studio-footer h2{font-weight:500;letter-spacing:-.055em;text-wrap:balance;color:var(--ink)}
.studio-main p{color:var(--muted);line-height:1.7}
.studio-main .eyebrow,.studio-footer .eyebrow,.s-label{font:11px/1.5 Consolas,'Courier New',monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}
.studio-main .eyebrow{margin:0 0 22px}
.s-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:5%;padding:74px 0 58px;min-height:560px}
.s-hero h1{font-size:clamp(46px,5.5vw,78px);line-height:1.04;margin:0 0 25px;font-weight:500}
.s-hero h1 em{font-family:inherit;font-size:1em;letter-spacing:-.055em;font-weight:350;font-style:normal;line-height:1.07;color:#a9cbff}
.s-lede{font-size:17px;max-width:45ch;margin:0 0 25px}
.s-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 25px;margin-top:30px}
.s-button{display:inline-flex;justify-content:center;align-items:center;gap:30px;min-height:47px;padding:12px 19px;border-radius:3px;background:#a8d9fa;color:#0a192e!important;font-size:13px;font-weight:500;transition:background .15s}
.s-button:hover{background:#d1eaff}
.s-link{display:inline-flex;align-items:center;gap:14px;min-height:42px;font-size:13px;color:var(--ink);border-bottom:1px solid #627d9f;text-decoration:none}
.s-link:hover{color:var(--accent);border-color:var(--accent)}
.s-art{margin:0;min-width:0}
.s-art img,.s-art .s-motion-stage>svg{width:100%;height:auto;aspect-ratio:1.2;object-fit:contain}
.s-art figcaption{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;padding-top:13px;color:#99acc9;font:10px/1.5 Consolas,monospace;letter-spacing:.03em}
.s-trace{display:flex;gap:18px;align-items:center;margin:0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:11px/1.5 Consolas,monospace;color:#9bafcc}
.s-trace span:last-child{margin-left:auto}
.s-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#9fd9ff;flex:0 0 6px}
.s-practices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding:48px 0 54px}
.s-practice{position:relative;border-right:1px solid var(--line);padding-right:32px}
.s-practice:last-child{border-right:0;padding-right:0}
.s-practice .s-label{display:flex;justify-content:space-between}
.s-practice h2{font-size:25px;margin:18px 0 13px}
.s-practice p{font-size:14px;margin:0 0 20px;max-width:35ch}
.s-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:0 0 26px}
.s-heading h2{font-size:38px;line-height:1.15;margin:0}
.s-heading .eyebrow{margin-bottom:12px}
.s-heading>p{font-size:14px;max-width:43ch;margin:0}
.s-work{border-top:1px solid var(--line);padding:50px 0 56px}
.s-work-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:24px}
.s-feature{background:#14243c;display:flex;flex-direction:column;padding:32px;position:relative;overflow:hidden;min-height:325px}
.s-feature .s-label{color:#a4cbff}
.s-feature h3{font-size:39px;line-height:1.08;margin:27px 0 15px;position:relative;z-index:1;max-width:13ch}
.s-feature p{font-size:14px;max-width:35ch;margin:0 0 18px;position:relative;z-index:1}
.s-feature .s-link{align-self:start;margin-top:auto}
.s-feature-decoration{position:absolute;right:-55px;top:52px;width:205px;height:205px;border:1px solid #617abb;border-radius:50%;box-shadow:0 0 0 20px #5984d31a,0 0 0 40px #a285e914,0 0 0 60px #587eea0c;pointer-events:none}
.s-work-list{display:flex;flex-direction:column}
.s-work-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;border-top:1px solid var(--line);padding:23px 2px;flex:1}
.s-work-row:last-child{border-bottom:1px solid var(--line)}
.s-work-row h3{font-size:22px;margin:6px 0 5px;letter-spacing:-.03em}
.s-work-row p{font-size:13px;margin:0;max-width:49ch}
.s-work-row>span{font-size:24px;font-weight:300;transition:transform .15s}
.s-work-row:hover>span{transform:translate(3px,-3px)}
.s-aside-link{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:23px 0 3px;font-size:13px;color:#9cabca}
.s-aside-link a{margin-left:auto;border-bottom:1px solid var(--line);padding:8px 0;color:var(--ink)}
.s-pagehead{display:grid;grid-template-columns:1.15fr 1fr;align-items:end;gap:8%;padding:65px 0 40px}
.s-pagehead h1{font-size:clamp(42px,4.9vw,66px);line-height:1.03;margin:0;max-width:15ch}
.s-pagehead p:not(.eyebrow){font-size:16px;max-width:50ch;margin:0}
.s-pagehead .eyebrow{margin-bottom:18px}
.s-inset{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;display:flex;gap:32px;justify-content:space-between;align-items:center}
.s-inset p{font-size:13px;margin:0;max-width:75ch}
.s-inset .s-link{white-space:nowrap}
.s-offer{display:grid;grid-template-columns:.8fr 1.5fr;gap:9%;padding:48px 0 58px}
.s-offer-intro h2{font-size:33px;line-height:1.13;margin:0 0 20px}
.s-offer-intro p{font-size:14px;max-width:33ch}
.s-services{margin:0}
.s-service{padding:24px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:40px 1fr;gap:12px}
.s-service:first-child{border-top:1px solid var(--line)}
.s-service>span{font:11px/1.8 Consolas,monospace;color:#95a8c8}
.s-service h3{font-size:24px;margin:0 0 9px;line-height:1.2}
.s-service p{font-size:14px;margin:0;max-width:69ch}
.s-service small{display:block;color:#99aac5;font-size:12px;line-height:1.6;margin-top:10px}
.s-technical{margin:0 0 24px;background:#101b2e;padding:10px 20px}
.s-technical img,.s-technical .s-motion-stage>svg{width:100%;height:auto;max-height:315px;object-fit:contain}
.s-study{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding:37px;background:#142038;margin-bottom:50px}
.s-study h2{font-size:40px;line-height:1.05;margin:12px 0 20px}
.s-study p{font-size:14px;max-width:54ch}
.s-study-detail{border-left:1px solid #354868;padding-left:35px}
.s-study-detail h3{font-size:19px;margin:0 0 12px}
.s-study-detail ul{padding-left:18px;font-size:14px;line-height:1.9;color:var(--muted)}
.s-study .s-status{font:10px/1.5 Consolas,monospace;letter-spacing:.05em;color:#b3caf2}
.s-code{font:13px/1.9 Consolas,monospace;color:#aec9ee;padding:24px 0;white-space:pre-line;border-top:1px solid #354868;margin:23px 0 0}
.s-note-list{margin:15px 0 58px}
.s-note-list a{display:grid;grid-template-columns:40px 1fr 1fr 22px;align-items:baseline;gap:25px;padding:23px 0;border-top:1px solid var(--line)}
.s-note-list a:last-child{border-bottom:1px solid var(--line)}
.s-note-list a:hover{background:#142139}
.s-note-list h2{font-size:21px;line-height:1.3;margin:0;letter-spacing:-.025em}
.s-note-list p{font-size:13px;margin:0;line-height:1.6}
.s-note-list .s-label{font-size:10px}
.s-directory-bar{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 0;border-top:1px solid var(--line)}
.s-directory-bar label{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:12px}
.s-directory-bar input{background:transparent;border:1px solid #52698d;border-radius:3px;padding:11px 13px;min-width:230px;color:var(--ink);font:inherit}
.s-note-count{font-size:12px;color:var(--muted)}
.s-empty{padding:25px 0;font-size:14px}
.s-games-feature{display:grid;grid-template-columns:1.2fr 1fr;gap:5%;align-items:center;padding:15px 0 45px}
.s-games-feature img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;border-radius:2px}
.s-games-feature h2{font-family:AlbionEditorial,Georgia,serif;font-size:52px;line-height:1.02;margin:17px 0;letter-spacing:-.035em}
.s-games-feature p{font-size:14px;max-width:46ch}
.s-prototypes{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:35px 0 50px;border-top:1px solid var(--line)}
.s-prototypes article+article{border-left:1px solid var(--line);padding-left:28px}
.s-prototypes h3{font-size:27px;margin:12px 0 10px}
.s-prototypes p{font-size:14px;max-width:52ch;margin:0 0 15px}
.s-game-gallery{padding:28px 0 40px}
.s-game-gallery img{width:100%;height:auto}
.s-game-gallery figcaption{font-size:12px;color:var(--muted);padding-top:12px}
.s-facts{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);padding:22px 0;gap:25px;margin:10px 0 25px}
.s-facts p{font-size:12px;margin:0}.s-facts strong{display:block;font-size:16px;font-weight:500;color:var(--ink);margin-top:7px}
.s-feature-details{padding:0 0 45px}
.s-feature-details details{padding:18px 0;border-bottom:1px solid var(--line)}
.s-feature-details summary{cursor:pointer;font-size:17px;font-weight:500;min-height:30px}
.s-feature-details p{font-size:14px;max-width:78ch}
.studio-footer{background:#0d1628;border-top:1px solid var(--line);padding:40px max(5vw,calc((100vw - 1240px)/2)) 24px;margin-top:0}
.studio-contact{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:0 0 32px;border-bottom:1px solid #293b59}
.studio-contact .eyebrow{margin:0 0 12px}
.studio-contact h2{font-size:35px;line-height:1.15;margin:0}
.studio-contact p{font-size:13px;line-height:1.7;max-width:55ch;color:var(--muted);margin:12px 0 0}
.studio-contact>a{font-size:20px;font-weight:400;letter-spacing:-.035em;border-bottom:1px solid #6589b8;white-space:nowrap;padding:8px 0}
.studio-footline{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;padding-top:23px;color:#9bafcf;font-size:11px}
.studio-footline nav{display:flex;gap:23px;flex-wrap:wrap}.studio-footline a{padding:5px 0}
.studio-footline a:hover{text-decoration:underline;text-underline-offset:5px}
.anchor-alias{display:block;position:relative;scroll-margin-top:105px;height:0}
.site-v2 [id]{scroll-margin-top:105px}
/* The library retains the working calculators, tucked behind a concise disclosure. */
.site-v2.tools-library .library-directory{padding:5px 0 28px}
.site-v2.tools-library .section-inner{width:100%;max-width:none}
.site-v2.tools-library .library-heading h2{font-size:17px;font-weight:500}
.site-v2.tools-library .library-heading p{font-size:12px}
.site-v2.tools-library .library-grid{gap:20px}
.site-v2.tools-library .library-card{border:1px solid var(--line);border-radius:3px;background:#101a2e;box-shadow:none}
.site-v2.tools-library .library-card-link{padding:25px 27px}
.site-v2.tools-library .library-card h3{font-size:25px;font-weight:500;margin-top:15px}
.site-v2.tools-library .library-card p{font-size:14px;line-height:1.7}
.site-v2.tools-library .library-icon{color:#94cafa}
.site-v2.tools-library .library-category{font:10px/1.5 Consolas,monospace;letter-spacing:.08em;color:var(--accent)}
.site-v2.tools-library .library-filters button{border-radius:3px;border-color:#475f83;font-size:12px;color:#b6c9e8;min-height:40px}
.site-v2.tools-library .library-filters button[aria-pressed=true]{background:#314d78;color:#fff}
.site-v2.tools-library .library-card-footer{border-color:var(--line);font-size:11px}
.site-v2.tools-library .library-card:hover{background:#172740;border-color:#75a8d8}
.site-v2 .quick-disclosure{margin:0 0 45px;border-block:1px solid var(--line)}
.site-v2 .quick-disclosure>summary{padding:22px 30px 22px 0;font-size:18px;font-weight:500;cursor:pointer}
.site-v2 .quick-disclosure>summary small{display:block;font:12px/1.6 'Segoe UI',sans-serif;color:var(--muted);margin-top:5px}
.site-v2 .quick-disclosure .section-inner{border:0;padding-top:10px}
.site-v2 .library-quick-copy{display:none}
.site-v2 .tool-shell{background:#101a2e;border-radius:3px}
.site-v2 .tool-tabs,.site-v2 .mode-control{background:#162238}
.site-v2 .tool-tab,.site-v2 .mode-button{font-weight:500;border-radius:3px;min-height:44px}
.site-v2 .tool-tab.is-active,.site-v2 .mode-button.is-active{background:#314d78;border-color:#314d78;color:white}
.site-v2 .calculator-grid span,.site-v2 .result-card span{font-weight:500}
.site-v2 .result-card{background:#14243c;color:var(--ink);border-radius:3px}
.site-v2 .result-card span{color:#a3c6ed}
.site-v2 .result-card strong{font-weight:500}
/* Long-form reading keeps all technical content, with a quieter surrounding page. */
.site-v2 .article-page{padding-top:0;background:var(--paper)}
.site-v2 .article-hero{background:transparent;color:var(--ink);padding:55px 0 32px;min-height:0}
.site-v2 .article-hero::before{display:none}
.site-v2 .article-hero-inner{max-width:900px}
.site-v2 .article-hero h1{color:var(--ink);font-size:clamp(36px,4.5vw,59px);font-weight:500;line-height:1.1;letter-spacing:-.045em;margin:16px 0}
.site-v2 .article-back{color:var(--accent);border-color:var(--line);font-size:13px}
.site-v2 .article-lede{color:var(--muted);font-size:17px}
.site-v2 .article-details{color:#a7bad9;border-color:var(--line);font-size:12px}
.site-v2 .article-details span{color:#acc2e2;border-color:var(--line);background:#162238;font-weight:400;border-radius:3px}
.site-v2 .article-hero .eyebrow{color:var(--accent)}
.site-v2 .article-body{padding-top:30px;background:transparent;max-width:820px}
.site-v2 .article-body h2{font-weight:500;letter-spacing:-.03em}
.site-v2 .article-body>p,.site-v2 .article-body li{color:#b9c6db}
.site-v2 .contact-section{padding:30px 0;background:transparent;border-top:1px solid var(--line)}
.site-v2 .contact-section .section-heading h2{font-size:26px;font-weight:500;letter-spacing:-.03em}
.site-v2 .contact-section .contact-panel{box-shadow:none;background:transparent}
.site-v2 .section{opacity:1!important;transform:none!important}
/* PDF editing controls and document rendering remain owned by the PDF application. */
.site-v2 .pdf-app{padding-top:42px}
.site-v2 .pdf-intro h1{font-weight:500;letter-spacing:-.045em}
.site-v2 .pdf-shell{box-shadow:none;border-color:var(--line);border-radius:4px}
@media(min-width:1500px){.s-hero{padding-block:90px 65px}}
@media(max-width:1100px){.site-v2 .site-nav{gap:15px}.site-v2 .site-header{gap:20px}.site-v2 .brand-mark{width:125px}.s-hero{gap:3%;padding-top:55px}.s-hero h1{font-size:59px}.s-practices{gap:25px}.s-practice{padding-right:20px}}
@media(max-width:980px){.site-v2 .site-nav,.site-v2 .header-action{display:none}.site-v2 .menu-toggle{display:grid;margin-left:auto}.site-v2 .site-header{min-height:76px;padding-block:15px}.site-v2 .mobile-menu{top:75px}.s-hero h1{font-size:53px}.s-practice h2{font-size:24px}.s-note-list a{grid-template-columns:28px 1.1fr 1fr 18px;gap:15px}.s-note-list h2{font-size:19px}.studio-contact h2{font-size:30px}}
@media(max-width:720px){.s-hero{grid-template-columns:1fr;padding:43px 0 28px;gap:25px;min-height:0}.s-hero h1{font-size:clamp(44px,9vw,68px);max-width:13ch}.s-lede{font-size:16px;max-width:42ch}.s-art img,.s-art .s-motion-stage>svg{max-height:330px}.s-actions{margin-top:22px;gap:12px 20px}.s-trace{font-size:10px;gap:10px}.s-trace span:last-child{display:none}.s-practices{grid-template-columns:1fr;padding:30px 0;gap:0}.s-practice,.s-practice:last-child{padding:25px 0;border-right:0;border-bottom:1px solid var(--line)}.s-practice h2{margin:10px 0;font-size:29px}.s-practice p{max-width:50ch;margin-bottom:8px}.s-heading{align-items:start;flex-direction:column;gap:12px}.s-heading h2{font-size:32px}.s-work{padding:30px 0;border-top:0}.s-work-grid{grid-template-columns:1fr;gap:25px}.s-feature{min-height:300px;padding:26px}.s-feature h3{font-size:36px}.s-aside-link{gap:8px}.s-aside-link a{margin-left:0}.s-pagehead{grid-template-columns:1fr;padding:42px 0 30px;gap:22px}.s-pagehead h1{font-size:46px;max-width:17ch}.s-pagehead p:not(.eyebrow){font-size:15px}.s-inset{align-items:start;flex-direction:column;gap:12px}.s-offer{grid-template-columns:1fr;padding:32px 0;gap:20px}.s-offer-intro p{max-width:52ch}.s-service{grid-template-columns:25px 1fr;padding:22px 0}.s-service h3{font-size:23px}.s-study{grid-template-columns:1fr;padding:25px;gap:20px;margin-bottom:30px}.s-study-detail{border-left:0;border-top:1px solid #354868;padding:24px 0 0}.s-study h2{font-size:36px}.s-code{margin-top:0}.s-directory-bar{align-items:start;flex-direction:column;gap:12px}.s-directory-bar label{width:100%}.s-directory-bar input{flex:1;min-width:0;width:100%}.s-note-list{margin-bottom:30px}.s-note-list a{grid-template-columns:25px 1fr 20px;gap:13px;padding:20px 0}.s-note-list p{grid-column:2;grid-row:2}.s-note-list a>span:last-child{grid-column:3;grid-row:1}.s-note-list h2{font-size:21px}.s-games-feature{grid-template-columns:1fr;gap:27px}.s-games-feature h2{font-size:44px}.s-prototypes{grid-template-columns:1fr;gap:25px}.s-prototypes article+article{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.s-facts{gap:12px}.s-facts strong{font-size:14px}.s-game-gallery{margin:0;padding:12px 0 30px}.studio-footer{padding-top:30px}.studio-contact{flex-direction:column;align-items:start;gap:22px}.studio-contact h2{font-size:31px}.studio-contact>a{font-size:21px}.studio-footline{align-items:start;flex-direction:column;gap:13px}.studio-footline nav{gap:17px}.site-v2.tools-library .library-grid{grid-template-columns:1fr;gap:14px}.site-v2.tools-library .library-card-link{padding:23px}.site-v2 .article-hero{padding-top:35px}.site-v2 .pdf-app{padding-top:28px}.site-v2 .pdf-intro h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){.site-v2 *{scroll-behavior:auto!important;transition:none!important}}

/* Space palette: restrained light, orbital linework, and clear reading surfaces. */
body.site-v2{--paper-soft:#162238;--blue:#94b9ff;--green:#99e0fa;background:radial-gradient(ellipse 65% 720px at 90% 0%,#18264466,transparent),var(--paper)}
.site-v2 .brand-mark img{filter:brightness(0) invert(1);opacity:.94}
.site-v2 .skip-link{background:#d5e8ff;color:#0b182d}
.site-v2 .site-nav{gap:19px}
.site-v2 .site-nav a[aria-current=page]{box-shadow:inset 0 -2px #9dd6fb}
.s-hero{min-height:520px;padding-top:55px;padding-bottom:44px}
.s-art{background:radial-gradient(ellipse at center,#3159a425,transparent 68%)}
.s-art img,.s-art .s-motion-stage>svg{filter:drop-shadow(0 0 20px #536eaf18)}
.s-dot{box-shadow:0 0 13px #70b5f777}
.s-feature{background:radial-gradient(ellipse at 95% 5%,#53669f33,transparent 70%),#121e35;border:1px solid #2e4165;border-radius:5px}
.s-technical{border:1px solid var(--line);border-radius:4px}
.s-study{background:linear-gradient(125deg,#142139,#10182c);border:1px solid #2c3c5e;border-radius:5px}
.s-practice{display:flex;flex-direction:column;align-items:start;padding-right:22px}
.s-practice .s-link{margin-top:auto}
.s-practice:nth-child(4) .s-label{color:#c8b6fc}
.s-work-row:hover h3,.s-note-list a:hover h2{color:#b5daff}
.s-note-list a:hover{border-color:#5c75a5}
.site-v2.tools-library .library-card p,.site-v2.tools-library .library-heading p,.site-v2.tools-library .library-card-footer{color:var(--muted)}
.site-v2.tools-library .library-card-action,.site-v2.tools-library .library-local,.site-v2 .library-back,.site-v2 .library-details>summary::after{color:#a6d7f8}
.site-v2.tools-library .library-filters button:hover{background:#263953}
.site-v2.tools-library .library-card-link:focus-visible{outline:3px solid #a7baff;outline-offset:-5px}
.site-v2.tools-library .library-details h2{color:var(--ink)}
.site-v2 .tool-tab,.site-v2 .mode-button,.site-v2 .calculator-grid input{background:#101c31;color:var(--ink);border-color:#465c7d}
.site-v2 .calculator-grid input[type=range]{accent-color:#a8d9fa}
.site-v2 .tool-panel-heading .article-meta{color:#a2cfff;background:#182c48}
.site-v2 .article-body p,.site-v2 .article-body li{color:#b9c6db}
.site-v2 .article-body table,.site-v2 .schematic-more{background:#101b2e}
.site-v2 .schematic-card{background:linear-gradient(#94b9ff0a 1px,transparent 1px),linear-gradient(90deg,#94b9ff0a 1px,transparent 1px),#101b2e;background-size:24px 24px}
.site-v2 .article-callout{background:#17253c;border-color:#90baff}
.site-v2 .article-next a{color:#afd4ff;border-color:#3c587f;background:#111e33}
.site-v2 .article-next a:hover{background:#203654}
.site-v2 .schematic-more .button{background:#a8d9fa;color:#0a192e;border-color:#a8d9fa}
.site-v2 .formula-strip strong{background:#16243c;border:1px solid #344869;color:#e4efff}
.site-v2 .pdf-intro p:not(.eyebrow):not(.pdf-private),.site-v2 .pdf-private,.site-v2 .pdf-help-content{color:var(--muted)}
.site-v2 .pdf-intro .eyebrow,.site-v2 .pdf-help-content strong{color:var(--accent)}
.site-v2 .pdf-back{color:#bcd5f4;border-color:#536e97}
.site-v2 .pdf-app{--pdf-green:#aad9fa}
.site-v2 .pdf-shell{color:#193029;color-scheme:light;--ink:#193029;--muted:#536263;--line:#cbd7d3}
.site-v2 .pdf-toolbar{background:#172744}
.site-v2 .pdf-file span{color:#b7cbea}
.site-v2 .pdf-private::before{background:#9cd9ff}
.site-v2 .pdf-help{border-color:var(--line)}
.site-v2.tools-library .studio-footer{padding:40px max(5vw,calc((100vw - 1240px)/2)) 24px}
@media(min-width:721px) and (max-width:1100px){.s-practices{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.s-practice:nth-child(2){border-right:0}.s-practice h2{font-size:27px}.site-v2 .site-header{gap:16px}.site-v2 .site-nav{gap:14px}}
@media(max-width:720px){.s-practices{gap:0}.s-hero{padding:38px 0 28px;min-height:0}.s-hero h1{max-width:15ch}.site-v2.tools-library .studio-footer{padding-top:30px}.s-practice .s-link{margin-top:0}}
@media print{body.site-v2{background:white;color:#151a25;--paper:white;--paper-soft:#eef1f5;--ink:#151a25;--muted:#344359;--line:#c9d0d9}.site-v2 .site-header,.site-v2 .studio-footer{display:none}.site-v2 .article-hero,.site-v2 .article-body{color:#151a25;background:white}.site-v2 .article-body p,.site-v2 .article-body li,.site-v2 .article-lede{color:#344359}.site-v2 .schematic-card,.site-v2 .article-body table{background:white}}

/* Quiet, optional motion inside the existing diagrams. */
.s-motion-stage{position:relative}
.s-motion-stage>svg{display:block}
