/* [project]/node_modules/pretendard/dist/web/variable/pretendardvariable-dynamic-subset.css [app-client] (css) */
@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.0.0jahiw2qmz3fo.woff2") format("woff2-variations");
  unicode-range: U+F9CA-FA0B, U+FF03-FF05, U+FF07, U+FF0A-FF0B, U+FF0D-FF19, U+FF1B, U+FF1D, U+FF20-FF5B, U+FF5D, U+FFE0-FFE3, U+FFE5-FFE6;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.1.113j-w5lk197..woff2") format("woff2-variations");
  unicode-range: U+D723-D728, U+D72A-D733, U+D735-D748, U+D74A-D74F, U+D752-D753, U+D755-D757, U+D75A-D75F, U+D762-D764, U+D766-D768, U+D76A-D76B, U+D76D-D76F, U+D771-D787, U+D789-D78B, U+D78D-D78F, U+D791-D797, U+D79A, U+D79C, U+D79E-D7A3, U+F900-F909, U+F90B-F92E;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.2.0~f.o9-s2pqox.woff2") format("woff2-variations");
  unicode-range: U+D679-D68B, U+D68E-D69E, U+D6A0, U+D6A2-D6A7, U+D6A9-D6C3, U+D6C6-D6C7, U+D6C9-D6CB, U+D6CD-D6D3, U+D6D5-D6D6, U+D6D8-D6E3, U+D6E5-D6E7, U+D6E9-D6FB, U+D6FD-D717, U+D719-D71F, U+D721-D722;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.3.0n8_ltxwaxsic.woff2") format("woff2-variations");
  unicode-range: U+D5BC-D5C7, U+D5CA-D5CB, U+D5CD-D5CF, U+D5D1-D5D7, U+D5D9-D5DA, U+D5DC, U+D5DE-D5E3, U+D5E6-D5E7, U+D5E9-D5EB, U+D5ED-D5F6, U+D5F8, U+D5FA-D5FF, U+D602-D603, U+D605-D607, U+D609-D60F, U+D612-D613, U+D616-D61B, U+D61D-D637, U+D63A-D63B, U+D63D-D63F, U+D641-D647, U+D64A-D64C, U+D64E-D653, U+D656-D657, U+D659-D65B, U+D65D-D666, U+D668, U+D66A-D678;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.4.0wxqd-q6l2-3c.woff2") format("woff2-variations");
  unicode-range: U+D507, U+D509-D50B, U+D50D-D513, U+D515-D53B, U+D53E-D53F, U+D541-D543, U+D545-D54C, U+D54E, U+D550, U+D552-D557, U+D55A-D55B, U+D55D-D55F, U+D561-D564, U+D566-D567, U+D56A, U+D56C, U+D56E-D573, U+D576-D577, U+D579-D583, U+D585-D586, U+D58A-D5A4, U+D5A6-D5BB;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.5.0fll.f4~sr4c1.woff2") format("woff2-variations");
  unicode-range: U+D464-D477, U+D47A-D47B, U+D47D-D47F, U+D481-D487, U+D489-D48A, U+D48C, U+D48E-D4E7, U+D4E9-D503, U+D505-D506;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.6.0bsh.f93yr2lh.woff2") format("woff2-variations");
  unicode-range: U+D3BF-D3C7, U+D3CA-D3CF, U+D3D1-D3EB, U+D3EE-D3EF, U+D3F1-D3F3, U+D3F5-D3FB, U+D3FD-D400, U+D402-D45B, U+D45D-D463;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.7.11krpr9f7rzx3.woff2") format("woff2-variations");
  unicode-range: U+D2FF, U+D302-D304, U+D306-D30B, U+D30F, U+D311-D313, U+D315-D31B, U+D31E, U+D322-D324, U+D326-D327, U+D32A-D32B, U+D32D-D32F, U+D331-D337, U+D339-D33C, U+D33E-D37B, U+D37E-D37F, U+D381-D383, U+D385-D38B, U+D38E-D390, U+D392-D397, U+D39A-D39B, U+D39D-D39F, U+D3A1-D3A7, U+D3A9-D3AA, U+D3AC, U+D3AE-D3B3, U+D3B5-D3B7, U+D3B9-D3BB, U+D3BD-D3BE;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.8.0lo8zh-knm5h0.woff2") format("woff2-variations");
  unicode-range: U+D257-D27F, U+D281-D29B, U+D29D-D29F, U+D2A1-D2AB, U+D2AD-D2B7, U+D2BA-D2BB, U+D2BD-D2BF, U+D2C1-D2C7, U+D2C9-D2EF, U+D2F2-D2F3, U+D2F5-D2F7, U+D2F9-D2FE;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.9.0rbsvc1h5zzp1.woff2") format("woff2-variations");
  unicode-range: U+D1B4, U+D1B6-D1F3, U+D1F5-D22B, U+D22E-D22F, U+D231-D233, U+D235-D23B, U+D23D-D240, U+D242-D256;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.10.02p273_.79it_.woff2") format("woff2-variations");
  unicode-range: U+D105-D12F, U+D132-D133, U+D135-D137, U+D139-D13F, U+D141-D142, U+D144, U+D146-D14B, U+D14E-D14F, U+D151-D153, U+D155-D15B, U+D15E-D187, U+D189-D19F, U+D1A2-D1A3, U+D1A5-D1A7, U+D1A9-D1AF, U+D1B2-D1B3;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.11.127.jfo0ltwvf.woff2") format("woff2-variations");
  unicode-range: U+D04B-D04F, U+D051-D057, U+D059-D06B, U+D06D-D06F, U+D071-D073, U+D075-D07B, U+D07E-D0A3, U+D0A6-D0A7, U+D0A9-D0AB, U+D0AD-D0B3, U+D0B6, U+D0B8, U+D0BA-D0BF, U+D0C2-D0C3, U+D0C5-D0C7, U+D0C9-D0CF, U+D0D2, U+D0D6-D0DB, U+D0DE-D0DF, U+D0E1-D0E3, U+D0E5-D0EB, U+D0EE-D0F0, U+D0F2-D104;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.12.0ce54nv_81peu.woff2") format("woff2-variations");
  unicode-range: U+CFA2-CFC3, U+CFC5-CFDF, U+CFE2-CFE3, U+CFE5-CFE7, U+CFE9-CFF4, U+CFF6-CFFB, U+CFFD-CFFF, U+D001-D003, U+D005-D017, U+D019-D033, U+D036-D037, U+D039-D03B, U+D03D-D04A;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.13.06xtgzjyskq4s.woff2") format("woff2-variations");
  unicode-range: U+CEF0-CEF3, U+CEF6, U+CEF9-CEFF, U+CF01-CF03, U+CF05-CF07, U+CF09-CF0F, U+CF11-CF12, U+CF14-CF1B, U+CF1D-CF1F, U+CF21-CF2F, U+CF31-CF53, U+CF56-CF57, U+CF59-CF5B, U+CF5D-CF63, U+CF66, U+CF68, U+CF6A-CF6F, U+CF71-CF84, U+CF86-CF8B, U+CF8D-CFA1;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.14.0r5dtu5rapvda.woff2") format("woff2-variations");
  unicode-range: U+CE3C-CE57, U+CE5A-CE5B, U+CE5D-CE5F, U+CE61-CE67, U+CE6A, U+CE6C, U+CE6E-CE73, U+CE76-CE77, U+CE79-CE7B, U+CE7D-CE83, U+CE85-CE88, U+CE8A-CE8F, U+CE91-CE93, U+CE95-CE97, U+CE99-CE9F, U+CEA2, U+CEA4-CEAB, U+CEAD-CEE3, U+CEE6-CEE7, U+CEE9-CEEB, U+CEED-CEEF;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.15.0sfrrvb2fx1hs.woff2") format("woff2-variations");
  unicode-range: U+CD92-CD93, U+CD96-CD97, U+CD99-CD9B, U+CD9D-CDA3, U+CDA6-CDA8, U+CDAA-CDAF, U+CDB1-CDC3, U+CDC5-CDCB, U+CDCD-CDE7, U+CDE9-CE03, U+CE05-CE1F, U+CE22-CE34, U+CE36-CE3B;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.16.0qven_lw0zlrl.woff2") format("woff2-variations");
  unicode-range: U+CCEF-CD07, U+CD0A-CD0B, U+CD0D-CD1A, U+CD1C, U+CD1E-CD2B, U+CD2D-CD5B, U+CD5D-CD77, U+CD79-CD91;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.17.146rx_mwdxinz.woff2") format("woff2-variations");
  unicode-range: U+CC3F-CC43, U+CC46-CC47, U+CC49-CC4B, U+CC4D-CC53, U+CC55-CC58, U+CC5A-CC5F, U+CC61-CC97, U+CC9A-CC9B, U+CC9D-CC9F, U+CCA1-CCA7, U+CCAA, U+CCAC, U+CCAE-CCB3, U+CCB6-CCB7, U+CCB9-CCBB, U+CCBD-CCCF, U+CCD1-CCE3, U+CCE5-CCEE;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.18.17asxwxv3hcxy.woff2") format("woff2-variations");
  unicode-range: U+CB91-CBD3, U+CBD5-CBE3, U+CBE5-CC0B, U+CC0E-CC0F, U+CC11-CC13, U+CC15-CC1B, U+CC1D-CC20, U+CC23-CC27, U+CC2A-CC2B, U+CC2D, U+CC2F, U+CC31-CC37, U+CC3A, U+CC3C;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.19.05-ifkrbhtl5..woff2") format("woff2-variations");
  unicode-range: U+CAF4-CB47, U+CB4A-CB90;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.20.0l1h_e8skqapz.woff2") format("woff2-variations");
  unicode-range: U+CA4A-CA4B, U+CA4E-CA4F, U+CA51-CA53, U+CA55-CA5B, U+CA5D-CA60, U+CA62-CA83, U+CA85-CABB, U+CABE-CABF, U+CAC1-CAC3, U+CAC5-CACB, U+CACD-CAD0, U+CAD2, U+CAD4-CAD8, U+CADA-CAF3;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.21.0h12988~lfffa.woff2") format("woff2-variations");
  unicode-range: U+C996-C997, U+C99A-C99C, U+C99E-C9BF, U+C9C2-C9C3, U+C9C5-C9C7, U+C9C9-C9CF, U+C9D2, U+C9D4, U+C9D7-C9D8, U+C9DB, U+C9DE-C9DF, U+C9E1-C9E3, U+C9E5-C9E6, U+C9E8-C9EB, U+C9EE-C9F0, U+C9F2-C9F7, U+C9F9-CA0B, U+CA0D-CA28, U+CA2A-CA49;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.22.0xk~knm28iq~a.woff2") format("woff2-variations");
  unicode-range: U+C8E9-C8F4, U+C8F6-C8FB, U+C8FE-C8FF, U+C901-C903, U+C905-C90B, U+C90E-C910, U+C912-C917, U+C919-C92B, U+C92D-C94F, U+C951-C953, U+C955-C96B, U+C96D-C973, U+C975-C987, U+C98A-C98B, U+C98D-C98F, U+C991-C995;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.23.068hoos2t2bx-.woff2") format("woff2-variations");
  unicode-range: U+C841-C84B, U+C84D-C86F, U+C872-C873, U+C875-C877, U+C879-C87F, U+C882-C884, U+C887-C88A, U+C88D-C8C3, U+C8C5-C8DF, U+C8E1-C8E8;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.24.0-d7-8v_b8c2d.woff2") format("woff2-variations");
  unicode-range: U+C779-C77B, U+C77E-C782, U+C786, U+C78B, U+C78D, U+C78F, U+C792-C793, U+C795, U+C797, U+C799-C79F, U+C7A2, U+C7A7-C7AB, U+C7AE-C7BB, U+C7BD-C7C0, U+C7C2-C7C7, U+C7C9-C7DC, U+C7DE-C7FF, U+C802-C803, U+C805-C807, U+C809, U+C80B-C80F, U+C812, U+C814, U+C817-C81B, U+C81E-C81F, U+C821-C823, U+C825-C82E, U+C830-C837, U+C839-C83B, U+C83D-C840;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.25.14.2n-cr7pehy.woff2") format("woff2-variations");
  unicode-range: U+C6BB-C6BF, U+C6C2, U+C6C4, U+C6C6-C6CB, U+C6CE-C6CF, U+C6D1-C6D3, U+C6D5-C6DB, U+C6DD-C6DF, U+C6E1-C6E7, U+C6E9-C6EB, U+C6ED-C6EF, U+C6F1-C6F8, U+C6FA-C703, U+C705-C707, U+C709-C70B, U+C70D-C716, U+C718, U+C71A-C71F, U+C722-C723, U+C725-C727, U+C729-C734, U+C736-C73B, U+C73E-C73F, U+C741-C743, U+C745-C74B, U+C74E-C750, U+C752-C757, U+C759-C773, U+C776-C777;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.26.186~quvadmfqo.woff2") format("woff2-variations");
  unicode-range: U+C5F5-C5FB, U+C5FE, U+C602-C605, U+C607, U+C609-C60F, U+C611-C61A, U+C61C-C623, U+C626-C627, U+C629-C62B, U+C62D, U+C62F-C632, U+C636, U+C638, U+C63A-C63F, U+C642-C643, U+C645-C647, U+C649-C652, U+C656-C65B, U+C65D-C65F, U+C661-C663, U+C665-C677, U+C679-C67B, U+C67D-C693, U+C696-C697, U+C699-C69B, U+C69D-C6A3, U+C6A6, U+C6A8, U+C6AA-C6AF, U+C6B2-C6B3, U+C6B5-C6B7, U+C6B9-C6BA;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.27.0rokiauf4nm~y.woff2") format("woff2-variations");
  unicode-range: U+C517-C527, U+C52A-C52B, U+C52D-C52F, U+C531-C538, U+C53A, U+C53C, U+C53E-C543, U+C546-C547, U+C54B, U+C54D-C552, U+C556, U+C55A-C55B, U+C55D, U+C55F, U+C562-C563, U+C565-C567, U+C569-C56F, U+C572, U+C574, U+C576-C57B, U+C57E-C57F, U+C581-C583, U+C585-C586, U+C588-C58B, U+C58E, U+C590, U+C592-C596, U+C599-C5B3, U+C5B6-C5B7, U+C5BA, U+C5BE-C5C3, U+C5CA-C5CB, U+C5CD, U+C5CF, U+C5D2-C5D3, U+C5D5-C5D7, U+C5D9-C5DF, U+C5E1-C5E2, U+C5E4, U+C5E6-C5EB, U+C5EF, U+C5F1-C5F3;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.28.0t0n599-n244l.woff2") format("woff2-variations");
  unicode-range: U+C475-C4EF, U+C4F2-C4F3, U+C4F5-C4F7, U+C4F9-C4FF, U+C502-C50B, U+C50D-C516;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.29.0geqtrqvvpzej.woff2") format("woff2-variations");
  unicode-range: U+C3D0-C3D7, U+C3DA-C3DB, U+C3DD-C3DE, U+C3E1-C3EC, U+C3EE-C3F3, U+C3F5-C42B, U+C42D-C463, U+C466-C474;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.30.0nxzuod~y0f~7.woff2") format("woff2-variations");
  unicode-range: U+C32B-C367, U+C36A-C36B, U+C36D-C36F, U+C371-C377, U+C37A-C37B, U+C37E-C383, U+C385-C387, U+C389-C3CF;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.31.0ci4hurs4zy2a.woff2") format("woff2-variations");
  unicode-range: U+C26A-C26B, U+C26D-C26F, U+C271-C273, U+C275-C27B, U+C27E-C287, U+C289-C28F, U+C291-C297, U+C299-C29A, U+C29C-C2A3, U+C2A5-C2A7, U+C2A9-C2AB, U+C2AD-C2B3, U+C2B6, U+C2B8, U+C2BA-C2BB, U+C2BD-C2DB, U+C2DE-C2DF, U+C2E1-C2E2, U+C2E5-C2EA, U+C2EE, U+C2F0, U+C2F2-C2F5, U+C2F7, U+C2FA-C2FB, U+C2FD-C2FF, U+C301-C307, U+C309-C30C, U+C30E-C312, U+C315-C323, U+C325-C328, U+C32A;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.32.14ciila3~tfvv.woff2") format("woff2-variations");
  unicode-range: U+C1BC-C1C3, U+C1C5-C1DF, U+C1E1-C1FB, U+C1FD-C203, U+C205-C20C, U+C20E, U+C210-C217, U+C21A-C21B, U+C21D-C21E, U+C221-C227, U+C229-C22A, U+C22C, U+C22E, U+C230, U+C233-C24F, U+C251-C257, U+C259-C269;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.33.01vhikt3uoe08.woff2") format("woff2-variations");
  unicode-range: U+C101-C11B, U+C11F, U+C121-C123, U+C125-C12B, U+C12E, U+C132-C137, U+C13A-C13B, U+C13D-C13F, U+C141-C147, U+C14A, U+C14C-C153, U+C155-C157, U+C159-C15B, U+C15D-C166, U+C169-C16F, U+C171-C177, U+C179-C18B, U+C18E-C18F, U+C191-C193, U+C195-C19B, U+C19D-C19E, U+C1A0, U+C1A2-C1A4, U+C1A6-C1BB;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.34.11s8mw1ym4zsb.woff2") format("woff2-variations");
  unicode-range: U+C049-C057, U+C059-C05B, U+C05D-C05F, U+C061-C067, U+C069-C08F, U+C091-C0AB, U+C0AE-C0AF, U+C0B1-C0B3, U+C0B5, U+C0B7-C0BB, U+C0BE, U+C0C2-C0C7, U+C0CA-C0CB, U+C0CD-C0CF, U+C0D1-C0D7, U+C0D9-C0DA, U+C0DC, U+C0DE-C0E3, U+C0E5-C0EB, U+C0ED-C0F3, U+C0F6, U+C0F8, U+C0FA-C0FF;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.35.0jmuwrnk4zqgj.woff2") format("woff2-variations");
  unicode-range: U+BFA7-BFAF, U+BFB1-BFC4, U+BFC6-BFCB, U+BFCE-BFCF, U+BFD1-BFD3, U+BFD5-BFDB, U+BFDD-C048;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.36.14l3zb7398ulv.woff2") format("woff2-variations");
  unicode-range: U+BF07, U+BF09-BF3F, U+BF41-BF4F, U+BF52-BF54, U+BF56-BFA6;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.37.0eqi353gwhvko.woff2") format("woff2-variations");
  unicode-range: U+BE56, U+BE58, U+BE5C-BE5F, U+BE62-BE63, U+BE65-BE67, U+BE69-BE74, U+BE76-BE7B, U+BE7E-BE7F, U+BE81-BE8E, U+BE90, U+BE92-BEA7, U+BEA9-BECF, U+BED2-BED3, U+BED5-BED6, U+BED9-BEE3, U+BEE6-BF06;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.38.0.nhdmjud872_.woff2") format("woff2-variations");
  unicode-range: U+BDB0-BDD3, U+BDD5-BDEF, U+BDF1-BE0B, U+BE0D-BE0F, U+BE11-BE13, U+BE15-BE43, U+BE46-BE47, U+BE49-BE4B, U+BE4D-BE53;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.39.15.g8pp9ov_of.woff2") format("woff2-variations");
  unicode-range: U+BD03, U+BD06, U+BD08, U+BD0A-BD0F, U+BD11-BD22, U+BD25-BD47, U+BD49-BD58, U+BD5A-BD7F, U+BD82-BD83, U+BD85-BD87, U+BD8A-BD8F, U+BD91-BD92, U+BD94, U+BD96-BD98, U+BD9A-BDAF;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.40.1815i~luesfnf.woff2") format("woff2-variations");
  unicode-range: U+BC4E-BC83, U+BC86-BC87, U+BC89-BC8B, U+BC8D-BC93, U+BC96, U+BC98, U+BC9B-BC9F, U+BCA2-BCA3, U+BCA5-BCA7, U+BCA9-BCB2, U+BCB4-BCBB, U+BCBE-BCBF, U+BCC1-BCC3, U+BCC5-BCCC, U+BCCE-BCD0, U+BCD2-BCD4, U+BCD6-BCF3, U+BCF7, U+BCF9-BCFB, U+BCFD-BD02;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.41.155-q7msk3b._.woff2") format("woff2-variations");
  unicode-range: U+BB90-BBA3, U+BBA5-BBAB, U+BBAD-BBBF, U+BBC1-BBF7, U+BBFA-BBFB, U+BBFD-BBFE, U+BC01-BC07, U+BC09-BC0A, U+BC0E, U+BC10, U+BC12-BC13, U+BC17, U+BC19-BC1A, U+BC1E, U+BC20-BC23, U+BC26, U+BC28, U+BC2A-BC2C, U+BC2E-BC2F, U+BC32-BC33, U+BC35-BC37, U+BC39-BC3F, U+BC41-BC42, U+BC44, U+BC46-BC48, U+BC4A-BC4D;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.42.0yf20fe-38_-2.woff2") format("woff2-variations");
  unicode-range: U+BAE6-BAFB, U+BAFD-BB17, U+BB19-BB33, U+BB37, U+BB39-BB3A, U+BB3D-BB43, U+BB45-BB46, U+BB48, U+BB4A-BB4F, U+BB51-BB53, U+BB55-BB57, U+BB59-BB62, U+BB64-BB8F;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.43.05rbofisu_3o6.woff2") format("woff2-variations");
  unicode-range: U+BA30-BA37, U+BA3A-BA3B, U+BA3D-BA3F, U+BA41-BA47, U+BA49-BA4A, U+BA4C, U+BA4E-BA53, U+BA56-BA57, U+BA59-BA5B, U+BA5D-BA63, U+BA65-BA66, U+BA68-BA6F, U+BA71-BA73, U+BA75-BA77, U+BA79-BA84, U+BA86, U+BA88-BAA7, U+BAAA, U+BAAD-BAAF, U+BAB1-BAB7, U+BABA, U+BABC, U+BABE-BAE5;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.44.0gxj4ynjld40s.woff2") format("woff2-variations");
  unicode-range: U+B96E-B973, U+B976-B977, U+B979-B97B, U+B97D-B983, U+B986, U+B988, U+B98A-B98D, U+B98F-B9AB, U+B9AE-B9AF, U+B9B1-B9B3, U+B9B5-B9BB, U+B9BE, U+B9C0, U+B9C2-B9C7, U+B9CA-B9CB, U+B9CD, U+B9D2-B9D7, U+B9DA, U+B9DC, U+B9DF-B9E0, U+B9E2, U+B9E6-B9E7, U+B9E9-B9F3, U+B9F6, U+B9F8, U+B9FB-BA2F;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.45.0vzwe7.1lnz~b.woff2") format("woff2-variations");
  unicode-range: U+B8BF-B8CB, U+B8CD-B8E0, U+B8E2-B8E7, U+B8EA-B8EB, U+B8ED-B8EF, U+B8F1-B8F7, U+B8FA, U+B8FC, U+B8FE-B903, U+B905-B917, U+B919-B91F, U+B921-B93B, U+B93D-B957, U+B95A-B95B, U+B95D-B95F, U+B961-B967, U+B969-B96C;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.46.17s~gojny1j75.woff2") format("woff2-variations");
  unicode-range: U+B80D-B80F, U+B811-B817, U+B81A, U+B81C-B823, U+B826-B827, U+B829-B82B, U+B82D-B833, U+B836, U+B83A-B83F, U+B841-B85B, U+B85E-B85F, U+B861-B863, U+B865-B86B, U+B86E, U+B870, U+B872-B8AF, U+B8B1-B8BE;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.47.164zo5jkvifki.woff2") format("woff2-variations");
  unicode-range: U+B74D-B75F, U+B761-B763, U+B765-B774, U+B776-B77B, U+B77E-B77F, U+B781-B783, U+B785-B78B, U+B78E, U+B792-B796, U+B79A-B79B, U+B79D-B7A7, U+B7AA, U+B7AE-B7B3, U+B7B6-B7C8, U+B7CA-B7EB, U+B7EE-B7EF, U+B7F1-B7F3, U+B7F5-B7FB, U+B7FE, U+B802-B806, U+B80A-B80B;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.48.15xkn1isqfxfc.woff2") format("woff2-variations");
  unicode-range: U+B6A7-B6AA, U+B6AC-B6B0, U+B6B2-B6EF, U+B6F1-B727, U+B72A-B72B, U+B72D-B72E, U+B731-B737, U+B739-B73A, U+B73C-B743, U+B745-B74C;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.49.0pk1p1epf7mm2.woff2") format("woff2-variations");
  unicode-range: U+B605-B60F, U+B612-B617, U+B619-B624, U+B626-B69B, U+B69E-B6A3, U+B6A5-B6A6;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.50.04u-j5p7czn-j.woff2") format("woff2-variations");
  unicode-range: U+B55F, U+B562-B583, U+B585-B59F, U+B5A2-B5A3, U+B5A5-B5A7, U+B5A9-B5B2, U+B5B5-B5BA, U+B5BD-B604;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.51.0hhii~prd2fyp.woff2") format("woff2-variations");
  unicode-range: U+B4A5-B4B6, U+B4B8-B4BF, U+B4C1-B4C7, U+B4C9-B4DB, U+B4DE-B4DF, U+B4E1-B4E2, U+B4E5-B4EB, U+B4EE, U+B4F0, U+B4F2-B513, U+B516-B517, U+B519-B51A, U+B51D-B523, U+B526, U+B528, U+B52B-B52F, U+B532-B533, U+B535-B537, U+B539-B53F, U+B541-B544, U+B546-B54B, U+B54D-B54F, U+B551-B55B, U+B55D-B55E;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.52.0r9ak.c45e_be.woff2") format("woff2-variations");
  unicode-range: U+B3F8-B3FB, U+B3FD-B40F, U+B411-B417, U+B419-B41B, U+B41D-B41F, U+B421-B427, U+B42A-B42B, U+B42D-B44F, U+B452-B453, U+B455-B457, U+B459-B45F, U+B462-B464, U+B466-B46B, U+B46D-B47F, U+B481-B4A3;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.53.15n7zbzxs46d3.woff2") format("woff2-variations");
  unicode-range: U+B342-B353, U+B356-B357, U+B359-B35B, U+B35D-B35E, U+B360-B363, U+B366, U+B368, U+B36A-B36D, U+B36F, U+B372-B373, U+B375-B377, U+B379-B37F, U+B381-B382, U+B384, U+B386-B38B, U+B38D-B3C3, U+B3C6-B3C7, U+B3C9-B3CA, U+B3CD-B3D3, U+B3D6, U+B3D8, U+B3DA-B3F7;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.54.0f.yekqnnj.a9.woff2") format("woff2-variations");
  unicode-range: U+B27C-B283, U+B285-B28F, U+B292-B293, U+B295-B297, U+B29A-B29F, U+B2A1-B2A4, U+B2A7-B2A9, U+B2AB, U+B2AD-B2C7, U+B2CA-B2CB, U+B2CD-B2CF, U+B2D1-B2D7, U+B2DA, U+B2DC, U+B2DE-B2E3, U+B2E7, U+B2E9-B2EA, U+B2EF-B2F3, U+B2F6, U+B2F8, U+B2FA-B2FB, U+B2FD-B2FE, U+B302-B303, U+B305-B307, U+B309-B30F, U+B312, U+B316-B31B, U+B31D-B341;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.55.08arm4tt.ilry.woff2") format("woff2-variations");
  unicode-range: U+B1D6-B1E7, U+B1E9-B1FC, U+B1FE-B203, U+B206-B207, U+B209-B20B, U+B20D-B213, U+B216-B21F, U+B221-B257, U+B259-B273, U+B275-B27B;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.56.15gi3wa~se5ne.woff2") format("woff2-variations");
  unicode-range: U+B120-B122, U+B126-B127, U+B129-B12B, U+B12D-B133, U+B136, U+B138, U+B13A-B13F, U+B142-B143, U+B145-B14F, U+B151-B153, U+B156-B157, U+B159-B177, U+B17A-B17B, U+B17D-B17F, U+B181-B187, U+B189-B18C, U+B18E-B191, U+B195-B1A7, U+B1A9-B1CB, U+B1CD-B1D5;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.57.0wu~wo~9oa2tr.woff2") format("woff2-variations");
  unicode-range: U+B05F-B07B, U+B07E-B07F, U+B081-B083, U+B085-B08B, U+B08D-B097, U+B09B, U+B09D-B09F, U+B0A2-B0A7, U+B0AA, U+B0B0, U+B0B2, U+B0B6-B0B7, U+B0B9-B0BB, U+B0BD-B0C3, U+B0C6-B0C7, U+B0CA-B0CF, U+B0D1-B0DF, U+B0E1-B0E4, U+B0E6-B107, U+B10A-B10B, U+B10D-B10F, U+B111-B112, U+B114-B117, U+B119-B11A, U+B11C-B11F;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.58.00fg.maaejl6p.woff2") format("woff2-variations");
  unicode-range: U+AFAC-AFB7, U+AFBA-AFBB, U+AFBD-AFBF, U+AFC1-AFC6, U+AFCA-AFCC, U+AFCE-AFD3, U+AFD5-AFE7, U+AFE9-AFEF, U+AFF1-B00B, U+B00D-B00F, U+B011-B013, U+B015-B01B, U+B01D-B027, U+B029-B043, U+B045-B047, U+B049, U+B04B, U+B04D-B052, U+B055-B056, U+B058-B05C, U+B05E;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.59.0mdf-uw0_v_uc.woff2") format("woff2-variations");
  unicode-range: U+AF03-AF07, U+AF09-AF2B, U+AF2E-AF33, U+AF35-AF3B, U+AF3E-AF40, U+AF44-AF47, U+AF4A-AF5C, U+AF5E-AF63, U+AF65-AF7F, U+AF81-AFAB;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.60.0m6ekaph~30zc.woff2") format("woff2-variations");
  unicode-range: U+AE56-AE5B, U+AE5E-AE60, U+AE62-AE64, U+AE66-AE67, U+AE69-AE6B, U+AE6D-AE83, U+AE85-AEBB, U+AEBF, U+AEC1-AEC3, U+AEC5-AECB, U+AECE, U+AED0, U+AED2-AED7, U+AED9-AEF3, U+AEF5-AF02;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.61.0oni-x~i4v6b_.woff2") format("woff2-variations");
  unicode-range: U+AD9C-ADA3, U+ADA5-ADBF, U+ADC1-ADC3, U+ADC5-ADC7, U+ADC9-ADD2, U+ADD4-ADDB, U+ADDD-ADDF, U+ADE1-ADE3, U+ADE5-ADF7, U+ADFA-ADFB, U+ADFD-ADFF, U+AE02-AE07, U+AE0A, U+AE0C, U+AE0E-AE13, U+AE15-AE2F, U+AE31-AE33, U+AE35-AE37, U+AE39-AE3F, U+AE42, U+AE44, U+AE46-AE49, U+AE4B, U+AE4F, U+AE51-AE53, U+AE55;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.62.0ev80m74igm64.woff2") format("woff2-variations");
  unicode-range: U+ACE2-ACE3, U+ACE5-ACE6, U+ACE9-ACEF, U+ACF2, U+ACF4, U+ACF7-ACFB, U+ACFE-ACFF, U+AD01-AD03, U+AD05-AD0B, U+AD0D-AD10, U+AD12-AD1B, U+AD1D-AD33, U+AD35-AD48, U+AD4A-AD4F, U+AD51-AD6B, U+AD6E-AD6F, U+AD71-AD72, U+AD77-AD7C, U+AD7E, U+AD80, U+AD82-AD87, U+AD89-AD8B, U+AD8D-AD8F, U+AD91-AD9B;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.63.0odi5kokhdjd-.woff2") format("woff2-variations");
  unicode-range: U+AC25-AC2C, U+AC2E, U+AC30, U+AC32-AC37, U+AC39-AC3F, U+AC41-AC4C, U+AC4E-AC6F, U+AC72-AC73, U+AC75-AC76, U+AC79-AC7F, U+AC82, U+AC84-AC88, U+AC8A-AC8B, U+AC8D-AC8F, U+AC91-AC93, U+AC95-AC9B, U+AC9D-AC9E, U+ACA1-ACA7, U+ACAB, U+ACAD-ACAF, U+ACB1-ACB7, U+ACBA-ACBB, U+ACBE-ACC0, U+ACC2-ACC3, U+ACC5-ACDF;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.64.0y5vl4lvzzjxf.woff2") format("woff2-variations");
  unicode-range: U+99DF, U+99ED, U+99F1, U+99FF, U+9A01, U+9A08, U+9A0E-9A0F, U+9A19, U+9A2B, U+9A30, U+9A36-9A37, U+9A40, U+9A43, U+9A45, U+9A4D, U+9A55, U+9A57, U+9A5A-9A5B, U+9A5F, U+9A62, U+9A65, U+9A69-9A6A, U+9AA8, U+9AB8, U+9AD3, U+9AE5, U+9AEE, U+9B1A, U+9B27, U+9B2A, U+9B31, U+9B3C, U+9B41-9B45, U+9B4F, U+9B54, U+9B5A, U+9B6F, U+9B8E, U+9B91, U+9B9F, U+9BAB, U+9BAE, U+9BC9, U+9BD6, U+9BE4, U+9BE8, U+9C0D, U+9C10, U+9C12, U+9C15, U+9C25, U+9C32, U+9C3B, U+9C47, U+9C49, U+9C57, U+9CE5, U+9CE7, U+9CE9, U+9CF3-9CF4, U+9CF6, U+9D09, U+9D1B, U+9D26, U+9D28, U+9D3B, U+9D51, U+9D5D, U+9D60-9D61, U+9D6C, U+9D72, U+9DA9, U+9DAF, U+9DB4, U+9DC4, U+9DD7, U+9DF2, U+9DF8-9DFA, U+9E1A, U+9E1E, U+9E75, U+9E79, U+9E7D, U+9E7F, U+9E92-9E93, U+9E97, U+9E9D, U+9E9F, U+9EA5, U+9EB4-9EB5, U+9EBB, U+9EBE, U+9EC3, U+9ECD-9ECE, U+9ED4, U+9ED8, U+9EDB-9EDC, U+9EDE, U+9EE8, U+9EF4, U+9F07-9F08, U+9F0E, U+9F13, U+9F20, U+9F3B, U+9F4A-9F4B, U+9F4E, U+9F52, U+9F5F, U+9F61, U+9F67, U+9F6A, U+9F6C, U+9F77, U+9F8D, U+9F90, U+9F95, U+9F9C, U+AC02-AC03, U+AC05-AC06, U+AC09-AC0F, U+AC17-AC18, U+AC1B, U+AC1E-AC1F, U+AC21-AC23;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.65.0_-xx4l4x.284.woff2") format("woff2-variations");
  unicode-range: U+338C-339C, U+339F-33A0, U+33A2-33CB, U+33CF-33D0, U+33D3, U+33D6, U+33D8, U+33DB-33DD, U+4E01, U+4E03, U+4E07-4E08, U+4E11, U+4E14-4E15, U+4E18-4E19, U+4E1E, U+4E32, U+4E38-4E39, U+4E42-4E43, U+4E45, U+4E4D-4E4F, U+4E56, U+4E58-4E59, U+4E5D-4E5E, U+4E6B, U+4E6D, U+4E73, U+4E76-4E77, U+4E7E, U+4E82, U+4E86, U+4E88, U+4E8E, U+4E90-4E92, U+4E94-4E95, U+4E98, U+4E9B, U+4E9E, U+4EA1-4EA2, U+4EA4-4EA6, U+4EA8, U+4EAB, U+4EAD-4EAE, U+4EB6, U+4EC0-4EC1, U+4EC4, U+4EC7, U+4ECB, U+4ECD, U+4ED4-4ED5, U+4ED7-4ED9, U+4EDD, U+4EDF, U+4EE4, U+4EF0, U+4EF2, U+4EF6-4EF7, U+4EFB, U+4F01, U+4F09, U+4F0B, U+4F0D-4F11, U+4F2F, U+4F34, U+4F36, U+4F38, U+4F3A, U+4F3C-4F3D;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.66.0cgs~8dbg_w_0.woff2") format("woff2-variations");
  unicode-range: U+3136, U+3138, U+313A-3140, U+3143-3144, U+3150, U+3152, U+3154-3156, U+3158-315B, U+315D-315F, U+3162, U+3164-318C, U+318E, U+3200-321B, U+3231, U+3239, U+3251-325A, U+3260-327B, U+327E-327F, U+328A-3290, U+3294, U+329E, U+32A5, U+3380-3384, U+3388-338B;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.67.17wcim_f6_ceo.woff2") format("woff2-variations");
  unicode-range: U+2F7D, U+2F7F-2F8B, U+2F8E-2F90, U+2F92-2F97, U+2F99-2FA0, U+2FA2-2FA3, U+2FA5-2FA9, U+2FAC-2FB1, U+2FB3-2FBC, U+2FC1-2FCA, U+2FCD-2FD4, U+3003, U+3012-3019, U+301C, U+301E-3020, U+3036, U+3041, U+3043, U+3045, U+3047, U+3049, U+304E, U+3050, U+3052, U+3056, U+305A, U+305C, U+305E, U+3062, U+3065, U+306C, U+3070-307D, U+3080, U+3085, U+3087, U+308E, U+3090-3091, U+30A1, U+30A5, U+30A9, U+30AE, U+30B1-30B2, U+30B4, U+30B6, U+30BC-30BE, U+30C2, U+30C5, U+30CC, U+30D2, U+30D4, U+30D8-30DD, U+30E4, U+30E6, U+30E8, U+30EE, U+30F0-30F2, U+30F4-30F6, U+3133, U+3135;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.68.0i1.3k8whvx5e.woff2") format("woff2-variations");
  unicode-range: U+2541-254B, U+25A4-25A9, U+25B1, U+25B5, U+25B9, U+25BF, U+25C1, U+25C3, U+25C9-25CA, U+25CC, U+25CE, U+25D0-25D1, U+25E6, U+25EF, U+260F, U+261D, U+261F, U+262F, U+2660, U+2664, U+2667-2669, U+266D, U+266F, U+2716, U+271A, U+273D, U+2756, U+2776-277F, U+278A-2793, U+2963, U+2965, U+2AC5-2AC6, U+2ACB-2ACC, U+2F00, U+2F04, U+2F06, U+2F08, U+2F0A-2F0B, U+2F11-2F12, U+2F14, U+2F17-2F18, U+2F1C-2F1D, U+2F1F-2F20, U+2F23-2F26, U+2F28-2F29, U+2F2B, U+2F2D, U+2F2F-2F32, U+2F38, U+2F3C-2F40, U+2F42-2F4C, U+2F4F-2F52, U+2F54-2F58, U+2F5A-2F66, U+2F69-2F70, U+2F72-2F76, U+2F78, U+2F7A-2F7C;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.69.14yd6k.pnw18-.woff2") format("woff2-variations");
  unicode-range: U+2479-2487, U+249C-24D1, U+24D3-24D7, U+24D9-24E9, U+24EB-24F4, U+2500-2501, U+2503, U+250C-2513, U+2515-2516, U+2518-2540;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.70.0w8czahl21a1s.woff2") format("woff2-variations");
  unicode-range: U+215B-215E, U+2162-2169, U+2170-2179, U+2195-2199, U+21B0-21B4, U+21BC, U+21C0, U+21C4-21C5, U+21CD, U+21CF-21D4, U+21E0-21E3, U+21E6-21E9, U+2200, U+2202-2203, U+2206-2209, U+220B-220C, U+220F, U+2211, U+2213, U+221A, U+221D-2220, U+2222, U+2225-2227, U+2229-222C, U+222E, U+2234-2237, U+223D, U+2243, U+2245, U+2248, U+2250-2253, U+225A, U+2260-2262, U+2264-2267, U+226A-226B, U+226E-2273, U+2276-2277, U+2279-227B, U+2280-2287, U+228A-228B, U+2295-2297, U+22A3-22A5, U+22BB-22BC, U+22CE-22CF, U+22DA-22DB, U+22EE-22EF, U+2306, U+2312, U+2314, U+2467-2478;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.71.04pj7vge0xhk5.woff2") format("woff2-variations");
  unicode-range: U+81-82, U+84, U+A2-A5, U+A7-A8, U+AA, U+AC, U+B1-B3, U+B6, U+B8-BA, U+BC-BE, U+C0, U+C2, U+C6-CB, U+CE-D0, U+D4, U+D8-D9, U+DB-DC, U+DE-DF, U+E6, U+EB, U+EE-F0, U+F4, U+F7-F9, U+FB, U+FE-FF, U+111, U+126-127, U+132-133, U+138, U+13F-142, U+149-14B, U+152-153, U+166-167, U+2BC, U+2C7, U+2D0, U+2D8-2D9, U+2DB-2DD, U+391-394, U+396-3A1, U+3A3-3A9, U+3B2-3B6, U+3B8, U+3BC, U+3BE-3C1, U+3C3-3C9, U+2010, U+2015-2016, U+2018-2019, U+201B, U+201F-2021, U+2025, U+2030, U+2033-2036, U+203C, U+203E, U+2042, U+2074, U+207A-207F, U+2081-2084, U+2109, U+2113, U+2116, U+2121, U+2126, U+212B, U+2153-2154;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.72.065-mr_6q3ufd.woff2") format("woff2-variations");
  unicode-range: U+E8, U+2DA, U+2160, U+2194, U+3054, U+3058, U+306D, U+3086, U+308D, U+30AC, U+30BB, U+30C4, U+30CD-30CE, U+30E2, U+3132, U+3146, U+3149, U+339D, U+4E3B, U+4F0A, U+4FDD, U+4FE1, U+5409, U+540C, U+5834, U+592A-592B, U+5B9A, U+5DDE, U+5E0C, U+5E73, U+5F0F, U+60F3, U+653F, U+661F, U+662F, U+667A, U+683C, U+6B4C, U+6C11, U+767C, U+76EE, U+76F4, U+77F3, U+79D1, U+7A7A, U+7B2C, U+7D22, U+8207, U+8A00, U+8A71, U+9280, U+9580, U+958B, U+96C6, U+9762, U+98DF, U+9ED1, U+AC2D, U+ADC8, U+ADD3, U+AF48, U+B014, U+B134-B135, U+B158, U+B2AA, U+B35F, U+B6A4, U+B9CF, U+BB63, U+BD23, U+BE91, U+C29B, U+C3F4, U+C42C, U+C55C, U+C573, U+C58F, U+C78C, U+C7DD, U+C8F5, U+CAD1, U+CC48, U+CF10, U+CF20, U+D03C, U+D07D, U+D2A0, U+D30E, U+D38D, U+D3A8, U+D3C8, U+D5E5, U+D5F9, U+D6E4, U+F90A, U+FF02, U+FF1C;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.73.0ffta87rumu84.woff2") format("woff2-variations");
  unicode-range: U+3B1, U+2466, U+25A1, U+25A3, U+261C, U+3008-3009, U+305B, U+305D, U+3069, U+30A7, U+30BA, U+30CF, U+30EF, U+3151, U+3157, U+4E4B, U+4E5F, U+4E8C, U+4ECA, U+4ED6, U+4F5B, U+50CF, U+5149, U+5165, U+5171, U+5229, U+529B, U+5316, U+539F, U+53F2, U+571F, U+5728, U+58EB, U+591C, U+5B78, U+5C11, U+5C55, U+5DDD, U+5E02, U+5FB7, U+60C5, U+610F, U+611F, U+6625, U+66F8, U+6797, U+679C, U+682A, U+6D2A, U+706B, U+7406, U+767B, U+76F8, U+77E5, U+7ACB, U+898B, U+8A69, U+8DEF, U+8FD1, U+901A, U+90E8, U+91CD, U+975E, U+AE14, U+AE6C, U+AEC0, U+AFC7, U+AFC9, U+B01C, U+B028, U+B308, U+B311, U+B314, U+B31C, U+B524, U+B560, U+B764, U+B920, U+B9E3, U+BD48, U+BE7D, U+C0DB, U+C231, U+C270, U+C2E3, U+C37D, U+C3ED, U+C530, U+C6A5, U+C6DC, U+C7A4, U+C954, U+C974, U+D000, U+D565, U+D667, U+D6C5, U+D79D, U+FF1E;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.74.0aw1nf0gi122-.woff2") format("woff2-variations");
  unicode-range: U+131, U+2032, U+2465, U+2642, U+3048, U+3051, U+3083-3084, U+308F, U+30C0, U+30D1, U+30D3, U+30D6, U+30DF, U+30E7, U+3153, U+4E16, U+4E8B, U+4EE5, U+5206, U+52A0, U+52D5, U+53E4, U+53EF, U+54C1, U+57CE, U+597D, U+5B8C, U+5EA6, U+5F8C, U+5F97, U+6210, U+6240, U+624B, U+6728, U+6BD4, U+7236, U+7269, U+7279, U+738B, U+7528, U+7530, U+767E, U+798F, U+8005, U+8A18, U+90FD, U+91CC, U+9577, U+9593, U+98A8, U+AC20, U+ACF6, U+AD90, U+AF5D, U+AF80, U+AFCD, U+AFF0, U+B0A1, U+B0B5, U+B1FD, U+B2FC, U+B380, U+B51B, U+B584, U+B5B3, U+B8FD, U+B93C, U+B9F4, U+BB44, U+BC08, U+BC27, U+BC49, U+BE55, U+BE64, U+BFB0, U+BFC5, U+C178, U+C21F, U+C314, U+C4F1, U+C58D, U+C664, U+C698, U+C6A7, U+C6C1, U+C9ED, U+CAC0, U+CACC, U+CAD9, U+CCB5, U+CDCC, U+D0E4, U+D143, U+D320, U+D330, U+D54D, U+FF06, U+FF1F, U+FF5E;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.75.0rkopiphlto2y.woff2") format("woff2-variations");
  unicode-range: U+B4, U+20A9, U+20AC, U+2190, U+24D8, U+2502, U+2514, U+2592, U+25C7-25C8, U+2663, U+3060, U+3064, U+3081, U+3088, U+30A3, U+30A6, U+30AA, U+30B5, U+30C7, U+30CA-30CB, U+30D0, U+30E3, U+30E5, U+339E, U+4E09, U+4EAC, U+4F5C, U+5167-5168, U+516C, U+51FA, U+5408, U+540D, U+591A, U+5B57, U+6211, U+65B9, U+660E, U+6642, U+6700, U+6B63, U+6E2F, U+7063, U+7532, U+793E, U+81EA, U+8272, U+82B1, U+897F, U+8ECA, U+91CE, U+AC38, U+AD76, U+AE84, U+AECC, U+B07D, U+B0B1, U+B215, U+B2A0, U+B310, U+B3D7, U+B52A, U+B618, U+B775, U+B797, U+BCD5, U+BD59, U+BE80, U+BEA8, U+BED1, U+BEE4-BEE5, U+C060, U+C2EF, U+C329, U+C3DC, U+C597, U+C5BD, U+C5E5, U+C69C, U+C9D6, U+CA29, U+CA5C, U+CA84, U+CC39, U+CC3B, U+CE89, U+CEE5, U+CF65, U+CF85, U+D058, U+D145, U+D22D, U+D325, U+D37D, U+D3AD, U+D769, U+FF0C;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.76.0zzw4inqrglb~.woff2") format("woff2-variations");
  unicode-range: U+2161, U+2228, U+2299, U+2464, U+2517, U+2640, U+3042, U+304A, U+3053, U+3061, U+307F, U+3082, U+308C, U+3092, U+30A8, U+30AB, U+30AD, U+30B0, U+30B3, U+30B7, U+30C1, U+30C6, U+30C9, U+30D5, U+30D7, U+30DE, U+30E0-30E1, U+30EC-30ED, U+4E0B, U+4E0D, U+4EE3, U+53F0, U+548C, U+5B89, U+5BB6, U+5C0F, U+611B, U+6771, U+6AA2, U+6BCD, U+6C34, U+6CD5, U+6D77, U+767D, U+795E, U+8ECD, U+9999, U+9AD8, U+AC07, U+AC1A, U+AC40, U+AD0C, U+AD88, U+ADA4, U+AE01, U+AE65, U+AEBD, U+AEC4, U+AFE8, U+B139, U+B205, U+B383, U+B38C, U+B42C, U+B461, U+B55C, U+B78F, U+B8FB, U+B9F7, U+BAFC, U+BC99, U+BED8, U+BFCD, U+C0BF, U+C0F9, U+C167, U+C204, U+C20F, U+C22F, U+C258, U+C298, U+C2BC, U+C388, U+C501, U+C50C, U+C5B9, U+C5CE, U+C641, U+C648, U+C73D, U+CA50, U+CA61, U+CC4C, U+CEAC, U+D0D4, U+D5F7, U+D6D7, U+FF1A;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.77.0ndscu918jd6f.woff2") format("woff2-variations");
  unicode-range: U+2103, U+2463, U+25C6, U+25CB, U+266C, U+3001, U+300A, U+3046, U+304C-304D, U+304F, U+3055, U+3059, U+3063, U+3066-3068, U+306F, U+3089, U+30B8, U+30BF, U+314F, U+4E0A, U+570B, U+5730, U+5916, U+5929, U+5C71, U+5E74, U+5FC3, U+601D, U+6027, U+63D0, U+6709, U+6734, U+751F, U+7684, U+82F1, U+9053, U+91D1, U+97F3, U+AC2F, U+AC4D, U+ADC4, U+ADE4, U+AE41, U+AE4D-AE4E, U+AED1, U+AFB9, U+B0E0, U+B299, U+B365, U+B46C, U+B480, U+B4C8, U+B7B4, U+B819, U+B918, U+BAAB, U+BAB9, U+BE8F, U+BED7, U+C0EC, U+C19F, U+C1A5, U+C3D9, U+C464, U+C53D, U+C553, U+C570, U+C5CC, U+C633, U+C6A4, U+C7A3, U+C7A6, U+C886, U+C9D9-C9DA, U+C9EC, U+CA0C, U+CC21, U+CD1B, U+CD78, U+CDC4, U+CEF8, U+CFE4, U+D0A5, U+D0B5, U+D0EC, U+D15D, U+D188, U+D23C, U+D2AC, U+D729, U+D79B, U+FF01, U+FF08-FF09, U+FF5C;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.78.15q43k.5bof1e.woff2") format("woff2-variations");
  unicode-range: U+2039-203A, U+223C, U+25B3, U+25B7, U+25BD, U+25CF, U+266A, U+3002, U+300B, U+304B, U+3057, U+305F, U+306A-306B, U+307E, U+308A-308B, U+3093, U+30A2, U+30AF, U+30B9, U+30C3, U+30C8, U+30E9-30EB, U+33A1, U+4E00, U+524D, U+5357, U+5B50, U+7121, U+884C, U+9751, U+AC94, U+AEBE, U+AECD, U+AF08, U+AF41, U+AF49, U+B010, U+B053, U+B109, U+B11B, U+B128, U+B154, U+B291, U+B2E6, U+B301, U+B385, U+B525, U+B5B4, U+B729, U+B72F, U+B738, U+B7FF, U+B837, U+B975, U+BA67, U+BB47, U+BC1F, U+BD90, U+BFD4, U+C27C, U+C324, U+C379, U+C3E0, U+C465, U+C53B, U+C58C, U+C610, U+C653, U+C6CD, U+C813, U+C82F, U+C999, U+C9E0, U+CAC4, U+CAD3, U+CBD4, U+CC10, U+CC22, U+CCB8, U+CCBC, U+CDA5, U+CE84, U+CEA3, U+CF67, U+CFE1, U+D241, U+D30D, U+D31C, U+D391, U+D401, U+D479, U+D5C9, U+D5DB, U+D649, U+D6D4;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.79.07f69i8az00b9.woff2") format("woff2-variations");
  unicode-range: U+B0, U+E9, U+2193, U+2462, U+260E, U+261E, U+300E-300F, U+3044, U+30A4, U+30FB-30FC, U+314D, U+5973, U+6545, U+6708, U+7537, U+AC89, U+AC9C, U+ACC1, U+AD04, U+AD75, U+AD7D, U+AE45, U+AE61, U+AF42, U+B0AB, U+B0AF, U+B0B3, U+B12C, U+B194, U+B1A8, U+B220, U+B258, U+B284, U+B2FF, U+B315, U+B371, U+B3D4-B3D5, U+B460, U+B527, U+B534, U+B810, U+B818, U+B98E, U+BA55, U+BBAC, U+BC0B, U+BC40, U+BCA1, U+BCCD, U+BD93, U+BE54, U+BE5A, U+BF08, U+BF50, U+BF55, U+BFDC, U+C0C0, U+C0D0, U+C0F4, U+C100, U+C11E, U+C170, U+C20D, U+C274, U+C290, U+C308, U+C369, U+C539, U+C587, U+C5FF, U+C6EC, U+C70C, U+C7AD, U+C7C8, U+C83C, U+C881, U+CB48, U+CC60, U+CE69, U+CE6B, U+CE75, U+CF04, U+CF08, U+CF55, U+CF70, U+CFFC, U+D0B7, U+D1A8, U+D2C8, U+D384, U+D47C, U+D48B, U+D5DD, U+D5E8, U+D720, U+D759, U+F981;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.80.0_o653pgznq5g.woff2") format("woff2-variations");
  unicode-range: U+E0, U+E2, U+395, U+3B7, U+3BA, U+2460-2461, U+25A0, U+3010-3011, U+306E, U+30F3, U+314A, U+314C, U+5927, U+65B0, U+7E41, U+97D3, U+9AD4, U+AD49, U+AE0B, U+AE0D, U+AE43, U+AE5D, U+AECF, U+AF3C, U+AF64, U+AFD4, U+B080, U+B084, U+B0C5, U+B10C, U+B1E8, U+B2AC, U+B36E, U+B451, U+B515, U+B540, U+B561, U+B6AB, U+B6B1, U+B72C, U+B730, U+B744, U+B800, U+B8EC, U+B8F0, U+B904, U+B968, U+B96D, U+B987, U+B9D9, U+BB36, U+BB49, U+BC2D, U+BC43, U+BCF6, U+BD89, U+BE57, U+BE61, U+BED4, U+C090, U+C130, U+C148, U+C19C, U+C2F9, U+C36C, U+C37C, U+C384, U+C3DF, U+C575, U+C584, U+C660, U+C719, U+C816, U+CA4D, U+CA54, U+CABC, U+CB49, U+CC14, U+CFF5, U+D004, U+D038, U+D0B4, U+D0D3, U+D0E0, U+D0ED, U+D131, U+D1B0, U+D31F, U+D33D, U+D3A0, U+D3AB, U+D514, U+D584, U+D6A1, U+D6CC, U+D749, U+D760, U+D799;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.81.0xd3hm3eakgnh.woff2") format("woff2-variations");
  unicode-range: U+24, U+60, U+3B9, U+3BB, U+3BD, U+2191, U+2606, U+300C-300D, U+3131, U+3134, U+3139, U+3141-3142, U+3148, U+3161, U+3163, U+321C, U+4EBA, U+5317, U+AC31, U+AC77, U+AC9F, U+ACB9, U+ACF0-ACF1, U+ACFD, U+AD73, U+AF3D, U+B00C, U+B04A, U+B057, U+B0C4, U+B188, U+B1CC, U+B214, U+B2DB, U+B2EE, U+B304, U+B4ED, U+B518, U+B5BC, U+B625, U+B69C-B69D, U+B7AC, U+B801, U+B86C, U+B959, U+B95C, U+B985, U+BA48, U+BB58, U+BC0C, U+BC38, U+BC85, U+BC9A, U+BF40, U+C068, U+C0BD, U+C0CC, U+C12F, U+C149, U+C1E0, U+C22B, U+C22D, U+C250, U+C2FC, U+C300, U+C313, U+C370, U+C3D8, U+C557, U+C580, U+C5E3, U+C62E, U+C634, U+C6F0, U+C74D, U+C783, U+C78E, U+C796, U+C7BC, U+C92C, U+CA4C, U+CC1C, U+CC54, U+CC59, U+CE04, U+CF30, U+CFC4, U+D140, U+D321, U+D38C, U+D399, U+D54F, U+D587, U+D5D0, U+D6E8, U+D770;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.82.06h52d3yawbur.woff2") format("woff2-variations");
  unicode-range: U+D7, U+EA, U+FC, U+2192, U+25BC, U+3000, U+3137, U+3145, U+315C, U+7F8E, U+AC13, U+AC71, U+AC90, U+ACB8, U+ACE7, U+AD7F, U+AE50, U+AEF4, U+AF34, U+AFBC, U+B048, U+B09A, U+B0AD, U+B0BC, U+B113, U+B125, U+B141, U+B20C, U+B2D9, U+B2ED, U+B367, U+B369, U+B374, U+B3CB, U+B4EC, U+B611, U+B760, U+B81B, U+B834, U+B8B0, U+B8E1, U+B989, U+B9D1, U+B9E1, U+B9FA, U+BA4D, U+BA78, U+BB35, U+BB54, U+BBF9, U+BC11, U+BCB3, U+BD05, U+BD95, U+BDD4, U+BE10, U+BED0, U+BF51, U+C0D8, U+C232, U+C2B7, U+C2EB, U+C378, U+C500, U+C52C, U+C549, U+C568, U+C598, U+C5C9, U+C61B, U+C639, U+C67C, U+C717, U+C78A, U+C80A, U+C90C-C90D, U+C950, U+C9E7, U+CBE4, U+CCA9, U+CCE4, U+CDB0, U+CE78, U+CE94, U+CE98, U+CF8C, U+D018, U+D034, U+D0F1, U+D1B1, U+D280, U+D2F8, U+D338, U+D380, U+D3B4, U+D610, U+D69F, U+D6FC, U+D758;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.83.0v8jtqgrbt87..woff2") format("woff2-variations");
  unicode-range: U+E7, U+2022, U+203B, U+25C0, U+2605, U+2661, U+3147, U+318D, U+672C, U+8A9E, U+ACAA, U+ACBC, U+AD1C, U+AE4A, U+AE5C, U+B044, U+B054, U+B0C8-B0C9, U+B2A6, U+B2D0, U+B35C, U+B364, U+B428, U+B454, U+B465, U+B4B7, U+B4E3, U+B51C, U+B5A1, U+B784, U+B790, U+B7AB, U+B7F4, U+B82C, U+B835, U+B8E9, U+B8F8, U+B9D8, U+B9F9, U+BA5C, U+BA64, U+BABD, U+BB18, U+BB3B, U+BBFF, U+BC0D, U+BC45, U+BC97, U+BCBC, U+BE45, U+BE75, U+BE7C, U+BFCC, U+C0B6, U+C0F7, U+C14B, U+C2B4, U+C30D, U+C4F8, U+C5BB, U+C5D1, U+C5E0, U+C5EE, U+C5FD, U+C606, U+C6C5, U+C6E0, U+C708, U+C81D, U+C820, U+C824, U+C878, U+C918, U+C96C, U+C9E4, U+C9F1, U+CC2E, U+CD09, U+CEA1, U+CEF5, U+CEF7, U+CF64, U+CF69, U+CFE8, U+D035, U+D0AC, U+D230, U+D234, U+D2F4, U+D31D, U+D575, U+D578, U+D608, U+D614, U+D718, U+D751, U+D761, U+D78C, U+D790;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.84.0pwtv~~-w~qi0.woff2") format("woff2-variations");
  unicode-range: U+2665, U+3160, U+4E2D, U+6587, U+65E5, U+AC12, U+AC14, U+AC16, U+AC81, U+AD34, U+ADE0, U+AE54, U+AEBC, U+AF2C, U+AFC0, U+AFC8, U+B04C, U+B08C, U+B099, U+B0A9, U+B0AC, U+B0AE, U+B0B8, U+B123, U+B179, U+B2E5, U+B2F7, U+B4C0, U+B531, U+B538, U+B545, U+B550, U+B5A8, U+B6F0, U+B728, U+B73B, U+B7AD, U+B7ED, U+B809, U+B864, U+B86D, U+B871, U+B9BF, U+B9F5, U+BA40, U+BA4B, U+BA58, U+BA87, U+BAAC, U+BBC0, U+BC16, U+BC34, U+BD07, U+BD99, U+BE59, U+BFD0, U+C058, U+C0E4, U+C0F5, U+C12D, U+C139, U+C228, U+C529, U+C5C7, U+C635, U+C637, U+C735, U+C77D, U+C787, U+C789, U+C8C4, U+C989, U+C98C, U+C9D0, U+C9D3, U+CC0C, U+CC99, U+CD0C, U+CD2C, U+CD98, U+CDA4, U+CE59, U+CE60, U+CE6D, U+CEA0, U+D0D0-D0D1, U+D0D5, U+D14D, U+D1A4, U+D29C, U+D2F1, U+D301, U+D39C, U+D3BC, U+D4E8, U+D540, U+D5EC, U+D640, U+D750;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.85.16.c.8d35oahp.woff2") format("woff2-variations");
  unicode-range: U+5E, U+25B2, U+25B6, U+314E, U+AC24, U+ACE1, U+ACE4, U+AE68, U+AF2D, U+B0D0, U+B0E5, U+B150, U+B155, U+B193, U+B2C9, U+B2DD, U+B3C8, U+B3FC, U+B410, U+B458, U+B4DD, U+B5A0, U+B5A4, U+B5BB, U+B7B5, U+B838, U+B840, U+B86F, U+B8F9, U+B960, U+B9E5, U+BAB8, U+BB50, U+BC1D, U+BC24-BC25, U+BCA8, U+BCBD, U+BD04, U+BD10, U+BD24, U+BE48, U+BE5B, U+BE68, U+C05C, U+C12C, U+C140, U+C15C, U+C168, U+C194, U+C219, U+C27D, U+C2A8, U+C2F1, U+C2F8, U+C368, U+C554-C555, U+C559, U+C564, U+C5D8, U+C5FC, U+C625, U+C65C, U+C6B1, U+C728, U+C794, U+C84C, U+C88C, U+C8E0, U+C8FD, U+C998, U+C9DD, U+CC0D, U+CC30, U+CEEC, U+CF13, U+CF1C, U+CF5C, U+D050, U+D07C, U+D0A8, U+D134, U+D138, U+D154, U+D1F4, U+D2BC, U+D329, U+D32C, U+D3D0, U+D3F4, U+D3FC, U+D56B, U+D5CC, U+D600-D601, U+D639, U+D6C8, U+D754, U+D765;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.86.07o70awflvu0q.woff2") format("woff2-variations");
  unicode-range: U+3C-3D, U+2026, U+24D2, U+314B, U+AC11, U+ACF3, U+AD74, U+AD81, U+ADF9, U+AE34, U+AF43, U+AFB8, U+B05D, U+B07C, U+B110, U+B118, U+B17C, U+B180, U+B18D, U+B192, U+B2CC, U+B355, U+B378, U+B4A4, U+B4EF, U+B78D, U+B799, U+B7A9, U+B7FD, U+B807, U+B80C, U+B839, U+B9B4, U+B9DB, U+BA3C, U+BAB0, U+BBA4, U+BC94, U+BE4C, U+C154, U+C1C4, U+C26C, U+C2AC, U+C2ED, U+C4F4, U+C55E, U+C561, U+C571, U+C5B5, U+C5C4, U+C654-C655, U+C695, U+C6E8, U+C6F9, U+C724, U+C751, U+C775, U+C7A0, U+C7C1, U+C874, U+C880, U+C9D5, U+C9F8, U+CABD, U+CC29, U+CC2C, U+CCA8, U+CCAB, U+CCD0, U+CE21, U+CE35, U+CE7C, U+CE90, U+CEE8, U+CEF4, U+CFE0, U+D070, U+D0B9, U+D0C1, U+D0C4, U+D0C8, U+D15C, U+D1A1, U+D2C0, U+D300, U+D314, U+D3ED, U+D478, U+D480, U+D48D, U+D508, U+D53D, U+D5E4, U+D611, U+D61C, U+D68D, U+D6A8, U+D798;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.87.0mytr2745hw60.woff2") format("woff2-variations");
  unicode-range: U+23, U+25, U+5F, U+A9, U+AC08, U+AC78, U+ACA8, U+ACAC, U+ACE8, U+AD70, U+ADC0, U+ADDC, U+B137, U+B140, U+B208, U+B290, U+B2F5, U+B3C5, U+B3CC, U+B420, U+B429, U+B529, U+B530, U+B77D, U+B79C, U+B7A8, U+B7C9, U+B7F0, U+B7FC, U+B828, U+B860, U+B9AD, U+B9C1, U+B9C9, U+B9DD-B9DE, U+B9E8, U+BA38-BA39, U+BABB, U+BC00, U+BC8C, U+BCA0, U+BCA4, U+BCD1, U+BCFC, U+BD09, U+BDF0, U+BE60, U+C0AD, U+C0B4, U+C0BC, U+C190, U+C1FC, U+C220, U+C288, U+C2B9, U+C2F6, U+C528, U+C545, U+C558, U+C5BC, U+C5D4, U+C600, U+C644, U+C6C0, U+C6C3, U+C721, U+C798, U+C7A1, U+C811, U+C838, U+C871, U+C904, U+C990, U+C9DC, U+CC38, U+CC44, U+CCA0, U+CD1D, U+CD95, U+CDA9, U+CE5C, U+CF00, U+CF58, U+D150, U+D22C, U+D305, U+D328, U+D37C, U+D3F0, U+D551, U+D5A5, U+D5C8, U+D5D8, U+D63C, U+D64D, U+D669, U+D734, U+D76C;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.88.0mbfaskw0-8ul.woff2") format("woff2-variations");
  unicode-range: U+26, U+2B, U+3E, U+40, U+7E, U+AC01, U+AC19, U+AC1D, U+ACA0, U+ACA9, U+ACB0, U+AD8C, U+AE09, U+AE38, U+AE40, U+AED8, U+B09C, U+B0A0, U+B108, U+B204, U+B298, U+B2D8, U+B2EB-B2EC, U+B2F4, U+B313, U+B358, U+B450, U+B4E0, U+B54C, U+B610, U+B780, U+B78C, U+B791, U+B8E8, U+B958, U+B974, U+B984, U+B9B0, U+B9BC-B9BD, U+B9CE, U+BA70, U+BBFC, U+BC0F, U+BC15, U+BC1B, U+BC31, U+BC95, U+BCC0, U+BCC4, U+BD81, U+BD88, U+C0C8, U+C11D, U+C13C, U+C158, U+C18D, U+C1A1, U+C21C, U+C4F0, U+C54A, U+C560, U+C5B8, U+C5C8, U+C5F4, U+C628, U+C62C, U+C678, U+C6CC, U+C808, U+C810, U+C885, U+C88B, U+C900, U+C988, U+C99D, U+C9C8, U+CC3D-CC3E, U+CC45, U+CD08, U+CE20, U+CEE4, U+D074, U+D0A4, U+D0DD, U+D2B9, U+D3B8, U+D3C9, U+D488, U+D544, U+D559, U+D56D, U+D588, U+D615, U+D648, U+D655, U+D658, U+D65C;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.89.0g7j5kzyn2tz1.woff2") format("woff2-variations");
  unicode-range: U+D, U+7C, U+AC10, U+AC15, U+AC74, U+AC80, U+AC83, U+ACC4, U+AD11, U+AD50, U+AD6D, U+ADFC, U+AE00, U+AE08, U+AE4C, U+B0A8, U+B124, U+B144, U+B178, U+B274, U+B2A5, U+B2E8, U+B2F9, U+B354, U+B370, U+B418, U+B41C, U+B4F1, U+B514, U+B798, U+B808, U+B824-B825, U+B8CC, U+B978, U+B9D0, U+B9E4, U+BAA9, U+BB3C, U+BC18, U+BC1C, U+BC30, U+BC84, U+BCF5, U+BCF8, U+BD84, U+BE0C, U+BE14, U+C0B0, U+C0C9, U+C0DD, U+C124, U+C2DD, U+C2E4, U+C2EC, U+C54C, U+C57C-C57D, U+C591, U+C5C5-C5C6, U+C5ED, U+C608, U+C640, U+C6B8, U+C6D4, U+C784, U+C7AC, U+C800-C801, U+C9C1, U+C9D1, U+CC28, U+CC98, U+CC9C, U+CCAD, U+CD5C, U+CD94, U+CD9C, U+CDE8, U+CE68, U+CF54, U+D0DC, U+D14C, U+D1A0, U+D1B5, U+D2F0, U+D30C, U+D310, U+D398, U+D45C, U+D50C, U+D53C, U+D560, U+D568, U+D589, U+D604, U+D6C4, U+D788;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.90.0i2i_-2vn5oul.woff2") format("woff2-variations");
  unicode-range: U+AC04, U+AC1C, U+AC70, U+AC8C, U+ACBD, U+ACF5, U+ACFC, U+AD00, U+AD6C, U+ADF8, U+B098, U+B0B4, U+B294, U+B2C8, U+B300, U+B3C4, U+B3D9, U+B4DC, U+B4E4, U+B77C, U+B7EC, U+B85D, U+B97C, U+B9C8, U+B9CC, U+BA54, U+BA74, U+BA85, U+BAA8, U+BB34, U+BB38, U+BBF8, U+BC14, U+BC29, U+BC88, U+BCF4, U+BD80, U+BE44, U+C0C1, U+C11C, U+C120, U+C131, U+C138, U+C18C, U+C218, U+C2B5, U+C2E0, U+C544, U+C548, U+C5B4, U+C5D0, U+C5EC, U+C5F0, U+C601, U+C624, U+C694, U+C6A9, U+C6B0, U+C6B4, U+C6D0, U+C704, U+C720, U+C73C, U+C740, U+C744, U+C74C, U+C758, U+C77C, U+C785, U+C788, U+C790-C791, U+C7A5, U+C804, U+C815, U+C81C, U+C870, U+C8FC, U+C911, U+C9C4, U+CCB4, U+CE58, U+CE74, U+D06C, U+D0C0, U+D130, U+D2B8, U+D3EC, U+D504, U+D55C, U+D569, U+D574, U+D638, U+D654, U+D68C;
}

@font-face {
  font-family: Pretendard Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("../media/PretendardVariable.subset.91.0co8pi4ttlaeg.woff2") format("woff2-variations");
  unicode-range: U+20-22, U+27-2A, U+2C-39, U+3A-3B, U+3F, U+41-4E, U+4F-5D, U+61-7B, U+7D, U+A0-A1, U+AB, U+AD-AE, U+B7, U+BB, U+BF, U+2013-2014, U+201C-201D, U+2122, U+AC00, U+ACE0, U+AE30, U+B2E4, U+B85C, U+B9AC, U+C0AC, U+C2A4, U+C2DC, U+C774, U+C778, U+C9C0, U+D558;
}

/* [project]/app/globals.css [app-client] (css) */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    :root, :host {
      --shimmer-angle: 20deg;
    }

    *, :before, :after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-font-weight: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-ease: initial;
      --tw-animation-delay: 0s;
      --tw-animation-direction: normal;
      --tw-animation-duration: initial;
      --tw-animation-fill-mode: none;
      --tw-animation-iteration-count: 1;
      --tw-enter-blur: 0;
      --tw-enter-opacity: 1;
      --tw-enter-rotate: 0;
      --tw-enter-scale: 1;
      --tw-enter-translate-x: 0;
      --tw-enter-translate-y: 0;
      --tw-exit-blur: 0;
      --tw-exit-opacity: 1;
      --tw-exit-rotate: 0;
      --tw-exit-scale: 1;
      --tw-exit-translate-x: 0;
      --tw-exit-translate-y: 0;
      --scroll-fade-t: 0px;
      --scroll-fade-b: 0px;
      --scroll-fade-s: 0px;
      --scroll-fade-e: 0px;
      --scroll-fade-mask: initial;
      --shimmer-image: initial;
      --shimmer-text-fill: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: var(--app-font);
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --spacing: .25rem;
    --container-xs: 20rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --radius-sm: calc(var(--radius) * .6);
    --radius-md: calc(var(--radius) * .8);
    --radius-lg: var(--radius);
    --radius-2xl: calc(var(--radius) * 1.8);
    --shadow-sm: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--app-font);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }

  * {
    border-color: var(--border);
    outline-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    * {
      outline-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  body {
    background-color: var(--background);
    color: var(--foreground);
  }

  html {
    font-family: var(--app-font);
  }
}

@layer components;

@layer utilities {
  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .start {
    inset-inline-start: var(--spacing);
  }

  .end {
    inset-inline-end: var(--spacing);
  }

  .top-4 {
    top: calc(var(--spacing) * 4);
  }

  .right-4 {
    right: calc(var(--spacing) * 4);
  }

  .bottom-4 {
    bottom: calc(var(--spacing) * 4);
  }

  .left-\[50\%\] {
    left: 50%;
  }

  .z-50 {
    z-index: 50;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .ml-auto {
    margin-left: auto;
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .inline-flex {
    display: inline-flex;
  }

  .table {
    display: table;
  }

  .size-2\.5 {
    width: calc(var(--spacing) * 2.5);
    height: calc(var(--spacing) * 2.5);
  }

  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .size-6 {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }

  .size-7 {
    width: calc(var(--spacing) * 7);
    height: calc(var(--spacing) * 7);
  }

  .size-8 {
    width: calc(var(--spacing) * 8);
    height: calc(var(--spacing) * 8);
  }

  .size-9 {
    width: calc(var(--spacing) * 9);
    height: calc(var(--spacing) * 9);
  }

  .size-full {
    width: 100%;
    height: 100%;
  }

  .h-6 {
    height: calc(var(--spacing) * 6);
  }

  .h-7 {
    height: calc(var(--spacing) * 7);
  }

  .h-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-9 {
    height: calc(var(--spacing) * 9);
  }

  .w-fit {
    width: fit-content;
  }

  .w-full {
    width: 100%;
  }

  .max-w-\[95\%\] {
    max-width: 95%;
  }

  .max-w-full {
    max-width: 100%;
  }

  .max-w-xs {
    max-width: var(--container-xs);
  }

  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }

  .flex-1 {
    flex: 1;
  }

  .flex-shrink {
    flex-shrink: 1;
  }

  .shrink-0 {
    flex-shrink: 0;
  }

  .border-collapse {
    border-collapse: collapse;
  }

  .origin-\(--radix-tooltip-content-transform-origin\) {
    transform-origin: var(--radix-tooltip-content-transform-origin);
  }

  .translate-x-\[-50\%\] {
    --tw-translate-x: -50%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-y-\[calc\(-50\%_-_2px\)\] {
    --tw-translate-y: calc(-50% - 2px);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .rotate-45 {
    rotate: 45deg;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .resize {
    resize: both;
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .items-center {
    align-items: center;
  }

  .items-stretch {
    align-items: stretch;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .justify-end {
    justify-content: flex-end;
  }

  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }

  :where(.space-y-1 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
  }

  .self-stretch {
    align-self: stretch;
  }

  .truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-y-hidden {
    overflow-y: hidden;
  }

  .rounded {
    border-radius: .25rem;
  }

  .rounded-\[2px\] {
    border-radius: 2px;
  }

  .rounded-\[min\(var\(--radius-md\)\,10px\)\] {
    border-radius: min(var(--radius-md), 10px);
  }

  .rounded-\[min\(var\(--radius-md\)\,12px\)\] {
    border-radius: min(var(--radius-md), 12px);
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

  .rounded-lg {
    border-radius: var(--radius);
  }

  .rounded-md {
    border-radius: calc(var(--radius) * .8);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-none {
    --tw-border-style: none;
    border-style: none;
  }

  .border-border {
    border-color: var(--border);
  }

  .border-transparent {
    border-color: #0000;
  }

  .bg-background {
    background-color: var(--background);
  }

  .bg-border {
    background-color: var(--border);
  }

  .bg-destructive\/10 {
    background-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-destructive\/10 {
      background-color: color-mix(in oklab, var(--destructive) 10%, transparent);
    }
  }

  .bg-foreground {
    background-color: var(--foreground);
  }

  .bg-input {
    background-color: var(--input);
  }

  .bg-muted {
    background-color: var(--ui-muted);
  }

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

  .bg-secondary {
    background-color: var(--secondary);
  }

  .bg-transparent {
    background-color: #0000;
  }

  .bg-clip-padding {
    background-clip: padding-box;
  }

  .fill-foreground {
    fill: var(--foreground);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-8 {
    padding: calc(var(--spacing) * 8);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .text-center {
    text-align: center;
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .text-\[0\.8rem\] {
    font-size: .8rem;
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .text-nowrap {
    text-wrap: nowrap;
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

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

  .text-destructive {
    color: var(--destructive);
  }

  .text-muted {
    color: var(--ui-muted);
  }

  .text-muted-foreground {
    color: var(--muted-foreground);
  }

  .text-primary {
    color: var(--primary);
  }

  .text-primary-foreground {
    color: var(--primary-foreground);
  }

  .text-secondary-foreground {
    color: var(--secondary-foreground);
  }

  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .underline-offset-4 {
    text-underline-offset: 4px;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-none {
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }

  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }

  .paused {
    animation-play-state: paused;
  }

  .running {
    animation-play-state: running;
  }

  .group-\[\.is-assistant\]\:text-foreground:is(:where(.group).is-assistant *) {
    color: var(--foreground);
  }

  .group-\[\.is-user\]\:ml-auto:is(:where(.group).is-user *) {
    margin-left: auto;
  }

  .group-\[\.is-user\]\:rounded-lg:is(:where(.group).is-user *) {
    border-radius: var(--radius);
  }

  .group-\[\.is-user\]\:bg-secondary:is(:where(.group).is-user *) {
    background-color: var(--secondary);
  }

  .group-\[\.is-user\]\:px-4:is(:where(.group).is-user *) {
    padding-inline: calc(var(--spacing) * 4);
  }

  .group-\[\.is-user\]\:py-3:is(:where(.group).is-user *) {
    padding-block: calc(var(--spacing) * 3);
  }

  .group-\[\.is-user\]\:text-foreground:is(:where(.group).is-user *) {
    color: var(--foreground);
  }

  @media (hover: hover) {
    .hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover {
      background-color: var(--secondary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover {
        background-color: color-mix(in oklch,var(--secondary),var(--foreground) 5%);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-destructive\/20:hover {
      background-color: var(--destructive);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-destructive\/20:hover {
        background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-muted:hover {
      background-color: var(--ui-muted);
    }
  }

  @media (hover: hover) {
    .hover\:bg-primary\/80:hover {
      background-color: var(--primary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-primary\/80:hover {
        background-color: color-mix(in oklab, var(--primary) 80%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:text-foreground:hover {
      color: var(--foreground);
    }
  }

  @media (hover: hover) {
    .hover\:underline:hover {
      text-decoration-line: underline;
    }
  }

  .focus-visible\:border-destructive\/40:focus-visible {
    border-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus-visible\:border-destructive\/40:focus-visible {
      border-color: color-mix(in oklab, var(--destructive) 40%, transparent);
    }
  }

  .focus-visible\:border-ring:focus-visible {
    border-color: var(--ring);
  }

  .focus-visible\:ring-3:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus-visible\:ring-destructive\/20:focus-visible {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus-visible\:ring-destructive\/20:focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }

  .focus-visible\:ring-ring\/50:focus-visible {
    --tw-ring-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus-visible\:ring-ring\/50:focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  :is(.\*\:focus-visible\:relative > *):focus-visible {
    position: relative;
  }

  :is(.\*\:focus-visible\:z-10 > *):focus-visible {
    z-index: 10;
  }

  .active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]) {
    --tw-translate-y: 1px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .disabled\:pointer-events-none:disabled {
    pointer-events: none;
  }

  .disabled\:opacity-50:disabled {
    opacity: .5;
  }

  :where([data-slot="button-group"]) .in-data-\[slot\=button-group\]\:rounded-lg {
    border-radius: var(--radius);
  }

  .has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon="inline-end"]) {
    padding-right: calc(var(--spacing) * 1.5);
  }

  .has-data-\[icon\=inline-end\]\:pr-2:has([data-icon="inline-end"]) {
    padding-right: calc(var(--spacing) * 2);
  }

  .has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon="inline-start"]) {
    padding-left: calc(var(--spacing) * 1.5);
  }

  .has-data-\[icon\=inline-start\]\:pl-2:has([data-icon="inline-start"]) {
    padding-left: calc(var(--spacing) * 2);
  }

  .has-data-\[slot\=kbd\]\:pr-1\.5:has([data-slot="kbd"]) {
    padding-right: calc(var(--spacing) * 1.5);
  }

  .has-\[\>\[data-slot\=button-group\]\]\:gap-2:has( > [data-slot="button-group"]) {
    gap: calc(var(--spacing) * 2);
  }

  .aria-expanded\:bg-muted[aria-expanded="true"] {
    background-color: var(--ui-muted);
  }

  .aria-expanded\:bg-secondary[aria-expanded="true"] {
    background-color: var(--secondary);
  }

  .aria-expanded\:text-foreground[aria-expanded="true"] {
    color: var(--foreground);
  }

  .aria-expanded\:text-secondary-foreground[aria-expanded="true"] {
    color: var(--secondary-foreground);
  }

  .aria-invalid\:border-destructive[aria-invalid="true"] {
    border-color: var(--destructive);
  }

  .aria-invalid\:ring-3[aria-invalid="true"] {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .aria-invalid\:ring-destructive\/20[aria-invalid="true"] {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .aria-invalid\:ring-destructive\/20[aria-invalid="true"] {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }

  .data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
    --tw-enter-translate-y: calc(2*var(--spacing)*-1);
  }

  .data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
    --tw-enter-translate-x: calc(2*var(--spacing));
  }

  .data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
    --tw-enter-translate-x: calc(2*var(--spacing)*-1);
  }

  .data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
    --tw-enter-translate-y: calc(2*var(--spacing));
  }

  :is(.\*\*\:data-\[slot\=kbd\]\:relative *)[data-slot="kbd"] {
    position: relative;
  }

  :is(.\*\*\:data-\[slot\=kbd\]\:isolate *)[data-slot="kbd"] {
    isolation: isolate;
  }

  :is(.\*\*\:data-\[slot\=kbd\]\:z-50 *)[data-slot="kbd"] {
    z-index: 50;
  }

  :is(.\*\*\:data-\[slot\=kbd\]\:rounded-sm *)[data-slot="kbd"] {
    border-radius: calc(var(--radius) * .6);
  }

  .data-\[state\=delayed-open\]\:animate-in[data-state="delayed-open"] {
    animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none);
  }

  .data-\[state\=delayed-open\]\:fade-in-0[data-state="delayed-open"] {
    --tw-enter-opacity: 0;
  }

  .data-\[state\=delayed-open\]\:zoom-in-95[data-state="delayed-open"] {
    --tw-enter-scale: .95;
  }

  .dark\:border-input:is(.dark *) {
    border-color: var(--input);
  }

  .dark\:bg-background:is(.dark *) {
    background-color: var(--background);
  }

  .dark\:bg-destructive\/20:is(.dark *) {
    background-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:bg-destructive\/20:is(.dark *) {
      background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }

  .dark\:bg-input\/30:is(.dark *) {
    background-color: var(--input);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:bg-input\/30:is(.dark *) {
      background-color: color-mix(in oklab, var(--input) 30%, transparent);
    }
  }

  @media (hover: hover) {
    .dark\:hover\:bg-destructive\/30:is(.dark *):hover {
      background-color: var(--destructive);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:hover\:bg-destructive\/30:is(.dark *):hover {
        background-color: color-mix(in oklab, var(--destructive) 30%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .dark\:hover\:bg-input\/50:is(.dark *):hover {
      background-color: var(--input);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:hover\:bg-input\/50:is(.dark *):hover {
        background-color: color-mix(in oklab, var(--input) 50%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .dark\:hover\:bg-muted:is(.dark *):hover {
      background-color: var(--ui-muted);
    }
  }

  @media (hover: hover) {
    .dark\:hover\:bg-muted\/50:is(.dark *):hover {
      background-color: var(--ui-muted);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:hover\:bg-muted\/50:is(.dark *):hover {
        background-color: color-mix(in oklab, var(--ui-muted) 50%, transparent);
      }
    }
  }

  .dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
    }
  }

  .dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid="true"] {
    border-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid="true"] {
      border-color: color-mix(in oklab, var(--destructive) 50%, transparent);
    }
  }

  .dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid="true"] {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid="true"] {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
    }
  }

  .data-open\:animate-in:where([data-state="open"]), .data-open\:animate-in:where([data-open]:not([data-open="false"])) {
    animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none);
  }

  .data-open\:fade-in-0:where([data-state="open"]), .data-open\:fade-in-0:where([data-open]:not([data-open="false"])) {
    --tw-enter-opacity: 0;
  }

  .data-open\:zoom-in-95:where([data-state="open"]), .data-open\:zoom-in-95:where([data-open]:not([data-open="false"])) {
    --tw-enter-scale: .95;
  }

  .data-closed\:animate-out:where([data-state="closed"]), .data-closed\:animate-out:where([data-closed]:not([data-closed="false"])) {
    animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none);
  }

  .data-closed\:fade-out-0:where([data-state="closed"]), .data-closed\:fade-out-0:where([data-closed]:not([data-closed="false"])) {
    --tw-exit-opacity: 0;
  }

  .data-closed\:zoom-out-95:where([data-state="closed"]), .data-closed\:zoom-out-95:where([data-closed]:not([data-closed="false"])) {
    --tw-exit-scale: .95;
  }

  .data-horizontal\:mx-px:where([data-orientation="horizontal"]) {
    margin-inline: 1px;
  }

  .data-horizontal\:h-px:where([data-orientation="horizontal"]) {
    height: 1px;
  }

  .data-horizontal\:w-auto:where([data-orientation="horizontal"]) {
    width: auto;
  }

  .data-horizontal\:w-full:where([data-orientation="horizontal"]) {
    width: 100%;
  }

  .data-vertical\:my-px:where([data-orientation="vertical"]) {
    margin-block: 1px;
  }

  .data-vertical\:h-auto:where([data-orientation="vertical"]) {
    height: auto;
  }

  .data-vertical\:w-px:where([data-orientation="vertical"]) {
    width: 1px;
  }

  .data-vertical\:self-stretch:where([data-orientation="vertical"]) {
    align-self: stretch;
  }

  .\[\&_svg\]\:pointer-events-none svg {
    pointer-events: none;
  }

  .\[\&_svg\]\:shrink-0 svg {
    flex-shrink: 0;
  }

  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
  }

  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }

  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .\[\&\>\*\:first-child\]\:mt-0 > :first-child {
    margin-top: calc(var(--spacing) * 0);
  }

  .\[\&\>\*\:last-child\]\:mb-0 > :last-child {
    margin-bottom: calc(var(--spacing) * 0);
  }

  .\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none > :not(:first-child) {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  .\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-md > :not(:first-child) {
    border-top-left-radius: calc(var(--radius) * .8);
    border-bottom-left-radius: calc(var(--radius) * .8);
  }

  .\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none > :not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  .\[\&\>\*\:not\(\:first-child\)\]\:border-t-0 > :not(:first-child) {
    border-top-style: var(--tw-border-style);
    border-top-width: 0;
  }

  .\[\&\>\*\:not\(\:first-child\)\]\:border-l-0 > :not(:first-child) {
    border-left-style: var(--tw-border-style);
    border-left-width: 0;
  }

  .\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-md > :not(:last-child) {
    border-top-right-radius: calc(var(--radius) * .8);
    border-bottom-right-radius: calc(var(--radius) * .8);
  }

  .\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none > :not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  .\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none > :not(:last-child) {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  .has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-lg:has(:is(select[aria-hidden="true"]:last-child)) > [data-slot="select-trigger"]:last-of-type {
    border-top-right-radius: var(--radius);
    border-bottom-right-radius: var(--radius);
  }

  .\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit > [data-slot="select-trigger"]:not([class*="w-"]) {
    width: fit-content;
  }

  .\[\&\>\[data-slot\]\:not\(\:has\(\~\[data-slot\]\)\)\]\:rounded-r-lg\! > [data-slot]:not(:has( ~ [data-slot])) {
    border-top-right-radius: var(--radius) !important;
    border-bottom-right-radius: var(--radius) !important;
  }

  .\[\&\>\[data-slot\]\:not\(\:has\(\~\[data-slot\]\)\)\]\:rounded-b-lg\! > [data-slot]:not(:has( ~ [data-slot])) {
    border-bottom-right-radius: var(--radius) !important;
    border-bottom-left-radius: var(--radius) !important;
  }

  .\[\&\>div\]\:pb-0 > div {
    padding-bottom: calc(var(--spacing) * 0);
  }

  .\[\&\>input\]\:flex-1 > input {
    flex: 1;
  }
}

@property --tw-animation-delay {
  syntax: "*";
  inherits: false;
  initial-value: 0s;
}

@property --tw-animation-direction {
  syntax: "*";
  inherits: false;
  initial-value: normal;
}

@property --tw-animation-duration {
  syntax: "*";
  inherits: false
}

@property --tw-animation-fill-mode {
  syntax: "*";
  inherits: false;
  initial-value: none;
}

@property --tw-animation-iteration-count {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-exit-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-exit-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --scroll-fade-t {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0;
}

@property --scroll-fade-b {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0;
}

@property --scroll-fade-s {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0;
}

@property --scroll-fade-e {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0;
}

@property --scroll-fade-mask {
  syntax: "*";
  inherits: false
}

@property --shimmer-angle {
  syntax: "<angle>";
  inherits: true;
  initial-value: 20deg;
}

@property --shimmer-image {
  syntax: "*";
  inherits: false
}

@property --shimmer-text-fill {
  syntax: "*";
  inherits: false
}

@media (prefers-reduced-motion: reduce) {
  .shimmer {
    -webkit-text-fill-color: currentColor;
    background-image: none;
    animation: none;
  }
}

:root {
  --app-font: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ink: #0b0d14;
  --text: #16171a;
  --muted: #6d7380;
  --ui-muted: #f5f5f5;
  --light: #9aa0ab;
  --line: #e8eaf0;
  --soft: #f7f8fa;
  --up: #d64c53;
  --down: #0769ff;
  --brand-blue: #0769ff;
  --brand-bluewash: #f0f6ff;
  --panel-radius: 12px;
  --background: #fff;
  --foreground: #0a0a0a;
  --card: #fff;
  --card-foreground: #0a0a0a;
  --popover: #fff;
  --popover-foreground: #0a0a0a;
  --primary: #171717;
  --primary-foreground: #fafafa;
  --secondary: #f5f5f5;
  --secondary-foreground: #171717;
  --muted-foreground: #737373;
  --accent: #f5f5f5;
  --accent-foreground: #171717;
  --destructive: #e40014;
  --border: #e5e5e5;
  --input: #e5e5e5;
  --ring: #a1a1a1;
  --chart-1: #d4d4d4;
  --chart-2: #737373;
  --chart-3: #525252;
  --chart-4: #404040;
  --chart-5: #262626;
  --radius: .625rem;
  --sidebar: #fafafa;
  --sidebar-foreground: #0a0a0a;
  --sidebar-primary: #171717;
  --sidebar-primary-foreground: #fafafa;
  --sidebar-accent: #f5f5f5;
  --sidebar-accent-foreground: #171717;
  --sidebar-border: #e5e5e5;
  --sidebar-ring: #a1a1a1;
}

@supports (color: lab(0% 0 0)) {
  :root {
    --ui-muted: lab(96.52% -.0000298023 .0000119209);
    --background: lab(100% 0 0);
    --foreground: lab(2.75381% 0 0);
    --card: lab(100% 0 0);
    --card-foreground: lab(2.75381% 0 0);
    --popover: lab(100% 0 0);
    --popover-foreground: lab(2.75381% 0 0);
    --primary: lab(7.78201% -.0000149012 0);
    --primary-foreground: lab(98.26% 0 0);
    --secondary: lab(96.52% -.0000298023 .0000119209);
    --secondary-foreground: lab(7.78201% -.0000149012 0);
    --muted-foreground: lab(48.496% 0 0);
    --accent: lab(96.52% -.0000298023 .0000119209);
    --accent-foreground: lab(7.78201% -.0000149012 0);
    --destructive: lab(48.4493% 77.4328 61.5452);
    --border: lab(90.952% 0 -.0000119209);
    --input: lab(90.952% 0 -.0000119209);
    --ring: lab(66.128% -.0000298023 .0000119209);
    --chart-1: lab(84.92% 0 -.0000119209);
    --chart-2: lab(48.496% 0 0);
    --chart-3: lab(34.924% 0 0);
    --chart-4: lab(27.036% 0 0);
    --chart-5: lab(15.204% 0 -.00000596046);
    --sidebar: lab(98.26% 0 0);
    --sidebar-foreground: lab(2.75381% 0 0);
    --sidebar-primary: lab(7.78201% -.0000149012 0);
    --sidebar-primary-foreground: lab(98.26% 0 0);
    --sidebar-accent: lab(96.52% -.0000298023 .0000119209);
    --sidebar-accent-foreground: lab(7.78201% -.0000149012 0);
    --sidebar-border: lab(90.952% 0 -.0000119209);
    --sidebar-ring: lab(66.128% -.0000298023 .0000119209);
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: #fafafa;
}

body {
  color: var(--text);
  font-family: var(--app-font);
  -webkit-font-smoothing: antialiased;
  background: #fafafa;
  margin: 0;
}

button {
  font: inherit;
  color: inherit;
}

button:focus-visible {
  outline-offset: 2px;
  outline: 3px solid #18181b29;
}

.finverse-app {
  background: #fafafa;
  min-height: 100vh;
}

.top-header {
  z-index: 30;
  border-bottom: 1px solid var(--line);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  background: #ffffffeb;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  min-height: 76px;
  padding: 0 36px;
  display: grid;
  position: sticky;
  top: 0;
}

.brand {
  color: var(--ink);
  letter-spacing: -.04em;
  cursor: pointer;
  background: none;
  border: 0;
  justify-self: start;
  padding: 0;
  font-size: 21px;
  font-weight: 750;
}

.brand span {
  color: var(--down);
}

.top-nav {
  justify-self: center;
  align-items: center;
  gap: 30px;
  display: flex;
}

.top-nav button {
  height: 76px;
  color: var(--muted);
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: 0;
  padding: 0;
  font-size: 14.5px;
  font-weight: 620;
  position: relative;
}

.top-nav button:hover, .top-nav button.active {
  color: var(--ink);
}

.top-nav button.active:after {
  content: "";
  background: var(--down);
  height: 2px;
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
}

.top-header-actions {
  justify-self: end;
  align-items: center;
  gap: 8px;
  display: flex;
}

.header-help {
  border: 1px solid var(--line);
  width: 34px;
  height: 34px;
  color: var(--muted);
  background: var(--soft);
  cursor: pointer;
  border-radius: 50%;
  place-items: center;
  display: grid;
}

.header-help:hover {
  color: var(--ink);
}

.main-content {
  min-width: 0;
}

.market-page {
  width: min(100% - 72px, 1480px);
  margin: 0 auto;
  padding: 33px 0 48px;
}

.page-heading {
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 19px;
  display: flex;
}

.page-heading > div:first-child > span {
  color: var(--muted);
  letter-spacing: .1em;
  font-size: 11px;
  font-weight: 800;
}

.page-heading h1 {
  color: var(--ink);
  letter-spacing: -.045em;
  margin: 8px 0 0;
  font-size: clamp(29px, 2.3vw, 40px);
  line-height: 1.18;
}

.market-stamp {
  border: 1px solid var(--line);
  color: var(--muted);
  background: #fff;
  border-radius: 10px;
  flex: none;
  align-items: center;
  gap: 8px;
  padding: 10px 13px;
  font-size: 11px;
  display: flex;
}

.market-layout {
  grid-template-columns: 216px minmax(0, 1fr);
  align-items: start;
  gap: 20px;
  display: grid;
}

.market-content {
  min-width: 0;
}

.symbol-sidebar {
  border: 1px solid var(--line);
  border-radius: var(--panel-radius);
  background: #fff;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
  padding: 14px;
  display: flex;
}

.symbol-search {
  z-index: 2;
  position: relative;
}

.symbol-search-row {
  gap: 6px;
  display: flex;
}

.symbol-search input {
  border: 1px solid var(--line);
  background: var(--soft);
  border-radius: 7px;
  outline: none;
  width: 100%;
  height: 34px;
  padding: 0 10px;
  font-family: inherit;
  font-size: 12px;
}

.symbol-search input:focus {
  background: #fff;
  border-color: #9aa0ab;
}

.search-results {
  z-index: 3;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  max-height: 240px;
  padding: 5px;
  display: grid;
  position: absolute;
  top: 38px;
  left: 0;
  right: 0;
  overflow-y: auto;
  box-shadow: 0 8px 18px #1118271a;
}

.search-result {
  min-height: 34px;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 5px;
  align-items: center;
  gap: 8px;
  padding: 6px 7px;
  font-size: 12px;
  display: flex;
}

.search-result:hover {
  background: var(--brand-bluewash);
}

.search-result strong {
  font-size: 12px;
  font-weight: 650;
  display: block;
}

.search-result small {
  color: var(--light);
  margin-top: 1px;
  font-size: 10px;
  display: block;
}

.search-empty {
  color: var(--light);
  margin: 0;
  padding: 8px 7px;
  font-size: 11px;
}

.symbol-list {
  gap: 5px;
  display: grid;
}

.symbol-row {
  position: relative;
}

.symbol {
  width: 100%;
  min-height: 46px;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 8px;
  align-items: center;
  gap: 9px;
  padding: 6px 8px;
  display: flex;
}

.symbol[aria-pressed="true"] {
  background: var(--brand-bluewash);
  border-color: #cfe5ff;
}

.symbol-mark {
  background: #f1f1f3;
  border-radius: 50%;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  position: relative;
  overflow: hidden;
}

.symbol-mark em {
  color: var(--muted);
  place-items: center;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  display: grid;
  position: absolute;
  inset: 0;
}

.symbol-mark img {
  z-index: 1;
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}

.symbol-name {
  gap: 1px;
  min-width: 0;
  display: grid;
}

.symbol-name strong {
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12.5px;
  font-weight: 650;
  overflow: hidden;
}

.symbol-name small {
  color: var(--light);
  font-size: 10px;
}

.symbol-remove {
  z-index: 1;
  width: 20px;
  height: 20px;
  color: var(--muted);
  opacity: 0;
  cursor: pointer;
  background: #eceef1;
  border: 0;
  border-radius: 50%;
  place-items: center;
  padding: 0;
  font-size: 14px;
  line-height: 1;
  transition: opacity .15s;
  display: grid;
  position: absolute;
  top: 50%;
  right: 6px;
}

.symbol-row:hover .symbol-remove, .symbol-remove:focus-visible {
  opacity: 1;
}

.symbol-remove:hover {
  color: var(--ink);
  background: #dfe3e8;
}

.symbol-connection {
  border-top: 1px solid var(--line);
  gap: 7px;
  padding-top: 12px;
  display: grid;
}

.symbol-connection-heading {
  gap: 2px;
  margin-bottom: 2px;
  display: grid;
}

.symbol-connection-heading span {
  color: var(--light);
  letter-spacing: .1em;
  font-size: 8px;
  font-weight: 800;
}

.symbol-connection-heading strong {
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  overflow: hidden;
}

.symbol-connection-empty {
  color: var(--light);
  margin: 0;
  padding: 8px 0;
  font-size: 11px;
  line-height: 1.5;
}

.symbol-source {
  border: 1px solid var(--line);
  background: var(--soft);
  border-radius: 7px;
  padding: 8px 9px;
}

.symbol-source header {
  align-items: center;
  gap: 5px;
  display: flex;
}

.symbol-source header svg {
  color: var(--muted);
  flex: none;
}

.symbol-source header strong {
  min-width: 0;
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 10.5px;
  overflow: hidden;
}

.symbol-source header em {
  color: var(--light);
  letter-spacing: .05em;
  margin-left: auto;
  font-size: 8px;
  font-style: normal;
  font-weight: 800;
}

.symbol-source.ready header em {
  color: #16a34a;
}

.symbol-source b {
  color: var(--ink);
  letter-spacing: -.02em;
  margin-top: 6px;
  font-size: 14px;
  display: block;
}

.symbol-source b small {
  color: var(--light);
  margin-left: 3px;
  font-size: 9px;
  font-weight: 500;
}

.symbol-source p {
  color: var(--muted);
  margin: 3px 0 0;
  font-size: 10px;
  line-height: 1.5;
}

.symbol-source.missing {
  background: #fff;
  border-style: dashed;
}

.symbol-source.waiting {
  background: #fff;
  justify-content: center;
  align-items: center;
  min-height: 40px;
  display: flex;
}

.panel {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 10px;
  min-width: 0;
  height: auto;
  min-height: 590px;
  overflow: hidden;
}

.market-signal-panel {
  flex-direction: column;
  display: flex;
  overflow: hidden;
}

.panel-title {
  border-bottom: 1px solid var(--line);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  min-height: 53px;
  padding: 0 20px;
  display: flex;
}

.panel-title h2 {
  color: var(--ink);
  margin: 0;
  font-size: 17px;
  font-weight: 750;
}

.panel-title > div > span {
  color: var(--light);
  letter-spacing: .09em;
  margin-bottom: 4px;
  font-size: 9px;
  font-weight: 800;
  display: block;
}

.panel-note {
  color: var(--muted);
  text-align: right;
  max-width: 34ch;
  padding: 10px 0;
  font-size: 11px;
  line-height: 1.5;
}

.connection-list article {
  border-bottom: 1px solid #ededf0;
  min-height: 94px;
}

.connection-main {
  grid-template-columns: 38px 1fr auto;
  align-items: center;
  gap: 10px;
  min-height: 60px;
  padding: 9px 18px 5px;
  display: grid;
}

.entity-symbol {
  background: #52525b;
  border-radius: 50%;
  place-items: center;
  width: 34px;
  height: 34px;
  font-size: 12px;
  font-weight: 800;
  display: grid;
  color: #fff !important;
}

.connection-list article:first-child .entity-symbol {
  background: #3157ad;
}

.connection-list article:nth-child(2) .entity-symbol {
  background: #f58220;
}

.connection-list article:nth-child(3) .entity-symbol {
  background: #36b56f;
}

.connection-list article:nth-child(4) .entity-symbol {
  background: #6d5ac6;
}

.connection-list article:nth-child(5) .entity-symbol {
  background: #e5a72b;
}

.connection-main > div strong, .connection-main > div small {
  display: block;
}

.connection-main > div:nth-child(2) strong {
  color: var(--ink);
  font-size: 15px;
}

.connection-list article small {
  color: var(--light);
  margin-top: 4px;
  font-size: 10.5px;
}

.connection-main > div:last-child {
  text-align: right;
}

.connection-main > div:last-child strong {
  white-space: nowrap;
  font-size: 16px;
}

.connection-contribution {
  min-height: 34px;
  color: var(--muted);
  justify-content: space-between;
  align-items: center;
  margin: 0 18px;
  padding: 0 0 6px 48px;
  font-size: 10.5px;
  display: flex;
}

.connection-contribution strong {
  font-size: 12px;
}

.up {
  color: var(--up) !important;
}

.down {
  color: var(--down) !important;
}

.data-note {
  color: var(--light);
  margin: 12px 18px 14px;
  font-size: 9px;
  line-height: 1.5;
}

.market-signal-panel .panel-title {
  min-height: 59px;
}

.signal-summary {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  margin: 15px 18px 11px;
  display: flex;
}

.signal-summary h3, .index-section h3 {
  margin: 0;
  font-size: 12px;
}

.signal-summary h3 {
  font-size: 12px;
}

.signal-summary p {
  color: var(--light);
  margin: 4px 0 0;
  font-size: 8px;
  line-height: 1.35;
}

.signal-summary > span {
  color: #176c4c;
  background: #edf7f2;
  border: 1px solid #dbece4;
  border-radius: 4px;
  flex: none;
  padding: 4px 6px;
  font-size: 8px;
  font-weight: 720;
}

.signal-stack {
  flex-direction: column;
  flex: 1;
  gap: 7px;
  margin: 14px 18px 16px;
  display: flex;
}

.signal-group {
  border: 1px solid var(--line);
  background: #fafafa;
  border-radius: 6px;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  padding: 12px;
  transition: background .14s, border-color .14s;
  display: flex;
}

.signal-group[open] {
  background: #fff;
  border-color: #aebbd7;
}

.market-event-list {
  grid-template-columns: 1fr;
  gap: 5px;
  margin-top: 9px;
  display: grid;
}

.market-event {
  background: #fff;
  border: 1px solid #ececef;
  border-radius: 5px;
  overflow: hidden;
}

.market-event.expanded {
  border-color: #8fa6d4;
  box-shadow: 0 3px 10px #3157ad14;
}

.market-event-trigger {
  width: 100%;
  min-height: 38px;
  color: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  grid-template-columns: 22px minmax(0, 1fr) auto 13px;
  align-items: center;
  gap: 7px;
  padding: 8px 9px;
  display: grid;
}

.market-event-trigger:focus-visible {
  outline-offset: -2px;
  outline: 2px solid #2563eb40;
}

.market-event.expanded .signal-disclosure {
  transform: rotate(90deg);
}

.event-number {
  color: var(--light);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
}

.event-title {
  min-width: 0;
}

.event-title strong, .event-title small {
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  overflow: hidden;
}

.event-title strong {
  color: var(--ink);
  font-size: 10px;
}

.event-title small {
  color: var(--light);
  margin-top: 3px;
  font-size: 8px;
}

.event-rating {
  justify-items: end;
  gap: 3px;
  display: grid;
}

.event-stars {
  color: #d99626;
  letter-spacing: 1px;
  white-space: nowrap;
  font-size: 10px;
  line-height: 1;
}

.event-direction {
  border-radius: 3px;
  padding: 2px 4px;
  font-size: 7px;
  font-weight: 750;
}

.event-direction.up {
  color: #a43d45;
  background: #ffeaec;
}

.event-direction.down {
  color: #245eaa;
  background: #e8f1ff;
}

.event-summary {
  background: #f1f4f9;
  border-top: 1px solid #dfe5ef;
  padding: 12px 12px 13px 39px;
}

.market-event.expanded .event-summary {
  min-height: 92px;
}

.event-summary > span {
  color: #24448c;
  letter-spacing: .08em;
  font-size: 7px;
  font-weight: 800;
}

.event-summary p {
  color: #505761;
  margin: 5px 0 7px;
  font-size: 9px;
  line-height: 1.55;
}

.event-summary small {
  color: var(--light);
  font-size: 7px;
  line-height: 1.4;
  display: block;
}

.signal-group summary {
  cursor: pointer;
  border-radius: 8px;
  flex: 1;
  list-style: none;
}

.signal-group summary::-webkit-details-marker {
  display: none;
}

.signal-group summary:active {
  opacity: .72;
}

.signal-group summary:focus-visible {
  outline-offset: 4px;
  outline: 3px solid #2563eb40;
}

.signal-group-button {
  width: 100%;
  color: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
}

.signal-group-button:focus-visible {
  outline-offset: 4px;
  border-radius: 6px;
  outline: 3px solid #2563eb40;
}

.signal-group-head {
  grid-template-columns: 28px auto auto 1fr;
  align-items: center;
  gap: 7px;
  display: grid;
}

.signal-icon {
  color: #24448c;
  background: #edf2fc;
  border-radius: 4px;
  place-items: center;
  width: 28px;
  height: 28px;
  display: grid;
}

.signal-group-head > strong {
  font-size: 17px;
}

.signal-share {
  justify-self: end;
  align-items: center;
  gap: 2px;
  display: inline-flex;
}

.signal-share b {
  letter-spacing: -.035em;
  font-size: 15px;
}

.signal-disclosure {
  color: var(--light);
  transition: transform .16s;
}

.signal-group[open] .signal-disclosure {
  transform: rotate(90deg);
}

.source-badge {
  border-radius: 3px;
  padding: 3px 5px;
  font-size: 7px;
  font-weight: 760;
}

.source-badge.database, .index-source.database {
  color: #16744f;
  background: #e1f5eb;
}

.source-badge.dummy {
  color: #9b651c;
  background: #fff0d5;
}

.signal-events {
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: 8px;
  margin-top: 13px;
  display: grid;
}

.signal-events > span {
  background: #fff;
  border: 1px solid #ececef;
  border-radius: 4px;
  justify-content: space-between;
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding: 10px;
  display: flex;
}

.signal-events > span > span {
  min-width: 0;
  overflow: hidden;
}

.signal-events strong, .signal-events small {
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  overflow: hidden;
}

.signal-events strong {
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
}

.signal-events small {
  color: var(--light);
  margin-top: 3px;
  font-size: 8px;
}

.signal-events b {
  color: #d99626;
  letter-spacing: 1px;
  white-space: nowrap;
  flex: none;
  font-size: 11px;
}

.signal-track {
  background: #e8e9ec;
  border-radius: 1px;
  gap: 2px;
  height: 5px;
  margin-top: 10px;
  display: flex;
  overflow: hidden;
}

.signal-track i {
  background: #3157ad;
  border-radius: 0;
  flex: 1;
  min-width: 5px;
  display: block;
  width: auto !important;
}

.signal-explainer {
  border-top: 1px solid var(--line);
  gap: 6px;
  margin-top: 10px;
  padding-top: 9px;
  display: grid;
}

.signal-explainer div {
  background: #f3f5f8;
  border-radius: 4px;
  padding: 8px;
}

.signal-explainer span {
  color: #24448c;
  letter-spacing: .08em;
  font-size: 7px;
  font-weight: 760;
  display: block;
}

.signal-explainer p {
  color: #505761;
  margin: 4px 0 0;
  font-size: 10px;
  line-height: 1.55;
}

.signal-explainer small {
  color: var(--light);
  font-size: 8px;
  line-height: 1.4;
}

.market-signal-backdrop {
  background: #11111394;
}

.market-signal-modal {
  background: #fff;
  border: 1px solid #ffffffb8;
  border-radius: 16px;
  width: min(580px, 100%);
  padding: 28px;
  box-shadow: 0 28px 90px #00000047;
}

.market-signal-modal-header {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  padding-bottom: 20px;
  display: flex;
}

.market-signal-modal-header > div > span {
  color: var(--light);
  letter-spacing: .12em;
  font-size: 9px;
  font-weight: 800;
}

.market-signal-modal-header h2 {
  color: var(--ink);
  letter-spacing: -.04em;
  margin: 7px 0 6px;
  font-size: 28px;
}

.market-signal-modal-header p {
  color: var(--muted);
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
}

.market-signal-modal-keywords {
  border-bottom: 1px solid var(--line);
  gap: 9px;
  padding: 20px 0;
  display: grid;
}

.market-signal-modal-keywords > article {
  border: 1px solid var(--line);
  background: #fafafa;
  border-radius: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 14px;
  min-width: 0;
  padding: 14px;
  display: grid;
  overflow: hidden;
}

.market-signal-topic-copy > span {
  color: var(--light);
  font-size: 9px;
  font-weight: 750;
  display: block;
}

.market-signal-topic-copy > strong {
  color: var(--ink);
  margin-top: 5px;
  font-size: 14px;
  line-height: 1.4;
  display: block;
}

.market-signal-modal-keywords article > b {
  color: #d99626;
  letter-spacing: 1px;
  white-space: nowrap;
  font-size: 13px;
}

.market-signal-modal-keywords article > p {
  color: var(--muted);
  grid-column: 1 / -1;
  margin: 2px 0 0;
  font-size: 11px;
  line-height: 1.6;
}

.market-signal-modal-section {
  background: #f5f6f8;
  border-radius: 8px;
  margin-top: 18px;
  padding: 15px 16px;
}

.market-signal-modal-section > span {
  color: #24448c;
  letter-spacing: .08em;
  font-size: 9px;
  font-weight: 800;
}

.market-signal-modal-section p {
  color: var(--muted);
  margin: 7px 0 0;
  font-size: 12px;
  line-height: 1.7;
}

.market-signal-topic-sources {
  border-top: 1px solid var(--line);
  grid-column: 1 / -1;
  gap: 6px;
  min-width: 0;
  max-width: 100%;
  margin-top: 4px;
  padding-top: 11px;
  display: grid;
}

.market-signal-topic-sources > span {
  color: #24448c;
  letter-spacing: .06em;
  font-size: 8px;
  font-weight: 800;
}

.market-signal-topic-sources > a {
  border: 1px solid var(--line);
  width: 100%;
  min-width: 0;
  color: var(--ink);
  background: #fff;
  border-radius: 7px;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  text-decoration: none;
  display: flex;
  overflow: hidden;
}

.market-signal-topic-sources > a:hover {
  background: #f7f9fd;
  border-color: #9aa8c4;
}

.market-signal-topic-sources > a > span {
  min-width: 0;
}

.market-signal-topic-sources > a > svg {
  flex: none;
}

.market-signal-topic-sources strong, .market-signal-topic-sources small {
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  overflow: hidden;
}

.market-signal-topic-sources strong {
  font-size: 10px;
}

.market-signal-topic-sources small {
  color: var(--light);
  margin-top: 3px;
  font-size: 8px;
}

.market-signal-modal-note {
  color: var(--light);
  margin-top: 16px;
  font-size: 9px;
  display: block;
}

.index-section {
  border-top: 1px solid var(--line);
  margin: 17px 18px 18px;
  padding-top: 15px;
}

.market-switch {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 6px;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin-top: 9px;
  padding: 0;
  display: grid;
  overflow: hidden;
}

.market-switch button {
  border: 0;
  border-right: 1px solid var(--line);
  cursor: pointer;
  text-align: left;
  background: none;
  border-radius: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  min-width: 0;
  padding: 10px 8px;
  transition: background .14s;
  display: flex;
}

.market-switch button:last-child {
  border-right: 0;
}

.market-switch button:active {
  background: #e9edf5;
}

.market-switch button.selected {
  border-color: var(--line);
  background: #eef2fa;
  box-shadow: inset 0 -2px #087ff5;
}

.market-switch button > span:first-child {
  color: var(--muted);
  align-items: center;
  gap: 3px;
  font-size: 9px;
  font-weight: 650;
  display: flex;
}

.market-switch button > strong {
  letter-spacing: -.03em;
  text-overflow: ellipsis;
  max-width: 100%;
  font-size: 13px;
  overflow: hidden;
}

.market-switch .trend {
  font-size: 9px;
}

.index-source {
  border-radius: 2px;
  padding: 2px 3px;
  font-size: 6px;
  font-style: normal;
}

.signal-group.country .signal-icon, .signal-group.country .signal-track i {
  color: #7c54d8;
  background: #ede7ff;
}

.signal-group.country .signal-track i {
  background: #8765da;
}

.signal-group.event .signal-icon {
  color: #d15c3e;
  background: #ffebe5;
}

.signal-group.event .signal-track i {
  background: #e06b4b;
}

.signal-group.community .signal-icon {
  color: #238063;
  background: #e3f5ed;
}

.signal-group.community .signal-track i {
  background: #36a47d;
}

.market-indicators {
  margin-bottom: 8px;
  padding-top: 4px;
}

.indicator-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  display: grid;
}

.indicator-tile {
  border-right: 1px solid var(--line);
  min-width: 0;
  padding: 0 16px;
}

.indicator-tile:first-child {
  padding-left: 0;
}

.indicator-tile:last-child {
  border-right: 0;
  padding-right: 0;
}

.indicator-tile header {
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  display: flex;
}

.indicator-tile h3 {
  min-width: 0;
  color: var(--muted);
  letter-spacing: -.01em;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  overflow: hidden;
}

.indicator-tile header strong {
  color: var(--ink);
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
  flex: none;
  font-size: 14px;
  font-weight: 700;
}

.indicator-change {
  font-variant-numeric: tabular-nums;
  gap: 6px;
  margin-top: 2px;
  font-size: 11px;
  display: flex;
}

.indicator-change b {
  font-weight: 650;
}

.indicator-change span {
  color: var(--muted);
}

.indicator-change b.up {
  color: var(--up);
}

.indicator-change b.down {
  color: var(--down);
}

.indicator-spark {
  width: 100%;
  height: 46px;
  margin-top: 6px;
  overflow: hidden;
}

.indicator-spark svg {
  display: block;
  width: 100% !important;
  height: 100% !important;
}

.indicator-spark svg polyline {
  fill: none;
  stroke: currentColor;
  stroke-width: 2px;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.indicator-spark svg circle {
  fill: #fff;
  stroke: currentColor;
  stroke-width: 1.2px;
}

.indicator-tile[data-tone="up"] .indicator-spark {
  color: var(--up);
}

.indicator-tile[data-tone="down"] .indicator-spark {
  color: var(--down);
}

.stock-condition-heading {
  margin: 22px 0 14px;
}

.stock-condition-heading h1 {
  color: var(--ink);
  letter-spacing: -.03em;
  font-size: clamp(20px, 1.8vw, 26px);
  font-weight: 650;
}

.stock-heading-symbol {
  color: var(--down);
}

.conditional-chart {
  margin-top: 16px;
  padding: 0;
}

.chart-title-row {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: flex-end;
  gap: 18px;
  padding: 20px 22px 16px;
  display: flex;
}

.chart-title-row h2 {
  color: var(--ink);
  margin: 0;
  font-size: 18px;
  font-weight: 650;
}

.chart-title-row h2 span {
  color: var(--muted);
  font-weight: 550;
}

.chart-meta {
  white-space: nowrap;
  align-items: baseline;
  gap: 10px;
  display: flex;
}

.chart-meta span {
  color: var(--muted);
  font-size: 12px;
}

.chart-meta strong {
  letter-spacing: -.03em;
  font-size: 20px;
  font-weight: 650;
}

.chart-meta.up strong {
  color: var(--up);
}

.chart-meta.down strong {
  color: var(--down);
}

.chart-content {
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr);
  align-items: stretch;
  display: grid;
}

.chart-wrap {
  border-right: 1px solid var(--line);
  min-width: 0;
  padding: 18px 12px 18px 22px;
  position: relative;
}

.chart-wrap .forecast-canvas {
  height: 320px;
}

.chart-wrap.loading .forecast-canvas {
  opacity: .35;
  filter: grayscale(.4);
  transition: opacity .15s;
}

.chart-loading-overlay {
  color: var(--muted);
  pointer-events: none;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  display: flex;
  position: absolute;
  inset: 18px 12px 18px 22px;
}

.event-rail {
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.event-rail > header {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 20px 22px 0;
  display: flex;
}

.event-rail > header h2 {
  color: var(--ink);
  margin: 0;
  font-size: 15px;
  font-weight: 650;
}

.event-rail > header span {
  background: var(--soft);
  color: var(--muted);
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 9px;
  font-weight: 700;
}

.chart-panel {
  flex-direction: column;
  padding-bottom: 0;
  display: flex;
}

.market-overview-primary > header, .market-overview-mini header {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.market-overview-primary > header > div, .market-overview-mini header {
  align-items: center;
  gap: 7px;
  min-width: 0;
  display: flex;
}

.market-overview-primary header span, .market-overview-mini header span {
  color: var(--ink);
  letter-spacing: -.02em;
  font-size: 17px;
  font-weight: 800;
}

.market-overview-primary header strong {
  color: var(--light);
  letter-spacing: .1em;
  font-size: 8px;
}

.market-overview-primary header em, .market-overview-mini header em {
  max-width: 120px;
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  background: #f0f2f5;
  border-radius: 5px;
  padding: 4px 6px;
  font-size: 9px;
  font-style: normal;
  overflow: hidden;
}

.market-overview-value span, .market-overview-mini-value span {
  white-space: nowrap;
  font-size: 16px;
  font-weight: 650;
}

.market-overview-chart {
  width: 100%;
  height: 100%;
  min-height: 132px;
  margin-top: 7px;
  display: block;
  overflow: visible;
}

.market-overview-chart polyline, .market-overview-mini svg polyline {
  fill: none;
  stroke: #2f76e8;
  stroke-width: 3px;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.market-overview-chart circle, .market-overview-mini svg circle {
  fill: #fff;
  stroke: #2f76e8;
  stroke-width: 1.5px;
}

.market-overview-chart .market-axis-line {
  stroke: #d9dee7;
  stroke-width: 1px;
  stroke-dasharray: 3 4;
}

.market-overview-chart text {
  fill: var(--light);
  font-family: inherit;
  font-size: 8px;
}

.market-overview-chart:after {
  content: "";
}

.market-overview-mini > svg {
  background: linear-gradient(#f8fbff 0 50%, #0000 50%);
  width: 66px;
  height: 66px;
  padding: 3px;
}

.market-overview-mini header {
  justify-content: flex-start;
  gap: 6px;
}

.market-overview-mini header span {
  white-space: nowrap;
  flex: none;
  font-size: 15px;
}

.market-overview-mini-value {
  gap: 2px;
  margin-top: 4px;
  display: grid;
}

.market-overview-mini-value b {
  color: #3f4650;
  letter-spacing: -.035em;
  white-space: nowrap;
  font-size: 18px;
}

.market-overview-mini-value span {
  white-space: nowrap;
  font-size: 10px;
}

.market-chart-tooltip rect {
  fill: #1f2937;
  opacity: .94;
}

.market-chart-tooltip text {
  fill: #fff;
  font-size: 8px;
  font-weight: 700;
}

.kospi-range-tabs button:hover {
  background: #f7f9fc;
}

.today-change {
  color: var(--muted);
  margin-top: 9px;
  font-size: 12px;
  font-weight: 650;
}

.today-change span {
  color: var(--light);
  font-weight: 500;
}

.chart-legend {
  color: var(--muted);
  gap: 15px;
  padding: 0 24px 7px;
  font-size: 10px;
  display: flex;
}

.chart-legend span {
  align-items: center;
  gap: 5px;
  display: flex;
}

.chart-legend i {
  background: linear-gradient(90deg, #0769ff 0 35%, #d64c53 35% 100%);
  width: 15px;
  height: 2px;
  display: inline-block;
}

.chart-legend .forecast {
  background: var(--up);
  border-radius: 999px;
  height: 3px;
}

.chart-legend .forecast.down {
  background: var(--down);
}

.chart-legend .range {
  background: #2563eb1f;
  height: 8px;
}

.forecast-canvas {
  width: 100%;
  height: 265px;
  display: block;
}

.ai-summary {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  flex: none;
  gap: 12px;
  min-height: 0;
  margin: 10px 16px;
  padding: 16px 17px;
  display: flex;
}

.ai-summary svg {
  color: var(--ink);
  flex: none;
}

.ai-summary-copy {
  min-width: 0;
  color: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
}

.ai-summary-copy:focus-visible {
  outline-offset: 4px;
  outline: 2px solid #18181b33;
}

.ai-summary strong {
  color: var(--ink);
  font-size: 16px;
}

.ai-summary p {
  color: var(--muted);
  margin: 7px 0 0;
  font-size: 14px;
  line-height: 1.6;
}

.ai-summary p span {
  display: block;
}

.event-timeline {
  padding: 14px 18px 10px;
}

.event-timeline article {
  grid-template-columns: 54px 16px minmax(0, 1fr);
  gap: 10px;
  min-height: 165px;
  display: grid;
  position: relative;
}

.event-timeline article:after {
  content: "";
  z-index: 0;
  background: #d4d4d8;
  width: 1px;
  position: absolute;
  top: 9px;
  bottom: -14px;
  left: 72px;
}

.event-week {
  color: var(--muted);
  padding-top: 3px;
  font-size: 10.5px;
}

.event-dot {
  z-index: 1;
  border: 2px solid var(--ink);
  background: #fff;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  margin-top: 1px;
  box-shadow: 0 0 0 3px #fff;
}

.event-copy > span {
  color: var(--muted);
  background: var(--soft);
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 10px;
  font-weight: 750;
  display: inline-flex;
}

.event-copy h3 {
  color: var(--ink);
  margin: 8px 0 5px;
  font-size: 16px;
  line-height: 1.35;
}

.event-copy p {
  color: var(--muted);
  margin: 0 0 8px;
  font-size: 11.5px;
  line-height: 1.5;
}

.event-impact {
  background: #fafafa;
  border-radius: 6px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  padding: 6px 8px;
  display: flex;
}

.event-impact span {
  color: var(--muted);
  font-size: 10.5px;
}

.event-impact strong {
  font-size: 12px;
}

.event-copy > button {
  border: 1px solid var(--line);
  width: 100%;
  height: 32px;
  color: var(--muted);
  cursor: pointer;
  background: #fff;
  border-radius: 6px;
  justify-content: space-between;
  align-items: center;
  padding: 0 10px;
  font-size: 11px;
  display: flex;
}

.event-copy > button:hover {
  color: var(--ink);
  border-color: #9aa0ab;
}

.scenario-section {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 10px;
  margin-top: 18px;
  padding: 17px 20px 19px;
}

.scenario-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(250px, 1fr);
  gap: 12px;
  display: grid;
}

.scenario-card {
  border: 1px solid var(--line);
  text-align: left;
  cursor: pointer;
  background: #fff;
  border-radius: 8px;
  flex-direction: column;
  min-height: 132px;
  padding: 0;
  transition: all .18s;
  display: flex;
  position: relative;
  box-shadow: 0 1px 2px #0000000d;
}

.scenario-card:hover {
  box-shadow: 0 8px 24px #18181b12;
}

.scenario-card.active {
  border-color: #188bff;
  box-shadow: 0 2px 5px #188bff26;
}

.scenario-card-head {
  color: #767c85;
  letter-spacing: .02em;
  justify-content: space-between;
  align-items: center;
  min-height: 30px;
  padding: 0 13px;
  font-size: 11px;
  font-weight: 500;
  display: flex;
}

.scenario-card.active .scenario-card-head {
  color: #188bff;
}

.scenario-card-index {
  font-variant-numeric: tabular-nums;
}

.scenario-card-meta {
  align-items: baseline;
  gap: 7px;
  display: flex;
}

.scenario-card-meta i {
  font-style: normal;
}

.scenario-card-meta em {
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
  font-size: 12px;
  font-style: normal;
  font-weight: 650;
}

.scenario-card-meta em.up {
  color: var(--up);
}

.scenario-card-meta em.down {
  color: var(--down);
}

.scenario-card-body {
  flex-direction: column;
  align-items: flex-start;
  min-height: 56px;
  padding: 9px 14px 8px;
  display: flex;
}

.scenario-card-body strong {
  color: var(--ink);
  font-size: 15px;
  font-weight: 550;
  line-height: 1.35;
}

.scenario-card-body small {
  color: #767c85;
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.35;
}

.scenario-card-action {
  justify-content: flex-end;
  align-items: center;
  height: 28px;
  margin-top: auto;
  padding: 0 10px;
  display: flex;
}

.scenario-card-action button {
  color: var(--muted);
  cursor: pointer;
  background: none;
  border: 0;
  font-size: 11px;
  font-weight: 700;
}

.scenario-card-action button:hover {
  color: var(--ink);
}

.scenario-card-action.up button:hover {
  color: var(--up);
}

.scenario-card-action.down button:hover {
  color: var(--down);
}

.scenario-modal-learning {
  margin-top: 22px;
}

.scenario-modal-learning .scenario-narrative {
  margin-top: 0;
}

.scenario-modal-learning .scenario-learning-article {
  margin-top: 22px;
  padding: 21px 18px 23px;
}

.scenario-modal-learning .scenario-decision-grid {
  margin-top: 22px;
}

.custom-scenario-card {
  background: var(--brand-bluewash);
  border: 1px dashed #8ec7ff;
  border-radius: 8px;
  min-height: 132px;
  display: flex;
}

.custom-scenario-card button {
  color: #075bb8;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  flex: 1;
  align-items: center;
  gap: 10px;
  padding: 14px;
  display: flex;
}

.custom-scenario-card svg {
  color: #188bff;
  flex: none;
}

.custom-scenario-card span {
  font-size: 14px;
  font-weight: 550;
  line-height: 1.35;
  display: block;
}

.scenario-detail {
  border: 1px solid var(--line);
  background: #fcfcfd;
  border-radius: 9px;
  margin-top: 16px;
  padding: 20px 22px 22px;
}

.scenario-detail-header {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  padding-bottom: 17px;
  display: flex;
}

.scenario-detail-header > div:first-child > span {
  color: var(--light);
  letter-spacing: .1em;
  font-size: 9px;
  font-weight: 800;
}

.scenario-detail-header h3 {
  color: var(--ink);
  letter-spacing: -.025em;
  margin: 6px 0 5px;
  font-size: 20px;
}

.scenario-detail-header p {
  color: var(--muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

.scenario-detail-forecast {
  border: 1px solid var(--line);
  text-align: right;
  background: #fff;
  border-radius: 8px;
  flex: none;
  min-width: 125px;
  padding: 11px 14px;
}

.scenario-detail-forecast small {
  color: var(--light);
  font-size: 9px;
  display: block;
}

.scenario-detail-forecast strong {
  letter-spacing: -.02em;
  margin-top: 4px;
  font-size: 19px;
  display: block;
}

.scenario-detail-lead {
  border-left: 3px solid var(--ink);
  background: #f7f8fa;
  border-radius: 0 8px 8px 0;
  margin-top: 17px;
  padding: 16px 18px;
}

.scenario-detail-lead > span {
  color: var(--light);
  letter-spacing: .1em;
  font-size: 9px;
  font-weight: 800;
  display: block;
}

.scenario-detail-lead > strong {
  color: var(--ink);
  letter-spacing: -.025em;
  margin-top: 7px;
  font-size: 20px;
  line-height: 1.45;
  display: block;
}

.scenario-detail-lead > p {
  color: var(--muted);
  margin: 9px 0 0;
  font-size: 14px;
  line-height: 1.75;
}

.scenario-detail-body {
  grid-template-columns: minmax(230px, .78fr) minmax(0, 1.55fr);
  gap: 22px;
  padding-top: 18px;
  display: grid;
}

.scenario-detail-visual {
  border: 1px solid var(--line);
  background: #f7f8fa;
  border-radius: 8px;
  height: 150px;
  margin-bottom: 16px;
  position: relative;
  overflow: hidden;
}

.scenario-detail-visual img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
  display: block;
}

.scenario-detail-visual:after {
  content: "";
  pointer-events: none;
  background: linear-gradient(90deg, #1111132e, #0000 65%);
  position: absolute;
  inset: 0;
}

.scenario-detail-visual span {
  z-index: 1;
  color: #fff;
  letter-spacing: .1em;
  background: #11111394;
  border: 1px solid #fff6;
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 8px;
  font-weight: 800;
  position: absolute;
  bottom: 10px;
  left: 11px;
}

.scenario-detail-label {
  color: var(--ink);
  margin-bottom: 9px;
  font-size: 14px;
  font-weight: 800;
}

.scenario-story {
  border-right: 1px solid var(--line);
  min-width: 0;
  padding-right: 20px;
}

.scenario-story > p {
  color: var(--muted);
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
}

.scenario-signal-list {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
  display: flex;
}

.scenario-signal-list > span {
  width: 100%;
  color: var(--light);
  margin-bottom: 2px;
  font-size: 9px;
  font-weight: 700;
}

.scenario-signal-list em {
  color: var(--text);
  background: var(--soft);
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 9px;
  font-style: normal;
}

.scenario-milestones {
  min-width: 0;
}

.scenario-milestone-list {
  gap: 8px;
  display: grid;
}

.scenario-milestone {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 7px;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  padding: 10px 11px;
  display: grid;
}

.scenario-milestone-index {
  color: var(--light);
  font-size: 9px;
  font-weight: 800;
}

.scenario-milestone-copy {
  min-width: 0;
}

.scenario-milestone-meta {
  color: var(--light);
  align-items: center;
  gap: 7px;
  font-size: 11.5px;
  display: flex;
}

.scenario-milestone-meta em {
  color: var(--muted);
  background: var(--soft);
  border-radius: 999px;
  padding: 3px 6px;
  font-style: normal;
}

.scenario-milestone h4 {
  color: var(--ink);
  margin: 6px 0 3px;
  font-size: 15px;
}

.scenario-milestone p {
  color: var(--muted);
  margin: 0;
  font-size: 12.5px;
  line-height: 1.65;
}

.scenario-milestone > strong {
  white-space: nowrap;
  padding-top: 2px;
  font-size: 13px;
}

.scenario-narrative {
  border-top: 1px solid var(--line);
  margin-top: 21px;
  padding-top: 19px;
}

.scenario-narrative-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  display: grid;
}

.scenario-narrative-card {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  min-width: 0;
  padding: 13px 14px;
  display: grid;
}

.scenario-narrative-index {
  color: var(--light);
  font-size: 10px;
  font-weight: 800;
}

.scenario-narrative-card h4 {
  color: var(--ink);
  margin: 0 0 7px;
  font-size: 16px;
  line-height: 1.4;
}

.scenario-narrative-card p {
  color: var(--muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.75;
}

.scenario-narrative-card .scenario-narrative-lesson {
  color: #52525b;
  border-top: 1px solid #ededf0;
  margin-top: 10px;
  padding-top: 10px;
  font-size: 12.5px;
  line-height: 1.75;
}

.scenario-narrative-card span {
  color: var(--light);
  margin-top: 11px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  display: block;
}

.scenario-learning-article {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 10px;
  margin-top: 24px;
  padding: 24px 22px 26px;
}

.scenario-learning-header {
  max-width: 900px;
}

.scenario-learning-header > span {
  color: var(--light);
  letter-spacing: .1em;
  font-size: 10px;
  font-weight: 800;
}

.scenario-learning-header h3 {
  color: var(--ink);
  letter-spacing: -.035em;
  margin: 7px 0 8px;
  font-size: 24px;
}

.scenario-learning-header p {
  color: var(--muted);
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
}

.scenario-learning-overview {
  grid-template-columns: minmax(0, 1.25fr) minmax(270px, .75fr);
  gap: 14px;
  margin-top: 21px;
  display: grid;
}

.scenario-learning-table-wrap, .scenario-learning-chart-card {
  border: 1px solid var(--line);
  background: #fcfcfd;
  border-radius: 8px;
  min-width: 0;
  padding: 15px 16px;
}

.scenario-learning-label {
  color: var(--ink);
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 800;
}

.scenario-learning-table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}

.scenario-learning-table th, .scenario-learning-table td {
  border-top: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  padding: 10px 8px;
  font-size: 12px;
  line-height: 1.5;
}

.scenario-learning-table thead th {
  color: var(--light);
  font-size: 10px;
  font-weight: 800;
}

.scenario-learning-table tbody th {
  width: 24%;
  color: var(--muted);
  font-weight: 700;
}

.scenario-learning-table tbody td:nth-child(2) {
  width: 26%;
  color: var(--ink);
  white-space: nowrap;
  font-size: 14px;
  font-weight: 800;
}

.scenario-learning-table tbody td:last-child {
  color: var(--muted);
}

.scenario-mini-chart {
  background: repeating-linear-gradient(to top, #0000 0 35px, #ececef 35px 36px);
  border-bottom: 1px solid #d4d4d8;
  align-items: flex-end;
  gap: 5px;
  height: 150px;
  padding: 9px 7px 0;
  display: flex;
}

.scenario-mini-column {
  flex: 1 1 0;
  justify-content: center;
  align-items: flex-end;
  min-width: 0;
  height: 100%;
  display: flex;
  position: relative;
}

.scenario-mini-column span {
  opacity: .62;
  background: #9aa0ab;
  border-radius: 4px 4px 0 0;
  width: min(15px, 65%);
  min-height: 14px;
  display: block;
}

.scenario-mini-chart.up .scenario-mini-column span {
  background: var(--up);
}

.scenario-mini-chart.down .scenario-mini-column span {
  background: var(--down);
}

.scenario-mini-column small {
  color: var(--light);
  white-space: nowrap;
  font-size: 9px;
  position: absolute;
  bottom: -20px;
  right: 50%;
  transform: translateX(50%);
}

.scenario-chart-note {
  color: var(--light);
  margin: 28px 0 0;
  font-size: 10.5px;
  line-height: 1.55;
}

.scenario-learning-sections {
  border-top: 1px solid var(--line);
  margin-top: 24px;
  padding-top: 21px;
}

.scenario-learning-section {
  border-bottom: 1px solid #ededf0;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 12px;
  padding: 17px 0;
  display: grid;
}

.scenario-learning-section:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.scenario-learning-section-index {
  color: var(--light);
  font-size: 12px;
  font-weight: 800;
}

.scenario-learning-section h4 {
  color: var(--ink);
  letter-spacing: -.02em;
  margin: 0 0 9px;
  font-size: 18px;
  line-height: 1.45;
}

.scenario-learning-section p {
  color: var(--muted);
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 1.9;
}

.scenario-learning-takeaway {
  border-left: 3px solid var(--ink);
  background: #f7f8fa;
  border-radius: 0 7px 7px 0;
  align-items: flex-start;
  gap: 9px;
  margin-top: 12px;
  padding: 11px 13px;
  display: flex;
}

.scenario-learning-takeaway strong {
  color: var(--ink);
  flex: none;
  font-size: 12px;
}

.scenario-learning-takeaway span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}

.scenario-decision-grid {
  border-top: 1px solid var(--line);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 20px;
  padding-top: 18px;
  display: grid;
}

.scenario-decision-panel {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  min-width: 0;
  padding: 14px;
}

.scenario-section-note {
  color: var(--muted);
  margin: -2px 0 12px;
  font-size: 13px;
  line-height: 1.65;
}

.scenario-choice-list, .scenario-study-list {
  gap: 7px;
  display: grid;
}

.scenario-choice-row {
  background: #fafafa;
  border-radius: 7px;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 9px;
  padding: 9px 10px;
  display: grid;
}

.scenario-choice-row > strong {
  color: var(--ink);
  font-size: 12px;
}

.scenario-choice-row h4 {
  color: var(--ink);
  margin: 0 0 4px;
  font-size: 14px;
  line-height: 1.4;
}

.scenario-choice-row p {
  color: var(--muted);
  margin: 0;
  font-size: 12px;
  line-height: 1.65;
}

.scenario-study-list > div {
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 9px 10px;
}

.scenario-study-list span {
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
  display: block;
}

.scenario-study-list p {
  color: var(--muted);
  margin: 5px 0 0;
  font-size: 12px;
  line-height: 1.65;
}

.scenario-bias-section {
  border-top: 1px solid var(--line);
  margin-top: 20px;
  padding-top: 18px;
}

.scenario-bias-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  display: grid;
}

.scenario-bias-card {
  background: #fffbf5;
  border: 1px solid #eadfce;
  border-radius: 8px;
  min-width: 0;
  padding: 12px 13px;
}

.scenario-bias-card > span {
  color: #9a5a12;
  background: #fff0d8;
  border-radius: 5px;
  padding: 4px 6px;
  font-size: 11px;
  font-weight: 800;
  display: inline-block;
}

.scenario-bias-card > strong {
  color: var(--ink);
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.5;
  display: block;
}

.scenario-bias-card > p {
  color: var(--muted);
  margin: 6px 0 0;
  font-size: 12px;
  line-height: 1.65;
}

.scenario-bias-card b {
  color: var(--ink);
}

.scenario-detail-intelligence {
  border-top: 1px solid var(--line);
  margin-top: 20px;
  padding-top: 18px;
}

.scenario-detail-risks {
  border-top: 1px solid var(--line);
  margin-top: 16px;
  padding-top: 16px;
}

.journal-page {
  gap: 16px;
  width: min(100% - 72px, 1480px);
  margin: 0 auto;
  padding: 33px 0 48px;
  display: grid;
}

.journal-page .page-heading {
  margin-bottom: 0;
}

.journal-heading h1 {
  font-size: clamp(29px, 2.4vw, 38px);
}

.journal-page .panel {
  min-height: 0;
}

.journal-loading, .journal-error {
  color: var(--muted);
  align-items: center;
  gap: 8px;
  padding: 22px;
  font-size: 12.5px;
  display: flex;
}

.journal-error {
  color: var(--down);
}

.journal-error button {
  border: 1px solid var(--line);
  color: var(--ink);
  cursor: pointer;
  background: #fff;
  border-radius: 6px;
  margin-left: 6px;
  padding: 5px 10px;
  font-size: 11px;
}

.journal-empty {
  min-height: 210px;
  color: var(--light);
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 3px;
  padding: 30px 24px;
  display: flex;
}

.journal-empty strong {
  color: var(--text);
  margin-top: 8px;
  font-size: 13px;
  font-weight: 700;
}

.journal-empty p {
  max-width: 42ch;
  color: var(--muted);
  margin: 4px 0 0;
  font-size: 11.5px;
  line-height: 1.6;
}

.journal-empty button {
  border: 1px solid var(--ink);
  color: #fff;
  background: var(--ink);
  cursor: pointer;
  border-radius: 999px;
  margin-top: 14px;
  padding: 10px 20px;
  font-size: 12px;
  font-weight: 700;
}

.journal-empty button:hover {
  opacity: .85;
}

.journal-summary-body {
  padding: 22px 22px 26px;
}

.journal-current-style-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.journal-current-style-label {
  color: var(--light);
  letter-spacing: .08em;
  font-size: 10.5px;
  font-weight: 800;
}

.journal-style-pill {
  white-space: nowrap;
  border-radius: 999px;
  align-items: center;
  padding: 4px 10px;
  font-size: 10.5px;
  font-weight: 700;
  display: inline-flex;
}

.journal-style-pill-lg {
  padding: 7px 16px;
  font-size: 13.5px;
  font-weight: 800;
}

.journal-current-style-date {
  color: var(--muted);
  font-size: 11px;
}

.journal-current-style-desc {
  max-width: 68ch;
  color: var(--muted);
  margin: 12px 0 0;
  font-size: 12.5px;
  line-height: 1.65;
}

.journal-behavior-body {
  padding: 24px 22px 6px;
}

.journal-timeline {
  padding: 0 6px;
}

.journal-timeline-row {
  display: flex;
}

.journal-timeline-row > * {
  text-align: center;
  flex: 1 1 0;
  min-width: 0;
  padding: 0 4px;
}

.journal-timeline-row.labels span {
  min-height: 30px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
  display: block;
}

.journal-timeline-row.dots {
  margin: 9px 0;
  position: relative;
}

.journal-timeline-row.dots:before {
  content: "";
  left: calc(50% / var(--tl-count, 1));
  right: calc(50% / var(--tl-count, 1));
  background: var(--line);
  height: 2px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.journal-timeline-dot {
  z-index: 1;
  width: 14px;
  height: 14px;
  box-shadow: 0 0 0 1px var(--line);
  border: 2px solid #fff;
  border-radius: 50%;
  margin: 0 auto;
  display: block;
  position: relative;
}

.journal-timeline-row.dates span {
  color: var(--light);
  font-size: 9.5px;
}

.journal-session-list {
  border-top: 1px solid var(--line);
  margin-top: 22px;
}

.journal-session-card {
  border-bottom: 1px solid var(--line);
  padding: 13px 4px;
}

.journal-session-card:hover {
  background: var(--soft);
}

.journal-session-card:last-child {
  border-bottom: 0;
}

.journal-session-card-top {
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  display: flex;
}

.journal-session-date {
  color: var(--muted);
  flex: none;
  font-size: 11.5px;
}

.journal-session-ticker {
  color: var(--ink);
  flex: none;
  font-size: 12.5px;
  font-weight: 650;
}

.journal-session-card-bottom {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 14px;
  margin-top: 8px;
  display: flex;
}

.journal-metric-chips {
  flex-wrap: wrap;
  flex: 0 auto;
  gap: 5px;
  display: flex;
}

.journal-metric-chip {
  background: var(--soft);
  color: var(--muted);
  white-space: nowrap;
  border-radius: 6px;
  padding: 3px 8px;
  font-size: 10px;
}

.journal-metric-chip b {
  color: var(--ink);
  font-weight: 700;
}

.journal-session-finding {
  min-width: 0;
  color: var(--muted);
  flex: 240px;
  margin: 0;
  font-size: 11.5px;
  line-height: 1.5;
}

.journal-history-note {
  color: var(--light);
  margin: 0;
  padding: 14px 22px 18px;
  font-size: 10px;
}

.journal-lab-body {
  grid-template-columns: 236px minmax(0, 1fr);
  display: grid;
}

.journal-lab-sidebar {
  border-right: 1px solid var(--line);
  max-height: 620px;
  padding: 12px 10px 16px;
  overflow-y: auto;
}

.journal-lab-stock-group {
  margin-bottom: 6px;
}

.journal-lab-stock-group-head {
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  padding: 9px 8px 5px;
  display: flex;
}

.journal-lab-stock-group-head strong {
  color: var(--ink);
  font-size: 12.5px;
  font-weight: 750;
}

.journal-lab-stock-group-head span {
  color: var(--light);
  font-size: 9px;
}

.journal-lab-run-btn {
  text-align: left;
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 8px;
  width: 100%;
  margin-bottom: 4px;
  padding: 9px 10px;
  display: block;
}

.journal-lab-run-btn:hover {
  background: var(--soft);
}

.journal-lab-run-btn.active {
  border-color: var(--ink);
  background: #fff;
  box-shadow: 0 5px 14px #0b0d1414;
}

.journal-lab-run-btn-top {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.journal-lab-run-btn-top b {
  color: var(--ink);
  font-size: 11.5px;
  font-weight: 650;
}

.journal-lab-run-btn-meta {
  color: var(--light);
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-top: 3px;
  font-size: 10px;
  display: flex;
}

.journal-lab-main {
  min-width: 0;
  padding: 0 22px 22px;
}

.journal-lab-run-head {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 10px;
  padding: 16px 0 14px;
  display: flex;
}

.journal-lab-run-head h3 {
  color: var(--ink);
  margin: 0;
  font-size: 15.5px;
  font-weight: 700;
}

.journal-lab-run-head p {
  color: var(--muted);
  margin: 4px 0 0;
  font-size: 11px;
}

.journal-lab-run-return {
  text-align: right;
}

.journal-lab-run-return span {
  color: var(--light);
  font-size: 9.5px;
  display: block;
}

.journal-lab-run-return b {
  margin-top: 3px;
  font-size: 19px;
  font-weight: 800;
  display: block;
}

.journal-candle-wrap {
  position: relative;
}

.journal-candle-canvas {
  width: 100%;
  height: 300px;
  display: block;
}

.journal-event-pins {
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.journal-event-pin {
  pointer-events: auto;
  z-index: 2;
  position: absolute;
  transform: translate(-50%, -50%);
}

.journal-event-pin:hover, .journal-event-pin:focus-within {
  z-index: 6;
}

.journal-event-pin-badge {
  color: #fff;
  cursor: pointer;
  border: 2px solid #fff;
  border-radius: 50%;
  place-items: center;
  width: 20px;
  height: 20px;
  font-size: 9.5px;
  font-weight: 800;
  transition: opacity .12s;
  display: grid;
}

.journal-badge-up {
  background: var(--up);
}

.journal-badge-down {
  background: var(--down);
}

.journal-event-pins:has(.journal-event-pin:hover) .journal-event-pin:not(:hover) .journal-event-pin-badge {
  opacity: .32;
}

.journal-event-tooltip {
  border: 1px solid var(--line);
  border-radius: var(--panel-radius);
  opacity: 0;
  visibility: hidden;
  text-align: left;
  background: #fff;
  width: 240px;
  padding: 12px 13px;
  transition: opacity .12s;
  position: absolute;
  bottom: calc(100% + 11px);
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 12px 32px #0b0d1424;
}

.journal-event-pin:hover .journal-event-tooltip, .journal-event-pin:focus-within .journal-event-tooltip {
  opacity: 1;
  visibility: visible;
}

.journal-event-tooltip-top {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.journal-event-tooltip-top span {
  color: var(--light);
  font-size: 9.5px;
}

.journal-event-tooltip-top b {
  font-size: 11.5px;
  font-weight: 800;
}

.journal-event-tooltip h4 {
  color: var(--ink);
  margin: 6px 0 4px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}

.journal-event-tooltip p {
  color: var(--muted);
  margin: 0;
  font-size: 10.5px;
  line-height: 1.55;
}

.journal-event-tooltip em {
  background: var(--soft);
  color: var(--muted);
  border-radius: 5px;
  margin-top: 7px;
  padding: 2px 7px;
  font-size: 9.5px;
  font-style: normal;
  font-weight: 700;
  display: inline-block;
}

.journal-event-strip {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
  display: flex;
}

.journal-event-chip {
  position: relative;
}

.journal-event-chip-btn {
  border: 1px solid var(--line);
  color: var(--muted);
  cursor: default;
  background: #fff;
  border-radius: 999px;
  align-items: center;
  gap: 7px;
  padding: 6px 12px 6px 6px;
  font-size: 11px;
  display: flex;
}

.journal-event-chip:hover .journal-event-chip-btn, .journal-event-chip:focus-within .journal-event-chip-btn {
  border-color: var(--ink);
  color: var(--ink);
}

.journal-event-chip-idx {
  color: #fff;
  border-radius: 50%;
  place-items: center;
  width: 18px;
  height: 18px;
  font-size: 9px;
  font-weight: 800;
  display: grid;
}

.journal-event-chip .journal-event-tooltip {
  bottom: calc(100% + 10px);
  left: 0;
  transform: none;
}

.journal-event-chip:hover .journal-event-tooltip, .journal-event-chip:focus-within .journal-event-tooltip {
  opacity: 1;
  visibility: visible;
}

.mobile-tabs {
  display: none;
}

.modal-backdrop {
  z-index: 80;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  background: #11111373;
  place-items: center;
  padding: 20px;
  display: grid;
  position: fixed;
  inset: 0;
}

.scenario-modal {
  background: #fff;
  border-radius: 14px;
  width: min(820px, 100%);
  max-height: calc(100vh - 40px);
  padding: 28px;
  overflow-y: auto;
  box-shadow: 0 28px 80px #0003;
}

.scenario-modal header {
  justify-content: space-between;
  gap: 18px;
  display: flex;
}

.scenario-modal header span {
  color: var(--light);
  letter-spacing: .1em;
  font-size: 8px;
  font-weight: 800;
}

.scenario-modal h2 {
  color: var(--ink);
  margin: 6px 0 5px;
  font-size: 22px;
}

.scenario-modal header p {
  color: var(--muted);
  margin: 0;
  font-size: 10px;
}

.scenario-modal header button {
  border: 1px solid var(--line);
  cursor: pointer;
  background: #fff;
  border-radius: 8px;
  place-items: center;
  width: 34px;
  height: 34px;
  display: grid;
}

.scenario-detail-backdrop {
  background: #11111394;
}

.scenario-detail-modal {
  background: #fff8e9;
  border: 1px solid #ffffffb8;
  border-radius: 24px;
  width: min(1180px, 100%);
  max-height: calc(100vh - 32px);
  padding: 0;
  overflow-y: auto;
  box-shadow: 0 30px 100px #00000052;
}

.scenario-detail-modal-header {
  z-index: 20;
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  backdrop-filter: blur(22px) saturate(160%);
  background: #ffffffd6;
  border-bottom: 1px solid #ffffffb8;
  justify-content: space-between;
  align-items: flex-start;
  gap: 22px;
  padding: 21px 28px 19px;
  display: flex;
  position: sticky;
  top: 0;
}

.scenario-detail-modal-header > div > span {
  color: var(--light);
  letter-spacing: .12em;
  font-size: 9px;
  font-weight: 800;
}

.scenario-detail-modal-header h2 {
  color: var(--ink);
  letter-spacing: -.04em;
  margin: 7px 0 6px;
  font-size: clamp(23px, 3vw, 32px);
}

.scenario-detail-modal-header p {
  color: var(--muted);
  margin: 0;
  font-size: 11px;
  line-height: 1.55;
}

.scenario-modal-close {
  border: 1px solid var(--line);
  width: 38px;
  height: 38px;
  color: var(--muted);
  cursor: pointer;
  background: #fff;
  border-radius: 50%;
  flex: none;
  place-items: center;
  display: grid;
}

.scenario-modal-close:hover {
  color: var(--ink);
  background: var(--soft);
  border-color: #9aa0ab;
}

.scenario-detail-modal-cover {
  border: 1px solid var(--line);
  background: #f8f8f9;
  border-radius: 10px;
  height: 190px;
  margin-top: 20px;
  position: relative;
  overflow: hidden;
}

.scenario-detail-modal-cover img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
  display: block;
}

.scenario-detail-modal-cover:after {
  content: "";
  pointer-events: none;
  background: linear-gradient(90deg, #1111132e, #0000 55%, #ffffff0f);
  position: absolute;
  inset: 0;
}

.scenario-detail-modal-cover span {
  z-index: 1;
  color: #fff;
  letter-spacing: .1em;
  background: #11111394;
  border: 1px solid #ffffff59;
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 8px;
  font-weight: 800;
  position: absolute;
  bottom: 12px;
  left: 14px;
}

.scenario-detail-modal-summary {
  border-bottom: 1px solid var(--line);
  align-items: center;
  gap: 16px;
  padding: 18px 0;
  display: flex;
}

.scenario-detail-modal-forecast {
  background: var(--soft);
  border-radius: 9px;
  min-width: 145px;
  padding: 11px 14px;
}

.scenario-detail-modal-forecast small {
  color: var(--muted);
  font-size: 9px;
  display: block;
}

.scenario-detail-modal-forecast strong {
  letter-spacing: -.025em;
  margin-top: 4px;
  font-size: 21px;
  display: block;
}

.scenario-detail-modal-tags {
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  display: flex;
}

.scenario-detail-modal-tags > span {
  color: var(--light);
  margin-right: 2px;
  font-size: 9px;
  font-weight: 700;
}

.scenario-detail-modal-tags em {
  color: var(--text);
  background: var(--soft);
  border-radius: 999px;
  padding: 6px 9px;
  font-size: 9px;
  font-style: normal;
}

.scenario-detail-modal-grid {
  grid-template-columns: minmax(230px, .82fr) minmax(0, 1.45fr);
  gap: 26px;
  padding-top: 21px;
  display: grid;
}

.scenario-detail-modal-label {
  color: var(--ink);
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 800;
}

.scenario-detail-modal-story {
  border-right: 1px solid var(--line);
  min-width: 0;
  padding-right: 24px;
}

.scenario-detail-modal-story > p {
  color: var(--muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
}

.scenario-modal-note {
  border: 1px solid var(--line);
  color: var(--muted);
  background: #fafafa;
  border-radius: 8px;
  align-items: flex-start;
  gap: 8px;
  margin-top: 18px;
  padding: 11px 12px;
  font-size: 10px;
  line-height: 1.5;
  display: flex;
}

.scenario-modal-note svg {
  color: var(--ink);
  flex: none;
}

.scenario-detail-modal-events {
  min-width: 0;
}

.scenario-detail-modal-event-list {
  gap: 9px;
  display: grid;
}

.scenario-detail-modal-event {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 9px;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: start;
  gap: 11px;
  padding: 13px 14px;
  display: grid;
}

.scenario-detail-modal-event-index {
  color: var(--light);
  font-size: 10px;
  font-weight: 800;
}

.scenario-detail-modal-event-meta {
  color: var(--light);
  align-items: center;
  gap: 8px;
  font-size: 9px;
  display: flex;
}

.scenario-detail-modal-event-meta em {
  color: var(--muted);
  background: var(--soft);
  border-radius: 999px;
  padding: 3px 7px;
  font-style: normal;
}

.scenario-detail-modal-event h3 {
  color: var(--ink);
  margin: 7px 0 4px;
  font-size: 15px;
  line-height: 1.4;
}

.scenario-detail-modal-event p {
  color: var(--muted);
  margin: 0;
  font-size: 12px;
  line-height: 1.65;
}

.scenario-detail-modal-event > strong {
  white-space: nowrap;
  padding-top: 2px;
  font-size: 12px;
}

.scenario-detail-modal-intelligence {
  border-top: 1px solid var(--line);
  margin-top: 23px;
  padding-top: 20px;
}

.scenario-agent-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  display: grid;
}

.scenario-agent-card {
  border: 1px solid var(--line);
  background: #fafafa;
  border-radius: 9px;
  min-width: 0;
  padding: 13px 14px;
}

.scenario-agent-card > span {
  color: var(--light);
  letter-spacing: .04em;
  font-size: 9px;
  font-weight: 800;
}

.scenario-agent-card h3 {
  color: var(--ink);
  margin: 7px 0 5px;
  font-size: 12px;
  line-height: 1.4;
}

.scenario-agent-card p {
  color: var(--muted);
  margin: 0;
  font-size: 10px;
  line-height: 1.55;
}

.scenario-detail-modal-risks {
  border-top: 1px solid var(--line);
  margin-top: 20px;
  padding-top: 18px;
}

.scenario-risk-list {
  flex-wrap: wrap;
  gap: 7px;
  display: flex;
}

.scenario-risk-list span {
  color: #a33a3a;
  background: #fff8f8;
  border: 1px solid #f1d3d3;
  border-radius: 7px;
  padding: 7px 9px;
  font-size: 9.5px;
  line-height: 1.4;
}

.premium-brief {
  padding: 26px 28px 30px;
}

.premium-brief-intro {
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px;
  padding: 4px 2px 24px;
  display: flex;
}

.premium-brief-intro > div:first-child {
  max-width: 800px;
}

.premium-brief-intro > div:first-child > span, .card-news-label > span, .premium-explanation-copy > span, .premium-checkpoints header span {
  color: #756f64;
  letter-spacing: .14em;
  font-size: 9px;
  font-weight: 850;
}

.premium-brief-intro > div:first-child > span {
  color: #23231f;
  letter-spacing: .08em;
  background: #ffe06b;
  border: 1.5px solid #23231f;
  border-radius: 999px;
  padding: 7px 10px;
  display: inline-flex;
  box-shadow: 2px 2px #23231f;
}

.premium-brief-intro h2 {
  color: #17211d;
  letter-spacing: -.045em;
  text-wrap: balance;
  margin: 8px 0 9px;
  font-size: clamp(24px, 3vw, 38px);
  line-height: 1.16;
}

.premium-brief-intro p {
  color: #696961;
  margin: 0;
  font-size: 13px;
  line-height: 1.65;
}

.premium-ai-status {
  color: #66645d;
  background: #ffffffa3;
  border: 1px solid #d8d3c6;
  border-radius: 999px;
  flex: none;
  align-items: center;
  gap: 7px;
  padding: 8px 11px;
  font-size: 9px;
  font-weight: 750;
  display: inline-flex;
}

.premium-ai-status.ready {
  color: #176148;
  background: #e9f6ef;
  border-color: #bad8ca;
}

.premium-ai-status.loading svg {
  animation: 1.3s ease-in-out infinite premium-pulse;
}

@keyframes premium-pulse {
  50% {
    opacity: .35;
    transform: scale(.88);
  }
}

.card-news-label {
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 0 2px 11px;
  display: flex;
}

.card-news-label small {
  color: #47443e;
  background: #fff;
  border-radius: 999px;
  padding: 6px 9px;
  font-size: 9px;
  font-weight: 700;
}

.daily-story {
  --story-a: #ffdf68;
  --story-b: #ffb36f;
  --story-c: #7168dc;
  --story-d: #92ddb9;
  --story-e: #ff8fa4;
  min-width: 0;
}

.daily-story.theme-forest {
  --story-a: #dff1a8;
  --story-b: #9bd7bb;
  --story-c: #194c3b;
  --story-d: #f2c96d;
  --story-e: #e98c77;
}

.daily-story.theme-cobalt {
  --story-a: #cfe1ff;
  --story-b: #7ea7ee;
  --story-c: #244d9a;
  --story-d: #c9bcff;
  --story-e: #ffb38d;
}

.daily-story.theme-berry {
  --story-a: #ffd2de;
  --story-b: #eb91ad;
  --story-c: #7d3155;
  --story-d: #d7c8ff;
  --story-e: #ffd970;
}

.daily-story-stack {
  gap: 18px;
  padding: 2px 3px 8px;
  display: grid;
}

.daily-story-card {
  color: #23231f;
  background: var(--story-a);
  border: 2px solid #23231f;
  border-radius: 26px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  min-height: 330px;
  display: grid;
  overflow: hidden;
  box-shadow: 6px 7px #23231f;
}

.daily-story-card:nth-child(2) {
  background: var(--story-b);
}

.daily-story-card:nth-child(3) {
  color: #fff;
  background: var(--story-c);
}

.daily-story-card:nth-child(4) {
  background: var(--story-d);
}

.daily-story-card:nth-child(5) {
  background: var(--story-e);
}

.daily-story-card.layout-hero {
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .85fr);
  min-height: 430px;
}

.daily-story-card.layout-reverse .daily-card-art {
  border-left: 2px solid #23231f;
  border-right: 0;
  order: 2;
}

.daily-story-card.layout-reverse .daily-card-copy {
  order: 1;
}

.daily-story-card.layout-spotlight {
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
}

.daily-story-card.layout-stacked {
  grid-template-columns: 1fr;
}

.daily-story-card.layout-stacked .daily-card-art {
  border-bottom: 2px solid #23231f;
  border-right: 0;
  min-height: 260px;
}

.daily-card-art {
  background: #ffffff2e;
  border-right: 2px solid #23231f;
  place-items: center;
  min-width: 0;
  min-height: 300px;
  display: grid;
  overflow: hidden;
}

.daily-card-copy {
  flex-direction: column;
  min-width: 0;
  padding: clamp(24px, 3vw, 38px);
  display: flex;
}

.editorial-card-top {
  color: currentColor;
  letter-spacing: .1em;
  opacity: .86;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  font-size: 8px;
  font-weight: 820;
  display: flex;
}

.editorial-card-top b {
  border: 1.5px solid;
  border-radius: 50%;
  place-items: center;
  min-width: 27px;
  height: 27px;
  font-size: 9px;
  display: grid;
}

.editorial-stat {
  margin-top: auto;
  padding-top: 30px;
}

.editorial-stat strong, .editorial-stat span {
  display: block;
}

.editorial-stat strong {
  letter-spacing: -.06em;
  font-size: clamp(31px, 4vw, 48px);
  line-height: 1;
}

.editorial-stat span {
  opacity: .72;
  margin-top: 8px;
  font-size: 10px;
  font-weight: 680;
}

.daily-card-copy h3 {
  letter-spacing: -.04em;
  text-wrap: balance;
  margin: 18px 0 9px;
  font-size: clamp(21px, 2.5vw, 31px);
  line-height: 1.25;
}

.daily-card-copy > p {
  opacity: .82;
  word-break: keep-all;
  margin: 0;
  font-size: 13px;
  line-height: 1.75;
}

.daily-card-copy footer {
  letter-spacing: .11em;
  opacity: .52;
  border-top: 1px solid;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  padding-top: 22px;
  font-size: 8px;
  font-weight: 820;
  display: flex;
}

.story-image-visual {
  width: 100%;
  height: 100%;
  min-height: 320px;
  position: relative;
}

.story-image-visual:after {
  content: "";
  background: linear-gradient(#0000 35%, #09120f8f);
  position: absolute;
  inset: 0;
}

.story-image-visual img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.story-image-bars {
  z-index: 1;
  align-items: flex-end;
  gap: 6px;
  height: 88px;
  display: flex;
  position: absolute;
  bottom: 23px;
  left: 24px;
  right: 24px;
}

.story-image-bars i {
  background: #ffffffd1;
  border-radius: 6px 6px 1px 1px;
  flex: 1;
}

.story-flow-visual {
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  padding: 35px;
  display: grid;
}

.story-flow-visual span {
  aspect-ratio: 1;
  background: #ffffff94;
  border: 2px solid #23231f;
  border-radius: 50%;
  place-items: center;
  font-size: 13px;
  font-weight: 850;
  display: grid;
  box-shadow: 4px 4px #23231f;
}

.story-flow-visual b {
  font-size: 24px;
}

.story-earnings-visual {
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  width: min(78%, 360px);
  display: grid;
  transform: rotate(-2deg);
}

.story-earnings-visual span, .story-earnings-visual strong {
  background: #ffffff2e;
  border: 2px solid;
  border-radius: 18px;
  place-items: center;
  min-height: 82px;
  padding: 12px;
  font-size: 13px;
  display: grid;
}

.story-earnings-visual strong {
  grid-column: 1 / -1;
  min-height: 104px;
  font-size: 34px;
}

.story-calendar-visual {
  color: #23231f;
  background: #fff;
  border: 2px solid #23231f;
  border-radius: 22px;
  width: min(72%, 330px);
  padding: 24px;
  transform: rotate(2deg);
  box-shadow: 6px 7px #23231f;
}

.story-calendar-visual span, .story-calendar-visual strong, .story-calendar-visual i {
  display: block;
}

.story-calendar-visual span {
  letter-spacing: .12em;
  border-bottom: 1px solid #d9d5ca;
  padding-bottom: 12px;
  font-size: 9px;
  font-weight: 850;
}

.story-calendar-visual strong {
  letter-spacing: -.05em;
  margin-top: 23px;
  font-size: 31px;
}

.story-calendar-visual i {
  color: #7168dc;
  margin-top: 8px;
  font-size: 18px;
  font-style: normal;
  font-weight: 850;
}

.story-radar-visual {
  place-items: center;
  width: 240px;
  height: 240px;
  display: grid;
  position: relative;
}

.story-radar-visual i {
  opacity: .24;
  border: 2px solid;
  border-radius: 50%;
  position: absolute;
}

.story-radar-visual i:first-child {
  inset: 0;
}

.story-radar-visual i:nth-child(2) {
  inset: 36px;
}

.story-radar-visual i:nth-child(3) {
  inset: 72px;
}

.story-radar-visual span {
  background: #ffffff73;
  border: 2px solid;
  border-radius: 50%;
  place-items: center;
  width: 62px;
  height: 62px;
  font-size: 30px;
  font-weight: 900;
  display: grid;
}

.story-radar-visual strong {
  font-size: 12px;
  position: absolute;
  bottom: 16px;
  right: 8px;
}

.daily-detail-report {
  margin-top: 34px;
}

.daily-editor-note {
  background: #fff;
  border: 2px solid #23231f;
  border-radius: 24px;
  max-width: 850px;
  margin: 0 auto;
  padding: 42px 50px 46px;
  box-shadow: 6px 7px #23231f;
}

.daily-editor-note > span, .daily-original-report-heading span {
  color: #756f64;
  letter-spacing: .14em;
  font-size: 9px;
  font-weight: 850;
}

.daily-editor-note h3 {
  color: #17211d;
  letter-spacing: -.045em;
  margin: 10px 0 20px;
  font-size: clamp(25px, 2.8vw, 36px);
  line-height: 1.22;
}

.daily-editor-note > strong {
  color: #333b37;
  border-bottom: 1px solid #e8e4da;
  margin-bottom: 25px;
  padding-bottom: 23px;
  font-size: 17px;
  line-height: 1.72;
  display: block;
}

.daily-editor-note p {
  color: #4f524d;
  word-break: keep-all;
  margin: 0;
  font-size: 15px;
  line-height: 2.02;
}

.daily-editor-note p + p {
  margin-top: 19px;
}

.daily-original-report {
  background: #fff;
  border: 1px solid #ded9ce;
  border-radius: 22px;
  margin-top: 26px;
  padding: 28px;
}

.daily-original-report-heading {
  border-bottom: 1px solid #e5e1d8;
  padding-bottom: 20px;
}

.daily-original-report-heading h3 {
  color: #17211d;
  letter-spacing: -.03em;
  margin: 7px 0 0;
  font-size: 22px;
}

.daily-original-report .scenario-modal-learning {
  margin-top: 20px;
}

.premium-brief-footer {
  color: #8a877e;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 15px 3px 0;
  font-size: 8.5px;
  line-height: 1.5;
  display: flex;
}

.scenario-preview-card:active, .scenario-modal-close:active {
  transform: scale(.97);
}

.scenario-builder-backdrop {
  overflow-y: auto;
}

.scenario-builder-modal {
  width: min(940px, 100%);
}

.scenario-builder-header {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: flex-start;
  gap: 22px;
  padding-bottom: 20px;
  display: flex;
}

.scenario-builder-header > div > span, .builder-section-heading span {
  color: var(--light);
  letter-spacing: .11em;
  font-size: 9px;
  font-weight: 800;
}

.scenario-builder-header h2 {
  color: var(--ink);
  letter-spacing: -.04em;
  margin: 7px 0 5px;
  font-size: clamp(24px, 3vw, 32px);
}

.scenario-builder-header p {
  color: var(--muted);
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
}

.builder-section-heading {
  justify-content: space-between;
  align-items: flex-end;
  gap: 18px;
  margin-top: 22px;
  display: flex;
}

.builder-section-heading h3 {
  color: var(--ink);
  letter-spacing: -.02em;
  margin: 5px 0 0;
  font-size: 16px;
}

.builder-section-heading > small {
  color: var(--light);
  font-size: 10px;
}

.builder-section-heading.compact {
  margin-top: 0;
  margin-bottom: 10px;
  display: block;
}

.builder-seed-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin-top: 12px;
  display: grid;
}

.builder-seed-grid button {
  border: 1px solid var(--line);
  min-height: 104px;
  color: var(--muted);
  text-align: left;
  cursor: pointer;
  background: #fff;
  border-radius: 9px;
  padding: 12px;
  transition: all .18s;
}

.builder-seed-grid button:hover {
  border-color: #9aa0ab;
  transform: translateY(-1px);
}

.builder-seed-grid button.active {
  border-color: var(--ink);
  color: var(--ink);
  box-shadow: inset 0 0 0 1px var(--ink);
  background: #fafafa;
}

.builder-seed-top {
  color: var(--light);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.builder-seed-top em {
  color: var(--muted);
  background: var(--soft);
  border-radius: 999px;
  padding: 3px 6px;
  font-size: 8px;
  font-style: normal;
}

.builder-seed-grid button.active .builder-seed-top svg {
  color: var(--ink);
}

.builder-seed-grid button strong {
  color: var(--ink);
  margin-top: 10px;
  font-size: 12px;
  display: block;
}

.builder-seed-grid button small {
  color: var(--light);
  margin-top: 5px;
  font-size: 9px;
  line-height: 1.45;
  display: block;
}

.builder-input-grid {
  border-top: 1px solid var(--line);
  grid-template-columns: .9fr 1.1fr;
  gap: 18px;
  margin-top: 24px;
  padding-top: 20px;
  display: grid;
}

.builder-group {
  min-width: 0;
}

.upload-dropzone {
  min-height: 115px;
  color: var(--muted);
  text-align: center;
  cursor: pointer;
  background: #fafafa;
  border: 1px dashed #9aa0ab;
  border-radius: 9px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 7px;
  padding: 14px;
  display: flex;
}

.upload-dropzone:hover {
  border-color: var(--ink);
  color: var(--ink);
  background: #f4f4f5;
}

.upload-dropzone span {
  font-size: 11px;
  font-weight: 700;
}

.upload-dropzone small {
  color: var(--light);
  font-size: 9px;
}

.upload-preview {
  color: var(--muted);
  background: var(--soft);
  border-radius: 7px;
  margin: 8px 0 0;
  padding: 8px 10px;
  font-size: 9px;
  line-height: 1.45;
}

.visually-hidden {
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.scenario-prompt {
  resize: vertical;
  border: 1px solid var(--line);
  width: 100%;
  min-height: 115px;
  color: var(--ink);
  font: inherit;
  background: #fff;
  border-radius: 9px;
  outline: none;
  padding: 12px;
  font-size: 11px;
  line-height: 1.55;
}

.scenario-prompt:focus {
  border-color: var(--ink);
  box-shadow: 0 0 0 3px #18181b12;
}

.builder-prompt-hint {
  color: var(--light);
  align-items: center;
  gap: 6px;
  margin-top: 7px;
  font-size: 9px;
  display: flex;
}

.builder-period-row {
  border: 1px solid var(--line);
  background: #fafafa;
  border-radius: 9px;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-top: 22px;
  padding: 13px 14px;
  display: flex;
}

.builder-period-row > div:first-child span {
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
  display: block;
}

.builder-period-row > div:first-child small {
  color: var(--light);
  margin-top: 4px;
  font-size: 9px;
  display: block;
}

.builder-period-options {
  gap: 6px;
  display: flex;
}

.builder-period-options button {
  border: 1px solid var(--line);
  min-width: 58px;
  color: var(--muted);
  cursor: pointer;
  background: #fff;
  border-radius: 999px;
  padding: 8px 10px;
  font-size: 10px;
}

.builder-period-options button.active {
  border-color: var(--ink);
  color: #fff;
  background: var(--ink);
}

.builder-group > strong {
  color: var(--ink);
  margin-bottom: 9px;
  font-size: 11px;
  display: block;
}

.builder-group > div {
  flex-wrap: wrap;
  gap: 7px;
  display: flex;
}

.builder-group button {
  border: 1px solid var(--line);
  color: var(--muted);
  cursor: pointer;
  background: #fff;
  border-radius: 999px;
  padding: 8px 11px;
  font-size: 10px;
}

.builder-group button.active {
  border-color: var(--ink);
  color: #fff;
  background: var(--ink);
}

.run-custom-button {
  color: #fff;
  background: var(--ink);
  cursor: pointer;
  border: 0;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: 46px;
  margin-top: 24px;
  font-size: 11px;
  font-weight: 700;
  display: flex;
}

.run-custom-button:hover {
  background: #16171a;
}

.scenario-build-modal {
  width: min(1440px, 100%);
  max-height: calc(100vh - 24px);
  padding: 26px;
  overflow-y: auto;
}

.scenario-build-screen {
  min-width: 0;
}

.scenario-build-header {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: flex-start;
  gap: 22px;
  padding-bottom: 16px;
  display: flex;
}

.scenario-build-header > div > span {
  color: var(--light);
  letter-spacing: .11em;
  font-size: 9px;
  font-weight: 800;
}

.scenario-build-header h2 {
  color: var(--ink);
  letter-spacing: -.04em;
  margin: 6px 0 4px;
  font-size: clamp(22px, 2.5vw, 30px);
}

.scenario-build-header p {
  color: var(--muted);
  margin: 0;
  font-size: 11px;
  line-height: 1.5;
}

.scenario-build-meta {
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px 0 16px;
  display: flex;
}

.scenario-build-meta span {
  color: var(--muted);
  background: var(--soft);
  border-radius: 999px;
  align-items: center;
  gap: 5px;
  padding: 6px 9px;
  font-size: 9px;
  display: inline-flex;
}

.ontology-live-console {
  background: #18181b;
  border: 1px solid #d4d4d8;
  border-radius: 10px;
  margin: 0 0 16px;
  overflow: hidden;
  box-shadow: 0 8px 24px #18181b14;
}

.ontology-live-console > div {
  color: #f4f4f5;
  border-bottom: 1px solid #3f3f46;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 13px;
  font-size: 10px;
  display: flex;
}

.ontology-live-console > div span {
  letter-spacing: .06em;
  align-items: center;
  gap: 6px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-weight: 800;
  display: inline-flex;
}

.ontology-live-console > div strong {
  color: #bbf7d0;
  background: #22c55e29;
  border-radius: 999px;
  padding: 4px 7px;
  font-size: 9px;
}

.ontology-live-console.error > div strong {
  color: #fecaca;
  background: #ef444429;
}

.ontology-live-console ol {
  gap: 3px;
  max-height: 190px;
  margin: 0;
  padding: 11px 13px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  list-style: none;
  display: grid;
  overflow-y: auto;
}

.ontology-live-console li {
  color: #d4d4d8;
  word-break: break-word;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 8px;
  font-size: 10px;
  line-height: 1.5;
  display: grid;
}

.ontology-live-console li span {
  color: #9aa0ab;
  font-size: 8px;
  font-weight: 800;
}

.ontology-live-console li.stderr {
  color: #fecaca;
}

.ontology-live-console li.stdout {
  color: #d1fae5;
}

.ontology-live-console > p {
  color: #a7f3d0;
  border-top: 1px solid #3f3f46;
  margin: 0;
  padding: 9px 13px;
  font-size: 9px;
}

.ontology-live-console code {
  color: inherit;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

.builder-question-section {
  margin-top: 22px;
}

.builder-question-section .scenario-prompt {
  min-height: 150px;
  margin-top: 12px;
  font-size: 13px;
}

.build-result-status {
  cursor: default;
}

.scenario-build-grid {
  grid-template-columns: minmax(480px, 1.08fr) minmax(420px, .92fr);
  gap: 16px;
  display: grid;
}

.knowledge-graph-panel, .build-process-panel {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 10px;
  min-width: 0;
}

.knowledge-graph-panel {
  overflow: hidden;
}

.build-panel-heading {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 17px 12px;
  display: flex;
}

.build-panel-heading > div > span {
  color: var(--light);
  letter-spacing: .11em;
  font-size: 8px;
  font-weight: 800;
}

.build-panel-heading h3 {
  color: var(--ink);
  margin: 5px 0 0;
  font-size: 17px;
}

.build-live-badge, .build-step-header > strong {
  color: #166534;
  letter-spacing: .04em;
  white-space: nowrap;
  background: #ecfdf3;
  border-radius: 5px;
  padding: 5px 7px;
  font-size: 8px;
  font-weight: 800;
}

.knowledge-graph-wrap {
  background: #fcfcfd;
  min-height: 560px;
  position: relative;
}

.graph-generation-placeholder {
  text-align: center;
  background-color: #fafafa;
  background-image: radial-gradient(#d4d4d8 2px, #0000 2.5px);
  background-size: 28px 28px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 560px;
  padding: 34px;
  display: flex;
}

.ontology-wait-icon {
  width: 56px;
  height: 56px;
  margin-bottom: 16px;
  position: relative;
}

.ontology-wait-icon i {
  background: #e8eaf0;
  width: 19px;
  height: 19px;
  position: absolute;
  transform: rotate(45deg);
}

.ontology-wait-icon i:first-child {
  top: 0;
  left: 19px;
}

.ontology-wait-icon i:nth-child(2) {
  top: 19px;
  left: 0;
}

.ontology-wait-icon i:nth-child(3) {
  top: 19px;
  right: 0;
}

.ontology-wait-icon i:nth-child(4) {
  bottom: 0;
  left: 19px;
}

.graph-generation-placeholder > strong {
  color: #9aa0ab;
  letter-spacing: -.03em;
  font-size: clamp(18px, 2vw, 25px);
  font-weight: 500;
}

.knowledge-graph-toolbar {
  color: var(--muted);
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 10px 13px;
  font-size: 9px;
  display: flex;
}

.knowledge-graph-toolbar span {
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.knowledge-graph-svg {
  touch-action: none;
  cursor: grab;
  width: 100%;
  height: 560px;
  display: block;
}

.knowledge-graph-svg:active {
  cursor: grabbing;
}

.knowledge-node {
  cursor: grab;
}

.knowledge-node:active {
  cursor: grabbing;
}

.knowledge-node-label {
  fill: #3f3f46;
  pointer-events: none;
  font-size: 11px;
  font-weight: 700;
}

.knowledge-node-label.active {
  fill: #18181b;
  font-size: 12px;
}

.knowledge-node-type {
  fill: #9aa0ab;
  pointer-events: none;
  font-size: 8px;
}

.knowledge-edge-label {
  fill: #9aa0ab;
  text-anchor: middle;
  pointer-events: none;
  font-size: 7px;
}

.knowledge-graph-footer {
  border-top: 1px solid var(--line);
  color: var(--light);
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 10px 13px;
  font-size: 9px;
  display: flex;
}

.build-process-panel {
  background: #fafafa;
  gap: 10px;
  max-height: 620px;
  padding: 10px;
  display: grid;
  overflow-y: auto;
}

.build-step-card {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 9px;
  padding: 15px;
}

.build-step-card.active {
  border-color: #f97316;
}

.build-step-card.done {
  border-color: #bbf7d0;
}

.build-step-card.waiting {
  opacity: .72;
  border-color: #e8eaf0;
}

.build-step-header {
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  display: grid;
}

.build-step-number {
  color: var(--ink);
  letter-spacing: -.05em;
  font-size: 18px;
  font-weight: 800;
}

.build-step-header h3 {
  color: var(--ink);
  margin: 1px 0 3px;
  font-size: 15px;
}

.build-step-header small {
  color: var(--light);
  font-size: 9px;
}

.build-step-header > strong {
  color: #c2410c;
  background: #fff7ed;
}

.build-step-card.done .build-step-header > strong {
  color: #166534;
  background: #ecfdf3;
}

.build-step-card p {
  color: var(--muted);
  margin: 13px 0 0;
  font-size: 10px;
  line-height: 1.55;
}

.data-collection-activity {
  background: #fffaf5;
  border: 1px solid #fed7aa;
  border-radius: 7px;
  margin-top: 13px;
  padding: 10px;
}

.data-collection-activity > div {
  color: #9a3412;
  align-items: center;
  gap: 7px;
  display: flex;
}

.data-collection-activity strong {
  font-size: 9px;
  line-height: 1.45;
}

.data-collection-activity.complete {
  background: #f5fff7;
  border-color: #86efac;
}

.data-collection-activity.complete > div {
  color: #166534;
}

.build-chip-group {
  margin-top: 15px;
}

.build-chip-group > small, .build-seed-summary > small {
  color: var(--light);
  letter-spacing: .08em;
  margin-bottom: 7px;
  font-size: 8px;
  font-weight: 800;
  display: block;
}

.build-chip-group > div, .build-seed-summary > div {
  flex-wrap: wrap;
  gap: 5px;
  display: flex;
}

.build-chip-group span, .build-seed-summary span {
  color: var(--muted);
  background: var(--soft);
  border-radius: 5px;
  padding: 5px 7px;
  font-size: 8px;
}

.evidence-source-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin-top: 14px;
  display: grid;
}

.evidence-source-card {
  width: 100%;
  min-width: 0;
  min-height: 108px;
  color: inherit;
  font: inherit;
  text-align: left;
  background: #fafafa;
  border: 1px dashed #d4d4d8;
  border-radius: 8px;
  flex-direction: column;
  padding: 10px;
  display: flex;
}

.evidence-source-card:disabled {
  cursor: default;
}

.evidence-source-card.ready {
  cursor: pointer;
  transition: border-color .15s, box-shadow .15s, transform .15s;
}

.evidence-source-card.ready:hover {
  border-color: #22c55e;
  transform: translateY(-1px);
  box-shadow: 0 7px 16px #1665341a;
}

.evidence-source-card.ready:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #16a34a;
}

.evidence-source-card.collecting {
  background: #fffaf5;
  border-color: #fdba74;
}

.evidence-source-card.ready {
  background: #f5fff7;
  border-color: #86efac;
}

.evidence-source-card > div {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.evidence-source-card span {
  color: #9aa0ab;
  letter-spacing: .07em;
  font-size: 11px;
  font-weight: 800;
}

.evidence-source-card em {
  color: #9aa0ab;
  background: #f4f4f5;
  border-radius: 4px;
  padding: 4px 6px;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
}

.evidence-source-card.collecting em {
  color: #c2410c;
  background: #fff7ed;
}

.evidence-source-card.ready em {
  color: #166534;
  background: #dcfce7;
}

.evidence-source-card p {
  color: #9aa0ab;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  margin: 12px 0 0;
  font-size: 11px;
  line-height: 1.5;
  display: -webkit-box;
  overflow: hidden;
}

.evidence-source-card.ready p {
  color: #52525b;
}

.evidence-detail-link {
  color: #15803d;
  background: #fff;
  border: 1px solid #bbf7d0;
  border-radius: 999px;
  align-self: flex-end;
  align-items: center;
  gap: 1px;
  margin-top: auto;
  padding: 4px 6px;
  font-size: 9px;
  font-weight: 800;
  display: inline-flex;
}

.evidence-source-card.ready p {
  -webkit-line-clamp: 2;
}

.evidence-document-backdrop {
  z-index: 120;
  background: #18181b61;
  place-items: center;
  padding: 22px;
  display: grid;
  position: fixed;
  inset: 0;
}

.evidence-document-modal {
  background: #fff;
  border: 1px solid #d4d4d8;
  border-radius: 12px;
  flex-direction: column;
  width: min(900px, 100%);
  max-height: calc(100vh - 44px);
  display: flex;
  overflow: hidden;
  box-shadow: 0 24px 68px #18181b3d;
}

.evidence-document-modal header {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 20px 15px;
  display: flex;
}

.evidence-document-modal header > div {
  min-width: 0;
}

.evidence-document-modal header span {
  color: var(--light);
  letter-spacing: .1em;
  font-size: 8px;
  font-weight: 800;
}

.evidence-document-modal h3 {
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 5px 0 3px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 14px;
  overflow: hidden;
}

.evidence-document-modal header p {
  color: var(--muted);
  margin: 0;
  font-size: 9px;
}

.evidence-markdown {
  color: #3f3f46;
  overflow-wrap: anywhere;
  background: #fcfcfd;
  padding: 18px 22px 26px;
  font-size: 12px;
  line-height: 1.8;
  overflow: auto;
}

.evidence-markdown > :first-child {
  margin-top: 0;
}

.evidence-markdown > :last-child {
  margin-bottom: 0;
}

.evidence-markdown h1, .evidence-markdown h2, .evidence-markdown h3 {
  color: var(--ink);
  line-height: 1.35;
}

.evidence-markdown h1 {
  border-bottom: 1px solid var(--line);
  margin: 0 0 16px;
  padding-bottom: 10px;
  font-size: 20px;
}

.evidence-markdown h2 {
  margin: 27px 0 10px;
  font-size: 16px;
}

.evidence-markdown h3 {
  margin: 20px 0 7px;
  font-size: 13px;
}

.evidence-markdown p {
  margin: 8px 0;
}

.evidence-markdown ul, .evidence-markdown ol {
  gap: 5px;
  margin: 10px 0 16px;
  padding-left: 20px;
  display: grid;
}

.evidence-markdown li::marker {
  color: #0769ff;
  font-weight: 800;
}

.evidence-markdown strong {
  color: #18181b;
  font-weight: 800;
}

.evidence-markdown code {
  color: #334155;
  background: #e2e8f0;
  border-radius: 4px;
  padding: 2px 5px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .9em;
}

.evidence-markdown a {
  color: #0769ff;
  text-underline-offset: 2px;
  text-decoration: underline;
}

.evidence-markdown hr {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 22px 0;
}

.evidence-markdown-table-wrap {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  margin: 14px 0 19px;
  overflow-x: auto;
}

.evidence-markdown table {
  border-collapse: collapse;
  width: 100%;
  font-size: 11px;
}

.evidence-markdown th, .evidence-markdown td {
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  padding: 9px 10px;
}

.evidence-markdown th {
  color: #3f3f46;
  white-space: nowrap;
  background: #f4f4f5;
  font-weight: 800;
}

.evidence-markdown tr:last-child td {
  border-bottom: 0;
}

.build-progress-line {
  color: #c2410c;
  background: #fff7ed;
  border-radius: 7px;
  align-items: center;
  gap: 6px;
  margin-top: 13px;
  padding: 9px;
  font-size: 9px;
  display: flex;
}

.build-result-grid {
  text-align: center;
  background: #f7f8fa;
  border-radius: 8px;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  margin-top: 14px;
  padding: 14px 8px;
  display: grid;
}

.build-result-grid b {
  color: var(--ink);
  font-size: 22px;
  display: block;
}

.build-result-grid small {
  color: var(--light);
  margin-top: 3px;
  font-size: 8px;
  display: block;
}

.build-seed-summary {
  background: #fafafa;
  border-radius: 8px;
  margin-top: 14px;
  padding: 10px;
}

.build-seed-summary p {
  margin: 10px 0 0;
  font-size: 9px;
}

.build-continue-button {
  color: #fff;
  background: var(--ink);
  cursor: pointer;
  border: 0;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  width: 100%;
  height: 43px;
  margin-top: 14px;
  font-size: 10px;
  font-weight: 800;
  display: flex;
}

.build-continue-button:disabled {
  cursor: wait;
  opacity: .78;
}

.agent-profile-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
  display: grid;
}

.agent-profile-card {
  background: #fff;
  border: 1px solid #e8eaf0;
  border-radius: 8px;
  min-width: 0;
  padding: 10px;
}

.agent-profile-top {
  align-items: center;
  gap: 7px;
  display: flex;
}

.agent-profile-top > div {
  flex: 1;
  min-width: 0;
}

.agent-avatar {
  color: #fff;
  background: #52525b;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 26px;
  height: 26px;
  display: inline-flex;
}

.agent-profile-top strong {
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 9px;
  display: block;
  overflow: hidden;
}

.agent-profile-top small {
  color: var(--light);
  margin-top: 2px;
  font-size: 8px;
  display: block;
}

.agent-profile-top em {
  color: #166534;
  background: #ecfdf3;
  border-radius: 4px;
  padding: 4px 5px;
  font-size: 7px;
  font-style: normal;
  font-weight: 800;
}

.agent-profile-type {
  color: #3b82f6;
  background: #eff6ff;
  border-radius: 4px;
  margin-top: 8px;
  padding: 4px 6px;
  font-size: 8px;
  display: inline-block;
}

.agent-profile-card p {
  min-height: 44px;
  color: var(--muted);
  margin: 8px 0 7px;
  font-size: 8px;
  line-height: 1.5;
}

.agent-topic-row {
  flex-wrap: wrap;
  gap: 4px;
  display: flex;
}

.agent-topic-row span {
  color: #3b82f6;
  background: #eff6ff;
  border-radius: 999px;
  padding: 3px 5px;
  font-size: 7px;
}

.config-metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-top: 14px;
  display: grid;
}

.config-metric-grid > div {
  background: #f7f8fa;
  border-radius: 7px;
  padding: 9px;
}

.config-metric-grid span {
  color: #94a3b8;
  font-size: 8px;
  display: block;
}

.config-metric-grid b {
  color: #273247;
  margin-top: 6px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px;
  display: block;
}

.config-row-list {
  gap: 6px;
  margin-top: 8px;
  display: grid;
}

.config-row-list > div {
  background: #f7f8fa;
  border-radius: 7px;
  grid-template-columns: 100px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 8px 9px;
  display: grid;
}

.config-row-list strong {
  color: #64748b;
  font-size: 9px;
}

.config-row-list span {
  color: #475569;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 9px;
}

.config-row-list em {
  color: #5965e8;
  background: #eef2ff;
  border-radius: 5px;
  padding: 4px 6px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  font-style: normal;
  font-weight: 700;
}

.llm-reasoning {
  border-top: 1px solid var(--line);
  gap: 8px;
  margin-top: 14px;
  padding-top: 12px;
  display: grid;
}

.llm-reasoning > small, .narrative-guide > span, .hot-topic-row > small, .activation-sequence > small {
  color: #6b7280;
  letter-spacing: .08em;
  font-size: 8px;
  font-weight: 800;
}

.llm-reasoning p {
  color: var(--muted);
  background: #f7f8fa;
  border-radius: 7px;
  margin: 0;
  padding: 10px;
  font-size: 9px;
  line-height: 1.55;
}

.llm-reasoning strong {
  color: var(--ink);
}

.narrative-guide {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 9px;
  margin-top: 14px;
  padding: 13px;
}

.narrative-guide > span {
  color: #f97316;
  align-items: center;
  gap: 6px;
  display: flex;
}

.narrative-guide p {
  color: #394861;
  margin: 10px 0 0;
  font-size: 10px;
  line-height: 1.65;
}

.hot-topic-row {
  margin-top: 14px;
}

.hot-topic-row > div {
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
  display: flex;
}

.hot-topic-row span {
  color: #f97316;
  background: #fff7ed;
  border-radius: 999px;
  padding: 7px 9px;
  font-size: 9px;
}

.activation-sequence {
  border-top: 1px solid var(--line);
  gap: 6px;
  margin-top: 14px;
  padding-top: 12px;
  display: grid;
}

.activation-sequence > div {
  background: #f7f8fa;
  border-radius: 7px;
  grid-template-columns: 25px minmax(0, 1fr);
  gap: 8px;
  padding: 9px;
  display: grid;
}

.activation-sequence b {
  color: #9aa0ab;
  font-size: 9px;
}

.activation-sequence span {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.4;
}

.ready-rounds {
  background: #f7f8fa;
  border-radius: 8px;
  align-items: baseline;
  gap: 6px;
  margin-top: 15px;
  padding: 16px;
  display: flex;
}

.ready-rounds b {
  color: var(--ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 28px;
}

.ready-rounds span {
  color: var(--muted);
  font-size: 13px;
}

.ready-rounds em {
  border: 1px solid var(--line);
  color: var(--muted);
  background: #fff;
  border-radius: 5px;
  margin-left: auto;
  padding: 5px 7px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 9px;
  font-style: normal;
}

.simulation-ready-summary {
  background: #fffaf5;
  border: 1px solid #fed7aa;
  border-radius: 9px;
  grid-template-columns: minmax(0, 1fr) 205px;
  gap: 14px;
  margin-top: 16px;
  padding: 13px;
  display: grid;
}

.simulation-ready-summary.ready {
  background: #f5fff7;
  border-color: #86efac;
}

.simulation-ready-summary > div > span {
  color: #9aa0ab;
  letter-spacing: .08em;
  font-size: 8px;
  font-weight: 800;
  display: block;
}

.simulation-ready-summary.ready > div > span {
  color: #15803d;
}

.simulation-ready-summary strong {
  color: var(--ink);
  margin-top: 4px;
  font-size: 12px;
  display: block;
}

.simulation-ready-summary p {
  color: var(--muted);
  margin: 5px 0 0;
  font-size: 9px;
  line-height: 1.5;
}

.simulation-ready-action {
  align-content: center;
  gap: 7px;
  display: grid;
}

.simulation-ready-action .ready-rounds {
  margin: 0;
  padding: 8px 10px;
}

.simulation-ready-action .ready-rounds b {
  font-size: 20px;
}

.simulation-ready-action .ready-rounds span {
  font-size: 10px;
}

.simulation-ready-action .ready-rounds em {
  font-size: 8px;
}

.simulation-ready-action .build-continue-button {
  height: 35px;
  margin: 0;
}

.build-step-card.waiting .build-chip-group, .build-step-card.waiting .build-result-grid, .build-step-card.waiting .agent-profile-grid, .build-step-card.waiting .config-metric-grid, .build-step-card.waiting .config-row-list, .build-step-card.waiting .llm-reasoning, .build-step-card.waiting .narrative-guide, .build-step-card.waiting .hot-topic-row, .build-step-card.waiting .activation-sequence, .build-step-card.waiting .simulation-ready-summary {
  filter: grayscale();
}

.scenario-run-modal {
  width: min(1440px, 100%);
  height: min(900px, 100vh - 24px);
  max-height: calc(100vh - 24px);
  padding: 0;
  overflow: hidden;
}

.scenario-run-screen {
  background: #f8f8f9;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  display: flex;
}

.scenario-run-header {
  border-bottom: 1px solid var(--line);
  background: #fff;
  justify-content: space-between;
  align-items: flex-start;
  gap: 22px;
  padding: 21px 24px 18px;
  display: flex;
}

.scenario-run-header > div:first-child {
  min-width: 0;
}

.scenario-run-header > div:first-child > span {
  color: #d64c53;
  letter-spacing: .12em;
  font-size: 9px;
  font-weight: 900;
}

.scenario-run-header h2 {
  letter-spacing: -.04em;
  margin: 6px 0 5px;
  font-size: clamp(23px, 2.4vw, 31px);
}

.scenario-run-header p {
  max-width: 880px;
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 0;
  font-size: 11px;
  line-height: 1.5;
  overflow: hidden;
}

.scenario-run-header-actions {
  align-items: center;
  gap: 9px;
  display: flex;
}

.scenario-run-status {
  color: #9a3412;
  letter-spacing: .06em;
  white-space: nowrap;
  background: #fff7ed;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  font-size: 9px;
  font-weight: 900;
  display: inline-flex;
}

.scenario-run-status i {
  background: #f97316;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  animation: 1.8s ease-out infinite livePulse;
  box-shadow: 0 0 #f9731673;
}

.scenario-run-status.complete {
  color: #166534;
  background: #ecfdf3;
}

.scenario-run-status.failed {
  color: #b91c1c;
  background: #fef2f2;
}

@keyframes livePulse {
  70% {
    box-shadow: 0 0 0 7px #f9731600;
  }

  100% {
    box-shadow: 0 0 #f9731600;
  }
}

.scenario-run-overview {
  border-bottom: 1px solid var(--line);
  background: #fff;
  padding: 15px 24px 16px;
}

.scenario-run-progress-copy {
  color: var(--muted);
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font-size: 10px;
  display: flex;
}

.scenario-run-progress-copy strong {
  color: var(--ink);
  font-size: 13px;
}

.scenario-run-progress {
  background: #ececee;
  border-radius: 999px;
  height: 6px;
  margin-top: 8px;
  overflow: hidden;
}

.scenario-run-progress i {
  border-radius: inherit;
  background: linear-gradient(90deg, #f97316, #d64c53);
  height: 100%;
  transition: width .45s;
  display: block;
}

.scenario-run-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
  display: grid;
}

.scenario-run-metrics > div {
  background: #fafafa;
  border: 1px solid #ececef;
  border-radius: 8px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  min-width: 0;
  padding: 9px 11px;
  display: grid;
}

.scenario-run-metrics svg {
  color: #6d7380;
}

.scenario-run-metrics span {
  color: var(--light);
  letter-spacing: .07em;
  font-size: 8px;
  font-weight: 900;
}

.scenario-run-metrics strong {
  color: var(--ink);
  white-space: nowrap;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13px;
}

.scenario-run-metrics em {
  color: var(--light);
  font-size: 8px;
  font-style: normal;
  font-weight: 500;
}

.scenario-run-error {
  color: #b91c1c;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 7px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
  padding: 8px 10px;
  font-size: 9px;
  line-height: 1.5;
  display: flex;
}

.scenario-run-error span {
  min-width: 0;
}

.scenario-run-error button {
  color: #991b1b;
  cursor: pointer;
  background: #fff;
  border: 1px solid #fca5a5;
  border-radius: 6px;
  flex: none;
  justify-content: center;
  align-items: center;
  gap: 5px;
  min-height: 28px;
  padding: 5px 9px;
  font-family: inherit;
  font-size: 8px;
  font-weight: 800;
  display: inline-flex;
}

.scenario-run-error button:disabled {
  cursor: wait;
  opacity: .6;
}

.scenario-run-grid {
  flex: 1;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  gap: 14px;
  min-height: 0;
  padding: 14px 24px;
  display: grid;
}

.scenario-action-panel, .scenario-chat-panel {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 11px;
  flex-direction: column;
  min-height: 0;
  display: flex;
  overflow: hidden;
}

.scenario-run-panel-heading {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-height: 45px;
  padding: 11px 14px;
  display: flex;
}

.scenario-run-panel-heading > div {
  color: var(--ink);
  align-items: center;
  gap: 7px;
  display: flex;
}

.scenario-run-panel-heading > div svg {
  color: #d64c53;
}

.scenario-run-panel-heading span {
  letter-spacing: .08em;
  font-size: 9px;
  font-weight: 900;
}

.scenario-run-panel-heading em {
  color: var(--light);
  font-size: 8px;
  font-style: normal;
  font-weight: 800;
}

.scenario-action-stream {
  flex: 1;
  min-height: 0;
  padding: 5px 14px 12px;
  overflow-y: auto;
}

.scenario-action-item {
  border-bottom: 1px solid #f0f0f1;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  padding: 12px 0;
  display: grid;
}

.scenario-action-avatar {
  color: #0769ff;
  background: #eff6ff;
  border-radius: 50%;
  place-items: center;
  width: 34px;
  height: 34px;
  display: grid;
}

.scenario-action-avatar.reddit {
  color: #ea580c;
  background: #fff7ed;
}

.scenario-action-body {
  min-width: 0;
}

.scenario-action-body > div {
  align-items: center;
  gap: 7px;
  display: flex;
}

.scenario-action-body strong {
  min-width: 0;
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 10px;
  overflow: hidden;
}

.scenario-action-body > div span {
  color: #64748b;
  white-space: nowrap;
  background: #f1f5f9;
  border-radius: 4px;
  padding: 3px 5px;
  font-size: 7px;
}

.scenario-action-body time {
  color: #9aa0ab;
  white-space: nowrap;
  margin-left: auto;
  font-size: 8px;
}

.scenario-action-body p {
  color: #52525b;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  margin: 6px 0;
  font-size: 10px;
  line-height: 1.5;
  display: -webkit-box;
  overflow: hidden;
}

.scenario-action-body footer {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.scenario-action-body footer span {
  color: #d64c53;
  font-size: 8px;
  font-weight: 800;
}

.scenario-action-body footer em {
  color: #9aa0ab;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  font-style: normal;
}

.scenario-action-empty {
  height: 100%;
  min-height: 240px;
  color: var(--light);
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 28px;
  display: flex;
}

.scenario-action-empty > span {
  color: #f97316;
  background: #fff7ed;
  border-radius: 50%;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-bottom: 11px;
  display: grid;
}

.scenario-action-empty strong {
  color: #52525b;
  font-size: 12px;
}

.scenario-action-empty p {
  max-width: 310px;
  margin: 6px 0 0;
  font-size: 9px;
  line-height: 1.55;
}

.scenario-chat-conversation {
  background: #fcfcfd;
  flex: 1;
  min-height: 0;
}

.scenario-chat-content {
  gap: 13px;
  padding: 14px;
}

.scenario-chat-message {
  gap: 4px;
  max-width: 96%;
}

.scenario-chat-message.user {
  margin-left: auto;
}

.scenario-chat-message .scenario-chat-assistant, .scenario-chat-message .scenario-chat-user {
  border-radius: 9px;
  width: auto;
  max-width: 100%;
  padding: 10px 12px;
  font-family: Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: 10px;
  line-height: 1.65;
}

.scenario-chat-message .scenario-chat-assistant {
  background: #fff;
  border: 1px solid #e8eaf0;
  width: 100%;
}

.scenario-chat-message .scenario-chat-user {
  color: #fff;
  background: #18181b;
  margin-left: auto;
}

.scenario-chat-message .scenario-chat-user p {
  margin: 0;
}

.scenario-chat-message .scenario-chat-assistant :where(p, ul, ol) {
  margin-top: 5px;
  margin-bottom: 5px;
}

.scenario-chat-message .scenario-chat-assistant :where(ul, ol) {
  padding-left: 18px;
}

.scenario-chat-thinking {
  color: var(--muted);
  background: #fff;
  border: 1px solid #e8eaf0;
  border-radius: 9px;
  align-items: center;
  gap: 7px;
  padding: 10px 12px;
  font-size: 10px;
  display: flex;
}

.scenario-chat-sources {
  border-top: 1px solid #f0f0f1;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 8px;
  padding-top: 7px;
  display: flex;
}

.scenario-chat-sources span {
  color: #166534;
  background: #ecfdf3;
  border-radius: 4px;
  padding: 3px 5px;
  font-size: 7px;
  font-weight: 700;
}

.scenario-chat-scroll {
  width: 30px;
  height: 30px;
  bottom: 10px;
}

.scenario-chat-suggestions {
  border-top: 1px solid var(--line);
  background: #fff;
  flex-wrap: wrap;
  gap: 5px;
  padding: 9px 12px 0;
  display: flex;
}

.scenario-chat-suggestions button {
  color: #52525b;
  cursor: pointer;
  background: #fafafa;
  border: 1px solid #e8eaf0;
  border-radius: 999px;
  padding: 6px 8px;
  font-family: inherit;
  font-size: 8px;
}

.scenario-chat-suggestions button:hover:not(:disabled) {
  color: var(--ink);
  background: #fff;
  border-color: #9aa0ab;
}

.scenario-chat-suggestions button:disabled {
  cursor: wait;
  opacity: .55;
}

.scenario-chat-error {
  color: #b91c1c;
  background: #fef2f2;
  border-radius: 6px;
  margin: 8px 12px 0;
  padding: 7px 9px;
  font-size: 8px;
  line-height: 1.45;
}

.scenario-chat-form {
  background: #fff;
  border: 1px solid #d4d4d8;
  border-radius: 10px;
  grid-template-columns: minmax(0, 1fr) 38px;
  align-items: end;
  gap: 7px;
  margin: 9px 12px 0;
  padding: 7px;
  display: grid;
}

.scenario-chat-form:focus-within {
  border-color: #6d7380;
  box-shadow: 0 0 0 3px #18181b0f;
}

.scenario-chat-form textarea {
  resize: none;
  min-height: 38px;
  max-height: 96px;
  color: var(--ink);
  background: none;
  border: 0;
  outline: 0;
  padding: 5px 6px;
  font-family: inherit;
  font-size: 10px;
  line-height: 1.5;
}

.scenario-chat-form textarea::placeholder {
  color: #9aa0ab;
}

.scenario-chat-form button {
  color: #fff;
  cursor: pointer;
  background: #18181b;
  border: 0;
  border-radius: 8px;
  place-items: center;
  width: 38px;
  height: 38px;
  display: grid;
}

.scenario-chat-form button:disabled {
  color: #9aa0ab;
  cursor: default;
  background: #e8eaf0;
}

.scenario-chat-note {
  color: #9aa0ab;
  text-align: center;
  margin: 7px 12px 11px;
  font-size: 7px;
}

.scenario-run-footer {
  border-top: 1px solid var(--line);
  color: #9aa0ab;
  background: #fff;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 9px 24px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  display: flex;
}

.spin {
  animation: 1s linear infinite spin;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.paper-trading-modal {
  width: min(1320px, 100%);
  padding: 0;
  overflow: hidden;
}

.paper-trading-modal.setup {
  width: min(720px, 100%);
  max-height: calc(100vh - 40px);
  overflow-y: auto;
}

.paper-trading-modal.running {
  height: min(1020px, 100vh - 24px);
  max-height: calc(100vh - 24px);
  overflow-y: auto;
}

.paper-setup {
  flex-direction: column;
  gap: 20px;
  padding: 26px 28px 28px;
  display: flex;
}

.paper-setup-reveal {
  animation: .28s ease-out both paperStepReveal;
}

.paper-setup-focus-space {
  pointer-events: none;
  flex: none;
  height: clamp(160px, 36vh, 280px);
  min-height: clamp(160px, 36vh, 280px);
}

@keyframes paperStepReveal {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.paper-setup-header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  display: flex;
}

.paper-setup-header > div:first-child {
  min-width: 0;
}

.paper-setup-header > div:first-child > span {
  color: #d64c53;
  letter-spacing: .12em;
  font-size: 9px;
  font-weight: 900;
}

.paper-setup-header h2 {
  color: var(--ink);
  letter-spacing: -.03em;
  margin: 7px 0 6px;
  font-size: clamp(21px, 2.2vw, 27px);
}

.paper-setup-header p {
  color: var(--muted);
  margin: 0;
  font-size: 11px;
  line-height: 1.55;
}

.paper-setup-block {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.paper-setup-heading > span {
  color: var(--light);
  letter-spacing: .1em;
  font-size: 9px;
  font-weight: 900;
}

.paper-setup-heading h3 {
  color: var(--ink);
  margin: 5px 0 0;
  font-size: 14px;
}

.paper-search {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 10px;
  align-items: center;
  gap: 9px;
  padding: 0 12px;
  display: flex;
}

.paper-search:focus-within {
  border-color: #9aa0ab;
}

.paper-search svg {
  color: var(--muted);
  flex: none;
}

.paper-search input {
  background: none;
  border: 0;
  outline: none;
  width: 100%;
  height: 44px;
  font-family: inherit;
  font-size: 13px;
}

.paper-security-quick-pick {
  border: 1px solid var(--line);
  background: #fafafa;
  border-radius: 10px;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  display: flex;
}

.paper-security-quick-pick-heading {
  flex-direction: column;
  flex: none;
  gap: 2px;
  min-width: 76px;
  display: flex;
}

.paper-security-quick-pick-heading span {
  color: var(--ink);
  font-size: 10px;
  font-weight: 850;
}

.paper-security-quick-pick-heading small {
  color: var(--light);
  font-size: 8px;
}

.paper-security-quick-pick-options {
  flex: 1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  min-width: 0;
  display: grid;
}

.paper-security-quick-pick-options button {
  min-width: 0;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  background: #fff;
  border: 1px solid #e8eaf0;
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  font-family: inherit;
  display: flex;
}

.paper-security-quick-pick-options button:hover {
  border-color: #9aa0ab;
}

.paper-security-quick-pick-options button.active {
  border-color: var(--ink);
  background: #f4f4f5;
}

.paper-security-quick-pick-options button > div {
  align-items: baseline;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.paper-security-quick-pick-options strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  overflow: hidden;
}

.paper-security-quick-pick-options small {
  color: var(--light);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 9px;
}

.paper-security-quick-pick-options button > span {
  color: var(--light);
  flex: none;
  align-items: center;
  gap: 3px;
  font-size: 8px;
  font-weight: 750;
  display: inline-flex;
}

.paper-security-quick-pick-options button.active > span {
  color: var(--ink);
}

.paper-search-results {
  border: 1px solid var(--line);
  background: #fafafa;
  border-radius: 10px;
  gap: 4px;
  max-height: 208px;
  padding: 6px;
  display: grid;
  overflow-y: auto;
}

.paper-search-results button {
  text-align: left;
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 8px;
  align-items: center;
  gap: 9px;
  padding: 9px 10px;
  display: flex;
}

.paper-search-results button:hover {
  border-color: var(--line);
  background: #fff;
}

.paper-search-results button.picked {
  border-color: var(--ink);
  background: #fff;
}

.paper-search-results strong {
  color: var(--ink);
  font-size: 12px;
}

.paper-search-results em {
  color: var(--muted);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
  font-style: normal;
}

.paper-search-results span {
  color: #64748b;
  background: #f1f5f9;
  border-radius: 5px;
  margin-left: auto;
  padding: 3px 6px;
  font-size: 8px;
}

.paper-picked {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 9px;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  display: flex;
}

.paper-picked svg {
  color: #16a34a;
}

.paper-picked strong {
  color: var(--ink);
  font-size: 13px;
}

.paper-picked span {
  color: var(--muted);
  margin-left: 7px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
}

.paper-picked em {
  color: #15803d;
  margin-left: auto;
  font-size: 9px;
  font-style: normal;
  font-weight: 700;
}

.paper-security-preview {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}

.paper-security-preview > header {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 13px;
  display: flex;
}

.paper-security-preview > header > div {
  color: var(--ink);
  align-items: center;
  gap: 7px;
  display: flex;
}

.paper-security-preview > header svg {
  color: #d64c53;
}

.paper-security-preview > header strong {
  font-size: 11px;
}

.paper-security-preview > header > span {
  color: var(--light);
  font-size: 9px;
}

.paper-security-preview .paper-chart {
  padding: 9px 13px 8px;
}

.paper-security-preview .paper-chart-svg {
  flex: 0 0 160px;
  min-height: 160px;
}

.paper-security-preview-loading, .paper-security-preview-empty {
  min-height: 160px;
  color: var(--light);
  justify-content: center;
  align-items: center;
  gap: 7px;
  font-size: 10px;
  display: flex;
}

.paper-security-preview .paper-inline-error {
  padding: 14px;
}

.paper-premise {
  border: 1px solid var(--line);
  width: 100%;
  color: var(--text);
  resize: vertical;
  background: #fff;
  border-radius: 10px;
  outline: none;
  padding: 13px 14px;
  font-family: inherit;
  font-size: 12px;
  line-height: 1.6;
}

.paper-premise:focus {
  border-color: #9aa0ab;
}

.paper-hint {
  color: var(--muted);
  align-items: center;
  gap: 6px;
  font-size: 10px;
  display: flex;
}

.paper-hint svg {
  color: var(--ink);
}

.paper-setting-row {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 10px;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 12px 14px;
  display: flex;
}

.paper-setting-row > div:first-child span {
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  display: block;
}

.paper-setting-row > div:first-child small {
  color: var(--light);
  font-size: 9px;
}

.paper-option-group {
  gap: 5px;
  display: flex;
}

.paper-option-group button {
  border: 1px solid var(--line);
  min-width: 58px;
  height: 34px;
  color: var(--muted);
  cursor: pointer;
  background: #fafafa;
  border-radius: 8px;
  padding: 0 11px;
  font-family: inherit;
  font-size: 11px;
  font-weight: 650;
}

.paper-option-group button.active {
  border-color: var(--ink);
  color: #fff;
  background: var(--ink);
}

.paper-investment-mode {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  display: grid;
}

.paper-investment-mode button {
  border: 1px solid var(--line);
  min-width: 0;
  color: var(--muted);
  text-align: left;
  cursor: pointer;
  background: #fafafa;
  border-radius: 10px;
  align-items: center;
  gap: 10px;
  padding: 13px 14px;
  font-family: inherit;
  display: flex;
}

.paper-investment-mode button.active {
  border-color: var(--ink);
  color: var(--ink);
  box-shadow: inset 0 0 0 1px var(--ink);
  background: #fff;
}

.paper-investment-mode button > span {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.paper-investment-mode strong {
  font-size: 11px;
}

.paper-investment-mode small {
  color: var(--light);
  font-size: 9px;
}

.paper-money-panel {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 10px;
  grid-template-columns: minmax(120px, .7fr) minmax(180px, 1fr);
  align-items: center;
  gap: 10px 18px;
  width: 100%;
  padding: 14px;
  display: grid;
}

.paper-money-panel > label {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.paper-money-panel > label span, .paper-holding-inputs label > span, .paper-simulation-label span {
  color: var(--ink);
  font-size: 11px;
  font-weight: 750;
}

.paper-money-panel > label small, .paper-simulation-label small {
  color: var(--light);
  font-size: 9px;
}

.paper-money-input {
  background: #fafafa;
  border: 1px solid #d4d4d8;
  border-radius: 9px;
  align-items: center;
  gap: 7px;
  min-width: 0;
  padding: 0 12px;
  display: flex;
}

.paper-money-input:focus-within {
  border-color: var(--ink);
  background: #fff;
}

.paper-money-input input {
  width: 100%;
  min-width: 0;
  height: 40px;
  color: var(--ink);
  text-align: right;
  background: none;
  border: 0;
  outline: 0;
  font-family: inherit;
  font-size: 16px;
  font-weight: 800;
}

.paper-money-input span {
  color: var(--muted);
  font-size: 10px;
}

.paper-money-presets {
  grid-column: 2;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  display: grid;
}

.paper-money-presets button {
  border: 1px solid var(--line);
  min-width: 0;
  color: var(--muted);
  cursor: pointer;
  background: #fafafa;
  border-radius: 7px;
  padding: 7px 4px;
  font-family: inherit;
  font-size: 9px;
}

.paper-money-presets button.active {
  border-color: var(--ink);
  color: var(--ink);
  background: #f4f4f5;
  font-weight: 750;
}

.paper-holding-inputs {
  background: #f8fbff;
  border: 1px solid #dbeafe;
  border-radius: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 12px 14px;
  display: grid;
}

.paper-holding-inputs label {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.paper-holding-inputs label > div {
  background: #fff;
  border: 1px solid #d4d4d8;
  border-radius: 8px;
  align-items: center;
  gap: 5px;
  min-width: 0;
  padding: 0 9px;
  display: flex;
}

.paper-holding-inputs input {
  text-align: right;
  background: none;
  border: 0;
  outline: 0;
  width: 100%;
  min-width: 0;
  height: 35px;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
}

.paper-holding-inputs em {
  color: var(--light);
  font-size: 9px;
  font-style: normal;
}

.paper-setting-note {
  color: #15803d;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 9px;
  display: flex;
}

.paper-investment-actions {
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  display: flex;
}

.paper-simulation-field {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 10px;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  padding: 13px 14px;
  display: flex;
}

.paper-setup-block:has(.paper-context-field) > .paper-setup-heading {
  order: 0;
}

.paper-setup-block:has(.paper-context-field) > .paper-context-field {
  order: 1;
}

.paper-setup-block:has(.paper-context-field) > .paper-agent-field {
  order: 2;
}

.paper-context-field {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 10px;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  display: flex;
}

.paper-context-loading {
  min-height: 62px;
  color: var(--muted);
  align-items: center;
  gap: 7px;
  font-size: 10px;
  display: flex;
}

.paper-context-documents {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.paper-context-document {
  min-width: 0;
  min-height: 132px;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 9px;
  align-items: flex-start;
  gap: 9px;
  padding: 13px;
  display: flex;
}

.paper-context-document:disabled {
  cursor: default;
}

.paper-context-document > svg {
  color: #9aa0ab;
  flex: none;
}

.paper-context-document.generating {
  background: #eff6ff;
  border-color: #93c5fd;
}

.paper-context-document.generating > svg {
  color: #0769ff;
}

.paper-context-document.ready {
  border-color: #bbf7d0;
}

.paper-context-document.ready > svg {
  color: #16a34a;
}

.paper-context-document-body {
  flex-direction: column;
  flex: 1;
  gap: 7px;
  min-width: 0;
  display: flex;
}

.paper-context-document-body header {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.paper-context-document strong {
  color: var(--ink);
  font-size: 11px;
}

.paper-context-document small {
  color: var(--muted);
  font-size: 8px;
}

.paper-context-document p {
  min-height: 58px;
  color: var(--muted);
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  margin: 0;
  font-size: 9px;
  line-height: 1.65;
  display: -webkit-box;
  overflow: hidden;
}

.paper-context-document-link {
  color: var(--ink);
  align-self: flex-start;
  align-items: center;
  gap: 4px;
  font-size: 8px;
  font-weight: 700;
  display: inline-flex;
}

.paper-context-document:hover:not(:disabled) {
  border-color: #86efac;
  box-shadow: 0 5px 16px #16a34a14;
}

.paper-document-loading {
  z-index: 30;
  border: 1px solid var(--line);
  color: var(--muted);
  background: #fff;
  border-radius: 8px;
  align-items: center;
  gap: 7px;
  padding: 10px 12px;
  font-size: 9px;
  display: flex;
  position: fixed;
  bottom: 24px;
  right: 24px;
  box-shadow: 0 10px 30px #0000001f;
}

.paper-document-backdrop {
  z-index: 40;
  background: #11111394;
  place-items: center;
  padding: 28px;
  display: grid;
  position: fixed;
  inset: 0;
}

.paper-document-modal {
  background: #fff;
  border: 1px solid #ffffffb8;
  border-radius: 16px;
  flex-direction: column;
  width: min(980px, 100%);
  height: min(760px, 100vh - 56px);
  display: flex;
  overflow: hidden;
  box-shadow: 0 28px 90px #00000047;
}

.paper-document-modal > header {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  padding: 24px 28px 20px;
  display: flex;
}

.paper-document-modal > header span {
  color: var(--light);
  letter-spacing: .12em;
  font-size: 9px;
  font-weight: 800;
}

.paper-document-modal h3 {
  color: var(--ink);
  margin: 7px 0 5px;
  font-size: 17px;
}

.paper-document-modal > header p {
  color: var(--muted);
  margin: 0;
  font-size: 10px;
}

.paper-document-modal pre {
  color: #3f3f46;
  white-space: pre-wrap;
  background: #fff;
  flex: 1;
  margin: 0;
  padding: 24px 28px 34px;
  font-family: inherit;
  font-size: 10px;
  line-height: 1.75;
  overflow: auto;
}

.paper-context-summary {
  border: 1px solid var(--line);
  color: var(--muted);
  background: #fff;
  border-radius: 8px;
  flex-direction: column;
  gap: 8px;
  padding: 12px 13px;
  display: flex;
}

.paper-context-summary h4 {
  color: var(--ink);
  margin: 0;
  font-size: 11px;
}

.paper-context-summary ul {
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.paper-context-summary li {
  padding-left: 9px;
  font-size: 10px;
  line-height: 1.55;
  position: relative;
}

.paper-context-summary li:before {
  color: var(--light);
  content: "-";
  position: absolute;
  left: 0;
}

.paper-event-sequence {
  border: 1px solid var(--line);
  background: #fafafa;
  border-radius: 9px;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
  display: flex;
}

.paper-event-sequence > header {
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  display: flex;
}

.paper-event-sequence > header strong {
  color: var(--ink);
  font-size: 11px;
}

.paper-event-sequence > header small, .paper-event-sequence-note {
  color: var(--light);
  font-size: 8px;
}

.paper-event-sequence ol {
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0 0 0 19px;
  list-style: none;
  display: flex;
  position: relative;
}

.paper-event-sequence ol:before {
  content: "";
  background: #d4d4d8;
  width: 1px;
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 5px;
}

.paper-event-sequence li {
  position: relative;
}

.paper-event-sequence-dot {
  z-index: 1;
  background: #6d7380;
  border: 2px solid #fff;
  border-radius: 999px;
  width: 8px;
  height: 8px;
  position: absolute;
  top: 12px;
  left: -18px;
  box-shadow: 0 0 0 1px #d4d4d8;
}

.paper-event-sequence-dot.observed {
  background: #16a34a;
  box-shadow: 0 0 0 1px #86efac;
}

.paper-event-sequence li article {
  background: #fff;
  border: 1px solid #e8eaf0;
  border-radius: 8px;
  flex-direction: column;
  gap: 5px;
  padding: 10px 11px;
  display: flex;
}

.paper-event-sequence li article > header {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.paper-event-sequence li article header div {
  align-items: center;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.paper-event-sequence time {
  color: var(--light);
  font-size: 8px;
}

.paper-event-sequence em {
  color: #0769ff;
  background: #eff6ff;
  border-radius: 999px;
  padding: 2px 5px;
  font-size: 8px;
  font-style: normal;
}

.paper-event-sequence li article header > small {
  color: var(--light);
  font-size: 8px;
}

.paper-event-sequence li article > strong {
  color: var(--ink);
  font-size: 10px;
  line-height: 1.45;
}

.paper-event-sequence li article > p {
  color: var(--muted);
  margin: 0;
  font-size: 9px;
  line-height: 1.55;
}

.paper-event-sequence li footer {
  border-top: 1px solid #f1f1f2;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 7px;
  padding-top: 6px;
  display: grid;
}

.paper-event-sequence li footer span {
  color: var(--light);
  font-size: 8px;
}

.paper-event-sequence li footer p {
  color: var(--muted);
  margin: 0;
  font-size: 8px;
  line-height: 1.45;
}

.paper-event-sequence-empty {
  color: var(--muted);
  background: #fff;
  border-radius: 7px;
  margin: 0;
  padding: 9px 10px;
  font-size: 9px;
}

.paper-context-points {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  display: grid;
}

.paper-context-points div {
  background: #fff;
  border-radius: 8px;
  flex-direction: column;
  gap: 4px;
  padding: 9px 10px;
  display: flex;
}

.paper-context-points strong {
  color: var(--ink);
  font-size: 9px;
}

.paper-context-points span {
  color: var(--muted);
  font-size: 8px;
  line-height: 1.45;
}

.paper-context-source {
  color: var(--light);
  font-size: 8px;
}

.paper-simulation-label {
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  display: flex;
}

.paper-duration-options {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  display: grid;
}

.paper-duration-options button {
  border: 1px solid var(--line);
  min-width: 0;
  color: var(--muted);
  text-align: left;
  cursor: pointer;
  background: #fafafa;
  border-radius: 8px;
  justify-content: space-between;
  align-items: baseline;
  gap: 4px;
  padding: 10px;
  font-family: inherit;
  display: flex;
}

.paper-duration-options button.active {
  border-color: var(--ink);
  color: var(--ink);
  box-shadow: inset 0 0 0 1px var(--ink);
  background: #f4f4f5;
}

.paper-duration-options strong {
  font-size: 10px;
}

.paper-duration-options small {
  color: var(--light);
  font-size: 8px;
}

.paper-agent-field {
  border: 1px solid var(--line);
  background: #fafafa;
  border-radius: 10px;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  padding: 13px 14px 14px;
  display: flex;
}

.paper-agent-progress {
  color: #475569;
  background: #fff;
  border: 1px dashed #cbd5e1;
  border-radius: 9px;
  align-items: center;
  gap: 10px;
  min-height: 112px;
  padding: 16px;
  display: flex;
}

.paper-agent-progress > svg {
  color: #0769ff;
  flex: none;
}

.paper-agent-progress > div {
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  display: flex;
}

.paper-agent-progress strong {
  color: var(--ink);
  font-size: 10px;
  line-height: 1.5;
}

.paper-agent-progress span {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.55;
}

.paper-agent-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  display: grid;
}

.paper-agent-card {
  cursor: pointer;
  background: #fff;
  border: 1px solid #e8eaf0;
  border-radius: 9px;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  padding: 12px;
  transition: border-color .16s, box-shadow .16s, transform .16s;
  display: flex;
}

.paper-agent-card:hover {
  border-color: #9aa0ab;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px #18181b12;
}

.paper-agent-card:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #0769ff;
}

.paper-agent-card > header {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.paper-agent-title {
  color: var(--ink);
  align-items: center;
  gap: 7px;
  display: flex;
}

.paper-agent-title svg {
  color: #6366f1;
}

.paper-agent-card.retail .paper-agent-title svg {
  color: #16a34a;
}

.paper-agent-card.foreign .paper-agent-title svg {
  color: #0769ff;
}

.paper-agent-card.institution .paper-agent-title svg {
  color: #d97706;
}

.paper-agent-card.pension .paper-agent-title svg {
  color: #7c3aed;
}

.paper-agent-title strong {
  font-size: 11px;
}

.paper-agent-card > header > b {
  color: var(--muted);
  background: #f4f4f5;
  border-radius: 999px;
  padding: 4px 7px;
  font-size: 9px;
}

.paper-agent-card > p {
  min-height: 30px;
  color: var(--muted);
  margin: 0;
  font-size: 9px;
  line-height: 1.45;
}

.paper-agent-tags {
  flex-wrap: wrap;
  gap: 4px;
  display: flex;
}

.paper-agent-tags span {
  color: #52525b;
  background: #f4f4f5;
  border-radius: 999px;
  padding: 3px 6px;
  font-size: 8px;
}

.paper-agent-metrics {
  border-top: 1px solid #f0f0f2;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: auto 0 0;
  padding-top: 8px;
  display: grid;
}

.paper-agent-card-link {
  color: #3f3f46;
  align-items: center;
  gap: 4px;
  font-size: 8px;
  font-weight: 800;
  display: inline-flex;
}

.paper-agent-modal {
  background: #fff;
  border: 1px solid #ffffffb8;
  border-radius: 16px;
  flex-direction: column;
  width: min(1060px, 100%);
  height: min(790px, 100vh - 56px);
  display: flex;
  overflow: hidden;
  box-shadow: 0 28px 90px #00000047;
}

.paper-agent-modal > header {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  padding: 24px 28px 20px;
  display: flex;
}

.paper-agent-modal > header span {
  color: var(--light);
  letter-spacing: .12em;
  font-size: 9px;
  font-weight: 800;
}

.paper-agent-modal h3 {
  color: var(--ink);
  margin: 7px 0 5px;
  font-size: 17px;
}

.paper-agent-modal > header p {
  color: var(--muted);
  margin: 0;
  font-size: 10px;
}

.paper-agent-modal-loading {
  color: var(--muted);
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 30px;
  font-size: 11px;
  display: flex;
}

.paper-agent-profile-list {
  background: #fafafa;
  flex: 1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 10px;
  padding: 18px 22px 28px;
  display: grid;
  overflow: auto;
}

.paper-agent-profile-detail {
  background: #fff;
  border: 1px solid #e8eaf0;
  border-radius: 10px;
  flex-direction: column;
  gap: 10px;
  padding: 15px;
  display: flex;
}

.paper-agent-profile-detail > header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.paper-agent-profile-detail small {
  color: #9aa0ab;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
}

.paper-agent-profile-detail h4 {
  color: var(--ink);
  margin: 4px 0 3px;
  font-size: 13px;
}

.paper-agent-profile-detail header p {
  color: var(--muted);
  margin: 0;
  font-size: 9px;
  line-height: 1.45;
}

.paper-agent-stance {
  color: #52525b;
  background: #f4f4f5;
  border-radius: 999px;
  flex: none;
  padding: 4px 6px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  font-weight: 800;
}

.paper-agent-stance.bullish {
  color: #15803d;
  background: #ecfdf3;
}

.paper-agent-stance.bearish {
  color: #b91c1c;
  background: #fef2f2;
}

.paper-agent-stance.mixed {
  color: #a16207;
  background: #fffbeb;
}

.paper-agent-thesis {
  color: #3f3f46;
  min-height: 40px;
  margin: 0;
  font-size: 10px;
  line-height: 1.6;
}

.paper-agent-profile-detail dl {
  border-top: 1px solid #f0f0f2;
  border-bottom: 1px solid #f0f0f2;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin: 0;
  padding: 9px 0;
  display: grid;
}

.paper-agent-profile-detail dt {
  color: #9aa0ab;
  font-size: 8px;
}

.paper-agent-profile-detail dd {
  color: var(--ink);
  margin: 4px 0 0;
  font-size: 9px;
  font-weight: 800;
}

.paper-agent-profile-signals {
  flex-direction: column;
  gap: 5px;
  display: flex;
}

.paper-agent-profile-signals strong, .paper-agent-rule b {
  color: #6d7380;
  font-size: 8px;
}

.paper-agent-profile-signals div {
  flex-wrap: wrap;
  gap: 4px;
  display: flex;
}

.paper-agent-profile-signals span {
  color: #1d4ed8;
  background: #eff6ff;
  border-radius: 999px;
  padding: 3px 5px;
  font-size: 8px;
}

.paper-agent-rule {
  color: var(--muted);
  grid-template-columns: 50px minmax(0, 1fr);
  gap: 7px;
  margin: 0;
  font-size: 9px;
  line-height: 1.5;
  display: grid;
}

.paper-agent-metrics div {
  min-width: 0;
}

.paper-agent-metrics dt {
  color: var(--light);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 8px;
  overflow: hidden;
}

.paper-agent-metrics dd {
  color: var(--ink);
  margin: 3px 0 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
  font-weight: 750;
}

.paper-start-button {
  color: #fff;
  background: var(--ink);
  cursor: pointer;
  border: 0;
  border-radius: 11px;
  justify-content: center;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-height: 52px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 750;
  display: inline-flex;
}

.paper-investment-confirm-button {
  border-radius: 9px;
  align-self: flex-end;
  width: auto;
  min-height: 38px;
  padding: 0 17px;
  font-size: 11px;
}

.paper-start-button:disabled {
  cursor: not-allowed;
  opacity: .45;
}

.paper-start-note {
  color: var(--light);
  text-align: center;
  margin: -10px 0 0;
  font-size: 10px;
}

.paper-ready-block {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 11px;
  flex-direction: column;
  gap: 13px;
  padding: 18px;
  display: flex;
}

.paper-ready-duration {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.paper-ready-duration-head {
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  display: flex;
}

.paper-ready-duration-head strong {
  color: var(--ink);
  font-size: 12px;
}

.paper-ready-duration-head small {
  color: var(--light);
  font-size: 9px;
}

.paper-ready-block .paper-duration-options button {
  min-height: 58px;
  padding: 11px 13px;
}

.paper-ready-block .paper-duration-options strong {
  font-size: 11px;
}

.paper-ready-block .paper-duration-options small {
  font-size: 9px;
}

.paper-ready-hint {
  color: var(--muted);
  border-top: 1px solid #f0f0f2;
  align-items: flex-start;
  gap: 7px;
  padding-top: 11px;
  font-size: 10px;
  line-height: 1.55;
  display: flex;
}

.paper-ready-hint svg {
  color: var(--ink);
  flex: none;
  margin-top: 1px;
}

.paper-ready-hint > div {
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.paper-ready-hint span {
  display: block;
}

.paper-ready-actions {
  grid-template-columns: minmax(150px, .48fr) minmax(0, 1fr);
  gap: 9px;
  display: grid;
}

.paper-ready-actions .paper-start-button, .paper-ready-actions .paper-reset-button {
  min-height: 50px;
}

.paper-reset-button {
  border: 1px solid var(--line);
  color: var(--ink);
  cursor: pointer;
  background: #f4f4f5;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  font-family: inherit;
  font-size: 11px;
  font-weight: 750;
  display: inline-flex;
}

.paper-reset-button:hover:not(:disabled) {
  background: #e8eaf0;
  border-color: #9aa0ab;
}

.paper-reset-button:disabled {
  cursor: wait;
  opacity: .55;
}

.paper-error {
  color: #b91c1c;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  align-items: center;
  gap: 7px;
  margin: 0;
  padding: 10px 12px;
  font-size: 10px;
  display: flex;
}

.paper-inline-error {
  color: #b91c1c;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 10px;
  display: flex;
}

.paper-inline-error button {
  color: #b91c1c;
  cursor: pointer;
  background: #fff;
  border: 1px solid #b91c1c;
  border-radius: 6px;
  padding: 4px 9px;
  font-size: 10px;
  font-weight: 700;
}

.paper-inline-error button:hover {
  background: #fef2f2;
}

.paper-run {
  background: #f8f8f9;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  display: flex;
  position: relative;
}

.paper-run-header {
  border-bottom: 1px solid var(--line);
  background: #fff;
  padding: 13px 24px 11px;
  display: block;
}

.paper-run-identity {
  grid-area: identity;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.paper-run-identity > span {
  color: #d64c53;
  letter-spacing: .12em;
  flex: none;
  font-size: 9px;
  font-weight: 900;
}

.paper-run-header h2 {
  letter-spacing: -.04em;
  margin: 0;
  font-size: clamp(22px, 2.2vw, 28px);
}

.paper-run-header h2 em {
  color: var(--light);
  margin-left: 8px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13px;
  font-style: normal;
}

.paper-run-header-actions {
  grid-area: actions;
  align-items: center;
  gap: 9px;
  display: flex;
}

.paper-phase-pill {
  color: #3730a3;
  letter-spacing: .06em;
  white-space: nowrap;
  background: #eef2ff;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 7px 11px;
  font-size: 9px;
  font-weight: 900;
  display: inline-flex;
}

.paper-phase-pill.pre_event_decision {
  color: #9a3412;
  background: #fff7ed;
}

.paper-phase-pill.post_event_decision, .paper-phase-pill.world_market {
  color: #1d4ed8;
  background: #eff6ff;
}

.paper-phase-pill.world_decision {
  color: #9a3412;
  background: #fff7ed;
}

.paper-phase-pill.completed {
  color: #166534;
  background: #ecfdf3;
}

.paper-phase-pill i {
  background: currentColor;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  animation: 1.8s ease-out infinite livePulse;
}

.paper-header-dashboard {
  gap: 8px;
  display: grid;
}

.paper-header-progress {
  min-width: 0;
  color: var(--muted);
  grid-template-columns: auto minmax(160px, 1fr);
  align-items: center;
  gap: 12px;
  font-size: 10px;
  line-height: 1.5;
  display: grid;
}

.paper-header-progress > strong {
  color: var(--ink);
  letter-spacing: -.01em;
  white-space: nowrap;
  font-size: 12px;
}

.paper-progress {
  background: #ececee;
  border-radius: 999px;
  height: 6px;
  margin-top: 9px;
  overflow: hidden;
}

.paper-header-progress .paper-progress {
  margin-top: 0;
}

.paper-progress i {
  border-radius: inherit;
  background: var(--ink);
  height: 100%;
  transition: width .45s;
  display: block;
}

.paper-progress i.busy {
  background: linear-gradient(90deg, #f97316, #d64c53);
}

.paper-header-metrics {
  grid-template-columns: repeat(4, auto);
  gap: 14px;
  display: grid;
}

.paper-header-metrics > div {
  grid-template-rows: auto auto;
  grid-template-columns: auto auto;
  align-items: center;
  column-gap: 4px;
  min-width: 0;
  display: grid;
}

.paper-header-metrics svg {
  color: #6d7380;
  grid-row: 1 / span 2;
}

.paper-header-metrics span {
  color: var(--light);
  letter-spacing: .07em;
  font-size: 7px;
  font-weight: 900;
  line-height: 1.1;
}

.paper-header-metrics strong {
  color: var(--ink);
  white-space: nowrap;
  grid-column: 2;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11px;
  line-height: 1.2;
}

.paper-header-metrics strong em {
  color: var(--light);
  font-size: 8px;
  font-style: normal;
  font-weight: 500;
}

.paper-header-metrics strong.up, .paper-pending b.up {
  color: var(--up);
}

.paper-header-metrics strong.down, .paper-pending b.down {
  color: var(--down);
}

.paper-run-error {
  color: #b91c1c;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 7px;
  align-items: center;
  gap: 7px;
  margin-top: 10px;
  padding: 8px 11px;
  font-size: 10px;
  line-height: 1.5;
  display: flex;
}

.paper-run-warning {
  color: #9a3412;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 7px;
  align-items: center;
  gap: 7px;
  margin-top: 10px;
  padding: 8px 11px;
  font-size: 10px;
  line-height: 1.5;
  display: flex;
}

.paper-header-dashboard > .paper-run-error, .paper-header-dashboard > .paper-run-warning {
  margin-top: 0;
}

.paper-run-grid {
  flex: 1;
  grid-template-rows: minmax(330px, .82fr) minmax(340px, 1fr);
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: 12px;
  min-height: 0;
  padding: 12px 24px;
  display: grid;
  overflow-y: auto;
}

.paper-chart-panel {
  grid-area: 1 / 1;
}

.paper-desk-panel {
  grid-area: 1 / 2;
}

.paper-feed-panel {
  grid-area: 2 / 1 / auto / -1;
  min-height: 340px;
}

.paper-chart-panel {
  min-height: 300px;
}

.paper-panel {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 11px;
  flex-direction: column;
  min-height: 0;
  display: flex;
  overflow: hidden;
}

.paper-panel-heading {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-height: 45px;
  padding: 11px 14px;
  display: flex;
}

.paper-panel-heading > div {
  color: var(--ink);
  align-items: center;
  gap: 7px;
  display: flex;
}

.paper-panel-heading > div svg {
  color: #d64c53;
}

.paper-panel-heading span {
  letter-spacing: .08em;
  font-size: 9px;
  font-weight: 900;
}

.paper-panel-heading em {
  color: var(--light);
  letter-spacing: .06em;
  font-size: 8px;
  font-style: normal;
  font-weight: 800;
}

.paper-chart {
  flex-direction: column;
  flex: 1;
  min-height: 0;
  padding: 8px 14px 6px;
  display: flex;
}

.paper-chart-readout {
  color: var(--muted);
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 12px;
  margin-bottom: 6px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 9px;
  display: flex;
}

.paper-chart-readout strong {
  color: var(--ink);
  letter-spacing: -.01em;
  font-size: 10px;
}

.paper-chart-readout b {
  font-weight: 700;
}

.paper-chart-readout b.up, .paper-chart-readout em.up {
  color: var(--up);
}

.paper-chart-readout b.down, .paper-chart-readout em.down {
  color: var(--down);
}

.paper-chart-readout em {
  margin-left: auto;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}

.paper-chart-svg {
  flex: 1;
  width: 100%;
  min-height: 120px;
  display: block;
}

.paper-chart-grid {
  stroke: #f1f1f3;
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
}

.paper-chart-axis {
  fill: #9aa0ab;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
}

.paper-chart-reference {
  stroke: #d4d4d8;
  stroke-width: 1px;
  stroke-dasharray: 4 4;
  vector-effect: non-scaling-stroke;
}

.paper-chart-divider {
  stroke: #c7c7cc;
  stroke-width: 1px;
  stroke-dasharray: 2 3;
  vector-effect: non-scaling-stroke;
}

.paper-chart-start-label {
  fill: #6d7380;
  font-family: inherit;
  font-size: 8px;
  font-weight: 800;
}

.paper-candle-wick {
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
}

.paper-candle-flat {
  stroke-width: 1.6px;
  stroke: #c7c7cc;
  vector-effect: non-scaling-stroke;
}

.paper-candle-hit {
  fill: #0000;
}

.paper-candle.hovered .paper-candle-hit {
  fill: #1111130b;
}

.paper-candle.historical, .paper-candle.historical .paper-candle-body {
  opacity: .72;
}

.paper-candle.simulated .paper-candle-body {
  filter: drop-shadow(0 1px 1px #1111131f);
}

.paper-candle-future {
  fill: #f4f4f573;
  stroke: #d4d4d8;
  stroke-width: 1px;
  stroke-dasharray: 3 3;
  vector-effect: non-scaling-stroke;
}

.paper-candle.up .paper-candle-wick {
  stroke: var(--up);
}

.paper-candle.up .paper-candle-body {
  fill: var(--up);
}

.paper-candle.down .paper-candle-wick {
  stroke: var(--down);
}

.paper-candle.down .paper-candle-body {
  fill: var(--down);
}

.paper-fill-marker.buy path {
  fill: #7c3aed;
  stroke: #fff;
  stroke-width: 1.2px;
}

.paper-fill-marker.sell path {
  fill: #f59e0b;
  stroke: #fff;
  stroke-width: 1.2px;
}

.paper-chart-dates {
  color: var(--light);
  justify-content: space-between;
  gap: 8px;
  margin-top: 2px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  display: flex;
}

.paper-reset {
  border: 1px solid var(--line);
  color: var(--muted);
  white-space: nowrap;
  cursor: pointer;
  background: #fff;
  border-radius: 7px;
  flex: none;
  padding: 6px 10px;
  font-family: inherit;
  font-size: 9px;
  font-weight: 750;
}

.paper-reset:hover:not(:disabled) {
  color: var(--ink);
  border-color: #9aa0ab;
}

.paper-reset:disabled {
  cursor: not-allowed;
  opacity: .4;
}

.paper-chart-legend {
  color: var(--light);
  flex-wrap: wrap;
  gap: 3px 12px;
  margin-top: 4px;
  font-size: 8px;
  font-weight: 700;
  display: flex;
}

.paper-chart-legend span {
  align-items: center;
  gap: 4px;
  display: inline-flex;
}

.paper-chart-legend span:before {
  content: "";
  border-radius: 2px;
  width: 7px;
  height: 7px;
}

.paper-chart-legend .real:before {
  background: linear-gradient(135deg,var(--up) 0 45%,var(--down) 45% 100%);
  opacity: .7;
  border: 1px solid #9aa0ab;
}

.paper-chart-legend .up:before {
  background: var(--up);
}

.paper-chart-legend .down:before {
  background: var(--down);
}

.paper-chart-legend .future:before {
  background: #fafafa;
  border: 1px dashed #9aa0ab;
}

.paper-chart-legend .event:before {
  background: #f97316;
}

.paper-chart-legend .buy:before {
  background: #7c3aed;
  border-radius: 50%;
}

.paper-chart-legend .sell:before {
  background: #f59e0b;
  border-radius: 50%;
}

.paper-chart-empty {
  min-height: 190px;
  color: var(--light);
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 26px;
  display: flex;
}

.paper-chart-empty svg {
  color: #d4d4d8;
}

.paper-chart-empty strong {
  color: #52525b;
  margin-top: 10px;
  font-size: 12px;
}

.paper-chart-empty p {
  max-width: 300px;
  margin: 6px 0 0;
  font-size: 9px;
  line-height: 1.55;
}

.paper-event-log {
  gap: 8px;
  margin-bottom: 12px;
  display: grid;
}

.paper-event-log > header {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 2px 1px;
  display: flex;
}

.paper-event-log > header > div {
  color: #9a3412;
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.paper-event-log > header strong {
  letter-spacing: .05em;
  font-size: 10px;
  font-weight: 900;
}

.paper-event-log > header em {
  color: var(--light);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  font-style: normal;
}

.paper-event-card {
  border: 1px solid var(--line);
  background: #fafafa;
  border-radius: 9px;
  padding: 12px 13px;
}

.paper-event-card.revealed, .paper-event-card.public, .paper-event-card.absorbed {
  background: #fffaf3;
  border-color: #fed7aa;
}

.paper-event-top {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 7px;
  display: flex;
}

.paper-event-top span {
  color: #9a3412;
  letter-spacing: .06em;
  align-items: center;
  gap: 5px;
  font-size: 9px;
  font-weight: 900;
  display: inline-flex;
}

.paper-event-top em {
  color: var(--light);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 9px;
  font-style: normal;
}

.paper-event-card strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.45;
  display: block;
}

.paper-event-card strong.masked {
  color: var(--light);
}

.paper-event-card p {
  color: #52525b;
  margin: 6px 0 0;
  font-size: 10px;
  line-height: 1.6;
}

.paper-record-layout {
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  align-items: stretch;
  gap: 12px;
  min-height: 430px;
  display: grid;
}

.paper-record-column {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 10px;
  flex-direction: column;
  min-width: 0;
  min-height: 430px;
  display: flex;
  overflow: hidden;
}

.paper-record-heading {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 11px 13px;
  display: flex;
}

.paper-record-heading > div {
  color: var(--ink);
  align-items: center;
  gap: 7px;
  display: inline-flex;
}

.paper-record-heading > div svg {
  color: #d64c53;
}

.paper-record-heading strong {
  letter-spacing: .04em;
  font-size: 11px;
  font-weight: 900;
}

.paper-record-heading em {
  color: var(--light);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  font-style: normal;
  font-weight: 750;
}

.paper-record-empty {
  min-height: 170px;
  color: var(--light);
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 22px 16px;
  display: flex;
}

.paper-record-empty svg {
  color: #d4d4d8;
}

.paper-record-empty strong {
  color: #52525b;
  margin-top: 9px;
  font-size: 11px;
}

.paper-record-empty p {
  max-width: 250px;
  color: var(--light);
  margin: 6px 0 0;
  font-size: 9px;
  line-height: 1.55;
}

.paper-record-empty.compact {
  min-height: 120px;
  padding: 16px;
}

.paper-event-timeline {
  border-bottom: 1px solid #f0f0f1;
  gap: 5px;
  min-height: 0;
  max-height: 250px;
  padding: 10px 11px;
  display: grid;
  overflow-y: auto;
}

.paper-event-item {
  min-width: 0;
  color: var(--muted);
  text-align: left;
  cursor: pointer;
  background: #fafafa;
  border: 1px solid #0000;
  border-radius: 8px;
  grid-template-columns: 10px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 9px 8px;
  font-family: inherit;
  display: grid;
}

.paper-event-item:hover {
  background: #fffaf3;
  border-color: #fed7aa;
}

.paper-event-item.active {
  background: #fff7ed;
  border-color: #fdba74;
}

.paper-event-item > i {
  background: #fff;
  border: 2px solid #f97316;
  border-radius: 50%;
  width: 8px;
  height: 8px;
}

.paper-event-item.active > i {
  background: #f97316;
  box-shadow: 0 0 0 3px #ffedd5;
}

.paper-event-item > span {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.paper-event-item small {
  color: var(--light);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  overflow: hidden;
}

.paper-event-item b {
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 10px;
  line-height: 1.45;
  overflow: hidden;
}

.paper-event-item > svg {
  color: #9aa0ab;
}

.paper-event-detail {
  background: #fffaf3;
  border: 1px solid #fed7aa;
  border-radius: 9px;
  margin: 11px;
  padding: 13px;
}

.paper-event-detail-top {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 7px;
  display: flex;
}

.paper-event-detail-top span {
  color: #c2410c;
  letter-spacing: .06em;
  font-size: 8px;
  font-weight: 900;
}

.paper-event-detail-top em {
  color: var(--light);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  font-style: normal;
}

.paper-event-detail h4 {
  color: var(--ink);
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
}

.paper-event-detail p {
  color: #52525b;
  margin: 7px 0 0;
  font-size: 10px;
  line-height: 1.65;
}

.paper-event-signal, .paper-event-source {
  color: #1d4ed8;
  background: #f7fbff;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  align-items: flex-start;
  gap: 7px;
  margin-top: 10px;
  padding: 9px 10px;
  font-size: 9px;
  line-height: 1.5;
  display: flex;
}

.paper-event-signal svg, .paper-event-source svg {
  flex: none;
  margin-top: 1px;
}

.paper-event-detail .paper-provenance {
  margin-top: 10px;
}

.paper-agent-intro {
  color: var(--muted);
  margin: 0;
  padding: 10px 13px 8px;
  font-size: 9px;
  line-height: 1.55;
}

.paper-agent-tabs {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
  padding: 0 11px 10px;
  display: grid;
}

.paper-agent-tabs button {
  border: 1px solid var(--line);
  min-width: 0;
  color: var(--muted);
  cursor: pointer;
  background: #fafafa;
  border-radius: 7px;
  gap: 3px;
  padding: 8px 6px;
  font-family: inherit;
  display: grid;
}

.paper-agent-tabs button:hover {
  background: #fff;
  border-color: #9aa0ab;
}

.paper-agent-tabs button.active {
  color: var(--ink);
  background: #fff;
  border-color: #18181b;
  box-shadow: 0 0 0 1px #18181b;
}

.paper-agent-tabs span {
  font-size: 9px;
  font-weight: 800;
}

.paper-agent-tabs em {
  color: var(--light);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  font-style: normal;
}

.paper-agent-tabs button.active em {
  color: var(--muted);
}

.paper-agent-column > .paper-feed-live {
  margin: 0 11px 9px;
}

.paper-agent-days {
  flex: 1;
  align-content: start;
  gap: 7px;
  min-height: 0;
  padding: 0 11px 11px;
  display: grid;
  overflow-y: auto;
}

.paper-agent-day {
  border: 1px solid var(--line);
  background: #fafafa;
  border-radius: 8px;
}

.paper-agent-day.expanded {
  background: #fff;
  border-color: #9aa0ab;
}

.paper-agent-day-summary {
  width: 100%;
  min-width: 0;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 9px;
  padding: 10px 11px;
  font-family: inherit;
  display: grid;
}

.paper-agent-day-summary > span:first-child {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.paper-agent-day-summary small {
  color: var(--light);
  font-size: 8px;
  font-weight: 800;
}

.paper-agent-day-summary b {
  color: var(--ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
}

.paper-agent-day-summary > svg {
  color: #9aa0ab;
  transition: transform .18s;
}

.paper-agent-day.expanded .paper-agent-day-summary > svg {
  transform: rotate(90deg);
}

.paper-agent-day-stats {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
  display: flex;
}

.paper-agent-day-stats em {
  color: var(--light);
  white-space: nowrap;
  background: #f1f1f3;
  border-radius: 5px;
  padding: 3px 5px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  font-style: normal;
  font-weight: 700;
}

.paper-agent-day-stats em.up {
  color: #b91c1c;
  background: #fef2f2;
}

.paper-agent-day-stats em.down {
  color: #1d4ed8;
  background: #eff6ff;
}

.paper-agent-day-body {
  padding: 0 11px 11px;
}

.paper-agent-market-summary {
  color: #52525b;
  border-top: 1px solid #f0f0f1;
  margin: 0 0 8px;
  padding-top: 9px;
  font-size: 9px;
  line-height: 1.6;
}

.paper-agent-flow {
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  margin-bottom: 8px;
  display: flex;
}

.paper-agent-flow span, .paper-agent-flow b {
  color: var(--muted);
  background: #f7f8fa;
  border-radius: 5px;
  padding: 4px 6px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  font-weight: 700;
}

.paper-agent-flow b.up {
  color: #b91c1c;
  background: #fef2f2;
}

.paper-agent-flow b.down {
  color: #1d4ed8;
  background: #eff6ff;
}

.paper-agent-order-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  display: grid;
}

.paper-agent-order {
  border: 1px solid var(--line);
  background: #fafafa;
  border-left: 3px solid #d4d4d8;
  border-radius: 7px;
  min-width: 0;
  padding: 9px;
}

.paper-agent-order.up {
  border-left-color: var(--up);
}

.paper-agent-order.down {
  border-left-color: var(--down);
}

.paper-agent-order header {
  align-items: center;
  gap: 5px;
  min-width: 0;
  margin-bottom: 7px;
  display: flex;
}

.paper-agent-order header b {
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  overflow: hidden;
}

.paper-agent-order header span {
  color: #64748b;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: #f1f5f9;
  border-radius: 4px;
  padding: 2px 4px;
  font-size: 7px;
  overflow: hidden;
}

.paper-agent-order header em {
  color: var(--light);
  white-space: nowrap;
  margin-left: auto;
  font-size: 8px;
  font-style: normal;
  font-weight: 800;
}

.paper-agent-order.up header em {
  color: var(--up);
}

.paper-agent-order.down header em {
  color: var(--down);
}

.paper-agent-order > strong {
  color: var(--ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
  display: block;
}

.paper-agent-order > small {
  color: var(--light);
  margin-top: 3px;
  font-size: 8px;
  display: block;
}

.paper-agent-order > p {
  -webkit-line-clamp: 3;
  color: #52525b;
  -webkit-box-orient: vertical;
  margin: 7px 0 0;
  font-size: 9px;
  line-height: 1.55;
  display: -webkit-box;
  overflow: hidden;
}

.paper-feed-scroll {
  flex: 1;
  min-height: 0;
  padding: 10px 14px 14px;
  overflow-y: auto;
}

.paper-signal {
  border: 1px solid var(--line);
  background: #fafafa;
  border-radius: 8px;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 9px;
  margin-top: 8px;
  padding: 9px 10px;
  display: grid;
}

.paper-signal-channel {
  color: #475569;
  text-align: center;
  word-break: break-all;
  background: #f1f5f9;
  border-radius: 5px;
  padding: 4px 6px;
  font-size: 8px;
  font-weight: 800;
}

.paper-signal-channel.rumor {
  color: #9a3412;
  background: #fff7ed;
}

.paper-signal-channel.schedule {
  color: #1d4ed8;
  background: #eff6ff;
}

.paper-signal-body p {
  color: #52525b;
  margin: 0;
  font-size: 10px;
  line-height: 1.6;
}

.paper-signal-body footer {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  display: flex;
}

.paper-signal-body time {
  color: #9aa0ab;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
}

.paper-signal-body footer span {
  color: var(--light);
  font-size: 8px;
  font-weight: 700;
}

.paper-feed-empty {
  height: 100%;
  min-height: 180px;
  color: var(--light);
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 26px;
  display: flex;
}

.paper-feed-empty svg {
  color: #d4d4d8;
}

.paper-feed-empty strong {
  color: #52525b;
  margin-top: 10px;
  font-size: 12px;
}

.paper-feed-empty p {
  max-width: 320px;
  margin: 6px 0 0;
  font-size: 9px;
  line-height: 1.6;
}

.paper-desk-scroll {
  flex: 1;
  min-height: 0;
  padding: 12px 14px;
  overflow-y: auto;
}

.paper-daily-practice {
  background: #f8fbff;
  border: 1px solid #dbeafe;
  border-radius: 10px;
  margin-bottom: 12px;
  padding: 13px;
}

.paper-daily-practice.waiting {
  border-style: dashed;
  border-color: var(--line);
  color: var(--muted);
  background: #fafafa;
  gap: 6px;
  display: grid;
}

.paper-daily-practice.waiting > span {
  color: var(--light);
  letter-spacing: .08em;
  font-size: 8px;
  font-weight: 900;
}

.paper-daily-practice.waiting > strong {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.6;
}

.paper-daily-practice-head {
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  display: flex;
}

.paper-daily-practice-head span {
  color: #1d4ed8;
  letter-spacing: .07em;
  font-size: 9px;
  font-weight: 900;
}

.paper-daily-practice-head em {
  color: var(--light);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  font-style: normal;
}

.paper-daily-practice > p {
  color: #3f3f46;
  margin: 7px 0 9px;
  font-size: 11px;
  line-height: 1.65;
}

.paper-daily-event {
  background: #fffaf3;
  border: 1px solid #fed7aa;
  border-radius: 8px;
  gap: 5px;
  margin: 7px 0 10px;
  padding: 9px 10px;
  display: grid;
}

.paper-daily-event b {
  color: #7c2d12;
  font-size: 10px;
  line-height: 1.4;
}

.paper-daily-event span {
  color: #9a3412;
  font-size: 9px;
  line-height: 1.55;
}

.paper-daily-practice-flow {
  background: #fff;
  border-radius: 7px;
  align-items: center;
  gap: 7px;
  margin-bottom: 10px;
  padding: 7px 9px;
  display: flex;
}

.paper-daily-practice-flow b {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13px;
}

.paper-daily-practice-flow b.up {
  color: var(--up);
}

.paper-daily-practice-flow b.down {
  color: var(--down);
}

.paper-daily-practice-flow span {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.45;
}

.paper-daily-summary-groups {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin: 8px 0;
  display: grid;
}

.paper-daily-summary-group {
  background: #fff;
  border: 1px solid #e8eaf0;
  border-radius: 7px;
  gap: 3px;
  min-width: 0;
  padding: 7px 8px;
  display: grid;
}

.paper-daily-summary-group b {
  color: var(--ink);
  font-size: 9px;
}

.paper-daily-summary-group span {
  color: var(--muted);
  font-size: 8px;
  line-height: 1.45;
}

.paper-daily-reason {
  background: #fafaff;
  border-left: 2px solid #c7d2fe;
  gap: 3px;
  margin: 8px 0 0;
  padding: 8px 9px;
  display: grid;
}

.paper-daily-reason b {
  color: #3730a3;
  font-size: 8px;
}

.paper-daily-reason span {
  color: var(--muted);
  font-size: 8px;
  line-height: 1.5;
}

.paper-daily-choices {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  display: grid;
}

.paper-daily-choices button {
  border: 1px solid var(--line);
  min-height: 59px;
  color: var(--muted);
  text-align: left;
  cursor: pointer;
  background: #fff;
  border-radius: 8px;
  align-content: center;
  gap: 3px;
  padding: 7px;
  font-family: inherit;
  display: grid;
}

.paper-daily-choices button:hover:not(:disabled) {
  background: #fafafa;
  border-color: #9aa0ab;
}

.paper-daily-choices button:disabled {
  cursor: default;
  opacity: .68;
}

.paper-daily-choices b {
  color: var(--ink);
  font-size: 9px;
}

.paper-daily-choices span {
  color: var(--light);
  font-size: 8px;
  line-height: 1.35;
}

.paper-daily-choices button.buy_watch.active {
  background: #fff5f5;
  border-color: #fca5a5;
}

.paper-daily-choices button.buy_watch.active b {
  color: #b91c1c;
}

.paper-daily-choices button.hold_watch.active {
  background: #f5f7ff;
  border-color: #a5b4fc;
}

.paper-daily-choices button.hold_watch.active b {
  color: #3730a3;
}

.paper-daily-choices button.sell_watch.active {
  background: #f5faff;
  border-color: #93c5fd;
}

.paper-daily-choices button.sell_watch.active b {
  color: #1d4ed8;
}

.paper-daily-practice > small {
  color: var(--light);
  margin-top: 9px;
  font-size: 8px;
  line-height: 1.5;
  display: block;
}

.paper-order {
  flex-direction: column;
  gap: 11px;
  display: flex;
}

.paper-order.locked {
  opacity: .5;
}

.paper-order-side {
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  display: grid;
}

.paper-order-side button {
  border: 1px solid var(--line);
  min-height: 40px;
  color: var(--muted);
  cursor: pointer;
  background: #fafafa;
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 750;
  display: inline-flex;
}

.paper-order-side button.buy.active {
  border-color: var(--up);
  color: #fff;
  background: var(--up);
}

.paper-order-side button.sell.active {
  border-color: var(--down);
  color: #fff;
  background: var(--down);
}

.paper-order-field {
  display: block;
}

.paper-order-field > span {
  color: var(--ink);
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 5px;
  font-size: 10px;
  font-weight: 700;
  display: flex;
}

.paper-order-field > span em {
  color: var(--light);
  font-size: 9px;
  font-style: normal;
  font-weight: 500;
}

.paper-order-field textarea {
  border: 1px solid var(--line);
  width: 100%;
  color: var(--text);
  resize: vertical;
  background: #fff;
  border-radius: 8px;
  outline: none;
  padding: 9px 11px;
  font-family: inherit;
  font-size: 11px;
  line-height: 1.55;
}

.paper-order-field textarea:focus {
  border-color: #9aa0ab;
}

.paper-quantity {
  gap: 6px;
  display: flex;
}

.paper-quantity input {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  outline: none;
  width: 100%;
  height: 38px;
  padding: 0 11px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13px;
}

.paper-quantity input:focus {
  border-color: #9aa0ab;
}

.paper-quantity-quick {
  flex: none;
  gap: 4px;
  display: flex;
}

.paper-quantity-quick button {
  border: 1px solid var(--line);
  min-width: 42px;
  height: 38px;
  color: var(--muted);
  cursor: pointer;
  background: #fafafa;
  border-radius: 8px;
  font-family: inherit;
  font-size: 10px;
  font-weight: 650;
}

.paper-quantity-quick button:hover:not(:disabled) {
  color: var(--ink);
  background: #fff;
}

.paper-confidence {
  width: 100%;
  accent-color: var(--ink);
}

.paper-order-estimate {
  border: 1px solid var(--line);
  background: #fafafa;
  border-radius: 8px;
  gap: 5px;
  padding: 11px 12px;
  display: grid;
}

.paper-order-estimate > div {
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  display: flex;
}

.paper-order-estimate span {
  color: var(--muted);
  font-size: 10px;
}

.paper-order-estimate span em {
  color: var(--light);
  margin-left: 5px;
  font-size: 8px;
  font-style: normal;
  font-weight: 700;
}

.paper-order-estimate b {
  color: #52525b;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
  font-weight: 600;
}

.paper-order-estimate .total {
  border-top: 1px solid var(--line);
  margin-top: 3px;
  padding-top: 7px;
}

.paper-order-estimate .total span {
  color: var(--ink);
  font-weight: 700;
}

.paper-order-estimate strong {
  color: var(--ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 14px;
}

.paper-order-estimate .after span, .paper-order-estimate .after b {
  color: var(--light);
  font-size: 9px;
}

.paper-order-submit {
  color: #fff;
  background: var(--ink);
  cursor: pointer;
  border: 0;
  border-radius: 9px;
  min-height: 44px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 750;
}

.paper-order-submit:disabled {
  cursor: not-allowed;
  opacity: .4;
}

.paper-order-note {
  color: var(--light);
  text-align: center;
  margin: -4px 0 0;
  font-size: 9px;
}

.paper-locked-note {
  border: 1px dashed var(--line);
  background: #fafafa;
  border-radius: 9px;
  padding: 14px;
}

.paper-locked-note strong {
  color: var(--ink);
  margin-bottom: 5px;
  font-size: 12px;
  display: block;
}

.paper-locked-note p {
  color: var(--muted);
  margin: 0;
  font-size: 10px;
  line-height: 1.6;
}

.paper-pending {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 9px;
  margin-top: 13px;
  padding: 11px 12px;
}

.paper-pending > span {
  color: var(--light);
  letter-spacing: .06em;
  margin-bottom: 7px;
  font-size: 8px;
  font-weight: 900;
  display: block;
}

.paper-pending > div {
  border-top: 1px solid #f4f4f5;
  align-items: center;
  gap: 8px;
  padding: 5px 0;
  display: flex;
}

.paper-pending > div:first-of-type {
  border-top: 0;
}

.paper-pending b {
  font-size: 10px;
  font-weight: 800;
}

.paper-pending strong {
  color: var(--ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11px;
}

.paper-pending em {
  color: var(--light);
  margin-left: auto;
  font-size: 9px;
  font-style: normal;
}

.paper-assessment {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 9px;
  margin-top: 13px;
  padding: 13px;
}

.paper-assessment span {
  color: #15803d;
  letter-spacing: .06em;
  margin-bottom: 6px;
  font-size: 9px;
  font-weight: 900;
  display: block;
}

.paper-assessment p {
  color: #14532d;
  white-space: pre-wrap;
  margin: 0;
  font-size: 10px;
  line-height: 1.65;
}

.paper-advance-row {
  gap: 8px;
  margin: 0 14px 14px;
  display: flex;
}

.paper-advance-row .paper-advance {
  flex: 1;
  margin: 0;
}

.paper-advance-fast {
  color: #3730a3;
  cursor: pointer;
  background: #f5f7ff;
  border: 1px solid #c7d2fe;
  border-radius: 10px;
  flex: 1.15;
  justify-content: center;
  align-items: center;
  gap: 6px;
  min-height: 50px;
  padding: 0 13px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  display: inline-flex;
}

.paper-advance-fast:hover {
  background: #eef2ff;
  border-color: #818cf8;
}

.paper-advance-day {
  border: 1px solid var(--line);
  min-height: 50px;
  color: var(--ink);
  white-space: nowrap;
  cursor: pointer;
  background: #fff;
  border-radius: 10px;
  flex: none;
  align-items: center;
  gap: 6px;
  padding: 0 14px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
}

.paper-advance-day:hover {
  background: #fafafa;
  border-color: #9aa0ab;
}

.paper-advance {
  color: #fff;
  background: var(--ink);
  cursor: pointer;
  border: 0;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-height: 50px;
  margin: 0 14px 14px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 750;
  display: inline-flex;
}

.paper-advance:disabled {
  cursor: wait;
  opacity: .55;
}

.paper-run-footer {
  border-top: 1px solid var(--line);
  color: var(--light);
  background: #fff;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 11px 24px;
  font-size: 9px;
  display: flex;
}

.paper-run-footer span:first-child {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

.paper-quote {
  align-items: baseline;
  gap: 7px;
  padding-right: 4px;
  display: flex;
}

.paper-quote strong {
  color: var(--ink);
  letter-spacing: -.02em;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 20px;
}

.paper-quote strong.up, .paper-quote em.up {
  color: var(--up);
}

.paper-quote strong.down, .paper-quote em.down {
  color: var(--down);
}

.paper-quote em {
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
}

.paper-stepper {
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.paper-stepper li {
  color: var(--light);
  align-items: center;
  gap: 5px;
  font-size: 9px;
  font-weight: 750;
  display: flex;
}

.paper-stepper li:after {
  background: var(--line);
  content: "";
  width: 14px;
  height: 1px;
}

.paper-stepper li:last-child:after {
  display: none;
}

.paper-stepper i {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 50%;
  place-items: center;
  width: 15px;
  height: 15px;
  font-size: 8px;
  font-style: normal;
  font-weight: 800;
  display: grid;
}

.paper-stepper li.active {
  color: var(--ink);
}

.paper-stepper li.active i {
  border-color: var(--ink);
  color: #fff;
  background: var(--ink);
}

.paper-stepper li.done {
  color: #15803d;
}

.paper-stepper li.done i {
  color: #15803d;
  background: #f0fdf4;
  border-color: #bbf7d0;
}

.paper-coach {
  z-index: 5;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  background: #11111380;
  place-items: center;
  padding: 24px;
  display: grid;
  position: absolute;
  inset: 0;
}

.paper-coach-card {
  background: #fff;
  border-radius: 14px;
  width: min(520px, 100%);
  max-height: 100%;
  padding: 24px 26px;
  overflow-y: auto;
  box-shadow: 0 24px 60px #0000003d;
}

.paper-coach-card > span {
  color: #d64c53;
  letter-spacing: .12em;
  font-size: 9px;
  font-weight: 900;
}

.paper-coach-card h3 {
  color: var(--ink);
  letter-spacing: -.03em;
  margin: 8px 0 16px;
  font-size: 19px;
}

.paper-coach-card ol {
  counter-reset: coach;
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.paper-coach-card li {
  counter-increment: coach;
  padding-left: 32px;
  display: block;
  position: relative;
}

.paper-coach-card li:before {
  color: #fff;
  background: var(--ink);
  content: counter(coach);
  border-radius: 50%;
  place-items: center;
  width: 22px;
  height: 22px;
  font-size: 10px;
  font-weight: 800;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.paper-coach-card li b {
  color: var(--ink);
  margin-bottom: 3px;
  font-size: 12px;
  display: block;
}

.paper-coach-card li p {
  color: var(--muted);
  margin: 0;
  font-size: 10px;
  line-height: 1.65;
}

.paper-coach-card li p.paper-coach-lines {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.paper-coach-card > button {
  color: #fff;
  background: var(--ink);
  cursor: pointer;
  border: 0;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  width: 100%;
  min-height: 44px;
  margin-top: 20px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 750;
  display: inline-flex;
}

.paper-now {
  background: #fffbf5;
  border: 1px solid #fed7aa;
  border-radius: 9px;
  margin: 12px 14px 0;
  padding: 12px 13px;
}

.paper-now-head {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
  display: flex;
}

.paper-now-head span {
  color: #c2410c;
  letter-spacing: .1em;
  font-size: 8px;
  font-weight: 900;
}

.paper-now-head b {
  color: #9a3412;
  font-size: 10px;
  font-weight: 800;
}

.paper-now ol {
  color: #7c2d12;
  gap: 6px;
  margin: 0;
  padding: 0 0 0 15px;
  font-size: 10px;
  line-height: 1.6;
  display: grid;
}

.paper-now li b {
  font-weight: 800;
}

.paper-now-help {
  color: #c2410c;
  cursor: pointer;
  background: none;
  border: 0;
  margin-top: 9px;
  padding: 0;
  font-family: inherit;
  font-size: 9px;
  font-weight: 750;
  text-decoration: underline;
}

.paper-provenance {
  background: #f7fbff;
  border: 1px solid #dbeafe;
  border-radius: 9px;
  margin-top: 10px;
  padding: 10px 11px;
}

.paper-provenance.pending {
  color: #1d4ed8;
  align-items: center;
  gap: 7px;
  font-size: 10px;
  display: flex;
}

.paper-provenance.pending svg {
  flex: none;
}

.paper-provenance-head {
  color: #1d4ed8;
  align-items: center;
  gap: 6px;
  margin-bottom: 7px;
  display: flex;
}

.paper-provenance-head span {
  letter-spacing: .07em;
  font-size: 8px;
  font-weight: 900;
}

.paper-provenance-head em {
  color: #64748b;
  margin-left: auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  font-style: normal;
}

.paper-provenance-move {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  margin: 0 0 6px;
  display: flex;
}

.paper-provenance-move b {
  color: var(--ink);
  font-size: 11px;
}

.paper-provenance-move span {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px;
  font-weight: 750;
}

.paper-provenance-move span.up {
  color: var(--up);
}

.paper-provenance-move span.down {
  color: var(--down);
}

.paper-provenance-move em {
  color: var(--muted);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
  font-style: normal;
}

.paper-provenance-headline {
  color: #52525b;
  margin: 0 0 7px;
  font-size: 10px;
  line-height: 1.6;
}

.paper-provenance footer {
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  display: flex;
}

.paper-provenance footer span {
  color: #1d4ed8;
  background: #dbeafe;
  border-radius: 5px;
  padding: 3px 6px;
  font-size: 8px;
  font-weight: 700;
}

.paper-provenance footer a {
  color: #1d4ed8;
  align-items: center;
  gap: 3px;
  margin-left: auto;
  font-size: 9px;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
}

.paper-provenance footer a:hover {
  text-decoration: underline;
}

.paper-psych {
  background: #fcfcfd;
  border-top: 1px solid #f0f0f1;
  flex: none;
  padding: 9px 14px 11px;
}

.paper-psych-title {
  color: var(--muted);
  align-items: center;
  gap: 7px;
  margin-bottom: 7px;
  display: flex;
}

.paper-psych-title > div {
  gap: 2px;
  display: grid;
}

.paper-psych-title span {
  letter-spacing: .05em;
  font-size: 9px;
  font-weight: 900;
}

.paper-psych-title small {
  color: var(--light);
  font-size: 8px;
  line-height: 1.35;
}

.paper-psych-title em {
  color: var(--light);
  margin-left: auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  font-style: normal;
}

.paper-psych-result {
  color: var(--muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 7px;
  margin-bottom: 8px;
  font-size: 8px;
  display: flex;
}

.paper-psych-result > span {
  color: var(--light);
  letter-spacing: .05em;
  font-weight: 800;
}

.paper-psych-result b, .paper-psych-result em {
  border-radius: 5px;
  padding: 3px 6px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  font-style: normal;
  font-weight: 750;
}

.paper-psych-result b.up {
  color: #b91c1c;
  background: #fef2f2;
}

.paper-psych-result b.down {
  color: #1d4ed8;
  background: #eff6ff;
}

.paper-psych-result em {
  color: #52525b;
  background: #f4f4f5;
}

.paper-psych-rows {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px 14px;
  display: grid;
}

.paper-psych-row {
  grid-template-columns: 38px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 8px;
  display: grid;
}

.paper-psych-row > span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
}

.paper-psych-row i {
  background: #e9e9ec;
  border-radius: 999px;
  height: 6px;
  position: relative;
}

.paper-psych-row i:before {
  content: "";
  background: #d4d4d8;
  width: 1px;
  position: absolute;
  top: -1px;
  bottom: -1px;
  left: 50%;
}

.paper-psych-row b {
  border-radius: 999px;
  position: absolute;
  top: 0;
  bottom: 0;
}

.paper-psych-row.up b {
  background: var(--up);
}

.paper-psych-row.down b {
  background: var(--down);
}

.paper-psych-row.flat b {
  background: #d4d4d8;
}

.paper-psych-row em {
  color: var(--muted);
  text-align: right;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 9px;
  font-style: normal;
}

.paper-psych-row.up em {
  color: var(--up);
}

.paper-psych-row.down em {
  color: var(--down);
}

.paper-feed {
  gap: 10px;
  max-width: 1180px;
  display: grid;
}

.paper-feed-live {
  color: #9a3412;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 9px;
  align-items: center;
  gap: 5px;
  padding: 10px 12px;
  font-size: 10px;
  display: flex;
}

.paper-feed-live i {
  background: #f97316;
  border-radius: 50%;
  width: 5px;
  height: 5px;
  animation: 1.2s ease-in-out infinite paperTyping;
}

.paper-feed-live i:nth-child(2) {
  animation-delay: .18s;
}

.paper-feed-live i:nth-child(3) {
  animation-delay: .36s;
}

.paper-feed-live span {
  margin-left: 6px;
  font-weight: 650;
}

@keyframes paperTyping {
  0%, 100% {
    opacity: .25;
    transform: translateY(0);
  }

  50% {
    opacity: 1;
    transform: translateY(-2px);
  }
}

.paper-round {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 11px;
  padding: 15px 16px;
}

.paper-round.event_reaction {
  background: #fffbf5;
  border-color: #fed7aa;
}

.paper-round > header {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
  display: flex;
}

.paper-round > header > div {
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.paper-round-kind {
  color: #52525b;
  white-space: nowrap;
  background: #f4f4f5;
  border-radius: 5px;
  padding: 3px 6px;
  font-size: 8px;
  font-weight: 800;
}

.paper-round.event_reaction .paper-round-kind {
  color: #9a3412;
  background: #ffedd5;
}

.paper-round > header strong {
  color: var(--ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11px;
}

.paper-round > header b {
  flex: none;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13px;
  font-weight: 750;
}

.paper-round > header b.up {
  color: var(--up);
}

.paper-round > header b.down {
  color: var(--down);
}

.paper-round-summary {
  color: #52525b;
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.75;
}

.paper-round-flows {
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 10px;
  display: flex;
}

.paper-round-flows span {
  color: var(--muted);
  background: #f7f8fa;
  border-radius: 6px;
  padding: 4px 7px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  font-weight: 700;
}

.paper-round-flows span.up {
  color: #b91c1c;
  background: #fef2f2;
}

.paper-round-flows span.down {
  color: #1d4ed8;
  background: #eff6ff;
}

.paper-posts {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 8px;
  display: grid;
}

.paper-post {
  border: 1px solid var(--line);
  background: #fafafa;
  border-left-width: 3px;
  border-radius: 8px;
  padding: 11px 12px;
}

.paper-post.up {
  border-left-color: var(--up);
}

.paper-post.down {
  border-left-color: var(--down);
}

.paper-post.flat {
  border-left-color: #d4d4d8;
}

.paper-post header {
  align-items: center;
  gap: 6px;
  margin-bottom: 5px;
  display: flex;
}

.paper-post header b {
  color: var(--ink);
  font-size: 9px;
  font-weight: 800;
}

.paper-post header span {
  color: #64748b;
  background: #f1f5f9;
  border-radius: 4px;
  padding: 2px 5px;
  font-size: 7px;
  font-weight: 800;
}

.paper-post header em {
  margin-left: auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  font-style: normal;
  font-weight: 700;
}

.paper-post.up header em {
  color: var(--up);
}

.paper-post.down header em {
  color: var(--down);
}

.paper-post p {
  color: #52525b;
  margin: 0;
  font-size: 11px;
  line-height: 1.65;
}

.paper-round-risks {
  background: #fef2f2;
  border-radius: 8px;
  gap: 4px;
  margin: 9px 0 0;
  padding: 9px 11px;
  list-style: none;
  display: grid;
}

.paper-round-risks li {
  color: #b91c1c;
  font-size: 9px;
  line-height: 1.55;
}

.paper-round-risks li:before {
  content: "⚠";
  margin-right: 5px;
}

.paper-round-orders {
  margin-top: 9px;
}

.paper-round-orders summary {
  color: var(--muted);
  cursor: pointer;
  font-size: 9px;
  font-weight: 750;
}

.paper-round-orders > div {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  max-height: 220px;
  margin-top: 8px;
  display: grid;
  overflow-y: auto;
}

.paper-round-orders > div > div {
  background: #f7f8fa;
  border-radius: 7px;
  padding: 7px 8px;
}

.paper-round-orders b {
  margin-right: 5px;
  font-size: 9px;
  font-weight: 800;
}

.paper-round-orders > div > div.up b {
  color: var(--up);
}

.paper-round-orders > div > div.down b {
  color: var(--down);
}

.paper-round-orders > div > div.flat b {
  color: var(--light);
}

.paper-round-orders span {
  color: var(--muted);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
}

.paper-round-orders p {
  color: #6d7380;
  margin: 4px 0 0;
  font-size: 9px;
  line-height: 1.5;
}

.paper-fills {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 9px;
  margin-top: 11px;
  padding: 11px 12px;
}

.paper-fills > span {
  color: var(--light);
  letter-spacing: .06em;
  margin-bottom: 7px;
  font-size: 8px;
  font-weight: 900;
  display: block;
}

.paper-fills > div {
  border-top: 1px solid #f4f4f5;
  align-items: center;
  gap: 8px;
  padding: 5px 0;
  display: flex;
}

.paper-fills > div:first-of-type {
  border-top: 0;
}

.paper-fills b {
  font-size: 10px;
  font-weight: 800;
}

.paper-fills b.up {
  color: var(--up);
}

.paper-fills b.down {
  color: var(--down);
}

.paper-fills strong {
  color: var(--ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11px;
}

.paper-fills em {
  color: var(--muted);
  margin-left: auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 9px;
  font-style: normal;
}

.paper-collection-status {
  border: 1px solid var(--line);
  background: #fafafa;
  border-radius: 9px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  display: flex;
}

.paper-collection-status > div {
  color: var(--muted);
  align-items: center;
  gap: 7px;
  display: flex;
}

.paper-collection-status svg {
  color: #6d7380;
}

.paper-collection-status strong {
  color: var(--ink);
  font-size: 11px;
}

.paper-collection-status > span {
  color: var(--light);
  font-size: 9px;
}

.paper-collection-status.ready {
  background: #f0fdf4;
  border-color: #bbf7d0;
}

.paper-collection-status.ready svg {
  color: #16a34a;
}

.paper-collection-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  display: grid;
}

.paper-collection-source {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 9px;
  min-width: 0;
  padding: 10px;
}

.paper-collection-source header {
  align-items: center;
  gap: 5px;
  display: flex;
}

.paper-collection-source header svg {
  color: #6d7380;
}

.paper-collection-source header strong {
  color: var(--ink);
  font-size: 10px;
}

.paper-collection-source header em {
  color: #16a34a;
  letter-spacing: .06em;
  margin-left: auto;
  font-size: 7px;
  font-style: normal;
  font-weight: 900;
}

.paper-collection-source > b {
  color: var(--ink);
  letter-spacing: -.03em;
  margin-top: 10px;
  font-size: 17px;
  display: block;
}

.paper-collection-source > b small {
  color: var(--muted);
  margin-left: 3px;
  font-size: 9px;
  font-weight: 600;
}

.paper-collection-source > p {
  min-height: 25px;
  color: var(--muted);
  margin: 4px 0 6px;
  font-size: 9px;
  line-height: 1.4;
}

.paper-collection-source > span {
  color: var(--light);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  display: block;
  overflow: hidden;
}

.paper-collection-source.missing {
  background: #fafafa;
  border-style: dashed;
}

.paper-collection-source.missing header em {
  color: #9aa0ab;
}

.paper-collection-source.waiting {
  background: #fafafa;
}

.paper-collection-source.waiting header svg, .paper-collection-source.waiting header em {
  color: #9aa0ab;
}

.paper-tabs {
  gap: 4px;
  display: flex;
}

.paper-tabs button {
  color: var(--light);
  letter-spacing: .04em;
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 7px;
  align-items: center;
  gap: 5px;
  padding: 5px 9px;
  font-family: inherit;
  font-size: 9px;
  font-weight: 900;
  display: inline-flex;
}

.paper-tabs button:hover {
  color: var(--muted);
}

.paper-tabs button.active {
  border-color: var(--line);
  color: var(--ink);
  background: #fafafa;
}

.paper-tabs button.active svg {
  color: #d64c53;
}

.paper-report {
  gap: 12px;
  display: grid;
}

.paper-report-head {
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px;
  display: flex;
}

.paper-report-head span {
  color: var(--light);
  letter-spacing: .1em;
  margin-bottom: 4px;
  font-size: 8px;
  font-weight: 900;
  display: block;
}

.paper-report-head strong {
  color: var(--ink);
  letter-spacing: -.02em;
  font-size: 17px;
}

.paper-report-head b {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 20px;
  font-weight: 750;
}

.paper-report-head b.up {
  color: var(--up);
}

.paper-report-head b.down {
  color: var(--down);
}

.paper-report-metrics > div {
  background: #fafafa;
  border: 1px solid #ececef;
  border-radius: 8px;
  padding: 9px 10px;
}

.paper-report-metrics span {
  color: var(--light);
  margin-bottom: 4px;
  font-size: 8px;
  font-weight: 800;
  display: block;
}

.paper-report-findings {
  background: #f7f8fa;
  border-radius: 9px;
  gap: 5px;
  margin: 0;
  padding: 11px 13px 11px 28px;
  display: grid;
}

.paper-report-findings li {
  color: #52525b;
  font-size: 10px;
  line-height: 1.6;
}

.paper-report-lessons {
  gap: 6px;
  display: grid;
}

.paper-report-lessons > div {
  border-left: 2px solid var(--ink);
  background: #fafafa;
  border-radius: 0 8px 8px 0;
  padding: 10px 12px;
}

.paper-report-lessons b {
  color: var(--ink);
  margin-bottom: 4px;
  font-size: 11px;
  display: block;
}

.paper-report-lessons p {
  color: var(--muted);
  margin: 0;
  font-size: 10px;
  line-height: 1.6;
}

.paper-report-llm {
  border-top: 1px solid var(--line);
  gap: 11px;
  padding-top: 12px;
  display: grid;
}

.paper-report-verified {
  color: #15803d;
  background: #f0fdf4;
  border-radius: 8px;
  margin: 0;
  padding: 9px 11px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
}

.paper-report-summary {
  color: #3f3f46;
  margin: 0;
  font-size: 11px;
  line-height: 1.75;
}

.paper-report-profile {
  color: #52525b;
  background: #fef2f2;
  border-left: 2px solid #d64c53;
  border-radius: 0 8px 8px 0;
  margin: 0;
  padding: 11px 13px;
  font-size: 10px;
  line-height: 1.7;
}

.paper-report-events {
  gap: 7px;
  display: grid;
}

.paper-report-events article {
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 11px 12px;
}

.paper-report-events b {
  color: var(--ink);
  margin-bottom: 6px;
  font-size: 11px;
  display: block;
}

.paper-report-events p {
  color: #52525b;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 8px;
  margin: 0 0 4px;
  font-size: 10px;
  line-height: 1.6;
  display: grid;
}

.paper-report-events p span {
  color: var(--light);
  font-size: 8px;
  font-weight: 800;
}

.paper-report-events em {
  color: #b45309;
  border-top: 1px solid #f4f4f5;
  margin-top: 6px;
  padding-top: 6px;
  font-size: 10px;
  font-style: normal;
  line-height: 1.6;
  display: block;
}

.paper-report-lists {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  display: grid;
}

.paper-report-lists > div {
  background: #fafafa;
  border-radius: 9px;
  padding: 10px 11px;
}

.paper-report-lists b {
  letter-spacing: .05em;
  margin-bottom: 6px;
  font-size: 9px;
  font-weight: 900;
  display: block;
}

.paper-report-lists p {
  color: #52525b;
  margin: 0 0 5px;
  font-size: 9px;
  line-height: 1.6;
}

.paper-report-lists .good {
  background: #f0fdf4;
}

.paper-report-lists .good b {
  color: #15803d;
}

.paper-report-lists .risk {
  background: #fef2f2;
}

.paper-report-lists .risk b {
  color: #b91c1c;
}

.paper-report-lists .plan {
  background: #eff6ff;
}

.paper-report-lists .plan b {
  color: #1d4ed8;
}

.paper-report-cta {
  border: 1px dashed var(--line);
  text-align: center;
  background: #fafafa;
  border-radius: 10px;
  padding: 14px;
}

.paper-report-cta p {
  color: var(--muted);
  margin: 0;
  font-size: 10px;
  line-height: 1.7;
}

.paper-report-cta button {
  color: #fff;
  background: var(--ink);
  cursor: pointer;
  border: 0;
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  min-height: 40px;
  margin-top: 11px;
  padding: 0 16px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 750;
  display: inline-flex;
}

.paper-report-cta button:disabled {
  cursor: wait;
  opacity: .55;
}

.paper-report-disclaimer {
  color: var(--light);
  margin: 0;
  font-size: 9px;
  line-height: 1.6;
}

.paper-completed-reports {
  background: #fafafa;
  gap: 12px;
  padding: 12px 24px 18px;
  display: grid;
}

.paper-completed-reports-heading {
  padding: 4px 2px 2px;
}

.paper-completed-reports-heading > span, .paper-report-card header span {
  color: #d64c53;
  letter-spacing: .1em;
  font-size: 8px;
  font-weight: 900;
}

.paper-completed-reports-heading h2 {
  color: var(--ink);
  letter-spacing: -.03em;
  margin: 5px 0 3px;
  font-size: 19px;
}

.paper-completed-reports-heading p {
  color: var(--muted);
  margin: 0;
  font-size: 10px;
}

.paper-report-card {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 11px;
  gap: 11px;
  padding: 16px;
  display: grid;
}

.paper-report-card header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.paper-report-card h3 {
  color: var(--ink);
  margin: 4px 0 0;
  font-size: 16px;
}

.paper-report-card header > b {
  color: var(--ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 18px;
}

.paper-report-card header > b.up {
  color: var(--up);
}

.paper-report-card header > b.down {
  color: var(--down);
}

.paper-report-card header > span {
  color: var(--light);
  letter-spacing: 0;
  font-size: 9px;
}

.paper-report-summary, .paper-report-detail {
  color: #3f3f46;
  white-space: pre-wrap;
  margin: 0;
  font-size: 11px;
  line-height: 1.7;
}

.paper-report-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  display: grid;
}

.paper-report-metrics > div {
  background: #fafafa;
  border-radius: 8px;
  padding: 9px 10px;
}

.paper-report-metrics span, .paper-report-daily > b, .paper-report-events > b {
  color: var(--light);
  margin-bottom: 4px;
  font-size: 8px;
  font-weight: 800;
  display: block;
}

.paper-report-metrics strong {
  color: var(--ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px;
}

.paper-report-metrics strong.up {
  color: var(--up);
}

.paper-report-metrics strong.down {
  color: var(--down);
}

.paper-report-detail {
  background: #f8fbff;
  border-left: 2px solid #dbeafe;
  border-radius: 0 8px 8px 0;
  padding: 10px 12px;
}

.paper-report-detail b {
  color: #1d4ed8;
  margin-bottom: 3px;
  font-size: 9px;
  display: block;
}

.paper-report-daily, .paper-report-events {
  gap: 5px;
  display: grid;
}

.paper-report-daily > b, .paper-report-events > b {
  color: var(--ink);
  font-size: 10px;
}

.paper-report-daily p, .paper-report-events p {
  color: var(--muted);
  margin: 0;
  font-size: 10px;
  line-height: 1.55;
}

.paper-report-daily p strong {
  min-width: 82px;
  color: var(--ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  display: inline-block;
}

.paper-report-daily p span {
  color: var(--ink);
  font-weight: 750;
}

.paper-report-columns {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  display: grid;
}

.paper-report-list {
  background: #fafafa;
  border-radius: 8px;
  padding: 10px 11px;
}

.paper-report-list.good {
  background: #f0fdf4;
}

.paper-report-list.risk {
  background: #fef2f2;
}

.paper-report-list.plan {
  background: #eff6ff;
}

.paper-report-list b {
  color: var(--ink);
  margin-bottom: 5px;
  font-size: 9px;
  display: block;
}

.paper-report-list.good b {
  color: #15803d;
}

.paper-report-list.risk b {
  color: #b91c1c;
}

.paper-report-list.plan b {
  color: #1d4ed8;
}

.paper-report-list ul {
  gap: 3px;
  margin: 0;
  padding-left: 14px;
  display: grid;
}

.paper-report-list li {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
}

.paper-report-groups {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  display: grid;
}

.paper-report-groups p {
  color: var(--muted);
  background: #fafafa;
  border-radius: 8px;
  margin: 0;
  padding: 9px 10px;
  font-size: 9px;
  line-height: 1.5;
}

.paper-report-groups b {
  color: var(--ink);
  margin-bottom: 3px;
  font-size: 9px;
  display: block;
}

@media (max-width: 1100px) {
  .paper-trading-modal.running {
    height: calc(100vh - 24px);
  }

  .paper-run-grid {
    grid-template-rows: none;
    grid-template-columns: minmax(0, 1fr);
    overflow-y: auto;
  }

  .paper-chart-panel, .paper-desk-panel, .paper-feed-panel {
    grid-area: auto / 1;
  }

  .paper-panel {
    min-height: 340px;
  }

  .paper-posts, .paper-round-orders > div {
    grid-template-columns: minmax(0, 1fr);
  }

  .paper-report-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .paper-report-lists {
    grid-template-columns: minmax(0, 1fr);
  }

  .paper-completed-reports {
    padding-left: 18px;
    padding-right: 18px;
  }

  .paper-report-metrics, .paper-report-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .paper-report-columns {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 820px) {
  .paper-header-progress {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }

  .paper-setup {
    padding: 20px 18px 24px;
  }

  .paper-run-header, .paper-run-grid {
    padding-left: 16px;
    padding-right: 16px;
  }

  .paper-setting-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .paper-money-panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .paper-money-presets {
    grid-column: 1;
  }

  .paper-holding-inputs {
    grid-template-columns: minmax(0, 1fr);
  }

  .paper-collection-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .paper-collection-status, .paper-investment-actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .paper-ready-actions, .paper-agent-grid, .paper-record-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .paper-record-column {
    min-height: 360px;
  }

  .paper-agent-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .paper-agent-order-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .paper-agent-modal {
    border-radius: 12px;
    height: calc(100vh - 24px);
  }

  .paper-agent-modal > header {
    padding: 20px 18px 16px;
  }

  .paper-agent-profile-list {
    grid-template-columns: minmax(0, 1fr);
    padding: 14px;
  }

  .paper-context-documents, .paper-context-points {
    grid-template-columns: minmax(0, 1fr);
  }

  .paper-document-backdrop {
    padding: 12px;
  }

  .paper-document-modal {
    border-radius: 12px;
    height: calc(100vh - 24px);
  }

  .paper-document-modal > header {
    padding: 20px 18px 16px;
  }

  .paper-document-modal pre {
    padding: 18px;
  }
}

@media (min-width: 1101px) {
  .market-dashboard {
    align-items: start;
  }

  .market-dashboard > .panel {
    height: 702px;
    min-height: 702px;
  }

  .event-panel {
    flex-direction: column;
    display: flex;
  }

  .event-panel > .event-timeline {
    flex-direction: column;
    flex: 1;
    justify-content: space-between;
    min-height: 0;
    display: flex;
  }

  .event-panel > .event-timeline > article {
    flex: 1;
    min-height: 0;
  }

  .chart-panel > .market-overview {
    flex: 0 0 532px;
    height: 532px;
    min-height: 532px;
  }

  .chart-panel > .ai-summary {
    box-sizing: border-box;
    flex: 0 0 149px;
    height: 149px;
    min-height: 149px;
    max-height: 149px;
  }

  .chart-panel > .ai-summary:not(.expanded) p {
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .chart-panel > .ai-summary.expanded {
    overflow-y: auto;
  }
}

@media (max-width: 1100px) {
  .journal-lab-body {
    grid-template-columns: 1fr;
  }

  .journal-lab-sidebar {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    max-height: none;
  }

  .market-dashboard {
    grid-template-columns: 240px minmax(440px, 1fr);
  }

  .market-dashboard > .panel {
    height: auto;
  }

  .event-panel {
    grid-column: 1 / -1;
    height: auto;
  }

  .event-timeline {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    display: grid;
  }

  .event-timeline article {
    border: 1px solid var(--line);
    border-radius: 8px;
    grid-template-columns: auto 1fr;
    min-height: 0;
    padding: 11px;
  }

  .event-timeline article:after, .event-dot {
    display: none;
  }

  .scenario-grid, .builder-seed-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scenario-build-grid {
    grid-template-columns: 1fr;
  }

  .knowledge-graph-wrap, .knowledge-graph-svg {
    height: 420px;
    min-height: 420px;
  }

  .agent-profile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scenario-run-modal {
    height: auto;
    overflow-y: auto;
  }

  .scenario-run-screen {
    height: auto;
    min-height: calc(100vh - 24px);
  }

  .scenario-run-grid {
    grid-template-columns: 1fr;
  }

  .scenario-action-panel, .scenario-chat-panel {
    min-height: 430px;
  }
}

@media (max-width: 820px) {
  .top-header {
    gap: 12px;
    min-height: 60px;
    padding: 0 16px;
  }

  .brand {
    font-size: 17px;
  }

  .top-nav {
    gap: 16px;
  }

  .top-nav button {
    height: 60px;
    font-size: 12.5px;
  }

  .market-page, .journal-page {
    width: calc(100% - 24px);
    padding: 22px 0 90px;
  }

  .page-heading {
    display: block;
  }

  .page-heading h1 {
    font-size: 25px;
  }

  .market-stamp {
    width: fit-content;
    margin-top: 13px;
  }

  .market-layout {
    display: block;
  }

  .symbol-sidebar {
    margin-bottom: 16px;
  }

  .market-dashboard {
    display: block;
  }

  .market-dashboard > .panel {
    height: auto;
  }

  .panel-note {
    text-align: left;
    max-width: none;
  }

  .panel {
    height: auto;
  }

  .panel + .panel {
    margin-top: 12px;
  }

  .connection-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid;
  }

  .connection-list article {
    padding: 10px;
  }

  .event-timeline, .scenario-grid {
    grid-template-columns: 1fr;
  }

  .indicator-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 18px;
  }

  .indicator-tile:nth-child(2n) {
    border-right: 0;
  }

  .indicator-tile:nth-child(-n+2) {
    border-bottom: 1px solid var(--line);
    padding-bottom: 12px;
  }

  .stock-condition-heading h1 {
    font-size: 21px;
  }

  .chart-title-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .chart-content {
    grid-template-columns: 1fr;
  }

  .chart-wrap {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding: 16px;
  }

  .event-rail > header {
    padding: 16px 16px 0;
  }

  .event-rail .event-timeline {
    padding: 12px 16px 6px;
  }

  .scenario-modal {
    max-height: calc(100vh - 24px);
    padding: 20px 16px;
  }

  .scenario-builder-header, .scenario-build-header {
    gap: 12px;
  }

  .builder-input-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .builder-period-row {
    display: block;
  }

  .builder-period-options {
    margin-top: 10px;
  }

  .scenario-build-meta {
    grid-template-columns: 1fr 1fr;
    display: grid;
  }

  .scenario-build-meta span:last-child {
    grid-column: 1 / -1;
  }

  .scenario-run-header {
    padding: 18px 16px 15px;
  }

  .scenario-run-header p {
    white-space: normal;
  }

  .scenario-run-overview {
    padding: 13px 16px 14px;
  }

  .scenario-run-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scenario-run-grid {
    padding: 12px 16px;
  }

  .scenario-run-footer {
    gap: 4px;
    padding: 9px 16px;
    display: grid;
  }

  .knowledge-graph-footer {
    display: block;
  }

  .knowledge-graph-footer span + span {
    margin-top: 5px;
    display: block;
  }

  .config-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .config-row-list > div {
    grid-template-columns: 85px minmax(0, 1fr) auto;
  }

  .simulation-ready-summary, .scenario-detail-body {
    grid-template-columns: 1fr;
  }

  .scenario-story {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding-bottom: 17px;
    padding-right: 0;
  }

  .scenario-narrative-list, .scenario-decision-grid, .scenario-learning-overview {
    grid-template-columns: 1fr;
  }

  .scenario-learning-header h3 {
    font-size: 22px;
  }

  .scenario-learning-section h4 {
    font-size: 17px;
  }

  .scenario-learning-section p {
    font-size: 13px;
  }

  .scenario-bias-grid {
    grid-template-columns: 1fr;
  }

  .premium-brief-intro {
    display: block;
  }

  .premium-ai-status {
    margin-top: 14px;
  }

  .daily-story-card, .daily-story-card.layout-hero, .daily-story-card.layout-spotlight {
    grid-template-columns: 1fr;
  }

  .daily-story-card .daily-card-art, .daily-story-card.layout-reverse .daily-card-art {
    border-bottom: 2px solid #23231f;
    border-left: 0;
    border-right: 0;
    order: 1;
    min-height: 280px;
  }

  .daily-story-card .daily-card-copy, .daily-story-card.layout-reverse .daily-card-copy {
    order: 2;
  }

  .daily-editor-note {
    padding: 36px 38px 40px;
  }

  .daily-original-report {
    padding: 20px;
  }

  .premium-brief-footer {
    gap: 6px;
    display: grid;
  }

  .mobile-tabs {
    z-index: 50;
    height: 64px;
    padding: 5px 10px env(safe-area-inset-bottom);
    border-top: 1px solid var(--line);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    background: #fffffff5;
    grid-template-columns: repeat(2, 1fr);
    display: grid;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
  }

  .mobile-tabs button {
    color: var(--light);
    background: none;
    border: 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 4px;
    font-size: 9px;
    display: flex;
  }

  .mobile-tabs button.active {
    color: var(--ink);
  }
}

@media (max-width: 520px) {
  .connection-list {
    grid-template-columns: 1fr;
  }

  .journal-event-tooltip {
    width: 200px;
  }

  .journal-lab-run-head {
    align-items: flex-start;
  }

  .market-overview {
    grid-template-columns: 1fr;
  }

  .market-overview-primary {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .market-overview-side {
    flex: none;
    grid-template-columns: 1fr;
    padding-top: 8px;
  }

  .market-overview-mini {
    grid-template-columns: 105px minmax(0, 1fr);
  }

  .market-overview-mini > svg {
    width: 105px;
  }

  .kospi-head {
    height: auto;
    min-height: 112px;
    overflow: visible;
  }

  .kospi-head > div:last-child {
    text-align: left;
    flex: none;
    max-width: none;
    margin-top: 10px;
  }

  .kospi-head h2 strong {
    margin: 2px 0 0;
    display: block;
  }

  .forecast-canvas {
    height: 250px;
  }

  .scenario-section {
    padding: 14px;
  }

  .scenario-heading {
    display: block;
  }

  .scenario-heading > span {
    margin-top: 9px;
  }

  .scenario-detail {
    padding: 16px;
  }

  .scenario-detail-header {
    display: block;
  }

  .scenario-detail-forecast {
    text-align: left;
    width: fit-content;
    min-width: 0;
    margin-top: 13px;
  }

  .scenario-detail-lead {
    padding: 14px;
  }

  .scenario-detail-lead > strong {
    font-size: 18px;
  }

  .scenario-detail-lead > p, .scenario-detail-label, .scenario-story > p {
    font-size: 13px;
  }

  .scenario-milestone h4 {
    font-size: 14px;
  }

  .scenario-milestone p {
    font-size: 12px;
  }

  .scenario-narrative-card h4 {
    font-size: 15px;
  }

  .scenario-narrative-card p, .scenario-narrative-card .scenario-narrative-lesson {
    font-size: 12px;
  }

  .scenario-learning-article {
    padding: 18px 15px 20px;
  }

  .scenario-learning-header h3 {
    font-size: 20px;
  }

  .scenario-learning-header p {
    font-size: 13px;
  }

  .scenario-learning-table th, .scenario-learning-table td {
    padding: 8px 5px;
    font-size: 11px;
  }

  .scenario-learning-table tbody td:nth-child(2) {
    font-size: 12px;
  }

  .scenario-learning-section {
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 8px;
  }

  .scenario-learning-section h4 {
    font-size: 16px;
  }

  .scenario-learning-section p {
    font-size: 12.5px;
    line-height: 1.8;
  }

  .scenario-learning-takeaway {
    display: block;
  }

  .scenario-learning-takeaway span {
    margin-top: 4px;
    font-size: 11.5px;
    display: block;
  }

  .scenario-section-note {
    font-size: 12px;
  }

  .scenario-choice-row h4 {
    font-size: 13px;
  }

  .scenario-choice-row p, .scenario-study-list p, .scenario-bias-card > p {
    font-size: 11.5px;
  }

  .scenario-detail-visual {
    height: 130px;
  }

  .scenario-milestone {
    grid-template-columns: 24px minmax(0, 1fr);
  }

  .scenario-milestone > strong {
    grid-column: 2;
    padding-top: 3px;
  }

  .scenario-detail-backdrop {
    padding: 6px;
  }

  .scenario-detail-modal {
    border-radius: 15px;
    max-height: calc(100vh - 12px);
    padding: 0;
  }

  .scenario-detail-modal-header {
    gap: 12px;
    padding: 15px 14px 14px;
  }

  .scenario-detail-modal-header h2 {
    font-size: 20px;
  }

  .scenario-detail-modal-header p {
    display: none;
  }

  .scenario-modal-close {
    width: 34px;
    height: 34px;
  }

  .premium-brief {
    padding: 19px 14px 22px;
  }

  .premium-brief-intro {
    padding-bottom: 19px;
  }

  .premium-brief-intro h2 {
    font-size: 25px;
  }

  .premium-brief-intro p {
    font-size: 12px;
  }

  .card-news-label small {
    display: none;
  }

  .daily-story-stack {
    gap: 13px;
  }

  .daily-story-card {
    border-radius: 20px;
    min-height: 0;
    box-shadow: 4px 5px #23231f;
  }

  .daily-story-card .daily-card-art, .daily-story-card.layout-reverse .daily-card-art {
    min-height: 230px;
  }

  .daily-card-copy {
    padding: 22px 19px 24px;
  }

  .daily-card-copy h3 {
    font-size: 23px;
  }

  .daily-card-copy > p {
    font-size: 12px;
  }

  .story-flow-visual {
    gap: 6px;
    padding: 20px;
  }

  .story-flow-visual span {
    font-size: 10px;
    box-shadow: 2px 3px #23231f;
  }

  .story-flow-visual b {
    font-size: 16px;
  }

  .story-radar-visual {
    width: 190px;
    height: 190px;
  }

  .daily-editor-note {
    border-radius: 18px;
    padding: 26px 20px 29px;
    box-shadow: 4px 5px #23231f;
  }

  .daily-editor-note > strong {
    font-size: 15px;
  }

  .daily-editor-note p {
    font-size: 13px;
    line-height: 1.9;
  }

  .daily-original-report {
    border-radius: 17px;
    padding: 16px 12px;
  }

  .daily-original-report-heading {
    padding: 0 4px 16px;
  }

  .daily-original-report-heading h3 {
    font-size: 19px;
  }

  .scenario-detail-modal-summary {
    display: block;
  }

  .scenario-detail-modal-tags {
    margin-top: 12px;
  }

  .scenario-detail-modal-grid {
    grid-template-columns: 1fr;
    gap: 21px;
  }

  .scenario-detail-modal-story {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding-bottom: 18px;
    padding-right: 0;
  }

  .scenario-detail-modal-event {
    grid-template-columns: 24px minmax(0, 1fr);
  }

  .scenario-detail-modal-event > strong {
    grid-column: 2;
    padding-top: 3px;
  }

  .scenario-detail-modal-cover {
    height: 145px;
  }

  .scenario-agent-grid, .builder-seed-grid {
    grid-template-columns: 1fr;
  }

  .scenario-builder-header h2 {
    font-size: 23px;
  }

  .scenario-builder-header p {
    font-size: 10px;
  }

  .build-step-header {
    grid-template-columns: 27px minmax(0, 1fr);
  }

  .build-step-header > strong {
    grid-column: 2;
    width: fit-content;
    margin-top: 4px;
  }

  .knowledge-graph-wrap, .knowledge-graph-svg {
    height: 340px;
    min-height: 340px;
  }

  .knowledge-graph-toolbar {
    display: block;
  }

  .knowledge-graph-toolbar span + span {
    margin-top: 5px;
    display: block;
  }

  .agent-profile-grid {
    grid-template-columns: 1fr;
  }

  .config-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .config-row-list > div {
    grid-template-columns: 1fr auto;
  }

  .config-row-list span {
    grid-area: 2 / 1 / auto / -1;
  }

  .ready-rounds {
    flex-wrap: wrap;
  }

  .ready-rounds em {
    margin-left: 0;
  }

  .scenario-run-header {
    align-items: flex-start;
  }

  .scenario-run-header-actions {
    gap: 5px;
  }

  .scenario-run-status {
    padding: 6px 7px;
    font-size: 7px;
  }

  .scenario-run-metrics {
    grid-template-columns: 1fr 1fr;
    gap: 5px;
  }

  .scenario-run-metrics > div {
    grid-template-columns: auto 1fr;
    padding: 8px;
  }

  .scenario-run-metrics strong {
    grid-column: 2;
    font-size: 12px;
  }

  .scenario-run-grid {
    padding: 8px;
  }

  .scenario-action-panel, .scenario-chat-panel {
    min-height: 400px;
  }

  .scenario-run-footer {
    padding: 8px 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}

@media (prefers-reduced-transparency: reduce) {
  .scenario-detail-modal-header {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: #fff;
  }
}

.dark {
  --background: #0a0a0a;
  --foreground: #fafafa;
  --card: #171717;
  --card-foreground: #fafafa;
  --popover: #171717;
  --popover-foreground: #fafafa;
  --primary: #e5e5e5;
  --primary-foreground: #171717;
  --secondary: #262626;
  --secondary-foreground: #fafafa;
  --muted: #9aa0ab;
  --ui-muted: #262626;
  --muted-foreground: #a1a1a1;
  --accent: #262626;
  --accent-foreground: #fafafa;
  --destructive: #ff6568;
  --border: #ffffff1a;
  --input: #ffffff26;
  --ring: #737373;
  --chart-1: #d4d4d4;
  --chart-2: #737373;
  --chart-3: #525252;
  --chart-4: #404040;
  --chart-5: #262626;
  --sidebar: #171717;
  --sidebar-foreground: #fafafa;
  --sidebar-primary: #1447e6;
  --sidebar-primary-foreground: #fafafa;
  --sidebar-accent: #262626;
  --sidebar-accent-foreground: #fafafa;
  --sidebar-border: #ffffff1a;
  --sidebar-ring: #737373;
}

@supports (color: lab(0% 0 0)) {
  .dark {
    --background: lab(2.75381% 0 0);
    --foreground: lab(98.26% 0 0);
    --card: lab(7.78201% -.0000149012 0);
    --card-foreground: lab(98.26% 0 0);
    --popover: lab(7.78201% -.0000149012 0);
    --popover-foreground: lab(98.26% 0 0);
    --primary: lab(90.952% 0 -.0000119209);
    --primary-foreground: lab(7.78201% -.0000149012 0);
    --secondary: lab(15.204% 0 -.00000596046);
    --secondary-foreground: lab(98.26% 0 0);
    --ui-muted: lab(15.204% 0 -.00000596046);
    --muted-foreground: lab(66.128% -.0000298023 .0000119209);
    --accent: lab(15.204% 0 -.00000596046);
    --accent-foreground: lab(98.26% 0 0);
    --destructive: lab(63.7053% 60.745 31.3109);
    --border: lab(100% 0 0 / .1);
    --input: lab(100% 0 0 / .15);
    --ring: lab(48.496% 0 0);
    --chart-1: lab(84.92% 0 -.0000119209);
    --chart-2: lab(48.496% 0 0);
    --chart-3: lab(34.924% 0 0);
    --chart-4: lab(27.036% 0 0);
    --chart-5: lab(15.204% 0 -.00000596046);
    --sidebar: lab(7.78201% -.0000149012 0);
    --sidebar-foreground: lab(98.26% 0 0);
    --sidebar-primary: lab(36.9089% 35.0961 -85.6872);
    --sidebar-primary-foreground: lab(98.26% 0 0);
    --sidebar-accent: lab(15.204% 0 -.00000596046);
    --sidebar-accent-foreground: lab(98.26% 0 0);
    --sidebar-border: lab(100% 0 0 / .1);
    --sidebar-ring: lab(48.496% 0 0);
  }
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-ordinal {
  syntax: "*";
  inherits: false
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@keyframes enter {
  from {
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0)scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1))rotate(var(--tw-enter-rotate, 0));
    filter: blur(var(--tw-enter-blur, 0));
  }
}

@keyframes exit {
  to {
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0)scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1))rotate(var(--tw-exit-rotate, 0));
    filter: blur(var(--tw-exit-blur, 0));
  }
}

/*# sourceMappingURL=_0n8i3gp._.css.map*/