:root {
  --pink: #ff1e5a;
  --pink-light: #ff5c8a;
  --cyan: #3fe6ef;
  --white: #f2f4f8;
  --black: #030308;

  /* уровень затемнения фоновой подложки: 0 = без затемнения, 1 = полностью чёрный */
  --overlay-opacity: 0.72;

  /* скорость мигания точки статуса "DEVELOPMENT" — меньше = быстрее */
  --dot-speed: 1.4s;
}

@font-face {
  font-family: 'KovatDune';
  /* шрифт встроен как base64, чтобы работать без внешнего файла и проблем с путями/CORS при просмотре напрямую (file://) */
  src: url('data:font/ttf;base64,AAEAAAAOAIAAAwBgRkZUTa92xMwAACuQAAAAHEdERUYAJQAAAAAreAAAABhPUy8yWt9k3AAAAWgAAABgY21hcHxRcWQAAALEAAABWmN2dCAAIQJ5AAAEIAAAAARnYXNw//8AAwAAK3AAAAAIZ2x5Zq3IOL0AAASkAAAjCGhlYWQwlEWgAAAA7AAAADZoaGVhB70D7AAAASQAAAAkaG10eK1rEA0AAAHIAAAA/GxvY2H+gwe2AAAEJAAAAIBtYXhwAIUAkAAAAUgAAAAgbmFtZYljIJoAACesAAACHHBvc3RAdLfUAAApyAAAAagAAQAAAAEAAIaO9chfDzz1AB8D6AAAAADmpADxAAAAAOakAPEAIf9wA/gDaQAAAAgAAgAAAAAAAAABAAADaf9vAFoEPQAAAAAD+AABAAAAAAAAAAAAAAAAAAAAPwABAAAAPwBfAAQAAAAAAAIAAAABAAEAAABAAC4AAAAAAAQC2AGQAAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAUDAAAAAAAAAAACAQAAAAAAAAAAAAAAAFBmRWQAgAAgBC8DIP84AFoDaQCRAAAABAAAAAAAAAKwAAAAIAABAWwAIQAAAAABTQAAAOYAAALqAEUCyABFArYARwLCAEUCnwBFArEARQLIAEUCvABFAQgARQKDAEUC0wBFAn0ARQNAAEUCvABEArwARQKfAEUCsQBFArYASAK2AEUCtgBFAqUARQL7AEkDbgBEAxIARQLwAEUCjgBFAsIARQLZAEUC2QBFAtkARAKfAEUDRgBFAsIARQQ9AEUC0wBFAtMARQLTAEUC9QBFAtMARANdAEUCzQBIAtMARQK8AEUC0wBFAsgARQLwAEUC0wBFA4UARAM6AEQC+wBFAp8ARQN5AEUDswBFAxIARQNXAEUCsQBFArEARQOFAEUCzQBEAAAAAwAAAAMAAAAcAAEAAAAAAFQAAwABAAAAHAAEADgAAAAKAAgAAgACACAAWgQBBC///wAAACAAQQQBBBD////j/8P8HfwPAAEAAAAAAAAAAAAAAAABBgAAAQAAAAAAAAABAgAAAAIAAAAAAAAAAAAAAAAAAAABAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACECeQAAACoAKgAqACoAgADMARgBZAGiAdoCIgJkAoQCwAMgA0oDtgP4BD4EeATiBTYFhAWoBeoGHgakBvIHPAd2B8oIFghsCMQI7AlQCYoJ9ApCCpoLDAtgC5oL7AwiDGYMlgzMDRYNRA2KDggOWA6WDsgPJg+eD+YQRBCCEMwRPBGEAAIAIQAAASoCmgADAAcALrEBAC88sgcEAO0ysQYF3DyyAwIA7TIAsQMALzyyBQQA7TKyBwYB/DyyAQIA7TIzESERJzMRIyEBCejHxwKa/WYhAlgAAAQARQAFAqUCvQAJABcAIwA3AAA3NTMyHwEdASsBJTYfAR0BBwYvAT0BNzYDJi8BBwYPATsBNTQDNx8CFh8BHQEPASsBLwE9ATc2RRkZJiY/PwJMCwUEPDwGBjMyx0cCBEhDBgKTkuwNUVAUSSZcLC3X1ywtYmBLPwQEOzyBAQICPj4EBAQDPDsEAwEYiQMEjYQOBQYHAYkZAgIli0mvNTQFBQQGNje7tgAAAAACAEUAAAKDAr0ACwAzAAABJysBHwE/Az0BBTUfAx0BDwEfAR0BDwErAT0BFxYfAR0BOwE/AT0BLwErAScmLwEB4haCggICgYEVFv5M4N89PCAgIyM+P+DhFRopLH+AGxwcHWxsKBRALQIpFVJSAgIUFiUnEboCAjw8Tk0gICYmTUxBQJmZBAQHBlBPGxskIxcYCAUKCAAAAAIARwAAAnICvQAZADQAADc1OwEXFh8DNzY9AT8BHwEdAQ8BKwEvARM3HwMdASsBPQEvASsBDwEdAQcGJi8BNzVLPDwFBRsaYGEaHDc1BwY6Op+fOjs9Pp6eNzk9PBkZZGMcGw0PTQsOAaApDQ0ZGQEBHR4FBwQEBAMlIz49PDsCBkACAjk6IyQLChUVGxuUkwQDAQQFra0AAgBF//4CfQK2ABwANAAAEzYyHwEdATsBPwE9ATc2OwEXFh0BDwIGLwE1ND0BOwEfARUUBwYPAT0BLwEPAR0BJyYrAUkDUhYVenkfHiclGRgEAz0+m7UpRNzbPz8DAz0+HRx8eywwEhYBLAQDBFhZHh47OgMELDAqLz09AgEBAZSV1rc/P3V2AgMEBGFgHR0CAnt8BAMAAAACAEX//QJbArYADwApAAA3NTMyHwUPASMiLwERNSkBHQEnJiMHHQEXFjMfAisBJyYnJi8BRRQTLCsBAsvKAgE+YqfMAQsBC6hccCQqLWFkAgJychQPQRkwDZiYBgdUVAECPT4CAQICtD9AAQEBTU4BAQE3OQYFCgMIAwAAAgBF//sCbAK2AA0AIwAANzUXFhcWOwEdAQcGLwERNSkBFxYPASsBHQE7AQ8DJyYvAUUeHRUUEBAUEjAuARABDwQEBATNzpWWAgJycys/JDiZmAQDBgWPjgQDAwQB/rYZGiUmUFE3OQECCQwGCgAAAAIARf//AoMCtgAfADEAAAEnOwEdAQ8BLwM9ATc2HwEdAR8BOwE/ATU0LwMDNx8BHQEPAx0BJyYrAT0BAWUCkJBCQZ6fPz8GBjw8Hh5iYR4eBAVKSuJB3d3CwRoaLDASFgFgN4uLQUECAj8/VFUDBAQEOzsaGx4eLi0IBwIBAU5BAQI8PAMDFhVlZQQDd3cAAAIARf/6AncCtwALACkAADc1MzIfAwcGLwERNTsBHwE7AT8BHwEbAQcGIi8BPQErAScmJy4BLwFFFhQsKwIBJycbG0JCAQKSkgIBQUACARIRPhESgH8UEzUQMAQPlpQIB42NAgICAgH+t42Pj44CAv6o/qcEBAQEkZIFBgkDCAEDAAAAAAIARQAAAMMCtgAJABMAABM2HwMrAT0DOwEdASMiDwFMCTU2AgE/Pz8/Ew8wLAEtAgEBl5aVlNK7t7gDBAAAAAACAEX//QI+ArYAGQAlAAABNj8BHQEPASMHLwE9ATsBHQEfATsBPwEvARM3OwEdAQcGDwEnJgHYGCokPDuIhzo5PDwdG0dIHB0CAgUCPz8NCjY0AQEBLAIBAV1dPDwBOzovLhITGxwcHj4/AYgEtLUDAgMBtbUAAAADAEX/+gKOArcADgAgAD4AAD8BMzIWHwEdAQcGLwE1NDc2FxYXFhcWFRQjBycmLwE3NgM3OwEdATsBNzY3Nj8BHwEHBg8CBg8BIyIvAiZJAw8NSwwKJycbG/wxBQRCfA1IUE8wOzlEBAvNAj8/EREwQDxOBwdLS1RQREAaGxQWKSQ6MwEB8z0LBAOPjgICAgJaXYgdAwNRmhBaAwQBO0lHVQUIAYsEiYoyQ0JUBAUCAl5bRUEPDw0NBweyrwAAAAACAEX//QI4ArcADQAXAAA3NhcWOwEdAQcGLwE9ARkBHwEbAQcGKwFPCEpCrqeIiXByQUACASwxERZ7AgIDOzwCAgICOzwBMQEOAgL++P73BAMAAAADAEUAAAL7ArcADQAXAEgAAAE2NzMXFg8BKwEnJj8BBTUXFjMfAisBETU7ARcWFxYfATc2PwMdAQcGDwE/ASMiDwM1NCcmJy4BLwEHBh8BIyIvAwKQDywpAwMDAzs6BAMDAv3IGT0BJwEDQUFBQDE5JjUIDzJZFDpAQAQEPz4EBAUEWlojIy8aJwUeBhYFBQICDxAsLQQFASsDAnBvKShHTEdNhqIECweXlgISpFJgQ1kNFVWVImECArW1AgMEBDc3l5YCAQUFTSpCCTELJBMSIB4MDAYHAAACAET/+QJ3ArEACwAoAAATNx8BHQEPAS8BNTQ3JzsBFxYfAT8BOwEZASsBJyYnLgEvAQ8BJyYnJkgDPz8GBjw8AQI9PHdSSCICAUJCPj8uIEoSTQotAwM8OwQDASAHAQKSkQQEBASMi+G4rXZnMd3e/qf+qEAtbRpwEEE+PQEBAwMAAAACAEX/+gJ4ArEAGQAxAAA3NTsBFxYdAR8BOwE/AT0BHwMPAy8BEzc7AR8BDwM9AS8BKwEPAR0BKwE9AUU+PgQEGhpgXxwbQUACAj8/mplBQUBAm5w+PQECQEEbG19eHBtCQtBVGx4dIRgYGxs4OQIBU1JAQAIBQUEB9UA+Pnt8AQJkZBgXGxtgYHp7AAEARQAAAlsCsQAnAAATNTsBHwEdAQ8BJyMPASsBPQE3Njc2PwE7AT8BPQEvASsBDwIGKwFF0dE6Ojs6kJACAT8/GRAtJg4Oa2oYGBkYd3cBAi4yCxACCqc9PmVlOzsBe3yjogcFCAcIBxkaMDAYGF1dCgoAAwBF/5gCbAKxABoALgBIAAAlNTsBHQEPARcWBwYPAScuAS8BNzY/AR8BPwElNzsBHQEfATsBFxYdAS8DNSYTNzsBHwEdAQcGLwE9AS8BKwEPAR0BLwMB7j8/ICEhIAECJSUGBTRlOw0KIBwfHg8O/lsEPDsbGxgYNTRpaj08AT09mJk+Pjs7BAQbG19fGxw9PgIB6jtYVyEgKCYHBiEhAgI8eEcLCBoYISELCmkNODgbHD0/BAUCAj8/SEQBaEI+Pnx9AgICAmBfHBsbG2BhAgF4eAACAEj/+QJyArEADwA5AAAlNjsBFxYdAQ8BJyYnJjU0ATc7AR8BHQEPASsBDwIGLwE9ATc2PwM7AT8BPQEvASsBHQEHBg8BAYgnHhZHSEZHFSElMv7yAc7OPD07O5CRAQIREywuBgU3NxkYXV4aGxgZdHQsMw4U4QJvbgUEAgEhNTpNBAQBKKo+PlxbPj6CgwICBASdnQUFCgoODhobLi4WFmFhBwgBAwABAEX/+gJyArEAOQAAEzc7AR8BBwYdASsBPQEvASsBDwMfBR0BDwEvAz0BOwEdAR8BNzM/AT0BLwY1gj2foDo6AwM8PRcXZmYYGAIBFhaKijY2PT6cnjw8Pz8bGWVlFxYTE4eIOjkBAnFAPj4QEBERCwsVFBgZJCMWFwQENTZOT0JBAQI8PSYnCgsZGgIYGSAhERMCATc2V1cAAAACAEX/+gJyArEACQARAAABNzsBGQEvATU2AzUNAR8BKQEBGAE/P0BBAdIBFQEVAQL+6f7qAR/r/vj++AECHBACSEACAT4+AAADAEX/+QJgArEAGQAjACsAACU1OwEdAQ8BLwQ1NzYfAhYfAz8BETU7AR0BIyIPASU1HwEdAQ8BAeI/Pz4/lZY5OQEQECwsAwQZGVhYHh4/PykoFxb+Yz49PT7sOVhXPz4CAzs9JScDAwMECQsYGAIBHR0BP767ugQEkewCAenoAgIAAAABAEn/+gK3ArEAHQAAEzc7ARceAh8DNxI3PgEXFgMGDwEvAiYDLgFKAUFCFQUaKQ1ABgUihAsGdAQFijkZE0lKFyR8KA0CrQQ+D0x7Jr4BAWMBiwcEAQQF/nShTDUBAjxgAXF1KAAAAAMARP/6AyYCsQANAEUAVQAAATcfAQcGAgcGJi8BNxIFNzsBFxYfATc2MhYfAQcGDwErAScmLwE/AS8BBwY9AQ8BHwEHBg8BIyI1NCcmPQE3Nj8BHwE3NgMnHwIWHwEHBg8BJyYnJgKiA0BBAQNUAgNSEg8IP/7eEi8vJysDBwQEClsICAcGGBg4OQIDIyMDBAcGBQYJCgMEHwYiCjw7HR0tMQgMBgUEE/kDREMWKQwELSgUEAMvGQwCqgcCAQ8R/psCAhwJCSMBJjpPs8ARHBAPIwUFIh5mYwQGnp8zMhERCAgEBQgILi6EF5YqBAV4fAcJERMCBBMTDkwBQgoCAV+0OxIREAUDDMR0NQACAEX/+gLNArEAFwAzAAABNzsBFx4BFRQrAS8BBwYPASMiNTQ3PgEDNR8CFh8BNzY/ATMyFRQHBgcGDwMvAiYBKg5RUCYqpEtNVVYgHDo2TUwbGaHESUlNRgwFBQdLTElKCAozQyAuUVIPEFKCAUkVNDvvAwN+fi0nVlIDAicj6AF8BAIBbWMTCQkLbG8EBQgNSmEsQAQEBAR0tgADAEX/+gKsArEADQAbAC0AAAE2MzIXFh8BDwM9ARM3OwEHDgEPAScuATU0JTU7ARcWHwEHBg8BJyYnJicmAVMcBQQODhQSAQJAQbotR0gDA4wrHwQYLv6/REUOC0E+ERMRFBcQFyQMagFkMxsZHhyWlgIBm5sBO0YKCOFDLwQbRwgJ6AYTDmllHCMYHyYYJTsSpwAAAwBF//oCSQKxAAcAFgAiAAA3NSkBHQEpAQE3OwEXFgYPASMiNTQ3NiU3KQEdAQcGJyMnJkUBAgEC/v7+/gEwGkxLAwKlWiZPUHuF/uADAQAA/19nm6ACATk/Pz8B7yEEA8xqLAMDkZ/SCD8+AgQBOTkAAAAEAEX/+gJ9A2kAEQApADEAOQAANyczMh8BHQEXFjc2MxcdAS0BETcpAR0BKwEdAR8DLwIuAi8BNTQlNTsBHQErASc1HwMrAUYBDyNIEA8UlFR0L/7m/uUEARgBGdfXnJwCAo6PNgsnHAceASo9PDw9wzs7AgE9PJGUDwRJSgQEAQEBPz8BAgKwCT8/U1MCATg5AwEKAgcGAQaxsIY/Pz8/QAICPT4AAAAEAEUAAAKUAr0ACQATAB0AMQAAJTY7AR0BKwE1NAU1FxY7AR0BKwEBNi8BDwEXFjsBAzcfBBUPASsBJyYvAT0BNzYCFAM/PkJC/jUeIB8hPz8BtgJJSUdIEhF9ffEYTk9rawFSUoaHQkcIDVVSegQ/Pzs8NEMEBD8/AQcEk5SUkwQEAY0tAgLX1zc3BwcHBgIDNDWspQAAAAIARf/7ApQCvAAnADcAABM3OwEfAR0BDwIGLwE/AjY/AR0BFxY/Az0BLwEjJzc2LwE3NgM3DQEfASsBHQEHBg8BPQH1AZSUOzs+PZ6sPkwBAjs+BghKUzI7GRgXF3l7AgEFBgoJqgQBFgEXAgLY1yc3Dh4BkAc6OVRVPj0DAgMEmJgKCwIDZmYDBAQCGBcjIxcWAQYHEhIbIAEqBAECPT5sbAcJAQSysgAAAAACAET/+gKVAroADQA8AAABJwcGIwcdATsBPwE9ASU2FxY7AR8DBwYUHwEdAQ8BLwImPwEXFh8BHQE7AT8BPQEvBCYvAT0BAe8cKmkaV4KDGxv+mE91chgjPz8CAiAgHyBBQeXlAgIEAzs7BweCghwbGBl4eUxNBAYCIxsBAwNSUxscHyCwAgEDPDxOTSAgCiEhTk5AQQECZ2A2LgcIAwJOThsbIyQUEwMEDxACBLe3AAIARf/6AlsCvAAKABQAABMRFx4BHwEZASsBEzcFIR0BLQEnJkUbCDAKJ0JCAgMBCQEI/vb+9wIBAREBFQIBBAEE/vD+8AK7BwFCQQECOTsAAwBF/3YDAQK2AA8AGQBEAAAFPgEzNxcWHQErAT0BNz4BBTUfAhYPAxM3OwEdAQcGKwEPAgYWHwE/AjY3Nj8BHQE7AR0BKQE9ATsBNzY3Nj8BAtYFEwIJBQNCQiQJJ/10PkADBAICQEHPQaurEhN2dygoGBcGeXoHCAEDAgFCQCsr/qL+oiUlAwMaHQIEGwECARoeHB8zMwQBBDc4AgEeHRgXAgEC4GA7PAQDOjyjowYCAQQGz9ACAgMD2tk8PT08BAaruAURAAACAEX/+gJ9ArYAEQAnAAA3NTMyHwIWHQE3Nh8BHQEpARE1KQEdASsBBwYdATsBHQErAScmLwFFCQk5OAMEcY9IZv7k/uQBHAEc19YEA56dhIUdG0A+kpgJCgwNQ0QBAgEBPz8CAro/PxoeNjg6OQgHCwoAAAQARf/6A/gCtgAJABoAJgBKAAAlNRcWOwEdASsBEzY7ARcWFx4BHQEvAiYvAQU3FxYVFAMHIyI1NBM0OwEXFh8CMz0BOwEdATM/AjMyFRQPAy8CJi8CJgHcJyUdG0JC2TEKCCshLTFWUlE2kggD/mBmOTm1Ik9PC05NOz8nKxMSQkIQEGlrTEytVDM0aWofIRERLdKbogMEnp4BTxo9Lj1BeQMEAQJLyhQKVY0cHAIF/wAvAwYCsANDSTA0AXl4eHkBeHgDB8ZgGhgBARARBgY09gAAAQBF//oCjgK8ADkAABM3OwEfAR0BDwEfAR0BDwErAS8BPQE7AR0BHwE7AT8BPQEvAz8HLwEPBz0BhUGko0BBIiMjIkBBpqc9Pj8/GxttbRkYFRZrbAECaWkWFwECHRxqahgYAgJBQAJ8QEBBS0ojIyIhUVFAQT4+JicLCxcYGBgjIxYVAwQ3OAEBFxcjJBoZBAQVFQsMAgEkJQAAAwBF//oCjgK7AAsALAA4AAABNjM3DwErAT0BNzYDNh8BHQEPAScmPQEHBgcGDwEvAzc2PwEdATc2Ej8BJTYzFx0BBwYjBz0BAlIHGhsBAj8/ICA0CjUzPT0DBCA3mjoFE0A/AgEEBj09CgncMCX+URMtKCgsFBkBMwIBnJ2YmAICAYcDAQGxsgwMCw43OS1O3FMIGwEClZUEBAUELS0OCwFBRjgCAgGysgYHAbe4AAAEAEX/+gKOA10ACwAqADkATQAAATYzNx0BLwE9ATc2Azc7AR0BBwYnJi8BBwYHBg8BKwE9ATMyPwEfATc+ASU2HwEdAQciBgcGDwE9ATc1OwEfATsBPwE7AR0BDwErAS8BAjotDxhAQQUGU049Pj0+AgQDAxMWX24eK0JBFhIwKwICMzZw/rAiLyMNAyUKKQwQhCcnFhcmJRcWKioqK1BPKSoBMQQBnp4BApSSBgUBGHCwsQkKAwM8PRwei50qO5ubBAQtLElOoqAFBASurwMHAQcCBLu7iR4XFxcXHBwmJiQjAAADAEX/+gKyAsgADAAbADUAADc1Fx4BMxcdAQ8BLwEBNjMyEh8BKwEnJi8BNzYDNx8FPwIzBwYPAgYPASMiLwE9AUUhCjQHJCAhJCUBCy4DA/Q1BVhYTmcRKggD1AQ/QAMDEhKJiFNSNSxyaioqBQMhJUFHnZsEAQYElJMEBAQEAUcg/ttCCGB/FDMFAgGdBAIBiooCAYeGATovb2UZGQYGBwe4uQAAAAACAET/+gKOArwACwAlAAABNj8BGQErARkBNzYlNzsBHQErAQ8FKwE/BTU0PwECTA4iEkJCEwv+3kSiooCAJiUMDTQ1Pj8CAh4dFRQMCwIjAQIB/ur+6QERARADAkNZPz8zM7m6NTY7OwIBFxckJJCRAAAAAAIARQAAAxICvAALADQAAAE2MzIZASsBPQE3NgUROwEXFhcWFxYfATc+Ajc+AT8BOwEdAQcADwErAScmJyYvAQ8BKwEC+RcBAT4/JyT9ZT4+JCEUEB4pFiEJAhUjDwtRDi1AQSH+/hgKJCUQIhsuIiICAT8+Ajko/s/+0MrKPjuvAV49NiQcM0clOBAEIzoZE4oYSxMUOP5VLxEbOy5OOjvd3AAAAgBI//oCiAK8AAkAIwAANzUXFh8BHQErAQM3OwEdATsBPQE7ARkBKwE9AScmJyYnJi8BSw0LNzVCQgEBQkKYmEVEREWIihYDPzUHEZabAwIIB5GSAgi6j5CQj/6f/p+VlAQEBQELBwEDAAAAAgBF//oCjgK8ABcAMQAANzU7AR0BHwE7AT8BPQE7AR0BDwErAS8BEzc7AR8BHQEHBisBPQEvAw8BHQErAT0BRUJCHRxmZR8eQkJAQaOkQEFAQaSkQEAaHiQoHB5lZR8eQkLTVzo7Hh8eHjs7V1hAQUFAAgBBQUF5eAQEYWAcHQIBHR9gYX19AAIARf/6AngCvAAJABkAAAE2MxcZAQ8BGQEFESkBHwEHBi8BDwEZASsBAiM3DA5DQ/5XARkBGAEBHxuSkCkqQkICIAUB/u3+7AIBARABEL8BYT8+AwQDBAQE/uL+4QAAAAEARf/6Ao4CvAAlAAATNTsBHwEdAQ8BIyIPAR0BKwE/BDM/AT0BLwEPAyMiDwFF5ORAQT0+mJcODUJCAQIuLpiXHBscG4SDAgIbG0ANAhikQEFnaD0+AwR4eLCxBwYBGxs1NBsaAgJZWg4DAAIARf/6AoQCvAAZADMAADc1OwEdAR8BOwE3Nj0BOwEfAQcGDwErAS8BEzc7AR8BHQEHBi8BPQEvAQ8DHQEvA0VCQh4eYmQcHTw8BAQWHiAooaFAQUBAoaE7OzQzDAsZGWZlHB1AQQIB01c6Ox4fHx0IByMjFyEhKkFAAgBBOzslJgMDAgMKChgYAgIcHGBhAQJ7ewACAEX/+gKrArwACwAXAAABNj8BFxYPASsBERAnNykBHwEPAS0BJyYBNANBQQICAgJFROkDAS0BLAQEBAP+0v7SAgECEQMBAVpbs7QBCgEKpwctLhQVAQI5OQAAAAEARf/6Ao4CvAAwAAATJzsBFxQeAR0BHwE/AjQ2NzU7ARkBDwErAS8BPQE7ARcWHwE7AT8BNTQ/ASsBLwFGAUJCAQEBGhmEhAEBAUJCP0CoqDo6PD0DAxsaaGkaGgQEqKc8OwIpk0YNNicMLxoaAQJIE2cURv7g/t9AQT4+JyYKChscGxwPCjAtODgAAgBEACQDEwLDABEAXgAAEzU7AR0BHwE7AR8BDwErAS8BATU7ARcWHQE7AR8BHQEHBg8BPQEvASsBFRQWFRc7AT8BPQE7AR0BDwErARUUDwErAT0BLwImPwE7AT0BKwEPAR0BJyIvAT0BPwE7AUQ+PhoZCQkEAwMEJyY6OgEpPj4DA1hYOjoHBjg3GRo8OwEBOjoaGj4+OzpYVwMDPj4nJwICBAMmJUA/FxcRBzYsOTlaWwExPSQkGhojIxYWOjsBriAMDhIVOTs/PwMCBAUvLxgZYx9oCC0ZGiUkPT06OiUkCgkuLgECICIWF4+QGBcuLgEBAUREOTgAAAAAAgBEAAAC9QKrABUAMQAAATcfAhYfASsBJyYHIgcGDwErATc2Eyc7ARcWFxYfAT8CMj8BHwEHBgcGDwMnJgEYKmBgXW4MHFBQWloDBBwbQT9PUAQVAQNOThooKTkFBlNTIx4pJggITUcrJggJU1N4dwESNQECe5IQJ3h5ASYmUlIHHwJ9CCE1OU4BAWxsAQMDBQZjXTUtDQ0EA5+dAAAAAAIARf98ArYCnwALACgAAAE2HwEdAQcGKwE9ASU+AR8BGQE7AT8CNj8BHQE7AR0BKwE9ASsBGQECCSkWEzs4BwX+cwxWCw2KiQECGhgmJC0uPz/5+gKbAgMCp6gJCrKxAgMBAwT+8P7wU1EEBQMEWlp+fj8/AU8BUAAAAAABAEX/+gJbAqAAIAAAEz4BHwEdAR8CFj8BPQE/AR8BGQErATU0LwU1NEcERRghFxhcYBMVCgo1NkA/AQKPjzs7ApoEAQMEe3sbGwEBAwOUlAQEBAT+sf6xDQJ7cAIBOjuWlgAABABF//oDNQKfABoAJgAyAEAAABI2HwEdATsBPQE7AR0BOwE9ATc2PwEdASkBNQE2NzMdAQcGDwE9ASc2HwEdASMiDwE9AQU3MzIfAR0BJyYvAiZFBT9AX14/P1lZCxAvNf6I/ogCfw4xMiQsExz1OgUEMTIODf7CAhwZJyMsKxYUAgEBKQQFBVZVPTw8PTQzAwQCBHl5lwIKAwHIyAYIAgTPzwICAgLGxQQDyckBBwMEr68EBAQEo6QAAAAEAEX/cANvAqEALQA3AEUAUwAAATY/ARcWHQE7ARcWDwM9ASkBPQE3Njc2OwEdATsBNzYvATc2PwEdATsBPQM7AQ8CBg8BATYfAR0BBwYrATc2PwEFNTMyHwEdAQcOAiMHAq0WKCAEAysrAwQCAkBB/q3+rhgFMx8IB1BQAwMDBAgLNThWVkJBAQEUFSst/uYVNiMNDjEyAgIBAf7bIR4hHjILHhMDDQEsAgEBIyc1ORgdZWsBAkVFgYAGAQ4JUFEJBzIxAwIDBD9AWVnDraWlBAQEBAFbBgUEwsEEA6u0ERu9wwMEs7ILAgcEAwAAAAACAEX/+gLNAp8AJQAxAAATNj8BHwUdAQ8BKwE9ARcWHwEdATsBPwMvASsBLwE9ASc2OwEdAQcGLwE1NNAWKSEBApWVOTc7OtPTJCMcG3h3GRkBARoaZWVRUmkDc3EuL0dHAgYCAQEyMgICNzhfXj4+nJwEBAcFU1MaGicnGxsNDF5dlwQ+PgMDAwM6OwAAAAADAEX/+gMSAp8ADQAaAEIAACU2PwEdASsBJyY9ATc2AzczMh8BHQEHBg8BJwE2HwcdAQ8BKwE9ATMyHwM7AT8BPQEvBCYvAT0BAtARHBU8PAECEQsaAS8uDwwpKxETAf22DjM2AwOMjTg4OjvNzhYRLysCAW5uGRkZGGVkOToSE+cCAQF4eU1SICcDAgFaYAMExMUIBgEBcAEtAwIBe3sBAjo5Xl49PZubBwdVVRkYKywXGQICCQoDA6amAAEARf/6AmwCoAApAAATNx8EFj8BHwEdAQ8BKwE9ARcWHwEdATsBPwE9AS8BKwEnJi8BPQFJBDw9AgEkJm9xPTw+PdbWJCEhHnd2HBwdHGVlSUYNCgKcBAICeXkEAwECPTxbWz4/nJwEAwYHU1MbGyooGBgMCwMDpqUAAAABAEX/+gJsAp8AMwAAEzY3Mx8BHQEPASsBLwI1PwEfARUUHwE7AT8BPQEvAT0BPwE9AS8BKwEPAR0BKwE9AT8BxgmPjEFBPj6Zmjw7ARcYJSQbG19fGxx0dXV0GxtbWx0cPz87OwKbAwFAQNXUPj4+PiMjBAQEBAYHGxwbGzMyAgE3NgIBMjIcGxgZDA4oJjo6AAAAAwBF//oDQAKfABsAJQBQAAABMj8BHQEPASsBLwE9ATc2OwEdAR8BOwE/AT0BBTUzMh8BHQErARM2Mh8BHQE7AT8DOwEfAR0BIyIPAT0BLwErAQ8BHQEHBg8BJyYvATU0AtsDPCY9PZybOzsWFyUnGxtiYhsb/YMKHUgPPz8EA10ODCgnBAQ9PpiYPj0YGiUnHRxdXR8eJCE1MS4uIiQBFQMCUVE/Pzs7Tk4EAzIxHBwdHDExiY8PA4aHAqEEAwSJiU9PPj1AQHh3BANhYhsaHh5dXAEBCQkJCQQEs7MAAAADAET/+gKIAp8ADQAZAC0AAD8BMzIfAQcGDwErATc2AS8BIw8BHQEfATsBJTc7ARkBKwE1JicmLwErAS8BPQGeTjs5DgwSET09TUwFAgG+Ant7GBkZGH19/pQ+1dY/PwIBAQEBmZk4OHJoAwQbGVNSBwMBw1cBGRomJxgY8j7+rv6tHCNIShwVODhcXAAAAAAAAA4ArgABAAAAAAAAABgAMgABAAAAAAABAAoAYQABAAAAAAACAAcAfAABAAAAAAADACcA1AABAAAAAAAEAAoBEgABAAAAAAAFAA8BPQABAAAAAAAGAAoBYwADAAEECQAAADAAAAADAAEECQABABQASwADAAEECQACAA4AbAADAAEECQADAE4AhAADAAEECQAEABQA/AADAAEECQAFAB4BHQADAAEECQAGABQBTQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADIANgAsACAAcgBvAG8AdAAAQ29weXJpZ2h0IChjKSAyMDI2LCByb290AABLAG8AdgBhAHQAQwB5AGIAZQByAABLb3ZhdEN5YmVyAABSAGUAZwB1AGwAYQByAABSZWd1bGFyAABGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAEsAbwB2AGEAdABDAHkAYgBlAHIAMgAgADoAIAAxADMALQA4AC0AMgAwADIANgAARm9udEZvcmdlIDIuMCA6IEtvdmF0Q3liZXIyIDogMTMtOC0yMDI2AABLAG8AdgBhAHQAQwB5AGIAZQByAABLb3ZhdEN5YmVyAABWAGUAcgBzAGkAbwBuACAAMAAwADEALgAwADAAMAAAVmVyc2lvbiAwMDEuMDAwAABLAG8AdgBhAHQAQwB5AGIAZQByAABLb3ZhdEN5YmVyAAACAAAAAAAA/7UAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAABAAIAAwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0BAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIHdW5pMDQwMQd1bmkwNDEwB3VuaTA0MTEHdW5pMDQxMgd1bmkwNDEzB3VuaTA0MTQHdW5pMDQxNQd1bmkwNDE2B3VuaTA0MTcHdW5pMDQxOAd1bmkwNDE5B3VuaTA0MUEHdW5pMDQxQgd1bmkwNDFDB3VuaTA0MUQHdW5pMDQxRQd1bmkwNDFGB3VuaTA0MjAHdW5pMDQyMQd1bmkwNDIyB3VuaTA0MjMHdW5pMDQyNAd1bmkwNDI1B3VuaTA0MjYHdW5pMDQyNwd1bmkwNDI4B3VuaTA0MjkHdW5pMDQyQQd1bmkwNDJCB3VuaTA0MkMHdW5pMDQyRAd1bmkwNDJFB3VuaTA0MkYAAAAB//8AAgABAAAADAAAABAAAAACAAAABAAAAAIAAAAAAAEAAAAA4i7C6QAAAADmpADxAAAAAOakAPE=') format('truetype');
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  background: var(--black);
  font-family: 'Segoe UI', system-ui, sans-serif;
  color: var(--white);
  overflow-x: hidden;
}

/* ---------- слои ---------- */

/* ---------- фон-слайдшоу (плавный кроссфейд между несколькими картинками) ---------- */

.bg-layer {
  position: fixed;
  inset: -20px;
  background-size: cover;
  background-position: center;
  z-index: 0;
  opacity: 0;
  transition: opacity 1.8s ease; /* длительность переопределяется из script.js (config.fadeMs) */
  animation: bgDrift 22s ease-in-out infinite alternate;
}

.bg-layer.active {
  opacity: 1;
}

@keyframes bgDrift {
  0%   { transform: scale(1) translate(0, 0); }
  100% { transform: scale(1.06) translate(-1%, -1%); }
}

.overlay {
  position: fixed;
  inset: 0;
  background: var(--black);
  opacity: var(--overlay-opacity);
  z-index: 1;
}

/* ---------- уголки: 4 независимых блока, каждый со своим соотношением сторон ---------- */

.corner {
  position: fixed;
  width: clamp(148px, 24vw, 300px);
  z-index: 3;
  pointer-events: none;
  animation: cornersIn 1s ease-out both;
}

.corner img {
  display: block;
  width: 100%;
  height: auto;
}

.corner-tl { top: 0; left: 0; }
.corner-tr { top: 0; right: 0; }
.corner-bl { bottom: 0; left: 0; }
.corner-br { bottom: 0; right: 0; }

@keyframes cornersIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* текст внутри рамок — масштабируется вместе с уголком через container query units (cqw) */

.corner-text {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-family: 'Consolas', 'Courier New', monospace;
  line-height: 1.15;
  white-space: normal;
  word-break: break-word;
  color: var(--white);
  text-transform: uppercase;
}

.corner-text .ct-line1 {
  font-size: clamp(7px, 0.5vw, 10px);
  font-weight: 700;
  letter-spacing: 0.06em;
}

.corner-text .ct-line2 {
  font-size: clamp(7px, 0.5vw, 10px);
  font-weight: 700;
  color: var(--pink);
  letter-spacing: 0.06em;
  display: flex;
  align-items: center;
  gap: 0.4em;
}

.corner-text .dot {
  width: 0.45em;
  height: 0.45em;
  border-radius: 50%;
  background: var(--pink);
  flex-shrink: 0;
  animation: dotBlink var(--dot-speed, 1.4s) ease-in-out infinite;
}

@keyframes dotBlink {
  0%, 100% { opacity: 1;   box-shadow: 0 0 0.3em 0 rgba(255, 30, 90, 0.7); }
  50%      { opacity: 0.25; box-shadow: 0 0 0 0 rgba(255, 30, 90, 0); }
}

.ct-tl {
  left: 8%;
  top: 24%;
  width: 46%;
  transform: translateY(-50%);
}

.ct-tr {
  left: 24%;
  top: 23%;
  width: 74%;
  transform: translateY(-50%);
  align-items: flex-end;
  text-align: right;
}
.ct-tr .ct-line1 { color: var(--white); font-size: clamp(8.5px, 1.05vw, 10px); padding-right: 2.5vw; padding-top: 0.5vw;}

.ct-bl {
  left: 10%;
  top: 87%;
  width: 52%;
  transform: translateY(-50%);
}
.ct-bl .ct-line1 { color: var(--pink); font-size: clamp(10px, 0.7vw, 10px);padding-left: 2.5vw; padding-bottom: 1vw; }

.ct-br {
  left: 36%;
  top: 87.5%;
  width: 58%;
  transform: translateY(-50%);
  align-items: flex-end;
  text-align: right;
}
.ct-br .ct-line1 { color: var(--white); font-size: clamp(8.5px, 1.05vw, 10px); padding-right: 2.5vw; padding-bottom: 1vw;}

.content {
  position: relative;
  z-index: 2;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 90px 24px 150px;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

.logo {
  width: min(320px, 60vw);
  height: auto;
  margin-bottom: 28px;
  animation: fadeUp 0.8s ease-out both;
  filter: drop-shadow(0 0 16px rgba(255, 30, 90, 0.25));
}

.title {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
  font-family: 'KovatDune', 'Consolas', 'Courier New', monospace;
  font-weight: 700;
  font-size: clamp(28px, 5vw, 52px);
  letter-spacing: 3px;
  margin: 10px 0 22px;
  text-transform: uppercase;
  animation: fadeUp 0.8s ease-out 0.15s both;
}

.bracket {
  color: var(--pink);
  font-weight: 300;
  opacity: 0.85;
  animation: blink 2.4s ease-in-out infinite;
}

.bracket:last-child { animation-delay: 1.2s; }

@keyframes blink {
  0%, 100% { opacity: 0.85; }
  50%      { opacity: 0.25; }
}

.title-white {
  color: var(--white);
  text-shadow: 0 0 18px rgba(242, 244, 248, 0.35);
}

.title-pink {
  color: var(--pink);
  text-shadow: 0 0 22px rgba(255, 30, 90, 0.55);
}

.subtitle {
  max-width: 520px;
  color: #cfd3dc;
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 40px;
  animation: fadeUp 0.8s ease-out 0.3s both;
}

/* ---------- форма подписки ---------- */

.subscribe-form {
  display: flex;
  align-items: center;
  width: min(520px, 92vw);
  height: 60px;
  background: rgba(10, 6, 14, 0.75);
  border: 1px solid rgba(255, 30, 90, 0.6);
  border-radius: 4px;
  overflow: hidden;
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
  animation: fadeUp 0.8s ease-out 0.45s both, formPulse 3.6s ease-in-out 1.3s infinite;
}

@keyframes formPulse {
  0%, 100% { box-shadow: 0 0 20px rgba(255, 30, 90, 0.16), inset 0 0 18px rgba(255, 30, 90, 0.06); }
  50%      { box-shadow: 0 0 32px rgba(255, 30, 90, 0.3), inset 0 0 18px rgba(255, 30, 90, 0.12); }
}

.subscribe-form:focus-within {
  border-color: var(--cyan);
  box-shadow: 0 0 30px rgba(63, 230, 239, 0.35), inset 0 0 18px rgba(63, 230, 239, 0.1);
}

.mail-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  color: var(--pink-light);
  flex-shrink: 0;
}

.email-input {
  flex: 1;
  height: 100%;
  border: none;
  background: transparent;
  color: var(--white);
  font-size: 15px;
  font-family: inherit;
  outline: none;
  min-width: 0;
}

.email-input::placeholder {
  color: #7a7f8c;
}

.submit-btn {
  height: 100%;
  width: 84px;
  flex-shrink: 0;
  border: none;
  cursor: pointer;
  background: linear-gradient(180deg, #ff2f68, #d4104a);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: filter 0.2s ease, transform 0.15s ease;
}

.submit-btn svg {
  transition: transform 0.2s ease;
}

.submit-btn:hover {
  filter: brightness(1.15);
}

.submit-btn:hover svg {
  transform: translateX(3px);
}

.submit-btn:active {
  transform: scale(0.94);
}

.submit-btn:disabled {
  cursor: default;
  filter: brightness(0.85);
}

.submit-btn .icon-spinner {
  display: none;
  animation: spin 0.8s linear infinite;
}

.submit-btn.is-loading .icon-send { display: none; }
.submit-btn.is-loading .icon-spinner { display: block; }

@keyframes spin {
  to { transform: rotate(360deg); }
}

.email-input.invalid {
  color: var(--pink-light);
}

.form-error {
  min-height: 18px;
  margin: 10px 0 0;
  font-size: 13px;
  color: var(--pink-light);
  animation: fadeUp 0.5s ease-out both;
}

.form-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 10px 0 0;
  font-size: 12px;
  color: #7a7f8c;
  animation: fadeUp 0.8s ease-out 0.6s both;
}

/* ---------- соцсети (закреплены внизу экрана, до 13 иконок в несколько строк) ---------- */

.socials {
  position: fixed;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  z-index: 4;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: flex-end;
  gap: 8px;
  width: min(92vw, 620px);
  pointer-events: none; /* сам футер прозрачен для кликов, кроме иконок */
}

.social-item {
  pointer-events: auto;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 30, 90, 0.55);
  border-radius: 4px;
  color: var(--pink-light);
  background: rgba(10, 6, 14, 0.6);
  backdrop-filter: blur(2px);
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  animation: socialIn 0.6s ease-out both;
  animation-delay: calc(0.7s + var(--i) * 0.05s);
}

.social-item .mono {
  font-family: 'Consolas', 'Courier New', monospace;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.02em;
}

@keyframes socialIn {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

.social-item:hover {
  color: var(--black);
  background: var(--pink);
  border-color: var(--pink);
  box-shadow: 0 0 18px rgba(255, 30, 90, 0.5);
  transform: translateY(-3px);
}

/* ---------- адаптив ---------- */

@media (max-width: 640px) {
  .content { padding: 70px 16px 190px; }
  .title { gap: 8px; letter-spacing: 1.5px; }
  .subscribe-form { height: 54px; }
  .submit-btn { width: 64px; }
  .social-item { width: 34px; height: 34px; }
  .social-item svg { width: 16px; height: 16px; }
  .social-item .mono { font-size: 9px; }
  .socials { bottom: 12px; gap: 6px; width: min(94vw, 420px); }
}

@media (min-width: 641px) and (max-width: 1000px) {
  .content { padding-bottom: 160px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
