/* latin-ext */
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/a52e19ebe0398c9c0f8f.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/e1896b13b2b1bb112fac.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/29634170d5eb07f460a9.woff2) format('woff2');
  unicode-range: U+1f1e9-1f1f5, U+1f1f7-1f1ff, U+1f21a, U+1f232, U+1f234-1f237, U+1f250-1f251, U+1f300, U+1f302-1f308, U+1f30a-1f311, U+1f315, U+1f319-1f320, U+1f324, U+1f327, U+1f32a, U+1f32c-1f32d, U+1f330-1f357, U+1f359-1f37e;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/08f7b17fb6a88382277d.woff2) format('woff2');
  unicode-range: U+fee3, U+fef3, U+ff03-ff04, U+ff07, U+ff0a, U+ff17-ff19, U+ff1c-ff1d, U+ff20-ff3a, U+ff3c, U+ff3e-ff5b, U+ff5d, U+ff61-ff65, U+ff67-ff6a, U+ff6c, U+ff6f-ff78, U+ff7a-ff7d, U+ff80-ff84, U+ff86, U+ff89-ff8e, U+ff92, U+ff97-ff9b, U+ff9d-ff9f, U+ffe0-ffe4, U+ffe6, U+ffe9, U+ffeb, U+ffed, U+fffc, U+1f004, U+1f170-1f171, U+1f192-1f195, U+1f198-1f19a, U+1f1e6-1f1e8;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/675ff09731b49aeff903.woff2) format('woff2');
  unicode-range: U+f0a7, U+f0b2, U+f0b7, U+f0c9, U+f0d8, U+f0da, U+f0dc-f0dd, U+f0e0, U+f0e6, U+f0eb, U+f0fc, U+f101, U+f104-f105, U+f107, U+f10b, U+f11b, U+f14b, U+f18a, U+f193, U+f1d6-f1d7, U+f244, U+f27a, U+f296, U+f2ae, U+f471, U+f4b3, U+f610-f611, U+f880-f881, U+f8ec, U+f8f5, U+f8ff, U+f901, U+f90a, U+f92c-f92d, U+f934, U+f937, U+f941, U+f965, U+f967, U+f969, U+f96b, U+f96f, U+f974, U+f978-f979, U+f97e, U+f981, U+f98a, U+f98e, U+f997, U+f99c, U+f9b2, U+f9b5, U+f9ba, U+f9be, U+f9ca, U+f9d0-f9d1, U+f9dd, U+f9e0-f9e1, U+f9e4, U+f9f7, U+fa00-fa01, U+fa08, U+fa0a, U+fa11, U+fb01-fb02, U+fdfc, U+fe0e, U+fe30-fe31, U+fe33-fe44, U+fe49-fe52, U+fe54-fe57, U+fe59-fe66, U+fe68-fe6b, U+fe8e, U+fe92-fe93, U+feae, U+feb8, U+fecb-fecc, U+fee0;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/0c5afc8752b151a444cc.woff2) format('woff2');
  unicode-range: U+9f83, U+9f85-9f8d, U+9f90-9f91, U+9f94-9f96, U+9f98, U+9f9b-9f9c, U+9f9e, U+9fa0, U+9fa2, U+9ff0-9fff, U+a001, U+a007, U+a025, U+a046-a047, U+a057, U+a072, U+a078-a079, U+a083, U+a085, U+a100, U+a118, U+a132, U+a134, U+a1f4, U+a242, U+a4a6, U+a4aa, U+a4b0-a4b1, U+a4b3, U+a9c1-a9c2, U+ac00-ac01, U+ac04, U+ac08, U+ac10-ac11, U+ac13-ac16, U+ac19, U+ac1c-ac1d, U+ac24, U+ac70-ac71, U+ac74, U+ac77-ac78, U+ac80-ac81, U+ac83, U+ac8c, U+ac90, U+ac9f-aca0, U+aca8-aca9, U+acac, U+acb0, U+acbd, U+acc1, U+acc4, U+ace0-ace1, U+ace4, U+ace8, U+acf3, U+acf5, U+acfc-acfd, U+ad00, U+ad0c, U+ad11, U+ad1c, U+ad34, U+ad50, U+ad64, U+ad6c, U+ad70, U+ad74, U+ad7f, U+ad81, U+ad8c, U+adc0, U+adc8, U+addc, U+ade0, U+adf8-adf9, U+adfc, U+ae00, U+ae08-ae09, U+ae0b, U+ae30, U+ae34, U+ae38, U+ae40, U+ae4a, U+ae4c, U+ae54, U+ae68, U+aebc, U+aed8, U+af2c-af2d;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/b15b23e18f7b765bd08d.woff2) format('woff2');
  unicode-range: U+9e30-9e33, U+9e35-9e3b, U+9e3e, U+9e40-9e44, U+9e46-9e4e, U+9e51, U+9e53, U+9e55-9e58, U+9e5a-9e5c, U+9e5e-9e63, U+9e66-9e6e, U+9e71, U+9e73, U+9e75, U+9e78-9e79, U+9e7c-9e7e, U+9e82, U+9e86-9e88, U+9e8b-9e8c, U+9e90-9e91, U+9e93, U+9e95, U+9e97, U+9e9d, U+9ea4-9ea5, U+9ea9-9eaa, U+9eb4-9eb5, U+9eb8-9eba, U+9ebc-9ebf, U+9ec3, U+9ec9, U+9ecd, U+9ed0, U+9ed2-9ed3, U+9ed5-9ed6, U+9ed9, U+9edc-9edd, U+9edf-9ee0, U+9ee2, U+9ee5, U+9ee7-9eea, U+9eef, U+9ef1, U+9ef3-9ef4, U+9ef6, U+9ef9, U+9efb-9efc, U+9efe, U+9f0b, U+9f0d, U+9f10, U+9f14, U+9f17, U+9f19, U+9f22, U+9f29, U+9f2c, U+9f2f, U+9f31, U+9f37, U+9f39, U+9f3d-9f3e, U+9f41, U+9f4a-9f4b, U+9f51-9f52, U+9f61-9f63, U+9f66-9f67, U+9f80-9f81;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/a8f6664d83439cd5d329.woff2) format('woff2');
  unicode-range: U+9c82-9c83, U+9c85-9c8c, U+9c8e-9c92, U+9c94-9c9b, U+9c9e-9ca3, U+9ca5-9ca7, U+9ca9, U+9cab, U+9cad-9cae, U+9cb1-9cb7, U+9cb9-9cbd, U+9cbf-9cc0, U+9cc3, U+9cc5-9cc7, U+9cc9-9cd1, U+9cd3-9cda, U+9cdc-9cdd, U+9cdf, U+9ce1-9ce3, U+9ce5, U+9ce9, U+9cee-9cef, U+9cf3-9cf4, U+9cf6, U+9cfc-9cfd, U+9d02, U+9d08-9d09, U+9d12, U+9d1b, U+9d1e, U+9d26, U+9d28, U+9d37, U+9d3b, U+9d3f, U+9d51, U+9d59, U+9d5c-9d5d, U+9d5f-9d61, U+9d6c, U+9d70, U+9d72, U+9d7a, U+9d7e, U+9d84, U+9d89, U+9d8f, U+9d92, U+9daf, U+9db4, U+9db8, U+9dbc, U+9dc4, U+9dc7, U+9dc9, U+9dd7, U+9ddf, U+9df2, U+9df9-9dfa, U+9e0a, U+9e11, U+9e1a, U+9e1e, U+9e20, U+9e22, U+9e28-9e2c, U+9e2e-9e2f;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/fc59757db66129052cd8.woff2) format('woff2');
  unicode-range: U+9a80, U+9a83, U+9a85, U+9a88-9a8a, U+9a8d-9a8e, U+9a90, U+9a92-9a93, U+9a95-9a96, U+9a98-9a99, U+9a9b-9aa2, U+9aa5, U+9aa7, U+9aaf-9ab1, U+9ab5-9ab6, U+9ab9-9aba, U+9ac0-9ac4, U+9ac8, U+9acb-9acc, U+9ace-9acf, U+9ad1-9ad2, U+9ad9, U+9adf, U+9ae1, U+9ae3, U+9aea-9aeb, U+9aed-9aef, U+9af4, U+9af9, U+9afb, U+9b03-9b04, U+9b06, U+9b08, U+9b0d, U+9b0f-9b10, U+9b13, U+9b18, U+9b1a, U+9b1f, U+9b22-9b23, U+9b25, U+9b27-9b28, U+9b2a, U+9b2f, U+9b31-9b32, U+9b3b, U+9b43, U+9b46-9b49, U+9b4d-9b4e, U+9b51, U+9b56, U+9b58, U+9b5a, U+9b5c, U+9b5f, U+9b61-9b62, U+9b6f, U+9b77, U+9b80, U+9b88, U+9b8b, U+9b8e, U+9b91, U+9b9f-9ba0, U+9ba8, U+9baa-9bab, U+9bad-9bae, U+9bb0-9bb1, U+9bb8, U+9bc9-9bca, U+9bd3, U+9bd6, U+9bdb, U+9be8, U+9bf0-9bf1, U+9c02, U+9c10, U+9c15, U+9c24, U+9c2d, U+9c32, U+9c39, U+9c3b, U+9c40, U+9c47-9c49, U+9c53, U+9c57, U+9c64, U+9c72, U+9c77-9c78, U+9c7b, U+9c7f-9c80;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/074e6162a8ba4f9cf258.woff2) format('woff2');
  unicode-range: U+98dd, U+98e1-98e2, U+98e7-98ea, U+98ec, U+98ee-98ef, U+98f2, U+98f4, U+98fc-98fe, U+9903, U+9905, U+9908, U+990a, U+990c-990d, U+9913-9914, U+9918, U+991a-991b, U+991e, U+9921, U+9928, U+992c, U+992e, U+9935, U+9938-9939, U+993d-993e, U+9945, U+994b-994c, U+9951-9952, U+9954-9955, U+9957, U+995e, U+9963, U+9966-9969, U+996b-996c, U+996f, U+9974-9975, U+9977-9979, U+997d-997e, U+9980-9981, U+9983-9984, U+9987, U+998a-998b, U+998d-9991, U+9993-9995, U+9997-9998, U+99a5, U+99ab, U+99ad-99ae, U+99b1, U+99b3-99b4, U+99bc, U+99bf, U+99c1, U+99c3-99c6, U+99cc, U+99d0, U+99d2, U+99d5, U+99db, U+99dd, U+99e1, U+99ed, U+99f1, U+99ff, U+9a01, U+9a03-9a04, U+9a0e-9a0f, U+9a11-9a13, U+9a19, U+9a1b, U+9a28, U+9a2b, U+9a30, U+9a32, U+9a37, U+9a40, U+9a45, U+9a4a, U+9a4d-9a4e, U+9a52, U+9a55, U+9a57, U+9a5a-9a5b, U+9a5f, U+9a62, U+9a65, U+9a69, U+9a6b, U+9a6e, U+9a75, U+9a77-9a7a, U+9a7d;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/68074245ba1ea9745cad.woff2) format('woff2');
  unicode-range: U+975b-975c, U+9763, U+9765-9766, U+976c-976d, U+9773, U+9776, U+977a, U+977c, U+9784-9785, U+978e-978f, U+9791-9792, U+9794-9795, U+9798, U+979a, U+979e, U+97a3, U+97a5-97a6, U+97a8, U+97ab-97ac, U+97ae-97af, U+97b2, U+97b4, U+97c6, U+97cb-97cc, U+97d3, U+97d8, U+97dc, U+97e1, U+97ea-97eb, U+97ee, U+97fb, U+97fe-97ff, U+9801-9803, U+9805-9806, U+9808, U+980c, U+9810-9814, U+9817-9818, U+981e, U+9820-9821, U+9824, U+9828, U+982b-982d, U+9830, U+9834, U+9838-9839, U+983c, U+9846, U+984d-984f, U+9851-9852, U+9854-9855, U+9857-9858, U+985a-985b, U+9862-9863, U+9865, U+9867, U+986b, U+986f-9871, U+9877-9878, U+987c, U+9880, U+9883, U+9885, U+9889, U+988b-988f, U+9893-9895, U+9899-989b, U+989e-989f, U+98a1-98a2, U+98a5-98a7, U+98a9, U+98af, U+98b1, U+98b6, U+98ba, U+98be, U+98c3-98c4, U+98c6-98c8, U+98cf-98d6, U+98da-98db;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/4e0dafaa26d924f5612a.woff2) format('woff2');
  unicode-range: U+95c4-95ca, U+95cc-95cd, U+95d4-95d6, U+95d8, U+95e1-95e2, U+95e9, U+95f0-95f1, U+95f3, U+95f6, U+95fc, U+95fe-95ff, U+9602-9604, U+9606-960d, U+960f, U+9611-9613, U+9615-9617, U+9619-961b, U+961d, U+9621, U+9628, U+962f, U+963c-963e, U+9641-9642, U+9649, U+9654, U+965b-965f, U+9661, U+9663, U+9665, U+9667-9668, U+966c, U+9670, U+9672-9674, U+9678, U+967a, U+967d, U+9682, U+9685, U+9688, U+968a, U+968d-968e, U+9695, U+9697-9698, U+969e, U+96a0, U+96a3-96a4, U+96a8, U+96aa, U+96b0-96b1, U+96b3-96b4, U+96b7-96b9, U+96bb-96bd, U+96c9, U+96cb, U+96ce, U+96d1-96d2, U+96d6, U+96d9, U+96db-96dc, U+96de, U+96e0, U+96e3, U+96e9, U+96eb, U+96f0-96f2, U+96f9, U+96ff, U+9701-9702, U+9705, U+9708, U+970a, U+970e-970f, U+9711, U+9719, U+9727, U+972a, U+972d, U+9730, U+973d, U+9742, U+9744, U+9748-9749, U+9750-9751, U+975a;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/31bb7facf7a62ee18902.woff2) format('woff2');
  unicode-range: U+94f5, U+94f7, U+94f9, U+94fb-94fd, U+94ff, U+9503-9504, U+9506-9507, U+9509-950a, U+950d-950f, U+9511-9518, U+951a-9520, U+9522, U+9528-952d, U+9530-953a, U+953c-953f, U+9543-9546, U+9548-9550, U+9552-9555, U+9557-955b, U+955d-9568, U+956a-956d, U+9570-9574, U+9583, U+9586, U+9589, U+958e-958f, U+9591-9592, U+9594, U+9598-9599, U+959e-95a0, U+95a2-95a6, U+95a8-95b2, U+95b4, U+95b8-95c3;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/67d137f738bc8294a036.woff2) format('woff2');
  unicode-range: U+941c-942b, U+942d-942e, U+9432-9433, U+9435, U+9438, U+943a, U+943e, U+9444, U+944a, U+9451-9452, U+945a, U+9462-9463, U+9465, U+9470-9487, U+948a-9492, U+9494-9498, U+949a, U+949c-949d, U+94a1, U+94a3-94a4, U+94a8, U+94aa-94ad, U+94af, U+94b2, U+94b4-94ba, U+94bc-94c0, U+94c4, U+94c6-94db, U+94de-94ec, U+94ee-94f1, U+94f3;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/12acd771479c93c76f06.woff2) format('woff2');
  unicode-range: U+92ec-92ed, U+92f0, U+92f3, U+92f8, U+92fc, U+9304, U+9306, U+9310, U+9312, U+9315, U+9318, U+931a, U+931e, U+9320-9322, U+9324, U+9326-9329, U+932b-932c, U+932f, U+9331-9332, U+9335-9336, U+933e, U+9340-9341, U+934a-9360, U+9362-9363, U+9365-936b, U+936e, U+9375, U+937e, U+9382, U+938a, U+938c, U+938f, U+9393-9394, U+9396-9397, U+939a, U+93a2, U+93a7, U+93ac-93cd, U+93d0-93d1, U+93d6-93d8, U+93de-93df, U+93e1-93e2, U+93e4, U+93f8, U+93fb, U+93fd, U+940e-941a;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/def5793483c7abc922de.woff2) format('woff2');
  unicode-range: U+9163-9164, U+9169, U+9170, U+9172, U+9174, U+9179-917a, U+917d-917e, U+9182-9183, U+9185, U+918c-918d, U+9190-9191, U+919a, U+919c, U+91a1-91a4, U+91a8, U+91aa-91af, U+91b4-91b5, U+91b8, U+91ba, U+91be, U+91c0-91c1, U+91c6, U+91c8, U+91cb, U+91d0, U+91d2, U+91d7-91d8, U+91dd, U+91e3, U+91e6-91e7, U+91ed, U+91f0, U+91f5, U+91f9, U+9200, U+9205, U+9207-920a, U+920d-920e, U+9210, U+9214-9215, U+921c, U+921e, U+9221, U+9223-9227, U+9229-922a, U+922d, U+9234-9235, U+9237, U+9239-923a, U+923c-9240, U+9244-9246, U+9249, U+924e-924f, U+9251, U+9253, U+9257, U+925b, U+925e, U+9262, U+9264-9266, U+9268, U+926c, U+926f, U+9271, U+927b, U+927e, U+9280, U+9283, U+9285-928a, U+928e, U+9291, U+9293, U+9296, U+9298, U+929c-929d, U+92a8, U+92ab-92ae, U+92b3, U+92b6-92b7, U+92b9, U+92c1, U+92c5-92c6, U+92c8, U+92cc, U+92d0, U+92d2, U+92e4, U+92ea;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/2d884d1cfd97c6f72518.woff2) format('woff2');
  unicode-range: U+9004, U+900b, U+9011, U+9015-9016, U+901e, U+9021, U+9026, U+902d, U+902f, U+9031, U+9035-9036, U+9039-903a, U+9041, U+9044-9046, U+904a, U+904f-9052, U+9054-9055, U+9058-9059, U+905b-905e, U+9060-9062, U+9068-9069, U+906f, U+9072, U+9074, U+9076-907a, U+907c-907d, U+9081, U+9083, U+9085, U+9087-908b, U+908f, U+9095, U+9097, U+9099-909b, U+909d, U+90a0-90a1, U+90a8-90a9, U+90ac, U+90b0, U+90b2-90b4, U+90b6, U+90b8, U+90ba, U+90bd-90be, U+90c3-90c5, U+90c7-90c8, U+90cf-90d0, U+90d3, U+90d5, U+90d7, U+90da-90dc, U+90de, U+90e2, U+90e4, U+90e6-90e7, U+90ea-90eb, U+90ef, U+90f4-90f5, U+90f7, U+90fe-9100, U+9104, U+9109, U+910c, U+9112, U+9114-9115, U+9118, U+911c, U+911e, U+9120, U+9122-9123, U+9127, U+912d, U+912f-9132, U+9139-913a, U+9143, U+9146, U+9149-914a, U+914c, U+914e-9150, U+9154, U+9157, U+915a, U+915d-915e, U+9161-9162;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/02fd273486d8e0c876b3.woff2) format('woff2');
  unicode-range: U+8e41-8e42, U+8e47, U+8e49-8e4b, U+8e50-8e53, U+8e59-8e5a, U+8e5f-8e60, U+8e64, U+8e69, U+8e6c, U+8e70, U+8e74, U+8e76, U+8e7a-8e7c, U+8e7f, U+8e84-8e85, U+8e87, U+8e89, U+8e8b, U+8e8d, U+8e8f-8e90, U+8e94, U+8e99, U+8e9c, U+8e9e, U+8eaa, U+8eac, U+8eb0, U+8eb6, U+8ec0, U+8ec6, U+8eca-8ece, U+8ed2, U+8eda, U+8edf, U+8ee2, U+8eeb, U+8ef8, U+8efb-8efe, U+8f03, U+8f09, U+8f0b, U+8f12-8f15, U+8f1b, U+8f1d, U+8f1f, U+8f29-8f2a, U+8f2f, U+8f36, U+8f38, U+8f3b, U+8f3e-8f3f, U+8f44-8f45, U+8f49, U+8f4d-8f4e, U+8f5f, U+8f6b, U+8f6d, U+8f71-8f73, U+8f75-8f76, U+8f78-8f7a, U+8f7c, U+8f7e, U+8f81-8f82, U+8f84, U+8f87, U+8f8a-8f8b, U+8f8d-8f8f, U+8f94-8f95, U+8f97-8f9a, U+8fa6, U+8fad-8faf, U+8fb2, U+8fb5-8fb7, U+8fba-8fbc, U+8fbf, U+8fc2, U+8fcb, U+8fcd, U+8fd3, U+8fd5, U+8fd7, U+8fda, U+8fe2-8fe5, U+8fe8-8fe9, U+8fee, U+8ff3-8ff4, U+8ff8, U+8ffa;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/13a18e443a4bf6557e25.woff2) format('woff2');
  unicode-range: U+8cbd, U+8cbf-8cc4, U+8cc7-8cc8, U+8cca, U+8ccd, U+8cd1, U+8cd3, U+8cdb-8cdc, U+8cde, U+8ce0, U+8ce2-8ce4, U+8ce6-8ce8, U+8cea, U+8ced, U+8cf4, U+8cf8, U+8cfa, U+8cfc-8cfd, U+8d04-8d05, U+8d07-8d08, U+8d0a, U+8d0d, U+8d0f, U+8d13-8d14, U+8d16, U+8d1b, U+8d20, U+8d30, U+8d32-8d33, U+8d36, U+8d3b, U+8d3d, U+8d40, U+8d42-8d43, U+8d45-8d46, U+8d48-8d4a, U+8d4d, U+8d51, U+8d53, U+8d55, U+8d59, U+8d5c-8d5d, U+8d5f, U+8d61, U+8d66-8d67, U+8d6a, U+8d6d, U+8d71, U+8d73, U+8d84, U+8d90-8d91, U+8d94-8d95, U+8d99, U+8da8, U+8daf, U+8db1, U+8db5, U+8db8, U+8dba, U+8dbc, U+8dbf, U+8dc2, U+8dc4, U+8dc6, U+8dcb, U+8dce-8dcf, U+8dd6-8dd7, U+8dda-8ddb, U+8dde, U+8de1, U+8de3-8de4, U+8de9, U+8deb-8dec, U+8df0-8df1, U+8df6-8dfd, U+8e05, U+8e07, U+8e09-8e0a, U+8e0c, U+8e0e, U+8e10, U+8e14, U+8e1d-8e1f, U+8e23, U+8e26, U+8e2b-8e31, U+8e34-8e35, U+8e39-8e3a, U+8e3d, U+8e40;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/68413e3f3e5b912efd25.woff2) format('woff2');
  unicode-range: U+8b80, U+8b83, U+8b8a, U+8b8c, U+8b90, U+8b93, U+8b99-8b9a, U+8ba0, U+8ba3, U+8ba5-8ba7, U+8baa-8bac, U+8bb4-8bb5, U+8bb7, U+8bb9, U+8bc2-8bc3, U+8bc5, U+8bcb-8bcc, U+8bce-8bd0, U+8bd2-8bd4, U+8bd6, U+8bd8-8bd9, U+8bdc, U+8bdf, U+8be3-8be4, U+8be7-8be9, U+8beb-8bec, U+8bee, U+8bf0, U+8bf2-8bf3, U+8bf6, U+8bf9, U+8bfc-8bfd, U+8bff-8c00, U+8c02, U+8c04, U+8c06-8c07, U+8c0c, U+8c0f, U+8c11-8c12, U+8c14-8c1b, U+8c1d-8c21, U+8c24-8c25, U+8c27, U+8c2a-8c2c, U+8c2e-8c30, U+8c32-8c36, U+8c3f, U+8c47-8c4c, U+8c4e-8c50, U+8c54-8c56, U+8c62, U+8c68, U+8c6c, U+8c73, U+8c78, U+8c7a, U+8c82, U+8c85, U+8c89-8c8a, U+8c8d-8c8e, U+8c90, U+8c93-8c94, U+8c98, U+8c9d-8c9e, U+8ca0-8ca2, U+8ca7-8cac, U+8caf-8cb0, U+8cb3-8cb4, U+8cb6-8cb9, U+8cbb-8cbc;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/21b841e271833161fe5f.woff2) format('woff2');
  unicode-range: U+8a15-8a18, U+8a1a-8a1b, U+8a1d, U+8a1f, U+8a22-8a23, U+8a25, U+8a2b, U+8a2d, U+8a31, U+8a33-8a34, U+8a36-8a38, U+8a3a, U+8a3c, U+8a3e, U+8a40-8a41, U+8a46, U+8a48, U+8a50, U+8a52, U+8a54-8a55, U+8a58, U+8a5b, U+8a5d-8a63, U+8a66, U+8a69-8a6b, U+8a6d-8a6e, U+8a70, U+8a72-8a73, U+8a7a, U+8a85, U+8a87, U+8a8a, U+8a8c-8a8d, U+8a90-8a92, U+8a95, U+8a98, U+8aa0-8aa1, U+8aa3-8aa6, U+8aa8-8aa9, U+8aac-8aae, U+8ab0, U+8ab2, U+8ab8-8ab9, U+8abc, U+8abe-8abf, U+8ac7, U+8acf, U+8ad2, U+8ad6-8ad7, U+8adb-8adc, U+8adf, U+8ae1, U+8ae6-8ae8, U+8aeb, U+8aed-8aee, U+8af1, U+8af3-8af4, U+8af7-8af8, U+8afa, U+8afe, U+8b00-8b02, U+8b07, U+8b0a, U+8b0c, U+8b0e, U+8b10, U+8b17, U+8b19, U+8b1b, U+8b1d, U+8b20-8b21, U+8b26, U+8b28, U+8b2c, U+8b33, U+8b39, U+8b3e-8b3f, U+8b41, U+8b45, U+8b49, U+8b4c, U+8b4f, U+8b57-8b58, U+8b5a, U+8b5c, U+8b5e, U+8b60, U+8b6c, U+8b6f-8b70, U+8b72, U+8b74, U+8b77, U+8b7d;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/bcbdf5fd7899c7ed192a.woff2) format('woff2');
  unicode-range: U+8882, U+8884-8886, U+8888, U+888f, U+8892-8893, U+889b, U+88a2, U+88a4, U+88a6, U+88a8, U+88aa, U+88ae, U+88b1, U+88b4, U+88b7, U+88bc, U+88c0, U+88c6-88c9, U+88ce-88cf, U+88d1-88d3, U+88d8, U+88db-88dd, U+88df, U+88e1-88e3, U+88e5, U+88e8, U+88ec, U+88f0-88f1, U+88f3-88f4, U+88fc-88fe, U+8900, U+8902, U+8906-8907, U+8909-890c, U+8912-8915, U+8918-891b, U+8921, U+8925, U+892b, U+8930, U+8932, U+8934, U+8936, U+893b, U+893d, U+8941, U+894c, U+8955-8956, U+8959, U+895c, U+895e-8960, U+8966, U+896a, U+896c, U+896f-8970, U+8972, U+897b, U+897e, U+8980, U+8983, U+8985, U+8987-8988, U+898c, U+898f, U+8993, U+8997, U+899a, U+89a1, U+89a7, U+89a9-89aa, U+89b2-89b3, U+89b7, U+89c0, U+89c7, U+89ca-89cc, U+89ce-89d1, U+89d6, U+89da, U+89dc, U+89de, U+89e5, U+89e7, U+89eb, U+89ef, U+89f1, U+89f3-89f4, U+89f8, U+89ff, U+8a01-8a03, U+8a07-8a0a, U+8a0e-8a0f, U+8a13;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/ca375e4a6ecc23033365.woff2) format('woff2');
  unicode-range: U+86f4, U+86f8-86f9, U+86fb, U+86fe, U+8703, U+8706-870a, U+870d, U+8711-8713, U+871a, U+871e, U+8722-8723, U+8725, U+8729, U+872e, U+8731, U+8734, U+8737, U+873a-873b, U+873e-8740, U+8742, U+8747-8748, U+8753, U+8755, U+8757-8758, U+875d, U+875f, U+8762-8766, U+8768, U+876e, U+8770, U+8772, U+8775, U+8778, U+877b-877e, U+8782, U+8785, U+8788, U+878b, U+8793, U+8797, U+879a, U+879e-87a0, U+87a2-87a3, U+87a8, U+87ab-87ad, U+87af, U+87b3, U+87b5, U+87bd, U+87c0, U+87c4, U+87c6, U+87ca-87cb, U+87d1-87d2, U+87db-87dc, U+87de, U+87e0, U+87e5, U+87ea, U+87ec, U+87ee, U+87f2-87f3, U+87fb, U+87fd-87fe, U+8802-8803, U+8805, U+880a-880b, U+880d, U+8813-8816, U+8819, U+881b, U+881f, U+8821, U+8823, U+8831-8832, U+8835-8836, U+8839, U+883b-883c, U+8844, U+8846, U+884a, U+884e, U+8852-8853, U+8855, U+8859, U+885b, U+885d-885e, U+8862, U+8864, U+8869-886a, U+886e-886f, U+8872, U+8879, U+887d-887f;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/e73a947fa1fb1a7385e9.woff2) format('woff2');
  unicode-range: U+8548, U+854e, U+8553, U+8556-8557, U+8559, U+855e, U+8561, U+8564-8565, U+8568-856a, U+856d, U+856f-8570, U+8572, U+8576, U+8579-857b, U+8580, U+8585-8586, U+8588, U+858a, U+858f, U+8591, U+8594, U+8599, U+859c, U+85a2, U+85a4, U+85a6, U+85a8-85a9, U+85ab-85ac, U+85ae, U+85b7-85b9, U+85be, U+85c1, U+85c7, U+85cd, U+85d0, U+85d3, U+85d5, U+85dc-85dd, U+85df-85e0, U+85e5-85e6, U+85e8-85ea, U+85f4, U+85f9, U+85fe-85ff, U+8602, U+8605-8607, U+860a-860b, U+8616, U+8618, U+861a, U+8627, U+8629, U+862d, U+8638, U+863c, U+863f, U+864d, U+864f, U+8652-8655, U+865b-865c, U+865f, U+8662, U+8667, U+866c, U+866e, U+8671, U+8675, U+867a-867c, U+867f, U+868b, U+868d, U+8693, U+869c-869d, U+86a1, U+86a3-86a4, U+86a7-86a9, U+86ac, U+86af-86b1, U+86b4-86b6, U+86ba, U+86c0, U+86c4, U+86c6, U+86c9-86ca, U+86cd-86d1, U+86d4, U+86d8, U+86de-86df, U+86e4, U+86e6, U+86e9, U+86ed, U+86ef-86f3;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/2f186187cfd9a546d199.woff2) format('woff2');
  unicode-range: U+83c5, U+83c8-83c9, U+83cb, U+83d1, U+83d3-83d6, U+83d8, U+83db, U+83dd, U+83df, U+83e1, U+83e5, U+83ea-83eb, U+83f0, U+83f4, U+83f8-83f9, U+83fb, U+83fd, U+83ff, U+8401, U+8406, U+840a-840b, U+840f, U+8411, U+8418, U+841c, U+8420, U+8422-8424, U+8426, U+8429, U+842c, U+8438-8439, U+843b-843c, U+843f, U+8446-8447, U+8449, U+844e, U+8451-8452, U+8456, U+8459-845a, U+845c, U+8462, U+8466, U+846d, U+846f-8470, U+8473, U+8476-8478, U+847a, U+847d, U+8484-8485, U+8487, U+8489, U+848c, U+848e, U+8490, U+8493-8494, U+8497, U+849b, U+849e-849f, U+84a1, U+84a5, U+84a8, U+84af, U+84b4, U+84b9-84bf, U+84c1-84c2, U+84c5-84c7, U+84ca-84cb, U+84cd, U+84d0-84d1, U+84d3, U+84d6, U+84df-84e0, U+84e2-84e3, U+84e5-84e7, U+84ee, U+84f3, U+84f6, U+84fa, U+84fc, U+84ff-8500, U+850c, U+8511, U+8514-8515, U+8517-8518, U+851f, U+8523, U+8525-8526, U+8529, U+852b, U+852d, U+8532, U+8534-8535, U+8538-853a, U+853c, U+8543, U+8545;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/7e2a21f95e969165ff32.woff2) format('woff2');
  unicode-range: U+82bc, U+82be, U+82c0-82c2, U+82c4-82c8, U+82ca-82cc, U+82ce, U+82d0, U+82d2-82d3, U+82d5-82d6, U+82d8-82d9, U+82dc-82de, U+82e0-82e4, U+82e7, U+82e9-82eb, U+82ed-82ee, U+82f3-82f4, U+82f7-82f8, U+82fa-8301, U+8306-8308, U+830c-830d, U+830f, U+8311, U+8313-8315, U+8318, U+831a-831b, U+831d, U+8324, U+8327, U+832a, U+832c-832d, U+832f, U+8331-8334, U+833a-833c, U+8340, U+8343-8345, U+8347-8348, U+834a, U+834c, U+834f, U+8351, U+8356, U+8358-835c, U+835e, U+8360, U+8364-8366, U+8368-836a, U+836c-836e, U+8373, U+8378, U+837b-837d, U+837f-8380, U+8382, U+8388, U+838a-838b, U+8392, U+8394, U+8396, U+8398-8399, U+839b-839c, U+83a0, U+83a2-83a3, U+83a8-83aa, U+83ae-83b0, U+83b3-83b4, U+83b6, U+83b8, U+83ba, U+83bc-83bd, U+83bf-83c0, U+83c2;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/c53279f786dde3590baf.woff2) format('woff2');
  unicode-range: U+8166-8169, U+816b, U+816d, U+8171, U+8173-8174, U+8178, U+817c-817d, U+8182, U+8188, U+8191, U+8198-819b, U+81a0, U+81a3, U+81a5-81a6, U+81a9, U+81b6, U+81ba-81bb, U+81bd, U+81bf, U+81c1, U+81c3, U+81c6, U+81c9-81ca, U+81cc-81cd, U+81d1, U+81d3-81d4, U+81d8, U+81db-81dc, U+81de-81df, U+81e5, U+81e7-81e9, U+81eb-81ec, U+81ee-81ef, U+81f5, U+81f8, U+81fa, U+81fc, U+81fe, U+8200-8202, U+8204, U+8208-820a, U+820e-8210, U+8216-8218, U+821b-821c, U+8221-8224, U+8226-8228, U+822b, U+822d, U+822f, U+8232-8234, U+8237-8238, U+823a-823b, U+823e, U+8244, U+8249, U+824b, U+824f, U+8259-825a, U+825f, U+8266, U+8268, U+826e, U+8271, U+8276-8279, U+827d, U+827f, U+8283-8284, U+8288-828a, U+828d-8291, U+8293-8294, U+8296-8298, U+829f-82a1, U+82a3-82a4, U+82a7-82ab, U+82ae, U+82b0, U+82b2, U+82b4-82b6;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/a98ffa0839e353eb7e76.woff2) format('woff2');
  unicode-range: U+8016, U+8018-8019, U+801c, U+801e, U+8026-802a, U+8031, U+8034-8035, U+8037, U+8043, U+804b, U+804d, U+8052, U+8056, U+8059, U+805e, U+8061, U+8068-8069, U+806e-8074, U+8076-8078, U+807c-8080, U+8082, U+8084-8085, U+8088, U+808f, U+8093, U+809c, U+809f, U+80ab, U+80ad-80ae, U+80b1, U+80b6-80b8, U+80bc-80bd, U+80c2, U+80c4, U+80ca, U+80cd, U+80d1, U+80d4, U+80d7, U+80d9-80db, U+80dd, U+80e0, U+80e4-80e5, U+80e7-80ed, U+80ef-80f1, U+80f3-80f4, U+80fc, U+8101, U+8104-8105, U+8107-8108, U+810c-810e, U+8112-8115, U+8117-8119, U+811b-811f, U+8121-8130, U+8132-8134, U+8137, U+8139, U+813f-8140, U+8142, U+8146, U+8148, U+814d-814e, U+8151, U+8153, U+8158-815a, U+815e, U+8160;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/aa1a541dfacfcad0c66f.woff2) format('woff2');
  unicode-range: U+7ef0-7ef2, U+7ef6, U+7efa-7efb, U+7efe, U+7f01-7f04, U+7f08, U+7f0a-7f12, U+7f17, U+7f19, U+7f1b-7f1c, U+7f1f, U+7f21-7f23, U+7f25-7f28, U+7f2a-7f33, U+7f35-7f37, U+7f3d, U+7f42, U+7f44-7f45, U+7f4c-7f4d, U+7f52, U+7f54, U+7f58-7f59, U+7f5d, U+7f5f-7f61, U+7f63, U+7f65, U+7f68, U+7f70-7f71, U+7f73-7f75, U+7f77, U+7f79, U+7f7d-7f7e, U+7f85-7f86, U+7f88-7f89, U+7f8b-7f8c, U+7f90-7f91, U+7f94-7f96, U+7f98-7f9b, U+7f9d, U+7f9f, U+7fa3, U+7fa7-7fa9, U+7fac-7fb2, U+7fb4, U+7fb6, U+7fb8, U+7fbc, U+7fbf-7fc0, U+7fc3, U+7fca, U+7fcc, U+7fce, U+7fd2, U+7fd5, U+7fd9-7fdb, U+7fdf, U+7fe3, U+7fe5-7fe7, U+7fe9, U+7feb-7fec, U+7fee-7fef, U+7ff1, U+7ff3-7ff4, U+7ff9-7ffa, U+7ffe, U+8004, U+8006, U+800b, U+800e, U+8011-8012, U+8014;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/ea12aaa5635e53eaf742.woff2) format('woff2');
  unicode-range: U+7dd2, U+7dd4, U+7dd6-7dd8, U+7dda-7de0, U+7de2-7de6, U+7de8-7ded, U+7def, U+7df1-7df5, U+7df7, U+7df9, U+7dfb-7dfc, U+7dfe-7e02, U+7e04, U+7e08-7e0b, U+7e12, U+7e1b, U+7e1e, U+7e20, U+7e22-7e23, U+7e26, U+7e29, U+7e2b, U+7e2e-7e2f, U+7e31, U+7e37, U+7e39-7e3e, U+7e40, U+7e43-7e44, U+7e46-7e47, U+7e4a-7e4b, U+7e4d-7e4e, U+7e51, U+7e54-7e56, U+7e58-7e5b, U+7e5d-7e5e, U+7e61, U+7e66-7e67, U+7e69-7e6b, U+7e6d, U+7e70, U+7e73, U+7e77, U+7e79, U+7e7b-7e7d, U+7e81-7e82, U+7e8c-7e8d, U+7e8f, U+7e92-7e94, U+7e96, U+7e98, U+7e9a-7e9c, U+7e9e-7e9f, U+7ea1, U+7ea3, U+7ea5, U+7ea8-7ea9, U+7eab, U+7ead-7eae, U+7eb0, U+7ebb, U+7ebe, U+7ec0-7ec2, U+7ec9, U+7ecb-7ecc, U+7ed0, U+7ed4, U+7ed7, U+7edb, U+7ee0-7ee2, U+7ee5-7ee6, U+7ee8, U+7eeb;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/d4a75aa10eb4487dcd94.woff2) format('woff2');
  unicode-range: U+7ce8, U+7cec, U+7cf0, U+7cf5-7cf9, U+7cfc, U+7cfe, U+7d00, U+7d04-7d0b, U+7d0d, U+7d10-7d14, U+7d17-7d19, U+7d1b-7d1f, U+7d21, U+7d24-7d26, U+7d28-7d2a, U+7d2c-7d2e, U+7d30-7d31, U+7d33, U+7d35-7d36, U+7d38-7d3a, U+7d40, U+7d42-7d44, U+7d46, U+7d4b-7d4c, U+7d4f, U+7d51, U+7d54-7d56, U+7d58, U+7d5b-7d5c, U+7d5e, U+7d61-7d63, U+7d66, U+7d68, U+7d6a-7d6c, U+7d6f, U+7d71-7d73, U+7d75-7d77, U+7d79-7d7a, U+7d7e, U+7d81, U+7d84-7d8b, U+7d8d, U+7d8f, U+7d91, U+7d94, U+7d96, U+7d98-7d9a, U+7d9c-7da0, U+7da2, U+7da6, U+7daa-7db1, U+7db4-7db8, U+7dba-7dbf, U+7dc1, U+7dc4, U+7dc7-7dc8, U+7dca-7dcd, U+7dcf, U+7dd1;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/d5c48bd3b5502918adf2.woff2) format('woff2');
  unicode-range: U+7bd3-7bd4, U+7bd9-7bda, U+7bdd, U+7be0-7be1, U+7be4-7be6, U+7be9-7bea, U+7bef, U+7bf4, U+7bf6, U+7bfc, U+7bfe, U+7c01, U+7c03, U+7c07-7c08, U+7c0a-7c0d, U+7c0f, U+7c11, U+7c15-7c16, U+7c19, U+7c1e-7c21, U+7c23-7c24, U+7c26, U+7c28-7c33, U+7c35, U+7c37-7c3b, U+7c3d-7c3e, U+7c40-7c41, U+7c43, U+7c47-7c48, U+7c4c, U+7c50, U+7c53-7c54, U+7c59, U+7c5f-7c60, U+7c63-7c65, U+7c6c, U+7c6e, U+7c72, U+7c74, U+7c79-7c7a, U+7c7c, U+7c81-7c82, U+7c84-7c85, U+7c88, U+7c8a-7c91, U+7c93-7c96, U+7c99, U+7c9b-7c9e, U+7ca0-7ca2, U+7ca6-7ca9, U+7cac, U+7caf-7cb3, U+7cb5-7cb7, U+7cba-7cbd, U+7cbf-7cc2, U+7cc5, U+7cc7-7cc9, U+7ccc-7ccd, U+7cd7, U+7cdc, U+7cde, U+7ce0, U+7ce4-7ce5, U+7ce7;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/c4f53f8b05fa6350ac20.woff2) format('woff2');
  unicode-range: U+7ae6, U+7af4-7af7, U+7afa-7afb, U+7afd-7b0a, U+7b0c, U+7b0e-7b0f, U+7b13, U+7b15-7b16, U+7b18-7b19, U+7b1e-7b20, U+7b22-7b25, U+7b29-7b2b, U+7b2d-7b2e, U+7b30-7b3b, U+7b3e-7b3f, U+7b41-7b42, U+7b44-7b47, U+7b4a, U+7b4c-7b50, U+7b58, U+7b5a, U+7b5c, U+7b60, U+7b66-7b67, U+7b69, U+7b6c-7b6f, U+7b72-7b76, U+7b7b-7b7d, U+7b7f, U+7b82, U+7b85, U+7b87, U+7b8b-7b96, U+7b98-7b99, U+7b9b-7b9f, U+7ba2-7ba4, U+7ba6-7bac, U+7bae-7bb0, U+7bb4, U+7bb7-7bb9, U+7bbb, U+7bc0-7bc1, U+7bc3-7bc4, U+7bc6, U+7bc8-7bcc, U+7bd1;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/2418a76f14f6299b160a.woff2) format('woff2');
  unicode-range: U+798b-798e, U+7992, U+7994-7995, U+7997-7998, U+799a-799c, U+799f, U+79a3-79a6, U+79a8-79ac, U+79ae-79b1, U+79b3-79b5, U+79b8, U+79ba, U+79bf, U+79c2, U+79c6, U+79c8, U+79cf, U+79d5-79d6, U+79dd-79de, U+79e3, U+79e7-79e8, U+79eb, U+79ed, U+79f4, U+79f7-79f8, U+79fa, U+79fe, U+7a02-7a03, U+7a05, U+7a0a, U+7a14, U+7a17, U+7a19, U+7a1c, U+7a1e-7a1f, U+7a23, U+7a25-7a26, U+7a2c, U+7a2e, U+7a30-7a32, U+7a36-7a37, U+7a39, U+7a3c, U+7a40, U+7a42, U+7a47, U+7a49, U+7a4c-7a4f, U+7a51, U+7a55, U+7a5b, U+7a5d-7a5e, U+7a62-7a63, U+7a66, U+7a68-7a69, U+7a6b, U+7a70, U+7a78, U+7a80, U+7a85-7a88, U+7a8a, U+7a90, U+7a93-7a96, U+7a98, U+7a9b-7a9c, U+7a9e, U+7aa0-7aa1, U+7aa3, U+7aa8-7aaa, U+7aac-7ab0, U+7ab3, U+7ab8, U+7aba, U+7abd-7abf, U+7ac4-7ac5, U+7ac7-7ac8, U+7aca, U+7ad1-7ad2, U+7ada-7add, U+7ae1, U+7ae4;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/050cbf86904880158835.woff2) format('woff2');
  unicode-range: U+784c, U+784e-7854, U+7856-7857, U+7859-785a, U+7865, U+7869-786a, U+786d, U+786f, U+7876-7877, U+787c, U+787e-787f, U+7881, U+7887-7889, U+7893-7894, U+7898-789e, U+78a1, U+78a3, U+78a5, U+78a9, U+78ad, U+78b2, U+78b4, U+78b6, U+78b9-78ba, U+78bc, U+78bf, U+78c3, U+78c9, U+78cb, U+78d0-78d2, U+78d4, U+78d9-78da, U+78dc, U+78de, U+78e1, U+78e5-78e6, U+78ea, U+78ec, U+78ef, U+78f1-78f2, U+78f4, U+78fa-78fb, U+78fe, U+7901-7902, U+7905, U+7907, U+7909, U+790b-790c, U+790e, U+7910, U+7913, U+7919-791b, U+791e-791f, U+7921, U+7924, U+7926, U+792a-792b, U+7934, U+7936, U+7939, U+793b, U+793d, U+7940, U+7942-7943, U+7945-7947, U+7949-794a, U+794c, U+794e-7951, U+7953-7955, U+7957-795a, U+795c, U+795f-7960, U+7962, U+7964, U+7966-7967, U+7969, U+796b, U+796f, U+7972, U+7974, U+7979, U+797b-797c, U+797e-7980, U+7982, U+7986-7987, U+7989-798a;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/48810df68807cb9a0605.woff2) format('woff2');
  unicode-range: U+7722, U+7726, U+7728, U+772b-7730, U+7732-7736, U+7739-773a, U+773d-773f, U+7743, U+7746-7747, U+774c-774f, U+7751-7752, U+7758-775a, U+775c-775e, U+7762, U+7765-7766, U+7768-776a, U+776c-776d, U+7771-7772, U+777a, U+777c-777e, U+7780, U+7785, U+7787, U+778b-778d, U+778f-7791, U+7793, U+779e-77a0, U+77a2, U+77a5, U+77ad, U+77af, U+77b4-77b7, U+77bd-77c0, U+77c2, U+77c5, U+77c7, U+77cd, U+77d6-77d7, U+77d9-77da, U+77dd-77de, U+77e7, U+77ea, U+77ec, U+77ef, U+77f8, U+77fb, U+77fd-77fe, U+7800, U+7803, U+7806, U+7809, U+780f-7812, U+7815, U+7817-7818, U+781a-781f, U+7821-7823, U+7825-7827, U+7829, U+782b-7830, U+7832-7833, U+7835, U+7837, U+7839-783c, U+783e, U+7841-7844, U+7847-7849, U+784b;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/bf40713c12d0ae841b4c.woff2) format('woff2');
  unicode-range: U+7613-7619, U+761b-761d, U+761f-7622, U+7625, U+7627-762a, U+762e-7630, U+7632-7635, U+7638-763a, U+763c-763d, U+763f-7640, U+7642-7643, U+7647-7648, U+764d-764e, U+7652, U+7654, U+7658, U+765a, U+765c, U+765e-765f, U+7661-7663, U+7665, U+7669, U+766c, U+766e-766f, U+7671-7673, U+7675-7676, U+7678-767a, U+767f, U+7681, U+7683, U+7688, U+768a-768c, U+768e, U+7690-7692, U+7695, U+7698, U+769a-769b, U+769d-76a0, U+76a2, U+76a4-76a7, U+76ab-76ac, U+76af-76b0, U+76b2, U+76b4-76b5, U+76ba-76bb, U+76bf, U+76c2-76c3, U+76c5, U+76c9, U+76cc-76ce, U+76dc-76de, U+76e1-76ea, U+76f1, U+76f9-76fb, U+76fd, U+76ff-7700, U+7703-7704, U+7707-7708, U+770c-770f, U+7712, U+7714, U+7716, U+7719-771b, U+771e, U+7721;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/13b6821eb6534f1ac72a.woff2) format('woff2');
  unicode-range: U+750d, U+750f, U+7511, U+7513, U+7515, U+7517, U+7519, U+7521-7527, U+752a, U+752c-752d, U+752f, U+7534, U+7536, U+753a, U+753e, U+7540, U+7544, U+7547-754b, U+754d-754e, U+7550-7553, U+7556-7557, U+755a-755b, U+755d-755e, U+7560, U+7562, U+7564, U+7566-7568, U+756b-756c, U+756f-7573, U+7575, U+7579-757c, U+757e-757f, U+7581-7584, U+7587, U+7589-758e, U+7590, U+7592, U+7594, U+7596, U+7599-759a, U+759d, U+759f-75a0, U+75a3, U+75a5, U+75a8, U+75ac-75ad, U+75b0-75b1, U+75b3-75b5, U+75b8, U+75bd, U+75c1-75c4, U+75c8-75ca, U+75cc-75cd, U+75d4, U+75d6, U+75d9, U+75de, U+75e0, U+75e2-75e4, U+75e6-75ea, U+75f1-75f3, U+75f7, U+75f9-75fa, U+75fc, U+75fe-7601, U+7603, U+7605-7606, U+7608-760e, U+7610-7612;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/db60ee4c755151c03600.woff2) format('woff2');
  unicode-range: U+73f0, U+73f2, U+73f4-73f5, U+73f7, U+73f9-73fa, U+73fc-73fd, U+73ff-7402, U+7404, U+7407-7408, U+740a-740f, U+7418, U+741a-741c, U+741e, U+7424-7425, U+7428-7429, U+742c-7430, U+7432, U+7435-7436, U+7438-743b, U+743e-7441, U+7443-7446, U+7448, U+744a-744b, U+7452, U+7457, U+745b, U+745d, U+7460, U+7462-7465, U+7467-746a, U+746d, U+746f, U+7471, U+7473-7474, U+7477, U+747a, U+747e, U+7481-7482, U+7484, U+7486, U+7488-748b, U+748e-748f, U+7493, U+7498, U+749a, U+749c-74a0, U+74a3, U+74a6, U+74a9-74aa, U+74ae, U+74b0-74b2, U+74b6, U+74b8-74ba, U+74bd, U+74bf, U+74c1, U+74c3, U+74c5, U+74c8, U+74ca, U+74cc, U+74cf, U+74d1-74d2, U+74d4-74d5, U+74d8-74db, U+74de-74e0, U+74e2, U+74e4-74e5, U+74e7-74e9, U+74ee-74ef, U+74f4, U+74ff, U+7501, U+7503, U+7505, U+7508;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/70105493871b78298135.woff2) format('woff2');
  unicode-range: U+72e6, U+72e8, U+72ef-72f0, U+72f2-72f4, U+72f6-72f7, U+72f9-72fb, U+72fd, U+7300-7304, U+7307, U+730a-730c, U+7313-7317, U+731d-7322, U+7327, U+7329, U+732c-732d, U+7330-7331, U+7333, U+7335-7337, U+7339, U+733d-733e, U+7340, U+7342, U+7344-7345, U+734a, U+734d-7350, U+7352, U+7355, U+7357, U+7359, U+735f-7360, U+7362-7363, U+7365, U+7368, U+736c-736d, U+736f-7370, U+7372, U+7374-7376, U+7378, U+737a-737b, U+737d-737e, U+7382-7383, U+7386, U+7388, U+738a, U+738c-7393, U+7395, U+7397-739a, U+739c, U+739e, U+73a0-73a3, U+73a5-73a8, U+73aa, U+73ad, U+73b1, U+73b3, U+73b6-73b7, U+73b9, U+73c2, U+73c5-73c9, U+73cc, U+73ce-73d0, U+73d2, U+73d6, U+73d9, U+73db-73de, U+73e3, U+73e5-73ea, U+73ee-73ef;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/cc5fe9a6dedd91e7b954.woff2) format('woff2');
  unicode-range: U+71a8, U+71af, U+71b1-71bc, U+71be, U+71c1-71c2, U+71c4, U+71c8-71cb, U+71ce-71d0, U+71d2, U+71d4, U+71d9-71da, U+71dc, U+71df-71e0, U+71e6-71e8, U+71ea, U+71ed-71ee, U+71f4, U+71f6, U+71f9, U+71fb-71fc, U+71ff-7200, U+7207, U+720c-720d, U+7210, U+7216, U+721a-721e, U+7223, U+7228, U+722b, U+722d-722e, U+7230, U+7232, U+723a-723c, U+723e-7242, U+7246, U+724b, U+724d-724e, U+7252, U+7256, U+7258, U+725a, U+725c-725d, U+7260, U+7264-7266, U+726a, U+726c, U+726e-726f, U+7271, U+7273-7274, U+7278, U+727b, U+727d-727e, U+7281-7282, U+7284, U+7287, U+728a, U+728d, U+728f, U+7292, U+729b, U+729f-72a0, U+72a7, U+72ad-72ae, U+72b0-72b5, U+72b7-72b8, U+72ba-72be, U+72c0-72c1, U+72c3, U+72c5-72c6, U+72c8, U+72cc-72ce, U+72d2, U+72d6, U+72db, U+72dd-72df, U+72e1, U+72e5;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/3a4bddf6442271be8983.woff2) format('woff2');
  unicode-range: U+700b, U+700d, U+7015, U+7018, U+701b, U+701d-701f, U+7023, U+7026-7028, U+702c, U+702e-7030, U+7035, U+7037, U+7039-703a, U+703c-703e, U+7044, U+7049-704b, U+704f, U+7051, U+7058, U+705a, U+705c-705e, U+7061, U+7064, U+7066, U+706c, U+707d, U+7080-7081, U+7085-7086, U+708a, U+708f, U+7091, U+7094-7095, U+7098-7099, U+709c-709d, U+709f, U+70a4, U+70a9-70aa, U+70af-70b2, U+70b4-70b7, U+70bb, U+70c0, U+70c3, U+70c7, U+70cb, U+70ce-70cf, U+70d4, U+70d9-70da, U+70dc-70dd, U+70e0, U+70e9, U+70ec, U+70f7, U+70fa, U+70fd, U+70ff, U+7104, U+7108-7109, U+710c, U+7110, U+7113-7114, U+7116-7118, U+711c, U+711e, U+7120, U+712e-712f, U+7131, U+713c, U+7142, U+7144-7147, U+7149-714b, U+7150, U+7152, U+7155-7156, U+7159-715a, U+715c, U+7161, U+7165-7166, U+7168-7169, U+716d, U+7173-7174, U+7176, U+7178, U+717a, U+717d, U+717f-7180, U+7184, U+7186-7188, U+7192, U+7198, U+719c, U+71a0, U+71a4-71a5;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/b4a952b513ca0e1b594a.woff2) format('woff2');
  unicode-range: U+6ed9, U+6edb, U+6edd, U+6edf-6ee0, U+6ee2, U+6ee6, U+6eea, U+6eec, U+6eee-6eef, U+6ef2-6ef3, U+6ef7-6efa, U+6efe, U+6f01, U+6f03, U+6f08-6f09, U+6f15-6f16, U+6f19, U+6f22-6f25, U+6f28-6f2a, U+6f2c-6f2d, U+6f2f, U+6f32, U+6f36-6f38, U+6f3f, U+6f43-6f46, U+6f48, U+6f4b, U+6f4e-6f4f, U+6f51, U+6f54-6f57, U+6f59-6f5b, U+6f5e-6f5f, U+6f61, U+6f64-6f67, U+6f69-6f6c, U+6f6f-6f72, U+6f74-6f76, U+6f78-6f7e, U+6f80-6f83, U+6f86, U+6f89, U+6f8b-6f8d, U+6f90, U+6f92, U+6f94, U+6f97-6f98, U+6f9b, U+6fa3-6fa5, U+6fa7, U+6faa, U+6faf, U+6fb1, U+6fb4, U+6fb6, U+6fb9, U+6fc1-6fcb, U+6fd1-6fd3, U+6fd5, U+6fdb, U+6fde-6fe1, U+6fe4, U+6fe9, U+6feb-6fec, U+6fee-6ff1, U+6ffa, U+6ffe, U+7005-7006, U+7009;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/0557109d55c77ff9c9b5.woff2) format('woff2');
  unicode-range: U+6dc3, U+6dc5-6dc6, U+6dc9, U+6dcc, U+6dcf, U+6dd2-6dd3, U+6dd6, U+6dd9-6dde, U+6de0, U+6de4, U+6de6, U+6de8-6dea, U+6dec, U+6def-6df0, U+6df5-6df6, U+6df8, U+6dfa, U+6dfc, U+6e03-6e04, U+6e07-6e09, U+6e0b-6e0c, U+6e0e, U+6e11, U+6e13, U+6e15-6e16, U+6e19-6e1b, U+6e1e-6e1f, U+6e22, U+6e25-6e27, U+6e2b-6e2c, U+6e36-6e37, U+6e39-6e3a, U+6e3c-6e41, U+6e44-6e45, U+6e47, U+6e49-6e4b, U+6e4d-6e4e, U+6e51, U+6e53-6e55, U+6e5c-6e5f, U+6e61-6e63, U+6e65-6e67, U+6e6a-6e6b, U+6e6d-6e70, U+6e72-6e74, U+6e76-6e78, U+6e7c, U+6e80-6e82, U+6e86-6e87, U+6e89, U+6e8d, U+6e8f, U+6e96, U+6e98, U+6e9d-6e9f, U+6ea1, U+6ea5-6ea7, U+6eab, U+6eb1-6eb2, U+6eb4, U+6eb7, U+6ebb-6ebd, U+6ebf-6ec6, U+6ec8-6ec9, U+6ecc, U+6ecf-6ed0, U+6ed3-6ed4, U+6ed7-6ed8;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/105d09095364787b4eef.woff2) format('woff2');
  unicode-range: U+6cb1-6cb2, U+6cb4-6cb5, U+6cb7, U+6cba, U+6cbc-6cbd, U+6cc1-6cc3, U+6cc5-6cc7, U+6cd0-6cd4, U+6cd6-6cd7, U+6cd9-6cda, U+6cde-6ce0, U+6ce4, U+6ce6, U+6ce9, U+6ceb-6cef, U+6cf1-6cf2, U+6cf6-6cf7, U+6cfa, U+6cfe, U+6d03-6d05, U+6d07-6d08, U+6d0a, U+6d0c, U+6d0e-6d11, U+6d13-6d14, U+6d16, U+6d18-6d1a, U+6d1c, U+6d1f, U+6d22-6d23, U+6d26-6d29, U+6d2b, U+6d2e-6d30, U+6d33, U+6d35-6d36, U+6d38-6d3a, U+6d3c, U+6d3f, U+6d42-6d44, U+6d48-6d49, U+6d4d, U+6d50, U+6d52, U+6d54, U+6d56-6d58, U+6d5a-6d5c, U+6d5e, U+6d60-6d61, U+6d63-6d65, U+6d67, U+6d6c-6d6d, U+6d6f, U+6d75, U+6d7b-6d7d, U+6d87, U+6d8a, U+6d8e, U+6d90-6d9a, U+6d9c-6da0, U+6da2-6da3, U+6da7, U+6daa-6dac, U+6dae, U+6db3-6db4, U+6db6, U+6db8, U+6dbc, U+6dbf, U+6dc2;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/21c21d2375925f742573.woff2) format('woff2');
  unicode-range: U+6b83-6b86, U+6b89, U+6b8d, U+6b91-6b93, U+6b95, U+6b97-6b98, U+6b9a-6b9b, U+6b9e, U+6ba1-6ba4, U+6ba9-6baa, U+6bad, U+6baf-6bb0, U+6bb2-6bb3, U+6bba-6bbd, U+6bc0, U+6bc2, U+6bc6, U+6bca-6bcc, U+6bce, U+6bd0-6bd1, U+6bd3, U+6bd6-6bd8, U+6bda, U+6be1, U+6be6, U+6bec, U+6bf1, U+6bf3-6bf5, U+6bf9, U+6bfd, U+6c05-6c08, U+6c0d, U+6c10, U+6c15-6c1a, U+6c21, U+6c23-6c26, U+6c29-6c2d, U+6c30-6c33, U+6c35-6c37, U+6c39-6c3a, U+6c3c-6c3f, U+6c46, U+6c4a-6c4c, U+6c4e-6c50, U+6c54, U+6c56, U+6c59-6c5c, U+6c5e, U+6c63, U+6c67-6c69, U+6c6b, U+6c6d, U+6c6f, U+6c72-6c74, U+6c78-6c7a, U+6c7c, U+6c84-6c87, U+6c8b-6c8c, U+6c8f, U+6c91, U+6c93-6c96, U+6c98, U+6c9a, U+6c9d, U+6ca2-6ca4, U+6ca8-6ca9, U+6cac-6cae;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/d532c89a0da063c68ce8.woff2) format('woff2');
  unicode-range: U+69fe-6a01, U+6a06, U+6a09, U+6a0b, U+6a11, U+6a13, U+6a17-6a19, U+6a1b, U+6a1e, U+6a23, U+6a28-6a29, U+6a2b, U+6a2f-6a30, U+6a35, U+6a38-6a40, U+6a46-6a48, U+6a4a-6a4b, U+6a4e, U+6a50, U+6a52, U+6a5b, U+6a5e, U+6a62, U+6a65-6a67, U+6a6b, U+6a79, U+6a7c, U+6a7e-6a7f, U+6a84, U+6a86, U+6a8e, U+6a90-6a91, U+6a94, U+6a97, U+6a9c, U+6a9e, U+6aa0, U+6aa2, U+6aa4, U+6aa9, U+6aab, U+6aae-6ab0, U+6ab2-6ab3, U+6ab5, U+6ab7-6ab8, U+6aba-6abb, U+6abd, U+6abf, U+6ac2-6ac4, U+6ac6, U+6ac8, U+6acc, U+6ace, U+6ad2-6ad3, U+6ad8-6adc, U+6adf-6ae0, U+6ae4-6ae5, U+6ae7-6ae8, U+6afb, U+6b04-6b05, U+6b0d-6b13, U+6b16-6b17, U+6b19, U+6b24-6b25, U+6b2c, U+6b37-6b39, U+6b3b, U+6b3d, U+6b43, U+6b46, U+6b4e, U+6b50, U+6b53-6b54, U+6b58-6b59, U+6b5b, U+6b60, U+6b69, U+6b6d, U+6b6f-6b70, U+6b73-6b74, U+6b77-6b7a, U+6b80-6b82;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/0897654d316342cdf37b.woff2) format('woff2');
  unicode-range: U+68d3, U+68d7, U+68dd, U+68df, U+68e1, U+68e3-68e4, U+68e6-68ed, U+68ef-68f0, U+68f2, U+68f4, U+68f6-68f7, U+68f9, U+68fb-68fd, U+68ff-6902, U+6906-6908, U+690b, U+6910, U+691a-691c, U+691f-6920, U+6924-6925, U+692a, U+692d, U+6934, U+6939, U+693c-6945, U+694a-694b, U+6952-6954, U+6957, U+6959, U+695b, U+695d, U+695f, U+6962-6964, U+6966, U+6968-696c, U+696e-696f, U+6971, U+6973-6974, U+6978-6979, U+697d, U+697f-6980, U+6985, U+6987-698a, U+698d-698e, U+6994-6999, U+699b, U+69a3-69a4, U+69a6-69a7, U+69ab, U+69ad-69ae, U+69b1, U+69b7, U+69bb-69bc, U+69c1, U+69c3-69c5, U+69c7, U+69ca-69ce, U+69d0-69d1, U+69d3-69d4, U+69d7-69da, U+69e0, U+69e4, U+69e6, U+69ec-69ed, U+69f1-69f3, U+69f8, U+69fa-69fc;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/d490960a491521936b84.woff2) format('woff2');
  unicode-range: U+678b-678d, U+678f, U+6792-6793, U+6796, U+6798, U+679e-67a1, U+67a5, U+67a7-67a9, U+67ac-67ad, U+67b0-67b1, U+67b3, U+67b5, U+67b7, U+67b9, U+67bb-67bc, U+67c0-67c1, U+67c3, U+67c5-67ca, U+67d1-67d2, U+67d7-67d9, U+67dd-67df, U+67e2-67e4, U+67e6-67e9, U+67f0, U+67f5, U+67f7-67f8, U+67fa-67fb, U+67fd-67fe, U+6800-6801, U+6803-6804, U+6806, U+6809-680a, U+680c, U+680e, U+6812, U+681d-681f, U+6822, U+6824-6829, U+682b-682d, U+6831-6835, U+683b, U+683e, U+6840-6841, U+6844-6845, U+6849, U+684e, U+6853, U+6855-6856, U+685c-685d, U+685f-6862, U+6864, U+6866-6868, U+686b, U+686f, U+6872, U+6874, U+6877, U+687f, U+6883, U+6886, U+688f, U+689b, U+689f-68a0, U+68a2-68a3, U+68b1, U+68b6, U+68b9-68ba, U+68bc-68bf, U+68c1-68c4, U+68c6, U+68c8, U+68ca, U+68cc, U+68d0-68d1;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/086958b9f441a2ba9fca.woff2) format('woff2');
  unicode-range: U+6631, U+6633-6634, U+6636, U+663a-663b, U+663d, U+6641, U+6644-6645, U+6649, U+664c, U+664f, U+6654, U+6659, U+665b, U+665d-665e, U+6660-6667, U+6669, U+666b-666c, U+6671, U+6673, U+6677-6679, U+667c, U+6680-6681, U+6684-6685, U+6688-6689, U+668b-668e, U+6690, U+6692, U+6695, U+6698, U+669a, U+669d, U+669f-66a0, U+66a2-66a3, U+66a6, U+66aa-66ab, U+66b1-66b2, U+66b5, U+66b8-66b9, U+66bb, U+66be, U+66c1, U+66c6-66c9, U+66cc, U+66d5-66d8, U+66da-66dc, U+66de-66e2, U+66e8-66ea, U+66ec, U+66f1, U+66f3, U+66f7, U+66fa, U+66fd, U+6702, U+6705, U+670a, U+670f-6710, U+6713, U+6715, U+6719, U+6722-6723, U+6725-6727, U+6729, U+672d-672e, U+6732-6733, U+6736, U+6739, U+673b, U+673f, U+6744, U+6748, U+674c-674d, U+6753, U+6755, U+6762, U+6767, U+6769-676c, U+676e, U+6772-6773, U+6775, U+6777, U+677a-677d, U+6782-6783, U+6787, U+678a;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/50c8a455f282618211da.woff2) format('woff2');
  unicode-range: U+64f1-64f2, U+64f4, U+64f7-64f8, U+64fa, U+64fc, U+64fe-64ff, U+6503, U+6509, U+650f, U+6514, U+6518, U+651c-651e, U+6522-6525, U+652a-652c, U+652e, U+6530-6532, U+6534-6535, U+6537-6538, U+653a, U+653c-653d, U+6542, U+6549-654b, U+654d-654e, U+6553-6555, U+6557-6558, U+655d, U+6564, U+6569, U+656b, U+656d-656f, U+6571, U+6573, U+6575-6576, U+6578-657e, U+6581-6583, U+6585-6586, U+6589, U+658e-658f, U+6592-6593, U+6595-6596, U+659b, U+659d, U+659f-65a1, U+65a3, U+65ab-65ac, U+65b2, U+65b6-65b7, U+65ba-65bb, U+65be-65c0, U+65c2-65c4, U+65c6-65c8, U+65cc, U+65ce, U+65d0, U+65d2-65d3, U+65d6, U+65db, U+65dd, U+65e1, U+65e3, U+65ee-65f0, U+65f3-65f5, U+65f8, U+65fb-65fc, U+65fe-6600, U+6603, U+6607, U+6609, U+660b, U+6610-6611, U+6619-661a, U+661c-661e, U+6621, U+6624, U+6626, U+662a-662c, U+662e, U+6630;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/54fc8c9eca1c929480b2.woff2) format('woff2');
  unicode-range: U+63b8-63bc, U+63be, U+63c0, U+63c3-63c4, U+63c6, U+63c8, U+63cd-63ce, U+63d1, U+63d6, U+63da-63db, U+63de, U+63e0, U+63e3, U+63e9-63ea, U+63ee, U+63f2, U+63f5-63fa, U+63fc, U+63fe-6400, U+6406, U+640b-640d, U+6410, U+6414, U+6416-6417, U+641b, U+6420-6423, U+6425-6428, U+642a, U+6431-6432, U+6434-6437, U+643d-6442, U+6445, U+6448, U+6450-6452, U+645b-645f, U+6462, U+6465, U+6468, U+646d, U+646f-6471, U+6473, U+6477, U+6479-647d, U+6482-6485, U+6487-6488, U+648c, U+6490, U+6493, U+6496-649a, U+649d, U+64a0, U+64a5, U+64ab-64ac, U+64b1-64b7, U+64b9-64bb, U+64be-64c1, U+64c4, U+64c7, U+64c9-64cb, U+64d0, U+64d4, U+64d7-64d8, U+64da, U+64de, U+64e0-64e2, U+64e4, U+64e9, U+64ec, U+64f0;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/3ed406ceb43b6f73a6a4.woff2) format('woff2');
  unicode-range: U+622c, U+622e-6230, U+6232, U+6238, U+623b, U+623d-623e, U+6243, U+6246, U+6248-6249, U+624c, U+6255, U+6259, U+625e, U+6260-6261, U+6265-6266, U+626a, U+6271, U+627a, U+627c-627d, U+6283, U+6286, U+6289, U+628e, U+6294, U+629c, U+629e-629f, U+62a1, U+62a8, U+62ba-62bb, U+62bf, U+62c2, U+62c4, U+62c8, U+62ca-62cb, U+62cf, U+62d1, U+62d7, U+62d9-62da, U+62dd, U+62e0-62e1, U+62e3-62e4, U+62e7, U+62eb, U+62ee, U+62f0, U+62f4-62f6, U+6308, U+630a-630e, U+6310, U+6312-6313, U+6317, U+6319, U+631b, U+631d-631f, U+6322, U+6326, U+6329, U+6331-6332, U+6334-6337, U+6339, U+633b-633c, U+633e-6340, U+6343, U+6347, U+634b-634e, U+6354, U+635c-635d, U+6368-6369, U+636d, U+636f-6372, U+6376, U+637a-637b, U+637d, U+6382-6383, U+6387, U+638a-638b, U+638d-638e, U+6391, U+6393-6397, U+6399, U+639b, U+639e-639f, U+63a1, U+63a3-63a4, U+63ac-63ae, U+63b1-63b5;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/c7d1f5b0f95f358dee4c.woff2) format('woff2');
  unicode-range: U+60ed-60ee, U+60f0-60f1, U+60f4, U+60f6, U+60fa, U+6100, U+6106, U+610d-610e, U+6112, U+6114-6115, U+6119, U+611c, U+6120, U+6122-6123, U+6126, U+6128-6130, U+6136-6137, U+613a, U+613d-613e, U+6144, U+6146-6147, U+614a-614b, U+6151, U+6153, U+6158, U+615a, U+615c-615d, U+615f, U+6161, U+6163-6165, U+616b-616c, U+616e, U+6171, U+6173-6177, U+617e, U+6182, U+6187, U+618a, U+618d-618e, U+6190-6191, U+6194, U+6199-619a, U+619c, U+619f, U+61a1, U+61a3-61a4, U+61a7-61a9, U+61ab-61ad, U+61b2-61b3, U+61b5-61b7, U+61ba-61bb, U+61bf, U+61c3-61c4, U+61c6-61c7, U+61c9-61cb, U+61d0-61d1, U+61d3-61d4, U+61d7, U+61da, U+61df-61e1, U+61e6, U+61ee, U+61f0, U+61f2, U+61f6-61f8, U+61fa, U+61fc-61fe, U+6200, U+6206-6207, U+6209, U+620b, U+620d-620e, U+6213-6215, U+6217, U+6219, U+621b-6223, U+6225-6226;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/8474823a5264bfdee208.woff2) format('woff2');
  unicode-range: U+5fc4, U+5fc9, U+5fcb, U+5fce-5fd6, U+5fda-5fde, U+5fe1-5fe2, U+5fe4-5fe5, U+5fea, U+5fed-5fee, U+5ff1-5ff3, U+5ff6, U+5ff8, U+5ffb, U+5ffe-5fff, U+6002-6006, U+600a, U+600d, U+600f, U+6014, U+6019, U+601b, U+6020, U+6023, U+6026, U+6029, U+602b, U+602e-602f, U+6031, U+6033, U+6035, U+6039, U+603f, U+6041-6043, U+6046, U+604f, U+6053-6054, U+6058-605b, U+605d-605e, U+6060, U+6063, U+6065, U+6067, U+606a-606c, U+6075, U+6078-6079, U+607b, U+607d, U+607f, U+6083, U+6085-6087, U+608a, U+608c, U+608e-608f, U+6092-6093, U+6095-6097, U+609b-609d, U+60a2, U+60a7, U+60a9-60ab, U+60ad, U+60af-60b1, U+60b3-60b6, U+60b8, U+60bb, U+60bd-60be, U+60c0-60c3, U+60c6-60c9, U+60cb, U+60ce, U+60d3-60d4, U+60d7-60db, U+60dd, U+60e1-60e4, U+60e6, U+60ea, U+60ec;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/734da1dcc260ca6cc29c.woff2) format('woff2');
  unicode-range: U+5e98, U+5e9b, U+5e9d, U+5ea0-5ea5, U+5ea8, U+5eab, U+5eaf, U+5eb3, U+5eb5-5eb6, U+5eb9, U+5ebe, U+5ec1-5ec3, U+5ec6, U+5ec8, U+5ecb-5ecc, U+5ed1-5ed2, U+5ed4, U+5ed9-5edb, U+5edd, U+5edf-5ee0, U+5ee2-5ee3, U+5ee8, U+5eea, U+5eec, U+5eef-5ef0, U+5ef3-5ef4, U+5ef8, U+5efb-5efc, U+5efe-5eff, U+5f01, U+5f07, U+5f0b-5f0e, U+5f10-5f12, U+5f14, U+5f1a, U+5f22, U+5f28-5f29, U+5f2c-5f2d, U+5f35-5f36, U+5f38, U+5f3b-5f43, U+5f45-5f4a, U+5f4c-5f4e, U+5f50, U+5f54, U+5f56-5f59, U+5f5b-5f5f, U+5f61, U+5f63, U+5f65, U+5f67-5f68, U+5f6b, U+5f6e-5f6f, U+5f72-5f78, U+5f7a, U+5f7e-5f7f, U+5f82-5f83, U+5f87, U+5f89-5f8a, U+5f8d, U+5f91, U+5f93, U+5f95, U+5f98-5f99, U+5f9c, U+5f9e, U+5fa0, U+5fa6-5fa9, U+5fac-5fad, U+5faf, U+5fb3-5fb5, U+5fb9, U+5fbc;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/71d3da5b2d0e05b8899e.woff2) format('woff2');
  unicode-range: U+5d26-5d27, U+5d2e-5d34, U+5d3c-5d3e, U+5d41-5d44, U+5d46-5d48, U+5d4a-5d4b, U+5d4e, U+5d50, U+5d52, U+5d55-5d58, U+5d5a-5d5d, U+5d68-5d69, U+5d6b-5d6c, U+5d6f, U+5d74, U+5d7f, U+5d82-5d89, U+5d8b-5d8c, U+5d8f, U+5d92-5d93, U+5d99, U+5d9d, U+5db2, U+5db6-5db7, U+5dba, U+5dbc-5dbd, U+5dc2-5dc3, U+5dc6-5dc7, U+5dc9, U+5dcc, U+5dd2, U+5dd4, U+5dd6-5dd8, U+5ddb-5ddc, U+5de3, U+5ded, U+5def, U+5df3, U+5df6, U+5dfa-5dfd, U+5dff-5e00, U+5e07, U+5e0f, U+5e11, U+5e13-5e14, U+5e19-5e1b, U+5e22, U+5e25, U+5e28, U+5e2a, U+5e2f-5e31, U+5e33-5e34, U+5e36, U+5e39-5e3c, U+5e3e, U+5e40, U+5e44, U+5e46-5e48, U+5e4c, U+5e4f, U+5e53-5e54, U+5e57, U+5e59, U+5e5b, U+5e5e-5e5f, U+5e61, U+5e63, U+5e6a-5e6b, U+5e75, U+5e77, U+5e79-5e7a, U+5e7e, U+5e80-5e81, U+5e83, U+5e85, U+5e87, U+5e8b, U+5e91-5e92, U+5e96;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/92f8b99dc1a79089d18b.woff2) format('woff2');
  unicode-range: U+5bec, U+5bee-5bf0, U+5bf2-5bf3, U+5bf5-5bf6, U+5bfe, U+5c02-5c03, U+5c05, U+5c07-5c09, U+5c0b-5c0c, U+5c0e, U+5c10, U+5c12-5c13, U+5c15, U+5c17, U+5c19, U+5c1b-5c1c, U+5c1e-5c1f, U+5c22, U+5c25, U+5c28, U+5c2a-5c2b, U+5c2f-5c30, U+5c37, U+5c3b, U+5c43-5c44, U+5c46-5c47, U+5c4d, U+5c50, U+5c59, U+5c5b-5c5c, U+5c62-5c64, U+5c66, U+5c6c, U+5c6e, U+5c74, U+5c78-5c7e, U+5c80, U+5c83-5c84, U+5c88, U+5c8b-5c8d, U+5c91, U+5c94-5c96, U+5c98-5c99, U+5c9c, U+5c9e, U+5ca1-5ca3, U+5cab-5cac, U+5cb1, U+5cb5, U+5cb7, U+5cba, U+5cbd-5cbf, U+5cc1, U+5cc3-5cc4, U+5cc7, U+5ccb, U+5cd2, U+5cd8-5cd9, U+5cdf-5ce0, U+5ce3-5ce6, U+5ce8-5cea, U+5ced, U+5cef, U+5cf3-5cf4, U+5cf6, U+5cf8, U+5cfd, U+5d00-5d04, U+5d06, U+5d08, U+5d0b-5d0d, U+5d0f-5d13, U+5d15, U+5d17-5d1a, U+5d1d-5d22, U+5d24-5d25;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/5c8faf77fe0277b9e599.woff2) format('woff2');
  unicode-range: U+5aa0, U+5aa3-5aa4, U+5aaa, U+5aae-5aaf, U+5ab1-5ab2, U+5ab4-5ab5, U+5ab7-5aba, U+5abd-5abf, U+5ac3-5ac4, U+5ac6-5ac8, U+5aca-5acb, U+5acd, U+5acf-5ad2, U+5ad4, U+5ad8-5ada, U+5adc, U+5adf-5ae2, U+5ae4, U+5ae6, U+5ae8, U+5aea-5aed, U+5af0-5af3, U+5af5, U+5af9-5afb, U+5afd, U+5b01, U+5b05, U+5b08, U+5b0b-5b0c, U+5b11, U+5b16-5b17, U+5b1b, U+5b21-5b22, U+5b24, U+5b27-5b2e, U+5b30, U+5b32, U+5b34, U+5b36-5b38, U+5b3e-5b40, U+5b43, U+5b45, U+5b4a-5b4b, U+5b51-5b53, U+5b56, U+5b5a-5b5b, U+5b62, U+5b65, U+5b67, U+5b6a-5b6e, U+5b70-5b71, U+5b73, U+5b7a-5b7b, U+5b7f-5b80, U+5b84, U+5b8d, U+5b91, U+5b93-5b95, U+5b9f, U+5ba5-5ba6, U+5bac, U+5bae, U+5bb8, U+5bc0, U+5bc3, U+5bcb, U+5bd0-5bd1, U+5bd4-5bd8, U+5bda-5bdc, U+5be2, U+5be4-5be5, U+5be7, U+5be9, U+5beb;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/216c1c94ee016db46f8d.woff2) format('woff2');
  unicode-range: U+596a, U+596c-596e, U+5977, U+597b-597c, U+5981, U+598f, U+5997-5998, U+599a, U+599c-599d, U+59a0-59a1, U+59a3-59a4, U+59a7, U+59aa-59ad, U+59af, U+59b2-59b3, U+59b5-59b6, U+59b8, U+59ba, U+59bd-59be, U+59c0-59c1, U+59c3-59c4, U+59c7-59ca, U+59cc-59cd, U+59cf, U+59d2, U+59d5-59d6, U+59d8-59d9, U+59db, U+59dd-59e0, U+59e2-59e7, U+59e9-59eb, U+59ee, U+59f1, U+59f3, U+59f5, U+59f7-59f9, U+59fd, U+5a06, U+5a08-5a0a, U+5a0c-5a0d, U+5a11-5a13, U+5a15-5a16, U+5a1a-5a1b, U+5a21-5a23, U+5a2d-5a2f, U+5a32, U+5a38, U+5a3c, U+5a3e-5a45, U+5a47, U+5a4a, U+5a4c-5a4d, U+5a4f-5a51, U+5a53, U+5a55-5a57, U+5a5e, U+5a60, U+5a62, U+5a65-5a67, U+5a6a, U+5a6c-5a6d, U+5a72-5a73, U+5a75-5a76, U+5a79-5a7c, U+5a81-5a84, U+5a8c, U+5a8e, U+5a93, U+5a96-5a97, U+5a9c, U+5a9e;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/8a31272bf31f93407478.woff2) format('woff2');
  unicode-range: U+5820, U+5822-5823, U+5825-5826, U+582c, U+582f, U+5831, U+583a, U+583d, U+583f-5842, U+5844-5846, U+5848, U+584a, U+584d, U+5852, U+5857, U+5859-585a, U+585c-585d, U+5862, U+5868-5869, U+586c-586d, U+586f-5873, U+5875, U+5879, U+587d-587e, U+5880-5881, U+5888-588a, U+588d, U+5892, U+5896-5898, U+589a, U+589c-589d, U+58a0-58a1, U+58a3, U+58a6, U+58a9, U+58ab-58ae, U+58b0, U+58b3, U+58bb-58bf, U+58c2-58c3, U+58c5-58c8, U+58ca, U+58cc, U+58ce, U+58d1-58d3, U+58d5, U+58d8-58d9, U+58de-58df, U+58e2, U+58e9, U+58ec, U+58ef, U+58f1-58f2, U+58f5, U+58f7-58f8, U+58fa, U+58fd, U+5900, U+5902, U+5906, U+5908-590c, U+590e, U+5910, U+5914, U+5919, U+591b, U+591d-591e, U+5920, U+5922-5925, U+5928, U+592c-592d, U+592f, U+5932, U+5936, U+593c, U+593e, U+5940-5942, U+5944, U+594c-594d, U+5950, U+5953, U+5958, U+595a, U+5961, U+5966-5968;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/bc249f82f40ec61d6ec0.woff2) format('woff2');
  unicode-range: U+56f9, U+56fc, U+56ff-5700, U+5703-5704, U+5709-570a, U+570c-570d, U+570f, U+5712-5713, U+5718-5719, U+571c, U+571e, U+5725, U+5727, U+5729-572a, U+572c, U+572e-572f, U+5734-5735, U+5739, U+573b, U+5741, U+5743, U+5745, U+5749, U+574c-574d, U+575c, U+5763, U+5768-5769, U+576b, U+576d-576e, U+5770, U+5773, U+5775, U+5777, U+577b-577c, U+5785-5786, U+5788, U+578c, U+578e-578f, U+5793-5795, U+5799-57a1, U+57a3-57a4, U+57a6-57aa, U+57ac-57ad, U+57af-57b2, U+57b4-57b6, U+57b8-57b9, U+57bd-57bf, U+57c2, U+57c4-57c8, U+57cc-57cd, U+57cf, U+57d2, U+57d5-57de, U+57e1-57e2, U+57e4-57e5, U+57e7, U+57eb, U+57ed, U+57ef, U+57f4-57f8, U+57fc-57fd, U+5800-5801, U+5803, U+5805, U+5807, U+5809, U+580b-580e, U+5811, U+5814, U+5819, U+581b-581f;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/26210c38ccee9b531944.woff2) format('woff2');
  unicode-range: U+55f5-55f7, U+55fb, U+55fe, U+5600-5601, U+5605-5606, U+5608, U+560c-560d, U+560f, U+5614, U+5616-5617, U+561a, U+561c, U+561e, U+5621-5625, U+5627, U+5629, U+562b-5630, U+5636, U+5638-563a, U+563c, U+5640-5642, U+5649, U+564c-5650, U+5653-5655, U+5657-565b, U+5660, U+5663-5664, U+5666, U+566b, U+566f-5671, U+5673-567c, U+567e, U+5684-5687, U+568c, U+568e-5693, U+5695, U+5697, U+569b-569c, U+569e-569f, U+56a1-56a2, U+56a4-56a9, U+56ac-56af, U+56b1, U+56b4, U+56b6-56b8, U+56bf, U+56c1-56c3, U+56c9, U+56cd, U+56d1, U+56d4, U+56d6-56d9, U+56dd, U+56df, U+56e1, U+56e3-56e6, U+56e8-56ec, U+56ee-56ef, U+56f1-56f3, U+56f5, U+56f7-56f8;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/db79df334235f3d72cc0.woff2) format('woff2');
  unicode-range: U+550f, U+5511-5514, U+5516-5517, U+5519, U+551b, U+551d-551e, U+5520, U+5522-5523, U+5526-5527, U+552a-552c, U+5530, U+5532-5535, U+5537-5538, U+553b-5541, U+5543-5544, U+5547-5549, U+554b, U+554d, U+5550, U+5553, U+5555-5558, U+555b-555f, U+5567-5569, U+556b-5572, U+5574-5577, U+557b-557c, U+557e-557f, U+5581, U+5583, U+5585-5586, U+5588, U+558b-558c, U+558e-5591, U+5593, U+5599-559a, U+559f, U+55a5-55a6, U+55a8-55ac, U+55ae, U+55b0-55b3, U+55b6, U+55b9-55ba, U+55bc-55be, U+55c4, U+55c6-55c7, U+55c9, U+55cc-55d2, U+55d4-55db, U+55dd-55df, U+55e1, U+55e3-55e6, U+55ea-55ee, U+55f0-55f3;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/c9ce6e0654379a2dd291.woff2) format('woff2');
  unicode-range: U+53e7-53e9, U+53f1, U+53f4-53f5, U+53fa-5400, U+5402, U+5405-5407, U+540b, U+540f, U+5412, U+5414, U+5416, U+5418-541a, U+541d, U+5420-5423, U+5425, U+5429-542a, U+542d-542e, U+5431-5433, U+5436, U+543d, U+543f, U+5442-5443, U+5449, U+544b-544c, U+544e, U+5451-5454, U+5456, U+5459, U+545b-545c, U+5461, U+5463-5464, U+546a-5472, U+5474, U+5476-5478, U+547a, U+547e-5484, U+5486, U+548a, U+548d-548e, U+5490-5491, U+5494, U+5497-5499, U+549b, U+549d, U+54a1-54a7, U+54a9, U+54ab, U+54ad, U+54b4-54b5, U+54b9, U+54bb, U+54be-54bf, U+54c2-54c3, U+54c9-54cc, U+54cf-54d0, U+54d3, U+54d5-54d6, U+54d9-54da, U+54dc-54de, U+54e2, U+54e7, U+54f3-54f4, U+54f8-54f9, U+54fd-54ff, U+5501, U+5504-5506, U+550c-550e;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/9958d614924fa54de4f6.woff2) format('woff2');
  unicode-range: U+5289, U+528b, U+528d, U+528f, U+5291-5293, U+529a, U+52a2, U+52a6-52a7, U+52ac-52ad, U+52af, U+52b4-52b5, U+52b9, U+52bb-52bc, U+52be, U+52c1, U+52c5, U+52ca, U+52cd, U+52d0, U+52d6-52d7, U+52d9, U+52db, U+52dd-52de, U+52e0, U+52e2-52e3, U+52e5, U+52e7-52f0, U+52f2-52f3, U+52f5-52f9, U+52fb-52fc, U+5302, U+5304, U+530b, U+530d, U+530f-5310, U+5315, U+531a, U+531c-531d, U+5321, U+5323, U+5326, U+532e-5331, U+5338, U+533c-533e, U+5344-5345, U+534b-534d, U+5350, U+5354, U+5358, U+535d-535f, U+5363, U+5368-5369, U+536c, U+536e-536f, U+5372, U+5379-537b, U+537d, U+538d-538e, U+5390, U+5393-5394, U+5396, U+539b-539d, U+53a0-53a1, U+53a3-53a5, U+53a9, U+53ad-53ae, U+53b0, U+53b2-53b3, U+53b5-53b8, U+53bc, U+53be, U+53c1, U+53c3-53c7, U+53ce-53cf, U+53d2-53d3, U+53d5, U+53da, U+53de-53df, U+53e1-53e2;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/2129264ef35c203e3a2c.woff2) format('woff2');
  unicode-range: U+5104, U+5106-5107, U+5109-510b, U+510d, U+510f-5110, U+5113, U+5115, U+5117-5118, U+511a-511c, U+511e-511f, U+5121, U+5128, U+512b-512d, U+5131-5135, U+5137-5139, U+513c, U+5140, U+5142, U+5147, U+514c, U+514e-5150, U+5155-5158, U+5162, U+5169, U+5172, U+517f, U+5181-5184, U+5186-5187, U+518b, U+518f, U+5191, U+5195-5197, U+519a, U+51a2-51a3, U+51a6-51ab, U+51ad-51ae, U+51b1, U+51b4, U+51bc-51bd, U+51bf, U+51c3, U+51c7-51c8, U+51ca-51cb, U+51cd-51ce, U+51d4, U+51d6, U+51db-51dc, U+51e6, U+51e8-51eb, U+51f1, U+51f5, U+51fc, U+51ff, U+5202, U+5205, U+5208, U+520b, U+520d-520e, U+5215-5216, U+5228, U+522a, U+522c-522d, U+5233, U+523c-523d, U+523f-5240, U+5245, U+5247, U+5249, U+524b-524c, U+524e, U+5250, U+525b-525f, U+5261, U+5263-5264, U+5270, U+5273, U+5275, U+5277, U+527d, U+527f, U+5281-5285, U+5287;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/24a037cbb07cb4de1f92.woff2) format('woff2');
  unicode-range: U+4fd1, U+4fd3, U+4fda-4fdc, U+4fdf-4fe0, U+4fe2-4fe4, U+4fe6, U+4fe8, U+4feb-4fed, U+4ff3, U+4ff5-4ff6, U+4ff8, U+4ffe, U+5001, U+5005-5006, U+5009, U+500c, U+500f, U+5013-5018, U+501b-501e, U+5022-5025, U+5027-5028, U+502b-502e, U+5030, U+5033-5034, U+5036-5039, U+503b, U+5041-5043, U+5045-5046, U+5048-504a, U+504c-504e, U+5051, U+5053, U+5055-5057, U+505b, U+505e, U+5060, U+5062-5063, U+5067, U+506a, U+506c, U+5070-5072, U+5074-5075, U+5078, U+507b, U+507d-507e, U+5080, U+5088-5089, U+5091-5092, U+5095, U+5097-509e, U+50a2-50a3, U+50a5-50a7, U+50a9, U+50ad, U+50b3, U+50b5, U+50b7, U+50ba, U+50be, U+50c4-50c5, U+50c7, U+50ca, U+50cd, U+50d1, U+50d5-50d6, U+50da, U+50de, U+50e5-50e6, U+50ec-50ee, U+50f0-50f1, U+50f3, U+50f9-50fb, U+50fe-5102;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/e1b9b9aee81a74fc4ec1.woff2) format('woff2');
  unicode-range: U+4ea3, U+4ea5, U+4eb0-4eb1, U+4eb3-4eb6, U+4eb8-4eb9, U+4ebb-4ebe, U+4ec2-4ec4, U+4ec8-4ec9, U+4ecc, U+4ecf-4ed0, U+4ed2, U+4eda-4edb, U+4edd-4ee1, U+4ee6-4ee9, U+4eeb, U+4eee-4eef, U+4ef3-4ef5, U+4ef8-4efa, U+4efc, U+4f00, U+4f03-4f05, U+4f08-4f09, U+4f0b, U+4f0e, U+4f12-4f13, U+4f15, U+4f1b, U+4f1d, U+4f21-4f22, U+4f25, U+4f27-4f29, U+4f2b-4f2e, U+4f31-4f33, U+4f36-4f37, U+4f39, U+4f3e, U+4f40-4f41, U+4f43, U+4f47-4f49, U+4f54, U+4f57-4f58, U+4f5d-4f5e, U+4f61-4f62, U+4f64-4f65, U+4f67, U+4f6a, U+4f6e-4f6f, U+4f72, U+4f74-4f7e, U+4f80-4f82, U+4f84, U+4f89-4f8a, U+4f8e-4f98, U+4f9e, U+4fa1, U+4fa5, U+4fa9-4faa, U+4fac, U+4fb3, U+4fb6-4fb8, U+4fbd, U+4fc2, U+4fc5-4fc6, U+4fcd-4fce, U+4fd0;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/cce97c39b9304c87e55e.woff2) format('woff2');
  unicode-range: U+3129, U+3131, U+3134, U+3137, U+3139, U+3141-3142, U+3145, U+3147-3148, U+314b, U+314d-314e, U+315c, U+3160-3161, U+3163-3164, U+3186, U+318d, U+3192, U+3196-3198, U+319e-319f, U+3220-3229, U+3231, U+3268, U+3297, U+3299, U+32a3, U+338e-338f, U+3395, U+339c-339e, U+33c4, U+33d1-33d2, U+33d5, U+3434, U+34dc, U+34ee, U+353e, U+355d, U+3566, U+3575, U+3592, U+35a0-35a1, U+35ad, U+35ce, U+36a2, U+36ab, U+38a8, U+3dab, U+3de7, U+3deb, U+3e1a, U+3f1b, U+3f6d, U+4495, U+4723, U+48fa, U+4ca3, U+4db6-4dbf, U+4e02, U+4e04-4e06, U+4e0c, U+4e0f, U+4e15, U+4e17, U+4e1f-4e21, U+4e26, U+4e29, U+4e2c, U+4e2f, U+4e31, U+4e35, U+4e37, U+4e3c, U+4e3f-4e42, U+4e44, U+4e46-4e47, U+4e57, U+4e5a-4e5c, U+4e64-4e65, U+4e67, U+4e69, U+4e6d, U+4e78, U+4e7f-4e82, U+4e85, U+4e87, U+4e8a, U+4e8d, U+4e93, U+4e96, U+4e98-4e99, U+4e9c, U+4e9e-4ea0, U+4ea2;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/55fd1a42ab8ace744691.woff2) format('woff2');
  unicode-range: U+279f-27a2, U+27a4-27a5, U+27a8, U+27b0, U+27b2-27b3, U+27b9, U+27e8-27e9, U+27f6, U+2800, U+28ec, U+2913, U+2921-2922, U+2934-2935, U+2a2f, U+2b05-2b07, U+2b50, U+2b55, U+2bc5-2bc6, U+2e1c-2e1d, U+2ebb, U+2f00, U+2f08, U+2f24, U+2f2d, U+2f2f-2f30, U+2f3c, U+2f45, U+2f63-2f64, U+2f74, U+2f83, U+2f8f, U+2fbc, U+3003, U+3005-3007, U+3012-3013, U+301c-301e, U+3021, U+3023-3024, U+3030, U+3034-3035, U+3041, U+3043, U+3045, U+3047, U+3049, U+3056, U+3058, U+305c, U+305e, U+3062, U+306c, U+3074, U+3077, U+307a, U+307c-307d, U+3080, U+308e, U+3090-3091, U+3099-309b, U+309d-309e, U+30a5, U+30bc, U+30be, U+30c2, U+30c5, U+30cc, U+30d8, U+30e2, U+30e8, U+30ee, U+30f0-30f2, U+30f4-30f6, U+30fd-30fe, U+3105-3126, U+3128;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/40292a14f8f52accb052.woff2) format('woff2');
  unicode-range: U+2651-2655, U+2658, U+265a-265b, U+265d-265e, U+2660-266d, U+266f, U+267b, U+2688, U+2693-2696, U+2698-2699, U+269c, U+26a0-26a1, U+26a4, U+26aa-26ab, U+26bd-26be, U+26c4-26c5, U+26d4, U+26e9, U+26f0-26f1, U+26f3, U+26f5, U+26fd, U+2702, U+2704-2706, U+2708-270f, U+2712-2718, U+271a-271b, U+271d, U+271f, U+2721, U+2724-2730, U+2732-2734, U+273a, U+273d-2744, U+2747-2749, U+274c, U+274e-274f, U+2753-2757, U+275b, U+275d-275e, U+2763, U+2765-2767, U+276e-276f, U+2776-277e, U+2780-2782, U+278a-278c, U+278e, U+2794-2796, U+279c;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/008f38db74bc1c346ba8.woff2) format('woff2');
  unicode-range: U+2550-2551, U+2554, U+2557, U+255a-255b, U+255d, U+255f-2560, U+2562-2563, U+2565-2567, U+2569-256a, U+256c-2572, U+2579, U+2580-2595, U+25a1, U+25a3, U+25a9-25ad, U+25b0, U+25b3-25bb, U+25bd-25c2, U+25c4, U+25c8-25cb, U+25cd, U+25d0-25d1, U+25d4-25d5, U+25d8, U+25dc-25e6, U+25ea-25eb, U+25ef, U+25fe, U+2600-2604, U+2609, U+260e-260f, U+2611, U+2614-2615, U+2618, U+261a-2620, U+2622-2623, U+262a, U+262d-2630, U+2639-2640, U+2642, U+2648-2650;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/74a75243aa93eb61367a.woff2) format('woff2');
  unicode-range: U+23f0, U+23f3, U+2445, U+2449, U+2465-2471, U+2474-249b, U+24b8, U+24c2, U+24c7, U+24c9, U+24d0, U+24d2, U+24d4, U+24d8, U+24dd-24de, U+24e3, U+24e6, U+24e8, U+2500-2509, U+250b-2526, U+2528-2534, U+2536-2537, U+253b-2548, U+254a-254b;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/80d51f95afbebcbed0cc.woff2) format('woff2');
  unicode-range: U+207c-2083, U+208c-208e, U+2092, U+20a6, U+20a8-20ad, U+20af, U+20b1, U+20b4-20b5, U+20b8-20ba, U+20bd, U+20db, U+20dd, U+20e0, U+20e3, U+2105, U+2109, U+2113, U+2116-2117, U+2120-2121, U+2126, U+212b, U+2133, U+2139, U+2194, U+2196-2199, U+21a0, U+21a9-21aa, U+21af, U+21b3, U+21b5, U+21ba-21bb, U+21c4, U+21ca, U+21cc, U+21d0-21d4, U+21e1, U+21e6-21e9, U+2200, U+2202, U+2205-2208, U+220f, U+2211-2212, U+2215, U+2217-2219, U+221d-2220, U+2223, U+2225, U+2227-222b, U+222e, U+2234-2237, U+223c-223d, U+2248, U+224c, U+2252, U+2256, U+2260-2261, U+2266-2267, U+226a-226b, U+226e-226f, U+2282-2283, U+2295, U+2297, U+2299, U+22a5, U+22b0-22b1, U+22b9, U+22bf, U+22c5-22c6, U+22ef, U+2304, U+2307, U+230b, U+2312-2314, U+2318, U+231a-231b, U+2323, U+239b, U+239d-239e, U+23a0, U+23e9;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/7bf857d9d1285675fe57.woff2) format('woff2');
  unicode-range: U+1d34-1d35, U+1d38-1d3a, U+1d3c, U+1d3f-1d40, U+1d49, U+1d4e-1d4f, U+1d52, U+1d55, U+1d5b, U+1d5e, U+1d9c, U+1da0, U+1dc4-1dc5, U+1e69, U+1e73, U+1ea0-1ea9, U+1eab-1ead, U+1eaf, U+1eb1, U+1eb3, U+1eb5, U+1eb7, U+1eb9, U+1ebb, U+1ebd-1ebe, U+1ec0-1ec3, U+1ec5-1ec6, U+1ec9-1ecd, U+1ecf-1ed3, U+1ed5, U+1ed7-1edf, U+1ee1, U+1ee3, U+1ee5-1eeb, U+1eed, U+1eef-1ef1, U+1ef3, U+1ef7, U+1ef9, U+1f62, U+1f7b, U+2001-2002, U+2004-2006, U+2009-200a, U+200c-2012, U+2015-2016, U+201a, U+201e-2021, U+2023, U+2025, U+2028, U+202a-202d, U+202f-2030, U+2032-2033, U+2035, U+2038, U+203c, U+203e-203f, U+2043-2044, U+2049, U+204d-204e, U+2060-2061, U+2070, U+2074-2078, U+207a-207b;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/7671f7b32d4c5c11ba72.woff2) format('woff2');
  unicode-range: U+2ae-2b3, U+2b5-2bf, U+2c2-2c3, U+2c6-2d1, U+2d8-2da, U+2dc, U+2e1-2e3, U+2e5, U+2eb, U+2ee-2f0, U+2f2-2f7, U+2f9-2ff, U+302-30d, U+311, U+31b, U+321-325, U+327-329, U+32b-32c, U+32e-32f, U+331-339, U+33c-33d, U+33f, U+348, U+352, U+35c, U+35e-35f, U+361, U+363, U+368, U+36c, U+36f, U+530-540, U+55d-55e, U+561, U+563, U+565, U+56b, U+56e-579;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/94e55b60e87bfb909709.woff2) format('woff2');
  unicode-range: U+176-17f, U+192, U+194, U+19a-19b, U+19d, U+1a0-1a1, U+1a3-1a4, U+1aa, U+1ac-1ad, U+1af-1bf, U+1d2, U+1d4, U+1d6, U+1d8, U+1da, U+1dc, U+1e3, U+1e7, U+1e9, U+1ee, U+1f0-1f1, U+1f3, U+1f5-1ff, U+219-21b, U+221, U+223-226, U+228, U+22b, U+22f, U+231, U+234-237, U+23a-23b, U+23d, U+250-252, U+254-255, U+259-25e, U+261-263, U+265, U+268, U+26a-26b, U+26f-277, U+279, U+27b-280, U+282-283, U+285, U+28a, U+28c, U+28f, U+292, U+294-296, U+298-29a, U+29c, U+29f, U+2a1-2a4, U+2a6-2a7, U+2a9, U+2ab;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/6b2d1065f737c8360808.woff2) format('woff2');
  unicode-range: U+a1-a4, U+a6-a8, U+aa, U+ac, U+af, U+b1, U+b3-b6, U+b8-ba, U+bc-d6, U+d8-de, U+e6, U+eb, U+ee-f0, U+f5, U+f7-f8, U+fb, U+fd-100, U+102, U+104-107, U+10d, U+10f-112, U+115, U+117, U+119, U+11b, U+11e-11f, U+121, U+123, U+125-127, U+129-12a, U+12d, U+12f-13f, U+141-142, U+144, U+146, U+14b-14c, U+14f-153, U+158-15b, U+15e-160, U+163-165, U+168-16a, U+16d-175;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/2c5ddf9cdfad73afb523.woff2) format('woff2');
  unicode-range: U+221a, U+2264, U+2464, U+25a0, U+3008, U+4e10, U+512a, U+5152, U+5201, U+5241, U+5340, U+5352, U+549a, U+54b2, U+54c6, U+54d7, U+54e1, U+5509, U+55c5, U+5618, U+5716, U+576f, U+5784, U+57a2, U+589f, U+5a20, U+5a25, U+5a29, U+5a34, U+5a7f, U+5ad6, U+5b09, U+5b5c, U+5bc7, U+5be6, U+5c27, U+5d2d, U+5dcd, U+5f1b, U+5f37, U+604d, U+6055, U+6073, U+60eb, U+61ff, U+62ce, U+62ed, U+6345, U+6390, U+63b0, U+63b7, U+64ae, U+64c2, U+64d2, U+6556, U+663c, U+667e, U+66d9, U+66f8, U+6756, U+6789, U+689d, U+68f1, U+695e, U+6975, U+6a1f, U+6b0a, U+6b61, U+6b87, U+6c5d, U+6c7e, U+6c92, U+6d31, U+6df9, U+6e0d, U+6e2d, U+6f31, U+6f3e, U+70b3, U+70bd, U+70ca, U+70e8, U+725f, U+733f, U+7396, U+739f, U+7459, U+74a7, U+75a1, U+75f0, U+76cf, U+76d4, U+7729, U+77aa, U+77b0, U+77e3, U+780c, U+78d5, U+7941, U+7977, U+797a, U+79c3, U+7a20, U+7a92, U+7b71, U+7bf1, U+7c9f, U+7eb6, U+7eca, U+7ef7, U+7f07, U+7f09, U+7f15, U+7f81, U+7fb9, U+8038, U+8098, U+80b4, U+8110, U+814b-814c, U+816e, U+818a, U+8205, U+8235, U+828b, U+82a5, U+82b7, U+82d4, U+82db, U+82df, U+8317, U+8338, U+8385-8386, U+83c1, U+83cf, U+8537, U+853b, U+854a, U+8715, U+8783, U+892a, U+8a71, U+8bb3, U+8d2e, U+8d58, U+8dbe, U+8f67, U+8fab, U+8fc4, U+8fe6, U+9023, U+9084, U+9091, U+916a, U+91c9, U+91dc, U+94b3, U+9502, U+9523, U+9551, U+956f, U+960e, U+962a, U+962e, U+9647, U+96f3, U+9739, U+97a0, U+97ed, U+983b, U+985e, U+988a, U+99ac, U+9a6f, U+9a87, U+9a8b, U+9ab7, U+9abc, U+9ac5, U+9e25, U+e608, U+e621, U+ff06, U+ff14-ff16;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/a33308bf652e64ac2884.woff2) format('woff2');
  unicode-range: U+161, U+926, U+928, U+939, U+93f-940, U+94d, U+e17, U+e22, U+e44, U+25c7, U+25ce, U+2764, U+3009, U+3016-3017, U+4e4d, U+4e53, U+4f5a, U+4f70, U+4fae, U+4fd8, U+4ffa, U+5011, U+501a, U+51c4, U+5225, U+547b, U+5495, U+54e8, U+54ee, U+5594, U+55d3, U+55dc, U+55fd, U+560e, U+565c, U+5662, U+5669, U+566c, U+56bc, U+5742, U+5824, U+5834, U+598a, U+5992, U+59a9, U+5a04, U+5ac9, U+5b75, U+5b7d, U+5bc5, U+5c49, U+5c90, U+5e1c, U+5e27, U+5e2b, U+5e37, U+5e90, U+618b, U+61f5, U+620a, U+620c, U+6273, U+62c7, U+62f7, U+6320, U+6342, U+6401-6402, U+6413, U+6512, U+655b, U+65a7, U+65f1, U+65f7, U+665f, U+6687, U+66a7, U+673d, U+67b8, U+6854, U+68d8, U+68fa, U+696d, U+6a02, U+6a0a, U+6a80, U+6b7c, U+6bd9, U+6c2e, U+6c76, U+6cf8, U+6d4a, U+6d85, U+6e24, U+6e32, U+6ec7, U+6f88, U+700f, U+701a, U+7078, U+707c, U+70ac, U+70c1, U+72e9, U+7409, U+7422, U+745a, U+7480, U+74a8, U+752b, U+7574, U+7656, U+7699, U+7737, U+785d, U+78be, U+79b9, U+7a3d, U+7a91, U+7a9f, U+7ae3, U+7b77, U+7c3f, U+7d1a, U+7d50, U+7d93, U+8042, U+808b, U+8236, U+82b8-82b9, U+82ef, U+8309, U+836b, U+83ef, U+8431, U+85c9, U+865e, U+868c, U+8759, U+8760, U+8845, U+89ba, U+8a2a, U+8aaa, U+8c41, U+8d2c, U+8d4e, U+8e66, U+8e6d, U+8eaf, U+902e, U+914b, U+916e, U+919b, U+949b, U+94a0, U+94b0, U+9541-9542, U+9556, U+95eb, U+95f5, U+964b, U+968b, U+96cc-96cd, U+96cf, U+9713, U+9890, U+98a8, U+9985, U+9992, U+9a6d, U+9a81, U+9a86, U+9ab8, U+9ca4, U+e606-e607, U+e60a, U+e60c, U+e60e, U+fe0f, U+ff02, U+ff1e;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/4ea85e144cb385ce086b.woff2) format('woff2');
  unicode-range: U+10c, U+627-629, U+639, U+644, U+64a, U+203b, U+2265, U+2463, U+2573, U+25b2, U+3448-3449, U+4e1e, U+4e5e, U+4f3a, U+4f5f, U+4fea, U+5026, U+508d, U+516e, U+5189, U+5254, U+5288, U+52d8, U+52fa, U+5306, U+5308, U+5364, U+5384, U+53ed, U+543c, U+5450, U+5455, U+5466, U+54c4, U+5578, U+55a7, U+561f, U+5631, U+572d, U+575f, U+57ae, U+57e0, U+5830, U+594e, U+5984, U+5993, U+5bdd, U+5c0d, U+5c7f, U+5c82, U+5e62, U+5ed3, U+5f08, U+607a, U+60bc, U+625b, U+6292, U+62e2, U+6363, U+6467, U+6714, U+675e, U+6771, U+67a2, U+67ff, U+6805, U+68a7, U+68e0, U+6930, U+6986, U+69a8, U+69df, U+6a44, U+6a5f, U+6c13, U+6c1f, U+6c22, U+6c2f, U+6c40, U+6c81, U+6c9b, U+6ca5, U+6da4, U+6df3, U+6e85, U+6eba, U+6ed5, U+6f13, U+6f33, U+6f62, U+715e, U+72c4, U+73d1, U+7405, U+7487, U+7578, U+75a4, U+75eb, U+7693, U+7738, U+7741, U+776b, U+7792, U+77a7, U+77a9, U+77b3, U+788c, U+7984, U+79a7, U+79e4, U+7a1a, U+7a57, U+7aa6, U+7b0b, U+7b5d, U+7c27, U+7c7d, U+7caa, U+7cd9, U+7cef, U+7eda, U+7ede, U+7f24, U+803f, U+8046, U+80fa, U+81fb, U+8207, U+8258, U+8335, U+8339, U+8354, U+840e, U+85b0, U+85fb, U+8695, U+86aa, U+8717, U+8749, U+874c, U+8996, U+89bd, U+89c5, U+8bdb, U+8bf5, U+8c5a, U+8cec, U+8d3f, U+8d9f, U+8e44, U+8fed, U+9005, U+9019, U+9082, U+90af, U+90dd, U+90e1, U+90f8, U+916f, U+9176, U+949e, U+94a7, U+94c2, U+9525, U+9580, U+95dc, U+96e2, U+96fb, U+9704, U+9a7c, U+9a7f, U+9b41, U+9ca8, U+9cc4, U+9cde, U+9e92, U+9ede, U+9f9a, U+e60b, U+e610, U+ff10, U+ff13, U+ff3b, U+ff3d, U+f012b;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/1bfdb1f001006c624345.woff2) format('woff2');
  unicode-range: U+60, U+631, U+2606, U+3014-3015, U+309c, U+33a1, U+4e52, U+4ec6, U+4f86, U+4f8d, U+4fde, U+4fef, U+500b, U+502a, U+515c, U+518a, U+51a5, U+51f3, U+5243, U+52c9, U+52d5, U+53a2, U+53ee, U+54ce, U+54fa, U+54fc, U+5580, U+5587, U+563f, U+56da, U+5792, U+5815, U+5960, U+59d7, U+5b78, U+5b9b, U+5be1, U+5c4e, U+5c51, U+5c6f, U+5c9a, U+5cfb, U+5d16, U+5ed6, U+5f27, U+5f6a, U+609a, U+60df, U+6168, U+61c8, U+6236, U+62f1, U+62fd, U+631a, U+6328, U+632b, U+6346, U+638f, U+63a0, U+63c9, U+655e, U+6590, U+6615, U+6627, U+66ae, U+66e6, U+66f0, U+67da, U+67ec, U+6813, U+6816, U+6869, U+6893, U+68ad, U+68f5, U+6977, U+6984, U+69db, U+6b72, U+6bb7, U+6ce3, U+6cfb, U+6d47, U+6da1, U+6dc4, U+6e43, U+6eaf, U+6eff, U+6f8e, U+7011, U+7063, U+7076, U+7096, U+70ba, U+70db, U+70ef, U+7119-711a, U+7172, U+718f, U+7194, U+727a, U+72d9, U+72ed, U+7325, U+73ae, U+73ba, U+73c0, U+73fe, U+7410, U+7426, U+7455, U+7554, U+7576, U+75ae, U+75b9, U+762b, U+766b, U+7682, U+7750, U+7779, U+7784, U+77eb, U+77ee, U+78f7, U+79e9, U+7a79, U+7b1b, U+7b28, U+7bf7, U+7db2, U+7ec5, U+7eee, U+7f14, U+7f1a, U+7fe1, U+8087, U+809b, U+81b3, U+8231, U+830e, U+835f, U+83e9, U+849c, U+851a, U+868a, U+8718, U+874e, U+8822, U+8910, U+8944, U+8a3b, U+8bb6, U+8bbc, U+8e72, U+8f9c, U+900d, U+904b, U+904e, U+9063, U+90a2, U+90b9, U+9119, U+94f2, U+952f, U+9576-9577, U+9593, U+95f8, U+961c, U+969b, U+96a7, U+96c1, U+9716, U+9761, U+97ad, U+97e7, U+98a4, U+997a, U+9a73, U+9b44, U+9e3d, U+9ecf, U+9ed4, U+ff11-ff12, U+fffd;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/1e716b78655e39607580.woff2) format('woff2');
  unicode-range: U+2003, U+2193, U+2462, U+4e19, U+4e2b, U+4e36, U+4ea8, U+4ed1, U+4ed7, U+4f51, U+4f63, U+4f83, U+50e7, U+5112, U+5167, U+51a4, U+51b6, U+5239, U+5265, U+532a, U+5351, U+537f, U+5401, U+548f, U+5492, U+54af, U+54b3, U+54bd, U+54d1, U+54df, U+554f, U+5564, U+5598, U+5632, U+56a3, U+56e7, U+574e, U+575d-575e, U+57d4, U+584c, U+58e4, U+5937, U+5955, U+5a05, U+5a1f, U+5a49, U+5ac2, U+5c39, U+5c61, U+5d0e, U+5de9, U+5e9a, U+5eb8, U+5f0a, U+5f13, U+5f6c, U+5f8c, U+603c, U+608d, U+611b, U+6127, U+62a0, U+62d0, U+634f, U+635e, U+63fd, U+6577, U+658b, U+65bc, U+660a, U+6643, U+6656, U+6703, U+6760, U+67af, U+67c4, U+67e0, U+6817, U+68cd, U+690e, U+6960, U+69b4, U+6a71, U+6aac, U+6b67, U+6bb4, U+6c55, U+6c70, U+6c82, U+6ca6, U+6cb8, U+6cbe, U+6ede, U+6ee5, U+6f4d, U+6f84, U+6f9c, U+7115, U+7121, U+722a, U+7261, U+7272, U+7280, U+72f8, U+7504, U+754f, U+75d8, U+767c, U+76ef, U+778e, U+77bb, U+77f6, U+786b, U+78b1, U+7948, U+7985, U+79be, U+7a83, U+7a8d, U+7eac, U+7eef, U+7ef8, U+7efd, U+7f00, U+803d, U+8086, U+810a, U+8165, U+819d, U+81a8, U+8214, U+829c, U+831c, U+832b, U+8367, U+83e0, U+83f1, U+8403, U+846b, U+8475, U+84b2, U+8513, U+8574, U+85af, U+86d9, U+86db, U+8acb, U+8bbd, U+8be0-8be1, U+8c0e, U+8d29, U+8d50, U+8d63, U+8f7f, U+9032, U+9042, U+90b1, U+90b5, U+9165, U+9175, U+94a6, U+94c5, U+950c, U+9610, U+9631, U+9699, U+973e, U+978d, U+97ec, U+97f6, U+984c, U+987d, U+9882, U+9965, U+996a, U+9972, U+9a8f, U+9ad3, U+9ae6, U+9cb8, U+9edb, U+e600, U+e60f, U+e611, U+ff05, U+ff0b;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/ade910a27a4bd65baed5.woff2) format('woff2');
  unicode-range: U+5e, U+2190, U+250a, U+25bc, U+25cf, U+4e56, U+4ea9, U+4f3d, U+4f6c, U+4f88, U+4fa8, U+4fcf, U+5029, U+5188, U+51f9, U+5203, U+524a, U+5256, U+529d, U+5375, U+53db, U+541f, U+5435, U+5457, U+548b, U+54c7, U+54d4, U+54e9, U+556a, U+5589, U+55bb, U+55e8, U+55ef, U+563b, U+566a, U+576a, U+58f9, U+598d, U+599e, U+59a8, U+5a9b, U+5ae3, U+5bb0, U+5bde, U+5c4c, U+5c60, U+5d1b, U+5deb, U+5df7, U+5e18, U+5f26, U+5f64, U+601c, U+6084, U+60e9, U+614c, U+6208, U+621a, U+6233, U+6254, U+62d8, U+62e6, U+62ef, U+6323, U+632a, U+633d, U+6361, U+6405, U+640f, U+6614, U+6642, U+6657, U+67a3, U+6808, U+683d, U+6850, U+6897, U+68b3, U+68b5, U+68d5, U+6a58, U+6b47, U+6b6a, U+6c28, U+6c90, U+6ca7, U+6cf5, U+6d51, U+6da9, U+6dc7, U+6dd1, U+6e0a, U+6e5b, U+6e9c, U+6f47, U+6f6d, U+70ad, U+70f9, U+710a, U+7130, U+71ac, U+745f, U+7476, U+7490, U+7529, U+7538, U+75d2, U+7696, U+76b1, U+76fc, U+777f, U+77dc, U+789f, U+795b, U+79bd, U+79c9, U+7a3b, U+7a46, U+7aa5, U+7ad6, U+7ca5, U+7cb9, U+7cdf, U+7d6e, U+7f06, U+7f38, U+7fa1, U+7fc1, U+8015, U+803b, U+80a2, U+80aa, U+8116, U+813e, U+82bd, U+8305, U+8328, U+8346, U+846c, U+8549, U+859b, U+8611, U+8680, U+87f9, U+884d, U+8877, U+888d, U+88d4, U+898b, U+8a79, U+8a93, U+8c05, U+8c0d, U+8c26, U+8d1e, U+8d31, U+8d81, U+8e22, U+8e81, U+8f90, U+8f96, U+90ca, U+916c, U+917f, U+9187, U+918b, U+9499, U+94a9, U+9524, U+9540, U+958b, U+9600, U+9640, U+96b6, U+96c7, U+96ef, U+98d9, U+9976, U+997f, U+9a74, U+9a84, U+9c8d, U+9e26, U+9e9f, U+ad6d, U+c5b4, U+d55c, U+ff0f;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/d31c838eb0e43043109b.woff2) format('woff2');
  unicode-range: U+b0, U+2191, U+2460-2461, U+25c6, U+300e-300f, U+4e1b, U+4e7e, U+4ed5, U+4ef2, U+4f10, U+4f1e, U+4f50, U+4fa6, U+4faf, U+5021, U+50f5, U+5179, U+5180, U+51d1, U+522e, U+52a3, U+52c3, U+52cb, U+5300, U+5319, U+5320, U+5349, U+5395, U+53d9, U+541e, U+5428, U+543e, U+54b1, U+54c0, U+54d2, U+570b, U+5858, U+58f6, U+5974, U+59a5, U+59e8, U+59ec, U+5a36, U+5a9a, U+5ab3, U+5b99, U+5baa, U+5ce1, U+5d14, U+5d4c, U+5dc5, U+5de2, U+5e99, U+5e9e, U+5f18, U+5f66, U+5f70, U+6070, U+60d5, U+60e7, U+6101, U+611a, U+61be, U+6241, U+6252, U+626f, U+6296, U+62bc, U+62cc, U+6380, U+63a9, U+644a, U+6454, U+64a9, U+64b8, U+6500, U+6572, U+65a5, U+65a9, U+65ec, U+660f, U+6749, U+6795, U+67ab, U+68da, U+6912, U+6bbf, U+6bef, U+6cab, U+6cca, U+6ccc, U+6cfc, U+6d3d, U+6d78, U+6dee, U+6e17, U+6e34, U+6e83, U+6ea2, U+6eb6, U+6f20, U+6fa1, U+707f, U+70d8, U+70eb, U+714c, U+714e, U+7235, U+7239, U+73ca, U+743c, U+745c, U+7624, U+763e, U+76f2, U+77db, U+77e9, U+780d, U+7838, U+7845, U+78ca, U+796d, U+7a84, U+7aed, U+7b3c, U+7eb2, U+7f05, U+7f20, U+7f34, U+7f62, U+7fc5, U+7fd8, U+7ff0, U+800d, U+8036, U+80ba, U+80be, U+80c0-80c1, U+8155, U+817a, U+8180, U+81e3, U+8206, U+8247, U+8270, U+8299, U+82ad, U+8304, U+8393, U+83b9, U+840d, U+8427, U+8469, U+8471, U+84c4, U+84ec, U+853d, U+8681-8682, U+8721, U+8854, U+88d5, U+88f9, U+8bc0, U+8c0a, U+8c29, U+8c2d, U+8d41, U+8dea, U+8eb2, U+8f9f, U+903b, U+903e, U+9102, U+9493, U+94a5, U+94f8, U+95f7, U+9706, U+9709, U+9774, U+98a0, U+9e64, U+9f9f, U+e603;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/d8d9b5fd2b266fdf3f68.woff2) format('woff2');
  unicode-range: U+200b, U+2103, U+4e18, U+4e27-4e28, U+4e38, U+4e59, U+4e8f, U+4ead, U+4ec7, U+4fe9, U+503a, U+5085, U+5146, U+51af, U+51f8, U+52ab, U+5339, U+535c, U+5378, U+538c, U+5398, U+53f9, U+5415, U+5475, U+54aa, U+54ac, U+54b8, U+5582, U+5760, U+5764, U+57cb, U+5835, U+5885, U+5951, U+5983, U+59da, U+5a77, U+5b5d, U+5b5f, U+5bb5, U+5bc2, U+5be8, U+5bfa, U+5c2c, U+5c34, U+5c41, U+5c48, U+5c65, U+5cad, U+5e06, U+5e42, U+5ef7, U+5f17, U+5f25, U+5f6d, U+5f79, U+6028, U+6064, U+6068, U+606d, U+607c, U+6094, U+6109, U+6124, U+6247, U+626d, U+6291, U+629a, U+62ac, U+62b9, U+62fe, U+6324, U+6349, U+6367, U+6398, U+6495, U+64a4, U+64b0, U+64bc, U+64ce, U+658c, U+65ed, U+6602, U+6674, U+6691, U+66a8, U+674f, U+679a, U+67ef, U+67f4, U+680b, U+6876, U+68a8, U+6a59, U+6a61, U+6b20, U+6bc5, U+6d12, U+6d46, U+6d8c, U+6dc0, U+6e14, U+6e23, U+6f06, U+7164, U+716e, U+7199, U+71e5, U+72ac, U+742a, U+755c, U+75ab, U+75b2, U+75f4, U+7897, U+78b3, U+78c5, U+7978, U+79fd, U+7a74, U+7b4b, U+7b5b, U+7ece, U+7ed2, U+7ee3, U+7ef3, U+7f50, U+7f55, U+7f9e, U+7fe0, U+809d, U+8106, U+814a, U+8154, U+817b, U+818f, U+81c2, U+81ed, U+821f, U+82a6, U+82d1, U+8302, U+83c7, U+83ca, U+845b, U+848b, U+84c9, U+85e4, U+86ee, U+8700, U+8774, U+8881, U+8c1c, U+8c79, U+8d2a, U+8d3c, U+8eba, U+8f70, U+8fa9, U+8fb1, U+900a, U+9017, U+901d, U+9022, U+906e, U+946b, U+94dd, U+94ed, U+953b, U+95ef, U+95fa, U+95fd, U+96c0, U+971e, U+9753, U+9756, U+97e6, U+9881, U+9887, U+9b4f, U+9e2d, U+9f0e, U+e601-e602, U+e604-e605, U+ff5c;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/12fcc1175cb6370acb05.woff2) format('woff2');
  unicode-range: U+24, U+4e08, U+4e43, U+4e4f, U+4ef0, U+4f2a, U+507f, U+50ac, U+50bb, U+5151, U+51bb, U+51f6, U+51fd, U+5272, U+52fe, U+5362, U+53c9, U+53d4, U+53e0, U+543b, U+54f2, U+5507, U+5524, U+558a, U+55b5, U+561b, U+56ca, U+5782, U+57c3, U+5893, U+5915, U+5949, U+5962, U+59ae, U+59dc, U+59fb, U+5bd3, U+5c38, U+5cb3, U+5d07, U+5d29, U+5de1, U+5dfe, U+5e15, U+5eca, U+5f2f, U+5f7c, U+5fcc, U+6021, U+609f, U+60f9, U+6108, U+6148, U+6155, U+6170, U+61d2, U+6251, U+629b, U+62ab, U+62e8, U+62f3, U+6321, U+6350, U+6566, U+659c, U+65e8, U+6635, U+6655, U+6670, U+66f9, U+6734, U+679d, U+6851, U+6905, U+6b49, U+6b96, U+6c1b, U+6c41, U+6c6a, U+6c83, U+6cf3, U+6d9b, U+6dcb, U+6e1d, U+6e20-6e21, U+6eaa, U+6ee4, U+6ee9, U+6f58, U+70e4, U+722c, U+7262, U+7267, U+72b9, U+72e0, U+72ee, U+72f1, U+7334, U+73ab, U+7433, U+7470, U+758f, U+75d5, U+764c, U+7686, U+76c6, U+76fe, U+7720, U+77e2, U+7802, U+7816, U+788d, U+7891, U+7a00, U+7a9d, U+7b52, U+7bad, U+7c98, U+7cca, U+7eba, U+7eea, U+7ef5, U+7f1d, U+7f69, U+806a, U+809a, U+80bf, U+80c3, U+81c0, U+820c, U+82ac, U+82af, U+82cd, U+82d7, U+838e, U+839e, U+8404, U+84b8, U+852c, U+8587, U+8650, U+8679, U+86c7, U+8702, U+87ba, U+886b-886c, U+8870, U+8c10, U+8c23, U+8c6b, U+8d3e, U+8d4b-8d4c, U+8d64, U+8d6b, U+8d74, U+8e29, U+8f69, U+8f74, U+8fb0, U+8fdf, U+901b, U+9038, U+9093, U+9171, U+9489, U+94ae, U+94c3, U+9508, U+9510, U+9601, U+9614, U+964c, U+9675, U+971c, U+97f5, U+9888, U+98d8, U+9971, U+9aa4, U+9e3f, U+9e45, U+9e4f, U+9e70, U+9f7f, U+e715;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/85ebc9985c665dd55346.woff2) format('woff2');
  unicode-range: U+a5, U+2192, U+2605, U+4e11, U+4e22, U+4e32, U+4f0d, U+4f0f, U+4f69, U+4ff1, U+50b2, U+5154, U+51dd, U+51f0, U+5211, U+5269, U+533f, U+5366-5367, U+5389, U+5413, U+5440, U+5446, U+5561, U+574a, U+5751, U+57ab, U+5806, U+5821, U+582a, U+58f3, U+5938, U+5948, U+5978, U+59d1, U+5a03, U+5a07, U+5ac1, U+5acc, U+5ae9, U+5bb4, U+5bc4, U+5c3f, U+5e3d, U+5e7d, U+5f92, U+5faa, U+5fe0, U+5ffd, U+6016, U+60a0, U+60dc, U+60e8, U+614e, U+6212, U+6284, U+62c6, U+62d3-62d4, U+63f4, U+642c, U+6478, U+6491-6492, U+64e6, U+6591, U+65a4, U+664b, U+6735, U+6746, U+67f1, U+67f3, U+6842, U+68af, U+68c9, U+68cb, U+6a31, U+6b3a, U+6bc1, U+6c0f, U+6c27, U+6c57, U+6cc4, U+6ce5, U+6d2a, U+6d66, U+6d69, U+6daf, U+6e58, U+6ecb, U+6ef4, U+707e, U+7092, U+70ab, U+71d5, U+7275, U+7384, U+73b2, U+7434, U+74e6, U+74f7, U+75bc, U+76c8, U+76d0, U+7709, U+77ac, U+7855, U+78a7, U+78c1, U+7a77, U+7b79, U+7c92, U+7cae, U+7cd5, U+7ea4, U+7eb5, U+7ebd, U+7f5a, U+7fd4, U+7ffc, U+8083, U+8096, U+80a0, U+80d6, U+80de, U+8102, U+8109, U+810f, U+8179, U+8292, U+82b3, U+8352, U+8361, U+83cc, U+841d, U+8461, U+8482, U+8521, U+857e, U+85aa, U+866b, U+8776, U+8896, U+889c, U+88f8, U+8a9e, U+8bc8, U+8bf8, U+8c0b, U+8c28, U+8d2b, U+8d2f, U+8d37, U+8d3a, U+8d54, U+8dc3, U+8dcc, U+8df5, U+8e0f, U+8e48, U+8f86, U+8f88, U+8f9e, U+8fc1, U+8fc8, U+8feb, U+9065, U+90a6, U+90aa, U+90bb, U+90c1, U+94dc, U+9521, U+9676, U+96d5, U+970d, U+9897, U+997c, U+9a70, U+9a76, U+9a9a, U+9ad4, U+9e23, U+9e7f, U+9f3b, U+e675, U+e6b9, U+ffe5;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/51785f4a4d2a011d8770.woff2) format('woff2');
  unicode-range: U+300c-300d, U+4e54, U+4e58, U+4e95, U+4ec1, U+4f2f, U+4f38, U+4fa3, U+4fca, U+503e, U+5141, U+5144, U+517c, U+51cc, U+51ed, U+5242, U+52b2, U+52d2, U+52e4, U+540a, U+5439, U+5448, U+5496, U+54ed, U+5565, U+5761, U+5766, U+58ee, U+593a, U+594b, U+594f, U+5954, U+5996, U+59c6, U+59ff, U+5b64, U+5bff, U+5c18, U+5c1d, U+5c97, U+5ca9, U+5cb8, U+5e9f, U+5ec9, U+5f04, U+5f7b, U+5fa1, U+5fcd, U+6012, U+60a6, U+60ac, U+60b2, U+60ef, U+626e, U+6270, U+6276, U+62d6, U+62dc, U+6316, U+632f, U+633a, U+6355, U+63aa, U+6447, U+649e, U+64c5, U+654c, U+65c1, U+65cb, U+65e6, U+6606, U+6731, U+675c, U+67cf, U+67dc, U+6846, U+6b8b, U+6beb, U+6c61, U+6c88, U+6cbf, U+6cdb, U+6cea, U+6d45, U+6d53, U+6d74, U+6d82, U+6da8, U+6db5, U+6deb, U+6eda, U+6ee8, U+6f0f, U+706d, U+708e, U+70ae, U+70bc, U+70c2, U+70e6, U+7237-7238, U+72fc, U+730e, U+731b, U+739b, U+73bb, U+7483, U+74dc, U+74f6, U+7586, U+7626, U+775b, U+77ff, U+788e, U+78b0, U+7956, U+7965, U+79e6, U+7af9, U+7bee, U+7c97, U+7eb1, U+7eb7, U+7ed1, U+7ed5, U+7f6a, U+7f72, U+7fbd, U+8017, U+808c, U+80a9, U+80c6, U+80ce, U+8150, U+8170, U+819c, U+820d, U+8230, U+8239, U+827e, U+8377, U+8389, U+83b2, U+8428, U+8463, U+867e, U+88c2, U+88d9, U+8986, U+8bca, U+8bde, U+8c13, U+8c8c, U+8d21, U+8d24, U+8d56, U+8d60, U+8d8b, U+8db4, U+8e2a, U+8f68, U+8f89, U+8f9b, U+8fa8, U+8fbd, U+9003, U+90ce, U+90ed, U+9189, U+94bb, U+9505, U+95f9, U+963b, U+9655, U+966a, U+9677, U+96fe, U+9896, U+99a8, U+9a71, U+9a82, U+9a91, U+9b45, U+9ece, U+9f20, U+feff, U+ff0d;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/aaa67a70f5e8b351c558.woff2) format('woff2');
  unicode-range: U+4e4c, U+4e88, U+4ea1, U+4ea6, U+4ed3-4ed4, U+4eff, U+4f30, U+4fa7, U+4fc4, U+4fd7, U+500d, U+504f, U+5076-5077, U+517d, U+5192, U+51c9, U+51ef, U+5238, U+5251, U+526a, U+52c7, U+52df, U+52ff, U+53a6, U+53a8, U+53ec, U+5410, U+559d, U+55b7, U+5634, U+573e, U+5783, U+585e, U+586b, U+58a8, U+5999, U+59d3, U+5a1c, U+5a46, U+5b54-5b55, U+5b85, U+5b8b, U+5b8f, U+5bbf, U+5bd2, U+5c16, U+5c24, U+5e05, U+5e45, U+5e7c, U+5e84, U+5f03, U+5f1f, U+5f31, U+5f84, U+5f90, U+5fbd, U+5fc6, U+5fd9, U+5fe7, U+6052, U+6062, U+6089, U+60a3, U+60d1, U+6167, U+622a, U+6234, U+624e, U+6269, U+626c, U+62b5, U+62d2, U+6325, U+63e1, U+643a, U+6446, U+6562, U+656c, U+65e2, U+65fa, U+660c, U+6628, U+6652, U+6668, U+6676, U+66fc, U+66ff, U+6717, U+676d, U+67aa, U+67d4, U+6843, U+6881, U+68d2, U+695a, U+69fd, U+6a2a, U+6b8a, U+6c60, U+6c64, U+6c9f, U+6caa, U+6cc9, U+6ce1, U+6cfd, U+6d1b, U+6d1e, U+6d6e, U+6de1, U+6e10, U+6e7f, U+6f5c, U+704c, U+7070, U+7089, U+70b8, U+718a, U+71c3, U+723d, U+732a, U+73cd, U+7518, U+756a, U+75af, U+75be, U+75c7, U+76d2, U+76d7, U+7763, U+78e8, U+795d, U+79df, U+7c4d, U+7d2f, U+7ee9, U+7f13, U+7f8a, U+8000, U+8010, U+80af, U+80f6, U+80f8, U+8212, U+8273, U+82f9, U+83ab, U+83b1, U+83f2, U+8584, U+871c, U+8861, U+888b, U+88c1, U+88e4, U+8bd1, U+8bf1, U+8c31, U+8d5a, U+8d75-8d76, U+8de8, U+8f85, U+8fa3, U+8fc5, U+9006, U+903c, U+904d, U+9075, U+9178, U+9274, U+950b, U+9526, U+95ea, U+9636, U+9686, U+978b, U+987f, U+9a7e, U+9b42, U+9e1f, U+9ea6, U+9f13, U+9f84, U+ff5e;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/34e76675ceffd89824fb.woff2) format('woff2');
  unicode-range: U+23, U+3d, U+4e01, U+4e39, U+4e73, U+4ecd, U+4ed9, U+4eea, U+4f0a, U+4f1f, U+4f5b, U+4fa0, U+4fc3, U+501f, U+50a8, U+515a, U+5175, U+51a0, U+51c0, U+51e1, U+51e4, U+5200, U+520a, U+5224, U+523a, U+52aa, U+52b1, U+52b3, U+5348, U+5353, U+5360, U+5371, U+5377, U+539a, U+541b, U+5434, U+547c, U+54e6, U+5510, U+5531, U+5609, U+56f0, U+56fa, U+5733, U+574f, U+5851, U+5854, U+5899, U+58c1, U+592e, U+5939, U+5976, U+5986, U+59bb, U+5a18, U+5a74, U+5b59, U+5b87, U+5b97, U+5ba0, U+5bab, U+5bbd-5bbe, U+5bf8, U+5c0a, U+5c3a, U+5c4a, U+5e16, U+5e1d, U+5e2d, U+5e8a, U+6015, U+602a, U+6050, U+6069, U+6162, U+61c2, U+6293, U+6297, U+62b1, U+62bd, U+62df, U+62fc, U+6302, U+635f, U+638c, U+63ed, U+6458, U+6469, U+6563, U+6620, U+6653, U+6696-6697, U+66dd, U+675f, U+676f-6770, U+67d0, U+67d3, U+684c, U+6865, U+6885, U+68b0, U+68ee, U+690d, U+6b23, U+6b32, U+6bd5, U+6c89, U+6d01, U+6d25, U+6d89, U+6da6, U+6db2, U+6df7, U+6ed1, U+6f02, U+70c8, U+70df, U+70e7, U+7126, U+7236, U+7259, U+731c, U+745e, U+74e3, U+751a, U+751c, U+7532, U+7545, U+75db, U+7761, U+7a0d, U+7b51, U+7ca4, U+7cd6, U+7d2b, U+7ea0, U+7eb9, U+7ed8, U+7f18, U+7f29, U+8033, U+804a, U+80a4-80a5, U+80e1, U+817f, U+829d, U+82e6, U+8336, U+840c, U+8499, U+864e, U+8651, U+865a, U+88ad, U+89e6, U+8bd7, U+8bfa, U+8c37, U+8d25, U+8d38, U+8ddd, U+8fea, U+9010, U+9012, U+906d, U+907f-9080, U+90d1, U+9177, U+91ca, U+94fa, U+9501, U+9634-9635, U+9694, U+9707, U+9738, U+9769, U+9a7b, U+9a97, U+9aa8, U+9b3c, U+9c81, U+9ed8;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/40290d98d5c121bdbb19.woff2) format('woff2');
  unicode-range: U+26, U+3c, U+d7, U+4e4e, U+4e61, U+4e71, U+4ebf, U+4f26, U+5012, U+51ac, U+51b0, U+51b2, U+51b7, U+5218, U+521a, U+5220, U+5237, U+523b, U+526f, U+5385, U+53bf, U+53e5, U+53eb, U+53f3, U+53f6, U+5409, U+5438, U+54c8, U+54e5, U+552f, U+5584, U+5706, U+5723, U+5750, U+575a, U+5987-5988, U+59b9, U+59d0, U+59d4, U+5b88, U+5b9c, U+5bdf, U+5bfb, U+5c01, U+5c04, U+5c3e, U+5c4b, U+5c4f, U+5c9b, U+5cf0, U+5ddd, U+5de6, U+5de8, U+5e01, U+5e78, U+5e7b, U+5e9c, U+5ead, U+5ef6, U+5f39, U+5fd8, U+6000, U+6025, U+604b, U+6076, U+613f, U+6258, U+6263, U+6267, U+6298, U+62a2, U+62e5, U+62ec, U+6311, U+6377, U+6388-6389, U+63a2, U+63d2, U+641e, U+642d, U+654f, U+6551, U+6597, U+65cf, U+65d7, U+65e7, U+6682, U+66f2, U+671d, U+672b, U+6740, U+6751, U+6768, U+6811, U+6863, U+6982, U+6bd2, U+6cf0, U+6d0b, U+6d17, U+6d59, U+6dd8, U+6dfb, U+6e7e, U+6f6e, U+6fb3, U+706f, U+719f, U+72af, U+72d0, U+72d7, U+732b, U+732e, U+7389, U+73e0, U+7530, U+7687, U+76d6, U+76db, U+7840, U+786c, U+79cb, U+79d2, U+7a0e, U+7a33, U+7a3f, U+7a97, U+7ade-7adf, U+7b26, U+7e41, U+7ec3, U+7f3a, U+8089, U+80dc, U+811a, U+8131, U+8138, U+821e, U+8349, U+83dc, U+8457, U+867d, U+86cb, U+8a89, U+8ba8, U+8bad, U+8bef, U+8bfe, U+8c6a, U+8d1d, U+8d4f, U+8d62, U+8dd1, U+8df3, U+8f6e, U+8ff9, U+900f, U+9014, U+9057, U+9192, U+91ce, U+9488, U+94a2, U+9547, U+955c, U+95f2, U+9644, U+964d, U+96c4-96c5, U+96e8, U+96f6-96f7, U+9732, U+9759, U+9760, U+987a, U+989c, U+9910, U+996d-996e, U+9b54, U+9e21, U+9ebb, U+9f50;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/c49b2eb658a0c2d76de9.woff2) format('woff2');
  unicode-range: U+7e, U+2026, U+4e03, U+4e25, U+4e30, U+4e34, U+4e45, U+4e5d, U+4e89, U+4eae, U+4ed8, U+4f11, U+4f19, U+4f24, U+4f34, U+4f59, U+4f73, U+4f9d, U+4fb5, U+5047, U+505c, U+5170, U+519c, U+51cf, U+5267, U+5356, U+5374, U+5382, U+538b, U+53e6, U+5426, U+542b, U+542f, U+5462, U+5473, U+554a, U+5566, U+5708, U+571f, U+5757, U+57df, U+57f9, U+5802, U+590f, U+591c, U+591f, U+592b, U+5965, U+5979, U+5a01, U+5a5a, U+5b63, U+5b69, U+5b81, U+5ba1, U+5ba3, U+5c3c, U+5c42, U+5c81, U+5de7, U+5dee, U+5e0c, U+5e10, U+5e55, U+5e86, U+5e8f, U+5ea7, U+5f02, U+5f52, U+5f81, U+5ff5, U+60ca, U+60e0, U+6279, U+62c5, U+62ff, U+63cf, U+6444, U+64cd, U+653b, U+65bd, U+65e9, U+665a, U+66b4, U+66fe, U+6728, U+6742, U+677e, U+67b6, U+680f, U+68a6, U+68c0, U+699c, U+6b4c, U+6b66, U+6b7b, U+6bcd, U+6bdb, U+6c38, U+6c47, U+6c49, U+6cb3, U+6cb9, U+6ce2, U+6d32, U+6d3e, U+6d4f, U+6e56, U+6fc0, U+7075, U+7206, U+725b, U+72c2, U+73ed, U+7565, U+7591, U+7597, U+75c5, U+76ae, U+76d1, U+76df, U+7834, U+7968, U+7981, U+79c0, U+7a7f, U+7a81, U+7ae5, U+7b14, U+7c89, U+7d27, U+7eaf, U+7eb3, U+7eb8, U+7ec7, U+7ee7, U+7eff, U+7f57, U+7ffb, U+805a, U+80a1, U+822c, U+82cf, U+82e5, U+8363, U+836f, U+84dd, U+878d, U+8840, U+8857, U+8863, U+8865, U+8b66, U+8bb2, U+8bda, U+8c01, U+8c08, U+8c46, U+8d1f, U+8d35, U+8d5b, U+8d5e, U+8da3, U+8ddf, U+8f93, U+8fdd, U+8ff0, U+8ff7, U+8ffd, U+9000, U+9047, U+9152, U+949f, U+94c1, U+94f6, U+9646, U+9648, U+9669, U+969c, U+96ea, U+97e9, U+987b, U+987e, U+989d, U+9970, U+9986, U+9c7c, U+9c9c;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/6c0cda055b31066fb600.woff2) format('woff2');
  unicode-range: U+25, U+4e14, U+4e1d, U+4e3d, U+4e49, U+4e60, U+4e9a, U+4eb2, U+4ec5, U+4efd, U+4f3c, U+4f4f, U+4f8b, U+4fbf, U+5019, U+5145, U+514b, U+516b, U+516d, U+5174, U+5178, U+517b, U+5199, U+519b, U+51b3, U+51b5, U+5207, U+5212, U+5219, U+521d, U+52bf, U+533b, U+5343, U+5347, U+534a, U+536b, U+5370, U+53e4, U+53f2, U+5403, U+542c, U+547d, U+54a8, U+54cd, U+54ea, U+552e, U+56f4, U+5747, U+575b, U+5883, U+589e, U+5931, U+5947, U+5956-5957, U+5a92, U+5b83, U+5ba4, U+5bb3, U+5bcc, U+5c14, U+5c1a, U+5c3d, U+5c40, U+5c45, U+5c5e, U+5df4, U+5e72, U+5e95, U+5f80, U+5f85, U+5fb7, U+5fd7, U+601d, U+626b, U+627f, U+62c9, U+62cd, U+6309, U+63a7, U+6545, U+65ad, U+65af, U+65c5, U+666e, U+667a, U+670b, U+671b, U+674e, U+677f, U+6781, U+6790, U+6797, U+6821, U+6838-6839, U+697c, U+6b27, U+6b62, U+6bb5, U+6c7d, U+6c99, U+6d4b, U+6d4e, U+6d6a, U+6e29, U+6e2f, U+6ee1, U+6f14, U+6f2b, U+72b6, U+72ec, U+7387, U+7533, U+753b, U+76ca, U+76d8, U+7701, U+773c, U+77ed, U+77f3, U+7814, U+793c, U+79bb, U+79c1, U+79d8, U+79ef, U+79fb, U+7a76, U+7b11, U+7b54, U+7b56, U+7b97, U+7bc7, U+7c73, U+7d20, U+7eaa, U+7ec8, U+7edd, U+7eed, U+7efc, U+7fa4, U+804c, U+8058, U+80cc, U+8111, U+817e, U+826f, U+8303, U+843d, U+89c9, U+89d2, U+8ba2, U+8bbf, U+8bc9, U+8bcd, U+8be6, U+8c22, U+8c61, U+8d22, U+8d26-8d27, U+8d8a, U+8f6f, U+8f7b, U+8f83, U+8f91, U+8fb9, U+8fd4, U+8fdc, U+9002, U+94b1, U+9519, U+95ed, U+961f, U+9632-9633, U+963f, U+968f-9690, U+96be, U+9876, U+9884, U+98de, U+9988, U+9999, U+9ec4, U+ff1b;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/002e502515bee8b9efa1.woff2) format('woff2');
  unicode-range: U+2b, U+40, U+3000, U+300a-300b, U+4e16, U+4e66, U+4e70, U+4e91-4e92, U+4e94, U+4e9b, U+4ec0, U+4eca, U+4f01, U+4f17-4f18, U+4f46, U+4f4e, U+4f9b, U+4fee, U+503c, U+5065, U+50cf, U+513f, U+5148, U+518d, U+51c6, U+51e0, U+5217, U+529e-529f, U+5341, U+534f, U+5361, U+5386, U+53c2, U+53c8, U+53cc, U+53d7-53d8, U+53ea, U+5404, U+5411, U+5417, U+5427, U+5468, U+559c, U+5668, U+56e0, U+56e2, U+56ed, U+5740, U+57fa, U+58eb, U+5904, U+592a, U+59cb, U+5a31, U+5b58, U+5b9d, U+5bc6, U+5c71, U+5dde, U+5df1, U+5e08, U+5e26, U+5e2e, U+5e93, U+5e97, U+5eb7, U+5f15, U+5f20, U+5f3a, U+5f62, U+5f69, U+5f88, U+5f8b, U+5fc5, U+600e, U+620f, U+6218, U+623f, U+627e, U+628a, U+62a4, U+62db, U+62e9, U+6307, U+6362, U+636e, U+64ad, U+6539, U+653f, U+6548, U+6574, U+6613, U+6625, U+663e, U+666f, U+672a, U+6750, U+6784, U+6a21, U+6b3e, U+6b65, U+6bcf, U+6c11, U+6c5f, U+6df1, U+706b, U+7167, U+724c, U+738b, U+73a9, U+73af, U+7403, U+7537, U+754c, U+7559, U+767d, U+7740, U+786e, U+795e, U+798f, U+79f0, U+7aef, U+7b7e, U+7bb1, U+7ea2, U+7ea6, U+7ec4, U+7ec6, U+7ecd, U+7edc, U+7ef4, U+8003, U+80b2, U+81f3-81f4, U+822a, U+827a, U+82f1, U+83b7, U+8425, U+89c2, U+89c8, U+8ba9, U+8bb8, U+8bc6, U+8bd5, U+8be2, U+8be5, U+8bed, U+8c03, U+8d23, U+8d2d, U+8d34, U+8d70, U+8db3, U+8fbe, U+8fce, U+8fd1, U+8fde, U+9001, U+901f-9020, U+90a3, U+914d, U+91c7, U+94fe, U+9500, U+952e, U+9605, U+9645, U+9662, U+9664, U+9700, U+9752, U+975e, U+97f3, U+9879, U+9886, U+98df, U+9a6c, U+9a8c, U+9ed1, U+9f99;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/3d7ced7101c03dfa9bf0.woff2) format('woff2');
  unicode-range: U+4e, U+201c-201d, U+3010-3011, U+4e07, U+4e1c, U+4e24, U+4e3e, U+4e48, U+4e50, U+4e5f, U+4e8b-4e8c, U+4ea4, U+4eab-4eac, U+4ecb, U+4ece, U+4ed6, U+4ee3, U+4ef6-4ef7, U+4efb, U+4f20, U+4f55, U+4f7f, U+4fdd, U+505a, U+5143, U+5149, U+514d, U+5171, U+5177, U+518c, U+51fb, U+521b, U+5229, U+522b, U+52a9, U+5305, U+5317, U+534e, U+5355, U+5357, U+535a, U+5373, U+539f, U+53bb, U+53ca, U+53cd, U+53d6, U+53e3, U+53f0, U+5458, U+5546, U+56db, U+573a, U+578b, U+57ce, U+58f0, U+590d, U+5934, U+5973, U+5b57, U+5b8c, U+5b98, U+5bb9, U+5bfc, U+5c06, U+5c11, U+5c31, U+5c55, U+5df2, U+5e03, U+5e38, U+5e76, U+5e94, U+5efa, U+5f71, U+5f97, U+5feb, U+6001, U+603b, U+60f3, U+611f, U+6216, U+624d, U+6253, U+6295, U+6301, U+6392, U+641c, U+652f, U+653e, U+6559, U+6599, U+661f, U+671f, U+672f, U+6761, U+67e5, U+6807, U+6837, U+683c, U+6848, U+6b22, U+6b64, U+6bd4, U+6c14, U+6c34, U+6c42, U+6ca1, U+6d41, U+6d77, U+6d88, U+6e05, U+6e38, U+6e90, U+7136, U+7231, U+7531, U+767e, U+76ee, U+76f4, U+771f, U+7801, U+793a, U+79cd, U+7a0b, U+7a7a, U+7acb, U+7ae0, U+7b2c, U+7b80, U+7ba1, U+7cbe, U+7d22, U+7ea7, U+7ed3, U+7ed9, U+7edf, U+7f16, U+7f6e, U+8001, U+800c, U+8272, U+8282, U+82b1, U+8350, U+88ab, U+88c5, U+897f, U+89c1, U+89c4, U+89e3, U+8a00, U+8ba1, U+8ba4, U+8bae-8bb0, U+8bbe, U+8bc1, U+8bc4, U+8bfb, U+8d28, U+8d39, U+8d77, U+8d85, U+8def, U+8eab, U+8f66, U+8f6c, U+8f7d, U+8fd0, U+9009, U+90ae, U+90fd, U+91cc-91cd, U+91cf, U+95fb, U+9650, U+96c6, U+9891, U+98ce, U+ff1f;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/f26330ce4056382832c0.woff2) format('woff2');
  unicode-range: U+d, U+3e, U+5f, U+7c, U+a0, U+a9, U+4e09-4e0b, U+4e0d-4e0e, U+4e13, U+4e1a, U+4e2a, U+4e3a-4e3b, U+4e4b, U+4e86, U+4e8e, U+4ea7, U+4eba, U+4ee4-4ee5, U+4eec, U+4f1a, U+4f4d, U+4f53, U+4f5c, U+4f60, U+4fe1, U+5165, U+5168, U+516c, U+5173, U+5176, U+5185, U+51fa, U+5206, U+5230, U+5236, U+524d, U+529b, U+52a0-52a1, U+52a8, U+5316, U+533a, U+53cb, U+53d1, U+53ef, U+53f7-53f8, U+5408, U+540c-540e, U+544a, U+548c, U+54c1, U+56de, U+56fd-56fe, U+5728, U+5730, U+5907, U+5916, U+591a, U+5927, U+5929, U+597d, U+5982, U+5b50, U+5b66, U+5b89, U+5b9a, U+5b9e, U+5ba2, U+5bb6, U+5bf9, U+5c0f, U+5de5, U+5e02, U+5e73-5e74, U+5e7f, U+5ea6, U+5f00, U+5f0f, U+5f53, U+5f55, U+5fae, U+5fc3, U+6027, U+606f, U+60a8, U+60c5, U+610f, U+6210-6211, U+6237, U+6240, U+624b, U+6280, U+62a5, U+63a5, U+63a8, U+63d0, U+6536, U+6570, U+6587, U+65b9, U+65e0, U+65f6, U+660e, U+662d, U+662f, U+66f4, U+6700, U+670d, U+672c, U+673a, U+6743, U+6765, U+679c, U+682a, U+6b21, U+6b63, U+6cbb, U+6cd5, U+6ce8, U+6d3b, U+70ed, U+7247-7248, U+7269, U+7279, U+73b0, U+7406, U+751f, U+7528, U+7535, U+767b, U+76f8, U+770b, U+77e5, U+793e, U+79d1, U+7ad9, U+7b49, U+7c7b, U+7cfb, U+7ebf, U+7ecf, U+7f8e, U+8005, U+8054, U+80fd, U+81ea, U+85cf, U+884c, U+8868, U+8981, U+89c6, U+8bba, U+8bdd, U+8bf4, U+8bf7, U+8d44, U+8fc7, U+8fd8-8fd9, U+8fdb, U+901a, U+9053, U+90e8, U+91d1, U+957f, U+95e8, U+95ee, U+95f4, U+9762, U+9875, U+9898, U+9996, U+9ad8, U+ff01, U+ff08-ff09;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/09b9fa5a9521fbeccb82.woff2) format('woff2');
  unicode-range: U+20-22, U+27-2a, U+2c-3b, U+3f, U+41-4d, U+4f-5d, U+61-7b, U+7d, U+ab, U+ae, U+b2, U+b7, U+bb, U+df-e5, U+e7-ea, U+ec-ed, U+f1-f4, U+f6, U+f9-fa, U+fc, U+101, U+103, U+113, U+12b, U+148, U+14d, U+16b, U+1ce, U+1d0, U+300-301, U+1ebf, U+1ec7, U+2013-2014, U+2022, U+2027, U+2039-203a, U+2122, U+3001-3002, U+3042, U+3044, U+3046, U+3048, U+304a-3055, U+3057, U+3059-305b, U+305d, U+305f-3061, U+3063-306b, U+306d-3073, U+3075-3076, U+3078-3079, U+307b, U+307e-307f, U+3081-308d, U+308f, U+3092-3093, U+30a1-30a4, U+30a6-30bb, U+30bd, U+30bf-30c1, U+30c3-30c4, U+30c6-30cb, U+30cd-30d7, U+30d9-30e1, U+30e3-30e7, U+30e9-30ed, U+30ef, U+30f3, U+30fb-30fc, U+3127, U+4e00, U+4e2d, U+65b0, U+65e5, U+6708-6709, U+70b9, U+7684, U+7f51, U+ff0c, U+ff0e, U+ff1a;
}
/* cyrillic */
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/811e869a2b23ff46086e.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/310e65da63933201c338.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/0049f7154dcc3fa0d585.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./fonts/cf5346b0747cd71123c8.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(./fonts/88985ca614d50fbe06bf.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(./fonts/63b14e3ef0966785438b.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(./fonts/61e5958cf3c731423456.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(./fonts/2c8d792869818ecb253a.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(./fonts/ba344451eab25b217a16.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(./fonts/db521fb8015d736834f9.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(./fonts/64f028e9e0d5bf66f8af.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(./fonts/4f6a4778dcb42d51a922.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(./fonts/8176ed854ef40b2cdebb.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./fonts/6106d72e36626a3a7791.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./fonts/fdfc3667172fc08a8129.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./fonts/cf968562375eceed83b6.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./fonts/5d2286941a6b02a29387.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* style.css */
500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--ink:#eff1ff;--muted:#9a9cb5;--glass:rgba(255,255,255,.10);--line:rgba(255,255,255,.16);--purple:#a5b6ff}*{box-sizing:border-box}body{margin:0;background:#11111b;color:var(--ink);font-family:'Noto Sans SC',sans-serif;overflow:hidden}.app-shell{width:min(100vw,430px);height:100dvh;margin:auto;position:relative;overflow:hidden;background:radial-gradient(ellipse at 35% 5%,#3a3156 0%,transparent 40%),radial-gradient(ellipse at 95% 75%,#233453 0%,transparent 38%),linear-gradient(160deg,#181526 0%,#101019 68%)}.ambient{position:absolute;filter:blur(45px);border-radius:50%;opacity:.35;pointer-events:none}.ambient-one{width:160px;height:160px;background:#805ab1;top:40%;left:-90px}.ambient-two{width:130px;height:130px;background:#58a6bd;right:-70px;bottom:10%}.page{position:absolute;inset:0;padding:28px 20px 108px;overflow-y:auto;opacity:0;transform:translateX(28px);pointer-events:none;transition:.38s ease}.page.active{opacity:1;transform:none;pointer-events:auto}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:48px}.topbar h1{font-size:24px;margin:1px 0 0;letter-spacing:-.7px}.eyebrow{font-family:'DM Mono',monospace;color:#b7b5cf;font-size:9px;letter-spacing:1.6px;margin:0}.avatar,.round-btn{border:1px solid var(--line);background:var(--glass);color:white;width:40px;height:40px;border-radius:50%;font-size:17px;backdrop-filter:blur(13px)}.avatar{background:linear-gradient(135deg,#c4c7f4,#7774a9);font-family:serif;font-size:20px}.glass{background:linear-gradient(130deg,rgba(255,255,255,.16),rgba(255,255,255,.055));border:1px solid var(--line);box-shadow:inset 0 1px rgba(255,255,255,.16),0 16px 35px rgba(0,0,0,.16);backdrop-filter:blur(20px)}.timeline-intro{margin:25px 4px 7px;color:var(--muted);font-size:12px}.timeline-intro b{color:white}.live-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#a2d7fa;box-shadow:0 0 10px #a2d7fa;margin-right:6px}.rail-stage{height:440px;position:relative;touch-action:none}.rail{position:absolute;left:50%;top:12px;bottom:14px;width:38px;transform:translateX(-50%)}.rail i{position:absolute;top:0;bottom:0;width:2px;background:linear-gradient(#a9b0d1,rgba(168,176,210,.12));box-shadow:0 0 7px #aab0df}.rail i:first-child{left:3px}.rail i:nth-child(2){right:3px}.sleepers{position:absolute;left:-2px;top:0;width:42px;height:100%;background:repeating-linear-gradient(to bottom,transparent 0 14px,rgba(181,187,212,.34) 15px 17px,transparent 18px 32px)}.rail-label{position:absolute;left:calc(50% + 39px);font-size:11px;color:#d3d5e5}.rail-label span{color:#767890;font-family:'DM Mono';font-size:9px;margin-left:4px}.future{top:0}.past{bottom:0}.train{position:absolute;left:50%;top:46%;width:69px;height:83px;transform:translate(-50%,-50%);border-radius:35px 35px 22px 22px;border:1px solid rgba(234,244,255,.72);background:linear-gradient(105deg,rgba(230,250,255,.54),rgba(158,170,225,.18) 35%,rgba(255,255,255,.25));box-shadow:inset 8px 7px 15px rgba(255,255,255,.32),inset -8px -8px 15px rgba(68,73,125,.28),0 0 28px rgba(185,207,255,.5);z-index:3;cursor:grab}.train:before{content:'';position:absolute;left:14px;right:14px;top:9px;height:34px;border-radius:22px 22px 8px 8px;background:linear-gradient(115deg,rgba(32,39,71,.7),rgba(179,220,255,.25));border:1px solid rgba(255,255,255,.35)}.train:after{content:'';position:absolute;width:39px;left:14px;bottom:11px;border-bottom:2px solid rgba(224,240,255,.78);box-shadow:0 4px 0 rgba(224,240,255,.43)}.train span:last-child{position:absolute;width:3px;height:15px;background:#b4baff;left:33px;bottom:17px;z-index:1}.train-light{position:absolute;width:9px;height:9px;border-radius:50%;background:#f5fdff;box-shadow:0 0 14px 5px #b8e5ff;top:49px;left:30px;z-index:2}.station{position:absolute;left:calc(50% + 20px);display:flex;align-items:center;gap:9px;color:#8e91a9;font-family:'DM Mono';font-size:9px}.station em{height:8px;width:8px;border-radius:50%;background:#7c7e9b;box-shadow:0 0 0 4px rgba(164,168,206,.1)}.s1{top:89px}.s2{top:170px}.s3{top:254px}.s3 em{background:#f0f5ff;box-shadow:0 0 9px 3px #c3d7ff}.s4{top:336px}.s5{top:396px}.memory-preview{width:100%;border-radius:23px;color:white;text-align:left;padding:17px;display:grid;grid-template-columns:1fr auto;gap:12px;cursor:pointer}.memory-preview p{font-family:'DM Mono';font-size:10px;color:#c6c8de;margin:0}.memory-preview h2{font-size:16px;margin:4px 0 0;letter-spacing:-.4px}.arrow{font-size:19px;color:#d4dfff}.trace-list{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.trace-list span{font-size:10px;padding:6px 9px;border-radius:12px;background:rgba(255,255,255,.08);color:#d2d4e6}.hint{text-align:center;color:#8e91aa;font-size:11px;margin:13px}.tabbar{position:absolute;z-index:5;bottom:22px;left:20px;right:20px;height:65px;border-radius:23px;display:flex;justify-content:space-around;padding:7px}.tabbar button{border:0;background:none;color:#9799b1;font-family:inherit;font-size:10px;display:flex;gap:3px;flex-direction:column;align-items:center;min-width:70px;border-radius:16px}.tabbar span{font-size:20px;height:24px}.tabbar .selected{color:#fff;background:rgba(255,255,255,.12)}.todo-orb{position:absolute;right:23px;bottom:99px;z-index:10;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.53);background:linear-gradient(135deg,rgba(213,229,255,.8),rgba(115,129,198,.55));color:white;box-shadow:0 8px 25px rgba(88,122,217,.5),inset 1px 1px 7px #fff;backdrop-filter:blur(9px);font-size:20px}.todo-orb i{position:absolute;right:-3px;top:-4px;background:#f4a8c2;width:17px;height:17px;border-radius:50%;font:9px 'DM Mono';padding-top:3px}.date-heading{text-align:center}.day-hero{min-height:150px;margin:26px 0 20px;padding:23px;border-radius:27px;display:flex;justify-content:space-between;overflow:hidden}.day-hero p,.module-card p,.progress p{color:#b7b8ca;font-size:11px;margin:0}.day-hero h2{font-size:25px;line-height:1.24;margin:8px 0;letter-spacing:-1px}.day-hero i{font-family:'Playfair Display';color:#d6dbff;font-weight:600}.day-orbit{width:76px;height:76px;border:1px solid rgba(218,228,255,.45);border-radius:50%;display:grid;place-items:center;font:25px 'DM Mono';color:#e7edff;box-shadow:inset 0 0 16px rgba(176,193,255,.28),0 0 20px rgba(176,193,255,.12)}.section-title{display:flex;justify-content:space-between;align-items:center;margin:17px 2px 10px}.section-title h3{margin:0;font-size:14px}.section-title button,.profile button{border:0;background:none;color:#bfc9ff;font:11px 'Noto Sans SC'}.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.module-card{min-height:136px;border-radius:20px;padding:14px;position:relative}.module-card.wide{grid-column:span 2;min-height:90px;display:flex;align-items:center;gap:12px}.module-icon{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;font-size:14px;margin-bottom:11px}.wide .module-icon{margin:0}.fitness{background:#a68be833}.learn{background:#9fd2d133}.body{background:#efb0cf33}.count{background:#d7bb8333}.card-copy h3{font-size:16px;margin:3px 0}.card-copy span{font-size:9px;color:#9699b0}.module-card>b{position:absolute;right:14px;font-size:16px;color:#bbc6ed}.wide>b{right:17px}.quick-note{display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:17px;margin-top:15px}.quick-note span{color:#bfc8ff}.quick-note input{background:none;border:0;outline:0;color:#fff;min-width:0;flex:1;font-family:inherit;font-size:11px}.quick-note button{background:#b8c4f7;border:0;border-radius:10px;width:28px;height:28px}.profile{margin-top:24px;border-radius:25px;padding:15px;display:flex;align-items:center;gap:12px}.profile-avatar{width:53px;height:53px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#e0e5ff,#6c72a5);font:25px serif}.profile h2{font-size:17px;margin:0}.profile p{font-size:10px;color:#afb0c4;margin:4px 0}.profile button{margin-left:auto}.archive-stat{display:flex;justify-content:space-around;margin:21px 0}.archive-stat div{display:flex;flex-direction:column;gap:3px}.archive-stat b{font:18px 'DM Mono'}.archive-stat span{font-size:9px;color:#999bb1}.progress{padding:16px;border-radius:23px}.progress .section-title{margin:0}.progress .section-title h3{font-size:16px;margin-top:2px}.chart{height:77px;margin-top:13px;position:relative}.chart svg{width:100%;height:100%}.chart span{position:absolute;right:4px;top:0;font:10px 'DM Mono';color:#e5e9ff}.skills{display:flex;gap:8px;flex-wrap:wrap}.skills span{padding:8px 12px;border:1px solid var(--line);background:var(--glass);border-radius:14px;font-size:11px}.showcase{display:grid;grid-template-columns:1.35fr 1fr;gap:10px}.showcase>div{height:94px;border-radius:18px;padding:15px;font:20px 'DM Mono';background:linear-gradient(135deg,rgba(155,166,236,.36),rgba(255,255,255,.06))}.showcase small{font:9px 'Noto Sans SC';color:#c1c3d8}.showcase .certificate{text-align:right;background:linear-gradient(145deg,rgba(214,182,136,.32),rgba(255,255,255,.07))}.todo-drawer{position:absolute;z-index:20;bottom:-520px;left:0;right:0;min-height:400px;padding:12px 21px 32px;border-radius:31px 31px 0 0;background:linear-gradient(150deg,rgba(48,49,73,.94),rgba(24,24,38,.97));border-top:1px solid rgba(255,255,255,.22);backdrop-filter:blur(28px);transition:bottom .45s cubic-bezier(.2,.8,.2,1);box-shadow:0 -15px 45px rgba(0,0,0,.26)}.todo-drawer.open{bottom:0}.drawer-handle{height:4px;width:39px;margin:0 auto 17px;background:#aeb0c6;border-radius:4px}.drawer-head{display:flex;justify-content:space-between;align-items:center}.drawer-head h2{font-size:20px;margin:4px 0}.drawer-head button{border:0;background:none;color:#c7c9df;font-size:25px}.focus-timer{margin:18px 0;border-radius:18px;padding:13px;display:flex;align-items:center;gap:13px}.focus-timer span{font-size:11px;color:#b9bad1}.focus-timer b{font:20px 'DM Mono';margin-left:auto}.focus-timer button{border:0;border-radius:10px;background:#c4cffc;color:#252642;padding:6px 10px;font:10px 'Noto Sans SC'}.todo-list{padding:0;margin:0;list-style:none}.todo-list li{height:54px;display:flex;align-items:center;gap:11px;border-bottom:1px solid rgba(255,255,255,.09);font-size:13px}.todo-list em{margin-left:auto;color:#9699af;font:9px 'DM Mono'}.check{width:19px;height:19px;border-radius:7px;border:1px solid #aeb4d7;background:transparent;color:#333650}.check.checked{background:#d4dcff}.todo-list li:has(.checked) span{text-decoration:line-through;color:#9496ab}.add-task{border:1px dashed rgba(211,218,255,.4);background:rgba(255,255,255,.04);color:#c8d2ff;border-radius:13px;width:100%;padding:11px;margin-top:18px;font:11px 'Noto Sans SC'}

/* theme.css */
:root{--ink:#202a38;--muted:#728095;--glass:rgba(255,255,255,.7);--line:rgba(255,255,255,.88);--purple:#4b78ca}body{background:#f3f7fc}.app-shell{background:radial-gradient(ellipse at 13% 0,#e1efff,transparent 43%),radial-gradient(ellipse at 96% 58%,#f3e9ff,transparent 40%),linear-gradient(160deg,#fbfdff 0%,#eef4fa 85%)}.ambient{opacity:.62;filter:blur(55px)}.ambient-one{background:#c5e1ff}.ambient-two{background:#e8d2f5}.ambient-three{position:absolute;width:100px;height:100px;right:7%;top:26%;background:#c8ede7}.eyebrow{color:#8a98a9}.avatar,.round-btn{background:rgba(255,255,255,.72);color:#42556d;border-color:rgba(255,255,255,.95);box-shadow:0 5px 15px rgba(95,115,143,.1)}.avatar{background:linear-gradient(135deg,#d9eaff,#9ba9d8)}.glass{background:linear-gradient(130deg,rgba(255,255,255,.88),rgba(255,255,255,.5));border-color:rgba(255,255,255,.88);box-shadow:inset 0 1px rgba(255,255,255,.8),0 12px 30px rgba(102,125,160,.11)}.timeline-intro b{color:#33465e}.timeline-mode{float:right;padding:3px 8px;border-radius:12px;background:#e5f1ff;color:#5d82b8;font-size:9px}.live-dot{background:#68a9e7;box-shadow:0 0 8px #b1d9ff}.rail-stage{margin:0 -20px}.rail{top:-105px;bottom:-105px}.rail i{background:linear-gradient(#bdcee1,rgba(176,198,218,.14));box-shadow:0 0 5px #d9e7f4}.sleepers{background:repeating-linear-gradient(to bottom,transparent 0 14px,rgba(153,178,201,.3) 15px 17px,transparent 18px 32px)}.rail-label{color:#6f8297}.rail-label span{color:#9aa8b6}.train{border-color:rgba(255,255,255,.95);background:linear-gradient(105deg,rgba(245,252,255,.9),rgba(168,196,232,.3) 35%,rgba(255,255,255,.56));box-shadow:inset 8px 7px 15px rgba(255,255,255,.72),inset -8px -8px 15px rgba(103,142,186,.18),0 7px 24px rgba(111,161,213,.32)}.train:before{background:linear-gradient(115deg,rgba(76,111,150,.64),rgba(210,238,255,.6))}.station{color:#708095}.station>div{min-width:74px;padding:6px 9px;border:1px solid rgba(255,255,255,.74);border-radius:12px;background:rgba(255,255,255,.48);box-shadow:0 4px 11px rgba(91,121,151,.06)}.station small,.station b{display:block}.station small{color:#93a0af;font-size:8px}.station b{margin-top:2px;color:#617286;font:10px 'Noto Sans SC';white-space:nowrap}.station em{background:#a7b9c9;box-shadow:0 0 0 4px rgba(164,187,206,.16)}.s3 em,.current em{background:#70ace7;box-shadow:0 0 9px 3px #b9ddff}.current>div{background:rgba(241,249,255,.94);border-color:#c8e2fa}.memory-preview{color:#32445a}.memory-preview p{color:#8090a2}.arrow{color:#6691c9}.trace-list span{background:#eef5fc;color:#64778e}.hint{color:#8797a7}.tabbar{left:15px;right:15px;padding:6px;background:rgba(249,251,255,.76);box-shadow:0 12px 34px rgba(97,125,158,.17),inset 0 1px rgba(255,255,255,.95)}.tabbar button{color:#7d8999;min-width:61px}.tabbar .selected{color:#426baf;background:rgba(215,231,255,.7)}.tabbar .drawer-tab{margin-top:-18px;height:56px;min-width:56px;border-radius:50%;background:linear-gradient(145deg,#8eb9eb,#5d85c5);color:white;box-shadow:0 8px 17px rgba(78,123,186,.3);border:4px solid #f7faff}.tabbar .drawer-tab:not(.selected){color:white}.day-hero p,.module-card p,.progress p{color:#7f8ca0}.day-hero i{color:#7696d6}.day-orbit{color:#5076b2;border-color:#bdd3ef;box-shadow:inset 0 0 16px rgba(176,193,255,.28),0 0 20px rgba(176,193,255,.12)}.section-title button,.profile button{color:#5780c3}.card-copy span{color:#78869a}.module-card>b{color:#7698d5}.quick-note input{color:#34445b}.quick-note button{background:#b9cef2}.profile p{color:#718095}.chart span{color:#5e7fb6}.showcase small{color:#718096}.todo-drawer{background:linear-gradient(150deg,rgba(249,252,255,.96),rgba(232,239,248,.98));border-top-color:rgba(255,255,255,.95);box-shadow:0 -15px 45px rgba(73,104,139,.16);color:#26384e}.drawer-handle{background:#b6c5d4}.drawer-head button{color:#61748b}.focus-timer span{color:#718197}.todo-list li{border-bottom-color:rgba(107,133,161,.13)}.todo-list em{color:#8794a4}.add-task{background:rgba(255,255,255,.52);color:#5a7eba}

/* timeline-refine.css */
/* A continuous, route-like timeline: pale ahead, colored behind the train. */
.rail-stage{height:455px;overflow:visible}.rail{top:-92px;bottom:-98px}.rail>i{background:rgba(255,255,255,.92);box-shadow:0 0 0 1px rgba(175,197,217,.32)}.sleepers{opacity:.58}.journey{position:absolute;z-index:2;left:-2px;right:-2px;top:47.25%;bottom:0;background:repeating-linear-gradient(to bottom,transparent 0 14px,rgba(86,141,205,.52) 15px 17px,transparent 18px 32px);pointer-events:none}.journey:before,.journey:after{content:"";position:absolute;top:0;bottom:0;width:2px;background:linear-gradient(#72a9e2,#9ec9ec);box-shadow:0 0 5px rgba(78,148,214,.45)}.journey:before{left:3px}.journey:after{right:3px}.train{top:47.25%}.s1{top:68px}.s2{top:144px}.s3{top:211px}.s4{top:292px}.s5{top:373px}.station{z-index:4}.station>div{transition:.25s ease}.station.current>div{transform:scale(1.04);transform-origin:left}.memory-preview{position:absolute;z-index:5;left:20px;right:20px;width:auto;top:211px;transform:translateY(-50%);margin-left:-183px;max-width:172px;padding:13px;border-radius:18px;grid-template-columns:1fr auto;transition:top .28s ease,opacity .2s ease;box-shadow:0 12px 25px rgba(73,116,160,.15)}.memory-preview h2{font-size:13px;line-height:1.32}.memory-preview p{font-size:8px}.memory-preview .trace-list{gap:4px}.memory-preview .trace-list span{font-size:8px;padding:4px 5px}.todo-pull{position:absolute;z-index:9;right:21px;bottom:96px;border-radius:14px;padding:7px 11px;color:#5879a7;font:10px 'Noto Sans SC';cursor:pointer}.todo-pull span{font-size:13px;margin-right:2px}.tabbar{justify-content:space-around}.tabbar button{min-width:82px}.tabbar .drawer-tab{display:none}

/* final-tuning.css */
.memory-preview{left:12px;right:auto;width:154px;margin-left:0;max-width:none}.memory-preview .arrow{align-self:start}.memory-preview h2{word-break:break-word}.s3{top:196px}

/* rail-progress.css */
/* The route is a stable time-progress layer. Browsing the train never changes it. */
.rail-stage{height:455px}.rail{top:-100px;bottom:-100px;width:44px}.rail>i{z-index:1;width:3px;background:#fff;box-shadow:0 0 0 1px rgba(174,196,215,.4),0 2px 8px rgba(110,144,178,.12)}.rail i:first-child{left:4px}.rail i:nth-child(2){right:4px}.sleepers{display:none}.journey{z-index:2;top:48.4%!important;left:0;right:0;bottom:0;background:none}.journey:before,.journey:after{width:3px;background:linear-gradient(#75afe8,#7cb5e9 80%,#bedcf3);box-shadow:0 0 8px rgba(69,144,219,.38)}.journey:before{left:4px}.journey:after{right:4px}.station{left:calc(50% + 24px);gap:8px}.station em{width:12px;height:12px;border:3px solid #fff;background:#f7fbff;box-shadow:0 0 0 1px #9fb8d0,0 2px 6px rgba(104,137,172,.15)}.station>div{border:0;background:transparent;box-shadow:none;padding:2px 4px;min-width:52px}.station b{font-size:10px}.station.current em{background:#74ade5;box-shadow:0 0 0 1px #6f9bcb,0 0 0 5px rgba(117,176,231,.22),0 0 14px rgba(85,159,229,.65)}.station.current>div{background:rgba(255,255,255,.52);border-radius:9px}.s1{top:62px}.s2{top:135px}.s3{top:208px}.s4{top:281px}.s5{top:354px}.train{top:48.4%;overflow:visible}.train:before{box-shadow:inset 2px 2px 5px rgba(255,255,255,.8),0 0 0 1px rgba(255,255,255,.56)}.train:after{filter:drop-shadow(0 3px 4px rgba(68,134,202,.26))}.train-light{box-shadow:0 0 13px 6px rgba(174,227,255,.78)}.train:active{filter:drop-shadow(0 10px 14px rgba(75,137,207,.28));transform:translate(-50%,-50%) scale(1.04)}

/* rail-state.css */
.station.selected-station>div{background:rgba(219,238,255,.82);border-radius:9px}.memory-preview{top:220px}

/* icon-palette.css */
/* Palette sampled from the Limbo Time icon: mint teal + coral orange-red. */
:root{--mint:#47cfb9;--mint-deep:#23ad9c;--coral:#ff6680;--coral-soft:#ff9a91;--ink:#263c40;--muted:#71898b;--purple:var(--mint-deep)}.app-shell{background:radial-gradient(ellipse at 10% 0,#d8fbf2 0%,transparent 43%),radial-gradient(ellipse at 100% 58%,#ffe4df 0%,transparent 37%),linear-gradient(160deg,#fbfffe 0%,#effaf7 88%)}.ambient-one{background:#a9f0e2}.ambient-two{background:#ffd0c9}.ambient-three{background:#d5f7ed}.timeline-topbar{justify-content:flex-start}.live-dot{background:var(--mint);box-shadow:0 0 8px #8debdc}.timeline-mode{background:#def8f1;color:#158f81}.rail{width:22px;top:-106px;bottom:-106px}.rail>i{width:2px;background:#fff;box-shadow:0 0 0 1px rgba(77,181,164,.32),0 2px 8px rgba(63,165,149,.10)}.rail i:first-child{left:2px}.rail i:nth-child(2){right:2px}.journey{left:0;right:0;background:none!important}.journey:before,.journey:after{width:2px;background:linear-gradient(var(--mint-deep),var(--mint) 75%,#a5eadc);box-shadow:0 0 7px rgba(54,199,177,.38)}.journey:before{left:2px}.journey:after{right:2px}.station{left:calc(50% + 13px)}.station em{border-color:#fff;box-shadow:0 0 0 1px #9bded1,0 2px 6px rgba(54,156,141,.16)}.station.current em{background:var(--mint);box-shadow:0 0 0 1px #35af9e,0 0 0 5px rgba(72,207,185,.22),0 0 14px rgba(56,197,176,.55)}.station.selected-station>div{background:#dcfaf3}.memory-preview{box-shadow:0 12px 25px rgba(44,149,134,.14)}.memory-preview .arrow{color:var(--coral)}.trace-list span{background:#e6faf5;color:#358b80}.train{width:34px;height:88px;border-radius:18px 18px 12px 12px;background:linear-gradient(105deg,rgba(246,255,253,.96),rgba(116,222,204,.42) 38%,rgba(255,255,255,.64));box-shadow:inset 4px 6px 11px rgba(255,255,255,.85),inset -5px -7px 10px rgba(37,170,151,.18),0 8px 20px rgba(37,184,163,.27)}.train:before{left:7px;right:7px;top:8px;height:37px;border-radius:12px 12px 6px 6px;background:linear-gradient(115deg,rgba(26,109,103,.64),rgba(193,255,244,.62))}.train:after{width:18px;left:7px;bottom:11px;border-bottom-color:rgba(220,255,249,.93);box-shadow:0 4px 0 rgba(105,205,191,.48)}.train span:last-child{left:16px;bottom:17px;background:var(--mint)}.train-light{width:8px;height:8px;top:52px;left:13px;background:#fff6f2;box-shadow:0 0 13px 5px rgba(255,102,128,.75)}.train:active{filter:drop-shadow(0 10px 14px rgba(35,178,156,.28))}.tabbar .selected{color:#159c8c;background:#d9f7f0}.tabbar .drawer-tab{background:linear-gradient(145deg,var(--mint),var(--mint-deep))}.todo-pull{color:#168e7f}.quick-note button{background:#bdf0e5}.section-title button,.profile button{color:#168f80}.day-hero i{color:#ee6e78}.day-orbit{color:var(--mint-deep);border-color:#a9e8dc}.module-card>b{color:var(--coral)}.focus-timer button{background:#c7f4ea;color:#247d72}.check.checked{background:#a9eee0}.add-task{color:#148f80}.showcase .certificate{background:linear-gradient(145deg,rgba(255,141,137,.35),rgba(255,255,255,.4))}

/* immersive-timeline.css */
/* Minimal, immersive first screen: a route continues behind all glass surfaces. */
#timeline{padding-top:22px;overflow:hidden}.timeline-brand{height:20px;position:relative;z-index:7}.timeline-brand .eyebrow{padding-left:3px;color:#4c9f94;letter-spacing:2px}.quote-card{position:relative;z-index:6;margin:10px 0 0;padding:17px 20px 14px 43px;border-radius:22px;overflow:hidden;background:linear-gradient(125deg,rgba(255,255,255,.56),rgba(224,255,248,.28));box-shadow:inset 1px 1px 1px rgba(255,255,255,.92),inset -12px -12px 25px rgba(78,210,189,.08),0 12px 28px rgba(38,135,120,.11);backdrop-filter:blur(17px) saturate(145%)}.quote-card:after,.tabbar:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.45),transparent 28%,rgba(255,255,255,.08) 58%,rgba(255,255,255,.32));mix-blend-mode:soft-light}.quote-mark{position:absolute;left:15px;top:5px;font:48px Georgia,serif;line-height:1;color:#ff7890}.quote-card p{margin:0;color:#315957;font-size:13px;line-height:1.65;letter-spacing:.1px}.quote-card footer{margin-top:7px;color:#4a9188;text-align:right;font-size:10px}.rail-stage{height:calc(100dvh - 216px);min-height:470px;margin-top:0}.rail{top:-185px;bottom:-225px}.station{left:50%;transform:translateX(-50%);gap:0;z-index:4}.station em{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.station>div{margin-left:28px;padding:3px 5px;min-width:auto}.station small{font:10px 'DM Mono',monospace;color:#5c8380}.station b{font:8px 'DM Mono',monospace;letter-spacing:.7px;color:#ef687b;margin-top:1px}.station.selected-station>div{background:rgba(228,255,248,.66)}.s1{top:72px}.s2{top:150px}.s3{top:228px}.s4{top:306px}.s5{top:384px}.memory-preview{top:228px}.train{top:48.4%;z-index:8}.tabbar{overflow:hidden;background:linear-gradient(125deg,rgba(255,255,255,.58),rgba(218,255,247,.33));border-color:rgba(255,255,255,.9);backdrop-filter:blur(19px) saturate(155%);box-shadow:inset 1px 1px 1px rgba(255,255,255,.9),0 12px 34px rgba(41,130,119,.16)}.todo-pull{z-index:10;background:rgba(247,255,253,.62);backdrop-filter:blur(16px) saturate(150%)}

/* timeline-position.css */
.s1{top:22.6%}.s2{top:35.5%}.s3{top:48.4%}.s4{top:61.3%}.s5{top:74.2%}.memory-preview,.train{top:48.4%}

/* timeline-polish.css */
.timeline-brand{height:31px}.timeline-brand .eyebrow{font-size:15px;font-weight:600;letter-spacing:2.8px;color:#2caa99}.quote-card{margin-top:18px}.station>div{margin-left:39px}.station small{font-size:12px;font-weight:600;letter-spacing:.2px;color:#407c76}.station b{font-size:9px;letter-spacing:1px}.journey{background:linear-gradient(90deg,rgba(71,207,185,.34),rgba(117,226,208,.2) 30%,rgba(181,246,235,.32) 50%,rgba(117,226,208,.2) 70%,rgba(71,207,185,.34))!important;border-left:1px solid rgba(42,174,155,.26);border-right:1px solid rgba(42,174,155,.26)}.journey:before,.journey:after{z-index:2}.train.snapping,.memory-preview{transition:top .25s cubic-bezier(.2,.82,.25,1)}

/* glass-adjustments.css */
.timeline-brand{height:38px}.timeline-brand .eyebrow{font-size:21px;line-height:1;font-weight:700;letter-spacing:3px}.quote-card{background:linear-gradient(125deg,rgba(255,255,255,.36),rgba(213,255,246,.14));border-color:rgba(255,255,255,.62);backdrop-filter:blur(13px) saturate(165%);box-shadow:inset 1px 1px 1px rgba(255,255,255,.68),inset -10px -10px 24px rgba(69,205,183,.06),0 12px 28px rgba(38,135,120,.08)}.quote-card:after{opacity:.58}.tabbar{background:linear-gradient(125deg,rgba(255,255,255,.38),rgba(205,252,242,.15));border-color:rgba(255,255,255,.64);backdrop-filter:blur(14px) saturate(170%);box-shadow:inset 1px 1px 1px rgba(255,255,255,.66),0 12px 30px rgba(41,130,119,.12)}.tabbar:after{opacity:.56}.journey{background:linear-gradient(90deg,rgba(36,180,158,.52),rgba(67,205,184,.38) 28%,rgba(118,229,211,.42) 50%,rgba(67,205,184,.38) 72%,rgba(36,180,158,.52))!important}.station>div{margin-left:54px}.station small{font-size:12.5px}.station.selected-station>div{padding-left:7px;padding-right:7px}

/* liquid-glass-v2.css */
/* Keep the station pin on the rail; offset only its label. */
.station{width:0;transform:none}.station>div{margin-left:38px;transform:none;white-space:nowrap}.station.selected-station>div{transform:none}.station.current>div{transform:none}

/* Clear liquid glass: low milkiness, strong edge optics and directional highlights. */
.quote-card,.tabbar{background:linear-gradient(132deg,rgba(255,255,255,.22),rgba(224,255,249,.07) 52%,rgba(255,235,232,.09));border:1px solid rgba(255,255,255,.48);backdrop-filter:blur(9px) saturate(190%) contrast(104%);-webkit-backdrop-filter:blur(9px) saturate(190%) contrast(104%);box-shadow:inset 0 1.5px 1px rgba(255,255,255,.82),inset 1px 0 1px rgba(255,255,255,.42),inset 0 -1px 1px rgba(41,157,140,.13),0 10px 27px rgba(44,128,116,.08)}.quote-card:before,.tabbar:before{content:"";position:absolute;z-index:0;inset:1px;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at 18% 0,rgba(255,255,255,.72),transparent 34%),radial-gradient(ellipse at 88% 110%,rgba(255,119,135,.15),transparent 38%),linear-gradient(103deg,transparent 18%,rgba(255,255,255,.16) 42%,transparent 62%)}.quote-card:after,.tabbar:after{opacity:.34;background:linear-gradient(112deg,rgba(255,255,255,.62),transparent 17%,transparent 72%,rgba(255,255,255,.24))}.quote-card>* ,.tabbar>*{position:relative;z-index:1}.tabbar .selected{background:rgba(195,245,235,.28);box-shadow:inset 0 1px rgba(255,255,255,.52)}.todo-pull{background:rgba(244,255,252,.34);border-color:rgba(255,255,255,.52);backdrop-filter:blur(9px) saturate(180%);-webkit-backdrop-filter:blur(9px) saturate(180%);box-shadow:inset 0 1px rgba(255,255,255,.78),0 7px 18px rgba(43,133,119,.09)}

/* date-navigation.css */
.date-switcher{margin:17px 0 -8px;padding:6px;border-radius:17px;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;background:rgba(255,255,255,.27);border-color:rgba(255,255,255,.58);backdrop-filter:blur(11px) saturate(170%)}.date-switcher button{height:36px;border:0;border-radius:12px;background:rgba(218,250,243,.38);color:#219b8c;font-size:26px;line-height:1;cursor:pointer}.date-switcher label{height:36px;display:grid;place-items:center;position:relative;color:#3b716c;font-size:12px;font-weight:600;cursor:pointer}.date-switcher input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.date-switcher:before{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,rgba(255,255,255,.52),transparent 24%,transparent 73%,rgba(255,118,135,.11))}

/* date-navigation-fix.css */
.date-switcher{position:relative;overflow:hidden}.date-switcher>*{position:relative;z-index:1}

/* module-system.css */
.add-module{display:none;width:100%;margin-top:10px;padding:13px;border-radius:17px;border-style:dashed;color:#198f81;font:12px 'Noto Sans SC';cursor:pointer}.organizing+.add-module,.add-module.visible{display:block}.module-card{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.module-card:active{transform:scale(.985)}.module-card .module-tools{display:none;position:absolute;right:8px;top:8px;z-index:4;gap:4px}.organizing .module-card{outline:1px dashed rgba(35,173,156,.55);outline-offset:-3px}.organizing .module-tools{display:flex}.module-tools button{width:25px;height:25px;border:1px solid rgba(255,255,255,.7);border-radius:9px;background:rgba(244,255,252,.72);color:#397d76;font-size:11px;box-shadow:0 3px 9px rgba(41,120,109,.1)}.module-tools .remove{color:#ef687b}.empty-record{color:#94a7a7!important}.module-editor{position:absolute;z-index:30;left:0;right:0;bottom:-620px;padding:11px 21px 30px;border-radius:30px 30px 0 0;background:linear-gradient(145deg,rgba(244,255,252,.94),rgba(255,240,238,.88));border:1px solid rgba(255,255,255,.85);box-shadow:0 -18px 45px rgba(35,117,105,.16);backdrop-filter:blur(22px) saturate(160%);transition:bottom .38s cubic-bezier(.2,.8,.2,1)}.module-editor.open{bottom:0}.editor-handle{width:40px;height:4px;border-radius:4px;background:#9bcfc7;margin:0 auto 17px}.editor-heading{display:flex;align-items:center;justify-content:space-between}.editor-heading h2{margin:3px 0 0;font-size:20px}.editor-heading>button{border:0;background:none;color:#668b87;font-size:26px}.editor-form{display:grid;grid-template-columns:78px 1fr;gap:11px;margin-top:18px}.editor-form label{display:flex;flex-direction:column;gap:6px}.editor-form label:not(.icon-field){grid-column:2}.editor-form .icon-field{grid-row:1/3;grid-column:1}.editor-form span{font-size:10px;color:#63827f}.editor-form input,.editor-form textarea,.editor-form select{width:100%;border:1px solid rgba(88,170,158,.18);border-radius:13px;background:rgba(255,255,255,.62);padding:10px;color:#294c49;font:12px 'Noto Sans SC';outline:none}.editor-form input:focus,.editor-form textarea:focus,.editor-form select:focus{border-color:#54cdb9;box-shadow:0 0 0 3px rgba(71,207,185,.12)}.icon-field input{height:76px;text-align:center;font-size:25px}.editor-form textarea{height:70px;resize:none}.editor-actions{display:grid;grid-template-columns:86px 1fr;gap:9px;margin-top:16px}.editor-actions button{height:42px;border:0;border-radius:14px;font:12px 'Noto Sans SC'}.editor-actions #deleteModule{background:rgba(255,102,128,.1);color:#e45e75}.editor-actions #saveModule{background:linear-gradient(135deg,#55d5c0,#2eb5a3);color:white;box-shadow:0 7px 16px rgba(41,180,160,.22)}.quick-note.saved{box-shadow:0 0 0 2px rgba(71,207,185,.28),0 10px 24px rgba(49,149,134,.1)}

/* timeline-scroll.css */
#timeline{overflow:hidden;padding-bottom:0}.rail-viewport{position:absolute;z-index:2;left:0;right:0;top:176px;bottom:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(to bottom,transparent 0,#000 22px,#000 calc(100% - 80px),transparent 100%)}.rail-viewport::-webkit-scrollbar{display:none}.rail-stage{position:relative;height:100000px!important;min-height:0!important;margin:0!important;overflow:visible}.rail{top:0!important;bottom:0!important}.station{position:absolute!important;border:0;padding:0;background:none;font:inherit;color:inherit;cursor:pointer}.journey{bottom:0!important}.train,.memory-preview{position:absolute}.train.dragging{transition:none!important}.rail-viewport:before{content:"";position:sticky;z-index:12;display:block;top:8px;margin:0 auto;width:58px;height:4px;border-radius:4px;background:rgba(38,151,135,.2);pointer-events:none}

/* today-date-header.css */
.today-topbar{position:relative;min-height:86px}.hero-date-switch{position:absolute;left:50%;top:0;transform:translateX(-50%);display:grid;grid-template-columns:32px 104px 32px;align-items:center}.hero-date-switch>button{width:30px;height:42px;border:0;background:transparent;color:#209c8d;font-size:28px;line-height:1;cursor:pointer;border-radius:12px}.hero-date-switch>button:active{background:rgba(71,207,185,.13)}.date-heading{position:relative;display:flex;min-height:82px;flex-direction:column;align-items:center;justify-content:flex-start;cursor:pointer}.date-heading .eyebrow{margin-top:1px}.date-heading h1{font-size:27px;line-height:1.1;margin:7px 0 0;white-space:nowrap}.date-heading>span{margin-top:5px;color:#76938f;font:10px 'DM Mono',monospace;letter-spacing:1.5px}.date-heading input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.today-topbar>.round-btn:last-child{margin-left:auto}.day-hero{margin-top:15px}
.today-topbar-spacer{display:block;width:40px;height:40px;flex:0 0 40px}

/* diet-module.css */
.diet-module{display:block!important;min-height:166px!important;padding:10px 12px 12px!important;overflow:visible!important;cursor:default!important}.diet-module header{display:flex;align-items:center;gap:6px;height:25px;margin:0 4px 7px}.diet-module header .module-icon{width:24px;height:24px;margin:0;border-radius:8px;background:rgba(255,178,118,.2);color:#e88258;font-size:11px}.diet-module header p{margin:0;color:#315956;font-size:12px;font-weight:700}.meal-columns{position:relative;z-index:5;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.meal-column{position:relative;min-width:0;height:111px;padding:7px 8px;border:1px solid rgba(255,255,255,.82);border-radius:15px;background:linear-gradient(145deg,rgba(255,255,255,.66),rgba(255,239,233,.3));box-shadow:inset 1px 1px rgba(255,255,255,.8),0 4px 10px rgba(65,132,121,.05)}.meal-column input{display:block;width:100%;min-width:0;height:38px;padding:6px 1px 2px;border:0;outline:0;background:transparent;color:#315956;text-align:center;font:700 14px 'Noto Sans SC'}.meal-column input::placeholder{color:#91a8a5;font-size:12px;font-weight:500}.meal-column>span{display:block;overflow:hidden;margin-top:5px;color:#91aaa6;font-size:8px;text-align:center;white-space:nowrap}.meal-time-picker{position:relative}.meal-time-button{display:flex;width:100%;height:30px;align-items:center;justify-content:center;gap:9px;padding:0 3px;border:0;border-bottom:1px solid rgba(72,164,151,.16);background:transparent;color:#315f59;font:11px 'DM Mono'}.meal-time-button i{font:15px 'Noto Sans SC';transition:transform .2s ease}.meal-time-picker.open .meal-time-button i{transform:rotate(180deg)}.meal-time-menu{display:none;position:absolute;z-index:30;left:-3px;right:-3px;top:33px;max-height:224px;overflow-y:auto;padding:4px;border:1px solid rgba(255,255,255,.9);border-radius:12px;background:rgba(248,255,253,.96);box-shadow:0 14px 30px rgba(44,116,106,.2);backdrop-filter:blur(18px);scrollbar-width:thin;overscroll-behavior:contain}.meal-time-picker.open .meal-time-menu{display:block;animation:meal-menu-in .2s ease}.meal-time-option{display:block;width:100%;height:27px;border:0;border-radius:8px;background:transparent;color:#416c67;font:10px 'DM Mono'}.meal-time-option:hover,.meal-time-option.selected{background:rgba(80,209,188,.17);color:#159b89;font-weight:700}@keyframes meal-menu-in{from{opacity:0;transform:translateY(-5px)}}.organizing .diet-module{cursor:pointer!important}.organizing .diet-module .meal-columns{pointer-events:none}

/* diet-layer-fix.css */
.module-grid{position:relative}
.diet-module{z-index:1}
.diet-module.menu-open{z-index:50!important}
.diet-module.menu-open .meal-columns,.diet-module.menu-open .meal-time-picker.open,.diet-module.menu-open .meal-time-menu{z-index:60}
.organizing .diet-module.fixed-module{outline:0!important;cursor:default!important}
.organizing .diet-module.fixed-module .meal-columns{pointer-events:auto}
.meal-column{padding:8px 9px}
.meal-time-button{height:32px;gap:10px;font-size:14px;font-weight:600;letter-spacing:-.15px}
.meal-time-button i{font-size:17px}
.meal-column input{height:42px;padding-top:7px;font-size:17px;letter-spacing:.3px}
.meal-column input::placeholder{font-size:15px;font-weight:600}
.meal-column>span{margin-top:3px;font-size:9px}

/* supplement-module.css */
.diet-module header{position:relative}.add-supplement{margin-left:auto;height:25px;padding:0 9px;border:1px solid rgba(255,255,255,.72);border-radius:11px;background:linear-gradient(135deg,rgba(255,255,255,.58),rgba(211,250,242,.22));color:#278f82;font:600 9px 'Noto Sans SC';box-shadow:inset 1px 1px rgba(255,255,255,.86),0 4px 10px rgba(45,135,122,.07)}.supplement-picker{position:absolute;z-index:80;right:12px;top:39px;width:218px;padding:9px;border:1px solid rgba(255,255,255,.9);border-radius:17px;background:rgba(248,255,253,.95);box-shadow:0 15px 34px rgba(42,124,111,.19);backdrop-filter:blur(20px) saturate(165%);opacity:0;visibility:hidden;transform:translateY(-6px) scale(.95);transform-origin:90% 0;transition:opacity .2s ease,transform .3s cubic-bezier(.2,.85,.25,1),visibility 0s linear .3s}.diet-module.supplement-open{z-index:70!important}.diet-module.supplement-open .supplement-picker{opacity:1;visibility:visible;transform:none;transition-delay:0s}.supplement-types{display:grid;grid-template-columns:1fr 1fr;gap:5px}.supplement-types button{height:30px;border:0;border-radius:10px;background:rgba(227,248,243,.66);color:#426c67;font:10px 'Noto Sans SC'}.supplement-types button.selected{background:#c9f2e9;color:#168f80;font-weight:700}.supplement-doses{display:none;grid-template-columns:1fr repeat(3,36px);align-items:center;gap:4px;margin-top:7px;padding-top:7px;border-top:1px solid rgba(61,157,143,.1)}.supplement-picker.choosing-dose .supplement-doses{display:grid}.supplement-doses small{color:#829b98;font-size:8px}.supplement-doses button{height:27px;padding:0;border:0;border-radius:9px;background:rgba(255,228,221,.55);color:#d66a67;font:9px 'DM Mono'}.intake-track{display:flex!important;align-items:stretch;overflow:visible}.intake-track .meal-column{flex:1 1 0;min-width:72px}.supplement-card{position:relative;flex:0 0 67px;min-width:67px;height:111px;padding:14px 5px 6px;border:1px solid rgba(255,255,255,.84);border-radius:15px;background:linear-gradient(150deg,rgba(234,251,247,.82),rgba(255,231,225,.5));box-shadow:inset 1px 1px rgba(255,255,255,.88),0 5px 12px rgba(52,137,124,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:grab;touch-action:none;user-select:none;transition:transform .2s ease,box-shadow .2s ease}.supplement-card:active{cursor:grabbing}.supplement-card.dragging{z-index:90;opacity:.9;transform:translateX(var(--drag-x)) scale(1.06);box-shadow:0 15px 30px rgba(42,124,111,.24)}.supplement-card>i{font-size:17px;color:#e78668}.supplement-card>b{max-width:58px;margin-top:5px;overflow:hidden;color:#355e59;font-size:10px;white-space:nowrap;text-overflow:ellipsis}.supplement-card>span{margin-top:3px;color:#229f8e;font:9px 'DM Mono'}.supplement-card>small{margin-top:5px;color:#9aacaa;font-size:6px}.remove-supplement{position:absolute;right:3px;top:3px;width:17px;height:17px;padding:0;border:0;border-radius:7px;background:rgba(255,255,255,.55);color:#de7c82;font-size:12px}.intake-track:has(.supplement-card){gap:5px}.intake-track:has(.supplement-card) .meal-column{padding-left:5px;padding-right:5px}.intake-track:has(.supplement-card) .meal-time-button{font-size:11px}.intake-track:has(.supplement-card) .meal-column input{font-size:14px}

/* glass-date-picker.css */
.date-menu input[type="date"],#dayPicker{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.glass-date-backdrop{position:absolute;inset:0;z-index:220;display:grid;place-items:center;padding:18px;background:rgba(225,244,242,.08);backdrop-filter:blur(0);opacity:0;visibility:hidden;transition:opacity .24s ease,visibility 0s linear .32s,backdrop-filter .35s ease}
.glass-date-backdrop.open{opacity:1;visibility:visible;backdrop-filter:blur(8px);transition-delay:0s}
.glass-date-picker{width:min(330px,calc(100% - 20px));padding:18px;border:1px solid rgba(255,255,255,.88);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.70),rgba(225,252,247,.48) 52%,rgba(255,232,226,.42));box-shadow:inset 1px 1px 0 rgba(255,255,255,.95),inset -1px -1px 0 rgba(255,255,255,.34),0 24px 60px rgba(50,126,116,.18),0 2px 8px rgba(255,110,117,.08);backdrop-filter:blur(30px) saturate(170%);transform:translateY(18px) scale(.94);opacity:0;transition:transform .42s cubic-bezier(.2,.9,.25,1),opacity .22s ease;overflow:hidden}
.glass-date-backdrop.open .glass-date-picker{transform:none;opacity:1}
.glass-date-picker:before{content:"";position:absolute;inset:0 0 auto;height:56%;pointer-events:none;background:linear-gradient(118deg,rgba(255,255,255,.55),transparent 48%,rgba(255,255,255,.2));border-radius:inherit}
.glass-date-picker header,.glass-date-nav,.glass-date-week,.glass-date-grid,.glass-date-picker footer{position:relative;z-index:1}
.glass-date-picker header{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 12px}
.glass-date-picker header div{display:grid;gap:3px}.glass-date-picker header small{color:#8aa3a1;font:600 8px 'DM Mono';letter-spacing:.2em}.glass-date-picker header strong{color:#294c49;font-size:20px;letter-spacing:.01em}
.glass-date-picker header button{width:32px;height:32px;border:1px solid rgba(255,255,255,.8);border-radius:13px;background:rgba(255,255,255,.34);color:#5b817d;font-size:20px;box-shadow:inset 1px 1px rgba(255,255,255,.8)}
.glass-date-nav{display:grid;grid-template-columns:38px 1fr 38px;gap:8px;align-items:center;margin-bottom:10px}.glass-date-nav button{height:36px;border:1px solid rgba(255,255,255,.78);border-radius:14px;background:rgba(239,255,252,.42);color:#259d8e;font-size:22px;box-shadow:inset 1px 1px rgba(255,255,255,.88)}.glass-date-nav #glassDateToday{font:600 11px 'Noto Sans SC';letter-spacing:.08em;color:#567c78}
.glass-date-week,.glass-date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.glass-date-week{margin-bottom:5px}.glass-date-week span{text-align:center;color:#91a6a4;font-size:9px}
.glass-date-grid button{position:relative;aspect-ratio:1;border:0;border-radius:13px;background:transparent;color:#385e5a;font:500 12px 'DM Mono';transition:transform .18s ease,background .2s ease,color .2s ease,box-shadow .2s ease}.glass-date-grid button:hover{background:rgba(210,247,240,.62)}.glass-date-grid button.outside{color:#b2c1bf}.glass-date-grid button.today:after{content:"";position:absolute;bottom:4px;left:50%;width:3px;height:3px;border-radius:50%;background:#ff687d;transform:translateX(-50%)}.glass-date-grid button.selected{color:#fff;background:linear-gradient(145deg,#55d8c4,#28b9aa);box-shadow:0 7px 16px rgba(38,180,163,.27),inset 1px 1px rgba(255,255,255,.52);transform:scale(1.05)}.glass-date-grid button.selected:after{background:#fff}
.glass-date-picker footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid rgba(71,154,142,.10)}.glass-date-picker footer span{color:#93a7a5;font-size:9px}.glass-date-picker footer button{height:34px;padding:0 18px;border:0;border-radius:13px;background:linear-gradient(135deg,#ff7b88,#ff667c);color:#fff;font-weight:700;box-shadow:0 8px 18px rgba(255,102,124,.2)}.glass-date-picker footer button:disabled{opacity:.38;box-shadow:none}
@media(max-width:460px){.glass-date-picker{width:min(318px,calc(100% - 10px));padding:15px}.glass-date-grid{gap:4px}}

/* english-module.css */
.english-module{min-height:136px!important;padding:12px 13px!important;display:grid;grid-template-rows:auto 1fr auto;gap:7px;overflow:hidden;cursor:default!important}
.english-module header{display:flex;align-items:center;gap:7px;min-width:0}.english-module header .module-icon{width:28px;height:28px;margin:0;border-radius:10px;font:500 13px 'DM Mono';color:#355c58}.english-module header p{margin:0;color:#426762;font-size:12px;font-weight:700}.english-module header small{margin-left:auto;color:#9aadaa;font:600 6px 'DM Mono';letter-spacing:.12em}
.english-vocabulary-row{display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;gap:6px;border-radius:14px;background:rgba(255,255,255,.38);box-shadow:inset 1px 1px rgba(255,255,255,.72)}.english-vocabulary-row>i{width:1px;height:25px;background:rgba(62,148,136,.1)}
.english-module label{min-width:0}.english-vocabulary-row label{display:grid;gap:1px;padding:5px 4px}.english-module label>span{color:#819a97;font-size:7px;text-align:center}.english-module label>div{display:flex;align-items:baseline;justify-content:center;gap:2px}.english-module input{width:34px;min-width:0;padding:0;border:0!important;outline:0;background:transparent!important;color:#259f90;font:600 17px/1.05 'DM Mono';text-align:right;box-shadow:none!important;-moz-appearance:textfield}.english-module input::-webkit-inner-spin-button,.english-module input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.english-module em{color:#6f8f8b;font-size:7px;font-style:normal}
.english-speaking-row{height:31px;padding:0 8px;border:1px solid rgba(255,255,255,.64);border-radius:12px;background:linear-gradient(115deg,rgba(222,249,244,.48),rgba(255,235,231,.30));display:flex!important;align-items:center;justify-content:space-between}.english-speaking-row>span{font-size:8px!important;text-align:left!important;font-weight:600}.english-speaking-row>div{justify-content:flex-end!important}.english-speaking-row input{font-size:15px;width:37px}
.organizing .english-module{cursor:pointer!important}.organizing .english-module header{padding-right:78px}

/* time-flow-dock.css */
#timeline .timeline-brand{height:40px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:12}
#timeline .timeline-brand>.eyebrow{margin:0;padding:0 0 1px 2px;color:#28a997;font-family:ui-rounded,'SF Pro Rounded','Arial Rounded MT Bold','Noto Sans SC',sans-serif;font-size:21px;font-weight:800;letter-spacing:.15px;text-transform:none;line-height:1;white-space:nowrap;text-shadow:0 1px rgba(255,255,255,.9),0 4px 12px rgba(44,170,153,.07)}
.time-flow-dock{position:relative;width:137px;height:38px;padding:4px 6px;border:1px solid rgba(255,255,255,.82);border-radius:17px;background:linear-gradient(125deg,rgba(255,255,255,.42),rgba(211,252,244,.18) 55%,rgba(255,230,226,.21));box-shadow:inset 1px 1px rgba(255,255,255,.95),inset -1px -1px rgba(69,194,175,.08),0 8px 20px rgba(40,134,121,.10);backdrop-filter:blur(20px) saturate(175%);overflow:hidden;color:#315d58;cursor:pointer}
.time-flow-dock:before{content:"";position:absolute;z-index:0;left:7px;right:7px;top:3px;height:45%;border-radius:13px;background:linear-gradient(180deg,rgba(255,255,255,.58),transparent);pointer-events:none}
.time-flow-progress,.time-flow-clock,.time-flow-date{position:relative;z-index:1;width:100%;height:100%;display:flex;align-items:center}.time-flow-progress{gap:5px}.time-flow-progress>em{margin-left:auto;margin-right:2px;align-self:center;color:#75918e;font:600 5.5px/1.2 'DM Mono';font-style:normal;letter-spacing:.1em;text-align:left;transform:translateY(1px)}
.flow-ring{--progress:0%;position:relative;width:27px;height:27px;flex:0 0 27px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:conic-gradient(from -90deg,#42cdbc var(--progress),rgba(91,189,174,.11) 0);box-shadow:0 3px 8px rgba(43,164,148,.09);font-style:normal}.flow-ring:nth-child(2){background:conic-gradient(from -90deg,#ff8a78 var(--progress),rgba(255,132,116,.11) 0)}.flow-ring:nth-child(3){background:conic-gradient(from -90deg,#63b9dc var(--progress),rgba(86,177,211,.11) 0)}.flow-ring:after{content:"";position:absolute;inset:3px;border-radius:50%;background:rgba(248,255,253,.82);box-shadow:inset 1px 1px rgba(255,255,255,.9)}.flow-ring b,.flow-ring small{position:relative;z-index:1;color:#527a75;font-family:ui-rounded,'SF Pro Rounded','Noto Sans SC',sans-serif}.flow-ring b{font-size:5.5px;line-height:1;font-weight:800}.flow-ring small{margin-top:1px;font-size:5px;line-height:1;font-weight:700}
.time-flow-clock{display:none;justify-content:space-between;gap:2px;width:calc(100% - 2px);padding:0;text-align:left;transform:translateX(2px)}.time-flow-clock b{flex:1 1 auto;color:#276c64;font:850 16.4px/.96 'DM Mono';letter-spacing:-.065em;white-space:nowrap}.time-flow-clock small{flex:0 0 auto;padding-left:4px;border-left:1px solid rgba(60,133,123,.18);color:#497970;font:950 9.6px/1.03 'DM Mono';letter-spacing:-.035em;white-space:pre-line;text-align:right}
.time-flow-date{display:none;align-items:center;justify-content:space-between;gap:4px;width:calc(100% - 2px);padding:0 3px 0 4px;transform:translateX(2px)}.time-flow-date b{color:#276c64;font:950 15.4px/1 'DM Mono';letter-spacing:-.095em;white-space:nowrap}.time-flow-date small{margin-left:auto;color:#497970;font:950 11.5px/1 'DM Mono';letter-spacing:-.035em;text-align:right;text-transform:none}
.time-flow-dock.precise .time-flow-progress,.time-flow-dock.focus-time .time-flow-progress{display:none}.time-flow-dock.precise .time-flow-clock{display:flex}.time-flow-dock.focus-time .time-flow-date{display:flex}.time-flow-dock.precise,.time-flow-dock.focus-time{background:linear-gradient(125deg,rgba(255,255,255,.46),rgba(211,252,244,.2),rgba(255,230,226,.23))}
.time-warning-overlay{position:absolute;z-index:1;left:50%;top:50%;width:calc(100% - 22px);display:flex;flex-direction:column;align-items:center;pointer-events:none;opacity:0;transform:translate(-50%,-42%) scale(.94);transition:opacity 360ms ease,transform 480ms cubic-bezier(.2,.82,.22,1);color:#268f82;text-align:center;white-space:nowrap}.time-warning-overlay b{max-width:100%;font:950 clamp(70px,19vw,94px)/.86 'DM Mono',monospace;letter-spacing:-.105em}.time-warning-overlay small{margin-top:15px;font:800 10px/1 'DM Mono',monospace;letter-spacing:.4em}.time-warning-mode .time-warning-overlay{opacity:.095;transform:translate(-50%,-50%) scale(1)}
.time-flow-dock:active{transform:scale(.965)!important}
#timeline .quote-card{margin-top:12px}

/* Dynamic Island fit: tighten the shell while keeping its information density. */
#timeline .timeline-brand{height:36px}
.time-flow-dock{width:130px;height:34px;padding:3px 5px;border-radius:15px;box-shadow:inset 1px 1px rgba(255,255,255,.95),inset -1px -1px rgba(69,194,175,.08),0 7px 17px rgba(40,134,121,.10)}
.time-flow-dock:before{left:6px;right:6px;top:2px;border-radius:12px}
.time-flow-progress{gap:4px}
.time-flow-progress>em{margin-right:1px;letter-spacing:.07em;transform:translateY(.5px)}
.flow-ring{width:25px;height:25px;flex-basis:25px}
.time-flow-clock{gap:1px;transform:translateX(1px)}
.time-flow-clock b{font-size:16px}
.time-flow-clock small{padding-left:3px;font-size:9.4px}
.time-flow-date{gap:3px;padding:0 2px 0 3px;transform:translateX(1px)}
.time-flow-date b{font-size:15px}
.time-flow-date small{font-size:11.2px}
#timeline .quote-card{margin-top:9px}

/* quote-carousel.css */
.quote-card{height:86px;padding:0!important;overflow:hidden}.quote-track{position:relative;z-index:2;display:flex;width:100%;height:72px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;touch-action:pan-x}.quote-track::-webkit-scrollbar{display:none}.quote-slide{position:relative;flex:0 0 100%;min-width:0;padding:10px 18px 7px 40px;scroll-snap-align:start}.quote-slide .quote-mark{left:14px;top:1px;font-size:39px}.quote-slide p{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.5}.quote-slide footer{margin-top:3px;font-size:8.5px}.quote-dots{position:absolute!important;z-index:5!important;left:50%;bottom:6px;display:flex;gap:4px;transform:translateX(-50%)}.quote-dots i{width:4px;height:4px;border-radius:50%;background:rgba(48,137,124,.22);transition:width .2s ease,background .2s ease}.quote-dots i.active{width:11px;border-radius:4px;background:#39b8a6}.rail-viewport{top:156px}

/* module-editor-fix.css */
.module-editor:not(.open){display:none!important}.module-editor.open{display:block;bottom:0}.module-editor[aria-hidden="true"]{pointer-events:none}.module-editor[aria-hidden="false"]{pointer-events:auto}

/* drawer-timers.css */
.todo-drawer{max-height:88dvh;overflow-y:auto}.timer-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:17px 0 19px}.timer-card{min-width:0;padding:13px 12px 11px;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.48),rgba(218,252,244,.2));overflow:hidden}.timer-label{height:20px;display:flex;align-items:center;justify-content:space-between;color:#66827f;font-size:10px}.timer-label label{display:flex;align-items:center;gap:2px;color:#7b918f;font:8px 'DM Mono'}.timer-label input{width:27px;border:0;border-bottom:1px solid rgba(45,164,146,.28);background:transparent;color:#268f82;text-align:right;font:9px 'DM Mono';outline:0}.timer-label input::-webkit-inner-spin-button{display:none}.timer-status{width:6px;height:6px;border-radius:50%;background:#b7cac7}.timer-card.running .timer-status{background:#43cdb8;box-shadow:0 0 8px #43cdb8}.timer-card>b{display:block;margin:7px 0 11px;color:#315956;font:22px 'DM Mono',monospace;letter-spacing:-1px}.timer-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:5px}.timer-actions button{height:28px;border:0;border-radius:9px;background:rgba(255,255,255,.46);color:#6d8582;font:9px 'Noto Sans SC';cursor:pointer}.timer-actions .primary{background:linear-gradient(135deg,#59d5c1,#2db4a2);color:white;box-shadow:0 4px 10px rgba(38,171,152,.18)}.timer-card.finished{animation:timer-finish .7s ease 2}.timer-card.finished>b{color:#f06478}.todo-section-label{display:flex;justify-content:space-between;align-items:center;padding:0 2px 4px;color:#5d7c78;font:9px 'DM Mono';letter-spacing:1.2px}.todo-section-label em{color:#9aaba9;font:9px 'Noto Sans SC'}@keyframes timer-finish{50%{box-shadow:0 0 0 3px rgba(255,102,128,.17),0 10px 28px rgba(255,102,128,.12)}}

/* day-counters.css */
.day-counters{display:grid;grid-template-columns:1.12fr .88fr;gap:10px;margin:17px 0 20px}.countdown-panel,.elapsed-panel{min-width:0;height:190px;padding:14px;border-radius:25px;overflow:hidden}.counter-heading{display:flex;justify-content:space-between;align-items:center;color:#63827e;font-size:10px}.counter-heading small{color:#91a5a2;font:7px 'DM Mono';letter-spacing:.6px}.charge-counter{position:relative;height:111px;margin-top:9px;border:1px solid rgba(64,194,174,.25);border-radius:19px;overflow:hidden;background:rgba(242,255,252,.22)}.charge-fill{position:absolute;left:0;right:0;bottom:0;height:var(--charge,35%);background:linear-gradient(180deg,rgba(115,235,216,.52),rgba(37,185,164,.72));transition:height .6s cubic-bezier(.2,.8,.2,1)}.charge-fill:before{content:"";position:absolute;left:-10%;top:-7px;width:120%;height:14px;border-radius:50%;background:rgba(196,255,245,.75);box-shadow:0 -3px 12px rgba(74,221,198,.48)}.charge-glow{position:absolute;inset:0;background:radial-gradient(circle at 70% 18%,rgba(255,255,255,.72),transparent 26%),linear-gradient(110deg,rgba(255,255,255,.28),transparent 42%);pointer-events:none}.charge-copy{position:relative;z-index:2;height:100%;display:flex;align-items:baseline;justify-content:center;padding-top:31px;color:#245c55}.charge-copy p{position:absolute;left:11px;top:9px;margin:0;color:#448078;font-size:9px}.charge-copy b{font:35px 'DM Mono';letter-spacing:-2px}.charge-copy em{margin-left:3px;font-size:10px}.secondary-countdown{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding:0 3px;color:#718b87;font-size:9px}.secondary-countdown b{color:#289e8e;font:10px 'DM Mono'}.elapsed-panel{position:relative;background:linear-gradient(145deg,rgba(255,255,255,.48),rgba(255,224,220,.2))}.elapsed-panel:after{content:"";position:absolute;width:105px;height:105px;right:-44px;bottom:-42px;border-radius:50%;background:rgba(255,102,128,.12);filter:blur(3px)}.elapsed-copy{position:relative;z-index:2;margin-top:27px;color:#405e5b}.elapsed-copy p{margin:0 0 5px;font-size:9px}.elapsed-copy strong{color:#eb6879}.elapsed-copy b{display:inline-block;color:#ef6579;font:33px 'DM Mono';letter-spacing:-2px}.elapsed-copy em{margin-left:3px;color:#9b7478;font-size:10px}.elapsed-line{position:absolute;z-index:2;left:14px;right:14px;bottom:16px;height:25px;border-top:1px solid rgba(238,104,121,.18);padding-top:7px}.elapsed-line i{display:inline-block;width:29px;height:4px;border-radius:4px;background:linear-gradient(90deg,#ff9a91,#ff6680);box-shadow:0 0 8px rgba(255,102,128,.3)}.elapsed-line span{float:right;color:#a78386;font-size:8px}@media(max-width:360px){.day-counters{grid-template-columns:1fr}.countdown-panel,.elapsed-panel{height:172px}}

/* day-counters-v2.css */
.day-counters{grid-template-columns:1fr 1fr;gap:9px}.countdown-panel,.elapsed-panel{height:178px;padding:12px;border-radius:22px}.counter-heading input{width:88px;border:0;background:transparent;color:#395f5b;text-align:right;font:10px 'Noto Sans SC';outline:0}.counter-heading input:focus{border-bottom:1px solid rgba(48,181,161,.35)}.counter-date{display:flex;align-items:center;justify-content:space-between;margin-top:10px;color:#8a9d9a;font-size:8px}.counter-date input{width:88px;border:0;background:rgba(255,255,255,.34);border-radius:7px;padding:3px;color:#52827c;font:8px 'DM Mono';outline:0}.counter-number{display:flex;align-items:baseline;margin-top:10px;color:#239e8e}.counter-number b{font:31px 'DM Mono';letter-spacing:-2px}.counter-number em{margin-left:3px;font-size:9px}.counter-number.positive{color:#ef6879}.horizontal-charge{position:relative;height:12px;margin-top:9px;border:1px solid rgba(47,183,162,.22);border-radius:8px;background:rgba(219,248,242,.3);overflow:hidden;box-shadow:inset 0 2px 4px rgba(35,133,119,.08)}.horizontal-charge i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:7px;background:linear-gradient(90deg,#2eb5a3,#68ddc9);box-shadow:0 0 12px rgba(48,206,181,.65);transition:width .6s cubic-bezier(.2,.8,.2,1)}.horizontal-charge i:after{content:"";position:absolute;right:-3px;top:1px;width:7px;height:8px;border-radius:50%;background:#d8fff7;box-shadow:0 0 7px #fff}.charge-caption{display:flex;justify-content:space-between;margin-top:6px;color:#7c9692;font-size:7px}.charge-caption b{color:#31a895;font:8px 'DM Mono'}.countdown-panel.arrived .horizontal-charge i{background:linear-gradient(90deg,#ff9a91,#ff6680)}.time-symbols{display:flex;align-content:flex-start;gap:2px;flex-wrap:wrap;height:32px;margin-top:8px;overflow:hidden}.time-symbols i{width:12px;height:12px;display:grid;place-items:center;font-style:normal;font-size:10px}.time-symbols .sun{color:#ff8c55;text-shadow:0 0 5px rgba(255,140,85,.38)}.time-symbols .moon{color:#55b9aa}.time-symbols .star{color:#ef6680;font-size:8px}.time-symbols small{color:#9aabaa;font-size:8px}.symbol-legend{display:flex;gap:7px;margin-top:5px;color:#91a09f;font-size:6px}.elapsed-panel:after,.elapsed-line,.elapsed-copy,.charge-counter,.secondary-countdown{display:none!important}@media(max-width:360px){.day-counters{grid-template-columns:1fr 1fr}.countdown-panel,.elapsed-panel{height:178px}}

/* day-counters-groups.css */
.countdown-panel,.elapsed-panel{height:205px;padding:11px}.group-heading{height:22px;display:flex;align-items:center;justify-content:space-between;color:#527772;font-size:10px}.group-heading small{color:#9aadaa;font:6px 'DM Mono';letter-spacing:.8px}.counter-stack{display:grid;gap:7px}.compact-counter{position:relative;height:76px;padding:9px 8px;border-radius:15px;background:rgba(255,255,255,.28);border:1px solid rgba(255,255,255,.48);overflow:hidden}.compact-copy{display:flex;flex-direction:column;gap:3px;width:66%}.compact-copy input{min-width:0;border:0;background:transparent;color:#3e6560;font:9px 'Noto Sans SC';outline:0}.compact-copy input[type=date]{color:#8a9c99;font:6.5px 'DM Mono'}.compact-number{position:absolute;right:8px;top:8px;display:flex;align-items:baseline;color:#229d8c}.compact-number b{font:22px 'DM Mono';letter-spacing:-1.5px}.compact-number em{margin-left:2px;font-size:7px}.compact-number.positive{color:#ef6879}.mini-charge{position:absolute;left:8px;right:8px;bottom:8px;height:7px;border-radius:5px;background:rgba(190,234,225,.35);overflow:hidden;box-shadow:inset 0 1px 3px rgba(45,134,120,.08)}.mini-charge i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2db5a3,#67ddc9);box-shadow:0 0 8px rgba(48,205,181,.5);transition:width .5s ease}.countdown-item.arrived .mini-charge i{background:linear-gradient(90deg,#ff9a91,#ff6680)}.mini-symbols{position:absolute;left:8px;right:8px;bottom:6px;display:flex;gap:6px;height:15px;align-items:center}.mini-symbols span{display:flex;align-items:center;gap:1px;font-size:10px}.mini-symbols span b{font:7px 'DM Mono'}.mini-symbols .sun{color:#ff8b55}.mini-symbols .moon{color:#42aa9b}.mini-symbols .star{color:#ef6680;font-size:8px}.mini-symbols small{color:#9aabaa;font-size:7px}.elapsed-panel:after{display:block!important;width:80px;height:80px;opacity:.5}.counter-heading,.counter-date,.counter-number,.horizontal-charge,.charge-caption,.time-symbols,.symbol-legend{display:none!important}@media(max-width:360px){.countdown-panel,.elapsed-panel{height:205px}.compact-counter{height:76px}}

/* day-counters-compact.css */
.day-counters{margin:13px 0 15px}
.countdown-panel,.elapsed-panel{height:156px;padding:8px 9px;border-radius:20px}
.group-heading{height:17px;padding:0 2px;font-size:9px}
.group-heading small{font-size:5.5px}
.counter-stack{gap:4px}
.compact-counter{height:59px;padding:6px 7px;border-radius:13px}
.compact-copy{width:58%;gap:1px}
.compact-copy input{font-size:8px;line-height:1.25}
.compact-copy input[type=date]{font-size:5.8px;height:17px;padding:0}
.compact-number{right:35px;top:14px}
.compact-number b{font-size:18px;letter-spacing:-1px}
.compact-number em{font-size:6px}
.mini-ring{--progress:0deg;position:absolute;right:7px;top:15px;width:23px;height:23px;border-radius:50%;background:conic-gradient(#42cdb7 var(--progress),rgba(98,184,171,.14) 0);box-shadow:0 0 7px rgba(54,200,177,.16)}
.mini-ring:before{content:"";position:absolute;inset:4px;border-radius:50%;background:rgba(245,255,252,.88);box-shadow:inset 0 1px 2px rgba(43,147,132,.1)}
.mini-ring i{position:absolute;z-index:2;left:50%;top:2px;width:3px;height:3px;border-radius:50%;background:#dbfff8;box-shadow:0 0 4px #fff;transform:translateX(-50%)}
.countdown-item.arrived .mini-ring{background:conic-gradient(#ff6680 360deg,rgba(255,102,128,.12) 0)}
.mini-charge{display:none}
.elapsed-item .compact-copy{width:52%}
.elapsed-item .compact-number{right:7px;top:5px}
.elapsed-item .compact-number b{font-size:17px}
.mini-symbols{left:auto;right:7px;bottom:6px;width:74px;height:15px;justify-content:flex-end;gap:4px}
.mini-symbols span{font-size:9px}
.mini-symbols span b{font-size:6.5px}
.mini-symbols .star{font-size:7px}
@media(max-width:360px){.countdown-panel,.elapsed-panel{height:156px}.compact-counter{height:59px}}

/* counter-visibility.css */
.compact-counter .compact-number{display:flex!important}.compact-counter .mini-ring,.compact-counter .mini-symbols{display:flex!important}

/* counter-legibility.css */
.countdown-panel,.elapsed-panel{height:170px;padding:10px}.group-heading{height:20px;font-size:11px;font-weight:600}.group-heading small{font-size:6.5px;letter-spacing:1px}.counter-stack{gap:5px}.compact-counter{height:63px;padding:8px;border-radius:14px}.compact-copy{width:51%;gap:4px}.compact-copy input{font-size:10.5px;font-weight:600;line-height:1.2}.compact-copy small{color:#7e9692;font:7.5px 'DM Mono';letter-spacing:.15px;white-space:nowrap}.compact-number{right:51px;top:16px}.compact-number b{font-size:21px;font-weight:500}.compact-number em{font-size:7.5px;font-weight:600}.mini-ring{right:25px;top:18px;width:24px;height:24px}.date-menu{position:absolute;z-index:5;right:2px;top:3px;bottom:3px;width:20px;display:grid;place-items:start center;border-left:1px solid rgba(84,164,151,.08);cursor:pointer}.date-menu span{margin-top:3px;color:#77928e;font-size:17px;line-height:1}.date-menu input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.elapsed-item .compact-copy{width:52%}.elapsed-item .compact-number{right:24px;top:6px}.elapsed-item .mini-symbols{right:24px;bottom:7px;width:80px}.mini-symbols span{font-size:10px}.mini-symbols span b{font-size:7px}@media(max-width:360px){.countdown-panel,.elapsed-panel{height:170px}.compact-counter{height:63px}}

/* counter-reference-cleanup.css */
.group-heading{font-size:12px;font-weight:700}.group-heading small{font-size:6px}.compact-copy{height:100%;width:43%;justify-content:center}.compact-copy small{display:none}.compact-copy input{font-size:12.5px;font-weight:600;line-height:1.2}.compact-number{right:50px;top:14px}.compact-number b{font-size:25px;font-weight:500;letter-spacing:-1.5px}.compact-number em{font-size:8px}.mini-ring{right:25px;top:18px;width:25px;height:25px}.elapsed-item .compact-copy{width:47%}.elapsed-item .compact-number{right:24px;top:7px}.elapsed-item .compact-number b{font-size:24px}.elapsed-item .mini-symbols{right:24px;bottom:6px;width:88px}.mini-symbols span{font-size:11px;gap:2px}.mini-symbols span b{font-size:8px}.mini-symbols .star{font-size:9px}.date-menu span{font-size:19px;color:#658b86}

/* counter-alignment-fix.css */
.compact-copy{position:absolute;left:8px;top:0;bottom:0;width:45%;height:auto;display:flex;justify-content:center}
.compact-copy input{width:100%;text-overflow:ellipsis}
.compact-number{top:50%;right:51px;transform:translateY(-50%);min-width:45px;justify-content:flex-end;white-space:nowrap}
.mini-ring{top:50%;right:25px;transform:translateY(-50%)}
.date-menu{top:3px;bottom:3px;display:grid;place-items:center}
.date-menu span{margin:0}
.date-menu input{width:1px;height:1px;inset:auto;right:0;bottom:0;pointer-events:none}
.elapsed-item .compact-copy{width:49%}
.elapsed-item .compact-number{top:7px;right:24px;transform:none;min-width:54px}
.elapsed-item .mini-symbols{right:24px;bottom:7px;width:88px;justify-content:flex-end}
.elapsed-item .mini-symbols span{display:inline-flex;justify-content:flex-end}
.countdown-item .compact-copy input{font-size:13px}
.elapsed-item .compact-copy input{font-size:11.5px}

/* number-typography.css */
600;700&display=swap');
.compact-number,.elapsed-item .compact-number{top:50%;transform:translateY(-50%);height:31px;display:flex!important;align-items:baseline;justify-content:flex-end}
.compact-number b,.elapsed-item .compact-number b{font-family:'Nunito',ui-rounded,'SF Pro Rounded','Arial Rounded MT Bold',sans-serif;font-size:26px;font-weight:500;line-height:31px;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.compact-number em{font-family:'Nunito',ui-rounded,'SF Pro Rounded','Arial Rounded MT Bold',sans-serif;font-size:8px;font-weight:700}
.elapsed-item .mini-symbols{bottom:2px}

/* counter-title-wrap.css */
.elapsed-item .compact-copy{width:48%;align-items:flex-start}.elapsed-item .compact-copy textarea{width:58px;height:38px;margin:0;padding:0;border:0;background:transparent;resize:none;overflow:hidden;outline:0;color:#345f5a;font:700 13.5px/1.28 'Noto Sans SC',sans-serif;letter-spacing:.1px;word-break:break-all}.elapsed-item .compact-copy textarea:focus{color:#1d8f81}.countdown-item .compact-copy input{font-size:14px;font-weight:700}

/* today-locator.css */
.today-locator{
  position:absolute;
  z-index:14;
  right:20px;
  top:174px;
  height:31px;
  padding:0 10px;
  border-radius:16px;
  display:flex;
  align-items:center;
  gap:5px;
  border-color:rgba(255,255,255,.58);
  background:linear-gradient(135deg,rgba(255,255,255,.4),rgba(211,250,242,.2));
  color:#278f82;
  box-shadow:inset 0 1px rgba(255,255,255,.78),0 6px 16px rgba(35,130,116,.1);
  backdrop-filter:blur(10px) saturate(160%);
  opacity:0;
  transform:translateY(-5px) scale(.94);
  pointer-events:none;
  transition:opacity .22s ease,transform .22s ease;
}
.today-locator.visible{opacity:1;transform:none;pointer-events:auto}
.today-locator span{font:14px 'Nunito',sans-serif}
.today-locator b{font:700 8px 'Nunito',sans-serif;letter-spacing:1px}

/* weight-trend.css */
.chart{padding-bottom:10px}.weight-range{position:absolute;left:0;right:0;bottom:-3px;display:flex;justify-content:space-between;color:#91a6a2}.weight-range small{font:7px 'DM Mono',monospace}.chart svg{overflow:visible}

/* archive-editor.css */
.relations{display:grid;grid-template-columns:1fr 1fr;gap:9px}.relation-card{min-height:76px;padding:12px;border:0;border-radius:19px;text-align:left;color:#355c58;cursor:pointer}.relation-card b{display:block;font-size:13px}.relation-card span{display:block;margin-top:4px;color:#7d9592;font-size:8px}.relation-card i{float:right;font-style:normal;font-size:19px}.skills span{cursor:pointer}.showcase>div{cursor:pointer}.archive-editor{display:none;position:absolute;z-index:32;left:0;right:0;bottom:0;padding:11px 21px 30px;border-radius:30px 30px 0 0;background:linear-gradient(145deg,rgba(244,255,252,.96),rgba(255,240,238,.92));border:1px solid rgba(255,255,255,.88);box-shadow:0 -18px 45px rgba(35,117,105,.16);backdrop-filter:blur(22px) saturate(160%)}.archive-editor.open{display:block}.archive-editor-fields{display:grid;gap:10px;margin-top:17px}.archive-editor-fields label{display:flex;flex-direction:column;gap:5px;color:#63827f;font-size:9px}.archive-editor-fields input,.archive-editor-fields textarea{width:100%;border:1px solid rgba(88,170,158,.2);border-radius:13px;background:rgba(255,255,255,.64);padding:10px;color:#294c49;font:12px 'Noto Sans SC';outline:0}.archive-editor-fields textarea{height:76px;resize:none}.archive-editor-fields input:focus,.archive-editor-fields textarea:focus{border-color:#54cdb9;box-shadow:0 0 0 3px rgba(71,207,185,.12)}#saveArchiveItem{background:linear-gradient(135deg,#55d5c0,#2eb5a3);color:#fff}#deleteArchiveItem{background:rgba(255,102,128,.1);color:#e45e75}

/* archive-editor-position.css */
.archive-editor{position:fixed;left:max(0px,calc(50% - 215px));right:auto;width:min(100vw,430px);max-height:82dvh;overflow-y:auto;overscroll-behavior:contain;transform:none}
#archive.editor-active{overflow:hidden}

/* quote-carousel-interaction.css */
.quote-track{cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-y}.quote-track.dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}.quote-slide,.quote-slide *{pointer-events:none}.quote-dots{pointer-events:auto}.quote-dots i{cursor:pointer;pointer-events:auto}

/* companion-tracks.css */
.companion-toggle{position:absolute;z-index:14;left:20px;top:174px;height:31px;padding:0 9px 0 11px;border-radius:16px;display:flex;align-items:center;gap:8px;border-color:rgba(255,255,255,.58);background:linear-gradient(135deg,rgba(255,255,255,.4),rgba(211,250,242,.18));color:#4b7772;font:9px 'Noto Sans SC';box-shadow:inset 0 1px rgba(255,255,255,.76),0 6px 16px rgba(35,130,116,.08);backdrop-filter:blur(10px) saturate(160%)}.companion-toggle i{position:relative;width:25px;height:14px;border-radius:8px;background:rgba(91,151,142,.16);box-shadow:inset 0 1px 3px rgba(51,117,107,.11);transition:.25s ease}.companion-toggle i:after{content:"";position:absolute;left:2px;top:2px;width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 2px 5px rgba(54,116,106,.18);transition:.25s ease}.companion-toggle.active{color:#208f81}.companion-toggle.active i{background:linear-gradient(90deg,#5dd8c4,#37b9a6)}.companion-toggle.active i:after{transform:translateX(11px)}.companion-lanes{position:absolute;z-index:1;inset:0;pointer-events:none}.companion-lanes i{position:absolute;top:0;bottom:0;width:1.5px;opacity:0;transition:opacity .38s ease;filter:saturate(90%)}.pet-lane{left:calc(50% - 64px);background:rgba(255,148,80,.44);box-shadow:0 0 6px rgba(255,148,80,.34)}.lover-lane{left:calc(50% - 36px);background:rgba(255,111,151,.4);box-shadow:0 0 6px rgba(255,111,151,.32)}.fitness-lane{left:calc(50% + 36px);background:rgba(74,158,240,.42);box-shadow:0 0 6px rgba(74,158,240,.34)}.music-lane{left:calc(50% + 64px);background:rgba(148,102,235,.4);box-shadow:0 0 6px rgba(148,102,235,.32)}.companion-mode .companion-lanes i{opacity:.72}.companion-mode .station>div{opacity:0;transform:translateX(4px);transition:opacity .2s ease,transform .2s ease}.companion-mode .station.current>div,.companion-mode .station.selected-station>div{opacity:1;transform:none}.companion-mode .station.current:not(.selected-station)>div{background:rgba(228,255,248,.58)}

/* companion-tracks-spacing.css */
.pet-lane{left:calc(50% - 128px)}
.lover-lane{left:calc(50% - 72px)}
.fitness-lane{left:calc(50% + 72px)}
.music-lane{left:calc(50% + 128px)}
.companion-labels{
  position:absolute;
  z-index:13;
  left:0;
  right:0;
  top:auto;
  bottom:96px;
  height:34px;
  pointer-events:none;
  opacity:0;
  transition:opacity .3s ease;
}
.companion-mode .companion-labels{opacity:.78}
.companion-labels span{
  position:absolute;
  top:50%;
  height:34px;
  display:flex;
  align-items:center;
  writing-mode:horizontal-tb;
  font:600 8px 'Noto Sans SC';
  line-height:1;
  letter-spacing:0;
  white-space:nowrap;
  padding:0 4px;
  border-radius:7px;
  background:rgba(255,255,255,.28);
  backdrop-filter:blur(5px);
}
.pet-label{left:calc(50% - 128px);color:#dc844d;transform:translate(7px,-50%)}
.lover-label{left:calc(50% - 72px);color:#df668f;transform:translate(7px,-50%)}
.fitness-label{left:calc(50% + 72px);color:#498fd2;transform:translate(calc(-100% - 7px),-50%)}
.music-label{left:calc(50% + 128px);color:#8b62d3;transform:translate(calc(-100% - 7px),-50%)}

/* companion-toggle-size.css */
.companion-toggle{height:35px;padding:0 11px 0 13px;border-radius:18px;gap:10px;font-size:11px;font-weight:600}.companion-toggle i{width:29px;height:16px;border-radius:9px}.companion-toggle i:after{width:12px;height:12px}.companion-toggle.active i:after{transform:translateX(13px)}

/* quote-text-size.css */
.quote-slide{padding:8px 18px 5px 46px}.quote-slide .quote-mark{left:15px;top:-2px;font-size:45px}.quote-slide p{font-size:14px;line-height:1.45;font-weight:500;letter-spacing:.15px}.quote-slide footer{margin-top:2px;font-size:10px;font-weight:500}

/* avatar-upload.css */
.profile-avatar{position:relative;flex:0 0 53px;border:0;border-radius:12px;padding:0;color:#fff;overflow:hidden;cursor:pointer}.profile-avatar:not(.has-image):before{content:"＋";display:grid;place-items:center;width:100%;height:100%;color:#55aa9f;font:20px 'DM Mono';background:linear-gradient(145deg,rgba(225,250,244,.9),rgba(255,237,234,.82))}.profile-avatar>img{position:absolute;z-index:0;inset:0;width:100%;height:100%;display:block;object-fit:contain;object-position:center;background:#fff}.profile-avatar>img[hidden]{display:none}.profile-avatar span{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:3px 0;background:linear-gradient(transparent,rgba(24,78,71,.58));color:#fff;font:7px 'Noto Sans SC';opacity:0;transform:translateY(3px);transition:.2s ease}.profile-avatar:not(.has-image) span{display:none}.profile-avatar:hover span,.profile-avatar:focus-visible span{opacity:1;transform:none}.profile-avatar.has-image{background:none!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 5px 14px rgba(38,131,117,.16)}.profile-avatar.has-image span{opacity:.8}

/* avatar-cropper.css */
.profile-avatar{margin-left:0!important;margin-right:0}.profile>#editProfile{margin-left:auto}.avatar-cropper{display:none;position:fixed;z-index:40;left:50%;bottom:0;width:min(100vw,430px);transform:translateX(-50%);padding:22px 24px 30px;border-radius:30px 30px 0 0;background:linear-gradient(145deg,rgba(244,255,252,.97),rgba(255,240,238,.94));border:1px solid rgba(255,255,255,.9);box-shadow:0 -20px 50px rgba(35,117,105,.2);backdrop-filter:blur(24px) saturate(165%)}.avatar-cropper.open{display:block}.cropper-heading{display:flex;align-items:center;justify-content:space-between}.cropper-heading h2{margin:4px 0 0;font-size:20px}.cropper-heading button{border:0;background:none;color:#648a85;font-size:27px}.crop-viewport{position:relative;width:240px;height:240px;margin:19px auto 15px;border-radius:54px;overflow:hidden;background:linear-gradient(135deg,#d9f5ef,#f8e6e4);box-shadow:0 0 0 5px rgba(255,255,255,.62),0 12px 30px rgba(39,127,114,.15);touch-action:none;cursor:grab}.crop-viewport:active{cursor:grabbing}.crop-viewport canvas{display:block;width:240px;height:240px;pointer-events:none}.crop-viewport img{display:none}.crop-viewport:after{content:"";position:absolute;inset:0;border-radius:54px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),inset 0 -15px 30px rgba(38,151,134,.08);pointer-events:none}.crop-zoom{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:8px;color:#688783;font-size:10px}.crop-zoom input{accent-color:#3dc2af}.crop-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:9px;margin-top:16px}.crop-actions button{height:42px;border:0;border-radius:14px;font:11px 'Noto Sans SC'}.crop-actions button:first-child{background:rgba(255,255,255,.56);color:#688783}.crop-actions button:last-child{background:linear-gradient(135deg,#55d5c0,#2eb5a3);color:#fff;box-shadow:0 7px 16px rgba(41,180,160,.22)}

/* timeline-stage.css */
.stage-controls{position:absolute;z-index:15;left:20px;top:216px;display:flex;flex-direction:column;align-items:flex-start;gap:7px}
#timeline{transition:background-color .45s ease}
#timeline.stage-mode{background:#fff}
.stage-toggle,.stage-settings{height:35px;border-radius:18px;border-color:rgba(255,255,255,.6);background:linear-gradient(135deg,rgba(255,255,255,.4),rgba(211,250,242,.16));color:#4b7772;box-shadow:inset 0 1px rgba(255,255,255,.78),0 6px 16px rgba(35,130,116,.08);backdrop-filter:blur(10px) saturate(160%)}
.stage-toggle{padding:0 11px 0 13px;display:flex;align-items:center;gap:10px;font:600 11px 'Noto Sans SC'}
.stage-toggle i{position:relative;width:29px;height:16px;border-radius:9px;background:rgba(91,151,142,.16);box-shadow:inset 0 1px 3px rgba(51,117,107,.11);transition:.25s ease}
.stage-toggle i:after{content:"";position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 2px 5px rgba(54,116,106,.18);transition:.25s ease}
.stage-toggle.active{color:#208f81}.stage-toggle.active i{background:linear-gradient(90deg,#5dd8c4,#37b9a6)}.stage-toggle.active i:after{transform:translateX(13px)}
.stage-settings{display:none;padding:0 5px 0 11px;align-items:center;gap:3px;font:600 10px 'Noto Sans SC';animation:stage-control-in .25s ease}
.stage-settings.visible{display:flex}.stage-settings button{height:27px;padding:0 4px;border:0;background:none;color:#4b7772;font:600 10px 'Noto Sans SC'}.stage-settings .stage-settings-hide{width:25px;border-radius:10px;color:#28a997;font-size:15px;transition:.22s ease}.stage-settings .stage-settings-hide:hover{background:rgba(78,203,183,.1);transform:translateY(-1px)}
@keyframes stage-control-in{from{opacity:0;transform:translateY(-5px)}}
.life-stage-bands{display:none;position:absolute;z-index:0;inset:0;pointer-events:none}.life-stage-bands.visible{display:block}
.life-stage-band{position:absolute;left:0;right:0;pointer-events:none;border-top:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35);background:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--stage-color) 34%,transparent) 18%,color-mix(in srgb,var(--stage-color) 34%,transparent) 82%,transparent 100%)}
.life-stage-band:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(255,255,255,.26),transparent 38%,rgba(255,255,255,.18));mix-blend-mode:soft-light}
.stage-boundary{position:absolute;z-index:6;left:22px;right:25px;width:auto;height:18px;padding:0;border:0;background:transparent;pointer-events:auto;touch-action:none;cursor:ns-resize}
.stage-boundary:before{content:"";position:absolute;left:0;right:7px;top:6px;height:6px;border-radius:6px;background:linear-gradient(90deg,rgba(255,255,255,.2),color-mix(in srgb,var(--stage-color) 68%,white) 20%,color-mix(in srgb,var(--stage-color) 88%,white) 72%,rgba(255,255,255,.92));border:1px solid rgba(255,255,255,.82);box-shadow:inset 0 1px 2px rgba(255,255,255,.92),0 0 9px color-mix(in srgb,var(--stage-color) 55%,transparent),0 3px 9px rgba(56,137,125,.08)}
.stage-boundary:after{content:"";position:absolute;right:0;top:1px;width:17px;height:17px;border-radius:7px;background:linear-gradient(145deg,rgba(255,255,255,.98),color-mix(in srgb,var(--stage-color) 52%,white));border:1px solid rgba(255,255,255,.94);box-shadow:inset 1px 1px 2px #fff,0 3px 9px rgba(47,133,120,.18),0 0 0 1px color-mix(in srgb,var(--stage-color) 42%,transparent)}
.stage-boundary span{position:absolute;z-index:1;right:5px;top:6px;width:7px;height:6px;border-top:1px solid rgba(48,122,112,.48);border-bottom:1px solid rgba(48,122,112,.48)}
.stage-boundary-start{bottom:-9px}.stage-boundary-end{top:-9px}
.stage-boundary:hover:after,.stage-boundary:focus-visible:after,.stage-boundary.dragging:after{transform:scale(1.12);box-shadow:inset 1px 1px 2px #fff,0 4px 12px rgba(47,133,120,.25),0 0 0 3px color-mix(in srgb,var(--stage-color) 24%,transparent)}
.stage-boundary.dragging:before{height:8px;top:5px;filter:brightness(1.07)}
.stage-watermark{position:absolute;z-index:1;right:-12px;top:286px;bottom:112px;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;text-orientation:upright;letter-spacing:.03em;color:color-mix(in srgb,var(--watermark-color,#bdebdc) 24%,white);font:800 117px/.86 'Noto Sans SC';opacity:0;filter:brightness(1.18) saturate(65%);mix-blend-mode:screen;text-shadow:0 0 22px rgba(255,255,255,.96),0 0 48px color-mix(in srgb,var(--watermark-color,#bdebdc) 55%,white);pointer-events:none;user-select:none;transition:opacity .42s ease,transform .42s ease;transform:translateX(12px)}
.stage-watermark.visible{opacity:.34;transform:none}
.stage-mode .stage-watermark{color:color-mix(in srgb,var(--watermark-color,#bdebdc) 72%,white);filter:saturate(82%);mix-blend-mode:normal;text-shadow:0 0 22px rgba(255,255,255,.92),0 0 42px color-mix(in srgb,var(--watermark-color,#bdebdc) 45%,white)}
.stage-mode .stage-watermark.visible{opacity:.72}
.stage-editor{position:absolute;z-index:36;left:20px;right:20px;top:300px;padding:14px;border-radius:22px;background:linear-gradient(145deg,rgba(248,255,253,.86),rgba(255,246,243,.82));border:1px solid rgba(255,255,255,.9);box-shadow:inset 1px 1px rgba(255,255,255,.9),0 18px 42px rgba(42,123,111,.15);backdrop-filter:blur(22px) saturate(165%);opacity:0;visibility:hidden;transform:translateY(-12px) scale(.96);transform-origin:32px 0;transition:opacity .24s ease,transform .36s cubic-bezier(.2,.86,.25,1),visibility 0s linear .36s}
.stage-editor:before{content:"";position:absolute;left:42px;top:-7px;width:14px;height:14px;transform:rotate(45deg);background:rgba(247,255,252,.86);border-left:1px solid rgba(255,255,255,.9);border-top:1px solid rgba(255,255,255,.9)}
.stage-editor.open{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.stage-editor-heading{display:flex;align-items:center;justify-content:space-between}.stage-editor-heading h2{margin:3px 0 11px;font-size:17px;color:#294c4a}.stage-editor-heading button{width:28px;height:28px;border:0;border-radius:10px;background:rgba(255,255,255,.48);color:#648a85;font-size:20px}
.stage-list-head,.stage-row{display:grid;grid-template-columns:minmax(64px,.82fr) 1.18fr 1.18fr 28px 22px;gap:5px;align-items:center}
.stage-list-head{padding:0 4px 5px;color:#7a9692;font-size:7px;text-align:center}.stage-list-head span:first-child{text-align:left}
.stage-list{max-height:190px;overflow-y:auto;scrollbar-width:none}.stage-list::-webkit-scrollbar{display:none}
.stage-row{min-height:43px;margin-bottom:6px;padding:5px;border:1px solid rgba(255,255,255,.78);border-radius:14px;background:rgba(255,255,255,.46);box-shadow:0 4px 12px rgba(57,132,121,.05)}
.stage-row input{width:100%;min-width:0;height:31px;padding:0 4px;border:0;border-radius:8px;outline:0;background:rgba(255,255,255,.5);color:#365e59;font:8px 'DM Mono','Noto Sans SC'}
.stage-row .stage-row-name{font:600 10px 'Noto Sans SC'}
.stage-color,.delete-stage{width:26px;height:26px;padding:0;border:0}.stage-color{border-radius:9px;background:var(--row-color);box-shadow:inset 1px 1px 2px rgba(255,255,255,.86),0 2px 7px color-mix(in srgb,var(--row-color) 58%,transparent)}.delete-stage{width:21px;border-radius:8px;background:rgba(255,111,128,.08);color:#e97684;font-size:16px}
.add-stage{width:100%;height:34px;margin-top:4px;border:1px dashed rgba(45,169,151,.28);border-radius:12px;background:rgba(255,255,255,.42);color:#269c8d;font:600 10px 'Noto Sans SC'}

/* tabbar-liquid-motion.css */
.tabbar{isolation:isolate}.tabbar .tab-liquid{position:absolute;z-index:0;top:7px;bottom:7px;left:0;width:82px;border:1px solid rgba(255,255,255,.68);border-radius:17px;background:linear-gradient(125deg,rgba(255,255,255,.48),rgba(129,235,217,.2) 48%,rgba(255,179,174,.13));box-shadow:inset 1px 1px 1px rgba(255,255,255,.88),inset -7px -7px 15px rgba(41,190,168,.08),0 5px 15px rgba(38,143,128,.1);backdrop-filter:blur(15px) saturate(175%);pointer-events:none;transition:width .48s cubic-bezier(.18,.88,.24,1),transform .52s cubic-bezier(.2,.88,.24,1),border-radius .4s ease}.tabbar .tab-liquid:before{content:"";position:absolute;inset:2px 8px auto;height:42%;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.68),rgba(255,255,255,0));filter:blur(.3px);opacity:.8}.tabbar .tab-liquid:after{content:"";position:absolute;width:21px;height:21px;right:8px;bottom:5px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.72),rgba(77,211,190,.12) 55%,transparent 72%);opacity:.55;transition:transform .48s cubic-bezier(.2,.8,.2,1)}.tabbar .tab-liquid.flowing{animation:liquid-shell .54s ease}.tabbar .tab-liquid.flowing:after{transform:translateX(-25px) scale(1.35,.7)}@keyframes liquid-shell{0%{border-radius:17px;filter:brightness(1)}38%{border-radius:25px 13px 25px 13px;filter:brightness(1.08)}72%{border-radius:14px 23px 14px 23px}100%{border-radius:17px;filter:brightness(1)}}.tabbar button{position:relative;z-index:2;background:transparent!important;transition:color .32s ease,transform .38s cubic-bezier(.2,.8,.2,1),text-shadow .32s ease}.tabbar button.selected{background:transparent!important;color:#159c8c;transform:translateY(-1px);text-shadow:0 2px 10px rgba(45,183,163,.16)}.tabbar button span{transition:transform .42s cubic-bezier(.18,.9,.25,1)}.tabbar button.selected span{transform:scale(1.08)}

/* back-button-polish.css */
.today-topbar .back{position:relative;width:43px;height:43px;flex:0 0 43px;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:15px;background:linear-gradient(135deg,rgba(255,255,255,.52),rgba(211,250,242,.2) 58%,rgba(255,221,216,.12));box-shadow:inset 1px 1px 1px rgba(255,255,255,.92),inset -6px -7px 13px rgba(54,190,170,.07),0 7px 18px rgba(43,134,121,.09);backdrop-filter:blur(15px) saturate(175%);transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease}.today-topbar .back:before{content:"";position:absolute;z-index:2;left:17px;top:15px;width:10px;height:10px;border-left:1.7px solid #278f83;border-bottom:1.7px solid #278f83;transform:rotate(45deg);border-radius:1px}.today-topbar .back:after{content:"";position:absolute;left:5px;right:5px;top:4px;height:15px;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,0));opacity:.75;pointer-events:none}.today-topbar .back:hover{box-shadow:inset 1px 1px 1px #fff,inset -6px -7px 13px rgba(54,190,170,.09),0 9px 22px rgba(43,134,121,.13)}.today-topbar .back:active{transform:scale(.92);box-shadow:inset 2px 3px 8px rgba(61,151,137,.13),0 3px 9px rgba(43,134,121,.08)}

/* ios-motion-system.css */
:root{--ios-spring:cubic-bezier(.22,.88,.26,1);--ios-smooth:cubic-bezier(.4,0,.2,1);--ios-fast:180ms;--ios-medium:360ms;--ios-slow:520ms}
*{-webkit-tap-highlight-color:transparent}
button,input,textarea,select{touch-action:manipulation}
.page{backface-visibility:hidden;contain:layout paint;transition:none}
.page:not(.active){visibility:hidden}
.page:not(.active).page-enter-forward,.page:not(.active).page-enter-back{visibility:hidden!important;opacity:0!important;animation:none!important;transform:none!important}
.page.active{visibility:visible;transform:translate3d(0,0,0);opacity:1}
.page.page-enter-forward,.page.page-enter-back{z-index:3;visibility:visible;will-change:transform,opacity}
.page.page-enter-forward{animation:ios-page-in-forward 390ms var(--ios-spring) both}
.page.page-enter-back{animation:ios-page-in-back 390ms var(--ios-spring) both}
@keyframes ios-page-in-forward{from{opacity:.28;transform:translate3d(26px,0,0) scale(.992)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes ios-page-in-back{from{opacity:.28;transform:translate3d(-20px,0,0) scale(.994)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
.app-shell.page-transitioning .ambient{animation-play-state:paused}
button,.module-card,.compact-counter,.profile,.progress,.relation-card,.showcase>div,.quote-card,.memory-preview{transition:transform var(--ios-fast) var(--ios-spring),box-shadow var(--ios-medium) ease,background-color var(--ios-medium) ease,opacity var(--ios-fast) ease}
button:active,.module-card:active,.compact-counter:active,.relation-card:active,.showcase>div:active{transform:scale(.965)}
.memory-preview:active,.quote-card:active,.profile:active,.progress:active{transform:scale(.982)}
.module-card:hover,.compact-counter:hover,.relation-card:hover{box-shadow:inset 0 1px rgba(255,255,255,.82),0 15px 32px rgba(48,131,119,.1)}
.glass{transition:border-color var(--ios-medium) ease,box-shadow var(--ios-medium) ease,background-color var(--ios-medium) ease,transform var(--ios-fast) var(--ios-spring)}
input,textarea,select{transition:border-color var(--ios-fast) ease,box-shadow var(--ios-fast) ease,background-color var(--ios-fast) ease,transform var(--ios-fast) var(--ios-spring)}
input:focus,textarea:focus,select:focus{transform:scale(1.008);box-shadow:0 0 0 3px rgba(63,203,181,.12)}
.todo-drawer,.module-editor,.archive-editor,.avatar-cropper{will-change:transform;transition:bottom var(--ios-slow) var(--ios-spring),transform var(--ios-slow) var(--ios-spring),opacity 280ms ease!important}
.todo-drawer.open,.module-editor.open,.archive-editor.open,.avatar-cropper.open{animation:ios-sheet-arrive 560ms var(--ios-spring) both}
@keyframes ios-sheet-arrive{0%{transform:translate3d(0,32px,0);opacity:.3}72%{transform:translate3d(0,-3px,0);opacity:1}100%{transform:none;opacity:1}}
.stage-editor{transition:opacity 230ms ease,transform 440ms var(--ios-spring),visibility 0s linear 440ms!important}.stage-editor.open{transition-delay:0s!important}
.meal-time-picker.open .meal-time-menu{transform-origin:50% 0;animation:ios-popover-in 300ms var(--ios-spring) both}
@keyframes ios-popover-in{from{opacity:0;transform:translate3d(0,-7px,0) scale(.94)}to{opacity:1;transform:none}}
.meal-time-option{transition:background-color 150ms ease,color 150ms ease,transform 150ms var(--ios-spring)}.meal-time-option:active{transform:scale(.93)}
.train.snapping{transition:top 420ms var(--ios-spring),filter 250ms ease!important}.train.dragging{transition:none!important;transform:translate(-50%,-50%) scale(1.045);filter:drop-shadow(0 12px 17px rgba(35,178,156,.3))}
.station>div,.station em{transition:opacity 260ms ease,transform 380ms var(--ios-spring),background-color 260ms ease,box-shadow 260ms ease}
.station.selected-station>div{animation:ios-station-pop 390ms var(--ios-spring)}
@keyframes ios-station-pop{0%{transform:scale(.86);opacity:.45}75%{transform:scale(1.045);opacity:1}100%{transform:none}}
.quote-track{scroll-behavior:smooth;scroll-snap-type:x mandatory}.quote-slide{scroll-snap-align:center}
.tabbar,.quote-card,.today-topbar .back{will-change:transform,backdrop-filter}
.check{transition:background-color 240ms ease,border-color 240ms ease,transform 260ms var(--ios-spring)}.check:active{transform:scale(.8)}.check.checked{animation:ios-check-pop 360ms var(--ios-spring)}
@keyframes ios-check-pop{0%{transform:scale(.72)}70%{transform:scale(1.12)}100%{transform:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* runtime-performance.css */
/* Runtime isolation only. Motion timing is intentionally unchanged here. */
.page:not(.active){
  content-visibility:hidden;
  contain:layout style paint;
  pointer-events:none!important;
}
.page:not(.active) *,
.app-backgrounded *{
  animation-play-state:paused!important;
}
.page.active{
  content-visibility:visible;
}
.page{transition-property:opacity,transform}
.exercise-demo-stage img{content-visibility:auto}
/* A stationary timeline node has no animation that needs an offscreen paint. */
.station{contain:style}
@media (hover:none){
  .glass{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
}
.page-transitioning .page:not(.active){
  visibility:hidden!important;
}
.exercise-demo-stage,
.body-muscles-stage,
.timeline-viewport{
  contain:layout paint;
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
}

/* quote-liquid-glass.css */
.quote-card{isolation:isolate;background:radial-gradient(ellipse at 12% 4%,rgba(255,255,255,.42),transparent 34%),radial-gradient(ellipse at 88% 100%,rgba(255,172,169,.12),transparent 40%),linear-gradient(118deg,rgba(255,255,255,.24),rgba(205,252,243,.09) 46%,rgba(255,255,255,.16));border:1px solid rgba(255,255,255,.7);box-shadow:inset 1px 1px 1px rgba(255,255,255,.92),inset -1px -1px 1px rgba(91,200,182,.12),inset 0 -16px 30px rgba(84,215,194,.045),0 15px 35px rgba(37,129,116,.105),0 2px 8px rgba(255,255,255,.7);backdrop-filter:blur(22px) saturate(185%) contrast(103%);-webkit-backdrop-filter:blur(22px) saturate(185%) contrast(103%)}
.quote-card:before{content:"";position:absolute;z-index:0;left:10px;right:10px;top:5px;height:42%;border-radius:18px 18px 50% 50%;background:linear-gradient(180deg,rgba(255,255,255,.52),rgba(255,255,255,.09) 54%,transparent);filter:blur(.2px);opacity:.68;pointer-events:none}
.quote-card:after{z-index:0!important;background:linear-gradient(112deg,rgba(255,255,255,.5),transparent 20%,rgba(74,211,190,.1) 48%,transparent 70%,rgba(255,173,170,.16))!important;mix-blend-mode:soft-light;opacity:.72!important}
.quote-track,.quote-dots{position:relative;z-index:2}.quote-card .quote-mark{filter:drop-shadow(0 3px 8px rgba(255,101,128,.2))}.quote-card:hover{box-shadow:inset 1px 1px 1px rgba(255,255,255,.96),inset -1px -1px 1px rgba(91,200,182,.14),inset 0 -18px 34px rgba(84,215,194,.055),0 18px 42px rgba(37,129,116,.12),0 2px 9px rgba(255,255,255,.76)}

/* Layered liquid glass: an iOS-safe refractive rim with a clear reading core. */
.quote-card{
  --quote-light-x:28%;
  --quote-light-y:14%;
  height:94px;
  border-color:rgba(255,255,255,.62);
  border-radius:22px;
  background:
    radial-gradient(110% 90% at 8% -12%,rgba(255,255,255,.48) 0 23%,transparent 52%),
    radial-gradient(76% 115% at 101% 112%,rgba(255,135,128,.105),transparent 62%),
    linear-gradient(118deg,rgba(255,255,255,.16),rgba(212,252,245,.075) 48%,rgba(255,255,255,.12));
  box-shadow:
    0 15px 36px rgba(38,132,118,.09),
    0 2px 5px rgba(45,119,109,.035),
    inset 0 1.2px 0 rgba(255,255,255,.96),
    inset 1.2px 0 0 rgba(255,255,255,.64),
    inset 0 -1px 0 rgba(63,148,136,.13),
    inset -1px 0 0 rgba(255,151,146,.075);
  backdrop-filter:blur(16px) saturate(190%) brightness(1.045);
  -webkit-backdrop-filter:blur(16px) saturate(190%) brightness(1.045);
}
.quote-card:before{
  inset:0;
  height:auto;
  padding:1.4px;
  border-radius:inherit;
  background:
    linear-gradient(128deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.28) 24%,rgba(70,211,190,.18) 52%,rgba(255,255,255,.18) 74%,rgba(255,151,147,.28) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  backdrop-filter:blur(5px) brightness(1.16) saturate(170%);
  -webkit-backdrop-filter:blur(5px) brightness(1.16) saturate(170%);
  filter:none;
  opacity:.92;
}
.quote-card:after{
  inset:-42% -14%!important;
  background:
    radial-gradient(ellipse at var(--quote-light-x) var(--quote-light-y),rgba(255,255,255,.62) 0 4%,rgba(255,255,255,.18) 13%,transparent 30%),
    linear-gradient(111deg,transparent 27%,rgba(255,255,255,.28) 41%,rgba(102,231,211,.10) 48%,transparent 58%,rgba(255,163,157,.10) 72%,transparent 80%)!important;
  mix-blend-mode:screen;
  opacity:.64!important;
  transform:rotate(-2deg);
  pointer-events:none;
}
.quote-track{height:80px}
.quote-slide{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  grid-template-rows:minmax(0,1fr) auto;
  column-gap:8px;
  padding:11px 48px 8px 15px;
}
.quote-slide .quote-mark{
  position:static;
  grid-column:1;
  grid-row:1 / 3;
  align-self:start;
  margin-top:-7px;
  color:#ff6c83;
  font-family:Georgia,'Times New Roman',serif;
  font-size:42px;
  font-weight:700;
  line-height:1;
  filter:drop-shadow(0 4px 10px rgba(255,96,124,.16));
}
.quote-slide p{
  grid-column:2;
  grid-row:1;
  align-self:center;
  margin:0;
  color:#285c56;
  font-family:'Songti SC','STSong','Noto Serif SC','Source Han Serif SC',serif;
  font-size:13.4px;
  font-weight:650;
  line-height:1.48;
  letter-spacing:.035em;
  text-wrap:pretty;
}
.quote-slide footer{
  grid-column:2;
  grid-row:2;
  justify-self:end;
  margin:1px 2px 0 0;
  color:#4b8c83;
  font-family:'Songti SC','STSong','Noto Serif SC',serif;
  font-size:9.5px;
  font-weight:600;
  letter-spacing:.08em;
}
.quote-dots{bottom:6px}
.quote-dots i{background:rgba(45,151,136,.18);box-shadow:inset 0 1px rgba(255,255,255,.7)}
.quote-dots i.active{background:#32b5a2;box-shadow:0 1px 4px rgba(41,176,157,.2)}
.quote-card:hover{
  box-shadow:
    0 17px 40px rgba(38,132,118,.105),
    0 2px 5px rgba(45,119,109,.04),
    inset 0 1.2px 0 rgba(255,255,255,.98),
    inset 1.2px 0 0 rgba(255,255,255,.68),
    inset 0 -1px 0 rgba(63,148,136,.15),
    inset -1px 0 0 rgba(255,151,146,.085);
}
.rail-viewport{top:164px}

@media(max-width:370px){
  .quote-slide{grid-template-columns:27px minmax(0,1fr);column-gap:6px;padding-right:43px;padding-left:12px}
  .quote-slide .quote-mark{font-size:39px}
  .quote-slide p{font-size:12.7px;letter-spacing:.02em}
}

/* quote-search.css */
.quote-search-trigger{position:absolute;z-index:8;right:10px;top:9px;width:27px;height:27px;padding:0;border:1px solid rgba(255,255,255,.76);border-radius:50%;background:rgba(244,255,252,.28);box-shadow:inset 0 1px rgba(255,255,255,.92),0 5px 13px rgba(42,138,123,.08);backdrop-filter:blur(12px);transition:transform .22s ease,background .22s ease,opacity .2s ease}
.quote-search-trigger span{position:absolute;left:8px;top:7px;width:8px;height:8px;border:1.5px solid #3b8c82;border-radius:50%}
.quote-search-trigger span:after{content:"";position:absolute;width:5px;height:1.5px;right:-4px;bottom:-2px;border-radius:2px;background:#3b8c82;transform:rotate(45deg)}
.quote-search-trigger:active{transform:scale(.88)}
.quote-card>.quote-track .quote-slide{padding-right:44px}
.quote-card.search-open .quote-search-trigger{opacity:0;pointer-events:none}
.quote-search-panel{position:absolute;z-index:9;inset:0;display:flex;flex-direction:column;gap:5px;padding:8px 10px 7px;border-radius:inherit;background:linear-gradient(125deg,rgba(245,255,253,.82),rgba(235,253,249,.72) 55%,rgba(255,242,239,.72));box-shadow:inset 0 1px rgba(255,255,255,.96);backdrop-filter:blur(26px) saturate(170%);opacity:0;pointer-events:none;transform:translateY(-5px) scale(.985);transition:opacity .2s ease,transform .26s cubic-bezier(.2,.8,.2,1)}
.quote-card.search-open .quote-search-panel{opacity:1;pointer-events:auto;transform:none}
.quote-search-form{height:29px;display:grid;grid-template-columns:24px minmax(0,1fr) 42px;align-items:center;gap:5px}
.quote-search-form button{height:25px;padding:0;border:0;border-radius:10px;background:rgba(255,255,255,.5);color:#248f81;font-size:9px;box-shadow:inset 0 1px rgba(255,255,255,.9)}
.quote-search-form button:first-child{font-size:20px;line-height:1}
.quote-search-form input{min-width:0;height:27px;padding:0 10px;border:1px solid rgba(255,255,255,.78);border-radius:11px;outline:0;background:rgba(255,255,255,.38);color:#315d57;font-size:10px;box-shadow:inset 0 2px 7px rgba(45,146,130,.06)}
.quote-search-form input::placeholder{color:#91aaa6}
.quote-search-results{min-height:0;display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none}
.quote-search-results::-webkit-scrollbar{display:none}.quote-search-results>p{margin:auto;color:#83a09b;font-size:8px}
.quote-search-result{position:relative;flex:0 0 146px;min-width:0;height:38px;display:grid;grid-template-rows:auto 1fr;gap:1px;padding:5px 8px;border:1px solid rgba(255,255,255,.75);border-radius:12px;background:rgba(255,255,255,.4);color:#416c66;text-align:left;scroll-snap-align:start;box-shadow:inset 0 1px rgba(255,255,255,.9);transition:transform .18s ease,background .18s ease}
.quote-search-result:active{transform:scale(.96)}.quote-search-result b{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.quote-search-result span{display:-webkit-box;overflow:hidden;color:#789590;font-size:7px;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical}.quote-search-result em{position:absolute;right:7px;top:5px;color:#63a69d;font-size:6px;font-style:normal}
.quote-search-results.is-loading{opacity:.58}.quote-search-results.is-loading:after{content:"";width:12px;height:12px;margin:auto;border:2px solid rgba(48,174,155,.18);border-top-color:#30ae9b;border-radius:50%;animation:quote-search-spin .7s linear infinite}@keyframes quote-search-spin{to{transform:rotate(360deg)}}

/* train-liquid-motion.css */
.train{--liquid-x:1;--liquid-y:1;--liquid-skew:0deg;--liquid-shift:0px;transform-origin:50% 54%;will-change:transform,filter,border-radius;transition:top 420ms cubic-bezier(.22,.88,.26,1),transform 260ms cubic-bezier(.2,.9,.25,1),border-radius 280ms ease,filter 260ms ease!important}
.train:before{transform:translateY(var(--liquid-shift)) scaleX(calc(2 - var(--liquid-x)));transform-origin:50% 45%;transition:transform 55ms linear,border-radius 140ms ease,filter 120ms ease;filter:saturate(108%) brightness(1.025)}
.train:after,.train .train-light{transition:transform 65ms linear,filter 120ms ease,box-shadow 120ms ease}
.train.dragging{transform:translate(-50%,-50%) scaleX(var(--liquid-x)) scaleY(var(--liquid-y)) skewY(var(--liquid-skew))!important;border-radius:19px 19px 12px 12px;filter:drop-shadow(0 11px 15px rgba(35,178,156,.25)) saturate(108%);transition:filter 110ms ease,border-radius 140ms ease!important}
.train.dragging:before{border-radius:13px 13px 7px 7px;filter:saturate(116%) brightness(1.055)}
.train.dragging:after{transform:translateY(calc(var(--liquid-shift) * -.45)) scaleX(calc(2 - var(--liquid-x)))}
.train.dragging .train-light{transform:translateY(calc(var(--liquid-shift) * -.65)) scale(1.08);box-shadow:0 0 14px 6px rgba(255,102,128,.62)}
.train.liquid-settle{animation:train-liquid-settle 280ms cubic-bezier(.2,.9,.28,1) both!important}
.train.liquid-settle:before{animation:train-glass-settle 240ms cubic-bezier(.2,.9,.28,1) both}
.train.liquid-settle .train-light{animation:train-light-settle 220ms ease-out both}
@keyframes train-liquid-settle{0%{transform:translate(-50%,-50%) scaleX(.975) scaleY(1.03)}58%{transform:translate(-50%,-50%) scaleX(1.018) scaleY(.99)}100%{transform:translate(-50%,-50%) scale(1)}}
@keyframes train-glass-settle{0%{transform:translateY(1.5px) scaleX(1.025)}65%{transform:translateY(-.5px) scaleX(.99)}100%{transform:none}}
@keyframes train-light-settle{0%{transform:translateY(-1.5px) scale(1.08)}100%{transform:none}}
@media(prefers-reduced-motion:reduce){.train.liquid-settle,.train.liquid-settle:before,.train.liquid-settle .train-light{animation:none!important}}

/* Optical headlamp: a tiny layered lens instead of a flat glowing dot. */
.train .train-light{
  width:12px;
  height:9px;
  left:11px;
  top:51.5px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:52% 52% 46% 46%;
  background:
    linear-gradient(145deg,rgba(255,255,255,.5),rgba(255,255,255,.08) 42%,rgba(255,102,128,.1)),
    rgba(232,255,250,.1);
  box-shadow:
    inset 1px 1px 1px rgba(255,255,255,.82),
    inset -1px -1px 2px rgba(38,172,153,.13),
    0 0 0 1px rgba(255,102,128,.08),
    0 0 7px rgba(255,102,128,.16);
  filter:saturate(.92) brightness(1.04);
  backdrop-filter:blur(2px) saturate(125%);
}
.train .train-light:before{
  content:"";
  position:absolute;
  inset:2px 2.5px;
  z-index:1;
  border:1px solid rgba(255,221,226,.66);
  border-radius:50% 50% 44% 44%;
  background:radial-gradient(circle at 42% 32%,#fff 0 13%,#ffe9ed 25%,#ff9aac 48%,rgba(255,102,128,.9) 70%,rgba(234,74,101,.7) 100%);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.86),0 0 3px rgba(255,102,128,.42),0 0 7px rgba(255,102,128,.2);
}
.train .train-light:after{
  content:"";
  position:absolute;
  z-index:2;
  width:3px;
  height:1.5px;
  left:3px;
  top:1.8px;
  border-radius:50%;
  background:linear-gradient(105deg,rgba(255,255,255,.96),rgba(255,232,237,.44));
  transform:rotate(-18deg);
  box-shadow:0 0 2px rgba(255,255,255,.72);
}
.train.dragging .train-light{
  transform:translateY(calc(var(--liquid-shift) * -.65)) scale(1.04);
  box-shadow:
    inset 0 1px 1px rgba(255,255,255,.9),
    inset -1px -1px 2px rgba(38,172,153,.12),
    0 0 0 1px rgba(255,102,128,.1),
    0 0 8px rgba(255,102,128,.22);
}

/* local-ai.css */
.diet-ai-button{height:25px;padding:0 8px;border:1px solid rgba(255,255,255,.74);border-radius:11px;background:rgba(220,249,243,.46);color:#258f82;font:600 8px 'Noto Sans SC'}.diet-ai-button.busy,.journal-ai-button.busy,.generate-report.busy{opacity:.6;pointer-events:none}.meal-column>span.ai-nutrition{color:#3f8e84!important;font-size:7px!important}.meal-column>span.ai-nutrition small{display:block;margin-top:2px;color:#f07a75;font-size:6px}
.journal-actions{display:flex;align-items:center;gap:5px}.journal-ai-button{height:31px;padding:0 10px;display:flex;align-items:center;gap:5px;border:1px solid rgba(255,255,255,.86);border-radius:13px;background:linear-gradient(135deg,rgba(224,252,247,.9),rgba(255,238,235,.72));color:#218f81;font:600 8px 'Noto Sans SC';box-shadow:inset 1px 1px rgba(255,255,255,.95),0 5px 13px rgba(60,145,132,.09);transition:transform .18s ease,box-shadow .18s ease}.journal-ai-button i{width:17px;height:17px;display:grid;place-items:center;border-radius:7px;background:linear-gradient(145deg,#55d4c0,#ff8090);color:#fff;font-size:8px;font-style:normal;box-shadow:0 3px 8px rgba(60,183,163,.18)}.journal-ai-button:active{transform:scale(.95)}.journal-ai-summary{margin:0 0 9px;padding:9px 10px;border-left:2px solid #55cdbb;border-radius:4px 12px 12px 4px;background:rgba(226,249,244,.38);color:#52736f;font-size:9px;line-height:1.6}.journal-ai-summary b{color:#278f82}.journal-ai-summary span{margin-left:5px;color:#ef7280}
.journal-ai-button{width:31px!important;min-width:31px!important;padding:0!important;justify-content:center!important;border-radius:50%!important;background:linear-gradient(145deg,rgba(219,251,245,.92),rgba(255,236,234,.82))!important;color:#168f80!important}.journal-ai-button>span{display:none!important}.journal-ai-button i{width:21px!important;height:21px!important;border-radius:50%!important;font-size:9px!important}.journal-ai-button.busy i{animation:journal-ai-spin 1.2s linear infinite}@keyframes journal-ai-spin{to{transform:rotate(360deg)}}
.journal-ai-button,.journal-ai-button:hover,.journal-ai-button:active{border-color:rgba(255,255,255,.96)!important;background:rgba(250,255,254,.94)!important;box-shadow:inset 0 1px 0 #fff,0 5px 12px rgba(40,172,153,.12)!important;filter:none!important}.journal-ai-button i{background:linear-gradient(145deg,#42d1bc 8%,#38c4b1 48%,#ff7789 100%)!important;color:#fff!important;box-shadow:none!important;text-shadow:none!important;-webkit-text-fill-color:#fff!important;filter:none!important;opacity:1!important}
.journal-ai-summary{padding:11px 12px!important;font-size:11px!important;line-height:1.7!important}.journal-ai-summary b{font-size:11px!important}.journal-ai-summary span{font-size:10.5px!important}.journal-ai-button{width:33px!important;min-width:33px!important;height:33px!important}.journal-ai-button i{width:23px!important;height:23px!important;font-size:10px!important}
.ai-report-card{margin-top:15px;padding:16px;border-radius:23px}.ai-report-card>header{display:flex;align-items:center;justify-content:space-between}.ai-report-card header p{margin:0;color:#839895;font-size:9px}.ai-report-card h3{margin:3px 0 0;color:#315652;font-size:16px}.local-ai-state{display:flex;align-items:center;gap:5px;color:#8da09e;font-size:7px}.local-ai-state i{width:6px;height:6px;border-radius:50%;background:#b7c4c2}.local-ai-state.online{color:#288f82}.local-ai-state.online i{background:#4bcdb9;box-shadow:0 0 8px rgba(75,205,185,.55)}.local-ai-state.offline{color:#df7580}.local-ai-state.offline i{background:#ff7d8c}.report-periods{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:13px;padding:3px;border-radius:13px;background:rgba(224,247,242,.43)}.report-periods button{height:29px;border:0;border-radius:10px;background:transparent;color:#79928f;font:9px 'Noto Sans SC'}.report-periods button.selected{background:rgba(255,255,255,.76);color:#229b8c;box-shadow:0 4px 10px rgba(50,145,132,.08)}.ai-report-content{min-height:100px;margin-top:10px;padding:12px;border:1px solid rgba(255,255,255,.68);border-radius:16px;background:rgba(255,255,255,.34);color:#57736f;font-size:9px;line-height:1.65}.ai-report-content h4{margin:0 0 6px;color:#31655f;font-size:13px}.ai-report-content p{margin:0}.ai-report-content ul{margin:7px 0 0;padding-left:16px}.ai-report-content .suggestion{margin-top:8px;color:#e56f78}.generate-report{width:100%;height:36px;margin-top:9px;border:0;border-radius:13px;background:linear-gradient(135deg,#55d4c0,#2db5a3);color:#fff;font:600 10px 'Noto Sans SC';box-shadow:0 7px 16px rgba(41,180,160,.18)}

/* timeline-preview-data.css */
.memory-preview{touch-action:manipulation;user-select:none;-webkit-user-select:none}.memory-preview:active{transform:translateY(-50%) scale(.982)!important}.memory-preview>div:first-child{min-width:0}.memory-preview .preview-ai-summary{display:-webkit-box;margin-top:6px;color:#47756f;font:9px/1.5 'Noto Sans SC';letter-spacing:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.memory-preview .preview-ai-summary[hidden]{display:none}.memory-preview .trace-list span{max-width:100%;line-height:1.35;text-align:left;white-space:normal}.memory-preview>*{pointer-events:none}

/* english-wheel.css */
.english-module{min-height:168px!important;grid-template-rows:auto 1fr 43px!important;gap:6px!important}.english-vocabulary-row{min-height:68px}.english-vocabulary-row label{padding:5px 4px 3px!important}.learning-wheel{position:relative;height:49px;display:grid;grid-template-rows:13px 21px 13px;place-items:center;overflow:hidden;outline:0;touch-action:none;cursor:ns-resize;mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent)}.learning-wheel:before{content:"";position:absolute;left:18%;right:18%;top:14px;height:20px;border-top:1px solid rgba(61,190,173,.12);border-bottom:1px solid rgba(61,190,173,.12);border-radius:7px;background:rgba(221,249,244,.28);pointer-events:none}.learning-wheel button{position:relative;z-index:1;width:100%;height:13px;padding:0;border:0;background:transparent!important;color:#9aadaa!important;font:500 8px/13px 'DM Mono';text-align:center}.learning-wheel strong{position:relative;z-index:2;color:#219b8c;font:600 17px/21px 'DM Mono';transition:transform .12s ease}.learning-wheel em{position:absolute;z-index:3;left:calc(50% + 15px);top:22px;color:#6f8f8b!important;font-size:7px!important}.learning-wheel.changing strong{transform:scale(1.08)}.english-speaking-row{height:43px!important}.english-speaking-row .learning-wheel{width:76px;height:41px;grid-template-rows:10px 19px 10px;mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent)}.english-speaking-row .learning-wheel:before{top:10px;height:20px;left:9%;right:9%}.english-speaking-row .learning-wheel button{height:10px;font-size:7px;line-height:10px}.english-speaking-row .learning-wheel strong{font-size:15px;line-height:19px}.english-speaking-row .learning-wheel em{left:auto;right:2px;top:18px}

/* english-wheel-fix.css */
.english-module .learning-wheel{display:grid!important;justify-content:normal!important;align-items:center!important;gap:0!important}

/* today-spacing-fix.css */
#today .today-topbar{min-height:77px}#today .day-counters{margin-top:5px}

/* timeline-markers.css */
.marker-add{position:absolute;z-index:16;left:21px;bottom:96px;height:34px;padding:0 12px;border-radius:17px;display:flex;align-items:center;gap:5px;border:1px solid rgba(255,255,255,.78);background:rgba(247,255,253,.58);color:#258f82;box-shadow:inset 1px 1px #fff,0 7px 18px rgba(42,140,125,.11);backdrop-filter:blur(16px) saturate(155%)}.marker-add span{font-size:16px;line-height:1}.marker-add b{font-size:9px}.marker-add.active{background:rgba(200,245,237,.82)}.marker-palette{position:absolute;z-index:40;left:20px;bottom:137px;width:184px;padding:7px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;border-radius:20px;background:rgba(248,255,253,.76);border:1px solid rgba(255,255,255,.92);box-shadow:0 18px 40px rgba(41,127,114,.18),inset 1px 1px #fff;backdrop-filter:blur(24px) saturate(170%);opacity:0;visibility:hidden;transform:translateY(8px) scale(.95);transform-origin:left bottom;transition:.24s cubic-bezier(.2,.8,.2,1)}.marker-palette.open{opacity:1;visibility:visible;transform:none}.marker-palette button{height:49px;border:0;border-radius:14px;background:rgba(235,251,247,.48);color:#507a75;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:8px 'Noto Sans SC'}.marker-palette button i{font-size:15px;font-style:normal;color:#28a493}.marker-palette button:nth-child(2) i{color:#ff7488}.marker-palette button:nth-child(3) i{color:#4b91d8}.marker-palette button:nth-child(4) i{color:#8d68d3}.marker-palette button:nth-child(5) i{color:#ef965e}.marker-placement-hint{position:absolute;z-index:38;left:50%;bottom:101px;transform:translate(-50%,8px);height:34px;padding:0 6px 0 12px;border-radius:17px;display:flex;align-items:center;gap:8px;background:rgba(247,255,253,.82);color:#3d746d;font-size:8px;opacity:0;visibility:hidden;transition:.22s ease}.marker-placement-hint button{height:24px;padding:0 8px;border:0;border-radius:12px;background:rgba(255,116,136,.12);color:#e96578;font-size:8px}.marker-placing .marker-placement-hint{opacity:1;visibility:visible;transform:translate(-50%,0)}.marker-placing .station{cursor:crosshair}.timeline-marker-layer{position:absolute;z-index:7;inset:0;pointer-events:none}.timeline-marker-node{position:absolute;width:15px;height:15px;padding:0;border:2px solid rgba(255,255,255,.9);border-radius:50%;display:grid;place-items:center;transform:translate(-50%,-50%);pointer-events:auto;color:#fff;background:#39b9a7;box-shadow:0 0 0 3px rgba(61,201,180,.12),0 3px 9px rgba(40,139,124,.2);font-size:7px;transition:transform .18s ease}.timeline-marker-node:active{transform:translate(-50%,-50%) scale(.86)}.timeline-marker-node.image{border-radius:5px;background:#ff7589}.timeline-marker-node.voice{background:#4e98dc}.timeline-marker-node.collection{transform:translate(-50%,-50%) rotate(45deg);border-radius:4px;background:#906bd4}.timeline-marker-node.collection:active{transform:translate(-50%,-50%) rotate(45deg) scale(.86)}.timeline-marker-node.milestone{width:18px;height:18px;background:#ef985d;clip-path:polygon(50% 0,61% 36%,100% 50%,61% 64%,50% 100%,39% 64%,0 50%,39% 36%);border:0;border-radius:0}.timeline-marker-node.cluster{width:19px;height:19px;background:#fff;color:#268f81;border-color:#65d2c1;font:700 8px 'DM Mono'}.marker-editor-backdrop,.marker-viewer-backdrop{position:absolute;z-index:260;inset:0;padding:36px 18px 92px;display:flex;align-items:center;justify-content:center;background:rgba(220,243,239,.16);backdrop-filter:blur(0);opacity:0;visibility:hidden;transition:opacity .25s ease,backdrop-filter .28s ease,visibility 0s linear .28s}.marker-editor-backdrop.open,.marker-viewer-backdrop.open{opacity:1;visibility:visible;backdrop-filter:blur(10px);transition-delay:0s}.marker-editor,.marker-viewer{width:100%;max-height:100%;overflow-y:auto;padding:18px;border-radius:27px;background:linear-gradient(145deg,rgba(252,255,254,.94),rgba(229,252,247,.82) 55%,rgba(255,237,234,.75));border:1px solid rgba(255,255,255,.95);box-shadow:inset 1px 1px #fff,0 25px 60px rgba(39,120,108,.2);transform:translateY(14px) scale(.97);transition:transform .3s cubic-bezier(.2,.85,.2,1)}.open>.marker-editor,.open>.marker-viewer{transform:none}.marker-editor header,.marker-viewer header{display:flex;align-items:center;justify-content:space-between}.marker-editor header p,.marker-viewer header p{margin:0;color:#91a6a2;font:7px 'DM Mono';letter-spacing:.16em}.marker-editor h2,.marker-viewer h2{margin:3px 0 0;color:#2e5551;font-size:20px}.marker-editor header button,.marker-viewer header button{width:32px;height:32px;border:0;border-radius:50%;background:rgba(255,255,255,.56);color:#64847f;font-size:20px}.marker-anchor{margin:12px 0;padding:8px 10px;border-radius:12px;background:rgba(213,247,240,.5);color:#278f82;font:9px 'DM Mono'}.marker-editor>label,.marker-meta-grid label{display:grid;gap:5px;margin-top:10px;color:#63817d;font-size:9px}.marker-editor input,.marker-editor textarea,.marker-editor select{width:100%;border:1px solid rgba(94,175,163,.15);border-radius:13px;outline:0;background:rgba(255,255,255,.55);color:#335b56;font:11px 'Noto Sans SC';padding:10px 11px}.marker-editor textarea{height:74px;resize:none;line-height:1.6}.marker-url-field,.marker-media-field{display:none!important}.marker-editor[data-type="collection"] .marker-url-field{display:grid!important}.marker-editor[data-type="image"] .marker-media-field,.marker-editor[data-type="voice"] .marker-media-field{display:flex!important}.marker-media-field{margin-top:11px;align-items:center;gap:6px;flex-wrap:wrap}.marker-media-field input{display:none}.marker-media-field button{height:30px;padding:0 10px;border:1px solid rgba(255,255,255,.85);border-radius:12px;background:rgba(219,248,242,.72);color:#278e81;font-size:9px}.marker-media-field small{width:100%;color:#8ba09d;font-size:8px}.marker-editor[data-type="image"] #recordMarkerVoice{display:none}.marker-editor[data-type="voice"] #chooseMarkerMedia:after{content:"音频"}.marker-optional-heading{margin-top:13px;display:flex;align-items:center;gap:8px;color:#839b97;font-size:8px}.marker-optional-heading i{height:1px;flex:1;background:rgba(75,158,145,.1)}.marker-meta-grid{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:6px}.marker-meta-grid label{min-width:0}.marker-meta-grid input,.marker-meta-grid select{padding:8px;font-size:9px}.marker-save{width:100%;height:38px;margin-top:14px;border:0;border-radius:14px;background:linear-gradient(135deg,#54d1bf,#2bb6a4);color:#fff;font:600 11px 'Noto Sans SC';box-shadow:0 7px 17px rgba(41,179,159,.18)}.marker-viewer{padding:18px}.marker-viewer-content{margin-top:13px}.marker-viewer-content p{margin:8px 0;color:#55736f;font-size:11px;line-height:1.7;white-space:pre-wrap}.marker-viewer-meta{display:flex;gap:5px;flex-wrap:wrap}.marker-viewer-meta span{padding:5px 7px;border-radius:10px;background:rgba(215,247,241,.58);color:#34887d;font-size:8px}.marker-viewer img{display:block;width:100%;max-height:290px;margin-top:11px;object-fit:contain;border-radius:17px;background:rgba(255,255,255,.42);cursor:zoom-in}.marker-viewer img.expanded{max-height:none}.marker-viewer audio{width:100%;margin-top:12px}.marker-viewer-link{display:block;margin-top:12px;padding:10px;border-radius:13px;background:rgba(224,246,242,.62);color:#218f81;font-size:10px;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.marker-viewer-actions{display:flex;gap:7px;margin-top:14px}.marker-viewer-actions button,.marker-viewer-actions a{height:33px;padding:0 12px;border:0;border-radius:12px;display:grid;place-items:center;background:rgba(216,247,241,.72);color:#278e81;font-size:9px;text-decoration:none}.marker-viewer-actions .delete{margin-left:auto;background:rgba(255,112,132,.1);color:#e66376}.marker-cluster-list{display:grid;gap:7px;margin-top:12px}.marker-cluster-list button{padding:10px;border:1px solid rgba(255,255,255,.82);border-radius:13px;background:rgba(255,255,255,.46);text-align:left;color:#416d67;font-size:10px}.marker-cluster-list button span{margin-right:7px}

/* timeline-markers-fix.css */
.timeline-marker-layer{z-index:9!important}
.timeline-marker-bubble-layer{position:absolute;z-index:11;inset:0;pointer-events:none}
.timeline-marker-bubble-layer>.marker-image-bubble,.timeline-marker-bubble-layer>.voice-record-capsule{pointer-events:auto}

/* Companion markers belong to their lanes: when 随行 is off, only main-axis memories remain. */
.timeline-marker-node[data-track]:not([data-track="main"]){transition:opacity .2s ease,transform .24s cubic-bezier(.2,.82,.2,1),visibility 0s!important}
#timeline:not(.companion-mode) .timeline-marker-node[data-track]:not([data-track="main"]){opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translate(-50%,-50%) scale(.72)!important;transition:opacity .18s ease,transform .22s ease,visibility 0s linear .2s!important}
#timeline:not(.companion-mode) .timeline-marker-bubble-layer>[data-track]:not([data-track="main"]){opacity:0!important;visibility:hidden!important;pointer-events:none!important}
#timeline .train{z-index:10}
#timeline .train:not(.dragging){filter:drop-shadow(0 2px 4px rgba(35,125,111,.2)) drop-shadow(0 0 3px rgba(255,255,255,.58))}
.train-marker-beam{position:absolute;z-index:3;left:50%;top:50%;width:5px;height:104px;transform:translate(-50%,-50%);border-radius:50%;background:linear-gradient(to bottom,transparent,rgba(91,222,203,.12) 28%,rgba(255,255,255,.32) 50%,rgba(91,222,203,.12) 72%,transparent);filter:blur(1px);mix-blend-mode:screen;opacity:0;pointer-events:none;transition:opacity .12s ease,top .12s ease}
.train-marker-beam:before{content:"";position:absolute;left:50%;top:50%;width:24px;height:112px;transform:translate(-50%,-50%);clip-path:polygon(46% 0,54% 0,72% 100%,28% 100%);background:linear-gradient(to bottom,transparent,rgba(255,255,255,.1) 50%,transparent);filter:blur(2px)}
.train-marker-beam:after{display:none}
.train-transmitted-marker{position:absolute;z-index:5;left:50%;top:50%;width:31px;height:31px;transform:translate(-50%,-50%);display:grid;place-items:center;color:#fff;opacity:0;pointer-events:none;filter:drop-shadow(0 0 2px rgba(255,255,255,.9)) drop-shadow(0 0 5px rgba(73,211,191,.55));transition:opacity .12s ease,top .12s ease}
.train-transmitted-marker .marker-station-svg{width:100%;height:100%;fill:rgba(255,255,255,.1);stroke:rgba(255,255,255,.96)}
.train-transmitted-marker.milestone:before,.train-transmitted-marker.milestone:after{content:"";position:absolute;border:3px solid #fff;border-radius:50%}.train-transmitted-marker.milestone:before{inset:1px}.train-transmitted-marker.milestone:after{inset:8px}
#timeline .train.marker-overlap .train-marker-beam{opacity:.16}
#timeline .train.marker-overlap .train-transmitted-marker{opacity:1}
#timeline .train.marker-overlap{filter:drop-shadow(0 2px 4px rgba(35,125,111,.22)) drop-shadow(0 0 4px rgba(255,255,255,.66))}
.train-transmitted-marker{--transmit-color:#24b7a1;color:var(--transmit-color);filter:drop-shadow(0 0 1px rgba(255,255,255,.95)) drop-shadow(0 0 3px rgba(36,183,161,.9)) drop-shadow(0 0 7px rgba(36,183,161,.48))}
.train-transmitted-marker .marker-station-svg{fill:rgba(255,255,255,.68);stroke:var(--transmit-color);stroke-width:3.4}
.train-transmitted-marker .marker-station-svg .marker-image-detail{stroke:var(--transmit-color)}
.train-transmitted-marker.milestone:before,.train-transmitted-marker.milestone:after{border-color:var(--transmit-color);background:rgba(255,255,255,.58);box-shadow:0 0 4px rgba(36,183,161,.62)}
.marker-track-guides{position:absolute;z-index:8;inset:0;pointer-events:none;opacity:0;transition:opacity .2s ease}
.marker-placing .marker-track-guides{opacity:1}
.marker-track-guide{position:absolute;top:0;bottom:0;width:12px;transform:translateX(-50%);border-radius:9px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);opacity:.45;transition:width .18s ease,opacity .18s ease,filter .18s ease,box-shadow .18s ease}
.marker-track-guide.pet{left:calc(50% - 128px);color:#dc844d;background:linear-gradient(90deg,transparent,rgba(242,163,105,.18),transparent)}
.marker-track-guide.lover{left:calc(50% - 72px);color:#df668f;background:linear-gradient(90deg,transparent,rgba(243,120,164,.18),transparent)}
.marker-track-guide.main{left:50%;color:#28a895;background:linear-gradient(90deg,transparent,rgba(65,207,185,.2),transparent)}
.marker-track-guide.fitness{left:calc(50% + 72px);color:#498fd2;background:linear-gradient(90deg,transparent,rgba(91,158,224,.18),transparent)}
.marker-track-guide.music{left:calc(50% + 128px);color:#8b62d3;background:linear-gradient(90deg,transparent,rgba(152,108,220,.18),transparent)}
.marker-track-guide.active{width:22px;opacity:.9;filter:saturate(1.18);box-shadow:inset 0 0 0 1px currentColor,0 0 12px currentColor}
.marker-track-guide b{position:sticky;display:block;top:18px;width:max-content;margin:0 auto;padding:4px 7px;border-radius:10px;transform:translateX(calc(-50% + 10px));background:rgba(250,255,254,.72);border:1px solid rgba(255,255,255,.86);box-shadow:0 5px 12px rgba(44,126,114,.1);font:600 8px 'Noto Sans SC';white-space:nowrap;opacity:.8}
.marker-track-guides.main-only .marker-track-guide:not(.main){display:none}
.marker-placement-cursor{position:absolute;width:19px;height:19px;border:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%) scale(.65);background:rgba(77,211,190,.2);box-shadow:0 0 0 3px rgba(77,211,190,.12),0 0 12px rgba(40,183,161,.48);opacity:0;transition:transform .16s ease,opacity .16s ease}
.marker-placement-cursor.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}
.marker-placing .station.marker-target-station{z-index:10;color:#168f7e;filter:drop-shadow(0 0 7px rgba(47,201,178,.48))}
.marker-placing .station.marker-target-station em{opacity:0}
.marker-image-bubble{position:absolute;z-index:12;width:176px;padding:7px;border:1px solid rgba(255,255,255,.9);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(231,252,247,.64));box-shadow:inset 1px 1px rgba(255,255,255,.95),0 12px 28px rgba(41,126,113,.16);backdrop-filter:blur(18px) saturate(160%);pointer-events:auto;opacity:0;transition:opacity .18s ease,transform .24s cubic-bezier(.2,.82,.2,1)}
.marker-image-bubble.opens-right{transform:translate(16px,calc(-50% + var(--bubble-shift-y,0px))) scale(.92);transform-origin:left center}
.marker-image-bubble.opens-left{transform:translate(calc(-100% - 16px),calc(-50% + var(--bubble-shift-y,0px))) scale(.92);transform-origin:right center}
.marker-image-bubble.open.opens-right{opacity:1;transform:translate(13px,calc(-50% + var(--bubble-shift-y,0px))) scale(1)}
.marker-image-bubble.open.opens-left{opacity:1;transform:translate(calc(-100% - 13px),calc(-50% + var(--bubble-shift-y,0px))) scale(1)}
.marker-image-bubble:before{content:"";position:absolute;top:var(--bubble-tail-y,50%);width:10px;height:10px;background:rgba(242,254,251,.82);border:solid rgba(255,255,255,.92);transform:translateY(-50%) rotate(45deg)}
.marker-image-bubble.opens-right:before{left:-6px;border-width:0 0 1px 1px}
.marker-image-bubble.opens-left:before{right:-6px;border-width:1px 1px 0 0}
.marker-image-preview{display:block;width:100%;aspect-ratio:1;padding:0;border:0;border-radius:13px;overflow:hidden;background:rgba(224,244,240,.5)}
.marker-image-preview img{display:block;width:100%;height:100%;object-fit:cover}
.marker-image-bubble footer{padding:9px 7px 5px;display:grid;gap:5px;color:#3c6862}
.marker-image-bubble footer strong{font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.marker-image-bubble footer p{margin:0;color:#6f8985;font-size:9px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.marker-image-bubble footer div{display:flex;gap:4px;flex-wrap:wrap;padding-top:1px}
.marker-image-bubble footer span{padding:3px 6px;border-radius:8px;background:rgba(209,245,238,.62);color:#398d81;font-size:7px;line-height:1.3}

/* Metro-map marker language: the silhouette itself identifies the record. */
.timeline-marker-node:not(.cluster){width:19px;height:19px;border:3px solid currentColor;background:rgba(252,255,254,.96);box-shadow:0 0 0 2px rgba(255,255,255,.84),0 4px 10px rgba(44,111,101,.2);font-size:0;color:#2db7a4}
.timeline-marker-node:not(.cluster):active{transform:translate(-50%,-50%) scale(.88)}
.timeline-marker-node.event{border-radius:50%;color:#2db7a4}
.timeline-marker-node.image{width:20px;height:20px;border-radius:3px;color:#ff6f86;background:rgba(255,250,250,.98)}
.timeline-marker-node.voice{width:22px;height:20px;border:0;border-radius:0;color:#4b94dc;background:#4b94dc;clip-path:polygon(50% 0,100% 92%,0 92%);box-shadow:none;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 4px 5px rgba(50,113,177,.28))}
.timeline-marker-node.voice:before{content:"";position:absolute;inset:3px 3px 4px;background:#fafdff;clip-path:inherit}
.timeline-marker-node.collection{width:19px;height:19px;border-radius:3px;color:#8e67d1;background:rgba(253,251,255,.98);transform:translate(-50%,-50%) rotate(45deg)}
.timeline-marker-node.collection:active{transform:translate(-50%,-50%) rotate(45deg) scale(.88)}
.timeline-marker-node.milestone{width:32px;height:32px;border:3px solid #ef925b;border-radius:50%;clip-path:none;color:#ef925b;background:rgba(255,253,249,.98);box-shadow:0 0 0 3px rgba(255,255,255,.92),0 0 0 6px rgba(239,146,91,.18),0 5px 15px rgba(193,102,48,.3)}
.timeline-marker-node.milestone:before{content:"";position:absolute;inset:5px;border:3px solid #ef925b;border-radius:50%;background:rgba(255,255,255,.85)}
.timeline-marker-node.milestone:after{content:"";position:absolute;left:50%;top:-8px;width:4px;height:40px;transform:translateX(-50%);border-radius:3px;background:linear-gradient(#ef925b 0 7px,transparent 7px 33px,#ef925b 33px);z-index:-1}
.timeline-marker-node.cluster{width:25px;height:25px;border-width:3px;box-shadow:0 0 0 3px rgba(255,255,255,.9),0 0 0 5px rgba(73,200,181,.16),0 5px 12px rgba(40,139,124,.22);font-size:9px}
#markerVoicePreview{width:100%;height:34px;margin-top:3px;accent-color:#39bda9}
#markerVoicePreview[hidden]{display:none}
.voice-record-capsule{position:absolute;z-index:15;width:218px;padding:11px;border:1px solid rgba(255,255,255,.92);border-radius:25px;background:linear-gradient(145deg,rgba(252,255,255,.86),rgba(228,247,255,.7));box-shadow:inset 1px 1px rgba(255,255,255,.96),0 15px 34px rgba(45,112,162,.2);backdrop-filter:blur(22px) saturate(165%);pointer-events:auto;opacity:0;transition:opacity .18s ease,transform .26s cubic-bezier(.2,.84,.2,1)}
.voice-record-capsule.opens-right{transform:translate(15px,-50%) scale(.92);transform-origin:left center}
.voice-record-capsule.opens-left{transform:translate(calc(-100% - 15px),-50%) scale(.92);transform-origin:right center}
.voice-record-capsule.open.opens-right{opacity:1;transform:translate(12px,-50%) scale(1)}
.voice-record-capsule.open.opens-left{opacity:1;transform:translate(calc(-100% - 12px),-50%) scale(1)}
.voice-record-capsule header{height:26px;display:flex;align-items:center;gap:7px;color:#315e72}
.voice-record-dot{width:8px;height:8px;border-radius:50%;background:#8ba6af;transition:.2s ease}
.voice-record-capsule.recording .voice-record-dot{background:#ff647b;box-shadow:0 0 0 4px rgba(255,100,123,.13);animation:voice-dot-pulse 1s ease infinite}
.voice-record-capsule header b{font:600 17px 'DM Mono';letter-spacing:-.04em}
.voice-record-capsule header small{margin-left:auto;color:#87a0a9;font:7px 'DM Mono'}
.voice-waveform{height:42px;padding:5px 3px;display:flex;align-items:center;justify-content:center;gap:3px;border-radius:15px;background:rgba(218,241,247,.38);overflow:hidden}
.voice-waveform i{width:3px;height:7px;border-radius:3px;background:#65a9c8;opacity:.45;transform-origin:center;transition:height .2s ease}
.voice-record-capsule.recording .voice-waveform i{opacity:.9}
.voice-record-capsule.paused .voice-waveform i{height:3px;opacity:.35}
.voice-record-capsule.ready .voice-waveform i{opacity:.7;background:#3cbda9}
.voice-capsule-status{margin:6px 3px;color:#789298;font-size:8px;text-align:center}
.voice-record-capsule footer{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:6px}
.voice-record-capsule footer button{height:30px;border:0;border-radius:12px;background:rgba(255,255,255,.58);color:#66858f;font:9px 'Noto Sans SC'}
.voice-record-capsule footer button:disabled{opacity:.38}
.voice-record-capsule footer .voice-primary{background:linear-gradient(135deg,#69b9dd,#4a92d0);color:#fff;box-shadow:0 5px 12px rgba(66,139,194,.2)}
.voice-record-capsule.ready footer [data-voice-action="finish"]{background:linear-gradient(135deg,#56d2bd,#2ab49f);color:#fff}
@keyframes voice-wave{0%{height:6px}45%{height:28px}100%{height:12px}}
@keyframes voice-dot-pulse{50%{transform:scale(.72);opacity:.65}}
.custom-voice-player{margin-top:13px;padding:11px;border:1px solid rgba(255,255,255,.9);border-radius:21px;display:grid;grid-template-columns:34px 1fr 28px;align-items:center;gap:9px;background:linear-gradient(145deg,rgba(239,252,255,.78),rgba(224,244,249,.46));box-shadow:inset 1px 1px rgba(255,255,255,.96),0 9px 22px rgba(51,117,151,.1)}
.custom-voice-player audio{display:none}
.custom-voice-player button{padding:0;border:0;color:#39788f;background:rgba(255,255,255,.7)}
.voice-play{width:34px;height:34px;border-radius:50%;font:700 12px 'DM Mono'!important;box-shadow:0 4px 11px rgba(58,128,161,.16)}
.custom-voice-player.playing .voice-play{background:linear-gradient(135deg,#68bddd,#478fc9);color:#fff}
.voice-volume{width:28px;height:28px;border-radius:11px;font-size:16px!important}
.voice-playback-main{min-width:0;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:7px}
.voice-playback-wave{grid-column:1/-1;height:32px;display:flex;align-items:center;gap:2px;overflow:hidden}
.voice-playback-wave i{width:2px;height:5px;flex:1;border-radius:2px;background:#a7c9d3;transition:background .12s ease,transform .12s ease}
.voice-playback-wave i.played{background:#3caeae}
.voice-seek{grid-column:1;width:100%;height:14px;margin:0;opacity:0;cursor:pointer}
.voice-playback-main:after{content:"";grid-column:1;grid-row:2;height:3px;border-radius:3px;background:linear-gradient(90deg,#3cb8a7 var(--voice-progress,0%),rgba(117,158,167,.18) 0);pointer-events:none}
.voice-seek+.voice-playback-time{grid-column:2;grid-row:2;color:#78939a;font:7px 'DM Mono';white-space:nowrap}

/* Marker type controls geometry; its track alone controls color. */
.timeline-marker-node[data-track="pet"]{color:#e69a62}
.timeline-marker-node[data-track="lover"]{color:#e9799e}
.timeline-marker-node[data-track="main"]{color:#2db7a4}
.timeline-marker-node[data-track="fitness"]{color:#579add}
.timeline-marker-node[data-track="music"]{color:#936dd4}
.timeline-marker-node.event,.timeline-marker-node.image,.timeline-marker-node.collection{border-color:currentColor;background:rgba(253,255,254,.97)}
.timeline-marker-node.voice{background:currentColor}
.timeline-marker-node.milestone{border-color:currentColor;background:rgba(253,255,254,.98);box-shadow:0 0 0 3px rgba(255,255,255,.92),0 0 0 6px rgba(93,157,148,.12),0 5px 14px rgba(60,103,98,.22)}
.timeline-marker-node.milestone:before{border-color:currentColor}
.timeline-marker-node.milestone:after{background:linear-gradient(currentColor 0 7px,transparent 7px 33px,currentColor 33px)}
.timeline-marker-node.cluster{border-color:currentColor}
.timeline-marker-node.collection{width:23px;height:23px;border:0;border-radius:0;background:currentColor;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%);transform:translate(-50%,-50%);filter:drop-shadow(0 0 1px rgba(255,255,255,.95)) drop-shadow(0 4px 5px rgba(66,99,94,.22))}
.timeline-marker-node.collection:before{content:"";position:absolute;inset:3px;background:rgba(253,255,254,.96);clip-path:inherit}
.timeline-marker-node.collection:active{transform:translate(-50%,-50%) scale(.86)}

/* Optical sizing: curved and pointed shapes need larger boxes than a square. */
.timeline-marker-node.event,.timeline-marker-node.image,.timeline-marker-node.voice,.timeline-marker-node.collection{box-shadow:0 4px 9px rgba(57,92,88,.18)}
.timeline-marker-node.image{width:24px;height:24px}
.timeline-marker-node.event{width:27px;height:27px}
.timeline-marker-node.event,.timeline-marker-node.image{border-width:3px}
.timeline-marker-node.image{border-radius:4px}
.timeline-marker-node.voice{width:29px;height:28px;filter:drop-shadow(0 4px 4px rgba(57,92,88,.17));box-shadow:none;clip-path:polygon(50% 0,100% 92%,0 92%)}
.timeline-marker-node.voice:before{inset:auto;left:12%;top:12%;width:76%;height:76%;background:#fafdff;clip-path:polygon(50% 0,100% 92%,0 92%)}
.timeline-marker-node.collection{width:31px;height:31px;filter:drop-shadow(0 4px 4px rgba(57,92,88,.17));box-shadow:none}
.timeline-marker-node.collection:before{inset:auto;left:12%;top:12%;width:76%;height:76%;background:rgba(253,255,254,.98);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%)}
.timeline-marker-node.milestone{width:34px;height:34px;border-width:3px}
.timeline-marker-node.milestone:before{border-width:3px}
.timeline-marker-node.cluster{border-width:3px}

/* Softer station corners; SVG stroke masks keep pointed shapes truly hollow. */
.timeline-marker-node.image{border-radius:7px}
.timeline-marker-node.voice{clip-path:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 L22 21 H2 Z' fill='none' stroke='white' stroke-width='3.2' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 L22 21 H2 Z' fill='none' stroke='white' stroke-width='3.2' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.timeline-marker-node.voice:before{display:none}
.timeline-marker-node.collection{clip-path:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.2 L14.8 8.2 L21.4 8.9 L16.5 13.4 L17.9 20 L12 16.7 L6.1 20 L7.5 13.4 L2.6 8.9 L9.2 8.2 Z' fill='none' stroke='white' stroke-width='2.8' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.2 L14.8 8.2 L21.4 8.9 L16.5 13.4 L17.9 20 L12 16.7 L6.1 20 L7.5 13.4 L2.6 8.9 L9.2 8.2 Z' fill='none' stroke='white' stroke-width='2.8' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.timeline-marker-node.collection:before{display:none}
.timeline-marker-node.milestone{width:32px;height:32px;border-width:4px;box-shadow:0 0 0 3px rgba(255,255,255,.92),0 0 0 6px rgba(93,157,148,.12),0 5px 15px rgba(60,103,98,.26)}
.timeline-marker-node.milestone:before{inset:5px;border-width:3px}

/* All regular stations are transparent outlines; the hub keeps its white core. */
.timeline-marker-node.event,.timeline-marker-node.image{background:transparent}
.timeline-marker-node.image{border-radius:10px}
.timeline-marker-node.voice{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.2 Q12.8 2.2 13.3 3.1 L21.7 18.7 Q22.7 20.7 20.5 20.7 H3.5 Q1.3 20.7 2.3 18.7 L10.7 3.1 Q11.2 2.2 12 2.2 Z' fill='none' stroke='white' stroke-width='3.1' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.2 Q12.8 2.2 13.3 3.1 L21.7 18.7 Q22.7 20.7 20.5 20.7 H3.5 Q1.3 20.7 2.3 18.7 L10.7 3.1 Q11.2 2.2 12 2.2 Z' fill='none' stroke='white' stroke-width='3.1' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.timeline-marker-node.collection{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 L14.5 8.3 L20.4 9.1 L16.1 13.2 L17.2 19 L12 16.2 L6.8 19 L7.9 13.2 L3.6 9.1 L9.5 8.3 Z' fill='none' stroke='white' stroke-width='3.2' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 L14.5 8.3 L20.4 9.1 L16.1 13.2 L17.2 19 L12 16.2 L6.8 19 L7.9 13.2 L3.6 9.1 L9.5 8.3 Z' fill='none' stroke='white' stroke-width='3.2' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}

/* Mini Metro language: track-colored shell with a calm white station core. */
.timeline-marker-node.event,.timeline-marker-node.image{background:rgba(255,255,255,.98);box-shadow:0 3px 7px rgba(55,87,83,.15)}
.timeline-marker-node.image{border-radius:8px}
.timeline-marker-node.voice{background:currentColor;filter:drop-shadow(0 3px 3px rgba(55,87,83,.14));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.2 Q12.8 2.2 13.3 3.1 L21.7 18.7 Q22.7 20.7 20.5 20.7 H3.5 Q1.3 20.7 2.3 18.7 L10.7 3.1 Q11.2 2.2 12 2.2 Z' fill='white'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.2 Q12.8 2.2 13.3 3.1 L21.7 18.7 Q22.7 20.7 20.5 20.7 H3.5 Q1.3 20.7 2.3 18.7 L10.7 3.1 Q11.2 2.2 12 2.2 Z' fill='white'/%3E%3C/svg%3E") center/contain no-repeat}
.timeline-marker-node.voice:before{display:block;inset:auto;left:12%;top:12%;width:76%;height:76%;background:rgba(255,255,255,.98);-webkit-mask:inherit;mask:inherit;clip-path:none}
.timeline-marker-node.collection{background:currentColor;filter:drop-shadow(0 3px 3px rgba(55,87,83,.14));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 L14.5 8.3 L20.4 9.1 L16.1 13.2 L17.2 19 L12 16.2 L6.8 19 L7.9 13.2 L3.6 9.1 L9.5 8.3 Z' fill='white'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 L14.5 8.3 L20.4 9.1 L16.1 13.2 L17.2 19 L12 16.2 L6.8 19 L7.9 13.2 L3.6 9.1 L9.5 8.3 Z' fill='white'/%3E%3C/svg%3E") center/contain no-repeat}
.timeline-marker-node.collection:before{display:block;inset:auto;left:12%;top:12%;width:76%;height:76%;background:rgba(255,255,255,.98);-webkit-mask:inherit;mask:inherit;clip-path:none}

/* Final regular-marker renderer: one SVG system, one fill, one stroke. */
.timeline-marker-node.event,.timeline-marker-node.image,.timeline-marker-node.voice,.timeline-marker-node.collection{width:30px;height:30px;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;filter:drop-shadow(0 3px 3px rgba(55,87,83,.14));clip-path:none!important;-webkit-mask:none!important;mask:none!important;overflow:visible}
.timeline-marker-node.voice:before,.timeline-marker-node.collection:before{display:none!important}
.marker-station-svg{display:block;width:100%;height:100%;overflow:visible;fill:rgba(255,255,255,.98);stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.marker-station-svg>*{vector-effect:non-scaling-stroke}
.marker-station-svg .voice-diamond-core{stroke:none}
.marker-station-svg .marker-station-wave{fill:none;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.marker-station-svg .marker-image-detail{fill:none;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.timeline-marker-node.voice{width:34px;height:34px}
.timeline-marker-node.collection{width:32px;height:32px}
.timeline-marker-node.event:active,.timeline-marker-node.image:active,.timeline-marker-node.voice:active,.timeline-marker-node.collection:active{transform:translate(-50%,-50%) scale(.88)}
.marker-record-bubble{width:190px;padding:8px;color:#2da995}
.marker-record-bubble[data-track="pet"]{color:#d98950}.marker-record-bubble[data-track="lover"]{color:#dc688f}.marker-record-bubble[data-track="main"]{color:#2da995}.marker-record-bubble[data-track="fitness"]{color:#4f91d1}.marker-record-bubble[data-track="music"]{color:#8962ca}
.marker-record-open{display:block;width:100%;padding:8px 9px 7px;border:0;border-radius:13px;background:rgba(255,255,255,.42);color:inherit;text-align:left}
.marker-record-open header{display:flex;align-items:center;justify-content:space-between;color:currentColor}
.marker-record-open header span{font:700 7px 'DM Mono';letter-spacing:.13em}
.marker-record-open header b{font:14px 'DM Mono'}
.marker-record-open h3{margin:5px 0 0;color:#315552;font-size:13px;line-height:1.3}
.marker-record-open p{display:-webkit-box;margin:5px 0 0;overflow:hidden;color:#718a86;font-size:9px;line-height:1.5;-webkit-line-clamp:3;-webkit-box-orient:vertical;white-space:pre-wrap}
.marker-record-meta{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}
.marker-record-meta small{padding:3px 6px;border-radius:8px;background:color-mix(in srgb,currentColor 11%,white);color:currentColor;font-size:7px}
.marker-record-open>em{display:block;margin-top:7px;color:#97aaa7;font-size:7px;font-style:normal}
.marker-bubble-wave{height:28px;margin-top:7px;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:10px;background:rgba(224,243,248,.48)}
.marker-bubble-wave i{width:3px;border-radius:3px;background:currentColor}.marker-bubble-wave i:nth-child(1),.marker-bubble-wave i:nth-child(5){height:8px}.marker-bubble-wave i:nth-child(2),.marker-bubble-wave i:nth-child(4){height:15px}.marker-bubble-wave i:nth-child(3){height:22px}
.marker-cluster-heading{padding:6px 7px 8px;display:flex;justify-content:space-between;color:#66817d;font-size:8px}.marker-cluster-heading b{color:currentColor;font-weight:600}
.marker-bubble-list{display:grid;gap:4px}.marker-bubble-list button{height:34px;padding:0 8px;border:0;border-radius:10px;display:grid;grid-template-columns:20px 1fr auto;align-items:center;background:rgba(255,255,255,.46);color:#3c625e;text-align:left}.marker-bubble-list button i{color:currentColor;font-style:normal}.marker-bubble-list button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.marker-bubble-list button em{color:currentColor;font-style:normal}

/* Clean transmission layer above the train; never mix the marker into glass internals. */
.train-marker-beam{display:none!important}
.timeline-marker-bubble-layer>.train-transmitted-marker{position:absolute;z-index:10;width:62px;height:62px;transform:translate(-50%,-50%);opacity:0;pointer-events:none;mix-blend-mode:screen;transition:opacity .14s ease}
.timeline-marker-bubble-layer>.train-transmitted-marker.marker-halo:before{content:"";position:absolute;inset:5px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:radial-gradient(circle at center,rgba(205,255,247,.22) 0,rgba(91,232,210,.11) 35%,rgba(74,218,196,.035) 58%,transparent 72%);filter:blur(1.15px);transform:scale(.9);animation:marker-halo-breathe 1.35s ease-in-out infinite alternate}
.timeline-marker-bubble-layer>.train-transmitted-marker.marker-halo:after{content:"";position:absolute;inset:13px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);border:1px solid rgba(203,255,247,.58);background:rgba(187,255,245,.025);filter:drop-shadow(0 0 2px rgba(71,219,197,.38));box-shadow:inset 0 0 5px rgba(255,255,255,.14)}
.timeline-marker-bubble-layer>.train-transmitted-marker.visible{opacity:.78}
@keyframes marker-halo-breathe{from{opacity:.78;transform:scale(.88)}to{opacity:1;transform:scale(.96)}}

/* ios-device-layout.css */
/* iPhone 15/16/17 layout envelope: Dynamic Island + Home Indicator safe areas. */
:root{
  --ios-safe-top:env(safe-area-inset-top,0px);
  --ios-safe-right:env(safe-area-inset-right,0px);
  --ios-safe-bottom:env(safe-area-inset-bottom,0px);
  --ios-safe-left:env(safe-area-inset-left,0px);
  --ios-inline:clamp(17px,4.65vw,21px);
  --ios-top-gap:clamp(14px,1.85dvh,18px);
  --ios-tab-bottom:max(12px,calc(var(--ios-safe-bottom) + 8px));
  --ios-tab-height:65px;
}

html,body{width:100%;height:100%;min-height:100dvh}
body{padding:0 var(--ios-safe-right) 0 var(--ios-safe-left)}
.app-shell{
  width:min(100vw,440px);
  height:100dvh;
  min-height:100dvh;
  overflow:hidden;
  overflow:clip;
  overscroll-behavior:none;
}

.page{
  padding-left:max(var(--ios-inline),var(--ios-safe-left));
  padding-right:max(var(--ios-inline),var(--ios-safe-right));
  padding-bottom:calc(var(--ios-tab-height) + var(--ios-tab-bottom) + 31px);
  scroll-padding-top:calc(var(--ios-safe-top) + 14px);
  scroll-padding-bottom:calc(var(--ios-tab-height) + var(--ios-safe-bottom) + 38px);
}

/* Every primary header starts below the sensor housing instead of beneath it. */
#timeline{padding-top:calc(var(--ios-safe-top) + var(--ios-top-gap));padding-bottom:0}
#today,#archive{padding-top:calc(var(--ios-safe-top) + var(--ios-top-gap))}
#today .today-topbar,#archive>.topbar{flex-shrink:0}

/* Timeline has absolute controls; shift the complete upper composition as one system. */
#timeline .rail-viewport{top:calc(176px + var(--ios-safe-top) + var(--ios-top-gap) - 22px)}
#timeline .companion-toggle,#timeline .today-locator{top:calc(174px + var(--ios-safe-top) + var(--ios-top-gap) - 22px)}
#timeline .stage-controls{top:calc(216px + var(--ios-safe-top) + var(--ios-top-gap) - 22px)}

/* Bottom glass controls sit above the Home Indicator on all pages. */
.tabbar{
  left:max(15px,var(--ios-safe-left));
  right:max(15px,var(--ios-safe-right));
  bottom:var(--ios-tab-bottom);
}
.todo-pull{bottom:calc(var(--ios-tab-height) + var(--ios-tab-bottom) + 9px)}
#timeline .marker-add,#timeline .companion-labels{bottom:calc(var(--ios-tab-height) + var(--ios-tab-bottom) + 9px)}
#timeline .marker-palette{bottom:calc(var(--ios-tab-height) + var(--ios-tab-bottom) + 50px)}
#timeline .marker-placement-hint{bottom:calc(var(--ios-tab-height) + var(--ios-tab-bottom) + 14px)}

.todo-drawer{
  padding-bottom:calc(32px + var(--ios-safe-bottom));
  max-height:calc(100dvh - var(--ios-safe-top) - 28px);
}
.archive-editor{padding-bottom:calc(30px + var(--ios-safe-bottom))}
.marker-editor-backdrop,.marker-viewer-backdrop{
  padding-top:calc(var(--ios-safe-top) + 16px);
  padding-bottom:calc(var(--ios-safe-bottom) + 82px);
}

/* Compact models keep breathing room without shrinking typography. */
@media (max-height:760px){
  :root{--ios-top-gap:10px;--ios-tab-height:61px}
  #timeline .quote-card{margin-top:8px}
  #today .day-counters{margin-top:2px}
  .tabbar{height:61px}
}

/* Taller Pro Max canvases gain measured spacing instead of empty lower areas. */
@media (min-height:900px) and (min-width:420px){
  :root{--ios-inline:21px;--ios-top-gap:18px}
  #today .day-counters{margin-top:8px}
  #archive .archive-stat{margin-top:23px;margin-bottom:23px}
}

@media (display-mode:standalone){
  .app-shell{height:100dvh}
}

/* todo-system.css */
:root{
  --todo-mint:#31bea9;
  --todo-mint-deep:#178f82;
  --todo-coral:#ff6b7f;
  --todo-ink:#274541;
}

.todo-pull{
  display:flex;
  align-items:center;
  gap:5px;
  min-height:38px;
  padding:7px 11px!important;
  border-color:rgba(255,255,255,.86)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.56),rgba(228,255,249,.30))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.92),0 7px 22px rgba(41,153,137,.12)!important;
  backdrop-filter:blur(22px) saturate(155%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(155%)!important;
}
.todo-pull span{font-size:13px!important;color:#179f90;transition:transform .38s cubic-bezier(.2,.8,.2,1)}
.todo-pull b{font-size:11px;font-weight:600;letter-spacing:.1px}
.todo-pull em{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:rgba(50,196,174,.13);color:#168f82;font:600 9px 'DM Mono',monospace;font-style:normal}
.todo-pull:active{transform:scale(.96)}

.todo-scrim{
  position:absolute;
  z-index:19;
  inset:0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  background:rgba(32,76,70,.09);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  transition:opacity 260ms ease,visibility 0s linear 300ms;
}
.todo-scrim.open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}

.todo-drawer{
  --drawer-drag-y:0px;
  z-index:20!important;
  bottom:0!important;
  min-height:0!important;
  max-height:calc(100dvh - max(env(safe-area-inset-top),12px) - 12px)!important;
  padding:10px 18px calc(22px + env(safe-area-inset-bottom))!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  color:var(--todo-ink)!important;
  border:1px solid rgba(255,255,255,.86)!important;
  border-bottom:0!important;
  border-radius:32px 32px 0 0!important;
  background:
    radial-gradient(circle at 13% 8%,rgba(193,255,244,.36),transparent 34%),
    radial-gradient(circle at 94% 31%,rgba(255,224,220,.30),transparent 31%),
    linear-gradient(145deg,rgba(248,255,253,.91),rgba(248,251,249,.82))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.98),0 -18px 55px rgba(39,111,101,.16)!important;
  backdrop-filter:blur(34px) saturate(165%)!important;
  -webkit-backdrop-filter:blur(34px) saturate(165%)!important;
  transform:translate3d(0,calc(100% + 24px),0)!important;
  visibility:hidden;
  transition:transform 520ms cubic-bezier(.22,.82,.2,1),visibility 0s linear 540ms!important;
  will-change:transform;
}
.todo-drawer.open{
  transform:translate3d(0,var(--drawer-drag-y),0)!important;
  visibility:visible;
  transition:transform 520ms cubic-bezier(.22,.82,.2,1),visibility 0s!important;
  animation:none!important;
}
.drawer-handle{
  display:block;
  width:46px!important;
  height:20px!important;
  margin:-5px auto 3px!important;
  padding:0;
  border:0;
  border-radius:10px;
  background:transparent!important;
  touch-action:none;
  cursor:grab;
}
.drawer-handle:after{content:"";display:block;width:36px;height:4px;margin:8px auto 0;border-radius:4px;background:rgba(77,137,128,.34);box-shadow:inset 0 1px rgba(255,255,255,.76)}
.drawer-handle:active{cursor:grabbing}
.drawer-head{min-height:58px;padding:0 2px 2px;align-items:flex-start!important}
.drawer-head .eyebrow{color:#7c9c98!important;font-size:8px;letter-spacing:1.45px}
.drawer-head h2{margin:2px 0 0!important;color:#234440;font-size:24px!important;line-height:1.12;letter-spacing:-.7px}
.drawer-head>div>span{display:block;margin-top:5px;color:#8aa19e;font-size:10px}
.drawer-head>button{
  flex:0 0 42px;
  width:42px;
  height:42px;
  margin-top:1px;
  padding:0;
  border:1px solid rgba(255,255,255,.88)!important;
  border-radius:50%;
  background:rgba(255,255,255,.46)!important;
  color:#62827d!important;
  font:300 25px/38px system-ui!important;
  box-shadow:inset 0 1px rgba(255,255,255,.92),0 7px 16px rgba(42,125,113,.08);
  transition:transform 220ms cubic-bezier(.2,.8,.2,1),background 180ms ease;
}
.drawer-head>button:active{transform:scale(.9);background:rgba(255,255,255,.72)!important}

.timer-grid{gap:10px!important;margin:14px 0 17px!important}
.timer-card{
  position:relative;
  padding:13px 13px 12px!important;
  border:1px solid rgba(255,255,255,.86)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.58),rgba(226,251,246,.25))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.92),0 8px 24px rgba(43,132,119,.08)!important;
}
.timer-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.44),transparent 35%,rgba(255,255,255,.12));mix-blend-mode:soft-light}
.timer-label{position:relative;z-index:1;font-size:11px!important;color:#557b75!important}
.timer-label label{font-size:9px!important}
.timer-card>b{position:relative;z-index:1;margin:8px 0 10px!important;font-size:24px!important;color:#2e5c56!important;font-variant-numeric:tabular-nums}
.timer-actions{position:relative;z-index:1}
.timer-actions button{height:31px!important;border-radius:11px!important;font-size:10px!important;transition:transform 180ms ease,filter 180ms ease}
.timer-actions button:active{transform:scale(.95);filter:saturate(1.15)}

.todo-workspace{position:relative}
.todo-section-label{display:block!important;padding:0 2px 7px!important;letter-spacing:0!important}
.todo-section-label>div:first-child{display:flex;align-items:baseline;justify-content:space-between}
.todo-section-label span{color:#315c56;font:700 15px 'Noto Sans SC',sans-serif}
.todo-section-label em{color:#7d9995!important;font:500 10px 'Noto Sans SC',sans-serif!important;font-style:normal!important}
.todo-progress{height:4px;margin-top:8px;overflow:hidden;border-radius:4px;background:rgba(80,151,140,.10)}
.todo-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#56d3bf,#27b5a2);box-shadow:0 0 9px rgba(42,190,168,.28);transition:width 560ms cubic-bezier(.2,.8,.2,1)}

.todo-list{display:grid;gap:8px;padding:0!important;margin:0!important;list-style:none}
.todo-list li{
  --swipe-x:0px;
  position:relative;
  isolation:isolate;
  height:58px!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:8px!important;
  padding:0 10px!important;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.84)!important;
  border-radius:17px;
  background:linear-gradient(135deg,rgba(255,255,255,.57),rgba(255,255,255,.26));
  box-shadow:inset 0 1px rgba(255,255,255,.92),0 5px 16px rgba(40,124,111,.055);
  transform:translate3d(var(--swipe-x),0,0);
  touch-action:pan-y;
  transition:transform 330ms cubic-bezier(.2,.82,.2,1),opacity 260ms ease,max-height 320ms ease,margin 320ms ease,border-color 180ms ease,box-shadow 180ms ease;
}
.todo-list li:before,.todo-list li:after{position:absolute;z-index:-1;top:0;bottom:0;width:78px;display:flex;align-items:center;font-size:10px;font-weight:600;letter-spacing:.3px;color:white}
.todo-list li:before{content:"完成";right:100%;justify-content:flex-end;padding-right:18px;background:linear-gradient(90deg,#72ddcc,#2db9a5)}
.todo-list li:after{content:"删除";left:100%;padding-left:18px;background:linear-gradient(90deg,#ff9b99,#ff687e)}
.todo-list li.is-entering{animation:todo-row-in 420ms cubic-bezier(.16,.9,.22,1) both}
.todo-list li.is-leaving{pointer-events:none;opacity:0;transform:translate3d(32px,0,0) scale(.96)}
.todo-list li.is-completing{animation:todo-complete 410ms cubic-bezier(.2,.8,.2,1) both}
.todo-list li.is-focused{border-color:rgba(255,185,174,.55)!important;box-shadow:inset 3px 0 var(--todo-coral),inset 0 1px white,0 6px 19px rgba(255,107,127,.07)}
@keyframes todo-row-in{from{opacity:0;transform:translate3d(0,14px,0) scale(.97)}to{opacity:1;transform:none}}
@keyframes todo-complete{38%{transform:scale(.975)}65%{opacity:1;transform:scale(1.015)}to{opacity:0;transform:translate3d(22px,0,0) scale(.96)}}

.check{
  position:relative;
  width:25px!important;
  height:25px!important;
  padding:0;
  border:1.5px solid rgba(43,155,139,.55)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.35)!important;
  color:transparent!important;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.35);
}
.check:after{content:"";position:absolute;left:7px;top:4px;width:6px;height:11px;border:solid white;border-width:0 2px 2px 0;opacity:0;transform:rotate(45deg) scale(.4);transition:opacity 160ms ease,transform 260ms cubic-bezier(.2,.8,.2,1)}
.check.checked{border-color:transparent!important;background:linear-gradient(145deg,#56d7c2,#28b7a3)!important;box-shadow:0 4px 11px rgba(38,174,154,.22)!important}
.check.checked:after{opacity:1;transform:rotate(45deg) scale(1)}
.todo-copy{min-width:0;display:flex;flex-direction:column;gap:3px;cursor:text}
.todo-copy b{overflow:hidden;color:#315550;font-size:13px;font-weight:600;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.todo-copy small{color:#91a4a1;font:9px 'DM Mono',monospace}
.todo-copy input{width:100%;height:30px;padding:0 7px;border:1px solid rgba(48,181,161,.25);border-radius:9px;background:rgba(255,255,255,.55);color:#315550;font:600 13px 'Noto Sans SC',sans-serif;outline:0}
.todo-row-actions{display:flex;align-items:center;gap:3px}
.todo-focus,.todo-delete{display:grid;place-items:center;width:29px;height:29px;padding:0;border:0;border-radius:10px;background:transparent;color:#99aaa7;font-size:15px;transition:transform 170ms ease,color 170ms ease,background 170ms ease}
.todo-focus.active{color:var(--todo-coral);background:rgba(255,107,127,.09)}
.todo-focus:active,.todo-delete:active{transform:scale(.84)}
.todo-delete{font-size:18px;color:#b5bfbd}

.todo-empty{min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:3px 0 7px;border:1px dashed rgba(58,169,152,.18);border-radius:20px;background:rgba(255,255,255,.18);text-align:center}
.todo-empty[hidden]{display:none}
.todo-empty i{display:grid;place-items:center;width:31px;height:31px;margin-bottom:7px;border-radius:50%;background:rgba(58,201,179,.12);color:#22a894;font-size:16px;font-style:normal}
.todo-empty b{color:#55736f;font-size:12px}.todo-empty span{margin-top:3px;color:#97a9a6;font-size:9px}

.todo-completed{margin-top:8px;border-radius:16px;background:rgba(255,255,255,.17)}
.todo-completed[hidden]{display:none}
.todo-completed summary{height:40px;display:flex;align-items:center;gap:7px;padding:0 11px;color:#78938f;font-size:11px;list-style:none;cursor:pointer}
.todo-completed summary::-webkit-details-marker{display:none}
.todo-completed summary em{display:grid;place-items:center;min-width:18px;height:18px;border-radius:9px;background:rgba(58,174,156,.10);font:9px 'DM Mono';font-style:normal}
.todo-completed summary i{margin-left:auto;font-style:normal;transition:transform 240ms ease}.todo-completed[open] summary i{transform:rotate(180deg)}
.todo-completed .todo-list{padding:0 6px 7px!important}
.todo-completed .todo-list li{height:48px!important;opacity:.72;box-shadow:none}
.todo-completed .todo-copy b{text-decoration:line-through;font-size:12px;color:#829794}
.todo-completed .todo-delete{display:grid}

.todo-composer{margin-top:10px;padding:7px;border:1px solid rgba(255,255,255,.89);border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.62),rgba(236,255,251,.28));box-shadow:inset 0 1px white,0 7px 22px rgba(41,132,119,.07);transition:box-shadow 220ms ease,border-color 220ms ease}
.todo-composer:focus-within{border-color:rgba(68,205,184,.42);box-shadow:inset 0 1px white,0 0 0 3px rgba(57,194,174,.08),0 10px 25px rgba(41,132,119,.09)}
.todo-composer-main{height:40px;display:flex;align-items:center;gap:7px}
.todo-composer-main>span{display:grid;place-items:center;width:28px;color:#20a996;font-size:21px;font-weight:300}
.todo-composer-main input{min-width:0;flex:1;border:0!important;background:transparent!important;color:#315550!important;font:500 13px 'Noto Sans SC',sans-serif!important;outline:0;box-shadow:none!important;transform:none!important}
.todo-composer-main input::placeholder{color:#91aaa6}
.todo-composer-main button{width:34px;height:34px;padding:0;border:0;border-radius:12px;background:linear-gradient(145deg,#55d4c0,#2bb6a3);color:white;font-size:17px;box-shadow:0 5px 12px rgba(34,171,152,.20);opacity:.45;transform:scale(.92);transition:opacity 180ms ease,transform 240ms cubic-bezier(.2,.8,.2,1)}
.todo-composer.has-value .todo-composer-main button{opacity:1;transform:none}
.todo-composer-options{height:37px;display:flex;align-items:center;gap:6px;padding:4px 3px 0;overflow:hidden;opacity:1}
.todo-composer-options label{height:29px;display:flex;align-items:center;gap:5px;padding:0 8px;border-radius:10px;background:rgba(62,187,168,.08);color:#6d8d88;font-size:9px}
.todo-composer-options input{width:55px;padding:0;border:0;background:transparent;color:#3e7770;font:9px 'DM Mono';outline:0}
.todo-composer-options button{height:29px;padding:0 9px;border:0;border-radius:10px;background:rgba(255,107,127,.08);color:#d85c70;font-size:9px}
.todo-composer-options small{margin-left:auto;color:#9eaeab;font-size:8px}

.todo-undo{position:sticky;z-index:3;bottom:4px;height:0;display:flex;align-items:center;gap:12px;margin:0 auto;max-width:280px;padding:0 8px 0 14px;overflow:hidden;border:1px solid rgba(255,255,255,.75);border-radius:17px;background:rgba(44,73,69,.88);color:white;box-shadow:0 10px 28px rgba(34,87,79,.22);backdrop-filter:blur(17px);opacity:0;transform:translateY(14px) scale(.96);transition:height 280ms ease,opacity 220ms ease,transform 320ms cubic-bezier(.2,.8,.2,1),margin 280ms ease}
.todo-undo.show{height:43px;margin-top:10px;opacity:1;transform:none}
.todo-undo span{min-width:0;flex:1;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.todo-undo button{height:29px;padding:0 11px;border:0;border-radius:10px;background:rgba(255,255,255,.13);color:#9ff1e3;font-size:10px;font-weight:600}

@media(max-height:760px){
  .todo-drawer{padding-top:6px!important}
  .drawer-head>div>span{display:none}
  .timer-grid{margin:8px 0 12px!important}
  .timer-card{padding-top:10px!important;padding-bottom:9px!important}
  .timer-card>b{margin:5px 0 7px!important;font-size:21px!important}
  .todo-list li{height:52px!important}
}
@media(prefers-reduced-motion:reduce){.todo-drawer,.todo-list li,.todo-progress i,.todo-composer-options,.todo-undo{transition-duration:.01ms!important}}

/* archive-redesign.css */
#archive{
  --archive-ink:#264843;
  --archive-muted:#78928e;
  --archive-mint:#34bca8;
  --archive-coral:#ff6c7f;
  padding-left:18px!important;
  padding-right:18px!important;
  padding-bottom:calc(var(--ios-tab-height,66px) + var(--ios-tab-bottom,14px) + 48px)!important;
  background:
    linear-gradient(90deg,transparent 17px,rgba(63,175,158,.045) 18px,transparent 19px),
    radial-gradient(circle at 8% 1%,rgba(184,250,237,.58),transparent 31%),
    radial-gradient(circle at 99% 35%,rgba(255,222,216,.47),transparent 30%);
}

.archive-topbar{
  min-height:66px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:0 2px 6px;
}
.archive-topbar .eyebrow{color:#7d9894;font-size:8px;letter-spacing:1.65px}
.archive-topbar h1{margin:2px 0 0;color:#203f3b;font-size:27px;line-height:1.04;letter-spacing:-1.2px}
.archive-topbar>div:first-child>span{display:block;max-width:270px;margin-top:4px;color:#78918d;font-size:9px;line-height:1.35}
.archive-seal{
  flex:0 0 48px;
  width:48px;
  height:48px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  margin-top:1px;
  border:1px solid rgba(255,255,255,.92);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(255,255,255,.59),rgba(223,252,246,.22));
  color:#488079;
  box-shadow:inset 0 1px white,0 8px 22px rgba(45,134,121,.08);
  backdrop-filter:blur(17px) saturate(150%);
}
.archive-seal i{width:6px;height:6px;margin-bottom:3px;border:2px solid #35bba7;border-radius:50%;box-shadow:0 0 0 3px rgba(53,187,167,.09)}
.archive-seal b{font:700 7px 'DM Mono',monospace;letter-spacing:.11em}.archive-seal small{margin-top:2px;color:#9badab;font-size:6px}

.archive-identity{
  position:relative;
  overflow:hidden;
  padding:9px 12px 9px;
  border-radius:25px!important;
  color:var(--archive-ink);
  background:
    linear-gradient(90deg,transparent 0 75%,rgba(255,255,255,.22) 75% 76%,transparent 76%),
    linear-gradient(140deg,rgba(255,255,255,.68),rgba(226,252,247,.28) 62%,rgba(255,235,231,.26))!important;
  border-color:rgba(255,255,255,.91)!important;
  box-shadow:inset 1px 1px rgba(255,255,255,.98),0 14px 34px rgba(39,133,119,.10)!important;
}
.archive-identity:after{content:"LT";position:absolute;right:-2px;bottom:23px;color:rgba(44,174,155,.035);font:700 76px 'DM Mono';letter-spacing:-8px;pointer-events:none}
.archive-file-index{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding-bottom:5px;border-bottom:1px solid rgba(71,161,148,.09)}
.archive-file-index>span{color:#78938f;font:700 8.5px 'DM Mono';letter-spacing:.15em}
.archive-file-actions{display:flex;align-items:center;gap:6px}
.archive-tenure{min-width:62px;height:23px;display:flex!important;align-items:baseline!important;justify-content:center;gap:4px!important;padding:0 8px;border:1px solid rgba(255,255,255,.92);border-radius:9px;background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(209,247,240,.34));box-shadow:inset 0 1px 2px rgba(255,255,255,.98),inset 0 -5px 10px rgba(44,185,165,.05),0 5px 12px rgba(43,137,123,.07);font-style:normal}
.archive-tenure:before{display:none!important}
.archive-tenure b{color:#249f90;font:600 13px 'DM Mono';letter-spacing:-.4px}
.archive-tenure small{color:#6f918c;font:600 7px 'Noto Sans SC';letter-spacing:.06em}
.archive-profile-main{position:relative;z-index:1;min-height:60px;display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:10px;padding:5px 0 6px}
#archive .profile-avatar{width:54px;height:54px;flex-basis:54px;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.86),0 6px 14px rgba(38,130,117,.11)}
#archive .profile-avatar:not(.has-image):before{font-size:24px;background:linear-gradient(145deg,rgba(214,248,241,.92),rgba(255,235,231,.8))}
#archive .profile-avatar>img{object-fit:contain;border-radius:inherit}
.archive-profile-copy{min-width:0;display:grid;grid-template-columns:minmax(118px,.92fr) minmax(0,1.08fr);grid-template-rows:auto auto;grid-template-areas:"holder bio" "name bio";align-items:center;column-gap:18px}
.archive-profile-copy>small{grid-area:holder;color:#839e99;font-size:8.5px;letter-spacing:.07em}
.archive-name-line{grid-area:name;min-width:0;display:flex;align-items:center;gap:7px}
.archive-profile-copy h2{min-width:0;margin:1px 0 0;overflow:hidden;color:#244843;font-size:23px;line-height:1.12;letter-spacing:-.55px;text-overflow:ellipsis;white-space:nowrap}
.archive-profile-gender{flex:0 0 auto;display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:rgba(107,179,232,.11);box-shadow:inset 0 1px 4px rgba(74,145,202,.18),inset 0 0 0 1px rgba(255,255,255,.72);color:#559bd2}
.archive-profile-gender i{font:700 15px 'Noto Sans SC';font-style:normal;line-height:1}
.archive-profile-gender b{display:none}
.archive-profile-copy p{grid-area:bio;display:-webkit-box;margin:0;padding:5px 0 5px 17px;overflow:hidden;border-left:1px solid rgba(58,166,150,.14);color:#668782;font-size:10.5px;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.archive-edit-button{height:23px;margin:0;padding:0 9px;border:1px solid rgba(255,255,255,.9);border-radius:9px;background:rgba(255,255,255,.43);color:#249688;font:600 9px 'Noto Sans SC';box-shadow:inset 0 1px white,0 5px 12px rgba(46,141,128,.06);transition:transform .2s ease,background .2s ease}
.archive-edit-button:active{transform:scale(.93);background:rgba(216,249,243,.68)}

.archive-attributes{
  position:relative;
  z-index:1;
  width:100%;
  min-height:72px;
  display:grid;
  grid-template-columns:.88fr 1.35fr .77fr;
  grid-template-rows:72px;
  gap:0;
  padding:5px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(208,243,237,.25),rgba(255,255,255,.32));
  box-shadow:inset 0 2px 9px rgba(38,137,123,.08),inset 0 0 0 1px rgba(93,202,185,.035);
  color:var(--archive-ink);
  text-align:left;
  transition:transform .2s ease;
}
.archive-attributes:active{transform:scale(.988)}
.archive-attributes:focus-visible{outline:2px solid rgba(49,188,168,.42);outline-offset:4px;border-radius:20px}
.archive-attr-card{position:relative;min-width:0;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none}
.archive-attr-card:not(:last-child):after{content:"";position:absolute;right:0;top:11px;bottom:11px;width:1px;background:linear-gradient(transparent,rgba(55,156,142,.16),transparent)}
.archive-attr-card small{color:#789690;font:600 7.5px 'DM Mono';letter-spacing:.08em}
.archive-attr-card b{overflow:hidden;color:#315e57;font:600 11px 'Noto Sans SC',sans-serif;text-overflow:ellipsis;white-space:nowrap}
.archive-attr-card em{color:#829c97;font-size:8px;font-style:normal}
.archive-attr-mbti{grid-column:1;grid-row:1;display:grid;grid-template-columns:29px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:7px;padding:6px 9px;border-radius:13px;background:rgba(217,248,242,.34);box-shadow:inset 0 4px 12px rgba(34,143,127,.10),inset 0 0 0 1px rgba(255,255,255,.66)}
.archive-attr-mbti:after{display:none}
.archive-attr-mbti>i{grid-column:1;grid-row:1/3;align-self:center;width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.5);color:#28a794;font:15px 'DM Mono';font-style:normal;box-shadow:inset 0 2px 6px rgba(37,145,130,.08)}
.archive-attr-mbti>small{grid-column:2;grid-row:1;align-self:end}
.archive-attr-mbti>b{grid-column:2;grid-row:2;align-self:start;position:relative;z-index:1;margin:1px 0 0;color:#258f82;font:600 18px 'DM Mono',monospace;letter-spacing:-.8px}
.archive-attr-mbti>em{display:none}
.archive-attr-mbti[data-tone="diplomat"]{background:linear-gradient(155deg,rgba(255,226,224,.67),rgba(255,255,255,.34))}.archive-attr-mbti[data-tone="diplomat"]>i,.archive-attr-mbti[data-tone="diplomat"]>b{color:#dc687a}
.archive-attr-mbti[data-tone="sentinel"]{background:linear-gradient(155deg,rgba(224,240,255,.72),rgba(255,255,255,.34))}.archive-attr-mbti[data-tone="sentinel"]>i,.archive-attr-mbti[data-tone="sentinel"]>b{color:#568ebf}
.archive-attr-mbti[data-tone="explorer"]{background:linear-gradient(155deg,rgba(255,239,211,.72),rgba(255,255,255,.34))}.archive-attr-mbti[data-tone="explorer"]>i,.archive-attr-mbti[data-tone="explorer"]>b{color:#d38b4d}
.archive-attr-birthday{grid-column:2;grid-row:1;display:grid;grid-template-columns:31px minmax(0,1fr);align-items:center;gap:8px;padding:5px 12px}
.archive-calendar{width:30px;height:34px;display:grid;grid-template-rows:10px 1fr;overflow:hidden;border:1px solid rgba(255,255,255,.88);border-radius:8px;background:rgba(255,255,255,.54);box-shadow:0 4px 10px rgba(202,102,115,.06);font-style:normal;text-align:center}
.archive-calendar>small{display:grid;place-items:center;background:linear-gradient(90deg,#ff7c8f,#ff9a8d);color:white;font:700 6px 'DM Mono';letter-spacing:.08em}
.archive-calendar>strong{display:grid;place-items:center;color:#d45e72;font:600 15px 'DM Mono';line-height:1}
.archive-attr-birthday>span{min-width:0;display:flex;flex-direction:column;gap:2px}
.archive-attr-birthday b{font:500 11.5px 'DM Mono',monospace;letter-spacing:-.3px}
.archive-attr-identity{grid-column:3;grid-row:1;display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:7px;padding:6px 10px}
.archive-attr-identity>i{width:25px;height:25px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.46);color:#28a895;font-size:11px;font-style:normal;box-shadow:inset 0 2px 6px rgba(42,157,140,.08)}
.archive-attr-identity>span{min-width:0;display:flex;flex-direction:column;gap:3px}

.archive-section{margin-top:24px}
.archive-section-head{min-height:43px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:0 2px 10px}
.archive-section-head>div>span{display:block;margin-bottom:3px;color:#79a19b;font:700 7px 'DM Mono';letter-spacing:.14em}
.archive-section-head h2{margin:0;color:#284b46;font-size:17px;line-height:1.2;letter-spacing:-.35px}
.archive-section-head>p{margin:0 0 2px;color:#9aaca9;font-size:8px}
.archive-section-head>button{height:31px;padding:0 11px;border:1px solid rgba(255,255,255,.86);border-radius:12px;background:rgba(255,255,255,.39);color:#269587;font:600 8px 'Noto Sans SC';box-shadow:inset 0 1px white,0 5px 13px rgba(42,134,120,.06);transition:transform .18s ease,background .18s ease}
.archive-section-head>button:active{transform:scale(.94);background:rgba(218,249,243,.66)}
.archive-section-head>button:disabled{opacity:.52;cursor:default;box-shadow:inset 0 1px rgba(255,255,255,.8)}

#archive .archive-growth-section{margin-top:17px}
#archive .archive-growth-section>.archive-section-head{min-height:43px;margin:0 2px 10px;align-items:flex-end}
#archive .archive-growth-section>.archive-section-head>div:first-child{display:block}
#archive .archive-growth-section>.archive-section-head>div:first-child>span{display:block;margin-bottom:3px;font-size:7px}
#archive .archive-growth-section>.archive-section-head h2{font-size:17px;line-height:1.2;letter-spacing:-.35px}
.archive-growth-actions{display:flex!important;align-items:center!important;gap:7px!important}
.archive-growth-actions .local-ai-state{height:25px;display:flex;align-items:center;margin:0;padding:0 7px;border:1px solid rgba(255,255,255,.66);border-radius:10px;background:rgba(255,255,255,.26)}
.archive-growth-actions>button{width:27px;height:27px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.84);border-radius:10px;background:rgba(255,255,255,.39);color:#3b877c;font:600 13px 'DM Mono';box-shadow:inset 0 1px white;transition:transform .2s cubic-bezier(.2,.8,.2,1),background .2s ease}
.archive-growth-actions>button:active{transform:scale(.9);background:rgba(218,249,243,.66)}
#archive .archive-insight-card{position:relative;overflow:hidden;padding:11px 12px 12px;border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.64),rgba(220,250,244,.27) 54%,rgba(255,235,231,.23))!important;border-color:rgba(255,255,255,.9)!important;box-shadow:inset 1px 1px white,0 12px 30px rgba(39,132,119,.085)!important}
#archive .archive-insight-card:before{content:"TREND";position:absolute;right:-7px;top:36px;color:rgba(53,174,157,.03);font:700 34px 'DM Mono';letter-spacing:-3px;pointer-events:none}
.trend-collapsible{max-height:190px;overflow:hidden;opacity:1;transition:max-height .36s cubic-bezier(.2,.8,.2,1),opacity .2s ease}
.trend-collapsible.collapsed{max-height:0;opacity:0}
.trend-metrics{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0}
.trend-metrics button{min-width:0;height:34px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0;border:1px solid rgba(255,255,255,.72);border-radius:11px;background:rgba(255,255,255,.28);color:#78938f;box-shadow:inset 0 1px rgba(255,255,255,.75);transition:transform .18s ease,background .22s ease,color .22s ease,box-shadow .22s ease}
.trend-metrics button i{height:auto;display:grid;place-items:center;font:600 10px 'DM Mono';font-style:normal}.trend-metrics button span{font-size:8px}
.trend-metrics button.selected{border-color:rgba(255,255,255,.96);background:linear-gradient(145deg,rgba(111,221,203,.72),rgba(56,185,166,.72));color:white;box-shadow:inset 0 1px white,0 6px 14px rgba(48,177,158,.16)}
.trend-metrics button:active{transform:scale(.91)}
.archive-trend-panel{position:relative;z-index:1;margin-top:7px;padding:9px 10px 8px;border:1px solid rgba(255,255,255,.74);border-radius:15px;background:rgba(255,255,255,.34);box-shadow:inset 0 1px rgba(255,255,255,.78)}
.trend-summary-line{height:18px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px}.trend-summary-line>span{overflow:hidden;color:#7d9792;font-size:7.5px;text-overflow:ellipsis;white-space:nowrap}.trend-current-values{display:flex;align-items:center;gap:7px}.trend-current-values b,.trend-current-values em{font:600 10px 'DM Mono';font-style:normal;font-variant-numeric:tabular-nums}.trend-current-values b{color:#288f82}.trend-current-values em{color:#ef6f82}
.trend-series-legend{height:14px;display:flex;align-items:center;justify-content:flex-end;gap:9px;margin:0 2px;color:#77918d;font-size:6.5px}.trend-series-legend span{display:flex;align-items:center;gap:4px}.trend-series-legend span:before{content:"";width:9px;height:2px;border-radius:2px;background:#42bda9}.trend-series-legend span+span:before{background:#ff7788}.trend-series-legend[hidden]{display:none}
#archive .archive-trend-panel .chart{height:72px;margin:3px 0 0;padding:0;overflow:hidden;border-radius:11px;background:linear-gradient(to bottom,rgba(70,177,160,.06) 1px,transparent 1px);background-size:100% 22px}
#archive .archive-trend-panel .chart svg{position:absolute;left:8px;right:8px;top:6px;width:calc(100% - 16px);height:49px;overflow:visible}
#archive .archive-trend-panel .weight-range{left:8px;right:8px;bottom:5px;height:10px;align-items:center}
#archive .archive-trend-panel .weight-range small{font-size:6.5px;line-height:1}
.archive-analysis-divider{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;padding-top:8px;border-top:1px solid rgba(63,157,143,.11)}
.archive-analysis-divider>button{display:flex;align-items:center;gap:5px;padding:0;border:0;background:transparent;color:#315b55}.archive-analysis-divider>button span{font-size:10px;font-weight:700}.archive-analysis-divider>button i{font:600 10px 'DM Mono';font-style:normal;transition:transform .2s ease}.archive-analysis-divider>button:disabled i{opacity:.28}.archive-analysis-divider small{max-width:180px;color:#879e9a;font-size:6.8px;line-height:1.35;text-align:right}
.archive-report-controls{position:relative;z-index:2;display:grid;grid-template-columns:116px minmax(0,1fr);gap:7px;margin-top:7px}
#archive .report-periods{height:31px;display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:2px;border-radius:11px;background:rgba(226,246,241,.45)}
#archive .report-periods button{height:27px;padding:0;border-radius:9px;font-size:8px}
#archive .ai-report-content{position:relative;z-index:1;min-height:0;margin-top:8px;padding:10px 11px;border-radius:14px;font-size:9px;line-height:1.6}
#archive .ai-report-content[hidden]{display:none!important}
.report-trend-evidence{display:flex;gap:5px;margin:0 0 10px;padding-bottom:9px;overflow-x:auto;border-bottom:1px solid rgba(62,151,138,.1);scrollbar-width:none}.report-trend-evidence::-webkit-scrollbar{display:none}.report-trend-evidence span{flex:none;min-width:61px;padding:6px 7px;border:1px solid rgba(255,255,255,.76);border-radius:10px;background:rgba(255,255,255,.38);box-shadow:inset 0 1px rgba(255,255,255,.82)}.report-trend-evidence small{display:block;color:#8ba09c;font-size:6.5px}.report-trend-evidence b{display:block;margin-top:2px;color:#35645d;font:600 8px 'DM Mono';white-space:nowrap}
#archive .generate-report{position:relative;z-index:1;height:31px;margin:0;border-radius:11px;font-size:8.5px;box-shadow:0 6px 14px rgba(38,178,158,.13)}

#archive .relations{display:flex;gap:10px;margin:0 -2px;padding:2px 30px 12px 2px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:2px;scrollbar-width:none;overscroll-behavior-x:contain}#archive .relations::-webkit-scrollbar{display:none}
#archive .relation-card{position:relative;width:286px;height:184px;flex:0 0 286px;display:flex;flex-direction:column;align-items:stretch;padding:14px;overflow:hidden;scroll-snap-align:start;text-align:left;border:1px solid rgba(255,255,255,.9);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.65),rgba(221,250,244,.27));box-shadow:inset 1px 1px white,0 10px 25px rgba(57,127,116,.075);transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease}
#archive .relation-card:after{content:"";position:absolute;width:104px;height:104px;right:-34px;top:-38px;border:1px solid rgba(48,178,159,.10);border-radius:50%;box-shadow:0 0 0 12px rgba(48,178,159,.025),0 0 0 24px rgba(48,178,159,.014)}
#archive .relation-card:active{transform:scale(.975);box-shadow:inset 1px 1px white,0 5px 15px rgba(57,127,116,.055)}
#archive .relation-card>.relation-profile-top{position:relative;z-index:1;width:100%;display:grid!important;grid-template-columns:66px minmax(0,1fr)!important;align-items:center!important;gap:13px;margin:0!important}
.relation-card-avatar{width:66px;height:66px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.92);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(211,247,240,.46));box-shadow:inset 0 1px white,0 7px 16px rgba(44,137,123,.1)}.relation-card-avatar img{width:100%;height:100%;display:block;object-fit:cover}.relation-card-avatar i{width:100%;height:100%;display:grid;place-items:center;color:#279b8d;font-size:25px;font-style:normal}
#archive .relation-card .relation-card-identity{min-width:0;display:flex!important;flex-direction:column;align-items:flex-start}.relation-card-identity small{color:#78958f;font:600 7px 'DM Mono';letter-spacing:.09em}.relation-card-identity b{max-width:100%;margin-top:3px;overflow:hidden;color:#294f49;font-size:18px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.relation-card-identity em{max-width:100%;margin-top:5px;overflow:hidden;color:#658680;font-size:9px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
#archive .relation-card>.relation-card-attributes{position:relative;z-index:1;width:100%;display:grid!important;grid-template-columns:repeat(3,1fr);gap:5px;margin:10px 0 0!important}.relation-card-attributes>span{min-width:0;height:39px;display:flex!important;flex-direction:column;justify-content:center;padding:0 7px;border:1px solid rgba(255,255,255,.72);border-radius:11px;background:rgba(255,255,255,.3);box-shadow:inset 0 1px rgba(255,255,255,.76)}.relation-card-attributes small{color:#91a5a1;font:600 6px 'DM Mono';letter-spacing:.07em}.relation-card-attributes b{margin-top:2px;overflow:hidden;color:#3c6761;font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}
#archive .relation-card>.relation-card-bottom{position:relative;z-index:1;width:100%;display:flex!important;align-items:center;justify-content:space-between;gap:8px;margin-top:auto!important;padding-top:7px;border-top:1px solid rgba(65,157,143,.09)}.relation-card-bottom>span{min-width:0;overflow:hidden;color:#718e89;font-size:7.5px;text-overflow:ellipsis;white-space:nowrap}.relation-card-bottom>small{flex:none;color:#9aaca9;font:6.5px 'DM Mono';letter-spacing:.08em}
#archive .relation-card[data-relation-type="partner"]{background:linear-gradient(145deg,rgba(255,255,255,.67),rgba(255,229,228,.31))}.relation-card[data-relation-type="partner"] .relation-card-avatar i{color:#e66a7f}
#archive .relation-card[data-relation-type="pet"]{background:linear-gradient(145deg,rgba(255,255,255,.67),rgba(255,239,216,.34))}.relation-card[data-relation-type="pet"] .relation-card-avatar i{color:#d98c4e}
#archive .relation-card[data-relation-type="friend"]{background:linear-gradient(145deg,rgba(255,255,255,.67),rgba(225,240,255,.34))}.relation-card[data-relation-type="friend"] .relation-card-avatar i{color:#5e91bd}
#archive .relation-card[data-relation-type="family"] .relation-card-avatar i{color:#279b8d}
#archive .relation-card[data-relation-type="other"]{background:linear-gradient(145deg,rgba(255,255,255,.67),rgba(239,232,255,.31))}.relation-card[data-relation-type="other"] .relation-card-avatar i{color:#9272c9}

#archive .skills{gap:7px;padding:12px;border:1px solid rgba(255,255,255,.84);border-radius:21px;background:rgba(255,255,255,.27);box-shadow:inset 0 1px white,0 8px 21px rgba(48,130,118,.055)}
#archive .skills span{min-height:34px;display:flex;align-items:center;padding:0 13px;border-color:rgba(255,255,255,.9);border-radius:13px;background:linear-gradient(135deg,rgba(255,255,255,.66),rgba(220,248,243,.32));color:#3e6862;font-size:10px;box-shadow:0 4px 10px rgba(48,127,115,.045);transition:transform .18s ease}
#archive .skills span:nth-child(3n+2){background:linear-gradient(135deg,rgba(255,255,255,.66),rgba(255,231,227,.34))}
#archive .skills span:active{transform:scale(.95)}

#archive .showcase{display:grid;grid-template-columns:1.28fr .92fr;gap:9px}
#archive .showcase>div{position:relative;height:116px;padding:16px;border:1px solid rgba(255,255,255,.9);border-radius:22px!important;overflow:hidden;color:#315a54;font-size:22px;background:linear-gradient(145deg,rgba(216,246,241,.72),rgba(255,255,255,.41))!important;box-shadow:inset 1px 1px white,0 9px 24px rgba(48,127,115,.07)!important;transition:transform .2s ease}
#archive .showcase>div:before{content:"ARCHIVE";position:absolute;right:9px;top:10px;color:#9badab;font:6px 'DM Mono';letter-spacing:.13em}
#archive .showcase>div:after{content:"";position:absolute;left:16px;right:16px;bottom:13px;height:1px;background:linear-gradient(90deg,rgba(55,169,152,.26),transparent)}
#archive .showcase>div:active{transform:scale(.97)}
#archive .showcase>div:nth-child(even){background:linear-gradient(145deg,rgba(255,231,227,.65),rgba(255,255,255,.43))!important}
#archive .showcase small{color:#687f7b;font-size:8px}

.archive-footer-note{display:flex;align-items:center;gap:9px;margin:25px 5px 4px;color:#94a6a3;font-size:8px;text-align:center}
.archive-footer-note i{height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(58,158,143,.15))}.archive-footer-note i:last-child{transform:scaleX(-1)}

:is(#archive,#viewportOverlays) .archive-editor{color:#294d48}
#archive.editor-active{overflow:hidden!important}
:is(#archive,#viewportOverlays) .archive-editor select{width:100%;height:42px;padding:0 10px;border:1px solid rgba(88,170,158,.2);border-radius:13px;background:rgba(255,255,255,.64);color:#294c49;font:11px 'Noto Sans SC';outline:0}
:is(#archive,#viewportOverlays) .archive-editor[data-type="profile"] .archive-editor-fields{grid-template-columns:1fr 1fr}
:is(#archive,#viewportOverlays) .archive-editor[data-type="profile"] .archive-editor-fields label:nth-child(1),
:is(#archive,#viewportOverlays) .archive-editor[data-type="profile"] .archive-editor-fields label:nth-child(2),
:is(#archive,#viewportOverlays) .archive-editor[data-type="profile"] .archive-editor-fields label:nth-child(5),
:is(#archive,#viewportOverlays) .archive-editor[data-type="profile"] .archive-editor-fields label:nth-child(6),
:is(#archive,#viewportOverlays) .archive-editor[data-type="profile"] .archive-editor-fields label:nth-child(7){grid-column:1/-1}

:is(#archive,#viewportOverlays) .archive-editor[data-type="relation"] .archive-editor-fields{grid-template-columns:1fr 1fr}
:is(#archive,#viewportOverlays) .archive-editor[data-type="relation"] .archive-editor-fields>label:first-child,:is(#archive,#viewportOverlays) .archive-editor[data-type="relation"] .archive-editor-fields>label:nth-child(3),:is(#archive,#viewportOverlays) .archive-editor[data-type="relation"] .archive-editor-fields>label:last-child,:is(#archive,#viewportOverlays) .archive-editor[data-type="relation"] .relation-avatar-field,:is(#archive,#viewportOverlays) .archive-editor[data-type="relation"] .archive-relation-option,:is(#archive,#viewportOverlays) .archive-editor[data-type="relation"] .archive-mbti-field{grid-column:1/-1}
.relation-avatar-field{display:flex;flex-direction:column;gap:6px}.relation-avatar-field>span{color:#66847f;font-size:9px}.relation-avatar-field>input{display:none}.relation-avatar-field>button{height:76px;display:grid;grid-template-columns:56px minmax(0,1fr);grid-template-rows:1fr 1fr;align-items:end;column-gap:11px;padding:9px;border:1px solid rgba(255,255,255,.84);border-radius:17px;background:linear-gradient(145deg,rgba(255,255,255,.56),rgba(220,249,243,.27));color:#315d57;text-align:left;box-shadow:inset 0 1px white}.relation-avatar-field>button img,.relation-avatar-field>button>i{grid-row:1/3;width:56px;height:56px;border-radius:15px}.relation-avatar-field>button img{display:block;object-fit:cover}.relation-avatar-field>button>i{display:grid;place-items:center;background:rgba(255,255,255,.55);color:#2aa493;font-size:20px;font-style:normal}.relation-avatar-field>button>b{align-self:end;font-size:11px}.relation-avatar-field>button>small{align-self:start;margin-top:3px;color:#8da29e;font-size:7px}
.archive-relation-type-field>input,.archive-relation-option>input{display:none}
.archive-relation-types{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;padding:5px;border:1px solid rgba(255,255,255,.84);border-radius:17px;background:rgba(228,248,244,.4)}
.archive-relation-types button{height:48px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0;border:1px solid transparent;border-radius:12px;background:transparent;color:#718c88;transition:transform .18s ease,background .2s ease,color .2s ease,box-shadow .2s ease}.archive-relation-types button i{font-size:15px;font-style:normal}.archive-relation-types button b{font-size:7px;font-weight:500}.archive-relation-types button[aria-pressed="true"]{border-color:rgba(255,255,255,.96);background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(210,248,241,.65));color:#239688;box-shadow:inset 0 1px white,0 5px 12px rgba(45,148,133,.09)}.archive-relation-types button:active{transform:scale(.91)}
.archive-relation-option>div{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border:1px solid rgba(255,255,255,.82);border-radius:14px;background:rgba(229,248,244,.38)}.archive-relation-option button{height:34px;padding:0 5px;border:1px solid transparent;border-radius:10px;background:transparent;color:#728d88;font-size:8px}.archive-relation-option button[aria-pressed="true"]{border-color:rgba(255,255,255,.95);background:linear-gradient(145deg,#68d7c6,#3ab7a6);color:white;box-shadow:0 4px 10px rgba(43,172,153,.14)}

#archive .archive-choice-field>input,#archive .archive-mbti-field>input{display:none}
.archive-gender-options{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;padding:5px;border:1px solid rgba(255,255,255,.82);border-radius:16px;background:rgba(229,248,244,.38)}
.archive-gender-options button{height:45px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0;border:1px solid transparent;border-radius:12px;background:transparent;color:#708c87;transition:transform .18s ease,background .2s ease,color .2s ease,box-shadow .2s ease}
.archive-gender-options button i{font:600 17px 'Noto Sans SC';font-style:normal}.archive-gender-options button b{font:500 7px 'Noto Sans SC';white-space:nowrap}
.archive-gender-options button[aria-pressed="true"]{border-color:rgba(255,255,255,.92);background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(255,225,222,.56));color:#df6579;box-shadow:inset 0 1px white,0 5px 12px rgba(193,84,102,.10)}
.archive-gender-options button:active{transform:scale(.92)}

.archive-mbti-builder{padding:7px;border:1px solid rgba(255,255,255,.84);border-radius:18px;background:linear-gradient(145deg,rgba(231,251,247,.56),rgba(255,255,255,.3));box-shadow:inset 0 1px white}
.archive-mbti-builder>header{height:34px;display:flex;align-items:center;gap:9px;padding:0 5px 6px}
.archive-mbti-builder>header b{min-width:44px;color:#239588;font:600 17px 'DM Mono';letter-spacing:-.8px}
.archive-mbti-builder>header small{color:#91a5a2;font-size:7px}
.archive-mbti-axes{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.archive-mbti-axes>section{min-width:0;padding:5px;border-radius:12px;background:rgba(255,255,255,.34)}
.archive-mbti-axes>section>small{display:block;margin-bottom:4px;color:#91a6a2;font-size:6px;text-align:center}
.archive-mbti-axes>section>div{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.archive-mbti-axes button{height:35px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0;border:1px solid transparent;border-radius:9px;background:rgba(255,255,255,.34);color:#738e89;transition:transform .18s ease,background .2s ease,color .2s ease,box-shadow .2s ease}
.archive-mbti-axes button b{font:600 11px 'DM Mono'}.archive-mbti-axes button em{font:5.5px 'Noto Sans SC';font-style:normal;white-space:nowrap}
.archive-mbti-axes button[aria-pressed="true"]{border-color:rgba(255,255,255,.94);background:linear-gradient(145deg,#64d7c5,#35b7a5);color:white;box-shadow:0 4px 10px rgba(43,172,153,.17)}
.archive-mbti-axes button:active{transform:scale(.9)}

@media(max-width:370px){
  .archive-topbar h1{font-size:25px}.archive-topbar>div:first-child>span{max-width:230px}
  .archive-profile-main{grid-template-columns:50px minmax(0,1fr);gap:8px}
  #archive .profile-avatar{width:50px;height:50px;flex-basis:50px}
  .archive-profile-copy{grid-template-columns:minmax(92px,.85fr) minmax(0,1.15fr);column-gap:9px}
  .archive-profile-copy p{padding-left:8px;font-size:9.5px}
  .archive-attributes{grid-template-columns:.9fr 1.28fr .82fr}
  .archive-attr-birthday{padding-left:8px;padding-right:8px}
}

@media(prefers-reduced-motion:reduce){#archive .relation-card,#archive .skills span,#archive .showcase>div,.archive-edit-button,.archive-section-head>button{transition-duration:.01ms!important}}

/* product-hardening.css */
.body-structured-module{padding:18px!important;display:block!important}.body-structured-module header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.body-structured-module header p{font-size:18px;font-weight:800;margin:0}.body-structured-module header small{margin-left:auto;color:#91a6a4;font:600 9px/1.2 ui-monospace,monospace;letter-spacing:.14em}.body-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.body-fields label{min-width:0;padding:11px 9px;border:1px solid rgba(255,255,255,.72);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(239,252,249,.28));box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.body-fields span{display:block;color:#78908e;font-size:11px;margin-bottom:5px}.body-fields b{display:flex;align-items:baseline;gap:2px;color:#637a78;font-size:10px;font-weight:600;white-space:nowrap}.body-fields input{width:100%;min-width:0;border:0;background:transparent;padding:0;color:#255653;font-size:20px;font-weight:750;font-family:"SF Pro Rounded","Avenir Next Rounded",system-ui,sans-serif;outline:0}.body-fields input[aria-invalid=true]{color:#ff667b}.archive-data-section{margin-top:28px}.archive-data-section .archive-section-head>small{color:#789a96;font-size:11px}.data-vault{padding:18px;border-radius:28px}.data-vault>div:first-child{display:flex;align-items:center;gap:12px}.data-vault>div:first-child>i{display:grid;place-items:center;width:46px;height:46px;border-radius:16px;background:rgba(85,210,190,.13);color:#20a793;font-style:normal;font-size:22px}.data-vault span{display:flex;flex-direction:column;gap:3px}.data-vault b{font-size:16px;color:#284f4c}.data-vault small{font-size:11px;color:#7f9795;line-height:1.5}.data-vault-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.data-vault-actions button{height:42px;border:1px solid rgba(255,255,255,.85);border-radius:15px;background:rgba(255,255,255,.56);color:#168f80;font-weight:700;box-shadow:inset 0 1px 0 #fff,0 8px 18px rgba(60,140,130,.08)}.data-vault-actions button:first-child{background:linear-gradient(135deg,#55d5c0,#31b8aa);color:white}.data-vault p{margin:11px 2px 0;color:#90a09f;font-size:10px;line-height:1.5}.todo-reminder-permission{border:0!important;background:rgba(79,202,183,.12)!important;color:#199786!important}.todo-reminder-permission.enabled{background:rgba(79,202,183,.22)!important}.todo-date-label input{width:116px!important}@media(max-width:430px){.body-structured-module{padding:16px 13px!important}.body-fields{gap:6px}.body-fields label{padding:10px 7px;border-radius:15px}.body-fields input{font-size:18px}.data-vault{padding:16px}}

/* archive-empty-states.css */
.archive-empty-card{width:100%;min-height:116px;border:1px dashed rgba(63,176,159,.26);border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.46),rgba(239,253,250,.22));display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:17px;text-align:left;color:#2c5d58}.archive-empty-card i{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border-radius:15px;background:rgba(73,204,183,.14);font-style:normal;font-size:21px;color:#21a895}.archive-empty-card b{align-self:end;font-size:15px}.archive-empty-card span{align-self:start;color:#88a09d;font-size:11px;line-height:1.45}.archive-empty-inline{min-height:44px;padding:0 18px;border:1px dashed rgba(63,176,159,.28);border-radius:18px;background:rgba(255,255,255,.4);color:#259e8d;font-weight:700}.achievement-empty{min-height:100px}.local-ai-state.fallback{color:#bd8841!important}.local-ai-state.fallback i{background:#f3b35b!important;box-shadow:0 0 0 4px rgba(243,179,91,.13)!important}

/* apple-liquid-tabbar.css */
/* Bottom navigation — quiet iOS-style liquid glass, scoped to the tab bar only. */
.app-shell{--ios-tab-height:68px}
.app-shell .tabbar{
  --tab-accent:#18a898;
  position:absolute;
  z-index:18;
  left:max(14px,var(--ios-safe-left,0px));
  right:max(14px,var(--ios-safe-right,0px));
  bottom:var(--ios-tab-bottom,calc(env(safe-area-inset-bottom,0px) + 10px));
  height:68px;
  padding:5px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
  gap:0;
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(255,255,255,.42);
  border-radius:25px;
  background:
    radial-gradient(120% 170% at 4% -48%,rgba(255,255,255,.48),transparent 55%),
    linear-gradient(118deg,rgba(255,255,255,.16),rgba(245,251,250,.055) 47%,rgba(255,255,255,.09)),
    rgba(233,242,240,.075);
  -webkit-backdrop-filter:blur(25px) saturate(210%) contrast(104%);
  backdrop-filter:blur(25px) saturate(210%) contrast(104%);
  box-shadow:
    inset 0 1.3px 1px rgba(255,255,255,.88),
    inset 1px 0 1px rgba(255,255,255,.30),
    inset -1px -1px 1.5px rgba(28,78,70,.075),
    inset 0 -2px 3px rgba(22,67,60,.10),
    0 15px 38px rgba(34,78,72,.14),
    0 3px 9px rgba(34,78,72,.055);
}
.app-shell .tabbar::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:1px;
  border-radius:23px;
  pointer-events:none;
  background:
    radial-gradient(70% 82% at 16% -20%,rgba(255,255,255,.88),transparent 54%),
    radial-gradient(60% 76% at 101% 116%,rgba(30,100,89,.07),transparent 64%),
    linear-gradient(106deg,transparent 15%,rgba(255,255,255,.20) 40%,transparent 61%);
  filter:blur(.15px);
  opacity:.8;
}
.app-shell .tabbar::after{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  padding:1px;
  border-radius:25px;
  pointer-events:none;
  background:linear-gradient(132deg,rgba(255,255,255,.94) 0 18%,rgba(255,255,255,.19) 42%,rgba(40,106,96,.06) 69%,rgba(27,72,65,.13));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  filter:blur(.35px);
  opacity:.72;
  mix-blend-mode:normal;
}
.app-shell .tabbar .tab-liquid{
  position:absolute;
  z-index:1;
  top:5px;
  bottom:5px;
  left:0;
  width:calc((100% - 10px)/4);
  border:1px solid rgba(255,255,255,.46);
  border-radius:20px;
  pointer-events:none;
  background:
    radial-gradient(95% 78% at 20% -11%,rgba(255,255,255,.86),transparent 57%),
    radial-gradient(72% 100% at 108% 112%,rgba(28,89,80,.10),transparent 66%),
    linear-gradient(135deg,rgba(255,255,255,.25),rgba(255,255,255,.075) 49%,rgba(224,239,236,.10));
  -webkit-backdrop-filter:blur(16px) saturate(225%) contrast(105%);
  backdrop-filter:blur(16px) saturate(225%) contrast(105%);
  box-shadow:
    inset 0 1.4px 1px rgba(255,255,255,.94),
    inset 1px 0 1px rgba(255,255,255,.38),
    inset -1px -1px 1.5px rgba(25,73,66,.08),
    inset 0 -2px 3px rgba(21,68,60,.11),
    0 6px 16px rgba(29,82,74,.105);
  transition:width 470ms cubic-bezier(.16,1.12,.3,1),transform 560ms cubic-bezier(.16,1.14,.3,1),border-radius 250ms ease,filter 220ms ease;
  will-change:transform,width;
  transform-origin:center;
}
.app-shell .tabbar .tab-liquid::before{
  content:"";
  position:absolute;
  inset:1px 8px auto;
  height:46%;
  border-radius:50%;
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.02));
  filter:blur(.4px);
  opacity:.78;
}
.app-shell .tabbar .tab-liquid::after{
  content:"";
  display:block;
  position:absolute;
  width:18px;height:18px;
  right:7px;bottom:5px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 26%,rgba(255,255,255,.88),rgba(255,255,255,.13) 30%,rgba(51,151,135,.06) 58%,transparent 73%);
  filter:blur(.25px);
  opacity:.42;
  transition:transform 520ms cubic-bezier(.16,1.14,.3,1),opacity 180ms ease;
}
.app-shell .tabbar .tab-liquid.flowing{animation:apple-tab-flow 640ms linear both}
.app-shell .tabbar .tab-liquid.flow-right{transform-origin:left center}
.app-shell .tabbar .tab-liquid.flow-left{transform-origin:right center}
.app-shell .tabbar .tab-liquid.flow-right::before{animation:apple-highlight-right 620ms cubic-bezier(.16,1,.3,1)}
.app-shell .tabbar .tab-liquid.flow-left::before{animation:apple-highlight-left 620ms cubic-bezier(.16,1,.3,1)}
.app-shell .tabbar .tab-liquid.flow-right::after{animation:apple-lens-right 620ms cubic-bezier(.16,1,.3,1)}
.app-shell .tabbar .tab-liquid.flow-left::after{animation:apple-lens-left 620ms cubic-bezier(.16,1,.3,1)}
@keyframes apple-tab-flow{
  0%{scale:1 1;border-radius:20px;filter:none}
  22%{scale:1.13 .90;border-radius:28px 15px 28px 15px;filter:brightness(1.055) saturate(1.10)}
  46%{scale:.975 1.045;border-radius:17px 25px 17px 25px;filter:brightness(1.025)}
  65%{scale:1.028 .985;border-radius:22px 18px 22px 18px}
  82%{scale:.992 1.012;border-radius:19px 21px 19px 21px}
  100%{scale:1 1;border-radius:20px;filter:none}
}
@keyframes apple-highlight-right{0%{transform:translateX(-18%) scaleX(.76);opacity:.55}32%{transform:translateX(19%) scaleX(1.18);opacity:.94}72%{transform:translateX(-3%) scaleX(.97);opacity:.76}100%{transform:none;opacity:.78}}
@keyframes apple-highlight-left{0%{transform:translateX(18%) scaleX(.76);opacity:.55}32%{transform:translateX(-19%) scaleX(1.18);opacity:.94}72%{transform:translateX(3%) scaleX(.97);opacity:.76}100%{transform:none;opacity:.78}}
@keyframes apple-lens-right{0%{transform:translateX(-8px) scale(.72);opacity:.22}30%{transform:translateX(22px) scale(1.55,.66);opacity:.62}68%{transform:translateX(-3px) scale(.92,1.08);opacity:.46}100%{transform:none;opacity:.42}}
@keyframes apple-lens-left{0%{transform:translateX(8px) scale(.72);opacity:.22}30%{transform:translateX(-22px) scale(1.55,.66);opacity:.62}68%{transform:translateX(3px) scale(.92,1.08);opacity:.46}100%{transform:none;opacity:.42}}
.app-shell .tabbar button{
  position:relative;
  z-index:2;
  min-width:0;
  height:58px;
  padding:5px 8px 4px;
  border:0;
  border-radius:18px;
  background:transparent!important;
  color:#526d69;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Noto Sans SC",sans-serif;
  font-size:10px;
  line-height:1;
  font-weight:550;
  letter-spacing:0;
  text-shadow:none;
  transform:none;
  -webkit-tap-highlight-color:transparent;
  transition:color 210ms ease,transform 170ms cubic-bezier(.2,.8,.2,1);
}
.app-shell .tabbar button:active{transform:scale(.955)}
.app-shell .tabbar button.selected{
  color:#0c8f81;
  background:transparent!important;
  transform:none;
  text-shadow:none;
}
.app-shell .tabbar button b{font:inherit;color:inherit;white-space:nowrap}
.app-shell .tabbar .tab-icon{
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  transform:none;
  transition:transform 300ms cubic-bezier(.2,.85,.25,1);
}
.app-shell .tabbar button.selected .tab-icon{transform:translateY(-1px) scale(1.045)}
.app-shell .tabbar .tab-icon svg{
  display:block;
  width:24px;
  height:24px;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.app-shell .tabbar .tab-icon .tab-icon-core{fill:currentColor;stroke:none}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.app-shell .tabbar{background:rgba(247,252,251,.91)}.app-shell .tabbar .tab-liquid{background:rgba(229,248,244,.82)}}
@media (max-height:760px){.app-shell .tabbar{height:62px;padding:4px}.app-shell .tabbar button{height:54px}.app-shell .tabbar .tab-liquid{top:4px;bottom:4px}}
@media (prefers-reduced-motion:reduce){.app-shell .tabbar .tab-liquid,.app-shell .tabbar .tab-liquid::before,.app-shell .tabbar .tab-liquid::after,.app-shell .tabbar button,.app-shell .tabbar .tab-icon{transition-duration:.01ms!important;animation:none!important}}

/* focus-library.css */
.focus-page{padding:34px 24px 150px;background:radial-gradient(circle at 5% 8%,rgba(77,211,191,.2),transparent 30%),radial-gradient(circle at 100% 40%,rgba(255,117,105,.12),transparent 34%),#f7fbfa;color:#254947;overflow-y:auto}
.focus-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.focus-topbar .eyebrow{margin:0 0 5px;color:#83a09f;font:700 10px/1.2 ui-monospace,monospace;letter-spacing:.16em}.focus-topbar h1{margin:0;font-size:34px;line-height:1;font-weight:760;letter-spacing:-.05em}.focus-topbar span{display:block;margin-top:9px;color:#78918f;font-size:13px}.focus-topbar>button{flex:none;border:1px solid rgba(255,255,255,.9);border-radius:18px;padding:11px 14px;color:#149c8e;background:rgba(255,255,255,.48);box-shadow:inset 0 1px 0 #fff,0 8px 24px rgba(34,109,101,.08);backdrop-filter:blur(20px) saturate(145%);font-weight:700}
.focus-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:5px;border:1px solid rgba(255,255,255,.9);border-radius:23px;background:rgba(255,255,255,.43);box-shadow:inset 0 1px 0 #fff,0 10px 30px rgba(45,112,104,.08);backdrop-filter:blur(24px) saturate(150%)}.focus-switch button{display:flex;align-items:center;justify-content:center;gap:7px;height:52px;border:0;border-radius:18px;color:#6c8987;background:transparent;font-weight:700;transition:.28s cubic-bezier(.2,.8,.2,1)}.focus-switch button i{font-style:normal;font-size:18px}.focus-switch button.selected{color:#127f75;background:linear-gradient(135deg,rgba(166,239,229,.8),rgba(255,255,255,.68));box-shadow:inset 0 1px 0 #fff,0 6px 16px rgba(36,173,157,.13);transform:scale(1.015)}
.focus-categories{display:flex;gap:8px;overflow-x:auto;padding:15px 1px 12px;scrollbar-width:none}.focus-categories::-webkit-scrollbar{display:none}.focus-categories button{flex:none;border:1px solid rgba(87,160,151,.12);border-radius:999px;padding:8px 13px;background:rgba(255,255,255,.5);color:#75918e;font-size:12px;font-weight:700}.focus-categories button.selected{color:#fff;border-color:transparent;background:#42c7b5;box-shadow:0 6px 15px rgba(52,190,172,.22)}
.focus-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.focus-tool-card{position:relative;min-height:190px;padding:17px;text-align:left;border:1px solid rgba(255,255,255,.95);border-radius:25px;background:linear-gradient(145deg,rgba(255,255,255,.75),rgba(245,253,251,.48));box-shadow:inset 0 1px 0 #fff,0 12px 28px rgba(44,107,100,.07);color:#28504c;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.focus-tool-card:active{transform:scale(.975)}.focus-tool-card:after{content:"";position:absolute;width:80px;height:80px;right:-28px;top:-30px;border:18px solid rgba(80,203,187,.06);border-radius:50%}.focus-tool-top{display:flex;justify-content:space-between;align-items:center}.focus-tool-top small{font:700 10px/1.2 ui-monospace,monospace;letter-spacing:.12em;color:#35a797}.focus-tool-top i{position:relative;z-index:1;color:#ff756f;font-style:normal;font-size:18px}.focus-tool-card>b{display:block;margin-top:15px;font-size:21px;line-height:1.12;letter-spacing:-.025em}.focus-tool-card>em{display:block;margin-top:5px;color:#79918f;font-size:11px;font-style:normal}.focus-tool-card>p{margin:14px 0 25px;color:#607d7a;font-size:12px;line-height:1.55}.focus-tool-open{position:absolute;left:17px;bottom:15px;color:#269f92;font-size:11px;font-weight:700}.focus-tool-open i{font-style:normal;font-size:16px}.focus-empty{grid-column:1/-1;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8ca3a1}.focus-empty i{font-style:normal;font-size:35px}.focus-empty b{margin-top:10px;color:#5e7c79}.focus-empty span{margin-top:5px;font-size:12px}
.focus-library.english-mode{display:block}.english-toolkit{display:flex;flex-direction:column;gap:13px;margin-top:15px}.english-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.english-tool-panel{min-width:0;min-height:226px;padding:16px;border:1px solid rgba(255,255,255,.94);border-radius:25px;background:rgba(255,255,255,.58);box-shadow:inset 0 1px 0 #fff,0 10px 28px rgba(49,107,101,.07)}.english-tool-panel>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.english-tool-panel header small,.daily-reading header small{color:#41a99c;font:700 9px/1.2 ui-monospace,monospace;letter-spacing:.13em}.english-tool-panel h2,.daily-reading h2{margin:4px 0 0;color:#315956;font-size:18px;letter-spacing:-.025em}.english-word-panel header em{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:rgba(80,207,190,.13);color:#22a994;font:700 12px/1 system-ui}.english-tool-panel form{display:grid;grid-template-columns:1fr 38px;gap:7px}.english-word-panel form{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr) 36px}.english-tool-panel input{width:100%;min-width:0;height:38px;padding:0 10px;border:1px solid rgba(55,145,135,.11);border-radius:12px;outline:0;background:rgba(255,255,255,.64);color:#315653;font-size:11px}.english-tool-panel input:focus{border-color:rgba(47,190,172,.52);box-shadow:0 0 0 3px rgba(75,205,187,.09)}.english-tool-panel form button{height:38px;padding:0 10px;border:0;border-radius:12px;background:#4bcbb9;color:#fff;font-weight:750}.english-word-list{display:flex;flex-direction:column;gap:6px;max-height:122px;margin-top:10px;overflow:auto;scrollbar-width:none}.english-word-chip{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border-radius:13px;background:rgba(233,249,246,.68)}.english-word-chip span{min-width:0}.english-word-chip b{display:block;overflow:hidden;text-overflow:ellipsis;color:#315b57;font-size:12px}.english-word-chip small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8aa09e;font-size:9px}.english-word-chip button{flex:none;width:25px;height:25px;border:0;border-radius:50%;background:transparent;color:#9aafad;font-size:16px}.english-tool-empty{padding:20px 4px;text-align:center;color:#9aafad;font-size:10px}.root-online-dot{width:9px;height:9px;border-radius:50%;background:#4dd0bb;box-shadow:0 0 0 5px rgba(77,208,187,.11)}.root-lookup-result{min-height:118px;margin-top:10px;padding:11px;border-radius:15px;background:rgba(238,250,248,.67);color:#7e9693}.root-lookup-result>span{font-size:10px;line-height:1.5}.root-lookup-result.loading{display:grid;place-items:center}.root-lookup-result.error b,.root-lookup-result.ready b{display:block;color:#315a56;font-size:13px}.root-lookup-result.error span{display:block;margin-top:5px}.root-lookup-result.ready{max-height:135px;overflow:auto}.root-lookup-result.ready small{color:#30a596;font:700 8px/1.2 ui-monospace,monospace;letter-spacing:.1em}.root-lookup-result.ready p{margin:5px 0;color:#5d7774;font-size:9px;line-height:1.5}.root-lookup-result.ready em{color:#35a597;font-size:8px;font-style:normal}
.daily-reading{position:relative;padding:20px;border:1px solid rgba(255,255,255,.96);border-radius:28px;background:linear-gradient(135deg,rgba(235,253,249,.8),rgba(255,255,255,.67) 48%,rgba(255,238,235,.44));box-shadow:inset 0 1px 0 #fff,0 14px 32px rgba(43,104,98,.08);overflow:hidden}.daily-reading:after{content:'Aa';position:absolute;right:-9px;top:26px;color:rgba(60,185,169,.055);font:800 100px/1 Georgia,serif}.daily-reading>header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between}.daily-reading>header button{border:0;border-radius:999px;padding:8px 11px;background:rgba(255,255,255,.67);color:#3da699;font-size:10px;font-weight:700}.reading-source-line{position:relative;z-index:1;display:flex;gap:7px;margin-top:18px}.reading-source-line>*{padding:5px 8px;border-radius:999px;background:rgba(81,203,187,.1);color:#3c968b;font-size:9px}.reading-source-line b{background:#4acbb8;color:#fff}.daily-reading h3{position:relative;z-index:1;max-width:88%;margin:13px 0 3px;color:#274e4b;font-size:24px;line-height:1.16;letter-spacing:-.035em}.reading-author{margin:0;color:#829a97;font-size:10px}.reading-intro{position:relative;z-index:1;margin:16px 0 12px;color:#577471;font-size:12px;line-height:1.65}.daily-reading blockquote{position:relative;z-index:1;margin:0;padding:14px 15px;border-left:3px solid #4bcbb9;border-radius:0 16px 16px 0;background:rgba(255,255,255,.54);color:#345d59;font:600 14px/1.55 Georgia,serif}.daily-reading>footer{position:relative;z-index:1;display:flex;align-items:center;gap:7px;margin-top:14px}.daily-reading>footer>*{height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:0;border-radius:13px;text-decoration:none;font-size:10px;font-weight:750}.reading-speak{color:#118f82;background:rgba(190,242,234,.65)}.daily-reading footer a{color:#537b77;background:rgba(255,255,255,.68)}.reading-complete{margin-left:auto;color:#fff;background:#4bcbb9}.reading-complete.done{color:#199789;background:rgba(197,242,235,.7)}
.focus-detail{position:fixed;z-index:140;left:max(0px,calc(50% - 215px));bottom:0;width:min(100vw,430px);max-height:min(78vh,680px);padding:16px 22px calc(22px + env(safe-area-inset-bottom));border:1px solid rgba(255,255,255,.96);border-radius:34px 34px 0 0;background:linear-gradient(145deg,rgba(243,255,252,.94),rgba(255,249,247,.91));box-shadow:0 -20px 60px rgba(35,86,81,.2),inset 0 1px 0 #fff;backdrop-filter:blur(34px) saturate(155%);transform:translateY(105%);transition:transform .38s cubic-bezier(.2,.8,.2,1);overflow:auto}.focus-detail.open{transform:translateY(0)}.focus-detail>header{display:flex;align-items:center;justify-content:space-between;padding:3px 0 16px;border-bottom:1px solid rgba(87,139,134,.12)}.focus-detail>header small{color:#39a596;font:700 10px/1.2 ui-monospace,monospace;letter-spacing:.13em}.focus-detail h2{margin:5px 0 0;font-size:27px;letter-spacing:-.04em}.focus-detail>header button{width:43px;height:43px;border:0;border-radius:50%;background:rgba(255,255,255,.65);color:#5e8581;font-size:24px}.focus-detail>div{padding:18px 2px}.focus-detail>div p{color:#496966;font-size:14px;line-height:1.7}.focus-detail>div .focus-detail-lead{margin-top:0;color:#169d8e;font-weight:750}.focus-detail ul{margin:16px 0 0;padding:14px 17px 14px 32px;border-radius:18px;background:rgba(255,255,255,.5);color:#526f6c;font-size:13px;line-height:1.75}.focus-detail blockquote{margin:16px 0 0;padding:15px 17px;border-left:3px solid #49c9b7;border-radius:0 16px 16px 0;background:rgba(188,243,234,.25);color:#345d59;font:600 14px/1.55 system-ui}.focus-detail>footer{display:flex;gap:8px;position:sticky;bottom:0;padding-top:10px;background:linear-gradient(transparent,rgba(249,253,251,.96) 28%)}.focus-detail>footer button{height:46px;border:0;border-radius:16px;padding:0 15px;background:rgba(255,255,255,.72);color:#31998e;font-weight:750}.focus-detail>footer button:last-child{flex:1;color:#fff;background:linear-gradient(135deg,#52d2c0,#2db8a7);box-shadow:0 8px 20px rgba(44,184,166,.2)}
#archive .archive-report-block{margin-top:10px;padding-top:11px;border-top:1px solid rgba(63,127,120,.12)}#archive .archive-report-block>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}#archive .archive-report-block h3{margin:0;font-size:14px;color:#365f5b}#archive .archive-report-block header span{font-size:10px;color:#94a8a6}#archive .report-periods{display:flex;gap:4px;padding:3px;border-radius:14px;background:rgba(255,255,255,.35)}#archive .report-periods button{flex:1;height:34px;border:0;border-radius:11px;background:transparent;color:#829997;font-size:11px}#archive .report-periods button.selected{color:#159c8e;background:rgba(255,255,255,.8);box-shadow:0 4px 12px rgba(39,113,105,.08)}#archive .ai-report-content{margin-top:8px;padding:12px 14px;border-radius:15px;background:rgba(255,255,255,.4);color:#607c79;font-size:12px;line-height:1.6}#archive #generateReport{width:100%;height:40px;margin-top:8px;border:0;border-radius:14px;color:#fff;background:#44c8b7;font-weight:750}
@media(max-width:360px){.focus-page{padding-left:18px;padding-right:18px}.focus-topbar span{display:none}.focus-library{gap:9px}.focus-tool-card{min-height:180px;padding:14px}.focus-tool-card>b{font-size:19px}}
.focus-library.fitness-mode{display:block}.fitness-toolkit{display:flex;flex-direction:column;gap:14px;margin-top:15px}.muscle-map-card{padding:17px 17px 12px;border:1px solid rgba(255,255,255,.95);border-radius:29px;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(234,252,248,.48));box-shadow:inset 0 1px 0 #fff,0 14px 34px rgba(38,104,98,.08)}.muscle-map-card>header,.muscle-action-section>header{display:flex;align-items:center;justify-content:space-between}.muscle-map-card header small,.muscle-action-section header small{color:#37a697;font:700 9px/1.2 ui-monospace,monospace;letter-spacing:.14em}.muscle-map-card h2,.muscle-action-section h2{margin:4px 0 0;color:#2c5552;font-size:19px}.muscle-map-card>header button{border:1px solid rgba(67,174,161,.13);border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.65);color:#6f918e;font-size:10px;font-weight:700}.muscle-map-card>header button.selected{color:#fff;background:#48c9b7}.muscle-map-stage{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.body-map{position:relative;min-width:0;padding:10px 8px 2px;border-radius:21px;background:linear-gradient(180deg,rgba(242,253,251,.68),rgba(255,247,245,.42));text-align:center}.body-map>span{display:inline-block;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.65);color:#7a9693;font-size:9px;font-weight:700}.body-map svg{display:block;width:100%;height:245px;margin-top:2px;overflow:visible}.body-base{fill:#dce8e6;stroke:#b7cdca;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.body-base path:nth-child(n+2){fill:none;stroke-width:9}.muscle-region{fill:rgba(72,198,180,.44);stroke:rgba(31,155,141,.75);stroke-width:1.5;cursor:pointer;outline:none;transform-box:fill-box;transform-origin:center;transition:fill .18s ease,stroke .18s ease,filter .18s ease,transform .18s ease}.muscle-region:hover,.muscle-region:focus{fill:rgba(255,112,112,.58);stroke:#ff716f;filter:drop-shadow(0 0 5px rgba(255,102,104,.35));transform:scale(1.035)}.muscle-region.active{fill:rgba(255,101,103,.78);stroke:#ff595e;stroke-width:2;filter:drop-shadow(0 0 7px rgba(255,91,95,.42))}.muscle-map-card>footer{display:flex;align-items:center;gap:7px;margin-top:2px;padding:9px 7px 2px;color:#7d9693;font-size:9px}.muscle-map-card>footer i{width:8px;height:8px;border-radius:50%;background:#50cbb9;box-shadow:0 0 0 4px rgba(80,203,185,.12)}.muscle-map-card>footer b{margin-left:auto;color:#f06669;font-size:11px}.muscle-action-section{padding:3px 1px}.muscle-action-section>header{padding:0 4px 10px}.muscle-action-section>header em{padding:6px 9px;border-radius:999px;background:rgba(70,198,181,.1);color:#36998d;font-size:9px;font-style:normal}.muscle-action-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.muscle-action-card{min-width:0;min-height:84px;display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border:1px solid rgba(255,255,255,.94);border-radius:19px;background:rgba(255,255,255,.58);text-align:left;color:#305955;box-shadow:inset 0 1px 0 #fff,0 8px 20px rgba(41,104,98,.055)}.muscle-action-card>span{min-width:0}.muscle-action-card small{display:block;color:#38a697;font:700 8px/1.2 ui-monospace,monospace}.muscle-action-card b{display:block;margin-top:5px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.muscle-action-card em{display:block;margin-top:3px;color:#879d9b;font-size:8px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.muscle-action-card>i{color:#42bbaa;font-size:22px;font-style:normal}.muscle-action-card:active{transform:scale(.97)}
.root-lookup-result.ready>strong{display:block;margin-top:3px;color:#27a294;font-size:11px}.root-word-cloud{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.root-word-cloud span{padding:4px 6px;border-radius:8px;background:rgba(74,201,184,.11);color:#347d75;font-size:8px;line-height:1.2}.root-lookup-result.ready{scrollbar-width:thin}
.root-word-cloud button{padding:5px 7px;border:0;border-radius:9px;background:rgba(74,201,184,.12);color:#347d75;font-size:9px;line-height:1.2;transition:transform .16s ease,background .16s ease}.root-word-cloud button:active{transform:scale(.94);background:rgba(74,201,184,.25)}.root-word-detail{margin-top:8px;padding:9px;border:1px solid rgba(57,166,153,.1);border-radius:12px;background:rgba(255,255,255,.55);color:#78918e}.root-word-detail>span{font-size:8px}.root-word-detail.loading{display:flex;align-items:center;gap:7px}.root-word-detail header{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.root-word-detail header b{color:#285954;font-size:13px}.root-word-detail header i{color:#7c9693;font-size:9px;font-style:normal}.root-word-detail header strong{margin-left:auto;color:#20a18f;font-size:9px}.root-word-detail ul{margin:7px 0 0;padding:0;list-style:none}.root-word-detail li{display:grid;grid-template-columns:auto 1fr;gap:6px;margin-top:5px}.root-word-detail li em{align-self:start;padding:2px 4px;border-radius:5px;background:rgba(71,198,181,.12);color:#29998b;font-size:7px;font-style:normal}.root-word-detail li span{color:#526f6c;font-size:8px;line-height:1.4}
.root-chinese-meaning{margin:6px 0 0!important;padding:7px 8px;border-radius:9px;background:rgba(77,203,186,.1);color:#237b72!important;font:700 11px/1.45 system-ui!important}.root-word-detail details{margin-top:6px}.root-word-detail summary{color:#829996;font-size:8px;cursor:pointer}.root-word-detail details ul{padding-top:2px;border-top:1px solid rgba(69,145,137,.08)}
.reading-full-text{position:relative;z-index:1;max-height:188px;margin-top:14px;padding:15px 16px 26px;border-radius:18px;background:rgba(255,255,255,.5);overflow:hidden;transition:max-height .45s cubic-bezier(.2,.8,.2,1)}.reading-full-text:after{content:"";position:absolute;left:0;right:0;bottom:0;height:66px;background:linear-gradient(transparent,rgba(249,253,251,.98));pointer-events:none}.reading-full-text.expanded{max-height:1600px}.reading-full-text.expanded:after{opacity:0}.reading-full-text p{margin:0 0 14px;color:#3f615e;font:500 13px/1.76 Georgia,serif}.reading-full-text p:last-child{margin-bottom:0}.reading-expand{position:relative;z-index:2;display:block;margin:-15px auto 0;padding:8px 14px;border:1px solid rgba(255,255,255,.9);border-radius:999px;background:rgba(240,253,250,.94);box-shadow:0 5px 14px rgba(36,111,103,.08);color:#269f91;font-size:10px;font-weight:750}.reading-expand i{font-style:normal}.reading-rights-note{margin:8px 0 0;color:#96aaa8;font-size:9px;text-align:right}
.english-word-panel form{grid-template-columns:minmax(0,1fr) 36px}.english-word-panel form input:nth-child(2){grid-column:1/-1;grid-row:2}.english-word-panel form button{grid-column:2;grid-row:1}
.focus-detail[aria-hidden="true"]{transform:translateY(calc(100% + 32px))!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .16s ease,visibility 0s linear .35s!important}
.focus-detail.open[aria-hidden="false"]{transform:translateY(0)!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .16s ease!important}
@media(prefers-reduced-motion:reduce){.focus-detail,.focus-switch button,.focus-tool-card{transition:none}}
.anatomy-stage.direct-svg{aspect-ratio:407/354}.anatomy-stage.direct-svg>.inline-muscle-svg{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .2s ease}.anatomy-stage.direct-svg.loaded>.inline-muscle-svg{opacity:1}.inline-muscle-svg>svg,.inline-muscle-svg>.muscle-svg-fallback{display:block;width:100%;height:100%;object-fit:contain}.anatomy-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#8ba19f;font-size:12px}.anatomy-loading b{font-size:13px;color:#496e69}.anatomy-loading button{border:1px solid rgba(44,168,151,.2);border-radius:999px;background:rgba(255,255,255,.62);color:#159b88;padding:9px 16px;font:inherit;font-weight:700}.anatomy-stage.direct-svg.loaded .anatomy-loading{display:none}
.body-muscles-stage{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-height:360px;margin:8px 0 10px;padding:8px 4px 0;border-radius:24px;background:linear-gradient(135deg,rgba(222,251,244,.34),rgba(255,239,234,.27));overflow:hidden}.body-muscle-view{position:relative;min-width:0;height:360px}.body-muscle-view>span{position:absolute;z-index:2;top:8px;left:50%;transform:translateX(-50%);padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.9);color:#5c827d;font-size:12px;font-weight:700;pointer-events:none}.body-muscle-view>div{width:100%;height:100%}.body-muscle-view .body-chart-container{padding:32px 4px 4px!important}.body-muscle-view .body-chart-svg{width:100%!important;height:100%!important;max-width:none!important;max-height:315px!important;filter:drop-shadow(0 8px 16px rgba(33,111,99,.08))!important;overflow:visible}.body-muscle-view .body-chart-svg path{stroke:rgba(53,116,107,.52);stroke-width:.11;vector-effect:non-scaling-stroke}.body-muscle-view .body-chart-svg path:hover{filter:brightness(1.03) drop-shadow(0 0 1.6px rgba(255,114,95,.55))}
.muscle-map-card.anatomical .anatomy-stage{aspect-ratio:407/354}.muscle-map-card.anatomical .anatomy-stage>img{inset:0;width:100%;height:100%;object-fit:contain;filter:saturate(.78) hue-rotate(116deg) brightness(1.04);opacity:.86}.anatomy-hotspots{position:absolute;z-index:2;inset:0}.anatomy-hotspot{position:absolute;display:block;padding:0;border:2px solid transparent;background:transparent;opacity:1;cursor:pointer;outline:none;transition:background .16s ease,border-color .16s ease,filter .16s ease,transform .16s ease}.anatomy-hotspot.round{border-radius:42%}.anatomy-hotspot.limb{border-radius:45% 45% 38% 38%}.anatomy-hotspot.abs{border-radius:38% 38% 46% 46%}.anatomy-hotspot.chest{clip-path:polygon(5% 18%,34% 0,50% 18%,66% 0,95% 18%,88% 88%,50% 100%,12% 88%)}.anatomy-hotspot.traps{clip-path:polygon(50% 0,100% 38%,76% 100%,24% 100%,0 38%)}.anatomy-hotspot.lats{clip-path:polygon(10% 0,90% 0,100% 75%,50% 100%,0 75%)}.anatomy-hotspot:hover,.anatomy-hotspot:focus-visible{border-color:rgba(255,92,96,.72);background:rgba(255,105,107,.13);filter:drop-shadow(0 0 5px rgba(255,85,90,.36))}.anatomy-hotspot.active{border-color:#ff6266;background:rgba(255,100,103,.24);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);filter:drop-shadow(0 0 7px rgba(255,80,86,.55));transform:scale(1.025)}
.muscle-map-card.anatomical{padding:17px 14px 11px}.anatomy-stage{position:relative;width:100%;aspect-ratio:407/440;margin-top:10px;border-radius:22px;background:radial-gradient(circle at 28% 42%,rgba(86,211,194,.09),transparent 31%),radial-gradient(circle at 74% 42%,rgba(255,115,108,.07),transparent 31%),rgba(250,254,253,.58);overflow:hidden}.anatomy-stage>img,.anatomy-stage>svg{position:absolute;inset:12px 5px 7px;width:calc(100% - 10px);height:calc(100% - 19px)}.anatomy-stage>img{object-fit:fill;filter:saturate(.74) hue-rotate(116deg) brightness(1.04);opacity:.84;pointer-events:none}.anatomy-stage>svg{z-index:2;overflow:visible}.anatomy-hit{fill:rgba(72,202,184,.025);stroke:transparent;stroke-width:2.5;cursor:pointer;outline:none;vector-effect:non-scaling-stroke;transition:fill .18s ease,stroke .18s ease,filter .18s ease}.anatomy-hit:hover,.anatomy-hit:focus{fill:rgba(255,105,104,.2);stroke:rgba(255,91,94,.8);filter:drop-shadow(0 0 5px rgba(255,88,92,.48))}.anatomy-hit.active{fill:rgba(255,99,100,.34);stroke:#ff6265;stroke-width:3;filter:drop-shadow(0 0 7px rgba(255,82,88,.65))}.anatomy-view-label{position:absolute;z-index:3;top:15px;padding:5px 9px;border:1px solid rgba(255,255,255,.8);border-radius:999px;background:rgba(255,255,255,.72);backdrop-filter:blur(8px);color:#668783;font-size:9px;font-weight:750;pointer-events:none}.anatomy-view-label.front{left:22%}.anatomy-view-label.back{right:20%}.muscle-chip-row{display:flex;gap:6px;margin:9px 0 2px;padding:1px;overflow-x:auto;scrollbar-width:none}.muscle-chip-row::-webkit-scrollbar{display:none}.muscle-chip-row button{flex:none;padding:6px 8px;border:1px solid rgba(58,154,144,.1);border-radius:999px;background:rgba(255,255,255,.55);color:#678783;font-size:8px}.muscle-chip-row button.active{border-color:transparent;background:#ff7775;color:#fff;box-shadow:0 4px 12px rgba(255,100,101,.2)}.anatomy-credit{display:block;margin:7px 7px 0;color:#a3b2b0;font-size:6.5px;line-height:1.35}.muscle-map-card.anatomical>footer{margin-top:2px}
.body-base path:first-of-type{fill:#dce8e6!important;stroke-width:2!important}.body-base path:last-child{fill:none!important;stroke-width:9!important}

/* Muscle atlas hierarchy: quiet instruction, prominent current target. */
.muscle-map-card.anatomical>header h2{margin-top:5px;font-size:17px;line-height:1.25;letter-spacing:-.02em}
.muscle-map-card.anatomical>footer{min-height:34px;padding:7px 5px 1px}
.muscle-map-card.anatomical>footer b{flex:none;margin-left:auto;padding:6px 10px;border:1px solid rgba(255,103,101,.18);border-radius:999px;background:linear-gradient(135deg,rgba(255,118,113,.13),rgba(255,255,255,.72));box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 5px 14px rgba(255,96,95,.09);color:#f05f63;font-size:14px;line-height:1.15;font-weight:800;letter-spacing:-.01em;white-space:nowrap}
.exercise-demo{margin:0 0 18px;padding:11px;border:1px solid rgba(255,255,255,.92);border-radius:23px;background:linear-gradient(145deg,rgba(231,253,248,.68),rgba(255,246,243,.58));box-shadow:inset 0 1px 0 #fff,0 12px 26px rgba(44,106,99,.07)}.exercise-demo>header{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 9px}.exercise-demo>header small{display:block;color:#35a696;font:750 8px/1.2 ui-monospace,monospace;letter-spacing:.14em}.exercise-demo>header b{display:block;margin-top:2px;color:#315b56;font-size:15px}.exercise-demo>header>span{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.6);color:#75928f;font-size:9px}.exercise-demo-stage{position:relative;display:grid;place-items:center;aspect-ratio:16/10;border-radius:17px;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.96),rgba(231,248,244,.72));overflow:hidden}.exercise-demo-stage img,.exercise-demo-stage canvas{width:100%;height:100%;object-fit:contain}.exercise-demo-loading,.exercise-demo-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#789592;font-size:11px}.exercise-demo-loading i{width:24px;height:24px;border:2px solid rgba(62,190,173,.18);border-top-color:#48c7b5;border-radius:50%;animation:exercise-demo-spin .8s linear infinite}.exercise-demo-error b{color:#496e69;font-size:13px}.exercise-demo-error span{font-size:10px}.exercise-demo>footer{display:flex;align-items:center;gap:7px;padding:9px 2px 0}.exercise-demo>footer button{height:32px;border:1px solid rgba(48,168,153,.12);border-radius:11px;padding:0 10px;background:rgba(255,255,255,.68);color:#249f91;font-size:10px;font-weight:750}.exercise-demo>footer button:first-child{width:34px;padding:0}.exercise-demo>footer small{margin-left:auto;color:#9aacab;font-size:7px}.exercise-demo.paused .exercise-demo-stage:after{content:'已暂停';position:absolute;right:9px;bottom:8px;padding:4px 7px;border-radius:999px;background:rgba(35,76,72,.62);color:#fff;font-size:8px;backdrop-filter:blur(8px)}@keyframes exercise-demo-spin{to{transform:rotate(360deg)}}
.exercise-demo [hidden],.exercise-demo>footer[hidden]{display:none!important}
.exercise-demo-stage{aspect-ratio:1/1;min-height:0}
.exercise-demo-stage img,.exercise-demo-stage canvas{display:block;width:100%!important;height:100%!important;max-width:100%;max-height:100%;object-fit:contain!important;object-position:center center!important}

/* ios-motion-alignment.css */
/* Final motion pass: responsive first, spring only during release/settling. */
:root{
  --motion-response:120ms;
  --motion-settle:320ms;
  --motion-sheet:440ms;
  --motion-spring:cubic-bezier(.18,.89,.28,1.08);
  --motion-decelerate:cubic-bezier(.16,1,.3,1);
}

.page.page-enter-forward,
.page.page-enter-back{
  animation-duration:330ms!important;
  animation-timing-function:var(--motion-decelerate)!important;
}
@keyframes ios-page-in-forward{
  from{opacity:.42;transform:translate3d(18px,0,0) scale(.996)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@keyframes ios-page-in-back{
  from{opacity:.42;transform:translate3d(-14px,0,0) scale(.996)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}

button,.module-card,.compact-counter,.relation-card,.showcase>div,
.quote-card,.memory-preview,.profile,.progress{
  transition-duration:var(--motion-settle),260ms,260ms,var(--motion-response)!important;
  transition-timing-function:var(--motion-spring),ease,ease,ease!important;
}
button:active,.module-card:active,.compact-counter:active,.relation-card:active,
.showcase>div:active{transition-duration:var(--motion-response)!important;transform:scale(.975)}
.memory-preview:active,.quote-card:active,.profile:active,.progress:active{
  transition-duration:var(--motion-response)!important;
  transform:scale(.988);
}

.todo-drawer,.module-editor,.archive-editor,.avatar-cropper{
  transition-duration:var(--motion-sheet),var(--motion-sheet),220ms!important;
  transition-timing-function:var(--motion-decelerate),var(--motion-decelerate),ease!important;
}
.todo-drawer.open,.module-editor.open,.archive-editor.open,.avatar-cropper.open{
  animation-duration:440ms!important;
  animation-timing-function:var(--motion-decelerate)!important;
}
@keyframes ios-sheet-arrive{
  from{transform:translate3d(0,24px,0);opacity:.55}
  to{transform:translate3d(0,0,0);opacity:1}
}

.app-shell .tabbar .tab-liquid{
  transition:width 260ms var(--motion-decelerate),
    transform 420ms var(--motion-spring),
    border-radius 220ms ease,filter 180ms ease!important;
}
.app-shell .tabbar .tab-liquid.flowing{animation-duration:480ms!important}
@keyframes apple-tab-flow{
  0%{scale:1 1;border-radius:20px;filter:none}
  28%{scale:1.065 .955;border-radius:23px 18px 23px 18px;filter:brightness(1.035) saturate(1.06)}
  58%{scale:.988 1.018;border-radius:19px 22px 19px 22px;filter:brightness(1.015)}
  80%{scale:1.008 .995;border-radius:21px 19px 21px 19px}
  100%{scale:1 1;border-radius:20px;filter:none}
}
.app-shell .tabbar button{transition:color 180ms ease,transform var(--motion-response) ease!important}
.app-shell .tabbar .tab-icon{transition:transform 280ms var(--motion-spring)!important}

.train.snapping{transition-duration:300ms,180ms!important;transition-timing-function:var(--motion-decelerate),ease!important}
.station.selected-station>div{animation-duration:280ms!important;animation-timing-function:var(--motion-spring)!important}
@keyframes ios-station-pop{0%{transform:scale(.92);opacity:.58}68%{transform:scale(1.025);opacity:1}100%{transform:none}}

@media(prefers-reduced-motion:reduce){
  .page,.tab-liquid,.todo-drawer,.module-editor,.archive-editor,.avatar-cropper{animation:none!important}
}

/* brand-title.css */
#timeline .timeline-brand>.eyebrow{
  flex:0 1 auto;
  min-width:0;
  max-width:calc(100% - 142px);
  overflow:hidden;
  color:#20a894;
  font-family:"Avenir Next Heavy","Avenir Next","SF Pro Display",ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;
  font-size:clamp(21px,5.7vw,24px);
  font-weight:900;
  font-stretch:condensed;
  font-variation-settings:"wght" 900,"wdth" 94;
  letter-spacing:-.92px;
  line-height:.96;
  white-space:nowrap;
  text-shadow:0 1px 0 rgba(255,255,255,.78),0 5px 14px rgba(28,159,140,.08);
  transform:translateY(1.5px) scaleX(.89);
  transform-origin:left center;
}

@media(max-width:370px){
  #timeline .timeline-brand>.eyebrow{
    max-width:calc(100% - 137px);
    font-size:20px;
    letter-spacing:-1px;
    transform:translateY(1.5px) scaleX(.875);
  }
}

/* quote-rail-underlay.css */
/* Let the real interactive railway enter the quote glass. */
#timeline .rail-viewport{
  top:calc(var(--ios-safe-top) + var(--ios-top-gap) + 45px);
  z-index:2;
  mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 80px),transparent 100%);
  -webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 80px),transparent 100%);
}
#timeline .rail-viewport:before{
  top:0;
}
#timeline:before,
#timeline:after{
  content:none;
}
#timeline .quote-card{
  position:relative;
  z-index:20;
  isolation:isolate;
  pointer-events:auto;
}
#timeline .quote-card .quote-backdrop-blur{
  position:absolute;
  z-index:1;
  inset:0;
  display:block;
  border-radius:inherit;
  background:transparent;
  backdrop-filter:blur(16px) saturate(.9);
  -webkit-backdrop-filter:blur(16px) saturate(.9);
  pointer-events:none;
}
#timeline .timeline-brand{
  position:relative;
  z-index:7;
}
#timeline .quote-card:before,
#timeline .quote-card:after,
#timeline .quote-card>*{
  pointer-events:none;
}
#timeline .quote-card .quote-track,
#timeline .quote-card .quote-dots,
#timeline .quote-card .quote-search-trigger{
  pointer-events:auto;
}
#timeline .quote-card .quote-search-panel,
#timeline .quote-card .quote-search-panel *{
  pointer-events:none;
}
#timeline .quote-card.search-open .quote-search-panel,
#timeline .quote-card.search-open .quote-search-panel *{
  pointer-events:auto;
}
#timeline .quote-card .quote-track{
  z-index:8;
  touch-action:none;
  overscroll-behavior:contain;
  -webkit-user-select:none;
  user-select:none;
}
#timeline .quote-card .quote-slide,
#timeline .quote-card .quote-slide *{
  pointer-events:none;
}

/* The date text yields to the quote while its station passes underneath. */
#timeline .station.quote-obscured > div{
  opacity:0!important;
  filter:blur(10px);
  pointer-events:none;
}

/* archive-title-cleanup.css */
#archive .archive-topbar{
  min-height:47px;
  align-items:center;
  padding:0 2px 5px;
}
#archive .archive-topbar h1{
  margin:0;
  font-family:'Avenir Next Heavy','Avenir Next','SF Pro Display',ui-rounded,system-ui,sans-serif;
  font-size:28px;
  font-weight:900;
  line-height:1;
  letter-spacing:-1.05px;
}
#archive .archive-section-head,
#archive .archive-growth-section>.archive-section-head{
  min-height:31px;
  align-items:center;
  margin-bottom:8px;
}
#archive .archive-section-head h2,
#archive .archive-growth-section>.archive-section-head h2{
  font-family:'Avenir Next Heavy','Avenir Next','SF Pro Display',ui-rounded,system-ui,sans-serif;
  font-size:18px;
  font-weight:850;
  line-height:1;
  letter-spacing:.015em;
}
#archive .archive-report-block{margin-top:9px;padding-top:9px}
#archive .archive-report-block>header[hidden]{display:none!important}
#archive .archive-report-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) 124px;
  align-items:center;
  gap:8px;
  margin-top:0;
}
#archive .archive-report-controls .report-periods{width:100%}
#archive .archive-report-controls #generateReport{
  width:124px;
  height:31px;
  margin:0;
  padding:0 10px;
  border-radius:11px;
  white-space:nowrap;
}
#archive .archive-report-controls+.ai-report-content:not([hidden]){margin-top:8px}
@media(max-width:370px){
  #archive .archive-report-controls{grid-template-columns:minmax(0,1fr) 108px;gap:6px}
  #archive .archive-report-controls #generateReport{width:108px;font-size:8px}
}

/* focus-title-cleanup.css */
#focus .focus-topbar{
  align-items:center;
  min-height:47px;
  margin-bottom:14px;
}
#focus .focus-topbar h1{
  margin:0;
  font-family:'Avenir Next Heavy','Avenir Next','SF Pro Display',ui-rounded,system-ui,sans-serif;
  font-size:28px;
  font-weight:900;
  line-height:1;
  letter-spacing:-1.05px;
}
#focus .muscle-map-card>header small,
#focus .muscle-action-section>header small,
#focus .english-tool-panel>header small,
#focus .daily-reading>header small{
  display:none;
}
#focus .muscle-map-card h2,
#focus .muscle-action-section h2,
#focus .english-tool-panel h2,
#focus .daily-reading h2{
  margin-top:0;
  font-family:'Avenir Next Heavy','Avenir Next','SF Pro Display',ui-rounded,system-ui,sans-serif;
  font-weight:850;
  letter-spacing:.015em;
}

/* unified-compact-layout.css */
/* Shared compact rhythm: remove duplicated labels, preserve data and controls. */

/* Timeline */
#timeline .quote-card{height:90px}
#timeline .quote-track{height:77px}
#timeline .quote-slide{padding-top:9px;padding-bottom:7px}
#timeline .quote-slide p{font-size:13.2px}

/* Today */
#today .today-topbar{min-height:50px;margin-bottom:1px}
#today .group-heading small,
#today .module-card>header>small,
#today .journal-card>header>div>small{display:none!important}
#today .group-heading{min-height:20px}
#today .section-title{margin:10px 2px 7px}
#today .section-title h3{
  font-family:'Avenir Next Heavy','Avenir Next','SF Pro Display',ui-rounded,system-ui,sans-serif;
  font-size:17px;
  font-weight:850;
  letter-spacing:.025em;
}
#today .module-grid{gap:8px}
#today .journal-card{margin-top:10px}
#today .quick-note{margin-top:10px}

/* Library */
#focus .focus-switch{padding:4px;border-radius:21px}
#focus .focus-switch button{height:46px;border-radius:16px}
#focus .focus-categories{gap:6px;padding:10px 1px 8px}
#focus .focus-categories button{padding:7px 11px}
#focus .fitness-toolkit,
#focus .english-toolkit{margin-top:10px}
#focus .muscle-map-card{padding:15px 15px 11px}
#focus .daily-reading{padding:18px}
#focus .daily-reading:after,
#focus .focus-tool-card:after{display:none}

/* Archive */
#archive .archive-section{margin-top:18px}
#archive .archive-growth-section{margin-top:14px}
#archive .archive-identity:after,
#archive .archive-insight-card:before,
#archive .relation-card:after,
#archive .showcase>div:before{display:none}
#archive .archive-section-head,
#archive .archive-growth-section>.archive-section-head{margin-bottom:7px}

/* Trends: vertical metric rail, near-square chart, full-width summary below. */
#archive .archive-insight-card{
  display:grid;
  grid-template-columns:clamp(88px,21%,116px) minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:9px;
  align-items:stretch;
}
#archive .trend-collapsible{display:contents;max-height:none}
#archive .trend-collapsible.collapsed .trend-metrics,
#archive .trend-collapsible.collapsed .archive-trend-panel,
#archive .trend-collapsible.collapsed + .archive-report-block{display:none}
#archive .trend-metrics{
  grid-column:1;
  grid-row:1;
  grid-template-columns:1fr;
  grid-template-rows:repeat(4,minmax(0,1fr));
  gap:6px;
}
#archive .trend-metrics button{height:auto;min-height:45px;gap:5px;border-radius:14px}
#archive .trend-metrics button i{font-size:11px}
#archive .trend-metrics button span{font-size:10px;font-weight:650}
#archive .archive-trend-panel{
  grid-column:2;
  grid-row:1;
  min-height:0;
  aspect-ratio:1.15 / 1;
  margin:0;
  padding:11px;
  display:flex;
  flex-direction:column;
}
#archive .archive-trend-panel .chart{
  height:auto;
  min-height:0;
  flex:1;
  margin-top:4px;
  background-size:100% 25%;
}
#archive .archive-trend-panel .chart svg{
  top:10px;
  height:calc(100% - 31px);
}
#archive .archive-trend-panel .weight-range{bottom:8px}
#archive #trendSecondaryPoint{display:none!important}
#archive .archive-report-block{
  grid-column:1 / -1;
  grid-row:2;
  min-width:0;
  margin-top:0;
  padding:8px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:15px;
  background:rgba(255,255,255,.25);
  box-shadow:inset 0 1px rgba(255,255,255,.78);
}
#archive .archive-report-controls{
  grid-template-columns:minmax(0,1fr) minmax(138px,42%);
  gap:8px;
  margin:0;
}
#archive .archive-report-controls .report-periods{width:100%;height:34px}
#archive .archive-report-controls #generateReport{width:100%!important;height:34px;margin:0!important}

/* Todo drawer: same compact hierarchy as Library / Archive, without removing tools. */
.todo-drawer{padding-top:7px!important}
.todo-drawer .drawer-handle{height:16px;margin:-4px auto 0}
.todo-drawer .drawer-handle:after{margin-top:6px}
.todo-drawer .drawer-head{
  min-height:43px;
  padding:0 2px 1px;
  align-items:center!important;
}
.todo-drawer .drawer-head .eyebrow,
.todo-drawer .drawer-head>div>span{display:none!important}
.todo-drawer .drawer-head h2{
  margin:0!important;
  font-family:'Avenir Next Heavy','Avenir Next','SF Pro Display',ui-rounded,system-ui,sans-serif;
  font-size:23px!important;
  font-weight:850;
  letter-spacing:.035em;
}
.todo-drawer .drawer-head>button{width:38px;height:38px}
.todo-drawer .timer-grid{gap:8px!important;margin:7px 0 11px!important}
.todo-drawer .timer-card{padding:10px 11px!important}
.todo-drawer .timer-card>b{margin:5px 0 7px!important;font-size:23px!important}
.todo-drawer .todo-section-label{padding:0 2px 5px!important}
.todo-drawer .todo-progress{margin-top:5px}
.todo-drawer .todo-list{gap:6px}
.todo-drawer .todo-list>li{min-height:51px}
.todo-drawer .todo-empty{min-height:80px;margin:2px 0 5px;border-radius:17px}
.todo-drawer .todo-empty i{width:28px;height:28px;margin-bottom:4px;font-size:14px}
.todo-drawer .todo-empty span{display:none}
.todo-drawer .todo-completed{margin-top:6px}
.todo-drawer .todo-completed summary{height:36px}
.todo-drawer .todo-composer{margin-top:7px;padding:6px;border-radius:18px}
.todo-drawer .todo-composer-main{height:38px}
.todo-drawer .todo-composer-options small{display:none}

@media(max-width:370px){
  #timeline .quote-card{height:88px}
  #timeline .quote-track{height:75px}
  #focus .focus-switch button{height:44px}
  #archive .archive-section{margin-top:16px}
  #archive .archive-insight-card{grid-template-columns:82px minmax(0,1fr);gap:7px}
  #archive .archive-trend-panel{padding:8px}
  #archive .trend-metrics button{min-height:36px;gap:2px}
  #archive .trend-metrics button i{font-size:9px}
  #archive .trend-metrics button span{font-size:9px}
  #archive .archive-report-controls{grid-template-columns:minmax(0,1fr) 122px;gap:6px}
  .todo-drawer .timer-card{padding:9px!important}
}

/* marker-palette-polish.css */
/* Lightweight animated marker glyphs, inspired by open SVG micro-interaction systems. */
.marker-palette button{
  position:relative;
  overflow:hidden;
  transition:transform 180ms cubic-bezier(.2,.85,.25,1),background 180ms ease,box-shadow 180ms ease!important;
}
.marker-palette button i{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  transform-origin:center;
  transition:transform 260ms cubic-bezier(.2,1.15,.3,1),filter 180ms ease!important;
}
.marker-palette button i svg{width:24px;height:24px;display:block;overflow:visible}
.marker-palette button i svg *{
  vector-effect:non-scaling-stroke;
  transform-box:fill-box;
  transform-origin:center;
}
.marker-palette button:nth-child(1) i{color:#27a798}
.marker-palette button:nth-child(2) i{color:#ff7086}
.marker-palette button:nth-child(3) i{color:#438fd7}
.marker-palette button:nth-child(4) i{color:#8a67d2}
.marker-palette button:nth-child(5) i{color:#ef955c}
.marker-palette button svg path,
.marker-palette button svg rect,
.marker-palette button svg circle{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.marker-palette .event-core{fill:currentColor;stroke:none}
.marker-palette .event-halo{opacity:.18;stroke-width:1.2}
.marker-palette .image-sun{fill:currentColor;stroke:none}
.marker-palette .wave{stroke-width:2.3}
.marker-palette .collection-glint{opacity:.42;stroke-width:1.25}
.marker-palette .milestone-star{fill:currentColor;stroke:none}
.marker-palette .milestone-core{fill:#fff;stroke:none;opacity:.92}

.marker-palette.open button{animation:marker-choice-in 360ms cubic-bezier(.16,.9,.22,1) both}
.marker-palette.open button:nth-child(2){animation-delay:24ms}
.marker-palette.open button:nth-child(3){animation-delay:48ms}
.marker-palette.open button:nth-child(4){animation-delay:72ms}
.marker-palette.open button:nth-child(5){animation-delay:96ms}
.marker-palette button.is-tapped{background:rgba(255,255,255,.6);box-shadow:inset 0 1px rgba(255,255,255,.9),0 5px 13px rgba(52,120,110,.08)}
.marker-palette button.is-tapped i{transform:translateY(-1px) scale(1.08);filter:drop-shadow(0 3px 4px color-mix(in srgb,currentColor 22%,transparent))}
.marker-palette button:active{transform:scale(.94)}
.marker-palette button:active i{transform:scale(.86)}
.marker-palette button.is-tapped .event-halo{animation:marker-halo 720ms ease-out both}
.marker-palette button.is-tapped .image-sun{animation:marker-sun 520ms cubic-bezier(.2,.8,.2,1) alternate 2}
.marker-palette button.is-tapped .image-mountain{stroke-dasharray:28;animation:marker-draw 620ms ease-out both}
.marker-palette button.is-tapped .wave{animation:marker-wave 360ms ease-in-out alternate 2}
.marker-palette button.is-tapped .w2,.marker-palette button.is-tapped .w4{animation-delay:-100ms}
.marker-palette button.is-tapped .w3{animation-delay:-180ms}
.marker-palette button.is-tapped .collection-ring{animation:marker-diamond 620ms cubic-bezier(.2,.9,.2,1) both}
.marker-palette button.is-tapped .collection-glint{animation:marker-glint 340ms ease-in-out alternate 2}
.marker-palette button.is-tapped .milestone-star{animation:marker-spark 360ms cubic-bezier(.2,.85,.25,1) alternate 2}

@keyframes marker-choice-in{from{opacity:0;transform:translateY(6px) scale(.92)}to{opacity:1;transform:none}}
@keyframes marker-halo{0%{opacity:.26;transform:scale(.75)}75%,100%{opacity:0;transform:scale(1.35)}}
@keyframes marker-sun{to{transform:translate(-.5px,.6px) scale(1.16)}}
@keyframes marker-draw{from{stroke-dashoffset:28}to{stroke-dashoffset:0}}
@keyframes marker-wave{from{transform:scaleY(.58)}to{transform:scaleY(1.12)}}
@keyframes marker-diamond{0%{transform:rotate(0)}55%{transform:rotate(8deg)}100%{transform:rotate(0)}}
@keyframes marker-glint{to{opacity:.9;transform:scale(.78)}}
@keyframes marker-spark{to{transform:rotate(12deg) scale(1.1)}}

@media(prefers-reduced-motion:reduce){
  .marker-palette.open button,
  .marker-palette button.is-tapped svg *{animation:none!important}
  .marker-palette button,.marker-palette button i{transition-duration:1ms!important}
}

/* The same glyph family on the timeline itself; track color remains authoritative. */
.timeline-marker-node.event,
.timeline-marker-node.image,
.timeline-marker-node.voice,
.timeline-marker-node.collection,
.timeline-marker-node.milestone{
  width:30px!important;
  height:30px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  clip-path:none!important;
  -webkit-mask:none!important;
  mask:none!important;
  filter:drop-shadow(0 3px 4px rgba(52,88,84,.16))!important;
  overflow:visible!important;
}
.timeline-marker-node.event{width:28px!important;height:28px!important}
.timeline-marker-node.voice{width:34px!important;height:34px!important}
.timeline-marker-node.milestone{width:35px!important;height:35px!important}
.timeline-marker-node.milestone:before,
.timeline-marker-node.milestone:after,
.timeline-marker-node.voice:before,
.timeline-marker-node.collection:before{display:none!important}
.timeline-marker-node .marker-station-svg{width:100%;height:100%;display:block;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round}
.timeline-marker-node .marker-station-svg *{vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center}
.timeline-marker-node .event-core{fill:currentColor;stroke:none}
.timeline-marker-node .event-halo{fill:rgba(255,255,255,.96);stroke-width:1.8;opacity:.95}
.timeline-marker-node .image-sun{fill:currentColor;stroke:none}
.timeline-marker-node .image-mountain{fill:none;stroke-width:1.75}
.timeline-marker-node .wave{fill:none;stroke-width:3.1}
.timeline-marker-node .collection-glint{opacity:.36;stroke-width:1.45}
.timeline-marker-node .milestone-star{fill:rgba(255,255,255,.98);stroke:currentColor;stroke-width:2.25}
.timeline-marker-node .milestone-core{fill:currentColor;stroke:none}
.timeline-marker-node.is-tapped .event-halo{animation:marker-halo 720ms ease-out both}
.timeline-marker-node.is-tapped .image-sun{animation:marker-sun 360ms ease-in-out alternate 2}
.timeline-marker-node.is-tapped .wave{animation:marker-wave 330ms ease-in-out alternate 2}
.timeline-marker-node.is-tapped .w2,.timeline-marker-node.is-tapped .w4{animation-delay:-90ms}
.timeline-marker-node.is-tapped .w3{animation-delay:-170ms}
.timeline-marker-node.is-tapped .collection-ring{animation:marker-diamond 620ms cubic-bezier(.2,.9,.2,1) both}
.timeline-marker-node.is-tapped .milestone-star{animation:marker-spark 350ms cubic-bezier(.2,.85,.25,1) alternate 2}

/* Voice plays directly in the timeline bubble; its text area still opens management. */
.marker-record-bubble.voice{width:218px}
.marker-record-bubble.voice .bubble-voice-player{
  margin:2px 0 5px;
  padding:8px;
  grid-template-columns:30px 1fr;
  gap:7px;
  border-radius:16px;
  background:color-mix(in srgb,currentColor 8%,rgba(255,255,255,.72));
  box-shadow:inset 0 1px rgba(255,255,255,.92),0 5px 14px rgba(48,106,99,.07);
}
.marker-record-bubble.voice .bubble-voice-player .voice-play{width:30px;height:30px}
.marker-record-bubble.voice .bubble-voice-player .voice-volume{display:none}
.marker-record-bubble.voice .bubble-voice-player .voice-playback-wave{height:25px;gap:1.5px}
.marker-record-bubble.voice .bubble-voice-player .voice-playback-wave i{max-height:22px}
.marker-record-bubble.voice .bubble-voice-player .voice-playback-time{font-size:7px}
.marker-record-bubble.voice .marker-record-open{padding:5px 8px 6px}
.marker-record-bubble.voice .marker-record-open .marker-bubble-wave{display:none}
.marker-record-bubble.voice .marker-record-open h3{margin-top:3px}
.marker-record-bubble.voice .marker-record-open>em{margin-top:4px}

/* page-vertical-alignment.css */
/* Align Library and Archive to one safe-area baseline. */
#focus{
  padding-top:calc(var(--ios-safe-top) + var(--ios-top-gap));
}

/* The date switch is absolutely positioned and is taller than the compact
   header override. Reserve its real height so counters cannot cover the year. */
#today .today-topbar{
  min-height:82px;
}
#today .day-counters{
  margin-top:4px;
}

@media(max-height:760px){
  #today .today-topbar{min-height:80px}
  #today .day-counters{margin-top:2px}
}

/* timer-milliseconds.css */
.todo-drawer .timer-card > b {
  font-size: 21px !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: -1.15px !important;
  line-height: 1;
  white-space: nowrap;
}

@media (max-width: 370px) {
  .todo-drawer .timer-card > b {
    font-size: 18.5px !important;
    letter-spacing: -1.35px !important;
  }
}

/* timeline-toggle-compact.css */
/* Lightweight timeline controls: retain their anchors, reduce visual weight. */
#timeline .companion-toggle,
#timeline .stage-toggle {
  box-sizing: border-box;
  width: auto;
  min-width: 0;
  height: 29px;
  padding: 0 9px 0 10px;
  gap: 7px;
  border-radius: 15px;
  border-color: rgba(255, 255, 255, 0.48);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.30), rgba(211, 250, 242, 0.11));
  box-shadow:
    inset 0 1px rgba(255, 255, 255, 0.64),
    0 4px 11px rgba(35, 130, 116, 0.055);
  font-family: "Noto Sans SC", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
}

#timeline .companion-toggle i,
#timeline .stage-toggle i {
  flex: 0 0 auto;
  width: 23px;
  height: 13px;
  border-radius: 7px;
}

#timeline .companion-toggle i::after,
#timeline .stage-toggle i::after {
  left: 2px;
  top: 2px;
  width: 9px;
  height: 9px;
}

#timeline .companion-toggle.active i::after,
#timeline .stage-toggle.active i::after {
  transform: translateX(10px);
}

#timeline .stage-settings {
  box-sizing: border-box;
  height: 29px;
  padding: 0 4px 0 10px;
  gap: 1px;
  border-radius: 15px;
  border-color: rgba(255, 255, 255, 0.48);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.30), rgba(211, 250, 242, 0.11));
  box-shadow:
    inset 0 1px rgba(255, 255, 255, 0.64),
    0 4px 11px rgba(35, 130, 116, 0.055);
}

#timeline .stage-settings button {
  height: 23px;
  padding: 0 3px;
  font-size: 10px;
  line-height: 1;
}

#timeline .stage-settings .stage-settings-hide {
  width: 21px;
  height: 21px;
  border-radius: 9px;
  font-size: 13px;
}

/* trend-chart-motion.css */
#trendRevealRect {
  transform-box: fill-box;
  transform-origin: left center;
}

#archive .trend-revealing #trendRevealRect {
  animation: trend-reveal-left 820ms cubic-bezier(0.22, 0.78, 0.2, 1) both;
}

@keyframes trend-reveal-left {
  0% {
    transform: scaleX(0);
  }
  65% {
    transform: scaleX(0.96);
  }
  100% {
    transform: scaleX(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  #archive .trend-revealing #trendRevealRect {
    animation: none;
  }
}

/* archive-identity-layout-v2.css */
#archive .archive-identity {
  padding: 11px 14px 13px;
}

#archive .archive-tenure[hidden] {
  display: none !important;
}

#archive .archive-profile-main {
  min-height: 78px;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 12px;
  padding: 9px 0 10px;
}

#archive .profile-avatar {
  width: 64px;
  height: 64px;
  flex-basis: 64px;
  border-radius: 17px;
}

#archive .archive-profile-copy {
  display: grid;
  grid-template-columns: minmax(132px, .95fr) minmax(0, 1.05fr);
  grid-template-areas:
    "holder bio"
    "name bio"
    "meta bio"
    "hometown bio";
  grid-template-rows: auto auto auto auto;
  column-gap: 18px;
  align-items: center;
}

#archive .archive-profile-copy > small { grid-area: holder; }
#archive .archive-name-line { grid-area: name; }
#archive .archive-profile-copy h2 { font-size: 24px; }
#archive .archive-profile-copy > p {
  grid-area: bio;
  padding: 7px 0 7px 18px;
  font-size: 10.5px;
}

.archive-person-meta {
  grid-area: meta;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 2px;
  color: #62827d;
  font-size: 8.5px;
  white-space: nowrap;
}

.archive-person-meta span {
  max-width: 82px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.archive-person-meta i { color: rgba(67, 139, 128, .34); font-style: normal; }
.archive-person-meta b { overflow: hidden; color: #327369; font-size: 8.5px; text-overflow: ellipsis; }

.archive-hometown {
  grid-area: hometown;
  margin-top: 2px;
  color: #8aa09c;
  font-size: 8px;
}

#archive .archive-attributes {
  min-height: 111px;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 37px 66px;
  gap: 0;
  padding: 4px 7px;
  border-radius: 18px;
}

.archive-vitals {
  display: grid;
  grid-template-columns: 1.65fr .7fr .7fr;
  align-items: stretch;
  border-bottom: 1px solid rgba(55, 156, 142, .11);
}

.archive-vitals > span {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 11px;
}

.archive-vitals > span + span { border-left: 1px solid rgba(55, 156, 142, .10); }
.archive-vitals small, .archive-personality small { color: #789690; font: 600 7px "DM Mono"; letter-spacing: .09em; }
.archive-vitals b { margin-top: 2px; overflow: hidden; color: #315e57; font: 600 11px "DM Mono"; text-overflow: ellipsis; white-space: nowrap; }

.archive-personality {
  display: grid;
  grid-template-columns: 105px minmax(0, 1fr);
  align-items: stretch;
  padding-top: 5px;
}

#archive .archive-personality .archive-attr-mbti {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 7px;
  padding: 5px 10px;
  border-radius: 13px;
  background: rgba(217, 248, 242, .32);
  box-shadow: inset 0 4px 12px rgba(34, 143, 127, .08), inset 0 0 0 1px rgba(255,255,255,.62);
}

#archive .archive-personality .archive-attr-mbti > i {
  grid-row: 1 / 3;
  align-self: center;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: rgba(255,255,255,.5);
  color: #28a794;
  font: 14px "DM Mono";
  font-style: normal;
}

#archive .archive-personality .archive-attr-mbti > b { color: #258f82; font: 600 17px "DM Mono"; letter-spacing: -.7px; }
#archive .archive-personality .archive-attr-mbti > em { display: none; }

.archive-traits {
  min-width: 0;
  display: grid;
  grid-template-rows: repeat(2, 1fr);
  padding-left: 12px;
}

.archive-traits > span {
  min-width: 0;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
}

.archive-traits > span + span { border-top: 1px solid rgba(55, 156, 142, .08); }
.archive-trait-tags { min-width: 0; display: flex; gap: 4px; overflow: hidden; }
.archive-trait-tags i {
  flex: 0 1 auto;
  max-width: 76px;
  padding: 3px 6px;
  overflow: hidden;
  border-radius: 8px;
  background: rgba(91, 205, 186, .11);
  color: #3c8076;
  font-size: 7.5px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.archive-trait-tags.is-warm i { background: rgba(255, 151, 112, .10); color: #a87361; }
.archive-trait-tags i.empty { color: #9badab; background: transparent; }

@media (max-width: 430px) {
  #archive .archive-profile-copy { grid-template-columns: minmax(116px, .9fr) minmax(0, 1.1fr); column-gap: 9px; }
  #archive .archive-profile-copy > p { padding-left: 9px; font-size: 9.5px; }
  .archive-personality { grid-template-columns: 96px minmax(0, 1fr); }
  .archive-traits { padding-left: 8px; }
  .archive-traits > span { grid-template-columns: 35px minmax(0, 1fr); }
  .archive-trait-tags i { max-width: 58px; padding-inline: 5px; }
}

/* usability-fixes.css */
/* Seven-day usability pass: preserve features while improving legibility. */
#today .body-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#today .body-fields label{min-width:0}
#today .body-fields b{display:grid;grid-template-columns:minmax(42px,1fr) auto;align-items:baseline;column-gap:3px;white-space:nowrap}
#today .body-fields b{font-size:7.5px!important;color:#78918d}
#today .body-fields input{box-sizing:border-box;width:100%!important;min-width:42px!important;font-size:17px!important;letter-spacing:-.04em}

#today .learning-wheel button{opacity:0;pointer-events:none}
#today .learning-wheel:focus-within button,
#today .learning-wheel:active button{opacity:.52}
#today .learning-wheel strong{transform:none!important}

#today .meal-column input[data-meal-field="food"]{font-size:11px!important;letter-spacing:-.02em}
#today .meal-column:focus-within{position:relative;z-index:5}
#today .meal-column input[data-meal-field="food"]:focus{font-size:13px!important;background:rgba(255,255,255,.94);box-shadow:0 5px 18px rgba(42,105,96,.14)}

#today,#focus,#archive{padding-bottom:164px!important}
#today .journal-card{margin-bottom:18px}

.todo-section-label>div:first-child{align-items:baseline;gap:8px}
.todo-section-label em{font-size:8px!important}
.todo-copy small{font-size:9px!important;color:#5f817c!important;font-weight:650}

#archive .archive-person-meta{font-size:9.5px}
#archive .archive-person-meta span{max-width:118px}
#archive .archive-person-meta b{font-size:9.5px;white-space:normal;line-height:1.25}
#archive .archive-traits>span{grid-template-columns:44px minmax(0,1fr)}
#archive .archive-trait-tags{flex-wrap:wrap;overflow:visible}
#archive .archive-trait-tags i{max-width:none;font-size:8.5px;padding:3px 7px}
#archive .archive-attributes{min-height:128px;grid-template-rows:37px auto}
#archive .archive-personality{min-height:82px}

/* Identity card: two vital columns, edge-set MBTI emboss, semantic gender color. */
#archive .archive-identity{position:relative;padding-top:16px;padding-bottom:12px;overflow:hidden}
#archive .archive-identity:after{content:none}
#archive .archive-identity:before{content:"";position:absolute;right:0;bottom:0;width:42px;height:42px;pointer-events:none;background:linear-gradient(135deg,transparent 48.5%,rgba(46,117,107,.17) 49.5%,rgba(46,117,107,.17) 50.5%,transparent 51.5%)}
#archive .archive-file-index{display:none!important}
#archive .archive-profile-main{padding-top:5px}
#archive .archive-vitals{grid-template-columns:minmax(0,1.7fr) minmax(72px,.55fr)}
#archive .archive-personality{display:block;padding-top:5px}
#archive .archive-personality .archive-traits{padding-left:0}
#archive .archive-mbti-edge{
  position:absolute;right:12px;top:0;z-index:0;
  display:block;color:rgba(29,137,121,.16);pointer-events:none;
  font-family:Arial Black,Inter,system-ui,sans-serif;letter-spacing:-.07em;white-space:nowrap;
}
#archive .archive-mbti-edge i,#archive .archive-mbti-edge small,#archive .archive-mbti-edge em{display:none}
#archive .archive-mbti-edge b{display:block;font:900 56px/.9 Arial Black,Inter,system-ui,sans-serif;letter-spacing:-.075em;text-shadow:0 1px rgba(255,255,255,.17);white-space:nowrap}
#archive .archive-profile-main,#archive .archive-attributes{position:relative;z-index:1}
#archive .archive-attributes{margin-bottom:20px}
#archive .archive-edit-button{position:absolute;right:0;bottom:0;z-index:4;width:43px;height:43px;padding:0;border:0;border-radius:0;background:rgba(255,255,255,.18);clip-path:polygon(100% 0,100% 100%,0 100%);display:grid;place-items:center;color:#238f81;box-shadow:none}
#archive .archive-edit-button span{display:block;transform:rotate(-45deg) translate(-2px,7px);font:800 7px 'DM Mono',monospace;letter-spacing:.04em}
#archive .archive-edit-button:active{background:rgba(218,249,243,.48)}
#archive .archive-profile-gender[data-gender="男"]{color:#3f91dc;background:rgba(84,166,235,.12);box-shadow:inset 0 0 0 1px rgba(84,166,235,.12)}
#archive .archive-profile-gender[data-gender="女"]{color:#ec769b;background:rgba(245,135,169,.13);box-shadow:inset 0 0 0 1px rgba(245,135,169,.12)}
#archive .archive-profile-gender[data-gender="非二元"],
#archive .archive-profile-gender[data-gender="不公开"],
#archive .archive-profile-gender[data-gender="未设置"]{color:#708d88;background:rgba(104,142,136,.1)}

.archive-gender-options button[data-archive-choice="男"][aria-pressed="true"]{color:#3f91dc!important;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(213,237,255,.7))!important;box-shadow:inset 0 1px #fff,0 5px 12px rgba(62,132,195,.12)!important}
.archive-gender-options button[data-archive-choice="女"][aria-pressed="true"]{color:#e96f96!important;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,222,233,.72))!important;box-shadow:inset 0 1px #fff,0 5px 12px rgba(205,91,128,.12)!important}

/* Profile tag library: selection is tactile, categorized, and still allows a personal word. */
.archive-editor .archive-trait-picker{display:block;padding:13px 12px 11px;border:1px solid rgba(56,132,121,.12);border-radius:17px;background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(242,255,252,.35));box-shadow:inset 0 1px rgba(255,255,255,.76)}
.archive-editor .archive-trait-picker+ .archive-trait-picker{margin-top:10px}
.archive-editor .archive-trait-picker>header{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 3px}
.archive-editor .archive-trait-picker>header>span{font-size:13px;font-weight:800;color:#305e57}
.archive-editor .archive-trait-picker>header small{font-size:9px;color:#78958f}
.archive-editor .archive-trait-picker>header small b{font-size:11px;color:#219e8d}
.archive-editor .archive-trait-picker>p{margin:0 0 10px;font-size:9px;line-height:1.4;color:#75918b}
.archive-editor .archive-trait-search{display:flex;align-items:center;gap:6px;height:30px;margin:0 0 8px;padding:0 9px;border:1px solid rgba(73,142,132,.13);border-radius:10px;background:rgba(255,255,255,.52);color:#43a998}
.archive-editor .archive-trait-search span{font-size:14px;line-height:1}
.archive-editor .archive-trait-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#315d56;font-size:10px}
.archive-editor .archive-trait-groups{display:grid;gap:6px}
.archive-editor .archive-trait-category{border:1px solid rgba(73,142,132,.1);border-radius:11px;background:rgba(255,255,255,.28)}
.archive-editor .archive-trait-category summary{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;cursor:pointer;list-style:none;color:#557a73;font-size:10px;font-weight:800}
.archive-editor .archive-trait-category summary::-webkit-details-marker{display:none}
.archive-editor .archive-trait-category summary:after{content:'⌄';margin-left:5px;color:#8ca8a2;transition:transform .16s ease}
.archive-editor .archive-trait-category[open] summary:after{transform:rotate(180deg)}
.archive-editor .archive-trait-category summary small{margin-left:auto;color:#9bb5af;font-size:8px;font-weight:650}
.archive-editor .archive-trait-category>div{display:flex;flex-wrap:wrap;gap:5px;padding:0 9px 9px}
.archive-editor .archive-trait-groups button{min-height:25px;padding:4px 8px;border:1px solid rgba(73,142,132,.13);border-radius:999px;background:rgba(255,255,255,.53);color:#547872;font-size:9px;font-weight:650;line-height:1;transition:transform .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}
.archive-editor .archive-trait-groups button[aria-pressed="true"]{color:#fff;background:#34bca9;border-color:#34bca9;box-shadow:0 4px 10px rgba(38,166,147,.2)}
.archive-editor .archive-trait-picker.is-improvement .archive-trait-groups button[aria-pressed="true"]{background:#ee8b9d;border-color:#ee8b9d;box-shadow:0 4px 10px rgba(226,110,132,.18)}
.archive-editor .archive-trait-groups button:active{transform:scale(.94)}
.archive-editor .archive-trait-groups button:disabled{opacity:.35}
.archive-editor .archive-trait-custom{display:grid;grid-template-columns:minmax(0,1fr) 47px;gap:6px;margin-top:11px}
.archive-editor .archive-trait-custom input{box-sizing:border-box;min-width:0;height:31px;padding:0 10px;border:1px solid rgba(73,142,132,.14);border-radius:10px;background:rgba(255,255,255,.55);color:#315d56;font-size:10px;outline:none}
.archive-editor .archive-trait-custom input:focus{border-color:#48c3b1;box-shadow:0 0 0 3px rgba(72,195,177,.12)}
.archive-editor .archive-trait-custom button{border:0;border-radius:10px;background:rgba(47,183,164,.14);color:#199783;font-size:10px;font-weight:800}
.archive-editor .archive-trait-picker.is-improvement .archive-trait-custom button{background:rgba(238,139,157,.15);color:#d76d83}

/* A persistent, compact completion cue makes it clear what a daily record lacks. */
#today .section-title{gap:7px}
#today .daily-completion{display:flex;align-items:center;gap:4px;margin-left:auto;padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.48);color:#6d8d86;font-size:8px;white-space:nowrap}
#today .daily-completion i{width:13px;height:13px;border-radius:50%;background:conic-gradient(#35bca8 calc(var(--completion) * 1turn),rgba(70,139,128,.13) 0);position:relative}
#today .daily-completion i:after{content:'';position:absolute;inset:3px;border-radius:50%;background:#f5fffc}
#today .daily-completion b{font-size:9px;color:#299b8a}
#today .daily-completion[data-complete="true"]{background:rgba(66,193,171,.14);color:#218b7b}

@media(max-width:430px){
  #today .body-fields{gap:5px}
  #today .body-fields input{font-size:15px!important;min-width:38px!important}
  #archive .archive-person-meta span{max-width:98px}
  #archive .archive-mbti-edge{right:8px;top:1px}
  #archive .archive-mbti-edge b{font-size:48px}
}

/* archive-location-picker.css */
.archive-location-field {
  display: block;
  grid-column: 1 / -1;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .76);
  border-radius: 17px;
  background: linear-gradient(145deg, rgba(255,255,255,.48), rgba(216,249,242,.22));
  box-shadow: inset 0 1px rgba(255,255,255,.9);
}

.archive-location-field > span {
  display: block;
  margin-bottom: 8px;
  color: #557b75;
  font-size: 10px;
  font-weight: 650;
}

.archive-location-field > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.archive-location-field label {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.archive-location-field label[hidden] { display: none; }
.archive-location-field small { color: #8ba19d; font-size: 7.5px; }

.archive-location-field select {
  width: 100%;
  height: 38px;
  padding: 0 29px 0 10px;
  border: 1px solid rgba(116, 187, 177, .19);
  border-radius: 12px;
  outline: none;
  appearance: none;
  background:
    linear-gradient(45deg, transparent 50%, #4d8179 50%) calc(100% - 15px) 16px / 5px 5px no-repeat,
    linear-gradient(135deg, #4d8179 50%, transparent 50%) calc(100% - 10px) 16px / 5px 5px no-repeat,
    rgba(255,255,255,.58);
  color: #315d56;
  font: 500 10px "Noto Sans SC", system-ui, sans-serif;
  box-shadow: inset 0 1px rgba(255,255,255,.9);
}

.archive-location-field select:focus {
  border-color: rgba(54, 190, 169, .46);
  box-shadow: 0 0 0 3px rgba(75, 203, 183, .10), inset 0 1px white;
}

.archive-location-field > em {
  display: block;
  margin-top: 7px;
  color: #91a5a1;
  font-size: 7.5px;
  font-style: normal;
}

@media (max-width: 430px) {
  .archive-location-field > div { grid-template-columns: 1fr; }
}

/* release-performance.css */
.archive-trait-category[hidden],.archive-trait-category button[hidden]{display:none!important}
.archive-trait-selected{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0}
.archive-trait-selected button{border:0;padding:6px 9px;border-radius:999px;background:#35bca9;color:white;font:inherit;font-size:10px}
.is-improvement .archive-trait-selected button{background:#e38a9c}
#timeline.stage-mode{background:transparent}
.station.quote-obscured>div{visibility:hidden!important;opacity:0!important}
@media(prefers-reduced-motion:reduce){
  .page,.tab-liquid,.train{transition-duration:.01ms!important}
  .trend-revealing{animation:none!important}
}

/* studio-system.css */
/* Clear / pure-color content with rounded, Apple-inspired navigation controls. */
:root{
 --studio-bg:#f7f9fb;--studio-paper:#ffffff;--studio-ink:#202e35;--studio-muted:#788992;
 --studio-line:#e5ecef;--studio-accent:#20bca5;--studio-hot:#ff5b8f;
 --studio-third:#9b8ad4;--studio-hot-soft:#fff0f5;--studio-third-soft:#f2eefb;
 --studio-on-accent:#17343d;--control-radius:14px;--control-response:150ms;
 --todo-mint:var(--studio-accent);--todo-mint-deep:var(--studio-accent);
 --studio-tint:#e3f7f2;--studio-segment:#eef2f5;
 --ink:var(--studio-ink);--muted:var(--studio-muted);--mint:#20bca5;--mint-deep:var(--studio-accent);
 --coral:var(--studio-hot);--coral-soft:var(--studio-hot-soft);--purple:var(--studio-third);
 --ios-spring:cubic-bezier(.22,.7,.25,1);--motion-spring:cubic-bezier(.22,.7,.25,1);
 --ios-fast:150ms;--ios-medium:240ms;--ios-slow:300ms;
}
html body{background:var(--studio-bg)!important;color:var(--studio-ink);font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Noto Sans SC',sans-serif}
.app-shell{background:var(--studio-bg)!important}
.app-shell .ambient{display:none!important}
.app-shell #timeline,.app-shell #today,.app-shell #focus,.app-shell #archive{background:transparent!important}
#archive{--archive-ink:var(--studio-ink);--archive-muted:var(--studio-muted);--archive-mint:var(--studio-accent);--archive-coral:var(--studio-hot)}
/* Glass is reserved for floating chrome. Everything else uses one solid plane. */
.app-shell :is(.glass,.quote-card,.focus-tool-card,.english-tool-panel,.daily-reading,.focus-switch,.muscle-action-card,.archive-attributes,.archive-trend-panel,.timer-card,.relation-card,.skills,.showcase>div){
 background:var(--studio-paper)!important;border:1px solid var(--studio-line)!important;
 border-radius:22px!important;box-shadow:0 3px 15px rgba(42,74,91,.025)!important;
 -webkit-backdrop-filter:none!important;backdrop-filter:none!important;color:var(--studio-ink);
}
.app-shell :is(.glass,.quote-card,.focus-tool-card,.daily-reading)::before,
.app-shell :is(.glass,.quote-card,.focus-tool-card,.daily-reading)::after{content:none!important}
.app-shell :is(.quote-card,.memory-preview,.module-card,.compact-counter,.focus-tool-card):hover{box-shadow:none!important}
#timeline .quote-card{border:1px solid #edf2f4!important;border-radius:24px!important;box-shadow:0 5px 22px rgba(42,74,91,.035)!important}
#timeline .quote-card .quote-backdrop-blur{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
#timeline .timeline-brand>.eyebrow{font:650 23px/1.1 'Noto Sans SC',system-ui,sans-serif!important;color:var(--studio-ink)!important;transform:none!important;text-shadow:none!important;letter-spacing:-1px!important}
.quote-slide p{font-family:-apple-system,BlinkMacSystemFont,'Noto Sans SC',sans-serif!important;font-size:12px!important;line-height:1.7!important;font-weight:400!important;color:#3b5260!important;letter-spacing:0!important}
.quote-slide footer{font-family:'Noto Sans SC',sans-serif!important;font-weight:400!important;color:var(--studio-muted)!important}
.quote-slide .quote-mark{filter:none!important;color:var(--studio-hot)!important;opacity:1}
.quote-dots i{box-shadow:none!important;background:#cce8e1!important}
.quote-dots i.active{background:var(--studio-accent)!important}
.app-shell :is(.archive-topbar h1,.focus-topbar h1){font-size:28px!important;font-weight:600!important;letter-spacing:-1px!important;color:var(--studio-ink)!important}
.app-shell :is(.archive-section-head h2,.section-title h3,.muscle-action-section h2){color:var(--studio-ink)!important;letter-spacing:.02em!important;font-weight:600!important}

/* Shared control grammar: rounded rectangles, circles and segmented capsules. */
.app-shell :is(.editor-actions button,.data-vault-actions button,.focus-topbar>button,.generate-report,.timer-actions button,.journal-actions button,.focus-detail>footer button,.english-tool-panel form button,.reading-complete,.marker-save,.archive-trait-custom button){
 border:1px solid var(--studio-line)!important;border-radius:14px!important;background:var(--studio-paper)!important;
 color:#425d6a!important;box-shadow:none!important;font-weight:500!important;text-shadow:none!important;
}
.app-shell :is(#saveModule,#saveArchiveItem,#saveAvatarCrop,#exportArchiveData,#saveNote,.generate-report,.timer-actions .primary,.marker-save,.english-tool-panel form button,.reading-complete,.focus-detail>footer button:last-child){background:var(--studio-accent)!important;border-color:var(--studio-accent)!important;color:var(--studio-on-accent)!important}
.app-shell :is(#deleteModule,#deleteArchiveItem){color:var(--studio-hot)!important}
.app-shell :is(.round-btn,.today-topbar .back,.quote-search-trigger,.drawer-head>button,.focus-detail>header>button){border:1px solid var(--studio-line)!important;border-radius:50%!important;background:var(--studio-paper)!important;color:var(--studio-accent)!important;box-shadow:0 2px 8px #20344505!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.app-shell :is(input:not([type=checkbox]):not([type=range]),textarea,select){border-radius:12px;box-shadow:none!important;accent-color:var(--studio-accent);color:var(--studio-ink);text-shadow:none!important}
.app-shell :is(input,textarea,select):focus{transform:none!important;box-shadow:0 0 0 2px rgba(32,188,165,.18)!important}
.app-shell button:focus-visible{outline:2px solid var(--studio-accent)!important;outline-offset:3px}
.app-shell :is(.module-icon,.focus-tool-top small){background:transparent!important;color:var(--studio-accent)!important;box-shadow:none!important;border-radius:0!important}
.time-flow-dock{border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.flow-ring{box-shadow:none!important;background:conic-gradient(from -90deg,#20bca5 var(--progress),#e2f4ef 0)!important}
.flow-ring:nth-child(2){background:conic-gradient(from -90deg,var(--studio-hot) var(--progress),var(--studio-hot-soft) 0)!important}
.flow-ring:nth-child(3){background:conic-gradient(from -90deg,var(--studio-third) var(--progress),var(--studio-third-soft) 0)!important}
.flow-ring:after{box-shadow:none!important;background:var(--studio-bg)!important}

/* Consolidate homepage display toggles into one little utility panel. */
.timeline-tools{position:absolute;z-index:22;left:var(--ios-inline,18px);top:calc(var(--ios-safe-top,0px) + var(--ios-top-gap,16px) + 158px);width:100px;padding:2px 10px;border:1px solid var(--studio-line);border-radius:18px;background:var(--studio-paper)}
#timeline .timeline-tools :is(.companion-toggle,.stage-controls,.stage-toggle,.stage-settings){position:static!important;inset:auto!important;width:100%!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#timeline .timeline-tools :is(.companion-toggle,.stage-toggle){height:34px!important;padding:0!important;justify-content:space-between;color:#617985!important}
#timeline .timeline-tools .stage-controls{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--studio-line)!important}
#timeline .timeline-tools .stage-settings{padding:0!important;height:28px!important;justify-content:space-between}
#timeline .timeline-tools :is(.companion-toggle,.stage-toggle) i{background:#d9e4e8!important;box-shadow:none!important}
#timeline .timeline-tools :is(.companion-toggle.active,.stage-toggle.active) i{background:var(--studio-accent)!important}
.timeline-tools :is(.companion-toggle,.stage-toggle) i,
.timeline-tools :is(.companion-toggle,.stage-toggle) i::after{transition:background-color 180ms ease,transform 180ms var(--ios-spring)!important;box-shadow:none!important}
.app-shell :is(.marker-add,.todo-pull,.today-locator){border-radius:999px!important;box-shadow:0 3px 12px #20344506!important;background:var(--studio-paper)!important;border:1px solid var(--studio-line)!important;color:var(--studio-accent)!important}
.app-shell .memory-preview{border-radius:22px!important;background:var(--studio-paper)!important}
.memory-preview h2{font-weight:500!important;color:var(--studio-ink)!important}
.memory-preview .arrow{color:var(--studio-hot)!important}
.trace-list span{border-radius:8px!important;background:var(--studio-tint)!important;color:var(--studio-accent)!important;box-shadow:none!important}

/* Dates are one divided panel, not four cards inside two more cards. */
.day-counters{gap:0!important;background:var(--studio-paper);border:1px solid var(--studio-line);border-radius:22px;overflow:hidden}
.app-shell :is(.countdown-panel,.elapsed-panel){margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:12px!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.app-shell .elapsed-panel{border-left:1px solid var(--studio-line)!important}
.app-shell .compact-counter{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.compact-counter+.compact-counter{border-top:1px solid var(--studio-line)!important}
.mini-ring{box-shadow:none!important;opacity:1}.mini-ring i{box-shadow:none!important}
.compact-number{color:var(--studio-accent)!important}.elapsed-item .compact-number{color:var(--studio-hot)!important}
.compact-copy :is(input,textarea){background:transparent!important;border:0!important}
.group-heading{color:#68828e!important;font-weight:500!important}
/* Modules share a single surface. Only their grid boundaries remain. */
.module-grid{gap:0!important;background:var(--studio-paper);border:1px solid var(--studio-line);border-radius:22px;overflow:visible}
.app-shell .module-grid .module-card{background:transparent!important;border:0!important;border-radius:0!important;border-bottom:1px solid var(--studio-line)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.module-grid .module-card:not(.wide){border-right:1px solid var(--studio-line)!important}
.app-shell :is(.module-card h3,.journal-card header span){color:var(--studio-ink)!important;font-weight:500!important}
.app-shell :is(.meal-slot,.body-fields>label,.english-stats>div,.english-practice,.diet-meal,.diet-meal-card){background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important}
.app-shell :is(.meal-slot,.diet-meal-card)+:is(.meal-slot,.diet-meal-card){border-left:1px solid var(--studio-line)!important}

/* One segmented pattern is used for domains, metrics and report periods. */
.app-shell :is(.focus-switch,.trend-metrics,.report-periods){display:grid!important;gap:3px!important;padding:4px!important;background:var(--studio-segment)!important;border:0!important;border-radius:999px!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.app-shell :is(.focus-switch,.trend-metrics,.report-periods) button{background:transparent!important;color:#778993!important;border:0!important;border-radius:999px!important;box-shadow:none!important;transform:none!important;font-weight:500!important}
.app-shell :is(.focus-switch,.trend-metrics,.report-periods) button.selected{background:var(--studio-paper)!important;color:var(--studio-ink)!important;box-shadow:0 1px 5px #20344514!important}
.focus-switch{grid-template-columns:repeat(3,1fr)!important}.focus-switch button{height:40px!important}
.report-periods{grid-template-columns:repeat(4,1fr)!important}
#archive .trend-collapsible{display:flex!important;flex-direction:column!important;gap:12px!important}
#archive .trend-metrics{grid-template-columns:repeat(5,1fr)!important;width:100%!important}
#archive .trend-metrics button{height:32px!important;flex-direction:row!important}
#archive .archive-insight-card{display:block!important;background:var(--studio-paper)!important;border:1px solid var(--studio-line)!important;box-shadow:none!important;border-radius:22px!important}
#archive .trend-metrics{grid-template-rows:auto!important}
#archive .trend-collapsible.collapsed{display:none!important}
#archive .trend-metrics button{min-height:32px!important}
#archive .archive-trend-panel{aspect-ratio:auto!important;min-height:190px!important;padding:0!important}
#archive .archive-trend-panel .chart{min-height:150px!important}
#archive .archive-insight-card::before,#archive .archive-insight-card::after{content:none!important}
#archive :is(.archive-trend-panel,.archive-report-block){width:100%!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#archive .archive-report-block{border-top:1px solid var(--studio-line)!important;margin-top:12px!important;padding-top:12px!important}
#archive .archive-attributes{background:transparent!important;border:0!important;border-top:1px solid var(--studio-line)!important;border-radius:0!important;box-shadow:none!important}
#archive .archive-mbti-edge{color:#def2ec!important}
.profile-avatar{background:var(--studio-tint)!important;border-radius:18px!important;box-shadow:none!important}
.app-shell :is(.muscle-map-card,.focus-tool-card,.muscle-action-card,.english-tool-panel,.daily-reading){border-radius:22px!important;background:var(--studio-paper)!important;box-shadow:none!important}
.app-shell :is(.anatomy-stage,.body-muscles-stage,.root-lookup-result,.english-word-chip,.reading-source-line>*,.daily-reading blockquote){background:transparent!important;border-radius:0!important;box-shadow:none!important}
.anatomy-view-label{background:transparent!important;box-shadow:none!important}
#timeline .time-flow-dock{background:transparent!important;border:0!important;box-shadow:none!important}
#today :is(.countdown-panel,.elapsed-panel){border-radius:0!important;border-top:0!important;border-bottom:0!important;box-shadow:none!important;background:transparent!important}
#today .countdown-panel{border-left:0!important;border-right:0!important}
#today .elapsed-panel{border-left:1px solid var(--studio-line)!important;border-right:0!important}
#today .meal-column{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
#today .meal-column+.meal-column{border-left:1px solid var(--studio-line)!important}
#today .module-card h3{color:var(--studio-ink)!important;font-size:13px!important;font-weight:500!important}
#today .module-card>header p{color:var(--studio-ink)!important;font-size:13px!important;font-weight:500!important}
#today .english-speaking-row{background:transparent!important;border-top:1px solid var(--studio-line)!important;border-radius:0!important;box-shadow:none!important}
#today :is(.learning-wheel,.learning-wheel-value){background:transparent!important;box-shadow:none!important;border-radius:10px!important}
#today :is(.diet-ai-button,.add-supplement,.journal-picker-trigger,.journal-ai-button){background:var(--studio-tint)!important;border:0!important;border-radius:999px!important;box-shadow:none!important;color:var(--studio-accent)!important}
#archive .profile-avatar{background:var(--studio-tint)!important;box-shadow:none!important;border-radius:18px!important}
#focus .focus-switch{background:var(--studio-segment)!important;border:0!important;box-shadow:none!important}
#focus .focus-switch button{border-radius:999px!important}
#focus .muscle-map-card>header button{background:var(--studio-tint)!important;color:var(--studio-accent)!important;border:0!important;border-radius:999px!important;box-shadow:none!important}
.focus-categories button,.muscle-chip-row button{border-radius:999px!important;box-shadow:none!important;background:transparent!important;border-color:var(--studio-line)!important}
.focus-categories button.selected,.muscle-chip-row button.active{background:var(--studio-tint)!important;color:var(--studio-ink)!important}

/* Restrained glass on the floating navigation and modal sheets only. */
.app-shell nav.tabbar{border:1px solid rgba(255,255,255,.9)!important;border-radius:999px!important;background:rgba(255,255,255,.76)!important;box-shadow:0 8px 28px #20344512,inset 0 1px #fff!important;backdrop-filter:blur(20px) saturate(145%)!important;-webkit-backdrop-filter:blur(20px) saturate(145%)!important;will-change:auto}
.app-shell .tabbar::before,.app-shell .tabbar::after{content:none!important}
.app-shell .tabbar .tab-liquid{border-radius:999px!important;border:1px solid #ffffff8c!important;background:#d9f5ed!important;box-shadow:inset 0 1px #ffffffb3,0 1px 4px rgba(32,188,165,.03)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;animation:none!important;transition:transform 280ms var(--ios-spring),width 280ms var(--ios-spring)!important}
.app-shell .tabbar .tab-liquid::before,.app-shell .tabbar .tab-liquid::after{content:none!important}
.app-shell .tabbar button{color:#7e919b!important;font-weight:500!important}
.app-shell .tabbar button.selected{color:var(--studio-ink)!important;background:transparent!important;box-shadow:none!important}
.app-shell .tabbar button.selected .tab-icon{color:var(--studio-accent)!important}
.app-shell :is(.todo-drawer,.module-editor,.archive-editor,.avatar-cropper,.focus-detail,.glass-date-picker,.stage-editor,.quote-search-panel){background:rgba(255,255,255,.96)!important;border:1px solid #ffffffb3!important;border-radius:30px 30px 0 0!important;box-shadow:0 -8px 30px #20344512!important;backdrop-filter:blur(20px) saturate(135%)!important;-webkit-backdrop-filter:blur(20px) saturate(135%)!important}
.app-shell .timer-grid{gap:0!important;border:1px solid var(--studio-line);border-radius:22px;background:var(--studio-paper);overflow:hidden}
.app-shell .timer-card{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.app-shell .timer-card+.timer-card{border-left:1px solid var(--studio-line)!important}

/* Train identity remains; remove glow, specular sparkle and rubber motion. */
.rail>i{background:#ffffff!important;box-shadow:0 0 0 1px #a5e0d3!important}
.journey::before,.journey::after{background:#20bca5!important;box-shadow:none!important}
.station em{box-shadow:0 0 0 1px #9edfd0!important}.station small{color:#5e8e94!important}.station b{color:var(--studio-hot)!important}
.train{background:#d7f5ec!important;box-shadow:inset 1px 1px #ffffffda,0 5px 16px rgba(32,188,165,.12)!important;border-color:#ffffff!important;filter:none!important;will-change:auto}
.train:before{background:#83d3bf!important;filter:none!important}
.train .train-light{background:var(--studio-hot-soft)!important;box-shadow:none!important;backdrop-filter:none!important}
.train .train-light:before{background:var(--studio-hot)!important;box-shadow:none!important}
.train.dragging{transform:translate(-50%,-50%) scale(1.015)!important;transition:none!important;filter:none!important}
.train.dragging:before,.train.dragging:after,.train.dragging .train-light{transform:none!important}
.train.liquid-settle,.train.liquid-settle:before,.train.liquid-settle .train-light{animation:none!important}
#trendLinePath,#trendCurrentPoint{stroke:var(--studio-accent)!important}#trendSecondaryLinePath,#trendSecondaryPoint{stroke:var(--studio-hot)!important}

.app-shell :is(button,.glass,.module-card){transition:transform var(--control-response) ease,color 180ms ease,border-color 180ms ease,background-color 180ms ease;transition-duration:var(--control-response)!important;transition-timing-function:var(--ios-spring)!important}
.app-shell :is(.quote-card,.memory-preview):active{transform:none!important}
.app-shell :is(.module-card,.focus-tool-card,.compact-counter):active{transform:scale(.995)!important}
.page.page-enter-forward{animation:studio-in 240ms var(--ios-spring) both!important}.page.page-enter-back{animation:studio-back 240ms var(--ios-spring) both!important}
@keyframes studio-in{from{opacity:.4;transform:translate3d(8px,0,0)}to{opacity:1;transform:none}}
@keyframes studio-back{from{opacity:.4;transform:translate3d(-8px,0,0)}to{opacity:1;transform:none}}
.app-shell :is(.todo-drawer.open,.module-editor.open,.archive-editor.open,.avatar-cropper.open){animation:studio-sheet 280ms var(--ios-spring) both!important}
@keyframes studio-sheet{from{opacity:.6;transform:translateY(14px)}to{opacity:1;transform:none}}
.station.selected-station>div,.check.checked{animation:none!important}
#archive .trend-revealing #trendRevealRect{animation-duration:600ms}
/* One mint for state and actions; use neutral ink, not a second dark green,
   where text needs contrast against bright mint or pale selected surfaces. */
.app-shell :is(.editor-actions button,.data-vault-actions button,.timer-actions button,.generate-report,.marker-save,.journal-actions button,.focus-detail>footer button,.english-tool-panel form button){border-radius:var(--control-radius)!important;font-weight:600!important}
.app-shell :is(#importArchiveData,#focusGoToday,.journal-ai-button,.diet-ai-button,.add-supplement,.stage-settings button){color:var(--studio-ink)!important}
.app-shell :is(.focus-categories button.selected,.archive-trait-groups button[aria-pressed="true"],.archive-trait-selected button,.check.checked,.todo-composer-main>button,.reading-source-line b){background:var(--studio-accent)!important;border-color:var(--studio-accent)!important;color:var(--studio-on-accent)!important;box-shadow:none!important}
.app-shell .is-improvement :is(.archive-trait-groups button[aria-pressed="true"],.archive-trait-selected button){background:var(--studio-hot)!important;border-color:var(--studio-hot)!important;color:var(--studio-on-accent)!important}
.app-shell button:disabled{opacity:.45;cursor:default}
.app-shell :is(.editor-actions button,.timer-actions button,.data-vault-actions button,.journal-actions button):active{transform:scale(.975)!important}
:root .app-shell .tabbar button:active{transform:scale(.97)!important}
:root .app-shell .tabbar .tab-icon{transition:color 150ms ease,transform 200ms var(--ios-spring)!important}
/* One motion owner per surface: transition OR animation, never both. */
:root .app-shell .tabbar .tab-liquid.tab-measuring{transition:none!important}
:root .app-shell #drawer{
 animation:none!important;
 transition:transform 300ms var(--ios-spring),visibility 0s linear 300ms!important;
 will-change:auto;
}
:root .app-shell #drawer.open{animation:none!important;transition:transform 300ms var(--ios-spring),visibility 0s!important;will-change:transform}
:root .app-shell #drawer.drawer-dragging{transition:none!important}
:root .app-shell :is(#archiveEditor,#moduleEditor){
 display:block!important;bottom:0!important;opacity:0;visibility:hidden;pointer-events:none;
 transform:translate3d(0,24px,0)!important;animation:none!important;will-change:auto;
 transition:transform 240ms var(--ios-spring),opacity 180ms ease,visibility 0s linear 240ms!important;
}
:root .app-shell :is(#archiveEditor.open,#moduleEditor.open){
 opacity:1;visibility:visible;pointer-events:auto;transform:translate3d(0,0,0)!important;animation:none!important;
 transition:transform 280ms var(--ios-spring),opacity 200ms ease,visibility 0s!important;
}
:root .app-shell .train.snapping{transition:top 280ms var(--ios-spring),transform 160ms ease!important}
:root .app-shell .train.dragging{transition:none!important}
#archive .trend-reveal-pending #trendRevealRect{transform:scaleX(0)}
@media(prefers-reduced-motion:reduce){
 :root .app-shell :is(#drawer,#drawer.open,#archiveEditor,#archiveEditor.open,#moduleEditor,#moduleEditor.open,#focusDetail,#focusDetail.open,.train.snapping){animation:none!important;transition:none!important}
 #archive .trend-reveal-pending #trendRevealRect{transform:none!important}
}
@media(prefers-reduced-transparency:reduce){
 .app-shell nav.tabbar,.app-shell :is(.todo-drawer,.module-editor,.archive-editor,.avatar-cropper,.focus-detail,.glass-date-picker){background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .app-shell nav.tabbar{background:#fff!important}
}
@media(prefers-reduced-motion:reduce){
 .app-shell *,.app-shell *::before,.app-shell *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 :root .app-shell :is(.page.page-enter-forward,.page.page-enter-back,.tabbar .tab-liquid,.todo-drawer.open,.module-editor.open,.archive-editor.open,.avatar-cropper.open){animation:none!important;transition:none!important}
 :root .app-shell :is(button,.glass,.module-card,.tabbar .tab-icon){animation:none!important;transition:none!important}
 :root .app-shell .timeline-tools i,:root .app-shell .timeline-tools i::after{transition:none!important}
}

/* Soft surfaces: navigation is the reference, not a stack of outlined boxes.
   Preserve borders that communicate a rail, chart, icon or focus state. */
:root{--studio-field:#f1f5f7;--studio-number:-apple-system,BlinkMacSystemFont,'SF Pro Display','Segoe UI',sans-serif}
:root .app-shell :is(button,input,textarea,select){font-family:inherit!important}
:root .app-shell :is(.glass,.quote-card,.focus-tool-card,.english-tool-panel,.daily-reading,.muscle-map-card,.muscle-action-card,.archive-attributes,.archive-insight-card,.archive-trend-panel,.archive-report-block,.timer-card,.relation-card,.skills,.showcase>div,.day-counters,.module-grid,.timeline-tools,.timer-grid,.tabbar,.tab-liquid,.stage-controls,.stage-editor,.quote-search-panel,.module-editor,.archive-editor,.avatar-cropper,.focus-detail,.glass-date-picker,.marker-editor,.marker-viewer,.marker-placement-hint){border:0!important}
:root .app-shell :is(.compact-counter,.module-card,.meal-column,.meal-slot,.diet-meal-card,.english-speaking-row,.archive-attribute,.archive-trait-row,.archive-identity-top,.archive-file-head,.archive-identity-header,.archive-core-row,.archive-identity-main,.archive-trend-head,.archive-section-head,.todo-list li,.focus-detail>header,.focus-detail>footer,.marker-editor>header,.marker-viewer>header,.date-menu,.reading-source-line,.english-word-chip){border:0!important}
:root .app-shell button{border:0!important}
:root .app-shell :is(#timeline,#today,#focus,#archive,#viewportOverlays) :is(article,section,aside,header,footer,button,.archive-attributes,.archive-vitals,.archive-personality,.archive-traits,.archive-vitals>span,.archive-traits>span,.archive-profile-copy p,.focus-switch,.local-ai-state){border:0!important}
:root #timeline .timeline-tools .stage-controls{border:0!important}
:root .app-shell :is(.editor-form,.archive-form,.archive-editor,.stage-list,.english-tool-panel) :is(input:not([type=checkbox]):not([type=range]):not([type=color]),textarea,select){border:0!important;background:var(--studio-field)!important;box-shadow:none!important;border-radius:12px!important}
:root .app-shell :is(.editor-actions button,.data-vault-actions button,.timer-actions button,.focus-topbar>button,.focus-detail>footer button,.focus-categories button,.muscle-chip-row button,.module-tools button){background:var(--studio-field)!important}
:root .app-shell :is(#saveModule,#saveArchiveItem,#saveAvatarCrop,#exportArchiveData,.generate-report,.timer-actions .primary,.marker-save,.focus-detail>footer button:last-child,.english-tool-panel form button,.todo-composer-main>button){background:var(--studio-accent)!important;color:var(--studio-on-accent)!important}
:root .app-shell :is(.focus-categories button.selected,.muscle-chip-row button.active){background:var(--studio-tint)!important;color:var(--studio-ink)!important}
:root .app-shell :is(.archive-attributes,.archive-report-block){padding-top:16px!important;margin-top:16px!important}
:root .app-shell .timeline-tools{padding:5px 12px;border-radius:20px;box-shadow:0 4px 18px #20344506!important}
:root .app-shell .timeline-tools .stage-controls{border:0!important}
:root .app-shell .timer-grid{gap:12px!important;background:transparent!important;overflow:visible}
:root .app-shell .timer-card{background:var(--studio-field)!important;border-radius:20px!important;padding:16px!important}
:root .app-shell :is(.archive-vitals>span,.archive-traits>span,.archive-profile-copy p,.local-ai-state,.archive-trait-picker,.archive-trait-category,.archive-trait-search,.todo-composer,.todo-composer-options,.reading-full-text,.marker-meta-grid,.marker-media-section){border:0!important;box-shadow:none!important}
:root .app-shell :is(.marker-editor,.quote-search-form,.todo-composer) :is(input:not([type=checkbox]):not([type=range]),textarea,select){border:0!important;background:var(--studio-field)!important;border-radius:12px!important}
:root .app-shell .timer-card>b{font-family:var(--studio-number)!important;font-variant-numeric:tabular-nums lining-nums;font-weight:600;letter-spacing:0!important;color:var(--studio-ink)!important}
:root .app-shell .todo-list .check{background:#e4edf0!important;border-radius:7px!important}
:root .app-shell .todo-list .check.checked{background:var(--studio-accent)!important}

/* One number family, tabular figures and a deliberately small type scale. */
:root .app-shell :is(.compact-number b,.compact-number em,.learning-wheel,.learning-wheel strong,.learning-wheel button,.learning-wheel em,.body-fields input,.body-fields b,.timer-display,.timer-label input,.meal-time-button,.meal-time-option,.mini-symbols b,.daily-completion b,.station small,.trend-current-values,.archive-stat b){font-family:var(--studio-number)!important;font-variant-numeric:tabular-nums lining-nums!important;letter-spacing:0!important;font-style:normal}
:root .app-shell :is(#dayTitle,#dayYear,#archiveBirthday,#archiveAge,#trendCurrent,#trendSecondaryCurrent){font-family:var(--studio-number)!important;font-variant-numeric:tabular-nums lining-nums!important}

/* Counter rows use the same title/value alignment in both directions. */
:root #today .day-counters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;background:transparent!important;overflow:visible;margin-bottom:24px}
:root #today :is(.countdown-panel,.elapsed-panel){height:auto!important;padding:16px!important;border:0!important;border-radius:24px!important;background:var(--studio-paper)!important}
:root #today .group-heading{height:auto;min-height:20px;margin-bottom:12px;font-size:12px!important;color:var(--studio-muted)!important}
:root #today .group-heading small{display:none}
:root #today .counter-stack{gap:16px}
:root #today .compact-counter{height:auto!important;min-height:76px;padding:0!important;display:grid;grid-template-columns:minmax(0,1fr) 24px;grid-template-rows:32px 36px;gap:4px 2px;overflow:visible}
:root #today .compact-copy{position:static!important;inset:auto!important;width:auto!important;height:32px!important;display:flex;justify-content:flex-start;align-items:stretch;grid-column:1;grid-row:1}
:root #today .compact-copy :is(input,textarea){width:100%!important;height:32px!important;min-height:0!important;margin:0!important;padding:0!important;resize:none;font-family:inherit!important;font-size:12px!important;line-height:16px!important;font-weight:500!important;letter-spacing:0;color:var(--studio-ink)!important;overflow:hidden}
:root #today .compact-copy input{height:16px!important;line-height:16px!important}
:root #today .compact-number{position:static!important;inset:auto!important;transform:none!important;min-width:0;height:36px!important;grid-column:1/-1;grid-row:2;display:flex!important;justify-content:flex-start!important;align-items:baseline!important;gap:4px}
:root #today .compact-number b{font-size:28px!important;font-weight:600!important;line-height:36px!important}
:root #today .compact-number em{font-size:11px!important;font-weight:400!important;line-height:1!important;margin:0!important;color:var(--studio-muted)!important}
:root #today .date-menu{position:relative!important;inset:auto!important;width:24px!important;height:32px!important;grid-column:2;grid-row:1;place-items:center}
:root #today .date-menu span{font-size:20px;color:var(--studio-muted)}
:root #today :is(.mini-ring,.mini-symbols){display:none!important}

/* Equal-width metric columns replace mismatched nested tiles and numeric wheels. */
:root #today .module-grid{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;background:transparent!important}
:root #today .module-grid .module-card{grid-column:1/-1!important;border:0!important;border-radius:24px!important;background:var(--studio-paper)!important;padding:18px 16px!important}
:root #today :is(.body-structured-module,.english-module){display:block!important;min-height:0!important;overflow:visible}
:root #today :is(.body-structured-module,.english-module,.diet-module)>header{height:28px!important;display:flex;align-items:center;gap:8px;margin:0 0 16px!important}
:root #today .module-card header .module-icon{width:24px;height:24px;margin:0;font-size:15px!important}
:root #today .module-card header small{display:none}
:root #today .daily-metric-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin:0;background:transparent!important;box-shadow:none!important}
:root #today .daily-metric-grid>label{padding:10px 0!important;display:grid;grid-template-rows:18px 40px!important;gap:4px!important;border:0!important;border-radius:16px!important;background:var(--studio-field)!important;min-width:0;overflow:hidden}
:root #today .daily-metric-grid>label>span{margin:0!important;display:block;color:var(--studio-muted)!important;font-size:11px!important;line-height:18px!important;font-weight:400!important;text-align:center!important}
:root #today .body-fields b{display:flex!important;align-items:baseline;justify-content:center;gap:3px;font-size:10px!important;height:40px;line-height:40px!important;color:var(--studio-muted)}
:root #today .body-fields input{flex:0 1 auto;width:5ch!important;min-width:0!important;height:40px;padding:0!important;line-height:40px!important;font-size:24px!important;font-weight:600!important;text-align:right!important;color:var(--studio-ink)!important;border:0!important;border-radius:6px!important;background:transparent!important;letter-spacing:0!important}
:root #today .body-fields em{font-size:10px;font-weight:400;font-style:normal;line-height:1;color:var(--studio-muted)}
:root #today .learning-wheel{display:grid!important;grid-template-columns:18px auto auto 18px!important;grid-template-rows:40px!important;justify-content:center!important;align-items:baseline!important;gap:2px!important;width:100%!important;height:40px!important;mask-image:none!important;-webkit-mask-image:none!important;overflow:visible;cursor:ns-resize}
:root #today .learning-wheel::before{content:none!important}
:root #today .learning-wheel strong{grid-column:2;grid-row:1;line-height:40px!important;font-size:24px!important;font-weight:600!important;color:var(--studio-ink)!important;text-align:right}
:root #today .learning-wheel em{position:static!important;inset:auto!important;grid-column:3;grid-row:1;line-height:1!important;font-size:10px!important;font-weight:400;color:var(--studio-muted)!important}
:root #today .learning-wheel button{width:18px!important;height:40px!important;padding:0!important;font-size:12px!important;line-height:40px!important;color:var(--studio-accent)!important;background:transparent!important;touch-action:manipulation}
:root #today .learning-wheel button[data-wheel-direction="-1"]{grid-column:1;grid-row:1}
:root #today .learning-wheel button[data-wheel-direction="1"]{grid-column:4;grid-row:1}
:root #today .meal-columns{gap:10px!important}
:root #today .meal-column{height:116px!important;padding:8px 4px!important;border:0!important;border-radius:16px!important;background:var(--studio-field)!important}
:root #today .meal-time-button{border:0!important;color:var(--studio-muted)!important;font-size:12px!important;font-weight:500}
:root #today .section-title{align-items:center;gap:8px;margin:20px 2px 12px}
:root #today .daily-completion{font-size:10px!important;padding:0!important;color:var(--studio-muted)!important;background:transparent!important;border:0!important;box-shadow:none!important}
@media(max-width:360px){
 :root #today :is(.countdown-panel,.elapsed-panel){padding:14px!important}
 :root #today .module-grid .module-card{padding:16px 12px!important}
 :root #today .daily-metric-grid{gap:6px!important}
 :root #today .learning-wheel{grid-template-columns:10px auto auto 10px!important;gap:0!important}
 :root #today .learning-wheel button{width:10px!important}
 :root #today :is(.body-fields input,.learning-wheel strong){font-size:22px!important}
}

/* Daily encouragement leads; anniversaries are a quiet, optional disclosure. */
:root #today .day-score{padding:18px 18px 0;margin:4px 0 8px;border-radius:24px!important}
.day-score-main{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:12px;align-items:center;min-height:88px;padding-bottom:14px}
.day-score-copy{min-width:0}.day-score-copy>p{margin:0 0 8px;font-size:11px;color:var(--studio-muted);font-weight:500}
.day-score-copy h2{margin:0 0 6px;font-size:18px;line-height:1.4;font-weight:600;letter-spacing:-.4px;color:var(--studio-ink)}
.day-score-copy>span{display:block;font-size:11px;line-height:1.6;color:var(--studio-muted);text-wrap:pretty}
.day-score-ring{width:72px;height:72px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:conic-gradient(from -90deg,var(--studio-accent) var(--day-score-progress,0%),var(--studio-field) 0);border-radius:50%;isolation:isolate}
.day-score-ring::before{content:'';position:absolute;inset:4px;border-radius:50%;background:var(--studio-paper);z-index:-1}
.day-score-ring strong{font:600 28px/1.15 var(--studio-number);font-variant-numeric:tabular-nums;color:var(--studio-ink);letter-spacing:-1px}
.day-score-ring small{font-size:8px;color:var(--studio-muted)}
.day-score-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 8px}
.day-score-parts>div{min-width:0;padding:10px 8px;border-radius:14px;background:var(--studio-field)}
.day-score-parts span{display:block;font-size:10px;color:var(--studio-muted);margin-bottom:6px}
.day-score-parts b{font:600 20px/1.2 var(--studio-number);font-variant-numeric:tabular-nums;color:var(--studio-ink)}
.day-score-parts small{font-size:8px;color:var(--studio-muted);margin-left:3px}
.day-score-parts p{font-size:9px;line-height:1.5;color:var(--studio-muted);margin:5px 0 0;overflow-wrap:anywhere}
.day-score-explanation{padding:0 0 12px}.day-score-explanation>summary,.day-dates>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:32px;user-select:none;color:var(--studio-muted);font-size:10px}
.day-score-explanation>summary::-webkit-details-marker,.day-dates>summary::-webkit-details-marker{display:none}
.day-score-explanation>summary span{margin-left:auto;font-size:9px;font-variant-numeric:tabular-nums}
.day-score-explanation summary i,.day-dates summary i{font-style:normal;font-size:13px;transition:transform 180ms ease}
.day-score-explanation[open] summary i,.day-dates[open]>summary i{transform:rotate(180deg)}
.day-score-explanation>div{padding:10px 12px;margin:6px 0 8px;background:var(--studio-field);border-radius:14px}
.day-score-explanation p{margin:5px 0;color:var(--studio-muted);font-size:10px;line-height:1.7}
.day-score-explanation>p{font-size:9px;padding:0 2px}
:root #today .day-dates{margin:0 0 14px;padding:0 8px;border:0!important}
.day-dates>summary{min-height:36px;font-size:11px;gap:8px}
.day-dates>summary>span{color:var(--studio-ink)}
.day-dates>summary>small{margin-left:auto;font-size:10px;color:var(--studio-muted)}
:root #today .day-dates .day-counters{margin:8px -8px 12px!important}
:root #today .day-dates :is(.countdown-panel,.elapsed-panel){padding:12px!important;border-radius:18px!important}
:root #today .day-dates .counter-stack{gap:12px}
:root #today .day-dates .compact-counter{min-height:64px;grid-template-rows:28px 30px;gap:2px}
:root #today .day-dates .compact-number{height:30px!important}
:root #today .day-dates .compact-number b{font-size:22px!important;line-height:30px!important}
:root #today .day-dates .compact-number em{font-size:10px!important}
.day-score summary:focus-visible,.day-dates>summary:focus-visible{outline:2px solid var(--studio-accent);outline-offset:3px;border-radius:8px}

/* Summary score: legend at left, weighted segmented ring at right, feedback below. */
:root #today .day-score{padding:16px 18px!important}
.day-score-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.day-score-header>p{margin:0;color:var(--studio-accent);font-size:12px;font-weight:600}
.day-score-header>button{display:grid;place-items:center;width:32px;height:32px;padding:6px;background:transparent;color:var(--studio-muted);border-radius:50%}
.day-score-header>button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.day-score-header>button[aria-expanded="true"] svg{transform:rotate(90deg)}
.day-score-main{grid-template-columns:minmax(0,1fr) 132px;gap:12px;min-height:144px;padding:0;align-items:center}
.day-score-copy h2{font-size:26px;font-weight:650;line-height:1.25;margin:0 0 12px;letter-spacing:-.5px}
.day-score-parts{display:flex;flex-direction:column;gap:6px;margin:0}
.day-score-parts>div{display:grid;grid-template-columns:8px minmax(0,1fr) auto auto;align-items:baseline;column-gap:4px;background:none;padding:0;border-radius:0;white-space:nowrap}
.day-score-parts>div::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--score-color);align-self:center}
.day-score-parts [data-score-part="completion"]{--score-color:var(--studio-accent)}
.day-score-parts [data-score-part="timeliness"]{--score-color:var(--studio-hot)}
.day-score-parts [data-score-part="rhythm"]{--score-color:var(--studio-third)}
.day-score-parts span{display:inline;font-size:12px;color:var(--studio-ink);margin:0;line-height:1.5}
.day-score-parts span::after{content:'：'}
.day-score-parts b{font-size:16px;line-height:1.4;font-weight:500;letter-spacing:0}
.day-score-parts small{font:400 12px/1.4 var(--studio-number);font-variant-numeric:tabular-nums;margin:0;color:var(--studio-muted)}
.day-score-ring{width:132px;height:132px;background:none;border-radius:0;gap:3px}
.day-score-ring::before{content:none}
.day-score-ring>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.day-score-ring strong{font-size:35px;line-height:1;font-weight:600;letter-spacing:-1px}
.day-score-ring small{font-size:8px}
.score-arc{fill:none;stroke-width:12;stroke-linecap:round}
.score-arc.completion{stroke:var(--studio-accent)}.score-arc.timeliness{stroke:var(--studio-hot)}.score-arc.rhythm{stroke:var(--studio-third)}
.score-arc.track{opacity:.16}
.score-arc.fill{stroke-dasharray:1;transition:stroke-dashoffset 280ms ease}
/* Brand palette derives from the app icon, not the score-layout reference.
   Keep user-selected chapter colors and the existing gender semantics intact. */
:root{--todo-coral:var(--studio-hot)}
:root .app-shell :is(.mini-symbols .sun,.mini-symbols .star,.todo-focus.active,.todo-date-pill.overdue,.ai-report-content .suggestion,.supplement-card .remove-supplement){color:var(--studio-hot)!important}
:root .app-shell .todo-focus.active{background:var(--studio-hot-soft)!important}
:root .app-shell .todo-list li::after{background:var(--studio-hot)!important}
:root .app-shell .local-ai-state:is(.offline,.fallback){color:var(--studio-third)!important;background:var(--studio-third-soft)!important}
:root .app-shell .local-ai-state:is(.offline,.fallback) i{background:var(--studio-third)!important;box-shadow:none!important}
:root #timeline .pet-lane,:root #timeline .music-lane{background:color-mix(in srgb,var(--studio-third) 45%,transparent)!important;box-shadow:none!important}
:root #timeline .lover-lane{background:color-mix(in srgb,var(--studio-hot) 45%,transparent)!important;box-shadow:none!important}
:root #timeline .fitness-lane{background:color-mix(in srgb,var(--studio-accent) 45%,transparent)!important;box-shadow:none!important}
:root #timeline :is(.pet-label,.music-label,.marker-track-guide.pet,.marker-track-guide.music,.timeline-marker-node[data-track="pet"],.timeline-marker-node[data-track="music"]){color:var(--studio-third)!important}
:root #timeline :is(.lover-label,.marker-track-guide.lover,.timeline-marker-node[data-track="lover"]){color:var(--studio-hot)!important}
:root #timeline :is(.fitness-label,.marker-track-guide.fitness,.timeline-marker-node[data-track="fitness"]){color:var(--studio-accent)!important}
:root #timeline .marker-track-guide{background:transparent!important}
:root #timeline .marker-palette button:nth-child(1) i{color:var(--studio-accent)!important}
:root #timeline .marker-palette :is(button:nth-child(2),button:nth-child(5)) i{color:var(--studio-hot)!important}
:root #timeline .marker-palette :is(button:nth-child(3),button:nth-child(4)) i{color:var(--studio-third)!important}
:root #today :is(.mini-symbols .moon,.diet-module .module-icon){color:var(--studio-accent)!important}
:root #archive .archive-trait-tags.is-warm>span{background:var(--studio-hot-soft)!important;color:var(--studio-ink)!important}
.day-score-feedback{margin:12px 0 0;padding-top:4px;font-size:12px;line-height:1.7;color:#61737e;text-wrap:pretty}
.day-score-explanation:not([open]){display:none}
.day-score-explanation[open]{display:block;padding:12px 0 0}
.day-score-explanation>summary{display:none}
@media(max-width:360px){
 :root #today .day-score{padding:14px 16px!important}
 .day-score-main{grid-template-columns:minmax(0,1fr) 112px;gap:10px;min-height:130px}
 .day-score-ring{width:112px;height:112px}
 .day-score-ring strong{font-size:31px}
 .day-score-copy h2{font-size:23px}
 .day-score-parts span{font-size:11px}
 .day-score-parts b{font-size:15px}
 .day-score-parts small{font-size:11px}
 .day-score-feedback{font-size:11px}
}
.pwa-install-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:12px;margin-top:12px;border-top:1px solid rgba(60,150,135,.12);font-size:10px;color:#577c75}
.pwa-install-row[hidden]{display:none}
.pwa-install-row button{border:1px solid var(--studio-line);border-radius:14px;background:#fff;padding:8px 10px;color:var(--studio-ink);font:500 10px system-ui;white-space:nowrap;min-height:36px;transition:transform 150ms ease}
#pwaInstallStatus:empty{display:none}
.pwa-update{position:fixed;z-index:100;left:50%;bottom:110px;transform:translateX(-50%);border:1px solid rgba(255,255,255,.8);border-radius:20px;padding:12px 18px;background:var(--studio-accent);color:var(--studio-on-accent);font:600 12px system-ui;box-shadow:0 8px 24px #20344516}

/* Geometry comes from the current visual viewport, including browser UI,
   orientation, window resizing and the software keyboard. */
:root{--app-view-width:100vw;--app-view-height:100dvh;--app-view-top:0px;--app-view-left:0px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{height:100%;min-height:0;overflow:hidden;overscroll-behavior:none}
body{padding:0;background:#f5fffc}
.app-shell{
  position:fixed!important;
  top:var(--app-view-top)!important;
  left:calc(var(--app-view-left) + max(0px,(var(--app-view-width) - 440px)/2))!important;
  right:auto!important;
  bottom:auto!important;
  margin:0!important;
  width:min(var(--app-view-width),440px)!important;
  height:var(--app-view-height)!important;
  min-height:0!important;
  max-height:none!important;
}
@media(pointer:coarse){
  .app-shell{left:var(--app-view-left)!important;width:var(--app-view-width)!important}
}
:root[data-runtime-display="standalone"] .app-shell,
:root[data-runtime-display="fullscreen"] .app-shell{left:var(--app-view-left)!important;width:var(--app-view-width)!important}
.todo-drawer{max-height:calc(var(--app-view-height) - var(--ios-safe-top) - 28px)!important}
#viewportDetails{margin-top:12px;color:#577c75;font-size:11px}
#viewportDetails summary{cursor:pointer;padding:8px 0}
#viewportInfo{white-space:pre-wrap;overflow-wrap:anywhere;font:10px/1.5 monospace;user-select:text}
/* The timeline pans naturally; only draggable handles own their gestures. */
#timeline .rail-viewport,#timeline .rail-stage,#timeline .station{touch-action:pan-y!important}
#timeline .train,#timeline .stage-boundary{touch-action:none!important}
@media(display-mode:standalone){
  :root{--ios-tab-bottom:max(8px,var(--ios-safe-bottom))}
  body{background:#f5fffc}
}

/* Overlays share the shell's measured visual viewport, never a legacy page. */
#viewportOverlays{position:absolute;inset:0;pointer-events:none}
#viewportOverlays>:is(#archiveEditor,#moduleEditor,#focusDetail,#avatarCropper,#drawer){
  position:absolute!important;
  left:50%!important;right:auto!important;top:auto!important;bottom:0!important;
  width:min(100%,520px)!important;min-width:0!important;margin:0!important;
  translate:-50% 0;
  max-height:calc(100% - var(--ios-safe-top,0px) - 12px)!important;
  overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;
  padding-bottom:max(20px,var(--ios-safe-bottom,0px))!important;
  pointer-events:none;
}
#viewportOverlays>:is(#archiveEditor,#moduleEditor,#focusDetail,#avatarCropper,#drawer).open{pointer-events:auto}
#viewportOverlays>#avatarCropper{transform:translateY(0)!important}
#viewportOverlays>#stageEditor{
  position:absolute!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;
  width:min(calc(100% - 32px),520px)!important;margin:0!important;translate:-50% -50%;
  max-height:calc(100% - var(--ios-safe-top,0px) - var(--ios-safe-bottom,0px) - 32px)!important;
  overflow:auto!important;border-radius:24px!important;pointer-events:none;
}
#viewportOverlays>#stageEditor.open{pointer-events:auto}
#viewportOverlays>#stageEditor::before{content:none!important}
#viewportOverlays .stage-row{grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr) minmax(0,1.25fr) 28px 22px}
#viewportOverlays .stage-row input{min-width:0;width:100%}
#viewportOverlays>:is(#glassDateBackdrop,#journalSearchBackdrop,#markerEditorBackdrop,#markerViewerBackdrop){
  position:absolute!important;inset:0!important;width:auto!important;height:auto!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:max(16px,var(--ios-safe-top,0px)) max(16px,var(--ios-safe-right,0px)) max(16px,var(--ios-safe-bottom,0px)) max(16px,var(--ios-safe-left,0px))!important;
  pointer-events:none;
}
#viewportOverlays>:is(#glassDateBackdrop,#journalSearchBackdrop,#markerEditorBackdrop,#markerViewerBackdrop).open{pointer-events:auto}
#viewportOverlays :is(.glass-date-picker,.journal-search-panel,.marker-editor,.marker-viewer){
  min-width:0!important;width:100%!important;max-width:520px!important;max-height:100%!important;
  overflow:auto!important;overscroll-behavior:contain;box-sizing:border-box;border-radius:24px!important;
}
#viewportOverlays .glass-date-picker{max-width:340px!important}
#viewportOverlays>#todoScrim{pointer-events:none}
#viewportOverlays>#todoScrim.open{pointer-events:auto}
