.projects-pending{color:#ece8f1;background:#101018;place-items:center;min-height:100svh;padding:110px 24px;display:grid}.projects-pending main{text-align:center;max-width:720px}.projects-pending main>p{color:#aaa3b4;margin-bottom:20px;font-size:12px}.projects-pending h1{letter-spacing:-.04em;font-size:clamp(27px,4.4vw,54px);font-weight:500;line-height:1.35}.markdown-content>h1+p{margin-top:18px;font-size:16px;line-height:1.6}.room-game{color:#ece8f1;isolation:isolate;background:#101018;height:100svh;min-height:640px;position:relative;overflow:hidden}.room-canvas{z-index:-1;touch-action:none;position:absolute;inset:0}.room-canvas canvas{width:100%;height:100%;display:block}.room-title{pointer-events:none;max-width:340px;position:absolute;top:114px;left:clamp(24px,4vw,72px)}.room-title>p:first-child{letter-spacing:.13em;text-transform:uppercase;color:#b7a0cd;margin-bottom:13px;font-size:10px}.room-title h1{letter-spacing:-.055em;margin-bottom:14px;font-size:clamp(28px,3vw,46px);font-weight:500;line-height:1.22}.room-title h1 span{color:#b69ade}.room-title>p:last-child{color:#95919e;max-width:250px;font-size:12px;line-height:1.9}.room-desk-label{color:#aba2bb;font:10px var(--font-mono);letter-spacing:.08em;pointer-events:none;align-items:center;gap:9px;display:flex;position:absolute;top:112px;right:4vw}.room-desk-label>span{background:#a2cdb9;border-radius:50%;width:5px;height:5px;box-shadow:0 0 10px #a2cdb955}.room-bottom{justify-content:space-between;align-items:center;gap:24px;display:flex;position:absolute;bottom:28px;left:clamp(24px,4vw,72px);right:clamp(24px,4vw,72px)}.room-instructions{color:#8c8797;align-items:center;gap:15px;font-size:10px;line-height:1.9;display:flex}.room-instructions>svg{color:#b4a8c8;width:26px;height:26px}.room-instructions p{flex-direction:column;display:flex}.room-interact{color:#e9dcef;background:#25202d;border:1px solid #65516f;border-radius:8px;align-items:center;gap:14px;min-height:52px;padding:0 17px;font-size:12px;transition:background .2s,border-color .2s;display:flex;box-shadow:0 10px 40px #0004}.room-interact:hover,.room-interact.is-near{background:#392a47;border-color:#b698d0}.room-interact kbd{font:10px var(--font-mono);border:1px solid #776383;border-radius:4px;place-items:center;width:26px;height:26px;margin-left:9px;display:grid}.room-status{text-align:center;background:#17141fe8;border-radius:8px;max-width:330px;padding:18px 24px;font-size:12px;line-height:1.8;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.room-dpad{grid-template-rows:repeat(2,42px);grid-template-columns:repeat(3,42px);gap:5px;display:none;position:absolute;bottom:105px;left:24px}.room-dpad button{touch-action:none;-webkit-user-select:none;user-select:none;background:#24202ad9;border:1px solid #68607170;border-radius:7px;place-items:center;display:grid}.room-dpad button:active{opacity:1;background:#735491}.dpad-w{grid-area:1/2}.dpad-a{grid-area:2/1}.dpad-s{grid-area:2/2}.dpad-d{grid-area:2/3}.rei-dialog{color:#eee7f3;background:#211b2a;border:1px solid #766081;border-radius:15px;width:min(820px,100vw - 36px);max-height:calc(100svh - 48px);margin:auto;padding:0;position:fixed;inset:0;overflow:auto;box-shadow:0 30px 140px #000b}.rei-dialog[open]{grid-template-columns:260px 1fr;display:grid}.rei-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#070710ad}.rei-close{z-index:2;background:#211b2aaa;border:0;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:12px;right:12px}.rei-close:hover{background:#594260}.rei-portrait{background:linear-gradient(#0000 40%,#292033 100%) 50%/100% 100%,url(/images/projects/rei.webp) 77% 16%/auto 145%;border-right:1px solid #77608255;min-height:440px;position:relative}.rei-portrait-caption{letter-spacing:.06em;color:#f1d6ef;font-size:23px;position:absolute;bottom:29px;left:25px;right:25px}.rei-portrait-caption span{color:#bba5c4;letter-spacing:.08em;margin-top:10px;font-size:9px;display:block}.rei-dialog-body{flex-direction:column;align-items:flex-start;padding:48px 37px 30px;display:flex}.rei-eyebrow{letter-spacing:.08em;color:#af94bf;margin-bottom:18px;font-size:9px}.rei-dialog h2{letter-spacing:-.045em;margin-bottom:23px;font-size:29px;font-weight:500;line-height:1.3}.rei-dialog h2 span{color:#d6acd5}.rei-speech{color:#d3c8db;min-height:150px;font-size:14px;line-height:1.95}.rei-dialog-progress{gap:6px;margin:15px 0 23px;display:flex}.rei-dialog-progress span{background:#4d3b5b;width:20px;height:2px}.rei-dialog-progress .active{background:#c7a0d5}.rei-next{background:#513b65;border:1px solid #84629c;border-radius:6px;align-items:center;gap:42px;margin-top:auto;padding:12px 16px;font-size:12px;display:flex}.rei-choices{gap:8px;width:100%;margin-top:auto;display:grid}.rei-choices button{text-align:left;background:#2d2438;border:1px solid #695077;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:10px 13px;font-size:11px;line-height:1.6;display:flex}.rei-choices button:hover{background:#493456}.rei-choices svg{width:15px}@media (max-width:900px){.room-title{max-width:290px;top:94px}.room-title>p:last-child{max-width:240px}.room-desk-label{display:none}}@media (pointer:coarse){.room-dpad{display:grid}}@media (max-width:700px){.room-game{min-height:620px}.room-title{top:98px;left:23px}.room-title h1{font-size:30px}.room-title>p:first-child{margin-bottom:10px;font-size:9px}.room-title>p:last-child{max-width:260px;font-size:11px}.room-bottom{align-items:flex-end;bottom:22px;left:23px;right:23px}.room-instructions{display:none}.room-interact{gap:9px;min-height:48px;margin-left:auto;padding:0 12px;font-size:11px}.room-interact kbd{display:none}.room-dpad{display:grid;bottom:91px}.rei-dialog[open]{grid-template-columns:1fr}.rei-portrait{background-position:50%,77% 15%;background-size:100% 100%,auto 300%;border-bottom:1px solid #77608255;border-right:0;min-height:145px}.rei-portrait-caption{font-size:18px;bottom:18px;left:22px}.rei-portrait-caption span{margin-top:5px;font-size:8px}.rei-dialog-body{padding:23px}.rei-eyebrow{margin-bottom:12px}.rei-dialog h2{margin-bottom:15px;font-size:25px}.rei-speech{min-height:110px;font-size:12px;line-height:1.85}.rei-dialog-progress{margin:12px 0 17px}.rei-choices button{font-size:11px}}.inner-header{z-index:10;justify-content:space-between;align-items:center;height:84px;padding:20px clamp(24px,4vw,72px);display:flex;position:absolute;inset:0 0 auto}.inner-wordmark{letter-spacing:-1.4px;align-items:center;min-height:44px;font-size:24px;font-weight:700;display:flex}.inner-wordmark span{color:var(--color-accent);margin-left:3px;font-size:28px}.page-links{align-items:center;gap:clamp(18px,3vw,36px);display:flex}.page-links a{color:#c8c4ca;align-items:center;min-height:44px;font-size:12px;transition:color .2s;display:inline-flex}.page-links a:hover,.page-links a[aria-current=page]{color:#fff}.page-links a[aria-current=page]{text-underline-offset:8px;text-decoration:underline;-webkit-text-decoration-color:var(--project-color,#bb835b);text-decoration-color:var(--project-color,#bb835b)}.home-page-links{align-items:center;gap:24px;display:flex}.home-page-links>a{align-items:center;min-height:44px;font-size:12px;display:flex}.home-project-link{color:var(--color-accent);align-items:center;gap:12px;min-height:44px;margin-top:24px;font-size:12px;display:inline-flex}.cv-page{color:#292a27;background:#ece9e2;min-height:100svh;padding:140px 28px 36px}.cv-page .inner-header{color:#242522;border-bottom:1px solid #d1cfc7}.cv-page .page-links a{color:#62645e}.cv-page .page-links a:hover,.cv-page .page-links a[aria-current=page]{color:#161813}.cv-sheet{background:#faf9f5;border:1px solid #dedbd2;width:min(100%,900px);margin:0 auto;padding:clamp(28px,6vw,76px)}.cv-kicker{text-transform:uppercase;letter-spacing:.17em;color:#777b70;margin-bottom:28px;font-size:11px}.markdown-content{overflow-wrap:anywhere;font-size:14px;line-height:1.9}.markdown-content h1{letter-spacing:-.055em;margin:0 0 12px;font-size:clamp(30px,5vw,48px);font-weight:600;line-height:1.25}.markdown-content h2{letter-spacing:-.035em;border-top:1px solid #deddd4;margin:35px 0 14px;padding-top:30px;font-size:21px;font-weight:600;line-height:1.45}.markdown-content h3{margin:22px 0 5px;font-size:16px;font-weight:600;line-height:1.5}.markdown-content p{color:#4e514a;margin:10px 0}.markdown-content a{color:#825339;text-underline-offset:4px;text-decoration:underline}.markdown-content ul,.markdown-content ol{margin:10px 0;padding-left:21px}.markdown-content li{margin:5px 0}.markdown-content em{color:#7b7d76;font-size:13px}.markdown-content blockquote{border-left:2px solid #bb835b;margin:20px 0;padding:1px 0 1px 20px}.markdown-content pre{background:#eeece5;max-width:100%;padding:18px;font-size:12px;overflow:auto}.markdown-content code{background:#eeece5;padding:2px 4px;font-size:.9em}.markdown-content table{border-collapse:collapse;max-width:100%;font-size:13px;display:block;overflow:auto}.markdown-content td,.markdown-content th{text-align:left;border:1px solid #d9d7cd;padding:8px 12px}.markdown-content img{max-width:100%;height:auto}.markdown-content hr{border:0;border-top:1px solid #deddd4;margin:28px 0}.cv-footer{color:#64675d;justify-content:space-between;gap:20px;width:min(100%,900px);margin:26px auto 0;font-size:11px;display:flex}.projects-track{background:#101019;position:relative}.projects-stage{isolation:isolate;--book-progress:0;background:#101019;height:100svh;min-height:480px;position:sticky;top:0;overflow:clip}.project-waypoint{pointer-events:none;width:1px;height:1px;position:absolute}.project-artwork-stack,.project-artwork,.book-stage,.project-shade{pointer-events:none;position:absolute;inset:0}.project-artwork-stack{z-index:-4}.project-artwork{will-change:opacity;background:#101019}.project-artwork img{object-fit:cover;object-position:50% 50%;width:100%;height:100%;display:block}.book-stage{z-index:-3;opacity:1;transition:opacity .7s}.book-stage canvas{width:100%;height:100%;display:block}[data-renderer=ready] .book-stage{opacity:1}.project-shade{z-index:-2;background:linear-gradient(90deg,#090a11eb 0%,#090a11bf 27%,#090a1121 48%,#0000 62%),linear-gradient(#08090e59,#0000 10% 86%,#08090ebf)}.projects-stage .inner-header{background:linear-gradient(#090a113b,#0000)}.project-panels{pointer-events:none;position:absolute;inset:0}.project-panel{pointer-events:none;align-items:center;padding:100px clamp(28px,8vw,150px) 105px;display:flex;position:absolute;inset:0}.project-panel[inert]{visibility:hidden}.project-copy{scrollbar-width:thin;scrollbar-color:#746c7960 transparent;pointer-events:auto;width:min(430px,40vw);max-height:100%;padding-bottom:3px;padding-right:12px;overflow-y:auto}.project-panel[inert] .project-copy{pointer-events:none}.project-overline{letter-spacing:.12em;text-transform:uppercase;color:#c5bbcb;align-items:center;gap:14px;margin-bottom:17px;font-size:10px;display:flex}.project-overline span{color:var(--project-color)}.project-panel .project-title{font-family:var(--font-display);letter-spacing:-.075em;color:#fff3f3;overflow-wrap:normal;margin:0 0 20px;font-size:clamp(58px,7.7vw,118px);font-weight:500;line-height:1.13}.project-title span{color:var(--project-color)}.project-description{letter-spacing:-.025em;color:#f0e9ed;max-width:420px;font-size:clamp(15px,1.45vw,21px);font-weight:400;line-height:1.65}.project-features{border-left:1px solid color-mix(in srgb,var(--project-color),transparent 50%);margin-top:27px;padding-left:17px}.project-features h3{text-transform:uppercase;letter-spacing:.12em;color:var(--project-color);margin-bottom:12px;font-size:10px;font-weight:500}.project-features ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.project-features li{color:#d2cbd4;font-size:12px;line-height:1.65}.project-next{min-height:44px;color:var(--project-color);align-items:center;gap:24px;margin-top:22px;font-size:11px;display:inline-flex}.project-next svg{width:16px;height:16px;transition:transform .2s}.project-next:hover svg{transform:translateY(3px)}.project-panel-classroom .project-title{font-weight:600}.project-panel-library .project-copy{border-top:1px solid #a6d3c650;padding-top:22px}.project-panel-portrait .project-features ul{grid-template-columns:1fr 1fr;gap:10px 18px}.project-controls{z-index:8;justify-content:space-between;align-items:center;gap:20px;display:flex;position:absolute;bottom:20px;left:clamp(24px,4vw,72px);right:clamp(24px,4vw,72px)}.project-index{gap:clamp(15px,3vw,40px);display:flex}.project-index a{color:#bdb5c0;align-items:center;gap:9px;min-height:44px;font-size:11px;transition:color .2s;display:flex}.project-index a span{opacity:.55;font-size:9px;font-family:var(--font-mono)}.project-index a[aria-current=step]{color:var(--project-color)}.project-index a:hover{color:#fff}.book-motion{color:#ccc3ce;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:44px;font-size:10px;display:flex}.book-motion svg{width:14px;height:14px}.project-progress{background:#ffffff12;height:2px;position:absolute;bottom:0;left:0;right:0}.project-progress span{background:var(--project-color);transform-origin:0;width:100%;height:100%;transform:scaleX(var(--book-progress));display:block}.project-fallback-message{color:#bfb2c5;font-size:10px;position:absolute;bottom:75px;right:24px}.project-reading-list{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.project-reading-list:target{clip-path:none;white-space:normal;z-index:30;color:#eee8ef;background:#17171c;width:auto;height:100dvh;padding:40px max(24px,50vw - 375px);line-height:1.8;position:fixed;inset:0;overflow:auto}.project-reading-list h2{margin-bottom:28px;font-size:28px}.project-reading-list h3{color:#eab5df;font-size:24px}.project-reading-list article{margin:0 0 35px}.project-reading-list ul{padding-left:20px}.project-reading-list>a{padding:15px 0;text-decoration:underline;display:inline-block}@media (max-width:1000px) and (min-width:701px){.project-panel{padding-left:6vw;padding-right:6vw}.project-copy{width:43vw}.project-panel .project-title{font-size:70px}.project-description{font-size:17px}.project-features li{font-size:11px}}@media (max-width:700px){.inner-header{height:74px;padding:15px 23px}.inner-wordmark{font-size:22px}.page-links{gap:19px}.page-links a{font-size:11px}.home-page-links{gap:18px}.home-page-links>a{font-size:11px}.home-page-links .about-link{display:none}.projects-stage{min-height:580px}.project-artwork-stack{height:58%}.project-artwork img{object-position:72% 38%}.project-shade{background:linear-gradient(#0000 34%,#0809114d 48%,#080911f0 62%,#080911 76% 100%),linear-gradient(#090a1159,#0000 18%)}.project-panel{align-items:flex-end;padding:75px 25px 81px}.project-copy{width:100%;max-height:51%;padding:0 5px 0 0}.project-overline{gap:10px;margin-bottom:8px;font-size:8px}.project-panel .project-title{margin-bottom:10px;font-size:48px}.project-description{max-width:480px;font-size:13px;line-height:1.65}.project-features{margin-top:18px;padding-left:12px}.project-features h3{margin-bottom:9px;font-size:9px}.project-features ul{grid-template-columns:1fr 1fr;gap:6px 16px}.project-features li{font-size:10px;line-height:1.65}.project-next{margin-top:12px;font-size:10px}.project-panel-library .project-copy{padding-top:12px}.project-controls{gap:6px;bottom:12px;left:23px;right:19px}.project-index{gap:16px}.project-index a{gap:4px;font-size:10px}.project-index a span,.book-motion span{display:none}.cv-page{padding:105px 16px 25px}.cv-sheet{padding:30px 23px}.markdown-content{font-size:13px}.cv-footer{padding:0 5px}}@media (max-height:700px) and (min-width:701px){.project-panel{padding-top:85px;padding-bottom:85px}.project-panel .project-title{margin-bottom:12px;font-size:64px}.project-overline{margin-bottom:9px}.project-description{font-size:16px}.project-features{margin-top:18px}.project-features ul{grid-template-columns:1fr 1fr;gap:6px 18px}.project-next{margin-top:12px}}@media (prefers-reduced-motion:reduce){.project-artwork{will-change:auto}}@media print{html,body,.cv-page{color:#111;background:#fff}.cv-page{padding:0}.cv-page .inner-header,.cv-footer,.cv-kicker{display:none}.cv-sheet{background:#fff;border:0;width:100%;padding:0}.markdown-content{font-size:10pt}.markdown-content h1{font-size:24pt}.markdown-content h2{break-after:avoid;margin-top:18pt;padding-top:12pt;font-size:14pt}.markdown-content h3{break-after:avoid}.markdown-content a{color:inherit}}
