:root {
  --bg: #fff9f4;
  --paper: #ffffff;
  --paper-strong: #fffcf9;
  --ink: #17233a;
  --muted: #657187;
  --line: #eadfd7;
  --line-strong: #c9b9ad;
  --accent: #0d2b52;
  --accent-hover: #173e70;
  --accent-2: #f47a32;
  --accent-2-strong: #c9541c;
  --accent-2-hover: #a94315;
  --accent-soft: rgba(246, 199, 165, .38);
  --accent-faint: #fff4eb;
  --pin-mask: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAMgCAYAAADbcAZoAAAQAElEQVR4AezdCdxtV10f/MuLUKUogygqihYrCChYqWJbBqMtMUKxOFAUpThEK1oRR3AARUVArRatA7VSqoJW0EqRagORhNQIhqo4oMWBKipKNIoiRkzy/v7JfZI7PMMZ9rDW3l8+63/3ec7Ze6+1vuty7/1ln7PP/3fK/wgQWLPAHTL5f5Z6fOrrU9+T+m+pl6demXpR6ptSn516cOq9UxoBAgQIECBAYGcBAWRnOgcS2FdgluPvmV6/IPWC1P9L/XnqitTzUk9N/dvUp6Q+NvXQ1Celvir1/anLU3+YelvqNamnp/5BSiNAgAABAgQIbCwggGxMZUcC3Qp8aEb+jNTrU7+Z+q7Up6buntql3S4HfUTqa1O/k6orJRVa8lAj0ImAYRIgQIDAbAICyGz0OiYwqsDfy9kfl7oy9brUU1IfnBqj1ZWSettWhZvPTAfvlNIIECBAgMChAp4kIID4PUBgeQL1tqk3ZFrPT31UaqpWb+/6gXT226nPTd0mpREgQIAAAQIEzhIQQM7imPIHfREYXOD9c8aXpeqD4++X7Vyt3tr1fem8gsijstUIECBAgAABAjcLCCA3U3hAoGuBf5XR/2rqolQrrULQj2cw9fmTtv6syaA0AgQIECBAYB4B/yiYx12vBIYU+O6c7CdSt0+12OrzJ3Vl5t1aHJwxESAwrYDeCBAgIID4PUCgX4G/n6Ffmvr8VOvtwgywbt37vtlqBAgQIECAwPQCzfQogDSzFAZCYCuBd8/er0pdkOql3SsD/YXUh6U0AgQIECBAYKUCAshKF37V0+5/8nfOFH429Y9SvbX3yoAvS411S+CcWiNAgAABAgRaFhBAWl4dYyNwvkCFj/riv/pywfNf7eOZ+izIyzPUu6a0lQmYLgECBAgQEED8HiDQj0C97ar38HGgfbc8+JnUu6Y0AgQIEBhfQA8EmhEQQJpZCgMhcKxAXfmot131fOXj3AneP0/8WEojQIAAAQIEViSwvgCyosU11cUIVPhYypWPcxel7o71Gec+6WcCBAgQIEBguQICyHLX1syWIbCo8HHEktT3mHzgEa95mgABAgQIEFiYgACysAU1nUUJLOkzH8ctTH2B4guO28FrBAjsLeAEBAgQaEZAAGlmKQyEwFkCdeVjaZ/5OGuC5/zwkfn5a1MaAQIECBBYmIDpnCsggJwr4mcC8wusLXwciD89Dx6Q0ggQIECAAIEFCwggC17c1qZmPBsJHLzt6n4b7b28nV6UKbk1bxA0AgQIECCwVAEBZKkra149Cqz1yseZa/UB+eFZKW1YAWcjQIAAAQLNCAggzSyFgaxc4ODKx5K+52PXJf38HFifCclGI0CAQO8Cxk+AwLkCAsi5In4mML2AKx/nmz8vT902pREgQIAAAQILE5gsgCzMzXQIDCXgysfhkvfJ0+6KFQSNAAECBAgsTUAAWdqKmk9PAlNd+ejJ5MyxfmV+eP+URoAAAQIECCxIQABZ0GKaSlcCFT5emRH7zEcQjmi3yfPfmtIIdCxg6AQIECBwroAAcq6InwmML1DhY01fMriP6Cfn4H+W0ggQIECAwHYC9m5WQABpdmkMbKECFT7qysdav+djl2X9/hx065RGgAABAgQILEBAAFnAIp4wBS+3I+AD57utxQfnsLo1bzYaAQIECBAg0LuAANL7Chp/LwJ15cPbrnZfra/Poe+W6qwZLgECBAgQIHCugAByroifCQwvUOGj3nblA+e725bh03Y/3JEECKxOwIQJEGhWQABpdmkMbCEC9Q9nVz6GWcwvyWk+IKURIECAAAECDQucNDQB5CQhrxPYXaDCR1358IHz3Q3PPfLp5z7hZwIECBAgQKAvAQGkr/Uy2n4E7nzq1KkKH952dWrQ/z02Z6sPpWejESBAgAABAj0KCCA9rpoxty5QVz4uzSCFjyAM3OrPrGcOfE6nW6KAOREgQIBAswL1l3mzgzMwAh0KVPioKx/373DsvQz5EzLQf5zSCBAgQKBBAUMicJKAAHKSkNcJbC5wED5c+djcbNc9v33XAx1HgAABAgQIzCsggIzm78QrE6jw4W1X0y36g9LVRSmNAAECBAgQ6ExAAOlswQy3SYEKH952Nf3SfNORXXqBAAECBAgQaFZAAGl2aQysE4GD8OFtV9Mv2D9Klw9PaQQINCRgKAQIEDhJQAA5ScjrBI4WqPDhSwaP9pniladN0Yk+CBAgQIBABwLdDFEA6WapDLQxgQof9bYrXzI478J8RLp/aEojQIAAAQIEOhEQQDpZKMPcQmD8XQ/Ch7ddjW+9SQ9fvMlO9iFAgAABAgTaEBBA2lgHo+hHQPhob60emSG9b0prQMAQCBAgQIDASQICyElCXidwi0CFD7favcWjlUf159iXtjIY4yBAgMBMArol0I1A/cXdzWANlMCMAhU+6jMf959xDLo+WuDz8tKdUhoBAgQIECDQuMDyAkjj4IbXpcBB+PCZj3aX710ytC9KaQQIECBAgEDjAgJI4wtkeLMLCB9bLMHMuz4x/VcQyUYjQIAAAQIEWhUQQFpdGeNqQUD4aGEVNh9DvQXrcZvvbk8CixIwGQIECHQjIIB0s1QGOrGA8DEx+EDdfcFA53EaAgQIECCwoYDdthUQQLYVs/8aBISPfle5PqdTX07Y7wyMnAABAgQILFxAAFn4Ak85vYX0JXz0v5B1R6z+Z2EGBAgQIEBgoQICyEIX1rR2EhA+dmJr7qDHZER/P7WmZq4ECBAgQKAbAQGkm6Uy0JEFhI+RgSc8fYWPz5iwP10RILBqAZMnQGBbAQFkWzH7L1FA+Fjeqj5heVMyIwIECBAgsAyBwQLIMjjMYoUCd8icX5mqDy9noy1EoNbzHy9kLqZBgAABAgQWJSCALGo5TWZLgQofl+aY+sdqNt02Az9c4LMOf9qzBAgQIECAwJwCAsic+vqeU+AgfHz4nIPQ96gC9WH024zag5MTOIWAAAECBLYVEEC2FbP/EgSEjyWs4slzuFN2eXhKI0CAAIElCphTtwICSLdLZ+A7CggfO8J1etjjOh23YRMgQIAAgcUKCCD9L60ZbC5Q4eMV2d3broKwkvaozPOOKY0AAQIECBBoREAAaWQhDGN0gQof9YHzB4zekw5aE/ik8QbkzAQIECBAgMC2AgLItmL271HgIHy48tHj6u0/5k/b/xTOQIBAcwIGRIBAtwICSLdLZ+AbCggfG0IteLcLMre7pjQCBAgQIEBgAIF9TyGA7Cvo+JYFhI+WV2e6sd0qXT06pREgQIAAAQINCAggDSyCIYwiMEH4GGXcTjqOwCeMc1pnJUCAAAECBLYVEEC2FbN/DwLCRw+rNO0YPzrd3S6lLUXAPAgQIECgWwEBpNulM/AjBISPI2BW/vStM39fShgEjQABAvsKOJ7AvgICyL6Cjm9JQPhoaTXaG8u/bG9IRkSAAAECBNYnIIDsvOYObEygwocvGWxsURobzsc3Nh7DIUCAAAECqxQQQFa57IubdIUPXzK4uGU9ZkK7vfTuOewjUxoBAgQIECAwo4AAMiO+rgcROAgfvmRwEM7Fn+TjFj9DEyQwsoDTEyBAYF8BAWRfQcfPKSB8zKnfZ98X9TlsoyZAgAABAqcWQyCALGYpVzcR4WN1Sz7IhB+Ys9TvnWw0AgQIECBAYA4BAWQOdX3uJ3DqVP0Dsj7z4W1X+0qu7/hbZcoPS2kECBAgQIDATAICyEzwut1ZQPjYmc6BpwU+9vTWZgcBhxAgQIAAgX0FBJB9BR0/pYDwMaX2cvv658udmpkRILBgAVMjsBgBAWQxS7n4iQgfi1/iySb4genpA1IaAQIECBAgMINAfwFkBiRdzi4gfMy+BIsbwAWLm5EJESBAgACBTgQEkE4WasXDFD4aWvwFDeWhC5qLqRAgQIAAga4EBJCulmt1gxU+Vrfkk034n03Wk44IDCPgLAQIEFiMgACymKVc3ESEj8UtaVMT+ocZzV1SGgECBAgQOEHAy0MLCCBDizrfEALCxxCKznGSwINP2sHrBAgQIECAwPACAsjwpos940QTq/DxivTlSwaDoI0q8E9HPbuTEyBAgAABAocKCCCHsnhyJoEKH/UN5w+YqX/drkvgIzuarqESIECAAIHFCAggi1nK7idyED5c+eh+KbuZwD/uZqQGSoDAjAK6JkBgaAEBZGhR59tFQPjYRc0x+wrcLie4Z0ojQIAAAQIEJhTYOIBMOCZdrUtA+FjXerc2W1fcWlsR4yFAgACBxQsIIItf4qYnKHxstjz2Gk9AABnP1pkJECBAgMChAgLIoSyenEBA+JgAWRcnCtz/xD3ssHIB0ydAgACBoQUEkKFFnW8TAeFjEyX7TCHwoVN0og8CBAgQ2EHAIYsVEEAWu7TNTkz4aHZpVjmw986s75zSCBAgQIAAgYkEBJCJoPfoZkmHCh9LWs3lzOVDljMVMyFAgAABAu0LCCDtr9FSRih8LGUllzePYwLI8iZrRgQIECBAYG4BAWTuFVhH/xU+LslU3XEoCFpzAvdubkQGRIDAqVMMCBBYrIAAstilbWZiFT4uzWg+IqURaFHgg1oclDERIECAAIG5BMbuVwAZW3jd5z8IH658rPv3Qeuz/4etD9D4CBAgQIDAkgQEkCWtZltzWUD4aAvUaEYTeP+c+Z1SGgECBAgQIDCBgAAyAfIKuxA+VrjoHU+5wkeFkI6nsMChmxIBAgQILFZAAFns0s42sQofr0jv3nYVBK0bgXt0M1IDJUCAwMgCTk9gbAEBZGzhdZ2/wkd94PwB65q22S5AwBWQBSyiKRAgQIBAHwICyJHr5IUtBW6f/St8uPIRCK07gfftbsQGTIAAAQIEOhUQQDpduMaGXeHj5RmT8BEEbQCB6U8hgExvrkcCBAgQWKmAALLShR9w2gfh44EDntOpCEwtIIBMLa6/ZgUMjAABAmMLCCBjCy/7/MLHstd3TbMTQNa02uZKgACBNgVWMyoBZDVLPfhEhY/BSZ1wRoH3mbFvXRMgQIAAgVUJCCCrWu7BJjtu+BhsmE5EYGOBO2XPW6U0AgQIECBAYGQBAWRk4AWeXvhY4KKa0o0Cd73x15X/YvoECBAgQGBsAQFkbOFlnV/4WNZ6ms3ZAnc5+0c/ESBAYFIBnRFYjYAAspql3nuiwsfehE7QuIAA0vgCGR4BAgQILEOgvQCyDNelzUL4WNqKms9hAgLIYSqeI0CAAAECAwsIIAODLvB0FT4uybx8z0cQlt5WPr87r3z+pk+AAAECBCYREEAmYe62kwofL8/oPyqlEVi6wLsufYLm17SAwREgQGA1AgLIapZ664kehA9XPramc0CnAvV7vtOhGzYBAgQI7C7gyKkFBJCpxfvor/4hVlc+hI8+1ssohxFwBWQYR2chQIAAAQLHCgggx/Ks68XTsxU+TkPYrE5AAFndkpswAQIECMwhIIDMod5un8JHu2tjZOML1O//8Xs5354SdwAAEABJREFUvAfPEiBAgACB1QgIIKtZ6hMnWv/48rarE5nssGCBd1vw3EyNAIEjBbxAgMDUAgLI1OJt9id8tLkuRjWtwB2m7U5vBAgQIEBgnQI3B5B1Tt+sIyB8BEEjEIE7pjQCBAgQIEBgZAEBZGTgxk8vfLSxQEbRhoArIG2sg1EQIECAwMIFBJCFL/Ax0xM+jsHx0ioFBJBVLrtJEyBAgMDUAgLI1OJt9Cd8tLEORtGWgADS1noYDQECSxcwv9UKCCDrW3rhY31rbsabC9x2813tSYAAAQIECOwiIIDsojbsMVOeTfiYUltfPQr8XY+DNmYCBAgQINCTgADS02rtN1bhYz8/Ry9S4LxJXX/eM54gQIAAAQIEBhUQQAblbPZkwkezS2NgDQm8o6GxGAqB5QuYIQECqxUQQJa/9MLH8tfYDIcR8ParYRydhQABAgQaF5h7eALI3Cswbv8VPn4mXTwwpREgcLzA3x7/slcJECBAgACBIQQEkCEU2zxHhY+XZ2j/NKUdKuBJAmcJvO2sn/xAgAABAgQIjCIggIzCOvtJD8KHKx+zL4UBdCTwVx2Ntf+hmgEBAgQIrFZAAFne0gsfy1tTM5pGwBWQaZz1QoDAzAK6JzC3gAAy9woM27/wMayns61LwBWQda232RIgQIDATAIrDiAziY/XbYWPS3J6b7sKgkZgB4EbdjjGIQQIECBAgMCWAgLIlmCN7l7hoz5w/lGNjs+wCJwt0OZPD8mwnpvy52IQNAIECBAgMJaAv2jHkp3uvAfhw5WP6cz1tFyBizO1l6Xq/1fZaASWJ2BGBAgQmFtAAJl7Bfbrv/6RVFc+hI/9HB1N4EyBC/PDq1N3S2kECBAgQGAoAec5LSCAnIbocCN8dLhohtyNwH0y0temHpDSCBAgQIAAgQEFBJABMSc8Vd/hY0IoXRHYQ+CuOfaK1CNSGgECBAgQIDCQgAAyEOSEpxE+JsTW1eoF3jkCL0l9ZWoRzSQIECBAgMDcAgLI3CuwXf/Cx3Ze9iYwhMCtcpJnpp6fuk1KI0CAwC4CjiFA4LSAAHIaooON8NHBIhniogUel9ldmrpDSiNAgAABAgR2FJg+gOw40JUfJnys/DeA6Tcj8KCM5DWpe6Q0AgQIECBAYAcBAWQHtIkPET4mBl9yd+Y2iMA9c5arUm5/HQSNAAECBAhsKyCAbCs27f7Cx7TeeiOwqcCdsuPlqcekNAKbCNiHAAECBE4LCCCnIRrcCB8NLoohEThD4LZ5/MLU16U0AgQIEGhWwMBaExBAWluRm8YjfNzk4FcCPQg8LYOsIFKBJA81AgQIECBA4DgBAeQ4nXleu126fXlq8PeX55waAQLjCNRbseotWfXWrHF6cFYCBAgQILAQAQGkrYWs8PEzGZLwEQSNQGcC9f/b+nB6fUj93KH7mQABAgQIEDgtIICchmhgcxA+6jafDQzHEAgQ2EGgbs9bt+m9YIdjHUKAwCgCTkqAQGsCAkgbKyJ8tLEORkFgCIH6osJLcqL64sJsNAIECBAgsFKBI6YtgBwBM+HTwseE2LoiMJHArdPP81PPSt0qpREgQIAAAQKnBQSQ0xAzbYSPmeAn7lZ36xX4ikz9Jal3TmkECBAgQIBABASQIMzUhI+Z4HVLYGKBR6S/K1J3TWmTC+iQAAECBFoTEEDmWRHhYx53vRKYS+AB6fi1qfukNAIECKxDwCwJHCEggBwBM+LTwseIuE5NoGGBu2Vsr05dmNIIECBAgMBqBQSQ8Zf+zB6EjzM1PCawPoHbZ8ovS12c0ggQIECAwCoFBJDpll34mM5aTwROCzS5qT93n5uRPSdVj7PRCBAgQIDAegT85TfNWgsf0zjrhUBPAv8ug62rIXVVJA81AgsTMB0CBAgcISCAHAEz4NPCx4CYTkVgYQL1eZD6XEh9PmRhUzMdAgQIEJhLoPV+BZBxV0j4GNfX2QksQaDujFV3yKo7ZS1hPuZAgAABAgSOFRBAjuXZ60XhYy++IQ52DgLdCNR3hNR3hdR3hnQzaAMlQIAAAQK7CAggu6idfIzwcbKRPQgQOFugvi29vjW9vj397Fd6/MmYCRAgQIDAEQICyBEwezwtfOyB51ACKxe4Veb/rNTzU7dOaQQIENhawAEEWhcQQIZdIeFjWE9nI7BWgcdl4pek7pDSCBAgQIDAogQWHEAmXyfhY3JyHRJYtMAFmd1rUvdIaQQIECBAYDECAsgwSyl8DOPoLEsRMI+hBO6ZE12VemBKI0CAAAECixAQQPZfRuFjf0NnIEDgaIE75aXLU49JaQROFLADAQIEWhcQQPZbIeFjPz9HEyCwmcBts9sLU09LaQQIECDQpoBRbSgggGwIdchuwschKJ4iQGBUga/L2SuIVCDJQ40AAQIECPQnIIDstmbCx3FuXiNAYEyBeitWvSWr3po1Zj/OTYAAAQIERhEQQLZnFT62N3MEAQLDCtSH0uvD6fUh9bPO7AcCBAgQINC6gACy3QoJH9t52ZsAgfEE6va8dZveB43XhTMTILCFgF0JENhQQADZECq7CR9B0AgQaEqgvqjw0oyovrgwG40AAQIECLQvMHwAaX/Ou4xQ+NhFzTEECEwhcJt08vzUM1O3SmkECBAgQKBpAQHk5OURPk42skcjAoaxaoGvzOxfknrnlEaAAAECBJoVEECOXxrh43gfrxIg0JbAIzKcK1J3TWnTCuiNAAECBDYUEECOhhI+jrbxCgEC7Qo8IEN7beo+KY0AAQIrEDDF3gQEkMNXTPg43MWzBAj0IXC3DPPVqQtTGgECBAgQaEpAADl/OboNH+dPxTMECKxY4PaZ+8tSF6c0AgQIECDQjIAAcvZSCB9ne/iJAIHNBFrdq/6Mf24G9x9S9TgbjQABAgQIzCvgL6Rb/IWPWyw8IkBgWQJflOnU1ZD6cy4PNQJLEjAXAgR6ExBAblqx+kv5Z/LwQSmNAAECSxSoz4NcmYnV50Oy0QgQIECAwJ4COx4ugJw6JXzs+JvHYQQIdCdwv4y47pBVd8rKQ40AAQIECEwvsPYAInxM/3tuiT2aE4GeBOo7Quq7Quo7Q3oat7ESIECAwEIE1hxAhI+F/CY2DQIEthaob0v/yRz15anOm+ETIECAQG8Caw0gwkdvv1ONlwCBoQXqz/9n56TPT906pREgQGA7AXsT2FGg/gLa8dBuDxM+ul06AydAYASBx+Wcl6TukNIIECBAgMDoAmsLIGOEj9EXSQcECBAYWeCCnP81qbunNAIECBAgMKrAmgKI8DHqbyUnJzCHgD4HFLhnzlV3yHpgthoBAgQIEBhNYC0BRPgY7beQExMgsCCBu2Qul6c+MaUROF7AqwQIENhRYA0BRPjY8TeHwwgQWKXAbTPrF6eemtIIECBAoEGB3oe09ABSt5r8mSzSg1IaAQIECGwu8PXZ9YWpCiTZaAQIECBAYBiBJQeQCh8/FSbhIwjLbGZFgMDIAo/J+estWXfKViNAgAABAoMILDWAHISPjxlEyUkIECCwXoH6UPpVmX59SD2b082GAAECBAjsKLDEACJ87PibwWEECBA4QuAeeb5u0+uKciA0AnML6J9A7wJLCyDCR++/I42fAIFWBeqLCi/N4OqLC7PRCBAgQIDAbgIdB5DzJix8nEfiCQIECAwqcJuc7fmpb05pBAgQIEBgJ4GlBBDhY6fldxCBHQUctnaBJwegbtVbf/bmoUaAAAECBDYXWEIAqb8A625XPnC++brbkwABAvsK1JcVXpGT3DWlTSigKwIECPQu0HsAET56/x1o/AQI9CzwgAz+tan7pDQCBAgsXcD8BhLoOYAIHwP9JnAaAgQI7CFwtxz76tSFKY0AAQIECJwo0GsAET5OXNoRd3BqAgQInC1w+/z4stTFKY0AAQIECBwr0GMAET6OXVIvEiCwZIGG51Z/nzw34/uOVD3ORiNAgAABAucL9PaXhPBx/hp6hgABAi0JPDGDqasht8tWI7AkAXMhQGAggZ4CiPAx0KI7DQECBEYWqM+DXJk+6vMh2WgECBAgQOAWge0DyC3HTvlI+JhSW18ECBDYX+B+OUXdIau2eagRIECAAIGbBHoIIMLHTWvlVwKnEBDoTKC+I6SuhDyis3EbLgECBAiMKNB6ABE+Rlx8pyZAgMAEAvVZkJ9MP1+W6rkZOwECBAgMJNByABE+BlpkpyFAgMDMAvV3zbdkDM9P3TqlESBAYAsBuy5NoP5SaHFOwkeLq2JMBAgQ2E/gcTn8ktQdUhoBAgQIrFSgxQAifBzxm9HTBAgQWIDABZnDa1J3T2kECBAgsEKB1gKI8LHC34SmTKADAUMcVuCeOV3dIeuB2WoECBAgsDKBlgKI8LGy33ymS4DAqgXuktlfnvrElEbgGAEvESCwNIFWAojwsbTfWeZDgACBkwVum11elPralEaAAAECrQmMNJ4WAojwMdLiOi0BAgQ6ELhVxvj01AtTt0lpBAgQILBwgbkDiPCx8N9gC5meaRAgML7AY9LFpak7pTQCBAgQWLDAnAFE+FjwbyxTI0CAwA4CD8oxV6XqQ+rZVFMECBAgsDSBuQKI8LG030nmQ4AAgWEE7pHT1G16K4zkoUaAwGwCOiYwksAcAUT4GGkxnZYAAQILEagvKqy3Y9UXFy5kSqZBgAABAgcCUweQHsPHgZUtAQIECEwnUB9If366e0ZKI0CAAIEFCUwZQISPBf3GMRUC0wjohcCpp8Tgxan6OyQbjQABAgR6F5gqgNRfHD8VrI9JaQQIECBAYBuB+rLCK3JAfXlhNtokAjohQIDASAJTBBDhY6TFc1oCBAisSOABmetrU/dJaQQIEFi0wNInN3YAET6W/jvI/AgQIDCdwN3T1atTF6Q0AgQIEOhUYMwAInx0+puinWEbCQECBM4TuH2euSR1cUojQIAAgQ4FxgogwkeHvxkMmQABAjcLtP3g1hnec1Pfnhrr77GcWiNAgACBMQTG+INb+BhjpZyTAAECBM4V+OI88bLU7VIagcUImAiBpQsMHUCEj6X/jjE/AgQItCVwYYZzZepuKY0AAQIEOhAYMoAMHD460DNEAgQIEGhB4H4ZRN0hq7Z5qBEgQIBAywJDBRDho+VVNjYC2wrYn0B/AnfNkOtKyCOy1QgQIECgYYEhAojw0fACGxoBAgRWJFCfBfnJzPdLU902AydAgMDSBfYNIMLH0n+HmB8BAgT6Eqi/1741Q667ZNXdsvJQI0CAwEYCdppIoP6g3rUr4WNXOccRIECAwNgC9T0h9X0h9b0hY/fl/AQIECCwhcCuAUT42AK5u10NmAABAssQuCDTeHXq7imNAAECBBoR2CWACB+NLJ5hECCwPAEzGlzgPjlj3SHrgdlqBAgQINCAwLYBRPhoYNEMgQABAgS2ErhL9r489YkpjcBRAp4nQGAigW0CiPAx0aLohgABAgQGF7htzvii1NekNAIECBCYUeD8AHL4YF1NZXUAABAASURBVOoP7p/KSx+T0ggQIECAQI8Ct8qgvyH1wtRtUhoBAgQIzCCwSQCpfX4sYxM+gqARGFPAuQkQmETgMenl0tSdUhoBAgQITCxQ4eKkLute6o88aSevEyBAgACBjgQelLFelbpHqpoiQIAAgYkETgogX5ZxfHZKI0CAAAECSxOo8FF3yHrI0iZmPgT6EjDatQkcF0DqD+RnrQ3EfAkQIEBgVQJ3zGxfnnpcSiNAgACBCQSOCiDvk75/InXU63lJG1rA+QgQIEBgFoH6QPrz0/M3pTQCBAgQGFngqIDxQ+n3zimNAAECaxAwRwIl8FX55cWpuu18NhoBAgQIjCFwWAD5lHR0QUojQIAAAQJrE6gvK7wik64vL8xGG19ADwQIrE3g3ADyLgH4DymNAAECBAisVeABmXh9OP3e2WoECBBYrsBMMzs3gHxexvHeKY0AAQIECKxZ4O6Z/GtS3hEQBI0AAQJDCpwZQN4pJ/7ylEZgbQLmS4AAgcMEbp8nL0ldnNIIECBAYCCBMwNIfTNs3f1qoFM7DQECBAgQOEmg+ddvnRE+N/VtKY0AAQIEBhA4M4D4LzwDgDoFAQIECCxS4Esyq/+Rul1KI7AMAbMgMJPAQQCpKx/1xYMzDUO3BAgQIECgeYFHZIRXpu6W0ggQIEBgR4GDAPL4HY9fwmHmQIAAAQIENhW4X3b8hdSHpTQCBAgQ2EHgIIBctMOxDiFAgMCeAg4n0KVA3S3yf2fkdUUkG40AAQIEthGoAFLf+PpR2xxkXwIECBAgsHKB+izIT8agPhuSTYfNkAkQIDCTQAWQCh91C96ZhqBbAgQIECDQpUD9HVp3x6q7ZNXdsrqchEETIDC9wNp7rD88H7B2BPMnQIAAAQJ7CNRdJOv7Qup7Q/Y4jUMJECCwDoEKIPdcx1TNsj0BIyJAgMBiBC7ITF6duntKI0CAAIFjBASQY3C8RIAAgcUKmNgYAvfJSV+b8s6CIGgECBA4SqACiP9ac5SO5wkQIECAwHYCd8nuV6UendIIHCrgSQJrF6gA8m5rRzB/AgQIECAwsMCP5HxfndIIECBA4ByBCiAzfWjunJH4kQABAgQILEfgVpnKN6ZemLpNSiNAgACB0wIVQOp7QE7/aEOAwCoETJIAgakEHpOOXpG6U0ojQIAAgQhUAMlGI0CAAAECBEYSeHDOW3fIuke2pxQBAgTWLlAB5C/WjmD+BAgQIEBgZIEPyvnrDlkVRvJQI0BgBgFdNiJQAeQPGhmLYRAgQIAAgSUL3DGTq7dj1duy8lAjQIDAOgUEkDWuuzkTIECAwFwC9YH0+mB6fUB9rjHolwABArMKVAB506wj0DkBAgRWJGCqBE4L1C16X5zHt01pBAgQWJVABZDXr2rGJkuAAAECBNoQ+MQM4/JUfXlhNtrIAk5PgEAjAhVA6s4cjQzHMAgQIECAwKoEHpjZ1ofT75OtRoAAgYUKnD2tCiC/kKeuT2kECBAgQIDA9AJ3T5f1HwMvyFYjQIDA4gUqgLw9s/zFlEaAwMgCTk+AAIEjBG6f5y9NfW5KI0CAwKIFKoDUBH+8flEECBAgQGChAr1M6/sy0G9L3SqlESBAYJECBwHkhxY5O5MiQIAAAQL9CXxJhvyS1O1SGoEFCJgCgbMFDgLI7+Xp+hBcNhoBAgQIECAws8Aj0v//Tr13SiNAgMCiBA4CSE3qe+sXNZ6AMxMgQIAAgS0EPiz71o1i7petRoAAgcUInBlAfjCz+rOURoAAgaUJmA+BXgXuloFfmaorItloBAgQ6F/gzABybabzXSmNAAECBAgQaEegPgvykxnOF6c6bIZMgACBswXODCD1ynfkl2tSGgECBAgQINCOQP19/e0ZznNTt05pBAgQOFmg0T3qD7Qzh1bh46vPfMJjAgQIECBAoBmBizOSS1L1vSHZaAQIEOhP4NwAUjOoD6P/ej1QBBYiYBoECBBYksAFmcyrU3dPaQQIEOhO4LAAckNm8Wmpd6Q0AgQIECCwh4BDRxK4T85bt89/QLYaAQIEuhI4LIDUBH45vzwxpREgQIAAAQJtCtwlw7oi9YkpjcD5Ap4h0KjAUQGkhvs9+eVHUxoBAgQIECDQpsA7Z1gvTj0lpREgQKALgeMCSE3gcfnllamem7ETIECAAIGlCzwjE3x+6jYpjQABAk0LnBRA/jajf3iqvok1G40AAQLbCNiXAIEJBeo/Gl6a/u6U0ggQINCswEkBpAb+1/nln6d+NqURIECAAAEC7Qo8KEP7+dQ9TuUXjQABAi0KbBJAatxvzS//IvXdKY0AAQIECBBoV+CeGdpVqQoj2WgECEwtoL/jBTYNIHWW6/LLF6Q+L6URIECAAAEC7QrU27BeleE9NqURIECgKYFtAsjBwJ+bBx+e+r2URuAYAS8RIECAwMwCP5T+vyGlESBAoBmBXQJIDf4X88v9Uv8zpREgQIBAawLGQ+AWga/Jw7pV722z1QgQIDC7wK4BpAb+F/nl41Nfmfq7lEaAAAECBAi0KVBfVnh5hlZfXpiNNqaAcxMgcLzAPgHk4MzPzoOHpt6c0ggQIECAAIE2BR6YYb02VR9Sz0YjQIDAPAJDBJAa+c/ll3pL1mXZnm42BAgQIECAQGMCd894XpO6IKURIEBgFoGhAkgN/i35pf5A+6Js/yqlESAwl4B+CRAgcLTAHfLSJamLUxoBAgQmFxgygNTgb8gv35m6d+p/pTQCBAgQILAqgU4me+uMs+5q+a3Z3iqlESBAYDKBoQPIwcDflAcXpur+41dnqxEgQIAAAQLtCXxphvSS1O1SGoHeBYy/E4GxAsjB9F+QB3U15Iez1QgQIECAAIH2BB6RIV2ZumtKI0CAwOgCYweQmkBdAfn0PHhY6v+ltLEFnJ8AAQIECGwnUDeS+T855ENTGgECBEYVmCKAHEygPvB2r/zwlNRfpjQCBAgsTsCECHQs8D4Z+8+n6i3U2WgECBAYR2DKAFIzuDa/PDP1D1P/KXV9SiNAgAABAgTaEKjPgrwsQ3liqrdmvAQIdCIwdQA5YPmTPPjcVF3yfUW2GgECBAgQINCGQP3b4DsylLpLVj3OQ40AAQLHCWz32tx/sPxahvvPU/8y9ZspjQABAgQIEGhDoL4npK6G3L6N4RgFAQJLEZg7gBw4vjQP7pt6fOq3UhqBLgUMmgABAgsTqM+DvDpzuntKI0CAwCACrQSQmsx1+eX5qfqg+mdk64pIEDQCBAgQ2EjATuMJ3Cenfm3qASmNAAECewu0FEAOJlMfTP+h/PDBqU9NCSJB0AgQIECAwIwCd0nfV6U+OaWdLVAf3L9jnnrP1N1S/yBV/zH1Q7L98NRHpR6c+ugN6iOyzz1T75Wq82bTQzNGAtsJtBhAzpzBj+SHCiKfku2vpDQCBAgQIEBgPoEfS9dPTvXa6h/29Zbvh2QCn5iqG+LU1wN8ax7/l9T/SL0yVbcjru9F+dU8/r+p+h6zP8r2T1P1VQI3ZHtQb8vja1J/nHpT6ndSv5Gqf7fUlaP6ksfL8/PPblCvyT71H16rrzpv9VF9/m6e/+XUZamfSr0w9X2pb0l9beqLU5+VqoD4sdlWkKkg9K55rBFoTqD1AHIA9qI8qDtmXZBthZJs2mtGRIAAAQIEViDwzZlj/WM9m2bau2Qk9R8s68Y2/yaPvzr1PakKFL+Y7VtS9Y/5+od9hYr6h/yL81z9I/4Z2X5pqo57RLYPTT0w9Y9SFVY+KNv6DEyFlzvn8dQfyq8+PyD91r+DKjh9fB4/JlXh6cuyfXrq21P/OVUB8eXZVpCpIPTWPK55/0G2FWDqzqM/msf/MfV1qc9LPTL1j1P1PTDZaATGF+glgBxI1H+VqLdl1SXO+gOj/ovDwWu2BAisV8DMCRCYVqD+sV5/J99hom7r7/1/kr7qH95fke13pV6Sqn9U178F/jqPX5+6JFXh6Buz/bepChQflm29hSyb1bYKFxVgPiYCj049IfW01PemfjL1C6kKKRVW/jCP68pNhbcKaE/Nz3WToPqPwHVVJT9qBPYT6C2AHMy2/s9R/3Wj/qtA/SFYl0kPXrMlQIAAAQIExheoKwVXnTp16gMH7Kr+kVz/QK5/HNd/qf+lnLv+UVxvbfq5PK63Hj0r2y9I1S38a//6/EV+1AYSeO+cpz67UuGtrrJ8fX5+XurSVF1VqfX4/Tyut5X9cLbflKr96urTP8xjjcCJAr0GkDMn9l/zQ92Zoy6X1pcm1Xsm85RGgAABAgQIjCxQ/+Cst/s8aMt+6m1N9RmMChr1X+Drcxb1D9u6olHBo94eVEHk/lue1+7TCLxvuqkP1n9atl+VqisldfXpDXlc61jb/5nH9dawL8r2olSteTbaoAKdnmwJAeSAvv4ArPcy1l0o6oNY9QGyg9dsCRAgQIAAgXEE6t0Ir8qpPz11WPvIPFlv+flP2dZVjLdnW4GjPoNRQaM+g+Afp0FZUKtg+nGZT304/j9kW19oWWte4aS+763Cybfl+fqyy3+WratYQVhTW1IAOVi3eh9oXSqs94rWvcvrN369P/TgddvlCZgRAQIECMwv8IMZQn32ov5R+d15XJ8rqH9w1hcZ1oeePyfP1d/N75yttl6BestehZMvCUG9c+WKbOvfaXUXsbpTWP3eqasmdTev+uxKXtaWJrDEAHLmGtUH0ip911WRuvxXd4io29mduY/HBAgQILCzgAMJnCVQn8+sf1R+fp6tOytloxHYSKD+rVbflVK/d+o/HtfdvOqD8Vfn6J9O1WdNHpXt+6W0zgWWHkAOlufv8qB+89Z/fblrHv+LVL1f8U+y1QgQIECAAAEC/QmsY8TvnmlemKrPmvx4tr+Xqn+/1du66hbE9RY+V0qC0lNbSwA5c02uyw+Vquv2fBVG6hJffUjq1/O8RoAAAQIECBAg0LbAe2R49c6W+hLGuolBXSmp73qpWwfXVbi6I5cvYQxSq20JAWRf27qtXL0Psb5sqAJJfYiu7iFet/zb99yOJ0CAAAECBAgQGF+gvuulbh1cn0OqO3L9ebr8lVTd/KBuTlSfC75VftYaEBBAzl6EuqRX97T+zDxd7zG8d7ZfmKpLfpWs81AjQOAWAY8IECBAgECTAvVv3A/JyOrt9/UZ4F/L479I1btgKqQ8PI9dJQnCHK0WZ45+e+nzNzLQunPHJ2VbH46qOzfUt4F+f36u17LRCBAgQIDADAK6JEBgW4EKHPXW+3qb1ktzcN19q77G4Zl5/LDU7VLaBAICyHbI9Q2gz88hdYvBujpSH4yqBF0fjHpBnn9dSiNAgAABAgQIEGhf4NYZ4kekvjL1M6n6Muv6Tpv6cPsF+fnI5oX9BASQ/fz+LIfXXRi+OdvHpu6fqvcX1vsMH53HX596Saq+dCcbjQABAgQIECBAoGGBB2Vs9eH2+oxwfY9NbeuKSX1hYl7ShhAQQIZQPP8c9f0jP5an6xtePyHb+obXd8kQ0pfvAAAQAElEQVT2o1L1XsS6v3V9QKqCSX0jbJ7usRkzAQIECBAgQGDRAnUlpD4zUl+Y+JeZ6U+knpD64JS2o4AAsiPcDof9TY6pb4OtD0LVlyPWew0rmNT7DevODR+W1+vuDXV74Lr0V2/1qm8ErZBSx+ZljQABAqcFbAgQIEBgaoHbp8N/larPB9d/bK7vJPnu/PzJqTuktA0FBJANoUbe7U9z/l9O/VSqviDxadnWh90/JtsKKXX1pD4EX98qW1/GU98EWm/5+ty8XmGmPoPyDXlc32dS30Bbd/L67/m5rrJclu2mVQEpu2sECBAgQIDAUQKeJ3BaoO6Y+vl5XO96qdv+1r+j6t9jD81z2jECAsgxOI29VLcBfm3G9L9SFS7qQ+91b+t6O1d9BuWpeb6+z+Tzsq3vMqmQUldZPjo/b1r1FrHnZX+NAAECBAgQIEBgO4GPzO5fk3plqm75+6PZ1n8wdnUkEGe2PQLImafxeEECdYevumKyoCmZCgECBAgQIEBgUoF3S291Q6IfyvbqVH2Y/YnZ1lWTbNbdBJB1r/9hs78uTz4y9YaU1qqAcREgQIAAAQK9CLxTBlofZv+ObOtzI7+SbX2wva6Y1N1T8+O6mgCyrvXedLZvzY719q1K7HmoESBAgMCBgC0BAgT2FPiQHF+39q3PjPxJHtfb3z8+29U0AWQ1S731RN+YIy5KXZvSCBAgQIAAAQJzCyyx/7oTat14qG5EdE0m+AOpuuHQrbNdbBNAFru0g0zsqpylPjyVjUaAAAECBAgQIDCiwB1z7s9M/XTqzam6M2rdEXVx/15f3ISyWMtv087wxemu7rCVjUaAAAECBAgQIDCBQF0Zqa9beEX6+sPUd6UenFrEZ0YEkKykdqJA3dO6bvt74o52ILB0AfMjQIAAAQITC9w1/X1B6vLU76fqe98emG23TQDpdukmH3i9P/HKyXvVIQECBAgQuEnArwQInDp1tyB8cernU7+T+qbUvVNdNQGkq+WadbDvSO8PT9WH07PRCBAgQIAAAQIEZhT4B+n7q1K/nvql1Fek3ic1Qhv2lALIsJ5LP1vdnaFuz1u36V36XM2PAAECBAgQINCLwP0z0Gel3pSqL5T+vGzvlGqyCSBNLkvTg6ovKKwvKqwvLGx6oGMMzjkJECBAgAABAg0L1IfUH5LxfW/qj1MvST0m9S6pZpoA0sxSdDWQStaf09WIDZYAgd4FjJ8AAQIEthO4TXb/l6kXpq5OPT/1canZmwAy+xJ0O4D/kpE/O6URIECAAAECixYwuQUI3C5zeFzqf6b+KPVtqQ9LzdIEkFnYF9PpkzOTl6Y0AgQIECBAgACBPgTeK8P8ktQvpn419ZWpST+8LoBEfNNmv/MEbsgzj069LqURIECAAAECBAj0JXDfDPeZqfrw+qXZfmbq9qlRmwAyKu8qTv72zPLCVP3GzUYjMIqAkxIgQIAAAQLjCdSH1y/I6X8g9Sep+tzIx2f7TqnBmwAyOOkqT/jmzLp+k/51thoBAgQILErAZAgQWJlA3TGr7pz1U5l3hZFvzvbdU4M1AWQwytWf6Fci8K9S16c0AgQIECBAgACBfQXmP76+S6Q+81vvdPnuDOf9U3s3AWRvQic4Q+CSPH5SSiNAgAABAgQIEFiOwDtnKp+f+q3UM1J/L7VzE0B2pnPgEQLPyfPfkxqyORcBAgQIECBAgMD8AvWZkKdkGL+e+qjUTk0A2YnNQScIPCGv/3RKI0CgewETIECAAAEC5wncI89cmXpWausmgGxN5oANBT45+70+pREgQIAAAQK7CDiGQPsCX5EhXp7a6kPqAkjEtFEE3paz1u1535KtRoAAAQIECBAgsEyBB2da9aWG98t2o9ZDANloInZqUuD3M6q6Pe+12WoECBAgQIAAAQLLFHi/TOuyVH2xYTbHNwHkeB+v7i9wVU7x2FR9a3o2Wl8CRkuAAAECBAgQ2Ejgjtnr0lSFkWyObgLI0TZeGU7gxTnVV6c0AgQIENhUwH4ECBDoT+A9M+T6TEht8/DwJoAc7uLZ4QXqWzRfMPxpnZEAAQIECBAgMKyAs+0l8AE5uv7j85E548gXcqBGYGiBx+eEdcu2bDQCBAgQIECAAIGFCjwo8/ra1KFNADmUxZM3CQz+6ztyxoen3pDSCBAgQIAAAQIElivw1Eytgkg2ZzcB5GwPP40vcE26eFiqttloBAgcKuBJAgQIECDQt0DljP+aKdw6dVarF856wg8EJhB4Y/qoKyF1RSQPNQIECBAg0I6AkRAgMJjAP8iZPi91VhNAzuLww4QC9VmQ+kzIhF3qigABAgQIECBAYGKBeivWO5/Z5zEB5MzdPCYwikDdFesbRzmzkxIgQIAAAQIECLQgcNcM4kmpm5sAcjOFBzMJVCquW7XN1H2j3RoWAQIECBAgQGA5Al+aqbxT6sYmgNzI4JcZBW5I349NXZXSCBAgMLuAARAgQIDA4ALvnjN+curGJoDcyOCXmQWuTf8Xpd6U0ggQIECAAIF1Cpj1sgW+4GB6AsiBhO3cAldnAB+X+uuURoAAAQIECBAgsCyB+k6Qe9WUBJBSaK3WO55fy9T/Veq6lEaAAAECBAgQILAsgU+o6QggpaBaErgkg7k4pRGYRUCnBAgQIECAwGgC9Zb7UwLIaL5OvIfA83Lsc1IaAQIECKxHwEwJEFi+wIMzxb8vgERBa1LgiRnVy1IaAQIECBAgQIDAqAKTnfzW6ekCASQKWrMCj87IXp/SCBAgQIAAAQIEliHwoQLIMhZyqbN4Wyb2sNSbU5M0nRAgQIAAAQIECIwqcC8BZFRfJx9AoL4b5OE5z9tTGgECyxUwMwIECBBYh8A9BZB1LHTvs/w/mUC9HeuGbDUCBAgQIEBgUAEnIzCpwHsIIJN662wPgZfm2CenNAIECBAgQIAAgX4Fbi+AnLF4HjYv8OyMsG7Rm41GgAABAgQIECDQocC7CiAdrtrKh/xZmf+lKW1ZAmZDgAABAgQIrEPA94CsY50XN8tHZUZvSGkECBAgsLeAExAgQGBSgWtcAZnUW2cDCbw156nb816TrUaAAAECBAgQ6FNgnaN+qwCyzoVfwqzfmEk8IqURIECAAAECBAj0I+AKSD9rteiR7jq5n8uBj01pBAgQIECAAAECfQj8tisgfSyUUR4t8IK89PSURoDATgIOIkCAAAECkwr8XwFkUm+djSTwtJz3R1IaAQIECBDoR8BICaxT4DcEkHUu/BJn/fhM6qqURoAAAQIECBAg0K7Aq1sIIO3yGFlPAtdmsBel6sPp2WgECBAgQIAAAQKNCfxZxvObAkgUtMUIXJ2Z1O156za9eaidLGAPAgQIECBAgMBkAq+ongSQUlBLEqgvKHxkJnRdSiNAgEC7AkZGgACB9Qm8pKYsgJSCWprAZZnQxSmNAAECBAgQIHCegCdmEfib9Pqi1CkBpBTUEgWel0n9+5RGgAABAgQIECAwv8B/yxAqhAgggVhxW/zUvzwzfGlKI0CAAAECBAgQmFfgOw+6dwXkQMJ2iQLXZ1KPTr0upRFoS8BoCBAgQIDAegQuz1Rv/roEASQa2qIF3p7ZXZh6c0ojQIAAAQKnEBAgMLnAs87sUQA5U8PjpQpU+KgQUmFkqXM0LwIECBAgQIBAiwJXZlAvS1W7sQSQGxn8sgKBehtWvR2r3pa1gumaIgECBAgQIEBgdoG/ywg+M3VWE0DO4vDDwgXqA+n1wfT5p2kEBAgQIECAAIHlC9Rbr37z3GkKIOeK+HnpAnVr3rpF79LnaX4ECBwh4GkCBAgQmETg59PL01LnNQHkPBJPrECgvqSwvqxwBVM1RQIECBAg0IyAgaxH4E8y1U9IXZc6rwkg55F4YgUC9X+GR2aer09pBAgQIECAAAECwwnUlw0+IqerEJLN+U0AOd9k/Gf00ILAWzOIj09dndIIECBAgAABAgT2F6ib/XxSTvMLqSObAHIkjRdWIPDGzPFfprQVCZgqAQIECBAgMJrAF+fMZ91yNz+f1wSQ80g8sTKB+oDUJ69szqZLgACBOQT0SYDAsgWekul9Z+rEJoCcSGSHFQi8OHM89C4NeV4jQIAAAQIECHQuMPrwK3w8c9NeBJBNpey3dIGnZ4IvSGkECBAgQIAAAQKbC2wVPuq0AkgpqNUInDDRx+f1K1MaAQIECBAgQIDAyQJbh486pQBSCorATQLvyObhqfpwejYaAQIDCjgVAQIECCxLYKfwUQQCSCkoArcIXJOHD0vVbXqz0QgQIECAQO8Cxk9gcIGdw0eNRAApBUXgbIE35Mf6osL6wsI81AgQIECAAAECBE4L7BU+6hyrCiA1YUVgQ4HLst/FKY0AAQIECBAgQOAmgb3DR51GACkFReBwgefl6WentP0FnIEAAQIECBDoW2CQ8FEEAkgpKAJHCzw5L700pREgQKBTAcMmQIDA3gKDhY8aiQBSCorA0QI35KVHp16X0ggQIECAAAECmwssY89Bw0eRCCCloAgcL/D2vHxh6k0pjQABAgQIECCwFoHBw0fBCSCloMYWWML535xJ1O1535atRoAAAQIECBBYusAo4aPQBJBSUAQ2E3h9dntU6vqURqATAcMkQIAAAQJbC4wWPmokAkgpKAKbC1ySXZ+U0ggQIECAwPECXiXQp8Co4aNIBJBSUAS2E3hOdq9b9GajESBAgAABAgQWIzB6+CipKQJI9aMILE2gvqSwroYsbV7mQ4AAAQIECKxTYJLwUbQCSCkoAtsLXJdD6vMg9bmQPGy1GRcBAgQIECBA4ESBycJHjUQAKQVFYDeBuiNW3Rnr6t0OdxQBAosWMDkCBAj0ITBp+CgSAaQUFIHdBeq7QS7K4demNAIECBAgQKABAUPYWGDy8FEjE0BKQRHYT+CqHP7Y1A0pjQABAgQIECDQg8As4aNgBJBSWGyZ2IQCL05fX5PSCBAgQIAAAQKtC8wWPgpGACkFRWAYgWfkNC9IaQROnWJAgAABAgTaFJg1fBSJAFIKisBwAo/Pqa5MaQQIECAwk4BuCRA4UmD28FEjE0BKQREYTuAdOdXDU29MaQQIECBAgACBVgSmCB8bzVUA2YjJTgS2Ergme9fteWubhxoBAgQIECBAYFaBZsJHKQggpaAIDC1w6tQbcsq6ElJXRPJQI0CAAAECBAjMItBU+CgBAaQUFIFxBOqzIPWZkHHO7qwECBwq4EkCBAgQuFmgufBRIxNASkERGE+g7opVd8carwdnJkCAAAECbQgYRVsCTYaPIhJASkERGFegvh+kvidk3F6cnQABAgQIECBwk0Cz4aOGJ4CUwtDlfATOFrghPz42dVVKI0CAAAECBAiMKdB0+KiJCyCloAiML3Bturgo9aaUNqKAUxMgQIAAgRULNB8+am0EkFJQBKYRuDrd1O1535atRoAAgaUJmA8BAvMKdBE+ikgAKQVFYDqB16erR6WuS2kECBAgQIAAezoexAAAEABJREFUgQEETnUTPmqyAkgpKALTClyS7i5OaQQIECBAgACBfQW6Ch81WQGkFNRiBDqayPMy1uekNAIECBAgQIDArgJfnwOfmeqqCSBdLZfBLkzgSZlPXQ3JRiPQvYAJECBAgMC0AhU8vm7aLofpTQAZxtFZCOwicH0Oqs+D1OdC8lAjQIAAAQK7CDhmhQIVPuqtV11OXQDpctkMekECdUesujPWmxc0J1MhQIAAAQIExhPoOnwUy6ICSE1IEehQoL4b5MKM++0pjQABAgQIECBwlED34aMmJoCUgiIwv8DrMoRHp+pb07PprhkwAQIECBAgMK7AIsJHEQkgpaAItCHw0gzjySmNAAECWwjYlQCBFQgsJnzUWgkgpaAItCPw7AylbtGbjUaAAAECBAg0LTDN4BYVPopMACkFRaAtgfqSwsvaGpLRECBAgAABAjMILC58lKEAUgpqXwHHDytwXU73yNQbUhoBAgQIECCwToFFho9aSgGkFBSB9gTemiHV7XmvyVYjcIyAlwgQIEBggQKLDR+1VgJIKSgCbQq8McN6eOodKY0AAQIEWhMwHgLjCCw6fBSZAFIKikC7AldmaI9PaQQIECBAgMDyBRYfPmoJhwggdR5FgMB4Ai/Iqb8hpREgQIAAAQLLFVhF+KjlE0BKQRFoX+CpGeKLU+c0PxIgQIAAAQILEFhN+Ki1EkBKQRHoQ+CxGeZVKY0AgRYEjIEAAQLDCKwqfBSZAFIKikAfAtdmmBel6sPp2WgECBAgQGCdAgua9erCR62dAFIKikA/AldnqHV73rpNbx5qBAgQIECAQKcCqwwftVYCSCl0Wwa+UoH6gsL6osL6wsKVEpg2AQIECBDoWmC14aNWTQApBUWgP4HLMuSLU9pcAvolQIAAAQK7Caw6fBSZAFIKikCfAs/LsP99SiNAgMCqBEyWQMcCqw8ftXYCSCkoAv0KfHmG/tKURoAAAQIECLQtsITwMYiwADIIo5MQmE3g+vT86NTrUhoBAgQIECDQpoDwcca6CCBnYHhIYGOBtnZ8e4ZzYerNKY0AAQIECBBoS0D4OGc9BJBzQPxIoFOBCh8VQiqMdDoFwyawmYC9CBAg0JGA8HHIYgkgh6B4ikCnAvU2rHo7Vr0tq9MpGDYBAgQINCxgaNsJCB9HeAkgR8B4mkCnAvWB9PpgeqfDN2wCBAgQILAIAeHjmGUUQI7BOfIlLxBoW6BuzVu36G17lEZHgAABAgSWKSB8nLCuAsgJQF4m0KlAfUlhfVlhp8M/etheIUCAAAECDQsIHxssjgCyAZJdCHQocF3G/MjUG1IaAQIEhhBwDgIEjhcQPo73uflVAeRmCg8ILE7grZnRw1JXpzQCBAgQIEBgPIGRw8d4A5/jzALIHOr6JDCdwBvT1UWpa1MaAQIECBAgMLyA8LGlqQCyJZjd5xXQ+04CV+Wox6Y0AgQIECBAYFgB4WMHTwFkBzSHEOhQ4MUZ89NSGoFdBRxHgAABAmcLCB9ne2z8kwCyMZUdCXQv8PTM4AUpjQABAgS6EjDYBgWEjz0WRQDZA8+hBDoUeHzGfGVKI0CAAAECBHYTED52c7v5qK4CyM2j9oAAgV0F3pEDH56qD6dnoxEgQIAAAQJbCAgfW2AdtasAcpSM5wksV+CaTK1uz1u36c3DjZqdCBAgQIDA2gWEj4F+BwggA0E6DYHOBOoLCuuLCusLCzsbuuESWJuA+RIg0ICA8DHgIgggA2I6FYHOBC7LeC9OaQQIECBAgMBhAjc9J3zc5DDYrwLIYJRORKBLgedl1M9OaQQIECBAgMD5AsLH+SZ7PyOA7E24ihOY5LIFnpzpvTSlESBAgAABArcICB+3WAz6SAAZlNPJCHQpcENG/ejU61JacwIGRIAAAQIzCAgfI6ILICPiOjWBjgTenrFemHpTSiNAgACBElBrFRA+Rl55AWRkYKcn0JHAmzPWuj3v27LVCBAgQIDAGgWEjwlWfZMAMsEwdEGAQCMCr884HpW6PqURIECAAIE1CQgfE622ADIRtG4I7CYwy1GXpNcnpTQCBAgQILAWAeFjwpUWQCbE1hWBjgSek7HWLXqz0QisVMC0CRBYi4DwMfFKCyATg+uOQEcC9SWFdTWkoyEbKgECBAgsQWDCOQgfE2IfdCWAHEjYEiBwrsB1eaI+D1KfC8lDjQABAgQILEpA+JhpOQWQmeA369ZeBGYXqDti1Z2xrp59JAZAgAABAgSGExA+hrPc+kwCyNZkDiCwOoH6bpCLMutrU+tpZkqAAAECSxUQPmZeWQFk5gXQPYFOBK7KOB+buiGlESBAYFQBJycwooDwMSLupqcWQDaVsh8BAi8OwdekNAIECBAg0KOA8HHyqk2yhwAyCbNOCCxG4BmZyQtSGgECBAgQ6ElA+GhotQSQhhbDUBoSMJTjBB6fF69MaQQIECBAoAcB4aOxVRJAGlsQwyHQgcA7MsaHp96Y0ggMLuCEBAgQGFBA+BgQc6hTCSBDSToPgXUJXJPp1u15a5uHGgECBAgsQGBpU/iOTOgpKa0xAQGksQUxHAIdCbwhY60rIXVFJA81AgQIECDQjECFjyc1MxoDOUtAADmL4/QPNgQIbCpQnwWpz4Rsur/9CBAgQIDA2ALCx9jCe55fANkT0OEECJyqu2LV3bEGoXASAgQIECCwh4DwsQfeVIcKIFNJ64fAsgXq+0Hqe0KWPUuzI7BsAbMj0LuA8NHJCgognSyUYRJoXOCGjO+xqatSGgECBAgQmFqg8/AxNde8/Qkg8/rrncCSBK7NZC5KvSmlESBAgACBqQSEj6mkB+pHABkI0mmGEXCW7gWuzgzq9rxvy1YjQIAAAQJjCwgfYwuPcH4BZARUpySwcoHXZ/6PSl2f0voRMFICBAj0JiB89LZip8crgJyGsCFAYFCBS3K2L0xpBAgQIHCigB12EBA+dkBr5RABpJWVMA4CyxP4nkzpOSmNAAECBAgMKSB8DKk5w7maCiAzzF+XBAiMK/CknL6uhmSjESBAgACBvQWEj70J5z+BADL/GhgBgRYExhpDfQ6kPg9SnwsZqw/nJUCAAIF1CAgfC1lnAWQhC2kaBBoWqDti1Z2x3tzwGA2NwIwCuiZAYAMB4WMDpF52EUB6WSnjJNC3QH03yIWZwttTGgECBAgQ2EZgvPCxzSjsO5iAADIYpRMRIHCCwOvy+qNTN6Q0AgQIECCwiYDwsYlSZ/sIIJ0t2EjDdVoCUwm8NB09OaURIECAAIGTBISPk4Q6fV0A6XThDJtAxwLPztifl9JuFPALAQIECBwiIHwcgrKUpwSQpaykeRDoS+DiDPeylEaAAIH5BPTcqoDw0erKDDQuAWQgSKchQGArgeuy9yNTb0hpBAgQIEDgQED4OJBY8LYCyIKnZ2oECDQs8NaMrW7Pe022GgECBAgQED5W8ntAAFnJQptmqwKrH9cbI/Dw1DtSGgECBAisV0D4WNHaCyArWmxTJdCowJUZ1+NTGoFpBfRGgEArAsJHKysx0TgEkImgdUOAwLECL8ir35DSCBAgQGAFAmdMUfg4A2MtDwWQtay0eRJoX+CpGeKLUxoBAgQIrENA+FjHOp83SwHkPJIpn9AXAQLnCDw2P1+V0ggQIEBg2QLCx7LX99jZCSDH8niRAIGJBa5Nfxel6sPp2YzYnJoAAQIE5hIQPuaSb6RfAaSRhTAMAgRuFrg6j+r2vHWb3jzUCBBYmoD5rFpA+Fj18t80eQHkJge/EiDQlkB9QWF9UWF9YWFbIzMaAgQIENhVQPjYVW6445o4kwDSxDIYBAEChwhclucuTmkECBAg0L+A8NH/Gg42AwFkMEon6krAYHsReF4G+u9TGgECBAj0KyB89Lt2o4xcABmF1UkJEBhQ4MtzrpemtIUImAYBAqsSED5WtdybTVYA2czJXgQIzCdwfbp+dOp1KY0AAQIEdheY+kjhY2rxTvoTQDpZKMMksHKBt2f+F6benNIIECBAoH0B4aP9NZpthOsMILNx65gAgT0EKnxUCKkwssdpHEqAAAECIwsIHyMD9356AaT3FTR+Ap0J7DncehtWvR2r3pa156kcToAAAQIjCAgfI6Au7ZQCyNJW1HwILF+gPpBeH0xf/kzNkMCwAs5GYGwB4WNs4YWcXwBZyEKaBoGVCdSteesWvSubtukSIECgWQHh49il8eKZAgLImRoeEyDQk0B9SWF9WWFPYzZWAgQILFFA+Fjiqo44JwFkRFynPl/AMwQGFLgu53pk6g0pjQABAgTmERA+5nHvulcBpOvlM3gCqxd4awQelro6pR0v4FUCBAgMLSB8DC26kvMJICtZaNMksGCBN2ZuF6WuTWkECBBoUGCRQxI+Frms00xKAJnGWS8ECIwrcFVO/9iURoAAAQLjCwgf4xsvuodJA8iiJU2OAIG5BV6cATwtpREgQIDAeALCx3i2qzmzALKapTbRlQusZfpPz0RfkNIIECBAYHgB4WN401WeUQBZ5bKbNIFFCzw+s7sypRFoRMAwCCxCQPhYxDK2MQkBpI11MAoCBIYTeEdO9fBUfTg9G40AAQIE9hToN3zsOXGHjyMggIzj6qwECMwrcE26r9vzZqMRIECAwB4C355jn5TSCAwmIIAMRtn0iQyOwBoFfjuTvj6lESBAgMBuAnXl40t2O9RRBI4WEECOtvEKAQJ9C3xwht/An3EZhUaAAIH+BCp8uPLR37p1MWJ/OXexTAZJgMAOAvfZ4RiHECCwJAFz2VVA+NhVznEbCQggGzHZiQCBDgXu2+GYDZkAAQJzCwgfc6/AQvo/bhoCyHE6XiNAoGcBV0B6Xj1jJ0BgDgHhYw71FfYpgKxw0U15SgF9zShw7xn71jUBAgR6ExA+eluxjscrgHS8eIZOgMCxAvc89lUvLl/ADAkQ2FRA+NhUyn6DCAgggzA6CQECjQm8X8bz91IaAQIECBwvMEr4OL5Lr65dQABZ++8A8yewTIEPWua0zIoAAQKDCggfg3I62aYCAsimUjvt5yACBGYSEEBmgtctAQLdCHxPRup7PoKgTS8ggExvrkcCBMYX+KBT4/ehBwIECPQqUOHjCb0O3rj7FxBA+l9DMyBA4HwBV0DON/EMgckEdNS0gPDR9PKsY3ACyDrW2SwJrE3gHmubsPkSIEBgAwHhYwOkznfpYvgCSBfLZJAECGwp8IFb7m93AgQILF1A+Fj6Cnc0PwGko8Uy1C0E7LpmgTtn8u+S0ggQIEDgJgHh4yYHvzYiIIA0shCGQYDAYAIfMNiZnGgnAQcRINCUgPDR1HIYTAkIIKWgCBBYksD7L2ky5kKAAIEtBM7dVfg4V8TPTQgIIE0sg0EQIDCggAAyIKZTESDQrYDw0e3SLX/gywwgy183MyRA4GgBb8E62sYrBAisQ0D4WMc6dztLAaTbpTNwAm0KNDCq92tgDIZAgACBuQSek459yWAQtHYFBJB21wU35vgAABAASURBVMbICBDYTeBuux3mKALdC5gAgbry8UQMBFoXEEBaXyHjI0BgW4H32fYA+xMgQGABAhU+XPmYbSF1vI2AALKNln0JEGhd4FYZ4HunNAIECKxJQPhY02ovYK4CyAIWsaUpGAuBmQXeI/2/U0ojQIDAWgSEj7Ws9ILmKYAsaDFNhQCBU2t++5XlJ0BgfQLCx/rWfBEzFkAWsYwmQYDAaQEB5DSEDQECUwrM0pfwMQu7TocQEECGUHQOAgRaERBAWlkJ4yBAYEwB4WNMXeceXWDQADL6aHVAgACB4wXe6/iXvUqAAIHuBb4zM3C3qyBo/QoIIP2unZETOFPA45sE3vOmjV8JECCwSIG68vFFi5yZSa1KQABZ1XKbLIHFC9RdsBY/SRNsTcB4CEwiUOHDlY9JqHUytoAAMraw8xMgMKWAADKltr4IEJhKQPg4StrzXQoIIF0um0ETIHCEgAByBIynCRDoVkD46HbpDPwoAQHkKJm+njdaAgRuEvAZkJsc/EqAwDIEhI9lrKNZnCMggJwD4kcCBLoWmOEuWF17GTwBAu0K/FCG5jMfQdCWJyCALG9NzYjAWgXutNaJmzeB1Qose+Ifl+ndK6URWJyAALK4JTUhAqsVuMtqZ27iBAgsUaD+THtVJnbvlEagOYF9BiSA7KPnWAIEWhK4c0uDMRYCBAgMIFA31rg853ElJAjacgQEkOWspZnMIqDThgTu0NBYDIUAAQJDCdSVkCtyMiEkCNoyBASQZayjWRAgcOqUALK23wXmS2A9AkLIetZ6FTMVQFaxzCZJYBUCAsgqltkkCaxWoKkQstpVMPFBBASQQRidhACBBgQEkAYWwRAIEBhVQAgZldfJpxIQQPaSdjABAg0JCCANLYahECAwmoAQMhqtE08lIIBMJa0fAgSGFTj/bHc8/ynPECBAYJECQsgil3U9kxJA1rPWZkpg6QKugCx9hc2vGQEDaUJACGliGQxiFwEBZBc1xxAg0KKAANLiqhgTAQJjCgghY+q2ee5FjEoAWcQymgQBAhG4fUojQIDA2gSEkLWt+ALmK4AsYBFXOQWTJnC+wO3Of8ozBAgQWIWAELKKZV7OJAWQ5aylmRBYu8C7rB1gqvnrhwCBJgWEkCaXxaAOExBADlPxHAECPQoIID2umjETILCNwEn7CiEnCXm9CQEBpIllMAgCBAYQ8BasARCdggCB7gWEkO6XcPkT6DOALH9dzJAAge0FXAHZ3swRBAgsU0AIWea6LmZWAshiltJECEwj0HAvroA0vDiGRoDA5AJCyOTkOtxUQADZVMp+BAi0LiCAtL5CxrevgOMJbCsghGwrZv9JBASQSZh1QoDAyALvPPL5nZ4AAQK9Cgghg6yckwwpIIAMqelcBAjMJSCAzCWvXwIEehCoEPKqDPTeKY3A7AICyOxL0NcAjJZAowK3aXRchkWAAIFWBN4jA7k8da+URmBWAQFkVn6dEyAwkMAa/iwbiMppCBBYsUBdCbki8xdCgqDNJ+Av7fns9UyAwHACtx7uVM5EgACBcwUW9bMQsqjl7HMyAkif62bUBAicLeDPsrM9/ESAAIHjBISQ43S8NrrAVn9pjz4aHRAgQGA3AX+W7ebmKAIE1isghKx37Wefub+0Z18CAyCwkYCdjhfwFqzjfbxKgACBwwSEkMNUPDe6gAAyOrEOCBCYQMCfZRMgr7cLMyewaAEhZNHL2+bk/KXd5roYFQEC2wn4s2w7L3sTIEDgTIF2Q8iZo/R4MQL+0l7MUpoIgVUL+LNs1ctv8gQIDCAghAyA6BSbCfhLezOnuffSPwECxwv4DMjxPl4lQIDAJgJCyCZK9tlbQADZm9AJCBBoQOC68cbgzAQIEFiVQIWQV2XG901pBEYREEBGYXVSAgQmFrhh4v50R4DAFAL6mEvgPdLxK1P3SmkEBhcQQAYndUICBGYQcAVkBnRdEiCwaIG6EnJFZiiEBGGNbcw5CyBj6jo3AQJTCVw/VUf6IUCAwIoEhJAVLfaUUxVAptTWV4cChtyJgADSyUIZJgEC3QkIId0tWfsDFkDaXyMjJEDgZAEB5GSj/vYwYgIEWhEQQlpZiYWMQwBZyEKaBoGVC/gMyMp/A5g+AQLDChxyNiHkEBRP7SYggOzm5igCBNoScAWkrfUwGgIElikghCxzXSeflQByLLkXCRDoREAA6WShDJMAge4FhJDul3D+CQgg86+BERAgcJjAds+9Y7vd7U2AAAECewgIIXvgOfTUKQHE7wICBJYg8DdLmIQ5EGhFwDgIbCAghGyAZJfDBQSQw108S4BAXwJv72u4RkuAAIFFCAghwy/jKs4ogKximU2SwCoE/m4VszRJAgQItCUghLS1Hl2MRgDpYplWOEhTJrC9gLdhbW/mCAIECAwhIIQMobiicwggK1psUyWwcIFrFz6/yaanIwIECOwgIITsgLbWQwSQta68eRNYnoArIMtbUzMisK/ANfueYOLje++uQsirMol7pzQCRwoIIEfSeIEAgc4EBJDOFsxwCYws8JSc/8NTb0pp0wm8R7q6PHWvlEbgUIE2A8ihQ/UkAQIEjhX422Nf9SIBAmsSqPDxzEz4jakHp4SQIEzY6krIFelPCAmCdr6AAHK+iWcIrFqg48n/dcdjN3QCBIYT+OqcqsJHNje2gxDyBzf+5JepBCqE1Nux7jtVh/rpR0AA6WetjJQAgeMF/ur4l71KoHkBA9xfoK58POOQ01QIeVCedyUkCBO2ejvWK9OfKyFB0G4REEBusfCIAIG+Bf6y7+EbPQECewpU+Djzyse5p6sQ4u1Y56qM/3NdCeng7VjjQ+jhFgEB5BYLjwgQ6FtAAOl7/YyewD4CJ4WPg3MLIQcS026FkGm9m+9NAGl+iaYdoN4IdCwggHS8eIZOYA+BTcPHQRdCyIHEtFshZFrvpnsTQJpeHoMjQGALgd4DyBZTtSsBAqcFvi7b4952lZcPbULIoSyjPymEjE7cRwcCSB/rZJQECJwsIICcbGQPAksSqODx9XtM6IwQssdZHLqtgBCyrdgC9xdAFriopkRgpQICyEoX3rRXKVDho956te/khZB9BXc7XgjZzW0xR50VQBYzKxMhQGCNAgLIGlfdnNcoMFT4OLATQg4kpt0KIdN6N9WbANLUchjMigVMfX+Bt+5/CmcgQKBxgW/I+Ia48pHTnNUqhDwkz/iekCBM2CqE1JcV3nvCPnXVgIAA0sAiGAIBAoMI/PkgZ3GSFQqYcicCdeXjqSOO9Xdzbt8TEoSJW31Z4eXp05cVBmEtTQBZy0qbJ4HlC/zZ8qdohgRWK1DhY4wrH+eC1pUQIeRclTF/vuncdSXkijwUQoKwhiaArGGVzZHAOgQEkHWss1muT2Cq8HEgK4QcSEy7FUKm9Z61NwFkVv6bO/eAAIH9BQSQ/Q2dgUBrAlOHj4P5CyEHEtNuhZBpvWfrTQCZjV7HBAgMLPAXOd/1qS2b3QkQaFRgrvBxwCGEHEhMuxVCpvWepTcBZBZ2nRIgMIJAhQ8fRB8B1ikJjCZw9InnDh8HIxNCDiSm3Qoh03pP3psAMjm5DgkQGFHA27BGxHVqAhMJtBI+DqZ7EELefPCE7SQCQsjIzHOeXgCZU1/fBAgMLSCADC3qfASmFWgtfBzMXgg5kJh2K4RM6z1ZbwLIZNQ6alPAqBYmIIAsbEFNZ1UCrYaPg0X4rTyoW/S6EhKICZsQMiH2VF0JIFNJ64cAgSkE/nSKTvQxkIDTELhF4BvzcIrv+Ug3e7WDEPJHe53FwdsKVAh5VQ66d0pbgIAAsoBFNAUCBG4WeMvNjzwgQKAXgbry8bW9DDbjrBDykGy7vhKS8ffW3iMDvjzlywqD0HsTQHpfQeMnQOBMAf8gOFPDYwLtC1T46OHKx7mSFUK8HetclfF/rish9Y3p9x2/Kz2MKbDyADImrXMTIDCDgAAyA7ouCewo0Gv4OJiuEHIgMe22Qki9HUsImdZ90N4EkEE5nYwAgY0FxtlRABnH1VkJDC3Qe/g48BBCDiSm3d4p3QkhQei1CSC9rpxxEyBwmMAfH/ak5wgQOFtg5p+WEj4OGIWQA4lpt0LItN6D9iaADMrpZAQIzCzgCsjMC6B7AicILC18HExXCDmQmHbbYwiZVqjR3gSQRhfGsAgQ2EmgroDcsNORDiJAYGyBpYaPAzch5EBi2q0QMq33IL0JIIMwOsnWAg4gMI5AhY8/GefUzkqAwB4CSw8fBzRCyIHEtFshZFrvvXsTQPYmdAICBBoT8DasExbEywQmFlhL+DhgFUIOJKbdCiHTeu/VmwCyF5+DCRBoUEAAaXBRDGm1AmsLHwcLfVQIOXjddhwBIWQc18HPKoAMTuqEBAjMLPCHM/evewIEbhJYa/i4afanTgkhBxLTboWQab136m2eALLTUB1EgACBjQR+b6O97ESAwJgCaw8fB7ZCyIHEtFshZFrvrXsTQLYmcwCBvgVWMHoBZAWLbIpNCwgfZy+PEHK2x1Q/CSFTSe/QjwCyA5pDCBBoWuD3mx6dwa1ZYA1zFz4OX2Uh5HCXsZ8VQsYW3vH8AsiOcA4jQKBZAVdAml0aA1u4gPBx/AILIcf7jPXq6RBy6r5jdeC82wsIINubOYIAgbYFXAFpe32MbpkCwsdm6yqEbOY09F5CyNCie55PANkTsLfDjZfACgT+OnO8OqURIDCNwHekm6ektM0EhJDNnIbeSwgZWnSP8wkge+A5lACBZgVavArSLJaBEdhDoMLHk/Y4fq2HCiHzrLwQMo/7eb0KIOeReIIAgQUI+BzIAhbRFJoX6Ch8NGkphMyzLELIPO5n9SqAnMXhBwIEFiIggCxkIU2jWQHhY5ilEUKGcdz2LELItmL77H/IsQLIISieIkCgewEBpPslNIGGBb4tY/O2qyAM1CqEfHTO5bNrQZiwVQi5Iv19aEqbWEAAmRhcd6sVMPFpBX572u70RmA1AnXl48tWM9vpJvqb6erBqbektOkE7piuLku5RW8QpmwCyJTa+iJAYCqB+i+KU/Wln+YFDHAggQofrnwMhHnIaX4jzz0kJYQEYcJWV0Jelf6EkCBM1QSQqaT1Q4DAlAICyJTa+lqDgPAxzSovL4RM47ZvL0LIvoJbHi+AbAlmdwIEuhB4e0b5RymNAIH9BYSP/Q23OYMQso3WcPsKIcNZnngmAeREokF2cBICBKYXcBVkenM9Lk9A+JhnTYWQedyFkIncBZCJoHVDgMDkAqcDyOT96pDAUgSEj3lXUgiZx18ImcBdAJkAWRcECMwi4E5Ys7DrdCECw4SPhWDMOA0hZB58IWRkdwFkZGCnJ0BgNgFXQGaj13HnAsJHWwsohMyzHt2HkHnYNutVANnMyV4ECPQnIID0t2ZGPL+A8DH/Ghw2AiHkMJXxnxNCRjIWQEaCddpWBIxjxQLegrXixTf1nQSEj53YJjtICJmM+qyOhJCzOIasYr1lAAAQAElEQVT5QQAZxtFZCBBoT+DPM6Q/SWlzCei3J4FvzWB9yWAQGm8HIeTqxse5tOFVCLk8k/rQlDaAgAAyAKJTECDQrMDrmx2ZgRFoR6CufHx5O8MxkhMEKoQ8OPsc+43peV0bVuDOOd1lqfumtD0FBJA9AR1OgEDTAr/e9OgMjsD8AhU+XPmYfx22HUGFkIfkICEkCBO2uhLyqvQnhARhn7bwALIPjWMJEFiAgACygEU0hdEEhI/RaCc5sRAyCfN5nQgh55Fs/4QAsr2ZIwgQ2ESgjX1+rY1hGAWB5gSEj+aWZKcBCSE7se19kBCyJ6EAsiegwwkQaFrAFZCml8fgxhI44bzCxwlAnb0shMyzYELIHu4CyB54DiVAoHmBP84I/yqlESBwk4DwcZPD0n4VQuZZ0cNCyDwj6axXAaSzBTNcAgS2FvilrY9wAIFlCggfy1zXg1kJIQcS026FkB28BZAd0ByygYBdCLQj4G1Y7ayFkcwnIHzMZz9lz0LIlNq39CWE3GKx0SMBZCMmOxEg0LHA6j6I3vFaGfo4AsLHOK6tnlUImWdlhJAt3AWQLbDsSoBAlwKugHS5bAY9kIDwMRDkhqdpZTchZJ6VEEI2dBdANoSyGwEC3Qr8SrcjN3AC+wl8ew73JYNBWGmrEPLRmfvVKW06gQohl6e7D01pRwiME0CO6MzTBAgQmEGg7oT1ZzP0q0sCcwrUlY8vmXMA+m5CoK4APzgjeUtKm07gzunqstR9U9ohAgLIISieItCzgLEfKnDVoc96ksAyBSp8uPKxzLXdZVZ1JeQhOVAICcKEra6EvCr9CSFBOLcJIOeK+JkAgSUK/PISJ2VOzQm0MCDho4VVaG8MByHE1eBp10YIOcJbADkCxtMECCxKwHeBLGo5TeYIAeHjCBhP3yhQIaQ+E7LQEHLjHFv8RQg5ZFUEkENQPEWAwOIEXAFZ3JKa0DkC35Ofve0qCNqxAnVTDiHkWKJRXhRCzmEVQM4B6f1H4ydA4FCB1+fZv01pBJYoUOHjCUucmDmNIiCEjMJ64kmFkDOIBJAzMDwkQGCxAtdnZq9Ljdmcm8AcAsLHHOr99ymEzLOGQshpdwHkNIQNAQKLF/A2rMUv8eomKHzcvOQe7CAghOyANsAhQkgQBZAgaAQIrELAB9FXscyrmaTwsZqlHnWiQsiovEeefFkh5MhpHv2CAHK0jVcIEFiWgACyrPVc82yEjzWv/vBzF0KGN93kjKsOIQLIJr9F7EPgZAF7tC/gLVjtr5ERnizwnOziA+dB0AYVOAghfzroWZ3sJIEKIZdnpw9JraoJIKtabpMlsGqBv8zs6z742WjLEljNbOrKxxNXM1sTnVqgQsgF6dT3hARhwnbn9FUh5L7ZrqYJIKtZahMlQCACr05pBHoUqPDhykePK9fXmCuEbPc9IX3Nr9XR1pWQV2VwqwkhAkhWWyNAYDUCAshqlnpRExU+FrWczU9GCJlniVYVQgSQYX6TOQsBAn0I/HwfwzRKAjcLCB83U3gwoYAQMiH2GV2tJoQIIGesuocECPQosNWY64Pob9/qCDsTmE9A+JjPXs+nTgkh8/wuWEUIEUDm+c2lVwIE5hG4Pt2+NqURaF2gj/DRuqLx7SsghOwruNvxiw8hAshuvzEcRYBAvwLehtXv2q1l5MLHWla6j3kKIfOs04khZJ5hDdOrADKMo7MQINCPgA+i97NWaxyp8LHGVW9/zkLIPGu02BAigMzzG0qvgwk4EYGtBQSQrckcMJGA8DERtG52EhBCdmLb+6BFhhABZO/fF05AgEBnAr+f8f5JSttXwPFDCggfQ2o611gCQshYssefd3EhRAA5fsG9SoDAMgX+9zKnZVadCggfnS7cnMOesW8hZB78RYUQAWSe30R6JUBgXoEr5+1e7wRuFviPefSElEagJ4EKIR+TAV+T0qYTqBByebq7X6rr1nkA6dre4AkQmE/givm61jOBmwXqyscX3vyTBwT6EqjvVXpohvxnKW06gTunq1em7pvqtgkg3S6dgROYWaDv7n8hw/+blEZgLoEKH658zKWv36EE6krIR+dkQkgQJmx1JeRV6a/bECKAZPU0AgRWJ/B3mbG7YQVBm0Vg7/Axy6h1SuBwASHkcJexn+06hAggY//2cH4CBFoVqP961OrYjGu5AsLHctd2zTNbUwhpaZ27DSECSEu/jYyFAIEpBQSQKbX1VQLCRymopQochJC/WOoEG51XlyFEAGn0d1PzwzJAAv0L1J2wru9/GmbQiYDw0clCGeZeAhVC6u5YQshejFsf3F0IEUC2XmMHECCwEIG/zDx+KdVdM+DuBISP7pbMgPcQ+D85VggJwsStqxAigEz8u0N3BAg0JeBtWE0txyIHI3wsa1nNZjMBIWQzp6H36iaECCBDL73zESDQk4DvA+lptfobq/DR35oZ8XACQshwltucqYsQslsA2YbBvgQIEGhX4GfbHZqRdS4gfHS+gIY/iIAQMgjj1idpPoQIIFuvqQMIzCug90EF/jRne0NKIzCkgPAxpKZz9S4ghMyzgk2HEAFknt8UeiVAoB2By9oZipE0LrDJ8L47Oz0hpREgcIvAQQh56y1PeTSBQIWQy9PP/VJNNQGkqeUwGAIEZhB4+Qx96nKZAj+QaX1BSiNA4HyBCiEX5Okdb9GbI7VdBO6cg16Zum+qmSaANLMUBkKAwEwCPzNTv7pdlkCFj89Z1pTMhsDgAhVC3KJ3cNYTT1hXQuquj82EEAHkxDVrawejIUBgcIE/zxl/MaUR2FXgIHzcsOsJHEdgRQJCyDyL3VQIEUDm+U2gVwIE2hK4ZIPh2IXAYQLCx2EqniNwvIAQcrzPWK82E0IEkLGW2HkJEOhJQADpabXaGavwMdla6GiBAkLIPIvaRAgRQOZZfL0SINCWQL039tq2hmQ0jQsIH40vkOF1ISCEzLNM24WQEcYogIyA6pQECHQnUOGjQkh3AzfgWQSEj1nYdbpQASFknoWdNYQIIPMsul77EzDi5Qt4G9by13iIGQofQyg6B4GzBYSQsz2m+mm2ECKATLXE+iFAoHUB3wfS7Ao1MzDho5mlMJAFCggh8yzqLCFEAJlnsfVKgEB7AvWXX92St72RGVELAsJHC6tgDNMLTNtj/Tnse0KmNa/eJg8hAkixKwIECNwk4EsJb3Lw69kCwsfZHn4iMKaAEDKm7tHnnjSECCBHL8SZr3hMgMA6BH56HdM0yy0Enpt9PzvlSwaDoBGYSKBCyD9PX29NadMJVAi5PN3dLzVqE0BG5XVyAgT2F5j0DD81aW86a12grnz829YHaXwEFipwVeZ1QeovUtp0AndOV69M3Tc1WhNARqN1YgIEOhR4S8b8CymNQIWPzwnDuq98BEAjMKNAXQnxmZDpF6CuhNSt6UcLIQLI9IuqRwIE2hZwFaTt9ZlidMLHFMr6ILCZwGpDyGY8o+01aggRQEZbNycmQKBTgZd2Om7DHkZA+BjG0VkIDCkghAypufm5RgshAsjmi2DPWQR0SmBygdemx3orVjbaygSEj5UtuOl2JXAQQv6qq1H3P9hRQogA0v9vDDMgQGB4gZ8c/pQdnnFdQxY+1rXeZtunQIWQujuWEDLt+g0eQgSQaRdQbwQI9CHgcyB9rNNQoxQ+hpJ0nsEEnOhIgVfnFSEkCBO3QUOIADLx6umOAIEuBC7JKK9NacsXED6Wv8ZmuDwBIWSeNR0shDQeQObR1SsBAqsXeFsE6j7o2WgLFhA+Fry4prZ4ASFkniUeJIQIIPMsnl4JtC9ghO6GtezfA8LHstfX7NYhIITMs857hxABZJ6F0ysBAu0L/Pf2h2iEOwo0Hz52nJfDCKxRQAiZZ9X3CiECyDyLplcCBNoXeFOG+GspbVkC/znT+ezUDSmNAIFlCFQI+ReZSr19Npu9moM3F6gQckV2v39qqyaAbMVlZwIEVibw4yub79KnW1c+Ll76JM2PwEoFfj7z/tiUW/QGYcJ2x/T1s6n7pjZuAsjGVCvb0XQJECiBF9cvahECrnwsYhlNgsCxAnUlpG7R+5fH7uXFoQXqSsirctIPSW3UBJCNmOxEgMBKBX45835jatKms8EFXPkYnNQJCTQrUCGk3o7lSsi0S1QhpO4e+YGbdCuAbKJkHwIE1izwojVPfgFzr/DxOZmHz3wEQTtRwA7LEKgQUldChJBp1/Pd092lqbumjm0CyLE8XiRAgMCpH2PQrYC3XXW7dAZOYG+BgxDig+l7U251grtn75eljm2HB5BjD/EiAQIEViXwmsz2j1JaXwJ15cMHzvtaM6MlMLRAhRAfTB9a9eTzfXh2+ZbUkU0AOZLGCwTmEdBrkwI+jN7kshw5qAof3nZ1JI8XCKxKoEKIt2NNv+Rfmi4fmjq0CSCHsniSAAECZwkIIGdxNP3DD2d0u4aPHKoRILBAASFk+kW9Vbr8wdTtUuc1AeQ8Ek8QIEDgPIHL8syfprS2BSp8PC5D9IHzIGgE+hIYfbRCyOjE53Xwfnnma1PnNQHkPBJPECBA4DyB+getLyU8j6WpJ/5LRvPpqetTGgECBA4TqBDiFr2HyYz33JNz6numzmoCyFkc8/9gBAQINCvwE82OzMDqysdnYyBAgMAGAj+ffXwmJAgTtq86ty8B5FwRPxMgsFaBk+b9v7LDW1NaWwIVPuptV658tLUuRkOgZYG6EiKETLdCj01X75m6uQkgN1N4QIAAgWMFrsur3oYVhIaat101tBj7DcXRBCYXqBDi7VjTsL9TunlS6uYmgNxM4QEBAgROFHjhiXvYYSqBuvLhbVdTaeuHwDIFvB2r1nWa+sx0U3fGyubUKQHkRga/ECBAYCOBV2Sva1LavAIVPrztat410DuBpQjUlRBvxxp/Ne+aLupLIbMRQG5E8AuBU6dOQSCwiUC9DeuHNtnRPqMJeNvVaLROTGC1AhVCvB1r/OX/1IMuXAE5kLAlQIDAZgLehrWZ0xZ7bbxrXfnwtquNuexIgMAWAt6OtQXWjrtWyLvxUAHkRga/ECBAYGOBK7Pn76e0aQUqfHjb1bTmeluDgDmeKVBXQurtWH995pMeDyZQX0x4tzqbAFIKigABAtsJeBvWdl777i187CvoeAIENhWoEHJhdhZCgjBCe3CdUwAphVOn/EqAAIFtBOofxNvsb9/dBcralY/d/RxJgMD2AlfkECEkCCO0f1TnFEBKQREgMKNAl13/Wkb9KyltXAHhY1xfZydA4GgBIeRom31euWcdLICUgiJAgMD2Aj6Mvr3ZNkcIH9to7bqv4wgQOE5ACDlOZ7fX7lWHCSCloAgQILC9gM+BbG+26RHCx6ZS9iNAYGyB0ULI2ANv9PzvW+MSQEpBESBAYHuBuhPWz21/mCNOEBA+TgDyMgECkwsIIcORv2tO9f8JIFHQ5hTQN4GuBeofy11PoLHB/2DG8+mp61MaAQIEWhI4CCFva2lQox0vCQAAB2BJREFUnY7lTgJIpytn2AQINCHQ9+dAmiC8eRAVPupuVzc/4QEBAgQaE6gQ8nEZ09tT2u4C7yKA7I7nSAIECFwTAiEkCHu2upL0+D3P4XACXQkYbLcCFUIeltH7npAg7Nj+WgDZUc5hBAgQOC3wn09vbXYTqPBRVz687Wo3P0cRIDC9QIUQ3xOyu/tfzRxAdh+5IwkQINCIwCsyjt9NadsL1J3EfOZjezdHECAwv0CFEG/H2m0d/lYA2Q3OUQT6FzCDIQVcBdles658/JvtD3MEAQIEmhF4VUbi7VhB2KLd+CW+AsgWYnYlQIDAEQLPy/PeQhSEDVuFj1W/7WpDJ7sRINC+QF0J8XaszdfpN2pXAaQUFAECBPYT+MMc/rKUdrJAhQ9vuzrZyR4ECIwjMMZZK4RclBO7O1YQTmi/Vq8LIKWgCBAgsL+At2GdbFjho658nLynPQgQINCXwOUZrrdjBeGEduMX+AogJygt9mUTI0BgaIGX5IRvSWmHCxyED29VO9zHswQI9C9QV0K8Hevodaw//+tzM6cEkKORvEKAAIFtBOoP1h/Y5IAV7uNuVytcdFMmsFKBCiF1dyzfE3L+b4DX5qm/SQkghaAIECAwkMD3DXSeJZ2mrny429WSVrTvuRg9gSkE6r/yuxJyvvRPHDzlCsiBhC0BAgT2F6jvA6m/ePY/0zLOUOGjPvNRV4eWMSOzIECAwGYCdSVECLnF6oZTp0794MGPAsiBhC0BAgSGEXjuMKfp/izedtX9EpoAAQJ7ClQI8XasmxBfmc2bUjc2AeRGBr8QmE5AT4sX+JHMsG7Lm81q24syc2+7CoJGgMDqBeqquCshp05915m/EwSQMzU8JkCAwP4Cf5dTfFtqra3Cx2My+RbfdpVhaQQIEJhcoK6ErDmEvDHiN3/+I499CL0QFAECBAYW+N6c789Ta2svzIQ/JXVdSiNAgMAZAqt/WCFkrW/H+qas/g2pm5srIDdTeECAAIHBBOr2i9862Nn6ONGPZpifltIIECBA4HCBejvWx+elNX1j+q9kvt+fOqsJIGdxjP+DHggQWI1ABZDfXMls621Xj13JXE2TAAEC+whcloMflrrx+zCyXXr7zMMmKIAcpuI5AgSWKDD1nK5Nh5+TWnqrKx/edrX0VTY/AgSGFKi3Yz18yBM2eq7vzrjqywezObsJIGd7+IkAAQJDCtRfMj8w5AkbO5crH40tSLvDMTICBM4RuDQ/f2xqqVdC3pC5fWnq0CaAHMriSQIECAwm8MSc6bdTS2sVPupuVz5wvrSVNR8CBKYSqBBSV0LGDSFTzeaWfv42Dx+VOnJeAkh0NAIECIwo8Fc5d/0F87Zsl9Lqu0687Wopq2keBAjMKXAQQuYcw9B9/7uc8NdSRzYB5EgaLyxMwHQIzClQH0b/13MOYMC+68rHpw94PqciQIDA2gUqhCzl7Vjfk8V8burYJoAcy+NFAgQIDCbwUznTF6V6bjte+eh5ysZOgACBSQQqhNTV8kk6G6mTn815n5A6sQkgJxLZgQABAoMJfGfOVFcPrs+2t/bDGbBb7QZBI9CVgMH2JFAh5J9mwH+R6q3V7YU/YdNBCyCbStmPAAECwwjUP+Q/Mad6R6qX9qwMtNfglKFrBAgQ6Ebgyoz0gak3pXppP5aB/ovUX6Y2amsJIBth2IkAAQITCfxk+vknqd9Ktd4+NwN8ckojQIAAgWkE6nODH5mu6lbu2TTdvjaje3Rqq/+oJoBETCNAYEwB5z5CoL6c6UPz2nekbki11n43A7pf6j+lNAIECBCYVuCP0t1Hp56RavHviD/OuB6c+sbU1k0A2ZrMAQQIEBhMoO6R/qScrf6SqX/w52ET7VsyivunfiWl9Sxg7AQI9CxQ37P01ZnAx6R+J9VK+6EM5ENSO1+hEUCipxEgQGBmgcvT/z1S9V+6spmt/UB6ft/UV6Q2fi9v9tUIECBA4ByBAX98Zc71gamvS83Z/m86vyD1GamrUzs3AWRnOgcSIEBgcIH6L133yVnrA33ZTNb+a3qqAPTZ2f5BSiNAgACB9gS+PkN679Q3pN6SmqrVfyT7tHR2r1SFoWz2awLIfn6OPlHADgQIbCnw+uxfH+irv2Sekse/lxqjVT/1l9g9c/J/k2rpLWAZjkaAAAEChwi8Oc89NfWeqU9N7fw2qBx7XPurvPgfU/VZxYdm+8LUYE0AGYzSiQgQIDCoQP0l88yc8f1T9WHw+hLDH83jej6bDdrZu9QHGuvKyhPz9Aen6kpL/SX2hjzWCBAgQKA/gR/JkOuD4PfN9tmpX0jt0/40B//3VN398L2y/cLUr6YGbwLI4KROSIAAgcEF6sPg9SWGj8mZ68pI/cVQf+l8Tn6uO5B8X7YvSr0iVX95fH+29XmSz8v2Iana/32yrSsrz8m2bvGYjUaAwFgCzktgQoFfT19fmapb994u27pi8a+zrQDxtGy/K1Vh5ZJsX5p6Xqr+A1cd81l5/MhU/Yeuu2T7qFTd/fBt2Y7W/n8AAAD//x+6eUcAAAAGSURBVAMAk8Q8O03Ji2MAAAAASUVORK5CYII=");
  --warn: #b45309;
  --shadow: 0 14px 38px rgba(13, 43, 82, .14);
}
* { box-sizing: border-box; }
html, body {
  margin: 0; height: 100%;
  font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
  background: var(--bg); color: var(--ink);
}
body { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
button, input, select { font: inherit; }
button { cursor: pointer; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.svg-symbols { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }

#topbar {
  display: grid;
  grid-template-columns: max-content max-content minmax(220px, 400px) minmax(280px, 1fr) max-content minmax(260px, 340px);
  align-items: center; gap: 10px;
  padding: max(10px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) 10px max(14px, env(safe-area-inset-left));
  background: rgba(255, 252, 249, .97);
  border-bottom: 1px solid var(--line);
  position: relative; z-index: 1200;
  box-shadow: 0 6px 18px rgba(13, 43, 82, .08);
  flex: 0 0 auto;
}
#brand { display: flex; align-items: center; gap: 7px; white-space: nowrap; min-width: 210px; }
#brand-mark {
  display: inline-flex; align-items: center; justify-content: center;
  width: 58px; height: 53px; flex: 0 0 58px;
}
#brand-mark svg {
  display: block; width: 58px; height: 53px; overflow: visible;
}
#brand-title {
  display: inline-flex; align-items: baseline; font-family: "Trebuchet MS", "Aptos", "Segoe UI", sans-serif;
  font-weight: 900; font-size: 26px; line-height: 1; letter-spacing: 0;
}
.brand-cap { color: var(--accent); }
.brand-atlas { color: var(--accent-2); }

#geo-tabs {
  display: flex; gap: 4px; background: #eaf0f5; border: 1px solid var(--line);
  border-radius: 999px; padding: 3px; white-space: nowrap;
}
.tab {
  border: 0; background: transparent; color: var(--muted); padding: 7px 12px;
  border-radius: 999px; cursor: pointer; font-size: 13px; font-weight: 800;
}
.tab.active { background: var(--accent); color: #fff; box-shadow: 0 3px 10px rgba(13, 43, 82, .2); }
.tab:hover:not(.active) { color: var(--ink); background: rgba(255, 255, 255, .8); }

#metric-wrap { display: flex; align-items: center; gap: 8px; min-width: 0; }
#simple-metrics { display: none; min-width: 0; gap: 5px; }
.simple-metric-button {
  min-width: 0; min-height: 36px; border: 1px solid rgba(13, 43, 82, .22);
  border-radius: 8px; background: #fff; color: var(--accent); padding: 7px 8px;
  overflow: hidden; white-space: normal; line-height: 1.08;
  font-size: 10.5px; font-weight: 900; cursor: pointer;
}
.simple-metric-button:hover, .simple-metric-button:focus-visible {
  border-color: var(--accent); background: var(--accent-soft); outline: none;
}
.simple-metric-button.active { border-color: var(--accent); background: var(--accent); color: #fff; }
.simple-metric-button:disabled { cursor: default; opacity: .42; }
body[data-experience="simple"] #metric-wrap,
body[data-experience="simple"] #metric-favs { display: none; }
body[data-experience="simple"] #simple-metrics {
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-column: 3 / 5;
}
body[data-experience="simple"] #top-tools { grid-column: 5; }
body[data-experience="simple"] #search-wrap { grid-column: 6; }
#metric-pin {
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; min-width: 42px; height: 36px; border-radius: 999px;
  background: #fff; color: var(--accent); border: 1px solid var(--line-strong);
  padding: 0;
}
#metric-pin.active { color: #fff; background: var(--accent-2); border-color: var(--accent-2); }
#metric-pin:not(.active) .metric-pin-mark { color: var(--accent-2); }
#metric-pin.active .metric-pin-mark { color: #fff; }
#metric-pin .metric-pin-mark { width: 18px; height: 18px; }
.metric-picker { position: relative; flex: 1 1 auto; min-width: 0; }
#metric-button {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  background: #fff; color: var(--ink); border: 1px solid var(--line-strong);
  border-radius: 12px; padding: 8px 11px; font-size: 13px; font-weight: 750;
}
#metric-button-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.metric-caret { color: var(--accent); font-size: 16px; line-height: 1; font-weight: 900; }
#metric-menu {
  position: absolute; left: 0; top: calc(100% + 8px); width: min(440px, 92vw);
  max-height: min(520px, calc(100vh - 100px)); z-index: 1400; overflow: hidden;
  display: flex; flex-direction: column;
  background: #ffffff; color: var(--ink); border: 1px solid var(--line);
  border-radius: 14px; box-shadow: var(--shadow);
}
#metric-menu.hidden { display: none; }
.metric-search-box {
  position: relative; padding: 10px 12px; background: var(--accent-faint);
  border-bottom: 1px solid var(--line);
}
#metric-search {
  width: 100%; height: 40px; border-radius: 10px; border: 1px solid var(--line-strong);
  padding: 8px 38px 8px 12px; font-size: 15px; background: #fff; color: var(--ink);
  outline: none;
}
#metric-search:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.metric-search-icon {
  position: absolute; right: 25px; top: 20px; color: var(--accent); font-size: 18px;
  pointer-events: none; line-height: 1; font-weight: 900;
}
.metric-presets { flex: 0 0 auto; padding: 9px 12px 10px; border-bottom: 1px solid var(--line); background: #fff; }
.metric-presets-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 7px; }
.metric-presets-head strong { color: var(--ink); font-size: 11px; }
.metric-presets-head span { color: var(--muted); font-size: 9.5px; }
.metric-preset-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
.metric-preset-grid button {
  min-width: 0; border: 1px solid rgba(13, 43, 82, .18); border-radius: 999px;
  background: var(--accent-soft); color: var(--accent); padding: 6px 5px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font-size: 10px; font-weight: 900; cursor: pointer;
}
.metric-preset-grid button:hover, .metric-preset-grid button:focus-visible, .metric-preset-grid button.active {
  border-color: var(--accent); background: var(--accent); color: #fff; outline: none;
}
.metric-preset-grid button:disabled { cursor: default; opacity: .4; }
#metric-list { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 8px 0; }
.metric-group-label {
  padding: 10px 18px 5px; color: var(--accent); font-size: 11px; font-weight: 900;
  letter-spacing: .08em; text-transform: uppercase;
}
.metric-option {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  min-height: 42px; padding: 9px 18px; cursor: pointer; color: var(--ink); font-size: 14px;
}
.metric-option:hover, .metric-option.active { background: var(--accent-soft); }
.metric-option-main {
  display: grid; gap: 2px; min-width: 0; flex: 1 1 auto;
}
.metric-option-name {
  display: inline-flex; align-items: center; gap: 6px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.metric-option.featured .metric-option-name { color: var(--accent); font-weight: 950; }
.metric-pin-mark {
  flex: 0 0 auto; display: inline-block;
  width: 16px; height: 16px; color: var(--accent-2);
  background: currentColor;
  -webkit-mask-image: var(--pin-mask);
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-image: var(--pin-mask);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}
.metric-option.featured .metric-pin-mark { color: var(--accent-2); }
.metric-option .metric-src {
  color: var(--muted); font-size: 11px; max-width: 100%; overflow: hidden;
  text-overflow: ellipsis; white-space: nowrap;
}
.metric-empty { padding: 18px 20px; color: var(--muted); font-size: 14px; }
.metric-info-btn {
  width: 18px; height: 18px; flex: 0 0 18px; border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .12); background: #e5e7eb; color: #4b5563;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 900; line-height: 1; cursor: help;
}
.metric-info-btn:hover, .metric-info-btn:focus-visible {
  background: var(--accent); border-color: var(--accent); color: #fff; outline: none;
}
#metric-info-popover {
  position: fixed; z-index: 3000; width: min(320px, calc(100vw - 20px));
  background: rgba(15, 23, 42, .94); color: #fff; border-radius: 12px;
  padding: 12px; box-shadow: 0 16px 40px rgba(15, 23, 42, .28);
  border: 1px solid rgba(255, 255, 255, .12);
}
.metric-info-head {
  display: flex; align-items: start; justify-content: space-between; gap: 10px; margin-bottom: 7px;
}
.metric-info-title { font-size: 15px; line-height: 1.2; font-weight: 900; }
.metric-info-close {
  border: 0; background: rgba(255, 255, 255, .12); color: #fff; border-radius: 999px;
  width: 22px; height: 22px; font-weight: 900; cursor: pointer; line-height: 1;
}
.metric-info-body { font-size: 13px; line-height: 1.45; color: rgba(255, 255, 255, .92); }
.metric-info-source {
  margin-top: 9px; padding-top: 8px; border-top: 1px solid rgba(255, 255, 255, .14);
  color: #7dd3fc; font-size: 12px; line-height: 1.35;
}
#metric-favs {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  align-content: start; align-items: center; gap: 4px; min-width: 0;
  max-height: 56px; overflow-x: hidden; overflow-y: auto; padding: 1px 4px 1px 0;
  scrollbar-gutter: stable; scrollbar-width: thin;
  scrollbar-color: rgba(13, 43, 82, .42) transparent;
}
#metric-favs::-webkit-scrollbar { width: 4px; }
#metric-favs::-webkit-scrollbar-track { background: transparent; }
#metric-favs::-webkit-scrollbar-thumb { background: rgba(13, 43, 82, .42); border-radius: 999px; }
.metric-fav {
  display: inline-flex; align-items: center; gap: 3px; justify-content: flex-start;
  border: 1px solid rgba(13, 43, 82, .18); background: var(--accent-soft);
  color: var(--accent); border-radius: 999px; padding: 4px 6px; font-size: 10px; font-weight: 950;
  cursor: pointer; min-width: 0; overflow: hidden; white-space: nowrap;
}
.metric-fav .metric-pin-mark { width: 11px; height: 11px; }
.metric-fav.active { background: var(--accent); color: #fff; }
.metric-fav.active .metric-pin-mark { color: #fff; }
.metric-fav-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.metric-fav-empty { color: var(--muted); font-size: 12px; }

.tool-button {
  border: 1px solid var(--line-strong); background: #fff; color: var(--ink);
  border-radius: 999px; padding: 8px 12px; font-size: 13px; font-weight: 800;
}
#top-tools { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.profile-button { display: inline-flex; align-items: center; gap: 6px; padding-inline: 10px; }
.profile-button svg {
  width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.9;
  stroke-linecap: round; stroke-linejoin: round;
}
.profile-button.signed-in { border-color: rgba(13, 43, 82, .32); background: var(--accent-soft); color: var(--accent); }
.feedback-icon-button {
  display: inline-grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; padding: 0;
  border-color: var(--accent-2); background: var(--accent-2); color: #fff;
}
.feedback-icon-button svg, .mobile-feedback-button svg {
  width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.9;
  stroke-linecap: round; stroke-linejoin: round;
}
#feedback-open:hover, #feedback-open:focus-visible {
  border-color: var(--accent-2-strong); background: var(--accent-2-strong); color: #fff; outline: none;
}
.mobile-menu-button, .mobile-tools-head, .mobile-tools-shortcuts, .mobile-tools-links, .mobile-tools-backdrop { display: none; }
.tool-button:hover, #detail-actions button:hover, #detail-actions a:hover, .tool-actions button:hover { border-color: var(--accent); color: var(--accent); }

/* Navy carries selection and trust; apricot is reserved for decisive actions. */
.buyer-metric-add button,
.buyer-metric-empty-state button,
.empty-state-actions button:first-child,
.property-empty-actions button:first-child,
.buyer-hub-actions button:first-child,
.detail-next-step-actions button.primary,
.property-lookup-row > button {
  border-color: var(--accent-2-strong);
  background: var(--accent-2-strong);
  color: #fff;
}
.buyer-metric-add button:hover,
.buyer-metric-empty-state button:hover,
.empty-state-actions button:first-child:hover,
.property-empty-actions button:first-child:hover,
.buyer-hub-actions button:first-child:hover,
.detail-next-step-actions button.primary:hover,
.property-lookup-row > button:hover {
  border-color: var(--accent-2-hover);
  background: var(--accent-2-hover);
  color: #fff;
}

#search-wrap { position: relative; min-width: 0; }
#search {
  width: 100%; background: #fff; color: var(--ink); border: 1px solid var(--line-strong);
  border-radius: 999px; padding: 8px 13px; font-size: 13px;
}
#search:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
#search-results {
  position: absolute; top: 42px; right: 0; width: 320px; max-height: 320px; overflow-y: auto;
  background: #fff; border: 1px solid var(--line); border-radius: 12px; display: none; box-shadow: var(--shadow);
}
.search-result { display: flex; align-items: stretch; border-bottom: 1px solid var(--line); font-size: 13px; }
.search-result:last-child { border-bottom: 0; }
.search-result:hover { background: var(--accent-soft); }
.search-result-main {
  min-width: 0; flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 9px 10px 9px 12px; border: 0; background: transparent; color: var(--ink); text-align: left; cursor: pointer;
}
.search-result-copy { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.search-result-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.search-result-meta { color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
#search-results .sr-val { flex: 0 0 auto; color: var(--muted); }
.search-zillow-link {
  align-self: center; margin-right: 8px; padding: 5px 7px; border: 1px solid #1277e1; border-radius: 999px;
  color: #075aa8; background: #fff; font-size: 11px; font-weight: 800; line-height: 1; text-decoration: none;
}
.search-zillow-link:hover, .search-zillow-link:focus-visible { color: #fff; background: #1277e1; outline: none; }
.search-save-button {
  align-self: center; display: grid; place-items: center; width: 27px; height: 27px; flex: 0 0 27px;
  margin-right: 7px; border: 1px solid var(--line-strong); border-radius: 999px;
  background: #fff; color: var(--accent); font-size: 18px; font-weight: 900; line-height: 1; cursor: pointer;
}
.search-save-button:hover, .search-save-button:focus-visible {
  border-color: var(--accent); background: var(--accent-soft); outline: 0;
}
.search-save-button.saved { border-color: var(--accent); background: var(--accent); color: #fff; }

#main { position: relative; flex: 1 1 auto; min-height: 0; height: auto; }
#map { height: 100%; background: #eaf0f5; }
.leaflet-container { font: inherit; }
.capatlas-osm-tiles {
  filter: grayscale(.72) saturate(.58) brightness(1.08) contrast(.9);
}
.leaflet-tooltip-pane { z-index: 900 !important; }
.leaflet-top.leaflet-left { left: 304px; }
.capatlas-home-control { overflow: hidden; }
.capatlas-home-button {
  display: grid; place-items: center; width: 30px; height: 30px; padding: 0;
  border: 0; background: #fff; color: var(--accent);
}
.capatlas-home-button:hover, .capatlas-home-button:focus-visible {
  background: var(--accent); color: #fff; outline: none;
}
.capatlas-home-button svg {
  width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.2;
  stroke-linecap: round; stroke-linejoin: round;
}

.panel {
  position: absolute; background: rgba(255, 252, 249, .97); border: 1px solid var(--line);
  border-radius: 12px; padding: 14px; z-index: 1000;
  box-shadow: var(--shadow);
}

.buyer-hub {
  position: absolute; inset: 0; z-index: 1150; overflow-y: auto;
  background: var(--bg); padding: 24px clamp(16px, 4vw, 56px) 36px;
}
.buyer-hub.hidden, .property-buyer.hidden { display: none; }
.buyer-hub-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 20px;
  max-width: 1180px; margin: 0 auto 18px;
}
.buyer-hub-kicker {
  color: var(--accent); font-size: 11px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase;
}
.buyer-hub-head h1 { margin: 3px 0 4px; font-size: 26px; line-height: 1.15; }
.buyer-hub-head p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.45; }
.buyer-hub-count {
  flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px;
  border: 1px solid rgba(13, 43, 82, .18); border-radius: 999px;
  background: var(--accent-soft); color: var(--accent); padding: 5px 7px 5px 10px; font-size: 12px; font-weight: 900;
}
.buyer-hub-count button {
  border: 1px solid rgba(13, 43, 82, .2); border-radius: 999px; background: #fff;
  color: var(--accent); padding: 3px 7px; font-size: 9px; font-weight: 900; cursor: pointer;
}
.buyer-hub-count button:hover, .buyer-hub-count button:focus-visible { border-color: var(--accent); outline: none; }
.buyer-metric-panel {
  max-width: 1180px; margin: 0 auto 16px; padding: 14px 0;
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
}
.buyer-metric-toolbar {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 18px;
}
.buyer-metric-toolbar h2 { margin: 0; font-size: 16px; line-height: 1.2; }
.buyer-metric-toolbar p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.buyer-metric-add {
  display: grid; grid-template-columns: minmax(180px, 260px) auto; gap: 6px; align-items: end;
}
.buyer-metric-add label {
  grid-column: 1 / -1; color: var(--muted); font-size: 10px; font-weight: 850;
  letter-spacing: .06em; text-transform: uppercase;
}
.buyer-metric-add select {
  width: 100%; min-height: 36px; border: 1px solid var(--line-strong); border-radius: 8px;
  background: #fff; color: var(--ink); padding: 6px 30px 6px 9px; font-size: 12px;
}
.buyer-metric-add button {
  min-height: 36px; border: 1px solid var(--accent); border-radius: 8px;
  background: var(--accent); color: #fff; padding: 6px 12px; font-size: 12px; font-weight: 850;
}
.buyer-metric-add button:disabled { cursor: default; opacity: .45; }
.buyer-metric-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 11px; }
.buyer-metric-chip {
  display: inline-flex; align-items: center; gap: 6px; min-height: 30px;
  border: 1px solid rgba(13, 43, 82, .19); border-radius: 999px; padding: 5px 7px 5px 10px;
  background: var(--accent-soft); color: var(--accent); font-size: 11px; font-weight: 850;
}
.buyer-metric-chip:hover, .buyer-metric-chip:focus-visible { border-color: var(--accent); outline: none; }
.buyer-metric-chip-remove {
  display: grid; place-items: center; width: 17px; height: 17px; border-radius: 999px;
  background: rgba(13, 43, 82, .11); color: var(--accent); font-size: 10px; line-height: 1;
}
.buyer-metric-empty { color: var(--muted); font-size: 12px; }
.buyer-metric-comparison {
  margin-top: 10px; overflow-x: auto; border: 1px solid var(--line); border-radius: 8px; background: #fff;
  -webkit-overflow-scrolling: touch;
}
.buyer-metric-empty-state {
  display: grid; justify-items: center; gap: 5px; padding: 16px;
  color: var(--muted); font-size: 12px; text-align: center;
}
.buyer-metric-empty-state strong { color: var(--ink); font-size: 13px; }
.buyer-metric-empty-state button {
  margin-top: 4px; border: 1px solid var(--accent); border-radius: 999px;
  background: var(--accent); color: #fff; padding: 6px 10px; font-size: 10px; font-weight: 900;
}
.buyer-metric-table { width: 100%; min-width: 620px; border-collapse: separate; border-spacing: 0; font-size: 12px; }
.buyer-metric-table th, .buyer-metric-table td {
  min-width: 150px; padding: 9px 11px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line);
  text-align: right; white-space: nowrap;
}
.buyer-metric-table tr:last-child th, .buyer-metric-table tr:last-child td { border-bottom: 0; }
.buyer-metric-table th:last-child, .buyer-metric-table td:last-child { border-right: 0; }
.buyer-metric-table thead th { color: #fff; background: var(--accent); font-weight: 900; }
.buyer-metric-table th:first-child {
  position: sticky; left: 0; z-index: 2; width: 1%; min-width: 0; text-align: left; background: var(--accent);
}
.buyer-metric-table tbody th { color: #fff; background: var(--accent); font-weight: 800; }
.buyer-metric-table td { color: var(--accent-2); font-weight: 950; }
.buyer-metric-table thead th span, .buyer-metric-table thead th small { display: block; }
.buyer-metric-table thead th small { margin-top: 2px; color: var(--muted); font-size: 9px; font-weight: 750; }
.buyer-metric-fallback {
  display: inline-block; margin-left: 5px; border: 1px solid rgba(249, 115, 22, .34);
  border-radius: 999px; color: #9a3412; padding: 1px 4px; font-size: 8px; vertical-align: 1px;
}
.buyer-hub-list {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  align-items: start; gap: 12px; max-width: 1180px; margin: 0 auto;
}
.buyer-hub-card {
  border: 1px solid var(--line); border-radius: 8px; background: #fff;
  padding: 14px; box-shadow: 0 5px 14px rgba(13, 43, 82, .08);
}
.buyer-hub-card-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px;
}
.buyer-hub-card-badges { display: grid; justify-items: end; gap: 5px; flex: 0 0 auto; }
.buyer-custom-pill {
  border: 1px solid rgba(249, 115, 22, .34); border-radius: 999px; padding: 3px 7px;
  background: rgba(249, 115, 22, .09); color: #9a3412; font-size: 9px; font-weight: 900;
}
.buyer-demo-pill {
  border: 1px solid rgba(13, 43, 82, .2); border-radius: 999px; padding: 3px 7px;
  background: var(--accent-soft); color: var(--accent); font-size: 9px; font-weight: 900;
}
.buyer-hub-place { color: var(--ink); font-size: 16px; line-height: 1.25; font-weight: 900; }
.buyer-hub-level { color: var(--muted); font-size: 10.5px; line-height: 1.35; font-weight: 800; margin-top: 3px; }
.buyer-hub-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
}
.buyer-hub-stat { min-width: 0; padding: 9px 0; }
.buyer-hub-stat:nth-child(odd) { padding-right: 10px; }
.buyer-hub-stat:nth-child(even) { padding-left: 10px; border-left: 1px solid var(--line); }
.buyer-hub-stat:nth-child(n + 3) { border-top: 1px solid var(--line); }
.buyer-hub-stat span { display: block; color: var(--muted); font-size: 10.5px; font-weight: 750; }
.buyer-hub-stat strong { display: block; margin-top: 3px; color: var(--accent-2); font-size: 14px; font-weight: 950; }
.buyer-cost-breakdown {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px 10px;
  padding: 9px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 9.5px;
}
.buyer-cost-breakdown > span { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 5px; }
.buyer-cost-breakdown strong { color: var(--ink); white-space: nowrap; }
.buyer-card-details, .property-cost-details, .buyer-analysis-info { margin-top: 9px; }
.buyer-card-details summary, .property-cost-details summary, .buyer-analysis-info summary {
  display: inline-flex; align-items: center; gap: 5px; cursor: pointer; list-style: none;
  color: var(--accent); font-size: 10px; font-weight: 900;
}
.buyer-card-details summary::-webkit-details-marker,
.property-cost-details summary::-webkit-details-marker,
.buyer-analysis-info summary::-webkit-details-marker { display: none; }
.buyer-card-details summary::after, .property-cost-details summary::after, .buyer-analysis-info summary::after { content: "+"; }
.buyer-card-details[open] summary::after, .property-cost-details[open] summary::after, .buyer-analysis-info[open] summary::after { content: "-"; }
.buyer-card-details .buyer-cost-breakdown, .property-cost-details .buyer-cost-breakdown { margin-top: 5px; }
.buyer-cost-label, .property-summary-label, .buyer-verdict-wrap {
  display: inline-flex !important; align-items: center; justify-content: flex-start; gap: 4px; min-width: 0;
}
.buyer-verdict-wrap { flex: 0 0 auto; }
.buyer-cost-info {
  width: 14px; height: 14px; flex: 0 0 14px; padding: 0;
  font-size: 8px; vertical-align: middle;
}
.buyer-hub-insight { color: var(--muted); font-size: 11px; line-height: 1.45; padding: 10px 0 0; }
.buyer-hub-insight:empty, .property-result-note:empty { display: none; }
.buyer-assumptions-editor { margin-top: 11px; padding-top: 10px; border-top: 1px solid var(--line); }
.buyer-assumptions-editor summary {
  display: flex; align-items: center; gap: 8px; cursor: pointer; list-style: none;
  color: var(--ink); font-size: 11px; font-weight: 900;
}
.buyer-assumptions-editor summary::-webkit-details-marker { display: none; }
.buyer-assumptions-editor summary::before {
  content: "+"; display: grid; place-items: center; width: 18px; height: 18px; flex: 0 0 auto;
  border: 1px solid var(--line-strong); border-radius: 999px; color: var(--accent); line-height: 1;
}
.buyer-assumptions-editor[open] summary::before { content: "-"; }
.buyer-assumption-status { margin-left: auto; color: var(--muted); font-size: 9px; font-weight: 850; }
.buyer-assumption-status.custom { color: #9a3412; }
.buyer-assumptions-form { padding-top: 10px; }
.buyer-assumptions-note { margin-bottom: 9px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.buyer-assumptions-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 8px; }
.buyer-assumption-field { min-width: 0; display: grid; gap: 4px; color: var(--muted); font-size: 9.5px; font-weight: 800; }
.buyer-assumption-input {
  min-width: 0; display: flex; align-items: center; border: 1px solid var(--line-strong);
  border-radius: 7px; background: #fff; overflow: hidden;
}
.buyer-assumption-input:focus-within { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent-soft); }
.buyer-assumption-input input {
  min-width: 0; width: 100%; height: 34px; border: 0; outline: 0; background: transparent;
  color: var(--ink); padding: 6px 7px; font-size: 11px; font-weight: 800;
}
.buyer-assumption-input small { flex: 0 0 auto; padding-right: 7px; color: var(--muted); font-size: 8.5px; white-space: nowrap; }
.buyer-assumptions-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.buyer-assumptions-actions button {
  min-height: 32px; border: 1px solid var(--line-strong); border-radius: 8px;
  background: #fff; color: var(--ink); padding: 6px 9px; font-size: 10px; font-weight: 850;
}
.buyer-assumptions-actions button[type="submit"] { border-color: var(--accent); background: var(--accent); color: #fff; }
.buyer-assumptions-actions button:disabled { cursor: default; opacity: .42; }
.buyer-hub-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 11px; }
.buyer-hub-actions button, .buyer-hub-actions a, .buyer-hub-empty button {
  border: 1px solid var(--line-strong); border-radius: 999px; background: #fff; color: var(--ink);
  padding: 6px 10px; font-size: 11px; font-weight: 850; text-decoration: none;
}
.buyer-hub-actions button:first-child, .buyer-hub-empty button { background: var(--accent-2); border-color: var(--accent-2); color: #fff; }
.buyer-hub-actions button:last-child { margin-left: auto; color: var(--muted); }
.buyer-hub-empty {
  grid-column: 1 / -1; max-width: 520px; border: 1px dashed var(--line-strong); border-radius: 8px;
  background: #fff; padding: 24px; text-align: center; margin: 12vh auto 0;
}
.buyer-hub-empty-title { font-size: 18px; font-weight: 900; }
.buyer-hub-empty p { color: var(--muted); font-size: 13px; line-height: 1.45; margin: 6px 0 14px; }
.buyer-hub-empty-actions, .property-empty-actions {
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px;
}
.buyer-hub-empty-actions button + button, .property-empty-actions button + button {
  background: #fff; border-color: var(--line-strong); color: var(--ink);
}

.property-buyer {
  position: absolute; inset: 0; z-index: 1150; overflow-y: auto;
  background: #fffdfb; padding: 24px clamp(16px, 4vw, 56px) 40px;
}
.property-buyer-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 20px;
  max-width: 1180px; margin: 20px auto 16px;
}
.property-buyer-head h1 { margin: 3px 0 4px; font-size: 26px; line-height: 1.15; }
.property-buyer-head p { max-width: 760px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.45; }
.property-local-note {
  flex: 0 0 auto; border: 1px solid rgba(13, 43, 82, .18); border-radius: 999px;
  background: var(--accent-soft); color: var(--accent); padding: 6px 10px; font-size: 11px; font-weight: 850;
}
.property-lookup-form {
  max-width: 1180px; margin: 0 auto 8px; padding: 9px;
  border: 1px solid #1d3d66; border-radius: 8px; background: var(--accent);
  box-shadow: 0 7px 18px rgba(13, 43, 82, .17);
}
.property-lookup-form > label {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
.property-lookup-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.property-lookup-input-wrap { position: relative; min-width: 0; }
.property-lookup-row input {
  width: 100%; min-width: 0; min-height: 44px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 6px;
  background: #294666; color: #fff; padding: 9px 12px; font: inherit; font-size: 13px;
}
.property-lookup-row input::placeholder { color: rgba(255, 255, 255, .68); }
.property-lookup-row input:focus { border-color: var(--accent-2); outline: 0; box-shadow: 0 0 0 2px rgba(244, 122, 50, .26); }
.property-lookup-row > button, .property-saved-options button, [data-property-explore], [data-property-demo] {
  min-height: 44px; border: 1px solid var(--accent-2); border-radius: 6px; background: var(--accent-2);
  color: #fff; padding: 8px 15px; font: inherit; font-size: 12px; font-weight: 900; cursor: pointer;
}
.property-empty-actions [data-property-demo] { border-color: var(--line-strong); background: #fff; color: var(--ink); }
.property-lookup-row > button:disabled { cursor: wait; opacity: .55; }
.property-address-suggestions {
  position: absolute; z-index: 1800; top: calc(100% + 5px); right: 0; left: 0; overflow: auto;
  max-height: min(320px, 48vh); border: 1px solid var(--line-strong); border-radius: 8px;
  background: #fff; box-shadow: 0 14px 32px rgba(23, 32, 47, .18);
}
.property-address-suggestions[hidden] { display: none; }
.property-address-suggestion {
  display: grid; width: 100%; gap: 3px; border: 0; border-bottom: 1px solid var(--line);
  background: #fff; color: var(--ink); padding: 10px 12px; text-align: left; cursor: pointer;
}
.property-address-suggestion:last-child { border-bottom: 0; }
.property-address-suggestion:hover, .property-address-suggestion:focus-visible {
  background: var(--accent-soft); outline: 0;
}
.property-address-check { background: var(--accent-faint); color: var(--accent); }
.property-address-check span { color: var(--accent); }
.property-address-suggestion span { overflow-wrap: anywhere; font-size: 12px; font-weight: 800; line-height: 1.35; }
.property-address-suggestion small { color: var(--muted); font-size: 9.5px; font-weight: 700; }
.property-address-suggestion-status {
  min-height: 42px; display: flex; align-items: center; padding: 10px 12px;
  color: var(--muted); font-size: 11px; font-weight: 750; line-height: 1.4;
}
.property-address-suggestion-status.loading::before {
  content: ""; width: 13px; height: 13px; flex: 0 0 auto; margin-right: 8px;
  border: 2px solid rgba(13, 43, 82, .16); border-top-color: var(--accent); border-radius: 50%;
  animation: property-suggestion-spin .7s linear infinite;
}
.property-address-suggestion-status.error { color: #9a3412; background: rgba(249, 115, 22, .06); }
.property-address-suggestion-status.empty { min-height: 0; padding-bottom: 7px; }
@keyframes property-suggestion-spin { to { transform: rotate(360deg); } }
.property-lookup-help { margin: 7px 3px 0; color: rgba(255, 255, 255, .72); font-size: 10px; line-height: 1.35; }
.property-lookup-status {
  max-width: 1180px; margin: 10px auto 14px; border-left: 3px solid var(--accent);
  background: var(--accent-faint); color: var(--accent); padding: 9px 11px; font-size: 11px; line-height: 1.4;
}
.property-lookup-status[hidden] { display: none; }
.property-lookup-status.warning { border-color: var(--accent-2); background: rgba(249, 115, 22, .08); color: #9a3412; }
.property-lookup-status.error { border-color: #b91c1c; background: rgba(185, 28, 28, .07); color: #991b1b; }
.property-lookup-status.loading { opacity: .8; }
#property-buyer-content { max-width: 1180px; margin: 0 auto; }
.property-context-card {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 18px;
  margin: 18px 0 14px; padding: 0 0 14px; border-bottom: 1px solid var(--line);
}
.property-context-card h2 { margin: 3px 0 0; color: var(--ink); font-size: 20px; line-height: 1.25; }
.property-context-card p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.property-context-kicker { color: var(--accent); font-size: 10px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.property-context-actions { display: flex; align-items: flex-end; flex-direction: column; gap: 7px; flex: 0 0 auto; }
.property-context-actions span {
  border: 1px solid rgba(13, 43, 82, .18); border-radius: 999px; background: var(--accent-soft);
  color: var(--accent); padding: 5px 9px; font-size: 10px; font-weight: 850;
}
.property-context-actions a { color: var(--accent); font-size: 11px; font-weight: 850; }
.property-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; margin-top: 14px; }
.property-input-panel, .property-results-panel, .property-investment-panel, .property-amortization-panel, .property-neighborhood-panel {
  border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 15px;
  box-shadow: 0 5px 14px rgba(13, 43, 82, .075);
}
.property-buyer-results { display: grid; gap: 14px; margin-bottom: 14px; }
.property-form-head, .property-section-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 12px;
}
.property-form-head h2, .property-section-head h2 { margin: 0; color: var(--ink); font-size: 16px; line-height: 1.2; }
.property-form-head p, .property-section-head p { margin: 3px 0 0; color: var(--muted); font-size: 10.5px; line-height: 1.4; }
#property-reset-inputs {
  flex: 0 0 auto; border: 1px solid var(--accent-2); border-radius: 6px; background: var(--accent-2);
  color: #fff; padding: 7px 12px; font-size: 10px; font-weight: 900;
}
.property-input-groups { display: grid; gap: 13px; }
.property-primary-inputs { grid-template-columns: repeat(2, minmax(170px, 260px)); }
.property-input-group { min-width: 0; }
.property-input-group h3 {
  margin: 0 0 7px; color: var(--accent); font-size: 9.5px; font-weight: 950;
  letter-spacing: .055em; line-height: 1.2; text-transform: uppercase;
}
.property-input-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.property-primary-inputs .property-input-grid { grid-template-columns: 1fr; }
.property-primary-inputs { margin-bottom: 10px; }
.property-advanced-fields { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.property-advanced-fields[hidden] { display: none; }
.property-advanced-toggle {
  min-height: 30px; border: 1px solid var(--line-strong); border-radius: 999px; background: #fff;
  color: var(--accent); padding: 5px 10px; font: inherit; font-size: 10px; font-weight: 900; cursor: pointer;
}
.property-advanced-toggle::after { content: " +"; }
.property-advanced-toggle[aria-expanded="true"]::after { content: " -"; }
.property-advanced-toggle:hover, .property-advanced-toggle:focus-visible {
  border-color: var(--accent); background: var(--accent-soft); outline: 0;
}
.property-input-field { min-width: 0; display: grid; gap: 5px; }
.property-input-label { display: grid; min-width: 0; }
.property-input-label strong { color: var(--ink); font-size: 10.5px; line-height: 1.25; }
.property-input-label small {
  min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  color: var(--muted); font-size: 8.5px; line-height: 1.3; font-weight: 700;
}
.property-input-control {
  min-width: 0; display: flex; align-items: center; border: 1px solid rgba(244, 122, 50, .72);
  border-radius: 7px; background: #fff; overflow: hidden;
}
.property-input-control:focus-within { border-color: var(--accent-2); box-shadow: 0 0 0 2px rgba(244, 122, 50, .16); }
.property-input-control input {
  min-width: 0; width: 100%; height: 36px; border: 0; outline: 0; background: transparent;
  color: var(--ink); padding: 6px 8px; font: inherit; font-size: 11px; font-weight: 800;
}
.property-input-control small { flex: 0 0 auto; padding-right: 8px; color: var(--muted); font-size: 8px; white-space: nowrap; }
.property-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(135px, 1fr)); gap: 12px; }
.property-summary-grid > div { min-width: 0; min-height: 98px; padding: 13px; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: 0 4px 12px rgba(13, 43, 82, .09); }
.property-summary-grid > div > span { display: block; color: var(--muted); font-size: 9.5px; line-height: 1.25; }
.property-summary-grid strong { display: block; margin-top: 8px; color: var(--accent-2); font-size: 21px; line-height: 1.1; }
.property-cost-breakdown { grid-template-columns: repeat(3, minmax(0, 1fr)); padding-top: 11px; }
.property-result-note { margin-top: 10px; color: var(--muted); font-size: 10.5px; line-height: 1.45; }
.investment-title { display: flex; align-items: center; gap: 5px; }
.investment-summary-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  margin-bottom: 12px; border-top: 1px solid var(--line); border-left: 1px solid var(--line);
}
.investment-summary-grid > div { min-width: 0; padding: 9px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.investment-summary-grid span { display: block; color: var(--muted); font-size: 9px; line-height: 1.25; }
.investment-summary-grid strong { display: block; margin-top: 4px; color: var(--ink); font-size: 13px; line-height: 1.2; }
.investment-chart-controls { display: grid; justify-items: end; gap: 7px; }
.investment-stock-toggle {
  display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 4px 9px;
  border: 1px solid var(--line-strong); border-radius: 999px; background: #fff;
  color: var(--ink); font-size: 9px; font-weight: 850; cursor: pointer; white-space: nowrap;
}
.investment-stock-toggle:hover, .investment-stock-toggle:focus-within { border-color: var(--accent); background: var(--accent-soft); }
.investment-stock-toggle input { width: 14px; height: 14px; margin: 0; accent-color: var(--accent); }
.investment-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; color: var(--muted); font-size: 9px; font-weight: 850; }
.investment-legend span::before { content: ""; display: inline-block; width: 14px; height: 3px; margin-right: 5px; vertical-align: 2px; border-radius: 999px; }
.investment-legend .overall::before { height: 4px; background: var(--accent-2); }
.investment-legend .equity::before { background: var(--accent); }
.investment-legend .stocks::before { height: 4px; background: #2563eb; }
#investment-chart { display: block; width: 100%; height: 270px; }
.amortization-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; color: var(--muted); font-size: 9px; font-weight: 850; }
.amortization-legend span::before { content: ""; display: inline-block; width: 14px; height: 3px; margin-right: 5px; vertical-align: 2px; border-radius: 999px; }
.amortization-legend .balance::before { background: var(--accent); }
.amortization-legend .interest::before { background: var(--accent-2); }
#amortization-chart { display: block; width: 100%; height: 270px; }
.amortization-totals { display: flex; flex-wrap: wrap; gap: 8px 20px; padding-top: 8px; color: var(--muted); font-size: 10px; }
.amortization-totals strong { color: var(--ink); }
.amortization-table-wrap { margin-top: 9px; overflow-x: auto; }
.amortization-table { width: 100%; border-collapse: collapse; font-size: 10px; }
.amortization-table th, .amortization-table td { padding: 6px 7px; border-bottom: 1px solid var(--line); text-align: right; }
.amortization-table th:first-child, .amortization-table td:first-child { text-align: left; }
.amortization-table th { color: var(--muted); font-weight: 850; }
.amortization-table td { color: var(--ink); font-weight: 750; }
.property-neighborhood-panel { margin-top: 14px; }
.property-neighborhood-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.property-neighborhood-stat { min-width: 0; padding: 10px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.property-neighborhood-stat span { display: block; color: var(--muted); font-size: 9.5px; line-height: 1.25; }
.property-neighborhood-stat span small, .property-all-metric small { color: #9a3412; font-size: 8px; text-transform: uppercase; }
.property-neighborhood-stat strong { display: block; margin-top: 4px; color: var(--ink); font-size: 14px; }
.property-all-metrics { margin-top: 12px; }
.property-all-metrics summary { cursor: pointer; color: var(--accent); font-size: 11px; font-weight: 900; }
.property-all-metrics h3 { margin: 14px 0 4px; color: var(--accent); font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }
.property-all-metric { display: flex; justify-content: space-between; gap: 16px; padding: 6px 0; border-bottom: 1px solid var(--line); font-size: 10.5px; }
.property-all-metric span { color: var(--muted); }
.property-all-metric strong { color: var(--ink); text-align: right; }
.property-buyer-empty {
  max-width: 620px; margin: 10vh auto 0; border: 1px dashed var(--line-strong); border-radius: 8px;
  background: #fff; padding: 28px; text-align: center;
}
.property-buyer-empty h2 { margin: 0; font-size: 19px; }
.property-buyer-empty p { margin: 7px 0 16px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.property-saved-options { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; }
.property-saved-options button { min-height: 34px; padding: 6px 10px; }
.property-results-empty { border: 1px dashed var(--line-strong); border-radius: 8px; background: #fff; padding: 22px; color: var(--muted); text-align: center; }

#mobile-nav {
  display: grid; grid-template-columns: repeat(4, minmax(110px, 170px)); justify-content: center;
  flex: 0 0 auto; gap: 8px; min-height: 52px; padding: 6px 12px;
  border-top: 1px solid var(--line); background: rgba(255, 255, 255, .98);
  box-shadow: 0 -6px 18px rgba(15, 23, 42, .08); z-index: 2000;
}
.mobile-nav-item {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  min-height: 38px; border: 0; border-radius: 8px; background: transparent;
  color: var(--muted); font: inherit; font-size: 12px; font-weight: 850; cursor: pointer;
}
.mobile-nav-item:hover, .mobile-nav-item:focus-visible { color: var(--accent); background: var(--accent-faint); outline: none; }
.mobile-nav-item.active { background: var(--accent-soft); color: var(--accent); }
.mobile-nav-item svg {
  width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2;
  stroke-linecap: round; stroke-linejoin: round;
}
body:not([data-app-view="investor"]) #geo-tabs,
body:not([data-app-view="investor"]) #metric-wrap,
body:not([data-app-view="investor"]) #simple-metrics,
body:not([data-app-view="investor"]) #metric-favs,
body:not([data-app-view="investor"]) #search-wrap,
body:not([data-app-view="investor"]) #workbench,
body:not([data-app-view="investor"]) #legend,
body:not([data-app-view="investor"]) #detail,
body:not([data-app-view="investor"]) #filter-rank-toggle,
body:not([data-app-view="investor"]) #filter-rank-panel,
body:not([data-app-view="investor"]) #status-bar { display: none; }
body[data-app-view="assistant"] #main { display: none; }
@media (min-width: 861px) {
  body:not([data-app-view="investor"]) #topbar { grid-template-columns: max-content 1fr max-content; }
  body:not([data-app-view="investor"]) #brand { grid-column: 1; grid-row: 1; }
  body:not([data-app-view="investor"]) #top-tools { grid-column: 3; grid-row: 1; justify-self: end; }
}
#workbench {
  left: 14px; top: 14px; width: 282px; max-height: calc(100% - 112px); overflow-y: auto;
}
.tool-section { padding: 0 0 13px; margin-bottom: 13px; border-bottom: 1px solid var(--line); }
.tool-section:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.tool-title { font-size: 12px; font-weight: 900; color: var(--accent); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 8px; }
.stack-list, .compare-list { display: grid; gap: 7px; }
.empty-state, .tool-note { color: var(--muted); font-size: 12px; line-height: 1.35; }
.empty-state-action { display: grid; gap: 5px; }
.empty-state-action strong { color: var(--ink); font-size: 12px; }
.empty-state-action span { display: block; }
.empty-state-actions { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 4px; }
.empty-state-actions button {
  border: 1px solid var(--line-strong); border-radius: 999px; background: #fff;
  color: var(--ink); padding: 5px 8px; font-size: 10px; font-weight: 850; cursor: pointer;
}
.empty-state-actions button:first-child { border-color: var(--accent); background: var(--accent); color: #fff; }
.empty-state-actions button:hover, .empty-state-actions button:focus-visible { border-color: var(--accent); outline: none; }
.saved-item, .alert-item, .compare-row {
  border: 1px solid var(--line); background: var(--paper-strong); border-radius: 10px;
  padding: 8px; font-size: 12px;
}
.saved-main, .alert-main, .compare-main { display: flex; justify-content: space-between; gap: 8px; align-items: start; }
.saved-name, .alert-name { font-weight: 850; line-height: 1.25; }
.saved-meta, .alert-meta, .compare-meta { color: var(--muted); font-size: 11px; margin-top: 3px; line-height: 1.3; }
.saved-actions, .alert-actions { display: flex; gap: 5px; margin-top: 7px; }
.saved-actions button, .alert-actions button {
  border: 1px solid var(--line-strong); background: #fff; color: var(--ink);
  border-radius: 999px; padding: 4px 8px; font-size: 11px; font-weight: 750;
}
.compare-row { display: grid; grid-template-columns: 1fr auto; gap: 7px; align-items: center; }
.compare-value { font-weight: 950; color: var(--accent-2); white-space: nowrap; }
.filter-metric-row { margin-bottom: 8px; }
.filter-metric-row label, .filter-grid label {
  display: grid; gap: 4px; color: var(--muted); font-size: 11px; font-weight: 800;
}
.filter-metric-row select, .filter-grid input {
  width: 100%; border: 1px solid var(--line-strong); border-radius: 9px; padding: 7px 8px;
  color: var(--ink); background: #fff;
}
.filter-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.filter-list { display: grid; gap: 7px; margin: 8px 0 6px; }
.filter-empty { color: var(--muted); font-size: 12px; font-weight: 650; }
.filter-chip {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center;
  border: 1px solid var(--line); border-radius: 10px; padding: 7px 8px;
  background: var(--accent-faint);
}
.filter-chip.editing { border-color: var(--accent); box-shadow: inset 3px 0 0 var(--accent); }
.filter-chip.paused { border-style: dashed; background: #faf7f4; }
.filter-chip.paused .filter-chip-name, .filter-chip.paused .filter-chip-range { color: var(--muted); }
.filter-chip-main {
  min-width: 0; border: 0; background: transparent; padding: 0; text-align: left;
  color: inherit; cursor: pointer;
}
.filter-chip-name {
  color: var(--ink); font-size: 12px; font-weight: 900;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.filter-chip-range { color: var(--muted); font-size: 11px; font-weight: 750; margin-top: 2px; }
.filter-chip-remove {
  border: 1px solid var(--line-strong); border-radius: 999px; background: #fff; color: var(--muted);
  padding: 4px 7px; font-size: 10px; font-weight: 850;
}
.filter-rank-toggle {
  position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
  z-index: 1450; width: 42px; height: 42px; border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid rgba(13, 43, 82, .28); background: #fff; color: var(--accent);
  box-shadow: var(--shadow);
}
.filter-rank-toggle:hover, .filter-rank-toggle.active {
  background: var(--accent); color: #fff; border-color: var(--accent);
}
.filter-rank-toggle.hidden, .filter-rank-panel.hidden { display: none; }
.rank-icon {
  display: grid; gap: 3px; justify-items: end; width: 18px;
}
.rank-icon span {
  display: block; height: 3px; border-radius: 999px; background: currentColor;
}
.rank-icon span:nth-child(1) { width: 18px; }
.rank-icon span:nth-child(2) { width: 13px; }
.rank-icon span:nth-child(3) { width: 8px; }
.filter-rank-panel {
  right: 64px; top: 14px; width: min(350px, calc(100% - 92px));
  max-height: calc(100% - 104px); overflow: hidden; z-index: 1440;
  padding: 15px;
}
.filter-rank-close {
  position: absolute; top: 8px; right: 10px; border: 0; background: transparent;
  color: var(--muted); font-size: 18px; font-weight: 900; cursor: pointer;
}
.filter-rank-close:hover { color: var(--accent-2); }
.filter-rank-title {
  margin-right: 24px; color: var(--ink); font-size: 16px; font-weight: 950;
}
.filter-rank-sub {
  color: var(--muted); font-size: 11px; line-height: 1.35; margin: 4px 22px 10px 0;
}
.filter-rank-list {
  display: grid; gap: 6px; max-height: min(430px, calc(100vh - 250px)); overflow-y: auto; padding-right: 3px;
}
.filter-rank-row {
  display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 8px; align-items: center;
  width: 100%; text-align: left; border: 1px solid var(--line); border-radius: 11px;
  background: var(--paper-strong); color: var(--ink); padding: 8px;
}
.filter-rank-row:hover { border-color: rgba(13, 43, 82, .38); background: var(--accent-soft); }
.filter-rank-num {
  display: inline-grid; place-items: center; width: 22px; height: 22px;
  border-radius: 999px; background: #fff; border: 1px solid var(--line);
  color: var(--accent); font-size: 11px; font-weight: 950;
}
.filter-rank-main { display: grid; gap: 2px; min-width: 0; }
.filter-rank-name {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 900;
}
.filter-rank-meta {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted);
  font-size: 10.5px; font-weight: 750;
}
.filter-rank-value {
  color: var(--accent); font-size: 12px; font-weight: 950; white-space: nowrap;
}
.filter-rank-empty {
  color: var(--muted); background: var(--paper-strong); border: 1px solid var(--line);
  border-radius: 11px; padding: 10px; font-size: 12px; line-height: 1.35;
}
.tool-actions { display: flex; gap: 7px; margin: 8px 0 6px; }
.tool-actions button, #detail-actions button, #detail-actions a {
  border: 1px solid var(--line-strong); background: #fff; color: var(--ink);
  border-radius: 999px; padding: 6px 10px; font-size: 12px; font-weight: 800;
}
#detail-actions a { display: inline-flex; align-items: center; text-decoration: none; }
#detail-actions a[hidden] { display: none; }

#legend { left: 14px; bottom: 44px; min-width: 210px; margin-left: 296px; }
.legend-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
#legend-title { min-width: 0; font-size: 13px; font-weight: 900; }
#legend-info { width: 19px; height: 19px; flex-basis: 19px; font-size: 10px; }
.legend-row { display: flex; align-items: center; gap: 8px; font-size: 11px; margin: 3px 0; color: var(--muted); }
.legend-swatch { width: 24px; height: 12px; border-radius: 999px; flex: none; border: 1px solid rgba(23, 32, 47, .08); }

#detail {
  right: 14px; top: 14px; width: min(430px, calc(100% - 28px));
  max-height: calc(100% - 96px); overflow-y: auto; padding: 18px 20px;
  border-top: 5px solid var(--accent); background: #fffdfb;
}
#detail.hidden, #methodology.hidden, #about.hidden, #toast.hidden { display: none; }
#detail h2 { margin: 0 72px 4px 0; font-size: 21px; line-height: 1.2; letter-spacing: 0; }
#detail-sub { color: var(--muted); font-size: 12px; margin-bottom: 10px; letter-spacing: .08em; font-weight: 850; }
#detail-close, #methodology-close, .modal-close {
  position: absolute; top: 10px; right: 12px; background: transparent; border: 0;
  color: var(--muted); font-size: 18px; font-weight: 900; cursor: pointer;
}
#detail-close:hover, #methodology-close:hover, .modal-close:hover { color: var(--accent-2); }
.detail-save-icon {
  position: absolute; z-index: 2; top: 9px; right: 46px; display: grid; place-items: center;
  width: 31px; height: 31px; border: 1px solid var(--line-strong); border-radius: 999px;
  background: #fff; color: var(--accent-2); padding: 0; font-size: 20px; font-weight: 900; line-height: 1; cursor: pointer;
}
.detail-save-icon:hover, .detail-save-icon:focus-visible { border-color: var(--accent-2); background: rgba(244, 122, 50, .1); outline: 0; }
.detail-save-icon.saved { border-color: var(--accent-2-strong); background: var(--accent-2-strong); color: #fff; }
.detail-save-icon:disabled { cursor: default; opacity: .45; }
#detail-badges { display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 10px; }
.source-badge {
  display: inline-flex; align-items: center; border: 1px solid rgba(13, 43, 82, .18);
  background: var(--accent-soft); color: var(--accent); border-radius: 999px;
  padding: 4px 8px; font-size: 11px; font-weight: 800;
  max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.source-badge.fallback {
  border-color: rgba(249, 115, 22, .35); background: rgba(249, 115, 22, .11); color: #9a3412;
}
#detail-actions { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 12px; }
#detail-selected-metric {
  border: 1px solid var(--line); border-radius: 8px;
  background: #fff;
  padding: 12px; margin: 0 0 12px;
  box-shadow: 0 4px 12px rgba(13, 43, 82, .08);
}
.selected-metric-top {
  display: flex; align-items: start; justify-content: space-between; gap: 12px;
}
.selected-metric-label {
  display: inline-flex; align-items: center; gap: 6px; min-width: 0;
  color: var(--accent); font-size: 12px; font-weight: 950;
  text-transform: uppercase; letter-spacing: .05em;
}
.selected-metric-value {
  color: var(--accent-2); font-size: 30px; line-height: 1; font-weight: 950;
  letter-spacing: -.01em; text-align: right; white-space: nowrap;
}
.selected-metric-value.score-dial {
  position: relative; display: grid; place-items: center; width: 88px; height: 88px;
  flex: 0 0 88px; color: var(--accent); text-align: center;
}
.score-dial svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); overflow: visible; }
.score-dial circle { fill: none; stroke-width: 3.2; }
.score-dial-track { stroke: #f1e8e1; }
.score-dial-progress { stroke: var(--accent-2); stroke-linecap: round; }
.score-dial-copy { position: relative; display: grid; justify-items: center; gap: 1px; line-height: 1; }
.score-dial-copy strong { color: var(--accent-2); font-size: 25px; font-weight: 950; letter-spacing: -.02em; }
.score-dial-copy small { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: 0; }
.selected-metric-note {
  color: var(--muted); font-size: 11px; line-height: 1.35; margin-top: 8px;
}
.selected-metric-interpretation {
  margin-top: 9px; padding-top: 9px; border-top: 1px solid rgba(13, 43, 82, .12);
  color: var(--ink); font-size: 11.5px; line-height: 1.45; font-weight: 700;
}
.detail-next-step {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px;
  border-left: 3px solid var(--accent-2); background: #fff7ed; border-radius: 0 10px 10px 0;
  padding: 9px 10px; margin: 0 0 12px;
}
.detail-next-step.hidden { display: none; }
.detail-next-step > div:first-child { display: grid; gap: 2px; min-width: 0; }
.detail-next-step strong { color: var(--ink); font-size: 11px; }
.detail-next-step span { color: var(--muted); font-size: 10.5px; line-height: 1.35; }
.detail-next-step-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.detail-next-step-actions button {
  border: 1px solid var(--line-strong); border-radius: 999px; background: #fff;
  color: var(--ink); padding: 5px 8px; font-size: 9.5px; font-weight: 900; white-space: nowrap;
}
.detail-next-step-actions button.primary { border-color: var(--accent-2); background: var(--accent-2); color: #fff; }
#detail-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0 0 12px; }
#buyer-analysis {
  border: 1px solid var(--line); border-radius: 12px; background: var(--accent-faint);
  padding: 12px; margin: 0 0 12px;
}
#buyer-analysis.hidden { display: none; }
.buyer-head { display: flex; justify-content: space-between; gap: 12px; align-items: start; margin-bottom: 10px; }
.buyer-title { font-size: 13px; font-weight: 900; color: var(--ink); }
.buyer-source { font-size: 11px; color: var(--muted); margin-top: 3px; line-height: 1.35; }
.buyer-analysis-info { margin-top: 4px; }
.buyer-analysis-info .buyer-source { max-width: 440px; padding-top: 4px; }
.buyer-pill {
  border-radius: 999px; padding: 5px 8px; font-size: 11px; font-weight: 900;
  background: var(--accent-soft); color: var(--accent); white-space: nowrap;
}
.buyer-pill.stretch { background: rgba(249, 115, 22, .13); color: #9a3412; }
.buyer-pill.hard { background: rgba(185, 28, 28, .11); color: #991b1b; }
.buyer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 10px; }
.buyer-stat {
  border: 1px solid var(--line); border-radius: 10px; background: #fff; padding: 8px;
}
.buyer-label { font-size: 10.5px; color: var(--muted); font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.buyer-value { font-size: 14px; color: var(--ink); font-weight: 900; margin-top: 3px; }
.buyer-table { width: 100%; border-collapse: collapse; font-size: 11.5px; margin-top: 4px; }
.buyer-table th, .buyer-table td { text-align: right; padding: 6px 4px; border-top: 1px solid var(--line); }
.buyer-table th:first-child, .buyer-table td:first-child { text-align: left; }
.buyer-table th { color: var(--muted); font-size: 10.5px; text-transform: uppercase; letter-spacing: .05em; }
.buyer-note { color: var(--muted); font-size: 11px; line-height: 1.4; margin-top: 8px; }
.compare-card {
  border: 1px solid var(--line); border-radius: 8px;
  background: #fff; padding: 9px 10px; box-shadow: 0 3px 10px rgba(13, 43, 82, .06);
}
.compare-label { color: var(--muted); font-size: 11px; margin-bottom: 4px; font-weight: 750; }
.compare-val { color: var(--accent-2); font-size: 13px; font-weight: 950; }
.compare-diff { color: var(--muted); font-size: 11px; margin-top: 3px; line-height: 1.3; }
#spark-title { margin: 4px 0 8px; color: var(--ink); font-size: 13px; font-weight: 900; }
#spark {
  display: block; width: 100%; height: 126px;
  background: #f7f3ef;
  border: 1px solid var(--line); border-radius: 14px;
}
#spark-label { font-size: 11px; color: var(--muted); margin: 7px 0 12px; line-height: 1.35; }
#detail-trend.hidden { display: none; }
.dm-row {
  display: flex; justify-content: space-between; gap: 18px; padding: 8px 0;
  border-bottom: 1px solid var(--line); font-size: 14px; line-height: 1.25;
}
.dm-label {
  display: inline-flex; align-items: center; gap: 6px; min-width: 0;
}
.dm-row:last-child { border-bottom: 0; }
.dm-row.active {
  background: var(--accent-faint); margin: 0 -8px; padding-left: 8px; padding-right: 8px;
  border-radius: 8px;
}
.dm-label { color: var(--muted); overflow-wrap: anywhere; }
.dm-val { font-weight: 850; color: var(--ink); white-space: nowrap; }
.dm-row.featured .dm-label { font-weight: 750; color: #526174; }
.dm-row.featured .dm-val { color: var(--accent-2); font-weight: 950; }
.dm-fallback {
  display: inline-flex; align-items: center; margin-left: 6px;
  border: 1px solid rgba(249, 115, 22, .30);
  background: rgba(249, 115, 22, .10); color: #9a3412; border-radius: 999px;
  padding: 1px 5px; font-size: 9px; font-weight: 900;
  text-transform: uppercase; letter-spacing: .04em;
}
.dm-group {
  margin-top: 14px; font-size: 12px; font-weight: 900; color: var(--accent);
  text-transform: uppercase; letter-spacing: .08em;
}

#methodology, #about {
  left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: min(560px, calc(100% - 28px)); max-height: calc(100% - 80px); overflow-y: auto;
  z-index: 1600; padding: 22px 24px;
}
#methodology h2, #about h2 { margin: 0 28px 12px 0; font-size: 23px; }
#methodology h3, #about h3 { margin: 16px 0 6px; color: var(--accent); font-size: 13px; text-transform: uppercase; letter-spacing: .08em; }
#methodology p, #about p { margin: 0 0 10px; color: var(--muted); line-height: 1.5; font-size: 14px; }
.about-legal-links { display: flex; flex-wrap: wrap; gap: 12px; }
.about-legal-links a { color: var(--accent); font-weight: 850; }

.account-modal {
  position: fixed; inset: 0; z-index: 5100; display: grid; place-items: center;
  padding: 20px; background: rgba(15, 23, 42, .62); backdrop-filter: blur(2px);
}
.account-modal.hidden { display: none; }
.account-dialog {
  position: relative; width: min(520px, calc(100vw - 32px)); max-height: min(720px, calc(100vh - 32px));
  overflow-y: auto; border: 1px solid var(--line); border-top: 6px solid var(--accent); border-radius: 8px; background: #fff;
  box-shadow: 0 28px 80px rgba(15, 23, 42, .34); padding: 24px;
}
.account-close {
  position: absolute; top: 14px; right: 14px; width: 32px; height: 32px; border: 0;
  border-radius: 999px; background: #eef3f8; color: var(--muted); font-size: 17px; font-weight: 900;
}
.account-close:hover, .account-close:focus-visible { background: var(--accent-soft); color: var(--accent); outline: none; }
.account-close[hidden] { display: none; }
.account-kicker { color: var(--accent); font-size: 11px; font-weight: 950; letter-spacing: .09em; text-transform: uppercase; }
.account-dialog h2 { margin: 6px 44px 6px 0; font-size: 24px; line-height: 1.2; }
.account-lead { margin: 0 0 18px; color: var(--muted); font-size: 12.5px; line-height: 1.5; }
.account-content { display: grid; gap: 14px; }
.account-form { display: grid; gap: 10px; }
.account-form label { display: grid; gap: 6px; color: var(--ink); font-size: 12px; font-weight: 900; }
.account-form input {
  width: 100%; border: 1px solid var(--line-strong); border-radius: 10px; background: #fff;
  color: var(--ink); padding: 10px 12px; font-size: 15px; outline: none;
}
.account-form input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.account-primary, .account-secondary, .account-danger, .account-link-button {
  border: 1px solid var(--line-strong); border-radius: 999px; padding: 9px 13px;
  background: #fff; color: var(--ink); font-size: 12px; font-weight: 900;
}
.account-primary { border-color: var(--accent-2); background: var(--accent-2); color: #fff; }
.account-danger { border-color: #fecaca; color: #b91c1c; }
.account-link-button { border-color: transparent; color: var(--accent); padding-inline: 5px; }
.account-primary:hover, .account-primary:focus-visible { border-color: var(--accent-2-strong); background: var(--accent-2-strong); outline: none; }
.account-secondary:hover, .account-secondary:focus-visible, .account-link-button:hover, .account-link-button:focus-visible {
  border-color: var(--accent); color: var(--accent); outline: none;
}
.account-danger:hover, .account-danger:focus-visible { border-color: #b91c1c; background: #fff1f2; outline: none; }
.account-form button:disabled, .account-actions button:disabled { cursor: wait; opacity: .55; }
.account-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.account-message { min-height: 18px; color: var(--muted); font-size: 11.5px; line-height: 1.45; }
.account-message.error { color: #b91c1c; }
.account-message.success { color: #047857; }
.account-user-card, .account-sync-card {
  border: 1px solid var(--line); border-radius: 10px; background: var(--accent-faint); padding: 13px;
}
.account-user-card { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.account-user-card > span { min-width: 0; display: grid; gap: 3px; }
.account-user-card strong { overflow: hidden; text-overflow: ellipsis; font-size: 13px; }
.account-user-card small, .account-sync-card p { color: var(--muted); font-size: 11px; line-height: 1.45; }
.account-status {
  flex: 0 0 auto; border-radius: 999px; background: var(--accent-soft); color: var(--accent);
  padding: 5px 8px; font-size: 9px; font-weight: 950; letter-spacing: .05em; text-transform: uppercase;
}
.account-sync-card { display: grid; gap: 10px; }
.account-sync-card h3 { margin: 0; font-size: 14px; }
.account-sync-card p { margin: 0; }
.account-toggle { display: flex; align-items: flex-start; gap: 9px; color: var(--ink); font-size: 11.5px; line-height: 1.4; }
.account-toggle input { width: 17px; height: 17px; flex: 0 0 17px; margin: 0; accent-color: var(--accent); }
.account-divider { height: 1px; background: var(--line); }
.account-local-note {
  border-left: 3px solid var(--accent); background: #f3f8fb; padding: 10px 12px;
  color: var(--muted); font-size: 11px; line-height: 1.45;
}
.account-delete-confirm { border: 1px solid #fecaca; border-radius: 10px; background: #fff7f7; padding: 12px; }
.account-delete-confirm strong { display: block; color: #991b1b; font-size: 12px; }
.account-delete-confirm p { margin: 5px 0 10px; color: #7f1d1d; font-size: 11px; line-height: 1.45; }
.feedback-dialog { width: min(480px, calc(100vw - 32px)); }
.feedback-form { display: grid; gap: 10px; margin-top: 16px; }
.feedback-form label { color: var(--ink); font-size: 12px; font-weight: 900; }
.feedback-form textarea {
  width: 100%; min-height: 130px; resize: vertical; border: 1px solid var(--line-strong); border-radius: 10px;
  background: #fff; color: var(--ink); padding: 11px 12px; font: inherit; font-size: 14px; line-height: 1.45; outline: none;
}
.feedback-form textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.feedback-form p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.4; }

.onboarding {
  position: fixed; inset: 0; z-index: 5000; display: grid; place-items: center;
  padding: 20px; background: rgba(15, 23, 42, .58);
}
.onboarding.hidden { display: none; }
.onboarding-dialog {
  position: relative; display: flex; flex-direction: column; width: min(780px, 100%);
  max-height: min(800px, calc(100vh - 40px)); overflow: hidden;
  border: 1px solid var(--line); border-top: 6px solid var(--accent); border-radius: 8px; background: #fff;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .28);
}
.onboarding-close {
  position: absolute; z-index: 2; top: 12px; right: 14px; display: grid; place-items: center;
  width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 999px;
  background: #fff; color: var(--muted); font-size: 17px; font-weight: 900;
}
.onboarding-close[hidden] { display: none; }
.onboarding-close:hover, .onboarding-close:focus-visible { border-color: var(--accent); color: var(--accent); outline: none; }
.onboarding-header { flex: 0 0 auto; padding: 18px 56px 13px 24px; border-bottom: 1px solid var(--line); }
.onboarding-brand { color: #06234e; font-size: 19px; line-height: 1; font-weight: 900; }
.onboarding-brand strong { color: var(--accent-2); }
.onboarding-step-label {
  margin-top: 12px; color: var(--muted); font-size: 10px; font-weight: 900;
  letter-spacing: .08em; text-transform: uppercase;
}
.onboarding-progress { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; margin-top: 7px; }
.onboarding-progress span { height: 4px; border-radius: 999px; background: #e2e8f0; }
.onboarding-progress span.done, .onboarding-progress span.active { background: var(--accent-2); }
.onboarding-content {
  flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column;
  overflow: hidden; padding: 0; background: #f6f8fb;
}
.onboarding-chat-log {
  flex: 1 1 auto; min-height: 160px; overflow-y: auto; padding: 22px 24px 16px;
  scroll-behavior: smooth;
}
.onboarding-chat-message {
  display: flex; align-items: flex-end; gap: 9px; width: 100%; margin: 0 0 13px;
}
.onboarding-chat-message.user { justify-content: flex-end; padding-left: 54px; }
.onboarding-chat-message.assistant { justify-content: flex-start; padding-right: 26px; }
.onboarding-chat-message.compact { margin-bottom: 8px; }
.onboarding-chat-message.assistant.compact + .onboarding-chat-message.user { margin-bottom: 14px; }
.onboarding-avatar {
  flex: 0 0 34px; display: grid; place-items: center; width: 34px; height: 34px;
  overflow: hidden; border: 1px solid #f6c7a5; border-radius: 50%; background: #fff;
  box-shadow: 0 3px 9px rgba(13, 43, 82, .15); padding: 2px;
}
.onboarding-avatar svg { width: 100%; height: 100%; }
.onboarding-chat-bubble {
  max-width: min(620px, calc(100% - 43px)); border: 1px solid var(--line);
  border-radius: 8px 8px 8px 2px; background: #fff; color: var(--ink);
  box-shadow: 0 5px 16px rgba(13, 43, 82, .06); padding: 10px 12px;
  font-size: 12px; line-height: 1.45;
}
.onboarding-chat-message.user .onboarding-chat-bubble {
  border-color: var(--accent); border-radius: 8px 8px 2px 8px;
  background: var(--accent); color: #fff; box-shadow: 0 5px 15px rgba(13, 43, 82, .14);
}
.onboarding-chat-message.compact .onboarding-chat-bubble { padding: 7px 10px; font-size: 10.5px; }
.onboarding-chat-message.intro .onboarding-chat-bubble { display: grid; gap: 2px; }
.onboarding-chat-message.intro strong { color: var(--accent); font-size: 13px; }
.onboarding-chat-message.intro span { color: var(--muted); }
.onboarding-choice-summary {
  display: flex; flex-wrap: wrap; gap: 5px; width: min(650px, calc(100% - 43px));
  margin: 0 0 13px 43px;
}
.onboarding-choice-summary > span:not(.sr-only) {
  max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  border: 1px solid rgba(13, 43, 82, .16); border-radius: 999px;
  background: var(--accent-soft); color: var(--accent); padding: 4px 8px;
  font-size: 9.5px; font-weight: 850;
}
.onboarding-chat-message.current { align-items: flex-start; padding-right: 0; }
.onboarding-chat-card { width: min(650px, calc(100% - 43px)); max-width: none; padding: 18px; }
.onboarding-chat-card .onboarding-kicker { font-size: 10px; }
.onboarding-chat-card h1 { margin-top: 4px; font-size: 22px; }
.onboarding-chat-card .onboarding-lead { margin-bottom: 14px; font-size: 11.5px; }
.onboarding-chat-card .onboarding-goal { min-height: 92px; padding: 12px; }
.onboarding-chat-card .onboarding-goal svg { width: 21px; height: 21px; }
.onboarding-chat-card .onboarding-goal strong,
.onboarding-chat-card .onboarding-priority strong { font-size: 12px; }
.onboarding-chat-card .onboarding-goal span,
.onboarding-chat-card .onboarding-priority > span:last-child { font-size: 10px; }
.onboarding-chat-card .onboarding-priority { min-height: 76px; padding: 10px; gap: 4px 8px; }
.onboarding-chat-card .onboarding-priority-icon { width: 34px; height: 34px; }
.onboarding-chat-card .onboarding-experience { min-height: 88px; padding: 13px; }
.onboarding-chat-card .onboarding-experience-icon { width: 40px; height: 40px; font-size: 11px; }
.onboarding-chat-card .onboarding-experience strong { font-size: 14px; }
.onboarding-chat-card .onboarding-experience > span:last-child { font-size: 10.5px; }
.onboarding-inline-choice {
  margin-top: 9px; border: 1px solid rgba(13, 43, 82, .22); border-radius: 999px;
  background: var(--accent-faint); color: var(--accent); padding: 6px 10px;
  font-size: 10px; font-weight: 900;
}
.onboarding-inline-choice:hover, .onboarding-inline-choice:focus-visible { border-color: var(--accent); outline: none; }
.onboarding-chat-composer {
  flex: 0 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px;
  padding: 12px 24px 7px; border-top: 1px solid var(--line); background: #fff;
}
.onboarding-chat-composer input {
  min-width: 0; width: 100%; height: 43px; border: 1px solid var(--line-strong);
  border-radius: 8px; background: #fff; color: var(--ink); padding: 8px 12px; outline: none;
  font-size: 12px;
}
.onboarding-chat-composer input:focus { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent-soft); }
.onboarding-chat-composer button {
  min-width: 68px; border: 1px solid var(--accent-2); border-radius: 8px;
  background: var(--accent-2); color: #fff; padding: 8px 13px; font-size: 11px; font-weight: 900;
}
.onboarding-chat-composer button:hover, .onboarding-chat-composer button:focus-visible {
  border-color: var(--accent-2-strong); background: var(--accent-2-strong); outline: none;
}
.onboarding-chat-composer :disabled { cursor: wait; opacity: .58; }
.onboarding-chat-note {
  flex: 0 0 auto; padding: 0 24px 10px; background: #fff; color: var(--muted);
  font-size: 9.5px; line-height: 1.35;
}
.onboarding-chat-note.local { color: var(--warn); }
.onboarding-typing { display: flex; align-items: center; gap: 4px; min-height: 34px; }
.onboarding-typing span {
  width: 6px; height: 6px; border-radius: 50%; background: var(--muted);
  animation: onboarding-dot 1s infinite ease-in-out;
}
.onboarding-typing span:nth-child(2) { animation-delay: .14s; }
.onboarding-typing span:nth-child(3) { animation-delay: .28s; }
@keyframes onboarding-dot { 0%, 70%, 100% { transform: translateY(0); opacity: .38; } 35% { transform: translateY(-3px); opacity: 1; } }

.assistant-page {
  display: flex; flex: 1 1 auto; min-height: 0; align-items: stretch; justify-content: center;
  overflow: hidden; background: #f6f8fb;
}
.assistant-page.hidden { display: none; }
.assistant-dialog {
  display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 0; overflow: hidden;
  border: 0; border-radius: 0; background: #f6f8fb; box-shadow: none;
}
.assistant-header { display: none; }
.assistant-heading { display: flex; align-items: center; gap: 9px; min-width: 0; }
.assistant-header-mark, .assistant-avatar {
  flex: 0 0 auto; display: grid; place-items: center; overflow: hidden;
  border: 1px solid #f6c7a5; border-radius: 50%; background: #fff;
}
.assistant-header-mark { width: 40px; height: 40px; padding: 2px; }
.assistant-header-mark svg, .assistant-avatar svg { width: 100%; height: 100%; }
.assistant-heading > div { min-width: 0; display: grid; gap: 2px; }
.assistant-heading h2 { margin: 0; color: var(--ink); font-size: 17px; }
.assistant-heading > div > span { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.assistant-messages {
  flex: 1 1 auto; width: min(900px, 100%); min-height: 0; margin: 0 auto; overflow-y: auto;
  padding: clamp(24px, 5vh, 54px) clamp(16px, 4vw, 44px) 12px; scroll-behavior: smooth;
}
.assistant-message { display: flex; align-items: flex-end; gap: 8px; width: 100%; max-width: 760px; margin: 0 auto 16px; }
.assistant-message.user { justify-content: flex-end; padding-left: 48px; }
.assistant-message.assistant { padding-right: 22px; }
.assistant-avatar { flex-basis: 31px; width: 31px; height: 31px; padding: 2px; box-shadow: 0 3px 9px rgba(13, 43, 82, .12); }
.assistant-bubble {
  max-width: calc(100% - 39px); display: grid; gap: 3px; border: 1px solid var(--line);
  border-radius: 8px 8px 8px 2px; background: #fff; color: var(--ink); padding: 9px 11px;
  box-shadow: 0 5px 14px rgba(13, 43, 82, .05); font-size: 11.5px; line-height: 1.45;
}
.assistant-bubble strong { color: var(--accent); font-size: 12px; }
.assistant-bubble span { color: var(--muted); }
.assistant-message.user .assistant-bubble {
  border-color: var(--accent); border-radius: 8px 8px 2px 8px; background: var(--accent); color: #fff;
}
.assistant-welcome {
  min-height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 20px 0 72px; text-align: center;
}
.assistant-welcome-mark {
  display: grid; place-items: center; width: 78px; height: 72px; margin-bottom: 12px;
}
.assistant-welcome-mark svg { width: 100%; height: 100%; }
.assistant-welcome h1 { margin: 0; color: var(--ink); font-size: clamp(26px, 4vw, 38px); line-height: 1.15; }
.assistant-welcome p { margin: 8px 0 22px; color: var(--muted); font-size: 14px; }
.assistant-start-actions {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; width: min(680px, 100%);
}
.assistant-start-actions button {
  display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 64px;
  border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink);
  padding: 12px; text-align: left; box-shadow: 0 5px 15px rgba(13, 43, 82, .06);
}
.assistant-start-actions button:hover, .assistant-start-actions button:focus-visible {
  border-color: var(--accent-2); box-shadow: 0 7px 18px rgba(13, 43, 82, .1); outline: none;
}
.assistant-start-actions svg {
  flex: 0 0 26px; width: 26px; height: 26px; fill: none; stroke: var(--accent-2);
  stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
.assistant-start-actions strong { min-width: 0; font-size: 12px; line-height: 1.25; }
.assistant-suggestions {
  flex: 0 0 auto; display: flex; justify-content: center; gap: 6px; width: min(900px, 100%);
  margin: 0 auto; overflow-x: auto; padding: 8px 16px; background: transparent; scrollbar-width: thin;
}
.assistant-suggestions button {
  flex: 0 0 auto; border: 1px solid var(--line-strong); border-radius: 999px; background: var(--accent-faint);
  color: var(--accent); padding: 6px 9px; font-size: 9.5px; font-weight: 900;
}
.assistant-suggestions button:hover, .assistant-suggestions button:focus-visible { border-color: var(--accent); outline: none; }
.assistant-suggestions button:disabled {
  cursor: default; border-color: var(--line); background: var(--surface-soft); color: var(--muted); opacity: .62;
}
.assistant-composer {
  flex: 0 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px;
  width: min(860px, calc(100% - 32px)); margin: 0 auto 18px; padding: 7px;
  border: 1px solid var(--line-strong); border-radius: 8px; background: #fff;
  box-shadow: 0 8px 24px rgba(13, 43, 82, .1);
}
.assistant-composer input {
  min-width: 0; height: 48px; border: 0; border-radius: 8px;
  background: #fff; color: var(--ink); padding: 8px 11px; outline: none; font-size: 14px;
}
.assistant-composer:focus-within { border-color: var(--accent); box-shadow: 0 8px 24px rgba(13, 43, 82, .1), 0 0 0 2px var(--accent-soft); }
.assistant-composer button {
  min-width: 62px; border: 1px solid var(--accent-2); border-radius: 8px; background: var(--accent-2);
  color: #fff; padding: 8px 11px; font-size: 10.5px; font-weight: 950;
}
.assistant-composer button:hover, .assistant-composer button:focus-visible { background: var(--accent-2-strong); outline: none; }
.assistant-composer :disabled { cursor: wait; opacity: .58; }
.assistant-status { flex: 0 0 auto; width: min(860px, calc(100% - 32px)); margin: -10px auto 10px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.assistant-status.unavailable { color: var(--warn); }
.onboarding-kicker {
  color: var(--accent); font-size: 13px; font-weight: 900; letter-spacing: .075em; text-transform: uppercase;
}
.onboarding-content h1 { margin: 6px 0 8px; color: var(--ink); font-size: 28px; line-height: 1.16; }
.onboarding-content h1:focus { outline: none; }
.onboarding-lead { max-width: 620px; margin: 0 0 20px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.onboarding-goals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.onboarding-goal {
  min-width: 0; display: grid; align-content: start; gap: 8px; min-height: 150px;
  border: 1px solid var(--line-strong); border-radius: 8px; background: #fff;
  color: var(--ink); padding: 15px; text-align: left;
}
.onboarding-goal:hover, .onboarding-goal:focus-visible { border-color: var(--accent); outline: none; }
.onboarding-goal.selected { border-color: var(--accent); background: var(--accent-soft); box-shadow: 0 0 0 2px rgba(13, 43, 82, .08); }
.onboarding-goal svg {
  width: 25px; height: 25px; fill: none; stroke: var(--accent); stroke-width: 1.8;
  stroke-linecap: round; stroke-linejoin: round;
}
.onboarding-goal strong { font-size: 14px; }
.onboarding-goal span { color: var(--muted); font-size: 11px; line-height: 1.45; }
.onboarding-priorities { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.onboarding-priority {
  min-height: 94px; display: grid; grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto 1fr; align-items: start; gap: 7px 10px; padding: 14px;
  border: 1px solid var(--line-strong); border-radius: 8px; background: #fff;
  color: var(--ink); text-align: left; cursor: pointer;
}
.onboarding-priority:hover, .onboarding-priority:focus-visible { border-color: var(--accent); outline: none; }
.onboarding-priority.selected { border-color: var(--accent); background: var(--accent-soft); box-shadow: 0 0 0 2px rgba(13, 43, 82, .08); }
.onboarding-priority-badge, .onboarding-priority-icon {
  grid-row: 1 / 3; display: grid; place-items: center; width: 42px; height: 42px;
  border-radius: 8px; background: var(--accent-soft); color: var(--accent);
  font-size: 11px; font-weight: 950;
}
.onboarding-priority-icon svg {
  width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8;
  stroke-linecap: round; stroke-linejoin: round;
}
.onboarding-priority strong { padding-top: 2px; font-size: 14px; }
.onboarding-priority > span:last-child { color: var(--muted); font-size: 11px; line-height: 1.45; }
.onboarding-experiences { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.onboarding-experience {
  min-width: 0; min-height: 108px; display: grid; grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto 1fr; align-items: start; gap: 8px 12px; padding: 17px;
  border: 1px solid var(--line-strong); border-radius: 8px; background: #fff;
  color: var(--ink); text-align: left;
}
.onboarding-experience:hover, .onboarding-experience:focus-visible { border-color: var(--accent); outline: none; }
.onboarding-experience.selected {
  border-color: var(--accent); background: var(--accent-soft);
  box-shadow: 0 0 0 2px rgba(13, 43, 82, .08);
}
.onboarding-experience-icon {
  grid-row: 1 / 3; display: grid; place-items: center; width: 48px; height: 48px;
  border-radius: 8px; background: var(--accent-soft); color: var(--accent);
  font-size: 13px; font-weight: 950;
}
.onboarding-experience.selected .onboarding-experience-icon { background: #fff; }
.onboarding-experience strong { padding-top: 3px; font-size: 16px; }
.onboarding-experience > span:last-child { color: var(--muted); font-size: 12px; line-height: 1.5; }
.onboarding-demo {
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px;
  margin-top: 15px; color: var(--muted); font-size: 11px; text-align: center;
}
.onboarding-demo button {
  border: 1px solid var(--line-strong); border-radius: 999px; background: #fff;
  color: var(--accent); padding: 6px 10px; font-size: 10px; font-weight: 900;
}
.onboarding-demo button:hover, .onboarding-demo button:focus-visible { border-color: var(--accent); outline: none; }
.onboarding-field { display: grid; gap: 7px; max-width: 480px; }
.onboarding-field > span { color: var(--ink); font-size: 12px; font-weight: 900; }
.onboarding-income-wrap {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center;
  border: 1px solid var(--line-strong); border-radius: 8px; background: #fff; overflow: hidden;
}
.onboarding-income-wrap:focus-within { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent-soft); }
.onboarding-income-wrap span { color: var(--muted); padding: 0 12px; font-size: 13px; font-weight: 850; }
.onboarding-income-wrap input {
  min-width: 0; width: 100%; height: 46px; border: 0; outline: 0; background: transparent;
  color: var(--ink); padding: 8px 0; font-size: 17px; font-weight: 850;
}
.onboarding-privacy {
  display: flex; align-items: flex-start; gap: 9px; max-width: 540px; margin-top: 15px;
  border-left: 3px solid var(--accent); background: var(--accent-faint); padding: 10px 12px;
  color: var(--muted); font-size: 11px; line-height: 1.45;
}
.onboarding-privacy svg {
  flex: 0 0 auto; width: 17px; height: 17px; fill: none; stroke: var(--accent);
  stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
.onboarding-location-search { position: relative; }
.onboarding-location-search input {
  width: 100%; height: 44px; border: 1px solid var(--line-strong); border-radius: 8px;
  background: #fff; color: var(--ink); padding: 8px 12px; outline: 0; font-size: 13px;
}
.onboarding-location-search input:focus { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent-soft); }
.onboarding-location-results {
  max-height: 230px; overflow-y: auto; margin-top: 7px; border: 1px solid var(--line);
  border-radius: 8px; background: #fff;
}
.onboarding-location-results:empty { display: none; }
.onboarding-location-result {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  border: 0; border-bottom: 1px solid var(--line); background: #fff; color: var(--ink);
  padding: 10px 11px; text-align: left;
}
.onboarding-location-result:last-child { border-bottom: 0; }
.onboarding-location-result:hover, .onboarding-location-result:focus-visible { background: var(--accent-soft); outline: none; }
.onboarding-location-result:disabled { cursor: default; opacity: .62; }
.onboarding-location-result > span:first-child { min-width: 0; display: grid; gap: 2px; }
.onboarding-location-result strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.onboarding-location-result small { color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.onboarding-location-add { flex: 0 0 auto; color: var(--accent); font-size: 10px; font-weight: 900; }
.onboarding-location-empty { padding: 13px; color: var(--muted); font-size: 11px; }
.onboarding-selected { margin-top: 16px; }
.onboarding-selected-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.onboarding-selected-head strong { font-size: 12px; }
.onboarding-selected-head span { color: var(--muted); font-size: 10px; }
.onboarding-place-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.onboarding-place-chip {
  display: inline-flex; align-items: center; gap: 7px; min-width: 0; max-width: 100%;
  border: 1px solid rgba(13, 43, 82, .18); border-radius: 999px; background: var(--accent-soft);
  color: var(--accent); padding: 6px 8px 6px 10px; font-size: 10px; font-weight: 850;
}
.onboarding-place-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.onboarding-place-chip button {
  display: grid; place-items: center; flex: 0 0 auto; width: 19px; height: 19px; border: 0;
  border-radius: 999px; background: rgba(13, 43, 82, .1); color: var(--accent); padding: 0; font-size: 12px; font-weight: 900;
}
.onboarding-no-places { color: var(--muted); font-size: 11px; line-height: 1.45; }
.onboarding-summary {
  display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px;
}
.onboarding-summary span {
  border: 1px solid rgba(13, 43, 82, .18); border-radius: 999px;
  background: var(--accent-soft); color: var(--accent); padding: 6px 9px; font-size: 10px; font-weight: 850;
}
.onboarding-workflow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.onboarding-workflow article { border-top: 3px solid var(--accent); background: var(--accent-faint); padding: 12px; }
.onboarding-workflow strong { display: block; color: var(--ink); font-size: 12px; }
.onboarding-workflow p { margin: 5px 0 0; color: var(--muted); font-size: 10.5px; line-height: 1.45; }
.onboarding-footer {
  flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 13px 24px; border-top: 1px solid var(--line); background: #fff;
}
.onboarding-footer button {
  min-height: 38px; border: 1px solid var(--line-strong); border-radius: 8px;
  background: #fff; color: var(--ink); padding: 8px 13px; font-size: 11px; font-weight: 850;
}
.onboarding-footer button:hover, .onboarding-footer button:focus-visible { border-color: var(--accent); color: var(--accent); outline: none; }
.onboarding-footer button:disabled { cursor: not-allowed; opacity: .45; }
.onboarding-footer-secondary, .onboarding-footer-actions { display: flex; align-items: center; gap: 8px; }
.onboarding-next { border-color: var(--accent-2) !important; background: var(--accent-2) !important; color: #fff !important; }
.onboarding-next:disabled { cursor: not-allowed; opacity: .45; }
.onboarding-skip { border-color: transparent !important; color: var(--muted) !important; }
.onboarding-tour-footer {
  display: inline-flex; align-items: center; gap: 6px; color: var(--accent) !important;
  border-color: rgba(13, 43, 82, .22) !important; background: var(--accent-faint) !important;
}
.onboarding-tour-footer[hidden] { display: none; }
.onboarding-tour-footer svg {
  width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8;
  stroke-linecap: round; stroke-linejoin: round;
}
.onboarding-tour-footer svg path { fill: currentColor; stroke: none; }

.product-tour {
  position: fixed; inset: 0; z-index: 5100; pointer-events: auto;
}
.product-tour.hidden { display: none; }
.product-tour-spotlight {
  position: fixed; z-index: 5101; border: 3px solid var(--accent-2); border-radius: 10px;
  box-shadow: 0 0 0 9999px rgba(15, 23, 42, .67);
  pointer-events: none; transition: left .2s ease, top .2s ease, width .2s ease, height .2s ease;
}
.product-tour-spotlight.hidden { display: none; }
.product-tour-card {
  position: fixed; z-index: 5102; left: 50%; bottom: 24px; transform: translateX(-50%);
  width: min(460px, calc(100% - 32px)); border: 1px solid var(--line); border-radius: 8px;
  max-height: calc(100vh - 48px); overflow-y: auto;
  background: #fff; box-shadow: 0 18px 55px rgba(15, 23, 42, .3); padding: 19px 20px 16px;
}
.product-tour-step {
  color: var(--accent); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase;
}
.product-tour-card h2 { margin: 5px 0 7px; color: var(--ink); font-size: 22px; line-height: 1.2; }
.product-tour-card > p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.product-tour-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin: 15px 0; }
.product-tour-tabs > span {
  display: flex; align-items: center; justify-content: center; gap: 5px;
  border-top: 3px solid #dbe3ec; padding-top: 7px; color: var(--muted);
  font-size: 10px; font-weight: 850;
}
.product-tour-tabs > span.active, .product-tour-tabs > span.done { border-color: var(--accent); color: var(--accent); }
.product-tour-tabs > span > span {
  display: grid; place-items: center; width: 18px; height: 18px; border-radius: 999px;
  background: #eef4f7; color: inherit; font-size: 9px;
}
.product-tour-tabs > span.active > span { background: var(--accent); color: #fff; }
.product-tour-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.product-tour-footer > div { display: flex; align-items: center; gap: 8px; }
.product-tour-footer button {
  min-height: 38px; border: 1px solid var(--line-strong); border-radius: 8px;
  background: #fff; color: var(--ink); padding: 8px 13px; font-size: 11px; font-weight: 850;
}
.product-tour-footer button:hover, .product-tour-footer button:focus-visible { border-color: var(--accent); color: var(--accent); outline: none; }
.product-tour-skip { border-color: transparent !important; color: var(--muted) !important; }
.product-tour-next { border-color: var(--accent) !important; background: var(--accent) !important; color: #fff !important; }

#toast {
  position: absolute; right: 18px; bottom: 58px; z-index: 1700;
  background: var(--ink); color: #fff; border-radius: 999px; padding: 9px 13px;
  box-shadow: var(--shadow); font-size: 12px; font-weight: 800;
}

#status-bar {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 1000;
  display: flex; justify-content: space-between; gap: 10px;
  background: rgba(255, 255, 255, .96); border-top: 1px solid var(--line);
  padding: 5px 12px; font-size: 11px; color: var(--muted);
}
#status-sources {
  border: 0; background: transparent; color: var(--accent); padding: 0;
  font: inherit; font-weight: 850; cursor: pointer;
}
#status-sources:hover, #status-sources:focus-visible { text-decoration: underline; outline: none; }

.leaflet-tooltip.hover-tip {
  background: #fff; color: var(--ink); border: 1px solid var(--line);
  border-radius: 10px; font-size: 12px; padding: 7px 10px; box-shadow: var(--shadow);
}
.leaflet-tooltip.hover-tip .tt-val { font-weight: 850; color: var(--accent); }
.leaflet-tooltip.hover-tip .tt-fallback { color: var(--muted); font-weight: 750; }
.leaflet-tooltip-top.hover-tip::before { border-top-color: #fff; }

.metric-map-label-icon {
  width: 1px !important; height: 1px !important; border: 0 !important;
  background: transparent !important; pointer-events: none !important;
}
.metric-map-label {
  position: absolute; left: 0; top: 0; transform: translate(-50%, -50%);
  display: grid; justify-items: center; gap: 1px; min-width: 48px; max-width: 112px;
  padding: 3px 5px; border: 1px solid rgba(255, 255, 255, .92); border-radius: 6px;
  background: rgba(255, 255, 255, .88); color: var(--ink); white-space: nowrap;
  box-shadow: 0 2px 8px rgba(15, 23, 42, .18); backdrop-filter: blur(2px);
}
.metric-map-label span {
  max-width: 100%; overflow: hidden; text-overflow: ellipsis;
  color: #475569; font-size: 8px; line-height: 1.05; font-weight: 900;
}
.metric-map-label strong {
  color: var(--accent); font-size: 10px; line-height: 1.05; font-weight: 950;
}
.metric-map-label.fallback { border-style: dashed; background: rgba(255, 255, 255, .8); }

@media (min-width: 1181px) and (max-width: 1680px) {
  #topbar { grid-template-columns: max-content max-content minmax(240px, 1fr) minmax(260px, 360px); }
  #brand { grid-column: 1; grid-row: 1; }
  #geo-tabs { grid-column: 2; grid-row: 1; }
  #metric-wrap { grid-column: 3; grid-row: 1; }
  #top-tools { grid-column: 4; grid-row: 1; justify-self: end; }
  #metric-favs { grid-column: 1 / 3; grid-row: 2; }
  #search-wrap { grid-column: 3 / 5; grid-row: 2; }
  body[data-experience="simple"] #simple-metrics {
    grid-column: 3; grid-row: 1; grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body[data-experience="simple"] #top-tools { grid-column: 4; grid-row: 1; }
  body[data-experience="simple"] #search-wrap { grid-column: 3 / 5; grid-row: 2; }
}

@media (max-width: 1180px) {
  #topbar { grid-template-columns: minmax(0, 1fr) minmax(280px, 400px); }
  #brand { grid-column: 1; grid-row: 1; }
  #top-tools { grid-column: 2; grid-row: 1; justify-self: end; }
  #geo-tabs { grid-column: 1; grid-row: 2; justify-self: start; }
  #metric-wrap { grid-column: 2; grid-row: 2; width: 100%; }
  #metric-favs {
    grid-column: 1; grid-row: 3;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  #search-wrap { grid-column: 2; grid-row: 3; width: 100%; }
  body[data-experience="simple"] #simple-metrics {
    grid-column: 2; grid-row: 2; grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body[data-experience="simple"] #top-tools { grid-column: 2; grid-row: 1; }
  body[data-experience="simple"] #search-wrap { grid-column: 2; grid-row: 3; }
}

@media (max-width: 860px) {
  #topbar {
    grid-template-columns: minmax(0, 1fr) auto; align-items: center;
    gap: 8px; padding: 8px 10px;
  }
  #brand { grid-column: 1; grid-row: 1; width: auto; min-width: 0; }
  #brand { min-width: 0; gap: 5px; }
  #brand-mark, #brand-mark svg { width: 50px; height: 46px; }
  #brand-mark { flex-basis: 50px; }
  #brand-title { font-size: 22px; }
  #top-tools { grid-column: 2; grid-row: 1; width: auto; justify-self: end; }
  #methodology-open { display: none; }
  #profile-open { display: none; }
  #feedback-open { display: none; }
  .mobile-menu-button {
    position: relative; display: grid; place-items: center; width: 42px; height: 42px; padding: 0;
    border: 1px solid var(--line-strong); border-radius: 10px; background: #fff; color: var(--ink);
    touch-action: manipulation; -webkit-tap-highlight-color: transparent;
  }
  .mobile-menu-button:hover, .mobile-menu-button:focus-visible { border-color: var(--accent); color: var(--accent); outline: none; }
  .mobile-menu-icon { display: grid; gap: 4px; width: 20px; }
  .mobile-menu-icon span { display: block; width: 100%; height: 2px; border-radius: 999px; background: currentColor; }
  .mobile-menu-badge {
    position: absolute; right: -4px; top: -4px; display: grid; place-items: center; min-width: 18px; height: 18px;
    padding: 0 4px; border: 2px solid #fff; border-radius: 999px; background: var(--accent-2); color: #fff;
    font-size: 9px; font-weight: 950;
  }
  .mobile-menu-badge.hidden { display: none; }
  #geo-tabs, #metric-wrap, #search-wrap { grid-column: 1 / -1; width: 100%; }
  #geo-tabs { grid-row: 2; }
  #metric-wrap { grid-row: 3; }
  #search-wrap { grid-row: 4; }
  #metric-favs { display: none; }
  body[data-experience="simple"] #simple-metrics {
    grid-column: 1 / -1; grid-row: 3; width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body[data-experience="simple"] #search-wrap { grid-column: 1 / -1; grid-row: 4; }
  #geo-tabs { justify-content: space-between; }
  .tab { flex: 1 1 20%; min-width: 0; padding: 7px 3px; font-size: 10.5px; }
  #metric-menu {
    left: auto; right: 0;
    width: calc(100vw - 20px); max-width: calc(100vw - 20px);
    max-height: calc(100vh - 230px);
  }
  .metric-presets-head span { display: none; }
  .metric-preset-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #metric-list .metric-option {
    width: 100%; min-width: 0; gap: 10px; padding-inline: 12px; overflow: hidden;
  }
  #metric-list .metric-option-main { min-width: 0; overflow: hidden; }
  #metric-list .metric-info-btn { flex: 0 0 18px; margin-left: auto; }
  .pinned-group-label {
    margin-top: -8px;
    border-bottom: 1px solid rgba(13, 43, 82, .14); background: var(--accent-faint);
  }
  .metric-option.pinned { background: rgba(246, 199, 165, .2); }
  .metric-option.pinned.active { background: var(--accent-soft); }
  #metric-list .metric-pin-mark { display: none; }
  #search-results { left: 0; right: auto; width: 100%; }
  #main { height: auto; }
  body[data-app-view="assistant"].mobile-tools-open #main {
    display: block; position: fixed; inset: 0; z-index: 2400; pointer-events: none;
  }
  body[data-app-view="assistant"].mobile-tools-open #main > :not(#workbench):not(#mobile-tools-backdrop) {
    display: none !important;
  }
  body[data-app-view="assistant"].mobile-tools-open #workbench,
  body[data-app-view="assistant"].mobile-tools-open #mobile-tools-backdrop {
    display: block; pointer-events: auto;
  }
  .leaflet-top.leaflet-left { left: auto; right: 10px; top: calc(34% + 16px); }
  .leaflet-top.leaflet-left .leaflet-control { margin-left: 0; }
  body[data-app-view="compare"] #workbench, body[data-app-view="buyer"] #workbench { display: block; }
  #workbench {
    position: fixed; left: auto; right: 0; top: 0; bottom: 0; width: min(88vw, 350px); max-height: none;
    overflow-y: auto; padding: 0 16px calc(24px + env(safe-area-inset-bottom));
    border: 0; border-left: 1px solid var(--line); border-radius: 16px 0 0 16px;
    background: rgba(255, 255, 255, .99); z-index: 2600;
    transform: translateX(105%); visibility: hidden; transition: transform .22s ease, visibility .22s step-end;
  }
  body.mobile-tools-open #workbench { transform: translateX(0); visibility: visible; transition: transform .22s ease; }
  .mobile-tools-head {
    position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between;
    margin: 0 -16px 12px; padding: max(14px, env(safe-area-inset-top)) 16px 12px;
    border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, .98);
  }
  .mobile-tools-head > div { display: grid; gap: 2px; }
  .mobile-tools-head strong { font-size: 20px; }
  .mobile-tools-kicker { color: var(--accent); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
  #mobile-tools-close {
    display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--line);
    border-radius: 999px; background: var(--accent-faint); color: var(--ink); font-weight: 900;
  }
  .mobile-tools-shortcuts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin-bottom: 10px; }
  .mobile-tools-shortcuts button {
    display: grid; justify-items: center; gap: 4px; min-width: 0; border: 1px solid var(--line); border-radius: 8px;
    background: var(--accent-faint); color: var(--muted); padding: 8px 3px; font-size: 9.5px; font-weight: 850;
  }
  .mobile-tools-shortcuts button:hover, .mobile-tools-shortcuts button:focus-visible { border-color: var(--accent); color: var(--accent); outline: none; }
  .mobile-tools-shortcuts svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .mobile-tools-links { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-bottom: 16px; }
  .mobile-account-row { display: grid; grid-template-columns: minmax(0, 1fr) 42px; gap: 7px; grid-column: 1 / -1; }
  .mobile-tools-links button {
    border: 1px solid var(--line-strong); border-radius: 8px; background: #fff; color: var(--ink);
    padding: 8px 6px; font-size: 11px; font-weight: 850;
  }
  .mobile-tools-links #mobile-profile-open {
    min-height: 42px; border-color: var(--accent); background: var(--accent); color: #fff;
    font-size: 12px; box-shadow: 0 5px 14px rgba(13, 43, 82, .18);
  }
  .mobile-tools-links #mobile-profile-open:hover,
  .mobile-tools-links #mobile-profile-open:focus-visible {
    border-color: var(--accent-hover); background: var(--accent-hover); color: #fff; outline: none;
  }
  .mobile-tools-links .mobile-feedback-button {
    display: grid; place-items: center; width: 42px; min-height: 42px; padding: 0;
    border-color: var(--accent-2); background: var(--accent-2); color: #fff;
  }
  .mobile-tools-links .mobile-feedback-button:hover,
  .mobile-tools-links .mobile-feedback-button:focus-visible {
    border-color: var(--accent-2-strong); background: var(--accent-2-strong); color: #fff; outline: none;
  }
  .mobile-tools-backdrop {
    position: fixed; inset: 0; z-index: 2500; width: 100%; height: 100%; border: 0;
    background: rgba(15, 23, 42, .38); opacity: 0; pointer-events: none; transition: opacity .2s ease;
  }
  body.mobile-tools-open .mobile-tools-backdrop { display: block; opacity: 1; pointer-events: auto; }
  #legend { left: 10px; bottom: 12px; margin-left: 0; max-height: 32%; overflow-y: auto; }
  #detail {
    position: fixed; inset: 0 0 calc(62px + env(safe-area-inset-bottom)) 0; width: auto; max-height: none;
    overflow-y: auto; border: 0; border-radius: 0; z-index: 2300;
    padding: max(56px, calc(46px + env(safe-area-inset-top))) 16px 28px;
    background: rgba(255, 255, 255, .995);
  }
  #detail-close {
    position: fixed; top: max(10px, env(safe-area-inset-top)); right: 12px; z-index: 2350;
    display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--line);
    border-radius: 999px; background: #fff; box-shadow: 0 5px 16px rgba(15, 23, 42, .14);
  }
  .detail-save-icon {
    position: fixed; z-index: 2350; top: max(10px, env(safe-area-inset-top)); right: 58px;
    width: 38px; height: 38px; background: #fff; box-shadow: 0 5px 16px rgba(15, 23, 42, .14);
  }
  .detail-save-icon.saved { background: var(--accent-2-strong); }
  #detail-badges .source-badge {
    white-space: normal; overflow: visible; text-overflow: clip;
    border-radius: 8px; line-height: 1.3;
  }
  #methodology, #about {
    position: fixed; inset: 0 0 calc(62px + env(safe-area-inset-bottom)) 0; transform: none;
    width: auto; max-height: none; border: 0; border-radius: 0; z-index: 2700;
    padding: max(54px, calc(44px + env(safe-area-inset-top))) 18px 28px;
    background: #fff;
  }
  #methodology-close, #about-close {
    position: fixed; top: max(10px, env(safe-area-inset-top)); right: 12px; z-index: 2750;
    display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--line);
    border-radius: 999px; background: #fff; box-shadow: 0 5px 16px rgba(15, 23, 42, .14);
  }
  .account-modal, .onboarding { place-items: stretch; height: 100dvh; padding: 0; }
  .account-dialog {
    width: 100%; height: 100%; max-height: none; border: 0; border-radius: 0;
    padding: max(22px, env(safe-area-inset-top)) 18px calc(22px + env(safe-area-inset-bottom));
  }
  .account-close { top: max(14px, env(safe-area-inset-top)); right: 14px; }
  .account-dialog h2 { font-size: 23px; }
  .feedback-modal { place-items: center; padding: 14px; }
  .feedback-dialog {
    width: min(100%, 480px); height: auto; max-height: calc(100dvh - 28px); border: 1px solid var(--line);
    border-top: 6px solid var(--accent); border-radius: 8px; padding: 22px 18px;
  }
  .feedback-dialog .account-close { position: absolute; top: 12px; right: 12px; }
  .onboarding-dialog { width: 100%; height: 100dvh; max-height: none; border: 0; border-radius: 0; box-shadow: none; }
  .onboarding-close {
    position: fixed; top: max(10px, env(safe-area-inset-top)); right: 12px;
    width: 38px; height: 38px; box-shadow: 0 5px 16px rgba(15, 23, 42, .12);
  }
  .onboarding-header { padding: max(14px, env(safe-area-inset-top)) 58px 12px 16px; }
  .onboarding-content { padding: 0; }
  .onboarding-kicker { font-size: 12px; }
  .onboarding-content h1 { font-size: 25px; }
  .onboarding-chat-log { min-height: 120px; padding: 17px 12px 12px; }
  .onboarding-chat-message { gap: 7px; margin-bottom: 11px; }
  .onboarding-chat-message.assistant { padding-right: 0; }
  .onboarding-chat-message.user { padding-left: 44px; }
  .onboarding-avatar { flex-basis: 30px; width: 30px; height: 30px; }
  .onboarding-chat-bubble { max-width: calc(100% - 37px); padding: 9px 10px; }
  .onboarding-chat-card { width: calc(100% - 37px); padding: 14px 12px; }
  .onboarding-choice-summary { width: calc(100% - 37px); margin-left: 37px; }
  .onboarding-choice-summary > span:not(.sr-only) { max-width: 145px; }
  .onboarding-chat-card h1 { font-size: 21px; }
  .onboarding-chat-card .onboarding-lead { margin-bottom: 12px; }
  .onboarding-chat-composer { padding: 10px 12px 6px; }
  .onboarding-chat-composer input { height: 42px; font-size: 11.5px; }
  .onboarding-chat-composer button { min-width: 58px; padding-inline: 10px; }
  .onboarding-chat-note { padding: 0 12px 8px; font-size: 9px; }
  .onboarding-chat-card .onboarding-priority { min-height: 0; }
  .onboarding-chat-card .onboarding-experience { min-height: 86px; }
  .onboarding-goals, .onboarding-workflow { grid-template-columns: 1fr; }
  .onboarding-priorities, .onboarding-experiences { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .onboarding-experience { min-height: 88px; padding: 10px; grid-template-columns: 1fr; grid-template-rows: auto auto auto; gap: 4px; }
  .onboarding-experience-icon { grid-row: auto; width: 36px; height: 36px; }
  .onboarding-experience strong { padding-top: 0; }
  .onboarding-goal { min-height: 0; grid-template-columns: auto minmax(0, 1fr); align-items: start; }
  .onboarding-goal svg { grid-row: 1 / 3; }
  .onboarding-priority { min-height: 68px; grid-template-columns: auto minmax(0, 1fr); padding: 9px; }
  .onboarding-priority > span:last-child { display: none; }
  .onboarding-priority-icon { grid-row: 1; width: 34px; height: 34px; }
  .onboarding-demo { display: grid; justify-items: center; }
  .onboarding-footer {
    padding: 11px 12px calc(11px + env(safe-area-inset-bottom));
    box-shadow: 0 -6px 18px rgba(15, 23, 42, .06);
  }
  .onboarding-footer button { padding-inline: 10px; }
  .assistant-dialog { width: 100%; height: 100%; min-height: 0; }
  .assistant-messages { padding: 12px 12px 8px; }
  .assistant-message.assistant { padding-right: 0; }
  .assistant-message.user { padding-left: 38px; }
  .assistant-bubble { font-size: 12px; }
  .assistant-welcome { padding: 8px 0 26px; }
  .assistant-welcome-mark { width: 64px; height: 59px; margin-bottom: 8px; }
  .assistant-welcome h1 { font-size: 25px; }
  .assistant-welcome p { margin: 6px 0 16px; font-size: 12px; }
  .assistant-start-actions { grid-template-columns: 1fr; gap: 7px; width: min(340px, 100%); }
  .assistant-start-actions button { min-height: 52px; padding: 9px 11px; }
  .assistant-start-actions svg { flex-basis: 23px; width: 23px; height: 23px; }
  .assistant-suggestions-empty { display: none; }
  .assistant-suggestions { justify-content: flex-start; padding-inline: 12px; scrollbar-width: none; }
  .assistant-suggestions::-webkit-scrollbar { display: none; }
  .assistant-composer { width: calc(100% - 24px); margin-bottom: 10px; padding: 6px; }
  .assistant-composer input { height: 44px; font-size: 12px; }
  .assistant-status { width: calc(100% - 24px); margin: -4px auto 8px; }
  .product-tour-card {
    left: 12px; right: 12px; bottom: calc(74px + env(safe-area-inset-bottom));
    width: auto; max-height: calc(100vh - 104px - env(safe-area-inset-bottom));
    transform: none; padding: 16px 15px 14px;
  }
  .product-tour-card h2 { font-size: 20px; }
  .product-tour-card > p { font-size: 11.5px; }
  .product-tour-tabs > span { font-size: 9px; }
  .product-tour-footer button { padding-inline: 11px; }
  .filter-rank-toggle { right: 12px; top: auto; bottom: 54px; transform: none; }
  .filter-rank-panel {
    left: 10px; right: 10px; top: auto; bottom: 100px; width: auto;
    max-height: 46%; padding: 13px;
  }
  .filter-rank-list { max-height: calc(46vh - 90px); }
  #detail-compare { grid-template-columns: 1fr; }
  .selected-metric-value { font-size: 24px; }
  .detail-next-step { grid-template-columns: 1fr; align-items: start; }
  .detail-next-step-actions { justify-content: flex-start; }
  .buyer-grid { grid-template-columns: 1fr; }
  .buyer-hub { padding: 16px 12px 24px; }
  .buyer-hub-head { margin-bottom: 12px; }
  .buyer-hub-head h1 { font-size: 23px; }
  .buyer-hub-head p { font-size: 12px; }
  .buyer-metric-panel { margin-bottom: 12px; padding: 12px 0; }
  .buyer-metric-toolbar { display: grid; gap: 10px; }
  .buyer-metric-add { grid-template-columns: minmax(0, 1fr) auto; }
  .buyer-metric-table { min-width: 540px; }
  .buyer-metric-table th, .buyer-metric-table td { min-width: 135px; padding: 8px 9px; }
  .buyer-metric-table th:first-child { width: 1%; min-width: 0; }
  .buyer-hub-list { grid-template-columns: 1fr; }
  .buyer-hub-card { padding: 12px; }
  .property-buyer { padding: 16px 12px 28px; }
  .property-lookup-form { padding: 7px; }
  .property-buyer-head { margin-top: 15px; margin-bottom: 13px; }
  .property-buyer-head h1 { font-size: 23px; }
  .property-buyer-head p { font-size: 12px; }
  .property-local-note { display: none; }
  .property-lookup-row { grid-template-columns: minmax(0, 1fr) auto; gap: 6px; }
  .property-lookup-row input { min-height: 42px; font-size: 12px; }
  .property-lookup-row > button { width: auto; min-height: 42px; padding-inline: 10px; white-space: nowrap; }
  .property-lookup-help { display: none; }
  .property-context-card { display: grid; gap: 9px; }
  .property-context-card h2 { font-size: 18px; }
  .property-context-actions { align-items: flex-start; }
  .property-buyer-layout { grid-template-columns: 1fr; }
  .property-chart-grid { grid-template-columns: 1fr; }
  .property-input-panel, .property-results-panel, .property-investment-panel, .property-amortization-panel, .property-neighborhood-panel { padding: 12px; }
  .property-form-head { display: grid; }
  #property-reset-inputs { justify-self: start; }
  .property-input-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: start;
    gap: 8px;
    max-width: 344px;
  }
  .property-primary-inputs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: start;
    gap: 11px 8px;
    max-width: 344px;
  }
  .property-input-control input { height: 34px; padding: 5px 7px; }
  .property-input-control small { padding-right: 6px; }
  .property-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .property-summary-grid > div { min-height: 82px; padding: 10px; }
  .property-summary-grid strong { font-size: 17px; }
  .property-cost-breakdown { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .investment-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .property-section-head { display: grid; }
  .investment-chart-controls { justify-items: start; }
  .investment-legend { justify-content: flex-start; }
  #investment-chart { height: 230px; }
  .amortization-legend { justify-content: flex-start; }
  #amortization-chart { height: 230px; }
  .property-neighborhood-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .property-buyer-empty { margin-top: 5vh; padding: 22px 16px; }
  #mobile-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px; min-height: 62px; padding: 6px 10px calc(6px + env(safe-area-inset-bottom));
  }
  .mobile-nav-item {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
    border: 0; border-radius: 8px; background: transparent; color: var(--muted);
    min-height: 48px; font-size: 10.5px; font-weight: 850; white-space: nowrap;
  }
.mobile-nav-item.active { background: var(--accent-soft); color: var(--accent); }
  #status-bar { display: none; }
  .metric-map-label { min-width: 43px; max-width: 92px; padding: 2px 4px; }
  .metric-map-label span { font-size: 7px; }
  .metric-map-label strong { font-size: 9px; }
}
