/* ===== css/math.css ===== */
/* ---------- Temml (math notation), self-contained: font embedded, no external requests ---------- */
/*
Temml.woff2 is a clone of KaTeX_Script-Regular, except that the code points
have been changed from ASCII to Unicode Mathematical Alphanumeric Symbols Script capitals,
Unicode range 1D49C to 1D4B5.
*/

@font-face {
  font-family: 'Temml';
  src: url(data:font/woff2;base64,d09GMgABAAAAACS8AA4AAAAAQFQAACRnAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgnAILgmXFxEICthwxX8BNgIkA4EQC0oABCAFhlQHIAyBCh+jNTMDwcYBQMLe3iiCjQOEGjwO+K8PuDEE76D6jHAQlli8ik4tRHgIIzcV0wnC7xzHcbCq6swiTZnK574sIY6Ixf/prXV/hCSzw9Oc/r2T5OJ3cSQQI1gIEUiCBGIGxBGTlrpREdv6R8VmtYnVtv12rJ1080618/LQN0b7O7PtzqsjopFHNquaoVRCEbd2oWMeksqaKjb7W6WWSJbzxbdsR1lrSx7QDvMG/P9r+58VJXiaEy5iM4h9GSzPUEnQzLOipihZ6aqdAW/vbwDZV6rmqwXaA0+h/RSm/3cu2pBqN1XEtnvt4hYk6AwSJwFWiFQkPHiliBXPRef/zWlJV+n6bWnqlJPYrb3jlLMbT+P3XOL8VEsA6TW9BgdugHRaYLUq0erG0wBhBa6pJ/z/m1rS+drrhV5KRZ3fIhx0gHn+WBvNl5yVRt57lpRia7uc4rO3ap3ils4a66gVgLT2lVJQWkEX1mBYqYgEAF46CgwO/P//vab7nP/SrnKUbvpL6ctD0TYVx2yAsnwaMI+tJTaosLU1CRVY+7o5W+K8dKqlBMvD5CggNP4oG2EgeG9cBkFrr68M3tEVGLoWFoGQ5FI8kkK7JstNK2lr2dsuVRcfluUgCNh4X+M1mFJiibYFiIzytdwKE+xWI+grUSOeGIEzwUkdHDWNbh43lPWO6x83MG7muHnjFrTG3O56be6PV3vftnW7a2/++O2zD2LA3SKmJe9ZQMpIDwDmHmTwQul8uSQGBDbDZkZTso7GBejQC73AgH7oByYMwACwYCbMBDbMhXnAsRa0S0Ek8OgwF+DCUTgGPDgJJ0EAZ+AsCOECXAYxXIU7D5HqKjW6oUQy5bS42z6GALTXdOEPn1CoBRSPkyQ9/guxrx9Duf0QKTgk6zmvVeJPwN7/wwWX9oXNnfdAtUAOGw8QEEcODQBIy7oBhpbiuRBo/jBk6YCTxeTVx+jNu1KTCF1Fj/XZCfPuZvNzUiUs9Euy0vo7KY6mJS01e65Ea5U1NWR0mbMknU/0V5qRGe2cXN4B4i4xoFBc6RvegEATgXq/FBhfRDALUCw47xOgNKAwb17Liq2C5qYFwGeckwoKIEtfy1HFH9oZjaptO2h+GfML179K0RLDs97GFznF0r3zUY0BKi8MEGweRjGoLW8CwkgPvFqr/Jo5sOX0qZCgMQYXf1FpE5cQa0lkbh5PO8IxUIfimITz3uCMVusAi87JA2G1bYF61qQoqpbWUlCKRW9DeojVRikbcOvH3TwYBgsH5UmAGq4ZE5VKHhiD5nn0znw678cUFircOKeDWWhgY9qSKj5iwYPIQoL1DkSAVdnAgSDMsjP9RaW9KCpsZpUWGGwSsyQCj9/Ein6P08ljK37sm0FmB17Gx68PjvOzi3dxLirE4VuDs4sBaoATSakI9lCZR2BNAeyYQHxRNaANmg7KmtS1t/R2tOe15WgYzL/FuTTB5AyW8EoddzXjxD1WCDpgYwCBygageto5DxsVfP4mwrGgCYzdZaEboATlN6T+ItY2hS32UFr+uZ1gPNyJ1MBHhXgXGgSoYJciNIzICGKjJBkj2RRSTCXVOBLTLrOhFvCuTQ6/TS5/D52GDbpCTqUrTdKckBlGbgSFUZTGyDAFlalkGifLtKla6CjkMcoyRNFIDBq5hHeFOua+NBqQF+QtG/IhzeSN0Podg7LmqXLOp0+v1kWdwQ75y4rp9iReTkqaOus0R9Kvh27ILA3chyjnHQWAEKDhvBAS/oTuvjzjO7ZT9bp9vqEA6jSTOQfkwBeooRDtka7BSF4AcHFkqgkVFuEpteYDKaJ75GFZc2k+6hXnDhoPxcJgVN0+eL7BDCAhqH8EWTI0XlgVjUldMVM2Ksqq5ROCWqD0RcuY3631Ov6A03ZyP+C8fZACDhZxqiiWeI02zaAcTpSxKA34CTDz0kDYL8ETTu8GZRyqu9wh9SaBZpv2O87AOQX2rejpIbPWZE1albL9Pcz777qEPmjWynRBFnhOI91d+jPSzYo9SCjtw7IdctbtlLpKLgNuQdIUO0SPUek8oYRu1R1BsdiqM++AZ5Dk6TG7Q/HMfR5m4LSzGkax7h2yUCbLTVhcP1NO0XXV7HFnVAZTa7nE6auoLrVVo1sXSvPLu72Yb9VeNaZ7fhswB+O4HRRFkaYuYB6qmKctQNmiofc6okzLehjmTZ2wstxh+dhOVLzlIRz/xSwCU4XEmM+d7Tjv86NPclaXQcY2sPvobZO6fFBbnoVggO4GaCxOD9S6Bct+vO99qBDYOkBhfPID05bAX5BwYmo1LYpqq10QIbklEF5VYICgsanSgKoAopC1huk0cSQb0QCimLXGm+47kY3qAKIaa61tGrkuG/UBRA3W2tg0dVM2mgOIWqy1tSm4LRvtAUQd1nMnKDZ17XpjC3hZ1HSrnJ4dJGyy0rsuWYK+UkJ/KakD0+DKYKeUoVLKcCllpJQy2rEwVixMKxamF8uLcfV5GgoXUFP7eol3nkGUoVl55Ys8CACt4bgLJbTwHrqci13urkELXMBmYL9EtqC+p7cuZBWA6mcG9O3GYJNIRekMRuJpIpY0i0Ps5PKoe+QjXEu19uHLalli4XRBt4C9iN3D45+lNUrj61hjwiZy9vzB9Y+vO0eyGBgDTTAQerdVHMPXwXcZN6deOXxG55dr5zRuZW8E31oKq3tb7UF8v2rcarppqV1GoY3E9OC0m9wrr3BUkGoQIAXhVSH4geCm0ATrb9tO2UYYes6jzWGHUih4aG4RMiW4KRS+L72nWkkFxTJuuFYYxTEC/ogFcdHCSwmE7x8rZn5SzMMEKu9mitiEgvP7SKZKiulAEUqlXE/lDIft4cgfcHOqcvMHYJgWFEvzCeFVW4L/1wkMbVsjMgOe4nJKpb9EJxTE38YoX2Bu2gQQCNb4OSVlJWD3BJ9oTn0fPhZyWU8pVWsUhrsd9puCBoiyRp6kiHg6MoITb4rjH8yfRCw4Sp/gQwTxalThPTeuT7SeSZWeW2doH20+ViyZRyjH1KXZgpux5Ngx7OaB4DOHzjQviDcBbixoFprC2JiMwOynX2PrOu80MTA/nfCQLzwRvtQWdstwPIswelZp3a6fv8Xj1aMsBzoOucdbygT2+9XYBCdGStvsmSID6LS85YqE74oLDgi+IW9pHytPkGbwFwWrzeqVOcFNOXprrITjq2if0o727INIP+ySk4Q1OMJKGGaHt20rWPkLAmzLEIJp0TgazVmAkwsULojw6vgF2B11o3H6kTnmmb7mWUtx8m5RxKIw4dznzEOF8F1A+b+bYsQobURx9a5t0qcyKajmz8nUOagiYXifgvFbZTx0rQjAQ1GeQrajThhmg5cSiZ6i8OYzCsUyTuRjk79aeKzGylSehnEbGhW9tlGrJSMRHSaJ21Ot8vKGGdPlEyejkL1BIcv5gGUB1qpMkT+ssBAFtQophEv+eIK52em0IUlAtevqUXC80ta2lk6pu8XNsLKv83Rbk7B0TWWdwmIXRIIFP+jStheeHKz/ofFUam1xM5AQZ5c/YxnmR5r+6tYKN4XSOGzkdvoEdPQFyCLBfzCE54AYjg8XJuOW4Zxg1Ut7M7JE4aDgM4KteVXRrOiDRUU/3WQ2yqeZwbfUYT7pXI2VDtZHxaOJuuylNLNMS98/8dsCN0eY7+3FI+KShat1U+BtBdwcAZ0FugofcUajDyVykQwP2nWN6xq1vC8KB0PgVNdBVNz55fYxHyfp2l4gucoyxbYZJW+UnZlpxyBGkYIyPRXXuVFlyONMt3mYEA89mcsZdixQUF59plxM+F+e2OZ7R8R0lJbYoUTu5h9pYjhoKZRIoijHloqbth28OtBuyd3lZj3SXmnXnCIPTZ3Y25PqvMjCSKVucJpqNVDEAkuqYjg+Wego4Ws4P5Epbm8E2j9oXBJU0b/l6Cv/6sEmAnl1DxED3UwiWJSx8mZ8Afttw34qceWp6LQ84NGbUmQfxCdBIXufd1rGseo0twXtFJomHyDwEfcDwfdTKCUnxD1u3N3EdzOFMAqjmrAmohLZWCWzXvFUQty4Hin+Ls2aBdBkG7Pka3EpnOANpkTl9r9rHMPuNxME7ndSUJS82DLhcFncY3AjFHBh//mqWY34vCl3eV0rMBrdo2R4mAi3aqGTWPzj148DZcqiTFT6LYBdfPELplOqNmKQgnXbFIbynwqFD0byrj7GvzNbIgvXQKOj6Y0h9QRlTtEw6isx8G81kJ9M9WWVk6AG+B6AEn6ZjrVahbC6O1fbwi+fqCWhAUajyLifLmA5w8kDCqFXXgk/fYIGtVe+YFwG15wnZF2n/OFi1uFIC1ZIrRZQrcZZbBXHfrA60o2+ZjiDNMS/G1+D3JjUu8AcoEz4Q4DhG+lfq2P1ZM5Ta28+ptDtS2Oj/JpGlKWRTqXEwEB85o35Ns7esGXpxFVxUdIXeBz/BQopEOlT11lg4Cp3q9TPZ84IJ2y2bXK/GLg4ZTHuzvOXjMuWB4+K/Xog+/+DMV+GQgjjebnvLxjzqmdmTWb2Y3XCxgZDHdBZGTunVD+qU+iWPVd6F50noxQqSSNZwowSYBiomuCKJI3T4M3/K4TSihRih2zDGIj0plcV5YdJI+TpgDqsFKhqW8fTKdjsUegnKWvBWKd+ML65swfmAdhQEuZEL+XAxZNd7otlYJhnGmri3wh3Ctc1ROPAZndQPGQeDYIytMH+a3QFOhYJzKvgSA4r2rUc/ZkGdiuKJw5/EZ9kxHKPgAbiRO5Lra/v0jNLzVudveI48SOZk30oSGEiQfvO38l4qgqNdb8c8Z16xnDA3Khwj3JcMF0viVY441HHelwT8NesyYudDisyw43qPHErPDbJWje8kzbNJkiZ7XfZSjYpKa4zHO6FvrC2N3ZfrqmU1IYDtW3yh/44HRpu6mib0uLm45O0ILujzo9VbMw/0rurTLIUgKNKeuhZy1BWajsyE3zjBIXs2czQ7+DuKmx8DWyyedVlKRSbrsIkP8YUVhnq/EVRZszz+8MXS4mACH+2jnSGeuqwgiqqau67v2gsbVQhv3s2qMrpU3649s4g03MdHG7e4LkyP8x2oqhfclXOtQ+OMMP6R97dKB+2JabWtuOTGauop+M+RetinTnYaAjIsyU6L9/AfRjAG8BK0q7K3018fyZijAx6BDu2hssFtKW5A5g30x5ICnFzRfZh+7CJpSBScrmeDkuFw1uvAmmhMsC+KeUgsa8YYRUP1z6AanoU0V22ylKBJtIGwOgsuIXPaR2Zym5QUlUAZFhFB6V2dbDzJ3extld2HkabyCNQAS/ZsszuzwkrRuwo5vMLMTeLOqmkKx61h8KSqk0DL/h9KY1PBaqSpMScgVdlhm13GOgonGhcDqqejDUDnNmMZEYsGefF4MmwTyBoj/SHk27+wqF93SKA0TsVo9u9ZtTEcrcilfZmlvnAHQVxl+FpCiLIPbck+HFsXEpExAKSgg+U4UixqEtxrhvtwRccWQ5uLzwZtSd7yF5xUx1zZFdPIhKCRr0Rl87o3kkvOZ7CXwx1/OkCMw/W3gE06eCHI5fuR5UepRew4ldmFrg6tYnDLUkaCMC0o8vNkI2fiXLVG64Io+gGIxdO9OpKAZ3d4EGKG/VqLiDvY4MllSqHlXfWKESlWUNRzi3VbfDSeLZtZWvfeWJELBBVs7qh8IPQtryUOJbRvng9GxydZPrH3MkUAQbLeOfUOCyPiDZY/ET33Bi/ZFQ6ZC/QK0J7c+VxsOJgs/3x2Nb0I92qz4A9tk5JFwvnmnDuaHAnK6HMZho8r7Vg1HSDgOjB1e5bNZnCDdIXMI55F1ck4YUT5yFnyqjAW/YQhL6tHgh6wXZBu05/Vg9Ff+DM+2SaavLYtzLR9+9sKnCQEP73g6ABQbPkJc2ZH0+bx4meRkhsrF89CruPza49Nuy/9dWfJGjhZ/6OCbPU25ORjXCINeNQccTXwk7qTTI5CnpIUkhBeiPDF8VcYBhycl2AbG0xp8Zz2efKSDbBifckn4rhVCGFurvQf0fMwiV1yYK/DmMMie5uEVIZvXkRoVqycJ314NvQwY9FE10rjk9UsUbFfguRe/TdxulTBDISAtgWa71UH9PmF/GdTdy4ggQkSdau+fLCCvpichjtTupb8eBlg0cMkj8qmsMtiXra18xfWnfgmKIjmMVk2868LuV2yicd8vwMFR31pMw/ZLCSixYdbtksKgvlQ5OeX0nzHxEBa1oroAr3vV7IJH6tFETjF4vOYDWSalb6Y9XzV3mH0xYpFj2OoEto6Pbt4yOxQHsks14RHPWI8q0bc4TJJrlsNYJlyipIyb3R4ap9L85xzWpzpFVnV+l8aQuR+w4mAEgoaU728eMBjXuDkMiftgXZX+gr7zRXJOJQCfe1bJoqb36OrVL31+R2N4cH1laNYO968q8DH786/bpfdL2HFFGw7r9avFC/PHVkelyyaus3TrpOJTmYQOS0jPp/O42meMuRKIA3fX+z+9bQmhvud5LXzN+fQTOMl8SzNjerVBJ3wf4aAwxbEVkoi/O+wp2W3vPdn4syFPIvIz3e+vj3XzjKwiJOJ01//QWmcslqZbBi7neo9gUNGmJKwZP3dqEMj2plORNaOFswO4ku1ZI4tjonJb9KNfPooiebW3udBd/yZhnrnG7hMnWk+f85wQaMZbYLGxdeXptVu4OkkZAGppFoSo2r9V2pw+amWel5pbl8ETscDr+/acPAPiZipY67lK/coFQlAezLq7P4amHuCXrApTxq9jwuov27MN+R6JWIOTOdgKWKVzSXVvILguV17TgVImDxec4XpsYFS2I5yy9+zmOGSFLID16aKSM7zk0qHk74Z9Rfnx+8I8XlCNgUSTFUQJpRGouKJV6JOVMEdEQGyeZWBJc89+h2LgIg0As9xD5ruZQN/qHD66Y/St7GNtKp0zzSl6+qUEplfvSrY5OdeuEMkTNivzmtUy5I3n3j0pt1ngrF89JkpSv8WwWgy1wn59puVSNZgXtkhtFeVlXVWaI6oP9inl6kQFu8HU5r+aaqOy1Exv9+KVQbZkqj8f9BnpCzUv/Ood0+6fW9Xl5Tv8QdbRqqd1yAGdJYNj/I2hBQXckLzReRJkcRs0Pj0gcVbBvZjeIEKZQcrw41xsrqZpKfX3L8cPRhd1al3FNvjSJaTItZGRT0DA5ILsQvZIPQPaCFPmuh4kKs6AeduJVrdKvGEAaRK/Cc7Ip42nT/tCdLuvI2P2Y5AuA+CV/ECS6cXSk+zmbu6mahE96qsx4yNS85Nce2+M6nbPbqHvvi5y46wShdJGNueunYu4y2Vo7wvxt+QaiH8Vdx1MRVRmhG/Uwa//NUfUYHzMjEAh3sK0l0S2V/8XcvmNx7hWwmX13KD19S22erCbDrOSG8mABoJmThTrCoWEmSAaINrPrigj99+SalRTeQUd78n0xdbgkVPJWZAmfA5KhUO74pi4198FXCM6O+go2tKS8KXB6KU1tIieOYPfXCgz/GuWYLlXvv2drsXeU2/5DG0UvpTHLy+qp5rDhC+X7nYnXiJ5DcbI51rKl9nyAJgC6hYsjCmV25rXzGpujZmt1f3GGmpzP3V7a/CSWmnFhoAVQc+x1HrJ1Qlss7L9Rf35X8itxam5WndS47lJshmCUmjiOMNyGtq6hQleZWprD1itPNtYbc1d0u5+HZgxF70d8UHyjYKxteWvhJqKUgcGg9FxPXbTtjCwJb+Vhk75zJnQg+W4WUeEuDUzkOXWvpeHljSbWGrqQpbCXXn5AbgY2CE3EYW6S3WRI1fMmPkXx/gcNQae6ounnj1g+e2H3m3TaaTV1njh/9zBJLgAFmtevjWZWN9sqZ95qe//yQ0NLUy07jycg2kr9GCAVKhgpMPsOxOLR547THboqF/rPrOz9deWHPmrdXXF23DyIIHLdTkJOi50wv1Sx5dZWOFS2e+Z6Xc55bnUECIl8TE67bB/MKbTh85J3OQFV+138icjG4ksnhOkler5g2ZXghA0L+bGob6CBrAZzAJl6eeHn+r13dDMGXfwh2vZQrkOWeX/i0HkrED7uag57/Cve5F3JrwGqnZ/VbitVLtldiJGIdC5ockOkIQpWFKKh8z32DtwnGkdoTlDM4gE+VRSP+R7eNssFH2Mf5EuGuL6aqWl8pzsPRqQL/20qvXrkiQ7L7N3uBazeC87aJiCUllCMS4psn3eQehHbpe1Ha6PbK0rolwvKmQZKaZ4bHA1d/4tpdXgenj+czxU8D3rJd7+cU1rXMLTCSt8SyTNb9MzWJ6/7O+wAA2GpdrP1IG5rNhT6VZ8/dz+e2cmK+q1PFPpYLI0psDKnAX3TIaOe6EFR4VitdglGpcJysWLjBKflWWnBfV6rxodlxe0/STd2keWwH0NrGSQ4Vm3OSivwPyZUn0xidxYNFAwlfe6RRVX30vF+b+tHjFQyUZ+rXvLbla1ewYrB6ttNxaYjRTOGzL35ct8DR/Js/6sheDq8yiuRnl5qqjhsGkBCWhbXgmJSySYFDwGuWXDRrQeyj3rl3+hrsjLN0Xwlb1Le+enxN1JZ15zdyLk2Vp/1TNnsBrIOp7TgwNNXffu7MsnqRfTMxYXWWRNPeHeTyh1/Fs3+0jN8AiVFRRsYWj0jLH9326N1LOf44zw12rHffpuWfUOFIVNb0ENJm1iucHlPCZmfh6Jx9OLF3d3nTfi13YKwozk9Pk18a3HWdHS7aUzl6rBJy2a9vAdSyLBRJ3TYQWjwj3ZmxbYSXkckD4daHy++tRRg8IxeQeyiot5nLb4VmttrYn8zztMzOg0f9mUIXiylzzXqjNdErVcq58l2KeetWNEbMlw/xqlx84aja9fh7Y+maXmHHp/OPU2Ta4PUcybnk0FfT+3VNyfPkMhJUibtka9XW1gsxXuanqXJvYKYlGo0aPvVqipAW+BGXeag52AnBtU5wVg1/eF6HQF1ZVAcCl1UHh4Z8rdbKQnemmFdZnfz8Cpi/o6K0ATVfeIp8zdlcMeBN9Eygii0BRcrkw7tMxoNcOlOAX23Z+TwMSBgmqdjAm9bCmBRPH0gSJ8+jsFKLwu3dCW7ig/guHUwZw5FCz743EIhACC1H9S8yTnTUFXWv/3vYg8EbEYL7LQt/Dj6DKOryX3Bd7f57dvepbTmtnH3/7U0yFzLCblv1PpKUufZil6qq/trMMCwwGrbc+LAQPreHQU8aYy5SaQrDnzxR2p4c/iYvWduwJjigPmEnCSKOHtSGqlI5C1OyKxAEA27Pzge9Ay5XQL4UwWmIDRjgBxPDEVPdgn3vD9zdJiflZOEilT8sUmGeXI3x6Kmz+z/MXXpgSLlTyGgv4P58Qk0vsIffn1RSUmLFrq2PU6TGJGfbxHBPbR1rET8AJ8JBgkLvji2YcfJ4wpr+Rm9wpyQyl+HXVfTUzQnvK82foeOc6zu9uzQRmykKrKLBG2/9+dwqEkUm30PuJHV7cBhFRB9ZWEvoicBWo8s0yAgUEECCwHGYPsjvKmuIzun3qv5YzNHc2J6Nwrq6HbMR6MI9FIdJqlx42i9C2ZMXsNmHiue0Tf6+vqZG2Z/riZzM8fXbmMmpaYyz7vkf7TC5xe0ULkFOwrRkUpy0+HuNa9PgvZ/wPHVucucnK8YSE/0HWULTR0P0q+2PfYdgS6lI52skMMwttWk9rJn2B6Ni3nOuqprwVGtDT4V9/qGkVlnIDo5gdZJMyUsuyije4PPY2/8vmtFrKe93lysZD6ar4JYl3Rsh+vFQkLmUIoZ8S8zeemtk+okyTsqtLj5S/bn2lXefTksZV41v1f2QF1m+ODXHZx5b6QnlhKgjpHpXTJxqe02V/qik6//vrw7a7XoA/vCzbndXGs73kDDCtDE/CTkKXnZzWb4ahVDPd/GspohSlueUUfTZvZNzP9imVIXs/vbmBdx4Pr8wWGCVbZ+RGh0x+TYnPVawicIf9VH5d56UprsPZf8PwF9t+Xk0wD4HqaeyONN6hUOjnn86fD2AMwtzqCM7UZY644UZqlpJGOY5KX01BgJgiHWR8ob222Jm/sO3PcwNXzh2Ts0iz1Jy88nECWvDaL2vVzmFCUz+Jc7PHkwMb+aNSBr3HxCwrNu3u3DMTu/m33ft0TlVLpN3apbWGb+y6yDU2lgXJDBe3f3z89ghMo1LdafvuGpOK0Z++JyxZZ8iKOqvnrJPZteF7Ikn5lQxPhEVRRDw30/uqp9b0o6H5Z0rUj0D9rZrrNtfw5E2osyZJtqYln3Hy1rYzPmJy+k+nydxOogc18lMOJUKwGap9um4NMdQIQobIUWz8pcsZihCfWzEGFl2QEhw+FezM+/z15uj23VSiLhMwXHqNP6IvchWHGKfFVjlIoIUEeFnzgwqD6tt/vISpoTu0HqMl+nVGk8WG4dvF9aUiMmS6Y+sPm2LnsmnjSAEDc3d+9LMR0pjf33KAtiOm+lT1TYOWUCZfb+1sszLwLT5xLEjX7pytI6E4Sdl26JwT76d+x3UmMLSfrBMwy0k5VIMpbLkMgQzbGt27FzMD6uJgrUsjNiSdfGdTn9DoP8fA0HI3LurCj4WNr9Bi20Aj930OSx+YyQ8bzURWo5i0RIKNm3q9H5nh8Z1dKfTa2tJfPjhyuPSOIx+UGPbLRpm2b9BMwUy3a6MthzRnivQFw+Y6bnCo2fKmzzeSwTOwtFZoqwqmVM7WxL4prihL9S0oabVHeggCRqTir6o9WnH1F05oTxnbG4PD3q73tsVPSoubMr2PGFwuTJv4XAcRm1APqHLcSVyAy+Evt/1/njDcJz4nhBSsDnEhaOhx308feR3Kjxv09XPmtuvAKjn4+m2ODv/UzU/e+ReRk02y9jLJfmfgv9M2xF0ryWuGyVle0XJJ45DTU2qVXLJrYVdPda0V/MWSVs6ncOlcnvg0PqakaSW0QUs/oNUMs6hFGGOqRfzg97Kjukgg6pFOEwYJQm1eu85exvmpUeqUf7nztSqoQlDCEMBzGf4Gp8Je0u+sBKRmyb1IwS5Ul5ZUak58G5I7CN/FCffyi0RqjLoPE4efQznTM40k0JHarT9vLFiSSrJpSEUGSGXm8Ivm9vLNcNaQ49ludZ6GmVq9OxR49PDpkqmFRHCMPkMoC0lOZp9rG1R07FRaLfIC+byRNyG0Y77E/a7nI5V0AepgtGtR+YM7ctYb7wnlKRxjW09LWuP/kL59IfvdLYsDF2Po9tv1Cd5Jywzlpn8h+cGkwiNPaoKQXXzWU3nDRh4eBtCpXlFeUxrI2PGuluIFr6NwxuRwjeykq6ZCoPO5s1vSEsbiJ9CzAP9BZWns5MbZdwNL2mdOvdlIU0MwLMw9lVVtpCN0u1mr/+rinLI0JR9V/XJ4Kxb5uoOduAEB81bJk8qPcggTy6bU+rbuGDuIb7mh0GCt/neeNvizJ8IRHU1hcvjgkGIB8GFr+TugQhLac/axfXv3Hdx9bk1ufVkgQJw4/M34pSl35VzViR+/q2D/geRDE/1NUDnOfva8ubxLkzVjNhAysZlZ7kuUo6iydKpE6PPvbpotogQXWMSCsl4k7Ai9DDHZUao6hLW0sLrTcfzWRAYg9EPTA187v76l+4/xDFrdIs8Wa+jj5B7ASDvXrMosWDhuTDDqX/5FXjJpKX8fR50Z4FDx85ny2XNnNLz/oaRX/55f9Wefy4cx8erdM/t//+j+jzegiAcvKQNv60U1NVuBrvCd2vvRpX+op8adDGwjyNWLsiZNa8X1O5PTV4nyWwl2YedkfY/10oPPU0ulFnN0lJBEbslJwVyRhtmTdWQm0lyBUl8oiV/U5fTGLODJL7RkFKmGGLODJo8ozteUZSFolKep3QLuiNYjmIzQdDTtphOMwYBKq2tfRd0ASD25QUwtndvQhTMuzdKdwFmTkm9gEJYtl/A8ma5/PqwtcUiDsNGzDamV7ce00llaZdNSk/rgyJ5r6QOlVJOnabRyyFjUd6gU7bvpDpr+qbHpkHnvl6nAMwywDNbOYPNa9WBYNDs1hI/qUdRKmKYxyUDhvWLjHYbN9CCMbFJDmYoT3LBTY6YVyxRNcf00oZ5DzS0902uRktUaf+FVcPaxOUmPbVE0sAid+PXSocxal1Cp6ZCXvqjp1fUpbFmGm3yjDa9pktcu/VieiI5rWe6+Gek72UGbRZIzeQR9JA+W9lJKoc5KztJzY6trhPvrKsZWaUGsjbKjPcgZ9vKIcNSmjennR9oukyZLk2pvWexM8fixGs1UJEj5+XYjoa58EUaf3LIkdgrlu+1mThP97bMOyuHI+qNLJ1zb36fSIFzMQphWjFPq25dqLN/Qeci7q7x4VJ6Ww/ch66tq6kArN8K+CNuuLtClL9iKjkvbr7FQgG+WcyDR6krHiKLKJKmBh4vgazJCTlvKMGqtRHr9xqwDk3l/Mf5Rk377W8imdzqdvWDgwJmzv3ycPn1uu5GnPWxjpU=) format('woff2');
  font-weight: normal;
  font-style: normal;
}

math {
  font-family: "Cambria Math", 'STIXTwoMath-Regular', 'NotoSansMath-Regular', math;
  font-style: normal;
  font-weight: normal;
  line-height: normal;
  font-size-adjust: none;
  text-indent: 0;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  direction: ltr;
  /* Prevent Firefox from omitting the dot on i or j. */
  font-feature-settings: "dtls" off;
}

math * {
  border-color: currentColor;
}

/* display: block is necessary in Firefox and Safari.
 * Not in Chromium, which recognizes display: "block math" written inline. */
 math.tml-display {
  display: block;
  width: 100%;
}

*.mathcal {
  /* NotoSans */
  font-feature-settings: 'ss01';
}

math .mathscr {
  font-family: "Temml";
}

mo.tml-prime {
  font-family: Temml;
}

/* Cramped superscripts in WebKit */
mfrac > :nth-child(2),
msqrt,
mover > :first-child {
  math-shift: compact
}

.menclose {
  display: inline-block;
  position: relative;
  padding: 0.5ex 0ex;
}
.tml-cancelto {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.5ex 0ex;
  background-color: currentColor;
  /* Use the SVG as an alpha mask (painted by background-color) */
  -webkit-mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><marker id='a' markerHeight='5' markerUnits='strokeWidth' markerWidth='7' orient='auto' refX='7' refY='2.5'><path fill='black' d='m0 0 7 2.5L0 5z'/></marker></defs><line x2='100%25' y1='100%25' stroke='black' stroke-width='.06em' marker-end='url(%23a)' vector-effect='non-scaling-stroke'/></svg>");
          mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><marker id='a' markerHeight='5' markerUnits='strokeWidth' markerWidth='7' orient='auto' refX='7' refY='2.5'><path fill='black' d='m0 0 7 2.5L0 5z'/></marker></defs><line x2='100%25' y1='100%25' stroke='black' stroke-width='.06em' marker-end='url(%23a)' vector-effect='non-scaling-stroke'/></svg>");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  -webkit-mask-position: 0 0;
          mask-position: 0 0;
}

@supports (-moz-appearance: none) {
  /* \vec w/o italic correction for Firefox */
  .tml-vec {
    transform: scale(0.75)
  }
  /* Fix \cancelto in Firefox */
  .ff-narrow {
    width: 0em;
  }
  .ff-nudge-left {
    margin-left: -0.2em;
  }
  /* Squash hidden mrows in \bordermatrix. Messes with centering, but necessary to squash. */
  .ff-squash mtd {
    display: block;
    height: 0;
  }
}

@supports (not (-moz-appearance: none)) {
  /* Chromium and WebKit */
  /* prime vertical alignment */
  mo.tml-prime {
    font-family: Temml;
  }
  /* Italic correction on superscripts */
  .tml-sml-pad {
    padding-left: 0.05em;
  }
  .tml-med-pad {
    padding-left: 0.10em;
  }
  .tml-lrg-pad {
    padding-left: 0.15em;
  }
}

@supports (-webkit-backdrop-filter: blur(1px)) {
  /* WebKit vertical & italic correction on accents */
  .wbk-acc {
    /* lower by x-height distance */
    transform: translate(0em, 0.431em);
  }
  .wbk-sml {
    transform: translate(0.07em, 0);
  }
  .wbk-sml-acc {
    transform: translate(0.07em, 0.431em);
  }
  .wbk-sml-vec {
    transform: scale(0.75) translate(0.07em, 0);
  }
  .wbk-med {
    transform: translate(0.14em, 0);
  }
  .wbk-med-acc {
    transform: translate(0.14em, 0.431em);
  }
  .wbk-med-vec {
    transform: scale(0.75) translate(0.14em, 0);
  }
  .wbk-lrg {
    transform: translate(0.21em, 0);
  }
  .wbk-lrg-acc {
    transform: translate(0.21em, 0.431em);
  }
  .wbk-lrg-vec {
    transform: scale(0.75) translate(0.21em, 0);
  }
}

/* \cancel & \phase use background images. Get them to print. */
menclose {
  -webkit-print-color-adjust: exact;  /* Chrome & Edge */
          print-color-adjust: exact;
}

/* Array cell justification in Firefox & WebKit */
.tml-right {
  text-align: right;
}
.tml-left {
  text-align: left;
}

/* For CD labels that grow to the left in Firefox and WebKit */
.tml-shift-left { margin-left:-200% }

/* Styles for Chromium only */
@supports (not (-webkit-backdrop-filter: blur(1px))) and (not (-moz-appearance: none)) {
  /* Italic correction on accents */
  .chr-sml {
    transform: translate(0.07em, 0)
  }
  .chr-sml-vec {
    transform: scale(0.75) translate(0.07em, 0)
  }
  .chr-med {
    transform: translate(0.14em, 0)
  }
  .chr-med-vec {
    transform: scale(0.75) translate(0.14em, 0)
  }
  .chr-lrg {
    transform: translate(0.21em, 0)
  }
  .chr-lrg-vec {
    transform: scale(0.75) translate(0.21em, 0)
  }

  /* For CD labels that grow to the left */
  .tml-shift-left { margin-left:-100% }

  /* MathML Core & Chromium do not support the MathML 3.0 element <menclose> attributes. */
  /* So use styles. */
  menclose {
    position: relative;
    padding: 0.5ex 0ex;
  }
  
    .tml-overline {
    padding: 0.1em 0 0 0;
    border-top: 0.065em solid;
  }

  .tml-underline {
    padding: 0 0 0.1em 0;
    border-bottom: 0.065em solid;
  }

  .tml-cancel {
    display: inline-block;
    position: absolute;
    left: 0.5px;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: currentColor;
  }
  .upstrike {
    clip-path: polygon(0.05em 100%, 0em calc(100% - 0.05em), calc(100% - 0.05em) 0em, 100% 0.05em);
  }
  .downstrike {
    clip-path: polygon(0em 0.05em, 0.05em 0em, 100% calc(100% - 0.05em), calc(100% - 0.05em) 100%);
  }
  .sout {
    clip-path: polygon(0em calc(55% + 0.0333em), 0em calc(55% - 0.0333em), 100% calc(55% - 0.0333em), 100% calc(55% + 0.0333em));
  }
  .tml-xcancel {
    clip-path: polygon(0.05em 0em, 0em 0.05em, calc(50% - 0.05em) 50%, 0em calc(100% - 0.05em), 0.05em 100%, 50% calc(50% + 0.05em), calc(100% - 0.05em) 100%, 100% calc(100% - 0.05em), calc(50% + 0.05em) 50%, 100% 0.05em, calc(100% - 0.05em) 0%, 50% calc(50% - 0.05em));
  }

  .longdiv-top {
    border-top: 0.067em solid;
    padding: 0.1em 0.2em 0.2em 0.433em;
  }
  .longdiv-arc {
    position: absolute;
    top: 0;
    bottom: 0.1em;
    left: -0.4em;
    width: 0.7em;
    border: 0.067em solid;
    transform: translateY(-0.067em);
    border-radius: 70%;
    clip-path: inset(0 0 0 0.4em);
    box-sizing: border-box;}
    .menclose {display: inline-block;
    text-align: left;
    position: relative;
  }
  
  .phasor-bottom {
    border-bottom: 0.067em solid;
    padding: 0.2em 0.2em 0.1em 0.6em;
  }
  .phasor-angle {
    display: inline-block;
    position: absolute;
    left: 0.5px;
    bottom: -0.04em;
    height: 100%;
    aspect-ratio: 0.5;
    background-color: currentColor;
    clip-path: polygon(0.05em 100%, 0em calc(100% - 0.05em), calc(100% - 0.05em) 0em, 100% 0.05em);
  }

  .tml-fbox {
    padding: 3pt;
    border: 1px solid;
  }

  .circle-pad {
    padding: 0.267em;
  }
  .textcircle {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    border: 0.067em solid;
    border-radius: 50%;
   }

   .actuarial {
    padding: 0.03889em 0.03889em 0 0.03889em;
    border-width: 0.08em 0.08em 0em 0em;
    border-style: solid;
    margin-right: 0.03889em;
   }

   /* Stretch \widetilde */
  .tml-tilde-2 {
    transform: scale(2.0, 1.1)
  }
  .tml-tilde-3 {
    transform: scale(3.0, 1.1)
  }
  .tml-tilde-4 {
    transform: scale(4.0, 1.1)
  }
  /* Stretch \widehat */
  .tml-hat-1 {
    transform: scale(1.9, 1.0)
  }
  .tml-hat-2 {
    transform: scale(3.9, 1.0)
  }
  .tml-hat-3 {
    transform: scale(5.8, 1.0)
  }
  .tml-hat-4 {
    transform: scale(7.8, 1.0)
  }
  
  /* set array cell justification */
  .tml-right {
    text-align: -webkit-right;
  }
  .tml-left {
    text-align: -webkit-left;
  }
}

.special-fraction {
  font-family: 'STIX TWO', 'Times New Roman', Times, Tinos, serif;
}

/* flex-wrap for line-breaking in Chromium */
math {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
}
math > mrow {
  padding: 0.5ex 0ex;
}

/* Default mtd top padding is 0.5ex per MathML-Core and user-agent CSS */
/* We adjust for jot and small */
mtable.tml-jot > mtr > mtd {
  padding-top: 0.7ex;
  padding-bottom: 0.7ex;
}
mtable.tml-small mtd {
  padding-top: 0.35ex;
  padding-bottom: 0.35ex;
}

/* Firefox */
@-moz-document url-prefix() {
  /* Avoid flex-wrap */
  math { display: inline; }
  math > mrow { padding: 0 }
  /* Adjust Firefox spacing between array rows */
  mtd, mtable.tml-small mtd { padding-top: 0; padding-bottom: 0; }
  mtable.tml-jot > mtr > mtd { padding-top: 0.2ex; padding-bottom: 0.2ex; }
}

/* AMS environment auto-numbering via CSS counter. */
.tml-eqn::before {
  counter-increment: tmlEqnNo;
  content: "(" counter(tmlEqnNo) ")";
}

body {
  counter-reset: tmlEqnNo;
}
/* ===== css/base.css ===== */
:root{
  --font-display:'Space Grotesk','Helvetica Neue',Arial,sans-serif;
  --font-mono:'IBM Plex Mono','SFMono-Regular',Consolas,monospace;
  --font-read:'Atkinson Hyperlegible','Segoe UI',Verdana,'Helvetica Neue',Arial,sans-serif;
  --canvas:#FBFAF7;
  --chrome:#FFFFFF;
  --chrome-2:#F4F6F8;
  --line:#D5DBE1;
  --text:#18222B;
  --muted:#5D6B78;
  --accent:#0F6E8C;
  --accent-ink:#FFFFFF;
  --danger:#B23B4A;
  --ok:#2F9470;
  --grid-dot:rgba(30,50,70,.16);
  --fill-s:70%; --fill-l:94%;
  --border-s:55%; --border-l:44%;
  --ink-l:20%; --ink-s:45%;
  --shadow:rgba(20,34,46,.14);
  --postit:#FFF4C2; --postit-line:#C9A227; --postit-ink:#7A5E10;
}
body[data-canvas="dark"]{
  --chrome:#101C28;
  --chrome-2:#16273A;
  --line:#2A4157;
  --text:#E6E3DC;
  --muted:#9AA7B3;
  --accent:#4FC3E8;
  --accent-ink:#06202B;
  --danger:#F08597;
  --ok:#4FC9A8;
  --grid-dot:rgba(140,200,235,.18);
  --fill-s:42%; --fill-l:19%;
  --border-s:55%; --border-l:60%;
  --ink-l:92%;
  --shadow:rgba(0,0,0,.5);
  --postit:#33290F; --postit-line:#D9B54F; --postit-ink:#E7C766;
}
*{box-sizing:border-box;}
/* Keep the OS's own arrow pointer everywhere in the app — no grab hand, text
   beam, or pointer-finger cursor anywhere, on request. */
*,*::before,*::after{cursor:default!important;}
html,body{height:100%;}
body{margin:0;background:var(--canvas);color:var(--text);font-family:var(--font-display);display:flex;flex-direction:column;overflow:hidden;}
button,input,textarea{font:inherit;color:inherit;}
button{-webkit-tap-highlight-color:transparent;cursor:pointer;}
button:focus-visible,textarea:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;}

.bar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--chrome);border-bottom:1px solid var(--line);position:relative;z-index:10;}
.mapbtn{display:flex;align-items:center;gap:9px;max-width:380px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:var(--chrome-2);font-weight:600;font-size:14px;}
.mapbtn span.t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mapbtn span.c{flex:none;font-size:11px;color:var(--accent-ink);background:var(--accent);padding:3px 7px;border-radius:5px;}
.bar-actions{display:flex;align-items:center;gap:6px;margin-left:auto;overflow-x:auto;scrollbar-width:none;}
.bar-actions::-webkit-scrollbar{display:none;}
.tb{flex:none;font-family:var(--font-mono);font-size:12px;padding:7px 11px;border-radius:7px;border:1px solid var(--line);background:var(--chrome);white-space:nowrap;}
.tb:hover{background:var(--chrome-2);}
.tb[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);}
.tb:disabled{opacity:.4;cursor:default;}
.tb.ai{border-color:var(--accent);color:var(--accent);}
#pageView .tb{font-size:13px;padding:9px 15px;font-weight:600;border-width:1.5px;}
#pageView .tb.ai{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:0 1px 3px hsl(196 70% 40% / 30%);}
#pageView .tb.ai:hover{background:hsl(196 75% 38%);border-color:hsl(196 75% 38%);}
#pageView #cadernoBtn{font-weight:600;}
#pageView .bar-actions{gap:9px;}
#pomoBtn{font-variant-numeric:tabular-nums;min-width:112px;}
#pomoBtn.brk[aria-pressed="true"]{background:var(--ok);border-color:var(--ok);color:#fff;}
.zoomg{flex:none;display:flex;align-items:center;border:1px solid var(--line);border-radius:7px;overflow:hidden;font-family:var(--font-mono);font-size:12px;}
.zoomg button{width:30px;height:30px;border:none;background:var(--chrome);font-size:15px;}
.zoomg button:hover{background:var(--chrome-2);}
.zoomg span{min-width:46px;text-align:center;color:var(--muted);}
.status{flex:none;display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;color:var(--muted);padding:0 4px;white-space:nowrap;}
.status i{width:7px;height:7px;border-radius:50%;background:var(--ok);display:block;}
.status.saving i{background:var(--postit-line);}

.stage{flex:1;display:flex;min-height:0;position:relative;}
#viewport{position:relative;flex:1;min-width:0;overflow:hidden;cursor:grab;touch-action:none;background-color:var(--canvas);}
#viewport.panning{cursor:grabbing;}
#world{position:absolute;top:0;left:0;width:0;height:0;transform-origin:0 0;}
#world.panzoom-live{will-change:transform;backface-visibility:hidden;}
#connectors{position:absolute;top:0;left:0;width:1px;height:1px;overflow:visible;pointer-events:none;}
.conn{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke:hsl(var(--hue) var(--border-s) var(--border-l));}
.axis-line{stroke-width:3;opacity:.65;}
.axis-dot{stroke:none;fill:hsl(var(--hue) var(--border-s) var(--border-l));}

.hue-a{--hue:28;}.hue-b{--hue:162;}.hue-c{--hue:348;}.hue-d{--hue:262;}.hue-e{--hue:206;}.hue-root{--hue:196;}

.node{position:absolute;top:0;left:0;display:flex;align-items:center;gap:6px;width:max-content;max-width:272px;min-width:56px;padding:10px 15px;border-radius:12px;font-family:var(--font-read);font-size:15px;line-height:1.42;letter-spacing:.005em;cursor:text;transition:opacity .16s ease;
  background:hsl(var(--hue) var(--fill-s) var(--fill-l));border:1.5px solid hsl(var(--hue) var(--border-s) var(--border-l));
  color:hsl(var(--hue) var(--ink-s) var(--ink-l));box-shadow:0 1px 2px var(--shadow);}
.node.flag::before{content:'⚑';flex:none;width:19px;height:19px;border-radius:50%;background:#E5484D;color:#fff;font-size:11px;line-height:19px;text-align:center;font-weight:400;}
.ico{flex:none;font-size:1.15em;line-height:1;letter-spacing:1px;text-transform:none;font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;}
.ico:empty{display:none;}
.node.root{font-weight:700;font-size:20px;padding:14px 20px;border-width:2.5px;max-width:290px;text-align:center;border-radius:14px;}
.node.lvl1{font-weight:700;font-size:15.5px;}
.node.dim{opacity:.22;}
.conn{transition:opacity .16s ease;}
.conn.dim{opacity:.13;}
.node-text{flex:1 1 auto;outline:none;word-break:break-word;white-space:normal;min-width:20px;}
.node-text:empty:before{content:'(sem título)';opacity:.5;font-style:italic;}
.node.selected{outline:2px solid hsl(199 88% 72%);outline-offset:3px;}
.node.tap1{outline:2px dashed hsl(var(--hue) var(--border-s) var(--border-l));outline-offset:4px;}
@media (hover:none) and (pointer:coarse){ .node{cursor:default;} }
.node.busy{animation:busy 1.1s ease-in-out infinite;}
@keyframes busy{50%{opacity:.45;}}
.tog{position:absolute;right:-19px;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;padding:0;display:none;align-items:center;justify-content:center;
  border:1.7px solid hsl(var(--hue) var(--border-s) var(--border-l));background:var(--canvas);color:hsl(var(--hue) var(--border-s) var(--border-l));font-family:var(--font-mono);font-size:0;font-weight:600;line-height:1;z-index:3;opacity:0;transition:opacity .12s ease;}
.tog::before{content:'';position:absolute;right:100%;top:50%;width:7px;height:1.7px;margin-top:-.85px;margin-right:1.7px;background:hsl(var(--hue) var(--border-s) var(--border-l));}
.tog::after{content:'';position:absolute;inset:-9px;}
.node.selected .tog,.tog:focus-visible{opacity:1;}
@media (hover:hover){ .node:hover .tog{opacity:1;} }
.tog:hover{width:17px;height:17px;right:-21.5px;font-size:12px;}
.tog:hover::before{width:4.5px;}
.tog.closed{opacity:1;width:19px;height:19px;right:-26px;font-size:10px;color:var(--text);}
.tog.closed:hover{width:19px;height:19px;right:-26px;font-size:10px;background:hsl(var(--hue) var(--fill-s) var(--fill-l));}
.tog.closed::before,.tog.closed:hover::before{width:7px;}
.node.left .tog{right:auto;left:-19px;}
.node.left .tog:hover{right:auto;left:-21.5px;}
.node.left .tog.closed,.node.left .tog.closed:hover{right:auto;left:-26px;}
.node.left .tog::before{right:auto;left:100%;margin-right:0;margin-left:1.7px;}
.node.root .tog{display:none !important;}
@media (prefers-reduced-motion: reduce){.tog{transition:none;}}
.acts{position:absolute;top:-14px;left:8px;display:none;gap:3px;z-index:4;}
.node.selected .acts{display:flex;}
@media (hover:hover){ .node:hover .acts{display:flex;} }
.acts button{width:22px;height:22px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:13px;line-height:1;border:1px solid var(--line);background:var(--chrome);color:var(--text);box-shadow:0 1px 2px var(--shadow);}
.acts button:hover{background:var(--chrome-2);}
.acts .ai{color:var(--accent);width:auto;padding:0 7px;border-radius:11px;font-size:10px;font-weight:500;}
.acts .del{color:var(--danger);}
.mark{position:absolute;bottom:-10px;right:12px;height:17px;padding:0 7px;border-radius:9px;border:none;background:hsl(var(--hue) var(--border-s) var(--border-l));color:var(--canvas);font-weight:500;font-size:10px;line-height:17px;white-space:nowrap;font-family:var(--font-mono);display:none;z-index:3;}
.node.hasnote .mark{display:block;}
.aib{position:absolute;top:-8px;right:10px;padding:0 5px;height:14px;border-radius:7px;background:var(--accent);color:var(--accent-ink);font-family:var(--font-mono);font-size:9px;line-height:14px;display:none;pointer-events:none;}
.node.isai .aib{display:block;}
.node.selected .aib{display:none;}
@media (hover:hover){ .node:hover .aib{display:none;} }

.postit{position:absolute;top:0;left:0;width:240px;z-index:5;background:var(--postit);border:1.5px dashed var(--postit-line);border-radius:6px;box-shadow:0 2px 6px var(--shadow);}
.postit-h{display:flex;align-items:center;justify-content:space-between;padding:4px 9px;cursor:grab;font-family:var(--font-mono);font-size:10px;color:var(--postit-ink);border-bottom:1px dashed var(--postit-line);user-select:none;touch-action:none;}
.postit-h button{border:none;background:transparent;color:var(--danger);font-size:15px;line-height:1;padding:0 2px;}
.postit textarea{font-family:var(--font-read);display:block;width:100%;border:none;resize:none;background:transparent;font-size:13.5px;line-height:1.45;padding:9px;outline:none;overflow:hidden;min-height:70px;}

.hint{position:absolute;left:14px;bottom:12px;max-width:calc(100% - 28px);font-family:var(--font-mono);font-size:11px;color:var(--muted);background:var(--chrome);border:1px solid var(--line);padding:5px 10px;border-radius:6px;pointer-events:none;}

#panel{width:330px;flex:none;border-left:1px solid var(--line);background:var(--chrome);display:flex;flex-direction:column;overflow-y:auto;z-index:8;}
#panel[hidden]{display:none;}
.psec{padding:16px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:9px;}
.postit-card{background:var(--postit);border:1.5px dashed var(--postit-line);border-radius:8px;padding:2px;}
.postit-card textarea{width:100%;min-height:150px;border:none;background:transparent;resize:vertical;padding:11px 12px;font-family:var(--font-read);font-size:14.5px;line-height:1.5;color:#4A3B0A;}
body[data-canvas="dark"] .postit-card textarea{color:#F3E2A8;}
.postit-card textarea::placeholder{color:var(--postit-ink);opacity:.75;}
.postit-card textarea:focus{outline:none;}
.psec h2{margin:0;font-size:13px;font-weight:600;}
.psec .sub{font-size:13px;color:var(--muted);line-height:1.4;word-break:break-word;}
.psec .sel{font-size:14px;font-weight:600;line-height:1.35;word-break:break-word;}
.psec textarea,.psec input[type=text]{width:100%;border:1px solid var(--line);border-radius:7px;background:var(--chrome-2);padding:9px 10px;font-size:13.5px;line-height:1.45;}
.psec textarea{min-height:130px;resize:vertical;}
.prow{display:flex;gap:6px;flex-wrap:wrap;}
.pb{font-family:var(--font-mono);font-size:12px;padding:8px 12px;border-radius:7px;border:1px solid var(--line);background:var(--chrome);}
.pb:hover{background:var(--chrome-2);}
.pb.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);}
.pb:disabled{opacity:.45;cursor:default;}
.small{font-size:11.5px;color:var(--muted);line-height:1.4;}

.menu{position:absolute;top:52px;z-index:20;min-width:260px;max-width:min(380px,92vw);max-height:70vh;overflow-y:auto;background:var(--chrome);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px var(--shadow);padding:6px;}
.menu[hidden]{display:none;}
.menu .mi{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:none;background:transparent;padding:9px 10px;border-radius:7px;font-size:13.5px;}
.menu .mi:hover{background:var(--chrome-2);}
.menu .mi.cur{font-weight:600;}
.menu .mi.cur:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none;}
.menu .mi.danger{color:var(--danger);}
.menu hr{border:none;border-top:1px solid var(--line);margin:6px 4px;}
.menu .lab{font-family:var(--font-mono);font-size:11px;color:var(--muted);padding:6px 10px 2px;}
.swatches{display:flex;gap:8px;padding:8px 10px;flex-wrap:wrap;align-items:center;}
.sw{width:30px;height:30px;border-radius:50%;border:2px solid var(--line);padding:0;}
.sw[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent);}
.swatches input[type=color]{width:34px;height:34px;border:none;padding:0;background:none;cursor:pointer;}

.overlay{position:fixed;inset:0;background:rgba(12,20,28,.55);display:flex;align-items:center;justify-content:center;z-index:40;padding:18px;}
.modal{background:var(--chrome);color:var(--text);border:1px solid var(--line);border-radius:12px;width:min(520px,100%);max-height:86vh;overflow-y:auto;padding:22px;display:flex;flex-direction:column;gap:12px;}
.modal h2{margin:0;font-size:17px;}
.modal p{margin:0;font-size:13.5px;line-height:1.5;color:var(--muted);}
.modal .acts-row{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:4px;}
.modal textarea{width:100%;min-height:240px;font-family:var(--font-mono);font-size:12px;border:1px solid var(--line);border-radius:7px;background:var(--chrome-2);padding:10px;}
.modal.wide{width:min(680px,100%);}
label.fld,.fld{display:flex;flex-direction:column;gap:6px;}
.fld.inline{flex-direction:row;align-items:center;gap:8px;}
.fld-lab{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.cselwrap{position:relative;}
.csel{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;text-align:left;border:1.5px solid var(--line);border-radius:10px;background:var(--chrome);padding:10px 13px;font-family:var(--font-display);}
.fld.inline .csel{width:auto;min-width:190px;}
.csel:hover{border-color:hsl(196 55% 60%);background:var(--chrome-2);}
.csel[aria-expanded="true"]{border-color:var(--accent);box-shadow:0 0 0 3px hsl(196 70% 45% / 16%);}
.csel-main{display:flex;flex-direction:column;gap:1px;min-width:0;}
.csel-val{font-size:14.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.005em;}
.csel-sub{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.csel-sub[hidden]{display:none;}
.csel-car{flex:none;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);margin-top:-4px;transition:transform .12s ease;}
.csel[aria-expanded="true"] .csel-car{transform:rotate(225deg);margin-top:3px;}
.cmenu{position:fixed;z-index:60;max-width:min(360px,80vw);background:var(--chrome);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px var(--shadow);padding:6px;max-height:280px;overflow-y:auto;}
.cmenu[hidden]{display:none;}
.ci{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:9px 12px;border-radius:8px;border:none;background:transparent;font-family:var(--font-display);}
.ci:hover{background:var(--chrome-2);}
.ci-t{font-size:14px;font-weight:600;color:var(--text);}
.ci-d{font-family:var(--font-mono);font-size:11px;color:var(--muted);line-height:1.4;}
.ci.cur{background:hsl(196 70% 45% / 11%);}
.ci.cur .ci-t{color:var(--accent);}
@media (prefers-reduced-motion: reduce){.csel-car{transition:none;}}
.modal .big{min-height:190px;font-family:var(--font-display);font-size:13.5px;line-height:1.45;resize:vertical;}
.modal .choice{display:flex;flex-direction:column;gap:6px;}
.modal .choice label{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;line-height:1.35;padding:8px 10px;border:1px solid var(--line);border-radius:8px;cursor:pointer;}
.modal .choice label.off{opacity:.5;cursor:default;}
.modal .choice input{margin-top:2px;accent-color:var(--accent);}
.modal select{border:1px solid var(--line);border-radius:7px;background:var(--chrome-2);padding:7px 9px;font-size:13px;}
.lib-new{display:flex;flex-wrap:wrap;gap:6px;}
.lib-list{display:flex;flex-direction:column;gap:6px;}
.lib-row{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--chrome);}
.lib-row.cur{border-color:var(--accent);box-shadow:0 0 0 1.5px var(--accent);}
.lib-main{flex:1;min-width:0;text-align:left;border:none;background:transparent;padding:0;}
.lib-t{font-size:14.5px;font-weight:600;line-height:1.3;word-break:break-word;}
.lib-s{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-top:2px;}
#pageView{position:fixed;inset:0;z-index:25;display:flex;flex-direction:column;background:#E9E4D8;}
#pageView[hidden]{display:none;}
body[data-canvas="dark"] #pageView{background:#1A1F26;}
#pageScroll{flex:1;overflow-y:auto;padding:26px 14px 60px;}
.sheet{--hand:'Caveat',cursive;--ink:#22306b;--pen:#b3261e;--rule:32px;position:relative;max-width:860px;min-height:1100px;margin:0 auto;padding:calc(var(--rule)*2) 46px calc(var(--rule)*2) 96px;background-color:#FFFEF8;color:var(--ink);
  font-family:var(--hand);font-size:24px;line-height:var(--rule);border-radius:4px;box-shadow:0 1px 0 #d8d2c2,0 14px 40px rgba(0,0,0,.22);}
.sheet.font-cursiva{font-size:17.5px;} .sheet.font-forma{font-size:21px;}
.sheet.paper-pautado{background-image:linear-gradient(90deg,transparent 74px,#E9A0A0 74px,#E9A0A0 76px,transparent 76px),repeating-linear-gradient(transparent 0,transparent calc(var(--rule) - 2px),#C9D8EE calc(var(--rule) - 1.3px),#C9D8EE calc(var(--rule) - .5px),transparent var(--rule));background-position:0 0,0 calc(var(--ruley,24px) - var(--rule));}
.sheet.paper-quadriculado{background-image:linear-gradient(90deg,transparent 74px,#E9A0A0 74px,#E9A0A0 76px,transparent 76px),linear-gradient(#DCE6F2 1px,transparent 1px),linear-gradient(90deg,#DCE6F2 1px,transparent 1px);background-size:auto,16px 16px,16px 16px;}
.sheet.paper-liso{background-image:linear-gradient(90deg,transparent 74px,#E9A0A0 74px,#E9A0A0 76px,transparent 76px);}
.sheet::before{content:'';position:absolute;left:26px;top:0;bottom:0;width:20px;background:radial-gradient(circle at 10px 10px,#E9E4D8 0 8px,transparent 8.5px) 0 60px/20px 160px repeat-y;}
.sheet-date{position:absolute;right:46px;top:calc(var(--rule) - 4px);font-size:.8em;color:#6b7aa8;}
.blk{position:relative;margin:0;}
.blk + .blk{margin-top:0;}
.blk-body{margin:0;font:inherit;}
.blk-titulo .blk-body{font-size:1.6em;line-height:calc(var(--rule)*2);color:var(--pen);text-align:center;font-weight:700;text-decoration:underline wavy rgba(179,38,30,.55);text-underline-offset:8px;text-decoration-thickness:1.5px;}
.blk-subtitulo{margin-top:var(--rule)!important;}
.blk-subtitulo .blk-body{font-size:1.22em;color:#15224f;font-weight:700;text-decoration:underline;text-decoration-color:rgba(34,48,107,.55);text-underline-offset:5px;}
.blk-texto .blk-body,.blk-lista .blk-body{text-wrap:pretty;}
.blk ul{margin:0;padding-left:1.3em;list-style:none;}
.blk li{position:relative;}
.blk li::before{content:'→';position:absolute;left:-1.25em;color:var(--pen);}
.sheet mark.hl{background:linear-gradient(104deg,rgba(255,226,90,0) .9%,rgba(255,226,90,.85) 2.4%,rgba(255,226,90,.6) 5.8%,rgba(255,226,90,.75) 93%,rgba(255,226,90,0) 98%);color:inherit;padding:0 4px;border-radius:3px;}
.sheet b.pen{font-weight:700;color:#15224f;text-decoration:underline;text-decoration-color:var(--pen);text-underline-offset:4px;}
.blk-destaque{margin:calc(var(--rule)/2) 0!important;}
.blk-destaque .blk-body{border:2px solid var(--pen);border-radius:255px 18px 225px 16px/16px 225px 18px 255px;padding:calc(var(--rule)/2 - 2px) 18px;background:rgba(255,255,255,.55);}
.blk-tag{display:inline-block;color:var(--pen);font-weight:700;margin-right:8px;transform:rotate(-2deg);}
.blk-lembrete{margin:calc(var(--rule)/2) 0!important;}
.blk-lembrete .blk-body{display:inline-block;max-width:78%;background:#FFF2A8;padding:calc(var(--rule)/2 - 4px) 16px;transform:rotate(-1.2deg);box-shadow:2px 3px 6px rgba(0,0,0,.18);color:#4A3B0A;}
.blk-formula .blk-body{text-align:center;padding:calc(var(--rule)/2) 0;}
.blk-math{font-size:1.05em;} .blk-cap{font-size:.85em;color:#55639a;text-align:center;}
.esq-title{color:var(--pen);font-weight:700;font-size:1em;}
.blk-esquema{margin:calc(var(--rule)/2) 0!important;}
.esq-svg{display:block;height:auto;overflow:visible;}
.blk-tools{position:absolute;left:-108px;top:0;width:100px;display:flex;flex-direction:column;gap:4px;opacity:.9;}
@media (hover:hover){ .blk-tools{opacity:0;} .blk:hover .blk-tools,.blk:focus-within .blk-tools{opacity:1;} }
.blk-tools button{display:flex;align-items:center;gap:4px;height:26px;padding:0 8px;border-radius:7px;border:1.5px solid #b7c3e0;background:#fff;color:#22306b;font-size:11.5px;font-weight:600;line-height:1;font-family:var(--font-mono);box-shadow:0 1px 2px rgba(0,0,0,.12);white-space:nowrap;}
.blk-tools button:hover{background:#eef2fc;border-color:#22306b;}
.blk-editwrap{display:flex;flex-direction:column;gap:8px;}
.blk-fmt{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 10px;border:1px solid #d8d2c2;border-radius:8px;background:rgba(255,255,255,.7);font-family:var(--font-mono);}
.blk-fmt-g{display:flex;align-items:center;gap:6px;}
.blk-fmt-lab{font-size:10.5px;color:#6b7aa8;}
.swatch{width:22px;height:22px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1.5px #b7c3e0;background:var(--sw);padding:0;}
.swatch:hover{box-shadow:0 0 0 2px #22306b;}
.swatch.pen{border-radius:6px;}
.blk-fmt-arrow{width:30px;height:26px;border-radius:6px;border:1.5px solid #b7c3e0;background:#fff;color:#22306b;font-size:15px;line-height:1;margin-left:auto;}
.blk-fmt-arrow:hover{background:#eef2fc;border-color:#22306b;}
.blk-edit{width:100%;font:inherit;color:inherit;line-height:var(--rule);background:rgba(255,255,255,.85);border:1.5px dashed #9fb2d6;border-radius:6px;padding:0 8px;resize:vertical;}
.blk-add-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--rule);}
.blk-add{border:1.5px dashed #b7c3e0;border-radius:8px;background:transparent;color:#55639a;font:inherit;font-size:.78em;padding:6px 12px;}
.blk-add:hover{color:var(--ink);border-color:var(--ink);background:rgba(255,255,255,.5);}
.blk-tarefas{display:flex;flex-direction:column;gap:6px;}
.tarefa{display:flex;align-items:flex-start;gap:10px;cursor:pointer;}
.tarefa-box{flex:none;width:22px;height:22px;margin-top:2px;border:2.2px solid var(--ink);border-radius:4px;transform:rotate(-1deg);position:relative;}
.tarefa.feito .tarefa-box{background:var(--ink);}
.tarefa.feito .tarefa-box::after{content:'';position:absolute;left:4px;top:2px;width:8px;height:13px;border:solid #FFFEF8;border-width:0 2.5px 2.5px 0;transform:rotate(38deg);}
.tarefa.feito .tarefa-txt{text-decoration:line-through;text-decoration-color:var(--pen);opacity:.65;}
.tarefa-box:focus-visible{outline:2px solid var(--pen);outline-offset:2px;}
.sheet mark.hl-verde{background:linear-gradient(104deg,rgba(120,220,150,0) .9%,rgba(120,220,150,.85) 2.4%,rgba(120,220,150,.55) 5.8%,rgba(120,220,150,.7) 93%,rgba(120,220,150,0) 98%);}
.sheet mark.hl-rosa{background:linear-gradient(104deg,rgba(246,168,196,0) .9%,rgba(246,168,196,.9) 2.4%,rgba(246,168,196,.6) 5.8%,rgba(246,168,196,.75) 93%,rgba(246,168,196,0) 98%);}
.sheet mark.hl-azul{background:linear-gradient(104deg,rgba(140,190,245,0) .9%,rgba(140,190,245,.9) 2.4%,rgba(140,190,245,.6) 5.8%,rgba(140,190,245,.75) 93%,rgba(140,190,245,0) 98%);}
.sheet b.pen-azul{color:#15224f;text-decoration-color:#15224f;}
.sheet b.pen-verde{color:#1e6b3a;text-decoration-color:#1e6b3a;}
.sheet b.pen-roxo{color:#6a2e8f;text-decoration-color:#6a2e8f;}
.sheet .postit{position:absolute;}
@media (max-width:700px){.blk-tools{position:static;flex-direction:row;opacity:1;width:auto;margin-top:6px;}.blk-fmt{gap:8px;}}
.kind-badge{align-self:flex-start;font-family:var(--font-mono);font-size:10.5px;padding:2px 7px;border-radius:5px;border:1px solid var(--line);color:var(--muted);}
.kind-badge.page{border-color:#b3261e;color:#b3261e;}
@media (max-width:700px){.sheet{padding-left:58px;padding-right:18px;font-size:21px;}.sheet.font-cursiva{font-size:15.5px;}.sheet::before{left:8px;}.sheet.paper-pautado{background-position:-30px 0,0 calc(var(--ruley,24px) - var(--rule));}.blk-tools{left:-50px;flex-direction:column;}.sheet-date{right:18px;}}
#home{position:fixed;inset:0;z-index:30;overflow-y:auto;background:var(--chrome-2);}
#home[hidden]{display:none;}
.home-wrap{max-width:1120px;margin:0 auto;padding:34px 24px 60px;display:flex;flex-direction:column;gap:16px;}
.home-top{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;}
.home-tt{flex:1;min-width:220px;}
.home-tt h1{margin:0;font-size:30px;font-weight:700;letter-spacing:-.01em;}
.home-tt p{margin:4px 0 0;font-size:14px;color:var(--muted);}
.nb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:18px 16px;}
.nb-card{display:flex;flex-direction:column;gap:8px;--nbh:206;}
.nb-cover{position:relative;height:200px;border:none;border-radius:6px 14px 14px 6px;padding:18px 16px 16px 34px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;text-align:left;color:#fff;
  background:linear-gradient(90deg,hsl(var(--nbh) 55% 30%) 0 18px,hsl(var(--nbh) 58% 42%) 18px 100%);box-shadow:0 2px 0 hsl(var(--nbh) 40% 25%),4px 6px 14px var(--shadow);transition:transform .12s ease;}
.nb-cover:hover{transform:translateY(-3px);}
.nb-rings{position:absolute;left:5px;top:14px;bottom:14px;display:flex;flex-direction:column;justify-content:space-between;}
.nb-rings i{display:block;width:9px;height:9px;border-radius:50%;background:var(--chrome-2);box-shadow:inset 0 1px 2px rgba(0,0,0,.4);}
.nb-label{display:block;background:#fff;color:#1B2530;border-radius:6px;padding:9px 10px;font-size:14.5px;font-weight:600;line-height:1.25;width:100%;word-break:break-word;box-shadow:0 1px 2px rgba(0,0,0,.2);
  background-image:repeating-linear-gradient(transparent 0 21px,rgba(30,60,90,.12) 21px 22px);}
.nb-count{font-family:var(--font-mono);font-size:11.5px;opacity:.92;}
.nb-name{border:1px solid transparent;border-radius:7px;background:transparent;padding:5px 7px;font-size:14px;font-weight:600;text-align:center;width:100%;}
.nb-name:hover{border-color:var(--line);}
.nb-name:focus{border-color:var(--accent);background:var(--chrome);}
.nb-card.none .nb-cover{background:var(--chrome);color:var(--text);border:1.5px dashed var(--line);box-shadow:none;padding-left:16px;justify-content:center;gap:8px;}
.nb-card.none .nb-label{background:transparent;box-shadow:none;padding:0;color:var(--text);}
.nb-card.add .nb-cover{background:transparent;color:var(--accent);border:1.5px dashed var(--accent);box-shadow:none;padding-left:16px;align-items:center;justify-content:center;gap:6px;}
.nb-card.add .nb-label{background:transparent;box-shadow:none;padding:0;color:var(--accent);text-align:center;}
.nb-plus{font-size:40px;line-height:1;font-weight:300;}
.home-back{border:none;background:transparent;color:var(--accent);font-size:14px;padding:0 0 8px;font-weight:500;}
.nb-head{display:flex;align-items:center;gap:12px;--nbh:206;}
.nb-spine{width:14px;height:44px;border-radius:4px;background:hsl(var(--nbh) 58% 42%);flex:none;}
.nb-title{flex:1;min-width:0;border:1px solid transparent;border-radius:9px;background:transparent;font-size:28px;font-weight:700;padding:4px 8px;letter-spacing:-.01em;}
.nb-title:hover{border-color:var(--line);}
.nb-title:focus{border-color:var(--accent);background:var(--chrome);}
.nb-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px;}
.nb-color{width:22px;height:22px;border-radius:50%;border:2px solid var(--chrome);background:hsl(var(--nbh) 58% 42%);padding:0;box-shadow:0 0 0 1px var(--line);}
.nb-color[aria-pressed="true"]{box-shadow:0 0 0 2px var(--accent);}
.nb-tools .pbt{margin-left:8px;}
.nb-tag{align-self:flex-start;font-size:11px;font-weight:600;padding:3px 8px;border-radius:5px;color:#fff;background:hsl(var(--nbh) 58% 42%);}
.nb-opt{display:flex;align-items:center;gap:10px;text-align:left;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--chrome);font-size:14.5px;}
.nb-opt::before{content:'';width:12px;height:22px;border-radius:3px;background:hsl(var(--nbh) 58% 42%);flex:none;}
.nb-opt.none::before{background:transparent;border:1.5px dashed var(--line);}
.nb-opt:hover{background:var(--chrome-2);border-color:var(--accent);}
@media (prefers-reduced-motion: reduce){.nb-cover{transition:none;}.nb-cover:hover{transform:none;}}
.nb-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;}
.pull-list{display:flex;flex-direction:column;gap:6px;max-height:52vh;overflow-y:auto;}
.pull-item{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--chrome);cursor:pointer;}
.pull-item:hover{background:var(--chrome-2);}
.pull-item input{width:18px;height:18px;accent-color:var(--accent);flex:none;}
.pull-main{min-width:0;}
.prompt-ex{display:flex;flex-wrap:wrap;gap:6px;}
.exchip{font-size:12.5px;line-height:1.25;padding:6px 10px;border-radius:16px;border:1px solid var(--line);background:var(--chrome-2);color:var(--muted);text-align:left;}
.exchip:hover{border-color:var(--accent);color:var(--text);}
/* ---- criar (página inicial) e assistente "Novo mapa" ---- */
.cmp{display:flex;flex-direction:column;gap:20px;padding:28px clamp(18px,3vw,32px) 22px;border-radius:20px;background:var(--chrome);border:1px solid var(--line);box-shadow:0 1px 2px var(--shadow),0 18px 40px -22px var(--shadow);}
.cmp.busy{opacity:.85;}
#home .cmp-head h2{margin:0;font-size:22px;font-weight:700;letter-spacing:-.01em;}
.cmp-head p{margin:5px 0 0;max-width:62ch;font-family:var(--font-read);font-size:15px;line-height:1.5;color:var(--muted);}
.cmp-sec{display:flex;flex-direction:column;gap:9px;}
.cmp-lab{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);}
.cmp textarea,.wiz-area .big{width:100%;resize:vertical;border:1.5px solid var(--line);border-radius:14px;background:var(--chrome-2);padding:14px 16px;font-family:var(--font-read);font-size:16px;line-height:1.5;}
.cmp textarea{min-height:108px;}
.cmp textarea:focus,.wiz-area .big:focus,.wz-name .txt:focus{outline:none;border-color:var(--accent);background:var(--chrome);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent);}
.cmp-ideas{display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.cmp-ideas .small{margin-right:2px;}
.cmp-chip{padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:transparent;font-family:var(--font-display);font-size:13px;line-height:1.2;color:var(--muted);}
.cmp-chip:hover{border-color:var(--accent);background:var(--chrome-2);color:var(--text);}
.fmt{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.fmt-b{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 10px;border-radius:12px;border:1.5px solid var(--line);background:var(--chrome);font-family:var(--font-display);font-size:14.5px;font-weight:600;color:var(--text);}
.fmt-b svg,.alt-b svg,.ghost svg{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.fmt-b svg{color:var(--muted);}
.fmt-b:hover{border-color:var(--accent);}
.fmt-b[aria-pressed="true"]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--chrome));box-shadow:0 0 0 1px var(--accent);}
.fmt-b[aria-pressed="true"] svg{color:var(--accent);}
.fmt-desc{margin:0;font-family:var(--font-read);font-size:14px;line-height:1.5;color:var(--muted);}
.cmp-opts{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 26px;}
.msg{display:inline-flex;gap:2px;padding:3px;border:1.5px solid var(--line);border-radius:11px;background:var(--chrome-2);}
.msg button{padding:8px 13px;border:none;border-radius:8px;background:transparent;font-family:var(--font-display);font-size:13.5px;font-weight:600;color:var(--muted);white-space:nowrap;}
.msg button small{margin-left:5px;font-size:11.5px;font-weight:400;opacity:.85;}
.msg button:hover{color:var(--text);}
.msg button[aria-pressed="true"]{background:var(--chrome);color:var(--text);box-shadow:0 1px 3px var(--shadow);}
.cmp .csel{padding:9px 13px;border-radius:11px;min-width:172px;}
.cmp .csel-val{font-size:14px;}
.ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:11px;border:1.5px solid var(--line);background:var(--chrome);font-family:var(--font-display);font-size:13.5px;font-weight:600;color:var(--text);}
.ghost:hover,.ghost.on{border-color:var(--accent);color:var(--accent);}
.go{padding:12px 24px;border:none;border-radius:12px;background:var(--accent);font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--accent-ink);}
.go:hover{filter:brightness(1.09);}
.go:disabled{opacity:.45;cursor:default;filter:none;}
.cmp-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-top:18px;border-top:1px solid var(--line);}
.cmp-info{flex:1 1 240px;font-family:var(--font-read);font-size:13.5px;line-height:1.45;color:var(--muted);}
.alt{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;}
.alt-lab{margin-right:4px;font-family:var(--font-read);font-size:14px;color:var(--muted);}
.alt-b{display:inline-flex;align-items:center;gap:8px;padding:9px 15px 9px 12px;border-radius:999px;border:1px solid var(--line);background:var(--chrome);font-family:var(--font-display);font-size:13.5px;font-weight:600;color:var(--text);}
.alt-b svg{width:18px;height:18px;color:var(--accent);}
.alt-b:hover{border-color:var(--accent);box-shadow:0 1px 4px var(--shadow);}
.wz-methods{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.wz-m{display:grid;grid-template-columns:24px 1fr;column-gap:12px;row-gap:2px;align-items:start;padding:13px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--chrome);text-align:left;}
.wz-m svg{grid-row:1 / span 2;width:22px;height:22px;margin-top:1px;fill:none;stroke:var(--muted);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.wz-m strong{font-family:var(--font-display);font-size:14.5px;font-weight:600;color:var(--text);}
.wz-m span{font-family:var(--font-read);font-size:12.5px;line-height:1.4;color:var(--muted);}
.wz-m:hover{border-color:var(--accent);}
.wz-m[aria-pressed="true"]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--chrome));box-shadow:0 0 0 1px var(--accent);}
.wz-m[aria-pressed="true"] svg{stroke:var(--accent);}
.wz-name .fld-lab small{font-weight:400;text-transform:none;letter-spacing:0;}
.modal .wz-name .txt{padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;font-family:var(--font-read);}
.wiz-area .big{min-height:0;font-size:15.5px;}
.modal .acts-row .go,.modal .acts-row .ghost{padding:11px 20px;}
#home h2{margin:14px 0 0;font-size:15px;font-weight:600;}
.new-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--chrome);box-shadow:0 1px 2px var(--shadow);}
.new-card:hover{border-color:var(--accent);box-shadow:0 0 0 1.5px var(--accent),0 4px 14px var(--shadow);}
.new-card svg{width:28px;height:28px;fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;color:var(--accent);}
.new-card strong{font-size:15px;font-weight:600;}
.new-card span{font-size:13px;line-height:1.4;color:var(--muted);}
.new-card.hl{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);}
.new-card.hl span{color:var(--accent-ink);opacity:.85;}
.new-card.hl svg{color:var(--accent-ink);stroke:var(--accent-ink);}
.home-sh{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px;}
.home-sh h2{margin:0!important;flex:1;}
.home-h-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.home-h-row .home-h{margin:0!important;flex:1;}
.txt{border:1px solid var(--line);border-radius:8px;background:var(--chrome);padding:9px 11px;font-size:14px;min-width:220px;}
.modal .txt{width:100%;background:var(--chrome-2);font-size:15px;padding:10px 12px;}
.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px;}
.map-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:var(--chrome);box-shadow:0 1px 2px var(--shadow);overflow:hidden;}
.map-card.cur{border-color:var(--accent);box-shadow:0 0 0 1.5px var(--accent);}
.map-open{flex:1;display:flex;flex-direction:column;gap:10px;text-align:left;padding:16px 16px 12px;border:none;background:transparent;}
.map-open:hover{background:var(--chrome-2);}
.map-t{font-size:16.5px;font-weight:600;line-height:1.3;word-break:break-word;}
.map-chips{display:flex;flex-wrap:wrap;gap:5px;}
.chip{font-size:11.5px;line-height:1.2;padding:4px 8px;border-radius:7px;background:hsl(var(--hue) var(--fill-s) var(--fill-l));border:1px solid hsl(var(--hue) var(--border-s) var(--border-l) / 55%);color:hsl(var(--hue) var(--ink-s) var(--ink-l));max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.chip.more{--hue:210;background:var(--chrome-2);border-color:var(--line);color:var(--muted);}
.map-meta{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-top:auto;}
.map-acts{display:flex;gap:6px;flex-wrap:wrap;padding:10px 12px;border-top:1px solid var(--line);background:var(--chrome-2);}
.home-empty{color:var(--muted);font-size:14px;}
.seg{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px;}
.segb{padding:10px 8px;border:1px solid var(--line);border-radius:9px;background:var(--chrome);font-size:13px;line-height:1.25;}
.segb:hover{background:var(--chrome-2);}
.segb[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600;}
.wiz-area{display:flex;flex-direction:column;gap:10px;}
.wiz-area textarea{width:100%;}
/* ---- caderno: barra, menu Ferramentas e menu do botão direito ---- */
#pageView .tb{font-family:var(--font-display);border-radius:10px;}
#pageView .tb .caret{display:inline-block;width:7px;height:7px;margin:-3px 0 0 9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);vertical-align:middle;}
#pageView .tb[aria-expanded="true"]{background:var(--chrome-2);border-color:var(--accent);}
#pageView .tb[aria-expanded="true"] .caret{transform:rotate(225deg);margin-top:2px;}
.pgmenu{top:58px;right:16px;width:min(360px,calc(100% - 24px));max-height:calc(var(--app-h,100vh) - 76px);z-index:30;}
.ctxm{position:fixed;z-index:70;top:0;left:0;right:auto;width:300px;max-width:calc(100vw - 16px);max-height:min(600px,calc(var(--app-h,100vh) - 16px));overflow-y:auto;}
.menu .mi.rich{align-items:flex-start;gap:12px;padding:9px 12px;}
.menu .mi.rich:disabled{opacity:.45;cursor:default;}
.menu .mi.rich:disabled:hover{background:transparent;}
.mi-i{flex:none;width:22px;height:22px;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.mi-i svg{width:20px;height:20px;fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.menu .mi.danger .mi-i svg{stroke:var(--danger);}
.mi-x{display:flex;flex-direction:column;gap:1px;min-width:0;}
.mi-x b{font-family:var(--font-display);font-size:14px;font-weight:600;line-height:1.3;}
.mi-x small{font-family:var(--font-read);font-size:12.5px;line-height:1.35;color:var(--muted);}
.mi-tip{margin:6px 4px 2px;padding:10px 12px;border-radius:9px;background:var(--chrome-2);font-family:var(--font-read);font-size:12.5px;line-height:1.45;color:var(--muted);}
.blk-tools{width:104px;}
.blk-tools .t-ai{border-color:#0F6E8C;color:#0F6E8C;}
.blk-tools .t-del{color:#b23b4a;}
.blk-erro{padding:8px 12px;border:1px dashed #c2410c;border-radius:8px;background:#fff7ed;color:#7c2d12;font-family:var(--font-display);font-size:14px;line-height:1.4;}
.blk-hint{margin-top:calc(var(--rule) / 2);font-family:var(--font-display);font-size:12.5px;line-height:1.4;color:#6b7aa8;}
.blk-add.t-ai{border-color:#0F6E8C;color:#0F6E8C;}
@media (max-width:700px){.blk-tools{flex-wrap:wrap;width:auto;}}
/* ---- área de loading da IA ---- */
.ail{position:fixed;inset:0;z-index:65;display:flex;align-items:center;justify-content:center;padding:20px;background:color-mix(in srgb,var(--chrome) 90%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:ailIn .22s ease;}
.ail[hidden]{display:none;}
@keyframes ailIn{from{opacity:0;}to{opacity:1;}}
.ail-card{display:flex;flex-direction:column;align-items:center;gap:18px;width:min(520px,100%);padding:8px;text-align:center;}
.ail-art{width:min(320px,80%);}
.ail-art svg{display:block;width:100%;height:auto;overflow:visible;}
.ail-art .p{fill:none;stroke:var(--accent);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:ailDraw 4.2s ease-in-out infinite;animation-delay:calc(var(--d,0) * 1s);}
.ail-art .n{fill:color-mix(in srgb,var(--accent) 16%,var(--chrome));stroke:var(--accent);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center;animation:ailPop 4.2s ease-in-out infinite;animation-delay:calc(var(--d,0) * 1s + .25s);}
@keyframes ailDraw{0%{stroke-dashoffset:1;opacity:1;}40%,86%{stroke-dashoffset:0;opacity:1;}100%{stroke-dashoffset:0;opacity:0;}}
@keyframes ailPop{0%,6%{opacity:0;transform:scale(.6);}26%,86%{opacity:1;transform:scale(1);}100%{opacity:0;transform:scale(1);}}
.ail-spin{display:none;flex:none;width:22px;height:22px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:qlspin .9s linear infinite;}
.ail-main{display:flex;flex-direction:column;gap:8px;width:100%;}
.ail-title{font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:-.01em;line-height:1.2;text-wrap:balance;}
.ail-steps{align-self:center;margin:4px 0;}
.ail-steps[hidden]{display:none;}
.ail-sub{font-family:var(--font-read);font-size:14px;line-height:1.45;color:var(--muted);}
.ail-bar{position:relative;width:100%;height:5px;margin:2px 0;border-radius:3px;background:var(--chrome-2);overflow:hidden;}
.ail-bar i{position:absolute;top:0;bottom:0;width:38%;border-radius:3px;background:var(--accent);animation:ailBar 1.5s ease-in-out infinite;}
@keyframes ailBar{0%{left:-40%;}100%{left:102%;}}
.ail-meta{font-family:var(--font-mono);font-size:12px;color:var(--muted);}
.ail-tip{min-height:2.9em;font-family:var(--font-read);font-size:13px;line-height:1.45;color:var(--muted);}
.ail.compact{inset:auto;left:50%;bottom:78px;width:min(460px,calc(100% - 24px));padding:0;transform:translateX(-50%);background:transparent;pointer-events:none;animation:none;}
.ail.compact{-webkit-backdrop-filter:none;backdrop-filter:none;}
.ail.compact .ail-card{flex-direction:row;align-items:center;gap:12px;width:100%;padding:10px 12px 10px 14px;border-radius:14px;text-align:left;pointer-events:auto;background:var(--chrome);border:1px solid var(--line);box-shadow:0 12px 30px -10px rgba(0,0,0,.4);}
.ail.compact .ail-art,.ail.compact .ail-bar,.ail.compact .ail-tip,.ail.compact .ail-sub,.ail.compact .ail-steps{display:none;}
.ail.compact .ail-spin{display:block;}
.ail.compact .ail-main{flex:1;min-width:0;gap:1px;}
.ail.compact .ail-title{font-size:14px;letter-spacing:0;}
.ail-cancel[hidden]{display:none;}
@media (prefers-reduced-motion: reduce){.ail-art .p,.ail-art .n,.ail-bar i,.ail-spin{animation:none;}.ail-art .p{stroke-dashoffset:0;}.ail-art .n{opacity:1;}.ail-bar i{left:31%;}}
/* ---- desenhos do caderno (SVG vetorial: nítido em qualquer zoom e leve) ---- */
/* ---- barra do mapa no mesmo modelo da barra do caderno ---- */
.bar .tb{font-family:var(--font-display);font-size:13px;font-weight:600;padding:9px 15px;border-radius:10px;border-width:1.5px;}
.bar .tb.ai{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:0 1px 3px hsl(196 70% 40% / 30%);}
.bar .tb.ai:hover{background:hsl(196 75% 38%);border-color:hsl(196 75% 38%);}
.bar .tb .caret{display:inline-block;width:7px;height:7px;margin:-3px 0 0 9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);vertical-align:middle;}
.bar .tb[aria-expanded="true"]{background:var(--chrome-2);border-color:var(--accent);}
.bar .tb[aria-expanded="true"] .caret{transform:rotate(225deg);margin-top:2px;}
.bar .tb:disabled{border-color:var(--line);}
.bar .zoomg{border-radius:10px;border-width:1.5px;}
.menu .mi[aria-pressed="true"]{background:color-mix(in srgb,var(--accent) 13%,transparent);}
.menu #pomoBtn.brk[aria-pressed="true"]{background:color-mix(in srgb,var(--ok) 20%,transparent);}
.blk-mapa,.blk-desenho,.blk-animacao{margin:calc(var(--rule) / 2) 0!important;}
/* ---- desenhos profissionais (SVG vetorial) ---- */
.sk-host,.mm-host{background:#fff;border:1px solid #d5dbe1;border-radius:14px;padding:14px;overflow-x:auto;box-shadow:0 1px 2px rgba(20,34,46,.06),0 14px 30px -20px rgba(20,34,46,.4);}
.sk-svg{display:block;width:100%;height:auto;max-height:560px;}
.sk-svg text,.mm-svg .mm-t{font-family:var(--font-display);}
.mm-svg{min-width:560px;}
.mm-svg .mm-t.mm-hand{font-family:var(--hand);}
.sk-anim{animation:skIn .8s cubic-bezier(.2,.7,.2,1) both;}
@keyframes skIn{from{opacity:0;transform:translateY(10px) scale(.985);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion: reduce){.sk-anim{animation:none;}}
.sk-cap{margin-top:8px;font-family:var(--font-display);font-size:14px;line-height:1.4;color:#475569;text-align:center;}
.blk-desenho .esq-title,.blk-mapa .esq-title,.blk-esquema .esq-title{margin-bottom:6px;font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0F6E8C;text-align:left;}
.esq-host{background:#fff;border:1px solid #d5dbe1;border-radius:14px;padding:8px;box-shadow:0 1px 2px rgba(20,34,46,.06);}
.esq-txt{font-family:var(--font-display);font-size:14.5px;font-weight:600;fill:#14324a;}
.esq-lab{font-family:var(--font-display);font-size:12px;font-weight:600;fill:#c2410c;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;}
/* ---- letras formatadas e papel pontilhado ---- */
.sheet.font-limpa{--rule:29px;font-family:'Atkinson Hyperlegible','Segoe UI',Verdana,Arial,sans-serif;font-size:17px;line-height:var(--rule);}
.sheet.font-serifa{font-size:18px;}
.sheet.font-limpa,.sheet.font-serifa{--ink:#1f2937;--pen:#0F6E8C;}
.sheet.font-limpa .blk-titulo .blk-body,.sheet.font-serifa .blk-titulo .blk-body{text-align:left;font-size:1.7em;font-weight:700;letter-spacing:-.01em;color:#0f2a3d;text-decoration:none;border-bottom:3px solid #0F6E8C;padding-bottom:2px;}
.sheet.font-limpa .blk-subtitulo .blk-body,.sheet.font-serifa .blk-subtitulo .blk-body{font-size:1.15em;font-weight:700;color:#0f2a3d;text-decoration:none;border-left:4px solid #0F6E8C;padding-left:12px;}
.sheet.font-limpa .blk li::before,.sheet.font-serifa .blk li::before{content:'•';color:#0F6E8C;font-weight:700;}
.sheet.font-limpa .blk-destaque .blk-body,.sheet.font-serifa .blk-destaque .blk-body{border:1.5px solid #0F6E8C;border-radius:12px;background:#eaf5f9;padding:calc(var(--rule) / 2 - 2px) 16px;}
.sheet.font-limpa .blk-tag,.sheet.font-serifa .blk-tag{transform:none;text-transform:uppercase;font-size:.7em;letter-spacing:.08em;color:#0F6E8C;}
.sheet.font-limpa .blk-lembrete .blk-body,.sheet.font-serifa .blk-lembrete .blk-body{transform:none;max-width:100%;background:#fff7d6;border-left:4px solid #e9b949;border-radius:8px;box-shadow:none;color:#4a3b0a;}
.sheet.font-limpa b.pen,.sheet.font-serifa b.pen{color:#0b4f66;text-decoration:none;font-weight:700;}
.sheet.font-limpa .tarefa-box,.sheet.font-serifa .tarefa-box{transform:none;border-radius:5px;}
.sheet.font-limpa .sheet-date,.sheet.font-serifa .sheet-date{font-family:var(--font-display);font-size:12px;letter-spacing:.02em;}
@media (max-width:700px){.sheet.font-limpa{--rule:28px;font-size:16px;line-height:var(--rule);}.sheet.font-serifa{font-size:16px;}}
.sheet.paper-pontilhado{background-image:linear-gradient(90deg,transparent 74px,#E9A0A0 74px,#E9A0A0 76px,transparent 76px),radial-gradient(#b7c4dc 1.3px,transparent 1.4px);background-size:auto,24px 24px;background-position:0 0,10px 10px;}
.pg-prog{flex:none;height:3px;}
.pg-prog i{display:block;height:100%;width:0;background:var(--accent);transition:width .12s linear;}
.blk.flash{animation:blkFlash 2.4s ease;border-radius:8px;}
@keyframes blkFlash{0%,55%{box-shadow:0 0 0 6px rgba(15,110,140,.35);background:rgba(15,110,140,.08);}100%{box-shadow:0 0 0 0 rgba(15,110,140,0);background:transparent;}}
/* ---- mapa: só o botão direito abre opções ---- */
.pop .tiles,#popAuto{display:none!important;}

/* ---- início colorido e animado (desenhado com o Claude Design) ---- */
#home{background:radial-gradient(circle at 10% 4%,rgba(240,98,90,.15),transparent 34%),radial-gradient(circle at 94% 10%,rgba(18,165,194,.16),transparent 30%),radial-gradient(circle at 82% 96%,rgba(124,92,230,.14),transparent 34%),var(--chrome-2);}
.home-wrap{position:relative;}
.home-wrap > *:not(.home-deco){position:relative;z-index:1;}
.home-deco{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.home-deco svg{position:absolute;rotate:var(--r,0deg);will-change:transform;animation:hFloat 8s ease-in-out infinite;}
.home-deco .d2{animation-duration:10s;animation-delay:-3s;}
.home-deco .d3{animation-duration:12s;animation-delay:-6s;}
@keyframes hFloat{0%,100%{transform:translate3d(0,0,0);}50%{transform:translate3d(0,-14px,0);}}
@keyframes hPop{0%{transform:translateY(22px) scale(.95);opacity:0;}100%{transform:none;opacity:1;}}
@keyframes hShine{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes hGlow{0%,100%{opacity:.25;transform:scale(1);}50%{opacity:.9;transform:scale(1.045);}}
@keyframes hWobble{0%,100%{transform:rotate(var(--tilt,0deg));}50%{transform:rotate(calc(var(--tilt,0deg) + 1.4deg));}}
.home-tt h1{font-family:var(--font-display);font-size:clamp(28px,4.4vw,44px);line-height:1.06;letter-spacing:-.02em;}
.home-tt h1 .hl{background:linear-gradient(transparent 60%,#FFD84D 60%,#FFD84D 92%,transparent 92%);padding:0 3px;}
#home h2{font-family:var(--font-display);font-size:19px;font-weight:700;display:flex;align-items:center;gap:10px;}
#home h2::before{content:'';width:8px;height:22px;border-radius:4px;background:linear-gradient(#F0625A,#F5A524);}
#home .cmp-head h2::before{background:linear-gradient(#12A5C2,#7C5CE6);}
.nb-cover{--pg:#F1ECE1;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(0,0,0,.09)),linear-gradient(90deg,hsl(var(--nbh) 55% 30%) 0 18px,hsl(var(--nbh) 58% 42%) 18px 100%);box-shadow:inset 1.5px 0 0 rgba(255,255,255,.18),inset 0 1.5px 0 rgba(255,255,255,.2),2px 3px 0 var(--pg),3px 5px 0 #D9D2C2,8px 14px 18px -6px hsl(var(--nbh) 55% 20% / .5);border-radius:5px 12px 12px 5px;animation:hPop .6s cubic-bezier(.2,.8,.2,1) both;transition:transform .18s ease,box-shadow .18s ease;}
.nb-cover::before{content:'';position:absolute;left:18px;top:0;bottom:0;width:1.5px;background:rgba(0,0,0,.2);box-shadow:1px 0 0 rgba(255,255,255,.14);}
.nb-cover::after{content:'';position:absolute;right:16px;top:0;bottom:0;width:9px;background:linear-gradient(90deg,hsl(var(--nbh) 50% 28% / .55),hsl(var(--nbh) 50% 34% / .35));}
.nb-cover > *:not(.nb-rings){position:relative;z-index:1;}
.nb-rings{z-index:2;position:absolute;}
.nb-label{box-shadow:0 1px 0 rgba(0,0,0,.18),0 4px 8px -4px rgba(0,0,0,.35);}
.nb-count{letter-spacing:.02em;text-shadow:0 1px 1px rgba(0,0,0,.25);}
.nb-card:nth-child(2) .nb-cover{animation-delay:.07s;}.nb-card:nth-child(3) .nb-cover{animation-delay:.14s;}.nb-card:nth-child(4) .nb-cover{animation-delay:.21s;}.nb-card:nth-child(5) .nb-cover{animation-delay:.28s;}
.nb-cover:hover{transform:translateY(-5px);box-shadow:inset 1.5px 0 0 rgba(255,255,255,.18),inset 0 1.5px 0 rgba(255,255,255,.2),2px 3px 0 var(--pg),3px 5px 0 #D9D2C2,10px 22px 22px -8px hsl(var(--nbh) 60% 22% / .55);}
.nb-card.add .nb-cover,.nb-card.none .nb-cover{animation:hPop .6s cubic-bezier(.2,.8,.2,1) both;}
.nb-card.add .nb-cover::before,.nb-card.add .nb-cover::after,.nb-card.none .nb-cover::before,.nb-card.none .nb-cover::after{display:none;}
.nb-card.add .nb-cover{border-color:#12A5C2;color:#0B6F86;background:rgba(18,165,194,.09);}
.nb-card.add .nb-label{color:#0B6F86;}
.cmp{position:relative;overflow:hidden;border-width:2px;}
.cmp::before{content:'';position:absolute;left:0;top:0;width:200%;height:6px;backface-visibility:hidden;background:linear-gradient(90deg,#F0625A,#F5A524,#2FB37A,#12A5C2,#7C5CE6,#F0625A,#F5A524,#2FB37A,#12A5C2,#7C5CE6,#F0625A);will-change:transform;animation:hShine 8s linear infinite;}
.fmt-b{--c:#12A5C2;background:color-mix(in srgb,var(--c) 12%,var(--chrome));border-color:transparent;transition:transform .15s ease,box-shadow .15s ease;}
.fmt-b:nth-child(2){--c:#F0625A;}.fmt-b:nth-child(3){--c:#7C5CE6;}
.fmt-b svg{color:var(--c);}
.fmt-b:hover{transform:translateY(-2px);border-color:var(--c);}
.fmt-b[aria-pressed="true"]{border-color:var(--c);background:color-mix(in srgb,var(--c) 24%,var(--chrome));box-shadow:0 0 0 1px var(--c),0 8px 16px -10px var(--c);}
.fmt-b[aria-pressed="true"] svg{color:var(--c);}
.go{position:relative;isolation:isolate;background:linear-gradient(120deg,#12A5C2,#7C5CE6);color:#fff;}
.go::after{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;box-shadow:0 8px 26px -4px rgba(124,92,230,.75);opacity:.25;pointer-events:none;will-change:transform,opacity;animation:hGlow 3.2s ease-in-out infinite;}
.go:disabled::after{animation:none;opacity:0;}
.alt-b{--c:#12A5C2;background:color-mix(in srgb,var(--c) 13%,var(--chrome));border-color:transparent;transition:transform .15s ease;}
.alt-b:nth-of-type(2){--c:#2FB37A;}.alt-b:nth-of-type(3){--c:#F5A524;}.alt-b:nth-of-type(4){--c:#F0625A;}
.alt-b svg{color:var(--c);}
.alt-b:hover{transform:translateY(-2px);border-color:var(--c);box-shadow:none;}
.mcard{--mc:#12A5C2;overflow:hidden;animation:hPop .6s cubic-bezier(.2,.8,.2,1) both;}
.mcard:nth-child(4n+2){--mc:#F0625A;animation-delay:.07s;}.mcard:nth-child(4n+3){--mc:#2FB37A;animation-delay:.14s;}.mcard:nth-child(4n){--mc:#7C5CE6;animation-delay:.21s;}
.mcard:hover{transform:translateY(-3px);}
.mcard.cur{border-color:var(--mc);box-shadow:0 0 0 1.5px var(--mc);}
.mcard-head{margin:-14px -15px 0;padding:11px 44px 11px 15px;background:color-mix(in srgb,var(--mc) 15%,var(--chrome));}
.mcard-ico,.mcard.page .mcard-ico{stroke:var(--mc);}
.mcard-kind{color:color-mix(in srgb,var(--mc) 72%,var(--text));}
.mcard-more{top:9px;}
body[data-screen="phone"] .mcard-head{margin:-12px -12px 0;padding:10px 40px 10px 12px;}
@media (prefers-reduced-motion:reduce){.home-deco svg,.nb-cover,.nb-card .nb-cover,.cmp::before,.go::after,.mcard{animation:none;}}
/* ---- selo de desenho nos tópicos do mapa ---- */
.drawb{position:absolute;top:-10px;left:10px;z-index:3;display:none;height:19px;padding:0 9px;border:none;border-radius:10px;background:#0F6E8C;color:#fff;font-family:var(--font-display);font-size:11px;font-weight:600;line-height:19px;letter-spacing:.01em;text-transform:none;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.28);}
.drawb:hover{background:#0b566e;}
/* ---- desenho animado (quadros SVG em ciclo) ---- */
.an-host{padding:14px 14px 10px;}
.an-stage{position:relative;width:100%;}
.an-stage .an-f{position:absolute;inset:0;width:100%;height:100%;max-height:none;opacity:0;transition:opacity .7s ease;}
.an-stage .an-f.on{opacity:1;}
.an-cap{min-height:2.7em;margin-top:10px;font-family:var(--font-display);font-size:14.5px;font-weight:600;line-height:1.4;color:#14324a;text-align:center;}
.an-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;}
.an-play{padding:6px 12px;border:1.5px solid #cbd5e1;border-radius:999px;background:#fff;font-family:var(--font-display);font-size:12.5px;font-weight:600;color:#14324a;}
.an-play:hover{border-color:#0F6E8C;color:#0F6E8C;}
.an-dots{display:flex;gap:8px;align-items:center;}
.an-dot{width:10px;height:10px;padding:0;border:none;border-radius:50%;background:#cbd5e1;}
.an-dot.on{background:#0F6E8C;transform:scale(1.25);}
.an-step{min-width:3.2em;font-family:var(--font-mono);font-size:12px;color:#64748b;text-align:right;}
@media (prefers-reduced-motion: reduce){.an-stage .an-f{transition:none;}}
/* ---- zoom do caderno ---- */
#pageScroll{overflow:auto;touch-action:pan-x pan-y;}
#sheet{transform-origin:top center;}
.pg-actions .zoomg{flex:none;}
/* ---- cartões pequenos da página inicial ---- */
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:14px;}
.mcard{position:relative;display:flex;flex-direction:column;min-height:158px;border:1px solid var(--line);border-radius:12px;background:var(--chrome);box-shadow:0 1px 2px var(--shadow);transition:border-color .12s ease,box-shadow .12s ease;}
.mcard:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 8px 18px -12px var(--shadow);}
.mcard.cur{border-color:var(--accent);box-shadow:0 0 0 1.5px var(--accent);}
.mcard-open{display:flex;flex:1 1 auto;flex-direction:column;gap:8px;width:100%;padding:14px 15px 13px;border:none;border-radius:12px;background:transparent;text-align:left;}
.mcard-head{display:flex;align-items:center;gap:6px;min-height:22px;padding-right:28px;overflow:hidden;}
.mcard-ico{flex:none;width:15px;height:15px;fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.mcard.page .mcard-ico{stroke:#b3261e;}
.mcard-kind{flex:none;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--muted);white-space:nowrap;}
.mcard-head .nb-tag{flex:0 1 auto;max-width:112px;padding:2px 7px;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mcard-more{position:absolute;top:8px;right:7px;display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:8px;background:transparent;font-size:18px;line-height:1;color:var(--muted);opacity:.7;}
.mcard:hover .mcard-more,.mcard-more:focus-visible{opacity:1;background:var(--chrome-2);color:var(--text);}
.mcard-t{min-height:2.56em;font-size:15px;font-weight:600;line-height:1.28;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;}
.mcard-sub{font-size:12px;line-height:1.35;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mcard-foot{display:flex;flex-direction:column;align-items:stretch;gap:7px;margin-top:auto;padding-top:10px;border-top:1px solid var(--line);}
.mcard-dots{display:flex;align-items:center;gap:5px;min-width:0;overflow:hidden;}
.mdot{display:block;flex:none;width:8px;height:8px;border-radius:50%;background:hsl(var(--hue) var(--border-s) var(--border-l));}
.mdot.more{width:auto;height:auto;background:transparent;font-size:10.5px;color:var(--muted);}
.mcard-meta{min-width:0;font-family:var(--font-mono);font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mcard-par{grid-column:1/-1;border:1.5px dashed var(--line);border-radius:14px;padding:10px;background:var(--chrome-2);}
.mcard-par-lab{margin:0 0 8px 4px;font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:.02em;}
.mcard-par-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.mcard.compact{min-height:132px;}
.mcard.compact .mcard-open{padding:11px 12px 10px;}
body[data-screen="phone"] .mcard-par-row{grid-template-columns:1fr;}
.pager{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:6px;}
.pager button{min-width:36px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--chrome);color:var(--text);font-family:var(--font-mono);font-size:13px;font-weight:600;}
.pager button:hover:not(:disabled){border-color:var(--accent);}
.pager button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);}
.pager button:disabled{opacity:.4;}
.pager .pg-gap{padding:0 2px;color:var(--muted);font-family:var(--font-mono);}
.pager .pg-count{flex-basis:100%;text-align:center;font-size:12px;color:var(--muted);}
.nb-actions{display:flex;flex-wrap:wrap;gap:10px;}
.nb-actions .new-card{flex:0 1 310px;flex-direction:row;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;box-shadow:none;}
.nb-actions .new-card svg{width:22px;height:22px;flex:none;}
.nc-t{display:flex;flex-direction:column;gap:1px;min-width:0;text-align:left;}
.nc-t strong{font-size:14px;}
.nc-t span{font-size:12.5px;line-height:1.35;}
@media (prefers-reduced-motion: reduce){.mcard{transition:none;}}
/* ---- estilos livres no texto ---- */
.fx-hl{background:linear-gradient(104deg,transparent .9%,var(--hlc,#FFE25A) 2.4%,var(--hlc,#FFE25A) 96%,transparent 99%);padding:0 3px;border-radius:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone;}
.fxbar{align-items:flex-start;gap:10px 16px;}
.fxbar .blk-fmt-g{flex-wrap:wrap;}
.fx-b{min-width:30px;height:28px;padding:0 8px;border:1.5px solid #b7c3e0;border-radius:7px;background:#fff;color:#22306b;font-family:var(--font-display);font-size:13px;line-height:1;}
.fx-b:hover{background:#eef2fc;border-color:#22306b;}
.fx-b.on{background:#22306b;border-color:#22306b;color:#fff;}
.fxbar .swatch.cur{box-shadow:0 0 0 2px #22306b;}
.fx-hint{flex:1 1 100%;font-family:var(--font-display);font-size:12px;line-height:1.35;color:#6b7aa8;}
/* ---- objetos livres na folha ---- */
.obj{position:absolute;z-index:6;touch-action:none;user-select:none;-webkit-user-select:none;}
.obj-arrow{pointer-events:none;}
.obj.sel:not(.obj-arrow){outline:2px solid #0F6E8C;outline-offset:3px;}
.ob-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 3px 5px rgba(20,34,46,.22));}
.ob-arrow{position:absolute;left:0;top:0;overflow:visible;}
.ob-kw{position:absolute;inset:0;filter:drop-shadow(0 3px 4px rgba(74,44,90,.28));}
.ob-kw svg{width:100%;height:100%;display:block;overflow:visible;}
.ins-kw{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.ins-k{padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--chrome);aspect-ratio:1;display:flex;align-items:center;justify-content:center;}
.ins-k svg{width:100%;height:100%;display:block;}
.ins-k:hover{border-color:var(--accent);transform:scale(1.06);}
.ob-emoji{display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1;font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;filter:drop-shadow(0 2px 3px rgba(20,34,46,.28));}
.ob-txt{position:absolute;display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center;font-family:var(--font-read);font-size:18px;line-height:1.25;white-space:pre-wrap;word-break:break-word;outline:none;}
.ob-txt.post{font-family:var(--font-read);}
.ob-txt:empty::before{content:attr(data-ph);opacity:.45;}
.obj.editing .ob-txt{user-select:text;-webkit-user-select:text;background:rgba(255,255,255,.4);border-radius:6px;overflow:auto;}
.obj-h{position:absolute;z-index:3;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid #0F6E8C;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);touch-action:none;}
.obj-h.rs.nw{left:0;top:0;}.obj-h.rs.ne{left:100%;top:0;}.obj-h.rs.sw{left:0;top:100%;}.obj-h.rs.se{left:100%;top:100%;border-radius:4px;}
.obj-h.rot{left:50%;top:-30px;background:#0F6E8C;}
.obj-h.rot::after{content:'';position:absolute;left:50%;top:100%;width:2px;height:16px;margin-left:-1px;background:#0F6E8C;}
.obj-h.pt{background:#fff;}
.obj-h.pt.mid{background:#0F6E8C;border-color:#fff;}
.ob-bar{position:absolute;top:60px;left:50%;z-index:29;display:flex;flex-wrap:nowrap;align-items:center;gap:8px;max-width:calc(100% - 20px);padding:8px 12px;overflow-x:auto;transform:translateX(-50%);background:var(--chrome);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px -8px var(--shadow);}
.ob-bar[hidden]{display:none;}
.ob-lab{flex:none;font-family:var(--font-display);font-size:11.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);}
.ob-sep{flex:none;width:1px;height:22px;background:var(--line);}
.ob-b{flex:none;min-width:30px;padding:5px 9px;border:1.5px solid var(--line);border-radius:8px;background:var(--chrome);font-family:var(--font-display);font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;}
.ob-b:hover{border-color:var(--accent);}
.ob-b.on{background:color-mix(in srgb,var(--accent) 14%,var(--chrome));border-color:var(--accent);}
.ob-b.ob-ico{padding:3px 5px;line-height:0;}
.ob-b.del{color:var(--danger);}
.ob-sw{flex:none;width:22px;height:22px;padding:0;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);}
.ob-sw.on{box-shadow:0 0 0 2.5px var(--accent);}
/* ---- painel Inserir ---- */
.pgins{width:min(400px,calc(100% - 24px));padding:0;}
.ins-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 10px 8px 12px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--chrome);z-index:1;}
.ins-tabs,.ins-row,.ins-sws{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.ins-chip{padding:6px 12px;border:1.5px solid var(--line);border-radius:999px;background:var(--chrome);font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--text);}
.ins-chip:hover{border-color:var(--accent);}
.ins-chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);}
.ins-chip.ins-acc{border-color:var(--accent);color:var(--accent);}
.ins-close{width:28px;height:28px;border:none;border-radius:8px;background:transparent;font-size:20px;line-height:1;color:var(--muted);}
.ins-close:hover{background:var(--chrome-2);}
.ins-body{display:flex;flex-direction:column;gap:10px;padding:12px;}
.ins-lab{margin-top:2px;font-family:var(--font-display);font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);}
.ins-shapes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.ins-shape{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;border:1.5px solid var(--line);border-radius:12px;background:var(--chrome);font-family:var(--font-display);font-size:11.5px;color:var(--muted);}
.ins-shape svg{width:44px;height:44px;overflow:visible;}
.ins-shape:hover,.ins-shape.on{border-color:var(--accent);color:var(--text);}
.ins-shape.on{background:color-mix(in srgb,var(--accent) 10%,var(--chrome));}
.ins-go{align-self:stretch;}
.ins-tip{padding:9px 11px;border-radius:10px;background:var(--chrome-2);font-family:var(--font-read);font-size:12.5px;line-height:1.45;color:var(--muted);}
.ins-emojis{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;}
.ins-e{padding:4px 0;border:1px solid var(--line);border-radius:10px;background:var(--chrome);font-size:24px;line-height:1.5;font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;}
.ins-e:hover{border-color:var(--accent);transform:scale(1.06);}
.ins-tagb{padding:7px 14px;border:none;border-radius:999px;font-family:var(--font-display);font-size:12.5px;font-weight:700;letter-spacing:.04em;color:#fff;}
.ins-in{flex:1;min-width:0;padding:8px 11px;border:1.5px solid var(--line);border-radius:10px;background:var(--chrome-2);font-family:var(--font-read);font-size:14px;}
/* ---- estilos de desenho da IA ---- */
.sk-host.sk-rasc{background:#fffdf5;border:1.5px dashed #c8d3ea;box-shadow:none;}
.sk-rasc .sk-svg text{font-family:var(--hand);font-size:17px;}
.sk-host.sk-real{background:radial-gradient(120% 90% at 50% 0%,#ffffff 0%,#f1f5f9 100%);border-color:#c7d2e0;box-shadow:0 1px 2px rgba(20,34,46,.08),0 22px 40px -22px rgba(20,34,46,.55);}
@media (max-width:700px){.ob-bar{top:56px;}.ins-shapes{grid-template-columns:repeat(3,1fr);}}
/* ---- limites visíveis ---- */
.cap{display:flex;flex-direction:column;gap:7px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--chrome-2);}
.cap[hidden]{display:none;}
.cap-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;}
.cap-t{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--text);}
.cap-v{font-family:var(--font-mono);font-size:12px;color:var(--muted);text-align:right;}
.cap-bar{height:8px;border-radius:5px;background:var(--line);overflow:hidden;}
.cap-bar i{display:block;height:100%;width:0;border-radius:5px;background:var(--ok);transition:width .18s ease;}
.cap.warn .cap-bar i{background:#e0a11b;}
.cap.over{border-color:var(--danger);}
.cap.over .cap-bar i{background:var(--danger);}
.cap-n{font-family:var(--font-read);font-size:13px;line-height:1.45;color:var(--muted);}
.cap.over .cap-n{color:var(--danger);}
.rng{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;}
.rng-f{display:flex;flex-direction:column;gap:5px;font-family:var(--font-display);font-size:12px;font-weight:600;color:var(--muted);}
.rng-f .txt{width:120px;min-width:0;}
.wz-methods{grid-template-columns:repeat(2,1fr);}
.wz-methods .wz-m:last-child:nth-child(odd){grid-column:1 / -1;}
@media (prefers-reduced-motion: reduce){.cap-bar i{transition:none;}}
.overlay.quiz-overlay{padding:3vh 12px;align-items:flex-start;overflow-y:auto;background:rgba(12,20,28,.62);}
.modal.quiz{--chrome:#FFFEFA;--chrome-2:#F5F2E9;--text:#1B2530;--muted:#5D6B78;--line:#D9D3C3;--accent:#0F6E8C;--accent-ink:#FFFFFF;--danger:#B23B4A;
  width:min(900px,100%);min-height:94vh;max-height:none;gap:16px;padding:44px clamp(20px,6vw,68px) 36px;border-radius:3px;border:none;background:#FFFEFA;color:#1B2530;
  box-shadow:0 1px 0 #E9E4D6,0 18px 60px rgba(0,0,0,.45);}
.modal.quiz > h2{font-size:13px;font-family:var(--font-mono);font-weight:500;color:var(--muted);letter-spacing:.04em;margin:0;}
.modal.quiz .acts-row{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);}
.modal.quiz select{background:#fff;}
.paper-head{border-bottom:2px solid #1B2530;padding-bottom:12px;display:flex;flex-direction:column;gap:8px;}
.paper-topic{font-size:24px;font-weight:700;line-height:1.25;letter-spacing:-.01em;}
.paper-meta{display:flex;flex-wrap:wrap;gap:4px 22px;font-size:12.5px;color:var(--muted);}
.paper-meta b{color:var(--text);font-weight:600;}
.ql{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:26px 0;text-align:center;}
.ql-spin{width:58px;height:58px;border-radius:50%;border:5px solid var(--line);border-top-color:var(--accent);animation:qlspin .9s linear infinite;}
.ql-spin.small{width:40px;height:40px;border-width:4px;}
@keyframes qlspin{to{transform:rotate(360deg);}}
.ql-title{font-size:20px;font-weight:600;}
.ql-steps{display:flex;flex-direction:column;gap:9px;align-items:flex-start;text-align:left;}
.ql-step{display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--muted);}
.ql-step i{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);flex:none;display:block;position:relative;}
.ql-step.on{color:var(--text);font-weight:600;}
.ql-step.on i{border-color:var(--accent);animation:qlpulse 1s ease-in-out infinite;}
.ql-step.done i{border-color:#2F9470;background:#2F9470;}
.ql-step.done i::after{content:'';position:absolute;left:4.5px;top:1.5px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);}
@keyframes qlpulse{50%{box-shadow:0 0 0 5px hsl(196 60% 40% / 22%);}}
.ql-skel{width:min(520px,100%);display:flex;flex-direction:column;gap:9px;margin-top:4px;}
.ql-skel b,.ql-skel i{display:block;border-radius:8px;background:linear-gradient(90deg,var(--chrome-2) 25%,#E7E1D0 45%,var(--chrome-2) 65%);background-size:300% 100%;animation:qlshim 1.6s linear infinite;}
.ql-skel b{height:24px;width:82%;}
.ql-skel i{height:40px;border:1px solid var(--line);}
@keyframes qlshim{from{background-position:100% 0;}to{background-position:-100% 0;}}
.ql-time{font-family:var(--font-mono);font-size:12px;color:var(--muted);}
.ql-tip{max-width:520px;font-size:13.5px;line-height:1.5;color:var(--muted);min-height:42px;}
@media (prefers-reduced-motion: reduce){.ql-spin{animation-duration:2.4s;}.ql-skel b,.ql-skel i,.ql-step.on i{animation:none;}}
.quiz-wait{flex:1;display:flex;align-items:center;justify-content:center;min-height:240px;color:var(--muted);font-size:15px;animation:busy 1.2s ease-in-out infinite;}
@media (prefers-reduced-motion: reduce){.quiz-wait{animation:none;}}
.quiz-top{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:12px;color:var(--muted);}
.quiz-topic{align-self:flex-start;font-family:var(--font-mono);font-size:11px;color:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:2px 7px;display:inline-block;}
.modal.quiz{font-family:var(--font-read);}
.quiz-q{font-size:20px;font-weight:600;line-height:1.5;margin-top:4px;}
.quiz-ops{display:flex;flex-direction:column;gap:8px;}
.quiz-ops.two{flex-direction:row;}
.quiz-ops.two .quiz-op{flex:1;justify-content:center;font-weight:600;}
.quiz-op{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:15px 17px;color:var(--text);border:1.5px solid var(--line);border-radius:11px;background:var(--chrome);font-size:16px;line-height:1.5;}
.quiz-op b{flex:none;width:24px;height:24px;border-radius:50%;background:var(--chrome-2);border:1px solid var(--line);font-size:12px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);}
.quiz-op:hover:not(:disabled){border-color:var(--accent);background:var(--chrome-2);}
.quiz-op:disabled{cursor:default;opacity:.7;}
.quiz-op.ok{border-color:#2F9470;background:rgba(47,148,112,.14);opacity:1;}
.quiz-op.ok b{background:#2F9470;border-color:#2F9470;color:#fff;}
.quiz-op.no{border-color:#C7394B;background:rgba(199,57,75,.12);opacity:1;}
.quiz-op.no b{background:#C7394B;border-color:#C7394B;color:#fff;}
.quiz-fb{padding:12px 14px;border-radius:10px;font-size:14px;line-height:1.5;display:flex;flex-direction:column;gap:4px;}
.quiz-fb[hidden]{display:none;}
.quiz-fb.ok{background:rgba(47,148,112,.14);border:1px solid #2F9470;}
.quiz-fb.no{background:rgba(199,57,75,.10);border:1px solid #C7394B;}
.quiz-score{text-align:center;padding:10px 0 4px;display:flex;flex-direction:column;gap:6px;font-size:15px;}
.quiz-num{font-size:68px;font-weight:700;line-height:1;color:var(--accent);letter-spacing:-.02em;}
.quiz-verdict{color:var(--muted);font-size:14px;}
.quiz-h{margin:6px 0 0;font-size:14px;}
.quiz-review{display:flex;flex-direction:column;gap:8px;}
.quiz-rev{border:1px solid var(--line);border-radius:10px;padding:11px 13px;background:var(--chrome-2);display:flex;flex-direction:column;gap:5px;font-size:13.5px;line-height:1.45;}
.quiz-revq{font-weight:600;}
.quiz-reva{color:var(--danger);}
.quiz-reve{color:var(--muted);}

/* ---- prova: cabe inteira na tela, polida e leve ---- */
.overlay.quiz-overlay{padding:2vh 12px;align-items:center;overflow:hidden;background:rgba(12,20,28,.66);}
.modal.quiz{position:relative;width:min(980px,100%);min-height:0;height:auto;max-height:96vh;max-height:96dvh;overflow:hidden;gap:clamp(8px,1.5vh,16px);padding:clamp(16px,3vh,32px) clamp(18px,4.5vw,52px) clamp(12px,2.2vh,24px);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.4);}
.modal.quiz::before{content:'';position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,#F0625A,#F5A524,#2FB37A,#12A5C2,#7C5CE6);}
.modal.quiz > *{flex:none;}
.modal.quiz .paper-head{padding-bottom:clamp(6px,1.1vh,12px);gap:4px;}
.modal.quiz .paper-topic{font-size:clamp(17px,3vh,24px);line-height:1.2;}
.modal.quiz .paper-meta{font-size:12px;gap:2px 16px;}
.modal.quiz .quiz-top{font-size:12.5px;}
.modal.quiz .prog{height:8px;border-radius:99px;background:#EFEADB;overflow:hidden;}
.modal.quiz .prog i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#12A5C2,#7C5CE6);transition:width .3s ease;}
.modal.quiz .quiz-topic{font-size:11px;padding:2px 8px;border-radius:99px;background:rgba(15,110,140,.08);border-color:transparent;}
.modal.quiz .quiz-q{font-size:clamp(15.5px,2.5vh,21px);line-height:1.38;margin-top:0;max-height:28vh;overflow-y:auto;}
.modal.quiz .quiz-ops{flex:0 1 auto;min-height:0;overflow-y:auto;gap:clamp(6px,1.1vh,10px);padding:3px;margin:-3px;}
.modal.quiz .quiz-op{padding:clamp(8px,1.4vh,14px) 15px;font-size:clamp(14px,2.2vh,16.5px);line-height:1.35;transition:border-color .12s ease,background-color .12s ease,transform .12s ease;}
.modal.quiz .quiz-op:hover:not(:disabled){transform:translateY(-1px);}
.modal.quiz .quiz-op b{border:none;color:#fff;background:#0E86A0;}
.modal.quiz .quiz-op:nth-child(2) b{background:#D6453B;}.modal.quiz .quiz-op:nth-child(3) b{background:#B36B00;}.modal.quiz .quiz-op:nth-child(4) b{background:#6B4AD6;}.modal.quiz .quiz-op:nth-child(5) b{background:#1F9D68;}
.modal.quiz .quiz-op.ok b{background:#2F9470;}.modal.quiz .quiz-op.no b{background:#C7394B;}
.modal.quiz .quiz-fb{max-height:22vh;overflow-y:auto;padding:10px 13px;font-size:clamp(13px,2vh,14.5px);animation:qfIn .18s ease;}
@keyframes qfIn{from{opacity:0;transform:translateY(4px);}}
.modal.quiz .acts-row{margin-top:auto;padding-top:clamp(8px,1.4vh,14px);}
.modal.quiz .pb.primary{background:linear-gradient(120deg,#12A5C2,#7C5CE6);border-color:transparent;color:#fff;}
.modal.quiz .pb.primary:disabled{opacity:.45;}
.modal.quiz .quiz-score{padding:2px 0;gap:4px;}
.modal.quiz .quiz-num{font-size:clamp(44px,9vh,68px);background:linear-gradient(120deg,#12A5C2,#7C5CE6);-webkit-background-clip:text;background-clip:text;color:transparent;}
.modal.quiz .quiz-h{margin:2px 0 0;}
.modal.quiz .quiz-review{flex:1 1 auto;min-height:0;overflow-y:auto;}
.modal.quiz .ql{padding:clamp(6px,2vh,26px) 0;gap:clamp(8px,1.6vh,16px);min-height:0;}
.modal.quiz .ql-tip{min-height:0;}
@media (max-height:860px){.modal.quiz .paper-meta,.modal.quiz > h2{display:none;}.modal.quiz .prog{height:6px;}}
@media (max-height:700px){.modal.quiz .ql-skel{display:none;}}
@media (prefers-reduced-motion:reduce){.modal.quiz .quiz-fb,.modal.quiz .prog i,.modal.quiz .quiz-op{animation:none;transition:none;}}
.modal p.quiz-last{color:var(--text);font-weight:500;padding:9px 12px;border-radius:9px;background:var(--chrome-2);border:1px solid var(--line);}
.dropzone{border:2px dashed var(--line);border-radius:10px;padding:34px 16px;text-align:center;font-size:14px;color:var(--muted);display:flex;flex-direction:column;gap:12px;align-items:center;}
.dropzone.over{border-color:var(--accent);color:var(--text);}
.prog{height:8px;border-radius:4px;background:var(--chrome-2);overflow:hidden;border:1px solid var(--line);}
.prog i{display:block;height:100%;width:0;background:var(--accent);}
#dropveil{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;background:rgba(15,110,140,.16);border:4px dashed var(--accent);font-size:20px;font-weight:600;color:var(--text);pointer-events:none;}
#dropveil.on{display:flex;}
#toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:60;background:var(--text);color:var(--canvas);padding:10px 14px;border-radius:8px;font-size:13px;display:none;align-items:center;gap:12px;max-width:92vw;box-shadow:0 6px 20px var(--shadow);}
#toast.on{display:flex;}
#toast button{border:1px solid currentColor;background:transparent;color:inherit;border-radius:6px;padding:3px 9px;font-family:var(--font-mono);font-size:11.5px;}

.pop{position:absolute;z-index:7;max-height:calc(100% - 16px);overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:10px;max-width:calc(100% - 16px);background:var(--chrome);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 34px var(--shadow);cursor:default;}
.pop[hidden]{display:none;}
.pop.open{width:700px;}
.pop.big{position:fixed;z-index:45;left:50%!important;top:50%!important;transform:translate(-50%,-50%);width:min(980px,94vw);height:min(86vh,900px);max-height:none;box-shadow:0 0 0 100vmax rgba(10,16,24,.5),0 20px 60px rgba(0,0,0,.35);}
.pop-head{display:flex;align-items:center;gap:6px;}
.pop-head[hidden]{display:none;}
.pop-title{flex:1;min-width:0;font-size:15px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pop.big .pop-title{font-size:18px;white-space:normal;}
.tiles{display:flex;flex-wrap:nowrap;gap:4px;align-items:stretch;}
@media (max-width:640px){.tiles{flex-wrap:wrap;}.tsep{display:none;}}
.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:54px;flex:1 1 0;padding:8px 3px 7px;border:1px solid transparent;border-radius:10px;background:var(--chrome-2);font-size:11px;line-height:1.15;text-align:center;position:relative;}
.tile svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.tile:hover{border-color:var(--line);filter:brightness(.98);}
.tile[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);}
.tile.has::after{content:'';position:absolute;top:6px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--chrome-2);}
.tile[aria-pressed="true"].has::after{background:var(--accent-ink);box-shadow:none;}
.tile.ai{color:var(--accent);}
.tile.ai svg{fill:currentColor;stroke:none;}
.tile.del{color:var(--danger);}
.tile.quiz,.tile.srch{color:var(--accent);}
.tile:disabled{opacity:.4;cursor:default;}
.tile[hidden]{display:none;}
.tsep{width:1px;background:var(--line);margin:6px 3px;flex:none;}
.pop-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.pbt{font-family:var(--font-mono);font-size:11.5px;padding:7px 10px;border-radius:8px;border:1px solid var(--line);background:var(--chrome);white-space:nowrap;}
.pbt:hover{background:var(--chrome-2);}
.pbt.ai{border-color:var(--accent);color:var(--accent);}
.pbt.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);}
.pbt.del{color:var(--danger);}
.pbt[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);}
.pbt:disabled{opacity:.45;cursor:default;}
.pop-note{display:flex;flex-direction:column;gap:8px;min-height:0;}
.pop-note[hidden]{display:none;}
.pop.big .pop-note{flex:1;}
.fmtbar{display:flex;flex-wrap:wrap;gap:3px;align-items:center;padding:5px;border:1px solid var(--line);border-bottom:none;border-radius:10px 10px 0 0;background:var(--chrome-2);margin-bottom:-8px;}
.fb{min-width:32px;height:30px;padding:0 9px;border:1px solid transparent;border-radius:7px;background:transparent;font-size:13px;line-height:1;}
.fb:hover{background:var(--chrome);border-color:var(--line);}
.fb[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);}
.fb mark{background:#FFE27A;color:#1B1B1F;padding:0 3px;border-radius:3px;}
.fsep{width:1px;height:18px;background:var(--line);margin:0 4px;}
.note-ed{font-family:var(--font-read);min-height:250px;max-height:44vh;overflow-y:auto;resize:vertical;border:1px solid var(--line);border-radius:0 0 10px 10px;background:var(--chrome);padding:14px 16px;font-size:16px;line-height:1.7;outline:none;cursor:text;word-break:break-word;}
.pop.big .note-ed{flex:1;max-height:none;resize:none;font-size:17px;line-height:1.75;padding:26px max(24px,calc((100% - 74ch) / 2));}
.note-ed:focus{border-color:var(--accent);box-shadow:0 0 0 2px hsl(196 60% 45% / 18%);}
.note-ed:empty::before{content:attr(data-ph);color:var(--muted);}
.note-ed.locked{opacity:.75;}
.note-ed h3{font-size:1.15em;margin:.5em 0 .25em;line-height:1.3;}
.note-ed ul,.note-ed ol{margin:.3em 0;padding-left:1.5em;}
.note-ed mark{background:#FFE27A;color:#1B1B1F;padding:0 2px;border-radius:3px;}
.note-ed p{margin:0 0 .5em;}
.pop-search{display:flex;flex-direction:column;gap:8px;}
.pop-search[hidden]{display:none;}
.ps-title{font-size:12px;color:var(--muted);line-height:1.4;}
.ps-list{display:flex;flex-direction:column;gap:6px;max-height:340px;overflow-y:auto;}
.pop.big .ps-list,.pop.big .pop-links{max-height:none;}
.ps-item{border:1px solid var(--line);border-radius:8px;background:var(--chrome-2);padding:7px 9px;display:flex;flex-direction:column;gap:5px;}
.ps-q{font-size:13px;font-weight:600;line-height:1.3;word-break:break-word;}
.ps-why{font-size:11.5px;color:var(--muted);line-height:1.35;}
.ps-links{display:flex;flex-wrap:wrap;gap:5px;align-items:center;}
.ps-links a{font-family:var(--font-mono);font-size:11.5px;padding:5px 9px;border-radius:7px;background:var(--accent);color:var(--accent-ink);text-decoration:none;white-space:nowrap;}
.ps-links a:hover{filter:brightness(1.08);}
.lk-head{display:flex;align-items:center;gap:8px;margin-top:4px;padding-top:10px;border-top:1px solid var(--line);}
.lk-title{flex:1;font-size:13.5px;font-weight:600;}
.pop.big .pop-links{flex:none;max-height:26vh;}
.pop-links{display:flex;flex-direction:column;gap:6px;max-height:190px;overflow-y:auto;}
.pop-links:empty{display:none;}
.lk{display:flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--chrome-2);}
.lk-main{flex:1;min-width:0;}
.lk a{display:block;color:var(--accent);font-size:14px;font-weight:500;line-height:1.35;word-break:break-word;text-decoration:underline;text-underline-offset:2px;}
.lk-url{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.math-prev{border:1px solid var(--line);border-radius:10px;background:var(--chrome-2);padding:10px 12px;display:flex;flex-direction:column;gap:6px;}
.math-prev[hidden]{display:none;}
.math-prev-lab{font-family:var(--font-mono);font-size:11px;color:var(--muted);}
.math-prev-body{font-size:15px;line-height:1.6;color:var(--text);}
.math-prev-body div:empty::before{content:'\00a0';}
.pop-linkform{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--chrome-2);}
.pop-linkform[hidden]{display:none;}
.pop-linkform input{background:var(--chrome)!important;}
.pop-linkform input{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--chrome-2);padding:9px 11px;font-size:14px;}
.pop-linkform .pbt{align-self:flex-start;}
.opts{display:flex;flex-wrap:wrap;gap:6px;padding:4px 10px 10px;}
.opt{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:74px;flex:1 1 74px;padding:8px 6px;border:1px solid var(--line);border-radius:8px;background:var(--chrome);font-size:11.5px;line-height:1.2;text-align:center;}
.opt:hover{background:var(--chrome-2);}
.opt[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 1.5px var(--accent);font-weight:600;}
.opt svg{width:40px;height:25px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.opt .dots{display:flex;gap:3px;height:25px;align-items:center;}
.opt .dots i{width:11px;height:11px;border-radius:50%;display:block;}

body[data-pal="vivo"] .hue-a{--hue:4;} body[data-pal="vivo"] .hue-b{--hue:282;} body[data-pal="vivo"] .hue-c{--hue:204;} body[data-pal="vivo"] .hue-d{--hue:170;} body[data-pal="vivo"] .hue-e{--hue:135;}
body[data-pal="vivo"] .node.lvl1{background:hsl(var(--hue) 60% 47%);border-color:hsl(var(--hue) 60% 47%);color:#fff;}
body[data-pal="oceano"] .hue-a{--hue:188;} body[data-pal="oceano"] .hue-b{--hue:204;} body[data-pal="oceano"] .hue-c{--hue:220;} body[data-pal="oceano"] .hue-d{--hue:236;} body[data-pal="oceano"] .hue-e{--hue:172;}
body[data-pal="terra"] .hue-a{--hue:14;} body[data-pal="terra"] .hue-b{--hue:34;} body[data-pal="terra"] .hue-c{--hue:48;} body[data-pal="terra"] .hue-d{--hue:82;} body[data-pal="terra"] .hue-e{--hue:352;}
body[data-pal="xmind"] .hue-a{--hue:0;} body[data-pal="xmind"] .hue-b{--hue:22;} body[data-pal="xmind"] .hue-c{--hue:153;--x-s:46%;} body[data-pal="xmind"] .hue-d{--hue:176;--x-s:50%;} body[data-pal="xmind"] .hue-e{--hue:285;--x-s:80%;}
body[data-pal="cinza"]{--fill-s:0%;--border-s:0%;--ink-s:0%;}

body[data-shape="pill"] .node{border-radius:22px;padding-left:18px;padding-right:18px;}
body[data-shape="pill"] .node.root{border-radius:30px;padding:14px 26px;}
body[data-shape="rect"] .node,body[data-shape="rect"] .node.root{border-radius:3px;}
body[data-shape="underline"] .node:not(.root){background:transparent;border-width:0 0 2.5px 0;border-radius:0;box-shadow:none;padding:3px 8px 5px;color:var(--text);}

body[data-shape="underline"] .node:not(.root) .tog{top:100%;margin-top:-1px;}
body[data-shape="underline"] .node:not(.root) .mark{bottom:auto;top:-9px;}

body[data-shape="xmind"]{--x-s:92%;}
body[data-shape="xmind"][data-pal="cinza"]{--x-s:0%;}
body[data-shape="xmind"] .node{border-color:transparent;box-shadow:none;}
body[data-shape="xmind"] .node.root{background:transparent;border-color:transparent;color:var(--text);font-size:24px;font-weight:700;line-height:1.2;max-width:240px;padding:10px 14px;}
body[data-shape="xmind"] .node.lvl1{background:hsl(var(--hue) var(--x-s) 71%);color:#1B1B1F;font-weight:600;font-size:15px;letter-spacing:-.01em;border-radius:6px;padding:11px 16px;max-width:290px;text-transform:uppercase;}
body[data-shape="xmind"] .node.lvl2{border-radius:8px;padding:5px 9px;font-size:13.5px;}
body[data-shape="xmind"] .node.deep{background:transparent;color:var(--text);padding:3px 5px;font-size:13px;max-width:280px;}

body[data-shape="xmind"] .mark{position:static;flex:none;height:auto;padding:0 1px;background:transparent;color:inherit;font-size:13px;line-height:1;opacity:.8;}
body[data-shape="xmind"] .conn{stroke-width:1.6;stroke:hsl(var(--hue) var(--x-s) 68%);}

body[data-contrast="medio"]{--fill-s:66%;--fill-l:92%;--border-s:40%;--border-l:47%;--ink-l:16%;--ink-s:38%;}
body[data-contrast="medio"] .node{border-width:1.5px;box-shadow:0 1px 2px rgba(20,34,46,.07);}
body[data-contrast="medio"] .node.lvl1{background:hsl(var(--hue) 62% 85%);border-color:hsl(var(--hue) 42% 40%);}
body[data-contrast="medio"] .node.root{background:hsl(var(--hue) 45% 93%);border-color:hsl(var(--hue) 40% 38%);}
body[data-contrast="medio"] .conn{stroke-width:1.8;opacity:.78;}
body[data-contrast="medio"] .conn.dim{opacity:.13;}
body[data-contrast="forte"]{--fill-s:78%;--fill-l:80%;--border-l:28%;--ink-l:10%;--ink-s:60%;}
body[data-contrast="forte"] .node{border-width:2px;box-shadow:0 2px 5px var(--shadow);}
body[data-contrast="forte"] .node.lvl1{background:hsl(var(--hue) 58% 38%);border-color:hsl(var(--hue) 60% 26%);color:#fff;}
body[data-contrast="forte"] .node.root{background:hsl(var(--hue) 55% 28%);border-color:hsl(var(--hue) 60% 18%);color:#fff;}
body[data-contrast="forte"] .conn{stroke-width:2.6;}
body[data-canvas="dark"][data-contrast="medio"]{--fill-s:34%;--fill-l:23%;--border-s:38%;--border-l:60%;--ink-l:90%;--ink-s:28%;}
body[data-canvas="dark"][data-contrast="medio"] .node.root{background:hsl(var(--hue) 35% 22%);border-color:hsl(var(--hue) 40% 62%);}
body[data-canvas="dark"][data-contrast="medio"] .node.lvl1{background:hsl(var(--hue) 38% 30%);border-color:hsl(var(--hue) 40% 66%);}
body[data-canvas="dark"][data-contrast="forte"]{--fill-s:50%;--fill-l:32%;--border-l:76%;--ink-l:97%;--ink-s:30%;}
body[data-canvas="dark"][data-contrast="forte"] .node.lvl1,body[data-canvas="dark"][data-contrast="forte"] .node.root{background:hsl(var(--hue) 70% 62%);border-color:hsl(var(--hue) 75% 80%);color:#0B1118;}
body[data-pal="cinza"][data-contrast]{--fill-s:0%;--border-s:0%;--ink-s:0%;}
body[data-pal="cinza"][data-contrast="forte"] .node.lvl1,body[data-pal="cinza"][data-contrast="forte"] .node.root{background:hsl(0 0% 25%);border-color:hsl(0 0% 12%);}
body[data-shape="underline"][data-contrast] .node:not(.root){background:transparent;color:var(--text);box-shadow:none;border-width:0 0 3px 0;}
body[data-shape="xmind"][data-contrast] .node{box-shadow:none;border-width:1.5px;}
body[data-shape="xmind"][data-contrast] .node.root{background:transparent;border-color:transparent;color:var(--text);}
body[data-shape="xmind"][data-contrast] .node.lvl1{background:hsl(var(--hue) var(--x-s) 71%);color:#1B1B1F;border-color:transparent;}
body[data-shape="xmind"][data-contrast="forte"] .node.lvl1{background:hsl(var(--hue) var(--x-s) 62%);}
body[data-shape="xmind"][data-contrast="forte"] .node.lvl2{background:hsl(var(--hue) var(--fill-s) 84%);}
body[data-shape="xmind"][data-contrast] .node.deep{background:transparent;color:var(--text);}
body[data-pal="vivo"][data-contrast]:not([data-shape="xmind"]):not([data-shape="underline"]) .node.lvl1{background:hsl(var(--hue) 60% 45%);border-color:hsl(var(--hue) 62% 34%);color:#fff;}

body[data-font="xmind"]{--font-read:'Montserrat','Segoe UI','Helvetica Neue',Arial,sans-serif;}
body[data-font="xmind"] .node{font-size:14px;font-weight:500;letter-spacing:0;line-height:1.4;}
body[data-font="xmind"] .node.lvl1{font-size:14.5px;font-weight:700;}
body[data-font="xmind"] .node.root{font-size:20px;font-weight:700;}
body[data-font="xmind"] .note-ed{font-size:15.5px;font-weight:400;}
body[data-font="geo"]{--font-read:'Space Grotesk','Helvetica Neue',Arial,sans-serif;}
body[data-font="geo"] .node{font-size:14.5px;}
.opt .fontdemo{font-size:19px;line-height:25px;height:25px;}
@media (prefers-reduced-motion: reduce){.node.busy{animation:none;opacity:.6;}.node,.conn{transition:none;}}
::selection{background:hsl(196 70% 45% / 28%);}
@media (max-width:760px){
  .bar{padding:8px 10px;gap:8px;}
  .mapbtn{max-width:150px;}
  .status span{display:none;}
  #panel{position:absolute;left:0;right:0;bottom:0;width:auto;height:52%;border-left:none;border-top:1px solid var(--line);box-shadow:0 -8px 24px var(--shadow);}
  .hint{display:none;}
}

/* ================= responsive layer (driven by body[data-screen], set in responsive.js) ================= */
html,body{height:var(--app-h,100%);}
.pop,#panel,#pageScroll,.modal,.menu{touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;}
.panel-close{display:none;align-self:flex-end;margin:10px 12px 0;}
body:not([data-screen="desktop"]) .tb,body:not([data-screen="desktop"]) .pb,body:not([data-screen="desktop"]) .pbt,body:not([data-screen="desktop"]) .fb{min-height:var(--tap);}
body:not([data-screen="desktop"]) .panel-close{display:inline-flex;align-items:center;}
body:not([data-screen="desktop"]) .blk-tools{display:none;opacity:1;}
body:not([data-screen="desktop"]) .blk.tools-on .blk-tools{display:flex;animation:toolsIn .16s ease;}
body:not([data-screen="desktop"]) .blk.tools-on{outline:1.5px dashed #9fb2d6;outline-offset:4px;border-radius:4px;}
body:not([data-screen="desktop"]) .blk{touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
@keyframes toolsIn{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){body:not([data-screen="desktop"]) .blk.tools-on .blk-tools{animation:none;}}
body:not([data-screen="desktop"]) .tog{opacity:1;}

/* ---- celular e tablet: controles de edição maiores, fáceis de tocar ---- */
body:not([data-screen="desktop"]) .blk-tools{position:static;left:auto;width:auto;flex-direction:row;flex-wrap:wrap;gap:8px;margin:10px 0 6px;}
body:not([data-screen="desktop"]) .blk-tools button{height:46px;min-width:46px;padding:0 16px;gap:8px;border-radius:12px;font-size:15px;}
body:not([data-screen="desktop"]) .blk-fmt{gap:14px;padding:12px;border-radius:12px;}
body:not([data-screen="desktop"]) .blk-fmt-g{gap:8px;flex-wrap:wrap;}
body:not([data-screen="desktop"]) .blk-fmt-lab{font-size:13px;}
body:not([data-screen="desktop"]) .fx-b{min-width:46px;height:44px;padding:0 12px;border-radius:10px;font-size:16px;}
body:not([data-screen="desktop"]) .swatch{width:34px;height:34px;}
body:not([data-screen="desktop"]) .blk-fmt-arrow{width:46px;height:44px;border-radius:10px;font-size:18px;}
body:not([data-screen="desktop"]) .blk-edit{font-size:17px;padding:8px 10px;}
body:not([data-screen="desktop"]) .ob-bar{gap:10px;padding:12px 14px;border-radius:16px;}
body:not([data-screen="desktop"]) .ob-lab{font-size:13px;}
body:not([data-screen="desktop"]) .ob-sep{height:32px;}
body:not([data-screen="desktop"]) .ob-b{min-width:46px;min-height:44px;padding:8px 14px;border-radius:10px;font-size:15px;}
body:not([data-screen="desktop"]) .ob-b.ob-ico{padding:6px 8px;}
body:not([data-screen="desktop"]) .ob-b.ob-ico svg{width:30px;height:30px;}
body:not([data-screen="desktop"]) .ob-sw{width:34px;height:34px;}
body:not([data-screen="desktop"]) .obj-h{width:26px;height:26px;margin:-13px 0 0 -13px;border-width:3px;}
body:not([data-screen="desktop"]) .obj-h.rot{top:-46px;}
body:not([data-screen="desktop"]) .obj-h.rot::after{height:24px;}
body:not([data-screen="desktop"]) .acts{top:-26px;gap:6px;}
body:not([data-screen="desktop"]) .acts button{width:38px;height:38px;border-radius:50%;font-size:18px;}
body:not([data-screen="desktop"]) .acts .ai{width:auto;height:38px;padding:0 14px;border-radius:19px;font-size:13px;}
body:not([data-screen="desktop"]) .pgins{width:min(460px,calc(100% - 16px));}
body:not([data-screen="desktop"]) .ins-chip{padding:10px 16px;font-size:14.5px;}
body:not([data-screen="desktop"]) .ins-shapes{gap:10px;}
body:not([data-screen="desktop"]) .ins-shape{padding:12px 4px 8px;font-size:12.5px;}
body:not([data-screen="desktop"]) .ins-shape svg{width:54px;height:54px;}
body:not([data-screen="desktop"]) .ins-e{min-height:52px;font-size:30px;}
body:not([data-screen="desktop"]) .ins-k{padding:6px;}
body:not([data-screen="desktop"]) .ins-tagb{padding:12px 18px;font-size:14px;}
body:not([data-screen="desktop"]) .ins-in{padding:12px 14px;font-size:16px;}
body:not([data-screen="desktop"]) .ctxm .mi,body:not([data-screen="desktop"]) .pgmenu .mi{min-height:52px;padding:12px 14px;font-size:15px;}
body:not([data-screen="desktop"]) .mi-x b{font-size:15.5px;}
body:not([data-screen="desktop"]) .mi-x small{font-size:13.5px;}
body:not([data-screen="desktop"]) .menu .lab{font-size:12.5px;padding:10px 12px 4px;}
body:not([data-screen="desktop"]) .ctxm{width:min(340px,calc(100vw - 16px));}

/* ---- tablet: panel floats over the map instead of squeezing it ---- */
body[data-screen="tablet"] #panel{position:absolute;top:0;right:0;bottom:0;width:min(340px,86vw);z-index:12;box-shadow:-10px 0 30px var(--shadow);border-left:1px solid var(--line);height:auto;}
body[data-screen="tablet"] .home-wrap{padding:30px 22px 70px;}
body[data-screen="tablet"] .hint{display:none;}



/* ---- barra do topo: se não cabe, vira um botão "Opções" que abre as abas para baixo ---- */
.bar-drop{display:none;margin-left:auto;align-items:center;gap:8px;}
header.bar.compact .bar-drop{display:inline-flex;}
header.bar.compact .bar-actions{display:none;}
header.bar.compact.open .bar-drop{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);}
body header.bar.compact.open .bar-actions{display:flex;flex-direction:column;align-items:stretch;flex:none;position:absolute;right:10px;top:calc(100% + 6px);margin:0;width:min(330px,calc(100vw - 20px));max-height:min(72vh,calc(var(--app-h,100vh) - 90px));overflow-x:hidden;overflow-y:auto;padding:8px;gap:6px;background:var(--chrome);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px -10px var(--shadow);z-index:35;-webkit-mask-image:none;mask-image:none;animation:barDrop .14s ease;}
header.bar.compact.open .bar-actions > *{width:100%;flex:none;text-align:left;min-height:42px;}
header.bar.compact.open .bar-actions .tb{display:flex;align-items:center;justify-content:space-between;}
header.bar.compact.open .bar-actions .zoomg{display:flex;justify-content:space-between;align-items:center;}
body header.bar.compact.open .bar-actions .status{display:flex;align-items:center;min-height:0;padding:6px 10px;}
@keyframes barDrop{from{opacity:0;transform:translateY(-6px);}}
body[data-screen="phone"] header.bar.compact{flex-wrap:nowrap;}
body[data-screen="phone"] header.bar.compact .mapbtn{flex:1 1 0;min-width:0;max-width:none;}
@media (prefers-reduced-motion:reduce){body header.bar.compact.open .bar-actions{animation:none;}}

/* ---- barra do topo no celular: linha fina (título curto, desfazer, zoom, centralizar, ⋯) ---- */
.bar-more{display:none;}
body[data-screen="phone"] header.bar.thin{flex-wrap:nowrap;gap:6px;padding:6px 8px;}
body[data-screen="phone"] header.bar.thin .mapbtn{flex:1 1 0;min-width:0;max-width:none;padding:6px 10px;gap:8px;}
body[data-screen="phone"] header.bar.thin .mapbtn .c{font-size:0;width:22px;height:22px;padding:0;display:flex;align-items:center;justify-content:center;flex:none;}
body[data-screen="phone"] header.bar.thin .mapbtn .c::before{content:'\2039';font-size:20px;line-height:1;}
body[data-screen="phone"] header.bar.thin .bar-actions{display:flex;flex:none;flex-wrap:nowrap;margin-left:0;gap:6px;padding:0;overflow:visible;-webkit-mask-image:none;mask-image:none;}
body[data-screen="phone"] header.bar.thin .tb.quick,body[data-screen="phone"] header.bar.thin .bar-drop{position:relative;display:inline-flex;flex:none;width:40px;height:40px;min-height:40px;padding:0;font-size:0;margin:0;}
body[data-screen="phone"] header.bar.thin .tb.quick::before,body[data-screen="phone"] header.bar.thin .bar-drop::before{content:'';position:absolute;inset:0;margin:auto;width:20px;height:20px;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;}
body[data-screen="phone"] header.bar.thin .bar-drop .caret,body[data-screen="phone"] #pageView header.bar.thin .bar-drop .caret{display:none!important;}
header.bar.thin #undoBtn{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 14L4 9l5-5M4 9h10a6 6 0 0 1 0 12h-3'/%3E%3C/svg%3E");}
header.bar.thin #centerBtn{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 2v5M12 17v5M2 12h5M17 12h5'/%3E%3C/svg%3E");}
header.bar.thin .bar-drop{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Ccircle cx='5' cy='12' r='2.2'/%3E%3Ccircle cx='12' cy='12' r='2.2'/%3E%3Ccircle cx='19' cy='12' r='2.2'/%3E%3C/svg%3E");}
body[data-screen="phone"] #pageView header.bar.thin .bar-drop{font-size:0;padding:0;width:40px;height:40px;}
body[data-screen="phone"] #pageView header.bar.thin .mapbtn .c{padding:0;}
header.bar.thin .bar-actions{order:4;}
header.bar.thin .bar-drop{order:9;}
header.bar.thin .zoomg{min-height:40px;}
header.bar.thin .zoomg button{min-width:34px;min-height:38px;}
header.bar.thin.open .bar-drop{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);}
body header.bar.thin.open .bar-more{display:flex;flex-direction:column;align-items:stretch;position:absolute;right:8px;top:calc(100% + 6px);width:min(330px,calc(100vw - 16px));max-height:min(72vh,calc(var(--app-h,100vh) - 90px));overflow-x:hidden;overflow-y:auto;padding:8px;gap:6px;background:var(--chrome);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px -10px var(--shadow);z-index:35;animation:barDrop .14s ease;}
header.bar.thin.open .bar-more > *{width:100%;flex:none;min-height:46px;text-align:left;}
header.bar.thin.open .bar-more .tb{display:flex;align-items:center;justify-content:space-between;font-size:14px;}
body header.bar.thin.open .bar-more .status{display:flex;align-items:center;gap:6px;min-height:0;padding:6px 10px;}
body header.bar.thin.open .bar-more .status span{display:inline;}
/* ---- celular: nós menores, o mapa cabe melhor na tela ---- */
body[data-screen="phone"] .node{max-width:200px;padding:8px 12px;font-size:14px;line-height:1.36;}
body[data-screen="phone"] .node.root{max-width:210px;padding:11px 14px;font-size:18px;}
body[data-screen="phone"] .node.lvl1{font-size:14.5px;}
/* ---- phone ---- */
body[data-screen="phone"] header.bar{flex-wrap:wrap;gap:6px;padding:6px 8px;}
body[data-screen="phone"] header.bar{max-width:100%;min-width:0;}
body[data-screen="phone"] header.bar .mapbtn{flex:1 1 100%;max-width:100%;min-width:0;}
body[data-screen="phone"] header.bar .mapbtn .t{flex:1;min-width:0;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;}
body[data-screen="phone"] header.bar .bar-actions{flex:1 1 100%;margin-left:0;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent);}
body[data-screen="phone"] header.bar .bar-actions::-webkit-scrollbar{display:none;}
body[data-screen="phone"] header.bar .bar-actions > *{flex:none;}
body[data-screen="phone"] .status{display:none;}
body[data-screen="phone"] .menu{position:fixed;left:8px!important;right:8px!important;top:auto!important;bottom:8px;width:auto!important;max-height:72vh;overflow-y:auto;z-index:50;border-radius:16px;}
body[data-screen="phone"] #panel{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;height:auto;max-height:70vh;z-index:34;border-radius:16px 16px 0 0;border-top:1px solid var(--line);box-shadow:0 -12px 32px var(--shadow);}
body[data-screen="phone"] .pop,body[data-screen="phone"] .pop.open{position:fixed;left:0!important;right:0;top:auto!important;bottom:0;width:auto!important;max-width:none;max-height:64vh;border-radius:16px 16px 0 0;border-bottom:none;box-shadow:0 -12px 32px var(--shadow);padding:10px 12px calc(12px + env(safe-area-inset-bottom));z-index:33;}
body[data-screen="phone"] .pop.open{max-height:82vh;}
body[data-screen="phone"] .pop.big{inset:0;top:0!important;left:0!important;transform:none;width:auto!important;height:auto;max-height:none;border-radius:0;box-shadow:none;}
body[data-screen="phone"] #popAuto{display:none;}
body[data-screen="phone"] .pop-title{font-size:15px;}
body[data-screen="phone"] .tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;}
body[data-screen="phone"] .tile{min-width:0;padding:8px 2px 6px;font-size:10.5px;}
body[data-screen="phone"] .tsep{display:none;}
body[data-screen="phone"] .note-ed{min-height:150px;font-size:16px;}
body[data-screen="phone"] .overlay{padding:0;align-items:flex-end;}
body[data-screen="phone"] .modal,body[data-screen="phone"] .modal.wide{width:100%;max-width:none;max-height:92vh;border-radius:16px 16px 0 0;padding:18px 16px calc(16px + env(safe-area-inset-bottom));}
body[data-screen="phone"] .modal .acts-row{flex-wrap:wrap;}
body[data-screen="phone"] .modal .acts-row .pb{flex:1 1 auto;}
body[data-screen="phone"] .overlay.quiz-overlay{padding:0;align-items:stretch;}
body[data-screen="phone"] .modal.quiz{height:100vh;height:100dvh;max-height:none;border-radius:0;padding:18px 14px 12px;}
body[data-screen="phone"] .paper-topic{font-size:19px;}
body[data-screen="phone"] .modal.quiz .quiz-q{font-size:16px;line-height:1.35;max-height:26vh;}
body[data-screen="phone"] .modal.quiz .paper-topic{font-size:17px;}
body[data-screen="phone"] .modal.quiz .quiz-topic{display:none;}
body[data-screen="phone"] .modal.quiz .quiz-fb{max-height:20vh;font-size:13px;padding:8px 11px;}
body[data-screen="phone"] .modal.quiz{gap:8px;}
body[data-screen="phone"] .modal.quiz .quiz-op{padding:8px 10px;font-size:14.5px;gap:9px;}
body[data-screen="phone"] .quiz-ops.two{flex-direction:column;}
body[data-screen="phone"] .quiz-num{font-size:54px;}
body[data-screen="phone"] .seg{flex-wrap:wrap;}
body[data-screen="phone"] .home-wrap{padding:18px 14px 70px;gap:16px;}
body[data-screen="phone"] .home-top{flex-direction:column;align-items:stretch;gap:10px;}
body[data-screen="phone"] .home-tt h1{font-size:23px;line-height:1.2;}
body[data-screen="phone"] .nb-grid{display:flex;overflow-x:auto;gap:12px;padding-bottom:6px;scroll-snap-type:x proximity;}
body[data-screen="phone"] .nb-card{flex:0 0 132px;scroll-snap-align:start;}
body[data-screen="phone"] .nb-cover{height:158px;}
body[data-screen="phone"] .cmp{gap:18px;padding:20px 16px 16px;border-radius:16px;}
body[data-screen="phone"] #home .cmp-head h2{font-size:20px;}
body[data-screen="phone"] .cmp textarea{min-height:96px;}
body[data-screen="phone"] .fmt,body[data-screen="phone"] .wz-methods{grid-template-columns:1fr;}
body[data-screen="phone"] .fmt-b{justify-content:flex-start;padding:12px 14px;}
body[data-screen="phone"] .cmp-opts{flex-direction:column;align-items:stretch;gap:14px;}
body[data-screen="phone"] .msg{display:flex;}
body[data-screen="phone"] .msg button{flex:1 1 0;padding:9px 6px;}
body[data-screen="phone"] .msg button small{display:block;margin:1px 0 0;}
body[data-screen="phone"] .cmp .csel{width:100%;}
body[data-screen="phone"] .cmp .ghost{width:100%;}
body[data-screen="phone"] .cmp-foot{flex-direction:column;align-items:stretch;}
body[data-screen="phone"] .go{width:100%;}
body[data-screen="phone"] .alt-b{flex:1 1 calc(50% - 10px);justify-content:flex-start;}
body[data-screen="phone"] .new-card{padding:12px;}
body[data-screen="phone"] .new-card span{font-size:12px;}
body[data-screen="phone"] .map-grid{grid-template-columns:1fr;}
body[data-screen="phone"] .mgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;}
body[data-screen="phone"] .mcard{min-height:150px;}
body[data-screen="phone"] .mcard-open{padding:12px 12px 11px;}
body[data-screen="phone"] .nb-actions .new-card{flex-basis:100%;}
body[data-screen="phone"] .home-sh{flex-direction:column;align-items:stretch;}
body[data-screen="phone"] .home-sh .txt{width:100%;}
body[data-screen="phone"] .home-h-row{flex-direction:column;align-items:stretch;}
body[data-screen="phone"] .home-h-row .txt{width:100%;}
body[data-screen="phone"] .nb-actions{grid-template-columns:1fr;}
body[data-screen="phone"] .nb-title{font-size:22px;}
body[data-screen="phone"] #pageScroll{padding:10px 6px 50px;}
body[data-screen="phone"] .toast{left:12px;right:12px;transform:none;max-width:none;bottom:14px;text-align:center;}
body[data-screen="phone"] .postit{width:170px;}
body[data-screen="phone"] input,body[data-screen="phone"] textarea,body[data-screen="phone"] select{font-size:16px;}
/* short landscape screens (phones turned sideways, small laptops): give height back to the content */

/* ================= v57 ================= */
/* mapa no toque: um toque abre as opções; o texto não seleciona nem abre teclado sozinho */
body:not([data-screen="desktop"]) .node{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;}
body:not([data-screen="desktop"]) .node-text[contenteditable="true"]{-webkit-user-select:text;user-select:text;}
body[data-screen="phone"] .ctxm{max-height:72vh;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));}
/* desenhos animados menores */
.sk-host.an-host{max-width:500px;margin-inline:auto;padding:10px 12px 8px;}
.an-cap{font-size:13.5px;min-height:2.4em;margin-top:6px;}
.sk-svg{max-height:480px;}
/* caderno: menos botões no celular (mover e apagar ficam em "Propriedades") */
.blk-tools{width:122px;}
.blk-tools button.t-props{justify-content:flex-start;}
body:not([data-screen="desktop"]) .blk-tools button.t-mv,body:not([data-screen="desktop"]) .blk-tools button.t-del{display:none;}
.blk-add-more{display:none;}
body[data-screen="phone"] .blk-add.t-ai:not(.blk-add-more){display:none;}
body[data-screen="phone"] .blk-add-more{display:inline-block;border-color:#0F6E8C;color:#0F6E8C;}
.props-quote{font-family:var(--font-read);font-size:14px;line-height:1.5;color:var(--muted);border-left:3px solid #E7A3A3;padding:4px 0 4px 12px;}
.paper-eyebrow,.paper-grade{display:none;}
#pageScroll{touch-action:pan-x pan-y;}
.an-play,.an-step{display:none!important;}
.an-bar{justify-content:center;}
.an-dot{width:12px;height:12px;cursor:pointer;}
.an-stage{cursor:pointer;}
/* folha sem a lateral (furos e margem vermelha): só as linhas, mais espaço para escrever */
.sheet::before{display:none;}
.sheet{padding-left:46px;}
.sheet.paper-pautado{background-image:repeating-linear-gradient(transparent 0,transparent calc(var(--rule) - 2px),#C9D8EE calc(var(--rule) - 1.3px),#C9D8EE calc(var(--rule) - .5px),transparent var(--rule));background-position:0 calc(var(--ruley,24px) - var(--rule));}
.sheet.paper-quadriculado{background-image:linear-gradient(#DCE6F2 1px,transparent 1px),linear-gradient(90deg,#DCE6F2 1px,transparent 1px);background-size:16px 16px,16px 16px;}
.sheet.paper-liso{background-image:none;}
.sheet.paper-pontilhado{background-image:radial-gradient(#b7c4dc 1.3px,transparent 1.4px);background-size:24px 24px;background-position:10px 10px;}
@media (max-width:700px){.sheet{padding-left:18px;padding-right:16px;}}
body[data-screen="phone"] #pageScroll{padding-left:4px;padding-right:4px;}
/* computador: as ferramentas do trecho aparecem por cima, à direita, ao passar o mouse */
body[data-screen="desktop"] .blk-tools{left:auto;right:0;top:-26px;width:auto;flex-direction:row;z-index:5;pointer-events:none;}
body[data-screen="desktop"] .blk:hover .blk-tools,body[data-screen="desktop"] .blk:focus-within .blk-tools{pointer-events:auto;}
/* botão Prova sempre à vista no caderno, também no celular */
body[data-screen="phone"] #pageView header.bar.thin #pgQuizBtn.tb.quick{width:auto;padding:0 14px;font-size:14px;font-weight:600;align-items:center;justify-content:center;line-height:1;}
body[data-screen="phone"] #pageView header.bar.thin #pgQuizBtn.tb.quick::before{display:none;}
/* prova em página branca, textos do topo bem legíveis */
.modal.quiz{--chrome:#FFFFFF;--chrome-2:#F3F5F8;--line:#D8DEE6;--muted:#3F4B57;--text:#16202A;}
.modal.quiz > h2{color:#16202A;font-weight:600;opacity:1;}
.modal.quiz .paper-meta,.modal.quiz .quiz-top{color:#3F4B57;}
.modal.quiz .paper-meta b{color:#16202A;}
.modal.quiz .quiz-top span:last-child{color:#16202A;font-weight:600;}
.modal.quiz .prog{background:#E6EAF0;}
/* só 2 modelos de desenho: profissional e rascunho */
#pgReal,#pgAnim,#pgMapa,#mapDrawReal,#mapDrawAnim,#mapDrawMapa{display:none!important;}
body[data-screen="phone"] .blk-add.blk-add-quiz,body[data-screen="phone"] .blk-add.blk-add-ex{display:inline-block;}
/* desenho integrado à folha: sem cartão, sem borda, o papel aparece por trás */
.sk-host,.mm-host,.sk-host.sk-rasc,.sk-host.sk-real{background:transparent;border:none;box-shadow:none;border-radius:0;padding:6px 0;}
.sk-host.an-host{background:transparent;border:none;box-shadow:none;}
/* prova: nada fica cortado em tela baixa (celular deitado) — rola por dentro e os botões ficam sempre à vista */
.modal.quiz{overflow-y:auto;overscroll-behavior:contain;}
.modal.quiz .acts-row{position:sticky;bottom:calc(-1 * clamp(12px,2.2vh,24px));margin-bottom:calc(-1 * clamp(12px,2.2vh,24px));padding-bottom:clamp(12px,2.2vh,24px);background:var(--chrome);z-index:2;}
.modal.quiz .quiz-op{align-items:center;}
.modal.quiz .quiz-op b{flex:none;}
.modal.quiz .quiz-op:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.modal.quiz .quiz-rev{background:#fff;}
.modal.quiz .quiz-fb strong{display:block;}
body[data-screen="phone"] .modal.quiz .quiz-op{padding:12px 12px;font-size:15.5px;min-height:48px;}
body[data-screen="phone"] .modal.quiz .acts-row{bottom:-12px;margin-bottom:-12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));}
@media (max-height:520px){.modal.quiz .quiz-q{max-height:none;}.modal.quiz .quiz-review{flex:none;overflow:visible;}.modal.quiz .quiz-num{font-size:44px;}}
body[data-screen="phone"] .sk-host.an-host{max-width:88%;}
/* ---- desenho técnico 3D: fundo transparente, gira ao arrastar ---- */
.sk-host.d3-host{background:transparent;border:none;box-shadow:none;border-radius:0;padding:6px 0;overflow:visible;}
.d3-svg{display:block;width:100%;height:auto;max-height:540px;touch-action:none;user-select:none;-webkit-user-select:none;background:transparent;}
@media (pointer:coarse){.d3-svg{touch-action:pan-y;}}
.d3-svg:focus{outline:none;}
.d3-svg:focus-visible{outline:2px solid #0F6E8C;outline-offset:2px;border-radius:8px;}
.d3-svg text{font-family:var(--font-display,'Space Grotesk',sans-serif);}
.d3-lab{font-size:14px;font-weight:600;fill:#14324a;paint-order:stroke;stroke:#fffef8;stroke-width:4px;stroke-linejoin:round;}
.d3-cota{font-size:13px;font-weight:700;fill:#c2410c;paint-order:stroke;stroke:#fffef8;stroke-width:4px;stroke-linejoin:round;}
.d3-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-family:var(--font-display,'Space Grotesk',sans-serif);}
.d3-b{padding:7px 13px;border-radius:9px;border:1.5px solid #b7c3e0;background:#fff;color:#22306b;font-family:inherit;font-size:13px;font-weight:600;line-height:1;}
.d3-b:hover{background:#eef2fc;border-color:#22306b;}
.d3-b[aria-pressed="true"]{background:#0F6E8C;border-color:#0F6E8C;color:#fff;}
.d3-ex{display:inline-flex;align-items:center;gap:8px;margin-left:4px;font-size:13px;font-weight:600;color:#22306b;}
.d3-ex input{width:120px;accent-color:#0F6E8C;}
.d3-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.d3-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 8px;border-radius:999px;border:1.5px solid #cbd5e1;background:#fff;color:#14324a;font-family:var(--font-display,'Space Grotesk',sans-serif);font-size:12.5px;font-weight:600;line-height:1.2;}
.d3-chip i{flex:none;width:13px;height:13px;border-radius:50%;background:var(--c,#9ca3af);box-shadow:inset 0 0 0 1px rgba(0,0,0,.28);}
.d3-chip:hover{border-color:#0F6E8C;}
.d3-chip[aria-pressed="true"]{border-color:#0F6E8C;background:#e6f3f7;box-shadow:0 0 0 1px #0F6E8C;}
.d3-info{margin-top:10px;padding:9px 13px;border-left:4px solid #0F6E8C;border-radius:0 8px 8px 0;background:rgba(255,255,255,.72);font-family:var(--font-read,'Atkinson Hyperlegible',sans-serif);font-size:14.5px;line-height:1.4;color:#334155;}
.d3-info[hidden]{display:none;}
@media (max-height:520px){ .pop.open{max-height:calc(100% - 8px);} .modal.quiz{padding-top:18px;} .nb-cover{height:140px;} body[data-screen="phone"] .pop,body[data-screen="phone"] .pop.open{max-height:88vh;} }


/* ---- celular/tablet: janelas seguem a área visível (teclado aberto não esconde botões) ---- */
body:not([data-screen="desktop"]) .overlay:not(.quiz-overlay){top:var(--vv-top,0px);bottom:auto;height:var(--vv-h,100%);}
body:not([data-screen="desktop"]) .modal:not(.quiz){max-height:calc(var(--vv-h,100vh) - 16px);}

/* ---- cartão Criar: mais contraste e menos informação ---- */
body:not([data-canvas="dark"]) .cmp,body:not([data-canvas="dark"]) .alt{--muted:#38434F;}
body[data-canvas="dark"] .cmp,body[data-canvas="dark"] .alt{--muted:#BAC5CF;}
.cmp .cap.ok{display:none;}
.cmp-info:empty{display:none;}
.cmp-lab,.cmp .fld-lab{font-size:12.5px;font-weight:700;color:var(--text);}
.cmp textarea::placeholder{color:var(--muted);opacity:1;}
.cmp-chip{color:var(--text);}
.msg button small{opacity:1;}
.cmp-more{border:1.5px solid var(--line);border-radius:12px;background:var(--chrome-2);}
.cmp-more summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 14px;font-family:var(--font-display);font-size:14.5px;font-weight:600;color:var(--text);}
.cmp-more summary::-webkit-details-marker{display:none;}
.cmp-more summary::after{content:'';width:8px;height:8px;margin-right:4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s ease;}
.cmp-more[open] summary::after{transform:rotate(-135deg);}
.cmp-more .cmp-opts{padding:4px 14px 14px;}
.cmp-photo .ghost{align-self:flex-start;}
body[data-screen="phone"] .cmp{gap:16px;padding:20px 16px 18px;}
body[data-screen="phone"] .cmp-lab,body[data-screen="phone"] .cmp .fld-lab{font-size:13px;}
body[data-screen="phone"] .fmt-desc{font-size:15px;}
body[data-screen="phone"] .cmp-info{flex:0 0 auto;}
body:not([data-canvas="dark"]) #home{--muted:#38434F;}
body[data-canvas="dark"] #home{--muted:#BAC5CF;}

/* ---- editor da folha (celular/tablet): escolher o tipo + bloco de notas flutuante ---- */
.es-back{position:fixed;inset:0;z-index:9000;background:rgba(20,28,60,.38);}
.es-card{position:absolute;left:0;right:0;bottom:var(--kb,0px);max-height:calc(var(--vh,100dvh) - 8px);display:flex;flex-direction:column;gap:10px;padding:10px 14px calc(12px + env(safe-area-inset-bottom,0px));background:#fffdf7;border-radius:18px 18px 0 0;box-shadow:0 -6px 24px rgba(20,28,60,.25);overflow:hidden;animation:esIn .18s ease;}
@keyframes esIn{from{transform:translateY(24px);opacity:0;}to{transform:none;opacity:1;}}
@media (prefers-reduced-motion:reduce){.es-card{animation:none;}}
.es-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;}
.es-title{font-weight:700;font-size:16px;color:#1b2530;}
.es-cancel,.es-ok{min-height:44px;padding:0 16px;border-radius:12px;border:1.5px solid #b7c3e0;background:#fff;color:#22306b;font-size:15px;font-weight:600;}
.es-ok{background:#22306b;border-color:#22306b;color:#fff;font-weight:700;}
.es-type{min-height:44px;padding:0 14px;border-radius:22px;border:1.5px solid #22306b;background:#eef2fc;color:#22306b;font-size:15px;font-weight:700;}
.es-type::after{content:' ▾';}
.es-type.static{border-color:transparent;background:transparent;}
.es-type.static::after{content:'';}
.es-ed{position:relative;flex:1 1 auto;min-height:92px;overflow:auto;padding:12px 14px;border:1.5px solid #b9c4dc;border-radius:12px;background:#fff;font-size:18px;line-height:1.55;color:#14324a;white-space:pre-wrap;word-break:break-word;outline:none;-webkit-user-select:text;user-select:text;}
.es-ed:focus{border-color:#22306b;box-shadow:0 0 0 3px rgba(34,48,107,.15);}
.es-ed.is-empty::before{content:attr(data-ph);position:absolute;left:14px;top:12px;right:14px;color:#5b6672;pointer-events:none;}
.es-ed.t-titulo{font-size:26px;font-weight:700;line-height:1.25;}
.es-ed.t-subtitulo{font-size:21px;font-weight:600;line-height:1.3;}
.es-ed.t-destaque{border-left:5px solid #c2410c;background:#fff4f0;}
.es-ed.t-lembrete{background:#FFF4C2;border-color:#e6cf7a;}
.es-tools{flex:none;display:flex;flex-direction:column;gap:8px;}
.es-dock{display:flex;gap:4px;}
.es-tool{flex:1 1 0;min-width:0;min-height:46px;padding:0;border-radius:12px;border:1.5px solid #b7c3e0;background:#fff;color:#22306b;font-size:16px;display:flex;align-items:center;justify-content:center;}
.es-tool svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.es-tool[aria-pressed="true"]{background:#22306b;color:#fff;border-color:#22306b;}
.es-pal{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:2px 2px 4px;scrollbar-width:none;}
.es-pal::-webkit-scrollbar{display:none;}
.es-pal[hidden]{display:none;}
.es-pal-lab{flex:none;font-size:13px;font-weight:700;color:#22306b;}
.es-sw{flex:none;width:38px;height:38px;padding:0;border-radius:50%;border:2px solid #fff;background:var(--sw);box-shadow:0 0 0 1.5px #9aa8c8;}
.es-sw.pen{border-radius:10px;}
.es-pill{flex:none;min-height:40px;padding:0 14px;border-radius:20px;border:1.5px solid #b7c3e0;background:#fff;color:#22306b;font-size:14px;font-weight:600;}
.es-hint{flex:none;font-size:12.5px;line-height:1.35;color:#4a5568;}
.es-tasks{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:8px;}
.es-task{display:flex;align-items:center;gap:8px;}
.es-chk{flex:none;width:44px;height:44px;padding:0;border-radius:12px;border:2px solid #22306b;background:#fff;color:#fff;font-size:22px;font-weight:700;}
.es-chk[aria-checked="true"]{background:#22306b;}
.es-tin{flex:1 1 auto;min-width:0;min-height:44px;padding:0 12px;border:1.5px solid #b9c4dc;border-radius:12px;font-size:17px;background:#fff;color:#14324a;}
.es-del{flex:none;width:44px;height:44px;padding:0;border-radius:12px;border:1.5px solid #e2b8b8;background:#fff;color:#b23b4a;font-size:22px;}
.es-add{min-height:46px;border-radius:12px;border:1.5px dashed #22306b;background:#eef2fc;color:#22306b;font-size:15px;font-weight:600;}
.es-math{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:10px;}
.es-mprev{min-height:64px;display:flex;align-items:center;justify-content:center;padding:10px;border:1.5px solid #b9c4dc;border-radius:12px;background:#fff;font-size:20px;color:#14324a;overflow:auto;}
.es-mprev.is-empty{color:#5b6672;font-size:15px;}
.es-latex{width:100%;min-height:84px;padding:10px 12px;border:1.5px solid #b9c4dc;border-radius:12px;font-family:var(--font-mono);font-size:16px;color:#14324a;background:#fff;resize:none;}
.es-mkeys{display:flex;flex-wrap:wrap;gap:8px;}
.tp-card{overflow:auto;}
.tp-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.tp-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:118px;padding:10px 12px 12px;border-radius:14px;border:1.5px solid #cfd7ea;background:#fff;text-align:left;}
.tp-tile[aria-pressed="true"]{border-color:#22306b;box-shadow:0 0 0 2px #22306b;}
.tp-demo{display:flex;flex-direction:column;gap:5px;justify-content:center;width:100%;height:46px;margin-bottom:4px;overflow:hidden;color:#14324a;}
.tp-name{font-size:15px;color:#1b2530;}
.tp-desc{font-size:12.5px;line-height:1.3;color:#4a5568;}
.tp-t{font-size:19px;font-weight:700;line-height:1.1;}
.tp-s{font-size:15px;font-weight:600;}
.tp-rule{display:block;height:3px;width:100%;border-radius:2px;background:#0F6E8C;}
.tp-l{display:block;height:6px;width:100%;border-radius:3px;background:#b9c4dc;}
.tp-l.short{width:60%;}
.tp-li{display:flex;align-items:center;gap:6px;font-size:12px;}
.tp-li .tp-l{flex:1;}
.tp-box{display:inline-block;flex:none;width:12px;height:12px;border:2px solid #22306b;border-radius:3px;text-decoration:none;}
.tp-box.on{background:#22306b;}
.tp-tag{display:inline-block;align-self:flex-start;padding:1px 8px;border-radius:6px;background:#c2410c;color:#fff;font-size:11px;}
.tp-note{display:flex;flex-direction:column;gap:5px;padding:6px 8px;border-radius:6px;background:#FFF4C2;}
.tp-math{font-family:'Times New Roman',serif;font-style:italic;font-size:18px;}

/* ---- desenho animado (vídeo em 5 partes) ---- */
.sk-host.av-host{max-width:680px;margin-inline:auto;padding:6px 0;}
.av-stage{position:relative;width:100%;cursor:pointer;}
.av-stage .av-f{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;}
.av-stage.av-swap{animation:avSwap .35s ease;}
@keyframes avSwap{from{opacity:.35;}to{opacity:1;}}
@media (prefers-reduced-motion:reduce){.av-stage.av-swap{animation:none;}}
.av-cap{min-height:2.7em;margin-top:8px;font-family:var(--font-display);font-size:14.5px;font-weight:600;line-height:1.4;color:#14324a;text-align:center;}
.av-detail{min-height:2em;margin:0 10px 6px;color:#435568;font:500 13.5px/1.4 var(--font-display);text-align:center;}
.av-detail[hidden]{display:none;}
.av-bar{display:flex;align-items:center;gap:10px;margin-top:4px;}
.av-play,.av-speed{flex:none;min-width:44px;min-height:44px;padding:0 12px;border-radius:22px;border:1.5px solid #b7c3e0;background:#fff;color:#14324a;font-family:var(--font-display);font-size:14px;font-weight:700;}
.av-play{border-color:#0F6E8C;background:#0F6E8C;color:#fff;font-size:15px;}
.av-track{position:relative;flex:1 1 auto;height:44px;margin:0 8px;touch-action:none;}
.av-track::before{content:'';position:absolute;left:0;right:0;top:50%;height:6px;margin-top:-3px;border-radius:3px;background:#d5dbe1;}
.av-fill{position:absolute;left:0;top:50%;height:6px;margin-top:-3px;width:0;border-radius:3px;background:#0F6E8C;}
.av-mark{position:absolute;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;padding:0;border-radius:50%;border:2px solid #0F6E8C;background:#fff;}
.av-mark::after{content:'';position:absolute;inset:-12px;}
.av-mark.on{background:#0F6E8C;}
.av-step{flex:none;min-width:3.4em;font-family:var(--font-mono);font-size:12px;color:#475569;text-align:right;}
body[data-screen="phone"] .sk-host.av-host{max-width:100%;}

/* ---- editor da folha: continuar escrevendo + computador ---- */
.es-next{flex:none;display:flex;align-items:center;gap:6px;overflow-x:auto;padding:2px 0;scrollbar-width:none;}
.es-next::-webkit-scrollbar{display:none;}
.es-next-lab{flex:none;font-size:12.5px;font-weight:700;color:#22306b;}
.es-chip{flex:none;min-height:36px;padding:0 12px;border-radius:18px;border:1.5px solid #b7c3e0;background:#fff;color:#22306b;font-size:13.5px;font-weight:600;}
body:not([data-screen="desktop"]) .es-card:has(.es-ed:focus) :is(.es-hint,.es-next){display:none;}
body[data-screen="desktop"] .es-back{display:flex;align-items:center;justify-content:center;}
body[data-screen="desktop"] .es-card{position:relative;left:auto;right:auto;bottom:auto;width:min(720px,92vw);max-height:88vh;padding:16px 18px;border-radius:18px;}
body[data-screen="desktop"] .tp-card{width:min(700px,92vw);}
body[data-screen="desktop"] .tp-grid{grid-template-columns:repeat(4,1fr);}
body[data-screen="desktop"] .es-ed{min-height:170px;font-size:19px;}
body[data-screen="desktop"] .es-tool{flex:0 0 56px;}
body[data-screen="desktop"] .es-dock{gap:6px;}
body[data-screen="desktop"] .es-next{flex-wrap:wrap;overflow:visible;}
/* v86: rascunho limpo (sem tremido): o papel aparece por baixo das cores e os rótulos usam letra legível */
.sk-rasc .sk-svg{mix-blend-mode:multiply;}
.sk-rasc .sk-svg text{font-family:'Patrick Hand','Caveat',var(--hand);font-size:16px;}

/* 23/09/2026 — padrão novo do caderno:
   1) rótulos em volta dos desenhos: letra formal (Montserrat) e tinta escura, com contorno da cor do papel
      para ler por cima das pautas (antes: manuscrita clara, difícil de ler);
   2) esquema de caixas e setas: traço rabiscado caprichado e fundo transparente (sem o cartão branco). */
.sk-svg text, .sk-rasc .sk-svg text{font-family:'Montserrat',var(--font-display),sans-serif !important;font-weight:600;font-size:15px;fill:#1b2540 !important;fill-opacity:1 !important;opacity:1 !important;stroke:#fffdf5;stroke-width:3.5px;stroke-opacity:.92;stroke-linejoin:round;paint-order:stroke;letter-spacing:.01em;}
.esq-host{background:transparent;border:none;box-shadow:none;padding:4px 0;}
.esq-txt{font-family:'Montserrat',var(--font-display),sans-serif;font-weight:600;fill:#1b2540;}
.esq-lab{font-family:'Montserrat',var(--font-display),sans-serif;stroke:#fffdf5;}

/* 23/09/2026 — mapa mental do caderno em rascunho: traço de caneta e tamanho padrão (mesma largura em toda folha) */
.mm-svg.mm-rasc{width:100%;max-width:820px;margin:0 auto;}


.mcard-acoes{display:flex;gap:8px;padding:8px 12px 12px;border-top:1px solid var(--line);}
.mcard-acoes .pbt{flex:1;min-height:34px;cursor:pointer;}

.wiz-area .big::placeholder{color:#b9bec8;opacity:1;}
/* ===== css/extras.css ===== */
/* ---- modo apresentação, planos e análise de provas ---- */
.pres{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;background:radial-gradient(120% 100% at 50% 0%,#1c2b3a 0%,#0c141c 100%);color:#fff;font-family:var(--font-display);}
.pres-top{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(rgba(0,0,0,.55),transparent);transition:opacity .25s ease;}
.pres-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;opacity:.92;}
.pres-count{font-family:var(--font-mono);font-size:13px;opacity:.85;}
.pres-b{padding:8px 14px;border-radius:10px;border:1.5px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);color:#fff;font-family:var(--font-display);font-size:13px;font-weight:600;}
.pres-b:hover{background:rgba(255,255,255,.2);}
.pres-b[aria-pressed="true"]{background:#0F6E8C;border-color:#0F6E8C;}
.pres-stage{position:relative;flex:1;overflow:hidden;touch-action:pan-y;}
.pres-slide.sheet{display:flex;flex-direction:column;justify-content:center;position:absolute;left:50%;top:50%;max-width:none;min-height:0;margin:0;padding:34px 46px;border-radius:14px;transform-origin:center center;box-shadow:0 24px 70px rgba(0,0,0,.55);}
.pres-slide .blk{transition:opacity .28s ease;}
.pres-slide .blk.pres-hide{opacity:0;pointer-events:none;}
.pres-slide .blk-tools{display:none;}
.pres-slide.sheet.pres-capa .blk-titulo .blk-body{font-size:2.4em;text-align:center;}
.pres-slide.sheet.pres-capa .blk-body{text-align:center;}
.pres-nav{position:absolute;top:50%;z-index:3;width:56px;height:100px;margin-top:-50px;border:none;border-radius:16px;background:rgba(255,255,255,.14);color:#fff;font-size:38px;line-height:1;transition:opacity .25s ease,background .15s ease;}
.pres-nav:hover{background:rgba(255,255,255,.28);}
.pres-nav.prev{left:12px;}.pres-nav.next{right:12px;}
.pres-nav[hidden]{display:none;}
.pres.idle .pres-top,.pres.idle .pres-nav{opacity:0;}
.pres-prog{position:absolute;left:0;right:0;bottom:0;height:5px;background:rgba(255,255,255,.18);z-index:3;}
.pres-prog i{display:block;height:100%;background:#4FC3E8;transition:width .25s ease;}
@media (prefers-reduced-motion:reduce){.pres-slide .blk,.pres-prog i,.pres-nav,.pres-top{transition:none;}}
body[data-screen="phone"] .pres-nav{width:44px;height:76px;margin-top:-38px;font-size:30px;}
body[data-screen="phone"] .pres-title{display:none;}

/* planos */
.lock-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-family:var(--font-read);font-size:14.5px;line-height:1.45;}
.plan-test{display:flex;flex-direction:column;gap:8px;align-items:flex-start;margin-top:8px;padding:14px 16px;border:1.5px dashed var(--line);border-radius:14px;}
.study-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:14px 18px;border:1.5px solid var(--line);border-radius:16px;background:var(--chrome);box-shadow:0 1px 2px var(--shadow);}
.study-txt{flex:1 1 260px;display:flex;flex-direction:column;gap:2px;min-width:0;}
.study-txt b{font-size:15px;font-weight:700;}
.study-txt span{font-family:var(--font-read);font-size:13.5px;color:var(--muted);line-height:1.4;}
.study-go{padding:10px 18px;font-size:14px;}
.pb.ghost{background:transparent;border-color:var(--accent);color:var(--accent);}

/* análise de provas */
.modal.ana{gap:14px;}
.ana-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.ana-stat{display:flex;flex-direction:column;gap:2px;padding:12px 10px;border:1px solid var(--line);border-radius:12px;background:var(--chrome-2);text-align:center;}
.ana-stat b{font-size:22px;font-weight:700;letter-spacing:-.01em;}
.ana-stat span{font-size:12px;color:var(--muted);}
.ana-h{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;}
.ana-spark-box,.ana-sec{display:flex;flex-direction:column;}
.ana-spark{width:100%;height:70px;overflow:visible;}
.ana-line{fill:none;stroke:var(--accent);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;}
.ana-dot{fill:var(--chrome);stroke:var(--accent);stroke-width:2;}
.ana-goal{stroke:var(--line);stroke-width:1.2;stroke-dasharray:4 4;}
.ana-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--chrome);margin-bottom:6px;}
.ana-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.ana-topic{font-size:14.5px;font-weight:600;line-height:1.3;word-break:break-word;}
.ana-doc{font-size:12px;color:var(--muted);}
.ana-bar{height:7px;border-radius:5px;background:var(--line);overflow:hidden;}
.ana-bar i{display:block;height:100%;border-radius:5px;}
.ana-bar i.ok{background:var(--ok);}.ana-bar i.mid{background:#e0a11b;}.ana-bar i.low{background:var(--danger);}
.ana-meta{font-family:var(--font-mono);font-size:11.5px;color:var(--muted);}
.ana-plan{padding:12px 14px;border-left:4px solid var(--accent);border-radius:0 10px 10px 0;background:var(--chrome-2);font-family:var(--font-read);font-size:14px;line-height:1.55;white-space:pre-wrap;}
.ana-plan[hidden]{display:none;}
@media (max-width:560px){.ana-stats{grid-template-columns:repeat(2,1fr);}}

/* v83: transição entre slides (o atual sai para um lado, o novo entra do outro) */
.pres-wrap{position:absolute;inset:0;transition:opacity .34s ease,transform .38s cubic-bezier(.22,1,.36,1);will-change:opacity,transform;}
.pres-wrap.enter-next{opacity:0;transform:translateX(7%);}
.pres-wrap.enter-prev{opacity:0;transform:translateX(-7%);}
.pres-wrap.enter-fade{opacity:0;transform:scale(.985);}
.pres-wrap.leave-next{opacity:0;transform:translateX(-7%);pointer-events:none;}
.pres-wrap.leave-prev{opacity:0;transform:translateX(7%);pointer-events:none;}
.pres-b{min-height:40px;}
@media (prefers-reduced-motion:reduce){.pres-wrap{transition:opacity .15s ease;}.pres-wrap.enter-next,.pres-wrap.enter-prev,.pres-wrap.enter-fade,.pres-wrap.leave-next,.pres-wrap.leave-prev{transform:none;}}
.pres-slide .mm-host{overflow:visible;padding:0;}
.pres-slide .mm-svg{min-width:0;width:100%;height:auto;max-height:none;}
/* ===== css/lab.css ===== */
/* ================= Laboratório 3D =================
   Direção: bancada de laboratório sobre rocha. Fundo basalto, painéis de ardósia, texto cor de cal, arenito como apoio,
   quartzo (azul-vidro) como único acento, semáforo (verde, âmbar, óxido) só para resultado. Números em fonte mono. */
#lab{--lb-bg:#14161a;--lb-pan:#1c2024;--lb-pan2:#252a30;--lb-line:#343b42;--lb-tx:#ebe6da;--lb-mu:#a6a194;--lb-ac:#69cfd6;--lb-ac2:#c9b48f;--lb-ok:#63b58a;--lb-aviso:#e0a03a;--lb-falha:#d4553f;--lb-r:12px;
  position:fixed;inset:0;z-index:9500;display:flex;flex-direction:column;background:var(--lb-bg);color:var(--lb-tx);font-family:var(--font-display,'Space Grotesk',sans-serif);font-size:13px;line-height:1.4;-webkit-tap-highlight-color:transparent;}
#lab[hidden]{display:none;}
#lab button{font-family:inherit;color:inherit;}
#lab svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
#lab :focus-visible{outline:2px solid var(--lb-ac);outline-offset:2px;}

/* cabeçalho */
.lab-head{flex:none;display:flex;align-items:center;gap:10px;min-height:56px;padding:6px 12px calc(6px);padding-top:calc(6px + env(safe-area-inset-top,0px));background:var(--lb-pan);border-bottom:1px solid var(--lb-line);}
.lab-brand{flex:none;display:flex;align-items:center;gap:10px;min-width:0;}
.lab-logo{width:34px;height:34px;flex:none;}
.lab-logo *{stroke:none;}
.lab-brand b{display:block;font-size:14px;letter-spacing:.02em;}
.lab-brand small[data-sv="no"]{color:var(--lb-aviso);}
.lab-brand small[data-sv="yes"]{color:var(--lb-ok);}
.lab-brand small{display:block;max-width:34vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--lb-mu);font-size:11px;}
.lab-back{flex:none;display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 16px 0 10px;border:1px solid var(--lb-line);border-radius:12px;background:var(--lb-pan2);font-weight:700;font-size:13px;transition-property:border-color,background-color,transform;transition-duration:.15s;}
.lab-back svg{width:22px;height:22px;}
.lab-back:hover{border-color:var(--lb-ac);background:var(--lb-bg);}
.lab-back:active{transform:scale(.97);}
.lab-actions{flex:none;display:flex;align-items:center;gap:6px;margin-left:auto;}
.lab-brand{margin-left:6px;}
.lab-ib{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:40px;height:40px;padding:0 10px;border:1px solid var(--lb-line);border-radius:10px;background:var(--lb-pan2);font-weight:600;font-size:12px;}
.lab-ib svg{width:20px;height:20px;}
.lab-ib:hover{border-color:var(--lb-ac);}
.lab-ib[aria-pressed="true"]{border-color:var(--lb-ac);background:rgba(105,207,214,.14);color:var(--lb-ac);}
.lab-ib.pri{background:var(--lb-ac);border-color:var(--lb-ac);color:#0d1417;}
.lab-ib.pri:hover{filter:brightness(1.08);}

/* corpo */
.lab-body{flex:1;display:flex;min-height:0;position:relative;}
.lab-dock{flex:none;display:flex;width:330px;margin:8px 0 8px 8px;background:var(--lb-pan);border:1px solid var(--lb-line);border-radius:var(--lb-r);overflow:hidden;transition:width .22s ease;}
#labDockR{margin:8px 8px 8px 0;flex-direction:row-reverse;width:350px;}
.lab-dock.col{width:60px!important;}
.lab-tabs{flex:none;display:flex;flex-direction:column;gap:4px;padding:6px;width:60px;background:var(--lb-pan2);}
.lab-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 2px;border:1px solid transparent;border-radius:9px;background:transparent;font-size:9.5px;font-weight:600;letter-spacing:0;color:var(--lb-mu);}
.lab-tab svg{width:20px;height:20px;}
.lab-tab:hover{color:var(--lb-tx);}
.lab-tab[aria-selected="true"]{background:var(--lb-bg);border-color:var(--lb-line);color:var(--lb-ac);}
.lab-dock.col .lab-tab[aria-selected="true"]{background:transparent;border-color:transparent;color:var(--lb-mu);}
.lab-panes{flex:1;min-width:0;display:flex;flex-direction:column;}
.lab-dock.col .lab-panes{display:none;}
.lab-pane{flex:1;min-height:0;display:none;flex-direction:column;}
.lab-pane.on{display:flex;}
.lab-ph{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--lb-line);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--lb-ac2);}
.lab-pb{flex:1;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain;}
.lab-pb::-webkit-scrollbar{width:6px;}
.lab-pb::-webkit-scrollbar-thumb{background:var(--lb-line);border-radius:3px;}

/* viewport */
.lab-stage{flex:1;min-width:0;display:flex;flex-direction:column;}
#labHost{position:absolute;inset:0;}
.lab-view{position:relative;flex:1;min-width:0;min-height:0;margin:8px;border:1px solid var(--lb-line);border-radius:var(--lb-r);overflow:hidden;background:#0a0b0d;}
#lab[data-lay="sides"] .lab-stage .lab-view{margin:8px;}
.lab-cv{position:absolute;inset:0;display:block;touch-action:none;outline:none;}
.lab-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.lab-lbl{position:absolute;transform:translate(-50%,-115%);padding:2px 8px;border:1px solid var(--lb-line);border-radius:10px;background:rgba(20,22,26,.8);color:var(--lb-tx);font-size:11px;font-weight:600;white-space:nowrap;}
.lab-lbl.int{border-color:var(--lb-aviso);color:#f3d59a;}
.lab-title{position:absolute;top:10px;left:10px;z-index:3;max-width:calc(100% - 340px);padding:8px 12px;border:1px solid var(--lb-line);border-radius:10px;background:rgba(20,22,26,.82);backdrop-filter:blur(6px);pointer-events:none;}
.lab-title b{display:block;font-size:13px;}
.lab-title small{display:block;color:var(--lb-mu);font-size:11px;}
.lab-tools{position:absolute;z-index:5;top:10px;right:10px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;}
.lab-tb{display:flex;gap:4px;padding:4px;border:1px solid var(--lb-line);border-radius:12px;background:rgba(20,22,26,.86);backdrop-filter:blur(6px);}
.lab-tb button{min-width:38px;height:38px;padding:0 8px;border:1px solid transparent;border-radius:9px;background:transparent;font-size:11px;font-weight:700;}
.lab-tb button svg{width:18px;height:18px;}
.lab-tb button:hover{background:var(--lb-pan2);}
.lab-tb button[aria-pressed="true"]{color:var(--lb-ac);border-color:var(--lb-ac);}
.lab-rx{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:6px 10px;border:1px solid var(--lb-line);border-radius:12px;background:rgba(20,22,26,.86);backdrop-filter:blur(6px);font-size:11px;font-weight:700;color:var(--lb-ac);}
.lab-rx input{width:96px;}
.lab-pop{position:absolute;z-index:6;min-width:200px;padding:10px;border:1px solid var(--lb-line);border-radius:12px;background:var(--lb-pan);box-shadow:0 14px 34px rgba(0,0,0,.5);}
.lab-pop[hidden]{display:none;}
.lab-sw{display:flex;flex-wrap:wrap;gap:8px;}
.lab-sw button{width:34px;height:34px;padding:0;border:2px solid var(--lb-line);border-radius:50%;background:var(--c);}
.lab-sw button[aria-pressed="true"]{border-color:var(--lb-ac);box-shadow:0 0 0 2px rgba(105,207,214,.35);}
.lab-sw button.auto{background:conic-gradient(#14161a,#0e2a3d,#e9e5dc,#cbbf9f,#14161a);}
.lab-hud{position:absolute;left:10px;right:10px;bottom:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;pointer-events:none;}
.lab-status{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--lb-line);border-radius:10px;background:rgba(20,22,26,.86);backdrop-filter:blur(6px);font-weight:700;font-size:12px;}
.lab-status i{width:9px;height:9px;border-radius:50%;background:var(--lb-ok);box-shadow:0 0 10px currentColor;color:var(--lb-ok);}
.lab-status[data-n="aviso"] i{background:var(--lb-aviso);color:var(--lb-aviso);}
.lab-status[data-n="falha"] i{background:var(--lb-falha);color:var(--lb-falha);animation:labPulse 1s ease-in-out infinite;}
.lab-med{display:flex;flex-direction:column;justify-content:center;min-width:88px;padding:6px 12px;border:1px solid var(--lb-line);border-radius:10px;background:rgba(20,22,26,.86);backdrop-filter:blur(6px);}
.lab-med small{color:var(--lb-mu);font-size:10.5px;}
.lab-med b{font-family:var(--font-mono,'IBM Plex Mono',monospace);font-size:14px;font-variant-numeric:tabular-nums;}
.lab-med[data-n="aviso"] b{color:var(--lb-aviso);}
.lab-med[data-n="falha"] b{color:var(--lb-falha);}
.lab-toast{position:absolute;left:50%;bottom:74px;transform:translateX(-50%);max-width:min(92%,520px);padding:10px 14px;border:1px solid var(--lb-line);border-left:4px solid var(--lb-aviso);border-radius:10px;background:var(--lb-pan);box-shadow:0 10px 30px rgba(0,0,0,.5);font-size:12.5px;animation:labIn .25s ease;}
.lab-toast[data-n="ok"]{border-left-color:var(--lb-ok);}
.lab-toast[data-n="falha"]{border-left-color:var(--lb-falha);}
.lab-bar{height:6px;border-radius:4px;background:var(--lb-bg);overflow:hidden;}
.lab-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--lb-ok),var(--lb-ac));}
.lab-runm{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-family:var(--font-mono,monospace);font-size:11px;color:var(--lb-mu);}
.lab-runm b{color:var(--lb-tx);}

/* área de teste: fica embaixo do desenho, nunca cobre a visualização, e minimiza */
.lab-td{flex:none;margin:0 8px 8px;border:1px solid var(--lb-line);border-radius:var(--lb-r);background:var(--lb-pan);overflow:hidden;animation:labIn .22s ease;}
.lab-td[hidden]{display:none;}
.lab-tdh{display:flex;align-items:center;gap:10px;min-height:48px;padding:4px 6px 4px 14px;}
.lab-tdk{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lb-ac2);white-space:nowrap;}
.lab-tdh b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;}
.lab-tdst{margin-left:auto;flex:none;padding:3px 10px;border-radius:99px;border:1px solid var(--lb-line);font-size:11.5px;font-weight:700;background:var(--lb-pan2);}
.lab-tdst:empty{display:none;}
.lab-tdst[data-n="ok"]{color:var(--lb-ok);border-color:var(--lb-ok);}
.lab-tdst[data-n="aviso"]{color:var(--lb-aviso);border-color:var(--lb-aviso);}
.lab-tdst[data-n="falha"]{color:#fff;background:var(--lb-falha);border-color:var(--lb-falha);}
.lab-tdst:empty + .lab-ib{margin-left:auto;}
#labTdMin svg{transition:transform .2s ease;}
.lab-td.min #labTdMin svg{transform:rotate(180deg);}
.lab-td.min .lab-tdb{display:none;}
.lab-tdb{padding:2px 14px 12px;max-height:min(40vh,300px);overflow-y:auto;}
.lab-run[hidden],.lab-vb[hidden]{display:none;}
.lab-runh{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;}
.lab-runt{font-size:12.5px;color:var(--lb-mu);}
.lab-runh .lab-btn{min-height:36px;}
.lab-risk{margin:2px 0 8px;}
.lab-rk{position:relative;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--lb-ok) 0%,var(--lb-ok) 38%,var(--lb-aviso) 62%,var(--lb-falha) 84%,var(--lb-falha) 100%);}
.lab-rk i{position:absolute;top:-4px;left:0;width:4px;height:20px;margin-left:-2px;border-radius:2px;background:#fff;box-shadow:0 0 0 2px rgba(0,0,0,.5);transition:left .12s linear;}
.lab-rkl{display:flex;justify-content:space-between;margin-top:4px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--lb-mu);}
.lab-rkl span:nth-child(1){color:var(--lb-ok);}.lab-rkl span:nth-child(2){color:var(--lb-aviso);}.lab-rkl span:nth-child(3){color:var(--lb-falha);}
.lab-v{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) auto;grid-template-areas:"vg vm va" "h3 vm va" "tx vm va" "rl vm va";column-gap:22px;align-items:start;border-left:5px solid var(--lb-line);padding-left:14px;}
.lab-v[data-n="ok"]{border-left-color:var(--lb-ok);}
.lab-v[data-n="aviso"]{border-left-color:var(--lb-aviso);}
.lab-v[data-n="falha"]{border-left-color:var(--lb-falha);}
.lab-v .vg{grid-area:vg;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--lb-mu);}
.lab-v h3{grid-area:h3;margin:2px 0 4px;font-size:20px;line-height:1.15;}
.lab-v[data-n="ok"] h3{color:var(--lb-ok);}
.lab-v[data-n="aviso"] h3{color:var(--lb-aviso);}
.lab-v[data-n="falha"] h3{color:var(--lb-falha);}
.lab-v p{grid-area:tx;margin:0;font-size:13px;line-height:1.5;color:var(--lb-tx);}
.lab-v .vm{grid-area:vm;display:flex;flex-direction:column;border-top:1px solid var(--lb-line);}
.lab-v .vm div{display:flex;justify-content:space-between;gap:14px;padding:6px 2px;border-bottom:1px solid var(--lb-line);font-size:12.5px;}
.lab-v .vm span{color:var(--lb-mu);}
.lab-v .vm b{font-family:var(--font-mono,monospace);font-variant-numeric:tabular-nums;}
.lab-v .va{grid-area:va;display:flex;flex-direction:column;gap:8px;min-width:150px;}
.lab-v .va button{min-height:42px;padding:0 14px;border:1px solid var(--lb-line);border-radius:10px;background:var(--lb-pan2);font-weight:700;font-size:12.5px;}
.lab-v .va button:hover{border-color:var(--lb-ac);}
.lab-v .va button.pri{background:var(--lb-ac);border-color:var(--lb-ac);color:#0d1417;}

/* painéis: parâmetros, testes, assistente, notas, diagnóstico */
.lab-prm{display:flex;flex-direction:column;gap:5px;padding:10px 12px;border:1px solid var(--lb-line);border-radius:10px;background:var(--lb-pan2);}
.lab-prm .r{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-weight:600;}
.lab-prm .r span{font-family:var(--font-mono,monospace);font-size:13px;color:var(--lb-ac);font-variant-numeric:tabular-nums;}
.lab-prm .d{font-size:11.5px;color:var(--lb-mu);}
.lab-prm .v{font-size:11.5px;color:var(--lb-ac2);}
#lab input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;}
#lab input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:4px;background:var(--trk,linear-gradient(90deg,var(--lb-ac),var(--lb-line)));}
#lab input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;margin-top:-7px;border-radius:50%;background:var(--lb-ac2);border:2px solid var(--lb-bg);box-shadow:0 0 0 1px var(--lb-ac2);}
#lab input[type=range]::-moz-range-track{height:8px;border-radius:4px;background:var(--trk,var(--lb-line));}
#lab input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--lb-ac2);border:2px solid var(--lb-bg);}
.lab-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid var(--lb-line);border-radius:10px;background:var(--lb-pan2);font-weight:700;font-size:12.5px;}
.lab-btn:hover{border-color:var(--lb-ac);}
.lab-btn.pri{background:var(--lb-ac);border-color:var(--lb-ac);color:#0d1417;}
.lab-btn.bad{border-color:var(--lb-falha);color:#f0a293;}
.lab-btn svg{width:18px;height:18px;}
.lab-grp{display:flex;flex-direction:column;gap:8px;}
.lab-grp h4{margin:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--lb-mu);}
.lab-card{padding:10px 12px;border:1px solid var(--lb-line);border-radius:10px;background:var(--lb-pan2);}
.lab-card p{margin:2px 0 8px;color:var(--lb-mu);font-size:12px;}
.lab-log{display:flex;flex-direction:column;gap:6px;font-size:12px;}
.lab-log div{display:flex;justify-content:space-between;gap:10px;padding:6px 8px;border-radius:8px;background:var(--lb-pan2);}
.lab-log .ok{color:var(--lb-ok);}
.lab-log .aviso{color:var(--lb-aviso);}
.lab-log .falha{color:var(--lb-falha);}
#labChat{flex:1;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;}
.lab-msg{max-width:92%;padding:9px 12px;border:1px solid var(--lb-line);border-radius:12px 12px 12px 4px;background:var(--lb-pan2);white-space:pre-wrap;font-size:12.5px;line-height:1.5;animation:labIn .22s ease;}
.lab-msg.me{align-self:flex-end;border-radius:12px 12px 4px 12px;background:rgba(105,207,214,.14);border-color:rgba(105,207,214,.4);}
.lab-msg.sys{align-self:center;max-width:100%;background:transparent;border-style:dashed;color:var(--lb-mu);font-size:11.5px;}
.lab-qp{flex:none;display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 8px;}
.lab-qp button{padding:6px 11px;border:1px solid var(--lb-line);border-radius:99px;background:var(--lb-pan2);font-size:11.5px;font-weight:600;color:var(--lb-mu);}
.lab-qp button:hover{color:var(--lb-ac);border-color:var(--lb-ac);}
.lab-chatin{flex:none;display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-top:1px solid var(--lb-line);}
.lab-chatin .row{display:flex;gap:8px;}
.lab-chatin textarea{flex:1;min-height:44px;max-height:110px;padding:10px 12px;border:1px solid var(--lb-line);border-radius:10px;background:var(--lb-bg);color:var(--lb-tx);font:inherit;resize:none;}
.lab-chatin textarea:focus{border-color:var(--lb-ac);outline:none;}
.lab-chatin label{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--lb-mu);}
.lab-chatin input[type=checkbox]{width:18px;height:18px;accent-color:var(--lb-ac);}
#labNotes{flex:1;min-height:180px;padding:12px;border:1px solid var(--lb-line);border-radius:10px;background:var(--lb-bg);color:var(--lb-tx);font:inherit;line-height:1.5;resize:none;}
#labNotes:focus{border-color:var(--lb-ac);outline:none;}
.lab-eng{display:flex;align-items:center;gap:8px;font-family:var(--font-mono,monospace);font-size:11.5px;color:var(--lb-ac2);}

/* pergunta antes de abrir: frase ou capítulo */
.lab-scope{display:flex;flex-direction:column;gap:8px;}
.lab-scope button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;border:1.5px solid var(--line,#D5DBE1);border-radius:12px;background:var(--chrome,#fff);color:var(--text,#18222B);text-align:left;}
.lab-scope button:hover{border-color:#0F6E8C;}
.lab-scope b{font-size:14px;}
.lab-scope small{color:var(--muted,#38434F);font-size:12.5px;line-height:1.4;}
.lab-scope em{font-style:normal;color:#0F6E8C;font-weight:600;}

/* carregamento: bancada sobre rocha */
.lab-load{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px 20px calc(20px + env(safe-area-inset-bottom,0px));overflow-y:auto;background:radial-gradient(120% 90% at 50% 105%,#4a443b 0%,#26231e 46%,#131211 100%);}
.lab-load[hidden]{display:none;}
.lab-art{flex:none;width:min(80vw,360px);height:auto;max-height:30vh;overflow:visible;}
.lab-art *{stroke:none;}
.lab-art .glow{fill:rgba(79,183,191,.09);}
.lab-art .sh{fill:rgba(0,0,0,.28);}
.lab-art .lg{fill:none;stroke:var(--lb-ac,#69cfd6);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.lab-art .hl{fill:none;stroke:rgba(255,255,255,.35);stroke-width:2;stroke-linecap:round;}
.lab-art .rock{fill:#5b544b;}
.lab-art .rock2{fill:#7a7066;}
.lab-art .rock3{fill:#3f3a34;}
.lab-art .sand{fill:#a39682;}
.lab-art .fc{fill:#d8cfbf;}
.lab-art .fl{fill:#6d645a;}
.lab-art .fr{fill:#463f38;}
.lab-art .bub{fill:#d8f3f5;opacity:.85;animation:labBub 2.4s ease-in infinite;}
.lab-art .bub:nth-of-type(2){animation-delay:.6s;}
.lab-art .bub:nth-of-type(3){animation-delay:1.2s;}
.lab-art .bub:nth-of-type(4){animation-delay:1.8s;}
.lab-art .wave{animation:labWave 2.2s ease-in-out infinite alternate;}
.lab-art .gear{transform-origin:278px 44px;animation:labSpin 6s linear infinite;}
.lab-art .pulse{transform-origin:52px 60px;animation:labPulse 2s ease-in-out infinite;}
.lab-art .cube{transform-origin:232px 108px;animation:labFloat 3.4s ease-in-out infinite alternate;}
.lab-art .scan{animation:labScan 2.6s ease-in-out infinite;}
.lab-load h2{margin:0;font-size:18px;letter-spacing:.04em;color:#f0e9dc;text-align:center;}
.lab-prog{width:min(92vw,400px);}
.lab-pg{height:8px;border-radius:4px;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.1);overflow:hidden;}
.lab-pg i{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#4fb7bf,#69cfd6,#c9b48f);transition:transform .35s ease-out;}
.lab-pgt{display:flex;justify-content:space-between;margin-top:5px;font-family:var(--font-mono,monospace);font-size:12px;color:#c9c3b4;font-variant-numeric:tabular-nums;}
.lab-mt{width:min(92vw,400px);padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(0,0,0,.3);}
.lab-mt small{display:block;margin-bottom:6px;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#69cfd6;}
.lab-mtl{display:grid;}
.lab-mp{grid-area:1/1;display:flex;flex-direction:column;gap:2px;opacity:0;transform:translateY(6px);transition-property:opacity,transform;transition-duration:.16s;transition-timing-function:ease-out;pointer-events:none;}
.lab-mp.on{opacity:1;transform:none;transition-duration:.5s;transition-delay:.18s;transition-timing-function:cubic-bezier(.22,1,.36,1);}
.lab-mp b{font-size:15px;color:#f0e9dc;text-wrap:balance;}
.lab-mp span{font-size:13px;line-height:1.45;color:#cfc6b3;text-wrap:pretty;}
.lab-stg{margin-bottom:8px;text-align:center;font-size:15px;font-weight:600;letter-spacing:.02em;color:#f0e9dc;}
.lab-stg::after{content:"";display:inline-block;width:1.2em;text-align:left;animation:labDots 1.2s steps(1) infinite;}
.lab-err{padding:14px 16px;border:1px solid var(--lb-falha);border-radius:12px;background:rgba(212,85,63,.12);color:#f5c4ba;max-width:420px;text-align:center;}

@keyframes labIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
@keyframes labPulse{50%{opacity:.35;}}
@keyframes labSpin{to{transform:rotate(360deg);}}
@keyframes labBub{0%{transform:translateY(0);opacity:0;}20%{opacity:.9;}100%{transform:translateY(-58px);opacity:0;}}
@keyframes labFloat{from{transform:translateY(-3px);}to{transform:translateY(3px);}}
@keyframes labScan{0%{transform:translateY(0);opacity:0;}15%{opacity:1;}85%{opacity:1;}100%{transform:translateY(58px);opacity:0;}}
@keyframes labDots{0%{content:"";}25%{content:".";}50%{content:"..";}75%{content:"...";}}
@keyframes labWave{from{transform:translateX(-6px);}to{transform:translateX(6px);}}
@media (prefers-reduced-motion:reduce){.lab-art *,.lab-status i,.lab-view[data-n="falha"]::after{animation:none!important;}.lab-v,.lab-msg,.lab-toast,.lab-td{animation:none;}.lab-mp,.lab-rk i{transition-duration:.01s;}}

/* celular e tablet: uma gaveta inferior com todas as abas */
#lab[data-lay="bottom"] .lab-body{flex-direction:column;}
#lab[data-lay="bottom"] .lab-stage{order:1;}
#lab[data-lay="bottom"] #labDockL{order:2;}
#lab[data-lay="bottom"] .lab-view{margin:8px 8px 0;}
#lab[data-lay="bottom"] .lab-dock{width:auto!important;margin:8px;flex-direction:column-reverse;max-height:52%;flex:none;transition:none;}
#lab[data-lay="bottom"] #labDockR{display:none;}
#lab[data-lay="bottom"] .lab-tabs{flex-direction:row;width:auto;overflow-x:auto;gap:4px;padding:6px;scrollbar-width:none;}
#lab[data-lay="bottom"] .lab-tabs::-webkit-scrollbar{display:none;}
#lab[data-lay="bottom"] .lab-tab{flex:1 0 64px;flex-direction:row;justify-content:center;gap:6px;padding:9px 8px;font-size:11.5px;}
#lab[data-lay="bottom"] .lab-panes{max-height:calc(52vh - 62px);}
#lab[data-lay="bottom"] .lab-dock.col{max-height:none;}
#lab[data-lay="bottom"] .lab-ask{display:none;}
#lab[data-lay="bottom"] .lab-brand small{max-width:30vw;}
#lab[data-lay="bottom"] .lab-title{display:none;}
#lab[data-lay="bottom"] .lab-tb button{min-width:44px;height:44px;}
#lab[data-lay="bottom"] .lab-hud{bottom:8px;}
#lab[data-lay="bottom"] .lab-toast{bottom:64px;}
@media (max-width:520px){
  .lab-head{padding-left:8px;padding-right:8px;gap:6px;}
  .lab-brand small{display:none;}
  .lab-ib .t{display:none;}
  .lab-med{min-width:74px;padding:5px 9px;}
  .lab-med b{font-size:13px;}
  .lab-rx input{width:72px;}
  .lab-v{padding:18px 16px 14px;}
  .lab-v h3{font-size:20px;}
}
@media (max-height:520px) and (orientation:landscape){
  #lab[data-lay="bottom"] .lab-dock{max-height:60%;}
}

/* selo do tópico, cartão do caderno e seção da página inicial */
.labb{position:absolute;bottom:-11px;left:10px;z-index:3;display:none;align-items:center;gap:5px;height:20px;padding:0 9px 0 6px;border:1px solid #4fb7bf;border-radius:10px;background:#1c2024;color:#ebe6da;font-family:var(--font-display);font-size:11px;font-weight:600;line-height:18px;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.35);text-transform:none;letter-spacing:.01em;}
.labb:hover{background:#252a30;}
.labb-i{flex:none;}
.blk-lab{display:flex;align-items:center;gap:14px;width:100%;padding:10px 12px;border:1px solid #343b42;border-radius:14px;background:#1c2024;color:#ebe6da;text-align:left;font-family:var(--font-display);box-shadow:0 1px 2px rgba(0,0,0,.2),0 14px 28px -18px rgba(0,0,0,.6);}
.blk-lab:hover{border-color:#4fb7bf;}
.bl-th{flex:none;display:flex;align-items:center;justify-content:center;width:96px;height:64px;border-radius:10px;background:#14161a;overflow:hidden;}
.bl-th img{width:100%;height:100%;object-fit:cover;display:block;}
.bl-th svg{width:38px;height:38px;}
.bl-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.bl-tx small{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#69cfd6;}
.bl-tx b{font-size:15px;line-height:1.25;}
.bl-tm{font-size:12px;color:#a6a194;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bl-go{flex:none;padding:8px 14px;border-radius:10px;background:#69cfd6;color:#0d1417;font-size:12.5px;font-weight:700;}
.lab-home{display:flex;flex-direction:column;gap:12px;padding:18px clamp(16px,3vw,26px);border-radius:18px;background:linear-gradient(135deg,#1c2024,#26231e);color:#ebe6da;border:1px solid #343b42;}
.lh-head{display:flex;align-items:center;gap:14px;}
.lh-head .lab-logo{width:44px;height:44px;flex:none;}
.lh-head h2{margin:0;font-size:20px;color:#ebe6da;}
.lh-head p{margin:2px 0 0;font-size:13.5px;color:#c9c3b4;}
.lh-b{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;border:1px solid #4a443b;border-radius:12px;background:#14161a;color:#ebe6da;text-align:left;font-family:var(--font-display);}
.lh-b:hover{border-color:#69cfd6;}
.lh-b b{font-size:14px;}
.lh-b small{font-size:12px;color:#a6a194;}
@media (max-width:520px){.blk-lab{flex-wrap:wrap;}.bl-th{width:100%;height:120px;}.bl-go{width:100%;text-align:center;}}

/* ================= v72: zoom, minimizar painéis, semáforo, assistente novo ================= */
.lab-view::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 100% at 50% 45%,transparent 55%,rgba(0,0,0,.3) 100%);}
.lab-view::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;}
.lab-view[data-n="falha"]::after{box-shadow:inset 0 0 0 2px rgba(212,85,63,.55);}
.lab-labels{z-index:2;}
.lab-hud{z-index:3;}
.lab-toast{z-index:7;}
.lab-phr{display:inline-flex;align-items:center;gap:6px;}
.lab-min{min-height:34px;min-width:34px;padding:0 8px;}
.lab-min svg{width:16px;height:16px;}
.lab-tb button[aria-pressed="false"]#labSemT{color:var(--lb-mu);}
#labSemT[aria-pressed="true"] svg circle:nth-child(2){fill:var(--lb-falha);stroke:none;}
#labSemT[aria-pressed="true"] svg circle:nth-child(3){fill:var(--lb-aviso);stroke:none;}
#labSemT[aria-pressed="true"] svg circle:nth-child(4){fill:var(--lb-ok);stroke:none;}

/* zoom */
.lab-zoom{position:absolute;z-index:5;right:10px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px;border:1px solid var(--lb-line);border-radius:14px;background:rgba(20,22,26,.88);backdrop-filter:blur(6px);}
.lab-zoom button{display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid transparent;border-radius:10px;background:transparent;}
.lab-zoom button svg{width:20px;height:20px;}
.lab-zoom button:hover{background:var(--lb-pan2);}
.lab-zoom button:active{transform:scale(.94);}
.lab-zoom button[aria-pressed="true"]{color:var(--lb-ac);border-color:var(--lb-ac);background:rgba(105,207,214,.14);}
.lab-zoom span{font:600 11px var(--font-mono,monospace);color:var(--lb-mu);font-variant-numeric:tabular-nums;padding:2px 0;}
.lab-zl{position:absolute;inset:0;z-index:4;cursor:crosshair;touch-action:none;background:rgba(10,11,13,.18);}
.lab-zl[hidden]{display:none;}
.lab-zbox{position:absolute;border:2px dashed var(--lb-ac);background:rgba(105,207,214,.14);border-radius:4px;pointer-events:none;}
.lab-zbox[hidden]{display:none;}
.lab-ztip{position:absolute;left:50%;top:14px;transform:translateX(-50%);padding:6px 12px;border-radius:99px;background:var(--lb-pan);border:1px solid var(--lb-ac);font-size:12px;font-weight:600;white-space:nowrap;pointer-events:none;}

/* abas: minimizadas mostram só a tira de ícones */
.lab-dock{transition-property:width;}
.lab-dock.col .lab-tabs{border-right:none;}

/* assistente */
.lab-as-in{flex:none;display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--lb-line);background:linear-gradient(180deg,rgba(105,207,214,.08),transparent);}
.lab-as-in p{margin:0;font-size:12px;color:var(--lb-mu);line-height:1.4;}
.lab-av{flex:none;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--lb-ac);color:#0d1417;}
.lab-av svg{width:18px;height:18px;}
.lab-msg{position:relative;padding:22px 12px 9px;}
.lab-msg::before{position:absolute;left:12px;top:6px;font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lb-ac);}
.lab-msg:not(.me):not(.sys)::before{content:"Assistente";}
.lab-msg.me::before{content:"Você";color:var(--lb-ac2);}
.lab-msg.sys{padding:8px 12px;}
.lab-msg.sys::before{content:none;}
.lab-msg.wait::after{content:"";animation:labDots 1.2s steps(1) infinite;}
.lab-chatin{gap:8px;padding:10px 12px 12px;background:var(--lb-pan2);}
.lab-mode{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;border:1px solid var(--lb-line);border-radius:11px;background:var(--lb-bg);}
.lab-mode button{min-height:36px;border:1px solid transparent;border-radius:8px;background:transparent;font-size:12px;font-weight:700;color:var(--lb-mu);}
.lab-mode button[aria-checked="true"]{background:var(--lb-pan);border-color:var(--lb-ac);color:var(--lb-ac);}
.lab-chatin textarea{min-height:56px;}
.lab-chatin .row .lab-ib{height:auto;min-height:56px;min-width:48px;}
.lab-tok{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid rgba(224,160,58,.45);border-radius:10px;background:rgba(224,160,58,.09);font-size:11.5px;line-height:1.4;color:#f3d59a;}
.lab-tok[data-m="perguntar"]{border-color:var(--lb-line);background:transparent;color:var(--lb-mu);}
.lab-tk{flex:none;display:inline-flex;color:var(--lb-aviso);}
.lab-tk svg{width:16px;height:16px;}

/* celular e tablet: a área de teste divide o espaço com o desenho, o painel encolhe */
#lab[data-lay="bottom"] .lab-td{margin:0 8px 0;}
#lab[data-lay="bottom"] .lab-tdb{max-height:34vh;}
#lab[data-lay="bottom"] .lab-v{grid-template-columns:1fr;grid-template-areas:"vg" "h3" "tx" "vm" "va";}
#lab[data-lay="bottom"] .lab-v .va{flex-direction:row;}
#lab[data-lay="bottom"] .lab-v .va button{flex:1;}
#lab[data-lay="bottom"] .lab-zoom{top:auto;bottom:70px;transform:none;}
#lab[data-lay="bottom"] .lab-back .t,#lab[data-lay="bottom"] .lab-back span{max-width:36vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media (max-width:520px){
  .lab-back{padding:0 12px 0 6px;font-size:12.5px;}
  .lab-brand div{display:none;}
  .lab-zoom button{width:44px;height:44px;}
  .lab-art{max-height:22vh;}
}
@media (max-height:640px){.lab-mt{display:none;}.lab-art{max-height:18vh;}}
#lab[data-lay="bottom"] .lab-tdb{max-height:27vh;padding:0 12px 10px;}
#lab[data-lay="bottom"] .lab-tdh{min-height:44px;}
#lab[data-lay="bottom"] .lab-v{row-gap:2px;}
#lab[data-lay="bottom"] .lab-v h3{font-size:17px;}
#lab[data-lay="bottom"] .lab-v p{font-size:12px;line-height:1.4;margin-bottom:6px;}
#lab[data-lay="bottom"] .lab-v .vm{display:grid;grid-template-columns:1fr 1fr;column-gap:14px;margin-bottom:8px;}
#lab[data-lay="bottom"] .lab-v .vm div{font-size:11.5px;padding:4px 2px;}
#lab[data-lay="bottom"] .lab-v .va button{min-height:40px;}
#lab[data-lay="bottom"].td-on .lab-med{display:none;}
#lab[data-lay="bottom"].td-on .lab-rx{display:none;}
#lab[data-lay="bottom"] .lab-runm{display:none;}
#lab[data-lay="bottom"] .lab-v{grid-template-areas:"vg" "h3" "va" "tx" "vm";}
#lab[data-lay="bottom"] .lab-v .va{margin:4px 0 6px;}

.lab-rst{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px 0 10px;border:1px solid var(--lb-ac);border-radius:12px;background:rgba(20,22,26,.9);backdrop-filter:blur(6px);color:var(--lb-ac);font-weight:700;font-size:12.5px;white-space:nowrap;transition-property:background-color,transform;transition-duration:.15s;}
.lab-rst svg{width:18px;height:18px;}
.lab-rst:hover{background:var(--lb-ac);color:#0d1417;}
.lab-rst:active{transform:scale(.97);}

/* v75: no celular e tablet o laboratório abre como uma folha que sobe (a tela de trás aparece escurecida), acompanhando a área visível */
@media (max-width:899px){
  #lab{inset:auto 0 auto 0;top:calc(var(--vv-top,0px) + max(14px,env(safe-area-inset-top,0px)));height:calc(var(--vv-h,100dvh) - max(14px,env(safe-area-inset-top,0px)));border-radius:18px 18px 0 0;border:1px solid var(--lb-line);border-bottom:0;box-shadow:0 -14px 44px rgba(0,0,0,.6);overflow:hidden;}
  body.lab-on::before{content:"";position:fixed;inset:0;z-index:9499;background:rgba(6,8,10,.6);}
  #lab .lab-head{padding-top:6px;}
  .lab-view::before{display:none;}
}

/* v75: celular, menos coisas cobrindo o desenho */
@media (max-width:899px){
  .lab-tools{left:10px;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;}
  .lab-tools .lab-tb{flex:1 1 100%;justify-content:space-between;}
  .lab-tools .lab-rx{flex:0 1 auto;min-width:0;}
  .lab-tools .lab-rx input{width:64px;}
  .lab-rst{min-height:40px;padding:0 12px 0 8px;font-size:12px;}
  .lab-zoom{top:auto;bottom:66px;right:10px;transform:none;flex-direction:row;padding:3px;}
  .lab-zoom button{width:40px;height:40px;}
  .lab-zoom span{padding:0 4px;}
  .lab-hud{flex-wrap:nowrap;overflow-x:auto;pointer-events:auto;scrollbar-width:none;padding-bottom:2px;}
  .lab-hud::-webkit-scrollbar{display:none;}
  .lab-hud > *{flex:none;}
  .lab-med{min-width:74px;padding:5px 9px;}
}

/* v75: rodapé da aba Parâmetros, painel de som e pergunta do som */
.lab-pf{flex:none;display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;border-top:1px solid var(--lb-line);background:var(--lb-pan);}
.lab-pf select{flex:1 1 100%;min-height:42px;padding:0 10px;border:1px solid var(--lb-line);border-radius:10px;background:var(--lb-bg);color:var(--lb-tx);font:inherit;}
.lab-pf select[hidden]{display:none;}
.lab-pf .lab-btn{flex:1 1 auto;}
.lab-pf .lab-btn[hidden]{display:none;}
.lab-pf .lab-btn:disabled{opacity:.6;}
.lab-snd{display:flex;flex-direction:column;gap:12px;width:min(300px,86vw);}
.lab-snd-h{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.lab-sw2{min-height:36px;min-width:96px;padding:0 14px;border:1px solid var(--lb-line);border-radius:99px;background:var(--lb-pan2);font-weight:700;font-size:12.5px;}
.lab-sw2[aria-checked="true"]{background:var(--lb-ac);border-color:var(--lb-ac);color:#0d1417;}
.lab-snd-r{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--lb-mu);}
.lab-snd-c{display:flex;align-items:flex-start;gap:10px;font-size:13px;}
.lab-snd-c input{flex:none;width:20px;height:20px;margin-top:1px;accent-color:var(--lb-ac);}
.lab-snd-c small{display:block;font-size:11.5px;color:var(--lb-mu);}
.lab-voz-row{display:none;}
#lab.voz-ok .lab-voz-row{display:flex;}
.lab-snd-n{margin:0;font-size:11.5px;color:var(--lb-mu);}
#lab button.pri,#lab .lab-btn.pri,#lab .lab-ib.pri{color:#0d1417;}

/* ===== v75: modo didático ===== */
.zonas{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:11px;line-height:1.4;}
.zn{white-space:nowrap;font-weight:600;}
.zn.z0{color:var(--lb-ok);}.zn.z1{color:var(--lb-aviso);}.zn.z2{color:#f0a293;}
.lab-cen{display:flex;flex-direction:column;gap:6px;}
.lab-cen-l{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--lb-mu);}
.lab-cen-r{display:flex;flex-wrap:wrap;gap:6px;}
.lab-chip{min-height:38px;padding:0 12px;border:1px solid var(--lb-line);border-radius:99px;background:var(--lb-pan2);font-size:12px;font-weight:600;}
.lab-chip:hover{border-color:var(--lb-ac);color:var(--lb-ac);}
#lab select{width:100%;min-height:40px;padding:0 10px;border:1px solid var(--lb-line);border-radius:10px;background:var(--lb-bg);color:var(--lb-tx);font:inherit;}
.lab-chart{width:100%;display:block;margin-top:6px;border:1px solid var(--lb-line);border-radius:10px;background:var(--lb-bg);}
.lab-chart-n{margin:4px 0 0;font-size:11.5px;line-height:1.4;color:var(--lb-mu);}
.lab-conta summary{cursor:default;min-height:40px;display:flex;align-items:center;font-weight:700;font-size:12.5px;list-style:none;}
.lab-conta summary::-webkit-details-marker{display:none;}
.lab-conta summary::after{content:"+";margin-left:8px;color:var(--lb-ac);}
.lab-conta[open] summary::after{content:"–";}
.lab-conta pre{margin:6px 0 0;padding:10px;border:1px solid var(--lb-line);border-radius:10px;background:var(--lb-bg);font:11.5px/1.5 var(--font-mono,monospace);white-space:pre-wrap;color:var(--lb-tx);overflow-x:auto;}
.lab-des .des-st{margin-top:4px;font-weight:700;font-size:12.5px;}
.lab-des .des-st.ok{color:var(--lb-ok);}.lab-des .des-st.no{color:var(--lb-aviso);}
.lab-des .des-r{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.lab-des .des-dica{margin:8px 0 0;padding:8px 10px;border-left:3px solid var(--lb-ac);background:rgba(105,207,214,.08);border-radius:0 8px 8px 0;font-size:12px;}
.lab-comp{width:100%;border-collapse:collapse;font-size:12px;margin-top:6px;}
.lab-comp th,.lab-comp td{padding:6px;border-bottom:1px solid var(--lb-line);text-align:left;vertical-align:top;}
.lab-comp th{color:var(--lb-mu);font-weight:600;}
.lab-comp td.falha{color:#f0a293;}.lab-comp td.ok{color:var(--lb-ok);}.lab-comp td.aviso{color:var(--lb-aviso);}
.lab-tl{display:flex;align-items:center;gap:8px;margin:2px 0 8px;flex-wrap:wrap;}
.lab-tl input{flex:1 1 120px;}
.lab-tl .lab-btn{min-height:36px;}
.lab-spd{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--lb-line);border-radius:10px;}
.lab-spd button{min-height:34px;min-width:44px;padding:0 8px;border:none;border-radius:8px;background:transparent;font-size:11.5px;font-weight:700;}
.lab-spd button[aria-pressed="true"]{background:var(--lb-ac);color:#0d1417;}
.lab-seg{display:flex;gap:4px;padding:3px;border:1px solid var(--lb-line);border-radius:11px;background:var(--lb-bg);}
.lab-seg button{flex:1;min-height:38px;padding:0 6px;border:1px solid transparent;border-radius:8px;background:transparent;font-size:11.5px;font-weight:700;color:var(--lb-mu);}
.lab-seg button[aria-checked="true"]{background:var(--lb-pan);border-color:var(--lb-ac);color:var(--lb-ac);}
.lab-passo small{color:var(--lb-ac2);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;}
.lab-passo p{margin:4px 0 0;}
.lab-passo-n{display:flex;flex-wrap:wrap;gap:8px;}
.lab-lbl.hit{border-color:var(--lb-falha);background:rgba(212,85,63,.92);color:#fff;font-weight:700;}
.lab-ouvir{position:absolute;top:2px;right:4px;width:34px;height:34px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--lb-mu);}
.lab-ouvir svg{width:18px;height:18px;}
.lab-ouvir:hover{color:var(--lb-ac);}
.lab-voz-btn{display:none;}
#lab.voz-ok .lab-voz-btn{display:inline-flex;}
#lab.voz-ok .lab-snd-r.lab-voz-row{display:flex;}
.lab-snd-r.lab-voz-row,.lab-btn.lab-voz-row{display:none;}
#lab.voz-ok .lab-btn.lab-voz-row{display:inline-flex;}
.lab-grp .lab-snd-c{padding:4px 0;}

/* botão de ligar (Parâmetros e sobre o desenho) */
.lab-acao{flex:none;margin:12px 12px 0;padding:10px 12px;border:1px solid var(--lb-line);border-radius:12px;background:var(--lb-pan2);display:flex;flex-direction:column;gap:6px;}
.lab-acao .r{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.lab-acao .lab-btn{min-height:44px;padding:0 16px;font-weight:700;gap:8px;}
.lab-acao svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;}
.lab-acao-st{font-size:12px;font-weight:700;color:var(--lb-mu);}
.lab-acao-st[data-on="1"]{color:var(--lb-ok);}
.lab-acao small{color:var(--lb-mu);font-size:11.5px;line-height:1.4;}

/* professor interativo */
.lab-prof-intro{display:flex;flex-direction:column;gap:10px;}
.lab-prof-intro b{font-size:14px;}
.lab-prof-intro p{margin:0;}
.lab-prof-nota{display:block;color:var(--lb-mu);font-size:11.5px;line-height:1.4;margin:0;}
.lab-prof-top{display:flex;gap:8px;align-items:stretch;}
.lab-prof-top .lab-tok{flex:1;}
.lab-prof #labProfChat{display:flex;flex-direction:column;gap:10px;}
.lab-prof .lab-msg:not(.me):not(.sys)::before{content:"Professor";}
.lab-prof .lab-qp{padding:0;}
.lab-prof .lab-qp button:disabled{opacity:.45;cursor:not-allowed;}
.lab-prof .lab-chatin{padding:0;border-top:0;background:transparent;}
.lab-prof .lab-des small{color:var(--lb-ac);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:10px;}

body.lab-on .overlay{z-index:9600;}

/* ruptura em cinema e qualidade */
.lab-qinfo{padding:8px 10px;border:1px solid var(--lb-line);border-radius:10px;background:var(--lb-pan2);color:var(--lb-mu);font-size:11.5px;line-height:1.4;}
#labQSel{width:100%;min-height:40px;padding:0 10px;border:1px solid var(--lb-line);border-radius:10px;background:var(--lb-bg);color:var(--lb-tx);font:inherit;}

/* durante o teste os painéis somem e o 3D ocupa tudo; sobra a barra de teste embaixo */
#lab.focus3d .lab-dock,#lab.focus3d .lab-head{display:none;}
#lab.focus3d .lab-title,#lab.focus3d .lab-tools,#lab.focus3d .lab-zoom,#lab.focus3d .lab-hud,#lab.focus3d .lab-32-heat,#lab.focus3d .lab-32-card,#lab.focus3d [id^="lab34h"],#lab.focus3d .lab-34-dica{display:none !important;}
#lab.focus3d .lab-lbl:not(.hit){display:none;}
#lab.focus3d .lab-stage{position:relative;}
#lab.focus3d .lab-view,#lab.focus3d[data-lay] .lab-stage .lab-view{margin:0;border:0;border-radius:0;}
#lab.focus3d .lab-td{position:absolute;left:12px;top:12px;bottom:12px;width:300px;max-width:42%;margin:0;z-index:8;display:flex;flex-direction:column;background:rgba(17,19,22,.9);backdrop-filter:blur(8px);box-shadow:0 10px 34px rgba(0,0,0,.45);}
#lab.focus3d .lab-tdb{flex:1;min-height:0;max-height:none;overflow-y:auto;}
@media (max-width:700px){#lab.focus3d .lab-td{left:50%;right:auto;top:auto;bottom:10px;transform:translateX(-50%);width:calc(100% - 20px);max-width:none;max-height:46%;}}
#lab.focus3d .lab-focus-pill{top:12px;left:auto;right:12px;}
.lab-focus-pill{display:none;position:absolute;left:10px;top:64px;z-index:6;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--lb-line);border-radius:99px;background:rgba(21,23,26,.82);color:var(--lb-tx);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;backdrop-filter:blur(6px);}
.lab-focus-pill:hover{border-color:var(--lb-ac);color:var(--lb-ac);}
.lab-focus-pill:focus-visible{outline:2px solid var(--lb-ac);outline-offset:2px;}
#lab.focus3d .lab-focus-pill{display:inline-flex;}

/* teste em tela cheia: barra mais enxuta (a frase do gráfico continua para leitor de tela) */
#lab.focus3d #labRunT{display:none;}
#lab.focus3d .lab-runh{margin:0 0 8px;}
#lab.focus3d .lab-tdh{flex-wrap:wrap;}
#lab.focus3d .lab-32-sum{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* v82: botão de nomes desligado esconde tudo o que anota o desenho (nomes, etiquetas por dentro, valores e alças) */
#lab.lab-nolbl .lab-lbl:not(.hit),#lab.lab-nolbl .lab-36-call,#lab.lab-nolbl .lab-34-layer{display:none !important;}

/* v82: assistente de perguntas — mensagens ganham espaço, sugestões viram lista compacta, formulário sempre inteiro */
#labP_ass{min-height:0;}
#labP_ass .lab-as-in{padding:8px 12px;gap:8px;}
#labP_ass .lab-as-in .lab-av{width:28px;height:28px;}
#labP_ass .lab-as-in p{font-size:11.5px;}
#labP_ass:has(#labChat .lab-msg) .lab-as-in{display:none;}
#labP_ass #labChat{flex:1 1 auto;min-height:130px;padding:10px 12px;gap:8px;}
#labP_ass #labChat::-webkit-scrollbar,#labP_ass .lab-qp::-webkit-scrollbar,#labP_ass .lab-chatin textarea::-webkit-scrollbar{width:6px;}
#labP_ass #labChat::-webkit-scrollbar-thumb,#labP_ass .lab-qp::-webkit-scrollbar-thumb,#labP_ass .lab-chatin textarea::-webkit-scrollbar-thumb{background:var(--lb-line);border-radius:3px;}
#labP_ass .lab-msg{max-width:100%;font-size:12.5px;line-height:1.5;}
#labP_ass .lab-qp{flex:none;display:flex;flex-direction:column;flex-wrap:nowrap;gap:5px;max-height:min(32%,140px);overflow-y:auto;padding:6px 12px 8px;border-top:1px solid var(--lb-line);}
#labP_ass .lab-qp:empty{display:none;}
#labP_ass .lab-qp::before{content:"Perguntas sugeridas";flex:none;font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--lb-mu);}
#labP_ass .lab-qp button{flex:none;width:100%;padding:6px 10px;border-radius:9px;text-align:left;font-size:11.5px;font-weight:600;line-height:1.3;color:var(--lb-tx);}
#labP_ass .lab-chatin{gap:6px;padding:8px 12px 10px;}
#labP_ass .lab-mode button{min-height:32px;font-size:11.5px;}
#labP_ass .lab-chatin textarea{min-height:56px;padding:8px 10px;font-size:12.5px;}
#labP_ass .lab-chatin .row .lab-ib{min-height:48px;min-width:44px;}
#labP_ass .lab-tok{padding:6px 9px;font-size:11px;line-height:1.35;}

/* v83: o que aconteceria na vida real, dentro do resultado do teste */
.lab-real{grid-area:rl;margin:8px 0 0;padding:8px 10px 9px;border-left:3px solid var(--lb-ac);border-radius:0 9px 9px 0;background:rgba(105,207,214,.08);}
.lab-real b{display:block;font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lb-ac);}
.lab-real p{margin:3px 0 0;font-size:12.5px;line-height:1.5;color:var(--lb-tx);}
#lab.focus3d .lab-real{margin:2px 0 0;padding:6px 8px 7px;}
#lab.focus3d .lab-real p{font-size:11.5px;line-height:1.45;}

/* v86: tela de espera imediata ao pedir um laboratório (cobre tudo até a interface do laboratório abrir) */
#labPre{position:fixed;inset:0;z-index:2000;}
#labPre .lab-pg{width:min(92vw,400px);}
#labPre .lab-pg i{width:100%;transform:translateX(-100%) scaleX(.4);transform-origin:left;animation:labPreBar 1.5s ease-in-out infinite;}
.lab-pre-q{margin:0;max-width:min(92vw,460px);text-align:center;font-size:15px;font-weight:600;line-height:1.4;color:#69cfd6;}
.lab-pre-s{margin:0;max-width:min(92vw,400px);text-align:center;font-size:13px;line-height:1.5;color:#c9c3b4;}
@keyframes labPreBar{0%{transform:translateX(-100%) scaleX(.4);}100%{transform:translateX(250%) scaleX(.4);}}
@media (prefers-reduced-motion:reduce){#labPre .lab-pg i{animation:none;transform:scaleX(.5);}}

/* v87: o botão de ligar/desligar virou um ícone na barra de vistas (antes ficava no meio do desenho e atrapalhava) */
.lab-tb .lab-acao-tb{display:inline-grid;place-items:center;}
.lab-tb .lab-acao-tb svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.lab-tb .lab-acao-tb span{display:none;}
.lab-tb .lab-acao-tb.on{background:rgba(105,207,214,.16);}

/* v88: menos coisa empilhada no canto: "Ver só o interior" e "Voltar ao normal" ficam lado a lado, menores */
.lab-tools-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;}
.lab-tools-row #lab36Int,.lab-tools-row .lab-rst{min-height:36px;padding:0 12px;font-size:12px;gap:6px;}
.lab-tools-row .lab-rst svg{width:16px;height:16px;}
.lab-32-heat[hidden]{display:none;}
/* ===== css/home.css ===== */
/* ================= Página inicial: faixa de frases, continuar, vitrine em movimento e área do Laboratório =================
   Regras de movimento: só transform e opacity nas cenas, tudo pausa fora da tela e com "reduzir movimento" vira quadro fixo. */

/* ordem da página inicial (a página é uma coluna flex) */
.home-wrap.front > *{order:12;}
.home-wrap.front > .home-top{order:1;}
/* Estante: retoma o último estudo, mostra os documentos e depois as matérias e ações. */
.home-wrap.front > .home-cont{order:2;}
.home-wrap.front > .home-sh,.home-wrap.front > .home-type-filters,.home-wrap.front > .mgrid,.home-wrap.front > .pager{order:3;}
.home-wrap.front > .home-h,.home-wrap.front > .nb-grid,.home-wrap.front > .prompt-ex,.home-wrap.front > .home-h-row,.home-wrap.front > .nb-pager{order:4;}
.home-wrap.front > .al-card{order:5;}
.home-wrap.front > .al-hoje{order:6;}
.home-wrap.front > .home-provas{order:6;}
.home-wrap.front > .cmp,.home-wrap.front > .alt{order:7;}
.home-wrap.front.no-docs > .cmp,.home-wrap.front.no-docs > .alt{order:4;}
.home-wrap.front > .lab-home{order:8;}
.home-wrap.front > .study-bar{order:9;}
.home-wrap.front > .vt{order:10;}
.home-wrap.front > .plan-test{order:11;}
.home-type-filters{display:flex;gap:8px;max-width:100%;overflow-x:auto;padding:2px 2px 4px;scrollbar-width:thin;}
.home-type-filters button{flex:none;min-height:42px;padding:0 16px;border:1.5px solid var(--cd-borda);border-radius:999px;background:var(--chrome);color:var(--text);font:600 14px var(--cd-fonte-texto);cursor:pointer;}
.home-type-filters button:hover{border-color:var(--accent);}
.home-type-filters button[aria-pressed="true"]{border-color:var(--accent);background:var(--cd-capa-suave);color:var(--cd-capa-escura);}
body[data-canvas="dark"] .home-type-filters button[aria-pressed="true"]{background:var(--chrome-2);color:var(--accent);}
.home-meta{margin:6px 0 0;font-size:12.5px;color:var(--muted);}
.home-tt p b{color:var(--text);font-weight:700;}
.home-tt p{max-width:64ch;text-wrap:pretty;font-size:15.5px;line-height:1.5;}

/* faixa da metodologia */
.home-tick{display:flex;align-items:center;gap:12px;min-height:48px;padding:6px max(16px,calc(50% - 536px));background:#14161a;color:#ebe6da;border-bottom:1px solid #2a3037;font-family:var(--font-display);}
.ht-lab{flex:none;padding:3px 8px;border:1px solid #2f5b60;border-radius:6px;font:600 10.5px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#69cfd6;}
.ht-line{flex:1;min-width:0;display:grid;}
.ht-p{grid-area:1/1;display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-size:14.5px;line-height:1.35;opacity:0;transform:translateY(8px);transition-property:opacity,transform;transition-duration:.16s;transition-timing-function:ease-out;pointer-events:none;text-wrap:balance;}
.ht-p.on{opacity:1;transform:none;pointer-events:auto;transition-duration:.45s;transition-delay:.18s;transition-timing-function:cubic-bezier(.22,1,.36,1);}
.ht-p em{font:700 9.5px var(--font-mono);font-style:normal;letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border-radius:5px;background:#3a2f12;color:#e0a03a;white-space:nowrap;}
.ht-pp{position:relative;flex:none;width:40px;height:40px;padding:0;border:1px solid #2f363d;border-radius:10px;background:#1c2024;color:#ebe6da;display:flex;align-items:center;justify-content:center;}
.ht-pp svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.ht-pp:hover{border-color:#69cfd6;}
@media (prefers-reduced-motion:reduce){.ht-p{transform:none;transition-duration:.2s;}}

/* continue de onde parou */
.home-cont{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid transparent;border-radius:16px;background:linear-gradient(120deg,var(--cd-capa),var(--cd-capa-escura));color:#fff;box-shadow:0 8px 22px -16px var(--cd-capa-escura);}
.hc-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
.hc-tx small{font:700 10.5px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#D8EDF3;}
.hc-tx b{font-size:16px;line-height:1.3;text-wrap:balance;}
.hc-tx span{font-size:12.5px;color:#E0EFF2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.home-cont .go{flex:none;min-height:44px;}

/* vitrine */
.vt{display:flex;flex-direction:column;gap:12px;}
.vt-head p{margin:2px 0 0;font-size:14px;color:var(--muted);}
.vt-frame{border:1px solid var(--line);border-radius:20px;background:var(--chrome);box-shadow:0 1px 2px var(--shadow),0 22px 44px -26px var(--shadow);overflow:hidden;}
.vt-bar{display:flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-bottom:1px solid var(--line);background:var(--chrome-2);}
.vt-bar i{width:10px;height:10px;border-radius:50%;background:var(--line);}
.vt-bar span{margin-left:8px;font:12px var(--font-mono);color:var(--muted);}
.vt-stage{position:relative;aspect-ratio:16/7.6;overflow:hidden;background:#fbfaf7;font-size:clamp(9.5px,1.5vw,15px);color:#18222B;font-family:var(--font-display);}
.vt-scene{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s;}
.vt-scene.on{opacity:1;visibility:visible;transition-delay:0s;}
.vt-cap{display:flex;flex-direction:column;gap:2px;min-height:3.6em;}
.vt-cap b{font-size:17px;text-wrap:balance;}
.vt-cap span{color:var(--muted);font-size:14px;text-wrap:pretty;}
.vt-aula{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin-top:10px;padding:8px 15px;border:1px solid var(--brand,#0f6e8c);border-radius:12px;background:color-mix(in srgb,var(--brand,#0f6e8c) 9%,var(--surface,#fff));color:var(--brand,#0f6e8c);font-family:inherit;font-size:14px;font-weight:600;line-height:1.3;cursor:pointer;}
.vt-aula:hover{background:color-mix(in srgb,var(--brand,#0f6e8c) 15%,var(--surface,#fff));}
.vt-aula:focus-visible{outline:3px solid color-mix(in srgb,var(--brand,#0f6e8c) 45%,transparent);outline-offset:2px;}
.vt-tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.vt-tab{position:relative;flex:1 1 150px;min-height:52px;display:flex;align-items:center;gap:9px;padding:0 14px;border:1px solid var(--line);border-radius:14px;background:var(--chrome);font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text);overflow:hidden;transition-property:border-color,background-color;transition-duration:.15s;}
.vt-tab svg{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:var(--muted);}
.vt-tab:hover{border-color:#0F6E8C;}
.vt-tab[aria-selected="true"]{border-color:#0F6E8C;background:color-mix(in srgb,#0F6E8C 9%,var(--chrome));}
.vt-tab[aria-selected="true"] svg{color:#0F6E8C;}
.vt-tab .pg{position:absolute;left:0;right:0;bottom:0;height:3px;background:#0F6E8C;transform:scaleX(0);transform-origin:left;}
.vt-pp{flex:none;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--chrome);display:flex;align-items:center;justify-content:center;color:var(--text);}
.vt-pp svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.vt-pp[hidden]{display:none;}

/* cena: mapa mental */
.vt-cx{position:absolute;inset:0;width:100%;height:100%;}
.vt-ln{fill:none;stroke-width:2.2;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;}
.vt-ln.c-a{stroke:hsl(0 80% 68%);}
.vt-ln.c-b{stroke:hsl(27 90% 62%);}
.vt-ln.c-c{stroke:hsl(160 50% 50%);}
.vt-n{position:absolute;transform:translate(-50%,-50%);opacity:0;white-space:nowrap;font-weight:600;}
.vt-n.root{font-size:1.45em;font-weight:700;letter-spacing:-.01em;white-space:normal;width:22%;text-align:center;line-height:1.15;}
.vt-n.b{padding:.5em 1em;border-radius:.75em;font-size:.85em;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#1c1c1c;}
.vt-n.b.c-a{background:hsl(0 88% 72%);}
.vt-n.b.c-b{background:hsl(27 94% 70%);}
.vt-n.b.c-c{background:hsl(160 55% 62%);}
.vt-n.l{padding:.4em .85em;border-radius:.7em;font-size:.82em;}
.vt-n.l.c-a{background:hsl(0 80% 93%);}
.vt-n.l.c-b{background:hsl(27 90% 92%);}
.vt-n.l.c-c{background:hsl(160 50% 90%);}
.vt-seal{position:absolute;display:flex;align-items:center;gap:.4em;padding:.15em .75em .15em .5em;border:1px solid #4fb7bf;border-radius:1em;background:#1c2024;color:#ebe6da;font-size:.8em;font-weight:600;opacity:0;box-shadow:0 1px 3px rgba(0,0,0,.3);}
.vt-menu{position:absolute;width:16em;padding:.5em;border:1px solid #d5dbe1;border-radius:.9em;background:#fff;box-shadow:0 14px 34px rgba(20,34,46,.22);font-size:.85em;opacity:0;}
.vt-menu .l{padding:.35em .8em;font-size:.72em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5D6B78;}
.vt-menu .i{padding:.55em .8em;border-radius:.6em;font-weight:600;}
.vt-menu .i small{display:block;font-weight:400;color:#5D6B78;font-size:.8em;}
.vt-menu .i.hot.on{background:#e6f3f7;box-shadow:inset 0 0 0 1.5px #0F6E8C;}
.vt-menu hr{border:none;border-top:1px solid #e3e7ec;margin:.3em 0;}
.vt-cursor{position:absolute;left:0;top:0;width:1.7em;height:1.7em;opacity:0;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3));}
.vt-cursor svg{width:100%;height:100%;}
.vt-rip{position:absolute;width:3em;height:3em;border:2px solid #0F6E8C;border-radius:50%;opacity:0;pointer-events:none;}

/* cena: caderno */
.vt-caderno{background:#e6e2d5;}
.vt-sheet{position:absolute;inset:5% 11%;padding:1.1em 2em;border-radius:.4em 1em 1em .4em;background-color:#fffdf7;background-image:repeating-linear-gradient(transparent 0,transparent calc(2.1em - 1px),#c9d6ea calc(2.1em - 1px),#c9d6ea 2.1em);box-shadow:0 1px 2px rgba(20,34,46,.18),0 18px 30px -20px rgba(20,34,46,.5);isolation:isolate;overflow:hidden;font-family:'Lexend','Atkinson Hyperlegible',sans-serif;}
.vt-h1{min-height:2.1em;line-height:2.1em;font-size:1.65em;font-weight:700;color:#0f2a3d;border-bottom:.14em solid #0F6E8C;opacity:0;letter-spacing:-.01em;}
.vt-h2{min-height:2.1em;line-height:2.1em;margin-top:.2em;padding-left:.6em;border-left:.22em solid #0F6E8C;font-size:1.2em;font-weight:700;color:#15224f;opacity:0;}
.vt-p{margin:.2em 0 0;font-size:1.02em;line-height:2.1em;color:#14324a;}
.vt-hl{position:relative;}
.vt-hl::before{content:'';position:absolute;inset:.35em -.15em .2em;z-index:-1;background:#FFE25A;border-radius:.2em;transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.22,1,.36,1);}
.vt-hl.on::before{transform:scaleX(1);}
.vt-dock{position:absolute;left:0;right:0;bottom:1em;margin-inline:auto;width:max-content;display:flex;gap:.45em;padding:.45em;border:1px solid #b7c3e0;border-radius:.9em;background:#fffdf7;box-shadow:0 10px 24px rgba(20,34,46,.22);opacity:0;font-family:var(--font-display);font-size:.9em;color:#22306b;}
.vt-dock > *{display:flex;align-items:center;justify-content:center;min-width:2.3em;height:2.3em;border:1.5px solid #b7c3e0;border-radius:.65em;background:#fff;font-size:.95em;font-style:normal;}
.vt-dock .pen{background:linear-gradient(135deg,#b3261e 0 50%,#0F6E8C 50%);}
.vt-dock .mk{background:#FFE25A;}
.vt-dock .mk.on{box-shadow:0 0 0 2px #22306b;}
.vt-lcard{position:absolute;left:2em;right:2em;bottom:1em;display:flex;align-items:center;gap:1em;padding:.6em .8em;border:1px solid #343b42;border-radius:1em;background:#1c2024;color:#ebe6da;opacity:0;box-shadow:0 12px 24px -14px rgba(0,0,0,.6);font-family:var(--font-display);}
.vt-lcard .th{flex:none;width:5em;height:3.4em;border-radius:.6em;overflow:hidden;background:#14161a;}
.vt-lcard .th svg{width:100%;height:100%;}
.vt-lcard .tx{flex:1;min-width:0;display:flex;flex-direction:column;}
.vt-lcard .tx small{font-size:.68em;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#69cfd6;}
.vt-lcard .tx b{font-size:1em;}
.vt-lcard .tx span{font-size:.75em;color:#a6a194;}
.vt-lcard .go{flex:none;padding:.5em .95em;border-radius:.7em;background:#69cfd6;color:#0d1417;font-size:.8em;font-weight:700;}

/* cena: laboratório */
.lab-demo{--lb-bg:#14161a;--lb-pan:#1c2024;--lb-pan2:#252a30;--lb-line:#343b42;--lb-tx:#ebe6da;--lb-mu:#a6a194;--lb-ac:#69cfd6;--lb-ac2:#c9b48f;--lb-ok:#63b58a;--lb-aviso:#e0a03a;--lb-falha:#d4553f;color:var(--lb-tx);}
.vt-lab{background:#0e2a3d;}
.vt-lhost{position:absolute;inset:0;}
.vt-lhud{position:absolute;left:.8em;right:.8em;bottom:.8em;display:flex;flex-wrap:wrap;gap:.5em;}
.vt-lprm{position:absolute;top:.8em;left:.8em;width:15em;padding:.7em .9em;border:1px solid var(--lb-line);border-radius:.9em;background:rgba(20,22,26,.88);}
.vt-lprm .r{display:flex;justify-content:space-between;gap:.6em;font-weight:600;font-size:.85em;}
.vt-lprm .r b{font-family:var(--font-mono);color:var(--lb-ac);font-variant-numeric:tabular-nums;}
.vt-lprm .vt-pgb{height:.45em;margin:.55em 0 .4em;border-radius:.3em;background:#0d0f12;overflow:hidden;}
.vt-lprm .vt-pgb i{display:block;height:100%;background:linear-gradient(90deg,var(--lb-ok),var(--lb-aviso),var(--lb-falha));transform:scaleX(0);transform-origin:left;}
.vt-lprm small{font-size:.72em;color:var(--lb-ac2);}
.vt-lver{position:absolute;top:.8em;right:.8em;max-width:15em;padding:.8em 1em;border:2px solid var(--lb-falha);border-radius:.9em;background:var(--lb-pan);opacity:0;}
.vt-lver small{display:block;font-size:.66em;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--lb-mu);}
.vt-lver b{display:block;margin:.15em 0;font-size:1.25em;color:var(--lb-falha);}
.vt-lver span{font-size:.78em;line-height:1.4;}

/* cena: desenho animado */
.vt-anim{background:#fff;display:flex;align-items:center;justify-content:center;}
.vt-anim .sk-host{width:min(94%,600px);}

/* área do Laboratório */
.lab-home{gap:14px;}
.lh-form{display:flex;gap:10px;align-items:stretch;}
.lh-form textarea{flex:1;min-width:0;min-height:60px;padding:13px 15px;border:1px solid #4a443b;border-radius:13px;background:#14161a;color:#ebe6da;font:inherit;font-size:16px;line-height:1.45;resize:none;}
.lh-form textarea::placeholder{color:#a6a194;}
.lh-form textarea:focus{outline:none;border-color:#69cfd6;box-shadow:0 0 0 3px rgba(105,207,214,.18);}
.lh-go{flex:none;min-width:150px;padding:0 22px;border:none;border-radius:13px;background:#69cfd6;color:#0d1417;font-family:var(--font-display);font-size:15px;font-weight:700;transition-property:transform,filter;transition-duration:.15s;}
.lh-go:hover:not(:disabled){filter:brightness(1.07);}
.lh-go:active:not(:disabled){transform:scale(.97);}
.lh-go:disabled{opacity:.42;}
.lh-sg,.lh-ex{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.lh-sg small,.lh-ex small{flex:1 1 100%;font-size:12.5px;color:#a6a194;}
.lh-chip{min-height:40px;padding:0 14px;border:1px solid #4a443b;border-radius:999px;background:#14161a;color:#ebe6da;font-family:var(--font-display);font-size:13.5px;font-weight:500;}
.lh-chip:hover{border-color:#69cfd6;}
.lh-exl{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin-top:8px;flex:1 1 100%;}
.lh-exl .lh-b{margin:0;}
@media (max-width:640px){
  .lh-form{flex-direction:column;}
  .lh-go{min-height:50px;}
  .vt-stage{aspect-ratio:4/3.7;}
  .vt-tab{flex:1 1 44%;}
  .vt-lprm{width:12.5em;}
  .home-cont{flex-wrap:wrap;}
  .home-cont .go{width:100%;}
}
@media (prefers-reduced-motion:reduce){.vt-scene,.vt-hl::before,.vt-tab{transition-duration:.01s;}}

/* ===== v73: 12 matérias, letra cursiva, desenho 3D na folha ===== */
.vt-subj{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.vt-subj::-webkit-scrollbar{display:none;}
.vt-chip{flex:none;min-height:40px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:var(--chrome);font-family:var(--font-display);font-size:13.5px;font-weight:600;color:var(--text);transition-property:border-color,background-color,color;transition-duration:.15s;}
.vt-chip:hover{border-color:#0F6E8C;}
.vt-chip[aria-selected="true"]{background:#0F6E8C;border-color:#0F6E8C;color:#fff;}
.vt-sheet{display:grid;grid-template-columns:minmax(0,1fr) 36%;column-gap:1.4em;align-content:start;font-family:'Playwrite BR','Caveat',cursive;font-size:.9em;background-image:repeating-linear-gradient(transparent 0,transparent calc(2.2em - 1px),#c9d6ea calc(2.2em - 1px),#c9d6ea 2.2em);}
.vt-txt{min-width:0;}
.vt-h1,.vt-h2,.vt-p{font-family:inherit;font-size:1em;line-height:2.2em;}
.vt-h1{min-height:2.2em;font-weight:700;border-bottom:.12em solid #0F6E8C;}
.vt-h2{min-height:2.2em;margin-top:0;padding-left:.6em;font-weight:600;}
.vt-p{margin:0;}
.vt-hl::before{inset:.55em -.15em .35em;}
.vt-fig{display:flex;flex-direction:column;gap:.3em;margin-top:.5em;opacity:0;}
.vt-figh{position:relative;aspect-ratio:1.15/1;border:1.5px solid #b7c3e0;border-radius:.6em;background:#FFFEF8;overflow:hidden;}
.vt-fig small{min-height:1.5em;font-size:.72em;line-height:1.4;color:#6b7aa8;}
.vt-lcard .th{display:flex;align-items:center;justify-content:center;}
.vt-lcard .th svg{width:62%;height:auto;}
.vt-lcard{font-family:var(--font-display);}
@media (max-width:640px){
  .vt-sheet{grid-template-columns:1fr;inset:4% 5%;padding:.7em 1.1em;font-size:.82em;}
  .vt-fig{margin-top:.2em;}
  .vt-figh{aspect-ratio:3.2/1;}
  .vt-lcard,.vt-dock{display:none;}
}
.vt-hl{background-image:linear-gradient(#FFE25A,#FFE25A);background-repeat:no-repeat;background-size:0% 60%;background-position:0 80%;transition:background-size .6s cubic-bezier(.22,1,.36,1);-webkit-box-decoration-break:clone;box-decoration-break:clone;}
.vt-hl.on{background-size:100% 60%;}
.vt-hl::before{content:none;}

/* v75: o menu de escolha do cartão "Nós criamos para você" fica acima da linha de baixo */
.home-wrap.front > .cmp{z-index:5;}
.lh-sg .more{display:none;}
.lh-sg.all .more{display:inline-flex;align-items:center;}
.lh-more{border-style:dashed;color:#69cfd6;}
.lh-ex summary{cursor:default;list-style:none;font-size:12.5px;color:#a6a194;min-height:36px;display:flex;align-items:center;}
.lh-ex summary::-webkit-details-marker{display:none;}
.lh-ex summary::after{content:"+";margin-left:8px;font-weight:700;color:#69cfd6;}
.lh-ex[open] summary::after{content:"–";}
.lh-ex > .lh-b{margin-top:8px;}
.lh-ex,.lh-ex[open]{display:block;}
.lh-ex[open] summary{flex:1 1 100%;}
@media (max-width:760px){
  .lab-home{padding:14px 14px 12px;gap:10px;}
  .lab-home .lh-head p{display:none;}
  .lh-form textarea{min-height:52px;}
  .lh-sg small{display:none;}
  .lh-exl{grid-template-columns:repeat(2,minmax(0,1fr));}
  .lh-exl .lh-b small{display:none;}
}

/* ===== v75: área do aluno, cartões de ação e barra inferior ===== */
.home-eb{margin:0 0 4px;font:600 12px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.home-tt h1{font-size:clamp(26px,3.6vw,38px);}
.al-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.al-tag{padding:4px 12px;border:1px solid var(--line);border-radius:999px;background:var(--chrome);font-size:12.5px;font-weight:600;color:var(--text);}
.al-edit{min-height:36px;padding:0 14px;border:1px dashed #0F6E8C;border-radius:999px;background:transparent;color:#0F6E8C;font:600 13px var(--font-display);}
.al-edit:hover{background:color-mix(in srgb,#0F6E8C 10%,transparent);}
.al-hoje{display:flex;flex-direction:column;gap:10px;}
#home .al-hoje h2{margin:0;font-size:18px;}
.al-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;}
.al-c{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:112px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--chrome);text-align:left;font-family:var(--font-display);color:var(--text);transition-property:transform,border-color,background-color;transition-duration:.15s;}
.al-c svg{width:24px;height:24px;margin-bottom:2px;fill:none;stroke:#0F6E8C;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.al-c b{font-size:15px;line-height:1.2;}
.al-c span{font-size:12.5px;line-height:1.35;color:var(--muted);}
.al-c:hover:not(:disabled){transform:translateY(-2px);border-color:#0F6E8C;}
.al-c.first{border-color:#0F6E8C;background:color-mix(in srgb,#0F6E8C 8%,var(--chrome));}
.al-c:disabled{opacity:.5;}
.al-card{padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--chrome);box-shadow:0 1px 2px var(--shadow),0 14px 28px -22px var(--shadow);display:flex;flex-direction:column;gap:12px;}
#home .al-card h2{margin:0;font-size:20px;}
.al-sub{margin:0;font-size:13.5px;color:var(--muted);}
.al-f{display:flex;flex-direction:column;gap:6px;}
.al-f label,.al-l{font:700 11px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.al-f input{min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--chrome-2);color:var(--text);font:inherit;font-size:16px;}
.al-row{display:flex;flex-wrap:wrap;gap:8px;}
.al-opt{min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--chrome-2);font:600 13.5px var(--font-display);color:var(--text);}
.al-opt[aria-checked="true"],.al-opt[aria-pressed="true"]{background:#0F6E8C;border-color:#0F6E8C;color:#fff;}
.al-act{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.al-act .go{min-height:46px;}
.al-skip{min-height:44px;padding:0 14px;border:none;background:transparent;color:var(--muted);font:600 13.5px var(--font-display);text-decoration:underline;}
.home-bnav{display:flex;position:sticky;top:0;z-index:25;max-width:1120px;margin:0 auto;padding:10px 24px;align-items:center;justify-content:center;gap:8px;background:var(--cd-papel);border-bottom:1.5px solid var(--cd-borda);box-shadow:0 4px 16px -14px var(--shadow);}
.home-bnav button{min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--cd-grafite);font:600 14px var(--cd-fonte-texto);cursor:pointer;}
.home-bnav svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.home-bnav button:hover,.home-bnav button[aria-current="page"]{background:var(--cd-capa-suave);color:var(--cd-capa-escura);}
.home-bnav button:nth-child(3){background:var(--cd-capa);color:#fff;}
.home-bnav button:focus-visible{outline:3px solid color-mix(in srgb,var(--cd-capa) 45%,transparent);outline-offset:2px;}
.home-provas{display:flex;flex-direction:column;gap:8px;padding:18px;border:1.5px solid var(--cd-borda);border-radius:16px;background:var(--cd-papel);}
#home .home-provas h2{margin:0;font:600 22px var(--cd-fonte-titulo);color:var(--cd-tinta);}
.hp-sub,.hp-more{margin:0;color:var(--cd-grafite);font-size:14px;line-height:1.45;}
.hp-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.hp-item{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:12px;border:1.5px solid var(--cd-borda);border-radius:12px;background:var(--cd-folha);}
.hp-info{display:flex;flex-direction:column;gap:3px;min-width:0;}
.hp-info b{font:600 16px var(--cd-fonte-titulo);overflow-wrap:anywhere;}
.hp-kind,.hp-materia{font-size:12px;color:var(--cd-grafite);}
.hp-go{flex:none;min-height:44px;padding:0 14px;border-radius:10px;font:600 13px var(--cd-fonte-texto);}
#home{--cd-capa:#0F6E8C;--cd-capa-escura:#0A4F66;--cd-capa-hover:#0A5C78;--cd-capa-suave:#E8F3F7;--cd-capa-borda:#B3D4DF;--cd-tinta:#1B2530;--cd-foco:0 0 0 4px rgba(15,110,140,.25);--accent:#0F6E8C;--accent-ink:#fff;}
#home .al-edit{border-color:var(--cd-capa);color:var(--cd-capa);}
#home .al-edit:hover{background:color-mix(in srgb,var(--cd-capa) 10%,transparent);}
#home .al-c svg{stroke:var(--cd-capa);}
#home .al-c:hover:not(:disabled){border-color:var(--cd-capa);}
#home .al-c.first{border-color:var(--cd-capa);background:color-mix(in srgb,var(--cd-capa) 8%,var(--chrome));}
#home .al-opt[aria-checked="true"],#home .al-opt[aria-pressed="true"]{background:var(--cd-capa);border-color:var(--cd-capa);color:#fff;}
@media (max-width:900px){
  .al-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .al-c:last-child:nth-child(odd){grid-column:span 2;min-height:80px;}
}
@media (max-width:760px){
  .home-bnav{position:fixed;left:0;right:0;top:auto;bottom:0;z-index:50;max-width:none;margin:0;padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));justify-content:space-around;gap:0;background:var(--cd-papel);border-top:1.5px solid var(--cd-borda);border-bottom:0;box-shadow:0 -6px 20px -14px var(--shadow);}
  .home-bnav button{flex:1;min-width:48px;min-height:54px;flex-direction:column;gap:2px;padding:2px 0;border:none;border-radius:0;background:transparent;color:var(--cd-grafite);font:600 10.5px var(--cd-fonte-texto);}
  .home-bnav button[aria-current="page"]{background:transparent;color:var(--cd-capa);}
  .home-bnav button:nth-child(3){flex:0 0 54px;width:54px;height:54px;min-height:54px;margin:-20px 4px 0;border:4px solid var(--cd-papel);border-radius:50%;background:var(--cd-capa);color:#fff;box-shadow:0 3px 10px rgba(31,42,25,.22);}
  .home-bnav button:nth-child(3) span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
  .home-bnav svg{width:22px;height:22px;}
  .home-wrap.front{padding-bottom:96px;}
  .al-c{min-height:104px;padding:12px;}
  .hp-list{grid-template-columns:1fr;}
  .hp-item{align-items:flex-start;}
  .hp-go{align-self:center;}
}

/* ---------- Notas de prova do caderno (04j-notas-prova.js) ---------- */
.nt-sec{order:9;margin-top:26px;}
.nt-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:10px 0 14px;}
.nt-card{background:var(--chrome);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;}
.nt-rot{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600;}
.nt-card strong{font-family:var(--font-display);font-size:28px;line-height:1.1;color:var(--text);}
.nt-extra{font-size:12px;color:var(--muted);}
.nt-card.bom strong{color:var(--ok);} .nt-card.baixo strong{color:var(--danger);}
.nt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-bottom:10px;}
.nt-box{background:var(--chrome);border:1px solid var(--line);border-radius:12px;padding:12px 14px;}
.nt-larga{margin-bottom:10px;}
.nt-box h3{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--text);}
.nt-graf{width:100%;height:auto;display:block;}
.nt-meta{stroke:var(--muted);stroke-dasharray:4 4;stroke-width:1;opacity:.6;}
.nt-linha{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round;}
.nt-pt{fill:var(--danger);stroke:var(--chrome);stroke-width:1.5;} .nt-pt.ok{fill:var(--ok);}
.nt-fraco,.nt-prova,.nt-mapa{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:13.5px;color:var(--text);}
.nt-fraco:first-of-type,.nt-prova:first-of-type,.nt-mapa:first-of-type{border-top:none;}
.nt-fraco span,.nt-prova > span:not(.small),.nt-mapa span{flex:1;min-width:0;overflow-wrap:anywhere;}
.nt-fraco b{color:var(--danger);font-family:var(--font-mono);}
.nt-prova > b{min-width:38px;font-family:var(--font-display);font-size:17px;}
.nt-prova > b.bom{color:var(--ok);} .nt-prova > b.baixo{color:var(--danger);}
.nt-mapa{width:100%;background:none;border-left:none;border-right:none;border-bottom:none;text-align:left;cursor:pointer;font:inherit;font-size:13.5px;color:var(--text);}
.nt-mapa:hover span{text-decoration:underline;}
.nt-mapa b{font-weight:500;font-size:12px;color:var(--muted);white-space:nowrap;}

/* ---------- Minha conta e backups (00c-nuvem.js) ---------- */
.conta-chip{margin-left:auto;align-self:flex-start;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--chrome);color:var(--text);font:600 13px var(--font-read);cursor:pointer;}
.conta-chip:hover{border-color:var(--accent);color:var(--accent);}
.bk-lista{display:flex;flex-direction:column;gap:6px;margin:6px 0 12px;max-height:50vh;overflow:auto;}
.bk-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:13px;}
.bk-item span{flex:1;min-width:0;}

/* conta no "Meu perfil" (26-home-aluno.js) */
.al-conta{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);}
.al-sair{padding:9px 16px;border-radius:10px;border:1.5px solid var(--danger);background:transparent;color:var(--danger);font:600 14px var(--font-read);cursor:pointer;}
.al-sair:hover{background:rgba(178,59,74,.08);}

/* ---------- Guia "Criar nesta matéria" (04k-guia-materia.js) ---------- */
.gm{background:var(--chrome);border:1px solid var(--line);border-radius:16px;padding:18px 18px 12px;margin:6px 0 18px;box-shadow:0 1px 2px var(--shadow);}
.gm-tit{margin:0;font:700 20px var(--font-display);color:var(--text);}
.gm-passo{margin-bottom:14px;transition:opacity .2s;}
.gm-passo.off{opacity:.45;}
.gm-pt{display:flex;align-items:center;gap:9px;margin-bottom:9px;font:700 15px var(--font-display);color:var(--text);}
.gm-n{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-size:14px;}
.gm-g{display:grid;gap:10px;}
.gm-g3{grid-template-columns:repeat(3,minmax(0,1fr));}
.gm-g4{grid-template-columns:repeat(4,minmax(0,1fr));}
.gm-c{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:14px;border-radius:12px;border:1.5px solid var(--line);background:var(--canvas);color:var(--text);cursor:pointer;font:inherit;transition:border-color .15s,box-shadow .15s,transform .15s;}
.gm-c:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px);}
.gm-c:disabled{cursor:default;}
.gm-c[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent);background:var(--chrome);}
.gm-c svg{width:26px;height:26px;color:var(--accent);fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.gm-ct{display:flex;flex-direction:column;gap:3px;}
.gm-ct strong{font:700 15px var(--font-display);}
.gm-ct span{font-size:13px;line-height:1.4;color:var(--muted);}
.gm-ct em{font-style:normal;font-size:12.5px;color:var(--accent);font-weight:600;}
.gm-mais{display:flex;gap:16px;flex-wrap:wrap;padding-top:6px;border-top:1px dashed var(--line);}
.gm-link{background:none;border:none;padding:6px 0;color:var(--accent);font:600 13.5px var(--font-read);cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
@media (max-width:820px){.gm-g4{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){
  .gm-g3{grid-template-columns:1fr;}
  .gm-g4{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .gm-c{flex-direction:row;align-items:center;gap:12px;padding:12px;}
  .gm-c svg{flex:none;}
  .gm-g4 .gm-c{min-height:132px;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;padding:12px;}
  .gm-g4 .gm-c svg{width:36px;height:36px;}
  .gm-g4 .gm-ct strong{font-size:14px;}
  .gm-g4 .gm-ct span{font-size:12px;line-height:1.3;}
}

/* ---------- várias fotos no assistente (04i-assistente-novo.js) ---------- */
.wz-fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin:10px 0;}
.wz-fotos:empty{display:none;}
.wz-foto{position:relative;aspect-ratio:3/4;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:var(--chrome-2);}
.wz-foto img{width:100%;height:100%;object-fit:cover;display:block;}
.wz-foto-n{position:absolute;left:5px;top:5px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:rgba(0,0,0,.6);color:#fff;font:700 12px/20px var(--font-read);text-align:center;}
.wz-foto-x{position:absolute;right:4px;top:4px;width:24px;height:24px;border-radius:50%;border:none;background:rgba(0,0,0,.6);color:#fff;font:700 16px/1 var(--font-read);cursor:pointer;}

/* escolha do alcance da prova (05-prova.js) */
.prova-op{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;}
.prova-op strong{font-size:15px;} .prova-op span{font-size:13px;color:var(--muted);font-weight:400;}

/* ---------- círculo de tokens (04m-creditos.js) ---------- */
.cred{position:fixed;right:18px;bottom:18px;z-index:8000;width:52px;height:52px;padding:0;border:1.5px solid var(--cd-borda,var(--line));border-radius:50%;background:var(--chrome);color:var(--text);cursor:pointer;box-shadow:0 4px 14px -2px rgba(0,0,0,.12),0 2px 6px -1px rgba(0,0,0,.08);opacity:.95;transition:opacity .2s,transform .25s cubic-bezier(0.34,1.56,0.64,1),box-shadow .25s ease,border-color .2s;display:flex;align-items:center;justify-content:center;outline:none;}
.cred:hover,.cred:focus-visible{opacity:1;transform:scale(1.08) translateY(-2px);box-shadow:0 8px 24px -4px rgba(14,107,130,.28),0 4px 10px -2px rgba(0,0,0,.1);border-color:var(--accent);}
.cred:active{transform:scale(0.96);}
.cred[hidden]{display:none!important;}
/* O saldo já aparece em destaque no Perfil; escondemos o atalho flutuante para não cobrir os detalhes no celular. */
body:has(.modal) .cred, body.lab-aberto .cred, body:has(#labNovoCamada) .cred{display:none!important;}
.cred svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.cred-fundo{fill:none;stroke:var(--line);stroke-width:3.5;opacity:.65;}
.cred-anel{fill:none;stroke:var(--accent);stroke-width:3.5;stroke-linecap:round;transition:stroke-dashoffset .8s cubic-bezier(0.4,0,0.2,1),stroke .3s ease;}
.cred-ico{fill:var(--accent);transition:fill .3s,transform .25s ease,filter .25s ease;transform-origin:23px 23px;}
.cred:hover .cred-ico{transform:scale(1.12);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 60%,transparent));}
.cred.baixo .cred-anel{stroke:#d98a1c;}
.cred.baixo .cred-ico{fill:#d98a1c;}
.cred.acabou .cred-anel{stroke:var(--danger);}
.cred.acabou .cred-ico{fill:var(--danger);opacity:.6;}
.cred.acabou .cred-fundo{stroke-dasharray:3 3;}
.cred-delta{position:absolute;left:50%;top:-6px;transform:translateX(-50%);font:700 12px var(--font-mono);color:var(--danger);opacity:0;pointer-events:none;}
.cred-delta.vai{animation:credVai 1.8s ease-out;}
@keyframes credVai{0%{opacity:0;transform:translate(-50%,4px);}15%{opacity:1;}100%{opacity:0;transform:translate(-50%,-24px);}}
body[data-screen="phone"] .cred{bottom:78px;right:12px;width:46px;height:46px;}
@media (prefers-reduced-motion:reduce){.cred,.cred-anel,.cred-ico{transition:none;}.cred-delta.vai{animation:none;}}

/* ---------- Meu perfil (04n-perfil.js) - Redesign SaaS Premium ---------- */
.modal.pf {
  max-width: 680px;
  font-family: 'Figtree', var(--font-read), -apple-system, sans-serif;
  border-radius: 24px;
  background: var(--canvas);
  box-shadow: 0 24px 64px rgba(0,0,0,0.18), 0 0 0 1px var(--line);
  padding: 24px 28px;
}
.modal.pf h2, .modal.pf h3, .modal.pf h4, .modal.pf strong, .modal.pf b {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
}

/* Voltar invisível se não necessário ou sutil */
.modal-voltar {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px; margin-bottom: 16px; border-radius: 99px;
  background: var(--chrome-2); border: 1px solid var(--line);
  font-size: 13px; font-weight: 600; cursor: pointer; color: var(--text);
  transition: all .2s;
}
.modal-voltar:hover { background: var(--line); transform: translateX(-2px); }

/* Topo / Header (Gemini / Canva style) */
.pf-topo {
  display: flex; align-items: center; gap: 18px;
  padding: 24px; margin-bottom: 24px;
  background: color-mix(in srgb, var(--accent) 3%, var(--chrome));
  border: 1px solid color-mix(in srgb, var(--accent) 12%, var(--line));
  border-radius: 20px;
}
.pf-av {
  flex: none; width: 68px; height: 68px; border-radius: 20px;
  background: linear-gradient(135deg, var(--accent) 0%, #7c5cd6 100%);
  color: #fff; display: grid; place-items: center; font-size: 32px; font-weight: 800;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--accent) 25%, transparent);
}
.pf-quem { flex: 1; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.pf-quem strong { font-size: 24px; color: var(--text); line-height: 1.1; }
.pf-quem span { font-size: 14px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pf-plano {
  align-self: flex-start; margin-top: 4px;
  padding: 4px 12px; border-radius: 99px; font-size: 12px; font-weight: 700;
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  color: var(--accent); letter-spacing: 0.04em; text-transform: uppercase;
}

/* Botão Sair no Topo e Upgrade */
.pf-topo-acoes { display: flex; align-items: center; gap: 12px; }
.pf-btn-upgrade {
  padding: 10px 18px; border-radius: 99px;
  background: linear-gradient(135deg, var(--accent), #7c5cd6);
  color: #fff; border: none; font-size: 13px; font-weight: 700;
  cursor: pointer; transition: all .2s;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--accent) 30%, transparent);
}
.pf-btn-upgrade:hover { transform: translateY(-2px); box-shadow: 0 8px 20px color-mix(in srgb, var(--accent) 40%, transparent); }

.pf-sair-topo {
  flex: none; width: 44px; height: 44px; border-radius: 14px;
  background: var(--canvas); border: 1px solid var(--line);
  color: var(--danger, #ef4444); display: grid; place-items: center;
  cursor: pointer; transition: all .2s cubic-bezier(0.4,0,0.2,1);
  box-shadow: 0 4px 12px rgba(0,0,0,0.04);
}
.pf-sair-topo:hover {
  background: var(--danger, #ef4444); color: #fff;
  border-color: var(--danger, #ef4444); transform: translateY(-2px);
  box-shadow: 0 8px 20px color-mix(in srgb, var(--danger, #ef4444) 30%, transparent);
}

/* Abas */
.pf-nav {
  display: flex; gap: 8px; margin-bottom: 24px; border-bottom: 1px solid var(--line);
  padding-bottom: 12px; overflow-x: auto; scrollbar-width: none;
}
.pf-nav::-webkit-scrollbar { display: none; }
.pf-tab {
  flex: none; display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 16px; border-radius: 12px; background: transparent; border: none;
  font-size: 14px; font-weight: 600; color: var(--muted); cursor: pointer;
  transition: all .2s;
}
.pf-tab svg { width: 18px; height: 18px; fill: currentColor; }
.pf-tab:hover { background: var(--chrome-2); color: var(--text); }
.pf-tab[aria-selected="true"] {
  background: color-mix(in srgb, var(--accent) 8%, transparent);
  color: var(--accent);
}

/* Cards e Seções */
.pf-c {
  background: var(--canvas); border: 1px solid var(--line); border-radius: 20px;
  padding: 24px; margin-bottom: 20px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.02);
}
.pf-c h3 { margin: 0 0 6px; font-size: 18px; color: var(--text); }
.pf-cs { margin: 0 0 16px; font-size: 14.5px; line-height: 1.5; color: var(--muted); }

/* Uso Rápido (Hero) */
.pf-uso-rapido {
  border: none; border-radius: 20px; padding: 24px; margin-bottom: 24px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 6%, var(--chrome)), var(--chrome));
  box-shadow: inset 0 2px 0 rgba(255,255,255,0.4), 0 12px 32px rgba(0,0,0,0.04);
}
.pf-ur-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 16px; }
.pf-ur-rotulo { font-size: 12.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); display: block; margin-bottom: 4px; }
.pf-ur-valor { font-size: 42px; font-weight: 800; font-family: 'Space Grotesk', sans-serif; letter-spacing: -0.04em; color: var(--text); line-height: 1; display: block; }
.pf-ur-cta-recarregar {
  display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px;
  border-radius: 12px; background: var(--accent); color: #fff; border: none;
  font-size: 14.5px; font-weight: 700; letter-spacing: 0.02em; cursor: pointer;
  box-shadow: 0 8px 24px color-mix(in srgb, var(--accent) 30%, transparent);
  transition: all .2s;
}
.pf-ur-cta-recarregar:hover { transform: translateY(-2px); filter: brightness(1.1); box-shadow: 0 12px 32px color-mix(in srgb, var(--accent) 40%, transparent); }

/* Venda de Tokens - Mkt Design */
.pf-sales-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; }
.pf-badge-item { display: inline-flex; align-items: center; padding: 6px 12px; border-radius: 8px; background: color-mix(in srgb, var(--accent) 6%, var(--chrome-2)); color: var(--text); font-size: 12px; border: 1px solid color-mix(in srgb, var(--accent) 15%, var(--line)); }
.pf-badge-item strong { margin-left: 4px; color: var(--accent); }

.pf-pacotes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 20px 0; }
.pf-pk {
  position: relative; display: flex; flex-direction: column; align-items: flex-start; text-align: left;
  padding: 20px; border: 2px solid var(--line); border-radius: 18px;
  background: var(--canvas); cursor: pointer; transition: all .2s cubic-bezier(0.34,1.56,0.64,1);
}
.pf-pk:hover { border-color: var(--accent); transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0,0,0,0.08); }
.pf-pk.dest { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 3%, var(--canvas)); }
.pf-pk[aria-pressed="true"] {
  border-color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, var(--canvas));
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 20%, transparent);
}
.pf-pk-selo {
  font-size: 11px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase;
  padding: 4px 10px; border-radius: 8px; margin-bottom: 12px;
  background: var(--chrome-2); color: var(--muted);
}
.pf-pk-selo.dest { background: var(--accent); color: #fff; box-shadow: 0 4px 12px color-mix(in srgb, var(--accent) 30%, transparent); }
.pf-pk-quantidade { display: flex; align-items: baseline; gap: 4px; margin-bottom: 6px; }
.pf-pk-quantidade strong { font-size: 26px; font-weight: 800; color: var(--text); letter-spacing: -0.02em; }
.pf-pk-quantidade span { font-size: 13px; font-weight: 600; color: var(--muted); }
.pf-pk-preco { display: flex; flex-direction: column; margin-bottom: 12px; }
.pf-pk-preco strong { font-size: 16px; color: var(--accent); }
.pf-pk-preco span { font-size: 12px; color: var(--muted); }
.pf-pk-cap { font-size: 12px; font-weight: 500; color: var(--muted); padding-top: 12px; border-top: 1px dashed var(--line); width: 100%; }

/* Formas de Pagamento OpenAI Style */
.pf-payment-options { display: flex; gap: 8px; margin: 16px 0; background: var(--chrome-2); padding: 6px; border-radius: 12px; }
.pf-pay-btn {
  flex: 1; padding: 10px 0; text-align: center; font-size: 13.5px; font-weight: 600;
  color: var(--muted); background: transparent; border: none; border-radius: 8px; cursor: pointer; transition: all .2s;
}
.pf-pay-btn[aria-pressed="true"] { background: var(--canvas); color: var(--text); box-shadow: 0 4px 12px rgba(0,0,0,0.06); }
.pf-card-form { display: flex; flex-direction: column; gap: 12px; margin-bottom: 16px; padding: 16px; background: var(--canvas); border-radius: 12px; border: 1px solid var(--line); }
.pf-card-form input { width: 100%; padding: 12px; border-radius: 8px; border: 1px solid var(--line); background: var(--chrome); font-size: 14px; color: var(--text); font-family: inherit; }
.pf-card-form input:focus { border-color: var(--accent); outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent); }
.pf-card-row { display: flex; gap: 12px; }

.pf-compra-resumo { padding: 12px 14px; border-radius: 12px; background: var(--chrome-2); font-size: 13px; color: var(--text); margin-top: 10px; border: 1px solid var(--line); }
.pf-comprar {
  width: 100%; min-height: 52px; font-size: 15px; font-weight: 700; border-radius: 14px;
  background: var(--accent); color: #fff; margin-top: 16px; border: none; cursor: pointer;
  transition: all .2s; box-shadow: 0 8px 24px color-mix(in srgb, var(--accent) 30%, transparent);
}
.pf-comprar:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 12px 32px color-mix(in srgb, var(--accent) 40%, transparent); }
.pf-comprar:disabled { opacity: 0.6; cursor: not-allowed; transform: none; box-shadow: none; }

.pf-pix-checkout { padding: 24px; border-radius: 18px; background: #fff; border: 1px solid var(--line); margin-top: 16px; text-align: center; }
.pf-pix-qr { border-radius: 12px; padding: 12px; border: 1px solid var(--line); background: #fff; margin: 0 auto 16px; display: block; }
.pf-pix-copiar { background: var(--chrome-2); color: var(--text); font-weight: 600; padding: 10px 20px; border-radius: 10px; border: none; cursor: pointer; margin-bottom: 16px; }

/* Preferências, Conta e Ocultar Botão Sair Repetido */
.al-f.pref-grupo { border: none; padding: 0; margin-bottom: 24px; }
.pref-opcoes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.pref-item {
  display: inline-flex; align-items: center; padding: 10px 16px; border-radius: 12px;
  background: var(--chrome-2); border: 1px solid var(--line); cursor: pointer;
  font-size: 14px; font-weight: 600; color: var(--text); transition: all .2s;
}
.pref-item:hover { background: color-mix(in srgb, var(--accent) 5%, var(--chrome-2)); border-color: var(--accent); }
.pref-item input:checked + span { color: var(--accent); }

/* Remove old logout elements since they are now at the top */
.pf-footer-sair, .pf-sair-btn, .pf-btn-sair-tab { display: none !important; }

/* Rodapé Unificado do Modal Perfil */
.pf-footer {
  display: flex; align-items: center; justify-content: flex-end; gap: 12px;
  margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--line);
}
.pf-fechar-btn {
  padding: 12px 24px; border-radius: 12px; background: var(--chrome-2);
  color: var(--text); font-weight: 700; border: none; cursor: pointer;
}
.pf-fechar-btn:hover { background: var(--line); }

/* Mobile */
@media (max-width:640px) {
  .pf-pacotes { grid-template-columns: 1fr; }
  .pf-topo { flex-direction: column; align-items: stretch; text-align: center; padding: 20px; }
  .pf-av { margin: 0 auto 8px; width: 80px; height: 80px; font-size: 36px; }
  .pf-quem { align-items: center; }
  .pf-sair-topo { position: absolute; top: 16px; right: 16px; background: var(--chrome-2); border: none; }
  .modal.pf { padding: 16px; border-radius: 16px; }
  .pf-ur-head { flex-direction: column; align-items: stretch; }
}

.pf-btn-suporte { padding: 10px 16px; border-radius: 99px; border: 1px solid var(--line); background: var(--chrome); color: var(--text); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.pf-btn-suporte:hover { border-color: var(--accent); }

/* ── página inicial: chamada de plano (Gratuito → Plus, Plus → Premium) ── */
.home-wrap.front > .home-dupla,.home-wrap.front > .home-plano{order:2;}
.home-dupla{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:16px;align-items:stretch}
.home-dupla > .home-cont{margin:0}
.home-plano{display:flex;flex-direction:column;gap:8px;padding:20px 22px;border-radius:16px;border:1.5px solid var(--cd-capa-borda,#b3d4df);background:linear-gradient(160deg,#ffffff 0%,#eef6f9 100%);color:var(--text)}
.home-plano .hp-tag{font:700 12px var(--font-mono,monospace);letter-spacing:.06em;text-transform:uppercase;color:var(--cd-capa,#0f6e8c)}
.home-plano .hp-titulo{display:block;font-weight:800;font-size:21px;line-height:1.2;letter-spacing:-.01em;color:var(--text)}
.home-plano .hp-texto{margin:0;color:var(--muted);font-size:15px;line-height:1.5;max-width:52ch}
.home-plano .hp-acoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:8px}
.home-plano .hp-cta{min-height:44px}
.home-plano.hp-plus{border-color:#c7b8f5;background:linear-gradient(160deg,#ffffff 0%,#f3effe 100%)}
.home-plano.hp-plus .hp-tag{color:#6a49d6}
.home-plano.hp-plus .hp-cta{background:#6a49d6;border-color:#6a49d6}
.home-plano.hp-alerta{border-color:#f0b24b;background:linear-gradient(160deg,#fffdf6 0%,#fff3d9 100%)}
.home-plano.hp-alerta .hp-tag{color:#a3620b}
body[data-canvas="dark"] .home-plano{background:var(--chrome-2);border-color:var(--line)}
@media (max-width:1000px){.home-dupla{grid-template-columns:1fr}}
.home-top > .pb{align-self:flex-start;display:inline-flex;align-items:center;min-height:40px;padding:0 14px}
.pf-sugerido{outline:3px solid var(--accent,#0f6e8c);outline-offset:3px}

/* ── criar aula em um passo ── */
.home-wrap.front > .home-rapido{order:2;}
.home-rapido{padding:18px 20px;border-radius:16px;border:1.5px solid var(--cd-borda,#dcd6c6);background:var(--chrome,#fff)}
.home-rapido .hr-tit{margin:0 0 12px;font-size:20px;letter-spacing:-.01em}
.hr-form{display:flex;gap:10px}
.hr-in{flex:1;min-width:0;min-height:52px;padding:0 16px;border-radius:12px;border:1.5px solid var(--cd-capa-borda,#b3d4df);background:#fff;font-size:17px;color:var(--text)}
.hr-in::placeholder{color:#9aa3ae}.hr-in:focus{outline:none;border-color:var(--accent,#0f6e8c);box-shadow:0 0 0 3px rgba(15,110,140,.18)}
.hr-go{min-height:52px;padding:0 24px;white-space:nowrap}
.hr-linha{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}
.hr-fmt{display:inline-flex;gap:4px;padding:3px;border-radius:999px;background:var(--cd-capa-suave,#e8f3f7)}
.hr-fmt button{border:0;border-radius:999px;min-height:34px;padding:0 13px;background:transparent;color:var(--muted);font-weight:700;font-size:13.5px;cursor:pointer}
.hr-fmt button[aria-pressed="true"]{background:#fff;color:var(--cd-capa-escura,#0a4f66);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.hr-mais{margin-left:auto;border:0;background:none;color:var(--accent,#0f6e8c);font-weight:700;font-size:14px;text-decoration:underline;cursor:pointer;min-height:34px}
@media (max-width:600px){.hr-form{flex-direction:column}.hr-go{width:100%}.hr-mais{margin-left:0}.hr-fmt{display:flex;width:100%}.hr-fmt button{flex:1;padding:0 6px;font-size:12.5px;white-space:nowrap}}
body[data-canvas="dark"] .hr-in{background:var(--chrome-2)}
/* ── Laboratório 3D fora da página inicial: só aparece no modo laboratório ── */
.home-wrap.front:not(.lab-mode) > .lab-home{display:none}
.home-wrap.front.lab-mode > :not(.lab-home){display:none !important}
.home-wrap.front.lab-mode{max-width:1120px;margin-inline:auto;width:100%}
.lab-home .lh-back{display:none}.home-wrap.front.lab-mode .lh-back{display:inline-flex;margin-bottom:10px}
/* ── estante: nota da matéria ── */
.nb-cover .nb-nota{display:block;width:fit-content;max-width:calc(100% - 20px);margin:6px 0 0;padding:3px 8px;border-radius:6px;background:rgba(255,255,255,.94);font-size:12px;line-height:1.3;font-weight:700;color:#0a4f66;text-align:left}
.nb-cover .nb-nota.baixa{color:#b4531b}
.home-wrap.front.lab-mode > .lab-home{grid-column:1/-1;width:100%;max-width:none;align-self:stretch}

/* perfil, topo: nome e botões não se sobrepõem (os botões descem de linha quando falta espaço) */
.pf-topo{flex-wrap:wrap;row-gap:14px}
.pf-quem{flex:1 1 240px}
.pf-quem strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf-topo-acoes{flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}
@media (max-width:640px){ .pf-topo-acoes{margin-left:0;justify-content:center} .pf-quem{flex-basis:auto} }
@media (max-width:640px){ .pf-topo{position:relative} .pf-quem .pf-plano{align-self:center} .pf-sair-topo{top:12px;right:12px} }

/* Guia de Consumo de Créditos */
.pf-guia-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.pf-guia-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-radius: 12px;
  background: var(--chrome-2, #f5f8fa);
  border: 1px solid var(--line, #e2e8f0);
  gap: 12px;
  transition: transform .15s, border-color .15s;
}
.pf-guia-item:hover {
  border-color: var(--accent, #0f6e8c);
  transform: translateY(-1px);
}
.pf-guia-info {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 600;
  color: var(--text, #1a202c);
}
.pf-guia-ico { font-size: 18px; line-height: 1; }
.pf-guia-badge {
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent, #0f6e8c) 12%, var(--canvas, #fff));
  color: var(--accent, #0f6e8c);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.pf-guia-badge.gratis {
  background: rgba(47, 179, 122, 0.15);
  color: #2fb37a;
}
/* ===== css/caderno-ds.css ===== */
/* =========================================================
   Sistema de design "Caderno" (Claude Designer, 24/09/2026) aplicado à área do usuário.
   Carregado POR ÚLTIMO. Paleta = AZUL do produto (#0F6E8C), nunca verde. Só troca o visual:
   a lógica e as classes JS continuam as mesmas. Modo escuro (body[data-canvas="dark"]) segue usando
   as variáveis do base.css (--accent, --chrome, --line...), por isso os botões usam var(--accent).
   ========================================================= */

/* ---------- 1. Tokens ---------- */
:root {
  --cd-capa: #0F6E8C;
  --cd-capa-escura: #0A4F66;
  --cd-capa-hover: #0A5C78;
  --cd-capa-suave: #E8F3F7;
  --cd-capa-borda: #B3D4DF;
  --cd-papel: #FFFFFF;
  --cd-folha: #FFFFFF;
  --cd-pauta: #E7E0CF;
  --cd-borda: #E1D9C7;
  --cd-margem: #E6A9A0;
  --cd-estante: #C9B28C;
  --cd-estante-sombra: #A8916B;
  --cd-tinta: #1B2530;
  --cd-grafite: #5A5648;
  --cd-acerto: #2E7D32; --cd-acerto-suave: #E8F3E6;
  --cd-erro: #A3261B;   --cd-erro-suave: #FBECEA;
  --cd-caneta: #1F4E8C; --cd-caneta-suave: #EAF1FA;
  --cd-ambar: #B26B00;  --cd-ambar-texto: #8A4F00; --cd-ambar-suave: #FFF8E1;
  --cd-rabisco: #A24A1A;
  --cd-fonte-titulo: "Fraunces", Georgia, serif;
  --cd-fonte-texto: "Atkinson Hyperlegible", "Figtree", system-ui, sans-serif;
  --cd-fonte-rabisco: "Caveat", "Segoe Print", cursive;
  --cd-raio: 12px;
  --cd-raio-grande: 16px;
  --cd-foco: 0 0 0 4px rgba(15, 110, 140, .25);

  --canvas: #FFFFFF;
  --chrome: #FFFFFF;
  --chrome-2: #FFFFFF;
  --line: #E1D9C7;
  --font-display: "Atkinson Hyperlegible", "Figtree", system-ui, sans-serif;
}
body[data-canvas="dark"] { --canvas: #FFFFFF; --chrome: #FFFFFF; --chrome-2: #FFFFFF; --line: #E1D9C7; --text: #1B2530; --muted: #5A5648; }

/* Títulos em Fraunces (comentário curto em Caveat fica para o que já é rabisco) */
.home-tt h1, .nb-title, .gm-tit, .modal h2, .pf-quem strong, .quiz-q, .al-card h2, .al-card h3 {
  font-family: var(--cd-fonte-titulo); font-weight: 600; letter-spacing: -.3px;
}
.home-tt h1 { font-size: clamp(28px, 4.4vw, 38px); line-height: 1.05; }

/* ---------- 2. Botões: o primário afunda 3 px ao tocar ---------- */
.go, .pb.primary {
  min-height: 48px; padding: 0 22px; border-radius: 12px; border: 0;
  background: var(--accent); color: var(--accent-ink);
  font: 700 16px var(--cd-fonte-texto);
  box-shadow: 0 3px 0 color-mix(in srgb, var(--accent) 55%, #000);
  transition: transform .15s, box-shadow .15s, background .15s, filter .15s;
}
.go:hover:not(:disabled), .pb.primary:hover:not(:disabled) { filter: brightness(.92); }
.go:active:not(:disabled), .pb.primary:active:not(:disabled) { transform: translateY(3px); box-shadow: 0 0 0 transparent; }
.go:disabled, .pb.primary:disabled { opacity: .5; }
.pb, .pbt, .al-skip {
  min-height: 44px; padding: 0 16px; border-radius: 12px; border: 1.5px solid #D9D2C3;
  background: var(--chrome); color: var(--text); font: 600 14.5px var(--cd-fonte-texto);
}
.pb:hover:not(:disabled), .pbt:hover:not(:disabled), .al-skip:hover:not(:disabled) { background: color-mix(in srgb, var(--chrome) 88%, #C9B28C); }
body[data-canvas="dark"] .pb, body[data-canvas="dark"] .pbt, body[data-canvas="dark"] .al-skip { border-color: var(--line); }
.pb.primary { border: 0; }
.tb {
  font: 600 13.5px var(--cd-fonte-texto); border-radius: 10px; border: 1.5px solid #D9D2C3;
  min-height: 36px; padding: 0 12px;
}
body[data-canvas="dark"] .tb { border-color: var(--line); }
.tb[aria-pressed="true"] { border-color: var(--accent); }
.tb.ai { border-width: 1.5px; }
.mapbtn { border-radius: 10px; border: 1.5px solid #D9D2C3; font-family: var(--cd-fonte-texto); }
body[data-canvas="dark"] .mapbtn { border-color: var(--line); }
.mapbtn span.c { font-family: var(--cd-fonte-texto) !important; font-weight: 700; border-radius: 6px; }
.al-opt {
  min-height: 44px; font: 600 15px var(--cd-fonte-texto); border: 1.5px solid var(--cd-borda); background: var(--chrome);
}
.al-opt[aria-checked="true"], .al-opt[aria-pressed="true"] { background: var(--cd-capa-suave); border: 2px solid var(--accent); color: var(--cd-tinta); }
body[data-canvas="dark"] .al-opt[aria-checked="true"], body[data-canvas="dark"] .al-opt[aria-pressed="true"] { background: var(--chrome-2); color: var(--text); }

/* ---------- 3. Campos ---------- */
.modal input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
.home-wrap input[type="text"], .home-wrap input[type="search"], .home-wrap input[type="email"],
.al-f input, .lh-form input, .modal select {
  min-height: 48px; padding: 0 16px; border-radius: 12px; border: 1.5px solid #D9D2C3; background: var(--chrome);
  font: 400 16px var(--cd-fonte-texto); color: var(--text);
}
body[data-canvas="dark"] .modal input, body[data-canvas="dark"] .home-wrap input, body[data-canvas="dark"] .modal select { border-color: var(--line); }
.modal textarea { border-radius: 12px; border: 1.5px solid #D9D2C3; font-family: var(--cd-fonte-texto); font-size: 16px; }
.modal input:focus, .home-wrap input:focus, .al-f input:focus, .lh-form input:focus, .modal textarea:focus, .modal select:focus {
  outline: none; border-color: var(--accent); box-shadow: var(--cd-foco);
}
:focus-visible { outline: none; box-shadow: var(--cd-foco); }
button:focus-visible { border-radius: inherit; }
.nb-title { font-size: clamp(24px, 3.4vw, 30px); }

/* ---------- 4. Estante de matérias: capa com lombada, etiqueta, prateleira ---------- */
.home-wrap { background: transparent; }
.nb-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 30px 16px; padding: 0 6px; }
.nb-card { position: relative; gap: 14px; }
.nb-card::before {
  content: ""; position: absolute; left: -10px; right: -10px; top: 150px; height: 10px; border-radius: 3px;
  background: var(--cd-estante); box-shadow: 0 4px 0 var(--cd-estante-sombra); z-index: 0; pointer-events: none;
}
.nb-cover {
  z-index: 1; height: 156px; padding: 12px 10px 10px 20px; border-radius: 4px 12px 12px 4px;
  background: hsl(var(--nbh) 58% 34%); box-shadow: inset 9px 0 0 rgba(0, 0, 0, .22);
  transform-origin: bottom center; transition: transform .3s ease;
}
.nb-cover:hover { transform: translateY(-6px) rotate(-2deg); }
.nb-rings { left: 3px; top: 12px; bottom: 12px; }
.nb-label { border-radius: 4px; padding: 6px 8px; font: 700 13px var(--cd-fonte-texto); color: var(--cd-tinta); background: var(--cd-papel); box-shadow: none; }
.nb-count { font: 600 12px var(--cd-fonte-texto); opacity: 1; }
.nb-name { font: 600 13.5px var(--cd-fonte-texto); }
.nb-card.none .nb-cover, .nb-card.add .nb-cover {
  background: transparent; box-shadow: none; border: 2px dashed #B8AF9C; color: var(--cd-grafite); transform: none;
}
.nb-card.add .nb-cover { color: var(--accent); border-color: var(--accent); }
.nb-card.none .nb-cover:hover, .nb-card.add .nb-cover:hover { transform: translateY(-3px); }
.nb-spine { width: 12px; border-radius: 3px; }
.home-back { min-height: 44px; font: 700 15px var(--cd-fonte-texto); }
.nb-tag { border-radius: 6px; font: 700 12px var(--cd-fonte-texto); }

/* ---------- 5. Cartões, opções e o guia de 2 passos ---------- */
.gm, .al-card, .home-cont, .hc { border: 1.5px solid var(--cd-borda); border-radius: var(--cd-raio-grande); box-shadow: none; }
body[data-canvas="dark"] .gm, body[data-canvas="dark"] .al-card { border-color: var(--line); }
.gm-tit { font-size: 22px; }
.gm-n { width: 28px; height: 28px; font: 700 14px var(--cd-fonte-texto); }
.gm-c {
  position: relative; min-height: 96px; border: 1.5px solid var(--cd-borda); border-radius: 14px; background: var(--chrome);
  transition: border-color .15s, background .15s, transform .15s;
}
.gm-c:hover:not(:disabled) { border-color: var(--accent); transform: none; }
.gm-c[aria-pressed="true"] { border: 2px solid var(--accent); background: var(--cd-capa-suave); box-shadow: none; }
body[data-canvas="dark"] .gm-c[aria-pressed="true"] { background: var(--chrome-2); }
.gm-c[aria-pressed="true"]::after {
  content: "✓"; position: absolute; top: 10px; right: 10px; width: 24px; height: 24px; border-radius: 50%;
  background: var(--accent); color: var(--accent-ink); font: 700 14px/24px var(--cd-fonte-texto); text-align: center;
}
.gm-c svg { width: 40px; height: 40px; padding: 8px; border-radius: 10px; background: var(--cd-papel); border: 1.5px solid var(--cd-borda); stroke-width: 1.8; }
.gm-ct strong { font: 700 16px var(--cd-fonte-texto); }
.gm-ct span { font-size: 13.5px; }
.gm-ct em { font: 600 13px var(--cd-fonte-texto); }
.gm-link { min-height: 44px; font-family: var(--cd-fonte-texto); }
.gm-aviso { font-family: var(--cd-fonte-texto); }
.al-tag, .lh-chip {
  min-height: 40px; border-radius: 999px; border: 1.5px solid var(--cd-borda); font: 600 14px var(--cd-fonte-texto);
}
.al-sub, .home-eb, .home-meta { font-family: var(--cd-fonte-texto); }
.home-eb { color: var(--cd-grafite); }

/* ---------- 6. Círculo de tokens, Meu perfil e modais ---------- */
.cred {
  background: var(--chrome); border: 1.5px solid var(--cd-borda); box-shadow: 0 4px 16px -2px var(--shadow); opacity: 0.95;
  font-family: var(--cd-fonte-texto);
}
body[data-canvas="dark"] .cred { border-color: var(--line); }
.cred-fundo { stroke: #E4DDCB; }
body[data-canvas="dark"] .cred-fundo { stroke: rgba(255, 255, 255, 0.15); }
.cred-anel { stroke: var(--accent); }
.cred-ico { fill: var(--accent); }
.cred.baixo .cred-anel { stroke: var(--cd-ambar); }
.cred.baixo .cred-ico { fill: var(--cd-ambar); }
.cred.acabou .cred-anel { stroke: var(--cd-erro); }
.cred.acabou .cred-ico { fill: var(--cd-erro); }
.cred-delta { font: 700 20px var(--cd-fonte-rabisco); color: var(--cd-rabisco); }
.modal { border: 1.5px solid var(--cd-borda); border-radius: var(--cd-raio-grande); font-family: var(--cd-fonte-texto); }
body[data-canvas="dark"] .modal { border-color: var(--line); }
.modal h2 { font-size: 22px; }
.modal p { color: var(--cd-grafite); font-size: 14.5px; }
body[data-canvas="dark"] .modal p { color: var(--muted); }
.modal .choice label { border: 1.5px solid var(--cd-borda); border-radius: 12px; min-height: 48px; }
.pf-av { background: linear-gradient(135deg, var(--cd-capa), var(--cd-capa-escura)); font-family: var(--cd-fonte-titulo); }
.pf-c, .pf-pk, .pf-pl, .pf-n { border: 1.5px solid var(--cd-borda); border-radius: var(--cd-raio-grande); }
body[data-canvas="dark"] .pf-c, body[data-canvas="dark"] .pf-pk, body[data-canvas="dark"] .pf-pl, body[data-canvas="dark"] .pf-n { border-color: var(--line); }
.pf-c { background: var(--chrome); }
.pf-c h3 { font-family: var(--cd-fonte-titulo); font-size: 17px; }
.pf-cs { font-size: 14px; line-height: 1.55; }
.pf-tipo { font-size: 14px; line-height: 1.45; }
.pf-pl { font-size: 13.5px; line-height: 1.45; }
.pf-quem .pf-plano { background: var(--cd-capa-suave); color: var(--cd-capa-escura); border-radius: 999px; }
body[data-canvas="dark"] .pf-quem .pf-plano { background: var(--chrome-2); color: var(--accent); }
.pf-grande b { font-family: var(--cd-fonte-titulo); }
.pf-bar { height: 12px; border-radius: 6px; background: #E4DDCB; }
.pf-bar i { background: var(--accent); }
.pf-bar.baixo i { background: var(--cd-ambar); }
.pf-mini i { background: var(--accent); }
.pf-pk { background: var(--chrome); }
.pf-pk { gap: 8px; min-height: 106px; padding: 14px; font: 14px/1.45 var(--cd-fonte-texto); }
.pf-pk strong { font: 700 18px/1.3 var(--cd-fonte-texto); }
.pf-pk-selo { font: 700 12px/1.3 var(--cd-fonte-texto); }
.pf-pk.dest, .pf-pl.atual { border: 2px solid var(--accent); background: var(--cd-capa-suave); }
body[data-canvas="dark"] .pf-pk.dest, body[data-canvas="dark"] .pf-pl.atual { background: var(--chrome-2); }
@media (max-width: 560px) {
  .modal.pf .pf-pacotes { grid-template-columns: 1fr; gap: 10px; }
  .modal.pf .pf-pk { min-height: 0; padding: 13px 15px; font-size: 14px; }
  .modal.pf .pf-pk strong { font-size: 17px; }
  .modal.pf .pf-pk-selo { font-size: 12px; }
}
.pf-pk .go { min-height: 48px; }
.pf-aviso { border: 1.5px solid #E9D48A; background: var(--cd-ambar-suave); color: var(--cd-ambar-texto); border-radius: 12px; }
.pf-c-destaque { border: 2px solid var(--accent); background: var(--cd-capa-suave); }
.prof-b.eu { background: var(--accent); }
.prof-in textarea { border-radius: 12px; border: 1.5px solid #D9D2C3; font-family: var(--cd-fonte-texto); }
body[data-canvas="dark"] .prof-in textarea { border-color: var(--line); }

/* ---- perfil, continuidade de estudo, folha branca e cabeçalho sem overflow ---- */
.modal.pf .pf-uso-rapido { min-width: 0; margin: 0 0 14px; padding: 14px 16px; border: 1.5px solid var(--cd-capa-borda); border-radius: 14px; background: linear-gradient(120deg, #F2F8FA, #fff 68%); }
.modal.pf .pf-ur-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; color: var(--cd-grafite); font: 600 14px/1.4 var(--cd-fonte-texto); }
.modal.pf .pf-ur-head strong { color: var(--cd-tinta); font-size: 24px; font-variant-numeric: tabular-nums; }
.modal.pf .pf-ur-bar-label { margin-top: 12px; color: var(--cd-tinta); font: 600 13px/1.4 var(--cd-fonte-texto); }
.modal.pf .pf-ur-trilho { height: 10px; margin-top: 6px; overflow: hidden; border-radius: 99px; background: #E5EDF0; }
.modal.pf .pf-ur-trilho i { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--cd-caneta); transition: width .35s ease; }
.modal.pf .pf-ur-legenda { margin: 6px 0 0; color: var(--cd-grafite); font: 14px/1.5 var(--cd-fonte-texto); }
.modal.pf .pf-ur-mes { color: var(--cd-capa-escura); }
body[data-canvas="dark"] .modal.pf .pf-uso-rapido { border-color: var(--line); background: var(--chrome-2); }
body[data-canvas="dark"] .modal.pf .pf-ur-head, body[data-canvas="dark"] .modal.pf .pf-ur-head strong,
body[data-canvas="dark"] .modal.pf .pf-ur-bar-label, body[data-canvas="dark"] .modal.pf .pf-ur-legenda,
body[data-canvas="dark"] .modal.pf .pf-ur-mes { color: var(--text); }
.modal.pf .pf-c fieldset.pref-grupo { min-width: 0; padding: 0; border: 0; }
.modal.map-reading .map-read-list { display: grid; gap: 9px; margin: 14px 0; }
.modal.map-reading .map-read-back { min-height: 42px; padding: 9px 14px; border: 1px solid var(--cd-borda); border-radius: 10px; background: var(--chrome); color: var(--accent); font: 700 14px var(--cd-fonte-texto); }
.modal.map-reading .map-read-item { min-width: 0; border: 1px solid var(--cd-borda); border-radius: 12px; background: var(--chrome); }
.modal.map-reading .map-read-leaf { padding: 11px 14px; border: 1px solid var(--cd-borda); border-radius: 10px; color: var(--text); font: 500 15px/1.45 var(--cd-fonte-texto); overflow-wrap: anywhere; }
.modal.map-reading .map-read-item summary { padding: 12px 14px; color: var(--cd-tinta); font: 700 16px/1.45 var(--cd-fonte-texto); cursor: pointer; overflow-wrap: anywhere; }
.modal.map-reading .map-read-item[open] > summary { color: var(--accent); }
.modal.map-reading .map-read-children { display: grid; gap: 7px; margin: 0 10px 10px 15px; padding-left: 11px; border-left: 2px solid var(--cd-capa-borda); }
.modal.map-reading .map-read-note { margin: 0 14px 12px; color: var(--cd-grafite); font: 15px/1.55 var(--cd-fonte-texto); white-space: pre-wrap; overflow-wrap: anywhere; }
body[data-canvas="dark"] .modal.map-reading .map-read-item summary, body[data-canvas="dark"] .modal.map-reading .map-read-note { color: var(--text); }
.modal.pf .pref-grupo legend { float: none; width: 100%; padding: 0; margin-bottom: 8px; }
.modal.pf .pref-nome { padding: 12px; border: 1px solid var(--cd-borda); border-radius: 12px; background: #FAFBFC; }
.modal.pf .pref-nome label { display: block; }
.modal.pf .pref-nome input { box-sizing: border-box; }
.modal.pf .pref-ajuda { display: block; margin-top: 6px; color: var(--cd-grafite); font: 12px/1.45 var(--cd-fonte-texto); }
.modal.pf .pref-opcoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr)); gap: 8px; }
.modal.pf .pref-opcao { position: relative; min-width: 0; min-height: 46px; padding: 8px 28px 8px 12px; border: 1.5px solid var(--cd-borda); border-radius: 11px; background: #fff; color: var(--cd-tinta); text-align: left; line-height: 1.25; white-space: normal; transition: border-color .15s, background-color .15s, box-shadow .15s; }
.modal.pf .pref-opcao[aria-checked="true"], .modal.pf .pref-opcao[aria-pressed="true"] { border-color: var(--cd-caneta); background: #E8F3F7; box-shadow: 0 0 0 2px color-mix(in srgb, var(--cd-caneta) 12%, transparent); font-weight: 700; }
.modal.pf .pref-opcao[aria-checked="true"]::after, .modal.pf .pref-opcao[aria-pressed="true"]::after { content: "✓"; position: absolute; top: 50%; right: 10px; color: var(--cd-caneta); font-weight: 800; transform: translateY(-50%); }
.modal.pf .pref-opcao:focus-visible { outline: 3px solid color-mix(in srgb, var(--cd-caneta) 35%, transparent); outline-offset: 2px; }
.modal.pf .pref-salvar { width: 100%; margin-top: 12px; }
.hc-prova { display: flex; flex-direction: column; gap: 13px; min-width: 0; padding: clamp(18px, 3vw, 28px); border: 1px solid color-mix(in srgb, var(--cd-capa-escura) 55%, transparent); border-radius: 20px; background: var(--cd-capa); color: #fff; box-shadow: 0 6px 0 color-mix(in srgb, var(--cd-capa-escura) 75%, #000); }
.hc-prova .hc-topline { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: rgba(255,255,255,.78); font: 700 12px/1.2 var(--cd-fonte-texto); letter-spacing: .08em; text-transform: uppercase; }
.hc-prova .hc-tag { max-width: 45%; overflow: hidden; padding: 5px 10px; border: 1px solid rgba(255,255,255,.25); border-radius: 99px; color: #fff; text-overflow: ellipsis; white-space: nowrap; letter-spacing: 0; text-transform: none; }
.hc-prova .hc-prova-titulo { display: block; overflow: hidden; font: 700 clamp(23px, 3.5vw, 34px)/1.15 var(--cd-fonte-titulo); text-overflow: ellipsis; }
.hc-prova .hc-dots { display: grid; grid-template-columns: repeat(10, minmax(10px, 1fr)); gap: 6px; }
.hc-prova .hc-dots i { height: 8px; border-radius: 99px; background: rgba(255,255,255,.23); }
.hc-prova .hc-dots i.certo { background: #9AD594; }
.hc-prova .hc-dots i.erro { background: #F08B8B; }
.hc-prova .hc-dots i.atual { background: #fff; box-shadow: 0 0 0 2px rgba(255,255,255,.22); }
.hc-prova .hc-prova-rodape { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.hc-prova .hc-prova-stats { display: flex; flex-direction: column; gap: 4px; color: rgba(255,255,255,.92); font: 15px/1.3 var(--cd-fonte-texto); }
.hc-prova .hc-retomar { flex: none; min-width: 130px; min-height: 52px; border: 0; border-radius: 13px; background: #fff; color: var(--cd-capa-escura); font-weight: 700; }
.modal.quiz { --chrome: #fff; --chrome-2: #F3F6F8; --text: #17232E; --muted: #526170; --line: #D8E0E7; background: #fff; color: #17232E; border: 1px solid #E1E6EA; border-radius: 18px; box-shadow: 0 24px 80px rgba(4,18,28,.32); }
.modal.quiz::before { height: 5px; background: linear-gradient(90deg, #0F6E8C, #42A4C0); }
.modal.quiz .paper-head { border-bottom: 2px solid #17232E; }
.modal.quiz .paper-topic { color: #17232E; }
.modal.quiz .quiz-q { border: 0; border-left: 3px solid #0F6E8C; border-radius: 4px 12px 12px 4px; background: #F7F9FA; background-image: none; color: #17232E; }
.modal.quiz .quiz-op { border-color: #D5DEE5; background: #fff; color: #17232E; }
.modal.quiz .quiz-op:hover:not(:disabled) { background: #EFF7FA; border-color: #0F6E8C; }
.modal.quiz .acts-row { background: #fff; }
.modal.quiz .pb.primary { background: #0F6E8C; }
body[data-screen="phone"] .modal.pf .pf-uso-rapido { padding: 12px; }
body[data-screen="phone"] .modal.pf .pref-opcoes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
body[data-screen="phone"] .modal.pf .pref-opcao { min-height: 44px; padding-left: 10px; font-size: 13px; }
body[data-screen="phone"] .hc-prova { padding: 18px 16px; gap: 12px; }
body[data-screen="phone"] .hc-prova .hc-prova-titulo { font-size: 26px; }
body[data-screen="phone"] .hc-prova .hc-dots { gap: 4px; }
body[data-screen="phone"] .hc-prova .hc-prova-rodape { align-items: stretch; }
body[data-screen="phone"] .hc-prova .hc-retomar { min-width: 104px; padding: 0 12px; }
body[data-screen="phone"] header.bar { min-width: 0; }
body[data-screen="phone"] header.bar .bar-actions { min-width: 0; max-width: 100%; }
body[data-screen="phone"] header.bar .tokbar-bar { flex: 0 0 48px; width: 48px; min-width: 48px; max-width: 48px; margin: 0 4px; padding: 0 5px; overflow: hidden; }
body[data-screen="phone"] header.bar .tokbar-bar .tk-trilho { flex: 1 1 auto; width: auto; min-width: 24px; }
body[data-screen="phone"] header.bar .tokbar-bar .tk-t { display: block; overflow: hidden; font-size: 0; line-height: 1; text-align: center; }
body[data-screen="phone"] header.bar .tokbar-bar .tk-t b { font-size: 12px; }
body[data-screen="phone"] header.bar .tokbar-bar .tk-trilho { display: none; }
body[data-screen="phone"] header.bar .bar-actions > * { min-width: 0; }
body:has(#pageView:not([hidden])) .cred, body.lab-aberto .cred, body:has(#labNovoCamada) .cred { display: none !important; }
body[data-screen="phone"] #pageView .bar .tokbar-bar { flex: 0 0 48px; width: 48px; min-width: 48px; max-width: 48px; }
body[data-screen="phone"] #pageView .bar .tokbar-bar .tk-t { display: block; overflow: hidden; font-size: 0; line-height: 1; text-align: center; }
body[data-screen="phone"] #pageView .bar .tokbar-bar .tk-t b { font-size: 12px; }
body[data-screen="phone"] #pageView .bar .tokbar-bar .tk-trilho { display: none; }
@media (max-width: 560px) {
  .modal.quiz { border-radius: 0; border: 0; }
  .modal.quiz .quiz-q { padding: 12px 13px; }
}

/* ---------- 7. Estados: carregando, vazio, erro, "tokens acabaram" ---------- */
.ql-tip, .ql-time { font-family: var(--cd-fonte-texto); }
.ql-spin { border-color: #E4DDCB; border-top-color: var(--accent); }
.ql-skel b, .ql-skel i { border-radius: 10px; }
.toast, #toast { font-family: var(--cd-fonte-texto); border-radius: 12px; }

/* ---------- 8. Prova: certa = borda cheia + ✓, errada = borda tracejada + ✕, nunca só a cor ---------- */
.quiz-top { font-family: var(--cd-fonte-texto); font-weight: 600; }
.quiz-topic { font-family: var(--cd-fonte-texto); font-weight: 700; background: var(--cd-caneta-suave); border-color: transparent; color: var(--cd-caneta); border-radius: 999px; padding: 3px 10px; }
.modal.quiz { font-family: var(--cd-fonte-texto); }
.quiz-q {
  padding: 14px 16px 12px 18px; border: 1.5px solid var(--cd-borda); border-left: 3px solid var(--cd-margem); border-radius: 14px;
  background-color: var(--chrome);
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 27px, #EFE8D8 27px, #EFE8D8 28px);
  font-size: 18px; line-height: 28px;
}
body[data-canvas="dark"] .quiz-q { background-image: none; }
.quiz-op { min-height: 52px; border: 1.5px solid #D9D2C3; border-radius: 12px; padding: 10px 14px; font-family: var(--cd-fonte-texto); font-size: 16px; align-items: center; }
body[data-canvas="dark"] .quiz-op { border-color: var(--line); }
.quiz-op b { width: 28px; height: 28px; border: 1.5px solid #9C9585; background: transparent; font: 700 13px var(--cd-fonte-texto); }
.quiz-op:hover:not(:disabled) { background: var(--cd-caneta-suave); border-color: var(--cd-caneta); }
body[data-canvas="dark"] .quiz-op:hover:not(:disabled) { background: var(--chrome-2); }
.quiz-op.ok { border: 2px solid var(--cd-acerto); background: var(--cd-acerto-suave); font-weight: 600; }
.quiz-op.ok b { background: var(--cd-acerto); border-color: var(--cd-acerto); color: #fff; font-size: 0; }
.quiz-op.ok b::after { content: "✓"; font-size: 14px; }
.quiz-op.no { border: 2px dashed var(--cd-erro); background: var(--cd-erro-suave); }
.quiz-op.no b { background: var(--cd-erro); border-color: var(--cd-erro); color: #fff; font-size: 0; }
.quiz-op.no b::after { content: "✕"; font-size: 14px; }
body[data-canvas="dark"] .quiz-op.ok { background: rgba(46, 125, 50, .18); }
body[data-canvas="dark"] .quiz-op.no { background: rgba(163, 38, 27, .18); }
.quiz-fb { border-radius: 12px; font-family: var(--cd-fonte-texto); }
.quiz-fb.ok { border: 1.5px solid var(--cd-acerto); background: var(--cd-acerto-suave); }
.quiz-fb.no { border: 1.5px dashed var(--cd-erro); background: var(--cd-erro-suave); }
body[data-canvas="dark"] .quiz-fb.ok { background: rgba(46, 125, 50, .18); }
body[data-canvas="dark"] .quiz-fb.no { background: rgba(163, 38, 27, .18); }
.quiz-num { font-family: var(--cd-fonte-titulo); }
.quiz-rev { border: 1.5px solid var(--cd-borda); border-radius: 12px; }

/* ---------- 9. Navegação inferior do celular (já existe) ---------- */
.home-bnav { border-top: 1.5px solid var(--cd-borda); background: var(--cd-papel); }
body[data-canvas="dark"] .home-bnav { background: var(--chrome); border-top-color: var(--line); }
.home-bnav button { font: 600 12px var(--cd-fonte-texto); min-width: 48px; }
.home-bnav button[aria-current="page"], .home-bnav button.on { color: var(--accent); font-weight: 700; }

/* ---------- 10. Papel ---------- */
body { background: var(--cd-papel); }
body[data-canvas="dark"] { background: var(--canvas); }
#home { background: var(--cd-papel); }
body[data-canvas="dark"] #home { background: var(--canvas); }

/* ---------- 11. Celular ---------- */
@media (max-width: 560px) {
  .nb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 14px; }
  .go, .pb.primary { min-height: 52px; }
  .tb { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .nb-cover, .go, .pb, .gm-c { transition: none; }
  .nb-cover:hover { transform: none; }
}

/* nomes editáveis da estante e do título da matéria continuam leves (sem caixa de campo) */
.home-wrap input.nb-name { min-height: 36px; padding: 0 8px; border: 1.5px solid transparent; background: transparent; text-align: center; font: 600 13.5px var(--cd-fonte-texto); }
.home-wrap input.nb-name:hover { border-color: var(--cd-borda); }
.home-wrap input.nb-title { min-height: 48px; padding: 0 8px; border: 1.5px solid transparent; background: transparent; font: 600 clamp(24px, 3.4vw, 30px) var(--cd-fonte-titulo); }
.home-wrap input.nb-title:hover { border-color: var(--cd-borda); }
.pf-pk .go { padding: 0 8px; font-size: 14px; white-space: nowrap; }

/* ---- Início mobile: saudação, retomada e estante ---- */
.home-tt h1 { color: var(--cd-tinta); }
.home-chamada { margin: 2px 0 8px; color: var(--cd-capa-escura); font: 600 24px/1.15 var(--cd-fonte-rabisco); }
.home-wrap.front .home-cont { position: relative; min-height: 190px; padding: 22px 22px 18px; flex-direction: column; align-items: stretch; justify-content: space-between; gap: 16px; border: 0; border-bottom: 6px solid var(--cd-capa-escura); border-radius: 20px; background: linear-gradient(135deg, var(--cd-capa), var(--cd-capa-escura)); box-shadow: 0 10px 22px -18px var(--cd-capa-escura); }
.home-cont .hc-tx { gap: 5px; }
.home-cont .hc-tx small { color: #D8EDF3; }
.home-cont .hc-tx b { font: 600 clamp(23px, 5vw, 30px)/1.15 var(--cd-fonte-titulo); }
.home-cont .hc-tx span { color: #E0EFF2; font-size: 13px; }
.home-cont .go { align-self: flex-end; min-width: 136px; background: #fff; color: var(--cd-capa-escura); box-shadow: 0 3px 0 rgba(0,0,0,.16); }
.home-wrap.front > .home-sh { margin-top: 10px; }
.home-wrap.front .home-sh h2 { font: 600 28px/1.1 var(--cd-fonte-titulo); color: var(--cd-tinta); }
.home-wrap.front .home-type-filters { gap: 8px; padding: 2px 2px 7px; }
.home-wrap.front .home-type-filters button { min-height: 42px; border-radius: 12px 12px 4px 4px; }
/* A capa dos materiais segue igual; mouse e toque recebem a mesma elevação breve. */
.nb-cover { transform-origin: 45% 100%; transition: transform .2s cubic-bezier(.2,.8,.2,1), box-shadow .2s ease, filter .2s ease; }
.nb-cover:hover, .nb-cover:focus-visible { transform: translateY(-4px) rotate(-.5deg); filter: brightness(1.04); box-shadow: 0 5px 0 hsl(var(--nbh) 40% 25%), 0 12px 22px -12px var(--shadow); }
.nb-cover:active { transform: translateY(1px) scale(.985); filter: brightness(.97); }
.mcard { transform-origin: center bottom; transition: transform .18s cubic-bezier(.2,.8,.2,1), border-color .16s ease, box-shadow .16s ease; }
.mcard:hover, .mcard:focus-within { transform: translateY(-3px); }
.mcard:active { transform: translateY(1px) scale(.985); }
@media (max-width: 760px) {
  .home-wrap.front { gap: 14px; padding: 22px 18px calc(104px + env(safe-area-inset-bottom, 0px)); }
  .home-wrap.front > .home-top { align-items: flex-start; gap: 8px; }
  .home-wrap.front .home-top .home-tt { flex: 1 1 100%; min-width: 0; }
  .home-wrap.front .home-eb { display: none; }
  .home-wrap.front .home-tt h1 { font-size: clamp(30px, 8vw, 38px); }
  .home-chamada { font-size: 25px; }
  .home-wrap.front .home-meta, .home-wrap.front .al-chips .al-tag { display: none; }
  .home-wrap.front .al-chips { margin-top: 6px; }
  .home-wrap.front .home-cont { min-height: 198px; padding: 22px 20px 16px; }
  .home-wrap.front .home-sh { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 8px; }
  .home-wrap.front .home-sh h2 { flex: 1 1 100%; font-size: 28px; }
  .home-wrap.front .home-sh .txt { width: 100%; }
  .home-wrap.front .home-type-filters { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
  .home-wrap.front .home-type-filters::-webkit-scrollbar { display: none; }
  .home-wrap.front .home-type-filters button { flex: 1 0 auto; padding: 0 13px; }
}

/* Página inicial enxuta: entrada do Laboratório 3D na paleta azul do produto. */
.home-wrap.front > .home-cont { order: 2; }
.home-wrap.front > .home-sh,.home-wrap.front > .home-type-filters,.home-wrap.front > .mgrid,.home-wrap.front > .pager { order: 3; }
.home-wrap.front > .home-h,.home-wrap.front > .nb-grid,.home-wrap.front > .prompt-ex,.home-wrap.front > .home-h-row,.home-wrap.front > .nb-pager { order: 4; }
.home-wrap.front > .cmp,.home-wrap.front > .alt { order: 5; }
.home-wrap.front.no-docs > .cmp,.home-wrap.front.no-docs > .alt { order: 4; }
.home-wrap.front > .lab-home { order: 6; }
.home-wrap.front > .study-bar { order: 7; }
.home-wrap.front > .vt { order: 8; }
.lab-home {
  gap: 12px; padding: clamp(16px, 2.5vw, 24px); border: 1px solid var(--cd-capa-borda);
  border-radius: var(--cd-raio-grande); background: linear-gradient(145deg, var(--cd-papel), var(--cd-capa-suave));
  color: var(--text); box-shadow: 0 8px 24px -22px var(--cd-capa-escura);
}
.lab-home .lh-head { gap: 12px; align-items: center; }
.lab-home .lh-head > svg { flex: 0 0 40px; width: 40px; height: 40px; padding: 8px; border-radius: 12px; color: var(--cd-capa); background: #fff; }
.lab-home .lh-head h2 { margin: 0; color: var(--cd-tinta); font: 600 clamp(22px, 2.6vw, 28px)/1.15 var(--cd-fonte-titulo); }
.lab-home .lh-head p { margin: 3px 0 0; color: var(--muted); font-size: 14px; }
.lab-home .lh-form textarea { min-height: 58px; border: 1px solid var(--cd-capa-borda); border-radius: 12px; background: var(--chrome); color: var(--text); }
.lab-home .lh-form textarea::placeholder,.lab-home .lh-sg small,.lab-home .lh-ex summary { color: var(--muted); }
.lab-home .lh-form textarea:focus { border-color: var(--cd-capa); box-shadow: var(--cd-foco); }
.lab-home .lh-go { min-height: 48px; border-radius: 12px; background: var(--cd-capa); color: #fff; font: 700 15px var(--cd-fonte-texto); }
.lab-home .lh-go:hover:not(:disabled) { background: var(--cd-capa-hover); }
.lab-home .lh-sg { gap: 7px; }
.lab-home .lh-sg small { font-size: 12px; }
.lab-home .lh-chip { min-height: 36px; border-color: var(--cd-capa-borda); background: var(--chrome); color: var(--cd-capa-escura); font: 600 13px var(--cd-fonte-texto); }
.lab-home .lh-chip:hover { border-color: var(--cd-capa); background: #fff; }
.lab-home .lh-more { color: var(--cd-capa); }
.lab-home .lh-ex { padding-top: 2px; border-top: 1px solid var(--cd-capa-borda); }
.lab-home .lh-ex summary { min-height: 34px; cursor: pointer; font-size: 13px; }
.lab-home .lh-ex summary::after { color: var(--cd-capa); }
.lab-home .lh-b { border-color: var(--cd-capa-borda); background: var(--chrome); color: var(--text); }
body[data-canvas="dark"] .lab-home { border-color: var(--line); background: linear-gradient(145deg, #122536, #10202d); }
body[data-canvas="dark"] .lab-home .lh-head h2 { color: var(--text); }
body[data-canvas="dark"] .lab-home .lh-head > svg { background: #1b3345; }
body[data-canvas="dark"] .lab-home .lh-chip,body[data-canvas="dark"] .lab-home .lh-b { border-color: var(--line); background: var(--chrome); color: var(--text); }
@media (max-width: 760px) {
  .lab-home .lh-head p { display: block; font-size: 13px; }
  .lab-home .lh-form textarea { min-height: 56px; }
  .lab-home .lh-sg small { display: block; }
}
@media (prefers-reduced-motion: reduce) {
  .nb-cover, .mcard { transition: none; }
  .nb-cover:hover, .nb-cover:focus-visible, .nb-cover:active, .mcard:hover, .mcard:focus-within, .mcard:active { transform: none; filter: none; }
}


/* ---- 25/09/2026: fundo branco, Voltar, Meu perfil e professor organizados ---- */
.modal .modal-voltar { flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px 0 8px; border: 1.5px solid #0F6E8C; border-radius: 12px; background: #E8F3F7; color: #0A4F66; font: 700 15px var(--cd-fonte-texto); cursor: pointer; }
.modal .modal-voltar svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.modal .modal-voltar:hover { background: #D5EAF1; }
.modal .modal-voltar { margin: 0 0 12px; }

/* Meu perfil: "Como você estuda" com respiro */
.modal.pf .pf-c { padding: 18px 20px; margin-bottom: 16px; }
.modal.pf .pf-c .al-f { display: flex; flex-direction: column; gap: 10px; margin: 0 0 22px; }
.modal.pf .pf-c .al-f:last-of-type { margin-bottom: 8px; }
.modal.pf .al-l { display: block; font: 700 14px var(--cd-fonte-texto); color: var(--cd-tinta); }
.modal.pf .al-row { display: flex; flex-wrap: wrap; gap: 10px; }
.modal.pf .al-opt { min-height: 42px; padding: 0 16px; margin: 0; }
.modal.pf .al-f label { font: 600 14px var(--cd-fonte-texto); }
.modal.pf .al-f input[type="text"] { width: 100%; min-height: 48px; margin-top: 6px; }
.modal.pf .pf-c > .go { margin-top: 10px; }
.modal.pf .pf-av { background: var(--cd-capa); }
.modal.pf .pf-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; padding: 5px; margin: 4px 0 14px; border: 1px solid var(--cd-borda); border-radius: 14px; background: var(--cd-capa-suave); }
.modal.pf .pf-tab { min-width: 0; min-height: 44px; padding: 6px 8px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--cd-capa-escura); font: 600 14px/1.3 var(--cd-fonte-texto); cursor: pointer; }
.modal.pf .pf-tab[aria-selected="true"] { border-color: var(--cd-capa); background: var(--cd-capa); color: #fff; box-shadow: 0 2px 5px rgba(15, 79, 102, .18); }
.modal.pf .pf-tab:focus-visible { outline: 3px solid color-mix(in srgb, var(--cd-capa) 40%, transparent); outline-offset: 2px; }
.modal.pf .pf-painel[hidden] { display: none; }
.modal.pf .pf-painel { min-width: 0; }
.modal.pf .pf-saldo-linhas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 18px; }
.modal.pf .pf-saldo-linhas .pf-cs { margin: 0; }
body[data-canvas="dark"] .modal.pf .pf-nav { border-color: var(--line); background: var(--chrome-2); }
body[data-canvas="dark"] .modal.pf .pf-tab { color: var(--text); }
body[data-canvas="dark"] .modal.pf .pf-tab[aria-selected="true"] { color: var(--accent-ink); }
@media (max-width: 560px) {
  .modal.pf .pf-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .modal.pf .pf-saldo-linhas { grid-template-columns: 1fr; gap: 6px; }
  .modal.pf .pf-acoes.pf-upgrade-escolhas { grid-template-columns: 1fr; }
  .modal.pf .pf-assinar.pf-upgrade-cta { min-height:78px; }
}

/* Perguntar ao professor: cabeçalho, contexto, conversa, sugestões e campo organizados */
.modal.prof { display: flex; flex-direction: column; max-width: 680px; width: min(680px, calc(100vw - 24px)); height: min(720px, 90vh); padding: 18px 0 0; overflow: hidden; }
.modal.prof > .modal-voltar { margin: 0 0 8px 16px; align-self: flex-start; }
.modal.prof > h2 { margin: 0; padding: 0 20px; font: 600 26px/1.15 var(--cd-fonte-titulo); }
.modal.prof .prof-sub { margin: 4px 20px 12px; font-size: 14px; color: var(--cd-grafite); }
.modal.prof .prof-ctx { margin: 0 20px 12px; padding: 10px 14px; border: 1.5px solid var(--cd-borda); border-radius: 12px; background: #F4F9FB; font-size: 14px; }
.modal.prof .prof-msgs { flex: 1; min-height: 0; max-height: none; margin: 0 20px; padding: 4px 0; border: 0; background: transparent; overflow-y: auto; }
.modal.prof .prof-vazio { margin: 0; text-align: left; }
.modal.prof .prof-vazio p { margin: 0 0 10px; font-weight: 600; color: var(--cd-grafite); }
.modal.prof .prof-sug { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; justify-content: stretch; }
.modal.prof .prof-sug .exchip { min-height: 52px; padding: 10px 14px; border-radius: 12px; text-align: left; white-space: normal; line-height: 1.3; }
.modal.prof .prof-in { display: flex; gap: 10px; align-items: flex-end; margin: 0; padding: 12px 20px; border-top: 1.5px solid var(--cd-borda); background: #fff; }
.modal.prof .prof-in textarea { flex: 1; min-height: 52px; max-height: 140px; }
.modal.prof .prof-in .go { min-height: 52px; padding: 0 18px; }
.modal.prof .prof-uso { margin: 0; padding: 0 20px 14px; font-size: 12.5px; color: var(--cd-grafite); background: #fff; }
@media (max-width: 560px) { .modal.prof { height: 92vh; } .modal.prof .prof-sug { grid-template-columns: 1fr; } .modal.prof .prof-in { flex-direction: column; align-items: stretch; } }


/* ---- 25/09/2026: barra horizontal de tokens e tela mais larga ---- */
.tokbar { display: inline-flex; align-items: center; gap: 10px; min-height: 40px; padding: 0 14px; border: 1.5px solid var(--cd-borda); border-radius: 999px; background: #fff; color: var(--cd-tinta); font: 600 13px var(--cd-fonte-texto); cursor: pointer; white-space: nowrap; }
.tokbar:empty { display: none; }
.tokbar .tk-t b { font-size: 15px; }
.tk-trilho { width: 120px; height: 8px; border-radius: 6px; background: #E3EDF2; overflow: hidden; }
.tk-trilho i { display: block; height: 100%; border-radius: 6px; background: #0F6E8C; transition: width .4s; }
.tokbar.baixo .tk-trilho i { background: #D98A1C; }
.tokbar.acabou .tk-trilho i { background: #A3261B; }
.tokbar.acabou { border-color: #A3261B; }
.home-top .tokbar { order: 20; margin-left: auto; align-self: flex-start; }
.bar .tokbar-bar { margin: 0 8px 0 auto; min-height: 36px; padding: 0 12px; }
body[data-screen="phone"] .bar .tokbar-bar .tk-label,
body[data-screen="phone"] .bar .tokbar-bar .tk-sufixo { display: none; }
body[data-screen="phone"] .bar .tokbar-bar { min-width: 58px; min-height: 44px; justify-content: center; }
body[data-screen="phone"] .tk-trilho { width: 60px; }
.home-wrap { max-width: 1360px; padding: 26px 40px 70px; }
body[data-screen="tablet"] .home-wrap { padding: 24px 24px 70px; }
body[data-screen="phone"] .home-wrap { padding: 16px 14px 70px; }

/* Início da área de membros: saudação, retomada e estante em azul. */
.home-wrap.front .home-chamada { color: var(--cd-capa); font-size: clamp(23px, 3vw, 29px); }
.home-wrap.front .home-cont.hc-prova { min-height: 238px; justify-content: space-between; border-color: #0A4F66; background: linear-gradient(145deg, #147B9C, #0A4F66); box-shadow: 0 6px 0 #073E52, 0 14px 26px -20px rgba(10,79,102,.6); }
.home-wrap.front .hc-prova .hc-prova-titulo { font-size: clamp(26px, 4vw, 34px); }
.home-wrap.front .hc-prova .hc-dots i.certo { background: #A7D9EB; }
.home-wrap.front .hc-prova .hc-dots i.erro { background: #F0A5A8; }
.home-wrap.front .hc-prova .hc-dots i.atual { background: #fff; }
.home-wrap.front .hc-prova .hc-retomar { color: #0A4F66; }
.home-wrap.front > .home-sh { display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 8px 12px; margin: 10px 0 0; }
.home-wrap.front .home-sh h2 { position: relative; flex: 1 1 auto; width: auto; padding-bottom: 10px; margin: 0 !important; font: 600 clamp(26px, 3.4vw, 32px)/1.12 var(--cd-fonte-titulo); color: var(--cd-tinta); }
.home-wrap.front .home-sh h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 112px; height: 4px; border-radius: 99px; background: var(--cd-capa); transform: rotate(-1deg); }
.home-ver-todas { flex: none; min-height: 40px; padding: 0 4px 8px; border: 0; background: transparent; color: var(--cd-capa-escura); font: 600 15px var(--cd-fonte-texto); cursor: pointer; }
.home-ver-todas:hover { color: var(--cd-capa); text-decoration: underline; text-underline-offset: 4px; }
.home-wrap.front > .home-type-filters { display: flex; flex-wrap: nowrap; gap: 7px; padding: 3px 2px 7px; overflow-x: auto; scrollbar-width: none; }
.home-wrap.front > .home-type-filters::-webkit-scrollbar { display: none; }
.home-wrap.front .home-type-filters button { display: inline-flex; flex: 1 0 auto; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 15px; border: 1.5px solid transparent; border-radius: 13px 13px 5px 5px; background: #F0ECE2; color: #38434F; font-size: 14px; white-space: nowrap; }
.home-wrap.front .home-type-filters button[aria-pressed="true"] { border-color: var(--cd-borda); border-bottom-color: var(--cd-papel); background: var(--cd-papel); color: var(--cd-tinta); box-shadow: 0 -1px 0 var(--cd-borda); }
.home-filter-mark { width: 12px; height: 12px; border-radius: 3px; background: #0F6E8C; }
.home-filter-mark.lab { background: #2F6FA3; }
.home-filter-mark.page { background: #4B86AA; }
.home-wrap.front > .home-search { order: 3; width: min(100%, 420px); margin: 0 0 2px; }
.home-wrap.front > .mgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 16px 14px; padding: 4px 2px 10px; }
.home-wrap.front .mgrid .mcard { --mc: #0F6E8C; position: relative; min-height: 204px; overflow: hidden; border: 0; border-radius: 13px 16px 15px 8px; background: linear-gradient(90deg, #0A4F66 0 13px, #147B9C 13px 100%); color: #fff; box-shadow: inset 1px 0 rgba(255,255,255,.15), inset 0 1px rgba(255,255,255,.12), 0 5px 0 #0A4F66, 0 10px 16px -10px rgba(10,79,102,.55); }
.home-wrap.front .mgrid .mcard:nth-child(4n+2) { --mc: #174E74; background: linear-gradient(90deg, #103B59 0 13px, #1B5F86 13px 100%); }
.home-wrap.front .mgrid .mcard:nth-child(4n+3) { --mc: #286A91; background: linear-gradient(90deg, #1A4E70 0 13px, #286A91 13px 100%); }
.home-wrap.front .mgrid .mcard:nth-child(4n) { --mc: #3B6F8E; background: linear-gradient(90deg, #244E6B 0 13px, #3B6F8E 13px 100%); }
.home-wrap.front .mgrid .mcard-open { gap: 9px; padding: 18px 13px 14px 22px; color: inherit; }
.home-wrap.front .mgrid .mcard-head { min-height: 34px; margin: 0; padding: 0 25px 0 0; overflow: visible; }
.home-wrap.front .mgrid .mcard-ico { width: 16px; height: 16px; stroke: rgba(255,255,255,.88); }
.home-wrap.front .mgrid .mcard-kind { padding: 6px 9px; border-radius: 6px; background: #F8F6EF; color: #243B4B; font-size: 12px; }
.home-wrap.front .mgrid .nb-tag { border: 0; border-radius: 6px; background: #F8F6EF; color: #243B4B; font-size: 11px; }
.home-wrap.front .mgrid .mcard-t { min-height: 44px; padding: 10px 9px; border-radius: 7px; background: #F8F6EF; color: #1B2530; font: 600 15px/1.25 var(--cd-fonte-texto); box-shadow: 0 2px 3px rgba(0,0,0,.12); }
.home-wrap.front .mgrid .mcard-sub { color: rgba(255,255,255,.78); }
.home-wrap.front .mgrid .mcard-foot { gap: 8px; padding-top: 0; border: 0; }
.home-wrap.front .mgrid .mdot { width: 9px; height: 9px; border-radius: 3px; background: rgba(255,255,255,.8); }
.home-wrap.front .mgrid .mdot.more { width: auto; height: auto; background: transparent; color: #fff; }
.home-wrap.front .mgrid .mcard-meta { color: rgba(255,255,255,.9); }
.home-wrap.front .mgrid .mcard-more { top: 9px; right: 8px; color: #fff; opacity: .9; }
.home-wrap.front .mgrid .mcard:hover { border-color: transparent; box-shadow: inset 1px 0 rgba(255,255,255,.15), inset 0 1px rgba(255,255,255,.12), 0 7px 0 #0A4F66, 0 15px 20px -10px rgba(10,79,102,.6); }
body[data-canvas="dark"] .home-wrap.front .home-type-filters button { border-color: var(--line); background: var(--chrome-2); color: var(--text); }
body[data-canvas="dark"] .home-wrap.front .home-type-filters button[aria-pressed="true"] { border-color: var(--accent); background: var(--chrome); color: var(--text); }
@media (max-width: 760px) {
  #home > .home-tick { display: none; }
  .home-wrap.front { gap: 17px; padding: 12px 20px calc(92px + env(safe-area-inset-bottom, 0px)); }
  .home-wrap.front > .home-top { gap: 0; }
  .home-wrap.front .home-tt h1 { margin: 0; font-size: clamp(34px, 9vw, 42px); line-height: 1.05; }
  .home-wrap.front .home-tt > .al-chips,
  .home-wrap.front .home-tt > .home-meta,
  .home-wrap.front .home-tt > p:not(.home-chamada) { display: none; }
  .home-wrap.front .home-chamada { margin: 4px 0 3px; font-size: clamp(23px, 6vw, 29px); }
  .home-wrap.front .home-top > .pb { display: none; }
  .home-wrap.front > .home-cont { margin-top: 0; }
  .home-wrap.front > .home-sh { margin-top: 2px; }
  .home-wrap.front > .home-search { max-width: 100%; }
  .home-wrap.front .home-chamada { margin-top: 0; font-size: 25px; }
  .home-wrap.front .home-cont.hc-prova { min-height: 242px; padding: 21px 18px 16px; }
  .home-wrap.front .hc-prova .hc-prova-titulo { font-size: 25px; }
  .home-wrap.front > .home-sh { flex-direction: row; align-items: center; flex-wrap: nowrap; gap: 8px; }
  .home-wrap.front .home-sh h2 { flex: 1 1 auto; width: auto; font-size: 27px; }
  .home-ver-todas { padding-right: 2px; font-size: 14px; }
  .home-wrap.front .home-type-filters button { flex: 1 0 auto; min-height: 46px; padding: 0 11px; }
  .home-wrap.front > .home-search { width: 100%; }
  .home-wrap.front > .mgrid { display: flex; gap: 13px; margin: 0 -14px; padding: 6px 14px 12px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; scrollbar-width: thin; }
  .home-wrap.front .mgrid .mcard { flex: 0 0 154px; min-height: 204px; scroll-snap-align: start; }
  .home-wrap.front .mgrid .mcard-open { padding: 16px 11px 13px 19px; }
  .home-wrap.front .mgrid .mcard-t { font-size: 14px; }
}
body[data-canvas="dark"] .home-wrap.front .mgrid .mcard-t { background: #F8F6EF; color: #1B2530; }
@media (prefers-reduced-motion: reduce) {
  .home-wrap.front .mgrid .mcard { animation: none; transition: none; }
  .home-wrap.front .mgrid .mcard:hover, .home-wrap.front .mgrid .mcard:active { transform: none; }
}

/* Cabeçalho de retorno ao mapa e seleção de provas: alinhamento e ações em azul. */
.home-wrap.front .home-top:has(> .pb) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px 12px;
}
.home-wrap.front .home-top:has(> .pb) .home-tt { grid-column: 1; min-width: 0; }
.home-wrap.front .home-top:has(> .pb) .conta-chip { grid-column: 2; grid-row: 1; margin-left: 0; justify-self: end; }
.home-wrap.front .home-top:has(> .pb) > .pb {
  display: inline-flex;
  grid-column: 1 / -1;
  justify-self: start;
  margin: 0;
  border-color: var(--cd-capa-borda);
  background: var(--cd-capa-suave);
  color: var(--cd-capa-escura);
}
.home-wrap.front .home-top:has(> .pb) > .pb:hover { border-color: var(--cd-capa); background: #D5EAF1; }
.home-provas-modal { width: min(760px, calc(100vw - 36px)); gap: 14px; }
.home-provas-modal h2 { color: var(--cd-tinta); font: 600 26px/1.15 var(--cd-fonte-titulo); }
.home-provas-modal > p { max-width: 58ch; font: 400 15px/1.5 var(--cd-fonte-texto); }
.home-provas-modal .hp-list { gap: 12px; }
.home-provas-modal .hp-item {
  min-height: 132px;
  padding: 16px;
  border-color: var(--cd-capa-borda);
  background: linear-gradient(145deg, #fff, #F7FBFC);
}
.home-provas-modal .hp-info { gap: 6px; }
.home-provas-modal .hp-info b { font: 600 17px/1.3 var(--cd-fonte-texto); color: var(--cd-tinta); }
.home-provas-modal .hp-kind { color: var(--cd-capa-escura); font: 700 11px/1.3 var(--cd-fonte-texto); letter-spacing: .045em; text-transform: uppercase; }
.home-provas-modal .hp-materia { color: var(--muted); font: 500 13px/1.35 var(--cd-fonte-texto); }
.home-provas-modal .hp-go { min-width: 126px; min-height: 46px; border-radius: 11px; background: var(--cd-capa); color: #fff; box-shadow: 0 3px 0 var(--cd-capa-escura); }
.home-provas-modal .hp-go:hover:not(:disabled) { background: var(--cd-capa-hover); filter: none; }
.home-provas-modal .hp-go:disabled { border: 1px solid #C9D3D9; background: #E9EEF1; color: #46545D; box-shadow: none; opacity: 1; }
.home-provas-modal > .acts-row > .pb:not(.primary) { border-color: var(--cd-capa-borda); color: var(--cd-capa-escura); }
.home-provas-modal > .acts-row > .pb:not(.primary):hover { background: var(--cd-capa-suave); }
body[data-canvas="dark"] .home-provas-modal .hp-item { border-color: var(--line); background: var(--chrome-2); }
body[data-canvas="dark"] .home-provas-modal .hp-info b { color: var(--text); }
body[data-canvas="dark"] .home-provas-modal .hp-materia { color: var(--muted); }
body[data-canvas="dark"] .home-provas-modal .hp-go:disabled { border-color: var(--line); background: var(--chrome); color: var(--text); }
@media (max-width: 760px) {
  .home-wrap.front .home-top:has(> .pb) { grid-template-columns: minmax(0, 1fr) auto; }
  .home-wrap.front .home-top:has(> .pb) > .pb { display: inline-flex; }
  .home-provas-modal { width: 100%; }
  .home-provas-modal .hp-item { min-height: 0; padding: 14px; }
  .home-provas-modal .hp-go { min-width: 112px; }
}

/* Entrada em Fraunces e tela Criar em dois passos, inspirada em telas.html. */
.home-wrap.front .home-tt h1 { max-width: 24ch; font: 600 clamp(32px, 4vw, 46px)/1.08 var(--cd-fonte-titulo); letter-spacing: -.55px; overflow-wrap: anywhere; }
.home-wrap.front .home-tt .al-greeting,.home-wrap.front .home-tt .al-question { display: block; font: inherit; }
.home-wrap.front .home-tt > .al-chips { margin: 10px 0 0; }
.home-bnav button:nth-child(3),.home-bnav button:nth-child(3)[aria-current="page"] { color: #fff; }
.home-wrap.front.create-mode > :not(.gm-home) { display: none !important; }
.home-wrap.front.create-mode { width: 100%; max-width: 1120px; min-height: calc(100dvh - 90px); margin-inline: auto; }
.home-wrap.front > .gm-home { order: 2; width: min(100%, 900px); margin: 20px auto 40px; padding: clamp(20px, 4vw, 40px); border: 1.5px solid var(--cd-borda); border-radius: 22px; background: var(--chrome); }
.home-wrap.front:not(.create-mode) > .gm-home { display: none; }
.gm-home .gm-head { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.gm-home .gm-tit { font: 600 clamp(27px, 3.5vw, 36px)/1.1 var(--cd-fonte-titulo); color: var(--cd-tinta); }
.gm-home .gm-back { flex: none; min-height: 44px; padding: 0 12px; border: 0; border-radius: 10px; background: transparent; color: var(--cd-capa-escura); font: 700 14px var(--cd-fonte-texto); cursor: pointer; }
.gm-home .gm-back:hover { background: var(--cd-capa-suave); }
.gm-home .gm-progress { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; color: var(--cd-capa-escura); font: 700 13px var(--cd-fonte-texto); }
.gm-home .gm-progress-bars { display: flex; gap: 6px; }
.gm-home .gm-progress-bars i { flex: 1; height: 6px; border-radius: 99px; background: var(--cd-borda); }
.gm-home .gm-progress-bars i.feito { background: var(--cd-capa); }
.gm-home .gm-lead { margin: 0 0 22px; color: var(--muted); font: 400 16px/1.45 var(--cd-fonte-texto); }
.gm-home .gm-selected { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 20px; padding: 9px 12px; border: 1px solid var(--cd-capa-borda); border-radius: 12px; background: var(--cd-capa-suave); color: var(--cd-tinta); font: 600 15px var(--cd-fonte-texto); }
.gm-home .gm-selected button { min-height: 38px; padding: 0 8px; border: 0; background: transparent; color: var(--cd-capa-escura); font: 700 14px var(--cd-fonte-texto); cursor: pointer; }
.gm-home .gm-pt { margin-bottom: 14px; font: 600 clamp(22px, 3vw, 29px)/1.16 var(--cd-fonte-titulo); }
.gm-home .gm-n { width: 30px; height: 30px; font: 700 14px var(--cd-fonte-texto); }
.gm-home .gm-c { min-height: 126px; padding: 17px; }
.gm-home .gm-c[aria-pressed="true"] { border-color: var(--cd-capa); background: var(--cd-capa-suave); }
.gm-home .gm-g4 .gm-c { min-height: 146px; }
.gm-home .gm-next { display: block; width: min(100%, 360px); margin: 26px 0 0 auto; }
.gm-home .gm-next:disabled { opacity: .5; cursor: not-allowed; box-shadow: none; }
.gm-home .gm-mais { margin-top: 16px; }
.gm-home .gm-passo[hidden],.gm-home .gm-selected[hidden],.gm-home .gm-next[hidden],.gm-home .gm-mais[hidden] { display: none; }
body[data-canvas="dark"] .gm-home .gm-tit,body[data-canvas="dark"] .gm-home .gm-selected { color: var(--text); }
body[data-canvas="dark"] .gm-home .gm-selected { border-color: var(--line); background: var(--chrome-2); }
@media (max-width: 760px) {
  .home-wrap.front .home-tt h1 { max-width: 20ch; font-size: clamp(30px, 8vw, 38px); }
  .home-wrap.front .home-tt > p.al-chips { display: flex; flex-wrap: wrap; }
  .home-wrap.front > .gm-home { width: 100%; margin: 0 auto 24px; padding: 16px 16px calc(26px + env(safe-area-inset-bottom, 0px)); border-radius: 18px; }
  .gm-home .gm-head { margin-bottom: 18px; }
  .gm-home .gm-g3 { grid-template-columns: 1fr; }
  .gm-home .gm-g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gm-home .gm-c { min-height: 88px; }
  .gm-home .gm-g4 .gm-c { min-height: 148px; padding: 12px; }
  .gm-home .gm-ct span { font-size: 12px; }
  .gm-home .gm-next { width: 100%; margin-top: 18px; }
}
@media (max-width: 360px) {
  .gm-home .gm-g4 { gap: 7px; }
  .gm-home .gm-g4 .gm-c { min-height: 156px; padding: 10px; }
  .gm-home .gm-g4 .gm-ct strong { font-size: 14px; }
}

/* Pacotes de tokens: hierarquia tipográfica curta, preço fácil de comparar. */
.modal.pf .pf-pacotes { gap: 12px; margin-top: 14px; }
.modal.pf .pf-pk {
  min-height: 142px; gap: 10px; padding: 17px 16px; border-radius: 16px;
  background: var(--canvas); color: var(--cd-grafite); font: 14px/1.4 var(--cd-fonte-texto);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.modal.pf .pf-pk:hover { transform: translateY(-2px); border-color: var(--cd-capa); box-shadow: 0 8px 20px rgba(15, 67, 91, .10); }
.modal.pf .pf-pk:focus-visible { outline: 3px solid var(--cd-capa); outline-offset: 3px; }
.modal.pf .pf-pk-quantidade { display: flex; align-items: baseline; gap: 7px; color: var(--cd-tinta); }
.modal.pf .pf-pk-quantidade strong { font: 650 clamp(25px, 3vw, 30px)/1 var(--cd-fonte-titulo); font-variant-numeric: tabular-nums; letter-spacing: -.5px; }
.modal.pf .pf-pk-quantidade span { font: 600 14px/1.2 var(--cd-fonte-texto); }
.modal.pf .pf-pk-preco { display: flex; flex-direction: column; gap: 2px; }
.modal.pf .pf-pk-preco strong { color: var(--cd-capa-escura); font: 700 19px/1.2 var(--cd-fonte-texto); font-variant-numeric: tabular-nums; }
.modal.pf .pf-pk-preco span { color: var(--cd-grafite); font: 13px/1.35 var(--cd-fonte-texto); }
.modal.pf .pf-pk-selo { align-self: flex-start; margin-top: auto; padding: 4px 9px; border-radius: 99px; background: var(--cd-capa-suave); color: var(--cd-capa-escura); font: 700 11px/1.3 var(--cd-fonte-texto); }
.modal.pf .pf-pk.dest, .modal.pf .pf-pk[aria-pressed="true"] { border: 2px solid var(--cd-capa); background: var(--cd-capa-suave); }
.modal.pf .pf-pk[aria-pressed="true"] { box-shadow: 0 0 0 3px rgba(15, 110, 140, .12); }
.modal.pf .pf-pk.dest[aria-pressed="false"] { border-color: var(--cd-capa-borda); }
.modal.pf .pf-compra-resumo { margin: 12px 0 10px; padding: 12px 14px; border: 1px solid var(--cd-capa-borda); border-radius: 12px; background: var(--cd-capa-suave); color: var(--cd-tinta); font: 600 14px/1.45 var(--cd-fonte-texto); }
.modal.pf .pf-metodo-pix { display: flex; align-items: center; gap: 12px; min-height: 66px; margin: 0 0 12px; padding: 11px 14px; border: 1px solid var(--cd-capa-borda); border-radius: 13px; background: var(--canvas); }
.modal.pf .pf-pix-icone { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 12px; background: var(--cd-capa-suave); color: var(--cd-capa-escura); font: 800 11px/1 var(--cd-fonte-texto); letter-spacing: .3px; }
.modal.pf .pf-pix-detalhes { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: 3px; }
.modal.pf .pf-pix-detalhes strong { color: var(--cd-tinta); font: 650 15px/1.25 var(--cd-fonte-texto); }
.modal.pf .pf-pix-detalhes small { color: var(--cd-grafite); font: 13px/1.35 var(--cd-fonte-texto); }
.modal.pf .pf-pix-selo { padding: 5px 9px; border-radius: 99px; background: var(--cd-capa-suave); color: var(--cd-capa-escura); font: 650 11px/1 var(--cd-fonte-texto); }
.modal.pf .pf-comprar { min-height: 50px; font-size: 15px; font-weight: 700; }
.modal.pf .pf-presente-toggle { display:flex; align-items:center; gap:10px; margin:14px 0 8px; color:var(--cd-tinta); font:600 14px/1.4 var(--cd-fonte-texto); cursor:pointer; }
.modal.pf .pf-presente-toggle input { width:19px; height:19px; accent-color:var(--cd-capa); }
.modal.pf .pf-presente-campo { display:flex; flex-direction:column; gap:6px; margin:8px 0; color:var(--cd-tinta); font:600 13px/1.4 var(--cd-fonte-texto); }
.modal.pf .pf-presente-campo input { width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--cd-capa-borda); border-radius:11px; background:var(--canvas); color:var(--cd-tinta); font:400 15px/1.4 var(--cd-fonte-texto); }
.modal.pf .pf-assinar { min-height:44px; }
.modal.pf .pf-assinar:disabled { opacity:.6; cursor:wait; }
.modal.pf .pf-aviso { box-sizing: border-box; max-width: 100%; margin: 9px 0 0; padding: 9px 11px; overflow-wrap: anywhere; font: 13px/1.45 var(--cd-fonte-texto); }
.modal.pf .pf-comprar:disabled { opacity: 1; border: 1px solid var(--cd-borda); background: #EEF0F2; box-shadow: none; color: #5B6470; cursor: not-allowed; }
.modal.pf .pf-pix-checkout { display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:14px; padding:20px; border:1px solid var(--cd-capa-borda); border-radius:16px; background:linear-gradient(145deg,#F4FAFC,#FFFFFF 72%); text-align:center; }
.modal.pf .pf-pix-checkout[hidden] { display:none; }
.modal.pf .pf-pix-checkout h4 { margin:0; color:var(--cd-tinta); font:650 19px/1.25 var(--cd-fonte-titulo); }
.modal.pf .pf-pix-checkout > p { max-width:48ch; }
.modal.pf .pf-pix-qr { display:block; width:min(208px,65vw); height:auto; aspect-ratio:1; padding:8px; border:1px solid var(--cd-borda); border-radius:12px; background:#fff; image-rendering:auto; }
.modal.pf .pf-pix-qr[hidden] { display:none; }
.modal.pf .pf-pix-copiar { min-height:46px; border-color:var(--cd-capa); color:var(--cd-capa-escura); font-weight:700; }
.modal.pf .pf-pix-estado { margin:0; color:var(--cd-capa-escura); font:650 14px/1.4 var(--cd-fonte-texto); }
.modal.pf .pf-pix-estado.ok { color:#23704A; }
.modal.pf .pf-upgrade[hidden] { display:none; }
.modal.pf .pf-upgrade { display:flex; flex-direction:column; gap:6px; margin:12px 0; padding:16px; border:1px solid var(--cd-capa-borda); border-radius:14px; background:linear-gradient(135deg,#EAF5F8,#F8FBFC); }
.modal.pf .pf-upgrade > strong { color:var(--cd-tinta); font:650 18px/1.25 var(--cd-fonte-titulo); }
.modal.pf .pf-upgrade > p { margin:0; }
.modal.pf .pf-acoes.pf-upgrade-escolhas { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.modal.pf .pf-assinar.pf-upgrade-cta { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:4px; min-height:92px; padding:14px 16px; border:1px solid var(--cd-capa); border-radius:13px; background:var(--cd-capa); color:#fff; text-align:left; box-shadow:0 3px 0 var(--cd-capa-escura); }
.modal.pf .pf-assinar.pf-upgrade-cta[hidden] { display:none; }
.modal.pf .pf-assinar.pf-upgrade-cta:hover { background:var(--cd-capa-escura); }
.modal.pf .pf-assinar.pf-upgrade-cta strong { font:700 17px/1.2 var(--cd-fonte-texto); }
.modal.pf .pf-assinar.pf-upgrade-cta span { font:700 15px/1.2 var(--cd-fonte-texto); }
.modal.pf .pf-assinar.pf-upgrade-cta small { color:rgba(255,255,255,.86); font:500 12px/1.3 var(--cd-fonte-texto); }
.modal.pf .pf-assinar.pf-upgrade-cta:disabled { opacity:.72; cursor:wait; }
.modal.pf .pf-cartao-checkout[hidden] { display:none; }
.modal.pf .pf-cartao-checkout { display:flex; flex-direction:column; gap:12px; margin-top:18px; padding:clamp(16px,3vw,24px); border:1px solid var(--cd-capa-borda); border-radius:17px; background:linear-gradient(145deg,#F5FAFC,#FFFFFF 75%); }
.modal.pf .pf-cartao-cab { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.modal.pf .pf-cartao-cab h4 { flex:1 1 180px; margin:0; color:var(--cd-tinta); font:650 21px/1.2 var(--cd-fonte-titulo); }
.modal.pf .pf-cartao-cab > strong { color:var(--cd-capa-escura); font:700 18px/1.2 var(--cd-fonte-texto); }
.modal.pf .pf-cartao-fechar { min-height:40px; padding:8px 12px; }
.modal.pf .pf-cartao-checkout > p { margin:0; }
.modal.pf .pf-cartao-status { margin:0; color:var(--cd-capa-escura); font:600 14px/1.45 var(--cd-fonte-texto); }
.modal.pf .pf-cartao-status.ok { color:#23704A; }
.modal.pf .pf-cartao-form { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.modal.pf .pf-cartao-campo { display:flex; min-width:0; flex-direction:column; gap:6px; color:var(--cd-tinta); font:600 13px/1.35 var(--cd-fonte-texto); }
.modal.pf .pf-cartao-campo > span { display:block; }
.modal.pf .pf-cartao-iframe, .modal.pf .pf-cartao-campo input, .modal.pf .pf-cartao-campo select { box-sizing:border-box; display:block; width:100%; min-width:0; min-height:46px; padding:12px; border:1px solid var(--cd-borda); border-radius:10px; background:var(--cd-papel); color:var(--cd-tinta); font:400 15px/1.3 var(--cd-fonte-texto); }
.modal.pf .pf-cartao-iframe { height:48px; padding:14px 12px; }
.modal.pf .pf-cartao-linha { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.modal.pf .pf-cartao-linha, .modal.pf .pf-cartao-form > .pf-cartao-campo:first-child, .modal.pf .pf-cartao-form > .pf-cartao-campo:nth-of-type(4), .modal.pf .pf-cartao-consentimento, .modal.pf .pf-cartao-enviar, .modal.pf .pf-cartao-auxiliar { grid-column:1/-1; }
.modal.pf .pf-cartao-auxiliar { display:none; }
.modal.pf .pf-cartao-consentimento { display:flex; align-items:flex-start; gap:9px; color:var(--cd-tinta); font:500 13px/1.45 var(--cd-fonte-texto); }
.modal.pf .pf-cartao-consentimento input { flex:0 0 18px; width:18px; height:18px; margin:1px 0 0; accent-color:var(--cd-capa); }
.modal.pf .pf-cartao-enviar { min-height:50px; }
.modal.pf .pf-cartao-enviar:disabled { opacity:.65; cursor:wait; }
.modal.pf .pf-cartao-seguranca { color:var(--cd-mudo); font:400 12px/1.45 var(--cd-fonte-texto); }
.modal.pf .pf-cancelar-assinatura { min-height:46px; border-color:#C24A4A; color:#A63139; font-weight:700; }
body[data-canvas="dark"] .modal.pf .pf-pix-checkout { border-color:var(--line); background:var(--chrome-2); }
body[data-canvas="dark"] .modal.pf .pf-pix-checkout h4, body[data-canvas="dark"] .modal.pf .pf-pix-estado { color:var(--text); }
body[data-canvas="dark"] .modal.pf .pf-pix-copiar { border-color:var(--line); color:var(--text); }
body[data-canvas="dark"] .modal.pf .pf-upgrade { border-color:var(--line); background:var(--chrome-2); }
body[data-canvas="dark"] .modal.pf .pf-upgrade > strong { color:var(--text); }
body[data-canvas="dark"] .modal.pf .pf-cartao-checkout { border-color:var(--line); background:var(--chrome-2); }
body[data-canvas="dark"] .modal.pf .pf-cartao-cab h4, body[data-canvas="dark"] .modal.pf .pf-cartao-cab > strong, body[data-canvas="dark"] .modal.pf .pf-cartao-campo, body[data-canvas="dark"] .modal.pf .pf-cartao-consentimento { color:var(--text); }
body[data-canvas="dark"] .modal.pf .pf-cartao-iframe, body[data-canvas="dark"] .modal.pf .pf-cartao-campo input, body[data-canvas="dark"] .modal.pf .pf-cartao-campo select { border-color:var(--line); background:var(--chrome); color:var(--text); }
body[data-canvas="dark"] .modal.pf .pf-cancelar-assinatura { border-color:#DB7474; color:#FFC2C2; }
body[data-canvas="dark"] .modal.pf .pf-pk { background: var(--chrome); color: var(--muted); }
body[data-canvas="dark"] .modal.pf .pf-pk-quantidade, body[data-canvas="dark"] .modal.pf .pf-pk-preco strong { color: var(--text); }
body[data-canvas="dark"] .modal.pf .pf-pk-preco span { color: var(--muted); }
body[data-canvas="dark"] .modal.pf .pf-pk.dest, body[data-canvas="dark"] .modal.pf .pf-pk[aria-pressed="true"] { background: color-mix(in srgb, var(--accent) 16%, var(--chrome)); }
body[data-canvas="dark"] .modal.pf .pf-pk-selo { background: color-mix(in srgb, var(--accent) 20%, var(--chrome)); color: var(--text); }
body[data-canvas="dark"] .modal.pf .pf-compra-resumo { border-color: var(--line); background: var(--chrome-2); color: var(--text); }
body[data-canvas="dark"] .modal.pf .pf-metodo-pix { border-color: var(--line); background: var(--chrome); }
body[data-canvas="dark"] .modal.pf .pf-pix-icone, body[data-canvas="dark"] .modal.pf .pf-pix-selo { background: color-mix(in srgb, var(--accent) 20%, var(--chrome)); color: var(--text); }
body[data-canvas="dark"] .modal.pf .pf-pix-detalhes strong { color: var(--text); }
body[data-canvas="dark"] .modal.pf .pf-pix-detalhes small { color: var(--muted); }
body[data-canvas="dark"] .modal.pf .pf-comprar:disabled { border-color: var(--line); background: #25313D; color: #C0CBD6; }
@media (max-width: 560px) {
  .modal.pf .pf-pacotes { grid-template-columns: 1fr; gap: 9px; }
  .modal.pf .pf-pk { min-height: 112px; padding: 13px 15px; }
  .modal.pf .pf-pk-quantidade strong { font-size: 25px; }
  .modal.pf .pf-metodo-pix { min-height: 62px; padding: 9px 11px; }
  .modal.pf .pf-pix-detalhes small { font-size: 12px; }
  .modal.pf .pf-cartao-form { grid-template-columns:1fr; }
  .modal.pf .pf-cartao-linha { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .modal.pf .pf-cartao-cab h4 { flex-basis:100%; }
}

/* Saudação e prova em andamento no topo da área de membros. */
.home-wrap.front .home-top { position: relative; }
.home-wrap.front .home-tt h1 { max-width: calc(100% - 115px); margin: 0; }
.home-wrap.front .home-tt > p.al-question { display: block; max-width: none; margin: 0 0 2px; color: var(--cd-capa-escura); font: 600 clamp(25px, 3vw, 34px)/1.05 'Caveat', cursive; }
.home-wrap.front .home-tt > .al-chips { position: absolute; top: 0; right: 0; margin: 0; }
.home-wrap.front .home-top:has(.conta-chip) .al-chips { display: none; }
.home-wrap.front .al-edit { min-height: 42px; border-style: solid; border-color: var(--cd-borda); background: var(--cd-papel); color: var(--cd-capa-escura); }
.home-wrap.front > .home-cont { width: min(100%, 760px); }
.home-wrap.front .home-cont.hc-prova { width: min(100%, 760px); min-height: 220px; gap: 12px; padding: 22px; }
.home-wrap.front .hc-prova .hc-tag { padding: 0; border: 0; border-radius: 0; font-size: 14px; }
.home-wrap.front .hc-prova .hc-dots { width: 100%; }
.home-wrap.front .hc-prova .hc-prova-stats { flex: 1 1 auto; min-width: 0; white-space: nowrap; }
.home-wrap.front .hc-prova .hc-retomar { flex: 0 0 auto; width: auto; min-width: 126px; max-width: 45%; padding: 0 18px; }
@media (max-width: 760px) {
  .home-wrap.front .home-tt h1 { max-width: calc(100% - 98px); font-size: clamp(32px, 8.5vw, 40px); }
  .home-wrap.front .home-tt > p.al-question { margin-top: -1px; font-size: clamp(26px, 7.7vw, 31px); }
  .home-wrap.front .home-tt > .al-chips { top: 2px; }
  .home-wrap.front .al-edit { min-height: 40px; padding-inline: 11px; font-size: 12px; }
  .home-wrap.front .home-cont.hc-prova { min-height: 224px; padding: 20px 18px 17px; }
  .home-wrap.front .hc-prova .hc-prova-titulo { font-size: clamp(24px, 6.6vw, 29px); }
  .home-wrap.front .hc-prova .hc-prova-rodape { align-items: center; }
  .home-wrap.front .hc-prova .hc-prova-stats { font-size: 14px; }
  .home-wrap.front .hc-prova .hc-retomar { min-width: 116px; min-height: 52px; }
}

/* ══ Área de pagamento (design 29/09/2026): pacotes, abas Pix/crédito/débito, cartão seguro e confirmação ══ */
.modal.pf .pf-sales-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 4px; }
.modal.pf .pf-badge-item { display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border: 1px solid var(--line); border-radius: 999px; background: var(--chrome); color: var(--text); font-size: 13.5px; line-height: 1.2; }
.modal.pf .pf-pacotes { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 22px; }
.modal.pf .pf-pk { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 20px 18px 16px; border: 1.5px solid var(--line); border-radius: 16px; background: var(--chrome); color: var(--text); text-align: left; cursor: pointer; transition: border-color .15s, box-shadow .15s, transform .15s; }
.modal.pf .pf-pk:hover { transform: translateY(-2px); border-color: var(--accent); }
.modal.pf .pf-pk[aria-pressed="true"] { border: 2px solid var(--accent); background: color-mix(in srgb, var(--accent) 9%, var(--chrome)); box-shadow: 0 8px 22px color-mix(in srgb, var(--accent) 18%, transparent); }
.modal.pf .pf-pk:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 55%, transparent); outline-offset: 2px; }
.modal.pf .pf-pk-selo { position: absolute; top: -11px; left: 14px; padding: 3px 10px; border-radius: 999px; background: var(--accent); color: var(--accent-ink); font-size: 11.5px; font-weight: 700; letter-spacing: .02em; text-transform: none; }
.modal.pf .pf-pk-selo:not(.dest) { background: var(--chrome-2); color: var(--muted); border: 1px solid var(--line); }
.modal.pf .pf-pk-quantidade { display: flex; flex-direction: column; gap: 2px; }
.modal.pf .pf-pk-quantidade strong { font: 700 34px/1 var(--font-display); }
.modal.pf .pf-pk-quantidade span { color: var(--muted); font-size: 14px; }
.modal.pf .pf-pk-preco { display: flex; flex-direction: column; gap: 2px; margin-top: 12px; }
.modal.pf .pf-pk-preco strong { font: 700 22px/1.1 var(--font-display); }
.modal.pf .pf-pk-preco span, .modal.pf .pf-pk-cap { color: var(--muted); font-size: 13px; }
.modal.pf .pf-compra-resumo { margin: 16px 0 12px; padding: 0 4px; border: 0; background: transparent; color: var(--muted); font-size: 15px; }
.modal.pf .pf-metodo-pix { display: none; }
.modal.pf .pf-payment-options { display: flex; gap: 6px; padding: 5px; border-radius: 12px; background: var(--chrome-2); }
.modal.pf .pf-pay-btn { flex: 1; min-height: 44px; padding: 10px 8px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); font: 700 15px/1.2 var(--font-display); cursor: pointer; }
.modal.pf .pf-pay-btn[aria-pressed="true"] { background: var(--accent); color: var(--accent-ink); }
.modal.pf .pf-pay-btn:disabled { opacity: .5; cursor: not-allowed; }
.modal.pf .pf-pay-btn:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 55%, transparent); outline-offset: 1px; }
.modal.pf .pf-cartao-avulso { margin-top: 16px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--chrome); }
.modal.pf .pf-cartao-avulso[hidden] { display: none; }
.modal.pf .pf-cartao-avulso .pf-cartao-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; margin-top: 10px; }
.modal.pf .pf-cartao-avulso .pf-cartao-cheio, .modal.pf .pf-cartao-avulso .pf-cartao-enviar { grid-column: 1 / -1; }
.modal.pf .pf-cartao-avulso .pf-cartao-campo { font-size: 14px; font-weight: 700; color: var(--muted); }
.modal.pf .pf-cartao-avulso .pf-cartao-iframe, .modal.pf .pf-cartao-avulso .pf-cartao-campo input { min-height: 48px; padding: 0 14px; border: 1.5px solid var(--line); border-radius: 10px; background: var(--chrome); color: var(--text); font: 16px/1.2 var(--font-mono); }
.modal.pf .pf-cartao-avulso .pf-cartao-iframe { display: flex; align-items: center; height: 48px; padding: 0 8px; }
.modal.pf .pf-cartao-avulso .pf-cartao-campo input:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 45%, transparent); outline-offset: 1px; border-color: var(--accent); }
.modal.pf .pf-cartao-avulso .pf-cartao-enviar { min-height: 54px; border-radius: 12px; font: 700 18px/1.2 var(--font-display); }
.modal.pf .pf-cartao-avulso .pf-cartao-status { margin: 0; min-height: 20px; color: var(--muted); font: 600 14px/1.4 var(--font-read); }
.modal.pf .pf-cartao-avulso .pf-cartao-status.ok { color: var(--ok); }
.modal.pf .pf-cartao-avulso .pf-cartao-seguranca { display: block; margin-top: 12px; padding: 12px 14px; border-radius: 10px; background: color-mix(in srgb, var(--accent) 9%, var(--chrome)); color: var(--muted); font-size: 13.5px; line-height: 1.4; }
.modal.pf .pf-pix-checkout { align-items: center; padding: 22px; border: 0; border-radius: 16px; background: var(--chrome-2); }
.modal.pf .pf-pix-checkout h4 { font: 700 19px/1.25 var(--font-display); }
.modal.pf .pf-pix-qr { width: min(196px, 60vw); padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.modal.pf .pf-pix-copiar { min-height: 46px; padding: 0 18px; border: 0; border-radius: 10px; background: var(--accent); color: var(--accent-ink); font-weight: 700; }
.modal.pf .pf-pix-estado { padding: 10px 14px; border-radius: 10px; background: color-mix(in srgb, #d98e04 14%, var(--chrome)); color: var(--text); font: 600 14px/1.4 var(--font-read); }
.modal.pf .pf-pix-estado.ok { background: color-mix(in srgb, var(--ok) 16%, var(--chrome)); }
.modal.pf .pf-confirmado { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 34px 24px; border: 1px solid var(--line); border-radius: 20px; background: var(--chrome); text-align: center; }
.modal.pf .pf-confirmado[hidden] { display: none; }
.modal.pf .pf-conf-ico { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: color-mix(in srgb, var(--ok) 16%, var(--chrome)); color: var(--ok); }
.modal.pf .pf-confirmado h4 { margin: 0; font: 700 26px/1.15 var(--font-display); }
.modal.pf .pf-conf-qtd { margin: 0; display: flex; align-items: baseline; gap: 8px; color: var(--muted); font-size: 18px; }
.modal.pf .pf-conf-qtd strong { color: var(--accent); font: 700 52px/1 var(--font-display); }
.modal.pf .pf-confirmado .pf-cs { max-width: 44ch; }
@media (max-width: 640px) {
  .modal.pf .pf-pacotes { grid-template-columns: 1fr; gap: 16px; }
  .modal.pf .pf-pay-btn { font-size: 13.5px; padding: 10px 4px; }
  .modal.pf .pf-cartao-avulso .pf-cartao-form { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .modal.pf .pf-pk { transition: none; } .modal.pf .pf-pk:hover { transform: none; } }

/* ── compra de tokens simplificada (29/09/2026): pacote → forma de pagamento → pronto, sem sair da tela ── */
.modal.pf [hidden]{display:none !important}
.modal.pf .pf-pag-titulo{margin:14px 0 8px;font:700 15px/1.3 var(--cd-fonte-texto);color:var(--cd-tinta)}
.modal.pf .pf-payment-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0;background:transparent}
.modal.pf .pf-pay-btn{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:66px;padding:12px 14px;border:1.5px solid var(--cd-capa-borda);border-radius:14px;background:var(--chrome);color:var(--cd-tinta);text-align:left}
.modal.pf .pf-pay-btn strong{font:700 15.5px/1.2 var(--cd-fonte-texto)}
.modal.pf .pf-pay-btn small{font:500 12.5px/1.3 var(--cd-fonte-texto);color:var(--muted)}
.modal.pf .pf-pay-btn:hover:not(:disabled){border-color:var(--cd-capa)}
.modal.pf .pf-pay-btn[aria-pressed="true"]{border-color:var(--cd-capa);background:var(--cd-capa-suave);color:var(--cd-capa-escura);box-shadow:0 0 0 2px var(--cd-capa) inset}
.modal.pf .pf-pay-btn[aria-pressed="true"] small{color:var(--cd-capa-escura)}
.modal.pf .pf-confianca{margin:12px 0 0;font:500 12.5px/1.45 var(--cd-fonte-texto);color:var(--muted)}
.modal.pf .pf-presente-linha{margin-top:10px;padding-top:10px;border-top:1px dashed var(--cd-capa-borda)}
.modal.pf .pf-presente-toggle{font-weight:600;font-size:13.5px}
.modal.pf .pf-pix-checkout{margin-top:12px}
.modal.pf .pf-aviso:empty{display:none}
@media (max-width:520px){ .modal.pf .pf-payment-options{grid-template-columns:1fr} .modal.pf .pf-pay-btn{min-height:56px;flex-direction:row;align-items:center;justify-content:space-between} }
/* extrato de consumo: nome, barra e valor na mesma linha */
.modal.pf .pf-tipos{display:grid;gap:10px;margin-top:10px}
.modal.pf .pf-tipo{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;align-items:center;gap:12px}
.modal.pf .pf-tipo span{color:var(--cd-tinta)}
.modal.pf .pf-mini{height:8px;border-radius:999px;background:var(--cd-capa-suave);overflow:hidden}
.modal.pf .pf-mini i{display:block;height:100%;border-radius:999px}
.modal.pf .pf-tipo b{font-variant-numeric:tabular-nums;min-width:3ch;text-align:right}
@media (max-width:520px){ .modal.pf .pf-tipo{grid-template-columns:1fr auto} .modal.pf .pf-mini{grid-column:1/-1;grid-row:2} }
/* assinatura: cartões de plano mais limpos */
.modal.pf .pf-uh-tag{display:inline-block;margin-bottom:6px;padding:3px 10px;border-radius:999px;background:var(--cd-capa);color:#fff;font:700 11px/1.3 var(--cd-fonte-texto);letter-spacing:.08em}
.modal.pf .pf-uc-topo{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%}
.modal.pf .pf-upgrade-escolhas{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.modal.pf .pf-assinar.pf-upgrade-cta[data-plano="premium"]{background:#6a49d6}
.modal.pf .pf-assinar.pf-upgrade-cta[data-plano="premium"]:hover{background:#4b2fa8}
.modal.pf .pf-link{border:0;background:none;padding:0;color:var(--cd-capa);font-weight:700;text-decoration:underline;cursor:pointer}
.modal.pf .pf-so-credito{margin-top:6px}
/* o modal do perfil é uma coluna flex com rolagem: sem isso a barra de abas encolhia até virar um risco de 12 px */
.modal.pf > *{flex-shrink:0}
.modal.pf .pf-uh-tag{display:block;width:fit-content}
@media (max-width:520px){ .modal.pf .pf-upgrade-escolhas{grid-template-columns:1fr} .modal.pf .pf-uc-topo{flex-wrap:wrap} }
/* resumo do perfil: números em cartões lado a lado */
.modal.pf .pf-num{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:10px}
.modal.pf .pf-n{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border:1px solid var(--cd-capa-borda);border-radius:14px;background:var(--chrome)}
.modal.pf .pf-n-ico{font-size:18px;line-height:1}
.modal.pf .pf-n b{font:700 24px/1.1 var(--cd-fonte-titulo, inherit);color:var(--cd-tinta)}
.modal.pf .pf-n-rot{font-size:13px;color:var(--muted)}
.modal.pf .pf-estudo-insight{display:flex;gap:12px;align-items:flex-start;margin-top:14px;padding:14px 16px;border-radius:14px;background:var(--cd-capa-suave)}
.modal.pf .pf-ei-corpo p{margin:4px 0 0;font-size:14px;color:var(--muted)}
/* ===== css/inicio.css ===== */
/* ================= Página inicial (design do Claude Design, 29/09/2026) =================
   Tudo com prefixo .ini / .i- para não brigar com o resto do app. */
.ini{
  --papel:#FAF7F0; --superficie:#FFFFFF; --topo:#FFFDF8; --linha:#E7DFD0; --linha-2:#EFE9DD; --neutro:#F4F0E6;
  --tinta:#1B2328; --tinta-2:#3A444C; --tinta-3:#55606A; --tinta-4:#4A4F55; --placeholder:#6B7278; --campo-borda:#CFC5B3;
  --petroleo:#0F6E8C; --petroleo-escuro:#0B5A73; --petroleo-texto:#0B4F66; --petroleo-claro:#E4F1F5;
  --lab-fundo:#EEF5F7; --lab-borda:#D3E6EC; --lab-campo:#C6DCE3;
  --plus:#6A49D6; --plus-texto:#4B2FA8; --plus-claro:#F3EFFC; --plus-borda:#D9CFF5; --plus-trilho:#EAE4FA;
  --ambar-fundo:#FFF8E8; --ambar-selo:#FFF4DC; --ambar-borda:#E8B54A; --ambar-trilho:#F1DDB0; --ambar-texto:#7A4A00;
  --raio-cartao:20px; --raio-campo:14px; --raio-botao:12px; --alvo:44px;
  --f-titulo:"Fraunces",Georgia,serif; --f-mao:"Caveat",cursive; --f-texto:"Figtree",system-ui,sans-serif;
  --bloco:20px; --pad-cartao:20px;
  grid-column:1/-1; width:100%; color:var(--tinta); font-family:var(--f-texto); font-size:16px; line-height:1.5;
}
@media (min-width:768px){ .ini{ --bloco:24px; --pad-cartao:24px; } }
@media (min-width:1100px){ .ini{ --bloco:32px; --pad-cartao:28px; } }
/* na página inicial, só o novo desenho aparece (Criar e Lab 3D continuam com as telas próprias) */
.home-wrap.front:not(.create-mode):not(.lab-mode) > :not(.ini):not(.al-card){display:none !important}
.home-wrap.front:not(.create-mode):not(.lab-mode){max-width:1440px}
.ini h1,.ini h2,.ini p{margin:0}
.ini button{font:inherit;color:inherit;cursor:pointer}
.ini :focus-visible{outline:3px solid var(--petroleo);outline-offset:2px}
.ini input::placeholder{color:var(--placeholder)}

/* saudação */
.i-saudacao{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:var(--bloco);flex-wrap:wrap}
.i-saudacao h1{font-family:var(--f-titulo);font-weight:600;font-size:34px;line-height:1.1;letter-spacing:-.01em;color:var(--tinta)}
.i-mao{font-family:var(--f-mao);font-size:26px;line-height:1.2;color:var(--petroleo)}
.i-sau-acoes{display:flex;align-items:center;gap:10px}
.i-selo{display:inline-flex;align-items:center;gap:8px;height:var(--alvo);padding:0 14px;border-radius:999px;border:1px solid var(--linha);background:#fff;color:var(--petroleo-texto) !important;font-weight:700 !important;font-size:14px !important}
.ini[data-plano="sem-tokens"] .i-selo{background:var(--ambar-selo);border:1.5px solid var(--ambar-borda);color:var(--ambar-texto) !important}
.ini[data-plano="plus"] .i-selo{background:var(--plus-claro);border-color:var(--plus-borda);color:var(--plus-texto) !important}
.i-btn--perfil{display:none}
@media (min-width:1100px){ .i-saudacao h1{font-size:52px;line-height:1.05} .i-mao{font-size:32px} .i-btn--perfil{display:inline-flex} .i-selo{font-size:15px !important;padding:0 16px} }

/* grade */
.i-grade{display:grid;gap:var(--bloco);grid-template-columns:minmax(0,1fr);grid-template-areas:"continuar" "criar" "plano" "materias" "provas" "lab"}
@media (min-width:1100px){ .i-grade{grid-template-columns:minmax(0,1fr) 440px;align-items:start;grid-template-areas:"continuar plano" "criar plano" "materias provas" "lab provas"} }
.i-area-continuar{grid-area:continuar}.i-area-criar{grid-area:criar}.i-area-plano{grid-area:plano}.i-area-materias{grid-area:materias}.i-area-provas{grid-area:provas}.i-area-lab{grid-area:lab}
.ini[data-estado="vazio"] .i-grade{grid-template-areas:"criar" "plano" "materias" "provas" "lab"}
@media (min-width:1100px){ .ini[data-estado="vazio"] .i-grade{grid-template-areas:"criar plano" "materias provas" "lab provas"} }

/* comuns */
.i-cartao{background:var(--superficie);border:1px solid var(--linha);border-radius:var(--raio-cartao);padding:var(--pad-cartao);display:flex;flex-direction:column;gap:16px}
.i-sobre{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--petroleo)}
.i-titulo-secao{font-family:var(--f-titulo);font-weight:600;font-size:22px;color:var(--tinta)}
@media (min-width:1100px){ .i-sobre{font-size:13px} .i-titulo-secao{font-size:26px} }
.i-link{display:inline-flex;align-items:center;gap:8px;min-height:var(--alvo);padding:0;border:0;background:none;font-weight:700 !important;font-size:15px !important;color:var(--petroleo-texto) !important;text-decoration:underline;text-underline-offset:3px}
.i-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:var(--raio-botao);border:0;font-weight:700 !important;font-size:16px !important;white-space:nowrap}
.i-btn--primario{background:var(--petroleo);color:#fff !important}.i-btn--primario:hover{background:var(--petroleo-texto)}
.i-btn--primario:disabled{background:var(--lab-borda);color:var(--petroleo-texto) !important;cursor:not-allowed}
.i-btn--roxo{background:var(--plus);color:#fff !important}.i-btn--roxo:hover{background:var(--plus-texto)}
.i-btn--contorno{background:#fff;border:1.5px solid var(--petroleo);color:var(--petroleo) !important}
.i-btn--claro{background:#fff;color:var(--petroleo-texto) !important}
.i-btn--perfil{background:#fff;border:1.5px solid var(--campo-borda);color:var(--tinta) !important;font-weight:600 !important;font-size:15px !important;min-height:44px}
.i-btn--bloco{width:100%;min-height:52px}
.i-btn--grande{min-height:52px;font-size:17px !important}
.i-barra{display:block;height:8px;border-radius:999px;background:var(--linha-2);overflow:hidden}
.i-barra-valor{display:block;height:100%;border-radius:999px;background:var(--petroleo)}
.i-legenda{font-size:14px;color:var(--tinta-3)}

/* continuar */
.i-continuar{background:var(--petroleo-escuro);color:#fff;border-radius:var(--raio-cartao);padding:22px 20px;display:flex;flex-direction:column;gap:16px;box-shadow:0 1px 0 #083F52,0 12px 32px rgba(11,90,115,.18)}
.i-continuar .i-sobre{color:#BFE3EE}
.i-cont-topo{display:flex;flex-direction:column;gap:16px}
.i-continuar h2{font-family:var(--f-titulo);font-weight:600;font-size:28px;line-height:1.15;color:#fff}
.i-cont-meta{color:#D6ECF3;font-size:15px;margin-top:6px !important}
.i-abertos{display:grid;gap:8px;padding-top:16px;border-top:1px solid rgba(255,255,255,.2)}
.i-aberto{display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 12px;border:0;border-radius:12px;background:rgba(255,255,255,.09);color:#fff !important;text-align:left;width:100%}
.i-aberto:hover{background:rgba(255,255,255,.14)}
.i-ab-icone{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.14)}
.i-ab-texto{display:flex;flex-direction:column;gap:3px;flex-grow:1;min-width:0}
.i-ab-rotulo{font-size:13px;color:#BFE3EE}
.i-ab-nome{font-size:15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.i-ab-acao{font-size:15px;font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.i-progresso{display:block;height:5px;border-radius:999px;background:rgba(255,255,255,.2)}
.i-progresso span{display:block;height:100%;border-radius:999px;background:#fff}
@media (min-width:768px){
  .i-continuar{padding:32px}
  .i-cont-topo{flex-direction:row;align-items:flex-end;justify-content:space-between}
  .i-continuar h2{font-size:34px}
  .i-abertos{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:24px}
  .i-aberto{min-height:72px;padding:14px 16px;border-radius:14px}
}

/* criar */
.i-criar-rotulo{font-family:var(--f-titulo);font-weight:600;font-size:22px;color:var(--tinta)}
.i-criar-linha{display:flex;flex-direction:column;gap:12px}
.i-criar-campo{width:100%;min-width:0;height:56px;padding:0 16px;border:1.5px solid var(--campo-borda);border-radius:var(--raio-campo);background:var(--topo);font-size:17px;color:var(--tinta)}
.i-criar-campo:focus{outline:none;border-color:var(--petroleo);box-shadow:0 0 0 3px rgba(15,110,140,.18)}
.i-criar-rodape{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.i-criar-rodape .i-link{justify-content:center}
.i-seletor{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border-radius:14px;background:var(--lab-fundo);border:1px solid var(--lab-borda)}
.i-seletor button{min-height:var(--alvo);padding:0 8px;border:0;border-radius:10px;background:transparent;color:var(--tinta-2) !important;font-weight:600 !important;font-size:14px !important}
.i-seletor button[aria-pressed="true"]{background:#fff;color:var(--petroleo-texto) !important;font-weight:700 !important;box-shadow:0 1px 3px rgba(11,79,102,.16)}
.i-aviso-ambar{padding:12px 16px;border-radius:12px;background:var(--ambar-fundo);border:1px solid var(--ambar-borda);font-size:15px;line-height:1.45;color:var(--ambar-texto)}
.i-inclui{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid var(--linha-2)}
.i-inclui-tit{font-size:15px;font-weight:600;color:var(--tinta-2)}
.i-inclui-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.i-inclui-lista li{display:flex;align-items:center;min-height:var(--alvo);padding:8px 12px;border-radius:12px;background:var(--neutro);font-size:14px;font-weight:600}
.i-inclui-lema{font-family:var(--f-mao);font-size:24px;color:var(--petroleo)}
@media (min-width:768px){
  .i-criar-rotulo{font-size:26px}
  .i-criar-linha{flex-direction:row}
  .i-criar-campo{height:60px;padding:0 20px;font-size:18px}
  .i-criar-linha .i-btn{min-height:60px;padding:0 28px;font-size:17px !important;border-radius:var(--raio-campo)}
  .i-criar-rodape{flex-direction:row;align-items:center;justify-content:space-between}
  .i-seletor{display:flex}
  .i-seletor button{padding:0 16px;font-size:15px !important}
  .i-inclui-lista{grid-template-columns:repeat(5,minmax(0,1fr))}
}

/* plano */
.i-plano{display:flex;flex-direction:column;gap:16px;padding:var(--pad-cartao);border-radius:var(--raio-cartao);background:var(--superficie);border:1px solid var(--lab-campo)}
.i-plano-saldo{font-family:var(--f-titulo);font-weight:600;font-size:30px;line-height:1.1;color:var(--tinta)}
.i-plano-saldo small{font-family:var(--f-texto);font-size:17px;font-weight:600;color:var(--tinta-2)}
.i-plano-titulo{font-family:var(--f-titulo);font-weight:600;font-size:26px;line-height:1.2;margin:8px 0 !important}
.i-plano-texto{font-size:15px;color:var(--tinta-2)}
.i-convite{display:flex;flex-direction:column;gap:12px;padding-top:18px;border-top:1px solid var(--linha-2)}
.i-convite h2{font-family:var(--f-titulo);font-weight:600;font-size:21px;line-height:1.2;color:var(--tinta)}
.i-convite p{font-size:15px;color:var(--tinta-2)}
.i-plano-links{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.i-plano--gratuito .i-plano-links{justify-content:center}
@media (min-width:1100px){ .i-plano-saldo{font-size:34px} .i-plano-saldo small{font-size:18px} .i-convite h2{font-size:24px} }
.i-plano--sem-tokens{background:var(--ambar-fundo);border:1.5px solid var(--ambar-borda)}
.i-plano--sem-tokens .i-sobre{color:var(--ambar-texto)}
.i-plano--sem-tokens .i-barra{background:var(--ambar-trilho)}
.i-plano--sem-tokens .i-barra-valor{background:#B26A00}
.i-plano--sem-tokens .i-convite{padding:18px;border:1px solid var(--ambar-trilho);border-radius:16px;background:#fff}
.i-plano--sem-tokens .i-convite h2{font-family:var(--f-texto);font-size:17px;font-weight:700}
.i-plano--plus{border:1.5px solid var(--plus-borda)}
.i-plano--plus .i-sobre{color:var(--plus)}
.i-plano--plus .i-barra{background:var(--plus-trilho)}
.i-plano--plus .i-barra-valor{background:var(--plus)}
.i-plano--plus .i-convite{padding:18px;border:0;border-radius:16px;background:var(--plus-claro)}
.i-plano--plus .i-convite h2{font-family:var(--f-texto);font-size:18px;font-weight:700;color:var(--plus-texto)}
.i-nota{font-size:14px !important;color:var(--tinta-4) !important}
.i-plano--premium{border-color:var(--linha)}
.i-plano--premium .i-sobre{color:var(--petroleo-texto)}

/* matérias */
.i-secao-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.i-estante{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.i-materia{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--linha);padding:0;text-align:left;color:var(--tinta) !important}
.i-materia:hover{border-color:var(--campo-borda)}
.i-mat-capa{display:flex;align-items:flex-end;height:56px;padding:0 12px 6px;background:var(--i-fundo,#EEEAE2)}
.i-mat-letra{font-family:var(--f-titulo);font-weight:600;font-size:28px;line-height:1;color:var(--i-tinta,#4A4F55)}
.i-mat-corpo{display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px;min-width:0}
.i-mat-nome{font-size:16px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.i-mat-meta{font-size:13px;color:var(--tinta-3)}
.i-mat-ultimo{display:none}
.i-nova-materia{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:118px;border-radius:16px;border:1.5px dashed var(--petroleo);background:transparent;color:var(--petroleo) !important;font-weight:700 !important;font-size:15px !important}
.i-estante-vazia{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:16px;border:1.5px dashed var(--campo-borda);background:var(--topo)}
.i-estante-vazia .i-nova-materia{min-height:52px;flex-direction:row;background:#fff;border-radius:12px}
.i-vazia-tx{display:flex;flex-direction:column;gap:12px}.i-vazia-tx p{font-size:15px;color:var(--tinta-2)}
.i-chips{display:flex;flex-wrap:wrap;gap:8px}
.i-chip{min-height:var(--alvo);padding:0 16px;border:1px solid var(--linha);border-radius:999px;background:#fff;font-size:15px !important;color:var(--tinta-2) !important}
@media (min-width:1100px){
  .i-secao-topo{margin-bottom:16px}
  .i-estante{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .i-mat-capa{height:72px;padding:0 16px 8px}.i-mat-letra{font-size:34px}
  .i-mat-corpo{gap:4px;padding:14px 16px 16px}.i-mat-nome{font-size:17px}.i-mat-meta{font-size:14px}
  .i-mat-ultimo{display:inline}
  .i-nova-materia{min-height:150px;font-size:16px !important}
  .i-estante-vazia{flex-direction:row;align-items:center;gap:24px;padding:24px}
  .i-estante-vazia .i-nova-materia{flex-direction:column;width:180px;height:120px;flex-shrink:0;border-radius:14px}
}

/* provas */
.i-provas-tit{font-size:20px;font-weight:700;color:var(--tinta)}
.i-provas-vazio{font-size:15px;color:var(--tinta-4)}
.i-provas-lista{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}
.i-prova{display:flex;flex-direction:column;gap:8px;width:100%;padding:12px 0;border:0;border-top:1px solid var(--linha-2);background:none;text-align:left;color:var(--tinta) !important}
.i-prova-linha{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.i-prova-nome{display:block;font-size:16px;font-weight:600}
.i-prova-materia{display:block;font-size:14px;color:var(--tinta-3)}
.i-prova-nota{font-family:var(--f-titulo);font-weight:600;font-size:22px}
.i-prova-nota.baixa{color:#9A4A12}
.i-prova .i-barra{height:6px}
.i-prova .i-barra-valor{background:var(--i-tinta,var(--petroleo))}
.i-revisar{display:flex;flex-direction:column;gap:10px}
.i-revisar .i-sobre{color:var(--petroleo-texto)}
.i-revisar-item{padding:12px 14px;border-radius:12px;background:var(--neutro)}
.i-revisar-item span{display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--tinta-4)}
.i-revisar-item b{font-size:15px;color:var(--tinta)}
.i-revisar .i-btn{min-height:var(--alvo);font-size:15px !important}

/* laboratório */
.i-lab{display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:var(--raio-cartao);background:var(--lab-fundo);border:1px solid var(--lab-borda)}
.i-lab-cabeca{display:flex;align-items:center;gap:14px}
.i-lab-icone{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#fff;color:var(--petroleo)}
.i-lab h2{font-size:18px;font-weight:700;color:var(--tinta)}
.i-lab p{font-size:15px;color:var(--tinta-3)}
@media (min-width:768px){ .i-lab{flex-direction:row;align-items:center;gap:20px;padding:20px 24px} .i-lab-cabeca{flex-grow:1} }
@media (prefers-reduced-motion:reduce){ .ini *{transition:none !important;animation:none !important} }

/* o #home h2 do app (barra laranja, fonte e flex) não vale no novo desenho */
#home .ini h2{display:block;gap:0;letter-spacing:normal}
#home .ini h2::before{content:none;display:none}
#home .ini .i-continuar h2{font:600 28px/1.15 var(--f-titulo);color:#fff}
#home .ini .i-titulo-secao{font:600 22px/1.2 var(--f-titulo);color:var(--tinta)}
#home .ini .i-plano-titulo{font:600 26px/1.2 var(--f-titulo)}
#home .ini .i-convite h2{font:600 21px/1.2 var(--f-titulo);color:var(--tinta)}
#home .ini .i-plano--sem-tokens .i-convite h2{font:700 17px/1.3 var(--f-texto)}
#home .ini .i-plano--plus .i-convite h2{font:700 18px/1.3 var(--f-texto);color:var(--plus-texto)}
#home .ini .i-provas-tit{font:700 20px/1.3 var(--f-texto);color:var(--tinta)}
#home .ini .i-lab h2{font:700 18px/1.3 var(--f-texto);color:var(--tinta)}
@media (min-width:768px){ #home .ini .i-continuar h2{font-size:34px} }
@media (min-width:1100px){ #home .ini .i-titulo-secao{font-size:26px} #home .ini .i-convite h2{font-size:24px} #home .ini .i-plano--sem-tokens .i-convite h2{font-size:17px} #home .ini .i-plano--plus .i-convite h2{font-size:18px} }
@media (max-width:767px){ .i-seletor button{font-size:13px !important;padding:0 4px;white-space:nowrap} }

/* ── "Continue de onde parou" com vida + ambiente mais confortável (29/09/2026) ── */
.ini{--papel:#F6F1E7;--linha:#E4DAC7;--neutro:#F1EBDD}
.home-wrap.front:not(.create-mode):not(.lab-mode){background:radial-gradient(90% 60% at 12% -10%,rgba(15,110,140,.07),transparent 60%),radial-gradient(70% 50% at 100% 0%,rgba(106,73,214,.05),transparent 60%)}
.i-continuar{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(120deg,#0B5A73 0%,#0F6E8C 45%,#1B6F9C 70%,#0B5A73 100%);background-size:220% 220%;animation:iFluxo 16s ease-in-out infinite alternate}
.i-continuar::before,.i-continuar::after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(38px);pointer-events:none}
.i-continuar::before{width:260px;height:260px;right:-70px;top:-90px;background:radial-gradient(circle,rgba(127,214,240,.42),transparent 66%);animation:iOrbe 11s ease-in-out infinite alternate}
.i-continuar::after{width:220px;height:220px;left:-60px;bottom:-110px;background:radial-gradient(circle,rgba(242,184,75,.22),transparent 66%);animation:iOrbe 14s ease-in-out infinite alternate-reverse}
@keyframes iFluxo{to{background-position:100% 100%}}
@keyframes iOrbe{to{transform:translate(-36px,26px) scale(1.15)}}
.i-continuar .i-sobre::before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#7FE3B8;box-shadow:0 0 0 0 rgba(127,227,184,.6);animation:iPulsa 2.4s ease-out infinite;vertical-align:1px}
@keyframes iPulsa{70%{box-shadow:0 0 0 9px rgba(127,227,184,0)}100%{box-shadow:0 0 0 0 rgba(127,227,184,0)}}
.i-continuar .i-btn--claro{transition:transform .2s,box-shadow .2s}
.i-continuar .i-btn--claro:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.25)}
.i-continuar .i-btn--claro svg{transition:transform .25s}.i-continuar .i-btn--claro:hover svg{transform:translateX(4px)}
.i-aberto{transition:transform .2s,background .2s}.i-aberto:hover{transform:translateX(3px)}
.i-progresso span{background:linear-gradient(90deg,#fff,#BFE3EE);transition:width .8s cubic-bezier(.2,.7,.2,1)}
.i-continuar,.i-cartao,.i-plano,.i-materia,.i-lab{animation-fill-mode:both}
.i-cartao,.i-plano,.i-lab,.i-materia{animation:iSobe .6s cubic-bezier(.2,.7,.2,1) both}
.i-grade > :nth-child(2){animation-delay:.05s}.i-grade > :nth-child(3){animation-delay:.1s}.i-grade > :nth-child(4){animation-delay:.15s}.i-grade > :nth-child(5){animation-delay:.2s}.i-grade > :nth-child(6){animation-delay:.25s}
@keyframes iSobe{from{opacity:0;transform:translateY(14px)}}
.i-materia{transition:transform .2s,box-shadow .2s,border-color .2s}.i-materia:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(27,35,40,.1)}
@media (prefers-reduced-motion:reduce){.i-continuar,.i-continuar::before,.i-continuar::after,.i-continuar .i-sobre::before,.i-cartao,.i-plano,.i-lab,.i-materia{animation:none !important}}
body[data-canvas="dark"] .home-wrap.front:not(.create-mode):not(.lab-mode){background:none}

/* 29/09/2026 — celular: "Editar nome" e "Apagar" quebram de linha em vez de sair cortados do cartão estreito */
.mcard-acoes{flex-wrap:wrap}
.mcard-acoes .pbt{flex:1 1 96px;min-width:0;padding-left:8px;padding-right:8px}
/* celular: a altura da tela vem do próprio CSS (dvh acompanha na hora a barra de endereço do navegador). Antes vinha só do JS,
   depois de um atraso, e a barra de baixo "pulava" e voltava quando a barra de endereço aparecia ou sumia */
@supports (height:100dvh){html,body{height:100dvh}}