/* Relic kit: the Combat Table look for any Barrowmail app. Everything is scoped to html.relic, so removing the class gives the app back its own look. */
@font-face{font-family:'VT323';font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAABwYAA4AAAAAxZgAABu/AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGlQbh0AchXIGYACFABEICoLgRIKUPguDWAABNgIkA4ccBCAFgzAHhVgbyZyjoqSyzkUUpYM1aWQg2DgAKO9N2X85nsjwY6uClRPVtPC4KO8z4wnW1FKCyHhgGBGv+MjCZB/9i3/4m1uhnFb7yppX+eQYHHeXIk9Uv7f17Dti0CEKFS2FTElICiMRwkP5JE8j7z+Dcq7ZJFXEiniQEyup4F6smBXxQnoQTkQ5EdeX8fz/35v73Ok2qcsj2IqNfk7VT2kCQ2naFcLhAGet5/9X93lD9zm/J6hANVAFegN1zqz+C9TbVOgONFA6dAXierAK5I7015r+K8tE5QrkgHZLuNeJLNwVV5XwlckBXS1vCgCusv+z/O6iv9rMRN8kwd/SGges/p+Va8683P1IW6EqmYwFI2v1JXniK/ifY+qfTL8qYpqCpBSAB8RGA57fTQoACowfl/7sveavNYX7sBVK4n9f2ndtGsKa49KUcbDdVDgkwu0t95BYtl4OizBIJAihwf/aq1/0V3tTgDQSsojt+Mk+43g3WW+jtck16APet8/tlnS735Osn2X/2ZQIW4CRNMhiM2x956fy5Hb7skxwljmEUY1RdaNrfPxlXsPpPUlnlt88VSjyaEzWa0xrSLuav5kJX676FysgdgQEhDX6f1MCjgCLiDvkKFAoiOkU8uuVYAxADDQYZYihiH1uI+64g3bPfbRHnqIRME+rBHWaoMuBW18htMASA/T/CkEnaVDe5zwE3j6uqTnKZQio3y8IaI6aREpcQEgRRlqEnjkL3tzm5d7cara4HuyjrhHSqGEWN4mFO2a//0cee+KFV15746133hND/dGehLhkqDj66Z05ATuTIq7uGvHNG6I89RKBekYQTzHk7WpCqVFlWLF3seVSirKMYCml2yCVIo8hL3/IbyKDdL9d8jU3OO/zCATCJNN4Y4hIroPadfKyFHkcn8chl22nEyzJlyHtbn573YB8jemKXIfrwT/w5311N6+oh1qOWqTJw5Yf62+i4P00JBej56tBrsvgNNbgOkdDEgWISZYZD2tYfDrE2S07O/IrxXEJMKgpaswhzg5M4ioBmwF4Zgh8/n7uVmBNT+aUknSVokCsIvX0GhlVaDFANQnCN4yErffmQGjQjlvyjpZPP7vZW7MwevZhBxEfFcWzaDmJznHphhP9SvpFdBGLuK7VP6BLRrHo+olec0TCiiN3NBez5MCtuYgFe67NGeYUXJrTzNhxbkyRs+W0bEPI2HxrQPsczbLmcV3VbMLrpfNoMfoQnvZVfXUVuF95lRE32WV2lh1nBxvvBsEwmlFMxAgTMymTrAvzkeKkrfMlBXEcEFEaRYHfzKsOka3IUCvK3o7hK5xeIYMZ3z+DeMdymoLllx6MUmIQit5AlAwEkSG9mZ4oDuQIRgfaMqNQLIlNTcQUEiP6Mna4kabQg+hGCT0xKL7kaIQCoXTlMIcIlgWXkAIEMcO7S8pnQYT1e9OegKcS/VO2Psy39yiCGpHzM+lIBxHUsgoAV/HkOYPaV4CpGWa9z7ivL4v8dByFvQ2a7cBo7iuLvAB5LA7soEEBKjfRyJvKlBFwjsVwAkv8BBviP0lMNnWwTtf9etgIzdAy2mdHwbqwHqw325kNYePYjV573rbe9v8HS1icEEujir6oHPSAllbasU6sW5fBTyAtcA90bxg6D56D1T/Lv/cm92FyCL7fAN83eusrmbV7szkvP4qAOIZ1d/e8ehiWZTDgf1wz12LzHXDOBUustc40R8y20QLLzLLUKSectNB5DHMWrNhw4MiJMw+eWF68+epJyQ9HRS1QkGAhwqw23Ro3LfdGuHgJkqTIkCmLXqFiJUqVMajXqIlRC56gXR99DbDSdaucsdc8+xyy32E3XPLaZUNsdtYmV7x1zWkTTfLCbRfN8NIEQ20x1RQdFpESEZOTkDFjyZ4tOwruXLhyY81HV5101l0Xx3QTQEPLX6hemkWLEClWlBhxEqVLpZOmQI5ceZKVq1ahUq0qx9VoY9Jbq34a9NdDnTue2GC9HXbajiBtK4AxkB/IA3CxCVzuAumBzAEAhf4uDjR4Eyz3/RfsXHsazg0pECpNQBN5iKHRGFSLbZvQdRBOfTKTQZDwmqrV5aCM1vInuHYzLG/TDRbFiixCPaJInoNKHTb1UVBQoSI+KtTqJ6qK7ynJbEmiGaWxDzdbVOoJUZMAeR9naiglY23J40KSBHBseHrpZ3p2J3g2ik2juMDsippWa5yHWVzdFgOsHVqiJQCPuHKes6GBZJKSAJ4uBYTtSEt/B2of6GYQkB0tPhvicLvJDbAFIpGJsIu/LOrXkl8LsNOntUgoMVVVTyb821E3p2YQAE+kutO3QAvAAkGxNb7uAYQS4Byy3B40hyCsqThjVgHu94f4BA95FX0YIHAV38fiLAg4wS5vrIAIbFt9C9frxSKiYKMA/1WM5e5N9WnnGOsr0pjAGAMD0mmBsiqthRY7bEOzm06QUgCtiG3GqrCyvNEY6otS1iPSakFnU4AU7wd44JQ8HYuTdY6S3hF+pfBYIAUn2blTAk0dbuDwWQGHkdNCHN/7xqB6L+Dy+xP3FjIroRhFJ3fXk9NQcVpMDMGdSUlCXlYsmntX1N3nRemYyVllABAPNEqpdOhUBIq6CjTds/gvSSzS6dC210iiY85K+URgDh6l87dAQAlFtLOubqGNdkFnAiV10461usC9Jd0peTYqd/faKDRoEzY7S3qAPH2wcm6kKPQDbfW8Ba1uq21aHhWvouGCbwQaoS1oju45+sDaA2Ttqr1zA5prpQLhtoIvclA7bAfSokDDJHNQmsfHTcGQgfzR7mCSzc8wr19NPzqGCj4V2McOvvo6uJg+Lu8zwNBeQbLt1WD422leDR6hdtHOiRXidxK4zHGOrBpzE6HF1WPe8gtXpeZdzxiJp2AVVpExXGNl0vGta8UaY7TDTYfOCUWTZnLfT1I5+H3qig7ZFzbYPq2hciP7FWwfoBNr4RnLLMzXLwdmyeO631+A/j0C9DmGHDidfVnAqcDog8XfodiA2M6nneRgGwdipDMCgIx/JVeKGLrt4zczCLXs+STn/W5Xqci8AbGmcPqNR6XuqtK2j2+jlgFLNM9qv1UttZ0gGVd7JxDVDXNHG9/z5OZOkpFRJpm8juSBHhKe8LxMmUbRVJRSc9iqBAwQVShzzvJ5Um1WFcm185IVzOBSQN3SBL52dbmPW8eQO4T5pYQT2AbJGd8WxUfMPBGXkzkhmc6VA3k0QaFbPRHer7TD8nm+ShMUD1802fRs3FXWeq2BSROKpsQzF6+ijLhAva7gILdJ35ZmjobNFgBCdPzvbGBMJstCQoGzzVGps19NfNDLFUU259DlrttklFHB4Zw/bkqT7CbXPM3OZ8ZcY/MxsWPktdTsHKIja6eQanejNUE1dqG9vEPlWXYUBo/xWQMUWjqk81VVqMg45otXdqeqMAPNqDzYY5PpuU+LjvZI1jRO+2fQ+wBKl4jfrrUvSNI2KOBoAOklDZaa95Gm6vnGtNvrA7ybrLNQxfVUI0q6/3YWcTdhN1GrBmiKww6r0AAMr4Z1gCUf289UjPrJbotYW4cWnttgpFqaMp8J7ddLdHWv0KJ23+dNELhJAHU4KM2NSm6syWRbzPhwpVd+fgeBKwu1I1t5yppePuQjcg6XemaRY6sgN28tTUzue35I9KQNjuYhw4qJgj5GnwPfWJ8av0HIGnGkoVirkKk+bzEnn2BTe+M+I4CcPTt9xAHSNTx6VZpWJIpQrgs5XIcBsccGeFcJhLM1nD2cnNdjKq3it+TKOjQyJ4Kz1Uo0S4Bbahvri3Mna9MTAly9z57sWVaiHXLcHHN4V5emKbGCFJGG1rwcL2WZ+XAXrLKtxy0A3qiutc6xSHftdsmWv93LrBmJXFVALtXHQhXqR/7r+k82RvHZyLkvJVSNipB4/7XNmJi0CmV5YX6FvQ5KrQkW3MwJPPLcyRsolllI0kRZAgy+U4lN180Z4TKTbW1RSzc+2yVO8e2XXeZf8jlW2fX2zm7814wFdVa6alhVuGAG01ADBHBDpE5atmt6lRfF6aXRBxDxZ74Q3ihq/X/PuLQD1fKXwpGzDVq6ftI6SclebYgrvolKIvUg2ufRq0yjcdNFySHLq7rEkfIq572PaJMCKijG0bgt+cF+9A6+VOdu6VJSOWu1V1CLJ/LMTz6tbCKDPWo5w8dmGbJCyBbo2Bp0z7ZY2esIWFowjN1im/eQImMbn9/2tn1rVo2bH7K3QeAjswjbPWidvxmRupAqeETpUn+TvQ7GhqNCVuexIM5FgpNlA5SIdVPWPS5P7kV5v8L7VIo3+b0RjatV4HKb1BrX0staf8FOWEYZQtQuNRrV225uMwaqrJfmzphrUjIvTdNy+DrcJmUI4Jlms7iYDXn+imi+rpsVqVhbucvQLMAp0eAKFocBfzcv32YsmHsI9LT1BmCJ7VnqqzOruN3iVIfsg/IYCzuXTQ6O5m5DZId+AnD+TLAjIpwHLss4WVSpYfttsJ06M1FNW2k4JF5SoJ5Si0YAkkjxSp8lBo/a8eSxIbanGP5tQrmC2lVPGVYNy235o1PW/X/wmDJE/VnbhXeiaK0IsdeebCakUX/nqfHERPurhaZGwTZU8OlDitO5THZqYmWlZP8TOthEU+xQAtOQnVKcm5LeuRZfwRKxOfcEzi0UwU5K02nLHF+k32kQCzvnEs8ZziV8NmZHUwdtYlb4+0Ci2Tcn/orU/tmo6Ic7BMock69ro3WZDYIKGVCqyp2w6Y44DhCdFr8E6iFOEF9ic7Ni0b7bOMgRj1sTsPkXts/QKcSltG2JVKh3nNK0i/eknQveLZDsApsDu48CwL1+m+QgUjnyNgkipUkpz9jnOVUDl/zYC5nCAmEtG1FDT36DYUMh7579VgHAUuoNfW6Fj6285yS70Fji/Kiud67ddmcF+lMf8O9Jm62FvAiMPH1whqSwJ1WSFXoIpApji3qDveIV9sdbLanfqjSrl7CZvCOQIUOTeoOLFux8AffshXbHpKWZ72bo1E6L2LsCp5LFOVvEowgPRGGgVwMO8YFpMbC0sWroLNAzHxLuW6fLhC06tNCgC1caBB50jouiBC8kljYNOJI8ftEYIiL9jqFGArBPDJ8v5gxHUC+laL7QRy0ruIPSXLCs5PYLLCu6gxKgGmPabDQKAC30ia79c/HOt3Harv+k7Wm48eONTYfQBzsMbZeZiqw+BwURCYESX9/T8djxGO6Cehvoml1p57OvQK8H0ahZexGiGjzxQOXIJ6dVvfb94sJbct0JLu3OInGBVe5yU9JTB/hLxg8NwaHLlJtsyK59RX/mA7qnue8QfME0l66BhUNGXf9eAj2JLzSfILEfpoL0KOJcwdmt3QhbRtbDubfA8rRHYHk6IB/gSQTWrI4YrM8LTqgncyLIyJAhFzJTo13oygtZhLjtsj3qqra06NGBOeWIEymPfbmQ1N6wrCZXRMcdG3+Ahq7tSCD/jl0+bOmIT3bT3Dp3Laq/SFK6nMbYLoRBhNJLW3MPzFPTj2Oc6f4Gv3Lyv+SDEG7fVy7UBi09uswfXjhBxoyVS/g9PlA9PUZTfvQNDFp4qpzsxpcncqaP9GHx8zBmjGW+vTOLxHtfrRsTQLseSNChu59jmfdsA83yAYeo1jnzoCNhVXfb5m5SbyfoMH5B5cHHx4xnNnTCk4o4nzsoOc1dEzr9y8uN4PzaKUlFTk6ay5z6XsDp/Co272eN1psOcpB5MAeepeqNjTCLq7ZK0+pCqLomRW/sTCrq2VKpwwBRomfTm2LyoN/ZGBDjtumsvA+v3L2h5CGYYUZPXDhk8tKfljI4Oe75GkTfTfsJV+aLDDAvLV8fGzhZUqLRS9Pjqnu0ZTwYVHTYUejxW742VWmMYUrK5wGGb/5JBiLiM0aAl/gpxqOhgotD5slhLqq6o42tRFrrqn4w5x3+i0qxxznS+ZTmFFK1D/Sggnskfzqk/8mUqX+cw+zfMvSS+AC38Jmx9sWTk1B3NrhATyqVhcUi2i1kcY6e1jzS3SD+WSRKFez4ZRJBA7HCSFRRvw44krUM14wEZfjzS13o8IemtMhW64aYmnIKyDnxFgZ5tlpRFlyvLBpiXUuqyutyELOa49Mwd9DlSmm8EEzfwosRQ8Syi0OWdFjzBwHe9CPcl5OOe8Qm3F86WXu6HK2VO/7gkwU24gLF7eYObQELexoGSsIFp22k/4DtJqrl0hxmeIUr7264zmPQbp/SAfPUuJp7qrsQ13ef0mp/0GtEHS5qZ3jogsV2jnBQI8M/bQT3dEy9apCnoqqisW7lmtqL2pE2wisbmfnN1v0xJLFM44eySd9i4PcH3RCEyRVI34c7eJnOWAKaUOh5aSUNU3ZjuxNrF5GqIzaY55uLq3mL5PlzSYBqpW44M4NXmHYI3kbe/EwLl7sINq2Md+Qn3Xm9ZAq81ezIpLdwvwgRbMlykGMI6GXm04smeGd9pTp2OnRiDBOS6eGw+YxxA64t4WbdzRlfXX5AZq9GCDfy0zMeVITCmgubGUNo1wYy1nVuJzilAipeIwJHfhsnCWcO17sDdYcTo3mY5+N1zs0zIwh3fANe1BewSbL1e2862Dnpr3o5uqIbhMrmf47MgPNZb140scDLlFHU1wt2G0+81sKfa78CPfekpxjMOEIY/B7KhwOb2ZBnPcPRKxC/oIOOP3boL6zqVPv+6KHgnST90ZUcYDXAIdFmd///M5/go/E/Zh7uyP7bAiVFB4nAQddy2nMGZem75KQSB9NMHzQDYwd9r9Tx+D5YJHVQl5d6K6sz3gCWSFPrxm/B8rzGXmGKGq/vNR21oB0LeXoh7t6MzoWBC+ubh/Ah6Y8xoOueemzppiHkgJdEu+hWXRNTXKL+p7RG+paF1lLfrGPsDGiToGwMucpFt7AwtiH7P0VEdNGsmdwOa2mabdIO7e6DNYEcETDacQ0TVnat9PU94b1imwCIRY5NwgiR5hewBTplkEXolelLUcUL7RJ6d2M/e0f/FYJlaOCvcBcycnoLfomUaV0b0Vnhb1lbnz0fVHBlmXlJT8NQW3E80EDb+Lj4y39kNrxRUbtQ2IXg/QHV4Tl2ysCfANQh9aNUkDJ7D3U6toYmCCwNRJzgh+CE6zWvME7R81DHqkdox2RdxLcyTOixCImJAZVmOgodnyM2lSqbbZoYsnsbIuwiiXDtqhEsZxGJYcv5FhcDb70au7ER2SIG6pA6IPndFo2phxmQCIF+75NS5KTHu/sLzARWG8dXOKLEsqK24Fl+yc352h4Vp+3wGiI1a2qqDlTj1cw3iIWvHcomCqfQM/HeuDXG+KsfN04H67dbldS6RP3A0gtiaP3/X3D7ydWrW57sXoPFExoe+bTQOUx816JocH1u37UxWtz1gjDsCch90t2o5kAlbqK4FRVl4HuNN3amVkGKS8lxs9RUjXVta1RLR9W+v6QZQqzjdc3IYLVKhEPekWasMb701Qu2vARdIX8fO8cUKrrvgf/kTHGCtQUAS0LiCaKd0kngCy4qgT4vlZuLvGmh/BU4FIOiEgf02Am7WzgJ0PFRALa1PtoSR1T3rTEJdiRksRW7Lg5mfNx4vzn13sG5hVI9SLUW/Ej1X1EMqlwzI8ZgVehjRX44H0ePQ0FKA9dC3TE944ODruyV4XrJUsMuLZa34ujQllgi5roZde3V2VUns7QgJZakxPZmLfajUMIoy4ZLYv2903ad/YXdokFseMH+7rTNdGGP+0sBfH5xQQcP9cDztTWGL60n/3mNQK7KlLlLIONfOICNC8FvIHBaERBLTWLHUxSB48WH1HSwtnSie3UdLx11LGqEX0DDjMaj3I5VlTR0fAO+3i+87J6D5zi9BiwvQ39dqwRHKYoXZU/08nNEpFLTZxu3KgAwLixcmURbxVe/yGgppL5vlD0hTdJkdalBjqsGvN8VfzEzkD8h+F93i/WMFkASof8LJoOSrWVqVesFkfE0AYz36Q0by7badB50hhrzS+1aBOd2ko1Nf1uRF9xy4LcbNmd0wKcvBV6/q/D6BpBheQB5BM2eBCsS0m5ZI9+yAt7dGft028jG+LEGkMFs7UZT1iNhz7F259+STC9JWgle1yC+eQi7MW12gxF1qf/6EGpjgCQuqeoDKtSqgqQLkfopQLvhXt1kQmDBsEWOlUCDe+cUb9FuKI1xXUK7II3eiztBWCJDsCShxBea9S3OZLlEL7GHATMepMPSkUmXD6MfgUV68wzgtnl0O8PtDeXLExG6VEO4aIhFlw+jH7kTbMiUErZSZVdwuOi77jIog4iI+I58ZtkI90mTmjHNnRh9z3pMtqneQ6sra2tbVkpUsyLiLQpgBLD9CziA9DRLm5jSuGY+xdHB6bw8yLZkfSiZGqauEtYaRjqANSkqjosIRzb4SrhEYWGexg0rTm+GSAGvKYTYOmANW6De/eS5tKt8kV4cAQVv/6O7cquwfylNvwU+v/s3AF9ba4//GbfO2pE1mEEBAodFMyCPGestkjYTfyOeBgo927c7dOSkATKPUwYiyd/hdnAQmW1vk45I8mdbJygXZyiReZAxdkJBoDKpiTJmC0Ok4KDYYx/ODkyXgpPTIRY6yuljpRa2SUYE46SguQX+fUQk+dAxpuP0rcf4GF4fmUWRjrF5HKmPnI7Q/8BwELp5jH4pTwc1k+cQ1PdL+ULT5X1bAp08vggYu0fsNOnnVrT0QrNq0chQBvhwfltNyB2tpljaXk3jjKhmuKgHUXQ6iKO1v1dLWvBOIDAJ4cdPmyqtGpgI2ii1aWCkxGtVx0+GBDp5cmioafSiV6NOO6MKrfLUaNWmAa8FS02Jw+HkXWGd+Y81VK5U+dKF1tcTp2TRWDyT/taDdX1C7fYcFZWe2IPr1WBNBDKxKK9RjSrpqtHaCerxPViV1ZVJDaFHo5TqFVc1isJr0LT8AZWq8Jp1QwH0UdQgZq97DClQaL7OOaPSJlU269BJZ9W6eKerGmedd0E33fXQ00WXXHZFr4Myel611K66ps4N02yxlcYnWv4CBApy0y31bgsWIlSYD8LFabj5x9KoRbOl4iXgJXoviUmrNr0lS5FK5w5BH31Do11aGKTLkClLP3r9DTTIAMsMtk22z3LkyjNevgJDDDPcUIWKFCvx0X6lEeGoYxZZzI6CPQeOnDhz4cotYiIhUhz0E7/wGxYinTCWOysbMFYQs+FtORE5D7ZiIkMZgwhRzJjbYTvryLHOeocdccpOu+y2x8mYYZRDJDHHaLNZ+uIr9mJ58TRDhZWkfMiMM8ZEE0wyUrm3omNBLIkVsY5NbGMXRezjEMc4xTkuJnvsrili3ffIvWF6rk4na1Aa+Spjjj5V0t7SwKk1gXRtee12DBcTHKPVgzUOByEnq/Y+D5+WGRudM4aLjsNAjjlBBu9jsVqt8ufI1nBBuwbKzgePu+bS5MySVVS1C2sfL9V0iGiZ0GCs9qtrLep5vqmiki+aZF7NC3s+57gfrA7sxMCYWA==) format('woff2')}
html.relic{--p:#ffb21e;--pd:#ffb21e55;--bg:#120900;--pl:color-mix(in srgb,var(--p) 45%,var(--bg));--pf:color-mix(in srgb,var(--p) 10%,var(--bg));--gl:.55}
/* apps built on tokens (the Upperworld Generator) take the phosphor through them */
html.relic{--ink:var(--bg);--ink2:var(--bg);--ink3:var(--pf);--line:var(--pl);--line2:color-mix(in srgb,var(--p) 25%,var(--bg));--paper:var(--p);--paper2:var(--p);--dim:color-mix(in srgb,var(--p) 65%,var(--bg));--gold:var(--p);--px:'VT323',monospace;--mono:'VT323',monospace}
html.relic,html.relic body{background:var(--bg)!important;color:var(--p)!important}
html.relic body{text-shadow:0 0 calc(4px*var(--gl)) color-mix(in srgb,var(--p) 35%,transparent)}
html.relic.noglow body{text-shadow:none}
html.relic body *:not(svg):not(svg *):not(canvas){font-family:'VT323',ui-monospace,monospace!important;font-size-adjust:.58;border-radius:0!important}
html.relic svg text,html.relic svg tspan{font-size-adjust:none}
html.relic :is(header,nav,aside,section,main,footer,fieldset,details,dialog,.panel,.card,.rec,.box,.modal,.menu,.popup,.dropdown){background-color:var(--bg)!important;border-color:var(--pl)!important;color:var(--p)!important;box-shadow:none!important}
html.relic :is(h1,h2,h3,h4,legend,summary,th){color:var(--p)!important;text-transform:uppercase;letter-spacing:2px;border-color:var(--pl)!important}
html.relic h1{text-shadow:0 0 calc(6px*var(--gl)) var(--pd)}
html.relic :is(button,.btn,input[type=button],input[type=submit]){background:var(--bg)!important;color:var(--p)!important;border:1px solid var(--pl)!important;box-shadow:none!important;text-transform:uppercase;letter-spacing:1px;background-image:none!important}
html.relic :is(button,.btn):hover{background:var(--pf)!important;border-color:var(--p)!important}
html.relic :is(button.on,button.active,button.primary,button[aria-pressed=true],button[aria-selected=true],.tab.on,.tab.active,nav button.on){background:var(--p)!important;color:var(--bg)!important;border-color:var(--p)!important;text-shadow:none!important}
html.relic :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea){background:var(--bg)!important;color:var(--p)!important;border:1px solid var(--pl)!important;box-shadow:none!important}
html.relic :is(input,select,textarea):focus{outline:1px dashed var(--p)!important;outline-offset:1px}
html.relic :is(input[type=checkbox],input[type=radio],input[type=range]){accent-color:var(--p)}
html.relic :is(td,tr,table,hr,li){border-color:var(--pl)!important;color:inherit}
html.relic th{background:var(--pf)!important}
html.relic a{color:var(--p)!important}
html.relic ::selection{background:var(--p);color:var(--bg)}
html.relic ::-webkit-scrollbar{width:10px;height:10px}html.relic ::-webkit-scrollbar-thumb{background:var(--pl)}html.relic ::-webkit-scrollbar-track{background:var(--bg)}
/* brightness, Monitor panel */
html.relic.rl-brf{filter:brightness(var(--br,1))}
#rk-dim{position:fixed;inset:0;background:#000;opacity:var(--dim,0);pointer-events:none;z-index:2147482000}
#rk-monb{position:fixed;right:calc(10px + 2.5vw);bottom:calc(8px + 2.5vh);z-index:2147483200;font:16px 'VT323',monospace;background:#120900;color:#ffb21e;border:1px solid #6b4a0e;padding:2px 10px;cursor:pointer;letter-spacing:1px;text-transform:uppercase}
html.relic #rk-monb{background:var(--bg);color:var(--p);border-color:var(--pl)}
#rk-monb.on{background:var(--p,#ffb21e);color:var(--bg,#120900)}
#rk-mon{position:fixed;right:10px;top:32px;z-index:2147483200;background:#120900;color:#ffb21e;border:2px solid #6b4a0e;padding:8px;display:flex;flex-wrap:wrap;gap:6px;max-width:440px;font:18px 'VT323',monospace}
html.relic #rk-mon{background:var(--bg);color:var(--p);border-color:var(--pl)}
#rk-mon[hidden]{display:none}
#rk-mon button{font:inherit;background:transparent;color:inherit;border:1px solid transparent;padding:1px 8px;display:flex;align-items:center;gap:6px;cursor:pointer;text-transform:uppercase}
#rk-mon button:hover{border-color:currentColor}
#rk-mon button i{width:9px;height:9px;border:1px solid currentColor;display:inline-block}
#rk-mon button.lit i{background:currentColor;box-shadow:0 0 6px currentColor}
#rk-mon .rk-pop{position:absolute;top:100%;left:0;margin-top:6px;background:inherit;border:2px solid currentColor;padding:6px;display:flex;flex-wrap:wrap;gap:4px;min-width:240px}
#rk-mon .rk-pop[hidden]{display:none}
#rk-mon .rk-pop button i{border-color:#000}
#rk-mon input[type=range]{flex:1;accent-color:currentColor}
/* CRT */
#rk-fx{display:none}
html.relic.crt #rk-fx{display:contents}
#rk-fx>div{position:fixed;inset:0;pointer-events:none;z-index:2147481000;will-change:transform;transform:translateZ(0)}
.rk-scan{background:linear-gradient(#0000 50%,#0006 50%);background-size:100% 3px}
.rk-mask{background:repeating-linear-gradient(90deg,#ff000014 0 1px,#00ff0010 1px 2px,#0040ff14 2px 3px)}
.rk-glass{background:radial-gradient(ellipse 55% 40% at 22% 14%,#ffffff1c,#0000 70%),linear-gradient(160deg,#ffffff0d 0%,#0000 35%)}
.rk-fringe{box-shadow:inset 4px 0 14px #ff00002a,inset -4px 0 14px #00c8ff2a}
.rk-vig{background:radial-gradient(ellipse at center,#0000 62%,#000a 92%,#000 100%);box-shadow:inset 0 0 60px #000c;border-radius:4vw/5vh}
.rk-roll{display:none;height:30%!important;bottom:auto!important;background:linear-gradient(#fff0,#ffffff10 50%,#fff0);animation:rk-roll 7s linear infinite}
html.relic.crt.hum .rk-roll{display:block}
@keyframes rk-roll{from{transform:translateY(-100%)}to{transform:translateY(400%)}}
html.relic.crt body{clip-path:inset(0 round 4vw / 5vh)}
html.relic.crt.warp body{filter:url(#rk-barrel);clip-path:none}
#rk-corner{position:fixed;inset:0;pointer-events:none;z-index:2147483000;border-radius:4vw/5vh;box-shadow:0 0 0 80vmax #000;display:none}
html.relic.crt #rk-corner{display:block}
html.relic.crt.warp #rk-corner{border-radius:6vw/8vh;box-shadow:0 0 0 80vmax #000,inset 0 0 0 .6vmin #000,inset 0 0 2vmin 1vmin #000}
html.relic.crt body{text-shadow:-1px 0 #ff003330,1px 0 #00c8ff2c,0 0 calc(4px*var(--gl)) color-mix(in srgb,var(--p) 35%,transparent)}
html.rk-on body{animation:rk-pon .85s ease-out}
html.rk-off body{animation:rk-poff .42s ease-in forwards}
@keyframes rk-pon{0%{transform:scale(.002,.002);filter:brightness(6)}25%{transform:scale(1,.004);filter:brightness(4)}55%{transform:scale(1,1);filter:brightness(1.8)}100%{transform:none;filter:none}}
@keyframes rk-poff{0%{transform:none}55%{transform:scale(1,.004);filter:brightness(4)}100%{transform:scale(0,.002);filter:brightness(8);opacity:0}}
html.rk-tear body{animation:rk-tear .16s steps(4)}
@keyframes rk-tear{0%{transform:translateX(0)}25%{transform:translateX(9px) skewX(-2deg)}50%{transform:translateX(-6px)}75%{transform:translateX(3px) skewX(1deg)}100%{transform:none}}
@media (prefers-reduced-motion:reduce){html.rk-on body,html.rk-off body,html.rk-tear body,.rk-roll{animation:none}}
html.relic :is(#drawPrev,.locplan,#ccFrame,#bhFrame,iframe){background:var(--bg)!important}
html.relic html.rk-framed #rk-mon .rk-t,html.rk-framed #rk-mon .rk-t+.rk-pop{display:none!important}
/* maps on screen in the phosphor look: black ink turns to light, paper to the dark of the tube */
@media screen{html.rk-mapl main svg,html.rk-mapl main canvas,html.rk-mapl :is(#mapLayers,#svg,#skCanvas,.locplan .lpthumb img,.locplan .lpmark svg,#drawPrev svg){filter:url(#rk-phos)}}
@media print{html.rk-mapp #printArea svg,html.rk-mapp #printArea img{filter:url(#rk-phos)}}
html.rk-framed #rk-mon{top:auto;bottom:44px}
html.rk-framed #rk-mon .rk-pop{top:auto;bottom:100%;margin:0 0 6px}
/* the light tube, the default: fine scanlines, a soft edge, nothing bent */
html.relic.crt:not(.crt-h) .rk-scan{opacity:.4}
html.relic.crt:not(.crt-h) :is(.rk-mask,.rk-fringe){display:none}
html.relic.crt:not(.crt-h) .rk-glass{opacity:.6}
html.relic.crt:not(.crt-h) .rk-vig{background:radial-gradient(ellipse at center,#0000 72%,#0006 100%);box-shadow:inset 0 0 36px #0008;border-radius:1.4vw/2vh}
html.relic.crt:not(.crt-h) body{clip-path:inset(0 round 1.4vw / 2vh);text-shadow:0 0 calc(4px*var(--gl)) color-mix(in srgb,var(--p) 35%,transparent)}
html.relic.crt:not(.crt-h):not(.warp) #rk-corner{border-radius:1.4vw/2vh}
/* the plasma panel: flat orange glass of tiny cells, sharp and bright */
.rk-cells{display:none!important}
html.relic.panel #rk-fx{display:contents}
html.relic.panel #rk-fx>div{display:none}
html.relic.panel #rk-fx>.rk-cells{display:block!important;background:radial-gradient(circle at 50% 50%,#0000 48%,#0009 72%) 0 0/3px 3px}
html.relic.panel body{text-shadow:0 0 2px var(--p),0 0 calc(9px*var(--gl)) var(--pd)}
html.rk-hubmon #rk-mon{top:auto;bottom:calc(46px + 2.5vh);right:calc(10px + 2.5vw)}
html.rk-hubmon #rk-mon .rk-pop{top:auto;bottom:100%;margin:0 0 6px}

/* phase 2: steady screen, text size, readable hints */
html.rk-calm #rk-fx *,html.rk-calm.rs-up body{animation:none!important}
html.rk-calm .rk-roll{display:none!important}
html.relic{--dim:color-mix(in srgb,var(--p) 78%,var(--bg))}
html.relic :is(.hint,.note,.muted,.sub,.small,small,.help,.desc,.tip){color:var(--dim)!important;opacity:1!important}
html.rk-txt.rs-flow body{zoom:var(--rk-txt)}

/* ================= phase 3: the machine's parts, taken from the Virtual Table Top =================
   Grid: everything sits on character cells. --ch is one cell wide, --ln one line tall.
   Text: three sizes only. --t1 small (labels, hints), --t2 body, --t3 titles. All follow the shared Text setting. */
html.relic{--t1:calc(18px*var(--rk-txt,1));--t2:calc(22px*var(--rk-txt,1));--t3:calc(34px*var(--rk-txt,1));--ch:calc(var(--t2)*.5);--ln:calc(var(--t2)*1.2);
  --glow:0 0 calc(8px*var(--gl)) var(--pd),inset 0 0 calc(8px*var(--gl)) var(--pd)}
/* one weight, no decoration that a terminal could not draw */
html.relic body *:not(svg):not(svg *):not(canvas){font-weight:400!important;font-style:normal!important}
html.relic body :is(div,section,header,nav,aside,main,footer,fieldset,details,dialog,button,ul,ol,li,table,thead,tbody,tr,td,th,p,span,label,a,h1,h2,h3,h4,legend,summary,textarea,input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range])):not([id^=rk-]):not([class*=rk-]):not([id^=rs-]):not([class*=rs-]):not([style*=background-image]){background-image:none!important}
html.relic body *:not(svg):not(svg *):not(canvas):not([id^=rk-]):not([class*=rk-]){box-shadow:none}
/* panels: a double-weight line with the phosphor's glow, as on the table top */
html.relic :is(fieldset,dialog,.panel,.card,.box,.modal,.popup,.dropdown,.menu){border:2px solid var(--p)!important;box-shadow:var(--glow)!important}
html.relic.noglow :is(fieldset,dialog,.panel,.card,.box,.modal,.popup,.dropdown,.menu){box-shadow:none!important}
html.relic :is(legend,h2,h3,h4,summary,th){font-size:var(--t2)!important;font-size-adjust:none!important;letter-spacing:2px;text-transform:uppercase}
html.relic h1{font-size:var(--t3)!important;font-size-adjust:none!important;letter-spacing:3px;text-transform:uppercase;font-weight:400!important}
html.relic legend{padding:0 var(--ch)}
/* buttons: one line of phosphor; lit when chosen; a faint fill under the pointer */
html.relic :is(button,.btn,input[type=button],input[type=submit]){border:1px solid var(--p)!important;text-transform:uppercase;letter-spacing:1px}
html.relic :is(button,.btn):hover{background:var(--pd)!important}
html.relic :is(button,.btn):disabled{opacity:.45}
html.relic :is(button.ghost,.btn.ghost){border-color:transparent!important}
html.relic :is(button.ghost,.btn.ghost):hover{border-color:var(--p)!important}
html.relic :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea){border:1px solid var(--p)!important}
html.relic option{background:var(--bg);color:var(--p)}
html.relic :is(td,tr,table,hr,li){border-style:dashed}
html.relic ::-webkit-scrollbar-thumb{background:var(--p)}
html.relic *{scrollbar-color:var(--p) var(--bg)}
/* parts for the rebuilt screens (phase 4) */
html.relic .m-bar{display:flex;align-items:center;gap:var(--ch);padding:calc(var(--ln)*.25) var(--ch);border-bottom:2px solid var(--p);box-shadow:0 2px calc(8px*var(--gl)) var(--pd)}
html.relic .m-title{font-size:var(--t3)!important;font-size-adjust:none!important;letter-spacing:3px;text-transform:uppercase;line-height:1;white-space:nowrap;text-shadow:0 0 calc(4px*var(--gl)) var(--p),0 0 calc(12px*var(--gl)) var(--pd)}
html.relic .m-tabs{display:flex;gap:0;border-bottom:2px solid var(--p)}
html.relic .m-tabs>button{border:0!important;border-right:1px solid var(--p)!important;padding:calc(var(--ln)*.2) calc(var(--ch)*2);font-size:var(--t2)}
html.relic .m-tabs>button.on{background:var(--p)!important;color:var(--bg)!important;text-shadow:none}
html.relic .m-panel{position:relative;border:2px solid var(--p);box-shadow:var(--glow);padding:calc(var(--ln)*1.1) calc(var(--ch)*2) calc(var(--ln)*.6)}
html.relic .m-panel[data-title]::before{content:attr(data-title);position:absolute;top:2px;left:var(--ch);font-size:var(--t1);letter-spacing:2px;text-transform:uppercase;opacity:.85}
html.relic .m-grip{display:flex;justify-content:space-between;align-items:center;background:var(--p);color:var(--bg);text-shadow:none;padding:0 var(--ch);letter-spacing:2px;text-transform:uppercase}
html.relic .m-list>*{border-bottom:1px dashed var(--p);padding:calc(var(--ln)*.15) 0}
html.relic .m-row{display:flex;flex-wrap:wrap;gap:calc(var(--ln)*.3) var(--ch);align-items:center}
html.relic :is(.m-t1,.m-t2,.m-t3,.m-tabs>button,.m-panel[data-title])::before,html.relic :is(.m-t1,.m-t2,.m-t3,.m-tabs>button){font-size-adjust:none!important}
html.relic .m-t1{font-size:var(--t1)!important}html.relic .m-t2{font-size:var(--t2)!important}html.relic .m-t3{font-size:var(--t3)!important}
/* prints: plain black on white, whatever the screen looks like */
@media print{
  html.relic:not(#rk-p1):not(#rk-p2),html.relic:not(#rk-p1):not(#rk-p2) body{background:#fff!important;color:#000!important}
  html.relic:not(#rk-p1):not(#rk-p2){--p:#000!important;--bg:#fff!important;--pd:transparent!important;--pl:#000!important;--dim:#000!important}
  html.relic:not(#rk-p1):not(#rk-p2) body *:not(svg):not(svg *):not(canvas):not(img){color:#000!important;background-color:transparent!important;text-shadow:none!important;box-shadow:none!important;border-color:#000!important}
  html.relic:not(#rk-p1):not(#rk-p2) body{filter:none!important;clip-path:none!important;transform:none!important;animation:none!important}
  #rk-fx,#rk-dim,#rk-mon,#rk-corner,#rk-monb,#rs-strip,#rs-boot,.rs-alert{display:none!important}
}
/* touch screens: every control big enough for a finger */
@media (pointer:coarse){
  html.relic :is(button,select,a.btn,[role=button],input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color])){min-height:34px}
  html.relic :is(input[type=checkbox],input[type=radio]){min-width:22px;min-height:22px}
  html.relic label:has(>input[type=checkbox],>input[type=radio]){min-height:34px;display:inline-flex;align-items:center}
}

/* the Monitor never runs off the screen */
#rk-mon{max-width:min(440px,calc(100vw - 20px))!important;box-sizing:border-box}
#rk-mon .rk-pop{max-width:calc(100vw - 20px);box-sizing:border-box}

/* cyclers and cell bars (see relic-kit.js) */
.rs-cy,.rs-bar{display:inline-flex;align-items:center;font:inherit;color:var(--p,#ffb21e);border:1px solid currentColor;padding:1px 6px;cursor:pointer;user-select:none;-webkit-user-select:none;white-space:nowrap;vertical-align:middle;letter-spacing:0;box-sizing:border-box}
.rs-cy b{font-weight:normal;opacity:.7;padding:0 4px}.rs-cy i{font-style:normal;flex:1;text-align:center;min-width:3ch}
.rs-cy.off{opacity:.4;pointer-events:none}
.rs-cy:focus,.rs-bar:focus{outline:none;background:color-mix(in srgb,var(--p,#ffb21e) 15%,transparent)}
.rs-bar{font-family:'VT323',ui-monospace,monospace;touch-action:none}
.rs-hid{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;margin:0!important}
html:not(.rs-skin):not(.relic) .rs-cy,html:not(.rs-skin):not(.relic) .rs-bar{display:none!important}
html:not(.rs-skin):not(.relic) .rs-hid{position:static!important;width:auto!important;height:auto!important;opacity:1!important;pointer-events:auto!important}
