@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/static/dmsans-400-latin.d507c8c5bb.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2190-2199, U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/static/dmsans-400-latin-ext.d168c13008.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/static/dmsans-500-latin.be1c354b0c.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2190-2199, U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/static/dmsans-500-latin-ext.fb92e32b7f.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/static/dmsans-600-latin.633014cb34.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2190-2199, U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/static/dmsans-600-latin-ext.ea0cc909e4.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:700;font-display:swap;src:url(/static/dmsans-700-latin.21d04d4da9.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2190-2199, U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:700;font-display:swap;src:url(/static/dmsans-700-latin-ext.25a17e14b1.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"RV Figures";font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/geist-mono-var.3f98383b12.woff2) format("woff2");unicode-range:U+0024-0025,U+002B,U+002D,U+0030-0039,U+00B1,U+2212}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/geist-mono-var.3f98383b12.woff2) format("woff2")}
@font-face{font-family:Pretendard;font-style:normal;font-weight:400;font-display:swap;src:url(/static/pretendard-400-b.fd36c28eee.woff2) format("woff2");unicode-range:U+AC00-D7A3}
@font-face{font-family:Pretendard;font-style:normal;font-weight:400;font-display:swap;src:url(/static/pretendard-400-a.34fe204e57.woff2) format("woff2");unicode-range:U+3131-318E,U+AC00-AC01,U+AC04,U+AC08,U+AC10-AC12,U+AC14-AC16,U+AC19,U+AC1C-AC1D,U+AC24,U+AC2D,U+AC31,U+AC70,U+AC74,U+AC77-AC78,U+AC80-AC81,U+AC83,U+AC8C,U+ACA0,U+ACA8-ACA9,U+ACAC,U+ACB0,U+ACBC-ACBD,U+ACC4,U+ACE0-ACE1,U+ACE4,U+ACE7-ACE8,U+ACF1,U+ACF3,U+ACF5,U+ACFC,U+AD00,U+AD04,U+AD11,U+AD1C,U+AD34,U+AD50,U+AD6C-AD6D,U+AD70,U+AD74-AD75,U+AD81,U+AD8C,U+ADC0,U+ADDC,U+ADE0,U+ADF8-ADF9,U+ADFC,U+AE00,U+AE08-AE09,U+AE30,U+AE34,U+AE38,U+AE40-AE41,U+AE4A,U+AE4C,U+AE4E,U+AE54,U+AE5D,U+AE65,U+AE68,U+AEBC,U+AECF,U+AED8,U+AF2C-AF2D,U+AF43,U+AFB8,U+AFBC,U+AFC0,U+AFC8-AFC9,U+AFD4,U+AFE8,U+B00C,U+B010,U+B014,U+B01C-B01D,U+B044,U+B04A,U+B04C,U+B054,U+B05D,U+B07C,U+B08C-B08D,U+B098-B099,U+B09C,U+B0A0,U+B0A8-B0A9,U+B0AC,U+B0AE,U+B0B4,U+B0B8,U+B0BC,U+B0C4-B0C5,U+B0C8,U+B0D0,U+B0E5,U+B108,U+B110,U+B113,U+B118,U+B123-B124,U+B137,U+B140,U+B144,U+B150,U+B155,U+B178-B179,U+B17C,U+B180,U+B18D,U+B192-B193,U+B204,U+B208,U+B20C,U+B214-B215,U+B220,U+B269,U+B274,U+B290,U+B294,U+B298,U+B2A5-B2A6,U+B2C8-B2C9,U+B2CC,U+B2D8-B2D9,U+B2DD,U+B2E4-B2E5,U+B2E8,U+B2EB-B2EC,U+B2F4-B2F5,U+B2F7,U+B2F9,U+B2FF-B300,U+B313,U+B354-B355,U+B358,U+B35C,U+B370-B371,U+B378,U+B3C4-B3C5,U+B3C8,U+B3CC,U+B3D9,U+B3FC,U+B410,U+B418,U+B41C,U+B420,U+B428-B429,U+B450,U+B454,U+B458,U+B460-B461,U+B4A4,U+B4B7,U+B4C0,U+B4DC-B4DD,U+B4E0,U+B4E4,U+B4ED,U+B4EF,U+B4F1,U+B514,U+B518,U+B527,U+B529,U+B530-B531,U+B538,U+B545,U+B54C,U+B550,U+B560,U+B5A0,U+B5A4,U+B5A8,U+B5BB-B5BC,U+B610-B611,U+B69C,U+B6F0,U+B6F8,U+B700-B701,U+B728,U+B73B,U+B744,U+B77C-B77D,U+B780,U+B78C-B78D,U+B790-B791,U+B798-B799,U+B79C,U+B7A8-B7A9,U+B7AD,U+B7B5,U+B7C9,U+B7EC-B7ED,U+B7F0,U+B7F4,U+B7FC-B7FD,U+B800-B801,U+B807-B809,U+B80C,U+B824-B825,U+B828,U+B82C,U+B837-B839,U+B840,U+B85C-B85D,U+B860,U+B864,U+B86D,U+B86F,U+B871,U+B8B0,U+B8CC,U+B8E8,U+B8F9,U+B904,U+B958,U+B960,U+B974,U+B978,U+B97C,U+B984-B985,U+B9AC-B9AD,U+B9B0,U+B9B4,U+B9BC-B9BD,U+B9BF,U+B9C1,U+B9C8-B9C9,U+B9CC,U+B9CE,U+B9D0,U+B9DB,U+B9DD-B9DE,U+B9E1,U+B9E4-B9E5,U+B9E8,U+B9F5,U+BA38-BA39,U+BA3C,U+BA40,U+BA48,U+BA4B,U+BA54,U+BA58,U+BA70,U+BA74,U+BA85,U+BA87,U+BAA8-BAA9,U+BAAB-BAAC,U+BAB0,U+BAB8,U+BABB,U+BB34,U+BB36,U+BB38,U+BB3B-BB3C,U+BB45,U+BB50,U+BBA4,U+BBAC,U+BBC0,U+BBF8,U+BBFC,U+BBFF-BC00,U+BC0D,U+BC0F,U+BC14-BC16,U+BC18,U+BC1B-BC1D,U+BC24-BC25,U+BC29,U+BC30-BC31,U+BC34,U+BC38,U+BC84,U+BC88,U+BC8C,U+BC94-BC95,U+BC97,U+BCA0,U+BCA4,U+BCA8,U+BCBD,U+BCC0,U+BCC4,U+BCD1,U+BCF4-BCF5,U+BCF8,U+BCFC,U+BD04-BD05,U+BD07,U+BD09,U+BD10,U+BD24,U+BD80-BD81,U+BD84,U+BD88,U+BD99,U+BDF0,U+BE0C,U+BE14,U+BE44,U+BE48,U+BE4C,U+BE59,U+BE5B,U+BE60,U+BE68,U+BE7C,U+BE80,U+BE84,U+BE8D,U+BED4,U+BFD0,U+C058,U+C05C,U+C069,U+C0AC-C0AD,U+C0B0,U+C0B4,U+C0BC-C0BD,U+C0C1,U+C0C8-C0C9,U+C0D8,U+C0DD,U+C0E4,U+C0F5,U+C0F7,U+C11C-C11E,U+C120,U+C124,U+C12C-C12D,U+C12F,U+C131,U+C138-C139,U+C13C,U+C140,U+C149,U+C14B,U+C154,U+C158,U+C15C,U+C168,U+C18C-C18D,U+C190,U+C194,U+C1A1,U+C1C4,U+C1FC,U+C20F,U+C218-C219,U+C21C,U+C220,U+C228,U+C22B,U+C26C,U+C27D,U+C288,U+C2A4,U+C2A8,U+C2AC,U+C2B5,U+C2B7,U+C2B9,U+C2DC-C2DD,U+C2E0,U+C2E4,U+C2EB-C2ED,U+C2F1,U+C2F6,U+C2F8,U+C30D,U+C313,U+C368,U+C37C,U+C3E0,U+C4F0,U+C4F4,U+C4F8,U+C501,U+C528-C529,U+C52C,U+C544-C545,U+C548,U+C54A,U+C54C,U+C554-C555,U+C558-C559,U+C55E,U+C560-C561,U+C564,U+C571,U+C57C-C57D,U+C587,U+C591,U+C5B4-C5B5,U+C5B8,U+C5BB-C5BC,U+C5C4-C5C8,U+C5D0,U+C5D4,U+C5D8,U+C5EC-C5ED,U+C5F0,U+C5F4,U+C5FC-C5FD,U+C600-C601,U+C606,U+C608,U+C624-C625,U+C628,U+C62C,U+C62E,U+C634-C635,U+C637,U+C640,U+C644,U+C651,U+C654-C655,U+C65C,U+C678,U+C67C,U+C694-C695,U+C6A9,U+C6B0-C6B1,U+C6B4,U+C6B8,U+C6C0-C6C1,U+C6C3,U+C6CC,U+C6D0,U+C6D4,U+C6E8,U+C6F0,U+C6F9,U+C704,U+C70C,U+C719,U+C720-C721,U+C724,U+C728,U+C735,U+C73C,U+C740,U+C744,U+C74C,U+C751,U+C758,U+C774-C775,U+C778,U+C77C-C77D,U+C783-C785,U+C787-C789,U+C790-C791,U+C794,U+C798,U+C7A0-C7A1,U+C7A5-C7A6,U+C7AC-C7AD,U+C7BD,U+C7C1,U+C800-C801,U+C804,U+C808,U+C810-C811,U+C815,U+C81C,U+C838,U+C84C,U+C870-C871,U+C874,U+C880-C881,U+C885,U+C88B-C88C,U+C8C4,U+C8E0,U+C8FC-C8FD,U+C900,U+C904,U+C90C-C90D,U+C911,U+C918,U+C988-C989,U+C98C,U+C990,U+C998,U+C99D,U+C9C0-C9C1,U+C9C4,U+C9C8,U+C9D0-C9D1,U+C9D3,U+C9D5,U+C9DC-C9DD,U+C9E7,U+C9F8,U+CABD,U+CB49,U+CBE4,U+CC0C-CC0D,U+CC28-CC29,U+CC2C,U+CC2E,U+CC30,U+CC38,U+CC3C-CC3E,U+CC44-CC45,U+CC98-CC99,U+CC9C,U+CCA0,U+CCA8,U+CCAB,U+CCAD,U+CCB4,U+CCD0,U+CD08,U+CD0C,U+CD18,U+CD1D,U+CD2C,U+CD5C,U+CD94-CD95,U+CD98,U+CD9C,U+CDA4-CDA5,U+CDA9,U+CDB0,U+CDC4,U+CDCC,U+CDE8,U+CE20-CE21,U+CE35,U+CE58-CE59,U+CE5C,U+CE60,U+CE68-CE69,U+CE6D,U+CE74,U+CE78,U+CE7C,U+CE90,U+CE94,U+CE98,U+CEA0,U+CEE4,U+CEE8,U+CEEC,U+CEF4,U+CF00,U+CF13,U+CF1C,U+CF20,U+CF30,U+CF54,U+CF58,U+CF5C,U+CFE0,U+CFE8,U+D000,U+D018,U+D034,U+D050,U+D06C,U+D070,U+D074,U+D07C-D07D,U+D0A4,U+D0A8,U+D0B5,U+D0B9,U+D0C0-D0C1,U+D0C4,U+D0C8,U+D0D0-D0D1,U+D0D5,U+D0DC-D0DD,U+D0EC-D0ED,U+D130,U+D134,U+D138,U+D140,U+D14C-D14D,U+D150,U+D154,U+D15C,U+D1A0-D1A1,U+D1A4,U+D1B1,U+D1B5,U+D1F4,U+D22C,U+D280,U+D288,U+D29C,U+D2B8-D2B9,U+D2BC,U+D2C0,U+D2F0-D2F1,U+D2F4,U+D300-D301,U+D305,U+D30C,U+D310,U+D314,U+D31C-D31D,U+D328-D329,U+D32C,U+D37C,U+D380,U+D398,U+D39C,U+D3B8,U+D3BC,U+D3C9,U+D3D0,U+D3EC-D3ED,U+D3F0,U+D3F4,U+D3FC,U+D45C,U+D478,U+D480,U+D488,U+D48D,U+D4E8,U+D504,U+D508,U+D50C,U+D53C-D53D,U+D540,U+D544,U+D551,U+D558-D559,U+D55C,U+D560,U+D568-D569,U+D56B,U+D56D,U+D574,U+D588-D589,U+D5A5,U+D5C8,U+D5CC,U+D5D8,U+D5E4,U+D5EC,U+D600-D601,U+D604,U+D611,U+D614-D615,U+D61C,U+D638-D639,U+D63C,U+D640,U+D648,U+D64D,U+D654-D655,U+D658,U+D65C,U+D669,U+D68C-D68D,U+D69F,U+D6A1,U+D6A8,U+D6C4-D6C5,U+D6C8,U+D6E8,U+D720,U+D734,U+D750,U+D754,U+D765,U+D76C,U+D788,U+D78C,U+D790,U+D798-D799}
@font-face{font-family:Pretendard;font-style:normal;font-weight:500;font-display:swap;src:url(/static/pretendard-500-b.3529984e9f.woff2) format("woff2");unicode-range:U+AC00-D7A3}
@font-face{font-family:Pretendard;font-style:normal;font-weight:500;font-display:swap;src:url(/static/pretendard-500-a.0520ca8ddf.woff2) format("woff2");unicode-range:U+3131-318E,U+AC00-AC01,U+AC04,U+AC08,U+AC10-AC12,U+AC14-AC16,U+AC19,U+AC1C-AC1D,U+AC24,U+AC2D,U+AC31,U+AC70,U+AC74,U+AC77-AC78,U+AC80-AC81,U+AC83,U+AC8C,U+ACA0,U+ACA8-ACA9,U+ACAC,U+ACB0,U+ACBC-ACBD,U+ACC4,U+ACE0-ACE1,U+ACE4,U+ACE7-ACE8,U+ACF1,U+ACF3,U+ACF5,U+ACFC,U+AD00,U+AD04,U+AD11,U+AD1C,U+AD34,U+AD50,U+AD6C-AD6D,U+AD70,U+AD74-AD75,U+AD81,U+AD8C,U+ADC0,U+ADDC,U+ADE0,U+ADF8-ADF9,U+ADFC,U+AE00,U+AE08-AE09,U+AE30,U+AE34,U+AE38,U+AE40-AE41,U+AE4A,U+AE4C,U+AE4E,U+AE54,U+AE5D,U+AE65,U+AE68,U+AEBC,U+AECF,U+AED8,U+AF2C-AF2D,U+AF43,U+AFB8,U+AFBC,U+AFC0,U+AFC8-AFC9,U+AFD4,U+AFE8,U+B00C,U+B010,U+B014,U+B01C-B01D,U+B044,U+B04A,U+B04C,U+B054,U+B05D,U+B07C,U+B08C-B08D,U+B098-B099,U+B09C,U+B0A0,U+B0A8-B0A9,U+B0AC,U+B0AE,U+B0B4,U+B0B8,U+B0BC,U+B0C4-B0C5,U+B0C8,U+B0D0,U+B0E5,U+B108,U+B110,U+B113,U+B118,U+B123-B124,U+B137,U+B140,U+B144,U+B150,U+B155,U+B178-B179,U+B17C,U+B180,U+B18D,U+B192-B193,U+B204,U+B208,U+B20C,U+B214-B215,U+B220,U+B269,U+B274,U+B290,U+B294,U+B298,U+B2A5-B2A6,U+B2C8-B2C9,U+B2CC,U+B2D8-B2D9,U+B2DD,U+B2E4-B2E5,U+B2E8,U+B2EB-B2EC,U+B2F4-B2F5,U+B2F7,U+B2F9,U+B2FF-B300,U+B313,U+B354-B355,U+B358,U+B35C,U+B370-B371,U+B378,U+B3C4-B3C5,U+B3C8,U+B3CC,U+B3D9,U+B3FC,U+B410,U+B418,U+B41C,U+B420,U+B428-B429,U+B450,U+B454,U+B458,U+B460-B461,U+B4A4,U+B4B7,U+B4C0,U+B4DC-B4DD,U+B4E0,U+B4E4,U+B4ED,U+B4EF,U+B4F1,U+B514,U+B518,U+B527,U+B529,U+B530-B531,U+B538,U+B545,U+B54C,U+B550,U+B560,U+B5A0,U+B5A4,U+B5A8,U+B5BB-B5BC,U+B610-B611,U+B69C,U+B6F0,U+B6F8,U+B700-B701,U+B728,U+B73B,U+B744,U+B77C-B77D,U+B780,U+B78C-B78D,U+B790-B791,U+B798-B799,U+B79C,U+B7A8-B7A9,U+B7AD,U+B7B5,U+B7C9,U+B7EC-B7ED,U+B7F0,U+B7F4,U+B7FC-B7FD,U+B800-B801,U+B807-B809,U+B80C,U+B824-B825,U+B828,U+B82C,U+B837-B839,U+B840,U+B85C-B85D,U+B860,U+B864,U+B86D,U+B86F,U+B871,U+B8B0,U+B8CC,U+B8E8,U+B8F9,U+B904,U+B958,U+B960,U+B974,U+B978,U+B97C,U+B984-B985,U+B9AC-B9AD,U+B9B0,U+B9B4,U+B9BC-B9BD,U+B9BF,U+B9C1,U+B9C8-B9C9,U+B9CC,U+B9CE,U+B9D0,U+B9DB,U+B9DD-B9DE,U+B9E1,U+B9E4-B9E5,U+B9E8,U+B9F5,U+BA38-BA39,U+BA3C,U+BA40,U+BA48,U+BA4B,U+BA54,U+BA58,U+BA70,U+BA74,U+BA85,U+BA87,U+BAA8-BAA9,U+BAAB-BAAC,U+BAB0,U+BAB8,U+BABB,U+BB34,U+BB36,U+BB38,U+BB3B-BB3C,U+BB45,U+BB50,U+BBA4,U+BBAC,U+BBC0,U+BBF8,U+BBFC,U+BBFF-BC00,U+BC0D,U+BC0F,U+BC14-BC16,U+BC18,U+BC1B-BC1D,U+BC24-BC25,U+BC29,U+BC30-BC31,U+BC34,U+BC38,U+BC84,U+BC88,U+BC8C,U+BC94-BC95,U+BC97,U+BCA0,U+BCA4,U+BCA8,U+BCBD,U+BCC0,U+BCC4,U+BCD1,U+BCF4-BCF5,U+BCF8,U+BCFC,U+BD04-BD05,U+BD07,U+BD09,U+BD10,U+BD24,U+BD80-BD81,U+BD84,U+BD88,U+BD99,U+BDF0,U+BE0C,U+BE14,U+BE44,U+BE48,U+BE4C,U+BE59,U+BE5B,U+BE60,U+BE68,U+BE7C,U+BE80,U+BE84,U+BE8D,U+BED4,U+BFD0,U+C058,U+C05C,U+C069,U+C0AC-C0AD,U+C0B0,U+C0B4,U+C0BC-C0BD,U+C0C1,U+C0C8-C0C9,U+C0D8,U+C0DD,U+C0E4,U+C0F5,U+C0F7,U+C11C-C11E,U+C120,U+C124,U+C12C-C12D,U+C12F,U+C131,U+C138-C139,U+C13C,U+C140,U+C149,U+C14B,U+C154,U+C158,U+C15C,U+C168,U+C18C-C18D,U+C190,U+C194,U+C1A1,U+C1C4,U+C1FC,U+C20F,U+C218-C219,U+C21C,U+C220,U+C228,U+C22B,U+C26C,U+C27D,U+C288,U+C2A4,U+C2A8,U+C2AC,U+C2B5,U+C2B7,U+C2B9,U+C2DC-C2DD,U+C2E0,U+C2E4,U+C2EB-C2ED,U+C2F1,U+C2F6,U+C2F8,U+C30D,U+C313,U+C368,U+C37C,U+C3E0,U+C4F0,U+C4F4,U+C4F8,U+C501,U+C528-C529,U+C52C,U+C544-C545,U+C548,U+C54A,U+C54C,U+C554-C555,U+C558-C559,U+C55E,U+C560-C561,U+C564,U+C571,U+C57C-C57D,U+C587,U+C591,U+C5B4-C5B5,U+C5B8,U+C5BB-C5BC,U+C5C4-C5C8,U+C5D0,U+C5D4,U+C5D8,U+C5EC-C5ED,U+C5F0,U+C5F4,U+C5FC-C5FD,U+C600-C601,U+C606,U+C608,U+C624-C625,U+C628,U+C62C,U+C62E,U+C634-C635,U+C637,U+C640,U+C644,U+C651,U+C654-C655,U+C65C,U+C678,U+C67C,U+C694-C695,U+C6A9,U+C6B0-C6B1,U+C6B4,U+C6B8,U+C6C0-C6C1,U+C6C3,U+C6CC,U+C6D0,U+C6D4,U+C6E8,U+C6F0,U+C6F9,U+C704,U+C70C,U+C719,U+C720-C721,U+C724,U+C728,U+C735,U+C73C,U+C740,U+C744,U+C74C,U+C751,U+C758,U+C774-C775,U+C778,U+C77C-C77D,U+C783-C785,U+C787-C789,U+C790-C791,U+C794,U+C798,U+C7A0-C7A1,U+C7A5-C7A6,U+C7AC-C7AD,U+C7BD,U+C7C1,U+C800-C801,U+C804,U+C808,U+C810-C811,U+C815,U+C81C,U+C838,U+C84C,U+C870-C871,U+C874,U+C880-C881,U+C885,U+C88B-C88C,U+C8C4,U+C8E0,U+C8FC-C8FD,U+C900,U+C904,U+C90C-C90D,U+C911,U+C918,U+C988-C989,U+C98C,U+C990,U+C998,U+C99D,U+C9C0-C9C1,U+C9C4,U+C9C8,U+C9D0-C9D1,U+C9D3,U+C9D5,U+C9DC-C9DD,U+C9E7,U+C9F8,U+CABD,U+CB49,U+CBE4,U+CC0C-CC0D,U+CC28-CC29,U+CC2C,U+CC2E,U+CC30,U+CC38,U+CC3C-CC3E,U+CC44-CC45,U+CC98-CC99,U+CC9C,U+CCA0,U+CCA8,U+CCAB,U+CCAD,U+CCB4,U+CCD0,U+CD08,U+CD0C,U+CD18,U+CD1D,U+CD2C,U+CD5C,U+CD94-CD95,U+CD98,U+CD9C,U+CDA4-CDA5,U+CDA9,U+CDB0,U+CDC4,U+CDCC,U+CDE8,U+CE20-CE21,U+CE35,U+CE58-CE59,U+CE5C,U+CE60,U+CE68-CE69,U+CE6D,U+CE74,U+CE78,U+CE7C,U+CE90,U+CE94,U+CE98,U+CEA0,U+CEE4,U+CEE8,U+CEEC,U+CEF4,U+CF00,U+CF13,U+CF1C,U+CF20,U+CF30,U+CF54,U+CF58,U+CF5C,U+CFE0,U+CFE8,U+D000,U+D018,U+D034,U+D050,U+D06C,U+D070,U+D074,U+D07C-D07D,U+D0A4,U+D0A8,U+D0B5,U+D0B9,U+D0C0-D0C1,U+D0C4,U+D0C8,U+D0D0-D0D1,U+D0D5,U+D0DC-D0DD,U+D0EC-D0ED,U+D130,U+D134,U+D138,U+D140,U+D14C-D14D,U+D150,U+D154,U+D15C,U+D1A0-D1A1,U+D1A4,U+D1B1,U+D1B5,U+D1F4,U+D22C,U+D280,U+D288,U+D29C,U+D2B8-D2B9,U+D2BC,U+D2C0,U+D2F0-D2F1,U+D2F4,U+D300-D301,U+D305,U+D30C,U+D310,U+D314,U+D31C-D31D,U+D328-D329,U+D32C,U+D37C,U+D380,U+D398,U+D39C,U+D3B8,U+D3BC,U+D3C9,U+D3D0,U+D3EC-D3ED,U+D3F0,U+D3F4,U+D3FC,U+D45C,U+D478,U+D480,U+D488,U+D48D,U+D4E8,U+D504,U+D508,U+D50C,U+D53C-D53D,U+D540,U+D544,U+D551,U+D558-D559,U+D55C,U+D560,U+D568-D569,U+D56B,U+D56D,U+D574,U+D588-D589,U+D5A5,U+D5C8,U+D5CC,U+D5D8,U+D5E4,U+D5EC,U+D600-D601,U+D604,U+D611,U+D614-D615,U+D61C,U+D638-D639,U+D63C,U+D640,U+D648,U+D64D,U+D654-D655,U+D658,U+D65C,U+D669,U+D68C-D68D,U+D69F,U+D6A1,U+D6A8,U+D6C4-D6C5,U+D6C8,U+D6E8,U+D720,U+D734,U+D750,U+D754,U+D765,U+D76C,U+D788,U+D78C,U+D790,U+D798-D799}
@font-face{font-family:Pretendard;font-style:normal;font-weight:600;font-display:swap;src:url(/static/pretendard-600-b.6ec735d85f.woff2) format("woff2");unicode-range:U+AC00-D7A3}
@font-face{font-family:Pretendard;font-style:normal;font-weight:600;font-display:swap;src:url(/static/pretendard-600-a.0ac0c48b60.woff2) format("woff2");unicode-range:U+3131-318E,U+AC00-AC01,U+AC04,U+AC08,U+AC10-AC12,U+AC14-AC16,U+AC19,U+AC1C-AC1D,U+AC24,U+AC2D,U+AC31,U+AC70,U+AC74,U+AC77-AC78,U+AC80-AC81,U+AC83,U+AC8C,U+ACA0,U+ACA8-ACA9,U+ACAC,U+ACB0,U+ACBC-ACBD,U+ACC4,U+ACE0-ACE1,U+ACE4,U+ACE7-ACE8,U+ACF1,U+ACF3,U+ACF5,U+ACFC,U+AD00,U+AD04,U+AD11,U+AD1C,U+AD34,U+AD50,U+AD6C-AD6D,U+AD70,U+AD74-AD75,U+AD81,U+AD8C,U+ADC0,U+ADDC,U+ADE0,U+ADF8-ADF9,U+ADFC,U+AE00,U+AE08-AE09,U+AE30,U+AE34,U+AE38,U+AE40-AE41,U+AE4A,U+AE4C,U+AE4E,U+AE54,U+AE5D,U+AE65,U+AE68,U+AEBC,U+AECF,U+AED8,U+AF2C-AF2D,U+AF43,U+AFB8,U+AFBC,U+AFC0,U+AFC8-AFC9,U+AFD4,U+AFE8,U+B00C,U+B010,U+B014,U+B01C-B01D,U+B044,U+B04A,U+B04C,U+B054,U+B05D,U+B07C,U+B08C-B08D,U+B098-B099,U+B09C,U+B0A0,U+B0A8-B0A9,U+B0AC,U+B0AE,U+B0B4,U+B0B8,U+B0BC,U+B0C4-B0C5,U+B0C8,U+B0D0,U+B0E5,U+B108,U+B110,U+B113,U+B118,U+B123-B124,U+B137,U+B140,U+B144,U+B150,U+B155,U+B178-B179,U+B17C,U+B180,U+B18D,U+B192-B193,U+B204,U+B208,U+B20C,U+B214-B215,U+B220,U+B269,U+B274,U+B290,U+B294,U+B298,U+B2A5-B2A6,U+B2C8-B2C9,U+B2CC,U+B2D8-B2D9,U+B2DD,U+B2E4-B2E5,U+B2E8,U+B2EB-B2EC,U+B2F4-B2F5,U+B2F7,U+B2F9,U+B2FF-B300,U+B313,U+B354-B355,U+B358,U+B35C,U+B370-B371,U+B378,U+B3C4-B3C5,U+B3C8,U+B3CC,U+B3D9,U+B3FC,U+B410,U+B418,U+B41C,U+B420,U+B428-B429,U+B450,U+B454,U+B458,U+B460-B461,U+B4A4,U+B4B7,U+B4C0,U+B4DC-B4DD,U+B4E0,U+B4E4,U+B4ED,U+B4EF,U+B4F1,U+B514,U+B518,U+B527,U+B529,U+B530-B531,U+B538,U+B545,U+B54C,U+B550,U+B560,U+B5A0,U+B5A4,U+B5A8,U+B5BB-B5BC,U+B610-B611,U+B69C,U+B6F0,U+B6F8,U+B700-B701,U+B728,U+B73B,U+B744,U+B77C-B77D,U+B780,U+B78C-B78D,U+B790-B791,U+B798-B799,U+B79C,U+B7A8-B7A9,U+B7AD,U+B7B5,U+B7C9,U+B7EC-B7ED,U+B7F0,U+B7F4,U+B7FC-B7FD,U+B800-B801,U+B807-B809,U+B80C,U+B824-B825,U+B828,U+B82C,U+B837-B839,U+B840,U+B85C-B85D,U+B860,U+B864,U+B86D,U+B86F,U+B871,U+B8B0,U+B8CC,U+B8E8,U+B8F9,U+B904,U+B958,U+B960,U+B974,U+B978,U+B97C,U+B984-B985,U+B9AC-B9AD,U+B9B0,U+B9B4,U+B9BC-B9BD,U+B9BF,U+B9C1,U+B9C8-B9C9,U+B9CC,U+B9CE,U+B9D0,U+B9DB,U+B9DD-B9DE,U+B9E1,U+B9E4-B9E5,U+B9E8,U+B9F5,U+BA38-BA39,U+BA3C,U+BA40,U+BA48,U+BA4B,U+BA54,U+BA58,U+BA70,U+BA74,U+BA85,U+BA87,U+BAA8-BAA9,U+BAAB-BAAC,U+BAB0,U+BAB8,U+BABB,U+BB34,U+BB36,U+BB38,U+BB3B-BB3C,U+BB45,U+BB50,U+BBA4,U+BBAC,U+BBC0,U+BBF8,U+BBFC,U+BBFF-BC00,U+BC0D,U+BC0F,U+BC14-BC16,U+BC18,U+BC1B-BC1D,U+BC24-BC25,U+BC29,U+BC30-BC31,U+BC34,U+BC38,U+BC84,U+BC88,U+BC8C,U+BC94-BC95,U+BC97,U+BCA0,U+BCA4,U+BCA8,U+BCBD,U+BCC0,U+BCC4,U+BCD1,U+BCF4-BCF5,U+BCF8,U+BCFC,U+BD04-BD05,U+BD07,U+BD09,U+BD10,U+BD24,U+BD80-BD81,U+BD84,U+BD88,U+BD99,U+BDF0,U+BE0C,U+BE14,U+BE44,U+BE48,U+BE4C,U+BE59,U+BE5B,U+BE60,U+BE68,U+BE7C,U+BE80,U+BE84,U+BE8D,U+BED4,U+BFD0,U+C058,U+C05C,U+C069,U+C0AC-C0AD,U+C0B0,U+C0B4,U+C0BC-C0BD,U+C0C1,U+C0C8-C0C9,U+C0D8,U+C0DD,U+C0E4,U+C0F5,U+C0F7,U+C11C-C11E,U+C120,U+C124,U+C12C-C12D,U+C12F,U+C131,U+C138-C139,U+C13C,U+C140,U+C149,U+C14B,U+C154,U+C158,U+C15C,U+C168,U+C18C-C18D,U+C190,U+C194,U+C1A1,U+C1C4,U+C1FC,U+C20F,U+C218-C219,U+C21C,U+C220,U+C228,U+C22B,U+C26C,U+C27D,U+C288,U+C2A4,U+C2A8,U+C2AC,U+C2B5,U+C2B7,U+C2B9,U+C2DC-C2DD,U+C2E0,U+C2E4,U+C2EB-C2ED,U+C2F1,U+C2F6,U+C2F8,U+C30D,U+C313,U+C368,U+C37C,U+C3E0,U+C4F0,U+C4F4,U+C4F8,U+C501,U+C528-C529,U+C52C,U+C544-C545,U+C548,U+C54A,U+C54C,U+C554-C555,U+C558-C559,U+C55E,U+C560-C561,U+C564,U+C571,U+C57C-C57D,U+C587,U+C591,U+C5B4-C5B5,U+C5B8,U+C5BB-C5BC,U+C5C4-C5C8,U+C5D0,U+C5D4,U+C5D8,U+C5EC-C5ED,U+C5F0,U+C5F4,U+C5FC-C5FD,U+C600-C601,U+C606,U+C608,U+C624-C625,U+C628,U+C62C,U+C62E,U+C634-C635,U+C637,U+C640,U+C644,U+C651,U+C654-C655,U+C65C,U+C678,U+C67C,U+C694-C695,U+C6A9,U+C6B0-C6B1,U+C6B4,U+C6B8,U+C6C0-C6C1,U+C6C3,U+C6CC,U+C6D0,U+C6D4,U+C6E8,U+C6F0,U+C6F9,U+C704,U+C70C,U+C719,U+C720-C721,U+C724,U+C728,U+C735,U+C73C,U+C740,U+C744,U+C74C,U+C751,U+C758,U+C774-C775,U+C778,U+C77C-C77D,U+C783-C785,U+C787-C789,U+C790-C791,U+C794,U+C798,U+C7A0-C7A1,U+C7A5-C7A6,U+C7AC-C7AD,U+C7BD,U+C7C1,U+C800-C801,U+C804,U+C808,U+C810-C811,U+C815,U+C81C,U+C838,U+C84C,U+C870-C871,U+C874,U+C880-C881,U+C885,U+C88B-C88C,U+C8C4,U+C8E0,U+C8FC-C8FD,U+C900,U+C904,U+C90C-C90D,U+C911,U+C918,U+C988-C989,U+C98C,U+C990,U+C998,U+C99D,U+C9C0-C9C1,U+C9C4,U+C9C8,U+C9D0-C9D1,U+C9D3,U+C9D5,U+C9DC-C9DD,U+C9E7,U+C9F8,U+CABD,U+CB49,U+CBE4,U+CC0C-CC0D,U+CC28-CC29,U+CC2C,U+CC2E,U+CC30,U+CC38,U+CC3C-CC3E,U+CC44-CC45,U+CC98-CC99,U+CC9C,U+CCA0,U+CCA8,U+CCAB,U+CCAD,U+CCB4,U+CCD0,U+CD08,U+CD0C,U+CD18,U+CD1D,U+CD2C,U+CD5C,U+CD94-CD95,U+CD98,U+CD9C,U+CDA4-CDA5,U+CDA9,U+CDB0,U+CDC4,U+CDCC,U+CDE8,U+CE20-CE21,U+CE35,U+CE58-CE59,U+CE5C,U+CE60,U+CE68-CE69,U+CE6D,U+CE74,U+CE78,U+CE7C,U+CE90,U+CE94,U+CE98,U+CEA0,U+CEE4,U+CEE8,U+CEEC,U+CEF4,U+CF00,U+CF13,U+CF1C,U+CF20,U+CF30,U+CF54,U+CF58,U+CF5C,U+CFE0,U+CFE8,U+D000,U+D018,U+D034,U+D050,U+D06C,U+D070,U+D074,U+D07C-D07D,U+D0A4,U+D0A8,U+D0B5,U+D0B9,U+D0C0-D0C1,U+D0C4,U+D0C8,U+D0D0-D0D1,U+D0D5,U+D0DC-D0DD,U+D0EC-D0ED,U+D130,U+D134,U+D138,U+D140,U+D14C-D14D,U+D150,U+D154,U+D15C,U+D1A0-D1A1,U+D1A4,U+D1B1,U+D1B5,U+D1F4,U+D22C,U+D280,U+D288,U+D29C,U+D2B8-D2B9,U+D2BC,U+D2C0,U+D2F0-D2F1,U+D2F4,U+D300-D301,U+D305,U+D30C,U+D310,U+D314,U+D31C-D31D,U+D328-D329,U+D32C,U+D37C,U+D380,U+D398,U+D39C,U+D3B8,U+D3BC,U+D3C9,U+D3D0,U+D3EC-D3ED,U+D3F0,U+D3F4,U+D3FC,U+D45C,U+D478,U+D480,U+D488,U+D48D,U+D4E8,U+D504,U+D508,U+D50C,U+D53C-D53D,U+D540,U+D544,U+D551,U+D558-D559,U+D55C,U+D560,U+D568-D569,U+D56B,U+D56D,U+D574,U+D588-D589,U+D5A5,U+D5C8,U+D5CC,U+D5D8,U+D5E4,U+D5EC,U+D600-D601,U+D604,U+D611,U+D614-D615,U+D61C,U+D638-D639,U+D63C,U+D640,U+D648,U+D64D,U+D654-D655,U+D658,U+D65C,U+D669,U+D68C-D68D,U+D69F,U+D6A1,U+D6A8,U+D6C4-D6C5,U+D6C8,U+D6E8,U+D720,U+D734,U+D750,U+D754,U+D765,U+D76C,U+D788,U+D78C,U+D790,U+D798-D799}

:root, [data-theme="dark"] {
  --rv-bg-0: #080a0d; --rv-bg-1: #0b0e12; --rv-bg-2: #10141a; --rv-bg-3: #1a2029; --rv-bg-4: #232a34;
  --rv-text-1: #e8edf3; --rv-text-2: #a1abb8; --rv-text-3: #5b6676; --rv-line-1: #1a2028; --rv-line-2: #252c35;
  --rv-bg: #080a0d; --rv-side: #0b0e12; --rv-panel: #0b0e12; --rv-panel2: #10141a; --rv-sunk: #10141a;
  --rv-text: #e8edf3; --rv-muted: #a1abb8; --rv-dim: #7c899a; --rv-faint: #5b6676; --rv-ctl: #5f6d7d;
  --rv-line: #1a2028; --rv-line2: #252c35; --rv-card-line: #1a2028; --rv-btn2: #1a2029; --rv-btn2-hover: #232a34;
  --rv-accent: #7faeff; --rv-accent-ink: #091421; --rv-accent-soft: rgba(127,174,255,.14); --rv-accent-line: rgba(127,174,255,.45); --rv-brand: #6f7276;
  --rv-primary: #7faeff; --rv-primary-hover: #99bfff; --rv-primary-pressed: #6b9cf0; --rv-primary-ink: #091421;
  --rv-pos: #4cc9a6; --rv-neg: #e8818d; --rv-pos-soft: rgba(76,201,166,.12); --rv-neg-soft: rgba(232,129,141,.12);
  --rv-up: #4cc9a6; --rv-down: #e8818d; --rv-up-ink: #080a0d; --rv-down-ink: #080a0d; --rv-warn: #f0a742; --rv-warn-soft: rgba(240,167,66,.12);
  --rv-up-soft: rgba(76,201,166,.12); --rv-down-soft: rgba(232,129,141,.12);
  --rv-shadow: none; --rv-pop: 0 12px 32px rgba(0,0,0,.5), 0 0 0 1px #252c35; --rv-nav: #0b0e12; --rv-grid: rgba(37,44,53,.6);
  --rv-focus: #7faeff; --rv-scrim: rgba(0,0,0,.6); color-scheme: dark;
  --rv-chart-1: #8a8fb8; --rv-chart-2: #b3a07c; --rv-chart-3: #9d93b3; --rv-chart-4: #7d9c9e; --rv-chart-5: #b08a92;
}
[data-theme="light"] {
  --rv-bg-0: #f7f8fa; --rv-bg-1: #ffffff; --rv-bg-2: #ffffff; --rv-bg-3: #e8ecf1; --rv-bg-4: #dde2e8;
  --rv-text-1: #14191f; --rv-text-2: #485564; --rv-text-3: #b3bcc7; --rv-line-1: #e6eaef; --rv-line-2: #d6dde5;
  --rv-up-soft: rgba(3,166,109,.10); --rv-down-soft: rgba(194,50,77,.08);
  --rv-bg: #f7f8fa; --rv-side: #ffffff; --rv-panel: #ffffff; --rv-panel2: #f0f3f6; --rv-sunk: #f0f3f6;
  --rv-text: #14191f; --rv-muted: #485564; --rv-dim: #5e6a7a; --rv-faint: #b3bcc7; --rv-ctl: #808c9b;
  --rv-line: #e6eaef; --rv-line2: #d6dde5; --rv-card-line: #e6eaef; --rv-btn2: #e8ecf1; --rv-btn2-hover: #dde2e8;
  --rv-accent: #245bc3; --rv-accent-ink: #ffffff; --rv-accent-soft: rgba(36,91,195,.08); --rv-accent-line: rgba(36,91,195,.35); --rv-brand: #a4a8ae;
  --rv-primary: #245bc3; --rv-primary-hover: #1d4fab; --rv-primary-pressed: #183f8a; --rv-primary-ink: #ffffff;
  --rv-pos: #06704f; --rv-neg: #ad2f46; --rv-pos-soft: rgba(3,166,109,.10); --rv-neg-soft: rgba(194,50,77,.08);
  --rv-up: #06704f; --rv-down: #ad2f46; --rv-up-ink: #ffffff; --rv-down-ink: #ffffff; --rv-warn: #955c00; --rv-warn-soft: rgba(240,167,66,.14);
  --rv-shadow: none; --rv-pop: 0 8px 32px rgba(30,35,41,.14); --rv-nav: #ffffff; --rv-grid: rgba(20,25,31,.07);
  --rv-focus: #245bc3; --rv-scrim: rgba(30,35,41,.4); color-scheme: light;
  --rv-chart-1: #5f6596; --rv-chart-2: #8f7a52; --rv-chart-3: #7a6e94; --rv-chart-4: #557a7c; --rv-chart-5: #92636d;
}


:root {
  --rv-font: "DM Sans", Pretendard, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Apple SD Gothic Neo", "Hiragino Sans",
    "PingFang SC", "Microsoft YaHei", sans-serif;
  --rv-font-display: var(--rv-font);
  --rv-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  /* figures: Geist Mono (one static 400, Latin), tabular and lining; CJK labels never fall into it */
  --rv-font-num: "RV Figures", var(--rv-font);
  --rv-font-mono-fig: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  /* the type table: ten sizes, nothing else (11 is for chart axes and the book header only) */
  --rv-fs-11: 11px; --rv-fs-12: 12px; --rv-fs-13: 13px; --rv-fs-14: 14px; --rv-fs-16: 16px; --rv-fs-20: 20px;
  --rv-fs-24: 24px; --rv-fs-32: 32px; --rv-fs-48: 48px; --rv-fs-64: 64px;
  --rv-ls-16: -.01em; --rv-ls-20: -.01em; --rv-ls-24: -.015em; --rv-ls-32: -.02em; --rv-ls-48: -.025em; --rv-ls-64: -.03em;
  --rv-fs-micro: 12px; --rv-fs-xs: 12px; --rv-fs-sm: 12px; --rv-fs-body-sm: 14px; --rv-fs-body: 14px; --rv-fs-md: 14px;
  --rv-fs-lg: 16px; --rv-fs-title: 20px; --rv-fs-page: 24px; --rv-fs-figure: 24px; --rv-fs-display: 32px; --rv-fs-hero: 32px;
  --rv-fs-mega: 64px; --rv-lh-mega: 68px; --rv-fs-section: 48px; --rv-lh-section: 56px;
  --rv-fs-h1: 32px; --rv-lh-h1: 40px;
  /* motion: hover and press, tab ink and toggles, menus in, modals and sheets; entering eases out, leaving eases in */
  --rv-dur-1: 90ms; --rv-dur-2: 160ms; --rv-dur-3: 220ms; --rv-dur-4: 280ms; --rv-dur-out: 120ms;
  --rv-dur-modal: 150ms;    /* a modal, a sheet or a drawer opening, with its scrim: 150 ms at most (Phase 4) */
  --rv-ease-out: cubic-bezier(.2,.8,.2,1); --rv-ease-in: cubic-bezier(.4,0,1,1);
  --rv-sp-1: 4px; --rv-sp-2: 8px; --rv-sp-3: 12px; --rv-sp-4: 16px; --rv-sp-5: 20px; --rv-sp-6: 24px; --rv-sp-8: 32px;
  --rv-sp-10: 40px; --rv-sp-14: 56px;
  --rv-r-xs: 2px; --rv-r-sm: 3px; --rv-r-md: 3px; --rv-r-lg: 4px; --rv-r-xl: 4px; --rv-r-pill: 999px;
  --rv-h-sm: 32px; --rv-h-md: 40px; --rv-h-lg: 48px; --rv-header-h: 64px; --rv-tabs-h: 56px; --rv-bw: 1px;
  --rv-gutter: 24px; --rv-max: 1248px;
}
@media (max-width: 720px) { :root { --rv-gutter: 16px; --rv-fs-hero: 24px; --rv-fs-mega: 32px; --rv-lh-mega: 40px; --rv-fs-display: 24px; --rv-fs-h1: 24px; --rv-lh-h1: 32px;
  --rv-fs-section: 32px; --rv-lh-section: 40px; } }
@media (prefers-reduced-motion: reduce) { :root { --rv-dur-1: 0ms; --rv-dur-2: 0ms; --rv-dur-3: 0ms; --rv-dur-4: 0ms; --rv-dur-out: 0ms; --rv-dur-modal: 0ms; } }


:root, [data-theme] {
  --bg: var(--rv-bg); --panel: var(--rv-panel); --panel2: var(--rv-panel2); --text: var(--rv-text); --muted: var(--rv-muted);
  --dim: var(--rv-dim); --line: var(--rv-line); --line2: var(--rv-line2); --pos: var(--rv-pos); --neg: var(--rv-neg);
  --gold: var(--rv-accent); --accent: var(--rv-accent); --accent-ink: var(--rv-accent-ink); --chip: var(--rv-sunk);
}


*, *::before, *::after { box-sizing: border-box; }
:where(html) { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
:where(body) { margin: 0; background: var(--rv-bg); color: var(--rv-text); font: 400 var(--rv-fs-body)/20px var(--rv-font);
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
:where(h1) { font-family: var(--rv-font-display); font-size: var(--rv-fs-h1); line-height: var(--rv-lh-h1); font-weight: 600; letter-spacing: var(--rv-ls-32); margin: 0 0 var(--rv-sp-2); }
:where(h2) { font-size: var(--rv-fs-title); line-height: 28px; font-weight: 600; letter-spacing: var(--rv-ls-20); margin: var(--rv-sp-8) 0 var(--rv-sp-3); }
:where(h3) { font-size: var(--rv-fs-lg); line-height: 24px; font-weight: 500; margin: var(--rv-sp-6) 0 var(--rv-sp-2); }
:where(p) { line-height: 1.6; }
:where(b, strong) { font-weight: 500; }
/* the type table as classes (radar/theme.py SCALE): 600 only from 20px up */
.rv-t11 { font: 400 var(--rv-fs-11)/14px var(--rv-font); } .rv-t12 { font: 400 var(--rv-fs-12)/16px var(--rv-font); }
.rv-t13 { font: 500 var(--rv-fs-13)/18px var(--rv-font); } .rv-t14 { font: 400 var(--rv-fs-14)/20px var(--rv-font); }
.rv-t16 { font: 500 var(--rv-fs-16)/24px var(--rv-font); letter-spacing: var(--rv-ls-16); }
.rv-t20 { font: 600 var(--rv-fs-20)/28px var(--rv-font); letter-spacing: var(--rv-ls-20); }
.rv-t24 { font: 600 var(--rv-fs-24)/32px var(--rv-font-display); letter-spacing: var(--rv-ls-24); }
.rv-t32 { font: 600 var(--rv-fs-32)/40px var(--rv-font-display); letter-spacing: var(--rv-ls-32); }
.rv-t48 { font: 600 var(--rv-fs-48)/56px var(--rv-font-display); letter-spacing: var(--rv-ls-48); }
.rv-t64 { font: 600 var(--rv-fs-64)/68px var(--rv-font-display); letter-spacing: var(--rv-ls-64); }
.rv-caps { text-transform: uppercase; font-feature-settings: "case" 1; }
:where(a) { color: var(--rv-accent); text-decoration: none; }
:where(a:hover) { text-decoration: underline; text-underline-offset: 3px; }
:where(button, input, select, textarea) { font: inherit; color: inherit; }
:where(code, kbd, pre) { font-family: var(--rv-mono); font-size: .92em; }
:where(table, .num, .rv-num) { font-variant-numeric: tabular-nums lining-nums; font-feature-settings: "tnum" 1, "lnum" 1; }
:where(table, .num, .rv-num, .rv-fig) { font-family: var(--rv-font-num); }
:where(small) { font-size: var(--rv-fs-xs); }
:where(hr) { border: 0; border-top: 1px solid var(--rv-line); margin: var(--rv-sp-6) 0; }
:where(input[type=number]) { -moz-appearance: textfield; appearance: textfield; }
:where(input[type=number])::-webkit-inner-spin-button, :where(input[type=number])::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
:where(::placeholder) { color: var(--rv-dim); opacity: 1; }
:focus-visible { outline: 0; box-shadow: 0 0 0 2px var(--rv-focus); }
/* text fields show focus with their own border (or their wrapper's :focus-within), never a second ring inside the box (owner, 2026-10-07) */
:is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=button]):not([type=submit]), textarea, select):focus-visible { box-shadow: none; outline: 0; }
/* the skip link (radar/nav.py skip_link): the first Tab stop, out of sight until it has the focus */
.rv-skip { position: fixed; left: 16px; top: 8px; z-index: 200; padding: 8px 16px; border-radius: var(--rv-r-sm); background: var(--rv-primary);
  color: var(--rv-primary-ink); font: 500 14px/20px var(--rv-font); text-decoration: none; transform: translateY(-160%); }
.rv-skip:focus { transform: none; text-decoration: none; }
::selection { background: var(--rv-accent-soft); }
[hidden] { display: none !important; }
/* a heading for screen readers and search engines only (a section whose look is its content) */
.rv-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.pos, .rv-pos { color: var(--rv-pos); } .neg, .rv-neg { color: var(--rv-neg); }
.rv-muted { color: var(--rv-muted); } .rv-dim { color: var(--rv-dim); }


/* buttons: 32 / 40 / 48 high; primary (accent fill, one per view), secondary (grey fill), ghost (text), buy, sell, danger */
.rv-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--rv-sp-2); height: var(--rv-h-md);
  padding: 0 var(--rv-sp-4); border: 0; border-radius: var(--rv-r-sm); background: var(--rv-btn2); color: var(--rv-text);
  font: 500 var(--rv-fs-md)/20px var(--rv-font); white-space: nowrap; cursor: pointer; text-decoration: none;
  transition: background-color var(--rv-dur-1) var(--rv-ease-out), opacity var(--rv-dur-1), transform var(--rv-dur-1) var(--rv-ease-out); }
.rv-btn:active { transform: scale(.98); }
.rv-btn:hover { background: var(--rv-btn2-hover); text-decoration: none; }
.rv-btn.primary { background: var(--rv-primary); color: var(--rv-primary-ink); } .rv-btn.primary:hover { background: var(--rv-primary-hover); } .rv-btn.primary:active { background: var(--rv-primary-pressed); }
.rv-btn.ghost { background: transparent; color: var(--rv-text); } .rv-btn.ghost:hover { background: var(--rv-panel2); }
.rv-btn.buy { background: var(--rv-up); color: #fff; } .rv-btn.sell { background: var(--rv-down); color: #fff; }
.rv-btn.danger { background: var(--rv-neg-soft); color: var(--rv-neg); }
.rv-btn.sm { height: var(--rv-h-sm); padding: 0 var(--rv-sp-3); font-size: var(--rv-fs-sm); }
.rv-btn.lg { height: var(--rv-h-lg); padding: 0 var(--rv-sp-6); font-size: var(--rv-fs-lg); }
.rv-btn.block { display: flex; width: 100%; }
.rv-btn:disabled, .rv-btn[aria-disabled=true] { opacity: .4; cursor: default; pointer-events: none; }
/* inputs and selects: filled, 40 high (48 on phones), a focus ring; MAX sits inside on the right (.rv-inp > .rv-max) */
.rv-input, .rv-select { width: 100%; height: var(--rv-h-md); padding: 0 var(--rv-sp-3); border: 1px solid var(--rv-line2);
  border-radius: var(--rv-r-sm); background: var(--rv-sunk); color: var(--rv-text); font: 400 var(--rv-fs-md)/20px var(--rv-font); outline: 0; }
.rv-input:hover, .rv-select:hover { border-color: var(--rv-faint); }
.rv-input:focus, .rv-select:focus { border-color: var(--rv-accent); box-shadow: 0 0 0 3px var(--rv-accent-soft); }
.rv-select { appearance: none; padding-right: 32px; background-image: linear-gradient(45deg, transparent 50%, var(--rv-muted) 50%),
  linear-gradient(135deg, var(--rv-muted) 50%, transparent 50%); background-position: calc(100% - 16px) 50%, calc(100% - 11px) 50%;
  background-size: 5px 5px; background-repeat: no-repeat; }
.rv-inp { position: relative; display: flex; align-items: center; } .rv-inp .rv-input { padding-right: 64px; }
.rv-inp .rv-max { position: absolute; right: var(--rv-sp-3); border: 0; background: none; color: var(--rv-accent); font-weight: 500; cursor: pointer; }
.rv-label { display: block; margin: var(--rv-sp-4) 0 var(--rv-sp-2); font-size: var(--rv-fs-xs); line-height: 16px; color: var(--rv-muted); }
@media (max-width: 720px) { .rv-input, .rv-select { height: var(--rv-h-lg); font-size: 16px; } }
/* tabs: underlined text for pages and sections; a segmented control for up to four short options */
.rv-tabs { display: flex; gap: var(--rv-sp-6); border-bottom: 1px solid var(--rv-line); overflow-x: auto; scrollbar-width: none;
  -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 24px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 24px), transparent); }
.rv-tabs::-webkit-scrollbar { display: none; }
.rv-tabs > * { position: relative; flex: none; height: var(--rv-h-md); padding: 0; border: 0; background: none; color: var(--rv-muted);
  font: 500 var(--rv-fs-md)/var(--rv-h-md) var(--rv-font); cursor: pointer; white-space: nowrap; text-decoration: none; }
.rv-tabs > *:hover { color: var(--rv-text); text-decoration: none; } .rv-tabs > * { transition: color var(--rv-dur-1); }
.rv-tabs > .on, .rv-tabs > [aria-selected=true] { color: var(--rv-text); }
.rv-tabs > .on::after, .rv-tabs > [aria-selected=true]::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
  border-radius: var(--rv-r-xs); background: var(--rv-accent); animation: rv-ink var(--rv-dur-2) var(--rv-ease-out); }
@keyframes rv-ink { from { transform: scaleX(.4); opacity: 0; } }
.rv-seg { display: inline-flex; gap: 2px; padding: 2px; border-radius: var(--rv-r-sm); background: var(--rv-sunk); }
.rv-seg > * { height: 28px; padding: 0 var(--rv-sp-3); border: 0; border-radius: var(--rv-r-sm); background: none; color: var(--rv-muted);
  font: 500 var(--rv-fs-sm)/28px var(--rv-font); cursor: pointer; white-space: nowrap; }
.rv-seg > * { transition: background-color var(--rv-dur-2) var(--rv-ease-out), color var(--rv-dur-1); }
.rv-seg > .on { background: var(--rv-btn2); color: var(--rv-text); }
/* tables: 12px muted header, 48px rows on a line, numbers right-aligned and tabular, the row action last */
.rv-table { width: 100%; border-collapse: collapse; font-size: var(--rv-fs-body); font-variant-numeric: tabular-nums; }
.rv-table th { height: 40px; padding: 0 var(--rv-sp-3); font-size: var(--rv-fs-xs); font-weight: 400; color: var(--rv-dim); text-align: right; white-space: nowrap; }
.rv-table td { height: 48px; padding: 0 var(--rv-sp-3); border-top: 1px solid var(--rv-line); text-align: right; }
.rv-table :is(th, td):first-child { text-align: left; padding-left: 0; } .rv-table :is(th, td):last-child { padding-right: 0; }
.rv-table tbody tr:hover td { background: var(--rv-panel2); }
.rv-table .l { text-align: left; }
/* panels: flat, no nested borders; in the light theme a hairline keeps them apart */
.rv-card { background: var(--rv-panel); border: 1px solid var(--rv-card-line); border-radius: var(--rv-r-lg); padding: var(--rv-sp-6); min-width: 0; }
.rv-card > h2:first-child, .rv-card > h3:first-child { margin-top: 0; }
.rv-hd { display: flex; align-items: center; gap: var(--rv-sp-3); margin: 0 0 var(--rv-sp-4); }
.rv-hd h2, .rv-hd h3 { margin: 0; } .rv-hd .rv-sp { flex: 1; }
.rv-kv { display: flex; justify-content: space-between; gap: var(--rv-sp-4); padding: var(--rv-sp-2) 0; font-size: var(--rv-fs-body); }
.rv-kv > :first-child { color: var(--rv-muted); }
.rv-kpi .k { font-size: var(--rv-fs-xs); line-height: 16px; color: var(--rv-muted); }
.rv-kpi .v { font-family: var(--rv-font-display); font-size: var(--rv-fs-figure); line-height: 32px; font-weight: 600; letter-spacing: var(--rv-ls-24); font-variant-numeric: tabular-nums; margin-top: var(--rv-sp-1); }
/* badges and the 24h change pill */
.rv-badge { display: inline-flex; align-items: center; gap: var(--rv-sp-1); height: 20px; padding: 0 6px; border-radius: var(--rv-r-xs);
  font-size: var(--rv-fs-xs); font-weight: 500; line-height: 20px; background: var(--rv-btn2); color: var(--rv-muted); white-space: nowrap; }
.rv-badge.accent { background: var(--rv-accent-soft); color: var(--rv-accent); } .rv-badge.pos { background: var(--rv-pos-soft); color: var(--rv-pos); }
.rv-badge.neg { background: var(--rv-neg-soft); color: var(--rv-neg); } .rv-badge.warn { background: var(--rv-warn-soft); color: var(--rv-warn); }
.rv-chg { display: inline-block; min-width: 72px; height: 32px; padding: 0 var(--rv-sp-2); border-radius: var(--rv-r-xs); font: 500 var(--rv-fs-body)/32px var(--rv-font);
  text-align: center; color: #fff; background: var(--rv-faint); font-variant-numeric: tabular-nums; }
.rv-chg.up { background: var(--rv-up); } .rv-chg.dn { background: var(--rv-down); }
/* the (i) tooltip: data-tip holds the text */
.rv-tip { position: relative; display: inline-grid; place-items: center; width: 16px; height: 16px; margin-left: var(--rv-sp-1); border-radius: 999px;
  color: var(--rv-dim); font-style: normal; cursor: help; vertical-align: -3px; }
.rv-tip::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: var(--rv-i-info) center / 14px no-repeat; mask: var(--rv-i-info) center / 14px no-repeat; }
:root { --rv-i-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 8h.01'/%3E%3C/svg%3E"); }
.rv-tip:hover::after, .rv-tip:focus::after { content: attr(data-tip); position: absolute; z-index: 80; left: 50%; bottom: calc(100% + 8px); transform: translateX(-50%);
  width: max-content; max-width: 280px; padding: var(--rv-sp-2) var(--rv-sp-3); border-radius: var(--rv-r-sm); background: var(--rv-btn2); color: var(--rv-text);
  box-shadow: var(--rv-pop); font: 400 var(--rv-fs-xs)/16px var(--rv-font); text-align: left; white-space: normal; }
/* empty states, the same in every panel: a 20px icon, one line, a hint, one action */
.rv-empty { display: grid; justify-items: center; align-content: center; gap: var(--rv-sp-2); padding: var(--rv-sp-10) var(--rv-sp-4); text-align: center; color: var(--rv-muted);
  font: 400 var(--rv-fs-12)/16px var(--rv-font); }
.rv-empty svg { width: 20px; height: 20px; color: var(--rv-faint); fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.rv-empty b, .rv-empty .rv-empty-t { font: 500 var(--rv-fs-14)/20px var(--rv-font); color: var(--rv-text); }
.rv-empty .rv-btn { margin-top: var(--rv-sp-1); }
/* skeletons while data loads: 12px bars, radius 4, a bg-3 to bg-4 shimmer; rows keep their final height (no layout shift) */
.rv-skel { display: block; min-height: 12px; border-radius: var(--rv-r-xs); color: transparent !important;
  background: linear-gradient(90deg, var(--rv-bg-3) 25%, var(--rv-bg-4) 50%, var(--rv-bg-3) 75%) 0 0 / 200% 100%; animation: rv-skel 1.2s linear infinite; }
.rv-skel-rows { display: grid; align-content: start; }
.rv-skel-rows > i { display: flex; align-items: center; gap: 12px; padding: 0 12px; }
.rv-skel-rows > i::before, .rv-skel-rows > i::after { content: ""; height: 12px; border-radius: var(--rv-r-xs);
  background: linear-gradient(90deg, var(--rv-bg-3) 25%, var(--rv-bg-4) 50%, var(--rv-bg-3) 75%) 0 0 / 200% 100%; animation: rv-skel 1.2s linear infinite; }
.rv-skel-rows > i::before { flex: 0 1 38%; } .rv-skel-rows > i::after { flex: 0 1 28%; margin-left: auto; }
@keyframes rv-skel { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .rv-skel, .rv-skel-rows > i::before, .rv-skel-rows > i::after { animation: none; } }
@keyframes rv-pop-in { from { opacity: 0; transform: translateY(4px) scale(.98); } }
@keyframes rv-fade-in { from { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { @keyframes rv-pop-in { from { opacity: 0; } } }
/* toasts */
.rv-toast { position: fixed; z-index: 90; left: 50%; bottom: calc(var(--rv-sp-6) + env(safe-area-inset-bottom)); transform: translateX(-50%);
  max-width: min(480px, calc(100vw - 32px)); padding: var(--rv-sp-3) var(--rv-sp-4); border-radius: var(--rv-r-sm); background: var(--rv-btn2);
  color: var(--rv-text); box-shadow: var(--rv-pop); font-size: var(--rv-fs-body); }
.rv-toast.ok { border-left: 3px solid var(--rv-pos); } .rv-toast.err { border-left: 3px solid var(--rv-neg); }
/* modals (desktop) and bottom sheets (phones), over a scrim */
.rv-scrim { position: fixed; inset: 0; z-index: 70; display: grid; place-items: center; padding: var(--rv-sp-4); background: var(--rv-scrim); }
.rv-modal { width: 100%; max-width: 480px; max-height: calc(100vh - 32px); overflow-y: auto; border-radius: var(--rv-r-lg); background: var(--rv-panel);
  box-shadow: var(--rv-pop); padding: var(--rv-sp-6); animation: rv-pop-in var(--rv-dur-modal) var(--rv-ease-out); }
.rv-scrim { animation: rv-fade-in var(--rv-dur-modal) var(--rv-ease-out); }
.rv-modal > h2:first-child { margin: 0 0 var(--rv-sp-4); font-size: var(--rv-fs-title); }
.rv-sheet-foot { position: sticky; bottom: calc(-1 * var(--rv-sp-6)); margin: var(--rv-sp-6) calc(-1 * var(--rv-sp-6)) calc(-1 * var(--rv-sp-6));
  padding: var(--rv-sp-4) var(--rv-sp-6) calc(var(--rv-sp-4) + env(safe-area-inset-bottom)); background: var(--rv-panel); border-top: 1px solid var(--rv-line); }
@media (max-width: 720px) { .rv-scrim { place-items: end stretch; padding: 0; }
  .rv-modal { max-width: none; max-height: 90vh; border-radius: var(--rv-r-lg) var(--rv-r-lg) 0 0; padding: var(--rv-sp-5) var(--rv-sp-4); }
  .rv-sheet-foot { margin: var(--rv-sp-5) calc(-1 * var(--rv-sp-4)) calc(-1 * var(--rv-sp-5)); padding-left: var(--rv-sp-4); padding-right: var(--rv-sp-4); } }
/* the light / dark switch */
.rv-tg { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: var(--rv-r-sm); border: 0; background: transparent;
  color: var(--rv-muted); cursor: pointer; padding: 0; flex: none; }
.rv-tg:hover { color: var(--rv-text); background: var(--rv-panel2); } .rv-tg svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; }
[data-theme="dark"] .rv-tg .sun, [data-theme="light"] .rv-tg .moon, :root:not([data-theme]) .rv-tg .sun { display: none; }


.rv-ci{--s:24px;position:relative;display:inline-grid;place-items:center;flex:none;width:var(--s);height:var(--s);border-radius:999px;
  overflow:hidden;vertical-align:middle;background:var(--rv-bg-3);color:var(--rv-text-2);
  font:500 calc(var(--s) * .5)/1 var(--rv-font);letter-spacing:0;user-select:none}
/* a logo shows the letter disc until it has loaded (a lazy row, a slow network, a missing file): never an empty gap */
.rv-ci-img:not(.ok)::before{content:attr(data-rvl)}
.rv-ci-img>img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none;margin:0;padding:0;border:0;border-radius:0;
  object-fit:contain;opacity:0;transition:opacity var(--rv-dur-2,160ms) var(--rv-ease-out,ease)}
.rv-ci-img.ok{background:transparent}.rv-ci-img.ok>img{opacity:.9}
/* the logos keep their colour, toned down to fit the site (owner, 2026-10-06: muted, not black and white) */
.rv-ci-img>img{filter:saturate(.4) brightness(.95)}
[data-theme="light"] .rv-ci-img>img{filter:saturate(.45)}
.rv-ci-tk{border-radius:calc(var(--s) * .28);background:var(--rv-btn2);color:var(--rv-muted);font-size:calc(var(--s) * .46)}
/* a stock, index, commodity or FX market: its asset class's glyph, monochrome (never a company's brand mark) */
.rv-ci-tk>svg{width:64%;height:64%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
/* an exchange's mark (venue_icon / rvVenue): one round treatment for every venue, at 16, 20 or 24px, whatever tile its
   logo file has; a page's own size rules may set the width and height, never the shape */
.rv-vl,img[src^="/brand/venues/"]{border-radius:999px!important;object-fit:cover;background:#101214}
.rv-vl{--s:16px;display:inline-grid;place-items:center;flex:none;width:var(--s);height:var(--s);overflow:hidden;vertical-align:middle;
  color:var(--rv-text-2);font:500 calc(var(--s) * .5)/1 var(--rv-font);user-select:none}
span.rv-vl{background:var(--rv-bg-3)}
.rv-ci-in{margin-right:8px;vertical-align:calc(.36em - var(--s) / 2)}
.rv-cn{display:flex;align-items:center;gap:12px;min-width:0}.rv-cn>:last-child{min-width:0}


html:not([data-theme="light"]) body.rv-site{--rv-bg:var(--rv-bg-1);--rv-side:var(--rv-bg-2);--rv-panel:var(--rv-bg-2);--rv-panel2:var(--rv-bg-3);
 --rv-sunk:var(--rv-bg-3);background:var(--rv-bg)}
html.rv-flat:not([data-theme="light"]) body.rv-site{--rv-bg:var(--rv-bg-0);--rv-side:var(--rv-bg-0);--rv-panel:var(--rv-bg-1);--rv-panel2:var(--rv-bg-2);
 --rv-sunk:var(--rv-bg-1);--rv-card-line:transparent;background:var(--rv-bg)}
html.rv-flat[data-theme="light"] body.rv-site{--rv-card-line:transparent}


html.rv-flat:not([data-theme="light"]) body.rv-site{--rv-nav:var(--rv-bg-0);--rv-btn2:var(--rv-bg-2);--rv-btn2-hover:var(--rv-bg-3)}
html.rv-flat:not([data-theme="light"]) body.rv-site :is(.rv-modal,.ntc .box,.cv-sh,.rvn-menu,.ovm,.pick-l,.rv-ddm){
 --rv-sunk:var(--rv-bg-2);--rv-btn2:var(--rv-bg-3);--rv-btn2-hover:var(--rv-bg-4)}
html.rv-flat[data-theme="light"] :is(.rv-modal,.cv-sh){border:1px solid var(--rv-line)}
.rv-ph{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 40px}
.rv-ph>div:first-child{min-width:0}
.rv-ph h1{margin:0;font:600 var(--rv-fs-32)/40px var(--rv-font-display);letter-spacing:var(--rv-ls-32)}
.rv-ph p{margin:8px 0 0;max-width:720px;color:var(--rv-muted);font-size:var(--rv-fs-16);line-height:24px}
.rv-ph p+p{margin-top:4px;font-size:var(--rv-fs-14);line-height:20px}
.rv-ph p b,.rv-ph p a{color:var(--rv-text);font-weight:500}
.rv-ph .rv-pa{display:flex;gap:8px;flex:none}
.rv-sh{display:flex;align-items:baseline;gap:12px;min-width:0;margin:0 0 16px}
.rv-sh h2{margin:0;font-size:var(--rv-fs-20);line-height:28px;font-weight:600;letter-spacing:var(--rv-ls-20);white-space:nowrap}
.rv-sh .c{color:var(--rv-dim);font-size:var(--rv-fs-14);line-height:20px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-sh>a:last-child,.rv-sh>button:last-child{margin-left:auto}
.rv-th,.rv-th>*,.rv-th th{color:var(--rv-muted);font-size:var(--rv-fs-12);line-height:16px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;font-feature-settings:"case" 1}
.rv-th :is(button,a){text-transform:inherit;letter-spacing:inherit;font-weight:inherit;font-feature-settings:inherit}
@media (max-width:860px){.rv-ph{display:block;margin:0 0 24px}.rv-ph h1{font-size:var(--rv-fs-24);line-height:32px;letter-spacing:var(--rv-ls-24)}
 .rv-ph p{font-size:var(--rv-fs-14);line-height:20px}.rv-ph .rv-pa{margin-top:16px}.rv-sh h2{font-size:var(--rv-fs-16);line-height:24px}}

/* The Obsidian design (radar/theme.py OBSIDIAN): the design package's stylesheet as delivered, scoped under .ob (its
   mockups' fixed-width .is-mobile rules become the phone media query). Generated from the package; edit with care. */
.ob{--bg:var(--rv-bg);--plane:var(--rv-panel);--input:var(--rv-panel2);--text:var(--rv-text);--secondary:var(--rv-muted);--muted:var(--rv-dim);--accent:var(--rv-accent);--up:var(--rv-up);--down:var(--rv-down);--hair:var(--rv-line2);--input-line:var(--rv-ctl);--on-accent:var(--rv-accent-ink)}
.ob :is(h1,h2,h3,h4,h5,h6,p,button,input,select,textarea,table,th,td,a){font-family:inherit;letter-spacing:inherit}
.ob *{box-sizing:border-box}
.ob{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:12px}
.ob{--sans:"DM Sans",Pretendard,Arial,sans-serif;--mono:"Geist Mono",ui-monospace,monospace;--grid:color-mix(in srgb,var(--hair) 48%,var(--bg));--candle-up:var(--secondary);--candle-down:var(--muted);--selected:color-mix(in srgb,var(--text) 10%,var(--bg));--radius:3px}
.ob .navbar{height:44px;border-bottom:1px solid var(--hair);padding:0 16px;display:flex;align-items:center;gap:44px}
.ob .navbar.marketing{height:64px!important;padding:0 48px;gap:52px}
.ob .logo{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;letter-spacing:1.6px;white-space:nowrap}
.ob .logo-mark{display:flex;align-items:flex-end;gap:3px;height:18px;width:13px}
.ob .logo-mark i{display:block;background:var(--text);width:5px;height:18px}
.ob .logo-mark i:last-child{height:12px;background:var(--accent)}
.ob .navlinks{display:flex;align-items:center;gap:24px;font-size:11px;color:var(--secondary)}
.ob .navlinks .current{color:var(--text)}
.ob .navright{display:flex;align-items:center;gap:20px;margin-left:auto;font-size:10px;color:var(--secondary)}
.ob .navright .wallet{font:10px var(--mono);border-left:1px solid var(--hair);padding-left:16px}
.ob .navbar .search{font-size:11px}
.ob .navbar .search kbd{font:9px var(--mono);color:var(--muted);margin-left:14px}
.ob .statusbar{height:24px;border-top:1px solid var(--hair);padding:0 12px;display:flex;justify-content:space-between;align-items:center;font:9px var(--mono);color:var(--muted);white-space:nowrap}
.ob .statusbar span{display:flex;gap:16px}
.ob .statusbar b{font-weight:400;color:var(--secondary)}
.ob .mobile-navbar{height:52px!important;padding:0 16px!important;gap:0!important}
.ob .mobile-navbar .logo{font-size:13px}
.ob .mobile-navbar .navright{gap:16px}
.ob .bottom-nav{display:flex;justify-content:space-around;border-top:1px solid var(--hair);height:64px;align-items:center;background:var(--bg)}
.ob .bottom-nav button{font-size:10px;color:var(--muted);width:70px;min-height:48px}
.ob .bottom-nav .selected{color:var(--text)}
.ob .bottom-nav span{display:block;font-size:17px;line-height:22px;margin-bottom:3px}
.ob .mockup-caption{font-size:8px;color:var(--muted);text-align:center;line-height:24px;border-top:1px solid var(--hair)}
@media(min-width:700px) and (max-width:1100px){.ob .navbar{gap:28px}.ob .navlinks{gap:19px}.ob .navlinks .optional{display:none}.ob .navright{gap:14px}}
.ob .num{font-family:var(--mono);font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.02em}
.ob .up{color:var(--up)!important}
.ob .down{color:var(--down)!important}
.ob .quiet{color:var(--muted)}
.ob button{font:inherit;color:inherit;background:none;border:0;cursor:default;padding:0}
.ob button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ob small{font-size:11px;color:var(--muted);font-weight:400}
.ob .tabs{display:flex;height:32px;align-items:stretch;gap:20px;border-bottom:1px solid var(--hair);padding:0 12px;white-space:nowrap}
.ob .tabs button{color:var(--muted);position:relative;font-size:12px}
.ob .tabs button.selected{color:var(--text)}
.ob .tabs button.selected:after{content:'';height:1px;background:var(--text);position:absolute;bottom:-1px;left:0;right:0}
.ob .tabs small{margin-left:4px}
.ob .market-head{height:60px;display:flex;align-items:center;gap:28px;padding:0 16px;border-bottom:1px solid var(--hair)}
.ob .market-selector{min-width:155px}
.ob .market-selector strong{display:block;font-size:17px;letter-spacing:-.5px;font-weight:600}
.ob .market-selector strong span{font-weight:400;color:var(--secondary);font-size:13px;margin-left:3px}
.ob .market-selector button{font-size:11px;color:var(--secondary);margin-top:4px}
.ob .last-price{min-width:104px}
.ob .last-price>b{font-size:20px;font-weight:500;display:block}
.ob .last-price>span{font-size:11px}
.ob .market-stat span{display:block;font-size:10px;color:var(--muted);line-height:18px}
.ob .market-stat b{font-size:12px;font-weight:400;white-space:nowrap}
.ob .market-stat em{font-style:normal}
.ob .terminal-work{display:grid;border-bottom:1px solid var(--hair)}
.ob .chart{position:relative;overflow:hidden;border-right:1px solid var(--hair);min-width:0}
.ob .chart-tools{height:36px;display:flex;justify-content:space-between;align-items:center;padding:0 12px 0 44px;border-bottom:1px solid var(--hair);color:var(--muted);font-size:11px}
.ob .chart-tools>div{display:flex;gap:16px}
.ob .chart-tools .active{color:var(--text)}
.ob .chart-caption{position:absolute;left:52px;top:52px;display:flex;gap:12px;font-size:11px}
.ob .chart-caption b{font-weight:500}
.ob .chart-caption span{color:var(--muted)}
.ob .chart-ohlc{position:absolute;top:73px;left:52px;color:var(--muted);font-size:10px;z-index:2;display:flex;gap:12px}
.ob .chart-ohlc b{font-weight:400;color:var(--text)}
.ob .draw-tools{position:absolute;left:0;top:36px;width:36px;bottom:25px;border-right:1px solid var(--hair);display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:12px;color:var(--secondary);font-size:18px}
.ob .draw-tools button{height:32px;width:32px}
.ob .draw-tools>div{flex:1}
.ob .price-chart{display:block}
.ob .chart-footer{position:absolute;bottom:0;left:36px;right:0;height:25px;border-top:1px solid var(--hair);display:flex;align-items:center;justify-content:space-between;padding:0 12px;color:var(--muted);font-size:11px}
.ob .book{border-right:1px solid var(--hair);min-width:0;overflow:hidden}
.ob .book-tools{height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-size:11px;color:var(--secondary)}
.ob .book-views{display:flex;gap:16px;font-size:17px}
.ob .book-views span{opacity:.45}
.ob .book-labels{height:20px;padding:0 12px;display:grid;grid-template-columns:1.12fr 1fr 1fr;gap:4px;color:var(--muted);font-size:10px;align-items:center}
.ob .book-labels small{font-size:8px;display:inline;margin-left:2px}
.ob .book-labels span{text-align:right}
.ob .book-row{height:20px;line-height:20px;position:relative;padding:0 12px;display:grid;grid-template-columns:1.12fr 1fr 1fr;gap:4px;font:11px/20px var(--mono);font-variant-numeric:tabular-nums;color:var(--secondary)}
.ob .book-row:before{content:'';width:var(--depth);position:absolute;right:0;top:0;bottom:0;background:var(--text);opacity:.035}
.ob .book-row>span{z-index:1;text-align:right}
.ob .book-row>span:first-child{text-align:right}
.ob .book-row.ask>span:first-child{color:var(--down)}
.ob .book-row.bid>span:first-child{color:var(--up)}
.ob .spread{height:24px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.ob .spread strong{font:13px var(--mono)}
.ob .spread>span{font-size:9px;color:var(--muted)}
.ob .more-depth{height:20px;text-align:center;font-size:10px;color:var(--secondary);line-height:20px}
.ob .order-rail{background:var(--plane);overflow:hidden}
.ob .order-form{padding:0 16px 16px}
.ob .order-title{height:32px;display:flex;justify-content:space-between;align-items:center;font-size:12px;border-bottom:1px solid var(--hair);margin:0 -16px 12px;padding:0 16px}
.ob .order-title .quiet{font-size:10px}
.ob .mode-row{display:flex;align-items:center;justify-content:space-between;gap:8px;height:28px;color:var(--secondary);font-size:11px}
.ob .mode-row button{height:24px}
.ob .open-close{padding:0;gap:0;margin:8px 0 0}
.ob .open-close button{flex:1;text-align:center;font-weight:500}
.ob .order-types{padding:0;gap:20px;height:40px;border:0}
.ob .order-types .selected:after{display:none}
.ob .order-types button{font-size:11px}
.ob .available{display:flex;justify-content:space-between;align-items:center;margin:8px 0 18px;font-size:10px;color:var(--muted)}
.ob .available b{font-size:11px;color:var(--secondary);font-weight:400}
.ob .form-label{display:block;font-size:11px;color:var(--secondary);margin:12px 0}
.ob .field{height:38px;display:flex;align-items:center;gap:8px;background:var(--input);border-bottom:1px solid var(--input-line);border-radius:var(--radius);padding:0 10px;margin-top:7px}
.ob .field b{flex:1;color:var(--text);font-size:13px;font-weight:400}
.ob .field span,.ob .field button{font-size:10px;color:var(--muted)}
.ob .pct{margin:19px 0 20px}
.ob .slider{height:3px;background:var(--hair);display:flex;position:relative;align-items:center;justify-content:space-between}
.ob .slider i{background:var(--secondary);width:4px;height:9px}
.ob .slider b{width:3px;height:7px;background:var(--muted)}
.ob .pct-labels{display:flex;justify-content:space-between;font:9px var(--mono);margin-top:9px;color:var(--muted)}
.ob .form-check{display:flex;justify-content:space-between;font-size:11px;line-height:26px}
.ob .form-check .quiet{font-size:10px}
.ob .trade-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.ob .trade-buttons button{min-height:36px;background:var(--accent);color:var(--on-accent);border-radius:var(--radius);font-size:12px;font-weight:600;padding:8px 4px}
.ob .trade-details{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:12px 0 10px}
.ob .trade-details>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 2px;font-size:9px;color:var(--muted)}
.ob .trade-details .num{font-size:10px;color:var(--secondary)}
.ob .trade-details small{font-size:8px}
.ob .fee-line{border-top:1px solid var(--hair);display:flex;justify-content:space-between;padding-top:12px;font-size:10px;color:var(--secondary)}
.ob .fee-line small{font-size:9px}
.ob .fee-note{font-size:9px;color:var(--muted);margin-top:7px}
.ob .order-note{color:var(--muted);font-size:10px;line-height:16px;margin-top:20px}
.ob .account{margin-top:4px;border-top:1px solid var(--hair);padding:0 16px}
.ob .account-title{height:38px;display:flex;align-items:center;justify-content:space-between;font-size:12px}
.ob .account-title span{font-size:10px;color:var(--muted)}
.ob .account>.quiet{font-size:10px}
.ob .account-equity{font-size:28px;line-height:38px;font-weight:400;margin-top:3px}
.ob .account-pnl{font-size:10px;color:var(--muted)}
.ob .account-pnl span{margin-left:10px}
.ob .account-venues{padding:16px 0 12px}
.ob .account-venues>div{display:flex;justify-content:space-between;font-size:11px;line-height:24px;color:var(--secondary)}
.ob .account-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;border-top:1px solid var(--hair);padding-top:9px}
.ob .account-actions button{font-size:10px;min-height:28px}
.ob .positions{height:208px;overflow:hidden}
.ob .positions .tabs{height:38px;gap:24px;padding-left:16px}
.ob .positions table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:11px}
.ob .positions th{font-size:10px;color:var(--muted);font-weight:400;text-align:right;height:30px;padding:0 16px;border-bottom:1px solid var(--hair)}
.ob .positions th:first-child,.ob .positions td:first-child{text-align:left;width:19%}
.ob .positions th:nth-child(2),.ob .positions td:nth-child(2){width:7%;text-align:left}
.ob .positions th:last-child,.ob .positions td:last-child{width:7%}
.ob .positions td{height:53px;border-bottom:1px solid var(--hair);text-align:right;padding:0 16px}
.ob .positions td b{font-weight:500}
.ob .positions td small{display:block;font-size:10px;margin-top:3px}
.ob .positions td button{font-size:11px;text-decoration:underline;text-underline-offset:4px}
.ob .position-note{font-size:10px;color:var(--muted);line-height:30px;padding-left:16px}
.ob .mobile-terminal{padding-bottom:0}
.ob .mobile-market{height:90px;padding:16px 16px 8px;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--hair)}
.ob .mobile-market>div{display:flex;flex-direction:column;gap:8px}
.ob .mobile-market b{font-size:18px;font-weight:600}
.ob .mobile-market strong{font-size:21px;font-weight:500}
.ob .mobile-market span{font-size:11px;color:var(--secondary)}
.ob .mobile-market>div:last-child{text-align:right}
.ob .mobile-stats{height:40px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--muted)}
.ob .mobile-stats b{font-weight:400;color:var(--secondary);display:block;font-size:11px;margin-top:2px}
.ob .mobile-trade-grid{display:grid;grid-template-columns:230px 160px;border-bottom:1px solid var(--hair)}
.ob .mobile-trade-grid .order-form{padding:0 12px 12px 16px;border-right:1px solid var(--hair)}
.ob .mobile-trade-grid .mode-row{font-size:10px;gap:3px;height:36px}
.ob .mobile-trade-grid .mode-row button{min-height:32px}
.ob .mobile-trade-grid .tabs{height:36px}
.ob .mobile-trade-grid .order-types{gap:14px}
.ob .mobile-trade-grid .order-types button{font-size:10px}
.ob .mobile-trade-grid .available{margin:12px 0;font-size:9px}
.ob .mobile-trade-grid .available b{font-size:10px}
.ob .mobile-trade-grid .available small{font-size:9px}
.ob .mobile-trade-grid .field{height:44px}
.ob .mobile-trade-grid .form-label{font-size:10px}
.ob .mobile-trade-grid .pct{margin:20px 0}
.ob .mobile-trade-grid .form-check{font-size:10px;line-height:32px}
.ob .mobile-trade-grid .form-check .quiet{display:none}
.ob .mobile-trade-grid .trade-buttons{gap:6px}
.ob .mobile-trade-grid .trade-buttons button{font-size:11px;height:44px}
.ob .mobile-trade-grid .trade-details{gap:10px}
.ob .mobile-trade-grid .trade-details>div{grid-template-columns:1fr;gap:4px}
.ob .mobile-trade-grid .trade-details .num{margin-bottom:4px}
.ob .mobile-trade-grid .trade-details span{font-size:9px}
.ob .mobile-trade-grid .fee-note{font-size:8px;line-height:13px}
.ob .mobile-book{border-right:0}
.ob .book-mobile-title{font-size:11px;height:36px;padding:10px 10px}
.ob .mobile-book .book-tools{padding:0 10px;height:36px}
.ob .mobile-book .book-views{gap:10px;font-size:16px}
.ob .mobile-book .book-labels{grid-template-columns:1fr 1fr;font-size:9px;padding:0 10px;height:28px}
.ob .mobile-book .book-labels small{display:block;font-size:8px;margin-top:1px}
.ob .mobile-book .book-row{height:22px;line-height:22px;grid-template-columns:1fr 1fr;padding:0 10px;font-size:10px}
.ob .mobile-book .spread{height:48px;display:block;text-align:left;padding:6px 10px}
.ob .mobile-book .spread strong{font-size:14px;display:block}
.ob .mobile-book .spread>span{display:block;margin-top:3px;font-size:9px}
.ob .mobile-chart-link{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:11px;border-bottom:1px solid var(--hair);color:var(--secondary)}
.ob .mobile-positions{padding-bottom:16px}
.ob .mobile-positions .tabs{height:44px;padding:0 16px;gap:23px}
.ob .mobile-positions .tabs button{font-size:11px}
.ob .mobile-positions>div:not(.tabs){display:flex;justify-content:space-between;font-size:11px;padding:16px 16px 0}
.ob .mobile-positions>div b{font-weight:500}
.ob .mobile-positions p{font-size:10px;color:var(--muted);margin:6px 16px 0}
.ob .mobile-positions button{min-height:28px}
.ob .mobile-equity{padding:14px 16px;border-top:1px solid var(--hair);display:flex;justify-content:space-between;font-size:10px;color:var(--secondary)}
.ob .mobile-equity b{display:block;font-size:15px;color:var(--text);font-weight:400;margin-top:5px}
.ob .mobile-equity button{font-size:11px}
@media (min-width:700px) and (max-width:1100px){.ob .market-head{gap:16px;padding:0 12px}.ob .market-selector{min-width:126px}.ob .market-selector strong{font-size:15px}.ob .last-price{min-width:94px}.ob .last-price>b{font-size:18px}.ob .market-stat b{font-size:10px}.ob .market-stat span{font-size:9px}.ob .market-stat.funding b{font-size:9px}.ob .chart-ohlc{gap:8px}.ob .chart-ohlc span{display:none}.ob .chart-tools>div{gap:10px}.ob .desktop-only{display:none}.ob .book-row{font-size:10px;padding:0 10px}.ob .spread{padding:0 10px}.ob .spread strong{font-size:12px}.ob .spread>span{font-size:8px}.ob .order-form{padding-left:14px;padding-right:14px}.ob .order-types{gap:18px}.ob .trade-details{gap:10px}.ob .trade-details>div{font-size:8px}.ob .trade-details .num{font-size:9px}.ob .positions th,.ob .positions td{padding-left:12px;padding-right:12px}.ob .positions th{font-size:9px}.ob .positions td{font-size:10px}}
.ob .order-note{display:none}
.ob .book-row{font-weight:400}
.ob .fee-note{font-size:10px}
.ob .trade-details>div{font-size:10px}
.ob .trade-details .num{font-size:10px}
.ob .book-labels{font-size:9px}
.ob .book-labels small{font-size:8px}
.ob .compact-work .order-form{padding-bottom:8px}
.ob .compact-work .order-title{margin-bottom:4px;height:28px}
.ob .compact-work .mode-row{height:24px}
.ob .compact-work .open-close{margin-top:4px;height:28px}
.ob .compact-work .order-types{height:32px}
.ob .compact-work .available{margin:4px 0 10px}
.ob .compact-work .form-label{margin:8px 0}
.ob .compact-work .field{margin-top:4px;height:34px}
.ob .compact-work .pct{margin:14px 0 10px}
.ob .compact-work .form-check{line-height:23px}
.ob .compact-work .trade-buttons{margin-top:10px}
.ob .compact-work .trade-details{padding:10px 0 6px}
.ob .compact-work .fee-line{padding-top:8px}
.ob .compact-work .fee-note{margin-top:4px}
.ob .compact-bottom{display:grid;grid-template-columns:1fr 320px;height:208px}
.ob .compact-bottom .positions{min-width:0;border-right:1px solid var(--hair)}
.ob .compact-bottom .account{margin:0;border-top:0;padding:0 16px}
.ob .compact-bottom .account-title{height:26px}
.ob .compact-bottom .account-equity{font-size:22px;line-height:29px;display:inline-block;margin-top:0;margin-left:10px}
.ob .compact-bottom .account>.quiet{font-size:9px}
.ob .compact-bottom .account-pnl{margin-top:3px}
.ob .compact-bottom .account-venues{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;padding:10px 0 7px}
.ob .compact-bottom .account-venues>div{font-size:10px;display:block;line-height:16px}
.ob .compact-bottom .account-venues .num{display:block;font-size:11px}
.ob .compact-bottom .account-actions{padding-top:3px}
.ob .compact-bottom .account-actions button{min-height:24px}
@media(min-width:700px) and (max-width:1100px){.ob .trade-details>div{grid-template-columns:1fr;gap:2px}.ob .trade-details .num{font-size:10px;margin-bottom:3px}.ob .trade-details{gap:8px;padding-top:8px;padding-bottom:4px}.ob .form-check{line-height:24px}.ob .order-form .pct{margin:16px 0 12px}.ob .available{margin-bottom:12px}.ob .form-label{margin:10px 0}.ob .order-form .trade-buttons{margin-top:12px}.ob .account-venues{padding-top:12px;padding-bottom:8px}.ob .fee-note{font-size:9px}}
.ob .home,.ob .markets,.ob .assets{box-sizing:border-box;color:var(--text);font-family:var(--sans);background:var(--bg)}
.ob .home *,.ob .markets *,.ob .assets *{box-sizing:border-box}
.ob .home a,.ob .markets a,.ob .assets a{color:inherit;text-decoration:none}
.ob .home button,.ob .assets button{font-family:var(--sans);cursor:default}
.ob .home .s-num,.ob .markets .s-num,.ob .assets .s-num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.ob .home .s-up,.ob .markets .s-up,.ob .assets .s-up{color:var(--up)}
.ob .home .s-down,.ob .markets .s-down,.ob .assets .s-down{color:var(--down)}
.ob .home .s-eyebrow,.ob .markets .s-eyebrow,.ob .assets .s-eyebrow{font-family:var(--mono);color:var(--muted);font-size:10px;line-height:16px;letter-spacing:.11em;font-weight:450}
.ob .home .s-primary,.ob .assets .s-primary{border:0;background:var(--accent);color:#0b111c;font-size:12px;font-weight:650;letter-spacing:0;height:36px;border-radius:2px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:38px}
.ob .home .s-primary span{font-size:16px;font-weight:400}
.ob .home .s-sample,.ob .markets .s-sample,.ob .assets .s-sample{font-size:9px;color:var(--muted);letter-spacing:0}
.ob .home .s-mid,.ob .markets .s-mid,.ob .assets .s-mid{display:inline-block;padding:0 7px}
.ob .home p,.ob .home h1,.ob .home h3,.ob .markets h1,.ob .markets p,.ob .assets h1,.ob .assets p{margin:0}
.ob .home .home-actions{display:flex;align-items:center;gap:30px}
.ob .home .home-actions a,.ob .home .home-earn{font-size:12px;color:var(--secondary)}
.ob .home .home-actions a span{padding-left:8px}
.ob .home .home-ledger-head{display:flex;justify-content:space-between;color:var(--muted);font:10px var(--mono);letter-spacing:.065em;padding:0 0 16px;border-bottom:1px solid var(--hair)}
.ob .home .home-quote{display:flex;align-items:center;justify-content:space-between;height:75px;border-bottom:1px solid var(--hair)}
.ob .home .home-symbol strong{font-size:14px;font-weight:550;display:block}
.ob .home .home-symbol strong span{font-size:10px;color:var(--muted);font-weight:400}
.ob .home .home-symbol small{font-size:10px;color:var(--muted);display:block;margin-top:6px}
.ob .home .home-quote-price{text-align:right}
.ob .home .home-quote-price>span.s-num{display:block;font-size:24px;line-height:28px}
.ob .home .home-quote-price small{font-size:10px;display:block;margin-top:4px}
.ob .home .home-ledger-foot{padding-top:18px;display:flex;justify-content:space-between;align-items:center}
.ob .home .home-ledger-foot a{font-size:10px;color:var(--secondary)}
.ob .home .home-ledger-foot a span{padding-left:6px}
.ob .home-a{padding:0 48px}
.ob .home-a .home-intro{display:grid;grid-template-columns:1.35fr 1fr;gap:110px;padding:78px 0 65px}
.ob .home-a .home-copy{padding-top:23px}
.ob .home-a h1{font-size:66px;line-height:1.04;font-weight:440;letter-spacing:-3.8px;margin-top:27px;margin-bottom:28px}
.ob .home-a .home-copy>p{font-size:15px;color:var(--secondary);line-height:25px}
.ob .home-a .home-actions{margin-top:32px}
.ob .home-a .home-venues{display:flex;gap:27px;color:var(--secondary);font-size:12px;font-weight:520;margin-top:49px}
.ob .home .home-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;border-top:1px solid var(--hair);padding:32px 0 30px}
.ob .home .home-proof>div>span{font:9px var(--mono);letter-spacing:.08em;color:var(--muted)}
.ob .home .home-proof h3{font-size:21px;font-weight:450;letter-spacing:-.5px;line-height:26px;margin:17px 0 12px}
.ob .home .home-proof p{color:var(--secondary);font-size:11px;line-height:19px;max-width:270px}
.ob .home .home-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--hair);padding:22px 0 19px;font-size:10px;color:var(--muted)}
.ob .home .home-bottom>span:last-child{font:9px var(--mono);letter-spacing:.065em}
.ob .home .home-bottom i{font-style:normal;padding:0 10px;color:var(--hair)}
.ob .home-b{padding:44px 56px 0}
.ob .home-b .home-edition-top{display:flex;justify-content:space-between}
.ob .home-b .home-editorial{display:grid;grid-template-columns:1.8fr 1fr;gap:46px;align-items:end;padding:48px 0 54px}
.ob .home-b h1{font-size:91px;line-height:.995;font-weight:430;letter-spacing:-5.6px}
.ob .home-b .home-editorial-aside{padding-bottom:3px;padding-left:23px}
.ob .home-b .home-editorial-aside>p{font-size:17px;line-height:26px;color:var(--secondary);margin-bottom:22px;letter-spacing:-.25px}
.ob .home-b .s-primary{height:40px;border-radius:0;padding:0 20px;gap:56px}
.ob .home-b .home-earn{display:block;font-size:10px;margin-top:20px;line-height:18px}
.ob .home-b .home-earn u{text-underline-offset:3px;color:var(--text)}
.ob .home-b .home-ribbon{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);height:62px;display:flex;align-items:center;gap:53px;font-size:14px;color:var(--secondary);font-weight:500}
.ob .home-b .home-ribbon .home-ribbon-note{margin-left:auto;font:9px var(--mono);color:var(--muted);letter-spacing:.075em}
.ob .home-b .home-editorial-markets{padding:29px 0 32px}
.ob .home-b .home-section-label{display:flex;justify-content:space-between;align-items:center}
.ob .home-b .home-big-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:27px}
.ob .home-b .home-big-quotes>div{display:flex;flex-direction:column;align-items:flex-start}
.ob .home-b .home-big-quotes>div>span:first-child{font-size:12px;font-weight:550}
.ob .home-b .home-big-quotes small{color:var(--muted);font-size:10px;font-weight:400}
.ob .home-b .home-big-quotes strong{font-size:45px;line-height:59px;font-weight:450;letter-spacing:-2px}
.ob .home-b .home-big-quotes .s-up,.ob .home-b .home-big-quotes .s-down{font-size:12px}
.ob .home-b .home-big-quotes .s-up small,.ob .home-b .home-big-quotes .s-down small{padding-left:10px}
.ob .home-b .home-editorial-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:45px;border-top:1px solid var(--hair);padding:31px 0 36px}
.ob .home-b .home-editorial-bottom>p{font-size:22px;letter-spacing:-.8px;font-weight:430}
.ob .home-b .home-editorial-bottom h3{font-size:12px;font-weight:500;margin:1px 0 10px}
.ob .home-b .home-editorial-bottom span{font-size:10px;color:var(--secondary)}
.ob .home-c{padding:0 32px}
.ob .home-c .home-market-tape{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--hair);height:59px;align-items:center;gap:30px}
.ob .home-c .home-market-tape>div{display:flex;align-items:center;gap:18px;font-size:11px}
.ob .home-c .home-market-tape strong{font-size:10px;font-weight:550}
.ob .home-c .home-market-tape .s-num{font-size:12px}
.ob .home-c .home-market-tape .s-up,.ob .home-c .home-market-tape .s-down{margin-left:auto;font-size:10px}
.ob .home-c .home-precision-main{display:grid;grid-template-columns:390px 1fr;gap:68px;padding:56px 0 51px}
.ob .home-c .home-precision-copy{padding-top:8px}
.ob .home-c h1{font-size:62px;letter-spacing:-3.3px;line-height:1.025;font-weight:490;margin:24px 0}
.ob .home-c .home-precision-copy>p{font-size:13px;color:var(--secondary);line-height:22px;max-width:325px}
.ob .home-c .s-primary{margin-top:27px;gap:65px}
.ob .home-c .home-earn{display:inline-block;margin-left:24px}
.ob .home-c .home-custody{margin-top:35px}
.ob .home-c .home-custody p{font-size:10px;color:var(--muted);margin-top:7px}
.ob .home-c .home-market-title{display:flex;justify-content:space-between;align-items:center;padding-bottom:22px;font-size:16px;font-weight:500;letter-spacing:-.3px}
.ob .home-c .home-market-title>a{font-size:10px;color:var(--secondary);font-weight:400}
.ob .home-c .home-precision-cols{display:grid;grid-template-columns:1.2fr 1fr .8fr;font-size:9px;color:var(--muted);height:28px;border-bottom:1px solid var(--hair)}
.ob .home-c .home-precision-cols span:not(:first-child){text-align:right}
.ob .home-c .home-precision-row{display:grid;grid-template-columns:1.2fr 1fr .8fr;align-items:center;height:69px;border-bottom:1px solid var(--hair)}
.ob .home-c .home-precision-row>div>strong{display:block;font-size:13px;font-weight:550}
.ob .home-c .home-precision-row>div small{color:var(--muted);font-size:9px;font-weight:400}
.ob .home-c .home-precision-row>div>span{display:block;color:var(--muted);font-size:10px;margin-top:6px}
.ob .home-c .home-precision-row>.s-num{text-align:right;font-size:20px}
.ob .home-c .home-precision-row>.s-num:last-child{font-size:12px}
.ob .home-c .home-precision-note{display:flex;justify-content:space-between;margin-top:16px;font-size:9px;color:var(--muted)}
.ob .home-c .home-precision-strip{display:grid;grid-template-columns:1fr 1fr;gap:68px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:30px 0}
.ob .home-c .home-precision-strip>div{display:flex;flex-direction:column;gap:15px}
.ob .home-c .home-precision-strip strong{font-size:13px;font-weight:500}
.ob .home-c .home-precision-strip i{font-style:normal;color:var(--muted);padding:0 11px;font-weight:400}
.ob .home-c .home-c-bottom{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;padding:27px 0}
.ob .home-c .home-c-bottom>span:last-child{font:9px var(--mono);letter-spacing:.06em}
.ob .markets,.ob .assets{padding:32px 36px 0;min-height:830px}
.ob .markets .s-page-heading,.ob .assets .s-page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:31px}
.ob .markets .s-page-heading h1,.ob .assets .s-page-heading h1{font-size:36px;font-weight:450;line-height:45px;letter-spacing:-1.4px;margin-top:8px}
.ob .markets .s-page-heading p{font-size:13px;color:var(--secondary);margin-top:7px}
.ob .markets .markets-summary{display:flex;gap:49px;align-items:center}
.ob .markets .markets-summary>div{display:flex;flex-direction:column;gap:11px;align-items:flex-end}
.ob .markets .markets-summary span{font-size:10px;color:var(--muted)}
.ob .markets .markets-summary strong{font-size:23px;line-height:28px;font-weight:450}
.ob .markets .markets-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--hair);height:47px}
.ob .markets .s-tabs,.ob .assets .s-tabs{height:100%;display:flex;align-items:center;gap:27px;white-space:nowrap}
.ob .markets .s-tabs>span,.ob .assets .s-tabs>span{height:100%;display:flex;align-items:center;position:relative;font-size:11px;color:var(--muted)}
.ob .markets .s-tabs .is-active,.ob .assets .s-tabs .is-active{color:var(--text);font-weight:550}
.ob .markets .s-tabs .is-active:after,.ob .assets .s-tabs .is-active:after{content:'';position:absolute;bottom:-1px;left:0;right:0;background:var(--text);height:1px}
.ob .markets .markets-controls{display:flex;align-items:center;gap:25px}
.ob .markets .s-search{width:211px;height:30px;display:flex;align-items:center;gap:10px;background:var(--input);color:var(--muted);padding:0 10px;font-size:10px;border-radius:1px}
.ob .markets .s-search>span:first-child{font-size:20px;line-height:1}
.ob .markets .s-search .s-key{margin-left:auto;font-family:var(--mono);font-size:9px}
.ob .markets .s-select{font-size:10px;color:var(--secondary);display:flex;gap:20px}
.ob .markets .markets-context{display:flex;justify-content:space-between;align-items:center;padding:15px 0;color:var(--muted);font-size:10px}
.ob .markets table,.ob .assets table{width:100%;border-collapse:collapse;table-layout:fixed;color:var(--text);font-family:var(--sans)}
.ob .markets th,.ob .assets th{color:var(--muted);font-size:9px;font-weight:400;text-align:right;height:34px;border-bottom:1px solid var(--hair);white-space:nowrap}
.ob .markets th span,.ob .assets th span{font-size:8px;display:inline-block;margin-left:4px;color:var(--muted)}
.ob .markets td,.ob .assets td{font-size:11px;height:43px;vertical-align:middle;text-align:right;border-bottom:1px solid var(--hair)}
.ob .markets th:nth-child(2),.ob .markets th:nth-child(3),.ob .markets td:nth-child(2),.ob .markets td:nth-child(3){text-align:left}
.ob .markets .markets-table strong{font-size:11px;font-weight:540}
.ob .markets .s-quote-unit{font-size:9px;color:var(--muted);font-weight:400}
.ob .markets .markets-table td small{display:none;color:var(--muted);font-size:9px}
.ob .markets .markets-table .s-star{font-size:15px;color:var(--muted);display:block;text-align:left}
.ob .markets .s-venue-name{font-size:10px;color:var(--secondary)}
.ob .markets .s-table-action{font-size:9px;color:var(--secondary)}
.ob .markets .markets-table .s-num{font-size:12px}
.ob .markets .markets-footer{display:flex;justify-content:space-between;padding-top:20px;font-size:9px;color:var(--muted)}
.ob .markets-b,.ob .assets-b{padding-left:56px;padding-right:56px;padding-top:39px}
.ob .markets-b .s-page-heading{margin-bottom:30px;align-items:flex-end}
.ob .markets-b .s-page-heading h1,.ob .assets-b .s-page-heading h1{font-size:49px;line-height:58px;font-weight:430;letter-spacing:-2.3px}
.ob .markets-b .markets-summary strong{font-size:24px}
.ob .markets-b .markets-toolbar{height:49px}
.ob .markets-b .markets-table td{height:42px}
.ob .markets-b .markets-table col:nth-child(2){width:175px!important}
.ob .markets-b .markets-table col:nth-child(3){width:150px!important}
.ob .markets-b .markets-table col:nth-child(8){width:125px!important}
.ob .markets-c,.ob .assets-c{padding:24px 28px 0}
.ob .markets-c .s-page-heading{margin-bottom:22px}
.ob .markets-c .s-page-heading h1,.ob .assets-c .s-page-heading h1{font-size:28px;line-height:36px;font-weight:530;letter-spacing:-.9px}
.ob .markets-c .markets-summary{gap:58px}
.ob .markets-c .markets-summary strong{font-size:20px}
.ob .markets-c .markets-toolbar{height:43px}
.ob .markets-c .markets-table td{height:42px}
.ob .markets-c .markets-table td:nth-child(2) small{display:inline;margin-left:14px;font-size:9px}
.ob .markets-c .markets-table col:nth-child(2){width:217px!important}
.ob .assets .assets-actions{display:flex;gap:12px}
.ob .assets .s-secondary{border:0;background:transparent;font-size:11px;color:var(--secondary);height:34px;padding:0 14px;border-radius:0}
.ob .assets .assets-overview{display:flex;justify-content:space-between;align-items:center;padding:10px 0 34px;border-bottom:1px solid var(--hair)}
.ob .assets .s-label{font-size:10px;color:var(--secondary)}
.ob .assets .s-unit{font:9px var(--mono);color:var(--muted);margin-left:8px}
.ob .assets .assets-big{font-size:62px;line-height:81px;letter-spacing:-3.5px;font-weight:430}
.ob .assets .assets-big span{color:var(--secondary)}
.ob .assets .assets-equity p{font-size:10px;color:var(--muted)}
.ob .assets .assets-stats{display:flex;gap:53px;padding-top:9px}
.ob .assets .assets-stats>div{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.ob .assets .assets-stats strong{font-size:27px;font-weight:450;line-height:31px}
.ob .assets .assets-stats small{font-size:9px;color:var(--muted)}
.ob .assets .assets-section-heading{display:flex;align-items:center;justify-content:space-between;height:63px}
.ob .assets .assets-section-heading h2{font-size:13px;font-weight:530;letter-spacing:-.1px;margin:0}
.ob .assets .assets-section-heading>span{font-size:9px;color:var(--muted)}
.ob .assets .assets-venue-table th:first-child,.ob .assets .assets-venue-table td:first-child{padding-left:0;text-align:left}
.ob .assets .assets-venue-table th,.ob .assets .assets-venue-table td{padding-right:0}
.ob .assets .assets-venue-table td{height:52px}
.ob .assets .assets-venue-table td strong{display:block;font-size:12px;font-weight:500}
.ob .assets .assets-venue-table td small{display:block;font-size:9px;color:var(--muted);margin-top:5px}
.ob .assets .assets-venue-table td.s-num{font-size:14px}
.ob .assets .assets-venue-table .assets-total-row td{height:40px;border-bottom:0;font-size:11px;color:var(--secondary)}
.ob .assets .assets-venue-table .assets-total-row td.s-up{color:var(--up)}
.ob .assets .assets-positions-heading{height:45px;border-bottom:1px solid var(--hair);margin-top:15px}
.ob .assets .assets-positions{margin-top:6px}
.ob .assets .assets-positions th:first-child,.ob .assets .assets-positions td:first-child{text-align:left}
.ob .assets .assets-positions th:nth-child(2),.ob .assets .assets-positions td:nth-child(2){text-align:left;padding-left:35px}
.ob .assets .assets-positions th{height:29px}
.ob .assets .assets-positions td{height:45px}
.ob .assets .assets-positions strong{font-size:10px;font-weight:550}
.ob .assets .assets-positions td small{display:block;font-size:9px;color:var(--muted);margin-top:4px}
.ob .assets .assets-positions td>.s-num{color:var(--muted);font-size:9px;margin-left:5px}
.ob .assets .assets-positions td.s-num{font-size:11px}
.ob .assets .assets-footer{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;padding:19px 0}
.ob .assets-b .s-page-heading{margin-bottom:23px}
.ob .assets-b .assets-overview{padding:0 0 34px}
.ob .assets-b .assets-big{font-size:71px;line-height:88px;letter-spacing:-4px}
.ob .assets-b .assets-stats{gap:37px}
.ob .assets-b .assets-stats strong{font-size:25px}
.ob .assets-b .assets-venue-table td{height:49px}
.ob .assets-b .assets-section-heading{height:55px}
.ob .assets-b .assets-positions-heading{height:42px;margin-top:10px}
.ob .assets-c .s-page-heading{margin-bottom:15px}
.ob .assets-c .assets-overview{padding-bottom:28px}
.ob .assets-c .assets-big{font-size:52px;line-height:70px;letter-spacing:-2.5px}
.ob .assets-c .assets-stats{gap:67px}
.ob .assets-c .assets-stats strong{font-size:25px}
.ob .assets-c .assets-section-heading{height:57px}
.ob .assets-c .assets-venue-table td{height:49px}
.ob .assets-c .assets-positions-heading{height:42px}
@media (min-width:600px){.ob .home .home-ledger-foot a,.ob .home .home-earn,.ob .home .home-market-title>a,.ob .markets .s-search,.ob .markets .s-select,.ob .markets .s-table-action,.ob .markets .s-venue-name,.ob .markets .s-quote-unit,.ob .assets .s-label{font-size:11px}.ob .markets th,.ob .assets th,.ob .markets .markets-summary span{font-size:11px}.ob .markets th span,.ob .assets th span{font-size:10px}.ob .assets .assets-positions strong,.ob .assets .assets-positions td small,.ob .home .home-symbol small,.ob .home .home-precision-row>div>span,.ob .home .home-market-tape strong{font-size:11px}}
[data-theme="light"] .ob .home .s-primary,[data-theme="light"] .ob .assets .s-primary{color:#fff}
@media (max-width:699px){.ob .home{min-height:974px;overflow:hidden}.ob .home .desktop-br{display:none}.ob .home .s-eyebrow{font-size:8px;letter-spacing:.055em}.ob .home .s-primary{height:40px;font-size:11px;gap:33px}.ob .home-a{padding:0 20px}.ob .home-a .home-intro{display:flex;flex-direction:column;gap:38px;padding:37px 0 26px}.ob .home-a .home-copy{padding-top:0}.ob .home-a h1{font-size:46px;line-height:1.05;letter-spacing:-2.45px;margin:21px 0 22px}.ob .home-a .home-copy>p{font-size:12px;line-height:20px;max-width:320px}.ob .home-a .home-actions{margin-top:24px;gap:23px}.ob .home-a .home-actions a{font-size:10px}.ob .home-a .home-venues{font-size:10px;gap:23px;margin-top:28px}.ob .home-a .home-ledger-head{font-size:8px;padding-bottom:12px}.ob .home-a .home-quote{height:55px}.ob .home-a .home-symbol strong{font-size:12px}.ob .home-a .home-symbol small{font-size:9px;margin-top:3px}.ob .home-a .home-quote-price>span.s-num{font-size:20px;line-height:23px}.ob .home-a .home-quote-price small{font-size:9px;margin-top:2px}.ob .home-a .home-ledger-foot{padding-top:13px}.ob .home-a .home-ledger-foot .s-sample{font-size:7px}.ob .home-a .home-ledger-foot a{font-size:8px}.ob .home-a .home-proof{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px 0}.ob .home-a .home-proof>div:last-child{display:none}.ob .home-a .home-proof>div>span{font-size:7px}.ob .home-a .home-proof h3{font-size:17px;line-height:21px;margin:12px 0 8px}.ob .home-a .home-proof p{font-size:9px;line-height:15px}.ob .home-a .home-bottom{font-size:8px;padding:16px 0}.ob .home-a .home-bottom>span:last-child{display:none}.ob .home-b{padding:29px 21px 0}.ob .home-b .home-edition-top>span:last-child{display:none}.ob .home-b .home-editorial{display:block;padding:27px 0 27px}.ob .home-b h1{font-size:44px;line-height:1.04;letter-spacing:-2.55px}.ob .home-b .home-editorial-aside{padding:27px 0 0}.ob .home-b .home-editorial-aside>p{font-size:13px;line-height:21px;margin-bottom:20px}.ob .home-b .home-earn{font-size:9px;margin-top:15px}.ob .home-b .home-ribbon{height:56px;gap:26px;font-size:10px}.ob .home-b .home-ribbon-note{display:none}.ob .home-b .home-editorial-markets{padding:25px 0 28px}.ob .home-b .home-section-label{display:block}.ob .home-b .home-section-label .s-sample{display:block;margin-top:8px;font-size:8px}.ob .home-b .home-big-quotes{display:flex;flex-direction:column;gap:0;margin-top:15px}.ob .home-b .home-big-quotes>div{display:grid;grid-template-columns:70px 1fr 63px;align-items:center;border-bottom:1px solid var(--hair);height:68px}.ob .home-b .home-big-quotes>div>span:first-child{font-size:11px}.ob .home-b .home-big-quotes>div>span:first-child small{display:block;font-size:8px;margin-top:4px}.ob .home-b .home-big-quotes strong{font-size:25px;line-height:31px;letter-spacing:-1px;text-align:right;padding-right:15px}.ob .home-b .home-big-quotes .s-up,.ob .home-b .home-big-quotes .s-down{font-size:10px;text-align:right}.ob .home-b .home-big-quotes .s-up small,.ob .home-b .home-big-quotes .s-down small{display:block;font-size:8px;margin-top:5px;padding:0}.ob .home-b .home-editorial-bottom{display:grid;grid-template-columns:1fr;gap:21px;padding:24px 0 20px}.ob .home-b .home-editorial-bottom>p{font-size:22px}.ob .home-b .home-editorial-bottom h3{font-size:11px;margin-bottom:6px}.ob .home-b .home-editorial-bottom span{font-size:9px}.ob .home-c{padding:0 16px}.ob .home-c .home-market-tape{grid-template-columns:1fr 1fr;gap:20px;height:47px}.ob .home-c .home-market-tape>div:nth-child(n+3){display:none}.ob .home-c .home-market-tape>div{gap:9px}.ob .home-c .home-market-tape strong{font-size:9px}.ob .home-c .home-market-tape .s-num{font-size:10px}.ob .home-c .home-market-tape .s-up,.ob .home-c .home-market-tape .s-down{font-size:8px;margin-left:0}.ob .home-c .home-precision-main{display:flex;flex-direction:column;gap:32px;padding:27px 0}.ob .home-c .home-precision-copy{padding:0}.ob .home-c h1{font-size:44px;line-height:1.02;letter-spacing:-2.25px;margin:19px 0}.ob .home-c .home-precision-copy>p{font-size:11px;line-height:18px;max-width:310px}.ob .home-c .s-primary{margin-top:21px;gap:51px}.ob .home-c .home-earn{font-size:10px;margin-left:25px}.ob .home-c .home-custody{margin-top:21px}.ob .home-c .home-custody .s-eyebrow{font-size:7px}.ob .home-c .home-custody p{font-size:9px;margin-top:5px}.ob .home-c .home-market-title{font-size:13px;padding-bottom:15px}.ob .home-c .home-market-title>a{font-size:9px}.ob .home-c .home-precision-cols{height:26px;font-size:8px;grid-template-columns:1.1fr 1fr .8fr}.ob .home-c .home-precision-row{height:56px;grid-template-columns:1.1fr 1fr .8fr}.ob .home-c .home-precision-row>div>strong{font-size:11px}.ob .home-c .home-precision-row>div small{font-size:8px}.ob .home-c .home-precision-row>div>span{font-size:9px;margin-top:4px}.ob .home-c .home-precision-row>.s-num{font-size:17px}.ob .home-c .home-precision-row>.s-num:last-child{font-size:10px}.ob .home-c .home-precision-note{display:block;margin-top:12px}.ob .home-c .home-precision-note .s-sample{font-size:8px}.ob .home-c .home-precision-note>span:last-child{display:none}.ob .home-c .home-precision-strip{display:block;padding:22px 0}.ob .home-c .home-precision-strip>div{gap:10px}.ob .home-c .home-precision-strip>div+div{display:none}.ob .home-c .home-precision-strip strong{font-size:10px}.ob .home-c .home-precision-strip i{padding:0 8px}.ob .home-c .home-c-bottom{padding:20px 0;font-size:9px}.ob .home-c .home-c-bottom>span:last-child{display:none}}

/* The workspace design (owner, 2026-10-06: the GPT-built Rivemont workspace, applied to the whole site): its stylesheet
   as delivered, scoped under .ws; its fonts are self-hosted (radar/theme.py). Light theme values below are ours. */
/* the palette (owner, 2026-10-10): every colour from radar/web/rv-tokens.css, the one place it is defined */
.ws{--bg:var(--rv-bg);--side:var(--rv-bg);--panel:var(--rv-panel);--panel2:var(--rv-pill);--border:var(--rv-line-2);--text:var(--rv-text);--muted:var(--rv-text-3);--soft:var(--rv-text-2);--accent:var(--rv-text);--green:var(--rv-up);--red:var(--rv-down);--amber:var(--rv-warn);--shadow:var(--rv-shadow);--font:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.ws,.ws *{box-sizing:border-box}
.ws{scroll-behavior:smooth}
.ws{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}
.ws button,.ws input,.ws select,.ws textarea{font:inherit}
.ws button,.ws a,.ws input,.ws select{ -webkit-tap-highlight-color:transparent}
.ws button,.ws a{touch-action:manipulation}
.ws button{cursor:pointer}
.ws button{color:inherit}
.ws a{color:inherit;text-decoration:none}
.ws button:disabled{cursor:not-allowed;opacity:.5}
.ws button:focus-visible,.ws a:focus-visible,.ws input:focus-visible,.ws select:focus-visible,.ws summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;box-shadow:none}
.ws button{border:0;background:none}
.ws svg{display:block}
.ws h1,.ws h2,.ws h3,.ws p{margin:0}
.ws h1,.ws h2,.ws h3,.ws .brand{font-family:var(--font)}
.ws h1{font-size:29px;line-height:1.25;font-weight:650;letter-spacing:-1px}
.ws h2{font-size:16px;font-weight:650;letter-spacing:-.3px}
.ws h3{font-size:15px;font-weight:650}
.ws .muted{color:var(--muted)}
.ws .soft{color:var(--soft)}
.ws .positive{color:var(--green)}
.ws .negative{color:var(--red)}
.ws .amber{color:var(--amber)}
.ws .mono,.ws .number{font-variant-numeric:tabular-nums}
.ws .flex{display:flex;align-items:center;gap:10px}
.ws .between{justify-content:space-between}
.ws .wrap{flex-wrap:wrap}
.ws .stack{display:flex;flex-direction:column;gap:18px}
.ws .small{font-size:11px}
.ws .large{font-size:18px}
.ws .icon{width:18px;height:18px;flex:none;stroke-width:1.65}
.ws .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.ws .button{display:inline-flex;gap:8px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:7px;padding:10px 15px;font-size:12px;font-weight:550;background:#24262a;white-space:nowrap;transition:background .15s,transform .15s}
.ws .button:hover{background:#34363b}
.ws .button.primary{background:var(--accent);color:#232529;border-color:var(--accent);font-weight:700}
.ws .button.primary:hover{background:#ffffff}
.ws .button.ghost{background:transparent}
.ws .button.danger{color:var(--red);background:#3c2425;border-color:#593435}
.ws .button.sm{padding:7px 11px;font-size:11px}
.ws .icon-button{width:33px;height:33px;border:1px solid transparent;display:inline-grid;place-items:center;border-radius:7px;color:var(--muted)}
.ws .icon-button:hover{background:var(--panel2);color:var(--text);border-color:var(--border)}
.ws .text-link{color:var(--accent);font-size:12px;display:inline-flex;gap:6px;align-items:center}
.ws .text-link:hover{text-decoration:underline}
.ws .pill{display:inline-flex;align-items:center;gap:6px;border-radius:5px;font-size:10px;padding:3px 7px;font-weight:550;border:1px solid var(--border);white-space:nowrap;color:var(--soft)}
.ws .pill.green{background:#26312c;color:var(--green);border-color:#38453e}
.ws .pill.amber{background:#302d27;color:var(--amber);border-color:#474239}
.ws .pill.blue{background:#292e34;color:#abbac9;border-color:#3b4149}
.ws .pill.purple{background:#2d2b33;color:#b7afc4;border-color:#45404d}
.ws .sidebar{position:fixed;inset:0 auto 0 0;width:220px;background:var(--side);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:26px 16px 18px;z-index:30}
.ws .brand{display:flex;align-items:center;gap:10px;font-size:22px;letter-spacing:-.9px;font-weight:800;margin:0 8px 31px}
.ws .brand img{width:29px;height:29px}
.ws .workspace-select{padding:11px 10px;border:1px solid var(--border);border-radius:8px;margin-bottom:25px;background:#1c1e21;display:flex;align-items:center;gap:10px}
.ws .workspace-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:7px;background:#2d3035;color:var(--accent)}
.ws .nav-label{text-transform:uppercase;letter-spacing:1.3px;font-size:9px;font-weight:700;color:#787d84;padding:0 12px;margin:18px 0 10px}
.ws .nav-item{position:relative;width:100%;display:flex;align-items:center;gap:11px;padding:10px 12px;margin:3px 0;border-radius:6px;color:#9b9fa6;font-size:12px;text-align:left;transition:.15s}
.ws .nav-item:hover{background:#232529;color:var(--text)}
.ws .nav-item.active{background:#2b2e33;color:#eceef1}
.ws .nav-item.active:before{content:'';position:absolute;left:-16px;height:19px;width:3px;background:var(--accent);border-radius:0 2px 2px 0}
.ws .nav-count{margin-left:auto;font-size:9px;background:#41454d;color:#d9dce2;padding:1px 5px;border-radius:3px}
.ws .sidebar-bottom{margin-top:auto;padding-top:25px}
.ws .native-card{margin:16px 0 18px;padding:13px;border:1px solid #35383e;border-radius:8px;background:linear-gradient(135deg,#24262b,#1c1e22)}
.ws .native-card .native-logo{display:flex;align-items:center;gap:7px;font-size:12px;margin-bottom:5px}
.ws .hl-symbol{font-family:serif;font-size:24px;line-height:1;color:#d5d9de;font-weight:bold}
.ws .user-block{border-top:1px solid var(--border);padding:17px 7px 0;display:flex;align-items:center;gap:10px}
.ws .avatar{width:31px;height:31px;background:#3a3e45;display:grid;place-items:center;border-radius:50%;color:#daddE2;font-weight:550;font-size:11px}
.ws .main-shell{margin-left:220px;min-height:100vh}
.ws .topbar{height:73px;padding:0 34px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:#141618;gap:16px}
.ws .breadcrumb{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px}
.ws .breadcrumb strong{color:var(--soft);font-weight:500}
.ws .search-trigger{display:flex;gap:10px;color:#858b94;align-items:center;font-size:11px;padding:7px}
.ws .search-trigger kbd{font:inherit;border:1px solid var(--border);border-radius:3px;padding:1px 5px}
.ws .top-actions{display:flex;align-items:center;gap:17px}
.ws .network-status{display:flex;align-items:center;gap:6px;font-size:10px;color:#b2b8c0}
.ws .divider-v{height:22px;width:1px;background:var(--border)}
.ws .demo-strip{background:#1b1e22;border-bottom:1px solid #31363d;display:flex;align-items:center;justify-content:center;gap:9px;min-height:33px;padding:6px 15px;font-size:10px;color:#9fa6af}
.ws .demo-strip .pill{padding:1px 5px;font-size:9px}
.ws .demo-strip button{font-size:10px;color:var(--accent);padding:0}
.ws .content{padding:30px 34px 30px;max-width:1740px;margin:auto}
.ws .page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px}
.ws .page-heading p{color:var(--muted);font-size:12px;margin-top:8px}
.ws .eyebrow{color:var(--accent);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:12px}
.ws .metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:21px}
.ws .metric{background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:19px 20px;position:relative;min-width:0}
.ws .metric .label{font-size:11px;color:var(--muted);display:flex;align-items:center;justify-content:space-between}
.ws .metric .label .icon{width:15px;height:15px}
.ws .metric-value{font-size:26px;font-family:var(--font);font-weight:600;letter-spacing:-.9px;margin:12px 0 7px;line-height:1.2}
.ws .metric-foot{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}
.ws .metric-foot .pill{font-size:9px;padding:1px 5px}
.ws .metric-spark{position:absolute;right:20px;bottom:18px;width:75px;height:25px;opacity:.65}
.ws .panel{background:var(--panel);border:1px solid var(--border);border-radius:9px;overflow:hidden}
.ws .panel-head{display:flex;align-items:center;justify-content:space-between;padding:20px 21px;gap:12px}
.ws .panel-head h2{font-size:14px}
.ws .panel-body{padding:0 21px 20px}
.ws .chart-grid{display:grid;grid-template-columns:minmax(0,2.14fr) minmax(260px,1fr);gap:20px;margin-bottom:23px}
.ws .segmented{display:inline-flex;gap:2px;border:1px solid var(--border);border-radius:6px;background:#141619;padding:3px}
.ws .segmented button{padding:4px 9px;color:var(--muted);border-radius:3px;font-size:10px}
.ws .segmented button.active{color:#e6ede7;background:#353a42}
.ws .segmented.wd-fee{display:flex;margin-top:10px}.ws .segmented.wd-fee button{flex:1;padding:6px 8px;font-size:11px}
.ws .chart-summary{display:flex;gap:24px;margin-bottom:5px}
.ws .chart-summary .chart-value{font-family:var(--font);font-size:23px;font-weight:600;letter-spacing:-.6px}
.ws .chart-summary .chart-caption{font-size:10px;color:var(--muted);margin:3px 0 6px}
.ws .chart-wrap{position:relative;width:100%;height:210px}
.ws .chart-wrap svg{width:100%;height:100%;overflow:visible}
.ws .chart-labels{display:flex;justify-content:space-between;color:#858d98;font-size:9px;padding:4px 45px 0 0}
.ws .chart-legend{display:flex;gap:19px;padding-top:14px;font-size:10px;color:var(--muted)}
.ws .legend-key{display:flex;align-items:center;gap:6px}
.ws .legend-key:before{content:'';width:12px;height:2px;background:var(--accent)}
.ws .legend-key.gray:before{background:#7d8794}
.ws .donut-area{position:relative;height:164px;display:grid;place-items:center;margin:0 0 13px}
.ws .donut-area svg{height:168px;width:168px;transform:rotate(-90deg)}
.ws .donut-center{position:absolute;text-align:center}
.ws .donut-center strong{display:block;font-size:22px;font-family:var(--font);letter-spacing:-.8px}
.ws .donut-center span{color:var(--muted);font-size:9px}
.ws .allocation-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:11px}
.ws .allocation-row .dot{width:7px;height:7px}
.ws .allocation-row .flex{gap:8px}
.ws .allocation-row .muted{font-size:10px}
.ws .allocation-foot{border-top:1px solid var(--border);margin-top:6px;padding-top:13px;font-size:10px;display:flex;justify-content:space-between}
.ws .section-title{display:flex;justify-content:space-between;align-items:center;margin:24px 0 13px}
.ws .section-title h2{font-size:16px}
.ws .section-title .pill{margin-left:7px}
.ws .table-wrap{overflow:auto}
.ws table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left;font-size:11px}
.ws th{font-weight:450;font-size:10px;color:var(--muted);padding:12px 18px;background:#171a1e;border-bottom:1px solid var(--border)}
.ws td{padding:16px 18px;border-bottom:1px solid #2d3239}
.ws tr:last-child td{border-bottom:0}
.ws tbody tr{transition:background .1s}
.ws tbody tr:hover{background:#212429}
.ws .asset-icon{height:29px;width:29px;display:grid;place-items:center;border-radius:50%;font-size:15px;flex:none;font-weight:600}
.ws .asset-icon.BTC{background:#302d28;color:#cbbbA1}
.ws .asset-icon.ETH{background:#2e303a;color:#b9bfce}
.ws .asset-icon.SOL{background:#2e3435;color:#adbfba}
.ws .asset-icon.HYPE{background:#2b3632;color:#b8cec5}
.ws .asset-icon.default{background:#30343a;color:#c5cad2}
.ws .asset-name strong{font-weight:550;display:block;font-size:12px}
.ws .asset-name small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.ws .table-spark{width:85px;height:28px}
.ws .mini-bot-icon{width:31px;height:31px;border-radius:7px;display:grid;place-items:center;background:#2e3531;color:#c4cec7}
.ws .mini-bot-icon.blue{background:#2e333c;color:#b9c3d0}
.ws .mini-bot-icon.purple{background:#343139;color:#c8c0d1}
.ws .progress-track{height:4px;background:#30363e;border-radius:10px;overflow:hidden}
.ws .progress-track span{display:block;height:100%;border-radius:10px;background:var(--accent)}
.ws .bottom-grid{display:grid;grid-template-columns:1.42fr 1fr;gap:20px;margin-top:23px}
.ws .market-rows{padding:0 21px 7px}
.ws .market-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--border);gap:13px}
.ws .market-row:last-child{border-bottom:0}
.ws .market-row>button{display:flex;align-items:center;gap:10px;padding:0;text-align:left;flex:1}
.ws .market-row .price{text-align:right;min-width:84px}
.ws .opportunity{border:1px solid #424850;background:linear-gradient(120deg,#2c3036,#21242a);border-radius:9px;padding:24px;position:relative;overflow:hidden}
.ws .opportunity .eyebrow{color:#c0c6cf;font-size:9px;margin-bottom:13px}
.ws .opportunity h2{font-size:24px;letter-spacing:-.6px;font-weight:550;line-height:1.3;max-width:260px}
.ws .opportunity p{font-size:11px;line-height:1.75;max-width:280px;margin:12px 0 23px;color:#b0b7c1}
.ws .orbital{position:absolute;right:-39px;bottom:-35px;width:180px;height:180px;border-radius:50%;border:1px solid #6a738255;pointer-events:none}
.ws .orbital:before,.ws .orbital:after{content:'';position:absolute;border:1px solid #858d993b;border-radius:50%;inset:23px}
.ws .orbital:after{inset:45px}
.ws .page-footer{display:flex;justify-content:space-between;gap:10px;margin-top:27px;padding-top:17px;border-top:1px solid var(--border);color:#818995;font-size:9px}
.ws .toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px}
.ws .search-field{display:flex;align-items:center;gap:9px;border:1px solid var(--border);padding:0 12px;border-radius:6px;background:#171a1f;min-width:240px}
.ws .search-field .icon{color:var(--muted);width:16px}
.ws .search-field input{border:0!important;background:none!important;padding:10px 0!important;outline:none;min-width:0;width:100%;font-size:11px}
.ws .filter-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:22px 0}
.ws .filter-tabs button{padding:8px 13px;border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:11px}
.ws .filter-tabs button:hover,.ws .filter-tabs button.active{background:#343941;border-color:#656e7b;color:var(--accent)}
.ws input:not([type=checkbox]):not([type=range]):not([type=radio]),.ws select,.ws textarea{width:100%;color:var(--text);background:#14171b;border:1px solid var(--border);border-radius:6px;padding:11px 12px;outline:none}
.ws input:focus,.ws select:focus,.ws textarea:focus{border-color:#acb4c0!important}
.ws input[type=range]{width:100%;accent-color:var(--accent)}
.ws input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px}
.ws label{display:block;font-size:11px;color:var(--soft);margin-bottom:7px}
.ws select{cursor:pointer;color-scheme:dark}
.ws .toolbar select{width:auto;min-width:132px;font-size:11px}
.ws .strategy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.ws .strategy-card{border:1px solid var(--border);border-radius:9px;background:var(--panel);padding:20px;transition:border-color .2s,transform .2s;position:relative}
.ws .strategy-card:hover{border-color:#747d8b;transform:translateY(-2px)}
.ws .strategy-card h3{margin:17px 0 7px;font-size:16px}
.ws .strategy-card p{min-height:51px;color:var(--muted);font-size:11px;line-height:1.7}
.ws .strategy-card .tags{display:flex;gap:6px;margin:15px 0}
.ws .strategy-art{width:42px;height:42px;border:1px solid #474f5a;border-radius:10px;display:grid;place-items:center;background:#313741;color:var(--accent)}
.ws .strategy-art .icon{width:23px;height:23px}
.ws .strategy-facts{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:13px 0;margin-bottom:14px;display:grid;grid-template-columns:1fr 1fr;font-size:11px}
.ws .strategy-facts span{display:block;color:var(--muted);font-size:9px;margin-bottom:4px}
.ws .strategy-card .button{padding:8px 12px}
.ws .catalog-note{display:flex;align-items:flex-start;gap:9px;padding:13px 16px;border:1px solid #3c424c;border-radius:7px;background:#20252c;color:#b4bfca;font-size:11px;margin-bottom:22px}
.ws .catalog-note .icon{width:16px;height:16px;flex:none;margin-top:1px}
.ws .compare-bar{position:fixed;bottom:22px;left:calc(50% + 110px);transform:translateX(-50%);background:#323943;box-shadow:var(--shadow);border:1px solid #626f7e;border-radius:9px;padding:13px 18px;display:flex;align-items:center;gap:25px;z-index:35}
.ws .two-cols{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}
.ws .equal-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ws .empty-state{text-align:center;padding:58px 20px;color:var(--muted)}
.ws .empty-state>.icon{margin:0 auto 15px;width:35px;height:35px;color:var(--accent)}
.ws .empty-state h3{color:var(--text);margin-bottom:7px}
.ws .empty-state p{margin-bottom:19px;font-size:12px}
.ws .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ws .form-group{margin-bottom:18px}
.ws .form-help{color:var(--muted);font-size:10px;margin-top:6px}
.ws .full-width{grid-column:1/-1}
.ws .modal-backdrop{position:fixed;inset:0;z-index:100;background:#050608c7;backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fade-in .15s}
.ws .modal{width:760px;max-width:100%;max-height:90vh;overflow:auto;background:#1b1f25;border:1px solid #464e5b;border-radius:14px;box-shadow:var(--shadow)}
.ws .modal.narrow{width:470px}
.ws .modal.wide{width:980px}
.ws .modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:23px 25px;border-bottom:1px solid var(--border);gap:15px}
.ws .modal-header h2{font-size:20px}
.ws .modal-header p{font-size:11px;color:var(--muted);margin-top:5px}
.ws .modal-body{padding:25px}
.ws .modal-footer{padding:19px 25px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:12px;align-items:center}
.ws .steps{display:flex;gap:8px;padding:18px 25px 0}
.ws .step{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);flex:1}
.ws .step b{width:23px;height:23px;border:1px solid var(--border);display:grid;place-items:center;border-radius:50%;font-weight:500}
.ws .step.active{color:var(--accent)}
.ws .step.active b{background:#39424e;border-color:#667387}
.ws .summary-box{padding:19px;border:1px solid #454e5b;border-radius:8px;background:#232931}
.ws .summary-box h3{margin-bottom:13px}
.ws .summary-line{display:flex;justify-content:space-between;padding:7px 0;font-size:11px;gap:15px}
.ws .summary-line span:first-child{color:var(--muted)}
.ws .summary-line.total{border-top:1px solid var(--border);margin-top:8px;padding-top:14px;font-weight:600}
.ws .callout{border:1px solid #494338;background:#2b2823;color:#c9c0ad;border-radius:6px;padding:12px;font-size:11px;line-height:1.7;margin-top:14px}
.ws .callout.info{border-color:#414b57;background:#242c34;color:#bbc9d6}
.ws .error{color:var(--red);font-size:11px;margin:10px 0}
.ws .comparison{white-space:normal}
.ws .comparison th,.ws .comparison td{vertical-align:top;min-width:130px}
.ws .comparison td:first-child{color:var(--muted)}
.ws .fee-feature{padding:31px;border:1px solid #525c6a;border-radius:10px;background:linear-gradient(120deg,#303741,#20252c)}
.ws .fee-feature .big-number{font-size:69px;line-height:1.1;letter-spacing:-3px;font-family:var(--font);font-weight:550;margin:22px 0 7px}
.ws .fee-feature p{color:var(--soft);font-size:12px;line-height:1.8}
.ws .fee-feature .feature-line{margin-top:17px;display:flex;align-items:center;gap:9px;font-size:12px}
.ws .fee-feature .feature-line .icon{color:var(--accent);width:16px}
.ws .fee-calculator{padding:27px}
.ws .fee-result{border-top:1px solid var(--border);padding-top:20px;margin-top:25px}
.ws .fee-result strong{display:block;font-size:32px;font-family:var(--font);margin:5px 0}
.ws .faq{border:1px solid var(--border);border-radius:8px;overflow:hidden}
.ws .faq details{border-bottom:1px solid var(--border);padding:18px 21px;background:var(--panel)}
.ws .faq details:last-child{border:0}
.ws .faq summary{cursor:pointer;font-size:12px;font-weight:500}
.ws .faq details p{margin:13px 0 0;color:var(--muted);max-width:850px;font-size:12px;line-height:1.8}
.ws .terminal-grid{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:18px}
.ws .terminal-header{padding:18px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--border);overflow:auto}
.ws .terminal-chart{height:354px;padding:15px}
.ws .terminal-chart svg{width:100%;height:100%}
.ws .order-ticket{padding:20px}
.ws .order-ticket h2{margin-bottom:18px}
.ws .order-ticket .segmented{display:flex;margin-bottom:19px}
.ws .order-ticket .segmented button{flex:1;padding:8px}
.ws .order-ticket .segmented button.active.long{background:#334138;color:#c2d2c7}
.ws .order-ticket .segmented button.active.short{background:#423337;color:#d5b8bc}
.ws .ticket-price{font-family:var(--font);font-size:24px;margin-bottom:19px}
.ws .terminal-bottom{margin-top:18px}
.ws .orderbook{font-size:10px;width:100%}
.ws .orderbook th,.ws .orderbook td{padding:5px 18px}
.ws .orderbook td{border:0;position:relative}
.ws .book-bar{position:absolute;inset:0 0 0 auto;background:#753b3821;z-index:0}
.ws .book-buy .book-bar{background:#49765321}
.ws .book-cell{position:relative;z-index:1}
.ws .tab-row{display:flex;gap:24px;padding:0 20px;border-bottom:1px solid var(--border)}
.ws .tab-row button{font-size:11px;color:var(--muted);padding:16px 0;border-bottom:2px solid transparent}
.ws .tab-row button.active{color:var(--accent);border-color:var(--accent)}
.ws .timeline{padding:0 25px 10px}
.ws .timeline-item{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--border)}
.ws .timeline-item:last-child{border:0}
.ws .timeline-item .icon-circle{height:29px;width:29px;border-radius:50%;background:#363e4a;color:var(--accent);display:grid;place-items:center;flex:none}
.ws .timeline-item p{font-size:12px}
.ws .timeline-item small{color:var(--muted);display:block;margin-top:4px;font-size:10px}
.ws .settings-section{padding:23px}
.ws .setting-row{display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid var(--border);gap:22px}
.ws .setting-row:last-child{border:0}
.ws .setting-row p{font-size:12px}
.ws .setting-row small{font-size:10px;color:var(--muted);display:block;margin-top:5px}
.ws .switch{width:35px;height:21px;border-radius:20px;background:#414854;padding:3px;transition:.2s}
.ws .switch:after{content:'';display:block;width:15px;height:15px;background:#c7ced8;border-radius:50%;transition:.2s}
.ws .switch.on{background:#a9b4c4}
.ws .switch.on:after{transform:translateX(14px);background:#f5f7fa}
.ws .notifications-list{padding:0}
.ws .notification{padding:16px 0;border-bottom:1px solid var(--border)}
.ws .notification strong{font-size:12px}
.ws .notification p{font-size:11px;color:var(--muted);margin-top:5px}
.ws .command-item{display:flex;justify-content:space-between;align-items:center;padding:14px 12px;border-radius:6px;width:100%;text-align:left}
.ws .command-item:hover{background:#313741}
.ws .command-item .flex{gap:12px}
.ws .wallet-option{display:flex;align-items:center;gap:13px;border:1px solid var(--border);border-radius:7px;width:100%;padding:15px;text-align:left;margin:12px 0}
.ws .wallet-option:hover{background:#303944}
.ws .wallet-option strong{display:block;font-size:12px}
.ws .wallet-option span{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.ws .address-text{overflow-wrap:anywhere;font-size:11px;font-family:monospace}
.ws .hero{padding:52px 0 58px;max-width:840px}
.ws .hero h1{font-size:66px;line-height:1.08;letter-spacing:-3px;max-width:700px;font-weight:600}
.ws .hero h1 em{font-style:normal;color:var(--accent)}
.ws .hero p{max-width:510px;font-size:15px;line-height:1.9;color:var(--muted);margin:24px 0 29px}
.ws .hero .button{padding:13px 20px}
.ws .hero-stat{margin-top:38px;display:flex;gap:40px}
.ws .hero-stat strong{display:block;font-size:24px;font-family:var(--font)}
.ws .hero-stat span{color:var(--muted);font-size:10px}
.ws .feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ws .feature-box{padding:25px;border-top:1px solid #636e7e;background:linear-gradient(#2c333d66,transparent);border-radius:3px}
.ws .feature-box .icon{color:var(--accent);margin-bottom:23px;width:26px;height:26px}
.ws .feature-box p{color:var(--muted);font-size:12px;line-height:1.8;margin-top:11px}
.ws #toast{position:fixed;bottom:25px;right:26px;padding:13px 19px;background:#343e4b;border:1px solid #69798e;box-shadow:var(--shadow);color:#e4eaf2;border-radius:8px;z-index:200;max-width:400px;font-size:12px;opacity:0;transform:translateY(12px);transition:.2s;pointer-events:none}
.ws #toast.show{opacity:1;transform:translateY(0)}
.ws .mobile-menu{display:none}
.ws .skip-link{position:fixed;top:-50px;left:20px;padding:10px;background:var(--accent);color:var(--bg);z-index:400}
.ws .skip-link:focus{top:10px}
.ws .skeleton{animation:pulse 1.5s infinite}
.ws .compact td{padding-top:11px;padding-bottom:11px}
.ws .no-margin{margin:0!important}
.ws .spacer{margin-top:22px}
.ws .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}
@keyframes fade-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes pulse{50%{opacity:.35}}
.ws .content{animation:fade-in .28s ease-out}
.ws .chart-tooltip{position:absolute;top:15px;right:auto;padding:6px 10px;background:var(--panel2);border:1px solid var(--border);border-radius:5px;font-size:10px;white-space:nowrap;pointer-events:none;display:none;z-index:2}
.ws .chart-wrap{touch-action:pan-y}.ws .chart-wrap .ch-x{position:absolute;top:10px;bottom:17px;width:1px;background:var(--border);pointer-events:none;display:none}
.ws .chart-wrap .ch-dot{position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--soft);box-shadow:0 0 0 3px var(--panel2);pointer-events:none;display:none;z-index:1}
.ws body.compact-density td{padding-top:10px;padding-bottom:10px}
@media(min-width:1600px){.ws .content{padding-top:36px}.ws .chart-wrap{height:245px}.ws .donut-area{height:185px}.ws .donut-area svg{height:180px;width:180px}.ws .metric{padding:24px}.ws .metric-value{font-size:31px}.ws .metric-foot{font-size:11px}.ws td{padding-top:20px;padding-bottom:20px}.ws .strategy-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1180px){.ws .sidebar{width:195px;padding-left:12px;padding-right:12px}.ws .brand{font-size:20px}.ws .main-shell{margin-left:195px}.ws .content{padding:25px}.ws .topbar{padding:0 25px}.ws .metric{padding:16px}.ws .metric-value{font-size:23px}.ws .metric-spark{display:none}.ws .strategy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ws .network-status{display:none}.ws .chart-grid{grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr)}.ws .top-actions{gap:10px}.ws .compare-bar{left:calc(50% + 97px)}}
@media(max-width:980px){.ws .sidebar{width:76px;padding:22px 11px}.ws .sidebar .brand{margin:0 auto 28px;font-size:0;gap:0}.ws .sidebar .workspace-select,.ws .sidebar .nav-label,.ws .sidebar .nav-item span,.ws .sidebar .nav-count,.ws .sidebar .native-card,.ws .sidebar .user-block>div:not(.avatar){display:none}.ws .sidebar .nav-item{justify-content:center;padding:14px 0}.ws .sidebar .nav-item.active:before{left:-11px}.ws .sidebar .sidebar-bottom{padding-top:12px}.ws .sidebar .user-block{padding-left:0;padding-right:0;justify-content:center}.ws .main-shell{margin-left:76px}.ws .chart-grid{grid-template-columns:1.6fr 1fr;gap:15px}.ws .metrics{gap:12px}.ws .metric-value{font-size:21px}.ws .content{padding:25px 20px}.ws .topbar{padding:0 20px}.ws .search-trigger{display:none}.ws .terminal-grid{grid-template-columns:minmax(0,1fr) 265px}.ws .terminal-header{gap:16px}.ws .compare-bar{left:calc(50% + 38px)}}
@media(max-width:760px){.ws h1{font-size:25px}.ws .sidebar{transform:translateX(-100%);width:230px;transition:transform .2s;padding:25px 16px;box-shadow:var(--shadow)}.ws .sidebar.mobile-open{transform:none}.ws .sidebar .brand{font-size:22px;gap:10px;margin:0 8px 26px}.ws .sidebar .workspace-select,.ws .sidebar .nav-label,.ws .sidebar .nav-item span,.ws .sidebar .native-card,.ws .sidebar .user-block>div:not(.avatar){display:block}.ws .sidebar .workspace-select{display:flex}.ws .sidebar .nav-item{justify-content:flex-start;padding:10px 12px}.ws .sidebar .nav-item.active:before{left:-16px}.ws .sidebar .nav-count{display:inline-block}.ws .sidebar .user-block{justify-content:flex-start}.ws .main-shell{margin-left:0}.ws .topbar{height:64px;padding:0 17px}.ws .top-actions{gap:8px}.ws .top-actions .divider-v{display:none}.ws .top-actions .button{font-size:10px;padding:8px 10px}.ws .mobile-menu{display:inline-grid}.ws .breadcrumb{gap:6px}.ws .breadcrumb>span{display:none}.ws .demo-strip{font-size:9px;gap:6px}.ws .demo-strip>span:last-of-type{max-width:220px}.ws .content{padding:24px 17px}.ws .page-heading{align-items:flex-start;margin-bottom:21px}.ws .page-heading p{font-size:11px;max-width:230px}.ws .page-heading>.flex>.button{font-size:10px;padding:8px 10px}.ws .metrics{grid-template-columns:repeat(2,1fr);gap:11px;margin-bottom:17px}.ws .metric{padding:16px}.ws .metric-value{font-size:25px}.ws .chart-grid,.ws .bottom-grid,.ws .two-cols,.ws .equal-cols,.ws .terminal-grid{grid-template-columns:1fr}.ws .chart-grid{gap:17px}.ws .chart-wrap{height:205px}.ws .donut-panel .panel-body{display:grid;grid-template-columns:1fr 1fr;gap:15px}.ws .donut-panel .allocation-foot{grid-column:1/-1}.ws .donut-panel .donut-area{margin:0}.ws .bottom-grid{gap:17px}.ws .strategy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.ws .strategy-card{padding:15px}.ws .strategy-card h3{font-size:14px}.ws .strategy-card p{min-height:65px;font-size:10px}.ws .strategy-card .button{font-size:10px;padding:7px 9px}.ws .filter-tabs{gap:6px}.ws .filter-tabs button{font-size:10px;padding:7px 10px}.ws .toolbar{flex-wrap:wrap;gap:11px}.ws .search-field{min-width:190px;flex:1}.ws .toolbar select{flex:1}.ws .panel-head{padding:17px}.ws .panel-body{padding:0 17px 18px}.ws .panel-head .segmented button{padding:4px 7px}.ws .page-footer{font-size:8px;flex-wrap:wrap}.ws .modal-backdrop{padding:12px}.ws .modal{max-height:94vh;border-radius:10px}.ws .modal-header,.ws .modal-body,.ws .modal-footer{padding:19px}.ws .modal-header h2{font-size:18px}.ws .modal-body .two-cols{grid-template-columns:1fr}.ws .steps{padding:15px 19px 0}.ws .step{font-size:9px;gap:5px}.ws .step b{width:20px;height:20px}.ws .compare-bar{left:50%;width:calc(100% - 28px);justify-content:space-between;gap:10px;font-size:11px}.ws .feature-grid{grid-template-columns:1fr}.ws .hero{padding:30px 0 40px}.ws .hero h1{font-size:45px;letter-spacing:-1.8px}.ws .hero p{font-size:13px}.ws .hero-stat{gap:28px}.ws .hero-stat strong{font-size:20px}.ws .terminal-chart{height:300px}.ws .terminal-header{flex-wrap:wrap}.ws .fee-feature .big-number{font-size:60px}.ws .top-actions>.icon-button:first-of-type{display:none}}
@media(max-width:420px){.ws .strategy-grid{grid-template-columns:1fr}.ws .strategy-card p{min-height:0}.ws .form-grid{grid-template-columns:1fr}.ws .metric-foot{font-size:9px;gap:5px}.ws .metric-value{font-size:23px}.ws .metric .label{font-size:10px}.ws .page-heading{gap:8px}.ws .page-heading>.flex{flex-direction:column;align-items:flex-end}.ws .chart-summary{gap:14px}.ws .chart-summary .chart-value{font-size:20px}.ws .donut-panel .panel-body{gap:5px}.ws .donut-area svg{width:145px;height:145px}.ws .demo-strip>span:last-of-type{max-width:184px}.ws .hero h1{font-size:39px}.ws .hero-stat{gap:20px}}
@media(prefers-reduced-motion:reduce){.ws,.ws *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.ws /* Quiet enterprise direction: decorative elements give way to typography. */
.orbital{display:none}
.ws .native-card,.ws .fee-feature,.ws .opportunity,.ws .feature-box{background:var(--panel)}
.ws .hero h1 em{color:#a9afb8}
.ws .opportunity{border-color:#373b43}
.ws .opportunity .button.primary{background:#e2e5e9}
.ws .strategy-card:hover{transform:none}
.ws .chart-wrap{color:#c7cdd6}
.ws .brand{letter-spacing:-.7px}
.ws .strategy-art{background:#2b3038;color:#d4dbe5;border-color:#434b57}
.ws .metrics .positive{color:#c5d4cb}
.ws .metric-spark{opacity:.5}
.ws .table-spark{opacity:.75}
.ws .workspace-select{cursor:default}
.ws /* Keep the complete navigation reachable on short laptop and mobile screens. */
.sidebar{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#444b56 transparent;overscroll-behavior:contain}
.ws .sidebar .brand,.ws .sidebar .workspace-select,.ws .sidebar .sidebar-bottom{flex-shrink:0}
/* a short screen (a laptop at 760px high): the menu scrolls inside the sidebar, the brand and the bottom (Settings, Help,
   the account) stay in view; the left padding keeps the active item's bar inside the scroll box. Under 960px the
   Hyperliquid card steps aside */
.ws .sidebar>nav{flex:0 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;margin-left:-16px;padding-left:16px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}
@media(max-height:960px){.ws .sidebar .native-card{display:none!important}.ws .sidebar-bottom{padding-top:12px}}
.ws /* Compact catalog: one strategy per row,.ws with details available on demand. */
html{scrollbar-gutter:stable}
.ws .catalog-page>.page-heading{margin-bottom:25px}
.ws .catalog-controls .toolbar{margin-bottom:14px}
.ws .catalog-controls .search-field{width:370px;max-width:100%}
.ws .catalog-controls .filter-tabs{margin:0 0 13px;gap:6px}
.ws .catalog-controls .filter-tabs button{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;font-size:10px}
.ws .catalog-controls .filter-tabs .icon{width:13px;height:13px}
.ws .catalog-view-switch button{display:flex;align-items:center;gap:6px;padding:5px 10px}
.ws .catalog-view-switch .icon{width:14px;height:14px}
.ws .catalog-status{display:flex;align-items:center;justify-content:space-between;padding:0 1px 18px;color:var(--muted);font-size:10px;gap:10px}
.ws .catalog-status .icon{width:13px;height:13px}
.ws .catalog-status .text-link{font-size:10px;color:var(--muted)}
.ws .status-divider{height:10px;width:1px;background:var(--border)}
.ws .catalog-result-meta{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--soft);margin:0 0 11px;gap:12px}
.ws .catalog-result-meta>span>.muted{margin-left:4px}
.ws .catalog-fold{font-size:10px;color:var(--soft);padding:3px 0}
.ws .catalog-fold:hover{text-decoration:underline}
.ws .strategy-list{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#16181b}
.ws .strategy-list-head,.ws .strategy-row{display:grid;grid-template-columns:22px minmax(220px,1fr) 118px 142px 160px;column-gap:16px;align-items:center;padding:0 17px}
.ws .strategy-list-head{height:36px;background:#1c1f23;color:#8f969f;font-size:9px}
.ws .row-actions-label{text-align:right;padding-right:26px}
.ws .strategy-group-heading{font-family:var(--font);font-size:10px;letter-spacing:0}
.ws .strategy-group-heading>button{width:100%;display:flex;align-items:center;gap:8px;background:#1c1f23;border-top:1px solid var(--border);border-bottom:1px solid #292d34;padding:9px 17px;color:#b9c0c9;text-align:left;font-size:10px;font-weight:550}
.ws .strategy-group-heading>button:disabled{opacity:1;cursor:default}
.ws .strategy-group-heading>button:disabled .group-caret{opacity:.35}
.ws .strategy-group-heading>button:hover:not(:disabled){background:#242830}
.ws .group-caret .icon{width:12px;height:12px;transition:transform .15s}
.ws .group-caret.is-closed .icon{transform:rotate(-90deg)}
.ws .group-count{border:1px solid #383e47;min-width:17px;text-align:center;border-radius:4px;font-size:9px;line-height:15px;color:#979faa;font-weight:450}
.ws .group-caption{margin-left:7px;font-size:9px;font-weight:400;color:#7f8896}
.ws .strategy-row{min-height:65px;border-bottom:1px solid #272b32;transition:background .15s}
.ws .strategy-row:last-child{border-bottom:0}
.ws .strategy-row:hover{background:#1d2127}
.ws .strategy-row.is-compared{background:#252b34}
.ws .strategy-row.is-selected{background:#292f3a;box-shadow:inset 2px 0 #b1bdce}
.ws .row-compare{display:grid;place-items:center;margin:0;width:22px;min-height:40px;cursor:pointer}
.ws .row-compare input{width:13px;height:13px;margin:0;accent-color:#d4dbe6;cursor:pointer;color-scheme:dark}
.ws .strategy-row-main{display:flex;align-items:center;gap:12px;text-align:left;min-width:0;padding:12px 0;align-self:stretch}
.ws .row-bot-icon{display:grid;place-items:center;width:31px;height:31px;flex-shrink:0;background:#232830;border:1px solid #353e4a;border-radius:7px;color:#b5bfcd}
.ws .row-bot-icon .icon{width:17px;height:17px}
.ws .strategy-row-copy{display:block;min-width:0;flex:1}
.ws .strategy-row-title{font-size:12px;font-weight:550;display:flex;align-items:center;gap:9px;line-height:1.4;white-space:nowrap}
.ws .strategy-row-description{display:block;font-size:10px;color:#838d9b;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;line-height:1.45}
.ws .row-unavailable{font-size:8px;font-weight:400;border:1px solid #494338;background:#2b2823;border-radius:3px;padding:1px 5px;color:#bdb29d}
.ws .row-regime{font-size:10px;color:#a7afbb}
.ws .row-risk{display:flex;align-items:center;gap:7px;font-size:10px;color:#a7afbb}
.ws .risk-meter{display:flex;align-items:flex-end;gap:2px;height:11px;flex-shrink:0}
.ws .risk-meter i{width:3px;background:#646f7d;border-radius:1px}
.ws .risk-meter i:nth-child(1){height:4px}
.ws .risk-meter i:nth-child(2){height:7px}
.ws .risk-meter i:nth-child(3){height:10px;background:#353d47}
.ws .risk-high .risk-meter i{background:#9b8d73}
.ws .strategy-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.ws .strategy-row-actions .button{font-size:10px;padding:6px 10px;background:#232830;border-color:#363e49;min-width:76px}
.ws .strategy-row-actions .button:hover{background:#323b48}
.ws .strategy-row-actions .icon-button{width:27px;height:29px}
.ws .strategy-row-actions .icon{width:15px;height:15px}
.ws .strategy-row-actions .save-strategy{color:#697482}
.ws .strategy-row-actions .save-strategy.is-saved{color:#bdc8d8}
.ws .save-strategy.is-saved svg{fill:#bdc8d822}
.ws .row-mobile-facts{display:none}
.ws .catalog-page.has-comparison{padding-bottom:90px}
.ws .compact-density .strategy-row{min-height:53px}
.ws .compact-density .strategy-row-main{padding-top:8px;padding-bottom:8px}
.ws .drawer-backdrop{justify-content:flex-end;padding:0;background:#05070a69;backdrop-filter:none;animation:none}
.ws .modal.strategy-drawer{width:445px;max-width:100%;height:100%;height:100dvh;max-height:100dvh;border-radius:0;border:0;border-left:1px solid #3b4553;background:#191e25;display:flex;flex-direction:column;overflow:hidden;box-shadow:-20px 0 70px #0004;animation:drawer-in .15s ease-out}
.ws .strategy-drawer .modal-header{padding:27px 25px 23px;flex-shrink:0}
.ws .strategy-drawer .modal-header h2{font-size:25px;font-weight:600;letter-spacing:-.7px}
.ws .strategy-drawer .modal-header p{font-size:11px;margin-top:8px}
.ws .strategy-drawer .modal-body{padding:24px 25px;overflow:auto;flex:1;min-height:0}
.ws .strategy-drawer .modal-footer{padding:20px 25px;flex-shrink:0;background:#191e25}
.ws .strategy-drawer .modal-footer .button{font-size:11px}
.ws .drawer-navigation{display:flex;align-items:center;justify-content:space-between;padding:7px 25px;border-bottom:1px solid var(--border);color:var(--muted);font-size:10px;background:#161b21;flex-shrink:0}
.ws .drawer-navigation .flex{gap:3px}
.ws .drawer-navigation .icon-button{width:28px;height:28px}
.ws .drawer-navigation .icon{width:14px;height:14px}
.ws .rotate-180{transform:rotate(180deg)}
.ws .drawer-strategy-intro{display:flex;gap:15px;align-items:flex-start;margin-bottom:25px}
.ws .drawer-strategy-intro .strategy-art{width:38px;height:38px;flex-shrink:0;border-radius:8px}
.ws .drawer-strategy-intro .strategy-art .icon{width:20px;height:20px}
.ws .drawer-strategy-intro p{font-size:13px;line-height:1.85;color:#bcc5d1;margin:0}
.ws .drawer-facts{margin:0 0 28px;padding:0}
.ws .drawer-facts>div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding:12px 0;font-size:11px}
.ws .drawer-facts dt{color:var(--muted)}
.ws .drawer-facts dd{margin:0;text-align:right;color:var(--text)}
.ws .drawer-facts .small{font-size:9px}
.ws .drawer-section{margin:24px 0}
.ws .drawer-section h3{font-size:12px;letter-spacing:0;margin-bottom:9px}
.ws .drawer-section p{font-size:11px;color:#919eaf;line-height:1.85}
.ws .drawer-note{display:flex;gap:9px;align-items:flex-start;color:#939fae;font-size:10px;line-height:1.8;border-top:1px solid var(--border);padding-top:17px;margin-top:26px}
.ws .drawer-note .icon{width:14px;height:14px;flex-shrink:0;margin-top:2px}
@keyframes drawer-in{from{transform:translateX(35px);opacity:.5}to{transform:none;opacity:1}}
@media(min-width:1600px){.ws .strategy-list-head,.ws .strategy-row{grid-template-columns:22px minmax(300px,1fr) 150px 165px 168px}.ws .strategy-row{min-height:70px}.ws .strategy-row-title{font-size:13px}.ws .strategy-row-description{font-size:11px}.ws .row-regime,.ws .row-risk{font-size:11px}}
@media(max-width:1180px){.ws .strategy-list-head,.ws .strategy-row{grid-template-columns:18px minmax(180px,1fr) 94px 113px 134px;column-gap:11px;padding-left:13px;padding-right:13px}.ws .row-detail-button{display:none}.ws .strategy-row-description{font-size:9px}.ws .row-risk,.ws .row-regime{font-size:9px}.ws .strategy-row-actions .button{min-width:75px}.ws .strategy-row-main{gap:9px}.ws .group-caption{display:none}.ws .row-unavailable{font-size:7px;padding:1px 3px}.ws .catalog-result-meta .flex{gap:7px}}
@media(max-width:900px){.ws .strategy-list-head,.ws .strategy-row{grid-template-columns:18px minmax(160px,1fr) 106px 117px;column-gap:10px}.ws .strategy-list-head>span:nth-child(3),.ws .row-regime{display:none}.ws .strategy-row-actions{gap:3px}.ws .strategy-row-title{font-size:11px}.ws .strategy-row-main{gap:9px}.ws .row-bot-icon{width:28px;height:28px}.ws .row-unavailable{display:none}.ws .catalog-controls .search-field{width:300px}.ws .catalog-result-meta>span>.muted{display:none}}
@media(max-width:760px){.ws .catalog-page>.page-heading{margin-bottom:22px}.ws .catalog-controls .toolbar{gap:11px}.ws .catalog-controls .toolbar>.search-field{flex:1 1 100%;width:100%}.ws .catalog-controls .toolbar>.flex{width:100%;justify-content:space-between}.ws .catalog-controls .toolbar select{min-width:140px;max-width:200px;padding:9px 10px}.ws .catalog-controls .filter-tabs{margin-top:5px;margin-bottom:13px;gap:5px}.ws .catalog-controls .filter-tabs button{padding:6px 8px;font-size:9px;gap:5px}.ws .catalog-result-meta{font-size:9px;align-items:flex-start}.ws .catalog-result-meta>.flex{gap:6px;flex-wrap:wrap;justify-content:flex-end}.ws .catalog-status{font-size:9px;padding-bottom:14px}.ws .catalog-status>.flex{gap:7px}.ws .catalog-status .text-link{font-size:9px}.ws .strategy-list-head{display:none}.ws .strategy-group-heading>button{padding:10px 12px}.ws .strategy-row{grid-template-columns:18px minmax(0,1fr) 92px;column-gap:8px;padding:10px 10px;min-height:76px;row-gap:0}.ws .row-compare{grid-column:1;grid-row:1;min-height:34px;align-self:start;padding-top:5px}.ws .strategy-row-main{grid-column:2;grid-row:1;padding:0;align-items:flex-start;gap:9px}.ws .row-bot-icon{width:26px;height:26px;margin-top:1px}.ws .row-bot-icon .icon{width:14px;height:14px}.ws .strategy-row-title{font-size:11px;white-space:normal}.ws .strategy-row-description{font-size:9px;margin-top:4px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;overflow:hidden}.ws .row-risk{display:none}.ws .strategy-row-actions{grid-column:3;grid-row:1/3;align-self:center;display:grid;grid-template-columns:1fr;justify-items:end;gap:4px}.ws .strategy-row-actions .save-strategy{height:24px;width:24px}.ws .strategy-row-actions .button{font-size:9px;padding:5px 8px;min-width:66px}.ws .row-mobile-facts{display:flex;align-items:center;gap:6px;font-size:8px;color:#8894a5;grid-column:2;grid-row:2;padding:6px 0 0 35px}.ws .row-mobile-facts i{font-style:normal;color:#616e81}.ws .compact-density .strategy-row{min-height:70px}.ws .compact-density .strategy-row-main{padding:0}.ws .strategy-drawer .modal-header{padding:23px 20px 19px}.ws .strategy-drawer .modal-body{padding:21px 20px}.ws .strategy-drawer .modal-footer{padding:17px 20px}.ws .drawer-navigation{padding-left:20px;padding-right:20px}.ws .strategy-drawer .modal-header h2{font-size:23px}.ws .drawer-strategy-intro p{font-size:12px}.ws .catalog-page.has-comparison{padding-bottom:100px}}
@media(max-width:380px){.ws .strategy-row{grid-template-columns:16px minmax(0,1fr) 77px;column-gap:6px;padding-left:7px;padding-right:7px}.ws .row-bot-icon{display:none}.ws .row-mobile-facts{padding-left:0}.ws .catalog-status .status-divider{display:none}.ws .catalog-status>.flex{flex-wrap:wrap;gap:4px}.ws .strategy-drawer .modal-footer .button{font-size:10px;padding:9px 11px}}
/* light theme: the prototype's fixed dark colours mapped to the theme tokens (generated 2026-10-06; hand rules below win) */
[data-theme="light"] .ws .button.danger{background:var(--panel);border-color:var(--border)}
[data-theme="light"] .ws .workspace-select{background:var(--panel)}
[data-theme="light"] .ws .workspace-icon{background:var(--panel)}
[data-theme="light"] .ws .nav-item{color:var(--text)}
[data-theme="light"] .ws .nav-item:hover{background:var(--panel2)}
[data-theme="light"] .ws .nav-item.active{background:var(--panel2);color:var(--text)}
[data-theme="light"] .ws .nav-count{color:var(--text)}
[data-theme="light"] .ws .native-card{border-color:var(--border)}
[data-theme="light"] .ws .topbar{background:var(--panel)}
[data-theme="light"] .ws .network-status{color:var(--text)}
[data-theme="light"] .ws .demo-strip{background:var(--panel);border-bottom-color:var(--border);color:var(--text)}
[data-theme="light"] .ws .segmented{background:var(--panel)}
[data-theme="light"] .ws .segmented button.active{color:var(--text)}
[data-theme="light"] .ws th{background:var(--panel)}
[data-theme="light"] .ws td{border-bottom-color:var(--border)}
[data-theme="light"] .ws tbody tr:hover{background:var(--panel2)}
[data-theme="light"] .ws .mini-bot-icon{color:var(--text)}
[data-theme="light"] .ws .mini-bot-icon.blue{background:var(--panel);color:var(--text)}
[data-theme="light"] .ws .mini-bot-icon.purple{background:var(--panel);color:var(--text)}
[data-theme="light"] .ws .opportunity{border-color:var(--border)}
[data-theme="light"] .ws .opportunity .eyebrow{color:var(--text)}
[data-theme="light"] .ws .opportunity p{color:var(--text)}
[data-theme="light"] .ws .search-field{background:var(--panel)}
[data-theme="light"] .ws input:not([type=checkbox]):not([type=range]):not([type=radio]),[data-theme="light"] .ws select,[data-theme="light"] .ws textarea{background:var(--panel)}
[data-theme="light"] .ws .catalog-note{border-color:var(--border);background:var(--panel);color:var(--text)}
[data-theme="light"] .ws .modal{background:var(--panel)}
[data-theme="light"] .ws .summary-box{background:var(--panel)}
[data-theme="light"] .ws .callout{border-color:var(--border);background:var(--panel);color:var(--text)}
[data-theme="light"] .ws .callout.info{border-color:var(--border);background:var(--panel);color:var(--text)}
[data-theme="light"] .ws .order-ticket .segmented button.active.long{color:var(--text)}
[data-theme="light"] .ws .order-ticket .segmented button.active.short{color:var(--text)}
[data-theme="light"] .ws #toast{color:var(--text)}
[data-theme="light"] .ws .hero h1 em{color:var(--text)}
[data-theme="light"] .ws .opportunity{border-color:var(--border)}
[data-theme="light"] .ws .strategy-art{background:var(--panel);color:var(--text);border-color:var(--border)}
[data-theme="light"] .ws .metrics .positive{color:var(--text)}
[data-theme="light"] .ws .strategy-list{background:var(--panel)}
[data-theme="light"] .ws .strategy-list-head{background:var(--panel)}
[data-theme="light"] .ws .strategy-group-heading>button{background:var(--panel);border-bottom-color:var(--border);color:var(--text)}
[data-theme="light"] .ws .strategy-group-heading>button:hover:not(:disabled){background:var(--panel2)}
[data-theme="light"] .ws .group-count{border-color:var(--border)}
[data-theme="light"] .ws .strategy-row{border-bottom-color:var(--border)}
[data-theme="light"] .ws .strategy-row:hover{background:var(--panel2)}
[data-theme="light"] .ws .strategy-row.is-compared{background:var(--panel2)}
[data-theme="light"] .ws .strategy-row.is-selected{background:var(--panel2)}
[data-theme="light"] .ws .row-compare input{color:var(--text);color-scheme:light;accent-color:#1d2024}
[data-theme="light"] .ws .row-bot-icon{background:var(--panel);border-color:var(--border);color:var(--text)}
[data-theme="light"] .ws .row-unavailable{border-color:var(--border);background:var(--panel);color:var(--text)}
[data-theme="light"] .ws .row-regime{color:var(--text)}
[data-theme="light"] .ws .row-risk{color:var(--text)}
[data-theme="light"] .ws .strategy-row-actions .button{background:var(--panel);border-color:var(--border)}
[data-theme="light"] .ws .strategy-row-actions .save-strategy.is-saved{color:var(--text)}
[data-theme="light"] .ws .modal.strategy-drawer{border-left-color:var(--border);background:var(--panel)}
[data-theme="light"] .ws .strategy-drawer .modal-footer{background:var(--panel)}
[data-theme="light"] .ws .drawer-navigation{background:var(--panel)}
[data-theme="light"] .ws .drawer-strategy-intro p{color:var(--text)}
[data-theme="light"] .ws{--bg:var(--rv-bg);--side:var(--rv-bg);--panel:var(--rv-panel);--panel2:var(--rv-pill);--border:var(--rv-line-2);--text:var(--rv-text);--muted:var(--rv-text-3);--soft:var(--rv-text-2);--accent:var(--rv-text);--green:var(--rv-up);--red:var(--rv-down);--amber:var(--rv-warn);--shadow:var(--rv-shadow)}
[data-theme="light"] .ws .button{background:#ffffff}[data-theme="light"] .ws .button:hover{background:#f0f1f3}
[data-theme="light"] .ws .button.primary{color:#ffffff;background:var(--accent);border-color:var(--accent)}[data-theme="light"] .ws .button.primary:hover{background:#000}
/* Light theme of the design's shared components (ours; the delivered stylesheet is dark only): fields, tables, the
   segmented and filter controls, the fee feature, modals, the toast */
[data-theme="light"] .ws input:not([type=checkbox]):not([type=range]):not([type=radio]),[data-theme="light"] .ws select,[data-theme="light"] .ws textarea{background:#ffffff;color:var(--text);border-color:var(--border);color-scheme:light}
[data-theme="light"] .ws input:focus,[data-theme="light"] .ws select:focus,[data-theme="light"] .ws textarea:focus{border-color:#8a9099!important}
[data-theme="light"] .ws th{background:#f6f7f8;color:var(--muted)}
[data-theme="light"] .ws td{border-bottom-color:var(--border)}
[data-theme="light"] .ws .segmented{background:#f6f7f8}[data-theme="light"] .ws .segmented button.active{background:#e4e6e9;color:var(--text)}
[data-theme="light"] .ws .filter-tabs button:hover,[data-theme="light"] .ws .filter-tabs button.active{background:#eceef1;border-color:#b9bec5;color:var(--text)}
[data-theme="light"] .ws .search-field{background:#ffffff}
[data-theme="light"] .ws .fee-feature{background:#ffffff;border-color:var(--border)}
[data-theme="light"] .ws .feature-box{border-top-color:#b9bec5}
[data-theme="light"] .ws .opportunity{background:#ffffff;border-color:var(--border)}[data-theme="light"] .ws .opportunity p{color:var(--muted)}
[data-theme="light"] .ws .modal-backdrop{background:#16181b59}
[data-theme="light"] .ws .modal,[data-theme="light"] .ws .modal.strategy-drawer,[data-theme="light"] .ws .strategy-drawer .modal-footer{background:#ffffff;border-color:var(--border)}
[data-theme="light"] .ws .command-item:hover{background:#f0f1f3}
[data-theme="light"] .ws .pill.green{background:#e8f2ec;border-color:#c6dccf}[data-theme="light"] .ws .pill.amber{background:#f4efe3;border-color:#e0d5bd}
[data-theme="light"] .ws .pill.blue{background:#eaeef3;color:#3d5066;border-color:#cfd7e1}[data-theme="light"] .ws .pill.purple{background:#efedf3;color:#54486a;border-color:#d8d3e2}
[data-theme="light"] .ws .chart-tooltip{background:#ffffff;border-color:var(--border);color:var(--text)}
[data-theme="light"] .ws .demo-strip{background:#f0f1f3;border-bottom-color:var(--border);color:var(--muted)}
[data-theme="light"] .ws .page-footer{color:#6b7178}
/* polish (2026-10-07): a sidebar label stays on one line (cut with an ellipsis when the sidebar is narrow); the light
   theme's scrollbar thumb follows the theme */
.ws .nav-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
[data-theme="light"] .ws .sidebar,[data-theme="light"] .ws .sidebar>nav{scrollbar-color:#c4c9cf transparent}
/* polish (2026-10-07): one focus ring, keyboard only (the outline above; the shell's box-shadow ring is off under .ws).
   Inside a bordered group (segmented controls, a Max/unit button in an input frame) and in lists or bars that clip
   (overflow), the ring is drawn inside the control so it neither crosses the group's frame nor gets cut */
.ws :is(.segmented,.bf-seg,#ov-period,#cp-r,#f-oc,.catalog-view-switch,#cview,#tsb) button:focus-visible,
.ws :is(.inp,.bf-amtf,.bf-in,.search-field,.su-sel) button:focus-visible,
.ws #bf .mx:focus-visible,
.ws .sidebar .nav-item:focus-visible,
.ws .bw-tabs a:focus-visible,
.ws :is(#p-book,#p-bottom) .ph :is(button,a):not(#bk-tabs>button,#tsc>button,#tabs>button):focus-visible,
.ws :is(#dtb,#tsc,#tf) button:focus-visible,
.ws .strategy-group-heading>button:focus-visible,
.ws th[tabindex]:focus-visible,
.ws .lab-rows :is(button,a,summary):focus-visible{outline:2px solid var(--accent);outline-offset:-2px;box-shadow:none}
.ws .pn a:focus-visible{border-radius:4px}
/* a text row with no padding of its own (a Help article, a Points question): the ring sits inside the row's height and
   reaches 8px past its sides (the list's own padding), so it neither gets cut nor touches the words */
.ws :is(.al a.c,.pv summary){position:relative}
.ws :is(.al a.c,.pv summary):focus-visible{outline:0;box-shadow:none}
.ws :is(.al a.c,.pv summary):focus-visible::before{content:'';position:absolute;inset:4px -8px;border:2px solid var(--accent);border-radius:6px;pointer-events:none}
/* a tab bar's tab (the Terminal's book and positions tabs): the label is underlined, the chosen tab keeps its own bar */
.ws :is(#bk-tabs,#tsc,#tabs)>button:focus-visible{outline:0;box-shadow:none;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
/* a table's sort header: a close ring (the cell's padding holds it) */
.ws th :is(button,a):focus-visible{outline:2px solid var(--accent);outline-offset:3px;box-shadow:none;border-radius:3px}
.ws .pn a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;box-shadow:none}
/* a selected tab or tool keeps its mark while it has the focus (the Terminal chart's view underline, a chosen drawing tool) */
.ws #cview button.on:focus-visible{box-shadow:inset 0 -2px var(--rv-accent)}
.ws #dtb button.on:focus-visible{box-shadow:inset 0 0 0 1px var(--rv-line2)}
/* the sidebar item's hover fade leaves the focus ring out (no 3px flash as it settles) */
.ws .nav-item{transition:background .15s,color .15s}
/* polish (2026-10-07): the demo strip's link never breaks; a phone's stacked heading buttons share one width */
.ws .demo-strip a{white-space:nowrap;flex:none}
@media(max-width:420px){.ws .page-heading>.flex{align-items:stretch}}
/* polish (2026-10-07): one select look across the site (the design's field with our chevron, not the system's), the
   same line height as the text fields beside it. Selects drawn inside a framed field keep that field's own look */
/* (:not(#rv-x) only lifts the rule over the pages' own class-level select rules, so the chevron keeps its room) */
.ws select:not(:where(#bf *,.st-pick *,.tb-ps *)):not(#rv-x){-webkit-appearance:none;appearance:none;line-height:1.5;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394999f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px 14px;text-overflow:ellipsis}
[data-theme="light"] .ws select:not(:where(#bf *,.st-pick *,.tb-ps *)):not(#rv-x){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f656c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
.ws select option{background:var(--panel);color:var(--text)}
/* a toolbar's select and search field share one 40px height */
.ws .toolbar select:not(#rv-x),.ws .toolbar .search-field{height:40px}
.ws .toolbar select:not(#rv-x){padding-top:0;padding-bottom:0}
/* polish (2026-10-07): My account's second line (Hyperliquid and the network badge) stays inside its box: when both do
   not fit beside the chevron, the badge goes under the name; the badge and the chevron keep their size */
.ws .workspace-select .small{min-width:0;white-space:nowrap;flex-wrap:wrap;row-gap:3px}
.ws .workspace-select .rvn-mode{flex:none}
.ws .workspace-select>.icon{flex:none}
/* polish (2026-10-07): a phone's top bar never overlaps: the left side (the menu button) gives way to the
   actions, its words cut with an ellipsis */
.ws .topbar>.flex{min-width:0}
/* polish (2026-10-07): the phone's closed menu is out of the Tab order (hidden once it has slid away; shown at once
   when it opens) */
@media(max-width:760px){.ws .sidebar{visibility:hidden;transition:transform .2s,visibility .2s}.ws .sidebar.mobile-open{visibility:visible;transition:transform .2s,visibility 0s}}

/* the older pages' search boxes (Copy, Earn): the workspace's search field (one frame round the icon and the field), not
   .ws label's block (it put the icon above the field) with the input's own box inside */
.ws :is(.cl-q,.ct-q,.ev-q,.evx-q){display:flex;align-items:center;gap:9px;margin-bottom:0;border:1px solid var(--border);padding:0 12px;border-radius:6px;background:#171a1f;color:var(--muted);font-size:inherit}
.ws :is(.cl-q,.ct-q,.ev-q,.evx-q):focus-within{border-color:#acb4c0;box-shadow:none}
.ws :is(.cl-q,.ct-q,.ev-q,.evx-q) svg{display:block;width:14px;height:14px;flex:none}
.ws :is(.cl-q,.ct-q,.ev-q,.evx-q) input{flex:1;min-width:0;width:100%;height:100%;border:0!important;background:none!important;padding:0!important;outline:none;box-shadow:none}
[data-theme="light"] .ws :is(.cl-q,.ct-q,.ev-q,.evx-q){background:#ffffff}
/* a retired product's notice on top of its page (Copy, Earn, Convert: radar/site.py retired_notice, app-core.js retiredNote) */
.ws .rv-ret{margin:0 0 18px;font-size:13px;line-height:20px}
/* QA round 3: a short laptop window (1000x700) shows every menu item, none scrolled away or cut: the same items with
   tighter vertical spacing (gaps, labels, rows) as the window gets shorter; at 1180px and under, a little less side
   padding in each row so "Help & documentation" fits whole */
@media(min-width:761px) and (max-width:1180px){.ws .sidebar .nav-item{padding-left:10px;padding-right:6px;gap:8px}.ws .sidebar{padding-left:11px;padding-right:11px}}
@media(min-width:761px) and (max-height:860px){.ws .sidebar{padding-top:18px;padding-bottom:12px}.ws .sidebar .brand{margin-bottom:20px}
 .ws .sidebar .workspace-select{padding-top:8px;padding-bottom:8px;margin-bottom:14px}
 .ws .sidebar .nav-label{margin:12px 0 6px}.ws .sidebar .nav-item{padding-top:8px;padding-bottom:8px;margin:2px 0}
 .ws .sidebar-bottom{padding-top:8px}.ws .user-block{padding-top:12px}}
@media(min-width:761px) and (max-height:740px){.ws .sidebar .nav-item{padding-top:6px;padding-bottom:6px;margin:1px 0}.ws .sidebar .nav-label{margin:10px 0 5px}
 .ws .sidebar .brand{margin-bottom:14px}.ws .sidebar .workspace-select{margin-bottom:10px}}


html.rv-ws{--rv-header-h:73px;scrollbar-gutter:stable}
@media (max-width:760px){html.rv-ws{--rv-header-h:64px}}
html.rv-ws:not([data-theme="light"]){
 --rv-text-1:#f0f1f3;--rv-text-2:#94999f;--rv-text-3:#5d6168;--rv-line-1:#26282b;--rv-line-2:#303236;
 --rv-text:#f0f1f3;--rv-muted:#94999f;--rv-dim:#868b92;--rv-faint:#5d6168;--rv-ctl:#4a4e55;
 --rv-line:#26282b;--rv-line2:#303236;--rv-card-line:#303236;--rv-btn2:#24262a;--rv-btn2-hover:#34363b;
 --rv-accent:#e2e5e9;--rv-accent-ink:#232529;--rv-accent-soft:rgba(226,229,233,.10);--rv-accent-line:rgba(226,229,233,.40);--rv-brand:#e2e5e9;
 --rv-primary:#e2e5e9;--rv-primary-hover:#ffffff;--rv-primary-pressed:#cfd3d8;--rv-primary-ink:#232529;
 --rv-pos:#9db4a5;--rv-neg:#c99496;--rv-up:#9db4a5;--rv-down:#c99496;--rv-pos-soft:rgba(157,180,165,.12);--rv-neg-soft:rgba(201,148,150,.12);
 --rv-up-soft:rgba(157,180,165,.12);--rv-down-soft:rgba(201,148,150,.12);--rv-up-ink:#101113;--rv-down-ink:#101113;--rv-warn:#bbb098;--rv-warn-soft:rgba(187,176,152,.12);
 --rv-pop:0 18px 70px #0007,0 0 0 1px #303236;--rv-nav:#141618;--rv-focus:#e2e5e9;--rv-scrim:rgba(5,6,8,.78)}
html.rv-ws[data-theme="light"]{
 --rv-bg-0:#f6f7f8;--rv-bg-1:#ffffff;--rv-bg-2:#ffffff;--rv-bg-3:#f0f1f3;--rv-bg-4:#e4e6e9;
 --rv-bg:#f6f7f8;--rv-side:#ffffff;--rv-panel:#ffffff;--rv-panel2:#f0f1f3;--rv-sunk:#f6f7f8;
 --rv-text:#16181b;--rv-muted:#5f656c;--rv-dim:#5f656c;--rv-line:#e6e8eb;--rv-line2:#dfe2e6;--rv-card-line:#dfe2e6;--rv-btn2:#f0f1f3;--rv-btn2-hover:#e4e6e9;
 --rv-accent:#1d2024;--rv-accent-ink:#ffffff;--rv-accent-soft:rgba(29,32,36,.07);--rv-accent-line:rgba(29,32,36,.35);--rv-brand:#1d2024;
 --rv-primary:#1d2024;--rv-primary-hover:#000000;--rv-primary-pressed:#000000;--rv-primary-ink:#ffffff;
 --rv-pos:#2f7a54;--rv-neg:#b2484e;--rv-up:#2f7a54;--rv-down:#b2484e;--rv-warn:#8a6d2f;--rv-nav:#ffffff;--rv-focus:#1d2024}
html.rv-ws{--rv-font:"DM Sans",Pretendard,system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Apple SD Gothic Neo","Hiragino Sans","PingFang SC","Microsoft YaHei",sans-serif;
 --rv-font-display:var(--rv-font);--rv-font-head:var(--rv-font)}
.ws{--font:"DM Sans",Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI","Apple SD Gothic Neo","PingFang SC","Microsoft YaHei",sans-serif}
/* Vietnamese: DM Sans has a few of its letters only, so a word would mix two faces: the device's own font, whole */
html[lang="vi"]{--rv-font:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",sans-serif}
html[lang="vi"] .ws,html[lang="vi"].ws{--font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",sans-serif}
/* the page beside the fixed sidebar: the design's .main-shell margins, on <body> so a page's own markup needs no wrapper */
html.rv-ws body{margin:0;padding-left:220px;background:var(--rv-bg);min-height:100vh}
html.rv-ws body.rv-site{background:var(--rv-bg)}
html.rv-ws[data-theme="light"] body.rv-site{--rv-card-line:#dfe2e6}
@media (max-width:1180px){html.rv-ws body{padding-left:195px}}
@media (max-width:980px){html.rv-ws body{padding-left:76px}}
@media (max-width:760px){html.rv-ws body{padding-left:0}}
.ws.rv-shell-side{display:contents}
.ws.rv-shell-top{background:none}
.ws.rv-page{background:none}
.ws.rv-page>.content{min-width:0}
#rv-main .content{padding:0;max-width:none;margin:0;animation:none}
/* our logo in the design's brand slot: the two-bar mark and the RIVEMONT wordmark (the design's own "R" box is not ours) */
.ws .sidebar .brand{color:var(--text);text-decoration:none;gap:11px;font-size:19px;letter-spacing:.08em;font-weight:700;font-family:var(--font);line-height:28px;margin-left:10px}
.ws .sidebar .brand svg{width:19px;height:26px;flex:none}
.ws .sidebar .brand .brand-word{white-space:nowrap}
.ws .sidebar .brand{min-height:33px}
@media (max-width:1180px){.ws .sidebar .brand{font-size:17px;min-height:30px}}
@media (max-width:980px) and (min-width:761px){.ws .sidebar .brand{font-size:0;margin:0 auto 28px;justify-content:center}}
@media (max-width:760px){.ws .sidebar .brand{font-size:19px;min-height:33px}}
.ws .workspace-select .ws-who{flex:1;min-width:0}.ws .workspace-select .ws-who strong{font-size:11px;font-weight:550}
.ws .workspace-select .small{display:flex;align-items:center;gap:6px}
.ws a.workspace-select{cursor:pointer;color:inherit;text-decoration:none}   /* My account: a link to Settings */
.ws .rvn-mode{font-size:9px;line-height:14px;letter-spacing:.06em;font-weight:600;padding:0 5px;border-radius:3px;border:1px solid var(--border);color:var(--soft)}
.ws .rvn-mode.live{color:var(--green);border-color:#38453e}
.ws .user-block .ub-top{display:flex;align-items:center;gap:6px;min-width:0}.ws .user-block .ub-top>.ub-name{min-width:0}.ws .user-block .rvn-mode{flex:none}
.ws .user-block .ub-fee{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* our social accounts (radar/nav.py SOCIAL): quiet icons, brighter on hover; the sidebar row sits over Settings */
.ws .rv-soc{display:flex;align-items:center;gap:2px;padding:0 6px 8px}.ws .rv-soc a{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:7px;color:var(--muted)}
.ws .rv-soc a:hover{color:var(--text);background:var(--panel-2,rgba(255,255,255,.05))}.ws .rv-soc svg{width:15px;height:15px}
.ws .rv-soc-f{padding:0;gap:0}.ws .rv-soc-f a{width:24px;height:24px}.ws .rv-soc-f svg{width:13px;height:13px}
@media (max-width:980px) and (min-width:761px){.ws .sidebar .rv-soc{display:none}}
.ws .sidebar .nav-item{text-decoration:none}
.ws .nav-count{font-weight:700}.ws .sidebar .nav-count{padding:1px 4px}.ws b{font-weight:700}
.ws .sidebar .nav-item:has(.nav-count) span{white-space:nowrap}
.ws .sidebar .nav-item>.icon:last-child:not(:first-child){margin-left:auto;width:15px;height:15px}
.ws .user-block .ub-who{flex:1;min-width:0}.ws .user-block .ub-name{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ws .user-block .avatar .icon{width:15px;height:15px}
.ws .user-block .ub-set{color:var(--muted);display:inline-grid}.ws .user-block .ub-set:hover{color:var(--text)}
.ws .user-block .ub-set .icon{width:17px;height:17px}
@media (max-width:980px) and (min-width:761px){.ws .sidebar .user-block .ub-set{display:none}}
/* signed in or not: a class on <html> set before first paint (the app key is in this browser) */
html:not(.rv-in) .rv-only-in,html.rv-in .rv-only-out,html:not(.rv-in) .rvn-in,html.rv-in .rvn-out{display:none!important}
/* the top bar: the bell (radar/web/notify-bell.js) as the design's icon button, the account menu in Connect wallet's place */
.ws .topbar .breadcrumb .icon{width:14px;height:14px}
.ws .topbar>.flex,.ws .topbar .breadcrumb{min-width:0}.ws .breadcrumb em{font-style:normal}.ws .breadcrumb:has(strong:empty) .icon{display:none}
@media (max-width:420px){.ws .breadcrumb.bc-long em,.ws .breadcrumb.bc-long em+.icon{display:none}}.ws .topbar .top-actions{flex:none}
.ws .topbar .search-trigger kbd{font-family:inherit}
/* phones: the search trigger hides (ws.css), a search icon button opens the same search */
.ws .topbar .rv-sq{display:none}@media (max-width:760px){.ws .topbar .rv-sq{display:inline-grid}}
@media (max-width:420px){.ws .breadcrumb em,.ws .breadcrumb em+.icon{display:none}
 .ws .breadcrumb strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
.ws .topbar .rv-bell .rvb-btn{width:33px;height:33px;border-radius:7px;border:1px solid transparent;color:var(--muted);background:none}
.ws .topbar .rv-bell .rvb-btn:hover,.ws .topbar .rv-bell .rvb-btn[aria-expanded="true"]{background:var(--panel2);color:var(--text);border-color:var(--border)}
.ws .topbar .rv-bell .rvb-btn svg{width:18px;height:18px;stroke-width:1.65}
.ws .topbar a.button{text-decoration:none}
.ws .rv-dd{position:relative}
.ws .rv-acc span{max-width:120px;overflow:hidden;text-overflow:ellipsis}
.ws .rv-dd>.rv-menu{display:none;position:absolute;right:0;top:calc(100% + 8px);z-index:60;width:290px;padding:8px;background:var(--panel);border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow)}
.ws .rv-dd.open>.rv-menu{display:block}
.ws .rv-mh{display:flex;align-items:center;gap:10px;padding:8px 8px 12px}
.ws .rv-mh b{display:block;font-size:12px;font-weight:550}.ws .rv-mh small{display:block;color:var(--muted);font-size:10px}
.ws .rv-mh .avatar .icon{width:15px;height:15px}
.ws .rv-bal{margin:0 0 6px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--panel2)}
.ws .rv-bal .label{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}
.ws .rv-bal .rv-eye{width:24px;height:24px}.ws .rv-bal .rv-eye .icon{width:14px;height:14px}.ws .rv-eye .e0,.ws .rv-eye.off .e1{display:none}.ws .rv-eye.off .e0{display:block}
.ws .rv-bv{font:600 21px/1.3 var(--font);letter-spacing:-.6px;margin:4px 0 2px;font-variant-numeric:tabular-nums}
.ws .rv-bact{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.ws .rv-bact .icon{width:14px;height:14px}
.ws .rv-mi{display:flex;align-items:center;gap:11px;width:100%;padding:9px 10px;border-radius:6px;color:#9b9fa6;font-size:12px;text-align:left;text-decoration:none}
.ws .rv-mi:hover{background:var(--panel2);color:var(--text)}.ws .rv-mi .icon{width:16px;height:16px}
.ws .rv-mi.rv-so{border-top:1px solid var(--border);border-radius:0 0 6px 6px;margin-top:6px;padding-top:12px}
/* phones: the sidebar slides in over a scrim */
#rv-scrim{display:none}       /* only the sidebar's own scrim: the Terminal's sign-in dialog is a .rv-scrim too (QA 2026-10-06) */
@media (max-width:760px){.ws #rv-scrim:not([hidden]){display:block;position:fixed;inset:0;z-index:58;background:#050608a6}.ws .sidebar{z-index:60}
 .ws .rv-acc span{max-width:84px}
 .ws .rv-dd>.rv-menu{position:fixed;right:12px;left:12px;top:60px;width:auto}}
/* search: the design's dialog (its backdrop, panel and rows) around our search (markets, actions, pages and help) */
.rvs{position:fixed;inset:0;z-index:100;display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;background:#050608c7;backdrop-filter:blur(7px);
 -webkit-backdrop-filter:blur(7px);font:13px/1.5 "DM Sans",Pretendard,-apple-system,"Segoe UI",sans-serif;color:#f0f1f3}
.rvs[hidden]{display:none}
.rvs a{text-decoration:none;color:inherit}
.rvs .rvs-box{width:100%;max-width:560px;max-height:76vh;display:flex;flex-direction:column;border-radius:14px;background:#1b1f25;border:1px solid #464e5b;box-shadow:0 18px 70px #0007;overflow:hidden}
.rvs .rvs-in{display:flex;align-items:center;gap:9px;margin:16px 16px 6px;padding:0 12px;height:44px;border:1px solid #303236;border-radius:6px;background:#171a1f}
.rvs .rvs-in input{flex:1;min-width:0;height:100%;border:0;outline:0;background:none;color:inherit;font:inherit;font-size:13px}
.rvs svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.rvs .rvs-in input:focus,.rvs .rvs-in input:focus-visible{outline:0;box-shadow:none}.rvs .rvs-in:focus-within{border-color:#acb4c0}
.rvs .rvs-in input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
.rvs .rvs-in>svg{color:#94999f}.rvs .rvs-x{display:grid;place-items:center;width:28px;height:28px;border:0;background:none;color:#94999f;cursor:pointer;border-radius:6px}
.rvs .rvs-x:hover{background:#313741;color:#f0f1f3}
.rvs .rvs-list{overflow-y:auto;padding:4px 16px 16px}
.rvs .rvs-h{padding:12px 12px 4px;font-size:9px;line-height:16px;letter-spacing:1.3px;text-transform:uppercase;font-weight:700;color:#787d84}
.rvs .rvs-r{display:flex;align-items:center;gap:12px;padding:0 12px;height:44px;border-radius:6px}
.rvs .rvs-r.sel,.rvs .rvs-r:hover{background:#313741}
.rvs .rvs-r b{font-weight:500}.rvs .rvs-r small{color:#94999f;font-size:11px;margin-left:auto;white-space:nowrap}
.rvs .rvs-e{padding:20px 12px;color:#94999f}
.rvs .rvs-m b span{color:#94999f;font-weight:400}
.rvs .rvs-ci{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#2d3035;font-size:11px;font-weight:500;flex:none}
.rvs .rvs-px{margin-left:auto;font-variant-numeric:tabular-nums}
.rvs .rvs-ch{width:72px;text-align:right;font-variant-numeric:tabular-nums;color:#94999f}.rvs .rvs-ch.up{color:#9db4a5}.rvs .rvs-ch.dn{color:#c99496}
@media (max-width:760px){.rvs{padding:12px}.rvs .rvs-box{max-height:calc(100vh - 24px);border-radius:10px}}
[data-theme="light"] .rvs{background:#16181b59;color:#16181b}
[data-theme="light"] .rvs .rvs-box{background:#ffffff;border-color:#dfe2e6;box-shadow:0 18px 50px #0002}
[data-theme="light"] .rvs .rvs-in{background:#f6f7f8;border-color:#dfe2e6}
[data-theme="light"] .rvs .rvs-r.sel,[data-theme="light"] .rvs .rvs-r:hover,[data-theme="light"] .rvs .rvs-x:hover{background:#f0f1f3;color:#16181b}
[data-theme="light"] .rvs .rvs-ci{background:#f0f1f3}[data-theme="light"] .rvs .rvs-ch.up{color:#2f7a54}[data-theme="light"] .rvs .rvs-ch.dn{color:#b2484e}
/* the launch bar (radar/launch_bar.py) in the design's demo strip's place and look */
.ws .rvlb{height:auto;min-height:33px;padding:6px 48px;background:#1b1e22;border-bottom:1px solid #31363d;font-size:10px;line-height:16px;color:#9fa6af}
.ws .rvlb a{color:var(--accent);text-decoration:none}
html.rv-ws:has(#rvlb){--rv-lb-h:33px}
[data-theme="light"] .ws .rvlb{background:#f0f1f3;border-bottom-color:#dfe2e6;color:#5f656c}
/* Connect wallet's explanation: the design's modal, one row per point */
.ws .rv-cm{z-index:120}.ws .rv-cm[hidden]{display:none}
.ws .rv-cx{display:flex;gap:13px;padding:13px 0;border-bottom:1px solid var(--border)}.ws .rv-cx:first-child{padding-top:0}.ws .rv-cx:last-child{border:0;padding-bottom:0}
.ws .rv-cx>.icon{color:var(--accent);margin-top:1px}.ws .rv-cx strong{font-size:12px;font-weight:600}.ws .rv-cx p{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.6}
.ws .rv-cm .modal-footer .button{text-decoration:none}
[data-theme="light"] .ws .modal{background:#fff;border-color:#dfe2e6}
/* the toast: the design's #toast */
.ws #rv-toast{position:fixed;bottom:25px;right:26px;padding:13px 19px;background:#343e4b;border:1px solid #69798e;box-shadow:var(--shadow);color:#e4eaf2;border-radius:8px;z-index:200;
 max-width:400px;font-size:12px;opacity:0;transform:translateY(12px);transition:.2s;pointer-events:none}
.ws #rv-toast.show{opacity:1;transform:none}
@media (max-width:760px){.ws #rv-toast{left:14px;right:14px;bottom:16px;max-width:none}}
/* the footer: the design's page-footer line; our links, the language list (it opens upwards) and the theme */
.ws .page-footer.rv-foot{flex-wrap:wrap;align-items:center;row-gap:8px}
.ws .rv-foot .rv-fl{gap:6px;flex-wrap:wrap}
.ws .rv-foot .rv-fr{gap:14px;flex-wrap:wrap;justify-content:flex-end}
.ws .rv-foot a{color:#818995;text-decoration:none}.ws .rv-foot a:hover{color:var(--text)}
.ws .rv-flg{position:relative}
.ws .rv-flg summary{display:flex;align-items:center;gap:5px;cursor:pointer;list-style:none;color:#818995}
.ws .rv-flg summary::-webkit-details-marker{display:none}.ws .rv-flg summary:hover{color:var(--text)}
.ws .rv-flg summary .icon{width:12px;height:12px}
.ws .rv-flm{position:absolute;z-index:30;right:0;bottom:calc(100% + 8px);display:grid;min-width:200px;max-height:320px;overflow-y:auto;padding:6px;border-radius:9px;
 background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow)}
.ws .rv-fli{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:6px;font-size:12px;color:var(--soft)!important}
.ws .rv-fli:hover{background:var(--panel2)}.ws .rv-fli.on{color:var(--text)!important}
.ws .rv-fli svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
.ws .rv-foot .rv-tg{width:22px;height:22px;color:#818995;border-radius:5px}.ws .rv-foot .rv-tg svg{width:13px;height:13px}
.ws .rv-foot .rv-tg:hover{background:var(--panel2);color:var(--text)}
@media (max-width:760px){.ws .page-footer.rv-foot{font-size:10px}.ws .rv-foot .rv-fr{justify-content:flex-start;gap:12px}}
/* the light theme: the design's fixed dark colours of the shell, in light */
[data-theme="light"] .ws .workspace-select{background:#f6f7f8}
[data-theme="light"] .ws .workspace-icon,[data-theme="light"] .ws .avatar{background:#eceef1;color:#16181b}
[data-theme="light"] .ws .nav-item{color:#5f656c}
[data-theme="light"] .ws .nav-item:hover{background:#f0f1f3;color:#16181b}
[data-theme="light"] .ws .nav-item.active{background:#eceef1;color:#16181b}
[data-theme="light"] .ws .nav-count{background:#e4e6e9;color:#16181b}
[data-theme="light"] .ws .nav-label{color:#80858c}
[data-theme="light"] .ws .topbar{background:#ffffff}
[data-theme="light"] .ws .search-trigger,[data-theme="light"] .ws .network-status{color:#5f656c}
[data-theme="light"] .ws .native-card{border-color:#dfe2e6}
[data-theme="light"] .ws .hl-symbol{color:#16181b}
[data-theme="light"] .ws .rv-mi{color:#5f656c}
[data-theme="light"] .ws .rv-foot a,[data-theme="light"] .ws .rv-flg summary,[data-theme="light"] .ws .rv-foot .rv-tg,[data-theme="light"] .ws .page-footer{color:#6b7178}
[data-theme="light"] .ws #rv-toast{background:#16181b;border-color:#16181b;color:#fff}
[data-theme="light"] .ws .rv-scrim:not([hidden]){background:#16181b4d}
.rv-mono,.num{font-family:var(--rv-font-mono-fig);font-variant-numeric:tabular-nums lining-nums}

/* Rivemont's design tokens (owner, 2026-10-10: the redesign after the Fleet fold, concept A; colours measured from
   pro.aave.com). The ONE place these colours, type and radii are defined: every other stylesheet reads these variables.
   Bundled last into the site's one stylesheet (radar/theme.py css), so it wins over the older shell's token values.
   Dark is the design; the light theme keeps working with the same names (quiet light equivalents below). */
:root,
html.rv-ws:not([data-theme="light"]),
html.rv-ws:not([data-theme="light"]) body.rv-site {
  --rv-bg: #101010;
  --rv-panel: #1a1919;
  --rv-pill: #1f1e1e;
  --rv-text: #ffffff;
  --rv-text-2: #bcbbbb;
  --rv-text-3: #8f8e8e;
  --rv-line: rgba(255, 255, 255, .07);
  --rv-line-2: rgba(255, 255, 255, .12);
  --rv-up: #7fa98f;
  --rv-down: #c4777a;
  --rv-focus: #a9aed6;
  /* the older shell's names, on the same palette (pages not yet rebuilt sit in the new colours at once) */
  --rv-bg-0: var(--rv-bg); --rv-bg-1: var(--rv-bg); --rv-bg-2: var(--rv-panel); --rv-bg-3: var(--rv-pill); --rv-bg-4: #2a2929;
  --rv-side: var(--rv-bg); --rv-panel2: var(--rv-pill); --rv-sunk: var(--rv-bg);
  --rv-text-1: var(--rv-text); --rv-muted: var(--rv-text-3); --rv-dim: var(--rv-text-3); --rv-faint: #6c6b6b;
  --rv-line-1: var(--rv-line); --rv-line2: var(--rv-line-2); --rv-card-line: var(--rv-line);
  --rv-btn2: var(--rv-pill); --rv-btn2-hover: #2a2929;
  --rv-accent: #ffffff; --rv-accent-ink: #101010; --rv-brand: #ffffff;
  --rv-primary: #ffffff; --rv-primary-hover: #ffffff; --rv-primary-pressed: #e6e6e6; --rv-primary-ink: #101010;
  --rv-pos: var(--rv-up); --rv-neg: var(--rv-down);
  --rv-nav: var(--rv-bg);
}
html.rv-ws[data-theme="light"],
html.rv-ws[data-theme="light"] body.rv-site {
  --rv-bg: #ffffff;
  --rv-panel: #f6f6f6;
  --rv-pill: #efefef;
  --rv-text: #101010;
  --rv-text-2: #444343;
  --rv-text-3: #6b6a6a;
  --rv-line: rgba(0, 0, 0, .08);
  --rv-line-2: rgba(0, 0, 0, .14);
  --rv-up: #2f7a54;
  --rv-down: #b2484e;
  --rv-focus: #4a52a8;
  --rv-bg-0: var(--rv-bg); --rv-bg-1: var(--rv-bg); --rv-bg-2: var(--rv-panel); --rv-bg-3: var(--rv-pill);
  --rv-side: var(--rv-bg); --rv-panel2: var(--rv-pill); --rv-sunk: var(--rv-panel);
  --rv-text-1: var(--rv-text); --rv-muted: var(--rv-text-3); --rv-dim: var(--rv-text-3);
  --rv-line-1: var(--rv-line); --rv-line2: var(--rv-line-2); --rv-card-line: var(--rv-line);
  --rv-accent: #101010; --rv-accent-ink: #ffffff; --rv-brand: #101010;
  --rv-primary: #101010; --rv-primary-hover: #000000; --rv-primary-ink: #ffffff;
  --rv-pos: var(--rv-up); --rv-neg: var(--rv-down); --rv-nav: var(--rv-bg);
}
/* type and radius: DM Sans for text (its faces: radar/theme.py), Manrope for titles and big figures (SIL OFL,
   radar/web/brand/fonts/DMSans-Manrope-OFL.txt; Latin only, the rest falls back to DM Sans) */
@font-face { font-family: Manrope; font-style: normal; font-weight: 600; font-display: swap; src: url(/brand/fonts/manrope-600-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2190-2199, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: Manrope; font-style: normal; font-weight: 700; font-display: swap; src: url(/brand/fonts/manrope-700-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2190-2199, U+2212, U+2215, U+FEFF, U+FFFD; }
:root {
  --rv-font-text: "DM Sans", Pretendard, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --rv-font-title: Manrope, "DM Sans", Pretendard, system-ui, -apple-system, "Segoe UI", sans-serif;
  --rv-fs: 15px;
  --rv-fs-sm: 13px;
  --rv-fs-xs: 12px;
  --rv-fs-h1: 32px;
  --rv-fs-h2: 22px;
  --rv-fs-big: 52px;
  --rv-r-pill: 999px;
  --rv-r-panel: 16px;
  --rv-gutter: 48px;     /* a text page's side margin (Help, guides, legal, fees): its reading width stays */
  --rv-max: 1264px;      /* a text page's container, its gutters included */
  --rv-edge: 24px;       /* the window's own margin: the top bar and every app screen (16px on phones) */
}
@media (max-width: 1100px) { :root { --rv-gutter: 32px; } }
@media (max-width: 760px) { :root { --rv-gutter: 16px; --rv-edge: 16px; --rv-fs-h1: 26px; --rv-fs-big: 40px; } }
/* the app screens use the whole window (owner's live check 2026-10-10 22:50 UTC, G1: "wide, no side margins"): every
   page and bar that reads --rv-max / --rv-gutter (the shell's main, the builder, its bar, the lists) is edge to edge
   with --rv-edge each side. The one place this is set: html.rv-app is radar/nav.py is_app (the shell adds it). */
html.rv-app { --rv-gutter: var(--rv-edge); --rv-max: 100%; }
html.rv-ws body { background: var(--rv-bg); }

/* ======================================================================================================================
   Spacing (a 4px grid; the older names keep their values) and the shared components (owner, 2026-10-10 04:00 UTC merge
   rules: pages use only var(--rv-*) and these classes; nothing local). Dark first, the light theme through the tokens.
   Classes: .rv-num .rv-up .rv-down .rv-muted | .rv-btn (.primary .quiet .danger .sm .lg .block) | .rv-pills .rv-pill (.on .sm)
   | .rv-field .rv-field-u .rv-label .rv-help | .rv-tabs | .rv-table (.r .rv-click) .rv-panel (.pad .tbl) | .rv-drawer
   (.rv-drawer-scrim -head -tabs -body -foot) | .rv-sheet-wrap .rv-sheet | .rv-toast (.ok .err) | .rv-menu
   ====================================================================================================================== */
:root {
  --rv-sp-1: 4px; --rv-sp-2: 8px; --rv-sp-3: 12px; --rv-sp-4: 16px; --rv-sp-5: 20px; --rv-sp-6: 24px; --rv-sp-7: 28px; --rv-sp-8: 32px;
  --rv-sp-10: 40px; --rv-sp-12: 48px; --rv-sp-14: 56px;
  --rv-h-sm: 32px; --rv-h-md: 40px; --rv-h-lg: 46px;
  --rv-r-sm: 10px; --rv-r-md: 12px;
  --rv-scrim: rgba(5, 5, 5, .72);
  --rv-shadow: 0 18px 60px rgba(0, 0, 0, .45);
  --rv-line-3: rgba(255, 255, 255, .28);          /* a hovered outline */
  --rv-line-on: rgba(255, 255, 255, .4);          /* the chosen pill's outline */
  --rv-down-soft: rgba(196, 119, 122, .12);
  --rv-up-soft: rgba(127, 169, 143, .12);
  --rv-ease: .15s ease;
  --rv-warn: #bbb098;
  /* the Backtest lab's versions A-D on the chart and in the comparison (radar/web/bot-lab.js): four greys, lightest first */
  --rv-cmp-a: #e2e1e1; --rv-cmp-b: #a9a8a8; --rv-cmp-c: #7b7a7a; --rv-cmp-d: #595858;
}
html[data-theme="light"] { --rv-cmp-a: #2b2a2a; --rv-cmp-b: #575656; --rv-cmp-c: #838282; --rv-cmp-d: #adacac; --rv-warn: #8a6d2f; --rv-line-3: rgba(0, 0, 0, .28); --rv-line-on: rgba(0, 0, 0, .4); --rv-shadow: 0 18px 50px rgba(0, 0, 0, .12); --rv-scrim: rgba(16, 16, 16, .3); }

/* figures and P&L colour (colour only on numbers) */
.rv-num { font-variant-numeric: tabular-nums lining-nums; }
.rv-up { color: var(--rv-up); }
.rv-down { color: var(--rv-down); }
.rv-muted { color: var(--rv-text-3); }

/* buttons: .rv-btn is the outlined pill (secondary); .primary the white pill (one per panel); .quiet a text button;
   .danger an outlined pill in the loss colour; .sm / .lg sizes; .block full width */
.rv-btn, .ws .rv-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--rv-sp-2); height: var(--rv-h-md); padding: 0 var(--rv-sp-5);
  border: 1px solid var(--rv-line-2); border-radius: var(--rv-r-pill); background: transparent; color: var(--rv-text);
  font: 500 14px/1 var(--rv-font-text); white-space: nowrap; text-decoration: none; cursor: pointer; transition: border-color var(--rv-ease), background var(--rv-ease), opacity var(--rv-ease); }
.rv-btn:hover { border-color: var(--rv-line-3); background: transparent; text-decoration: none; }
.rv-btn:active { transform: none; opacity: .85; }
.rv-btn.primary { background: var(--rv-text); color: var(--rv-bg); border-color: var(--rv-text); font-weight: 600; }
.rv-btn.primary:hover { background: var(--rv-text); opacity: .9; }
.rv-btn.quiet { height: auto; padding: 0; border: 0; border-radius: 0; background: none; color: var(--rv-text-2); font-weight: 400; }
.rv-btn.quiet:hover { color: var(--rv-text); }
/* a link inside a sentence: the text's own colour one step up, a hairline underline; brighter on hover */
.rv-link, .ws a.rv-link { color: var(--rv-text-2); text-decoration: underline; text-decoration-color: var(--rv-line-3); text-underline-offset: 3px; }
.rv-link:hover, .ws a.rv-link:hover { color: var(--rv-text); text-decoration-color: var(--rv-text-3); }
.rv-btn.danger { background: transparent; color: var(--rv-down); border-color: var(--rv-down); }
.rv-btn.danger:hover { background: var(--rv-down-soft); }
.rv-btn.sm { height: var(--rv-h-sm); padding: 0 var(--rv-sp-4); font-size: 13px; }
.rv-btn.lg { height: var(--rv-h-lg); padding: 0 var(--rv-sp-6); font-size: 15px; }
.rv-btn.block { display: flex; width: 100%; }
.rv-btn:disabled, .rv-btn[aria-disabled="true"] { opacity: .4; cursor: not-allowed; pointer-events: none; }
.rv-btn svg { width: 15px; height: 15px; flex: none; }

/* filter pills (a row of choices; .on the chosen one) */
.rv-pills { display: flex; flex-wrap: wrap; gap: var(--rv-sp-2); }
.rv-pill, .ws .rv-pill { display: inline-flex; align-items: center; gap: var(--rv-sp-2); height: var(--rv-h-md); padding: 0 var(--rv-sp-4); border-radius: var(--rv-r-pill);
  border: 1px solid var(--rv-line); background: transparent; color: var(--rv-text-2); font: 500 14px/1 var(--rv-font-text); white-space: nowrap; cursor: pointer; text-decoration: none; }
.rv-pill:hover { color: var(--rv-text); border-color: var(--rv-line-2); }
.rv-pill.on, .rv-pill[aria-pressed="true"], .rv-pill[aria-selected="true"] { background: var(--rv-pill); color: var(--rv-text); border-color: var(--rv-line-on); }
.rv-pill.sm { height: var(--rv-h-sm); padding: 0 var(--rv-sp-3); font-size: 13px; }
.rv-pill .rv-count { color: var(--rv-text-3); }

/* fields: input, select and textarea (.rv-field); a field with a unit beside it (.rv-field-u wraps the input and .u) */
.rv-field, .ws .rv-field { width: 100%; height: var(--rv-h-md); padding: 0 var(--rv-sp-3); border: 1px solid var(--rv-line-2); border-radius: var(--rv-r-sm);
  background: var(--rv-bg); color: var(--rv-text); font: 400 14px var(--rv-font-text); outline: 0; transition: border-color var(--rv-ease); }
textarea.rv-field { height: auto; min-height: 88px; padding: var(--rv-sp-2) var(--rv-sp-3); line-height: 1.5; }
.rv-field:hover { border-color: var(--rv-line-3); }
.rv-field:focus, .rv-field:focus-visible { border-color: var(--rv-focus); box-shadow: none; }
.rv-field[aria-invalid="true"], .rv-field.bad { border-color: var(--rv-down); }
.rv-field::placeholder { color: var(--rv-text-3); }
.rv-field-u { display: flex; align-items: center; gap: var(--rv-sp-2); height: var(--rv-h-md); padding: 0 var(--rv-sp-3); border: 1px solid var(--rv-line-2);
  border-radius: var(--rv-r-sm); background: var(--rv-bg); }
.rv-field-u:focus-within { border-color: var(--rv-focus); }
.rv-field-u input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: none; color: var(--rv-text); font: 400 14px var(--rv-font-text); }
.rv-field-u .u { color: var(--rv-text-3); font-size: 13px; }
.rv-label { display: block; margin-bottom: var(--rv-sp-2); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--rv-text-3); }
/* section title: the ONE style of a section's heading on every page (owner, 2026-10-10: small grey caps, as Dashboard's) */
.rv-sec-title { display: block; height: auto; margin: 0; font: 500 var(--rv-fs-xs)/1.4 var(--rv-font-text); letter-spacing: .06em; text-transform: uppercase; color: var(--rv-text-3); }
#bf .rv-sec-title.rv-sec-title, .ws .rv-sec-title.rv-sec-title { display: block; height: auto; font: 500 var(--rv-fs-xs)/1.4 var(--rv-font-text); letter-spacing: .06em; text-transform: uppercase; color: var(--rv-text-3); }
.rv-help { margin-top: var(--rv-sp-1); font-size: 13px; color: var(--rv-text-3); }
.rv-help.bad { color: var(--rv-down); }

/* tabs: text tabs on a hairline, the current one white with a 2px underline */
.rv-tabs { display: flex; gap: var(--rv-sp-6); border-bottom: 1px solid var(--rv-line); overflow-x: auto; scrollbar-width: none; -webkit-mask-image: none; mask-image: none; background: none; }
.rv-tabs::-webkit-scrollbar { display: none; }
.rv-tabs > :is(a, button) { position: relative; height: 44px; padding: 0; border: 0; background: none; color: var(--rv-text-3); font: 500 14px var(--rv-font-text);
  white-space: nowrap; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; }
.rv-tabs > :is(a, button):hover { color: var(--rv-text-2); }
.rv-tabs > :is(.on, [aria-selected="true"], [aria-current]) { color: var(--rv-text); }
.rv-tabs > :is(.on, [aria-selected="true"], [aria-current])::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--rv-text); }

/* tables: hairlines only, roomy rows, the coin's name over its ticker (td small); .r right-aligned figures */
.rv-table { width: 100%; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums; }
.rv-table th { height: auto; padding: var(--rv-sp-4) var(--rv-sp-4) var(--rv-sp-4) 0; border-bottom: 1px solid var(--rv-line); font-size: 11px; font-weight: 500;
  letter-spacing: .06em; text-transform: uppercase; color: var(--rv-text-3); text-align: left; white-space: nowrap; }
.rv-table td { height: auto; padding: var(--rv-sp-5) var(--rv-sp-4) var(--rv-sp-5) 0; border-top: 0; border-bottom: 1px solid var(--rv-line); color: var(--rv-text); text-align: left; vertical-align: middle; }
.rv-table tr:last-child td { border-bottom: 0; }
.rv-table :is(th, td):first-child { padding-left: 0; }
.rv-table :is(th, td):last-child { padding-right: 0; }
.rv-table :is(th, td).r { text-align: right; }
.rv-table tbody tr:hover td { background: transparent; }
.rv-table tbody tr.rv-click { cursor: pointer; }
.rv-table tbody tr.rv-click:hover td { background: var(--rv-pill); }
.rv-table td small { display: block; font-size: 13px; color: var(--rv-text-3); }
.rv-panel { background: var(--rv-panel); border: 1px solid var(--rv-line); border-radius: var(--rv-r-panel); }
.rv-panel.pad { padding: var(--rv-sp-6) var(--rv-sp-8); }
.rv-panel.tbl { padding: 0 var(--rv-sp-5); overflow-x: auto; }

/* the right drawer: head (title, close), tabs, a scrolling body, a foot with the actions; [hidden] closes it */
.rv-drawer { position: fixed; top: 0; right: 0; bottom: 0; z-index: 110; width: min(560px, 100vw); display: flex; flex-direction: column;
  background: var(--rv-panel); border-left: 1px solid var(--rv-line-2); box-shadow: var(--rv-shadow); color: var(--rv-text); font-family: var(--rv-font-text); }
.rv-drawer[hidden] { display: none; }
.rv-drawer-scrim { position: fixed; inset: 0; z-index: 109; background: var(--rv-scrim); }
.rv-drawer-scrim[hidden] { display: none; }
.rv-drawer-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--rv-sp-4); padding: var(--rv-sp-6) var(--rv-sp-6) var(--rv-sp-3); }
.rv-drawer-head h2 { margin: 0; font: 600 20px/1.3 var(--rv-font-title); }
.rv-drawer-tabs { padding: 0 var(--rv-sp-6); }
.rv-drawer-body { flex: 1; min-height: 0; overflow-y: auto; padding: var(--rv-sp-6); overscroll-behavior: contain; }
.rv-drawer-foot { display: flex; align-items: center; justify-content: flex-end; gap: var(--rv-sp-3); padding: var(--rv-sp-4) var(--rv-sp-6); border-top: 1px solid var(--rv-line); }
@media (max-width: 760px) { .rv-drawer { width: 100vw; border-left: 0; } }

/* the sheet: a centred dialog, a bottom sheet on phones (.rv-sheet inside the scrim .rv-sheet-wrap) */
.rv-sheet-wrap { position: fixed; inset: 0; z-index: 120; display: flex; align-items: center; justify-content: center; padding: var(--rv-sp-4); background: var(--rv-scrim); }
.rv-sheet-wrap[hidden] { display: none; }
.rv-sheet { width: 100%; max-width: 520px; max-height: 88vh; overflow-y: auto; padding: var(--rv-sp-6); background: var(--rv-panel); border: 1px solid var(--rv-line-2);
  border-radius: var(--rv-r-panel); box-shadow: var(--rv-shadow); color: var(--rv-text); font-family: var(--rv-font-text); }
.rv-sheet h2 { margin: 0 0 var(--rv-sp-2); font: 600 20px/1.3 var(--rv-font-title); }
@media (max-width: 760px) {
  .rv-sheet-wrap { align-items: flex-end; padding: 0; }
  .rv-sheet { max-width: none; border-radius: var(--rv-r-panel) var(--rv-r-panel) 0 0; border-bottom: 0; padding-bottom: calc(var(--rv-sp-6) + env(safe-area-inset-bottom)); }
}

/* the toast: one line at the bottom; .ok / .err mark the outcome with a dot */
.rv-toast { position: fixed; right: var(--rv-sp-6); bottom: var(--rv-sp-6); z-index: 200; display: flex; align-items: center; gap: var(--rv-sp-3); max-width: 420px;
  padding: var(--rv-sp-3) var(--rv-sp-5); background: var(--rv-pill); border: 1px solid var(--rv-line-2); border-radius: var(--rv-r-pill); box-shadow: var(--rv-shadow);
  color: var(--rv-text); font: 400 14px/1.4 var(--rv-font-text); }
.rv-toast[hidden] { display: none; }
.rv-toast::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: var(--rv-text-3); flex: none; }
.rv-toast.ok::before { background: var(--rv-up); }
.rv-toast.err::before { background: var(--rv-down); }
@media (max-width: 760px) { .rv-toast { left: var(--rv-sp-4); right: var(--rv-sp-4); bottom: calc(76px + env(safe-area-inset-bottom)); max-width: none; border-radius: var(--rv-r-md); } }

/* a row's menu (⋯): a small panel of actions; [hidden] closes it (the top bar's account menu shares its look) */
.rv-menu { min-width: 200px; padding: var(--rv-sp-2); background: var(--rv-panel); border: 1px solid var(--rv-line-2); border-radius: var(--rv-r-md); box-shadow: var(--rv-shadow);
  font-family: var(--rv-font-text); }
.rv-menu[hidden] { display: none; }
.rv-menu > :is(a, button) { display: flex; align-items: center; gap: var(--rv-sp-3); width: 100%; padding: var(--rv-sp-2) var(--rv-sp-3); border: 0; border-radius: var(--rv-r-sm);
  background: none; color: var(--rv-text-2); font: 400 14px var(--rv-font-text); text-align: left; text-decoration: none; cursor: pointer; }
.rv-menu > :is(a, button):hover, .rv-menu > :is(a, button):focus-visible { background: var(--rv-pill); color: var(--rv-text); }
.rv-menu > .danger { color: var(--rv-down); }
.rv-menu > hr { margin: var(--rv-sp-1) 0; border: 0; border-top: 1px solid var(--rv-line); }

/* the focus ring wherever these components are used */
:is(.rv-btn, .rv-pill, .rv-tabs > *, .rv-menu > *):focus-visible { outline: 2px solid var(--rv-focus); outline-offset: 3px; }

/* the components' colours win over a page's own id-scoped resets (e.g. #bf :where(button) { color: inherit }): the
   :not(#rv-none) lifts each rule by one id without matching anything else */
.rv-btn:not(#rv-none) { color: var(--rv-text); }
.rv-btn.primary:not(#rv-none) { color: var(--rv-bg); }
.rv-btn.quiet:not(#rv-none) { color: var(--rv-text-2); }
.rv-btn.quiet:not(#rv-none):hover { color: var(--rv-text); }
.rv-btn.danger:not(#rv-none) { color: var(--rv-down); }
.rv-menu > :is(a, button):not(#rv-none) { color: var(--rv-text-2); }
.rv-menu > :is(a, button):not(#rv-none):hover, .rv-menu > :is(a, button):not(#rv-none):focus-visible { color: var(--rv-text); }
.rv-menu > .danger:not(#rv-none), .rv-menu > .danger:not(#rv-none):hover { color: var(--rv-down); }

/* figures (decided 2026-10-10 for G and every table): the text face with tabular, lining figures, never a mono face
   (the concept's numbers are DM Sans; big ones Manrope). Columns of figures still line up: tabular-nums. A code-like
   value (an address, a key) may ask for .rv-code */
:root, html.rv-ws { --rv-font-mono-fig: var(--rv-font-text); --rv-font-num: var(--rv-font-text); --rv-font-code: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.rv-num, .num, .rv-table td, .rv-table th { font-variant-numeric: tabular-nums lining-nums; }
.rv-code { font-family: var(--rv-font-code); font-size: .92em; }

/* ======================================================================================================================
   Polish layer (owner, 2026-10-10 11:26 UTC: "a first-time visitor says wow, premium"; pro.aave.com's calm luxury,
   monochrome, green / red only on numbers). Every page reads these; nothing local.
   (--rv-fs-title and --rv-fs-body stay the older site's sizes, radar/theme.py; these use --rv-type-title / --rv-type-body)
   Type   .rv-kpi-lg (the one hero figure of a screen) · .rv-kpi (a row of key figures) · .rv-fig (one step down) ·
          .rv-title (the page title) · .rv-sec-title / .rv-label (small grey caps) · .rv-body (the one body size)
   Space  --rv-sec-gap between sections · --rv-block-gap between blocks in a section · .rv-section (+ .rv-section)
   Lines  .rv-sep (a hairline between things) · .rv-frame (one hairline outer frame, no fill) · tables: .rv-panel.tbl
          or .rv-frame around .rv-table: the frame only, no header fill
   Motion --rv-dur (180ms) --rv-dur-fast (150ms) --rv-ease-out · .rv-changed (a figure that just changed fades in) ·
          tabs, drawers and sheets ease in; all of it off under prefers-reduced-motion
   Coins  one rule for every coin logo: real colours at saturate(.4) (--rv-coin-filter)
   ====================================================================================================================== */
:root {
  --rv-fs-kpi-lg: clamp(40px, 2.4vw + 22px, 56px);
  --rv-fs-kpi: clamp(30px, 1.2vw + 20px, 40px);
  --rv-fs-fig: 20px;
  --rv-type-title: 32px;
  --rv-fs-label: 11px;
  --rv-type-body: 15px;
  --rv-ls-tight: -.02em;
  --rv-ls-label: .08em;
  --rv-sec-gap: 64px;
  --rv-block-gap: 32px;
  --rv-dur: 180ms;
  --rv-dur-fast: 150ms;
  --rv-ease-out: cubic-bezier(.2, .7, .2, 1);
  --rv-coin-filter: saturate(.4) brightness(.95);
}
html[data-theme="light"] { --rv-coin-filter: saturate(.45); }
@media (max-width: 760px) { :root { --rv-type-title: 26px; --rv-sec-gap: 48px; --rv-block-gap: 24px; --rv-fs-kpi-lg: clamp(34px, 9vw, 40px); --rv-fs-kpi: clamp(26px, 7vw, 30px); } }
@media (prefers-reduced-motion: reduce) { :root { --rv-dur: 0ms; --rv-dur-fast: 0ms; } }

/* type: big figures in Manrope, tight, tabular, never wrapped (a phone shrinks them with the clamp, never breaks them) */
.rv-kpi-lg, .rv-kpi, .rv-fig, .ws :is(.rv-kpi-lg, .rv-kpi, .rv-fig) { margin: 0; color: var(--rv-text); font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; letter-spacing: var(--rv-ls-tight); }
.rv-kpi-lg, .ws .rv-kpi-lg { font: 600 var(--rv-fs-kpi-lg)/1.04 var(--rv-font-title); letter-spacing: -.03em; }
.rv-kpi, .ws .rv-kpi { font: 600 var(--rv-fs-kpi)/1.08 var(--rv-font-title); }
.rv-fig, .ws .rv-fig { font: 500 var(--rv-fs-fig)/1.25 var(--rv-font-title); }
:is(.rv-kpi-lg, .rv-kpi, .rv-fig).rv-up, .ws :is(.rv-kpi-lg, .rv-kpi, .rv-fig).rv-up { color: var(--rv-up); }
:is(.rv-kpi-lg, .rv-kpi, .rv-fig).rv-down, .ws :is(.rv-kpi-lg, .rv-kpi, .rv-fig).rv-down { color: var(--rv-down); }
.rv-kpi-lg small, .rv-kpi small, .rv-fig small { font-size: .5em; font-weight: 500; letter-spacing: 0; color: var(--rv-text-3); margin-left: .25em; }
.rv-title, .ws .rv-title { margin: 0; font: 600 var(--rv-type-title)/1.15 var(--rv-font-title); letter-spacing: var(--rv-ls-tight); color: var(--rv-text); }
.rv-sec-title, .rv-label, .ws .rv-sec-title.rv-sec-title, #bf .rv-sec-title.rv-sec-title { font-size: var(--rv-fs-label); letter-spacing: var(--rv-ls-label); font-weight: 500; }
.rv-body, .ws .rv-body { font: 400 var(--rv-type-body)/1.55 var(--rv-font-text); color: var(--rv-text-2); }

/* space and lines instead of boxes */
.rv-section + .rv-section { margin-top: var(--rv-sec-gap); }
.rv-stack { display: flex; flex-direction: column; gap: var(--rv-block-gap); }
.rv-sep { height: 0; margin: 0; border: 0; border-top: 1px solid var(--rv-line); }
.rv-frame { border: 1px solid var(--rv-line); border-radius: var(--rv-r-panel); background: none; }
.rv-frame.pad { padding: var(--rv-sp-6) var(--rv-sp-8); }
.rv-frame.tbl, .rv-panel.tbl { padding: 0 var(--rv-sp-6); overflow-x: auto; background: none; }
.rv-table thead th { background: none; }

/* motion: quiet and short */
@keyframes rv-num-in { from { opacity: .35; } to { opacity: 1; } }
.rv-changed { animation: rv-num-in var(--rv-dur) var(--rv-ease-out); }
.rv-tabs > :is(a, button) { transition: color var(--rv-dur-fast) var(--rv-ease-out); }
.rv-tabs > :is(a, button)::after { transition: opacity var(--rv-dur-fast) var(--rv-ease-out); }
@keyframes rv-drawer-in { from { transform: translateX(24px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes rv-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes rv-sheet-in { from { transform: translateY(12px); opacity: 0; } to { transform: none; opacity: 1; } }
.rv-drawer:not([hidden]) { animation: rv-drawer-in var(--rv-dur) var(--rv-ease-out); }
:is(.rv-drawer-scrim, .rv-sheet-wrap):not([hidden]) { animation: rv-fade-in var(--rv-dur) var(--rv-ease-out); }
.rv-sheet-wrap:not([hidden]) .rv-sheet { animation: rv-sheet-in var(--rv-dur) var(--rv-ease-out); }
:is(.rv-btn, .rv-pill) { transition: border-color var(--rv-dur-fast) var(--rv-ease-out), background-color var(--rv-dur-fast) var(--rv-ease-out), color var(--rv-dur-fast) var(--rv-ease-out), opacity var(--rv-dur-fast) var(--rv-ease-out); }
@media (prefers-reduced-motion: reduce) {
  .rv-changed, .rv-drawer:not([hidden]), :is(.rv-drawer-scrim, .rv-sheet-wrap):not([hidden]), .rv-sheet-wrap:not([hidden]) .rv-sheet { animation: none; }
}

/* coins: one rule, every screen (the shared icon .rv-ci and any page's own coin image) */
.rv-ci-img > img, img[src*="/brand/coins/"] { filter: var(--rv-coin-filter); }

/* charts (the bot builder, the Home, the one-bot drawer): a very faint grid and a very faint grey shade under the closes */
:root { --rv-chart-grid: rgba(255, 255, 255, .035); --rv-chart-shade: rgba(255, 255, 255, .06); }
html[data-theme="light"] { --rv-chart-grid: rgba(0, 0, 0, .05); --rv-chart-shade: rgba(0, 0, 0, .05); }
/* One heading scale for the content pages (round-1 item 8, 2026-10-10): a page's section heading is 20px/600 in the
   title face (Home "Which bot fits", Copy a bot, Help and Fees sections, an article's "What can go wrong"); a panel's
   head is 15px/600; the app's small grey section labels stay .rv-sec-title. :root raises them over the pages' own
   inline styles, which load after this file. */
:root .ws .section-title h2, :root .hc .wrong h2, :root .bh-fit h2, :root .cl-sh h2 {
  font: 600 var(--rv-fs-fig)/1.3 var(--rv-font-title); letter-spacing: var(--rv-ls-tight); color: var(--rv-text); }
:root .ws .panel-head h2, :root .ws .fee-calculator > h2 { font: 600 15px/1.4 var(--rv-font-title); letter-spacing: -.01em; color: var(--rv-text); }
/* a search field is a pill like the top bar's (owner's live check 2026-10-10: no square search boxes; /bots, Positions) */
:root input[type="search"].rv-field, :root .ws input[type="search"].rv-field { border-radius: var(--rv-r-pill); padding: 0 var(--rv-sp-4); }
:root .ws .search-field { border-radius: var(--rv-r-pill); background: transparent; border-color: var(--rv-line-2); padding: 0 var(--rv-sp-4); }
/* the Bots pages' sub-navigation (Bot types · My bots · Copy a bot · Backtests): one place, height and spacing on every
   Bots page (radar/bots_hub.py subnav, app-trade.js bmSub; owner 2026-10-10 16:31 UTC) */
.rv-subnav.rv-botsnav, .ws .rv-subnav.rv-botsnav { margin: 0 0 var(--rv-sp-6); min-height: var(--rv-h-sm, 32px); }
/* the Backtest lab's wrapper: its page has no content padding above, so the row is placed where the other Bots pages
   have it (measured: 117px at 1360/1000, as /bots, /bots/mine, /setups, /bots/top) */
.rv-botsnav-lab { padding-top: 20px; }
@media (max-width: 760px) { .rv-botsnav-lab { padding-top: 0; } }

/* The shell (owner, 2026-10-10, concept A: no left sidebar, one thin top bar; radar/nav.py topbar). Colours, type and
   radii only from radar/web/rv-tokens.css. The bar's inner row spans the window with --rv-edge each side (owner's live
   check 2026-10-10 22:50 UTC, G1), the app screens' own edges, so the logo's left edge is an app page's content edge;
   a text page keeps its centred reading width under it. */
html.rv-ws { --rv-header-h: 77px; }
@media (max-width: 760px) { html.rv-ws { --rv-header-h: 65px; } }
html.rv-ws body { padding-left: 0; }
.ws .sidebar, #rv-scrim, .ws .topbar { display: none !important; }
.ws.rv-shell-top { position: relative; z-index: 40; background: var(--rv-bg); }
.ws .rv-top { border-bottom: 1px solid var(--rv-line); background: var(--rv-bg); font: 400 14px/1.5 var(--rv-font-text); }
.ws .rv-top-in { display: flex; align-items: center; gap: 40px; height: 76px; margin: 0;
  padding: 0 var(--rv-edge); box-sizing: border-box; }
.ws .rv-brand { display: flex; align-items: center; gap: 10px; color: var(--rv-text); text-decoration: none; flex: none; }
.ws .rv-brand svg { width: 18px; height: 24px; flex: none; }
.ws .rv-bw { font: 700 15px/1 var(--rv-font-title); letter-spacing: .14em; }
.ws .rv-nav { display: flex; align-items: center; gap: 28px; min-width: 0; font-size: 14px; }
.ws .rv-ni { color: var(--rv-text-3); text-decoration: none; white-space: nowrap; line-height: 40px; transition: color .15s; }
.ws .rv-ni:hover { color: var(--rv-text-2); }
.ws .rv-ni.on { color: var(--rv-text); }
.ws .rv-tr { display: flex; align-items: center; gap: 12px; margin-left: auto; flex: none; }
.ws .rv-sf { display: flex; align-items: center; gap: 10px; height: 40px; width: 260px; padding: 0 12px 0 16px; box-sizing: border-box;
  border-radius: var(--rv-r-pill); border: 1px solid var(--rv-line); background: transparent; color: var(--rv-text-3);
  font: 400 14px var(--rv-font-text); cursor: text; text-align: left; }
.ws .rv-sf:hover { border-color: var(--rv-line-2); color: var(--rv-text-2); }
.ws .rv-sf .icon { width: 15px; height: 15px; stroke-width: 2; }
.ws .rv-sfp { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ws .rv-sf kbd { font: 500 11px var(--rv-font-text); color: var(--rv-text-3); border: 1px solid var(--rv-line); border-radius: 6px; padding: 1px 6px; }
.ws .rv-ib { display: none; width: 40px; height: 40px; place-items: center; border-radius: var(--rv-r-pill); border: 1px solid var(--rv-line);
  color: var(--rv-text-2); background: transparent; }
.ws .rv-ib .icon { width: 16px; height: 16px; }
/* the one primary of the bar: Connect wallet, a white pill */
.ws .rv-pw { display: inline-flex; align-items: center; height: 40px; padding: 0 20px; border-radius: var(--rv-r-pill); border: 0;
  background: var(--rv-text); color: var(--rv-bg); font: 600 14px var(--rv-font-text); text-decoration: none; white-space: nowrap; }
.ws .rv-pw:hover { background: var(--rv-text); opacity: .9; }
/* connected: the address pill (a green dot, the short address), its menu below */
.ws .rv-acc { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: var(--rv-r-pill);
  border: 1px solid var(--rv-line-2); background: transparent; color: var(--rv-text-2); font: 500 14px var(--rv-font-text); }
.ws .rv-acc:hover, .ws .rv-dd.open > .rv-acc { color: var(--rv-text); border-color: var(--rv-line-3); }
.ws .rv-acc span { max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ws .rv-adot { width: 7px; height: 7px; border-radius: 999px; background: var(--rv-up); flex: none; }
.ws .rv-top .rv-bell .rvb-btn { width: 40px; height: 40px; border-radius: var(--rv-r-pill); border: 1px solid var(--rv-line); color: var(--rv-text-2); background: none; }
.ws .rv-top .rv-bell .rvb-btn:hover, .ws .rv-top .rv-bell .rvb-btn[aria-expanded="true"] { color: var(--rv-text); border-color: var(--rv-line-2); background: none; }
.ws .rv-top .rv-bell .rvb-btn svg { width: 17px; height: 17px; }
.ws .rv-dd > .rv-menu { background: var(--rv-panel); border-color: var(--rv-line-2); border-radius: 14px; top: calc(100% + 10px); }
/* the same bar on every page: a page's own .rv-dd dropdown (the Markets styles /bots loads, radar/markets.py) never
   restyles the account pill's wrapper (owner's live check 2026-10-10: /bots drew it 20px wider, the search moved) */
.ws .rv-tr > .rv-dd { display: block; height: auto; padding: 0; gap: 0; border: 0; border-radius: 0; background: none; max-width: none;
  font: inherit; color: inherit; white-space: normal; cursor: auto; }
.ws .rv-bal { background: var(--rv-bg); border-color: var(--rv-line); border-radius: 12px; }
.ws .rv-bal .button.sm { border-radius: var(--rv-r-pill); background: transparent; border-color: var(--rv-line-2); }
.ws .rv-mi { color: var(--rv-text-2); font-size: 13px; }
.ws .rv-mi:hover { background: var(--rv-pill); }
/* the page under the bar: the same width and gutter as the bar */
/* every page's content in the bar's own container (owner, 2026-10-10: the logo, the page title and the first panel share
   one left edge, and the last pill's right edge is the content's): the site pages (site.page) and the app's pages
   (app.html: Dashboard, Positions, Money, My bots) alike; the id outweighs ws.css's own .content paddings at every width */
.ws.rv-page > main.content, .ws main#rv-main.content, main#rv-main.content.ws { max-width: var(--rv-max); margin-left: auto; margin-right: auto;
  padding: 40px var(--rv-gutter) 48px; box-sizing: border-box; width: 100%; }
/* a tighter row on a narrower window: the search field shrinks first, then shows only its icon */
@media (max-width: 1240px) { .ws .rv-top-in { gap: 32px; } .ws .rv-nav { gap: 22px; } .ws .rv-sf { width: 200px; } }
@media (max-width: 1100px) { .ws .rv-sf { width: 170px; } .ws .rv-sf kbd { display: none; } }
@media (max-width: 1000px) { .ws .rv-top-in { gap: 24px; } .ws .rv-nav { gap: 20px; } .ws .rv-sf { display: none; } .ws .rv-ib { display: inline-grid; } }
/* phones: the slim bar (logo, search, the wallet pill); the menu is the bottom tabs (radar/tabbar.py) */
/* Help: in the menu on a computer; on a phone (4 bottom tabs) a quiet icon in the top bar */
.ws .rv-top .rv-hq { display: none; }
@media (max-width: 760px) {
  .ws .rv-top .rv-hq { display: inline-grid; place-items: center; color: var(--rv-text-2); }
  .ws .rv-top-in { height: 64px; gap: 12px; }
  .ws .rv-nav { display: none; }
  .ws .rv-bw { font-size: 14px; }
  .ws .rv-tr { gap: 8px; }
  .ws .rv-ib, .ws .rv-top .rv-bell .rvb-btn { width: 34px; height: 34px; }
  .ws .rv-pw, .ws .rv-acc { height: 34px; padding: 0 12px; font-size: 13px; }
  .ws .rv-acc span { max-width: 96px; }
  .ws .rv-dd > .rv-menu { position: fixed; right: 12px; left: 12px; top: 60px; width: auto; }
  .ws.rv-page > main.content, .ws main#rv-main.content, main#rv-main.content.ws { padding: 24px var(--rv-gutter) 32px; }
}
/* a phone or a narrow window: "+ New bot" keeps its words (the menu's one action); the wordmark gives way to the
   two-bar mark under 560px, so search, help, the bell, + New bot and the wallet pill fit down to Chrome's 500px minimum
   (owner's live check 2026-10-10: the address pill was cut at 500) */
@media (max-width: 560px) { .ws .rv-bw { display: none; } .ws .rv-tr { gap: 6px; } }
/* IA v2: "+ New bot" is the bar's one white pill; Connect wallet the outlined one */
.ws .rv-pw { gap: 8px; }
.ws .rv-pw .icon { width: 15px; height: 15px; stroke-width: 2; }
.ws .rv-po { display: inline-flex; align-items: center; height: 40px; padding: 0 18px; border-radius: var(--rv-r-pill);
  border: 1px solid var(--rv-line-2); color: var(--rv-text); font: 500 14px var(--rv-font-text); text-decoration: none; white-space: nowrap; }
.ws .rv-po:hover { border-color: var(--rv-line-3); }
/* the type picker: one list on hairlines; each row the type, its line, the market it suits and its risk bars */
.ws .rv-nbp { position: fixed; inset: 0; z-index: 130; display: flex; justify-content: center; align-items: flex-start; padding: 8vh 16px 16px;
  background: var(--rv-scrim); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.ws .rv-nbp[hidden] { display: none; }
.ws .rv-nbd { width: 100%; max-width: 720px; max-height: 84vh; display: flex; flex-direction: column; background: var(--rv-panel);
  border: 1px solid var(--rv-line-2); border-radius: var(--rv-r-panel); overflow: hidden; font: 400 15px/1.5 var(--rv-font-text); }
.ws .rv-nbd > header { display: flex; justify-content: space-between; gap: 16px; padding: 24px 24px 12px; }
.ws .rv-nbd h2 { font: 600 22px var(--rv-font-title); letter-spacing: -.01em; color: var(--rv-text); }
.ws .rv-nbd header p { margin-top: 4px; font-size: 13px; color: var(--rv-text-3); }
.ws .rv-nbx { display: inline-grid; flex: none; }
.ws .rv-pkh, .ws .rv-pk { display: grid; grid-template-columns: minmax(0, 1fr) 150px 44px; gap: 16px; align-items: center; }
.ws .rv-pkh { padding: 8px 24px; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--rv-text-3); border-bottom: 1px solid var(--rv-line); }
.ws .rv-pkl { overflow-y: auto; padding: 0 12px 12px; }
.ws .rv-pk { grid-template-columns: 22px minmax(0, 1fr) 150px 44px; padding: 12px; border-bottom: 1px solid var(--rv-line); color: var(--rv-text); text-decoration: none; border-radius: 10px; }
.ws .rv-pkh { grid-template-columns: 22px minmax(0, 1fr) 150px 44px; padding-left: 24px; padding-right: 24px; }
.ws .rv-pk:hover, .ws .rv-pk:focus-visible { background: var(--rv-pill); }
.ws .rv-pki { width: 20px; height: 20px; color: var(--rv-text-2); }
.ws .rv-pkt b { display: block; font-weight: 500; font-size: 15px; }
.ws .rv-pkt small { display: block; font-size: 13px; line-height: 18px; color: var(--rv-text-3); }   /* the whole line, never cut (G5) */
/* its tools (owner's live check 2026-10-10 G7): the search, then the type tabs and the market filter on one row */
.ws .rv-pktools { display: flex; flex-direction: column; gap: var(--rv-sp-3); padding: 0 24px 12px; }
.ws .rv-pkq { display: flex; align-items: center; gap: var(--rv-sp-2); height: var(--rv-h-md); padding: 0 var(--rv-sp-3); border: 1px solid var(--rv-line-2); border-radius: 999px; }
.ws .rv-pkq:focus-within { border-color: var(--rv-line-3); }
.ws .rv-pkq svg { width: 16px; height: 16px; flex: none; color: var(--rv-text-3); }
.ws .rv-nbd .rv-pkq input[type=search]:not([type=checkbox]):not([type=radio]) { flex: 1; min-width: 0; height: 100%; margin: 0; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; outline: 0; -webkit-appearance: none; appearance: none; color: var(--rv-text); font: 400 14px var(--rv-font-text); }
.ws .rv-pkw { display: none; }
.ws .rv-pkrow { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--rv-sp-2); }
.ws .rv-pkf { gap: 6px; }
.ws .rv-pkg { padding: 14px 12px 4px; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--rv-text-3); }
.ws .rv-pk[hidden], .ws .rv-pkg[hidden], .ws .rv-pke[hidden] { display: none; }
.ws .rv-pk.off { cursor: default; color: var(--rv-text-3); }
.ws .rv-pk.off:hover { background: none; }
.ws .rv-pk.off .rv-pki, .ws .rv-pk.off .rv-pkr { opacity: .45; }
.ws .rv-pk.off .rv-pkt b { color: var(--rv-text-2); }
.ws .rv-pke { display: flex; flex-direction: column; align-items: flex-start; gap: var(--rv-sp-1); padding: 24px 12px; font-size: 13px; color: var(--rv-text-3); }
.ws .rv-pke b { font-weight: 500; color: var(--rv-text); }
.ws .rv-pkm { font-size: 13px; color: var(--rv-text-2); }
.ws .rv-pkr { display: inline-flex; align-items: flex-end; gap: 3px; height: 14px; }
.ws .rv-pkr i { width: 4px; background: var(--rv-line-2); border-radius: 1px; }
.ws .rv-pkr i:nth-child(1) { height: 6px; } .ws .rv-pkr i:nth-child(2) { height: 10px; } .ws .rv-pkr i:nth-child(3) { height: 14px; }
.ws .rv-pkr i.on { background: var(--rv-text-2); }
@media (max-width: 760px) {
  .ws .rv-nbp { padding: 0; align-items: stretch; }
  .ws .rv-nbd { max-height: none; border-radius: 0; border: 0; }
  .ws .rv-pkh { display: none; }
  .ws .rv-pk { grid-template-columns: 22px minmax(0, 1fr) 36px; }
  .ws .rv-pkm { display: none; }
  .ws .rv-pktools { padding: 0 16px 12px; }
  .ws .rv-pkf { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
  .ws .rv-pkf .rv-pill.sm { flex: none; padding: 0 10px; }
  .ws .rv-pk.off .rv-pkw { display: block; margin-top: 2px; font-size: 12px; color: var(--rv-text-2); }
  .ws .rv-nbd > header { padding: 20px 16px 12px; }
  .ws .rv-po { height: 34px; padding: 0 12px; font-size: 13px; }
  .ws .rv-pw { gap: 6px; padding: 0 12px; }
  .ws .rv-pw .icon { width: 13px; height: 13px; }
}
@media (max-width: 1100px) and (min-width: 761px) { .ws .rv-pw { padding: 0 16px; } }
/* the app pages' footer: the same width and gutter as the bar */
.ws.rv-foot-wrap { max-width: var(--rv-max); margin: 0 auto; padding: 0 var(--rv-gutter); box-sizing: border-box; }
.ws.rv-foot-wrap > .page-footer { margin-left: 0; margin-right: 0; }
/* the Backtest lab (terminal.html's workspace, #tm-content): the same container as the bar */
.ws #tm-content.content { max-width: var(--rv-max); margin-left: auto; margin-right: auto; padding-left: var(--rv-gutter); padding-right: var(--rv-gutter); box-sizing: border-box; width: 100%; }
/* the app's notice strip (app.html #banner) spans the content's container, edge to edge of its gutters, at every width */
.ws-app main#rv-main.content > #banner { margin: -40px calc(-1 * var(--rv-gutter)) 32px; }
@media (max-width: 760px) { .ws-app main#rv-main.content > #banner { margin: -24px calc(-1 * var(--rv-gutter)) 20px; } }
/* the footer on the bar's container everywhere (owner, 2026-10-10): on the app pages it sits inside the content
   (app.html <!--FOOT--> in main#rv-main), which already has the container's gutter, so it adds none of its own; one row
   where both halves fit (at ~1000px the gaps tighten to keep them on one line) */
#rv-main .ws.rv-foot-wrap, #rv-main > .rv-foot-wrap { max-width: none; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
.ws .page-footer.rv-foot { margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; column-gap: var(--rv-sp-4); }
@media (min-width: 761px) and (max-width: 1180px) {
  .ws .page-footer.rv-foot { column-gap: var(--rv-sp-3); }
  .ws .rv-foot .rv-fl { gap: 5px; }
  .ws .rv-foot .rv-fr { gap: 4px; }
  .ws .rv-foot .rv-soc-f a { width: 18px; }
}
/* Bots in the top menu opens its four pages (owner, 2026-10-10 16:31 UTC): a click (the shell's .rv-dd), or hovering
   with a mouse; the menu starts under the word, not at the bar's right edge like the account menu */
.ws .rv-nd { display: inline-flex; }
.ws .rv-nd > .rv-ndm { left: -12px; right: auto; width: auto; min-width: 200px; top: 100%; }
@media (hover: hover) and (pointer: fine) { .ws .rv-nd:hover > .rv-ndm, .ws .rv-nd:focus-within > .rv-ndm { display: block; } }
.ws .rv-ndm .rv-mi { font-size: 14px; padding: 10px 12px; color: var(--rv-text-2); }
.ws .rv-ndm .rv-mi[aria-current] { color: var(--rv-text); }
