@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-vietnamese-400-normal-D0VnvwZ9.woff2) format("woff2"),url(/assets/vt323-vietnamese-400-normal-D_5Q7Vcv.woff) format("woff")}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-400-normal-wDgJuOC9.woff2) format("woff2"),url(/assets/vt323-latin-400-normal-Dqn9ZSPj.woff) format("woff")}:root{--bg: #14121a;--bg-2: #1c1a24;--ink: #efe6cf;--muted: #a39a86;--gold: #e8b64c;--seam: #7fd1c7;--frame: url(/ui/frame-veyrn.svg);font-family:VT323,monospace;font-size:22px;line-height:1.25;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;overflow-x:clip}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.skip-link{position:fixed;top:-100px;left:12px;z-index:100;padding:12px;background:var(--bg)}.skip-link:focus{top:12px}img,.pixel{image-rendering:pixelated}a{color:var(--gold);text-decoration:none}a:hover{color:#fff0c7}h2{font-size:40px;font-weight:400;color:var(--gold);margin:0 0 14px;text-align:center}h3{font-size:26px;font-weight:400;margin:0 0 4px}p{margin:0 0 8px}.muted{color:var(--muted)}main>section{max-width:1120px;margin:0 auto;padding:44px 20px}.frame{border:solid transparent;border-width:16px 20px 20px 16px;border-image:var(--frame) 16 20 20 16 fill / 16px 20px 20px 16px stretch;padding:4px 6px}.btn{display:inline-block;padding:4px 18px;font:inherit;font-size:26px;color:var(--ink);background:none;border:solid transparent;border-width:10px 10px 12px;border-image:url(/ui/button-veyrn.svg) 10 10 12 fill / 10px 10px 12px stretch;cursor:pointer}.btn:hover{color:#fffaf0;border-image-source:url(/ui/button-veyrn-hover.svg)}.btn:active{border-image-source:url(/ui/button-veyrn-pressed.svg)}.btn.gold{color:#fff0c7;border-image-source:url(/ui/button-veyrn-gold.svg)}.btn.gold:hover{border-image-source:url(/ui/button-veyrn-gold-hover.svg)}.btn.gold:active{border-image-source:url(/ui/button-veyrn-gold-pressed.svg)}.btn.disabled{color:var(--muted);cursor:default;filter:grayscale(1)}html{scroll-behavior:smooth}section[id]{scroll-margin-top:60px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:24px;padding:8px 20px;background:#1c1a24e6;border-bottom:4px solid #0b0a0f}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:28px}.site-header nav{display:flex;gap:20px;margin-left:auto;flex-wrap:wrap}.site-header nav a{color:var(--ink)}.site-header nav a:hover,.site-header .nav-cta{color:var(--gold)}.lang-pick{display:flex}.nav-toggle{display:none;width:44px;height:40px;padding:0;background:#0b0a0f;border:2px solid #3a3446;cursor:pointer}.nav-toggle span{display:block;width:20px;height:4px;margin:0 auto;background:var(--ink);box-shadow:0 -7px 0 var(--ink),0 7px 0 var(--ink)}.nav-toggle.open span{background:var(--gold);box-shadow:0 -7px 0 var(--gold),0 7px 0 var(--gold)}.lang-pick a{font:inherit;padding:0 8px;color:var(--muted);background:#0b0a0f;border:2px solid #3a3446;cursor:pointer}.lang-pick a.on{color:var(--bg);background:var(--gold);border-color:var(--gold)}.lang-pick a{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px}.archive-link{text-align:center;margin:20px 0}.content-page h1{font-size:clamp(30px,5vw,48px);font-weight:400;color:var(--gold);line-height:1.15}.content-page h2{text-align:left;font-size:30px;margin:16px 0 10px}.content-page p{line-height:1.5}.content-page .news{max-width:none}.content-page .skill-list{margin:16px 0}.content-page .article-body{max-width:860px;margin:0 auto}.article-body>p{white-space:pre-line;margin-top:16px}.breadcrumbs{margin-bottom:20px}.branch-links,.related-links{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0}.related-links{border-top:2px solid #3a3446;padding-top:20px}.related-links a{flex:1 1 240px}.class-branch{margin:28px 0}.page-download{margin-top:40px}.page-download h2{text-align:center}.content-page{overflow-wrap:anywhere}.scene-picture{position:relative;overflow:hidden;margin:16px auto 0;border:4px solid #0b0a0f;box-shadow:6px 6px #0b0a0f;background:#0b0a0f}.scene-picture img{position:absolute;top:0;max-width:none}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.gallery-shot{margin:0;display:flex;flex-direction:column;align-items:center}.gallery-shot .scene-picture{margin-top:0}.gallery-shot figcaption{margin-top:6px;text-align:center}@media(max-width:1040px){.gallery{grid-template-columns:minmax(0,1fr)}}.trailer-frame{max-width:960px;margin:0 auto;aspect-ratio:16 / 9;border:4px solid #0b0a0f;box-shadow:6px 6px #0b0a0f;background:#0b0a0f}.trailer-frame iframe{display:block;width:100%;height:100%;border:0}.trailer-other{text-align:center;margin-top:12px}.hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.hero-title{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;margin:0;font:inherit}.hero-logo{max-width:100%;height:auto}.hero p{margin:0}.tagline{font-size:30px;max-width:760px}.downloads{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 16px;max-width:960px;margin:16px auto 0}.download{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:300px;text-align:center}.download .btn{white-space:nowrap;font-size:23px;padding:4px 10px}.download small{color:var(--muted);font-size:18px}.download-section{text-align:center}.install{max-width:760px;margin:20px auto 0;text-align:left}.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}.grid.four{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr))}.grid.three{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr))}.lead{text-align:center;max-width:760px;margin:0 auto 18px}.stats{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:20px;padding:0;margin:0 0 20px}.stats li{display:flex;flex-direction:column;align-items:center}.stats b{font-size:44px;font-weight:400;color:var(--seam)}.branches-title{margin:12px 0 0;color:var(--muted)}.branches{list-style:none;display:flex;justify-content:space-around;gap:4px;padding:10px 0 0;margin:6px 0 0;color:var(--gold);background:#0b0a0f;border-top:4px solid var(--accent)}.branches li{display:flex;flex-direction:column;align-items:center;gap:12px;padding-bottom:6px;text-align:center;line-height:1}.beast{margin:0;display:flex;flex-direction:column;align-items:center}.beast-stage{height:150px;display:flex;align-items:flex-end;justify-content:center}.sprite{background-repeat:no-repeat}.beast-sprite{position:relative;cursor:pointer}.beast figcaption{display:flex;flex-direction:column;align-items:center;margin-top:8px}.contact{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:640px;margin:0 auto;text-align:center}.contact-link{font-size:26px;color:var(--gold);word-break:break-all}.news{display:flex;flex-direction:column;gap:12px;max-width:860px;margin:0 auto}.gallery-more{align-self:center}.gallery-more{display:block;margin:16px auto 0}.site-footer{padding:20px;text-align:center;background:var(--bg-2);border-top:4px solid #0b0a0f}.site-footer nav{display:flex;justify-content:center;gap:24px;margin-bottom:8px}.backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;background:var(--bg)}.backdrop img{position:absolute;max-width:none}.hero-section{min-height:calc(100vh - 52px);min-height:calc(100svh - 52px);display:flex;align-items:center;justify-content:center;padding-top:48px;padding-bottom:48px}.hero-slab{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 28px;margin-top:4px;background-color:#14121af0}.hero-party{display:flex;align-items:flex-end;justify-content:center;gap:36px;margin-top:4px}.scroll-hint{position:relative;margin-top:18px;color:var(--gold);font-size:24px;text-shadow:2px 2px 0 #0b0a0f;animation:bob 1.2s ease-out infinite alternate}@keyframes bob{0%{top:0}to{top:6px}}@media(prefers-reduced-motion:reduce){.scroll-hint{animation:none}}.figure{position:relative;display:flex;justify-content:center}.figure .sprite{position:relative;z-index:1;flex:none}.figure:before,.figure:after{content:"";position:absolute;left:0;right:0;margin:0 auto;background:#0b0a0f80}.figure:after{bottom:calc(var(--s) * -1);width:calc(var(--s) * 12);height:calc(var(--s) * 2)}.figure:before{bottom:calc(var(--s) * -2);width:calc(var(--s) * 8);height:var(--s)}h2:before,h2:after{content:"";display:inline-block;width:4px;height:4px;margin:0 44px;vertical-align:middle;background:var(--gold);box-shadow:4px 0 0 var(--gold),-4px 0 0 var(--gold),0 4px 0 var(--gold),0 -4px 0 var(--gold),8px 0 #8a6a2a,-8px 0 #8a6a2a,0 8px #8a6a2a,0 -8px #8a6a2a,16px 0 #5a4520,-16px 0 #5a4520,24px 0 #5a4520,-24px 0 #5a4520}h2{text-shadow:3px 3px 0 #0b0a0f}.stats li{min-width:150px;padding:4px 16px 6px;background:#0b0a0f;border:4px solid #3a3446;box-shadow:6px 6px #0b0a0f}.grid>.frame{position:relative;top:0;transition:top .12s ease-out}.grid>.frame:hover{top:-4px}.class-stage{height:150px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:12px;margin-bottom:12px;background:#0b0a0f;border-bottom:4px solid var(--accent)}main>section:not(.hero-section){background:#14121af0;border-left:4px solid #0b0a0f;border-right:4px solid #0b0a0f}main>section:not(.hero-section):nth-of-type(odd){background:#1c1a24f0}@media(max-width:960px){.site-header nav{display:none}.site-header nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;margin:0;padding:4px 0;background:#1c1a24f7;border-bottom:4px solid #0b0a0f}.site-header nav.open a{padding:10px 20px;font-size:24px}.site-header nav.open a+a{border-top:2px solid #2a2634}.lang-pick{margin-left:auto}.nav-toggle{display:block}}@media(max-width:720px){:root{font-size:20px}main>section{padding:32px 16px}.site-header{gap:12px;padding:8px 16px}.site-header nav.open a{padding:10px 16px}.brand{font-size:24px}h2{font-size:36px}.tagline{font-size:24px}.hero-party{gap:12px}.hero-slab{padding:12px 10px}.btn{font-size:22px;padding:4px 12px}.downloads,.stats{gap:16px}.stats li{min-width:130px;padding:4px 12px 8px}.stats b{font-size:42px}.site-footer{padding:16px}.site-footer nav{flex-wrap:wrap;gap:12px 20px}.signup-row{flex-direction:column}.signup .signup-title{font-size:28px}.download{width:100%;max-width:360px}h2:before,h2:after{margin:0 32px;box-shadow:4px 0 0 var(--gold),-4px 0 0 var(--gold),0 4px 0 var(--gold),0 -4px 0 var(--gold)}}@media(max-width:620px){.hero-logo{width:288px;height:111px}}@media(max-width:420px){h2{font-size:32px}h2:before,h2:after{display:none}.brand span{font-size:22px}}.field-form{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:14px;padding:18px 20px}.field-form label{display:flex;flex-direction:column;gap:4px}.field-form label.check{flex-direction:row;align-items:flex-start;gap:10px}.field-form label.check input{width:20px;height:20px;margin:3px 0 0;flex:none;accent-color:var(--gold)}.field-form input:not([type=checkbox]){min-height:44px;padding:2px 10px;font:inherit;color:var(--ink);background:none;border:10px solid transparent;border-image:url(/ui/field-veyrn.svg) 10 fill / 10px stretch}.field-form input:not([type=checkbox]):hover{border-image-source:url(/ui/field-veyrn-hover.svg)}.field-form input:not([type=checkbox]):focus{outline:none;border-image-source:url(/ui/field-veyrn-focus.svg)}.field-form .btn{align-self:center}.content-page:has(.field-form) :is(h1,.breadcrumbs){text-align:center}.field-form .btn:disabled{color:var(--muted);cursor:default;filter:grayscale(1)}.field-form .error{color:#f08a7a;margin:0}.danger-note{margin:0;padding:8px 12px;color:#ffd2c8;background:#781e1859;border-left:4px solid #d0503c}.btn.danger{color:#ffe1da;border-image-source:url(/ui/button-veyrn-gold.svg);filter:hue-rotate(-38deg) saturate(1.3) brightness(.85)}.btn.danger:hover:not(:disabled){filter:hue-rotate(-38deg) saturate(1.4) brightness(1)}.btn.danger:disabled{filter:grayscale(1)}.delete-help{padding-top:12px;border-top:2px solid #2a2634;font-size:20px}.delete-help p{margin:0 0 6px}.delete-done{align-items:center;text-align:center}.field-form{text-align:left}.field-form h3{margin:0;text-align:center}.field-form .trap{position:absolute;left:-9999px}.signup{width:100%;max-width:620px;display:flex;flex-direction:column;gap:10px;margin-top:10px;padding-top:16px;border-top:2px solid #2a2634;text-align:left;scroll-margin-top:80px}.signup .signup-title{margin:0;font-size:32px;text-align:center}.signup .signup-title:before,.signup .signup-title:after{margin:0 20px}.signup-lead{text-align:center}.signup-row{display:flex;gap:10px;align-items:stretch}.signup-field{flex:1;display:flex}.signup-field input{flex:1;min-width:0;min-height:48px;padding:2px 10px;font:inherit;color:var(--ink);background:none;border:10px solid transparent;border-image:url(/ui/field-veyrn.svg) 10 fill / 10px stretch}.signup-field input::placeholder{color:#6e6680}.signup-field input:hover{border-image-source:url(/ui/field-veyrn-hover.svg)}.signup-field input:focus{outline:none;border-image-source:url(/ui/field-veyrn-focus.svg)}.signup .btn{flex:none}.signup .btn:disabled{color:var(--muted);cursor:default;filter:grayscale(1)}.signup .check{display:flex;align-items:flex-start;gap:10px;font-size:20px}.signup .check input{width:20px;height:20px;margin:3px 0 0;flex:none;accent-color:var(--gold)}.signup .error{color:#f08a7a;margin:0}.signup-note{margin:0;color:var(--muted);font-size:18px;text-align:center}.signup .trap{position:absolute;left:-9999px}.signup-done{text-align:center}.hero-download{margin-top:4px;font-size:22px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.class-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:960px){.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.class-grid{grid-template-columns:minmax(0,1fr)}}.frame h2:before,.frame h2:after,.content-page h2:before,.content-page h2:after{display:none}.content-page .page-download h2:before,.content-page .page-download h2:after{display:inline-block}.content-page .frame h2{font-size:28px;margin:6px 0 8px}.content-page .news .frame h2{text-align:left}.content-page .grid .frame h2{text-align:left;margin-top:10px}.content-page.narrow>*{max-width:860px;margin-left:auto;margin-right:auto}.content-page.narrow .legal-page,.content-page.narrow .article-body{max-width:860px}.content-page .breadcrumbs{color:var(--muted)}.content-page h1{margin:0 0 20px}.content-page .lead{text-align:left;margin-left:0}.chips{gap:10px}.chips a{padding:2px 14px;background:#0b0a0f;border:2px solid #3a3446}.chips a:hover{border-color:var(--gold)}.content-page .related-links{gap:12px 24px}.site-footer{text-align:left;padding:40px 20px 24px}.footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 40px;max-width:1100px;margin:0 auto}.footer-columns h3{margin:0 0 14px;font-size:24px;color:var(--text, #ece6d6)}.footer-columns ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.footer-columns a{color:var(--muted, #a4a3b6);text-decoration:none}.footer-columns a:hover{color:var(--gold)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1100px;margin:28px auto 0;padding-top:18px;border-top:2px solid #2a2836}.footer-bottom p{margin:0}.footer-bottom a{color:inherit}.footer-bottom .footer-mail{color:var(--gold)}.footer-logo img{display:block}.legal-page{text-align:left;max-width:820px;margin:0 auto}.legal-page h2{font-size:24px;margin:22px 0 8px}.legal-page h2:before,.legal-page h2:after{display:none}@media(max-width:720px){.footer-columns{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column;align-items:flex-start}}.site-footer .footer-columns nav{display:block;margin:0}.skill-tree{display:flex;flex-direction:column;align-items:center;max-width:960px;margin:0 auto}.st-stem{width:2px;height:28px;background:var(--gold);flex-shrink:0}.st-elbow{position:relative;width:100%;height:28px;flex-shrink:0}.st-elbow__down,.st-elbow__across{position:absolute;background:var(--gold)}.st-elbow__down{width:2px;margin-left:-1px;height:14px}.st-elbow__down--top{top:0}.st-elbow__down--bottom{top:14px}.st-elbow__across{top:13px;height:2px;margin-left:-1px}.st-gap{height:28px;flex-shrink:0}.st-tier{display:flex;justify-content:center}.st-fork{display:flex;justify-content:center;gap:0;width:100%}.st-arm{flex:1;max-width:200px;display:flex;flex-direction:column;align-items:center;position:relative;padding-top:28px}.st-arm:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold)}.st-arm:first-child:before{left:50%}.st-arm:last-child:before{right:50%}.st-arm:only-child:before{display:none}.st-arm:after{content:"";position:absolute;top:0;left:50%;margin-left:-1px;width:2px;height:28px;background:var(--gold)}.st-node{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 16px;font:inherit;text-align:center;color:var(--ink);background:#0b0a0f;border:2px solid #3a3446;cursor:pointer;transition:border-color .12s ease-out,background .12s ease-out;position:relative;white-space:nowrap}.st-node:hover{border-color:#5a4a6a;background:#1a1826}.st-node.active{border-color:var(--node-accent, var(--gold));background:#1a1826}.st-node--novice{cursor:default;border-color:var(--gold);background:#1a1826}.st-node--novice:hover{background:#1a1826;border-color:var(--gold)}.st-node__name{font-size:24px;line-height:1}.st-node__level{font-size:18px;color:var(--muted);line-height:1}.st-node__tag{font-size:16px;color:var(--seam);line-height:1;margin-top:2px}.st-node--class.active{box-shadow:0 3px 0 0 var(--node-accent, var(--gold))}.st-detail{max-width:860px;width:100%;display:flex;flex-direction:column;gap:16px}.st-detail__title{font-size:30px;font-weight:400;margin:0}.st-detail__subtitle{font-size:22px;font-weight:400;margin:0;color:var(--gold)}.st-detail__desc{margin:0;color:var(--muted)}.st-detail__box{margin:0}.st-detail__box h5{margin:0 0 4px;font-size:22px;font-weight:400;color:var(--gold)}.st-detail__box p{margin:0}.skill-list{display:flex;flex-direction:column;gap:10px}.skill-card{display:flex;gap:12px;padding:8px 12px;background:#0b0a0f;border:2px solid #3a3446}.skill-card:hover{border-color:#5a4a6a}.skill-icon{flex-shrink:0;align-self:flex-start;margin-top:2px}.skill-body{flex:1;min-width:0}.skill-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:2px}.skill-name{font-size:24px;color:var(--ink)}.skill-level{font-size:20px;color:var(--muted);white-space:nowrap}.skill-desc{margin:0 0 4px;font-size:20px;color:var(--muted);line-height:1.2}.skill-stats{display:flex;gap:16px;font-size:20px;color:var(--seam)}@media(max-width:720px){.skill-tree{align-items:stretch}.st-stem,.st-elbow{display:none}.st-tier--root{justify-content:center;margin-bottom:12px}.st-fork{flex-direction:column;gap:0;margin-left:20px}.st-arm{padding-top:0;padding-bottom:6px;padding-left:24px;max-width:none;flex:none}.st-arm:before{top:0;left:0;right:auto;width:2px;height:calc(100% + 6px);background:var(--gold);margin-left:0}.st-arm:first-child:before{left:0}.st-arm:last-child:before{right:auto;height:50%}.st-arm:after{top:50%;left:0;width:24px;height:2px;margin-left:0;margin-top:-1px;background:var(--gold)}.st-fork--branches{margin-left:32px;margin-top:8px}.st-node{padding:6px 12px;width:100%;white-space:normal}.st-node__name{font-size:22px}.st-node__level{font-size:16px}.st-node--novice{width:auto;margin:0 auto}.st-node--class.active{box-shadow:none}.st-detail{margin-top:12px}.skill-icon{width:32px;height:32px}.skill-name{font-size:22px}.skill-desc,.skill-stats{font-size:18px}}
