@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/pixelify-sans-latin-700-normal.D3Xxx3QE.woff2)format("woff2"),url(/_astro/pixelify-sans-latin-700-normal.BctWAS0u.woff)format("woff")}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/vt323-latin-400-normal.wDgJuOC9.woff2)format("woff2"),url(/_astro/vt323-latin-400-normal.Dqn9ZSPj.woff)format("woff")}@layer reset;@layer tokens{:root{color-scheme:light;--ink:#301a0d;--ink-soft:#654327;--parchment:#ecd59c;--parchment-light:#f9e5b1;--parchment-edge:#b58242;--surface-parchment:radial-gradient(ellipse at 45% 46%, #fff0c04d, transparent 72%), radial-gradient(ellipse at 7% 100%, #c49c4e30, transparent 38%), radial-gradient(ellipse at 100% 0%, #fff4c84d, transparent 42%), repeating-linear-gradient(0deg, #9b754b04 0 2px, transparent 2px 4px), var(--parchment);--ornament:#a7884f;--wood-dark:#321b10;--wood-shadow:#492719;--wood:#704129;--wood-light:#a26c40;--green-dark:#173e2d;--green:#429365;--green-light:#9ec578;--gold:#f8c454;--font-heading:"Pixelify Sans", "Courier New", monospace;--font-body:"VT323", "Courier New", monospace;--page-width:1160px;--page-top-space:clamp(18px, 3vw, 40px);--page-section-gap:28px;--frame-width:20px;--frame-shadow:0 4px 0 #2a201b, 0 8px 0 #30241b55, 0 12px 22px #17282035}}@layer base,components,utilities,overrides;*,:before,:after{box-sizing:border-box}html{background:#45634c;min-width:320px;min-height:100%}body{color:var(--ink);font-family:var(--font-body);margin:0;font-size:28px;line-height:1.15}button,input{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}h1,h2,p,dl,dd{margin:0}h1,h2{font-family:var(--font-heading);font-weight:700}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:6px}::selection{color:#172c20;background:#a3bd77}.skip-link{z-index:20;background:var(--parchment);color:var(--ink);border:3px solid var(--wood-dark);padding:12px 18px;position:fixed;top:14px;left:20px;transform:translateY(-160%)}.skip-link:focus{transform:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wood-frame{isolation:isolate;padding:var(--frame-width);border:3px solid var(--wood-dark);box-shadow:inset 0 3px #ab794c, inset 3px 0 #a06b3f, inset -3px -3px #241910, inset 0 -7px #895834, var(--frame-shadow);background:repeating-linear-gradient(0deg,#0000 0 4px,#32170e30 4px 7px,#0000 7px 15px,#bf8d5126 15px 18px,#0000 18px 28px),repeating-linear-gradient(177deg,#0000 0 9px,#30180e30 10px 12px,#0000 13px 23px),repeating-linear-gradient(2deg,#0000 0 23px,#42211440 24px 27px,#0000 29px 61px),linear-gradient(90deg,#59321f,#845333 20%,#704126 64%,#53301e);position:relative}.wood-frame:before{content:"";z-index:-1;pointer-events:none;border:2px solid #3c2216;position:absolute;inset:8px;box-shadow:0 2px #946238,inset 0 2px #8d5a34}.frame-surface{min-width:0;height:100%;position:relative}.wood-frame--parchment>.frame-surface{background:var(--surface-parchment);border:2px solid #b3884f;box-shadow:0 0 0 2px #402819,0 0 0 4px #be8b46,inset 0 0 0 4px #f8e4af,inset 0 0 0 7px #e1bf785c,inset 0 0 26px #ba81333d}.wood-frame--parchment>.frame-surface:before{content:"";pointer-events:none;opacity:.55;background:linear-gradient(var(--parchment-edge),var(--parchment-edge)) 18% 0 / 8px 4px no-repeat, linear-gradient(var(--parchment-edge),var(--parchment-edge)) 71% 0 / 13px 3px no-repeat, linear-gradient(var(--parchment-edge),var(--parchment-edge)) 0 38% / 5px 12px no-repeat, linear-gradient(var(--parchment-edge),var(--parchment-edge)) 100% 65% / 4px 8px no-repeat, linear-gradient(var(--parchment-edge),var(--parchment-edge)) 23% 100% / 12px 4px no-repeat, linear-gradient(var(--parchment-edge),var(--parchment-edge)) 83% 100% / 7px 4px no-repeat;position:absolute;inset:-3px}.iron-corner{z-index:2;pointer-events:none;background:#737571;border:3px solid #292522;width:24px;height:24px;position:absolute;box-shadow:inset 2px 2px #c0c1b7,inset -3px -3px #454848,2px 2px #261b13}.iron-corner:after{content:"";background:#797d7c;border:2px solid #333938;position:absolute;inset:5px;box-shadow:-1px -1px #c1c3b4,1px 1px #a3a397}.iron-corner--tl{top:4px;left:4px}.iron-corner--tr{top:4px;right:4px}.iron-corner--bl{bottom:4px;left:4px}.iron-corner--br{bottom:4px;right:4px}.rpg-button{color:#fff0cb;text-transform:uppercase;min-height:66px;font-family:var(--font-heading);border:3px solid var(--green-dark);text-shadow:2px 2px #193e2b,-2px -2px #275138,2px -2px #275138,-2px 2px #275138;background:linear-gradient(90deg,#539f7138,#0000 10% 90%,#2f744e36),linear-gradient(#519f6e,#419164);border-radius:3px;justify-content:center;align-items:center;padding:12px 20px;font-size:30px;font-weight:700;line-height:1;display:flex;position:relative;box-shadow:inset 0 3px #bbd787,inset 3px 0 #7eb877,inset -3px -4px #2e704d,0 3px #493e20,3px 0 #697b48,-3px 0 #697b48}.rpg-button:before,.rpg-button:after{content:"";pointer-events:none;background:#a7c77f;width:5px;height:5px;position:absolute;top:4px;box-shadow:0 3px #81af71}.rpg-button:before{left:1px}.rpg-button:after{right:1px}.rpg-button:hover{background-color:#59a36d;background-image:linear-gradient(#65ad77,#4b9866)}.rpg-button:active{translate:0 2px;box-shadow:inset 0 3px #306545,inset 3px 0 #386f4c,inset -3px -3px #2e704d,0 1px #493e20}.ornament{color:var(--ornament);pointer-events:none;flex-shrink:0;display:inline-block;position:relative}.ornament--divider{justify-content:center;align-items:center;gap:14px;width:100%;height:22px;display:flex}.ornament--divider:before,.ornament--divider:after{content:"";background:currentColor;width:36%;height:3px}.diamond{background:currentColor;width:10px;height:10px;display:block;transform:rotate(45deg);box-shadow:-5px 5px 0 -2px,5px -5px 0 -2px}.diamond:after{content:"";background:var(--parchment);position:absolute;inset:3px}.ornament--sprig{color:#7c8d52;width:32px;height:35px;transform:rotate(-30deg)}.stem{background:currentColor;width:3px;height:26px;position:absolute;top:8px;left:16px}.leaf{clip-path:polygon(25% 0,75% 0,75% 20%,100% 20%,100% 70%,75% 70%,75% 100%,25% 100%,25% 80%,0 80%,0 25%,25% 25%);background:currentColor;display:block;position:absolute}.ornament--sprig .leaf{width:12px;height:15px}.ornament--sprig .leaf--1{top:0;left:15px;transform:rotate(15deg)}.ornament--sprig .leaf--2{top:12px;left:4px;transform:rotate(-45deg)}.ornament--sprig .leaf--3{top:18px;left:20px;transform:rotate(55deg)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.site-navigation{width:100%;margin:0;container-type:inline-size}.site-navigation .frame-surface{background:#5b3422;border:2px solid #2a190f;padding:12px}.site-navigation__list[data-astro-cid-kll2i2q5]{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.site-navigation__link[data-astro-cid-kll2i2q5]{min-height:54px;padding:8px 10px;font-size:clamp(18px,2.2vw,26px);text-decoration:none}.site-navigation__link[data-astro-cid-kll2i2q5][data-active=true]{color:#182b20;text-shadow:1px 1px #9de19d;background:linear-gradient(#71c17f,#49a76b);border-color:#754815}.site-navigation__gem[data-astro-cid-kll2i2q5]{opacity:0;background:#ffc84b;border:2px solid #8b5515;width:18px;height:18px;position:absolute;top:calc(50% - 9px);left:-14px;transform:rotate(45deg);box-shadow:inset 2px 2px #fff0a0,inset -2px -2px #d89220,0 0 0 2px #4b2e11}.site-navigation__link[data-astro-cid-kll2i2q5][data-active=true] .site-navigation__gem[data-astro-cid-kll2i2q5]{opacity:1}@container (width<=760px){.site-navigation__list[data-astro-cid-kll2i2q5]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.site-navigation .frame-surface{padding:8px}.site-navigation__gem[data-astro-cid-kll2i2q5]{left:-10px}}.base-navigation[data-astro-cid-z4jru4n3]{width:min(var(--page-width), calc(100% - 32px));margin:var(--page-top-space) auto 0}.base-navigation[data-astro-cid-z4jru4n3]+.portfolio-page{padding-top:var(--page-section-gap);min-height:0}@media (width<=560px){.base-navigation[data-astro-cid-z4jru4n3]{width:calc(100% - 16px)}}.portfolio-page{min-height:100vh;padding:clamp(24px,5vw,72px) 16px;position:relative}.portfolio-page:before{content:"";z-index:-2;background:linear-gradient(#173e2d75, #173e2d75), var(--portfolio-village) center / cover no-repeat, #45634c;position:fixed;inset:0}.portfolio-page:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(#0000 35%,#162c25a8 100%);position:fixed;inset:0}.portfolio-shell{width:min(var(--page-width), 100%);margin-inline:auto}.portfolio-shell *{min-width:0}.portfolio-shell:focus{outline:0}.portfolio-frame .frame-surface{padding:clamp(22px,4vw,48px)}.page-kicker{color:var(--ink-soft);font-family:var(--font-heading);letter-spacing:.12em;text-align:center;text-transform:uppercase;font-size:clamp(17px,2vw,24px)}.page-title{overflow-wrap:anywhere;text-align:center;text-transform:uppercase;margin-top:4px;font-size:clamp(42px,7vw,72px);line-height:.95}.page-intro{text-align:center;max-width:690px;margin:12px auto 0;font-size:clamp(23px,3vw,31px)}.page-heading{text-transform:uppercase;font-size:clamp(28px,4vw,42px)}.portfolio-frame .ornament--divider{margin:12px 0 28px}.empty-state{border:2px dashed var(--parchment-edge);text-align:center;padding:clamp(28px,6vw,72px) 16px}.empty-state p{max-width:560px;margin:12px auto 0}.meta{color:var(--ink-soft);font-size:22px}.tag-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tag-list li,.status-badge{border:2px solid var(--green-dark);background:var(--green-light);box-shadow:inset 0 2px #d2df9d, 0 2px var(--wood-shadow);color:var(--green-dark);font-family:var(--font-body);text-transform:uppercase;padding:6px 9px;font-size:21px;line-height:.9}.topic-filter{border:2px solid var(--green-dark);background:var(--green);box-shadow:inset 0 2px #bbd787, 0 2px var(--wood-shadow);color:#fff0cb;font-family:var(--font-body);text-shadow:1px 1px var(--green-dark);text-transform:uppercase;padding:9px 14px;font-size:24px;line-height:.85}.topic-filter[data-active=true]{border-color:var(--wood-dark);background:var(--gold);box-shadow:inset 0 2px #fff0a0, 0 2px var(--wood-shadow);color:var(--wood-dark);text-shadow:none}@media (width<=560px){.portfolio-page{padding-inline:8px}.portfolio-frame .frame-surface{padding-inline:16px}}
