/* === Panel de OTMechanics — la misma ventana de 16 bits que la web y el launcher ===
   La marca del producto es un dibujo: emblema pixel, paneles biselados de esquina viva, oro para lo
   importante y cian para lo que se puede tocar. La fuente de verdad es `web/estilo.css`, y este fichero la
   sigue. Lo que cambia aquí es el encargo: la web es una página que se lee una vez, y el panel es una
   herramienta densa que se vigila durante horas. Así que el píxel vive en el MARCO —rótulos, cantos, gemas
   de estado, barras— y jamás en los datos, que se leen con la fuente de interfaz del sistema.
   Assets inline y fuente empotrada: el servidor estático del panel solo sirve .html/.js/.css/.webmanifest/.png. */

/* Silkscreen — Copyright 2001 The Silkscreen Project Authors. SIL Open Font License 1.1; la copia íntegra del
   aviso está en `web/tipos/OFL.txt`. Viaja EMPOTRADA en base64, no como fichero, porque el servidor del panel
   no sirve .woff2 (CTYPE de ws-server.mjs) — la CSP lo permite con `font-src 'self' data:`. Los dos pesos son
   caras REALES: sin la bold, el navegador engorda la regular por su cuenta y una fuente de rejilla se
   emborrona, que es justo lo que `crispEdges` y el sizing a 16px exactos del emblema existen para evitar. */
@font-face {
  font-family: 'Silkscreen';
  src: url(data:font/woff2;base64,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) format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Silkscreen';
  src: url(data:font/woff2;base64,d09GMgABAAAAAB1kABEAAAAAbTgAAB0DAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGlIbg3ocbAZgAIQ+CFIJnAwRCAqBmwyBh0QLgzYAATYCJAOGaAQgBYQuB4RMDIEyG41gBdwYumHjAMx4ikxRlCzW+pEI+yxJLSj4/5ogTcaaHHyzTmHq6bZgQYJ0IauSAAjTdrt8ampp+1YUBZlKxeeir33GUdj3Nl3n9jnhKDKP/tZ/t4tlV8t70dYzwF2EM3T0n2hb78/OLiFiY9RajVFYGJdmXBReRRT+f6rf7n15ZmSbqIVc7VYV9TedSpk4vzQuCT4iljUE36+xff+OoVmzRKJUzSLSRC0zZCJVLNJIlYRngOfTZnJRXViBr/wAaQN0gDIl7HNICkrnPRe1izKzXfW0x/Cs7fFNUEGZu06Iv5SFVa9TWprKxKUQsAvBNd53XqZB4b9pZrMJKVoyvg87TfVDSGH3jlcPTUlXouom7tbuXn2M8CcMeGAagYFoMvF4KGk6azB+CPP2kSJZtZZVcS9kEEmFFW9g52E6JFMRjoRwd2bXTFug5wVQYX4qjB0LMs4HRSU+vm/H+fZ/qpbtn8GSC11IkdvJbiMcY9G6acD5HI4GAxCPBMWoxLBJ3ERdpi4ABMiFwgVJF6W1s9Y5paKK/bmoXLUpdS7b1BSV4f+fq+m7f5mZigo5pX3nZbNOIDl2Eu0xNmd7LkT2/WX27GTKXEmhjmILRwghhHEY5vhru3sfy5WxudZfZwkRIDbYIrbXZ0HYmaTlUMqBW57PSvyMgTBaAAAkYxSIiChoEK1UxCgfKdUVOes8wUWXCAgBlIjorHPOxz97AqjJDKihZk4JlDgAZjMBEDbSGdhPtQEoAMmw+9PEBJJIrBE1gGJxLEbRFRpihJM3eVN/GooDiBLF4IgCRQk02oSJGpKJZGpIDcmlQUfsd2lJSSwy+AD8DYbv0fMR9eK15ILXnlI4Lo2mlaYYwEgXH7m/HHtWx6VJ2A/IhZ3w03u+6X5oQSlGeAmKr6WTRKOPSNFH2Fv0O2CRIyLxtOgttPGih1c94tpXskuxEtdFKLMmEosT8ySrbMzeQIB3l7h1dCi2U9nb+TDYuCt7XwFP2EMopf//69CGEsBb4OWcJxSjo45edjjBDH3qsy4ZepjsZZj/+AnTU288M7C9RGDnqQJAdvjiaRBRfmudNxBaOFrtYyhtzM7DQpZV3lwyA4S3PErvk37LXoBMADDwF9oTUJ2nYJO+lzJOyVKERP2ZqZgdZ3cFEriglO1lF9lD9pb9ZYO81svbPMCSTM9gYRRlHA8hu9BOdpLdEonv+VdALQCA/yX//vw7Bz7Low9HAuDh/MOWD7s8tHlwAQH8ARlOB0a456BtGuz4fxyONMF60+11xiYbzLfANAeNMctoM4w1zjFHHDXJRkRFTUPLjj0HOq7cuPPgyUuQEKHChIsQI1aceIkWm2mJU+a5yiBDphpqyZErT74SpcqUq1ClKZNqzbXUSnsddNRJVwvttMgJo0y02357HLDLFlds1c1qJ822zU07HDfYENecttkUtwzS3RrDDDXcZCJGoMBJlCzYsmLNhgtHTpxZkvnx5iOAr0P8RdOLFCVBsBZSJUlmlCJNuizZaqujrmIFChWpqVJD9dTXWAOHNdJOa2201VkzXQRqYqVVllpuhWVaY79TSvRAA4NZOJM6ATdrVgBQEU6d9G31O52mRoBQ+TdaGnpR5P0ptDfvke5+BmI2CXxJE2lKn2GRz5QyJs1Y94y1oBJkarcFCZN3EJDzxMGgVq1DgNQHwtL5Gd/BjpKSL2yp44vfIGH8OhU0DmMn1/DracsGBpg8Xv2rFsZOq12e7V0VGNW3drrYSV5BQdiPrU4HBgbeJSQcGIrpBR1P/EyN1MLBIbz62QbqNHvjHtJBsAgRR7/CVrdpKoyC6z9pPAskAHsSXqIU18g1gZmDpo3qLX0GHDxAJtKMLhyoZVIsGWOpARoHcZUU4857gQUajkFRANmNtPKYydRjrsdZPrWWMXLmVJTad506RyjFqATi1xAd1UeHCOkJPHItKDgMKNyjdG+sjVB2SPNuFkizRVF7SWLTts00WFCB5dlA7Nqlrw6lkf82air64YBXuyENTR7FoNFGwXgXoGTs4WN6ew4FUPFhC7bcoHzPKvcqwMdnWD2BmqsHRdehgoju0XJ8yqUWoibGHFO91PXvSo1WNSPs+Qd2BYFFcEXZGrIPTElBJjyS9BqfIvWsF+C6MPuRNzHOXAUhjHZ3qOVY3iaPr5sg9AhaNrGv2oHllAweDIM1auMD67BCYQMHmErXYQ0oi2DFdzdKM7PuI9YgKVLWZQMbU8DZebdyyqVpfAo2TNI0Nmougr5bW7z/Ggr/7sZbWPZ1qoBdeze8//KUN3Zqdqn2KLDtfBuzJT1Q8dikOLVZFr5YPRPrq0ErKghxWWUe58LDN6Nt+IZ11+p+FrINDlga4uuuiBUHw0xptc+iRVnK91mARe1CBKktqb581RwwU8AOvgZs3UsPrXssHZa9pBOntVmZn1ma8d4bAfYfNlSK/VhiTNq8GR06FDg8dDhSSuBEGThTAVwoB1cqghuVwJ0qwIMqwZOqpkKgZXirSPn916BSQR+bxhzx0KStui0/xrCt/lt+X24yZphJbxsqR0/MBXQSLyITb2LEhxjxJUb8iBF/YiSAGAkkRoKIkWBirXDI+sqFiO6EU5aO8qqztE3KhNfuLj2ISN9RXUckRAYRitrUvKxv8NGRljEBojKPzaIdOai8t0Vkt4i63AtPoloVPU8DYFsxkJcKJmMx45Y44F4XSpJE/L1CdwiIyP6mLpcYXdb8comDrMtARwVk9l8jRzyqi+uOhD4NiOO9qyeiMFm5LVWrAZ9Ns+ttM/rIwWyWsGd234/AfZugunzugcMAoMNx5Hl8Mf3dF430sODD/SbcRdabhPAAkopS0e5Acp9VExrvLVc33oQDbotmyGy1uBH9jttRUxqfzNdK+wmJMBVs18t8OL0FzlQrInN9NDizkax07ptbzSqu911pPy8bRc0+LFCTbc0kR0udVINMtIEYGfZNrsGr0dCQAuE7qo9zR3QkWyJFHRcrV9H15ZWtKR5q3Fg/ssFZMXOpGJxUxnBTGVUSKllXa8STJfIcnpiXQlzw9itMZjFDq54XzfK1H08TlOOyWemTTt+pZ5d61giVykwTvntHhqEZxSDrsSp6XXpouv/0xx+Z4dIZFJEzn+9MYEgDH5gFklIjn6zWbmWT0KcLiRV6J9TwoKtTuyrAnozG/RywlTqmu9ul0mWemZooao/yfshr+29iUM1MG9vPnn1dl42tm3Eb5UKtKRgemiNri+Y5bvWBqxJzUafOzOH+37TY6KMlvYrrtlP3mY0CYtfEl1MOSMTK/QZdT6WSfuNTTNvkYWWvyeXe8tECh40CIxXWSSgyVXETOKLESKV1EspM38txAAgrFU6qbJBQ5ap6LUCp76QGDRIauk4acXNgjTteTeokNDVVsyZwjMlI1XUSmptOW8hj31p2D2rVIKG1q9q0AKWtk9o1SGjv+uqAguSFnHYE1xhHdCJ90nn2u56MWxcUwqprkndLUvcjUsjpESn0jJRpL9c907t/Vp8k9U1SvyNSz/SPVAZEKgMjlUF9p8FJGpKkoUekOYZFGsMjjRGRxsi+06gkjU66jMG/xRfcX0ibLR8YPAhqjY3R8oGyj7A3nL5r/98RAaH/XQDAbQDoHvANVOuA+hroG6BDCBoCwzwjhb2mwi7JVMJO1EVkXIKwaPrTANOxAC5wut2QuYh1huGWIzScJkDH84D5OxSCP0SE0BL9AKx/ZB1uu4sU8RpyEmjBHGx1ZpLZdG2VPCpPmPdFzdI+9ly4XeRysnlurflM9dCeaxFIBZI9Ao05kxxjl152+/7oyyKP5jz7M76/ErGWyqZ1PGaCY+koqiLkEbBoZz39yZHXej+HtZVPSnXtyyjMWOh60dJbfC4abfDd1aOGDCAujvIT/4OpxQfmOJc4rgIPIJGuOSHcmYAnj61Z5VQUzyNUIRJYFMMYFpFchsvS6rt4wn4MZ3BJjkLrdIE8NgIvyHQc0AJbhFA6clYtQeLCu8IopAcN64cJ5MibtX9WhFgFuI2MlcN3PvhrFc7Es/DEM83I8FQcUqTPjgxIOO2iup9cEeckwhDMPQEoAhW4EMNWasdzyXEG+o+ayir+HeSQtHZnyIrb8kfcH0XVh9mUz/Tfu5rE4g5Sp8pVLAwgxG4IpmO8hIxSin1FZYWIoUtfqjpEvcSsE8TAxTMWKkiTm6pRaLiZiOhT0+oj0P3oSwAz8JuwMSvFw6ygxTVoTqhBUATiDHKs6mWP0DB0ZozV1w5fUeJyleIfe2Qk8thTB1qYtmGXc4sycMMWfduRcQzwVwuqZpRkbrODmaDVk3hV8U4sFjWAGKGZ7x3+3NKgbubc3tVC1E2stgZZ7I8iBw3GqaMLFAlxgtq/l7WQbkRhDjYaY2qBJ1OowPP6ClTP2CuR1guM4xvJ3UB+aSCu3tXay1Ed8uevdu3AvBvcIi3L6GUW0gUzt09NK6V5UW5QR7CEUWtdFAtzQjY+Uglprm/tTIlkSEcEOgK7R4gUQY117j+hQ6euTcpAROdix0LlmoDr/QK1Ans//4jgoQY1Cu/ODfU5ehpOnCkELYiAAJEEBVn0a4JIHsyrWZJWO8rYQ4IPODDaSQd2JobgErvMZ5GVuzBOGAfKAITueLrU5nVzmOwN+LjktFXQz3RqgnrLkFxz53AemxnS53kiINl4LCZgIBvZqitO1/I+EZwWTVYcWHZY8DK2OFBRuHwCUVkgbqYRcQ5Dt1sfG/16H7g1lF3sgyseZfpqseB9MvvBWroemE1tGAdlZ6d/DNh6mvageG4A3qia6Ive4Whg3JEJuhGwZifP2na1EdhdHc0KRIq3llk6my2GU30EJ4Jw4fFaELzrt0hCUU7Ck4n4T9lnVbLp8qmm+fG+9Eh97HjN9kv/462CuQjeEgv0d7xc2WbERet3ffG3Fa+bcbVuPcRaSzQWxcZlGZewZzriXCFg52dJXM24lpDCWWAT7ngRp9EZHkhMSjedwBwF82pyn5qA1bsLeMItdDcVZuVa/lae6fNUpapI7uW14uuXv6IB7wRhqhtnxf1JalGE11aMCWsMCSM/UMWOpVVr1NOC2Z0p7cUViojGAJButEwoabU2DS8yyFbbg7DQ8hcLUx6VRsiMvjCnCXZFwK7xZRbAnn4iXzR9/3KofpxHBisu5WJLDfHGynlyLVWyGxYp46HTfzFzA19R3Cxgg2EiC+ed+hm/hau36CWDkcXqgySxEsTbKfcpqllkp8NStI+EoVvZo2CAS+wZCmvyOTDkFa0S8Z2I+p+UDjyNazbdeDw5uPGt09GAU2mw6+EhIupps4nSwiJHSVYg6okuCskjNIsyY2PsLBzckpftU73mdcV0LPvBbVsmPibSrYQJhMlGsf0meCKAwL3FnXhHKm1iv+RvgbemV/YfJ3efYOA0zr8WvXarYLbGsKJr4+o/nhgc77RdAGt+yVV21/qHYveN4129K+hbxeSChtz2rmq6o+LozYTvMBg0mktrrzXdwe15v16jSwFtV0VvhbuhpIZ9u1UzfxBAcn4LEND02boh8eQ5wPEXQVMfcZmrpcj6h7lAO6fpjOcf5sKBds725KFbtlde1gtZRi+jVzzCGyOMESS+o3De78ZoMBqMhriBKZ6p3FjLWMtYK16hylhlrDJWGauMrYytjK0SndSf8PhZf6PSdi4EabhApEeXu6TlGxJWumjhOmy8HHlR2W6oDAAyAIDni37A3oWXYaKN4aX+z2OdYJgLdSP0awRZgX66MDEgTzhO0BxsmQdfzrjZzx7OJmVt2Fpvmlahr+HRrBN6M7EI8z/N9BUwVgO46FWBToSUDRHuisIr2IQbFPp+jzcPEwvTsEkmd8iPLwuou4WorvIC5vm0YGC836rM/Hz7uB+og40GZ7uVjN/EBb0tfXI65U7mx1cW0fZPS2urv8QHHpn//E380ZXpPJ/oyfntvIT9/x/C/OHHoRFCTORMT/GBZplT7Jl/IDBXmw2qf0twj9sUsY7WwsCp/8zV/KK+541BiuWEkKBM127sAPHFRuhuLJs3eisksoFPq5tmJdlDFhGJ24CMiLCpeMtxBuAAcs5xjuXXDwPmB2C6WXL4Wanoh5Wt14g5WVqlTH98lZ/uvnY+V+7yQC3fM16ciU5IZuK8v+hH5e5JASUFnBg8zCeqk/ygubvMdb7oBnixmapn+GocWblEY+g5ArNVWU8wtNrIz8p4j+XghgcX4KybacaeT5i44FLAl/maQpTV+Mmnr9hXkworRMM2LHJ9IaVU2k3ILa5qC5eAvJXSeKLj3XYVIJsC6o5qPiSIHCI+y/pRUt/Q1R54hd8hKlg8Xg57Axxn67auQC1vSNag+QGbotcTNixyBUzluAb0yE2IrI3J4xr8ydLyk6NDMT0tnDFP4CY+ZVpNTrnHsCuxJzIOHhBPPUKzwTUPqV6XnTEyvkHpVTNYllFeiMZYd/d+rwg2RjtwsOFJLa2gFD04N2shDRTPSaBTUB/VCDLxxNX9ulBznUTIRFJiCpSVC6pu5zdr67RJFkVid22H4nWk5J1EZ0b+QGto9ao2HT+DRz+b1OiGZkrCNf3oqitD1XY/F8+Ox6dH6RpFUEiopASYwTmJQpZ2Axsxu/WAOdQLcaCzc7wJ5OaPdq8xnwRZPlXvljxFiiwkS4vBwiO509jfohRFjOhO8mMYL6GpyKMTKbu6+kdVdXDGhbH4LMYvxanycFzAO44FvszpGgrDYc5XAXE7I1zU86akTRcesEnn8oTLFmXAQ4bwu7gPSM6SKu36kIjH8KTllQ9m/SL7B+e5xwjFHvAwyp84xHEd9MAdEeyiqRPb2lPS1XnAMxTEE8IZ+bM4x8ga3z/FPHSqQacxtyVN1m0F6KiOD6Bcxa+bU4DcG/L7e3095GUV+O+oDYv8FYbmpZExjy7YSjdS6P8zRc+O3jIpBMgRy47Bm1GUDc711pI7e/UuWAL/E6qLaLU923fZVB7ASQM9WsSe7r5l1/M6JJtzaQfUiwqPDe9DFbR+uQqI33sP9TdTgcQm6DTaD4i8bZkSUiO1vYX/F2yL0eIBT2r40TjUHE55GTkA92SNSG6cp2eibXDGxacFGL59v4XMurmq1TprQHYYAnlAT5EDdlidx5v0qxRHiAcRozwmVF9NXYCySdQZzi0G/LN041wbEGgfVQDShoHbPNCgsZTWAyi9SlvhQTk/6VhHJCfB++A/tTKQ11wvr4fG6NPWL7IyoT0fgQaFuv+T6jgt/TQnFtGIyRjf9GVJHBFLBo+bJqR66d1CgVGcnSKgMWntwqKfBiay7gmyQ769xndQmcOyGqdUhuAx+8fcbYsAtbPeKavVnLAJJw4IUdBc3UusdtSA2H2ZCQAhPry7a17987cCT1ivyJTddoXpt2J17vu1oz+EQH30Q2y8drKEoAumy6rcnOK8lTNSWd/mLcgPI3oeMEBioFmBb2jcTeMm/7zVIKYShEu88ksQ373Exa9qi0sI/r6bS/FUeaBuuuFSvpEduQ2GTusTNqKIiXvt0VJe17zV78PqkgeoCnRWuaBPBH5qLdmjoN1FyDdzP2jG1daWlYr3QhOpiMfbTv/dUPQan8yf0kkFc/dU2AnyDglXDHs0EYvI5nR7GD9yBsJDo6GSWHsmKX5ZUHrAJ2TOH9NnKy5L2oysAqmUUeVepGssDKdmcOUsQmxHMAVehwFHuRNtFtBizOhEtAzDn5wR7NSqUgPZ2S28Pyim2m2EvlZ9dEtpB6yJJ/TXDJDZrc5rwvQ0kDiGfHizlCaoOA8SFtKFt4Of+vBHMfUfaCTgJfQUwHx69KKU20Oqj9PbACRYOz2jLMP8HIjwBwTayv3cOhgcr1TuACz3mBjdpZ3tifrQYQBCxzr0cFmC2+O0gh+wiSAOiOJJ9pH58IT6wsoZhn96QEMYVUsdG+Z38xM9h6EMOutSqLokLr9EZmw5/9c+rmTkFfgpJPhMdar4KF4RzAQgOAp4EGENSzSEAsn7zN02FK9nfh2QEFcWojyGBDgSeIAY+vlcf26ctokq1aPuHkTuV2Nn3eN+nIDxCwZtppOGLq1PBBy7YJlVMud/fDEG9lBdquZt5snHv4NZHpL/DeCKFGj0FKL4GsF5H/VHID3ycy9ctC7TaaecVSZncJw5wWJOOP1wYQ4UvZNlZ1nWeAH/efu9JhdN23v9QpCUnARaRduyOVADkWCkf0C6e9/o3ffg3b/3ryxCoDEUy0OpyprQkNEmgzZo0I5s7cFr1/3Ommzpmhr1zByWLtv3q3j1JdkV4AR+j/aA9tPSZYs3UVwfsOCa4Tp/+I6LPmjEs3qNoUiiIEest5Wbhm0TPKCNJux7pDd5/UejhaN9VMnBZxm8VZ9gicjeRU6Mc1/oRSwZicGo6FSeo802JQKMQbxTj3wpOzGI7Mr2sYdCpKE7GFFEp3wlNbxFq3S3O6K8ecqE3koF7Y1kKWCV4YmXnFUFSmbf/KIIPkw3nx9gZyYedn8ki+kkyufqKHiqInFLR29setMlDth8sg6I8PSHYOi8VfE4L4nKbNLkJSigilTuyqouZVU0JGUSTAw+Q3iLsp9FYu+AYiLhzDgalxAQiJon5ld52iFkKHdR7gKhaUCtk9nt+3MUiAFsDgTUhbueQ/IrjboRq7Lj4c49RosvwvgDb9e5dsUYyCcCbbjV7Gp0KlyFfWb9SqOGwhU1+q/qeBSnpnS45h+GoHsoRgwPSw9gRQqKXjcaEgUuEAibyJQ43qcBCyCa8LB2qNdxkA/y4NMS/RE0fCb5VxABSMbVmibnG1klf1NaCS8BYFfZbysAuP86v5uZ8cf6eyASBgAIeJsBxCHy0vzb88cgrZfv7dQJ/bI23WW8jK2d3juBLcdXl0QWg3j3pY/KL8Igh4DD80O6/0rTe63D1xsiPTJNkCvW6VDMH3dLBY30CYd4HrIDtyDEllBJTTBLvpxXcwf5BbygU34YtXAiHrQSdWA3QMOgkJwQucJzH7QSXQogCUK66ONJMoM2/wAQ4DYZ54ZjfOUZB+hTpAFDAKXmBJSrAGwOHXQxsQ92MaP0+2JBjOMXcx5WXiwqUSIlPREntcJuoKWuILWjLgwi0rS7mc5a6ZiP7yK82krbKDtcsoXtsvlqylHsnDZZshp0txcmQ4d0nkmZaiSQHe5uWaRw+tyJlETm3d1cE92o0+Gv9zXvjixQ9wyZAEnMtvHCxDJt3FQQc1IOMu0ulSc73YgksSIMRavMv3BY9TJEtbBqUhbFVJWVKFAdRVq1QOckW4uqWb5KV6xaGqm6vPa1vt5CK2S1m6ZXp5kO2kXNTDp02qrW3FBWGIgIY28FYVpP1Dx3Jso3+jbA1yknNLVOM+tN5MefSYBXAlU76bQzggQLETpSuu0LgjOuX28uSu1+1y1cMckGG0V7Zzu/7QRXXdPSdYkMOjJ5U8/SSj3+2Fprr52Faqipg1peq63jXlQnN7maLafs6a6HbhY0OsqyJx+4lz766m2RfjYp9l6JVqN4W/0NNMgAlaq05epbu5maZ75JzT3n/2UuXLkFI4E4vvrme4gQQoINK+48rMEt4W2xI0awJLGVxjoU2GyLDBY0GmosldFRx2y1zXY7rLLafgeI1HyojDTcGKONNUQjLw21jyKUGGY6rY92knnxNEUTS6WHCkqJ4wsiLVmRNcbLNM5Nt9x2v7Bb+1Z6fUZim4hqR7PMojyerg+FLH57Bp9TseFpo/UJqr8KF1Y/+ddRNWnWrSt85iVEqbq2amvq2DHx/UbFI/sZJ1srNhGN74HOLL612U1Q1G2BR0Jwufw2H26jZmrODGCu0ltS1e1Rge9iLACLM2F08L3uggBZN740siVsNP6vAEw0cGKnEmkOsnpcNwVwwG7lQJTjS82+DrDq3W/zYw4S0wbvJHPwcTcsPvdONEnIagAA) format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}

/* Chakra Petch — Copyright 2018 The Chakra Petch Project Authors. SIL Open Font License 1.1; la copia del
   aviso está en `web/tipos/OFL-chakra-petch.txt`. Es la letra del CUERPO, y viaja empotrada por el mismo
   motivo que Silkscreen: el servidor del panel no sirve .woff2.
   POR QUÉ EXISTE: antes el cuerpo iba en `ui-sans-serif, system-ui, 'Segoe UI'`, que no es una tipografía
   elegida sino la ausencia de elección — y encima cambia según el ordenador de cada cliente. Que el píxel
   canse en renglón no obliga a caer en la letra del sistema: entre Silkscreen y Segoe UI cabe una fuente con
   carácter y legible, y esta lo es. Sus ángulos cortados riman con la esquina viva de los paneles.
   El reparto no cambia: el píxel sigue siendo solo para rótulos y cifras. */
@font-face {
  font-family: 'Chakra Petch';
  src: url(data:font/woff2;base64,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) format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Chakra Petch';
  src: url(data:font/woff2;base64,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) format('woff2');
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Chakra Petch';
  src: url(data:font/woff2;base64,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) format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}

:root {
  /* tipografía + formas */
  --font-ui: 'Chakra Petch', ui-sans-serif, system-ui, 'Segoe UI', Roboto, sans-serif;
  /* Rótulos y solo rótulos: nombres, títulos de sección, chips, cifras de cabecera. */
  --font-display: 'Silkscreen', 'Courier New', ui-monospace, monospace;
  /* Lo que antes iba en la serif pero son FRASES (el vacío, los avisos, el feed). Silkscreen cansa en
     cualquier cosa más larga que un rótulo — lo dice web/estilo.css, y el panel tiene mucho más texto. */
  --font-prosa: var(--font-ui);
  --font-num: ui-monospace, 'Cascadia Code', Consolas, monospace;
  /* Las CIFRAS DE ESTADO —las que el panel enseña, no las que el usuario teclea— son rótulo: la vida, el
     nivel, el tiempo en marcha. Van en la fuente de la marca, que es lo que hace `web/estilo.css` con los
     importes de los planes (`.plan .importe`). No cansan porque son cortas y no se leen en renglón.
     Lo tecleable (los inputs) y lo denso (las horas del chat) se quedan en la monoespaciada del sistema:
     ahí Silkscreen sí estorbaría. */
  --font-cifra: 'Silkscreen', ui-monospace, Consolas, monospace;
  /* Un panel de juego no tiene sombra difusa ni esquinas redondas: tiene un canto claro arriba y a la
     izquierda y uno oscuro abajo y a la derecha. Dos sombras interiores de 2px, como `.panel` de la web. */
  --bisel-luz: #2f3d55;
  --bisel-sombra: #04070c;
  --panel-shadow: inset 2px 2px 0 var(--bisel-luz), inset -2px -2px 0 var(--bisel-sombra);

  /* paleta V2 — Mazmorra de obsidiana (fría azul-acero + esmeralda + oro) */
  --bg: #0b0f17; --bg-rail: #0f1420;
  --bg-panel: #121826; --bg-elev: #1a2333; --bg-sunken: #06090f;
  --ink: #e8edf6; --ink-dim: #a3b4c8; --ink-faint: #7e8da3;
  --line: #273340; --hover: #161f2e; --sel: #18293c;
  --header: #0e1320; --header-hi: #141b2a;
  --gold: #d9b94a; --gold-hi: #f2da7e; --gold-dim: rgba(217,185,74,.28); --gold-edge: #ab8a24; --accent-ink: #12100a;
  --bar-edge: #2e3b4a;
  /* Las barras son de color plano con el brillo en el bisel: los tonos -hi de antes ya no los usa nadie. */
  /* Las barras son de dos tonos planos con el brillo en el bisel, así que los tonos `-hi` del degradado que
     había antes se quedaron sin nadie que los usara — mismo criterio que retiró --glow y --radius. */
  --hp: #d44141; --mp: #3f86db; --ml: #9a68e6; --sk: #3fb98b;
  --ok: #38d39a; --ok-bg: #0d3328; --warn: #e6bb4a; --warn-bg: #2f2810; --err: #ff7565; --err-bg: #311615;
  --btn: #18212e; --btn-hi: #202c3c; --btn-edge: #344558;
  --danger: #7e2828; --danger-hi: #a23434; --danger-edge: #c24040; --on-danger: #fff;
  --input-edge: #2e3b4c;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font: 14px/1.45 var(--font-ui);
  color: var(--ink);
  background-color: var(--bg);
  /* Trama de piedra: dos rejillas de 4px cruzadas, las mismas de web/estilo.css. Es CSS, no una textura
     descargada. Sustituye al resplandor radial azul que había antes: ese glow es lenguaje de dashboard
     moderno y contradecía al resto del dibujo. */
  background-image:
    repeating-linear-gradient(0deg, rgba(255,255,255,.014) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(90deg, rgba(0,0,0,.22) 0 1px, transparent 1px 4px);
}

/* Los sprites del juego son pixel art: al escalarlos el navegador los emborronaría. (En los SVG inline no
   hace falta — el que lo necesita, el emblema, lleva su propio shape-rendering="crispEdges".) */
img { image-rendering: pixelated; }

/* ---- Cabecera / estandarte ---- */
#top {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  padding: 10px 18px;
  background: linear-gradient(180deg, var(--header-hi), var(--header));
  border-bottom: 2px solid var(--gold);
  box-shadow: inset 0 2px 0 var(--bisel-luz), inset 0 -2px 0 var(--bisel-sombra);
}
/* 16px: Silkscreen es una fuente de rejilla y se pinta nítida en múltiplos de su tamaño nominal, así que la
   marca va al mismo 16 que el emblema de al lado. Sombra dura de 2px (nunca difusa), como `.marca` de la web. */
.brand {
  display: inline-flex; align-items: center;
  font-family: var(--font-display);
  font-size: 16px; font-weight: 400; letter-spacing: .04em;
  color: var(--gold); text-shadow: 2px 2px 0 var(--bg-sunken);
}
.ico { width: 1em; height: 1em; vertical-align: -0.125em; margin-right: .4em; flex: none; }
/* El emblema de la cabecera es una rejilla de 16×16: a 1em de .brand (18px) la escala 1.125× NO es entera
   y unas filas de píxel salen a 1 device-pixel y otras a 2 — 16px exactos, o el crispEdges no salva nada. */
.brand .ico { width: 16px; height: 16px; }
/* Los iconos de control (packaging/arte/iconos-panel.mjs) son de rejilla 12 y se pintan a 12px exactos, por
   la misma razón que el emblema a 16: a escala no entera unas filas de píxel salen a un device-pixel y otras
   a dos. Toman el color del texto al que acompañan, así que el mismo símbolo vale en oro, en rojo o atenuado. */
.ico-px { width: 12px; height: 12px; flex: none; vertical-align: -1px; }
button .ico-px, .chip .ico-px { margin-right: .45em; }

/* ---- Control del motor: reiniciar / apagar ---- */
/* Eran dos botones sueltos —uno rojo y ancho— peleando por sitio en la cabecera con el chip de conexión,
   Gente, Mi paquete, el solver y los botones de slot. Se usan una vez cada muchas horas: van juntos y
   plegados. `position: relative` sobre el contenedor ancla el desplegable a su botón. */
#engine-menu { position: relative; display: inline-flex; }
.engine-pop {
  position: absolute; top: calc(100% + 6px); left: 0; z-index: 40;
  display: flex; flex-direction: column; min-width: 100%;
  background: var(--bg-elev); border: 2px solid var(--bg-sunken);
  box-shadow: var(--panel-shadow);
}
.engine-op {
  padding: 8px 14px; text-align: left; white-space: nowrap;
  font: 600 12px var(--font-ui); letter-spacing: .02em;
  background: transparent; border: 0; color: var(--ink); cursor: pointer;
}
.engine-op:hover { background: var(--hover); }
.engine-op.danger { color: var(--err); }
.engine-op.danger:hover { background: var(--err-bg); }
#start-slots {
  /* margin-left:auto empuja el contenedor a la derecha en el header.
     justify-content:flex-end alinea TAMBIÉN las filas internas a la derecha cuando flex-wrap parte los botones a fila 2 (review externa #7: con cap>5 y char-labels largos, sin esto la fila 2 caía a la izquierda → zigzag). */
  margin-left: auto; display: inline-flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px;
}
.start-slot-btn {
  padding: 7px 14px;
  font: 600 13px var(--font-ui); letter-spacing: .03em;
  border: 1px solid var(--gold-edge);
  background: linear-gradient(180deg, var(--gold-hi), var(--gold));
  color: var(--accent-ink); cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 2px 4px rgba(0,0,0,.4);
  transition: filter .15s ease, transform .05s ease;
}
.start-slot-btn:hover { filter: brightness(1.08); }
.start-slot-btn:active { transform: translateY(1px); }
.start-slot-btn:disabled {
  background: var(--bg-elev); color: var(--ink-faint);
  border-color: var(--line); box-shadow: none; cursor: not-allowed;
}

/* Banda del canal de updates: informativa por defecto, grave cuando el update falló de verdad. */
.version-aviso { padding: 8px 12px; margin: 6px 0; font-size: 13px;
  background: #2b2f36; color: #e8c46a; border: 1px solid #4a4632; }
.version-aviso.grave { color: #f0a0a0; border-color: #5a3232; background: #35262a; }

/* ---- Chips / sellos de estado ---- */
.chip {
  padding: 3px 12px; font-size: 12px; font-weight: 600;
  letter-spacing: .02em; border: 1px solid var(--line);
  background: var(--bg-elev); color: var(--ink-dim);
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.chip.ok   { background: var(--ok-bg);   color: var(--ok);   border-color: var(--ok); }
.chip.warn { background: var(--warn-bg); color: var(--warn); border-color: var(--warn); }
.chip.danger { background: #5a2323; color: #f2b8b8; }
/* Un <button class="chip"> (el de «Gente», el de apagar) debe verse igual que el <span class="chip"> de al
   lado: el navegador le pondría su propia fuente y su cursor de flecha. `font: inherit` trae la familia del
   panel pero RESETEA tamaño y peso, así que van detrás para conservar los de `.chip`. */
button.chip { cursor: pointer; font: inherit; font-size: 12px; font-weight: 600; }

/* ---- Layout maestro-detalle ---- */
#layout { display: grid; grid-template-columns: 300px 1fr; height: calc(100vh - 53px); }
#layout.dim { opacity: .55; filter: grayscale(.3); transition: opacity .3s ease; }
#instances { border-right: 1px solid var(--line); overflow: auto; background: var(--bg-rail); }

.inst {
  display: flex; align-items: center; gap: 9px; flex-wrap: wrap;
  padding: 14px; cursor: pointer;
  border-bottom: 1px solid var(--line);
  border-left: 3px solid transparent;
  transition: background .18s ease, border-color .18s ease;
}
.inst-msgs { flex-basis: 100%; width: 100%; margin-top: 4px; display: flex; flex-direction: column; gap: 2px; }
.inst-msg { font-size: 11px; line-height: 1.3; color: #c8c2d8; display: flex; gap: 5px; align-items: baseline; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.inst-msg.safe { opacity: 0.7; }
.inst-msg .im-nm { font-weight: 600; color: #e6e0f0; }
.inst-msg .im-at { color: #8a849c; font-variant-numeric: tabular-nums; }
.inst-msg .im-tx { overflow: hidden; text-overflow: ellipsis; }
.inst-msg .mlog-self { color: #7aa8d8; }   /* Task 13: nuestra respuesta (chat humano) — atenuado, distinto de nombre/hora/texto ajeno */
/* Vista de conversación (spec 2026-07-18): chips por canal + hilo desplegable. Color = canal (say amarillo / PM azul). */
.inst-chat { flex-basis: 100%; width: 100%; margin-top: 4px; }
.chat-chips { display: flex; gap: 6px; align-items: center; cursor: pointer; font-size: 11px; }
.chat-chip { padding: 1px 7px; border: 1px solid var(--line); line-height: 1.6; }
.chat-chip.say { color: #d9c85a; border-color: #6b6030; }
.chat-chip.pm { color: #6fb0e0; border-color: #2f5876; }
.chat-chip.muted { color: var(--ink-faint); }
.chat-chevron { color: var(--ink-faint); margin-left: auto; }
.chat-convos { display: flex; flex-direction: column; gap: 6px; margin-top: 5px; }
.conv-group { display: flex; flex-direction: column; gap: 2px; border-left: 2px solid var(--line); padding-left: 7px; }
.conv-player { font-size: 11px; font-weight: 600; color: #e6e0f0; }
.conv-line { font-size: 11px; line-height: 1.3; color: #c8c2d8; display: flex; gap: 5px; align-items: baseline; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.conv-line .conv-ch { flex: none; }
.conv-line.say .conv-ch { color: #d9c85a; }
.conv-line.pm .conv-ch { color: #6fb0e0; }
.conv-line.self { color: #7aa8d8; }
.conv-line.unseen { font-weight: 600; color: #e6e0f0; }
.conv-line .conv-tx { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.conv-line .conv-at { flex: none; color: #8a849c; font-variant-numeric: tabular-nums; }
.panic-banner { flex-basis: 100%; width: 100%; margin-top: 4px; display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.panic-cd { color: #e5484d; font-weight: 700; }
.panic-who { font-size: 11px; color: #c8c2d8; }
.inst:not(.slot):hover { background: var(--hover); }   /* una card de slot no se ilumina: no es seleccionable */
.inst.sel { background: var(--sel); border-left-color: var(--gold); }
.inst .inst-quick {
  padding: 4px 7px; font-size: 11px; line-height: 1;
  border: 1px solid var(--btn-edge, var(--line, #273340));
  background: var(--bg-elev); color: var(--ink); cursor: pointer;
}
.inst .inst-quick:hover { border-color: var(--gold); }
.inst .inst-quick:disabled { opacity: .6; cursor: wait; }
/* Sidebar atajos (spec 2026-07-10): fila de acciones por card + pills de estado PK/Chat. */
.inst-actions { flex-basis: 100%; width: 100%; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 2px; }
.quick-pill {
  padding: 4px 8px; font-size: 11px; line-height: 1;
  border: 1px solid var(--btn-edge, var(--line, #273340));
  background: transparent; color: var(--ink-faint); cursor: pointer;
}
.quick-pill.on { border-color: var(--gold); color: var(--gold); background: var(--bg-elev); }
.quick-pill:hover:not(:disabled) { border-color: var(--gold); }
.quick-pill:disabled { opacity: .4; cursor: default; }
.inst .nm { font-family: var(--font-display); font-weight: 400; font-size: 13px; }
.inst-lvl { flex: none; margin-left: 7px; padding: 0 7px; font: 400 10px var(--font-cifra); line-height: 1.8;
  color: var(--gold); background: var(--bg-elev); border: 1px solid var(--gold-dim); }
.inst .sub { margin-left: auto; font-size: 11px; font-family: var(--font-num); }

/* gemas/runas de estado */
.dot {
  width: 10px; height: 10px;
  background: var(--ink-faint);
  border: 1px solid var(--bg-sunken);
  box-shadow: inset 1px 1px 0 rgba(255,255,255,.28), inset -1px -1px 0 rgba(0,0,0,.5);
}
.dot.ok   { background: var(--ok);   box-shadow: inset 1px 1px 0 rgba(255,255,255,.35), inset -1px -1px 0 rgba(0,0,0,.5), 0 0 0 2px var(--ok-bg); }
.dot.warn { background: var(--warn); box-shadow: inset 1px 1px 0 rgba(255,255,255,.35), inset -1px -1px 0 rgba(0,0,0,.5), 0 0 0 2px var(--warn-bg); }
.dot.err  { background: var(--err);  box-shadow: inset 1px 1px 0 rgba(255,255,255,.35), inset -1px -1px 0 rgba(0,0,0,.5), 0 0 0 2px var(--err-bg); }
.dot.idle { background: var(--ink-faint); }

.ok { color: var(--ok); } .warn { color: var(--warn); } .err { color: var(--err); }

/* ---- Panel de detalle ---- */
#detail { padding: 18px 20px; overflow: auto; }
.empty { color: var(--ink-faint); padding: 28px; text-align: center; font-family: var(--font-prosa); }

.hd { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin-bottom: 16px; }
.hd h2 {
  margin: 0 6px 0 0; font-size: 16px; font-weight: 400;
  font-family: var(--font-display); color: var(--ink);
  text-shadow: 2px 2px 0 var(--bg-sunken);
}
.badge {
  padding: 3px 10px; font-size: 12px; font-weight: 600;
  background: var(--bg-elev); color: var(--ink-dim);
  border: 1px solid var(--line);
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.badge.ok   { background: var(--ok-bg);   color: var(--ok);   border-color: var(--ok); }
.badge.warn { background: var(--warn-bg); color: var(--warn); border-color: var(--warn); }
.badge.err  { background: var(--err-bg);  color: var(--err);  border-color: var(--err); }
.up { font: 400 10px var(--font-cifra); color: var(--ink-faint); }
.hd-btns { margin-left: auto; display: flex; gap: 7px; }
.hd-btns button {
  padding: 6px 13px; font: 600 12px var(--font-ui); letter-spacing: .02em;
  border: 1px solid var(--btn-edge);
  background: linear-gradient(180deg, var(--btn-hi), var(--btn));
  color: var(--ink); cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
  transition: filter .15s ease, transform .05s ease;
}
.hd-btns button:hover { filter: brightness(1.12); }
.hd-btns button:active { transform: translateY(1px); }
.hd-btns button:disabled { filter: none; opacity: .6; cursor: progress; }
.hd-btns button.danger { background: linear-gradient(180deg, var(--danger-hi), var(--danger)); border-color: var(--danger-edge); color: var(--on-danger); }
/* PR (hunt-pausa): toggle de pausa neutro (NO danger, NO el oro del Activar) + zona roja separada de ■ Parar. */
.hd-btns .pausebtn { background: var(--bg-elev); border-color: var(--btn-edge); }
.hd-stop-zone { display: flex; align-items: center; padding-left: 9px; margin-left: 2px; border-left: 1px solid var(--btn-edge); }

.warn-box {
  padding: 13px 15px; background: var(--warn-bg); border: 1px solid var(--warn);
  color: var(--warn); margin-bottom: 14px;
  font-family: var(--font-prosa);
}

/* ---- Vitals: barras tipo RPG ---- */
.vitals {
  display: grid; gap: 9px; margin-bottom: 16px;
  padding: 14px; background: var(--bg-panel);
  border: 2px solid var(--bg-sunken);
  box-shadow: var(--panel-shadow);
}
.bar-row { display: grid; grid-template-columns: 64px 1fr 132px; align-items: center; gap: 10px; }
.bl { font: 400 11px var(--font-display); color: var(--ink-dim); letter-spacing: .03em; }
.bv { font: 400 11px var(--font-cifra); text-align: right; color: var(--ink-dim); }
.bar {
  position: relative; height: 16px; background: var(--bg-sunken);
  border: 2px solid var(--bar-edge); overflow: hidden;
  box-shadow: inset 2px 2px 0 rgba(0,0,0,.55);
}
.fill {
  display: block; height: 100%;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.3), inset 0 -2px 0 rgba(0,0,0,.3);
  transition: width .45s steps(16, end);
}
.fill.hp { background: var(--hp); }
.fill.mp { background: var(--mp); }
.fill.ml { background: var(--ml); }
.fill.sk { background: var(--sk); }
.voc { font: 400 10px var(--font-display); color: var(--ink-faint); text-transform: uppercase; letter-spacing: .04em; }
.kv { font-size: 12px; color: var(--ink-dim); font-family: var(--font-num); margin-top: 2px; }

/* ---- Alarmas ---- */
.alarms { margin: 12px 0; }
/* chip de alarma (err) y de setup (warn): misma base, solo cambia el color */
.alarm, .setup-chip {
  display: inline-flex; align-items: center; padding: 3px 10px;
  margin: 0 6px 4px 0; font-weight: 600; font-size: 12px; border: 1px solid;
}
.alarm { background: var(--err-bg); color: var(--err); border-color: var(--err); }
.setup-chip { background: var(--warn-bg); color: var(--warn); border-color: var(--warn); }
.muted { color: var(--ink-faint); }
.feed { font-size: 12px; color: var(--ink-dim); margin-bottom: 16px; line-height: 1.7; }
.feed b { color: var(--gold); font-family: var(--font-prosa); }

/* ---- Grupos de control ---- */
.grp {
  position: relative; border: 2px solid var(--bg-sunken);
  padding: 13px 15px 14px; margin-bottom: 12px;
  background: var(--bg-panel); box-shadow: var(--panel-shadow);
}
.grp h3 {
  display: flex; align-items: center;
  margin: 0 0 11px; font-size: 11px; letter-spacing: .03em;
  font-family: var(--font-display); color: var(--gold); font-weight: 700;
  text-shadow: 2px 2px 0 var(--bg-sunken);
}
.grp label { display: inline-flex; align-items: center; gap: 6px; margin: 4px 12px 4px 0; font-size: 13px; color: var(--ink-dim); }
.grp label[hidden] { display: none; }   /* la pócima de respaldo (.spell-only) se oculta en modo Poción aunque label sea inline-flex */
.grp input, .grp select {
  background: var(--bg-sunken); border: 1px solid var(--input-edge); color: var(--ink);
  padding: 5px 7px; font: 13px var(--font-ui);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.grp input:focus, .grp select:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 2px var(--gold-dim); }
.grp input[type=number] { width: 66px; font-family: var(--font-num); }
.grp input[size="4"] { width: 50px; text-align: center; font-family: var(--font-num); }
.grp button {
  padding: 5px 13px; font: 600 12px var(--font-ui);
  border: 1px solid var(--btn-edge);
  background: linear-gradient(180deg, var(--btn-hi), var(--btn)); color: var(--ink);
  cursor: pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
  transition: filter .15s ease, transform .05s ease;
}
.grp button:hover { filter: brightness(1.12); }
.grp button:active { transform: translateY(1px); }
.grp hr { border: 0; border-top: 1px solid var(--line); margin: 11px 0; }
.grp input[type=checkbox] { accent-color: var(--gold); width: 15px; height: 15px; }

/* A4: sección Vigía fija (singleton). Reorg 2026-07-11: vive plegada dentro de #dadv. */

/* Reorg 2026-07-11: bloque de secciones poco frecuentes, plegadas bajo las pestañas. La caja la pone
   el <details>; el summary hace de cabecera (mismo lenguaje que .grp h3) y lleva el resumen vivo. */
#dadv { margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--line); }
#dadv[hidden] { display: none; }
.adv {
  border: 2px solid var(--bg-sunken);
  background: var(--bg-panel); box-shadow: var(--panel-shadow); margin-bottom: 10px;
}
.adv > summary {
  display: flex; align-items: center; gap: 6px; cursor: pointer; user-select: none;
  padding: 10px 15px; font: 700 11px var(--font-display); letter-spacing: .03em;
  color: var(--gold); text-shadow: 2px 2px 0 var(--bg-sunken);
}
.adv > summary:hover { filter: brightness(1.12); }
.adv .adv-sum { margin-left: auto; color: var(--ink-faint); font: 400 12px var(--font-ui); text-transform: none; letter-spacing: 0; }
.adv > div { padding: 0 15px 12px; }
/* el .grp interior pierde su caja (la caja es el details) */
.adv .grp { border: 0; background: none; box-shadow: none; padding: 0; margin: 0; }

/* foco accesible y con carácter en todos los controles interactivos */
button:focus-visible, select:focus-visible, [data-action]:focus-visible {
  outline: 2px solid var(--gold); outline-offset: 2px;
}

/* ---- Pending ---- */
.pend { font-size: 11px; color: var(--warn); margin-left: 6px; }
.pend.on::before { content: "\23F3 "; }
.pend-on { outline: 2px solid var(--warn); outline-offset: 1px; }

/* ---- Toast ---- */
.toast {
  position: fixed; right: 18px; bottom: 18px; padding: 11px 16px;
  background: var(--bg-elev); color: var(--ink);
  border: 2px solid var(--bg-sunken); box-shadow: var(--panel-shadow);
  font-weight: 600; font-size: 13px;
  z-index: 60;   /* #3: por ENCIMA del drawer del historial (z-index:50) -> el feedback de comandos/errores no queda tapado con el drawer abierto */
}
.toast.ok  { background: var(--ok-bg);  color: var(--ok);  border-color: var(--ok); }
.toast.err { background: var(--err-bg); color: var(--err); border-color: var(--err); }
.toast.hidden { display: none; }

/* F2 §14: <=720px apila sidebar sobre detalle (la sidebar es fija a 300px:
   entre 640 y 720 el detalle quedaba con <420px útiles — pestañas y plegables ilegibles) */
@media (max-width: 720px) {
  #layout { grid-template-columns: 1fr; }
  #instances { max-height: 30vh; }
  /* En móvil no se abren slots (requiere el login manual de Cloudflare en el PC): ocultamos los botones de
     Iniciar para no comer alto. Los slots ya en marcha siguen viéndose como cards en la lista (#instances). */
  #start-slots { display: none; }
}

/* accesibilidad + cero "tells" de movimiento */
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}

/* ---- Slots (F3+F4) ---- */
/* La card de slot toma la caja de `.inst` pero no su comportamiento: no es seleccionable (lleva data-slot y
   no data-id, y el manejador de #instances la descarta). Heredar `cursor:pointer` la hacía prometer un clic
   que solo atendía el botón, que además es el trozo más pequeño y más a la derecha de la card. */
.inst.slot { flex-wrap: wrap; row-gap: 6px; cursor: default; }
.inst.slot .nm { color: var(--ink-faint); }
.slot-actions { width: 100%; display: flex; justify-content: flex-end; gap: 6px; }
.slot-btn { font-size: 12px; padding: 4px 10px; border: 1px solid var(--gold); background: var(--bg-elev); color: var(--gold); cursor: pointer; }
.slot-btn:hover { background: var(--hover); }
.slot-btn.danger { border-color: var(--err); color: var(--err); }
/* Confirmar el reto de seguridad es la única acción de esa card, y se llega a ella desde OTRA ventana: el
   objetivo ocupa la fila entera. Los demás botones de slot (Cancelar/Recuperar) siguen pequeños a propósito:
   son la salida de emergencia y un objetivo grande invita a pulsarlos por descuido. */
.slot-btn-confirm { width: 100%; padding: 7px 10px; font-weight: 600; }
.sub.err { color: var(--err); margin-left: 6px; font-size: 11px; }
.clearance-hint { width: 100%; color: var(--warn); font-size: 11px; }

/* ---- Indicadores guardado/pendiente del footer de modo (antes Sección Modo SP-F; Pieza 2 los re-aloja en .mode-footer) ---- */
.mode-footer .mode-saved { font-size: 11px; color: var(--ink-faint); }
.mode-footer .mode-saved.on { color: var(--ok); }
.mode-footer .mode-pend { font-size: 11px; color: var(--ink-faint); }
.mode-footer .mode-pend.on { color: var(--warn); }
.mode-footer .mode-pend.on::before { content: "\23F3 "; }

/* ---- SafeList tag-input (SP-G, #14) ---- */
.taglist-lab { display: block; font-size: 12px; color: var(--ink-dim); margin-bottom: 2px; }
.taglist {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
  padding: 5px 7px; background: var(--bg-sunken); border: 1px solid var(--input-edge);
  min-height: 32px;
}
.tag {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 4px 2px 9px; background: var(--sel); border: 1px solid var(--line);
  font-size: 12px; color: var(--ink); line-height: 1.5;
}
.tag-x {
  border: 0; background: none; color: var(--ink-faint); cursor: pointer;
  font-size: 15px; line-height: 1; padding: 0 3px;
}
.tag-x:hover { color: var(--err); }
/* Task 7: chip gris del roster (chars propios) — no interactivo, solo auditoría (no lleva botón tag-x). */
.tag-fixed { opacity: .6; cursor: default; }
.tag-input {
  flex: 1; min-width: 110px; border: 0; background: none; color: var(--ink);
  font-size: 12px; padding: 2px 0; outline: none;
}

/* ---- Solver del antibot (cabecera) ---- */
#solver { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
/* El chip del solver y el del motor son toggles. OJO con la especificidad: `font: inherit` RESETEA tamaño y
   peso, y esta regla (0,2,0) gana a `button.chip` (0,1,1) — sin re-declararlos aquí, estos dos chips salen a
   14px/400 al lado de los de 12px/600 de la misma cabecera. Es el mismo pie del que ya avisa button.chip. */
.chip.chip-toggle { cursor: pointer; font: inherit; font-size: 12px; font-weight: 600; }
.chip-caret { opacity: .7; font-size: 10px; margin-left: 1px; }
.solver-detail { flex-basis: 100%; margin-top: 4px; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.solver-slots { display: flex; flex-direction: column; gap: 2px; width: 100%; }
.solver-slot { display: flex; gap: 8px; font-size: 11px; line-height: 1.5; padding: 1px 8px; background: var(--bg-elev); }
.solver-slot .ss-name { font-weight: 600; min-width: 70px; color: var(--ink); }
.solver-slot .ss-stat { color: var(--ink-faint); }
.solver-slot.ok   .ss-name { color: var(--ok); }
.solver-slot.warn .ss-name { color: var(--warn); }
.solver-slot.err  .ss-name { color: var(--err); }
.chip.err  { background: var(--err-bg);  color: var(--err);  border-color: var(--err); }
.chip.idle { background: var(--bg-elev); color: var(--ink-faint); }
.solver-btn {
  padding: 4px 11px; font: 600 12px var(--font-ui);
  border: 1px solid var(--btn-edge);
  background: linear-gradient(180deg, var(--btn-hi), var(--btn)); color: var(--ink);
  cursor: pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
  transition: filter .15s ease, transform .05s ease;
}
.solver-btn:hover { filter: brightness(1.12); }
.solver-btn:active { transform: translateY(1px); }
.solver-btn:disabled { opacity: .55; cursor: not-allowed; filter: none; }

/* F3: pestañas del panel de detalle (Pieza 2: la clase .active la pinta renderTabs; fuera los selectores bot/rutas muertos) */
#dtabs { display: flex; gap: 4px; border-bottom: 1px solid var(--line); margin: 8px 0; }
#dtabs .tab-btn { background: transparent; border: 0; padding: 9px 14px; font: 400 11px var(--font-display); letter-spacing: .03em; color: var(--ink-faint); cursor: pointer; border-bottom: 2px solid transparent; }
#dtabs .tab-btn.active { color: var(--ink); border-bottom-color: var(--gold); }
[hidden] { display: none !important; }
/* F3: bloques de rutas */
.hunt-hero .hunt-state { font-size: 1.05rem; padding: 6px 0; }
.hunt-hero .hunt-state.on { color: var(--gold); }
.hunt-hero .hunt-state.off { color: var(--ink-faint); }
.routes .routes-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 6px; }
.routes .routes-head h3 { margin: 0; }
.routes .rec-live { color: var(--gold); font-variant-numeric: tabular-nums; }
.routes .rec-warn { color: var(--warn); font-size: 12px; }
/* `wrap` en vez de un breakpoint: la fila lleva radio + nombre + metadatos + tres botones, y en el panel
   estrecho (390 px) eso son ~365 px dentro de 306 -> se salía por la derecha. Con envoltura, los metadatos y
   los botones bajan a una segunda línea SOLO cuando no caben; en escritorio no cambia nada. */
.routes .route-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 4px 0; }
/* La etiqueta (radio + nombre) se come el hueco sobrante, así los metadatos y los tres botones quedan
   pegados al borde derecho y ALINEADOS entre filas. Sin esto, cada fila colocaba sus botones justo detrás de
   su texto: con «12 wp» y «370 wp · floors -2-1 · needs rope, shovel» conviviendo en la misma lista, los
   iconos salían escalonados y la columna era ilegible. `min-width: 0` es lo que permite que el nombre largo
   se recorte en vez de empujar los botones fuera de la fila. */
.routes .route-row > label { flex: 1 1 12ch; min-width: 0; }
.routes .route-name-cell { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Los tres botones, como un bloque: `margin-left:auto` los pega al borde derecho en escritorio y, cuando la
   fila envuelve, bajan los tres juntos a la segunda línea en vez de partirse. */
.routes .route-acts { display: flex; gap: 8px; margin-left: auto; }
/* Con 25-40 rutas hace falta ver dónde acaba una fila; más aún cuando envuelven en dos líneas. Un filo
   apenas visible, no una rejilla. */
#tab-hunt [data-routelist] .route-row + .route-row { border-top: 1px solid rgba(255,255,255,.05); }
#tab-hunt .route-search { width: 100%; }                 /* mismo alto y borde que .tag-input */
#tab-hunt .route-meta { font-size: .85em; white-space: nowrap; }
/* La biblioteca es COMÚN a todos los personajes: donde antes había 4-6 rutas por char ahora hay 25-40, y la
   sección crecía sin tope hasta empujar fuera de la vista todo lo que va debajo. Se acota con scroll propio.
   `min(340px, 45vh)`: en una ventana normal caben ~11 filas; en una baja manda el viewport, que es donde el
   problema muerde. El buscador queda FUERA del área con scroll a propósito — filtrar sin ver el campo de
   búsqueda es peor que la lista larga. `overscroll-behavior: contain` evita que al llegar al final el scroll
   salte a #detail, que también scrollea. */
#tab-hunt [data-routelist] {
  max-height: min(340px, 45vh); overflow-y: auto; overscroll-behavior: contain;
  background: var(--bg-sunken); border: 1px solid var(--line);
  padding: 2px 8px; margin-top: 6px;
  /* `stable` reserva el hueco de la barra SIEMPRE. Sin él, la lista salta 10 px a la izquierda en cuanto
     pasa de 11 rutas (y otros 10 al filtrar y quedarse en 3): con la biblioteca compartida, cruzar ese
     umbral es lo normal, no un caso raro. */
  scrollbar-gutter: stable;
  scrollbar-width: thin; scrollbar-color: #3b4a5c transparent;   /* Firefox */
}
/* WebKit/Blink (el Chrome que usa el cliente). El borde del pulgar es del color del fondo, no transparente:
   con `border-color: transparent` el pulgar se pinta hasta el borde y se ve grueso y pegado al texto. */
#tab-hunt [data-routelist]::-webkit-scrollbar { width: 10px; }
#tab-hunt [data-routelist]::-webkit-scrollbar-track { background: transparent; }
/* El pulgar NO usa var(--line): ese color es el del BORDE de la propia caja, y sobre --bg-sunken se
   confunde con él — la barra existía y no se veía, que para lo único que sirve es para no enterarte de que
   hay más rutas debajo. Un paso por encima del borde y un paso por debajo de --ink-faint. */
#tab-hunt [data-routelist]::-webkit-scrollbar-thumb {
  background: #3b4a5c; border: 3px solid var(--bg-sunken);
}
#tab-hunt [data-routelist]::-webkit-scrollbar-thumb:hover { background: var(--ink-faint); }
.routes .import { margin-top: 10px; display: flex; flex-direction: column; gap: 6px; }
.routes .import textarea { width: 100%; min-height: 56px; font-family: monospace; }
.import-details { margin-top: 10px; }
.import-details summary { cursor: pointer; color: var(--ink-dim); font-size: 12px; user-select: none; }
.import-details summary:hover { color: var(--ink); }

/* ===== Pieza 2 · track UI ===== */
/* Pestaña verde (live) = modo derivado + bot corriendo (la pinta renderTabs) */
#dtabs .tab-btn.live { color: var(--ok); border-bottom-color: var(--ok); }
/* Pestañas en solo lectura: atenuadas (los inputs ya van disabled; esto es refuerzo visual). PR38 S4: los
   bloques del hunt (objetivos/grabación/rutas) quedan FUERA — siguen operativos también en solo lectura
   (spec §3) y atenuarlos les daba affordance de deshabilitados. */
.mode-tab:not(.editable) .grp:not(.hunt-hero):not(.routes) { opacity: .72; }
/* Subtítulo descriptivo por pestaña de modo (H10) */
.mode-sub { margin: 2px 0 12px; font-size: 12px; }
/* Footer Guardar por pestaña (A3: el Activar/● Activo se mudó al header, #dhead) */
.mode-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 12px 0 4px; }
/* A3 §4.5: el CTA dorado ▶ Activar vive ahora en el header (.hd-btns); el selector se escopa bajo
   .hd-btns para superar la especificidad de .hd-btns button (0,1,1) — .hd-btns .activate = (0,2,0) gana.
   Distinto del ■ Parar bot (rojo .danger, .hd-btns button.danger = (0,2,1)). */
.hd-btns .activate {
  padding: 7px 16px; font: 600 13px var(--font-ui); letter-spacing: .03em;
  border: 1px solid var(--gold-edge);
  background: linear-gradient(180deg, var(--gold-hi), var(--gold));
  color: var(--accent-ink); cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 2px 4px rgba(0,0,0,.4);
  transition: filter .15s ease, transform .05s ease;
}
.hd-btns .activate:hover { filter: brightness(1.08); }
.hd-btns .activate:active { transform: translateY(1px); }
/* PR2 #3: deshabilitado (un activateMode en vuelo, hasta ~30s) — sin oro vivo ni cursor de mano: parece inerte */
.hd-btns .activate:disabled { opacity: .5; cursor: progress; filter: none; box-shadow: none; }
.hd-btns .activate-live {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 16px;
  font: 600 13px var(--font-ui);
  background: var(--ok-bg); color: var(--ok); border: 1px solid var(--ok);
}
/* A3: hint del gate de ruta del Hunt bajo el header (cuando se ve la pestaña Hunt sin estar viva) */
.hd-hunt-hint { width: 100%; margin: -8px 0 12px; font-size: 12px; }
/* A3/H6: nota muted del «Guardar» en la pestaña editable */
.save-help { margin: 4px 0 0; flex-basis: 100%; }
/* Selector de seguridad (onThreat) */
.threat-intro { margin: 4px 0 6px; color: var(--ink-dim); }
.threat-opt { display: block; margin: 3px 0; }
.gm-note { margin-top: 8px; }
/* Radio de selección de ruta en la lista del hunt */
.route-row label { display: inline-flex; align-items: center; gap: 5px; }

/* N1: drawer del historial de alarmas (overlay derecho deslizante) + badge de no-vistas. */
.notif-btn { position: relative; }
.notif-count { display: none; }
.notif-count.on { display: inline-block; min-width: 1.1em; padding: 0 5px; margin-left: 2px;
  background: var(--err, #b3434e); color: #fff; font-size: 11px; line-height: 1.4; text-align: center; }
/* #1: badge de no-vistas POR INSTANCIA en el sidebar (un AFK no seleccionado con alarmas se ve de un vistazo). */
.notif-count-list { flex: none; margin-left: 6px; min-width: 1.1em; padding: 0 5px;
  background: var(--err, #b3434e); color: #fff; font-size: 11px; line-height: 1.5; text-align: center; font-weight: 700; }
.drawer { position: fixed; top: 0; right: 0; width: 320px; max-width: 90vw; height: 100vh;
  background: var(--bg-panel, #121826); border-left: 2px solid var(--bg-sunken, #06090f); box-shadow: var(--panel-shadow);
  display: flex; flex-direction: column; z-index: 50; transition: transform .18s ease; }
/* #10: visibility:hidden saca el × y las filas del tab-order y del lector de pantalla cuando el drawer está cerrado.
   El delay (0s .18s) lo aplica al TERMINAR la animación de salida, para no cortar el deslizamiento. */
.drawer.hidden { transform: translateX(100%); visibility: hidden; transition: transform .18s ease, visibility 0s .18s; }
.drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px;
  border-bottom: 1px solid var(--line, #273340); font-size: 13px; }
.drawer-x { background: none; border: 0; color: var(--ink-faint, #7e8da3); font-size: 18px; cursor: pointer; line-height: 1; }
.drawer-list { overflow-y: auto; flex: 1; padding: 6px 0; }
.drawer-info-filter { padding: 6px 10px; border-bottom: 1px solid var(--line, #273340); }
.hist-info-toggle { width: 100%; background: transparent; border: 1px solid var(--line, #273340); color: var(--ink-faint, #7e8da3); cursor: pointer; padding: 4px 8px; font-size: 12px; text-align: left; }
.hist-info-toggle.on { color: inherit; border-color: var(--ink-faint, #7e8da3); }
.hist-row { padding: 5px 12px; font-size: 12px; border-bottom: 1px solid var(--bg-elev, #1a2333); display: flex; gap: 6px; align-items: baseline; }
.hist-row.cleared { opacity: .6; }
.hist-at { color: var(--ink-faint, #7e8da3); font-variant-numeric: tabular-nums; white-space: nowrap; }
.hist-msg { word-break: break-word; }

@media (prefers-reduced-motion: reduce) { .drawer, .drawer.hidden { transition: none; } }   /* #10: sin animación, el ocultado (visibility) es inmediato; generalizado junto con .drawer para que también valga en el cajón «Gente» */

/* === N2: Centro de notificaciones — sonido === */
.drawer-sound { padding: 8px 10px; border-bottom: 1px solid var(--line, #273340); }
.ds-head { display: flex; align-items: center; justify-content: space-between; font-weight: 600; margin-bottom: 6px; }
.ds-mute { background: transparent; border: 1px solid var(--line, #273340); color: inherit; cursor: pointer; padding: 2px 8px; font-size: 12px; }
.ds-mute.on { background: #e5484d22; border-color: #e5484d; }
.ds-toggles { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.ds-toggle { display: flex; align-items: center; gap: 6px; background: transparent; border: 1px solid var(--line, #273340); color: inherit; cursor: pointer; padding: 4px 8px; font-size: 12px; opacity: 0.55; text-align: left; }
.ds-toggle.on { opacity: 1; border-color: var(--cat); }
.ds-cats { display: block; font-size: 11px; opacity: .6; margin-top: 2px; font-weight: 400; }
.ds-dot { width: 9px; height: 9px; background: var(--cat); flex: 0 0 auto; }
.ds-note { margin-top: 6px; font-size: 11px; opacity: 0.7; }
/* N2: acento de color del historial. Anclado a #history-drawer (no global) para no teñir otros .hist-row futuros.
   padding-left 9px = los 12px de N1 menos el borde de 3px -> conserva la sangría del texto en vez de reducirla. */
#history-drawer .hist-row { border-left: 3px solid var(--cat, transparent); padding-left: 9px; }

/* N3: botón «silenciar esta alarma» dentro de cada chip de alarma activa */
.ack-x { background: transparent; border: 0; cursor: pointer; font-size: 11px; opacity: 0.6; padding: 0 2px; margin-left: 4px; }
.ack-x:hover { opacity: 1; }
.alarm.acked { opacity: 0.5; }
.alarm.acked .ack-x { display: none; }

/* Snooze (spec 2026-07-21): botones 1h/4h + chip ⏰ dentro del chip de alarma activa */
.snooze-btn { background: transparent; border: 1px solid currentColor; cursor: pointer; font-size: 10px; opacity: 0.6; padding: 0 3px; margin-left: 3px; color: inherit; }
.snooze-btn:hover { opacity: 1; }
.alarm.snoozed { opacity: 0.5; }
.snooze-until { font-size: 10px; margin-left: 4px; opacity: 0.8; }

/* === Señal por ventana: botón de permiso de notificaciones del SO === */
.ds-notif-row { margin: 6px 0 2px; }
.ds-notif-btn { font: inherit; cursor: pointer; padding: 4px 10px; border: 1px solid var(--cat, #6b7280); background: transparent; color: inherit; }
.ds-notif-btn:hover { background: rgba(255,255,255,.06); }
.ds-notif-btn.on { border-color: var(--gold); color: var(--gold); background: var(--bg-elev); }   /* F3: estado suscrito (espejo de .quick-pill.on) */
.ds-notif.ok { color: #2dd4bf; font-size: .85em; }
.ds-notif.muted { opacity: .7; font-size: .85em; }

/* Mage Bomb (Fase 2): sección transversal (reusa .grp) + indicadores de rol en el sidebar. */
.magebomb .mb-leader-row { display: flex; align-items: center; gap: 8px; margin: 6px 0; flex-wrap: wrap; }
.magebomb hr { border: none; border-top: 1px solid var(--btn-edge); margin: 10px 0; }
.inst-role { flex: none; margin-left: 6px; font-size: 13px; line-height: 1; }

/* Selector visual de loadout (drag&drop) */
.ld-picker { margin: 6px 0; }
.ld-hint { display: block; margin: 2px 0 6px; font-size: 11px; }
.ld-grid-wrap { min-height: 40px; }
.ld-grid { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; border: 1px solid var(--btn-edge, #2a2a2a); }
.ld-grid-empty { padding: 8px; }
.ld-sprite { width: 32px; height: 32px; image-rendering: pixelated; cursor: grab; }
.ld-noimg { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; font-size: 10px; border: 1px dashed var(--btn-edge, #2a2a2a); cursor: grab; }
.ld-zones { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 6px; }
.ld-zone { display: flex; flex-direction: column; gap: 2px; padding: 4px; border: 1px solid var(--btn-edge, #2a2a2a); }
.ld-zone-label { font-size: 11px; opacity: .8; }
.ld-drop { min-height: 36px; display: flex; align-items: center; justify-content: center; border: 1px dashed var(--btn-edge, #2a2a2a); }
.ld-drop.ld-over { outline: 2px solid var(--accent, #4ea1ff); }
.ld-empty { font-size: 11px; opacity: .5; }
.ld-zone-btns { display: flex; gap: 4px; justify-content: flex-end; }
.ld-zone-btns button { font-size: 11px; padding: 1px 6px; }

/* Badges en vivo de hotkeys (spec 2026-07-10): qué hay AHORA en la F-key configurada. */
.hk-slot { display: inline-flex; vertical-align: middle; }
.hk-badge { display: inline-flex; align-items: center; gap: 2px; min-width: 20px; height: 20px; padding: 0 3px; border: 1px solid var(--btn-edge, #2a2a2a); font-size: 11px; }
.hk-badge .hk-sprite { width: 18px; height: 18px; image-rendering: pixelated; }
.hk-badge .hk-id { font-size: 10px; opacity: .8; }
.hk-badge.hk-warn { border-color: #c0392b; color: #c0392b; }

/* ---- Login de la cabina (solo se ve servido por el relay) ---- */
#login { position: fixed; inset: 0; background: #0b0d10; display: flex; align-items: center; justify-content: center; z-index: 1000; }
#login form { display: flex; flex-direction: column; gap: 12px; width: min(320px, 90vw); }
#login h1 { font-size: 18px; text-align: center; }
#login input { padding: 10px; border: 1px solid #333; background: #14171c; color: #eee; }
#login button { padding: 10px; cursor: pointer; }

/* ---- Pantalla de pago (Task 7): quien no está al corriente no ve la cabina, ve esto — a pantalla
   completa, por encima de todo (z-index por debajo del login, que solo se ve SIN secreto y nunca coincide
   con esta pantalla, que exige haber autenticado ya). Reutiliza las clases del cajón «Suscripción»
   (.sus-*, .drawer-head) tal cual: no están acopladas a `.drawer`, ya funcionan aquí dentro. */
#pantalla-pago { position: fixed; inset: 0; z-index: 900; background: #0b0d10; overflow-y: auto;
  display: flex; flex-direction: column; align-items: center; padding: 32px 16px; }
#pantalla-pago h1 { font-size: 18px; margin: 0 0 4px; color: var(--gold, #d9b94a); }
#pantalla-pago h2 { font-size: 15px; font-weight: 500; margin: 0 0 20px; color: var(--ink-dim, #a3b4c8); text-align: center; }
#pantalla-pago .pago-caja { width: min(380px, 92vw); border: 1px solid var(--line, #273340);
  background: var(--bg-panel, #121826); display: flex; flex-direction: column; max-height: 80vh; }
#pantalla-pago .drawer-x { display: none; }   /* nada que cerrar: esta pantalla no es opcional */
/* I-3b (revisión ronda 1): el overlay de arriba es solo VISUAL (z-index) — la cabecera, la lista de
   personajes y los cajones siguen en el DOM debajo, alcanzables por Tab y clicables si este bloque no
   llegara a aplicarse. `pago.js` pone esta clase en <body> mientras la pantalla de pago está puesta (y la
   quita al volver a 'ok'): con ella, la cabina queda REALMENTE fuera de render, de tab-order y de
   hit-testing, no solo tapada por detrás. */
body.pago-activo #top, body.pago-activo #layout, body.pago-activo .drawer { display: none !important; }

/* Spec 2026-07-21-preset-editing: banner de la pestaña que edita la config guardada de un modo no activo. */
/* Task 8: renombrada de .preset-banner — el nombre de clase acababa en el innerHTML y el texto de cliente
   no debe llevar la palabra «preset» (jerga interna), aunque sea solo en un atributo class. */
.mode-edit-banner { margin: 8px 0 10px; padding: 6px 10px; border-left: 3px solid var(--gold); background: rgba(217, 185, 74, .07); color: var(--ink-dim); font-size: 13px; }

/* Tarjeta del forense (spec 2026-08-11 §5) */
.forense-card { border: 1px solid var(--line); padding: 10px 12px; margin-bottom: 8px; }
/* C3 del review final: el <article> emitía las clases .death/.pvp y el CSS no las definía. Un filo de color
   a la izquierda distingue de un vistazo «me mataron» de «me peleé con un jugador» sin leer el título. */
.forense-card.death { border-left: 3px solid var(--danger-edge); background: rgba(194, 64, 64, .05); }
.forense-card.pvp { border-left: 3px solid var(--gold-edge); background: rgba(217, 185, 74, .05); }
.forense-card h4 { margin: 0 0 6px; font-size: 14px; }
.forense-lab { margin: 8px 0 2px; font-size: 12px; color: var(--ink-dim); }
/* el nombre del monstruo necesita más sitio que el «HP»/«Mana» de las vitales, y sin mayúsculas forzadas */
.forense-barra { grid-template-columns: 110px 1fr 56px; }
.forense-barra .bl { text-transform: none; letter-spacing: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.forense-vida { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; color: var(--hp); }
.forense-vida .fv-lab { font-size: 12px; font-weight: 600; color: var(--ink-dim); min-width: 64px; text-transform: uppercase; letter-spacing: .03em; }
.forense-curva { flex: 1; height: 34px; min-width: 0; background: var(--bg-sunken); border: 1px solid var(--bar-edge); }
.forense-usado { margin-top: 6px; font-size: 12px; color: var(--ink-dim); font-family: var(--font-num); }
.forense-old > summary { cursor: pointer; padding: 4px 0; font-size: 13px; }

/* Cajón «Gente» (spec 2026-08-12): lista compacta, un nombre por línea, color por lista. */
.pl-sec { padding: 8px 12px; border-bottom: 1px solid var(--line); }
.pl-head { margin: 0 0 6px; font-size: 12px; color: var(--ink-dim); text-transform: uppercase; letter-spacing: .04em; display: flex; justify-content: space-between; align-items: baseline; }
.pl-n { font-family: var(--font-num); font-size: 12px; color: var(--ink-faint); }
.pl-nota { margin: 0 0 6px; font-size: 11px; }
.pl-row { display: flex; align-items: center; justify-content: space-between; padding: 2px 0; font-size: 13px; }
.pl-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pl-sec[data-list="safe"] .pl-name { color: var(--ok); }
.pl-sec[data-list="bl"] .pl-name { color: var(--err); }
.pl-sec[data-list="roster"] .pl-name { color: var(--ink-faint); }
.pl-x { background: none; border: 0; color: var(--ink-faint); font-size: 15px; line-height: 1; cursor: pointer; padding: 0 2px; }
.pl-x:hover { color: var(--err); }
/* Importante de la revisión: un <input> sin fondo propio sale con el BLANCO del navegador, y cada input del
   panel lo resuelve a su manera — `.grp input` (línea ~270) y `#login input` lo declaran explícito; el único
   `.tag-input` que queda vivo tras retirar el vigía (el «evitar» del hunt, dentro de `.targets`) lo anula con
   `background: none` y deja ver el de su `.grp`. Este campo vive suelto en el cajón, sin contenedor con
   fondo detrás, así que lleva el suyo con las mismas variables que `.grp input`, ya definidas en :root. */
.pl-add { width: 100%; margin-top: 6px; box-sizing: border-box;
  background: var(--bg-sunken); border: 1px solid var(--input-edge); color: var(--ink);
  padding: 5px 7px; font: 13px var(--font-ui);
  transition: border-color .15s ease, box-shadow .15s ease; }
.pl-add:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 2px var(--gold-dim); }
.pl-vacia, .pl-sin { font-size: 12px; margin: 4px 0; }
/* Aviso de que las dos listas son de la cuenta: fuera de `.pl-sec` (no es de ninguna lista en concreto),
   así que se pone su propio padding en vez de heredar el de la sección. */
.pl-global { margin: 0; padding: 8px 12px 0; font-size: 11px; }
/* Marca del personaje que estás viendo dentro de «Tus personajes». Discreta a propósito: informa de cuál
   eres, no compite con los nombres. Mismo tono apagado que el resto de la sección (.pl-sec[data-list="roster"]). */
.pl-yo { font-size: 10px; text-transform: uppercase; letter-spacing: .04em; color: var(--ink-faint);
  border: 1px solid var(--input-edge); padding: 0 4px; margin-left: 6px; }

/* --- Cajón «Suscripción» (suscripcion.js) --- */
.sus-body { padding: 10px 12px; overflow-y: auto; flex: 1; display: flex; flex-direction: column; gap: 10px; }
.sus-body h4 { margin: 6px 0 2px; }
.sus-estado { margin: 0; }
.sus-aviso { margin: 0; color: var(--warn, #e0a437); }
.sus-tramos { display: flex; gap: 8px; }
.sus-tramo { flex: 1; display: flex; flex-direction: column; gap: 2px; align-items: center; padding: 8px 6px;
  background: var(--bg-elev); border: 1px solid var(--btn-edge, #2a3a52); cursor: pointer; color: inherit; }
.sus-tramo.sel { border-color: var(--gold-edge, #ab8a24); box-shadow: 0 0 0 1px var(--gold, #d9b94a) inset; }
.sus-tramo span { font-size: 11px; opacity: .8; }
.sus-casillas { display: flex; flex-direction: column; gap: 8px; }
.sus-casilla { display: flex; gap: 8px; align-items: flex-start; font-size: 12px; line-height: 1.35; cursor: pointer; }
.sus-casilla input { margin-top: 2px; flex: none; }
.sus-btn { padding: 8px 10px; border: 1px solid var(--gold-edge, #ab8a24); background: var(--gold, #d9b94a);
  color: var(--accent-ink, #12100a); font-weight: 600; cursor: pointer; }
.sus-btn[disabled] { opacity: .45; cursor: not-allowed; }
.sus-dato { display: flex; gap: 8px; align-items: baseline; }
.sus-dato > span { flex: none; width: 92px; opacity: .7; font-size: 12px; }
.sus-dato b { user-select: all; }

/* Abrir la cabina en otro dispositivo (cajón «Suscripción»). El QR va sobre blanco SIEMPRE: los módulos
   claros son "lo que no se pinta", así que sin fondo propio el tema oscuro del panel lo dejaría ilegible. */
.sus-movil { margin-top: 1.1rem; padding-top: .9rem; border-top: 1px solid #333; text-align: center; }
.sus-movil-btn { padding: .55rem 1rem; border: 1px solid #555; background: #1c1c1c;
                 color: #eee; font-size: .95rem; cursor: pointer; }
.sus-movil-btn:hover { background: #262626; }
.sus-qr { display: inline-block; padding: .5rem; background: #fff; line-height: 0; }
.sus-qr svg { width: min(11rem, 60vw); height: auto; }
.sus-pase { display: inline-block; margin: .2rem 0 .4rem; padding: .35rem .6rem; background: #1c1c1c;
  font-family: monospace; font-size: 1.05rem; letter-spacing: .06em; }
