@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/alegreya-sans-400-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:Alegreya Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/alegreya-sans-400-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:Alegreya Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/alegreya-sans-500-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:Alegreya Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/alegreya-sans-500-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:Alegreya Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/alegreya-sans-700-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:Alegreya Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/alegreya-sans-700-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:"Jersey 10";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jersey-10-400-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:"Jersey 10";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jersey-10-400-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:Pixelify Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/pixelify-sans-700-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:Pixelify Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/pixelify-sans-700-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:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/vt323-400-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:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/vt323-400-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{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--night:#0b1220;--night-hi:#16233b;--wall:#1a1d24;--panel:#1d2028;--well:#13151b;--stone:#3a3e47;--stone-hi:#5a5f6b;--stone-lo:#22252c;--crimson:#8a2128;--crimson-hi:#b33a3f;--crimson-lo:#4f1217;--gold:#d9a441;--gold-hi:#f2cf72;--gold-lo:#8a6424;--parch:#e8d6a8;--parch-lo:#bfa877;--arcane:#7fe0e6;--arcane-lo:#2fa6b0;--ink:#ece3cf;--ink-dim:#b3a990;--ink-dark:#2a1a0e;--ink-brown:#6b4a22;--f-display:"Jersey 10", "VT323", ui-monospace, monospace;--f-brand:"Pixelify Sans", "Jersey 10", ui-monospace, monospace;--f-body:"Alegreya Sans", "Segoe UI", system-ui, sans-serif;--f-num:"VT323", ui-monospace, "Cascadia Mono", monospace;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--bar-h:64px}*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--wall);scroll-behavior:smooth;overflow-x:clip}body{color:var(--ink);font:400 17px/1.55 var(--f-body);background-color:var(--wall);background-image:var(--art-ashlar,none);background-size:192px 96px;margin:0;overflow-x:clip}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(85% 75% at 50% 40%,#0000 45%,#04060c99 100%);position:fixed;inset:0}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}a{color:var(--gold-hi)}.px{image-rendering:pixelated;display:block}.wrap{max-width:1120px;margin:0 auto;padding-inline:16px}.ic:before{content:"";background:var(--icon,none) center / contain no-repeat;width:24px;height:24px;image-rendering:pixelated;flex:none}.top{top:env(safe-area-inset-top,0px);z-index:30;height:var(--bar-h);background:var(--night);box-shadow:0 2px 0 var(--gold-lo), 0 4px 0 #000, 0 9px 0 #00000059;position:sticky}.top-inner{align-items:center;gap:var(--s4);max-width:1180px;height:100%;margin:0 auto;padding-inline:16px;display:flex}.brand{background:var(--art-anvil,none) center / contain no-repeat;width:52px;height:28px;image-rendering:pixelated;filter:drop-shadow(2px 3px #0009);flex:none;display:block}.nav{gap:2px;margin-left:auto;display:flex}.nav a{font:400 23px/1 var(--f-display);color:var(--parch);letter-spacing:.02em;padding:8px 10px;text-decoration:none;box-shadow:inset 0 -3px #0000}.nav a:hover{color:var(--gold-hi);box-shadow:inset 0 -3px 0 var(--crimson-hi)}.lang{gap:4px;display:flex}.top .menu-btn{display:none}.tool{justify-content:center;align-items:center;gap:var(--s2);cursor:pointer;height:40px;font:400 21px/1 var(--f-display);color:var(--ink);background:var(--well);border:2px solid var(--stone-hi);box-shadow:inset 0 -3px 0 var(--stone-lo);white-space:nowrap;padding:0 14px;text-decoration:none;display:inline-flex}.tool:hover{border-color:var(--parch-lo)}.tool[aria-pressed=true]{border-color:var(--gold);color:var(--gold-hi);box-shadow:inset 0 -3px 0 var(--gold-lo)}.tool[aria-pressed=false]{color:var(--ink-dim)}.tool-gold{color:var(--gold-hi);border-color:var(--gold);background:#241a0e}.lang .tool{height:34px;padding:0 9px;font-size:20px}.btn-main{cursor:pointer;white-space:nowrap;height:50px;font:400 27px/1 var(--f-display);color:#f7ecd8;letter-spacing:.03em;text-shadow:2px 2px 0 var(--crimson-lo);background:var(--crimson);border:3px solid var(--gold);box-shadow:inset 0 4px 0 var(--crimson-hi), inset 0 -5px 0 var(--crimson-lo), 0 0 0 2px #000, 0 5px 0 #0008;justify-content:center;align-items:center;gap:10px;padding:0 18px;text-decoration:none;display:inline-flex}.btn-main:hover{filter:brightness(1.1)}.btn-main:active{box-shadow:inset 0 4px 0 var(--crimson-hi), inset 0 -3px 0 var(--crimson-lo), 0 0 0 2px #000, 0 3px 0 #0008;transform:translateY(2px)}.ribbon{font:400 clamp(27px, 3vw, 32px)/1 var(--f-display);letter-spacing:.03em;color:var(--gold-hi);text-shadow:2px 2px 0 var(--crimson-lo);background:var(--crimson);box-shadow:inset 0 3px 0 var(--crimson-hi), inset 0 -4px 0 var(--crimson-lo), inset 0 0 0 1px #0006, 0 0 0 2px #000, 4px 6px 0 #0008;align-items:center;gap:10px;margin:0 30px;padding:9px 22px 11px;display:inline-flex;position:relative}.ribbon .ic{align-items:center;gap:10px;display:inline-flex}.ribbon:before,.ribbon:after{content:"";z-index:-1;background:linear-gradient(var(--crimson-lo), #3a0d11);width:40px;position:absolute;top:12px;bottom:-12px}.ribbon:before{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,14px 50%);left:-30px}.ribbon:after{clip-path:polygon(0 0,100% 0,calc(100% - 14px) 50%,100% 100%,0 100%);right:-30px}.vista{background:#0b1426;height:clamp(360px,44vw,580px);position:relative;overflow:hidden}.vista canvas{object-fit:cover;object-position:50% 100%;width:100%;height:100%;position:absolute;inset:0}.vista-title{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:22px;padding:clamp(44px,7.5vw,100px) 16px 0;display:flex;position:relative}.vista .ribbon{font:700 clamp(22px, 5.4vw, 64px)/1 var(--f-brand);white-space:nowrap;text-shadow:3px 3px 0 var(--crimson-lo), -1px -1px 0 #f7dc8f55;margin:0 44px;padding:12px clamp(16px,3.4vw,40px) 16px}.vista .ribbon:before,.vista .ribbon:after{width:56px;top:16px;bottom:-16px}.vista .ribbon:before{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,18px 50%);left:-44px}.vista .ribbon:after{clip-path:polygon(0 0,100% 0,calc(100% - 18px) 50%,100% 100%,0 100%);right:-44px}.vista .ribbon .nick{color:var(--parch)}.vista-title p{font:400 clamp(18px, 2.2vw, 25px)/1.15 var(--f-display);color:var(--parch);letter-spacing:.03em;text-shadow:2px 2px #000;text-wrap:balance;background:#080d1a8c;margin:0;padding:4px 12px}.panel{background:var(--panel);border:4px solid;border-color:var(--stone-hi) var(--stone) var(--stone-lo) var(--stone);min-width:0;box-shadow:inset 0 0 0 2px var(--stone-lo), inset 0 0 0 3px var(--gold-lo), 0 0 0 2px #000b, 6px 8px 0 #0008;padding:clamp(18px,2.4vw,28px);position:relative}.corner{pointer-events:none;z-index:2;background:var(--art-corner,none) center / contain no-repeat;width:18px;height:18px;image-rendering:pixelated;position:absolute}.corner.tl{top:-8px;left:-8px}.corner.tr{top:-8px;right:-8px;transform:scaleX(-1)}.corner.bl{bottom:-8px;left:-8px;transform:scaleY(-1)}.corner.br{bottom:-8px;right:-8px;transform:scale(-1)}.hero{gap:var(--s5);grid-template-columns:minmax(240px,330px) minmax(0,1fr);margin-top:40px;display:grid}.portrait{align-items:center;gap:var(--s3);flex-direction:column;margin:0;padding:14px;display:flex}.frame{aspect-ratio:64/80;width:100%;box-shadow:0 0 0 2px #000, 0 0 0 4px var(--gold-lo);background:#0b1426;position:relative}.frame>*{width:100%;height:100%;position:absolute;inset:0}.frame img{object-fit:cover;image-rendering:auto}.frame.turning{animation:.44s steps(6,end) turn}@keyframes turn{0%{transform:scaleX(1)}50%{transform:scaleX(0)}to{transform:scaleX(1)}}.portrait figcaption{font:400 20px/1.1 var(--f-display);color:var(--ink-dim);text-align:center}.flip{width:48px;height:48px;padding:0}.flip:before{content:"";background:var(--art-turn,none) center / contain no-repeat;width:32px;height:32px;image-rendering:pixelated}.flip:hover{border-color:var(--arcane-lo)}.flip.spin:before{animation:.44s steps(8,end) spin}@keyframes spin{to{transform:rotate(360deg)}}.sheet{gap:var(--s4);flex-direction:column;display:flex}.sheet-class{flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.sheet-class strong{font:400 clamp(29px, 3.4vw, 37px)/1 var(--f-display);color:var(--gold-hi);letter-spacing:.02em}.sheet-class span{font:400 20px/1.1 var(--f-display);color:var(--ink-dim)}.sheet-summary{text-wrap:pretty;max-width:62ch;margin:0;font-size:19px;line-height:1.5}.rule{background:var(--art-rule,linear-gradient(var(--gold-lo), var(--gold-lo))) repeat-x center / auto 4px;border:0;height:4px;margin:0}.stats{gap:var(--s3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stat{min-width:0;color:inherit;background:var(--well);border:2px solid var(--stone-hi);flex-direction:column;gap:4px;padding:10px 12px 12px;text-decoration:none;display:flex;position:relative;box-shadow:inset 0 3px #0009}.stat b{font:400 40px/1 var(--f-num);color:var(--gold-hi);font-variant-numeric:tabular-nums}.stat span{color:var(--ink-dim);padding-right:14px;font-size:14.5px;line-height:1.3}a.stat:after{content:"›";font:400 26px/1 var(--f-display);color:var(--arcane-lo);position:absolute;top:6px;right:10px}a.stat:hover{border-color:var(--arcane);transform:translateY(-2px);box-shadow:inset 0 3px #0009,0 4px #0008}a.stat:hover:after{color:var(--arcane)}.traits{grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;margin:0;display:grid}.traits dt{font:400 21px/1.2 var(--f-display);color:var(--gold-hi)}.traits dd{margin:0;font-size:16.5px;line-height:1.45}.actions{margin-top:var(--s1);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.actions .tool{height:50px;padding:0 16px;font-size:24px}.section{scroll-margin-top:calc(var(--bar-h) + 24px);margin-top:84px}.head{z-index:0;flex-wrap:wrap;align-items:center;gap:14px 6px;margin-bottom:30px;display:flex;position:relative}.flavor{font:400 22px/1 var(--f-display);color:var(--ink-dim);letter-spacing:.04em}.subhead{align-items:center;gap:var(--s2);font:400 27px/1 var(--f-display);color:var(--parch);margin:0 0 18px;display:flex}.about{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);align-items:start;gap:clamp(20px,3vw,40px);display:grid}.about-text p{text-wrap:pretty;max-width:64ch;margin:0 0 1em}.about-text p:last-child{margin-bottom:0}.note{color:var(--ink-dark);background-color:var(--parch);background-image:radial-gradient(ellipse at 50% 45%, transparent 55%, #7a522247 100%), var(--art-parchment,none);image-rendering:pixelated;background-size:100% 100%,96px 48px;border:2px solid #7a5a2e;padding:22px 20px 18px;position:relative;transform:rotate(.6deg);box-shadow:inset 0 0 0 2px #f6ead0,inset 0 -4px #b39461,4px 6px #0008}.note h3{font:400 25px/1 var(--f-display);color:var(--crimson-lo);margin:0 0 12px;padding-right:40px}.note dl{gap:9px;margin:0;display:grid}.note dt{font:400 18px/1 var(--f-display);color:var(--ink-brown);letter-spacing:.03em}.note dd{margin:2px 0 0;font-size:16px;line-height:1.4}.seal{background:var(--art-seal,none) center / contain no-repeat;width:36px;height:36px;image-rendering:pixelated;position:absolute;top:12px;right:14px}.skills{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px;display:grid}.skill{grid-template-columns:58px minmax(0,1fr);align-items:start;gap:16px;display:grid}.slot{background:var(--well);border:2px solid var(--gold-lo);place-items:center;width:58px;height:58px;display:grid;box-shadow:inset 0 3px #000a,inset 0 0 0 2px #0006,0 0 0 2px #000}.slot i{background:var(--icon,none) center / contain no-repeat;width:34px;height:34px;image-rendering:pixelated}.skill h3{font:400 24px/1 var(--f-display);color:var(--gold-hi);letter-spacing:.02em;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:2px 0 10px;display:flex}.skill h3 small{font:400 18px/1 var(--f-display);color:var(--ink-dim)}.chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip{font:500 15px/1.3 var(--f-body);color:var(--ink);background:var(--well);border:2px solid var(--stone);padding:4px 10px}.chip.hi{border-color:var(--gold-lo);color:var(--gold-hi);background:#221a0f}.quests{gap:24px;margin:0;padding:0 0 0 56px;list-style:none;display:grid;position:relative}.quests:before{content:"";background:repeating-linear-gradient(to bottom, var(--parch-lo) 0 8px, transparent 8px 16px);filter:drop-shadow(2px 2px #000a);width:4px;position:absolute;top:10px;bottom:10px;left:21px}.quest{scroll-margin-top:calc(var(--bar-h) + 24px);padding:20px 22px}.quest:before{content:"";background:var(--art-flag,none) center / contain no-repeat;width:30px;height:42px;image-rendering:pixelated;filter:drop-shadow(2px 3px #00000080);position:absolute;top:12px;left:-54px}.quest.training:before{background-image:var(--art-flaggold,none)}.quest-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;display:flex}.quest h3{font:400 clamp(25px, 2.6vw, 29px)/1.05 var(--f-display);color:var(--parch);text-wrap:balance;margin:0}.period{font:400 23px/1 var(--f-num);color:var(--ink-dim);font-variant-numeric:tabular-nums;white-space:nowrap}.quest-org{flex-wrap:wrap;align-items:center;gap:6px 12px;margin:6px 0 0;display:flex}.quest-org strong{font:400 22px/1 var(--f-display);color:var(--gold-hi)}.quest-org span{color:var(--ink-dim);font-size:15px}.quest-org .grade{border:2px solid var(--gold);font:400 17px/1.1 var(--f-display);color:var(--gold-hi);background:#221a0f;align-items:baseline;gap:6px;padding:2px 9px;display:inline-flex}.grade b{font:400 21px/1 var(--f-num)}.ranks{flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.ranks li{font:400 18px/1 var(--f-display);align-items:center;gap:6px;display:inline-flex}.ranks li span{font:400 19px/1 var(--f-num);color:var(--ink-dim)}.ranks li+li:before{content:"»";color:var(--crimson-hi);margin-right:2px}.bullets{gap:4px;margin:12px 0 0;padding-left:1.15em;display:grid}.bullets li{max-width:75ch;font-size:16.5px;line-height:1.45}.bullets li::marker{color:var(--crimson-hi)}.cards{gap:24px;display:grid}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{scroll-margin-top:calc(var(--bar-h) + 24px);flex-direction:column;gap:12px;padding:24px 22px 22px;display:flex}.card:after{content:"";background:var(--crimson);width:18px;height:42px;box-shadow:inset 4px 0 0 var(--crimson-hi), inset -3px 0 0 var(--crimson-lo);clip-path:polygon(0 0,100% 0,100% 100%,50% 76%,0 100%);position:absolute;top:-6px;right:26px}.card.wide{grid-column:1/-1;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:26px;display:grid}.card-col{flex-direction:column;gap:12px;min-width:0;display:flex}.kicker{font:400 18px/1 var(--f-display);color:var(--ink-dim);letter-spacing:.04em;padding-right:40px}.card h3{font:400 clamp(28px, 2.8vw, 34px)/1 var(--f-display);color:var(--parch);margin:0;padding-right:40px}.card p{text-wrap:pretty;margin:0;font-size:16.5px;line-height:1.5}.card p.how{color:var(--ink);background:var(--well);border-left:4px solid var(--arcane-lo);padding:10px 12px;font-size:15.5px}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.metrics .stat b{font-size:34px}.card-foot{flex-wrap:wrap;align-items:center;gap:10px;margin-top:auto;padding-top:4px;display:flex}.private{color:var(--ink-dim);align-items:center;gap:8px;font-size:14.5px;display:inline-flex}.shot{image-rendering:auto;width:100%;height:auto;box-shadow:0 0 0 2px #000, 0 0 0 4px var(--gold-lo), 5px 7px 0 #0008;display:block}.card:target,.quest:target{animation:1.6s steps(4,end) summon}@keyframes summon{0%,60%{box-shadow:inset 0 0 0 2px var(--stone-lo), inset 0 0 0 3px var(--gold-lo), 0 0 0 4px var(--arcane), 6px 8px 0 #0008}}.gap{height:40px}.contact{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(20px,4vw,48px);display:grid}.raven-perch{width:clamp(96px,14vw,144px)}.raven-perch canvas{width:100%;height:auto}.contact-body{flex-direction:column;gap:16px;min-width:0;display:flex}.contact-body>p{max-width:56ch;margin:0;font-size:19px}.mail{flex-wrap:wrap;gap:10px;display:flex}.mail output{min-width:0;min-height:48px;font:400 18px/1.2 var(--f-body);background:var(--well);border:2px solid var(--stone-hi);-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;flex:260px;align-items:center;padding:0 14px;display:flex;box-shadow:inset 0 3px #0009}.mail .tool{height:48px}.links{flex-wrap:wrap;gap:10px;display:flex}.foot{margin-top:110px}.foot-text{text-align:center;padding-bottom:18px}.foot-text p{color:var(--ink-dim);margin:0;font-size:15px}.ramparts{aspect-ratio:256/48;min-height:120px;position:relative;overflow:hidden}.ramparts canvas{object-fit:cover;object-position:50% 100%;width:100%;height:100%;position:absolute;inset:0}@media (max-width:1000px){.cards.three{grid-template-columns:repeat(2,minmax(0,1fr))}.cards.three .card:last-child{grid-column:1/-1}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.hero{grid-template-columns:1fr}.portrait{justify-self:center;width:100%;max-width:360px}.about,.card.wide,.skills{grid-template-columns:1fr}.nav{display:none}.top .menu-btn{margin-left:auto;display:inline-flex}.nav.open{top:calc(var(--bar-h) + 6px);background:var(--panel);border:4px solid var(--stone);flex-direction:column;padding:8px;display:flex;position:absolute;left:16px;right:16px;box-shadow:0 0 0 2px #000b,6px 8px #0008}.nav.open a{padding:12px}.vista canvas{object-position:82% 100%}}@media (max-width:640px){.cards.three{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr 1fr}.contact{grid-template-columns:1fr;justify-items:start}.quests{padding-left:44px}.quests:before{left:15px}.quest:before{width:26px;height:36px;left:-46px}.quest{padding:16px}.ribbon{margin:0 24px;padding-inline:16px}.ribbon:before{left:-24px}.ribbon:after{right:-24px}}@media (max-width:420px){.stat b{font-size:34px}.metrics{grid-template-columns:1fr}.actions .btn-main,.actions .tool{flex:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.frame.turning,.flip.spin:before,.card:target,.quest:target{animation:none}a.stat:hover{transform:none}}
