Its called 2.6.0
authordcc <dcc@logografos.com>
Wed, 1 Nov 2023 10:20:36 +0000 (03:20 -0700)
committerdcc <dcc@logografos.com>
Wed, 1 Nov 2023 10:20:36 +0000 (03:20 -0700)
288 files changed:
lib/pleroma/web/.router.ex.un~ [new file with mode: 0755]
lib/pleroma/web/router.ex
lib/pleroma/web/router.ex~ [new file with mode: 0755]
mix.exs
patches/9(2.6.0).diff [new file with mode: 0644]
priv/static/READ_THIS_BEFORE_TOUCHING_FILES_HERE
priv/static/adminfe/app.147d87e8.css [moved from priv/static/adminfe1/app.147d87e8.css with 100% similarity]
priv/static/adminfe/chunk-0c3d.79348811.css [moved from priv/static/adminfe1/chunk-0c3d.79348811.css with 100% similarity]
priv/static/adminfe/chunk-0c60.ee394b7b.css [moved from priv/static/adminfe1/chunk-0c60.ee394b7b.css with 100% similarity]
priv/static/adminfe/chunk-0fa6.d224ff3a.css [moved from priv/static/adminfe1/chunk-0fa6.d224ff3a.css with 100% similarity]
priv/static/adminfe/chunk-1a25.098b6a73.css [moved from priv/static/adminfe1/chunk-1a25.098b6a73.css with 100% similarity]
priv/static/adminfe/chunk-2be3.846d0d5a.css [moved from priv/static/adminfe1/chunk-2be3.846d0d5a.css with 100% similarity]
priv/static/adminfe/chunk-2cfa.c090392a.css [moved from priv/static/adminfe1/chunk-2cfa.c090392a.css with 100% similarity]
priv/static/adminfe/chunk-305b.64cc20ab.css [moved from priv/static/adminfe1/chunk-305b.64cc20ab.css with 100% similarity]
priv/static/adminfe/chunk-31b9.abc32430.css [moved from priv/static/adminfe1/chunk-31b9.abc32430.css with 100% similarity]
priv/static/adminfe/chunk-33c9.3c0c7538.css [moved from priv/static/adminfe1/chunk-33c9.3c0c7538.css with 100% similarity]
priv/static/adminfe/chunk-42d5.9ade3c1d.css [moved from priv/static/adminfe1/chunk-42d5.9ade3c1d.css with 100% similarity]
priv/static/adminfe/chunk-45ed.fc62bc5c.css [moved from priv/static/adminfe1/chunk-45ed.fc62bc5c.css with 100% similarity]
priv/static/adminfe/chunk-4995.ba9a98d5.css [moved from priv/static/adminfe1/chunk-4995.ba9a98d5.css with 100% similarity]
priv/static/adminfe/chunk-5669.9e91529b.css [moved from priv/static/adminfe1/chunk-5669.9e91529b.css with 100% similarity]
priv/static/adminfe/chunk-59e6.07d1d2f0.css [moved from priv/static/adminfe1/chunk-59e6.07d1d2f0.css with 100% similarity]
priv/static/adminfe/chunk-5cf2.5bf52c8f.css [moved from priv/static/adminfe1/chunk-5cf2.5bf52c8f.css with 100% similarity]
priv/static/adminfe/chunk-68b6.d7a7a7ea.css [moved from priv/static/adminfe1/chunk-68b6.d7a7a7ea.css with 100% similarity]
priv/static/adminfe/chunk-7c11.5c2bbb9c.css [moved from priv/static/adminfe1/chunk-7c11.5c2bbb9c.css with 100% similarity]
priv/static/adminfe/chunk-elementUI.852ab1db.css [moved from priv/static/adminfe1/chunk-elementUI.852ab1db.css with 100% similarity]
priv/static/adminfe/chunk-libs.0b4a26df.css [moved from priv/static/adminfe1/chunk-libs.0b4a26df.css with 100% similarity]
priv/static/adminfe/favicon.ico [moved from priv/static/adminfe1/favicon.ico with 100% similarity]
priv/static/adminfe/index.html [moved from priv/static/adminfe1/index.html with 100% similarity]
priv/static/adminfe/static/fonts/element-icons.535877f.woff [moved from priv/static/adminfe1/static/fonts/element-icons.535877f.woff with 100% similarity]
priv/static/adminfe/static/fonts/element-icons.732389d.ttf [moved from priv/static/adminfe1/static/fonts/element-icons.732389d.ttf with 100% similarity]
priv/static/adminfe/static/js/7zzA.e1ae1c94.js [moved from priv/static/adminfe1/static/js/7zzA.e1ae1c94.js with 100% similarity]
priv/static/adminfe/static/js/7zzA.e1ae1c94.js.map [moved from priv/static/adminfe1/static/js/7zzA.e1ae1c94.js.map with 100% similarity]
priv/static/adminfe/static/js/JEtC.f9ba4594.js [moved from priv/static/adminfe1/static/js/JEtC.f9ba4594.js with 100% similarity]
priv/static/adminfe/static/js/JEtC.f9ba4594.js.map [moved from priv/static/adminfe1/static/js/JEtC.f9ba4594.js.map with 100% similarity]
priv/static/adminfe/static/js/app.c3e187df.js [moved from priv/static/adminfe1/static/js/app.c3e187df.js with 100% similarity]
priv/static/adminfe/static/js/app.c3e187df.js.map [moved from priv/static/adminfe1/static/js/app.c3e187df.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-0c3d.00a00ec3.js [moved from priv/static/adminfe1/static/js/chunk-0c3d.00a00ec3.js with 100% similarity]
priv/static/adminfe/static/js/chunk-0c3d.00a00ec3.js.map [moved from priv/static/adminfe1/static/js/chunk-0c3d.00a00ec3.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-0c60.e0f08810.js [moved from priv/static/adminfe1/static/js/chunk-0c60.e0f08810.js with 100% similarity]
priv/static/adminfe/static/js/chunk-0c60.e0f08810.js.map [moved from priv/static/adminfe1/static/js/chunk-0c60.e0f08810.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-0e2d.04760e2c.js [moved from priv/static/adminfe1/static/js/chunk-0e2d.04760e2c.js with 100% similarity]
priv/static/adminfe/static/js/chunk-0e2d.04760e2c.js.map [moved from priv/static/adminfe1/static/js/chunk-0e2d.04760e2c.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-0fa6.ddd4199e.js [moved from priv/static/adminfe1/static/js/chunk-0fa6.ddd4199e.js with 100% similarity]
priv/static/adminfe/static/js/chunk-0fa6.ddd4199e.js.map [moved from priv/static/adminfe1/static/js/chunk-0fa6.ddd4199e.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-16d0.7d343bb9.js [moved from priv/static/adminfe1/static/js/chunk-16d0.7d343bb9.js with 100% similarity]
priv/static/adminfe/static/js/chunk-16d0.7d343bb9.js.map [moved from priv/static/adminfe1/static/js/chunk-16d0.7d343bb9.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-1a25.107c34e7.js [moved from priv/static/adminfe1/static/js/chunk-1a25.107c34e7.js with 100% similarity]
priv/static/adminfe/static/js/chunk-1a25.107c34e7.js.map [moved from priv/static/adminfe1/static/js/chunk-1a25.107c34e7.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-2be3.7b7c045e.js [moved from priv/static/adminfe1/static/js/chunk-2be3.7b7c045e.js with 100% similarity]
priv/static/adminfe/static/js/chunk-2be3.7b7c045e.js.map [moved from priv/static/adminfe1/static/js/chunk-2be3.7b7c045e.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-2cfa.608c3714.js [moved from priv/static/adminfe1/static/js/chunk-2cfa.608c3714.js with 100% similarity]
priv/static/adminfe/static/js/chunk-2cfa.608c3714.js.map [moved from priv/static/adminfe1/static/js/chunk-2cfa.608c3714.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-305b.3a7fb27b.js [moved from priv/static/adminfe1/static/js/chunk-305b.3a7fb27b.js with 100% similarity]
priv/static/adminfe/static/js/chunk-305b.3a7fb27b.js.map [moved from priv/static/adminfe1/static/js/chunk-305b.3a7fb27b.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-319f.8919d1e7.js [moved from priv/static/adminfe1/static/js/chunk-319f.8919d1e7.js with 100% similarity]
priv/static/adminfe/static/js/chunk-319f.8919d1e7.js.map [moved from priv/static/adminfe1/static/js/chunk-319f.8919d1e7.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-31b9.7b89f7b5.js [moved from priv/static/adminfe1/static/js/chunk-31b9.7b89f7b5.js with 100% similarity]
priv/static/adminfe/static/js/chunk-31b9.7b89f7b5.js.map [moved from priv/static/adminfe1/static/js/chunk-31b9.7b89f7b5.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-33c9.cf3bdd1b.js [moved from priv/static/adminfe1/static/js/chunk-33c9.cf3bdd1b.js with 100% similarity]
priv/static/adminfe/static/js/chunk-33c9.cf3bdd1b.js.map [moved from priv/static/adminfe1/static/js/chunk-33c9.cf3bdd1b.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-42d5.f83ab775.js [moved from priv/static/adminfe1/static/js/chunk-42d5.f83ab775.js with 100% similarity]
priv/static/adminfe/static/js/chunk-42d5.f83ab775.js.map [moved from priv/static/adminfe1/static/js/chunk-42d5.f83ab775.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-45ed.10b6b7a7.js [moved from priv/static/adminfe1/static/js/chunk-45ed.10b6b7a7.js with 100% similarity]
priv/static/adminfe/static/js/chunk-45ed.10b6b7a7.js.map [moved from priv/static/adminfe1/static/js/chunk-45ed.10b6b7a7.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-4995.94e052fc.js [moved from priv/static/adminfe1/static/js/chunk-4995.94e052fc.js with 100% similarity]
priv/static/adminfe/static/js/chunk-4995.94e052fc.js.map [moved from priv/static/adminfe1/static/js/chunk-4995.94e052fc.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-5669.88725eaa.js [moved from priv/static/adminfe1/static/js/chunk-5669.88725eaa.js with 100% similarity]
priv/static/adminfe/static/js/chunk-5669.88725eaa.js.map [moved from priv/static/adminfe1/static/js/chunk-5669.88725eaa.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-59e6.01e205d8.js [moved from priv/static/adminfe1/static/js/chunk-59e6.01e205d8.js with 100% similarity]
priv/static/adminfe/static/js/chunk-59e6.01e205d8.js.map [moved from priv/static/adminfe1/static/js/chunk-59e6.01e205d8.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-5cf2.a8562f1f.js [moved from priv/static/adminfe1/static/js/chunk-5cf2.a8562f1f.js with 100% similarity]
priv/static/adminfe/static/js/chunk-5cf2.a8562f1f.js.map [moved from priv/static/adminfe1/static/js/chunk-5cf2.a8562f1f.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-68b6.4347fd87.js [moved from priv/static/adminfe1/static/js/chunk-68b6.4347fd87.js with 100% similarity]
priv/static/adminfe/static/js/chunk-68b6.4347fd87.js.map [moved from priv/static/adminfe1/static/js/chunk-68b6.4347fd87.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-7c11.b858969e.js [moved from priv/static/adminfe1/static/js/chunk-7c11.b858969e.js with 100% similarity]
priv/static/adminfe/static/js/chunk-7c11.b858969e.js.map [moved from priv/static/adminfe1/static/js/chunk-7c11.b858969e.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-elementUI.bec6fa77.js [moved from priv/static/adminfe1/static/js/chunk-elementUI.bec6fa77.js with 100% similarity]
priv/static/adminfe/static/js/chunk-elementUI.bec6fa77.js.map [moved from priv/static/adminfe1/static/js/chunk-elementUI.bec6fa77.js.map with 100% similarity]
priv/static/adminfe/static/js/chunk-libs.eb232bda.js [moved from priv/static/adminfe1/static/js/chunk-libs.eb232bda.js with 100% similarity]
priv/static/adminfe/static/js/chunk-libs.eb232bda.js.map [moved from priv/static/adminfe1/static/js/chunk-libs.eb232bda.js.map with 100% similarity]
priv/static/adminfe/static/js/oAJy.25bb7cc7.js [moved from priv/static/adminfe1/static/js/oAJy.25bb7cc7.js with 100% similarity]
priv/static/adminfe/static/js/oAJy.25bb7cc7.js.map [moved from priv/static/adminfe1/static/js/oAJy.25bb7cc7.js.map with 100% similarity]
priv/static/adminfe/static/js/runtime.f1a41c33.js [moved from priv/static/adminfe1/static/js/runtime.f1a41c33.js with 100% similarity]
priv/static/adminfe/static/js/runtime.f1a41c33.js.map [moved from priv/static/adminfe1/static/js/runtime.f1a41c33.js.map with 100% similarity]
priv/static/index.html
priv/static/static/css/5948.06d2a0d84620cba6a4fb.css.map [deleted file]
priv/static/static/css/7586.0d43f70bc6240422f179.css [new file with mode: 0644]
priv/static/static/css/7586.0d43f70bc6240422f179.css.map [new file with mode: 0644]
priv/static/static/css/7962.76663e78ad5ea0bb0b90.css [new file with mode: 0644]
priv/static/static/css/7962.76663e78ad5ea0bb0b90.css.map [new file with mode: 0644]
priv/static/static/css/9114.8def3b2b7fe70b3b3712.css.map [deleted file]
priv/static/static/css/9801.cfe503d4c949ae0c3813.css [new file with mode: 0644]
priv/static/static/css/9801.cfe503d4c949ae0c3813.css.map [new file with mode: 0644]
priv/static/static/css/app.48e52505beba5b9ab69b.css.map [deleted file]
priv/static/static/css/app.c18a2c80794a1b699a61.css [new file with mode: 0644]
priv/static/static/css/app.c18a2c80794a1b699a61.css.map [new file with mode: 0644]
priv/static/static/js/159.903e90c9de8ef6c67077.js [moved from priv/static/static/js/159.3a9274574f1e33801c4a.js with 100% similarity]
priv/static/static/js/159.903e90c9de8ef6c67077.js.map [new file with mode: 0644]
priv/static/static/js/3733.7060d1e6bca813125a0c.js [new file with mode: 0644]
priv/static/static/js/3733.7060d1e6bca813125a0c.js.LICENSE.txt [moved from priv/static/static/js/2724.e4840c73281069ba54ab.js.LICENSE.txt with 100% similarity]
priv/static/static/js/3733.7060d1e6bca813125a0c.js.map [new file with mode: 0644]
priv/static/static/js/48.b5ecdbc517423af07ca4.js [moved from priv/static/static/js/48.d7e479b200a6c89c4958.js with 100% similarity]
priv/static/static/js/48.b5ecdbc517423af07ca4.js.LICENSE.txt [moved from priv/static/static/js/48.d7e479b200a6c89c4958.js.LICENSE.txt with 77% similarity]
priv/static/static/js/48.b5ecdbc517423af07ca4.js.map [new file with mode: 0644]
priv/static/static/js/6464.eb9c90a1c948cde554e9.js [moved from priv/static/static/js/6464.fea96fa80a7373e4e5f8.js with 100% similarity]
priv/static/static/js/6464.eb9c90a1c948cde554e9.js.map [new file with mode: 0644]
priv/static/static/js/7586.981b2305a0019f6042a5.js [new file with mode: 0644]
priv/static/static/js/7586.981b2305a0019f6042a5.js.map [new file with mode: 0644]
priv/static/static/js/7962.e25d40b042f8ee7389c3.js [new file with mode: 0644]
priv/static/static/js/7962.e25d40b042f8ee7389c3.js.map [new file with mode: 0644]
priv/static/static/js/9060.24271e167e0471a1a732.js [new file with mode: 0644]
priv/static/static/js/9060.24271e167e0471a1a732.js.map [new file with mode: 0644]
priv/static/static/js/9801.99ace6b5dc657bf1a65b.js [new file with mode: 0644]
priv/static/static/js/9801.99ace6b5dc657bf1a65b.js.map [new file with mode: 0644]
priv/static/static/js/app.7c4b412b26221a7c8572.js [new file with mode: 0644]
priv/static/static/js/app.7c4b412b26221a7c8572.js.map [new file with mode: 0644]
priv/static/static/js/i18n/ar-json.4916f840147303aa65fe.js [new file with mode: 0644]
priv/static/static/js/i18n/ar-json.4916f840147303aa65fe.js.map [new file with mode: 0644]
priv/static/static/js/i18n/eo-json.6c62eef99e850912498b.js [new file with mode: 0644]
priv/static/static/js/i18n/eo-json.6c62eef99e850912498b.js.map [new file with mode: 0644]
priv/static/static/js/i18n/id-json.e5c9ee768155f88128b9.js [new file with mode: 0644]
priv/static/static/js/i18n/id-json.e5c9ee768155f88128b9.js.map [new file with mode: 0644]
priv/static/static/js/i18n/ko-json.9029d09084bb22d8b705.js [new file with mode: 0644]
priv/static/static/js/i18n/ko-json.9029d09084bb22d8b705.js.map [new file with mode: 0644]
priv/static/static/js/i18n/nan-TW-json.7f2789d8a461e86d1734.js [new file with mode: 0644]
priv/static/static/js/i18n/nan-TW-json.7f2789d8a461e86d1734.js.map [new file with mode: 0644]
priv/static/static/js/i18n/zh-json.5831b903c3e6d281f122.js [moved from priv/static/static/js/i18n/zh-json.63e4c9fe0197374a5dac.js with 100% similarity]
priv/static/static/js/i18n/zh-json.5831b903c3e6d281f122.js.map [new file with mode: 0644]
priv/static/static/js/i18n/zh_Hant-json.f7e1d0f4b873c60d6396.js [moved from priv/static/static/js/i18n/zh_Hant-json.bfa569654a5cd74767ce.js with 100% similarity]
priv/static/static/js/i18n/zh_Hant-json.f7e1d0f4b873c60d6396.js.map [new file with mode: 0644]
static/emoji/anni/.pack.json.un~ [new file with mode: 0755]
static/emoji/anni/1398535518001.png [moved from static/emoji/kek/1398535518001.png with 100% similarity]
static/emoji/anni/1636186835012.png [moved from static/emoji/kek/1636186835012.png with 100% similarity]
static/emoji/anni/1636330811762.gif [moved from static/emoji/kek/1636330811762.gif with 100% similarity]
static/emoji/anni/1636564709982.png [moved from static/emoji/kek/1636564709982.png with 100% similarity]
static/emoji/anni/1636660554221.png [moved from static/emoji/kek/1636660554221.png with 100% similarity]
static/emoji/anni/1636906037583.png [moved from static/emoji/kek/1636906037583.png with 100% similarity]
static/emoji/anni/1637100266142.gif [moved from static/emoji/kek/1637100266142.gif with 100% similarity]
static/emoji/anni/1637138987676.jpg [moved from static/emoji/kek/1637138987676.jpg with 100% similarity]
static/emoji/anni/1637618894561.png [moved from static/emoji/kek/1637618894561.png with 100% similarity]
static/emoji/anni/1638157943223.png [moved from static/emoji/kek/1638157943223.png with 100% similarity]
static/emoji/anni/1652819871737.gif [moved from static/emoji/kek/1652819871737.gif with 100% similarity]
static/emoji/anni/1656755142684.png [moved from static/emoji/kek/1656755142684.png with 100% similarity]
static/emoji/anni/1661067713325361.png [moved from static/emoji/kek/1661067713325361.png with 100% similarity]
static/emoji/anni/1668799319837738.png [moved from static/emoji/kek/1668799319837738.png with 100% similarity]
static/emoji/anni/1669138729423.png [moved from static/emoji/kek/1669138729423.png with 100% similarity]
static/emoji/anni/1672502149987626.png [moved from static/emoji/kek/1672502149987626.png with 100% similarity]
static/emoji/anni/1680460897049811.png [moved from static/emoji/kek/1680460897049811.png with 100% similarity]
static/emoji/anni/1680774568932338.png [moved from static/emoji/kek/1680774568932338.png with 100% similarity]
static/emoji/anni/1684914628658786.gif [moved from static/emoji/kek/1684914628658786.gif with 100% similarity]
static/emoji/anni/1684916907538272.png [moved from static/emoji/kek/1684916907538272.png with 100% similarity]
static/emoji/anni/217.png [moved from static/emoji/kek/217.png with 100% similarity]
static/emoji/anni/42b4ef2d06f3d66cfd99bf516406b005b5416a058a5f45dbb64ca7afe6c1788b.png [moved from static/emoji/kek/42b4ef2d06f3d66cfd99bf516406b005b5416a058a5f45dbb64ca7afe6c1788b.png with 100% similarity]
static/emoji/anni/654.jpg [moved from static/emoji/kek/654.jpg with 100% similarity]
static/emoji/anni/677.jpg [moved from static/emoji/kek/677.jpg with 100% similarity]
static/emoji/anni/72d2bcd2f76f674560204fe985013b9ca38eff039151a4e920d3bdbbec99f774.jpg [moved from static/emoji/kek/72d2bcd2f76f674560204fe985013b9ca38eff039151a4e920d3bdbbec99f774.jpg with 100% similarity]
static/emoji/anni/827567683784278027.png [moved from static/emoji/kek/827567683784278027.png with 100% similarity]
static/emoji/anni/84c958fc79a50497.png [moved from static/emoji/kek/84c958fc79a50497.png with 100% similarity]
static/emoji/anni/924075873282449470.png [moved from static/emoji/kek/924075873282449470.png with 100% similarity]
static/emoji/anni/BFC1BDB4-568E-47E6-AF47-09F71D9B8291.png [moved from static/emoji/kek/BFC1BDB4-568E-47E6-AF47-09F71D9B8291.png with 100% similarity]
static/emoji/anni/Elvis_wnsac_1.png [moved from static/emoji/kek/Elvis_wnsac_1.png with 100% similarity]
static/emoji/anni/Flag_of_Israel.png [moved from static/emoji/kek/Flag_of_Israel.png with 100% similarity]
static/emoji/anni/Ll638Yd.png [moved from static/emoji/kek/Ll638Yd.png with 100% similarity]
static/emoji/anni/Seal.gif [moved from static/emoji/kek/Seal.gif with 100% similarity]
static/emoji/anni/Tom_Clancyshorty.jpg [moved from static/emoji/kek/Tom_Clancyshorty.jpg with 100% similarity]
static/emoji/anni/a_openbsd.png [moved from static/emoji/kek/a_openbsd.png with 100% similarity]
static/emoji/anni/alex_huh.png [moved from static/emoji/kek/alex_huh.png with 100% similarity]
static/emoji/anni/alex_lol.png [moved from static/emoji/kek/alex_lol.png with 100% similarity]
static/emoji/anni/anticomieactiontrans.png [moved from static/emoji/kek/anticomieactiontrans.png with 100% similarity]
static/emoji/anni/based.png [moved from static/emoji/kek/based.png with 100% similarity]
static/emoji/anni/bf8e4ea6ca3cb590.png [moved from static/emoji/kek/bf8e4ea6ca3cb590.png with 100% similarity]
static/emoji/anni/biden_cream.png [new file with mode: 0644]
static/emoji/anni/biznus.png [moved from static/emoji/kek/biznus.png with 100% similarity]
static/emoji/anni/blood_hand.png [new file with mode: 0644]
static/emoji/anni/bommer.png [moved from static/emoji/kek/bommer.png with 100% similarity]
static/emoji/anni/c0f9d6f03e906be00a65aeaa25ecfb94dcb07f881f3c3732e6b9f1cf2b95c3d0.gif [moved from static/emoji/kek/c0f9d6f03e906be00a65aeaa25ecfb94dcb07f881f3c3732e6b9f1cf2b95c3d0.gif with 100% similarity]
static/emoji/anni/c9edfb103365012d.png [moved from static/emoji/kek/c9edfb103365012d.png with 100% similarity]
static/emoji/anni/caf66a5a5a0d5eef.png [moved from static/emoji/kek/caf66a5a5a0d5eef.png with 100% similarity]
static/emoji/anni/caleb.png [new file with mode: 0644]
static/emoji/anni/cali_nazi.png [new file with mode: 0644]
static/emoji/anni/chad2.png [moved from static/emoji/kek/chad2.png with 100% similarity]
static/emoji/anni/chink_soup.png [moved from static/emoji/kek/chink_soup.png with 100% similarity]
static/emoji/anni/confused_lebowski.png [moved from static/emoji/kek/confused_lebowski.png with 100% similarity]
static/emoji/anni/crakpipe.gif [moved from static/emoji/kek/crakpipe.gif with 100% similarity]
static/emoji/anni/cunny.png [moved from static/emoji/kek/cunny.png with 100% similarity]
static/emoji/anni/d9ebcb93-776b-4f02-b330-a108e75a20682-Recovered-removebg-preview.png [moved from static/emoji/kek/d9ebcb93-776b-4f02-b330-a108e75a20682-Recovered-removebg-preview.png with 100% similarity]
static/emoji/anni/dobbs.png [moved from static/emoji/kek/dobbs.png with 100% similarity]
static/emoji/anni/dude_doubt.png [moved from static/emoji/kek/dude_doubt.png with 100% similarity]
static/emoji/anni/dude_fuck_it.png [moved from static/emoji/kek/dude_fuck_it.png with 100% similarity]
static/emoji/anni/dude_mad.png [moved from static/emoji/kek/dude_mad.png with 100% similarity]
static/emoji/anni/dude_smug.png [moved from static/emoji/kek/dude_smug.png with 100% similarity]
static/emoji/anni/dude_surprised.png [moved from static/emoji/kek/dude_surprised.png with 100% similarity]
static/emoji/anni/dudethink.png [moved from static/emoji/kek/dudethink.png with 100% similarity]
static/emoji/anni/e39.png [moved from static/emoji/kek/e39.png with 100% similarity]
static/emoji/anni/e72ef3d39ef1ffd40ffb8aff12e52e2f-520872479.png [moved from static/emoji/kek/e72ef3d39ef1ffd40ffb8aff12e52e2f-520872479.png with 100% similarity]
static/emoji/anni/eatsleeprape.jpg [moved from static/emoji/kek/eatsleeprape.jpg with 100% similarity]
static/emoji/anni/eca308b9748086e13a38bba3952eb319f33eab2b5038766838c5669b566659bf.png [moved from static/emoji/kek/eca308b9748086e13a38bba3952eb319f33eab2b5038766838c5669b566659bf.png with 100% similarity]
static/emoji/anni/facebook_frog.png [moved from static/emoji/kek/facebook_frog.png with 100% similarity]
static/emoji/anni/fbi_coke_unit.png [new file with mode: 0644]
static/emoji/anni/file(1).png [moved from static/emoji/kek/file(1).png with 100% similarity]
static/emoji/anni/freemason.png [new file with mode: 0644]
static/emoji/anni/glowie.png [moved from static/emoji/kek/glowie.png with 100% similarity]
static/emoji/anni/glowing_blob.png [moved from static/emoji/kek/glowing_blob.png with 100% similarity]
static/emoji/anni/goth_gf.png [moved from static/emoji/kek/goth_gf.png with 100% similarity]
static/emoji/anni/goth_gf_2.png [moved from static/emoji/kek/goth_gf_2.png with 100% similarity]
static/emoji/anni/greek_pepe.png [moved from static/emoji/kek/greek_pepe.png with 100% similarity]
static/emoji/anni/grrungypepe.jpg [moved from static/emoji/kek/grrungypepe.jpg with 100% similarity]
static/emoji/anni/guts_despair.png [moved from static/emoji/kek/guts_despair.png with 100% similarity]
static/emoji/anni/hmmmmmmmm.png [moved from static/emoji/kek/hmmmmmmmm.png with 100% similarity]
static/emoji/anni/image_proxy~20230404-151842.png [moved from static/emoji/kek/image_proxy~20230404-151842.png with 100% similarity]
static/emoji/anni/index.html [new file with mode: 0644]
static/emoji/anni/index.html.1 [new file with mode: 0644]
static/emoji/anni/inquiring_frog.png [moved from static/emoji/kek/inquiring_frog.png with 100% similarity]
static/emoji/anni/jackdripper.png [moved from static/emoji/kek/jackdripper.png with 100% similarity]
static/emoji/anni/jak_dumb.gif [moved from static/emoji/kek/jak_dumb.gif with 100% similarity]
static/emoji/anni/killself.png [moved from static/emoji/kek/killself.png with 100% similarity]
static/emoji/anni/mcafee.png [moved from static/emoji/kek/mcafee.png with 100% similarity]
static/emoji/anni/mcafee_smoke.png [new file with mode: 0644]
static/emoji/anni/mel_laugh.png [new file with mode: 0644]
static/emoji/anni/mfw.png [moved from static/emoji/kek/mfw.png with 100% similarity]
static/emoji/anni/mr_robot_huh.png [new file with mode: 0644]
static/emoji/anni/mrregan.png [moved from static/emoji/kek/mrregan.png with 100% similarity]
static/emoji/anni/mrwalker.gif [moved from static/emoji/kek/mrwalker.gif with 100% similarity]
static/emoji/anni/nosleep1.png [moved from static/emoji/kek/nosleep1.png with 100% similarity]
static/emoji/anni/oj_laugh.png [moved from static/emoji/kek/oj_laugh.png with 100% similarity]
static/emoji/anni/oj_sad.png [moved from static/emoji/kek/oj_sad.png with 100% similarity]
static/emoji/anni/pack.json [moved from static/emoji/kek/pack.json with 86% similarity]
static/emoji/anni/pack.json~ [moved from static/emoji/kek/pack.json~ with 86% similarity]
static/emoji/anni/pedobear_looking.png [new file with mode: 0644]
static/emoji/anni/pedomustdie.png [moved from static/emoji/kek/pedomustdie.png with 100% similarity]
static/emoji/anni/pepe-drinking-capri-sun.png [moved from static/emoji/kek/pepe-drinking-capri-sun.png with 100% similarity]
static/emoji/anni/pepe_cat.gif [moved from static/emoji/kek/pepe_cat.gif with 100% similarity]
static/emoji/anni/pepe_cofe_2.png [moved from static/emoji/kek/pepe_cofe_2.png with 100% similarity]
static/emoji/anni/pepe_cofe_2_mad.png [moved from static/emoji/kek/pepe_cofe_2_mad.png with 100% similarity]
static/emoji/anni/pepe_gun.png [moved from static/emoji/kek/pepe_gun.png with 100% similarity]
static/emoji/anni/pepe_hug.png [moved from static/emoji/kek/pepe_hug.png with 100% similarity]
static/emoji/anni/pepe_see_tits.png [new file with mode: 0644]
static/emoji/anni/pepe_sleep.png [moved from static/emoji/kek/pepe_sleep.png with 100% similarity]
static/emoji/anni/pepe_taketheshot.png [moved from static/emoji/kek/pepe_taketheshot.png with 100% similarity]
static/emoji/anni/pepe_tea.png [moved from static/emoji/kek/pepe_tea.png with 100% similarity]
static/emoji/anni/pepe_tim.png [moved from static/emoji/kek/pepe_tim.png with 100% similarity]
static/emoji/anni/pepe_whatever.jpg [moved from static/emoji/kek/pepe_whatever.jpg with 100% similarity]
static/emoji/anni/phear_slackware.gif [new file with mode: 0644]
static/emoji/anni/pine.png [moved from static/emoji/kek/pine.png with 100% similarity]
static/emoji/anni/providence.png [new file with mode: 0644]
static/emoji/anni/rkelly_sad.png [moved from static/emoji/kek/rkelly_sad.png with 100% similarity]
static/emoji/anni/runbsd.png [moved from static/emoji/kek/runbsd.png with 100% similarity]
static/emoji/anni/satcong.png [new file with mode: 0644]
static/emoji/anni/shutuppoastuser.png [moved from static/emoji/kek/shutuppoastuser.png with 100% similarity]
static/emoji/anni/sickepepe.gif [moved from static/emoji/kek/sickepepe.gif with 100% similarity]
static/emoji/anni/silent.png [new file with mode: 0644]
static/emoji/anni/spangler.jpg [moved from static/emoji/kek/spangler.jpg with 100% similarity]
static/emoji/anni/spooky_gf.png [new file with mode: 0644]
static/emoji/anni/sulurp.gif [moved from static/emoji/kek/sulurp.gif with 100% similarity]
static/emoji/anni/take_it_easy.png [new file with mode: 0644]
static/emoji/anni/ted.jpg [moved from static/emoji/kek/ted.jpg with 100% similarity]
static/emoji/anni/terry_gross.png [moved from static/emoji/kek/terry_gross.png with 100% similarity]
static/emoji/anni/terrybeats.png [moved from static/emoji/kek/terrybeats.png with 100% similarity]
static/emoji/anni/terrylol.png [moved from static/emoji/kek/terrylol.png with 100% similarity]
static/emoji/anni/to_much_coffee.png [moved from static/emoji/kek/to_much_coffee.png with 100% similarity]
static/emoji/anni/tony.png [moved from static/emoji/kek/tony.png with 100% similarity]
static/emoji/anni/troon_land.png [moved from static/emoji/kek/troon_land.png with 100% similarity]
static/emoji/anni/unabomer.webp [moved from static/emoji/kek/unabomer.webp with 100% similarity]
static/emoji/anni/vault_7.png [moved from static/emoji/kek/vault_7.png with 100% similarity]
static/emoji/anni/walter_sad.png [moved from static/emoji/kek/walter_sad.png with 100% similarity]
static/emoji/anni/walter_smug.png [moved from static/emoji/kek/walter_smug.png with 100% similarity]
static/emoji/anni/walter_wat.png [moved from static/emoji/kek/walter_wat.png with 100% similarity]
static/emoji/anni/wazkings.png [moved from static/emoji/kek/wazkings.png with 100% similarity]
static/emoji/anni/whataboutdat.png [moved from static/emoji/kek/whataboutdat.png with 100% similarity]
static/emoji/anni/workcited1.png [moved from static/emoji/kek/workcited1.png with 100% similarity]
static/emoji/anni/works_on_my_machine.png [moved from static/emoji/kek/works_on_my_machine.png with 100% similarity]
static/emoji/kek/.pack.json.un~ [deleted file]
static/emoji/os_emojies/pack.json~ [deleted file]
static/emoji/postal2/pack.json~ [deleted file]
static/frontends/pleroma-fe/dev/.index.html.un~
static/frontends/pleroma-fe/dev/index.html
static/frontends/pleroma-fe/dev/static/.config.json.un~ [deleted file]
static/frontends/pleroma-fe/dev/static/styles.css
static/instance/.panel.html.un~ [new file with mode: 0755]
static/instance/panel.html
static/instance/panel.html~ [new file with mode: 0755]
static/modules/emoji_reactions_are_retarded.ex
static/static/.styles.json.un~ [moved from static/frontends/pleroma-fe/dev/static/.styles.css.un~ with 61% similarity, mode: 0755]
static/static/styles.json
static/static/themes/.clean-greay.json.un~ [new file with mode: 0644]
static/static/themes/.elic.json.un~ [deleted file]
static/static/themes/clean-grey.json [new file with mode: 0644]
tools/collect-changelog [new file with mode: 0755]

diff --git a/lib/pleroma/web/.router.ex.un~ b/lib/pleroma/web/.router.ex.un~
new file mode 100755 (executable)
index 0000000..7ec278f
Binary files /dev/null and b/lib/pleroma/web/.router.ex.un~ differ
index c1a690e28a59009292587d76176a80cd73715fb4..8a6072f76f935d5432a7f5f299431247804d3e27 100755 (executable)
@@ -229,198 +229,6 @@ defmodule Pleroma.Web.Router do
     post("/uploader_callback/:upload_path", UploaderController, :callback)
   end
 
-  # AdminAPI: only admins can perform these actions
-  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
-    pipe_through([:admin_api, :require_admin])
-
-    get("/users/:nickname/permission_group", AdminAPIController, :right_get)
-    get("/users/:nickname/permission_group/:permission_group", AdminAPIController, :right_get)
-
-    post("/users/:nickname/permission_group/:permission_group", AdminAPIController, :right_add)
-
-    delete(
-      "/users/:nickname/permission_group/:permission_group",
-      AdminAPIController,
-      :right_delete
-    )
-
-    post("/users/permission_group/:permission_group", AdminAPIController, :right_add_multiple)
-
-    delete(
-      "/users/permission_group/:permission_group",
-      AdminAPIController,
-      :right_delete_multiple
-    )
-
-    post("/users/follow", UserController, :follow)
-    post("/users/unfollow", UserController, :unfollow)
-    post("/users", UserController, :create)
-
-    patch("/users/suggest", UserController, :suggest)
-    patch("/users/unsuggest", UserController, :unsuggest)
-
-    get("/relay", RelayController, :index)
-    post("/relay", RelayController, :follow)
-    delete("/relay", RelayController, :unfollow)
-
-    get("/instance_document/:name", InstanceDocumentController, :show)
-    patch("/instance_document/:name", InstanceDocumentController, :update)
-    delete("/instance_document/:name", InstanceDocumentController, :delete)
-
-    get("/config", ConfigController, :show)
-    post("/config", ConfigController, :update)
-    get("/config/descriptions", ConfigController, :descriptions)
-    get("/need_reboot", AdminAPIController, :need_reboot)
-    get("/restart", AdminAPIController, :restart)
-
-    get("/oauth_app", OAuthAppController, :index)
-    post("/oauth_app", OAuthAppController, :create)
-    patch("/oauth_app/:id", OAuthAppController, :update)
-    delete("/oauth_app/:id", OAuthAppController, :delete)
-
-    get("/media_proxy_caches", MediaProxyCacheController, :index)
-    post("/media_proxy_caches/delete", MediaProxyCacheController, :delete)
-    post("/media_proxy_caches/purge", MediaProxyCacheController, :purge)
-
-    get("/frontends", FrontendController, :index)
-    post("/frontends/install", FrontendController, :install)
-
-    post("/backups", AdminAPIController, :create_backup)
-  end
-
-  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
-  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
-    pipe_through(:require_privileged_role_announcements_manage_announcements)
-
-    get("/announcements", AnnouncementController, :index)
-    post("/announcements", AnnouncementController, :create)
-    get("/announcements/:id", AnnouncementController, :show)
-    patch("/announcements/:id", AnnouncementController, :change)
-    delete("/announcements/:id", AnnouncementController, :delete)
-  end
-
-  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
-  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
-    pipe_through(:require_privileged_role_users_delete)
-
-    delete("/users", UserController, :delete)
-  end
-
-  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
-  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
-    pipe_through(:require_privileged_role_users_manage_credentials)
-
-    get("/users/:nickname/password_reset", AdminAPIController, :get_password_reset)
-    get("/users/:nickname/credentials", AdminAPIController, :show_user_credentials)
-    patch("/users/:nickname/credentials", AdminAPIController, :update_user_credentials)
-    put("/users/disable_mfa", AdminAPIController, :disable_mfa)
-    patch("/users/force_password_reset", AdminAPIController, :force_password_reset)
-    patch("/users/confirm_email", AdminAPIController, :confirm_email)
-    patch("/users/resend_confirmation_email", AdminAPIController, :resend_confirmation_email)
-  end
-
-  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
-  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
-    pipe_through(:require_privileged_role_messages_read)
-
-    get("/users/:nickname/statuses", AdminAPIController, :list_user_statuses)
-    get("/users/:nickname/chats", AdminAPIController, :list_user_chats)
-
-    get("/statuses", StatusController, :index)
-
-    get("/chats/:id", ChatController, :show)
-    get("/chats/:id/messages", ChatController, :messages)
-
-    get("/instances/:instance/statuses", InstanceController, :list_statuses)
-
-    get("/statuses/:id", StatusController, :show)
-  end
-
-  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
-  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
-    pipe_through(:require_privileged_role_users_manage_tags)
-
-    put("/users/tag", AdminAPIController, :tag_users)
-    delete("/users/tag", AdminAPIController, :untag_users)
-  end
-
-  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
-  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
-    pipe_through(:require_privileged_role_users_manage_activation_state)
-
-    patch("/users/:nickname/toggle_activation", UserController, :toggle_activation)
-    patch("/users/activate", UserController, :activate)
-    patch("/users/deactivate", UserController, :deactivate)
-  end
-
-  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
-  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
-    pipe_through(:require_privileged_role_users_manage_invites)
-
-    patch("/users/approve", UserController, :approve)
-    post("/users/invite_token", InviteController, :create)
-    get("/users/invites", InviteController, :index)
-    post("/users/revoke_invite", InviteController, :revoke)
-    post("/users/email_invite", InviteController, :email)
-  end
-
-  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
-  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
-    pipe_through(:require_privileged_role_reports_manage_reports)
-
-    get("/reports", ReportController, :index)
-    get("/reports/:id", ReportController, :show)
-    patch("/reports", ReportController, :update)
-    post("/reports/:id/notes", ReportController, :notes_create)
-    delete("/reports/:report_id/notes/:id", ReportController, :notes_delete)
-  end
-
-  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
-  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
-    pipe_through(:require_privileged_role_users_read)
-
-    get("/users", UserController, :index)
-    get("/users/:nickname", UserController, :show)
-  end
-
-  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
-  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
-    pipe_through(:require_privileged_role_messages_delete)
-
-    put("/statuses/:id", StatusController, :update)
-    delete("/statuses/:id", StatusController, :delete)
-
-    delete("/chats/:id/messages/:message_id", ChatController, :delete_message)
-  end
-
-  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
-  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
-    pipe_through(:require_privileged_role_emoji_manage_emoji)
-
-    post("/reload_emoji", AdminAPIController, :reload_emoji)
-  end
-
-  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
-  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
-    pipe_through(:require_privileged_role_instances_delete)
-
-    delete("/instances/:instance", InstanceController, :delete)
-  end
-
-  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
-  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
-    pipe_through(:require_privileged_role_moderation_log_read)
-
-    get("/moderation_log", AdminAPIController, :list_log)
-  end
-
-  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
-  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
-    pipe_through(:require_privileged_role_statistics_read)
-
-    get("/stats", AdminAPIController, :stats)
-  end
-
   scope "/api/v1/pleroma/emoji", Pleroma.Web.PleromaAPI do
     scope "/pack" do
       pipe_through(:require_privileged_role_emoji_manage_emoji)
diff --git a/lib/pleroma/web/router.ex~ b/lib/pleroma/web/router.ex~
new file mode 100755 (executable)
index 0000000..c1a690e
--- /dev/null
@@ -0,0 +1,1017 @@
+# Pleroma: A lightweight social networking server
+# Copyright Â© 2017-2022 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.Web.Router do
+  use Pleroma.Web, :router
+  import Phoenix.LiveDashboard.Router
+
+  pipeline :accepts_html do
+    plug(:accepts, ["html"])
+  end
+
+  pipeline :accepts_html_xml do
+    plug(:accepts, ["html", "xml", "rss", "atom"])
+  end
+
+  pipeline :accepts_html_json do
+    plug(:accepts, ["html", "activity+json", "json"])
+  end
+
+  pipeline :accepts_html_xml_json do
+    plug(:accepts, ["html", "xml", "rss", "atom", "activity+json", "json"])
+  end
+
+  pipeline :accepts_xml_rss_atom do
+    plug(:accepts, ["xml", "rss", "atom"])
+  end
+
+  pipeline :browser do
+    plug(:accepts, ["html"])
+    plug(:fetch_session)
+  end
+
+  pipeline :oauth do
+    plug(:fetch_session)
+    plug(Pleroma.Web.Plugs.OAuthPlug)
+    plug(Pleroma.Web.Plugs.UserEnabledPlug)
+    plug(Pleroma.Web.Plugs.EnsureUserTokenAssignsPlug)
+  end
+
+  # Note: expects _user_ authentication (user-unbound app-bound tokens don't qualify)
+  pipeline :expect_user_authentication do
+    plug(Pleroma.Web.Plugs.ExpectAuthenticatedCheckPlug)
+  end
+
+  # Note: expects public instance or _user_ authentication (user-unbound tokens don't qualify)
+  pipeline :expect_public_instance_or_user_authentication do
+    plug(Pleroma.Web.Plugs.ExpectPublicOrAuthenticatedCheckPlug)
+  end
+
+  pipeline :authenticate do
+    plug(Pleroma.Web.Plugs.OAuthPlug)
+    plug(Pleroma.Web.Plugs.BasicAuthDecoderPlug)
+    plug(Pleroma.Web.Plugs.UserFetcherPlug)
+    plug(Pleroma.Web.Plugs.AuthenticationPlug)
+  end
+
+  pipeline :after_auth do
+    plug(Pleroma.Web.Plugs.UserEnabledPlug)
+    plug(Pleroma.Web.Plugs.SetUserSessionIdPlug)
+    plug(Pleroma.Web.Plugs.EnsureUserTokenAssignsPlug)
+    plug(Pleroma.Web.Plugs.UserTrackingPlug)
+  end
+
+  pipeline :base_api do
+    plug(:accepts, ["json"])
+    plug(:fetch_session)
+    plug(:authenticate)
+    plug(OpenApiSpex.Plug.PutApiSpec, module: Pleroma.Web.ApiSpec)
+  end
+
+  pipeline :no_auth_or_privacy_expectations_api do
+    plug(:base_api)
+    plug(:after_auth)
+    plug(Pleroma.Web.Plugs.IdempotencyPlug)
+  end
+
+  # Pipeline for app-related endpoints (no user auth checks â€” app-bound tokens must be supported)
+  pipeline :app_api do
+    plug(:no_auth_or_privacy_expectations_api)
+  end
+
+  pipeline :api do
+    plug(:expect_public_instance_or_user_authentication)
+    plug(:no_auth_or_privacy_expectations_api)
+  end
+
+  pipeline :authenticated_api do
+    plug(:expect_user_authentication)
+    plug(:no_auth_or_privacy_expectations_api)
+    plug(Pleroma.Web.Plugs.EnsureAuthenticatedPlug)
+  end
+
+  pipeline :admin_api do
+    plug(:expect_user_authentication)
+    plug(:base_api)
+    plug(Pleroma.Web.Plugs.AdminSecretAuthenticationPlug)
+    plug(:after_auth)
+    plug(Pleroma.Web.Plugs.EnsureAuthenticatedPlug)
+    plug(Pleroma.Web.Plugs.UserIsStaffPlug)
+    plug(Pleroma.Web.Plugs.IdempotencyPlug)
+  end
+
+  pipeline :require_admin do
+    plug(Pleroma.Web.Plugs.UserIsAdminPlug)
+  end
+
+  pipeline :require_privileged_role_users_delete do
+    plug(:admin_api)
+    plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :users_delete)
+  end
+
+  pipeline :require_privileged_role_users_manage_credentials do
+    plug(:admin_api)
+    plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :users_manage_credentials)
+  end
+
+  pipeline :require_privileged_role_messages_read do
+    plug(:admin_api)
+    plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :messages_read)
+  end
+
+  pipeline :require_privileged_role_users_manage_tags do
+    plug(:admin_api)
+    plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :users_manage_tags)
+  end
+
+  pipeline :require_privileged_role_users_manage_activation_state do
+    plug(:admin_api)
+    plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :users_manage_activation_state)
+  end
+
+  pipeline :require_privileged_role_users_manage_invites do
+    plug(:admin_api)
+    plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :users_manage_invites)
+  end
+
+  pipeline :require_privileged_role_reports_manage_reports do
+    plug(:admin_api)
+    plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :reports_manage_reports)
+  end
+
+  pipeline :require_privileged_role_users_read do
+    plug(:admin_api)
+    plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :users_read)
+  end
+
+  pipeline :require_privileged_role_messages_delete do
+    plug(:admin_api)
+    plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :messages_delete)
+  end
+
+  pipeline :require_privileged_role_emoji_manage_emoji do
+    plug(:admin_api)
+    plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :emoji_manage_emoji)
+  end
+
+  pipeline :require_privileged_role_instances_delete do
+    plug(:admin_api)
+    plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :instances_delete)
+  end
+
+  pipeline :require_privileged_role_moderation_log_read do
+    plug(:admin_api)
+    plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :moderation_log_read)
+  end
+
+  pipeline :require_privileged_role_statistics_read do
+    plug(:admin_api)
+    plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :statistics_read)
+  end
+
+  pipeline :require_privileged_role_announcements_manage_announcements do
+    plug(:admin_api)
+    plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :announcements_manage_announcements)
+  end
+
+  pipeline :pleroma_html do
+    plug(:browser)
+    plug(:authenticate)
+    plug(Pleroma.Web.Plugs.EnsureUserTokenAssignsPlug)
+  end
+
+  pipeline :well_known do
+    plug(:accepts, ["json", "jrd+json", "xml", "xrd+xml"])
+  end
+
+  pipeline :config do
+    plug(:accepts, ["json", "xml"])
+    plug(OpenApiSpex.Plug.PutApiSpec, module: Pleroma.Web.ApiSpec)
+  end
+
+  pipeline :pleroma_api do
+    plug(:accepts, ["html", "json"])
+    plug(OpenApiSpex.Plug.PutApiSpec, module: Pleroma.Web.ApiSpec)
+  end
+
+  pipeline :mailbox_preview do
+    plug(:accepts, ["html"])
+
+    plug(:put_secure_browser_headers, %{
+      "content-security-policy" =>
+        "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline' 'unsafe-eval'"
+    })
+  end
+
+  pipeline :http_signature do
+    plug(Pleroma.Web.Plugs.HTTPSignaturePlug)
+    plug(Pleroma.Web.Plugs.MappedSignatureToIdentityPlug)
+  end
+
+  pipeline :static_fe do
+    plug(Pleroma.Web.Plugs.StaticFEPlug)
+  end
+
+  scope "/api/v1/pleroma", Pleroma.Web.TwitterAPI do
+    pipe_through(:pleroma_api)
+
+    get("/password_reset/:token", PasswordController, :reset, as: :reset_password)
+    post("/password_reset", PasswordController, :do_reset, as: :reset_password)
+    get("/emoji", UtilController, :emoji)
+    get("/captcha", UtilController, :captcha)
+    get("/healthcheck", UtilController, :healthcheck)
+    post("/remote_interaction", UtilController, :remote_interaction)
+  end
+
+  scope "/api/v1/pleroma", Pleroma.Web do
+    pipe_through(:pleroma_api)
+    post("/uploader_callback/:upload_path", UploaderController, :callback)
+  end
+
+  # AdminAPI: only admins can perform these actions
+  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
+    pipe_through([:admin_api, :require_admin])
+
+    get("/users/:nickname/permission_group", AdminAPIController, :right_get)
+    get("/users/:nickname/permission_group/:permission_group", AdminAPIController, :right_get)
+
+    post("/users/:nickname/permission_group/:permission_group", AdminAPIController, :right_add)
+
+    delete(
+      "/users/:nickname/permission_group/:permission_group",
+      AdminAPIController,
+      :right_delete
+    )
+
+    post("/users/permission_group/:permission_group", AdminAPIController, :right_add_multiple)
+
+    delete(
+      "/users/permission_group/:permission_group",
+      AdminAPIController,
+      :right_delete_multiple
+    )
+
+    post("/users/follow", UserController, :follow)
+    post("/users/unfollow", UserController, :unfollow)
+    post("/users", UserController, :create)
+
+    patch("/users/suggest", UserController, :suggest)
+    patch("/users/unsuggest", UserController, :unsuggest)
+
+    get("/relay", RelayController, :index)
+    post("/relay", RelayController, :follow)
+    delete("/relay", RelayController, :unfollow)
+
+    get("/instance_document/:name", InstanceDocumentController, :show)
+    patch("/instance_document/:name", InstanceDocumentController, :update)
+    delete("/instance_document/:name", InstanceDocumentController, :delete)
+
+    get("/config", ConfigController, :show)
+    post("/config", ConfigController, :update)
+    get("/config/descriptions", ConfigController, :descriptions)
+    get("/need_reboot", AdminAPIController, :need_reboot)
+    get("/restart", AdminAPIController, :restart)
+
+    get("/oauth_app", OAuthAppController, :index)
+    post("/oauth_app", OAuthAppController, :create)
+    patch("/oauth_app/:id", OAuthAppController, :update)
+    delete("/oauth_app/:id", OAuthAppController, :delete)
+
+    get("/media_proxy_caches", MediaProxyCacheController, :index)
+    post("/media_proxy_caches/delete", MediaProxyCacheController, :delete)
+    post("/media_proxy_caches/purge", MediaProxyCacheController, :purge)
+
+    get("/frontends", FrontendController, :index)
+    post("/frontends/install", FrontendController, :install)
+
+    post("/backups", AdminAPIController, :create_backup)
+  end
+
+  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
+  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
+    pipe_through(:require_privileged_role_announcements_manage_announcements)
+
+    get("/announcements", AnnouncementController, :index)
+    post("/announcements", AnnouncementController, :create)
+    get("/announcements/:id", AnnouncementController, :show)
+    patch("/announcements/:id", AnnouncementController, :change)
+    delete("/announcements/:id", AnnouncementController, :delete)
+  end
+
+  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
+  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
+    pipe_through(:require_privileged_role_users_delete)
+
+    delete("/users", UserController, :delete)
+  end
+
+  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
+  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
+    pipe_through(:require_privileged_role_users_manage_credentials)
+
+    get("/users/:nickname/password_reset", AdminAPIController, :get_password_reset)
+    get("/users/:nickname/credentials", AdminAPIController, :show_user_credentials)
+    patch("/users/:nickname/credentials", AdminAPIController, :update_user_credentials)
+    put("/users/disable_mfa", AdminAPIController, :disable_mfa)
+    patch("/users/force_password_reset", AdminAPIController, :force_password_reset)
+    patch("/users/confirm_email", AdminAPIController, :confirm_email)
+    patch("/users/resend_confirmation_email", AdminAPIController, :resend_confirmation_email)
+  end
+
+  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
+  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
+    pipe_through(:require_privileged_role_messages_read)
+
+    get("/users/:nickname/statuses", AdminAPIController, :list_user_statuses)
+    get("/users/:nickname/chats", AdminAPIController, :list_user_chats)
+
+    get("/statuses", StatusController, :index)
+
+    get("/chats/:id", ChatController, :show)
+    get("/chats/:id/messages", ChatController, :messages)
+
+    get("/instances/:instance/statuses", InstanceController, :list_statuses)
+
+    get("/statuses/:id", StatusController, :show)
+  end
+
+  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
+  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
+    pipe_through(:require_privileged_role_users_manage_tags)
+
+    put("/users/tag", AdminAPIController, :tag_users)
+    delete("/users/tag", AdminAPIController, :untag_users)
+  end
+
+  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
+  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
+    pipe_through(:require_privileged_role_users_manage_activation_state)
+
+    patch("/users/:nickname/toggle_activation", UserController, :toggle_activation)
+    patch("/users/activate", UserController, :activate)
+    patch("/users/deactivate", UserController, :deactivate)
+  end
+
+  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
+  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
+    pipe_through(:require_privileged_role_users_manage_invites)
+
+    patch("/users/approve", UserController, :approve)
+    post("/users/invite_token", InviteController, :create)
+    get("/users/invites", InviteController, :index)
+    post("/users/revoke_invite", InviteController, :revoke)
+    post("/users/email_invite", InviteController, :email)
+  end
+
+  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
+  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
+    pipe_through(:require_privileged_role_reports_manage_reports)
+
+    get("/reports", ReportController, :index)
+    get("/reports/:id", ReportController, :show)
+    patch("/reports", ReportController, :update)
+    post("/reports/:id/notes", ReportController, :notes_create)
+    delete("/reports/:report_id/notes/:id", ReportController, :notes_delete)
+  end
+
+  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
+  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
+    pipe_through(:require_privileged_role_users_read)
+
+    get("/users", UserController, :index)
+    get("/users/:nickname", UserController, :show)
+  end
+
+  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
+  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
+    pipe_through(:require_privileged_role_messages_delete)
+
+    put("/statuses/:id", StatusController, :update)
+    delete("/statuses/:id", StatusController, :delete)
+
+    delete("/chats/:id/messages/:message_id", ChatController, :delete_message)
+  end
+
+  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
+  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
+    pipe_through(:require_privileged_role_emoji_manage_emoji)
+
+    post("/reload_emoji", AdminAPIController, :reload_emoji)
+  end
+
+  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
+  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
+    pipe_through(:require_privileged_role_instances_delete)
+
+    delete("/instances/:instance", InstanceController, :delete)
+  end
+
+  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
+  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
+    pipe_through(:require_privileged_role_moderation_log_read)
+
+    get("/moderation_log", AdminAPIController, :list_log)
+  end
+
+  # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
+  scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
+    pipe_through(:require_privileged_role_statistics_read)
+
+    get("/stats", AdminAPIController, :stats)
+  end
+
+  scope "/api/v1/pleroma/emoji", Pleroma.Web.PleromaAPI do
+    scope "/pack" do
+      pipe_through(:require_privileged_role_emoji_manage_emoji)
+
+      post("/", EmojiPackController, :create)
+      patch("/", EmojiPackController, :update)
+      delete("/", EmojiPackController, :delete)
+    end
+
+    scope "/pack" do
+      pipe_through(:api)
+
+      get("/", EmojiPackController, :show)
+    end
+
+    # Modifying packs
+    scope "/packs" do
+      pipe_through(:require_privileged_role_emoji_manage_emoji)
+
+      get("/import", EmojiPackController, :import_from_filesystem)
+      get("/remote", EmojiPackController, :remote)
+      post("/download", EmojiPackController, :download)
+
+      post("/files", EmojiFileController, :create)
+      patch("/files", EmojiFileController, :update)
+      delete("/files", EmojiFileController, :delete)
+    end
+
+    # Pack info / downloading
+    scope "/packs" do
+      pipe_through(:api)
+
+      get("/", EmojiPackController, :index)
+      get("/archive", EmojiPackController, :archive)
+    end
+  end
+
+  scope "/", Pleroma.Web.TwitterAPI do
+    pipe_through(:pleroma_html)
+
+    post("/main/ostatus", UtilController, :remote_subscribe)
+    get("/main/ostatus", UtilController, :show_subscribe_form)
+    get("/ostatus_subscribe", RemoteFollowController, :follow)
+    post("/ostatus_subscribe", RemoteFollowController, :do_follow)
+  end
+
+  scope "/api/pleroma", Pleroma.Web.TwitterAPI do
+    pipe_through(:authenticated_api)
+
+    post("/change_email", UtilController, :change_email)
+    post("/change_password", UtilController, :change_password)
+    post("/delete_account", UtilController, :delete_account)
+    put("/notification_settings", UtilController, :update_notificaton_settings)
+    post("/disable_account", UtilController, :disable_account)
+    post("/move_account", UtilController, :move_account)
+
+    put("/aliases", UtilController, :add_alias)
+    get("/aliases", UtilController, :list_aliases)
+    delete("/aliases", UtilController, :delete_alias)
+  end
+
+  scope "/api/pleroma", Pleroma.Web.PleromaAPI do
+    pipe_through(:authenticated_api)
+
+    post("/mutes_import", UserImportController, :mutes)
+    post("/blocks_import", UserImportController, :blocks)
+    post("/follow_import", UserImportController, :follow)
+
+    get("/accounts/mfa", TwoFactorAuthenticationController, :settings)
+    get("/accounts/mfa/backup_codes", TwoFactorAuthenticationController, :backup_codes)
+    get("/accounts/mfa/setup/:method", TwoFactorAuthenticationController, :setup)
+    post("/accounts/mfa/confirm/:method", TwoFactorAuthenticationController, :confirm)
+    delete("/accounts/mfa/:method", TwoFactorAuthenticationController, :disable)
+  end
+
+  scope "/oauth", Pleroma.Web.OAuth do
+    # Note: use /api/v1/accounts/verify_credentials for userinfo of signed-in user
+
+    get("/registration_details", OAuthController, :registration_details)
+
+    post("/mfa/verify", MFAController, :verify, as: :mfa_verify)
+    get("/mfa", MFAController, :show)
+
+    scope [] do
+      pipe_through(:oauth)
+
+      get("/authorize", OAuthController, :authorize)
+      post("/authorize", OAuthController, :create_authorization)
+    end
+
+    scope [] do
+      pipe_through(:fetch_session)
+
+      post("/token", OAuthController, :token_exchange)
+      post("/revoke", OAuthController, :token_revoke)
+      post("/mfa/challenge", MFAController, :challenge)
+    end
+
+    scope [] do
+      pipe_through(:browser)
+
+      get("/prepare_request", OAuthController, :prepare_request)
+      get("/:provider", OAuthController, :request)
+      get("/:provider/callback", OAuthController, :callback)
+      post("/register", OAuthController, :register)
+    end
+  end
+
+  scope "/api/v1/pleroma", Pleroma.Web.PleromaAPI do
+    pipe_through(:api)
+
+    get("/apps", AppController, :index)
+    get("/statuses/:id/reactions/:emoji", EmojiReactionController, :index)
+    get("/statuses/:id/reactions", EmojiReactionController, :index)
+  end
+
+  scope "/api/v0/pleroma", Pleroma.Web.PleromaAPI do
+    pipe_through(:authenticated_api)
+    get("/reports", ReportController, :index)
+    get("/reports/:id", ReportController, :show)
+  end
+
+  scope "/api/v1/pleroma", Pleroma.Web.PleromaAPI do
+    scope [] do
+      pipe_through(:authenticated_api)
+
+      post("/chats/by-account-id/:id", ChatController, :create)
+      get("/chats", ChatController, :index)
+      get("/chats/:id", ChatController, :show)
+      get("/chats/:id/messages", ChatController, :messages)
+      post("/chats/:id/messages", ChatController, :post_chat_message)
+      delete("/chats/:id/messages/:message_id", ChatController, :delete_message)
+      post("/chats/:id/read", ChatController, :mark_as_read)
+      post("/chats/:id/messages/:message_id/read", ChatController, :mark_message_as_read)
+
+      get("/conversations/:id/statuses", ConversationController, :statuses)
+      get("/conversations/:id", ConversationController, :show)
+      post("/conversations/read", ConversationController, :mark_as_read)
+      patch("/conversations/:id", ConversationController, :update)
+
+      put("/statuses/:id/reactions/:emoji", EmojiReactionController, :create)
+      delete("/statuses/:id/reactions/:emoji", EmojiReactionController, :delete)
+      post("/notifications/read", NotificationController, :mark_as_read)
+
+      get("/mascot", MascotController, :show)
+      put("/mascot", MascotController, :update)
+
+      post("/scrobble", ScrobbleController, :create)
+
+      get("/backups", BackupController, :index)
+      post("/backups", BackupController, :create)
+    end
+
+    scope [] do
+      pipe_through(:api)
+      get("/accounts/:id/favourites", AccountController, :favourites)
+      get("/accounts/:id/endorsements", AccountController, :endorsements)
+    end
+
+    scope [] do
+      pipe_through(:authenticated_api)
+
+      post("/accounts/:id/subscribe", AccountController, :subscribe)
+      post("/accounts/:id/unsubscribe", AccountController, :unsubscribe)
+
+      get("/birthdays", AccountController, :birthdays)
+    end
+
+    scope [] do
+      pipe_through(:authenticated_api)
+
+      get("/settings/:app", SettingsController, :show)
+      patch("/settings/:app", SettingsController, :update)
+    end
+
+    post("/accounts/confirmation_resend", AccountController, :confirmation_resend)
+  end
+
+  scope "/api/v1/pleroma", Pleroma.Web.PleromaAPI do
+    pipe_through(:api)
+    get("/accounts/:id/scrobbles", ScrobbleController, :index)
+    get("/federation_status", InstancesController, :show)
+  end
+
+  scope "/api/v2/pleroma", Pleroma.Web.PleromaAPI do
+    scope [] do
+      pipe_through(:authenticated_api)
+      get("/chats", ChatController, :index2)
+    end
+  end
+
+  scope "/api/v1", Pleroma.Web.MastodonAPI do
+    pipe_through(:authenticated_api)
+
+    get("/accounts/verify_credentials", AccountController, :verify_credentials)
+    patch("/accounts/update_credentials", AccountController, :update_credentials)
+
+    get("/accounts/relationships", AccountController, :relationships)
+    get("/accounts/:id/lists", AccountController, :lists)
+    get("/accounts/:id/identity_proofs", AccountController, :identity_proofs)
+    get("/endorsements", AccountController, :endorsements)
+    get("/blocks", AccountController, :blocks)
+    get("/mutes", AccountController, :mutes)
+
+    post("/follows", AccountController, :follow_by_uri)
+    post("/accounts/:id/follow", AccountController, :follow)
+    post("/accounts/:id/unfollow", AccountController, :unfollow)
+    post("/accounts/:id/block", AccountController, :block)
+    post("/accounts/:id/unblock", AccountController, :unblock)
+    post("/accounts/:id/mute", AccountController, :mute)
+    post("/accounts/:id/unmute", AccountController, :unmute)
+    post("/accounts/:id/note", AccountController, :note)
+    post("/accounts/:id/pin", AccountController, :endorse)
+    post("/accounts/:id/unpin", AccountController, :unendorse)
+    post("/accounts/:id/remove_from_followers", AccountController, :remove_from_followers)
+
+    get("/conversations", ConversationController, :index)
+    post("/conversations/:id/read", ConversationController, :mark_as_read)
+    delete("/conversations/:id", ConversationController, :delete)
+
+    get("/domain_blocks", DomainBlockController, :index)
+    post("/domain_blocks", DomainBlockController, :create)
+    delete("/domain_blocks", DomainBlockController, :delete)
+
+    get("/filters", FilterController, :index)
+
+    post("/filters", FilterController, :create)
+    get("/filters/:id", FilterController, :show)
+    put("/filters/:id", FilterController, :update)
+    delete("/filters/:id", FilterController, :delete)
+
+    get("/follow_requests", FollowRequestController, :index)
+    post("/follow_requests/:id/authorize", FollowRequestController, :authorize)
+    post("/follow_requests/:id/reject", FollowRequestController, :reject)
+
+    get("/lists", ListController, :index)
+    get("/lists/:id", ListController, :show)
+    get("/lists/:id/accounts", ListController, :list_accounts)
+
+    delete("/lists/:id", ListController, :delete)
+    post("/lists", ListController, :create)
+    put("/lists/:id", ListController, :update)
+    post("/lists/:id/accounts", ListController, :add_to_list)
+    delete("/lists/:id/accounts", ListController, :remove_from_list)
+
+    get("/markers", MarkerController, :index)
+    post("/markers", MarkerController, :upsert)
+
+    post("/media", MediaController, :create)
+    get("/media/:id", MediaController, :show)
+    put("/media/:id", MediaController, :update)
+
+    get("/notifications", NotificationController, :index)
+    get("/notifications/:id", NotificationController, :show)
+
+    post("/notifications/:id/dismiss", NotificationController, :dismiss)
+    post("/notifications/clear", NotificationController, :clear)
+    delete("/notifications/destroy_multiple", NotificationController, :destroy_multiple)
+    # Deprecated: was removed in Mastodon v3, use `/notifications/:id/dismiss` instead
+    post("/notifications/dismiss", NotificationController, :dismiss_via_body)
+
+    post("/polls/:id/votes", PollController, :vote)
+
+    post("/reports", ReportController, :create)
+
+    get("/scheduled_statuses", ScheduledActivityController, :index)
+    get("/scheduled_statuses/:id", ScheduledActivityController, :show)
+
+    put("/scheduled_statuses/:id", ScheduledActivityController, :update)
+    delete("/scheduled_statuses/:id", ScheduledActivityController, :delete)
+
+    # Unlike `GET /api/v1/accounts/:id/favourites`, demands authentication
+    get("/favourites", StatusController, :favourites)
+    get("/bookmarks", StatusController, :bookmarks)
+
+    post("/statuses", StatusController, :create)
+    put("/statuses/:id", StatusController, :update)
+    delete("/statuses/:id", StatusController, :delete)
+    post("/statuses/:id/reblog", StatusController, :reblog)
+    post("/statuses/:id/unreblog", StatusController, :unreblog)
+    post("/statuses/:id/favourite", StatusController, :favourite)
+    post("/statuses/:id/unfavourite", StatusController, :unfavourite)
+    post("/statuses/:id/pin", StatusController, :pin)
+    post("/statuses/:id/unpin", StatusController, :unpin)
+    post("/statuses/:id/bookmark", StatusController, :bookmark)
+    post("/statuses/:id/unbookmark", StatusController, :unbookmark)
+    post("/statuses/:id/mute", StatusController, :mute_conversation)
+    post("/statuses/:id/unmute", StatusController, :unmute_conversation)
+
+    post("/push/subscription", SubscriptionController, :create)
+    get("/push/subscription", SubscriptionController, :show)
+    put("/push/subscription", SubscriptionController, :update)
+    delete("/push/subscription", SubscriptionController, :delete)
+
+    get("/suggestions", SuggestionController, :index)
+    delete("/suggestions/:account_id", SuggestionController, :dismiss)
+
+    get("/timelines/home", TimelineController, :home)
+    get("/timelines/direct", TimelineController, :direct)
+    get("/timelines/list/:list_id", TimelineController, :list)
+
+    get("/announcements", AnnouncementController, :index)
+    post("/announcements/:id/dismiss", AnnouncementController, :mark_read)
+  end
+
+  scope "/api/v1", Pleroma.Web.MastodonAPI do
+    pipe_through(:app_api)
+
+    post("/apps", AppController, :create)
+    get("/apps/verify_credentials", AppController, :verify_credentials)
+  end
+
+  scope "/api/v1", Pleroma.Web.MastodonAPI do
+    pipe_through(:api)
+
+    get("/accounts/search", SearchController, :account_search)
+    get("/search", SearchController, :search)
+
+    get("/accounts/lookup", AccountController, :lookup)
+
+    get("/accounts/:id/statuses", AccountController, :statuses)
+    get("/accounts/:id/followers", AccountController, :followers)
+    get("/accounts/:id/following", AccountController, :following)
+    get("/accounts/:id", AccountController, :show)
+
+    post("/accounts", AccountController, :create)
+
+    get("/instance", InstanceController, :show)
+    get("/instance/peers", InstanceController, :peers)
+
+    get("/statuses", StatusController, :index)
+    get("/statuses/:id", StatusController, :show)
+    get("/statuses/:id/context", StatusController, :context)
+    get("/statuses/:id/card", StatusController, :card)
+    get("/statuses/:id/favourited_by", StatusController, :favourited_by)
+    get("/statuses/:id/reblogged_by", StatusController, :reblogged_by)
+    get("/statuses/:id/history", StatusController, :show_history)
+    get("/statuses/:id/source", StatusController, :show_source)
+
+    get("/custom_emojis", CustomEmojiController, :index)
+
+    get("/trends", MastodonAPIController, :empty_array)
+
+    get("/timelines/public", TimelineController, :public)
+    get("/timelines/tag/:tag", TimelineController, :hashtag)
+
+    get("/polls/:id", PollController, :show)
+
+    get("/directory", DirectoryController, :index)
+  end
+
+  scope "/api/v2", Pleroma.Web.MastodonAPI do
+    pipe_through(:api)
+    get("/search", SearchController, :search2)
+
+    post("/media", MediaController, :create2)
+
+    get("/suggestions", SuggestionController, :index2)
+  end
+
+  scope "/api", Pleroma.Web do
+    pipe_through(:config)
+
+    get("/pleroma/frontend_configurations", TwitterAPI.UtilController, :frontend_configurations)
+  end
+
+  scope "/api", Pleroma.Web do
+    pipe_through(:api)
+
+    get(
+      "/account/confirm_email/:user_id/:token",
+      TwitterAPI.Controller,
+      :confirm_email,
+      as: :confirm_email
+    )
+  end
+
+  scope "/api" do
+    pipe_through(:base_api)
+
+    get("/openapi", OpenApiSpex.Plug.RenderSpec, [])
+  end
+
+  scope "/api", Pleroma.Web, as: :authenticated_twitter_api do
+    pipe_through(:authenticated_api)
+
+    get("/oauth_tokens", TwitterAPI.Controller, :oauth_tokens)
+    delete("/oauth_tokens/:id", TwitterAPI.Controller, :revoke_token)
+  end
+
+  scope "/", Pleroma.Web do
+    # Note: html format is supported only if static FE is enabled
+    # Note: http signature is only considered for json requests (no auth for non-json requests)
+    pipe_through([:accepts_html_json, :http_signature, :static_fe])
+
+    get("/objects/:uuid", OStatus.OStatusController, :object)
+    get("/activities/:uuid", OStatus.OStatusController, :activity)
+    get("/notice/:id", OStatus.OStatusController, :notice)
+
+    # Mastodon compatibility routes
+    get("/users/:nickname/statuses/:id", OStatus.OStatusController, :object)
+    get("/users/:nickname/statuses/:id/activity", OStatus.OStatusController, :activity)
+  end
+
+  scope "/", Pleroma.Web do
+    # Note: html format is supported only if static FE is enabled
+    # Note: http signature is only considered for json requests (no auth for non-json requests)
+    pipe_through([:accepts_html_xml_json, :http_signature, :static_fe])
+
+    # Note: returns user _profile_ for json requests, redirects to user _feed_ for non-json ones
+    get("/users/:nickname", Feed.UserController, :feed_redirect, as: :user_feed)
+  end
+
+  scope "/", Pleroma.Web do
+    pipe_through([:accepts_html_xml])
+
+    get("/users/:nickname/feed", Feed.UserController, :feed, as: :user_feed)
+  end
+
+  scope "/", Pleroma.Web do
+    pipe_through(:accepts_html)
+    get("/notice/:id/embed_player", OStatus.OStatusController, :notice_player)
+  end
+
+  scope "/", Pleroma.Web do
+    pipe_through(:accepts_xml_rss_atom)
+    get("/tags/:tag", Feed.TagController, :feed, as: :tag_feed)
+  end
+
+  scope "/", Pleroma.Web do
+    pipe_through(:browser)
+    get("/mailer/unsubscribe/:token", Mailer.SubscriptionController, :unsubscribe)
+  end
+
+  pipeline :ap_service_actor do
+    plug(:accepts, ["activity+json", "json"])
+  end
+
+  # Server to Server (S2S) AP interactions
+  pipeline :activitypub do
+    plug(:ap_service_actor)
+    plug(:http_signature)
+  end
+
+  # Client to Server (C2S) AP interactions
+  pipeline :activitypub_client do
+    plug(:ap_service_actor)
+    plug(:fetch_session)
+    plug(:authenticate)
+    plug(:after_auth)
+  end
+
+  scope "/", Pleroma.Web.ActivityPub do
+    pipe_through([:activitypub_client])
+
+    get("/api/ap/whoami", ActivityPubController, :whoami)
+    get("/users/:nickname/inbox", ActivityPubController, :read_inbox)
+
+    get("/users/:nickname/outbox", ActivityPubController, :outbox)
+    post("/users/:nickname/outbox", ActivityPubController, :update_outbox)
+    post("/api/ap/upload_media", ActivityPubController, :upload_media)
+
+    # The following two are S2S as well, see `ActivityPub.fetch_follow_information_for_user/1`:
+    get("/users/:nickname/followers", ActivityPubController, :followers)
+    get("/users/:nickname/following", ActivityPubController, :following)
+    get("/users/:nickname/collections/featured", ActivityPubController, :pinned)
+  end
+
+  scope "/", Pleroma.Web.ActivityPub do
+    pipe_through(:activitypub)
+    post("/inbox", ActivityPubController, :inbox)
+    post("/users/:nickname/inbox", ActivityPubController, :inbox)
+  end
+
+  scope "/relay", Pleroma.Web.ActivityPub do
+    pipe_through(:ap_service_actor)
+
+    get("/", ActivityPubController, :relay)
+
+    scope [] do
+      pipe_through(:http_signature)
+      post("/inbox", ActivityPubController, :inbox)
+    end
+
+    get("/following", ActivityPubController, :relay_following)
+    get("/followers", ActivityPubController, :relay_followers)
+  end
+
+  scope "/internal/fetch", Pleroma.Web.ActivityPub do
+    pipe_through(:ap_service_actor)
+
+    get("/", ActivityPubController, :internal_fetch)
+    post("/inbox", ActivityPubController, :inbox)
+  end
+
+  scope "/.well-known", Pleroma.Web do
+    pipe_through(:well_known)
+
+    get("/host-meta", WebFinger.WebFingerController, :host_meta)
+    get("/webfinger", WebFinger.WebFingerController, :webfinger)
+    get("/nodeinfo", Nodeinfo.NodeinfoController, :schemas)
+  end
+
+  scope "/nodeinfo", Pleroma.Web do
+    get("/:version", Nodeinfo.NodeinfoController, :nodeinfo)
+  end
+
+  scope "/", Pleroma.Web do
+    pipe_through(:api)
+
+    get("/manifest.json", ManifestController, :show)
+  end
+
+  scope "/", Pleroma.Web do
+    pipe_through(:pleroma_html)
+
+    post("/auth/password", TwitterAPI.PasswordController, :request)
+  end
+
+  scope "/proxy/", Pleroma.Web do
+    get("/preview/:sig/:url", MediaProxy.MediaProxyController, :preview)
+    get("/preview/:sig/:url/:filename", MediaProxy.MediaProxyController, :preview)
+    get("/:sig/:url", MediaProxy.MediaProxyController, :remote)
+    get("/:sig/:url/:filename", MediaProxy.MediaProxyController, :remote)
+  end
+
+  if Pleroma.Config.get(:env) == :dev do
+    scope "/dev" do
+      pipe_through([:mailbox_preview])
+
+      forward("/mailbox", Plug.Swoosh.MailboxPreview, base_path: "/dev/mailbox")
+    end
+  end
+
+  scope "/" do
+    pipe_through([:pleroma_html, :authenticate, :require_admin])
+    live_dashboard("/phoenix/live_dashboard")
+  end
+
+  # Test-only routes needed to test action dispatching and plug chain execution
+  if Pleroma.Config.get(:env) == :test do
+    @test_actions [
+      :do_oauth_check,
+      :fallback_oauth_check,
+      :skip_oauth_check,
+      :fallback_oauth_skip_publicity_check,
+      :skip_oauth_skip_publicity_check,
+      :missing_oauth_check_definition
+    ]
+
+    scope "/test/api", Pleroma.Tests do
+      pipe_through(:api)
+
+      for action <- @test_actions do
+        get("/#{action}", AuthTestController, action)
+      end
+    end
+
+    scope "/test/authenticated_api", Pleroma.Tests do
+      pipe_through(:authenticated_api)
+
+      for action <- @test_actions do
+        get("/#{action}", AuthTestController, action)
+      end
+    end
+  end
+
+  scope "/", Pleroma.Web.MongooseIM do
+    get("/user_exists", MongooseIMController, :user_exists)
+    get("/check_password", MongooseIMController, :check_password)
+  end
+
+  scope "/", Pleroma.Web.Fallback do
+    get("/registration/:token", RedirectController, :registration_page)
+    get("/:maybe_nickname_or_id", RedirectController, :redirector_with_meta)
+    match(:*, "/api/pleroma*path", LegacyPleromaApiRerouterPlug, [])
+    get("/api*path", RedirectController, :api_not_implemented)
+    get("/*path", RedirectController, :redirector_with_preload)
+
+    options("/*path", RedirectController, :empty)
+  end
+
+  # TODO: Change to Phoenix.Router.routes/1 for Phoenix 1.6.0+
+  def get_api_routes do
+    __MODULE__.__routes__()
+    |> Enum.reject(fn r -> r.plug == Pleroma.Web.Fallback.RedirectController end)
+    |> Enum.map(fn r ->
+      r.path
+      |> String.split("/", trim: true)
+      |> List.first()
+    end)
+    |> Enum.uniq()
+  end
+end
diff --git a/mix.exs b/mix.exs
index 57fd193cfa33bf96ff533107bc253b5fcdfb084a..aaaaf5b59d83ccb0b2ee6e07d0e94358f23a9c02 100755 (executable)
--- a/mix.exs
+++ b/mix.exs
@@ -4,7 +4,7 @@ defmodule Pleroma.Mixfile do
   def project do
     [
       app: :pleroma,
-      version: version("2.5.5"),
+      version: version("2.6.0"),
       elixir: "~> 1.11",
       elixirc_paths: elixirc_paths(Mix.env()),
       compilers: [:phoenix, :gettext] ++ Mix.compilers(),
@@ -15,7 +15,7 @@ defmodule Pleroma.Mixfile do
       deps: deps(),
       test_coverage: [tool: :covertool, summary: true],
       # Docs
-      name: "Pleroma",
+      name: "Pleroma_anni",
       homepage_url: "https://annihilation.social/",
       source_url: "https://git.logografos.com/?p=anni",
       docs: [
diff --git a/patches/9(2.6.0).diff b/patches/9(2.6.0).diff
new file mode 100644 (file)
index 0000000..1df8895
--- /dev/null
@@ -0,0 +1,392 @@
+diff --git a/mix.exs b/mix.exs
+index b071e7c7b4778d16c2b503b3ed5ddfee777111f3..3c1ce1f7ede8eda14733e99ff7a97bbd39d3f988 100644
+--- a/mix.exs
++++ b/mix.exs
+@@ -4,7 +4,7 @@ defmodule Pleroma.Mixfile do
+   def project do
+     [
+       app: :pleroma,
+-      version: version("2.5.5"),
++      version: version("2.6.0"),
+       elixir: "~> 1.11",
+       elixirc_paths: elixirc_paths(Mix.env()),
+       compilers: [:phoenix] ++ Mix.compilers(),
+diff --git a/priv/static/index.html b/priv/static/index.html
+index 7dd5d0b783b78bd33399aa4c139451098bbf3d29..52ff685c002c5b4aae07a8f53e74e703a6f65589 100644
+--- a/priv/static/index.html
++++ b/priv/static/index.html
+@@ -1 +1 @@
+-<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,user-scalable=no"><!--server-generated-meta--><link rel=icon type=image/png href=/favicon.png><script defer=defer src=/static/js/2724.e4840c73281069ba54ab.js></script><script defer=defer src=/static/js/app.8d2126d35dba9482db51.js></script><link href=/static/css/app.48e52505beba5b9ab69b.css rel=stylesheet></head><body class=hidden><noscript>To use Pleroma, please enable JavaScript.</noscript><div id=app></div><div id=modal></div><div id=popovers></body></html>
+\ No newline at end of file
++<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,user-scalable=no"><!--server-generated-meta--><link rel=icon type=image/png href=/favicon.png><script defer=defer src=/static/js/3733.7060d1e6bca813125a0c.js></script><script defer=defer src=/static/js/app.7c4b412b26221a7c8572.js></script><link href=/static/css/app.c18a2c80794a1b699a61.css rel=stylesheet></head><body class=hidden><noscript>To use Pleroma, please enable JavaScript.</noscript><div id=app></div><div id=modal></div><div id=popovers></body></html>
+\ No newline at end of file
+diff --git a/priv/static/static/css/5948.06d2a0d84620cba6a4fb.css b/priv/static/static/css/5948.06d2a0d84620cba6a4fb.css
+deleted file mode 100644
+index b14e141435c66818830a5f2eb95c152e18c260ab..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/css/5948.06d2a0d84620cba6a4fb.css and /dev/null differ
+diff --git a/priv/static/static/css/5948.06d2a0d84620cba6a4fb.css.map b/priv/static/static/css/5948.06d2a0d84620cba6a4fb.css.map
+deleted file mode 100644
+index 72f22de670d5a08ffa301e696a6befdc4897d8c6..0000000000000000000000000000000000000000
+--- a/priv/static/static/css/5948.06d2a0d84620cba6a4fb.css.map
++++ /dev/null
+@@ -1 +0,0 @@
+-{"version":3,"file":"static/css/5948.06d2a0d84620cba6a4fb.css","mappings":"AACA,uBAGE,mBAFA,aACA,YAEA,uBAEA,4BACE,YACA,iBCPJ,gBACE,gBAEA,2DAEE,qBACA,iBAEA,iEACE,mBAGF,mFACE,gBAIJ,sCAOE,YADA,eALA,gBACA,qBAEA,wBADA,uCAEA,YAEA,CAEA,yBATF,sCAWI,YADA,eACA,EAGF,kDACE,YACA,kBAEA,uDACE,eACA,eACA,cAKN,iCACE,aAEA,mCACE,kBAGF,gDACE,aACA,YAKF,2CASE,8CAEA,yBAXF,2CAgBI","sources":["webpack://pleroma_fe/./src/components/async_component_error/async_component_error.vue","webpack://pleroma_fe/./src/components/settings_modal/settings_modal.scss"],"sourcesContent":["\n.async-component-error {\n  display: flex;\n  height: 100%;\n  align-items: center;\n  justify-content: center;\n\n  .btn {\n    margin: 0.5em;\n    padding: 0.5em 2em;\n  }\n}\n","@import \"src/variables\";\n\n.settings-modal {\n  overflow: hidden;\n\n  .setting-list,\n  .option-list {\n    list-style-type: none;\n    padding-left: 2em;\n\n    li {\n      margin-bottom: 0.5em;\n    }\n\n    .suboptions {\n      margin-top: 0.3em;\n    }\n  }\n\n  .settings-modal-panel {\n    overflow: hidden;\n    transition: transform;\n    transition-timing-function: ease-in-out;\n    transition-duration: 300ms;\n    width: 1000px;\n    max-width: 90vw;\n    height: 90vh;\n\n    @media all and (max-width: 800px) {\n      max-width: 100vw;\n      height: 100%;\n    }\n\n    >.panel-body {\n      height: 100%;\n      overflow-y: hidden;\n\n      .btn {\n        min-height: 2em;\n        min-width: 10em;\n        padding: 0 2em;\n      }\n    }\n  }\n\n  .settings-footer {\n    display: flex;\n\n    >* {\n      margin-right: 0.5em;\n    }\n\n    .extra-content {\n      display: flex;\n      flex-grow: 1;\n    }\n  }\n\n  &.peek {\n    .settings-modal-panel {\n      /* Explanation:\n       * Modal is positioned vertically centered.\n       * 100vh - 100% = Distance between modal's top+bottom boundaries and screen\n       * (100vh - 100%) / 2 = Distance between bottom (or top) boundary and screen\n       * + 100% - we move modal completely off-screen, it's top boundary touches\n       *   bottom of the screen\n       * - 50px - leaving tiny amount of space so that titlebar + tiny amount of modal is visible\n       */\n      transform: translateY(calc(((100vh - 100%) / 2 + 100%) - 50px));\n\n      @media all and (max-width: 800px) {\n        /* For mobile, the modal takes 100% of the available screen.\n           This ensures the minimized modal is always 50px above the browser bottom\n           bar regardless of whether or not it is visible.\n        */\n        transform: translateY(calc(100% - 50px));\n      }\n    }\n  }\n}\n"],"names":[],"sourceRoot":""}
+\ No newline at end of file
+diff --git a/priv/static/static/css/7586.0d43f70bc6240422f179.css b/priv/static/static/css/7586.0d43f70bc6240422f179.css
+new file mode 100644
+index 0000000000000000000000000000000000000000..7da2aa2ea553e16d597de1814c074b2788cdcfb5
+Binary files /dev/null and b/priv/static/static/css/7586.0d43f70bc6240422f179.css differ
+diff --git a/priv/static/static/css/7586.0d43f70bc6240422f179.css.map b/priv/static/static/css/7586.0d43f70bc6240422f179.css.map
+new file mode 100644
+index 0000000000000000000000000000000000000000..f8f61fe6ef49becd2c76a53f4d8f95cdd16346a2
+--- /dev/null
++++ b/priv/static/static/css/7586.0d43f70bc6240422f179.css.map
+@@ -0,0 +1 @@
++{"version":3,"file":"static/css/7586.0d43f70bc6240422f179.css","mappings":"AACA,uBAGE,mBAFA,aACA,YAEA,uBAEA,4BACE,YACA,iBCPJ,gBACE,gBAEA,2DAEE,qBACA,iBAEA,iEACE,mBAGF,mFACE,gBAIJ,qCAGE,cADA,kBADA,eAEA,CAGF,sCAOE,YADA,eALA,gBACA,qBAEA,wBADA,uCAEA,YAEA,CAEA,yBATF,sCAWI,YADA,eACA,EAGF,kDACE,YACA,kBAEA,uDACE,eAGF,6EACE,cAKN,iCACE,aACA,eACA,cAEA,mCACE,kBAGF,gDACE,aACA,YAKF,2CASE,8CAEA,yBAXF,2CAgBI","sources":["webpack://pleroma_fe/./src/components/async_component_error/async_component_error.vue","webpack://pleroma_fe/./src/components/settings_modal/settings_modal.scss"],"sourcesContent":["\n.async-component-error {\n  display: flex;\n  height: 100%;\n  align-items: center;\n  justify-content: center;\n\n  .btn {\n    margin: 0.5em;\n    padding: 0.5em 2em;\n  }\n}\n","@import \"src/variables\";\n\n.settings-modal {\n  overflow: hidden;\n\n  .setting-list,\n  .option-list {\n    list-style-type: none;\n    padding-left: 2em;\n\n    li {\n      margin-bottom: 0.5em;\n    }\n\n    .suboptions {\n      margin-top: 0.3em;\n    }\n  }\n\n  .setting-description {\n    margin-top: 0.2em;\n    margin-bottom: 2em;\n    font-size: 70%;\n  }\n\n  .settings-modal-panel {\n    overflow: hidden;\n    transition: transform;\n    transition-timing-function: ease-in-out;\n    transition-duration: 300ms;\n    width: 1000px;\n    max-width: 90vw;\n    height: 90vh;\n\n    @media all and (max-width: 800px) {\n      max-width: 100vw;\n      height: 100%;\n    }\n\n    >.panel-body {\n      height: 100%;\n      overflow-y: hidden;\n\n      .btn {\n        min-height: 2em;\n      }\n\n      .btn:not(.dropdown-button) {\n        padding: 0 2em;\n      }\n    }\n  }\n\n  .settings-footer {\n    display: flex;\n    flex-wrap: wrap;\n    line-height: 2;\n\n    >* {\n      margin-right: 0.5em;\n    }\n\n    .extra-content {\n      display: flex;\n      flex-grow: 1;\n    }\n  }\n\n  &.peek {\n    .settings-modal-panel {\n      /* Explanation:\n       * Modal is positioned vertically centered.\n       * 100vh - 100% = Distance between modal's top+bottom boundaries and screen\n       * (100vh - 100%) / 2 = Distance between bottom (or top) boundary and screen\n       * + 100% - we move modal completely off-screen, it's top boundary touches\n       *   bottom of the screen\n       * - 50px - leaving tiny amount of space so that titlebar + tiny amount of modal is visible\n       */\n      transform: translateY(calc(((100vh - 100%) / 2 + 100%) - 50px));\n\n      @media all and (max-width: 800px) {\n        /* For mobile, the modal takes 100% of the available screen.\n           This ensures the minimized modal is always 50px above the browser bottom\n           bar regardless of whether or not it is visible.\n        */\n        transform: translateY(calc(100% - 50px));\n      }\n    }\n  }\n}\n"],"names":[],"sourceRoot":""}
+\ No newline at end of file
+diff --git a/priv/static/static/css/7962.76663e78ad5ea0bb0b90.css b/priv/static/static/css/7962.76663e78ad5ea0bb0b90.css
+new file mode 100644
+index 0000000000000000000000000000000000000000..2326ed9323c38b12859426c3d656dc350acc46fd
+Binary files /dev/null and b/priv/static/static/css/7962.76663e78ad5ea0bb0b90.css differ
+diff --git a/priv/static/static/css/7962.76663e78ad5ea0bb0b90.css.map b/priv/static/static/css/7962.76663e78ad5ea0bb0b90.css.map
+new file mode 100644
+index 0000000000000000000000000000000000000000..9d501f27a04328a54af9e2faa7b3eba481da0151
+--- /dev/null
++++ b/priv/static/static/css/7962.76663e78ad5ea0bb0b90.css.map
+@@ -0,0 +1 @@
++{"version":3,"file":"static/css/7962.76663e78ad5ea0bb0b90.css","mappings":"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","sources":["webpack://pleroma_fe/./src/components/importer/importer.vue","webpack://pleroma_fe/./src/components/exporter/exporter.vue","webpack://pleroma_fe/./src/components/autosuggest/autosuggest.vue","webpack://pleroma_fe/./src/_variables.scss","webpack://pleroma_fe/./src/components/block_card/block_card.vue","webpack://pleroma_fe/./src/components/mute_card/mute_card.vue","webpack://pleroma_fe/./src/components/domain_mute_card/domain_mute_card.vue","webpack://pleroma_fe/./src/components/selectable_list/selectable_list.vue","webpack://pleroma_fe/./src/hocs/with_subscription/with_subscription.scss","webpack://pleroma_fe/./src/components/settings_modal/tabs/mutes_and_blocks_tab.scss","webpack://pleroma_fe/./src/components/settings_modal/helpers/modified_indicator.vue","webpack://pleroma_fe/./src/components/settings_modal/helpers/profile_setting_indicator.vue","webpack://pleroma_fe/./src/components/settings_modal/helpers/draft_buttons.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/security_tab/mfa.vue","webpack://pleroma_fe/./node_modules/cropperjs/dist/cropper.css","webpack://pleroma_fe/./src/components/image_cropper/image_cropper.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/profile_tab.scss","webpack://pleroma_fe/./src/components/settings_modal/helpers/size_setting.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/general_tab.vue","webpack://pleroma_fe/./src/components/color_input/color_input.scss","webpack://pleroma_fe/./src/components/color_input/color_input.vue","webpack://pleroma_fe/./src/components/shadow_control/shadow_control.vue","webpack://pleroma_fe/./src/components/font_control/font_control.vue","webpack://pleroma_fe/./src/components/contrast_ratio/contrast_ratio.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/theme_tab/preview.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/theme_tab/theme_tab.scss","webpack://pleroma_fe/./src/components/settings_modal/settings_modal_user_content.scss"],"sourcesContent":["\n.importer {\n  &-uploading {\n    font-size: 1.5em;\n    margin: 0.25em;\n  }\n}\n","\n.exporter {\n  &-processing {\n    margin: 0.25em;\n  }\n}\n","\n@import \"../../variables\";\n\n.autosuggest {\n  position: relative;\n\n  &-input {\n    display: block;\n    width: 100%;\n  }\n\n  &-results {\n    position: absolute;\n    left: 0;\n    top: 100%;\n    right: 0;\n    max-height: 400px;\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n    border-style: solid;\n    border-width: 1px;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n    border-radius: $fallback--inputRadius;\n    border-radius: var(--inputRadius, $fallback--inputRadius);\n    border-top-left-radius: 0;\n    border-top-right-radius: 0;\n    box-shadow: 1px 1px 4px rgb(0 0 0 / 60%);\n    box-shadow: var(--panelShadow);\n    overflow-y: auto;\n    z-index: 1;\n  }\n}\n","$main-color: #f58d2c;\n$main-background: white;\n$darkened-background: whitesmoke;\n\n$fallback--bg: #121a24;\n$fallback--fg: #182230;\n$fallback--faint: rgb(185 185 186 / 50%);\n$fallback--text: #b9b9ba;\n$fallback--link: #d8a070;\n$fallback--icon: #666;\n$fallback--lightBg: rgb(21 30 42);\n$fallback--lightText: #b9b9ba;\n$fallback--border: #222;\n$fallback--cRed: #f00;\n$fallback--cBlue: #0095ff;\n$fallback--cGreen: #0fa00f;\n$fallback--cOrange: orange;\n\n$fallback--alertError: rgb(211 16 20 / 50%);\n$fallback--alertWarning: rgb(111 111 20 / 50%);\n\n$fallback--panelRadius: 10px;\n$fallback--checkboxRadius: 2px;\n$fallback--btnRadius: 4px;\n$fallback--inputRadius: 4px;\n$fallback--tooltipRadius: 5px;\n$fallback--avatarRadius: 4px;\n$fallback--avatarAltRadius: 10px;\n$fallback--attachmentRadius: 10px;\n$fallback--chatMessageRadius: 10px;\n\n$fallback--buttonShadow: 0 0 2px 0 rgb(0 0 0 / 100%),\n  0 1px 0 0 rgb(255 255 255 / 20%) inset,\n  0 -1px 0 0 rgb(0 0 0 / 20%) inset;\n\n$status-margin: 0.75em;\n","\n.block-card-content-container {\n  margin-top: 0.5em;\n  text-align: right;\n\n  button {\n    width: 10em;\n  }\n}\n","\n.mute-card-content-container {\n  margin-top: 0.5em;\n  text-align: right;\n\n  button {\n    width: 10em;\n  }\n}\n","\n.domain-mute-card {\n  flex: 1 0;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0.6em 1em 0.6em 0;\n\n  &-domain {\n    margin-right: 1em;\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n\n  button {\n    width: 10em;\n  }\n\n  .autosuggest-results & {\n    padding-left: 1em;\n  }\n}\n","\n@import \"../../variables\";\n\n.selectable-list {\n  &-item-inner {\n    display: flex;\n    align-items: center;\n\n    > * {\n      min-width: 0;\n    }\n  }\n\n  &-item-selected-inner {\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedMenu, $fallback--lightBg);\n    color: var(--selectedMenuText, $fallback--text);\n\n    --faint: var(--selectedMenuFaintText, $fallback--faint);\n    --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n    --lightText: var(--selectedMenuLightText, $fallback--lightText);\n    --icon: var(--selectedMenuIcon, $fallback--icon);\n  }\n\n  &-header {\n    display: flex;\n    align-items: center;\n    padding: 0.6em 0;\n    border-bottom: 2px solid;\n    border-bottom-color: $fallback--border;\n    border-bottom-color: var(--border, $fallback--border);\n\n    &-actions {\n      flex: 1;\n    }\n  }\n\n  &-checkbox-wrapper {\n    padding: 0 10px;\n    flex: none;\n  }\n}\n",".with-subscription {\n  &-loading {\n    padding: 10px;\n    text-align: center;\n\n    .error {\n      font-size: 1rem;\n    }\n  }\n}\n",".mutes-and-blocks-tab {\n  height: 100%;\n\n  .usersearch-wrapper {\n    padding: 1em;\n  }\n\n  .bulk-actions {\n    text-align: right;\n    padding: 0 1em;\n    min-height: 2em;\n  }\n\n  .bulk-action-button {\n    width: 10em;\n  }\n\n  .domain-mute-form {\n    padding: 1em;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .domain-mute-button {\n    align-self: flex-end;\n    margin-top: 1em;\n    width: 10em;\n  }\n}\n","\n.ModifiedIndicator {\n  display: inline-block;\n  position: relative;\n}\n\n.modified-tooltip {\n  margin: 0.5em 1em;\n  min-width: 10em;\n  text-align: center;\n}\n","\n.ProfileSettingIndicator {\n  display: inline-block;\n  position: relative;\n}\n\n.profilesetting-tooltip {\n  margin: 0.5em 1em;\n  min-width: 10em;\n  text-align: center;\n}\n","\n.DraftButtons {\n  display: inline-block;\n  position: relative;\n\n  .button-default {\n    margin-left: 0.5em;\n  }\n}\n\n.draft-tooltip {\n  margin: 0.5em 1em;\n  min-width: 10em;\n  text-align: center;\n}\n","\n@import \"../../../../variables\";\n\n.mfa-backup-codes {\n  .warning {\n    color: $fallback--cOrange;\n    color: var(--cOrange, $fallback--cOrange);\n  }\n\n  .backup-codes {\n    font-family: var(--postCodeFont, monospace);\n  }\n}\n","\n@import \"../../../../variables\";\n\n.mfa-settings {\n  .mfa-heading,\n  .method-item {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: space-between;\n    align-items: baseline;\n  }\n\n  .warning {\n    color: $fallback--cOrange;\n    color: var(--cOrange, $fallback--cOrange);\n  }\n\n  .setup-otp {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n\n    .qr-code {\n      flex: 1;\n      padding-right: 10px;\n    }\n    .verify { flex: 1; }\n    .error { margin: 4px 0 0; }\n\n    .confirm-otp-actions {\n      button {\n        width: 15em;\n        margin-top: 5px;\n      }\n    }\n  }\n}\n","/*!\n * Cropper.js v1.5.13\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2022-11-20T05:30:43.444Z\n */\n\n.cropper-container {\n  direction: ltr;\n  font-size: 0;\n  line-height: 0;\n  position: relative;\n  -ms-touch-action: none;\n      touch-action: none;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n}\n\n.cropper-container img {\n    -webkit-backface-visibility: hidden;\n            backface-visibility: hidden;\n    display: block;\n    height: 100%;\n    image-orientation: 0deg;\n    max-height: none !important;\n    max-width: none !important;\n    min-height: 0 !important;\n    min-width: 0 !important;\n    width: 100%;\n  }\n\n.cropper-wrap-box,\n.cropper-canvas,\n.cropper-drag-box,\n.cropper-crop-box,\n.cropper-modal {\n  bottom: 0;\n  left: 0;\n  position: absolute;\n  right: 0;\n  top: 0;\n}\n\n.cropper-wrap-box,\n.cropper-canvas {\n  overflow: hidden;\n}\n\n.cropper-drag-box {\n  background-color: #fff;\n  opacity: 0;\n}\n\n.cropper-modal {\n  background-color: #000;\n  opacity: 0.5;\n}\n\n.cropper-view-box {\n  display: block;\n  height: 100%;\n  outline: 1px solid #39f;\n  outline-color: rgba(51, 153, 255, 75%);\n  overflow: hidden;\n  width: 100%;\n}\n\n.cropper-dashed {\n  border: 0 dashed #eee;\n  display: block;\n  opacity: 0.5;\n  position: absolute;\n}\n\n.cropper-dashed.dashed-h {\n    border-bottom-width: 1px;\n    border-top-width: 1px;\n    height: calc(100% / 3);\n    left: 0;\n    top: calc(100% / 3);\n    width: 100%;\n  }\n\n.cropper-dashed.dashed-v {\n    border-left-width: 1px;\n    border-right-width: 1px;\n    height: 100%;\n    left: calc(100% / 3);\n    top: 0;\n    width: calc(100% / 3);\n  }\n\n.cropper-center {\n  display: block;\n  height: 0;\n  left: 50%;\n  opacity: 0.75;\n  position: absolute;\n  top: 50%;\n  width: 0;\n}\n\n.cropper-center::before,\n  .cropper-center::after {\n    background-color: #eee;\n    content: \" \";\n    display: block;\n    position: absolute;\n  }\n\n.cropper-center::before {\n    height: 1px;\n    left: -3px;\n    top: 0;\n    width: 7px;\n  }\n\n.cropper-center::after {\n    height: 7px;\n    left: 0;\n    top: -3px;\n    width: 1px;\n  }\n\n.cropper-face,\n.cropper-line,\n.cropper-point {\n  display: block;\n  height: 100%;\n  opacity: 0.1;\n  position: absolute;\n  width: 100%;\n}\n\n.cropper-face {\n  background-color: #fff;\n  left: 0;\n  top: 0;\n}\n\n.cropper-line {\n  background-color: #39f;\n}\n\n.cropper-line.line-e {\n    cursor: ew-resize;\n    right: -3px;\n    top: 0;\n    width: 5px;\n  }\n\n.cropper-line.line-n {\n    cursor: ns-resize;\n    height: 5px;\n    left: 0;\n    top: -3px;\n  }\n\n.cropper-line.line-w {\n    cursor: ew-resize;\n    left: -3px;\n    top: 0;\n    width: 5px;\n  }\n\n.cropper-line.line-s {\n    bottom: -3px;\n    cursor: ns-resize;\n    height: 5px;\n    left: 0;\n  }\n\n.cropper-point {\n  background-color: #39f;\n  height: 5px;\n  opacity: 0.75;\n  width: 5px;\n}\n\n.cropper-point.point-e {\n    cursor: ew-resize;\n    margin-top: -3px;\n    right: -3px;\n    top: 50%;\n  }\n\n.cropper-point.point-n {\n    cursor: ns-resize;\n    left: 50%;\n    margin-left: -3px;\n    top: -3px;\n  }\n\n.cropper-point.point-w {\n    cursor: ew-resize;\n    left: -3px;\n    margin-top: -3px;\n    top: 50%;\n  }\n\n.cropper-point.point-s {\n    bottom: -3px;\n    cursor: s-resize;\n    left: 50%;\n    margin-left: -3px;\n  }\n\n.cropper-point.point-ne {\n    cursor: nesw-resize;\n    right: -3px;\n    top: -3px;\n  }\n\n.cropper-point.point-nw {\n    cursor: nwse-resize;\n    left: -3px;\n    top: -3px;\n  }\n\n.cropper-point.point-sw {\n    bottom: -3px;\n    cursor: nesw-resize;\n    left: -3px;\n  }\n\n.cropper-point.point-se {\n    bottom: -3px;\n    cursor: nwse-resize;\n    height: 20px;\n    opacity: 1;\n    right: -3px;\n    width: 20px;\n  }\n\n@media (min-width: 768px) {\n\n.cropper-point.point-se {\n      height: 15px;\n      width: 15px;\n  }\n    }\n\n@media (min-width: 992px) {\n\n.cropper-point.point-se {\n      height: 10px;\n      width: 10px;\n  }\n    }\n\n@media (min-width: 1200px) {\n\n.cropper-point.point-se {\n      height: 5px;\n      opacity: 0.75;\n      width: 5px;\n  }\n    }\n\n.cropper-point.point-se::before {\n    background-color: #39f;\n    bottom: -50%;\n    content: \" \";\n    display: block;\n    height: 200%;\n    opacity: 0;\n    position: absolute;\n    right: -50%;\n    width: 200%;\n  }\n\n.cropper-invisible {\n  opacity: 0;\n}\n\n.cropper-bg {\n  background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC\");\n}\n\n.cropper-hide {\n  display: block;\n  height: 0;\n  position: absolute;\n  width: 0;\n}\n\n.cropper-hidden {\n  display: none !important;\n}\n\n.cropper-move {\n  cursor: move;\n}\n\n.cropper-crop {\n  cursor: crosshair;\n}\n\n.cropper-disabled .cropper-drag-box,\n.cropper-disabled .cropper-face,\n.cropper-disabled .cropper-line,\n.cropper-disabled .cropper-point {\n  cursor: not-allowed;\n}\n","\n.image-cropper {\n  &-img-input {\n    display: none;\n  }\n\n  &-image-container {\n    position: relative;\n\n    img {\n      display: block;\n      max-width: 100%;\n    }\n  }\n\n  &-buttons-wrapper {\n    margin-top: 10px;\n\n    button {\n      margin-top: 5px;\n    }\n  }\n}\n","@import \"../../../variables\";\n\n.profile-tab {\n  .bio {\n    margin: 0;\n  }\n\n  .visibility-tray {\n    padding-top: 5px;\n  }\n\n  input[type=\"file\"] {\n    padding: 5px;\n    height: auto;\n  }\n\n  .banner-background-preview {\n    max-width: 100%;\n    width: 300px;\n    position: relative;\n\n    img {\n      width: 100%;\n    }\n  }\n\n  .uploading {\n    font-size: 1.5em;\n    margin: 0.25em;\n  }\n\n  .name-changer {\n    width: 100%;\n  }\n\n  .current-avatar-container {\n    position: relative;\n    width: 150px;\n    height: 150px;\n  }\n\n  .current-avatar {\n    display: block;\n    width: 100%;\n    height: 100%;\n    border-radius: $fallback--avatarRadius;\n    border-radius: var(--avatarRadius, $fallback--avatarRadius);\n  }\n\n  .reset-button {\n    position: absolute;\n    top: 0.2em;\n    right: 0.2em;\n    border-radius: $fallback--tooltipRadius;\n    border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n    background-color: rgb(0 0 0 / 60%);\n    opacity: 0.7;\n    width: 1.5em;\n    height: 1.5em;\n    text-align: center;\n    line-height: 1.5em;\n    font-size: 1.5em;\n    cursor: pointer;\n\n    &:hover {\n      opacity: 1;\n    }\n\n    svg {\n      color: white;\n    }\n  }\n\n  .oauth-tokens {\n    width: 100%;\n\n    th {\n      text-align: left;\n    }\n\n    .actions {\n      text-align: right;\n    }\n  }\n\n  &-usersearch-wrapper {\n    padding: 1em;\n  }\n\n  &-bulk-actions {\n    text-align: right;\n    padding: 0 1em;\n    min-height: 2em;\n\n    button {\n      width: 10em;\n    }\n  }\n\n  &-domain-mute-form {\n    padding: 1em;\n    display: flex;\n    flex-direction: column;\n\n    button {\n      align-self: flex-end;\n      margin-top: 1em;\n      width: 10em;\n    }\n  }\n\n  .setting-subitem {\n    margin-left: 1.75em;\n  }\n\n  .profile-fields {\n    display: flex;\n\n    & > .emoji-input {\n      flex: 1 1 auto;\n      margin: 0 0.2em 0.5em;\n      min-width: 0;\n    }\n\n    .delete-field {\n      width: 20px;\n      align-self: center;\n      margin: 0 0.2em 0.5em;\n      padding: 0 0.5em;\n    }\n  }\n\n  .birthday-input {\n    display: block;\n    margin-bottom: 1em;\n  }\n}\n","\n.SizeSetting {\n  .number-input {\n    max-width: 6.5em;\n  }\n\n  .css-unit-input,\n  .css-unit-input select {\n    margin-left: 0.5em;\n    width: 4em;\n    max-width: 4em;\n    min-width: 4em;\n  }\n}\n\n","\n.column-settings {\n  display: flex;\n  justify-content: space-evenly;\n  flex-wrap: wrap;\n}\n\n.column-settings .size-label {\n  display: block;\n  margin-bottom: 0.5em;\n  margin-top: 0.5em;\n}\n","@import \"../../variables\";\n\n.color-input {\n  display: inline-flex;\n\n  &-field.input {\n    display: inline-flex;\n    flex: 0 0 0;\n    max-width: 9em;\n    align-items: stretch;\n    padding: 0.2em 8px;\n\n    input {\n      background: none;\n      color: $fallback--lightText;\n      color: var(--inputText, $fallback--lightText);\n      border: none;\n      padding: 0;\n      margin: 0;\n\n      &.textColor {\n        flex: 1 0 3em;\n        min-width: 3em;\n        padding: 0;\n      }\n\n      &.nativeColor {\n        flex: 0 0 2em;\n        min-width: 2em;\n        align-self: stretch;\n        min-height: 100%;\n      }\n    }\n\n    .computedIndicator,\n    .transparentIndicator {\n      flex: 0 0 2em;\n      min-width: 2em;\n      align-self: stretch;\n      min-height: 100%;\n    }\n\n    .transparentIndicator {\n      // forgot to install counter-strike source, ooops\n      background-color: #f0f;\n      position: relative;\n\n      &::before,\n      &::after {\n        display: block;\n        content: \"\";\n        background-color: #000;\n        position: absolute;\n        height: 50%;\n        width: 50%;\n      }\n\n      &::after {\n        top: 0;\n        left: 0;\n      }\n\n      &::before {\n        bottom: 0;\n        right: 0;\n      }\n    }\n  }\n\n  .label {\n    flex: 1 1 auto;\n  }\n}\n","\n.color-control {\n  input.text-input {\n    max-width: 7em;\n    flex: 1;\n  }\n}\n","\n@import \"../../variables\";\n\n.shadow-control {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  margin-bottom: 1em;\n\n  .shadow-preview-container,\n  .shadow-tweak {\n    margin: 5px 6px 0 0;\n  }\n\n  .shadow-preview-container {\n    flex: 0;\n    display: flex;\n    flex-wrap: wrap;\n\n    $side: 15em;\n\n    input[type=\"number\"] {\n      width: 5em;\n      min-width: 2em;\n    }\n\n    .x-shift-control,\n    .y-shift-control {\n      display: flex;\n      flex: 0;\n\n      &[disabled=\"disabled\"] * {\n        opacity: 0.5;\n      }\n    }\n\n    .x-shift-control {\n      align-items: flex-start;\n    }\n\n    .x-shift-control .wrap,\n    input[type=\"range\"] {\n      margin: 0;\n      width: $side;\n      height: 2em;\n    }\n\n    .y-shift-control {\n      flex-direction: column;\n      align-items: flex-end;\n\n      .wrap {\n        width: 2em;\n        height: $side;\n      }\n\n      input[type=\"range\"] {\n        transform-origin: 1em 1em;\n        transform: rotate(90deg);\n      }\n    }\n\n    .preview-window {\n      flex: 1;\n      background-color: #999;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      background-image:\n        linear-gradient(45deg, #666 25%, transparent 25%),\n        linear-gradient(-45deg, #666 25%, transparent 25%),\n        linear-gradient(45deg, transparent 75%, #666 75%),\n        linear-gradient(-45deg, transparent 75%, #666 75%);\n      background-size: 20px 20px;\n      background-position: 0 0, 0 10px, 10px -10px, -10px 0;\n      border-radius: $fallback--inputRadius;\n      border-radius: var(--inputRadius, $fallback--inputRadius);\n\n      .preview-block {\n        width: 33%;\n        height: 33%;\n        background-color: $fallback--bg;\n        background-color: var(--bg, $fallback--bg);\n        border-radius: $fallback--panelRadius;\n        border-radius: var(--panelRadius, $fallback--panelRadius);\n      }\n    }\n  }\n\n  .shadow-tweak {\n    flex: 1;\n    min-width: 280px;\n\n    .id-control {\n      align-items: stretch;\n\n      .shadow-switcher {\n        flex: 1;\n      }\n\n      .shadow-switcher,\n      .btn {\n        min-width: 1px;\n        margin-right: 5px;\n      }\n\n      .btn {\n        padding: 0 0.4em;\n        margin: 0 0.1em;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.font-control {\n  input.custom-font {\n    min-width: 10em;\n  }\n\n  &.custom {\n    /* TODO Should make proper joiners... */\n    .font-switcher {\n      border-top-right-radius: 0;\n      border-bottom-right-radius: 0;\n    }\n\n    .custom-font {\n      border-top-left-radius: 0;\n      border-bottom-left-radius: 0;\n    }\n  }\n}\n","\n.contrast-ratio {\n  display: flex;\n  justify-content: flex-end;\n  margin-top: -4px;\n  margin-bottom: 5px;\n\n  .label {\n    margin-right: 1em;\n  }\n\n  .rating {\n    display: inline-block;\n    text-align: center;\n    margin-left: 0.5em;\n  }\n}\n","\n.preview-container {\n  position: relative;\n}\n\n.underlay-preview {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 10px;\n  right: 10px;\n}\n","@import \"src/variables\";\n\n.theme-tab {\n  padding-bottom: 2em;\n\n  .preset-switcher {\n    margin-right: 1em;\n  }\n\n  .btn {\n    margin-left: 0.25em;\n    margin-right: 0.25em;\n  }\n\n  .style-control {\n    display: flex;\n    align-items: baseline;\n    margin-bottom: 5px;\n\n    .label {\n      flex: 1;\n    }\n\n    .opt {\n      margin: 0.5em;\n    }\n\n    .color-input {\n      flex: 0 0 0;\n    }\n\n    input,\n    select {\n      min-width: 3em;\n      margin: 0;\n      flex: 0;\n\n      &[type=\"number\"] {\n        min-width: 5em;\n      }\n\n      &[type=\"range\"] {\n        flex: 1;\n        min-width: 3em;\n        align-self: flex-start;\n      }\n    }\n\n    &.disabled {\n      input,\n      select {\n        opacity: 0.5;\n      }\n    }\n  }\n\n  .reset-container {\n    flex-wrap: wrap;\n  }\n\n  .fonts-container,\n  .reset-container,\n  .apply-container,\n  .radius-container,\n  .color-container, {\n    display: flex;\n  }\n\n  .fonts-container,\n  .radius-container {\n    flex-direction: column;\n  }\n\n  .color-container {\n    > h4 {\n      width: 99%;\n    }\n\n    flex-wrap: wrap;\n    justify-content: space-between;\n  }\n\n  .fonts-container,\n  .color-container,\n  .shadow-container,\n  .radius-container,\n  .presets-container {\n    margin: 1em 1em 0;\n  }\n\n  .tab-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: baseline;\n    width: 100%;\n    min-height: 30px;\n    margin-bottom: 1em;\n\n    p {\n      flex: 1;\n      margin: 0;\n      margin-right: 0.5em;\n    }\n  }\n\n  .tab-header-buttons {\n    display: flex;\n    flex-direction: column;\n\n    .btn {\n      min-width: 1px;\n      flex: 0 auto;\n      padding: 0 1em;\n      margin-bottom: 0.5em;\n    }\n  }\n\n  .shadow-selector {\n    .override {\n      flex: 1;\n      margin-left: 0.5em;\n    }\n\n    .select-container {\n      margin-top: -4px;\n      margin-bottom: -3px;\n    }\n  }\n\n  .save-load,\n  .save-load-options {\n    display: flex;\n    justify-content: center;\n    align-items: baseline;\n    flex-wrap: wrap;\n\n    .presets,\n    .import-export {\n      margin-bottom: 0.5em;\n    }\n\n    .import-export {\n      display: flex;\n    }\n\n    .override {\n      margin-left: 0.5em;\n    }\n  }\n\n  .save-load-options {\n    flex-wrap: wrap;\n    margin-top: 0.5em;\n    justify-content: center;\n\n    .keep-option {\n      margin: 0 0.5em 0.5em;\n      min-width: 25%;\n    }\n  }\n\n  .preview-container {\n    border-top: 1px dashed;\n    border-bottom: 1px dashed;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n    margin: 1em 0;\n    padding: 1em;\n    background-color: var(--wallpaper);\n    background-image: var(--body-background-image);\n    background-size: cover;\n    background-position: 50% 50%;\n\n    .dummy {\n      .post {\n        font-family: var(--postFont);\n        display: flex;\n\n        .content {\n          flex: 1;\n\n          h4 {\n            margin-bottom: 0.25em;\n          }\n\n          .icons {\n            margin-top: 0.5em;\n            display: flex;\n\n            i {\n              margin-right: 1em;\n            }\n          }\n        }\n      }\n\n      .after-post {\n        margin-top: 1em;\n        display: flex;\n        align-items: center;\n      }\n\n      .avatar,\n      .avatar-alt {\n        background:\n          linear-gradient(\n            135deg,\n            #b8e1fc 0%,\n            #a9d2f3 10%,\n            #90bae4 25%,\n            #90bcea 37%,\n            #90bff0 50%,\n            #6ba8e5 51%,\n            #a2daf5 83%,\n            #bdf3fd 100%\n          );\n        color: black;\n        font-family: sans-serif;\n        text-align: center;\n        margin-right: 1em;\n      }\n\n      .avatar-alt {\n        flex: 0 auto;\n        margin-left: 28px;\n        font-size: 12px;\n        min-width: 20px;\n        min-height: 20px;\n        line-height: 20px;\n        border-radius: $fallback--avatarAltRadius;\n        border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n      }\n\n      .avatar {\n        flex: 0 auto;\n        width: 48px;\n        height: 48px;\n        font-size: 14px;\n        line-height: 48px;\n      }\n\n      .actions {\n        display: flex;\n        align-items: baseline;\n\n        .checkbox {\n          display: inline-flex;\n          align-items: baseline;\n          margin-right: 1em;\n          flex: 1;\n        }\n      }\n\n      .separator {\n        margin: 1em;\n        border-bottom: 1px solid;\n        border-color: $fallback--border;\n        border-color: var(--border, $fallback--border);\n      }\n\n      .btn {\n        min-width: 3em;\n      }\n    }\n  }\n\n  .radius-item {\n    flex-basis: auto;\n  }\n\n  .radius-item,\n  .color-item {\n    min-width: 20em;\n    margin: 5px 6px 0 0;\n    display: flex;\n    flex-direction: column;\n    flex: 1 1 0;\n\n    &.wide {\n      min-width: 60%;\n    }\n\n    &:not(.wide):nth-child(2n+1) {\n      margin-right: 7px;\n    }\n\n    .color,\n    .opacity {\n      display: flex;\n      align-items: baseline;\n    }\n  }\n\n  .theme-radius-rn,\n  .theme-color-cl {\n    border: 0;\n    box-shadow: none;\n    background: transparent;\n    color: var(--faint, $fallback--faint);\n    align-self: stretch;\n  }\n\n  .theme-color-cl,\n  .theme-radius-in,\n  .theme-color-in {\n    margin-left: 4px;\n  }\n\n  .theme-radius-in {\n    min-width: 1em;\n    max-width: 7em;\n    flex: 1;\n  }\n\n  .theme-radius-lb {\n    max-width: 50em;\n  }\n\n  .theme-preview-content {\n    padding: 20px;\n  }\n\n  .theme-warning {\n    display: flex;\n    align-items: baseline;\n    margin-bottom: 0.5em;\n\n    .buttons {\n      .btn {\n        margin-bottom: 0.5em;\n      }\n    }\n  }\n}\n\n.extra-content {\n  .apply-container {\n    display: flex;\n    flex-direction: row;\n    justify-content: space-around;\n    flex-grow: 1;\n\n    /* stylelint-disable-next-line no-descending-specificity */\n    .btn {\n      flex-grow: 1;\n      min-height: 2em;\n      min-width: 0;\n      max-width: 10em;\n      padding: 0;\n    }\n  }\n}\n","@import \"src/variables\";\n\n.settings_tab-switcher {\n  height: 100%;\n\n  .setting-item {\n    border-bottom: 2px solid var(--fg, $fallback--fg);\n    margin: 1em 1em 1.4em;\n    padding-bottom: 1.4em;\n\n    > div,\n    > label {\n      display: block;\n      margin-bottom: 0.5em;\n\n      &:last-child {\n        margin-bottom: 0;\n      }\n    }\n\n    .select-multiple {\n      display: flex;\n\n      .option-list {\n        margin: 0;\n        padding-left: 0.5em;\n      }\n    }\n\n    &:last-child {\n      border-bottom: none;\n      padding-bottom: 0;\n      margin-bottom: 1em;\n    }\n\n    select {\n      min-width: 10em;\n    }\n\n    textarea {\n      width: 100%;\n      max-width: 100%;\n      height: 100px;\n    }\n\n    .unavailable,\n    .unavailable svg {\n      color: var(--cRed, $fallback--cRed);\n      color: $fallback--cRed;\n    }\n  }\n}\n"],"names":[],"sourceRoot":""}
+\ No newline at end of file
+diff --git a/priv/static/static/css/9114.8def3b2b7fe70b3b3712.css b/priv/static/static/css/9114.8def3b2b7fe70b3b3712.css
+deleted file mode 100644
+index 6c25e903087e00fc72c45b4dd1111867c9c00c2f..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/css/9114.8def3b2b7fe70b3b3712.css and /dev/null differ
+diff --git a/priv/static/static/css/9114.8def3b2b7fe70b3b3712.css.map b/priv/static/static/css/9114.8def3b2b7fe70b3b3712.css.map
+deleted file mode 100644
+index e8f8688aee7feb20eaa667e9496fa33d7f095cc6..0000000000000000000000000000000000000000
+--- a/priv/static/static/css/9114.8def3b2b7fe70b3b3712.css.map
++++ /dev/null
+@@ -1 +0,0 @@
+-{"version":3,"file":"static/css/9114.8def3b2b7fe70b3b3712.css","mappings":"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","sources":["webpack://pleroma_fe/./src/components/importer/importer.vue","webpack://pleroma_fe/./src/components/exporter/exporter.vue","webpack://pleroma_fe/./src/components/autosuggest/autosuggest.vue","webpack://pleroma_fe/./src/_variables.scss","webpack://pleroma_fe/./src/components/block_card/block_card.vue","webpack://pleroma_fe/./src/components/mute_card/mute_card.vue","webpack://pleroma_fe/./src/components/domain_mute_card/domain_mute_card.vue","webpack://pleroma_fe/./src/components/selectable_list/selectable_list.vue","webpack://pleroma_fe/./src/hocs/with_subscription/with_subscription.scss","webpack://pleroma_fe/./src/components/settings_modal/tabs/mutes_and_blocks_tab.scss","webpack://pleroma_fe/./src/components/settings_modal/helpers/modified_indicator.vue","webpack://pleroma_fe/./src/components/settings_modal/helpers/server_side_indicator.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/security_tab/mfa.vue","webpack://pleroma_fe/./node_modules/cropperjs/dist/cropper.css","webpack://pleroma_fe/./src/components/image_cropper/image_cropper.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/profile_tab.scss","webpack://pleroma_fe/./src/components/settings_modal/helpers/size_setting.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/general_tab.vue","webpack://pleroma_fe/./src/components/color_input/color_input.scss","webpack://pleroma_fe/./src/components/color_input/color_input.vue","webpack://pleroma_fe/./src/components/shadow_control/shadow_control.vue","webpack://pleroma_fe/./src/components/font_control/font_control.vue","webpack://pleroma_fe/./src/components/contrast_ratio/contrast_ratio.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/theme_tab/preview.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/theme_tab/theme_tab.scss","webpack://pleroma_fe/./src/components/settings_modal/settings_modal_content.scss"],"sourcesContent":["\n.importer {\n  &-uploading {\n    font-size: 1.5em;\n    margin: 0.25em;\n  }\n}\n","\n.exporter {\n  &-processing {\n    margin: 0.25em;\n  }\n}\n","\n@import \"../../variables\";\n\n.autosuggest {\n  position: relative;\n\n  &-input {\n    display: block;\n    width: 100%;\n  }\n\n  &-results {\n    position: absolute;\n    left: 0;\n    top: 100%;\n    right: 0;\n    max-height: 400px;\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n    border-style: solid;\n    border-width: 1px;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n    border-radius: $fallback--inputRadius;\n    border-radius: var(--inputRadius, $fallback--inputRadius);\n    border-top-left-radius: 0;\n    border-top-right-radius: 0;\n    box-shadow: 1px 1px 4px rgb(0 0 0 / 60%);\n    box-shadow: var(--panelShadow);\n    overflow-y: auto;\n    z-index: 1;\n  }\n}\n","$main-color: #f58d2c;\n$main-background: white;\n$darkened-background: whitesmoke;\n\n$fallback--bg: #121a24;\n$fallback--fg: #182230;\n$fallback--faint: rgb(185 185 186 / 50%);\n$fallback--text: #b9b9ba;\n$fallback--link: #d8a070;\n$fallback--icon: #666;\n$fallback--lightBg: rgb(21 30 42);\n$fallback--lightText: #b9b9ba;\n$fallback--border: #222;\n$fallback--cRed: #f00;\n$fallback--cBlue: #0095ff;\n$fallback--cGreen: #0fa00f;\n$fallback--cOrange: orange;\n\n$fallback--alertError: rgb(211 16 20 / 50%);\n$fallback--alertWarning: rgb(111 111 20 / 50%);\n\n$fallback--panelRadius: 10px;\n$fallback--checkboxRadius: 2px;\n$fallback--btnRadius: 4px;\n$fallback--inputRadius: 4px;\n$fallback--tooltipRadius: 5px;\n$fallback--avatarRadius: 4px;\n$fallback--avatarAltRadius: 10px;\n$fallback--attachmentRadius: 10px;\n$fallback--chatMessageRadius: 10px;\n\n$fallback--buttonShadow: 0 0 2px 0 rgb(0 0 0 / 100%),\n  0 1px 0 0 rgb(255 255 255 / 20%) inset,\n  0 -1px 0 0 rgb(0 0 0 / 20%) inset;\n\n$status-margin: 0.75em;\n","\n.block-card-content-container {\n  margin-top: 0.5em;\n  text-align: right;\n\n  button {\n    width: 10em;\n  }\n}\n","\n.mute-card-content-container {\n  margin-top: 0.5em;\n  text-align: right;\n\n  button {\n    width: 10em;\n  }\n}\n","\n.domain-mute-card {\n  flex: 1 0;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0.6em 1em 0.6em 0;\n\n  &-domain {\n    margin-right: 1em;\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n\n  button {\n    width: 10em;\n  }\n\n  .autosuggest-results & {\n    padding-left: 1em;\n  }\n}\n","\n@import \"../../variables\";\n\n.selectable-list {\n  &-item-inner {\n    display: flex;\n    align-items: center;\n\n    > * {\n      min-width: 0;\n    }\n  }\n\n  &-item-selected-inner {\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedMenu, $fallback--lightBg);\n    color: var(--selectedMenuText, $fallback--text);\n\n    --faint: var(--selectedMenuFaintText, $fallback--faint);\n    --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n    --lightText: var(--selectedMenuLightText, $fallback--lightText);\n    --icon: var(--selectedMenuIcon, $fallback--icon);\n  }\n\n  &-header {\n    display: flex;\n    align-items: center;\n    padding: 0.6em 0;\n    border-bottom: 2px solid;\n    border-bottom-color: $fallback--border;\n    border-bottom-color: var(--border, $fallback--border);\n\n    &-actions {\n      flex: 1;\n    }\n  }\n\n  &-checkbox-wrapper {\n    padding: 0 10px;\n    flex: none;\n  }\n}\n",".with-subscription {\n  &-loading {\n    padding: 10px;\n    text-align: center;\n\n    .error {\n      font-size: 1rem;\n    }\n  }\n}\n",".mutes-and-blocks-tab {\n  height: 100%;\n\n  .usersearch-wrapper {\n    padding: 1em;\n  }\n\n  .bulk-actions {\n    text-align: right;\n    padding: 0 1em;\n    min-height: 2em;\n  }\n\n  .bulk-action-button {\n    width: 10em;\n  }\n\n  .domain-mute-form {\n    padding: 1em;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .domain-mute-button {\n    align-self: flex-end;\n    margin-top: 1em;\n    width: 10em;\n  }\n}\n","\n.ModifiedIndicator {\n  display: inline-block;\n  position: relative;\n}\n\n.modified-tooltip {\n  margin: 0.5em 1em;\n  min-width: 10em;\n  text-align: center;\n}\n","\n.ServerSideIndicator {\n  display: inline-block;\n  position: relative;\n}\n\n.serverside-tooltip {\n  margin: 0.5em 1em;\n  min-width: 10em;\n  text-align: center;\n}\n","\n@import \"../../../../variables\";\n\n.mfa-backup-codes {\n  .warning {\n    color: $fallback--cOrange;\n    color: var(--cOrange, $fallback--cOrange);\n  }\n\n  .backup-codes {\n    font-family: var(--postCodeFont, monospace);\n  }\n}\n","\n@import \"../../../../variables\";\n\n.mfa-settings {\n  .mfa-heading,\n  .method-item {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: space-between;\n    align-items: baseline;\n  }\n\n  .warning {\n    color: $fallback--cOrange;\n    color: var(--cOrange, $fallback--cOrange);\n  }\n\n  .setup-otp {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n\n    .qr-code {\n      flex: 1;\n      padding-right: 10px;\n    }\n    .verify { flex: 1; }\n    .error { margin: 4px 0 0; }\n\n    .confirm-otp-actions {\n      button {\n        width: 15em;\n        margin-top: 5px;\n      }\n    }\n  }\n}\n","/*!\n * Cropper.js v1.5.12\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2021-06-12T08:00:11.623Z\n */\n\n.cropper-container {\n  direction: ltr;\n  font-size: 0;\n  line-height: 0;\n  position: relative;\n  -ms-touch-action: none;\n  touch-action: none;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n.cropper-container img {\n  display: block;\n  height: 100%;\n  image-orientation: 0deg;\n  max-height: none !important;\n  max-width: none !important;\n  min-height: 0 !important;\n  min-width: 0 !important;\n  width: 100%;\n}\n\n.cropper-wrap-box,\n.cropper-canvas,\n.cropper-drag-box,\n.cropper-crop-box,\n.cropper-modal {\n  bottom: 0;\n  left: 0;\n  position: absolute;\n  right: 0;\n  top: 0;\n}\n\n.cropper-wrap-box,\n.cropper-canvas {\n  overflow: hidden;\n}\n\n.cropper-drag-box {\n  background-color: #fff;\n  opacity: 0;\n}\n\n.cropper-modal {\n  background-color: #000;\n  opacity: 0.5;\n}\n\n.cropper-view-box {\n  display: block;\n  height: 100%;\n  outline: 1px solid #39f;\n  outline-color: rgba(51, 153, 255, 0.75);\n  overflow: hidden;\n  width: 100%;\n}\n\n.cropper-dashed {\n  border: 0 dashed #eee;\n  display: block;\n  opacity: 0.5;\n  position: absolute;\n}\n\n.cropper-dashed.dashed-h {\n  border-bottom-width: 1px;\n  border-top-width: 1px;\n  height: calc(100% / 3);\n  left: 0;\n  top: calc(100% / 3);\n  width: 100%;\n}\n\n.cropper-dashed.dashed-v {\n  border-left-width: 1px;\n  border-right-width: 1px;\n  height: 100%;\n  left: calc(100% / 3);\n  top: 0;\n  width: calc(100% / 3);\n}\n\n.cropper-center {\n  display: block;\n  height: 0;\n  left: 50%;\n  opacity: 0.75;\n  position: absolute;\n  top: 50%;\n  width: 0;\n}\n\n.cropper-center::before,\n.cropper-center::after {\n  background-color: #eee;\n  content: ' ';\n  display: block;\n  position: absolute;\n}\n\n.cropper-center::before {\n  height: 1px;\n  left: -3px;\n  top: 0;\n  width: 7px;\n}\n\n.cropper-center::after {\n  height: 7px;\n  left: 0;\n  top: -3px;\n  width: 1px;\n}\n\n.cropper-face,\n.cropper-line,\n.cropper-point {\n  display: block;\n  height: 100%;\n  opacity: 0.1;\n  position: absolute;\n  width: 100%;\n}\n\n.cropper-face {\n  background-color: #fff;\n  left: 0;\n  top: 0;\n}\n\n.cropper-line {\n  background-color: #39f;\n}\n\n.cropper-line.line-e {\n  cursor: ew-resize;\n  right: -3px;\n  top: 0;\n  width: 5px;\n}\n\n.cropper-line.line-n {\n  cursor: ns-resize;\n  height: 5px;\n  left: 0;\n  top: -3px;\n}\n\n.cropper-line.line-w {\n  cursor: ew-resize;\n  left: -3px;\n  top: 0;\n  width: 5px;\n}\n\n.cropper-line.line-s {\n  bottom: -3px;\n  cursor: ns-resize;\n  height: 5px;\n  left: 0;\n}\n\n.cropper-point {\n  background-color: #39f;\n  height: 5px;\n  opacity: 0.75;\n  width: 5px;\n}\n\n.cropper-point.point-e {\n  cursor: ew-resize;\n  margin-top: -3px;\n  right: -3px;\n  top: 50%;\n}\n\n.cropper-point.point-n {\n  cursor: ns-resize;\n  left: 50%;\n  margin-left: -3px;\n  top: -3px;\n}\n\n.cropper-point.point-w {\n  cursor: ew-resize;\n  left: -3px;\n  margin-top: -3px;\n  top: 50%;\n}\n\n.cropper-point.point-s {\n  bottom: -3px;\n  cursor: s-resize;\n  left: 50%;\n  margin-left: -3px;\n}\n\n.cropper-point.point-ne {\n  cursor: nesw-resize;\n  right: -3px;\n  top: -3px;\n}\n\n.cropper-point.point-nw {\n  cursor: nwse-resize;\n  left: -3px;\n  top: -3px;\n}\n\n.cropper-point.point-sw {\n  bottom: -3px;\n  cursor: nesw-resize;\n  left: -3px;\n}\n\n.cropper-point.point-se {\n  bottom: -3px;\n  cursor: nwse-resize;\n  height: 20px;\n  opacity: 1;\n  right: -3px;\n  width: 20px;\n}\n\n@media (min-width: 768px) {\n  .cropper-point.point-se {\n    height: 15px;\n    width: 15px;\n  }\n}\n\n@media (min-width: 992px) {\n  .cropper-point.point-se {\n    height: 10px;\n    width: 10px;\n  }\n}\n\n@media (min-width: 1200px) {\n  .cropper-point.point-se {\n    height: 5px;\n    opacity: 0.75;\n    width: 5px;\n  }\n}\n\n.cropper-point.point-se::before {\n  background-color: #39f;\n  bottom: -50%;\n  content: ' ';\n  display: block;\n  height: 200%;\n  opacity: 0;\n  position: absolute;\n  right: -50%;\n  width: 200%;\n}\n\n.cropper-invisible {\n  opacity: 0;\n}\n\n.cropper-bg {\n  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC');\n}\n\n.cropper-hide {\n  display: block;\n  height: 0;\n  position: absolute;\n  width: 0;\n}\n\n.cropper-hidden {\n  display: none !important;\n}\n\n.cropper-move {\n  cursor: move;\n}\n\n.cropper-crop {\n  cursor: crosshair;\n}\n\n.cropper-disabled .cropper-drag-box,\n.cropper-disabled .cropper-face,\n.cropper-disabled .cropper-line,\n.cropper-disabled .cropper-point {\n  cursor: not-allowed;\n}\n","\n.image-cropper {\n  &-img-input {\n    display: none;\n  }\n\n  &-image-container {\n    position: relative;\n\n    img {\n      display: block;\n      max-width: 100%;\n    }\n  }\n\n  &-buttons-wrapper {\n    margin-top: 10px;\n\n    button {\n      margin-top: 5px;\n    }\n  }\n}\n","@import \"../../../variables\";\n\n.profile-tab {\n  .bio {\n    margin: 0;\n  }\n\n  .visibility-tray {\n    padding-top: 5px;\n  }\n\n  input[type=\"file\"] {\n    padding: 5px;\n    height: auto;\n  }\n\n  .banner-background-preview {\n    max-width: 100%;\n    width: 300px;\n    position: relative;\n\n    img {\n      width: 100%;\n    }\n  }\n\n  .uploading {\n    font-size: 1.5em;\n    margin: 0.25em;\n  }\n\n  .name-changer {\n    width: 100%;\n  }\n\n  .current-avatar-container {\n    position: relative;\n    width: 150px;\n    height: 150px;\n  }\n\n  .current-avatar {\n    display: block;\n    width: 100%;\n    height: 100%;\n    border-radius: $fallback--avatarRadius;\n    border-radius: var(--avatarRadius, $fallback--avatarRadius);\n  }\n\n  .reset-button {\n    position: absolute;\n    top: 0.2em;\n    right: 0.2em;\n    border-radius: $fallback--tooltipRadius;\n    border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n    background-color: rgb(0 0 0 / 60%);\n    opacity: 0.7;\n    width: 1.5em;\n    height: 1.5em;\n    text-align: center;\n    line-height: 1.5em;\n    font-size: 1.5em;\n    cursor: pointer;\n\n    &:hover {\n      opacity: 1;\n    }\n\n    svg {\n      color: white;\n    }\n  }\n\n  .oauth-tokens {\n    width: 100%;\n\n    th {\n      text-align: left;\n    }\n\n    .actions {\n      text-align: right;\n    }\n  }\n\n  &-usersearch-wrapper {\n    padding: 1em;\n  }\n\n  &-bulk-actions {\n    text-align: right;\n    padding: 0 1em;\n    min-height: 2em;\n\n    button {\n      width: 10em;\n    }\n  }\n\n  &-domain-mute-form {\n    padding: 1em;\n    display: flex;\n    flex-direction: column;\n\n    button {\n      align-self: flex-end;\n      margin-top: 1em;\n      width: 10em;\n    }\n  }\n\n  .setting-subitem {\n    margin-left: 1.75em;\n  }\n\n  .profile-fields {\n    display: flex;\n\n    & > .emoji-input {\n      flex: 1 1 auto;\n      margin: 0 0.2em 0.5em;\n      min-width: 0;\n    }\n\n    .delete-field {\n      width: 20px;\n      align-self: center;\n      margin: 0 0.2em 0.5em;\n      padding: 0 0.5em;\n    }\n  }\n\n  .birthday-input {\n    display: block;\n    margin-bottom: 1em;\n  }\n}\n","\n.css-unit-input,\n.css-unit-input select {\n  margin-left: 0.5em;\n  width: 4em;\n  max-width: 4em;\n  min-width: 4em;\n}\n","\n.column-settings {\n  display: flex;\n  justify-content: space-evenly;\n  flex-wrap: wrap;\n}\n\n.column-settings .size-label {\n  display: block;\n  margin-bottom: 0.5em;\n  margin-top: 0.5em;\n}\n","@import \"../../variables\";\n\n.color-input {\n  display: inline-flex;\n\n  &-field.input {\n    display: inline-flex;\n    flex: 0 0 0;\n    max-width: 9em;\n    align-items: stretch;\n    padding: 0.2em 8px;\n\n    input {\n      background: none;\n      color: $fallback--lightText;\n      color: var(--inputText, $fallback--lightText);\n      border: none;\n      padding: 0;\n      margin: 0;\n\n      &.textColor {\n        flex: 1 0 3em;\n        min-width: 3em;\n        padding: 0;\n      }\n\n      &.nativeColor {\n        flex: 0 0 2em;\n        min-width: 2em;\n        align-self: stretch;\n        min-height: 100%;\n      }\n    }\n\n    .computedIndicator,\n    .transparentIndicator {\n      flex: 0 0 2em;\n      min-width: 2em;\n      align-self: stretch;\n      min-height: 100%;\n    }\n\n    .transparentIndicator {\n      // forgot to install counter-strike source, ooops\n      background-color: #f0f;\n      position: relative;\n\n      &::before,\n      &::after {\n        display: block;\n        content: \"\";\n        background-color: #000;\n        position: absolute;\n        height: 50%;\n        width: 50%;\n      }\n\n      &::after {\n        top: 0;\n        left: 0;\n      }\n\n      &::before {\n        bottom: 0;\n        right: 0;\n      }\n    }\n  }\n\n  .label {\n    flex: 1 1 auto;\n  }\n}\n","\n.color-control {\n  input.text-input {\n    max-width: 7em;\n    flex: 1;\n  }\n}\n","\n@import \"../../variables\";\n\n.shadow-control {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  margin-bottom: 1em;\n\n  .shadow-preview-container,\n  .shadow-tweak {\n    margin: 5px 6px 0 0;\n  }\n\n  .shadow-preview-container {\n    flex: 0;\n    display: flex;\n    flex-wrap: wrap;\n\n    $side: 15em;\n\n    input[type=\"number\"] {\n      width: 5em;\n      min-width: 2em;\n    }\n\n    .x-shift-control,\n    .y-shift-control {\n      display: flex;\n      flex: 0;\n\n      &[disabled=\"disabled\"] * {\n        opacity: 0.5;\n      }\n    }\n\n    .x-shift-control {\n      align-items: flex-start;\n    }\n\n    .x-shift-control .wrap,\n    input[type=\"range\"] {\n      margin: 0;\n      width: $side;\n      height: 2em;\n    }\n\n    .y-shift-control {\n      flex-direction: column;\n      align-items: flex-end;\n\n      .wrap {\n        width: 2em;\n        height: $side;\n      }\n\n      input[type=\"range\"] {\n        transform-origin: 1em 1em;\n        transform: rotate(90deg);\n      }\n    }\n\n    .preview-window {\n      flex: 1;\n      background-color: #999;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      background-image:\n        linear-gradient(45deg, #666 25%, transparent 25%),\n        linear-gradient(-45deg, #666 25%, transparent 25%),\n        linear-gradient(45deg, transparent 75%, #666 75%),\n        linear-gradient(-45deg, transparent 75%, #666 75%);\n      background-size: 20px 20px;\n      background-position: 0 0, 0 10px, 10px -10px, -10px 0;\n      border-radius: $fallback--inputRadius;\n      border-radius: var(--inputRadius, $fallback--inputRadius);\n\n      .preview-block {\n        width: 33%;\n        height: 33%;\n        background-color: $fallback--bg;\n        background-color: var(--bg, $fallback--bg);\n        border-radius: $fallback--panelRadius;\n        border-radius: var(--panelRadius, $fallback--panelRadius);\n      }\n    }\n  }\n\n  .shadow-tweak {\n    flex: 1;\n    min-width: 280px;\n\n    .id-control {\n      align-items: stretch;\n\n      .shadow-switcher {\n        flex: 1;\n      }\n\n      .shadow-switcher,\n      .btn {\n        min-width: 1px;\n        margin-right: 5px;\n      }\n\n      .btn {\n        padding: 0 0.4em;\n        margin: 0 0.1em;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.font-control {\n  input.custom-font {\n    min-width: 10em;\n  }\n\n  &.custom {\n    /* TODO Should make proper joiners... */\n    .font-switcher {\n      border-top-right-radius: 0;\n      border-bottom-right-radius: 0;\n    }\n\n    .custom-font {\n      border-top-left-radius: 0;\n      border-bottom-left-radius: 0;\n    }\n  }\n}\n","\n.contrast-ratio {\n  display: flex;\n  justify-content: flex-end;\n  margin-top: -4px;\n  margin-bottom: 5px;\n\n  .label {\n    margin-right: 1em;\n  }\n\n  .rating {\n    display: inline-block;\n    text-align: center;\n    margin-left: 0.5em;\n  }\n}\n","\n.preview-container {\n  position: relative;\n}\n\n.underlay-preview {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 10px;\n  right: 10px;\n}\n","@import \"src/variables\";\n\n.theme-tab {\n  padding-bottom: 2em;\n\n  .preset-switcher {\n    margin-right: 1em;\n  }\n\n  .btn {\n    margin-left: 0.25em;\n    margin-right: 0.25em;\n  }\n\n  .style-control {\n    display: flex;\n    align-items: baseline;\n    margin-bottom: 5px;\n\n    .label {\n      flex: 1;\n    }\n\n    .opt {\n      margin: 0.5em;\n    }\n\n    .color-input {\n      flex: 0 0 0;\n    }\n\n    input,\n    select {\n      min-width: 3em;\n      margin: 0;\n      flex: 0;\n\n      &[type=\"number\"] {\n        min-width: 5em;\n      }\n\n      &[type=\"range\"] {\n        flex: 1;\n        min-width: 3em;\n        align-self: flex-start;\n      }\n    }\n\n    &.disabled {\n      input,\n      select {\n        opacity: 0.5;\n      }\n    }\n  }\n\n  .reset-container {\n    flex-wrap: wrap;\n  }\n\n  .fonts-container,\n  .reset-container,\n  .apply-container,\n  .radius-container,\n  .color-container, {\n    display: flex;\n  }\n\n  .fonts-container,\n  .radius-container {\n    flex-direction: column;\n  }\n\n  .color-container {\n    > h4 {\n      width: 99%;\n    }\n\n    flex-wrap: wrap;\n    justify-content: space-between;\n  }\n\n  .fonts-container,\n  .color-container,\n  .shadow-container,\n  .radius-container,\n  .presets-container {\n    margin: 1em 1em 0;\n  }\n\n  .tab-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: baseline;\n    width: 100%;\n    min-height: 30px;\n    margin-bottom: 1em;\n\n    p {\n      flex: 1;\n      margin: 0;\n      margin-right: 0.5em;\n    }\n  }\n\n  .tab-header-buttons {\n    display: flex;\n    flex-direction: column;\n\n    .btn {\n      min-width: 1px;\n      flex: 0 auto;\n      padding: 0 1em;\n      margin-bottom: 0.5em;\n    }\n  }\n\n  .shadow-selector {\n    .override {\n      flex: 1;\n      margin-left: 0.5em;\n    }\n\n    .select-container {\n      margin-top: -4px;\n      margin-bottom: -3px;\n    }\n  }\n\n  .save-load,\n  .save-load-options {\n    display: flex;\n    justify-content: center;\n    align-items: baseline;\n    flex-wrap: wrap;\n\n    .presets,\n    .import-export {\n      margin-bottom: 0.5em;\n    }\n\n    .import-export {\n      display: flex;\n    }\n\n    .override {\n      margin-left: 0.5em;\n    }\n  }\n\n  .save-load-options {\n    flex-wrap: wrap;\n    margin-top: 0.5em;\n    justify-content: center;\n\n    .keep-option {\n      margin: 0 0.5em 0.5em;\n      min-width: 25%;\n    }\n  }\n\n  .preview-container {\n    border-top: 1px dashed;\n    border-bottom: 1px dashed;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n    margin: 1em 0;\n    padding: 1em;\n    background-color: var(--wallpaper);\n    background-image: var(--body-background-image);\n    background-size: cover;\n    background-position: 50% 50%;\n\n    .dummy {\n      .post {\n        font-family: var(--postFont);\n        display: flex;\n\n        .content {\n          flex: 1;\n\n          h4 {\n            margin-bottom: 0.25em;\n          }\n\n          .icons {\n            margin-top: 0.5em;\n            display: flex;\n\n            i {\n              margin-right: 1em;\n            }\n          }\n        }\n      }\n\n      .after-post {\n        margin-top: 1em;\n        display: flex;\n        align-items: center;\n      }\n\n      .avatar,\n      .avatar-alt {\n        background:\n          linear-gradient(\n            135deg,\n            #b8e1fc 0%,\n            #a9d2f3 10%,\n            #90bae4 25%,\n            #90bcea 37%,\n            #90bff0 50%,\n            #6ba8e5 51%,\n            #a2daf5 83%,\n            #bdf3fd 100%\n          );\n        color: black;\n        font-family: sans-serif;\n        text-align: center;\n        margin-right: 1em;\n      }\n\n      .avatar-alt {\n        flex: 0 auto;\n        margin-left: 28px;\n        font-size: 12px;\n        min-width: 20px;\n        min-height: 20px;\n        line-height: 20px;\n        border-radius: $fallback--avatarAltRadius;\n        border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n      }\n\n      .avatar {\n        flex: 0 auto;\n        width: 48px;\n        height: 48px;\n        font-size: 14px;\n        line-height: 48px;\n      }\n\n      .actions {\n        display: flex;\n        align-items: baseline;\n\n        .checkbox {\n          display: inline-flex;\n          align-items: baseline;\n          margin-right: 1em;\n          flex: 1;\n        }\n      }\n\n      .separator {\n        margin: 1em;\n        border-bottom: 1px solid;\n        border-color: $fallback--border;\n        border-color: var(--border, $fallback--border);\n      }\n\n      .btn {\n        min-width: 3em;\n      }\n    }\n  }\n\n  .radius-item {\n    flex-basis: auto;\n  }\n\n  .radius-item,\n  .color-item {\n    min-width: 20em;\n    margin: 5px 6px 0 0;\n    display: flex;\n    flex-direction: column;\n    flex: 1 1 0;\n\n    &.wide {\n      min-width: 60%;\n    }\n\n    &:not(.wide):nth-child(2n+1) {\n      margin-right: 7px;\n    }\n\n    .color,\n    .opacity {\n      display: flex;\n      align-items: baseline;\n    }\n  }\n\n  .theme-radius-rn,\n  .theme-color-cl {\n    border: 0;\n    box-shadow: none;\n    background: transparent;\n    color: var(--faint, $fallback--faint);\n    align-self: stretch;\n  }\n\n  .theme-color-cl,\n  .theme-radius-in,\n  .theme-color-in {\n    margin-left: 4px;\n  }\n\n  .theme-radius-in {\n    min-width: 1em;\n    max-width: 7em;\n    flex: 1;\n  }\n\n  .theme-radius-lb {\n    max-width: 50em;\n  }\n\n  .theme-preview-content {\n    padding: 20px;\n  }\n\n  .theme-warning {\n    display: flex;\n    align-items: baseline;\n    margin-bottom: 0.5em;\n\n    .buttons {\n      .btn {\n        margin-bottom: 0.5em;\n      }\n    }\n  }\n}\n\n.extra-content {\n  .apply-container {\n    display: flex;\n    flex-direction: row;\n    justify-content: space-around;\n    flex-grow: 1;\n\n    /* stylelint-disable-next-line no-descending-specificity */\n    .btn {\n      flex-grow: 1;\n      min-height: 2em;\n      min-width: 0;\n      max-width: 10em;\n      padding: 0;\n    }\n  }\n}\n","@import \"src/variables\";\n\n.settings_tab-switcher {\n  height: 100%;\n\n  .setting-item {\n    border-bottom: 2px solid var(--fg, $fallback--fg);\n    margin: 1em 1em 1.4em;\n    padding-bottom: 1.4em;\n\n    > div,\n    > label {\n      display: block;\n      margin-bottom: 0.5em;\n\n      &:last-child {\n        margin-bottom: 0;\n      }\n    }\n\n    .select-multiple {\n      display: flex;\n\n      .option-list {\n        margin: 0;\n        padding-left: 0.5em;\n      }\n    }\n\n    &:last-child {\n      border-bottom: none;\n      padding-bottom: 0;\n      margin-bottom: 1em;\n    }\n\n    select {\n      min-width: 10em;\n    }\n\n    textarea {\n      width: 100%;\n      max-width: 100%;\n      height: 100px;\n    }\n\n    .unavailable,\n    .unavailable svg {\n      color: var(--cRed, $fallback--cRed);\n      color: $fallback--cRed;\n    }\n\n    .number-input {\n      max-width: 6em;\n    }\n  }\n}\n"],"names":[],"sourceRoot":""}
+\ No newline at end of file
+diff --git a/priv/static/static/css/9801.cfe503d4c949ae0c3813.css b/priv/static/static/css/9801.cfe503d4c949ae0c3813.css
+new file mode 100644
+index 0000000000000000000000000000000000000000..b27df4a19f6e80a806e1267d2e6ce2fa158028fd
+Binary files /dev/null and b/priv/static/static/css/9801.cfe503d4c949ae0c3813.css differ
+diff --git a/priv/static/static/css/9801.cfe503d4c949ae0c3813.css.map b/priv/static/static/css/9801.cfe503d4c949ae0c3813.css.map
+new file mode 100644
+index 0000000000000000000000000000000000000000..7ab561567deb66ff11d8f4c3b8d7021c148922e3
+--- /dev/null
++++ b/priv/static/static/css/9801.cfe503d4c949ae0c3813.css.map
+@@ -0,0 +1 @@
++{"version":3,"file":"static/css/9801.cfe503d4c949ae0c3813.css","mappings":"AACA,mBACE,qBACA,kBAGF,kBACE,gBACA,eACA,kBCRF,yBACE,qBACA,kBAGF,wBACE,gBACA,eACA,kBCRF,cACE,qBACA,kBAEA,8BACE,iBAIJ,eACE,gBACA,eACA,kBCXA,+BACE,cAEA,YACA,mBAFA,UAEA,CAGF,qCAEE,aACA,sBAFA,gBAGA,WAGF,6BACE,mBAEA,uEAEE,WCpBJ,2BACE,UAGF,kBAEE,iBAGA,eADA,kBAHA,uBAEA,kBAEA,CCRJ,uBACE,YAEA,qCACE,0CACA,qBACA,qBAEA,oFAEE,cACA,mBAEA,0GACE,gBAIJ,sDACE,aAEA,mEACE,SACA,kBAIJ,gDACE,mBAEA,kBADA,gBACA,CAGF,4CACE,eAGF,8CAGE,aADA,eADA,UAEA,CAGF,wGAEE,sBACA,SCnCW","sources":["webpack://pleroma_fe/./src/components/settings_modal/helpers/modified_indicator.vue","webpack://pleroma_fe/./src/components/settings_modal/helpers/profile_setting_indicator.vue","webpack://pleroma_fe/./src/components/settings_modal/helpers/draft_buttons.vue","webpack://pleroma_fe/./src/components/settings_modal/helpers/attachment_setting.vue","webpack://pleroma_fe/./src/components/settings_modal/admin_tabs/frontends_tab.scss","webpack://pleroma_fe/./src/components/settings_modal/settings_modal_admin_content.scss","webpack://pleroma_fe/./src/_variables.scss"],"sourcesContent":["\n.ModifiedIndicator {\n  display: inline-block;\n  position: relative;\n}\n\n.modified-tooltip {\n  margin: 0.5em 1em;\n  min-width: 10em;\n  text-align: center;\n}\n","\n.ProfileSettingIndicator {\n  display: inline-block;\n  position: relative;\n}\n\n.profilesetting-tooltip {\n  margin: 0.5em 1em;\n  min-width: 10em;\n  text-align: center;\n}\n","\n.DraftButtons {\n  display: inline-block;\n  position: relative;\n\n  .button-default {\n    margin-left: 0.5em;\n  }\n}\n\n.draft-tooltip {\n  margin: 0.5em 1em;\n  min-width: 10em;\n  text-align: center;\n}\n","\n.AttachmentSetting {\n  .attachment {\n    display: block;\n    width: 100%;\n    height: 15em;\n    margin-bottom: 0.5em;\n  }\n\n  .attachment-input {\n    margin-left: 1em;\n    display: flex;\n    flex-direction: column;\n    width: 20em;\n  }\n\n  .controls {\n    margin-bottom: 0.5em;\n\n    input,\n    button {\n      width: 100%;\n    }\n  }\n}\n",".frontends-tab {\n  .cards-list {\n    padding: 0;\n  }\n\n  dd {\n    text-overflow: ellipsis;\n    word-wrap: nowrap;\n    white-space: nowrap;\n    overflow-x: hidden;\n    max-width: 10em;\n  }\n}\n","@import \"src/variables\";\n\n.settings_tab-switcher {\n  height: 100%;\n\n  .setting-item {\n    border-bottom: 2px solid var(--fg, $fallback--fg);\n    margin: 1em 1em 1.4em;\n    padding-bottom: 1.4em;\n\n    > div,\n    > label {\n      display: block;\n      margin-bottom: 0.5em;\n\n      &:last-child {\n        margin-bottom: 0;\n      }\n    }\n\n    .select-multiple {\n      display: flex;\n\n      .option-list {\n        margin: 0;\n        padding-left: 0.5em;\n      }\n    }\n\n    &:last-child {\n      border-bottom: none;\n      padding-bottom: 0;\n      margin-bottom: 1em;\n    }\n\n    select {\n      min-width: 10em;\n    }\n\n    textarea {\n      width: 100%;\n      max-width: 100%;\n      height: 100px;\n    }\n\n    .unavailable,\n    .unavailable svg {\n      color: var(--cRed, $fallback--cRed);\n      color: $fallback--cRed;\n    }\n  }\n}\n","$main-color: #f58d2c;\n$main-background: white;\n$darkened-background: whitesmoke;\n\n$fallback--bg: #121a24;\n$fallback--fg: #182230;\n$fallback--faint: rgb(185 185 186 / 50%);\n$fallback--text: #b9b9ba;\n$fallback--link: #d8a070;\n$fallback--icon: #666;\n$fallback--lightBg: rgb(21 30 42);\n$fallback--lightText: #b9b9ba;\n$fallback--border: #222;\n$fallback--cRed: #f00;\n$fallback--cBlue: #0095ff;\n$fallback--cGreen: #0fa00f;\n$fallback--cOrange: orange;\n\n$fallback--alertError: rgb(211 16 20 / 50%);\n$fallback--alertWarning: rgb(111 111 20 / 50%);\n\n$fallback--panelRadius: 10px;\n$fallback--checkboxRadius: 2px;\n$fallback--btnRadius: 4px;\n$fallback--inputRadius: 4px;\n$fallback--tooltipRadius: 5px;\n$fallback--avatarRadius: 4px;\n$fallback--avatarAltRadius: 10px;\n$fallback--attachmentRadius: 10px;\n$fallback--chatMessageRadius: 10px;\n\n$fallback--buttonShadow: 0 0 2px 0 rgb(0 0 0 / 100%),\n  0 1px 0 0 rgb(255 255 255 / 20%) inset,\n  0 -1px 0 0 rgb(0 0 0 / 20%) inset;\n\n$status-margin: 0.75em;\n"],"names":[],"sourceRoot":""}
+\ No newline at end of file
+diff --git a/priv/static/static/css/app.48e52505beba5b9ab69b.css b/priv/static/static/css/app.48e52505beba5b9ab69b.css
+deleted file mode 100644
+index ee1ea9cb439dd39f1b70fd7eb159d7381866a9b7..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/css/app.48e52505beba5b9ab69b.css and /dev/null differ
+diff --git a/priv/static/static/css/app.48e52505beba5b9ab69b.css.map b/priv/static/static/css/app.48e52505beba5b9ab69b.css.map
+deleted file mode 100644
+index a87315d2bd098121524077f5f6ffed16625151b3..0000000000000000000000000000000000000000
+--- a/priv/static/static/css/app.48e52505beba5b9ab69b.css.map
++++ /dev/null
+@@ -1 +0,0 @@
+-{"version":3,"file":"static/css/app.48e52505beba5b9ab69b.css","mappings":"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","sources":["webpack://pleroma_fe/./src/components/modal/modal.vue","webpack://pleroma_fe/./node_modules/vue-virtual-scroller/dist/vue-virtual-scroller.css","webpack://pleroma_fe/./src/components/login_form/login_form.vue","webpack://pleroma_fe/./src/components/media_upload/media_upload.vue","webpack://pleroma_fe/./src/components/scope_selector/scope_selector.vue","webpack://pleroma_fe/./src/_variables.scss","webpack://pleroma_fe/./src/components/checkbox/checkbox.vue","webpack://pleroma_fe/./src/components/popover/popover.vue","webpack://pleroma_fe/./src/components/still-image/still-image.vue","webpack://pleroma_fe/./src/components/emoji_picker/emoji_picker.scss","webpack://pleroma_fe/./src/components/emoji_input/emoji_input.vue","webpack://pleroma_fe/./src/components/select/select.vue","webpack://pleroma_fe/./src/components/poll/poll_form.vue","webpack://pleroma_fe/./src/components/flash/flash.vue","webpack://pleroma_fe/./src/components/attachment/attachment.scss","webpack://pleroma_fe/./src/components/gallery/gallery.vue","webpack://pleroma_fe/./src/components/user_avatar/user_avatar.vue","webpack://pleroma_fe/./src/components/mention_link/mention_link.scss","webpack://pleroma_fe/./src/components/mentions_line/mentions_line.scss","webpack://pleroma_fe/./src/components/hashtag_link/hashtag_link.scss","webpack://pleroma_fe/./src/components/rich_content/rich_content.scss","webpack://pleroma_fe/./src/components/poll/poll.vue","webpack://pleroma_fe/./src/components/status_body/status_body.scss","webpack://pleroma_fe/./src/components/link-preview/link-preview.vue","webpack://pleroma_fe/./src/components/status_content/status_content.vue","webpack://pleroma_fe/./src/components/post_status_form/post_status_form.vue","webpack://pleroma_fe/./src/components/remote_follow/remote_follow.vue","webpack://pleroma_fe/./src/components/dialog_modal/dialog_modal.vue","webpack://pleroma_fe/./src/components/moderation_tools/moderation_tools.vue","webpack://pleroma_fe/./src/components/account_actions/account_actions.vue","webpack://pleroma_fe/./src/components/user_note/user_note.vue","webpack://pleroma_fe/./src/components/user_card/user_card.scss","webpack://pleroma_fe/./src/components/user_panel/user_panel.vue","webpack://pleroma_fe/./src/components/navigation/navigation_entry.vue","webpack://pleroma_fe/./src/components/navigation/navigation_pins.vue","webpack://pleroma_fe/./src/components/nav_panel/nav_panel.vue","webpack://pleroma_fe/./src/components/features_panel/features_panel.vue","webpack://pleroma_fe/./src/components/who_to_follow_panel/who_to_follow_panel.vue","webpack://pleroma_fe/./src/components/shout_panel/shout_panel.vue","webpack://pleroma_fe/./src/components/media_modal/media_modal.vue","webpack://pleroma_fe/./src/components/side_drawer/side_drawer.vue","webpack://pleroma_fe/./src/components/mobile_post_status_button/mobile_post_status_button.vue","webpack://pleroma_fe/./src/components/reply_button/reply_button.vue","webpack://pleroma_fe/./src/components/favorite_button/favorite_button.vue","webpack://pleroma_fe/./src/components/react_button/react_button.vue","webpack://pleroma_fe/./src/components/retweet_button/retweet_button.vue","webpack://pleroma_fe/./src/components/extra_buttons/extra_buttons.vue","webpack://pleroma_fe/./src/components/avatar_list/avatar_list.vue","webpack://pleroma_fe/./src/components/status_popover/status_popover.vue","webpack://pleroma_fe/./src/components/user_list_popover/user_list_popover.vue","webpack://pleroma_fe/./src/components/emoji_reactions/emoji_reactions.vue","webpack://pleroma_fe/./src/components/status/status.scss","webpack://pleroma_fe/./src/components/report/report.scss","webpack://pleroma_fe/./src/components/notification/notification.scss","webpack://pleroma_fe/./src/components/notifications/notifications.scss","webpack://pleroma_fe/./src/components/mobile_nav/mobile_nav.vue","webpack://pleroma_fe/./src/components/search_bar/search_bar.vue","webpack://pleroma_fe/./src/components/desktop_nav/desktop_nav.scss","webpack://pleroma_fe/./src/components/list/list.vue","webpack://pleroma_fe/./src/components/user_reporting_modal/user_reporting_modal.vue","webpack://pleroma_fe/./src/components/edit_status_modal/edit_status_modal.vue","webpack://pleroma_fe/./src/components/post_status_modal/post_status_modal.vue","webpack://pleroma_fe/./src/components/status_history_modal/status_history_modal.vue","webpack://pleroma_fe/./src/components/global_notice_list/global_notice_list.vue","webpack://pleroma_fe/./src/App.scss","webpack://pleroma_fe/./src/panel.scss","webpack://pleroma_fe/./src/components/thread_tree/thread_tree.vue","webpack://pleroma_fe/./src/components/conversation/conversation.vue","webpack://pleroma_fe/./src/components/timeline_menu/timeline_menu.vue","webpack://pleroma_fe/./src/components/timeline/timeline.scss","webpack://pleroma_fe/./src/components/tab_switcher/tab_switcher.scss","webpack://pleroma_fe/./src/components/chat_title/chat_title.vue","webpack://pleroma_fe/./src/components/chat_list_item/chat_list_item.scss","webpack://pleroma_fe/./src/components/basic_user_card/basic_user_card.vue","webpack://pleroma_fe/./src/components/chat_new/chat_new.scss","webpack://pleroma_fe/./src/components/chat_list/chat_list.vue","webpack://pleroma_fe/./src/components/chat_message/chat_message.scss","webpack://pleroma_fe/./src/components/chat/chat.scss","webpack://pleroma_fe/./src/components/follow_card/follow_card.vue","webpack://pleroma_fe/./src/hocs/with_load_more/with_load_more.scss","webpack://pleroma_fe/./src/components/user_profile/user_profile.vue","webpack://pleroma_fe/./src/components/search/search.vue","webpack://pleroma_fe/./src/components/interface_language_switcher/interface_language_switcher.vue","webpack://pleroma_fe/./src/components/registration/registration.vue","webpack://pleroma_fe/./src/components/password_reset/password_reset.vue","webpack://pleroma_fe/./src/components/follow_request_card/follow_request_card.vue","webpack://pleroma_fe/./src/components/terms_of_service_panel/terms_of_service_panel.vue","webpack://pleroma_fe/./src/components/staff_panel/staff_panel.vue","webpack://pleroma_fe/./src/components/mrf_transparency_panel/mrf_transparency_panel.scss","webpack://pleroma_fe/./src/components/lists_card/lists_card.vue","webpack://pleroma_fe/./src/components/lists/lists.vue","webpack://pleroma_fe/./src/components/lists_user_search/lists_user_search.vue","webpack://pleroma_fe/./src/components/panel_loading/panel_loading.vue","webpack://pleroma_fe/./src/components/lists_edit/lists_edit.vue","webpack://pleroma_fe/./src/components/announcement_editor/announcement_editor.vue","webpack://pleroma_fe/./src/components/announcement/announcement.vue","webpack://pleroma_fe/./src/components/announcements_page/announcements_page.vue"],"sourcesContent":["\n.modal-view {\n  z-index: var(--ZI_modals);\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  overflow: auto;\n  pointer-events: none;\n  animation-duration: 0.2s;\n  animation-name: modal-background-fadein;\n  opacity: 0;\n\n  > * {\n    pointer-events: initial;\n  }\n\n  &.modal-background {\n    pointer-events: initial;\n    background-color: rgb(0 0 0 / 50%);\n  }\n\n  &.open {\n    opacity: 1;\n  }\n}\n\n@keyframes modal-background-fadein {\n  from {\n    background-color: rgb(0 0 0 / 0%);\n  }\n\n  to {\n    background-color: rgb(0 0 0 / 50%);\n  }\n}\n",".vue-recycle-scroller{position:relative}.vue-recycle-scroller.direction-vertical:not(.page-mode){overflow-y:auto}.vue-recycle-scroller.direction-horizontal:not(.page-mode){overflow-x:auto}.vue-recycle-scroller.direction-horizontal{display:flex}.vue-recycle-scroller__slot{flex:auto 0 0}.vue-recycle-scroller__item-wrapper{flex:1;box-sizing:border-box;overflow:hidden;position:relative}.vue-recycle-scroller.ready .vue-recycle-scroller__item-view{position:absolute;top:0;left:0;will-change:transform}.vue-recycle-scroller.direction-vertical .vue-recycle-scroller__item-wrapper{width:100%}.vue-recycle-scroller.direction-horizontal .vue-recycle-scroller__item-wrapper{height:100%}.vue-recycle-scroller.ready.direction-vertical .vue-recycle-scroller__item-view{width:100%}.vue-recycle-scroller.ready.direction-horizontal .vue-recycle-scroller__item-view{height:100%}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}","\n@import \"../../variables\";\n\n.login-form {\n  display: flex;\n  flex-direction: column;\n  padding: 0.6em;\n\n  .btn {\n    min-height: 2em;\n    width: 10em;\n  }\n\n  .register {\n    flex: 1 1;\n  }\n\n  .login-bottom {\n    margin-top: 1em;\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    justify-content: space-between;\n  }\n\n  .form-group {\n    display: flex;\n    flex-direction: column;\n    padding: 0.3em 0.5em 0.6em;\n    line-height: 24px;\n  }\n\n  .form-bottom {\n    display: flex;\n    padding: 0.5em;\n    height: 32px;\n\n    button {\n      width: 10em;\n    }\n\n    p {\n      margin: 0.35em;\n      padding: 0.35em;\n      display: flex;\n    }\n  }\n\n  .error {\n    text-align: center;\n    animation-name: shakeError;\n    animation-duration: 0.4s;\n    animation-timing-function: ease-in-out;\n  }\n}\n","\n@import \"../../variables\";\n\n.media-upload {\n  cursor: pointer; // We use <label> for interactivity... i wonder if it's fine\n\n  .hidden-input-file {\n    display: none;\n  }\n}\n ","\n@import \"../../variables\";\n\n.ScopeSelector {\n  .scope {\n    display: inline-block;\n    cursor: pointer;\n    min-width: 1.3em;\n    min-height: 1.3em;\n    text-align: center;\n\n    &.selected svg {\n      color: $fallback--lightText;\n      color: var(--lightText, $fallback--lightText);\n    }\n  }\n}\n","$main-color: #f58d2c;\n$main-background: white;\n$darkened-background: whitesmoke;\n\n$fallback--bg: #121a24;\n$fallback--fg: #182230;\n$fallback--faint: rgb(185 185 186 / 50%);\n$fallback--text: #b9b9ba;\n$fallback--link: #d8a070;\n$fallback--icon: #666;\n$fallback--lightBg: rgb(21 30 42);\n$fallback--lightText: #b9b9ba;\n$fallback--border: #222;\n$fallback--cRed: #f00;\n$fallback--cBlue: #0095ff;\n$fallback--cGreen: #0fa00f;\n$fallback--cOrange: orange;\n\n$fallback--alertError: rgb(211 16 20 / 50%);\n$fallback--alertWarning: rgb(111 111 20 / 50%);\n\n$fallback--panelRadius: 10px;\n$fallback--checkboxRadius: 2px;\n$fallback--btnRadius: 4px;\n$fallback--inputRadius: 4px;\n$fallback--tooltipRadius: 5px;\n$fallback--avatarRadius: 4px;\n$fallback--avatarAltRadius: 10px;\n$fallback--attachmentRadius: 10px;\n$fallback--chatMessageRadius: 10px;\n\n$fallback--buttonShadow: 0 0 2px 0 rgb(0 0 0 / 100%),\n  0 1px 0 0 rgb(255 255 255 / 20%) inset,\n  0 -1px 0 0 rgb(0 0 0 / 20%) inset;\n\n$status-margin: 0.75em;\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.checkbox {\n  position: relative;\n  display: inline-block;\n  min-height: 1.2em;\n\n  &-indicator {\n    position: relative;\n    padding-left: 1.2em;\n  }\n\n  &-indicator::before {\n    position: absolute;\n    right: 0;\n    top: 0;\n    display: block;\n    content: \"✓\";\n    transition: color 200ms;\n    width: 1.1em;\n    height: 1.1em;\n    border-radius: $fallback--checkboxRadius;\n    border-radius: var(--checkboxRadius, $fallback--checkboxRadius);\n    box-shadow: 0 0 2px black inset;\n    box-shadow: var(--inputShadow);\n    background-color: $fallback--fg;\n    background-color: var(--input, $fallback--fg);\n    vertical-align: top;\n    text-align: center;\n    line-height: 1.1em;\n    font-size: 1.1em;\n    color: transparent;\n    overflow: hidden;\n    box-sizing: border-box;\n  }\n\n  &.disabled {\n    .checkbox-indicator::before,\n    .label {\n      opacity: 0.5;\n    }\n\n    .label {\n      color: $fallback--faint;\n      color: var(--faint, $fallback--faint);\n    }\n  }\n\n  input[type=\"checkbox\"] {\n    &:checked + .checkbox-indicator::before {\n      color: $fallback--text;\n      color: var(--inputText, $fallback--text);\n    }\n\n    &:indeterminate + .checkbox-indicator::before {\n      content: \"–\";\n      color: $fallback--text;\n      color: var(--inputText, $fallback--text);\n    }\n  }\n\n  & > span {\n    margin-left: 0.5em;\n  }\n}\n","\n@import \"../../variables\";\n\n.popover-trigger-button {\n  display: inline-block;\n}\n\n.popover {\n  z-index: var(--ZI_popover_override, var(--ZI_popovers));\n  position: fixed;\n  min-width: 0;\n  max-width: calc(100vw - 20px);\n  box-shadow: 2px 2px 3px rgb(0 0 0 / 50%);\n  box-shadow: var(--popupShadow);\n}\n\n.popover-default {\n  &::after {\n    content: \"\";\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    z-index: 3;\n    box-shadow: 1px 1px 4px rgb(0 0 0 / 60%);\n    box-shadow: var(--panelShadow);\n    pointer-events: none;\n  }\n\n  border-radius: $fallback--btnRadius;\n  border-radius: var(--btnRadius, $fallback--btnRadius);\n  background-color: $fallback--bg;\n  background-color: var(--popover, $fallback--bg);\n  color: $fallback--text;\n  color: var(--popoverText, $fallback--text);\n\n  --faint: var(--popoverFaintText, $fallback--faint);\n  --faintLink: var(--popoverFaintLink, $fallback--faint);\n  --lightText: var(--popoverLightText, $fallback--lightText);\n  --postLink: var(--popoverPostLink, $fallback--link);\n  --postFaintLink: var(--popoverPostFaintLink, $fallback--link);\n  --icon: var(--popoverIcon, $fallback--icon);\n}\n\n.dropdown-menu {\n  display: block;\n  padding: 0.5rem 0;\n  font-size: 1em;\n  text-align: left;\n  list-style: none;\n  max-width: 100vw;\n  z-index: var(--ZI_popover_override, var(--ZI_popovers));\n  white-space: nowrap;\n\n  .dropdown-divider {\n    height: 0;\n    margin: 0.5rem 0;\n    overflow: hidden;\n    border-top: 1px solid $fallback--border;\n    border-top: 1px solid var(--border, $fallback--border);\n  }\n\n  .dropdown-item {\n    line-height: 21px;\n    overflow: hidden;\n    display: block;\n    padding: 0.5em 0.75em;\n    clear: both;\n    font-weight: 400;\n    text-align: inherit;\n    white-space: nowrap;\n    border: none;\n    border-radius: 0;\n    background-color: transparent;\n    box-shadow: none;\n    width: 100%;\n    height: 100%;\n    box-sizing: border-box;\n\n    --btnText: var(--popoverText, $fallback--text);\n\n    &-icon {\n      svg {\n        width: 22px;\n        margin-right: 0.75rem;\n        color: var(--menuPopoverIcon, $fallback--icon);\n      }\n    }\n\n    &.-has-submenu {\n      .chevron-icon {\n        margin-right: 0.25rem;\n        margin-left: 2rem;\n      }\n    }\n\n    &:active,\n    &:hover {\n      background-color: $fallback--lightBg;\n      background-color: var(--selectedMenuPopover, $fallback--lightBg);\n      box-shadow: none;\n\n      --btnText: var(--selectedMenuPopoverText, $fallback--link);\n      --faint: var(--selectedMenuPopoverFaintText, $fallback--faint);\n      --faintLink: var(--selectedMenuPopoverFaintLink, $fallback--faint);\n      --lightText: var(--selectedMenuPopoverLightText, $fallback--lightText);\n      --icon: var(--selectedMenuPopoverIcon, $fallback--icon);\n\n      svg {\n        color: var(--selectedMenuPopoverIcon, $fallback--icon);\n\n        --icon: var(--selectedMenuPopoverIcon, $fallback--icon);\n      }\n    }\n\n    .menu-checkbox {\n      display: inline-block;\n      vertical-align: middle;\n      min-width: 22px;\n      max-width: 22px;\n      min-height: 22px;\n      max-height: 22px;\n      line-height: 22px;\n      text-align: center;\n      border-radius: 0;\n      background-color: $fallback--fg;\n      background-color: var(--input, $fallback--fg);\n      box-shadow: 0 0 2px black inset;\n      box-shadow: var(--inputShadow);\n      margin-right: 0.75em;\n\n      &.menu-checkbox-checked::after {\n        font-size: 1.25em;\n        content: \"✓\";\n      }\n\n      &.-radio {\n        border-radius: 9999px;\n\n        &.menu-checkbox-checked::after {\n          font-size: 2em;\n          content: \"•\";\n        }\n      }\n    }\n  }\n\n  .button-default.dropdown-item {\n    &,\n    i[class*=\"icon-\"] {\n      color: $fallback--text;\n      color: var(--btnText, $fallback--text);\n    }\n\n    &:active {\n      background-color: $fallback--lightBg;\n      background-color: var(--selectedMenuPopover, $fallback--lightBg);\n      color: $fallback--link;\n      color: var(--selectedMenuPopoverText, $fallback--link);\n    }\n\n    &:disabled {\n      color: $fallback--text;\n      color: var(--btnDisabledText, $fallback--text);\n    }\n\n    &.toggled {\n      color: $fallback--text;\n      color: var(--btnToggledText, $fallback--text);\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.still-image {\n  position: relative;\n  line-height: 0;\n  overflow: hidden;\n  display: inline-flex;\n  align-items: center;\n\n  canvas {\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n    visibility: var(--_still-image-canvas-visibility, visible);\n  }\n\n  img {\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n  }\n\n  &.animated {\n    &::before {\n      zoom: var(--_still_image-label-scale, 1);\n      content: \"gif\";\n      position: absolute;\n      line-height: 1;\n      font-size: 0.7em;\n      top: 0.5em;\n      left: 0.5em;\n      background: rgb(127 127 127 / 50%);\n      color: #fff;\n      display: block;\n      padding: 2px 4px;\n      border-radius: $fallback--tooltipRadius;\n      border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n      z-index: 2;\n      visibility: var(--_still-image-label-visibility, visible);\n    }\n\n    &:hover canvas {\n      display: none;\n    }\n\n    &:hover::before {\n      visibility: var(--_still-image-label-visibility, hidden);\n    }\n\n    img {\n      visibility: var(--_still-image-img-visibility, hidden);\n    }\n\n    &:hover img {\n      visibility: visible;\n    }\n  }\n}\n","@import \"../../variables\";\n\n$emoji-picker-header-height: 36px;\n$emoji-picker-header-picture-width: 32px;\n$emoji-picker-header-picture-height: 32px;\n$emoji-picker-emoji-size: 32px;\n\n.emoji-picker {\n  width: 25em;\n  max-width: calc(100vw - 20px); // popover gives 10px margin from window edge\n  display: flex;\n  flex-direction: column;\n  background-color: $fallback--bg;\n  background-color: var(--popover, $fallback--bg);\n  color: $fallback--link;\n  color: var(--popoverText, $fallback--link);\n\n  --faint: var(--popoverFaintText, $fallback--faint);\n  --faintLink: var(--popoverFaintLink, $fallback--faint);\n  --lightText: var(--popoverLightText, $fallback--lightText);\n  --icon: var(--popoverIcon, $fallback--icon);\n\n  &-header-image {\n    display: inline-flex;\n    justify-content: center;\n    align-items: center;\n    width: $emoji-picker-header-picture-width;\n    max-width: $emoji-picker-header-picture-width;\n    height: $emoji-picker-header-picture-height;\n    max-height: $emoji-picker-header-picture-height;\n\n    .still-image {\n      max-width: 100%;\n      max-height: 100%;\n      height: 100%;\n      width: 100%;\n      object-fit: contain;\n    }\n  }\n\n  .keep-open,\n  .too-many-emoji {\n    padding: 7px;\n    line-height: normal;\n  }\n\n  .too-many-emoji {\n    display: flex;\n    flex-direction: column;\n  }\n\n  .keep-open-label {\n    padding: 0 7px;\n    display: flex;\n  }\n\n  .heading {\n    display: flex;\n    padding: 10px 7px 5px;\n  }\n\n  .content {\n    display: flex;\n    flex-direction: column;\n    flex: 1 1 auto;\n    min-height: 0;\n  }\n\n  .emoji-tabs {\n    flex-grow: 1;\n    display: flex;\n    flex-flow: row nowrap;\n    overflow-x: auto;\n  }\n\n  .additional-tabs {\n    display: flex;\n    border-left: 1px solid;\n    border-left-color: $fallback--icon;\n    border-left-color: var(--icon, $fallback--icon);\n    padding-left: 7px;\n    flex: 0 0 auto;\n  }\n\n  .additional-tabs,\n  .emoji-tabs {\n    flex-basis: auto;\n    display: flex;\n    align-content: center;\n\n    &-item {\n      padding: 0 7px;\n      cursor: pointer;\n      font-size: 1.85em;\n      width: $emoji-picker-header-picture-width;\n      max-width: $emoji-picker-header-picture-width;\n      height: $emoji-picker-header-picture-height;\n      max-height: $emoji-picker-header-picture-height;\n      display: flex;\n      align-items: center;\n\n      &.disabled {\n        opacity: 0.5;\n        pointer-events: none;\n      }\n\n      &.active {\n        border-bottom: 4px solid;\n\n        svg {\n          color: $fallback--lightText;\n          color: var(--lightText, $fallback--lightText);\n        }\n      }\n    }\n  }\n\n  .sticker-picker {\n    flex: 1 1 auto;\n  }\n\n  .stickers,\n  .emoji {\n    &-content {\n      display: flex;\n      flex-direction: column;\n      flex: 1 1 auto;\n      min-height: 0;\n\n      &.hidden {\n        opacity: 0;\n        pointer-events: none;\n        position: absolute;\n      }\n    }\n  }\n\n  .emoji {\n    &-search {\n      padding: 5px;\n      flex: 0 0 auto;\n\n      input {\n        width: 100%;\n      }\n    }\n\n    &-groups {\n      height: 100%;\n      min-height: 200px;\n      flex: 1 1 1px;\n      position: relative;\n      overflow: auto;\n      user-select: none;\n      mask:\n        linear-gradient(to top, white 0, transparent 100%) bottom no-repeat,\n        linear-gradient(to bottom, white 0, transparent 100%) top no-repeat,\n        linear-gradient(to top, white, white);\n      transition: mask-size 150ms;\n      mask-size: 100% 20px, 100% 20px, auto;\n      // Autoprefixed seem to ignore this one, and also syntax is different\n      mask-composite: xor;\n      mask-composite: exclude;\n\n      &.scrolled {\n        &-top {\n          mask-size: 100% 20px, 100% 0, auto;\n        }\n\n        &-bottom {\n          mask-size: 100% 0, 100% 20px, auto;\n        }\n      }\n    }\n\n    &-group {\n      display: flex;\n      align-items: center;\n      flex-wrap: wrap;\n      padding-left: 5px;\n      justify-content: left;\n\n      &-title {\n        font-size: 0.85em;\n        width: 100%;\n        margin: 0;\n\n        &.disabled {\n          display: none;\n        }\n      }\n    }\n\n    &-item {\n      width: $emoji-picker-emoji-size;\n      height: $emoji-picker-emoji-size;\n      box-sizing: border-box;\n      display: flex;\n      line-height: $emoji-picker-emoji-size;\n      align-items: center;\n      justify-content: center;\n      margin: 4px;\n      cursor: pointer;\n\n      .emoji-picker-emoji.-custom {\n        object-fit: contain;\n        max-width: 100%;\n        max-height: 100%;\n      }\n\n      .emoji-picker-emoji.-unicode {\n        font-size: 24px;\n        overflow: hidden;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.emoji-input {\n  display: flex;\n  flex-direction: column;\n  position: relative;\n\n  .emoji-picker-icon {\n    position: absolute;\n    top: 0;\n    right: 0;\n    margin: 0.2em 0.25em;\n    font-size: 1.3em;\n    cursor: pointer;\n    line-height: 24px;\n\n    &:hover i {\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n  }\n\n  .emoji-picker-panel {\n    position: absolute;\n    z-index: 20;\n    margin-top: 2px;\n\n    &.hide {\n      display: none;\n    }\n  }\n\n  input,\n  textarea {\n    flex: 1 0 auto;\n  }\n\n  &.with-picker input {\n    padding-right: 30px;\n  }\n\n  .hidden-overlay {\n    opacity: 0;\n    pointer-events: none;\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    right: 0;\n    left: 0;\n    overflow: hidden;\n\n    /* DEBUG STUFF */\n    color: red;\n\n    /* set opacity to non-zero to see the overlay */\n\n    .caret {\n      width: 0;\n      margin-right: calc(-1ch - 1px);\n      border: 1px solid red;\n    }\n  }\n}\n\n.autocomplete {\n  &-panel {\n    position: absolute;\n  }\n\n  &-item {\n    display: flex;\n    cursor: pointer;\n    padding: 0.2em 0.4em;\n    border-bottom: 1px solid rgb(0 0 0 / 40%);\n    height: 32px;\n\n    .image {\n      width: 32px;\n      height: 32px;\n      line-height: 32px;\n      text-align: center;\n      font-size: 32px;\n      margin-right: 4px;\n\n      img {\n        width: 32px;\n        height: 32px;\n        object-fit: contain;\n      }\n    }\n\n    .label {\n      display: flex;\n      flex-direction: column;\n      justify-content: center;\n      margin: 0 0.1em 0 0.2em;\n\n      .displayText {\n        line-height: 1.5;\n      }\n\n      .detailText {\n        font-size: 9px;\n        line-height: 9px;\n      }\n    }\n\n    &.highlighted {\n      background-color: $fallback--fg;\n      background-color: var(--selectedMenuPopover, $fallback--fg);\n      color: var(--selectedMenuPopoverText, $fallback--text);\n\n      --faint: var(--selectedMenuPopoverFaintText, $fallback--faint);\n      --faintLink: var(--selectedMenuPopoverFaintLink, $fallback--faint);\n      --lightText: var(--selectedMenuPopoverLightText, $fallback--lightText);\n      --icon: var(--selectedMenuPopoverIcon, $fallback--icon);\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n/* TODO fix order of styles */\nlabel.Select {\n  padding: 0;\n\n  select {\n    appearance: none;\n    background: transparent;\n    border: none;\n    color: $fallback--text;\n    color: var(--inputText, --text, $fallback--text);\n    margin: 0;\n    padding: 0 2em 0 0.2em;\n    font-family: sans-serif;\n    font-family: var(--inputFont, sans-serif);\n    font-size: 1em;\n    width: 100%;\n    z-index: 1;\n    height: 2em;\n    line-height: 16px;\n  }\n\n  .select-down-icon {\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    right: 5px;\n    height: 100%;\n    width: 0.875em;\n    color: $fallback--text;\n    color: var(--inputText, $fallback--text);\n    line-height: 2;\n    z-index: 0;\n    pointer-events: none;\n  }\n}\n","\n@import \"../../variables\";\n\n.poll-form {\n  display: flex;\n  flex-direction: column;\n  padding: 0 0.5em 0.5em;\n\n  .add-option {\n    align-self: flex-start;\n    padding-top: 0.25em;\n    padding-left: 0.1em;\n  }\n\n  .poll-option {\n    display: flex;\n    align-items: baseline;\n    justify-content: space-between;\n    margin-bottom: 0.25em;\n  }\n\n  .input-container {\n    width: 100%;\n\n    input {\n      // Hack: dodge the floating X icon\n      padding-right: 2.5em;\n      width: 100%;\n    }\n  }\n\n  .delete-option {\n    // Hack: Move the icon over the input box\n    width: 1.5em;\n    margin-left: -1.5em;\n    z-index: 1;\n  }\n\n  .poll-type-expiry {\n    margin-top: 0.5em;\n    display: flex;\n    width: 100%;\n  }\n\n  .poll-type {\n    margin-right: 0.75em;\n    flex: 1 1 60%;\n\n    .poll-type-select {\n      padding-right: 0.75em;\n    }\n  }\n\n  .poll-expiry {\n    display: flex;\n\n    .expiry-amount {\n      width: 3em;\n      text-align: right;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.Flash {\n  display: inline-block;\n  width: 100%;\n  height: 100%;\n  position: relative;\n\n  .player {\n    height: 100%;\n    width: 100%;\n  }\n\n  .placeholder {\n    height: 100%;\n    width: 100%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: var(--bg);\n    color: var(--link);\n  }\n\n  .hider {\n    top: 0;\n  }\n\n  .label {\n    text-align: center;\n    flex: 1 1 0;\n    line-height: 1.2;\n    white-space: normal;\n    word-wrap: normal;\n  }\n\n  .hidden {\n    display: none;\n    visibility: \"hidden\";\n  }\n}\n","@import \"../../variables\";\n\n.Attachment {\n  display: inline-flex;\n  flex-direction: column;\n  position: relative;\n  align-self: flex-start;\n  line-height: 0;\n  height: 100%;\n  border-style: solid;\n  border-width: 1px;\n  border-radius: $fallback--attachmentRadius;\n  border-radius: var(--attachmentRadius, $fallback--attachmentRadius);\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n\n  .attachment-wrapper {\n    flex: 1 1 auto;\n    height: 100%;\n    position: relative;\n    overflow: hidden;\n  }\n\n  .description-container {\n    flex: 0 1 0;\n    display: flex;\n    padding-top: 0.5em;\n    z-index: 1;\n\n    p {\n      flex: 1;\n      text-align: center;\n      line-height: 1.5;\n      padding: 0.5em;\n      margin: 0;\n      white-space: nowrap;\n      text-overflow: ellipsis;\n      overflow: hidden;\n    }\n\n    &.-static {\n      position: absolute;\n      left: 0;\n      right: 0;\n      bottom: 0;\n      padding-top: 0;\n      background: var(--popover);\n      box-shadow: var(--popupShadow);\n    }\n  }\n\n  .description-field {\n    flex: 1;\n    min-width: 0;\n  }\n\n  & .placeholder-container,\n  & .image-container,\n  & .audio-container,\n  & .video-container,\n  & .flash-container,\n  & .oembed-container {\n    display: flex;\n    justify-content: center;\n    width: 100%;\n    height: 100%;\n  }\n\n  .image-container {\n    .image {\n      width: 100%;\n      height: 100%;\n    }\n  }\n\n  & .flash-container,\n  & .video-container {\n    & .flash,\n    & video {\n      width: 100%;\n      height: 100%;\n      object-fit: contain;\n      align-self: center;\n    }\n  }\n\n  .audio-container {\n    display: flex;\n    align-items: flex-end;\n\n    audio {\n      width: 100%;\n      height: 100%;\n    }\n  }\n\n  .placeholder-container {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding-top: 0.5em;\n  }\n\n  .play-icon {\n    position: absolute;\n    font-size: 64px;\n    top: calc(50% - 32px);\n    left: calc(50% - 32px);\n    color: rgb(255 255 255 / 75%);\n    text-shadow: 0 0 2px rgb(0 0 0 / 40%);\n\n    &::before {\n      margin: 0;\n    }\n  }\n\n  .attachment-buttons {\n    display: flex;\n    position: absolute;\n    right: 0;\n    top: 0;\n    margin-top: 0.5em;\n    margin-right: 0.5em;\n    z-index: 1;\n\n    .attachment-button {\n      padding: 0;\n      border-radius: $fallback--tooltipRadius;\n      border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n      text-align: center;\n      width: 2em;\n      height: 2em;\n      margin-left: 0.5em;\n      font-size: 1.25em;\n      // TODO: theming? hard to theme with unknown background image color\n      background: rgb(230 230 230 / 70%);\n\n      .svg-inline--fa {\n        color: rgb(0 0 0 / 60%);\n      }\n\n      &:hover .svg-inline--fa {\n        color: rgb(0 0 0 / 90%);\n      }\n    }\n  }\n\n  &.-contain-fit {\n    img,\n    canvas {\n      object-fit: contain;\n    }\n  }\n\n  &.-cover-fit {\n    img,\n    canvas {\n      object-fit: cover;\n    }\n  }\n\n  .oembed-container {\n    line-height: 1.2em;\n    flex: 1 0 100%;\n    width: 100%;\n    margin-right: 15px;\n    display: flex;\n\n    img {\n      width: 100%;\n    }\n\n    .image {\n      flex: 1;\n\n      img {\n        border: 0;\n        border-radius: 5px;\n        height: 100%;\n        object-fit: cover;\n      }\n    }\n\n    .text {\n      flex: 2;\n      margin: 8px;\n      word-break: break-all;\n\n      h1 {\n        font-size: 1rem;\n        margin: 0;\n      }\n    }\n  }\n\n  &.-size-small {\n    .play-icon {\n      zoom: 0.5;\n      opacity: 0.7;\n    }\n\n    .attachment-buttons {\n      zoom: 0.7;\n      opacity: 0.5;\n    }\n  }\n\n  &.-editable {\n    padding: 0.5em;\n\n    & .description-container,\n    & .attachment-buttons {\n      margin: 0;\n    }\n  }\n\n  &.-placeholder {\n    display: inline-block;\n    color: $fallback--link;\n    color: var(--postLink, $fallback--link);\n    overflow: hidden;\n    white-space: nowrap;\n    height: auto;\n    line-height: 1.5;\n\n    &:not(.-editable) {\n      border: none;\n    }\n\n    &.-editable {\n      display: flex;\n      flex-direction: row;\n      align-items: baseline;\n\n      & .description-container,\n      & .attachment-buttons {\n        margin: 0;\n        padding: 0;\n        position: relative;\n      }\n\n      .description-container {\n        flex: 1;\n        padding-left: 0.5em;\n      }\n\n      .attachment-buttons {\n        order: 99;\n        align-self: center;\n      }\n    }\n\n    a {\n      display: inline-block;\n      max-width: 100%;\n      overflow: hidden;\n      text-overflow: ellipsis;\n    }\n\n    svg {\n      color: inherit;\n    }\n  }\n\n  &.-loading {\n    cursor: progress;\n  }\n\n  &.-compact {\n    .placeholder-container {\n      padding-bottom: 0.5em;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.Gallery {\n  .gallery-rows {\n    display: flex;\n    flex-direction: column;\n  }\n\n  .gallery-row {\n    position: relative;\n    height: 0;\n    width: 100%;\n    flex-grow: 1;\n\n    .gallery-row-inner {\n      position: absolute;\n      top: 0;\n      left: 0;\n      right: 0;\n      bottom: 0;\n      display: flex;\n      flex-flow: row wrap;\n      align-content: stretch;\n\n      .gallery-item {\n        margin: 0 0.5em 0 0;\n        flex-grow: 1;\n        height: 100%;\n        box-sizing: border-box;\n        // to make failed images a bit more noticeable on chromium\n        min-width: 2em;\n\n        &:last-child {\n          margin: 0;\n        }\n      }\n\n      &.-grid {\n        width: 100%;\n        height: auto;\n        position: relative;\n        display: grid;\n        grid-gap: 0.5em;\n        grid-template-columns: repeat(auto-fill, minmax(15em, 1fr));\n\n        .gallery-item {\n          margin: 0;\n          height: 200px;\n        }\n      }\n    }\n\n    &.-grid,\n    &.-minimal {\n      height: auto;\n\n      .gallery-row-inner {\n        position: relative;\n      }\n    }\n\n    &:not(:first-child) {\n      margin-top: 0.5em;\n    }\n  }\n\n  &.-long {\n    .gallery-rows {\n      max-height: 25em;\n      overflow: hidden;\n      mask:\n        linear-gradient(to top, white, transparent) bottom/100% 70px no-repeat,\n        linear-gradient(to top, white, white);\n\n      /* Autoprefixed seem to ignore this one, and also syntax is different */\n      mask-composite: xor;\n      mask-composite: exclude;\n    }\n  }\n\n  .many-attachments-text {\n    text-align: center;\n    line-height: 2;\n  }\n\n  .many-attachments-buttons {\n    display: flex;\n  }\n\n  .many-attachments-button {\n    display: flex;\n    flex: 1;\n    justify-content: center;\n    line-height: 2;\n\n    button {\n      padding: 0 2em;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.Avatar {\n  --_avatarShadowBox: var(--avatarStatusShadow);\n  --_avatarShadowFilter: var(--avatarStatusShadowFilter);\n  --_avatarShadowInset: var(--avatarStatusShadowInset);\n  --_still-image-label-visibility: hidden;\n\n  display: inline-block;\n  position: relative;\n  width: 48px;\n  height: 48px;\n\n  &.-compact {\n    width: 32px;\n    height: 32px;\n    border-radius: $fallback--avatarAltRadius;\n    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n  }\n\n  .avatar {\n    width: 100%;\n    height: 100%;\n    box-shadow: var(--_avatarShadowBox);\n    border-radius: $fallback--avatarRadius;\n    border-radius: var(--avatarRadius, $fallback--avatarRadius);\n\n    &.-better-shadow {\n      box-shadow: var(--_avatarShadowInset);\n      filter: var(--_avatarShadowFilter);\n    }\n\n    &.-animated::before {\n      display: none;\n    }\n\n    &.-compact {\n      border-radius: $fallback--avatarAltRadius;\n      border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n    }\n\n    &.-placeholder {\n      background-color: $fallback--fg;\n      background-color: var(--fg, $fallback--fg);\n    }\n  }\n\n  img {\n    width: 100%;\n    height: 100%;\n  }\n\n  .bot-indicator {\n    position: absolute;\n    bottom: 0;\n    right: 0;\n    margin: -0.2em;\n    padding: 0.2em;\n    background: rgb(127 127 127 / 50%);\n    color: #fff;\n    border-radius: var(--tooltipRadius);\n  }\n}\n","@import \"../../variables\";\n\n.MentionLink {\n  position: relative;\n  white-space: normal;\n  display: inline;\n  color: var(--link);\n  word-break: normal;\n\n  & .new,\n  & .original {\n    display: inline;\n    border-radius: 2px;\n  }\n\n  .mention-avatar {\n    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n    width: 1.5em;\n    height: 1.5em;\n    vertical-align: middle;\n    user-select: none;\n    margin-right: 0.2em;\n  }\n\n  .full {\n    position: absolute;\n    display: inline-block;\n    pointer-events: none;\n    opacity: 0;\n    top: 100%;\n    left: 0;\n    height: 100%;\n    word-wrap: normal;\n    white-space: nowrap;\n    transition: opacity 0.2s ease;\n    z-index: 1;\n    margin-top: 0.25em;\n    padding: 0.5em;\n    user-select: all;\n  }\n\n  & .short.-with-tooltip,\n  & .you {\n    user-select: none;\n  }\n\n  & .short,\n  & .full {\n    white-space: nowrap;\n  }\n\n  .shortName {\n    white-space: normal;\n  }\n\n  .new {\n    &.-you {\n      .shortName {\n        font-weight: 600;\n      }\n    }\n\n    &.-has-selection {\n      color: var(--alertNeutralText, $fallback--text);\n      background-color: var(--alertNeutral, $fallback--fg);\n    }\n\n    .at {\n      color: var(--link);\n      opacity: 0.8;\n      display: inline-block;\n      line-height: 1;\n      padding: 0 0.1em;\n      vertical-align: -25%;\n      margin: 0;\n    }\n\n    &.-striped {\n      & .shortName {\n        background-image:\n          repeating-linear-gradient(\n            135deg,\n            var(--____highlight-tintColor),\n            var(--____highlight-tintColor) 5px,\n            var(--____highlight-tintColor2) 5px,\n            var(--____highlight-tintColor2) 10px\n          );\n      }\n    }\n\n    &.-solid {\n      .shortName {\n        background-image: linear-gradient(var(--____highlight-tintColor2), var(--____highlight-tintColor2));\n      }\n    }\n\n    &.-side {\n      .shortName {\n        box-shadow: 0 -5px 3px -4px inset var(--____highlight-solidColor);\n      }\n    }\n  }\n\n  .serverName.-faded {\n    color: var(--faintLink, $fallback--link);\n  }\n}\n\n.mention-link-popover {\n  max-width: 70ch;\n  max-height: 20rem;\n  overflow: hidden;\n}\n",".MentionsLine {\n  word-break: break-all;\n\n  .mention-link:not(:first-child)::before {\n    content: \" \";\n  }\n\n  .showMoreLess {\n    margin-left: 0.5em;\n    white-space: normal;\n    color: var(--link);\n  }\n}\n",".HashtagLink {\n  position: relative;\n  white-space: normal;\n  display: inline-block;\n  color: var(--link);\n}\n","@import \"../../variables\";\n\n.RichContent {\n  blockquote {\n    margin: 0.2em 0 0.2em 0.2em;\n    font-style: italic;\n    border-left: 0.2em solid var(--faint, $fallback--faint);\n    padding-left: 1em;\n  }\n\n  pre {\n    overflow: auto;\n  }\n\n  code,\n  samp,\n  kbd,\n  var,\n  pre {\n    font-family: var(--postCodeFont, monospace);\n  }\n\n  p {\n    margin: 0 0 1em;\n  }\n\n  p:last-child {\n    margin: 0;\n  }\n\n  h1 {\n    font-size: 1.1em;\n    line-height: 1.2em;\n    margin: 1.4em 0;\n  }\n\n  h2 {\n    font-size: 1.1em;\n    margin: 1em 0;\n  }\n\n  h3 {\n    font-size: 1em;\n    margin: 1.2em 0;\n  }\n\n  h4 {\n    margin: 1.1em 0;\n  }\n\n  .img {\n    display: inline-block;\n  }\n\n  .emoji {\n    display: inline-block;\n    width: var(--emoji-size, 32px);\n    height: var(--emoji-size, 32px);\n  }\n\n  .img,\n  video {\n    max-width: 100%;\n    max-height: 400px;\n    vertical-align: middle;\n    object-fit: contain;\n  }\n}\n","\n@import \"../../variables\";\n\n.poll {\n  .votes {\n    display: flex;\n    flex-direction: column;\n    margin: 0 0 0.5em;\n  }\n\n  .poll-option {\n    margin: 0.75em 0.5em;\n  }\n\n  .option-result {\n    height: 100%;\n    display: flex;\n    flex-direction: row;\n    position: relative;\n    color: $fallback--lightText;\n    color: var(--lightText, $fallback--lightText);\n  }\n\n  .option-result-label {\n    display: flex;\n    align-items: center;\n    padding: 0.1em 0.25em;\n    z-index: 1;\n    word-break: break-word;\n  }\n\n  .result-percentage {\n    width: 3.5em;\n    flex-shrink: 0;\n  }\n\n  .result-fill {\n    height: 100%;\n    position: absolute;\n    color: $fallback--text;\n    color: var(--pollText, $fallback--text);\n    background-color: $fallback--lightBg;\n    background-color: var(--poll, $fallback--lightBg);\n    border-radius: $fallback--panelRadius;\n    border-radius: var(--panelRadius, $fallback--panelRadius);\n    top: 0;\n    left: 0;\n    transition: width 0.5s;\n  }\n\n  .option-vote {\n    display: flex;\n    align-items: center;\n  }\n\n  input {\n    width: 3.5em;\n  }\n\n  .footer {\n    display: flex;\n    align-items: center;\n  }\n\n  &.loading * {\n    cursor: progress;\n  }\n\n  .poll-vote-button {\n    padding: 0 0.5em;\n    margin-right: 0.5em;\n  }\n\n  .poll-checkbox {\n    display: none;\n  }\n}\n","@import \"../../variables\";\n\n.StatusBody {\n  display: flex;\n  flex-direction: column;\n\n  .emoji {\n    --_still_image-label-scale: 0.5;\n  }\n\n  .attachments {\n    margin-top: 0.5em;\n  }\n\n  & .text,\n  & .summary {\n    font-family: var(--postFont, sans-serif);\n    white-space: pre-wrap;\n    overflow-wrap: break-word;\n    word-wrap: break-word;\n    word-break: break-word;\n    line-height: var(--post-line-height);\n  }\n\n  .summary {\n    display: block;\n    font-style: italic;\n    padding-bottom: 0.5em;\n  }\n\n  .text {\n    &.-single-line {\n      white-space: nowrap;\n      text-overflow: ellipsis;\n      overflow: hidden;\n      height: 1.4em;\n    }\n  }\n\n  .summary-wrapper {\n    margin-bottom: 0.5em;\n    border-style: solid;\n    border-width: 0 0 1px;\n    border-color: var(--border, $fallback--border);\n    flex-grow: 0;\n\n    &.-tall {\n      position: relative;\n\n      .summary {\n        max-height: 2em;\n        overflow: hidden;\n        white-space: nowrap;\n        text-overflow: ellipsis;\n      }\n    }\n  }\n\n  .text-wrapper {\n    display: flex;\n    flex-flow: column nowrap;\n\n    &.-tall-status {\n      position: relative;\n      height: 220px;\n      overflow-x: hidden;\n      overflow-y: hidden;\n      z-index: 1;\n\n      .media-body {\n        min-height: 0;\n        mask:\n          linear-gradient(to top, white, transparent) bottom/100% 70px no-repeat,\n          linear-gradient(to top, white, white);\n\n        /* Autoprefixed seem to ignore this one, and also syntax is different */\n        mask-composite: xor;\n        mask-composite: exclude;\n      }\n    }\n  }\n\n  & .tall-status-hider,\n  & .tall-subject-hider,\n  & .status-unhider,\n  & .cw-status-hider {\n    display: inline-block;\n    word-break: break-all;\n    width: 100%;\n    text-align: center;\n  }\n\n  .tall-status-hider {\n    position: absolute;\n    height: 70px;\n    margin-top: 150px;\n    line-height: 110px;\n    z-index: 2;\n  }\n\n  .tall-subject-hider {\n    // position: absolute;\n    padding-bottom: 0.5em;\n  }\n\n  & .status-unhider,\n  & .cw-status-hider {\n    word-break: break-all;\n\n    svg {\n      color: inherit;\n    }\n  }\n\n  .greentext {\n    color: $fallback--cGreen;\n    color: var(--postGreentext, $fallback--cGreen);\n  }\n\n  .cyantext {\n    color: var(--postCyantext, $fallback--cBlue);\n  }\n\n  &.-compact {\n    align-items: top;\n    flex-direction: row;\n\n    --emoji-size: 16px;\n\n    & .body,\n    & .attachments {\n      max-height: 3.25em;\n    }\n\n    .body {\n      overflow: hidden;\n      white-space: normal;\n      min-width: 5em;\n      flex: 5 1 auto;\n      mask-size: auto 3.5em, auto auto;\n      mask-position: 0 0, 0 0;\n      mask-repeat: repeat-x, repeat;\n      mask-image: linear-gradient(to bottom, white 2em, transparent 3em);\n\n      /* Autoprefixed seem to ignore this one, and also syntax is different */\n      mask-composite: xor;\n      mask-composite: exclude;\n    }\n\n    .attachments {\n      margin-top: 0;\n      flex: 1 1 0;\n      min-width: 5em;\n      height: 100%;\n      margin-left: 0.5em;\n    }\n\n    .summary-wrapper {\n      .summary::after {\n        content: \": \";\n      }\n\n      line-height: inherit;\n      margin: 0;\n      border: none;\n      display: inline-block;\n    }\n\n    .text-wrapper {\n      display: inline-block;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.link-preview-card {\n  display: flex;\n  flex-direction: row;\n  cursor: pointer;\n  overflow: hidden;\n  margin-top: 0.5em;\n\n  .card-image {\n    flex-shrink: 0;\n    width: 120px;\n    max-width: 25%;\n\n    img {\n      width: 100%;\n      height: 100%;\n      object-fit: cover;\n      border-radius: $fallback--attachmentRadius;\n      border-radius: var(--attachmentRadius, $fallback--attachmentRadius);\n    }\n  }\n\n  .card-content {\n    max-height: 100%;\n    margin: 0.5em;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .card-host {\n    font-size: 0.85em;\n  }\n\n  .card-description {\n    margin: 0.5em 0 0;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    word-break: break-word;\n    line-height: 1.2em;\n    // cap description at 3 lines, the 1px is to clean up some stray pixels\n    // TODO: fancier fade-out at the bottom to show off that it's too long?\n    max-height: calc(1.2em * 3 - 1px);\n  }\n\n  .nsfw-alert {\n    margin: 2em 0;\n  }\n\n  color: $fallback--text;\n  color: var(--text, $fallback--text);\n  border-style: solid;\n  border-width: 1px;\n  border-radius: $fallback--attachmentRadius;\n  border-radius: var(--attachmentRadius, $fallback--attachmentRadius);\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n}\n","\n.StatusContent {\n  flex: 1;\n  min-width: 0;\n}\n","\n@import \"../../variables\";\n\n.post-status-form {\n  position: relative;\n\n  .attachments {\n    margin-bottom: 0.5em;\n  }\n\n  .form-bottom {\n    display: flex;\n    justify-content: space-between;\n    padding: 0.5em;\n    height: 2.5em;\n\n    button {\n      width: 10em;\n    }\n\n    p {\n      margin: 0.35em;\n      padding: 0.35em;\n      display: flex;\n    }\n  }\n\n  .form-bottom-left {\n    display: flex;\n    flex: 1;\n    padding-right: 7px;\n    margin-right: 7px;\n    max-width: 10em;\n  }\n\n  .preview-heading {\n    display: flex;\n    padding-left: 0.5em;\n  }\n\n  .preview-toggle {\n    flex: 1;\n    cursor: pointer;\n    user-select: none;\n\n    &:hover {\n      text-decoration: underline;\n    }\n\n    svg,\n    i {\n      margin-left: 0.2em;\n      font-size: 0.8em;\n      transform: rotate(90deg);\n    }\n  }\n\n  .preview-container {\n    margin-bottom: 1em;\n  }\n\n  .preview-error {\n    font-style: italic;\n    color: $fallback--faint;\n    color: var(--faint, $fallback--faint);\n  }\n\n  .preview-status {\n    border: 1px solid $fallback--border;\n    border: 1px solid var(--border, $fallback--border);\n    border-radius: $fallback--tooltipRadius;\n    border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n    padding: 0.5em;\n    margin: 0;\n  }\n\n  .text-format {\n    .only-format {\n      color: $fallback--faint;\n      color: var(--faint, $fallback--faint);\n    }\n  }\n\n  .visibility-tray {\n    display: flex;\n    justify-content: space-between;\n    padding-top: 5px;\n    align-items: baseline;\n  }\n\n  .visibility-notice.edit-warning {\n    > :first-child {\n      margin-top: 0;\n    }\n\n    > :last-child {\n      margin-bottom: 0;\n    }\n  }\n\n  // Order is not necessary but a good indicator\n  .media-upload-icon {\n    order: 1;\n    justify-content: left;\n  }\n\n  .emoji-icon {\n    order: 2;\n    justify-content: center;\n  }\n\n  .poll-icon {\n    order: 3;\n    justify-content: right;\n  }\n\n  .media-upload-icon,\n  .poll-icon,\n  .emoji-icon {\n    font-size: 1.85em;\n    line-height: 1.1;\n    flex: 1;\n    padding: 0 0.1em;\n    display: flex;\n    align-items: center;\n\n    &.selected,\n    &:hover {\n      // needs to be specific to override icon default color\n      svg,\n      i,\n      label {\n        color: $fallback--lightText;\n        color: var(--lightText, $fallback--lightText);\n      }\n    }\n\n    &.disabled {\n      svg,\n      i {\n        cursor: not-allowed;\n        color: $fallback--icon;\n        color: var(--btnDisabledText, $fallback--icon);\n\n        &:hover {\n          color: $fallback--icon;\n          color: var(--btnDisabledText, $fallback--icon);\n        }\n      }\n    }\n  }\n\n  .error {\n    text-align: center;\n  }\n\n  .media-upload-wrapper {\n    margin-right: 0.2em;\n    margin-bottom: 0.5em;\n    width: 18em;\n\n    img,\n    video {\n      object-fit: contain;\n      max-height: 10em;\n    }\n\n    .video {\n      max-height: 10em;\n    }\n\n    input {\n      flex: 1;\n      width: 100%;\n    }\n  }\n\n  .status-input-wrapper {\n    display: flex;\n    position: relative;\n    width: 100%;\n    flex-direction: column;\n  }\n\n  .btn[disabled] {\n    cursor: not-allowed;\n  }\n\n  form {\n    display: flex;\n    flex-direction: column;\n    margin: 0.6em;\n    position: relative;\n  }\n\n  .form-group {\n    display: flex;\n    flex-direction: column;\n    padding: 0.25em 0.5em 0.5em;\n    line-height: 1.85;\n  }\n\n  .form-post-body {\n    // TODO: make a resizable textarea component?\n    box-sizing: content-box; // needed for easier computation of dynamic size\n    overflow: hidden;\n    transition: min-height 200ms 100ms;\n    // stock padding + 1 line of text (for counter)\n    padding-bottom: calc(var(--_padding) + var(--post-line-height) * 1em);\n    // two lines of text\n    height: calc(var(--post-line-height) * 1em);\n    min-height: calc(var(--post-line-height) * 1em);\n    resize: none;\n\n    &.scrollable-form {\n      overflow-y: auto;\n    }\n  }\n\n  .main-input {\n    position: relative;\n  }\n\n  .character-counter {\n    position: absolute;\n    bottom: 0;\n    right: 0;\n    padding: 0;\n    margin: 0 0.5em;\n\n    &.error {\n      color: $fallback--cRed;\n      color: var(--cRed, $fallback--cRed);\n    }\n  }\n\n  @keyframes fade-in {\n    from { opacity: 0; }\n    to { opacity: 0.6; }\n  }\n\n  @keyframes fade-out {\n    from { opacity: 0.6; }\n    to { opacity: 0; }\n  }\n\n  .drop-indicator {\n    position: absolute;\n    width: 100%;\n    height: 100%;\n    font-size: 5em;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    opacity: 0.6;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n    border-radius: $fallback--tooltipRadius;\n    border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n    border: 2px dashed $fallback--text;\n    border: 2px dashed var(--text, $fallback--text);\n  }\n}\n","\n.remote-follow {\n  max-width: 220px;\n\n  .remote-button {\n    width: 100%;\n    min-height: 2em;\n  }\n}\n","\n@import \"../../variables\";\n\n// TODO: unify with other modals.\n.dark-overlay {\n  &::before {\n    bottom: 0;\n    content: \" \";\n    display: block;\n    cursor: default;\n    left: 0;\n    position: fixed;\n    right: 0;\n    top: 0;\n    background: rgb(27 31 35 / 50%);\n    z-index: 2000;\n  }\n}\n\n.dialog-modal.panel {\n  top: 0;\n  left: 50%;\n  max-height: 80vh;\n  max-width: 90vw;\n  margin: 15vh auto;\n  position: fixed;\n  transform: translateX(-50%);\n  z-index: 2001;\n  cursor: default;\n  display: block;\n  background-color: $fallback--bg;\n  background-color: var(--bg, $fallback--bg);\n\n  .dialog-modal-heading {\n    .title {\n      text-align: center;\n    }\n  }\n\n  .dialog-modal-content {\n    margin: 0;\n    padding: 1rem;\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n    white-space: normal;\n  }\n\n  .dialog-modal-footer {\n    margin: 0;\n    padding: 0.5em;\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n    border-top: 1px solid $fallback--border;\n    border-top: 1px solid var(--border, $fallback--border);\n    display: flex;\n    justify-content: flex-end;\n\n    button {\n      width: auto;\n      margin-left: 0.5rem;\n    }\n  }\n}\n\n","\n@import \"../../variables\";\n\n.moderation-tools-popover {\n  height: 100%;\n\n  .trigger {\n    /* stylelint-disable-next-line declaration-no-important */\n    display: flex !important;\n    height: 100%;\n  }\n}\n\n.moderation-tools-button {\n  svg,\n  i {\n    font-size: 0.8em;\n  }\n}\n","\n@import \"../../variables\";\n\n.AccountActions {\n  .ellipsis-button {\n    width: 2.5em;\n    margin: -0.5em 0;\n    padding: 0.5em 0;\n    text-align: center;\n\n    &:not(:hover) .icon {\n      color: $fallback--lightText;\n      color: var(--lightText, $fallback--lightText);\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.user-note {\n  display: flex;\n  flex-direction: column;\n\n  .heading {\n    display: flex;\n    flex-direction: row;\n    justify-content: space-between;\n    align-items: center;\n    margin-bottom: 0.75em;\n\n    .btn {\n      min-width: 95px;\n    }\n\n    .buttons {\n      display: flex;\n      flex-direction: row;\n      justify-content: right;\n\n      .btn {\n        margin-left: 0.5em;\n      }\n    }\n  }\n\n  .note-text {\n    align-self: stretch;\n  }\n\n  .note-text.-blank {\n    font-style: italic;\n    color: var(--faint, $fallback--faint);\n  }\n}\n","@import \"../../variables\";\n\n.user-card {\n  position: relative;\n  z-index: 1;\n\n  &:hover {\n    --_still-image-img-visibility: visible;\n    --_still-image-canvas-visibility: hidden;\n    --_still-image-label-visibility: hidden;\n  }\n\n  .panel-heading {\n    padding: 0.5em 0;\n    text-align: center;\n    box-shadow: none;\n    background: transparent;\n    flex-direction: column;\n    align-items: stretch;\n    // create new stacking context\n    position: relative;\n  }\n\n  .panel-body {\n    word-wrap: break-word;\n    border-bottom-right-radius: inherit;\n    border-bottom-left-radius: inherit;\n    // create new stacking context\n    position: relative;\n  }\n\n  .background-image {\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    mask:\n      linear-gradient(to top, white, transparent) bottom no-repeat,\n      linear-gradient(to top, white, white);\n    // Autoprefixer seem to ignore this one, and also syntax is different\n    mask-composite: xor;\n    mask-composite: exclude;\n    background-size: cover;\n    mask-size: 100% 60%;\n    border-top-left-radius: calc(var(--__roundnessTop, --panelRadius) - 1px);\n    border-top-right-radius: calc(var(--__roundnessTop, --panelRadius) - 1px);\n    border-bottom-left-radius: calc(var(--__roundnessBottom, --panelRadius) - 1px);\n    border-bottom-right-radius: calc(var(--__roundnessBottom, --panelRadius) - 1px);\n    background-color: var(--profileBg);\n    z-index: -2;\n\n    &.hide-bio {\n      mask-size: 100% 40px;\n    }\n  }\n\n  &-bio {\n    text-align: center;\n    display: block;\n    line-height: 1.3;\n    padding: 1em;\n    margin: 0;\n\n    a {\n      color: $fallback--link;\n      color: var(--postLink, $fallback--link);\n    }\n\n    img {\n      object-fit: contain;\n      vertical-align: middle;\n      max-width: 100%;\n      max-height: 400px;\n    }\n  }\n\n  &.-rounded-t {\n    border-top-left-radius: $fallback--panelRadius;\n    border-top-left-radius: var(--panelRadius, $fallback--panelRadius);\n    border-top-right-radius: $fallback--panelRadius;\n    border-top-right-radius: var(--panelRadius, $fallback--panelRadius);\n\n    --__roundnessTop: var(--panelRadius);\n    --__roundnessBottom: 0;\n  }\n\n  &.-rounded {\n    border-radius: $fallback--panelRadius;\n    border-radius: var(--panelRadius, $fallback--panelRadius);\n\n    --__roundnessTop: var(--panelRadius);\n    --__roundnessBottom: var(--panelRadius);\n  }\n\n  &.-popover {\n    border-radius: $fallback--tooltipRadius;\n    border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n\n    --__roundnessTop: var(--tooltipRadius);\n    --__roundnessBottom: var(--tooltipRadius);\n  }\n\n  &.-bordered {\n    border-width: 1px;\n    border-style: solid;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n  }\n}\n\n.user-info {\n  color: $fallback--lightText;\n  color: var(--lightText, $fallback--lightText);\n  padding: 0 26px;\n\n  a {\n    color: $fallback--lightText;\n    color: var(--lightText, $fallback--lightText);\n\n    &:hover {\n      color: var(--icon);\n    }\n  }\n\n  .container {\n    min-width: 0;\n    padding: 16px 0 6px;\n    display: flex;\n    align-items: flex-start;\n    max-height: 56px;\n\n    > * {\n      min-width: 0;\n    }\n\n    > a {\n      vertical-align: middle;\n      display: flex;\n    }\n\n    .Avatar {\n      --_avatarShadowBox: var(--avatarShadow);\n      --_avatarShadowFilter: var(--avatarShadowFilter);\n      --_avatarShadowInset: var(--avatarShadowInset);\n\n      width: 56px;\n      height: 56px;\n      object-fit: cover;\n    }\n  }\n\n  &-avatar {\n    position: relative;\n    cursor: pointer;\n\n    &.-overlay {\n      position: absolute;\n      left: 0;\n      top: 0;\n      right: 0;\n      bottom: 0;\n      background-color: rgb(0 0 0 / 30%);\n      display: flex;\n      justify-content: center;\n      align-items: center;\n      border-radius: $fallback--avatarRadius;\n      border-radius: var(--avatarRadius, $fallback--avatarRadius);\n      opacity: 0;\n      transition: opacity 0.2s ease;\n\n      svg {\n        color: #fff;\n      }\n    }\n\n    &:hover &.-overlay {\n      opacity: 1;\n    }\n  }\n\n  .external-link-button,\n  .edit-profile-button {\n    cursor: pointer;\n    width: 2.5em;\n    text-align: center;\n    margin: -0.5em 0;\n    padding: 0.5em 0;\n\n    &:not(:hover) .icon {\n      color: $fallback--lightText;\n      color: var(--lightText, $fallback--lightText);\n    }\n  }\n\n  .bottom-line {\n    font-weight: light;\n    font-size: 1.1em;\n    align-items: baseline;\n\n    .lock-icon {\n      margin-left: 0.5em;\n    }\n\n    .user-screen-name {\n      min-width: 1px;\n      flex: 0 1 auto;\n      text-overflow: ellipsis;\n      overflow: hidden;\n    }\n\n    .dailyAvg {\n      min-width: 1px;\n      flex: 0 0 auto;\n      margin-left: 1em;\n      font-size: 0.7em;\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n\n    .user-role {\n      flex: none;\n      color: $fallback--text;\n      color: var(--alertNeutralText, $fallback--text);\n      background-color: $fallback--fg;\n      background-color: var(--alertNeutral, $fallback--fg);\n    }\n  }\n\n  .user-summary {\n    display: block;\n    margin-left: 0.6em;\n    text-align: left;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    flex: 1 1 0;\n    // This is so that text doesn't get overlapped by avatar's shadow if it has\n    // big one\n    z-index: 1;\n    line-height: 2em;\n\n    --emoji-size: 1.7em;\n\n    .top-line,\n    .bottom-line {\n      display: flex;\n    }\n  }\n\n  .user-name {\n    text-overflow: ellipsis;\n    overflow: hidden;\n    flex: 1 1 auto;\n    margin-right: 1em;\n    font-size: 1.1em;\n  }\n\n  .user-meta {\n    margin-bottom: 0.15em;\n    display: flex;\n    align-items: baseline;\n    line-height: 22px;\n    flex-wrap: wrap;\n\n    .following {\n      flex: 1 0 auto;\n      margin: 0;\n      margin-bottom: 0.25em;\n      text-align: left;\n    }\n\n    .highlighter {\n      flex: 0 1 auto;\n      display: flex;\n      flex-wrap: wrap;\n      margin-right: -0.5em;\n      align-self: start;\n\n      .userHighlightCl {\n        padding: 2px 10px;\n        flex: 1 0 auto;\n      }\n\n      .userHighlightSel {\n        padding-top: 0;\n        padding-bottom: 0;\n        flex: 1 0 auto;\n      }\n\n      .userHighlightText {\n        width: 70px;\n        flex: 1 0 auto;\n      }\n\n      .userHighlightCl,\n      .userHighlightText,\n      .userHighlightSel {\n        vertical-align: top;\n        margin-right: 0.5em;\n        margin-bottom: 0.25em;\n      }\n    }\n  }\n\n  .user-interactions {\n    position: relative;\n    display: flex;\n    flex-flow: row wrap;\n    margin-right: -0.75em;\n\n    > * {\n      margin: 0 0.75em 0.6em 0;\n      white-space: nowrap;\n      min-width: 95px;\n    }\n\n    button {\n      margin: 0;\n    }\n  }\n\n  .user-note {\n    margin: 0 0.75em 0.6em 0;\n  }\n}\n\n.sidebar .edit-profile-button {\n  display: none;\n}\n\n.user-counts {\n  display: flex;\n  line-height: 16px;\n  padding: 0.5em 1.5em 0;\n  text-align: center;\n  justify-content: space-between;\n  color: $fallback--lightText;\n  color: var(--lightText, $fallback--lightText);\n  flex-wrap: wrap;\n}\n\n.user-count {\n  flex: 1 0 auto;\n  padding: 0.5em 0;\n  margin: 0 0.5em;\n\n  h5 {\n    font-size: 1em;\n    font-weight: bolder;\n    margin: 0 0 0.25em;\n  }\n\n  /* stylelint-disable-next-line no-descending-specificity */\n  a {\n    text-decoration: none;\n  }\n}\n\n.mute-expiry {\n  display: flex;\n  flex-direction: row;\n}\n","\n.user-panel .signed-in {\n  overflow: visible;\n  z-index: 10;\n}\n","\n@import \"../../variables\";\n\n.NavigationEntry {\n  display: flex;\n  box-sizing: border-box;\n  align-items: baseline;\n  height: 3.5em;\n  line-height: 3.5em;\n  padding: 0 1em;\n  width: 100%;\n  color: $fallback--link;\n  color: var(--link, $fallback--link);\n\n  .timelines-chevron {\n    margin-right: 0;\n  }\n\n  .main-link {\n    flex: 1;\n  }\n\n  .menu-icon {\n    margin-right: 0.8em;\n  }\n\n  .extra-button {\n    width: 3em;\n    text-align: center;\n\n    &:last-child {\n      margin-right: -0.8em;\n    }\n  }\n\n  &:hover {\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedMenu, $fallback--lightBg);\n    color: $fallback--link;\n    color: var(--selectedMenuText, $fallback--link);\n\n    --faint: var(--selectedMenuFaintText, $fallback--faint);\n    --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n    --lightText: var(--selectedMenuLightText, $fallback--lightText);\n\n    .menu-icon {\n      --icon: var(--text, $fallback--icon);\n    }\n  }\n\n  &.-active {\n    font-weight: bolder;\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedMenu, $fallback--lightBg);\n    color: $fallback--text;\n    color: var(--selectedMenuText, $fallback--text);\n\n    --faint: var(--selectedMenuFaintText, $fallback--faint);\n    --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n    --lightText: var(--selectedMenuLightText, $fallback--lightText);\n\n    .menu-icon {\n      --icon: var(--text, $fallback--icon);\n    }\n\n    &:hover {\n      text-decoration: underline;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.NavigationPins {\n  display: flex;\n  flex-wrap: wrap;\n  overflow: hidden;\n  height: 100%;\n\n  .alert-dot {\n    border-radius: 100%;\n    height: 0.5em;\n    width: 0.5em;\n    position: absolute;\n    right: calc(50% - 0.75em);\n    top: calc(50% - 0.5em);\n    background-color: $fallback--cRed;\n    background-color: var(--badgeNotification, $fallback--cRed);\n  }\n\n  .pinned-item {\n    position: relative;\n    flex: 1 0 3em;\n    min-width: 2em;\n    text-align: center;\n    overflow: visible;\n    box-sizing: border-box;\n    height: 100%;\n\n    & .svg-inline--fa,\n    & .iconLetter {\n      margin: 0;\n    }\n\n    &.router-link-active {\n      color: $fallback--text;\n      color: var(--panelText, $fallback--text);\n      border-bottom: 4px solid;\n\n      & .svg-inline--fa,\n      & .iconLetter {\n        color: inherit;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.NavPanel {\n  .panel {\n    overflow: hidden;\n    box-shadow: var(--panelShadow);\n  }\n\n  ul {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n  }\n\n  li {\n    position: relative;\n    border-bottom: 1px solid;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n  }\n\n  > li {\n    &:first-child .menu-item {\n      border-top-right-radius: $fallback--panelRadius;\n      border-top-right-radius: var(--panelRadius, $fallback--panelRadius);\n      border-top-left-radius: $fallback--panelRadius;\n      border-top-left-radius: var(--panelRadius, $fallback--panelRadius);\n    }\n\n    &:last-child .menu-item {\n      border-bottom-right-radius: $fallback--panelRadius;\n      border-bottom-right-radius: var(--panelRadius, $fallback--panelRadius);\n      border-bottom-left-radius: $fallback--panelRadius;\n      border-bottom-left-radius: var(--panelRadius, $fallback--panelRadius);\n    }\n  }\n\n  li:last-child {\n    border: none;\n  }\n\n  .navigation-chevron {\n    margin-left: 0.8em;\n    margin-right: 0.8em;\n    font-size: 1.1em;\n  }\n\n  .timelines-chevron {\n    margin-left: 0.8em;\n    font-size: 1.1em;\n  }\n\n  .timelines-background {\n    padding: 0 0 0 0.6em;\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedMenu, $fallback--lightBg);\n    border-bottom: 1px solid;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n  }\n\n  .timelines {\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n  }\n\n  .nav-panel-heading {\n    // breaks without a unit\n    // stylelint-disable-next-line length-zero-no-unit\n    --panel-heading-height-padding: 0px;\n  }\n}\n","\n  .features-panel li {\n    line-height: 24px;\n  }\n","\n  .who-to-follow * {\n    vertical-align: middle;\n  }\n\n  .who-to-follow img {\n    width: 32px;\n    height: 32px;\n  }\n\n  .who-to-follow {\n    padding: 0 1em;\n    margin: 0;\n  }\n\n  .who-to-follow-items {\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    padding: 0;\n    margin: 1em 0;\n  }\n\n  .who-to-follow-more {\n    padding: 0;\n    margin: 1em 0;\n    text-align: center;\n  }\n","\n@import \"../../variables\";\n\n.floating-shout {\n  position: fixed;\n  bottom: 0.5em;\n  z-index: var(--ZI_popovers);\n  max-width: 25em;\n\n  &.-left {\n    left: 0.5em;\n  }\n\n  &:not(.-left) {\n    right: 0.5em;\n  }\n}\n\n.shout-panel {\n  .shout-heading {\n    cursor: pointer;\n\n    .icon {\n      color: $fallback--text;\n      color: var(--panelText, $fallback--text);\n      margin-right: 0.5em;\n    }\n\n    .title {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n    }\n  }\n\n  .shout-window {\n    overflow-y: auto;\n    overflow-x: hidden;\n    max-height: 20em;\n  }\n\n  .shout-window-container {\n    height: 100%;\n  }\n\n  .shout-message {\n    display: flex;\n    padding: 0.2em 0.5em;\n  }\n\n  .shout-avatar {\n    img {\n      height: 24px;\n      width: 24px;\n      border-radius: $fallback--avatarRadius;\n      border-radius: var(--avatarRadius, $fallback--avatarRadius);\n      margin-right: 0.5em;\n      margin-top: 0.25em;\n    }\n  }\n\n  .shout-input {\n    display: flex;\n\n    textarea {\n      flex: 1;\n      margin: 0.6em;\n      min-height: 3.5em;\n      resize: none;\n    }\n  }\n\n  .shout-panel {\n    .title {\n      display: flex;\n      justify-content: space-between;\n    }\n  }\n}\n","\n$modal-view-button-icon-height: 3em;\n$modal-view-button-icon-half-height: calc(#{$modal-view-button-icon-height} / 2);\n$modal-view-button-icon-width: 3em;\n$modal-view-button-icon-margin: 0.5em;\n\n.media-modal-view {\n  @keyframes media-fadein {\n    from {\n      opacity: 0;\n    }\n\n    to {\n      opacity: 1;\n    }\n  }\n\n  .modal-image-container {\n    display: flex;\n    overflow: hidden;\n    align-items: center;\n    flex-direction: column;\n    max-width: 100%;\n    max-height: 100%;\n    width: 100%;\n    height: 100%;\n    flex-grow: 1;\n    justify-content: center;\n\n    &-inner {\n      width: 100%;\n      height: 100%;\n      flex-grow: 1;\n      display: flex;\n      flex-direction: column;\n      align-items: center;\n      justify-content: center;\n    }\n  }\n\n  .description,\n  .counter {\n    /* Hardcoded since background is also hardcoded */\n    color: white;\n    margin-top: 1em;\n    text-shadow: 0 0 10px black, 0 0 10px black;\n    padding: 0.2em 2em;\n  }\n\n  .description {\n    flex: 0 0 auto;\n    overflow-y: auto;\n    min-height: 1em;\n    max-width: 500px;\n    max-height: 9.5em;\n    word-break: break-all;\n  }\n\n  .modal-image {\n    max-width: 100%;\n    max-height: 100%;\n    image-orientation: from-image; // NOTE: only FF supports this\n    animation: 0.1s cubic-bezier(0.7, 0, 1, 0.6) media-fadein;\n\n    &.loading {\n      opacity: 0.5;\n    }\n  }\n\n  .loading-spinner {\n    width: 100%;\n    height: 100%;\n    position: absolute;\n    pointer-events: none;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n\n    svg {\n      color: white;\n    }\n  }\n\n  .modal-view-button {\n    border: 0;\n    padding: 0;\n    opacity: 0;\n    box-shadow: none;\n    background: none;\n    appearance: none;\n    overflow: visible;\n    cursor: pointer;\n    transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);\n    height: $modal-view-button-icon-height;\n    width: $modal-view-button-icon-width;\n\n    .button-icon {\n      position: absolute;\n      height: $modal-view-button-icon-height;\n      width: $modal-view-button-icon-width;\n      font-size: 1rem;\n      line-height: $modal-view-button-icon-height;\n      color: #fff;\n      text-align: center;\n      background-color: rgb(0 0 0 / 30%);\n    }\n  }\n\n  .modal-view-button-arrow {\n    position: absolute;\n    display: block;\n    top: 50%;\n    margin-top: $modal-view-button-icon-half-height;\n    width: $modal-view-button-icon-width;\n    height: $modal-view-button-icon-height;\n\n    .arrow-icon {\n      position: absolute;\n      top: 0;\n      line-height: $modal-view-button-icon-height;\n      color: #fff;\n      text-align: center;\n      background-color: rgb(0 0 0 / 30%);\n    }\n\n    &--prev {\n      left: 0;\n\n      .arrow-icon {\n        left: $modal-view-button-icon-margin;\n      }\n    }\n\n    &--next {\n      right: 0;\n\n      .arrow-icon {\n        right: $modal-view-button-icon-margin;\n      }\n    }\n  }\n\n  .modal-view-button-hide {\n    position: absolute;\n    top: 0;\n    right: 0;\n\n    .button-icon {\n      top: $modal-view-button-icon-margin;\n      right: $modal-view-button-icon-margin;\n    }\n  }\n}\n\n.modal-view.media-modal-view {\n  z-index: var(--ZI_media_modal);\n  flex-direction: column;\n\n  .modal-view-button-arrow,\n  .modal-view-button-hide {\n    opacity: 0.75;\n\n    &:focus,\n    &:hover {\n      outline: none;\n      box-shadow: none;\n    }\n\n    &:hover {\n      opacity: 1;\n    }\n  }\n\n  overflow: hidden;\n}\n","\n@import \"../../variables\";\n\n.side-drawer-container {\n  position: fixed;\n  z-index: var(--ZI_navbar);\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: stretch;\n  transition-duration: 0s;\n  transition-property: transform;\n}\n\n.side-drawer-container-open {\n  transform: translate(0%);\n}\n\n.side-drawer-container-closed {\n  transition-delay: 0.35s;\n  transform: translate(-100%);\n}\n\n.side-drawer-darken {\n  top: 0;\n  left: 0;\n  width: 100vw;\n  height: 100vh;\n  position: fixed;\n  z-index: -1;\n  transition: 0.35s;\n  transition-property: background-color;\n  background-color: rgb(0 0 0 / 50%);\n}\n\n.side-drawer-darken-closed {\n  background-color: rgb(0 0 0 / 0%);\n}\n\n.side-drawer-click-outside {\n  flex: 1 1 100%;\n}\n\n.side-drawer {\n  overflow-x: hidden;\n  transition: 0.35s;\n  transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\n  transition-property: transform;\n  margin: 0 0 0 -100px;\n  padding: 0 0 1em 100px;\n  width: 80%;\n  max-width: 20em;\n  flex: 0 0 80%;\n  box-shadow: 1px 1px 4px rgb(0 0 0 / 60%);\n  box-shadow: var(--panelShadow);\n  background-color: $fallback--bg;\n  background-color: var(--popover, $fallback--bg);\n  color: $fallback--link;\n  color: var(--popoverText, $fallback--link);\n\n  --faint: var(--popoverFaintText, $fallback--faint);\n  --faintLink: var(--popoverFaintLink, $fallback--faint);\n  --lightText: var(--popoverLightText, $fallback--lightText);\n  --icon: var(--popoverIcon, $fallback--icon);\n\n  .badge {\n    margin-left: 10px;\n  }\n}\n\n.side-drawer-logo-wrapper {\n  display: flex;\n  align-items: center;\n  padding: 0.85em;\n\n  img {\n    flex: none;\n    height: 50px;\n    margin-right: 0.85em;\n  }\n\n  span {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.side-drawer-click-outside-closed {\n  flex: 0 0 0;\n}\n\n.side-drawer-closed {\n  transform: translate(-100%);\n}\n\n.side-drawer-heading {\n  background: transparent;\n  flex-direction: column;\n  align-items: stretch;\n  display: flex;\n  padding: 0;\n  margin: 0;\n}\n\n.side-drawer ul {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n  border-bottom: 1px solid;\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n}\n\n.side-drawer ul:last-child {\n  border: 0;\n}\n\n.side-drawer li {\n  padding: 0;\n\n  a,\n  button {\n    box-sizing: border-box;\n    display: block;\n    height: 3em;\n    line-height: 3em;\n    padding: 0 0.7em;\n\n    &:hover {\n      background-color: $fallback--lightBg;\n      background-color: var(--selectedMenuPopover, $fallback--lightBg);\n      color: $fallback--text;\n      color: var(--selectedMenuPopoverText, $fallback--text);\n\n      --faint: var(--selectedMenuPopoverFaintText, $fallback--faint);\n      --faintLink: var(--selectedMenuPopoverFaintLink, $fallback--faint);\n      --lightText: var(--selectedMenuPopoverLightText, $fallback--lightText);\n      --icon: var(--selectedMenuPopoverIcon, $fallback--icon);\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.MobilePostButton {\n  &.button-default {\n    width: 5em;\n    height: 5em;\n    border-radius: 100%;\n    position: fixed;\n    bottom: 1.5em;\n    right: 1.5em;\n    // TODO: this needs its own color, it has to stand out enough and link color\n    // is not very optimal for this particular use.\n    background-color: $fallback--fg;\n    background-color: var(--btn, $fallback--fg);\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    box-shadow: 0 2px 2px rgb(0 0 0 / 30%), 0 4px 6px rgb(0 0 0 / 30%);\n    z-index: 10;\n    transition: 0.35s transform;\n    transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\n  }\n\n  &.hidden {\n    transform: translateY(150%);\n  }\n\n  svg {\n    font-size: 1.5em;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n  }\n}\n\n@media all and (min-width: 801px) {\n  .new-status-button:not(.always-show) {\n    display: none;\n  }\n}\n\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.ReplyButton {\n  display: flex;\n\n  > :first-child {\n    padding: 10px;\n    margin: -10px -8px -10px -10px;\n  }\n\n  .action-counter {\n    pointer-events: none;\n    user-select: none;\n  }\n\n  .interactive {\n    &:hover .svg-inline--fa,\n    &.-active .svg-inline--fa {\n      color: $fallback--cBlue;\n      color: var(--cBlue, $fallback--cBlue);\n    }\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n    }\n\n    @include focused-style {\n      .focus-marker {\n        visibility: visible;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.FavoriteButton {\n  display: flex;\n\n  > :first-child {\n    padding: 10px;\n    margin: -10px -8px -10px -10px;\n  }\n\n  .action-counter {\n    pointer-events: none;\n    user-select: none;\n  }\n\n  .interactive {\n    .svg-inline--fa {\n      animation-duration: 0.6s;\n    }\n\n    &:hover .svg-inline--fa,\n    &.-favorited .svg-inline--fa {\n      color: $fallback--cOrange;\n      color: var(--cOrange, $fallback--cOrange);\n    }\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n\n      .active-marker {\n        visibility: visible;\n      }\n    }\n\n    @include focused-style {\n      .focus-marker {\n        visibility: visible;\n      }\n\n      .active-marker {\n        visibility: hidden;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.ReactButton {\n  .reaction-picker-filter {\n    padding: 0.5em;\n    display: flex;\n\n    input {\n      flex: 1;\n    }\n  }\n\n  .reaction-picker-divider {\n    height: 1px;\n    width: 100%;\n    margin: 0.5em;\n    background-color: var(--border, $fallback--border);\n  }\n\n  .reaction-picker {\n    width: 10em;\n    height: 9em;\n    font-size: 1.5em;\n    overflow-y: scroll;\n    display: flex;\n    flex-wrap: wrap;\n    padding: 0.5em;\n    text-align: center;\n    align-content: flex-start;\n    user-select: none;\n    mask:\n      linear-gradient(to top, white 0, transparent 100%) bottom no-repeat,\n      linear-gradient(to bottom, white 0, transparent 100%) top no-repeat,\n      linear-gradient(to top, white, white);\n    transition: mask-size 150ms;\n    mask-size: 100% 20px, 100% 20px, auto;\n\n    /* Autoprefixed seem to ignore this one, and also syntax is different */\n    mask-composite: xor;\n    mask-composite: exclude;\n\n    .emoji-button {\n      cursor: pointer;\n      flex-basis: 20%;\n      line-height: 1.5;\n      align-content: center;\n\n      &:hover {\n        transform: scale(1.25);\n      }\n    }\n  }\n\n  .popover-trigger {\n    padding: 10px;\n    margin: -10px;\n\n    &:hover .svg-inline--fa {\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n  }\n\n  .popover-trigger-button {\n    /* override of popover internal stuff */\n    width: auto;\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n    }\n\n    @include focused-style {\n      .focus-marker {\n        visibility: visible;\n      }\n    }\n  }\n}\n\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.RetweetButton {\n  display: flex;\n\n  > :first-child {\n    padding: 10px;\n    margin: -10px -8px -10px -10px;\n  }\n\n  .action-counter {\n    pointer-events: none;\n    user-select: none;\n  }\n\n  .interactive {\n    .svg-inline--fa {\n      animation-duration: 0.6s;\n    }\n\n    &:hover .svg-inline--fa,\n    &.-repeated .svg-inline--fa {\n      color: $fallback--cGreen;\n      color: var(--cGreen, $fallback--cGreen);\n    }\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n\n      .active-marker {\n        visibility: visible;\n      }\n    }\n\n    @include focused-style {\n      .focus-marker {\n        visibility: visible;\n      }\n\n      .active-marker {\n        visibility: hidden;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.ExtraButtons {\n  .popover-trigger {\n    position: static;\n    padding: 10px;\n    margin: -10px;\n\n    &:hover .svg-inline--fa {\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n  }\n\n  .popover-trigger-button {\n    /* override of popover internal stuff */\n    width: auto;\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n    }\n\n    @include focused-style {\n      .focus-marker {\n        visibility: visible;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.avatars {\n  display: flex;\n  margin: 0;\n  padding: 0;\n\n  // For hiding overflowing elements\n  flex-wrap: wrap;\n  height: 24px;\n\n  .avatars-item {\n    margin: 0 0 5px 5px;\n\n    &:first-child {\n      padding-left: 5px;\n    }\n\n    .avatar-small {\n      border-radius: $fallback--avatarAltRadius;\n      border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n      height: 24px;\n      width: 24px;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n/* popover styles load on-demand, so we need to override */\n.status-popover.popover {\n  font-size: 1rem;\n  min-width: 15em;\n  max-width: 95%;\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n  border-style: solid;\n  border-width: 1px;\n  border-radius: $fallback--tooltipRadius;\n  border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n\n  /* TODO cleanup this */\n  .Status.Status {\n    border: none;\n  }\n\n  .status-preview-no-content {\n    padding: 1em;\n    text-align: center;\n\n    i {\n      font-size: 2em;\n    }\n  }\n}\n\n","\n@import \"../../variables\";\n\n.user-list-popover {\n  padding: 0.5em;\n\n  --emoji-size: 16px;\n\n  .user-list-row {\n    padding: 0.25em;\n    display: flex;\n    flex-direction: row;\n\n    .user-list-names {\n      display: flex;\n      flex-direction: column;\n      margin-left: 0.5em;\n      min-width: 5em;\n\n      img {\n        width: 1em;\n        height: 1em;\n      }\n    }\n\n    .user-list-screen-name {\n      font-size: 0.65em;\n    }\n  }\n}\n\n","\n@import \"../../variables\";\n\n.EmojiReactions {\n  display: flex;\n  margin-top: 0.25em;\n  flex-wrap: wrap;\n\n  .emoji-reaction {\n    padding: 0 0.5em;\n    margin-right: 0.5em;\n    margin-top: 0.5em;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-sizing: border-box;\n\n    .reaction-emoji {\n      width: 1.25em;\n      margin-right: 0.25em;\n    }\n\n    &:focus {\n      outline: none;\n    }\n\n    &.not-clickable {\n      cursor: default;\n\n      &:hover {\n        box-shadow: $fallback--buttonShadow;\n        box-shadow: var(--buttonShadow);\n      }\n    }\n\n    &.-picked-reaction {\n      border: 1px solid var(--accent, $fallback--link);\n      margin-left: -1px; // offset the border, can't use inset shadows either\n      margin-right: calc(0.5em - 1px);\n    }\n  }\n\n  .emoji-reaction-expand {\n    padding: 0 0.5em;\n    margin-right: 0.5em;\n    margin-top: 0.5em;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n\n    &:hover {\n      text-decoration: underline;\n    }\n  }\n}\n","@import \"../../variables\";\n\n.Status {\n  min-width: 0;\n  white-space: normal;\n  word-wrap: break-word;\n  word-break: break-word;\n\n  &:hover {\n    --_still-image-img-visibility: visible;\n    --_still-image-canvas-visibility: hidden;\n    --_still-image-label-visibility: hidden;\n  }\n\n  &.-focused {\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedPost, $fallback--lightBg);\n    color: $fallback--text;\n    color: var(--selectedPostText, $fallback--text);\n\n    --lightText: var(--selectedPostLightText, $fallback--light);\n    --faint: var(--selectedPostFaintText, $fallback--faint);\n    --faintLink: var(--selectedPostFaintLink, $fallback--faint);\n    --postLink: var(--selectedPostPostLink, $fallback--faint);\n    --postFaintLink: var(--selectedPostFaintPostLink, $fallback--faint);\n    --icon: var(--selectedPostIcon, $fallback--icon);\n  }\n\n  .gravestone {\n    padding: var(--status-margin, $status-margin);\n    color: $fallback--faint;\n    color: var(--faint, $fallback--faint);\n    display: flex;\n\n    .deleted-text {\n      margin: 0.5em 0;\n      align-items: center;\n    }\n  }\n\n  .status-container {\n    display: flex;\n    padding: var(--status-margin, $status-margin);\n\n    > * {\n      min-width: 0;\n    }\n\n    &.-repeat {\n      padding-top: 0;\n    }\n  }\n\n  .pin {\n    padding: var(--status-margin, $status-margin) var(--status-margin, $status-margin) 0;\n    display: flex;\n    align-items: center;\n    justify-content: flex-end;\n  }\n\n  ._misclick-prevention & {\n    pointer-events: none;\n\n    .attachments {\n      pointer-events: initial;\n      cursor: initial;\n    }\n  }\n\n  .left-side {\n    margin-right: var(--status-margin, $status-margin);\n  }\n\n  .right-side {\n    flex: 1;\n    min-width: 0;\n  }\n\n  .usercard {\n    margin-bottom: var(--status-margin, $status-margin);\n  }\n\n  .status-username {\n    white-space: nowrap;\n    overflow: hidden;\n    max-width: 85%;\n    font-weight: bold;\n    flex-shrink: 1;\n    margin-right: 0.4em;\n    text-overflow: ellipsis;\n\n    --_still_image-label-scale: 0.25;\n    --emoji-size: 14px;\n  }\n\n  .status-favicon {\n    height: 18px;\n    width: 18px;\n    margin-right: 0.4em;\n  }\n\n  .status-heading {\n    margin-bottom: 0.5em;\n  }\n\n  .heading-name-row {\n    display: flex;\n    justify-content: space-between;\n    line-height: 1.3;\n\n    a {\n      display: inline-block;\n      word-break: break-all;\n    }\n  }\n\n  .account-name {\n    min-width: 1.6em;\n    margin-right: 0.4em;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    flex: 1 1 0;\n  }\n\n  .heading-left {\n    display: flex;\n    min-width: 0;\n  }\n\n  .heading-right {\n    display: flex;\n    flex-shrink: 0;\n\n    .button-unstyled {\n      padding: 5px;\n      margin: -5px;\n\n      &:hover svg {\n        color: $fallback--lightText;\n        color: var(--lightText, $fallback--lightText);\n      }\n    }\n\n    .svg-inline--fa {\n      margin-left: 0.25em;\n    }\n  }\n\n  .glued-label {\n    display: inline-flex;\n    white-space: nowrap;\n  }\n\n  .timeago {\n    margin-right: 0.2em;\n  }\n\n  & .heading-reply-row,\n  & .heading-edited-row {\n    position: relative;\n    align-content: baseline;\n    font-size: 0.85em;\n    margin-top: 0.2em;\n    line-height: 130%;\n    max-width: 100%;\n    align-items: stretch;\n  }\n\n  & .reply-to-popover,\n  & .reply-to-no-popover,\n  & .mentions {\n    min-width: 0;\n    margin-right: 0.4em;\n    flex-shrink: 0;\n  }\n\n  .reply-glued-label {\n    margin-right: 0.5em;\n  }\n\n  .reply-to-popover {\n    .reply-to:hover::before {\n      content: \"\";\n      display: block;\n      position: absolute;\n      bottom: 0;\n      width: 100%;\n      border-bottom: 1px solid var(--faint);\n      pointer-events: none;\n    }\n\n    .faint-link:hover {\n      // override default\n      text-decoration: none;\n    }\n\n    &.-strikethrough {\n      .reply-to::after {\n        content: \"\";\n        display: block;\n        position: absolute;\n        top: 50%;\n        width: 100%;\n        border-bottom: 1px solid var(--faint);\n        pointer-events: none;\n      }\n    }\n  }\n\n  & .mentions,\n  & .reply-to {\n    white-space: nowrap;\n    position: relative;\n  }\n\n  & .mentions-text,\n  & .reply-to-text {\n    color: var(--faint);\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  .mentions-line {\n    display: inline;\n  }\n\n  .replies {\n    margin-top: 0.25em;\n    line-height: 1.3;\n    font-size: 0.85em;\n    display: flex;\n    flex-wrap: wrap;\n\n    & > * {\n      margin-right: 0.4em;\n    }\n  }\n\n  .reply-link {\n    height: 17px;\n  }\n\n  .repeat-info {\n    padding: 0.4em var(--status-margin, $status-margin);\n\n    .repeat-icon {\n      color: $fallback--cGreen;\n      color: var(--cGreen, $fallback--cGreen);\n    }\n  }\n\n  .repeater-avatar {\n    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n    margin-left: 28px;\n    width: 20px;\n    height: 20px;\n  }\n\n  .repeater-name {\n    text-overflow: ellipsis;\n    margin-right: 0;\n\n    .emoji {\n      width: 14px;\n      height: 14px;\n      vertical-align: middle;\n      object-fit: contain;\n    }\n  }\n\n  .status-fadein {\n    animation-duration: 0.4s;\n    animation-name: fadein;\n  }\n\n  @keyframes fadein {\n    from {\n      opacity: 0;\n    }\n\n    to {\n      opacity: 1;\n    }\n  }\n\n  .status-actions {\n    position: relative;\n    width: 100%;\n    display: flex;\n    margin-top: var(--status-margin, $status-margin);\n\n    > * {\n      max-width: 4em;\n      flex: 1;\n    }\n  }\n\n  .muted {\n    padding: 0.25em 0.6em;\n    height: 1.2em;\n    line-height: 1.2em;\n    text-overflow: ellipsis;\n    overflow: hidden;\n    display: flex;\n    flex-wrap: nowrap;\n\n    & .status-username,\n    & .mute-thread,\n    & .mute-words {\n      word-wrap: normal;\n      word-break: normal;\n      white-space: nowrap;\n    }\n\n    & .status-username,\n    & .mute-words {\n      text-overflow: ellipsis;\n      overflow: hidden;\n    }\n\n    .status-username {\n      font-weight: normal;\n      flex: 0 1 auto;\n      margin-right: 0.2em;\n      font-size: smaller;\n    }\n\n    .mute-thread {\n      flex: 0 0 auto;\n    }\n\n    .mute-words {\n      flex: 1 0 5em;\n      margin-left: 0.2em;\n\n      &::before {\n        content: \" \";\n      }\n    }\n\n    .unmute {\n      flex: 0 0 auto;\n      margin-left: auto;\n      display: block;\n    }\n  }\n\n  .reply-form {\n    padding-top: 0;\n    padding-bottom: 0;\n  }\n\n  .reply-body {\n    flex: 1;\n  }\n\n  .favs-repeated-users {\n    margin-top: var(--status-margin, $status-margin);\n  }\n\n  .stats {\n    width: 100%;\n    display: flex;\n    line-height: 1em;\n  }\n\n  .avatar-row {\n    flex: 1;\n    overflow: hidden;\n    position: relative;\n    display: flex;\n    align-items: center;\n\n    &::before {\n      content: \"\";\n      position: absolute;\n      height: 100%;\n      width: 1px;\n      left: 0;\n      background-color: var(--faint, $fallback--faint);\n    }\n  }\n\n  .stat-count {\n    margin-right: var(--status-margin, $status-margin);\n    user-select: none;\n\n    .stat-title {\n      color: var(--faint, $fallback--faint);\n      font-size: 0.85em;\n      text-transform: uppercase;\n      position: relative;\n    }\n\n    .stat-number {\n      font-weight: bolder;\n      font-size: 1.1em;\n      line-height: 1em;\n    }\n\n    &:hover .stat-title {\n      text-decoration: underline;\n    }\n  }\n\n  @media all and (max-width: 800px) {\n    .repeater-avatar {\n      margin-left: 20px;\n    }\n\n    .post-avatar {\n      width: 40px;\n      height: 40px;\n\n      // TODO define those other way somehow?\n      // stylelint-disable rscss/class-format\n      &.-compact {\n        width: 32px;\n        height: 32px;\n      }\n    }\n  }\n}\n","@import \"../../variables\";\n\n.Report {\n  .report-content {\n    margin: 0.5em 0 1em;\n  }\n\n  .report-state {\n    margin: 0.5em 0 1em;\n  }\n\n  .reported-status {\n    border: 1px solid $fallback--faint;\n    border-color: var(--faint, $fallback--faint);\n    border-radius: $fallback--inputRadius;\n    border-radius: var(--inputRadius, $fallback--inputRadius);\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n    display: block;\n    padding: 0.5em;\n    margin: 0.5em 0;\n\n    .status-content {\n      pointer-events: none;\n    }\n\n    .reported-status-heading {\n      display: flex;\n      width: 100%;\n      justify-content: space-between;\n      margin-bottom: 0.2em;\n    }\n\n    .reported-status-name {\n      font-weight: bold;\n    }\n  }\n\n  .note {\n    width: 100%;\n    margin-bottom: 0.5em;\n  }\n}\n","@import \"../../variables\";\n\n// TODO Copypaste from Status, should unify it somehow\n.Notification {\n  border-bottom: 1px solid;\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n  word-wrap: break-word;\n  word-break: break-word;\n\n  --emoji-size: 14px;\n\n  &:hover {\n    --_still-image-img-visibility: visible;\n    --_still-image-canvas-visibility: hidden;\n    --_still-image-label-visibility: hidden;\n  }\n\n  &.-muted {\n    padding: 0.25em 0.6em;\n    height: 1.2em;\n    line-height: 1.2em;\n    text-overflow: ellipsis;\n    overflow: hidden;\n    display: flex;\n    flex-wrap: nowrap;\n\n    & .status-username,\n    & .mute-thread,\n    & .mute-words {\n      word-wrap: normal;\n      word-break: normal;\n      white-space: nowrap;\n    }\n\n    & .status-username,\n    & .mute-words {\n      text-overflow: ellipsis;\n      overflow: hidden;\n    }\n\n    .status-username {\n      font-weight: normal;\n      flex: 0 1 auto;\n      margin-right: 0.2em;\n      font-size: smaller;\n    }\n\n    .mute-thread {\n      flex: 0 0 auto;\n    }\n\n    .mute-words {\n      flex: 1 0 5em;\n      margin-left: 0.2em;\n\n      &::before {\n        content: \" \";\n      }\n    }\n\n    .unmute {\n      flex: 0 0 auto;\n      margin-left: auto;\n      display: block;\n    }\n  }\n\n  .type-icon {\n    margin: 0 0.1em;\n  }\n\n  &.-type--repeat .type-icon {\n    color: $fallback--cGreen;\n    color: var(--cGreen, $fallback--cGreen);\n  }\n\n  &.-type--follow .type-icon {\n    color: $fallback--cBlue;\n    color: var(--cBlue, $fallback--cBlue);\n  }\n\n  &.-type--follow-request .type-icon {\n    color: $fallback--cBlue;\n    color: var(--cBlue, $fallback--cBlue);\n  }\n\n  &.-type--like .type-icon {\n    color: orange;\n    color: $fallback--cOrange;\n    color: var(--cOrange, $fallback--cOrange);\n  }\n\n  &.-type--move .type-icon {\n    color: $fallback--cBlue;\n    color: var(--cBlue, $fallback--cBlue);\n  }\n}\n","@import \"../../variables\";\n\n.Notifications {\n  &:not(.minimal) {\n    // a bit of a hack to allow scrolling below notifications\n    padding-bottom: 15em;\n  }\n\n  .loadmore-error {\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n  }\n\n  .notification {\n    position: relative;\n\n    .notification-overlay {\n      position: absolute;\n      top: 0;\n      right: 0;\n      left: 0;\n      bottom: 0;\n      pointer-events: none;\n    }\n\n    &.unseen {\n      .notification-overlay {\n        background-image: linear-gradient(135deg, var(--badgeNotification, $fallback--cRed) 4px, transparent 10px);\n      }\n    }\n  }\n}\n\n/* stylelint-disable-next-line no-descending-specificity */\n.notification {\n  box-sizing: border-box;\n\n  &:hover .animated.Avatar {\n    canvas {\n      display: none;\n    }\n\n    img {\n      visibility: visible;\n    }\n  }\n\n  &:last-child .Notification {\n    border-bottom: none;\n  }\n\n  .non-mention {\n    display: flex;\n    flex: 1;\n    flex-wrap: nowrap;\n    padding: 0.6em;\n    min-width: 0;\n\n    .avatar-container {\n      width: 32px;\n      height: 32px;\n    }\n\n    .faint {\n      --link: var(--faintLink);\n      --text: var(--faint);\n    }\n  }\n\n  .follow-request-accept {\n    &:hover {\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n  }\n\n  .follow-request-reject {\n    &:hover {\n      color: $fallback--cRed;\n      color: var(--cRed, $fallback--cRed);\n    }\n  }\n\n  .follow-text,\n  .move-text {\n    padding: 0.5em 0;\n    overflow-wrap: break-word;\n    display: flex;\n    justify-content: space-between;\n\n    .follow-name {\n      display: block;\n      max-width: 100%;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n  }\n\n  /* TODO cleanup this */\n  .Status {\n    flex: 1;\n  }\n\n  time {\n    white-space: nowrap;\n  }\n\n  .notification-right {\n    flex: 1;\n    padding-left: 0.8em;\n    min-width: 0;\n\n    .timeago {\n      min-width: 3em;\n      text-align: right;\n    }\n\n    .timeago-link {\n      margin-right: 0.2em;\n    }\n\n    .expand-icon {\n      .svg-inline--fa {\n        margin-left: 0.25em;\n      }\n    }\n  }\n\n  .emoji-reaction-emoji {\n    font-size: 1.3em;\n  }\n\n  .notification-details {\n    min-width: 0;\n    word-wrap: break-word;\n    line-height: var(--post-line-height);\n    position: relative;\n    overflow: hidden;\n    width: 100%;\n    flex: 1 1 0;\n    display: flex;\n    flex-wrap: nowrap;\n    justify-content: space-between;\n\n    .name-and-action {\n      flex: 1;\n      overflow: hidden;\n      text-overflow: ellipsis;\n    }\n\n    .username {\n      font-weight: bolder;\n      max-width: 100%;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    .timeago {\n      margin-right: 0.2em;\n    }\n\n    .status-content {\n      margin: 0;\n      max-height: 300px;\n    }\n\n    h1 {\n      word-break: break-all;\n      margin: 0 0 0.3em;\n      padding: 0;\n      font-size: 1em;\n      line-height: 1.5;\n\n      small {\n        font-weight: lighter;\n      }\n    }\n\n    p {\n      margin: 0;\n      margin-top: 0;\n      margin-bottom: 0.3em;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.MobileNav {\n  z-index: var(--ZI_navbar);\n\n  .mobile-nav {\n    display: grid;\n    line-height: var(--navbar-height);\n    grid-template-rows: 50px;\n    grid-template-columns: 2fr auto;\n    width: 100%;\n    box-sizing: border-box;\n\n    a {\n      color: var(--topBarLink, $fallback--link);\n    }\n  }\n\n  .mobile-inner-nav {\n    width: 100%;\n    display: flex;\n    align-items: center;\n  }\n\n  .mobile-nav-button {\n    display: inline-block;\n    text-align: center;\n    padding: 0 1em;\n    position: relative;\n    cursor: pointer;\n  }\n\n  .site-name {\n    padding: 0 0.3em;\n    display: inline-block;\n  }\n\n  .item {\n    /* moslty just to get rid of extra whitespaces */\n    display: flex;\n  }\n\n  .alert-dot {\n    border-radius: 100%;\n    height: 8px;\n    width: 8px;\n    position: absolute;\n    left: calc(50% - 4px);\n    top: calc(50% - 4px);\n    margin-left: 6px;\n    margin-top: -6px;\n    background-color: $fallback--cRed;\n    background-color: var(--badgeNotification, $fallback--cRed);\n  }\n\n  .mobile-notifications-drawer {\n    width: 100%;\n    height: 100vh;\n    overflow-x: hidden;\n    position: fixed;\n    top: 0;\n    left: 0;\n    box-shadow: 1px 1px 4px rgb(0 0 0 / 60%);\n    box-shadow: var(--panelShadow);\n    transition-property: transform;\n    transition-duration: 0.25s;\n    transform: translateX(0);\n    z-index: var(--ZI_navbar);\n    -webkit-overflow-scrolling: touch;\n\n    &.-closed {\n      transform: translateX(100%);\n      box-shadow: none;\n    }\n  }\n\n  .mobile-notifications-header {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    z-index: calc(var(--ZI_navbar) + 100);\n    width: 100%;\n    height: 50px;\n    line-height: 50px;\n    position: absolute;\n    color: var(--topBarText);\n    background-color: $fallback--fg;\n    background-color: var(--topBar, $fallback--fg);\n    box-shadow: 0 0 4px rgb(0 0 0 / 60%);\n    box-shadow: var(--topBarShadow);\n\n    .spacer {\n      flex: 1;\n    }\n\n    .title {\n      font-size: 1.3em;\n      margin-left: 0.6em;\n    }\n  }\n\n  .pins {\n    flex: 1;\n\n    .pinned-item {\n      flex-grow: 1;\n    }\n  }\n\n  .mobile-notifications {\n    margin-top: 50px;\n    width: 100vw;\n    height: calc(100vh - var(--navbar-height));\n    overflow-x: hidden;\n    overflow-y: scroll;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n\n    .notifications {\n      padding: 0;\n      border-radius: 0;\n      box-shadow: none;\n\n      .panel {\n        border-radius: 0;\n        margin: 0;\n        box-shadow: none;\n      }\n\n      .panel::after {\n        border-radius: 0;\n      }\n\n      .panel .panel-heading {\n        border-radius: 0;\n        box-shadow: none;\n      }\n    }\n  }\n\n  .confirm-modal.dark-overlay {\n    &::before {\n      z-index: 3000;\n    }\n\n    .dialog-modal.panel {\n      z-index: 3001;\n    }\n  }\n}\n\n","\n@import \"../../variables\";\n\n.SearchBar {\n  display: inline-flex;\n  align-items: baseline;\n  vertical-align: baseline;\n  justify-content: flex-end;\n\n  &.-expanded {\n    width: 100%;\n  }\n\n  .search-bar-input,\n  .search-button {\n    height: 29px;\n  }\n\n  .search-bar-input {\n    flex: 1 0 auto;\n  }\n\n  .cancel-search {\n    height: 50px;\n  }\n\n  .cancel-icon {\n    color: $fallback--text;\n    color: var(--btnTopBarText, $fallback--text);\n  }\n}\n\n","@import \"../../variables\";\n\n.DesktopNav {\n  width: 100%;\n  z-index: var(--ZI_navbar);\n\n  input {\n    color: var(--inputTopbarText, var(--inputText));\n  }\n\n  a {\n    color: var(--topBarLink, $fallback--link);\n  }\n\n  .inner-nav {\n    display: grid;\n    grid-template-rows: var(--navbar-height);\n    grid-template-columns: 2fr auto 2fr;\n    grid-template-areas: \"sitename logo actions\";\n    box-sizing: border-box;\n    padding: 0 1.2em;\n    margin: auto;\n    max-width: 980px;\n  }\n\n  &.-column-stretch .inner-nav {\n    --miniColumn: 25rem;\n    --maxiColumn: 45rem;\n    --columnGap: 1em;\n\n    max-width:\n      calc(\n        var(--sidebarColumnWidth, var(--miniColumn)) +\n        var(--contentColumnWidth, var(--maxiColumn)) +\n        var(--columnGap)\n      );\n  }\n\n  &.-logoLeft .inner-nav {\n    grid-template-columns: auto 2fr 2fr;\n    grid-template-areas: \"logo sitename actions\";\n  }\n\n  &.-column-stretch.-wide .inner-nav {\n    max-width:\n      calc(\n        var(--sidebarColumnWidth, var(--miniColumn)) +\n        var(--contentColumnWidth, var(--maxiColumn)) +\n        var(--notifsColumnWidth, var(--miniColumn)) +\n        var(--columnGap)\n      );\n  }\n\n  .button-default {\n    &,\n    svg {\n      color: $fallback--text;\n      color: var(--btnTopBarText, $fallback--text);\n    }\n\n    &:active {\n      background-color: $fallback--fg;\n      background-color: var(--btnPressedTopBar, $fallback--fg);\n      color: $fallback--text;\n      color: var(--btnPressedTopBarText, $fallback--text);\n    }\n\n    &:disabled {\n      color: $fallback--text;\n      color: var(--btnDisabledTopBarText, $fallback--text);\n    }\n\n    &.toggled {\n      color: $fallback--text;\n      color: var(--btnToggledTopBarText, $fallback--text);\n      background-color: $fallback--fg;\n      background-color: var(--btnToggledTopBar, $fallback--fg);\n    }\n  }\n\n  .logo {\n    grid-area: logo;\n    position: relative;\n    transition: opacity;\n    transition-timing-function: ease-out;\n    transition-duration: 100ms;\n\n    @media all and (min-width: 800px) {\n      /* stylelint-disable-next-line declaration-no-important */\n      opacity: 1 !important;\n    }\n\n    .mask {\n      mask-repeat: no-repeat;\n      mask-position: center;\n      mask-size: contain;\n      background-color: $fallback--fg;\n      background-color: var(--topBarText, $fallback--fg);\n      position: absolute;\n      top: 0;\n      bottom: 0;\n      left: 0;\n      right: 0;\n    }\n\n    img {\n      display: inline-block;\n      height: var(--navbar-height);\n    }\n  }\n\n  .nav-icon {\n    margin-left: 0.2em;\n    width: 2em;\n    height: 100%;\n    text-align: center;\n\n    .svg-inline--fa {\n      color: $fallback--link;\n      color: var(--topBarLink, $fallback--link);\n    }\n  }\n\n  .sitename {\n    grid-area: sitename;\n  }\n\n  .actions {\n    grid-area: actions;\n  }\n\n  .item {\n    flex: 1;\n    line-height: var(--navbar-height);\n    height: var(--navbar-height);\n    overflow: hidden;\n    display: flex;\n    flex-wrap: wrap;\n\n    &.right {\n      justify-content: flex-end;\n      text-align: right;\n    }\n  }\n\n  .spacer {\n    width: 1em;\n  }\n}\n","\n@import \"../../variables\";\n\n.list {\n  &-item:not(:last-child) {\n    border-bottom: 1px solid;\n    border-bottom-color: $fallback--border;\n    border-bottom-color: var(--border, $fallback--border);\n  }\n\n  &-empty-content {\n    text-align: center;\n    padding: 10px;\n  }\n}\n","\n@import \"../../variables\";\n\n.user-reporting-panel {\n  width: 90vw;\n  max-width: 700px;\n  min-height: 20vh;\n  max-height: 80vh;\n\n  .panel-body {\n    display: flex;\n    flex-direction: column-reverse;\n    border-top: 1px solid;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n    overflow: hidden;\n  }\n\n  &-left {\n    padding: 1.1em 0.7em 0.7em;\n    line-height: var(--post-line-height);\n    box-sizing: border-box;\n\n    > div {\n      margin-bottom: 1em;\n\n      &:last-child {\n        margin-bottom: 0;\n      }\n    }\n\n    p {\n      margin-top: 0;\n    }\n\n    textarea.form-control {\n      line-height: 16px;\n      resize: none;\n      overflow: hidden;\n      transition: min-height 200ms 100ms;\n      min-height: 44px;\n      width: 100%;\n    }\n\n    .btn {\n      min-width: 10em;\n      padding: 0 2em;\n    }\n\n    .alert {\n      margin: 1em 0 0;\n      line-height: 1.3em;\n    }\n  }\n\n  &-right {\n    display: flex;\n    flex-direction: column;\n    overflow-y: auto;\n  }\n\n  &-sitem {\n    display: flex;\n    justify-content: space-between;\n\n    /* TODO cleanup this */\n    > .Status {\n      flex: 1;\n    }\n\n    > .checkbox {\n      margin: 0.75em;\n    }\n  }\n\n  @media all and (min-width: 801px) {\n    .panel-body {\n      flex-direction: row;\n    }\n\n    &-left {\n      width: 50%;\n      max-width: 320px;\n      border-right: 1px solid;\n      border-color: $fallback--border;\n      border-color: var(--border, $fallback--border);\n      padding: 1.1em;\n\n      > div {\n        margin-bottom: 2em;\n      }\n    }\n\n    &-right {\n      width: 50%;\n      flex: 1 1 auto;\n      margin-bottom: 12px;\n    }\n  }\n}\n","\n.modal-view.edit-form-modal-view {\n  align-items: flex-start;\n}\n\n.edit-form-modal-panel {\n  flex-shrink: 0;\n  margin-top: 25%;\n  margin-bottom: 2em;\n  width: 100%;\n  max-width: 700px;\n\n  @media (orientation: landscape) {\n    margin-top: 8%;\n  }\n\n  .form-bottom-left {\n    max-width: 6.5em;\n\n    .emoji-icon {\n      justify-content: right;\n    }\n  }\n}\n","\n.modal-view.post-form-modal-view {\n  align-items: flex-start;\n}\n\n.post-form-modal-panel {\n  flex-shrink: 0;\n  margin-top: 25%;\n  margin-bottom: 2em;\n  width: 100%;\n  max-width: 700px;\n\n  @media (orientation: landscape) {\n    margin-top: 8%;\n  }\n}\n","\n.modal-view.status-history-modal-view {\n  align-items: flex-start;\n}\n\n.status-history-modal-panel {\n  flex-shrink: 0;\n  margin-top: 25%;\n  margin-bottom: 2em;\n  width: 100%;\n  max-width: 700px;\n\n  @media (orientation: landscape) {\n    margin-top: 8%;\n  }\n}\n","\n@import \"../../variables\";\n\n.global-notice-list {\n  position: fixed;\n  top: calc(var(--navbar-height) + 0.5em);\n  width: 100%;\n  pointer-events: none;\n  z-index: var(--ZI_navbar_popovers);\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n\n  .global-notice {\n    pointer-events: auto;\n    text-align: center;\n    width: 40em;\n    max-width: calc(100% - 3em);\n    display: flex;\n    padding-left: 1.5em;\n    line-height: 2;\n    margin-bottom: 0.5em;\n\n    .notice-message {\n      flex: 1 1 100%;\n    }\n  }\n\n  .global-error {\n    background-color: var(--alertPopupError, $fallback--cRed);\n    color: var(--alertPopupErrorText, $fallback--text);\n\n    .svg-inline--fa {\n      color: var(--alertPopupErrorText, $fallback--text);\n    }\n  }\n\n  .global-warning {\n    background-color: var(--alertPopupWarning, $fallback--cOrange);\n    color: var(--alertPopupWarningText, $fallback--text);\n\n    .svg-inline--fa {\n      color: var(--alertPopupWarningText, $fallback--text);\n    }\n  }\n\n  .global-success {\n    background-color: var(--alertPopupSuccess, $fallback--cGreen);\n    color: var(--alertPopupSuccessText, $fallback--text);\n\n    .svg-inline--fa {\n      color: var(--alertPopupSuccessText, $fallback--text);\n    }\n  }\n\n  .global-info {\n    background-color: var(--alertPopupNeutral, $fallback--fg);\n    color: var(--alertPopupNeutralText, $fallback--text);\n\n    .svg-inline--fa {\n      color: var(--alertPopupNeutralText, $fallback--text);\n    }\n  }\n\n  .close-notice {\n    padding-right: 0.2em;\n\n    .svg-inline--fa:hover {\n      opacity: 0.6;\n    }\n  }\n}\n","// stylelint-disable rscss/class-format\n/* stylelint-disable no-descending-specificity */\n@import \"./variables\";\n@import \"./panel\";\n\n:root {\n  --navbar-height: 3.5rem;\n  --post-line-height: 1.4;\n  // Z-Index stuff\n  --ZI_media_modal: 9000;\n  --ZI_modals_popovers: 8500;\n  --ZI_modals: 8000;\n  --ZI_navbar_popovers: 7500;\n  --ZI_navbar: 7000;\n  --ZI_popovers: 6000;\n}\n\nhtml {\n  font-size: 14px;\n  // overflow-x: clip causes my browser's tab to crash with SIGILL lul\n}\n\nbody {\n  font-family: sans-serif;\n  font-family: var(--interfaceFont, sans-serif);\n  margin: 0;\n  color: $fallback--text;\n  color: var(--text, $fallback--text);\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  overscroll-behavior-y: none;\n  overflow-x: clip;\n  overflow-y: scroll;\n\n  &.hidden {\n    display: none;\n  }\n}\n\n// ## Custom scrollbars\n// Only show custom scrollbars on devices which\n// have a cursor/pointer to operate them\n@media (any-pointer: fine) {\n  * {\n    scrollbar-color: var(--btn) transparent;\n\n    &::-webkit-scrollbar {\n      background: transparent;\n    }\n\n    &::-webkit-scrollbar-button,\n    &::-webkit-scrollbar-thumb {\n      background-color: var(--btn);\n      box-shadow: var(--buttonShadow);\n      border-radius: var(--btnRadius);\n    }\n\n    // horizontal/vertical/increment/decrement are webkit-specific stuff\n    // that indicates whether we're affecting vertical scrollbar, increase button etc\n    // stylelint-disable selector-pseudo-class-no-unknown\n    &::-webkit-scrollbar-button {\n      --___bgPadding: 2px;\n\n      color: var(--btnText);\n      background-repeat: no-repeat, no-repeat;\n\n      &:horizontal {\n        background-size: 50% calc(50% - var(--___bgPadding)), 50% calc(50% - var(--___bgPadding));\n\n        &:increment {\n          background-image:\n            linear-gradient(45deg, var(--btnText) 50%, transparent 51%),\n            linear-gradient(-45deg, transparent 50%, var(--btnText) 51%);\n          background-position: top var(--___bgPadding) left 50%, right 50% bottom var(--___bgPadding);\n        }\n\n        &:decrement {\n          background-image:\n            linear-gradient(45deg, transparent 50%, var(--btnText) 51%),\n            linear-gradient(-45deg, var(--btnText) 50%, transparent 51%);\n          background-position: bottom var(--___bgPadding) right 50%, left 50% top var(--___bgPadding);\n        }\n      }\n\n      &:vertical {\n        background-size: calc(50% - var(--___bgPadding)) 50%, calc(50% - var(--___bgPadding)) 50%;\n\n        &:increment {\n          background-image:\n            linear-gradient(-45deg, transparent 50%, var(--btnText) 51%),\n            linear-gradient(45deg, transparent 50%, var(--btnText) 51%);\n          background-position: right var(--___bgPadding) top 50%, left var(--___bgPadding) top 50%;\n        }\n\n        &:decrement {\n          background-image:\n            linear-gradient(-45deg, var(--btnText) 50%, transparent 51%),\n            linear-gradient(45deg, var(--btnText) 50%, transparent 51%);\n          background-position: left var(--___bgPadding) top 50%, right var(--___bgPadding) top 50%;\n        }\n      }\n    }\n    // stylelint-enable selector-pseudo-class-no-unknown\n  }\n  // Body should have background to scrollbar otherwise it will use white (body color?)\n  html {\n    scrollbar-color: var(--selectedMenu) var(--wallpaper);\n    background: var(--wallpaper);\n  }\n}\n\na {\n  text-decoration: none;\n  color: $fallback--link;\n  color: var(--link, $fallback--link);\n}\n\nh4 {\n  margin: 0;\n}\n\n.iconLetter {\n  display: inline-block;\n  text-align: center;\n  font-weight: 1000;\n}\n\ni[class*=\"icon-\"],\n.svg-inline--fa,\n.iconLetter {\n  color: $fallback--icon;\n  color: var(--icon, $fallback--icon);\n}\n\n.button-unstyled:hover,\na:hover {\n  > i[class*=\"icon-\"],\n  > .svg-inline--fa,\n  > .iconLetter {\n    color: var(--text);\n  }\n}\n\nnav {\n  z-index: var(--ZI_navbar);\n  background-color: $fallback--fg;\n  background-color: var(--topBar, $fallback--fg);\n  color: $fallback--faint;\n  color: var(--faint, $fallback--faint);\n  box-shadow: 0 0 4px rgb(0 0 0 / 60%);\n  box-shadow: var(--topBarShadow);\n  box-sizing: border-box;\n  height: var(--navbar-height);\n  position: fixed;\n}\n\n#sidebar {\n  grid-area: sidebar;\n}\n\n#modal {\n  position: absolute;\n  z-index: var(--ZI_modals);\n}\n\n.column.-scrollable {\n  top: var(--navbar-height);\n  position: sticky;\n}\n\n#main-scroller {\n  grid-area: content;\n  position: relative;\n}\n\n#notifs-column {\n  grid-area: notifs;\n}\n\n.app-bg-wrapper {\n  position: fixed;\n  height: 100%;\n  top: var(--navbar-height);\n  z-index: -1000;\n  left: 0;\n  right: -20px;\n  background-size: cover;\n  background-repeat: no-repeat;\n  background-color: var(--wallpaper);\n  background-image: var(--body-background-image);\n  background-position: 50%;\n}\n\n.underlay {\n  grid-column: 1 / span 3;\n  grid-row: 1 / 1;\n  pointer-events: none;\n  background-color: rgb(0 0 0 / 15%);\n  background-color: var(--underlay, rgb(0 0 0 / 15%));\n  z-index: -1000;\n}\n\n.app-layout {\n  --miniColumn: 25rem;\n  --maxiColumn: 45rem;\n  --columnGap: 1em;\n  --status-margin: 0.75em;\n  --effectiveSidebarColumnWidth: minmax(var(--miniColumn), var(--sidebarColumnWidth, var(--miniColumn)));\n  --effectiveNotifsColumnWidth: minmax(var(--miniColumn), var(--notifsColumnWidth, var(--miniColumn)));\n  --effectiveContentColumnWidth: minmax(var(--miniColumn), var(--contentColumnWidth, var(--maxiColumn)));\n\n  position: relative;\n  display: grid;\n  grid-template-columns:\n    var(--effectiveSidebarColumnWidth)\n    var(--effectiveContentColumnWidth);\n  grid-template-areas: \"sidebar content\";\n  grid-template-rows: 1fr;\n  box-sizing: border-box;\n  margin: 0 auto;\n  align-content: flex-start;\n  flex-wrap: wrap;\n  justify-content: center;\n  min-height: 100vh;\n  overflow-x: clip;\n\n  .column {\n    --___columnMargin: var(--columnGap);\n\n    display: grid;\n    grid-template-columns: 100%;\n    box-sizing: border-box;\n    grid-row: 1 / 1;\n    margin: 0 calc(var(--___columnMargin) / 2);\n    padding: calc(var(--___columnMargin)) 0;\n    row-gap: var(--___columnMargin);\n    align-content: start;\n\n    &:not(.-scrollable) {\n      margin-top: var(--navbar-height);\n    }\n\n    &:hover {\n      z-index: 2;\n    }\n\n    &.-full-height {\n      margin-bottom: 0;\n      padding-top: 0;\n      padding-bottom: 0;\n    }\n\n    &.-scrollable {\n      --___paddingIncrease: calc(var(--columnGap) / 2);\n\n      position: sticky;\n      top: var(--navbar-height);\n      max-height: calc(100vh - var(--navbar-height));\n      overflow-y: auto;\n      overflow-x: hidden;\n      margin-left: calc(var(--___paddingIncrease) * -1);\n      padding-left: calc(var(--___paddingIncrease) + var(--___columnMargin) / 2);\n\n      // On browsers that don't support hiding scrollbars we enforce \"show scrolbars\" mode\n      // might implement old style of hiding scrollbars later if there's demand\n      @supports (scrollbar-width: none) or (-webkit-text-fill-color: initial) {\n        &:not(.-show-scrollbar) {\n          scrollbar-width: none;\n          margin-right: calc(var(--___paddingIncrease) * -1);\n          padding-right: calc(var(--___paddingIncrease) + var(--___columnMargin) / 2);\n\n          &::-webkit-scrollbar {\n            display: block;\n            width: 0;\n          }\n        }\n      }\n\n      .panel-heading.-sticky {\n        top: calc(var(--columnGap) / -1);\n      }\n    }\n  }\n\n  &.-has-new-post-button {\n    .column {\n      padding-bottom: 10rem;\n    }\n  }\n\n  &.-no-sticky-headers {\n    .column {\n      .panel-heading.-sticky {\n        position: relative;\n        top: 0;\n      }\n    }\n  }\n\n  .column-inner {\n    display: grid;\n    grid-template-columns: 100%;\n    box-sizing: border-box;\n    row-gap: 1em;\n    align-content: start;\n  }\n\n  &.-reverse:not(.-wide, .-mobile) {\n    grid-template-columns:\n      var(--effectiveContentColumnWidth)\n      var(--effectiveSidebarColumnWidth);\n    grid-template-areas: \"content sidebar\";\n  }\n\n  &.-wide {\n    grid-template-columns:\n      var(--effectiveSidebarColumnWidth)\n      var(--effectiveContentColumnWidth)\n      var(--effectiveNotifsColumnWidth);\n    grid-template-areas: \"sidebar content notifs\";\n\n    &.-reverse {\n      grid-template-columns:\n        var(--effectiveNotifsColumnWidth)\n        var(--effectiveContentColumnWidth)\n        var(--effectiveSidebarColumnWidth);\n      grid-template-areas: \"notifs content sidebar\";\n    }\n  }\n\n  &.-mobile {\n    grid-template-columns: 100vw;\n    grid-template-areas: \"content\";\n    padding: 0;\n\n    .column {\n      padding-top: 0;\n      margin: var(--navbar-height) 0 0 0;\n    }\n\n    .panel-heading,\n    .panel-heading::after,\n    .panel-heading::before,\n    .panel,\n    .panel::after {\n      border-top-left-radius: 0;\n      border-top-right-radius: 0;\n    }\n\n    #sidebar,\n    #notifs-column {\n      display: none;\n    }\n  }\n\n  &.-normal {\n    #notifs-column {\n      display: none;\n    }\n  }\n}\n\n.text-center {\n  text-align: center;\n}\n\n.button-default {\n  user-select: none;\n  color: $fallback--text;\n  color: var(--btnText, $fallback--text);\n  background-color: $fallback--fg;\n  background-color: var(--btn, $fallback--fg);\n  border: none;\n  border-radius: $fallback--btnRadius;\n  border-radius: var(--btnRadius, $fallback--btnRadius);\n  cursor: pointer;\n  box-shadow: $fallback--buttonShadow;\n  box-shadow: var(--buttonShadow);\n  font-size: 1em;\n  font-family: sans-serif;\n  font-family: var(--interfaceFont, sans-serif);\n\n  &.-sublime {\n    background: transparent;\n  }\n\n  i[class*=\"icon-\"],\n  .svg-inline--fa {\n    color: $fallback--text;\n    color: var(--btnText, $fallback--text);\n  }\n\n  &::-moz-focus-inner {\n    border: none;\n  }\n\n  &:hover {\n    box-shadow: 0 0 4px rgb(255 255 255 / 30%);\n    box-shadow: var(--buttonHoverShadow);\n  }\n\n  &:active {\n    box-shadow:\n      0 0 4px 0 rgb(255 255 255 / 30%),\n      0 1px 0 0 rgb(0 0 0 / 20%) inset,\n      0 -1px 0 0 rgb(255 255 255 / 20%) inset;\n    box-shadow: var(--buttonPressedShadow);\n    color: $fallback--text;\n    color: var(--btnPressedText, $fallback--text);\n    background-color: $fallback--fg;\n    background-color: var(--btnPressed, $fallback--fg);\n\n    svg,\n    i {\n      color: $fallback--text;\n      color: var(--btnPressedText, $fallback--text);\n    }\n  }\n\n  &:disabled {\n    cursor: not-allowed;\n    color: $fallback--text;\n    color: var(--btnDisabledText, $fallback--text);\n    background-color: $fallback--fg;\n    background-color: var(--btnDisabled, $fallback--fg);\n\n    svg,\n    i {\n      color: $fallback--text;\n      color: var(--btnDisabledText, $fallback--text);\n    }\n  }\n\n  &.toggled {\n    color: $fallback--text;\n    color: var(--btnToggledText, $fallback--text);\n    background-color: $fallback--fg;\n    background-color: var(--btnToggled, $fallback--fg);\n    box-shadow:\n      0 0 4px 0 rgb(255 255 255 / 30%),\n      0 1px 0 0 rgb(0 0 0 / 20%) inset,\n      0 -1px 0 0 rgb(255 255 255 / 20%) inset;\n    box-shadow: var(--buttonPressedShadow);\n\n    svg,\n    i {\n      color: $fallback--text;\n      color: var(--btnToggledText, $fallback--text);\n    }\n  }\n\n  &.danger {\n    // TODO: add better color variable\n    color: $fallback--text;\n    color: var(--alertErrorPanelText, $fallback--text);\n    background-color: $fallback--alertError;\n    background-color: var(--alertError, $fallback--alertError);\n  }\n}\n\n.button-unstyled {\n  background: none;\n  border: none;\n  outline: none;\n  display: inline;\n  text-align: initial;\n  font-size: 100%;\n  font-family: inherit;\n  padding: 0;\n  line-height: unset;\n  cursor: pointer;\n  box-sizing: content-box;\n  color: inherit;\n\n  &.-link {\n    color: $fallback--link;\n    color: var(--link, $fallback--link);\n  }\n\n  &.-fullwidth {\n    width: 100%;\n  }\n\n  &.-hover-highlight {\n    &:hover svg {\n      color: $fallback--lightText;\n      color: var(--lightText, $fallback--lightText);\n    }\n  }\n}\n\ninput,\ntextarea,\n.input {\n  &.unstyled {\n    border-radius: 0;\n    background: none;\n    box-shadow: none;\n    height: unset;\n  }\n\n  --_padding: 0.5em;\n\n  border: none;\n  border-radius: $fallback--inputRadius;\n  border-radius: var(--inputRadius, $fallback--inputRadius);\n  box-shadow:\n    0 1px 0 0 rgb(0 0 0 / 20%) inset,\n    0 -1px 0 0 rgb(255 255 255 / 20%) inset,\n    0 0 2px 0 rgb(0 0 0 / 100%) inset;\n  box-shadow: var(--inputShadow);\n  background-color: $fallback--fg;\n  background-color: var(--input, $fallback--fg);\n  color: $fallback--lightText;\n  color: var(--inputText, $fallback--lightText);\n  font-family: sans-serif;\n  font-family: var(--inputFont, sans-serif);\n  font-size: 1em;\n  margin: 0;\n  box-sizing: border-box;\n  display: inline-block;\n  position: relative;\n  line-height: 2;\n  hyphens: none;\n  padding: 0 var(--_padding);\n\n  &:disabled,\n  &[disabled=\"disabled\"],\n  &.disabled {\n    cursor: not-allowed;\n    opacity: 0.5;\n  }\n\n  &[type=\"range\"] {\n    background: none;\n    border: none;\n    margin: 0;\n    box-shadow: none;\n    flex: 1;\n  }\n\n  &[type=\"radio\"] {\n    display: none;\n\n    &:checked + label::before {\n      box-shadow: 0 0 2px black inset, 0 0 0 4px $fallback--fg inset;\n      box-shadow: var(--inputShadow), 0 0 0 4px var(--fg, $fallback--fg) inset;\n      background-color: var(--accent, $fallback--link);\n    }\n\n    &:disabled {\n      &,\n      & + label,\n      & + label::before {\n        opacity: 0.5;\n      }\n    }\n\n    + label::before {\n      flex-shrink: 0;\n      display: inline-block;\n      content: \"\";\n      transition: box-shadow 200ms;\n      width: 1.1em;\n      height: 1.1em;\n      border-radius: 100%; // Radio buttons should always be circle\n      box-shadow: 0 0 2px black inset;\n      box-shadow: var(--inputShadow);\n      margin-right: 0.5em;\n      background-color: $fallback--fg;\n      background-color: var(--input, $fallback--fg);\n      vertical-align: top;\n      text-align: center;\n      line-height: 1.1;\n      font-size: 1.1em;\n      box-sizing: border-box;\n      color: transparent;\n      overflow: hidden;\n    }\n  }\n\n  &[type=\"checkbox\"] {\n    &:checked + label::before {\n      color: $fallback--text;\n      color: var(--inputText, $fallback--text);\n    }\n\n    &:disabled {\n      &,\n      & + label,\n      & + label::before {\n        opacity: 0.5;\n      }\n    }\n\n    + label::before {\n      flex-shrink: 0;\n      display: inline-block;\n      content: \"✓\";\n      transition: color 200ms;\n      width: 1.1em;\n      height: 1.1em;\n      border-radius: $fallback--checkboxRadius;\n      border-radius: var(--checkboxRadius, $fallback--checkboxRadius);\n      box-shadow: 0 0 2px black inset;\n      box-shadow: var(--inputShadow);\n      margin-right: 0.5em;\n      background-color: $fallback--fg;\n      background-color: var(--input, $fallback--fg);\n      vertical-align: top;\n      text-align: center;\n      line-height: 1.1;\n      font-size: 1.1em;\n      box-sizing: border-box;\n      color: transparent;\n      overflow: hidden;\n    }\n  }\n\n  &.resize-height {\n    resize: vertical;\n  }\n}\n\n// Textareas should have stock line-height + vertical padding instead of huge line-height\ntextarea {\n  padding: var(--_padding);\n  line-height: var(--post-line-height);\n}\n\noption {\n  color: $fallback--text;\n  color: var(--text, $fallback--text);\n  background-color: $fallback--bg;\n  background-color: var(--bg, $fallback--bg);\n}\n\n.hide-number-spinner {\n  appearance: textfield;\n\n  &[type=\"number\"]::-webkit-inner-spin-button,\n  &[type=\"number\"]::-webkit-outer-spin-button {\n    opacity: 0;\n    display: none;\n  }\n}\n\n.btn-block {\n  display: block;\n  width: 100%;\n}\n\n.btn-group {\n  position: relative;\n  display: inline-flex;\n  vertical-align: middle;\n\n  button {\n    position: relative;\n    flex: 1 1 auto;\n\n    &:not(:last-child) {\n      border-top-right-radius: 0;\n      border-bottom-right-radius: 0;\n    }\n\n    &:not(:first-child) {\n      border-top-left-radius: 0;\n      border-bottom-left-radius: 0;\n    }\n  }\n}\n\n.fa {\n  color: grey;\n}\n\n.mobile-shown {\n  display: none;\n}\n\n.badge {\n  box-sizing: border-box;\n  display: inline-block;\n  border-radius: 99px;\n  max-width: 10em;\n  min-width: 1.7em;\n  height: 1.3em;\n  padding: 0.15em;\n  vertical-align: middle;\n  font-weight: normal;\n  font-style: normal;\n  font-size: 0.9em;\n  line-height: 1;\n  text-align: center;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n\n  &.badge-notification {\n    background-color: $fallback--cRed;\n    background-color: var(--badgeNotification, $fallback--cRed);\n    color: white;\n    color: var(--badgeNotificationText, white);\n  }\n}\n\n.alert {\n  margin: 0 0.35em;\n  padding: 0 0.25em;\n  border-radius: $fallback--tooltipRadius;\n  border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n\n  &.error {\n    background-color: $fallback--alertError;\n    background-color: var(--alertError, $fallback--alertError);\n    color: $fallback--text;\n    color: var(--alertErrorText, $fallback--text);\n\n    .panel-heading & {\n      color: $fallback--text;\n      color: var(--alertErrorPanelText, $fallback--text);\n    }\n  }\n\n  &.warning {\n    background-color: $fallback--alertWarning;\n    background-color: var(--alertWarning, $fallback--alertWarning);\n    color: $fallback--text;\n    color: var(--alertWarningText, $fallback--text);\n\n    .panel-heading & {\n      color: $fallback--text;\n      color: var(--alertWarningPanelText, $fallback--text);\n    }\n  }\n\n  &.success {\n    background-color: var(--alertSuccess, $fallback--alertWarning);\n    color: var(--alertSuccessText, $fallback--text);\n\n    .panel-heading & {\n      color: var(--alertSuccessPanelText, $fallback--text);\n    }\n  }\n}\n\n.faint {\n  color: $fallback--faint;\n  color: var(--faint, $fallback--faint);\n}\n\n.faint-link {\n  color: $fallback--faint;\n  color: var(--faint, $fallback--faint);\n\n  &:hover {\n    text-decoration: underline;\n  }\n}\n\n.visibility-notice {\n  padding: 0.5em;\n  border: 1px solid $fallback--faint;\n  border: 1px solid var(--faint, $fallback--faint);\n  border-radius: $fallback--inputRadius;\n  border-radius: var(--inputRadius, $fallback--inputRadius);\n}\n\n.notice-dismissible {\n  padding-right: 4rem;\n  position: relative;\n\n  .dismiss {\n    position: absolute;\n    top: 0;\n    right: 0;\n    padding: 0.5em;\n    color: inherit;\n  }\n}\n\n.fa-scale-110 {\n  &.svg-inline--fa,\n  &.iconLetter {\n    font-size: 1.1em;\n  }\n}\n\n.fa-old-padding {\n  &.iconLetter,\n  &.svg-inline--fa,\n  &-layer {\n    padding: 0 0.3em;\n  }\n}\n\n.veryfaint {\n  opacity: 0.25;\n}\n\n.login-hint {\n  text-align: center;\n\n  @media all and (min-width: 801px) {\n    display: none;\n  }\n\n  a {\n    display: inline-block;\n    padding: 1em 0;\n    width: 100%;\n  }\n}\n\n.btn.button-default {\n  min-height: 2em;\n}\n\n.new-status-notification {\n  position: relative;\n  font-size: 1.1em;\n  z-index: 1;\n  flex: 1;\n}\n\n@media all and (max-width: 800px) {\n  .mobile-hidden {\n    display: none;\n  }\n}\n\n@keyframes spin {\n  0% {\n    transform: rotate(0deg);\n  }\n\n  100% {\n    transform: rotate(359deg);\n  }\n}\n\n@keyframes shakeError {\n  0% {\n    transform: translateX(0);\n  }\n\n  15% {\n    transform: translateX(0.375rem);\n  }\n\n  30% {\n    transform: translateX(-0.375rem);\n  }\n\n  45% {\n    transform: translateX(0.375rem);\n  }\n\n  60% {\n    transform: translateX(-0.375rem);\n  }\n\n  75% {\n    transform: translateX(0.375rem);\n  }\n\n  90% {\n    transform: translateX(-0.375rem);\n  }\n\n  100% {\n    transform: translateX(0);\n  }\n}\n\n// Vue transitions\n.fade-enter-active,\n.fade-leave-active {\n  transition: opacity 0.3s;\n}\n\n.fade-enter-from,\n.fade-leave-active {\n  opacity: 0;\n}\n/* stylelint-enable no-descending-specificity */\n\n.visible-for-screenreader-only {\n  display: block;\n  width: 1px;\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  visibility: visible;\n  clip: rect(0 0 0 0);\n  padding: 0;\n  position: absolute;\n}\n","/* stylelint-disable no-descending-specificity */\n.panel {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  background-color: $fallback--bg;\n  background-color: var(--bg, $fallback--bg);\n\n  &::after,\n  & {\n    border-radius: $fallback--panelRadius;\n    border-radius: var(--panelRadius, $fallback--panelRadius);\n  }\n\n  &::after {\n    content: \"\";\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    z-index: 5;\n    box-shadow: 1px 1px 4px rgb(0 0 0 / 60%);\n    box-shadow: var(--panelShadow);\n    pointer-events: none;\n  }\n}\n\n.panel-body {\n  padding: var(--panel-body-padding, 0);\n\n  &:empty::before {\n    content: \"¯\\\\_(ツ)_/¯\"; // Could use words but it'd require translations\n    display: block;\n    margin: 1em;\n    text-align: center;\n  }\n\n  > p {\n    line-height: 1.3;\n    padding: 1em;\n    margin: 0;\n  }\n}\n\n.panel-heading,\n.panel-footer {\n  --panel-heading-height-padding: 0.6em;\n  --__panel-heading-gap: 0.5em;\n  --__panel-heading-height: 3.2em;\n  --__panel-heading-height-inner: calc(var(--__panel-heading-height) - 2 * var(--panel-heading-height-padding, 0));\n\n  position: relative;\n  box-sizing: border-box;\n  display: grid;\n  grid-auto-flow: column;\n  grid-template-columns: minmax(50%, 1fr);\n  grid-auto-columns: auto;\n  grid-column-gap: var(--__panel-heading-gap);\n  flex: none;\n  background-size: cover;\n  padding: var(--panel-heading-height-padding);\n  height: var(--__panel-heading-height);\n  line-height: var(--__panel-heading-height-inner);\n  z-index: 4;\n\n  &.-flexible-height {\n    --__panel-heading-height: auto;\n\n    &::after,\n    &::before {\n      display: none;\n    }\n  }\n\n  &.-stub {\n    &,\n    &::after {\n      border-radius: $fallback--panelRadius;\n      border-radius: var(--panelRadius, $fallback--panelRadius);\n    }\n  }\n\n  &.-sticky {\n    position: sticky;\n    top: var(--navbar-height);\n  }\n\n  &::after,\n  &::before {\n    content: \"\";\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    right: 0;\n    left: 0;\n    pointer-events: none;\n  }\n\n  .title {\n    font-size: 1.3em;\n  }\n\n  .alert {\n    white-space: nowrap;\n    text-overflow: ellipsis;\n    overflow-x: hidden;\n  }\n\n  &:not(.-flexible-height) {\n    > .button-default,\n    > .alert {\n      height: var(--__panel-heading-height-inner);\n      min-height: 0;\n      box-sizing: border-box;\n      margin: 0;\n      min-width: 1px;\n      padding-top: 0;\n      padding-bottom: 0;\n      align-self: stretch;\n    }\n  }\n}\n\n// TODO Should refactor panels into separate component and utilize slots\n\n.panel-heading {\n  border-radius: $fallback--panelRadius $fallback--panelRadius 0 0;\n  border-radius: var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius) 0 0;\n  border-width: 0 0 1px;\n  align-items: start;\n  // panel theme\n  color: var(--panelText);\n  background-color: $fallback--bg;\n  background-color: var(--bg, $fallback--bg);\n\n  &::after {\n    background-color: $fallback--fg;\n    background-color: var(--panel, $fallback--fg);\n    z-index: -2;\n    border-radius: $fallback--panelRadius $fallback--panelRadius 0 0;\n    border-radius: var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius) 0 0;\n    box-shadow: var(--panelHeaderShadow);\n  }\n\n  a,\n  .-link {\n    color: $fallback--link;\n    color: var(--panelLink, $fallback--link);\n  }\n\n  .button-unstyled:hover,\n  a:hover {\n    i[class*=\"icon-\"],\n    .svg-inline--fa,\n    .iconLetter {\n      color: var(--panelText);\n    }\n  }\n\n  .faint {\n    background-color: transparent;\n    color: $fallback--faint;\n    color: var(--panelFaint, $fallback--faint);\n  }\n\n  .faint-link {\n    color: $fallback--faint;\n    color: var(--faintLink, $fallback--faint);\n  }\n\n  &:not(.-flexible-height) {\n    > .button-default {\n      flex-shrink: 0;\n\n      &,\n      i[class*=\"icon-\"] {\n        color: $fallback--text;\n        color: var(--btnPanelText, $fallback--text);\n      }\n\n      &:active {\n        background-color: $fallback--fg;\n        background-color: var(--btnPressedPanel, $fallback--fg);\n        color: $fallback--text;\n        color: var(--btnPressedPanelText, $fallback--text);\n      }\n\n      &:disabled {\n        color: $fallback--text;\n        color: var(--btnDisabledPanelText, $fallback--text);\n      }\n\n      &.toggled {\n        color: $fallback--text;\n        color: var(--btnToggledPanelText, $fallback--text);\n      }\n    }\n  }\n\n  .rightside-button {\n    align-self: stretch;\n    text-align: center;\n    width: var(--__panel-heading-height);\n    height: var(--__panel-heading-height);\n    margin: calc(-1 * var(--panel-heading-height-padding)) 0;\n    margin-right: calc(-1 * var(--__panel-heading-gap));\n\n    > button {\n      box-sizing: border-box;\n      padding: calc(1 * var(--panel-heading-height-padding)) 0;\n      height: 100%;\n      width: 100%;\n      text-align: center;\n\n      svg {\n        font-size: 1.2em;\n      }\n    }\n  }\n\n  .rightside-icon {\n    align-self: stretch;\n    text-align: center;\n    width: var(--__panel-heading-height);\n    margin-right: calc(-1 * var(--__panel-heading-gap));\n\n    svg {\n      font-size: 1.2em;\n    }\n  }\n}\n\n.panel-footer {\n  border-radius: 0 0 $fallback--panelRadius $fallback--panelRadius;\n  border-radius: 0 0 var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius);\n  align-items: center;\n  border-width: 1px 0 0;\n  border-style: solid;\n  border-color: var(--border, $fallback--border);\n}\n/* stylelint-enable no-descending-specificity */\n","\n@import \"../../variables\";\n\n.thread-tree-replies {\n  margin-left: var(--status-margin, $status-margin);\n  border-left: 2px solid var(--border, $fallback--border);\n}\n\n.thread-tree-replies-hidden {\n  padding: var(--status-margin, $status-margin);\n\n  /* Make the button stretch along the whole row */\n  display: flex;\n  align-items: stretch;\n  flex-direction: column;\n}\n","\n@import \"../../variables\";\n\n.Conversation {\n  z-index: 1;\n\n  .conversation-dive-to-top-level-box {\n    padding: var(--status-margin, $status-margin);\n    border-bottom: 1px solid var(--border, $fallback--border);\n    border-radius: 0;\n\n    /* Make the button stretch along the whole row */\n    display: flex;\n    align-items: stretch;\n    flex-direction: column;\n  }\n\n  .thread-ancestors {\n    margin-left: var(--status-margin, $status-margin);\n    border-left: 2px solid var(--border, $fallback--border);\n  }\n\n  .thread-ancestor.-faded .StatusContent {\n    --link: var(--faintLink);\n    --text: var(--faint);\n\n    color: var(--text);\n  }\n\n  .thread-ancestor-dive-box {\n    padding-left: var(--status-margin, $status-margin);\n    border-bottom: 1px solid var(--border, $fallback--border);\n    border-radius: 0;\n\n    /* Make the button stretch along the whole row */\n    &,\n    &-inner {\n      display: flex;\n      align-items: stretch;\n      flex-direction: column;\n    }\n  }\n\n  .thread-ancestor-dive-box-inner {\n    padding: var(--status-margin, $status-margin);\n  }\n\n  .conversation-status {\n    border-bottom: 1px solid var(--border, $fallback--border);\n    border-radius: 0;\n  }\n\n  .thread-ancestor-has-other-replies .conversation-status,\n  &:last-child .conversation-status,\n  .thread-ancestor:last-child .conversation-status,\n  .thread-ancestor:last-child .thread-ancestor-dive-box,\n  &.-expanded .thread-tree .conversation-status {\n    border-bottom: none;\n  }\n\n  .thread-ancestors + .thread-tree > .conversation-status {\n    border-top: 1px solid var(--border, $fallback--border);\n  }\n\n  /* expanded conversation in timeline */\n  &.status-fadein.-expanded .thread-body {\n    border-left: 4px solid $fallback--cRed;\n    border-left-color: var(--cRed, $fallback--cRed);\n    border-radius: 0 0 $fallback--panelRadius $fallback--panelRadius;\n    border-radius: 0 0 var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius);\n    border-bottom: 1px solid var(--border, $fallback--border);\n  }\n\n  &.-expanded.status-fadein {\n    margin: calc(var(--status-margin, $status-margin) / 2);\n  }\n}\n","\n@import \"../../variables\";\n\n.timeline-menu-popover {\n  min-width: 24rem;\n  max-width: 100vw;\n  margin-top: 0.6rem;\n  font-size: 1rem;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n\n  ul {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n  }\n\n  a {\n    display: block;\n    padding: 0 0.65em;\n    height: 3.5em;\n    line-height: 3.5em;\n\n    &:hover {\n      background-color: $fallback--lightBg;\n      background-color: var(--selectedMenu, $fallback--lightBg);\n      color: $fallback--link;\n      color: var(--selectedMenuText, $fallback--link);\n\n      --faint: var(--selectedMenuFaintText, $fallback--faint);\n      --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n      --lightText: var(--selectedMenuLightText, $fallback--lightText);\n      --icon: var(--selectedMenuIcon, $fallback--icon);\n    }\n\n    &.router-link-active {\n      font-weight: bolder;\n      background-color: $fallback--lightBg;\n      background-color: var(--selectedMenu, $fallback--lightBg);\n      color: $fallback--text;\n      color: var(--selectedMenuText, $fallback--text);\n\n      --faint: var(--selectedMenuFaintText, $fallback--faint);\n      --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n      --lightText: var(--selectedMenuLightText, $fallback--lightText);\n      --icon: var(--selectedMenuIcon, $fallback--icon);\n\n      &:hover {\n        text-decoration: underline;\n      }\n    }\n\n    svg {\n      margin-right: 0.4em;\n      margin-left: -0.2em;\n    }\n  }\n\n  li {\n    border-bottom: 1px solid;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n    padding: 0;\n\n    &:last-child a {\n      border-bottom-right-radius: $fallback--panelRadius;\n      border-bottom-right-radius: var(--panelRadius, $fallback--panelRadius);\n      border-bottom-left-radius: $fallback--panelRadius;\n      border-bottom-left-radius: var(--panelRadius, $fallback--panelRadius);\n    }\n\n    &:last-child {\n      border: none;\n    }\n  }\n}\n\n.TimelineMenu {\n  margin-right: auto;\n  min-width: 0;\n\n  .popover-trigger-button {\n    vertical-align: bottom;\n  }\n\n  .panel::after {\n    border-top-right-radius: 0;\n    border-top-left-radius: 0;\n  }\n\n  .timeline-menu-title {\n    margin: 0;\n    cursor: pointer;\n    user-select: none;\n    width: 100%;\n    display: flex;\n\n    .timeline-menu-name {\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    svg {\n      margin-left: 0.6em;\n      transition: transform 100ms;\n    }\n\n    .click-blocker {\n      cursor: default;\n      flex-grow: 1;\n    }\n  }\n\n  &.open .timeline-menu-title svg {\n    color: $fallback--text;\n    color: var(--panelText, $fallback--text);\n    transform: rotate(180deg);\n  }\n\n  .panel {\n    box-shadow: var(--popoverShadow);\n  }\n}\n","@import \"../../variables\";\n\n.Timeline {\n  .alert-dot {\n    border-radius: 100%;\n    height: 8px;\n    width: 8px;\n    position: absolute;\n    left: calc(50% - 4px);\n    top: calc(50% - 4px);\n    margin-left: 6px;\n    margin-top: -6px;\n    background-color: var(--badgeNeutral);\n  }\n\n  .alert-badge {\n    font-size: 0.75em;\n    line-height: 1;\n    text-align: right;\n    border-radius: var(--tooltipRadius);\n    position: absolute;\n    left: calc(50% - 0.5em);\n    top: calc(50% - 0.4em);\n    padding: 0.2em;\n    margin-left: 0.7em;\n    margin-top: -1em;\n    background-color: var(--badgeNeutral);\n    color: var(--badgeNeutralText);\n  }\n\n  .loadmore-button {\n    position: relative;\n  }\n\n  &.-blocked {\n    cursor: progress;\n  }\n\n  .conversation-heading {\n    top: calc(var(--__panel-heading-height) * var(--currentPanelStack, 2));\n    z-index: 2;\n  }\n\n  &.-nonpanel {\n    .timeline-heading {\n      text-align: center;\n      line-height: 2.75em;\n      padding: 0 0.5em;\n\n      .button-default,\n      .alert {\n        line-height: 2em;\n        width: 100%;\n      }\n    }\n  }\n}\n","@import \"../../variables\";\n\n/* stylelint-disable no-descending-specificity */\n.tab-switcher {\n  display: flex;\n\n  .tab-icon {\n    margin: 0.2em auto;\n    display: block;\n  }\n\n  &.top-tabs {\n    flex-direction: column;\n\n    > .tabs {\n      width: 100%;\n      overflow-y: hidden;\n      overflow-x: auto;\n      padding-top: 5px;\n      flex-direction: row;\n      flex: 0 0 auto;\n\n      &::after,\n      &::before {\n        content: \"\";\n        flex: 1 1 auto;\n        border-bottom: 1px solid;\n        border-bottom-color: $fallback--border;\n        border-bottom-color: var(--border, $fallback--border);\n      }\n\n      .tab-wrapper {\n        height: 2em;\n\n        &:not(.active)::after {\n          left: 0;\n          right: 0;\n          bottom: 0;\n          border-bottom: 1px solid;\n          border-bottom-color: $fallback--border;\n          border-bottom-color: var(--border, $fallback--border);\n        }\n      }\n\n      .tab {\n        width: 100%;\n        min-width: 1px;\n        border-bottom-left-radius: 0;\n        border-bottom-right-radius: 0;\n        padding-bottom: 99px;\n        margin-bottom: 6px - 99px;\n      }\n    }\n\n    .contents.scrollable-tabs {\n      flex-basis: 0;\n    }\n  }\n\n  &.side-tabs {\n    flex-direction: row;\n\n    @media all and (max-width: 800px) {\n      overflow-x: auto;\n    }\n\n    > .contents {\n      flex: 1 1 auto;\n    }\n\n    > .tabs {\n      flex: 0 0 auto;\n      overflow-y: auto;\n      overflow-x: hidden;\n      flex-direction: column;\n\n      &::after,\n      &::before {\n        flex-shrink: 0;\n        flex-basis: 0.5em;\n        content: \"\";\n        border-right: 1px solid;\n        border-right-color: $fallback--border;\n        border-right-color: var(--border, $fallback--border);\n      }\n\n      &::after {\n        flex-grow: 1;\n      }\n\n      &::before {\n        flex-grow: 0;\n      }\n\n      .tab-wrapper {\n        min-width: 10em;\n        display: flex;\n        flex-direction: column;\n\n        @media all and (max-width: 800px) {\n          min-width: 4em;\n        }\n\n        &:not(.active)::after {\n          top: 0;\n          right: 0;\n          bottom: 0;\n          border-right: 1px solid;\n          border-right-color: $fallback--border;\n          border-right-color: var(--border, $fallback--border);\n        }\n\n        &::before {\n          flex: 0 0 6px;\n          content: \"\";\n          border-right: 1px solid;\n          border-right-color: $fallback--border;\n          border-right-color: var(--border, $fallback--border);\n        }\n\n        &:last-child .tab {\n          margin-bottom: 0;\n        }\n      }\n\n      .tab {\n        flex: 1;\n        box-sizing: content-box;\n        min-width: 10em;\n        min-width: 1px;\n        border-top-right-radius: 0;\n        border-bottom-right-radius: 0;\n        padding-left: 1em;\n        padding-right: calc(1em + 200px);\n        margin-right: -200px;\n        margin-left: 1em;\n\n        @media all and (max-width: 800px) {\n          padding-left: 0.25em;\n          padding-right: calc(0.25em + 200px);\n          margin-right: calc(0.25em - 200px);\n          margin-left: 0.25em;\n\n          .text {\n            display: none;\n          }\n        }\n      }\n    }\n  }\n\n  .contents {\n    flex: 1 0 auto;\n    min-height: 0;\n\n    .hidden {\n      display: none;\n    }\n\n    .full-height:not(.hidden) {\n      height: 100%;\n      display: flex;\n      flex-direction: column;\n\n      > *:not(.mobile-label) {\n        flex: 1;\n      }\n    }\n\n    &.scrollable-tabs {\n      overflow-y: auto;\n    }\n  }\n\n  .tab {\n    position: relative;\n    white-space: nowrap;\n    padding: 6px 1em;\n\n    &:not(.active) {\n      z-index: 4;\n\n      &:hover {\n        z-index: 6;\n      }\n    }\n\n    &.active {\n      background: transparent;\n      z-index: 5;\n      color: $fallback--text;\n      color: var(--tabActiveText, $fallback--text);\n    }\n\n    img {\n      max-height: 26px;\n      vertical-align: top;\n      margin-top: -5px;\n    }\n  }\n\n  .tabs {\n    display: flex;\n    position: relative;\n    box-sizing: border-box;\n\n    &::after,\n    &::before {\n      display: block;\n      flex: 1 1 auto;\n    }\n  }\n\n  .tab-wrapper {\n    position: relative;\n    display: flex;\n    flex: 0 0 auto;\n\n    &:not(.active) {\n      &::after {\n        content: \"\";\n        position: absolute;\n        z-index: 7;\n      }\n    }\n  }\n\n  .mobile-label {\n    padding-left: 0.3em;\n    padding-bottom: 0.25em;\n    margin-top: 0.5em;\n    margin-left: 0.2em;\n    margin-bottom: 0.25em;\n    border-bottom: 1px solid var(--border, $fallback--border);\n\n    @media all and (min-width: 800px) {\n      display: none;\n    }\n  }\n}\n/* stylelint-enable no-descending-specificity */\n","\n@import \"../../variables\";\n\n.chat-title {\n  display: flex;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n\n  --emoji-size: 14px;\n\n  .username {\n    max-width: 100%;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    display: inline;\n    word-wrap: break-word;\n    overflow: hidden;\n  }\n\n  .avatar-container {\n    align-self: center;\n    line-height: 1;\n  }\n\n  .titlebar-avatar {\n    margin-right: 0.5em;\n    height: 1.5em;\n    width: 1.5em;\n    border-radius: $fallback--avatarAltRadius;\n    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n\n    &.animated::before {\n      display: none;\n    }\n  }\n}\n",".chat-list-item {\n  display: flex;\n  flex-direction: row;\n  padding: 0.75em;\n  height: 5em;\n  overflow: hidden;\n  box-sizing: border-box;\n  cursor: pointer;\n\n  :focus {\n    outline: none;\n  }\n\n  &:hover {\n    background-color: var(--selectedPost, $fallback--lightBg);\n    box-shadow: 0 0 3px 1px rgb(0 0 0 / 10%);\n  }\n\n  .chat-list-item-left {\n    margin-right: 1em;\n  }\n\n  .chat-list-item-center {\n    width: 100%;\n    box-sizing: border-box;\n    overflow: hidden;\n    word-wrap: break-word;\n  }\n\n  .heading {\n    width: 100%;\n    display: inline-flex;\n    justify-content: space-between;\n    line-height: 1em;\n  }\n\n  .heading-right {\n    white-space: nowrap;\n  }\n\n  .name-and-account-name {\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    overflow: hidden;\n    flex-shrink: 1;\n    line-height: var(--post-line-height);\n  }\n\n  .chat-preview {\n    display: inline-flex;\n    overflow: hidden;\n    white-space: nowrap;\n    text-overflow: ellipsis;\n    margin: 0.35em 0;\n    color: $fallback--text;\n    color: var(--faint, $fallback--text);\n    width: 100%;\n  }\n\n  a {\n    color: var(--faintLink, $fallback--link);\n    text-decoration: none;\n    pointer-events: none;\n  }\n\n  &:hover .animated.avatar {\n    canvas {\n      display: none;\n    }\n\n    img {\n      visibility: visible;\n    }\n  }\n\n  .Avatar {\n    border-radius: $fallback--avatarAltRadius;\n    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n  }\n\n  .chat-preview-body {\n    --emoji-size: 1.4em;\n\n    padding-right: 1em;\n  }\n\n  .time-wrapper {\n    line-height: var(--post-line-height);\n  }\n}\n","\n.basic-user-card {\n  display: flex;\n  flex: 1 0;\n  margin: 0;\n  padding: 0.6em 1em;\n\n  --emoji-size: 14px;\n\n  &-collapsed-content {\n    margin-left: 0.7em;\n    text-align: left;\n    flex: 1;\n    min-width: 0;\n  }\n\n  &-user-name {\n    img {\n      object-fit: contain;\n      height: 16px;\n      width: 16px;\n      vertical-align: middle;\n    }\n  }\n\n  &-user-name-value,\n  &-screen-name {\n    display: inline-block;\n    max-width: 100%;\n    overflow: hidden;\n    white-space: nowrap;\n    text-overflow: ellipsis;\n  }\n\n  &-expanded-content {\n    flex: 1;\n    margin-left: 0.7em;\n    min-width: 0;\n  }\n}\n",".chat-new {\n  .input-wrap {\n    display: flex;\n    margin: 0.7em 0.5em;\n\n    input {\n      width: 100%;\n    }\n  }\n\n  .search-icon {\n    margin-right: 0.3em;\n  }\n\n  .member-list {\n    padding-bottom: 0.7rem;\n  }\n\n  .basic-user-card:hover {\n    cursor: pointer;\n    background-color: var(--selectedPost, $fallback--lightBg);\n  }\n\n  .go-back-button {\n    text-align: center;\n    line-height: 1;\n    height: 100%;\n    align-self: start;\n    width: var(--__panel-heading-height-inner);\n  }\n}\n","\n@import \"../../variables\";\n\n.chat-list {\n  min-height: 25em;\n  margin-bottom: 0;\n}\n\n.emtpy-chat-list-alert {\n  padding: 3em;\n  font-size: 1.2em;\n  display: flex;\n  justify-content: center;\n  color: $fallback--text;\n  color: var(--faint, $fallback--text);\n}\n\n","@import \"../../variables\";\n\n.chat-message-wrapper {\n  &.hovered-message-chain {\n    .animated.Avatar {\n      canvas {\n        display: none;\n      }\n\n      img {\n        visibility: visible;\n      }\n    }\n  }\n\n  .chat-message-menu {\n    transition: opacity 0.1s;\n    opacity: 0;\n    position: absolute;\n    top: -0.8em;\n\n    button {\n      padding-top: 0.2em;\n      padding-bottom: 0.2em;\n    }\n  }\n\n  .menu-icon {\n    cursor: pointer;\n\n    &:hover,\n    .extra-button-popover.open & {\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n  }\n\n  .popover {\n    width: 12em;\n  }\n\n  .chat-message {\n    display: flex;\n    padding-bottom: 0.5em;\n\n    .status-body:hover {\n      --_still-image-img-visibility: visible;\n      --_still-image-canvas-visibility: hidden;\n      --_still-image-label-visibility: hidden;\n    }\n  }\n\n  .avatar-wrapper {\n    margin-right: 0.72em;\n    width: 32px;\n  }\n\n  .link-preview,\n  .attachments {\n    margin-bottom: 1em;\n  }\n\n  .status {\n    border-radius: $fallback--chatMessageRadius;\n    border-radius: var(--chatMessageRadius, $fallback--chatMessageRadius);\n    display: flex;\n    padding: 0.75em;\n  }\n\n  .created-at {\n    position: relative;\n    float: right;\n    font-size: 0.8em;\n    margin: -1em 0 -0.5em;\n    font-style: italic;\n    opacity: 0.8;\n  }\n\n  .without-attachment {\n    .message-content {\n      // TODO figure out how to do it properly\n      .RichContent::after {\n        margin-right: 5.4em;\n        content: \" \";\n        display: inline-block;\n      }\n    }\n  }\n\n  .pending {\n    .status-content.media-body,\n    .created-at {\n      color: var(--faint);\n    }\n  }\n\n  .error {\n    .status-content.media-body,\n    .created-at {\n      color: $fallback--cRed;\n      color: var(--badgeNotification, $fallback--cRed);\n    }\n  }\n\n  .chat-message-inner {\n    display: flex;\n    flex-direction: column;\n    align-items: flex-start;\n    max-width: 80%;\n    min-width: 10em;\n    width: 100%;\n  }\n\n  .outgoing {\n    display: flex;\n    flex-flow: row wrap;\n    align-content: end;\n    justify-content: flex-end;\n\n    a {\n      color: var(--chatMessageOutgoingLink, $fallback--link);\n    }\n\n    .status {\n      color: var(--chatMessageOutgoingText, $fallback--text);\n      background-color: var(--chatMessageOutgoingBg, $fallback--lightBg);\n      border: 1px solid var(--chatMessageOutgoingBorder, --lightBg);\n    }\n\n    .chat-message-inner {\n      align-items: flex-end;\n    }\n\n    .chat-message-menu {\n      right: 0.4rem;\n    }\n  }\n\n  .incoming {\n    a {\n      color: var(--chatMessageIncomingLink, $fallback--link);\n    }\n\n    .status {\n      color: var(--chatMessageIncomingText, $fallback--text);\n      background-color: var(--chatMessageIncomingBg, $fallback--bg);\n      border: 1px solid var(--chatMessageIncomingBorder, --border);\n    }\n\n    .created-at {\n      a {\n        color: var(--chatMessageIncomingText, $fallback--text);\n      }\n    }\n\n    .chat-message-menu {\n      left: 0.4rem;\n    }\n  }\n\n  .chat-message-inner.with-media {\n    width: 100%;\n\n    .status {\n      width: 100%;\n    }\n  }\n\n  .visible {\n    opacity: 1;\n  }\n}\n\n.chat-message-date-separator {\n  text-align: center;\n  margin: 1.4em 0;\n  font-size: 0.9em;\n  user-select: none;\n  color: $fallback--text;\n  color: var(--faintedText, $fallback--text);\n}\n",".chat-view {\n  display: flex;\n  height: 100%;\n\n  .chat-view-inner {\n    height: auto;\n    width: 100%;\n    overflow: visible;\n    display: flex;\n  }\n\n  .chat-view-body {\n    box-sizing: border-box;\n    background-color: var(--chatBg, $fallback--bg);\n    display: flex;\n    flex-direction: column;\n    width: 100%;\n    overflow: visible;\n    min-height: calc(100vh - var(--navbar-height));\n    margin: 0;\n    border-radius: 10px 10px 0 0;\n    border-radius: var(--panelRadius, 10px) var(--panelRadius, 10px) 0 0;\n\n    &::after {\n      border-radius: 0;\n    }\n  }\n\n  .message-list {\n    padding: 0 0.8em;\n    height: 100%;\n    display: flex;\n    flex-direction: column;\n    justify-content: end;\n  }\n\n  .footer {\n    position: sticky;\n    bottom: 0;\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n    z-index: 1;\n  }\n\n  .chat-view-heading {\n    grid-template-columns: auto minmax(50%, 1fr);\n  }\n\n  .go-back-button {\n    text-align: center;\n    line-height: 1;\n    height: 100%;\n    align-self: start;\n    width: var(--__panel-heading-height-inner);\n  }\n\n  .jump-to-bottom-button {\n    width: 2.5em;\n    height: 2.5em;\n    border-radius: 100%;\n    position: absolute;\n    right: 1.3em;\n    top: -3.2em;\n    background-color: $fallback--fg;\n    background-color: var(--btn, $fallback--fg);\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    box-shadow: 0 1px 1px rgb(0 0 0 / 30%), 0 2px 4px rgb(0 0 0 / 30%);\n    z-index: 10;\n    transition: 0.35s all;\n    transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\n    opacity: 0;\n    visibility: hidden;\n    cursor: pointer;\n\n    &.visible {\n      opacity: 1;\n      visibility: visible;\n    }\n\n    i {\n      font-size: 1em;\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n\n    .unread-message-count {\n      font-size: 0.8em;\n      left: 50%;\n      margin-top: -1rem;\n      padding: 0.1em;\n      border-radius: 50px;\n      position: absolute;\n    }\n\n    .chat-loading-error {\n      width: 100%;\n      display: flex;\n      align-items: flex-end;\n      height: 100%;\n\n      .error {\n        width: 100%;\n      }\n    }\n  }\n}\n","\n.follow-card {\n  &-content-container {\n    flex-shrink: 0;\n    display: flex;\n    flex-flow: row wrap;\n    justify-content: space-between;\n    line-height: 1.5em;\n  }\n\n  &-button {\n    margin-top: 0.5em;\n    padding: 0 1.5em;\n    margin-left: 1em;\n  }\n\n  &-follow-button {\n    margin-top: 0.5em;\n    margin-left: auto;\n    width: 10em;\n  }\n}\n","@import \"../../variables\";\n\n.with-load-more {\n  &-footer {\n    padding: 10px;\n    text-align: center;\n    border-top: 1px solid;\n    border-top-color: $fallback--border;\n    border-top-color: var(--border, $fallback--border);\n\n    .error {\n      font-size: 1rem;\n    }\n\n    a {\n      cursor: pointer;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.user-profile {\n  flex: 2;\n  flex-basis: 500px;\n\n  // No sticky header on user profile\n  --currentPanelStack: 1;\n\n  .user-birthday {\n    margin: 0 0.75em 0.5em;\n  }\n\n  .user-profile-fields {\n    margin: 0 0.5em;\n\n    img {\n      object-fit: contain;\n      vertical-align: middle;\n      max-width: 100%;\n      max-height: 400px;\n\n      &.emoji {\n        width: 18px;\n        height: 18px;\n      }\n    }\n\n    .user-profile-field {\n      display: flex;\n      margin: 0.25em;\n      border: 1px solid var(--border, $fallback--border);\n      border-radius: $fallback--inputRadius;\n      border-radius: var(--inputRadius, $fallback--inputRadius);\n\n      .user-profile-field-name {\n        flex: 0 1 30%;\n        font-weight: 500;\n        text-align: right;\n        color: var(--lightText);\n        min-width: 120px;\n        border-right: 1px solid var(--border, $fallback--border);\n      }\n\n      .user-profile-field-value {\n        flex: 1 1 70%;\n        color: var(--text);\n        margin: 0 0 0 0.25em;\n      }\n\n      .user-profile-field-name,\n      .user-profile-field-value {\n        line-height: 1.3;\n        text-overflow: ellipsis;\n        white-space: nowrap;\n        overflow: hidden;\n        padding: 0.5em 1.5em;\n        box-sizing: border-box;\n      }\n    }\n  }\n\n  .userlist-placeholder {\n    display: flex;\n    justify-content: center;\n    align-items: middle;\n    padding: 2em;\n  }\n}\n\n.user-profile-placeholder {\n  .panel-body {\n    display: flex;\n    justify-content: center;\n    align-items: middle;\n    padding: 7em;\n  }\n}\n","\n@import \"../../variables\";\n\n.search-result-heading {\n  color: $fallback--faint;\n  color: var(--faint, $fallback--faint);\n  padding: 0.75rem;\n  text-align: center;\n}\n\n@media all and (max-width: 800px) {\n  .search-nav-heading {\n    .tab-switcher .tabs .tab-wrapper {\n      display: block;\n      justify-content: center;\n      flex: 1 1 auto;\n      text-align: center;\n    }\n  }\n}\n\n.search-result {\n  box-sizing: border-box;\n  border-bottom: 1px solid;\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n}\n\n.search-result-footer {\n  border-width: 1px 0 0;\n  border-style: solid;\n  border-color: var(--border, $fallback--border);\n  padding: 10px;\n  background-color: $fallback--fg;\n  background-color: var(--panel, $fallback--fg);\n}\n\n.search-input-container {\n  padding: 0.8rem;\n  display: flex;\n  justify-content: center;\n\n  .search-input {\n    width: 100%;\n    line-height: 1.125rem;\n    font-size: 1rem;\n    padding: 0.5rem;\n    box-sizing: border-box;\n  }\n\n  .search-button {\n    margin-left: 0.5em;\n  }\n}\n\n.loading-icon {\n  padding: 1em;\n}\n\n.trend {\n  display: flex;\n  align-items: center;\n\n  .hashtag {\n    flex: 1 1 auto;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  .count {\n    flex: 0 0 auto;\n    width: 2rem;\n    font-size: 1.5rem;\n    line-height: 2.25rem;\n    font-weight: 500;\n    text-align: center;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n  }\n}\n\n.more-statuses-button {\n  height: 3.5em;\n  line-height: 3.5em;\n}\n\n","\n@import \"../../variables\";\n\n.interface-language-switcher {\n  .language-select {\n    margin-right: 1em;\n  }\n}\n","\n@import \"../../variables\";\n$validations-cRed: #f04124;\n\n.registration-form {\n  display: flex;\n  flex-direction: column;\n  margin: 0.6em;\n\n  .container {\n    display: flex;\n    flex-direction: row;\n\n    > * {\n      min-width: 0;\n    }\n  }\n\n  .terms-of-service {\n    flex: 0 1 50%;\n    margin: 0.8em;\n  }\n\n  .text-fields {\n    margin-top: 0.6em;\n    flex: 1 0;\n    display: flex;\n    flex-direction: column;\n  }\n\n  textarea {\n    min-height: 100px;\n    resize: vertical;\n  }\n\n  .form-group {\n    display: flex;\n    flex-direction: column;\n    padding: 0.3em 0;\n    line-height: 2;\n    margin-bottom: 1em;\n  }\n\n  .form-group--error {\n    animation-name: shakeError;\n    animation-duration: 0.6s;\n    animation-timing-function: ease-in-out;\n  }\n\n  .form-group--error .form--label {\n    color: $validations-cRed;\n    color: var(--cRed, $validations-cRed);\n  }\n\n  .form-error {\n    margin-top: -0.7em;\n    text-align: left;\n\n    span {\n      font-size: 0.85em;\n    }\n  }\n\n  .form-error ul {\n    list-style: none;\n    padding: 0 0 0 5px;\n    margin-top: 0;\n\n    li::before {\n      content: \"• \";\n    }\n  }\n\n  form textarea {\n    line-height: 16px;\n    resize: vertical;\n  }\n\n  .captcha {\n    max-width: 350px;\n    margin-bottom: 0.4em;\n  }\n\n  .btn {\n    margin-top: 0.6em;\n    height: 2em;\n  }\n\n  .error {\n    text-align: center;\n  }\n}\n\n@media all and (max-width: 800px) {\n  .registration-form .container {\n    flex-direction: column-reverse;\n  }\n}\n","\n@import \"../../variables\";\n\n.password-reset-form {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  margin: 0.6em;\n\n  .container {\n    display: flex;\n    flex: 1 0;\n    flex-direction: column;\n    margin-top: 0.6em;\n    max-width: 18rem;\n\n    > * {\n      min-width: 0;\n    }\n  }\n\n  .form-group {\n    display: flex;\n    flex-direction: column;\n    margin-bottom: 1em;\n    padding: 0.3em 0;\n    line-height: 1.85em;\n  }\n\n  .error {\n    text-align: center;\n    animation-name: shakeError;\n    animation-duration: 0.4s;\n    animation-timing-function: ease-in-out;\n  }\n\n  .alert {\n    padding: 0.5em;\n    margin: 0.3em 0 1em;\n  }\n\n  .password-reset-required {\n    background-color: var(--alertError, $fallback--alertError);\n    padding: 10px 0;\n  }\n\n  .notice-dismissible {\n    padding-right: 2rem;\n  }\n\n  .dismiss {\n    cursor: pointer;\n  }\n}\n\n","\n.follow-request-card-content-container {\n  display: flex;\n  flex-flow: row wrap;\n\n  button {\n    margin-top: 0.5em;\n    margin-right: 0.5em;\n    flex: 1 1;\n    max-width: 12em;\n    min-width: 8em;\n\n    &:last-child {\n      margin-right: 0;\n    }\n  }\n}\n","\n.tos-content {\n  margin: 1em;\n}\n","\n.staff-group {\n  padding-left: 1em;\n  padding-top: 1em;\n\n  .basic-user-card {\n    padding-left: 0;\n  }\n}\n\n",".mrf-section {\n  margin: 1em;\n\n  table {\n    width: 100%;\n    text-align: left;\n    padding-left: 10px;\n    padding-bottom: 20px;\n\n    th,\n    td {\n      width: 180px;\n      max-width: 360px;\n      overflow: hidden;\n      vertical-align: text-top;\n    }\n\n    th + th,\n    td + td {\n      width: auto;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.list-card {\n  display: flex;\n}\n\n.list-name {\n  flex-grow: 1;\n}\n\n.list-name,\n.button-list-edit {\n  margin: 0;\n  padding: 1em;\n  color: $fallback--link;\n  color: var(--link, $fallback--link);\n\n  &:hover {\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedMenu, $fallback--lightBg);\n    color: $fallback--link;\n    color: var(--selectedMenuText, $fallback--link);\n\n    --faint: var(--selectedMenuFaintText, $fallback--faint);\n    --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n    --lightText: var(--selectedMenuLightText, $fallback--lightText);\n  }\n}\n","\n.Lists {\n  .new-list-button {\n    padding: 0 0.5em;\n  }\n}\n","\n@import \"../../variables\";\n\n.ListsUserSearch {\n  .input-wrap {\n    display: flex;\n    margin: 0.7em 0.5em;\n\n    input {\n      width: 100%;\n    }\n  }\n\n  .search-icon {\n    margin-right: 0.3em;\n  }\n}\n\n","\n@import \"src/variables\";\n\n.panel-loading {\n  display: flex;\n  height: 100%;\n  align-items: center;\n  justify-content: center;\n  font-size: 2em;\n  color: $fallback--text;\n  color: var(--text, $fallback--text);\n\n  .loading-text svg {\n    line-height: 0;\n    vertical-align: middle;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n  }\n}\n","\n@import \"../../variables\";\n\n.ListEdit {\n  --panel-body-padding: 0.5em;\n\n  height: calc(100vh - var(--navbar-height));\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n\n  .list-edit-heading {\n    grid-template-columns: auto minmax(50%, 1fr);\n  }\n\n  .panel-body {\n    display: flex;\n    flex: 1;\n    flex-direction: column;\n    overflow: hidden;\n  }\n\n  .list-member-management {\n    flex: 1 0 auto;\n  }\n\n  .search-icon {\n    margin-right: 0.3em;\n  }\n\n  .users-list {\n    padding-bottom: 0.7rem;\n    overflow-y: auto;\n  }\n\n  & .search-list,\n  & .members-list {\n    overflow: hidden;\n    flex-direction: column;\n    min-height: 0;\n  }\n\n  .go-back-button {\n    text-align: center;\n    line-height: 1;\n    height: 100%;\n    align-self: start;\n    width: var(--__panel-heading-height-inner);\n  }\n\n  .btn {\n    margin: 0 0.5em;\n  }\n\n  .panel-footer {\n    grid-template-columns: minmax(10%, 1fr);\n\n    .footer-button {\n      min-width: 9em;\n    }\n  }\n}\n","\n.announcement-editor {\n  display: flex;\n  align-items: stretch;\n  flex-direction: column;\n\n  .announcement-metadata {\n    margin-top: 0.5em;\n  }\n\n  .post-textarea {\n    resize: vertical;\n    height: 10em;\n    overflow: none;\n    box-sizing: content-box;\n  }\n}\n","\n@import \"../../variables\";\n\n.announcement {\n  border-bottom: 1px solid var(--border, $fallback--border);\n  border-radius: 0;\n  padding: var(--status-margin, $status-margin);\n\n  .heading,\n  .body {\n    margin-bottom: var(--status-margin, $status-margin);\n  }\n\n  .footer {\n    display: flex;\n    flex-direction: column;\n\n    .times {\n      display: flex;\n      flex-direction: column;\n    }\n  }\n\n  .footer .actions {\n    display: flex;\n    flex-direction: row;\n    justify-content: space-evenly;\n\n    .btn {\n      flex: 1;\n      margin: 1em;\n      max-width: 10em;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.announcements-page {\n  .post-form {\n    padding: var(--status-margin, $status-margin);\n\n    .heading,\n    .body {\n      margin-bottom: var(--status-margin, $status-margin);\n    }\n\n    .post-button {\n      min-width: 10em;\n    }\n  }\n}\n"],"names":[],"sourceRoot":""}
+\ No newline at end of file
+diff --git a/priv/static/static/css/app.c18a2c80794a1b699a61.css b/priv/static/static/css/app.c18a2c80794a1b699a61.css
+new file mode 100644
+index 0000000000000000000000000000000000000000..9d523427ef3f8e454f4b6a629ea1adec9a4cca90
+Binary files /dev/null and b/priv/static/static/css/app.c18a2c80794a1b699a61.css differ
+diff --git a/priv/static/static/css/app.c18a2c80794a1b699a61.css.map b/priv/static/static/css/app.c18a2c80794a1b699a61.css.map
+new file mode 100644
+index 0000000000000000000000000000000000000000..0660dd7a0c74380a16f123a25976ab370013fb51
+--- /dev/null
++++ b/priv/static/static/css/app.c18a2c80794a1b699a61.css.map
+@@ -0,0 +1 @@
++{"version":3,"file":"static/css/app.c18a2c80794a1b699a61.css","mappings":"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","sources":["webpack://pleroma_fe/./src/components/modal/modal.vue","webpack://pleroma_fe/./node_modules/vue-virtual-scroller/dist/vue-virtual-scroller.css","webpack://pleroma_fe/./src/components/login_form/login_form.vue","webpack://pleroma_fe/./src/components/media_upload/media_upload.vue","webpack://pleroma_fe/./src/components/scope_selector/scope_selector.vue","webpack://pleroma_fe/./src/_variables.scss","webpack://pleroma_fe/./src/components/checkbox/checkbox.vue","webpack://pleroma_fe/./src/components/popover/popover.vue","webpack://pleroma_fe/./src/components/still-image/still-image.vue","webpack://pleroma_fe/./src/components/emoji_picker/emoji_picker.scss","webpack://pleroma_fe/./src/components/emoji_input/emoji_input.vue","webpack://pleroma_fe/./src/components/select/select.vue","webpack://pleroma_fe/./src/components/poll/poll_form.vue","webpack://pleroma_fe/./src/components/flash/flash.vue","webpack://pleroma_fe/./src/components/attachment/attachment.scss","webpack://pleroma_fe/./src/components/gallery/gallery.vue","webpack://pleroma_fe/./src/components/user_avatar/user_avatar.vue","webpack://pleroma_fe/./src/components/mention_link/mention_link.scss","webpack://pleroma_fe/./src/components/mentions_line/mentions_line.scss","webpack://pleroma_fe/./src/components/hashtag_link/hashtag_link.scss","webpack://pleroma_fe/./src/components/rich_content/rich_content.scss","webpack://pleroma_fe/./src/components/poll/poll.vue","webpack://pleroma_fe/./src/components/status_body/status_body.scss","webpack://pleroma_fe/./src/components/link-preview/link-preview.vue","webpack://pleroma_fe/./src/components/status_content/status_content.vue","webpack://pleroma_fe/./src/components/post_status_form/post_status_form.vue","webpack://pleroma_fe/./src/components/remote_follow/remote_follow.vue","webpack://pleroma_fe/./src/components/dialog_modal/dialog_modal.vue","webpack://pleroma_fe/./src/components/moderation_tools/moderation_tools.vue","webpack://pleroma_fe/./src/components/account_actions/account_actions.vue","webpack://pleroma_fe/./src/components/user_note/user_note.vue","webpack://pleroma_fe/./src/components/user_card/user_card.scss","webpack://pleroma_fe/./src/components/user_panel/user_panel.vue","webpack://pleroma_fe/./src/components/navigation/navigation_entry.vue","webpack://pleroma_fe/./src/components/navigation/navigation_pins.vue","webpack://pleroma_fe/./src/components/nav_panel/nav_panel.vue","webpack://pleroma_fe/./src/components/features_panel/features_panel.vue","webpack://pleroma_fe/./src/components/who_to_follow_panel/who_to_follow_panel.vue","webpack://pleroma_fe/./src/components/shout_panel/shout_panel.vue","webpack://pleroma_fe/./src/components/media_modal/media_modal.vue","webpack://pleroma_fe/./src/components/side_drawer/side_drawer.vue","webpack://pleroma_fe/./src/components/mobile_post_status_button/mobile_post_status_button.vue","webpack://pleroma_fe/./src/components/reply_button/reply_button.vue","webpack://pleroma_fe/./src/components/favorite_button/favorite_button.vue","webpack://pleroma_fe/./src/components/react_button/react_button.vue","webpack://pleroma_fe/./src/components/retweet_button/retweet_button.vue","webpack://pleroma_fe/./src/components/extra_buttons/extra_buttons.vue","webpack://pleroma_fe/./src/components/avatar_list/avatar_list.vue","webpack://pleroma_fe/./src/components/status_popover/status_popover.vue","webpack://pleroma_fe/./src/components/user_list_popover/user_list_popover.vue","webpack://pleroma_fe/./src/components/emoji_reactions/emoji_reactions.vue","webpack://pleroma_fe/./src/components/status/status.scss","webpack://pleroma_fe/./src/components/report/report.scss","webpack://pleroma_fe/./src/components/notification/notification.scss","webpack://pleroma_fe/./src/components/notifications/notifications.scss","webpack://pleroma_fe/./src/components/mobile_nav/mobile_nav.vue","webpack://pleroma_fe/./src/components/search_bar/search_bar.vue","webpack://pleroma_fe/./src/components/desktop_nav/desktop_nav.scss","webpack://pleroma_fe/./src/components/list/list.vue","webpack://pleroma_fe/./src/components/user_reporting_modal/user_reporting_modal.vue","webpack://pleroma_fe/./src/components/edit_status_modal/edit_status_modal.vue","webpack://pleroma_fe/./src/components/post_status_modal/post_status_modal.vue","webpack://pleroma_fe/./src/components/status_history_modal/status_history_modal.vue","webpack://pleroma_fe/./src/components/global_notice_list/global_notice_list.vue","webpack://pleroma_fe/./src/App.scss","webpack://pleroma_fe/./src/panel.scss","webpack://pleroma_fe/./src/components/thread_tree/thread_tree.vue","webpack://pleroma_fe/./src/components/conversation/conversation.vue","webpack://pleroma_fe/./src/components/timeline_menu/timeline_menu.vue","webpack://pleroma_fe/./src/components/timeline/timeline.scss","webpack://pleroma_fe/./src/components/tab_switcher/tab_switcher.scss","webpack://pleroma_fe/./src/components/chat_title/chat_title.vue","webpack://pleroma_fe/./src/components/chat_list_item/chat_list_item.scss","webpack://pleroma_fe/./src/components/basic_user_card/basic_user_card.vue","webpack://pleroma_fe/./src/components/chat_new/chat_new.scss","webpack://pleroma_fe/./src/components/chat_list/chat_list.vue","webpack://pleroma_fe/./src/components/chat_message/chat_message.scss","webpack://pleroma_fe/./src/components/chat/chat.scss","webpack://pleroma_fe/./src/components/follow_card/follow_card.vue","webpack://pleroma_fe/./src/hocs/with_load_more/with_load_more.scss","webpack://pleroma_fe/./src/components/user_profile/user_profile.vue","webpack://pleroma_fe/./src/components/search/search.vue","webpack://pleroma_fe/./src/components/interface_language_switcher/interface_language_switcher.vue","webpack://pleroma_fe/./src/components/registration/registration.vue","webpack://pleroma_fe/./src/components/password_reset/password_reset.vue","webpack://pleroma_fe/./src/components/follow_request_card/follow_request_card.vue","webpack://pleroma_fe/./src/components/terms_of_service_panel/terms_of_service_panel.vue","webpack://pleroma_fe/./src/components/staff_panel/staff_panel.vue","webpack://pleroma_fe/./src/components/mrf_transparency_panel/mrf_transparency_panel.scss","webpack://pleroma_fe/./src/components/lists_card/lists_card.vue","webpack://pleroma_fe/./src/components/lists/lists.vue","webpack://pleroma_fe/./src/components/lists_user_search/lists_user_search.vue","webpack://pleroma_fe/./src/components/panel_loading/panel_loading.vue","webpack://pleroma_fe/./src/components/lists_edit/lists_edit.vue","webpack://pleroma_fe/./src/components/announcement_editor/announcement_editor.vue","webpack://pleroma_fe/./src/components/announcement/announcement.vue","webpack://pleroma_fe/./src/components/announcements_page/announcements_page.vue"],"sourcesContent":["\n.modal-view {\n  z-index: var(--ZI_modals);\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  overflow: auto;\n  pointer-events: none;\n  animation-duration: 0.2s;\n  animation-name: modal-background-fadein;\n  opacity: 0;\n\n  > * {\n    pointer-events: initial;\n  }\n\n  &.modal-background {\n    pointer-events: initial;\n    background-color: rgb(0 0 0 / 50%);\n  }\n\n  &.open {\n    opacity: 1;\n  }\n}\n\n@keyframes modal-background-fadein {\n  from {\n    background-color: rgb(0 0 0 / 0%);\n  }\n\n  to {\n    background-color: rgb(0 0 0 / 50%);\n  }\n}\n",".vue-recycle-scroller{position:relative}.vue-recycle-scroller.direction-vertical:not(.page-mode){overflow-y:auto}.vue-recycle-scroller.direction-horizontal:not(.page-mode){overflow-x:auto}.vue-recycle-scroller.direction-horizontal{display:flex}.vue-recycle-scroller__slot{flex:auto 0 0}.vue-recycle-scroller__item-wrapper{flex:1;box-sizing:border-box;overflow:hidden;position:relative}.vue-recycle-scroller.ready .vue-recycle-scroller__item-view{position:absolute;top:0;left:0;will-change:transform}.vue-recycle-scroller.direction-vertical .vue-recycle-scroller__item-wrapper{width:100%}.vue-recycle-scroller.direction-horizontal .vue-recycle-scroller__item-wrapper{height:100%}.vue-recycle-scroller.ready.direction-vertical .vue-recycle-scroller__item-view{width:100%}.vue-recycle-scroller.ready.direction-horizontal .vue-recycle-scroller__item-view{height:100%}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}","\n@import \"../../variables\";\n\n.login-form {\n  display: flex;\n  flex-direction: column;\n  padding: 0.6em;\n\n  .btn {\n    min-height: 2em;\n    width: 10em;\n  }\n\n  .register {\n    flex: 1 1;\n  }\n\n  .login-bottom {\n    margin-top: 1em;\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    justify-content: space-between;\n  }\n\n  .form-group {\n    display: flex;\n    flex-direction: column;\n    padding: 0.3em 0.5em 0.6em;\n    line-height: 24px;\n  }\n\n  .form-bottom {\n    display: flex;\n    padding: 0.5em;\n    height: 32px;\n\n    button {\n      width: 10em;\n    }\n\n    p {\n      margin: 0.35em;\n      padding: 0.35em;\n      display: flex;\n    }\n  }\n\n  .error {\n    text-align: center;\n    animation-name: shakeError;\n    animation-duration: 0.4s;\n    animation-timing-function: ease-in-out;\n  }\n}\n","\n@import \"../../variables\";\n\n.media-upload {\n  .hidden-input-file {\n    display: none;\n  }\n}\n\nlabel.media-upload {\n  cursor: pointer; // We use <label> for interactivity... i wonder if it's fine\n}\n","\n@import \"../../variables\";\n\n.ScopeSelector {\n  .scope {\n    display: inline-block;\n    cursor: pointer;\n    min-width: 1.3em;\n    min-height: 1.3em;\n    text-align: center;\n\n    &.selected svg {\n      color: $fallback--lightText;\n      color: var(--lightText, $fallback--lightText);\n    }\n  }\n}\n","$main-color: #f58d2c;\n$main-background: white;\n$darkened-background: whitesmoke;\n\n$fallback--bg: #121a24;\n$fallback--fg: #182230;\n$fallback--faint: rgb(185 185 186 / 50%);\n$fallback--text: #b9b9ba;\n$fallback--link: #d8a070;\n$fallback--icon: #666;\n$fallback--lightBg: rgb(21 30 42);\n$fallback--lightText: #b9b9ba;\n$fallback--border: #222;\n$fallback--cRed: #f00;\n$fallback--cBlue: #0095ff;\n$fallback--cGreen: #0fa00f;\n$fallback--cOrange: orange;\n\n$fallback--alertError: rgb(211 16 20 / 50%);\n$fallback--alertWarning: rgb(111 111 20 / 50%);\n\n$fallback--panelRadius: 10px;\n$fallback--checkboxRadius: 2px;\n$fallback--btnRadius: 4px;\n$fallback--inputRadius: 4px;\n$fallback--tooltipRadius: 5px;\n$fallback--avatarRadius: 4px;\n$fallback--avatarAltRadius: 10px;\n$fallback--attachmentRadius: 10px;\n$fallback--chatMessageRadius: 10px;\n\n$fallback--buttonShadow: 0 0 2px 0 rgb(0 0 0 / 100%),\n  0 1px 0 0 rgb(255 255 255 / 20%) inset,\n  0 -1px 0 0 rgb(0 0 0 / 20%) inset;\n\n$status-margin: 0.75em;\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.checkbox {\n  position: relative;\n  display: inline-block;\n  min-height: 1.2em;\n\n  &-indicator {\n    position: relative;\n    padding-left: 1.2em;\n  }\n\n  &-indicator::before {\n    position: absolute;\n    right: 0;\n    top: 0;\n    display: block;\n    content: \"✓\";\n    transition: color 200ms;\n    width: 1.1em;\n    height: 1.1em;\n    border-radius: $fallback--checkboxRadius;\n    border-radius: var(--checkboxRadius, $fallback--checkboxRadius);\n    box-shadow: 0 0 2px black inset;\n    box-shadow: var(--inputShadow);\n    background-color: $fallback--fg;\n    background-color: var(--input, $fallback--fg);\n    vertical-align: top;\n    text-align: center;\n    line-height: 1.1em;\n    font-size: 1.1em;\n    color: transparent;\n    overflow: hidden;\n    box-sizing: border-box;\n  }\n\n  &.disabled {\n    .checkbox-indicator::before,\n    .label {\n      opacity: 0.5;\n    }\n\n    .label {\n      color: $fallback--faint;\n      color: var(--faint, $fallback--faint);\n    }\n  }\n\n  input[type=\"checkbox\"] {\n    &:checked + .checkbox-indicator::before {\n      color: $fallback--text;\n      color: var(--inputText, $fallback--text);\n    }\n\n    &:indeterminate + .checkbox-indicator::before {\n      content: \"–\";\n      color: $fallback--text;\n      color: var(--inputText, $fallback--text);\n    }\n  }\n\n  &.indeterminate-fix {\n    input[type=\"checkbox\"] + .checkbox-indicator::before {\n      content: \"–\";\n    }\n  }\n\n  & > span {\n    margin-left: 0.5em;\n  }\n}\n","\n@import \"../../variables\";\n\n.popover-trigger-button {\n  display: inline-block;\n}\n\n.popover {\n  z-index: var(--ZI_popover_override, var(--ZI_popovers));\n  position: fixed;\n  min-width: 0;\n  max-width: calc(100vw - 20px);\n  box-shadow: 2px 2px 3px rgb(0 0 0 / 50%);\n  box-shadow: var(--popupShadow);\n}\n\n.popover-default {\n  &::after {\n    content: \"\";\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    z-index: 3;\n    box-shadow: 1px 1px 4px rgb(0 0 0 / 60%);\n    box-shadow: var(--panelShadow);\n    pointer-events: none;\n  }\n\n  border-radius: $fallback--btnRadius;\n  border-radius: var(--btnRadius, $fallback--btnRadius);\n  background-color: $fallback--bg;\n  background-color: var(--popover, $fallback--bg);\n  color: $fallback--text;\n  color: var(--popoverText, $fallback--text);\n\n  --faint: var(--popoverFaintText, $fallback--faint);\n  --faintLink: var(--popoverFaintLink, $fallback--faint);\n  --lightText: var(--popoverLightText, $fallback--lightText);\n  --postLink: var(--popoverPostLink, $fallback--link);\n  --postFaintLink: var(--popoverPostFaintLink, $fallback--link);\n  --icon: var(--popoverIcon, $fallback--icon);\n}\n\n.dropdown-menu {\n  display: block;\n  padding: 0.5rem 0;\n  font-size: 1em;\n  text-align: left;\n  list-style: none;\n  max-width: 100vw;\n  z-index: var(--ZI_popover_override, var(--ZI_popovers));\n  white-space: nowrap;\n\n  .dropdown-divider {\n    height: 0;\n    margin: 0.5rem 0;\n    overflow: hidden;\n    border-top: 1px solid $fallback--border;\n    border-top: 1px solid var(--border, $fallback--border);\n  }\n\n  .dropdown-item {\n    line-height: 21px;\n    overflow: hidden;\n    display: block;\n    padding: 0.5em 0.75em;\n    clear: both;\n    font-weight: 400;\n    text-align: inherit;\n    white-space: nowrap;\n    border: none;\n    border-radius: 0;\n    background-color: transparent;\n    box-shadow: none;\n    width: 100%;\n    height: 100%;\n    box-sizing: border-box;\n\n    --btnText: var(--popoverText, $fallback--text);\n\n    &-icon {\n      svg {\n        width: 22px;\n        margin-right: 0.75rem;\n        color: var(--menuPopoverIcon, $fallback--icon);\n      }\n    }\n\n    &.-has-submenu {\n      .chevron-icon {\n        margin-right: 0.25rem;\n        margin-left: 2rem;\n      }\n    }\n\n    &:active,\n    &:hover {\n      background-color: $fallback--lightBg;\n      background-color: var(--selectedMenuPopover, $fallback--lightBg);\n      box-shadow: none;\n\n      --btnText: var(--selectedMenuPopoverText, $fallback--link);\n      --faint: var(--selectedMenuPopoverFaintText, $fallback--faint);\n      --faintLink: var(--selectedMenuPopoverFaintLink, $fallback--faint);\n      --lightText: var(--selectedMenuPopoverLightText, $fallback--lightText);\n      --icon: var(--selectedMenuPopoverIcon, $fallback--icon);\n\n      svg {\n        color: var(--selectedMenuPopoverIcon, $fallback--icon);\n\n        --icon: var(--selectedMenuPopoverIcon, $fallback--icon);\n      }\n    }\n\n    .menu-checkbox {\n      display: inline-block;\n      vertical-align: middle;\n      min-width: 22px;\n      max-width: 22px;\n      min-height: 22px;\n      max-height: 22px;\n      line-height: 22px;\n      text-align: center;\n      border-radius: 0;\n      background-color: $fallback--fg;\n      background-color: var(--input, $fallback--fg);\n      box-shadow: 0 0 2px black inset;\n      box-shadow: var(--inputShadow);\n      margin-right: 0.75em;\n\n      &.menu-checkbox-checked::after {\n        font-size: 1.25em;\n        content: \"✓\";\n      }\n\n      &.-radio {\n        border-radius: 9999px;\n\n        &.menu-checkbox-checked::after {\n          font-size: 2em;\n          content: \"•\";\n        }\n      }\n    }\n  }\n\n  .button-default.dropdown-item {\n    &,\n    i[class*=\"icon-\"] {\n      color: $fallback--text;\n      color: var(--btnText, $fallback--text);\n    }\n\n    &:active {\n      background-color: $fallback--lightBg;\n      background-color: var(--selectedMenuPopover, $fallback--lightBg);\n      color: $fallback--link;\n      color: var(--selectedMenuPopoverText, $fallback--link);\n    }\n\n    &:disabled {\n      color: $fallback--text;\n      color: var(--btnDisabledText, $fallback--text);\n    }\n\n    &.toggled {\n      color: $fallback--text;\n      color: var(--btnToggledText, $fallback--text);\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.still-image {\n  position: relative;\n  line-height: 0;\n  overflow: hidden;\n  display: inline-flex;\n  align-items: center;\n\n  canvas {\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n    visibility: var(--_still-image-canvas-visibility, visible);\n  }\n\n  img {\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n  }\n\n  &.animated {\n    &::before {\n      zoom: var(--_still_image-label-scale, 1);\n      content: \"gif\";\n      position: absolute;\n      line-height: 1;\n      font-size: 0.7em;\n      top: 0.5em;\n      left: 0.5em;\n      background: rgb(127 127 127 / 50%);\n      color: #fff;\n      display: block;\n      padding: 2px 4px;\n      border-radius: $fallback--tooltipRadius;\n      border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n      z-index: 2;\n      visibility: var(--_still-image-label-visibility, visible);\n    }\n\n    &:hover canvas {\n      display: none;\n    }\n\n    &:hover::before {\n      visibility: var(--_still-image-label-visibility, hidden);\n    }\n\n    img {\n      visibility: var(--_still-image-img-visibility, hidden);\n    }\n\n    &:hover img {\n      visibility: visible;\n    }\n  }\n}\n","@import \"../../variables\";\n\n$emoji-picker-header-height: 36px;\n$emoji-picker-header-picture-width: 32px;\n$emoji-picker-header-picture-height: 32px;\n$emoji-picker-emoji-size: 32px;\n\n.emoji-picker {\n  width: 25em;\n  max-width: calc(100vw - 20px); // popover gives 10px margin from window edge\n  display: flex;\n  flex-direction: column;\n  background-color: $fallback--bg;\n  background-color: var(--popover, $fallback--bg);\n  color: $fallback--link;\n  color: var(--popoverText, $fallback--link);\n\n  --faint: var(--popoverFaintText, $fallback--faint);\n  --faintLink: var(--popoverFaintLink, $fallback--faint);\n  --lightText: var(--popoverLightText, $fallback--lightText);\n  --icon: var(--popoverIcon, $fallback--icon);\n\n  &-header-image {\n    display: inline-flex;\n    justify-content: center;\n    align-items: center;\n    width: $emoji-picker-header-picture-width;\n    max-width: $emoji-picker-header-picture-width;\n    height: $emoji-picker-header-picture-height;\n    max-height: $emoji-picker-header-picture-height;\n\n    .still-image {\n      max-width: 100%;\n      max-height: 100%;\n      height: 100%;\n      width: 100%;\n      object-fit: contain;\n    }\n  }\n\n  .keep-open,\n  .too-many-emoji {\n    padding: 7px;\n    line-height: normal;\n  }\n\n  .too-many-emoji {\n    display: flex;\n    flex-direction: column;\n  }\n\n  .keep-open-label {\n    padding: 0 7px;\n    display: flex;\n  }\n\n  .heading {\n    display: flex;\n    padding: 10px 7px 5px;\n  }\n\n  .content {\n    display: flex;\n    flex-direction: column;\n    flex: 1 1 auto;\n    min-height: 0;\n  }\n\n  .emoji-tabs {\n    flex-grow: 1;\n    display: flex;\n    flex-flow: row nowrap;\n    overflow-x: auto;\n  }\n\n  .additional-tabs {\n    display: flex;\n    border-left: 1px solid;\n    border-left-color: $fallback--icon;\n    border-left-color: var(--icon, $fallback--icon);\n    padding-left: 7px;\n    flex: 0 0 auto;\n  }\n\n  .additional-tabs,\n  .emoji-tabs {\n    flex-basis: auto;\n    display: flex;\n    align-content: center;\n\n    &-item {\n      padding: 0 7px;\n      cursor: pointer;\n      font-size: 1.85em;\n      width: $emoji-picker-header-picture-width;\n      max-width: $emoji-picker-header-picture-width;\n      height: $emoji-picker-header-picture-height;\n      max-height: $emoji-picker-header-picture-height;\n      display: flex;\n      align-items: center;\n\n      &.disabled {\n        opacity: 0.5;\n        pointer-events: none;\n      }\n\n      &.active {\n        border-bottom: 4px solid;\n\n        svg {\n          color: $fallback--lightText;\n          color: var(--lightText, $fallback--lightText);\n        }\n      }\n    }\n  }\n\n  .sticker-picker {\n    flex: 1 1 auto;\n  }\n\n  .stickers,\n  .emoji {\n    &-content {\n      display: flex;\n      flex-direction: column;\n      flex: 1 1 auto;\n      min-height: 0;\n\n      &.hidden {\n        opacity: 0;\n        pointer-events: none;\n        position: absolute;\n      }\n    }\n  }\n\n  .emoji {\n    &-search {\n      padding: 5px;\n      flex: 0 0 auto;\n\n      input {\n        width: 100%;\n      }\n    }\n\n    &-groups {\n      height: 100%;\n      min-height: 200px;\n      flex: 1 1 1px;\n      position: relative;\n      overflow: auto;\n      user-select: none;\n      mask:\n        linear-gradient(to top, white 0, transparent 100%) bottom no-repeat,\n        linear-gradient(to bottom, white 0, transparent 100%) top no-repeat,\n        linear-gradient(to top, white, white);\n      transition: mask-size 150ms;\n      mask-size: 100% 20px, 100% 20px, auto;\n      // Autoprefixed seem to ignore this one, and also syntax is different\n      mask-composite: xor;\n      mask-composite: exclude;\n\n      &.scrolled {\n        &-top {\n          mask-size: 100% 20px, 100% 0, auto;\n        }\n\n        &-bottom {\n          mask-size: 100% 0, 100% 20px, auto;\n        }\n      }\n    }\n\n    &-group {\n      display: flex;\n      align-items: center;\n      flex-wrap: wrap;\n      padding-left: 5px;\n      justify-content: left;\n\n      &-title {\n        font-size: 0.85em;\n        width: 100%;\n        margin: 0;\n\n        &.disabled {\n          display: none;\n        }\n      }\n    }\n\n    &-item {\n      width: $emoji-picker-emoji-size;\n      height: $emoji-picker-emoji-size;\n      box-sizing: border-box;\n      display: flex;\n      line-height: $emoji-picker-emoji-size;\n      align-items: center;\n      justify-content: center;\n      margin: 4px;\n      cursor: pointer;\n\n      .emoji-picker-emoji.-custom {\n        object-fit: contain;\n        max-width: 100%;\n        max-height: 100%;\n      }\n\n      .emoji-picker-emoji.-unicode {\n        font-size: 24px;\n        overflow: hidden;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.emoji-input {\n  display: flex;\n  flex-direction: column;\n  position: relative;\n\n  .emoji-picker-icon {\n    position: absolute;\n    top: 0;\n    right: 0;\n    margin: 0.2em 0.25em;\n    font-size: 1.3em;\n    cursor: pointer;\n    line-height: 24px;\n\n    &:hover i {\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n  }\n\n  .emoji-picker-panel {\n    position: absolute;\n    z-index: 20;\n    margin-top: 2px;\n\n    &.hide {\n      display: none;\n    }\n  }\n\n  input,\n  textarea {\n    flex: 1 0 auto;\n  }\n\n  &.with-picker input {\n    padding-right: 30px;\n  }\n\n  .hidden-overlay {\n    opacity: 0;\n    pointer-events: none;\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    right: 0;\n    left: 0;\n    overflow: hidden;\n\n    /* DEBUG STUFF */\n    color: red;\n\n    /* set opacity to non-zero to see the overlay */\n\n    .caret {\n      width: 0;\n      margin-right: calc(-1ch - 1px);\n      border: 1px solid red;\n    }\n  }\n}\n\n.autocomplete {\n  &-panel {\n    position: absolute;\n  }\n\n  &-item {\n    display: flex;\n    cursor: pointer;\n    padding: 0.2em 0.4em;\n    border-bottom: 1px solid rgb(0 0 0 / 40%);\n    height: 32px;\n\n    .image {\n      width: 32px;\n      height: 32px;\n      line-height: 32px;\n      text-align: center;\n      font-size: 32px;\n      margin-right: 4px;\n\n      img {\n        width: 32px;\n        height: 32px;\n        object-fit: contain;\n      }\n    }\n\n    .label {\n      display: flex;\n      flex-direction: column;\n      justify-content: center;\n      margin: 0 0.1em 0 0.2em;\n\n      .displayText {\n        line-height: 1.5;\n      }\n\n      .detailText {\n        font-size: 9px;\n        line-height: 9px;\n      }\n    }\n\n    &.highlighted {\n      background-color: $fallback--fg;\n      background-color: var(--selectedMenuPopover, $fallback--fg);\n      color: var(--selectedMenuPopoverText, $fallback--text);\n\n      --faint: var(--selectedMenuPopoverFaintText, $fallback--faint);\n      --faintLink: var(--selectedMenuPopoverFaintLink, $fallback--faint);\n      --lightText: var(--selectedMenuPopoverLightText, $fallback--lightText);\n      --icon: var(--selectedMenuPopoverIcon, $fallback--icon);\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n/* TODO fix order of styles */\nlabel.Select {\n  padding: 0;\n\n  select {\n    appearance: none;\n    background: transparent;\n    border: none;\n    color: $fallback--text;\n    color: var(--inputText, --text, $fallback--text);\n    margin: 0;\n    padding: 0 2em 0 0.2em;\n    font-family: sans-serif;\n    font-family: var(--inputFont, sans-serif);\n    font-size: 1em;\n    width: 100%;\n    z-index: 1;\n    height: 2em;\n    line-height: 16px;\n  }\n\n  .select-down-icon {\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    right: 5px;\n    height: 100%;\n    width: 0.875em;\n    color: $fallback--text;\n    color: var(--inputText, $fallback--text);\n    line-height: 2;\n    z-index: 0;\n    pointer-events: none;\n  }\n}\n","\n@import \"../../variables\";\n\n.poll-form {\n  display: flex;\n  flex-direction: column;\n  padding: 0 0.5em 0.5em;\n\n  .add-option {\n    align-self: flex-start;\n    padding-top: 0.25em;\n    padding-left: 0.1em;\n  }\n\n  .poll-option {\n    display: flex;\n    align-items: baseline;\n    justify-content: space-between;\n    margin-bottom: 0.25em;\n  }\n\n  .input-container {\n    width: 100%;\n\n    input {\n      // Hack: dodge the floating X icon\n      padding-right: 2.5em;\n      width: 100%;\n    }\n  }\n\n  .delete-option {\n    // Hack: Move the icon over the input box\n    width: 1.5em;\n    margin-left: -1.5em;\n    z-index: 1;\n  }\n\n  .poll-type-expiry {\n    margin-top: 0.5em;\n    display: flex;\n    width: 100%;\n  }\n\n  .poll-type {\n    margin-right: 0.75em;\n    flex: 1 1 60%;\n\n    .poll-type-select {\n      padding-right: 0.75em;\n    }\n  }\n\n  .poll-expiry {\n    display: flex;\n\n    .expiry-amount {\n      width: 3em;\n      text-align: right;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.Flash {\n  display: inline-block;\n  width: 100%;\n  height: 100%;\n  position: relative;\n\n  .player {\n    height: 100%;\n    width: 100%;\n  }\n\n  .placeholder {\n    height: 100%;\n    width: 100%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: var(--bg);\n    color: var(--link);\n  }\n\n  .hider {\n    top: 0;\n  }\n\n  .label {\n    text-align: center;\n    flex: 1 1 0;\n    line-height: 1.2;\n    white-space: normal;\n    word-wrap: normal;\n  }\n\n  .hidden {\n    display: none;\n    visibility: \"hidden\";\n  }\n}\n","@import \"../../variables\";\n\n.Attachment {\n  display: inline-flex;\n  flex-direction: column;\n  position: relative;\n  align-self: flex-start;\n  line-height: 0;\n  height: 100%;\n  border-style: solid;\n  border-width: 1px;\n  border-radius: $fallback--attachmentRadius;\n  border-radius: var(--attachmentRadius, $fallback--attachmentRadius);\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n\n  .attachment-wrapper {\n    flex: 1 1 auto;\n    height: 100%;\n    position: relative;\n    overflow: hidden;\n  }\n\n  .description-container {\n    flex: 0 1 0;\n    display: flex;\n    padding-top: 0.5em;\n    z-index: 1;\n\n    p {\n      flex: 1;\n      text-align: center;\n      line-height: 1.5;\n      padding: 0.5em;\n      margin: 0;\n      white-space: nowrap;\n      text-overflow: ellipsis;\n      overflow: hidden;\n    }\n\n    &.-static {\n      position: absolute;\n      left: 0;\n      right: 0;\n      bottom: 0;\n      padding-top: 0;\n      background: var(--popover);\n      box-shadow: var(--popupShadow);\n    }\n  }\n\n  .description-field {\n    flex: 1;\n    min-width: 0;\n  }\n\n  & .placeholder-container,\n  & .image-container,\n  & .audio-container,\n  & .video-container,\n  & .flash-container,\n  & .oembed-container {\n    display: flex;\n    justify-content: center;\n    width: 100%;\n    height: 100%;\n  }\n\n  .image-container {\n    .image {\n      width: 100%;\n      height: 100%;\n    }\n  }\n\n  & .flash-container,\n  & .video-container {\n    & .flash,\n    & video {\n      width: 100%;\n      height: 100%;\n      object-fit: contain;\n      align-self: center;\n    }\n  }\n\n  .audio-container {\n    display: flex;\n    align-items: flex-end;\n\n    audio {\n      width: 100%;\n      height: 100%;\n    }\n  }\n\n  .placeholder-container {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding-top: 0.5em;\n  }\n\n  .play-icon {\n    position: absolute;\n    font-size: 64px;\n    top: calc(50% - 32px);\n    left: calc(50% - 32px);\n    color: rgb(255 255 255 / 75%);\n    text-shadow: 0 0 2px rgb(0 0 0 / 40%);\n\n    &::before {\n      margin: 0;\n    }\n  }\n\n  .attachment-buttons {\n    display: flex;\n    position: absolute;\n    right: 0;\n    top: 0;\n    margin-top: 0.5em;\n    margin-right: 0.5em;\n    z-index: 1;\n\n    .attachment-button {\n      padding: 0;\n      border-radius: $fallback--tooltipRadius;\n      border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n      text-align: center;\n      width: 2em;\n      height: 2em;\n      margin-left: 0.5em;\n      font-size: 1.25em;\n      // TODO: theming? hard to theme with unknown background image color\n      background: rgb(230 230 230 / 70%);\n\n      .svg-inline--fa {\n        color: rgb(0 0 0 / 60%);\n      }\n\n      &:hover .svg-inline--fa {\n        color: rgb(0 0 0 / 90%);\n      }\n    }\n  }\n\n  &.-contain-fit {\n    img,\n    canvas {\n      object-fit: contain;\n    }\n  }\n\n  &.-cover-fit {\n    img,\n    canvas {\n      object-fit: cover;\n    }\n  }\n\n  .oembed-container {\n    line-height: 1.2em;\n    flex: 1 0 100%;\n    width: 100%;\n    margin-right: 15px;\n    display: flex;\n\n    img {\n      width: 100%;\n    }\n\n    .image {\n      flex: 1;\n\n      img {\n        border: 0;\n        border-radius: 5px;\n        height: 100%;\n        object-fit: cover;\n      }\n    }\n\n    .text {\n      flex: 2;\n      margin: 8px;\n      word-break: break-all;\n\n      h1 {\n        font-size: 1rem;\n        margin: 0;\n      }\n    }\n  }\n\n  &.-size-small {\n    .play-icon {\n      zoom: 0.5;\n      opacity: 0.7;\n    }\n\n    .attachment-buttons {\n      zoom: 0.7;\n      opacity: 0.5;\n    }\n  }\n\n  &.-editable {\n    padding: 0.5em;\n\n    & .description-container,\n    & .attachment-buttons {\n      margin: 0;\n    }\n  }\n\n  &.-placeholder {\n    display: inline-block;\n    color: $fallback--link;\n    color: var(--postLink, $fallback--link);\n    overflow: hidden;\n    white-space: nowrap;\n    height: auto;\n    line-height: 1.5;\n\n    &:not(.-editable) {\n      border: none;\n    }\n\n    &.-editable {\n      display: flex;\n      flex-direction: row;\n      align-items: baseline;\n\n      & .description-container,\n      & .attachment-buttons {\n        margin: 0;\n        padding: 0;\n        position: relative;\n      }\n\n      .description-container {\n        flex: 1;\n        padding-left: 0.5em;\n      }\n\n      .attachment-buttons {\n        order: 99;\n        align-self: center;\n      }\n    }\n\n    a {\n      display: inline-block;\n      max-width: 100%;\n      overflow: hidden;\n      text-overflow: ellipsis;\n    }\n\n    svg {\n      color: inherit;\n    }\n  }\n\n  &.-loading {\n    cursor: progress;\n  }\n\n  &.-compact {\n    .placeholder-container {\n      padding-bottom: 0.5em;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.Gallery {\n  .gallery-rows {\n    display: flex;\n    flex-direction: column;\n  }\n\n  .gallery-row {\n    position: relative;\n    height: 0;\n    width: 100%;\n    flex-grow: 1;\n\n    .gallery-row-inner {\n      position: absolute;\n      top: 0;\n      left: 0;\n      right: 0;\n      bottom: 0;\n      display: flex;\n      flex-flow: row wrap;\n      align-content: stretch;\n\n      .gallery-item {\n        margin: 0 0.5em 0 0;\n        flex-grow: 1;\n        height: 100%;\n        box-sizing: border-box;\n        // to make failed images a bit more noticeable on chromium\n        min-width: 2em;\n\n        &:last-child {\n          margin: 0;\n        }\n      }\n\n      &.-grid {\n        width: 100%;\n        height: auto;\n        position: relative;\n        display: grid;\n        grid-gap: 0.5em;\n        grid-template-columns: repeat(auto-fill, minmax(15em, 1fr));\n\n        .gallery-item {\n          margin: 0;\n          height: 200px;\n        }\n      }\n    }\n\n    &.-grid,\n    &.-minimal {\n      height: auto;\n\n      .gallery-row-inner {\n        position: relative;\n      }\n    }\n\n    &:not(:first-child) {\n      margin-top: 0.5em;\n    }\n  }\n\n  &.-long {\n    .gallery-rows {\n      max-height: 25em;\n      overflow: hidden;\n      mask:\n        linear-gradient(to top, white, transparent) bottom/100% 70px no-repeat,\n        linear-gradient(to top, white, white);\n\n      /* Autoprefixed seem to ignore this one, and also syntax is different */\n      mask-composite: xor;\n      mask-composite: exclude;\n    }\n  }\n\n  .many-attachments-text {\n    text-align: center;\n    line-height: 2;\n  }\n\n  .many-attachments-buttons {\n    display: flex;\n  }\n\n  .many-attachments-button {\n    display: flex;\n    flex: 1;\n    justify-content: center;\n    line-height: 2;\n\n    button {\n      padding: 0 2em;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.Avatar {\n  --_avatarShadowBox: var(--avatarStatusShadow);\n  --_avatarShadowFilter: var(--avatarStatusShadowFilter);\n  --_avatarShadowInset: var(--avatarStatusShadowInset);\n  --_still-image-label-visibility: hidden;\n\n  display: inline-block;\n  position: relative;\n  width: 48px;\n  height: 48px;\n\n  &.-compact {\n    width: 32px;\n    height: 32px;\n    border-radius: $fallback--avatarAltRadius;\n    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n  }\n\n  .avatar {\n    width: 100%;\n    height: 100%;\n    box-shadow: var(--_avatarShadowBox);\n    border-radius: $fallback--avatarRadius;\n    border-radius: var(--avatarRadius, $fallback--avatarRadius);\n\n    &.-better-shadow {\n      box-shadow: var(--_avatarShadowInset);\n      filter: var(--_avatarShadowFilter);\n    }\n\n    &.-animated::before {\n      display: none;\n    }\n\n    &.-compact {\n      border-radius: $fallback--avatarAltRadius;\n      border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n    }\n\n    &.-placeholder {\n      background-color: $fallback--fg;\n      background-color: var(--fg, $fallback--fg);\n    }\n  }\n\n  img {\n    width: 100%;\n    height: 100%;\n  }\n\n  .bot-indicator {\n    position: absolute;\n    bottom: 0;\n    right: 0;\n    margin: -0.2em;\n    padding: 0.2em;\n    background: rgb(127 127 127 / 50%);\n    color: #fff;\n    border-radius: var(--tooltipRadius);\n  }\n}\n","@import \"../../variables\";\n\n.MentionLink {\n  position: relative;\n  white-space: normal;\n  display: inline;\n  color: var(--link);\n  word-break: normal;\n\n  & .new,\n  & .original {\n    display: inline;\n    border-radius: 2px;\n  }\n\n  .mention-avatar {\n    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n    width: 1.5em;\n    height: 1.5em;\n    vertical-align: middle;\n    user-select: none;\n    margin-right: 0.2em;\n  }\n\n  .full {\n    position: absolute;\n    display: inline-block;\n    pointer-events: none;\n    opacity: 0;\n    top: 100%;\n    left: 0;\n    height: 100%;\n    word-wrap: normal;\n    white-space: nowrap;\n    transition: opacity 0.2s ease;\n    z-index: 1;\n    margin-top: 0.25em;\n    padding: 0.5em;\n    user-select: all;\n  }\n\n  & .short.-with-tooltip,\n  & .you {\n    user-select: none;\n  }\n\n  & .short,\n  & .full {\n    white-space: nowrap;\n  }\n\n  .shortName {\n    white-space: normal;\n  }\n\n  .new {\n    &.-you {\n      .shortName {\n        font-weight: 600;\n      }\n    }\n\n    &.-has-selection {\n      color: var(--alertNeutralText, $fallback--text);\n      background-color: var(--alertNeutral, $fallback--fg);\n    }\n\n    .at {\n      color: var(--link);\n      opacity: 0.8;\n      display: inline-block;\n      line-height: 1;\n      padding: 0 0.1em;\n      vertical-align: -25%;\n      margin: 0;\n    }\n\n    &.-striped {\n      & .shortName {\n        background-image:\n          repeating-linear-gradient(\n            135deg,\n            var(--____highlight-tintColor),\n            var(--____highlight-tintColor) 5px,\n            var(--____highlight-tintColor2) 5px,\n            var(--____highlight-tintColor2) 10px\n          );\n      }\n    }\n\n    &.-solid {\n      .shortName {\n        background-image: linear-gradient(var(--____highlight-tintColor2), var(--____highlight-tintColor2));\n      }\n    }\n\n    &.-side {\n      .shortName {\n        box-shadow: 0 -5px 3px -4px inset var(--____highlight-solidColor);\n      }\n    }\n  }\n\n  .serverName.-faded {\n    color: var(--faintLink, $fallback--link);\n  }\n}\n\n.mention-link-popover {\n  max-width: 70ch;\n  max-height: 20rem;\n  overflow: hidden;\n}\n",".MentionsLine {\n  word-break: break-all;\n\n  .mention-link:not(:first-child)::before {\n    content: \" \";\n  }\n\n  .showMoreLess {\n    margin-left: 0.5em;\n    white-space: normal;\n    color: var(--link);\n  }\n}\n",".HashtagLink {\n  position: relative;\n  white-space: normal;\n  display: inline-block;\n  color: var(--link);\n}\n","@import \"../../variables\";\n\n.RichContent {\n  blockquote {\n    margin: 0.2em 0 0.2em 0.2em;\n    font-style: italic;\n    border-left: 0.2em solid var(--faint, $fallback--faint);\n    padding-left: 1em;\n  }\n\n  pre {\n    overflow: auto;\n  }\n\n  code,\n  samp,\n  kbd,\n  var,\n  pre {\n    font-family: var(--postCodeFont, monospace);\n  }\n\n  p {\n    margin: 0 0 1em;\n  }\n\n  p:last-child {\n    margin: 0;\n  }\n\n  h1 {\n    font-size: 1.1em;\n    line-height: 1.2em;\n    margin: 1.4em 0;\n  }\n\n  h2 {\n    font-size: 1.1em;\n    margin: 1em 0;\n  }\n\n  h3 {\n    font-size: 1em;\n    margin: 1.2em 0;\n  }\n\n  h4 {\n    margin: 1.1em 0;\n  }\n\n  .img {\n    display: inline-block;\n  }\n\n  .emoji {\n    display: inline-block;\n    width: var(--emoji-size, 32px);\n    height: var(--emoji-size, 32px);\n  }\n\n  .img,\n  video {\n    max-width: 100%;\n    max-height: 400px;\n    vertical-align: middle;\n    object-fit: contain;\n  }\n}\n","\n@import \"../../variables\";\n\n.poll {\n  .votes {\n    display: flex;\n    flex-direction: column;\n    margin: 0 0 0.5em;\n  }\n\n  .poll-option {\n    margin: 0.75em 0.5em;\n  }\n\n  .option-result {\n    height: 100%;\n    display: flex;\n    flex-direction: row;\n    position: relative;\n    color: $fallback--lightText;\n    color: var(--lightText, $fallback--lightText);\n  }\n\n  .option-result-label {\n    display: flex;\n    align-items: center;\n    padding: 0.1em 0.25em;\n    z-index: 1;\n    word-break: break-word;\n  }\n\n  .result-percentage {\n    width: 3.5em;\n    flex-shrink: 0;\n  }\n\n  .result-fill {\n    height: 100%;\n    position: absolute;\n    color: $fallback--text;\n    color: var(--pollText, $fallback--text);\n    background-color: $fallback--lightBg;\n    background-color: var(--poll, $fallback--lightBg);\n    border-radius: $fallback--panelRadius;\n    border-radius: var(--panelRadius, $fallback--panelRadius);\n    top: 0;\n    left: 0;\n    transition: width 0.5s;\n  }\n\n  .option-vote {\n    display: flex;\n    align-items: center;\n  }\n\n  input {\n    width: 3.5em;\n  }\n\n  .footer {\n    display: flex;\n    align-items: center;\n  }\n\n  &.loading * {\n    cursor: progress;\n  }\n\n  .poll-vote-button {\n    padding: 0 0.5em;\n    margin-right: 0.5em;\n  }\n\n  .poll-checkbox {\n    display: none;\n  }\n}\n","@import \"../../variables\";\n\n.StatusBody {\n  display: flex;\n  flex-direction: column;\n\n  .emoji {\n    --_still_image-label-scale: 0.5;\n  }\n\n  .attachments {\n    margin-top: 0.5em;\n  }\n\n  & .text,\n  & .summary {\n    font-family: var(--postFont, sans-serif);\n    white-space: pre-wrap;\n    overflow-wrap: break-word;\n    word-wrap: break-word;\n    word-break: break-word;\n    line-height: var(--post-line-height);\n  }\n\n  .summary {\n    display: block;\n    font-style: italic;\n    padding-bottom: 0.5em;\n  }\n\n  .text {\n    &.-single-line {\n      white-space: nowrap;\n      text-overflow: ellipsis;\n      overflow: hidden;\n      height: 1.4em;\n    }\n  }\n\n  .summary-wrapper {\n    margin-bottom: 0.5em;\n    border-style: solid;\n    border-width: 0 0 1px;\n    border-color: var(--border, $fallback--border);\n    flex-grow: 0;\n\n    &.-tall {\n      position: relative;\n\n      .summary {\n        max-height: 2em;\n        overflow: hidden;\n        white-space: nowrap;\n        text-overflow: ellipsis;\n      }\n    }\n  }\n\n  .text-wrapper {\n    display: flex;\n    flex-flow: column nowrap;\n\n    &.-tall-status {\n      position: relative;\n      height: 220px;\n      overflow-x: hidden;\n      overflow-y: hidden;\n      z-index: 1;\n\n      .media-body {\n        min-height: 0;\n        mask:\n          linear-gradient(to top, white, transparent) bottom/100% 70px no-repeat,\n          linear-gradient(to top, white, white);\n\n        /* Autoprefixed seem to ignore this one, and also syntax is different */\n        mask-composite: xor;\n        mask-composite: exclude;\n      }\n    }\n  }\n\n  & .tall-status-hider,\n  & .tall-subject-hider,\n  & .status-unhider,\n  & .cw-status-hider {\n    display: inline-block;\n    word-break: break-all;\n    width: 100%;\n    text-align: center;\n  }\n\n  .tall-status-hider {\n    position: absolute;\n    height: 70px;\n    margin-top: 150px;\n    line-height: 110px;\n    z-index: 2;\n  }\n\n  .tall-subject-hider {\n    // position: absolute;\n    padding-bottom: 0.5em;\n  }\n\n  & .status-unhider,\n  & .cw-status-hider {\n    word-break: break-all;\n\n    svg {\n      color: inherit;\n    }\n  }\n\n  .greentext {\n    color: $fallback--cGreen;\n    color: var(--postGreentext, $fallback--cGreen);\n  }\n\n  .cyantext {\n    color: var(--postCyantext, $fallback--cBlue);\n  }\n\n  &.-compact {\n    align-items: top;\n    flex-direction: row;\n\n    --emoji-size: 16px;\n\n    & .body,\n    & .attachments {\n      max-height: 3.25em;\n    }\n\n    .body {\n      overflow: hidden;\n      white-space: normal;\n      min-width: 5em;\n      flex: 5 1 auto;\n      mask-size: auto 3.5em, auto auto;\n      mask-position: 0 0, 0 0;\n      mask-repeat: repeat-x, repeat;\n      mask-image: linear-gradient(to bottom, white 2em, transparent 3em);\n\n      /* Autoprefixed seem to ignore this one, and also syntax is different */\n      mask-composite: xor;\n      mask-composite: exclude;\n    }\n\n    .attachments {\n      margin-top: 0;\n      flex: 1 1 0;\n      min-width: 5em;\n      height: 100%;\n      margin-left: 0.5em;\n    }\n\n    .summary-wrapper {\n      .summary::after {\n        content: \": \";\n      }\n\n      line-height: inherit;\n      margin: 0;\n      border: none;\n      display: inline-block;\n    }\n\n    .text-wrapper {\n      display: inline-block;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.link-preview-card {\n  display: flex;\n  flex-direction: row;\n  cursor: pointer;\n  overflow: hidden;\n  margin-top: 0.5em;\n\n  .card-image {\n    flex-shrink: 0;\n    width: 120px;\n    max-width: 25%;\n\n    img {\n      width: 100%;\n      height: 100%;\n      object-fit: cover;\n      border-radius: $fallback--attachmentRadius;\n      border-radius: var(--attachmentRadius, $fallback--attachmentRadius);\n    }\n  }\n\n  .card-content {\n    max-height: 100%;\n    margin: 0.5em;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .card-host {\n    font-size: 0.85em;\n  }\n\n  .card-description {\n    margin: 0.5em 0 0;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    word-break: break-word;\n    line-height: 1.2em;\n    // cap description at 3 lines, the 1px is to clean up some stray pixels\n    // TODO: fancier fade-out at the bottom to show off that it's too long?\n    max-height: calc(1.2em * 3 - 1px);\n  }\n\n  .nsfw-alert {\n    margin: 2em 0;\n  }\n\n  color: $fallback--text;\n  color: var(--text, $fallback--text);\n  border-style: solid;\n  border-width: 1px;\n  border-radius: $fallback--attachmentRadius;\n  border-radius: var(--attachmentRadius, $fallback--attachmentRadius);\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n}\n","\n.StatusContent {\n  flex: 1;\n  min-width: 0;\n}\n","\n@import \"../../variables\";\n\n.post-status-form {\n  position: relative;\n\n  .attachments {\n    margin-bottom: 0.5em;\n  }\n\n  .form-bottom {\n    display: flex;\n    justify-content: space-between;\n    padding: 0.5em;\n    height: 2.5em;\n\n    button {\n      width: 10em;\n    }\n\n    p {\n      margin: 0.35em;\n      padding: 0.35em;\n      display: flex;\n    }\n  }\n\n  .form-bottom-left {\n    display: flex;\n    flex: 1;\n    padding-right: 7px;\n    margin-right: 7px;\n    max-width: 10em;\n  }\n\n  .preview-heading {\n    display: flex;\n    padding-left: 0.5em;\n  }\n\n  .preview-toggle {\n    flex: 1;\n    cursor: pointer;\n    user-select: none;\n\n    &:hover {\n      text-decoration: underline;\n    }\n\n    svg,\n    i {\n      margin-left: 0.2em;\n      font-size: 0.8em;\n      transform: rotate(90deg);\n    }\n  }\n\n  .preview-container {\n    margin-bottom: 1em;\n  }\n\n  .preview-error {\n    font-style: italic;\n    color: $fallback--faint;\n    color: var(--faint, $fallback--faint);\n  }\n\n  .preview-status {\n    border: 1px solid $fallback--border;\n    border: 1px solid var(--border, $fallback--border);\n    border-radius: $fallback--tooltipRadius;\n    border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n    padding: 0.5em;\n    margin: 0;\n  }\n\n  .reply-or-quote-selector {\n    margin-bottom: 0.5em;\n  }\n\n  .text-format {\n    .only-format {\n      color: $fallback--faint;\n      color: var(--faint, $fallback--faint);\n    }\n  }\n\n  .visibility-tray {\n    display: flex;\n    justify-content: space-between;\n    padding-top: 5px;\n    align-items: baseline;\n  }\n\n  .visibility-notice.edit-warning {\n    > :first-child {\n      margin-top: 0;\n    }\n\n    > :last-child {\n      margin-bottom: 0;\n    }\n  }\n\n  // Order is not necessary but a good indicator\n  .media-upload-icon {\n    order: 1;\n    justify-content: left;\n  }\n\n  .emoji-icon {\n    order: 2;\n    justify-content: center;\n  }\n\n  .poll-icon {\n    order: 3;\n    justify-content: right;\n  }\n\n  .media-upload-icon,\n  .poll-icon,\n  .emoji-icon {\n    font-size: 1.85em;\n    line-height: 1.1;\n    flex: 1;\n    padding: 0 0.1em;\n    display: flex;\n    align-items: center;\n\n    &.selected,\n    &:hover {\n      // needs to be specific to override icon default color\n      svg,\n      i,\n      label {\n        color: $fallback--lightText;\n        color: var(--lightText, $fallback--lightText);\n      }\n    }\n\n    &.disabled {\n      svg,\n      i {\n        cursor: not-allowed;\n        color: $fallback--icon;\n        color: var(--btnDisabledText, $fallback--icon);\n\n        &:hover {\n          color: $fallback--icon;\n          color: var(--btnDisabledText, $fallback--icon);\n        }\n      }\n    }\n  }\n\n  .error {\n    text-align: center;\n  }\n\n  .media-upload-wrapper {\n    margin-right: 0.2em;\n    margin-bottom: 0.5em;\n    width: 18em;\n\n    img,\n    video {\n      object-fit: contain;\n      max-height: 10em;\n    }\n\n    .video {\n      max-height: 10em;\n    }\n\n    input {\n      flex: 1;\n      width: 100%;\n    }\n  }\n\n  .status-input-wrapper {\n    display: flex;\n    position: relative;\n    width: 100%;\n    flex-direction: column;\n  }\n\n  .btn[disabled] {\n    cursor: not-allowed;\n  }\n\n  form {\n    display: flex;\n    flex-direction: column;\n    margin: 0.6em;\n    position: relative;\n  }\n\n  .form-group {\n    display: flex;\n    flex-direction: column;\n    padding: 0.25em 0.5em 0.5em;\n    line-height: 1.85;\n  }\n\n  .form-post-body {\n    // TODO: make a resizable textarea component?\n    box-sizing: content-box; // needed for easier computation of dynamic size\n    overflow: hidden;\n    transition: min-height 200ms 100ms;\n    // stock padding + 1 line of text (for counter)\n    padding-bottom: calc(var(--_padding) + var(--post-line-height) * 1em);\n    // two lines of text\n    height: calc(var(--post-line-height) * 1em);\n    min-height: calc(var(--post-line-height) * 1em);\n    resize: none;\n\n    &.scrollable-form {\n      overflow-y: auto;\n    }\n  }\n\n  .main-input {\n    position: relative;\n  }\n\n  .character-counter {\n    position: absolute;\n    bottom: 0;\n    right: 0;\n    padding: 0;\n    margin: 0 0.5em;\n\n    &.error {\n      color: $fallback--cRed;\n      color: var(--cRed, $fallback--cRed);\n    }\n  }\n\n  @keyframes fade-in {\n    from { opacity: 0; }\n    to { opacity: 0.6; }\n  }\n\n  @keyframes fade-out {\n    from { opacity: 0.6; }\n    to { opacity: 0; }\n  }\n\n  .drop-indicator {\n    position: absolute;\n    width: 100%;\n    height: 100%;\n    font-size: 5em;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    opacity: 0.6;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n    border-radius: $fallback--tooltipRadius;\n    border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n    border: 2px dashed $fallback--text;\n    border: 2px dashed var(--text, $fallback--text);\n  }\n}\n","\n.remote-follow {\n  max-width: 220px;\n\n  .remote-button {\n    width: 100%;\n    min-height: 2em;\n  }\n}\n","\n@import \"../../variables\";\n\n// TODO: unify with other modals.\n.dark-overlay {\n  &::before {\n    bottom: 0;\n    content: \" \";\n    display: block;\n    cursor: default;\n    left: 0;\n    position: fixed;\n    right: 0;\n    top: 0;\n    background: rgb(27 31 35 / 50%);\n    z-index: 2000;\n  }\n}\n\n.dialog-modal.panel {\n  top: 0;\n  left: 50%;\n  max-height: 80vh;\n  max-width: 90vw;\n  margin: 15vh auto;\n  position: fixed;\n  transform: translateX(-50%);\n  z-index: 2001;\n  cursor: default;\n  display: block;\n  background-color: $fallback--bg;\n  background-color: var(--bg, $fallback--bg);\n\n  .dialog-modal-heading {\n    .title {\n      text-align: center;\n    }\n  }\n\n  .dialog-modal-content {\n    margin: 0;\n    padding: 1rem;\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n    white-space: normal;\n  }\n\n  .dialog-modal-footer {\n    margin: 0;\n    padding: 0.5em;\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n    border-top: 1px solid $fallback--border;\n    border-top: 1px solid var(--border, $fallback--border);\n    display: flex;\n    justify-content: flex-end;\n\n    button {\n      width: auto;\n      margin-left: 0.5rem;\n    }\n  }\n}\n\n","\n@import \"../../variables\";\n\n.moderation-tools-popover {\n  height: 100%;\n\n  .trigger {\n    /* stylelint-disable-next-line declaration-no-important */\n    display: flex !important;\n    height: 100%;\n  }\n}\n\n.moderation-tools-button {\n  svg,\n  i {\n    font-size: 0.8em;\n  }\n}\n","\n@import \"../../variables\";\n\n.AccountActions {\n  .ellipsis-button {\n    width: 2.5em;\n    margin: -0.5em 0;\n    padding: 0.5em 0;\n    text-align: center;\n\n    &:not(:hover) .icon {\n      color: $fallback--lightText;\n      color: var(--lightText, $fallback--lightText);\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.user-note {\n  display: flex;\n  flex-direction: column;\n\n  .heading {\n    display: flex;\n    flex-direction: row;\n    justify-content: space-between;\n    align-items: center;\n    margin-bottom: 0.75em;\n\n    .btn {\n      min-width: 95px;\n    }\n\n    .buttons {\n      display: flex;\n      flex-direction: row;\n      justify-content: right;\n\n      .btn {\n        margin-left: 0.5em;\n      }\n    }\n  }\n\n  .note-text {\n    align-self: stretch;\n  }\n\n  .note-text.-blank {\n    font-style: italic;\n    color: var(--faint, $fallback--faint);\n  }\n}\n","@import \"../../variables\";\n\n.user-card {\n  position: relative;\n  z-index: 1;\n\n  &:hover {\n    --_still-image-img-visibility: visible;\n    --_still-image-canvas-visibility: hidden;\n    --_still-image-label-visibility: hidden;\n  }\n\n  .panel-heading {\n    padding: 0.5em 0;\n    text-align: center;\n    box-shadow: none;\n    background: transparent;\n    flex-direction: column;\n    align-items: stretch;\n    // create new stacking context\n    position: relative;\n  }\n\n  .panel-body {\n    word-wrap: break-word;\n    border-bottom-right-radius: inherit;\n    border-bottom-left-radius: inherit;\n    // create new stacking context\n    position: relative;\n  }\n\n  .background-image {\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    mask:\n      linear-gradient(to top, white, transparent) bottom no-repeat,\n      linear-gradient(to top, white, white);\n    // Autoprefixer seem to ignore this one, and also syntax is different\n    mask-composite: xor;\n    mask-composite: exclude;\n    background-size: cover;\n    mask-size: 100% 60%;\n    border-top-left-radius: calc(var(--__roundnessTop, --panelRadius) - 1px);\n    border-top-right-radius: calc(var(--__roundnessTop, --panelRadius) - 1px);\n    border-bottom-left-radius: calc(var(--__roundnessBottom, --panelRadius) - 1px);\n    border-bottom-right-radius: calc(var(--__roundnessBottom, --panelRadius) - 1px);\n    background-color: var(--profileBg);\n    z-index: -2;\n\n    &.hide-bio {\n      mask-size: 100% 40px;\n    }\n  }\n\n  &-bio {\n    text-align: center;\n    display: block;\n    line-height: 1.3;\n    padding: 1em;\n    margin: 0;\n\n    a {\n      color: $fallback--link;\n      color: var(--postLink, $fallback--link);\n    }\n\n    img {\n      object-fit: contain;\n      vertical-align: middle;\n      max-width: 100%;\n      max-height: 400px;\n    }\n  }\n\n  &.-rounded-t {\n    border-top-left-radius: $fallback--panelRadius;\n    border-top-left-radius: var(--panelRadius, $fallback--panelRadius);\n    border-top-right-radius: $fallback--panelRadius;\n    border-top-right-radius: var(--panelRadius, $fallback--panelRadius);\n\n    --__roundnessTop: var(--panelRadius);\n    --__roundnessBottom: 0;\n  }\n\n  &.-rounded {\n    border-radius: $fallback--panelRadius;\n    border-radius: var(--panelRadius, $fallback--panelRadius);\n\n    --__roundnessTop: var(--panelRadius);\n    --__roundnessBottom: var(--panelRadius);\n  }\n\n  &.-popover {\n    border-radius: $fallback--tooltipRadius;\n    border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n\n    --__roundnessTop: var(--tooltipRadius);\n    --__roundnessBottom: var(--tooltipRadius);\n  }\n\n  &.-bordered {\n    border-width: 1px;\n    border-style: solid;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n  }\n}\n\n.user-info {\n  color: $fallback--lightText;\n  color: var(--lightText, $fallback--lightText);\n  padding: 0 26px;\n\n  a {\n    color: $fallback--lightText;\n    color: var(--lightText, $fallback--lightText);\n\n    &:hover {\n      color: var(--icon);\n    }\n  }\n\n  .container {\n    min-width: 0;\n    padding: 16px 0 6px;\n    display: flex;\n    align-items: flex-start;\n    max-height: 56px;\n\n    > * {\n      min-width: 0;\n    }\n\n    > a {\n      vertical-align: middle;\n      display: flex;\n    }\n\n    .Avatar {\n      --_avatarShadowBox: var(--avatarShadow);\n      --_avatarShadowFilter: var(--avatarShadowFilter);\n      --_avatarShadowInset: var(--avatarShadowInset);\n\n      width: 56px;\n      height: 56px;\n      object-fit: cover;\n    }\n  }\n\n  &-avatar {\n    position: relative;\n    cursor: pointer;\n\n    &.-overlay {\n      position: absolute;\n      left: 0;\n      top: 0;\n      right: 0;\n      bottom: 0;\n      background-color: rgb(0 0 0 / 30%);\n      display: flex;\n      justify-content: center;\n      align-items: center;\n      border-radius: $fallback--avatarRadius;\n      border-radius: var(--avatarRadius, $fallback--avatarRadius);\n      opacity: 0;\n      transition: opacity 0.2s ease;\n\n      svg {\n        color: #fff;\n      }\n    }\n\n    &:hover &.-overlay {\n      opacity: 1;\n    }\n  }\n\n  .external-link-button,\n  .edit-profile-button {\n    cursor: pointer;\n    width: 2.5em;\n    text-align: center;\n    margin: -0.5em 0;\n    padding: 0.5em 0;\n\n    &:not(:hover) .icon {\n      color: $fallback--lightText;\n      color: var(--lightText, $fallback--lightText);\n    }\n  }\n\n  .bottom-line {\n    font-weight: light;\n    font-size: 1.1em;\n    align-items: baseline;\n\n    .lock-icon {\n      margin-left: 0.5em;\n    }\n\n    .user-screen-name {\n      min-width: 1px;\n      flex: 0 1 auto;\n      text-overflow: ellipsis;\n      overflow: hidden;\n    }\n\n    .dailyAvg {\n      min-width: 1px;\n      flex: 0 0 auto;\n      margin-left: 1em;\n      font-size: 0.7em;\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n\n    .user-role {\n      flex: none;\n      color: $fallback--text;\n      color: var(--alertNeutralText, $fallback--text);\n      background-color: $fallback--fg;\n      background-color: var(--alertNeutral, $fallback--fg);\n    }\n  }\n\n  .user-summary {\n    display: block;\n    margin-left: 0.6em;\n    text-align: left;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    flex: 1 1 0;\n    // This is so that text doesn't get overlapped by avatar's shadow if it has\n    // big one\n    z-index: 1;\n    line-height: 2em;\n\n    --emoji-size: 1.7em;\n\n    .top-line,\n    .bottom-line {\n      display: flex;\n    }\n  }\n\n  .user-name {\n    text-overflow: ellipsis;\n    overflow: hidden;\n    flex: 1 1 auto;\n    margin-right: 1em;\n    font-size: 1.1em;\n  }\n\n  .user-meta {\n    margin-bottom: 0.15em;\n    display: flex;\n    align-items: baseline;\n    line-height: 22px;\n    flex-wrap: wrap;\n\n    .following {\n      flex: 1 0 auto;\n      margin: 0;\n      margin-bottom: 0.25em;\n      text-align: left;\n    }\n\n    .highlighter {\n      flex: 0 1 auto;\n      display: flex;\n      flex-wrap: wrap;\n      margin-right: -0.5em;\n      align-self: start;\n\n      .userHighlightCl {\n        padding: 2px 10px;\n        flex: 1 0 auto;\n      }\n\n      .userHighlightSel {\n        padding-top: 0;\n        padding-bottom: 0;\n        flex: 1 0 auto;\n      }\n\n      .userHighlightText {\n        width: 70px;\n        flex: 1 0 auto;\n      }\n\n      .userHighlightCl,\n      .userHighlightText,\n      .userHighlightSel {\n        vertical-align: top;\n        margin-right: 0.5em;\n        margin-bottom: 0.25em;\n      }\n    }\n  }\n\n  .user-interactions {\n    position: relative;\n    display: flex;\n    flex-flow: row wrap;\n    margin-right: -0.75em;\n\n    > * {\n      margin: 0 0.75em 0.6em 0;\n      white-space: nowrap;\n      min-width: 95px;\n    }\n\n    button {\n      margin: 0;\n    }\n  }\n\n  .user-note {\n    margin: 0 0.75em 0.6em 0;\n  }\n}\n\n.sidebar .edit-profile-button {\n  display: none;\n}\n\n.user-counts {\n  display: flex;\n  line-height: 16px;\n  padding: 0.5em 1.5em 0;\n  text-align: center;\n  justify-content: space-between;\n  color: $fallback--lightText;\n  color: var(--lightText, $fallback--lightText);\n  flex-wrap: wrap;\n}\n\n.user-count {\n  flex: 1 0 auto;\n  padding: 0.5em 0;\n  margin: 0 0.5em;\n\n  h5 {\n    font-size: 1em;\n    font-weight: bolder;\n    margin: 0 0 0.25em;\n  }\n\n  /* stylelint-disable-next-line no-descending-specificity */\n  a {\n    text-decoration: none;\n  }\n}\n\n.mute-expiry {\n  display: flex;\n  flex-direction: row;\n}\n","\n.user-panel .signed-in {\n  overflow: visible;\n  z-index: 10;\n}\n","\n@import \"../../variables\";\n\n.NavigationEntry {\n  display: flex;\n  box-sizing: border-box;\n  align-items: baseline;\n  height: 3.5em;\n  line-height: 3.5em;\n  padding: 0 1em;\n  width: 100%;\n  color: $fallback--link;\n  color: var(--link, $fallback--link);\n\n  .timelines-chevron {\n    margin-right: 0;\n  }\n\n  .main-link {\n    flex: 1;\n  }\n\n  .menu-icon {\n    margin-right: 0.8em;\n  }\n\n  .extra-button {\n    width: 3em;\n    text-align: center;\n\n    &:last-child {\n      margin-right: -0.8em;\n    }\n  }\n\n  &:hover {\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedMenu, $fallback--lightBg);\n    color: $fallback--link;\n    color: var(--selectedMenuText, $fallback--link);\n\n    --faint: var(--selectedMenuFaintText, $fallback--faint);\n    --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n    --lightText: var(--selectedMenuLightText, $fallback--lightText);\n\n    .menu-icon {\n      --icon: var(--text, $fallback--icon);\n    }\n  }\n\n  &.-active {\n    font-weight: bolder;\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedMenu, $fallback--lightBg);\n    color: $fallback--text;\n    color: var(--selectedMenuText, $fallback--text);\n\n    --faint: var(--selectedMenuFaintText, $fallback--faint);\n    --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n    --lightText: var(--selectedMenuLightText, $fallback--lightText);\n\n    .menu-icon {\n      --icon: var(--text, $fallback--icon);\n    }\n\n    &:hover {\n      text-decoration: underline;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.NavigationPins {\n  display: flex;\n  flex-wrap: wrap;\n  overflow: hidden;\n  height: 100%;\n\n  .alert-dot {\n    border-radius: 100%;\n    height: 0.5em;\n    width: 0.5em;\n    position: absolute;\n    right: calc(50% - 0.75em);\n    top: calc(50% - 0.5em);\n    background-color: $fallback--cRed;\n    background-color: var(--badgeNotification, $fallback--cRed);\n  }\n\n  .pinned-item {\n    position: relative;\n    flex: 1 0 3em;\n    min-width: 2em;\n    text-align: center;\n    overflow: visible;\n    box-sizing: border-box;\n    height: 100%;\n\n    & .svg-inline--fa,\n    & .iconLetter {\n      margin: 0;\n    }\n\n    &.router-link-active {\n      color: $fallback--text;\n      color: var(--panelText, $fallback--text);\n      border-bottom: 4px solid;\n\n      & .svg-inline--fa,\n      & .iconLetter {\n        color: inherit;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.NavPanel {\n  .panel {\n    overflow: hidden;\n    box-shadow: var(--panelShadow);\n  }\n\n  ul {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n  }\n\n  li {\n    position: relative;\n    border-bottom: 1px solid;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n  }\n\n  > li {\n    &:first-child .menu-item {\n      border-top-right-radius: $fallback--panelRadius;\n      border-top-right-radius: var(--panelRadius, $fallback--panelRadius);\n      border-top-left-radius: $fallback--panelRadius;\n      border-top-left-radius: var(--panelRadius, $fallback--panelRadius);\n    }\n\n    &:last-child .menu-item {\n      border-bottom-right-radius: $fallback--panelRadius;\n      border-bottom-right-radius: var(--panelRadius, $fallback--panelRadius);\n      border-bottom-left-radius: $fallback--panelRadius;\n      border-bottom-left-radius: var(--panelRadius, $fallback--panelRadius);\n    }\n  }\n\n  li:last-child {\n    border: none;\n  }\n\n  .navigation-chevron {\n    margin-left: 0.8em;\n    margin-right: 0.8em;\n    font-size: 1.1em;\n  }\n\n  .timelines-chevron {\n    margin-left: 0.8em;\n    font-size: 1.1em;\n  }\n\n  .timelines-background {\n    padding: 0 0 0 0.6em;\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedMenu, $fallback--lightBg);\n    border-bottom: 1px solid;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n  }\n\n  .timelines {\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n  }\n\n  .nav-panel-heading {\n    // breaks without a unit\n    // stylelint-disable-next-line length-zero-no-unit\n    --panel-heading-height-padding: 0px;\n  }\n}\n","\n  .features-panel li {\n    line-height: 24px;\n  }\n","\n  .who-to-follow * {\n    vertical-align: middle;\n  }\n\n  .who-to-follow img {\n    width: 32px;\n    height: 32px;\n  }\n\n  .who-to-follow {\n    padding: 0 1em;\n    margin: 0;\n  }\n\n  .who-to-follow-items {\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    padding: 0;\n    margin: 1em 0;\n  }\n\n  .who-to-follow-more {\n    padding: 0;\n    margin: 1em 0;\n    text-align: center;\n  }\n","\n@import \"../../variables\";\n\n.floating-shout {\n  position: fixed;\n  bottom: 0.5em;\n  z-index: var(--ZI_popovers);\n  max-width: 25em;\n\n  &.-left {\n    left: 0.5em;\n  }\n\n  &:not(.-left) {\n    right: 0.5em;\n  }\n}\n\n.shout-panel {\n  .shout-heading {\n    cursor: pointer;\n\n    .icon {\n      color: $fallback--text;\n      color: var(--panelText, $fallback--text);\n      margin-right: 0.5em;\n    }\n\n    .title {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n    }\n  }\n\n  .shout-window {\n    overflow-y: auto;\n    overflow-x: hidden;\n    max-height: 20em;\n  }\n\n  .shout-window-container {\n    height: 100%;\n  }\n\n  .shout-message {\n    display: flex;\n    padding: 0.2em 0.5em;\n  }\n\n  .shout-avatar {\n    img {\n      height: 24px;\n      width: 24px;\n      border-radius: $fallback--avatarRadius;\n      border-radius: var(--avatarRadius, $fallback--avatarRadius);\n      margin-right: 0.5em;\n      margin-top: 0.25em;\n    }\n  }\n\n  .shout-input {\n    display: flex;\n\n    textarea {\n      flex: 1;\n      margin: 0.6em;\n      min-height: 3.5em;\n      resize: none;\n    }\n  }\n\n  .shout-panel {\n    .title {\n      display: flex;\n      justify-content: space-between;\n    }\n  }\n}\n","\n$modal-view-button-icon-height: 3em;\n$modal-view-button-icon-half-height: calc(#{$modal-view-button-icon-height} / 2);\n$modal-view-button-icon-width: 3em;\n$modal-view-button-icon-margin: 0.5em;\n\n.media-modal-view {\n  @keyframes media-fadein {\n    from {\n      opacity: 0;\n    }\n\n    to {\n      opacity: 1;\n    }\n  }\n\n  .modal-image-container {\n    display: flex;\n    overflow: hidden;\n    align-items: center;\n    flex-direction: column;\n    max-width: 100%;\n    max-height: 100%;\n    width: 100%;\n    height: 100%;\n    flex-grow: 1;\n    justify-content: center;\n\n    &-inner {\n      width: 100%;\n      height: 100%;\n      flex-grow: 1;\n      display: flex;\n      flex-direction: column;\n      align-items: center;\n      justify-content: center;\n    }\n  }\n\n  .description,\n  .counter {\n    /* Hardcoded since background is also hardcoded */\n    color: white;\n    margin-top: 1em;\n    text-shadow: 0 0 10px black, 0 0 10px black;\n    padding: 0.2em 2em;\n  }\n\n  .description {\n    flex: 0 0 auto;\n    overflow-y: auto;\n    min-height: 1em;\n    max-width: 500px;\n    max-height: 9.5em;\n    word-break: break-all;\n  }\n\n  .modal-image {\n    max-width: 100%;\n    max-height: 100%;\n    image-orientation: from-image; // NOTE: only FF supports this\n    animation: 0.1s cubic-bezier(0.7, 0, 1, 0.6) media-fadein;\n\n    &.loading {\n      opacity: 0.5;\n    }\n  }\n\n  .loading-spinner {\n    width: 100%;\n    height: 100%;\n    position: absolute;\n    pointer-events: none;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n\n    svg {\n      color: white;\n    }\n  }\n\n  .modal-view-button {\n    border: 0;\n    padding: 0;\n    opacity: 0;\n    box-shadow: none;\n    background: none;\n    appearance: none;\n    overflow: visible;\n    cursor: pointer;\n    transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);\n    height: $modal-view-button-icon-height;\n    width: $modal-view-button-icon-width;\n\n    .button-icon {\n      position: absolute;\n      height: $modal-view-button-icon-height;\n      width: $modal-view-button-icon-width;\n      font-size: 1rem;\n      line-height: $modal-view-button-icon-height;\n      color: #fff;\n      text-align: center;\n      background-color: rgb(0 0 0 / 30%);\n    }\n  }\n\n  .modal-view-button-arrow {\n    position: absolute;\n    display: block;\n    top: 50%;\n    margin-top: $modal-view-button-icon-half-height;\n    width: $modal-view-button-icon-width;\n    height: $modal-view-button-icon-height;\n\n    .arrow-icon {\n      position: absolute;\n      top: 0;\n      line-height: $modal-view-button-icon-height;\n      color: #fff;\n      text-align: center;\n      background-color: rgb(0 0 0 / 30%);\n    }\n\n    &--prev {\n      left: 0;\n\n      .arrow-icon {\n        left: $modal-view-button-icon-margin;\n      }\n    }\n\n    &--next {\n      right: 0;\n\n      .arrow-icon {\n        right: $modal-view-button-icon-margin;\n      }\n    }\n  }\n\n  .modal-view-button-hide {\n    position: absolute;\n    top: 0;\n    right: 0;\n\n    .button-icon {\n      top: $modal-view-button-icon-margin;\n      right: $modal-view-button-icon-margin;\n    }\n  }\n}\n\n.modal-view.media-modal-view {\n  z-index: var(--ZI_media_modal);\n  flex-direction: column;\n\n  .modal-view-button-arrow,\n  .modal-view-button-hide {\n    opacity: 0.75;\n\n    &:focus,\n    &:hover {\n      outline: none;\n      box-shadow: none;\n    }\n\n    &:hover {\n      opacity: 1;\n    }\n  }\n\n  overflow: hidden;\n}\n","\n@import \"../../variables\";\n\n.side-drawer-container {\n  position: fixed;\n  z-index: var(--ZI_navbar);\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: stretch;\n  transition-duration: 0s;\n  transition-property: transform;\n}\n\n.side-drawer-container-open {\n  transform: translate(0%);\n}\n\n.side-drawer-container-closed {\n  transition-delay: 0.35s;\n  transform: translate(-100%);\n}\n\n.side-drawer-darken {\n  top: 0;\n  left: 0;\n  width: 100vw;\n  height: 100vh;\n  position: fixed;\n  z-index: -1;\n  transition: 0.35s;\n  transition-property: background-color;\n  background-color: rgb(0 0 0 / 50%);\n}\n\n.side-drawer-darken-closed {\n  background-color: rgb(0 0 0 / 0%);\n}\n\n.side-drawer-click-outside {\n  flex: 1 1 100%;\n}\n\n.side-drawer {\n  overflow-x: hidden;\n  transition: 0.35s;\n  transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\n  transition-property: transform;\n  margin: 0 0 0 -100px;\n  padding: 0 0 1em 100px;\n  width: 80%;\n  max-width: 20em;\n  flex: 0 0 80%;\n  box-shadow: 1px 1px 4px rgb(0 0 0 / 60%);\n  box-shadow: var(--panelShadow);\n  background-color: $fallback--bg;\n  background-color: var(--popover, $fallback--bg);\n  color: $fallback--link;\n  color: var(--popoverText, $fallback--link);\n\n  --faint: var(--popoverFaintText, $fallback--faint);\n  --faintLink: var(--popoverFaintLink, $fallback--faint);\n  --lightText: var(--popoverLightText, $fallback--lightText);\n  --icon: var(--popoverIcon, $fallback--icon);\n\n  .badge {\n    margin-left: 10px;\n  }\n}\n\n.side-drawer-logo-wrapper {\n  display: flex;\n  align-items: center;\n  padding: 0.85em;\n\n  img {\n    flex: none;\n    height: 50px;\n    margin-right: 0.85em;\n  }\n\n  span {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.side-drawer-click-outside-closed {\n  flex: 0 0 0;\n}\n\n.side-drawer-closed {\n  transform: translate(-100%);\n}\n\n.side-drawer-heading {\n  background: transparent;\n  flex-direction: column;\n  align-items: stretch;\n  display: flex;\n  padding: 0;\n  margin: 0;\n}\n\n.side-drawer ul {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n  border-bottom: 1px solid;\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n}\n\n.side-drawer ul:last-child {\n  border: 0;\n}\n\n.side-drawer li {\n  padding: 0;\n\n  a,\n  button {\n    box-sizing: border-box;\n    display: block;\n    height: 3em;\n    line-height: 3em;\n    padding: 0 0.7em;\n\n    &:hover {\n      background-color: $fallback--lightBg;\n      background-color: var(--selectedMenuPopover, $fallback--lightBg);\n      color: $fallback--text;\n      color: var(--selectedMenuPopoverText, $fallback--text);\n\n      --faint: var(--selectedMenuPopoverFaintText, $fallback--faint);\n      --faintLink: var(--selectedMenuPopoverFaintLink, $fallback--faint);\n      --lightText: var(--selectedMenuPopoverLightText, $fallback--lightText);\n      --icon: var(--selectedMenuPopoverIcon, $fallback--icon);\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.MobilePostButton {\n  &.button-default {\n    width: 5em;\n    height: 5em;\n    border-radius: 100%;\n    position: fixed;\n    bottom: 1.5em;\n    right: 1.5em;\n    // TODO: this needs its own color, it has to stand out enough and link color\n    // is not very optimal for this particular use.\n    background-color: $fallback--fg;\n    background-color: var(--btn, $fallback--fg);\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    box-shadow: 0 2px 2px rgb(0 0 0 / 30%), 0 4px 6px rgb(0 0 0 / 30%);\n    z-index: 10;\n    transition: 0.35s transform;\n    transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\n  }\n\n  &.hidden {\n    transform: translateY(150%);\n  }\n\n  svg {\n    font-size: 1.5em;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n  }\n}\n\n@media all and (min-width: 801px) {\n  .new-status-button:not(.always-show) {\n    display: none;\n  }\n}\n\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.ReplyButton {\n  display: flex;\n\n  > :first-child {\n    padding: 10px;\n    margin: -10px -8px -10px -10px;\n  }\n\n  .action-counter {\n    pointer-events: none;\n    user-select: none;\n  }\n\n  .interactive {\n    &:hover .svg-inline--fa,\n    &.-active .svg-inline--fa {\n      color: $fallback--cBlue;\n      color: var(--cBlue, $fallback--cBlue);\n    }\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n    }\n\n    @include focused-style {\n      .focus-marker {\n        visibility: visible;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.FavoriteButton {\n  display: flex;\n\n  > :first-child {\n    padding: 10px;\n    margin: -10px -8px -10px -10px;\n  }\n\n  .action-counter {\n    pointer-events: none;\n    user-select: none;\n  }\n\n  .interactive {\n    .svg-inline--fa {\n      animation-duration: 0.6s;\n    }\n\n    &:hover .svg-inline--fa,\n    &.-favorited .svg-inline--fa {\n      color: $fallback--cOrange;\n      color: var(--cOrange, $fallback--cOrange);\n    }\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n\n      .active-marker {\n        visibility: visible;\n      }\n    }\n\n    @include focused-style {\n      .focus-marker {\n        visibility: visible;\n      }\n\n      .active-marker {\n        visibility: hidden;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.ReactButton {\n  .reaction-picker-filter {\n    padding: 0.5em;\n    display: flex;\n\n    input {\n      flex: 1;\n    }\n  }\n\n  .reaction-picker-divider {\n    height: 1px;\n    width: 100%;\n    margin: 0.5em;\n    background-color: var(--border, $fallback--border);\n  }\n\n  .reaction-picker {\n    width: 10em;\n    height: 9em;\n    font-size: 1.5em;\n    overflow-y: scroll;\n    display: flex;\n    flex-wrap: wrap;\n    padding: 0.5em;\n    text-align: center;\n    align-content: flex-start;\n    user-select: none;\n    mask:\n      linear-gradient(to top, white 0, transparent 100%) bottom no-repeat,\n      linear-gradient(to bottom, white 0, transparent 100%) top no-repeat,\n      linear-gradient(to top, white, white);\n    transition: mask-size 150ms;\n    mask-size: 100% 20px, 100% 20px, auto;\n\n    /* Autoprefixed seem to ignore this one, and also syntax is different */\n    mask-composite: xor;\n    mask-composite: exclude;\n\n    .emoji-button {\n      cursor: pointer;\n      flex-basis: 20%;\n      line-height: 1.5;\n      align-content: center;\n\n      &:hover {\n        transform: scale(1.25);\n      }\n    }\n  }\n\n  .popover-trigger {\n    padding: 10px;\n    margin: -10px;\n\n    &:hover .svg-inline--fa {\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n    }\n\n    @include focused-style {\n      .focus-marker {\n        visibility: visible;\n      }\n    }\n  }\n}\n\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.RetweetButton {\n  display: flex;\n\n  > :first-child {\n    padding: 10px;\n    margin: -10px -8px -10px -10px;\n  }\n\n  .action-counter {\n    pointer-events: none;\n    user-select: none;\n  }\n\n  .interactive {\n    .svg-inline--fa {\n      animation-duration: 0.6s;\n    }\n\n    &:hover .svg-inline--fa,\n    &.-repeated .svg-inline--fa {\n      color: $fallback--cGreen;\n      color: var(--cGreen, $fallback--cGreen);\n    }\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n\n      .active-marker {\n        visibility: visible;\n      }\n    }\n\n    @include focused-style {\n      .focus-marker {\n        visibility: visible;\n      }\n\n      .active-marker {\n        visibility: hidden;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.ExtraButtons {\n  .popover-trigger {\n    position: static;\n    padding: 10px;\n    margin: -10px;\n\n    &:hover .svg-inline--fa {\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n  }\n\n  .popover-trigger-button {\n    /* override of popover internal stuff */\n    width: auto;\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n    }\n\n    @include focused-style {\n      .focus-marker {\n        visibility: visible;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.avatars {\n  display: flex;\n  margin: 0;\n  padding: 0;\n\n  // For hiding overflowing elements\n  flex-wrap: wrap;\n  height: 24px;\n\n  .avatars-item {\n    margin: 0 0 5px 5px;\n\n    &:first-child {\n      padding-left: 5px;\n    }\n\n    .avatar-small {\n      border-radius: $fallback--avatarAltRadius;\n      border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n      height: 24px;\n      width: 24px;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n/* popover styles load on-demand, so we need to override */\n.status-popover.popover {\n  font-size: 1rem;\n  min-width: 15em;\n  max-width: 95%;\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n  border-style: solid;\n  border-width: 1px;\n  border-radius: $fallback--tooltipRadius;\n  border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n\n  /* TODO cleanup this */\n  .Status.Status {\n    border: none;\n  }\n\n  .status-preview-no-content {\n    padding: 1em;\n    text-align: center;\n\n    i {\n      font-size: 2em;\n    }\n  }\n}\n\n","\n@import \"../../variables\";\n\n.user-list-popover {\n  padding: 0.5em;\n\n  --emoji-size: 16px;\n\n  .user-list-row {\n    padding: 0.25em;\n    display: flex;\n    flex-direction: row;\n\n    .user-list-names {\n      display: flex;\n      flex-direction: column;\n      margin-left: 0.5em;\n      min-width: 5em;\n\n      img {\n        width: 1em;\n        height: 1em;\n      }\n    }\n\n    .user-list-screen-name {\n      font-size: 0.65em;\n    }\n  }\n}\n\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.EmojiReactions {\n  display: flex;\n  margin-top: 0.25em;\n  flex-wrap: wrap;\n\n  --emoji-size: calc(1.25em * var(--emojiReactionsScale, 1));\n\n  .emoji-reaction-container {\n    display: flex;\n    align-items: stretch;\n    margin-top: 0.5em;\n    margin-right: 0.5em;\n\n    .emoji-reaction-popover {\n      padding: 0;\n\n      .emoji-reaction-count-button {\n        background-color: var(--btn);\n        margin: 0;\n        height: 100%;\n        border-top-left-radius: 0;\n        border-bottom-left-radius: 0;\n        box-sizing: border-box;\n        min-width: 2em;\n        display: inline-flex;\n        justify-content: center;\n        align-items: center;\n        color: $fallback--text;\n        color: var(--btnText, $fallback--text);\n\n        &.-picked-reaction {\n          border: 1px solid var(--accent, $fallback--link);\n          margin-right: -1px;\n        }\n      }\n    }\n  }\n\n  .emoji-reaction {\n    padding-left: 0.5em;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-sizing: border-box;\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n    margin: 0;\n\n    .reaction-emoji {\n      width: var(--emoji-size);\n      height: var(--emoji-size);\n      margin-right: 0.25em;\n      line-height: var(--emoji-size);\n      display: flex;\n      justify-content: center;\n      align-items: center;\n    }\n\n    .reaction-emoji-content {\n      max-width: 100%;\n      max-height: 100%;\n      width: auto;\n      height: auto;\n      line-height: inherit;\n      overflow: hidden;\n      font-size: calc(var(--emoji-size) * 0.8);\n      margin: 0;\n    }\n\n    &:focus {\n      outline: none;\n    }\n\n    .svg-inline--fa {\n      color: $fallback--text;\n      color: var(--btnText, $fallback--text);\n    }\n\n    &.-picked-reaction {\n      border: 1px solid var(--accent, $fallback--link);\n      margin-left: -1px; // offset the border, can't use inset shadows either\n      margin-right: -1px;\n\n      .svg-inline--fa {\n        color: $fallback--link;\n        color: var(--accent, $fallback--link);\n      }\n    }\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n\n      .active-marker {\n        visibility: visible;\n      }\n    }\n\n    @include focused-style {\n      .svg-inline--fa {\n        color: $fallback--link;\n        color: var(--accent, $fallback--link);\n      }\n\n      .focus-marker {\n        visibility: visible;\n      }\n\n      .active-marker {\n        visibility: hidden;\n      }\n    }\n  }\n\n  .emoji-reaction-expand {\n    padding: 0 0.5em;\n    margin-right: 0.5em;\n    margin-top: 0.5em;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n\n    &:hover {\n      text-decoration: underline;\n    }\n  }\n}\n","@import \"../../variables\";\n\n.Status {\n  min-width: 0;\n  white-space: normal;\n  word-wrap: break-word;\n  word-break: break-word;\n\n  &:hover {\n    --_still-image-img-visibility: visible;\n    --_still-image-canvas-visibility: hidden;\n    --_still-image-label-visibility: hidden;\n  }\n\n  &.-focused {\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedPost, $fallback--lightBg);\n    color: $fallback--text;\n    color: var(--selectedPostText, $fallback--text);\n\n    --lightText: var(--selectedPostLightText, $fallback--light);\n    --faint: var(--selectedPostFaintText, $fallback--faint);\n    --faintLink: var(--selectedPostFaintLink, $fallback--faint);\n    --postLink: var(--selectedPostPostLink, $fallback--faint);\n    --postFaintLink: var(--selectedPostFaintPostLink, $fallback--faint);\n    --icon: var(--selectedPostIcon, $fallback--icon);\n  }\n\n  .gravestone {\n    padding: var(--status-margin, $status-margin);\n    color: $fallback--faint;\n    color: var(--faint, $fallback--faint);\n    display: flex;\n\n    .deleted-text {\n      margin: 0.5em 0;\n      align-items: center;\n    }\n  }\n\n  .status-container {\n    display: flex;\n    padding: var(--status-margin, $status-margin);\n\n    > * {\n      min-width: 0;\n    }\n\n    &.-repeat {\n      padding-top: 0;\n    }\n  }\n\n  .pin {\n    padding: var(--status-margin, $status-margin) var(--status-margin, $status-margin) 0;\n    display: flex;\n    align-items: center;\n    justify-content: flex-end;\n  }\n\n  ._misclick-prevention & {\n    pointer-events: none;\n\n    .attachments {\n      pointer-events: initial;\n      cursor: initial;\n    }\n  }\n\n  .left-side {\n    margin-right: var(--status-margin, $status-margin);\n  }\n\n  .right-side {\n    flex: 1;\n    min-width: 0;\n  }\n\n  .usercard {\n    margin-bottom: var(--status-margin, $status-margin);\n  }\n\n  .status-username {\n    white-space: nowrap;\n    overflow: hidden;\n    max-width: 85%;\n    font-weight: bold;\n    flex-shrink: 1;\n    margin-right: 0.4em;\n    text-overflow: ellipsis;\n\n    --_still_image-label-scale: 0.25;\n    --emoji-size: 14px;\n  }\n\n  .status-favicon {\n    height: 18px;\n    width: 18px;\n    margin-right: 0.4em;\n  }\n\n  .status-heading {\n    margin-bottom: 0.5em;\n  }\n\n  .heading-name-row {\n    display: flex;\n    justify-content: space-between;\n    line-height: 1.3;\n\n    a {\n      display: inline-block;\n      word-break: break-all;\n    }\n  }\n\n  .account-name {\n    min-width: 1.6em;\n    margin-right: 0.4em;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    flex: 1 1 0;\n  }\n\n  .heading-left {\n    display: flex;\n    min-width: 0;\n  }\n\n  .heading-right {\n    display: flex;\n    flex-shrink: 0;\n\n    .button-unstyled {\n      padding: 5px;\n      margin: -5px;\n\n      &:hover svg {\n        color: $fallback--lightText;\n        color: var(--lightText, $fallback--lightText);\n      }\n    }\n\n    .svg-inline--fa {\n      margin-left: 0.25em;\n    }\n  }\n\n  .glued-label {\n    display: inline-flex;\n    white-space: nowrap;\n  }\n\n  .timeago {\n    margin-right: 0.2em;\n  }\n\n  & .heading-reply-row,\n  & .heading-edited-row {\n    position: relative;\n    align-content: baseline;\n    font-size: 0.85em;\n    margin-top: 0.2em;\n    line-height: 130%;\n    max-width: 100%;\n    align-items: stretch;\n  }\n\n  & .reply-to-popover,\n  & .reply-to-no-popover,\n  & .mentions {\n    min-width: 0;\n    margin-right: 0.4em;\n    flex-shrink: 0;\n  }\n\n  .reply-glued-label {\n    margin-right: 0.5em;\n  }\n\n  .reply-to-popover {\n    .reply-to:hover::before {\n      content: \"\";\n      display: block;\n      position: absolute;\n      bottom: 0;\n      width: 100%;\n      border-bottom: 1px solid var(--faint);\n      pointer-events: none;\n    }\n\n    .faint-link:hover {\n      // override default\n      text-decoration: none;\n    }\n\n    &.-strikethrough {\n      .reply-to::after {\n        content: \"\";\n        display: block;\n        position: absolute;\n        top: 50%;\n        width: 100%;\n        border-bottom: 1px solid var(--faint);\n        pointer-events: none;\n      }\n    }\n  }\n\n  & .mentions,\n  & .reply-to {\n    white-space: nowrap;\n    position: relative;\n  }\n\n  & .mentions-text,\n  & .reply-to-text {\n    color: var(--faint);\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  .mentions-line {\n    display: inline;\n  }\n\n  .replies {\n    margin-top: 0.25em;\n    line-height: 1.3;\n    font-size: 0.85em;\n    display: flex;\n    flex-wrap: wrap;\n\n    & > * {\n      margin-right: 0.4em;\n    }\n  }\n\n  .reply-link {\n    height: 17px;\n  }\n\n  .repeat-info {\n    padding: 0.4em var(--status-margin, $status-margin);\n\n    .repeat-icon {\n      color: $fallback--cGreen;\n      color: var(--cGreen, $fallback--cGreen);\n    }\n  }\n\n  .repeater-avatar {\n    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n    margin-left: 28px;\n    width: 20px;\n    height: 20px;\n  }\n\n  .repeater-name {\n    text-overflow: ellipsis;\n    margin-right: 0;\n\n    .emoji {\n      width: 14px;\n      height: 14px;\n      vertical-align: middle;\n      object-fit: contain;\n    }\n  }\n\n  .status-fadein {\n    animation-duration: 0.4s;\n    animation-name: fadein;\n  }\n\n  @keyframes fadein {\n    from {\n      opacity: 0;\n    }\n\n    to {\n      opacity: 1;\n    }\n  }\n\n  .status-actions {\n    position: relative;\n    width: 100%;\n    display: flex;\n    margin-top: var(--status-margin, $status-margin);\n\n    > * {\n      max-width: 4em;\n      flex: 1;\n    }\n  }\n\n  .muted {\n    padding: 0.25em 0.6em;\n    height: 1.2em;\n    line-height: 1.2em;\n    text-overflow: ellipsis;\n    overflow: hidden;\n    display: flex;\n    flex-wrap: nowrap;\n\n    & .status-username,\n    & .mute-thread,\n    & .mute-words {\n      word-wrap: normal;\n      word-break: normal;\n      white-space: nowrap;\n    }\n\n    & .status-username,\n    & .mute-words {\n      text-overflow: ellipsis;\n      overflow: hidden;\n    }\n\n    .status-username {\n      font-weight: normal;\n      flex: 0 1 auto;\n      margin-right: 0.2em;\n      font-size: smaller;\n    }\n\n    .mute-thread {\n      flex: 0 0 auto;\n    }\n\n    .mute-words {\n      flex: 1 0 5em;\n      margin-left: 0.2em;\n\n      &::before {\n        content: \" \";\n      }\n    }\n\n    .unmute {\n      flex: 0 0 auto;\n      margin-left: auto;\n      display: block;\n    }\n  }\n\n  .reply-form {\n    padding-top: 0;\n    padding-bottom: 0;\n  }\n\n  .reply-body {\n    flex: 1;\n  }\n\n  .favs-repeated-users {\n    margin-top: var(--status-margin, $status-margin);\n  }\n\n  .stats {\n    width: 100%;\n    display: flex;\n    line-height: 1em;\n  }\n\n  .avatar-row {\n    flex: 1;\n    overflow: hidden;\n    position: relative;\n    display: flex;\n    align-items: center;\n\n    &::before {\n      content: \"\";\n      position: absolute;\n      height: 100%;\n      width: 1px;\n      left: 0;\n      background-color: var(--faint, $fallback--faint);\n    }\n  }\n\n  .stat-count {\n    margin-right: var(--status-margin, $status-margin);\n    user-select: none;\n\n    .stat-title {\n      color: var(--faint, $fallback--faint);\n      font-size: 0.85em;\n      text-transform: uppercase;\n      position: relative;\n    }\n\n    .stat-number {\n      font-weight: bolder;\n      font-size: 1.1em;\n      line-height: 1em;\n    }\n\n    &:hover .stat-title {\n      text-decoration: underline;\n    }\n  }\n\n  @media all and (max-width: 800px) {\n    .repeater-avatar {\n      margin-left: 20px;\n    }\n\n    .post-avatar {\n      width: 40px;\n      height: 40px;\n\n      // TODO define those other way somehow?\n      // stylelint-disable rscss/class-format\n      &.-compact {\n        width: 32px;\n        height: 32px;\n      }\n    }\n  }\n\n  .quoted-status {\n    margin-top: 0.5em;\n    border: 1px solid var(--border, $fallback--border);\n    border-radius: var(--attachmentRadius, $fallback--attachmentRadius);\n\n    &.-unavailable-prompt {\n      padding: 0.5em;\n    }\n  }\n\n  .display-quoted-status-button {\n    margin: 0.5em;\n\n    &-icon {\n      color: inherit;\n    }\n  }\n}\n","@import \"../../variables\";\n\n.Report {\n  .report-content {\n    margin: 0.5em 0 1em;\n  }\n\n  .report-state {\n    margin: 0.5em 0 1em;\n  }\n\n  .reported-status {\n    border: 1px solid $fallback--faint;\n    border-color: var(--faint, $fallback--faint);\n    border-radius: $fallback--inputRadius;\n    border-radius: var(--inputRadius, $fallback--inputRadius);\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n    display: block;\n    padding: 0.5em;\n    margin: 0.5em 0;\n\n    .status-content {\n      pointer-events: none;\n    }\n\n    .reported-status-heading {\n      display: flex;\n      width: 100%;\n      justify-content: space-between;\n      margin-bottom: 0.2em;\n    }\n\n    .reported-status-name {\n      font-weight: bold;\n    }\n  }\n\n  .note {\n    width: 100%;\n    margin-bottom: 0.5em;\n  }\n}\n","@import \"../../variables\";\n\n// TODO Copypaste from Status, should unify it somehow\n.Notification {\n  border-bottom: 1px solid;\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n  word-wrap: break-word;\n  word-break: break-word;\n\n  --emoji-size: 14px;\n\n  &:hover {\n    --_still-image-img-visibility: visible;\n    --_still-image-canvas-visibility: hidden;\n    --_still-image-label-visibility: hidden;\n  }\n\n  &.-muted {\n    padding: 0.25em 0.6em;\n    height: 1.2em;\n    line-height: 1.2em;\n    text-overflow: ellipsis;\n    overflow: hidden;\n    display: flex;\n    flex-wrap: nowrap;\n\n    & .status-username,\n    & .mute-thread,\n    & .mute-words {\n      word-wrap: normal;\n      word-break: normal;\n      white-space: nowrap;\n    }\n\n    & .status-username,\n    & .mute-words {\n      text-overflow: ellipsis;\n      overflow: hidden;\n    }\n\n    .status-username {\n      font-weight: normal;\n      flex: 0 1 auto;\n      margin-right: 0.2em;\n      font-size: smaller;\n    }\n\n    .mute-thread {\n      flex: 0 0 auto;\n    }\n\n    .mute-words {\n      flex: 1 0 5em;\n      margin-left: 0.2em;\n\n      &::before {\n        content: \" \";\n      }\n    }\n\n    .unmute {\n      flex: 0 0 auto;\n      margin-left: auto;\n      display: block;\n    }\n  }\n\n  .type-icon {\n    margin: 0 0.1em;\n  }\n\n  &.-type--repeat .type-icon {\n    color: $fallback--cGreen;\n    color: var(--cGreen, $fallback--cGreen);\n  }\n\n  &.-type--follow .type-icon {\n    color: $fallback--cBlue;\n    color: var(--cBlue, $fallback--cBlue);\n  }\n\n  &.-type--follow-request .type-icon {\n    color: $fallback--cBlue;\n    color: var(--cBlue, $fallback--cBlue);\n  }\n\n  &.-type--like .type-icon {\n    color: orange;\n    color: $fallback--cOrange;\n    color: var(--cOrange, $fallback--cOrange);\n  }\n\n  &.-type--move .type-icon {\n    color: $fallback--cBlue;\n    color: var(--cBlue, $fallback--cBlue);\n  }\n}\n","@import \"../../variables\";\n\n.Notifications {\n  &:not(.minimal) {\n    // a bit of a hack to allow scrolling below notifications\n    padding-bottom: 15em;\n  }\n\n  .loadmore-error {\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n  }\n\n  .notification {\n    position: relative;\n\n    .notification-overlay {\n      position: absolute;\n      top: 0;\n      right: 0;\n      left: 0;\n      bottom: 0;\n      pointer-events: none;\n    }\n\n    &.unseen {\n      .notification-overlay {\n        background-image: linear-gradient(135deg, var(--badgeNotification, $fallback--cRed) 4px, transparent 10px);\n      }\n    }\n  }\n}\n\n/* stylelint-disable-next-line no-descending-specificity */\n.notification {\n  box-sizing: border-box;\n\n  &:hover .animated.Avatar {\n    canvas {\n      display: none;\n    }\n\n    img {\n      visibility: visible;\n    }\n  }\n\n  &:last-child .Notification {\n    border-bottom: none;\n  }\n\n  .non-mention {\n    display: flex;\n    flex: 1;\n    flex-wrap: nowrap;\n    padding: 0.6em;\n    min-width: 0;\n\n    .avatar-container {\n      width: 32px;\n      height: 32px;\n    }\n\n    .faint {\n      --link: var(--faintLink);\n      --text: var(--faint);\n    }\n  }\n\n  .follow-request-accept {\n    &:hover {\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n  }\n\n  .follow-request-reject {\n    &:hover {\n      color: $fallback--cRed;\n      color: var(--cRed, $fallback--cRed);\n    }\n  }\n\n  .follow-text,\n  .move-text {\n    padding: 0.5em 0;\n    overflow-wrap: break-word;\n    display: flex;\n    justify-content: space-between;\n\n    .follow-name {\n      display: block;\n      max-width: 100%;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n  }\n\n  /* TODO cleanup this */\n  .Status {\n    flex: 1;\n  }\n\n  time {\n    white-space: nowrap;\n  }\n\n  .notification-right {\n    flex: 1;\n    padding-left: 0.8em;\n    min-width: 0;\n\n    .timeago {\n      min-width: 3em;\n      text-align: right;\n    }\n\n    .timeago-link {\n      margin-right: 0.2em;\n    }\n\n    .expand-icon {\n      .svg-inline--fa {\n        margin-left: 0.25em;\n      }\n    }\n  }\n\n  .emoji-reaction-emoji {\n    font-size: 1.3em;\n    max-width: 1.25em;\n    height: 1.25em;\n    width: auto;\n  }\n\n  .emoji-reaction-emoji-image {\n    vertical-align: middle;\n    object-fit: contain;\n  }\n\n  .notification-details {\n    min-width: 0;\n    word-wrap: break-word;\n    line-height: var(--post-line-height);\n    position: relative;\n    overflow: hidden;\n    width: 100%;\n    flex: 1 1 0;\n    display: flex;\n    flex-wrap: nowrap;\n    justify-content: space-between;\n\n    .name-and-action {\n      flex: 1;\n      overflow: hidden;\n      text-overflow: ellipsis;\n    }\n\n    .username {\n      font-weight: bolder;\n      max-width: 100%;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    .timeago {\n      margin-right: 0.2em;\n    }\n\n    .status-content {\n      margin: 0;\n      max-height: 300px;\n    }\n\n    h1 {\n      word-break: break-all;\n      margin: 0 0 0.3em;\n      padding: 0;\n      font-size: 1em;\n      line-height: 1.5;\n\n      small {\n        font-weight: lighter;\n      }\n    }\n\n    p {\n      margin: 0;\n      margin-top: 0;\n      margin-bottom: 0.3em;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.MobileNav {\n  z-index: var(--ZI_navbar);\n\n  .mobile-nav {\n    display: grid;\n    line-height: var(--navbar-height);\n    grid-template-rows: 50px;\n    grid-template-columns: 2fr auto;\n    width: 100%;\n    box-sizing: border-box;\n\n    a {\n      color: var(--topBarLink, $fallback--link);\n    }\n  }\n\n  .mobile-inner-nav {\n    width: 100%;\n    display: flex;\n    align-items: center;\n  }\n\n  .mobile-nav-button {\n    display: inline-block;\n    text-align: center;\n    padding: 0 1em;\n    position: relative;\n    cursor: pointer;\n  }\n\n  .site-name {\n    padding: 0 0.3em;\n    display: inline-block;\n  }\n\n  .item {\n    /* moslty just to get rid of extra whitespaces */\n    display: flex;\n  }\n\n  .alert-dot {\n    border-radius: 100%;\n    height: 8px;\n    width: 8px;\n    position: absolute;\n    left: calc(50% - 4px);\n    top: calc(50% - 4px);\n    margin-left: 6px;\n    margin-top: -6px;\n    background-color: $fallback--cRed;\n    background-color: var(--badgeNotification, $fallback--cRed);\n  }\n\n  .mobile-notifications-drawer {\n    width: 100%;\n    height: 100vh;\n    overflow-x: hidden;\n    position: fixed;\n    top: 0;\n    left: 0;\n    box-shadow: 1px 1px 4px rgb(0 0 0 / 60%);\n    box-shadow: var(--panelShadow);\n    transition-property: transform;\n    transition-duration: 0.25s;\n    transform: translateX(0);\n    z-index: var(--ZI_navbar);\n    -webkit-overflow-scrolling: touch;\n\n    &.-closed {\n      transform: translateX(100%);\n      box-shadow: none;\n    }\n  }\n\n  .mobile-notifications-header {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    z-index: calc(var(--ZI_navbar) + 100);\n    width: 100%;\n    height: 50px;\n    line-height: 50px;\n    position: absolute;\n    color: var(--topBarText);\n    background-color: $fallback--fg;\n    background-color: var(--topBar, $fallback--fg);\n    box-shadow: 0 0 4px rgb(0 0 0 / 60%);\n    box-shadow: var(--topBarShadow);\n\n    .spacer {\n      flex: 1;\n    }\n\n    .title {\n      font-size: 1.3em;\n      margin-left: 0.6em;\n    }\n  }\n\n  .pins {\n    flex: 1;\n\n    .pinned-item {\n      flex-grow: 1;\n    }\n  }\n\n  .mobile-notifications {\n    margin-top: 50px;\n    width: 100vw;\n    height: calc(100vh - var(--navbar-height));\n    overflow-x: hidden;\n    overflow-y: scroll;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n\n    .notifications {\n      padding: 0;\n      border-radius: 0;\n      box-shadow: none;\n\n      .panel {\n        border-radius: 0;\n        margin: 0;\n        box-shadow: none;\n      }\n\n      .panel::after {\n        border-radius: 0;\n      }\n\n      .panel .panel-heading {\n        border-radius: 0;\n        box-shadow: none;\n      }\n    }\n  }\n\n  .confirm-modal.dark-overlay {\n    &::before {\n      z-index: 3000;\n    }\n\n    .dialog-modal.panel {\n      z-index: 3001;\n    }\n  }\n}\n\n","\n@import \"../../variables\";\n\n.SearchBar {\n  display: inline-flex;\n  align-items: baseline;\n  vertical-align: baseline;\n  justify-content: flex-end;\n\n  &.-expanded {\n    width: 100%;\n  }\n\n  .search-bar-input,\n  .search-button {\n    height: 29px;\n  }\n\n  .search-bar-input {\n    flex: 1 0 auto;\n  }\n\n  .cancel-search {\n    height: 50px;\n  }\n\n  .cancel-icon {\n    color: $fallback--text;\n    color: var(--btnTopBarText, $fallback--text);\n  }\n}\n\n","@import \"../../variables\";\n\n.DesktopNav {\n  width: 100%;\n  z-index: var(--ZI_navbar);\n\n  input {\n    color: var(--inputTopbarText, var(--inputText));\n  }\n\n  a {\n    color: var(--topBarLink, $fallback--link);\n  }\n\n  .inner-nav {\n    display: grid;\n    grid-template-rows: var(--navbar-height);\n    grid-template-columns: 2fr auto 2fr;\n    grid-template-areas: \"sitename logo actions\";\n    box-sizing: border-box;\n    padding: 0 1.2em;\n    margin: auto;\n    max-width: 980px;\n  }\n\n  &.-column-stretch .inner-nav {\n    --miniColumn: 25rem;\n    --maxiColumn: 45rem;\n    --columnGap: 1em;\n\n    max-width:\n      calc(\n        var(--sidebarColumnWidth, var(--miniColumn)) +\n        var(--contentColumnWidth, var(--maxiColumn)) +\n        var(--columnGap)\n      );\n  }\n\n  &.-logoLeft .inner-nav {\n    grid-template-columns: auto 2fr 2fr;\n    grid-template-areas: \"logo sitename actions\";\n  }\n\n  &.-column-stretch.-wide .inner-nav {\n    max-width:\n      calc(\n        var(--sidebarColumnWidth, var(--miniColumn)) +\n        var(--contentColumnWidth, var(--maxiColumn)) +\n        var(--notifsColumnWidth, var(--miniColumn)) +\n        var(--columnGap)\n      );\n  }\n\n  .button-default {\n    &,\n    svg {\n      color: $fallback--text;\n      color: var(--btnTopBarText, $fallback--text);\n    }\n\n    &:active {\n      background-color: $fallback--fg;\n      background-color: var(--btnPressedTopBar, $fallback--fg);\n      color: $fallback--text;\n      color: var(--btnPressedTopBarText, $fallback--text);\n    }\n\n    &:disabled {\n      color: $fallback--text;\n      color: var(--btnDisabledTopBarText, $fallback--text);\n    }\n\n    &.toggled {\n      color: $fallback--text;\n      color: var(--btnToggledTopBarText, $fallback--text);\n      background-color: $fallback--fg;\n      background-color: var(--btnToggledTopBar, $fallback--fg);\n    }\n  }\n\n  .logo {\n    grid-area: logo;\n    position: relative;\n    transition: opacity;\n    transition-timing-function: ease-out;\n    transition-duration: 100ms;\n\n    @media all and (min-width: 800px) {\n      /* stylelint-disable-next-line declaration-no-important */\n      opacity: 1 !important;\n    }\n\n    .mask {\n      mask-repeat: no-repeat;\n      mask-position: center;\n      mask-size: contain;\n      background-color: $fallback--fg;\n      background-color: var(--topBarText, $fallback--fg);\n      position: absolute;\n      top: 0;\n      bottom: 0;\n      left: 0;\n      right: 0;\n    }\n\n    img {\n      display: inline-block;\n      height: var(--navbar-height);\n    }\n  }\n\n  .nav-icon {\n    margin-left: 0.2em;\n    width: 2em;\n    height: 100%;\n    text-align: center;\n\n    .svg-inline--fa {\n      color: $fallback--link;\n      color: var(--topBarLink, $fallback--link);\n    }\n  }\n\n  .sitename {\n    grid-area: sitename;\n  }\n\n  .actions {\n    grid-area: actions;\n  }\n\n  .item {\n    flex: 1;\n    line-height: var(--navbar-height);\n    height: var(--navbar-height);\n    overflow: hidden;\n    display: flex;\n    flex-wrap: wrap;\n\n    &.right {\n      justify-content: flex-end;\n      text-align: right;\n    }\n  }\n\n  .spacer {\n    width: 1em;\n  }\n}\n","\n@import \"../../variables\";\n\n.list {\n  &-item:not(:last-child) {\n    border-bottom: 1px solid;\n    border-bottom-color: $fallback--border;\n    border-bottom-color: var(--border, $fallback--border);\n  }\n\n  &-empty-content {\n    text-align: center;\n    padding: 10px;\n  }\n}\n","\n@import \"../../variables\";\n\n.user-reporting-panel {\n  width: 90vw;\n  max-width: 700px;\n  min-height: 20vh;\n  max-height: 80vh;\n\n  .panel-body {\n    display: flex;\n    flex-direction: column-reverse;\n    border-top: 1px solid;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n    overflow: hidden;\n  }\n\n  &-left {\n    padding: 1.1em 0.7em 0.7em;\n    line-height: var(--post-line-height);\n    box-sizing: border-box;\n\n    > div {\n      margin-bottom: 1em;\n\n      &:last-child {\n        margin-bottom: 0;\n      }\n    }\n\n    p {\n      margin-top: 0;\n    }\n\n    textarea.form-control {\n      line-height: 16px;\n      resize: none;\n      overflow: hidden;\n      transition: min-height 200ms 100ms;\n      min-height: 44px;\n      width: 100%;\n    }\n\n    .btn {\n      min-width: 10em;\n      padding: 0 2em;\n    }\n\n    .alert {\n      margin: 1em 0 0;\n      line-height: 1.3em;\n    }\n  }\n\n  &-right {\n    display: flex;\n    flex-direction: column;\n    overflow-y: auto;\n  }\n\n  &-sitem {\n    display: flex;\n    justify-content: space-between;\n\n    /* TODO cleanup this */\n    > .Status {\n      flex: 1;\n    }\n\n    > .checkbox {\n      margin: 0.75em;\n    }\n  }\n\n  @media all and (min-width: 801px) {\n    .panel-body {\n      flex-direction: row;\n    }\n\n    &-left {\n      width: 50%;\n      max-width: 320px;\n      border-right: 1px solid;\n      border-color: $fallback--border;\n      border-color: var(--border, $fallback--border);\n      padding: 1.1em;\n\n      > div {\n        margin-bottom: 2em;\n      }\n    }\n\n    &-right {\n      width: 50%;\n      flex: 1 1 auto;\n      margin-bottom: 12px;\n    }\n  }\n}\n","\n.modal-view.edit-form-modal-view {\n  align-items: flex-start;\n}\n\n.edit-form-modal-panel {\n  flex-shrink: 0;\n  margin-top: 25%;\n  margin-bottom: 2em;\n  width: 100%;\n  max-width: 700px;\n\n  @media (orientation: landscape) {\n    margin-top: 8%;\n  }\n\n  .form-bottom-left {\n    max-width: 6.5em;\n\n    .emoji-icon {\n      justify-content: right;\n    }\n  }\n}\n","\n.modal-view.post-form-modal-view {\n  align-items: flex-start;\n}\n\n.post-form-modal-panel {\n  flex-shrink: 0;\n  margin-top: 25%;\n  margin-bottom: 2em;\n  width: 100%;\n  max-width: 700px;\n\n  @media (orientation: landscape) {\n    margin-top: 8%;\n  }\n}\n","\n.modal-view.status-history-modal-view {\n  align-items: flex-start;\n}\n\n.status-history-modal-panel {\n  flex-shrink: 0;\n  margin-top: 25%;\n  margin-bottom: 2em;\n  width: 100%;\n  max-width: 700px;\n\n  @media (orientation: landscape) {\n    margin-top: 8%;\n  }\n}\n","\n@import \"../../variables\";\n\n.global-notice-list {\n  position: fixed;\n  top: calc(var(--navbar-height) + 0.5em);\n  width: 100%;\n  pointer-events: none;\n  z-index: var(--ZI_navbar_popovers);\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n\n  .global-notice {\n    pointer-events: auto;\n    text-align: center;\n    width: 40em;\n    max-width: calc(100% - 3em);\n    display: flex;\n    padding-left: 1.5em;\n    line-height: 2;\n    margin-bottom: 0.5em;\n\n    .notice-message {\n      flex: 1 1 100%;\n    }\n  }\n\n  .global-error {\n    background-color: var(--alertPopupError, $fallback--cRed);\n    color: var(--alertPopupErrorText, $fallback--text);\n\n    .svg-inline--fa {\n      color: var(--alertPopupErrorText, $fallback--text);\n    }\n  }\n\n  .global-warning {\n    background-color: var(--alertPopupWarning, $fallback--cOrange);\n    color: var(--alertPopupWarningText, $fallback--text);\n\n    .svg-inline--fa {\n      color: var(--alertPopupWarningText, $fallback--text);\n    }\n  }\n\n  .global-success {\n    background-color: var(--alertPopupSuccess, $fallback--cGreen);\n    color: var(--alertPopupSuccessText, $fallback--text);\n\n    .svg-inline--fa {\n      color: var(--alertPopupSuccessText, $fallback--text);\n    }\n  }\n\n  .global-info {\n    background-color: var(--alertPopupNeutral, $fallback--fg);\n    color: var(--alertPopupNeutralText, $fallback--text);\n\n    .svg-inline--fa {\n      color: var(--alertPopupNeutralText, $fallback--text);\n    }\n  }\n\n  .close-notice {\n    padding-right: 0.2em;\n\n    .svg-inline--fa:hover {\n      opacity: 0.6;\n    }\n  }\n}\n","// stylelint-disable rscss/class-format\n/* stylelint-disable no-descending-specificity */\n@import \"./variables\";\n@import \"./panel\";\n\n:root {\n  --navbar-height: 3.5rem;\n  --post-line-height: 1.4;\n  // Z-Index stuff\n  --ZI_media_modal: 9000;\n  --ZI_modals_popovers: 8500;\n  --ZI_modals: 8000;\n  --ZI_navbar_popovers: 7500;\n  --ZI_navbar: 7000;\n  --ZI_popovers: 6000;\n}\n\nhtml {\n  font-size: 14px;\n  // overflow-x: clip causes my browser's tab to crash with SIGILL lul\n}\n\nbody {\n  font-family: sans-serif;\n  font-family: var(--interfaceFont, sans-serif);\n  margin: 0;\n  color: $fallback--text;\n  color: var(--text, $fallback--text);\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  overscroll-behavior-y: none;\n  overflow-x: clip;\n  overflow-y: scroll;\n\n  &.hidden {\n    display: none;\n  }\n}\n\n// ## Custom scrollbars\n// Only show custom scrollbars on devices which\n// have a cursor/pointer to operate them\n@media (any-pointer: fine) {\n  * {\n    scrollbar-color: var(--btn) transparent;\n\n    &::-webkit-scrollbar {\n      background: transparent;\n    }\n\n    &::-webkit-scrollbar-button,\n    &::-webkit-scrollbar-thumb {\n      background-color: var(--btn);\n      box-shadow: var(--buttonShadow);\n      border-radius: var(--btnRadius);\n    }\n\n    // horizontal/vertical/increment/decrement are webkit-specific stuff\n    // that indicates whether we're affecting vertical scrollbar, increase button etc\n    // stylelint-disable selector-pseudo-class-no-unknown\n    &::-webkit-scrollbar-button {\n      --___bgPadding: 2px;\n\n      color: var(--btnText);\n      background-repeat: no-repeat, no-repeat;\n\n      &:horizontal {\n        background-size: 50% calc(50% - var(--___bgPadding)), 50% calc(50% - var(--___bgPadding));\n\n        &:increment {\n          background-image:\n            linear-gradient(45deg, var(--btnText) 50%, transparent 51%),\n            linear-gradient(-45deg, transparent 50%, var(--btnText) 51%);\n          background-position: top var(--___bgPadding) left 50%, right 50% bottom var(--___bgPadding);\n        }\n\n        &:decrement {\n          background-image:\n            linear-gradient(45deg, transparent 50%, var(--btnText) 51%),\n            linear-gradient(-45deg, var(--btnText) 50%, transparent 51%);\n          background-position: bottom var(--___bgPadding) right 50%, left 50% top var(--___bgPadding);\n        }\n      }\n\n      &:vertical {\n        background-size: calc(50% - var(--___bgPadding)) 50%, calc(50% - var(--___bgPadding)) 50%;\n\n        &:increment {\n          background-image:\n            linear-gradient(-45deg, transparent 50%, var(--btnText) 51%),\n            linear-gradient(45deg, transparent 50%, var(--btnText) 51%);\n          background-position: right var(--___bgPadding) top 50%, left var(--___bgPadding) top 50%;\n        }\n\n        &:decrement {\n          background-image:\n            linear-gradient(-45deg, var(--btnText) 50%, transparent 51%),\n            linear-gradient(45deg, var(--btnText) 50%, transparent 51%);\n          background-position: left var(--___bgPadding) top 50%, right var(--___bgPadding) top 50%;\n        }\n      }\n    }\n    // stylelint-enable selector-pseudo-class-no-unknown\n  }\n  // Body should have background to scrollbar otherwise it will use white (body color?)\n  html {\n    scrollbar-color: var(--selectedMenu) var(--wallpaper);\n    background: var(--wallpaper);\n  }\n}\n\na {\n  text-decoration: none;\n  color: $fallback--link;\n  color: var(--link, $fallback--link);\n}\n\nh4 {\n  margin: 0;\n}\n\n.iconLetter {\n  display: inline-block;\n  text-align: center;\n  font-weight: 1000;\n}\n\ni[class*=\"icon-\"],\n.svg-inline--fa,\n.iconLetter {\n  color: $fallback--icon;\n  color: var(--icon, $fallback--icon);\n}\n\n.button-unstyled:hover,\na:hover {\n  > i[class*=\"icon-\"],\n  > .svg-inline--fa,\n  > .iconLetter {\n    color: var(--text);\n  }\n}\n\nnav {\n  z-index: var(--ZI_navbar);\n  background-color: $fallback--fg;\n  background-color: var(--topBar, $fallback--fg);\n  color: $fallback--faint;\n  color: var(--faint, $fallback--faint);\n  box-shadow: 0 0 4px rgb(0 0 0 / 60%);\n  box-shadow: var(--topBarShadow);\n  box-sizing: border-box;\n  height: var(--navbar-height);\n  position: fixed;\n}\n\n#sidebar {\n  grid-area: sidebar;\n}\n\n#modal {\n  position: absolute;\n  z-index: var(--ZI_modals);\n}\n\n.column.-scrollable {\n  top: var(--navbar-height);\n  position: sticky;\n}\n\n#main-scroller {\n  grid-area: content;\n  position: relative;\n}\n\n#notifs-column {\n  grid-area: notifs;\n}\n\n.app-bg-wrapper {\n  position: fixed;\n  height: 100%;\n  top: var(--navbar-height);\n  z-index: -1000;\n  left: 0;\n  right: -20px;\n  background-size: cover;\n  background-repeat: no-repeat;\n  background-color: var(--wallpaper);\n  background-image: var(--body-background-image);\n  background-position: 50%;\n}\n\n.underlay {\n  grid-column: 1 / span 3;\n  grid-row: 1 / 1;\n  pointer-events: none;\n  background-color: rgb(0 0 0 / 15%);\n  background-color: var(--underlay, rgb(0 0 0 / 15%));\n  z-index: -1000;\n}\n\n.app-layout {\n  --miniColumn: 25rem;\n  --maxiColumn: 45rem;\n  --columnGap: 1em;\n  --status-margin: 0.75em;\n  --effectiveSidebarColumnWidth: minmax(var(--miniColumn), var(--sidebarColumnWidth, var(--miniColumn)));\n  --effectiveNotifsColumnWidth: minmax(var(--miniColumn), var(--notifsColumnWidth, var(--miniColumn)));\n  --effectiveContentColumnWidth: minmax(var(--miniColumn), var(--contentColumnWidth, var(--maxiColumn)));\n\n  position: relative;\n  display: grid;\n  grid-template-columns:\n    var(--effectiveSidebarColumnWidth)\n    var(--effectiveContentColumnWidth);\n  grid-template-areas: \"sidebar content\";\n  grid-template-rows: 1fr;\n  box-sizing: border-box;\n  margin: 0 auto;\n  align-content: flex-start;\n  flex-wrap: wrap;\n  justify-content: center;\n  min-height: 100vh;\n  overflow-x: clip;\n\n  .column {\n    --___columnMargin: var(--columnGap);\n\n    display: grid;\n    grid-template-columns: 100%;\n    box-sizing: border-box;\n    grid-row: 1 / 1;\n    margin: 0 calc(var(--___columnMargin) / 2);\n    padding: calc(var(--___columnMargin)) 0;\n    row-gap: var(--___columnMargin);\n    align-content: start;\n\n    &:not(.-scrollable) {\n      margin-top: var(--navbar-height);\n    }\n\n    &:hover {\n      z-index: 2;\n    }\n\n    &.-full-height {\n      margin-bottom: 0;\n      padding-top: 0;\n      padding-bottom: 0;\n    }\n\n    &.-scrollable {\n      --___paddingIncrease: calc(var(--columnGap) / 2);\n\n      position: sticky;\n      top: var(--navbar-height);\n      max-height: calc(100vh - var(--navbar-height));\n      overflow-y: auto;\n      overflow-x: hidden;\n      margin-left: calc(var(--___paddingIncrease) * -1);\n      padding-left: calc(var(--___paddingIncrease) + var(--___columnMargin) / 2);\n\n      // On browsers that don't support hiding scrollbars we enforce \"show scrolbars\" mode\n      // might implement old style of hiding scrollbars later if there's demand\n      @supports (scrollbar-width: none) or (-webkit-text-fill-color: initial) {\n        &:not(.-show-scrollbar) {\n          scrollbar-width: none;\n          margin-right: calc(var(--___paddingIncrease) * -1);\n          padding-right: calc(var(--___paddingIncrease) + var(--___columnMargin) / 2);\n\n          &::-webkit-scrollbar {\n            display: block;\n            width: 0;\n          }\n        }\n      }\n\n      .panel-heading.-sticky {\n        top: calc(var(--columnGap) / -1);\n      }\n    }\n  }\n\n  &.-has-new-post-button {\n    .column {\n      padding-bottom: 10rem;\n    }\n  }\n\n  &.-no-sticky-headers {\n    .column {\n      .panel-heading.-sticky {\n        position: relative;\n        top: 0;\n      }\n    }\n  }\n\n  .column-inner {\n    display: grid;\n    grid-template-columns: 100%;\n    box-sizing: border-box;\n    row-gap: 1em;\n    align-content: start;\n  }\n\n  &.-reverse:not(.-wide, .-mobile) {\n    grid-template-columns:\n      var(--effectiveContentColumnWidth)\n      var(--effectiveSidebarColumnWidth);\n    grid-template-areas: \"content sidebar\";\n  }\n\n  &.-wide {\n    grid-template-columns:\n      var(--effectiveSidebarColumnWidth)\n      var(--effectiveContentColumnWidth)\n      var(--effectiveNotifsColumnWidth);\n    grid-template-areas: \"sidebar content notifs\";\n\n    &.-reverse {\n      grid-template-columns:\n        var(--effectiveNotifsColumnWidth)\n        var(--effectiveContentColumnWidth)\n        var(--effectiveSidebarColumnWidth);\n      grid-template-areas: \"notifs content sidebar\";\n    }\n  }\n\n  &.-mobile {\n    grid-template-columns: 100vw;\n    grid-template-areas: \"content\";\n    padding: 0;\n\n    .column {\n      padding-top: 0;\n      margin: var(--navbar-height) 0 0 0;\n    }\n\n    .panel-heading,\n    .panel-heading::after,\n    .panel-heading::before,\n    .panel,\n    .panel::after {\n      border-top-left-radius: 0;\n      border-top-right-radius: 0;\n    }\n\n    #sidebar,\n    #notifs-column {\n      display: none;\n    }\n  }\n\n  &.-normal {\n    #notifs-column {\n      display: none;\n    }\n  }\n}\n\n.text-center {\n  text-align: center;\n}\n\n.button-default {\n  user-select: none;\n  color: $fallback--text;\n  color: var(--btnText, $fallback--text);\n  background-color: $fallback--fg;\n  background-color: var(--btn, $fallback--fg);\n  border: none;\n  border-radius: $fallback--btnRadius;\n  border-radius: var(--btnRadius, $fallback--btnRadius);\n  cursor: pointer;\n  box-shadow: $fallback--buttonShadow;\n  box-shadow: var(--buttonShadow);\n  font-size: 1em;\n  font-family: sans-serif;\n  font-family: var(--interfaceFont, sans-serif);\n\n  &.-sublime {\n    background: transparent;\n  }\n\n  i[class*=\"icon-\"],\n  .svg-inline--fa {\n    color: $fallback--text;\n    color: var(--btnText, $fallback--text);\n  }\n\n  &::-moz-focus-inner {\n    border: none;\n  }\n\n  &:hover {\n    box-shadow: 0 0 4px rgb(255 255 255 / 30%);\n    box-shadow: var(--buttonHoverShadow);\n  }\n\n  &:active {\n    box-shadow:\n      0 0 4px 0 rgb(255 255 255 / 30%),\n      0 1px 0 0 rgb(0 0 0 / 20%) inset,\n      0 -1px 0 0 rgb(255 255 255 / 20%) inset;\n    box-shadow: var(--buttonPressedShadow);\n    color: $fallback--text;\n    color: var(--btnPressedText, $fallback--text);\n    background-color: $fallback--fg;\n    background-color: var(--btnPressed, $fallback--fg);\n\n    svg,\n    i {\n      color: $fallback--text;\n      color: var(--btnPressedText, $fallback--text);\n    }\n  }\n\n  &:disabled {\n    cursor: not-allowed;\n    color: $fallback--text;\n    color: var(--btnDisabledText, $fallback--text);\n    background-color: $fallback--fg;\n    background-color: var(--btnDisabled, $fallback--fg);\n\n    svg,\n    i {\n      color: $fallback--text;\n      color: var(--btnDisabledText, $fallback--text);\n    }\n  }\n\n  &.toggled {\n    color: $fallback--text;\n    color: var(--btnToggledText, $fallback--text);\n    background-color: $fallback--fg;\n    background-color: var(--btnToggled, $fallback--fg);\n    box-shadow:\n      0 0 4px 0 rgb(255 255 255 / 30%),\n      0 1px 0 0 rgb(0 0 0 / 20%) inset,\n      0 -1px 0 0 rgb(255 255 255 / 20%) inset;\n    box-shadow: var(--buttonPressedShadow);\n\n    svg,\n    i {\n      color: $fallback--text;\n      color: var(--btnToggledText, $fallback--text);\n    }\n  }\n\n  &.danger {\n    // TODO: add better color variable\n    color: $fallback--text;\n    color: var(--alertErrorPanelText, $fallback--text);\n    background-color: $fallback--alertError;\n    background-color: var(--alertError, $fallback--alertError);\n  }\n}\n\n.button-unstyled {\n  background: none;\n  border: none;\n  outline: none;\n  display: inline;\n  text-align: initial;\n  font-size: 100%;\n  font-family: inherit;\n  padding: 0;\n  line-height: unset;\n  cursor: pointer;\n  box-sizing: content-box;\n  color: inherit;\n\n  &.-link {\n    color: $fallback--link;\n    color: var(--link, $fallback--link);\n  }\n\n  &.-fullwidth {\n    width: 100%;\n  }\n\n  &.-hover-highlight {\n    &:hover svg {\n      color: $fallback--lightText;\n      color: var(--lightText, $fallback--lightText);\n    }\n  }\n}\n\ninput,\ntextarea,\n.input {\n  &.unstyled {\n    border-radius: 0;\n    background: none;\n    box-shadow: none;\n    height: unset;\n  }\n\n  --_padding: 0.5em;\n\n  border: none;\n  border-radius: $fallback--inputRadius;\n  border-radius: var(--inputRadius, $fallback--inputRadius);\n  box-shadow:\n    0 1px 0 0 rgb(0 0 0 / 20%) inset,\n    0 -1px 0 0 rgb(255 255 255 / 20%) inset,\n    0 0 2px 0 rgb(0 0 0 / 100%) inset;\n  box-shadow: var(--inputShadow);\n  background-color: $fallback--fg;\n  background-color: var(--input, $fallback--fg);\n  color: $fallback--lightText;\n  color: var(--inputText, $fallback--lightText);\n  font-family: sans-serif;\n  font-family: var(--inputFont, sans-serif);\n  font-size: 1em;\n  margin: 0;\n  box-sizing: border-box;\n  display: inline-block;\n  position: relative;\n  line-height: 2;\n  hyphens: none;\n  padding: 0 var(--_padding);\n\n  &:disabled,\n  &[disabled=\"disabled\"],\n  &.disabled {\n    cursor: not-allowed;\n    opacity: 0.5;\n  }\n\n  &[type=\"range\"] {\n    background: none;\n    border: none;\n    margin: 0;\n    box-shadow: none;\n    flex: 1;\n  }\n\n  &[type=\"radio\"] {\n    display: none;\n\n    &:checked + label::before {\n      box-shadow: 0 0 2px black inset, 0 0 0 4px $fallback--fg inset;\n      box-shadow: var(--inputShadow), 0 0 0 4px var(--fg, $fallback--fg) inset;\n      background-color: var(--accent, $fallback--link);\n    }\n\n    &:disabled {\n      &,\n      & + label,\n      & + label::before {\n        opacity: 0.5;\n      }\n    }\n\n    + label::before {\n      flex-shrink: 0;\n      display: inline-block;\n      content: \"\";\n      transition: box-shadow 200ms;\n      width: 1.1em;\n      height: 1.1em;\n      border-radius: 100%; // Radio buttons should always be circle\n      box-shadow: 0 0 2px black inset;\n      box-shadow: var(--inputShadow);\n      margin-right: 0.5em;\n      background-color: $fallback--fg;\n      background-color: var(--input, $fallback--fg);\n      vertical-align: top;\n      text-align: center;\n      line-height: 1.1;\n      font-size: 1.1em;\n      box-sizing: border-box;\n      color: transparent;\n      overflow: hidden;\n    }\n  }\n\n  &[type=\"checkbox\"] {\n    &:checked + label::before {\n      color: $fallback--text;\n      color: var(--inputText, $fallback--text);\n    }\n\n    &:disabled {\n      &,\n      & + label,\n      & + label::before {\n        opacity: 0.5;\n      }\n    }\n\n    + label::before {\n      flex-shrink: 0;\n      display: inline-block;\n      content: \"✓\";\n      transition: color 200ms;\n      width: 1.1em;\n      height: 1.1em;\n      border-radius: $fallback--checkboxRadius;\n      border-radius: var(--checkboxRadius, $fallback--checkboxRadius);\n      box-shadow: 0 0 2px black inset;\n      box-shadow: var(--inputShadow);\n      margin-right: 0.5em;\n      background-color: $fallback--fg;\n      background-color: var(--input, $fallback--fg);\n      vertical-align: top;\n      text-align: center;\n      line-height: 1.1;\n      font-size: 1.1em;\n      box-sizing: border-box;\n      color: transparent;\n      overflow: hidden;\n    }\n  }\n\n  &.resize-height {\n    resize: vertical;\n  }\n}\n\n// Textareas should have stock line-height + vertical padding instead of huge line-height\ntextarea {\n  padding: var(--_padding);\n  line-height: var(--post-line-height);\n}\n\noption {\n  color: $fallback--text;\n  color: var(--text, $fallback--text);\n  background-color: $fallback--bg;\n  background-color: var(--bg, $fallback--bg);\n}\n\n.hide-number-spinner {\n  appearance: textfield;\n\n  &[type=\"number\"]::-webkit-inner-spin-button,\n  &[type=\"number\"]::-webkit-outer-spin-button {\n    opacity: 0;\n    display: none;\n  }\n}\n\n.cards-list {\n  list-style: none;\n  display: grid;\n  grid-auto-flow: row dense;\n  grid-template-columns: 1fr 1fr;\n\n  li {\n    border: 1px solid var(--border);\n    border-radius: var(--inputRadius);\n    padding: 0.5em;\n    margin: 0.25em;\n  }\n}\n\n.btn-block {\n  display: block;\n  width: 100%;\n}\n\n.btn-group {\n  position: relative;\n  display: inline-flex;\n  vertical-align: middle;\n\n  button,\n  .button-dropdown {\n    position: relative;\n    flex: 1 1 auto;\n\n    &:not(:last-child),\n    &:not(:last-child) .button-default {\n      border-top-right-radius: 0;\n      border-bottom-right-radius: 0;\n    }\n\n    &:not(:first-child),\n    &:not(:first-child) .button-default {\n      border-top-left-radius: 0;\n      border-bottom-left-radius: 0;\n    }\n  }\n}\n\n.fa {\n  color: grey;\n}\n\n.mobile-shown {\n  display: none;\n}\n\n.badge {\n  box-sizing: border-box;\n  display: inline-block;\n  border-radius: 99px;\n  max-width: 10em;\n  min-width: 1.7em;\n  height: 1.3em;\n  padding: 0.15em;\n  vertical-align: middle;\n  font-weight: normal;\n  font-style: normal;\n  font-size: 0.9em;\n  line-height: 1;\n  text-align: center;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n\n  &.badge-notification {\n    background-color: $fallback--cRed;\n    background-color: var(--badgeNotification, $fallback--cRed);\n    color: white;\n    color: var(--badgeNotificationText, white);\n  }\n}\n\n.alert {\n  margin: 0 0.35em;\n  padding: 0 0.25em;\n  border-radius: $fallback--tooltipRadius;\n  border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n\n  &.error {\n    background-color: $fallback--alertError;\n    background-color: var(--alertError, $fallback--alertError);\n    color: $fallback--text;\n    color: var(--alertErrorText, $fallback--text);\n\n    .panel-heading & {\n      color: $fallback--text;\n      color: var(--alertErrorPanelText, $fallback--text);\n    }\n  }\n\n  &.warning {\n    background-color: $fallback--alertWarning;\n    background-color: var(--alertWarning, $fallback--alertWarning);\n    color: $fallback--text;\n    color: var(--alertWarningText, $fallback--text);\n\n    .panel-heading & {\n      color: $fallback--text;\n      color: var(--alertWarningPanelText, $fallback--text);\n    }\n  }\n\n  &.success {\n    background-color: var(--alertSuccess, $fallback--alertWarning);\n    color: var(--alertSuccessText, $fallback--text);\n\n    .panel-heading & {\n      color: var(--alertSuccessPanelText, $fallback--text);\n    }\n  }\n}\n\n.faint {\n  color: $fallback--faint;\n  color: var(--faint, $fallback--faint);\n}\n\n.faint-link {\n  color: $fallback--faint;\n  color: var(--faint, $fallback--faint);\n\n  &:hover {\n    text-decoration: underline;\n  }\n}\n\n.visibility-notice {\n  padding: 0.5em;\n  border: 1px solid $fallback--faint;\n  border: 1px solid var(--faint, $fallback--faint);\n  border-radius: $fallback--inputRadius;\n  border-radius: var(--inputRadius, $fallback--inputRadius);\n}\n\n.notice-dismissible {\n  padding-right: 4rem;\n  position: relative;\n\n  .dismiss {\n    position: absolute;\n    top: 0;\n    right: 0;\n    padding: 0.5em;\n    color: inherit;\n  }\n}\n\n.fa-scale-110 {\n  &.svg-inline--fa,\n  &.iconLetter {\n    font-size: 1.1em;\n  }\n}\n\n.fa-old-padding {\n  &.iconLetter,\n  &.svg-inline--fa,\n  &-layer {\n    padding: 0 0.3em;\n  }\n}\n\n.veryfaint {\n  opacity: 0.25;\n}\n\n.login-hint {\n  text-align: center;\n\n  @media all and (min-width: 801px) {\n    display: none;\n  }\n\n  a {\n    display: inline-block;\n    padding: 1em 0;\n    width: 100%;\n  }\n}\n\n.btn.button-default {\n  min-height: 2em;\n}\n\n.new-status-notification {\n  position: relative;\n  font-size: 1.1em;\n  z-index: 1;\n  flex: 1;\n}\n\n@media all and (max-width: 800px) {\n  .mobile-hidden {\n    display: none;\n  }\n}\n\n@keyframes spin {\n  0% {\n    transform: rotate(0deg);\n  }\n\n  100% {\n    transform: rotate(359deg);\n  }\n}\n\n@keyframes shakeError {\n  0% {\n    transform: translateX(0);\n  }\n\n  15% {\n    transform: translateX(0.375rem);\n  }\n\n  30% {\n    transform: translateX(-0.375rem);\n  }\n\n  45% {\n    transform: translateX(0.375rem);\n  }\n\n  60% {\n    transform: translateX(-0.375rem);\n  }\n\n  75% {\n    transform: translateX(0.375rem);\n  }\n\n  90% {\n    transform: translateX(-0.375rem);\n  }\n\n  100% {\n    transform: translateX(0);\n  }\n}\n\n// Vue transitions\n.fade-enter-active,\n.fade-leave-active {\n  transition: opacity 0.3s;\n}\n\n.fade-enter-from,\n.fade-leave-active {\n  opacity: 0;\n}\n/* stylelint-enable no-descending-specificity */\n\n.visible-for-screenreader-only {\n  display: block;\n  width: 1px;\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  visibility: visible;\n  clip: rect(0 0 0 0);\n  padding: 0;\n  position: absolute;\n}\n","/* stylelint-disable no-descending-specificity */\n.panel {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  background-color: $fallback--bg;\n  background-color: var(--bg, $fallback--bg);\n\n  &::after,\n  & {\n    border-radius: $fallback--panelRadius;\n    border-radius: var(--panelRadius, $fallback--panelRadius);\n  }\n\n  &::after {\n    content: \"\";\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    z-index: 5;\n    box-shadow: 1px 1px 4px rgb(0 0 0 / 60%);\n    box-shadow: var(--panelShadow);\n    pointer-events: none;\n  }\n}\n\n.panel-body {\n  padding: var(--panel-body-padding, 0);\n\n  &:empty::before {\n    content: \"¯\\\\_(ツ)_/¯\"; // Could use words but it'd require translations\n    display: block;\n    margin: 1em;\n    text-align: center;\n  }\n\n  > p {\n    line-height: 1.3;\n    padding: 1em;\n    margin: 0;\n  }\n}\n\n.panel-heading,\n.panel-footer {\n  --panel-heading-height-padding: 0.6em;\n  --__panel-heading-gap: 0.5em;\n  --__panel-heading-height: 3.2em;\n  --__panel-heading-height-inner: calc(var(--__panel-heading-height) - 2 * var(--panel-heading-height-padding, 0));\n\n  position: relative;\n  box-sizing: border-box;\n  display: grid;\n  grid-auto-flow: column;\n  grid-template-columns: minmax(50%, 1fr);\n  grid-auto-columns: auto;\n  grid-column-gap: var(--__panel-heading-gap);\n  flex: none;\n  background-size: cover;\n  padding: var(--panel-heading-height-padding);\n  height: var(--__panel-heading-height);\n  line-height: var(--__panel-heading-height-inner);\n  z-index: 4;\n\n  &.-flexible-height {\n    --__panel-heading-height: auto;\n\n    &::after,\n    &::before {\n      display: none;\n    }\n  }\n\n  &.-stub {\n    &,\n    &::after {\n      border-radius: $fallback--panelRadius;\n      border-radius: var(--panelRadius, $fallback--panelRadius);\n    }\n  }\n\n  &.-sticky {\n    position: sticky;\n    top: var(--navbar-height);\n  }\n\n  &::after,\n  &::before {\n    content: \"\";\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    right: 0;\n    left: 0;\n    pointer-events: none;\n  }\n\n  .title {\n    font-size: 1.3em;\n  }\n\n  .alert {\n    white-space: nowrap;\n    text-overflow: ellipsis;\n    overflow-x: hidden;\n  }\n\n  &:not(.-flexible-height) {\n    > .button-default,\n    > .alert {\n      height: var(--__panel-heading-height-inner);\n      min-height: 0;\n      box-sizing: border-box;\n      margin: 0;\n      min-width: 1px;\n      padding-top: 0;\n      padding-bottom: 0;\n      align-self: stretch;\n    }\n  }\n}\n\n// TODO Should refactor panels into separate component and utilize slots\n\n.panel-heading {\n  border-radius: $fallback--panelRadius $fallback--panelRadius 0 0;\n  border-radius: var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius) 0 0;\n  border-width: 0 0 1px;\n  align-items: start;\n  // panel theme\n  color: var(--panelText);\n  background-color: $fallback--bg;\n  background-color: var(--bg, $fallback--bg);\n\n  &::after {\n    background-color: $fallback--fg;\n    background-color: var(--panel, $fallback--fg);\n    z-index: -2;\n    border-radius: $fallback--panelRadius $fallback--panelRadius 0 0;\n    border-radius: var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius) 0 0;\n    box-shadow: var(--panelHeaderShadow);\n  }\n\n  a,\n  .-link {\n    color: $fallback--link;\n    color: var(--panelLink, $fallback--link);\n  }\n\n  .button-unstyled:hover,\n  a:hover {\n    i[class*=\"icon-\"],\n    .svg-inline--fa,\n    .iconLetter {\n      color: var(--panelText);\n    }\n  }\n\n  .faint {\n    background-color: transparent;\n    color: $fallback--faint;\n    color: var(--panelFaint, $fallback--faint);\n  }\n\n  .faint-link {\n    color: $fallback--faint;\n    color: var(--faintLink, $fallback--faint);\n  }\n\n  &:not(.-flexible-height) {\n    > .button-default {\n      flex-shrink: 0;\n\n      &,\n      i[class*=\"icon-\"] {\n        color: $fallback--text;\n        color: var(--btnPanelText, $fallback--text);\n      }\n\n      &:active {\n        background-color: $fallback--fg;\n        background-color: var(--btnPressedPanel, $fallback--fg);\n        color: $fallback--text;\n        color: var(--btnPressedPanelText, $fallback--text);\n      }\n\n      &:disabled {\n        color: $fallback--text;\n        color: var(--btnDisabledPanelText, $fallback--text);\n      }\n\n      &.toggled {\n        color: $fallback--text;\n        color: var(--btnToggledPanelText, $fallback--text);\n      }\n    }\n  }\n\n  .rightside-button {\n    align-self: stretch;\n    text-align: center;\n    width: var(--__panel-heading-height);\n    height: var(--__panel-heading-height);\n    margin: calc(-1 * var(--panel-heading-height-padding)) 0;\n    margin-right: calc(-1 * var(--__panel-heading-gap));\n\n    > button {\n      box-sizing: border-box;\n      padding: calc(1 * var(--panel-heading-height-padding)) 0;\n      height: 100%;\n      width: 100%;\n      text-align: center;\n\n      svg {\n        font-size: 1.2em;\n      }\n    }\n  }\n\n  .rightside-icon {\n    align-self: stretch;\n    text-align: center;\n    width: var(--__panel-heading-height);\n    margin-right: calc(-1 * var(--__panel-heading-gap));\n\n    svg {\n      font-size: 1.2em;\n    }\n  }\n}\n\n.panel-footer {\n  border-radius: 0 0 $fallback--panelRadius $fallback--panelRadius;\n  border-radius: 0 0 var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius);\n  align-items: center;\n  border-width: 1px 0 0;\n  border-style: solid;\n  border-color: var(--border, $fallback--border);\n}\n/* stylelint-enable no-descending-specificity */\n","\n@import \"../../variables\";\n\n.thread-tree-replies {\n  margin-left: var(--status-margin, $status-margin);\n  border-left: 2px solid var(--border, $fallback--border);\n}\n\n.thread-tree-replies-hidden {\n  padding: var(--status-margin, $status-margin);\n\n  /* Make the button stretch along the whole row */\n  display: flex;\n  align-items: stretch;\n  flex-direction: column;\n}\n","\n@import \"../../variables\";\n\n.Conversation {\n  z-index: 1;\n\n  .conversation-dive-to-top-level-box {\n    padding: var(--status-margin, $status-margin);\n    border-bottom: 1px solid var(--border, $fallback--border);\n    border-radius: 0;\n\n    /* Make the button stretch along the whole row */\n    display: flex;\n    align-items: stretch;\n    flex-direction: column;\n  }\n\n  .thread-ancestors {\n    margin-left: var(--status-margin, $status-margin);\n    border-left: 2px solid var(--border, $fallback--border);\n  }\n\n  .thread-ancestor.-faded .StatusContent {\n    --link: var(--faintLink);\n    --text: var(--faint);\n\n    color: var(--text);\n  }\n\n  .thread-ancestor-dive-box {\n    padding-left: var(--status-margin, $status-margin);\n    border-bottom: 1px solid var(--border, $fallback--border);\n    border-radius: 0;\n\n    /* Make the button stretch along the whole row */\n    &,\n    &-inner {\n      display: flex;\n      align-items: stretch;\n      flex-direction: column;\n    }\n  }\n\n  .thread-ancestor-dive-box-inner {\n    padding: var(--status-margin, $status-margin);\n  }\n\n  .conversation-status {\n    border-bottom: 1px solid var(--border, $fallback--border);\n    border-radius: 0;\n  }\n\n  .thread-ancestor-has-other-replies .conversation-status,\n  &:last-child .conversation-status,\n  .thread-ancestor:last-child .conversation-status,\n  .thread-ancestor:last-child .thread-ancestor-dive-box,\n  &.-expanded .thread-tree .conversation-status {\n    border-bottom: none;\n  }\n\n  .thread-ancestors + .thread-tree > .conversation-status {\n    border-top: 1px solid var(--border, $fallback--border);\n  }\n\n  /* expanded conversation in timeline */\n  &.status-fadein.-expanded .thread-body {\n    border-left: 4px solid $fallback--cRed;\n    border-left-color: var(--cRed, $fallback--cRed);\n    border-radius: 0 0 $fallback--panelRadius $fallback--panelRadius;\n    border-radius: 0 0 var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius);\n    border-bottom: 1px solid var(--border, $fallback--border);\n  }\n\n  &.-expanded.status-fadein {\n    margin: calc(var(--status-margin, $status-margin) / 2);\n  }\n}\n","\n@import \"../../variables\";\n\n.timeline-menu-popover {\n  min-width: 24rem;\n  max-width: 100vw;\n  margin-top: 0.6rem;\n  font-size: 1rem;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n\n  ul {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n  }\n\n  a {\n    display: block;\n    padding: 0 0.65em;\n    height: 3.5em;\n    line-height: 3.5em;\n\n    &:hover {\n      background-color: $fallback--lightBg;\n      background-color: var(--selectedMenu, $fallback--lightBg);\n      color: $fallback--link;\n      color: var(--selectedMenuText, $fallback--link);\n\n      --faint: var(--selectedMenuFaintText, $fallback--faint);\n      --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n      --lightText: var(--selectedMenuLightText, $fallback--lightText);\n      --icon: var(--selectedMenuIcon, $fallback--icon);\n    }\n\n    &.router-link-active {\n      font-weight: bolder;\n      background-color: $fallback--lightBg;\n      background-color: var(--selectedMenu, $fallback--lightBg);\n      color: $fallback--text;\n      color: var(--selectedMenuText, $fallback--text);\n\n      --faint: var(--selectedMenuFaintText, $fallback--faint);\n      --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n      --lightText: var(--selectedMenuLightText, $fallback--lightText);\n      --icon: var(--selectedMenuIcon, $fallback--icon);\n\n      &:hover {\n        text-decoration: underline;\n      }\n    }\n\n    svg {\n      margin-right: 0.4em;\n      margin-left: -0.2em;\n    }\n  }\n\n  li {\n    border-bottom: 1px solid;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n    padding: 0;\n\n    &:last-child a {\n      border-bottom-right-radius: $fallback--panelRadius;\n      border-bottom-right-radius: var(--panelRadius, $fallback--panelRadius);\n      border-bottom-left-radius: $fallback--panelRadius;\n      border-bottom-left-radius: var(--panelRadius, $fallback--panelRadius);\n    }\n\n    &:last-child {\n      border: none;\n    }\n  }\n}\n\n.TimelineMenu {\n  margin-right: auto;\n  min-width: 0;\n\n  .popover-trigger-button {\n    vertical-align: bottom;\n  }\n\n  .panel::after {\n    border-top-right-radius: 0;\n    border-top-left-radius: 0;\n  }\n\n  .timeline-menu-title {\n    margin: 0;\n    cursor: pointer;\n    user-select: none;\n    width: 100%;\n    display: flex;\n\n    .timeline-menu-name {\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    svg {\n      margin-left: 0.6em;\n      transition: transform 100ms;\n    }\n\n    .click-blocker {\n      cursor: default;\n      flex-grow: 1;\n    }\n  }\n\n  &.open .timeline-menu-title svg {\n    color: $fallback--text;\n    color: var(--panelText, $fallback--text);\n    transform: rotate(180deg);\n  }\n\n  .panel {\n    box-shadow: var(--popoverShadow);\n  }\n}\n","@import \"../../variables\";\n\n.Timeline {\n  .alert-dot {\n    border-radius: 100%;\n    height: 8px;\n    width: 8px;\n    position: absolute;\n    left: calc(50% - 4px);\n    top: calc(50% - 4px);\n    margin-left: 6px;\n    margin-top: -6px;\n    background-color: var(--badgeNeutral);\n  }\n\n  .alert-badge {\n    font-size: 0.75em;\n    line-height: 1;\n    text-align: right;\n    border-radius: var(--tooltipRadius);\n    position: absolute;\n    left: calc(50% - 0.5em);\n    top: calc(50% - 0.4em);\n    padding: 0.2em;\n    margin-left: 0.7em;\n    margin-top: -1em;\n    background-color: var(--badgeNeutral);\n    color: var(--badgeNeutralText);\n  }\n\n  .loadmore-button {\n    position: relative;\n  }\n\n  &.-blocked {\n    cursor: progress;\n  }\n\n  .conversation-heading {\n    top: calc(var(--__panel-heading-height) * var(--currentPanelStack, 2));\n    z-index: 2;\n  }\n\n  &.-nonpanel {\n    .timeline-heading {\n      text-align: center;\n      line-height: 2.75em;\n      padding: 0 0.5em;\n\n      .button-default,\n      .alert {\n        line-height: 2em;\n        width: 100%;\n      }\n    }\n  }\n}\n","@import \"../../variables\";\n\n/* stylelint-disable no-descending-specificity */\n.tab-switcher {\n  display: flex;\n\n  .tab-icon {\n    margin: 0.2em auto;\n    display: block;\n  }\n\n  &.top-tabs {\n    flex-direction: column;\n\n    > .tabs {\n      width: 100%;\n      overflow-y: hidden;\n      overflow-x: auto;\n      padding-top: 5px;\n      flex-direction: row;\n      flex: 0 0 auto;\n\n      &::after,\n      &::before {\n        content: \"\";\n        flex: 1 1 auto;\n        border-bottom: 1px solid;\n        border-bottom-color: $fallback--border;\n        border-bottom-color: var(--border, $fallback--border);\n      }\n\n      .tab-wrapper {\n        height: 2em;\n\n        &:not(.active)::after {\n          left: 0;\n          right: 0;\n          bottom: 0;\n          border-bottom: 1px solid;\n          border-bottom-color: $fallback--border;\n          border-bottom-color: var(--border, $fallback--border);\n        }\n      }\n\n      .tab {\n        width: 100%;\n        min-width: 1px;\n        border-bottom-left-radius: 0;\n        border-bottom-right-radius: 0;\n        padding-bottom: 99px;\n        margin-bottom: 6px - 99px;\n      }\n    }\n\n    .contents.scrollable-tabs {\n      flex-basis: 0;\n    }\n  }\n\n  &.side-tabs {\n    flex-direction: row;\n\n    @media all and (max-width: 800px) {\n      overflow-x: auto;\n    }\n\n    > .contents {\n      flex: 1 1 auto;\n    }\n\n    > .tabs {\n      flex: 0 0 auto;\n      overflow-y: auto;\n      overflow-x: hidden;\n      flex-direction: column;\n\n      &::after,\n      &::before {\n        flex-shrink: 0;\n        flex-basis: 0.5em;\n        content: \"\";\n        border-right: 1px solid;\n        border-right-color: $fallback--border;\n        border-right-color: var(--border, $fallback--border);\n      }\n\n      &::after {\n        flex-grow: 1;\n      }\n\n      &::before {\n        flex-grow: 0;\n      }\n\n      .tab-wrapper {\n        min-width: 10em;\n        display: flex;\n        flex-direction: column;\n\n        @media all and (max-width: 800px) {\n          min-width: 4em;\n        }\n\n        &:not(.active)::after {\n          top: 0;\n          right: 0;\n          bottom: 0;\n          border-right: 1px solid;\n          border-right-color: $fallback--border;\n          border-right-color: var(--border, $fallback--border);\n        }\n\n        &::before {\n          flex: 0 0 6px;\n          content: \"\";\n          border-right: 1px solid;\n          border-right-color: $fallback--border;\n          border-right-color: var(--border, $fallback--border);\n        }\n\n        &:last-child .tab {\n          margin-bottom: 0;\n        }\n      }\n\n      .tab {\n        flex: 1;\n        box-sizing: content-box;\n        min-width: 10em;\n        min-width: 1px;\n        border-top-right-radius: 0;\n        border-bottom-right-radius: 0;\n        padding-left: 1em;\n        padding-right: calc(1em + 200px);\n        margin-right: -200px;\n        margin-left: 1em;\n\n        @media all and (max-width: 800px) {\n          padding-left: 0.25em;\n          padding-right: calc(0.25em + 200px);\n          margin-right: calc(0.25em - 200px);\n          margin-left: 0.25em;\n\n          .text {\n            display: none;\n          }\n        }\n      }\n    }\n  }\n\n  .contents {\n    flex: 1 0 auto;\n    min-height: 0;\n\n    .hidden {\n      display: none;\n    }\n\n    .full-height:not(.hidden) {\n      height: 100%;\n      display: flex;\n      flex-direction: column;\n\n      > *:not(.mobile-label) {\n        flex: 1;\n      }\n    }\n\n    &.scrollable-tabs {\n      overflow-y: auto;\n    }\n  }\n\n  .tab {\n    position: relative;\n    white-space: nowrap;\n    padding: 6px 1em;\n\n    &:not(.active) {\n      z-index: 4;\n\n      &:hover {\n        z-index: 6;\n      }\n    }\n\n    &.active {\n      background: transparent;\n      z-index: 5;\n      color: $fallback--text;\n      color: var(--tabActiveText, $fallback--text);\n    }\n\n    img {\n      max-height: 26px;\n      vertical-align: top;\n      margin-top: -5px;\n    }\n  }\n\n  .tabs {\n    display: flex;\n    position: relative;\n    box-sizing: border-box;\n\n    &::after,\n    &::before {\n      display: block;\n      flex: 1 1 auto;\n    }\n  }\n\n  .tab-wrapper {\n    position: relative;\n    display: flex;\n    flex: 0 0 auto;\n\n    &:not(.active) {\n      &::after {\n        content: \"\";\n        position: absolute;\n        z-index: 7;\n      }\n    }\n  }\n\n  .mobile-label {\n    padding-left: 0.3em;\n    padding-bottom: 0.25em;\n    margin-top: 0.5em;\n    margin-left: 0.2em;\n    margin-bottom: 0.25em;\n    border-bottom: 1px solid var(--border, $fallback--border);\n\n    @media all and (min-width: 800px) {\n      display: none;\n    }\n  }\n}\n/* stylelint-enable no-descending-specificity */\n","\n@import \"../../variables\";\n\n.chat-title {\n  display: flex;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n\n  --emoji-size: 14px;\n\n  .username {\n    max-width: 100%;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    display: inline;\n    word-wrap: break-word;\n    overflow: hidden;\n  }\n\n  .avatar-container {\n    align-self: center;\n    line-height: 1;\n  }\n\n  .titlebar-avatar {\n    margin-right: 0.5em;\n    height: 1.5em;\n    width: 1.5em;\n    border-radius: $fallback--avatarAltRadius;\n    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n\n    &.animated::before {\n      display: none;\n    }\n  }\n}\n",".chat-list-item {\n  display: flex;\n  flex-direction: row;\n  padding: 0.75em;\n  height: 5em;\n  overflow: hidden;\n  box-sizing: border-box;\n  cursor: pointer;\n\n  :focus {\n    outline: none;\n  }\n\n  &:hover {\n    background-color: var(--selectedPost, $fallback--lightBg);\n    box-shadow: 0 0 3px 1px rgb(0 0 0 / 10%);\n  }\n\n  .chat-list-item-left {\n    margin-right: 1em;\n  }\n\n  .chat-list-item-center {\n    width: 100%;\n    box-sizing: border-box;\n    overflow: hidden;\n    word-wrap: break-word;\n  }\n\n  .heading {\n    width: 100%;\n    display: inline-flex;\n    justify-content: space-between;\n    line-height: 1em;\n  }\n\n  .heading-right {\n    white-space: nowrap;\n  }\n\n  .name-and-account-name {\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    overflow: hidden;\n    flex-shrink: 1;\n    line-height: var(--post-line-height);\n  }\n\n  .chat-preview {\n    display: inline-flex;\n    overflow: hidden;\n    white-space: nowrap;\n    text-overflow: ellipsis;\n    margin: 0.35em 0;\n    color: $fallback--text;\n    color: var(--faint, $fallback--text);\n    width: 100%;\n  }\n\n  a {\n    color: var(--faintLink, $fallback--link);\n    text-decoration: none;\n    pointer-events: none;\n  }\n\n  &:hover .animated.avatar {\n    canvas {\n      display: none;\n    }\n\n    img {\n      visibility: visible;\n    }\n  }\n\n  .Avatar {\n    border-radius: $fallback--avatarAltRadius;\n    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n  }\n\n  .chat-preview-body {\n    --emoji-size: 1.4em;\n\n    padding-right: 1em;\n  }\n\n  .time-wrapper {\n    line-height: var(--post-line-height);\n  }\n}\n","\n.basic-user-card {\n  display: flex;\n  flex: 1 0;\n  margin: 0;\n  padding: 0.6em 1em;\n\n  --emoji-size: 14px;\n\n  &-collapsed-content {\n    margin-left: 0.7em;\n    text-align: left;\n    flex: 1;\n    min-width: 0;\n  }\n\n  &-user-name {\n    img {\n      object-fit: contain;\n      height: 16px;\n      width: 16px;\n      vertical-align: middle;\n    }\n  }\n\n  &-user-name-value,\n  &-screen-name {\n    display: inline-block;\n    max-width: 100%;\n    overflow: hidden;\n    white-space: nowrap;\n    text-overflow: ellipsis;\n  }\n\n  &-expanded-content {\n    flex: 1;\n    margin-left: 0.7em;\n    min-width: 0;\n  }\n}\n",".chat-new {\n  .input-wrap {\n    display: flex;\n    margin: 0.7em 0.5em;\n\n    input {\n      width: 100%;\n    }\n  }\n\n  .search-icon {\n    margin-right: 0.3em;\n  }\n\n  .member-list {\n    padding-bottom: 0.7rem;\n  }\n\n  .basic-user-card:hover {\n    cursor: pointer;\n    background-color: var(--selectedPost, $fallback--lightBg);\n  }\n\n  .go-back-button {\n    text-align: center;\n    line-height: 1;\n    height: 100%;\n    align-self: start;\n    width: var(--__panel-heading-height-inner);\n  }\n}\n","\n@import \"../../variables\";\n\n.chat-list {\n  min-height: 25em;\n  margin-bottom: 0;\n}\n\n.emtpy-chat-list-alert {\n  padding: 3em;\n  font-size: 1.2em;\n  display: flex;\n  justify-content: center;\n  color: $fallback--text;\n  color: var(--faint, $fallback--text);\n}\n\n","@import \"../../variables\";\n\n.chat-message-wrapper {\n  &.hovered-message-chain {\n    .animated.Avatar {\n      canvas {\n        display: none;\n      }\n\n      img {\n        visibility: visible;\n      }\n    }\n  }\n\n  .chat-message-menu {\n    transition: opacity 0.1s;\n    opacity: 0;\n    position: absolute;\n    top: -0.8em;\n\n    button {\n      padding-top: 0.2em;\n      padding-bottom: 0.2em;\n    }\n  }\n\n  .menu-icon {\n    cursor: pointer;\n\n    &:hover,\n    .extra-button-popover.open & {\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n  }\n\n  .popover {\n    width: 12em;\n  }\n\n  .chat-message {\n    display: flex;\n    padding-bottom: 0.5em;\n\n    .status-body:hover {\n      --_still-image-img-visibility: visible;\n      --_still-image-canvas-visibility: hidden;\n      --_still-image-label-visibility: hidden;\n    }\n  }\n\n  .avatar-wrapper {\n    margin-right: 0.72em;\n    width: 32px;\n  }\n\n  .link-preview,\n  .attachments {\n    margin-bottom: 1em;\n  }\n\n  .status {\n    border-radius: $fallback--chatMessageRadius;\n    border-radius: var(--chatMessageRadius, $fallback--chatMessageRadius);\n    display: flex;\n    padding: 0.75em;\n  }\n\n  .created-at {\n    position: relative;\n    float: right;\n    font-size: 0.8em;\n    margin: -1em 0 -0.5em;\n    font-style: italic;\n    opacity: 0.8;\n  }\n\n  .without-attachment {\n    .message-content {\n      // TODO figure out how to do it properly\n      .RichContent::after {\n        margin-right: 5.4em;\n        content: \" \";\n        display: inline-block;\n      }\n    }\n  }\n\n  .pending {\n    .status-content.media-body,\n    .created-at {\n      color: var(--faint);\n    }\n  }\n\n  .error {\n    .status-content.media-body,\n    .created-at {\n      color: $fallback--cRed;\n      color: var(--badgeNotification, $fallback--cRed);\n    }\n  }\n\n  .chat-message-inner {\n    display: flex;\n    flex-direction: column;\n    align-items: flex-start;\n    max-width: 80%;\n    min-width: 10em;\n    width: 100%;\n  }\n\n  .outgoing {\n    display: flex;\n    flex-flow: row wrap;\n    align-content: end;\n    justify-content: flex-end;\n\n    a {\n      color: var(--chatMessageOutgoingLink, $fallback--link);\n    }\n\n    .status {\n      color: var(--chatMessageOutgoingText, $fallback--text);\n      background-color: var(--chatMessageOutgoingBg, $fallback--lightBg);\n      border: 1px solid var(--chatMessageOutgoingBorder, --lightBg);\n    }\n\n    .chat-message-inner {\n      align-items: flex-end;\n    }\n\n    .chat-message-menu {\n      right: 0.4rem;\n    }\n  }\n\n  .incoming {\n    a {\n      color: var(--chatMessageIncomingLink, $fallback--link);\n    }\n\n    .status {\n      color: var(--chatMessageIncomingText, $fallback--text);\n      background-color: var(--chatMessageIncomingBg, $fallback--bg);\n      border: 1px solid var(--chatMessageIncomingBorder, --border);\n    }\n\n    .created-at {\n      a {\n        color: var(--chatMessageIncomingText, $fallback--text);\n      }\n    }\n\n    .chat-message-menu {\n      left: 0.4rem;\n    }\n  }\n\n  .chat-message-inner.with-media {\n    width: 100%;\n\n    .status {\n      width: 100%;\n    }\n  }\n\n  .visible {\n    opacity: 1;\n  }\n}\n\n.chat-message-date-separator {\n  text-align: center;\n  margin: 1.4em 0;\n  font-size: 0.9em;\n  user-select: none;\n  color: $fallback--text;\n  color: var(--faintedText, $fallback--text);\n}\n",".chat-view {\n  display: flex;\n  height: 100%;\n\n  .chat-view-inner {\n    height: auto;\n    width: 100%;\n    overflow: visible;\n    display: flex;\n  }\n\n  .chat-view-body {\n    box-sizing: border-box;\n    background-color: var(--chatBg, $fallback--bg);\n    display: flex;\n    flex-direction: column;\n    width: 100%;\n    overflow: visible;\n    min-height: calc(100vh - var(--navbar-height));\n    margin: 0;\n    border-radius: 10px 10px 0 0;\n    border-radius: var(--panelRadius, 10px) var(--panelRadius, 10px) 0 0;\n\n    &::after {\n      border-radius: 0;\n    }\n  }\n\n  .message-list {\n    padding: 0 0.8em;\n    height: 100%;\n    display: flex;\n    flex-direction: column;\n    justify-content: end;\n  }\n\n  .footer {\n    position: sticky;\n    bottom: 0;\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n    z-index: 1;\n  }\n\n  .chat-view-heading {\n    grid-template-columns: auto minmax(50%, 1fr);\n  }\n\n  .go-back-button {\n    text-align: center;\n    line-height: 1;\n    height: 100%;\n    align-self: start;\n    width: var(--__panel-heading-height-inner);\n  }\n\n  .jump-to-bottom-button {\n    width: 2.5em;\n    height: 2.5em;\n    border-radius: 100%;\n    position: absolute;\n    right: 1.3em;\n    top: -3.2em;\n    background-color: $fallback--fg;\n    background-color: var(--btn, $fallback--fg);\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    box-shadow: 0 1px 1px rgb(0 0 0 / 30%), 0 2px 4px rgb(0 0 0 / 30%);\n    z-index: 10;\n    transition: 0.35s all;\n    transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\n    opacity: 0;\n    visibility: hidden;\n    cursor: pointer;\n\n    &.visible {\n      opacity: 1;\n      visibility: visible;\n    }\n\n    i {\n      font-size: 1em;\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n\n    .unread-message-count {\n      font-size: 0.8em;\n      left: 50%;\n      margin-top: -1rem;\n      padding: 0.1em;\n      border-radius: 50px;\n      position: absolute;\n    }\n\n    .chat-loading-error {\n      width: 100%;\n      display: flex;\n      align-items: flex-end;\n      height: 100%;\n\n      .error {\n        width: 100%;\n      }\n    }\n  }\n}\n","\n.follow-card {\n  &-content-container {\n    flex-shrink: 0;\n    display: flex;\n    flex-flow: row wrap;\n    justify-content: space-between;\n    line-height: 1.5em;\n  }\n\n  &-button {\n    margin-top: 0.5em;\n    padding: 0 1.5em;\n    margin-left: 1em;\n  }\n\n  &-follow-button {\n    margin-top: 0.5em;\n    margin-left: auto;\n    width: 10em;\n  }\n}\n","@import \"../../variables\";\n\n.with-load-more {\n  &-footer {\n    padding: 10px;\n    text-align: center;\n    border-top: 1px solid;\n    border-top-color: $fallback--border;\n    border-top-color: var(--border, $fallback--border);\n\n    .error {\n      font-size: 1rem;\n    }\n\n    a {\n      cursor: pointer;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.user-profile {\n  flex: 2;\n  flex-basis: 500px;\n\n  // No sticky header on user profile\n  --currentPanelStack: 1;\n\n  .user-birthday {\n    margin: 0 0.75em 0.5em;\n  }\n\n  .user-profile-fields {\n    margin: 0 0.5em;\n\n    img {\n      object-fit: contain;\n      vertical-align: middle;\n      max-width: 100%;\n      max-height: 400px;\n\n      &.emoji {\n        width: 18px;\n        height: 18px;\n      }\n    }\n\n    .user-profile-field {\n      display: flex;\n      margin: 0.25em;\n      border: 1px solid var(--border, $fallback--border);\n      border-radius: $fallback--inputRadius;\n      border-radius: var(--inputRadius, $fallback--inputRadius);\n\n      .user-profile-field-name {\n        flex: 0 1 30%;\n        font-weight: 500;\n        text-align: right;\n        color: var(--lightText);\n        min-width: 120px;\n        border-right: 1px solid var(--border, $fallback--border);\n      }\n\n      .user-profile-field-value {\n        flex: 1 1 70%;\n        color: var(--text);\n        margin: 0 0 0 0.25em;\n      }\n\n      .user-profile-field-name,\n      .user-profile-field-value {\n        line-height: 1.3;\n        text-overflow: ellipsis;\n        white-space: nowrap;\n        overflow: hidden;\n        padding: 0.5em 1.5em;\n        box-sizing: border-box;\n      }\n    }\n  }\n\n  .userlist-placeholder {\n    display: flex;\n    justify-content: center;\n    align-items: middle;\n    padding: 2em;\n  }\n}\n\n.user-profile-placeholder {\n  .panel-body {\n    display: flex;\n    justify-content: center;\n    align-items: middle;\n    padding: 7em;\n  }\n}\n","\n@import \"../../variables\";\n\n.search-result-heading {\n  color: $fallback--faint;\n  color: var(--faint, $fallback--faint);\n  padding: 0.75rem;\n  text-align: center;\n}\n\n@media all and (max-width: 800px) {\n  .search-nav-heading {\n    .tab-switcher .tabs .tab-wrapper {\n      display: block;\n      justify-content: center;\n      flex: 1 1 auto;\n      text-align: center;\n    }\n  }\n}\n\n.search-result {\n  box-sizing: border-box;\n  border-bottom: 1px solid;\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n}\n\n.search-result-footer {\n  border-width: 1px 0 0;\n  border-style: solid;\n  border-color: var(--border, $fallback--border);\n  padding: 10px;\n  background-color: $fallback--fg;\n  background-color: var(--panel, $fallback--fg);\n}\n\n.search-input-container {\n  padding: 0.8rem;\n  display: flex;\n  justify-content: center;\n\n  .search-input {\n    width: 100%;\n    line-height: 1.125rem;\n    font-size: 1rem;\n    padding: 0.5rem;\n    box-sizing: border-box;\n  }\n\n  .search-button {\n    margin-left: 0.5em;\n  }\n}\n\n.loading-icon {\n  padding: 1em;\n}\n\n.trend {\n  display: flex;\n  align-items: center;\n\n  .hashtag {\n    flex: 1 1 auto;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  .count {\n    flex: 0 0 auto;\n    width: 2rem;\n    font-size: 1.5rem;\n    line-height: 2.25rem;\n    font-weight: 500;\n    text-align: center;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n  }\n}\n\n.more-statuses-button {\n  height: 3.5em;\n  line-height: 3.5em;\n}\n\n","\n@import \"../../variables\";\n\n.interface-language-switcher {\n  .language-select {\n    margin-right: 1em;\n  }\n}\n","\n@import \"../../variables\";\n$validations-cRed: #f04124;\n\n.registration-form {\n  display: flex;\n  flex-direction: column;\n  margin: 0.6em;\n\n  .container {\n    display: flex;\n    flex-direction: row;\n\n    > * {\n      min-width: 0;\n    }\n  }\n\n  .terms-of-service {\n    flex: 0 1 50%;\n    margin: 0.8em;\n  }\n\n  .text-fields {\n    margin-top: 0.6em;\n    flex: 1 0;\n    display: flex;\n    flex-direction: column;\n  }\n\n  textarea {\n    min-height: 100px;\n    resize: vertical;\n  }\n\n  .form-group {\n    display: flex;\n    flex-direction: column;\n    padding: 0.3em 0;\n    line-height: 2;\n    margin-bottom: 1em;\n  }\n\n  .form-group--error {\n    animation-name: shakeError;\n    animation-duration: 0.6s;\n    animation-timing-function: ease-in-out;\n  }\n\n  .form-group--error .form--label {\n    color: $validations-cRed;\n    color: var(--cRed, $validations-cRed);\n  }\n\n  .form-error {\n    margin-top: -0.7em;\n    text-align: left;\n\n    span {\n      font-size: 0.85em;\n    }\n  }\n\n  .form-error ul {\n    list-style: none;\n    padding: 0 0 0 5px;\n    margin-top: 0;\n\n    li::before {\n      content: \"• \";\n    }\n  }\n\n  form textarea {\n    line-height: 16px;\n    resize: vertical;\n  }\n\n  .captcha {\n    max-width: 350px;\n    margin-bottom: 0.4em;\n  }\n\n  .btn {\n    margin-top: 0.6em;\n    height: 2em;\n  }\n\n  .error {\n    text-align: center;\n  }\n}\n\n@media all and (max-width: 800px) {\n  .registration-form .container {\n    flex-direction: column-reverse;\n  }\n}\n","\n@import \"../../variables\";\n\n.password-reset-form {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  margin: 0.6em;\n\n  .container {\n    display: flex;\n    flex: 1 0;\n    flex-direction: column;\n    margin-top: 0.6em;\n    max-width: 18rem;\n\n    > * {\n      min-width: 0;\n    }\n  }\n\n  .form-group {\n    display: flex;\n    flex-direction: column;\n    margin-bottom: 1em;\n    padding: 0.3em 0;\n    line-height: 1.85em;\n  }\n\n  .error {\n    text-align: center;\n    animation-name: shakeError;\n    animation-duration: 0.4s;\n    animation-timing-function: ease-in-out;\n  }\n\n  .alert {\n    padding: 0.5em;\n    margin: 0.3em 0 1em;\n  }\n\n  .password-reset-required {\n    background-color: var(--alertError, $fallback--alertError);\n    padding: 10px 0;\n  }\n\n  .notice-dismissible {\n    padding-right: 2rem;\n  }\n\n  .dismiss {\n    cursor: pointer;\n  }\n}\n\n","\n.follow-request-card-content-container {\n  display: flex;\n  flex-flow: row wrap;\n\n  button {\n    margin-top: 0.5em;\n    margin-right: 0.5em;\n    flex: 1 1;\n    max-width: 12em;\n    min-width: 8em;\n\n    &:last-child {\n      margin-right: 0;\n    }\n  }\n}\n","\n.tos-content {\n  margin: 1em;\n}\n","\n.staff-group {\n  padding-left: 1em;\n  padding-top: 1em;\n\n  .basic-user-card {\n    padding-left: 0;\n  }\n}\n\n",".mrf-section {\n  margin: 1em;\n\n  table {\n    width: 100%;\n    text-align: left;\n    padding-left: 10px;\n    padding-bottom: 20px;\n\n    th,\n    td {\n      width: 180px;\n      max-width: 360px;\n      overflow: hidden;\n      vertical-align: text-top;\n    }\n\n    th + th,\n    td + td {\n      width: auto;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.list-card {\n  display: flex;\n}\n\n.list-name {\n  flex-grow: 1;\n}\n\n.list-name,\n.button-list-edit {\n  margin: 0;\n  padding: 1em;\n  color: $fallback--link;\n  color: var(--link, $fallback--link);\n\n  &:hover {\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedMenu, $fallback--lightBg);\n    color: $fallback--link;\n    color: var(--selectedMenuText, $fallback--link);\n\n    --faint: var(--selectedMenuFaintText, $fallback--faint);\n    --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n    --lightText: var(--selectedMenuLightText, $fallback--lightText);\n  }\n}\n","\n.Lists {\n  .new-list-button {\n    padding: 0 0.5em;\n  }\n}\n","\n@import \"../../variables\";\n\n.ListsUserSearch {\n  .input-wrap {\n    display: flex;\n    margin: 0.7em 0.5em;\n\n    input {\n      width: 100%;\n    }\n  }\n\n  .search-icon {\n    margin-right: 0.3em;\n  }\n}\n\n","\n@import \"src/variables\";\n\n.panel-loading {\n  display: flex;\n  height: 100%;\n  align-items: center;\n  justify-content: center;\n  font-size: 2em;\n  color: $fallback--text;\n  color: var(--text, $fallback--text);\n\n  .loading-text svg {\n    line-height: 0;\n    vertical-align: middle;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n  }\n}\n","\n@import \"../../variables\";\n\n.ListEdit {\n  --panel-body-padding: 0.5em;\n\n  height: calc(100vh - var(--navbar-height));\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n\n  .list-edit-heading {\n    grid-template-columns: auto minmax(50%, 1fr);\n  }\n\n  .panel-body {\n    display: flex;\n    flex: 1;\n    flex-direction: column;\n    overflow: hidden;\n  }\n\n  .list-member-management {\n    flex: 1 0 auto;\n  }\n\n  .search-icon {\n    margin-right: 0.3em;\n  }\n\n  .users-list {\n    padding-bottom: 0.7rem;\n    overflow-y: auto;\n  }\n\n  & .search-list,\n  & .members-list {\n    overflow: hidden;\n    flex-direction: column;\n    min-height: 0;\n  }\n\n  .go-back-button {\n    text-align: center;\n    line-height: 1;\n    height: 100%;\n    align-self: start;\n    width: var(--__panel-heading-height-inner);\n  }\n\n  .btn {\n    margin: 0 0.5em;\n  }\n\n  .panel-footer {\n    grid-template-columns: minmax(10%, 1fr);\n\n    .footer-button {\n      min-width: 9em;\n    }\n  }\n}\n","\n.announcement-editor {\n  display: flex;\n  align-items: stretch;\n  flex-direction: column;\n\n  .announcement-metadata {\n    margin-top: 0.5em;\n  }\n\n  .post-textarea {\n    resize: vertical;\n    height: 10em;\n    overflow: none;\n    box-sizing: content-box;\n  }\n}\n","\n@import \"../../variables\";\n\n.announcement {\n  border-bottom: 1px solid var(--border, $fallback--border);\n  border-radius: 0;\n  padding: var(--status-margin, $status-margin);\n\n  .heading,\n  .body {\n    margin-bottom: var(--status-margin, $status-margin);\n  }\n\n  .footer {\n    display: flex;\n    flex-direction: column;\n\n    .times {\n      display: flex;\n      flex-direction: column;\n    }\n  }\n\n  .footer .actions {\n    display: flex;\n    flex-direction: row;\n    justify-content: space-evenly;\n\n    .btn {\n      flex: 1;\n      margin: 1em;\n      max-width: 10em;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.announcements-page {\n  .post-form {\n    padding: var(--status-margin, $status-margin);\n\n    .heading,\n    .body {\n      margin-bottom: var(--status-margin, $status-margin);\n    }\n\n    .post-button {\n      min-width: 10em;\n    }\n  }\n}\n"],"names":[],"sourceRoot":""}
+\ No newline at end of file
+diff --git a/priv/static/static/js/159.3a9274574f1e33801c4a.js.map b/priv/static/static/js/159.3a9274574f1e33801c4a.js.map
+deleted file mode 100644
+index 78285051bead319baaa940fbbd034859483754ac..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/159.3a9274574f1e33801c4a.js.map and /dev/null differ
+diff --git a/priv/static/static/js/159.3a9274574f1e33801c4a.js b/priv/static/static/js/159.903e90c9de8ef6c67077.js
+similarity index 96%
+rename from priv/static/static/js/159.3a9274574f1e33801c4a.js
+rename to priv/static/static/js/159.903e90c9de8ef6c67077.js
+index dfbc0f60c142e9f6eae091df0584441b5bb7dd76..c910bd9872b423113df272c655003bd794142997 100644
+Binary files a/priv/static/static/js/159.3a9274574f1e33801c4a.js and b/priv/static/static/js/159.903e90c9de8ef6c67077.js differ
+diff --git a/priv/static/static/js/159.903e90c9de8ef6c67077.js.map b/priv/static/static/js/159.903e90c9de8ef6c67077.js.map
+new file mode 100644
+index 0000000000000000000000000000000000000000..73a1c555c6bff91909cbc07c69d7b7420fe00cb4
+Binary files /dev/null and b/priv/static/static/js/159.903e90c9de8ef6c67077.js.map differ
+diff --git a/priv/static/static/js/2724.e4840c73281069ba54ab.js b/priv/static/static/js/2724.e4840c73281069ba54ab.js
+deleted file mode 100644
+index 32482d4371dbe08c769700f727d9c523dedcb5d6..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/2724.e4840c73281069ba54ab.js and /dev/null differ
+diff --git a/priv/static/static/js/2724.e4840c73281069ba54ab.js.map b/priv/static/static/js/2724.e4840c73281069ba54ab.js.map
+deleted file mode 100644
+index 19607859b29b9e482edc3b11d2a3cf65388c4179..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/2724.e4840c73281069ba54ab.js.map and /dev/null differ
+diff --git a/priv/static/static/js/3733.7060d1e6bca813125a0c.js b/priv/static/static/js/3733.7060d1e6bca813125a0c.js
+new file mode 100644
+index 0000000000000000000000000000000000000000..76ca488f01fa98e14876475949666144045d9db9
+Binary files /dev/null and b/priv/static/static/js/3733.7060d1e6bca813125a0c.js differ
+diff --git a/priv/static/static/js/2724.e4840c73281069ba54ab.js.LICENSE.txt b/priv/static/static/js/3733.7060d1e6bca813125a0c.js.LICENSE.txt
+similarity index 100%
+rename from priv/static/static/js/2724.e4840c73281069ba54ab.js.LICENSE.txt
+rename to priv/static/static/js/3733.7060d1e6bca813125a0c.js.LICENSE.txt
+diff --git a/priv/static/static/js/3733.7060d1e6bca813125a0c.js.map b/priv/static/static/js/3733.7060d1e6bca813125a0c.js.map
+new file mode 100644
+index 0000000000000000000000000000000000000000..9d6635c58f78e4550744b95a52d431a592382280
+Binary files /dev/null and b/priv/static/static/js/3733.7060d1e6bca813125a0c.js.map differ
+diff --git a/priv/static/static/js/48.d7e479b200a6c89c4958.js b/priv/static/static/js/48.b5ecdbc517423af07ca4.js
+similarity index 59%
+rename from priv/static/static/js/48.d7e479b200a6c89c4958.js
+rename to priv/static/static/js/48.b5ecdbc517423af07ca4.js
+index 5475e3d30eb9d560204c0fbcf985bffd7f367bc7..cfb9ae7d1196d9226494fbd990bf515cbd0982df 100644
+Binary files a/priv/static/static/js/48.d7e479b200a6c89c4958.js and b/priv/static/static/js/48.b5ecdbc517423af07ca4.js differ
+diff --git a/priv/static/static/js/48.d7e479b200a6c89c4958.js.LICENSE.txt b/priv/static/static/js/48.b5ecdbc517423af07ca4.js.LICENSE.txt
+similarity index 77%
+rename from priv/static/static/js/48.d7e479b200a6c89c4958.js.LICENSE.txt
+rename to priv/static/static/js/48.b5ecdbc517423af07ca4.js.LICENSE.txt
+index eebbec8f56cdea09a4e88882c35f76859a0888d1..d6dc2a16c2b00f5975051db96e107b5b0dac89b8 100644
+--- a/priv/static/static/js/48.d7e479b200a6c89c4958.js.LICENSE.txt
++++ b/priv/static/static/js/48.b5ecdbc517423af07ca4.js.LICENSE.txt
+@@ -1,11 +1,11 @@
+ /*!
+- * Cropper.js v1.5.12
++ * Cropper.js v1.5.13
+  * https://fengyuanchen.github.io/cropperjs
+  *
+  * Copyright 2015-present Chen Fengyuan
+  * Released under the MIT license
+  *
+- * Date: 2021-06-12T08:00:17.411Z
++ * Date: 2022-11-20T05:30:46.114Z
+  */
+ /*! vue-qrcode v2.0.0 | (c) 2018-present Chen Fengyuan | MIT */
+diff --git a/priv/static/static/js/48.b5ecdbc517423af07ca4.js.map b/priv/static/static/js/48.b5ecdbc517423af07ca4.js.map
+new file mode 100644
+index 0000000000000000000000000000000000000000..0693a5f082c1481c44c5afe9a82aed70144c3520
+Binary files /dev/null and b/priv/static/static/js/48.b5ecdbc517423af07ca4.js.map differ
+diff --git a/priv/static/static/js/48.d7e479b200a6c89c4958.js.map b/priv/static/static/js/48.d7e479b200a6c89c4958.js.map
+deleted file mode 100644
+index cd4ce8e665b4d1487c72bdc629506c9af80fdd14..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/48.d7e479b200a6c89c4958.js.map and /dev/null differ
+diff --git a/priv/static/static/js/5948.2b7b4e97487f2539eb44.js b/priv/static/static/js/5948.2b7b4e97487f2539eb44.js
+deleted file mode 100644
+index 31ffe698034dd4f27368cc067420fa807768f60b..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/5948.2b7b4e97487f2539eb44.js and /dev/null differ
+diff --git a/priv/static/static/js/5948.2b7b4e97487f2539eb44.js.map b/priv/static/static/js/5948.2b7b4e97487f2539eb44.js.map
+deleted file mode 100644
+index cb7a42ed4672fc452498f3ad1eb17c0e4572b592..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/5948.2b7b4e97487f2539eb44.js.map and /dev/null differ
+diff --git a/priv/static/static/js/6464.fea96fa80a7373e4e5f8.js b/priv/static/static/js/6464.eb9c90a1c948cde554e9.js
+similarity index 98%
+rename from priv/static/static/js/6464.fea96fa80a7373e4e5f8.js
+rename to priv/static/static/js/6464.eb9c90a1c948cde554e9.js
+index eda88561609e6386f9f6756608f8df7b5ffb6183..28ca3ceb89cd242f0cce3969a3e0a05efc6f1e6c 100644
+Binary files a/priv/static/static/js/6464.fea96fa80a7373e4e5f8.js and b/priv/static/static/js/6464.eb9c90a1c948cde554e9.js differ
+diff --git a/priv/static/static/js/6464.eb9c90a1c948cde554e9.js.map b/priv/static/static/js/6464.eb9c90a1c948cde554e9.js.map
+new file mode 100644
+index 0000000000000000000000000000000000000000..161864e863391d018ef8faf4bbc069d0b8ddac79
+Binary files /dev/null and b/priv/static/static/js/6464.eb9c90a1c948cde554e9.js.map differ
+diff --git a/priv/static/static/js/6464.fea96fa80a7373e4e5f8.js.map b/priv/static/static/js/6464.fea96fa80a7373e4e5f8.js.map
+deleted file mode 100644
+index a6c978d3649fe4d25bf3b5572f19a6ee1fb7b622..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/6464.fea96fa80a7373e4e5f8.js.map and /dev/null differ
+diff --git a/priv/static/static/js/7586.981b2305a0019f6042a5.js b/priv/static/static/js/7586.981b2305a0019f6042a5.js
+new file mode 100644
+index 0000000000000000000000000000000000000000..ea48cced49535344180820ab3af4c292508e9804
+Binary files /dev/null and b/priv/static/static/js/7586.981b2305a0019f6042a5.js differ
+diff --git a/priv/static/static/js/7586.981b2305a0019f6042a5.js.map b/priv/static/static/js/7586.981b2305a0019f6042a5.js.map
+new file mode 100644
+index 0000000000000000000000000000000000000000..8795927acc5e9336e6c9dc1f770623b6a3bb3313
+Binary files /dev/null and b/priv/static/static/js/7586.981b2305a0019f6042a5.js.map differ
+diff --git a/priv/static/static/js/7962.e25d40b042f8ee7389c3.js b/priv/static/static/js/7962.e25d40b042f8ee7389c3.js
+new file mode 100644
+index 0000000000000000000000000000000000000000..aa740878bc0e24a8b85eecf21def758d00de07c2
+Binary files /dev/null and b/priv/static/static/js/7962.e25d40b042f8ee7389c3.js differ
+diff --git a/priv/static/static/js/7962.e25d40b042f8ee7389c3.js.map b/priv/static/static/js/7962.e25d40b042f8ee7389c3.js.map
+new file mode 100644
+index 0000000000000000000000000000000000000000..cbe1b1bf38e7ba5938a1d8083ff44902afdf8b98
+Binary files /dev/null and b/priv/static/static/js/7962.e25d40b042f8ee7389c3.js.map differ
+diff --git a/priv/static/static/js/9060.24271e167e0471a1a732.js b/priv/static/static/js/9060.24271e167e0471a1a732.js
+new file mode 100644
+index 0000000000000000000000000000000000000000..2113b7bcbb32f114df37572df1b1c866a39d07ae
+Binary files /dev/null and b/priv/static/static/js/9060.24271e167e0471a1a732.js differ
+diff --git a/priv/static/static/js/9060.24271e167e0471a1a732.js.map b/priv/static/static/js/9060.24271e167e0471a1a732.js.map
+new file mode 100644
+index 0000000000000000000000000000000000000000..86061615fe7f70928e05f9d996cc589c7b2f0e5d
+Binary files /dev/null and b/priv/static/static/js/9060.24271e167e0471a1a732.js.map differ
+diff --git a/priv/static/static/js/9114.e761a1c6846fea99aaf1.js b/priv/static/static/js/9114.e761a1c6846fea99aaf1.js
+deleted file mode 100644
+index c358d9906dc118ee121be38f5b2a13b281387f6c..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/9114.e761a1c6846fea99aaf1.js and /dev/null differ
+diff --git a/priv/static/static/js/9114.e761a1c6846fea99aaf1.js.map b/priv/static/static/js/9114.e761a1c6846fea99aaf1.js.map
+deleted file mode 100644
+index 06cfe9bd33cf69a494e34286ec8ae0d01f316d99..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/9114.e761a1c6846fea99aaf1.js.map and /dev/null differ
+diff --git a/priv/static/static/js/9801.99ace6b5dc657bf1a65b.js b/priv/static/static/js/9801.99ace6b5dc657bf1a65b.js
+new file mode 100644
+index 0000000000000000000000000000000000000000..b96ffb7f01b74aa1bd6416551afdb42a3af406fc
+Binary files /dev/null and b/priv/static/static/js/9801.99ace6b5dc657bf1a65b.js differ
+diff --git a/priv/static/static/js/9801.99ace6b5dc657bf1a65b.js.map b/priv/static/static/js/9801.99ace6b5dc657bf1a65b.js.map
+new file mode 100644
+index 0000000000000000000000000000000000000000..5529600fba8e124fa2fda8438dba745a990a0be7
+Binary files /dev/null and b/priv/static/static/js/9801.99ace6b5dc657bf1a65b.js.map differ
+diff --git a/priv/static/static/js/app.7c4b412b26221a7c8572.js b/priv/static/static/js/app.7c4b412b26221a7c8572.js
+new file mode 100644
+index 0000000000000000000000000000000000000000..d48c8194fcb9991f7196657998e5c3c8b068aa06
+Binary files /dev/null and b/priv/static/static/js/app.7c4b412b26221a7c8572.js differ
+diff --git a/priv/static/static/js/app.7c4b412b26221a7c8572.js.map b/priv/static/static/js/app.7c4b412b26221a7c8572.js.map
+new file mode 100644
+index 0000000000000000000000000000000000000000..a21005e3caee9f29135c2b311a3fbdd132a7c873
+Binary files /dev/null and b/priv/static/static/js/app.7c4b412b26221a7c8572.js.map differ
+diff --git a/priv/static/static/js/app.8d2126d35dba9482db51.js b/priv/static/static/js/app.8d2126d35dba9482db51.js
+deleted file mode 100644
+index 62657b9ad544748d161231680b9336f7738825ce..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/app.8d2126d35dba9482db51.js and /dev/null differ
+diff --git a/priv/static/static/js/app.8d2126d35dba9482db51.js.map b/priv/static/static/js/app.8d2126d35dba9482db51.js.map
+deleted file mode 100644
+index 3870add709fa3a59af9b998d19e8945207a5caba..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/app.8d2126d35dba9482db51.js.map and /dev/null differ
+diff --git a/priv/static/static/js/i18n/ar-json.4916f840147303aa65fe.js b/priv/static/static/js/i18n/ar-json.4916f840147303aa65fe.js
+new file mode 100644
+index 0000000000000000000000000000000000000000..d824f3dcd8e3f658f569c058a78e8c272e77e63c
+Binary files /dev/null and b/priv/static/static/js/i18n/ar-json.4916f840147303aa65fe.js differ
+diff --git a/priv/static/static/js/i18n/ar-json.4916f840147303aa65fe.js.map b/priv/static/static/js/i18n/ar-json.4916f840147303aa65fe.js.map
+new file mode 100644
+index 0000000000000000000000000000000000000000..65712172a48e06440b5c28bd5b42eafd37db64a1
+Binary files /dev/null and b/priv/static/static/js/i18n/ar-json.4916f840147303aa65fe.js.map differ
+diff --git a/priv/static/static/js/i18n/ar-json.d09609af3224232857d6.js b/priv/static/static/js/i18n/ar-json.d09609af3224232857d6.js
+deleted file mode 100644
+index 2063421b1aed38e8e4cc6ce4bd35a7c1bd9d972e..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/i18n/ar-json.d09609af3224232857d6.js and /dev/null differ
+diff --git a/priv/static/static/js/i18n/ar-json.d09609af3224232857d6.js.map b/priv/static/static/js/i18n/ar-json.d09609af3224232857d6.js.map
+deleted file mode 100644
+index 3cfdba5bf52ceab0426088f292ed489c1a9865fb..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/i18n/ar-json.d09609af3224232857d6.js.map and /dev/null differ
+diff --git a/priv/static/static/js/i18n/eo-json.6c62eef99e850912498b.js b/priv/static/static/js/i18n/eo-json.6c62eef99e850912498b.js
+new file mode 100644
+index 0000000000000000000000000000000000000000..faf8906d1358e1b24cd72afecf3c3c35285a9582
+Binary files /dev/null and b/priv/static/static/js/i18n/eo-json.6c62eef99e850912498b.js differ
+diff --git a/priv/static/static/js/i18n/eo-json.6c62eef99e850912498b.js.map b/priv/static/static/js/i18n/eo-json.6c62eef99e850912498b.js.map
+new file mode 100644
+index 0000000000000000000000000000000000000000..729878820c150e6329660b7a94e3f3e9273a909b
+Binary files /dev/null and b/priv/static/static/js/i18n/eo-json.6c62eef99e850912498b.js.map differ
+diff --git a/priv/static/static/js/i18n/eo-json.d81690d5be30b23e516b.js b/priv/static/static/js/i18n/eo-json.d81690d5be30b23e516b.js
+deleted file mode 100644
+index 81998d129113ef98502b9bc5f8ebbe78609602ee..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/i18n/eo-json.d81690d5be30b23e516b.js and /dev/null differ
+diff --git a/priv/static/static/js/i18n/eo-json.d81690d5be30b23e516b.js.map b/priv/static/static/js/i18n/eo-json.d81690d5be30b23e516b.js.map
+deleted file mode 100644
+index d00b38656289d8265534ad1702a6e4dda7d919eb..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/i18n/eo-json.d81690d5be30b23e516b.js.map and /dev/null differ
+diff --git a/priv/static/static/js/i18n/id-json.3e42564ce7a3a847ecb0.js b/priv/static/static/js/i18n/id-json.3e42564ce7a3a847ecb0.js
+deleted file mode 100644
+index 5f32c90488aee01c7606537e9f2907dc2cc0a496..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/i18n/id-json.3e42564ce7a3a847ecb0.js and /dev/null differ
+diff --git a/priv/static/static/js/i18n/id-json.3e42564ce7a3a847ecb0.js.map b/priv/static/static/js/i18n/id-json.3e42564ce7a3a847ecb0.js.map
+deleted file mode 100644
+index 93f938a5d2ce4edbfab43bb12006821c2b410c62..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/i18n/id-json.3e42564ce7a3a847ecb0.js.map and /dev/null differ
+diff --git a/priv/static/static/js/i18n/id-json.e5c9ee768155f88128b9.js b/priv/static/static/js/i18n/id-json.e5c9ee768155f88128b9.js
+new file mode 100644
+index 0000000000000000000000000000000000000000..19fd2c9810925e5340f3ca18d5d8dc949495104b
+Binary files /dev/null and b/priv/static/static/js/i18n/id-json.e5c9ee768155f88128b9.js differ
+diff --git a/priv/static/static/js/i18n/id-json.e5c9ee768155f88128b9.js.map b/priv/static/static/js/i18n/id-json.e5c9ee768155f88128b9.js.map
+new file mode 100644
+index 0000000000000000000000000000000000000000..8aae964953608940adf7eae4081c1147d8521919
+Binary files /dev/null and b/priv/static/static/js/i18n/id-json.e5c9ee768155f88128b9.js.map differ
+diff --git a/priv/static/static/js/i18n/ko-json.4bd28b26a7390a09afc2.js b/priv/static/static/js/i18n/ko-json.4bd28b26a7390a09afc2.js
+deleted file mode 100644
+index 9828286f14ebfb08b61193016d15e7a59f9d030b..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/i18n/ko-json.4bd28b26a7390a09afc2.js and /dev/null differ
+diff --git a/priv/static/static/js/i18n/ko-json.4bd28b26a7390a09afc2.js.map b/priv/static/static/js/i18n/ko-json.4bd28b26a7390a09afc2.js.map
+deleted file mode 100644
+index d533234dd8536b13f8deee712981c887863cedf6..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/i18n/ko-json.4bd28b26a7390a09afc2.js.map and /dev/null differ
+diff --git a/priv/static/static/js/i18n/ko-json.9029d09084bb22d8b705.js b/priv/static/static/js/i18n/ko-json.9029d09084bb22d8b705.js
+new file mode 100644
+index 0000000000000000000000000000000000000000..0fa397271ad6fe44a430cb81cbccd42d0baa8b72
+Binary files /dev/null and b/priv/static/static/js/i18n/ko-json.9029d09084bb22d8b705.js differ
+diff --git a/priv/static/static/js/i18n/ko-json.9029d09084bb22d8b705.js.map b/priv/static/static/js/i18n/ko-json.9029d09084bb22d8b705.js.map
+new file mode 100644
+index 0000000000000000000000000000000000000000..3d37b94b412124eb9a8506405ffe3851197a1840
+Binary files /dev/null and b/priv/static/static/js/i18n/ko-json.9029d09084bb22d8b705.js.map differ
+diff --git a/priv/static/static/js/i18n/nan-TW-json.7f2789d8a461e86d1734.js b/priv/static/static/js/i18n/nan-TW-json.7f2789d8a461e86d1734.js
+new file mode 100644
+index 0000000000000000000000000000000000000000..658a3e71f1f9fc2d75baf0ea3c6ef88f2a4c602f
+Binary files /dev/null and b/priv/static/static/js/i18n/nan-TW-json.7f2789d8a461e86d1734.js differ
+diff --git a/priv/static/static/js/i18n/nan-TW-json.7f2789d8a461e86d1734.js.map b/priv/static/static/js/i18n/nan-TW-json.7f2789d8a461e86d1734.js.map
+new file mode 100644
+index 0000000000000000000000000000000000000000..fa8649aa7dedb6108cb097139bf4eab16bc205a2
+Binary files /dev/null and b/priv/static/static/js/i18n/nan-TW-json.7f2789d8a461e86d1734.js.map differ
+diff --git a/priv/static/static/js/i18n/zh-json.63e4c9fe0197374a5dac.js b/priv/static/static/js/i18n/zh-json.5831b903c3e6d281f122.js
+similarity index 58%
+rename from priv/static/static/js/i18n/zh-json.63e4c9fe0197374a5dac.js
+rename to priv/static/static/js/i18n/zh-json.5831b903c3e6d281f122.js
+index 8a96c11c2ff860004e9fff5f907dfc31e6347a8f..6e2fbf61f0fb58d84acadb568c78c48871695c8b 100644
+Binary files a/priv/static/static/js/i18n/zh-json.63e4c9fe0197374a5dac.js and b/priv/static/static/js/i18n/zh-json.5831b903c3e6d281f122.js differ
+diff --git a/priv/static/static/js/i18n/zh-json.5831b903c3e6d281f122.js.map b/priv/static/static/js/i18n/zh-json.5831b903c3e6d281f122.js.map
+new file mode 100644
+index 0000000000000000000000000000000000000000..a844ccca10e3f3faf46f82fd7c6ff0ea0aee4d61
+Binary files /dev/null and b/priv/static/static/js/i18n/zh-json.5831b903c3e6d281f122.js.map differ
+diff --git a/priv/static/static/js/i18n/zh-json.63e4c9fe0197374a5dac.js.map b/priv/static/static/js/i18n/zh-json.63e4c9fe0197374a5dac.js.map
+deleted file mode 100644
+index 1376bc19adc13caec4505d65b6833db145d5b7eb..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/i18n/zh-json.63e4c9fe0197374a5dac.js.map and /dev/null differ
+diff --git a/priv/static/static/js/i18n/zh_Hant-json.bfa569654a5cd74767ce.js.map b/priv/static/static/js/i18n/zh_Hant-json.bfa569654a5cd74767ce.js.map
+deleted file mode 100644
+index 0a369c4bf7bba42a3dda2fc57271a7bafb88ffed..0000000000000000000000000000000000000000
+Binary files a/priv/static/static/js/i18n/zh_Hant-json.bfa569654a5cd74767ce.js.map and /dev/null differ
+diff --git a/priv/static/static/js/i18n/zh_Hant-json.bfa569654a5cd74767ce.js b/priv/static/static/js/i18n/zh_Hant-json.f7e1d0f4b873c60d6396.js
+similarity index 61%
+rename from priv/static/static/js/i18n/zh_Hant-json.bfa569654a5cd74767ce.js
+rename to priv/static/static/js/i18n/zh_Hant-json.f7e1d0f4b873c60d6396.js
+index e14ebce6ba34397252a645419e6354f5b1189974..00f6850b5df2c7cf2635a4c21f680a1c9715e67c 100644
+Binary files a/priv/static/static/js/i18n/zh_Hant-json.bfa569654a5cd74767ce.js and b/priv/static/static/js/i18n/zh_Hant-json.f7e1d0f4b873c60d6396.js differ
+diff --git a/priv/static/static/js/i18n/zh_Hant-json.f7e1d0f4b873c60d6396.js.map b/priv/static/static/js/i18n/zh_Hant-json.f7e1d0f4b873c60d6396.js.map
+new file mode 100644
+index 0000000000000000000000000000000000000000..b8ca3f41510ec6a8004373d3c1566dd0b183576d
+Binary files /dev/null and b/priv/static/static/js/i18n/zh_Hant-json.f7e1d0f4b873c60d6396.js.map differ
+diff --git a/priv/static/sw-pleroma.js b/priv/static/sw-pleroma.js
+index 1ce0be6f7c270b953bb0a4be00c590d2e27193f4..d3273e6e4c0ebb120d81cf02cc6b48450a242cca 100644
+Binary files a/priv/static/sw-pleroma.js and b/priv/static/sw-pleroma.js differ
+diff --git a/priv/static/sw-pleroma.js.map b/priv/static/sw-pleroma.js.map
+index f81d54283bc70edefb1954d9a36b0e2646aa3168..8170d0ecc16c99eb64daee1a44ec1b9146ad5ade 100644
+Binary files a/priv/static/sw-pleroma.js.map and b/priv/static/sw-pleroma.js.map differ
+diff --git a/tools/collect-changelog b/tools/collect-changelog
+new file mode 100755
+index 0000000000000000000000000000000000000000..1e12d5640e235fc05e7f804188d7aa5a541625af
+--- /dev/null
++++ b/tools/collect-changelog
+@@ -0,0 +1,27 @@
++#!/bin/sh
++
++collectType() {
++    local suffix="$1"
++    local header="$2"
++    local printed=0
++    for file in changelog.d/*."$suffix"; do
++        if [ '!' -f "$file" ]; then
++            continue
++        fi
++        if [ "$printed" = 0 ]; then
++            echo
++            echo "### $header"
++            printed=1
++        fi
++        # Normalize any trailing newlines/spaces, etc.
++        echo "- $(cat "$file")"
++    done
++}
++
++collectType security Security
++collectType change Changed
++collectType add Added
++collectType fix Fixed
++collectType remove Removed
++
++rm changelog.d/*
index eb5294eaf36354a400655404525a7c18c3d96211..cb02cfed76bb7cb3c8430873721bbbc92af7797b 100755 (executable)
@@ -1 +1,2 @@
-If you are an instance admin and you want to modify the instace static files, this is probably not the right place to do it. This directory is checked in version control, so don't be surprised if you get merge conflicts after modifying anything here. Please use instance static directory instead, it has the same directory structure and files placed there will override files placed here. See https://docs.pleroma.social/backend/configuration/static_dir/ for more info
+:soy_jack:If you are an instance admin and you want to modify the instace static files, this is probably not the right place to do it. This directory is checked in version control, so don't be surprised if you get merge conflicts after modifying anything here. Please use instance static directory instead, it has the same directory structure and files placed there will override files placed here. See https://docs.pleroma.social/backend/configuration/static_dir/ for more info
+:smoke: EDIT EVERYTHING HERE NOW
index 7dd5d0b783b78bd33399aa4c139451098bbf3d29..52ff685c002c5b4aae07a8f53e74e703a6f65589 100755 (executable)
@@ -1 +1 @@
-<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,user-scalable=no"><!--server-generated-meta--><link rel=icon type=image/png href=/favicon.png><script defer=defer src=/static/js/2724.e4840c73281069ba54ab.js></script><script defer=defer src=/static/js/app.8d2126d35dba9482db51.js></script><link href=/static/css/app.48e52505beba5b9ab69b.css rel=stylesheet></head><body class=hidden><noscript>To use Pleroma, please enable JavaScript.</noscript><div id=app></div><div id=modal></div><div id=popovers></body></html>
\ No newline at end of file
+<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,user-scalable=no"><!--server-generated-meta--><link rel=icon type=image/png href=/favicon.png><script defer=defer src=/static/js/3733.7060d1e6bca813125a0c.js></script><script defer=defer src=/static/js/app.7c4b412b26221a7c8572.js></script><link href=/static/css/app.c18a2c80794a1b699a61.css rel=stylesheet></head><body class=hidden><noscript>To use Pleroma, please enable JavaScript.</noscript><div id=app></div><div id=modal></div><div id=popovers></body></html>
\ No newline at end of file
diff --git a/priv/static/static/css/5948.06d2a0d84620cba6a4fb.css.map b/priv/static/static/css/5948.06d2a0d84620cba6a4fb.css.map
deleted file mode 100755 (executable)
index 72f22de..0000000
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/css/5948.06d2a0d84620cba6a4fb.css","mappings":"AACA,uBAGE,mBAFA,aACA,YAEA,uBAEA,4BACE,YACA,iBCPJ,gBACE,gBAEA,2DAEE,qBACA,iBAEA,iEACE,mBAGF,mFACE,gBAIJ,sCAOE,YADA,eALA,gBACA,qBAEA,wBADA,uCAEA,YAEA,CAEA,yBATF,sCAWI,YADA,eACA,EAGF,kDACE,YACA,kBAEA,uDACE,eACA,eACA,cAKN,iCACE,aAEA,mCACE,kBAGF,gDACE,aACA,YAKF,2CASE,8CAEA,yBAXF,2CAgBI","sources":["webpack://pleroma_fe/./src/components/async_component_error/async_component_error.vue","webpack://pleroma_fe/./src/components/settings_modal/settings_modal.scss"],"sourcesContent":["\n.async-component-error {\n  display: flex;\n  height: 100%;\n  align-items: center;\n  justify-content: center;\n\n  .btn {\n    margin: 0.5em;\n    padding: 0.5em 2em;\n  }\n}\n","@import \"src/variables\";\n\n.settings-modal {\n  overflow: hidden;\n\n  .setting-list,\n  .option-list {\n    list-style-type: none;\n    padding-left: 2em;\n\n    li {\n      margin-bottom: 0.5em;\n    }\n\n    .suboptions {\n      margin-top: 0.3em;\n    }\n  }\n\n  .settings-modal-panel {\n    overflow: hidden;\n    transition: transform;\n    transition-timing-function: ease-in-out;\n    transition-duration: 300ms;\n    width: 1000px;\n    max-width: 90vw;\n    height: 90vh;\n\n    @media all and (max-width: 800px) {\n      max-width: 100vw;\n      height: 100%;\n    }\n\n    >.panel-body {\n      height: 100%;\n      overflow-y: hidden;\n\n      .btn {\n        min-height: 2em;\n        min-width: 10em;\n        padding: 0 2em;\n      }\n    }\n  }\n\n  .settings-footer {\n    display: flex;\n\n    >* {\n      margin-right: 0.5em;\n    }\n\n    .extra-content {\n      display: flex;\n      flex-grow: 1;\n    }\n  }\n\n  &.peek {\n    .settings-modal-panel {\n      /* Explanation:\n       * Modal is positioned vertically centered.\n       * 100vh - 100% = Distance between modal's top+bottom boundaries and screen\n       * (100vh - 100%) / 2 = Distance between bottom (or top) boundary and screen\n       * + 100% - we move modal completely off-screen, it's top boundary touches\n       *   bottom of the screen\n       * - 50px - leaving tiny amount of space so that titlebar + tiny amount of modal is visible\n       */\n      transform: translateY(calc(((100vh - 100%) / 2 + 100%) - 50px));\n\n      @media all and (max-width: 800px) {\n        /* For mobile, the modal takes 100% of the available screen.\n           This ensures the minimized modal is always 50px above the browser bottom\n           bar regardless of whether or not it is visible.\n        */\n        transform: translateY(calc(100% - 50px));\n      }\n    }\n  }\n}\n"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/priv/static/static/css/7586.0d43f70bc6240422f179.css b/priv/static/static/css/7586.0d43f70bc6240422f179.css
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/css/7586.0d43f70bc6240422f179.css.map b/priv/static/static/css/7586.0d43f70bc6240422f179.css.map
new file mode 100644 (file)
index 0000000..f8f61fe
--- /dev/null
@@ -0,0 +1 @@
+{"version":3,"file":"static/css/7586.0d43f70bc6240422f179.css","mappings":"AACA,uBAGE,mBAFA,aACA,YAEA,uBAEA,4BACE,YACA,iBCPJ,gBACE,gBAEA,2DAEE,qBACA,iBAEA,iEACE,mBAGF,mFACE,gBAIJ,qCAGE,cADA,kBADA,eAEA,CAGF,sCAOE,YADA,eALA,gBACA,qBAEA,wBADA,uCAEA,YAEA,CAEA,yBATF,sCAWI,YADA,eACA,EAGF,kDACE,YACA,kBAEA,uDACE,eAGF,6EACE,cAKN,iCACE,aACA,eACA,cAEA,mCACE,kBAGF,gDACE,aACA,YAKF,2CASE,8CAEA,yBAXF,2CAgBI","sources":["webpack://pleroma_fe/./src/components/async_component_error/async_component_error.vue","webpack://pleroma_fe/./src/components/settings_modal/settings_modal.scss"],"sourcesContent":["\n.async-component-error {\n  display: flex;\n  height: 100%;\n  align-items: center;\n  justify-content: center;\n\n  .btn {\n    margin: 0.5em;\n    padding: 0.5em 2em;\n  }\n}\n","@import \"src/variables\";\n\n.settings-modal {\n  overflow: hidden;\n\n  .setting-list,\n  .option-list {\n    list-style-type: none;\n    padding-left: 2em;\n\n    li {\n      margin-bottom: 0.5em;\n    }\n\n    .suboptions {\n      margin-top: 0.3em;\n    }\n  }\n\n  .setting-description {\n    margin-top: 0.2em;\n    margin-bottom: 2em;\n    font-size: 70%;\n  }\n\n  .settings-modal-panel {\n    overflow: hidden;\n    transition: transform;\n    transition-timing-function: ease-in-out;\n    transition-duration: 300ms;\n    width: 1000px;\n    max-width: 90vw;\n    height: 90vh;\n\n    @media all and (max-width: 800px) {\n      max-width: 100vw;\n      height: 100%;\n    }\n\n    >.panel-body {\n      height: 100%;\n      overflow-y: hidden;\n\n      .btn {\n        min-height: 2em;\n      }\n\n      .btn:not(.dropdown-button) {\n        padding: 0 2em;\n      }\n    }\n  }\n\n  .settings-footer {\n    display: flex;\n    flex-wrap: wrap;\n    line-height: 2;\n\n    >* {\n      margin-right: 0.5em;\n    }\n\n    .extra-content {\n      display: flex;\n      flex-grow: 1;\n    }\n  }\n\n  &.peek {\n    .settings-modal-panel {\n      /* Explanation:\n       * Modal is positioned vertically centered.\n       * 100vh - 100% = Distance between modal's top+bottom boundaries and screen\n       * (100vh - 100%) / 2 = Distance between bottom (or top) boundary and screen\n       * + 100% - we move modal completely off-screen, it's top boundary touches\n       *   bottom of the screen\n       * - 50px - leaving tiny amount of space so that titlebar + tiny amount of modal is visible\n       */\n      transform: translateY(calc(((100vh - 100%) / 2 + 100%) - 50px));\n\n      @media all and (max-width: 800px) {\n        /* For mobile, the modal takes 100% of the available screen.\n           This ensures the minimized modal is always 50px above the browser bottom\n           bar regardless of whether or not it is visible.\n        */\n        transform: translateY(calc(100% - 50px));\n      }\n    }\n  }\n}\n"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/priv/static/static/css/7962.76663e78ad5ea0bb0b90.css b/priv/static/static/css/7962.76663e78ad5ea0bb0b90.css
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/css/7962.76663e78ad5ea0bb0b90.css.map b/priv/static/static/css/7962.76663e78ad5ea0bb0b90.css.map
new file mode 100644 (file)
index 0000000..9d501f2
--- /dev/null
@@ -0,0 +1 @@
+{"version":3,"file":"static/css/7962.76663e78ad5ea0bb0b90.css","mappings":"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","sources":["webpack://pleroma_fe/./src/components/importer/importer.vue","webpack://pleroma_fe/./src/components/exporter/exporter.vue","webpack://pleroma_fe/./src/components/autosuggest/autosuggest.vue","webpack://pleroma_fe/./src/_variables.scss","webpack://pleroma_fe/./src/components/block_card/block_card.vue","webpack://pleroma_fe/./src/components/mute_card/mute_card.vue","webpack://pleroma_fe/./src/components/domain_mute_card/domain_mute_card.vue","webpack://pleroma_fe/./src/components/selectable_list/selectable_list.vue","webpack://pleroma_fe/./src/hocs/with_subscription/with_subscription.scss","webpack://pleroma_fe/./src/components/settings_modal/tabs/mutes_and_blocks_tab.scss","webpack://pleroma_fe/./src/components/settings_modal/helpers/modified_indicator.vue","webpack://pleroma_fe/./src/components/settings_modal/helpers/profile_setting_indicator.vue","webpack://pleroma_fe/./src/components/settings_modal/helpers/draft_buttons.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/security_tab/mfa.vue","webpack://pleroma_fe/./node_modules/cropperjs/dist/cropper.css","webpack://pleroma_fe/./src/components/image_cropper/image_cropper.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/profile_tab.scss","webpack://pleroma_fe/./src/components/settings_modal/helpers/size_setting.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/general_tab.vue","webpack://pleroma_fe/./src/components/color_input/color_input.scss","webpack://pleroma_fe/./src/components/color_input/color_input.vue","webpack://pleroma_fe/./src/components/shadow_control/shadow_control.vue","webpack://pleroma_fe/./src/components/font_control/font_control.vue","webpack://pleroma_fe/./src/components/contrast_ratio/contrast_ratio.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/theme_tab/preview.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/theme_tab/theme_tab.scss","webpack://pleroma_fe/./src/components/settings_modal/settings_modal_user_content.scss"],"sourcesContent":["\n.importer {\n  &-uploading {\n    font-size: 1.5em;\n    margin: 0.25em;\n  }\n}\n","\n.exporter {\n  &-processing {\n    margin: 0.25em;\n  }\n}\n","\n@import \"../../variables\";\n\n.autosuggest {\n  position: relative;\n\n  &-input {\n    display: block;\n    width: 100%;\n  }\n\n  &-results {\n    position: absolute;\n    left: 0;\n    top: 100%;\n    right: 0;\n    max-height: 400px;\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n    border-style: solid;\n    border-width: 1px;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n    border-radius: $fallback--inputRadius;\n    border-radius: var(--inputRadius, $fallback--inputRadius);\n    border-top-left-radius: 0;\n    border-top-right-radius: 0;\n    box-shadow: 1px 1px 4px rgb(0 0 0 / 60%);\n    box-shadow: var(--panelShadow);\n    overflow-y: auto;\n    z-index: 1;\n  }\n}\n","$main-color: #f58d2c;\n$main-background: white;\n$darkened-background: whitesmoke;\n\n$fallback--bg: #121a24;\n$fallback--fg: #182230;\n$fallback--faint: rgb(185 185 186 / 50%);\n$fallback--text: #b9b9ba;\n$fallback--link: #d8a070;\n$fallback--icon: #666;\n$fallback--lightBg: rgb(21 30 42);\n$fallback--lightText: #b9b9ba;\n$fallback--border: #222;\n$fallback--cRed: #f00;\n$fallback--cBlue: #0095ff;\n$fallback--cGreen: #0fa00f;\n$fallback--cOrange: orange;\n\n$fallback--alertError: rgb(211 16 20 / 50%);\n$fallback--alertWarning: rgb(111 111 20 / 50%);\n\n$fallback--panelRadius: 10px;\n$fallback--checkboxRadius: 2px;\n$fallback--btnRadius: 4px;\n$fallback--inputRadius: 4px;\n$fallback--tooltipRadius: 5px;\n$fallback--avatarRadius: 4px;\n$fallback--avatarAltRadius: 10px;\n$fallback--attachmentRadius: 10px;\n$fallback--chatMessageRadius: 10px;\n\n$fallback--buttonShadow: 0 0 2px 0 rgb(0 0 0 / 100%),\n  0 1px 0 0 rgb(255 255 255 / 20%) inset,\n  0 -1px 0 0 rgb(0 0 0 / 20%) inset;\n\n$status-margin: 0.75em;\n","\n.block-card-content-container {\n  margin-top: 0.5em;\n  text-align: right;\n\n  button {\n    width: 10em;\n  }\n}\n","\n.mute-card-content-container {\n  margin-top: 0.5em;\n  text-align: right;\n\n  button {\n    width: 10em;\n  }\n}\n","\n.domain-mute-card {\n  flex: 1 0;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0.6em 1em 0.6em 0;\n\n  &-domain {\n    margin-right: 1em;\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n\n  button {\n    width: 10em;\n  }\n\n  .autosuggest-results & {\n    padding-left: 1em;\n  }\n}\n","\n@import \"../../variables\";\n\n.selectable-list {\n  &-item-inner {\n    display: flex;\n    align-items: center;\n\n    > * {\n      min-width: 0;\n    }\n  }\n\n  &-item-selected-inner {\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedMenu, $fallback--lightBg);\n    color: var(--selectedMenuText, $fallback--text);\n\n    --faint: var(--selectedMenuFaintText, $fallback--faint);\n    --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n    --lightText: var(--selectedMenuLightText, $fallback--lightText);\n    --icon: var(--selectedMenuIcon, $fallback--icon);\n  }\n\n  &-header {\n    display: flex;\n    align-items: center;\n    padding: 0.6em 0;\n    border-bottom: 2px solid;\n    border-bottom-color: $fallback--border;\n    border-bottom-color: var(--border, $fallback--border);\n\n    &-actions {\n      flex: 1;\n    }\n  }\n\n  &-checkbox-wrapper {\n    padding: 0 10px;\n    flex: none;\n  }\n}\n",".with-subscription {\n  &-loading {\n    padding: 10px;\n    text-align: center;\n\n    .error {\n      font-size: 1rem;\n    }\n  }\n}\n",".mutes-and-blocks-tab {\n  height: 100%;\n\n  .usersearch-wrapper {\n    padding: 1em;\n  }\n\n  .bulk-actions {\n    text-align: right;\n    padding: 0 1em;\n    min-height: 2em;\n  }\n\n  .bulk-action-button {\n    width: 10em;\n  }\n\n  .domain-mute-form {\n    padding: 1em;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .domain-mute-button {\n    align-self: flex-end;\n    margin-top: 1em;\n    width: 10em;\n  }\n}\n","\n.ModifiedIndicator {\n  display: inline-block;\n  position: relative;\n}\n\n.modified-tooltip {\n  margin: 0.5em 1em;\n  min-width: 10em;\n  text-align: center;\n}\n","\n.ProfileSettingIndicator {\n  display: inline-block;\n  position: relative;\n}\n\n.profilesetting-tooltip {\n  margin: 0.5em 1em;\n  min-width: 10em;\n  text-align: center;\n}\n","\n.DraftButtons {\n  display: inline-block;\n  position: relative;\n\n  .button-default {\n    margin-left: 0.5em;\n  }\n}\n\n.draft-tooltip {\n  margin: 0.5em 1em;\n  min-width: 10em;\n  text-align: center;\n}\n","\n@import \"../../../../variables\";\n\n.mfa-backup-codes {\n  .warning {\n    color: $fallback--cOrange;\n    color: var(--cOrange, $fallback--cOrange);\n  }\n\n  .backup-codes {\n    font-family: var(--postCodeFont, monospace);\n  }\n}\n","\n@import \"../../../../variables\";\n\n.mfa-settings {\n  .mfa-heading,\n  .method-item {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: space-between;\n    align-items: baseline;\n  }\n\n  .warning {\n    color: $fallback--cOrange;\n    color: var(--cOrange, $fallback--cOrange);\n  }\n\n  .setup-otp {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n\n    .qr-code {\n      flex: 1;\n      padding-right: 10px;\n    }\n    .verify { flex: 1; }\n    .error { margin: 4px 0 0; }\n\n    .confirm-otp-actions {\n      button {\n        width: 15em;\n        margin-top: 5px;\n      }\n    }\n  }\n}\n","/*!\n * Cropper.js v1.5.13\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2022-11-20T05:30:43.444Z\n */\n\n.cropper-container {\n  direction: ltr;\n  font-size: 0;\n  line-height: 0;\n  position: relative;\n  -ms-touch-action: none;\n      touch-action: none;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n}\n\n.cropper-container img {\n    -webkit-backface-visibility: hidden;\n            backface-visibility: hidden;\n    display: block;\n    height: 100%;\n    image-orientation: 0deg;\n    max-height: none !important;\n    max-width: none !important;\n    min-height: 0 !important;\n    min-width: 0 !important;\n    width: 100%;\n  }\n\n.cropper-wrap-box,\n.cropper-canvas,\n.cropper-drag-box,\n.cropper-crop-box,\n.cropper-modal {\n  bottom: 0;\n  left: 0;\n  position: absolute;\n  right: 0;\n  top: 0;\n}\n\n.cropper-wrap-box,\n.cropper-canvas {\n  overflow: hidden;\n}\n\n.cropper-drag-box {\n  background-color: #fff;\n  opacity: 0;\n}\n\n.cropper-modal {\n  background-color: #000;\n  opacity: 0.5;\n}\n\n.cropper-view-box {\n  display: block;\n  height: 100%;\n  outline: 1px solid #39f;\n  outline-color: rgba(51, 153, 255, 75%);\n  overflow: hidden;\n  width: 100%;\n}\n\n.cropper-dashed {\n  border: 0 dashed #eee;\n  display: block;\n  opacity: 0.5;\n  position: absolute;\n}\n\n.cropper-dashed.dashed-h {\n    border-bottom-width: 1px;\n    border-top-width: 1px;\n    height: calc(100% / 3);\n    left: 0;\n    top: calc(100% / 3);\n    width: 100%;\n  }\n\n.cropper-dashed.dashed-v {\n    border-left-width: 1px;\n    border-right-width: 1px;\n    height: 100%;\n    left: calc(100% / 3);\n    top: 0;\n    width: calc(100% / 3);\n  }\n\n.cropper-center {\n  display: block;\n  height: 0;\n  left: 50%;\n  opacity: 0.75;\n  position: absolute;\n  top: 50%;\n  width: 0;\n}\n\n.cropper-center::before,\n  .cropper-center::after {\n    background-color: #eee;\n    content: \" \";\n    display: block;\n    position: absolute;\n  }\n\n.cropper-center::before {\n    height: 1px;\n    left: -3px;\n    top: 0;\n    width: 7px;\n  }\n\n.cropper-center::after {\n    height: 7px;\n    left: 0;\n    top: -3px;\n    width: 1px;\n  }\n\n.cropper-face,\n.cropper-line,\n.cropper-point {\n  display: block;\n  height: 100%;\n  opacity: 0.1;\n  position: absolute;\n  width: 100%;\n}\n\n.cropper-face {\n  background-color: #fff;\n  left: 0;\n  top: 0;\n}\n\n.cropper-line {\n  background-color: #39f;\n}\n\n.cropper-line.line-e {\n    cursor: ew-resize;\n    right: -3px;\n    top: 0;\n    width: 5px;\n  }\n\n.cropper-line.line-n {\n    cursor: ns-resize;\n    height: 5px;\n    left: 0;\n    top: -3px;\n  }\n\n.cropper-line.line-w {\n    cursor: ew-resize;\n    left: -3px;\n    top: 0;\n    width: 5px;\n  }\n\n.cropper-line.line-s {\n    bottom: -3px;\n    cursor: ns-resize;\n    height: 5px;\n    left: 0;\n  }\n\n.cropper-point {\n  background-color: #39f;\n  height: 5px;\n  opacity: 0.75;\n  width: 5px;\n}\n\n.cropper-point.point-e {\n    cursor: ew-resize;\n    margin-top: -3px;\n    right: -3px;\n    top: 50%;\n  }\n\n.cropper-point.point-n {\n    cursor: ns-resize;\n    left: 50%;\n    margin-left: -3px;\n    top: -3px;\n  }\n\n.cropper-point.point-w {\n    cursor: ew-resize;\n    left: -3px;\n    margin-top: -3px;\n    top: 50%;\n  }\n\n.cropper-point.point-s {\n    bottom: -3px;\n    cursor: s-resize;\n    left: 50%;\n    margin-left: -3px;\n  }\n\n.cropper-point.point-ne {\n    cursor: nesw-resize;\n    right: -3px;\n    top: -3px;\n  }\n\n.cropper-point.point-nw {\n    cursor: nwse-resize;\n    left: -3px;\n    top: -3px;\n  }\n\n.cropper-point.point-sw {\n    bottom: -3px;\n    cursor: nesw-resize;\n    left: -3px;\n  }\n\n.cropper-point.point-se {\n    bottom: -3px;\n    cursor: nwse-resize;\n    height: 20px;\n    opacity: 1;\n    right: -3px;\n    width: 20px;\n  }\n\n@media (min-width: 768px) {\n\n.cropper-point.point-se {\n      height: 15px;\n      width: 15px;\n  }\n    }\n\n@media (min-width: 992px) {\n\n.cropper-point.point-se {\n      height: 10px;\n      width: 10px;\n  }\n    }\n\n@media (min-width: 1200px) {\n\n.cropper-point.point-se {\n      height: 5px;\n      opacity: 0.75;\n      width: 5px;\n  }\n    }\n\n.cropper-point.point-se::before {\n    background-color: #39f;\n    bottom: -50%;\n    content: \" \";\n    display: block;\n    height: 200%;\n    opacity: 0;\n    position: absolute;\n    right: -50%;\n    width: 200%;\n  }\n\n.cropper-invisible {\n  opacity: 0;\n}\n\n.cropper-bg {\n  background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC\");\n}\n\n.cropper-hide {\n  display: block;\n  height: 0;\n  position: absolute;\n  width: 0;\n}\n\n.cropper-hidden {\n  display: none !important;\n}\n\n.cropper-move {\n  cursor: move;\n}\n\n.cropper-crop {\n  cursor: crosshair;\n}\n\n.cropper-disabled .cropper-drag-box,\n.cropper-disabled .cropper-face,\n.cropper-disabled .cropper-line,\n.cropper-disabled .cropper-point {\n  cursor: not-allowed;\n}\n","\n.image-cropper {\n  &-img-input {\n    display: none;\n  }\n\n  &-image-container {\n    position: relative;\n\n    img {\n      display: block;\n      max-width: 100%;\n    }\n  }\n\n  &-buttons-wrapper {\n    margin-top: 10px;\n\n    button {\n      margin-top: 5px;\n    }\n  }\n}\n","@import \"../../../variables\";\n\n.profile-tab {\n  .bio {\n    margin: 0;\n  }\n\n  .visibility-tray {\n    padding-top: 5px;\n  }\n\n  input[type=\"file\"] {\n    padding: 5px;\n    height: auto;\n  }\n\n  .banner-background-preview {\n    max-width: 100%;\n    width: 300px;\n    position: relative;\n\n    img {\n      width: 100%;\n    }\n  }\n\n  .uploading {\n    font-size: 1.5em;\n    margin: 0.25em;\n  }\n\n  .name-changer {\n    width: 100%;\n  }\n\n  .current-avatar-container {\n    position: relative;\n    width: 150px;\n    height: 150px;\n  }\n\n  .current-avatar {\n    display: block;\n    width: 100%;\n    height: 100%;\n    border-radius: $fallback--avatarRadius;\n    border-radius: var(--avatarRadius, $fallback--avatarRadius);\n  }\n\n  .reset-button {\n    position: absolute;\n    top: 0.2em;\n    right: 0.2em;\n    border-radius: $fallback--tooltipRadius;\n    border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n    background-color: rgb(0 0 0 / 60%);\n    opacity: 0.7;\n    width: 1.5em;\n    height: 1.5em;\n    text-align: center;\n    line-height: 1.5em;\n    font-size: 1.5em;\n    cursor: pointer;\n\n    &:hover {\n      opacity: 1;\n    }\n\n    svg {\n      color: white;\n    }\n  }\n\n  .oauth-tokens {\n    width: 100%;\n\n    th {\n      text-align: left;\n    }\n\n    .actions {\n      text-align: right;\n    }\n  }\n\n  &-usersearch-wrapper {\n    padding: 1em;\n  }\n\n  &-bulk-actions {\n    text-align: right;\n    padding: 0 1em;\n    min-height: 2em;\n\n    button {\n      width: 10em;\n    }\n  }\n\n  &-domain-mute-form {\n    padding: 1em;\n    display: flex;\n    flex-direction: column;\n\n    button {\n      align-self: flex-end;\n      margin-top: 1em;\n      width: 10em;\n    }\n  }\n\n  .setting-subitem {\n    margin-left: 1.75em;\n  }\n\n  .profile-fields {\n    display: flex;\n\n    & > .emoji-input {\n      flex: 1 1 auto;\n      margin: 0 0.2em 0.5em;\n      min-width: 0;\n    }\n\n    .delete-field {\n      width: 20px;\n      align-self: center;\n      margin: 0 0.2em 0.5em;\n      padding: 0 0.5em;\n    }\n  }\n\n  .birthday-input {\n    display: block;\n    margin-bottom: 1em;\n  }\n}\n","\n.SizeSetting {\n  .number-input {\n    max-width: 6.5em;\n  }\n\n  .css-unit-input,\n  .css-unit-input select {\n    margin-left: 0.5em;\n    width: 4em;\n    max-width: 4em;\n    min-width: 4em;\n  }\n}\n\n","\n.column-settings {\n  display: flex;\n  justify-content: space-evenly;\n  flex-wrap: wrap;\n}\n\n.column-settings .size-label {\n  display: block;\n  margin-bottom: 0.5em;\n  margin-top: 0.5em;\n}\n","@import \"../../variables\";\n\n.color-input {\n  display: inline-flex;\n\n  &-field.input {\n    display: inline-flex;\n    flex: 0 0 0;\n    max-width: 9em;\n    align-items: stretch;\n    padding: 0.2em 8px;\n\n    input {\n      background: none;\n      color: $fallback--lightText;\n      color: var(--inputText, $fallback--lightText);\n      border: none;\n      padding: 0;\n      margin: 0;\n\n      &.textColor {\n        flex: 1 0 3em;\n        min-width: 3em;\n        padding: 0;\n      }\n\n      &.nativeColor {\n        flex: 0 0 2em;\n        min-width: 2em;\n        align-self: stretch;\n        min-height: 100%;\n      }\n    }\n\n    .computedIndicator,\n    .transparentIndicator {\n      flex: 0 0 2em;\n      min-width: 2em;\n      align-self: stretch;\n      min-height: 100%;\n    }\n\n    .transparentIndicator {\n      // forgot to install counter-strike source, ooops\n      background-color: #f0f;\n      position: relative;\n\n      &::before,\n      &::after {\n        display: block;\n        content: \"\";\n        background-color: #000;\n        position: absolute;\n        height: 50%;\n        width: 50%;\n      }\n\n      &::after {\n        top: 0;\n        left: 0;\n      }\n\n      &::before {\n        bottom: 0;\n        right: 0;\n      }\n    }\n  }\n\n  .label {\n    flex: 1 1 auto;\n  }\n}\n","\n.color-control {\n  input.text-input {\n    max-width: 7em;\n    flex: 1;\n  }\n}\n","\n@import \"../../variables\";\n\n.shadow-control {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  margin-bottom: 1em;\n\n  .shadow-preview-container,\n  .shadow-tweak {\n    margin: 5px 6px 0 0;\n  }\n\n  .shadow-preview-container {\n    flex: 0;\n    display: flex;\n    flex-wrap: wrap;\n\n    $side: 15em;\n\n    input[type=\"number\"] {\n      width: 5em;\n      min-width: 2em;\n    }\n\n    .x-shift-control,\n    .y-shift-control {\n      display: flex;\n      flex: 0;\n\n      &[disabled=\"disabled\"] * {\n        opacity: 0.5;\n      }\n    }\n\n    .x-shift-control {\n      align-items: flex-start;\n    }\n\n    .x-shift-control .wrap,\n    input[type=\"range\"] {\n      margin: 0;\n      width: $side;\n      height: 2em;\n    }\n\n    .y-shift-control {\n      flex-direction: column;\n      align-items: flex-end;\n\n      .wrap {\n        width: 2em;\n        height: $side;\n      }\n\n      input[type=\"range\"] {\n        transform-origin: 1em 1em;\n        transform: rotate(90deg);\n      }\n    }\n\n    .preview-window {\n      flex: 1;\n      background-color: #999;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      background-image:\n        linear-gradient(45deg, #666 25%, transparent 25%),\n        linear-gradient(-45deg, #666 25%, transparent 25%),\n        linear-gradient(45deg, transparent 75%, #666 75%),\n        linear-gradient(-45deg, transparent 75%, #666 75%);\n      background-size: 20px 20px;\n      background-position: 0 0, 0 10px, 10px -10px, -10px 0;\n      border-radius: $fallback--inputRadius;\n      border-radius: var(--inputRadius, $fallback--inputRadius);\n\n      .preview-block {\n        width: 33%;\n        height: 33%;\n        background-color: $fallback--bg;\n        background-color: var(--bg, $fallback--bg);\n        border-radius: $fallback--panelRadius;\n        border-radius: var(--panelRadius, $fallback--panelRadius);\n      }\n    }\n  }\n\n  .shadow-tweak {\n    flex: 1;\n    min-width: 280px;\n\n    .id-control {\n      align-items: stretch;\n\n      .shadow-switcher {\n        flex: 1;\n      }\n\n      .shadow-switcher,\n      .btn {\n        min-width: 1px;\n        margin-right: 5px;\n      }\n\n      .btn {\n        padding: 0 0.4em;\n        margin: 0 0.1em;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.font-control {\n  input.custom-font {\n    min-width: 10em;\n  }\n\n  &.custom {\n    /* TODO Should make proper joiners... */\n    .font-switcher {\n      border-top-right-radius: 0;\n      border-bottom-right-radius: 0;\n    }\n\n    .custom-font {\n      border-top-left-radius: 0;\n      border-bottom-left-radius: 0;\n    }\n  }\n}\n","\n.contrast-ratio {\n  display: flex;\n  justify-content: flex-end;\n  margin-top: -4px;\n  margin-bottom: 5px;\n\n  .label {\n    margin-right: 1em;\n  }\n\n  .rating {\n    display: inline-block;\n    text-align: center;\n    margin-left: 0.5em;\n  }\n}\n","\n.preview-container {\n  position: relative;\n}\n\n.underlay-preview {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 10px;\n  right: 10px;\n}\n","@import \"src/variables\";\n\n.theme-tab {\n  padding-bottom: 2em;\n\n  .preset-switcher {\n    margin-right: 1em;\n  }\n\n  .btn {\n    margin-left: 0.25em;\n    margin-right: 0.25em;\n  }\n\n  .style-control {\n    display: flex;\n    align-items: baseline;\n    margin-bottom: 5px;\n\n    .label {\n      flex: 1;\n    }\n\n    .opt {\n      margin: 0.5em;\n    }\n\n    .color-input {\n      flex: 0 0 0;\n    }\n\n    input,\n    select {\n      min-width: 3em;\n      margin: 0;\n      flex: 0;\n\n      &[type=\"number\"] {\n        min-width: 5em;\n      }\n\n      &[type=\"range\"] {\n        flex: 1;\n        min-width: 3em;\n        align-self: flex-start;\n      }\n    }\n\n    &.disabled {\n      input,\n      select {\n        opacity: 0.5;\n      }\n    }\n  }\n\n  .reset-container {\n    flex-wrap: wrap;\n  }\n\n  .fonts-container,\n  .reset-container,\n  .apply-container,\n  .radius-container,\n  .color-container, {\n    display: flex;\n  }\n\n  .fonts-container,\n  .radius-container {\n    flex-direction: column;\n  }\n\n  .color-container {\n    > h4 {\n      width: 99%;\n    }\n\n    flex-wrap: wrap;\n    justify-content: space-between;\n  }\n\n  .fonts-container,\n  .color-container,\n  .shadow-container,\n  .radius-container,\n  .presets-container {\n    margin: 1em 1em 0;\n  }\n\n  .tab-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: baseline;\n    width: 100%;\n    min-height: 30px;\n    margin-bottom: 1em;\n\n    p {\n      flex: 1;\n      margin: 0;\n      margin-right: 0.5em;\n    }\n  }\n\n  .tab-header-buttons {\n    display: flex;\n    flex-direction: column;\n\n    .btn {\n      min-width: 1px;\n      flex: 0 auto;\n      padding: 0 1em;\n      margin-bottom: 0.5em;\n    }\n  }\n\n  .shadow-selector {\n    .override {\n      flex: 1;\n      margin-left: 0.5em;\n    }\n\n    .select-container {\n      margin-top: -4px;\n      margin-bottom: -3px;\n    }\n  }\n\n  .save-load,\n  .save-load-options {\n    display: flex;\n    justify-content: center;\n    align-items: baseline;\n    flex-wrap: wrap;\n\n    .presets,\n    .import-export {\n      margin-bottom: 0.5em;\n    }\n\n    .import-export {\n      display: flex;\n    }\n\n    .override {\n      margin-left: 0.5em;\n    }\n  }\n\n  .save-load-options {\n    flex-wrap: wrap;\n    margin-top: 0.5em;\n    justify-content: center;\n\n    .keep-option {\n      margin: 0 0.5em 0.5em;\n      min-width: 25%;\n    }\n  }\n\n  .preview-container {\n    border-top: 1px dashed;\n    border-bottom: 1px dashed;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n    margin: 1em 0;\n    padding: 1em;\n    background-color: var(--wallpaper);\n    background-image: var(--body-background-image);\n    background-size: cover;\n    background-position: 50% 50%;\n\n    .dummy {\n      .post {\n        font-family: var(--postFont);\n        display: flex;\n\n        .content {\n          flex: 1;\n\n          h4 {\n            margin-bottom: 0.25em;\n          }\n\n          .icons {\n            margin-top: 0.5em;\n            display: flex;\n\n            i {\n              margin-right: 1em;\n            }\n          }\n        }\n      }\n\n      .after-post {\n        margin-top: 1em;\n        display: flex;\n        align-items: center;\n      }\n\n      .avatar,\n      .avatar-alt {\n        background:\n          linear-gradient(\n            135deg,\n            #b8e1fc 0%,\n            #a9d2f3 10%,\n            #90bae4 25%,\n            #90bcea 37%,\n            #90bff0 50%,\n            #6ba8e5 51%,\n            #a2daf5 83%,\n            #bdf3fd 100%\n          );\n        color: black;\n        font-family: sans-serif;\n        text-align: center;\n        margin-right: 1em;\n      }\n\n      .avatar-alt {\n        flex: 0 auto;\n        margin-left: 28px;\n        font-size: 12px;\n        min-width: 20px;\n        min-height: 20px;\n        line-height: 20px;\n        border-radius: $fallback--avatarAltRadius;\n        border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n      }\n\n      .avatar {\n        flex: 0 auto;\n        width: 48px;\n        height: 48px;\n        font-size: 14px;\n        line-height: 48px;\n      }\n\n      .actions {\n        display: flex;\n        align-items: baseline;\n\n        .checkbox {\n          display: inline-flex;\n          align-items: baseline;\n          margin-right: 1em;\n          flex: 1;\n        }\n      }\n\n      .separator {\n        margin: 1em;\n        border-bottom: 1px solid;\n        border-color: $fallback--border;\n        border-color: var(--border, $fallback--border);\n      }\n\n      .btn {\n        min-width: 3em;\n      }\n    }\n  }\n\n  .radius-item {\n    flex-basis: auto;\n  }\n\n  .radius-item,\n  .color-item {\n    min-width: 20em;\n    margin: 5px 6px 0 0;\n    display: flex;\n    flex-direction: column;\n    flex: 1 1 0;\n\n    &.wide {\n      min-width: 60%;\n    }\n\n    &:not(.wide):nth-child(2n+1) {\n      margin-right: 7px;\n    }\n\n    .color,\n    .opacity {\n      display: flex;\n      align-items: baseline;\n    }\n  }\n\n  .theme-radius-rn,\n  .theme-color-cl {\n    border: 0;\n    box-shadow: none;\n    background: transparent;\n    color: var(--faint, $fallback--faint);\n    align-self: stretch;\n  }\n\n  .theme-color-cl,\n  .theme-radius-in,\n  .theme-color-in {\n    margin-left: 4px;\n  }\n\n  .theme-radius-in {\n    min-width: 1em;\n    max-width: 7em;\n    flex: 1;\n  }\n\n  .theme-radius-lb {\n    max-width: 50em;\n  }\n\n  .theme-preview-content {\n    padding: 20px;\n  }\n\n  .theme-warning {\n    display: flex;\n    align-items: baseline;\n    margin-bottom: 0.5em;\n\n    .buttons {\n      .btn {\n        margin-bottom: 0.5em;\n      }\n    }\n  }\n}\n\n.extra-content {\n  .apply-container {\n    display: flex;\n    flex-direction: row;\n    justify-content: space-around;\n    flex-grow: 1;\n\n    /* stylelint-disable-next-line no-descending-specificity */\n    .btn {\n      flex-grow: 1;\n      min-height: 2em;\n      min-width: 0;\n      max-width: 10em;\n      padding: 0;\n    }\n  }\n}\n","@import \"src/variables\";\n\n.settings_tab-switcher {\n  height: 100%;\n\n  .setting-item {\n    border-bottom: 2px solid var(--fg, $fallback--fg);\n    margin: 1em 1em 1.4em;\n    padding-bottom: 1.4em;\n\n    > div,\n    > label {\n      display: block;\n      margin-bottom: 0.5em;\n\n      &:last-child {\n        margin-bottom: 0;\n      }\n    }\n\n    .select-multiple {\n      display: flex;\n\n      .option-list {\n        margin: 0;\n        padding-left: 0.5em;\n      }\n    }\n\n    &:last-child {\n      border-bottom: none;\n      padding-bottom: 0;\n      margin-bottom: 1em;\n    }\n\n    select {\n      min-width: 10em;\n    }\n\n    textarea {\n      width: 100%;\n      max-width: 100%;\n      height: 100px;\n    }\n\n    .unavailable,\n    .unavailable svg {\n      color: var(--cRed, $fallback--cRed);\n      color: $fallback--cRed;\n    }\n  }\n}\n"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/priv/static/static/css/9114.8def3b2b7fe70b3b3712.css.map b/priv/static/static/css/9114.8def3b2b7fe70b3b3712.css.map
deleted file mode 100755 (executable)
index e8f8688..0000000
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/css/9114.8def3b2b7fe70b3b3712.css","mappings":"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","sources":["webpack://pleroma_fe/./src/components/importer/importer.vue","webpack://pleroma_fe/./src/components/exporter/exporter.vue","webpack://pleroma_fe/./src/components/autosuggest/autosuggest.vue","webpack://pleroma_fe/./src/_variables.scss","webpack://pleroma_fe/./src/components/block_card/block_card.vue","webpack://pleroma_fe/./src/components/mute_card/mute_card.vue","webpack://pleroma_fe/./src/components/domain_mute_card/domain_mute_card.vue","webpack://pleroma_fe/./src/components/selectable_list/selectable_list.vue","webpack://pleroma_fe/./src/hocs/with_subscription/with_subscription.scss","webpack://pleroma_fe/./src/components/settings_modal/tabs/mutes_and_blocks_tab.scss","webpack://pleroma_fe/./src/components/settings_modal/helpers/modified_indicator.vue","webpack://pleroma_fe/./src/components/settings_modal/helpers/server_side_indicator.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/security_tab/mfa.vue","webpack://pleroma_fe/./node_modules/cropperjs/dist/cropper.css","webpack://pleroma_fe/./src/components/image_cropper/image_cropper.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/profile_tab.scss","webpack://pleroma_fe/./src/components/settings_modal/helpers/size_setting.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/general_tab.vue","webpack://pleroma_fe/./src/components/color_input/color_input.scss","webpack://pleroma_fe/./src/components/color_input/color_input.vue","webpack://pleroma_fe/./src/components/shadow_control/shadow_control.vue","webpack://pleroma_fe/./src/components/font_control/font_control.vue","webpack://pleroma_fe/./src/components/contrast_ratio/contrast_ratio.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/theme_tab/preview.vue","webpack://pleroma_fe/./src/components/settings_modal/tabs/theme_tab/theme_tab.scss","webpack://pleroma_fe/./src/components/settings_modal/settings_modal_content.scss"],"sourcesContent":["\n.importer {\n  &-uploading {\n    font-size: 1.5em;\n    margin: 0.25em;\n  }\n}\n","\n.exporter {\n  &-processing {\n    margin: 0.25em;\n  }\n}\n","\n@import \"../../variables\";\n\n.autosuggest {\n  position: relative;\n\n  &-input {\n    display: block;\n    width: 100%;\n  }\n\n  &-results {\n    position: absolute;\n    left: 0;\n    top: 100%;\n    right: 0;\n    max-height: 400px;\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n    border-style: solid;\n    border-width: 1px;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n    border-radius: $fallback--inputRadius;\n    border-radius: var(--inputRadius, $fallback--inputRadius);\n    border-top-left-radius: 0;\n    border-top-right-radius: 0;\n    box-shadow: 1px 1px 4px rgb(0 0 0 / 60%);\n    box-shadow: var(--panelShadow);\n    overflow-y: auto;\n    z-index: 1;\n  }\n}\n","$main-color: #f58d2c;\n$main-background: white;\n$darkened-background: whitesmoke;\n\n$fallback--bg: #121a24;\n$fallback--fg: #182230;\n$fallback--faint: rgb(185 185 186 / 50%);\n$fallback--text: #b9b9ba;\n$fallback--link: #d8a070;\n$fallback--icon: #666;\n$fallback--lightBg: rgb(21 30 42);\n$fallback--lightText: #b9b9ba;\n$fallback--border: #222;\n$fallback--cRed: #f00;\n$fallback--cBlue: #0095ff;\n$fallback--cGreen: #0fa00f;\n$fallback--cOrange: orange;\n\n$fallback--alertError: rgb(211 16 20 / 50%);\n$fallback--alertWarning: rgb(111 111 20 / 50%);\n\n$fallback--panelRadius: 10px;\n$fallback--checkboxRadius: 2px;\n$fallback--btnRadius: 4px;\n$fallback--inputRadius: 4px;\n$fallback--tooltipRadius: 5px;\n$fallback--avatarRadius: 4px;\n$fallback--avatarAltRadius: 10px;\n$fallback--attachmentRadius: 10px;\n$fallback--chatMessageRadius: 10px;\n\n$fallback--buttonShadow: 0 0 2px 0 rgb(0 0 0 / 100%),\n  0 1px 0 0 rgb(255 255 255 / 20%) inset,\n  0 -1px 0 0 rgb(0 0 0 / 20%) inset;\n\n$status-margin: 0.75em;\n","\n.block-card-content-container {\n  margin-top: 0.5em;\n  text-align: right;\n\n  button {\n    width: 10em;\n  }\n}\n","\n.mute-card-content-container {\n  margin-top: 0.5em;\n  text-align: right;\n\n  button {\n    width: 10em;\n  }\n}\n","\n.domain-mute-card {\n  flex: 1 0;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0.6em 1em 0.6em 0;\n\n  &-domain {\n    margin-right: 1em;\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n\n  button {\n    width: 10em;\n  }\n\n  .autosuggest-results & {\n    padding-left: 1em;\n  }\n}\n","\n@import \"../../variables\";\n\n.selectable-list {\n  &-item-inner {\n    display: flex;\n    align-items: center;\n\n    > * {\n      min-width: 0;\n    }\n  }\n\n  &-item-selected-inner {\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedMenu, $fallback--lightBg);\n    color: var(--selectedMenuText, $fallback--text);\n\n    --faint: var(--selectedMenuFaintText, $fallback--faint);\n    --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n    --lightText: var(--selectedMenuLightText, $fallback--lightText);\n    --icon: var(--selectedMenuIcon, $fallback--icon);\n  }\n\n  &-header {\n    display: flex;\n    align-items: center;\n    padding: 0.6em 0;\n    border-bottom: 2px solid;\n    border-bottom-color: $fallback--border;\n    border-bottom-color: var(--border, $fallback--border);\n\n    &-actions {\n      flex: 1;\n    }\n  }\n\n  &-checkbox-wrapper {\n    padding: 0 10px;\n    flex: none;\n  }\n}\n",".with-subscription {\n  &-loading {\n    padding: 10px;\n    text-align: center;\n\n    .error {\n      font-size: 1rem;\n    }\n  }\n}\n",".mutes-and-blocks-tab {\n  height: 100%;\n\n  .usersearch-wrapper {\n    padding: 1em;\n  }\n\n  .bulk-actions {\n    text-align: right;\n    padding: 0 1em;\n    min-height: 2em;\n  }\n\n  .bulk-action-button {\n    width: 10em;\n  }\n\n  .domain-mute-form {\n    padding: 1em;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .domain-mute-button {\n    align-self: flex-end;\n    margin-top: 1em;\n    width: 10em;\n  }\n}\n","\n.ModifiedIndicator {\n  display: inline-block;\n  position: relative;\n}\n\n.modified-tooltip {\n  margin: 0.5em 1em;\n  min-width: 10em;\n  text-align: center;\n}\n","\n.ServerSideIndicator {\n  display: inline-block;\n  position: relative;\n}\n\n.serverside-tooltip {\n  margin: 0.5em 1em;\n  min-width: 10em;\n  text-align: center;\n}\n","\n@import \"../../../../variables\";\n\n.mfa-backup-codes {\n  .warning {\n    color: $fallback--cOrange;\n    color: var(--cOrange, $fallback--cOrange);\n  }\n\n  .backup-codes {\n    font-family: var(--postCodeFont, monospace);\n  }\n}\n","\n@import \"../../../../variables\";\n\n.mfa-settings {\n  .mfa-heading,\n  .method-item {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: space-between;\n    align-items: baseline;\n  }\n\n  .warning {\n    color: $fallback--cOrange;\n    color: var(--cOrange, $fallback--cOrange);\n  }\n\n  .setup-otp {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n\n    .qr-code {\n      flex: 1;\n      padding-right: 10px;\n    }\n    .verify { flex: 1; }\n    .error { margin: 4px 0 0; }\n\n    .confirm-otp-actions {\n      button {\n        width: 15em;\n        margin-top: 5px;\n      }\n    }\n  }\n}\n","/*!\n * Cropper.js v1.5.12\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2021-06-12T08:00:11.623Z\n */\n\n.cropper-container {\n  direction: ltr;\n  font-size: 0;\n  line-height: 0;\n  position: relative;\n  -ms-touch-action: none;\n  touch-action: none;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n.cropper-container img {\n  display: block;\n  height: 100%;\n  image-orientation: 0deg;\n  max-height: none !important;\n  max-width: none !important;\n  min-height: 0 !important;\n  min-width: 0 !important;\n  width: 100%;\n}\n\n.cropper-wrap-box,\n.cropper-canvas,\n.cropper-drag-box,\n.cropper-crop-box,\n.cropper-modal {\n  bottom: 0;\n  left: 0;\n  position: absolute;\n  right: 0;\n  top: 0;\n}\n\n.cropper-wrap-box,\n.cropper-canvas {\n  overflow: hidden;\n}\n\n.cropper-drag-box {\n  background-color: #fff;\n  opacity: 0;\n}\n\n.cropper-modal {\n  background-color: #000;\n  opacity: 0.5;\n}\n\n.cropper-view-box {\n  display: block;\n  height: 100%;\n  outline: 1px solid #39f;\n  outline-color: rgba(51, 153, 255, 0.75);\n  overflow: hidden;\n  width: 100%;\n}\n\n.cropper-dashed {\n  border: 0 dashed #eee;\n  display: block;\n  opacity: 0.5;\n  position: absolute;\n}\n\n.cropper-dashed.dashed-h {\n  border-bottom-width: 1px;\n  border-top-width: 1px;\n  height: calc(100% / 3);\n  left: 0;\n  top: calc(100% / 3);\n  width: 100%;\n}\n\n.cropper-dashed.dashed-v {\n  border-left-width: 1px;\n  border-right-width: 1px;\n  height: 100%;\n  left: calc(100% / 3);\n  top: 0;\n  width: calc(100% / 3);\n}\n\n.cropper-center {\n  display: block;\n  height: 0;\n  left: 50%;\n  opacity: 0.75;\n  position: absolute;\n  top: 50%;\n  width: 0;\n}\n\n.cropper-center::before,\n.cropper-center::after {\n  background-color: #eee;\n  content: ' ';\n  display: block;\n  position: absolute;\n}\n\n.cropper-center::before {\n  height: 1px;\n  left: -3px;\n  top: 0;\n  width: 7px;\n}\n\n.cropper-center::after {\n  height: 7px;\n  left: 0;\n  top: -3px;\n  width: 1px;\n}\n\n.cropper-face,\n.cropper-line,\n.cropper-point {\n  display: block;\n  height: 100%;\n  opacity: 0.1;\n  position: absolute;\n  width: 100%;\n}\n\n.cropper-face {\n  background-color: #fff;\n  left: 0;\n  top: 0;\n}\n\n.cropper-line {\n  background-color: #39f;\n}\n\n.cropper-line.line-e {\n  cursor: ew-resize;\n  right: -3px;\n  top: 0;\n  width: 5px;\n}\n\n.cropper-line.line-n {\n  cursor: ns-resize;\n  height: 5px;\n  left: 0;\n  top: -3px;\n}\n\n.cropper-line.line-w {\n  cursor: ew-resize;\n  left: -3px;\n  top: 0;\n  width: 5px;\n}\n\n.cropper-line.line-s {\n  bottom: -3px;\n  cursor: ns-resize;\n  height: 5px;\n  left: 0;\n}\n\n.cropper-point {\n  background-color: #39f;\n  height: 5px;\n  opacity: 0.75;\n  width: 5px;\n}\n\n.cropper-point.point-e {\n  cursor: ew-resize;\n  margin-top: -3px;\n  right: -3px;\n  top: 50%;\n}\n\n.cropper-point.point-n {\n  cursor: ns-resize;\n  left: 50%;\n  margin-left: -3px;\n  top: -3px;\n}\n\n.cropper-point.point-w {\n  cursor: ew-resize;\n  left: -3px;\n  margin-top: -3px;\n  top: 50%;\n}\n\n.cropper-point.point-s {\n  bottom: -3px;\n  cursor: s-resize;\n  left: 50%;\n  margin-left: -3px;\n}\n\n.cropper-point.point-ne {\n  cursor: nesw-resize;\n  right: -3px;\n  top: -3px;\n}\n\n.cropper-point.point-nw {\n  cursor: nwse-resize;\n  left: -3px;\n  top: -3px;\n}\n\n.cropper-point.point-sw {\n  bottom: -3px;\n  cursor: nesw-resize;\n  left: -3px;\n}\n\n.cropper-point.point-se {\n  bottom: -3px;\n  cursor: nwse-resize;\n  height: 20px;\n  opacity: 1;\n  right: -3px;\n  width: 20px;\n}\n\n@media (min-width: 768px) {\n  .cropper-point.point-se {\n    height: 15px;\n    width: 15px;\n  }\n}\n\n@media (min-width: 992px) {\n  .cropper-point.point-se {\n    height: 10px;\n    width: 10px;\n  }\n}\n\n@media (min-width: 1200px) {\n  .cropper-point.point-se {\n    height: 5px;\n    opacity: 0.75;\n    width: 5px;\n  }\n}\n\n.cropper-point.point-se::before {\n  background-color: #39f;\n  bottom: -50%;\n  content: ' ';\n  display: block;\n  height: 200%;\n  opacity: 0;\n  position: absolute;\n  right: -50%;\n  width: 200%;\n}\n\n.cropper-invisible {\n  opacity: 0;\n}\n\n.cropper-bg {\n  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC');\n}\n\n.cropper-hide {\n  display: block;\n  height: 0;\n  position: absolute;\n  width: 0;\n}\n\n.cropper-hidden {\n  display: none !important;\n}\n\n.cropper-move {\n  cursor: move;\n}\n\n.cropper-crop {\n  cursor: crosshair;\n}\n\n.cropper-disabled .cropper-drag-box,\n.cropper-disabled .cropper-face,\n.cropper-disabled .cropper-line,\n.cropper-disabled .cropper-point {\n  cursor: not-allowed;\n}\n","\n.image-cropper {\n  &-img-input {\n    display: none;\n  }\n\n  &-image-container {\n    position: relative;\n\n    img {\n      display: block;\n      max-width: 100%;\n    }\n  }\n\n  &-buttons-wrapper {\n    margin-top: 10px;\n\n    button {\n      margin-top: 5px;\n    }\n  }\n}\n","@import \"../../../variables\";\n\n.profile-tab {\n  .bio {\n    margin: 0;\n  }\n\n  .visibility-tray {\n    padding-top: 5px;\n  }\n\n  input[type=\"file\"] {\n    padding: 5px;\n    height: auto;\n  }\n\n  .banner-background-preview {\n    max-width: 100%;\n    width: 300px;\n    position: relative;\n\n    img {\n      width: 100%;\n    }\n  }\n\n  .uploading {\n    font-size: 1.5em;\n    margin: 0.25em;\n  }\n\n  .name-changer {\n    width: 100%;\n  }\n\n  .current-avatar-container {\n    position: relative;\n    width: 150px;\n    height: 150px;\n  }\n\n  .current-avatar {\n    display: block;\n    width: 100%;\n    height: 100%;\n    border-radius: $fallback--avatarRadius;\n    border-radius: var(--avatarRadius, $fallback--avatarRadius);\n  }\n\n  .reset-button {\n    position: absolute;\n    top: 0.2em;\n    right: 0.2em;\n    border-radius: $fallback--tooltipRadius;\n    border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n    background-color: rgb(0 0 0 / 60%);\n    opacity: 0.7;\n    width: 1.5em;\n    height: 1.5em;\n    text-align: center;\n    line-height: 1.5em;\n    font-size: 1.5em;\n    cursor: pointer;\n\n    &:hover {\n      opacity: 1;\n    }\n\n    svg {\n      color: white;\n    }\n  }\n\n  .oauth-tokens {\n    width: 100%;\n\n    th {\n      text-align: left;\n    }\n\n    .actions {\n      text-align: right;\n    }\n  }\n\n  &-usersearch-wrapper {\n    padding: 1em;\n  }\n\n  &-bulk-actions {\n    text-align: right;\n    padding: 0 1em;\n    min-height: 2em;\n\n    button {\n      width: 10em;\n    }\n  }\n\n  &-domain-mute-form {\n    padding: 1em;\n    display: flex;\n    flex-direction: column;\n\n    button {\n      align-self: flex-end;\n      margin-top: 1em;\n      width: 10em;\n    }\n  }\n\n  .setting-subitem {\n    margin-left: 1.75em;\n  }\n\n  .profile-fields {\n    display: flex;\n\n    & > .emoji-input {\n      flex: 1 1 auto;\n      margin: 0 0.2em 0.5em;\n      min-width: 0;\n    }\n\n    .delete-field {\n      width: 20px;\n      align-self: center;\n      margin: 0 0.2em 0.5em;\n      padding: 0 0.5em;\n    }\n  }\n\n  .birthday-input {\n    display: block;\n    margin-bottom: 1em;\n  }\n}\n","\n.css-unit-input,\n.css-unit-input select {\n  margin-left: 0.5em;\n  width: 4em;\n  max-width: 4em;\n  min-width: 4em;\n}\n","\n.column-settings {\n  display: flex;\n  justify-content: space-evenly;\n  flex-wrap: wrap;\n}\n\n.column-settings .size-label {\n  display: block;\n  margin-bottom: 0.5em;\n  margin-top: 0.5em;\n}\n","@import \"../../variables\";\n\n.color-input {\n  display: inline-flex;\n\n  &-field.input {\n    display: inline-flex;\n    flex: 0 0 0;\n    max-width: 9em;\n    align-items: stretch;\n    padding: 0.2em 8px;\n\n    input {\n      background: none;\n      color: $fallback--lightText;\n      color: var(--inputText, $fallback--lightText);\n      border: none;\n      padding: 0;\n      margin: 0;\n\n      &.textColor {\n        flex: 1 0 3em;\n        min-width: 3em;\n        padding: 0;\n      }\n\n      &.nativeColor {\n        flex: 0 0 2em;\n        min-width: 2em;\n        align-self: stretch;\n        min-height: 100%;\n      }\n    }\n\n    .computedIndicator,\n    .transparentIndicator {\n      flex: 0 0 2em;\n      min-width: 2em;\n      align-self: stretch;\n      min-height: 100%;\n    }\n\n    .transparentIndicator {\n      // forgot to install counter-strike source, ooops\n      background-color: #f0f;\n      position: relative;\n\n      &::before,\n      &::after {\n        display: block;\n        content: \"\";\n        background-color: #000;\n        position: absolute;\n        height: 50%;\n        width: 50%;\n      }\n\n      &::after {\n        top: 0;\n        left: 0;\n      }\n\n      &::before {\n        bottom: 0;\n        right: 0;\n      }\n    }\n  }\n\n  .label {\n    flex: 1 1 auto;\n  }\n}\n","\n.color-control {\n  input.text-input {\n    max-width: 7em;\n    flex: 1;\n  }\n}\n","\n@import \"../../variables\";\n\n.shadow-control {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  margin-bottom: 1em;\n\n  .shadow-preview-container,\n  .shadow-tweak {\n    margin: 5px 6px 0 0;\n  }\n\n  .shadow-preview-container {\n    flex: 0;\n    display: flex;\n    flex-wrap: wrap;\n\n    $side: 15em;\n\n    input[type=\"number\"] {\n      width: 5em;\n      min-width: 2em;\n    }\n\n    .x-shift-control,\n    .y-shift-control {\n      display: flex;\n      flex: 0;\n\n      &[disabled=\"disabled\"] * {\n        opacity: 0.5;\n      }\n    }\n\n    .x-shift-control {\n      align-items: flex-start;\n    }\n\n    .x-shift-control .wrap,\n    input[type=\"range\"] {\n      margin: 0;\n      width: $side;\n      height: 2em;\n    }\n\n    .y-shift-control {\n      flex-direction: column;\n      align-items: flex-end;\n\n      .wrap {\n        width: 2em;\n        height: $side;\n      }\n\n      input[type=\"range\"] {\n        transform-origin: 1em 1em;\n        transform: rotate(90deg);\n      }\n    }\n\n    .preview-window {\n      flex: 1;\n      background-color: #999;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      background-image:\n        linear-gradient(45deg, #666 25%, transparent 25%),\n        linear-gradient(-45deg, #666 25%, transparent 25%),\n        linear-gradient(45deg, transparent 75%, #666 75%),\n        linear-gradient(-45deg, transparent 75%, #666 75%);\n      background-size: 20px 20px;\n      background-position: 0 0, 0 10px, 10px -10px, -10px 0;\n      border-radius: $fallback--inputRadius;\n      border-radius: var(--inputRadius, $fallback--inputRadius);\n\n      .preview-block {\n        width: 33%;\n        height: 33%;\n        background-color: $fallback--bg;\n        background-color: var(--bg, $fallback--bg);\n        border-radius: $fallback--panelRadius;\n        border-radius: var(--panelRadius, $fallback--panelRadius);\n      }\n    }\n  }\n\n  .shadow-tweak {\n    flex: 1;\n    min-width: 280px;\n\n    .id-control {\n      align-items: stretch;\n\n      .shadow-switcher {\n        flex: 1;\n      }\n\n      .shadow-switcher,\n      .btn {\n        min-width: 1px;\n        margin-right: 5px;\n      }\n\n      .btn {\n        padding: 0 0.4em;\n        margin: 0 0.1em;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.font-control {\n  input.custom-font {\n    min-width: 10em;\n  }\n\n  &.custom {\n    /* TODO Should make proper joiners... */\n    .font-switcher {\n      border-top-right-radius: 0;\n      border-bottom-right-radius: 0;\n    }\n\n    .custom-font {\n      border-top-left-radius: 0;\n      border-bottom-left-radius: 0;\n    }\n  }\n}\n","\n.contrast-ratio {\n  display: flex;\n  justify-content: flex-end;\n  margin-top: -4px;\n  margin-bottom: 5px;\n\n  .label {\n    margin-right: 1em;\n  }\n\n  .rating {\n    display: inline-block;\n    text-align: center;\n    margin-left: 0.5em;\n  }\n}\n","\n.preview-container {\n  position: relative;\n}\n\n.underlay-preview {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 10px;\n  right: 10px;\n}\n","@import \"src/variables\";\n\n.theme-tab {\n  padding-bottom: 2em;\n\n  .preset-switcher {\n    margin-right: 1em;\n  }\n\n  .btn {\n    margin-left: 0.25em;\n    margin-right: 0.25em;\n  }\n\n  .style-control {\n    display: flex;\n    align-items: baseline;\n    margin-bottom: 5px;\n\n    .label {\n      flex: 1;\n    }\n\n    .opt {\n      margin: 0.5em;\n    }\n\n    .color-input {\n      flex: 0 0 0;\n    }\n\n    input,\n    select {\n      min-width: 3em;\n      margin: 0;\n      flex: 0;\n\n      &[type=\"number\"] {\n        min-width: 5em;\n      }\n\n      &[type=\"range\"] {\n        flex: 1;\n        min-width: 3em;\n        align-self: flex-start;\n      }\n    }\n\n    &.disabled {\n      input,\n      select {\n        opacity: 0.5;\n      }\n    }\n  }\n\n  .reset-container {\n    flex-wrap: wrap;\n  }\n\n  .fonts-container,\n  .reset-container,\n  .apply-container,\n  .radius-container,\n  .color-container, {\n    display: flex;\n  }\n\n  .fonts-container,\n  .radius-container {\n    flex-direction: column;\n  }\n\n  .color-container {\n    > h4 {\n      width: 99%;\n    }\n\n    flex-wrap: wrap;\n    justify-content: space-between;\n  }\n\n  .fonts-container,\n  .color-container,\n  .shadow-container,\n  .radius-container,\n  .presets-container {\n    margin: 1em 1em 0;\n  }\n\n  .tab-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: baseline;\n    width: 100%;\n    min-height: 30px;\n    margin-bottom: 1em;\n\n    p {\n      flex: 1;\n      margin: 0;\n      margin-right: 0.5em;\n    }\n  }\n\n  .tab-header-buttons {\n    display: flex;\n    flex-direction: column;\n\n    .btn {\n      min-width: 1px;\n      flex: 0 auto;\n      padding: 0 1em;\n      margin-bottom: 0.5em;\n    }\n  }\n\n  .shadow-selector {\n    .override {\n      flex: 1;\n      margin-left: 0.5em;\n    }\n\n    .select-container {\n      margin-top: -4px;\n      margin-bottom: -3px;\n    }\n  }\n\n  .save-load,\n  .save-load-options {\n    display: flex;\n    justify-content: center;\n    align-items: baseline;\n    flex-wrap: wrap;\n\n    .presets,\n    .import-export {\n      margin-bottom: 0.5em;\n    }\n\n    .import-export {\n      display: flex;\n    }\n\n    .override {\n      margin-left: 0.5em;\n    }\n  }\n\n  .save-load-options {\n    flex-wrap: wrap;\n    margin-top: 0.5em;\n    justify-content: center;\n\n    .keep-option {\n      margin: 0 0.5em 0.5em;\n      min-width: 25%;\n    }\n  }\n\n  .preview-container {\n    border-top: 1px dashed;\n    border-bottom: 1px dashed;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n    margin: 1em 0;\n    padding: 1em;\n    background-color: var(--wallpaper);\n    background-image: var(--body-background-image);\n    background-size: cover;\n    background-position: 50% 50%;\n\n    .dummy {\n      .post {\n        font-family: var(--postFont);\n        display: flex;\n\n        .content {\n          flex: 1;\n\n          h4 {\n            margin-bottom: 0.25em;\n          }\n\n          .icons {\n            margin-top: 0.5em;\n            display: flex;\n\n            i {\n              margin-right: 1em;\n            }\n          }\n        }\n      }\n\n      .after-post {\n        margin-top: 1em;\n        display: flex;\n        align-items: center;\n      }\n\n      .avatar,\n      .avatar-alt {\n        background:\n          linear-gradient(\n            135deg,\n            #b8e1fc 0%,\n            #a9d2f3 10%,\n            #90bae4 25%,\n            #90bcea 37%,\n            #90bff0 50%,\n            #6ba8e5 51%,\n            #a2daf5 83%,\n            #bdf3fd 100%\n          );\n        color: black;\n        font-family: sans-serif;\n        text-align: center;\n        margin-right: 1em;\n      }\n\n      .avatar-alt {\n        flex: 0 auto;\n        margin-left: 28px;\n        font-size: 12px;\n        min-width: 20px;\n        min-height: 20px;\n        line-height: 20px;\n        border-radius: $fallback--avatarAltRadius;\n        border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n      }\n\n      .avatar {\n        flex: 0 auto;\n        width: 48px;\n        height: 48px;\n        font-size: 14px;\n        line-height: 48px;\n      }\n\n      .actions {\n        display: flex;\n        align-items: baseline;\n\n        .checkbox {\n          display: inline-flex;\n          align-items: baseline;\n          margin-right: 1em;\n          flex: 1;\n        }\n      }\n\n      .separator {\n        margin: 1em;\n        border-bottom: 1px solid;\n        border-color: $fallback--border;\n        border-color: var(--border, $fallback--border);\n      }\n\n      .btn {\n        min-width: 3em;\n      }\n    }\n  }\n\n  .radius-item {\n    flex-basis: auto;\n  }\n\n  .radius-item,\n  .color-item {\n    min-width: 20em;\n    margin: 5px 6px 0 0;\n    display: flex;\n    flex-direction: column;\n    flex: 1 1 0;\n\n    &.wide {\n      min-width: 60%;\n    }\n\n    &:not(.wide):nth-child(2n+1) {\n      margin-right: 7px;\n    }\n\n    .color,\n    .opacity {\n      display: flex;\n      align-items: baseline;\n    }\n  }\n\n  .theme-radius-rn,\n  .theme-color-cl {\n    border: 0;\n    box-shadow: none;\n    background: transparent;\n    color: var(--faint, $fallback--faint);\n    align-self: stretch;\n  }\n\n  .theme-color-cl,\n  .theme-radius-in,\n  .theme-color-in {\n    margin-left: 4px;\n  }\n\n  .theme-radius-in {\n    min-width: 1em;\n    max-width: 7em;\n    flex: 1;\n  }\n\n  .theme-radius-lb {\n    max-width: 50em;\n  }\n\n  .theme-preview-content {\n    padding: 20px;\n  }\n\n  .theme-warning {\n    display: flex;\n    align-items: baseline;\n    margin-bottom: 0.5em;\n\n    .buttons {\n      .btn {\n        margin-bottom: 0.5em;\n      }\n    }\n  }\n}\n\n.extra-content {\n  .apply-container {\n    display: flex;\n    flex-direction: row;\n    justify-content: space-around;\n    flex-grow: 1;\n\n    /* stylelint-disable-next-line no-descending-specificity */\n    .btn {\n      flex-grow: 1;\n      min-height: 2em;\n      min-width: 0;\n      max-width: 10em;\n      padding: 0;\n    }\n  }\n}\n","@import \"src/variables\";\n\n.settings_tab-switcher {\n  height: 100%;\n\n  .setting-item {\n    border-bottom: 2px solid var(--fg, $fallback--fg);\n    margin: 1em 1em 1.4em;\n    padding-bottom: 1.4em;\n\n    > div,\n    > label {\n      display: block;\n      margin-bottom: 0.5em;\n\n      &:last-child {\n        margin-bottom: 0;\n      }\n    }\n\n    .select-multiple {\n      display: flex;\n\n      .option-list {\n        margin: 0;\n        padding-left: 0.5em;\n      }\n    }\n\n    &:last-child {\n      border-bottom: none;\n      padding-bottom: 0;\n      margin-bottom: 1em;\n    }\n\n    select {\n      min-width: 10em;\n    }\n\n    textarea {\n      width: 100%;\n      max-width: 100%;\n      height: 100px;\n    }\n\n    .unavailable,\n    .unavailable svg {\n      color: var(--cRed, $fallback--cRed);\n      color: $fallback--cRed;\n    }\n\n    .number-input {\n      max-width: 6em;\n    }\n  }\n}\n"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/priv/static/static/css/9801.cfe503d4c949ae0c3813.css b/priv/static/static/css/9801.cfe503d4c949ae0c3813.css
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/css/9801.cfe503d4c949ae0c3813.css.map b/priv/static/static/css/9801.cfe503d4c949ae0c3813.css.map
new file mode 100644 (file)
index 0000000..7ab5615
--- /dev/null
@@ -0,0 +1 @@
+{"version":3,"file":"static/css/9801.cfe503d4c949ae0c3813.css","mappings":"AACA,mBACE,qBACA,kBAGF,kBACE,gBACA,eACA,kBCRF,yBACE,qBACA,kBAGF,wBACE,gBACA,eACA,kBCRF,cACE,qBACA,kBAEA,8BACE,iBAIJ,eACE,gBACA,eACA,kBCXA,+BACE,cAEA,YACA,mBAFA,UAEA,CAGF,qCAEE,aACA,sBAFA,gBAGA,WAGF,6BACE,mBAEA,uEAEE,WCpBJ,2BACE,UAGF,kBAEE,iBAGA,eADA,kBAHA,uBAEA,kBAEA,CCRJ,uBACE,YAEA,qCACE,0CACA,qBACA,qBAEA,oFAEE,cACA,mBAEA,0GACE,gBAIJ,sDACE,aAEA,mEACE,SACA,kBAIJ,gDACE,mBAEA,kBADA,gBACA,CAGF,4CACE,eAGF,8CAGE,aADA,eADA,UAEA,CAGF,wGAEE,sBACA,SCnCW","sources":["webpack://pleroma_fe/./src/components/settings_modal/helpers/modified_indicator.vue","webpack://pleroma_fe/./src/components/settings_modal/helpers/profile_setting_indicator.vue","webpack://pleroma_fe/./src/components/settings_modal/helpers/draft_buttons.vue","webpack://pleroma_fe/./src/components/settings_modal/helpers/attachment_setting.vue","webpack://pleroma_fe/./src/components/settings_modal/admin_tabs/frontends_tab.scss","webpack://pleroma_fe/./src/components/settings_modal/settings_modal_admin_content.scss","webpack://pleroma_fe/./src/_variables.scss"],"sourcesContent":["\n.ModifiedIndicator {\n  display: inline-block;\n  position: relative;\n}\n\n.modified-tooltip {\n  margin: 0.5em 1em;\n  min-width: 10em;\n  text-align: center;\n}\n","\n.ProfileSettingIndicator {\n  display: inline-block;\n  position: relative;\n}\n\n.profilesetting-tooltip {\n  margin: 0.5em 1em;\n  min-width: 10em;\n  text-align: center;\n}\n","\n.DraftButtons {\n  display: inline-block;\n  position: relative;\n\n  .button-default {\n    margin-left: 0.5em;\n  }\n}\n\n.draft-tooltip {\n  margin: 0.5em 1em;\n  min-width: 10em;\n  text-align: center;\n}\n","\n.AttachmentSetting {\n  .attachment {\n    display: block;\n    width: 100%;\n    height: 15em;\n    margin-bottom: 0.5em;\n  }\n\n  .attachment-input {\n    margin-left: 1em;\n    display: flex;\n    flex-direction: column;\n    width: 20em;\n  }\n\n  .controls {\n    margin-bottom: 0.5em;\n\n    input,\n    button {\n      width: 100%;\n    }\n  }\n}\n",".frontends-tab {\n  .cards-list {\n    padding: 0;\n  }\n\n  dd {\n    text-overflow: ellipsis;\n    word-wrap: nowrap;\n    white-space: nowrap;\n    overflow-x: hidden;\n    max-width: 10em;\n  }\n}\n","@import \"src/variables\";\n\n.settings_tab-switcher {\n  height: 100%;\n\n  .setting-item {\n    border-bottom: 2px solid var(--fg, $fallback--fg);\n    margin: 1em 1em 1.4em;\n    padding-bottom: 1.4em;\n\n    > div,\n    > label {\n      display: block;\n      margin-bottom: 0.5em;\n\n      &:last-child {\n        margin-bottom: 0;\n      }\n    }\n\n    .select-multiple {\n      display: flex;\n\n      .option-list {\n        margin: 0;\n        padding-left: 0.5em;\n      }\n    }\n\n    &:last-child {\n      border-bottom: none;\n      padding-bottom: 0;\n      margin-bottom: 1em;\n    }\n\n    select {\n      min-width: 10em;\n    }\n\n    textarea {\n      width: 100%;\n      max-width: 100%;\n      height: 100px;\n    }\n\n    .unavailable,\n    .unavailable svg {\n      color: var(--cRed, $fallback--cRed);\n      color: $fallback--cRed;\n    }\n  }\n}\n","$main-color: #f58d2c;\n$main-background: white;\n$darkened-background: whitesmoke;\n\n$fallback--bg: #121a24;\n$fallback--fg: #182230;\n$fallback--faint: rgb(185 185 186 / 50%);\n$fallback--text: #b9b9ba;\n$fallback--link: #d8a070;\n$fallback--icon: #666;\n$fallback--lightBg: rgb(21 30 42);\n$fallback--lightText: #b9b9ba;\n$fallback--border: #222;\n$fallback--cRed: #f00;\n$fallback--cBlue: #0095ff;\n$fallback--cGreen: #0fa00f;\n$fallback--cOrange: orange;\n\n$fallback--alertError: rgb(211 16 20 / 50%);\n$fallback--alertWarning: rgb(111 111 20 / 50%);\n\n$fallback--panelRadius: 10px;\n$fallback--checkboxRadius: 2px;\n$fallback--btnRadius: 4px;\n$fallback--inputRadius: 4px;\n$fallback--tooltipRadius: 5px;\n$fallback--avatarRadius: 4px;\n$fallback--avatarAltRadius: 10px;\n$fallback--attachmentRadius: 10px;\n$fallback--chatMessageRadius: 10px;\n\n$fallback--buttonShadow: 0 0 2px 0 rgb(0 0 0 / 100%),\n  0 1px 0 0 rgb(255 255 255 / 20%) inset,\n  0 -1px 0 0 rgb(0 0 0 / 20%) inset;\n\n$status-margin: 0.75em;\n"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/priv/static/static/css/app.48e52505beba5b9ab69b.css.map b/priv/static/static/css/app.48e52505beba5b9ab69b.css.map
deleted file mode 100755 (executable)
index a87315d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/css/app.48e52505beba5b9ab69b.css","mappings":"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","sources":["webpack://pleroma_fe/./src/components/modal/modal.vue","webpack://pleroma_fe/./node_modules/vue-virtual-scroller/dist/vue-virtual-scroller.css","webpack://pleroma_fe/./src/components/login_form/login_form.vue","webpack://pleroma_fe/./src/components/media_upload/media_upload.vue","webpack://pleroma_fe/./src/components/scope_selector/scope_selector.vue","webpack://pleroma_fe/./src/_variables.scss","webpack://pleroma_fe/./src/components/checkbox/checkbox.vue","webpack://pleroma_fe/./src/components/popover/popover.vue","webpack://pleroma_fe/./src/components/still-image/still-image.vue","webpack://pleroma_fe/./src/components/emoji_picker/emoji_picker.scss","webpack://pleroma_fe/./src/components/emoji_input/emoji_input.vue","webpack://pleroma_fe/./src/components/select/select.vue","webpack://pleroma_fe/./src/components/poll/poll_form.vue","webpack://pleroma_fe/./src/components/flash/flash.vue","webpack://pleroma_fe/./src/components/attachment/attachment.scss","webpack://pleroma_fe/./src/components/gallery/gallery.vue","webpack://pleroma_fe/./src/components/user_avatar/user_avatar.vue","webpack://pleroma_fe/./src/components/mention_link/mention_link.scss","webpack://pleroma_fe/./src/components/mentions_line/mentions_line.scss","webpack://pleroma_fe/./src/components/hashtag_link/hashtag_link.scss","webpack://pleroma_fe/./src/components/rich_content/rich_content.scss","webpack://pleroma_fe/./src/components/poll/poll.vue","webpack://pleroma_fe/./src/components/status_body/status_body.scss","webpack://pleroma_fe/./src/components/link-preview/link-preview.vue","webpack://pleroma_fe/./src/components/status_content/status_content.vue","webpack://pleroma_fe/./src/components/post_status_form/post_status_form.vue","webpack://pleroma_fe/./src/components/remote_follow/remote_follow.vue","webpack://pleroma_fe/./src/components/dialog_modal/dialog_modal.vue","webpack://pleroma_fe/./src/components/moderation_tools/moderation_tools.vue","webpack://pleroma_fe/./src/components/account_actions/account_actions.vue","webpack://pleroma_fe/./src/components/user_note/user_note.vue","webpack://pleroma_fe/./src/components/user_card/user_card.scss","webpack://pleroma_fe/./src/components/user_panel/user_panel.vue","webpack://pleroma_fe/./src/components/navigation/navigation_entry.vue","webpack://pleroma_fe/./src/components/navigation/navigation_pins.vue","webpack://pleroma_fe/./src/components/nav_panel/nav_panel.vue","webpack://pleroma_fe/./src/components/features_panel/features_panel.vue","webpack://pleroma_fe/./src/components/who_to_follow_panel/who_to_follow_panel.vue","webpack://pleroma_fe/./src/components/shout_panel/shout_panel.vue","webpack://pleroma_fe/./src/components/media_modal/media_modal.vue","webpack://pleroma_fe/./src/components/side_drawer/side_drawer.vue","webpack://pleroma_fe/./src/components/mobile_post_status_button/mobile_post_status_button.vue","webpack://pleroma_fe/./src/components/reply_button/reply_button.vue","webpack://pleroma_fe/./src/components/favorite_button/favorite_button.vue","webpack://pleroma_fe/./src/components/react_button/react_button.vue","webpack://pleroma_fe/./src/components/retweet_button/retweet_button.vue","webpack://pleroma_fe/./src/components/extra_buttons/extra_buttons.vue","webpack://pleroma_fe/./src/components/avatar_list/avatar_list.vue","webpack://pleroma_fe/./src/components/status_popover/status_popover.vue","webpack://pleroma_fe/./src/components/user_list_popover/user_list_popover.vue","webpack://pleroma_fe/./src/components/emoji_reactions/emoji_reactions.vue","webpack://pleroma_fe/./src/components/status/status.scss","webpack://pleroma_fe/./src/components/report/report.scss","webpack://pleroma_fe/./src/components/notification/notification.scss","webpack://pleroma_fe/./src/components/notifications/notifications.scss","webpack://pleroma_fe/./src/components/mobile_nav/mobile_nav.vue","webpack://pleroma_fe/./src/components/search_bar/search_bar.vue","webpack://pleroma_fe/./src/components/desktop_nav/desktop_nav.scss","webpack://pleroma_fe/./src/components/list/list.vue","webpack://pleroma_fe/./src/components/user_reporting_modal/user_reporting_modal.vue","webpack://pleroma_fe/./src/components/edit_status_modal/edit_status_modal.vue","webpack://pleroma_fe/./src/components/post_status_modal/post_status_modal.vue","webpack://pleroma_fe/./src/components/status_history_modal/status_history_modal.vue","webpack://pleroma_fe/./src/components/global_notice_list/global_notice_list.vue","webpack://pleroma_fe/./src/App.scss","webpack://pleroma_fe/./src/panel.scss","webpack://pleroma_fe/./src/components/thread_tree/thread_tree.vue","webpack://pleroma_fe/./src/components/conversation/conversation.vue","webpack://pleroma_fe/./src/components/timeline_menu/timeline_menu.vue","webpack://pleroma_fe/./src/components/timeline/timeline.scss","webpack://pleroma_fe/./src/components/tab_switcher/tab_switcher.scss","webpack://pleroma_fe/./src/components/chat_title/chat_title.vue","webpack://pleroma_fe/./src/components/chat_list_item/chat_list_item.scss","webpack://pleroma_fe/./src/components/basic_user_card/basic_user_card.vue","webpack://pleroma_fe/./src/components/chat_new/chat_new.scss","webpack://pleroma_fe/./src/components/chat_list/chat_list.vue","webpack://pleroma_fe/./src/components/chat_message/chat_message.scss","webpack://pleroma_fe/./src/components/chat/chat.scss","webpack://pleroma_fe/./src/components/follow_card/follow_card.vue","webpack://pleroma_fe/./src/hocs/with_load_more/with_load_more.scss","webpack://pleroma_fe/./src/components/user_profile/user_profile.vue","webpack://pleroma_fe/./src/components/search/search.vue","webpack://pleroma_fe/./src/components/interface_language_switcher/interface_language_switcher.vue","webpack://pleroma_fe/./src/components/registration/registration.vue","webpack://pleroma_fe/./src/components/password_reset/password_reset.vue","webpack://pleroma_fe/./src/components/follow_request_card/follow_request_card.vue","webpack://pleroma_fe/./src/components/terms_of_service_panel/terms_of_service_panel.vue","webpack://pleroma_fe/./src/components/staff_panel/staff_panel.vue","webpack://pleroma_fe/./src/components/mrf_transparency_panel/mrf_transparency_panel.scss","webpack://pleroma_fe/./src/components/lists_card/lists_card.vue","webpack://pleroma_fe/./src/components/lists/lists.vue","webpack://pleroma_fe/./src/components/lists_user_search/lists_user_search.vue","webpack://pleroma_fe/./src/components/panel_loading/panel_loading.vue","webpack://pleroma_fe/./src/components/lists_edit/lists_edit.vue","webpack://pleroma_fe/./src/components/announcement_editor/announcement_editor.vue","webpack://pleroma_fe/./src/components/announcement/announcement.vue","webpack://pleroma_fe/./src/components/announcements_page/announcements_page.vue"],"sourcesContent":["\n.modal-view {\n  z-index: var(--ZI_modals);\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  overflow: auto;\n  pointer-events: none;\n  animation-duration: 0.2s;\n  animation-name: modal-background-fadein;\n  opacity: 0;\n\n  > * {\n    pointer-events: initial;\n  }\n\n  &.modal-background {\n    pointer-events: initial;\n    background-color: rgb(0 0 0 / 50%);\n  }\n\n  &.open {\n    opacity: 1;\n  }\n}\n\n@keyframes modal-background-fadein {\n  from {\n    background-color: rgb(0 0 0 / 0%);\n  }\n\n  to {\n    background-color: rgb(0 0 0 / 50%);\n  }\n}\n",".vue-recycle-scroller{position:relative}.vue-recycle-scroller.direction-vertical:not(.page-mode){overflow-y:auto}.vue-recycle-scroller.direction-horizontal:not(.page-mode){overflow-x:auto}.vue-recycle-scroller.direction-horizontal{display:flex}.vue-recycle-scroller__slot{flex:auto 0 0}.vue-recycle-scroller__item-wrapper{flex:1;box-sizing:border-box;overflow:hidden;position:relative}.vue-recycle-scroller.ready .vue-recycle-scroller__item-view{position:absolute;top:0;left:0;will-change:transform}.vue-recycle-scroller.direction-vertical .vue-recycle-scroller__item-wrapper{width:100%}.vue-recycle-scroller.direction-horizontal .vue-recycle-scroller__item-wrapper{height:100%}.vue-recycle-scroller.ready.direction-vertical .vue-recycle-scroller__item-view{width:100%}.vue-recycle-scroller.ready.direction-horizontal .vue-recycle-scroller__item-view{height:100%}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}","\n@import \"../../variables\";\n\n.login-form {\n  display: flex;\n  flex-direction: column;\n  padding: 0.6em;\n\n  .btn {\n    min-height: 2em;\n    width: 10em;\n  }\n\n  .register {\n    flex: 1 1;\n  }\n\n  .login-bottom {\n    margin-top: 1em;\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    justify-content: space-between;\n  }\n\n  .form-group {\n    display: flex;\n    flex-direction: column;\n    padding: 0.3em 0.5em 0.6em;\n    line-height: 24px;\n  }\n\n  .form-bottom {\n    display: flex;\n    padding: 0.5em;\n    height: 32px;\n\n    button {\n      width: 10em;\n    }\n\n    p {\n      margin: 0.35em;\n      padding: 0.35em;\n      display: flex;\n    }\n  }\n\n  .error {\n    text-align: center;\n    animation-name: shakeError;\n    animation-duration: 0.4s;\n    animation-timing-function: ease-in-out;\n  }\n}\n","\n@import \"../../variables\";\n\n.media-upload {\n  cursor: pointer; // We use <label> for interactivity... i wonder if it's fine\n\n  .hidden-input-file {\n    display: none;\n  }\n}\n ","\n@import \"../../variables\";\n\n.ScopeSelector {\n  .scope {\n    display: inline-block;\n    cursor: pointer;\n    min-width: 1.3em;\n    min-height: 1.3em;\n    text-align: center;\n\n    &.selected svg {\n      color: $fallback--lightText;\n      color: var(--lightText, $fallback--lightText);\n    }\n  }\n}\n","$main-color: #f58d2c;\n$main-background: white;\n$darkened-background: whitesmoke;\n\n$fallback--bg: #121a24;\n$fallback--fg: #182230;\n$fallback--faint: rgb(185 185 186 / 50%);\n$fallback--text: #b9b9ba;\n$fallback--link: #d8a070;\n$fallback--icon: #666;\n$fallback--lightBg: rgb(21 30 42);\n$fallback--lightText: #b9b9ba;\n$fallback--border: #222;\n$fallback--cRed: #f00;\n$fallback--cBlue: #0095ff;\n$fallback--cGreen: #0fa00f;\n$fallback--cOrange: orange;\n\n$fallback--alertError: rgb(211 16 20 / 50%);\n$fallback--alertWarning: rgb(111 111 20 / 50%);\n\n$fallback--panelRadius: 10px;\n$fallback--checkboxRadius: 2px;\n$fallback--btnRadius: 4px;\n$fallback--inputRadius: 4px;\n$fallback--tooltipRadius: 5px;\n$fallback--avatarRadius: 4px;\n$fallback--avatarAltRadius: 10px;\n$fallback--attachmentRadius: 10px;\n$fallback--chatMessageRadius: 10px;\n\n$fallback--buttonShadow: 0 0 2px 0 rgb(0 0 0 / 100%),\n  0 1px 0 0 rgb(255 255 255 / 20%) inset,\n  0 -1px 0 0 rgb(0 0 0 / 20%) inset;\n\n$status-margin: 0.75em;\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.checkbox {\n  position: relative;\n  display: inline-block;\n  min-height: 1.2em;\n\n  &-indicator {\n    position: relative;\n    padding-left: 1.2em;\n  }\n\n  &-indicator::before {\n    position: absolute;\n    right: 0;\n    top: 0;\n    display: block;\n    content: \"✓\";\n    transition: color 200ms;\n    width: 1.1em;\n    height: 1.1em;\n    border-radius: $fallback--checkboxRadius;\n    border-radius: var(--checkboxRadius, $fallback--checkboxRadius);\n    box-shadow: 0 0 2px black inset;\n    box-shadow: var(--inputShadow);\n    background-color: $fallback--fg;\n    background-color: var(--input, $fallback--fg);\n    vertical-align: top;\n    text-align: center;\n    line-height: 1.1em;\n    font-size: 1.1em;\n    color: transparent;\n    overflow: hidden;\n    box-sizing: border-box;\n  }\n\n  &.disabled {\n    .checkbox-indicator::before,\n    .label {\n      opacity: 0.5;\n    }\n\n    .label {\n      color: $fallback--faint;\n      color: var(--faint, $fallback--faint);\n    }\n  }\n\n  input[type=\"checkbox\"] {\n    &:checked + .checkbox-indicator::before {\n      color: $fallback--text;\n      color: var(--inputText, $fallback--text);\n    }\n\n    &:indeterminate + .checkbox-indicator::before {\n      content: \"–\";\n      color: $fallback--text;\n      color: var(--inputText, $fallback--text);\n    }\n  }\n\n  & > span {\n    margin-left: 0.5em;\n  }\n}\n","\n@import \"../../variables\";\n\n.popover-trigger-button {\n  display: inline-block;\n}\n\n.popover {\n  z-index: var(--ZI_popover_override, var(--ZI_popovers));\n  position: fixed;\n  min-width: 0;\n  max-width: calc(100vw - 20px);\n  box-shadow: 2px 2px 3px rgb(0 0 0 / 50%);\n  box-shadow: var(--popupShadow);\n}\n\n.popover-default {\n  &::after {\n    content: \"\";\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    z-index: 3;\n    box-shadow: 1px 1px 4px rgb(0 0 0 / 60%);\n    box-shadow: var(--panelShadow);\n    pointer-events: none;\n  }\n\n  border-radius: $fallback--btnRadius;\n  border-radius: var(--btnRadius, $fallback--btnRadius);\n  background-color: $fallback--bg;\n  background-color: var(--popover, $fallback--bg);\n  color: $fallback--text;\n  color: var(--popoverText, $fallback--text);\n\n  --faint: var(--popoverFaintText, $fallback--faint);\n  --faintLink: var(--popoverFaintLink, $fallback--faint);\n  --lightText: var(--popoverLightText, $fallback--lightText);\n  --postLink: var(--popoverPostLink, $fallback--link);\n  --postFaintLink: var(--popoverPostFaintLink, $fallback--link);\n  --icon: var(--popoverIcon, $fallback--icon);\n}\n\n.dropdown-menu {\n  display: block;\n  padding: 0.5rem 0;\n  font-size: 1em;\n  text-align: left;\n  list-style: none;\n  max-width: 100vw;\n  z-index: var(--ZI_popover_override, var(--ZI_popovers));\n  white-space: nowrap;\n\n  .dropdown-divider {\n    height: 0;\n    margin: 0.5rem 0;\n    overflow: hidden;\n    border-top: 1px solid $fallback--border;\n    border-top: 1px solid var(--border, $fallback--border);\n  }\n\n  .dropdown-item {\n    line-height: 21px;\n    overflow: hidden;\n    display: block;\n    padding: 0.5em 0.75em;\n    clear: both;\n    font-weight: 400;\n    text-align: inherit;\n    white-space: nowrap;\n    border: none;\n    border-radius: 0;\n    background-color: transparent;\n    box-shadow: none;\n    width: 100%;\n    height: 100%;\n    box-sizing: border-box;\n\n    --btnText: var(--popoverText, $fallback--text);\n\n    &-icon {\n      svg {\n        width: 22px;\n        margin-right: 0.75rem;\n        color: var(--menuPopoverIcon, $fallback--icon);\n      }\n    }\n\n    &.-has-submenu {\n      .chevron-icon {\n        margin-right: 0.25rem;\n        margin-left: 2rem;\n      }\n    }\n\n    &:active,\n    &:hover {\n      background-color: $fallback--lightBg;\n      background-color: var(--selectedMenuPopover, $fallback--lightBg);\n      box-shadow: none;\n\n      --btnText: var(--selectedMenuPopoverText, $fallback--link);\n      --faint: var(--selectedMenuPopoverFaintText, $fallback--faint);\n      --faintLink: var(--selectedMenuPopoverFaintLink, $fallback--faint);\n      --lightText: var(--selectedMenuPopoverLightText, $fallback--lightText);\n      --icon: var(--selectedMenuPopoverIcon, $fallback--icon);\n\n      svg {\n        color: var(--selectedMenuPopoverIcon, $fallback--icon);\n\n        --icon: var(--selectedMenuPopoverIcon, $fallback--icon);\n      }\n    }\n\n    .menu-checkbox {\n      display: inline-block;\n      vertical-align: middle;\n      min-width: 22px;\n      max-width: 22px;\n      min-height: 22px;\n      max-height: 22px;\n      line-height: 22px;\n      text-align: center;\n      border-radius: 0;\n      background-color: $fallback--fg;\n      background-color: var(--input, $fallback--fg);\n      box-shadow: 0 0 2px black inset;\n      box-shadow: var(--inputShadow);\n      margin-right: 0.75em;\n\n      &.menu-checkbox-checked::after {\n        font-size: 1.25em;\n        content: \"✓\";\n      }\n\n      &.-radio {\n        border-radius: 9999px;\n\n        &.menu-checkbox-checked::after {\n          font-size: 2em;\n          content: \"•\";\n        }\n      }\n    }\n  }\n\n  .button-default.dropdown-item {\n    &,\n    i[class*=\"icon-\"] {\n      color: $fallback--text;\n      color: var(--btnText, $fallback--text);\n    }\n\n    &:active {\n      background-color: $fallback--lightBg;\n      background-color: var(--selectedMenuPopover, $fallback--lightBg);\n      color: $fallback--link;\n      color: var(--selectedMenuPopoverText, $fallback--link);\n    }\n\n    &:disabled {\n      color: $fallback--text;\n      color: var(--btnDisabledText, $fallback--text);\n    }\n\n    &.toggled {\n      color: $fallback--text;\n      color: var(--btnToggledText, $fallback--text);\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.still-image {\n  position: relative;\n  line-height: 0;\n  overflow: hidden;\n  display: inline-flex;\n  align-items: center;\n\n  canvas {\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n    visibility: var(--_still-image-canvas-visibility, visible);\n  }\n\n  img {\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n  }\n\n  &.animated {\n    &::before {\n      zoom: var(--_still_image-label-scale, 1);\n      content: \"gif\";\n      position: absolute;\n      line-height: 1;\n      font-size: 0.7em;\n      top: 0.5em;\n      left: 0.5em;\n      background: rgb(127 127 127 / 50%);\n      color: #fff;\n      display: block;\n      padding: 2px 4px;\n      border-radius: $fallback--tooltipRadius;\n      border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n      z-index: 2;\n      visibility: var(--_still-image-label-visibility, visible);\n    }\n\n    &:hover canvas {\n      display: none;\n    }\n\n    &:hover::before {\n      visibility: var(--_still-image-label-visibility, hidden);\n    }\n\n    img {\n      visibility: var(--_still-image-img-visibility, hidden);\n    }\n\n    &:hover img {\n      visibility: visible;\n    }\n  }\n}\n","@import \"../../variables\";\n\n$emoji-picker-header-height: 36px;\n$emoji-picker-header-picture-width: 32px;\n$emoji-picker-header-picture-height: 32px;\n$emoji-picker-emoji-size: 32px;\n\n.emoji-picker {\n  width: 25em;\n  max-width: calc(100vw - 20px); // popover gives 10px margin from window edge\n  display: flex;\n  flex-direction: column;\n  background-color: $fallback--bg;\n  background-color: var(--popover, $fallback--bg);\n  color: $fallback--link;\n  color: var(--popoverText, $fallback--link);\n\n  --faint: var(--popoverFaintText, $fallback--faint);\n  --faintLink: var(--popoverFaintLink, $fallback--faint);\n  --lightText: var(--popoverLightText, $fallback--lightText);\n  --icon: var(--popoverIcon, $fallback--icon);\n\n  &-header-image {\n    display: inline-flex;\n    justify-content: center;\n    align-items: center;\n    width: $emoji-picker-header-picture-width;\n    max-width: $emoji-picker-header-picture-width;\n    height: $emoji-picker-header-picture-height;\n    max-height: $emoji-picker-header-picture-height;\n\n    .still-image {\n      max-width: 100%;\n      max-height: 100%;\n      height: 100%;\n      width: 100%;\n      object-fit: contain;\n    }\n  }\n\n  .keep-open,\n  .too-many-emoji {\n    padding: 7px;\n    line-height: normal;\n  }\n\n  .too-many-emoji {\n    display: flex;\n    flex-direction: column;\n  }\n\n  .keep-open-label {\n    padding: 0 7px;\n    display: flex;\n  }\n\n  .heading {\n    display: flex;\n    padding: 10px 7px 5px;\n  }\n\n  .content {\n    display: flex;\n    flex-direction: column;\n    flex: 1 1 auto;\n    min-height: 0;\n  }\n\n  .emoji-tabs {\n    flex-grow: 1;\n    display: flex;\n    flex-flow: row nowrap;\n    overflow-x: auto;\n  }\n\n  .additional-tabs {\n    display: flex;\n    border-left: 1px solid;\n    border-left-color: $fallback--icon;\n    border-left-color: var(--icon, $fallback--icon);\n    padding-left: 7px;\n    flex: 0 0 auto;\n  }\n\n  .additional-tabs,\n  .emoji-tabs {\n    flex-basis: auto;\n    display: flex;\n    align-content: center;\n\n    &-item {\n      padding: 0 7px;\n      cursor: pointer;\n      font-size: 1.85em;\n      width: $emoji-picker-header-picture-width;\n      max-width: $emoji-picker-header-picture-width;\n      height: $emoji-picker-header-picture-height;\n      max-height: $emoji-picker-header-picture-height;\n      display: flex;\n      align-items: center;\n\n      &.disabled {\n        opacity: 0.5;\n        pointer-events: none;\n      }\n\n      &.active {\n        border-bottom: 4px solid;\n\n        svg {\n          color: $fallback--lightText;\n          color: var(--lightText, $fallback--lightText);\n        }\n      }\n    }\n  }\n\n  .sticker-picker {\n    flex: 1 1 auto;\n  }\n\n  .stickers,\n  .emoji {\n    &-content {\n      display: flex;\n      flex-direction: column;\n      flex: 1 1 auto;\n      min-height: 0;\n\n      &.hidden {\n        opacity: 0;\n        pointer-events: none;\n        position: absolute;\n      }\n    }\n  }\n\n  .emoji {\n    &-search {\n      padding: 5px;\n      flex: 0 0 auto;\n\n      input {\n        width: 100%;\n      }\n    }\n\n    &-groups {\n      height: 100%;\n      min-height: 200px;\n      flex: 1 1 1px;\n      position: relative;\n      overflow: auto;\n      user-select: none;\n      mask:\n        linear-gradient(to top, white 0, transparent 100%) bottom no-repeat,\n        linear-gradient(to bottom, white 0, transparent 100%) top no-repeat,\n        linear-gradient(to top, white, white);\n      transition: mask-size 150ms;\n      mask-size: 100% 20px, 100% 20px, auto;\n      // Autoprefixed seem to ignore this one, and also syntax is different\n      mask-composite: xor;\n      mask-composite: exclude;\n\n      &.scrolled {\n        &-top {\n          mask-size: 100% 20px, 100% 0, auto;\n        }\n\n        &-bottom {\n          mask-size: 100% 0, 100% 20px, auto;\n        }\n      }\n    }\n\n    &-group {\n      display: flex;\n      align-items: center;\n      flex-wrap: wrap;\n      padding-left: 5px;\n      justify-content: left;\n\n      &-title {\n        font-size: 0.85em;\n        width: 100%;\n        margin: 0;\n\n        &.disabled {\n          display: none;\n        }\n      }\n    }\n\n    &-item {\n      width: $emoji-picker-emoji-size;\n      height: $emoji-picker-emoji-size;\n      box-sizing: border-box;\n      display: flex;\n      line-height: $emoji-picker-emoji-size;\n      align-items: center;\n      justify-content: center;\n      margin: 4px;\n      cursor: pointer;\n\n      .emoji-picker-emoji.-custom {\n        object-fit: contain;\n        max-width: 100%;\n        max-height: 100%;\n      }\n\n      .emoji-picker-emoji.-unicode {\n        font-size: 24px;\n        overflow: hidden;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.emoji-input {\n  display: flex;\n  flex-direction: column;\n  position: relative;\n\n  .emoji-picker-icon {\n    position: absolute;\n    top: 0;\n    right: 0;\n    margin: 0.2em 0.25em;\n    font-size: 1.3em;\n    cursor: pointer;\n    line-height: 24px;\n\n    &:hover i {\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n  }\n\n  .emoji-picker-panel {\n    position: absolute;\n    z-index: 20;\n    margin-top: 2px;\n\n    &.hide {\n      display: none;\n    }\n  }\n\n  input,\n  textarea {\n    flex: 1 0 auto;\n  }\n\n  &.with-picker input {\n    padding-right: 30px;\n  }\n\n  .hidden-overlay {\n    opacity: 0;\n    pointer-events: none;\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    right: 0;\n    left: 0;\n    overflow: hidden;\n\n    /* DEBUG STUFF */\n    color: red;\n\n    /* set opacity to non-zero to see the overlay */\n\n    .caret {\n      width: 0;\n      margin-right: calc(-1ch - 1px);\n      border: 1px solid red;\n    }\n  }\n}\n\n.autocomplete {\n  &-panel {\n    position: absolute;\n  }\n\n  &-item {\n    display: flex;\n    cursor: pointer;\n    padding: 0.2em 0.4em;\n    border-bottom: 1px solid rgb(0 0 0 / 40%);\n    height: 32px;\n\n    .image {\n      width: 32px;\n      height: 32px;\n      line-height: 32px;\n      text-align: center;\n      font-size: 32px;\n      margin-right: 4px;\n\n      img {\n        width: 32px;\n        height: 32px;\n        object-fit: contain;\n      }\n    }\n\n    .label {\n      display: flex;\n      flex-direction: column;\n      justify-content: center;\n      margin: 0 0.1em 0 0.2em;\n\n      .displayText {\n        line-height: 1.5;\n      }\n\n      .detailText {\n        font-size: 9px;\n        line-height: 9px;\n      }\n    }\n\n    &.highlighted {\n      background-color: $fallback--fg;\n      background-color: var(--selectedMenuPopover, $fallback--fg);\n      color: var(--selectedMenuPopoverText, $fallback--text);\n\n      --faint: var(--selectedMenuPopoverFaintText, $fallback--faint);\n      --faintLink: var(--selectedMenuPopoverFaintLink, $fallback--faint);\n      --lightText: var(--selectedMenuPopoverLightText, $fallback--lightText);\n      --icon: var(--selectedMenuPopoverIcon, $fallback--icon);\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n/* TODO fix order of styles */\nlabel.Select {\n  padding: 0;\n\n  select {\n    appearance: none;\n    background: transparent;\n    border: none;\n    color: $fallback--text;\n    color: var(--inputText, --text, $fallback--text);\n    margin: 0;\n    padding: 0 2em 0 0.2em;\n    font-family: sans-serif;\n    font-family: var(--inputFont, sans-serif);\n    font-size: 1em;\n    width: 100%;\n    z-index: 1;\n    height: 2em;\n    line-height: 16px;\n  }\n\n  .select-down-icon {\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    right: 5px;\n    height: 100%;\n    width: 0.875em;\n    color: $fallback--text;\n    color: var(--inputText, $fallback--text);\n    line-height: 2;\n    z-index: 0;\n    pointer-events: none;\n  }\n}\n","\n@import \"../../variables\";\n\n.poll-form {\n  display: flex;\n  flex-direction: column;\n  padding: 0 0.5em 0.5em;\n\n  .add-option {\n    align-self: flex-start;\n    padding-top: 0.25em;\n    padding-left: 0.1em;\n  }\n\n  .poll-option {\n    display: flex;\n    align-items: baseline;\n    justify-content: space-between;\n    margin-bottom: 0.25em;\n  }\n\n  .input-container {\n    width: 100%;\n\n    input {\n      // Hack: dodge the floating X icon\n      padding-right: 2.5em;\n      width: 100%;\n    }\n  }\n\n  .delete-option {\n    // Hack: Move the icon over the input box\n    width: 1.5em;\n    margin-left: -1.5em;\n    z-index: 1;\n  }\n\n  .poll-type-expiry {\n    margin-top: 0.5em;\n    display: flex;\n    width: 100%;\n  }\n\n  .poll-type {\n    margin-right: 0.75em;\n    flex: 1 1 60%;\n\n    .poll-type-select {\n      padding-right: 0.75em;\n    }\n  }\n\n  .poll-expiry {\n    display: flex;\n\n    .expiry-amount {\n      width: 3em;\n      text-align: right;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.Flash {\n  display: inline-block;\n  width: 100%;\n  height: 100%;\n  position: relative;\n\n  .player {\n    height: 100%;\n    width: 100%;\n  }\n\n  .placeholder {\n    height: 100%;\n    width: 100%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: var(--bg);\n    color: var(--link);\n  }\n\n  .hider {\n    top: 0;\n  }\n\n  .label {\n    text-align: center;\n    flex: 1 1 0;\n    line-height: 1.2;\n    white-space: normal;\n    word-wrap: normal;\n  }\n\n  .hidden {\n    display: none;\n    visibility: \"hidden\";\n  }\n}\n","@import \"../../variables\";\n\n.Attachment {\n  display: inline-flex;\n  flex-direction: column;\n  position: relative;\n  align-self: flex-start;\n  line-height: 0;\n  height: 100%;\n  border-style: solid;\n  border-width: 1px;\n  border-radius: $fallback--attachmentRadius;\n  border-radius: var(--attachmentRadius, $fallback--attachmentRadius);\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n\n  .attachment-wrapper {\n    flex: 1 1 auto;\n    height: 100%;\n    position: relative;\n    overflow: hidden;\n  }\n\n  .description-container {\n    flex: 0 1 0;\n    display: flex;\n    padding-top: 0.5em;\n    z-index: 1;\n\n    p {\n      flex: 1;\n      text-align: center;\n      line-height: 1.5;\n      padding: 0.5em;\n      margin: 0;\n      white-space: nowrap;\n      text-overflow: ellipsis;\n      overflow: hidden;\n    }\n\n    &.-static {\n      position: absolute;\n      left: 0;\n      right: 0;\n      bottom: 0;\n      padding-top: 0;\n      background: var(--popover);\n      box-shadow: var(--popupShadow);\n    }\n  }\n\n  .description-field {\n    flex: 1;\n    min-width: 0;\n  }\n\n  & .placeholder-container,\n  & .image-container,\n  & .audio-container,\n  & .video-container,\n  & .flash-container,\n  & .oembed-container {\n    display: flex;\n    justify-content: center;\n    width: 100%;\n    height: 100%;\n  }\n\n  .image-container {\n    .image {\n      width: 100%;\n      height: 100%;\n    }\n  }\n\n  & .flash-container,\n  & .video-container {\n    & .flash,\n    & video {\n      width: 100%;\n      height: 100%;\n      object-fit: contain;\n      align-self: center;\n    }\n  }\n\n  .audio-container {\n    display: flex;\n    align-items: flex-end;\n\n    audio {\n      width: 100%;\n      height: 100%;\n    }\n  }\n\n  .placeholder-container {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding-top: 0.5em;\n  }\n\n  .play-icon {\n    position: absolute;\n    font-size: 64px;\n    top: calc(50% - 32px);\n    left: calc(50% - 32px);\n    color: rgb(255 255 255 / 75%);\n    text-shadow: 0 0 2px rgb(0 0 0 / 40%);\n\n    &::before {\n      margin: 0;\n    }\n  }\n\n  .attachment-buttons {\n    display: flex;\n    position: absolute;\n    right: 0;\n    top: 0;\n    margin-top: 0.5em;\n    margin-right: 0.5em;\n    z-index: 1;\n\n    .attachment-button {\n      padding: 0;\n      border-radius: $fallback--tooltipRadius;\n      border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n      text-align: center;\n      width: 2em;\n      height: 2em;\n      margin-left: 0.5em;\n      font-size: 1.25em;\n      // TODO: theming? hard to theme with unknown background image color\n      background: rgb(230 230 230 / 70%);\n\n      .svg-inline--fa {\n        color: rgb(0 0 0 / 60%);\n      }\n\n      &:hover .svg-inline--fa {\n        color: rgb(0 0 0 / 90%);\n      }\n    }\n  }\n\n  &.-contain-fit {\n    img,\n    canvas {\n      object-fit: contain;\n    }\n  }\n\n  &.-cover-fit {\n    img,\n    canvas {\n      object-fit: cover;\n    }\n  }\n\n  .oembed-container {\n    line-height: 1.2em;\n    flex: 1 0 100%;\n    width: 100%;\n    margin-right: 15px;\n    display: flex;\n\n    img {\n      width: 100%;\n    }\n\n    .image {\n      flex: 1;\n\n      img {\n        border: 0;\n        border-radius: 5px;\n        height: 100%;\n        object-fit: cover;\n      }\n    }\n\n    .text {\n      flex: 2;\n      margin: 8px;\n      word-break: break-all;\n\n      h1 {\n        font-size: 1rem;\n        margin: 0;\n      }\n    }\n  }\n\n  &.-size-small {\n    .play-icon {\n      zoom: 0.5;\n      opacity: 0.7;\n    }\n\n    .attachment-buttons {\n      zoom: 0.7;\n      opacity: 0.5;\n    }\n  }\n\n  &.-editable {\n    padding: 0.5em;\n\n    & .description-container,\n    & .attachment-buttons {\n      margin: 0;\n    }\n  }\n\n  &.-placeholder {\n    display: inline-block;\n    color: $fallback--link;\n    color: var(--postLink, $fallback--link);\n    overflow: hidden;\n    white-space: nowrap;\n    height: auto;\n    line-height: 1.5;\n\n    &:not(.-editable) {\n      border: none;\n    }\n\n    &.-editable {\n      display: flex;\n      flex-direction: row;\n      align-items: baseline;\n\n      & .description-container,\n      & .attachment-buttons {\n        margin: 0;\n        padding: 0;\n        position: relative;\n      }\n\n      .description-container {\n        flex: 1;\n        padding-left: 0.5em;\n      }\n\n      .attachment-buttons {\n        order: 99;\n        align-self: center;\n      }\n    }\n\n    a {\n      display: inline-block;\n      max-width: 100%;\n      overflow: hidden;\n      text-overflow: ellipsis;\n    }\n\n    svg {\n      color: inherit;\n    }\n  }\n\n  &.-loading {\n    cursor: progress;\n  }\n\n  &.-compact {\n    .placeholder-container {\n      padding-bottom: 0.5em;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.Gallery {\n  .gallery-rows {\n    display: flex;\n    flex-direction: column;\n  }\n\n  .gallery-row {\n    position: relative;\n    height: 0;\n    width: 100%;\n    flex-grow: 1;\n\n    .gallery-row-inner {\n      position: absolute;\n      top: 0;\n      left: 0;\n      right: 0;\n      bottom: 0;\n      display: flex;\n      flex-flow: row wrap;\n      align-content: stretch;\n\n      .gallery-item {\n        margin: 0 0.5em 0 0;\n        flex-grow: 1;\n        height: 100%;\n        box-sizing: border-box;\n        // to make failed images a bit more noticeable on chromium\n        min-width: 2em;\n\n        &:last-child {\n          margin: 0;\n        }\n      }\n\n      &.-grid {\n        width: 100%;\n        height: auto;\n        position: relative;\n        display: grid;\n        grid-gap: 0.5em;\n        grid-template-columns: repeat(auto-fill, minmax(15em, 1fr));\n\n        .gallery-item {\n          margin: 0;\n          height: 200px;\n        }\n      }\n    }\n\n    &.-grid,\n    &.-minimal {\n      height: auto;\n\n      .gallery-row-inner {\n        position: relative;\n      }\n    }\n\n    &:not(:first-child) {\n      margin-top: 0.5em;\n    }\n  }\n\n  &.-long {\n    .gallery-rows {\n      max-height: 25em;\n      overflow: hidden;\n      mask:\n        linear-gradient(to top, white, transparent) bottom/100% 70px no-repeat,\n        linear-gradient(to top, white, white);\n\n      /* Autoprefixed seem to ignore this one, and also syntax is different */\n      mask-composite: xor;\n      mask-composite: exclude;\n    }\n  }\n\n  .many-attachments-text {\n    text-align: center;\n    line-height: 2;\n  }\n\n  .many-attachments-buttons {\n    display: flex;\n  }\n\n  .many-attachments-button {\n    display: flex;\n    flex: 1;\n    justify-content: center;\n    line-height: 2;\n\n    button {\n      padding: 0 2em;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.Avatar {\n  --_avatarShadowBox: var(--avatarStatusShadow);\n  --_avatarShadowFilter: var(--avatarStatusShadowFilter);\n  --_avatarShadowInset: var(--avatarStatusShadowInset);\n  --_still-image-label-visibility: hidden;\n\n  display: inline-block;\n  position: relative;\n  width: 48px;\n  height: 48px;\n\n  &.-compact {\n    width: 32px;\n    height: 32px;\n    border-radius: $fallback--avatarAltRadius;\n    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n  }\n\n  .avatar {\n    width: 100%;\n    height: 100%;\n    box-shadow: var(--_avatarShadowBox);\n    border-radius: $fallback--avatarRadius;\n    border-radius: var(--avatarRadius, $fallback--avatarRadius);\n\n    &.-better-shadow {\n      box-shadow: var(--_avatarShadowInset);\n      filter: var(--_avatarShadowFilter);\n    }\n\n    &.-animated::before {\n      display: none;\n    }\n\n    &.-compact {\n      border-radius: $fallback--avatarAltRadius;\n      border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n    }\n\n    &.-placeholder {\n      background-color: $fallback--fg;\n      background-color: var(--fg, $fallback--fg);\n    }\n  }\n\n  img {\n    width: 100%;\n    height: 100%;\n  }\n\n  .bot-indicator {\n    position: absolute;\n    bottom: 0;\n    right: 0;\n    margin: -0.2em;\n    padding: 0.2em;\n    background: rgb(127 127 127 / 50%);\n    color: #fff;\n    border-radius: var(--tooltipRadius);\n  }\n}\n","@import \"../../variables\";\n\n.MentionLink {\n  position: relative;\n  white-space: normal;\n  display: inline;\n  color: var(--link);\n  word-break: normal;\n\n  & .new,\n  & .original {\n    display: inline;\n    border-radius: 2px;\n  }\n\n  .mention-avatar {\n    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n    width: 1.5em;\n    height: 1.5em;\n    vertical-align: middle;\n    user-select: none;\n    margin-right: 0.2em;\n  }\n\n  .full {\n    position: absolute;\n    display: inline-block;\n    pointer-events: none;\n    opacity: 0;\n    top: 100%;\n    left: 0;\n    height: 100%;\n    word-wrap: normal;\n    white-space: nowrap;\n    transition: opacity 0.2s ease;\n    z-index: 1;\n    margin-top: 0.25em;\n    padding: 0.5em;\n    user-select: all;\n  }\n\n  & .short.-with-tooltip,\n  & .you {\n    user-select: none;\n  }\n\n  & .short,\n  & .full {\n    white-space: nowrap;\n  }\n\n  .shortName {\n    white-space: normal;\n  }\n\n  .new {\n    &.-you {\n      .shortName {\n        font-weight: 600;\n      }\n    }\n\n    &.-has-selection {\n      color: var(--alertNeutralText, $fallback--text);\n      background-color: var(--alertNeutral, $fallback--fg);\n    }\n\n    .at {\n      color: var(--link);\n      opacity: 0.8;\n      display: inline-block;\n      line-height: 1;\n      padding: 0 0.1em;\n      vertical-align: -25%;\n      margin: 0;\n    }\n\n    &.-striped {\n      & .shortName {\n        background-image:\n          repeating-linear-gradient(\n            135deg,\n            var(--____highlight-tintColor),\n            var(--____highlight-tintColor) 5px,\n            var(--____highlight-tintColor2) 5px,\n            var(--____highlight-tintColor2) 10px\n          );\n      }\n    }\n\n    &.-solid {\n      .shortName {\n        background-image: linear-gradient(var(--____highlight-tintColor2), var(--____highlight-tintColor2));\n      }\n    }\n\n    &.-side {\n      .shortName {\n        box-shadow: 0 -5px 3px -4px inset var(--____highlight-solidColor);\n      }\n    }\n  }\n\n  .serverName.-faded {\n    color: var(--faintLink, $fallback--link);\n  }\n}\n\n.mention-link-popover {\n  max-width: 70ch;\n  max-height: 20rem;\n  overflow: hidden;\n}\n",".MentionsLine {\n  word-break: break-all;\n\n  .mention-link:not(:first-child)::before {\n    content: \" \";\n  }\n\n  .showMoreLess {\n    margin-left: 0.5em;\n    white-space: normal;\n    color: var(--link);\n  }\n}\n",".HashtagLink {\n  position: relative;\n  white-space: normal;\n  display: inline-block;\n  color: var(--link);\n}\n","@import \"../../variables\";\n\n.RichContent {\n  blockquote {\n    margin: 0.2em 0 0.2em 0.2em;\n    font-style: italic;\n    border-left: 0.2em solid var(--faint, $fallback--faint);\n    padding-left: 1em;\n  }\n\n  pre {\n    overflow: auto;\n  }\n\n  code,\n  samp,\n  kbd,\n  var,\n  pre {\n    font-family: var(--postCodeFont, monospace);\n  }\n\n  p {\n    margin: 0 0 1em;\n  }\n\n  p:last-child {\n    margin: 0;\n  }\n\n  h1 {\n    font-size: 1.1em;\n    line-height: 1.2em;\n    margin: 1.4em 0;\n  }\n\n  h2 {\n    font-size: 1.1em;\n    margin: 1em 0;\n  }\n\n  h3 {\n    font-size: 1em;\n    margin: 1.2em 0;\n  }\n\n  h4 {\n    margin: 1.1em 0;\n  }\n\n  .img {\n    display: inline-block;\n  }\n\n  .emoji {\n    display: inline-block;\n    width: var(--emoji-size, 32px);\n    height: var(--emoji-size, 32px);\n  }\n\n  .img,\n  video {\n    max-width: 100%;\n    max-height: 400px;\n    vertical-align: middle;\n    object-fit: contain;\n  }\n}\n","\n@import \"../../variables\";\n\n.poll {\n  .votes {\n    display: flex;\n    flex-direction: column;\n    margin: 0 0 0.5em;\n  }\n\n  .poll-option {\n    margin: 0.75em 0.5em;\n  }\n\n  .option-result {\n    height: 100%;\n    display: flex;\n    flex-direction: row;\n    position: relative;\n    color: $fallback--lightText;\n    color: var(--lightText, $fallback--lightText);\n  }\n\n  .option-result-label {\n    display: flex;\n    align-items: center;\n    padding: 0.1em 0.25em;\n    z-index: 1;\n    word-break: break-word;\n  }\n\n  .result-percentage {\n    width: 3.5em;\n    flex-shrink: 0;\n  }\n\n  .result-fill {\n    height: 100%;\n    position: absolute;\n    color: $fallback--text;\n    color: var(--pollText, $fallback--text);\n    background-color: $fallback--lightBg;\n    background-color: var(--poll, $fallback--lightBg);\n    border-radius: $fallback--panelRadius;\n    border-radius: var(--panelRadius, $fallback--panelRadius);\n    top: 0;\n    left: 0;\n    transition: width 0.5s;\n  }\n\n  .option-vote {\n    display: flex;\n    align-items: center;\n  }\n\n  input {\n    width: 3.5em;\n  }\n\n  .footer {\n    display: flex;\n    align-items: center;\n  }\n\n  &.loading * {\n    cursor: progress;\n  }\n\n  .poll-vote-button {\n    padding: 0 0.5em;\n    margin-right: 0.5em;\n  }\n\n  .poll-checkbox {\n    display: none;\n  }\n}\n","@import \"../../variables\";\n\n.StatusBody {\n  display: flex;\n  flex-direction: column;\n\n  .emoji {\n    --_still_image-label-scale: 0.5;\n  }\n\n  .attachments {\n    margin-top: 0.5em;\n  }\n\n  & .text,\n  & .summary {\n    font-family: var(--postFont, sans-serif);\n    white-space: pre-wrap;\n    overflow-wrap: break-word;\n    word-wrap: break-word;\n    word-break: break-word;\n    line-height: var(--post-line-height);\n  }\n\n  .summary {\n    display: block;\n    font-style: italic;\n    padding-bottom: 0.5em;\n  }\n\n  .text {\n    &.-single-line {\n      white-space: nowrap;\n      text-overflow: ellipsis;\n      overflow: hidden;\n      height: 1.4em;\n    }\n  }\n\n  .summary-wrapper {\n    margin-bottom: 0.5em;\n    border-style: solid;\n    border-width: 0 0 1px;\n    border-color: var(--border, $fallback--border);\n    flex-grow: 0;\n\n    &.-tall {\n      position: relative;\n\n      .summary {\n        max-height: 2em;\n        overflow: hidden;\n        white-space: nowrap;\n        text-overflow: ellipsis;\n      }\n    }\n  }\n\n  .text-wrapper {\n    display: flex;\n    flex-flow: column nowrap;\n\n    &.-tall-status {\n      position: relative;\n      height: 220px;\n      overflow-x: hidden;\n      overflow-y: hidden;\n      z-index: 1;\n\n      .media-body {\n        min-height: 0;\n        mask:\n          linear-gradient(to top, white, transparent) bottom/100% 70px no-repeat,\n          linear-gradient(to top, white, white);\n\n        /* Autoprefixed seem to ignore this one, and also syntax is different */\n        mask-composite: xor;\n        mask-composite: exclude;\n      }\n    }\n  }\n\n  & .tall-status-hider,\n  & .tall-subject-hider,\n  & .status-unhider,\n  & .cw-status-hider {\n    display: inline-block;\n    word-break: break-all;\n    width: 100%;\n    text-align: center;\n  }\n\n  .tall-status-hider {\n    position: absolute;\n    height: 70px;\n    margin-top: 150px;\n    line-height: 110px;\n    z-index: 2;\n  }\n\n  .tall-subject-hider {\n    // position: absolute;\n    padding-bottom: 0.5em;\n  }\n\n  & .status-unhider,\n  & .cw-status-hider {\n    word-break: break-all;\n\n    svg {\n      color: inherit;\n    }\n  }\n\n  .greentext {\n    color: $fallback--cGreen;\n    color: var(--postGreentext, $fallback--cGreen);\n  }\n\n  .cyantext {\n    color: var(--postCyantext, $fallback--cBlue);\n  }\n\n  &.-compact {\n    align-items: top;\n    flex-direction: row;\n\n    --emoji-size: 16px;\n\n    & .body,\n    & .attachments {\n      max-height: 3.25em;\n    }\n\n    .body {\n      overflow: hidden;\n      white-space: normal;\n      min-width: 5em;\n      flex: 5 1 auto;\n      mask-size: auto 3.5em, auto auto;\n      mask-position: 0 0, 0 0;\n      mask-repeat: repeat-x, repeat;\n      mask-image: linear-gradient(to bottom, white 2em, transparent 3em);\n\n      /* Autoprefixed seem to ignore this one, and also syntax is different */\n      mask-composite: xor;\n      mask-composite: exclude;\n    }\n\n    .attachments {\n      margin-top: 0;\n      flex: 1 1 0;\n      min-width: 5em;\n      height: 100%;\n      margin-left: 0.5em;\n    }\n\n    .summary-wrapper {\n      .summary::after {\n        content: \": \";\n      }\n\n      line-height: inherit;\n      margin: 0;\n      border: none;\n      display: inline-block;\n    }\n\n    .text-wrapper {\n      display: inline-block;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.link-preview-card {\n  display: flex;\n  flex-direction: row;\n  cursor: pointer;\n  overflow: hidden;\n  margin-top: 0.5em;\n\n  .card-image {\n    flex-shrink: 0;\n    width: 120px;\n    max-width: 25%;\n\n    img {\n      width: 100%;\n      height: 100%;\n      object-fit: cover;\n      border-radius: $fallback--attachmentRadius;\n      border-radius: var(--attachmentRadius, $fallback--attachmentRadius);\n    }\n  }\n\n  .card-content {\n    max-height: 100%;\n    margin: 0.5em;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .card-host {\n    font-size: 0.85em;\n  }\n\n  .card-description {\n    margin: 0.5em 0 0;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    word-break: break-word;\n    line-height: 1.2em;\n    // cap description at 3 lines, the 1px is to clean up some stray pixels\n    // TODO: fancier fade-out at the bottom to show off that it's too long?\n    max-height: calc(1.2em * 3 - 1px);\n  }\n\n  .nsfw-alert {\n    margin: 2em 0;\n  }\n\n  color: $fallback--text;\n  color: var(--text, $fallback--text);\n  border-style: solid;\n  border-width: 1px;\n  border-radius: $fallback--attachmentRadius;\n  border-radius: var(--attachmentRadius, $fallback--attachmentRadius);\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n}\n","\n.StatusContent {\n  flex: 1;\n  min-width: 0;\n}\n","\n@import \"../../variables\";\n\n.post-status-form {\n  position: relative;\n\n  .attachments {\n    margin-bottom: 0.5em;\n  }\n\n  .form-bottom {\n    display: flex;\n    justify-content: space-between;\n    padding: 0.5em;\n    height: 2.5em;\n\n    button {\n      width: 10em;\n    }\n\n    p {\n      margin: 0.35em;\n      padding: 0.35em;\n      display: flex;\n    }\n  }\n\n  .form-bottom-left {\n    display: flex;\n    flex: 1;\n    padding-right: 7px;\n    margin-right: 7px;\n    max-width: 10em;\n  }\n\n  .preview-heading {\n    display: flex;\n    padding-left: 0.5em;\n  }\n\n  .preview-toggle {\n    flex: 1;\n    cursor: pointer;\n    user-select: none;\n\n    &:hover {\n      text-decoration: underline;\n    }\n\n    svg,\n    i {\n      margin-left: 0.2em;\n      font-size: 0.8em;\n      transform: rotate(90deg);\n    }\n  }\n\n  .preview-container {\n    margin-bottom: 1em;\n  }\n\n  .preview-error {\n    font-style: italic;\n    color: $fallback--faint;\n    color: var(--faint, $fallback--faint);\n  }\n\n  .preview-status {\n    border: 1px solid $fallback--border;\n    border: 1px solid var(--border, $fallback--border);\n    border-radius: $fallback--tooltipRadius;\n    border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n    padding: 0.5em;\n    margin: 0;\n  }\n\n  .text-format {\n    .only-format {\n      color: $fallback--faint;\n      color: var(--faint, $fallback--faint);\n    }\n  }\n\n  .visibility-tray {\n    display: flex;\n    justify-content: space-between;\n    padding-top: 5px;\n    align-items: baseline;\n  }\n\n  .visibility-notice.edit-warning {\n    > :first-child {\n      margin-top: 0;\n    }\n\n    > :last-child {\n      margin-bottom: 0;\n    }\n  }\n\n  // Order is not necessary but a good indicator\n  .media-upload-icon {\n    order: 1;\n    justify-content: left;\n  }\n\n  .emoji-icon {\n    order: 2;\n    justify-content: center;\n  }\n\n  .poll-icon {\n    order: 3;\n    justify-content: right;\n  }\n\n  .media-upload-icon,\n  .poll-icon,\n  .emoji-icon {\n    font-size: 1.85em;\n    line-height: 1.1;\n    flex: 1;\n    padding: 0 0.1em;\n    display: flex;\n    align-items: center;\n\n    &.selected,\n    &:hover {\n      // needs to be specific to override icon default color\n      svg,\n      i,\n      label {\n        color: $fallback--lightText;\n        color: var(--lightText, $fallback--lightText);\n      }\n    }\n\n    &.disabled {\n      svg,\n      i {\n        cursor: not-allowed;\n        color: $fallback--icon;\n        color: var(--btnDisabledText, $fallback--icon);\n\n        &:hover {\n          color: $fallback--icon;\n          color: var(--btnDisabledText, $fallback--icon);\n        }\n      }\n    }\n  }\n\n  .error {\n    text-align: center;\n  }\n\n  .media-upload-wrapper {\n    margin-right: 0.2em;\n    margin-bottom: 0.5em;\n    width: 18em;\n\n    img,\n    video {\n      object-fit: contain;\n      max-height: 10em;\n    }\n\n    .video {\n      max-height: 10em;\n    }\n\n    input {\n      flex: 1;\n      width: 100%;\n    }\n  }\n\n  .status-input-wrapper {\n    display: flex;\n    position: relative;\n    width: 100%;\n    flex-direction: column;\n  }\n\n  .btn[disabled] {\n    cursor: not-allowed;\n  }\n\n  form {\n    display: flex;\n    flex-direction: column;\n    margin: 0.6em;\n    position: relative;\n  }\n\n  .form-group {\n    display: flex;\n    flex-direction: column;\n    padding: 0.25em 0.5em 0.5em;\n    line-height: 1.85;\n  }\n\n  .form-post-body {\n    // TODO: make a resizable textarea component?\n    box-sizing: content-box; // needed for easier computation of dynamic size\n    overflow: hidden;\n    transition: min-height 200ms 100ms;\n    // stock padding + 1 line of text (for counter)\n    padding-bottom: calc(var(--_padding) + var(--post-line-height) * 1em);\n    // two lines of text\n    height: calc(var(--post-line-height) * 1em);\n    min-height: calc(var(--post-line-height) * 1em);\n    resize: none;\n\n    &.scrollable-form {\n      overflow-y: auto;\n    }\n  }\n\n  .main-input {\n    position: relative;\n  }\n\n  .character-counter {\n    position: absolute;\n    bottom: 0;\n    right: 0;\n    padding: 0;\n    margin: 0 0.5em;\n\n    &.error {\n      color: $fallback--cRed;\n      color: var(--cRed, $fallback--cRed);\n    }\n  }\n\n  @keyframes fade-in {\n    from { opacity: 0; }\n    to { opacity: 0.6; }\n  }\n\n  @keyframes fade-out {\n    from { opacity: 0.6; }\n    to { opacity: 0; }\n  }\n\n  .drop-indicator {\n    position: absolute;\n    width: 100%;\n    height: 100%;\n    font-size: 5em;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    opacity: 0.6;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n    border-radius: $fallback--tooltipRadius;\n    border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n    border: 2px dashed $fallback--text;\n    border: 2px dashed var(--text, $fallback--text);\n  }\n}\n","\n.remote-follow {\n  max-width: 220px;\n\n  .remote-button {\n    width: 100%;\n    min-height: 2em;\n  }\n}\n","\n@import \"../../variables\";\n\n// TODO: unify with other modals.\n.dark-overlay {\n  &::before {\n    bottom: 0;\n    content: \" \";\n    display: block;\n    cursor: default;\n    left: 0;\n    position: fixed;\n    right: 0;\n    top: 0;\n    background: rgb(27 31 35 / 50%);\n    z-index: 2000;\n  }\n}\n\n.dialog-modal.panel {\n  top: 0;\n  left: 50%;\n  max-height: 80vh;\n  max-width: 90vw;\n  margin: 15vh auto;\n  position: fixed;\n  transform: translateX(-50%);\n  z-index: 2001;\n  cursor: default;\n  display: block;\n  background-color: $fallback--bg;\n  background-color: var(--bg, $fallback--bg);\n\n  .dialog-modal-heading {\n    .title {\n      text-align: center;\n    }\n  }\n\n  .dialog-modal-content {\n    margin: 0;\n    padding: 1rem;\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n    white-space: normal;\n  }\n\n  .dialog-modal-footer {\n    margin: 0;\n    padding: 0.5em;\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n    border-top: 1px solid $fallback--border;\n    border-top: 1px solid var(--border, $fallback--border);\n    display: flex;\n    justify-content: flex-end;\n\n    button {\n      width: auto;\n      margin-left: 0.5rem;\n    }\n  }\n}\n\n","\n@import \"../../variables\";\n\n.moderation-tools-popover {\n  height: 100%;\n\n  .trigger {\n    /* stylelint-disable-next-line declaration-no-important */\n    display: flex !important;\n    height: 100%;\n  }\n}\n\n.moderation-tools-button {\n  svg,\n  i {\n    font-size: 0.8em;\n  }\n}\n","\n@import \"../../variables\";\n\n.AccountActions {\n  .ellipsis-button {\n    width: 2.5em;\n    margin: -0.5em 0;\n    padding: 0.5em 0;\n    text-align: center;\n\n    &:not(:hover) .icon {\n      color: $fallback--lightText;\n      color: var(--lightText, $fallback--lightText);\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.user-note {\n  display: flex;\n  flex-direction: column;\n\n  .heading {\n    display: flex;\n    flex-direction: row;\n    justify-content: space-between;\n    align-items: center;\n    margin-bottom: 0.75em;\n\n    .btn {\n      min-width: 95px;\n    }\n\n    .buttons {\n      display: flex;\n      flex-direction: row;\n      justify-content: right;\n\n      .btn {\n        margin-left: 0.5em;\n      }\n    }\n  }\n\n  .note-text {\n    align-self: stretch;\n  }\n\n  .note-text.-blank {\n    font-style: italic;\n    color: var(--faint, $fallback--faint);\n  }\n}\n","@import \"../../variables\";\n\n.user-card {\n  position: relative;\n  z-index: 1;\n\n  &:hover {\n    --_still-image-img-visibility: visible;\n    --_still-image-canvas-visibility: hidden;\n    --_still-image-label-visibility: hidden;\n  }\n\n  .panel-heading {\n    padding: 0.5em 0;\n    text-align: center;\n    box-shadow: none;\n    background: transparent;\n    flex-direction: column;\n    align-items: stretch;\n    // create new stacking context\n    position: relative;\n  }\n\n  .panel-body {\n    word-wrap: break-word;\n    border-bottom-right-radius: inherit;\n    border-bottom-left-radius: inherit;\n    // create new stacking context\n    position: relative;\n  }\n\n  .background-image {\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    mask:\n      linear-gradient(to top, white, transparent) bottom no-repeat,\n      linear-gradient(to top, white, white);\n    // Autoprefixer seem to ignore this one, and also syntax is different\n    mask-composite: xor;\n    mask-composite: exclude;\n    background-size: cover;\n    mask-size: 100% 60%;\n    border-top-left-radius: calc(var(--__roundnessTop, --panelRadius) - 1px);\n    border-top-right-radius: calc(var(--__roundnessTop, --panelRadius) - 1px);\n    border-bottom-left-radius: calc(var(--__roundnessBottom, --panelRadius) - 1px);\n    border-bottom-right-radius: calc(var(--__roundnessBottom, --panelRadius) - 1px);\n    background-color: var(--profileBg);\n    z-index: -2;\n\n    &.hide-bio {\n      mask-size: 100% 40px;\n    }\n  }\n\n  &-bio {\n    text-align: center;\n    display: block;\n    line-height: 1.3;\n    padding: 1em;\n    margin: 0;\n\n    a {\n      color: $fallback--link;\n      color: var(--postLink, $fallback--link);\n    }\n\n    img {\n      object-fit: contain;\n      vertical-align: middle;\n      max-width: 100%;\n      max-height: 400px;\n    }\n  }\n\n  &.-rounded-t {\n    border-top-left-radius: $fallback--panelRadius;\n    border-top-left-radius: var(--panelRadius, $fallback--panelRadius);\n    border-top-right-radius: $fallback--panelRadius;\n    border-top-right-radius: var(--panelRadius, $fallback--panelRadius);\n\n    --__roundnessTop: var(--panelRadius);\n    --__roundnessBottom: 0;\n  }\n\n  &.-rounded {\n    border-radius: $fallback--panelRadius;\n    border-radius: var(--panelRadius, $fallback--panelRadius);\n\n    --__roundnessTop: var(--panelRadius);\n    --__roundnessBottom: var(--panelRadius);\n  }\n\n  &.-popover {\n    border-radius: $fallback--tooltipRadius;\n    border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n\n    --__roundnessTop: var(--tooltipRadius);\n    --__roundnessBottom: var(--tooltipRadius);\n  }\n\n  &.-bordered {\n    border-width: 1px;\n    border-style: solid;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n  }\n}\n\n.user-info {\n  color: $fallback--lightText;\n  color: var(--lightText, $fallback--lightText);\n  padding: 0 26px;\n\n  a {\n    color: $fallback--lightText;\n    color: var(--lightText, $fallback--lightText);\n\n    &:hover {\n      color: var(--icon);\n    }\n  }\n\n  .container {\n    min-width: 0;\n    padding: 16px 0 6px;\n    display: flex;\n    align-items: flex-start;\n    max-height: 56px;\n\n    > * {\n      min-width: 0;\n    }\n\n    > a {\n      vertical-align: middle;\n      display: flex;\n    }\n\n    .Avatar {\n      --_avatarShadowBox: var(--avatarShadow);\n      --_avatarShadowFilter: var(--avatarShadowFilter);\n      --_avatarShadowInset: var(--avatarShadowInset);\n\n      width: 56px;\n      height: 56px;\n      object-fit: cover;\n    }\n  }\n\n  &-avatar {\n    position: relative;\n    cursor: pointer;\n\n    &.-overlay {\n      position: absolute;\n      left: 0;\n      top: 0;\n      right: 0;\n      bottom: 0;\n      background-color: rgb(0 0 0 / 30%);\n      display: flex;\n      justify-content: center;\n      align-items: center;\n      border-radius: $fallback--avatarRadius;\n      border-radius: var(--avatarRadius, $fallback--avatarRadius);\n      opacity: 0;\n      transition: opacity 0.2s ease;\n\n      svg {\n        color: #fff;\n      }\n    }\n\n    &:hover &.-overlay {\n      opacity: 1;\n    }\n  }\n\n  .external-link-button,\n  .edit-profile-button {\n    cursor: pointer;\n    width: 2.5em;\n    text-align: center;\n    margin: -0.5em 0;\n    padding: 0.5em 0;\n\n    &:not(:hover) .icon {\n      color: $fallback--lightText;\n      color: var(--lightText, $fallback--lightText);\n    }\n  }\n\n  .bottom-line {\n    font-weight: light;\n    font-size: 1.1em;\n    align-items: baseline;\n\n    .lock-icon {\n      margin-left: 0.5em;\n    }\n\n    .user-screen-name {\n      min-width: 1px;\n      flex: 0 1 auto;\n      text-overflow: ellipsis;\n      overflow: hidden;\n    }\n\n    .dailyAvg {\n      min-width: 1px;\n      flex: 0 0 auto;\n      margin-left: 1em;\n      font-size: 0.7em;\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n\n    .user-role {\n      flex: none;\n      color: $fallback--text;\n      color: var(--alertNeutralText, $fallback--text);\n      background-color: $fallback--fg;\n      background-color: var(--alertNeutral, $fallback--fg);\n    }\n  }\n\n  .user-summary {\n    display: block;\n    margin-left: 0.6em;\n    text-align: left;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    flex: 1 1 0;\n    // This is so that text doesn't get overlapped by avatar's shadow if it has\n    // big one\n    z-index: 1;\n    line-height: 2em;\n\n    --emoji-size: 1.7em;\n\n    .top-line,\n    .bottom-line {\n      display: flex;\n    }\n  }\n\n  .user-name {\n    text-overflow: ellipsis;\n    overflow: hidden;\n    flex: 1 1 auto;\n    margin-right: 1em;\n    font-size: 1.1em;\n  }\n\n  .user-meta {\n    margin-bottom: 0.15em;\n    display: flex;\n    align-items: baseline;\n    line-height: 22px;\n    flex-wrap: wrap;\n\n    .following {\n      flex: 1 0 auto;\n      margin: 0;\n      margin-bottom: 0.25em;\n      text-align: left;\n    }\n\n    .highlighter {\n      flex: 0 1 auto;\n      display: flex;\n      flex-wrap: wrap;\n      margin-right: -0.5em;\n      align-self: start;\n\n      .userHighlightCl {\n        padding: 2px 10px;\n        flex: 1 0 auto;\n      }\n\n      .userHighlightSel {\n        padding-top: 0;\n        padding-bottom: 0;\n        flex: 1 0 auto;\n      }\n\n      .userHighlightText {\n        width: 70px;\n        flex: 1 0 auto;\n      }\n\n      .userHighlightCl,\n      .userHighlightText,\n      .userHighlightSel {\n        vertical-align: top;\n        margin-right: 0.5em;\n        margin-bottom: 0.25em;\n      }\n    }\n  }\n\n  .user-interactions {\n    position: relative;\n    display: flex;\n    flex-flow: row wrap;\n    margin-right: -0.75em;\n\n    > * {\n      margin: 0 0.75em 0.6em 0;\n      white-space: nowrap;\n      min-width: 95px;\n    }\n\n    button {\n      margin: 0;\n    }\n  }\n\n  .user-note {\n    margin: 0 0.75em 0.6em 0;\n  }\n}\n\n.sidebar .edit-profile-button {\n  display: none;\n}\n\n.user-counts {\n  display: flex;\n  line-height: 16px;\n  padding: 0.5em 1.5em 0;\n  text-align: center;\n  justify-content: space-between;\n  color: $fallback--lightText;\n  color: var(--lightText, $fallback--lightText);\n  flex-wrap: wrap;\n}\n\n.user-count {\n  flex: 1 0 auto;\n  padding: 0.5em 0;\n  margin: 0 0.5em;\n\n  h5 {\n    font-size: 1em;\n    font-weight: bolder;\n    margin: 0 0 0.25em;\n  }\n\n  /* stylelint-disable-next-line no-descending-specificity */\n  a {\n    text-decoration: none;\n  }\n}\n\n.mute-expiry {\n  display: flex;\n  flex-direction: row;\n}\n","\n.user-panel .signed-in {\n  overflow: visible;\n  z-index: 10;\n}\n","\n@import \"../../variables\";\n\n.NavigationEntry {\n  display: flex;\n  box-sizing: border-box;\n  align-items: baseline;\n  height: 3.5em;\n  line-height: 3.5em;\n  padding: 0 1em;\n  width: 100%;\n  color: $fallback--link;\n  color: var(--link, $fallback--link);\n\n  .timelines-chevron {\n    margin-right: 0;\n  }\n\n  .main-link {\n    flex: 1;\n  }\n\n  .menu-icon {\n    margin-right: 0.8em;\n  }\n\n  .extra-button {\n    width: 3em;\n    text-align: center;\n\n    &:last-child {\n      margin-right: -0.8em;\n    }\n  }\n\n  &:hover {\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedMenu, $fallback--lightBg);\n    color: $fallback--link;\n    color: var(--selectedMenuText, $fallback--link);\n\n    --faint: var(--selectedMenuFaintText, $fallback--faint);\n    --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n    --lightText: var(--selectedMenuLightText, $fallback--lightText);\n\n    .menu-icon {\n      --icon: var(--text, $fallback--icon);\n    }\n  }\n\n  &.-active {\n    font-weight: bolder;\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedMenu, $fallback--lightBg);\n    color: $fallback--text;\n    color: var(--selectedMenuText, $fallback--text);\n\n    --faint: var(--selectedMenuFaintText, $fallback--faint);\n    --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n    --lightText: var(--selectedMenuLightText, $fallback--lightText);\n\n    .menu-icon {\n      --icon: var(--text, $fallback--icon);\n    }\n\n    &:hover {\n      text-decoration: underline;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.NavigationPins {\n  display: flex;\n  flex-wrap: wrap;\n  overflow: hidden;\n  height: 100%;\n\n  .alert-dot {\n    border-radius: 100%;\n    height: 0.5em;\n    width: 0.5em;\n    position: absolute;\n    right: calc(50% - 0.75em);\n    top: calc(50% - 0.5em);\n    background-color: $fallback--cRed;\n    background-color: var(--badgeNotification, $fallback--cRed);\n  }\n\n  .pinned-item {\n    position: relative;\n    flex: 1 0 3em;\n    min-width: 2em;\n    text-align: center;\n    overflow: visible;\n    box-sizing: border-box;\n    height: 100%;\n\n    & .svg-inline--fa,\n    & .iconLetter {\n      margin: 0;\n    }\n\n    &.router-link-active {\n      color: $fallback--text;\n      color: var(--panelText, $fallback--text);\n      border-bottom: 4px solid;\n\n      & .svg-inline--fa,\n      & .iconLetter {\n        color: inherit;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.NavPanel {\n  .panel {\n    overflow: hidden;\n    box-shadow: var(--panelShadow);\n  }\n\n  ul {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n  }\n\n  li {\n    position: relative;\n    border-bottom: 1px solid;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n  }\n\n  > li {\n    &:first-child .menu-item {\n      border-top-right-radius: $fallback--panelRadius;\n      border-top-right-radius: var(--panelRadius, $fallback--panelRadius);\n      border-top-left-radius: $fallback--panelRadius;\n      border-top-left-radius: var(--panelRadius, $fallback--panelRadius);\n    }\n\n    &:last-child .menu-item {\n      border-bottom-right-radius: $fallback--panelRadius;\n      border-bottom-right-radius: var(--panelRadius, $fallback--panelRadius);\n      border-bottom-left-radius: $fallback--panelRadius;\n      border-bottom-left-radius: var(--panelRadius, $fallback--panelRadius);\n    }\n  }\n\n  li:last-child {\n    border: none;\n  }\n\n  .navigation-chevron {\n    margin-left: 0.8em;\n    margin-right: 0.8em;\n    font-size: 1.1em;\n  }\n\n  .timelines-chevron {\n    margin-left: 0.8em;\n    font-size: 1.1em;\n  }\n\n  .timelines-background {\n    padding: 0 0 0 0.6em;\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedMenu, $fallback--lightBg);\n    border-bottom: 1px solid;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n  }\n\n  .timelines {\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n  }\n\n  .nav-panel-heading {\n    // breaks without a unit\n    // stylelint-disable-next-line length-zero-no-unit\n    --panel-heading-height-padding: 0px;\n  }\n}\n","\n  .features-panel li {\n    line-height: 24px;\n  }\n","\n  .who-to-follow * {\n    vertical-align: middle;\n  }\n\n  .who-to-follow img {\n    width: 32px;\n    height: 32px;\n  }\n\n  .who-to-follow {\n    padding: 0 1em;\n    margin: 0;\n  }\n\n  .who-to-follow-items {\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    padding: 0;\n    margin: 1em 0;\n  }\n\n  .who-to-follow-more {\n    padding: 0;\n    margin: 1em 0;\n    text-align: center;\n  }\n","\n@import \"../../variables\";\n\n.floating-shout {\n  position: fixed;\n  bottom: 0.5em;\n  z-index: var(--ZI_popovers);\n  max-width: 25em;\n\n  &.-left {\n    left: 0.5em;\n  }\n\n  &:not(.-left) {\n    right: 0.5em;\n  }\n}\n\n.shout-panel {\n  .shout-heading {\n    cursor: pointer;\n\n    .icon {\n      color: $fallback--text;\n      color: var(--panelText, $fallback--text);\n      margin-right: 0.5em;\n    }\n\n    .title {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n    }\n  }\n\n  .shout-window {\n    overflow-y: auto;\n    overflow-x: hidden;\n    max-height: 20em;\n  }\n\n  .shout-window-container {\n    height: 100%;\n  }\n\n  .shout-message {\n    display: flex;\n    padding: 0.2em 0.5em;\n  }\n\n  .shout-avatar {\n    img {\n      height: 24px;\n      width: 24px;\n      border-radius: $fallback--avatarRadius;\n      border-radius: var(--avatarRadius, $fallback--avatarRadius);\n      margin-right: 0.5em;\n      margin-top: 0.25em;\n    }\n  }\n\n  .shout-input {\n    display: flex;\n\n    textarea {\n      flex: 1;\n      margin: 0.6em;\n      min-height: 3.5em;\n      resize: none;\n    }\n  }\n\n  .shout-panel {\n    .title {\n      display: flex;\n      justify-content: space-between;\n    }\n  }\n}\n","\n$modal-view-button-icon-height: 3em;\n$modal-view-button-icon-half-height: calc(#{$modal-view-button-icon-height} / 2);\n$modal-view-button-icon-width: 3em;\n$modal-view-button-icon-margin: 0.5em;\n\n.media-modal-view {\n  @keyframes media-fadein {\n    from {\n      opacity: 0;\n    }\n\n    to {\n      opacity: 1;\n    }\n  }\n\n  .modal-image-container {\n    display: flex;\n    overflow: hidden;\n    align-items: center;\n    flex-direction: column;\n    max-width: 100%;\n    max-height: 100%;\n    width: 100%;\n    height: 100%;\n    flex-grow: 1;\n    justify-content: center;\n\n    &-inner {\n      width: 100%;\n      height: 100%;\n      flex-grow: 1;\n      display: flex;\n      flex-direction: column;\n      align-items: center;\n      justify-content: center;\n    }\n  }\n\n  .description,\n  .counter {\n    /* Hardcoded since background is also hardcoded */\n    color: white;\n    margin-top: 1em;\n    text-shadow: 0 0 10px black, 0 0 10px black;\n    padding: 0.2em 2em;\n  }\n\n  .description {\n    flex: 0 0 auto;\n    overflow-y: auto;\n    min-height: 1em;\n    max-width: 500px;\n    max-height: 9.5em;\n    word-break: break-all;\n  }\n\n  .modal-image {\n    max-width: 100%;\n    max-height: 100%;\n    image-orientation: from-image; // NOTE: only FF supports this\n    animation: 0.1s cubic-bezier(0.7, 0, 1, 0.6) media-fadein;\n\n    &.loading {\n      opacity: 0.5;\n    }\n  }\n\n  .loading-spinner {\n    width: 100%;\n    height: 100%;\n    position: absolute;\n    pointer-events: none;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n\n    svg {\n      color: white;\n    }\n  }\n\n  .modal-view-button {\n    border: 0;\n    padding: 0;\n    opacity: 0;\n    box-shadow: none;\n    background: none;\n    appearance: none;\n    overflow: visible;\n    cursor: pointer;\n    transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);\n    height: $modal-view-button-icon-height;\n    width: $modal-view-button-icon-width;\n\n    .button-icon {\n      position: absolute;\n      height: $modal-view-button-icon-height;\n      width: $modal-view-button-icon-width;\n      font-size: 1rem;\n      line-height: $modal-view-button-icon-height;\n      color: #fff;\n      text-align: center;\n      background-color: rgb(0 0 0 / 30%);\n    }\n  }\n\n  .modal-view-button-arrow {\n    position: absolute;\n    display: block;\n    top: 50%;\n    margin-top: $modal-view-button-icon-half-height;\n    width: $modal-view-button-icon-width;\n    height: $modal-view-button-icon-height;\n\n    .arrow-icon {\n      position: absolute;\n      top: 0;\n      line-height: $modal-view-button-icon-height;\n      color: #fff;\n      text-align: center;\n      background-color: rgb(0 0 0 / 30%);\n    }\n\n    &--prev {\n      left: 0;\n\n      .arrow-icon {\n        left: $modal-view-button-icon-margin;\n      }\n    }\n\n    &--next {\n      right: 0;\n\n      .arrow-icon {\n        right: $modal-view-button-icon-margin;\n      }\n    }\n  }\n\n  .modal-view-button-hide {\n    position: absolute;\n    top: 0;\n    right: 0;\n\n    .button-icon {\n      top: $modal-view-button-icon-margin;\n      right: $modal-view-button-icon-margin;\n    }\n  }\n}\n\n.modal-view.media-modal-view {\n  z-index: var(--ZI_media_modal);\n  flex-direction: column;\n\n  .modal-view-button-arrow,\n  .modal-view-button-hide {\n    opacity: 0.75;\n\n    &:focus,\n    &:hover {\n      outline: none;\n      box-shadow: none;\n    }\n\n    &:hover {\n      opacity: 1;\n    }\n  }\n\n  overflow: hidden;\n}\n","\n@import \"../../variables\";\n\n.side-drawer-container {\n  position: fixed;\n  z-index: var(--ZI_navbar);\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: stretch;\n  transition-duration: 0s;\n  transition-property: transform;\n}\n\n.side-drawer-container-open {\n  transform: translate(0%);\n}\n\n.side-drawer-container-closed {\n  transition-delay: 0.35s;\n  transform: translate(-100%);\n}\n\n.side-drawer-darken {\n  top: 0;\n  left: 0;\n  width: 100vw;\n  height: 100vh;\n  position: fixed;\n  z-index: -1;\n  transition: 0.35s;\n  transition-property: background-color;\n  background-color: rgb(0 0 0 / 50%);\n}\n\n.side-drawer-darken-closed {\n  background-color: rgb(0 0 0 / 0%);\n}\n\n.side-drawer-click-outside {\n  flex: 1 1 100%;\n}\n\n.side-drawer {\n  overflow-x: hidden;\n  transition: 0.35s;\n  transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\n  transition-property: transform;\n  margin: 0 0 0 -100px;\n  padding: 0 0 1em 100px;\n  width: 80%;\n  max-width: 20em;\n  flex: 0 0 80%;\n  box-shadow: 1px 1px 4px rgb(0 0 0 / 60%);\n  box-shadow: var(--panelShadow);\n  background-color: $fallback--bg;\n  background-color: var(--popover, $fallback--bg);\n  color: $fallback--link;\n  color: var(--popoverText, $fallback--link);\n\n  --faint: var(--popoverFaintText, $fallback--faint);\n  --faintLink: var(--popoverFaintLink, $fallback--faint);\n  --lightText: var(--popoverLightText, $fallback--lightText);\n  --icon: var(--popoverIcon, $fallback--icon);\n\n  .badge {\n    margin-left: 10px;\n  }\n}\n\n.side-drawer-logo-wrapper {\n  display: flex;\n  align-items: center;\n  padding: 0.85em;\n\n  img {\n    flex: none;\n    height: 50px;\n    margin-right: 0.85em;\n  }\n\n  span {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.side-drawer-click-outside-closed {\n  flex: 0 0 0;\n}\n\n.side-drawer-closed {\n  transform: translate(-100%);\n}\n\n.side-drawer-heading {\n  background: transparent;\n  flex-direction: column;\n  align-items: stretch;\n  display: flex;\n  padding: 0;\n  margin: 0;\n}\n\n.side-drawer ul {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n  border-bottom: 1px solid;\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n}\n\n.side-drawer ul:last-child {\n  border: 0;\n}\n\n.side-drawer li {\n  padding: 0;\n\n  a,\n  button {\n    box-sizing: border-box;\n    display: block;\n    height: 3em;\n    line-height: 3em;\n    padding: 0 0.7em;\n\n    &:hover {\n      background-color: $fallback--lightBg;\n      background-color: var(--selectedMenuPopover, $fallback--lightBg);\n      color: $fallback--text;\n      color: var(--selectedMenuPopoverText, $fallback--text);\n\n      --faint: var(--selectedMenuPopoverFaintText, $fallback--faint);\n      --faintLink: var(--selectedMenuPopoverFaintLink, $fallback--faint);\n      --lightText: var(--selectedMenuPopoverLightText, $fallback--lightText);\n      --icon: var(--selectedMenuPopoverIcon, $fallback--icon);\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.MobilePostButton {\n  &.button-default {\n    width: 5em;\n    height: 5em;\n    border-radius: 100%;\n    position: fixed;\n    bottom: 1.5em;\n    right: 1.5em;\n    // TODO: this needs its own color, it has to stand out enough and link color\n    // is not very optimal for this particular use.\n    background-color: $fallback--fg;\n    background-color: var(--btn, $fallback--fg);\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    box-shadow: 0 2px 2px rgb(0 0 0 / 30%), 0 4px 6px rgb(0 0 0 / 30%);\n    z-index: 10;\n    transition: 0.35s transform;\n    transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\n  }\n\n  &.hidden {\n    transform: translateY(150%);\n  }\n\n  svg {\n    font-size: 1.5em;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n  }\n}\n\n@media all and (min-width: 801px) {\n  .new-status-button:not(.always-show) {\n    display: none;\n  }\n}\n\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.ReplyButton {\n  display: flex;\n\n  > :first-child {\n    padding: 10px;\n    margin: -10px -8px -10px -10px;\n  }\n\n  .action-counter {\n    pointer-events: none;\n    user-select: none;\n  }\n\n  .interactive {\n    &:hover .svg-inline--fa,\n    &.-active .svg-inline--fa {\n      color: $fallback--cBlue;\n      color: var(--cBlue, $fallback--cBlue);\n    }\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n    }\n\n    @include focused-style {\n      .focus-marker {\n        visibility: visible;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.FavoriteButton {\n  display: flex;\n\n  > :first-child {\n    padding: 10px;\n    margin: -10px -8px -10px -10px;\n  }\n\n  .action-counter {\n    pointer-events: none;\n    user-select: none;\n  }\n\n  .interactive {\n    .svg-inline--fa {\n      animation-duration: 0.6s;\n    }\n\n    &:hover .svg-inline--fa,\n    &.-favorited .svg-inline--fa {\n      color: $fallback--cOrange;\n      color: var(--cOrange, $fallback--cOrange);\n    }\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n\n      .active-marker {\n        visibility: visible;\n      }\n    }\n\n    @include focused-style {\n      .focus-marker {\n        visibility: visible;\n      }\n\n      .active-marker {\n        visibility: hidden;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.ReactButton {\n  .reaction-picker-filter {\n    padding: 0.5em;\n    display: flex;\n\n    input {\n      flex: 1;\n    }\n  }\n\n  .reaction-picker-divider {\n    height: 1px;\n    width: 100%;\n    margin: 0.5em;\n    background-color: var(--border, $fallback--border);\n  }\n\n  .reaction-picker {\n    width: 10em;\n    height: 9em;\n    font-size: 1.5em;\n    overflow-y: scroll;\n    display: flex;\n    flex-wrap: wrap;\n    padding: 0.5em;\n    text-align: center;\n    align-content: flex-start;\n    user-select: none;\n    mask:\n      linear-gradient(to top, white 0, transparent 100%) bottom no-repeat,\n      linear-gradient(to bottom, white 0, transparent 100%) top no-repeat,\n      linear-gradient(to top, white, white);\n    transition: mask-size 150ms;\n    mask-size: 100% 20px, 100% 20px, auto;\n\n    /* Autoprefixed seem to ignore this one, and also syntax is different */\n    mask-composite: xor;\n    mask-composite: exclude;\n\n    .emoji-button {\n      cursor: pointer;\n      flex-basis: 20%;\n      line-height: 1.5;\n      align-content: center;\n\n      &:hover {\n        transform: scale(1.25);\n      }\n    }\n  }\n\n  .popover-trigger {\n    padding: 10px;\n    margin: -10px;\n\n    &:hover .svg-inline--fa {\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n  }\n\n  .popover-trigger-button {\n    /* override of popover internal stuff */\n    width: auto;\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n    }\n\n    @include focused-style {\n      .focus-marker {\n        visibility: visible;\n      }\n    }\n  }\n}\n\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.RetweetButton {\n  display: flex;\n\n  > :first-child {\n    padding: 10px;\n    margin: -10px -8px -10px -10px;\n  }\n\n  .action-counter {\n    pointer-events: none;\n    user-select: none;\n  }\n\n  .interactive {\n    .svg-inline--fa {\n      animation-duration: 0.6s;\n    }\n\n    &:hover .svg-inline--fa,\n    &.-repeated .svg-inline--fa {\n      color: $fallback--cGreen;\n      color: var(--cGreen, $fallback--cGreen);\n    }\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n\n      .active-marker {\n        visibility: visible;\n      }\n    }\n\n    @include focused-style {\n      .focus-marker {\n        visibility: visible;\n      }\n\n      .active-marker {\n        visibility: hidden;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.ExtraButtons {\n  .popover-trigger {\n    position: static;\n    padding: 10px;\n    margin: -10px;\n\n    &:hover .svg-inline--fa {\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n  }\n\n  .popover-trigger-button {\n    /* override of popover internal stuff */\n    width: auto;\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n    }\n\n    @include focused-style {\n      .focus-marker {\n        visibility: visible;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.avatars {\n  display: flex;\n  margin: 0;\n  padding: 0;\n\n  // For hiding overflowing elements\n  flex-wrap: wrap;\n  height: 24px;\n\n  .avatars-item {\n    margin: 0 0 5px 5px;\n\n    &:first-child {\n      padding-left: 5px;\n    }\n\n    .avatar-small {\n      border-radius: $fallback--avatarAltRadius;\n      border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n      height: 24px;\n      width: 24px;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n/* popover styles load on-demand, so we need to override */\n.status-popover.popover {\n  font-size: 1rem;\n  min-width: 15em;\n  max-width: 95%;\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n  border-style: solid;\n  border-width: 1px;\n  border-radius: $fallback--tooltipRadius;\n  border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n\n  /* TODO cleanup this */\n  .Status.Status {\n    border: none;\n  }\n\n  .status-preview-no-content {\n    padding: 1em;\n    text-align: center;\n\n    i {\n      font-size: 2em;\n    }\n  }\n}\n\n","\n@import \"../../variables\";\n\n.user-list-popover {\n  padding: 0.5em;\n\n  --emoji-size: 16px;\n\n  .user-list-row {\n    padding: 0.25em;\n    display: flex;\n    flex-direction: row;\n\n    .user-list-names {\n      display: flex;\n      flex-direction: column;\n      margin-left: 0.5em;\n      min-width: 5em;\n\n      img {\n        width: 1em;\n        height: 1em;\n      }\n    }\n\n    .user-list-screen-name {\n      font-size: 0.65em;\n    }\n  }\n}\n\n","\n@import \"../../variables\";\n\n.EmojiReactions {\n  display: flex;\n  margin-top: 0.25em;\n  flex-wrap: wrap;\n\n  .emoji-reaction {\n    padding: 0 0.5em;\n    margin-right: 0.5em;\n    margin-top: 0.5em;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-sizing: border-box;\n\n    .reaction-emoji {\n      width: 1.25em;\n      margin-right: 0.25em;\n    }\n\n    &:focus {\n      outline: none;\n    }\n\n    &.not-clickable {\n      cursor: default;\n\n      &:hover {\n        box-shadow: $fallback--buttonShadow;\n        box-shadow: var(--buttonShadow);\n      }\n    }\n\n    &.-picked-reaction {\n      border: 1px solid var(--accent, $fallback--link);\n      margin-left: -1px; // offset the border, can't use inset shadows either\n      margin-right: calc(0.5em - 1px);\n    }\n  }\n\n  .emoji-reaction-expand {\n    padding: 0 0.5em;\n    margin-right: 0.5em;\n    margin-top: 0.5em;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n\n    &:hover {\n      text-decoration: underline;\n    }\n  }\n}\n","@import \"../../variables\";\n\n.Status {\n  min-width: 0;\n  white-space: normal;\n  word-wrap: break-word;\n  word-break: break-word;\n\n  &:hover {\n    --_still-image-img-visibility: visible;\n    --_still-image-canvas-visibility: hidden;\n    --_still-image-label-visibility: hidden;\n  }\n\n  &.-focused {\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedPost, $fallback--lightBg);\n    color: $fallback--text;\n    color: var(--selectedPostText, $fallback--text);\n\n    --lightText: var(--selectedPostLightText, $fallback--light);\n    --faint: var(--selectedPostFaintText, $fallback--faint);\n    --faintLink: var(--selectedPostFaintLink, $fallback--faint);\n    --postLink: var(--selectedPostPostLink, $fallback--faint);\n    --postFaintLink: var(--selectedPostFaintPostLink, $fallback--faint);\n    --icon: var(--selectedPostIcon, $fallback--icon);\n  }\n\n  .gravestone {\n    padding: var(--status-margin, $status-margin);\n    color: $fallback--faint;\n    color: var(--faint, $fallback--faint);\n    display: flex;\n\n    .deleted-text {\n      margin: 0.5em 0;\n      align-items: center;\n    }\n  }\n\n  .status-container {\n    display: flex;\n    padding: var(--status-margin, $status-margin);\n\n    > * {\n      min-width: 0;\n    }\n\n    &.-repeat {\n      padding-top: 0;\n    }\n  }\n\n  .pin {\n    padding: var(--status-margin, $status-margin) var(--status-margin, $status-margin) 0;\n    display: flex;\n    align-items: center;\n    justify-content: flex-end;\n  }\n\n  ._misclick-prevention & {\n    pointer-events: none;\n\n    .attachments {\n      pointer-events: initial;\n      cursor: initial;\n    }\n  }\n\n  .left-side {\n    margin-right: var(--status-margin, $status-margin);\n  }\n\n  .right-side {\n    flex: 1;\n    min-width: 0;\n  }\n\n  .usercard {\n    margin-bottom: var(--status-margin, $status-margin);\n  }\n\n  .status-username {\n    white-space: nowrap;\n    overflow: hidden;\n    max-width: 85%;\n    font-weight: bold;\n    flex-shrink: 1;\n    margin-right: 0.4em;\n    text-overflow: ellipsis;\n\n    --_still_image-label-scale: 0.25;\n    --emoji-size: 14px;\n  }\n\n  .status-favicon {\n    height: 18px;\n    width: 18px;\n    margin-right: 0.4em;\n  }\n\n  .status-heading {\n    margin-bottom: 0.5em;\n  }\n\n  .heading-name-row {\n    display: flex;\n    justify-content: space-between;\n    line-height: 1.3;\n\n    a {\n      display: inline-block;\n      word-break: break-all;\n    }\n  }\n\n  .account-name {\n    min-width: 1.6em;\n    margin-right: 0.4em;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    flex: 1 1 0;\n  }\n\n  .heading-left {\n    display: flex;\n    min-width: 0;\n  }\n\n  .heading-right {\n    display: flex;\n    flex-shrink: 0;\n\n    .button-unstyled {\n      padding: 5px;\n      margin: -5px;\n\n      &:hover svg {\n        color: $fallback--lightText;\n        color: var(--lightText, $fallback--lightText);\n      }\n    }\n\n    .svg-inline--fa {\n      margin-left: 0.25em;\n    }\n  }\n\n  .glued-label {\n    display: inline-flex;\n    white-space: nowrap;\n  }\n\n  .timeago {\n    margin-right: 0.2em;\n  }\n\n  & .heading-reply-row,\n  & .heading-edited-row {\n    position: relative;\n    align-content: baseline;\n    font-size: 0.85em;\n    margin-top: 0.2em;\n    line-height: 130%;\n    max-width: 100%;\n    align-items: stretch;\n  }\n\n  & .reply-to-popover,\n  & .reply-to-no-popover,\n  & .mentions {\n    min-width: 0;\n    margin-right: 0.4em;\n    flex-shrink: 0;\n  }\n\n  .reply-glued-label {\n    margin-right: 0.5em;\n  }\n\n  .reply-to-popover {\n    .reply-to:hover::before {\n      content: \"\";\n      display: block;\n      position: absolute;\n      bottom: 0;\n      width: 100%;\n      border-bottom: 1px solid var(--faint);\n      pointer-events: none;\n    }\n\n    .faint-link:hover {\n      // override default\n      text-decoration: none;\n    }\n\n    &.-strikethrough {\n      .reply-to::after {\n        content: \"\";\n        display: block;\n        position: absolute;\n        top: 50%;\n        width: 100%;\n        border-bottom: 1px solid var(--faint);\n        pointer-events: none;\n      }\n    }\n  }\n\n  & .mentions,\n  & .reply-to {\n    white-space: nowrap;\n    position: relative;\n  }\n\n  & .mentions-text,\n  & .reply-to-text {\n    color: var(--faint);\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  .mentions-line {\n    display: inline;\n  }\n\n  .replies {\n    margin-top: 0.25em;\n    line-height: 1.3;\n    font-size: 0.85em;\n    display: flex;\n    flex-wrap: wrap;\n\n    & > * {\n      margin-right: 0.4em;\n    }\n  }\n\n  .reply-link {\n    height: 17px;\n  }\n\n  .repeat-info {\n    padding: 0.4em var(--status-margin, $status-margin);\n\n    .repeat-icon {\n      color: $fallback--cGreen;\n      color: var(--cGreen, $fallback--cGreen);\n    }\n  }\n\n  .repeater-avatar {\n    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n    margin-left: 28px;\n    width: 20px;\n    height: 20px;\n  }\n\n  .repeater-name {\n    text-overflow: ellipsis;\n    margin-right: 0;\n\n    .emoji {\n      width: 14px;\n      height: 14px;\n      vertical-align: middle;\n      object-fit: contain;\n    }\n  }\n\n  .status-fadein {\n    animation-duration: 0.4s;\n    animation-name: fadein;\n  }\n\n  @keyframes fadein {\n    from {\n      opacity: 0;\n    }\n\n    to {\n      opacity: 1;\n    }\n  }\n\n  .status-actions {\n    position: relative;\n    width: 100%;\n    display: flex;\n    margin-top: var(--status-margin, $status-margin);\n\n    > * {\n      max-width: 4em;\n      flex: 1;\n    }\n  }\n\n  .muted {\n    padding: 0.25em 0.6em;\n    height: 1.2em;\n    line-height: 1.2em;\n    text-overflow: ellipsis;\n    overflow: hidden;\n    display: flex;\n    flex-wrap: nowrap;\n\n    & .status-username,\n    & .mute-thread,\n    & .mute-words {\n      word-wrap: normal;\n      word-break: normal;\n      white-space: nowrap;\n    }\n\n    & .status-username,\n    & .mute-words {\n      text-overflow: ellipsis;\n      overflow: hidden;\n    }\n\n    .status-username {\n      font-weight: normal;\n      flex: 0 1 auto;\n      margin-right: 0.2em;\n      font-size: smaller;\n    }\n\n    .mute-thread {\n      flex: 0 0 auto;\n    }\n\n    .mute-words {\n      flex: 1 0 5em;\n      margin-left: 0.2em;\n\n      &::before {\n        content: \" \";\n      }\n    }\n\n    .unmute {\n      flex: 0 0 auto;\n      margin-left: auto;\n      display: block;\n    }\n  }\n\n  .reply-form {\n    padding-top: 0;\n    padding-bottom: 0;\n  }\n\n  .reply-body {\n    flex: 1;\n  }\n\n  .favs-repeated-users {\n    margin-top: var(--status-margin, $status-margin);\n  }\n\n  .stats {\n    width: 100%;\n    display: flex;\n    line-height: 1em;\n  }\n\n  .avatar-row {\n    flex: 1;\n    overflow: hidden;\n    position: relative;\n    display: flex;\n    align-items: center;\n\n    &::before {\n      content: \"\";\n      position: absolute;\n      height: 100%;\n      width: 1px;\n      left: 0;\n      background-color: var(--faint, $fallback--faint);\n    }\n  }\n\n  .stat-count {\n    margin-right: var(--status-margin, $status-margin);\n    user-select: none;\n\n    .stat-title {\n      color: var(--faint, $fallback--faint);\n      font-size: 0.85em;\n      text-transform: uppercase;\n      position: relative;\n    }\n\n    .stat-number {\n      font-weight: bolder;\n      font-size: 1.1em;\n      line-height: 1em;\n    }\n\n    &:hover .stat-title {\n      text-decoration: underline;\n    }\n  }\n\n  @media all and (max-width: 800px) {\n    .repeater-avatar {\n      margin-left: 20px;\n    }\n\n    .post-avatar {\n      width: 40px;\n      height: 40px;\n\n      // TODO define those other way somehow?\n      // stylelint-disable rscss/class-format\n      &.-compact {\n        width: 32px;\n        height: 32px;\n      }\n    }\n  }\n}\n","@import \"../../variables\";\n\n.Report {\n  .report-content {\n    margin: 0.5em 0 1em;\n  }\n\n  .report-state {\n    margin: 0.5em 0 1em;\n  }\n\n  .reported-status {\n    border: 1px solid $fallback--faint;\n    border-color: var(--faint, $fallback--faint);\n    border-radius: $fallback--inputRadius;\n    border-radius: var(--inputRadius, $fallback--inputRadius);\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n    display: block;\n    padding: 0.5em;\n    margin: 0.5em 0;\n\n    .status-content {\n      pointer-events: none;\n    }\n\n    .reported-status-heading {\n      display: flex;\n      width: 100%;\n      justify-content: space-between;\n      margin-bottom: 0.2em;\n    }\n\n    .reported-status-name {\n      font-weight: bold;\n    }\n  }\n\n  .note {\n    width: 100%;\n    margin-bottom: 0.5em;\n  }\n}\n","@import \"../../variables\";\n\n// TODO Copypaste from Status, should unify it somehow\n.Notification {\n  border-bottom: 1px solid;\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n  word-wrap: break-word;\n  word-break: break-word;\n\n  --emoji-size: 14px;\n\n  &:hover {\n    --_still-image-img-visibility: visible;\n    --_still-image-canvas-visibility: hidden;\n    --_still-image-label-visibility: hidden;\n  }\n\n  &.-muted {\n    padding: 0.25em 0.6em;\n    height: 1.2em;\n    line-height: 1.2em;\n    text-overflow: ellipsis;\n    overflow: hidden;\n    display: flex;\n    flex-wrap: nowrap;\n\n    & .status-username,\n    & .mute-thread,\n    & .mute-words {\n      word-wrap: normal;\n      word-break: normal;\n      white-space: nowrap;\n    }\n\n    & .status-username,\n    & .mute-words {\n      text-overflow: ellipsis;\n      overflow: hidden;\n    }\n\n    .status-username {\n      font-weight: normal;\n      flex: 0 1 auto;\n      margin-right: 0.2em;\n      font-size: smaller;\n    }\n\n    .mute-thread {\n      flex: 0 0 auto;\n    }\n\n    .mute-words {\n      flex: 1 0 5em;\n      margin-left: 0.2em;\n\n      &::before {\n        content: \" \";\n      }\n    }\n\n    .unmute {\n      flex: 0 0 auto;\n      margin-left: auto;\n      display: block;\n    }\n  }\n\n  .type-icon {\n    margin: 0 0.1em;\n  }\n\n  &.-type--repeat .type-icon {\n    color: $fallback--cGreen;\n    color: var(--cGreen, $fallback--cGreen);\n  }\n\n  &.-type--follow .type-icon {\n    color: $fallback--cBlue;\n    color: var(--cBlue, $fallback--cBlue);\n  }\n\n  &.-type--follow-request .type-icon {\n    color: $fallback--cBlue;\n    color: var(--cBlue, $fallback--cBlue);\n  }\n\n  &.-type--like .type-icon {\n    color: orange;\n    color: $fallback--cOrange;\n    color: var(--cOrange, $fallback--cOrange);\n  }\n\n  &.-type--move .type-icon {\n    color: $fallback--cBlue;\n    color: var(--cBlue, $fallback--cBlue);\n  }\n}\n","@import \"../../variables\";\n\n.Notifications {\n  &:not(.minimal) {\n    // a bit of a hack to allow scrolling below notifications\n    padding-bottom: 15em;\n  }\n\n  .loadmore-error {\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n  }\n\n  .notification {\n    position: relative;\n\n    .notification-overlay {\n      position: absolute;\n      top: 0;\n      right: 0;\n      left: 0;\n      bottom: 0;\n      pointer-events: none;\n    }\n\n    &.unseen {\n      .notification-overlay {\n        background-image: linear-gradient(135deg, var(--badgeNotification, $fallback--cRed) 4px, transparent 10px);\n      }\n    }\n  }\n}\n\n/* stylelint-disable-next-line no-descending-specificity */\n.notification {\n  box-sizing: border-box;\n\n  &:hover .animated.Avatar {\n    canvas {\n      display: none;\n    }\n\n    img {\n      visibility: visible;\n    }\n  }\n\n  &:last-child .Notification {\n    border-bottom: none;\n  }\n\n  .non-mention {\n    display: flex;\n    flex: 1;\n    flex-wrap: nowrap;\n    padding: 0.6em;\n    min-width: 0;\n\n    .avatar-container {\n      width: 32px;\n      height: 32px;\n    }\n\n    .faint {\n      --link: var(--faintLink);\n      --text: var(--faint);\n    }\n  }\n\n  .follow-request-accept {\n    &:hover {\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n  }\n\n  .follow-request-reject {\n    &:hover {\n      color: $fallback--cRed;\n      color: var(--cRed, $fallback--cRed);\n    }\n  }\n\n  .follow-text,\n  .move-text {\n    padding: 0.5em 0;\n    overflow-wrap: break-word;\n    display: flex;\n    justify-content: space-between;\n\n    .follow-name {\n      display: block;\n      max-width: 100%;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n  }\n\n  /* TODO cleanup this */\n  .Status {\n    flex: 1;\n  }\n\n  time {\n    white-space: nowrap;\n  }\n\n  .notification-right {\n    flex: 1;\n    padding-left: 0.8em;\n    min-width: 0;\n\n    .timeago {\n      min-width: 3em;\n      text-align: right;\n    }\n\n    .timeago-link {\n      margin-right: 0.2em;\n    }\n\n    .expand-icon {\n      .svg-inline--fa {\n        margin-left: 0.25em;\n      }\n    }\n  }\n\n  .emoji-reaction-emoji {\n    font-size: 1.3em;\n  }\n\n  .notification-details {\n    min-width: 0;\n    word-wrap: break-word;\n    line-height: var(--post-line-height);\n    position: relative;\n    overflow: hidden;\n    width: 100%;\n    flex: 1 1 0;\n    display: flex;\n    flex-wrap: nowrap;\n    justify-content: space-between;\n\n    .name-and-action {\n      flex: 1;\n      overflow: hidden;\n      text-overflow: ellipsis;\n    }\n\n    .username {\n      font-weight: bolder;\n      max-width: 100%;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    .timeago {\n      margin-right: 0.2em;\n    }\n\n    .status-content {\n      margin: 0;\n      max-height: 300px;\n    }\n\n    h1 {\n      word-break: break-all;\n      margin: 0 0 0.3em;\n      padding: 0;\n      font-size: 1em;\n      line-height: 1.5;\n\n      small {\n        font-weight: lighter;\n      }\n    }\n\n    p {\n      margin: 0;\n      margin-top: 0;\n      margin-bottom: 0.3em;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.MobileNav {\n  z-index: var(--ZI_navbar);\n\n  .mobile-nav {\n    display: grid;\n    line-height: var(--navbar-height);\n    grid-template-rows: 50px;\n    grid-template-columns: 2fr auto;\n    width: 100%;\n    box-sizing: border-box;\n\n    a {\n      color: var(--topBarLink, $fallback--link);\n    }\n  }\n\n  .mobile-inner-nav {\n    width: 100%;\n    display: flex;\n    align-items: center;\n  }\n\n  .mobile-nav-button {\n    display: inline-block;\n    text-align: center;\n    padding: 0 1em;\n    position: relative;\n    cursor: pointer;\n  }\n\n  .site-name {\n    padding: 0 0.3em;\n    display: inline-block;\n  }\n\n  .item {\n    /* moslty just to get rid of extra whitespaces */\n    display: flex;\n  }\n\n  .alert-dot {\n    border-radius: 100%;\n    height: 8px;\n    width: 8px;\n    position: absolute;\n    left: calc(50% - 4px);\n    top: calc(50% - 4px);\n    margin-left: 6px;\n    margin-top: -6px;\n    background-color: $fallback--cRed;\n    background-color: var(--badgeNotification, $fallback--cRed);\n  }\n\n  .mobile-notifications-drawer {\n    width: 100%;\n    height: 100vh;\n    overflow-x: hidden;\n    position: fixed;\n    top: 0;\n    left: 0;\n    box-shadow: 1px 1px 4px rgb(0 0 0 / 60%);\n    box-shadow: var(--panelShadow);\n    transition-property: transform;\n    transition-duration: 0.25s;\n    transform: translateX(0);\n    z-index: var(--ZI_navbar);\n    -webkit-overflow-scrolling: touch;\n\n    &.-closed {\n      transform: translateX(100%);\n      box-shadow: none;\n    }\n  }\n\n  .mobile-notifications-header {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    z-index: calc(var(--ZI_navbar) + 100);\n    width: 100%;\n    height: 50px;\n    line-height: 50px;\n    position: absolute;\n    color: var(--topBarText);\n    background-color: $fallback--fg;\n    background-color: var(--topBar, $fallback--fg);\n    box-shadow: 0 0 4px rgb(0 0 0 / 60%);\n    box-shadow: var(--topBarShadow);\n\n    .spacer {\n      flex: 1;\n    }\n\n    .title {\n      font-size: 1.3em;\n      margin-left: 0.6em;\n    }\n  }\n\n  .pins {\n    flex: 1;\n\n    .pinned-item {\n      flex-grow: 1;\n    }\n  }\n\n  .mobile-notifications {\n    margin-top: 50px;\n    width: 100vw;\n    height: calc(100vh - var(--navbar-height));\n    overflow-x: hidden;\n    overflow-y: scroll;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n\n    .notifications {\n      padding: 0;\n      border-radius: 0;\n      box-shadow: none;\n\n      .panel {\n        border-radius: 0;\n        margin: 0;\n        box-shadow: none;\n      }\n\n      .panel::after {\n        border-radius: 0;\n      }\n\n      .panel .panel-heading {\n        border-radius: 0;\n        box-shadow: none;\n      }\n    }\n  }\n\n  .confirm-modal.dark-overlay {\n    &::before {\n      z-index: 3000;\n    }\n\n    .dialog-modal.panel {\n      z-index: 3001;\n    }\n  }\n}\n\n","\n@import \"../../variables\";\n\n.SearchBar {\n  display: inline-flex;\n  align-items: baseline;\n  vertical-align: baseline;\n  justify-content: flex-end;\n\n  &.-expanded {\n    width: 100%;\n  }\n\n  .search-bar-input,\n  .search-button {\n    height: 29px;\n  }\n\n  .search-bar-input {\n    flex: 1 0 auto;\n  }\n\n  .cancel-search {\n    height: 50px;\n  }\n\n  .cancel-icon {\n    color: $fallback--text;\n    color: var(--btnTopBarText, $fallback--text);\n  }\n}\n\n","@import \"../../variables\";\n\n.DesktopNav {\n  width: 100%;\n  z-index: var(--ZI_navbar);\n\n  input {\n    color: var(--inputTopbarText, var(--inputText));\n  }\n\n  a {\n    color: var(--topBarLink, $fallback--link);\n  }\n\n  .inner-nav {\n    display: grid;\n    grid-template-rows: var(--navbar-height);\n    grid-template-columns: 2fr auto 2fr;\n    grid-template-areas: \"sitename logo actions\";\n    box-sizing: border-box;\n    padding: 0 1.2em;\n    margin: auto;\n    max-width: 980px;\n  }\n\n  &.-column-stretch .inner-nav {\n    --miniColumn: 25rem;\n    --maxiColumn: 45rem;\n    --columnGap: 1em;\n\n    max-width:\n      calc(\n        var(--sidebarColumnWidth, var(--miniColumn)) +\n        var(--contentColumnWidth, var(--maxiColumn)) +\n        var(--columnGap)\n      );\n  }\n\n  &.-logoLeft .inner-nav {\n    grid-template-columns: auto 2fr 2fr;\n    grid-template-areas: \"logo sitename actions\";\n  }\n\n  &.-column-stretch.-wide .inner-nav {\n    max-width:\n      calc(\n        var(--sidebarColumnWidth, var(--miniColumn)) +\n        var(--contentColumnWidth, var(--maxiColumn)) +\n        var(--notifsColumnWidth, var(--miniColumn)) +\n        var(--columnGap)\n      );\n  }\n\n  .button-default {\n    &,\n    svg {\n      color: $fallback--text;\n      color: var(--btnTopBarText, $fallback--text);\n    }\n\n    &:active {\n      background-color: $fallback--fg;\n      background-color: var(--btnPressedTopBar, $fallback--fg);\n      color: $fallback--text;\n      color: var(--btnPressedTopBarText, $fallback--text);\n    }\n\n    &:disabled {\n      color: $fallback--text;\n      color: var(--btnDisabledTopBarText, $fallback--text);\n    }\n\n    &.toggled {\n      color: $fallback--text;\n      color: var(--btnToggledTopBarText, $fallback--text);\n      background-color: $fallback--fg;\n      background-color: var(--btnToggledTopBar, $fallback--fg);\n    }\n  }\n\n  .logo {\n    grid-area: logo;\n    position: relative;\n    transition: opacity;\n    transition-timing-function: ease-out;\n    transition-duration: 100ms;\n\n    @media all and (min-width: 800px) {\n      /* stylelint-disable-next-line declaration-no-important */\n      opacity: 1 !important;\n    }\n\n    .mask {\n      mask-repeat: no-repeat;\n      mask-position: center;\n      mask-size: contain;\n      background-color: $fallback--fg;\n      background-color: var(--topBarText, $fallback--fg);\n      position: absolute;\n      top: 0;\n      bottom: 0;\n      left: 0;\n      right: 0;\n    }\n\n    img {\n      display: inline-block;\n      height: var(--navbar-height);\n    }\n  }\n\n  .nav-icon {\n    margin-left: 0.2em;\n    width: 2em;\n    height: 100%;\n    text-align: center;\n\n    .svg-inline--fa {\n      color: $fallback--link;\n      color: var(--topBarLink, $fallback--link);\n    }\n  }\n\n  .sitename {\n    grid-area: sitename;\n  }\n\n  .actions {\n    grid-area: actions;\n  }\n\n  .item {\n    flex: 1;\n    line-height: var(--navbar-height);\n    height: var(--navbar-height);\n    overflow: hidden;\n    display: flex;\n    flex-wrap: wrap;\n\n    &.right {\n      justify-content: flex-end;\n      text-align: right;\n    }\n  }\n\n  .spacer {\n    width: 1em;\n  }\n}\n","\n@import \"../../variables\";\n\n.list {\n  &-item:not(:last-child) {\n    border-bottom: 1px solid;\n    border-bottom-color: $fallback--border;\n    border-bottom-color: var(--border, $fallback--border);\n  }\n\n  &-empty-content {\n    text-align: center;\n    padding: 10px;\n  }\n}\n","\n@import \"../../variables\";\n\n.user-reporting-panel {\n  width: 90vw;\n  max-width: 700px;\n  min-height: 20vh;\n  max-height: 80vh;\n\n  .panel-body {\n    display: flex;\n    flex-direction: column-reverse;\n    border-top: 1px solid;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n    overflow: hidden;\n  }\n\n  &-left {\n    padding: 1.1em 0.7em 0.7em;\n    line-height: var(--post-line-height);\n    box-sizing: border-box;\n\n    > div {\n      margin-bottom: 1em;\n\n      &:last-child {\n        margin-bottom: 0;\n      }\n    }\n\n    p {\n      margin-top: 0;\n    }\n\n    textarea.form-control {\n      line-height: 16px;\n      resize: none;\n      overflow: hidden;\n      transition: min-height 200ms 100ms;\n      min-height: 44px;\n      width: 100%;\n    }\n\n    .btn {\n      min-width: 10em;\n      padding: 0 2em;\n    }\n\n    .alert {\n      margin: 1em 0 0;\n      line-height: 1.3em;\n    }\n  }\n\n  &-right {\n    display: flex;\n    flex-direction: column;\n    overflow-y: auto;\n  }\n\n  &-sitem {\n    display: flex;\n    justify-content: space-between;\n\n    /* TODO cleanup this */\n    > .Status {\n      flex: 1;\n    }\n\n    > .checkbox {\n      margin: 0.75em;\n    }\n  }\n\n  @media all and (min-width: 801px) {\n    .panel-body {\n      flex-direction: row;\n    }\n\n    &-left {\n      width: 50%;\n      max-width: 320px;\n      border-right: 1px solid;\n      border-color: $fallback--border;\n      border-color: var(--border, $fallback--border);\n      padding: 1.1em;\n\n      > div {\n        margin-bottom: 2em;\n      }\n    }\n\n    &-right {\n      width: 50%;\n      flex: 1 1 auto;\n      margin-bottom: 12px;\n    }\n  }\n}\n","\n.modal-view.edit-form-modal-view {\n  align-items: flex-start;\n}\n\n.edit-form-modal-panel {\n  flex-shrink: 0;\n  margin-top: 25%;\n  margin-bottom: 2em;\n  width: 100%;\n  max-width: 700px;\n\n  @media (orientation: landscape) {\n    margin-top: 8%;\n  }\n\n  .form-bottom-left {\n    max-width: 6.5em;\n\n    .emoji-icon {\n      justify-content: right;\n    }\n  }\n}\n","\n.modal-view.post-form-modal-view {\n  align-items: flex-start;\n}\n\n.post-form-modal-panel {\n  flex-shrink: 0;\n  margin-top: 25%;\n  margin-bottom: 2em;\n  width: 100%;\n  max-width: 700px;\n\n  @media (orientation: landscape) {\n    margin-top: 8%;\n  }\n}\n","\n.modal-view.status-history-modal-view {\n  align-items: flex-start;\n}\n\n.status-history-modal-panel {\n  flex-shrink: 0;\n  margin-top: 25%;\n  margin-bottom: 2em;\n  width: 100%;\n  max-width: 700px;\n\n  @media (orientation: landscape) {\n    margin-top: 8%;\n  }\n}\n","\n@import \"../../variables\";\n\n.global-notice-list {\n  position: fixed;\n  top: calc(var(--navbar-height) + 0.5em);\n  width: 100%;\n  pointer-events: none;\n  z-index: var(--ZI_navbar_popovers);\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n\n  .global-notice {\n    pointer-events: auto;\n    text-align: center;\n    width: 40em;\n    max-width: calc(100% - 3em);\n    display: flex;\n    padding-left: 1.5em;\n    line-height: 2;\n    margin-bottom: 0.5em;\n\n    .notice-message {\n      flex: 1 1 100%;\n    }\n  }\n\n  .global-error {\n    background-color: var(--alertPopupError, $fallback--cRed);\n    color: var(--alertPopupErrorText, $fallback--text);\n\n    .svg-inline--fa {\n      color: var(--alertPopupErrorText, $fallback--text);\n    }\n  }\n\n  .global-warning {\n    background-color: var(--alertPopupWarning, $fallback--cOrange);\n    color: var(--alertPopupWarningText, $fallback--text);\n\n    .svg-inline--fa {\n      color: var(--alertPopupWarningText, $fallback--text);\n    }\n  }\n\n  .global-success {\n    background-color: var(--alertPopupSuccess, $fallback--cGreen);\n    color: var(--alertPopupSuccessText, $fallback--text);\n\n    .svg-inline--fa {\n      color: var(--alertPopupSuccessText, $fallback--text);\n    }\n  }\n\n  .global-info {\n    background-color: var(--alertPopupNeutral, $fallback--fg);\n    color: var(--alertPopupNeutralText, $fallback--text);\n\n    .svg-inline--fa {\n      color: var(--alertPopupNeutralText, $fallback--text);\n    }\n  }\n\n  .close-notice {\n    padding-right: 0.2em;\n\n    .svg-inline--fa:hover {\n      opacity: 0.6;\n    }\n  }\n}\n","// stylelint-disable rscss/class-format\n/* stylelint-disable no-descending-specificity */\n@import \"./variables\";\n@import \"./panel\";\n\n:root {\n  --navbar-height: 3.5rem;\n  --post-line-height: 1.4;\n  // Z-Index stuff\n  --ZI_media_modal: 9000;\n  --ZI_modals_popovers: 8500;\n  --ZI_modals: 8000;\n  --ZI_navbar_popovers: 7500;\n  --ZI_navbar: 7000;\n  --ZI_popovers: 6000;\n}\n\nhtml {\n  font-size: 14px;\n  // overflow-x: clip causes my browser's tab to crash with SIGILL lul\n}\n\nbody {\n  font-family: sans-serif;\n  font-family: var(--interfaceFont, sans-serif);\n  margin: 0;\n  color: $fallback--text;\n  color: var(--text, $fallback--text);\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  overscroll-behavior-y: none;\n  overflow-x: clip;\n  overflow-y: scroll;\n\n  &.hidden {\n    display: none;\n  }\n}\n\n// ## Custom scrollbars\n// Only show custom scrollbars on devices which\n// have a cursor/pointer to operate them\n@media (any-pointer: fine) {\n  * {\n    scrollbar-color: var(--btn) transparent;\n\n    &::-webkit-scrollbar {\n      background: transparent;\n    }\n\n    &::-webkit-scrollbar-button,\n    &::-webkit-scrollbar-thumb {\n      background-color: var(--btn);\n      box-shadow: var(--buttonShadow);\n      border-radius: var(--btnRadius);\n    }\n\n    // horizontal/vertical/increment/decrement are webkit-specific stuff\n    // that indicates whether we're affecting vertical scrollbar, increase button etc\n    // stylelint-disable selector-pseudo-class-no-unknown\n    &::-webkit-scrollbar-button {\n      --___bgPadding: 2px;\n\n      color: var(--btnText);\n      background-repeat: no-repeat, no-repeat;\n\n      &:horizontal {\n        background-size: 50% calc(50% - var(--___bgPadding)), 50% calc(50% - var(--___bgPadding));\n\n        &:increment {\n          background-image:\n            linear-gradient(45deg, var(--btnText) 50%, transparent 51%),\n            linear-gradient(-45deg, transparent 50%, var(--btnText) 51%);\n          background-position: top var(--___bgPadding) left 50%, right 50% bottom var(--___bgPadding);\n        }\n\n        &:decrement {\n          background-image:\n            linear-gradient(45deg, transparent 50%, var(--btnText) 51%),\n            linear-gradient(-45deg, var(--btnText) 50%, transparent 51%);\n          background-position: bottom var(--___bgPadding) right 50%, left 50% top var(--___bgPadding);\n        }\n      }\n\n      &:vertical {\n        background-size: calc(50% - var(--___bgPadding)) 50%, calc(50% - var(--___bgPadding)) 50%;\n\n        &:increment {\n          background-image:\n            linear-gradient(-45deg, transparent 50%, var(--btnText) 51%),\n            linear-gradient(45deg, transparent 50%, var(--btnText) 51%);\n          background-position: right var(--___bgPadding) top 50%, left var(--___bgPadding) top 50%;\n        }\n\n        &:decrement {\n          background-image:\n            linear-gradient(-45deg, var(--btnText) 50%, transparent 51%),\n            linear-gradient(45deg, var(--btnText) 50%, transparent 51%);\n          background-position: left var(--___bgPadding) top 50%, right var(--___bgPadding) top 50%;\n        }\n      }\n    }\n    // stylelint-enable selector-pseudo-class-no-unknown\n  }\n  // Body should have background to scrollbar otherwise it will use white (body color?)\n  html {\n    scrollbar-color: var(--selectedMenu) var(--wallpaper);\n    background: var(--wallpaper);\n  }\n}\n\na {\n  text-decoration: none;\n  color: $fallback--link;\n  color: var(--link, $fallback--link);\n}\n\nh4 {\n  margin: 0;\n}\n\n.iconLetter {\n  display: inline-block;\n  text-align: center;\n  font-weight: 1000;\n}\n\ni[class*=\"icon-\"],\n.svg-inline--fa,\n.iconLetter {\n  color: $fallback--icon;\n  color: var(--icon, $fallback--icon);\n}\n\n.button-unstyled:hover,\na:hover {\n  > i[class*=\"icon-\"],\n  > .svg-inline--fa,\n  > .iconLetter {\n    color: var(--text);\n  }\n}\n\nnav {\n  z-index: var(--ZI_navbar);\n  background-color: $fallback--fg;\n  background-color: var(--topBar, $fallback--fg);\n  color: $fallback--faint;\n  color: var(--faint, $fallback--faint);\n  box-shadow: 0 0 4px rgb(0 0 0 / 60%);\n  box-shadow: var(--topBarShadow);\n  box-sizing: border-box;\n  height: var(--navbar-height);\n  position: fixed;\n}\n\n#sidebar {\n  grid-area: sidebar;\n}\n\n#modal {\n  position: absolute;\n  z-index: var(--ZI_modals);\n}\n\n.column.-scrollable {\n  top: var(--navbar-height);\n  position: sticky;\n}\n\n#main-scroller {\n  grid-area: content;\n  position: relative;\n}\n\n#notifs-column {\n  grid-area: notifs;\n}\n\n.app-bg-wrapper {\n  position: fixed;\n  height: 100%;\n  top: var(--navbar-height);\n  z-index: -1000;\n  left: 0;\n  right: -20px;\n  background-size: cover;\n  background-repeat: no-repeat;\n  background-color: var(--wallpaper);\n  background-image: var(--body-background-image);\n  background-position: 50%;\n}\n\n.underlay {\n  grid-column: 1 / span 3;\n  grid-row: 1 / 1;\n  pointer-events: none;\n  background-color: rgb(0 0 0 / 15%);\n  background-color: var(--underlay, rgb(0 0 0 / 15%));\n  z-index: -1000;\n}\n\n.app-layout {\n  --miniColumn: 25rem;\n  --maxiColumn: 45rem;\n  --columnGap: 1em;\n  --status-margin: 0.75em;\n  --effectiveSidebarColumnWidth: minmax(var(--miniColumn), var(--sidebarColumnWidth, var(--miniColumn)));\n  --effectiveNotifsColumnWidth: minmax(var(--miniColumn), var(--notifsColumnWidth, var(--miniColumn)));\n  --effectiveContentColumnWidth: minmax(var(--miniColumn), var(--contentColumnWidth, var(--maxiColumn)));\n\n  position: relative;\n  display: grid;\n  grid-template-columns:\n    var(--effectiveSidebarColumnWidth)\n    var(--effectiveContentColumnWidth);\n  grid-template-areas: \"sidebar content\";\n  grid-template-rows: 1fr;\n  box-sizing: border-box;\n  margin: 0 auto;\n  align-content: flex-start;\n  flex-wrap: wrap;\n  justify-content: center;\n  min-height: 100vh;\n  overflow-x: clip;\n\n  .column {\n    --___columnMargin: var(--columnGap);\n\n    display: grid;\n    grid-template-columns: 100%;\n    box-sizing: border-box;\n    grid-row: 1 / 1;\n    margin: 0 calc(var(--___columnMargin) / 2);\n    padding: calc(var(--___columnMargin)) 0;\n    row-gap: var(--___columnMargin);\n    align-content: start;\n\n    &:not(.-scrollable) {\n      margin-top: var(--navbar-height);\n    }\n\n    &:hover {\n      z-index: 2;\n    }\n\n    &.-full-height {\n      margin-bottom: 0;\n      padding-top: 0;\n      padding-bottom: 0;\n    }\n\n    &.-scrollable {\n      --___paddingIncrease: calc(var(--columnGap) / 2);\n\n      position: sticky;\n      top: var(--navbar-height);\n      max-height: calc(100vh - var(--navbar-height));\n      overflow-y: auto;\n      overflow-x: hidden;\n      margin-left: calc(var(--___paddingIncrease) * -1);\n      padding-left: calc(var(--___paddingIncrease) + var(--___columnMargin) / 2);\n\n      // On browsers that don't support hiding scrollbars we enforce \"show scrolbars\" mode\n      // might implement old style of hiding scrollbars later if there's demand\n      @supports (scrollbar-width: none) or (-webkit-text-fill-color: initial) {\n        &:not(.-show-scrollbar) {\n          scrollbar-width: none;\n          margin-right: calc(var(--___paddingIncrease) * -1);\n          padding-right: calc(var(--___paddingIncrease) + var(--___columnMargin) / 2);\n\n          &::-webkit-scrollbar {\n            display: block;\n            width: 0;\n          }\n        }\n      }\n\n      .panel-heading.-sticky {\n        top: calc(var(--columnGap) / -1);\n      }\n    }\n  }\n\n  &.-has-new-post-button {\n    .column {\n      padding-bottom: 10rem;\n    }\n  }\n\n  &.-no-sticky-headers {\n    .column {\n      .panel-heading.-sticky {\n        position: relative;\n        top: 0;\n      }\n    }\n  }\n\n  .column-inner {\n    display: grid;\n    grid-template-columns: 100%;\n    box-sizing: border-box;\n    row-gap: 1em;\n    align-content: start;\n  }\n\n  &.-reverse:not(.-wide, .-mobile) {\n    grid-template-columns:\n      var(--effectiveContentColumnWidth)\n      var(--effectiveSidebarColumnWidth);\n    grid-template-areas: \"content sidebar\";\n  }\n\n  &.-wide {\n    grid-template-columns:\n      var(--effectiveSidebarColumnWidth)\n      var(--effectiveContentColumnWidth)\n      var(--effectiveNotifsColumnWidth);\n    grid-template-areas: \"sidebar content notifs\";\n\n    &.-reverse {\n      grid-template-columns:\n        var(--effectiveNotifsColumnWidth)\n        var(--effectiveContentColumnWidth)\n        var(--effectiveSidebarColumnWidth);\n      grid-template-areas: \"notifs content sidebar\";\n    }\n  }\n\n  &.-mobile {\n    grid-template-columns: 100vw;\n    grid-template-areas: \"content\";\n    padding: 0;\n\n    .column {\n      padding-top: 0;\n      margin: var(--navbar-height) 0 0 0;\n    }\n\n    .panel-heading,\n    .panel-heading::after,\n    .panel-heading::before,\n    .panel,\n    .panel::after {\n      border-top-left-radius: 0;\n      border-top-right-radius: 0;\n    }\n\n    #sidebar,\n    #notifs-column {\n      display: none;\n    }\n  }\n\n  &.-normal {\n    #notifs-column {\n      display: none;\n    }\n  }\n}\n\n.text-center {\n  text-align: center;\n}\n\n.button-default {\n  user-select: none;\n  color: $fallback--text;\n  color: var(--btnText, $fallback--text);\n  background-color: $fallback--fg;\n  background-color: var(--btn, $fallback--fg);\n  border: none;\n  border-radius: $fallback--btnRadius;\n  border-radius: var(--btnRadius, $fallback--btnRadius);\n  cursor: pointer;\n  box-shadow: $fallback--buttonShadow;\n  box-shadow: var(--buttonShadow);\n  font-size: 1em;\n  font-family: sans-serif;\n  font-family: var(--interfaceFont, sans-serif);\n\n  &.-sublime {\n    background: transparent;\n  }\n\n  i[class*=\"icon-\"],\n  .svg-inline--fa {\n    color: $fallback--text;\n    color: var(--btnText, $fallback--text);\n  }\n\n  &::-moz-focus-inner {\n    border: none;\n  }\n\n  &:hover {\n    box-shadow: 0 0 4px rgb(255 255 255 / 30%);\n    box-shadow: var(--buttonHoverShadow);\n  }\n\n  &:active {\n    box-shadow:\n      0 0 4px 0 rgb(255 255 255 / 30%),\n      0 1px 0 0 rgb(0 0 0 / 20%) inset,\n      0 -1px 0 0 rgb(255 255 255 / 20%) inset;\n    box-shadow: var(--buttonPressedShadow);\n    color: $fallback--text;\n    color: var(--btnPressedText, $fallback--text);\n    background-color: $fallback--fg;\n    background-color: var(--btnPressed, $fallback--fg);\n\n    svg,\n    i {\n      color: $fallback--text;\n      color: var(--btnPressedText, $fallback--text);\n    }\n  }\n\n  &:disabled {\n    cursor: not-allowed;\n    color: $fallback--text;\n    color: var(--btnDisabledText, $fallback--text);\n    background-color: $fallback--fg;\n    background-color: var(--btnDisabled, $fallback--fg);\n\n    svg,\n    i {\n      color: $fallback--text;\n      color: var(--btnDisabledText, $fallback--text);\n    }\n  }\n\n  &.toggled {\n    color: $fallback--text;\n    color: var(--btnToggledText, $fallback--text);\n    background-color: $fallback--fg;\n    background-color: var(--btnToggled, $fallback--fg);\n    box-shadow:\n      0 0 4px 0 rgb(255 255 255 / 30%),\n      0 1px 0 0 rgb(0 0 0 / 20%) inset,\n      0 -1px 0 0 rgb(255 255 255 / 20%) inset;\n    box-shadow: var(--buttonPressedShadow);\n\n    svg,\n    i {\n      color: $fallback--text;\n      color: var(--btnToggledText, $fallback--text);\n    }\n  }\n\n  &.danger {\n    // TODO: add better color variable\n    color: $fallback--text;\n    color: var(--alertErrorPanelText, $fallback--text);\n    background-color: $fallback--alertError;\n    background-color: var(--alertError, $fallback--alertError);\n  }\n}\n\n.button-unstyled {\n  background: none;\n  border: none;\n  outline: none;\n  display: inline;\n  text-align: initial;\n  font-size: 100%;\n  font-family: inherit;\n  padding: 0;\n  line-height: unset;\n  cursor: pointer;\n  box-sizing: content-box;\n  color: inherit;\n\n  &.-link {\n    color: $fallback--link;\n    color: var(--link, $fallback--link);\n  }\n\n  &.-fullwidth {\n    width: 100%;\n  }\n\n  &.-hover-highlight {\n    &:hover svg {\n      color: $fallback--lightText;\n      color: var(--lightText, $fallback--lightText);\n    }\n  }\n}\n\ninput,\ntextarea,\n.input {\n  &.unstyled {\n    border-radius: 0;\n    background: none;\n    box-shadow: none;\n    height: unset;\n  }\n\n  --_padding: 0.5em;\n\n  border: none;\n  border-radius: $fallback--inputRadius;\n  border-radius: var(--inputRadius, $fallback--inputRadius);\n  box-shadow:\n    0 1px 0 0 rgb(0 0 0 / 20%) inset,\n    0 -1px 0 0 rgb(255 255 255 / 20%) inset,\n    0 0 2px 0 rgb(0 0 0 / 100%) inset;\n  box-shadow: var(--inputShadow);\n  background-color: $fallback--fg;\n  background-color: var(--input, $fallback--fg);\n  color: $fallback--lightText;\n  color: var(--inputText, $fallback--lightText);\n  font-family: sans-serif;\n  font-family: var(--inputFont, sans-serif);\n  font-size: 1em;\n  margin: 0;\n  box-sizing: border-box;\n  display: inline-block;\n  position: relative;\n  line-height: 2;\n  hyphens: none;\n  padding: 0 var(--_padding);\n\n  &:disabled,\n  &[disabled=\"disabled\"],\n  &.disabled {\n    cursor: not-allowed;\n    opacity: 0.5;\n  }\n\n  &[type=\"range\"] {\n    background: none;\n    border: none;\n    margin: 0;\n    box-shadow: none;\n    flex: 1;\n  }\n\n  &[type=\"radio\"] {\n    display: none;\n\n    &:checked + label::before {\n      box-shadow: 0 0 2px black inset, 0 0 0 4px $fallback--fg inset;\n      box-shadow: var(--inputShadow), 0 0 0 4px var(--fg, $fallback--fg) inset;\n      background-color: var(--accent, $fallback--link);\n    }\n\n    &:disabled {\n      &,\n      & + label,\n      & + label::before {\n        opacity: 0.5;\n      }\n    }\n\n    + label::before {\n      flex-shrink: 0;\n      display: inline-block;\n      content: \"\";\n      transition: box-shadow 200ms;\n      width: 1.1em;\n      height: 1.1em;\n      border-radius: 100%; // Radio buttons should always be circle\n      box-shadow: 0 0 2px black inset;\n      box-shadow: var(--inputShadow);\n      margin-right: 0.5em;\n      background-color: $fallback--fg;\n      background-color: var(--input, $fallback--fg);\n      vertical-align: top;\n      text-align: center;\n      line-height: 1.1;\n      font-size: 1.1em;\n      box-sizing: border-box;\n      color: transparent;\n      overflow: hidden;\n    }\n  }\n\n  &[type=\"checkbox\"] {\n    &:checked + label::before {\n      color: $fallback--text;\n      color: var(--inputText, $fallback--text);\n    }\n\n    &:disabled {\n      &,\n      & + label,\n      & + label::before {\n        opacity: 0.5;\n      }\n    }\n\n    + label::before {\n      flex-shrink: 0;\n      display: inline-block;\n      content: \"✓\";\n      transition: color 200ms;\n      width: 1.1em;\n      height: 1.1em;\n      border-radius: $fallback--checkboxRadius;\n      border-radius: var(--checkboxRadius, $fallback--checkboxRadius);\n      box-shadow: 0 0 2px black inset;\n      box-shadow: var(--inputShadow);\n      margin-right: 0.5em;\n      background-color: $fallback--fg;\n      background-color: var(--input, $fallback--fg);\n      vertical-align: top;\n      text-align: center;\n      line-height: 1.1;\n      font-size: 1.1em;\n      box-sizing: border-box;\n      color: transparent;\n      overflow: hidden;\n    }\n  }\n\n  &.resize-height {\n    resize: vertical;\n  }\n}\n\n// Textareas should have stock line-height + vertical padding instead of huge line-height\ntextarea {\n  padding: var(--_padding);\n  line-height: var(--post-line-height);\n}\n\noption {\n  color: $fallback--text;\n  color: var(--text, $fallback--text);\n  background-color: $fallback--bg;\n  background-color: var(--bg, $fallback--bg);\n}\n\n.hide-number-spinner {\n  appearance: textfield;\n\n  &[type=\"number\"]::-webkit-inner-spin-button,\n  &[type=\"number\"]::-webkit-outer-spin-button {\n    opacity: 0;\n    display: none;\n  }\n}\n\n.btn-block {\n  display: block;\n  width: 100%;\n}\n\n.btn-group {\n  position: relative;\n  display: inline-flex;\n  vertical-align: middle;\n\n  button {\n    position: relative;\n    flex: 1 1 auto;\n\n    &:not(:last-child) {\n      border-top-right-radius: 0;\n      border-bottom-right-radius: 0;\n    }\n\n    &:not(:first-child) {\n      border-top-left-radius: 0;\n      border-bottom-left-radius: 0;\n    }\n  }\n}\n\n.fa {\n  color: grey;\n}\n\n.mobile-shown {\n  display: none;\n}\n\n.badge {\n  box-sizing: border-box;\n  display: inline-block;\n  border-radius: 99px;\n  max-width: 10em;\n  min-width: 1.7em;\n  height: 1.3em;\n  padding: 0.15em;\n  vertical-align: middle;\n  font-weight: normal;\n  font-style: normal;\n  font-size: 0.9em;\n  line-height: 1;\n  text-align: center;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n\n  &.badge-notification {\n    background-color: $fallback--cRed;\n    background-color: var(--badgeNotification, $fallback--cRed);\n    color: white;\n    color: var(--badgeNotificationText, white);\n  }\n}\n\n.alert {\n  margin: 0 0.35em;\n  padding: 0 0.25em;\n  border-radius: $fallback--tooltipRadius;\n  border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n\n  &.error {\n    background-color: $fallback--alertError;\n    background-color: var(--alertError, $fallback--alertError);\n    color: $fallback--text;\n    color: var(--alertErrorText, $fallback--text);\n\n    .panel-heading & {\n      color: $fallback--text;\n      color: var(--alertErrorPanelText, $fallback--text);\n    }\n  }\n\n  &.warning {\n    background-color: $fallback--alertWarning;\n    background-color: var(--alertWarning, $fallback--alertWarning);\n    color: $fallback--text;\n    color: var(--alertWarningText, $fallback--text);\n\n    .panel-heading & {\n      color: $fallback--text;\n      color: var(--alertWarningPanelText, $fallback--text);\n    }\n  }\n\n  &.success {\n    background-color: var(--alertSuccess, $fallback--alertWarning);\n    color: var(--alertSuccessText, $fallback--text);\n\n    .panel-heading & {\n      color: var(--alertSuccessPanelText, $fallback--text);\n    }\n  }\n}\n\n.faint {\n  color: $fallback--faint;\n  color: var(--faint, $fallback--faint);\n}\n\n.faint-link {\n  color: $fallback--faint;\n  color: var(--faint, $fallback--faint);\n\n  &:hover {\n    text-decoration: underline;\n  }\n}\n\n.visibility-notice {\n  padding: 0.5em;\n  border: 1px solid $fallback--faint;\n  border: 1px solid var(--faint, $fallback--faint);\n  border-radius: $fallback--inputRadius;\n  border-radius: var(--inputRadius, $fallback--inputRadius);\n}\n\n.notice-dismissible {\n  padding-right: 4rem;\n  position: relative;\n\n  .dismiss {\n    position: absolute;\n    top: 0;\n    right: 0;\n    padding: 0.5em;\n    color: inherit;\n  }\n}\n\n.fa-scale-110 {\n  &.svg-inline--fa,\n  &.iconLetter {\n    font-size: 1.1em;\n  }\n}\n\n.fa-old-padding {\n  &.iconLetter,\n  &.svg-inline--fa,\n  &-layer {\n    padding: 0 0.3em;\n  }\n}\n\n.veryfaint {\n  opacity: 0.25;\n}\n\n.login-hint {\n  text-align: center;\n\n  @media all and (min-width: 801px) {\n    display: none;\n  }\n\n  a {\n    display: inline-block;\n    padding: 1em 0;\n    width: 100%;\n  }\n}\n\n.btn.button-default {\n  min-height: 2em;\n}\n\n.new-status-notification {\n  position: relative;\n  font-size: 1.1em;\n  z-index: 1;\n  flex: 1;\n}\n\n@media all and (max-width: 800px) {\n  .mobile-hidden {\n    display: none;\n  }\n}\n\n@keyframes spin {\n  0% {\n    transform: rotate(0deg);\n  }\n\n  100% {\n    transform: rotate(359deg);\n  }\n}\n\n@keyframes shakeError {\n  0% {\n    transform: translateX(0);\n  }\n\n  15% {\n    transform: translateX(0.375rem);\n  }\n\n  30% {\n    transform: translateX(-0.375rem);\n  }\n\n  45% {\n    transform: translateX(0.375rem);\n  }\n\n  60% {\n    transform: translateX(-0.375rem);\n  }\n\n  75% {\n    transform: translateX(0.375rem);\n  }\n\n  90% {\n    transform: translateX(-0.375rem);\n  }\n\n  100% {\n    transform: translateX(0);\n  }\n}\n\n// Vue transitions\n.fade-enter-active,\n.fade-leave-active {\n  transition: opacity 0.3s;\n}\n\n.fade-enter-from,\n.fade-leave-active {\n  opacity: 0;\n}\n/* stylelint-enable no-descending-specificity */\n\n.visible-for-screenreader-only {\n  display: block;\n  width: 1px;\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  visibility: visible;\n  clip: rect(0 0 0 0);\n  padding: 0;\n  position: absolute;\n}\n","/* stylelint-disable no-descending-specificity */\n.panel {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  background-color: $fallback--bg;\n  background-color: var(--bg, $fallback--bg);\n\n  &::after,\n  & {\n    border-radius: $fallback--panelRadius;\n    border-radius: var(--panelRadius, $fallback--panelRadius);\n  }\n\n  &::after {\n    content: \"\";\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    z-index: 5;\n    box-shadow: 1px 1px 4px rgb(0 0 0 / 60%);\n    box-shadow: var(--panelShadow);\n    pointer-events: none;\n  }\n}\n\n.panel-body {\n  padding: var(--panel-body-padding, 0);\n\n  &:empty::before {\n    content: \"¯\\\\_(ツ)_/¯\"; // Could use words but it'd require translations\n    display: block;\n    margin: 1em;\n    text-align: center;\n  }\n\n  > p {\n    line-height: 1.3;\n    padding: 1em;\n    margin: 0;\n  }\n}\n\n.panel-heading,\n.panel-footer {\n  --panel-heading-height-padding: 0.6em;\n  --__panel-heading-gap: 0.5em;\n  --__panel-heading-height: 3.2em;\n  --__panel-heading-height-inner: calc(var(--__panel-heading-height) - 2 * var(--panel-heading-height-padding, 0));\n\n  position: relative;\n  box-sizing: border-box;\n  display: grid;\n  grid-auto-flow: column;\n  grid-template-columns: minmax(50%, 1fr);\n  grid-auto-columns: auto;\n  grid-column-gap: var(--__panel-heading-gap);\n  flex: none;\n  background-size: cover;\n  padding: var(--panel-heading-height-padding);\n  height: var(--__panel-heading-height);\n  line-height: var(--__panel-heading-height-inner);\n  z-index: 4;\n\n  &.-flexible-height {\n    --__panel-heading-height: auto;\n\n    &::after,\n    &::before {\n      display: none;\n    }\n  }\n\n  &.-stub {\n    &,\n    &::after {\n      border-radius: $fallback--panelRadius;\n      border-radius: var(--panelRadius, $fallback--panelRadius);\n    }\n  }\n\n  &.-sticky {\n    position: sticky;\n    top: var(--navbar-height);\n  }\n\n  &::after,\n  &::before {\n    content: \"\";\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    right: 0;\n    left: 0;\n    pointer-events: none;\n  }\n\n  .title {\n    font-size: 1.3em;\n  }\n\n  .alert {\n    white-space: nowrap;\n    text-overflow: ellipsis;\n    overflow-x: hidden;\n  }\n\n  &:not(.-flexible-height) {\n    > .button-default,\n    > .alert {\n      height: var(--__panel-heading-height-inner);\n      min-height: 0;\n      box-sizing: border-box;\n      margin: 0;\n      min-width: 1px;\n      padding-top: 0;\n      padding-bottom: 0;\n      align-self: stretch;\n    }\n  }\n}\n\n// TODO Should refactor panels into separate component and utilize slots\n\n.panel-heading {\n  border-radius: $fallback--panelRadius $fallback--panelRadius 0 0;\n  border-radius: var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius) 0 0;\n  border-width: 0 0 1px;\n  align-items: start;\n  // panel theme\n  color: var(--panelText);\n  background-color: $fallback--bg;\n  background-color: var(--bg, $fallback--bg);\n\n  &::after {\n    background-color: $fallback--fg;\n    background-color: var(--panel, $fallback--fg);\n    z-index: -2;\n    border-radius: $fallback--panelRadius $fallback--panelRadius 0 0;\n    border-radius: var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius) 0 0;\n    box-shadow: var(--panelHeaderShadow);\n  }\n\n  a,\n  .-link {\n    color: $fallback--link;\n    color: var(--panelLink, $fallback--link);\n  }\n\n  .button-unstyled:hover,\n  a:hover {\n    i[class*=\"icon-\"],\n    .svg-inline--fa,\n    .iconLetter {\n      color: var(--panelText);\n    }\n  }\n\n  .faint {\n    background-color: transparent;\n    color: $fallback--faint;\n    color: var(--panelFaint, $fallback--faint);\n  }\n\n  .faint-link {\n    color: $fallback--faint;\n    color: var(--faintLink, $fallback--faint);\n  }\n\n  &:not(.-flexible-height) {\n    > .button-default {\n      flex-shrink: 0;\n\n      &,\n      i[class*=\"icon-\"] {\n        color: $fallback--text;\n        color: var(--btnPanelText, $fallback--text);\n      }\n\n      &:active {\n        background-color: $fallback--fg;\n        background-color: var(--btnPressedPanel, $fallback--fg);\n        color: $fallback--text;\n        color: var(--btnPressedPanelText, $fallback--text);\n      }\n\n      &:disabled {\n        color: $fallback--text;\n        color: var(--btnDisabledPanelText, $fallback--text);\n      }\n\n      &.toggled {\n        color: $fallback--text;\n        color: var(--btnToggledPanelText, $fallback--text);\n      }\n    }\n  }\n\n  .rightside-button {\n    align-self: stretch;\n    text-align: center;\n    width: var(--__panel-heading-height);\n    height: var(--__panel-heading-height);\n    margin: calc(-1 * var(--panel-heading-height-padding)) 0;\n    margin-right: calc(-1 * var(--__panel-heading-gap));\n\n    > button {\n      box-sizing: border-box;\n      padding: calc(1 * var(--panel-heading-height-padding)) 0;\n      height: 100%;\n      width: 100%;\n      text-align: center;\n\n      svg {\n        font-size: 1.2em;\n      }\n    }\n  }\n\n  .rightside-icon {\n    align-self: stretch;\n    text-align: center;\n    width: var(--__panel-heading-height);\n    margin-right: calc(-1 * var(--__panel-heading-gap));\n\n    svg {\n      font-size: 1.2em;\n    }\n  }\n}\n\n.panel-footer {\n  border-radius: 0 0 $fallback--panelRadius $fallback--panelRadius;\n  border-radius: 0 0 var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius);\n  align-items: center;\n  border-width: 1px 0 0;\n  border-style: solid;\n  border-color: var(--border, $fallback--border);\n}\n/* stylelint-enable no-descending-specificity */\n","\n@import \"../../variables\";\n\n.thread-tree-replies {\n  margin-left: var(--status-margin, $status-margin);\n  border-left: 2px solid var(--border, $fallback--border);\n}\n\n.thread-tree-replies-hidden {\n  padding: var(--status-margin, $status-margin);\n\n  /* Make the button stretch along the whole row */\n  display: flex;\n  align-items: stretch;\n  flex-direction: column;\n}\n","\n@import \"../../variables\";\n\n.Conversation {\n  z-index: 1;\n\n  .conversation-dive-to-top-level-box {\n    padding: var(--status-margin, $status-margin);\n    border-bottom: 1px solid var(--border, $fallback--border);\n    border-radius: 0;\n\n    /* Make the button stretch along the whole row */\n    display: flex;\n    align-items: stretch;\n    flex-direction: column;\n  }\n\n  .thread-ancestors {\n    margin-left: var(--status-margin, $status-margin);\n    border-left: 2px solid var(--border, $fallback--border);\n  }\n\n  .thread-ancestor.-faded .StatusContent {\n    --link: var(--faintLink);\n    --text: var(--faint);\n\n    color: var(--text);\n  }\n\n  .thread-ancestor-dive-box {\n    padding-left: var(--status-margin, $status-margin);\n    border-bottom: 1px solid var(--border, $fallback--border);\n    border-radius: 0;\n\n    /* Make the button stretch along the whole row */\n    &,\n    &-inner {\n      display: flex;\n      align-items: stretch;\n      flex-direction: column;\n    }\n  }\n\n  .thread-ancestor-dive-box-inner {\n    padding: var(--status-margin, $status-margin);\n  }\n\n  .conversation-status {\n    border-bottom: 1px solid var(--border, $fallback--border);\n    border-radius: 0;\n  }\n\n  .thread-ancestor-has-other-replies .conversation-status,\n  &:last-child .conversation-status,\n  .thread-ancestor:last-child .conversation-status,\n  .thread-ancestor:last-child .thread-ancestor-dive-box,\n  &.-expanded .thread-tree .conversation-status {\n    border-bottom: none;\n  }\n\n  .thread-ancestors + .thread-tree > .conversation-status {\n    border-top: 1px solid var(--border, $fallback--border);\n  }\n\n  /* expanded conversation in timeline */\n  &.status-fadein.-expanded .thread-body {\n    border-left: 4px solid $fallback--cRed;\n    border-left-color: var(--cRed, $fallback--cRed);\n    border-radius: 0 0 $fallback--panelRadius $fallback--panelRadius;\n    border-radius: 0 0 var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius);\n    border-bottom: 1px solid var(--border, $fallback--border);\n  }\n\n  &.-expanded.status-fadein {\n    margin: calc(var(--status-margin, $status-margin) / 2);\n  }\n}\n","\n@import \"../../variables\";\n\n.timeline-menu-popover {\n  min-width: 24rem;\n  max-width: 100vw;\n  margin-top: 0.6rem;\n  font-size: 1rem;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n\n  ul {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n  }\n\n  a {\n    display: block;\n    padding: 0 0.65em;\n    height: 3.5em;\n    line-height: 3.5em;\n\n    &:hover {\n      background-color: $fallback--lightBg;\n      background-color: var(--selectedMenu, $fallback--lightBg);\n      color: $fallback--link;\n      color: var(--selectedMenuText, $fallback--link);\n\n      --faint: var(--selectedMenuFaintText, $fallback--faint);\n      --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n      --lightText: var(--selectedMenuLightText, $fallback--lightText);\n      --icon: var(--selectedMenuIcon, $fallback--icon);\n    }\n\n    &.router-link-active {\n      font-weight: bolder;\n      background-color: $fallback--lightBg;\n      background-color: var(--selectedMenu, $fallback--lightBg);\n      color: $fallback--text;\n      color: var(--selectedMenuText, $fallback--text);\n\n      --faint: var(--selectedMenuFaintText, $fallback--faint);\n      --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n      --lightText: var(--selectedMenuLightText, $fallback--lightText);\n      --icon: var(--selectedMenuIcon, $fallback--icon);\n\n      &:hover {\n        text-decoration: underline;\n      }\n    }\n\n    svg {\n      margin-right: 0.4em;\n      margin-left: -0.2em;\n    }\n  }\n\n  li {\n    border-bottom: 1px solid;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n    padding: 0;\n\n    &:last-child a {\n      border-bottom-right-radius: $fallback--panelRadius;\n      border-bottom-right-radius: var(--panelRadius, $fallback--panelRadius);\n      border-bottom-left-radius: $fallback--panelRadius;\n      border-bottom-left-radius: var(--panelRadius, $fallback--panelRadius);\n    }\n\n    &:last-child {\n      border: none;\n    }\n  }\n}\n\n.TimelineMenu {\n  margin-right: auto;\n  min-width: 0;\n\n  .popover-trigger-button {\n    vertical-align: bottom;\n  }\n\n  .panel::after {\n    border-top-right-radius: 0;\n    border-top-left-radius: 0;\n  }\n\n  .timeline-menu-title {\n    margin: 0;\n    cursor: pointer;\n    user-select: none;\n    width: 100%;\n    display: flex;\n\n    .timeline-menu-name {\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    svg {\n      margin-left: 0.6em;\n      transition: transform 100ms;\n    }\n\n    .click-blocker {\n      cursor: default;\n      flex-grow: 1;\n    }\n  }\n\n  &.open .timeline-menu-title svg {\n    color: $fallback--text;\n    color: var(--panelText, $fallback--text);\n    transform: rotate(180deg);\n  }\n\n  .panel {\n    box-shadow: var(--popoverShadow);\n  }\n}\n","@import \"../../variables\";\n\n.Timeline {\n  .alert-dot {\n    border-radius: 100%;\n    height: 8px;\n    width: 8px;\n    position: absolute;\n    left: calc(50% - 4px);\n    top: calc(50% - 4px);\n    margin-left: 6px;\n    margin-top: -6px;\n    background-color: var(--badgeNeutral);\n  }\n\n  .alert-badge {\n    font-size: 0.75em;\n    line-height: 1;\n    text-align: right;\n    border-radius: var(--tooltipRadius);\n    position: absolute;\n    left: calc(50% - 0.5em);\n    top: calc(50% - 0.4em);\n    padding: 0.2em;\n    margin-left: 0.7em;\n    margin-top: -1em;\n    background-color: var(--badgeNeutral);\n    color: var(--badgeNeutralText);\n  }\n\n  .loadmore-button {\n    position: relative;\n  }\n\n  &.-blocked {\n    cursor: progress;\n  }\n\n  .conversation-heading {\n    top: calc(var(--__panel-heading-height) * var(--currentPanelStack, 2));\n    z-index: 2;\n  }\n\n  &.-nonpanel {\n    .timeline-heading {\n      text-align: center;\n      line-height: 2.75em;\n      padding: 0 0.5em;\n\n      .button-default,\n      .alert {\n        line-height: 2em;\n        width: 100%;\n      }\n    }\n  }\n}\n","@import \"../../variables\";\n\n/* stylelint-disable no-descending-specificity */\n.tab-switcher {\n  display: flex;\n\n  .tab-icon {\n    margin: 0.2em auto;\n    display: block;\n  }\n\n  &.top-tabs {\n    flex-direction: column;\n\n    > .tabs {\n      width: 100%;\n      overflow-y: hidden;\n      overflow-x: auto;\n      padding-top: 5px;\n      flex-direction: row;\n      flex: 0 0 auto;\n\n      &::after,\n      &::before {\n        content: \"\";\n        flex: 1 1 auto;\n        border-bottom: 1px solid;\n        border-bottom-color: $fallback--border;\n        border-bottom-color: var(--border, $fallback--border);\n      }\n\n      .tab-wrapper {\n        height: 2em;\n\n        &:not(.active)::after {\n          left: 0;\n          right: 0;\n          bottom: 0;\n          border-bottom: 1px solid;\n          border-bottom-color: $fallback--border;\n          border-bottom-color: var(--border, $fallback--border);\n        }\n      }\n\n      .tab {\n        width: 100%;\n        min-width: 1px;\n        border-bottom-left-radius: 0;\n        border-bottom-right-radius: 0;\n        padding-bottom: 99px;\n        margin-bottom: 6px - 99px;\n      }\n    }\n\n    .contents.scrollable-tabs {\n      flex-basis: 0;\n    }\n  }\n\n  &.side-tabs {\n    flex-direction: row;\n\n    @media all and (max-width: 800px) {\n      overflow-x: auto;\n    }\n\n    > .contents {\n      flex: 1 1 auto;\n    }\n\n    > .tabs {\n      flex: 0 0 auto;\n      overflow-y: auto;\n      overflow-x: hidden;\n      flex-direction: column;\n\n      &::after,\n      &::before {\n        flex-shrink: 0;\n        flex-basis: 0.5em;\n        content: \"\";\n        border-right: 1px solid;\n        border-right-color: $fallback--border;\n        border-right-color: var(--border, $fallback--border);\n      }\n\n      &::after {\n        flex-grow: 1;\n      }\n\n      &::before {\n        flex-grow: 0;\n      }\n\n      .tab-wrapper {\n        min-width: 10em;\n        display: flex;\n        flex-direction: column;\n\n        @media all and (max-width: 800px) {\n          min-width: 4em;\n        }\n\n        &:not(.active)::after {\n          top: 0;\n          right: 0;\n          bottom: 0;\n          border-right: 1px solid;\n          border-right-color: $fallback--border;\n          border-right-color: var(--border, $fallback--border);\n        }\n\n        &::before {\n          flex: 0 0 6px;\n          content: \"\";\n          border-right: 1px solid;\n          border-right-color: $fallback--border;\n          border-right-color: var(--border, $fallback--border);\n        }\n\n        &:last-child .tab {\n          margin-bottom: 0;\n        }\n      }\n\n      .tab {\n        flex: 1;\n        box-sizing: content-box;\n        min-width: 10em;\n        min-width: 1px;\n        border-top-right-radius: 0;\n        border-bottom-right-radius: 0;\n        padding-left: 1em;\n        padding-right: calc(1em + 200px);\n        margin-right: -200px;\n        margin-left: 1em;\n\n        @media all and (max-width: 800px) {\n          padding-left: 0.25em;\n          padding-right: calc(0.25em + 200px);\n          margin-right: calc(0.25em - 200px);\n          margin-left: 0.25em;\n\n          .text {\n            display: none;\n          }\n        }\n      }\n    }\n  }\n\n  .contents {\n    flex: 1 0 auto;\n    min-height: 0;\n\n    .hidden {\n      display: none;\n    }\n\n    .full-height:not(.hidden) {\n      height: 100%;\n      display: flex;\n      flex-direction: column;\n\n      > *:not(.mobile-label) {\n        flex: 1;\n      }\n    }\n\n    &.scrollable-tabs {\n      overflow-y: auto;\n    }\n  }\n\n  .tab {\n    position: relative;\n    white-space: nowrap;\n    padding: 6px 1em;\n\n    &:not(.active) {\n      z-index: 4;\n\n      &:hover {\n        z-index: 6;\n      }\n    }\n\n    &.active {\n      background: transparent;\n      z-index: 5;\n      color: $fallback--text;\n      color: var(--tabActiveText, $fallback--text);\n    }\n\n    img {\n      max-height: 26px;\n      vertical-align: top;\n      margin-top: -5px;\n    }\n  }\n\n  .tabs {\n    display: flex;\n    position: relative;\n    box-sizing: border-box;\n\n    &::after,\n    &::before {\n      display: block;\n      flex: 1 1 auto;\n    }\n  }\n\n  .tab-wrapper {\n    position: relative;\n    display: flex;\n    flex: 0 0 auto;\n\n    &:not(.active) {\n      &::after {\n        content: \"\";\n        position: absolute;\n        z-index: 7;\n      }\n    }\n  }\n\n  .mobile-label {\n    padding-left: 0.3em;\n    padding-bottom: 0.25em;\n    margin-top: 0.5em;\n    margin-left: 0.2em;\n    margin-bottom: 0.25em;\n    border-bottom: 1px solid var(--border, $fallback--border);\n\n    @media all and (min-width: 800px) {\n      display: none;\n    }\n  }\n}\n/* stylelint-enable no-descending-specificity */\n","\n@import \"../../variables\";\n\n.chat-title {\n  display: flex;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n\n  --emoji-size: 14px;\n\n  .username {\n    max-width: 100%;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    display: inline;\n    word-wrap: break-word;\n    overflow: hidden;\n  }\n\n  .avatar-container {\n    align-self: center;\n    line-height: 1;\n  }\n\n  .titlebar-avatar {\n    margin-right: 0.5em;\n    height: 1.5em;\n    width: 1.5em;\n    border-radius: $fallback--avatarAltRadius;\n    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n\n    &.animated::before {\n      display: none;\n    }\n  }\n}\n",".chat-list-item {\n  display: flex;\n  flex-direction: row;\n  padding: 0.75em;\n  height: 5em;\n  overflow: hidden;\n  box-sizing: border-box;\n  cursor: pointer;\n\n  :focus {\n    outline: none;\n  }\n\n  &:hover {\n    background-color: var(--selectedPost, $fallback--lightBg);\n    box-shadow: 0 0 3px 1px rgb(0 0 0 / 10%);\n  }\n\n  .chat-list-item-left {\n    margin-right: 1em;\n  }\n\n  .chat-list-item-center {\n    width: 100%;\n    box-sizing: border-box;\n    overflow: hidden;\n    word-wrap: break-word;\n  }\n\n  .heading {\n    width: 100%;\n    display: inline-flex;\n    justify-content: space-between;\n    line-height: 1em;\n  }\n\n  .heading-right {\n    white-space: nowrap;\n  }\n\n  .name-and-account-name {\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    overflow: hidden;\n    flex-shrink: 1;\n    line-height: var(--post-line-height);\n  }\n\n  .chat-preview {\n    display: inline-flex;\n    overflow: hidden;\n    white-space: nowrap;\n    text-overflow: ellipsis;\n    margin: 0.35em 0;\n    color: $fallback--text;\n    color: var(--faint, $fallback--text);\n    width: 100%;\n  }\n\n  a {\n    color: var(--faintLink, $fallback--link);\n    text-decoration: none;\n    pointer-events: none;\n  }\n\n  &:hover .animated.avatar {\n    canvas {\n      display: none;\n    }\n\n    img {\n      visibility: visible;\n    }\n  }\n\n  .Avatar {\n    border-radius: $fallback--avatarAltRadius;\n    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n  }\n\n  .chat-preview-body {\n    --emoji-size: 1.4em;\n\n    padding-right: 1em;\n  }\n\n  .time-wrapper {\n    line-height: var(--post-line-height);\n  }\n}\n","\n.basic-user-card {\n  display: flex;\n  flex: 1 0;\n  margin: 0;\n  padding: 0.6em 1em;\n\n  --emoji-size: 14px;\n\n  &-collapsed-content {\n    margin-left: 0.7em;\n    text-align: left;\n    flex: 1;\n    min-width: 0;\n  }\n\n  &-user-name {\n    img {\n      object-fit: contain;\n      height: 16px;\n      width: 16px;\n      vertical-align: middle;\n    }\n  }\n\n  &-user-name-value,\n  &-screen-name {\n    display: inline-block;\n    max-width: 100%;\n    overflow: hidden;\n    white-space: nowrap;\n    text-overflow: ellipsis;\n  }\n\n  &-expanded-content {\n    flex: 1;\n    margin-left: 0.7em;\n    min-width: 0;\n  }\n}\n",".chat-new {\n  .input-wrap {\n    display: flex;\n    margin: 0.7em 0.5em;\n\n    input {\n      width: 100%;\n    }\n  }\n\n  .search-icon {\n    margin-right: 0.3em;\n  }\n\n  .member-list {\n    padding-bottom: 0.7rem;\n  }\n\n  .basic-user-card:hover {\n    cursor: pointer;\n    background-color: var(--selectedPost, $fallback--lightBg);\n  }\n\n  .go-back-button {\n    text-align: center;\n    line-height: 1;\n    height: 100%;\n    align-self: start;\n    width: var(--__panel-heading-height-inner);\n  }\n}\n","\n@import \"../../variables\";\n\n.chat-list {\n  min-height: 25em;\n  margin-bottom: 0;\n}\n\n.emtpy-chat-list-alert {\n  padding: 3em;\n  font-size: 1.2em;\n  display: flex;\n  justify-content: center;\n  color: $fallback--text;\n  color: var(--faint, $fallback--text);\n}\n\n","@import \"../../variables\";\n\n.chat-message-wrapper {\n  &.hovered-message-chain {\n    .animated.Avatar {\n      canvas {\n        display: none;\n      }\n\n      img {\n        visibility: visible;\n      }\n    }\n  }\n\n  .chat-message-menu {\n    transition: opacity 0.1s;\n    opacity: 0;\n    position: absolute;\n    top: -0.8em;\n\n    button {\n      padding-top: 0.2em;\n      padding-bottom: 0.2em;\n    }\n  }\n\n  .menu-icon {\n    cursor: pointer;\n\n    &:hover,\n    .extra-button-popover.open & {\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n  }\n\n  .popover {\n    width: 12em;\n  }\n\n  .chat-message {\n    display: flex;\n    padding-bottom: 0.5em;\n\n    .status-body:hover {\n      --_still-image-img-visibility: visible;\n      --_still-image-canvas-visibility: hidden;\n      --_still-image-label-visibility: hidden;\n    }\n  }\n\n  .avatar-wrapper {\n    margin-right: 0.72em;\n    width: 32px;\n  }\n\n  .link-preview,\n  .attachments {\n    margin-bottom: 1em;\n  }\n\n  .status {\n    border-radius: $fallback--chatMessageRadius;\n    border-radius: var(--chatMessageRadius, $fallback--chatMessageRadius);\n    display: flex;\n    padding: 0.75em;\n  }\n\n  .created-at {\n    position: relative;\n    float: right;\n    font-size: 0.8em;\n    margin: -1em 0 -0.5em;\n    font-style: italic;\n    opacity: 0.8;\n  }\n\n  .without-attachment {\n    .message-content {\n      // TODO figure out how to do it properly\n      .RichContent::after {\n        margin-right: 5.4em;\n        content: \" \";\n        display: inline-block;\n      }\n    }\n  }\n\n  .pending {\n    .status-content.media-body,\n    .created-at {\n      color: var(--faint);\n    }\n  }\n\n  .error {\n    .status-content.media-body,\n    .created-at {\n      color: $fallback--cRed;\n      color: var(--badgeNotification, $fallback--cRed);\n    }\n  }\n\n  .chat-message-inner {\n    display: flex;\n    flex-direction: column;\n    align-items: flex-start;\n    max-width: 80%;\n    min-width: 10em;\n    width: 100%;\n  }\n\n  .outgoing {\n    display: flex;\n    flex-flow: row wrap;\n    align-content: end;\n    justify-content: flex-end;\n\n    a {\n      color: var(--chatMessageOutgoingLink, $fallback--link);\n    }\n\n    .status {\n      color: var(--chatMessageOutgoingText, $fallback--text);\n      background-color: var(--chatMessageOutgoingBg, $fallback--lightBg);\n      border: 1px solid var(--chatMessageOutgoingBorder, --lightBg);\n    }\n\n    .chat-message-inner {\n      align-items: flex-end;\n    }\n\n    .chat-message-menu {\n      right: 0.4rem;\n    }\n  }\n\n  .incoming {\n    a {\n      color: var(--chatMessageIncomingLink, $fallback--link);\n    }\n\n    .status {\n      color: var(--chatMessageIncomingText, $fallback--text);\n      background-color: var(--chatMessageIncomingBg, $fallback--bg);\n      border: 1px solid var(--chatMessageIncomingBorder, --border);\n    }\n\n    .created-at {\n      a {\n        color: var(--chatMessageIncomingText, $fallback--text);\n      }\n    }\n\n    .chat-message-menu {\n      left: 0.4rem;\n    }\n  }\n\n  .chat-message-inner.with-media {\n    width: 100%;\n\n    .status {\n      width: 100%;\n    }\n  }\n\n  .visible {\n    opacity: 1;\n  }\n}\n\n.chat-message-date-separator {\n  text-align: center;\n  margin: 1.4em 0;\n  font-size: 0.9em;\n  user-select: none;\n  color: $fallback--text;\n  color: var(--faintedText, $fallback--text);\n}\n",".chat-view {\n  display: flex;\n  height: 100%;\n\n  .chat-view-inner {\n    height: auto;\n    width: 100%;\n    overflow: visible;\n    display: flex;\n  }\n\n  .chat-view-body {\n    box-sizing: border-box;\n    background-color: var(--chatBg, $fallback--bg);\n    display: flex;\n    flex-direction: column;\n    width: 100%;\n    overflow: visible;\n    min-height: calc(100vh - var(--navbar-height));\n    margin: 0;\n    border-radius: 10px 10px 0 0;\n    border-radius: var(--panelRadius, 10px) var(--panelRadius, 10px) 0 0;\n\n    &::after {\n      border-radius: 0;\n    }\n  }\n\n  .message-list {\n    padding: 0 0.8em;\n    height: 100%;\n    display: flex;\n    flex-direction: column;\n    justify-content: end;\n  }\n\n  .footer {\n    position: sticky;\n    bottom: 0;\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n    z-index: 1;\n  }\n\n  .chat-view-heading {\n    grid-template-columns: auto minmax(50%, 1fr);\n  }\n\n  .go-back-button {\n    text-align: center;\n    line-height: 1;\n    height: 100%;\n    align-self: start;\n    width: var(--__panel-heading-height-inner);\n  }\n\n  .jump-to-bottom-button {\n    width: 2.5em;\n    height: 2.5em;\n    border-radius: 100%;\n    position: absolute;\n    right: 1.3em;\n    top: -3.2em;\n    background-color: $fallback--fg;\n    background-color: var(--btn, $fallback--fg);\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    box-shadow: 0 1px 1px rgb(0 0 0 / 30%), 0 2px 4px rgb(0 0 0 / 30%);\n    z-index: 10;\n    transition: 0.35s all;\n    transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\n    opacity: 0;\n    visibility: hidden;\n    cursor: pointer;\n\n    &.visible {\n      opacity: 1;\n      visibility: visible;\n    }\n\n    i {\n      font-size: 1em;\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n\n    .unread-message-count {\n      font-size: 0.8em;\n      left: 50%;\n      margin-top: -1rem;\n      padding: 0.1em;\n      border-radius: 50px;\n      position: absolute;\n    }\n\n    .chat-loading-error {\n      width: 100%;\n      display: flex;\n      align-items: flex-end;\n      height: 100%;\n\n      .error {\n        width: 100%;\n      }\n    }\n  }\n}\n","\n.follow-card {\n  &-content-container {\n    flex-shrink: 0;\n    display: flex;\n    flex-flow: row wrap;\n    justify-content: space-between;\n    line-height: 1.5em;\n  }\n\n  &-button {\n    margin-top: 0.5em;\n    padding: 0 1.5em;\n    margin-left: 1em;\n  }\n\n  &-follow-button {\n    margin-top: 0.5em;\n    margin-left: auto;\n    width: 10em;\n  }\n}\n","@import \"../../variables\";\n\n.with-load-more {\n  &-footer {\n    padding: 10px;\n    text-align: center;\n    border-top: 1px solid;\n    border-top-color: $fallback--border;\n    border-top-color: var(--border, $fallback--border);\n\n    .error {\n      font-size: 1rem;\n    }\n\n    a {\n      cursor: pointer;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.user-profile {\n  flex: 2;\n  flex-basis: 500px;\n\n  // No sticky header on user profile\n  --currentPanelStack: 1;\n\n  .user-birthday {\n    margin: 0 0.75em 0.5em;\n  }\n\n  .user-profile-fields {\n    margin: 0 0.5em;\n\n    img {\n      object-fit: contain;\n      vertical-align: middle;\n      max-width: 100%;\n      max-height: 400px;\n\n      &.emoji {\n        width: 18px;\n        height: 18px;\n      }\n    }\n\n    .user-profile-field {\n      display: flex;\n      margin: 0.25em;\n      border: 1px solid var(--border, $fallback--border);\n      border-radius: $fallback--inputRadius;\n      border-radius: var(--inputRadius, $fallback--inputRadius);\n\n      .user-profile-field-name {\n        flex: 0 1 30%;\n        font-weight: 500;\n        text-align: right;\n        color: var(--lightText);\n        min-width: 120px;\n        border-right: 1px solid var(--border, $fallback--border);\n      }\n\n      .user-profile-field-value {\n        flex: 1 1 70%;\n        color: var(--text);\n        margin: 0 0 0 0.25em;\n      }\n\n      .user-profile-field-name,\n      .user-profile-field-value {\n        line-height: 1.3;\n        text-overflow: ellipsis;\n        white-space: nowrap;\n        overflow: hidden;\n        padding: 0.5em 1.5em;\n        box-sizing: border-box;\n      }\n    }\n  }\n\n  .userlist-placeholder {\n    display: flex;\n    justify-content: center;\n    align-items: middle;\n    padding: 2em;\n  }\n}\n\n.user-profile-placeholder {\n  .panel-body {\n    display: flex;\n    justify-content: center;\n    align-items: middle;\n    padding: 7em;\n  }\n}\n","\n@import \"../../variables\";\n\n.search-result-heading {\n  color: $fallback--faint;\n  color: var(--faint, $fallback--faint);\n  padding: 0.75rem;\n  text-align: center;\n}\n\n@media all and (max-width: 800px) {\n  .search-nav-heading {\n    .tab-switcher .tabs .tab-wrapper {\n      display: block;\n      justify-content: center;\n      flex: 1 1 auto;\n      text-align: center;\n    }\n  }\n}\n\n.search-result {\n  box-sizing: border-box;\n  border-bottom: 1px solid;\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n}\n\n.search-result-footer {\n  border-width: 1px 0 0;\n  border-style: solid;\n  border-color: var(--border, $fallback--border);\n  padding: 10px;\n  background-color: $fallback--fg;\n  background-color: var(--panel, $fallback--fg);\n}\n\n.search-input-container {\n  padding: 0.8rem;\n  display: flex;\n  justify-content: center;\n\n  .search-input {\n    width: 100%;\n    line-height: 1.125rem;\n    font-size: 1rem;\n    padding: 0.5rem;\n    box-sizing: border-box;\n  }\n\n  .search-button {\n    margin-left: 0.5em;\n  }\n}\n\n.loading-icon {\n  padding: 1em;\n}\n\n.trend {\n  display: flex;\n  align-items: center;\n\n  .hashtag {\n    flex: 1 1 auto;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  .count {\n    flex: 0 0 auto;\n    width: 2rem;\n    font-size: 1.5rem;\n    line-height: 2.25rem;\n    font-weight: 500;\n    text-align: center;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n  }\n}\n\n.more-statuses-button {\n  height: 3.5em;\n  line-height: 3.5em;\n}\n\n","\n@import \"../../variables\";\n\n.interface-language-switcher {\n  .language-select {\n    margin-right: 1em;\n  }\n}\n","\n@import \"../../variables\";\n$validations-cRed: #f04124;\n\n.registration-form {\n  display: flex;\n  flex-direction: column;\n  margin: 0.6em;\n\n  .container {\n    display: flex;\n    flex-direction: row;\n\n    > * {\n      min-width: 0;\n    }\n  }\n\n  .terms-of-service {\n    flex: 0 1 50%;\n    margin: 0.8em;\n  }\n\n  .text-fields {\n    margin-top: 0.6em;\n    flex: 1 0;\n    display: flex;\n    flex-direction: column;\n  }\n\n  textarea {\n    min-height: 100px;\n    resize: vertical;\n  }\n\n  .form-group {\n    display: flex;\n    flex-direction: column;\n    padding: 0.3em 0;\n    line-height: 2;\n    margin-bottom: 1em;\n  }\n\n  .form-group--error {\n    animation-name: shakeError;\n    animation-duration: 0.6s;\n    animation-timing-function: ease-in-out;\n  }\n\n  .form-group--error .form--label {\n    color: $validations-cRed;\n    color: var(--cRed, $validations-cRed);\n  }\n\n  .form-error {\n    margin-top: -0.7em;\n    text-align: left;\n\n    span {\n      font-size: 0.85em;\n    }\n  }\n\n  .form-error ul {\n    list-style: none;\n    padding: 0 0 0 5px;\n    margin-top: 0;\n\n    li::before {\n      content: \"• \";\n    }\n  }\n\n  form textarea {\n    line-height: 16px;\n    resize: vertical;\n  }\n\n  .captcha {\n    max-width: 350px;\n    margin-bottom: 0.4em;\n  }\n\n  .btn {\n    margin-top: 0.6em;\n    height: 2em;\n  }\n\n  .error {\n    text-align: center;\n  }\n}\n\n@media all and (max-width: 800px) {\n  .registration-form .container {\n    flex-direction: column-reverse;\n  }\n}\n","\n@import \"../../variables\";\n\n.password-reset-form {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  margin: 0.6em;\n\n  .container {\n    display: flex;\n    flex: 1 0;\n    flex-direction: column;\n    margin-top: 0.6em;\n    max-width: 18rem;\n\n    > * {\n      min-width: 0;\n    }\n  }\n\n  .form-group {\n    display: flex;\n    flex-direction: column;\n    margin-bottom: 1em;\n    padding: 0.3em 0;\n    line-height: 1.85em;\n  }\n\n  .error {\n    text-align: center;\n    animation-name: shakeError;\n    animation-duration: 0.4s;\n    animation-timing-function: ease-in-out;\n  }\n\n  .alert {\n    padding: 0.5em;\n    margin: 0.3em 0 1em;\n  }\n\n  .password-reset-required {\n    background-color: var(--alertError, $fallback--alertError);\n    padding: 10px 0;\n  }\n\n  .notice-dismissible {\n    padding-right: 2rem;\n  }\n\n  .dismiss {\n    cursor: pointer;\n  }\n}\n\n","\n.follow-request-card-content-container {\n  display: flex;\n  flex-flow: row wrap;\n\n  button {\n    margin-top: 0.5em;\n    margin-right: 0.5em;\n    flex: 1 1;\n    max-width: 12em;\n    min-width: 8em;\n\n    &:last-child {\n      margin-right: 0;\n    }\n  }\n}\n","\n.tos-content {\n  margin: 1em;\n}\n","\n.staff-group {\n  padding-left: 1em;\n  padding-top: 1em;\n\n  .basic-user-card {\n    padding-left: 0;\n  }\n}\n\n",".mrf-section {\n  margin: 1em;\n\n  table {\n    width: 100%;\n    text-align: left;\n    padding-left: 10px;\n    padding-bottom: 20px;\n\n    th,\n    td {\n      width: 180px;\n      max-width: 360px;\n      overflow: hidden;\n      vertical-align: text-top;\n    }\n\n    th + th,\n    td + td {\n      width: auto;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.list-card {\n  display: flex;\n}\n\n.list-name {\n  flex-grow: 1;\n}\n\n.list-name,\n.button-list-edit {\n  margin: 0;\n  padding: 1em;\n  color: $fallback--link;\n  color: var(--link, $fallback--link);\n\n  &:hover {\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedMenu, $fallback--lightBg);\n    color: $fallback--link;\n    color: var(--selectedMenuText, $fallback--link);\n\n    --faint: var(--selectedMenuFaintText, $fallback--faint);\n    --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n    --lightText: var(--selectedMenuLightText, $fallback--lightText);\n  }\n}\n","\n.Lists {\n  .new-list-button {\n    padding: 0 0.5em;\n  }\n}\n","\n@import \"../../variables\";\n\n.ListsUserSearch {\n  .input-wrap {\n    display: flex;\n    margin: 0.7em 0.5em;\n\n    input {\n      width: 100%;\n    }\n  }\n\n  .search-icon {\n    margin-right: 0.3em;\n  }\n}\n\n","\n@import \"src/variables\";\n\n.panel-loading {\n  display: flex;\n  height: 100%;\n  align-items: center;\n  justify-content: center;\n  font-size: 2em;\n  color: $fallback--text;\n  color: var(--text, $fallback--text);\n\n  .loading-text svg {\n    line-height: 0;\n    vertical-align: middle;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n  }\n}\n","\n@import \"../../variables\";\n\n.ListEdit {\n  --panel-body-padding: 0.5em;\n\n  height: calc(100vh - var(--navbar-height));\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n\n  .list-edit-heading {\n    grid-template-columns: auto minmax(50%, 1fr);\n  }\n\n  .panel-body {\n    display: flex;\n    flex: 1;\n    flex-direction: column;\n    overflow: hidden;\n  }\n\n  .list-member-management {\n    flex: 1 0 auto;\n  }\n\n  .search-icon {\n    margin-right: 0.3em;\n  }\n\n  .users-list {\n    padding-bottom: 0.7rem;\n    overflow-y: auto;\n  }\n\n  & .search-list,\n  & .members-list {\n    overflow: hidden;\n    flex-direction: column;\n    min-height: 0;\n  }\n\n  .go-back-button {\n    text-align: center;\n    line-height: 1;\n    height: 100%;\n    align-self: start;\n    width: var(--__panel-heading-height-inner);\n  }\n\n  .btn {\n    margin: 0 0.5em;\n  }\n\n  .panel-footer {\n    grid-template-columns: minmax(10%, 1fr);\n\n    .footer-button {\n      min-width: 9em;\n    }\n  }\n}\n","\n.announcement-editor {\n  display: flex;\n  align-items: stretch;\n  flex-direction: column;\n\n  .announcement-metadata {\n    margin-top: 0.5em;\n  }\n\n  .post-textarea {\n    resize: vertical;\n    height: 10em;\n    overflow: none;\n    box-sizing: content-box;\n  }\n}\n","\n@import \"../../variables\";\n\n.announcement {\n  border-bottom: 1px solid var(--border, $fallback--border);\n  border-radius: 0;\n  padding: var(--status-margin, $status-margin);\n\n  .heading,\n  .body {\n    margin-bottom: var(--status-margin, $status-margin);\n  }\n\n  .footer {\n    display: flex;\n    flex-direction: column;\n\n    .times {\n      display: flex;\n      flex-direction: column;\n    }\n  }\n\n  .footer .actions {\n    display: flex;\n    flex-direction: row;\n    justify-content: space-evenly;\n\n    .btn {\n      flex: 1;\n      margin: 1em;\n      max-width: 10em;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.announcements-page {\n  .post-form {\n    padding: var(--status-margin, $status-margin);\n\n    .heading,\n    .body {\n      margin-bottom: var(--status-margin, $status-margin);\n    }\n\n    .post-button {\n      min-width: 10em;\n    }\n  }\n}\n"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/priv/static/static/css/app.c18a2c80794a1b699a61.css b/priv/static/static/css/app.c18a2c80794a1b699a61.css
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/css/app.c18a2c80794a1b699a61.css.map b/priv/static/static/css/app.c18a2c80794a1b699a61.css.map
new file mode 100644 (file)
index 0000000..0660dd7
--- /dev/null
@@ -0,0 +1 @@
+{"version":3,"file":"static/css/app.c18a2c80794a1b699a61.css","mappings":"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","sources":["webpack://pleroma_fe/./src/components/modal/modal.vue","webpack://pleroma_fe/./node_modules/vue-virtual-scroller/dist/vue-virtual-scroller.css","webpack://pleroma_fe/./src/components/login_form/login_form.vue","webpack://pleroma_fe/./src/components/media_upload/media_upload.vue","webpack://pleroma_fe/./src/components/scope_selector/scope_selector.vue","webpack://pleroma_fe/./src/_variables.scss","webpack://pleroma_fe/./src/components/checkbox/checkbox.vue","webpack://pleroma_fe/./src/components/popover/popover.vue","webpack://pleroma_fe/./src/components/still-image/still-image.vue","webpack://pleroma_fe/./src/components/emoji_picker/emoji_picker.scss","webpack://pleroma_fe/./src/components/emoji_input/emoji_input.vue","webpack://pleroma_fe/./src/components/select/select.vue","webpack://pleroma_fe/./src/components/poll/poll_form.vue","webpack://pleroma_fe/./src/components/flash/flash.vue","webpack://pleroma_fe/./src/components/attachment/attachment.scss","webpack://pleroma_fe/./src/components/gallery/gallery.vue","webpack://pleroma_fe/./src/components/user_avatar/user_avatar.vue","webpack://pleroma_fe/./src/components/mention_link/mention_link.scss","webpack://pleroma_fe/./src/components/mentions_line/mentions_line.scss","webpack://pleroma_fe/./src/components/hashtag_link/hashtag_link.scss","webpack://pleroma_fe/./src/components/rich_content/rich_content.scss","webpack://pleroma_fe/./src/components/poll/poll.vue","webpack://pleroma_fe/./src/components/status_body/status_body.scss","webpack://pleroma_fe/./src/components/link-preview/link-preview.vue","webpack://pleroma_fe/./src/components/status_content/status_content.vue","webpack://pleroma_fe/./src/components/post_status_form/post_status_form.vue","webpack://pleroma_fe/./src/components/remote_follow/remote_follow.vue","webpack://pleroma_fe/./src/components/dialog_modal/dialog_modal.vue","webpack://pleroma_fe/./src/components/moderation_tools/moderation_tools.vue","webpack://pleroma_fe/./src/components/account_actions/account_actions.vue","webpack://pleroma_fe/./src/components/user_note/user_note.vue","webpack://pleroma_fe/./src/components/user_card/user_card.scss","webpack://pleroma_fe/./src/components/user_panel/user_panel.vue","webpack://pleroma_fe/./src/components/navigation/navigation_entry.vue","webpack://pleroma_fe/./src/components/navigation/navigation_pins.vue","webpack://pleroma_fe/./src/components/nav_panel/nav_panel.vue","webpack://pleroma_fe/./src/components/features_panel/features_panel.vue","webpack://pleroma_fe/./src/components/who_to_follow_panel/who_to_follow_panel.vue","webpack://pleroma_fe/./src/components/shout_panel/shout_panel.vue","webpack://pleroma_fe/./src/components/media_modal/media_modal.vue","webpack://pleroma_fe/./src/components/side_drawer/side_drawer.vue","webpack://pleroma_fe/./src/components/mobile_post_status_button/mobile_post_status_button.vue","webpack://pleroma_fe/./src/components/reply_button/reply_button.vue","webpack://pleroma_fe/./src/components/favorite_button/favorite_button.vue","webpack://pleroma_fe/./src/components/react_button/react_button.vue","webpack://pleroma_fe/./src/components/retweet_button/retweet_button.vue","webpack://pleroma_fe/./src/components/extra_buttons/extra_buttons.vue","webpack://pleroma_fe/./src/components/avatar_list/avatar_list.vue","webpack://pleroma_fe/./src/components/status_popover/status_popover.vue","webpack://pleroma_fe/./src/components/user_list_popover/user_list_popover.vue","webpack://pleroma_fe/./src/components/emoji_reactions/emoji_reactions.vue","webpack://pleroma_fe/./src/components/status/status.scss","webpack://pleroma_fe/./src/components/report/report.scss","webpack://pleroma_fe/./src/components/notification/notification.scss","webpack://pleroma_fe/./src/components/notifications/notifications.scss","webpack://pleroma_fe/./src/components/mobile_nav/mobile_nav.vue","webpack://pleroma_fe/./src/components/search_bar/search_bar.vue","webpack://pleroma_fe/./src/components/desktop_nav/desktop_nav.scss","webpack://pleroma_fe/./src/components/list/list.vue","webpack://pleroma_fe/./src/components/user_reporting_modal/user_reporting_modal.vue","webpack://pleroma_fe/./src/components/edit_status_modal/edit_status_modal.vue","webpack://pleroma_fe/./src/components/post_status_modal/post_status_modal.vue","webpack://pleroma_fe/./src/components/status_history_modal/status_history_modal.vue","webpack://pleroma_fe/./src/components/global_notice_list/global_notice_list.vue","webpack://pleroma_fe/./src/App.scss","webpack://pleroma_fe/./src/panel.scss","webpack://pleroma_fe/./src/components/thread_tree/thread_tree.vue","webpack://pleroma_fe/./src/components/conversation/conversation.vue","webpack://pleroma_fe/./src/components/timeline_menu/timeline_menu.vue","webpack://pleroma_fe/./src/components/timeline/timeline.scss","webpack://pleroma_fe/./src/components/tab_switcher/tab_switcher.scss","webpack://pleroma_fe/./src/components/chat_title/chat_title.vue","webpack://pleroma_fe/./src/components/chat_list_item/chat_list_item.scss","webpack://pleroma_fe/./src/components/basic_user_card/basic_user_card.vue","webpack://pleroma_fe/./src/components/chat_new/chat_new.scss","webpack://pleroma_fe/./src/components/chat_list/chat_list.vue","webpack://pleroma_fe/./src/components/chat_message/chat_message.scss","webpack://pleroma_fe/./src/components/chat/chat.scss","webpack://pleroma_fe/./src/components/follow_card/follow_card.vue","webpack://pleroma_fe/./src/hocs/with_load_more/with_load_more.scss","webpack://pleroma_fe/./src/components/user_profile/user_profile.vue","webpack://pleroma_fe/./src/components/search/search.vue","webpack://pleroma_fe/./src/components/interface_language_switcher/interface_language_switcher.vue","webpack://pleroma_fe/./src/components/registration/registration.vue","webpack://pleroma_fe/./src/components/password_reset/password_reset.vue","webpack://pleroma_fe/./src/components/follow_request_card/follow_request_card.vue","webpack://pleroma_fe/./src/components/terms_of_service_panel/terms_of_service_panel.vue","webpack://pleroma_fe/./src/components/staff_panel/staff_panel.vue","webpack://pleroma_fe/./src/components/mrf_transparency_panel/mrf_transparency_panel.scss","webpack://pleroma_fe/./src/components/lists_card/lists_card.vue","webpack://pleroma_fe/./src/components/lists/lists.vue","webpack://pleroma_fe/./src/components/lists_user_search/lists_user_search.vue","webpack://pleroma_fe/./src/components/panel_loading/panel_loading.vue","webpack://pleroma_fe/./src/components/lists_edit/lists_edit.vue","webpack://pleroma_fe/./src/components/announcement_editor/announcement_editor.vue","webpack://pleroma_fe/./src/components/announcement/announcement.vue","webpack://pleroma_fe/./src/components/announcements_page/announcements_page.vue"],"sourcesContent":["\n.modal-view {\n  z-index: var(--ZI_modals);\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  overflow: auto;\n  pointer-events: none;\n  animation-duration: 0.2s;\n  animation-name: modal-background-fadein;\n  opacity: 0;\n\n  > * {\n    pointer-events: initial;\n  }\n\n  &.modal-background {\n    pointer-events: initial;\n    background-color: rgb(0 0 0 / 50%);\n  }\n\n  &.open {\n    opacity: 1;\n  }\n}\n\n@keyframes modal-background-fadein {\n  from {\n    background-color: rgb(0 0 0 / 0%);\n  }\n\n  to {\n    background-color: rgb(0 0 0 / 50%);\n  }\n}\n",".vue-recycle-scroller{position:relative}.vue-recycle-scroller.direction-vertical:not(.page-mode){overflow-y:auto}.vue-recycle-scroller.direction-horizontal:not(.page-mode){overflow-x:auto}.vue-recycle-scroller.direction-horizontal{display:flex}.vue-recycle-scroller__slot{flex:auto 0 0}.vue-recycle-scroller__item-wrapper{flex:1;box-sizing:border-box;overflow:hidden;position:relative}.vue-recycle-scroller.ready .vue-recycle-scroller__item-view{position:absolute;top:0;left:0;will-change:transform}.vue-recycle-scroller.direction-vertical .vue-recycle-scroller__item-wrapper{width:100%}.vue-recycle-scroller.direction-horizontal .vue-recycle-scroller__item-wrapper{height:100%}.vue-recycle-scroller.ready.direction-vertical .vue-recycle-scroller__item-view{width:100%}.vue-recycle-scroller.ready.direction-horizontal .vue-recycle-scroller__item-view{height:100%}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}","\n@import \"../../variables\";\n\n.login-form {\n  display: flex;\n  flex-direction: column;\n  padding: 0.6em;\n\n  .btn {\n    min-height: 2em;\n    width: 10em;\n  }\n\n  .register {\n    flex: 1 1;\n  }\n\n  .login-bottom {\n    margin-top: 1em;\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    justify-content: space-between;\n  }\n\n  .form-group {\n    display: flex;\n    flex-direction: column;\n    padding: 0.3em 0.5em 0.6em;\n    line-height: 24px;\n  }\n\n  .form-bottom {\n    display: flex;\n    padding: 0.5em;\n    height: 32px;\n\n    button {\n      width: 10em;\n    }\n\n    p {\n      margin: 0.35em;\n      padding: 0.35em;\n      display: flex;\n    }\n  }\n\n  .error {\n    text-align: center;\n    animation-name: shakeError;\n    animation-duration: 0.4s;\n    animation-timing-function: ease-in-out;\n  }\n}\n","\n@import \"../../variables\";\n\n.media-upload {\n  .hidden-input-file {\n    display: none;\n  }\n}\n\nlabel.media-upload {\n  cursor: pointer; // We use <label> for interactivity... i wonder if it's fine\n}\n","\n@import \"../../variables\";\n\n.ScopeSelector {\n  .scope {\n    display: inline-block;\n    cursor: pointer;\n    min-width: 1.3em;\n    min-height: 1.3em;\n    text-align: center;\n\n    &.selected svg {\n      color: $fallback--lightText;\n      color: var(--lightText, $fallback--lightText);\n    }\n  }\n}\n","$main-color: #f58d2c;\n$main-background: white;\n$darkened-background: whitesmoke;\n\n$fallback--bg: #121a24;\n$fallback--fg: #182230;\n$fallback--faint: rgb(185 185 186 / 50%);\n$fallback--text: #b9b9ba;\n$fallback--link: #d8a070;\n$fallback--icon: #666;\n$fallback--lightBg: rgb(21 30 42);\n$fallback--lightText: #b9b9ba;\n$fallback--border: #222;\n$fallback--cRed: #f00;\n$fallback--cBlue: #0095ff;\n$fallback--cGreen: #0fa00f;\n$fallback--cOrange: orange;\n\n$fallback--alertError: rgb(211 16 20 / 50%);\n$fallback--alertWarning: rgb(111 111 20 / 50%);\n\n$fallback--panelRadius: 10px;\n$fallback--checkboxRadius: 2px;\n$fallback--btnRadius: 4px;\n$fallback--inputRadius: 4px;\n$fallback--tooltipRadius: 5px;\n$fallback--avatarRadius: 4px;\n$fallback--avatarAltRadius: 10px;\n$fallback--attachmentRadius: 10px;\n$fallback--chatMessageRadius: 10px;\n\n$fallback--buttonShadow: 0 0 2px 0 rgb(0 0 0 / 100%),\n  0 1px 0 0 rgb(255 255 255 / 20%) inset,\n  0 -1px 0 0 rgb(0 0 0 / 20%) inset;\n\n$status-margin: 0.75em;\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.checkbox {\n  position: relative;\n  display: inline-block;\n  min-height: 1.2em;\n\n  &-indicator {\n    position: relative;\n    padding-left: 1.2em;\n  }\n\n  &-indicator::before {\n    position: absolute;\n    right: 0;\n    top: 0;\n    display: block;\n    content: \"✓\";\n    transition: color 200ms;\n    width: 1.1em;\n    height: 1.1em;\n    border-radius: $fallback--checkboxRadius;\n    border-radius: var(--checkboxRadius, $fallback--checkboxRadius);\n    box-shadow: 0 0 2px black inset;\n    box-shadow: var(--inputShadow);\n    background-color: $fallback--fg;\n    background-color: var(--input, $fallback--fg);\n    vertical-align: top;\n    text-align: center;\n    line-height: 1.1em;\n    font-size: 1.1em;\n    color: transparent;\n    overflow: hidden;\n    box-sizing: border-box;\n  }\n\n  &.disabled {\n    .checkbox-indicator::before,\n    .label {\n      opacity: 0.5;\n    }\n\n    .label {\n      color: $fallback--faint;\n      color: var(--faint, $fallback--faint);\n    }\n  }\n\n  input[type=\"checkbox\"] {\n    &:checked + .checkbox-indicator::before {\n      color: $fallback--text;\n      color: var(--inputText, $fallback--text);\n    }\n\n    &:indeterminate + .checkbox-indicator::before {\n      content: \"–\";\n      color: $fallback--text;\n      color: var(--inputText, $fallback--text);\n    }\n  }\n\n  &.indeterminate-fix {\n    input[type=\"checkbox\"] + .checkbox-indicator::before {\n      content: \"–\";\n    }\n  }\n\n  & > span {\n    margin-left: 0.5em;\n  }\n}\n","\n@import \"../../variables\";\n\n.popover-trigger-button {\n  display: inline-block;\n}\n\n.popover {\n  z-index: var(--ZI_popover_override, var(--ZI_popovers));\n  position: fixed;\n  min-width: 0;\n  max-width: calc(100vw - 20px);\n  box-shadow: 2px 2px 3px rgb(0 0 0 / 50%);\n  box-shadow: var(--popupShadow);\n}\n\n.popover-default {\n  &::after {\n    content: \"\";\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    z-index: 3;\n    box-shadow: 1px 1px 4px rgb(0 0 0 / 60%);\n    box-shadow: var(--panelShadow);\n    pointer-events: none;\n  }\n\n  border-radius: $fallback--btnRadius;\n  border-radius: var(--btnRadius, $fallback--btnRadius);\n  background-color: $fallback--bg;\n  background-color: var(--popover, $fallback--bg);\n  color: $fallback--text;\n  color: var(--popoverText, $fallback--text);\n\n  --faint: var(--popoverFaintText, $fallback--faint);\n  --faintLink: var(--popoverFaintLink, $fallback--faint);\n  --lightText: var(--popoverLightText, $fallback--lightText);\n  --postLink: var(--popoverPostLink, $fallback--link);\n  --postFaintLink: var(--popoverPostFaintLink, $fallback--link);\n  --icon: var(--popoverIcon, $fallback--icon);\n}\n\n.dropdown-menu {\n  display: block;\n  padding: 0.5rem 0;\n  font-size: 1em;\n  text-align: left;\n  list-style: none;\n  max-width: 100vw;\n  z-index: var(--ZI_popover_override, var(--ZI_popovers));\n  white-space: nowrap;\n\n  .dropdown-divider {\n    height: 0;\n    margin: 0.5rem 0;\n    overflow: hidden;\n    border-top: 1px solid $fallback--border;\n    border-top: 1px solid var(--border, $fallback--border);\n  }\n\n  .dropdown-item {\n    line-height: 21px;\n    overflow: hidden;\n    display: block;\n    padding: 0.5em 0.75em;\n    clear: both;\n    font-weight: 400;\n    text-align: inherit;\n    white-space: nowrap;\n    border: none;\n    border-radius: 0;\n    background-color: transparent;\n    box-shadow: none;\n    width: 100%;\n    height: 100%;\n    box-sizing: border-box;\n\n    --btnText: var(--popoverText, $fallback--text);\n\n    &-icon {\n      svg {\n        width: 22px;\n        margin-right: 0.75rem;\n        color: var(--menuPopoverIcon, $fallback--icon);\n      }\n    }\n\n    &.-has-submenu {\n      .chevron-icon {\n        margin-right: 0.25rem;\n        margin-left: 2rem;\n      }\n    }\n\n    &:active,\n    &:hover {\n      background-color: $fallback--lightBg;\n      background-color: var(--selectedMenuPopover, $fallback--lightBg);\n      box-shadow: none;\n\n      --btnText: var(--selectedMenuPopoverText, $fallback--link);\n      --faint: var(--selectedMenuPopoverFaintText, $fallback--faint);\n      --faintLink: var(--selectedMenuPopoverFaintLink, $fallback--faint);\n      --lightText: var(--selectedMenuPopoverLightText, $fallback--lightText);\n      --icon: var(--selectedMenuPopoverIcon, $fallback--icon);\n\n      svg {\n        color: var(--selectedMenuPopoverIcon, $fallback--icon);\n\n        --icon: var(--selectedMenuPopoverIcon, $fallback--icon);\n      }\n    }\n\n    .menu-checkbox {\n      display: inline-block;\n      vertical-align: middle;\n      min-width: 22px;\n      max-width: 22px;\n      min-height: 22px;\n      max-height: 22px;\n      line-height: 22px;\n      text-align: center;\n      border-radius: 0;\n      background-color: $fallback--fg;\n      background-color: var(--input, $fallback--fg);\n      box-shadow: 0 0 2px black inset;\n      box-shadow: var(--inputShadow);\n      margin-right: 0.75em;\n\n      &.menu-checkbox-checked::after {\n        font-size: 1.25em;\n        content: \"✓\";\n      }\n\n      &.-radio {\n        border-radius: 9999px;\n\n        &.menu-checkbox-checked::after {\n          font-size: 2em;\n          content: \"•\";\n        }\n      }\n    }\n  }\n\n  .button-default.dropdown-item {\n    &,\n    i[class*=\"icon-\"] {\n      color: $fallback--text;\n      color: var(--btnText, $fallback--text);\n    }\n\n    &:active {\n      background-color: $fallback--lightBg;\n      background-color: var(--selectedMenuPopover, $fallback--lightBg);\n      color: $fallback--link;\n      color: var(--selectedMenuPopoverText, $fallback--link);\n    }\n\n    &:disabled {\n      color: $fallback--text;\n      color: var(--btnDisabledText, $fallback--text);\n    }\n\n    &.toggled {\n      color: $fallback--text;\n      color: var(--btnToggledText, $fallback--text);\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.still-image {\n  position: relative;\n  line-height: 0;\n  overflow: hidden;\n  display: inline-flex;\n  align-items: center;\n\n  canvas {\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n    visibility: var(--_still-image-canvas-visibility, visible);\n  }\n\n  img {\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n  }\n\n  &.animated {\n    &::before {\n      zoom: var(--_still_image-label-scale, 1);\n      content: \"gif\";\n      position: absolute;\n      line-height: 1;\n      font-size: 0.7em;\n      top: 0.5em;\n      left: 0.5em;\n      background: rgb(127 127 127 / 50%);\n      color: #fff;\n      display: block;\n      padding: 2px 4px;\n      border-radius: $fallback--tooltipRadius;\n      border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n      z-index: 2;\n      visibility: var(--_still-image-label-visibility, visible);\n    }\n\n    &:hover canvas {\n      display: none;\n    }\n\n    &:hover::before {\n      visibility: var(--_still-image-label-visibility, hidden);\n    }\n\n    img {\n      visibility: var(--_still-image-img-visibility, hidden);\n    }\n\n    &:hover img {\n      visibility: visible;\n    }\n  }\n}\n","@import \"../../variables\";\n\n$emoji-picker-header-height: 36px;\n$emoji-picker-header-picture-width: 32px;\n$emoji-picker-header-picture-height: 32px;\n$emoji-picker-emoji-size: 32px;\n\n.emoji-picker {\n  width: 25em;\n  max-width: calc(100vw - 20px); // popover gives 10px margin from window edge\n  display: flex;\n  flex-direction: column;\n  background-color: $fallback--bg;\n  background-color: var(--popover, $fallback--bg);\n  color: $fallback--link;\n  color: var(--popoverText, $fallback--link);\n\n  --faint: var(--popoverFaintText, $fallback--faint);\n  --faintLink: var(--popoverFaintLink, $fallback--faint);\n  --lightText: var(--popoverLightText, $fallback--lightText);\n  --icon: var(--popoverIcon, $fallback--icon);\n\n  &-header-image {\n    display: inline-flex;\n    justify-content: center;\n    align-items: center;\n    width: $emoji-picker-header-picture-width;\n    max-width: $emoji-picker-header-picture-width;\n    height: $emoji-picker-header-picture-height;\n    max-height: $emoji-picker-header-picture-height;\n\n    .still-image {\n      max-width: 100%;\n      max-height: 100%;\n      height: 100%;\n      width: 100%;\n      object-fit: contain;\n    }\n  }\n\n  .keep-open,\n  .too-many-emoji {\n    padding: 7px;\n    line-height: normal;\n  }\n\n  .too-many-emoji {\n    display: flex;\n    flex-direction: column;\n  }\n\n  .keep-open-label {\n    padding: 0 7px;\n    display: flex;\n  }\n\n  .heading {\n    display: flex;\n    padding: 10px 7px 5px;\n  }\n\n  .content {\n    display: flex;\n    flex-direction: column;\n    flex: 1 1 auto;\n    min-height: 0;\n  }\n\n  .emoji-tabs {\n    flex-grow: 1;\n    display: flex;\n    flex-flow: row nowrap;\n    overflow-x: auto;\n  }\n\n  .additional-tabs {\n    display: flex;\n    border-left: 1px solid;\n    border-left-color: $fallback--icon;\n    border-left-color: var(--icon, $fallback--icon);\n    padding-left: 7px;\n    flex: 0 0 auto;\n  }\n\n  .additional-tabs,\n  .emoji-tabs {\n    flex-basis: auto;\n    display: flex;\n    align-content: center;\n\n    &-item {\n      padding: 0 7px;\n      cursor: pointer;\n      font-size: 1.85em;\n      width: $emoji-picker-header-picture-width;\n      max-width: $emoji-picker-header-picture-width;\n      height: $emoji-picker-header-picture-height;\n      max-height: $emoji-picker-header-picture-height;\n      display: flex;\n      align-items: center;\n\n      &.disabled {\n        opacity: 0.5;\n        pointer-events: none;\n      }\n\n      &.active {\n        border-bottom: 4px solid;\n\n        svg {\n          color: $fallback--lightText;\n          color: var(--lightText, $fallback--lightText);\n        }\n      }\n    }\n  }\n\n  .sticker-picker {\n    flex: 1 1 auto;\n  }\n\n  .stickers,\n  .emoji {\n    &-content {\n      display: flex;\n      flex-direction: column;\n      flex: 1 1 auto;\n      min-height: 0;\n\n      &.hidden {\n        opacity: 0;\n        pointer-events: none;\n        position: absolute;\n      }\n    }\n  }\n\n  .emoji {\n    &-search {\n      padding: 5px;\n      flex: 0 0 auto;\n\n      input {\n        width: 100%;\n      }\n    }\n\n    &-groups {\n      height: 100%;\n      min-height: 200px;\n      flex: 1 1 1px;\n      position: relative;\n      overflow: auto;\n      user-select: none;\n      mask:\n        linear-gradient(to top, white 0, transparent 100%) bottom no-repeat,\n        linear-gradient(to bottom, white 0, transparent 100%) top no-repeat,\n        linear-gradient(to top, white, white);\n      transition: mask-size 150ms;\n      mask-size: 100% 20px, 100% 20px, auto;\n      // Autoprefixed seem to ignore this one, and also syntax is different\n      mask-composite: xor;\n      mask-composite: exclude;\n\n      &.scrolled {\n        &-top {\n          mask-size: 100% 20px, 100% 0, auto;\n        }\n\n        &-bottom {\n          mask-size: 100% 0, 100% 20px, auto;\n        }\n      }\n    }\n\n    &-group {\n      display: flex;\n      align-items: center;\n      flex-wrap: wrap;\n      padding-left: 5px;\n      justify-content: left;\n\n      &-title {\n        font-size: 0.85em;\n        width: 100%;\n        margin: 0;\n\n        &.disabled {\n          display: none;\n        }\n      }\n    }\n\n    &-item {\n      width: $emoji-picker-emoji-size;\n      height: $emoji-picker-emoji-size;\n      box-sizing: border-box;\n      display: flex;\n      line-height: $emoji-picker-emoji-size;\n      align-items: center;\n      justify-content: center;\n      margin: 4px;\n      cursor: pointer;\n\n      .emoji-picker-emoji.-custom {\n        object-fit: contain;\n        max-width: 100%;\n        max-height: 100%;\n      }\n\n      .emoji-picker-emoji.-unicode {\n        font-size: 24px;\n        overflow: hidden;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.emoji-input {\n  display: flex;\n  flex-direction: column;\n  position: relative;\n\n  .emoji-picker-icon {\n    position: absolute;\n    top: 0;\n    right: 0;\n    margin: 0.2em 0.25em;\n    font-size: 1.3em;\n    cursor: pointer;\n    line-height: 24px;\n\n    &:hover i {\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n  }\n\n  .emoji-picker-panel {\n    position: absolute;\n    z-index: 20;\n    margin-top: 2px;\n\n    &.hide {\n      display: none;\n    }\n  }\n\n  input,\n  textarea {\n    flex: 1 0 auto;\n  }\n\n  &.with-picker input {\n    padding-right: 30px;\n  }\n\n  .hidden-overlay {\n    opacity: 0;\n    pointer-events: none;\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    right: 0;\n    left: 0;\n    overflow: hidden;\n\n    /* DEBUG STUFF */\n    color: red;\n\n    /* set opacity to non-zero to see the overlay */\n\n    .caret {\n      width: 0;\n      margin-right: calc(-1ch - 1px);\n      border: 1px solid red;\n    }\n  }\n}\n\n.autocomplete {\n  &-panel {\n    position: absolute;\n  }\n\n  &-item {\n    display: flex;\n    cursor: pointer;\n    padding: 0.2em 0.4em;\n    border-bottom: 1px solid rgb(0 0 0 / 40%);\n    height: 32px;\n\n    .image {\n      width: 32px;\n      height: 32px;\n      line-height: 32px;\n      text-align: center;\n      font-size: 32px;\n      margin-right: 4px;\n\n      img {\n        width: 32px;\n        height: 32px;\n        object-fit: contain;\n      }\n    }\n\n    .label {\n      display: flex;\n      flex-direction: column;\n      justify-content: center;\n      margin: 0 0.1em 0 0.2em;\n\n      .displayText {\n        line-height: 1.5;\n      }\n\n      .detailText {\n        font-size: 9px;\n        line-height: 9px;\n      }\n    }\n\n    &.highlighted {\n      background-color: $fallback--fg;\n      background-color: var(--selectedMenuPopover, $fallback--fg);\n      color: var(--selectedMenuPopoverText, $fallback--text);\n\n      --faint: var(--selectedMenuPopoverFaintText, $fallback--faint);\n      --faintLink: var(--selectedMenuPopoverFaintLink, $fallback--faint);\n      --lightText: var(--selectedMenuPopoverLightText, $fallback--lightText);\n      --icon: var(--selectedMenuPopoverIcon, $fallback--icon);\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n/* TODO fix order of styles */\nlabel.Select {\n  padding: 0;\n\n  select {\n    appearance: none;\n    background: transparent;\n    border: none;\n    color: $fallback--text;\n    color: var(--inputText, --text, $fallback--text);\n    margin: 0;\n    padding: 0 2em 0 0.2em;\n    font-family: sans-serif;\n    font-family: var(--inputFont, sans-serif);\n    font-size: 1em;\n    width: 100%;\n    z-index: 1;\n    height: 2em;\n    line-height: 16px;\n  }\n\n  .select-down-icon {\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    right: 5px;\n    height: 100%;\n    width: 0.875em;\n    color: $fallback--text;\n    color: var(--inputText, $fallback--text);\n    line-height: 2;\n    z-index: 0;\n    pointer-events: none;\n  }\n}\n","\n@import \"../../variables\";\n\n.poll-form {\n  display: flex;\n  flex-direction: column;\n  padding: 0 0.5em 0.5em;\n\n  .add-option {\n    align-self: flex-start;\n    padding-top: 0.25em;\n    padding-left: 0.1em;\n  }\n\n  .poll-option {\n    display: flex;\n    align-items: baseline;\n    justify-content: space-between;\n    margin-bottom: 0.25em;\n  }\n\n  .input-container {\n    width: 100%;\n\n    input {\n      // Hack: dodge the floating X icon\n      padding-right: 2.5em;\n      width: 100%;\n    }\n  }\n\n  .delete-option {\n    // Hack: Move the icon over the input box\n    width: 1.5em;\n    margin-left: -1.5em;\n    z-index: 1;\n  }\n\n  .poll-type-expiry {\n    margin-top: 0.5em;\n    display: flex;\n    width: 100%;\n  }\n\n  .poll-type {\n    margin-right: 0.75em;\n    flex: 1 1 60%;\n\n    .poll-type-select {\n      padding-right: 0.75em;\n    }\n  }\n\n  .poll-expiry {\n    display: flex;\n\n    .expiry-amount {\n      width: 3em;\n      text-align: right;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.Flash {\n  display: inline-block;\n  width: 100%;\n  height: 100%;\n  position: relative;\n\n  .player {\n    height: 100%;\n    width: 100%;\n  }\n\n  .placeholder {\n    height: 100%;\n    width: 100%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: var(--bg);\n    color: var(--link);\n  }\n\n  .hider {\n    top: 0;\n  }\n\n  .label {\n    text-align: center;\n    flex: 1 1 0;\n    line-height: 1.2;\n    white-space: normal;\n    word-wrap: normal;\n  }\n\n  .hidden {\n    display: none;\n    visibility: \"hidden\";\n  }\n}\n","@import \"../../variables\";\n\n.Attachment {\n  display: inline-flex;\n  flex-direction: column;\n  position: relative;\n  align-self: flex-start;\n  line-height: 0;\n  height: 100%;\n  border-style: solid;\n  border-width: 1px;\n  border-radius: $fallback--attachmentRadius;\n  border-radius: var(--attachmentRadius, $fallback--attachmentRadius);\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n\n  .attachment-wrapper {\n    flex: 1 1 auto;\n    height: 100%;\n    position: relative;\n    overflow: hidden;\n  }\n\n  .description-container {\n    flex: 0 1 0;\n    display: flex;\n    padding-top: 0.5em;\n    z-index: 1;\n\n    p {\n      flex: 1;\n      text-align: center;\n      line-height: 1.5;\n      padding: 0.5em;\n      margin: 0;\n      white-space: nowrap;\n      text-overflow: ellipsis;\n      overflow: hidden;\n    }\n\n    &.-static {\n      position: absolute;\n      left: 0;\n      right: 0;\n      bottom: 0;\n      padding-top: 0;\n      background: var(--popover);\n      box-shadow: var(--popupShadow);\n    }\n  }\n\n  .description-field {\n    flex: 1;\n    min-width: 0;\n  }\n\n  & .placeholder-container,\n  & .image-container,\n  & .audio-container,\n  & .video-container,\n  & .flash-container,\n  & .oembed-container {\n    display: flex;\n    justify-content: center;\n    width: 100%;\n    height: 100%;\n  }\n\n  .image-container {\n    .image {\n      width: 100%;\n      height: 100%;\n    }\n  }\n\n  & .flash-container,\n  & .video-container {\n    & .flash,\n    & video {\n      width: 100%;\n      height: 100%;\n      object-fit: contain;\n      align-self: center;\n    }\n  }\n\n  .audio-container {\n    display: flex;\n    align-items: flex-end;\n\n    audio {\n      width: 100%;\n      height: 100%;\n    }\n  }\n\n  .placeholder-container {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding-top: 0.5em;\n  }\n\n  .play-icon {\n    position: absolute;\n    font-size: 64px;\n    top: calc(50% - 32px);\n    left: calc(50% - 32px);\n    color: rgb(255 255 255 / 75%);\n    text-shadow: 0 0 2px rgb(0 0 0 / 40%);\n\n    &::before {\n      margin: 0;\n    }\n  }\n\n  .attachment-buttons {\n    display: flex;\n    position: absolute;\n    right: 0;\n    top: 0;\n    margin-top: 0.5em;\n    margin-right: 0.5em;\n    z-index: 1;\n\n    .attachment-button {\n      padding: 0;\n      border-radius: $fallback--tooltipRadius;\n      border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n      text-align: center;\n      width: 2em;\n      height: 2em;\n      margin-left: 0.5em;\n      font-size: 1.25em;\n      // TODO: theming? hard to theme with unknown background image color\n      background: rgb(230 230 230 / 70%);\n\n      .svg-inline--fa {\n        color: rgb(0 0 0 / 60%);\n      }\n\n      &:hover .svg-inline--fa {\n        color: rgb(0 0 0 / 90%);\n      }\n    }\n  }\n\n  &.-contain-fit {\n    img,\n    canvas {\n      object-fit: contain;\n    }\n  }\n\n  &.-cover-fit {\n    img,\n    canvas {\n      object-fit: cover;\n    }\n  }\n\n  .oembed-container {\n    line-height: 1.2em;\n    flex: 1 0 100%;\n    width: 100%;\n    margin-right: 15px;\n    display: flex;\n\n    img {\n      width: 100%;\n    }\n\n    .image {\n      flex: 1;\n\n      img {\n        border: 0;\n        border-radius: 5px;\n        height: 100%;\n        object-fit: cover;\n      }\n    }\n\n    .text {\n      flex: 2;\n      margin: 8px;\n      word-break: break-all;\n\n      h1 {\n        font-size: 1rem;\n        margin: 0;\n      }\n    }\n  }\n\n  &.-size-small {\n    .play-icon {\n      zoom: 0.5;\n      opacity: 0.7;\n    }\n\n    .attachment-buttons {\n      zoom: 0.7;\n      opacity: 0.5;\n    }\n  }\n\n  &.-editable {\n    padding: 0.5em;\n\n    & .description-container,\n    & .attachment-buttons {\n      margin: 0;\n    }\n  }\n\n  &.-placeholder {\n    display: inline-block;\n    color: $fallback--link;\n    color: var(--postLink, $fallback--link);\n    overflow: hidden;\n    white-space: nowrap;\n    height: auto;\n    line-height: 1.5;\n\n    &:not(.-editable) {\n      border: none;\n    }\n\n    &.-editable {\n      display: flex;\n      flex-direction: row;\n      align-items: baseline;\n\n      & .description-container,\n      & .attachment-buttons {\n        margin: 0;\n        padding: 0;\n        position: relative;\n      }\n\n      .description-container {\n        flex: 1;\n        padding-left: 0.5em;\n      }\n\n      .attachment-buttons {\n        order: 99;\n        align-self: center;\n      }\n    }\n\n    a {\n      display: inline-block;\n      max-width: 100%;\n      overflow: hidden;\n      text-overflow: ellipsis;\n    }\n\n    svg {\n      color: inherit;\n    }\n  }\n\n  &.-loading {\n    cursor: progress;\n  }\n\n  &.-compact {\n    .placeholder-container {\n      padding-bottom: 0.5em;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.Gallery {\n  .gallery-rows {\n    display: flex;\n    flex-direction: column;\n  }\n\n  .gallery-row {\n    position: relative;\n    height: 0;\n    width: 100%;\n    flex-grow: 1;\n\n    .gallery-row-inner {\n      position: absolute;\n      top: 0;\n      left: 0;\n      right: 0;\n      bottom: 0;\n      display: flex;\n      flex-flow: row wrap;\n      align-content: stretch;\n\n      .gallery-item {\n        margin: 0 0.5em 0 0;\n        flex-grow: 1;\n        height: 100%;\n        box-sizing: border-box;\n        // to make failed images a bit more noticeable on chromium\n        min-width: 2em;\n\n        &:last-child {\n          margin: 0;\n        }\n      }\n\n      &.-grid {\n        width: 100%;\n        height: auto;\n        position: relative;\n        display: grid;\n        grid-gap: 0.5em;\n        grid-template-columns: repeat(auto-fill, minmax(15em, 1fr));\n\n        .gallery-item {\n          margin: 0;\n          height: 200px;\n        }\n      }\n    }\n\n    &.-grid,\n    &.-minimal {\n      height: auto;\n\n      .gallery-row-inner {\n        position: relative;\n      }\n    }\n\n    &:not(:first-child) {\n      margin-top: 0.5em;\n    }\n  }\n\n  &.-long {\n    .gallery-rows {\n      max-height: 25em;\n      overflow: hidden;\n      mask:\n        linear-gradient(to top, white, transparent) bottom/100% 70px no-repeat,\n        linear-gradient(to top, white, white);\n\n      /* Autoprefixed seem to ignore this one, and also syntax is different */\n      mask-composite: xor;\n      mask-composite: exclude;\n    }\n  }\n\n  .many-attachments-text {\n    text-align: center;\n    line-height: 2;\n  }\n\n  .many-attachments-buttons {\n    display: flex;\n  }\n\n  .many-attachments-button {\n    display: flex;\n    flex: 1;\n    justify-content: center;\n    line-height: 2;\n\n    button {\n      padding: 0 2em;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.Avatar {\n  --_avatarShadowBox: var(--avatarStatusShadow);\n  --_avatarShadowFilter: var(--avatarStatusShadowFilter);\n  --_avatarShadowInset: var(--avatarStatusShadowInset);\n  --_still-image-label-visibility: hidden;\n\n  display: inline-block;\n  position: relative;\n  width: 48px;\n  height: 48px;\n\n  &.-compact {\n    width: 32px;\n    height: 32px;\n    border-radius: $fallback--avatarAltRadius;\n    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n  }\n\n  .avatar {\n    width: 100%;\n    height: 100%;\n    box-shadow: var(--_avatarShadowBox);\n    border-radius: $fallback--avatarRadius;\n    border-radius: var(--avatarRadius, $fallback--avatarRadius);\n\n    &.-better-shadow {\n      box-shadow: var(--_avatarShadowInset);\n      filter: var(--_avatarShadowFilter);\n    }\n\n    &.-animated::before {\n      display: none;\n    }\n\n    &.-compact {\n      border-radius: $fallback--avatarAltRadius;\n      border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n    }\n\n    &.-placeholder {\n      background-color: $fallback--fg;\n      background-color: var(--fg, $fallback--fg);\n    }\n  }\n\n  img {\n    width: 100%;\n    height: 100%;\n  }\n\n  .bot-indicator {\n    position: absolute;\n    bottom: 0;\n    right: 0;\n    margin: -0.2em;\n    padding: 0.2em;\n    background: rgb(127 127 127 / 50%);\n    color: #fff;\n    border-radius: var(--tooltipRadius);\n  }\n}\n","@import \"../../variables\";\n\n.MentionLink {\n  position: relative;\n  white-space: normal;\n  display: inline;\n  color: var(--link);\n  word-break: normal;\n\n  & .new,\n  & .original {\n    display: inline;\n    border-radius: 2px;\n  }\n\n  .mention-avatar {\n    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n    width: 1.5em;\n    height: 1.5em;\n    vertical-align: middle;\n    user-select: none;\n    margin-right: 0.2em;\n  }\n\n  .full {\n    position: absolute;\n    display: inline-block;\n    pointer-events: none;\n    opacity: 0;\n    top: 100%;\n    left: 0;\n    height: 100%;\n    word-wrap: normal;\n    white-space: nowrap;\n    transition: opacity 0.2s ease;\n    z-index: 1;\n    margin-top: 0.25em;\n    padding: 0.5em;\n    user-select: all;\n  }\n\n  & .short.-with-tooltip,\n  & .you {\n    user-select: none;\n  }\n\n  & .short,\n  & .full {\n    white-space: nowrap;\n  }\n\n  .shortName {\n    white-space: normal;\n  }\n\n  .new {\n    &.-you {\n      .shortName {\n        font-weight: 600;\n      }\n    }\n\n    &.-has-selection {\n      color: var(--alertNeutralText, $fallback--text);\n      background-color: var(--alertNeutral, $fallback--fg);\n    }\n\n    .at {\n      color: var(--link);\n      opacity: 0.8;\n      display: inline-block;\n      line-height: 1;\n      padding: 0 0.1em;\n      vertical-align: -25%;\n      margin: 0;\n    }\n\n    &.-striped {\n      & .shortName {\n        background-image:\n          repeating-linear-gradient(\n            135deg,\n            var(--____highlight-tintColor),\n            var(--____highlight-tintColor) 5px,\n            var(--____highlight-tintColor2) 5px,\n            var(--____highlight-tintColor2) 10px\n          );\n      }\n    }\n\n    &.-solid {\n      .shortName {\n        background-image: linear-gradient(var(--____highlight-tintColor2), var(--____highlight-tintColor2));\n      }\n    }\n\n    &.-side {\n      .shortName {\n        box-shadow: 0 -5px 3px -4px inset var(--____highlight-solidColor);\n      }\n    }\n  }\n\n  .serverName.-faded {\n    color: var(--faintLink, $fallback--link);\n  }\n}\n\n.mention-link-popover {\n  max-width: 70ch;\n  max-height: 20rem;\n  overflow: hidden;\n}\n",".MentionsLine {\n  word-break: break-all;\n\n  .mention-link:not(:first-child)::before {\n    content: \" \";\n  }\n\n  .showMoreLess {\n    margin-left: 0.5em;\n    white-space: normal;\n    color: var(--link);\n  }\n}\n",".HashtagLink {\n  position: relative;\n  white-space: normal;\n  display: inline-block;\n  color: var(--link);\n}\n","@import \"../../variables\";\n\n.RichContent {\n  blockquote {\n    margin: 0.2em 0 0.2em 0.2em;\n    font-style: italic;\n    border-left: 0.2em solid var(--faint, $fallback--faint);\n    padding-left: 1em;\n  }\n\n  pre {\n    overflow: auto;\n  }\n\n  code,\n  samp,\n  kbd,\n  var,\n  pre {\n    font-family: var(--postCodeFont, monospace);\n  }\n\n  p {\n    margin: 0 0 1em;\n  }\n\n  p:last-child {\n    margin: 0;\n  }\n\n  h1 {\n    font-size: 1.1em;\n    line-height: 1.2em;\n    margin: 1.4em 0;\n  }\n\n  h2 {\n    font-size: 1.1em;\n    margin: 1em 0;\n  }\n\n  h3 {\n    font-size: 1em;\n    margin: 1.2em 0;\n  }\n\n  h4 {\n    margin: 1.1em 0;\n  }\n\n  .img {\n    display: inline-block;\n  }\n\n  .emoji {\n    display: inline-block;\n    width: var(--emoji-size, 32px);\n    height: var(--emoji-size, 32px);\n  }\n\n  .img,\n  video {\n    max-width: 100%;\n    max-height: 400px;\n    vertical-align: middle;\n    object-fit: contain;\n  }\n}\n","\n@import \"../../variables\";\n\n.poll {\n  .votes {\n    display: flex;\n    flex-direction: column;\n    margin: 0 0 0.5em;\n  }\n\n  .poll-option {\n    margin: 0.75em 0.5em;\n  }\n\n  .option-result {\n    height: 100%;\n    display: flex;\n    flex-direction: row;\n    position: relative;\n    color: $fallback--lightText;\n    color: var(--lightText, $fallback--lightText);\n  }\n\n  .option-result-label {\n    display: flex;\n    align-items: center;\n    padding: 0.1em 0.25em;\n    z-index: 1;\n    word-break: break-word;\n  }\n\n  .result-percentage {\n    width: 3.5em;\n    flex-shrink: 0;\n  }\n\n  .result-fill {\n    height: 100%;\n    position: absolute;\n    color: $fallback--text;\n    color: var(--pollText, $fallback--text);\n    background-color: $fallback--lightBg;\n    background-color: var(--poll, $fallback--lightBg);\n    border-radius: $fallback--panelRadius;\n    border-radius: var(--panelRadius, $fallback--panelRadius);\n    top: 0;\n    left: 0;\n    transition: width 0.5s;\n  }\n\n  .option-vote {\n    display: flex;\n    align-items: center;\n  }\n\n  input {\n    width: 3.5em;\n  }\n\n  .footer {\n    display: flex;\n    align-items: center;\n  }\n\n  &.loading * {\n    cursor: progress;\n  }\n\n  .poll-vote-button {\n    padding: 0 0.5em;\n    margin-right: 0.5em;\n  }\n\n  .poll-checkbox {\n    display: none;\n  }\n}\n","@import \"../../variables\";\n\n.StatusBody {\n  display: flex;\n  flex-direction: column;\n\n  .emoji {\n    --_still_image-label-scale: 0.5;\n  }\n\n  .attachments {\n    margin-top: 0.5em;\n  }\n\n  & .text,\n  & .summary {\n    font-family: var(--postFont, sans-serif);\n    white-space: pre-wrap;\n    overflow-wrap: break-word;\n    word-wrap: break-word;\n    word-break: break-word;\n    line-height: var(--post-line-height);\n  }\n\n  .summary {\n    display: block;\n    font-style: italic;\n    padding-bottom: 0.5em;\n  }\n\n  .text {\n    &.-single-line {\n      white-space: nowrap;\n      text-overflow: ellipsis;\n      overflow: hidden;\n      height: 1.4em;\n    }\n  }\n\n  .summary-wrapper {\n    margin-bottom: 0.5em;\n    border-style: solid;\n    border-width: 0 0 1px;\n    border-color: var(--border, $fallback--border);\n    flex-grow: 0;\n\n    &.-tall {\n      position: relative;\n\n      .summary {\n        max-height: 2em;\n        overflow: hidden;\n        white-space: nowrap;\n        text-overflow: ellipsis;\n      }\n    }\n  }\n\n  .text-wrapper {\n    display: flex;\n    flex-flow: column nowrap;\n\n    &.-tall-status {\n      position: relative;\n      height: 220px;\n      overflow-x: hidden;\n      overflow-y: hidden;\n      z-index: 1;\n\n      .media-body {\n        min-height: 0;\n        mask:\n          linear-gradient(to top, white, transparent) bottom/100% 70px no-repeat,\n          linear-gradient(to top, white, white);\n\n        /* Autoprefixed seem to ignore this one, and also syntax is different */\n        mask-composite: xor;\n        mask-composite: exclude;\n      }\n    }\n  }\n\n  & .tall-status-hider,\n  & .tall-subject-hider,\n  & .status-unhider,\n  & .cw-status-hider {\n    display: inline-block;\n    word-break: break-all;\n    width: 100%;\n    text-align: center;\n  }\n\n  .tall-status-hider {\n    position: absolute;\n    height: 70px;\n    margin-top: 150px;\n    line-height: 110px;\n    z-index: 2;\n  }\n\n  .tall-subject-hider {\n    // position: absolute;\n    padding-bottom: 0.5em;\n  }\n\n  & .status-unhider,\n  & .cw-status-hider {\n    word-break: break-all;\n\n    svg {\n      color: inherit;\n    }\n  }\n\n  .greentext {\n    color: $fallback--cGreen;\n    color: var(--postGreentext, $fallback--cGreen);\n  }\n\n  .cyantext {\n    color: var(--postCyantext, $fallback--cBlue);\n  }\n\n  &.-compact {\n    align-items: top;\n    flex-direction: row;\n\n    --emoji-size: 16px;\n\n    & .body,\n    & .attachments {\n      max-height: 3.25em;\n    }\n\n    .body {\n      overflow: hidden;\n      white-space: normal;\n      min-width: 5em;\n      flex: 5 1 auto;\n      mask-size: auto 3.5em, auto auto;\n      mask-position: 0 0, 0 0;\n      mask-repeat: repeat-x, repeat;\n      mask-image: linear-gradient(to bottom, white 2em, transparent 3em);\n\n      /* Autoprefixed seem to ignore this one, and also syntax is different */\n      mask-composite: xor;\n      mask-composite: exclude;\n    }\n\n    .attachments {\n      margin-top: 0;\n      flex: 1 1 0;\n      min-width: 5em;\n      height: 100%;\n      margin-left: 0.5em;\n    }\n\n    .summary-wrapper {\n      .summary::after {\n        content: \": \";\n      }\n\n      line-height: inherit;\n      margin: 0;\n      border: none;\n      display: inline-block;\n    }\n\n    .text-wrapper {\n      display: inline-block;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.link-preview-card {\n  display: flex;\n  flex-direction: row;\n  cursor: pointer;\n  overflow: hidden;\n  margin-top: 0.5em;\n\n  .card-image {\n    flex-shrink: 0;\n    width: 120px;\n    max-width: 25%;\n\n    img {\n      width: 100%;\n      height: 100%;\n      object-fit: cover;\n      border-radius: $fallback--attachmentRadius;\n      border-radius: var(--attachmentRadius, $fallback--attachmentRadius);\n    }\n  }\n\n  .card-content {\n    max-height: 100%;\n    margin: 0.5em;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .card-host {\n    font-size: 0.85em;\n  }\n\n  .card-description {\n    margin: 0.5em 0 0;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    word-break: break-word;\n    line-height: 1.2em;\n    // cap description at 3 lines, the 1px is to clean up some stray pixels\n    // TODO: fancier fade-out at the bottom to show off that it's too long?\n    max-height: calc(1.2em * 3 - 1px);\n  }\n\n  .nsfw-alert {\n    margin: 2em 0;\n  }\n\n  color: $fallback--text;\n  color: var(--text, $fallback--text);\n  border-style: solid;\n  border-width: 1px;\n  border-radius: $fallback--attachmentRadius;\n  border-radius: var(--attachmentRadius, $fallback--attachmentRadius);\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n}\n","\n.StatusContent {\n  flex: 1;\n  min-width: 0;\n}\n","\n@import \"../../variables\";\n\n.post-status-form {\n  position: relative;\n\n  .attachments {\n    margin-bottom: 0.5em;\n  }\n\n  .form-bottom {\n    display: flex;\n    justify-content: space-between;\n    padding: 0.5em;\n    height: 2.5em;\n\n    button {\n      width: 10em;\n    }\n\n    p {\n      margin: 0.35em;\n      padding: 0.35em;\n      display: flex;\n    }\n  }\n\n  .form-bottom-left {\n    display: flex;\n    flex: 1;\n    padding-right: 7px;\n    margin-right: 7px;\n    max-width: 10em;\n  }\n\n  .preview-heading {\n    display: flex;\n    padding-left: 0.5em;\n  }\n\n  .preview-toggle {\n    flex: 1;\n    cursor: pointer;\n    user-select: none;\n\n    &:hover {\n      text-decoration: underline;\n    }\n\n    svg,\n    i {\n      margin-left: 0.2em;\n      font-size: 0.8em;\n      transform: rotate(90deg);\n    }\n  }\n\n  .preview-container {\n    margin-bottom: 1em;\n  }\n\n  .preview-error {\n    font-style: italic;\n    color: $fallback--faint;\n    color: var(--faint, $fallback--faint);\n  }\n\n  .preview-status {\n    border: 1px solid $fallback--border;\n    border: 1px solid var(--border, $fallback--border);\n    border-radius: $fallback--tooltipRadius;\n    border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n    padding: 0.5em;\n    margin: 0;\n  }\n\n  .reply-or-quote-selector {\n    margin-bottom: 0.5em;\n  }\n\n  .text-format {\n    .only-format {\n      color: $fallback--faint;\n      color: var(--faint, $fallback--faint);\n    }\n  }\n\n  .visibility-tray {\n    display: flex;\n    justify-content: space-between;\n    padding-top: 5px;\n    align-items: baseline;\n  }\n\n  .visibility-notice.edit-warning {\n    > :first-child {\n      margin-top: 0;\n    }\n\n    > :last-child {\n      margin-bottom: 0;\n    }\n  }\n\n  // Order is not necessary but a good indicator\n  .media-upload-icon {\n    order: 1;\n    justify-content: left;\n  }\n\n  .emoji-icon {\n    order: 2;\n    justify-content: center;\n  }\n\n  .poll-icon {\n    order: 3;\n    justify-content: right;\n  }\n\n  .media-upload-icon,\n  .poll-icon,\n  .emoji-icon {\n    font-size: 1.85em;\n    line-height: 1.1;\n    flex: 1;\n    padding: 0 0.1em;\n    display: flex;\n    align-items: center;\n\n    &.selected,\n    &:hover {\n      // needs to be specific to override icon default color\n      svg,\n      i,\n      label {\n        color: $fallback--lightText;\n        color: var(--lightText, $fallback--lightText);\n      }\n    }\n\n    &.disabled {\n      svg,\n      i {\n        cursor: not-allowed;\n        color: $fallback--icon;\n        color: var(--btnDisabledText, $fallback--icon);\n\n        &:hover {\n          color: $fallback--icon;\n          color: var(--btnDisabledText, $fallback--icon);\n        }\n      }\n    }\n  }\n\n  .error {\n    text-align: center;\n  }\n\n  .media-upload-wrapper {\n    margin-right: 0.2em;\n    margin-bottom: 0.5em;\n    width: 18em;\n\n    img,\n    video {\n      object-fit: contain;\n      max-height: 10em;\n    }\n\n    .video {\n      max-height: 10em;\n    }\n\n    input {\n      flex: 1;\n      width: 100%;\n    }\n  }\n\n  .status-input-wrapper {\n    display: flex;\n    position: relative;\n    width: 100%;\n    flex-direction: column;\n  }\n\n  .btn[disabled] {\n    cursor: not-allowed;\n  }\n\n  form {\n    display: flex;\n    flex-direction: column;\n    margin: 0.6em;\n    position: relative;\n  }\n\n  .form-group {\n    display: flex;\n    flex-direction: column;\n    padding: 0.25em 0.5em 0.5em;\n    line-height: 1.85;\n  }\n\n  .form-post-body {\n    // TODO: make a resizable textarea component?\n    box-sizing: content-box; // needed for easier computation of dynamic size\n    overflow: hidden;\n    transition: min-height 200ms 100ms;\n    // stock padding + 1 line of text (for counter)\n    padding-bottom: calc(var(--_padding) + var(--post-line-height) * 1em);\n    // two lines of text\n    height: calc(var(--post-line-height) * 1em);\n    min-height: calc(var(--post-line-height) * 1em);\n    resize: none;\n\n    &.scrollable-form {\n      overflow-y: auto;\n    }\n  }\n\n  .main-input {\n    position: relative;\n  }\n\n  .character-counter {\n    position: absolute;\n    bottom: 0;\n    right: 0;\n    padding: 0;\n    margin: 0 0.5em;\n\n    &.error {\n      color: $fallback--cRed;\n      color: var(--cRed, $fallback--cRed);\n    }\n  }\n\n  @keyframes fade-in {\n    from { opacity: 0; }\n    to { opacity: 0.6; }\n  }\n\n  @keyframes fade-out {\n    from { opacity: 0.6; }\n    to { opacity: 0; }\n  }\n\n  .drop-indicator {\n    position: absolute;\n    width: 100%;\n    height: 100%;\n    font-size: 5em;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    opacity: 0.6;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n    border-radius: $fallback--tooltipRadius;\n    border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n    border: 2px dashed $fallback--text;\n    border: 2px dashed var(--text, $fallback--text);\n  }\n}\n","\n.remote-follow {\n  max-width: 220px;\n\n  .remote-button {\n    width: 100%;\n    min-height: 2em;\n  }\n}\n","\n@import \"../../variables\";\n\n// TODO: unify with other modals.\n.dark-overlay {\n  &::before {\n    bottom: 0;\n    content: \" \";\n    display: block;\n    cursor: default;\n    left: 0;\n    position: fixed;\n    right: 0;\n    top: 0;\n    background: rgb(27 31 35 / 50%);\n    z-index: 2000;\n  }\n}\n\n.dialog-modal.panel {\n  top: 0;\n  left: 50%;\n  max-height: 80vh;\n  max-width: 90vw;\n  margin: 15vh auto;\n  position: fixed;\n  transform: translateX(-50%);\n  z-index: 2001;\n  cursor: default;\n  display: block;\n  background-color: $fallback--bg;\n  background-color: var(--bg, $fallback--bg);\n\n  .dialog-modal-heading {\n    .title {\n      text-align: center;\n    }\n  }\n\n  .dialog-modal-content {\n    margin: 0;\n    padding: 1rem;\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n    white-space: normal;\n  }\n\n  .dialog-modal-footer {\n    margin: 0;\n    padding: 0.5em;\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n    border-top: 1px solid $fallback--border;\n    border-top: 1px solid var(--border, $fallback--border);\n    display: flex;\n    justify-content: flex-end;\n\n    button {\n      width: auto;\n      margin-left: 0.5rem;\n    }\n  }\n}\n\n","\n@import \"../../variables\";\n\n.moderation-tools-popover {\n  height: 100%;\n\n  .trigger {\n    /* stylelint-disable-next-line declaration-no-important */\n    display: flex !important;\n    height: 100%;\n  }\n}\n\n.moderation-tools-button {\n  svg,\n  i {\n    font-size: 0.8em;\n  }\n}\n","\n@import \"../../variables\";\n\n.AccountActions {\n  .ellipsis-button {\n    width: 2.5em;\n    margin: -0.5em 0;\n    padding: 0.5em 0;\n    text-align: center;\n\n    &:not(:hover) .icon {\n      color: $fallback--lightText;\n      color: var(--lightText, $fallback--lightText);\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.user-note {\n  display: flex;\n  flex-direction: column;\n\n  .heading {\n    display: flex;\n    flex-direction: row;\n    justify-content: space-between;\n    align-items: center;\n    margin-bottom: 0.75em;\n\n    .btn {\n      min-width: 95px;\n    }\n\n    .buttons {\n      display: flex;\n      flex-direction: row;\n      justify-content: right;\n\n      .btn {\n        margin-left: 0.5em;\n      }\n    }\n  }\n\n  .note-text {\n    align-self: stretch;\n  }\n\n  .note-text.-blank {\n    font-style: italic;\n    color: var(--faint, $fallback--faint);\n  }\n}\n","@import \"../../variables\";\n\n.user-card {\n  position: relative;\n  z-index: 1;\n\n  &:hover {\n    --_still-image-img-visibility: visible;\n    --_still-image-canvas-visibility: hidden;\n    --_still-image-label-visibility: hidden;\n  }\n\n  .panel-heading {\n    padding: 0.5em 0;\n    text-align: center;\n    box-shadow: none;\n    background: transparent;\n    flex-direction: column;\n    align-items: stretch;\n    // create new stacking context\n    position: relative;\n  }\n\n  .panel-body {\n    word-wrap: break-word;\n    border-bottom-right-radius: inherit;\n    border-bottom-left-radius: inherit;\n    // create new stacking context\n    position: relative;\n  }\n\n  .background-image {\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    mask:\n      linear-gradient(to top, white, transparent) bottom no-repeat,\n      linear-gradient(to top, white, white);\n    // Autoprefixer seem to ignore this one, and also syntax is different\n    mask-composite: xor;\n    mask-composite: exclude;\n    background-size: cover;\n    mask-size: 100% 60%;\n    border-top-left-radius: calc(var(--__roundnessTop, --panelRadius) - 1px);\n    border-top-right-radius: calc(var(--__roundnessTop, --panelRadius) - 1px);\n    border-bottom-left-radius: calc(var(--__roundnessBottom, --panelRadius) - 1px);\n    border-bottom-right-radius: calc(var(--__roundnessBottom, --panelRadius) - 1px);\n    background-color: var(--profileBg);\n    z-index: -2;\n\n    &.hide-bio {\n      mask-size: 100% 40px;\n    }\n  }\n\n  &-bio {\n    text-align: center;\n    display: block;\n    line-height: 1.3;\n    padding: 1em;\n    margin: 0;\n\n    a {\n      color: $fallback--link;\n      color: var(--postLink, $fallback--link);\n    }\n\n    img {\n      object-fit: contain;\n      vertical-align: middle;\n      max-width: 100%;\n      max-height: 400px;\n    }\n  }\n\n  &.-rounded-t {\n    border-top-left-radius: $fallback--panelRadius;\n    border-top-left-radius: var(--panelRadius, $fallback--panelRadius);\n    border-top-right-radius: $fallback--panelRadius;\n    border-top-right-radius: var(--panelRadius, $fallback--panelRadius);\n\n    --__roundnessTop: var(--panelRadius);\n    --__roundnessBottom: 0;\n  }\n\n  &.-rounded {\n    border-radius: $fallback--panelRadius;\n    border-radius: var(--panelRadius, $fallback--panelRadius);\n\n    --__roundnessTop: var(--panelRadius);\n    --__roundnessBottom: var(--panelRadius);\n  }\n\n  &.-popover {\n    border-radius: $fallback--tooltipRadius;\n    border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n\n    --__roundnessTop: var(--tooltipRadius);\n    --__roundnessBottom: var(--tooltipRadius);\n  }\n\n  &.-bordered {\n    border-width: 1px;\n    border-style: solid;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n  }\n}\n\n.user-info {\n  color: $fallback--lightText;\n  color: var(--lightText, $fallback--lightText);\n  padding: 0 26px;\n\n  a {\n    color: $fallback--lightText;\n    color: var(--lightText, $fallback--lightText);\n\n    &:hover {\n      color: var(--icon);\n    }\n  }\n\n  .container {\n    min-width: 0;\n    padding: 16px 0 6px;\n    display: flex;\n    align-items: flex-start;\n    max-height: 56px;\n\n    > * {\n      min-width: 0;\n    }\n\n    > a {\n      vertical-align: middle;\n      display: flex;\n    }\n\n    .Avatar {\n      --_avatarShadowBox: var(--avatarShadow);\n      --_avatarShadowFilter: var(--avatarShadowFilter);\n      --_avatarShadowInset: var(--avatarShadowInset);\n\n      width: 56px;\n      height: 56px;\n      object-fit: cover;\n    }\n  }\n\n  &-avatar {\n    position: relative;\n    cursor: pointer;\n\n    &.-overlay {\n      position: absolute;\n      left: 0;\n      top: 0;\n      right: 0;\n      bottom: 0;\n      background-color: rgb(0 0 0 / 30%);\n      display: flex;\n      justify-content: center;\n      align-items: center;\n      border-radius: $fallback--avatarRadius;\n      border-radius: var(--avatarRadius, $fallback--avatarRadius);\n      opacity: 0;\n      transition: opacity 0.2s ease;\n\n      svg {\n        color: #fff;\n      }\n    }\n\n    &:hover &.-overlay {\n      opacity: 1;\n    }\n  }\n\n  .external-link-button,\n  .edit-profile-button {\n    cursor: pointer;\n    width: 2.5em;\n    text-align: center;\n    margin: -0.5em 0;\n    padding: 0.5em 0;\n\n    &:not(:hover) .icon {\n      color: $fallback--lightText;\n      color: var(--lightText, $fallback--lightText);\n    }\n  }\n\n  .bottom-line {\n    font-weight: light;\n    font-size: 1.1em;\n    align-items: baseline;\n\n    .lock-icon {\n      margin-left: 0.5em;\n    }\n\n    .user-screen-name {\n      min-width: 1px;\n      flex: 0 1 auto;\n      text-overflow: ellipsis;\n      overflow: hidden;\n    }\n\n    .dailyAvg {\n      min-width: 1px;\n      flex: 0 0 auto;\n      margin-left: 1em;\n      font-size: 0.7em;\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n\n    .user-role {\n      flex: none;\n      color: $fallback--text;\n      color: var(--alertNeutralText, $fallback--text);\n      background-color: $fallback--fg;\n      background-color: var(--alertNeutral, $fallback--fg);\n    }\n  }\n\n  .user-summary {\n    display: block;\n    margin-left: 0.6em;\n    text-align: left;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    flex: 1 1 0;\n    // This is so that text doesn't get overlapped by avatar's shadow if it has\n    // big one\n    z-index: 1;\n    line-height: 2em;\n\n    --emoji-size: 1.7em;\n\n    .top-line,\n    .bottom-line {\n      display: flex;\n    }\n  }\n\n  .user-name {\n    text-overflow: ellipsis;\n    overflow: hidden;\n    flex: 1 1 auto;\n    margin-right: 1em;\n    font-size: 1.1em;\n  }\n\n  .user-meta {\n    margin-bottom: 0.15em;\n    display: flex;\n    align-items: baseline;\n    line-height: 22px;\n    flex-wrap: wrap;\n\n    .following {\n      flex: 1 0 auto;\n      margin: 0;\n      margin-bottom: 0.25em;\n      text-align: left;\n    }\n\n    .highlighter {\n      flex: 0 1 auto;\n      display: flex;\n      flex-wrap: wrap;\n      margin-right: -0.5em;\n      align-self: start;\n\n      .userHighlightCl {\n        padding: 2px 10px;\n        flex: 1 0 auto;\n      }\n\n      .userHighlightSel {\n        padding-top: 0;\n        padding-bottom: 0;\n        flex: 1 0 auto;\n      }\n\n      .userHighlightText {\n        width: 70px;\n        flex: 1 0 auto;\n      }\n\n      .userHighlightCl,\n      .userHighlightText,\n      .userHighlightSel {\n        vertical-align: top;\n        margin-right: 0.5em;\n        margin-bottom: 0.25em;\n      }\n    }\n  }\n\n  .user-interactions {\n    position: relative;\n    display: flex;\n    flex-flow: row wrap;\n    margin-right: -0.75em;\n\n    > * {\n      margin: 0 0.75em 0.6em 0;\n      white-space: nowrap;\n      min-width: 95px;\n    }\n\n    button {\n      margin: 0;\n    }\n  }\n\n  .user-note {\n    margin: 0 0.75em 0.6em 0;\n  }\n}\n\n.sidebar .edit-profile-button {\n  display: none;\n}\n\n.user-counts {\n  display: flex;\n  line-height: 16px;\n  padding: 0.5em 1.5em 0;\n  text-align: center;\n  justify-content: space-between;\n  color: $fallback--lightText;\n  color: var(--lightText, $fallback--lightText);\n  flex-wrap: wrap;\n}\n\n.user-count {\n  flex: 1 0 auto;\n  padding: 0.5em 0;\n  margin: 0 0.5em;\n\n  h5 {\n    font-size: 1em;\n    font-weight: bolder;\n    margin: 0 0 0.25em;\n  }\n\n  /* stylelint-disable-next-line no-descending-specificity */\n  a {\n    text-decoration: none;\n  }\n}\n\n.mute-expiry {\n  display: flex;\n  flex-direction: row;\n}\n","\n.user-panel .signed-in {\n  overflow: visible;\n  z-index: 10;\n}\n","\n@import \"../../variables\";\n\n.NavigationEntry {\n  display: flex;\n  box-sizing: border-box;\n  align-items: baseline;\n  height: 3.5em;\n  line-height: 3.5em;\n  padding: 0 1em;\n  width: 100%;\n  color: $fallback--link;\n  color: var(--link, $fallback--link);\n\n  .timelines-chevron {\n    margin-right: 0;\n  }\n\n  .main-link {\n    flex: 1;\n  }\n\n  .menu-icon {\n    margin-right: 0.8em;\n  }\n\n  .extra-button {\n    width: 3em;\n    text-align: center;\n\n    &:last-child {\n      margin-right: -0.8em;\n    }\n  }\n\n  &:hover {\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedMenu, $fallback--lightBg);\n    color: $fallback--link;\n    color: var(--selectedMenuText, $fallback--link);\n\n    --faint: var(--selectedMenuFaintText, $fallback--faint);\n    --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n    --lightText: var(--selectedMenuLightText, $fallback--lightText);\n\n    .menu-icon {\n      --icon: var(--text, $fallback--icon);\n    }\n  }\n\n  &.-active {\n    font-weight: bolder;\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedMenu, $fallback--lightBg);\n    color: $fallback--text;\n    color: var(--selectedMenuText, $fallback--text);\n\n    --faint: var(--selectedMenuFaintText, $fallback--faint);\n    --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n    --lightText: var(--selectedMenuLightText, $fallback--lightText);\n\n    .menu-icon {\n      --icon: var(--text, $fallback--icon);\n    }\n\n    &:hover {\n      text-decoration: underline;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.NavigationPins {\n  display: flex;\n  flex-wrap: wrap;\n  overflow: hidden;\n  height: 100%;\n\n  .alert-dot {\n    border-radius: 100%;\n    height: 0.5em;\n    width: 0.5em;\n    position: absolute;\n    right: calc(50% - 0.75em);\n    top: calc(50% - 0.5em);\n    background-color: $fallback--cRed;\n    background-color: var(--badgeNotification, $fallback--cRed);\n  }\n\n  .pinned-item {\n    position: relative;\n    flex: 1 0 3em;\n    min-width: 2em;\n    text-align: center;\n    overflow: visible;\n    box-sizing: border-box;\n    height: 100%;\n\n    & .svg-inline--fa,\n    & .iconLetter {\n      margin: 0;\n    }\n\n    &.router-link-active {\n      color: $fallback--text;\n      color: var(--panelText, $fallback--text);\n      border-bottom: 4px solid;\n\n      & .svg-inline--fa,\n      & .iconLetter {\n        color: inherit;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.NavPanel {\n  .panel {\n    overflow: hidden;\n    box-shadow: var(--panelShadow);\n  }\n\n  ul {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n  }\n\n  li {\n    position: relative;\n    border-bottom: 1px solid;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n  }\n\n  > li {\n    &:first-child .menu-item {\n      border-top-right-radius: $fallback--panelRadius;\n      border-top-right-radius: var(--panelRadius, $fallback--panelRadius);\n      border-top-left-radius: $fallback--panelRadius;\n      border-top-left-radius: var(--panelRadius, $fallback--panelRadius);\n    }\n\n    &:last-child .menu-item {\n      border-bottom-right-radius: $fallback--panelRadius;\n      border-bottom-right-radius: var(--panelRadius, $fallback--panelRadius);\n      border-bottom-left-radius: $fallback--panelRadius;\n      border-bottom-left-radius: var(--panelRadius, $fallback--panelRadius);\n    }\n  }\n\n  li:last-child {\n    border: none;\n  }\n\n  .navigation-chevron {\n    margin-left: 0.8em;\n    margin-right: 0.8em;\n    font-size: 1.1em;\n  }\n\n  .timelines-chevron {\n    margin-left: 0.8em;\n    font-size: 1.1em;\n  }\n\n  .timelines-background {\n    padding: 0 0 0 0.6em;\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedMenu, $fallback--lightBg);\n    border-bottom: 1px solid;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n  }\n\n  .timelines {\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n  }\n\n  .nav-panel-heading {\n    // breaks without a unit\n    // stylelint-disable-next-line length-zero-no-unit\n    --panel-heading-height-padding: 0px;\n  }\n}\n","\n  .features-panel li {\n    line-height: 24px;\n  }\n","\n  .who-to-follow * {\n    vertical-align: middle;\n  }\n\n  .who-to-follow img {\n    width: 32px;\n    height: 32px;\n  }\n\n  .who-to-follow {\n    padding: 0 1em;\n    margin: 0;\n  }\n\n  .who-to-follow-items {\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    padding: 0;\n    margin: 1em 0;\n  }\n\n  .who-to-follow-more {\n    padding: 0;\n    margin: 1em 0;\n    text-align: center;\n  }\n","\n@import \"../../variables\";\n\n.floating-shout {\n  position: fixed;\n  bottom: 0.5em;\n  z-index: var(--ZI_popovers);\n  max-width: 25em;\n\n  &.-left {\n    left: 0.5em;\n  }\n\n  &:not(.-left) {\n    right: 0.5em;\n  }\n}\n\n.shout-panel {\n  .shout-heading {\n    cursor: pointer;\n\n    .icon {\n      color: $fallback--text;\n      color: var(--panelText, $fallback--text);\n      margin-right: 0.5em;\n    }\n\n    .title {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n    }\n  }\n\n  .shout-window {\n    overflow-y: auto;\n    overflow-x: hidden;\n    max-height: 20em;\n  }\n\n  .shout-window-container {\n    height: 100%;\n  }\n\n  .shout-message {\n    display: flex;\n    padding: 0.2em 0.5em;\n  }\n\n  .shout-avatar {\n    img {\n      height: 24px;\n      width: 24px;\n      border-radius: $fallback--avatarRadius;\n      border-radius: var(--avatarRadius, $fallback--avatarRadius);\n      margin-right: 0.5em;\n      margin-top: 0.25em;\n    }\n  }\n\n  .shout-input {\n    display: flex;\n\n    textarea {\n      flex: 1;\n      margin: 0.6em;\n      min-height: 3.5em;\n      resize: none;\n    }\n  }\n\n  .shout-panel {\n    .title {\n      display: flex;\n      justify-content: space-between;\n    }\n  }\n}\n","\n$modal-view-button-icon-height: 3em;\n$modal-view-button-icon-half-height: calc(#{$modal-view-button-icon-height} / 2);\n$modal-view-button-icon-width: 3em;\n$modal-view-button-icon-margin: 0.5em;\n\n.media-modal-view {\n  @keyframes media-fadein {\n    from {\n      opacity: 0;\n    }\n\n    to {\n      opacity: 1;\n    }\n  }\n\n  .modal-image-container {\n    display: flex;\n    overflow: hidden;\n    align-items: center;\n    flex-direction: column;\n    max-width: 100%;\n    max-height: 100%;\n    width: 100%;\n    height: 100%;\n    flex-grow: 1;\n    justify-content: center;\n\n    &-inner {\n      width: 100%;\n      height: 100%;\n      flex-grow: 1;\n      display: flex;\n      flex-direction: column;\n      align-items: center;\n      justify-content: center;\n    }\n  }\n\n  .description,\n  .counter {\n    /* Hardcoded since background is also hardcoded */\n    color: white;\n    margin-top: 1em;\n    text-shadow: 0 0 10px black, 0 0 10px black;\n    padding: 0.2em 2em;\n  }\n\n  .description {\n    flex: 0 0 auto;\n    overflow-y: auto;\n    min-height: 1em;\n    max-width: 500px;\n    max-height: 9.5em;\n    word-break: break-all;\n  }\n\n  .modal-image {\n    max-width: 100%;\n    max-height: 100%;\n    image-orientation: from-image; // NOTE: only FF supports this\n    animation: 0.1s cubic-bezier(0.7, 0, 1, 0.6) media-fadein;\n\n    &.loading {\n      opacity: 0.5;\n    }\n  }\n\n  .loading-spinner {\n    width: 100%;\n    height: 100%;\n    position: absolute;\n    pointer-events: none;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n\n    svg {\n      color: white;\n    }\n  }\n\n  .modal-view-button {\n    border: 0;\n    padding: 0;\n    opacity: 0;\n    box-shadow: none;\n    background: none;\n    appearance: none;\n    overflow: visible;\n    cursor: pointer;\n    transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);\n    height: $modal-view-button-icon-height;\n    width: $modal-view-button-icon-width;\n\n    .button-icon {\n      position: absolute;\n      height: $modal-view-button-icon-height;\n      width: $modal-view-button-icon-width;\n      font-size: 1rem;\n      line-height: $modal-view-button-icon-height;\n      color: #fff;\n      text-align: center;\n      background-color: rgb(0 0 0 / 30%);\n    }\n  }\n\n  .modal-view-button-arrow {\n    position: absolute;\n    display: block;\n    top: 50%;\n    margin-top: $modal-view-button-icon-half-height;\n    width: $modal-view-button-icon-width;\n    height: $modal-view-button-icon-height;\n\n    .arrow-icon {\n      position: absolute;\n      top: 0;\n      line-height: $modal-view-button-icon-height;\n      color: #fff;\n      text-align: center;\n      background-color: rgb(0 0 0 / 30%);\n    }\n\n    &--prev {\n      left: 0;\n\n      .arrow-icon {\n        left: $modal-view-button-icon-margin;\n      }\n    }\n\n    &--next {\n      right: 0;\n\n      .arrow-icon {\n        right: $modal-view-button-icon-margin;\n      }\n    }\n  }\n\n  .modal-view-button-hide {\n    position: absolute;\n    top: 0;\n    right: 0;\n\n    .button-icon {\n      top: $modal-view-button-icon-margin;\n      right: $modal-view-button-icon-margin;\n    }\n  }\n}\n\n.modal-view.media-modal-view {\n  z-index: var(--ZI_media_modal);\n  flex-direction: column;\n\n  .modal-view-button-arrow,\n  .modal-view-button-hide {\n    opacity: 0.75;\n\n    &:focus,\n    &:hover {\n      outline: none;\n      box-shadow: none;\n    }\n\n    &:hover {\n      opacity: 1;\n    }\n  }\n\n  overflow: hidden;\n}\n","\n@import \"../../variables\";\n\n.side-drawer-container {\n  position: fixed;\n  z-index: var(--ZI_navbar);\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: stretch;\n  transition-duration: 0s;\n  transition-property: transform;\n}\n\n.side-drawer-container-open {\n  transform: translate(0%);\n}\n\n.side-drawer-container-closed {\n  transition-delay: 0.35s;\n  transform: translate(-100%);\n}\n\n.side-drawer-darken {\n  top: 0;\n  left: 0;\n  width: 100vw;\n  height: 100vh;\n  position: fixed;\n  z-index: -1;\n  transition: 0.35s;\n  transition-property: background-color;\n  background-color: rgb(0 0 0 / 50%);\n}\n\n.side-drawer-darken-closed {\n  background-color: rgb(0 0 0 / 0%);\n}\n\n.side-drawer-click-outside {\n  flex: 1 1 100%;\n}\n\n.side-drawer {\n  overflow-x: hidden;\n  transition: 0.35s;\n  transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\n  transition-property: transform;\n  margin: 0 0 0 -100px;\n  padding: 0 0 1em 100px;\n  width: 80%;\n  max-width: 20em;\n  flex: 0 0 80%;\n  box-shadow: 1px 1px 4px rgb(0 0 0 / 60%);\n  box-shadow: var(--panelShadow);\n  background-color: $fallback--bg;\n  background-color: var(--popover, $fallback--bg);\n  color: $fallback--link;\n  color: var(--popoverText, $fallback--link);\n\n  --faint: var(--popoverFaintText, $fallback--faint);\n  --faintLink: var(--popoverFaintLink, $fallback--faint);\n  --lightText: var(--popoverLightText, $fallback--lightText);\n  --icon: var(--popoverIcon, $fallback--icon);\n\n  .badge {\n    margin-left: 10px;\n  }\n}\n\n.side-drawer-logo-wrapper {\n  display: flex;\n  align-items: center;\n  padding: 0.85em;\n\n  img {\n    flex: none;\n    height: 50px;\n    margin-right: 0.85em;\n  }\n\n  span {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.side-drawer-click-outside-closed {\n  flex: 0 0 0;\n}\n\n.side-drawer-closed {\n  transform: translate(-100%);\n}\n\n.side-drawer-heading {\n  background: transparent;\n  flex-direction: column;\n  align-items: stretch;\n  display: flex;\n  padding: 0;\n  margin: 0;\n}\n\n.side-drawer ul {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n  border-bottom: 1px solid;\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n}\n\n.side-drawer ul:last-child {\n  border: 0;\n}\n\n.side-drawer li {\n  padding: 0;\n\n  a,\n  button {\n    box-sizing: border-box;\n    display: block;\n    height: 3em;\n    line-height: 3em;\n    padding: 0 0.7em;\n\n    &:hover {\n      background-color: $fallback--lightBg;\n      background-color: var(--selectedMenuPopover, $fallback--lightBg);\n      color: $fallback--text;\n      color: var(--selectedMenuPopoverText, $fallback--text);\n\n      --faint: var(--selectedMenuPopoverFaintText, $fallback--faint);\n      --faintLink: var(--selectedMenuPopoverFaintLink, $fallback--faint);\n      --lightText: var(--selectedMenuPopoverLightText, $fallback--lightText);\n      --icon: var(--selectedMenuPopoverIcon, $fallback--icon);\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.MobilePostButton {\n  &.button-default {\n    width: 5em;\n    height: 5em;\n    border-radius: 100%;\n    position: fixed;\n    bottom: 1.5em;\n    right: 1.5em;\n    // TODO: this needs its own color, it has to stand out enough and link color\n    // is not very optimal for this particular use.\n    background-color: $fallback--fg;\n    background-color: var(--btn, $fallback--fg);\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    box-shadow: 0 2px 2px rgb(0 0 0 / 30%), 0 4px 6px rgb(0 0 0 / 30%);\n    z-index: 10;\n    transition: 0.35s transform;\n    transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\n  }\n\n  &.hidden {\n    transform: translateY(150%);\n  }\n\n  svg {\n    font-size: 1.5em;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n  }\n}\n\n@media all and (min-width: 801px) {\n  .new-status-button:not(.always-show) {\n    display: none;\n  }\n}\n\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.ReplyButton {\n  display: flex;\n\n  > :first-child {\n    padding: 10px;\n    margin: -10px -8px -10px -10px;\n  }\n\n  .action-counter {\n    pointer-events: none;\n    user-select: none;\n  }\n\n  .interactive {\n    &:hover .svg-inline--fa,\n    &.-active .svg-inline--fa {\n      color: $fallback--cBlue;\n      color: var(--cBlue, $fallback--cBlue);\n    }\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n    }\n\n    @include focused-style {\n      .focus-marker {\n        visibility: visible;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.FavoriteButton {\n  display: flex;\n\n  > :first-child {\n    padding: 10px;\n    margin: -10px -8px -10px -10px;\n  }\n\n  .action-counter {\n    pointer-events: none;\n    user-select: none;\n  }\n\n  .interactive {\n    .svg-inline--fa {\n      animation-duration: 0.6s;\n    }\n\n    &:hover .svg-inline--fa,\n    &.-favorited .svg-inline--fa {\n      color: $fallback--cOrange;\n      color: var(--cOrange, $fallback--cOrange);\n    }\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n\n      .active-marker {\n        visibility: visible;\n      }\n    }\n\n    @include focused-style {\n      .focus-marker {\n        visibility: visible;\n      }\n\n      .active-marker {\n        visibility: hidden;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.ReactButton {\n  .reaction-picker-filter {\n    padding: 0.5em;\n    display: flex;\n\n    input {\n      flex: 1;\n    }\n  }\n\n  .reaction-picker-divider {\n    height: 1px;\n    width: 100%;\n    margin: 0.5em;\n    background-color: var(--border, $fallback--border);\n  }\n\n  .reaction-picker {\n    width: 10em;\n    height: 9em;\n    font-size: 1.5em;\n    overflow-y: scroll;\n    display: flex;\n    flex-wrap: wrap;\n    padding: 0.5em;\n    text-align: center;\n    align-content: flex-start;\n    user-select: none;\n    mask:\n      linear-gradient(to top, white 0, transparent 100%) bottom no-repeat,\n      linear-gradient(to bottom, white 0, transparent 100%) top no-repeat,\n      linear-gradient(to top, white, white);\n    transition: mask-size 150ms;\n    mask-size: 100% 20px, 100% 20px, auto;\n\n    /* Autoprefixed seem to ignore this one, and also syntax is different */\n    mask-composite: xor;\n    mask-composite: exclude;\n\n    .emoji-button {\n      cursor: pointer;\n      flex-basis: 20%;\n      line-height: 1.5;\n      align-content: center;\n\n      &:hover {\n        transform: scale(1.25);\n      }\n    }\n  }\n\n  .popover-trigger {\n    padding: 10px;\n    margin: -10px;\n\n    &:hover .svg-inline--fa {\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n    }\n\n    @include focused-style {\n      .focus-marker {\n        visibility: visible;\n      }\n    }\n  }\n}\n\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.RetweetButton {\n  display: flex;\n\n  > :first-child {\n    padding: 10px;\n    margin: -10px -8px -10px -10px;\n  }\n\n  .action-counter {\n    pointer-events: none;\n    user-select: none;\n  }\n\n  .interactive {\n    .svg-inline--fa {\n      animation-duration: 0.6s;\n    }\n\n    &:hover .svg-inline--fa,\n    &.-repeated .svg-inline--fa {\n      color: $fallback--cGreen;\n      color: var(--cGreen, $fallback--cGreen);\n    }\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n\n      .active-marker {\n        visibility: visible;\n      }\n    }\n\n    @include focused-style {\n      .focus-marker {\n        visibility: visible;\n      }\n\n      .active-marker {\n        visibility: hidden;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.ExtraButtons {\n  .popover-trigger {\n    position: static;\n    padding: 10px;\n    margin: -10px;\n\n    &:hover .svg-inline--fa {\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n  }\n\n  .popover-trigger-button {\n    /* override of popover internal stuff */\n    width: auto;\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n    }\n\n    @include focused-style {\n      .focus-marker {\n        visibility: visible;\n      }\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.avatars {\n  display: flex;\n  margin: 0;\n  padding: 0;\n\n  // For hiding overflowing elements\n  flex-wrap: wrap;\n  height: 24px;\n\n  .avatars-item {\n    margin: 0 0 5px 5px;\n\n    &:first-child {\n      padding-left: 5px;\n    }\n\n    .avatar-small {\n      border-radius: $fallback--avatarAltRadius;\n      border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n      height: 24px;\n      width: 24px;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n/* popover styles load on-demand, so we need to override */\n.status-popover.popover {\n  font-size: 1rem;\n  min-width: 15em;\n  max-width: 95%;\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n  border-style: solid;\n  border-width: 1px;\n  border-radius: $fallback--tooltipRadius;\n  border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n\n  /* TODO cleanup this */\n  .Status.Status {\n    border: none;\n  }\n\n  .status-preview-no-content {\n    padding: 1em;\n    text-align: center;\n\n    i {\n      font-size: 2em;\n    }\n  }\n}\n\n","\n@import \"../../variables\";\n\n.user-list-popover {\n  padding: 0.5em;\n\n  --emoji-size: 16px;\n\n  .user-list-row {\n    padding: 0.25em;\n    display: flex;\n    flex-direction: row;\n\n    .user-list-names {\n      display: flex;\n      flex-direction: column;\n      margin-left: 0.5em;\n      min-width: 5em;\n\n      img {\n        width: 1em;\n        height: 1em;\n      }\n    }\n\n    .user-list-screen-name {\n      font-size: 0.65em;\n    }\n  }\n}\n\n","\n@import \"../../variables\";\n@import \"../../mixins\";\n\n.EmojiReactions {\n  display: flex;\n  margin-top: 0.25em;\n  flex-wrap: wrap;\n\n  --emoji-size: calc(1.25em * var(--emojiReactionsScale, 1));\n\n  .emoji-reaction-container {\n    display: flex;\n    align-items: stretch;\n    margin-top: 0.5em;\n    margin-right: 0.5em;\n\n    .emoji-reaction-popover {\n      padding: 0;\n\n      .emoji-reaction-count-button {\n        background-color: var(--btn);\n        margin: 0;\n        height: 100%;\n        border-top-left-radius: 0;\n        border-bottom-left-radius: 0;\n        box-sizing: border-box;\n        min-width: 2em;\n        display: inline-flex;\n        justify-content: center;\n        align-items: center;\n        color: $fallback--text;\n        color: var(--btnText, $fallback--text);\n\n        &.-picked-reaction {\n          border: 1px solid var(--accent, $fallback--link);\n          margin-right: -1px;\n        }\n      }\n    }\n  }\n\n  .emoji-reaction {\n    padding-left: 0.5em;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-sizing: border-box;\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n    margin: 0;\n\n    .reaction-emoji {\n      width: var(--emoji-size);\n      height: var(--emoji-size);\n      margin-right: 0.25em;\n      line-height: var(--emoji-size);\n      display: flex;\n      justify-content: center;\n      align-items: center;\n    }\n\n    .reaction-emoji-content {\n      max-width: 100%;\n      max-height: 100%;\n      width: auto;\n      height: auto;\n      line-height: inherit;\n      overflow: hidden;\n      font-size: calc(var(--emoji-size) * 0.8);\n      margin: 0;\n    }\n\n    &:focus {\n      outline: none;\n    }\n\n    .svg-inline--fa {\n      color: $fallback--text;\n      color: var(--btnText, $fallback--text);\n    }\n\n    &.-picked-reaction {\n      border: 1px solid var(--accent, $fallback--link);\n      margin-left: -1px; // offset the border, can't use inset shadows either\n      margin-right: -1px;\n\n      .svg-inline--fa {\n        color: $fallback--link;\n        color: var(--accent, $fallback--link);\n      }\n    }\n\n    @include unfocused-style {\n      .focus-marker {\n        visibility: hidden;\n      }\n\n      .active-marker {\n        visibility: visible;\n      }\n    }\n\n    @include focused-style {\n      .svg-inline--fa {\n        color: $fallback--link;\n        color: var(--accent, $fallback--link);\n      }\n\n      .focus-marker {\n        visibility: visible;\n      }\n\n      .active-marker {\n        visibility: hidden;\n      }\n    }\n  }\n\n  .emoji-reaction-expand {\n    padding: 0 0.5em;\n    margin-right: 0.5em;\n    margin-top: 0.5em;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n\n    &:hover {\n      text-decoration: underline;\n    }\n  }\n}\n","@import \"../../variables\";\n\n.Status {\n  min-width: 0;\n  white-space: normal;\n  word-wrap: break-word;\n  word-break: break-word;\n\n  &:hover {\n    --_still-image-img-visibility: visible;\n    --_still-image-canvas-visibility: hidden;\n    --_still-image-label-visibility: hidden;\n  }\n\n  &.-focused {\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedPost, $fallback--lightBg);\n    color: $fallback--text;\n    color: var(--selectedPostText, $fallback--text);\n\n    --lightText: var(--selectedPostLightText, $fallback--light);\n    --faint: var(--selectedPostFaintText, $fallback--faint);\n    --faintLink: var(--selectedPostFaintLink, $fallback--faint);\n    --postLink: var(--selectedPostPostLink, $fallback--faint);\n    --postFaintLink: var(--selectedPostFaintPostLink, $fallback--faint);\n    --icon: var(--selectedPostIcon, $fallback--icon);\n  }\n\n  .gravestone {\n    padding: var(--status-margin, $status-margin);\n    color: $fallback--faint;\n    color: var(--faint, $fallback--faint);\n    display: flex;\n\n    .deleted-text {\n      margin: 0.5em 0;\n      align-items: center;\n    }\n  }\n\n  .status-container {\n    display: flex;\n    padding: var(--status-margin, $status-margin);\n\n    > * {\n      min-width: 0;\n    }\n\n    &.-repeat {\n      padding-top: 0;\n    }\n  }\n\n  .pin {\n    padding: var(--status-margin, $status-margin) var(--status-margin, $status-margin) 0;\n    display: flex;\n    align-items: center;\n    justify-content: flex-end;\n  }\n\n  ._misclick-prevention & {\n    pointer-events: none;\n\n    .attachments {\n      pointer-events: initial;\n      cursor: initial;\n    }\n  }\n\n  .left-side {\n    margin-right: var(--status-margin, $status-margin);\n  }\n\n  .right-side {\n    flex: 1;\n    min-width: 0;\n  }\n\n  .usercard {\n    margin-bottom: var(--status-margin, $status-margin);\n  }\n\n  .status-username {\n    white-space: nowrap;\n    overflow: hidden;\n    max-width: 85%;\n    font-weight: bold;\n    flex-shrink: 1;\n    margin-right: 0.4em;\n    text-overflow: ellipsis;\n\n    --_still_image-label-scale: 0.25;\n    --emoji-size: 14px;\n  }\n\n  .status-favicon {\n    height: 18px;\n    width: 18px;\n    margin-right: 0.4em;\n  }\n\n  .status-heading {\n    margin-bottom: 0.5em;\n  }\n\n  .heading-name-row {\n    display: flex;\n    justify-content: space-between;\n    line-height: 1.3;\n\n    a {\n      display: inline-block;\n      word-break: break-all;\n    }\n  }\n\n  .account-name {\n    min-width: 1.6em;\n    margin-right: 0.4em;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    flex: 1 1 0;\n  }\n\n  .heading-left {\n    display: flex;\n    min-width: 0;\n  }\n\n  .heading-right {\n    display: flex;\n    flex-shrink: 0;\n\n    .button-unstyled {\n      padding: 5px;\n      margin: -5px;\n\n      &:hover svg {\n        color: $fallback--lightText;\n        color: var(--lightText, $fallback--lightText);\n      }\n    }\n\n    .svg-inline--fa {\n      margin-left: 0.25em;\n    }\n  }\n\n  .glued-label {\n    display: inline-flex;\n    white-space: nowrap;\n  }\n\n  .timeago {\n    margin-right: 0.2em;\n  }\n\n  & .heading-reply-row,\n  & .heading-edited-row {\n    position: relative;\n    align-content: baseline;\n    font-size: 0.85em;\n    margin-top: 0.2em;\n    line-height: 130%;\n    max-width: 100%;\n    align-items: stretch;\n  }\n\n  & .reply-to-popover,\n  & .reply-to-no-popover,\n  & .mentions {\n    min-width: 0;\n    margin-right: 0.4em;\n    flex-shrink: 0;\n  }\n\n  .reply-glued-label {\n    margin-right: 0.5em;\n  }\n\n  .reply-to-popover {\n    .reply-to:hover::before {\n      content: \"\";\n      display: block;\n      position: absolute;\n      bottom: 0;\n      width: 100%;\n      border-bottom: 1px solid var(--faint);\n      pointer-events: none;\n    }\n\n    .faint-link:hover {\n      // override default\n      text-decoration: none;\n    }\n\n    &.-strikethrough {\n      .reply-to::after {\n        content: \"\";\n        display: block;\n        position: absolute;\n        top: 50%;\n        width: 100%;\n        border-bottom: 1px solid var(--faint);\n        pointer-events: none;\n      }\n    }\n  }\n\n  & .mentions,\n  & .reply-to {\n    white-space: nowrap;\n    position: relative;\n  }\n\n  & .mentions-text,\n  & .reply-to-text {\n    color: var(--faint);\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  .mentions-line {\n    display: inline;\n  }\n\n  .replies {\n    margin-top: 0.25em;\n    line-height: 1.3;\n    font-size: 0.85em;\n    display: flex;\n    flex-wrap: wrap;\n\n    & > * {\n      margin-right: 0.4em;\n    }\n  }\n\n  .reply-link {\n    height: 17px;\n  }\n\n  .repeat-info {\n    padding: 0.4em var(--status-margin, $status-margin);\n\n    .repeat-icon {\n      color: $fallback--cGreen;\n      color: var(--cGreen, $fallback--cGreen);\n    }\n  }\n\n  .repeater-avatar {\n    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n    margin-left: 28px;\n    width: 20px;\n    height: 20px;\n  }\n\n  .repeater-name {\n    text-overflow: ellipsis;\n    margin-right: 0;\n\n    .emoji {\n      width: 14px;\n      height: 14px;\n      vertical-align: middle;\n      object-fit: contain;\n    }\n  }\n\n  .status-fadein {\n    animation-duration: 0.4s;\n    animation-name: fadein;\n  }\n\n  @keyframes fadein {\n    from {\n      opacity: 0;\n    }\n\n    to {\n      opacity: 1;\n    }\n  }\n\n  .status-actions {\n    position: relative;\n    width: 100%;\n    display: flex;\n    margin-top: var(--status-margin, $status-margin);\n\n    > * {\n      max-width: 4em;\n      flex: 1;\n    }\n  }\n\n  .muted {\n    padding: 0.25em 0.6em;\n    height: 1.2em;\n    line-height: 1.2em;\n    text-overflow: ellipsis;\n    overflow: hidden;\n    display: flex;\n    flex-wrap: nowrap;\n\n    & .status-username,\n    & .mute-thread,\n    & .mute-words {\n      word-wrap: normal;\n      word-break: normal;\n      white-space: nowrap;\n    }\n\n    & .status-username,\n    & .mute-words {\n      text-overflow: ellipsis;\n      overflow: hidden;\n    }\n\n    .status-username {\n      font-weight: normal;\n      flex: 0 1 auto;\n      margin-right: 0.2em;\n      font-size: smaller;\n    }\n\n    .mute-thread {\n      flex: 0 0 auto;\n    }\n\n    .mute-words {\n      flex: 1 0 5em;\n      margin-left: 0.2em;\n\n      &::before {\n        content: \" \";\n      }\n    }\n\n    .unmute {\n      flex: 0 0 auto;\n      margin-left: auto;\n      display: block;\n    }\n  }\n\n  .reply-form {\n    padding-top: 0;\n    padding-bottom: 0;\n  }\n\n  .reply-body {\n    flex: 1;\n  }\n\n  .favs-repeated-users {\n    margin-top: var(--status-margin, $status-margin);\n  }\n\n  .stats {\n    width: 100%;\n    display: flex;\n    line-height: 1em;\n  }\n\n  .avatar-row {\n    flex: 1;\n    overflow: hidden;\n    position: relative;\n    display: flex;\n    align-items: center;\n\n    &::before {\n      content: \"\";\n      position: absolute;\n      height: 100%;\n      width: 1px;\n      left: 0;\n      background-color: var(--faint, $fallback--faint);\n    }\n  }\n\n  .stat-count {\n    margin-right: var(--status-margin, $status-margin);\n    user-select: none;\n\n    .stat-title {\n      color: var(--faint, $fallback--faint);\n      font-size: 0.85em;\n      text-transform: uppercase;\n      position: relative;\n    }\n\n    .stat-number {\n      font-weight: bolder;\n      font-size: 1.1em;\n      line-height: 1em;\n    }\n\n    &:hover .stat-title {\n      text-decoration: underline;\n    }\n  }\n\n  @media all and (max-width: 800px) {\n    .repeater-avatar {\n      margin-left: 20px;\n    }\n\n    .post-avatar {\n      width: 40px;\n      height: 40px;\n\n      // TODO define those other way somehow?\n      // stylelint-disable rscss/class-format\n      &.-compact {\n        width: 32px;\n        height: 32px;\n      }\n    }\n  }\n\n  .quoted-status {\n    margin-top: 0.5em;\n    border: 1px solid var(--border, $fallback--border);\n    border-radius: var(--attachmentRadius, $fallback--attachmentRadius);\n\n    &.-unavailable-prompt {\n      padding: 0.5em;\n    }\n  }\n\n  .display-quoted-status-button {\n    margin: 0.5em;\n\n    &-icon {\n      color: inherit;\n    }\n  }\n}\n","@import \"../../variables\";\n\n.Report {\n  .report-content {\n    margin: 0.5em 0 1em;\n  }\n\n  .report-state {\n    margin: 0.5em 0 1em;\n  }\n\n  .reported-status {\n    border: 1px solid $fallback--faint;\n    border-color: var(--faint, $fallback--faint);\n    border-radius: $fallback--inputRadius;\n    border-radius: var(--inputRadius, $fallback--inputRadius);\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n    display: block;\n    padding: 0.5em;\n    margin: 0.5em 0;\n\n    .status-content {\n      pointer-events: none;\n    }\n\n    .reported-status-heading {\n      display: flex;\n      width: 100%;\n      justify-content: space-between;\n      margin-bottom: 0.2em;\n    }\n\n    .reported-status-name {\n      font-weight: bold;\n    }\n  }\n\n  .note {\n    width: 100%;\n    margin-bottom: 0.5em;\n  }\n}\n","@import \"../../variables\";\n\n// TODO Copypaste from Status, should unify it somehow\n.Notification {\n  border-bottom: 1px solid;\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n  word-wrap: break-word;\n  word-break: break-word;\n\n  --emoji-size: 14px;\n\n  &:hover {\n    --_still-image-img-visibility: visible;\n    --_still-image-canvas-visibility: hidden;\n    --_still-image-label-visibility: hidden;\n  }\n\n  &.-muted {\n    padding: 0.25em 0.6em;\n    height: 1.2em;\n    line-height: 1.2em;\n    text-overflow: ellipsis;\n    overflow: hidden;\n    display: flex;\n    flex-wrap: nowrap;\n\n    & .status-username,\n    & .mute-thread,\n    & .mute-words {\n      word-wrap: normal;\n      word-break: normal;\n      white-space: nowrap;\n    }\n\n    & .status-username,\n    & .mute-words {\n      text-overflow: ellipsis;\n      overflow: hidden;\n    }\n\n    .status-username {\n      font-weight: normal;\n      flex: 0 1 auto;\n      margin-right: 0.2em;\n      font-size: smaller;\n    }\n\n    .mute-thread {\n      flex: 0 0 auto;\n    }\n\n    .mute-words {\n      flex: 1 0 5em;\n      margin-left: 0.2em;\n\n      &::before {\n        content: \" \";\n      }\n    }\n\n    .unmute {\n      flex: 0 0 auto;\n      margin-left: auto;\n      display: block;\n    }\n  }\n\n  .type-icon {\n    margin: 0 0.1em;\n  }\n\n  &.-type--repeat .type-icon {\n    color: $fallback--cGreen;\n    color: var(--cGreen, $fallback--cGreen);\n  }\n\n  &.-type--follow .type-icon {\n    color: $fallback--cBlue;\n    color: var(--cBlue, $fallback--cBlue);\n  }\n\n  &.-type--follow-request .type-icon {\n    color: $fallback--cBlue;\n    color: var(--cBlue, $fallback--cBlue);\n  }\n\n  &.-type--like .type-icon {\n    color: orange;\n    color: $fallback--cOrange;\n    color: var(--cOrange, $fallback--cOrange);\n  }\n\n  &.-type--move .type-icon {\n    color: $fallback--cBlue;\n    color: var(--cBlue, $fallback--cBlue);\n  }\n}\n","@import \"../../variables\";\n\n.Notifications {\n  &:not(.minimal) {\n    // a bit of a hack to allow scrolling below notifications\n    padding-bottom: 15em;\n  }\n\n  .loadmore-error {\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n  }\n\n  .notification {\n    position: relative;\n\n    .notification-overlay {\n      position: absolute;\n      top: 0;\n      right: 0;\n      left: 0;\n      bottom: 0;\n      pointer-events: none;\n    }\n\n    &.unseen {\n      .notification-overlay {\n        background-image: linear-gradient(135deg, var(--badgeNotification, $fallback--cRed) 4px, transparent 10px);\n      }\n    }\n  }\n}\n\n/* stylelint-disable-next-line no-descending-specificity */\n.notification {\n  box-sizing: border-box;\n\n  &:hover .animated.Avatar {\n    canvas {\n      display: none;\n    }\n\n    img {\n      visibility: visible;\n    }\n  }\n\n  &:last-child .Notification {\n    border-bottom: none;\n  }\n\n  .non-mention {\n    display: flex;\n    flex: 1;\n    flex-wrap: nowrap;\n    padding: 0.6em;\n    min-width: 0;\n\n    .avatar-container {\n      width: 32px;\n      height: 32px;\n    }\n\n    .faint {\n      --link: var(--faintLink);\n      --text: var(--faint);\n    }\n  }\n\n  .follow-request-accept {\n    &:hover {\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n  }\n\n  .follow-request-reject {\n    &:hover {\n      color: $fallback--cRed;\n      color: var(--cRed, $fallback--cRed);\n    }\n  }\n\n  .follow-text,\n  .move-text {\n    padding: 0.5em 0;\n    overflow-wrap: break-word;\n    display: flex;\n    justify-content: space-between;\n\n    .follow-name {\n      display: block;\n      max-width: 100%;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n  }\n\n  /* TODO cleanup this */\n  .Status {\n    flex: 1;\n  }\n\n  time {\n    white-space: nowrap;\n  }\n\n  .notification-right {\n    flex: 1;\n    padding-left: 0.8em;\n    min-width: 0;\n\n    .timeago {\n      min-width: 3em;\n      text-align: right;\n    }\n\n    .timeago-link {\n      margin-right: 0.2em;\n    }\n\n    .expand-icon {\n      .svg-inline--fa {\n        margin-left: 0.25em;\n      }\n    }\n  }\n\n  .emoji-reaction-emoji {\n    font-size: 1.3em;\n    max-width: 1.25em;\n    height: 1.25em;\n    width: auto;\n  }\n\n  .emoji-reaction-emoji-image {\n    vertical-align: middle;\n    object-fit: contain;\n  }\n\n  .notification-details {\n    min-width: 0;\n    word-wrap: break-word;\n    line-height: var(--post-line-height);\n    position: relative;\n    overflow: hidden;\n    width: 100%;\n    flex: 1 1 0;\n    display: flex;\n    flex-wrap: nowrap;\n    justify-content: space-between;\n\n    .name-and-action {\n      flex: 1;\n      overflow: hidden;\n      text-overflow: ellipsis;\n    }\n\n    .username {\n      font-weight: bolder;\n      max-width: 100%;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    .timeago {\n      margin-right: 0.2em;\n    }\n\n    .status-content {\n      margin: 0;\n      max-height: 300px;\n    }\n\n    h1 {\n      word-break: break-all;\n      margin: 0 0 0.3em;\n      padding: 0;\n      font-size: 1em;\n      line-height: 1.5;\n\n      small {\n        font-weight: lighter;\n      }\n    }\n\n    p {\n      margin: 0;\n      margin-top: 0;\n      margin-bottom: 0.3em;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.MobileNav {\n  z-index: var(--ZI_navbar);\n\n  .mobile-nav {\n    display: grid;\n    line-height: var(--navbar-height);\n    grid-template-rows: 50px;\n    grid-template-columns: 2fr auto;\n    width: 100%;\n    box-sizing: border-box;\n\n    a {\n      color: var(--topBarLink, $fallback--link);\n    }\n  }\n\n  .mobile-inner-nav {\n    width: 100%;\n    display: flex;\n    align-items: center;\n  }\n\n  .mobile-nav-button {\n    display: inline-block;\n    text-align: center;\n    padding: 0 1em;\n    position: relative;\n    cursor: pointer;\n  }\n\n  .site-name {\n    padding: 0 0.3em;\n    display: inline-block;\n  }\n\n  .item {\n    /* moslty just to get rid of extra whitespaces */\n    display: flex;\n  }\n\n  .alert-dot {\n    border-radius: 100%;\n    height: 8px;\n    width: 8px;\n    position: absolute;\n    left: calc(50% - 4px);\n    top: calc(50% - 4px);\n    margin-left: 6px;\n    margin-top: -6px;\n    background-color: $fallback--cRed;\n    background-color: var(--badgeNotification, $fallback--cRed);\n  }\n\n  .mobile-notifications-drawer {\n    width: 100%;\n    height: 100vh;\n    overflow-x: hidden;\n    position: fixed;\n    top: 0;\n    left: 0;\n    box-shadow: 1px 1px 4px rgb(0 0 0 / 60%);\n    box-shadow: var(--panelShadow);\n    transition-property: transform;\n    transition-duration: 0.25s;\n    transform: translateX(0);\n    z-index: var(--ZI_navbar);\n    -webkit-overflow-scrolling: touch;\n\n    &.-closed {\n      transform: translateX(100%);\n      box-shadow: none;\n    }\n  }\n\n  .mobile-notifications-header {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    z-index: calc(var(--ZI_navbar) + 100);\n    width: 100%;\n    height: 50px;\n    line-height: 50px;\n    position: absolute;\n    color: var(--topBarText);\n    background-color: $fallback--fg;\n    background-color: var(--topBar, $fallback--fg);\n    box-shadow: 0 0 4px rgb(0 0 0 / 60%);\n    box-shadow: var(--topBarShadow);\n\n    .spacer {\n      flex: 1;\n    }\n\n    .title {\n      font-size: 1.3em;\n      margin-left: 0.6em;\n    }\n  }\n\n  .pins {\n    flex: 1;\n\n    .pinned-item {\n      flex-grow: 1;\n    }\n  }\n\n  .mobile-notifications {\n    margin-top: 50px;\n    width: 100vw;\n    height: calc(100vh - var(--navbar-height));\n    overflow-x: hidden;\n    overflow-y: scroll;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n\n    .notifications {\n      padding: 0;\n      border-radius: 0;\n      box-shadow: none;\n\n      .panel {\n        border-radius: 0;\n        margin: 0;\n        box-shadow: none;\n      }\n\n      .panel::after {\n        border-radius: 0;\n      }\n\n      .panel .panel-heading {\n        border-radius: 0;\n        box-shadow: none;\n      }\n    }\n  }\n\n  .confirm-modal.dark-overlay {\n    &::before {\n      z-index: 3000;\n    }\n\n    .dialog-modal.panel {\n      z-index: 3001;\n    }\n  }\n}\n\n","\n@import \"../../variables\";\n\n.SearchBar {\n  display: inline-flex;\n  align-items: baseline;\n  vertical-align: baseline;\n  justify-content: flex-end;\n\n  &.-expanded {\n    width: 100%;\n  }\n\n  .search-bar-input,\n  .search-button {\n    height: 29px;\n  }\n\n  .search-bar-input {\n    flex: 1 0 auto;\n  }\n\n  .cancel-search {\n    height: 50px;\n  }\n\n  .cancel-icon {\n    color: $fallback--text;\n    color: var(--btnTopBarText, $fallback--text);\n  }\n}\n\n","@import \"../../variables\";\n\n.DesktopNav {\n  width: 100%;\n  z-index: var(--ZI_navbar);\n\n  input {\n    color: var(--inputTopbarText, var(--inputText));\n  }\n\n  a {\n    color: var(--topBarLink, $fallback--link);\n  }\n\n  .inner-nav {\n    display: grid;\n    grid-template-rows: var(--navbar-height);\n    grid-template-columns: 2fr auto 2fr;\n    grid-template-areas: \"sitename logo actions\";\n    box-sizing: border-box;\n    padding: 0 1.2em;\n    margin: auto;\n    max-width: 980px;\n  }\n\n  &.-column-stretch .inner-nav {\n    --miniColumn: 25rem;\n    --maxiColumn: 45rem;\n    --columnGap: 1em;\n\n    max-width:\n      calc(\n        var(--sidebarColumnWidth, var(--miniColumn)) +\n        var(--contentColumnWidth, var(--maxiColumn)) +\n        var(--columnGap)\n      );\n  }\n\n  &.-logoLeft .inner-nav {\n    grid-template-columns: auto 2fr 2fr;\n    grid-template-areas: \"logo sitename actions\";\n  }\n\n  &.-column-stretch.-wide .inner-nav {\n    max-width:\n      calc(\n        var(--sidebarColumnWidth, var(--miniColumn)) +\n        var(--contentColumnWidth, var(--maxiColumn)) +\n        var(--notifsColumnWidth, var(--miniColumn)) +\n        var(--columnGap)\n      );\n  }\n\n  .button-default {\n    &,\n    svg {\n      color: $fallback--text;\n      color: var(--btnTopBarText, $fallback--text);\n    }\n\n    &:active {\n      background-color: $fallback--fg;\n      background-color: var(--btnPressedTopBar, $fallback--fg);\n      color: $fallback--text;\n      color: var(--btnPressedTopBarText, $fallback--text);\n    }\n\n    &:disabled {\n      color: $fallback--text;\n      color: var(--btnDisabledTopBarText, $fallback--text);\n    }\n\n    &.toggled {\n      color: $fallback--text;\n      color: var(--btnToggledTopBarText, $fallback--text);\n      background-color: $fallback--fg;\n      background-color: var(--btnToggledTopBar, $fallback--fg);\n    }\n  }\n\n  .logo {\n    grid-area: logo;\n    position: relative;\n    transition: opacity;\n    transition-timing-function: ease-out;\n    transition-duration: 100ms;\n\n    @media all and (min-width: 800px) {\n      /* stylelint-disable-next-line declaration-no-important */\n      opacity: 1 !important;\n    }\n\n    .mask {\n      mask-repeat: no-repeat;\n      mask-position: center;\n      mask-size: contain;\n      background-color: $fallback--fg;\n      background-color: var(--topBarText, $fallback--fg);\n      position: absolute;\n      top: 0;\n      bottom: 0;\n      left: 0;\n      right: 0;\n    }\n\n    img {\n      display: inline-block;\n      height: var(--navbar-height);\n    }\n  }\n\n  .nav-icon {\n    margin-left: 0.2em;\n    width: 2em;\n    height: 100%;\n    text-align: center;\n\n    .svg-inline--fa {\n      color: $fallback--link;\n      color: var(--topBarLink, $fallback--link);\n    }\n  }\n\n  .sitename {\n    grid-area: sitename;\n  }\n\n  .actions {\n    grid-area: actions;\n  }\n\n  .item {\n    flex: 1;\n    line-height: var(--navbar-height);\n    height: var(--navbar-height);\n    overflow: hidden;\n    display: flex;\n    flex-wrap: wrap;\n\n    &.right {\n      justify-content: flex-end;\n      text-align: right;\n    }\n  }\n\n  .spacer {\n    width: 1em;\n  }\n}\n","\n@import \"../../variables\";\n\n.list {\n  &-item:not(:last-child) {\n    border-bottom: 1px solid;\n    border-bottom-color: $fallback--border;\n    border-bottom-color: var(--border, $fallback--border);\n  }\n\n  &-empty-content {\n    text-align: center;\n    padding: 10px;\n  }\n}\n","\n@import \"../../variables\";\n\n.user-reporting-panel {\n  width: 90vw;\n  max-width: 700px;\n  min-height: 20vh;\n  max-height: 80vh;\n\n  .panel-body {\n    display: flex;\n    flex-direction: column-reverse;\n    border-top: 1px solid;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n    overflow: hidden;\n  }\n\n  &-left {\n    padding: 1.1em 0.7em 0.7em;\n    line-height: var(--post-line-height);\n    box-sizing: border-box;\n\n    > div {\n      margin-bottom: 1em;\n\n      &:last-child {\n        margin-bottom: 0;\n      }\n    }\n\n    p {\n      margin-top: 0;\n    }\n\n    textarea.form-control {\n      line-height: 16px;\n      resize: none;\n      overflow: hidden;\n      transition: min-height 200ms 100ms;\n      min-height: 44px;\n      width: 100%;\n    }\n\n    .btn {\n      min-width: 10em;\n      padding: 0 2em;\n    }\n\n    .alert {\n      margin: 1em 0 0;\n      line-height: 1.3em;\n    }\n  }\n\n  &-right {\n    display: flex;\n    flex-direction: column;\n    overflow-y: auto;\n  }\n\n  &-sitem {\n    display: flex;\n    justify-content: space-between;\n\n    /* TODO cleanup this */\n    > .Status {\n      flex: 1;\n    }\n\n    > .checkbox {\n      margin: 0.75em;\n    }\n  }\n\n  @media all and (min-width: 801px) {\n    .panel-body {\n      flex-direction: row;\n    }\n\n    &-left {\n      width: 50%;\n      max-width: 320px;\n      border-right: 1px solid;\n      border-color: $fallback--border;\n      border-color: var(--border, $fallback--border);\n      padding: 1.1em;\n\n      > div {\n        margin-bottom: 2em;\n      }\n    }\n\n    &-right {\n      width: 50%;\n      flex: 1 1 auto;\n      margin-bottom: 12px;\n    }\n  }\n}\n","\n.modal-view.edit-form-modal-view {\n  align-items: flex-start;\n}\n\n.edit-form-modal-panel {\n  flex-shrink: 0;\n  margin-top: 25%;\n  margin-bottom: 2em;\n  width: 100%;\n  max-width: 700px;\n\n  @media (orientation: landscape) {\n    margin-top: 8%;\n  }\n\n  .form-bottom-left {\n    max-width: 6.5em;\n\n    .emoji-icon {\n      justify-content: right;\n    }\n  }\n}\n","\n.modal-view.post-form-modal-view {\n  align-items: flex-start;\n}\n\n.post-form-modal-panel {\n  flex-shrink: 0;\n  margin-top: 25%;\n  margin-bottom: 2em;\n  width: 100%;\n  max-width: 700px;\n\n  @media (orientation: landscape) {\n    margin-top: 8%;\n  }\n}\n","\n.modal-view.status-history-modal-view {\n  align-items: flex-start;\n}\n\n.status-history-modal-panel {\n  flex-shrink: 0;\n  margin-top: 25%;\n  margin-bottom: 2em;\n  width: 100%;\n  max-width: 700px;\n\n  @media (orientation: landscape) {\n    margin-top: 8%;\n  }\n}\n","\n@import \"../../variables\";\n\n.global-notice-list {\n  position: fixed;\n  top: calc(var(--navbar-height) + 0.5em);\n  width: 100%;\n  pointer-events: none;\n  z-index: var(--ZI_navbar_popovers);\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n\n  .global-notice {\n    pointer-events: auto;\n    text-align: center;\n    width: 40em;\n    max-width: calc(100% - 3em);\n    display: flex;\n    padding-left: 1.5em;\n    line-height: 2;\n    margin-bottom: 0.5em;\n\n    .notice-message {\n      flex: 1 1 100%;\n    }\n  }\n\n  .global-error {\n    background-color: var(--alertPopupError, $fallback--cRed);\n    color: var(--alertPopupErrorText, $fallback--text);\n\n    .svg-inline--fa {\n      color: var(--alertPopupErrorText, $fallback--text);\n    }\n  }\n\n  .global-warning {\n    background-color: var(--alertPopupWarning, $fallback--cOrange);\n    color: var(--alertPopupWarningText, $fallback--text);\n\n    .svg-inline--fa {\n      color: var(--alertPopupWarningText, $fallback--text);\n    }\n  }\n\n  .global-success {\n    background-color: var(--alertPopupSuccess, $fallback--cGreen);\n    color: var(--alertPopupSuccessText, $fallback--text);\n\n    .svg-inline--fa {\n      color: var(--alertPopupSuccessText, $fallback--text);\n    }\n  }\n\n  .global-info {\n    background-color: var(--alertPopupNeutral, $fallback--fg);\n    color: var(--alertPopupNeutralText, $fallback--text);\n\n    .svg-inline--fa {\n      color: var(--alertPopupNeutralText, $fallback--text);\n    }\n  }\n\n  .close-notice {\n    padding-right: 0.2em;\n\n    .svg-inline--fa:hover {\n      opacity: 0.6;\n    }\n  }\n}\n","// stylelint-disable rscss/class-format\n/* stylelint-disable no-descending-specificity */\n@import \"./variables\";\n@import \"./panel\";\n\n:root {\n  --navbar-height: 3.5rem;\n  --post-line-height: 1.4;\n  // Z-Index stuff\n  --ZI_media_modal: 9000;\n  --ZI_modals_popovers: 8500;\n  --ZI_modals: 8000;\n  --ZI_navbar_popovers: 7500;\n  --ZI_navbar: 7000;\n  --ZI_popovers: 6000;\n}\n\nhtml {\n  font-size: 14px;\n  // overflow-x: clip causes my browser's tab to crash with SIGILL lul\n}\n\nbody {\n  font-family: sans-serif;\n  font-family: var(--interfaceFont, sans-serif);\n  margin: 0;\n  color: $fallback--text;\n  color: var(--text, $fallback--text);\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  overscroll-behavior-y: none;\n  overflow-x: clip;\n  overflow-y: scroll;\n\n  &.hidden {\n    display: none;\n  }\n}\n\n// ## Custom scrollbars\n// Only show custom scrollbars on devices which\n// have a cursor/pointer to operate them\n@media (any-pointer: fine) {\n  * {\n    scrollbar-color: var(--btn) transparent;\n\n    &::-webkit-scrollbar {\n      background: transparent;\n    }\n\n    &::-webkit-scrollbar-button,\n    &::-webkit-scrollbar-thumb {\n      background-color: var(--btn);\n      box-shadow: var(--buttonShadow);\n      border-radius: var(--btnRadius);\n    }\n\n    // horizontal/vertical/increment/decrement are webkit-specific stuff\n    // that indicates whether we're affecting vertical scrollbar, increase button etc\n    // stylelint-disable selector-pseudo-class-no-unknown\n    &::-webkit-scrollbar-button {\n      --___bgPadding: 2px;\n\n      color: var(--btnText);\n      background-repeat: no-repeat, no-repeat;\n\n      &:horizontal {\n        background-size: 50% calc(50% - var(--___bgPadding)), 50% calc(50% - var(--___bgPadding));\n\n        &:increment {\n          background-image:\n            linear-gradient(45deg, var(--btnText) 50%, transparent 51%),\n            linear-gradient(-45deg, transparent 50%, var(--btnText) 51%);\n          background-position: top var(--___bgPadding) left 50%, right 50% bottom var(--___bgPadding);\n        }\n\n        &:decrement {\n          background-image:\n            linear-gradient(45deg, transparent 50%, var(--btnText) 51%),\n            linear-gradient(-45deg, var(--btnText) 50%, transparent 51%);\n          background-position: bottom var(--___bgPadding) right 50%, left 50% top var(--___bgPadding);\n        }\n      }\n\n      &:vertical {\n        background-size: calc(50% - var(--___bgPadding)) 50%, calc(50% - var(--___bgPadding)) 50%;\n\n        &:increment {\n          background-image:\n            linear-gradient(-45deg, transparent 50%, var(--btnText) 51%),\n            linear-gradient(45deg, transparent 50%, var(--btnText) 51%);\n          background-position: right var(--___bgPadding) top 50%, left var(--___bgPadding) top 50%;\n        }\n\n        &:decrement {\n          background-image:\n            linear-gradient(-45deg, var(--btnText) 50%, transparent 51%),\n            linear-gradient(45deg, var(--btnText) 50%, transparent 51%);\n          background-position: left var(--___bgPadding) top 50%, right var(--___bgPadding) top 50%;\n        }\n      }\n    }\n    // stylelint-enable selector-pseudo-class-no-unknown\n  }\n  // Body should have background to scrollbar otherwise it will use white (body color?)\n  html {\n    scrollbar-color: var(--selectedMenu) var(--wallpaper);\n    background: var(--wallpaper);\n  }\n}\n\na {\n  text-decoration: none;\n  color: $fallback--link;\n  color: var(--link, $fallback--link);\n}\n\nh4 {\n  margin: 0;\n}\n\n.iconLetter {\n  display: inline-block;\n  text-align: center;\n  font-weight: 1000;\n}\n\ni[class*=\"icon-\"],\n.svg-inline--fa,\n.iconLetter {\n  color: $fallback--icon;\n  color: var(--icon, $fallback--icon);\n}\n\n.button-unstyled:hover,\na:hover {\n  > i[class*=\"icon-\"],\n  > .svg-inline--fa,\n  > .iconLetter {\n    color: var(--text);\n  }\n}\n\nnav {\n  z-index: var(--ZI_navbar);\n  background-color: $fallback--fg;\n  background-color: var(--topBar, $fallback--fg);\n  color: $fallback--faint;\n  color: var(--faint, $fallback--faint);\n  box-shadow: 0 0 4px rgb(0 0 0 / 60%);\n  box-shadow: var(--topBarShadow);\n  box-sizing: border-box;\n  height: var(--navbar-height);\n  position: fixed;\n}\n\n#sidebar {\n  grid-area: sidebar;\n}\n\n#modal {\n  position: absolute;\n  z-index: var(--ZI_modals);\n}\n\n.column.-scrollable {\n  top: var(--navbar-height);\n  position: sticky;\n}\n\n#main-scroller {\n  grid-area: content;\n  position: relative;\n}\n\n#notifs-column {\n  grid-area: notifs;\n}\n\n.app-bg-wrapper {\n  position: fixed;\n  height: 100%;\n  top: var(--navbar-height);\n  z-index: -1000;\n  left: 0;\n  right: -20px;\n  background-size: cover;\n  background-repeat: no-repeat;\n  background-color: var(--wallpaper);\n  background-image: var(--body-background-image);\n  background-position: 50%;\n}\n\n.underlay {\n  grid-column: 1 / span 3;\n  grid-row: 1 / 1;\n  pointer-events: none;\n  background-color: rgb(0 0 0 / 15%);\n  background-color: var(--underlay, rgb(0 0 0 / 15%));\n  z-index: -1000;\n}\n\n.app-layout {\n  --miniColumn: 25rem;\n  --maxiColumn: 45rem;\n  --columnGap: 1em;\n  --status-margin: 0.75em;\n  --effectiveSidebarColumnWidth: minmax(var(--miniColumn), var(--sidebarColumnWidth, var(--miniColumn)));\n  --effectiveNotifsColumnWidth: minmax(var(--miniColumn), var(--notifsColumnWidth, var(--miniColumn)));\n  --effectiveContentColumnWidth: minmax(var(--miniColumn), var(--contentColumnWidth, var(--maxiColumn)));\n\n  position: relative;\n  display: grid;\n  grid-template-columns:\n    var(--effectiveSidebarColumnWidth)\n    var(--effectiveContentColumnWidth);\n  grid-template-areas: \"sidebar content\";\n  grid-template-rows: 1fr;\n  box-sizing: border-box;\n  margin: 0 auto;\n  align-content: flex-start;\n  flex-wrap: wrap;\n  justify-content: center;\n  min-height: 100vh;\n  overflow-x: clip;\n\n  .column {\n    --___columnMargin: var(--columnGap);\n\n    display: grid;\n    grid-template-columns: 100%;\n    box-sizing: border-box;\n    grid-row: 1 / 1;\n    margin: 0 calc(var(--___columnMargin) / 2);\n    padding: calc(var(--___columnMargin)) 0;\n    row-gap: var(--___columnMargin);\n    align-content: start;\n\n    &:not(.-scrollable) {\n      margin-top: var(--navbar-height);\n    }\n\n    &:hover {\n      z-index: 2;\n    }\n\n    &.-full-height {\n      margin-bottom: 0;\n      padding-top: 0;\n      padding-bottom: 0;\n    }\n\n    &.-scrollable {\n      --___paddingIncrease: calc(var(--columnGap) / 2);\n\n      position: sticky;\n      top: var(--navbar-height);\n      max-height: calc(100vh - var(--navbar-height));\n      overflow-y: auto;\n      overflow-x: hidden;\n      margin-left: calc(var(--___paddingIncrease) * -1);\n      padding-left: calc(var(--___paddingIncrease) + var(--___columnMargin) / 2);\n\n      // On browsers that don't support hiding scrollbars we enforce \"show scrolbars\" mode\n      // might implement old style of hiding scrollbars later if there's demand\n      @supports (scrollbar-width: none) or (-webkit-text-fill-color: initial) {\n        &:not(.-show-scrollbar) {\n          scrollbar-width: none;\n          margin-right: calc(var(--___paddingIncrease) * -1);\n          padding-right: calc(var(--___paddingIncrease) + var(--___columnMargin) / 2);\n\n          &::-webkit-scrollbar {\n            display: block;\n            width: 0;\n          }\n        }\n      }\n\n      .panel-heading.-sticky {\n        top: calc(var(--columnGap) / -1);\n      }\n    }\n  }\n\n  &.-has-new-post-button {\n    .column {\n      padding-bottom: 10rem;\n    }\n  }\n\n  &.-no-sticky-headers {\n    .column {\n      .panel-heading.-sticky {\n        position: relative;\n        top: 0;\n      }\n    }\n  }\n\n  .column-inner {\n    display: grid;\n    grid-template-columns: 100%;\n    box-sizing: border-box;\n    row-gap: 1em;\n    align-content: start;\n  }\n\n  &.-reverse:not(.-wide, .-mobile) {\n    grid-template-columns:\n      var(--effectiveContentColumnWidth)\n      var(--effectiveSidebarColumnWidth);\n    grid-template-areas: \"content sidebar\";\n  }\n\n  &.-wide {\n    grid-template-columns:\n      var(--effectiveSidebarColumnWidth)\n      var(--effectiveContentColumnWidth)\n      var(--effectiveNotifsColumnWidth);\n    grid-template-areas: \"sidebar content notifs\";\n\n    &.-reverse {\n      grid-template-columns:\n        var(--effectiveNotifsColumnWidth)\n        var(--effectiveContentColumnWidth)\n        var(--effectiveSidebarColumnWidth);\n      grid-template-areas: \"notifs content sidebar\";\n    }\n  }\n\n  &.-mobile {\n    grid-template-columns: 100vw;\n    grid-template-areas: \"content\";\n    padding: 0;\n\n    .column {\n      padding-top: 0;\n      margin: var(--navbar-height) 0 0 0;\n    }\n\n    .panel-heading,\n    .panel-heading::after,\n    .panel-heading::before,\n    .panel,\n    .panel::after {\n      border-top-left-radius: 0;\n      border-top-right-radius: 0;\n    }\n\n    #sidebar,\n    #notifs-column {\n      display: none;\n    }\n  }\n\n  &.-normal {\n    #notifs-column {\n      display: none;\n    }\n  }\n}\n\n.text-center {\n  text-align: center;\n}\n\n.button-default {\n  user-select: none;\n  color: $fallback--text;\n  color: var(--btnText, $fallback--text);\n  background-color: $fallback--fg;\n  background-color: var(--btn, $fallback--fg);\n  border: none;\n  border-radius: $fallback--btnRadius;\n  border-radius: var(--btnRadius, $fallback--btnRadius);\n  cursor: pointer;\n  box-shadow: $fallback--buttonShadow;\n  box-shadow: var(--buttonShadow);\n  font-size: 1em;\n  font-family: sans-serif;\n  font-family: var(--interfaceFont, sans-serif);\n\n  &.-sublime {\n    background: transparent;\n  }\n\n  i[class*=\"icon-\"],\n  .svg-inline--fa {\n    color: $fallback--text;\n    color: var(--btnText, $fallback--text);\n  }\n\n  &::-moz-focus-inner {\n    border: none;\n  }\n\n  &:hover {\n    box-shadow: 0 0 4px rgb(255 255 255 / 30%);\n    box-shadow: var(--buttonHoverShadow);\n  }\n\n  &:active {\n    box-shadow:\n      0 0 4px 0 rgb(255 255 255 / 30%),\n      0 1px 0 0 rgb(0 0 0 / 20%) inset,\n      0 -1px 0 0 rgb(255 255 255 / 20%) inset;\n    box-shadow: var(--buttonPressedShadow);\n    color: $fallback--text;\n    color: var(--btnPressedText, $fallback--text);\n    background-color: $fallback--fg;\n    background-color: var(--btnPressed, $fallback--fg);\n\n    svg,\n    i {\n      color: $fallback--text;\n      color: var(--btnPressedText, $fallback--text);\n    }\n  }\n\n  &:disabled {\n    cursor: not-allowed;\n    color: $fallback--text;\n    color: var(--btnDisabledText, $fallback--text);\n    background-color: $fallback--fg;\n    background-color: var(--btnDisabled, $fallback--fg);\n\n    svg,\n    i {\n      color: $fallback--text;\n      color: var(--btnDisabledText, $fallback--text);\n    }\n  }\n\n  &.toggled {\n    color: $fallback--text;\n    color: var(--btnToggledText, $fallback--text);\n    background-color: $fallback--fg;\n    background-color: var(--btnToggled, $fallback--fg);\n    box-shadow:\n      0 0 4px 0 rgb(255 255 255 / 30%),\n      0 1px 0 0 rgb(0 0 0 / 20%) inset,\n      0 -1px 0 0 rgb(255 255 255 / 20%) inset;\n    box-shadow: var(--buttonPressedShadow);\n\n    svg,\n    i {\n      color: $fallback--text;\n      color: var(--btnToggledText, $fallback--text);\n    }\n  }\n\n  &.danger {\n    // TODO: add better color variable\n    color: $fallback--text;\n    color: var(--alertErrorPanelText, $fallback--text);\n    background-color: $fallback--alertError;\n    background-color: var(--alertError, $fallback--alertError);\n  }\n}\n\n.button-unstyled {\n  background: none;\n  border: none;\n  outline: none;\n  display: inline;\n  text-align: initial;\n  font-size: 100%;\n  font-family: inherit;\n  padding: 0;\n  line-height: unset;\n  cursor: pointer;\n  box-sizing: content-box;\n  color: inherit;\n\n  &.-link {\n    color: $fallback--link;\n    color: var(--link, $fallback--link);\n  }\n\n  &.-fullwidth {\n    width: 100%;\n  }\n\n  &.-hover-highlight {\n    &:hover svg {\n      color: $fallback--lightText;\n      color: var(--lightText, $fallback--lightText);\n    }\n  }\n}\n\ninput,\ntextarea,\n.input {\n  &.unstyled {\n    border-radius: 0;\n    background: none;\n    box-shadow: none;\n    height: unset;\n  }\n\n  --_padding: 0.5em;\n\n  border: none;\n  border-radius: $fallback--inputRadius;\n  border-radius: var(--inputRadius, $fallback--inputRadius);\n  box-shadow:\n    0 1px 0 0 rgb(0 0 0 / 20%) inset,\n    0 -1px 0 0 rgb(255 255 255 / 20%) inset,\n    0 0 2px 0 rgb(0 0 0 / 100%) inset;\n  box-shadow: var(--inputShadow);\n  background-color: $fallback--fg;\n  background-color: var(--input, $fallback--fg);\n  color: $fallback--lightText;\n  color: var(--inputText, $fallback--lightText);\n  font-family: sans-serif;\n  font-family: var(--inputFont, sans-serif);\n  font-size: 1em;\n  margin: 0;\n  box-sizing: border-box;\n  display: inline-block;\n  position: relative;\n  line-height: 2;\n  hyphens: none;\n  padding: 0 var(--_padding);\n\n  &:disabled,\n  &[disabled=\"disabled\"],\n  &.disabled {\n    cursor: not-allowed;\n    opacity: 0.5;\n  }\n\n  &[type=\"range\"] {\n    background: none;\n    border: none;\n    margin: 0;\n    box-shadow: none;\n    flex: 1;\n  }\n\n  &[type=\"radio\"] {\n    display: none;\n\n    &:checked + label::before {\n      box-shadow: 0 0 2px black inset, 0 0 0 4px $fallback--fg inset;\n      box-shadow: var(--inputShadow), 0 0 0 4px var(--fg, $fallback--fg) inset;\n      background-color: var(--accent, $fallback--link);\n    }\n\n    &:disabled {\n      &,\n      & + label,\n      & + label::before {\n        opacity: 0.5;\n      }\n    }\n\n    + label::before {\n      flex-shrink: 0;\n      display: inline-block;\n      content: \"\";\n      transition: box-shadow 200ms;\n      width: 1.1em;\n      height: 1.1em;\n      border-radius: 100%; // Radio buttons should always be circle\n      box-shadow: 0 0 2px black inset;\n      box-shadow: var(--inputShadow);\n      margin-right: 0.5em;\n      background-color: $fallback--fg;\n      background-color: var(--input, $fallback--fg);\n      vertical-align: top;\n      text-align: center;\n      line-height: 1.1;\n      font-size: 1.1em;\n      box-sizing: border-box;\n      color: transparent;\n      overflow: hidden;\n    }\n  }\n\n  &[type=\"checkbox\"] {\n    &:checked + label::before {\n      color: $fallback--text;\n      color: var(--inputText, $fallback--text);\n    }\n\n    &:disabled {\n      &,\n      & + label,\n      & + label::before {\n        opacity: 0.5;\n      }\n    }\n\n    + label::before {\n      flex-shrink: 0;\n      display: inline-block;\n      content: \"✓\";\n      transition: color 200ms;\n      width: 1.1em;\n      height: 1.1em;\n      border-radius: $fallback--checkboxRadius;\n      border-radius: var(--checkboxRadius, $fallback--checkboxRadius);\n      box-shadow: 0 0 2px black inset;\n      box-shadow: var(--inputShadow);\n      margin-right: 0.5em;\n      background-color: $fallback--fg;\n      background-color: var(--input, $fallback--fg);\n      vertical-align: top;\n      text-align: center;\n      line-height: 1.1;\n      font-size: 1.1em;\n      box-sizing: border-box;\n      color: transparent;\n      overflow: hidden;\n    }\n  }\n\n  &.resize-height {\n    resize: vertical;\n  }\n}\n\n// Textareas should have stock line-height + vertical padding instead of huge line-height\ntextarea {\n  padding: var(--_padding);\n  line-height: var(--post-line-height);\n}\n\noption {\n  color: $fallback--text;\n  color: var(--text, $fallback--text);\n  background-color: $fallback--bg;\n  background-color: var(--bg, $fallback--bg);\n}\n\n.hide-number-spinner {\n  appearance: textfield;\n\n  &[type=\"number\"]::-webkit-inner-spin-button,\n  &[type=\"number\"]::-webkit-outer-spin-button {\n    opacity: 0;\n    display: none;\n  }\n}\n\n.cards-list {\n  list-style: none;\n  display: grid;\n  grid-auto-flow: row dense;\n  grid-template-columns: 1fr 1fr;\n\n  li {\n    border: 1px solid var(--border);\n    border-radius: var(--inputRadius);\n    padding: 0.5em;\n    margin: 0.25em;\n  }\n}\n\n.btn-block {\n  display: block;\n  width: 100%;\n}\n\n.btn-group {\n  position: relative;\n  display: inline-flex;\n  vertical-align: middle;\n\n  button,\n  .button-dropdown {\n    position: relative;\n    flex: 1 1 auto;\n\n    &:not(:last-child),\n    &:not(:last-child) .button-default {\n      border-top-right-radius: 0;\n      border-bottom-right-radius: 0;\n    }\n\n    &:not(:first-child),\n    &:not(:first-child) .button-default {\n      border-top-left-radius: 0;\n      border-bottom-left-radius: 0;\n    }\n  }\n}\n\n.fa {\n  color: grey;\n}\n\n.mobile-shown {\n  display: none;\n}\n\n.badge {\n  box-sizing: border-box;\n  display: inline-block;\n  border-radius: 99px;\n  max-width: 10em;\n  min-width: 1.7em;\n  height: 1.3em;\n  padding: 0.15em;\n  vertical-align: middle;\n  font-weight: normal;\n  font-style: normal;\n  font-size: 0.9em;\n  line-height: 1;\n  text-align: center;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n\n  &.badge-notification {\n    background-color: $fallback--cRed;\n    background-color: var(--badgeNotification, $fallback--cRed);\n    color: white;\n    color: var(--badgeNotificationText, white);\n  }\n}\n\n.alert {\n  margin: 0 0.35em;\n  padding: 0 0.25em;\n  border-radius: $fallback--tooltipRadius;\n  border-radius: var(--tooltipRadius, $fallback--tooltipRadius);\n\n  &.error {\n    background-color: $fallback--alertError;\n    background-color: var(--alertError, $fallback--alertError);\n    color: $fallback--text;\n    color: var(--alertErrorText, $fallback--text);\n\n    .panel-heading & {\n      color: $fallback--text;\n      color: var(--alertErrorPanelText, $fallback--text);\n    }\n  }\n\n  &.warning {\n    background-color: $fallback--alertWarning;\n    background-color: var(--alertWarning, $fallback--alertWarning);\n    color: $fallback--text;\n    color: var(--alertWarningText, $fallback--text);\n\n    .panel-heading & {\n      color: $fallback--text;\n      color: var(--alertWarningPanelText, $fallback--text);\n    }\n  }\n\n  &.success {\n    background-color: var(--alertSuccess, $fallback--alertWarning);\n    color: var(--alertSuccessText, $fallback--text);\n\n    .panel-heading & {\n      color: var(--alertSuccessPanelText, $fallback--text);\n    }\n  }\n}\n\n.faint {\n  color: $fallback--faint;\n  color: var(--faint, $fallback--faint);\n}\n\n.faint-link {\n  color: $fallback--faint;\n  color: var(--faint, $fallback--faint);\n\n  &:hover {\n    text-decoration: underline;\n  }\n}\n\n.visibility-notice {\n  padding: 0.5em;\n  border: 1px solid $fallback--faint;\n  border: 1px solid var(--faint, $fallback--faint);\n  border-radius: $fallback--inputRadius;\n  border-radius: var(--inputRadius, $fallback--inputRadius);\n}\n\n.notice-dismissible {\n  padding-right: 4rem;\n  position: relative;\n\n  .dismiss {\n    position: absolute;\n    top: 0;\n    right: 0;\n    padding: 0.5em;\n    color: inherit;\n  }\n}\n\n.fa-scale-110 {\n  &.svg-inline--fa,\n  &.iconLetter {\n    font-size: 1.1em;\n  }\n}\n\n.fa-old-padding {\n  &.iconLetter,\n  &.svg-inline--fa,\n  &-layer {\n    padding: 0 0.3em;\n  }\n}\n\n.veryfaint {\n  opacity: 0.25;\n}\n\n.login-hint {\n  text-align: center;\n\n  @media all and (min-width: 801px) {\n    display: none;\n  }\n\n  a {\n    display: inline-block;\n    padding: 1em 0;\n    width: 100%;\n  }\n}\n\n.btn.button-default {\n  min-height: 2em;\n}\n\n.new-status-notification {\n  position: relative;\n  font-size: 1.1em;\n  z-index: 1;\n  flex: 1;\n}\n\n@media all and (max-width: 800px) {\n  .mobile-hidden {\n    display: none;\n  }\n}\n\n@keyframes spin {\n  0% {\n    transform: rotate(0deg);\n  }\n\n  100% {\n    transform: rotate(359deg);\n  }\n}\n\n@keyframes shakeError {\n  0% {\n    transform: translateX(0);\n  }\n\n  15% {\n    transform: translateX(0.375rem);\n  }\n\n  30% {\n    transform: translateX(-0.375rem);\n  }\n\n  45% {\n    transform: translateX(0.375rem);\n  }\n\n  60% {\n    transform: translateX(-0.375rem);\n  }\n\n  75% {\n    transform: translateX(0.375rem);\n  }\n\n  90% {\n    transform: translateX(-0.375rem);\n  }\n\n  100% {\n    transform: translateX(0);\n  }\n}\n\n// Vue transitions\n.fade-enter-active,\n.fade-leave-active {\n  transition: opacity 0.3s;\n}\n\n.fade-enter-from,\n.fade-leave-active {\n  opacity: 0;\n}\n/* stylelint-enable no-descending-specificity */\n\n.visible-for-screenreader-only {\n  display: block;\n  width: 1px;\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  visibility: visible;\n  clip: rect(0 0 0 0);\n  padding: 0;\n  position: absolute;\n}\n","/* stylelint-disable no-descending-specificity */\n.panel {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  background-color: $fallback--bg;\n  background-color: var(--bg, $fallback--bg);\n\n  &::after,\n  & {\n    border-radius: $fallback--panelRadius;\n    border-radius: var(--panelRadius, $fallback--panelRadius);\n  }\n\n  &::after {\n    content: \"\";\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    z-index: 5;\n    box-shadow: 1px 1px 4px rgb(0 0 0 / 60%);\n    box-shadow: var(--panelShadow);\n    pointer-events: none;\n  }\n}\n\n.panel-body {\n  padding: var(--panel-body-padding, 0);\n\n  &:empty::before {\n    content: \"¯\\\\_(ツ)_/¯\"; // Could use words but it'd require translations\n    display: block;\n    margin: 1em;\n    text-align: center;\n  }\n\n  > p {\n    line-height: 1.3;\n    padding: 1em;\n    margin: 0;\n  }\n}\n\n.panel-heading,\n.panel-footer {\n  --panel-heading-height-padding: 0.6em;\n  --__panel-heading-gap: 0.5em;\n  --__panel-heading-height: 3.2em;\n  --__panel-heading-height-inner: calc(var(--__panel-heading-height) - 2 * var(--panel-heading-height-padding, 0));\n\n  position: relative;\n  box-sizing: border-box;\n  display: grid;\n  grid-auto-flow: column;\n  grid-template-columns: minmax(50%, 1fr);\n  grid-auto-columns: auto;\n  grid-column-gap: var(--__panel-heading-gap);\n  flex: none;\n  background-size: cover;\n  padding: var(--panel-heading-height-padding);\n  height: var(--__panel-heading-height);\n  line-height: var(--__panel-heading-height-inner);\n  z-index: 4;\n\n  &.-flexible-height {\n    --__panel-heading-height: auto;\n\n    &::after,\n    &::before {\n      display: none;\n    }\n  }\n\n  &.-stub {\n    &,\n    &::after {\n      border-radius: $fallback--panelRadius;\n      border-radius: var(--panelRadius, $fallback--panelRadius);\n    }\n  }\n\n  &.-sticky {\n    position: sticky;\n    top: var(--navbar-height);\n  }\n\n  &::after,\n  &::before {\n    content: \"\";\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    right: 0;\n    left: 0;\n    pointer-events: none;\n  }\n\n  .title {\n    font-size: 1.3em;\n  }\n\n  .alert {\n    white-space: nowrap;\n    text-overflow: ellipsis;\n    overflow-x: hidden;\n  }\n\n  &:not(.-flexible-height) {\n    > .button-default,\n    > .alert {\n      height: var(--__panel-heading-height-inner);\n      min-height: 0;\n      box-sizing: border-box;\n      margin: 0;\n      min-width: 1px;\n      padding-top: 0;\n      padding-bottom: 0;\n      align-self: stretch;\n    }\n  }\n}\n\n// TODO Should refactor panels into separate component and utilize slots\n\n.panel-heading {\n  border-radius: $fallback--panelRadius $fallback--panelRadius 0 0;\n  border-radius: var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius) 0 0;\n  border-width: 0 0 1px;\n  align-items: start;\n  // panel theme\n  color: var(--panelText);\n  background-color: $fallback--bg;\n  background-color: var(--bg, $fallback--bg);\n\n  &::after {\n    background-color: $fallback--fg;\n    background-color: var(--panel, $fallback--fg);\n    z-index: -2;\n    border-radius: $fallback--panelRadius $fallback--panelRadius 0 0;\n    border-radius: var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius) 0 0;\n    box-shadow: var(--panelHeaderShadow);\n  }\n\n  a,\n  .-link {\n    color: $fallback--link;\n    color: var(--panelLink, $fallback--link);\n  }\n\n  .button-unstyled:hover,\n  a:hover {\n    i[class*=\"icon-\"],\n    .svg-inline--fa,\n    .iconLetter {\n      color: var(--panelText);\n    }\n  }\n\n  .faint {\n    background-color: transparent;\n    color: $fallback--faint;\n    color: var(--panelFaint, $fallback--faint);\n  }\n\n  .faint-link {\n    color: $fallback--faint;\n    color: var(--faintLink, $fallback--faint);\n  }\n\n  &:not(.-flexible-height) {\n    > .button-default {\n      flex-shrink: 0;\n\n      &,\n      i[class*=\"icon-\"] {\n        color: $fallback--text;\n        color: var(--btnPanelText, $fallback--text);\n      }\n\n      &:active {\n        background-color: $fallback--fg;\n        background-color: var(--btnPressedPanel, $fallback--fg);\n        color: $fallback--text;\n        color: var(--btnPressedPanelText, $fallback--text);\n      }\n\n      &:disabled {\n        color: $fallback--text;\n        color: var(--btnDisabledPanelText, $fallback--text);\n      }\n\n      &.toggled {\n        color: $fallback--text;\n        color: var(--btnToggledPanelText, $fallback--text);\n      }\n    }\n  }\n\n  .rightside-button {\n    align-self: stretch;\n    text-align: center;\n    width: var(--__panel-heading-height);\n    height: var(--__panel-heading-height);\n    margin: calc(-1 * var(--panel-heading-height-padding)) 0;\n    margin-right: calc(-1 * var(--__panel-heading-gap));\n\n    > button {\n      box-sizing: border-box;\n      padding: calc(1 * var(--panel-heading-height-padding)) 0;\n      height: 100%;\n      width: 100%;\n      text-align: center;\n\n      svg {\n        font-size: 1.2em;\n      }\n    }\n  }\n\n  .rightside-icon {\n    align-self: stretch;\n    text-align: center;\n    width: var(--__panel-heading-height);\n    margin-right: calc(-1 * var(--__panel-heading-gap));\n\n    svg {\n      font-size: 1.2em;\n    }\n  }\n}\n\n.panel-footer {\n  border-radius: 0 0 $fallback--panelRadius $fallback--panelRadius;\n  border-radius: 0 0 var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius);\n  align-items: center;\n  border-width: 1px 0 0;\n  border-style: solid;\n  border-color: var(--border, $fallback--border);\n}\n/* stylelint-enable no-descending-specificity */\n","\n@import \"../../variables\";\n\n.thread-tree-replies {\n  margin-left: var(--status-margin, $status-margin);\n  border-left: 2px solid var(--border, $fallback--border);\n}\n\n.thread-tree-replies-hidden {\n  padding: var(--status-margin, $status-margin);\n\n  /* Make the button stretch along the whole row */\n  display: flex;\n  align-items: stretch;\n  flex-direction: column;\n}\n","\n@import \"../../variables\";\n\n.Conversation {\n  z-index: 1;\n\n  .conversation-dive-to-top-level-box {\n    padding: var(--status-margin, $status-margin);\n    border-bottom: 1px solid var(--border, $fallback--border);\n    border-radius: 0;\n\n    /* Make the button stretch along the whole row */\n    display: flex;\n    align-items: stretch;\n    flex-direction: column;\n  }\n\n  .thread-ancestors {\n    margin-left: var(--status-margin, $status-margin);\n    border-left: 2px solid var(--border, $fallback--border);\n  }\n\n  .thread-ancestor.-faded .StatusContent {\n    --link: var(--faintLink);\n    --text: var(--faint);\n\n    color: var(--text);\n  }\n\n  .thread-ancestor-dive-box {\n    padding-left: var(--status-margin, $status-margin);\n    border-bottom: 1px solid var(--border, $fallback--border);\n    border-radius: 0;\n\n    /* Make the button stretch along the whole row */\n    &,\n    &-inner {\n      display: flex;\n      align-items: stretch;\n      flex-direction: column;\n    }\n  }\n\n  .thread-ancestor-dive-box-inner {\n    padding: var(--status-margin, $status-margin);\n  }\n\n  .conversation-status {\n    border-bottom: 1px solid var(--border, $fallback--border);\n    border-radius: 0;\n  }\n\n  .thread-ancestor-has-other-replies .conversation-status,\n  &:last-child .conversation-status,\n  .thread-ancestor:last-child .conversation-status,\n  .thread-ancestor:last-child .thread-ancestor-dive-box,\n  &.-expanded .thread-tree .conversation-status {\n    border-bottom: none;\n  }\n\n  .thread-ancestors + .thread-tree > .conversation-status {\n    border-top: 1px solid var(--border, $fallback--border);\n  }\n\n  /* expanded conversation in timeline */\n  &.status-fadein.-expanded .thread-body {\n    border-left: 4px solid $fallback--cRed;\n    border-left-color: var(--cRed, $fallback--cRed);\n    border-radius: 0 0 $fallback--panelRadius $fallback--panelRadius;\n    border-radius: 0 0 var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius);\n    border-bottom: 1px solid var(--border, $fallback--border);\n  }\n\n  &.-expanded.status-fadein {\n    margin: calc(var(--status-margin, $status-margin) / 2);\n  }\n}\n","\n@import \"../../variables\";\n\n.timeline-menu-popover {\n  min-width: 24rem;\n  max-width: 100vw;\n  margin-top: 0.6rem;\n  font-size: 1rem;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n\n  ul {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n  }\n\n  a {\n    display: block;\n    padding: 0 0.65em;\n    height: 3.5em;\n    line-height: 3.5em;\n\n    &:hover {\n      background-color: $fallback--lightBg;\n      background-color: var(--selectedMenu, $fallback--lightBg);\n      color: $fallback--link;\n      color: var(--selectedMenuText, $fallback--link);\n\n      --faint: var(--selectedMenuFaintText, $fallback--faint);\n      --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n      --lightText: var(--selectedMenuLightText, $fallback--lightText);\n      --icon: var(--selectedMenuIcon, $fallback--icon);\n    }\n\n    &.router-link-active {\n      font-weight: bolder;\n      background-color: $fallback--lightBg;\n      background-color: var(--selectedMenu, $fallback--lightBg);\n      color: $fallback--text;\n      color: var(--selectedMenuText, $fallback--text);\n\n      --faint: var(--selectedMenuFaintText, $fallback--faint);\n      --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n      --lightText: var(--selectedMenuLightText, $fallback--lightText);\n      --icon: var(--selectedMenuIcon, $fallback--icon);\n\n      &:hover {\n        text-decoration: underline;\n      }\n    }\n\n    svg {\n      margin-right: 0.4em;\n      margin-left: -0.2em;\n    }\n  }\n\n  li {\n    border-bottom: 1px solid;\n    border-color: $fallback--border;\n    border-color: var(--border, $fallback--border);\n    padding: 0;\n\n    &:last-child a {\n      border-bottom-right-radius: $fallback--panelRadius;\n      border-bottom-right-radius: var(--panelRadius, $fallback--panelRadius);\n      border-bottom-left-radius: $fallback--panelRadius;\n      border-bottom-left-radius: var(--panelRadius, $fallback--panelRadius);\n    }\n\n    &:last-child {\n      border: none;\n    }\n  }\n}\n\n.TimelineMenu {\n  margin-right: auto;\n  min-width: 0;\n\n  .popover-trigger-button {\n    vertical-align: bottom;\n  }\n\n  .panel::after {\n    border-top-right-radius: 0;\n    border-top-left-radius: 0;\n  }\n\n  .timeline-menu-title {\n    margin: 0;\n    cursor: pointer;\n    user-select: none;\n    width: 100%;\n    display: flex;\n\n    .timeline-menu-name {\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    svg {\n      margin-left: 0.6em;\n      transition: transform 100ms;\n    }\n\n    .click-blocker {\n      cursor: default;\n      flex-grow: 1;\n    }\n  }\n\n  &.open .timeline-menu-title svg {\n    color: $fallback--text;\n    color: var(--panelText, $fallback--text);\n    transform: rotate(180deg);\n  }\n\n  .panel {\n    box-shadow: var(--popoverShadow);\n  }\n}\n","@import \"../../variables\";\n\n.Timeline {\n  .alert-dot {\n    border-radius: 100%;\n    height: 8px;\n    width: 8px;\n    position: absolute;\n    left: calc(50% - 4px);\n    top: calc(50% - 4px);\n    margin-left: 6px;\n    margin-top: -6px;\n    background-color: var(--badgeNeutral);\n  }\n\n  .alert-badge {\n    font-size: 0.75em;\n    line-height: 1;\n    text-align: right;\n    border-radius: var(--tooltipRadius);\n    position: absolute;\n    left: calc(50% - 0.5em);\n    top: calc(50% - 0.4em);\n    padding: 0.2em;\n    margin-left: 0.7em;\n    margin-top: -1em;\n    background-color: var(--badgeNeutral);\n    color: var(--badgeNeutralText);\n  }\n\n  .loadmore-button {\n    position: relative;\n  }\n\n  &.-blocked {\n    cursor: progress;\n  }\n\n  .conversation-heading {\n    top: calc(var(--__panel-heading-height) * var(--currentPanelStack, 2));\n    z-index: 2;\n  }\n\n  &.-nonpanel {\n    .timeline-heading {\n      text-align: center;\n      line-height: 2.75em;\n      padding: 0 0.5em;\n\n      .button-default,\n      .alert {\n        line-height: 2em;\n        width: 100%;\n      }\n    }\n  }\n}\n","@import \"../../variables\";\n\n/* stylelint-disable no-descending-specificity */\n.tab-switcher {\n  display: flex;\n\n  .tab-icon {\n    margin: 0.2em auto;\n    display: block;\n  }\n\n  &.top-tabs {\n    flex-direction: column;\n\n    > .tabs {\n      width: 100%;\n      overflow-y: hidden;\n      overflow-x: auto;\n      padding-top: 5px;\n      flex-direction: row;\n      flex: 0 0 auto;\n\n      &::after,\n      &::before {\n        content: \"\";\n        flex: 1 1 auto;\n        border-bottom: 1px solid;\n        border-bottom-color: $fallback--border;\n        border-bottom-color: var(--border, $fallback--border);\n      }\n\n      .tab-wrapper {\n        height: 2em;\n\n        &:not(.active)::after {\n          left: 0;\n          right: 0;\n          bottom: 0;\n          border-bottom: 1px solid;\n          border-bottom-color: $fallback--border;\n          border-bottom-color: var(--border, $fallback--border);\n        }\n      }\n\n      .tab {\n        width: 100%;\n        min-width: 1px;\n        border-bottom-left-radius: 0;\n        border-bottom-right-radius: 0;\n        padding-bottom: 99px;\n        margin-bottom: 6px - 99px;\n      }\n    }\n\n    .contents.scrollable-tabs {\n      flex-basis: 0;\n    }\n  }\n\n  &.side-tabs {\n    flex-direction: row;\n\n    @media all and (max-width: 800px) {\n      overflow-x: auto;\n    }\n\n    > .contents {\n      flex: 1 1 auto;\n    }\n\n    > .tabs {\n      flex: 0 0 auto;\n      overflow-y: auto;\n      overflow-x: hidden;\n      flex-direction: column;\n\n      &::after,\n      &::before {\n        flex-shrink: 0;\n        flex-basis: 0.5em;\n        content: \"\";\n        border-right: 1px solid;\n        border-right-color: $fallback--border;\n        border-right-color: var(--border, $fallback--border);\n      }\n\n      &::after {\n        flex-grow: 1;\n      }\n\n      &::before {\n        flex-grow: 0;\n      }\n\n      .tab-wrapper {\n        min-width: 10em;\n        display: flex;\n        flex-direction: column;\n\n        @media all and (max-width: 800px) {\n          min-width: 4em;\n        }\n\n        &:not(.active)::after {\n          top: 0;\n          right: 0;\n          bottom: 0;\n          border-right: 1px solid;\n          border-right-color: $fallback--border;\n          border-right-color: var(--border, $fallback--border);\n        }\n\n        &::before {\n          flex: 0 0 6px;\n          content: \"\";\n          border-right: 1px solid;\n          border-right-color: $fallback--border;\n          border-right-color: var(--border, $fallback--border);\n        }\n\n        &:last-child .tab {\n          margin-bottom: 0;\n        }\n      }\n\n      .tab {\n        flex: 1;\n        box-sizing: content-box;\n        min-width: 10em;\n        min-width: 1px;\n        border-top-right-radius: 0;\n        border-bottom-right-radius: 0;\n        padding-left: 1em;\n        padding-right: calc(1em + 200px);\n        margin-right: -200px;\n        margin-left: 1em;\n\n        @media all and (max-width: 800px) {\n          padding-left: 0.25em;\n          padding-right: calc(0.25em + 200px);\n          margin-right: calc(0.25em - 200px);\n          margin-left: 0.25em;\n\n          .text {\n            display: none;\n          }\n        }\n      }\n    }\n  }\n\n  .contents {\n    flex: 1 0 auto;\n    min-height: 0;\n\n    .hidden {\n      display: none;\n    }\n\n    .full-height:not(.hidden) {\n      height: 100%;\n      display: flex;\n      flex-direction: column;\n\n      > *:not(.mobile-label) {\n        flex: 1;\n      }\n    }\n\n    &.scrollable-tabs {\n      overflow-y: auto;\n    }\n  }\n\n  .tab {\n    position: relative;\n    white-space: nowrap;\n    padding: 6px 1em;\n\n    &:not(.active) {\n      z-index: 4;\n\n      &:hover {\n        z-index: 6;\n      }\n    }\n\n    &.active {\n      background: transparent;\n      z-index: 5;\n      color: $fallback--text;\n      color: var(--tabActiveText, $fallback--text);\n    }\n\n    img {\n      max-height: 26px;\n      vertical-align: top;\n      margin-top: -5px;\n    }\n  }\n\n  .tabs {\n    display: flex;\n    position: relative;\n    box-sizing: border-box;\n\n    &::after,\n    &::before {\n      display: block;\n      flex: 1 1 auto;\n    }\n  }\n\n  .tab-wrapper {\n    position: relative;\n    display: flex;\n    flex: 0 0 auto;\n\n    &:not(.active) {\n      &::after {\n        content: \"\";\n        position: absolute;\n        z-index: 7;\n      }\n    }\n  }\n\n  .mobile-label {\n    padding-left: 0.3em;\n    padding-bottom: 0.25em;\n    margin-top: 0.5em;\n    margin-left: 0.2em;\n    margin-bottom: 0.25em;\n    border-bottom: 1px solid var(--border, $fallback--border);\n\n    @media all and (min-width: 800px) {\n      display: none;\n    }\n  }\n}\n/* stylelint-enable no-descending-specificity */\n","\n@import \"../../variables\";\n\n.chat-title {\n  display: flex;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n\n  --emoji-size: 14px;\n\n  .username {\n    max-width: 100%;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    display: inline;\n    word-wrap: break-word;\n    overflow: hidden;\n  }\n\n  .avatar-container {\n    align-self: center;\n    line-height: 1;\n  }\n\n  .titlebar-avatar {\n    margin-right: 0.5em;\n    height: 1.5em;\n    width: 1.5em;\n    border-radius: $fallback--avatarAltRadius;\n    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n\n    &.animated::before {\n      display: none;\n    }\n  }\n}\n",".chat-list-item {\n  display: flex;\n  flex-direction: row;\n  padding: 0.75em;\n  height: 5em;\n  overflow: hidden;\n  box-sizing: border-box;\n  cursor: pointer;\n\n  :focus {\n    outline: none;\n  }\n\n  &:hover {\n    background-color: var(--selectedPost, $fallback--lightBg);\n    box-shadow: 0 0 3px 1px rgb(0 0 0 / 10%);\n  }\n\n  .chat-list-item-left {\n    margin-right: 1em;\n  }\n\n  .chat-list-item-center {\n    width: 100%;\n    box-sizing: border-box;\n    overflow: hidden;\n    word-wrap: break-word;\n  }\n\n  .heading {\n    width: 100%;\n    display: inline-flex;\n    justify-content: space-between;\n    line-height: 1em;\n  }\n\n  .heading-right {\n    white-space: nowrap;\n  }\n\n  .name-and-account-name {\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    overflow: hidden;\n    flex-shrink: 1;\n    line-height: var(--post-line-height);\n  }\n\n  .chat-preview {\n    display: inline-flex;\n    overflow: hidden;\n    white-space: nowrap;\n    text-overflow: ellipsis;\n    margin: 0.35em 0;\n    color: $fallback--text;\n    color: var(--faint, $fallback--text);\n    width: 100%;\n  }\n\n  a {\n    color: var(--faintLink, $fallback--link);\n    text-decoration: none;\n    pointer-events: none;\n  }\n\n  &:hover .animated.avatar {\n    canvas {\n      display: none;\n    }\n\n    img {\n      visibility: visible;\n    }\n  }\n\n  .Avatar {\n    border-radius: $fallback--avatarAltRadius;\n    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);\n  }\n\n  .chat-preview-body {\n    --emoji-size: 1.4em;\n\n    padding-right: 1em;\n  }\n\n  .time-wrapper {\n    line-height: var(--post-line-height);\n  }\n}\n","\n.basic-user-card {\n  display: flex;\n  flex: 1 0;\n  margin: 0;\n  padding: 0.6em 1em;\n\n  --emoji-size: 14px;\n\n  &-collapsed-content {\n    margin-left: 0.7em;\n    text-align: left;\n    flex: 1;\n    min-width: 0;\n  }\n\n  &-user-name {\n    img {\n      object-fit: contain;\n      height: 16px;\n      width: 16px;\n      vertical-align: middle;\n    }\n  }\n\n  &-user-name-value,\n  &-screen-name {\n    display: inline-block;\n    max-width: 100%;\n    overflow: hidden;\n    white-space: nowrap;\n    text-overflow: ellipsis;\n  }\n\n  &-expanded-content {\n    flex: 1;\n    margin-left: 0.7em;\n    min-width: 0;\n  }\n}\n",".chat-new {\n  .input-wrap {\n    display: flex;\n    margin: 0.7em 0.5em;\n\n    input {\n      width: 100%;\n    }\n  }\n\n  .search-icon {\n    margin-right: 0.3em;\n  }\n\n  .member-list {\n    padding-bottom: 0.7rem;\n  }\n\n  .basic-user-card:hover {\n    cursor: pointer;\n    background-color: var(--selectedPost, $fallback--lightBg);\n  }\n\n  .go-back-button {\n    text-align: center;\n    line-height: 1;\n    height: 100%;\n    align-self: start;\n    width: var(--__panel-heading-height-inner);\n  }\n}\n","\n@import \"../../variables\";\n\n.chat-list {\n  min-height: 25em;\n  margin-bottom: 0;\n}\n\n.emtpy-chat-list-alert {\n  padding: 3em;\n  font-size: 1.2em;\n  display: flex;\n  justify-content: center;\n  color: $fallback--text;\n  color: var(--faint, $fallback--text);\n}\n\n","@import \"../../variables\";\n\n.chat-message-wrapper {\n  &.hovered-message-chain {\n    .animated.Avatar {\n      canvas {\n        display: none;\n      }\n\n      img {\n        visibility: visible;\n      }\n    }\n  }\n\n  .chat-message-menu {\n    transition: opacity 0.1s;\n    opacity: 0;\n    position: absolute;\n    top: -0.8em;\n\n    button {\n      padding-top: 0.2em;\n      padding-bottom: 0.2em;\n    }\n  }\n\n  .menu-icon {\n    cursor: pointer;\n\n    &:hover,\n    .extra-button-popover.open & {\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n  }\n\n  .popover {\n    width: 12em;\n  }\n\n  .chat-message {\n    display: flex;\n    padding-bottom: 0.5em;\n\n    .status-body:hover {\n      --_still-image-img-visibility: visible;\n      --_still-image-canvas-visibility: hidden;\n      --_still-image-label-visibility: hidden;\n    }\n  }\n\n  .avatar-wrapper {\n    margin-right: 0.72em;\n    width: 32px;\n  }\n\n  .link-preview,\n  .attachments {\n    margin-bottom: 1em;\n  }\n\n  .status {\n    border-radius: $fallback--chatMessageRadius;\n    border-radius: var(--chatMessageRadius, $fallback--chatMessageRadius);\n    display: flex;\n    padding: 0.75em;\n  }\n\n  .created-at {\n    position: relative;\n    float: right;\n    font-size: 0.8em;\n    margin: -1em 0 -0.5em;\n    font-style: italic;\n    opacity: 0.8;\n  }\n\n  .without-attachment {\n    .message-content {\n      // TODO figure out how to do it properly\n      .RichContent::after {\n        margin-right: 5.4em;\n        content: \" \";\n        display: inline-block;\n      }\n    }\n  }\n\n  .pending {\n    .status-content.media-body,\n    .created-at {\n      color: var(--faint);\n    }\n  }\n\n  .error {\n    .status-content.media-body,\n    .created-at {\n      color: $fallback--cRed;\n      color: var(--badgeNotification, $fallback--cRed);\n    }\n  }\n\n  .chat-message-inner {\n    display: flex;\n    flex-direction: column;\n    align-items: flex-start;\n    max-width: 80%;\n    min-width: 10em;\n    width: 100%;\n  }\n\n  .outgoing {\n    display: flex;\n    flex-flow: row wrap;\n    align-content: end;\n    justify-content: flex-end;\n\n    a {\n      color: var(--chatMessageOutgoingLink, $fallback--link);\n    }\n\n    .status {\n      color: var(--chatMessageOutgoingText, $fallback--text);\n      background-color: var(--chatMessageOutgoingBg, $fallback--lightBg);\n      border: 1px solid var(--chatMessageOutgoingBorder, --lightBg);\n    }\n\n    .chat-message-inner {\n      align-items: flex-end;\n    }\n\n    .chat-message-menu {\n      right: 0.4rem;\n    }\n  }\n\n  .incoming {\n    a {\n      color: var(--chatMessageIncomingLink, $fallback--link);\n    }\n\n    .status {\n      color: var(--chatMessageIncomingText, $fallback--text);\n      background-color: var(--chatMessageIncomingBg, $fallback--bg);\n      border: 1px solid var(--chatMessageIncomingBorder, --border);\n    }\n\n    .created-at {\n      a {\n        color: var(--chatMessageIncomingText, $fallback--text);\n      }\n    }\n\n    .chat-message-menu {\n      left: 0.4rem;\n    }\n  }\n\n  .chat-message-inner.with-media {\n    width: 100%;\n\n    .status {\n      width: 100%;\n    }\n  }\n\n  .visible {\n    opacity: 1;\n  }\n}\n\n.chat-message-date-separator {\n  text-align: center;\n  margin: 1.4em 0;\n  font-size: 0.9em;\n  user-select: none;\n  color: $fallback--text;\n  color: var(--faintedText, $fallback--text);\n}\n",".chat-view {\n  display: flex;\n  height: 100%;\n\n  .chat-view-inner {\n    height: auto;\n    width: 100%;\n    overflow: visible;\n    display: flex;\n  }\n\n  .chat-view-body {\n    box-sizing: border-box;\n    background-color: var(--chatBg, $fallback--bg);\n    display: flex;\n    flex-direction: column;\n    width: 100%;\n    overflow: visible;\n    min-height: calc(100vh - var(--navbar-height));\n    margin: 0;\n    border-radius: 10px 10px 0 0;\n    border-radius: var(--panelRadius, 10px) var(--panelRadius, 10px) 0 0;\n\n    &::after {\n      border-radius: 0;\n    }\n  }\n\n  .message-list {\n    padding: 0 0.8em;\n    height: 100%;\n    display: flex;\n    flex-direction: column;\n    justify-content: end;\n  }\n\n  .footer {\n    position: sticky;\n    bottom: 0;\n    background-color: $fallback--bg;\n    background-color: var(--bg, $fallback--bg);\n    z-index: 1;\n  }\n\n  .chat-view-heading {\n    grid-template-columns: auto minmax(50%, 1fr);\n  }\n\n  .go-back-button {\n    text-align: center;\n    line-height: 1;\n    height: 100%;\n    align-self: start;\n    width: var(--__panel-heading-height-inner);\n  }\n\n  .jump-to-bottom-button {\n    width: 2.5em;\n    height: 2.5em;\n    border-radius: 100%;\n    position: absolute;\n    right: 1.3em;\n    top: -3.2em;\n    background-color: $fallback--fg;\n    background-color: var(--btn, $fallback--fg);\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    box-shadow: 0 1px 1px rgb(0 0 0 / 30%), 0 2px 4px rgb(0 0 0 / 30%);\n    z-index: 10;\n    transition: 0.35s all;\n    transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\n    opacity: 0;\n    visibility: hidden;\n    cursor: pointer;\n\n    &.visible {\n      opacity: 1;\n      visibility: visible;\n    }\n\n    i {\n      font-size: 1em;\n      color: $fallback--text;\n      color: var(--text, $fallback--text);\n    }\n\n    .unread-message-count {\n      font-size: 0.8em;\n      left: 50%;\n      margin-top: -1rem;\n      padding: 0.1em;\n      border-radius: 50px;\n      position: absolute;\n    }\n\n    .chat-loading-error {\n      width: 100%;\n      display: flex;\n      align-items: flex-end;\n      height: 100%;\n\n      .error {\n        width: 100%;\n      }\n    }\n  }\n}\n","\n.follow-card {\n  &-content-container {\n    flex-shrink: 0;\n    display: flex;\n    flex-flow: row wrap;\n    justify-content: space-between;\n    line-height: 1.5em;\n  }\n\n  &-button {\n    margin-top: 0.5em;\n    padding: 0 1.5em;\n    margin-left: 1em;\n  }\n\n  &-follow-button {\n    margin-top: 0.5em;\n    margin-left: auto;\n    width: 10em;\n  }\n}\n","@import \"../../variables\";\n\n.with-load-more {\n  &-footer {\n    padding: 10px;\n    text-align: center;\n    border-top: 1px solid;\n    border-top-color: $fallback--border;\n    border-top-color: var(--border, $fallback--border);\n\n    .error {\n      font-size: 1rem;\n    }\n\n    a {\n      cursor: pointer;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.user-profile {\n  flex: 2;\n  flex-basis: 500px;\n\n  // No sticky header on user profile\n  --currentPanelStack: 1;\n\n  .user-birthday {\n    margin: 0 0.75em 0.5em;\n  }\n\n  .user-profile-fields {\n    margin: 0 0.5em;\n\n    img {\n      object-fit: contain;\n      vertical-align: middle;\n      max-width: 100%;\n      max-height: 400px;\n\n      &.emoji {\n        width: 18px;\n        height: 18px;\n      }\n    }\n\n    .user-profile-field {\n      display: flex;\n      margin: 0.25em;\n      border: 1px solid var(--border, $fallback--border);\n      border-radius: $fallback--inputRadius;\n      border-radius: var(--inputRadius, $fallback--inputRadius);\n\n      .user-profile-field-name {\n        flex: 0 1 30%;\n        font-weight: 500;\n        text-align: right;\n        color: var(--lightText);\n        min-width: 120px;\n        border-right: 1px solid var(--border, $fallback--border);\n      }\n\n      .user-profile-field-value {\n        flex: 1 1 70%;\n        color: var(--text);\n        margin: 0 0 0 0.25em;\n      }\n\n      .user-profile-field-name,\n      .user-profile-field-value {\n        line-height: 1.3;\n        text-overflow: ellipsis;\n        white-space: nowrap;\n        overflow: hidden;\n        padding: 0.5em 1.5em;\n        box-sizing: border-box;\n      }\n    }\n  }\n\n  .userlist-placeholder {\n    display: flex;\n    justify-content: center;\n    align-items: middle;\n    padding: 2em;\n  }\n}\n\n.user-profile-placeholder {\n  .panel-body {\n    display: flex;\n    justify-content: center;\n    align-items: middle;\n    padding: 7em;\n  }\n}\n","\n@import \"../../variables\";\n\n.search-result-heading {\n  color: $fallback--faint;\n  color: var(--faint, $fallback--faint);\n  padding: 0.75rem;\n  text-align: center;\n}\n\n@media all and (max-width: 800px) {\n  .search-nav-heading {\n    .tab-switcher .tabs .tab-wrapper {\n      display: block;\n      justify-content: center;\n      flex: 1 1 auto;\n      text-align: center;\n    }\n  }\n}\n\n.search-result {\n  box-sizing: border-box;\n  border-bottom: 1px solid;\n  border-color: $fallback--border;\n  border-color: var(--border, $fallback--border);\n}\n\n.search-result-footer {\n  border-width: 1px 0 0;\n  border-style: solid;\n  border-color: var(--border, $fallback--border);\n  padding: 10px;\n  background-color: $fallback--fg;\n  background-color: var(--panel, $fallback--fg);\n}\n\n.search-input-container {\n  padding: 0.8rem;\n  display: flex;\n  justify-content: center;\n\n  .search-input {\n    width: 100%;\n    line-height: 1.125rem;\n    font-size: 1rem;\n    padding: 0.5rem;\n    box-sizing: border-box;\n  }\n\n  .search-button {\n    margin-left: 0.5em;\n  }\n}\n\n.loading-icon {\n  padding: 1em;\n}\n\n.trend {\n  display: flex;\n  align-items: center;\n\n  .hashtag {\n    flex: 1 1 auto;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  .count {\n    flex: 0 0 auto;\n    width: 2rem;\n    font-size: 1.5rem;\n    line-height: 2.25rem;\n    font-weight: 500;\n    text-align: center;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n  }\n}\n\n.more-statuses-button {\n  height: 3.5em;\n  line-height: 3.5em;\n}\n\n","\n@import \"../../variables\";\n\n.interface-language-switcher {\n  .language-select {\n    margin-right: 1em;\n  }\n}\n","\n@import \"../../variables\";\n$validations-cRed: #f04124;\n\n.registration-form {\n  display: flex;\n  flex-direction: column;\n  margin: 0.6em;\n\n  .container {\n    display: flex;\n    flex-direction: row;\n\n    > * {\n      min-width: 0;\n    }\n  }\n\n  .terms-of-service {\n    flex: 0 1 50%;\n    margin: 0.8em;\n  }\n\n  .text-fields {\n    margin-top: 0.6em;\n    flex: 1 0;\n    display: flex;\n    flex-direction: column;\n  }\n\n  textarea {\n    min-height: 100px;\n    resize: vertical;\n  }\n\n  .form-group {\n    display: flex;\n    flex-direction: column;\n    padding: 0.3em 0;\n    line-height: 2;\n    margin-bottom: 1em;\n  }\n\n  .form-group--error {\n    animation-name: shakeError;\n    animation-duration: 0.6s;\n    animation-timing-function: ease-in-out;\n  }\n\n  .form-group--error .form--label {\n    color: $validations-cRed;\n    color: var(--cRed, $validations-cRed);\n  }\n\n  .form-error {\n    margin-top: -0.7em;\n    text-align: left;\n\n    span {\n      font-size: 0.85em;\n    }\n  }\n\n  .form-error ul {\n    list-style: none;\n    padding: 0 0 0 5px;\n    margin-top: 0;\n\n    li::before {\n      content: \"• \";\n    }\n  }\n\n  form textarea {\n    line-height: 16px;\n    resize: vertical;\n  }\n\n  .captcha {\n    max-width: 350px;\n    margin-bottom: 0.4em;\n  }\n\n  .btn {\n    margin-top: 0.6em;\n    height: 2em;\n  }\n\n  .error {\n    text-align: center;\n  }\n}\n\n@media all and (max-width: 800px) {\n  .registration-form .container {\n    flex-direction: column-reverse;\n  }\n}\n","\n@import \"../../variables\";\n\n.password-reset-form {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  margin: 0.6em;\n\n  .container {\n    display: flex;\n    flex: 1 0;\n    flex-direction: column;\n    margin-top: 0.6em;\n    max-width: 18rem;\n\n    > * {\n      min-width: 0;\n    }\n  }\n\n  .form-group {\n    display: flex;\n    flex-direction: column;\n    margin-bottom: 1em;\n    padding: 0.3em 0;\n    line-height: 1.85em;\n  }\n\n  .error {\n    text-align: center;\n    animation-name: shakeError;\n    animation-duration: 0.4s;\n    animation-timing-function: ease-in-out;\n  }\n\n  .alert {\n    padding: 0.5em;\n    margin: 0.3em 0 1em;\n  }\n\n  .password-reset-required {\n    background-color: var(--alertError, $fallback--alertError);\n    padding: 10px 0;\n  }\n\n  .notice-dismissible {\n    padding-right: 2rem;\n  }\n\n  .dismiss {\n    cursor: pointer;\n  }\n}\n\n","\n.follow-request-card-content-container {\n  display: flex;\n  flex-flow: row wrap;\n\n  button {\n    margin-top: 0.5em;\n    margin-right: 0.5em;\n    flex: 1 1;\n    max-width: 12em;\n    min-width: 8em;\n\n    &:last-child {\n      margin-right: 0;\n    }\n  }\n}\n","\n.tos-content {\n  margin: 1em;\n}\n","\n.staff-group {\n  padding-left: 1em;\n  padding-top: 1em;\n\n  .basic-user-card {\n    padding-left: 0;\n  }\n}\n\n",".mrf-section {\n  margin: 1em;\n\n  table {\n    width: 100%;\n    text-align: left;\n    padding-left: 10px;\n    padding-bottom: 20px;\n\n    th,\n    td {\n      width: 180px;\n      max-width: 360px;\n      overflow: hidden;\n      vertical-align: text-top;\n    }\n\n    th + th,\n    td + td {\n      width: auto;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.list-card {\n  display: flex;\n}\n\n.list-name {\n  flex-grow: 1;\n}\n\n.list-name,\n.button-list-edit {\n  margin: 0;\n  padding: 1em;\n  color: $fallback--link;\n  color: var(--link, $fallback--link);\n\n  &:hover {\n    background-color: $fallback--lightBg;\n    background-color: var(--selectedMenu, $fallback--lightBg);\n    color: $fallback--link;\n    color: var(--selectedMenuText, $fallback--link);\n\n    --faint: var(--selectedMenuFaintText, $fallback--faint);\n    --faintLink: var(--selectedMenuFaintLink, $fallback--faint);\n    --lightText: var(--selectedMenuLightText, $fallback--lightText);\n  }\n}\n","\n.Lists {\n  .new-list-button {\n    padding: 0 0.5em;\n  }\n}\n","\n@import \"../../variables\";\n\n.ListsUserSearch {\n  .input-wrap {\n    display: flex;\n    margin: 0.7em 0.5em;\n\n    input {\n      width: 100%;\n    }\n  }\n\n  .search-icon {\n    margin-right: 0.3em;\n  }\n}\n\n","\n@import \"src/variables\";\n\n.panel-loading {\n  display: flex;\n  height: 100%;\n  align-items: center;\n  justify-content: center;\n  font-size: 2em;\n  color: $fallback--text;\n  color: var(--text, $fallback--text);\n\n  .loading-text svg {\n    line-height: 0;\n    vertical-align: middle;\n    color: $fallback--text;\n    color: var(--text, $fallback--text);\n  }\n}\n","\n@import \"../../variables\";\n\n.ListEdit {\n  --panel-body-padding: 0.5em;\n\n  height: calc(100vh - var(--navbar-height));\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n\n  .list-edit-heading {\n    grid-template-columns: auto minmax(50%, 1fr);\n  }\n\n  .panel-body {\n    display: flex;\n    flex: 1;\n    flex-direction: column;\n    overflow: hidden;\n  }\n\n  .list-member-management {\n    flex: 1 0 auto;\n  }\n\n  .search-icon {\n    margin-right: 0.3em;\n  }\n\n  .users-list {\n    padding-bottom: 0.7rem;\n    overflow-y: auto;\n  }\n\n  & .search-list,\n  & .members-list {\n    overflow: hidden;\n    flex-direction: column;\n    min-height: 0;\n  }\n\n  .go-back-button {\n    text-align: center;\n    line-height: 1;\n    height: 100%;\n    align-self: start;\n    width: var(--__panel-heading-height-inner);\n  }\n\n  .btn {\n    margin: 0 0.5em;\n  }\n\n  .panel-footer {\n    grid-template-columns: minmax(10%, 1fr);\n\n    .footer-button {\n      min-width: 9em;\n    }\n  }\n}\n","\n.announcement-editor {\n  display: flex;\n  align-items: stretch;\n  flex-direction: column;\n\n  .announcement-metadata {\n    margin-top: 0.5em;\n  }\n\n  .post-textarea {\n    resize: vertical;\n    height: 10em;\n    overflow: none;\n    box-sizing: content-box;\n  }\n}\n","\n@import \"../../variables\";\n\n.announcement {\n  border-bottom: 1px solid var(--border, $fallback--border);\n  border-radius: 0;\n  padding: var(--status-margin, $status-margin);\n\n  .heading,\n  .body {\n    margin-bottom: var(--status-margin, $status-margin);\n  }\n\n  .footer {\n    display: flex;\n    flex-direction: column;\n\n    .times {\n      display: flex;\n      flex-direction: column;\n    }\n  }\n\n  .footer .actions {\n    display: flex;\n    flex-direction: row;\n    justify-content: space-evenly;\n\n    .btn {\n      flex: 1;\n      margin: 1em;\n      max-width: 10em;\n    }\n  }\n}\n","\n@import \"../../variables\";\n\n.announcements-page {\n  .post-form {\n    padding: var(--status-margin, $status-margin);\n\n    .heading,\n    .body {\n      margin-bottom: var(--status-margin, $status-margin);\n    }\n\n    .post-button {\n      min-width: 10em;\n    }\n  }\n}\n"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/priv/static/static/js/159.903e90c9de8ef6c67077.js.map b/priv/static/static/js/159.903e90c9de8ef6c67077.js.map
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/3733.7060d1e6bca813125a0c.js b/priv/static/static/js/3733.7060d1e6bca813125a0c.js
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/3733.7060d1e6bca813125a0c.js.map b/priv/static/static/js/3733.7060d1e6bca813125a0c.js.map
new file mode 100644 (file)
index 0000000..e69de29
similarity index 77%
rename from priv/static/static/js/48.d7e479b200a6c89c4958.js.LICENSE.txt
rename to priv/static/static/js/48.b5ecdbc517423af07ca4.js.LICENSE.txt
index eebbec8f56cdea09a4e88882c35f76859a0888d1..d6dc2a16c2b00f5975051db96e107b5b0dac89b8 100755 (executable)
@@ -1,11 +1,11 @@
 /*!
- * Cropper.js v1.5.12
+ * Cropper.js v1.5.13
  * https://fengyuanchen.github.io/cropperjs
  *
  * Copyright 2015-present Chen Fengyuan
  * Released under the MIT license
  *
- * Date: 2021-06-12T08:00:17.411Z
+ * Date: 2022-11-20T05:30:46.114Z
  */
 
 /*! vue-qrcode v2.0.0 | (c) 2018-present Chen Fengyuan | MIT */
diff --git a/priv/static/static/js/48.b5ecdbc517423af07ca4.js.map b/priv/static/static/js/48.b5ecdbc517423af07ca4.js.map
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/6464.eb9c90a1c948cde554e9.js.map b/priv/static/static/js/6464.eb9c90a1c948cde554e9.js.map
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/7586.981b2305a0019f6042a5.js b/priv/static/static/js/7586.981b2305a0019f6042a5.js
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/7586.981b2305a0019f6042a5.js.map b/priv/static/static/js/7586.981b2305a0019f6042a5.js.map
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/7962.e25d40b042f8ee7389c3.js b/priv/static/static/js/7962.e25d40b042f8ee7389c3.js
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/7962.e25d40b042f8ee7389c3.js.map b/priv/static/static/js/7962.e25d40b042f8ee7389c3.js.map
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/9060.24271e167e0471a1a732.js b/priv/static/static/js/9060.24271e167e0471a1a732.js
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/9060.24271e167e0471a1a732.js.map b/priv/static/static/js/9060.24271e167e0471a1a732.js.map
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/9801.99ace6b5dc657bf1a65b.js b/priv/static/static/js/9801.99ace6b5dc657bf1a65b.js
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/9801.99ace6b5dc657bf1a65b.js.map b/priv/static/static/js/9801.99ace6b5dc657bf1a65b.js.map
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/app.7c4b412b26221a7c8572.js b/priv/static/static/js/app.7c4b412b26221a7c8572.js
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/app.7c4b412b26221a7c8572.js.map b/priv/static/static/js/app.7c4b412b26221a7c8572.js.map
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/i18n/ar-json.4916f840147303aa65fe.js b/priv/static/static/js/i18n/ar-json.4916f840147303aa65fe.js
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/i18n/ar-json.4916f840147303aa65fe.js.map b/priv/static/static/js/i18n/ar-json.4916f840147303aa65fe.js.map
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/i18n/eo-json.6c62eef99e850912498b.js b/priv/static/static/js/i18n/eo-json.6c62eef99e850912498b.js
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/i18n/eo-json.6c62eef99e850912498b.js.map b/priv/static/static/js/i18n/eo-json.6c62eef99e850912498b.js.map
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/i18n/id-json.e5c9ee768155f88128b9.js b/priv/static/static/js/i18n/id-json.e5c9ee768155f88128b9.js
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/i18n/id-json.e5c9ee768155f88128b9.js.map b/priv/static/static/js/i18n/id-json.e5c9ee768155f88128b9.js.map
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/i18n/ko-json.9029d09084bb22d8b705.js b/priv/static/static/js/i18n/ko-json.9029d09084bb22d8b705.js
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/i18n/ko-json.9029d09084bb22d8b705.js.map b/priv/static/static/js/i18n/ko-json.9029d09084bb22d8b705.js.map
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/i18n/nan-TW-json.7f2789d8a461e86d1734.js b/priv/static/static/js/i18n/nan-TW-json.7f2789d8a461e86d1734.js
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/i18n/nan-TW-json.7f2789d8a461e86d1734.js.map b/priv/static/static/js/i18n/nan-TW-json.7f2789d8a461e86d1734.js.map
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/i18n/zh-json.5831b903c3e6d281f122.js.map b/priv/static/static/js/i18n/zh-json.5831b903c3e6d281f122.js.map
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/priv/static/static/js/i18n/zh_Hant-json.f7e1d0f4b873c60d6396.js.map b/priv/static/static/js/i18n/zh_Hant-json.f7e1d0f4b873c60d6396.js.map
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/static/emoji/anni/.pack.json.un~ b/static/emoji/anni/.pack.json.un~
new file mode 100755 (executable)
index 0000000..5454170
Binary files /dev/null and b/static/emoji/anni/.pack.json.un~ differ
diff --git a/static/emoji/anni/biden_cream.png b/static/emoji/anni/biden_cream.png
new file mode 100644 (file)
index 0000000..e5d9c0c
Binary files /dev/null and b/static/emoji/anni/biden_cream.png differ
diff --git a/static/emoji/anni/blood_hand.png b/static/emoji/anni/blood_hand.png
new file mode 100644 (file)
index 0000000..9a4971e
Binary files /dev/null and b/static/emoji/anni/blood_hand.png differ
diff --git a/static/emoji/anni/caleb.png b/static/emoji/anni/caleb.png
new file mode 100644 (file)
index 0000000..7bda28c
Binary files /dev/null and b/static/emoji/anni/caleb.png differ
diff --git a/static/emoji/anni/cali_nazi.png b/static/emoji/anni/cali_nazi.png
new file mode 100644 (file)
index 0000000..3cf7719
Binary files /dev/null and b/static/emoji/anni/cali_nazi.png differ
diff --git a/static/emoji/anni/fbi_coke_unit.png b/static/emoji/anni/fbi_coke_unit.png
new file mode 100644 (file)
index 0000000..db44836
Binary files /dev/null and b/static/emoji/anni/fbi_coke_unit.png differ
diff --git a/static/emoji/anni/freemason.png b/static/emoji/anni/freemason.png
new file mode 100644 (file)
index 0000000..1cf7d1e
Binary files /dev/null and b/static/emoji/anni/freemason.png differ
diff --git a/static/emoji/anni/index.html b/static/emoji/anni/index.html
new file mode 100644 (file)
index 0000000..456f1b2
--- /dev/null
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+ <html>
+ <head>
+        <link rel="stylesheet" href="style.css" />
+        <title>logos</title> 
+         <link rel="icon" type="image/x-icon" href="ds.jpg" />
+ </head>       
+         
+ <body>
+<h1> logos </h1> 
+                 <p>Water is the source of all life. Seven tenths of this earth's surface is water. Why do you realize that 70% of you is water? And as human beings, you and I need fresh, pure water - to replenish our precious bodily fluids. Are you beginning to understand?</p>
+                <p>contact me at <a title="dcc@logografos.com" href="mailto:dcc@logografos.com">dcc@logografos.com</a> </p>
+                <nav>
+                        <p>  <a href="https://git.logografos.com">git </a> | <a rel="me" href="https://logografos.com/plan">plan</a> <p/>
+               </nav> 
+                <a rel="me" href="https://logografos.com" />
+                       <img src="logopic.gif" />
+                <a rel="slackware" href="http://www.slackware.com/" />
+                       <img src="pbs.gif" />
+ </body>
+ </html>
+
diff --git a/static/emoji/anni/index.html.1 b/static/emoji/anni/index.html.1
new file mode 100644 (file)
index 0000000..456f1b2
--- /dev/null
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+ <html>
+ <head>
+        <link rel="stylesheet" href="style.css" />
+        <title>logos</title> 
+         <link rel="icon" type="image/x-icon" href="ds.jpg" />
+ </head>       
+         
+ <body>
+<h1> logos </h1> 
+                 <p>Water is the source of all life. Seven tenths of this earth's surface is water. Why do you realize that 70% of you is water? And as human beings, you and I need fresh, pure water - to replenish our precious bodily fluids. Are you beginning to understand?</p>
+                <p>contact me at <a title="dcc@logografos.com" href="mailto:dcc@logografos.com">dcc@logografos.com</a> </p>
+                <nav>
+                        <p>  <a href="https://git.logografos.com">git </a> | <a rel="me" href="https://logografos.com/plan">plan</a> <p/>
+               </nav> 
+                <a rel="me" href="https://logografos.com" />
+                       <img src="logopic.gif" />
+                <a rel="slackware" href="http://www.slackware.com/" />
+                       <img src="pbs.gif" />
+ </body>
+ </html>
+
diff --git a/static/emoji/anni/mcafee_smoke.png b/static/emoji/anni/mcafee_smoke.png
new file mode 100644 (file)
index 0000000..0090cd6
Binary files /dev/null and b/static/emoji/anni/mcafee_smoke.png differ
diff --git a/static/emoji/anni/mel_laugh.png b/static/emoji/anni/mel_laugh.png
new file mode 100644 (file)
index 0000000..250ffce
Binary files /dev/null and b/static/emoji/anni/mel_laugh.png differ
diff --git a/static/emoji/anni/mr_robot_huh.png b/static/emoji/anni/mr_robot_huh.png
new file mode 100644 (file)
index 0000000..2b12673
Binary files /dev/null and b/static/emoji/anni/mr_robot_huh.png differ
similarity index 86%
rename from static/emoji/kek/pack.json
rename to static/emoji/anni/pack.json
index 4053dfa502380680179ea5bd576f0e22c15ebe8e..59fe274f0f63d2adfbdddc14cdada37ace952855 100755 (executable)
@@ -1,9 +1,13 @@
 {
   "files": {
     "mr_regan": "mrregan.png",
+    "take_it_easy": "take_it_easy.png",
     "oj_sad": "oj_sad.png",
+    "phear_slackware": "phear_slackware.gif",
     "cunny": "cunny.png",
-     "chink_soup": "chink_soup.png",
+    "caleb": "caleb.png",
+    "blood_hand": "blood_hand.png",
+    "chink_soup": "chink_soup.png",
     "shutuppoastuser": "shutuppoastuser.png",
     "vault_7": "vault_7.png",
     "oj_laugh": "oj_laugh.png",
     "pepe_taketheshot": "pepe_taketheshot.png",
     "pepe_tea": "pepe_tea.png",
     "alex_lol": "alex_lol.png",
+    "biden_cream": "biden_cream.png",
+    "satcong": "satcong.png",
+    "spooky_gf": "spooky_gf.png",
+    "silent": "silent.png",
+    "mr_robot_huh": "mr_robot_huh.png",
+    "pepe_see_tits": "pepe_see_tits.png",
+    "mcafee_smoke": "mcafee_smoke.png",
+    "mel_laugh": "mel_laugh.png",
+    "cali_nazi": "cali_nazi.png",
+    "providence": "providence.png",
+    "freemason": "freemason.png",
+    "fbi_coke_unit": "fbi_coke_unit.png",
+    "pedobear_looking": "pedobear_looking.png",
     "pepe_cofe": "inquiring_frog.png",
     "dubs": "1636564709982.png",
     "pepe_drink_capri": "pepe-drinking-capri-sun.png",
     "pepe_gun": "pepe_gun.png"
   },
   "pack": {
-    "description": "based af",
+    "description": "Its good",
     "homepage": "annihilation.social",
     "share-files": true,
-    "can-download": false,
+    "can-download": true,
     "download-sha256": "A4C479333A1ECE2E2D94733772441DBCF0DE108BCB025C243E67CB447A558497"
   },
   "files_count": 103
similarity index 86%
rename from static/emoji/kek/pack.json~
rename to static/emoji/anni/pack.json~
index c4ec3bea7620abafd6bd4b3ea3778b695332e02c..2db6c751c01837a55152488edacf7a49774f34bd 100755 (executable)
@@ -2,8 +2,11 @@
   "files": {
     "mr_regan": "mrregan.png",
     "oj_sad": "oj_sad.png",
+    "phear_slackware": "phear_slackware.gif",
     "cunny": "cunny.png",
-     "chink_soup": "chink_soup.png",
+    "caleb": "caleb.png",
+    "blood_hand": "blood_hand.png",
+    "chink_soup": "chink_soup.png",
     "shutuppoastuser": "shutuppoastuser.png",
     "vault_7": "vault_7.png",
     "oj_laugh": "oj_laugh.png",
     "pepe_taketheshot": "pepe_taketheshot.png",
     "pepe_tea": "pepe_tea.png",
     "alex_lol": "alex_lol.png",
+    "biden_cream": "biden_cream.png",
+    "satcong": "satcong.png",
+    "spooky_gf": "spooky_gf.png",
+    "silent": "silent.png",
+    "mr_robot_huh": "mr_robot_huh.png",
+    "pepe_see_tits": "pepe_see_tits.png",
+    "mcafee_smoke": "mcafee_smoke.png",
+    "mel_laugh": "mel_laugh.png",
+    "cali_nazi": "cali_nazi.png",
+    "providence": "providence.png",
+    "freemason": "freemason.png",
+    "fbi_coke_unit": "fbi_coke_unit.png",
+    "pedobear_looking": "pedobear_looking.png",
     "pepe_cofe": "inquiring_frog.png",
     "dubs": "1636564709982.png",
     "pepe_drink_capri": "pepe-drinking-capri-sun.png",
     "dude_mad": "dude_mad.png",
     "pepe_cat": "pepe_cat.gif",
     "pepe_cofe_2": "pepe_cofe_2.png",
-    "tony": "tony.png",
+    "tony": "tony.png",
     "a_openbsd": "a_openbsd.png",
     "pepe_cofe_2_mad": "pepe_cofe_2_mad.png",
     "grrungy_pepe": "grrungypepe.jpg",
     "pepe_gun": "pepe_gun.png"
   },
   "pack": {
-    "description": "based af",
+    "description": "Its good",
     "homepage": "annihilation.social",
     "share-files": true,
-    "can-download": false,
+    "can-download": true,
     "download-sha256": "A4C479333A1ECE2E2D94733772441DBCF0DE108BCB025C243E67CB447A558497"
   },
   "files_count": 103
diff --git a/static/emoji/anni/pedobear_looking.png b/static/emoji/anni/pedobear_looking.png
new file mode 100644 (file)
index 0000000..79a7d2c
Binary files /dev/null and b/static/emoji/anni/pedobear_looking.png differ
diff --git a/static/emoji/anni/pepe_see_tits.png b/static/emoji/anni/pepe_see_tits.png
new file mode 100644 (file)
index 0000000..95f6e7e
Binary files /dev/null and b/static/emoji/anni/pepe_see_tits.png differ
diff --git a/static/emoji/anni/phear_slackware.gif b/static/emoji/anni/phear_slackware.gif
new file mode 100644 (file)
index 0000000..4285513
Binary files /dev/null and b/static/emoji/anni/phear_slackware.gif differ
diff --git a/static/emoji/anni/providence.png b/static/emoji/anni/providence.png
new file mode 100644 (file)
index 0000000..f84c8ee
Binary files /dev/null and b/static/emoji/anni/providence.png differ
diff --git a/static/emoji/anni/satcong.png b/static/emoji/anni/satcong.png
new file mode 100644 (file)
index 0000000..5e5ffdb
Binary files /dev/null and b/static/emoji/anni/satcong.png differ
diff --git a/static/emoji/anni/silent.png b/static/emoji/anni/silent.png
new file mode 100644 (file)
index 0000000..aee12d5
Binary files /dev/null and b/static/emoji/anni/silent.png differ
diff --git a/static/emoji/anni/spooky_gf.png b/static/emoji/anni/spooky_gf.png
new file mode 100644 (file)
index 0000000..618a70e
Binary files /dev/null and b/static/emoji/anni/spooky_gf.png differ
diff --git a/static/emoji/anni/take_it_easy.png b/static/emoji/anni/take_it_easy.png
new file mode 100644 (file)
index 0000000..481222f
Binary files /dev/null and b/static/emoji/anni/take_it_easy.png differ
diff --git a/static/emoji/kek/.pack.json.un~ b/static/emoji/kek/.pack.json.un~
deleted file mode 100755 (executable)
index d517fd8..0000000
Binary files a/static/emoji/kek/.pack.json.un~ and /dev/null differ
diff --git a/static/emoji/os_emojies/pack.json~ b/static/emoji/os_emojies/pack.json~
deleted file mode 100755 (executable)
index 8b85057..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-  "files": {
-    "arch": "arch.png",
-    "debian": "debian.png",
-    "freebsd": "freebsd.png",
-    "puffy": "puffy.png",
-    "qubeos": "qube_os.png",
-    "rat_poison": "rat_poison.png"
-  },
-  "pack": {
-    "can-download": true,
-    "description": "I really don't know what I'm doing",
-    "homepage": "poop",
-    "license": "BSD"
-  },
-  "files_count": 6
-}
diff --git a/static/emoji/postal2/pack.json~ b/static/emoji/postal2/pack.json~
deleted file mode 100755 (executable)
index 2cf4b2a..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-{
-  "files": {
-   "40_year_old_virgin": "40_year_old_virgin.jpg",
-   "chuck_norris_d.jpg": "chuck_norris_d.jpg",
-   "its_fine": "its_fine.jpg",
-   "poo_masher": "poo_masher.jpg",
-   "CAN_YOU_DIG_IT": "CAN_YOU_DIG_IT.jpg",
-   "circus_values": "circus_values.jpg",
-   "john_rambo_d": "john_rambo_d.jpg",
-   "postal_tree": "postal_tree.jpg",
-   "DP_d":  "DP_d.jpg",
-   "clown": "clown.jpg",
-   "kiss_or_kill": "kiss_or_kill.jpg",
-   "pussy_on_a_pedestali": "pussy_on_a_pedestal.jpg",
-   "FAB_U_LOUS": "FAB_U_LOUS.jpg",
-   "darth_maul_d": "darth_maul_d.jpg",
-   "kman": "kman.jpg",
-   "red_head": "red_head.jpg",
-   "friend_of_dorothy": "friend_of_dorothy.jpg",
-   "dick_message": "dick_message.jpg",
-   "lances_out": "lances_out.jpg",
-   "reddit_would_be_proud": "reddit_would_be_proud.jpg",
-   "Fuck_postal3": "Fuck_postal3.jpg",
-   "do_you_even_enzyte_bro": "do_you_even_enzyte_bro.jpg",
-   "lieberman_is_watching": "lieberman_is_watching.jpg",
-   "redit_gold": "redit_gold.jpg",
-   "GABAGOOOOOL": "GABAGOOOOOL.jpg",
-   "dog_pill": "dog_pill.jpg",
-   "mc_gibblets": "mc_gibblets.jpg",
-   "rick_grimes": "rick_grimes.jpg",
-   "GOOD_MORNING_VIETNAM": "GOOD_MORNING_VIETNAM.jpg",
-   "dont_panic": "dont_panic.jpg",
-   "michonne": "michonne.jpg",
-   "rip_patches": "rip_patches.jpg",
-   "RAFIBOMB": "RAFIBOMB.jpg",
-   "door_mat": "door_mat.jpg",
-   "money_whore": "money_whore.jpg",
-   "running_with_scissors": "running_with_scissors.jpg",
-   "R_keylly": "R_kelly.jpg",
-   "double_cross": "double_cross.jpg",
-   "muhamma": "muhammad.jpg",
-   "tom_cruise_lol": "tom_cruise_lol.jpg",
-   "adderall4all": "adderall4all.jpg",
-   "drug": "drugs.jpg",
-   "newman": "newman.jpg",
-   "screw_bill": "screw_bill.jpg",
-   "anger_management": "anger_management.jpg",
-   "duck_dynasty": "duck_dynasty.jpg",
-   "no_virgins": "no_virgins.jpg",
-   "senor_cornballer": "senor_cornballer.jpg",
-   "anustart": "anustart.jpg",
-   "fur_sure": "fur_sure.jpg",
-   "not_alone": "not_alone.jpg",
-   "sheriff_arpaio": "sheriff_arpaio.jpg",
-   "ape_gape": "ape_gape.jpg",
-   "gonewild": "gonewild.jpg",
-   "officer_mclovin": "officer_mclovin.jpg",
-   "shiva_blast": "shiva_blast.jpg",
-   "badass": "badass.jpg",
-   "high_af": "high_af.jpg",
-   "slut": "slut.jpg",
-   "banana_money": "banana_money.jpg",
-   "hobo_sexual": "hobo_sexual.jpg",
-   "taxidermy": "taxidermy.jpg",
-   "blow_my_pickle": "blow_my_pickle.jpg",
-   "holocaust_deux": "holocaust_deux.jpg",
-   "paid_the_piper": "paid_the_piper.jpg",
-   "tazed": "tazed.jpg",
-   "c.u.n": "c.u.n.jpg",
-   "home_fill": "home_fill.jpg",
-   "pay_up": "pay_up.jpg",
-   "the_gimp": "the_gimp.jpg",
-   "cake_lover": "cake_lover.jpg",
-   "hutton_gibson": "hutton_gibson.jpg",
-   "pb_dog": "pb_dog.jpg",
-   "uncle_t_bag": "uncle_t_bag.jpg",
-   "cant_touch_this": "cant_touch_this.jpg",
-   "i_am_jesus": "i_am_jesus.jpg",
-   "pee_d_on": "pee_d_on.jpg",
-   "we_did_it": "we_did_it.jpg",
-   "car_crash": "car_crash.jpg",
-   "i_am_legend": "i_am_legend.jpg",
-   "pee_d_on_2": "pee_d_on_2.jpg",
-   "were_open": "were_open.jpg",
-   "case_of_the_mondays": "case_of_the_mondays.jpg",
-   "i_should_buy_a_boat": "i_should_buy_a_boat.jpg",
-   "pee_on_my_wife": "pee_on_my_wife.jpg",
-   "wilfred": "wilfred.jpg",
-   "chapelle_show": "chapelle_show.jpg",
-   "in_a_tree": "in_a_tree.jpg",
-   "planet_of_the_apes": "planet_of_the_apes.jpg" 
-  },
-  "pack": {
-    "description": "postal 2 achievements",
-    "homepage": "annihilation.social",
-    "share-files": true,
-    "can-download": true
-  },
-  "files_count": 89
-}
index 4a29f5f1ec8dd1f2f8037fed2989fe9493feb20e..52c5d931a3726ec69a1cfabdbf110be8345e341a 100755 (executable)
Binary files a/static/frontends/pleroma-fe/dev/.index.html.un~ and b/static/frontends/pleroma-fe/dev/.index.html.un~ differ
index 2bdc3940f652d80ffc2854e3475c98b5416811d6..d0a000ed4e1524c810d9e3088e02fd53fce3f82a 100755 (executable)
@@ -1 +1 @@
-<!DOCTYPE html><html lang=en><head><link rel="stylesheet" href="static/styles.css" /><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,user-scalable=no"><!--server-generated-meta--><link rel=icon type=image/png href=/favicon.png><script defer=defer src=/static/js/6245.81d7492d1e93fc14b23f.js></script><script defer=defer src=/static/js/app.9d382c9a57c5453fd21a.js></script><link href=/static/css/app.8daec525d1948b8e9f60.css rel=stylesheet></head><body class=hidden><noscript>To use Pleroma, please enable JavaScript.</noscript><div id=app></div><div id=modal></div><div id=popovers></body></html>
+<!DOCTYPE html><html lang=en><head><link rel="stylesheet" href="/static/styles.css" /><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,user-scalable=no"><!--server-generated-meta--><link rel=icon type=image/png href=/favicon.png><script defer=defer src=/static/js/6245.81d7492d1e93fc14b23f.js></script><script defer=defer src=/static/js/app.9d382c9a57c5453fd21a.js></script><link href=/static/css/app.8daec525d1948b8e9f60.css rel=stylesheet></head><body class=hidden><noscript>This page will show up if you don't have js on. If you can't use js use the bloat instance.</noscript><div id=app></div><div id=modal></div><div id=popovers></body></html>
diff --git a/static/frontends/pleroma-fe/dev/static/.config.json.un~ b/static/frontends/pleroma-fe/dev/static/.config.json.un~
deleted file mode 100755 (executable)
index 2e74b20..0000000
Binary files a/static/frontends/pleroma-fe/dev/static/.config.json.un~ and /dev/null differ
index 843a97805a71faf9abb12b4937cd820a0463180b..9c513c22a8fb55db590a7a4be77719b84257a769 100644 (file)
@@ -7,5 +7,5 @@
 }
 
 .RichContent .emoji:hover {
-        transform: scale(1.5) !important;
+        transform: scale(1.6) !important;
 }
diff --git a/static/instance/.panel.html.un~ b/static/instance/.panel.html.un~
new file mode 100755 (executable)
index 0000000..7c9552b
Binary files /dev/null and b/static/instance/.panel.html.un~ differ
index 564bb39bfd40a5b4e41974df0a00460d000667d3..058219c3f7467dbef36f49a87028e74e1a936b0f 100755 (executable)
@@ -1,5 +1,4 @@
-<h3>Welcome to annihilation</h3><p></p><p><a href="https://b.annihilation.social" rel="noopener noreferrer nofollow">bloat</a> </p> <p><a href="https://kom.dembased.xyz/status/dembased" rel="noopener noreferrer nofollow">status</a> </p> <p><a href=" 
-http://nfg3pbejnvp4xxppglvtj7trfwhkesnsj2cxmsjlvipqnjqpedacngyd.onion" rel="noopener noreferrer nofollow">Tor</a> </p> <p><a href="sen.annihilation.social" rel="noopener noreferrer nofollow">Sengi</a> </p>
-
+<div><div style="margin-left:12px; margin-right:12px"> <h3>Welcome to annihilation</h3><p></p><p><a href="https://b.annihilation.social" rel="noopener noreferrer nofollow">Bloat</a> </p> <p><a href="https://kom.dembased.xyz/" rel="noopener noreferrer nofollow">Status</a> </p> <p><a href=" 
+http://nfg3pbejnvp4xxppglvtj7trfwhkesnsj2cxmsjlvipqnjqpedacngyd.onion" rel="noopener noreferrer nofollow">Tor</a> </p> <p><a href="https://sen.annihilation.social" rel="noopener noreferrer nofollow">Sengi</a> </p> </div></div>
 
 
diff --git a/static/instance/panel.html~ b/static/instance/panel.html~
new file mode 100755 (executable)
index 0000000..48bfd25
--- /dev/null
@@ -0,0 +1,4 @@
+<div><div style="margin-left:12px; margin-right:12px"> <h3>Welcome to annihilation</h3><p></p><p><a href="https://b.annihilation.social" rel="noopener noreferrer nofollow">Bloat</a> </p> <p><a href="https://kom.dembased.xyz/status/dembased" rel="noopener noreferrer nofollow">Status</a> </p> <p><a href=" 
+http://nfg3pbejnvp4xxppglvtj7trfwhkesnsj2cxmsjlvipqnjqpedacngyd.onion" rel="noopener noreferrer nofollow">Tor</a> </p> <p><a href="https://sen.annihilation.social" rel="noopener noreferrer nofollow">Sengi</a> </p> </div></div>
+
+
index 91884c3dd217c36d8d97cddd67370a545477961d..d616d36ef092da71f2ed097088fbcfe34e2adb3f 100755 (executable)
@@ -1,9 +1,4 @@
-# The second I figure out how to get this out of the UI, that's gone too.
-# What the hell is this, fucking Github?  Facebook?
-# Fuck EmojiReaction.  Fuck it completely.
-# ...Unless it lets you use the custom emojis (which are fun) instead of
-# the stupid Unicode Consortium ones (which are terrible), in which case
-# I'll get rid of this policy.
+# I WANT TO USE IT
 defmodule Pleroma.Web.ActivityPub.MRF.EmojiReactionsAreRetarded do 
        require Logger
        @behaviour Pleroma.Web.ActivityPub.MRF.Policy
old mode 100644 (file)
new mode 100755 (executable)
similarity index 61%
rename from static/frontends/pleroma-fe/dev/static/.styles.css.un~
rename to static/static/.styles.json.un~
index 526c9fe..7221d0c
Binary files a/static/frontends/pleroma-fe/dev/static/.styles.css.un~ and b/static/static/.styles.json.un~ differ
index 7337f16b8e75839324b431bc058dc0bb73e4e87e..3cc51687561380f4d28d4450356f722410e620d8 100755 (executable)
@@ -13,7 +13,8 @@
   "breezy-dark": "/static/themes/breezy-dark.json",
   "breezy-light": "/static/themes/breezy-light.json",
   "mammal": "/static/themes/mammal.json",
-  "elic": "/static/themes/elic.json"
+  "elic": "/static/themes/elic.json",
+  "clean_grey": "/static/themes/clean-grey.json"
 }
 
 
diff --git a/static/static/themes/.clean-greay.json.un~ b/static/static/themes/.clean-greay.json.un~
new file mode 100644 (file)
index 0000000..4bed7d7
Binary files /dev/null and b/static/static/themes/.clean-greay.json.un~ differ
diff --git a/static/static/themes/.elic.json.un~ b/static/static/themes/.elic.json.un~
deleted file mode 100755 (executable)
index d3f254c..0000000
Binary files a/static/static/themes/.elic.json.un~ and /dev/null differ
diff --git a/static/static/themes/clean-grey.json b/static/static/themes/clean-grey.json
new file mode 100644 (file)
index 0000000..41783d9
--- /dev/null
@@ -0,0 +1 @@
+{"_pleroma_theme_version":2,"name":"Clean_greay","theme":{"themeEngineVersion":3,"shadows":{"panel":[{"x":"1","y":"1","blur":"2","spread":"0","color":"#283344","alpha":"0.7"}],"topBar":[{"x":0,"y":"3","blur":"3","spread":"1","color":"#000000","alpha":"0.35"}],"popup":[{"x":"3","y":"3","blur":"2","spread":"0","color":"#283344","alpha":"0.5"}],"avatar":[{"x":0,"y":1,"blur":8,"spread":0,"color":"#000000","alpha":0.7}],"avatarStatus":[{"x":"2","y":"2","blur":"0","spread":0,"inset":false,"color":"#52545f","alpha":"0.6"},{"x":"2","y":"-2","blur":"0","spread":0,"inset":false,"color":"#52545f","alpha":"0.6"},{"x":"-2","y":"-2","blur":"0","spread":0,"inset":false,"color":"#52545f","alpha":"0.6"},{"x":"-2","y":"2","blur":"0","spread":0,"inset":false,"color":"#52545f","alpha":"0.6"}],"panelHeader":[],"button":[],"buttonHover":[{"x":0,"y":0,"blur":"1","spread":"2","color":"#6b88ab","alpha":"0.5","inset":false}],"buttonPressed":[{"x":0,"y":0,"blur":"1","spread":"2","color":"#6b88ab","alpha":"0.2"}],"input":[{"x":"0","y":"0","blur":"0","spread":"1","color":"#425571","alpha":"0.2","inset":true}]},"colors":{"underlay":"#000000","bg":"#52545f","fg":"#394b64","cRed":"#cf3f3f","cOrange":"#d7d353","cGreen":"#36cc2d","cBlue":"#3bb0dd","accent":"#afd6e2","link":"#afd6e2","text":"#e6eaee","badgeNotification":"#d70000","badgeNotificationText":"#ffffff","panel":"#394b64","panelText":"#e6eaee","alertNeutral":"#e6eaee","alertNeutralPanelText":"#111519","alertNeutralText":"#111519","alertWarning":"#d7d353","alertWarningPanelText":"#111519","alertWarningText":"#111519","alertError":"#ff0f0f","alertErrorPanelText":"#e6eaee","alertErrorText":"#e6eaee","fgText":"#e6eaee","topBar":"#394b64","topBarText":"#e6eaee","input":"#cae3ec","inputTopbarText":"#111519","inputPanelText":"#111519","inputText":"#384d5c","btn":"#2e3e51","btnText":"#e6eaee","btnTopBarText":"#e6eaee","btnDisabled":"#494f5c","btnDisabledTopBarText":"#717681","btnPanelText":"#e6eaee","btnDisabledPanelText":"#717681","btnDisabledText":"#717681","btnToggled":"#537093","btnToggledTopBarText":"#e6eaee","btnToggledPanelText":"#e6eaee","btnToggledText":"#ffffff","btnPressed":"#2e3e51","btnPressedTopBarText":"#e6eaee","btnPressedTopBar":"#2e3e51","btnPressedPanelText":"#e6eaee","btnPressedPanel":"#2e3e51","btnPressedText":"#e6eaee","tabActiveText":"#e6eaee","tabText":"#e6eaee","tab":"#2e3e51","fgLink":"#afd6e2","topBarLink":"#e6eaee","panelLink":"#afd6e2","panelFaint":"#e6eaee","icon":"#9c9fa7","poll":"#788894","pollText":"#111519","border":"#a8aecc","postLink":"#afd6e2","lightText":"#ffffff","popover":"#52545f","selectedMenuPopover":"#5e616d","highlight":"#5e616d","highlightText":"#e6eaee","selectedMenu":"#5e616d","selectedMenuText":"#e6eaee","selectedMenuPopoverIcon":"#a2a6ae","highlightLink":"#1e4450","selectedMenuLink":"#afd6e3","selectedMenuPopoverLink":"#1d4451","selectedMenuPopoverText":"#e6eaee","faintLink":"#afd6e2","highlightFaintLink":"#1e4450","selectedMenuFaintLink":"#afd6e3","selectedMenuPopoverFaintLink":"#1d4451","faint":"#e6eaee","highlightFaintText":"#e6eaee","selectedMenuFaintText":"#e6eaee","selectedMenuPopoverFaintText":"#e6eaee","highlightLightText":"#ffffff","selectedMenuLightText":"#ffffff","selectedMenuPopoverLightText":"#ffffff","selectedMenuIcon":"#a2a6ae","selectedPost":"#5e616d","selectedPostText":"#e6eaee","selectedPostIcon":"#a2a6ae","selectedPostLink":"#afd6e3","selectedPostFaintLink":"#afd6e3","highlightPostLink":"#1e4450","selectedPostPostLink":"#afd6e3","selectedPostLightText":"#ffffff","selectedPostFaintText":"#e6eaee","popoverText":"#e6eaee","popoverIcon":"#9c9fa7","popoverLink":"#afd6e2","postFaintLink":"#afd6e2","popoverPostFaintLink":"#afd6e2","popoverFaintLink":"#afd6e2","popoverFaintText":"#e6eaee","popoverPostLink":"#afd6e2","popoverLightText":"#ffffff","highlightIcon":"#a2a6ae","highlightPostFaintLink":"#1e4450","profileTint":"#52545f","profileBg":"#2b2f38"},"opacity":{"underlay":0.15,"bg":0.85,"panel":0.9,"alert":0.5,"input":0.6,"btn":0.8,"faint":0.5,"border":0.2,"popover":1,"profileTint":0.5},"radii":{"btn":"0","input":"0","checkbox":"0","panel":"0","avatar":"0","avatarAlt":"0","tooltip":"0","attachment":"0"},"fonts":{"interface":{"family":"sans-serif"},"input":{"family":"inherit"},"post":{"family":"inherit"},"postCode":{"family":"monospace"}}},"source":{"themeEngineVersion":3,"fonts":{"interface":{"family":"sans-serif"}},"shadows":{"avatarStatus":[{"x":"2","y":"2","blur":"0","spread":0,"inset":false,"color":"#52545f","alpha":"0.6"},{"x":"2","y":"-2","blur":"0","spread":0,"inset":false,"color":"#52545f","alpha":"0.6"},{"x":"-2","y":"-2","blur":"0","spread":0,"inset":false,"color":"#52545f","alpha":"0.6"},{"x":"-2","y":"2","blur":"0","spread":0,"inset":false,"color":"#52545f","alpha":"0.6"}],"button":[],"buttonHover":[{"x":0,"y":0,"blur":"1","spread":"2","color":"#6b88ab","alpha":"0.5","inset":false}],"buttonPressed":[{"x":0,"y":0,"blur":"1","spread":"2","color":"#6b88ab","alpha":"0.2"}],"input":[{"x":"0","y":"0","blur":"0","spread":"1","color":"#425571","alpha":"0.2","inset":true}],"panel":[{"x":"1","y":"1","blur":"2","spread":"0","color":"#283344","alpha":"0.7"}],"panelHeader":[],"popup":[{"x":"3","y":"3","blur":"2","spread":"0","color":"#283344","alpha":"0.5"}],"topBar":[{"x":0,"y":"3","blur":"3","spread":"1","color":"#000000","alpha":"0.35"}]},"opacity":{"bg":"0.85","faint":"0.75","border":"0.2","panel":"0.9","btn":"0.8","input":"0.6"},"colors":{"bg":"#52545f","fg":"#394b64","text":"#e6eaee","link":"#afd6e2","cBlue":"#3bb0dd","cRed":"#cf3f3f","cGreen":"#36cc2d","cOrange":"#d7d353","postLink":"#afd6e2","border":"#a8aecc","topBarText":"#e6eaee","topBarLink":"#e6eaee","btn":"#2e3e51","input":"#cae3ec","inputText":"#384d5c","alertError":"#ff0f0f","badgeNotification":"#d70000"},"radii":{"btn":"0","input":"0","checkbox":"0","panel":"0","avatar":"0","avatarAlt":"0","tooltip":"0","attachment":"0"}}}
diff --git a/tools/collect-changelog b/tools/collect-changelog
new file mode 100755 (executable)
index 0000000..1e12d56
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+collectType() {
+    local suffix="$1"
+    local header="$2"
+    local printed=0
+    for file in changelog.d/*."$suffix"; do
+        if [ '!' -f "$file" ]; then
+            continue
+        fi
+        if [ "$printed" = 0 ]; then
+            echo
+            echo "### $header"
+            printed=1
+        fi
+        # Normalize any trailing newlines/spaces, etc.
+        echo "- $(cat "$file")"
+    done
+}
+
+collectType security Security
+collectType change Changed
+collectType add Added
+collectType fix Fixed
+collectType remove Removed
+
+rm changelog.d/*