/* Portfolio extensions share the existing typography and color tokens. */
.map-controls label{white-space:nowrap;min-width:0}
.model-viewport{position:relative;overflow:hidden;background:#0A0A0A;isolation:isolate}
.model-viewport>img{position:absolute;height:auto;pointer-events:none}
.model-image{display:flex;justify-content:center;background:#0A0A0A}
.model-image .model-viewport{height:100%;flex:none}
.motion-image{background:#FF4D00}.video-badge{position:absolute;bottom:16px;right:18px;padding:5px 12px;border:1px solid #FAFAF8;background:#FF4D00;color:white;border-radius:3px;font-size:11px}
.map-image{background:#FAFAF8;border:1px solid var(--line)}.project-image.map-image>img{object-position:65% 56%}
.model-section{padding-block:22px 55px}.model-section .section-heading>p{font-size:12px}.model-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:start}.model-grid .model-viewport{border-radius:4px}.model-grid figcaption{font-size:11px;color:var(--muted);margin-top:10px}.axe-models{grid-template-columns:.9fr 1.1fr 1.5fr .9fr}.axe-models .model-viewport{background:#0A0A0A}.original-sheets{padding-bottom:65px}details summary{cursor:pointer;min-height:44px;list-style-position:inside}details summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.original-sheets details,.source-video{border-block:1px solid var(--line);padding-block:18px}.original-sheets summary{font-size:16px}.original-sheets p{font-size:13px;margin:10px 0 22px}.original-sheets a+a{display:block;margin-top:25px}.motion-gallery{padding-block:15px 65px}.motion-gallery video{display:block;width:100%;aspect-ratio:16/9;background:#FF4D00;border-radius:5px}.motion-gallery figcaption{display:grid;grid-template-columns:1fr auto;gap:7px 25px;margin-top:22px}.motion-gallery h2{font-size:22px}.motion-gallery figcaption p{font-size:12px}.motion-gallery figcaption>a{grid-column:2;grid-row:1/3;align-self:center;font-size:12px}.source-video{margin-top:38px}.source-video>video{margin-top:15px}.source-video p{font-size:12px;margin-top:15px}.source-note{font-size:12px;line-height:1.9;color:var(--muted);padding:17px 20px;background:var(--soft);border-left:2px solid #71717A}.source-note a{text-decoration:underline;text-underline-offset:3px}
.xs-overview{padding:27px 30px;background:var(--soft);border-radius:5px;margin-top:15px}.game-loop{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin:24px 0}.game-loop>span{border-top:1px solid #71717A;padding-top:15px;font-size:17px;position:relative}.game-loop>span:not(:last-child):after{content:'→';position:absolute;right:-16px;top:38px;color:var(--accent)}.game-loop small{display:block;font-family:var(--mono);font-size:10px;color:var(--accent);margin-bottom:6px}.xs-overview>p:last-child{font-size:13px}.mindmap-section{padding-block:65px 45px}.mindmap-section .section-heading h2{font-size:30px}.map-controls{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-bottom:0;background:white;padding:10px 16px;font-size:12px;border-radius:5px 5px 0 0}.map-controls button{min-width:44px;min-height:40px;background:var(--soft);border-radius:3px}.map-controls label{display:flex;align-items:center;gap:10px}.map-controls input{width:180px;accent-color:var(--accent)}.map-controls output{min-width:42px}.map-controls [data-map-fit]{margin-left:auto;padding-inline:12px}.map-viewport{overflow:auto;height:600px;background:#FAFAF8;border:1px solid var(--line);cursor:grab;overscroll-behavior:contain}.map-viewport.dragging{cursor:grabbing;user-select:none}.map-canvas{width:100%;min-width:100%}.map-canvas img{display:block;width:100%;max-width:none;height:auto;pointer-events:none;user-select:none}.map-hint{font-size:11px;margin-top:10px}.xs-reader{display:grid;grid-template-columns:190px minmax(0,1fr);gap:55px;padding-block:25px 75px}.xs-document{min-width:0;max-width:900px}.xs-document .prose{margin-top:28px}.xs-document .prose img{border:1px solid var(--line);margin:22px auto;max-height:800px;object-fit:contain}.xs-document h2{scroll-margin-top:30px}.xs-document .source-note{margin-bottom:25px}
.gaming-list{padding-block:15px 40px}.gaming-list>article{display:grid;grid-template-columns:240px 1fr;gap:45px;border-top:1px solid var(--line);padding:30px 0}.gaming-heading h2{font-size:25px;margin-top:8px}.played-games{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 35px}.played-games li{display:flex;justify-content:space-between;gap:12px;font-size:15px}.played-games b{font-family:var(--mono);font-size:13px;font-weight:400;color:var(--accent);white-space:nowrap}.gaming-list article p{font-size:13px;margin-top:20px}.gaming-list>.source-note{margin-top:15px}.broad-games{padding-bottom:65px}.broad-games h2{font-size:28px;margin-top:9px}.broad-games>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.broad-games>div span{padding:7px 13px;background:var(--soft);font-size:13px;border-radius:3px}.broad-games>p:last-child{font-size:11px;margin-top:15px}
.reading-teaser{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;padding-block:75px;border-bottom:1px solid var(--line)}.reading-teaser h2{font-size:34px;line-height:1.5;margin-top:17px}.reading-teaser p:not(.eyebrow){font-size:14px;line-height:1.9;margin-top:18px}.reading-teaser .button{margin-top:22px}.teaser-shelf{display:flex;align-items:center;justify-content:center;gap:14px;position:relative;padding:30px 30px 55px;background:#E4E4E7;border-radius:5px}.teaser-book{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;aspect-ratio:.67;width:30%;max-width:145px;background:#FAFAF8;color:#FF4D00;padding:17px 14px;box-shadow:4px 5px 0 #FF4D00;border-left:5px solid #FF4D00;transform:rotate(-4deg)}.teaser-book:nth-child(2){background:#FF4D00;color:#E4E4E7;transform:rotate(2deg);border-color:#FF4D00}.teaser-book:nth-child(3){background:#71717A;transform:rotate(6deg);border-color:#71717A}.teaser-book small{font-size:10px}.teaser-book b{font-family:Georgia,'SimSun',serif;font-size:25px;line-height:1.4;font-weight:500}.teaser-book em{font-size:9px;font-style:normal}.teaser-count{position:absolute;bottom:18px;font-size:11px;color:#FF4D00}.teaser-shelf:hover{color:inherit}
.library-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;padding-block:65px 55px;align-items:center}.library-hero h1{font-family:Georgia,'SimSun',serif;font-size:65px;line-height:1.35;font-weight:500;letter-spacing:-.045em;margin-top:22px}.library-hero>div>p:not(.eyebrow){font-size:15px;line-height:1.9;margin-top:24px}.library-hero .text-link{margin-top:17px}.library-ledger{padding:28px 34px;background:#E4E4E7;border:1px solid #E4E4E7;border-radius:5px;transform:rotate(1deg)}.library-ledger>div{display:flex;gap:26px;align-items:center;border-bottom:1px solid #E4E4E7;padding:12px 0}.library-ledger>div>b{font-family:Georgia,serif;font-size:44px;font-weight:400;min-width:65px;color:var(--accent);line-height:1.4}.library-ledger>div:nth-of-type(2)>b{color:#71717A}.library-ledger>div:nth-of-type(3)>b{color:#71717A}.library-ledger>div>span{font-size:15px}.library-ledger small{display:block;font-size:10px;color:#71717A;margin-top:3px}.library-hero .library-ledger>p{font-size:10px!important;margin-top:17px!important}.library-section{padding-top:28px;padding-bottom:55px;border-top:1px solid var(--line)}.library-controls{display:flex;align-items:end;gap:22px;justify-content:space-between;padding-bottom:30px;flex-wrap:wrap}.book-search-label,.book-level-label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:8px}.book-search-label{flex:1;max-width:330px;min-width:200px}.library-controls input[type=search],.library-controls select{height:44px;width:100%;font-size:13px;padding:8px 12px;border:1px solid var(--line);border-radius:4px;background:white;color:var(--ink)}.book-level-label{min-width:170px}.book-status-filters{display:flex;gap:3px;padding:4px;background:#E4E4E7;border-radius:5px}.book-status-filters button{font-size:12px;min-height:36px;padding:6px 12px;border-radius:3px}.book-status-filters button span{font-family:var(--mono);font-size:10px;margin-left:5px;color:var(--muted)}.book-status-filters button.active{background:white;color:var(--accent);box-shadow:0 2px 4px #FF4D00}.library-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:38px}.book-category-panel{position:sticky;top:20px;align-self:start}.book-categories{display:flex;flex-direction:column;margin-top:15px;gap:2px}.book-categories button{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:12px;min-height:38px;padding:7px 10px;text-align:left;border-radius:3px;color:var(--muted)}.book-categories button span{font-size:10px;font-family:var(--mono)}.book-categories button.active{color:var(--accent);background:var(--lavender)}.book-categories button:hover{background:var(--soft)}.category-explanation{font-size:10px;line-height:1.8;margin-top:25px;padding-top:17px;border-top:1px solid var(--line)}.shelf-main{min-width:0}.book-results{font-size:11px;margin-bottom:15px}.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.book-card{min-width:0;border:1px solid #E4E4E7;border-top:4px solid var(--accent);padding:18px 18px 15px;background:#FAFAF8;box-shadow:0 4px 12px #FF4D00;border-radius:3px;display:flex;flex-direction:column;min-height:245px}.book-topline{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#71717A}.book-status{white-space:nowrap;color:var(--accent)}.book-card h2{font-family:Georgia,'SimSun',serif;font-size:24px;line-height:1.5;letter-spacing:-.02em;font-weight:600;margin-top:22px;overflow-wrap:anywhere}.book-author{font-size:10px;line-height:1.8;margin-top:9px;margin-bottom:18px}.book-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:7px;margin-top:auto;padding-top:15px}.book-level{font-size:9px;color:#FF4D00;background:#E4E4E7;border-radius:3px;padding:3px 7px}.book-pending{font-size:9px;color:#71717A}.book-detail{font-size:10px;margin-top:12px;border-top:1px solid #E4E4E7;padding-top:7px}.book-detail summary{min-height:27px;color:var(--muted)}.book-detail p{font-size:10px;line-height:1.8;margin-block:8px}.book-detail a{color:var(--accent);font-size:10px;overflow-wrap:anywhere}.book-reading{background:#FAFAF8;border-color:#E4E4E7;border-top-color:#71717A}.book-reading .book-status{color:#71717A}.book-reading .book-level{background:#E4E4E7;color:#71717A}.book-wishlist{background:#E4E4E7;border-color:#E4E4E7;border-top-color:#71717A;box-shadow:none}.book-wishlist h2{color:#71717A}.book-wishlist .book-status{color:#71717A}.book-wishlist .book-author,.book-wishlist .book-topline{color:#71717A}.book-wishlist .book-level{background:#E4E4E7;color:#71717A}.book-more{display:flex;margin:30px auto 0}.book-empty{padding:65px 20px;text-align:center;background:var(--soft)}.book-empty h2{font-size:25px}.book-empty p{font-size:13px;margin-top:15px}.book-empty button{margin-top:24px}.book-leads{padding-bottom:55px}.book-leads>details{border-top:1px solid var(--line);padding:17px 0}.book-leads>details>summary{font-size:16px}.book-leads summary span{font-size:11px;color:var(--muted);margin-left:15px}.lead-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-block:15px 25px}.lead-grid h2{font-size:18px}.lead-grid h2 small{font-size:10px;color:var(--muted);font-weight:400;margin-left:10px}.lead-grid p,.book-leads li{font-size:12px;line-height:1.9;margin-top:9px}
@media(max-width:1100px){.desktop-nav{gap:23px}.library-hero{gap:60px}.library-hero h1{font-size:58px}.library-layout{grid-template-columns:165px minmax(0,1fr);gap:24px}.book-grid{gap:14px}.book-card{padding:14px;min-height:240px}.book-card h2{font-size:22px}.book-topline{flex-wrap:wrap}.reading-teaser{gap:40px}.model-grid{gap:14px}.book-search-label{max-width:none}}
@media(max-width:800px){.desktop-nav{gap:16px;font-size:12px}.desktop-nav .nav-contact{padding-inline:11px}.brand{gap:10px}.library-hero{gap:35px}.library-hero h1{font-size:49px}.library-ledger{padding:22px}.library-layout{grid-template-columns:150px minmax(0,1fr);gap:20px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.book-level-label{min-width:160px}.book-search-label{max-width:100%;flex:auto}.book-status-filters{order:3}.library-controls{gap:17px}.book-status-filters button{padding-inline:15px}.gaming-list>article{grid-template-columns:190px 1fr;gap:25px}.played-games{grid-template-columns:1fr}.xs-reader{gap:25px;grid-template-columns:160px minmax(0,1fr)}.game-loop{gap:15px}.game-loop>span{font-size:14px}.map-viewport{height:500px}.model-grid{grid-template-columns:1fr 1fr;gap:25px 18px}.axe-models{align-items:end}.model-section .section-heading{align-items:start}.reading-teaser h2{font-size:29px}.teaser-shelf{padding:20px 17px 50px;gap:9px}.teaser-book{padding:12px 9px}.teaser-book b{font-size:19px}.teaser-book em{font-size:8px}.teaser-count{font-size:10px}}
@media(max-width:600px){.model-section{padding-block:10px 35px}.model-section .section-heading{display:block}.model-section .section-heading>p{font-size:11px;margin-top:12px}.model-grid{gap:20px 12px}.model-grid figcaption{font-size:9px}.original-sheets{padding-bottom:40px}.original-sheets summary{font-size:14px}.original-sheets p{font-size:11px}.motion-gallery{padding-top:0;padding-bottom:40px}.motion-gallery figcaption{display:block;margin-top:17px}.motion-gallery h2{font-size:18px}.motion-gallery figcaption p{font-size:11px;margin-top:8px}.motion-gallery figcaption>a{display:inline-block;font-size:11px;padding-block:12px}.source-video{margin-top:20px}.source-video summary{font-size:13px}.source-video p{font-size:11px}.xs-overview{padding:20px}.game-loop{grid-template-columns:1fr;gap:12px;margin-block:18px}.game-loop>span{display:flex;gap:13px;align-items:center;padding-top:10px;font-size:15px}.game-loop small{margin:0}.game-loop>span:not(:last-child):after{content:'↓';position:static;margin-left:auto;font-size:12px}.xs-overview>p:last-child{font-size:12px}.mindmap-section{padding-block:36px 25px}.mindmap-section .section-heading h2{font-size:25px}.map-controls{gap:8px;padding:8px;flex-wrap:wrap}.map-controls label{flex:1;font-size:10px;gap:7px}.map-controls input{width:100%;min-width:50px}.map-controls button{min-width:36px;min-height:38px}.map-controls output{font-size:10px;min-width:33px}.map-controls [data-map-fit]{min-height:34px;font-size:11px;flex-basis:100%;margin-left:0}.map-viewport{height:390px}.map-hint{font-size:10px}.xs-reader{display:block;padding-block:10px 40px}.xs-document .source-note{font-size:11px;padding:13px 16px}.gaming-list{padding-block:0 30px}.gaming-list>article{display:block;padding-block:23px}.gaming-heading h2{font-size:23px;margin-bottom:20px}.played-games{gap:10px}.played-games li{font-size:14px}.played-games b{font-size:12px}.gaming-list article p{font-size:12px;margin-top:17px}.broad-games{padding-bottom:40px}.broad-games h2{font-size:25px}.broad-games>div{gap:8px;margin-top:20px}.broad-games>div span{font-size:11px;padding:6px 10px}.broad-games>p:last-child{font-size:10px}.reading-teaser{display:block;padding-block:42px}.reading-teaser h2{font-size:29px}.reading-teaser p:not(.eyebrow){font-size:13px;margin-top:15px}.reading-teaser .button{margin-top:18px;font-size:12px}.teaser-shelf{margin-top:30px;padding:28px 20px 50px;min-height:245px}.teaser-book{padding:14px 10px}.teaser-book b{font-size:23px}.library-hero{display:block;padding-block:35px}.library-hero h1{font-size:47px;margin-top:18px}.library-hero>div>p:not(.eyebrow){font-size:14px;margin-top:18px}.library-ledger{transform:none;margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:20px}.library-ledger>.eyebrow,.library-ledger>p{grid-column:1/-1}.library-ledger>div{display:block;border-bottom:0;padding:0}.library-ledger>div>b{font-size:35px}.library-ledger>div>span{display:block;font-size:12px;margin-top:3px}.library-ledger small{font-size:9px}.library-hero .library-ledger>p{margin-top:0!important;font-size:9px!important}.library-section{padding-top:22px;padding-bottom:35px}.library-controls{display:grid;grid-template-columns:1fr 140px;gap:15px 12px;padding-bottom:22px}.book-search-label{min-width:0;grid-column:1/-1}.book-level-label{min-width:0;grid-column:1/-1}.book-status-filters{grid-column:1/-1;order:0;justify-content:space-between}.book-status-filters button{padding:6px 8px;font-size:11px}.book-status-filters button span{font-size:9px;margin-left:3px}.library-layout{display:block}.book-category-panel{position:static}.book-category-panel>.eyebrow{font-size:10px}.book-categories{display:flex;flex-direction:row;overflow:auto;gap:7px;padding:2px 2px 12px;margin-top:10px;margin-bottom:15px;scrollbar-width:thin}.book-categories button{flex-shrink:0;white-space:nowrap;gap:8px;padding:7px 10px;background:#E4E4E7;min-height:36px;font-size:11px}.book-categories button.active{background:var(--lavender)}.category-explanation{display:none}.book-grid{gap:12px}.book-card{padding:13px 12px;min-height:238px;border-top-width:3px}.book-card h2{font-size:22px;margin-top:18px}.book-topline{font-size:8px;gap:6px;flex-direction:column}.book-author{font-size:9px;margin-top:9px;margin-bottom:14px}.book-bottom{gap:6px;padding-top:12px}.book-level{font-size:8px;padding:3px 5px}.book-pending{font-size:8px}.book-detail{font-size:9px;margin-top:9px}.book-detail p{font-size:10px}.book-results{font-size:10px}.book-leads{padding-bottom:35px}.book-leads>details>summary{font-size:14px}.book-leads summary span{display:block;margin:5px 0 10px 18px;font-size:10px}.lead-grid{grid-template-columns:1fr;gap:20px}.lead-grid p,.book-leads li{font-size:11px}.book-empty{padding:35px 17px}.book-empty h2{font-size:22px}.book-empty p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.logo-sheet .original-image:hover img{transform:none}}
@media print{.library-controls,.book-category-panel,.book-more,.map-controls{display:none!important}.library-layout{display:block}.book-grid{grid-template-columns:repeat(3,1fr)}.book-card{break-inside:avoid}.map-viewport{height:auto;overflow:visible}.map-canvas{width:100%!important}.motion-gallery video{display:none}}
