/* Abnormies Phase 1 app.
   Visual language extends the root teaser (index.html): warm paper palette,
   Robotastic display face, Georgia body. Cloud-render greys are used as
   functional accents. Not derived from EtherPool's styles. */

@font-face {
  font-family: 'Robotastic';
  src: url('data:font/ttf;base64,AAEAAAAKAIAAAwAgT1MvMgSWB8oAAAukAAAAYGNtYXAejiBZAAAArAAAAgRnbHlm3jgmngAADCQAABxIaGVhZF8Q/5AAAAKwAAAANmhoZWEDAP59AAAC6AAAACRobXR4QYAEvgAAAwwAAAGYbG9jYQAAR3MAAChsAAABnG1heHAAZv+5AAAEpAAAACBuYW1lZBDrDgAABMQAAAbecG9zdAAC//0AAAwEAAAAIAAAAAIAAAADAAAAFAADAAEAAAEMAAQA+AAAAAgACAACAAAAfiAZIB3//wAAACAgGCAc////4+BK4EgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAD4AAAACAAIAAIAAAB+IBkgHf//AAAAICAYIBz////j4ErgSAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAHucPyV8PPPUAAAQAAAAAAM9wM0cAAAAAz3AzR//A/4AEQAMAAAAACAACAAEAAAAAAAEAAAMA/4AAAASA/8AAQASAAAEAAAAAAAAAAAAAAAAAAABmAgAAAAAAAAABwAAAAcAAAAEAAEABwABABAAAQAQAAEAEAABAAgAAQAEAAEACQACAAgAAQAIAAEAEAABAAQAAQAQAAEABAABABAAAQAQAAEABAABABAAAQAQAAEAEAABABAAAQAQAAEAEAAAABAAAAAQAAEABAABAAQAAQAKAAEAEAABAAoAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEABAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQASAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEABgABABAAAQAGAAEACAABABAAAQAEAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAEAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABIAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAGA/8ABAABAAgAAQAQAAEABAABAAQAAQAHAAEABwABAAAEAAABmACAABwAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAiAZ4AAQAAAAAAAAAcAAAAAQAAAAAAAQAKABwAAQAAAAAAAgAHACYAAQAAAAAAAwAVAC0AAQAAAAAABAASAEIAAQAAAAAABQALAFQAAQAAAAAABgAKAF8AAQAAAAAABwA8AGkAAQAAAAAACAAVAKUAAQAAAAAACQANALoAAQAAAAAACgArAMcAAQAAAAAACwAXAPIAAQAAAAAADAAwAQkAAQAAAAAADQAoATkAAQAAAAAADgAuAWEAAQAAAAAAEwApAY8AAQAAAAABAAAIAbgAAwABBAkAAAA4AcAAAwABBAkAAQAUAfgAAwABBAkAAgAOAgwAAwABBAkAAwAqAhoAAwABBAkABAAkAkQAAwABBAkABQAWAmgAAwABBAkABgAUAn4AAwABBAkABwB4ApIAAwABBAkACAAqAwoAAwABBAkACQAaAzQAAwABBAkACgBWA04AAwABBAkACwAuA6QAAwABBAkADABgA9IAAwABBAkADQBQBDIAAwABBAkADgBcBIIAAwABBAkAEwBSBN4AAwABBAkBAAAQBTBDb3B5cmlnaHQgRGFycmVsbCBGbG9vZCAyMDE0Um9ib3Rhc3RpY1JlZ3VsYXJGb250U3RydWN0IFJvYm90YXN0aWNSb2JvdGFzdGljIFJlZ3VsYXJWZXJzaW9uIDEuMFJvYm90YXN0aWNGb250U3RydWN0IGlzIGEgdHJhZGVtYXJrIG9mIEZTSSBGb250U2hvcCBJbnRlcm5hdGlvbmFsIEdtYkhodHRwOi8vZm9udHN0cnVjdC5jb21EYXJyZWxsIEZsb29k4oCcUm9ib3Rhc3RpY+KAnSB3YXMgYnVpbHQgd2l0aCBGb250U3RydWN0Cmh0dHA6Ly93d3cuZm9udHNob3AuY29taHR0cDovL2ZvbnRzdHJ1Y3QuY29tL2ZvbnRzdHJ1Y3Rpb25zL3Nob3cvOTgxNDEzQ3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbiBTaGFyZSBBbGlrZWh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LXNhLzMuMC9GaXZlIGJpZyBxdWFja2luZyB6ZXBoeXJzIGpvbHQgbXkgd2F4IGJlZEN3RUpjVmhuAEMAbwBwAHkAcgBpAGcAaAB0ACAARABhAHIAcgBlAGwAbAAgAEYAbABvAG8AZAAgADIAMAAxADQAUgBvAGIAbwB0AGEAcwB0AGkAYwBSAGUAZwB1AGwAYQByAEYAbwBuAHQAUwB0AHIAdQBjAHQAIABSAG8AYgBvAHQAYQBzAHQAaQBjAFIAbwBiAG8AdABhAHMAdABpAGMAIABSAGUAZwB1AGwAYQByAFYAZQByAHMAaQBvAG4AIAAxAC4AMABSAG8AYgBvAHQAYQBzAHQAaQBjAEYAbwBuAHQAUwB0AHIAdQBjAHQAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABGAFMASQAgAEYAbwBuAHQAUwBoAG8AcAAgAEkAbgB0AGUAcgBuAGEAdABpAG8AbgBhAGwAIABHAG0AYgBIAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABzAHQAcgB1AGMAdAAuAGMAbwBtAEQAYQByAHIAZQBsAGwAIABGAGwAbwBvAGQgGgDEAPoAUgBvAGIAbwB0AGEAcwB0AGkAYyAaAMQA+QAgAHcAYQBzACAAYgB1AGkAbAB0ACAAdwBpAHQAaAAgAEYAbwBuAHQAUwB0AHIAdQBjAHQACgBoAHQAdABwADoALwAvAHcAdwB3AC4AZgBvAG4AdABzAGgAbwBwAC4AYwBvAG0AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AHMAdAByAHUAYwB0AC4AYwBvAG0ALwBmAG8AbgB0AHMAdAByAHUAYwB0AGkAbwBuAHMALwBzAGgAbwB3AC8AOQA4ADEANAAxADMAQwByAGUAYQB0AGkAdgBlACAAQwBvAG0AbQBvAG4AcwAgAEEAdAB0AHIAaQBiAHUAdABpAG8AbgAgAFMAaABhAHIAZQAgAEEAbABpAGsAZQBoAHQAdABwADoALwAvAGMAcgBlAGEAdABpAHYAZQBjAG8AbQBtAG8AbgBzAC4AbwByAGcALwBsAGkAYwBlAG4AcwBlAHMALwBiAHkALQBzAGEALwAzAC4AMAAvAEYAaQB2AGUAIABiAGkAZwAgAHEAdQBhAGMAawBpAG4AZwAgAHoAZQBwAGgAeQByAHMAIABqAG8AbAB0ACAAbQB5ACAAdwBhAHgAIABiAGUAZABDAHcARQBKAGMAVgBoAG4AAAACA2cBkAAFAAQCAAIAAAAAAAIAAgAAAAIAADMAzAAAAAAEAAAAAAAAAIAAAAEAAAAAAAAAAAAAAABGU1RSAEAAICAdAoAAAAAAAwAAgAAAAAEAAAAAAoACgAAAACAAAAADAAAAAAAAAGYAMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAoACgAADAAcACwASABYAAAEBAQEBAQEBAQEBAQEBAQABAAEBAQEBAUAAAP+aAAAAywAA/zUAAABmAAD/mgAAAMsAAP+b/9X/4//iAAD/JgAAAoAAAABaAGYAAP+aAHcAZgAA/5oAdwBmAAD/mgB3AGUAAAAA/+P/4f/X/kECgAAA/YAAAAAAAgBAAAAAwAKAAAMABwAAAQEBAQEBAQEAQAAAAIAAAP+AAAAAgAAAAAAAgAAA/4ABAAGAAAD+gAACAEACAAGAAoAAAwAHAAABAQEBAQEBAQBAAAAAgAAAAEAAAACAAAACAACAAAD/gAAAAIAAAP+AAAIAQAAAA8ACgAADAB8AAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAsAAAP6AAAD/gAAA/4AAAACAAAD/gAAAAIAAAACAAAABgAAAAIAAAACAAAD/gAAAAIAAAP+AAAD/gAAA/oAAAAEAAIAAAP+A/wAAgAAAAIAAAACAAAAAgAAAAIAAAP+AAAAAgAAA/4AAAP+AAAD/gAAA/4AAAP+AAAAAgAAA/4AAAwBA/4ADwAMAAAMABwAbAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA0AAAP8AAAD/gAAA/wAAAAEAAAD+gAAAAYAAAP6AAAABgAAAAIAAAAGAAAD+gAAAAYAAAP6AAAAAgACAAAD/gAEAAIAAAP+A/gAAgAAAAIAAAACAAAABgAAAAIAAAP+AAAD/gAAA/4AAAP6AAAD/gAAAAAMAQAAAA8ACgAADAAcADwAAAQEBAQEBAQEBAQEBAQEBAQJAAAAAgAAA/oAAAACAAAD+gAAAAwAAAACAAAD9AAAAAAAAgAAA/4ACAACAAAD/gP4AAYAAAAEAAAD+gAAA/wAAAAABAEAAgAHAAgAACwAAAQEBAQEBAQEBAQEBAMAAAP+AAAAAgAAAAIAAAACAAAD/gAAAAIAAgAAAAIAAAACAAAD/gAAA/4AAAP+AAAAAAQBAAgAAwAKAAAMAAAEBAQEAQAAAAIAAAAIAAIAAAP+AAAAAAQCA/4ACAAMAAAcAAAEBAQEBAQEBAIAAAAGAAAD/AAAAAQAAAP+AA4AAAP+AAAD9gAAA/4AAAAABAED/gAHAAwAABwAAAQEBAQEBAQEAQAAAAQAAAP8AAAABgAAA/4AAgAAAAoAAAACAAAD8gAAAAAEAQAEAAcACgAALAAABAQEBAQEBAQEBAQEAwAAA/4AAAACAAAAAgAAAAIAAAP+AAAABAACAAAAAgAAAAIAAAP+AAAD/gAAA/4AAAAABAEAAAAPAAoAACwAAAQEBAQEBAQEBAQEBAcAAAP6AAAABgAAAAIAAAAGAAAD+gAAAAAABAAAAAIAAAAEAAAD/AAAA/4AAAP8AAAAAAQBA/4AAwACAAAMAAAEBAQEAQAAAAIAAAP+AAQAAAP8AAAAAAQBAAQADwAGAAAMAAAEBAQEAQAAAA4AAAAEAAIAAAP+AAAAAAQBAAAAAwACAAAMAAAEBAQEAQAAAAIAAAAAAAIAAAP+AAAAABwBA/4ADwAMAAAMABwALAA8AEwAXABsAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAP+AAIAAAP+AAIAAgAAA/4AAgACAAAD/gACAAIAAAP+AAIAAgAAA/4AAgACAAAD/gACAAIAAAP+AAAAAAgBAAAADwAKAAAMABwAAAQEBAQEBAQEDQAAA/YAAAP+AAAADgAAAAIABgAAA/oD/gAKAAAD9gAABAEAAAADAAoAAAwAAAQEBAQBAAAAAgAAAAAACgAAA/YAAAAABAEAAAAPAAoAACwAAAQEBAQEBAQEBAQEBAEAAAAMAAAD9AAAAA4AAAP0AAAADAAAAAAABgAAAAIAAAACAAAD+gAAA/4AAAP+AAAAAAQBAAAADwAKAAAsAAAEBAQEBAQEBAQEBAQBAAAADAAAA/QAAAAMAAAD9AAAAA4AAAAAAAIAAAACAAAAAgAAAAIAAAACAAAD9gAAAAAEAQAAAA8ACgAAJAAABAQEBAQEBAQEBA0AAAP0AAAAAgAAAAoAAAACAAAAAAAEAAAABgAAA/wAAAAEAAAD9gAABAEAAAAPAAoAACwAAAQEBAQEBAQEBAQEBAEAAAAMAAAD9AAAAA4AAAP0AAAADAAAAAAAAgAAAAIAAAAGAAAD/gAAA/4AAAP6AAAAAAgBAAAADwAKAAAMACwAAAQEBAQEBAQEBAQEBA0AAAP2AAAD/gAAAA4AAAP0AAAADAAAAAIAAgAAA/4D/gAKAAAD/gAAA/4AAAP6AAAEAAAAAA8ACgAAFAAABAQEBAQEDQAAA/MAAAAPAAAAAAAIAAAAAgAAA/YAAAwAAAAADwAKAAAMABwALAAABAQEBAQEBAQEBAQEDQAAA/UAAAALAAAD9QAAA/4AAAAPAAAAAgACAAAD/gAEAAIAAAP+A/oACgAAA/YAAAAACAEAAAAPAAoAAAwAJAAABAQEBAQEBAQEBA0AAAP2AAAACgAAA/QAAAAOAAAABgACAAAD/gP6AAQAAAAGAAAD9gAAAAAIAQAAAAMACgAADAAcAAAEBAQEBAQEBAEAAAACAAAD/gAAAAIAAAAAAAIAAAP+AAgAAgAAA/4AAAgBA/4AAwAKAAAMABwAAAQEBAQEBAQEAQAAAAIAAAP+AAAAAgAAA/4ABAAAA/wACgACAAAD/gAAHAED/gAJAAwAAAwAHAAsADwATABcAGwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQHAAAAAgAAA/wAAAACAAAD/AAAAAIAAAP8AAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAA/4AAgAAA/4AAgACAAAD/gACAAIAAAP+AAIAAgAAA/4AAgACAAAD/gACAAIAAAP+AAIAAgAAA/4AAAAACAEAAgAPAAgAAAwAHAAABAQEBAQEBAQBAAAADgAAA/IAAAAOAAAAAgACAAAD/gAEAAIAAAP+AAAcAQP+AAkADAAADAAcACwAPABMAFwAbAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAD/AAAAAIAAAP8AAAAAgAAA/wAAAACAAAD/gACAAAD/gACAAIAAAP+AAIAAgAAA/4AAgACAAAD/gACAAIAAAP+AAIAAgAAA/4AAgACAAAD/gAAAAAIAQAAAA8ACgAADAAsAAAEBAQEBAQEBAQEBAQHAAAAAgAAA/4AAAAGAAAD9AAAAA4AAAAAAAIAAAP+AAQAAgAAAAIAAAACAAAD+gAABAEAAAAPAAoAACwAAAQEBAQEBAQEBAQEBAEAAAAOAAAD9gAAAAgAAAP2AAAADAAAAAAACgAAA/oAAAACAAAAAgAAA/oAAAP+AAAAAAgBAAAADwAKAAAMACwAAAQEBAQEBAQEBAQEBA0AAAP2AAAD/gAAAA4AAAP+AAAD9gAAAAYAAgAAA/4D+gAKAAAD9gAAAAQAAAP8AAAEAQAAAA8ACgAAPAAABAQEBAQEBAQEBAQEBAQEBAEAAAAOAAAD/gAAA/YAAAAKAAAD9gAAAAoAAAACAAAAAAAKAAAD/AAAAAIAAAP+AAAD/gAAA/4AAAACAAAD/AAAAAAEAQAAAA8ACgAAHAAABAQEBAQEBAQBAAAADgAAA/QAAAAMAAAAAAAKAAAD/gAAA/oAAAP+AAAAAAgBAAAADwAKAAAMABwAAAQEBAQEBAQEDQAAA/YAAAP+AAAADgAAAAIABgAAA/oD/gAKAAAD9gAABAEAAAAPAAoAACwAAAQEBAQEBAQEBAQEBAEAAAAOAAAD9AAAAAwAAAP0AAAADAAAAAAACgAAA/4AAAP+AAAD/gAAA/4AAAP+AAAAAAQBAAAADwAKAAAkAAAEBAQEBAQEBAQEAQAAAA4AAAP0AAAADAAAA/QAAAAAAAoAAAP+AAAD/gAAA/4AAAP8AAAEAQAAAA8ACgAAJAAABAQEBAQEBAQEBAEAAAAOAAAD9AAAAAoAAAACAAAAAAAKAAAD/gAAA/oAAAAEAAAD+gAABAEAAAAPAAoAACwAAAQEBAQEBAQEBAQEBAEAAAACAAAACgAAAAIAAAP+AAAD9gAAAAAACgAAA/wAAAAEAAAD9gAAAAQAAAP8AAAAAAQBAAAAAwAKAAAMAAAEBAQEAQAAAAIAAAAAAAoAAAP2AAAAAAQBAAAADwAKAAAcAAAEBAQEBAQEBAEAAAAMAAAD9AAAAA4AAAAAAAIAAAAGAAAAAgAAA/YAAAAADAEAAAAPAAoAAAwALAA8AAAEBAQEBAQEBAQEBAQEBAQEDQAAAAIAAAPyAAAAAgAAAAoAAAP2AAAACgAAAAIAAAAAAAQAAAP8AAAACgAAA/wAAAP+AAAD/AAGAAQAAAP8AAAAAAQBAAAADwAKAAAUAAAEBAQEBAQBAAAAAgAAAAwAAAAAAAoAAAP4AAAD/gAABAEAAAAPAAoAACwAAAQEBAQEBAQEBAQEBAEAAAAOAAAD/gAAA/wAAAP+AAAD/AAAAAAACgAAA/YAAAAIAAAD+AAAAAgAAAP4AAAAAAQBAAAADwAKAAAcAAAEBAQEBAQEBAEAAAAOAAAD/gAAA/YAAAAAAAoAAAP2AAAACAAAA/gAAAAACAEAAAAPAAwAAAwALAAABAQEBAQEBAQEBAQEDQAAA/YAAAP+AAAABgAAAAIAAAAGAAAAAgAGAAAD+gP+AAoAAAACAAAD/gAAA/YAAAgBAAAADwAKAAAMACQAAAQEBAQEBAQEBAQNAAAD9gAAA/4AAAAOAAAD9AAAAAYAAgAAA/4D+gAKAAAD+gAAA/wAAAAACAEAAAARAAoAAAwALAAABAQEBAQEBAQEBAQEDQAAA/YAAAP+AAAADgAAAAIAAAP+AAAAAgAGAAAD+gP+AAoAAAP8AAAD/gAAA/wAAAgBAAAADwAKAAAMADwAAAQEBAQEBAQEBAQEBAQEBAQNAAAAAgAAA/IAAAAOAAAD/gAAA/YAAAAKAAAD9gAAAAAABAAAA/wAAAAKAAAD/AAAAAIAAAP+AAAD/gAAA/wAAAQBAAAADwAKAAAsAAAEBAQEBAQEBAQEBAQBAAAADAAAA/QAAAAOAAAD9AAAAAwAAAAAAAIAAAACAAAABgAAA/4AAAP+AAAD+gAAAAAEAQAAAA8ACgAAHAAABAQEBAQEBAQHAAAD+gAAAA4AAAP6AAAAAAAIAAAAAgAAA/4AAAP4AAAAAAQBAAAADwAKAAAcAAAEBAQEBAQEBAEAAAACAAAACgAAAAIAAAAAAAoAAAP4AAAACAAAA/YAAAAADAEAAAAPAAoAAAwAHAAsAAAEBAQEBAQEBAQEBAQDAAAACgAAA/QAAAACAAAACgAAAAIAAAAAAAIAAAP+AAIACAAAA/gAAAAIAAAD+AAAAAAEAQAAAA8ACgAALAAABAQEBAQEBAQEBAQEAQAAAAIAAAAEAAAAAgAAAAQAAAACAAAAAAAKAAAD+AAAAAgAAAP4AAAACAAAA/YAAAAAFAEAAAAPAAoAAAwAHAAsADwATAAABAQEBAQEBAQEBAQEBAQEBAQEBAQBAAAAAgAAAAoAAAACAAAD9AAAAAoAAAP0AAAAAgAAAAoAAAACAAAAAAAEAAAD/AAAAAQAAAP8AAQAAgAAA/4AAgAEAAAD/AAAAAQAAAP8AAAAAAQBAAAADwAKAAAsAAAEBAQEBAQEBAQEBAQHAAAD+gAAAAIAAAAKAAAAAgAAA/oAAAAAAAQAAAAGAAAD/AAAAAQAAAP6AAAD/AAAAAAEAQAAAA8ACgAALAAABAQEBAQEBAQEBAQEAQAAAAwAAAP0AAAADgAAA/QAAAAMAAAAAAAGAAAAAgAAAAIAAAP6AAAD/gAAA/4AAAAABAED/gAFAAwAABwAAAQEBAQEBAQEAQAAAAQAAAP+AAAAAgAAA/4ADgAAA/4AAAP2AAAD/gAAAAAcAQP+AA8ADAAADAAcACwAPABMAFwAbAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA0AAAACAAAD/AAAAAIAAAP8AAAAAgAAA/wAAAACAAAD/AAAAAIAAAP8AAAAAgAAA/wAAAACAAAD/gACAAAD/gACAAIAAAP+AAIAAgAAA/4AAgACAAAD/gACAAIAAAP+AAIAAgAAA/4AAgACAAAD/gAAAAAEAQP+AAUADAAAHAAABAQEBAQEBAQBAAAAAgAAA/4AAAAEAAAD/gACAAAACgAAAAIAAAPyAAAAAAQBAAYABwAKAAAcAAAEBAQEBAQEBAEAAAAGAAAD/gAAA/4AAAAGAAQAAAP8AAAAAgAAA/4AAAAABAED/gAPAAAAAAwAAAQEBAQBAAAADgAAA/4AAgAAA/4AAAAABAEACAADAAwAAAwAAAQEBAQBAAAAAgAAAAgABAAAA/wAAAAACAEAAAAPAAoAAAwALAAABAQEBAQEBAQEBAQEDQAAA/YAAAP+AAAADgAAA/4AAAP2AAAABgACAAAD/gP6AAoAAAP2AAAABAAAA/wAAAQBAAAADwAKAAA8AAAEBAQEBAQEBAQEBAQEBAQEAQAAAA4AAAP+AAAD9gAAAAoAAAP2AAAACgAAAAIAAAAAAAoAAAP8AAAAAgAAA/4AAAP+AAAD/gAAAAIAAAP8AAAAAAQBAAAADwAKAAAcAAAEBAQEBAQEBAEAAAAOAAAD9AAAAAwAAAAAAAoAAAP+AAAD+gAAA/4AAAAACAEAAAAPAAoAAAwAHAAABAQEBAQEBAQNAAAD9gAAA/4AAAAOAAAAAgAGAAAD+gP+AAoAAAP2AAAEAQAAAA8ACgAALAAABAQEBAQEBAQEBAQEAQAAAA4AAAP0AAAADAAAA/QAAAAMAAAAAAAKAAAD/gAAA/4AAAP+AAAD/gAAA/4AAAAABAEAAAAPAAoAACQAAAQEBAQEBAQEBAQBAAAADgAAA/QAAAAMAAAD9AAAAAAACgAAA/4AAAP+AAAD/gAAA/wAAAQBAAAADwAKAAAkAAAEBAQEBAQEBAQEAQAAAA4AAAP0AAAACgAAAAIAAAAAAAoAAAP+AAAD+gAAAAQAAAP6AAAEAQAAAA8ACgAALAAABAQEBAQEBAQEBAQEAQAAAAIAAAAKAAAAAgAAA/4AAAP2AAAAAAAKAAAD/AAAAAQAAAP2AAAABAAAA/wAAAAABAEAAAADAAoAAAwAAAQEBAQBAAAAAgAAAAAACgAAA/YAAAAABAEAAAAPAAoAABwAAAQEBAQEBAQEAQAAAAwAAAP0AAAADgAAAAAAAgAAAAYAAAACAAAD9gAAAAAMAQAAAA8ACgAADAAsADwAAAQEBAQEBAQEBAQEBAQEBAQNAAAAAgAAA/IAAAACAAAACgAAA/YAAAAKAAAAAgAAAAAABAAAA/wAAAAKAAAD/AAAA/4AAAP8AAYABAAAA/wAAAAABAEAAAAPAAoAABQAAAQEBAQEBAEAAAACAAAADAAAAAAACgAAA/gAAAP+AAAEAQAAAA8ACgAALAAABAQEBAQEBAQEBAQEAQAAAA4AAAP+AAAD/AAAA/4AAAP8AAAAAAAKAAAD9gAAAAgAAAP4AAAACAAAA/gAAAAABAEAAAAPAAoAABwAAAQEBAQEBAQEAQAAAA4AAAP+AAAD9gAAAAAACgAAA/YAAAAIAAAD+AAAAAAIAQAAAA8ADAAADAAsAAAEBAQEBAQEBAQEBAQNAAAD9gAAA/4AAAAGAAAAAgAAAAYAAAACAAYAAAP6A/4ACgAAAAIAAAP+AAAD9gAACAEAAAAPAAoAAAwAJAAABAQEBAQEBAQEBA0AAAP2AAAD/gAAAA4AAAP0AAAABgACAAAD/gP6AAoAAAP6AAAD/AAAAAAIAQAAABEACgAADAAsAAAEBAQEBAQEBAQEBAQNAAAD9gAAA/4AAAAOAAAAAgAAA/4AAAACAAYAAAP6A/4ACgAAA/wAAAP+AAAD/AAACAEAAAAPAAoAAAwAPAAABAQEBAQEBAQEBAQEBAQEBA0AAAACAAAD8gAAAA4AAAP+AAAD9gAAAAoAAAP2AAAAAAAEAAAD/AAAAAoAAAP8AAAAAgAAA/4AAAP+AAAD/AAABAEAAAAPAAoAACwAAAQEBAQEBAQEBAQEBAEAAAAMAAAD9AAAAA4AAAP0AAAADAAAAAAAAgAAAAIAAAAGAAAD/gAAA/4AAAP6AAAAAAQBAAAADwAKAAAcAAAEBAQEBAQEBAcAAAP6AAAADgAAA/oAAAAAAAgAAAACAAAD/gAAA/gAAAAABAEAAAAPAAoAABwAAAQEBAQEBAQEAQAAAAIAAAAKAAAAAgAAAAAACgAAA/gAAAAIAAAD9gAAAAAMAQAAAA8ACgAADAAcACwAAAQEBAQEBAQEBAQEBAMAAAAKAAAD9AAAAAIAAAAKAAAAAgAAAAAAAgAAA/4AAgAIAAAD+AAAAAgAAAP4AAAAAAQBAAAADwAKAAAsAAAEBAQEBAQEBAQEBAQBAAAAAgAAAAQAAAACAAAABAAAAAIAAAAAAAoAAAP4AAAACAAAA/gAAAAIAAAD9gAAAAAUAQAAAA8ACgAADAAcACwAPABMAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAEAAAACAAAACgAAAAIAAAP0AAAACgAAA/QAAAACAAAACgAAAAIAAAAAAAQAAAP8AAAABAAAA/wABAACAAAD/gACAAQAAAP8AAAABAAAA/wAAAAABAEAAAAPAAoAACwAAAQEBAQEBAQEBAQEBAcAAAP6AAAAAgAAAAoAAAACAAAD+gAAAAAABAAAAAYAAAP8AAAABAAAA/oAAAP8AAAAAAQBAAAADwAKAAAsAAAEBAQEBAQEBAQEBAQBAAAADAAAA/QAAAAOAAAD9AAAAAwAAAAAAAYAAAACAAAAAgAAA/oAAAP+AAAD/gAAAAAH/wP+AAUADAAALAAABAQEBAQEBAQEBAQEAQAAA/4AAAACAAAABAAAA/4AAAACAAAD/gAGAAAAAgAAAAYAAAP+AAAD9gAAA/4AAAAABAED/gADAAwAAAwAAAQEBAQBAAAAAgAAA/4ADgAAA/IAAAAABAED/gAHAAwAACwAAAQEBAQEBAQEBAQEBAEAAAACAAAD/gAAAAQAAAACAAAD/gAAA/4AAgAAAAoAAAACAAAD+gAAA/4AAAP6AAAAAAQBAAIADwAIAAAsAAAEBAQEBAQEBAQEBAQBAAAACAAAAAQAAAACAAAD+AAAA/wAAAACAAYAAAP8AAAABAAAA/oAAAAEAAAD/AAAAAAEAQAIAAMACgAADAAABAQEBAEAAAACAAAACAACAAAD/gAAAAAEAQAIAAMACgAADAAABAQEBAEAAAACAAAACAACAAAD/gAAAAAIAQAIAAYACgAADAAcAAAEBAQEBAQEBAEAAAACAAAAAQAAAAIAAAAIAAIAAAP+AAAAAgAAA/4AAAgBAAgABgAKAAAMABwAAAQEBAQEBAQEAQAAAAIAAAABAAAAAgAAAAgAAgAAA/4AAAACAAAD/gAAAAAAAAACMAAAAjAAAAIwAAACMAAAAxAAAAPwAAAGsAAACTAAAArAAAAL8AAADIAAAA1gAAAOQAAAD3AAABCgAAARMAAAEcAAABJQAAAU8AAAFdAAABZgAAAXkAAAGMAAABnAAAAa8AAAHCAAABzQAAAeEAAAHyAAACAAAAAg4AAAI4AAACRgAAAnAAAAKDAAAClgAAAqkAAALBAAACzwAAAt0AAALwAAADAAAAAxAAAAMjAAADLAAAAzoAAANTAAADXgAAA3EAAAN/AAADkgAAA6MAAAO2AAADzgAAA+EAAAPvAAAD/QAABBEAAAQkAAAEQwAABFYAAARpAAAEdwAABKEAAASvAAAEvQAABMYAAATPAAAE4gAABPoAAAUIAAAFFgAABSkAAAU5AAAFSQAABVwAAAVlAAAFcwAABYwAAAWXAAAFqgAABbgAAAXLAAAF3AAABe8AAAYHAAAGGgAABigAAAY2AAAGSgAABl0AAAZ8AAAGjwAABqIAAAa1AAAGvgAABtEAAAbkAAAG7QAABvYAAAcEAAAHEg=') format('truetype');
  font-display: block;
}

:root {
  --bg: #ece8de;
  --panel: #f4f1e9;
  --text: #1c1a17;
  --muted: #6b665e;
  --border: #c8c2b3;
  --accent: #8a4f30;

  /* Renderer cloud palette, used as accents. */
  --sky: #e3e5e4;
  --cirrus: #b0b1b0;
  --altocumulus: #7c7d7e;
  --nimbostratus: #48494b;

  /* Status tints, kept within the warm palette. No green-family color: success
     uses the existing --text neutral so the warm/earth palette stays consistent. */
  --warn: #8a6a30;
  --error: #8a3030;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: Georgia, "Iowan Old Style", "Palatino Linotype", Palatino, "Times New Roman", Times, serif;
  font-size: 17px;
  line-height: 1.6;
}

.wrap {
  max-width: 720px;
  margin: 0 auto;
  padding: 56px 32px 80px;
}

@media (max-width: 600px) {
  .wrap { padding: 40px 20px 56px; }
  body { font-size: 16px; }
}

/* Display face helpers */
.mono {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
}
.display {
  font-family: 'Robotastic', ui-monospace, monospace;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: unset;
  font-smooth: never;
  text-rendering: geometricPrecision;
}

/* Header */
header { margin-bottom: 28px; }

.wordmark {
  font-family: 'Robotastic', ui-monospace, monospace;
  font-size: 52px;
  letter-spacing: 0.04em;
  line-height: 1;
  margin-bottom: 10px;
  color: var(--text);
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: unset;
  font-smooth: never;
  text-rendering: geometricPrecision;
}

@media (max-width: 600px) { .wordmark { font-size: 38px; } }

.tagline {
  font-family: 'Robotastic', ui-monospace, monospace;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: unset;
}

/* Wallet bar */
.wallet-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 20px;
  padding: 16px 18px;
  background: var(--panel);
  border: 1px solid var(--border);
  margin-bottom: 18px;
}

.wallet-info {
  display: flex;
  flex-direction: column;
  line-height: 1.3;
}

.wallet-address {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 13px;
  color: var(--text);
}

.wallet-chain {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 11px;
  color: var(--muted);
}

.wallet-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-left: auto;
  text-align: right;
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 12px;
  color: var(--text);
}

.wallet-meta .label {
  display: inline-block;
  width: 78px;
  margin-right: 8px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 10px;
}

.wallet-meta .mismatch { color: var(--error); font-weight: 700; }

/* Buttons */
.btn {
  font-family: 'Robotastic', ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 9px 18px;
  cursor: pointer;
  border: 1px solid var(--text);
  background: transparent;
  color: var(--text);
  transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: unset;
}
.btn:hover { background: var(--text); color: var(--bg); }

.btn-primary { background: var(--text); color: var(--bg); }
.btn-primary:hover { background: var(--bg); color: var(--text); }

.btn-outline { background: transparent; color: var(--text); }

.btn-disabled,
.btn:disabled {
  cursor: default;
  opacity: 0.5;
  background: transparent;
  color: var(--muted);
  border-color: var(--border);
}
.btn-disabled:hover,
.btn:disabled:hover { background: transparent; color: var(--muted); }

.btn-sm { padding: 6px 14px; font-size: 11px; }

/* Banner — full 1px border, no left-bar emphasis. Variant colors apply to the
   border + text uniformly using existing palette only (no green-family hue). */
.banner {
  padding: 12px 16px;
  margin-bottom: 18px;
  border: 1px solid var(--border);
  background: var(--panel);
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 13px;
  line-height: 1.5;
}
.banner[hidden] { display: none; }
.banner-error { border-color: var(--error); color: var(--error); }
.banner-warn  { border-color: var(--warn);  color: var(--warn); }
.banner-ok    { border-color: var(--text);  color: var(--text); }
.banner-info  { border-color: var(--muted); color: var(--muted); }

/* Phase indicator */
.phase-indicator {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 14px 0 22px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 28px;
}
.phase-indicator .label {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
}
.phase-indicator .phase-label {
  font-family: 'Robotastic', ui-monospace, monospace;
  font-size: 18px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text);
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: unset;
}

/* Panels / sections */
.panel { margin-bottom: 36px; }
.panel[hidden] { display: none; }

.panel h2 {
  font-family: 'Robotastic', ui-monospace, monospace;
  font-size: 16px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 8px;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: unset;
}

.section-note {
  font-size: 14px;
  color: var(--muted);
  margin-bottom: 18px;
}

.note, .loading {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 12px;
  color: var(--muted);
  padding: 12px 0;
}

.empty {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 12px;
  color: var(--muted);
  padding: 16px;
  border: 1px dashed var(--border);
  background: var(--panel);
}
.empty[hidden] { display: none; }

/* Claim list rows (receipts now use the grid below) */
.claim-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-bottom: none;
  background: var(--panel);
}
.claim-row:last-child { border-bottom: 1px solid var(--border); }

.normie-id, .receipt-id {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 13px;
  color: var(--text);
  min-width: 120px;
}

/* My Abnormies grid. Each cell stacks a square Sky stand-in over its label.
   Built so post-reveal can swap the SVG for a real <img> and the label text for
   a token id with no layout change. */
#receipts-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px 16px;
}

.receipt-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

/* Sky-colored stand-in for an unrevealed Abnormie canvas. Square to the cell
   width; border carries the edge since Sky (#e3e5e4) is near the panel. */
.receipt-thumb {
  width: 100%;
  aspect-ratio: 1;
  display: block;
  border: 0.5px solid var(--border);
  background: var(--sky);
  image-rendering: pixelated;
}

.receipt-label {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 11px;
  color: var(--muted);
  text-align: center;
}

/* Resolved holdings link to the detail page; keep the cell visually identical. */
a.receipt-cell {
  text-decoration: none;
  color: inherit;
}
a.receipt-cell:hover .receipt-thumb { border-color: var(--accent); }

@media (max-width: 520px) {
  #receipts-list { grid-template-columns: repeat(3, 1fr); }
}

/* ---- Phase 3 reveal ---- */
.reveal-progress {
  font-family: 'Robotastic', ui-monospace, monospace;
  font-size: 20px;
  letter-spacing: 0.06em;
  color: var(--text);
  margin: 8px 0 24px;
}

.reveal-slider {
  width: 100%;
  accent-color: var(--text);
  margin-bottom: 8px;
}

.reveal-slider-label {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 13px;
  color: var(--text);
  margin-bottom: 6px;
}

.reveal-buttons {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
}
.reveal-buttons .btn { flex: 1; text-align: center; }

.reveal-cost {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 18px;
}

.claim-row .btn { margin-left: auto; }
.claim-row .badge-claimed { margin-left: auto; color: var(--muted); }

#claim-btn { margin-bottom: 16px; }

/* Delegated (vault) claim */
.delegate-disclosure { margin-bottom: 16px; }
.delegate-note { font-size: 13px; color: var(--muted); margin-bottom: 8px; }
.vault-select {
  width: 100%;
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 13px;
  padding: 9px 11px;
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text);
  margin-bottom: 8px;
}
.vault-select:focus { outline: none; border-color: var(--text); }
.vault-select:disabled { color: var(--muted); }
.vault-input {
  width: 100%;
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 13px;
  padding: 9px 11px;
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text);
}
.vault-input:focus { outline: none; border-color: var(--text); }
.vault-error {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 12px;
  color: var(--error);
  margin-top: 6px;
}
.vault-error[hidden] { display: none; }

.badge {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 2px 8px;
  border: 1px solid var(--border);
  color: var(--muted);
  background: var(--bg);
}

/* Mint controls */
.mint-controls {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
  padding: 16px 18px;
  border: 1px solid var(--border);
  background: var(--panel);
}
.mint-controls label {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 8px;
}
.mint-controls input[type="number"] {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 14px;
  width: 80px;
  padding: 7px 9px;
  border: 1px solid var(--text);
  background: var(--bg);
  color: var(--text);
}
.mint-total {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 13px;
  color: var(--text);
}
.mint-total span { font-weight: 700; }
.mint-controls .btn { margin-left: auto; }

/* Footer */
.foot {
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid var(--border);
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 11px;
  color: var(--muted);
}
.foot a, .section-note a { color: var(--text); text-decoration: none; border-bottom: 1px solid var(--border); }
.foot a:hover, .section-note a:hover { color: var(--accent); border-bottom-color: var(--accent); }

/* ===========================================================================
   Abnormie detail page (abnormie.html). Extends the shared palette and
   typography above; reuses .panel, .btn, .banner, .empty. The detail page is
   wider than the claim flow, so .detail-wrap overrides the .wrap max-width.
   =========================================================================== */

.detail-wrap { max-width: 860px; }

/* Top nav strip */
.detail-nav {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-bottom: 16px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--border);
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 12px;
}
.detail-nav-back { color: var(--text); text-decoration: none; }
.detail-nav-back:hover { color: var(--accent); }
.detail-nav-wallet {
  margin-left: auto;
  color: var(--muted);
  cursor: pointer;
}
.detail-nav-wallet.is-connected { color: var(--text); }
.detail-nav-wallet:hover { color: var(--text); }
.detail-nav-site {
  font-family: 'Robotastic', ui-monospace, monospace;
  letter-spacing: 0.1em;
  color: var(--text);
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: unset;
}

/* Error state */
.detail-error {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 13px;
  line-height: 1.6;
  white-space: pre-wrap;
  color: var(--error);
  padding: 20px;
  border: 1px dashed var(--border);
  background: var(--panel);
}
.detail-error[hidden] { display: none; }

/* Title + subtitle */
.detail-title {
  font-size: 44px;
  letter-spacing: 0.04em;
  line-height: 1;
  text-align: center;
  margin-bottom: 8px;
}
@media (max-width: 600px) { .detail-title { font-size: 32px; } }
.detail-subtitle {
  text-align: center;
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 28px;
}

/* Hero canvas */
.detail-hero {
  display: flex;
  justify-content: center;
  margin-bottom: 24px;
}
.detail-hero-img {
  width: 360px;
  height: 360px;
  max-width: 100%;
  image-rendering: pixelated;
  background: var(--panel);
  border: 1px solid var(--border);
}

/* Status chips */
.detail-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-bottom: 36px;
}
.chip {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 4px 12px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  background: var(--bg);
}
.chip--inverted {
  background: var(--text);
  color: var(--bg);
  border-color: var(--text);
}

/* Two-column row (seed + actions) */
.detail-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
@media (max-width: 640px) { .detail-cols { grid-template-columns: 1fr; } }
.detail-panel {
  padding: 20px;
  border: 1px solid var(--border);
  background: var(--panel);
}

/* Seed Normie panel */
.detail-seed {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.detail-seed-img {
  width: 80px;
  height: 80px;
  flex: none;
  image-rendering: pixelated;
  background: var(--bg);
  border: 1px solid var(--border);
}
/* Outlined stand-in for the seed image slot when the seed Normie is burned and
   its on-chain tokenURI (the only image source) reverts. Matches .detail-seed-img
   dimensions; reuses the Thunder/destructive color (--error) for the outline. */
.seed-burned-placeholder {
  width: 80px;
  height: 80px;
  flex: none;
  background: var(--bg);
  border: 1px solid var(--error);
}
.detail-seed-info {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 12px;
  font-size: 12px;
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
}
.detail-seed-info dt {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 10px;
  align-self: center;
}
.detail-seed-info dd {
  margin: 0;
  color: var(--text);
  text-align: right;
  word-break: break-all;
}
.detail-seed-os {
  grid-column: 1 / -1;
  margin-top: 8px;
  color: var(--text);
  text-decoration: none;
  border-bottom: 1px solid var(--border);
  justify-self: start;
}
.detail-seed-os:hover { color: var(--accent); border-bottom-color: var(--accent); }

/* Actions panel: 2-column button grid */
.detail-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.detail-actions .btn { width: 100%; text-align: center; }
/* Full-width divider/title above the Thunder + Lightning buttons. Spans both grid
   columns and is set off from the safe actions above by a top border. */
.actions-destructive-header {
  grid-column: 1 / -1;
  margin-top: 6px;
  padding-top: 10px;
  border-top: 1px solid var(--border);
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 11px;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: var(--error);
}

.detail-action-status {
  margin: 10px 0 0;
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 12px;
  color: var(--muted);
}

/* Destructive actions (Thunder, Lightning) */
.btn-danger {
  border-color: var(--error);
  color: var(--error);
}
.btn-danger:hover { background: var(--error); color: var(--bg); }

/* Freeze-target picker (inline, shared by Thunder + Lightning) */
.freeze-picker {
  margin-top: 14px;
  padding: 12px;
  border: 1px dashed var(--border);
  border-radius: 6px;
}
.freeze-picker-heading {
  margin: 0 0 6px;
  font-family: 'Robotastic', system-ui, sans-serif;
  font-size: 15px;
  color: var(--text);
}
.freeze-picker-note {
  margin: 0 0 10px;
  font-size: 12px;
  color: var(--muted);
}
/* Prominent first sentence of the picker note: bold, danger red, on its own line. */
.freeze-picker-warning {
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
  color: var(--error);
}
/* Flex + wrap, not a 3-track grid: in the narrow actions panel the auto-sized
   label and Validate button used to eat the row and collapse the 1fr input to a
   few pixels. With flex-wrap the input keeps a real width (flex-basis 120px,
   min-width 120px so it can't shrink below readable) and wraps to its own line
   on narrow viewports instead of being crushed. */
.freeze-picker-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.freeze-picker-row label {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 12px;
  color: var(--muted);
}
.freeze-picker-row input {
  flex: 1 1 120px;
  min-width: 120px;
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 13px;
  padding: 6px 8px;
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text);
  border-radius: 4px;
}
.freeze-picker-controls {
  display: flex;
  gap: 10px;
  margin-top: 10px;
}
.freeze-status-warn { color: var(--error); }
.freeze-status-ok { color: var(--text); }
.freeze-status-info { color: var(--muted); }

/* Traits panel: full-width label/value rows with dotted separators */
.detail-traits {
  display: grid;
  grid-template-columns: 1fr;
}
.trait-row {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px dotted var(--border);
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 12px;
}
.trait-row:last-child { border-bottom: none; }
.trait-label {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 11px;
}
.trait-value {
  margin-left: auto;
  color: var(--text);
  text-align: right;
  word-break: break-word;
}
