.portfolio-content{--portfolio-ink: #2b2518;--portfolio-paper: #f7f0d7;--portfolio-edge: #472f1d;--portfolio-gold: #d69b39;position:absolute;inset:0;z-index:5;pointer-events:none;color:var(--portfolio-ink);font-family:Georgia,Times New Roman,serif}.portfolio-section{--zone-accent: #9a6a33;--zone-deep: #5e3d17;--zone-tint: #f1e0c2;position:absolute;left:50%;width:min(920px,calc(100vw - 40px));transform:translate(-50%);padding:clamp(20px,2.6vw,30px);border:4px solid var(--portfolio-edge);outline:2px solid #ead39b;outline-offset:-9px;background-color:var(--portfolio-paper);background-image:conic-gradient(rgb(103 73 34 / 3%) 25%,transparent 0 50%,rgb(103 73 34 / 3%) 0 75%,transparent 0);background-size:6px 6px;box-shadow:0 8px #171b176b,0 0 0 5px #221b1445;pointer-events:auto;image-rendering:pixelated}.portfolio-section:before,.project-panel:before{content:"";position:absolute;inset:5px;border:1px solid rgb(103 73 34 / 42%);pointer-events:none}.portfolio-section:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(var(--zone-accent),var(--zone-accent)) left 3px top 3px / 7px 7px no-repeat,linear-gradient(var(--zone-accent),var(--zone-accent)) right 3px top 3px / 7px 7px no-repeat,linear-gradient(var(--zone-accent),var(--zone-accent)) left 3px bottom 3px / 7px 7px no-repeat,linear-gradient(var(--zone-accent),var(--zone-accent)) right 3px bottom 3px / 7px 7px no-repeat}.portfolio-section h2,.project-panel h2{margin:0 0 14px;font-size:clamp(28px,4vw,44px);line-height:1.04}.portfolio-section h3,.project-panel h3{line-height:1.15}.portfolio-section p,.project-panel p{line-height:1.55}.portfolio-section>p{max-width:70ch}.portfolio-section a,.project-panel a{color:#664213;text-decoration-thickness:2px;text-underline-offset:3px}.portfolio-section a:hover,.project-panel a:hover{color:#9a4e20}.portfolio-section h2{margin-bottom:14px;padding-bottom:8px;background:linear-gradient(var(--zone-accent),var(--zone-accent)) left bottom / 64px 4px no-repeat}.portfolio-kicker,.card-index,.card-meta,.card-status,.project-panel-status{margin:0 0 8px;color:#65471f;font:700 12px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.055em;text-transform:uppercase}.card-status{color:#355c32;text-transform:none;letter-spacing:0}.portfolio-section[data-section=about]{--zone-accent: #3d7fb8;--zone-deep: #1e4f7d;--zone-tint: #d9e9f6}.portfolio-section[data-section=projects]{--zone-accent: #5a9a3c;--zone-deep: #2f5e1f;--zone-tint: #dfeed0}.portfolio-section[data-section=skills]{--zone-accent: #9a6a33;--zone-deep: #5e3d17;--zone-tint: #f1e0c2}.portfolio-section[data-section=services]{--zone-accent: #2f8c84;--zone-deep: #1b5f59;--zone-tint: #d2ece8}.portfolio-section[data-section=contact]{--zone-accent: #d2612b;--zone-deep: #8c3a13;--zone-tint: #fbe1cf}.portfolio-section .portfolio-kicker{display:inline-flex;max-width:100%;margin-bottom:12px;padding:4px 9px 3px;border:2px solid var(--zone-accent);background:var(--zone-tint);color:var(--zone-deep);box-shadow:2px 2px 0 var(--zone-accent);font-size:11.5px;line-height:1.35;letter-spacing:.05em}.about-intro{display:grid;grid-template-columns:minmax(0,1fr) clamp(104px,11vw,132px);grid-template-areas:"title photo" "lead photo";gap:0 22px;align-items:start}.about-intro h2{grid-area:title}.about-lead{grid-area:lead}.profile-frame{grid-area:photo;padding:6px;border:3px solid #3a2612;background:#8a5f2e;box-shadow:inset 0 0 0 2px #c79a57,4px 4px #2b25184d}.profile-photo{display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover;border:2px solid #2a1a0c;background:#d9cba6}.portfolio-section .about-lead{margin:2px 0 0;padding-left:12px;border-left:3px solid var(--zone-accent);color:#3a2b17;font-size:16px;line-height:1.5}.portfolio-section .about-copy{max-width:74ch;margin:14px 0 0;font-size:14.5px;line-height:1.6}.education-block{margin-top:20px;padding-top:14px;border-top:2px dashed #b99b67}.education-block h3{margin:0 0 12px;font-size:17px}.education-list{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px;padding:0;margin:0;list-style:none}.education-list li{position:relative;padding-top:22px;font-size:13px;line-height:1.4}.education-list li:before{content:"";position:absolute;top:0;left:0;width:12px;height:12px;box-sizing:border-box;border:2px solid var(--portfolio-edge);background:var(--zone-accent)}.education-list li:after{content:"";position:absolute;top:5px;left:16px;right:-14px;height:2px;background:repeating-linear-gradient(90deg,var(--zone-accent) 0 5px,transparent 5px 9px)}.education-list li:last-child:after{display:none}.education-list time{display:block;margin-bottom:4px;color:var(--zone-deep);font:700 11.5px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.05em;text-transform:uppercase}.skill-inventory,.service-stations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.content-card{min-width:0;padding:16px;border:2px solid #846039;background:#fff9e8;box-shadow:3px 3px #b89b64;outline:1px solid rgb(132 96 57 / 30%);outline-offset:-5px}.content-card h3{margin:0 0 8px;font-size:20px}.content-card p{margin:8px 0}.skill-story-card{grid-column:1 / -1}.skill-story-card p:not(.card-index){max-width:80ch}.portfolio-section .skill-repository-link{display:inline-block;margin-top:8px;padding:4px 0;color:var(--zone-deep);font-weight:700}.project-card:before,.project-card:after,.skill-story-card:before,.skill-story-card:after,.project-stage-heading:before,.project-stage-heading:after{content:"";position:absolute;top:7px;width:5px;height:5px;background:var(--zone-deep)}.project-card:before,.skill-story-card:before,.project-stage-heading:before{left:7px}.project-card:after,.skill-story-card:after,.project-stage-heading:after{right:7px}.project-card{display:flex;flex-direction:column;align-items:flex-start}.project-card .pixel-button{margin-top:12px}.portfolio-section .card-index{display:inline-block;margin:0 0 10px;padding:2px 7px 1px;background:var(--zone-deep);color:#fff8dc;font-size:11px;letter-spacing:.07em}.project-card .card-meta{margin:0 0 8px;color:#6a4c22;font-size:11px;line-height:1.4;letter-spacing:.035em}.project-card .card-status{display:inline-flex;max-width:100%;align-items:flex-start;gap:7px;margin:0 0 10px;padding:3px 8px 2px;border:2px solid #7fa36a;background:#e9f3da;color:#2f5e1f;font-size:12px;line-height:1.35}.project-card .card-status:before{content:"";flex:0 0 8px;width:8px;height:8px;margin-top:4px;background:var(--zone-accent)}.skill-group>.card-meta{display:inline-block;margin:4px 0 0;padding:2px 7px 1px;border:2px solid var(--zone-accent);background:var(--zone-tint);color:var(--zone-deep);letter-spacing:.05em}.skill-group ul.inventory-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:14px 8px;margin:14px 0 0;padding:0;list-style:none}.project-stack li{padding:5px 8px;border:1px solid #b4945b;background:#f5e9c5;font:14px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.skill-group li.inventory-slot{display:grid;justify-items:center;gap:6px;padding:0;border:0;background:none;font:12px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center}.skill-group li.inventory-slot--row{grid-column:1 / -1;display:flex;align-items:center;gap:12px;font-size:13px;text-align:left}.inventory-slot--row .inventory-slot__label{max-width:none;text-wrap:balance}.inventory-slot__frame,.contact-link__icon{display:grid;place-items:center;width:56px;height:56px;flex:0 0 auto;background:linear-gradient(180deg,#3f5297e0,#2a3876eb);border:2px solid #1b2350;border-radius:6px;box-shadow:inset 0 0 0 2px #8ca4e673,0 2px #171b1759}.inventory-slot__frame img{width:40px;height:40px;object-fit:contain;image-rendering:pixelated}.inventory-slot:hover .inventory-slot__frame{border-color:#f2d16b;box-shadow:inset 0 0 0 2px #f2d16b8c,0 2px #171b1759}.inventory-slot__label{max-width:14ch;color:#3a2c17;overflow-wrap:anywhere}.service-card{border-left:6px solid var(--zone-accent)}.service-heading{display:flex;align-items:flex-start;gap:14px}.service-heading h3{margin:0;font-size:20px}.service-card .card-meta{display:inline-block;margin:0 0 6px;padding:2px 7px 1px;border:1px solid var(--zone-accent);background:var(--zone-tint);color:var(--zone-deep);font-size:11px;letter-spacing:.05em}.service-card>p:last-child{margin:12px 0 0;padding-top:12px;border-top:1px dashed #c4a46c;font-size:14.5px;line-height:1.6}.contact-links{display:grid;gap:10px;margin:18px 0 20px}.portfolio-section .contact-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:60px;padding:8px 14px 8px 8px;border:2px solid #846039;background:#fff9e8;box-shadow:3px 3px #b89b64;color:var(--portfolio-ink);text-decoration:none}.portfolio-section .contact-link:hover{border-color:var(--zone-accent);background:#fff1c9;box-shadow:3px 3px 0 var(--zone-accent);color:var(--portfolio-ink)}.contact-link__icon{width:44px;height:44px;color:#fff8dc}.contact-link__icon svg{width:26px;height:26px}.contact-link__text{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere;font-size:16px;font-weight:700;line-height:1.3}.contact-link__label{color:var(--zone-deep);font:700 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;text-transform:uppercase}.contact-link__arrow{color:var(--zone-deep);font:700 16px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.pixel-button,.pixel-link{--btn-bg: #526b3a;--btn-hover: #5f7a3e;--btn-edge: #2b2216;--btn-shade: #2d351f;display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:9px;padding:9px 14px;border:2px solid var(--btn-edge);border-radius:0;color:#fff8dc!important;background:var(--btn-bg);box-shadow:inset 2px 2px #ffffff29,inset -2px -2px #0000003d,0 3px 0 var(--btn-shade);font:700 14px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;text-decoration:none!important;cursor:pointer}.pixel-button:hover,.pixel-link:hover{background:var(--btn-hover);transform:translateY(-1px)}.pixel-button:active,.pixel-link:active{transform:translateY(2px);box-shadow:inset 2px 2px #00000038,inset -2px -2px #ffffff1a,0 1px 0 var(--btn-shade)}.pixel-button:focus-visible,.pixel-link:focus-visible,.portfolio-section a:focus-visible,.project-panel a:focus-visible{outline:3px solid #c0582b;outline-offset:3px}.return-sky-button{--btn-bg: #1d5c7a;--btn-hover: #256f91;--btn-edge: #0b2535;--btn-shade: #0b2535;margin-top:4px;padding:7px 14px}.return-sky-button img{height:30px;width:auto;image-rendering:pixelated}.classic-version{margin:16px 0 0;font-size:14px}.pixel-link{min-height:unset}@media(max-width:700px){.portfolio-section{width:calc(100vw - 24px);padding:19px;border-width:3px}.about-intro{grid-template-columns:minmax(0,1fr) 96px;grid-template-areas:"title photo" "lead lead";gap:0 14px}.education-list{grid-template-columns:1fr;gap:14px}.education-list li{padding:0 0 0 24px}.education-list li:before{top:0}.education-list li:after{inset:14px auto -14px 5px;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--zone-accent) 0 5px,transparent 5px 9px)}.skill-inventory,.service-stations{grid-template-columns:1fr}.skill-story-card{grid-column:auto}}@media(prefers-reduced-motion:reduce){.pixel-button:hover,.pixel-link:hover,.pixel-button:active,.pixel-link:active{transform:none}}@media(hover:hover)and (prefers-reduced-motion:no-preference){.service-card{transition:transform 90ms steps(2),box-shadow 90ms steps(2)}.service-card:hover{transform:translate(-2px,-2px);box-shadow:5px 5px #b89b64}}.portfolio-content .portfolio-section{left:auto;right:28px;width:min(540px,43vw);transform:none;font-size:15px}.portfolio-content .skill-inventory,.portfolio-content .service-stations{grid-template-columns:1fr}.portfolio-content .portfolio-section h2{font-size:32px}@media(max-width:900px){.portfolio-content .portfolio-section{right:16px;width:min(500px,53vw)}}@media(max-width:600px){.portfolio-content .portfolio-section{right:12px;width:calc(100vw - 24px);font-size:15px}.portfolio-content .portfolio-section h2{font-size:28px}.skill-group ul.inventory-slots{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}.inventory-slot__frame{width:50px;height:50px}.inventory-slot__frame img{width:34px;height:34px}.contact-link{min-height:56px}}.portfolio-content .portfolio-section.project-zone{left:0;right:0;width:100%;padding:0;transform:none;border:0;outline:0;background:none;box-shadow:none;pointer-events:none}.portfolio-content .portfolio-section.project-zone:before,.portfolio-content .portfolio-section.project-zone:after{display:none}.project-stage{position:sticky;top:0;height:100vh;height:100lvh;overflow:hidden;pointer-events:none;--stage-safe-top: 76px}.stage-card{position:absolute;left:calc(var(--card-x, 50vw) - var(--pan-x, 0px));top:var(--card-y, 50vh);width:min(340px,calc(100vw - 32px));max-height:calc(var(--card-y, 50vh) - var(--stage-safe-top));overflow-y:auto;transform:translate(-50%,-100%);pointer-events:auto;font-size:15px}.stage-card p{margin:6px 0;line-height:1.45}.stage-card h3{font-size:21px;margin-bottom:6px}.project-stage-heading{width:max-content;max-width:calc(100vw - 32px);padding:14px 22px;background:var(--portfolio-paper, #f7f0d7);border-width:3px}.project-stage-heading h2{margin:0;font-size:32px}.project-stage-heading .portfolio-kicker{margin-bottom:10px}@media(pointer:coarse),(max-width:600px){.project-stage{--stage-safe-top: 16px}.stage-card{width:min(320px,calc(100vw - 28px));font-size:14px}}@media(max-width:600px){.project-stage-heading{width:max-content;padding:10px 16px}.portfolio-content .project-stage-heading h2{font-size:26px}.project-stage-heading .portfolio-kicker{margin-bottom:6px;padding:3px 6px 2px;font-size:10px;letter-spacing:.03em}}.sound-control{display:inline-flex;min-height:44px;align-items:center;gap:8px;padding:7px 12px;font:12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.sound-control svg{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:2}.sound-control-state{padding-left:8px;border-left:1px solid rgb(255 241 207 / 40%)}@media(pointer:coarse),(max-width:600px){.sound-control{position:relative;width:44px;height:44px;min-height:44px;padding:0;justify-content:center;gap:0}.sound-control-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sound-control-state{display:none}}.project-panel-backdrop{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:3.5vh 3vw;background:#0e14138f}.project-panel{--frame: #30271b;--rivet-light: #e4cb8d;--rivet-dark: #5d4220;position:relative;isolation:isolate;display:flex;width:min(1500px,96vw);height:min(94vh,1100px);flex-direction:column;overflow:hidden;border:5px solid var(--frame);outline:2px solid #e4cb8d;outline-offset:-11px;padding-bottom:14px;background:#f8f1dc;color:#2b2518;font-family:Georgia,Times New Roman,serif;box-shadow:0 -4px 0 var(--frame),0 4px 0 var(--frame),-4px 0 0 var(--frame),4px 0 0 var(--frame),0 8px #00000059;transform-origin:var(--panel-origin-x, 50%) var(--panel-origin-y, 50%);animation:project-panel-open .24s cubic-bezier(.2,.75,.28,1) both}.project-panel.is-closing{animation:project-panel-close .24s cubic-bezier(.55,.08,.75,.3) both;pointer-events:none}@keyframes project-panel-open{0%{transform:scale(.025)}to{transform:scale(1)}}@keyframes project-panel-close{0%{transform:scale(1)}to{transform:scale(.025)}}.project-panel:before{z-index:-1}.project-panel:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(var(--rivet-light),var(--rivet-light)) left 14px top 14px / 4px 4px no-repeat,linear-gradient(var(--rivet-dark),var(--rivet-dark)) left 12px top 12px / 8px 8px no-repeat,linear-gradient(var(--rivet-light),var(--rivet-light)) right 14px top 14px / 4px 4px no-repeat,linear-gradient(var(--rivet-dark),var(--rivet-dark)) right 12px top 12px / 8px 8px no-repeat,linear-gradient(var(--rivet-light),var(--rivet-light)) left 14px bottom 14px / 4px 4px no-repeat,linear-gradient(var(--rivet-dark),var(--rivet-dark)) left 12px bottom 12px / 8px 8px no-repeat,linear-gradient(var(--rivet-light),var(--rivet-light)) right 14px bottom 14px / 4px 4px no-repeat,linear-gradient(var(--rivet-dark),var(--rivet-dark)) right 12px bottom 12px / 8px 8px no-repeat}.project-panel-header{position:relative;display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:18px;padding:18px 30px 16px;border-bottom:3px solid #8c6736;background:#eee0b8}.project-panel-header h2{margin:0 0 6px;font-size:clamp(26px,3.2vw,36px)}.project-panel-header .portfolio-kicker{margin:0 0 6px}.project-panel-header .project-panel-status{display:inline-flex;align-items:center;gap:8px;margin:0;padding:4px 10px 4px 9px;border:2px solid #6d8a4e;background:#f6ecc8;color:#33502a;font:700 13px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:0;text-transform:none}.project-panel-status:before{content:"";flex:0 0 auto;width:8px;height:8px;background:#c98a2b;box-shadow:0 0 0 1px #5d4220}.panel-close{flex:0 0 auto}.project-panel-body{display:grid;min-height:0;flex:1;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);overflow:auto;scrollbar-color:#a88549 #eee0b8}.project-panel.has-no-gallery .project-panel-body{grid-template-columns:minmax(0,1fr)}.project-editorial{padding:26px 34px 44px;border-right:2px solid #c5aa72}.has-no-gallery .project-editorial{max-width:1000px;border-right:0}.project-editorial>section{margin-top:26px}.project-editorial p{margin:0;max-width:65ch;font-size:16px;line-height:1.6}.project-editorial h3{display:flex;align-items:center;gap:10px;margin:0 0 8px;color:#5d4220;font-size:18px;line-height:1.2}.project-editorial h3:before{content:"";flex:0 0 auto;width:10px;height:10px;background:#d9a441;box-shadow:0 0 0 2px #5d4220}.project-editorial .project-summary{padding:14px 18px 14px 20px;border-left:6px solid #b8741e;background:#fff4d2;box-shadow:4px 4px #d2b475;font-size:20px;font-weight:700;line-height:1.4}.project-editorial .project-stack{padding:12px 14px 14px;border:2px solid #8c6736;background:#fbf3dc;box-shadow:3px 3px #d2b475}.project-editorial .project-stack h3{margin-bottom:10px;font-size:16px}.project-panel .project-stack ul{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.project-panel .project-stack li{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:4px 9px 4px 7px;border:2px solid #4a3a25;background:#3b2f21;color:#f8ecc8;box-shadow:inset 0 0 0 1px #1d170f;font:700 13px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.project-panel .project-stack li:before{content:"";flex:0 0 auto;width:6px;height:6px;background:#e0b35a}.project-editorial .project-repository{margin-top:28px}.project-editorial .pixel-link{min-height:44px}.project-gallery{grid-column:2;grid-row:1;min-width:0;align-self:start;padding:22px 24px 26px}.gallery-main{min-width:0;padding:8px;border:2px solid #886638;background:#fffaf0;box-shadow:4px 4px #c5aa72}.gallery-stage{position:relative;overflow:hidden;aspect-ratio:16 / 10;max-height:min(53vh,590px);background:#e6dec8}.gallery-stage>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}.gallery-loading{position:absolute;inset:0;display:grid;place-items:center;background-color:#e6dec8;background-image:linear-gradient(90deg,transparent 0 40%,rgb(255 250 240 / 70%) 50%,transparent 60%);background-size:200% 100%;animation:gallery-shimmer 1.2s steps(8) infinite}.gallery-loading p{margin:0;padding:6px 10px;border:2px solid #b59a68;background:#fffaf0;color:#514329;font:700 13px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}@keyframes gallery-shimmer{0%{background-position:0 0}to{background-position:200% 0}}.project-gallery .gallery-caption{margin:8px 0 0;color:#514329;font-size:13px;line-height:1.35}.gallery-stage>.gallery-image-fallback{position:absolute;inset:0;display:grid;place-content:center;gap:9px;padding:24px;text-align:center}.gallery-image-fallback p{margin:0}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 0 16px}.gallery-step{min-height:44px;padding:7px 10px;border:2px solid #70512e;color:#382a19;background:#f8f1dc;font:700 13px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer}.gallery-step:hover{background:#ebdcae}.gallery-count{margin:0;color:#514329;font:700 13px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.gallery-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.gallery-thumbnail{position:relative;display:grid;min-width:0;place-items:center;overflow:hidden;padding:3px;border:2px solid #917346;background:#e6dec8;cursor:pointer}.gallery-thumbnail[aria-current=true]{border-color:#3f5a32;outline:2px solid #3f5a32;outline-offset:1px}.gallery-thumbnail img{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover}.gallery-thumbnail-failed{display:grid;aspect-ratio:16 / 10;width:100%;place-items:center;color:#514329;font-size:11px}.gallery-thumbnail-index{position:absolute;right:3px;bottom:3px;padding:2px 4px;color:#fff8dc;background:#332b20;font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.gallery-thumbnail:focus-visible,.gallery-step:focus-visible,.project-gallery:focus-visible{outline:3px solid #c0582b;outline-offset:2px}@media(max-width:700px){.project-panel-backdrop{padding:0}.project-panel{width:100%;height:100%;max-height:100dvh;border-width:4px;box-shadow:none}.project-panel:after{display:none}.project-panel-header{align-items:flex-start;padding:18px 18px 14px}.project-panel-header h2{font-size:28px}.project-panel-header .portfolio-kicker{max-width:34ch;font-size:10px}.project-panel-header .project-panel-status{font-size:12px}.panel-close{min-height:44px;padding:7px 10px}.project-panel-body{display:flex;flex-direction:column;overflow-y:auto}.project-editorial{order:1;padding:20px 18px 30px;border-right:0}.project-gallery{order:0;align-self:stretch;width:auto;padding:14px}.gallery-stage{max-height:46vh}.gallery-thumbnails{display:flex;overflow-x:auto;gap:8px;margin:0 -6px;padding:6px 6px 10px;scroll-snap-type:x mandatory}.gallery-thumbnail{flex:0 0 104px;scroll-snap-align:start}}@media(prefers-reduced-motion:reduce){.project-panel,.project-panel.is-closing{animation-duration:1ms}.gallery-loading{animation:none}}.world-navigation,.world-menu{position:fixed;z-index:20;font-family:Georgia,Times New Roman,serif}.world-navigation{top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));max-width:calc(100vw - 24px);color:#f8f2d5}.world-hotbar{display:flex;gap:4px;margin:0;padding:5px;list-style:none;overflow-x:auto;overscroll-behavior-inline:contain;background:#162d4ce0;border:2px solid #bdc6d0;box-shadow:0 0 0 2px #17345a,0 3px #0e1b1e8c;scrollbar-color:#f8f2d5 #17345a}.world-hotbar__slot{position:relative;display:flex;min-width:68px;min-height:66px;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 4px 5px;color:#f8f2d5;background:#17345a;border:2px solid #718ead;border-radius:0;font:inherit;font-size:12px;line-height:1.15;cursor:pointer}.world-hotbar__slot:hover{color:#fff5cc;background:#285b87;border-color:#c9d8ea}.world-hotbar__slot[aria-current=location]{z-index:1;color:#fff5cc;background:#285b87;border-color:#ffd85c;box-shadow:inset 0 0 0 1px #ffd85c;transform:scale(1.1)}.world-hotbar__slot:focus-visible{outline:3px solid #fff5cc;outline-offset:0}.world-hotbar__index{position:absolute;top:3px;left:5px;color:#f8f2d5cc;font-size:10px;line-height:1}.world-hotbar__slot[aria-current=location] .world-hotbar__index{color:#ffd85c}.world-hotbar__icon{display:block;width:32px;height:32px;object-fit:contain;image-rendering:pixelated;pointer-events:none}.world-hotbar__label{white-space:nowrap}.world-hotbar__label--short{display:none}.world-hotbar__return{padding-left:4px;border-left:1px solid rgb(248 242 213 / 55%)}.world-hotbar__slot--return{min-width:104px}.world-menu{inset:0;display:block;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));color:#fff5cc;background:transparent;text-align:center}.world-menu__content{position:absolute;top:50%;left:50%;display:grid;justify-items:center;gap:clamp(20px,5vh,42px);max-width:100%;transform:translate(-50%,-50%)}.world-menu__title{margin:0;color:#fff5cc;font-size:clamp(38px,9vw,86px);line-height:1;text-shadow:3px 3px 0 #17345a,-2px -2px 0 #17345a,0 5px 0 rgb(14 27 30 / 65%)}.world-menu__title img{display:block;width:min(740px,80vw);height:auto;image-rendering:pixelated;filter:drop-shadow(3px 3px 0 rgb(23 52 90 / 80%))}.world-menu__enter{min-width:min(280px,80vw);min-height:56px;padding:10px 26px;font:inherit;font-size:clamp(20px,2.4vw,26px);--hud-text-shadow: 3px 3px 0 rgb(14 27 30 / 80%)}.world-menu__classic{margin-top:calc(-1*clamp(8px,3vh,26px));padding:8px 12px;background:#17345ab3;color:var(--hud-text);font:15px/1.3 ui-monospace,monospace;text-decoration:none;text-shadow:2px 2px 0 rgb(14 27 30 / 80%)}.world-menu__classic:hover{color:var(--hud-gold);text-decoration:underline}.world-menu__classic:focus-visible{outline:3px solid var(--hud-gold);outline-offset:2px}.world-menu--entered{position:absolute;display:block;height:100vh;height:100lvh;padding:0;pointer-events:none}.world-menu--entered .world-menu__content{position:absolute;top:16px;left:50%;width:min(250px,25vw);gap:0;transform:translate(-50%);transition:top .24s ease-out}.world-menu--entered .world-menu__title img{width:100%}@media(pointer:coarse),(max-width:600px){.world-navigation{top:auto;right:auto;bottom:max(12px,env(safe-area-inset-bottom));left:50%;width:max-content;max-width:calc(100vw - 16px);transform:translate(-50%)}.world-hotbar{gap:3px;padding:4px}.world-hotbar__slot{min-width:58px;min-height:56px;padding:4px 2px 3px;font-size:11px}.world-hotbar__index{top:2px;left:3px}.world-hotbar__icon{width:24px;height:24px}.world-hotbar__return{padding-left:3px}.world-hotbar__slot--return{min-width:58px}.world-hotbar__label--long{display:none}.world-hotbar__label--short{display:inline}.world-menu__title img{width:min(600px,90vw)}}@media(max-width:380px){.world-hotbar__label{display:none}.world-hotbar__slot{min-width:50px}}@media(max-height:700px)and (min-width:701px){.world-menu--entered .world-menu__content{top:12px;width:230px}}@media(max-width:700px){.world-menu--entered .world-menu__content{top:12px;left:16px;width:158px;transform:none}}@media(prefers-reduced-motion:reduce){.world-menu--entered .world-menu__content{transition:none}}:root{font-family:Georgia,Times New Roman,serif;color:#f8f2d5;background:#3a8cf2;font-synthesis:none;text-rendering:optimizeLegibility;--hud-bg: #17345a;--hud-bg-hover: #285b87;--hud-edge: #e8d3a0;--hud-text: #fff1cf;--hud-gold: #ffd85c;--hud-shadow: 0 3px 0 rgb(14 27 30 / 55%);--hud-text-shadow: 1px 1px 0 rgb(14 27 30 / 80%)}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}html{background:#101018;scroll-behavior:auto}body{min-width:280px;overflow-x:hidden}html.world-not-entered{overflow:hidden}button,canvas{-webkit-tap-highlight-color:transparent}.app-shell{width:100%;position:relative}.world-shell{position:fixed;inset:0;overflow:hidden;background:#101018;isolation:isolate}.content-document{position:absolute;inset:0;pointer-events:none}.app-shell:not(.is-entered) .content-document{visibility:hidden}.app-shell.is-exploring .content-document{visibility:hidden}.mirror-transition{position:fixed;inset:0;z-index:90;display:grid;place-items:center;pointer-events:none;opacity:0;color:#c2faff}.mirror-transition span{font-size:120px;text-shadow:0 0 24px #7af1ff,0 0 70px #c9efff}.mirror-transition.is-active{animation:magic-mirror .56s steps(12) both;background:radial-gradient(circle,rgb(136 228 255 / 70%),rgb(35 102 154 / 18%) 45%,transparent 75%)}@keyframes magic-mirror{0%,to{opacity:0}30%,60%{opacity:1}}.pixi-mount{position:absolute;inset:0;touch-action:none;cursor:crosshair}.pixi-mount canvas{display:block;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}.pixi-mount canvas:focus-visible{outline:3px solid #fff1cf;outline-offset:-5px}.pixi-error{position:absolute;inset:0;display:grid;place-items:center;padding:2rem;background:#17345a;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reading-toggle,.island-controls button,.sound-control,.world-menu__enter{border:2px solid var(--hud-edge);border-radius:0;background:var(--hud-bg);color:var(--hud-text);box-shadow:var(--hud-shadow);text-shadow:var(--hud-text-shadow);cursor:pointer}.reading-toggle:hover,.island-controls button:hover,.sound-control:hover:not(:disabled),.world-menu__enter:hover{background:var(--hud-bg-hover);color:var(--hud-gold)}.reading-toggle:focus-visible,.island-controls button:focus-visible,.sound-control:focus-visible,.world-menu__enter:focus-visible{outline:3px solid var(--hud-gold);outline-offset:3px}.reading-toggle[aria-pressed=true]{border-color:var(--hud-gold)}.sound-control:disabled{cursor:not-allowed;opacity:.7}.reading-toggle{position:fixed;right:20px;top:20px;z-index:22;min-height:44px;padding:9px 14px;font:13px/1.3 ui-monospace,monospace}.explore-hint{position:fixed;left:22px;bottom:76px;z-index:7;margin:0;padding:6px 9px;border:2px solid var(--hud-edge);background:#17345ad9;color:#f8f1d3;font:11px/1.3 ui-monospace,monospace;pointer-events:none}.island-controls{position:fixed;left:22px;bottom:22px;z-index:22;display:flex;gap:6px}.island-controls button{min-height:44px;padding:8px 12px;font:11px/1.3 ui-monospace,monospace}.sound-dock{position:fixed;right:20px;bottom:20px;z-index:22}@media(max-width:600px){.reading-toggle{top:12px;right:12px;font-size:12px}}@media(pointer:coarse),(max-width:600px){.pixi-mount{cursor:default}.explore-hint{display:none}.island-controls{inset:64px 12px auto auto;display:grid;grid-template-columns:1fr 1fr;gap:4px;width:max-content}.island-controls button{min-height:44px;padding:8px 10px;font-size:11px}.island-controls button:last-child{grid-column:1 / -1}.sound-dock{right:12px;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 76px)}}
