@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}@font-face{font-family:Cinzel;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cinzel-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cinzel-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/cinzel-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/cinzel-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0c0a10;--bg-elevated:#16131d;--bg-card:#221d2b;--fg:#f3ecdc;--fg-muted:#a198ad;--accent-warm:#e85d04;--ember:#ff6b1a;--ember-deep:#c2410c;--gold:#d8ad5b;--stamp:#ff3d4a;--shows:#33d6ff;--games:#b06bff;--projects:#a6ff3d;--about:#f2a93b;--border:#332c3f;--success:#6bcb8f;--danger:#f07178;--page-acc:var(--gold);--radius:0;--nav-height:64px;--font:"Segoe UI", system-ui, -apple-system, sans-serif;--display:"Cinzel", "Times New Roman", Times, serif;--mono:"SF Mono", "Fira Code", ui-monospace, monospace;--ease:cubic-bezier(.7, 0, .2, 1);--pop:cubic-bezier(.2, 1.5, .4, 1);--rise:cubic-bezier(.2, .9, .2, 1);color-scheme:dark}html[data-page=home]{--page-acc:var(--gold)}html[data-page=about]{--page-acc:var(--about)}html[data-page=projects]{--page-acc:var(--projects)}html[data-page=none]{--page-acc:var(--stamp)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:var(--bg)}body{z-index:0;font-family:var(--font);color:var(--fg);-webkit-font-smoothing:antialiased;background:0 0;min-height:100vh;font-size:15px;line-height:1.5;position:relative}:focus-visible{outline:2px solid var(--page-acc);outline-offset:4px}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-group(root){animation:none}html.is-hidden .hub-ember,html.is-hidden .flame-flicker{animation-play-state:paused}.site-wrap{flex-direction:column;min-height:100vh;display:flex}.site-main{width:100%;max-width:1320px;padding:calc(var(--nav-height) + 2rem) clamp(1rem, 4vw, 3.5rem) 3rem;flex:1;margin:0 auto}.site-main--no-nav{padding-top:2rem}.navbar{z-index:100;height:var(--nav-height);background:var(--bg);border-bottom:1px solid var(--border);align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.navbar-inner{justify-content:space-between;align-items:center;gap:1rem;width:100%;max-width:1320px;margin:0 auto;padding:0 clamp(1rem,4vw,3.5rem);display:flex}.navbar-brand{font-family:var(--display);color:var(--fg);letter-spacing:.14em;text-transform:uppercase;text-shadow:3px 3px 0 var(--stamp);font-size:1.05rem;font-weight:700}.navbar-brand:hover{color:var(--fg);text-shadow:3px 3px 0 var(--gold)}.navbar-links{gap:.55rem;list-style:none;display:flex}.navbar-links a{border:1px solid var(--border);color:var(--fg-muted);font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease), box-shadow .2s var(--ease);border-radius:0;padding:.45rem .8rem;font-size:.72rem;font-weight:700;display:block;transform:skew(-12deg)}.navbar-links a:hover{color:var(--fg);border-color:var(--page-acc);background:0 0}.navbar-links a.active,.navbar-links a.active:hover{color:var(--bg);background:var(--page-acc);border-color:var(--page-acc)}.page-title{font-family:var(--display);letter-spacing:.01em;text-transform:uppercase;margin-bottom:.85rem;font-size:clamp(2.2rem,7.5vw,6.25rem);font-weight:700;line-height:.82}.page-title span{color:#0000;-webkit-text-fill-color:transparent;-webkit-text-stroke:2px var(--page-acc);transform-origin:0;max-width:100%;display:inline-block;position:relative;transform:skew(-8deg)}.page-title span:after{content:attr(data-t);width:100%;color:var(--fg);-webkit-text-fill-color:var(--fg);-webkit-text-stroke:0;clip-path:polygon(0 0,62% 0,48% 100%,0 100%);pointer-events:none;position:absolute;top:0;left:0}.page-lead{color:#e2d9c6;max-width:40rem;margin-bottom:2.5rem;font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.35}.page-lead--wide{max-width:56rem}.section-label{font-family:var(--display);text-transform:uppercase;letter-spacing:.28em;color:var(--page-acc);margin-bottom:.75rem;font-size:.75rem;font-weight:700}.page-lead a,.about-card p a,.site-footer p a{color:var(--page-acc);text-underline-offset:.15em;text-decoration:underline}.page-lead a:hover,.about-card p a:hover,.site-footer p a:hover{color:var(--fg)}.skip-control{z-index:10050;pointer-events:auto;font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--bg);background:var(--fg);cursor:pointer;box-shadow:5px 5px 0 var(--page-acc);transition:box-shadow .25s var(--pop), transform .25s var(--pop);border:0;padding:.5rem 1rem;font-size:.78rem;position:fixed;bottom:1.25rem;right:1.25rem;transform:skew(-12deg)}.skip-control>span{display:inline-block;transform:skew(12deg)}.skip-control:hover{color:var(--bg);background:var(--fg);box-shadow:9px 9px 0 var(--page-acc);transform:skew(-12deg)translate(-2px,-2px)}.site-footer{z-index:1;border-top:1px solid var(--border);background:var(--bg);text-align:center;color:var(--fg-muted);letter-spacing:.16em;text-transform:uppercase;flex-direction:column;align-items:center;gap:.4rem;padding:.85rem 1rem;font-size:.68rem;display:flex;position:relative}.site-footer .social-links{justify-content:center;gap:.35rem;margin:0}.site-footer .social-links a{width:1.5rem;height:1.5rem}.site-footer .social-links svg{width:.85rem;height:.85rem}.site-footer p{margin:0;font-size:.7rem}.footer-settings{justify-content:center;display:flex;position:relative}.footer-gear{width:1.75rem;height:1.75rem;color:var(--fg-muted);border:1px solid var(--border);cursor:pointer;background:0 0;place-items:center;padding:0;display:grid;transform:skew(-12deg)}.footer-gear svg{transform:skew(12deg)}.footer-gear:hover,.footer-gear[aria-expanded=true]{color:var(--fg);border-color:var(--gold)}.footer-settings__panel{z-index:5;text-align:left;text-transform:none;letter-spacing:.01em;width:min(18rem,100vw - 2rem);color:var(--fg);background:var(--bg-elevated);border:1px solid var(--border);box-shadow:6px 6px 0 var(--gold);padding:.85rem .95rem;line-height:1.4;position:absolute;bottom:calc(100% + .55rem);left:50%;transform:translate(-50%)}.site-footer .footer-settings__label{letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted);margin:0 0 .55rem;font-size:.72rem}.footer-settings__choice{cursor:pointer;align-items:flex-start;gap:.5rem;font-size:.85rem;display:flex}.site-footer .footer-settings__note{letter-spacing:0;text-transform:none;color:var(--fg-muted);margin:.55rem 0 0;font-size:.75rem}@media (width<=640px){:root{--nav-height:4.75rem}.navbar{height:auto}.navbar-inner{flex-wrap:wrap;gap:.15rem .5rem;padding-top:.4rem;padding-bottom:.35rem}.page-title{font-size:clamp(1.7rem,9vw,2.75rem)}.navbar-brand{white-space:nowrap;font-size:1rem}.navbar-inner nav{flex:1 0 100%;min-width:0}.navbar-links{justify-content:flex-start}.navbar-links a{white-space:nowrap;letter-spacing:.1em;padding:.32rem .5rem;font-size:.62rem}}.btn{font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;background:var(--fg);color:var(--bg);box-shadow:5px 5px 0 var(--page-acc);transition:transform .25s var(--pop), box-shadow .25s var(--ease), background .2s var(--ease);border:none;border-radius:0;align-items:center;gap:.5rem;padding:.7rem 1.25rem;font-size:.85rem;font-weight:700;display:inline-flex;transform:skew(-12deg)}.btn>span{display:inline-block;transform:skew(12deg)}.btn:hover{background:var(--fg);color:var(--bg);box-shadow:9px 9px 0 var(--page-acc);transform:skew(-12deg)translate(-3px,-3px)}.btn:active{box-shadow:3px 3px 0 var(--page-acc);transform:skew(-12deg)translate(0)}.btn-primary,.btn-primary:hover{background:var(--fg);color:var(--bg)}.about-content{justify-items:center;gap:2rem;display:grid}.about-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);width:100%;transition:transform .35s var(--pop), box-shadow .35s, border-color .2s;padding:1.75rem;position:relative}.about-card:hover{box-shadow:10px 12px 0 var(--page-acc);border-color:var(--page-acc);transform:translate(-5px,-8px)rotate(-1.2deg)}html[data-enter] .about-card,html[data-enter] .project-item,html[data-enter] .btn{transition:none}.about-card--social{text-align:center;max-width:28rem}.about-card--social .social-links{justify-content:center}.about-card--contact{text-align:center;max-width:28rem}.about-card h2{font-family:var(--display);letter-spacing:.06em;margin-bottom:.75rem;font-size:1.15rem}.about-card p+p{margin-top:.75rem}.about-card p{color:#e2d9c6}.social-links{flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.social-links a{width:2.5rem;height:2.5rem;color:var(--page-acc);border:1px solid var(--page-acc);transition:color .2s var(--ease), background-color .2s var(--ease), box-shadow .2s var(--ease);background:0 0;border-radius:0;justify-content:center;align-items:center;display:inline-flex;transform:skew(-12deg)}.social-links a:hover{color:var(--bg);background:var(--page-acc);box-shadow:4px 4px 0 var(--stamp)}.social-links svg{width:1.35rem;height:1.35rem;transform:skew(12deg)}.contact-email{justify-content:center;margin-top:.35rem;display:flex}.contact-email__btn{width:2.75rem;height:2.75rem;color:var(--page-acc);border:1px solid var(--page-acc);transition:color .2s var(--ease), background-color .2s var(--ease), box-shadow .2s var(--ease);background:0 0;border-radius:0;justify-content:center;align-items:center;display:inline-flex;transform:skew(-12deg)}.contact-email__btn:hover{color:var(--bg);background:var(--page-acc);border-color:var(--page-acc);box-shadow:4px 4px 0 var(--stamp)}.contact-email__btn svg{width:1.4rem;height:1.4rem;transform:skew(12deg)}.contact-email__panel{background:var(--bg-elevated);border:1px solid var(--border);width:min(26rem,100%);box-shadow:10px 12px 0 var(--page-acc);animation:slideUp .22s var(--rise);border-radius:0;padding:1.5rem 3rem 1.5rem 1.5rem;position:relative;overflow:visible}.contact-email__panel .modal-close{position:absolute;top:.75rem;right:.75rem}.contact-email__message{color:var(--fg-muted);text-align:left;margin:0;line-height:1.55}.contact-email__message a{color:var(--page-acc);text-underline-offset:.15em;font-weight:600;text-decoration:underline}.contact-email__message a:hover{color:var(--fg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes hall-rise{0%{opacity:0;transform:translateY(26px)}}@keyframes title-slam{0%{opacity:0;filter:blur(10px);transform:skew(-8deg)scale(1.6)translate(-6%)}55%{opacity:1;filter:blur();transform:skew(-8deg)scale(.97)}to{opacity:1;transform:skew(-8deg)scale(1)}}@keyframes settle-rise{0%{opacity:0;transform:translateY(32px)skewY(1.5deg)}}@keyframes settle-rise-skew{0%{opacity:0;transform:skew(-12deg)translateY(28px)}}html:not(.is-settled) .page-title span{animation:title-slam .8s var(--rise) both}html:not(.is-settled) .section-label{animation:settle-rise .7s var(--rise) backwards}html:not(.is-settled) .page-lead{animation:settle-rise .7s var(--rise) 80ms backwards}html:not(.is-settled) .page-block{animation:settle-rise .7s var(--rise) .16s backwards}html:not(.is-settled) .site-main>.btn{animation:settle-rise-skew .7s var(--rise) .16s backwards}html:not(.is-settled) .about-card{animation:settle-rise .7s var(--rise) backwards}html:not(.is-settled) .about-card:first-child{animation-delay:.18s}html:not(.is-settled) .about-card:nth-child(2){animation-delay:.26s}html:not(.is-settled) .about-card:nth-child(3){animation-delay:.34s}html:not(.is-settled) .about-card:nth-child(4){animation-delay:.42s}html:not(.is-settled) .project-item{animation:settle-rise .55s var(--rise) backwards}html:not(.is-settled) .projects-list>li:nth-child(2) .project-item{animation-delay:70ms}html:not(.is-settled) .projects-list>li:nth-child(3) .project-item{animation-delay:.14s}html:not(.is-settled) .projects-list>li:nth-child(4) .project-item{animation-delay:.21s}html:not(.is-settled) .projects-list>li:nth-child(5) .project-item{animation-delay:.28s}html[data-enter] .page-title span,html[data-enter] .section-label,html[data-enter] .page-lead,html[data-enter] .about-card,html[data-enter] .page-block,html[data-enter] .site-main>.btn,html[data-enter] .project-item{animation:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation:none!important}.hub-portal,.hub__title-name,.hub__title-mark,.hub__fire,.page-title span,.project-item,.page-block,.about-card,.section-label,.page-lead,.site-main>.btn{opacity:1!important;filter:none!important}}.projects-list{flex-direction:column;gap:1.75rem;padding:.4rem 1rem 1rem .35rem;list-style:none;display:flex}.project-item{background:var(--bg-elevated);border:1px solid var(--border);cursor:pointer;transition:border-color .2s var(--ease), transform .35s var(--pop), box-shadow .35s var(--ease);text-align:left;width:100%;color:inherit;font:inherit;border-radius:0;padding:1.5rem 1.75rem;display:block}.project-item:hover,.project-item:focus-visible{border-color:var(--projects);box-shadow:10px 12px 0 var(--projects);z-index:1;transform:translate(-5px,-8px)rotate(-1.2deg)}.project-item h2{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--fg);margin-bottom:.4rem;font-size:clamp(1.15rem,2vw,1.45rem)}.project-item p{color:var(--fg-muted);font-size:.95rem}.project-meta{flex-wrap:wrap;gap:.4rem;margin-top:.9rem;display:flex}.tag{font-size:.65rem;font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;background:var(--projects);color:var(--bg);border-radius:0;padding:.22rem .5rem;font-weight:700;display:inline-block;transform:skew(-12deg)}.modal-backdrop{z-index:200;animation:fadeIn .45s var(--rise);background:#0c0a10c7;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.modal-panel{background:var(--bg-elevated);border:1px solid var(--border);width:min(640px,100%);max-height:min(90vh,820px);box-shadow:10px 12px 0 var(--page-acc);animation:slideUp .22s var(--rise);border-radius:0;position:relative;overflow:auto}.modal-panel>.modal-close{z-index:2;position:absolute;top:1.1rem;right:1.25rem}.modal-header{border-bottom:1px solid var(--border);background:var(--bg-elevated);z-index:1;align-items:flex-start;gap:1rem;padding:1.25rem 3.25rem 1.25rem 1.5rem;display:flex;position:sticky;top:0}.modal-header h2{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;font-size:1.15rem}.modal-header p{color:var(--fg-muted);margin-top:.25rem;font-size:.9rem}.modal-close{background:var(--fg);width:36px;height:36px;color:var(--bg);font-family:var(--display);box-shadow:3px 3px 0 var(--page-acc);transition:background .2s var(--ease), box-shadow .2s var(--ease);border:0;border-radius:0;flex-shrink:0;place-items:center;font-size:1.25rem;line-height:1;display:grid;transform:skew(-12deg)}.modal-close>*{transform:skew(12deg)}.modal-close:hover{background:var(--fg);color:var(--bg);box-shadow:5px 5px 0 var(--page-acc)}.modal-body{padding:1.5rem}.modal-fullscreen{margin:-.15rem .6rem 0 auto}.modal-panel.is-fullscreen{width:100%;height:100%;max-height:none;box-shadow:none;border:0;border-radius:0;flex-direction:column;display:flex;overflow:hidden}.modal-panel.is-fill{height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:fixed;inset:0}.modal-panel.is-fill>.modal-close{top:calc(1.1rem + env(safe-area-inset-top));right:calc(1.25rem + env(safe-area-inset-right))}.modal-panel.is-fullscreen .standalone-app{width:min(100%,36rem);margin-inline:auto}.modal-panel.is-fullscreen .modal-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto;container:project-stage/size}.modal-panel.is-fullscreen .modal-header p{display:none}.modal-panel.is-fullscreen .modal-body>*{flex:1 0 auto;width:100%;min-height:100%;margin:0}.modal-panel.is-fullscreen .fire-app{--fire-width:min(100%, max(calc(48vh * 4 / 3), calc((100cqh - 23.5rem) * 4 / 3)))}.modal-panel.is-fullscreen .paint-app{--paint-width:min(100%, max(calc(52vh * 4 / 3), calc((100cqh - 8.75rem) * 4 / 3)))}.modal-panel.is-fullscreen .paint-app:has(.paint-room){--paint-width:min(100%, max(calc(48vh * 4 / 3), calc((100cqh - 11.75rem) * 4 / 3)))}.modal-panel.is-fullscreen .wheel-app{justify-content:center}.modal-panel.is-fullscreen .wheel-wrap{width:min(100%,max(380px,100cqh - 12rem));max-width:none;container-type:inline-size}.modal-panel.is-fullscreen .wheel-center{width:clamp(48px,13cqi,104px);height:clamp(48px,13cqi,104px)}.modal-panel.is-fullscreen .wheel-pointer{border-top-width:clamp(22px,5.2cqi,40px);border-left-width:clamp(12px,3cqi,22px);border-right-width:clamp(12px,3cqi,22px)}.modal-panel.is-fullscreen .coin-app{justify-content:center;padding:2.75rem 0 .5rem;position:relative}.modal-panel.is-fullscreen .coin-top{z-index:5;width:auto;position:absolute;top:0;right:0}.modal-panel.is-fullscreen .coin-stage{zoom:clamp(1, min(calc((100cqh - 12rem) / 220px), calc((100cqw - 2rem) / 260px)), 6);flex:none;width:200px;min-height:200px}.modal-panel.is-fullscreen .coin-app:has(.chance-chart) .coin-stage,.modal-panel.is-fullscreen .coin-app:has(.coin-debug) .coin-stage{zoom:clamp(1, min(calc((100cqh - 26rem) / 220px), calc((100cqw - 2rem) / 260px)), 3.5)}.modal-panel.is-fullscreen .coin-result{font-size:clamp(1.15rem,3.2cqh,2rem)}.modal-panel.is-fullscreen .chance-chart,.modal-panel.is-fullscreen .coin-debug{width:min(100%,46rem)}@container project-stage (width>=64rem){.modal-panel.is-fullscreen .fire-app{--fire-width:min(calc(100cqw - 23.5rem), calc((100cqh - .75rem) * 4 / 3));grid-template-rows:1fr auto auto auto auto 1fr;grid-template-columns:minmax(0,1fr) 22rem;align-content:stretch;place-items:stretch stretch;gap:.85rem 1.5rem;height:100%;min-height:0;display:grid}.modal-panel.is-fullscreen .fire-scene{grid-area:1/1/-1;place-self:center;max-height:100%}.modal-panel.is-fullscreen .fire-piles{grid-area:2/2;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.modal-panel.is-fullscreen .fire-status{grid-area:3/2}.modal-panel.is-fullscreen .fire-strike{grid-area:4/2;width:100%}.modal-panel.is-fullscreen .fire-actions{grid-area:5/2}.modal-panel.is-fullscreen .paint-app{--paint-width:min(100%, calc((100cqh - .5rem) * 4 / 3));grid-template-rows:auto auto auto minmax(0,1fr);grid-template-columns:22rem minmax(0,1fr);place-items:start stretch;gap:.75rem 1.5rem;height:100%;min-height:0;display:grid}.modal-panel.is-fullscreen .paint-toolbar,.modal-panel.is-fullscreen .paint-palette,.modal-panel.is-fullscreen .paint-room{grid-column:1;justify-content:flex-start;width:100%;max-width:100%}.modal-panel.is-fullscreen .paint-toolbar{flex-direction:column;grid-row:1;align-items:stretch}.modal-panel.is-fullscreen .paint-toolbar .paint-group,.modal-panel.is-fullscreen .paint-size{width:100%;max-width:100%}.modal-panel.is-fullscreen .paint-size input{flex:1;width:auto;min-width:0}.modal-panel.is-fullscreen .paint-settings{align-self:flex-end}.modal-panel.is-fullscreen .paint-palette{grid-row:2}.modal-panel.is-fullscreen .paint-room{grid-row:3}.modal-panel.is-fullscreen .paint-stage{grid-area:1/2/-1;place-self:center;width:auto;max-width:none;height:min(100cqh - .5rem,75cqw - 17.625rem)}.modal-panel.is-fullscreen .wheel-app{grid-template-rows:auto 1fr auto auto auto 1fr;grid-template-columns:minmax(0,1fr) 22rem;place-content:stretch;place-items:center stretch;gap:.85rem 1.5rem;height:100%;min-height:0;display:grid}.modal-panel.is-fullscreen .wheel-wrap{grid-area:1/1/-1;place-self:center;width:min(100cqw - 23.5rem,100cqh - 3.5rem)}.modal-panel.is-fullscreen .wheel-toolbar{grid-area:1/2;justify-self:end;position:static}.modal-panel.is-fullscreen .wheel-location{grid-area:3/2}.modal-panel.is-fullscreen .wheel-status{grid-area:4/2}.modal-panel.is-fullscreen .wheel-result{grid-area:5/2}}@media (width<=520px){.modal-panel{max-height:95vh}.modal-body{padding:1rem 1rem 1.25rem}.modal-header{padding:1rem 3rem 1rem 1.1rem}.modal-panel>.modal-close{top:.85rem;right:.85rem}.modal-panel.is-fill>.modal-close{top:calc(.85rem + env(safe-area-inset-top));right:calc(.85rem + env(safe-area-inset-right))}}.project-loading{color:var(--fg-muted);text-align:center;padding:2rem 0}.site-main--hub{max-width:none;min-height:calc(100vh - 5rem);padding:0;display:flex}.site-main--hub:before,.site-main--hub:after{content:"";pointer-events:none;z-index:-1;position:fixed}.site-main--hub:before{background:linear-gradient(160deg, var(--bg-elevated), var(--bg-card));border-right:3px solid var(--gold);width:62%;top:-10%;bottom:-10%;left:-28%;transform:skew(-12deg)}.site-main--hub:after{background:var(--stamp);opacity:.8;width:10px;top:-10%;bottom:-10%;left:calc(34% + 14px);transform:skew(-12deg)}.hub{padding:calc(var(--nav-height) + 1.75rem) clamp(1.25rem, 4vw, 3.5rem) 2.75rem;min-height:inherit;flex:1;grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr);align-items:center;gap:clamp(1.25rem,4vw,4rem);display:grid;position:relative;overflow:visible}.hub__embers{pointer-events:none;z-index:0;grid-area:1/1/-1/-1;position:absolute;inset:0}.hub-ember{background:var(--ember);width:4px;height:4px;box-shadow:0 0 8px var(--ember);opacity:0;border-radius:50%;animation:4.8s linear infinite ember-rise;position:absolute;bottom:8%}.hub-ember--1{animation-duration:5.2s;animation-delay:.2s;left:12%}.hub-ember--2{width:3px;height:3px;animation-duration:4.4s;animation-delay:.8s;left:28%}.hub-ember--3{animation-duration:6s;animation-delay:.1s;left:47%}.hub-ember--4{width:5px;height:5px;animation-duration:4.1s;animation-delay:1.4s;left:63%}.hub-ember--5{animation-duration:5.6s;animation-delay:.6s;left:78%}.hub-ember--6{width:3px;height:3px;animation-duration:4.7s;animation-delay:1.1s;left:91%}.hub-ember:nth-child(7){animation-delay:2.1s;left:18%}.hub-ember:nth-child(8){animation-delay:2.8s;left:34%}.hub-ember:nth-child(9){animation-delay:1.7s;left:52%}.hub-ember:nth-child(10){animation-delay:3.2s;left:70%}.hub-ember:nth-child(11){animation-delay:3.8s;left:8%}.hub-ember:nth-child(12){animation-delay:2.4s;left:85%}.hub-ember:nth-child(13){animation-delay:4.1s;left:41%}.hub-ember:nth-child(14){animation-delay:.4s;left:57%}.hub-ember:nth-child(15){animation-delay:3.6s;left:73%}.hub-ember:nth-child(16){animation-delay:4.6s;left:22%}.hub-ember:nth-child(17){animation-delay:1.9s;left:66%}.hub-ember:nth-child(18){animation-delay:2.9s;left:95%}@keyframes ember-rise{0%{opacity:0;transform:translateY(0)scale(1)}12%{opacity:.9}to{opacity:0;transform:translateY(-72vh)scale(.4)}}.hub__stage{z-index:1;flex-direction:column;grid-column:1;align-items:flex-start;gap:.35rem;min-width:0;display:flex;container-type:inline-size}.hub__menu{z-index:2;flex-direction:column;grid-column:2;gap:1.15rem;min-width:0;display:flex}@keyframes hub-slam{0%{opacity:0;filter:blur(8px);transform:skew(-9deg)scale(1.4)translate(-5%)}58%{opacity:1;filter:blur();transform:skew(-9deg)scale(.97)}to{opacity:1;transform:skew(-9deg)scale(1)}}@keyframes hub-mark{0%{opacity:0;transform:skew(-9deg)translateY(16px)}to{opacity:1;transform:skew(-9deg)}}@keyframes portal-in{0%{opacity:0;transform:skew(-10deg)translate(110px)}}.hub__fire{filter:drop-shadow(0 12px 28px #e85d0459);width:min(220px,42vw);animation:hall-rise .7s var(--rise) both}.hub__fire-svg{width:100%;height:auto}.flame-layer{transform-box:fill-box;transform-origin:50% 100%}.hub__title{font-family:var(--display);text-transform:uppercase;text-align:left;flex-direction:column;align-items:flex-start;margin:0;font-weight:700;line-height:.82;display:flex}.hub__title-name,.hub__title-mark{transform-origin:0;display:block;transform:skew(-9deg)}.hub__title-name{letter-spacing:.01em;max-width:100%;color:var(--fg);text-shadow:6px 6px 0 var(--stamp), 12px 12px 0 #0009;animation:hub-slam .8s var(--rise) both;font-size:clamp(1.85rem,10.5cqi,6.5rem)}.hub__title-mark{color:var(--gold);text-shadow:none;animation:hub-mark .7s var(--rise) .12s both;margin:-.06em 0 0 .55em;font-size:clamp(1.45rem,6.8cqi,4rem)}.hub__portals{flex-direction:column;gap:.85rem;width:100%;margin:0;padding:0;list-style:none;display:flex}.hub-portal{--acc:var(--gold);isolation:isolate;text-align:left;color:var(--fg);transition:transform .3s var(--pop), color .2s;animation:portal-in .72s var(--pop) backwards;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;padding:.7rem 1.4rem .7rem 1rem;display:grid;position:relative;transform:skew(-10deg)}.hub__portals .hub-portal:nth-child(2){animation-delay:.1s}html.is-settled .hub__fire,html.is-settled .hub__title-name,html.is-settled .hub__title-mark,html.is-settled .hub-portal{opacity:1;filter:none;animation:none}.hub-portal--projects{--acc:var(--projects)}.hub-portal--about{--acc:var(--about)}.hub-portal:before,.hub-portal:after{content:"";pointer-events:none;position:absolute;inset:0}.hub-portal:before{background:var(--acc);transform-origin:0;transition:transform .32s var(--ease);z-index:-1;transform:scaleX(0)}.hub-portal:after{border:2px solid var(--acc);opacity:.35;z-index:-2;transition:opacity .2s, transform .3s var(--pop);transform:translate(8px,8px)}.hub-portal>*{min-width:0;transform:skew(10deg)}.hub-portal__art{width:3.4rem;height:3.1rem;color:var(--acc);display:block}.hub-portal__art--beer{width:2.5rem;height:3.5rem}.delorean-car{background-color:var(--acc)!important}.hub-portal:hover .delorean-car,.hub-portal:focus-visible .delorean-car{background-color:var(--bg)!important}.hub-portal__copy{flex-direction:column;display:flex}.hub-portal__label{font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;transition:letter-spacing .3s var(--pop);font-size:clamp(2rem,4.4vw,3.75rem);line-height:.95}.hub-portal__hint{letter-spacing:.14em;text-transform:uppercase;color:var(--acc);font-size:.68rem;line-height:1.35;transition:color .2s}.hub-portal:hover,.hub-portal:focus-visible{color:var(--bg);outline:none;transform:skew(-10deg)translate(22px)}.hub-portal:hover:before,.hub-portal:focus-visible:before{transform:scaleX(1)}.hub-portal:hover:after,.hub-portal:focus-visible:after{opacity:1;transform:translate(12px,12px)}.hub-portal:hover .hub-portal__label,.hub-portal:focus-visible .hub-portal__label{letter-spacing:.08em}.hub-portal:hover .hub-portal__hint,.hub-portal:focus-visible .hub-portal__hint,.hub-portal:hover .hub-portal__art,.hub-portal:focus-visible .hub-portal__art{color:var(--bg)}@media (width<=860px){.site-main--hub:before{width:160%;height:42vh;top:-8%;bottom:auto;left:-70%}.site-main--hub:after{display:none}.hub{grid-template-columns:minmax(0,1fr);place-items:start stretch;gap:1.35rem}.hub__stage,.hub__menu{grid-column:1;justify-self:center;width:min(36rem,100%)}.hub__stage{align-items:center}.hub__title{text-align:center;align-items:center}.hub__title-name,.hub__title-mark{transform-origin:50%}.hub__fire{width:min(150px,40vw)}.hub-portal:hover,.hub-portal:focus-visible{transform:skew(-10deg)translate(12px)}}.transition-shell{z-index:10000;pointer-events:none;position:fixed;inset:0}.transition-overlay{z-index:10000;pointer-events:none;visibility:hidden;opacity:0;position:fixed;inset:0;overflow:hidden}.transition-seq{opacity:0;visibility:hidden;position:absolute;inset:0}.speed-lines{pointer-events:none;flex-direction:column;justify-content:space-evenly;display:flex;position:absolute;inset:18% 0}.speed-line{opacity:.55;background:linear-gradient(90deg,#0000,#f3ead8b3,#0000);width:42%;height:2px;margin-left:8%;display:block}.speed-line:nth-child(odd){width:58%;margin-left:22%}.speed-line:nth-child(3n){width:28%;margin-left:48%}.delorean-stage{filter:drop-shadow(0 18px 24px #00000073);width:clamp(240px,24vw,820px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.delorean-wrap{width:100%}.delorean-svg{aspect-ratio:512/220;color:#e8eef2;width:100%;height:auto;display:block}.fire-tracks{z-index:1;pointer-events:none;width:100%;height:clamp(1.2rem,1.7vw,2.8rem);position:absolute;top:calc(50% + clamp(.7rem,1.35vw,2.1rem));left:0;right:0}.fire-tracks[data-dir="-1"] .fire-track--glow{background:linear-gradient(90deg,#fbbf24 0%,#ff6b1ae6 45%,#ff6b1a33 88%,#0000 100%)}.fire-tracks[data-dir="-1"] .fire-track--core{background:linear-gradient(90deg,#fff7ed 0%,#fde68a 60%,#0000 100%)}.fire-track{border-radius:999px;position:absolute;left:0;right:0}.fire-track--rear{top:.1rem}.fire-track--front{top:.8rem}.fire-track--glow{filter:blur(4px);background:linear-gradient(90deg,#0000 0%,#ff6b1a33 12%,#ff6b1ae6 55%,#fbbf24 100%);height:clamp(.55rem,.85vw,1.2rem);box-shadow:0 0 16px 3px #ff6b1a8c}.fire-track--core{background:linear-gradient(90deg,#0000 0%,#fde68a 40%,#fff7ed 100%);height:clamp(.2rem,.32vw,.42rem);margin-top:clamp(.18rem,.28vw,.36rem);box-shadow:0 0 8px 2px #fbbf24}.transition-flash{z-index:2;opacity:0;background:radial-gradient(90% 80% at 100%,#fff8e7 0%,#ffb347 22%,#ff6b1a 42%,#0000 70%);width:min(46vw,820px);position:absolute;inset:0 0 0 auto}.transition-flash[data-dir="-1"]{background:radial-gradient(90% 80% at 0%,#fff8e7 0%,#ffb347 22%,#ff6b1a 42%,#0000 70%);left:0;right:auto}.beer-cover{display:none}.beer-stream{filter:blur(.3px);z-index:2;background:linear-gradient(#e8a02000 0%,#e8a020 30%,#c45e12 100%);border-radius:8px;width:clamp(18px,2.2vw,36px);height:32%;margin-left:calc(clamp(18px,2.2vw,36px)/-2);position:absolute;top:0;left:50%}.beer-glass-stage{z-index:2;width:clamp(280px,38vw,640px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.beer-glass-wrap{width:100%}.beer-svg{width:100%;height:auto}.ember-curtain{background:linear-gradient(90deg,#1a0800 0%,#7c1d12 18%,#c2410c 42%,#ff6b1a 68%,#fbbf24 86%,#fff3c4 100%);width:240%;position:absolute;top:-12%;bottom:-12%;left:-70%;box-shadow:0 0 40px #ff6b1a}.transition-shell[data-playing=true] .transition-overlay{pointer-events:auto}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
