@font-face{font-family:HW Pixel;src:url(/gen/fonts/hw-pixel.ttf)format("truetype");font-display:block}@font-face{font-family:HW Micro;src:url(/gen/fonts/hw-micro.ttf)format("truetype");font-display:block}@font-face{font-family:HW Display;src:url(/gen/fonts/hw-display.ttf)format("truetype");font-display:block}:root{--ink:#0b0a12;--bg:#100e19;--panel:#1b1729;--panel-l:#2c2640;--panel-ll:#3d3558;--text:#f4efe4;--dim:#9d95b3;--gold:#f5b83d;--gold-d:#c27a1d;--hook:#3fe8d2;--hook-d:#1a9c9a;--war:#e0413f;--war-d:#8c1f2e;--grass:#62c95a;--px:"HW Pixel", ui-monospace, monospace;--micro:"HW Micro", ui-monospace, monospace;--disp:"HW Display", "HW Pixel", monospace;--body:ui-monospace, "SFMono-Regular", "Cascadia Mono", Menlo, Consolas, monospace;--top:56px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--px);-webkit-font-smoothing:none;font-smooth:never;image-rendering:pixelated;font-size:20px;line-height:1.2;overflow-x:hidden}a{color:var(--hook);text-decoration:none}a:hover{color:var(--text)}canvas,img{image-rendering:pixelated;image-rendering:crisp-edges}button{font:inherit;color:inherit}::selection{background:var(--hook);color:var(--ink)}.micro{font-family:var(--micro);font-size:16px}.micro1{font-family:var(--micro);font-size:8px}.px1{font-family:var(--px);font-size:10px}.px2{font-family:var(--px);font-size:20px}.px3{font-family:var(--px);font-size:30px}.px4{font-family:var(--px);font-size:40px}.disp2{font-family:var(--disp);font-size:24px}.disp3{font-family:var(--disp);font-size:36px}.disp4{font-family:var(--disp);font-size:48px}.body{font-family:var(--body);-webkit-font-smoothing:auto;font-size:14px;line-height:1.55}.dim{color:var(--dim)}.gold{color:var(--gold)}.hook{color:var(--hook)}.war{color:var(--war)}.grass{color:var(--grass)}.shadow{text-shadow:2px 2px 0 var(--ink)}.upper{text-transform:uppercase}.panel{border:2px solid var(--ink);box-shadow:inset 0 0 0 2px var(--panel-l), 4px 4px 0 #00000073;background:#1b1729f0;padding:14px;position:relative}.panel:before,.panel:after{content:"";background:var(--gold);width:4px;height:4px;position:absolute}.panel:before{top:4px;left:4px}.panel:after{bottom:4px;right:4px}.panel-title{font-family:var(--micro);color:var(--gold);letter-spacing:0;justify-content:space-between;align-items:center;gap:8px;margin:-4px 0 10px;font-size:16px;display:flex}.chip{font-family:var(--micro);background:var(--gold);color:var(--ink);vertical-align:middle;padding:2px 4px 1px;font-size:8px;display:inline-block}.chip.hook{background:var(--hook);color:var(--ink)}.chip.war{background:var(--war);color:var(--text)}.chip.dim{background:var(--panel-ll);color:var(--text)}.chip.big{padding:3px 6px 2px;font-size:16px}.mock{font-family:var(--micro);color:var(--ink);background:var(--dim);padding:2px 4px 1px;font-size:8px}.btn{font-family:var(--px);border:2px solid var(--ink);background:var(--panel-l);color:var(--text);cursor:pointer;white-space:nowrap;padding:8px 14px 6px;font-size:20px;transition:transform 50ms;box-shadow:inset 0 -4px #00000059,inset 0 2px #ffffff1f}.btn:hover{filter:brightness(1.15)}.btn:active{transform:translateY(2px);box-shadow:inset 0 -2px #00000059}.btn.gold{background:var(--gold);color:var(--ink)}.btn.hook{background:var(--hook);color:var(--ink)}.btn.war{background:var(--war)}.btn.ghost{box-shadow:inset 0 0 0 2px var(--panel-ll);background:0 0}.btn.sm{padding:5px 8px 4px;font-size:10px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.block{width:100%}.topbar{max-width:100vw;height:var(--top);z-index:50;background:linear-gradient(var(--ink), #0b0a12e0);border-bottom:2px solid var(--panel-l);align-items:center;gap:18px;padding:0 14px;display:flex;position:fixed;inset:0 0 auto;overflow:hidden}.brand{color:var(--text);align-items:center;gap:10px;display:flex}.brand img.icon{width:50px;height:50px;margin-top:-4px}.brand .wm{height:22px;display:block}.brand .motto{font-family:var(--micro);color:var(--dim);margin-top:4px;font-size:8px}.nav{gap:4px;margin-left:8px;display:flex}.nav a{font-family:var(--px);color:var(--dim);border:2px solid #0000;padding:8px 10px;font-size:10px}.nav a.active,.nav a:hover{color:var(--text);border-color:var(--panel-l);background:var(--panel)}.nav a.cta{color:var(--ink);background:var(--gold);border-color:var(--ink)}.nav a.cta:hover{filter:brightness(1.1)}.spacer{flex:1}.wallet{font-family:var(--px);font-size:10px}.mobile-nav{display:none}.world{position:fixed;inset:0}.world canvas.map{background:#132a4a;width:100%;height:100%;display:block}.hud{top:calc(var(--top) + 12px);z-index:5;width:220px;position:absolute;left:12px}.hud .row{justify-content:space-between;align-items:baseline;padding:3px 0;display:flex}.hud .big{font-size:20px}.hud-head{justify-content:space-between;margin-bottom:8px;font-size:20px;display:flex}.layers{z-index:5;flex-wrap:wrap;gap:4px;max-width:300px;display:flex;position:absolute;bottom:12px;left:12px}.zoom{z-index:5;flex-direction:column;gap:4px;display:flex;position:absolute;bottom:12px;right:12px}.feed{z-index:5;width:min(560px,100% - 640px);padding:10px 14px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.feed .ev{font-family:var(--micro);color:var(--text);white-space:nowrap;text-overflow:ellipsis;padding:3px 0;font-size:8px;overflow:hidden}.feed .ev .d{color:var(--dim);width:46px;display:inline-block}.peek{right:12px;top:calc(var(--top) + 12px);z-index:6;width:300px;max-height:calc(100% - var(--top) - 80px);position:absolute;overflow:auto}.tooltip{z-index:7;pointer-events:none;border:2px solid var(--panel-l);font-family:var(--micro);white-space:nowrap;background:#0b0a12eb;padding:6px 8px;font-size:8px;position:absolute}.minimap{z-index:5;width:176px;height:110px;padding:4px;position:absolute;bottom:12px;right:64px}.minimap canvas{cursor:pointer;width:100%;height:100%;display:block}.placing-banner{top:calc(var(--top) + 12px);z-index:8;text-align:center;position:absolute;left:50%;transform:translate(-50%)}.page{padding:calc(var(--top) + 24px) 24px 64px;max-width:1240px;margin:0 auto}.page h1{font-family:var(--disp);color:var(--gold);text-shadow:3px 3px 0 var(--war-d);margin:0 0 6px;font-size:36px}.page h2{font-family:var(--px);color:var(--text);margin:28px 0 12px;font-size:20px}.lede{color:var(--dim);max-width:760px}.grid{gap:14px;display:grid}.cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.two{grid-template-columns:1.35fr 1fr}.three{grid-template-columns:repeat(3,1fr)}.kcard{color:var(--text);padding:10px;display:block}.kcard:hover{box-shadow:inset 0 0 0 2px var(--gold), 4px 4px 0 #00000073;color:var(--text)}.kcard .sprite{border-bottom:2px solid var(--ink);background:linear-gradient(#171328,#24452f 70%,#1f3a28);justify-content:center;align-items:flex-end;height:80px;margin:-2px -2px 8px;display:flex}.stat{border-bottom:1px dashed var(--panel-l);justify-content:space-between;padding:4px 0;display:flex}.stat:last-child{border-bottom:0}.statgrid{grid-template-columns:auto 1fr auto;align-items:center;gap:8px 12px;display:grid}.statgrid .v{text-align:right;font-size:20px}.bar{background:var(--ink);border:2px solid var(--panel-l);height:10px;position:relative}.bar>i{background:var(--hook);position:absolute;inset:0 auto 0 0}.bar.war>i{background:var(--war)}.bar.gold>i{background:var(--gold)}.warbar{border:2px solid var(--ink);height:14px;display:flex}.warbar>i{height:100%;display:block}.filters{flex-wrap:wrap;gap:6px;margin:12px 0 16px;display:flex}.filters select,.filters input,.field input,.field select{font-family:var(--px);background:var(--ink);color:var(--text);border:2px solid var(--panel-l);padding:8px;font-size:10px}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{font-family:var(--micro);color:var(--dim);font-size:8px}.field input{font-size:20px}.tabs{flex-wrap:wrap;gap:4px;margin-bottom:12px;display:flex}.tabs button{font-family:var(--px);background:var(--panel);border:2px solid var(--panel-l);color:var(--dim);cursor:pointer;padding:7px 10px;font-size:10px}.tabs button.on{color:var(--ink);background:var(--gold);border-color:var(--ink)}.lb-row{border-bottom:1px dashed var(--panel-l);color:var(--text);grid-template-columns:34px 46px 1fr auto;align-items:center;gap:10px;padding:6px 8px;display:grid}.lb-row:hover{background:var(--panel-l);color:var(--text)}.hero{border:2px solid var(--ink);height:340px;box-shadow:inset 0 0 0 2px var(--panel-l);position:relative;overflow:hidden}.hero canvas{width:100%;height:100%;display:block}.hero .overlay{pointer-events:none;justify-content:space-between;align-items:flex-end;gap:12px;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.hero .overlay>*{pointer-events:auto}.toast{z-index:80;background:var(--ink);border:2px solid var(--hook);font-family:var(--micro);color:var(--hook);padding:10px 14px;font-size:16px;animation:.2s pop;position:fixed;bottom:16px;right:16px}@keyframes pop{0%{opacity:0;transform:translateY(8px)}}.steps{flex-wrap:wrap;gap:4px;margin:10px 0 18px;display:flex}.steps span{font-family:var(--micro);background:var(--panel);border:2px solid var(--panel-l);color:var(--dim);padding:6px 8px;font-size:8px}.steps span.on{background:var(--gold);color:var(--ink);border-color:var(--ink)}.steps span.done{color:var(--hook)}.choice{cursor:pointer;text-align:left;background:var(--panel);border:2px solid var(--panel-l);color:var(--text);font-family:var(--px);padding:10px;font-size:10px}.choice.on{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}.choice:hover{border-color:var(--panel-ll)}.swatch{border:2px solid var(--ink);cursor:pointer;width:28px;height:28px}.swatch.on{outline:2px solid var(--text);outline-offset:1px}.loading{background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}.loading .barwrap{border:2px solid var(--panel-l);background:var(--ink);width:260px;height:16px}.loading .barwrap i{background:var(--hook);height:100%;display:block}.code{font-family:var(--body);background:var(--ink);color:var(--hook);word-break:break-all;padding:2px 6px;font-size:12px}table.t{border-collapse:collapse;width:100%;font-family:var(--micro);font-size:8px}table.t th,table.t td{text-align:left;border-bottom:1px dashed var(--panel-l);padding:6px 8px}table.t th{color:var(--gold)}.footer{text-align:center;color:var(--dim);font-family:var(--micro);padding:30px 24px 90px;font-size:8px}@media (max-width:1100px){.nav a{padding:8px 6px}.feed{display:none}}@media (max-width:860px){:root{--top:52px}.nav{display:none}.wallet .btn{padding:5px 6px 4px;font-size:10px}.wallet .wl{display:none}.brand img.icon{width:40px;height:40px}.brand .wm{height:18px}.brand .motto{display:none}.mobile-nav{z-index:60;background:var(--ink);border-top:2px solid var(--panel-l);height:58px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav a{font-family:var(--micro);color:var(--dim);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:8px;display:flex}.mobile-nav a.active{color:var(--gold)}.mobile-nav a.cta{color:var(--ink);background:var(--gold)}.hud{width:168px;top:calc(var(--top) + 8px);padding:10px;left:8px}.hud .row .micro{font-size:8px}.hud-head,.hud .big{font-size:10px}.layers{max-width:60%;bottom:70px;left:8px}.zoom{bottom:70px;right:8px}.minimap{display:none}.peek{width:auto;max-height:52%;inset:auto 8px 66px}.page{padding:calc(var(--top) + 16px) 14px 90px}.two,.three{grid-template-columns:1fr}.page h1{font-size:24px}.hero{height:260px}.lb-row{grid-template-columns:26px 40px 1fr}.lb-row>:last-child{grid-column:3}.toast{bottom:72px;left:16px}}.modal-back{z-index:100;background:#0b0a12b8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{width:min(420px,100%);max-height:90vh;overflow:auto}.wallet-choice{align-items:center;gap:12px;width:100%;display:flex}.wallet-choice img{image-rendering:auto}.wallet-btn{align-items:center;gap:6px;display:inline-flex}.wallet-btn img{image-rendering:auto}.navtab{font-family:var(--px);color:var(--hook);border:2px solid var(--panel-l);cursor:pointer;white-space:nowrap;background:0 0;padding:8px 10px;font-size:10px;line-height:1.2}.navtab:hover{color:var(--text);background:var(--panel)}.navtab.flash,.social.flash{color:var(--ink);background:var(--hook);border-color:var(--ink)}.social-mobile{gap:4px;display:none}@media (max-width:1240px){.nav a,.navtab{padding:8px 6px}.brand .motto{display:none}}@media (max-width:860px){.social-mobile{display:flex}}.nav a.navtab{color:var(--hook);border-color:var(--panel-l)}.nav a.navtab:hover{color:var(--text);background:var(--panel)}
